{"report_id":"2a6f7167-18a6-4c50-90a4-28dfd2b30dcb","version":0,"status":"done","tags":[],"date":"2026-07-27T08:06:49Z","url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"final":{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"title":"QFS Ledger | Welcome to Nano Quantum stellar ledger","dom":{"size":985,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (984), with no line terminators","md5":"b76e77ef4fece525b86f82d60242d239","sha1":"682736c7923adb32d113ee5bae951fc63b98f00f","sha256":"341f2741120524c151cefb65799e07bd79f782a58fdbf5bcd7a6a0da6a0c978b","sha512":"ae5ed9ce4fe07d45f1b86d4c28dfd9b6b3cdea5d3407c21b73d0d0789145a41e1befebb00187757a95b93d40ebc3f98b98284596ff7e1f5e23cc27aaa7e887bc","ssdeep":"","tlshash":"2f11257191c4201e8352d1d8e0e1377da3c2d40dc992cca2776829b3f1c4b3698575f8","dom_hash":"domhashdda2f72fae377190c818cc3070d0de92","first_seen":"2026-07-13T21:14:29.047764Z","last_seen":"2026-07-27T15:22:08.62856Z","times_seen":165,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":0,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T08:06:49Z","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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"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":48622,"sent_data":3133,"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":2070,"sent_data":563,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":8688,"sent_data":544,"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":"translate.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":5,"received_data":200681,"sent_data":3019,"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-27T07:32:46.047901Z","alert_count":0,"request_count":2,"received_data":3077,"sent_data":1169,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"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":966,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"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":207,"received_data":6329747,"sent_data":109757,"comment":"","tags":null,"fingerprints":[{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}]},{"fqdn":"unpkg.com","ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-01-06","domain_rank":1093,"first_seen":"2016-01-07T23:26:01Z","last_seen":"2026-07-27T07:50:35.491492Z","alert_count":0,"request_count":7,"received_data":284030,"sent_data":3539,"comment":"","tags":null,"fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"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"]}]},{"fqdn":"pushstream.tradingview.com","ip":{"addr":"84.16.253.89","port":443,"asn":28753,"as":"Leaseweb Deutschland GmbH","country":"Germany","country_code":"DE"},"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":"fonts.gstatic.com","ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":3,"received_data":73456,"sent_data":1718,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgetdata.tradingview.com","ip":{"addr":"93.123.102.198","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":768,"comment":"","tags":null,"fingerprints":null},{"fqdn":"nanoquantumstellarsledger.com","ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"domain_registered":"2025-10-27","domain_rank":0,"first_seen":"2026-07-27T05:09:40.798665Z","last_seen":"2026-07-27T05:09:40.798666Z","alert_count":54,"request_count":54,"received_data":5316363,"sent_data":65324,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"SweetAlert","description":"SweetAlert is a JavaScript library that provides alternative alert and modal dialog boxes for web applications, with customisable features, aiming to improve the user interface of the default browser dialogs.","website":"https://sweetalert.js.org","common_platform_enumeration":"","icon":"SweetAlert.png","categories":["JavaScript libraries"]},{"name":"Swiper","description":"Swiper is a JavaScript library that creates modern touch sliders with hardware-accelerated transitions.","website":"https://swiperjs.com","common_platform_enumeration":"","icon":"Swiper.svg","categories":["JavaScript libraries"]},{"name":"jQuery:3.3.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"JivoChat","description":"JivoChat is a live chat solution for websites offering customizable web and mobile chat widgets.","website":"https://www.jivosite.com","common_platform_enumeration":"","icon":"JivoChat.png","categories":["Live chat"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Material Design Lite","description":"Material Design Lite is a library of components for web developers.","website":"https://getmdl.io","common_platform_enumeration":"","icon":"Material Design Lite.png","categories":["UI frameworks"]},{"name":"Select2","description":"Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.","website":"https://select2.org/","common_platform_enumeration":"","icon":"Select2.png","categories":["JavaScript libraries"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"Headroom.js","description":"Headroom.js is a JS widget that allows you to react to the user's scroll. The header slides out of view when scrolling down and slides back in when scrolling up.","website":"https://wicky.nillia.ms/headroom.js/","common_platform_enumeration":"","icon":"","categories":["Widgets","JavaScript libraries"]},{"name":"AOS:2.3.1","description":"JavaScript library to animate elements on your page as you scroll.","website":"https://michalsnik.github.io/aos/","common_platform_enumeration":"","icon":"AOS.svg","categories":["JavaScript libraries"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]},{"name":"imagesLoaded","description":"jQuery plugin for seeing if the images are loaded.","website":"https://imagesloaded.desandro.com/","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Font Awesome","description":"Font Awesome is a font and icon toolkit based on CSS and Less.","website":"https://fontawesome.com/","common_platform_enumeration":"","icon":"Font Awesome.svg","categories":["Font scripts"]}]},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":8472,"first_seen":"2021-11-04T06:37:42Z","last_seen":"2026-07-21T21:38:43.172366Z","alert_count":0,"request_count":1,"received_data":32351,"sent_data":585,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":609,"first_seen":"2012-05-30T01:30:32Z","last_seen":"2026-07-20T21:58:05.03314Z","alert_count":0,"request_count":2,"received_data":77724,"sent_data":1131,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget-sheriff.tradingview-widget.com","ip":{"addr":"143.204.238.89","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":566,"sent_data":562,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]},{"fqdn":"plus.unsplash.com","ip":{"addr":"151.101.2.208","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2013-05-29","domain_rank":504392,"first_seen":"2022-07-20T14:55:10Z","last_seen":"2026-07-22T04:04:15.583231Z","alert_count":0,"request_count":1,"received_data":376762,"sent_data":685,"comment":"","tags":null,"fingerprints":null},{"fqdn":"s.tradingview.com","ip":{"addr":"3.164.240.47","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":79239,"sent_data":1292,"comment":"","tags":null,"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":"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":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.152.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":1,"received_data":717,"sent_data":561,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.mixedfinance.io","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2025-11-23T04:10:20.074078Z","last_seen":"2026-07-27T05:09:42.715225Z","alert_count":0,"request_count":4,"received_data":0,"sent_data":2009,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.7.1/dist/leaflet.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"4eaa81e6e27a89ed2410a7c39048a397","sha1":"88a91ff8e6ad782d5bc632d143db4cbb936dd3b4","sha256":"c837347a297c1a35852aa375392cc74950a2b868214e8b1909c4637b8b63ee24","sha512":"5d0a1832a3132bc2ef7715d81b79d9e38f213844228257ea909b3534e415e387169d4ac173c3e400e717cb6d30d2f95a5da55479aac83818625d9e55df29f1c0","ssdeep":"1536:vpjOihF8Zozly9q4WoKQRTc2J32OnDIb6Y6JegiXSDXILP7YV4ngL:RjOicd9r6t4eHxtgL","tlshash":"45d3a58ab391ba2643c35174403f210bf6326595a40a452cb83dd9efed6ca49713bf7e","size":141941,"data":"","first_seen":"2023-03-07T12:07:28Z","last_seen":"2026-08-12T15:23:27.37208Z","times_seen":2982,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/svgxuse.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"d3ef3e3107c1264ef1bd5eca89e40458","sha1":"a1ab751b684e76bbbdef091f05b367079c8e4f00","sha256":"97cbf996caa4360aaedd93c68ea3d0ac59abcf2908d3b909196d0fb6fbad6d94","sha512":"ff7de41c3166029cb84fb3d659579df3b1c5029117ecaad25645153de2d3a91de0d845d9a2d91198c2b9168d40eaca43c6bf7498c150a31c831727e22212fbec","ssdeep":"96:IeXPwHmKxn/I5h2J1wLViM1Wmagz6bzOASe6/ELWtwbU5/O0TCk2djVIeCAr+Ur5:7go2bJM1WSazZX45/WKkr","tlshash":"32e1a5e5974c11af4175124ade2ee1cd232c40b21a06acb7fd7cd4a514b4d3e226bdf5","size":7245,"data":"","first_seen":"2025-11-23T04:10:47.889525Z","last_seen":"2026-07-27T09:11:27.341636Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/isotope.pkgd.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"e813d13bfb04c9170a61abf6ea2925bf","sha1":"cf66d6525823e933309c0ceaf9b5b2621f513d3d","sha256":"8f7a4c437c775ec6d90275183594b1e2533a72f100b27f0f1825afbcfa40d0ae","sha512":"1d0cf671a3e70cdfa008407bafaf6816364c0e2a79f4a76802ac8fc77f12dbd32b78cd39880d6cd5dbdc8f22176783c3fe3ac12db0a5cc624583cb5500b4bfc7","ssdeep":"1536:L0LO0SyYgaJmvOMz1Mrdnb81SScY9epnJ/JA/Dv+PLCC9lgXLhd6ZL3BEh0G3BCM:LQYgaA/apCiL3BEh0G3BXGvuGLtWTJnv","tlshash":"be938785ff882215415bf2a99d9f314ef27d8065d501ac5ebc1a84ec28f143e42bef7a","size":89210,"data":"","first_seen":"2025-11-23T04:10:48.034253Z","last_seen":"2026-07-27T09:11:27.315967Z","times_seen":7,"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-28T06:17:53.622711Z","times_seen":97,"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-28T06:17:53.598563Z","times_seen":66,"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-28T06:17:53.601272Z","times_seen":82,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"0e215a7ec39e5261f8b268e56b77a6fd","sha1":"3ac7d84f29b725c2db3feaed5aefe977228cafd0","sha256":"5f75e31bc91dc6cce4207ae01b7c8f709ef0ea4f859d9f8a621a7fb8352ba61a","sha512":"bdbe4a2eae8115a1a82b2d676acf961f89a24f0355fbc29987ff72abd581399b66a3c73c36d4a12614856d5990e5b9c66fd0a74bf565b67fff6d0d9d231c4f11","ssdeep":"","tlshash":"b9500000c0030c330000000c0300000030030c0003300000000000c00000cc0333000c","size":11,"data":"","first_seen":"2023-03-07T12:06:53Z","last_seen":"2026-08-12T18:07:10.568623Z","times_seen":1513,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"2db2b4e5d4bd1d42f1d1b8ae162aac52","sha1":"da1bd58f616208cf8da3361e036b9f2914391795","sha256":"0970ffb7347e7a4ff400a3616c042486eea3aba3092eefb035c8e8a5f2432015","sha512":"1586f7508534225bee6d40d5d7ca28e13728faf2c95939f4bc2375b04d0264cc146f14094dd303c4a182a65d217edb3a486a8f39af170e014b151844f763bfc6","ssdeep":"","tlshash":"69e0df4e6a620569756b30384bab280078b808179e0cf982bd7e704a4fe4d9064ecaed","size":420,"data":"","first_seen":"2026-07-27T05:09:49.587977Z","last_seen":"2026-07-27T09:11:27.401875Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"aea282ff1c9d38336ca390e6351fe7bc","sha1":"7ce152a01b36ea5f808c99318194129f52122fb9","sha256":"2dffbd1e6b5c2216eefd844d43f56bfbee5a09630c769e9d93e6f7146dc11c07","sha512":"52c9bd85e8e8517e44bc2b95049f945201f845e5cc043070d0169fb78362024694331c9ba7f31e05fa8ce18a064728802dc87ff6b560d03b1918b0b5803c45c1","ssdeep":"","tlshash":"6101492916b3143cfba7d15ea28369642936b247644b6d0d3dec4c004f9febde6a0b42","size":749,"data":"","first_seen":"2026-07-27T05:09:49.5889Z","last_seen":"2026-07-27T09:11:27.402433Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"60f75ad5ee9fc80f8b459fd7105c1ba4","sha1":"cfba8e5db1eca41a0bbab15838da0603128d266d","sha256":"7fa1728cd21b0abed69c906d0b5fc9214485ac660dff22000f33246770e1673d","sha512":"b23d1619930380cb2070db87ea9e7767821daff023ab931f92878623b7c547f6e2603ce8ba2c53ed22abc975de7d6172b6816066b3b489b9701eaad1a79c01e6","ssdeep":"","tlshash":"d811fdf32199862ac9118ac92e3ea340ad3361475c523a883c5c45e75f8e99c67a426f","size":935,"data":"","first_seen":"2026-07-27T05:09:49.58977Z","last_seen":"2026-07-27T09:11:27.402928Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"a71960a00c7df2af664513cb30cf677a","sha1":"21a36c116f9db6860fca20889d345fb878a41225","sha256":"807c193d2170d5c2ce6de29927e14f55cedb6996488dc9bd88124a084202e751","sha512":"c64f24e58cfb12e3340f4eb9ea26119002fdf2c42c173c98687a11bf951b1e3bb7079adb49e7d23d4238460c7d45b1670c8f9d6109270c40706a57263b9680ba","ssdeep":"","tlshash":"b9116b21ea134d772c9e329217ee2140105402435e25e4a57bee639c5f4ed1f44e37ee","size":1014,"data":"","first_seen":"2026-07-27T05:09:49.590973Z","last_seen":"2026-07-27T09:11:27.403441Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"dc732f0b1b379fdabd424021f49371d4","sha1":"2398ab8af7f169d0ed2819f49ca7374e9feb264d","sha256":"a512991e527c6a948ee461475ca2c08a4f9c10233a23c94311a0842df5bfd973","sha512":"789d06f0f825335bd7dc1d673edfdc8e3ade9bf7fb8873b0e9b5ac00790f058011f3d064fcc1d90d5dedfd06953eb54951183c157f4e56d4545ed5f8851ddd0e","ssdeep":"","tlshash":"27c09b47f571554b0497f105d387448c7178450a453a4e25375950ca3fb3f9d174d1e8","size":142,"data":"","first_seen":"2026-07-19T07:27:00.301379Z","last_seen":"2026-07-29T04:59:27.36016Z","times_seen":17,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery.magnific-popup.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"360c025f90d83288eba6147cb3b2c650","sha1":"3c32dce03a4e3548b786416a7f935668c1d9b340","sha256":"082ab3ef67b8fa0202cf263b02774dc552ebe4ef8eb3b6a8948177686b345633","sha512":"0c6258bd18899056cb975e1f2b6c949b9fb9381d51bde9d966a56a668fd6d9747d7e065e8fc1543e94b129ba9e70707d34855cc0021d8ef392ccb19fb587d00e","ssdeep":"768:1vxHMj7Pn4BVM1wy7KHfDsj8WDhTD0pR5q7/c:1vxsj7P4Owy7+Qj88hTD+a/c","tlshash":"4e530b9c65f3312285a3727c9bdf51143a31811bea4ade103d8c13989f94b68aef57f8","size":62297,"data":"","first_seen":"2023-03-07T21:49:28Z","last_seen":"2026-07-27T09:11:27.281066Z","times_seen":113,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","size":194344,"data":"","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.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-28T07:05:00.665702Z","times_seen":1638,"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-28T06:17:53.359026Z","times_seen":109,"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-28T06:17:53.472191Z","times_seen":79,"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-28T04:48:50.480044Z","times_seen":58,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"c68ecc42a036559289af1a7c04b32839","sha1":"e2d824aa22fbc39bda318434792e971fb49dfdb1","sha256":"42870a458a6fd5839ca234fe690517113ec2b84bd0e0350174e09afff3b48af3","sha512":"1c8b0188a98fcab5726c2e6132cf1c49b59f0248c2dca267847f3c53d9cd21f03478508623eb1e11660ffe674a8bb3be3d0df8ce6fbaa2a362021cf098ccd5eb","ssdeep":"","tlshash":"4790020da431020120a83084ba8236426c9104b04f099c100a01e41061d910bc5555db","size":46,"data":"","first_seen":"2026-06-08T04:26:46.594248Z","last_seen":"2026-08-11T17:32:13.076884Z","times_seen":61,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-08-12T17:55:33.19759Z","times_seen":3261,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"b87c03fdbbe270603f60c4144a479eb6","sha1":"93d1cad4b5b9e4effba0df43ae1d7868069e34bc","sha256":"48f4f1fdc2f235243d4b3eb5c72b1ad4af999e72e50879e668846c673d912da8","sha512":"3336bcdfb9b86b76538edd9e13cb880efa29f67d3d8a67b5d7e1d7f61210436143278cfe0f99ec6cccc3973ceb5f3bbb928d03de0679666c27a2f5174c38f03f","ssdeep":"384:LipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4kQ0:eNogFbLrPQ0","tlshash":"eb824067c80da32ac456de26bc7bb602fc2e075945b529646aecc86c04c7d53e30fa7d","size":18640,"data":"","first_seen":"2026-07-27T08:07:09.83172Z","last_seen":"2026-07-27T09:11:27.405488Z","times_seen":4,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-08-12T17:55:33.198661Z","times_seen":4831,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"ee67c287d030f52bd2b854999e8fc292","sha1":"ab22877af921b436152b801916972d30da5fd697","sha256":"2a433f86ea49264d4e7ed35bcf128a6a625d3dde0116faffe8e8fecda0107697","sha512":"072dc69913f8f66fa9ec8940794ca04fa7697658dc7eed4d44e93d96af935c8d8997ebb397598e170439ae6f2ebf3d2c3fc9c5a1edcab91cbee66cb2b4d3da98","ssdeep":"384:N40xN5M2HCSQipOwuVkogCEowCWLg/JcVlRcHtmjpfbrtka4tF:N40xfHCSdNogFbLrM","tlshash":"b0a29417c80c632ad9998d66bc3bb742fc2d075d45a129a46bac9c2c14c7d53f20bbbd","size":22652,"data":"","first_seen":"2026-07-27T07:58:23.455811Z","last_seen":"2026-07-28T06:17:53.626138Z","times_seen":64,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-28T07:05:00.709149Z","times_seen":1650,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-31T08:20:24.788964Z","times_seen":1890,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-08-12T17:55:33.200571Z","times_seen":3137,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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-08-12T17:55:33.201068Z","times_seen":4838,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/exchangeInfo.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"c6871417d62baa4d8b1a8954a38fa1e8","sha1":"e66fade23292743bcc7ed0c69c189093ade8b9e7","sha256":"a3b93ca0f815638525d5852664837bcfeccfb8af3f0ebb30fdc33a043be348ba","sha512":"49b16f76c1fe52dbeeb0e41e9dd989aa1fc0f799974306788b177e3eb98bd6b13401039d1274cf9c27f407bba59c85896339103ceeb851d1e1813b316e36c413","ssdeep":"384:nuwxsj2zFwmOIxOmJmx7ahQxTHIsvHcTfiRiTX:nuwxsj2zbPOmJmx7ahQxTHI9TfiyX","tlshash":"f6e42958e0685c93c28e6635bab935015b70305b8ce17e453b8d424c4fcfa6fad3ab6d","size":720332,"data":"","first_seen":"2025-11-23T04:10:48.045966Z","last_seen":"2026-07-27T09:11:27.299876Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/ajax-pagination.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"aa2bc40f3bdaf51ea7c82522224e4fc6","sha1":"5c2117b904156f91a365de21ea6b4a142e7f5c1b","sha256":"12abf1c96990dd663bf84d304952710da918612054a175aad728b9b8b55cdd9f","sha512":"67f27f07943b9ef4c5cdc1cf6c503a8ba12a9822db65fc30422a9afc875a25d577f6d756ba36be51bf8626b9618a141c9cc26a0b3aa80e9e5a15c4fe08cef243","ssdeep":"","tlshash":"9451c448aebb9464a93b347d5e9fa4007e20d4338008dd267e4dd1c0dfc4128e1aaade","size":2675,"data":"","first_seen":"2025-11-23T04:10:48.040006Z","last_seen":"2026-07-27T09:11:27.26025Z","times_seen":7,"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-08-02T16:40:36.924172Z","times_seen":416,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/material.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"09d217ec7568e3409b1f86b6d82356a2","sha1":"78bbaeb85d512230ab699701fe4264452d91bb93","sha256":"2cd7b83e4c3f77ae95c81ef4ba18aa225310172160dc4b2facac413f9402a8bf","sha512":"adc97fce6772a10c020200787f26b3839efa197fe7aae25b3fd39d679b89998ae5435d5f81a0fa09dd712c9a275c9fbac1d0908868edbb7be869a6f680c1c608","ssdeep":"192:kNvBZvXvTvZvpUdVUeUPNeI9jPCB0bIuSXIBq3wkc75losi:kNZZ/rBhUdVUeUPNeI9jPk0bIuSXIA3f","tlshash":"1ff1430cb521334352f791f451eb8a4f613290b4d919445870afc6e45abee8ca2abfbd","size":8136,"data":"","first_seen":"2023-11-30T04:02:23Z","last_seen":"2026-07-27T09:11:27.365073Z","times_seen":12,"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-08-12T05:10:43.293214Z","times_seen":161,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery-countTo.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"d086da5d226ee63bca4f7e20c4c9187e","sha1":"4f3f2c5e4fd3200dd0160604159224cbf9698ce1","sha256":"4d70beb31f1f08ce48864d9d42a6c2ae500dba241e57f45ac227d43a8af203c2","sha512":"d236e7532534d437a69fc098f18271f158b156face75117fc3c3524b07b4e28479caee11071a000ed717a71a2db2831afc950aa3fd1f5a7b475f65932d166841","ssdeep":"","tlshash":"b4617b45f79e131152ab20d99d1e218c223ca33a5887044e7d6d83d447a2c3de79af7c","size":3265,"data":"","first_seen":"2025-11-23T04:10:47.927195Z","last_seen":"2026-07-27T09:11:27.26911Z","times_seen":8,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/Headroom.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"4e9570b01f087f5318b207a669bf2c9a","sha1":"31fc0b38c399f606293a3f1179132c0e8fdc82cb","sha256":"83c555208204a26da789bec106352a508875e4fdb28b11d2082e3d099142f357","sha512":"383650b77e5d701fd848154c6c915d19dbc1ef55c50ed28f8c0dae43c914587aebd5455a8c0bdc9b7956fc9b5bb5f9e0d8d79df96a6aa15a17182ccd027af7f7","ssdeep":"96:ftIX78XrtESiO5s6XLuQvjTu2CmS6LhqCbG:f6NSVs6XLuQvfudv6NqCbG","tlshash":"6cc1524c3292742386eed299417fd755b22790a1b101a07cba7dcdee79209ee6036f7c","size":5733,"data":"","first_seen":"2023-03-13T07:47:20Z","last_seen":"2026-08-05T06:07:55.81991Z","times_seen":34,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/TimeCircles.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"d6d999f9366bdbf2ea01e661836561a1","sha1":"ed0cbdc6e74a19c0bb18ba56b183e44688824a96","sha256":"d47c2622b14648fa6198a72a4d1bbb144fc56433b1d18b42161ac975596e3dee","sha512":"0f44cca240baefd9369ac854237bf20fa018c99bf514576affefe692d46a3509ecc83ff963b66af6939a55de331cc5a2e386e88462c9f5cd5885d13d9f527fcd","ssdeep":"768:kk7QqoAjJGy2VVY7hWDhMiJQ+KWzJUJoLekO4Z94+X4mPFIocA5lNbOFSx+6AGuk:k6oAjJishAKiJimJGOfP+A5GAfJ5","tlshash":"dbe2209e2afb11669963302c0f9f12887735e11b510acd283d1cd2c0af94a2556faffd","size":34069,"data":"","first_seen":"2025-11-23T04:10:47.890628Z","last_seen":"2026-07-27T09:11:27.279077Z","times_seen":7,"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-31T06:34:35.472553Z","times_seen":719,"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-08-12T17:55:33.107963Z","times_seen":3082,"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-28T04:48:50.535574Z","times_seen":57,"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-28T06:17:53.363963Z","times_seen":103,"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-28T06:17:53.588069Z","times_seen":101,"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-28T06:17:53.435673Z","times_seen":97,"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-31T06:34:35.473115Z","times_seen":383,"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-08-12T05:10:43.148147Z","times_seen":278,"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-28T06:17:53.448224Z","times_seen":85,"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-28T19:45:51.653444Z","times_seen":77,"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-28T04:48:50.45448Z","times_seen":56,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/highstock.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"123072f0a8e47d6227faa68c0469b003","sha1":"c2aa666b6d43fdf26165ef8ca139dbb537193083","sha256":"7361ff3d5a348e771580c7a7e876da6d8bbde7305491e461488d7afa92d21ec8","sha512":"d9acb461388b6ced8da7b1003af5008b4f5579d0814ee9af8dd52d41b7efd418b48588e335eb6af0ddf93cbbe0343af3ed3575fd1f3aa41966b437573ee98e9f","ssdeep":"3072:rcQU0j8jpldUJ6YHeEiwpu2u9Q9XvW8Wbg1jkQqvm8SYwTE:PUE8zdUsueRwpu2GovRnnqe+wo","tlshash":"b6543a89f2113617c6b732a9642f020f0237a47aa5898d7c79a9c5f75d2984c327ff39","size":283226,"data":"","first_seen":"2025-11-23T04:10:47.814916Z","last_seen":"2026-07-27T09:11:27.331168Z","times_seen":7,"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-28T06:17:53.344523Z","times_seen":102,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/orbitlist.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"23052e265dda6efd14fb35e74b861df4","sha1":"f2e0dbddbdb28cc3388943e4563646e69b4a0a72","sha256":"61bf80fc6fcffbcde4427202650abcb1ecb22ad9ea6f661fb63cd76b20449edb","sha512":"7de27910d3687096a6800d3092be98e20d7771a9d72953a93964184ecd8ec913b8d9f6551063005fafda3bce78a3a14bb86baa88e5bf9b825afbd2ab79b71ce8","ssdeep":"192:IKM3xMhM1Z9MnMYM52SMHMVFMxM9M3MVL3MP4YfzSmXMJMeMJIMaCMRMUMLMZMtQ:IKM3xMhM1Z9MnMYMVMHMVFMxM9M3MVLt","tlshash":"fa122527fb75232799eb11276f5f184073a1e3ab900cd1143d4e93241f52e8ca26dbe6","size":9504,"data":"","first_seen":"2025-09-11T16:00:30.700176Z","last_seen":"2026-07-27T09:11:27.349858Z","times_seen":8,"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-28T06:17:53.622022Z","times_seen":205,"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-28T06:17:53.389232Z","times_seen":122,"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-28T06:17:53.414435Z","times_seen":119,"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-08-12T17:55:33.081233Z","times_seen":5358,"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-28T06:17:53.380432Z","times_seen":310,"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-28T06:17:53.636062Z","times_seen":200,"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-28T06:17:53.368675Z","times_seen":205,"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-08-12T05:10:43.232291Z","times_seen":506,"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-28T06:17:53.365018Z","times_seen":88,"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-28T06:17:53.613421Z","times_seen":108,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/method-assign.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"cba588a6047c2e00833892d355ce1271","sha1":"32ef91981406a8283a1cefd22616ff25ab1784d4","sha256":"a19c00f27bcbeeba051b39f97af28ce3cdbd2b5b0ec31a2b9644f3c19ee91a0c","sha512":"de3075b2cecf33555bf4e4c4a2a83eaa411b2edd6490d006f8d8f5063ec4d48c915b5d973291bc429cb719e4951a3a784235bdc1b213f4a6accd44b22cccf81a","ssdeep":"","tlshash":"86f09e89e75c80e512263051246676cce02ec1f39c9ab5afdca0e39024f192e9a8fb31","size":507,"data":"","first_seen":"2025-08-04T00:21:48.362399Z","last_seen":"2026-07-27T09:11:27.36808Z","times_seen":13,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/segment.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f110572622d7127c75f66801665ed08","sha1":"3fa4ea0c351a4d74e3ebeed7d54c582b04faf957","sha256":"661c64e3060fbaa8a6eb02ab3a017bafa1906adabf9e43ff467c3fe10bae6250","sha512":"12389aa150b5450085b6260a40e1e31d4d3931c55ef889d13b03defbb67dd8336a382a47d82a33a78d5b5b8c8585d8948e568e77eb80ff6f73d86710ce5218c9","ssdeep":"96:nGj783vwnWGqAj9SZ5HlfyDJbF6RgZngsna:CxCo5a","tlshash":"e1a12f8878d3ba0572a60360856f124b933d5cad191d045aea05e6ec3c7493d4a7fcfe","size":4671,"data":"","first_seen":"2025-09-24T19:55:08.000564Z","last_seen":"2026-07-27T09:11:27.34049Z","times_seen":8,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/bootstrap-datepicker.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"e20e25b9d772336cb1cd2969849a0fdc","sha1":"41386077a47443ca45fc5a4aaed7e4977b480600","sha256":"909fd71a957514af0658f3f7fcbfada32467a408422a8916974c03fb2ae71be0","sha512":"111ce4a5918252dd7ca9c2c28b2766b39c18d909040f597d8cf5b2e291b4030833e353df1f3b92e6ae4267cd83d36b764ec0806e68cb9b721c70c2b8fc2db9c4","ssdeep":"384:rXfWXaPvQUe/X+YOiux+6X/PeERphscJ1:rXOEvQUTLiSBuPg1","tlshash":"ec5242c5e39e1547973620ad582d12ca663d807bdc068d3f7c6c41e169ecf2962acef8","size":14496,"data":"","first_seen":"2025-11-23T04:10:48.050603Z","last_seen":"2026-07-27T09:11:27.267105Z","times_seen":7,"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-28T06:17:53.60062Z","times_seen":112,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/ion.rangeSlider.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"bf10d48730af5451be9744de8971d854","sha1":"34b7e38640b3deca95be2281a8e90e4de178a203","sha256":"47c85748d9daf28a80f7fb8fbad684a57acf4181830b0569d17e03e7c48473a3","sha512":"02b49c73e7d438ee7bd1ebfb23dd7860a4322ef5bf6361434040644ee8da0645c5d3c9e0b47660cda7b62d20db2d5244f574bbcd3c04bfe19b270686bd086ca6","ssdeep":"1536:1bWQ0NvxsBzGy1yrruWOU1xdmchAxdmoVG6AC:1SvxshGfhyVG6l","tlshash":"0283fe4a1bfb2251c52360a85f8f020ab635911f6a07d96c3d7cc3d85f9973852baf78","size":84567,"data":"","first_seen":"2025-11-23T04:10:48.036845Z","last_seen":"2026-07-27T09:11:27.32037Z","times_seen":7,"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-08-07T05:09:59.550994Z","times_seen":4614,"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-28T06:17:53.586668Z","times_seen":141,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/MarkerClusterGroup.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"eceda02950e868b233997f8235cbe2e1","sha1":"9888d61829b8254a00a9a49eacf989e45f2be5a7","sha256":"594ae4f36aa2a0327e83ec490d2fa2f85c06067d1387bed2ce00b9e9b23b38ad","sha512":"82f84b26bf25ed669d565c604de086e779dba79b6f4a450dbfd1232a3d8084e287144ce4c0c1b8f49ee5fd0f5a5fc5518389f3d8f0a19a237c96ca66804df65d","ssdeep":"1536:kk3eUMqOki+nWIRNnXJ4i5mDBc/Iu46fhPteSuml2bhKsvwtH7w10zrfxqdQ:5ewnWIRNXJfmDUeSb+h3OfxqdQ","tlshash":"51738498e39c03666a5273790c3d66de657c8032d6944cefbc4da6ec214a43c637adf8","size":76783,"data":"","first_seen":"2023-03-12T18:06:04Z","last_seen":"2026-07-27T09:11:27.310587Z","times_seen":45,"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-28T06:17:53.347331Z","times_seen":308,"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-28T06:17:53.619977Z","times_seen":108,"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-28T06:17:53.455046Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/aos@2.3.1/dist/aos.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"70b4897108480dbe11c443c2ab7679c9","sha1":"70dbfd38a0f1fc3b1a7d9fadab58786484c34f17","sha256":"f268612ba59ead1b24353bb77d66783bcc435aff1c22be5f93c40bac3869968e","sha512":"466084fa711d299e394e96c2260bd8bdf103cf75da8869934c997a19fc884d6ddfa2e92ce253533a4a0c5d627d580e9a40efb7155f1c8c0e9fbd3a2c3a06c2ae","ssdeep":"384:3I2fNaC8QiHbcggNFUWTgMe91sa6XCZy54:42fNaC8QiHbfgNFUWg17slXCZy54","tlshash":"a752e6dc3681f0a617a794f7827f600ff2f14835245e90a0d269c4e27db58ae8673e5e","size":14239,"data":"","first_seen":"2023-03-07T01:14:45Z","last_seen":"2026-08-12T17:55:50.413578Z","times_seen":23845,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/select2.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"5a7b421fe7f6b19df7dbc58930b3c1bc","sha1":"7a30ba507735c61a7da604457e59778fb13541bc","sha256":"32196e5b87a598e70b0042ac72b1ec1fecc84b5e98927ab466a1d2d18340682c","sha512":"f17c0f791119667e00a3c4c366ceaeb84de5f7b85760a321a463fba10dd7381787ba508b6fa629df361321c494b3b48f44a8a79951fdfca994ea3bb1ed3f666f","ssdeep":"3072:iiWKgwZF5nYXe9gxbWHXnNkCYiGyKmFpsAmI/E2GjxcCSXGNJk503m:PWmnnYXe9gxbWHXnNkCYiGyKmFpsAmIv","tlshash":"bef361c4e7ac326683bb209a5c5e60cda13ca136d0156c6fbca8dadc54f98385367d3d","size":157725,"data":"","first_seen":"2025-11-23T04:10:47.775172Z","last_seen":"2026-07-27T09:11:27.303547Z","times_seen":7,"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-08-12T05:10:43.219576Z","times_seen":724,"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-28T06:17:53.460776Z","times_seen":90,"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-28T06:17:53.40961Z","times_seen":111,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/main.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"7f3d6b834836196ca22aa9f962c5b40e","sha1":"22276cf1d5cacc8ac65385f04c251a76c35e79b8","sha256":"4ac0a6c0119bfbd08c9b614b643c559336e783a0875d76c33c0e7872cc53a92b","sha512":"231637cfd12be018c6987809cf213cfdb88acd3fa2e19a081641e6074edd6f9f80753061ff83ee8df5ed6eb9f09f23c29eae829503041c4f94d87ebe893a8283","ssdeep":"384:8SOKqny4tfdF3TcNcm6vGdKpR7GGtZSLt2VjILa5Ii3S9/cMaUB/gA9m9bT5X:PTgn2cm6vJvGG3SMyKIMSz7YwC5X","tlshash":"84d252c6ffac2867467bf1595c6f10cad23c4036a842487fbcac886499e553d636ed2c","size":30547,"data":"","first_seen":"2025-11-23T04:10:47.861515Z","last_seen":"2026-07-27T09:11:27.344838Z","times_seen":7,"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-08-07T05:09:59.618027Z","times_seen":1283,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"daf9f9d0f97a599bd91445f0e27a48c0","sha1":"4757090e019cabe99d90de88da776df92cc9f337","sha256":"5a6ba98d431782092b0e481397ea4d1a5e5084fa2732f2be05926532eb5cb062","sha512":"ae88c787089c4624ea69dad24738491f49ee20ecab17db8a9699e5faadab58f02c73ffd70e6e57f5f9bbc6aa6273d2d763da4aa74d67c73b2c6d7cad286f09bb","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi/wNWF0:XDD4U6KKZgtBgtCit0","tlshash":"c173b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T08:00:45.947782Z","last_seen":"2026-07-27T09:00:34.588057Z","times_seen":101,"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-08-12T17:51:36.588399Z","times_seen":1485,"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-28T06:17:53.533777Z","times_seen":122,"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-08-12T05:10:43.318029Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/waypoints.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"ea99136bb818a6c715a801654950052f","sha1":"94bb9b001e11b431fb499f5c23e13db84b60effe","sha256":"a384f1ae6cc0348ea4e77d9901b8db511f8e5591b4c62f9904d80567df49bcd5","sha512":"fc30299a75820a8efca4ccf9a5c9d00348f289553ac99d109dcda33d8fd5acc5febf36145b8597274cafa092ef47415504b140ac3e7a36211cc39f0defbeb106","ssdeep":"384:m0xk9eOKtJNsm77nTRYOKlDwslVys/sW1Fu89ttwJ5+0:dkg9F+V1I89tKJ5+0","tlshash":"fd720188af9f60165f9a21adfc5f56ce623e407594d840bfb4e4d5d808e203a1f7ae34","size":16375,"data":"","first_seen":"2025-11-23T04:10:48.01935Z","last_seen":"2026-07-27T09:11:27.370014Z","times_seen":7,"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-28T06:17:53.420467Z","times_seen":309,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/sweetalert.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"018669b85c6174a3857796237bddf283","sha1":"076d76f03345596da667056f360a4cc30485030d","sha256":"4d52b9504e2d96546ed724fb7a4d5655bf5b5950e50e44cf31eef531e2c2aeec","sha512":"deefecea63ee2ff5bbabee1283f6aa5f9347462239efa26df8679c7998acb17d0e265c56b440b79188ed66fa693f31c9f3955147366d543e0852cc99e7b4c392","ssdeep":"384:If0wnPZ3L0ffNumY5FKWmaTWGsGnrvpBLXX1oDXqPtmeVlfZOIX9m+iSVCJ6ejQm:If13wfmf7rvp1XKDehX9mSp6","tlshash":"100372497dfb70b71a6720b6575f6845ba308027a004ec507dada7a00fa0f254fe5fea","size":39515,"data":"","first_seen":"2025-09-07T19:58:35.450764Z","last_seen":"2026-07-27T09:11:27.249302Z","times_seen":10,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/fontawesome-all.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"c1a78d5f2dace6b4afed837026183962","sha1":"d44b2b84aacf4fd71b90a60464823cff1919fa8a","sha256":"47e261b6100e626b462a7a1cc5d2ebd86df958e232d6eb18321bf385360706fd","sha512":"6e230e12e06d1bca9054c565ec4a843445c8aaeb841dc0ac51767691372c787a57e882fa59bd7b786ebec13322ecd9b9573b1137286b013c435b866d62427e9f","ssdeep":"6144:qgom2PrtcNDfrcBSCx+3/gu/QhJMurJM626Php:QPumx+4qO","tlshash":"73f4c8a8d764a3fc8d8597f8c7251474b84e51af21e0d724b2acc6e02b8b4dcd6ed8c5","size":724110,"data":"","first_seen":"2025-11-23T04:10:47.878386Z","last_seen":"2026-07-27T09:11:27.389383Z","times_seen":8,"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-28T06:17:53.573257Z","times_seen":148,"alerts":{"ids":null,"analyzer":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"},"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-28T06:17:53.579611Z","times_seen":122,"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-28T06:17:53.537858Z","times_seen":113,"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-08-12T05:10:43.093Z","times_seen":287,"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-28T04:48:50.494068Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/smooth-scroll.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"78ae5a56a0139cdca5ded9b65900bdf4","sha1":"96a584f75d8a99ef0b6f771d059aacd25e355078","sha256":"ff8518690350443b4681ebdbbd8b9502e97d1171de6d30ba3ff0d38e8e04d1c5","sha512":"e4833e1be5106265c10540e671b67b81c88fbae8affe940214f10d444e0d697eeca42c7031c2d9d8cba0dbdf53ae4ee7f9164ecb37a0c77e158afca21aa4bdb1","ssdeep":"384:jlMWU55skI86H903JalauDlSqYlp5Ql0VyLO6jsDRKH1YOjMBGF5yOYmldU2hpKR:Of5v0AAjy2hE","tlshash":"c882ead6a79c7136839b316ec44e63c8f33c80b6614c186a6c5edd6d348187893f6d6b","size":18191,"data":"","first_seen":"2025-11-23T04:10:48.029859Z","last_seen":"2026-07-27T09:11:27.393986Z","times_seen":7,"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-08-12T17:55:33.136394Z","times_seen":3800,"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-28T06:17:53.340954Z","times_seen":309,"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-08-12T05:10:43.143983Z","times_seen":512,"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-08-12T17:58:50.075244Z","times_seen":1454,"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-28T06:17:53.366836Z","times_seen":205,"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-08-12T05:10:43.298797Z","times_seen":540,"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-08-11T04:43:23.113969Z","times_seen":252,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/perfect-scrollbar.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"69012988f5c8ba22794daa240a6ae3fb","sha1":"7f16ef30ba58b46231579bdc382b5b08bd3073cb","sha256":"2fba2008daaf2cec017c5ac1dd654f0136fa6ae254a7eeb82efd24f4f2367e13","sha512":"a910eef639fe4f500812f17dd1935e6dab728ec7ae4094020913293b111d2d637d1fe90e7fb6f31bba06b9ab0bf3607aa530bd0817b033500f0ebd24bde4e79b","ssdeep":"768:gVG/naLpsXdno3hq8Y4HCm6eCz7/edJ5QzuN1lQIwxRYXh7bBZ/YWnLNsr+8t:Upednota","tlshash":"c243004d66f3306956afb06edb9f420e327a8003120dd9907c5c9fa55fa0a741be1bed","size":57209,"data":"","first_seen":"2025-11-23T04:10:47.864724Z","last_seen":"2026-07-27T09:11:27.345888Z","times_seen":7,"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-29T11:04:57.494393Z","times_seen":755,"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-29T11:04:57.476864Z","times_seen":278,"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-28T04:48:50.535095Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/popper.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"124bf4d1a7db31dd60d4642dce268035","sha1":"d3745247363d9cb016aaef057bbf2a363796cc01","sha256":"5614d21225b2e012e3765c1b32fba0b8762bcecd8863c8705c1bcc0d03ec19de","sha512":"2d9f8b89336c39da4aface69209c016e2edc4449f134129e3c6453240bb90e7b81e6386a4a0a430892eb131faa4b6f45882f3c5b9e53b89443c66b589d5158e2","ssdeep":"384:+CbuG4xGNoDic2UjKPafxwC5b/4xQviOJU7QzxzivDdE3pcGdjkd/9jt3B+Kb96G:zb4xGmiJfaf7gxQvVU7eziv+cSjknZ33","tlshash":"4882a3cc3291b06643a79167a06f960fb2339979614e9410f199f2d87c70ef9913fc7a","size":19187,"data":"","first_seen":"2023-03-07T01:20:21Z","last_seen":"2026-08-12T09:42:15.472183Z","times_seen":1874,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery.datetimepicker.full.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"e836b076b56f539e35d0719c69afe2b4","sha1":"903b1ade2a182a7bbf4180d5e30ec402871e4ab7","sha256":"e92f35feb14c9e2533466ddf1c9bb135e02bc600ee07c3e1620bfdee81fdb114","sha512":"27364d6f1d4d17ffb0a96254fcad5023f099a9804b204addc48fbe87951a6fe3fdd305ec9a45152708c35010f0150efeaac9174c2d3ac94eedfa6d45087b49d3","ssdeep":"1536:lGlSB/uWSLbTEtK1RzWmJIm+DXWzMo9oYv:sli2WSLbTEtK1YmJImMEV","tlshash":"74e3d949a2e326234ab772b89a9b15c5b335c26b1508d9283d4c47c46f5cc3d92ffbd8","size":147801,"data":"","first_seen":"2025-11-23T04:10:47.873446Z","last_seen":"2026-07-27T09:11:27.37262Z","times_seen":7,"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-28T07:05:00.680835Z","times_seen":1734,"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-29T11:04:57.500007Z","times_seen":319,"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-28T06:17:53.434777Z","times_seen":186,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery-3.3.1.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"589ad040a43907f7e8754fc7cb22d481","sha1":"e3d01367c38eee297166e1b4b0450c75378c8acc","sha256":"afd5373f994086e3aa3af001f946e0fbab5a1dc0cc023c9f18ea7edf89d42117","sha512":"39debd894fac3ff2e1185f6c203c282b79e5bcf628ba1e17749f329524924d8f29fe9901d489b25a2553cab1e0e375603d5aeff8f89557e5eb3e6c330841adfe","ssdeep":"6144:+pGa3GcysMKV811QZv/Le4fO1XPygfsUKmLvK8MOfYzKn/Lt91tgwfBNYr:efLe4fMjlKmrfMyLtxgwfTYr","tlshash":"b85493d9fb8d116f4232316aac2f11cdb77cd172560058abbe4d597c249082d83aef7a","size":283730,"data":"","first_seen":"2025-11-23T04:10:47.917903Z","last_seen":"2026-07-27T09:11:27.35489Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/imagesLoaded.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"3109d411ed6d178a9eb6f5a86eb27966","sha1":"b8432558ee2befa1560e298a77d8bfaf75e615f9","sha256":"3da683ee6a6a5829b1d756135090920b2a2c0379e19187b01b52d60e41b50904","sha512":"66c8c233342610974a4a04ba38c19e9e98c5c3396e468db0d93b3c41f26e4098c2efde0203d26bf2dfdb3cff02e20d80438ac4adf2dfa1b9afaaa0d58b592cbb","ssdeep":"384:blVsbR2OXM45oR+w8j8mdpZS7zdeyWKYJ:bsV/wk8gfS7zArKYJ","tlshash":"1a426585dffe221b5029f1ab7a0b11cef57c80669404d88fbd499cf414a0929827dfb9","size":13000,"data":"","first_seen":"2025-11-23T04:10:47.846202Z","last_seen":"2026-07-27T09:11:27.308291Z","times_seen":7,"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-28T06:17:53.599251Z","times_seen":119,"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-28T06:17:53.447505Z","times_seen":89,"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-28T06:17:53.475158Z","times_seen":97,"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-28T04:48:50.392877Z","times_seen":59,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/boxicons@2.1.4/dist/boxicons.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"bea4fd2ceb33e2c39eb434b4f1cb0cff","sha1":"479a975d7f22ffda02918efd7cfe9adab2ffeed1","sha256":"60649a6ff6595f8024551b2cc3fcb63b51c7ded2a9eac48978cb2eb195557389","sha512":"9161fdda91d40bfadc8e948cbb5f654fe1fa4e567064201fb60f40b92c3e0156127442929575c1f28ea0d769a0e5ff8f8f9c4ee3403b8eeda8b7f55da1d0ad87","ssdeep":"192:jPmj9RTOVejr0PIazbcrFT+ufLSgSrGHLR4+H7TvUmCu6qtQtsIYCh:j5EmTzbFr2q+HHUmCuerh","tlshash":"9d42f86ebad13052412709a187cf4615633cc5737d624cce7352e8d68fb0acda2e6b2b","size":13059,"data":"","first_seen":"2023-03-12T21:06:07Z","last_seen":"2026-08-08T21:31:16.111369Z","times_seen":156,"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-31T06:34:35.4362Z","times_seen":457,"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-28T06:17:53.61859Z","times_seen":190,"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-28T06:17:53.620683Z","times_seen":88,"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-08-11T04:45:48.816224Z","times_seen":528,"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-28T06:17:53.587399Z","times_seen":119,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery-circle-progress.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"7eb9be7f9909832c170238b41f8bea56","sha1":"c82bcc1ba9b2e4d2057cc35aaf926bda761a090c","sha256":"5a8a88fa1e89b552ae1b59136c13ece28d119962198d82e0ca7b54fdce3da450","sha512":"bc06b79435a52f3a7bd5ff68b1ad40c0ba9fb9cd19443c7f0985174339e5b94cc3dd791a628e6ae9adf1401abfcffd547cb2da485f21cd6fb38662a59497e248","ssdeep":"384:RGuAt+SOl7NTRrqoScndHycoilnna8Q848WwE9yB:Kt+Skt9qaRNRa8Q8BWwE9yB","tlshash":"1852e6d1efad9613b413c839705d13c9dbbd0269e9252cadbc6ce5583398936032ddb4","size":14094,"data":"","first_seen":"2025-11-23T04:10:47.949241Z","last_seen":"2026-07-27T09:11:27.370585Z","times_seen":7,"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-08-12T05:10:43.172785Z","times_seen":632,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/sharer.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"f0238586a09de11a927ff85d8c611ec3","sha1":"904eb8f627919b8f7bf0cf4c230a241025a9bbc7","sha256":"099c12dadd59f9c73c6dd9985b40dca6b5440d98e838b43463d761d3191e9806","sha512":"f301e8a17e075c858c94fb37809016b03e1184bc32f5c86f1a7364a48c9d32c11423e46990b80253dc0564688d3a78d8e228448dd661ac9139df35d19792854d","ssdeep":"384:6gPZkZlpiYZ4fChY0Lw+c8lAuzQd/zQIUVELv5mr0rWV:6Oq5zrGWV","tlshash":"545298692ef4949a160370263e6f7115a26a828b2d047c167c6c3795cf4e61ff8fcb6c","size":13480,"data":"","first_seen":"2025-11-23T04:10:47.976051Z","last_seen":"2026-07-27T09:11:27.390431Z","times_seen":7,"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-28T06:17:53.441118Z","times_seen":328,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/leaflet.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"c3910afc316e4200d415657f2a7e604f","sha1":"507fe8750c2915538408f9f6617e65be8bdcf842","sha256":"9ea1f893bdb2ff8f8620556dce4f843108b913d97a55b7e24a3a4be689526b25","sha512":"3a732af6fcca6448cfed21325be154ff3c940c0aa36a0b49838e49b6a350d826c0cb5c14b7517c3fb26c047bd753b5ffd135d36b53355b417869c5b5a2c5f45d","ssdeep":"1536:BgtNAIjuO7i52z08zwjZcxMmUoaQh28dF91BbvOHbvLCw9Bp6JIlPL9Fwf:BgDi52pzwmTTa2gCMlwf","tlshash":"48d3a38ab391ba2683c75174403f200bf6326595a40a452cb47dd9efee6ca49713bf3d","size":141125,"data":"","first_seen":"2023-03-09T23:11:09Z","last_seen":"2026-08-11T15:12:05.996811Z","times_seen":378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/swiper.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"17f96a1de497bab22e3d630c4ec99576","sha1":"6d7eeedc7210bee61829ff437939de0ac90dfb54","sha256":"96dd05f38b8db481ccc5030c172b6b8d413139206201f3171932f661c3e2c53a","sha512":"ee7953d1a5facab7fe435b2f4637aaa87945367988b76359bc9a218ffe98a8c140d2b78fc7e54fa86adeb80c5213598f2ce9d4ee1a3ef85d73733f7fd98767e0","ssdeep":"6144:GmeD94SauJe+EuENj2OS3+ORrusZLU3onSzymC0/SwLhgAfr0RgO00qGfbnDbTy:YadS3nK","tlshash":"91349689e79c256a45a3350a5d6d80cd607d8272a8178cbbbce49d28e4f8c3d036dff5","size":236577,"data":"","first_seen":"2025-11-23T04:10:47.822402Z","last_seen":"2026-07-27T09:11:27.390924Z","times_seen":7,"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-28T07:05:00.655129Z","times_seen":1853,"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-28T06:17:53.453122Z","times_seen":108,"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-28T06:17:53.408658Z","times_seen":80,"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-28T19:45:51.62328Z","times_seen":80,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/crum-mega-menu.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"cc524ce972ec239f626bcc5646357783","sha1":"985af94c9ae81e9895ac425c8f8b17ccef8c0a1d","sha256":"58a0ee33a967273302a4baa040abb04a88b7f0b2bc00ba9e4f16ffc1408c3be6","sha512":"c58175f9463784e08000673d0022097a9ca11ffcebd59052325dd31499cf91354cede18e76fdc01086df5c880295c9dfb0842e4a81e8428bddccef0e3c9b3ca4","ssdeep":"192:jYdPCMSPe2vJaiFFCksRDPIb+XN6S+OzVXeigzaOraL:APC6dRq+gS+OYigz/aL","tlshash":"1422b6d8f65d317942f6227e926e63c96a3f0072561a9c32f8b849b01c3895d03e7fe5","size":10026,"data":"","first_seen":"2023-07-11T01:47:11Z","last_seen":"2026-07-27T09:11:27.266615Z","times_seen":13,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/bootstrap.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"94c702078e8b288bb55ec60e15563877","sha1":"844457b06ce3a037c3d3526a999f9ea5a281b9e7","sha256":"5b187cba16d123629b49a0205f73dd204b9626cdb2658a9ee751ccce3287913a","sha512":"e1ca77822f8cb007d288ce5c743dca546ee6c0925b75f32470db35aa2812222c41bbfac42f10b91610e698580de9c87d2ddb69cbc85b645f26470171d7c31725","ssdeep":"192:g9uq/Wd0jazXSo9XXTCKU75+I5Sy/sJCw:g9pKUazXSo9XXTCKU75+I5SesJCw","tlshash":"79e12009bea131f156ebfad5a09e4204f1395a2ce916906c769396e33c75c0c327fb39","size":7209,"data":"","first_seen":"2023-03-13T07:47:20Z","last_seen":"2026-08-05T06:07:55.917162Z","times_seen":33,"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-08-12T17:58:50.257459Z","times_seen":2788,"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-28T04:48:50.487518Z","times_seen":59,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.780Z","timestamp":1785139582780,"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-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 08:06:22 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: f7940f92d1d273d4342cec73e9b2b4ae\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-08-12T17:58:50.172755Z","times_seen":6174,"resource_available":false,"data":"LnR2LWRhdGEtbW9kZXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWV7Y29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtZGF0YS1tb2RlLS1zbmFwc2hvdHtjb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCl9LnR2LWRhdGEtbW9kZS0tZW5kb2ZkYXl7Y29sb3I6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS00MDApfS50di1kYXRhLW1vZGUtLWNvbm5lY3RpbmcsLnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLC50di1kYXRhLW1vZGUtLWludmFsaWQsLnR2LWRhdGEtbW9kZS0tbG9hZGluZ3t2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1kZWxheWVke2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O3Bvc2l0aW9uOmFic29sdXRlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtZGF0YS1tb2RlLS1mb3ItdGlja2VyLXRhcGV7Zm9udC1zaXplOjEwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KX0udHYtZGF0YS1tb2RlLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci10YXBlOmRpcihydGwpe3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci10aWNrZXItdGFwZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbi1pbmxpbmUtc3RhcnQ6MXB4O21hcmdpbi10b3A6NHB4O3ZlcnRpY2FsLWFsaWduOnRvcH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItdGlja2VyLC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1uby1yZWFsdGltZXtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1kYXRhLW1vZGUtLWZvci1jaGFydHtmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1zdGFydDo2cHh9LnR2LWRhdGEtbW9kZS0tY29ubmVjdGluZy0tZm9yLWNoYXJ0LC50di1kYXRhLW1vZGUtLWxvYWRpbmctLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LWRhdGEtbW9kZS0tZm9yYmlkZGVuLS1mb3ItY2hhcnQsLnR2LWRhdGEtbW9kZS0taW52YWxpZC0tZm9yLWNoYXJ0e2NvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7dmlzaWJpbGl0eTp2aXNpYmxlfS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3ItY2hhcnR7ZGlzcGxheTpub25lfS50di1kYXRhLW1vZGUtLWZvci1jaGFydC50di1kYXRhLW1vZGUtLXJlcGxheXttYXJnaW4tbGVmdDowfS50di1kYXRhLW1vZGUtLWZvci10aWNrZXItY2FyZHtkaXNwbGF5OmlubGluZTttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtZGF0YS1tb2RlLS1mb3Itc3ltYm9sLXdpZGdldHtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtd2lkZ2V0LC50di1kYXRhLW1vZGUtLXJlYWx0aW1lLnR2LWRhdGEtbW9kZS0tZm9yLXRpY2tlci1jYXJke2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itd2F0Y2gtbGlzdHtmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4O292ZXJmbG93OnZpc2libGU7cG9pbnRlci1ldmVudHM6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWRhdGEtbW9kZS0tZm9yLXdhdGNoLWxpc3Q6ZGlyKHJ0bCl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MnB4fS50di1kYXRhLW1vZGUtLXJlYWx0aW1lLS1mb3Itd2F0Y2gtbGlzdHt2aXNpYmlsaXR5OmhpZGRlbn0udHYtZGF0YS1tb2RlLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxMnB4fS50di1kYXRhLW1vZGUtLWZvci1zeW1ib2wtaW5mb3tkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxN3B4O21hcmdpbi1sZWZ0OjNweH0udHYtZGF0YS1tb2RlLS1yZWFsdGltZS0tZm9yLXN5bWJvbC1pbmZve2Rpc3BsYXk6bm9uZX0udHYtZGF0YS1tb2RlLS1mb3Itc2NyZWVuZXJ7Zm9udC1zaXplOjEwcHh9LnR2LWRhdGEtbW9kZS0tcmVhbHRpbWUtLWZvci1zY3JlZW5lcntkaXNwbGF5Om5vbmV9"}},"time_used":147,"timings":{"blocked":-1,"dns":45,"connect":43,"send":0,"wait":3,"receive":-1,"ssl":31},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.796Z","timestamp":1785139582796,"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-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 08:06:22 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: 96edebcbc69b2e3556b80f0ade99be8e\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-08-12T05:10:43.128187Z","times_seen":1257,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtaUE5STp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItdGV4dC1yZWd1bGFyKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLV8xLWlBOUk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9LnR2LWNvbnRyb2wtZmllbGRzZXR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjMwcHg7bWluLXdpZHRoOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWNvbnRyb2wtZmllbGRzZXQtLXNwYWNpbmdfeHNtYWxse21hcmdpbi1ib3R0b206MTBweH0udHYtY29udHJvbC1maWVsZHNldC0tZmlyc3R7bWFyZ2luLXRvcDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtY29udHJvbC1maWVsZHNldHttYXJnaW4tYm90dG9tOjIwcHh9fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtc3RhcnR9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS12ZXJ0aWNhbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse2Zsb2F0Om5vbmV9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jaGVja2JveCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLWNoZWNrYm94e3BhZGRpbmctdG9wOjJweCFpbXBvcnRhbnR9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWV7ZmxvYXQ6bm9uZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVse2NsZWFyOmlubGluZS1zdGFydDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7Zm9udC1zaXplOjEzcHg7cGFkZGluZy1ibG9jazoxMHB4IDA7cGFkZGluZy1pbmxpbmU6MCAyMHB4O3dpZHRoOjMwJX0udHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXRvcHtwYWRkaW5nLXRvcDowfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tdmVydGljYWx7cGFkZGluZzowIDAgNHB4O3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLS1jb2xvcl9kYXJre2NvbG9yOnZhcigtLV8wLWlBOUkpfS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0td2lkdGhfc21hbGx7d2lkdGg6MjYlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fbGFiZWwtLXdpZHRoX3NtYWxse3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC0tc2l6ZV9zbWFsbHtwYWRkaW5nLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHtwYWRkaW5nOjAgMCAxMHB4O3dpZHRoOmF1dG99fS50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMnB4O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246c3VwZXJ9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2xhYmVsLWljb24gc3Zne2hlaWdodDoxMDAlO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle3dpZHRoOjcwJX0udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtLXZlcnRpY2Fse3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6NzQlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUsLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLS13aWR0aF9iaWd7d2lkdGg6YXV0b319LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RleHR7bWFyZ2luLWJvdHRvbToxMnB4fS50di1jb250cm9sLWZpZWxkc2V0X190ZXh0Omxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbCwudHYtY29udHJvbC1maWVsZHNldC0tYmxvY2sgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVle2Zsb2F0Om5vbmU7cGFkZGluZzowO3dpZHRoOmF1dG99LnR2LWNvbnRyb2wtZmllbGRzZXQtLWJsb2NrIC50di1jb250cm9sLWZpZWxkc2V0X19sYWJlbHttYXJnaW4tYm90dG9tOjEwcHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2x7ZGlzcGxheTpibG9ja30udHYtY29udHJvbC1maWVsZHNldF9fdmFsdWUtY29udHJvbC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcil9fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3ZhbHVlLWNvbnRyb2wubGluazpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X192YWx1ZS1jb250cm9sLmxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2lucHV0LXZhbHVle2ZsZXg6MTttYXJnaW4taW5saW5lLWVuZDoxMnB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG57cGFkZGluZzowfS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG4gc3Zne21hcmdpbi1ib3R0b206MXB4fS50di1jb250cm9sLWZpZWxkc2V0X19ncm91cC1idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWlubGluZS1lbmQ6NXB4fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWZpZWxkc2V0X19zaW5nbGUtaWNvbi1idG57cGFkZGluZzowIDEycHh9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtZmllbGRzZXRfX3NpbmdsZS1pY29uLWJ0biBzdmd7bWFyZ2luLWJvdHRvbTo0cHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX3RyYXNoLWljb24gc3Zne2NvbG9yOnJlZH0udHYtY29udHJvbC1maWVsZHNldF9faGludHtjb2xvcjp2YXIoLS1fMS1pQTlJKTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tYm90dG9tOjEwcHg7bWFyZ2luLXRvcDoxMHB4fS50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rLC50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtY29udHJvbC1maWVsZHNldF9faGludCAubGluazpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LWNvbnRyb2wtZmllbGRzZXRfX2hpbnQgLmxpbms6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWZpZWxkc2V0X19oaW50IC5saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9fS50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSl9LnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1udW1iZXItaW5wdXRfX2lucHV0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IC50di1jb250cm9sLW51bWJlci1pbnB1dF9faW5wdXRbZGlzYWJsZWRdOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1maWVsZHNldCAudHYtY29udHJvbC1zZWxlY3RfX2NvbnRyb2wuaS1kaXNhYmxlZDo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgLnR2LWNvbnRyb2wtc2VsZWN0X19jb250cm9sW2Rpc2FibGVkXTo6cGxhY2Vob2xkZXIsLnR2LWNvbnRyb2wtZmllbGRzZXQgc2VsZWN0LnR2LWNvbnRyb2wtc2VsZWN0LmktZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLC50di1jb250cm9sLWZpZWxkc2V0IHNlbGVjdC50di1jb250cm9sLXNlbGVjdFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWljb25zKX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1FWFJ4OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtRVhSeDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0udHYtY29udHJvbC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXJlZ3VsYXIpO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEzcHg7aGVpZ2h0OjM0cHg7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZSxiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItcGxhY2Vob2xkZXIpO29wYWNpdHk6MX0udHYtY29udHJvbC1pbnB1dDotd2Via2l0LWF1dG9maWxsey13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApIWltcG9ydGFudDtib3gtc2hhZG93Omluc2V0IDAgMCAwIDEwMDBweCAjZmZmIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC0tc2l6ZV94c21hbGx7aGVpZ2h0OjE5cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfc21hbGx7aGVpZ2h0OjI3cHh9LnR2LWNvbnRyb2wtaW5wdXQtLXNpemVfbGFyZ2V7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjQ4cHh9LnR2LWNvbnRyb2wtaW5wdXQtLWNvbm5lY3R7Ym9yZGVyLWlubGluZS1lbmQ6MDtib3JkZXItaW5saW5lLXN0YXJ0OjA7Ym9yZGVyLXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X2xlZnR7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6MDtib3JkZXItaW5saW5lLXN0YXJ0Om5vbmU7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czowfS50di1jb250cm9sLWlucHV0LS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1pbmxpbmUtZW5kOm5vbmU7Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6MH0udHYtY29udHJvbC1pbnB1dC0tY29ubmVjdF9yaWdodCNpZF91c2VybmFtZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246cmlnaHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXItaG92ZXIpO3RyYW5zaXRpb24tZHVyYXRpb246NjBtc319LnR2LWNvbnRyb2wtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfS50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XXtib3JkZXItY29sb3I6dmFyKC0tXzAtRVhSeCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LWNvbnRyb2wtaW5wdXRbcmVhZG9ubHldOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0W3JlYWRvbmx5XTpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkLC50di1jb250cm9sLWlucHV0W2Rpc2FibGVkXXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcikhaW1wb3J0YW50O2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLWRpc2FibGVkOjpwbGFjZWhvbGRlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1kaXNhYmxlZDpob3ZlciwudHYtY29udHJvbC1pbnB1dFtkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWRpc2FibGVkLWJvcmRlci1hbmQtY29sb3IpIWltcG9ydGFudH19LnR2LWNvbnRyb2wtaW5wdXQuaS1lcnJvcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKSFpbXBvcnRhbnR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWlucHV0LmktZXJyb3I6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCkhaW1wb3J0YW50fX0udHYtY29udHJvbC1pbnB1dC5pLWVycm9yOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApIWltcG9ydGFudH0udHYtY29udHJvbC1pbnB1dC5pLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpIWltcG9ydGFudH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKSFpbXBvcnRhbnR9fS50di1jb250cm9sLWlucHV0Lmktc3VjY2VzczphY3RpdmUsLnR2LWNvbnRyb2wtaW5wdXQuaS1zdWNjZXNzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWFjdGl2ZSkhaW1wb3J0YW50fS50di1jb250cm9sLWlucHV0LS1waG9uZXtkaXJlY3Rpb246bHRyO3RleHQtYWxpZ246c3RhcnR9"}},"time_used":32,"timings":{"blocked":25,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.958Z","timestamp":1785139583958,"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-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 08:06:23 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: 66a9323701a0e3c94feeba3024a885c8\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-08-12T17:58:50.071593Z","times_seen":574,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdzFiMzp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLV8xLXcxYjM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKX0uc3dpdGNoZXItbDNEdEtMc0x7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleDowIDAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ei1pbmRleDowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uaW5wdXQtbDNEdEtMc0x7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5pbnB1dC1sM0R0S0xzTDpjaGVja2VkLC5pbnB1dC1sM0R0S0xzTDpkaXNhYmxlZCwuaW5wdXQtbDNEdEtMc0w6Zm9jdXN7Ym9yZGVyOjA7b3V0bGluZTowfS5pbnB1dC1sM0R0S0xzTDpmb2N1cysudGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmlucHV0LWwzRHRLTHNMOmZvY3VzLXZpc2libGUrLnRodW1iV3JhcHBlci1sM0R0S0xzTDphZnRlcntkaXNwbGF5OmJsb2NrfS5pbnB1dC1sM0R0S0xzTDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpKy50aHVtYldyYXBwZXItbDNEdEtMc0w6YWZ0ZXJ7ZGlzcGxheTpub25lfS50aHVtYldyYXBwZXItbDNEdEtMc0x7ZGlzcGxheTpibG9jaztoZWlnaHQ6Zml0LWNvbnRlbnQ7b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Zml0LWNvbnRlbnR9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1c3tvdXRsaW5lOm5vbmV9LnRodW1iV3JhcHBlci1sM0R0S0xzTDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0udGh1bWJXcmFwcGVyLWwzRHRLTHNMOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6MjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDhweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi00cHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDt3aWR0aDpjYWxjKDEwMCUgKyA4cHgpO3otaW5kZXg6MX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmhvdmVyKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpOmFjdGl2ZSsudGh1bWJXcmFwcGVyLWwzRHRLTHNMey0tdWktbGliLXN3aXRjaFZpZXctY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6aG92ZXIrLnRodW1iV3JhcHBlci1sM0R0S0xzTHstLXVpLWxpYi1zd2l0Y2hWaWV3LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKX19LmlucHV0LWwzRHRLTHNMOm5vdCguZGlzYWJsZWQtbDNEdEtMc0wpLmNoZWNrZWQtbDNEdEtMc0w6YWN0aXZlKy50aHVtYldyYXBwZXItbDNEdEtMc0x7LS11aS1saWItc3dpdGNoVmlldy1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtKX0="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.091Z","timestamp":1785139584091,"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-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 08:06:24 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: 41f318538e4e3b662cf739194d338c38\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-28T06:17:53.434777Z","times_seen":186,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.294Z","timestamp":1785139584294,"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-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 08:06:24 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: d9117e609642f1634d5cc6507e1d56cd\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-28T04:48:50.480044Z","times_seen":58,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szMjc4LDE4OTExLDUyMzI0LDc5NjY3LDg3MjM4LDk0OTQ3XSx7NDM1NzUwKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBzeW1ib2xzPyJdfSw4MjY4NzMoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIGFsbCBzeW1ib2xzPyJdfSw0MTcxOTEoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIHNlbGVjdGVkIHN5bWJvbHM/Il19LDIwNjk0OChlKXtlLmV4cG9ydHM9WyJDbGVhciJdfSwzMDkzMyhlKXtlLmV4cG9ydHM9WyJDYW5jZWwiXX0sMTA4KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSw4MzU5MzcoZSl7ZS5leHBvcnRzPVsiVW5mbGFnIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sOTA0NzA0KGUpe2UuZXhwb3J0cz1bIk5vIG9wdGlvbnMgYXZhaWxhYmxlIl19LDMwNjYyNihlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDY1MTYzOChlKXtlLmV4cG9ydHM9WyJOZXcgd2F0Y2hsaXN0IG5hbWUiXX0sMTYzOTgwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCJdfSw3Mzg1NShlKXtlLmV4cG9ydHM9WyJDYWxscyJdfSw5MTU3ODcoZSl7ZS5leHBvcnRzPVsiUHV0cyJdfSw4OTI1KGUpe2UuZXhwb3J0cz1bIkhpZGUgc3ByZWFkIG9wZXJhdG9ycyJdfSwzMjMzNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBzcHJlYWQgb3BlcmF0b3JzIl19LDk2MjMxOChlKXtlLmV4cG9ydHM9WyJBZGRpdGlvbiJdfSwzMzgwMChlKXtlLmV4cG9ydHM9WyJEaXZpc2lvbiJdfSw5MjMwMjEoZSl7ZS5leHBvcnRzPVsiRXhwb25lbnRpYXRpb24iXX0sNDg0ODc1KGUpe2UuZXhwb3J0cz1bIk11bHRpcGxpY2F0aW9uIl19LDkwNTI5OShlKXtlLmV4cG9ydHM9WyJTdWJ0cmFjdGlvbiJdfSw4NTMzNDkoZSl7ZS5leHBvcnRzPVsiUmVjaXByb2NhbCJdfSw4NDUyMjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIHNlYXJjaCJdfSwyMzkxOTgoZSl7ZS5leHBvcnRzPVsiQ29sbGFwc2UiXX0sMzg2MjQ2KGUpe2UuZXhwb3J0cz1bIkV4cGFuZCJdfSwxODEzMDUoZSl7ZS5leHBvcnRzPVsiQ0VYIl19LDQ1MDI3MyhlKXtlLmV4cG9ydHM9WyJDb21tb24gc3RvY2siXX0sMzAxNTkzKGUpe2UuZXhwb3J0cz1bIkNvbW1lcmNpYWwgU2VydmljZXMiXX0sOTM0MjQ2KGUpe2UuZXhwb3J0cz1bIkNvbW11bmljYXRpb25zIl19LDY4NTEzKGUpe2UuZXhwb3J0cz1bIkNvbnN1bWVyIl19LDI3Mzk0MyhlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBEdXJhYmxlcyJdfSwyNDY1NShlKXtlLmV4cG9ydHM9WyJDb25zdW1lciBOb24tRHVyYWJsZXMiXX0sMjQ0OTIoZSl7ZS5leHBvcnRzPVsiQ29uc3VtZXIgU2VydmljZXMiXX0sNjc1NDQzKGUpe2UuZXhwb3J0cz1bIkNvcnBvcmF0ZSJdfSw3ODkzMTkoZSl7ZS5leHBvcnRzPVsiQ2Vuc3VzIEJ1cmVhdSJdfSw4NTQ2NjEoZSl7ZS5leHBvcnRzPVsiQ2VudHJhbCBCYW5rIG9mIFdlc3QgQWZyaWNhbiBTdGF0ZXMgKEJDRUFPKSJdfSwzMzgxOTcoZSl7ZS5leHBvcnRzPVsiQ2hlbWljYWxzIl19LDU5ODU4KGUpe2UuZXhwb3J0cz1bIkN1cnJlbmNpZXMiXX0sOTkzMTY4KGUpe2UuZXhwb3J0cz1bIkFLQU1BSSJdfSw0NDY3NjcoZSl7ZS5leHBvcnRzPVsiQWdyaWN1bHR1cmUiXX0sOTc3NzY3KGUpe2UuZXhwb3J0cz1bIkFsbCBjYXRlZ29yaWVzIl19LDM2NTM0MChlKXtlLmV4cG9ydHM9WyJBbGwgZXhjaGFuZ2UgdHlwZXMiXX0sNTAyNTUzKGUpe2UuZXhwb3J0cz1bIkFsbCBzZWN0b3JzIl19LDI4OTI4MChlKXtlLmV4cG9ydHM9WyJBbGwgc291cmNlcyJdfSw3NjEzNjQoZSl7ZS5leHBvcnRzPVsiQWxsIHR5cGVzIl19LDU0NjQ5KGUpe2UuZXhwb3J0cz1bIkJDRUFPIl19LDg5NzAyOShlKXtlLmV4cG9ydHM9WyJCRUEiXX0sOTY5NjEzKGUpe2UuZXhwb3J0cz1bIkJMUyJdfSwxMzczNTMoZSl7ZS5leHBvcnRzPVsiQnVpbGRpbmcgbWF0ZXJpYWxzIl19LDU0MzU1MChlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgRWNvbm9taWNzIEFuYWx5c2lzIl19LDkwMzA4MyhlKXtlLmV4cG9ydHM9WyJCdXJlYXUgb2YgTGFib3VyIFN0YXRpc3RpY3MiXX0sMzg1MTYyKGUpe2UuZXhwb3J0cz1bIkJ1c2luZXNzIl19LDQxNTQwKGUpe2UuZXhwb3J0cz1bIkdEUCJdfSw4MzQ2MzQoZSl7ZS5leHBvcnRzPVsiR292ZXJubWVudCJdfSw1MzU1OShlKXtlLmV4cG9ydHM9WyJHb3Zlcm5tZW50IHNlY3RvciJdfSwzMjg1NDUoZSl7ZS5leHBvcnRzPVsiREVYIl19LDI5MjAyMChlKXtlLmV4cG9ydHM9WyJEZXBvc2l0b3J5IFJlY2VpcHQiXX0sMjk0ODEwKGUpe2UuZXhwb3J0cz1bIkRpc3RyaWJ1dGlvbiBTZXJ2aWNlcyJdfSwyMjc4NjAoZSl7ZS5leHBvcnRzPVsiRVRGIl19LDYyODQ3MihlKXtlLmV4cG9ydHM9WyJFVVJPU1RBVCJdfSwyMzM4OTAoZSl7ZS5leHBvcnRzPVsiRW5lcmd5Il19LDY2MjQ4MShlKXtlLmV4cG9ydHM9WyJFbmVyZ3kgTWluZXJhbHMiXX0sNjEyMDc1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgVGVjaG5vbG9neSJdfSwxMTA2MihlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUiXX0sNjkxMTg5KGUpe2UuZXhwb3J0cz1bIkZpbmFuY2UiXX0sMjA2MTEoZSl7ZS5leHBvcnRzPVsiRnV0dXJlcyJdfSw5ODc0MzQoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWwiXX0sMjAxNTc0KGUpe2UuZXhwb3J0cz1bIkhvdXNpbmciXX0sMjIyMDAyKGUpe2UuZXhwb3J0cz1bIkhlYWx0aCJdfSw2MDEzNDkoZSl7ZS5leHBvcnRzPVsiSGVhbHRoIFNlcnZpY2VzIl19LDE1MjgwNShlKXsKZS5leHBvcnRzPVsiSGVhbHRoIFRlY2hub2xvZ3kiXX0sNjY1Njg5KGUpe2UuZXhwb3J0cz1bIklNRiJdfSwzNzc3NDIoZSl7ZS5leHBvcnRzPVsiSUVQIl19LDYwMTU1MShlKXtlLmV4cG9ydHM9WyJJbnRlcmVzdCByYXRlcyJdfSw4NDAxODcoZSl7ZS5leHBvcnRzPVsiSW50ZXJuYXRpb25hbCBNb25ldGFyeSBGdW5kIChJTUYpIl19LDU5NzIwMChlKXtlLmV4cG9ydHM9WyJJbmRleCJdfSwzODIxNDAoZSl7ZS5leHBvcnRzPVsiSW5kdXN0cmlhbCBTZXJ2aWNlcyJdfSw4MzI4NjYoZSl7ZS5leHBvcnRzPVsiSW5zdGl0dXRlIGZvciBFY29ub21pY3MgYW5kIFBlYWNlIl19LDQ1MDU1MChlKXtlLmV4cG9ydHM9WyJPTlMiXX0sNTIwMDQwKGUpe2UuZXhwb3J0cz1bIk9FQ0QiXX0sOTc4Mjk0KGUpe2UuZXhwb3J0cz1bIk9mZmljZSBmb3IgTmF0aW9uYWwgU3RhdGlzdGljcyJdfSwxMTc4MTAoZSl7ZS5leHBvcnRzPVsiT3JnYW5pc2F0aW9uIGZvciBFY29ub21pYyBDby1vcGVyYXRpb24gYW5kIERldmVsb3BtZW50Il19LDgxNTc0MShlKXtlLmV4cG9ydHM9WyJMYWJvciJdfSw3NTQ0OTAoZSl7ZS5leHBvcnRzPVsiTW9uZXkiXX0sNzYxMTIyKGUpe2UuZXhwb3J0cz1bIk1ldGFscyJdfSwzNjc3NjMoZSl7ZS5leHBvcnRzPVsiTWlzY2VsbGFuZW91cyJdfSw5NTc3OTgoZSl7ZS5leHBvcnRzPVsiTXV0dWFsIGZ1bmQiXX0sMTkxNDIoZSl7ZS5leHBvcnRzPVsiTm9uLUVuZXJneSBNaW5lcmFscyJdfSw3NzA5ODIoZSl7ZS5leHBvcnRzPVsiU0lQUkkiXX0sNzQ2NzkyKGUpe2UuZXhwb3J0cz1bIlNpbmdsZSBzdG9jayJdfSw0MzczNTYoZSl7ZS5leHBvcnRzPVsiU3BvdCJdfSw5MTc4MDUoZSl7ZS5leHBvcnRzPVsiU3RhdENhbiJdfSw2NTQ0NDAoZSl7ZS5leHBvcnRzPVsiU3RhdGlzdGljcyBDYW5hZGEiXX0sODYzMjM2KGUpe2UuZXhwb3J0cz1bIlN0YXRpc3RpY3MgTm9yd2F5Il19LDg3MTcyNyhlKXtlLmV4cG9ydHM9WyJTdG9ja2hvbG0gSW50ZXJuYXRpb25hbCBQZWFjZSBSZXNlYXJjaCBJbnN0aXR1dGUiXX0sMTY5MTQ1KGUpe2UuZXhwb3J0cz1bIlN3YXAiXX0sNjc4MzUoZSl7ZS5leHBvcnRzPVsiUHJlLUlQTyJdfSw0ODc0MDQoZSl7ZS5leHBvcnRzPVsiUHJlZmVycmVkIHN0b2NrIl19LDUzNjMzMyhlKXtlLmV4cG9ydHM9WyJQcmljZXMiXX0sNzEyMTk4KGUpe2UuZXhwb3J0cz1bIlByb2Nlc3MgSW5kdXN0cmllcyJdfSw5OTY0MjAoZSl7ZS5leHBvcnRzPVsiUHJvZHVjZXIgTWFudWZhY3R1cmluZyJdfSw5NTAxNzQoZSl7ZS5leHBvcnRzPVsiUkVJVCJdfSwzNjc1ODIoZSl7ZS5leHBvcnRzPVsiUmV0YWlsIFRyYWRlIl19LDI1ODc2MChlKXtlLmV4cG9ydHM9WyJXQiJdfSw3OTA0NjYoZSl7ZS5leHBvcnRzPVsiV0VGIl19LDgzMjk0NyhlKXtlLmV4cG9ydHM9WyJXR0MiXX0sMzM2MTEyKGUpe2UuZXhwb3J0cz1bIldvcmxkIEJhbmsiXX0sNDgzOTY2KGUpe2UuZXhwb3J0cz1bIldvcmxkIEdvbGQgQ291bmNpbCJdfSw4NTk5NTUoZSl7ZS5leHBvcnRzPVsiV29ybGQgRWNvbm9taWMgRm9ydW0iXX0sNzIxNzYyKGUpe2UuZXhwb3J0cz1bIldvcmxkIGluZGljZXMiXX0sNzE0MTQ1KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IiXX0sMzQ1NjA5KGUpe2UuZXhwb3J0cz1bIldhZ2VJbmRpY2F0b3IgRm91bmRhdGlvbiJdfSw0NTU0MDQoZSl7ZS5leHBvcnRzPVsiV2FycmFudCJdfSw5MTE4NjIoZSl7ZS5leHBvcnRzPVsiV2VhdGhlciJdfSwyNzY4MzMoZSl7ZS5leHBvcnRzPVsiVGF4ZXMiXX0sMjg0Njc3KGUpe2UuZXhwb3J0cz1bIlRlY2hub2xvZ3kgU2VydmljZXMiXX0sOTM3OTM1KGUpe2UuZXhwb3J0cz1bIlRydXN0Il19LDIzOTkyOShlKXtlLmV4cG9ydHM9WyJUcmFkZSJdfSw3NzAxMihlKXtlLmV4cG9ydHM9WyJUcmFuc3BhcmVuY3kgSW50ZXJuYXRpb25hbCJdfSw0MzI3MzgoZSl7ZS5leHBvcnRzPVsiVHJhbnNwb3J0YXRpb24iXX0sNTk5ODA3KGUpe2UuZXhwb3J0cz1bIlUuUy4gRW5lcmd5IEluZm9ybWF0aW9uIEFkbWluaXN0cmF0aW9uIl19LDYyNzUwNChlKXtlLmV4cG9ydHM9WyJVRUlBIl19LDM5OTQ1MShlKXtlLmV4cG9ydHM9WyJVU0NCIl19LDM0MzI4NChlKXtlLmV4cG9ydHM9WyJVdGlsaXRpZXMiXX0sNTgwNTY4KGUpe2UuZXhwb3J0cz1bIkNhdGVnb3JpZXMiXX0sMzQ0NzgxKGUpe2UuZXhwb3J0cz1bIkV4Y2hhbmdlIHR5cGVzIl19LDMyMTA4OShlKXtlLmV4cG9ydHM9WyJTb3VyY2VzIl19LDg5NTE3NihlKXtlLmV4cG9ydHM9WyJTZWN0b3JzIl19LDY2MjgzNChlKXtlLmV4cG9ydHM9WyJUeXBlcyJdfSwyODcwMzgoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNDQ1MzMzKGUpe2UuZXhwb3J0cz1bIlN0cmlrZSJdfSwxNjE3MDgoZSl7ZS5leHBvcnRzPVsiLiJdfSw1MDI2OTIoZSl7ZS5leHBvcnRzPVsiJXMgYWdvIl19LDQ5MDc0MChlKXtlLmV4cG9ydHM9WyJJbiAlcyJdfSwzMjU3MzIoZSl7ZS5leHBvcnRzPVsiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHMiXX0sNDg0MTM2KGUpe2UuZXhwb3J0cz1bIkNvbW9yb3MiXX0sOTY0ODU4KGUpe2UuZXhwb3J0cz1bIkNvbmdvIl19LDI3MTU1OChlKXtlLmV4cG9ydHM9WyJDb25nbyAodGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlKSJdfSw3MDg4NTkoZSl7ZS5leHBvcnRzPVsiQ29vayBJc2xhbmRzIl19LDI2ODg0NChlKXtlLmV4cG9ydHM9WyJDb3N0YSBSaWNhIl19LDY0MTAyNihlKXtlLmV4cG9ydHM9WyJDYXltYW4gSXNsYW5kcyJdfSw2MDEwOTcoZSl7ZS5leHBvcnRzPVsiQ2FibyBWZXJkZSJdfSw1NTU0ODkoZSl7ZS5leHBvcnRzPVsiQ2FtYm9kaWEiXX0sOTc3MDI4KGUpe2UuZXhwb3J0cz1bIkNhbWVyb29uIl19LDc3NDc4KGUpe2UuZXhwb3J0cz1bIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyJdfSw0ODM1NShlKXtlLmV4cG9ydHM9WyJDaGFkIl19LDk1NjQ2NChlKXtlLmV4cG9ydHM9WyJDaHJpc3RtYXMgSXNsYW5kIl19LDU0OTEwKGUpe2UuZXhwb3J0cz1bIkNsb3NlIG1lbnUiXX0sODgyNDExKGUpe2UuZXhwb3J0cz1bIkNyeXB0byJdfSwyOTk5NjYoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvY3VycmVuY3kiXX0sCjc2OTE0MChlKXtlLmV4cG9ydHM9WyJDdWJhIl19LDU4OTQxNyhlKXtlLmV4cG9ydHM9WyJDdXJhY2FvIl19LDk0NTE3MShlKXtlLmV4cG9ydHM9WyJDdXJhw6dhbyJdfSwxNDY4NChlKXtlLmV4cG9ydHM9WyJDeWFuIl19LDgzOTM5MChlKXtlLmV4cG9ydHM9WyJDeWFuIGxpc3QiXX0sMjYxOTkwKGUpe2UuZXhwb3J0cz1bIkN6ZWNoaWEiXX0sNDk4NzYyKGUpe2UuZXhwb3J0cz1bIkPDtHRlIGQnSXZvaXJlIl19LDEwNDU1MyhlKXtlLmV4cG9ydHM9WyJBbWVyaWNhbiBTYW1vYSJdfSw5OTE0NjQoZSl7ZS5leHBvcnRzPVsiQW1lcmljYXMiXX0sMjk3NTcwKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpY2EiXX0sNzQ1ODkoZSl7ZS5leHBvcnRzPVsiQW50aWd1YSBhbmQgQmFyYnVkYSJdfSw5NjUyMTMoZSl7ZS5leHBvcnRzPVsiQW5kb3JyYSJdfSw3NzcyMChlKXtlLmV4cG9ydHM9WyJBbmdvbGEiXX0sODU0OTAyKGUpe2UuZXhwb3J0cz1bIkFuZ3VpbGxhIl19LDQxODIzOChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gV2F0Y2hsaXN0Il19LDk5MzEwMShlKXtlLmV4cG9ydHM9WyJBZmdoYW5pc3RhbiJdfSw2NTAzNDQoZSl7ZS5leHBvcnRzPVsiQWZyaWNhIl19LDI4MDAyNShlKXtlLmV4cG9ydHM9WyJBbGJhbmlhIl19LDI5NjE4MShlKXtlLmV4cG9ydHM9WyJBbGdlcmlhIl19LDIzMzY5MChlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNTEzMzA4KGUpe2UuZXhwb3J0cz1bIkFsbCBjb3VudHJpZXMiXX0sMzg0MDIwKGUpe2UuZXhwb3J0cz1bIkFsbCBzb3VyY2VzIl19LDExNDc1NihlKXtlLmV4cG9ydHM9WyJBcnViYSJdfSw3Nzk5NTIoZSl7ZS5leHBvcnRzPVsiQXJtZW5pYSJdfSw2ODkxODIoZSl7ZS5leHBvcnRzPVsiQXNpYSJdfSw3NjQxNzEoZSl7ZS5leHBvcnRzPVsiQXNpYSAvIFBhY2lmaWMiXX0sNDY4MTcoZSl7ZS5leHBvcnRzPVsiQXplcmJhaWphbiJdfSw0MjUzNzgoZSl7ZS5leHBvcnRzPVsiQm90c3dhbmEiXX0sNzMwNzYzKGUpe2UuZXhwb3J0cz1bIkJvdXZldCBJc2xhbmQiXX0sOTMxMzA0KGUpe2UuZXhwb3J0cz1bIkJvbGl2aWEiXX0sNTU3MjM1KGUpe2UuZXhwb3J0cz1bIkJvbmFpcmUsIFNpbnQgRXVzdGF0aXVzIGFuZCBTYWJhIl19LDkwOTA1NChlKXtlLmV4cG9ydHM9WyJCb25kIl19LDI0MzQ2NChlKXtlLmV4cG9ydHM9WyJCb25kcyJdfSw5NzA2OTEoZSl7ZS5leHBvcnRzPVsiQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSJdfSwzMzUyNTkoZSl7ZS5leHBvcnRzPVsiQmFoYW1hcyJdfSw4MjkzODcoZSl7ZS5leHBvcnRzPVsiQmFyYmFkb3MiXX0sNTIzNTUyKGUpe2UuZXhwb3J0cz1bIkJlbGFydXMiXX0sNzg3NzAxKGUpe2UuZXhwb3J0cz1bIkJlbGl6ZSJdfSw1ODg4NDgoZSl7ZS5leHBvcnRzPVsiQmVuaW4iXX0sMzE0NzM3KGUpe2UuZXhwb3J0cz1bIkJlcm11ZGEiXX0sMjg0NDQyKGUpe2UuZXhwb3J0cz1bIkJodXRhbiJdfSw2MzgxKGUpe2UuZXhwb3J0cz1bIkJsdWUiXX0sNTczODA3KGUpe2UuZXhwb3J0cz1bIkJsdWUgbGlzdCJdfSwzOTE5MDYoZSl7ZS5leHBvcnRzPVsiQnJ1bmVpIl19LDc0NDI0NihlKXtlLmV4cG9ydHM9WyJCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkiXX0sNjUzMzQwKGUpe2UuZXhwb3J0cz1bIkJyaXRpc2ggVmlyZ2luIElzbGFuZHMiXX0sMTk4Mjk3KGUpe2UuZXhwb3J0cz1bIkJ1cmtpbmEgRmFzbyJdfSw3NTgyMihlKXtlLmV4cG9ydHM9WyJCdXJ1bmRpIl19LDc2NjYyMihlKXtlLmV4cG9ydHM9WyJHbyB0byBzeW1ib2wiXX0sMzY3NjkwKGUpe2UuZXhwb3J0cz1bIkdhYm9uIl19LDcwODc4NShlKXtlLmV4cG9ydHM9WyJHYW1iaWEiXX0sNzk1OTUxKGUpe2UuZXhwb3J0cz1bIkdlb3JnaWEiXX0sNDk4Njc5KGUpe2UuZXhwb3J0cz1bIkdoYW5hIl19LDc3MTAxNyhlKXtlLmV4cG9ydHM9WyJHaWJyYWx0YXIiXX0sNjgyNjY5KGUpe2UuZXhwb3J0cz1bIkdyZWVuIl19LDQ1OTQwMihlKXtlLmV4cG9ydHM9WyJHcmVlbiBsaXN0Il19LDMxODM5OShlKXtlLmV4cG9ydHM9WyJHcmVlbmxhbmQiXX0sNzkzMjg5KGUpe2UuZXhwb3J0cz1bIkdyZWVjZSJdfSw5MzIwODYoZSl7ZS5leHBvcnRzPVsiR3JlbmFkYSJdfSwyNDIxMTYoZSl7ZS5leHBvcnRzPVsiR3V5YW5hIl19LDE2NDg3NyhlKXtlLmV4cG9ydHM9WyJHdWFkZWxvdXBlIl19LDU0NDMyNShlKXtlLmV4cG9ydHM9WyJHdWFtIl19LDg3NzQ4NyhlKXtlLmV4cG9ydHM9WyJHdWF0ZW1hbGEiXX0sNDA4OTE2KGUpe2UuZXhwb3J0cz1bIkd1ZXJuc2V5Il19LDQzNjQ1NShlKXtlLmV4cG9ydHM9WyJHdWluZWEiXX0sMzA4MjI5KGUpe2UuZXhwb3J0cz1bIkd1aW5lYS1CaXNzYXUiXX0sOTU4OTUxKGUpe2UuZXhwb3J0cz1bIkRvaW5nIHRoaXMgd2lsbCB1bmZsYWcgYWxsIHN5bWJvbHMgZnJvbSBhbGwgeW91ciB3YXRjaGxpc3RzLiJdfSw0OTUzNjkoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHVuZmxhZyBzZWxlY3RlZCBzeW1ib2xzIGZyb20geW91ciB3YXRjaGxpc3QuIl19LDE5NDMyNihlKXtlLmV4cG9ydHM9WyJEb21pbmljYSJdfSw4MTg2MDQoZSl7ZS5leHBvcnRzPVsiRG9taW5pY2FuIFJlcHVibGljIl19LDM5Nzk4NyhlKXtlLmV4cG9ydHM9WyJEZXNjcmlwdGlvbiJdfSw1MDc3OTgoZSl7ZS5leHBvcnRzPVsiRGppYm91dGkiXX0sNDEzMzk3KGUpe2UuZXhwb3J0cz1bIkVjdWFkb3IiXX0sMTc2Mzc4KGUpe2UuZXhwb3J0cz1bIkVjb25vbXkiXX0sODgwODcyKGUpe2UuZXhwb3J0cz1bIkVsIFNhbHZhZG9yIl19LDc0NjUyNChlKXtlLmV4cG9ydHM9WyJFcXVhdG9yaWFsIEd1aW5lYSJdfSw3MzA4NzMoZSl7ZS5leHBvcnRzPVsiRXJpdHJlYSJdfSw4NzIzOChlKXtlLmV4cG9ydHM9WyJFcnJvciJdfSw4OTgzMDMoZSl7ZS5leHBvcnRzPVsiRXN3YXRpbmkiXX0sMzMxOTEoZSl7ZS5leHBvcnRzPVsiRXRoaW9waWEiXX0sOTUyMzY3KGUpe2UuZXhwb3J0cz1bIkV1cm9wZSJdfSw1MzUxNDYoZSl7ZS5leHBvcnRzPVsiRXVyb3BlYW4gVW5pb24iXX0sMjU1MDkzKGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDQ5NzU2OShlKXtlLmV4cG9ydHM9WyJGb3JleCAmIENGRCJdfSw5OTM0NzUoZSl7CmUuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMiXX0sNjA3NzIzKGUpe2UuZXhwb3J0cz1bIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKSJdfSw0NTI0ODcoZSl7ZS5leHBvcnRzPVsiRmFyb2UgSXNsYW5kcyJdfSw5NjY0NzUoZSl7ZS5leHBvcnRzPVsiRmVhdHVyZWQiXX0sMTUyNDA5KGUpe2UuZXhwb3J0cz1bIkZpamkiXX0sMzA4MzkoZSl7ZS5leHBvcnRzPVsiRmxhZyB7c3ltYm9sfSJdfSw5NzYwNzkoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIEd1aWFuYSJdfSw4NjM4MjUoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFBvbHluZXNpYSJdfSwzMjg2MDcoZSl7ZS5leHBvcnRzPVsiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzIl19LDk0MzkwMyhlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDQ4MDQ2MShlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw2NzY4NihlKXtlLmV4cG9ydHM9WyJLb3Nvdm8iXX0sMjc3NTYwKGUpe2UuZXhwb3J0cz1bIkthemFraHN0YW4iXX0sNDQ2MjkzKGUpe2UuZXhwb3J0cz1bIktpcmliYXRpIl19LDQ1ODY2MChlKXtlLmV4cG9ydHM9WyJLeXJneXpzdGFuIl19LDEyNzQ5KGUpe2UuZXhwb3J0cz1bIkhvbHkgU2VlIl19LDIwMjgxNihlKXtlLmV4cG9ydHM9WyJIb25kdXJhcyJdfSw4OTQ3MDkoZSl7ZS5leHBvcnRzPVsiSGFpdGkiXX0sMjM2MTIzKGUpe2UuZXhwb3J0cz1bIkhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyJdfSw1NjI2NjcoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSwzNzE3NDYoZSl7ZS5leHBvcnRzPVsiSXJhcSJdfSwyMDc4MjUoZSl7ZS5leHBvcnRzPVsiSXNsZSBvZiBNYW4iXX0sODQxNzk5KGUpe2UuZXhwb3J0cz1bIklzc3VlIFdpdGggRmxhZ2dpbmciXX0sNTgzMDA5KGUpe2UuZXhwb3J0cz1bIkpvcmRhbiJdfSwxNjM1KGUpe2UuZXhwb3J0cz1bIkphbWFpY2EiXX0sMTE4NTk4KGUpe2UuZXhwb3J0cz1bIkplcnNleSJdfSw0MDIzMjQoZSl7ZS5leHBvcnRzPVsiT0siXX0sMjg1MjkzKGUpe2UuZXhwb3J0cz1bIk9tYW4iXX0sMjg1MTMxKGUpe2UuZXhwb3J0cz1bIk9vcHMhIFRoZXJlJ3Mgbm90aGluZyBoZXJlIGZvciB0aGlzIHNlbGVjdGVkIG9wdGlvbiBzZXJpZXMiXX0sMTQ1MzQ4KGUpe2UuZXhwb3J0cz1bIk9rLCB0aGFua3MiXX0sNTg3NDY0KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMiXX0sOTcxMjgzKGUpe2UuZXhwb3J0cz1bIk9yYW5nZSJdfSw1MDYzMzAoZSl7ZS5leHBvcnRzPVsiT3JhbmdlIGxpc3QiXX0sOTcwOTA5KGUpe2UuZXhwb3J0cz1bIk90aGVycyJdfSw1OTExODAoZSl7ZS5leHBvcnRzPVsiTGFvcyJdfSw5NDU2MTMoZSl7ZS5leHBvcnRzPVsiTGViYW5vbiJdfSw2NTMzOTUoZSl7ZS5leHBvcnRzPVsiTGVzb3RobyJdfSw2NjIxKGUpe2UuZXhwb3J0cz1bIkxpYmVyaWEiXX0sNTU1MzUyKGUpe2UuZXhwb3J0cz1bIkxpYnlhIl19LDM4NjY2NyhlKXtlLmV4cG9ydHM9WyJMaWVjaHRlbnN0ZWluIl19LDEwMDAyNihlKXtlLmV4cG9ydHM9WyJNb3phbWJpcXVlIl19LDMyMTMzNihlKXtlLmV4cG9ydHM9WyJNb2xkb3ZhIl19LDIwODkwNChlKXtlLmV4cG9ydHM9WyJNb25hY28iXX0sOTEzNzA5KGUpe2UuZXhwb3J0cz1bIk1vbmdvbGlhIl19LDczOTM2NShlKXtlLmV4cG9ydHM9WyJNb250ZW5lZ3JvIl19LDMzMzI2MihlKXtlLmV4cG9ydHM9WyJNb250c2VycmF0Il19LDM5NDk0NyhlKXtlLmV4cG9ydHM9WyJNb3JlIl19LDY2Nzk5NihlKXtlLmV4cG9ydHM9WyJNYXVyaXRhbmlhIl19LDE1MDA1NChlKXtlLmV4cG9ydHM9WyJNYXVyaXRpdXMiXX0sNDgzMTQ5KGUpe2UuZXhwb3J0cz1bIk1heW90dGUiXX0sMzA3MDYyKGUpe2UuZXhwb3J0cz1bIk1hY2FvIl19LDUzMjI2OShlKXtlLmV4cG9ydHM9WyJNYWNhdSwgQ2hpbmEiXX0sNDU5MTA4KGUpe2UuZXhwb3J0cz1bIk1hY2Vkb25pYSJdfSw2NjAxODgoZSl7ZS5leHBvcnRzPVsiTWFkYWdhc2NhciJdfSwyNDU5NDgoZSl7ZS5leHBvcnRzPVsiTWFsYXdpIl19LDMzMTYxNShlKXtlLmV4cG9ydHM9WyJNYWxkaXZlcyJdfSw2MjM0NjUoZSl7ZS5leHBvcnRzPVsiTWFsaSJdfSw0Nzc4NDMoZSl7ZS5leHBvcnRzPVsiTWFyc2hhbGwgSXNsYW5kcyJdfSwxMzUxNTIoZSl7ZS5leHBvcnRzPVsiTWFydGluaXF1ZSJdfSw1OTgyNDcoZSl7ZS5leHBvcnRzPVsiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIl19LDI5MTA5OChlKXtlLmV4cG9ydHM9WyJNaWNyb25lc2lhIChGZWRlcmF0ZWQgU3RhdGVzIG9mKSJdfSw2ODU3NTEoZSl7ZS5leHBvcnRzPVsiTWlkZGxlIEVhc3QiXX0sNjAzMDY1KGUpe2UuZXhwb3J0cz1bIk1pZGRsZSBFYXN0IC8gQWZyaWNhIl19LDIzOTQzKGUpe2UuZXhwb3J0cz1bIk15YW5tYXIiXX0sNzQ0ODcwKGUpe2UuZXhwb3J0cz1bIk5vIGRhdGEgZm9yIHRoaXMgc3ltYm9sIl19LDQ3MjI5OShlKXtlLmV4cG9ydHM9WyJObyBleGNoYW5nZXMgbWF0Y2ggeW91ciBjcml0ZXJpYSJdfSw0MTc3NyhlKXtlLmV4cG9ydHM9WyJObyBzeW1ib2xzIG1hdGNoIHlvdXIgY3JpdGVyaWEiXX0sNjg5NzE2KGUpe2UuZXhwb3J0cz1bIk5vcnRoIEFtZXJpY2EiXX0sNzI5NzgyKGUpe2UuZXhwb3J0cz1bIk5vcnRoIE1hY2Vkb25pYSJdfSw2MTI1NTcoZSl7ZS5leHBvcnRzPVsiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIl19LDQ3MzQzNyhlKXtlLmV4cG9ydHM9WyJOYXVydSJdfSw1NzA2MTgoZSl7ZS5leHBvcnRzPVsiTmFtaWJpYSJdfSwyNDk1ODgoZSl7ZS5leHBvcnRzPVsiTmV3IENhbGVkb25pYSJdfSw0NzEyODgoZSl7ZS5leHBvcnRzPVsiTmVwYWwiXX0sOTA3NDcwKGUpe2UuZXhwb3J0cz1bIk5pdWUiXX0sNjIzNDQwKGUpe2UuZXhwb3J0cz1bIk5pY2FyYWd1YSJdfSw1OTIxODkoZSl7ZS5leHBvcnRzPVsiTmlnZXIiXX0sNzk1MDIxKGUpe2UuZXhwb3J0cz1bIlNJTlQgTUFBUlRFTiAoRFVUQ0ggUEFSVCkiXX0sNDg2NzE0KGUpe2UuZXhwb3J0cz1bIlNvdXJjZXMiXX0sNDQ3ODU0KGUpe2UuZXhwb3J0cz1bIlNvdXRoIEdlb3JnaWEgYW5kIHRoZSBTb3V0aCBTYW5kd2ljaCBJc2xhbmRzIl19LDQ1NzE4NihlKXtlLmV4cG9ydHM9WyJTb3V0aCBTdWRhbiJdfSwxODE3OChlKXsKZS5leHBvcnRzPVsiU29sb21vbiBJc2xhbmRzIl19LDYwMDU3KGUpe2UuZXhwb3J0cz1bIlNvbWFsaWEiXX0sMTk5NDgzKGUpe2UuZXhwb3J0cz1bIlNhaW50IEJhcnRow6lsZW15Il19LDU3Njk3NShlKXtlLmV4cG9ydHM9WyJTYWludCBLaXR0cyBhbmQgTmV2aXMiXX0sOTU1ODM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IEhlbGVuYSwgQXNjZW5zaW9uIGFuZCBUcmlzdGFuIGRhIEN1bmhhIl19LDI1ODMxMShlKXtlLmV4cG9ydHM9WyJTYWludCBMdWNpYSJdfSw0MjUwNjQoZSl7ZS5leHBvcnRzPVsiU2FpbnQgTWFydGluIChGcmVuY2ggcGFydCkiXX0sNzk3MDM1KGUpe2UuZXhwb3J0cz1bIlNhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24iXX0sNjIyNjEzKGUpe2UuZXhwb3J0cz1bIlNhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzIl19LDU5ODk2MyhlKXtlLmV4cG9ydHM9WyJTYW1vYSJdfSw5OTk3NjIoZSl7ZS5leHBvcnRzPVsiU2FuIE1hcmlubyJdfSwyNzkzODIoZSl7ZS5leHBvcnRzPVsiU2FvIFRvbWUgYW5kIFByaW5jaXBlIl19LDUwNjkxNShlKXtlLmV4cG9ydHM9WyJTZXQge2NvbG9yfSBmbGFnIl19LDQyMDgyMShlKXtlLmV4cG9ydHM9WyJTZXljaGVsbGVzIl19LDM1MjEyNyhlKXtlLmV4cG9ydHM9WyJTZWFyY2giXX0sNDc5MjQ2KGUpe2UuZXhwb3J0cz1bIlNlbGVjdCBzb3VyY2UiXX0sMjI0Mjg5KGUpe2UuZXhwb3J0cz1bIlNlbmVnYWwiXX0sNTg5MDcyKGUpe2UuZXhwb3J0cz1bIlNob3cgdGhlIG1hcmtldHMgeW91IGNhbiBwbGFjZSBhbiBvcmRlciB3aXRoIHticm9rZXJOYW1lfSJdfSw2MjE0MzAoZSl7ZS5leHBvcnRzPVsiU2hvdyBtZSJdfSwxNjQ5OTIoZSl7ZS5leHBvcnRzPVsiU2llcnJhIExlb25lIl19LDczNjQwKGUpe2UuZXhwb3J0cz1bIlNpbnQgTWFhcnRlbiAoRHV0Y2ggcGFydCkiXX0sNTIyMDE0KGUpe2UuZXhwb3J0cz1bIlN0b2NrcyJdfSw5NzQ0MDQoZSl7ZS5leHBvcnRzPVsiU3VkYW4iXX0sODE4ODM3KGUpe2UuZXhwb3J0cz1bIlN1cmluYW1lIl19LDk3MzkxNShlKXtlLmV4cG9ydHM9WyJTdmFsYmFyZCBhbmQgSmFuIE1heWVuIl19LDYxMzE2MyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wiXX0sMTAwMzczKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCAmIGRlc2NyaXB0aW9uIl19LDQwNjAxMyhlKXtlLmV4cG9ydHM9WyJTeW1ib2wgbm90IGZvdW5kIG9uIHtleGNoYW5nZU5hbWV9Il19LDk2MTYxNChlKXtlLmV4cG9ydHM9WyJTeW1ib2wgZ3JvdXAiXX0sMjEzMjk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCwgSVNJTiwgb3IgQ1VTSVAiXX0sMjcxODQwKGUpe2UuZXhwb3J0cz1bIlN5bWJvbHMgbm90IGZvdW5kIGluIHtzeW1ib2xUeXBlfSJdfSw0ODg1OTkoZSl7ZS5leHBvcnRzPVsiU3ltYm9scyBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IG9uIHtleGNoYW5nZU5hbWV9Il19LDQ2NTYwNihlKXtlLmV4cG9ydHM9WyJTeW1ib2xzIG5vdCBmb3VuZCBpbiB7c3ltYm9sVHlwZX0gd2l0aCBzdWNoIGNyaXRlcmlhIl19LDI3NDQ4NShlKXtlLmV4cG9ydHM9WyJTeXJpYSJdfSw5OTA1NzUoZSl7ZS5leHBvcnRzPVsiUGFjaWZpYyJdfSw3OTg0NzYoZSl7ZS5leHBvcnRzPVsiUGFsYXUiXX0sNjk4MDgzKGUpe2UuZXhwb3J0cz1bIlBhbGVzdGluZSwgU3RhdGUgb2YiXX0sMTAwNzI5KGUpe2UuZXhwb3J0cz1bIlBhbmFtYSJdfSw3MjU2OTcoZSl7ZS5leHBvcnRzPVsiUGFwdWEgTmV3IEd1aW5lYSJdfSw0MjAxMzUoZSl7ZS5leHBvcnRzPVsiUGFyYWd1YXkiXX0sMzg0MzgyKGUpe2UuZXhwb3J0cz1bIlBpdGNhaXJuIl19LDY3Njc2OChlKXtlLmV4cG9ydHM9WyJQaW5rIl19LDk0MTk4NihlKXtlLmV4cG9ydHM9WyJQaW5rIGxpc3QiXX0sNTUyMDk1KGUpe2UuZXhwb3J0cz1bIlByaW1hcnkgZXhjaGFuZ2UiXX0sODQzMzI3KGUpe2UuZXhwb3J0cz1bIlB1ZXJ0byBSaWNvIl19LDY3MDkyMyhlKXtlLmV4cG9ydHM9WyJQdXJwbGUiXX0sOTA3ODc0KGUpe2UuZXhwb3J0cz1bIlB1cnBsZSBsaXN0Il19LDY1NTA0MihlKXtlLmV4cG9ydHM9WyJSZWQiXX0sMTY1NTAxKGUpe2UuZXhwb3J0cz1bIlJlZCBsaXN0Il19LDk2ODA0NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgZnJvbSBXYXRjaGxpc3QiXX0sNzU0MzgyKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSBzZWxlY3RlZCBlbW9qaSJdfSw5MjQzMjgoZSl7ZS5leHBvcnRzPVsiUmVzZXQgYWxsIGZpbHRlcnMiXX0sOTcyMTczKGUpe2UuZXhwb3J0cz1bIlJlc2V0IHNvbWUgY3JpdGVyaWEgdG8gc2hvdyBzeW1ib2xzIGluIHtzeW1ib2xUeXBlfSJdfSw5MzQ4ODMoZSl7ZS5leHBvcnRzPVsiUnVzc2lhIl19LDc1ODI5NyhlKXtlLmV4cG9ydHM9WyJSd2FuZGEiXX0sODcyNjgwKGUpe2UuZXhwb3J0cz1bIlLDqXVuaW9uIl19LDUxMzk1MyhlKXtlLmV4cG9ydHM9WyJXb3JsZHdpZGUiXX0sNTY2OTQ4KGUpe2UuZXhwb3J0cz1bIldhdGNobGlzdCBjYW5ub3QgdGFrZSBhbnltb3JlLCBDYXAnbiJdfSwzODIwMjUoZSl7ZS5leHBvcnRzPVsiV2F0Y2hsaXN0IGVycm9yIl19LDU5MDUwNShlKXtlLmV4cG9ydHM9WyJXYWxsaXMgYW5kIEZ1dHVuYSJdfSw4ODEyNzcoZSl7ZS5leHBvcnRzPVsiV2VzdGVybiBTYWhhcmEiXX0sMzI4ODI4KGUpe2UuZXhwb3J0cz1bIldob2EgdGhlcmUsIHlvdSBjYW4ndCBnbyBhZGRpbmcgb3ZlciB7bnVtYmVyfSBzeW1ib2xzIGFuZCBzZXBhcmF0b3JzIHRvIGEgd2F0Y2hsaXN0IOKAkyB3ZSdyZSBlbmdpbmVlcnMgbm90IG1pcmFjbGUgd29ya2Vycy4iXX0sNjE0NDUwKGUpe2UuZXhwb3J0cz1bIlRvZGF5Il19LDgzMjQ0OChlKXtlLmV4cG9ydHM9WyJUb2dvIl19LDk0MDQ4MyhlKXtlLmV4cG9ydHM9WyJUb21vcnJvdyJdfSwyNTA1NTUoZSl7ZS5leHBvcnRzPVsiVG9uZ2EiXX0sOTY4NDU4KGUpe2UuZXhwb3J0cz1bIlRhamlraXN0YW4iXX0sNDk4MTgzKGUpe2UuZXhwb3J0cz1bIlRhbnphbmlhIl19LDgwMzA1MShlKXtlLmV4cG9ydHM9WyJUaW1vci1MZXN0ZSJdfSwzMzU2NzMoZSl7ZS5leHBvcnRzPVsiVHJ5IGFnYWluIGJ5IHNlbGVjdGluZyBhbm90aGVyIGV4cGlyYXRpb24gZGF0ZS4iXX0sOTg0MjM2KGUpewplLmV4cG9ydHM9WyJUcnkgc2VsZWN0aW5nIGFub3RoZXIgc3ltYm9sLiJdfSwzMTQ4NyhlKXtlLmV4cG9ydHM9WyJUcmluaWRhZCBhbmQgVG9iYWdvIl19LDQzMDEzNChlKXtlLmV4cG9ydHM9WyJUdXZhbHUiXX0sNzM1NjgzKGUpe2UuZXhwb3J0cz1bIlR1cmttZW5pc3RhbiJdfSw5NzA2MjQoZSl7ZS5leHBvcnRzPVsiVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIl19LDE5MjkxMChlKXtlLmV4cG9ydHM9WyJUeXBlIHRvIHNlYXJjaCBmb3Igc3ltYm9sIl19LDQzMTM3NyhlKXtlLmV4cG9ydHM9WyJVLlMuIFZpcmdpbiBJc2xhbmRzIl19LDg2MDcyMihlKXtlLmV4cG9ydHM9WyJVbmFibGUgdG8gZmxhZyBhbGwgc2VsZWN0ZWQgc3ltYm9scyBzaW5jZSBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFtb3VudCAoe2xpbWl0fSkuIl19LDMzMjc1MyhlKXtlLmV4cG9ydHM9WyJVbmZsYWcgQWxsIFN5bWJvbHMgaW4gdGhlIFN5c3RlbSJdfSw2OTIxKGUpe2UuZXhwb3J0cz1bIlVuZmxhZyB7c3ltYm9sfSJdfSw5Njc5NDEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyJdfSw3MzY3OTkoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIl19LDU4ODY5MyhlKXtlLmV4cG9ydHM9WyJVZ2FuZGEiXX0sMzE3NDc1KGUpe2UuZXhwb3J0cz1bIlVrcmFpbmUiXX0sOTI4NTUzKGUpe2UuZXhwb3J0cz1bIlVydWd1YXkiXX0sNTQyNjA5KGUpe2UuZXhwb3J0cz1bIlVzZSB0aGUgYXJyb3dzIG9yIG1vdXNlIHRvIG5hdmlnYXRlIHRocm91Z2ggdGhlIGNoYWluLiBQcmVzcyBFbnRlciBvciBjbGljayB0byBzZWxlY3QgYW5kIG9wZW4gdGhlIGNoYXJ0LiJdfSw3ODM5NzAoZSl7ZS5leHBvcnRzPVsiVXpiZWtpc3RhbiJdfSw0MTYyNTcoZSl7ZS5leHBvcnRzPVsiVmFudWF0dSJdfSw0MjMyMDYoZSl7ZS5leHBvcnRzPVsiVmlyZ2luIElzbGFuZHMgKEJyaXRpc2gpIl19LDMwMTIyOShlKXtlLmV4cG9ydHM9WyJWaXJnaW4gSXNsYW5kcyAoVS5TLikiXX0sNDA5Mzg0KGUpe2UuZXhwb3J0cz1bIlllbWVuIl19LDk2NTU3MyhlKXtlLmV4cG9ydHM9WyJZZXN0ZXJkYXkiXX0sODY3MzkzKGUpe2UuZXhwb3J0cz1bIlphbWJpYSJdfSw5NTkxNTUoZSl7ZS5leHBvcnRzPVsiWmltYmFid2UiXX0sNzYyOTIyKGUpe2UuZXhwb3J0cz1bImNvbW1vZGl0eSJdfSwyMDgwMTcoZSl7ZS5leHBvcnRzPVsiY2ZkIl19LDk5MTA1OShlKXtlLmV4cG9ydHM9WyJjcnlwdG8iXX0sOTc0MjY0KGUpe2UuZXhwb3J0cz1bImRyIl19LDk5Njg4MihlKXtlLmV4cG9ydHM9WyJlY29ub215Il19LDg3MzU5NyhlKXtlLmV4cG9ydHM9WyJmb3JleCJdfSw4MDY3MjcoZSl7ZS5leHBvcnRzPVsiZnV0dXJlcyJdfSw2NTg5MjYoZSl7ZS5leHBvcnRzPVsiaW5kZXgiXX0sMTUxNjEoZSl7ZS5leHBvcnRzPVsiaW5kaWNlcyJdfSwzNjQ2MjUoZSl7ZS5leHBvcnRzPVsic3RvY2siXX0sOTAxNTI3KGUpe2UuZXhwb3J0cz1bIntzeW1ib2xOYW1lfSBPcHRpb25zIl19LDUzNDEzMihlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9Il19LDIwMzA4NShlKXtlLmV4cG9ydHM9WyJ7c3ltYm9sfSBub3QgZm91bmQgaW4ge3N5bWJvbFR5cGV9IHdpdGggc3VjaCBjcml0ZXJpYSJdfSw5MDY1NTQoZSl7ZS5leHBvcnRzPVsiw4VsYW5kIElzbGFuZHMiXX0sNTUwMjYoZSl7ZS5leHBvcnRzPVsiJWQgZGF5IiwiJWQgZGF5cyJdfSwxNjk4MyhlKXtlLmV4cG9ydHM9WyJEb2luZyB0aGlzIHdpbGwgcmVtb3ZlIHtjb3VudH0gc2VsZWN0ZWQgc3ltYm9sIGZyb20geW91ciB3YXRjaGxpc3QuIiwiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB7Y291bnR9IHNlbGVjdGVkIHN5bWJvbHMgZnJvbSB5b3VyIHdhdGNobGlzdC4iXX0sNDM4Nzc1KGUpe2UuZXhwb3J0cz1bIlRoZXJlIGlzIGFsc28ge2NvdW50fSBzeW1ib2wgaW4gb3RoZXIgbWFya2V0cyIsIlRoZXJlIGFyZSBhbHNvIHtjb3VudH0gc3ltYm9scyBpbiBvdGhlciBtYXJrZXRzIl19LDEwMTIyOChlKXtlLmV4cG9ydHM9WyJ7bWF0Y2hpbmdDb3VudH0gbWF0Y2hpbmcgc3ltYm9sIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyIsInttYXRjaGluZ0NvdW50fSBtYXRjaGluZyBzeW1ib2xzIGZvdW5kIHdpdGggb3RoZXIgZmlsdGVycyJdfX1dKTs="}},"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":"nanoquantumstellarsledger.com/frontcss/assets/ion.rangeSlider.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.059Z","timestamp":1785139582059,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/ion.rangeSlider.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 12842\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":84569,"size_decoded":13080,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"bf10d48730af5451be9744de8971d854","sha1":"34b7e38640b3deca95be2281a8e90e4de178a203","sha256":"47c85748d9daf28a80f7fb8fbad684a57acf4181830b0569d17e03e7c48473a3","sha512":"02b49c73e7d438ee7bd1ebfb23dd7860a4322ef5bf6361434040644ee8da0645c5d3c9e0b47660cda7b62d20db2d5244f574bbcd3c04bfe19b270686bd086ca6","ssdeep":"1536:1bWQ0NvxsBzGy1yrruWOU1xdmchAxdmoVG6AC:1SvxshGfhyVG6l","tlshash":"0283fe4a1bfb2251c52360a85f8f020ab635911f6a07d96c3d7cc3d85f9973852baf78","first_seen":"2025-11-23T04:10:48.036845Z","last_seen":"2026-07-27T09:11:27.32037Z","times_seen":7,"resource_available":true,"data":"Ly8gSW9uLlJhbmdlU2xpZGVyCi8vIHZlcnNpb24gMi4yLjAgQnVpbGQ6IDM4MAovLyDDgsKpIERlbmlzIEluZXNoaW4sIDIwMTcKLy8gaHR0cHM6Ly9naXRodWIuY29tL0lvbkRlbgovLwovLyBQcm9qZWN0IHBhZ2U6ICAgIGh0dHA6Ly9pb25kZW4uY29tL2EvcGx1Z2lucy9pb24ucmFuZ2VTbGlkZXIvZW4uaHRtbAovLyBHaXRIdWIgcGFnZTogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9Jb25EZW4vaW9uLnJhbmdlU2xpZGVyCi8vCi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbmNlOgovLyBodHRwOi8vaW9uZGVuLmNvbS9hL3BsdWdpbnMvbGljZW5jZS1lbi5odG1sCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKOyhmdW5jdGlvbihmYWN0b3J5KSB7CiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gImZ1bmN0aW9uIiAmJiBkZWZpbmUuYW1kKSB7CiAgICAgICAgZGVmaW5lKFsianF1ZXJ5Il0sIGZ1bmN0aW9uIChqUXVlcnkpIHsKICAgICAgICAgICAgcmV0dXJuIGZhY3RvcnkoalF1ZXJ5LCBkb2N1bWVudCwgd2luZG93LCBuYXZpZ2F0b3IpOwogICAgICAgIH0pOwogICAgfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gIm9iamVjdCIpIHsKICAgICAgICBmYWN0b3J5KHJlcXVpcmUoImpxdWVyeSIpLCBkb2N1bWVudCwgd2luZG93LCBuYXZpZ2F0b3IpOwogICAgfSBlbHNlIHsKICAgICAgICBmYWN0b3J5KGpRdWVyeSwgZG9jdW1lbnQsIHdpbmRvdywgbmF2aWdhdG9yKTsKICAgIH0KfSAoZnVuY3Rpb24gKCQsIGRvY3VtZW50LCB3aW5kb3csIG5hdmlnYXRvciwgdW5kZWZpbmVkKSB7CiAgICAidXNlIHN0cmljdCI7CgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBTZXJ2aWNlCgogICAgdmFyIHBsdWdpbl9jb3VudCA9IDA7CgogICAgLy8gSUU4IGZpeAogICAgdmFyIGlzX29sZF9pZSA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIG4gPSBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICByID0gL21zaWVcc1xkKy9pLAogICAgICAgICAgICB2OwogICAgICAgIGlmIChuLnNlYXJjaChyKSA+IDApIHsKICAgICAgICAgICAgdiA9IHIuZXhlYyhuKS50b1N0cmluZygpOwogICAgICAgICAgICB2ID0gdi5zcGxpdCgiICIpWzFdOwogICAgICAgICAgICBpZiAodiA8IDkpIHsKICAgICAgICAgICAgICAgICQoImh0bWwiKS5hZGRDbGFzcygibHQtaWU5Iik7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9ICgpKTsKICAgIGlmICghRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpIHsKICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIGJpbmQodGhhdCkgewoKICAgICAgICAgICAgdmFyIHRhcmdldCA9IHRoaXM7CiAgICAgICAgICAgIHZhciBzbGljZSA9IFtdLnNsaWNlOwoKICAgICAgICAgICAgaWYgKHR5cGVvZiB0YXJnZXQgIT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgYXJncyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSwKICAgICAgICAgICAgICAgIGJvdW5kID0gZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcyBpbnN0YW5jZW9mIGJvdW5kKSB7CgogICAgICAgICAgICAgICAgICAgICAgICB2YXIgRiA9IGZ1bmN0aW9uKCl7fTsKICAgICAgICAgICAgICAgICAgICAgICAgRi5wcm90b3R5cGUgPSB0YXJnZXQucHJvdG90eXBlOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZiA9IG5ldyBGKCk7CgogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gdGFyZ2V0LmFwcGx5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdChyZXN1bHQpID09PSByZXN1bHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGY7CgogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuY29uY2F0KHNsaWNlLmNhbGwoYXJndW1lbnRzKSkKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICByZXR1cm4gYm91bmQ7CiAgICAgICAgfTsKICAgIH0KICAgIGlmICghQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHsKICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uKHNlYXJjaEVsZW1lbnQsIGZyb21JbmRleCkgewogICAgICAgICAgICB2YXIgazsKICAgICAgICAgICAgaWYgKHRoaXMgPT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignInRoaXMiIGlzIG51bGwgb3Igbm90IGRlZmluZWQnKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgTyA9IE9iamVjdCh0aGlzKTsKICAgICAgICAgICAgdmFyIGxlbiA9IE8ubGVuZ3RoID4+PiAwOwogICAgICAgICAgICBpZiAobGVuID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFyIG4gPSArZnJvbUluZGV4IHx8IDA7CiAgICAgICAgICAgIGlmIChNYXRoLmFicyhuKSA9PT0gSW5maW5pdHkpIHsKICAgICAgICAgICAgICAgIG4gPSAwOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChuID49IGxlbikgewogICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGsgPSBNYXRoLm1heChuID49IDAgPyBuIDogbGVuIC0gTWF0aC5hYnMobiksIDApOwogICAgICAgICAgICB3aGlsZSAoayA8IGxlbikgewogICAgICAgICAgICAgICAgaWYgKGsgaW4gTyAmJiBPW2tdID09PSBzZWFyY2hFbGVtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH07CiAgICB9CgoKCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gVGVtcGxhdGUKCiAgICB2YXIgYmFzZV9odG1sID0KICAgICAgICAnPHNwYW4gY2xhc3M9ImlycyI+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtbGluZSIgdGFiaW5kZXg9IjAiPjxzcGFuIGNsYXNzPSJpcnMtbGluZS1sZWZ0Ij48L3NwYW4+PHNwYW4gY2xhc3M9Imlycy1saW5lLW1pZCI+PC9zcGFuPjxzcGFuIGNsYXNzPSJpcnMtbGluZS1yaWdodCI+PC9zcGFuPjwvc3Bhbj4nICsKICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1taW4iPjA8L3NwYW4+PHNwYW4gY2xhc3M9Imlycy1tYXgiPjE8L3NwYW4+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtZnJvbSI+MDwvc3Bhbj48c3BhbiBjbGFzcz0iaXJzLXRvIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJpcnMtc2luZ2xlIj4wPC9zcGFuPicgKwogICAgICAgICc8L3NwYW4+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtZ3JpZCI+PC9zcGFuPicgKwogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLWJhciI+PC9zcGFuPic7CgogICAgdmFyIHNpbmdsZV9odG1sID0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1iYXItZWRnZSI+PC9zcGFuPicgKwogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLXNoYWRvdyBzaGFkb3ctc2luZ2xlIj48L3NwYW4+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtc2xpZGVyIHNpbmdsZSI+PC9zcGFuPic7CgogICAgdmFyIGRvdWJsZV9odG1sID0KICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zaGFkb3cgc2hhZG93LWZyb20iPjwvc3Bhbj4nICsKICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zaGFkb3cgc2hhZG93LXRvIj48L3NwYW4+JyArCiAgICAgICAgJzxzcGFuIGNsYXNzPSJpcnMtc2xpZGVyIGZyb20iPjwvc3Bhbj4nICsKICAgICAgICAnPHNwYW4gY2xhc3M9Imlycy1zbGlkZXIgdG8iPjwvc3Bhbj4nOwoKICAgIHZhciBkaXNhYmxlX2h0bWwgPQogICAgICAgICc8c3BhbiBjbGFzcz0iaXJzLWRpc2FibGUtbWFzayI+PC9zcGFuPic7CgoKCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgLy8gQ29yZQoKICAgIC8qKgogICAgICogTWFpbiBwbHVnaW4gY29uc3RydWN0b3IKICAgICAqCiAgICAgKiBAcGFyYW0gaW5wdXQge09iamVjdH0gbGluayB0byBiYXNlIGlucHV0IGVsZW1lbnQKICAgICAqIEBwYXJhbSBvcHRpb25zIHtPYmplY3R9IHNsaWRlciBjb25maWcKICAgICAqIEBwYXJhbSBwbHVnaW5fY291bnQge051bWJlcn0KICAgICAqIEBjb25zdHJ1Y3RvcgogICAgICovCiAgICB2YXIgSW9uUmFuZ2VTbGlkZXIgPSBmdW5jdGlvbiAoaW5wdXQsIG9wdGlvbnMsIHBsdWdpbl9jb3VudCkgewogICAgICAgIHRoaXMuVkVSU0lPTiA9ICIyLjIuMCI7CiAgICAgICAgdGhpcy5pbnB1dCA9IGlucHV0OwogICAgICAgIHRoaXMucGx1Z2luX2NvdW50ID0gcGx1Z2luX2NvdW50OwogICAgICAgIHRoaXMuY3VycmVudF9wbHVnaW4gPSAwOwogICAgICAgIHRoaXMuY2FsY19jb3VudCA9IDA7CiAgICAgICAgdGhpcy51cGRhdGVfdG0gPSAwOwogICAgICAgIHRoaXMub2xkX2Zyb20gPSAwOwogICAgICAgIHRoaXMub2xkX3RvID0gMDsKICAgICAgICB0aGlzLm9sZF9taW5faW50ZXJ2YWwgPSBudWxsOwogICAgICAgIHRoaXMucmFmX2lkID0gbnVsbDsKICAgICAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7CiAgICAgICAgdGhpcy5mb3JjZV9yZWRyYXcgPSBmYWxzZTsKICAgICAgICB0aGlzLm5vX2RpYXBhc29uID0gZmFsc2U7CiAgICAgICAgdGhpcy5oYXNfdGFiX2luZGV4ID0gdHJ1ZTsKICAgICAgICB0aGlzLmlzX2tleSA9IGZhbHNlOwogICAgICAgIHRoaXMuaXNfdXBkYXRlID0gZmFsc2U7CiAgICAgICAgdGhpcy5pc19zdGFydCA9IHRydWU7CiAgICAgICAgdGhpcy5pc19maW5pc2ggPSBmYWxzZTsKICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9IGZhbHNlOwogICAgICAgIHRoaXMuaXNfcmVzaXplID0gZmFsc2U7CiAgICAgICAgdGhpcy5pc19jbGljayA9IGZhbHNlOwoKICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCiAgICAgICAgLy8gY2FjaGUgZm9yIGxpbmtzIHRvIGFsbCBET00gZWxlbWVudHMKICAgICAgICB0aGlzLiRjYWNoZSA9IHsKICAgICAgICAgICAgd2luOiAkKHdpbmRvdyksCiAgICAgICAgICAgIGJvZHk6ICQoZG9jdW1lbnQuYm9keSksCiAgICAgICAgICAgIGlucHV0OiAkKGlucHV0KSwKICAgICAgICAgICAgY29udDogbnVsbCwKICAgICAgICAgICAgcnM6IG51bGwsCiAgICAgICAgICAgIG1pbjogbnVsbCwKICAgICAgICAgICAgbWF4OiBudWxsLAogICAgICAgICAgICBmcm9tOiBudWxsLAogICAgICAgICAgICB0bzogbnVsbCwKICAgICAgICAgICAgc2luZ2xlOiBudWxsLAogICAgICAgICAgICBiYXI6IG51bGwsCiAgICAgICAgICAgIGxpbmU6IG51bGwsCiAgICAgICAgICAgIHNfc2luZ2xlOiBudWxsLAogICAgICAgICAgICBzX2Zyb206IG51bGwsCiAgICAgICAgICAgIHNfdG86IG51bGwsCiAgICAgICAgICAgIHNoYWRfc2luZ2xlOiBudWxsLAogICAgICAgICAgICBzaGFkX2Zyb206IG51bGwsCiAgICAgICAgICAgIHNoYWRfdG86IG51bGwsCiAgICAgICAgICAgIGVkZ2U6IG51bGwsCiAgICAgICAgICAgIGdyaWQ6IG51bGwsCiAgICAgICAgICAgIGdyaWRfbGFiZWxzOiBbXQogICAgICAgIH07CgogICAgICAgIC8vIHN0b3JhZ2UgZm9yIG1lYXN1cmUgdmFyaWFibGVzCiAgICAgICAgdGhpcy5jb29yZHMgPSB7CiAgICAgICAgICAgIC8vIGxlZnQKICAgICAgICAgICAgeF9nYXA6IDAsCiAgICAgICAgICAgIHhfcG9pbnRlcjogMCwKCiAgICAgICAgICAgIC8vIHdpZHRoCiAgICAgICAgICAgIHdfcnM6IDAsCiAgICAgICAgICAgIHdfcnNfb2xkOiAwLAogICAgICAgICAgICB3X2hhbmRsZTogMCwKCiAgICAgICAgICAgIC8vIHBlcmNlbnRzCiAgICAgICAgICAgIHBfZ2FwOiAwLAogICAgICAgICAgICBwX2dhcF9sZWZ0OiAwLAogICAgICAgICAgICBwX2dhcF9yaWdodDogMCwKICAgICAgICAgICAgcF9zdGVwOiAwLAogICAgICAgICAgICBwX3BvaW50ZXI6IDAsCiAgICAgICAgICAgIHBfaGFuZGxlOiAwLAogICAgICAgICAgICBwX3NpbmdsZV9mYWtlOiAwLAogICAgICAgICAgICBwX3NpbmdsZV9yZWFsOiAwLAogICAgICAgICAgICBwX2Zyb21fZmFrZTogMCwKICAgICAgICAgICAgcF9mcm9tX3JlYWw6IDAsCiAgICAgICAgICAgIHBfdG9fZmFrZTogMCwKICAgICAgICAgICAgcF90b19yZWFsOiAwLAogICAgICAgICAgICBwX2Jhcl94OiAwLAogICAgICAgICAgICBwX2Jhcl93OiAwLAoKICAgICAgICAgICAgLy8gZ3JpZAogICAgICAgICAgICBncmlkX2dhcDogMCwKICAgICAgICAgICAgYmlnX251bTogMCwKICAgICAgICAgICAgYmlnOiBbXSwKICAgICAgICAgICAgYmlnX3c6IFtdLAogICAgICAgICAgICBiaWdfcDogW10sCiAgICAgICAgICAgIGJpZ194OiBbXQogICAgICAgIH07CgogICAgICAgIC8vIHN0b3JhZ2UgZm9yIGxhYmVscyBtZWFzdXJlIHZhcmlhYmxlcwogICAgICAgIHRoaXMubGFiZWxzID0gewogICAgICAgICAgICAvLyB3aWR0aAogICAgICAgICAgICB3X21pbjogMCwKICAgICAgICAgICAgd19tYXg6IDAsCiAgICAgICAgICAgIHdfZnJvbTogMCwKICAgICAgICAgICAgd190bzogMCwKICAgICAgICAgICAgd19zaW5nbGU6IDAsCgogICAgICAgICAgICAvLyBwZXJjZW50cwogICAgICAgICAgICBwX21pbjogMCwKICAgICAgICAgICAgcF9tYXg6IDAsCiAgICAgICAgICAgIHBfZnJvbV9mYWtlOiAwLAogICAgICAgICAgICBwX2Zyb21fbGVmdDogMCwKICAgICAgICAgICAgcF90b19mYWtlOiAwLAogICAgICAgICAgICBwX3RvX2xlZnQ6IDAsCiAgICAgICAgICAgIHBfc2luZ2xlX2Zha2U6IDAsCiAgICAgICAgICAgIHBfc2luZ2xlX2xlZnQ6IDAKICAgICAgICB9OwoKCgogICAgICAgIC8qKgogICAgICAgICAqIGdldCBhbmQgdmFsaWRhdGUgY29uZmlnCiAgICAgICAgICovCiAgICAgICAgdmFyICRpbnAgPSB0aGlzLiRjYWNoZS5pbnB1dCwKICAgICAgICAgICAgdmFsID0gJGlucC5wcm9wKCJ2YWx1ZSIpLAogICAgICAgICAgICBjb25maWcsIGNvbmZpZ19mcm9tX2RhdGEsIHByb3A7CgogICAgICAgIC8vIGRlZmF1bHQgY29uZmlnCiAgICAgICAgY29uZmlnID0gewogICAgICAgICAgICB0eXBlOiAic2luZ2xlIiwKCiAgICAgICAgICAgIG1pbjogMTAsCiAgICAgICAgICAgIG1heDogMTAwLAogICAgICAgICAgICBmcm9tOiBudWxsLAogICAgICAgICAgICB0bzogbnVsbCwKICAgICAgICAgICAgc3RlcDogMSwKCiAgICAgICAgICAgIG1pbl9pbnRlcnZhbDogMCwKICAgICAgICAgICAgbWF4X2ludGVydmFsOiAwLAogICAgICAgICAgICBkcmFnX2ludGVydmFsOiBmYWxzZSwKCiAgICAgICAgICAgIHZhbHVlczogW10sCiAgICAgICAgICAgIHBfdmFsdWVzOiBbXSwKCiAgICAgICAgICAgIGZyb21fZml4ZWQ6IGZhbHNlLAogICAgICAgICAgICBmcm9tX21pbjogbnVsbCwKICAgICAgICAgICAgZnJvbV9tYXg6IG51bGwsCiAgICAgICAgICAgIGZyb21fc2hhZG93OiBmYWxzZSwKCiAgICAgICAgICAgIHRvX2ZpeGVkOiBmYWxzZSwKICAgICAgICAgICAgdG9fbWluOiBudWxsLAogICAgICAgICAgICB0b19tYXg6IG51bGwsCiAgICAgICAgICAgIHRvX3NoYWRvdzogZmFsc2UsCgogICAgICAgICAgICBwcmV0dGlmeV9lbmFibGVkOiB0cnVlLAogICAgICAgICAgICBwcmV0dGlmeV9zZXBhcmF0b3I6ICIgIiwKICAgICAgICAgICAgcHJldHRpZnk6IG51bGwsCgogICAgICAgICAgICBmb3JjZV9lZGdlczogZmFsc2UsCgogICAgICAgICAgICBrZXlib2FyZDogdHJ1ZSwKCiAgICAgICAgICAgIGdyaWQ6IGZhbHNlLAogICAgICAgICAgICBncmlkX21hcmdpbjogdHJ1ZSwKICAgICAgICAgICAgZ3JpZF9udW06IDQsCiAgICAgICAgICAgIGdyaWRfc25hcDogZmFsc2UsCgogICAgICAgICAgICBoaWRlX21pbl9tYXg6IGZhbHNlLAogICAgICAgICAgICBoaWRlX2Zyb21fdG86IGZhbHNlLAoKICAgICAgICAgICAgcHJlZml4OiAiIiwKICAgICAgICAgICAgcG9zdGZpeDogIiIsCiAgICAgICAgICAgIG1heF9wb3N0Zml4OiAiIiwKICAgICAgICAgICAgZGVjb3JhdGVfYm90aDogdHJ1ZSwKICAgICAgICAgICAgdmFsdWVzX3NlcGFyYXRvcjogIiDDouKCrOKAnSAiLAoKICAgICAgICAgICAgaW5wdXRfdmFsdWVzX3NlcGFyYXRvcjogIjsiLAoKICAgICAgICAgICAgZGlzYWJsZTogZmFsc2UsCiAgICAgICAgICAgIGJsb2NrOiBmYWxzZSwKCiAgICAgICAgICAgIGV4dHJhX2NsYXNzZXM6ICIiLAoKICAgICAgICAgICAgc2NvcGU6IG51bGwsCiAgICAgICAgICAgIG9uU3RhcnQ6IG51bGwsCiAgICAgICAgICAgIG9uQ2hhbmdlOiBudWxsLAogICAgICAgICAgICBvbkZpbmlzaDogbnVsbCwKICAgICAgICAgICAgb25VcGRhdGU6IG51bGwKICAgICAgICB9OwoKCiAgICAgICAgLy8gY2hlY2sgaWYgYmFzZSBlbGVtZW50IGlzIGlucHV0CiAgICAgICAgaWYgKCRpbnBbMF0ubm9kZU5hbWUgIT09ICJJTlBVVCIpIHsKICAgICAgICAgICAgY29uc29sZSAmJiBjb25zb2xlLndhcm4gJiYgY29uc29sZS53YXJuKCJCYXNlIGVsZW1lbnQgc2hvdWxkIGJlIDxpbnB1dD4hIiwgJGlucFswXSk7CiAgICAgICAgfQoKCiAgICAgICAgLy8gY29uZmlnIGZyb20gZGF0YS1hdHRyaWJ1dGVzIGV4dGVuZHMganMgY29uZmlnCiAgICAgICAgY29uZmlnX2Zyb21fZGF0YSA9IHsKICAgICAgICAgICAgdHlwZTogJGlucC5kYXRhKCJ0eXBlIiksCgogICAgICAgICAgICBtaW46ICRpbnAuZGF0YSgibWluIiksCiAgICAgICAgICAgIG1heDogJGlucC5kYXRhKCJtYXgiKSwKICAgICAgICAgICAgZnJvbTogJGlucC5kYXRhKCJmcm9tIiksCiAgICAgICAgICAgIHRvOiAkaW5wLmRhdGEoInRvIiksCiAgICAgICAgICAgIHN0ZXA6ICRpbnAuZGF0YSgic3RlcCIpLAoKICAgICAgICAgICAgbWluX2ludGVydmFsOiAkaW5wLmRhdGEoIm1pbkludGVydmFsIiksCiAgICAgICAgICAgIG1heF9pbnRlcnZhbDogJGlucC5kYXRhKCJtYXhJbnRlcnZhbCIpLAogICAgICAgICAgICBkcmFnX2ludGVydmFsOiAkaW5wLmRhdGEoImRyYWdJbnRlcnZhbCIpLAoKICAgICAgICAgICAgdmFsdWVzOiAkaW5wLmRhdGEoInZhbHVlcyIpLAoKICAgICAgICAgICAgZnJvbV9maXhlZDogJGlucC5kYXRhKCJmcm9tRml4ZWQiKSwKICAgICAgICAgICAgZnJvbV9taW46ICRpbnAuZGF0YSgiZnJvbU1pbiIpLAogICAgICAgICAgICBmcm9tX21heDogJGlucC5kYXRhKCJmcm9tTWF4IiksCiAgICAgICAgICAgIGZyb21fc2hhZG93OiAkaW5wLmRhdGEoImZyb21TaGFkb3ciKSwKCiAgICAgICAgICAgIHRvX2ZpeGVkOiAkaW5wLmRhdGEoInRvRml4ZWQiKSwKICAgICAgICAgICAgdG9fbWluOiAkaW5wLmRhdGEoInRvTWluIiksCiAgICAgICAgICAgIHRvX21heDogJGlucC5kYXRhKCJ0b01heCIpLAogICAgICAgICAgICB0b19zaGFkb3c6ICRpbnAuZGF0YSgidG9TaGFkb3ciKSwKCiAgICAgICAgICAgIHByZXR0aWZ5X2VuYWJsZWQ6ICRpbnAuZGF0YSgicHJldHRpZnlFbmFibGVkIiksCiAgICAgICAgICAgIHByZXR0aWZ5X3NlcGFyYXRvcjogJGlucC5kYXRhKCJwcmV0dGlmeVNlcGFyYXRvciIpLAoKICAgICAgICAgICAgZm9yY2VfZWRnZXM6ICRpbnAuZGF0YSgiZm9yY2VFZGdlcyIpLAoKICAgICAgICAgICAga2V5Ym9hcmQ6ICRpbnAuZGF0YSgia2V5Ym9hcmQiKSwKCiAgICAgICAgICAgIGdyaWQ6ICRpbnAuZGF0YSgiZ3JpZCIpLAogICAgICAgICAgICBncmlkX21hcmdpbjogJGlucC5kYXRhKCJncmlkTWFyZ2luIiksCiAgICAgICAgICAgIGdyaWRfbnVtOiAkaW5wLmRhdGEoImdyaWROdW0iKSwKICAgICAgICAgICAgZ3JpZF9zbmFwOiAkaW5wLmRhdGEoImdyaWRTbmFwIiksCgogICAgICAgICAgICBoaWRlX21pbl9tYXg6ICRpbnAuZGF0YSgiaGlkZU1pbk1heCIpLAogICAgICAgICAgICBoaWRlX2Zyb21fdG86ICRpbnAuZGF0YSgiaGlkZUZyb21UbyIpLAoKICAgICAgICAgICAgcHJlZml4OiAkaW5wLmRhdGEoInByZWZpeCIpLAogICAgICAgICAgICBwb3N0Zml4OiAkaW5wLmRhdGEoInBvc3RmaXgiKSwKICAgICAgICAgICAgbWF4X3Bvc3RmaXg6ICRpbnAuZGF0YSgibWF4UG9zdGZpeCIpLAogICAgICAgICAgICBkZWNvcmF0ZV9ib3RoOiAkaW5wLmRhdGEoImRlY29yYXRlQm90aCIpLAogICAgICAgICAgICB2YWx1ZXNfc2VwYXJhdG9yOiAkaW5wLmRhdGEoInZhbHVlc1NlcGFyYXRvciIpLAoKICAgICAgICAgICAgaW5wdXRfdmFsdWVzX3NlcGFyYXRvcjogJGlucC5kYXRhKCJpbnB1dFZhbHVlc1NlcGFyYXRvciIpLAoKICAgICAgICAgICAgZGlzYWJsZTogJGlucC5kYXRhKCJkaXNhYmxlIiksCiAgICAgICAgICAgIGJsb2NrOiAkaW5wLmRhdGEoImJsb2NrIiksCgogICAgICAgICAgICBleHRyYV9jbGFzc2VzOiAkaW5wLmRhdGEoImV4dHJhQ2xhc3NlcyIpLAogICAgICAgIH07CiAgICAgICAgY29uZmlnX2Zyb21fZGF0YS52YWx1ZXMgPSBjb25maWdfZnJvbV9kYXRhLnZhbHVlcyAmJiBjb25maWdfZnJvbV9kYXRhLnZhbHVlcy5zcGxpdCgiLCIpOwoKICAgICAgICBmb3IgKHByb3AgaW4gY29uZmlnX2Zyb21fZGF0YSkgewogICAgICAgICAgICBpZiAoY29uZmlnX2Zyb21fZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgICAgICAgaWYgKGNvbmZpZ19mcm9tX2RhdGFbcHJvcF0gPT09IHVuZGVmaW5lZCB8fCBjb25maWdfZnJvbV9kYXRhW3Byb3BdID09PSAiIikgewogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjb25maWdfZnJvbV9kYXRhW3Byb3BdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKCiAgICAgICAgLy8gaW5wdXQgdmFsdWUgZXh0ZW5kcyBkZWZhdWx0IGNvbmZpZwogICAgICAgIGlmICh2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09ICIiKSB7CiAgICAgICAgICAgIHZhbCA9IHZhbC5zcGxpdChjb25maWdfZnJvbV9kYXRhLmlucHV0X3ZhbHVlc19zZXBhcmF0b3IgfHwgb3B0aW9ucy5pbnB1dF92YWx1ZXNfc2VwYXJhdG9yIHx8ICI7Iik7CgogICAgICAgICAgICBpZiAodmFsWzBdICYmIHZhbFswXSA9PSArdmFsWzBdKSB7CiAgICAgICAgICAgICAgICB2YWxbMF0gPSArdmFsWzBdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh2YWxbMV0gJiYgdmFsWzFdID09ICt2YWxbMV0pIHsKICAgICAgICAgICAgICAgIHZhbFsxXSA9ICt2YWxbMV07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudmFsdWVzICYmIG9wdGlvbnMudmFsdWVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgY29uZmlnLmZyb20gPSB2YWxbMF0gJiYgb3B0aW9ucy52YWx1ZXMuaW5kZXhPZih2YWxbMF0pOwogICAgICAgICAgICAgICAgY29uZmlnLnRvID0gdmFsWzFdICYmIG9wdGlvbnMudmFsdWVzLmluZGV4T2YodmFsWzFdKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbmZpZy5mcm9tID0gdmFsWzBdICYmICt2YWxbMF07CiAgICAgICAgICAgICAgICBjb25maWcudG8gPSB2YWxbMV0gJiYgK3ZhbFsxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KCgoKICAgICAgICAvLyBqcyBjb25maWcgZXh0ZW5kcyBkZWZhdWx0IGNvbmZpZwogICAgICAgICQuZXh0ZW5kKGNvbmZpZywgb3B0aW9ucyk7CgoKICAgICAgICAvLyBkYXRhIGNvbmZpZyBleHRlbmRzIGNvbmZpZwogICAgICAgICQuZXh0ZW5kKGNvbmZpZywgY29uZmlnX2Zyb21fZGF0YSk7CiAgICAgICAgdGhpcy5vcHRpb25zID0gY29uZmlnOwoKCgogICAgICAgIC8vIHZhbGlkYXRlIGNvbmZpZywgdG8gYmUgc3VyZSB0aGF0IGFsbCBkYXRhIHR5cGVzIGFyZSBjb3JyZWN0CiAgICAgICAgdGhpcy51cGRhdGVfY2hlY2sgPSB7fTsKICAgICAgICB0aGlzLnZhbGlkYXRlKCk7CgoKCiAgICAgICAgLy8gZGVmYXVsdCByZXN1bHQgb2JqZWN0LCByZXR1cm5lZCB0byBjYWxsYmFja3MKICAgICAgICB0aGlzLnJlc3VsdCA9IHsKICAgICAgICAgICAgaW5wdXQ6IHRoaXMuJGNhY2hlLmlucHV0LAogICAgICAgICAgICBzbGlkZXI6IG51bGwsCgogICAgICAgICAgICBtaW46IHRoaXMub3B0aW9ucy5taW4sCiAgICAgICAgICAgIG1heDogdGhpcy5vcHRpb25zLm1heCwKCiAgICAgICAgICAgIGZyb206IHRoaXMub3B0aW9ucy5mcm9tLAogICAgICAgICAgICBmcm9tX3BlcmNlbnQ6IDAsCiAgICAgICAgICAgIGZyb21fdmFsdWU6IG51bGwsCgogICAgICAgICAgICB0bzogdGhpcy5vcHRpb25zLnRvLAogICAgICAgICAgICB0b19wZXJjZW50OiAwLAogICAgICAgICAgICB0b192YWx1ZTogbnVsbAogICAgICAgIH07CgoKCiAgICAgICAgdGhpcy5pbml0KCk7CiAgICB9OwoKICAgIElvblJhbmdlU2xpZGVyLnByb3RvdHlwZSA9IHsKCiAgICAgICAgLyoqCiAgICAgICAgICogU3RhcnRzIG9yIHVwZGF0ZXMgdGhlIHBsdWdpbiBpbnN0YW5jZQogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIFtpc191cGRhdGVdIHtib29sZWFufQogICAgICAgICAqLwogICAgICAgIGluaXQ6IGZ1bmN0aW9uIChpc191cGRhdGUpIHsKICAgICAgICAgICAgdGhpcy5ub19kaWFwYXNvbiA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3N0ZXAgPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQodGhpcy5vcHRpb25zLnN0ZXAsIHRydWUpOwoKICAgICAgICAgICAgdGhpcy50YXJnZXQgPSAiYmFzZSI7CgogICAgICAgICAgICB0aGlzLnRvZ2dsZUlucHV0KCk7CiAgICAgICAgICAgIHRoaXMuYXBwZW5kKCk7CiAgICAgICAgICAgIHRoaXMuc2V0TWluTWF4KCk7CgogICAgICAgICAgICBpZiAoaXNfdXBkYXRlKSB7CiAgICAgICAgICAgICAgICB0aGlzLmZvcmNlX3JlZHJhdyA9IHRydWU7CiAgICAgICAgICAgICAgICB0aGlzLmNhbGModHJ1ZSk7CgogICAgICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGNhbGxlZAogICAgICAgICAgICAgICAgdGhpcy5jYWxsT25VcGRhdGUoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRoaXMuY2FsYyh0cnVlKTsKCiAgICAgICAgICAgICAgICAvLyBjYWxsYmFja3MgY2FsbGVkCiAgICAgICAgICAgICAgICB0aGlzLmNhbGxPblN0YXJ0KCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmUoKTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBBcHBlbmRzIHNsaWRlciB0ZW1wbGF0ZSB0byBhIERPTQogICAgICAgICAqLwogICAgICAgIGFwcGVuZDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgY29udGFpbmVyX2h0bWwgPSAnPHNwYW4gY2xhc3M9ImlycyBqcy1pcnMtJyArIHRoaXMucGx1Z2luX2NvdW50ICsgJyAnICsgdGhpcy5vcHRpb25zLmV4dHJhX2NsYXNzZXMgKyAnIj48L3NwYW4+JzsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQuYmVmb3JlKGNvbnRhaW5lcl9odG1sKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgicmVhZG9ubHkiLCB0cnVlKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udCA9IHRoaXMuJGNhY2hlLmlucHV0LnByZXYoKTsKICAgICAgICAgICAgdGhpcy5yZXN1bHQuc2xpZGVyID0gdGhpcy4kY2FjaGUuY29udDsKCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuaHRtbChiYXNlX2h0bWwpOwogICAgICAgICAgICB0aGlzLiRjYWNoZS5ycyA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycyIpOwogICAgICAgICAgICB0aGlzLiRjYWNoZS5taW4gPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi5pcnMtbWluIik7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heCA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1tYXgiKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1mcm9tIik7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLXRvIik7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1zaW5nbGUiKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWJhciIpOwogICAgICAgICAgICB0aGlzLiRjYWNoZS5saW5lID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWxpbmUiKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuZ3JpZCA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmlycy1ncmlkIik7CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250LmFwcGVuZChzaW5nbGVfaHRtbCk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5lZGdlID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuaXJzLWJhci1lZGdlIik7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3NpbmdsZSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLnNpbmdsZSIpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaGFkX3NpbmdsZSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLnNoYWRvdy1zaW5nbGUiKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuYXBwZW5kKGRvdWJsZV9odG1sKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbSA9IHRoaXMuJGNhY2hlLmNvbnQuZmluZCgiLmZyb20iKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8gPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi50byIpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9mcm9tID0gdGhpcy4kY2FjaGUuY29udC5maW5kKCIuc2hhZG93LWZyb20iKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNoYWRfdG8gPSB0aGlzLiRjYWNoZS5jb250LmZpbmQoIi5zaGFkb3ctdG8iKTsKCiAgICAgICAgICAgICAgICB0aGlzLnNldFRvcEhhbmRsZXIoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5oaWRlX2Zyb21fdG8pIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb21bMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGVbMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5hcHBlbmRHcmlkKCk7CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRpc2FibGUpIHsKICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kRGlzYWJsZU1hc2soKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0WzBdLmRpc2FibGVkID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0WzBdLmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZURpc2FibGVNYXNrKCk7CiAgICAgICAgICAgICAgICB0aGlzLmJpbmRFdmVudHMoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gYmxvY2sgb25seSBpZiBub3QgZGlzYWJsZWQKICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGlzYWJsZSkgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ibG9jaykgewogICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kRGlzYWJsZU1hc2soKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVEaXNhYmxlTWFzaygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyYWdfaW50ZXJ2YWwpIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJhclswXS5zdHlsZS5jdXJzb3IgPSAiZXctcmVzaXplIjsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIERldGVybWluZSB3aGljaCBoYW5kbGVyIGhhcyBhIHByaW9yaXR5CiAgICAgICAgICogd29ya3Mgb25seSBmb3IgZG91YmxlIHNsaWRlciB0eXBlCiAgICAgICAgICovCiAgICAgICAgc2V0VG9wSGFuZGxlcjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgbWluID0gdGhpcy5vcHRpb25zLm1pbiwKICAgICAgICAgICAgICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXgsCiAgICAgICAgICAgICAgICBmcm9tID0gdGhpcy5vcHRpb25zLmZyb20sCiAgICAgICAgICAgICAgICB0byA9IHRoaXMub3B0aW9ucy50bzsKCiAgICAgICAgICAgIGlmIChmcm9tID4gbWluICYmIHRvID09PSBtYXgpIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5hZGRDbGFzcygidHlwZV9sYXN0Iik7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodG8gPCBtYXgpIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8uYWRkQ2xhc3MoInR5cGVfbGFzdCIpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogRGV0ZXJtaW5lIHdoaWNoIGhhbmRsZXMgd2FzIGNsaWNrZWQgbGFzdAogICAgICAgICAqIGFuZCB3aGljaCBoYW5kbGVyIHNob3VsZCBoYXZlIGhvdmVyIGVmZmVjdAogICAgICAgICAqCiAgICAgICAgICogQHBhcmFtIHRhcmdldCB7U3RyaW5nfQogICAgICAgICAqLwogICAgICAgIGNoYW5nZUxldmVsOiBmdW5jdGlvbiAodGFyZ2V0KSB7CiAgICAgICAgICAgIHN3aXRjaCAodGFyZ2V0KSB7CiAgICAgICAgICAgICAgICBjYXNlICJzaW5nbGUiOgogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfcG9pbnRlciAtIHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2UpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfc2luZ2xlLmFkZENsYXNzKCJzdGF0ZV9ob3ZlciIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAiZnJvbSI6CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXAgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMucF9wb2ludGVyIC0gdGhpcy5jb29yZHMucF9mcm9tX2Zha2UpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5hZGRDbGFzcygic3RhdGVfaG92ZXIiKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20uYWRkQ2xhc3MoInR5cGVfbGFzdCIpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfdG8ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAidG8iOgogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfcG9pbnRlciAtIHRoaXMuY29vcmRzLnBfdG9fZmFrZSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190by5hZGRDbGFzcygic3RhdGVfaG92ZXIiKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3RvLmFkZENsYXNzKCJ0eXBlX2xhc3QiKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAiYm90aCI6CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXBfbGVmdCA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5wX3BvaW50ZXIgLSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXBfcmlnaHQgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMucF90b19mYWtlIC0gdGhpcy5jb29yZHMucF9wb2ludGVyKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3RvLnJlbW92ZUNsYXNzKCJ0eXBlX2xhc3QiKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX2Zyb20ucmVtb3ZlQ2xhc3MoInR5cGVfbGFzdCIpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogVGhlbiBzbGlkZXIgaXMgZGlzYWJsZWQKICAgICAgICAgKiBhcHBlbmRzIGV4dHJhIGxheWVyIHdpdGggb3BhY2l0eQogICAgICAgICAqLwogICAgICAgIGFwcGVuZERpc2FibGVNYXNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuYXBwZW5kKGRpc2FibGVfaHRtbCk7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmNvbnQuYWRkQ2xhc3MoImlycy1kaXNhYmxlZCIpOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFRoZW4gc2xpZGVyIGlzIG5vdCBkaXNhYmxlZAogICAgICAgICAqIHJlbW92ZSBkaXNhYmxlIG1hc2sKICAgICAgICAgKi8KICAgICAgICByZW1vdmVEaXNhYmxlTWFzazogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250LnJlbW92ZSgiLmlycy1kaXNhYmxlLW1hc2siKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5yZW1vdmVDbGFzcygiaXJzLWRpc2FibGVkIik7CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogUmVtb3ZlIHNsaWRlciBpbnN0YW5jZQogICAgICAgICAqIGFuZCB1bmJpbmQgYWxsIGV2ZW50cwogICAgICAgICAqLwogICAgICAgIHJlbW92ZTogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250LnJlbW92ZSgpOwogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250ID0gbnVsbDsKCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmxpbmUub2ZmKCJrZXlkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vZmYoInRvdWNobW92ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vZmYoIm1vdXNlbW92ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsKCiAgICAgICAgICAgIHRoaXMuJGNhY2hlLndpbi5vZmYoInRvdWNoZW5kLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOwogICAgICAgICAgICB0aGlzLiRjYWNoZS53aW4ub2ZmKCJtb3VzZXVwLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQpOwoKICAgICAgICAgICAgaWYgKGlzX29sZF9pZSkgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vZmYoIm1vdXNldXAuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5ib2R5Lm9mZigibW91c2VsZWF2ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy4kY2FjaGUuZ3JpZF9sYWJlbHMgPSBbXTsKICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnID0gW107CiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ193ID0gW107CiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ19wID0gW107CiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ194ID0gW107CgogICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnJhZl9pZCk7CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogYmluZCBhbGwgc2xpZGVyIGV2ZW50cwogICAgICAgICAqLwogICAgICAgIGJpbmRFdmVudHM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKHRoaXMubm9fZGlhcGFzb24pIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vbigidG91Y2htb3ZlLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlck1vdmUuYmluZCh0aGlzKSk7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub24oIm1vdXNlbW92ZS5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJNb3ZlLmJpbmQodGhpcykpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUud2luLm9uKCJ0b3VjaGVuZC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJVcC5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUud2luLm9uKCJtb3VzZXVwLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlclVwLmJpbmQodGhpcykpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS5vbigiZm9jdXMuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRm9jdXMuYmluZCh0aGlzKSk7CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRyYWdfaW50ZXJ2YWwgJiYgdGhpcy5vcHRpb25zLnR5cGUgPT09ICJkb3VibGUiKSB7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5iYXIub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJib3RoIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJib3RoIikpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZS5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgInNpbmdsZSIpKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfc2luZ2xlLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAic2luZ2xlIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9zaW5nbGUub24oInRvdWNoc3RhcnQuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyQ2xpY2suYmluZCh0aGlzLCAiY2xpY2siKSk7CgogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJzaW5nbGUiKSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3NpbmdsZS5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAic2luZ2xlIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZWRnZS5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9zaW5nbGUub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZS5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgbnVsbCkpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsIG51bGwpKTsKCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAiZnJvbSIpKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNfZnJvbS5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgImZyb20iKSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50by5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgInRvIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190by5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgInRvIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF9mcm9tLm9uKCJ0b3VjaHN0YXJ0Lmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckNsaWNrLmJpbmQodGhpcywgImNsaWNrIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2hhZF90by5vbigidG91Y2hzdGFydC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsKCiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJmcm9tIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc19mcm9tLm9uKCJtb3VzZWRvd24uaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyRG93bi5iaW5kKHRoaXMsICJmcm9tIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUudG8ub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJEb3duLmJpbmQodGhpcywgInRvIikpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc190by5vbigibW91c2Vkb3duLmlyc18iICsgdGhpcy5wbHVnaW5fY291bnQsIHRoaXMucG9pbnRlckRvd24uYmluZCh0aGlzLCAidG8iKSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaGFkX2Zyb20ub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNoYWRfdG8ub24oIm1vdXNlZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJDbGljay5iaW5kKHRoaXMsICJjbGljayIpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5rZXlib2FyZCkgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS5vbigia2V5ZG93bi5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLmtleS5iaW5kKHRoaXMsICJrZXlib2FyZCIpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGlzX29sZF9pZSkgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYm9keS5vbigibW91c2V1cC5pcnNfIiArIHRoaXMucGx1Z2luX2NvdW50LCB0aGlzLnBvaW50ZXJVcC5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmJvZHkub24oIm1vdXNlbGVhdmUuaXJzXyIgKyB0aGlzLnBsdWdpbl9jb3VudCwgdGhpcy5wb2ludGVyVXAuYmluZCh0aGlzKSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBGb2N1cyB3aXRoIHRhYkluZGV4CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gZSB7T2JqZWN0fSBldmVudCBvYmplY3QKICAgICAgICAgKi8KICAgICAgICBwb2ludGVyRm9jdXM6IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIGlmICghdGhpcy50YXJnZXQpIHsKICAgICAgICAgICAgICAgIHZhciB4OwogICAgICAgICAgICAgICAgdmFyICRoYW5kbGU7CgogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50eXBlID09PSAic2luZ2xlIikgewogICAgICAgICAgICAgICAgICAgICRoYW5kbGUgPSB0aGlzLiRjYWNoZS5zaW5nbGU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICRoYW5kbGUgPSB0aGlzLiRjYWNoZS5mcm9tOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHggPSAkaGFuZGxlLm9mZnNldCgpLmxlZnQ7CiAgICAgICAgICAgICAgICB4ICs9ICgkaGFuZGxlLndpZHRoKCkgLyAyKSAtIDE7CgogICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyQ2xpY2soInNpbmdsZSIsIHtwcmV2ZW50RGVmYXVsdDogZnVuY3Rpb24gKCkge30sIHBhZ2VYOiB4fSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBNb3VzZW1vdmUgb3IgdG91Y2htb3ZlCiAgICAgICAgICogb25seSBmb3IgaGFuZGxlcnMKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSBlIHtPYmplY3R9IGV2ZW50IG9iamVjdAogICAgICAgICAqLwogICAgICAgIHBvaW50ZXJNb3ZlOiBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBpZiAoIXRoaXMuZHJhZ2dpbmcpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHggPSBlLnBhZ2VYIHx8IGUub3JpZ2luYWxFdmVudC50b3VjaGVzICYmIGUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLnBhZ2VYOwogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSB4IC0gdGhpcy5jb29yZHMueF9nYXA7CgogICAgICAgICAgICB0aGlzLmNhbGMoKTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBNb3VzZXVwIG9yIHRvdWNoZW5kCiAgICAgICAgICogb25seSBmb3IgaGFuZGxlcnMKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSBlIHtPYmplY3R9IGV2ZW50IG9iamVjdAogICAgICAgICAqLwogICAgICAgIHBvaW50ZXJVcDogZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgaWYgKHRoaXMuY3VycmVudF9wbHVnaW4gIT09IHRoaXMucGx1Z2luX2NvdW50KSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLmlzX2FjdGl2ZSkgewogICAgICAgICAgICAgICAgdGhpcy5pc19hY3RpdmUgPSBmYWxzZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy4kY2FjaGUuY29udC5maW5kKCIuc3RhdGVfaG92ZXIiKS5yZW1vdmVDbGFzcygic3RhdGVfaG92ZXIiKTsKCiAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gdHJ1ZTsKCiAgICAgICAgICAgIGlmIChpc19vbGRfaWUpIHsKICAgICAgICAgICAgICAgICQoIioiKS5wcm9wKCJ1bnNlbGVjdGFibGUiLCBmYWxzZSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmUoKTsKICAgICAgICAgICAgdGhpcy5yZXN0b3JlT3JpZ2luYWxNaW5JbnRlcnZhbCgpOwoKICAgICAgICAgICAgLy8gY2FsbGJhY2tzIGNhbGwKICAgICAgICAgICAgaWYgKCQuY29udGFpbnModGhpcy4kY2FjaGUuY29udFswXSwgZS50YXJnZXQpIHx8IHRoaXMuZHJhZ2dpbmcpIHsKICAgICAgICAgICAgICAgIHRoaXMuY2FsbE9uRmluaXNoKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIHRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBNb3VzZWRvd24gb3IgdG91Y2hzdGFydAogICAgICAgICAqIG9ubHkgZm9yIGhhbmRsZXJzCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gdGFyZ2V0IHtTdHJpbmd8bnVsbH0KICAgICAgICAgKiBAcGFyYW0gZSB7T2JqZWN0fSBldmVudCBvYmplY3QKICAgICAgICAgKi8KICAgICAgICBwb2ludGVyRG93bjogZnVuY3Rpb24gKHRhcmdldCwgZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIHZhciB4ID0gZS5wYWdlWCB8fCBlLm9yaWdpbmFsRXZlbnQudG91Y2hlcyAmJiBlLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXS5wYWdlWDsKICAgICAgICAgICAgaWYgKGUuYnV0dG9uID09PSAyKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0YXJnZXQgPT09ICJib3RoIikgewogICAgICAgICAgICAgICAgdGhpcy5zZXRUZW1wTWluSW50ZXJ2YWwoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCF0YXJnZXQpIHsKICAgICAgICAgICAgICAgIHRhcmdldCA9IHRoaXMudGFyZ2V0IHx8ICJmcm9tIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jdXJyZW50X3BsdWdpbiA9IHRoaXMucGx1Z2luX2NvdW50OwogICAgICAgICAgICB0aGlzLnRhcmdldCA9IHRhcmdldDsKCiAgICAgICAgICAgIHRoaXMuaXNfYWN0aXZlID0gdHJ1ZTsKICAgICAgICAgICAgdGhpcy5kcmFnZ2luZyA9IHRydWU7CgogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X2dhcCA9IHRoaXMuJGNhY2hlLnJzLm9mZnNldCgpLmxlZnQ7CiAgICAgICAgICAgIHRoaXMuY29vcmRzLnhfcG9pbnRlciA9IHggLSB0aGlzLmNvb3Jkcy54X2dhcDsKCiAgICAgICAgICAgIHRoaXMuY2FsY1BvaW50ZXJQZXJjZW50KCk7CiAgICAgICAgICAgIHRoaXMuY2hhbmdlTGV2ZWwodGFyZ2V0KTsKCiAgICAgICAgICAgIGlmIChpc19vbGRfaWUpIHsKICAgICAgICAgICAgICAgICQoIioiKS5wcm9wKCJ1bnNlbGVjdGFibGUiLCB0cnVlKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS50cmlnZ2VyKCJmb2N1cyIpOwoKICAgICAgICAgICAgdGhpcy51cGRhdGVTY2VuZSgpOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIE1vdXNlZG93biBvciB0b3VjaHN0YXJ0CiAgICAgICAgICogZm9yIG90aGVyIHNsaWRlciBlbGVtZW50cywgbGlrZSBkaWFwYXNvbiBsaW5lCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gdGFyZ2V0IHtTdHJpbmd9CiAgICAgICAgICogQHBhcmFtIGUge09iamVjdH0gZXZlbnQgb2JqZWN0CiAgICAgICAgICovCiAgICAgICAgcG9pbnRlckNsaWNrOiBmdW5jdGlvbiAodGFyZ2V0LCBlKSB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgdmFyIHggPSBlLnBhZ2VYIHx8IGUub3JpZ2luYWxFdmVudC50b3VjaGVzICYmIGUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLnBhZ2VYOwogICAgICAgICAgICBpZiAoZS5idXR0b24gPT09IDIpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jdXJyZW50X3BsdWdpbiA9IHRoaXMucGx1Z2luX2NvdW50OwogICAgICAgICAgICB0aGlzLnRhcmdldCA9IHRhcmdldDsKCiAgICAgICAgICAgIHRoaXMuaXNfY2xpY2sgPSB0cnVlOwogICAgICAgICAgICB0aGlzLmNvb3Jkcy54X2dhcCA9IHRoaXMuJGNhY2hlLnJzLm9mZnNldCgpLmxlZnQ7CiAgICAgICAgICAgIHRoaXMuY29vcmRzLnhfcG9pbnRlciA9ICsoeCAtIHRoaXMuY29vcmRzLnhfZ2FwKS50b0ZpeGVkKCk7CgogICAgICAgICAgICB0aGlzLmZvcmNlX3JlZHJhdyA9IHRydWU7CiAgICAgICAgICAgIHRoaXMuY2FsYygpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUubGluZS50cmlnZ2VyKCJmb2N1cyIpOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIEtleWJvcmFyZCBjb250cm9scyBmb3IgZm9jdXNlZCBzbGlkZXIKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB0YXJnZXQge1N0cmluZ30KICAgICAgICAgKiBAcGFyYW0gZSB7T2JqZWN0fSBldmVudCBvYmplY3QKICAgICAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbnx1bmRlZmluZWR9CiAgICAgICAgICovCiAgICAgICAga2V5OiBmdW5jdGlvbiAodGFyZ2V0LCBlKSB7CiAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRfcGx1Z2luICE9PSB0aGlzLnBsdWdpbl9jb3VudCB8fCBlLmFsdEtleSB8fCBlLmN0cmxLZXkgfHwgZS5zaGlmdEtleSB8fCBlLm1ldGFLZXkpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgc3dpdGNoIChlLndoaWNoKSB7CiAgICAgICAgICAgICAgICBjYXNlIDgzOiAvLyBXCiAgICAgICAgICAgICAgICBjYXNlIDY1OiAvLyBBCiAgICAgICAgICAgICAgICBjYXNlIDQwOiAvLyBET1dOCiAgICAgICAgICAgICAgICBjYXNlIDM3OiAvLyBMRUZUCiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZUJ5S2V5KGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlIDg3OiAvLyBTCiAgICAgICAgICAgICAgICBjYXNlIDY4OiAvLyBECiAgICAgICAgICAgICAgICBjYXNlIDM4OiAvLyBVUAogICAgICAgICAgICAgICAgY2FzZSAzOTogLy8gUklHSFQKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlQnlLZXkodHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIE1vdmUgYnkga2V5CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gcmlnaHQge2Jvb2xlYW59IGRpcmVjdGlvbiB0byBtb3ZlCiAgICAgICAgICovCiAgICAgICAgbW92ZUJ5S2V5OiBmdW5jdGlvbiAocmlnaHQpIHsKICAgICAgICAgICAgdmFyIHAgPSB0aGlzLmNvb3Jkcy5wX3BvaW50ZXI7CiAgICAgICAgICAgIHZhciBwX3N0ZXAgPSAodGhpcy5vcHRpb25zLm1heCAtIHRoaXMub3B0aW9ucy5taW4pIC8gMTAwOwogICAgICAgICAgICBwX3N0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcCAvIHBfc3RlcDsKCiAgICAgICAgICAgIGlmIChyaWdodCkgewogICAgICAgICAgICAgICAgcCArPSBwX3N0ZXA7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBwIC09IHBfc3RlcDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jb29yZHMueF9wb2ludGVyID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLndfcnMgLyAxMDAgKiBwKTsKICAgICAgICAgICAgdGhpcy5pc19rZXkgPSB0cnVlOwogICAgICAgICAgICB0aGlzLmNhbGMoKTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBTZXQgdmlzaWJpbGl0eSBhbmQgY29udGVudAogICAgICAgICAqIG9mIE1pbiBhbmQgTWF4IGxhYmVscwogICAgICAgICAqLwogICAgICAgIHNldE1pbk1heDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmhpZGVfbWluX21heCkgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWluWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXhbMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5taW4uaHRtbCh0aGlzLmRlY29yYXRlKHRoaXMub3B0aW9ucy5wX3ZhbHVlc1t0aGlzLm9wdGlvbnMubWluXSkpOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWF4Lmh0bWwodGhpcy5kZWNvcmF0ZSh0aGlzLm9wdGlvbnMucF92YWx1ZXNbdGhpcy5vcHRpb25zLm1heF0pKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBtaW5fcHJldHR5ID0gdGhpcy5fcHJldHRpZnkodGhpcy5vcHRpb25zLm1pbik7CiAgICAgICAgICAgICAgICB2YXIgbWF4X3ByZXR0eSA9IHRoaXMuX3ByZXR0aWZ5KHRoaXMub3B0aW9ucy5tYXgpOwoKICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0Lm1pbl9wcmV0dHkgPSBtaW5fcHJldHR5OwogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQubWF4X3ByZXR0eSA9IG1heF9wcmV0dHk7CgogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUubWluLmh0bWwodGhpcy5kZWNvcmF0ZShtaW5fcHJldHR5LCB0aGlzLm9wdGlvbnMubWluKSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXguaHRtbCh0aGlzLmRlY29yYXRlKG1heF9wcmV0dHksIHRoaXMub3B0aW9ucy5tYXgpKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5sYWJlbHMud19taW4gPSB0aGlzLiRjYWNoZS5taW4ub3V0ZXJXaWR0aChmYWxzZSk7CiAgICAgICAgICAgIHRoaXMubGFiZWxzLndfbWF4ID0gdGhpcy4kY2FjaGUubWF4Lm91dGVyV2lkdGgoZmFsc2UpOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFRoZW4gZHJhZ2dpbmcgaW50ZXJ2YWwsIHByZXZlbnQgaW50ZXJ2YWwgY29sbGFwc2luZwogICAgICAgICAqIHVzaW5nIG1pbl9pbnRlcnZhbCBvcHRpb24KICAgICAgICAgKi8KICAgICAgICBzZXRUZW1wTWluSW50ZXJ2YWw6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGludGVydmFsID0gdGhpcy5yZXN1bHQudG8gLSB0aGlzLnJlc3VsdC5mcm9tOwoKICAgICAgICAgICAgaWYgKHRoaXMub2xkX21pbl9pbnRlcnZhbCA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgdGhpcy5vbGRfbWluX2ludGVydmFsID0gdGhpcy5vcHRpb25zLm1pbl9pbnRlcnZhbDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5vcHRpb25zLm1pbl9pbnRlcnZhbCA9IGludGVydmFsOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFJlc3RvcmUgbWluX2ludGVydmFsIG9wdGlvbiB0byBvcmlnaW5hbAogICAgICAgICAqLwogICAgICAgIHJlc3RvcmVPcmlnaW5hbE1pbkludGVydmFsOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICh0aGlzLm9sZF9taW5faW50ZXJ2YWwgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5taW5faW50ZXJ2YWwgPSB0aGlzLm9sZF9taW5faW50ZXJ2YWw7CiAgICAgICAgICAgICAgICB0aGlzLm9sZF9taW5faW50ZXJ2YWwgPSBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgoKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgLy8gQ2FsY3VsYXRpb25zCgogICAgICAgIC8qKgogICAgICAgICAqIEFsbCBjYWxjdWxhdGlvbnMgYW5kIG1lYXN1cmVzIHN0YXJ0IGhlcmUKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB1cGRhdGUge2Jvb2xlYW49fQogICAgICAgICAqLwogICAgICAgIGNhbGM6IGZ1bmN0aW9uICh1cGRhdGUpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jYWxjX2NvdW50Kys7CgogICAgICAgICAgICBpZiAodGhpcy5jYWxjX2NvdW50ID09PSAxMCB8fCB1cGRhdGUpIHsKICAgICAgICAgICAgICAgIHRoaXMuY2FsY19jb3VudCA9IDA7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy53X3JzID0gdGhpcy4kY2FjaGUucnMub3V0ZXJXaWR0aChmYWxzZSk7CgogICAgICAgICAgICAgICAgdGhpcy5jYWxjSGFuZGxlUGVyY2VudCgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jYWxjUG9pbnRlclBlcmNlbnQoKTsKICAgICAgICAgICAgdmFyIGhhbmRsZV94ID0gdGhpcy5nZXRIYW5kbGVYKCk7CgoKICAgICAgICAgICAgaWYgKHRoaXMudGFyZ2V0ID09PSAiYm90aCIpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZ2FwID0gMDsKICAgICAgICAgICAgICAgIGhhbmRsZV94ID0gdGhpcy5nZXRIYW5kbGVYKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLnRhcmdldCA9PT0gImNsaWNrIikgewogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9nYXAgPSB0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDI7CiAgICAgICAgICAgICAgICBoYW5kbGVfeCA9IHRoaXMuZ2V0SGFuZGxlWCgpOwoKICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZHJhZ19pbnRlcnZhbCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gImJvdGhfb25lIjsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSB0aGlzLmNob29zZUhhbmRsZShoYW5kbGVfeCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50YXJnZXQpIHsKICAgICAgICAgICAgICAgIGNhc2UgImJhc2UiOgogICAgICAgICAgICAgICAgICAgIHZhciB3ID0gKHRoaXMub3B0aW9ucy5tYXggLSB0aGlzLm9wdGlvbnMubWluKSAvIDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgZiA9ICh0aGlzLnJlc3VsdC5mcm9tIC0gdGhpcy5vcHRpb25zLm1pbikgLyB3LAogICAgICAgICAgICAgICAgICAgICAgICB0ID0gKHRoaXMucmVzdWx0LnRvIC0gdGhpcy5vcHRpb25zLm1pbikgLyB3OwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsID0gdGhpcy50b0ZpeGVkKGYpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy50b0ZpeGVkKGYpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMudG9GaXhlZCh0KTsKCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsLCB0aGlzLm9wdGlvbnMuZnJvbV9taW4sIHRoaXMub3B0aW9ucy5mcm9tX21heCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMub3B0aW9ucy5mcm9tX21pbiwgdGhpcy5vcHRpb25zLmZyb21fbWF4KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF90b19yZWFsLCB0aGlzLm9wdGlvbnMudG9fbWluLCB0aGlzLm9wdGlvbnMudG9fbWF4KTsKCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9zaW5nbGVfZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7CgogICAgICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0ID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAic2luZ2xlIjoKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmZyb21fZml4ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsID0gdGhpcy5jb252ZXJ0VG9SZWFsUGVyY2VudChoYW5kbGVfeCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF9zaW5nbGVfcmVhbCwgdGhpcy5vcHRpb25zLmZyb21fbWluLCB0aGlzLm9wdGlvbnMuZnJvbV9tYXgpOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9mYWtlID0gdGhpcy5jb252ZXJ0VG9GYWtlUGVyY2VudCh0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsKTsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAiZnJvbSI6CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mcm9tX2ZpeGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNvbnZlcnRUb1JlYWxQZXJjZW50KGhhbmRsZV94KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKTsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPiB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNvb3Jkcy5wX3RvX3JlYWw7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jaGVja0RpYXBhc29uKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsLCB0aGlzLm9wdGlvbnMuZnJvbV9taW4sIHRoaXMub3B0aW9ucy5mcm9tX21heCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgImZyb20iKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCA9IHRoaXMuY2hlY2tNYXhJbnRlcnZhbCh0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCwgdGhpcy5jb29yZHMucF90b19yZWFsLCAiZnJvbSIpOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOwoKICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICJ0byI6CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50b19maXhlZCkgewogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY29udmVydFRvUmVhbFBlcmNlbnQoaGFuZGxlX3gpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29vcmRzLnBfdG9fcmVhbCA8IHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF90b19yZWFsLCB0aGlzLm9wdGlvbnMudG9fbWluLCB0aGlzLm9wdGlvbnMudG9fbWF4KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF90b19yZWFsLCB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCwgInRvIik7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF90b19yZWFsID0gdGhpcy5jaGVja01heEludGVydmFsKHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwsICJ0byIpOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgPSB0aGlzLmNvbnZlcnRUb0Zha2VQZXJjZW50KHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7CgogICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgImJvdGgiOgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZnJvbV9maXhlZCB8fCB0aGlzLm9wdGlvbnMudG9fZml4ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBoYW5kbGVfeCA9IHRoaXMudG9GaXhlZChoYW5kbGVfeCArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAqIDAuMDAxKSk7CgogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jb252ZXJ0VG9SZWFsUGVyY2VudChoYW5kbGVfeCkgLSB0aGlzLmNvb3Jkcy5wX2dhcF9sZWZ0OwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jYWxjV2l0aFN0ZXAodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsID0gdGhpcy5jaGVja0RpYXBhc29uKHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsLCB0aGlzLm9wdGlvbnMuZnJvbV9taW4sIHRoaXMub3B0aW9ucy5mcm9tX21heCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrTWluSW50ZXJ2YWwodGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgImZyb20iKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNvbnZlcnRUb1JlYWxQZXJjZW50KGhhbmRsZV94KSArIHRoaXMuY29vcmRzLnBfZ2FwX3JpZ2h0OwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2FsY1dpdGhTdGVwKHRoaXMuY29vcmRzLnBfdG9fcmVhbCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF90b19yZWFsID0gdGhpcy5jaGVja0RpYXBhc29uKHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgdGhpcy5vcHRpb25zLnRvX21pbiwgdGhpcy5vcHRpb25zLnRvX21heCk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF90b19yZWFsID0gdGhpcy5jaGVja01pbkludGVydmFsKHRoaXMuY29vcmRzLnBfdG9fcmVhbCwgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwsICJ0byIpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF90b19yZWFsKTsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAiYm90aF9vbmUiOgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZnJvbV9maXhlZCB8fCB0aGlzLm9wdGlvbnMudG9fZml4ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgcmVhbF94ID0gdGhpcy5jb252ZXJ0VG9SZWFsUGVyY2VudChoYW5kbGVfeCksCiAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gPSB0aGlzLnJlc3VsdC5mcm9tX3BlcmNlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHRvID0gdGhpcy5yZXN1bHQudG9fcGVyY2VudCwKICAgICAgICAgICAgICAgICAgICAgICAgZnVsbCA9IHRvIC0gZnJvbSwKICAgICAgICAgICAgICAgICAgICAgICAgaGFsZiA9IGZ1bGwgLyAyLAogICAgICAgICAgICAgICAgICAgICAgICBuZXdfZnJvbSA9IHJlYWxfeCAtIGhhbGYsCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld190byA9IHJlYWxfeCArIGhhbGY7CgogICAgICAgICAgICAgICAgICAgIGlmIChuZXdfZnJvbSA8IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2Zyb20gPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBuZXdfdG8gPSBuZXdfZnJvbSArIGZ1bGw7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAobmV3X3RvID4gMTAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld190byA9IDEwMDsKICAgICAgICAgICAgICAgICAgICAgICAgbmV3X2Zyb20gPSBuZXdfdG8gLSBmdWxsOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNhbGNXaXRoU3RlcChuZXdfZnJvbSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9mcm9tX3JlYWwgPSB0aGlzLmNoZWNrRGlhcGFzb24odGhpcy5jb29yZHMucF9mcm9tX3JlYWwsIHRoaXMub3B0aW9ucy5mcm9tX21pbiwgdGhpcy5vcHRpb25zLmZyb21fbWF4KTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF9mcm9tX3JlYWwpOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgPSB0aGlzLmNhbGNXaXRoU3RlcChuZXdfdG8pOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fcmVhbCA9IHRoaXMuY2hlY2tEaWFwYXNvbih0aGlzLmNvb3Jkcy5wX3RvX3JlYWwsIHRoaXMub3B0aW9ucy50b19taW4sIHRoaXMub3B0aW9ucy50b19tYXgpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfdG9fZmFrZSA9IHRoaXMuY29udmVydFRvRmFrZVBlcmNlbnQodGhpcy5jb29yZHMucF90b19yZWFsKTsKCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfYmFyX3ggPSAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAyKTsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfYmFyX3cgPSB0aGlzLmNvb3Jkcy5wX3NpbmdsZV9mYWtlOwoKICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fcGVyY2VudCA9IHRoaXMuY29vcmRzLnBfc2luZ2xlX3JlYWw7CiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC5mcm9tID0gdGhpcy5jb252ZXJ0VG9WYWx1ZSh0aGlzLmNvb3Jkcy5wX3NpbmdsZV9yZWFsKTsKICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fcHJldHR5ID0gdGhpcy5fcHJldHRpZnkodGhpcy5yZXN1bHQuZnJvbSk7CgogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQuZnJvbV92YWx1ZSA9IHRoaXMub3B0aW9ucy52YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2Jhcl94ID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLnBfZnJvbV9mYWtlICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMikpOwogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMucF9iYXJfdyA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgLSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSk7CgogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQuZnJvbV9wZXJjZW50ID0gdGhpcy5jb29yZHMucF9mcm9tX3JlYWw7CiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC5mcm9tID0gdGhpcy5jb252ZXJ0VG9WYWx1ZSh0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCk7CiAgICAgICAgICAgICAgICB0aGlzLnJlc3VsdC5mcm9tX3ByZXR0eSA9IHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LmZyb20pOwogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQudG9fcGVyY2VudCA9IHRoaXMuY29vcmRzLnBfdG9fcmVhbDsKICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvID0gdGhpcy5jb252ZXJ0VG9WYWx1ZSh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwpOwogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQudG9fcHJldHR5ID0gdGhpcy5fcHJldHRpZnkodGhpcy5yZXN1bHQudG8pOwoKICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb21fdmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWVzW3RoaXMucmVzdWx0LmZyb21dOwogICAgICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvX3ZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlc1t0aGlzLnJlc3VsdC50b107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuY2FsY01pbk1heCgpOwogICAgICAgICAgICB0aGlzLmNhbGNMYWJlbHMoKTsKICAgICAgICB9LAoKCiAgICAgICAgLyoqCiAgICAgICAgICogY2FsY3VsYXRlcyBwb2ludGVyIFggaW4gcGVyY2VudAogICAgICAgICAqLwogICAgICAgIGNhbGNQb2ludGVyUGVyY2VudDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLnBfcG9pbnRlciA9IDA7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPCAwIHx8IGlzTmFOKHRoaXMuY29vcmRzLnhfcG9pbnRlcikgICkgewogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMueF9wb2ludGVyID0gMDsKICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPiB0aGlzLmNvb3Jkcy53X3JzKSB7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy54X3BvaW50ZXIgPSB0aGlzLmNvb3Jkcy53X3JzOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX3BvaW50ZXIgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMueF9wb2ludGVyIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMCk7CiAgICAgICAgfSwKCiAgICAgICAgY29udmVydFRvUmVhbFBlcmNlbnQ6IGZ1bmN0aW9uIChmYWtlKSB7CiAgICAgICAgICAgIHZhciBmdWxsID0gMTAwIC0gdGhpcy5jb29yZHMucF9oYW5kbGU7CiAgICAgICAgICAgIHJldHVybiBmYWtlIC8gZnVsbCAqIDEwMDsKICAgICAgICB9LAoKICAgICAgICBjb252ZXJ0VG9GYWtlUGVyY2VudDogZnVuY3Rpb24gKHJlYWwpIHsKICAgICAgICAgICAgdmFyIGZ1bGwgPSAxMDAgLSB0aGlzLmNvb3Jkcy5wX2hhbmRsZTsKICAgICAgICAgICAgcmV0dXJuIHJlYWwgLyAxMDAgKiBmdWxsOwogICAgICAgIH0sCgogICAgICAgIGdldEhhbmRsZVg6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIG1heCA9IDEwMCAtIHRoaXMuY29vcmRzLnBfaGFuZGxlLAogICAgICAgICAgICAgICAgeCA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5wX3BvaW50ZXIgLSB0aGlzLmNvb3Jkcy5wX2dhcCk7CgogICAgICAgICAgICBpZiAoeCA8IDApIHsKICAgICAgICAgICAgICAgIHggPSAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKHggPiBtYXgpIHsKICAgICAgICAgICAgICAgIHggPSBtYXg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB4OwogICAgICAgIH0sCgogICAgICAgIGNhbGNIYW5kbGVQZXJjZW50OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLndfaGFuZGxlID0gdGhpcy4kY2FjaGUuc19zaW5nbGUub3V0ZXJXaWR0aChmYWxzZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy53X2hhbmRsZSA9IHRoaXMuJGNhY2hlLnNfZnJvbS5vdXRlcldpZHRoKGZhbHNlKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5jb29yZHMucF9oYW5kbGUgPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMud19oYW5kbGUgLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwKTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBGaW5kIGNsb3Nlc3QgaGFuZGxlIHRvIHBvaW50ZXIgY2xpY2sKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSByZWFsX3gge051bWJlcn0KICAgICAgICAgKiBAcmV0dXJucyB7U3RyaW5nfQogICAgICAgICAqLwogICAgICAgIGNob29zZUhhbmRsZTogZnVuY3Rpb24gKHJlYWxfeCkgewogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gInNpbmdsZSI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgbV9wb2ludCA9IHRoaXMuY29vcmRzLnBfZnJvbV9yZWFsICsgKCh0aGlzLmNvb3Jkcy5wX3RvX3JlYWwgLSB0aGlzLmNvb3Jkcy5wX2Zyb21fcmVhbCkgLyAyKTsKICAgICAgICAgICAgICAgIGlmIChyZWFsX3ggPj0gbV9wb2ludCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9fZml4ZWQgPyAiZnJvbSIgOiAidG8iOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmZyb21fZml4ZWQgPyAidG8iIDogImZyb20iOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogTWVhc3VyZSBNaW4gYW5kIE1heCBsYWJlbHMgd2lkdGggaW4gcGVyY2VudAogICAgICAgICAqLwogICAgICAgIGNhbGNNaW5NYXg6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfbWluID0gdGhpcy5sYWJlbHMud19taW4gLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOwogICAgICAgICAgICB0aGlzLmxhYmVscy5wX21heCA9IHRoaXMubGFiZWxzLndfbWF4IC8gdGhpcy5jb29yZHMud19ycyAqIDEwMDsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBNZWFzdXJlIGxhYmVscyB3aWR0aCBhbmQgWCBpbiBwZXJjZW50CiAgICAgICAgICovCiAgICAgICAgY2FsY0xhYmVsczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMgfHwgdGhpcy5vcHRpb25zLmhpZGVfZnJvbV90bykgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7CgogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMud19zaW5nbGUgPSB0aGlzLiRjYWNoZS5zaW5nbGUub3V0ZXJXaWR0aChmYWxzZSk7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3NpbmdsZV9mYWtlID0gdGhpcy5sYWJlbHMud19zaW5nbGUgLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA9IHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2UgKyAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAyKSAtICh0aGlzLmxhYmVscy5wX3NpbmdsZV9mYWtlIC8gMik7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ID0gdGhpcy5jaGVja0VkZ2VzKHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQsIHRoaXMubGFiZWxzLnBfc2luZ2xlX2Zha2UpOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy53X2Zyb20gPSB0aGlzLiRjYWNoZS5mcm9tLm91dGVyV2lkdGgoZmFsc2UpOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9mcm9tX2Zha2UgPSB0aGlzLmxhYmVscy53X2Zyb20gLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgPSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpIC0gKHRoaXMubGFiZWxzLnBfZnJvbV9mYWtlIC8gMik7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX2Zyb21fbGVmdCA9IHRoaXMudG9GaXhlZCh0aGlzLmxhYmVscy5wX2Zyb21fbGVmdCk7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX2Zyb21fbGVmdCA9IHRoaXMuY2hlY2tFZGdlcyh0aGlzLmxhYmVscy5wX2Zyb21fbGVmdCwgdGhpcy5sYWJlbHMucF9mcm9tX2Zha2UpOwoKICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLndfdG8gPSB0aGlzLiRjYWNoZS50by5vdXRlcldpZHRoKGZhbHNlKTsKICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfdG9fZmFrZSA9IHRoaXMubGFiZWxzLndfdG8gLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF90b19sZWZ0ID0gdGhpcy5jb29yZHMucF90b19mYWtlICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMikgLSAodGhpcy5sYWJlbHMucF90b19mYWtlIC8gMik7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3RvX2xlZnQgPSB0aGlzLnRvRml4ZWQodGhpcy5sYWJlbHMucF90b19sZWZ0KTsKICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfdG9fbGVmdCA9IHRoaXMuY2hlY2tFZGdlcyh0aGlzLmxhYmVscy5wX3RvX2xlZnQsIHRoaXMubGFiZWxzLnBfdG9fZmFrZSk7CgogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMud19zaW5nbGUgPSB0aGlzLiRjYWNoZS5zaW5nbGUub3V0ZXJXaWR0aChmYWxzZSk7CiAgICAgICAgICAgICAgICB0aGlzLmxhYmVscy5wX3NpbmdsZV9mYWtlID0gdGhpcy5sYWJlbHMud19zaW5nbGUgLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA9ICgodGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgKyB0aGlzLmxhYmVscy5wX3RvX2xlZnQgKyB0aGlzLmxhYmVscy5wX3RvX2Zha2UpIC8gMikgLSAodGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSAvIDIpOwogICAgICAgICAgICAgICAgdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA9IHRoaXMudG9GaXhlZCh0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0KTsKICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQgPSB0aGlzLmNoZWNrRWRnZXModGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCwgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSk7CgogICAgICAgICAgICB9CiAgICAgICAgfSwKCgoKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgLy8gRHJhd2luZ3MKCiAgICAgICAgLyoqCiAgICAgICAgICogTWFpbiBmdW5jdGlvbiBjYWxsZWQgaW4gcmVxdWVzdCBhbmltYXRpb24gZnJhbWUKICAgICAgICAgKiB0byB1cGRhdGUgZXZlcnl0aGluZwogICAgICAgICAqLwogICAgICAgIHVwZGF0ZVNjZW5lOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICh0aGlzLnJhZl9pZCkgewogICAgICAgICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5yYWZfaWQpOwogICAgICAgICAgICAgICAgdGhpcy5yYWZfaWQgPSBudWxsOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVfdG0pOwogICAgICAgICAgICB0aGlzLnVwZGF0ZV90bSA9IG51bGw7CgogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aGlzLmRyYXdIYW5kbGVzKCk7CgogICAgICAgICAgICBpZiAodGhpcy5pc19hY3RpdmUpIHsKICAgICAgICAgICAgICAgIHRoaXMucmFmX2lkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlU2NlbmUuYmluZCh0aGlzKSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZV90bSA9IHNldFRpbWVvdXQodGhpcy51cGRhdGVTY2VuZS5iaW5kKHRoaXMpLCAzMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogRHJhdyBoYW5kbGVzCiAgICAgICAgICovCiAgICAgICAgZHJhd0hhbmRsZXM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5jb29yZHMud19ycyA9IHRoaXMuJGNhY2hlLnJzLm91dGVyV2lkdGgoZmFsc2UpOwoKICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLmNvb3Jkcy53X3JzICE9PSB0aGlzLmNvb3Jkcy53X3JzX29sZCkgewogICAgICAgICAgICAgICAgdGhpcy50YXJnZXQgPSAiYmFzZSI7CiAgICAgICAgICAgICAgICB0aGlzLmlzX3Jlc2l6ZSA9IHRydWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLmNvb3Jkcy53X3JzICE9PSB0aGlzLmNvb3Jkcy53X3JzX29sZCB8fCB0aGlzLmZvcmNlX3JlZHJhdykgewogICAgICAgICAgICAgICAgdGhpcy5zZXRNaW5NYXgoKTsKICAgICAgICAgICAgICAgIHRoaXMuY2FsYyh0cnVlKTsKICAgICAgICAgICAgICAgIHRoaXMuZHJhd0xhYmVscygpOwogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5ncmlkKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWxjR3JpZE1hcmdpbigpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRMYWJlbHMoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLndfcnNfb2xkID0gdGhpcy5jb29yZHMud19yczsKICAgICAgICAgICAgICAgIHRoaXMuZHJhd1NoYWRvdygpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIXRoaXMuY29vcmRzLndfcnMpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCF0aGlzLmRyYWdnaW5nICYmICF0aGlzLmZvcmNlX3JlZHJhdyAmJiAhdGhpcy5pc19rZXkpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMub2xkX2Zyb20gIT09IHRoaXMucmVzdWx0LmZyb20gfHwgdGhpcy5vbGRfdG8gIT09IHRoaXMucmVzdWx0LnRvIHx8IHRoaXMuZm9yY2VfcmVkcmF3IHx8IHRoaXMuaXNfa2V5KSB7CgogICAgICAgICAgICAgICAgdGhpcy5kcmF3TGFiZWxzKCk7CgogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX2Jhcl94ICsgIiUiOwogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuYmFyWzBdLnN0eWxlLndpZHRoID0gdGhpcy5jb29yZHMucF9iYXJfdyArICIlIjsKCiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICJzaW5nbGUiKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc19zaW5nbGVbMF0uc3R5bGUubGVmdCA9IHRoaXMuY29vcmRzLnBfc2luZ2xlX2Zha2UgKyAiJSI7CgogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS5sZWZ0ID0gdGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCArICIlIjsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc19mcm9tWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX2Zyb21fZmFrZSArICIlIjsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zX3RvWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmNvb3Jkcy5wX3RvX2Zha2UgKyAiJSI7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9sZF9mcm9tICE9PSB0aGlzLnJlc3VsdC5mcm9tIHx8IHRoaXMuZm9yY2VfcmVkcmF3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb21bMF0uc3R5bGUubGVmdCA9IHRoaXMubGFiZWxzLnBfZnJvbV9sZWZ0ICsgIiUiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vbGRfdG8gIT09IHRoaXMucmVzdWx0LnRvIHx8IHRoaXMuZm9yY2VfcmVkcmF3KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvWzBdLnN0eWxlLmxlZnQgPSB0aGlzLmxhYmVscy5wX3RvX2xlZnQgKyAiJSI7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5zaW5nbGVbMF0uc3R5bGUubGVmdCA9IHRoaXMubGFiZWxzLnBfc2luZ2xlX2xlZnQgKyAiJSI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdGhpcy53cml0ZVRvSW5wdXQoKTsKCiAgICAgICAgICAgICAgICBpZiAoKHRoaXMub2xkX2Zyb20gIT09IHRoaXMucmVzdWx0LmZyb20gfHwgdGhpcy5vbGRfdG8gIT09IHRoaXMucmVzdWx0LnRvKSAmJiAhdGhpcy5pc19zdGFydCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnRyaWdnZXIoImNoYW5nZSIpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnRyaWdnZXIoImlucHV0Iik7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdGhpcy5vbGRfZnJvbSA9IHRoaXMucmVzdWx0LmZyb207CiAgICAgICAgICAgICAgICB0aGlzLm9sZF90byA9IHRoaXMucmVzdWx0LnRvOwoKICAgICAgICAgICAgICAgIC8vIGNhbGxiYWNrcyBjYWxsCiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNfcmVzaXplICYmICF0aGlzLmlzX3VwZGF0ZSAmJiAhdGhpcy5pc19zdGFydCAmJiAhdGhpcy5pc19maW5pc2gpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGxPbkNoYW5nZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNfa2V5IHx8IHRoaXMuaXNfY2xpY2spIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmlzX2tleSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIHRoaXMuaXNfY2xpY2sgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbGxPbkZpbmlzaCgpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHRoaXMuaXNfdXBkYXRlID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0aGlzLmlzX3Jlc2l6ZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgdGhpcy5pc19maW5pc2ggPSBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdGhpcy5pc19zdGFydCA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLmlzX2tleSA9IGZhbHNlOwogICAgICAgICAgICB0aGlzLmlzX2NsaWNrID0gZmFsc2U7CiAgICAgICAgICAgIHRoaXMuZm9yY2VfcmVkcmF3ID0gZmFsc2U7CiAgICAgICAgfSwKCiAgICAgICAgLyoqCiAgICAgICAgICogRHJhdyBsYWJlbHMKICAgICAgICAgKiBtZWFzdXJlIGxhYmVscyBjb2xsaXNpb25zCiAgICAgICAgICogY29sbGFwc2UgY2xvc2UgbGFiZWxzCiAgICAgICAgICovCiAgICAgICAgZHJhd0xhYmVsczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucykgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgdmFsdWVzX251bSA9IHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoOwogICAgICAgICAgICB2YXIgcF92YWx1ZXMgPSB0aGlzLm9wdGlvbnMucF92YWx1ZXM7CiAgICAgICAgICAgIHZhciB0ZXh0X3NpbmdsZTsKICAgICAgICAgICAgdmFyIHRleHRfZnJvbTsKICAgICAgICAgICAgdmFyIHRleHRfdG87CiAgICAgICAgICAgIHZhciBmcm9tX3ByZXR0eTsKICAgICAgICAgICAgdmFyIHRvX3ByZXR0eTsKCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaGlkZV9mcm9tX3RvKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsKCiAgICAgICAgICAgICAgICBpZiAodmFsdWVzX251bSkgewogICAgICAgICAgICAgICAgICAgIHRleHRfc2luZ2xlID0gdGhpcy5kZWNvcmF0ZShwX3ZhbHVlc1t0aGlzLnJlc3VsdC5mcm9tXSk7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLmh0bWwodGV4dF9zaW5nbGUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBmcm9tX3ByZXR0eSA9IHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LmZyb20pOwoKICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUoZnJvbV9wcmV0dHksIHRoaXMucmVzdWx0LmZyb20pOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZS5odG1sKHRleHRfc2luZ2xlKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB0aGlzLmNhbGNMYWJlbHMoKTsKCiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYWJlbHMucF9zaW5nbGVfbGVmdCA8IHRoaXMubGFiZWxzLnBfbWluICsgMSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pblswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pblswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICh0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ICsgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSA+IDEwMCAtIHRoaXMubGFiZWxzLnBfbWF4IC0gMSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heFswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1heFswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICBpZiAodmFsdWVzX251bSkgewoKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmRlY29yYXRlX2JvdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgPSB0aGlzLmRlY29yYXRlKHBfdmFsdWVzW3RoaXMucmVzdWx0LmZyb21dKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgKz0gdGhpcy5vcHRpb25zLnZhbHVlc19zZXBhcmF0b3I7CiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRfc2luZ2xlICs9IHRoaXMuZGVjb3JhdGUocF92YWx1ZXNbdGhpcy5yZXN1bHQudG9dKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUocF92YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV0gKyB0aGlzLm9wdGlvbnMudmFsdWVzX3NlcGFyYXRvciArIHBfdmFsdWVzW3RoaXMucmVzdWx0LnRvXSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHRleHRfZnJvbSA9IHRoaXMuZGVjb3JhdGUocF92YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV0pOwogICAgICAgICAgICAgICAgICAgIHRleHRfdG8gPSB0aGlzLmRlY29yYXRlKHBfdmFsdWVzW3RoaXMucmVzdWx0LnRvXSk7CgogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZS5odG1sKHRleHRfc2luZ2xlKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tLmh0bWwodGV4dF9mcm9tKTsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50by5odG1sKHRleHRfdG8pOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZnJvbV9wcmV0dHkgPSB0aGlzLl9wcmV0dGlmeSh0aGlzLnJlc3VsdC5mcm9tKTsKICAgICAgICAgICAgICAgICAgICB0b19wcmV0dHkgPSB0aGlzLl9wcmV0dGlmeSh0aGlzLnJlc3VsdC50byk7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZGVjb3JhdGVfYm90aCkgewogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUoZnJvbV9wcmV0dHksIHRoaXMucmVzdWx0LmZyb20pOwogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSArPSB0aGlzLm9wdGlvbnMudmFsdWVzX3NlcGFyYXRvcjsKICAgICAgICAgICAgICAgICAgICAgICAgdGV4dF9zaW5nbGUgKz0gdGhpcy5kZWNvcmF0ZSh0b19wcmV0dHksIHRoaXMucmVzdWx0LnRvKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0X3NpbmdsZSA9IHRoaXMuZGVjb3JhdGUoZnJvbV9wcmV0dHkgKyB0aGlzLm9wdGlvbnMudmFsdWVzX3NlcGFyYXRvciArIHRvX3ByZXR0eSwgdGhpcy5yZXN1bHQudG8pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0ZXh0X2Zyb20gPSB0aGlzLmRlY29yYXRlKGZyb21fcHJldHR5LCB0aGlzLnJlc3VsdC5mcm9tKTsKICAgICAgICAgICAgICAgICAgICB0ZXh0X3RvID0gdGhpcy5kZWNvcmF0ZSh0b19wcmV0dHksIHRoaXMucmVzdWx0LnRvKTsKCiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlLmh0bWwodGV4dF9zaW5nbGUpOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb20uaHRtbCh0ZXh0X2Zyb20pOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvLmh0bWwodGV4dF90byk7CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHRoaXMuY2FsY0xhYmVscygpOwoKICAgICAgICAgICAgICAgIHZhciBtaW4gPSBNYXRoLm1pbih0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0LCB0aGlzLmxhYmVscy5wX2Zyb21fbGVmdCksCiAgICAgICAgICAgICAgICAgICAgc2luZ2xlX2xlZnQgPSB0aGlzLmxhYmVscy5wX3NpbmdsZV9sZWZ0ICsgdGhpcy5sYWJlbHMucF9zaW5nbGVfZmFrZSwKICAgICAgICAgICAgICAgICAgICB0b19sZWZ0ID0gdGhpcy5sYWJlbHMucF90b19sZWZ0ICsgdGhpcy5sYWJlbHMucF90b19mYWtlLAogICAgICAgICAgICAgICAgICAgIG1heCA9IE1hdGgubWF4KHNpbmdsZV9sZWZ0LCB0b19sZWZ0KTsKCiAgICAgICAgICAgICAgICBpZiAodGhpcy5sYWJlbHMucF9mcm9tX2xlZnQgKyB0aGlzLmxhYmVscy5wX2Zyb21fZmFrZSA+PSB0aGlzLmxhYmVscy5wX3RvX2xlZnQpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5mcm9tWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc3VsdC5mcm9tID09PSB0aGlzLnJlc3VsdC50bykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50YXJnZXQgPT09ICJmcm9tIikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGFyZ2V0ID09PSAidG8iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnRhcmdldCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IHRvX2xlZnQ7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuZnJvbVswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnRvWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuc2luZ2xlWzBdLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CiAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IE1hdGgubWF4KHNpbmdsZV9sZWZ0LCB0b19sZWZ0KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmZyb21bMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS50b1swXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLnNpbmdsZVswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKG1pbiA8IHRoaXMubGFiZWxzLnBfbWluICsgMSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pblswXS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLm1pblswXS5zdHlsZS52aXNpYmlsaXR5ID0gInZpc2libGUiOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChtYXggPiAxMDAgLSB0aGlzLmxhYmVscy5wX21heCAtIDEpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXhbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5tYXhbMF0uc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBEcmF3IHNoYWRvdyBpbnRlcnZhbHMKICAgICAgICAgKi8KICAgICAgICBkcmF3U2hhZG93OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLAogICAgICAgICAgICAgICAgYyA9IHRoaXMuJGNhY2hlLAoKICAgICAgICAgICAgICAgIGlzX2Zyb21fbWluID0gdHlwZW9mIG8uZnJvbV9taW4gPT09ICJudW1iZXIiICYmICFpc05hTihvLmZyb21fbWluKSwKICAgICAgICAgICAgICAgIGlzX2Zyb21fbWF4ID0gdHlwZW9mIG8uZnJvbV9tYXggPT09ICJudW1iZXIiICYmICFpc05hTihvLmZyb21fbWF4KSwKICAgICAgICAgICAgICAgIGlzX3RvX21pbiA9IHR5cGVvZiBvLnRvX21pbiA9PT0gIm51bWJlciIgJiYgIWlzTmFOKG8udG9fbWluKSwKICAgICAgICAgICAgICAgIGlzX3RvX21heCA9IHR5cGVvZiBvLnRvX21heCA9PT0gIm51bWJlciIgJiYgIWlzTmFOKG8udG9fbWF4KSwKCiAgICAgICAgICAgICAgICBmcm9tX21pbiwKICAgICAgICAgICAgICAgIGZyb21fbWF4LAogICAgICAgICAgICAgICAgdG9fbWluLAogICAgICAgICAgICAgICAgdG9fbWF4OwoKICAgICAgICAgICAgaWYgKG8udHlwZSA9PT0gInNpbmdsZSIpIHsKICAgICAgICAgICAgICAgIGlmIChvLmZyb21fc2hhZG93ICYmIChpc19mcm9tX21pbiB8fCBpc19mcm9tX21heCkpIHsKICAgICAgICAgICAgICAgICAgICBmcm9tX21pbiA9IHRoaXMuY29udmVydFRvUGVyY2VudChpc19mcm9tX21pbiA/IG8uZnJvbV9taW4gOiBvLm1pbik7CiAgICAgICAgICAgICAgICAgICAgZnJvbV9tYXggPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoaXNfZnJvbV9tYXggPyBvLmZyb21fbWF4IDogby5tYXgpIC0gZnJvbV9taW47CiAgICAgICAgICAgICAgICAgICAgZnJvbV9taW4gPSB0aGlzLnRvRml4ZWQoZnJvbV9taW4gLSAodGhpcy5jb29yZHMucF9oYW5kbGUgLyAxMDAgKiBmcm9tX21pbikpOwogICAgICAgICAgICAgICAgICAgIGZyb21fbWF4ID0gdGhpcy50b0ZpeGVkKGZyb21fbWF4IC0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMTAwICogZnJvbV9tYXgpKTsKICAgICAgICAgICAgICAgICAgICBmcm9tX21pbiA9IGZyb21fbWluICsgKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMik7CgogICAgICAgICAgICAgICAgICAgIGMuc2hhZF9zaW5nbGVbMF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3NpbmdsZVswXS5zdHlsZS5sZWZ0ID0gZnJvbV9taW4gKyAiJSI7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3NpbmdsZVswXS5zdHlsZS53aWR0aCA9IGZyb21fbWF4ICsgIiUiOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjLnNoYWRfc2luZ2xlWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoby5mcm9tX3NoYWRvdyAmJiAoaXNfZnJvbV9taW4gfHwgaXNfZnJvbV9tYXgpKSB7CiAgICAgICAgICAgICAgICAgICAgZnJvbV9taW4gPSB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoaXNfZnJvbV9taW4gPyBvLmZyb21fbWluIDogby5taW4pOwogICAgICAgICAgICAgICAgICAgIGZyb21fbWF4ID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGlzX2Zyb21fbWF4ID8gby5mcm9tX21heCA6IG8ubWF4KSAtIGZyb21fbWluOwogICAgICAgICAgICAgICAgICAgIGZyb21fbWluID0gdGhpcy50b0ZpeGVkKGZyb21fbWluIC0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMTAwICogZnJvbV9taW4pKTsKICAgICAgICAgICAgICAgICAgICBmcm9tX21heCA9IHRoaXMudG9GaXhlZChmcm9tX21heCAtICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDEwMCAqIGZyb21fbWF4KSk7CiAgICAgICAgICAgICAgICAgICAgZnJvbV9taW4gPSBmcm9tX21pbiArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpOwoKICAgICAgICAgICAgICAgICAgICBjLnNoYWRfZnJvbVswXS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgICAgICAgICAgICAgICBjLnNoYWRfZnJvbVswXS5zdHlsZS5sZWZ0ID0gZnJvbV9taW4gKyAiJSI7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX2Zyb21bMF0uc3R5bGUud2lkdGggPSBmcm9tX21heCArICIlIjsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX2Zyb21bMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoby50b19zaGFkb3cgJiYgKGlzX3RvX21pbiB8fCBpc190b19tYXgpKSB7CiAgICAgICAgICAgICAgICAgICAgdG9fbWluID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGlzX3RvX21pbiA/IG8udG9fbWluIDogby5taW4pOwogICAgICAgICAgICAgICAgICAgIHRvX21heCA9IHRoaXMuY29udmVydFRvUGVyY2VudChpc190b19tYXggPyBvLnRvX21heCA6IG8ubWF4KSAtIHRvX21pbjsKICAgICAgICAgICAgICAgICAgICB0b19taW4gPSB0aGlzLnRvRml4ZWQodG9fbWluIC0gKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMTAwICogdG9fbWluKSk7CiAgICAgICAgICAgICAgICAgICAgdG9fbWF4ID0gdGhpcy50b0ZpeGVkKHRvX21heCAtICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDEwMCAqIHRvX21heCkpOwogICAgICAgICAgICAgICAgICAgIHRvX21pbiA9IHRvX21pbiArICh0aGlzLmNvb3Jkcy5wX2hhbmRsZSAvIDIpOwoKICAgICAgICAgICAgICAgICAgICBjLnNoYWRfdG9bMF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3RvWzBdLnN0eWxlLmxlZnQgPSB0b19taW4gKyAiJSI7CiAgICAgICAgICAgICAgICAgICAgYy5zaGFkX3RvWzBdLnN0eWxlLndpZHRoID0gdG9fbWF4ICsgIiUiOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjLnNoYWRfdG9bMF0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCgoKCiAgICAgICAgLyoqCiAgICAgICAgICogV3JpdGUgdmFsdWVzIHRvIGlucHV0IGVsZW1lbnQKICAgICAgICAgKi8KICAgICAgICB3cml0ZVRvSW5wdXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50eXBlID09PSAic2luZ2xlIikgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgidmFsdWUiLCB0aGlzLnJlc3VsdC5mcm9tX3ZhbHVlKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgidmFsdWUiLCB0aGlzLnJlc3VsdC5mcm9tKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LmRhdGEoImZyb20iLCB0aGlzLnJlc3VsdC5mcm9tKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LnByb3AoInZhbHVlIiwgdGhpcy5yZXN1bHQuZnJvbV92YWx1ZSArIHRoaXMub3B0aW9ucy5pbnB1dF92YWx1ZXNfc2VwYXJhdG9yICsgdGhpcy5yZXN1bHQudG9fdmFsdWUpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC5wcm9wKCJ2YWx1ZSIsIHRoaXMucmVzdWx0LmZyb20gKyB0aGlzLm9wdGlvbnMuaW5wdXRfdmFsdWVzX3NlcGFyYXRvciArIHRoaXMucmVzdWx0LnRvKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LmRhdGEoImZyb20iLCB0aGlzLnJlc3VsdC5mcm9tKTsKICAgICAgICAgICAgICAgIHRoaXMuJGNhY2hlLmlucHV0LmRhdGEoInRvIiwgdGhpcy5yZXN1bHQudG8pOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgoKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgLy8gQ2FsbGJhY2tzCgogICAgICAgIGNhbGxPblN0YXJ0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMud3JpdGVUb0lucHV0KCk7CgogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm9uU3RhcnQgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vblN0YXJ0ID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNjb3BlKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm9uU3RhcnQuY2FsbCh0aGlzLm9wdGlvbnMuc2NvcGUsIHRoaXMucmVzdWx0KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLm9uU3RhcnQodGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBjYWxsT25DaGFuZ2U6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy53cml0ZVRvSW5wdXQoKTsKCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMub25DaGFuZ2UgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vbkNoYW5nZSA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zY29wZSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5vbkNoYW5nZS5jYWxsKHRoaXMub3B0aW9ucy5zY29wZSwgdGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMub25DaGFuZ2UodGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBjYWxsT25GaW5pc2g6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy53cml0ZVRvSW5wdXQoKTsKCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMub25GaW5pc2ggJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vbkZpbmlzaCA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zY29wZSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5vbkZpbmlzaC5jYWxsKHRoaXMub3B0aW9ucy5zY29wZSwgdGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMub25GaW5pc2godGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBjYWxsT25VcGRhdGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy53cml0ZVRvSW5wdXQoKTsKCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMub25VcGRhdGUgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5vblVwZGF0ZSA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5zY29wZSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5vblVwZGF0ZS5jYWxsKHRoaXMub3B0aW9ucy5zY29wZSwgdGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMub25VcGRhdGUodGhpcy5yZXN1bHQpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKCgoKCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIFNlcnZpY2UgbWV0aG9kcwoKICAgICAgICB0b2dnbGVJbnB1dDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC50b2dnbGVDbGFzcygiaXJzLWhpZGRlbi1pbnB1dCIpOwoKICAgICAgICAgICAgaWYgKHRoaXMuaGFzX3RhYl9pbmRleCkgewogICAgICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgidGFiaW5kZXgiLCAtMSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5pbnB1dC5yZW1vdmVQcm9wKCJ0YWJpbmRleCIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aGlzLmhhc190YWJfaW5kZXggPSAhdGhpcy5oYXNfdGFiX2luZGV4OwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIENvbnZlcnQgcmVhbCB2YWx1ZSB0byBwZXJjZW50CiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gdmFsdWUge051bWJlcn0gWCBpbiByZWFsCiAgICAgICAgICogQHBhcmFtIG5vX21pbiB7Ym9vbGVhbj19IGRvbid0IHVzZSBtaW4gdmFsdWUKICAgICAgICAgKiBAcmV0dXJucyB7TnVtYmVyfSBYIGluIHBlcmNlbnQKICAgICAgICAgKi8KICAgICAgICBjb252ZXJ0VG9QZXJjZW50OiBmdW5jdGlvbiAodmFsdWUsIG5vX21pbikgewogICAgICAgICAgICB2YXIgZGlhcGFzb24gPSB0aGlzLm9wdGlvbnMubWF4IC0gdGhpcy5vcHRpb25zLm1pbiwKICAgICAgICAgICAgICAgIG9uZV9wZXJjZW50ID0gZGlhcGFzb24gLyAxMDAsCiAgICAgICAgICAgICAgICB2YWwsIHBlcmNlbnQ7CgogICAgICAgICAgICBpZiAoIWRpYXBhc29uKSB7CiAgICAgICAgICAgICAgICB0aGlzLm5vX2RpYXBhc29uID0gdHJ1ZTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobm9fbWluKSB7CiAgICAgICAgICAgICAgICB2YWwgPSB2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHZhbCA9IHZhbHVlIC0gdGhpcy5vcHRpb25zLm1pbjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcGVyY2VudCA9IHZhbCAvIG9uZV9wZXJjZW50OwoKICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9GaXhlZChwZXJjZW50KTsKICAgICAgICB9LAoKICAgICAgICAvKioKICAgICAgICAgKiBDb252ZXJ0IHBlcmNlbnQgdG8gcmVhbCB2YWx1ZXMKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSBwZXJjZW50IHtOdW1iZXJ9IFggaW4gcGVyY2VudAogICAgICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9IFggaW4gcmVhbAogICAgICAgICAqLwogICAgICAgIGNvbnZlcnRUb1ZhbHVlOiBmdW5jdGlvbiAocGVyY2VudCkgewogICAgICAgICAgICB2YXIgbWluID0gdGhpcy5vcHRpb25zLm1pbiwKICAgICAgICAgICAgICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXgsCiAgICAgICAgICAgICAgICBtaW5fZGVjaW1hbHMgPSBtaW4udG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLAogICAgICAgICAgICAgICAgbWF4X2RlY2ltYWxzID0gbWF4LnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXSwKICAgICAgICAgICAgICAgIG1pbl9sZW5ndGgsIG1heF9sZW5ndGgsCiAgICAgICAgICAgICAgICBhdmdfZGVjaW1hbHMgPSAwLAogICAgICAgICAgICAgICAgYWJzID0gMDsKCiAgICAgICAgICAgIGlmIChwZXJjZW50ID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm1pbjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAocGVyY2VudCA9PT0gMTAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm1heDsKICAgICAgICAgICAgfQoKCiAgICAgICAgICAgIGlmIChtaW5fZGVjaW1hbHMpIHsKICAgICAgICAgICAgICAgIG1pbl9sZW5ndGggPSBtaW5fZGVjaW1hbHMubGVuZ3RoOwogICAgICAgICAgICAgICAgYXZnX2RlY2ltYWxzID0gbWluX2xlbmd0aDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAobWF4X2RlY2ltYWxzKSB7CiAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoID0gbWF4X2RlY2ltYWxzLmxlbmd0aDsKICAgICAgICAgICAgICAgIGF2Z19kZWNpbWFscyA9IG1heF9sZW5ndGg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1pbl9sZW5ndGggJiYgbWF4X2xlbmd0aCkgewogICAgICAgICAgICAgICAgYXZnX2RlY2ltYWxzID0gKG1pbl9sZW5ndGggPj0gbWF4X2xlbmd0aCkgPyBtaW5fbGVuZ3RoIDogbWF4X2xlbmd0aDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKG1pbiA8IDApIHsKICAgICAgICAgICAgICAgIGFicyA9IE1hdGguYWJzKG1pbik7CiAgICAgICAgICAgICAgICBtaW4gPSArKG1pbiArIGFicykudG9GaXhlZChhdmdfZGVjaW1hbHMpOwogICAgICAgICAgICAgICAgbWF4ID0gKyhtYXggKyBhYnMpLnRvRml4ZWQoYXZnX2RlY2ltYWxzKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIG51bWJlciA9ICgobWF4IC0gbWluKSAvIDEwMCAqIHBlcmNlbnQpICsgbWluLAogICAgICAgICAgICAgICAgc3RyaW5nID0gdGhpcy5vcHRpb25zLnN0ZXAudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLAogICAgICAgICAgICAgICAgcmVzdWx0OwoKICAgICAgICAgICAgaWYgKHN0cmluZykgewogICAgICAgICAgICAgICAgbnVtYmVyID0gK251bWJlci50b0ZpeGVkKHN0cmluZy5sZW5ndGgpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyIC8gdGhpcy5vcHRpb25zLnN0ZXA7CiAgICAgICAgICAgICAgICBudW1iZXIgPSBudW1iZXIgKiB0aGlzLm9wdGlvbnMuc3RlcDsKCiAgICAgICAgICAgICAgICBudW1iZXIgPSArbnVtYmVyLnRvRml4ZWQoMCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChhYnMpIHsKICAgICAgICAgICAgICAgIG51bWJlciAtPSBhYnM7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChzdHJpbmcpIHsKICAgICAgICAgICAgICAgIHJlc3VsdCA9ICtudW1iZXIudG9GaXhlZChzdHJpbmcubGVuZ3RoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMudG9GaXhlZChudW1iZXIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAocmVzdWx0IDwgdGhpcy5vcHRpb25zLm1pbikgewogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5vcHRpb25zLm1pbjsKICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPiB0aGlzLm9wdGlvbnMubWF4KSB7CiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLm9wdGlvbnMubWF4OwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIFJvdW5kIHBlcmNlbnQgdmFsdWUgd2l0aCBzdGVwCiAgICAgICAgICoKICAgICAgICAgKiBAcGFyYW0gcGVyY2VudCB7TnVtYmVyfQogICAgICAgICAqIEByZXR1cm5zIHBlcmNlbnQge051bWJlcn0gcm91bmRlZAogICAgICAgICAqLwogICAgICAgIGNhbGNXaXRoU3RlcDogZnVuY3Rpb24gKHBlcmNlbnQpIHsKICAgICAgICAgICAgdmFyIHJvdW5kZWQgPSBNYXRoLnJvdW5kKHBlcmNlbnQgLyB0aGlzLmNvb3Jkcy5wX3N0ZXApICogdGhpcy5jb29yZHMucF9zdGVwOwoKICAgICAgICAgICAgaWYgKHJvdW5kZWQgPiAxMDApIHsKICAgICAgICAgICAgICAgIHJvdW5kZWQgPSAxMDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHBlcmNlbnQgPT09IDEwMCkgewogICAgICAgICAgICAgICAgcm91bmRlZCA9IDEwMDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9GaXhlZChyb3VuZGVkKTsKICAgICAgICB9LAoKICAgICAgICBjaGVja01pbkludGVydmFsOiBmdW5jdGlvbiAocF9jdXJyZW50LCBwX25leHQsIHR5cGUpIHsKICAgICAgICAgICAgdmFyIG8gPSB0aGlzLm9wdGlvbnMsCiAgICAgICAgICAgICAgICBjdXJyZW50LAogICAgICAgICAgICAgICAgbmV4dDsKCiAgICAgICAgICAgIGlmICghby5taW5faW50ZXJ2YWwpIHsKICAgICAgICAgICAgICAgIHJldHVybiBwX2N1cnJlbnQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGN1cnJlbnQgPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHBfY3VycmVudCk7CiAgICAgICAgICAgIG5leHQgPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKHBfbmV4dCk7CgogICAgICAgICAgICBpZiAodHlwZSA9PT0gImZyb20iKSB7CgogICAgICAgICAgICAgICAgaWYgKG5leHQgLSBjdXJyZW50IDwgby5taW5faW50ZXJ2YWwpIHsKICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gbmV4dCAtIG8ubWluX2ludGVydmFsOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudCAtIG5leHQgPCBvLm1pbl9pbnRlcnZhbCkgewogICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBuZXh0ICsgby5taW5faW50ZXJ2YWw7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0VG9QZXJjZW50KGN1cnJlbnQpOwogICAgICAgIH0sCgogICAgICAgIGNoZWNrTWF4SW50ZXJ2YWw6IGZ1bmN0aW9uIChwX2N1cnJlbnQsIHBfbmV4dCwgdHlwZSkgewogICAgICAgICAgICB2YXIgbyA9IHRoaXMub3B0aW9ucywKICAgICAgICAgICAgICAgIGN1cnJlbnQsCiAgICAgICAgICAgICAgICBuZXh0OwoKICAgICAgICAgICAgaWYgKCFvLm1heF9pbnRlcnZhbCkgewogICAgICAgICAgICAgICAgcmV0dXJuIHBfY3VycmVudDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY3VycmVudCA9IHRoaXMuY29udmVydFRvVmFsdWUocF9jdXJyZW50KTsKICAgICAgICAgICAgbmV4dCA9IHRoaXMuY29udmVydFRvVmFsdWUocF9uZXh0KTsKCiAgICAgICAgICAgIGlmICh0eXBlID09PSAiZnJvbSIpIHsKCiAgICAgICAgICAgICAgICBpZiAobmV4dCAtIGN1cnJlbnQgPiBvLm1heF9pbnRlcnZhbCkgewogICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBuZXh0IC0gby5tYXhfaW50ZXJ2YWw7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgIGlmIChjdXJyZW50IC0gbmV4dCA+IG8ubWF4X2ludGVydmFsKSB7CiAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IG5leHQgKyBvLm1heF9pbnRlcnZhbDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1BlcmNlbnQoY3VycmVudCk7CiAgICAgICAgfSwKCiAgICAgICAgY2hlY2tEaWFwYXNvbjogZnVuY3Rpb24gKHBfbnVtLCBtaW4sIG1heCkgewogICAgICAgICAgICB2YXIgbnVtID0gdGhpcy5jb252ZXJ0VG9WYWx1ZShwX251bSksCiAgICAgICAgICAgICAgICBvID0gdGhpcy5vcHRpb25zOwoKICAgICAgICAgICAgaWYgKHR5cGVvZiBtaW4gIT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBtaW4gPSBvLm1pbjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHR5cGVvZiBtYXggIT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgICAgICBtYXggPSBvLm1heDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKG51bSA8IG1pbikgewogICAgICAgICAgICAgICAgbnVtID0gbWluOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobnVtID4gbWF4KSB7CiAgICAgICAgICAgICAgICBudW0gPSBtYXg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRUb1BlcmNlbnQobnVtKTsKICAgICAgICB9LAoKICAgICAgICB0b0ZpeGVkOiBmdW5jdGlvbiAobnVtKSB7CiAgICAgICAgICAgIG51bSA9IG51bS50b0ZpeGVkKDIwKTsKICAgICAgICAgICAgcmV0dXJuICtudW07CiAgICAgICAgfSwKCiAgICAgICAgX3ByZXR0aWZ5OiBmdW5jdGlvbiAobnVtKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zLnByZXR0aWZ5X2VuYWJsZWQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudW07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMucHJldHRpZnkgJiYgdHlwZW9mIHRoaXMub3B0aW9ucy5wcmV0dGlmeSA9PT0gImZ1bmN0aW9uIikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wcmV0dGlmeShudW0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJldHRpZnkobnVtKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIHByZXR0aWZ5OiBmdW5jdGlvbiAobnVtKSB7CiAgICAgICAgICAgIHZhciBuID0gbnVtLnRvU3RyaW5nKCk7CiAgICAgICAgICAgIHJldHVybiBuLnJlcGxhY2UoLyhcZHsxLDN9KD89KD86XGRcZFxkKSsoPyFcZCkpKS9nLCAiJDEiICsgdGhpcy5vcHRpb25zLnByZXR0aWZ5X3NlcGFyYXRvcik7CiAgICAgICAgfSwKCiAgICAgICAgY2hlY2tFZGdlczogZnVuY3Rpb24gKGxlZnQsIHdpZHRoKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zLmZvcmNlX2VkZ2VzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b0ZpeGVkKGxlZnQpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAobGVmdCA8IDApIHsKICAgICAgICAgICAgICAgIGxlZnQgPSAwOwogICAgICAgICAgICB9IGVsc2UgaWYgKGxlZnQgPiAxMDAgLSB3aWR0aCkgewogICAgICAgICAgICAgICAgbGVmdCA9IDEwMCAtIHdpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gdGhpcy50b0ZpeGVkKGxlZnQpOwogICAgICAgIH0sCgogICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLAogICAgICAgICAgICAgICAgciA9IHRoaXMucmVzdWx0LAogICAgICAgICAgICAgICAgdiA9IG8udmFsdWVzLAogICAgICAgICAgICAgICAgdmwgPSB2Lmxlbmd0aCwKICAgICAgICAgICAgICAgIHZhbHVlLAogICAgICAgICAgICAgICAgaTsKCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby5taW4gPT09ICJzdHJpbmciKSBvLm1pbiA9ICtvLm1pbjsKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLm1heCA9PT0gInN0cmluZyIpIG8ubWF4ID0gK28ubWF4OwogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbSA9PT0gInN0cmluZyIpIG8uZnJvbSA9ICtvLmZyb207CiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50byA9PT0gInN0cmluZyIpIG8udG8gPSArby50bzsKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLnN0ZXAgPT09ICJzdHJpbmciKSBvLnN0ZXAgPSArby5zdGVwOwoKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLmZyb21fbWluID09PSAic3RyaW5nIikgby5mcm9tX21pbiA9ICtvLmZyb21fbWluOwogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbV9tYXggPT09ICJzdHJpbmciKSBvLmZyb21fbWF4ID0gK28uZnJvbV9tYXg7CiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50b19taW4gPT09ICJzdHJpbmciKSBvLnRvX21pbiA9ICtvLnRvX21pbjsKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLnRvX21heCA9PT0gInN0cmluZyIpIG8udG9fbWF4ID0gK28udG9fbWF4OwoKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLmdyaWRfbnVtID09PSAic3RyaW5nIikgby5ncmlkX251bSA9ICtvLmdyaWRfbnVtOwoKICAgICAgICAgICAgaWYgKG8ubWF4IDwgby5taW4pIHsKICAgICAgICAgICAgICAgIG8ubWF4ID0gby5taW47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh2bCkgewogICAgICAgICAgICAgICAgby5wX3ZhbHVlcyA9IFtdOwogICAgICAgICAgICAgICAgby5taW4gPSAwOwogICAgICAgICAgICAgICAgby5tYXggPSB2bCAtIDE7CiAgICAgICAgICAgICAgICBvLnN0ZXAgPSAxOwogICAgICAgICAgICAgICAgby5ncmlkX251bSA9IG8ubWF4OwogICAgICAgICAgICAgICAgby5ncmlkX3NuYXAgPSB0cnVlOwoKICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB2bDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSArdltpXTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdltpXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHRoaXMuX3ByZXR0aWZ5KHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZbaV07CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBvLnBfdmFsdWVzLnB1c2godmFsdWUpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHlwZW9mIG8uZnJvbSAhPT0gIm51bWJlciIgfHwgaXNOYU4oby5mcm9tKSkgewogICAgICAgICAgICAgICAgby5mcm9tID0gby5taW47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby50byAhPT0gIm51bWJlciIgfHwgaXNOYU4oby50bykpIHsKICAgICAgICAgICAgICAgIG8udG8gPSBvLm1heDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKG8udHlwZSA9PT0gInNpbmdsZSIpIHsKCiAgICAgICAgICAgICAgICBpZiAoby5mcm9tIDwgby5taW4pIG8uZnJvbSA9IG8ubWluOwogICAgICAgICAgICAgICAgaWYgKG8uZnJvbSA+IG8ubWF4KSBvLmZyb20gPSBvLm1heDsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgaWYgKG8uZnJvbSA8IG8ubWluKSBvLmZyb20gPSBvLm1pbjsKICAgICAgICAgICAgICAgIGlmIChvLmZyb20gPiBvLm1heCkgby5mcm9tID0gby5tYXg7CgogICAgICAgICAgICAgICAgaWYgKG8udG8gPCBvLm1pbikgby50byA9IG8ubWluOwogICAgICAgICAgICAgICAgaWYgKG8udG8gPiBvLm1heCkgby50byA9IG8ubWF4OwoKICAgICAgICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZV9jaGVjay5mcm9tKSB7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZV9jaGVjay5mcm9tICE9PSBvLmZyb20pIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8uZnJvbSA+IG8udG8pIG8uZnJvbSA9IG8udG87CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVwZGF0ZV9jaGVjay50byAhPT0gby50bykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoby50byA8IG8uZnJvbSkgby50byA9IG8uZnJvbTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChvLmZyb20gPiBvLnRvKSBvLmZyb20gPSBvLnRvOwogICAgICAgICAgICAgICAgaWYgKG8udG8gPCBvLmZyb20pIG8udG8gPSBvLmZyb207CgogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHlwZW9mIG8uc3RlcCAhPT0gIm51bWJlciIgfHwgaXNOYU4oby5zdGVwKSB8fCAhby5zdGVwIHx8IG8uc3RlcCA8IDApIHsKICAgICAgICAgICAgICAgIG8uc3RlcCA9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0eXBlb2Ygby5mcm9tX21pbiA9PT0gIm51bWJlciIgJiYgby5mcm9tIDwgby5mcm9tX21pbikgewogICAgICAgICAgICAgICAgby5mcm9tID0gby5mcm9tX21pbjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLmZyb21fbWF4ID09PSAibnVtYmVyIiAmJiBvLmZyb20gPiBvLmZyb21fbWF4KSB7CiAgICAgICAgICAgICAgICBvLmZyb20gPSBvLmZyb21fbWF4OwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHlwZW9mIG8udG9fbWluID09PSAibnVtYmVyIiAmJiBvLnRvIDwgby50b19taW4pIHsKICAgICAgICAgICAgICAgIG8udG8gPSBvLnRvX21pbjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHR5cGVvZiBvLnRvX21heCA9PT0gIm51bWJlciIgJiYgby5mcm9tID4gby50b19tYXgpIHsKICAgICAgICAgICAgICAgIG8udG8gPSBvLnRvX21heDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHIpIHsKICAgICAgICAgICAgICAgIGlmIChyLm1pbiAhPT0gby5taW4pIHsKICAgICAgICAgICAgICAgICAgICByLm1pbiA9IG8ubWluOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChyLm1heCAhPT0gby5tYXgpIHsKICAgICAgICAgICAgICAgICAgICByLm1heCA9IG8ubWF4OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChyLmZyb20gPCByLm1pbiB8fCByLmZyb20gPiByLm1heCkgewogICAgICAgICAgICAgICAgICAgIHIuZnJvbSA9IG8uZnJvbTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoci50byA8IHIubWluIHx8IHIudG8gPiByLm1heCkgewogICAgICAgICAgICAgICAgICAgIHIudG8gPSBvLnRvOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHlwZW9mIG8ubWluX2ludGVydmFsICE9PSAibnVtYmVyIiB8fCBpc05hTihvLm1pbl9pbnRlcnZhbCkgfHwgIW8ubWluX2ludGVydmFsIHx8IG8ubWluX2ludGVydmFsIDwgMCkgewogICAgICAgICAgICAgICAgby5taW5faW50ZXJ2YWwgPSAwOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodHlwZW9mIG8ubWF4X2ludGVydmFsICE9PSAibnVtYmVyIiB8fCBpc05hTihvLm1heF9pbnRlcnZhbCkgfHwgIW8ubWF4X2ludGVydmFsIHx8IG8ubWF4X2ludGVydmFsIDwgMCkgewogICAgICAgICAgICAgICAgby5tYXhfaW50ZXJ2YWwgPSAwOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoby5taW5faW50ZXJ2YWwgJiYgby5taW5faW50ZXJ2YWwgPiBvLm1heCAtIG8ubWluKSB7CiAgICAgICAgICAgICAgICBvLm1pbl9pbnRlcnZhbCA9IG8ubWF4IC0gby5taW47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChvLm1heF9pbnRlcnZhbCAmJiBvLm1heF9pbnRlcnZhbCA+IG8ubWF4IC0gby5taW4pIHsKICAgICAgICAgICAgICAgIG8ubWF4X2ludGVydmFsID0gby5tYXggLSBvLm1pbjsKICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIGRlY29yYXRlOiBmdW5jdGlvbiAobnVtLCBvcmlnaW5hbCkgewogICAgICAgICAgICB2YXIgZGVjb3JhdGVkID0gIiIsCiAgICAgICAgICAgICAgICBvID0gdGhpcy5vcHRpb25zOwoKICAgICAgICAgICAgaWYgKG8ucHJlZml4KSB7CiAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gby5wcmVmaXg7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGRlY29yYXRlZCArPSBudW07CgogICAgICAgICAgICBpZiAoby5tYXhfcG9zdGZpeCkgewogICAgICAgICAgICAgICAgaWYgKG8udmFsdWVzLmxlbmd0aCAmJiBudW0gPT09IG8ucF92YWx1ZXNbby5tYXhdKSB7CiAgICAgICAgICAgICAgICAgICAgZGVjb3JhdGVkICs9IG8ubWF4X3Bvc3RmaXg7CiAgICAgICAgICAgICAgICAgICAgaWYgKG8ucG9zdGZpeCkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gIiAiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3JpZ2luYWwgPT09IG8ubWF4KSB7CiAgICAgICAgICAgICAgICAgICAgZGVjb3JhdGVkICs9IG8ubWF4X3Bvc3RmaXg7CiAgICAgICAgICAgICAgICAgICAgaWYgKG8ucG9zdGZpeCkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWNvcmF0ZWQgKz0gIiAiOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKG8ucG9zdGZpeCkgewogICAgICAgICAgICAgICAgZGVjb3JhdGVkICs9IG8ucG9zdGZpeDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGRlY29yYXRlZDsKICAgICAgICB9LAoKICAgICAgICB1cGRhdGVGcm9tOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHRoaXMucmVzdWx0LmZyb20gPSB0aGlzLm9wdGlvbnMuZnJvbTsKICAgICAgICAgICAgdGhpcy5yZXN1bHQuZnJvbV9wZXJjZW50ID0gdGhpcy5jb252ZXJ0VG9QZXJjZW50KHRoaXMucmVzdWx0LmZyb20pOwogICAgICAgICAgICB0aGlzLnJlc3VsdC5mcm9tX3ByZXR0eSA9IHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LmZyb20pOwogICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnZhbHVlcykgewogICAgICAgICAgICAgICAgdGhpcy5yZXN1bHQuZnJvbV92YWx1ZSA9IHRoaXMub3B0aW9ucy52YWx1ZXNbdGhpcy5yZXN1bHQuZnJvbV07CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICB1cGRhdGVUbzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB0aGlzLnJlc3VsdC50byA9IHRoaXMub3B0aW9ucy50bzsKICAgICAgICAgICAgdGhpcy5yZXN1bHQudG9fcGVyY2VudCA9IHRoaXMuY29udmVydFRvUGVyY2VudCh0aGlzLnJlc3VsdC50byk7CiAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvX3ByZXR0eSA9IHRoaXMuX3ByZXR0aWZ5KHRoaXMucmVzdWx0LnRvKTsKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy52YWx1ZXMpIHsKICAgICAgICAgICAgICAgIHRoaXMucmVzdWx0LnRvX3ZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlc1t0aGlzLnJlc3VsdC50b107CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICB1cGRhdGVSZXN1bHQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdGhpcy5yZXN1bHQubWluID0gdGhpcy5vcHRpb25zLm1pbjsKICAgICAgICAgICAgdGhpcy5yZXN1bHQubWF4ID0gdGhpcy5vcHRpb25zLm1heDsKICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tKCk7CiAgICAgICAgICAgIHRoaXMudXBkYXRlVG8oKTsKICAgICAgICB9LAoKCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIEdyaWQKCiAgICAgICAgYXBwZW5kR3JpZDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5ncmlkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBvID0gdGhpcy5vcHRpb25zLAogICAgICAgICAgICAgICAgaSwgeiwKCiAgICAgICAgICAgICAgICB0b3RhbCA9IG8ubWF4IC0gby5taW4sCiAgICAgICAgICAgICAgICBiaWdfbnVtID0gby5ncmlkX251bSwKICAgICAgICAgICAgICAgIGJpZ19wID0gMCwKICAgICAgICAgICAgICAgIGJpZ193ID0gMCwKCiAgICAgICAgICAgICAgICBzbWFsbF9tYXggPSA0LAogICAgICAgICAgICAgICAgbG9jYWxfc21hbGxfbWF4LAogICAgICAgICAgICAgICAgc21hbGxfcCwKICAgICAgICAgICAgICAgIHNtYWxsX3cgPSAwLAoKICAgICAgICAgICAgICAgIHJlc3VsdCwKICAgICAgICAgICAgICAgIGh0bWwgPSAnJzsKCgoKICAgICAgICAgICAgdGhpcy5jYWxjR3JpZE1hcmdpbigpOwoKICAgICAgICAgICAgaWYgKG8uZ3JpZF9zbmFwKSB7CgogICAgICAgICAgICAgICAgaWYgKHRvdGFsID4gNTApIHsKICAgICAgICAgICAgICAgICAgICBiaWdfbnVtID0gNTAgLyBvLnN0ZXA7CiAgICAgICAgICAgICAgICAgICAgYmlnX3AgPSB0aGlzLnRvRml4ZWQoby5zdGVwIC8gMC41KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYmlnX251bSA9IHRvdGFsIC8gby5zdGVwOwogICAgICAgICAgICAgICAgICAgIGJpZ19wID0gdGhpcy50b0ZpeGVkKG8uc3RlcCAvICh0b3RhbCAvIDEwMCkpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGJpZ19wID0gdGhpcy50b0ZpeGVkKDEwMCAvIGJpZ19udW0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoYmlnX251bSA+IDQpIHsKICAgICAgICAgICAgICAgIHNtYWxsX21heCA9IDM7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpZ19udW0gPiA3KSB7CiAgICAgICAgICAgICAgICBzbWFsbF9tYXggPSAyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChiaWdfbnVtID4gMTQpIHsKICAgICAgICAgICAgICAgIHNtYWxsX21heCA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGJpZ19udW0gPiAyOCkgewogICAgICAgICAgICAgICAgc21hbGxfbWF4ID0gMDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJpZ19udW0gKyAxOyBpKyspIHsKICAgICAgICAgICAgICAgIGxvY2FsX3NtYWxsX21heCA9IHNtYWxsX21heDsKCiAgICAgICAgICAgICAgICBiaWdfdyA9IHRoaXMudG9GaXhlZChiaWdfcCAqIGkpOwoKICAgICAgICAgICAgICAgIGlmIChiaWdfdyA+IDEwMCkgewogICAgICAgICAgICAgICAgICAgIGJpZ193ID0gMTAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnW2ldID0gYmlnX3c7CgogICAgICAgICAgICAgICAgc21hbGxfcCA9IChiaWdfdyAtIChiaWdfcCAqIChpIC0gMSkpKSAvIChsb2NhbF9zbWFsbF9tYXggKyAxKTsKCiAgICAgICAgICAgICAgICBmb3IgKHogPSAxOyB6IDw9IGxvY2FsX3NtYWxsX21heDsgeisrKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGJpZ193ID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgc21hbGxfdyA9IHRoaXMudG9GaXhlZChiaWdfdyAtIChzbWFsbF9wICogeikpOwoKICAgICAgICAgICAgICAgICAgICBodG1sICs9ICc8c3BhbiBjbGFzcz0iaXJzLWdyaWQtcG9sIHNtYWxsIiBzdHlsZT0ibGVmdDogJyArIHNtYWxsX3cgKyAnJSI+PC9zcGFuPic7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaHRtbCArPSAnPHNwYW4gY2xhc3M9Imlycy1ncmlkLXBvbCIgc3R5bGU9ImxlZnQ6ICcgKyBiaWdfdyArICclIj48L3NwYW4+JzsKCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzLmNvbnZlcnRUb1ZhbHVlKGJpZ193KTsKICAgICAgICAgICAgICAgIGlmIChvLnZhbHVlcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBvLnBfdmFsdWVzW3Jlc3VsdF07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuX3ByZXR0aWZ5KHJlc3VsdCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaHRtbCArPSAnPHNwYW4gY2xhc3M9Imlycy1ncmlkLXRleHQganMtZ3JpZC10ZXh0LScgKyBpICsgJyIgc3R5bGU9ImxlZnQ6ICcgKyBiaWdfdyArICclIj4nICsgcmVzdWx0ICsgJzwvc3Bhbj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ19udW0gPSBNYXRoLmNlaWwoYmlnX251bSArIDEpOwoKCgogICAgICAgICAgICB0aGlzLiRjYWNoZS5jb250LmFkZENsYXNzKCJpcnMtd2l0aC1ncmlkIik7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmdyaWQuaHRtbChodG1sKTsKICAgICAgICAgICAgdGhpcy5jYWNoZUdyaWRMYWJlbHMoKTsKICAgICAgICB9LAoKICAgICAgICBjYWNoZUdyaWRMYWJlbHM6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyICRsYWJlbCwgaSwKICAgICAgICAgICAgICAgIG51bSA9IHRoaXMuY29vcmRzLmJpZ19udW07CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKICAgICAgICAgICAgICAgICRsYWJlbCA9IHRoaXMuJGNhY2hlLmdyaWQuZmluZCgiLmpzLWdyaWQtdGV4dC0iICsgaSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjYWNoZS5ncmlkX2xhYmVscy5wdXNoKCRsYWJlbCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRMYWJlbHMoKTsKICAgICAgICB9LAoKICAgICAgICBjYWxjR3JpZExhYmVsczogZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgaSwgbGFiZWwsIHN0YXJ0ID0gW10sIGZpbmlzaCA9IFtdLAogICAgICAgICAgICAgICAgbnVtID0gdGhpcy5jb29yZHMuYmlnX251bTsKCiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewogICAgICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnX3dbaV0gPSB0aGlzLiRjYWNoZS5ncmlkX2xhYmVsc1tpXS5vdXRlcldpZHRoKGZhbHNlKTsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLmJpZ19wW2ldID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLmJpZ193W2ldIC8gdGhpcy5jb29yZHMud19ycyAqIDEwMCk7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdfeFtpXSA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy5iaWdfcFtpXSAvIDIpOwoKICAgICAgICAgICAgICAgIHN0YXJ0W2ldID0gdGhpcy50b0ZpeGVkKHRoaXMuY29vcmRzLmJpZ1tpXSAtIHRoaXMuY29vcmRzLmJpZ194W2ldKTsKICAgICAgICAgICAgICAgIGZpbmlzaFtpXSA9IHRoaXMudG9GaXhlZChzdGFydFtpXSArIHRoaXMuY29vcmRzLmJpZ19wW2ldKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mb3JjZV9lZGdlcykgewogICAgICAgICAgICAgICAgaWYgKHN0YXJ0WzBdIDwgLXRoaXMuY29vcmRzLmdyaWRfZ2FwKSB7CiAgICAgICAgICAgICAgICAgICAgc3RhcnRbMF0gPSAtdGhpcy5jb29yZHMuZ3JpZF9nYXA7CiAgICAgICAgICAgICAgICAgICAgZmluaXNoWzBdID0gdGhpcy50b0ZpeGVkKHN0YXJ0WzBdICsgdGhpcy5jb29yZHMuYmlnX3BbMF0pOwoKICAgICAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy5iaWdfeFswXSA9IHRoaXMuY29vcmRzLmdyaWRfZ2FwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChmaW5pc2hbbnVtIC0gMV0gPiAxMDAgKyB0aGlzLmNvb3Jkcy5ncmlkX2dhcCkgewogICAgICAgICAgICAgICAgICAgIGZpbmlzaFtudW0gLSAxXSA9IDEwMCArIHRoaXMuY29vcmRzLmdyaWRfZ2FwOwogICAgICAgICAgICAgICAgICAgIHN0YXJ0W251bSAtIDFdID0gdGhpcy50b0ZpeGVkKGZpbmlzaFtudW0gLSAxXSAtIHRoaXMuY29vcmRzLmJpZ19wW251bSAtIDFdKTsKCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb29yZHMuYmlnX3hbbnVtIC0gMV0gPSB0aGlzLnRvRml4ZWQodGhpcy5jb29yZHMuYmlnX3BbbnVtIC0gMV0gLSB0aGlzLmNvb3Jkcy5ncmlkX2dhcCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRDb2xsaXNpb24oMiwgc3RhcnQsIGZpbmlzaCk7CiAgICAgICAgICAgIHRoaXMuY2FsY0dyaWRDb2xsaXNpb24oNCwgc3RhcnQsIGZpbmlzaCk7CgogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy4kY2FjaGUuZ3JpZF9sYWJlbHNbaV1bMF07CgogICAgICAgICAgICAgICAgaWYgKHRoaXMuY29vcmRzLmJpZ194W2ldICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICAgICAgICAgICAgICAgICBsYWJlbC5zdHlsZS5tYXJnaW5MZWZ0ID0gLXRoaXMuY29vcmRzLmJpZ194W2ldICsgIiUiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKCiAgICAgICAgLy8gQ29sbGlzaW9ucyBDYWxjIEJldGEKICAgICAgICAvLyBUT0RPOiBSZWZhY3RvciB0aGVuIGhhdmUgcGxlbnR5IG9mIHRpbWUKICAgICAgICBjYWxjR3JpZENvbGxpc2lvbjogZnVuY3Rpb24gKHN0ZXAsIHN0YXJ0LCBmaW5pc2gpIHsKICAgICAgICAgICAgdmFyIGksIG5leHRfaSwgbGFiZWwsCiAgICAgICAgICAgICAgICBudW0gPSB0aGlzLmNvb3Jkcy5iaWdfbnVtOwoKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bTsgaSArPSBzdGVwKSB7CiAgICAgICAgICAgICAgICBuZXh0X2kgPSBpICsgKHN0ZXAgLyAyKTsKICAgICAgICAgICAgICAgIGlmIChuZXh0X2kgPj0gbnVtKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLiRjYWNoZS5ncmlkX2xhYmVsc1tuZXh0X2ldWzBdOwoKICAgICAgICAgICAgICAgIGlmIChmaW5pc2hbaV0gPD0gc3RhcnRbbmV4dF9pXSkgewogICAgICAgICAgICAgICAgICAgIGxhYmVsLnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGxhYmVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCgogICAgICAgIGNhbGNHcmlkTWFyZ2luOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zLmdyaWRfbWFyZ2luKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuY29vcmRzLndfcnMgPSB0aGlzLiRjYWNoZS5ycy5vdXRlcldpZHRoKGZhbHNlKTsKICAgICAgICAgICAgaWYgKCF0aGlzLmNvb3Jkcy53X3JzKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNpbmdsZSIpIHsKICAgICAgICAgICAgICAgIHRoaXMuY29vcmRzLndfaGFuZGxlID0gdGhpcy4kY2FjaGUuc19zaW5nbGUub3V0ZXJXaWR0aChmYWxzZSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLmNvb3Jkcy53X2hhbmRsZSA9IHRoaXMuJGNhY2hlLnNfZnJvbS5vdXRlcldpZHRoKGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLmNvb3Jkcy5wX2hhbmRsZSA9IHRoaXMudG9GaXhlZCh0aGlzLmNvb3Jkcy53X2hhbmRsZSAgLyB0aGlzLmNvb3Jkcy53X3JzICogMTAwKTsKICAgICAgICAgICAgdGhpcy5jb29yZHMuZ3JpZF9nYXAgPSB0aGlzLnRvRml4ZWQoKHRoaXMuY29vcmRzLnBfaGFuZGxlIC8gMikgLSAwLjEpOwoKICAgICAgICAgICAgdGhpcy4kY2FjaGUuZ3JpZFswXS5zdHlsZS53aWR0aCA9IHRoaXMudG9GaXhlZCgxMDAgLSB0aGlzLmNvb3Jkcy5wX2hhbmRsZSkgKyAiJSI7CiAgICAgICAgICAgIHRoaXMuJGNhY2hlLmdyaWRbMF0uc3R5bGUubGVmdCA9IHRoaXMuY29vcmRzLmdyaWRfZ2FwICsgIiUiOwogICAgICAgIH0sCgoKCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICAgIC8vIFB1YmxpYyBtZXRob2RzCgogICAgICAgIHVwZGF0ZTogZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLmlucHV0KSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuaXNfdXBkYXRlID0gdHJ1ZTsKCiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5mcm9tID0gdGhpcy5yZXN1bHQuZnJvbTsKICAgICAgICAgICAgdGhpcy5vcHRpb25zLnRvID0gdGhpcy5yZXN1bHQudG87CiAgICAgICAgICAgIHRoaXMudXBkYXRlX2NoZWNrLmZyb20gPSB0aGlzLnJlc3VsdC5mcm9tOwogICAgICAgICAgICB0aGlzLnVwZGF0ZV9jaGVjay50byA9IHRoaXMucmVzdWx0LnRvOwoKICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gJC5leHRlbmQodGhpcy5vcHRpb25zLCBvcHRpb25zKTsKICAgICAgICAgICAgdGhpcy52YWxpZGF0ZSgpOwogICAgICAgICAgICB0aGlzLnVwZGF0ZVJlc3VsdChvcHRpb25zKTsKCiAgICAgICAgICAgIHRoaXMudG9nZ2xlSW5wdXQoKTsKICAgICAgICAgICAgdGhpcy5yZW1vdmUoKTsKICAgICAgICAgICAgdGhpcy5pbml0KHRydWUpOwogICAgICAgIH0sCgogICAgICAgIHJlc2V0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5pbnB1dCkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aGlzLnVwZGF0ZVJlc3VsdCgpOwogICAgICAgICAgICB0aGlzLnVwZGF0ZSgpOwogICAgICAgIH0sCgogICAgICAgIGRlc3Ryb3k6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKCF0aGlzLmlucHV0KSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMudG9nZ2xlSW5wdXQoKTsKICAgICAgICAgICAgdGhpcy4kY2FjaGUuaW5wdXQucHJvcCgicmVhZG9ubHkiLCBmYWxzZSk7CiAgICAgICAgICAgICQuZGF0YSh0aGlzLmlucHV0LCAiaW9uUmFuZ2VTbGlkZXIiLCBudWxsKTsKCiAgICAgICAgICAgIHRoaXMucmVtb3ZlKCk7CiAgICAgICAgICAgIHRoaXMuaW5wdXQgPSBudWxsOwogICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBudWxsOwogICAgICAgIH0KICAgIH07CgogICAgJC5mbi5pb25SYW5nZVNsaWRlciA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCEkLmRhdGEodGhpcywgImlvblJhbmdlU2xpZGVyIikpIHsKICAgICAgICAgICAgICAgICQuZGF0YSh0aGlzLCAiaW9uUmFuZ2VTbGlkZXIiLCBuZXcgSW9uUmFuZ2VTbGlkZXIodGhpcywgb3B0aW9ucywgcGx1Z2luX2NvdW50KyspKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfTsKCgoKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAvLyBodHRwOi8vcGF1bGlyaXNoLmNvbS8yMDExL3JlcXVlc3RhbmltYXRpb25mcmFtZS1mb3Itc21hcnQtYW5pbWF0aW5nLwogICAgLy8gaHR0cDovL215Lm9wZXJhLmNvbS9lbW9sbGVyL2Jsb2cvMjAxMS8xMi8yMC9yZXF1ZXN0YW5pbWF0aW9uZnJhbWUtZm9yLXNtYXJ0LWVyLWFuaW1hdGluZwoKICAgIC8vIHJlcXVlc3RBbmltYXRpb25GcmFtZSBwb2x5ZmlsbCBieSBFcmlrIE3Dg8K2bGxlci4gZml4ZXMgZnJvbSBQYXVsIElyaXNoIGFuZCBUaW5vIFppamRlbAoKICAgIC8vIE1JVCBsaWNlbnNlCgogICAgKGZ1bmN0aW9uKCkgewogICAgICAgIHZhciBsYXN0VGltZSA9IDA7CiAgICAgICAgdmFyIHZlbmRvcnMgPSBbJ21zJywgJ21veicsICd3ZWJraXQnLCAnbyddOwogICAgICAgIGZvcih2YXIgeCA9IDA7IHggPCB2ZW5kb3JzLmxlbmd0aCAmJiAhd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTsgKyt4KSB7CiAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSB3aW5kb3dbdmVuZG9yc1t4XSsnUmVxdWVzdEFuaW1hdGlvbkZyYW1lJ107CiAgICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSA9IHdpbmRvd1t2ZW5kb3JzW3hdKydDYW5jZWxBbmltYXRpb25GcmFtZSddCiAgICAgICAgICAgICAgICB8fCB3aW5kb3dbdmVuZG9yc1t4XSsnQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lJ107CiAgICAgICAgfQoKICAgICAgICBpZiAoIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpCiAgICAgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihjYWxsYmFjaywgZWxlbWVudCkgewogICAgICAgICAgICAgICAgdmFyIGN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CiAgICAgICAgICAgICAgICB2YXIgdGltZVRvQ2FsbCA9IE1hdGgubWF4KDAsIDE2IC0gKGN1cnJUaW1lIC0gbGFzdFRpbWUpKTsKICAgICAgICAgICAgICAgIHZhciBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpOyB9LAogICAgICAgICAgICAgICAgICAgIHRpbWVUb0NhbGwpOwogICAgICAgICAgICAgICAgbGFzdFRpbWUgPSBjdXJyVGltZSArIHRpbWVUb0NhbGw7CiAgICAgICAgICAgICAgICByZXR1cm4gaWQ7CiAgICAgICAgICAgIH07CgogICAgICAgIGlmICghd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKQogICAgICAgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihpZCkgewogICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGlkKTsKICAgICAgICAgICAgfTsKICAgIH0oKSk7Cgp9KSk7"}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":44,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.826Z","timestamp":1785139583826,"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-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 08:06:23 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: e5cd7a1b16f3d41f511e4a179737e8ee\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-28T06:17:53.468765Z","times_seen":113,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.001Z","timestamp":1785139584001,"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-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 08:06:24 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: ca83916f163de958baa5fccd7247e122\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-28T06:17:53.60062Z","times_seen":112,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.009Z","timestamp":1785139584009,"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-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 08:06:24 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: 21304d4f635a186e1c08d15f27ac0026\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-28T06:17:53.363963Z","times_seen":103,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.119Z","timestamp":1785139584119,"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-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 08:06:24 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: dfedc0f7e70609126d36bd898ea2b877\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-28T06:17:53.447505Z","times_seen":89,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.309Z","timestamp":1785139584309,"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-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 08:06:24 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: 663bb5f9164c2341cdd848f7ea17f4f8\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-08-12T05:10:43.288423Z","times_seen":159,"resource_available":false,"data":"LmNvbnRhaW5lci1CWktFTmtoVHthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowIDIwcHh9LnVuc2V0QWxpZ24tQlpLRU5raFR7YWxpZ24taXRlbXM6c3RyZXRjaH0udGl0bGUtQlpLRU5raFR7Y29sb3I6dmFyKC0tdHYtY29sb3ItZGlhbG9nLWhlYWRlci10ZXh0LHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSkpO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoyOHB4O21pbi13aWR0aDowO3BhZGRpbmc6MTdweCAwfUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LnRpdGxlLUJaS0VOa2hUe3BhZGRpbmc6MTBweCAwfX0uc3VidGl0bGUtQlpLRU5raFR7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luLWJsb2NrOjhweCAzcHg7bWFyZ2luLWlubGluZTowIDB9LnRleHRXcmFwLUJaS0VOa2hUe2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtsaW5lLWhlaWdodDoyOHB4O21heC1oZWlnaHQ6NTZweH0uZWxsaXBzaXMtQlpLRU5raFR7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5jbG9zZS1CWktFTmtoVHtjb2xvcjp2YXIoLS10di1jb2xvci1kaWFsb2ctaGVhZGVyLXRleHQsdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KSk7ZmxleC1zaHJpbms6MDttYXJnaW4tYmxvY2s6MTdweCAxN3B4O21hcmdpbi1pbmxpbmU6MCAtM3B4fUBtZWRpYSAobWF4LWhlaWdodDozNjBweCl7LmNsb3NlLUJaS0VOa2hUe21hcmdpbi1ib3R0b206MTBweDttYXJnaW4tdG9wOjEwcHh9fS5pY29uLUJaS0VOa2hUe2hlaWdodDoxN3B4fQ=="}},"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":"nanoquantumstellarsledger.com/frontcss/assets/orbitlist.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.053Z","timestamp":1785139582053,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/orbitlist.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2482\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9504,"size_decoded":2719,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"23052e265dda6efd14fb35e74b861df4","sha1":"f2e0dbddbdb28cc3388943e4563646e69b4a0a72","sha256":"61bf80fc6fcffbcde4427202650abcb1ecb22ad9ea6f661fb63cd76b20449edb","sha512":"7de27910d3687096a6800d3092be98e20d7771a9d72953a93964184ecd8ec913b8d9f6551063005fafda3bce78a3a14bb86baa88e5bf9b825afbd2ab79b71ce8","ssdeep":"192:IKM3xMhM1Z9MnMYM52SMHMVFMxM9M3MVL3MP4YfzSmXMJMeMJIMaCMRMUMLMZMtQ:IKM3xMhM1Z9MnMYMVMHMVFMxM9M3MVLt","tlshash":"fa122527fb75232799eb11276f5f184073a1e3ab900cd1143d4e93241f52e8ca26dbe6","first_seen":"2025-09-11T16:00:30.700176Z","last_seen":"2026-07-27T09:11:27.349858Z","times_seen":8,"resource_available":true,"data":"KGZ1bmN0aW9uKCQpIHsKICAgIC8vIGpRdWVyeSBleHRlbnNpb246IHJldmVyc2UgalF1ZXJ5IGVsZW1lbnQgb3JkZXIKICAgIGpRdWVyeS5mbi5yZXZlcnNlID0gW10ucmV2ZXJzZTsKCgogICAgLy8gRGVmYXVsdCB2YWx1ZXMgZm9yIGlubmVyIGFuZCBvdXRlciByYWRpdXMgbGltaXRzIChiZXR3ZWVuIDAgYW5kIDEpCiAgICB2YXIgZGVmYXVsdElubmVyID0gMDsgLy8gSW5uZXIgbGltaXQgZm9yIHJhZGl1cwogICAgdmFyIGRlZmF1bHRPdXRlciA9IDE7IC8vIE91dGVyIGxpbWl0IGZvciByYWRpdXMKICAgIHZhciBkZWZhdWx0Qm9yZGVycyA9IDE7IC8vIEZhY3RvciBmb3Igc3BhY2UgYmV0d2VlbiBsaW1pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGlubmVyL291dGVyIG9yYml0CgogICAgLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc3RhcnRpbmcgZGVncmVlCiAgICB2YXIgZGVmYXVsdEJlZ2luID0gMDsKCiAgICAvLyBUT0RPOiBub3QgeWV0IGltcGxlbWVudGVkOiBNaW4gZGVuc2l0eSBvZiBzYXRlbGxpdGVzCiAgICB2YXIgbWluRGVuc2l0eSA9IDg7CiAgICB2YXIgbWluRGVuc2l0eUxldmVsMSA9IDQ7IC8vIE1pbiBkZW5zaXR5IGZvciAxc3Qgb3JiaXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yYml0bGlzdCBiZWNvbWVzIGFzeW1ldHJpYyBpZiBsZXNzIHNhdGVsbGl0ZXMKCgogICAgLy8gVHJhY2Ugc2F0ZWxsaXRlIGJhY2sgdG8gcm9vdAogICAgZnVuY3Rpb24gJG9yYml0bGlzdEpTX3RyYWNlKHNhdGVsbGl0ZSkgewogICAgICAgIHdoaWxlIChzYXRlbGxpdGUubGVuZ3RoKSB7CiAgICAgICAgICAgIHNhdGVsbGl0ZS5hZGRDbGFzcygnb3JiaXRsaXN0SlMtdHJhY2UnKTsKICAgICAgICAgICAgc2F0ZWxsaXRlID0gc2F0ZWxsaXRlLmRhdGEoJ3BhcmVudCcpOwogICAgICAgIH0KICAgIH0KCgogICAgLy8gRmxhdHRlbiBPcmJpdGxpc3QgSFRNTCB0byBvbmUgbGV2ZWwgb25seQogICAgZnVuY3Rpb24gJG9yYml0bGlzdEpTX2ZsYXR0ZW4oY29yZSkgewoKICAgICAgICAvLyBEZXRlY3QgaGVpZ2h0IG9mIG9yYml0bGlzdCBjb3JlIGluIGRvY3VtZW50CiAgICAgICAgdmFyIGNvcmVIZWlnaHQgPSBjb3JlLnBhcmVudHMoKS5sZW5ndGg7CgogICAgICAgIC8vIEhlaWdodCBvZiBoZWlnaGVzdCBvcmJpdAogICAgICAgIHZhciBvcmJpdEhlaWdodDsKCiAgICAgICAgLy8gQWxsIHNhdGVsbGl0ZXM6IHNhdmUgcGFyZW50IGVsZW1lbnQsIHRoZW4gbW92ZSBsaSBlbGVtZW50IHVwIHRvIGZpcnN0IGxldmVsCiAgICAgICAgY29yZS5maW5kKCdsaScpLnJldmVyc2UoKS5lYWNoKGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgdmFyIHNhdGVsbGl0ZSA9ICQodGhpcyk7CgogICAgICAgICAgICAvLyBBbmFseXNlIGhlaWdodCBhbmQgYXBwbHkgY29ycmVzcG9uZGluZyBjc3MgY2xhc3MKICAgICAgICAgICAgdmFyIGhlaWdodCA9IChzYXRlbGxpdGUucGFyZW50cygpLmxlbmd0aCAtIGNvcmVIZWlnaHQgKyAxKSAvIDI7CiAgICAgICAgICAgIHNhdGVsbGl0ZS5hZGRDbGFzcygnb3JiaXRsaXN0SlMtb3JiaXQtJyArIGhlaWdodCk7CiAgICAgICAgICAgIHNhdGVsbGl0ZS5kYXRhKCdoZWlnaHQnLCBoZWlnaHQpOwogICAgICAgICAgICBvcmJpdEhlaWdodCA9IE1hdGgubWF4KG9yYml0SGVpZ2h0LCBoZWlnaHQpOwoKICAgICAgICAgICAgLy8gU2F2ZSByZWZlcmVuY2UgZm9yIHBhcmVudCBlbGVtZW50IGlmIHRoZXJlIGlzIGFueQogICAgICAgICAgICBzYXRlbGxpdGUuZGF0YSgncGFyZW50Jywgc2F0ZWxsaXRlLnBhcmVudCgpLnBhcmVudCgpLmZpbHRlcigiLm9yYml0IGxpIikpOwogICAgICAgICAgICBjb3JlLnByZXBlbmQoc2F0ZWxsaXRlKTsKCiAgICAgICAgfSk7CgogICAgICAgIC8vIFNhdmUgY29yZSBoZWlnaHQgYW5kIG1heCBvcmJpdCBoZWlnaHQgaW4gY29yZQogICAgICAgIGNvcmUuZGF0YSgnY29yZUhlaWdodCcsIGNvcmVIZWlnaHQpOwogICAgICAgIGNvcmUuZGF0YSgnb3JiaXRIZWlnaHQnLCBvcmJpdEhlaWdodCk7CgogICAgICAgIC8vIEluaXRpYWwgdmlzaWJsZSBoZWlnaHQgaXMgMSAoY2hpbGRyZW4gb2YgY29yZSkKICAgICAgICBjb3JlLmRhdGEoJ3Zpc2libGVIZWlnaHQnLCAxKTsKCiAgICAgICAgLy8gRGVsZXRlIGFsbCBzdWJsaXN0cyAobm93IGVtcHR5KQogICAgICAgIGNvcmUuZmluZCgndWwnKS5yZW1vdmUoKTsKCiAgICB9CgogICAgZnVuY3Rpb24gJG9yYml0bGlzdEpTX3VwZGF0ZShjb3JlKSB7CgogICAgICAgIHZhciBkZW5zaXR5OyAvLyBEZW5zaXR5IG9mIHNhdGVsbGl0ZXMgc2hvd24KICAgICAgICB2YXIgYW5nbGU7IC8vIFN0YXJ0aW5nIGFuZ2xlIG9mIG9yYml0CgogICAgICAgIC8vIEhlaWdodC93aWR0aCBvZiBlbGVtZW50IHN1cnJvdW5kaW5nIHRoZSBvcmJpdGxpc3QKICAgICAgICB2YXIgZnJhbWVXID0gY29yZS5wYXJlbnQoKS5vdXRlcldpZHRoKCk7CiAgICAgICAgdmFyIGZyYW1lSCA9IGNvcmUucGFyZW50KCkub3V0ZXJIZWlnaHQoKTsKICAgICAgICB2YXIgcmFkaXVzID0gTWF0aC5taW4oZnJhbWVXLCBmcmFtZUgpIC8gMjsKICAgICAgICB2YXIgb2Zmc2V0VG9wID0gZnJhbWVIIC8gMiAtIHJhZGl1czsKICAgICAgICB2YXIgb2Zmc2V0TGVmdCA9IGZyYW1lVyAvIDIgLSByYWRpdXM7CgogICAgICAgIC8vIERhdGEgZm9yIGZpcnN0L2xvd2VzdCBvcmJpdAogICAgICAgIHZhciBvcmJpdEhlaWdodCA9IDE7CiAgICAgICAgdmFyIG9yYml0ID0gY29yZS5maW5kKCcub3JiaXRsaXN0SlMtb3JiaXQtMScpOwoKICAgICAgICAvLyBSZWFkIG9yYml0bGlzdCdzIHByb3BlcnRpZXMKICAgICAgICB2YXIgYm9yZGVycyA9IGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtYm9yZGVycycpOwogICAgICAgIHZhciBpbm5lciA9IGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtaW5uZXInKTsKICAgICAgICB2YXIgb3V0ZXIgPSBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLW91dGVyJyk7CiAgICAgICAgdmFyIGFyY0JlZ2luID0gY29yZS5kYXRhKCdvcmJpdGxpc3Rqcy1iZWdpbicpOwogICAgICAgIHZhciBhcmNFbmQgPSBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWVuZCcpOwogICAgICAgIHZhciB2aXNpYmxlSGVpZ2h0ID0gY29yZS5kYXRhKCd2aXNpYmxlSGVpZ2h0Jyk7CgogICAgICAgIC8vIENhbGN1bGF0ZSBsZW5ndGggb2YgYXJjIChiZXR3ZWVuIDAgYW5kIDEgPSBmdWxsIGNpcmNsZSkKICAgICAgICBpZiAoYXJjRW5kIDw9IGFyY0JlZ2luKSB7CiAgICAgICAgICAgIGFyY0VuZCA9IGFyY0JlZ2luICsgMzYwOwogICAgICAgIH0KICAgICAgICB2YXIgYXJjTGVuID0gKGFyY0VuZCAtIGFyY0JlZ2luKSAvIDM2MDsKCiAgICAgICAgLy8gRm9ybWF0IGFsbCB2aXNpYmxlIG9yYml0cwogICAgICAgIGRvIHsKCiAgICAgICAgICAgIC8vIERldGVjdCBkZW5zaXR5IGFuZCBhbmdsZSBvZiBvcmJpdAogICAgICAgICAgICBpZiAob3JiaXRIZWlnaHQgPT09IDEpIHsKICAgICAgICAgICAgICAgIGRlbnNpdHkgPSBvcmJpdC5sZW5ndGg7CiAgICAgICAgICAgICAgICBhbmdsZSA9IDA7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgc3F1ZWV6ZSA9IDM7IC8vIFRPRE86IENoYW5nZSB0byB1c2VyLWRlZmluYWJsZSBwYXJhbWV0ZXIKICAgICAgICAgICAgICAgIC8vIERlbnNpdHkgYXQgbGVhc3QgYXMgaGlnaCBhcyBvcmJpdCBiZWxvdyAobG9va3MgdWdseSBvdGhlcndpc2UpCiAgICAgICAgICAgICAgICBkZW5zaXR5ID0gTWF0aC5tYXgoKG9yYml0Lmxlbmd0aCAtIDEpICogc3F1ZWV6ZSwgZGVuc2l0eSk7CiAgICAgICAgICAgICAgICBhbmdsZSA9IG9yYml0LmZpcnN0KCkuZGF0YSgncGFyZW50JykuZGF0YSgnYW5nbGUnKSAtIDEgLyAoZGVuc2l0eSAvIChvcmJpdC5sZW5ndGggLSAxKSkgLyAyOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBGb3JtYXQgYWxsIHNhdGVsbGl0ZXMKICAgICAgICAgICAgb3JiaXQuZWFjaChmdW5jdGlvbihpbmRleCkgewoKICAgICAgICAgICAgICAgIC8vIHNldCBzYXRlbGxpdGUganF1ZXJ5IGVsZW1lbnQKICAgICAgICAgICAgICAgIHZhciBzYXRlbGxpdGUgPSAkKHRoaXMpOwoKICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaXN0YW5jZSBmcm9tIGNvcmUgKGJldHdlZW4gMCBhbmQgMSkKICAgICAgICAgICAgICAgIHZhciBkaXN0YW5jZSA9ICh2aXNpYmxlSGVpZ2h0ID09PSAxID8gMC41IDogKGJvcmRlcnMgKyBvcmJpdEhlaWdodCAtIDEpIC8gKDIgKiBib3JkZXJzICsgdmlzaWJsZUhlaWdodCAtIDEpKTsKICAgICAgICAgICAgICAgIGRpc3RhbmNlID0gaW5uZXIgKyBkaXN0YW5jZSAqIChvdXRlciAtIGlubmVyKTsKCiAgICAgICAgICAgICAgICAvLyBDYWxjdWxhdGUgc2F0ZWxsaXRlIHBvc2l0aW9uCiAgICAgICAgICAgICAgICB2YXIgcmFkaWFudCA9IChpbmRleCAvIGRlbnNpdHkgKyBhbmdsZSArIGFyY0JlZ2luKSAqIGFyY0xlbiAqIE1hdGguUEkgKiAyOwogICAgICAgICAgICAgICAgdmFyIHZlcnRpY2FsID0gLU1hdGguY29zKHJhZGlhbnQpOwogICAgICAgICAgICAgICAgdmFyIGhvcml6b250YWwgPSBNYXRoLnNpbihyYWRpYW50KTsKCiAgICAgICAgICAgICAgICAvLyBQb3NpdGlvbnMgd2l0aG91dCBvZmZzZXQgKGNpcmNsZSBjZW50ZXIgPSAwfDApCiAgICAgICAgICAgICAgICB2YXIgcG9zVG9wID0gcmFkaXVzICogZGlzdGFuY2UgKiB2ZXJ0aWNhbCAqIDEuNTsKICAgICAgICAgICAgICAgIHZhciBwb3NMZWZ0ID0gcmFkaXVzICogZGlzdGFuY2UgKiBob3Jpem9udGFsICogMS41OwoKICAgICAgICAgICAgICAgIC8vIENvcnJlY3QgcG9zaXRpb25zIGJ5IHBhcmVudCBlbGVtZW50LCBjZW50ZXJpbmcgYW5kIHNhdGVsbGl0ZSBkaW1lbnNpb25zCiAgICAgICAgICAgICAgICBwb3NUb3AgPSBwb3NUb3AgKyAocmFkaXVzICsgb2Zmc2V0VG9wKSArIGNvcmUucGFyZW50KCkub2Zmc2V0KCkudG9wIC0gc2F0ZWxsaXRlLmhlaWdodCgpIC8gMjsKICAgICAgICAgICAgICAgIHBvc0xlZnQgPSBwb3NMZWZ0ICsgKHJhZGl1cyArIG9mZnNldExlZnQpICsgY29yZS5wYXJlbnQoKS5vZmZzZXQoKS5sZWZ0IC0gc2F0ZWxsaXRlLndpZHRoKCkgLyAyOwoKICAgICAgICAgICAgICAgIC8vIFBvc2l0aW9uIHNhdGVsbGl0ZQogICAgICAgICAgICAgICAgc2F0ZWxsaXRlLm9mZnNldCh7CiAgICAgICAgICAgICAgICAgICAgdG9wOiBwb3NUb3AsCiAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zTGVmdAogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gU2F2ZSBhbmdsZSBmb3IgY2hpbGQgb3JiaXQKICAgICAgICAgICAgICAgIHNhdGVsbGl0ZS5kYXRhKCdhbmdsZScsIGluZGV4IC8gZGVuc2l0eSArIGFuZ2xlKTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gR2V0IG9uZSBvcmJpdCBoaWdoZXIKICAgICAgICAgICAgb3JiaXRIZWlnaHQrKzsKICAgICAgICAgICAgb3JiaXQgPSBjb3JlLmZpbmQoJy5vcmJpdGxpc3RKUy1vcmJpdC0nICsgb3JiaXRIZWlnaHQgKyAnOnZpc2libGUnKTsKCiAgICAgICAgfSB3aGlsZSAob3JiaXQubGVuZ3RoKTsKICAgIH0KCiAgICAkLmZuLm9yYml0bGlzdCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICB2YXIgc2V0dGluZ3MgPSAkLmV4dGVuZCh7CiAgICAgICAgICAgIC8vIGRlZmF1bHQgb3B0aW9ucyBoZXJlCiAgICAgICAgICAgIG9uaG92ZXI6IGZhbHNlCiAgICAgICAgfSwgb3B0aW9ucyk7CgogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCiAgICAgICAgICAgIC8vIENyZWF0ZSBvcmJpdGxpc3QncyBjb3JlCiAgICAgICAgICAgIHZhciBjb3JlID0gJCh0aGlzKTsKCiAgICAgICAgICAgIC8vIEFwcGx5IENTUyBjbGFzcwogICAgICAgICAgICBjb3JlLmFkZENsYXNzKCdvcmJpdGxpc3RKUycpOwoKICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIG9yYml0bGlzdCdzIHByb3BlcnRpZXMKICAgICAgICAgICAgaWYgKGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtaW5uZXInKSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWlubmVyJywgZGVmYXVsdElubmVyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29yZS5kYXRhKCdvcmJpdGxpc3Rqcy1vdXRlcicpID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtb3V0ZXInLCBkZWZhdWx0T3V0ZXIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWJvcmRlcnMnKSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWJvcmRlcnMnLCBkZWZhdWx0Qm9yZGVycyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtYmVnaW4nKSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWJlZ2luJywgZGVmYXVsdEJlZ2luKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoY29yZS5kYXRhKCdvcmJpdGxpc3Rqcy1lbmQnKSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICBjb3JlLmRhdGEoJ29yYml0bGlzdGpzLWVuZCcsIGNvcmUuZGF0YSgnb3JiaXRsaXN0anMtYmVnaW4nKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFJlZHVjZSBIVE1MIGxpc3RzIHRvIG9ubHkgb25lIGxldmVsCiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiBsaXN0IGVsZW1lbnRzIHdpbGwgY2F1c2UgcHJvYmxlbXMKICAgICAgICAgICAgLy8gd2hlbiBtb3ZpbmcgcGFydGljdWxhciBzYXRlbGxpdGVzCiAgICAgICAgICAgICRvcmJpdGxpc3RKU19mbGF0dGVuKGNvcmUpOwoKICAgICAgICAgICAgLy8gSGlkZSBhbGwgb3JiaXRzIGV4Y2VwdCBmaXJzdAogICAgICAgICAgICBjb3JlLmZpbmQoJ2xpJykuZmlsdGVyKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuICQodGhpcykuZGF0YSgnaGVpZ2h0JykgPiAxOwogICAgICAgICAgICB9KS5oaWRlKCk7CgogICAgICAgICAgICAvLyBUT0RPOiBXYXkgdG9vIG11Y2ggc2hvdyBhbmQgaGlkZSBhZ2FpbiBpbiB0aGUgZm9sbG93aW5nIGxpbmVzCiAgICAgICAgICAgIC8vIEJldHRlciBmaWx0ZXJpbmcgaXMgbmVlZGVkIQoKICAgICAgICAgICAgLy8gQmluZCBzYXRlbGxpdGUgY2xpY2sgZXZlbnQKICAgICAgICAgICAgLy8gVE9ETzogb25seSBiaW5kIHRvIHNhdGVsbGl0ZXMgdGhhdCBhY3R1YWxseSBoYXZlIGNoaWxkcmVuCiAgICAgICAgICAgIC8vIHRoZXJlZm9yZSBpbXBsZW1lbnQgaXNQYXJlbnQgcHJvcGVydHkKICAgICAgICAgICAgdmFyIGV2ZW50X2hhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgewogICAgICAgICAgICAgICAgc2F0ZWxsaXRlID0gJCh0aGlzKTsKCiAgICAgICAgICAgICAgICAvLyByZS1kaXN0cmlidXRlIHN0eWxpbmcgY2xhc3NlcwogICAgICAgICAgICAgICAgaWYgKHNhdGVsbGl0ZS5oYXNDbGFzcygnb3JiaXRsaXN0SlMtYWN0aXZlJykpIHsKICAgICAgICAgICAgICAgICAgICBzYXRlbGxpdGUucmVtb3ZlQ2xhc3MoJ29yYml0bGlzdEpTLWFjdGl2ZSBvcmJpdGxpc3RKUy10cmFjZScpOwogICAgICAgICAgICAgICAgICAgIHNhdGVsbGl0ZS5kYXRhKCdwYXJlbnQnKS5hZGRDbGFzcygnb3JiaXRsaXN0SlMtYWN0aXZlJyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvcmUuZmluZCgnbGknKS5yZW1vdmVDbGFzcygnb3JiaXRsaXN0SlMtYWN0aXZlIG9yYml0bGlzdEpTLXRyYWNlJyk7CiAgICAgICAgICAgICAgICAgICAgc2F0ZWxsaXRlLmFkZENsYXNzKCdvcmJpdGxpc3RKUy1hY3RpdmUnKTsKICAgICAgICAgICAgICAgICAgICAkb3JiaXRsaXN0SlNfdHJhY2Uoc2F0ZWxsaXRlKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBPbmx5IHNob3cgc2F0ZWxsaXRlcyB3aXRoIG5vIHBhcmVudHMgb3IgcGFyZW50IGluIGN1cnJlbnQgdHJhY2UKICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSBjdXJyZW50IG1heCB2aXNpYmxlIGhlaWdodAogICAgICAgICAgICAgICAgdmFyIHZpc2libGVIZWlnaHQgPSAxOwogICAgICAgICAgICAgICAgY29yZS5maW5kKCdsaScpLmhpZGUoKTsKICAgICAgICAgICAgICAgIGNvcmUuZmluZCgnbGknKS5maWx0ZXIoZnVuY3Rpb24oaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50ID0gJCh0aGlzKS5kYXRhKCdwYXJlbnQnKTsKICAgICAgICAgICAgICAgICAgICB2YXIgc2hvd1NhdGVsbGl0ZSA9ICFwYXJlbnQubGVuZ3RoIHwgcGFyZW50Lmhhc0NsYXNzKCdvcmJpdGxpc3RKUy10cmFjZScpOwogICAgICAgICAgICAgICAgICAgIGlmIChzaG93U2F0ZWxsaXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGVIZWlnaHQgPSBNYXRoLm1heCh2aXNpYmxlSGVpZ2h0LCAkKHRoaXMpLmRhdGEoJ2hlaWdodCcpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNob3dTYXRlbGxpdGU7CiAgICAgICAgICAgICAgICB9KS5zaG93KCk7CiAgICAgICAgICAgICAgICBjb3JlLmRhdGEoJ3Zpc2libGVIZWlnaHQnLCB2aXNpYmxlSGVpZ2h0KTsKCiAgICAgICAgICAgICAgICAvLyBVcGRhdGUgb3JiaXRsaXN0CiAgICAgICAgICAgICAgICAkb3JiaXRsaXN0SlNfdXBkYXRlKGNvcmUpOwoKICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgZXZlbnQgYnViYmxpbmcKICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgaWYgKHNldHRpbmdzWydvbmhvdmVyJ10pIHsKICAgICAgICAgICAgICAgIGNvcmUuZmluZCgnbGknKS5tb3VzZW92ZXIoZXZlbnRfaGFuZGxlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBjb3JlLmZpbmQoJ2xpJykuY2xpY2soZXZlbnRfaGFuZGxlcik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFVwZGF0ZSBvcmJpdGxpc3QgaW4gb3JkZXIgdG8gY3JlYXRlIGluaXRpYWwgdmlldwogICAgICAgICAgICAkb3JiaXRsaXN0SlNfdXBkYXRlKGNvcmUpOwoKICAgICAgICAgICAgLy8gVXBkYXRlIG9yYml0bGlzdCBvbiB3aW5kb3cgcmVzaXplCiAgICAgICAgICAgICQod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAkb3JiaXRsaXN0SlNfdXBkYXRlKGNvcmUpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgfSk7CiAgICB9Owp9KShqUXVlcnkpOwoKLy8gRG9jdW1lbnQgcmVhZHkgc2V0dXAKalF1ZXJ5KGZ1bmN0aW9uKCkgewogICAgLy8gVHJhbnNmb3JtIGVhY2ggLm9yYml0IGNsYXNzIGludG8gb3JiaXRsaXN0CiAgICBqUXVlcnkoJ3VsLm9yYml0Jykub3JiaXRsaXN0KHsKICAgICAgICBvbmhvdmVyOiB0cnVlCiAgICB9KTsKfSk7"}},"time_used":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.000Z","timestamp":1785139584000,"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-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 08:06:23 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: 41f93f7b6a53fd2bb9d62cb82f64582b\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-28T06:17:53.515825Z","times_seen":228,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.219Z","timestamp":1785139584219,"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-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 08:06:24 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: 67730984cb440244014e23440705deb4\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-08-12T05:10:43.318029Z","times_seen":507,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.391Z","timestamp":1785139584391,"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-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 08:06:24 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: 31d3758c8b7ff0efe97744a4f9a9a60c\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-30T11:42:56.679666Z","times_seen":1001,"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":"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.406Z","timestamp":1785139582406,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/exm=el_conf/ed=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_main HTTP/1.1\r\nHost: translate.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 67956\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 18:00:05 GMT\r\nexpires: Thu, 22 Jul 2027 18:00:05 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 20:35:41 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 396378\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":194344,"size_decoded":68816,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2519)","md5":"cdf9309b56a4ff330627409baead2538","sha1":"e98eac16441e99c9512052eb0087f535b9a609b9","sha256":"310629c4e47d7960e5a89cbd6a9c1d24a4e4d7c5e18346a69a67d92355cf2cd4","sha512":"cafd13a201e26b9f94f9a636ca1f7c191ec3a9fc3f297d35ee51b1304962383e7147509932a759bd903e27e53fb251600ad6942739e472161f5a09367c3776c1","ssdeep":"3072:kjsNxt45eITHt28KRu9gKavNuBDHK0QppB0/I:osb0muBzg","tlshash":"dd14e8d9b26270679263f4a5403f004eb53b68a5f9484dacb28de8e26df4d19017bf7c","first_seen":"2026-07-22T18:30:16.180779Z","last_seen":"2026-07-27T19:37:31.609707Z","times_seen":2601,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF90cj10aGlzLmRlZmF1bHRfdHJ8fHt9OyhmdW5jdGlvbihfKXt2YXIgd2luZG93PXRoaXM7CnRyeXsKdmFyIEdnLEhnLElnLFhnLGNoLGloLGpoLGxoLG1oLG9oLHNoLHVoLHRoLEFoLEJoLEZoLERoLEVoLERnO18uRWc9ZnVuY3Rpb24oYSl7aWYoRGcudGVzdChhKSlyZXR1cm4gYX07Xy5GZz1mdW5jdGlvbihhLGIpe2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyfHwoYS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODI9e30pO2EuX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyLnNldmVyaXR5PWJ9O0dnPWZ1bmN0aW9uKGEpe2lmKCFfLlVhfHwhXy5WYSlyZXR1cm4hMTtmb3IodmFyIGI9MDtiPF8uVmEuYnJhbmRzLmxlbmd0aDtiKyspe3ZhciBjPV8uVmEuYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9O0hnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiRmlyZWZveCIpfHxfLncoIkZ4aU9TIil9OwpJZz1mdW5jdGlvbigpe3JldHVybiBfLldhKCk/R2coIkNocm9taXVtIik6KF8udygiQ2hyb21lIil8fF8udygiQ3JpT1MiKSkmJiEoXy5XYSgpPzA6Xy53KCJFZGdlIikpfHxfLncoIlNpbGsiKX07Xy5KZz1mdW5jdGlvbigpe3JldHVybiBfLncoIlNhZmFyaSIpJiYhKElnKCl8fChfLldhKCk/MDpfLncoIkNvYXN0IikpfHxfLlhhKCl8fChfLldhKCk/MDpfLncoIkVkZ2UiKSl8fChfLldhKCk/R2coIk1pY3Jvc29mdCBFZGdlIik6Xy53KCJFZGcvIikpfHwoXy5XYSgpP0dnKCJPcGVyYSIpOl8udygiT1BSIikpfHxIZygpfHxfLncoIlNpbGsiKXx8Xy53KCJBbmRyb2lkIikpfTtfLktnPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiQW5kcm9pZCIpJiYhKElnKCl8fEhnKCl8fF8uWGEoKXx8Xy53KCJTaWxrIikpfTsKXy5NZz1mdW5jdGlvbihhLGIpe2lmKGEhPW51bGwpe3ZhciBjO3ZhciBkPShjPUxnKSE9bnVsbD9jOkxnPXt9O2M9ZFthXXx8MDtjPj1ifHwoZFthXT1jKzEsYT1FcnJvcigpLF8uRmcoYSwiaW5jaWRlbnQiKSxfLnJiKGEpKX19O18uTmc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgpPT09InN5bWJvbCI/KGM9PT12b2lkIDA/MDpjKSYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpOmJ9O18uUmc9ZnVuY3Rpb24oYSxiKXtfLk9nfHxfLkggaW4gYXx8UGcoYSxRZyk7YVtfLkhdfD1ifTtfLlNnPWZ1bmN0aW9uKGEsYil7Xy5PZ3x8Xy5IIGluIGF8fFBnKGEsUWcpO2FbXy5IXT1ifTtfLlRnPWZ1bmN0aW9uKGEpe18uUmcoYSwzNCk7cmV0dXJuIGF9O18uVWc9ZnVuY3Rpb24oYSl7Xy5SZyhhLDgxOTIpO3JldHVybiBhfTsKXy5XZz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuZyE9PV8uVmcmJiEhKDImKGEuSltfLkhdfDApKTohISgyJmIpJiZhLmchPT1fLlZnfTtYZz1mdW5jdGlvbihhKXthLlRsPSEwO3JldHVybiBhfTtfLmJoPWZ1bmN0aW9uKGEpe3ZhciBiPWE7aWYoWWcoYikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChiKSl0aHJvdyBFcnJvcihTdHJpbmcoYikpO31lbHNlIGlmKFpnKGIpJiYhTnVtYmVyLmlzU2FmZUludGVnZXIoYikpdGhyb3cgRXJyb3IoU3RyaW5nKGIpKTtyZXR1cm4gJGc/QmlnSW50KGEpOmE9YWgoYSk/YT8iMSI6IjAiOllnKGEpP2EudHJpbSgpfHwiMCI6U3RyaW5nKGEpfTsKY2g9ZnVuY3Rpb24oYSxiKXtpZihhLmxlbmd0aD5iLmxlbmd0aClyZXR1cm4hMTtpZihhLmxlbmd0aDxiLmxlbmd0aHx8YT09PWIpcmV0dXJuITA7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1iW2NdO2lmKGQ+ZSlyZXR1cm4hMTtpZihkPGUpcmV0dXJuITB9fTtfLmhoPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEhPW51bGwmJmFbZGhdPT09ZWgpcmV0dXJuIGE7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGM/ZCYyP2JbXy5maF18fChiW18uZmhdPV8uZ2goYikpOm5ldyBiOnZvaWQgMDtjPWFbXy5IXXwwO2Q9Y3xkJjMyfGQmMjtkIT09YyYmXy5TZyhhLGQpO3JldHVybiBuZXcgYihhKX07Xy5naD1mdW5jdGlvbihhKXthPW5ldyBhO18uVGcoYS5KKTtyZXR1cm4gYX07aWg9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O2poPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsKbGg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9Xy5oaChhLGQsYyxmKTtlJiYoYT1fLmtoKGEpKTtyZXR1cm4gYX07bWg9ZnVuY3Rpb24oYSl7cmV0dXJuW2EsdGhpcy5nZXQoYSldfTtvaD1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLk1nKG5oLDEpfTsKc2g9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLnBoKF8ucWgpLGc7IWUmJl8uT2cmJmYmJihnPWFbZl0pJiZnLlRrKG9oKTtmPVtdO3ZhciBoPWEubGVuZ3RoO2c9NDI5NDk2NzI5NTt2YXIgaz0hMSxsPSEhKGImNjQpLG49bD9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBxPWgmJmFbaC0xXTtxIT1udWxsJiZ0eXBlb2YgcT09PSJvYmplY3QiJiZxLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhoLS0sZz1oKTpxPXZvaWQgMDtpZihsJiYhKGImMTI4KSYmIWUpe2s9ITA7dmFyIHA7Zz0oKHA9cmgpIT1udWxsP3A6aWgpKGctbixuLGEscSx2b2lkIDApK259fWI9dm9pZCAwO2ZvcihlPTA7ZTxoO2UrKylpZihwPWFbZV0scCE9bnVsbCYmKHA9YyhwLGQpKSE9bnVsbClpZihsJiZlPj1nKXt2YXIgcj1lLW4sdD12b2lkIDA7KCh0PWIpIT1udWxsP3Q6Yj17fSlbcl09cH1lbHNlIGZbZV09cDtpZihxKWZvcih2YXIgQSBpbiBxKWE9cVtBXSxhIT0KbnVsbCYmKGE9YyhhLGQpKSE9bnVsbCYmKGg9K0EsZT12b2lkIDAsbCYmIU51bWJlci5pc05hTihoKSYmKGU9aCtuKTxnP2ZbZV09YTooaD12b2lkIDAsKChoPWIpIT1udWxsP2g6Yj17fSlbQV09YSkpO2ImJihrP2YucHVzaChiKTpmW2ddPWIpO3JldHVybiBmfTt1aD1mdW5jdGlvbihhKXthWzBdPXRoKGFbMF0pO2FbMV09dGgoYVsxXSk7cmV0dXJuIGF9Owp0aD1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLnZoKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYj1hW18uSF18MDtyZXR1cm4gYS5sZW5ndGg9PT0wJiZiJjE/dm9pZCAwOnNoKGEsYix0aCl9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gXy53aChhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGEuZygpO2lmKGEgaW5zdGFuY2VvZiBfLnloKXJldHVybiBhPWEuc2l6ZSE9PTA/Xy56aChhLHVoKTp2b2lkIDAsYTtyZXR1cm59cmV0dXJuIGF9O18ud2g9ZnVuY3Rpb24oYSl7YT1hLko7cmV0dXJuIHNoKGEsYVtfLkhdfDAsdGgpfTsKXy5JPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQWgoYSxiLGMsMjA0OCl9OwpBaD1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/MDpkO2lmKGE9PW51bGwpe3ZhciBlPTMyO2M/KGE9W2NdLGV8PTEyOCk6YT1bXTtiJiYoZT1lJi0xNjc2MDgzM3woYiYxMDIzKTw8MTQpfWVsc2V7aWYoIUFycmF5LmlzQXJyYXkoYSkpdGhyb3cgRXJyb3IoImJhIik7ZT1hW18uSF18MDtpZihfLk1jJiYxJmUpdGhyb3cgRXJyb3IoImNhIik7MjA0OCZlJiYhKDImZSkmJkJoKCk7aWYoZSYyNTYpdGhyb3cgRXJyb3IoImRhIik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJl8uU2coYSxlfGQpLGE7aWYoYyYmKGV8PTEyOCxjIT09YVswXSkpdGhyb3cgRXJyb3IoImVhIik7YTp7Yz1hO2V8PTY0O3ZhciBmPWMubGVuZ3RoO2lmKGYpe3ZhciBnPWYtMSxoPWNbZ107aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yj1lJjEyOD8wOi0xO2ctPWI7aWYoZz49MTAyNCl0aHJvdyBFcnJvcigiZ2EiKTtmb3IodmFyIGsgaW4gaClmPStrLApmPGcmJihjW2YrYl09aFtrXSxkZWxldGUgaFtrXSk7ZT1lJi0xNjc2MDgzM3woZyYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoImhhIik7ZT1lJi0xNjc2MDgzM3woayYxMDIzKTw8MTR9fX1fLlNnKGEsZXw2NHxkKTtyZXR1cm4gYX07Qmg9ZnVuY3Rpb24oKXtpZihfLk1jKXRocm93IEVycm9yKCJmYSIpO18uTWcoQ2gsNSl9OwpGaD1mdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhIT09Im9iamVjdCIpcmV0dXJuIGE7aWYoQXJyYXkuaXNBcnJheShhKSl7dmFyIGM9YVtfLkhdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYyYxP3ZvaWQgMDpEaChhLGMsYil9aWYoYSE9bnVsbCYmYVtkaF09PT1laClyZXR1cm4gRWgoYSk7aWYoYSBpbnN0YW5jZW9mIF8ueWgpe2I9YS5LYjtpZihiJjIpcmV0dXJuIGE7aWYoIWEuc2l6ZSlyZXR1cm47Yz1fLlRnKF8uemgoYSkpO2lmKGEuR2IpZm9yKGE9MDthPGMubGVuZ3RoO2ErKyl7dmFyIGQ9Y1thXSxlPWRbMV07ZT09bnVsbHx8dHlwZW9mIGUhPT0ib2JqZWN0Ij9lPXZvaWQgMDplIT1udWxsJiZlW2RoXT09PWVoP2U9RWgoZSk6QXJyYXkuaXNBcnJheShlKT9lPURoKGUsZVtfLkhdfDAsISEoYiYzMikpOmU9dm9pZCAwO2RbMV09ZX1yZXR1cm4gY31pZigiZnVuY3Rpb24iPT10eXBlb2YgXy54aCYmYSBpbnN0YW5jZW9mIF8ueGgpcmV0dXJuIGF9OwpEaD1mdW5jdGlvbihhLGIsYyl7aWYoYiYyKXJldHVybiBhOyFjfHw0MDk2JmJ8fDE2JmI/YT1fLkdoKGEsYiwhMSxjJiYhKGImMTYpKTooXy5SZyhhLDM0KSxiJjQmJk9iamVjdC5mcmVlemUoYSkpO3JldHVybiBhfTtfLkhoPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmc9Xy5WZyk7YS5oPV8uVmc7cmV0dXJuIGF9O0VoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/YTpfLkloKGEsYixjKT9fLkhoKGEsYik6Xy5HaChiLGMpfTtfLkdoPWZ1bmN0aW9uKGEsYixjLGQpe2QhPW51bGx8fChkPSEhKDM0JmIpKTthPXNoKGEsYixGaCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDtfLlNnKGEsYik7cmV0dXJuIGF9OwpfLmtoPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSixjPWJbXy5IXXwwO3JldHVybiBfLldnKGEsYyk/Xy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSk6YX07Xy5JaD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMmMj8hMDpjJjMyJiYhKGMmNDA5Nik/KF8uU2coYixjfDIpLGEuZz1fLlZnLCEwKTohMX07Xy5waD1mdW5jdGlvbihhKXtyZXR1cm4gYX07RGc9L15ccyooPyFqYXZhc2NyaXB0OikoPzpbXHcrLi1dKzp8W146Lz8jXSooPzpbLz8jXXwkKSkvaTtfLkpoPUhnKCk7Xy5LaD1fLlphKCl8fF8udygiaVBvZCIpO18uTGg9Xy53KCJpUGFkIik7Xy5NaD1fLktnKCk7Xy5OaD1JZygpO18uT2g9Xy5KZygpJiYhXy4kYSgpO18uUGg9IV8uU2MmJnR5cGVvZiBidG9hPT09ImZ1bmN0aW9uIjt2YXIgTGc9dm9pZCAwO3ZhciBRaCxuaCxDaCxkaDtfLk9nPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCk9PT0ic3ltYm9sIjtRaD1fLk5nKCJqYXMiLHZvaWQgMCwhMCk7Xy5maD1fLk5nKHZvaWQgMCwiMGRpIik7Xy5xaD1fLk5nKHZvaWQgMCxTeW1ib2woKSk7Xy5SaD1fLk5nKHZvaWQgMCwiMHViIik7bmg9Xy5OZyh2b2lkIDAsIjB1YnMiKTtDaD1fLk5nKHZvaWQgMCwiMGFjdGsiKTtkaD1fLk5nKCJtX20iLCJYbCIsITApO18uU2g9Xy5OZygpO3ZhciBRZyxQZyxVaDtRZz17ZWk6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9fTtQZz1PYmplY3QuZGVmaW5lUHJvcGVydGllcztfLkg9Xy5PZz9RaDoiZWkiO1VoPVtdO18uU2coVWgsNyk7Xy5UaD1PYmplY3QuZnJlZXplKFVoKTt2YXIgZWgsVmg7ZWg9e307Xy5WZz17fTtWaD1mdW5jdGlvbihhLGIsYyl7dGhpcy5nPWE7dGhpcy5oPWI7dGhpcy5qPWN9O1ZoLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nLm5leHQoKTthLmRvbmV8fChhLnZhbHVlPXRoaXMuaC5jYWxsKHRoaXMuaixhLnZhbHVlKSk7cmV0dXJuIGF9O1ZoLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O18uV2g9T2JqZWN0LmZyZWV6ZSh7fSk7Xy5YaD1PYmplY3QuZnJlZXplKHt9KTt2YXIgWmc9WGcoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSxZZz1YZyhmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLGFoPVhnKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO3ZhciAkZz10eXBlb2YgXy52LkJpZ0ludD09PSJmdW5jdGlvbiImJnR5cGVvZiBfLnYuQmlnSW50KDApPT09ImJpZ2ludCI7dmFyICRoLFloLGFpLFpoO18udmg9WGcoZnVuY3Rpb24oYSl7cmV0dXJuICRnP2E+PVloJiZhPD1aaDphWzBdPT09Ii0iP2NoKGEsJGgpOmNoKGEsYWkpfSk7JGg9TnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIudG9TdHJpbmcoKTtZaD0kZz9CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpOnZvaWQgMDthaT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUi50b1N0cmluZygpO1poPSRnP0JpZ0ludChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik6dm9pZCAwO18uYmk9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzSW50Tjp2b2lkIDA7Xy5jaT1OdW1iZXIuaXNTYWZlSW50ZWdlcjtfLmRpPU51bWJlci5pc0Zpbml0ZTtfLmVpPU1hdGgudHJ1bmM7dmFyIGZpPWZ1bmN0aW9uKCl7dHJ5e3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuKDAsXy5UYikoTWFwLFtdLHRoaXMuY29uc3RydWN0b3IpfTtfLkIoYSxNYXApO18uUWMobmV3IGEpO3JldHVybiExfWNhdGNoKGIpe3JldHVybiEwfX0oKSxnaT1mdW5jdGlvbigpe3RoaXMuZz1uZXcgTWFwfSxoaSxpaTtfLm09Z2kucHJvdG90eXBlO18ubS5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZy5nZXQoYSl9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmcuc2V0KGEsYik7dGhpcy5zaXplPXRoaXMuZy5zaXplO3JldHVybiB0aGlzfTtfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2E9dGhpcy5nLmRlbGV0ZShhKTt0aGlzLnNpemU9dGhpcy5nLnNpemU7cmV0dXJuIGF9O18ubS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuZy5jbGVhcigpO3RoaXMuc2l6ZT10aGlzLmcuc2l6ZX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nLmhhcyhhKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmVudHJpZXMoKX07Cl8ubS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5rZXlzKCl9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLnZhbHVlcygpfTtfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmcuZm9yRWFjaChhLGIpfTtnaS5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVudHJpZXMoKX07aGk9ZnVuY3Rpb24oKXtpZihmaSlyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKGdpLnByb3RvdHlwZSxNYXAucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhnaS5wcm90b3R5cGUse3NpemU6e3ZhbHVlOjAsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITB9fSksZ2k7dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oMCxfLlRiKShNYXAsW10sdGhpcy5jb25zdHJ1Y3Rvcil9O18uQihhLE1hcCk7cmV0dXJuIGF9KCk7Cl8ueWg9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1jPT09dm9pZCAwP2poOmM7ZD1kPT09dm9pZCAwP2poOmQ7dmFyIGU9aGkuY2FsbCh0aGlzKXx8dGhpcztlLktiPWFbXy5IXXwwO2UuR2I9YjtlLmFkPWM7ZS5rZz1lLkdiP2xoOmQ7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspe3ZhciBnPWFbZl0saD1jKGdbMF0sITEsITApLGs9Z1sxXTtiP2s9PT12b2lkIDAmJihrPW51bGwpOms9ZChnWzFdLCExLCEwLHZvaWQgMCx2b2lkIDAsZS5LYik7aGkucHJvdG90eXBlLnNldC5jYWxsKGUsaCxrKX1yZXR1cm4gZX07Xy5CKF8ueWgsaGkpO2lpPWZ1bmN0aW9uKGEpe2lmKGEuS2ImMil0aHJvdyBFcnJvcigiYWEiKTt9O18uemg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5VZyhBcnJheS5mcm9tKGhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwoYSksYikpfTtfLm09Xy55aC5wcm90b3R5cGU7Xy5tLmNsZWFyPWZ1bmN0aW9uKCl7aWkodGhpcyk7aGkucHJvdG90eXBlLmNsZWFyLmNhbGwodGhpcyl9OwpfLm0uZGVsZXRlPWZ1bmN0aW9uKGEpe2lpKHRoaXMpO3JldHVybiBoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyx0aGlzLmFkKGEsITAsITEpKX07Xy5tLmVudHJpZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsbWgsdGhpcyl9ZWxzZSBhPWhpLnByb3RvdHlwZS5lbnRyaWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9O18ubS52YWx1ZXM9ZnVuY3Rpb24oKXtpZih0aGlzLkdiKXt2YXIgYT1oaS5wcm90b3R5cGUua2V5cy5jYWxsKHRoaXMpO2E9bmV3IFZoKGEsXy55aC5wcm90b3R5cGUuZ2V0LHRoaXMpfWVsc2UgYT1oaS5wcm90b3R5cGUudmFsdWVzLmNhbGwodGhpcyk7cmV0dXJuIGF9OwpfLm0uZm9yRWFjaD1mdW5jdGlvbihhLGIpe3RoaXMuR2I/aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGZ1bmN0aW9uKGMsZCxlKXthLmNhbGwoYixlLmdldChkKSxkLGUpfSk6aGkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0aGlzLGEsYil9O18ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtpaSh0aGlzKTthPXRoaXMuYWQoYSwhMCwhMSk7cmV0dXJuIGE9PW51bGw/dGhpczpiPT1udWxsPyhoaS5wcm90b3R5cGUuZGVsZXRlLmNhbGwodGhpcyxhKSx0aGlzKTpoaS5wcm90b3R5cGUuc2V0LmNhbGwodGhpcyxhLHRoaXMua2coYiwhMCwhMCx0aGlzLkdiLCExLHRoaXMuS2IpKX07Xy5tLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gaGkucHJvdG90eXBlLmhhcy5jYWxsKHRoaXMsdGhpcy5hZChhLCExLCExKSl9OwpfLm0uZ2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5hZChhLCExLCExKTt2YXIgYj1oaS5wcm90b3R5cGUuZ2V0LmNhbGwodGhpcyxhKTtpZihiIT09dm9pZCAwKXt2YXIgYz10aGlzLkdiO3JldHVybiBjPyhjPXRoaXMua2coYiwhMSwhMCxjLHRoaXMuTmssdGhpcy5LYiksYyE9PWImJmhpLnByb3RvdHlwZS5zZXQuY2FsbCh0aGlzLGEsYyksYyk6Yn19O18ueWgucHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnRyaWVzKCl9O18ueWgucHJvdG90eXBlLnRvSlNPTj12b2lkIDA7dmFyIHJoO18uamk9Xy5iaCgwKTtfLko9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSj1fLkkoYSxiLGMpfTtfLkoucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiBfLndoKHRoaXMpfTtfLkoucHJvdG90eXBlW2RoXT1laDtfLkoucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSi50b1N0cmluZygpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExpLE1pLE5pLE9pLFJpLFBpLFFpLFNpLFVpLFdpLFhpO18ua2k9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5lYy5hcHBseSgxLGFyZ3VtZW50cyk7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLk1hKGFbMF0pO2Zvcih2YXIgYz1hWzBdLGQ9MDtkPGIubGVuZ3RoO2QrKyljKz1lbmNvZGVVUklDb21wb25lbnQoYltkXSkrYVtkKzFdO3JldHVybiBfLk1hKGMpfTtfLmxpPWZ1bmN0aW9uKGEpe18uUmcoYSwzMik7cmV0dXJuIGF9O18ubWk9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEpfTtfLm5pPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09ImJvb2xlYW4iKXRocm93IEVycm9yKCIkYCIrXy5vYyhhKSsiYCIrYSk7cmV0dXJuIGF9O18ub2k9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PT0iYm9vbGVhbiIpcmV0dXJuIGE7aWYodHlwZW9mIGE9PT0ibnVtYmVyIilyZXR1cm4hIWF9OwpfLnBpPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsfHx0eXBlb2YgYT09PSJzdHJpbmciP2E6dm9pZCAwfTtfLnFpPWZ1bmN0aW9uKGEpe2lmKGEuZyE9PV8uVmcpcmV0dXJuITE7dmFyIGI9YS5KO2I9Xy5HaChiLGJbXy5IXXwwKTtfLlJnKGIsMjA0OCk7YS5KPWI7YS5nPXZvaWQgMDthLmg9dm9pZCAwO3JldHVybiEwfTtfLnJpPWZ1bmN0aW9uKGEpe2lmKCFfLnFpKGEpJiZfLldnKGEsYS5KW18uSF18MCkpdGhyb3cgRXJyb3IoKTt9O18uc2k9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uSF18MCk7YiYzMiYmIShiJjQwOTYpJiZfLlNnKGEsYnw0MDk2KX07Cl8udGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jKyhlPzA6LTEpLGc9YS5sZW5ndGgtMTtpZihnPj0xKyhlPzA6LTEpJiZmPj1nKXt2YXIgaD1hW2ddO2lmKGghPW51bGwmJnR5cGVvZiBoPT09Im9iamVjdCImJmguY29uc3RydWN0b3I9PT1PYmplY3QpcmV0dXJuIGhbY109ZCxifWlmKGY8PWcpcmV0dXJuIGFbZl09ZCxiO2lmKGQhPT12b2lkIDApe3ZhciBrO2c9KChrPWIpIT1udWxsP2s6Yj1hW18uSF18MCk+PjE0JjEwMjN8fDUzNjg3MDkxMjtjPj1nP2QhPW51bGwmJihmPXt9LGFbZysoZT8wOi0xKV09KGZbY109ZCxmKSk6YVtmXT1kfXJldHVybiBifTtfLkJpPWZ1bmN0aW9uKGEsYil7YT1fLnVpKGEsYix2b2lkIDApO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6Xy5UaH07Xy5DaT1mdW5jdGlvbihhLGIpezImYiYmKGF8PTIpO3JldHVybiBhfDF9O18uRGk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT0oMiZiP2F8MjphJi0zKSYtMjczfTsKXy5FaT1mdW5jdGlvbihhKXtyZXR1cm4hISgyJmEpJiYhISg0JmEpfHwhISgyNTYmYSl9O18uRmk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1iO2Y9PT0xfHwoZiE9PTQ/MDoyJmJ8fCEoMTYmYikmJjMyJmQpP18uRWkoYil8fChifD0hYS5sZW5ndGh8fGcmJiEoNDA5NiZiKXx8MzImZCYmISg0MDk2JmJ8fDE2JmIpPzI6MjU2LGIhPT1rJiZfLlNnKGEsYiksT2JqZWN0LmZyZWV6ZShhKSk6KGY9PT0yJiZfLkVpKGIpJiYoYT1fLm1pKGEpLGs9MCxiPV8uRGkoYixkKSxkPV8udGkoYyxkLGUsYSkpLF8uRWkoYil8fChofHwoYnw9MTYpLGIhPT1rJiZfLlNnKGEsYikpKTsyJmJ8fCEoNDA5NiZifHwxNiZiKXx8Xy5zaShjLGQpO3JldHVybiBhfTtfLkdpPWZ1bmN0aW9uKGEsYixjLGQpe18ucmkoYSk7dmFyIGU9YS5KO18udGkoZSxlW18uSF18MCxiLChkPT09IjAiP051bWJlcihjKT09PTA6Yz09PWQpP3ZvaWQgMDpjKTtyZXR1cm4gYX07Cl8uSGk9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtkPV8udWkoYSxkLGUsZnVuY3Rpb24oZyl7dmFyIGg9Xy5oaChnLGMsITEsYik7Zj1oIT09ZyYmaCE9bnVsbDtyZXR1cm4gaH0pO2lmKGQhPW51bGwpcmV0dXJuIGYmJiFfLldnKGQpJiZfLnNpKGEsYiksZH07Cl8uSWk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt2YXIgaz1fLldnKGEsYyk7Zj1rPzE6ZjtnPSEhZ3x8Zj09PTM7az1oJiYhazsoZj09PTJ8fGspJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7YT1fLkJpKGIsZSk7dmFyIGw9YT09PV8uVGg/NzphW18uSF18MCxuPV8uQ2kobCxjKTtpZihoPSEoNCZuKSl7dmFyIHE9YSxwPWMscj0hISgyJm4pO3ImJihwfD0yKTtmb3IodmFyIHQ9IXIsQT0hMCxEPTAsRT0wO0Q8cS5sZW5ndGg7RCsrKXt2YXIgYmE9Xy5oaChxW0RdLGQsITEscCk7aWYoYmEgaW5zdGFuY2VvZiBkKXtpZighcil7dmFyIFo9Xy5XZyhiYSk7dCYmKHQ9IVopO0EmJihBPVopfXFbRSsrXT1iYX19RTxEJiYocS5sZW5ndGg9RSk7bnw9NDtuPUE/biYtNDA5NzpufDQwOTY7bj10P258ODpuJi05fW4hPT1sJiYoXy5TZyhhLG4pLDImbiYmT2JqZWN0LmZyZWV6ZShhKSk7aWYoayYmISg4Jm58fCFhLmxlbmd0aCYmKGY9PT0xfHwoZiE9PTQ/MDoyJm58fCEoMTYmbikmJgozMiZjKSkpKXtfLkVpKG4pJiYoYT1fLm1pKGEpLG49Xy5EaShuLGMpLGM9Xy50aShiLGMsZSxhKSk7ZD1hO2s9bjtmb3IobD0wO2w8ZC5sZW5ndGg7bCsrKXE9ZFtsXSxuPV8ua2gocSkscSE9PW4mJihkW2xdPW4pO2t8PTg7bj1rPWQubGVuZ3RoP2t8NDA5NjprJi00MDk3O18uU2coYSxuKX1yZXR1cm4gYT1fLkZpKGEsbixiLGMsZSxmLGgsZyl9O18uSmk9ZnVuY3Rpb24oYSl7YT09bnVsbCYmKGE9dm9pZCAwKTtyZXR1cm4gYX07Xy5LaT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJpYWAiK18ub2MoYikrImAiK2IpO18uVGcoYik7cmV0dXJuIG5ldyBhKGIpfX07TGk9ZnVuY3Rpb24oYSl7aWYoYS5HKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTthLkc9ITB9O01pPWZ1bmN0aW9uKGEsYil7YS5sPXtiZjpiLENmOiEwfTthLmc9YS5DfHxhLm99OwpOaT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9O18uSz1mdW5jdGlvbihhKXtyZXR1cm4gTmkoYSxhKX07T2k9ZnVuY3Rpb24oYSl7dGhpcy5nPW5ldyBfLkY7dGhpcy5oPWF9O1JpPWZ1bmN0aW9uKGEsYil7TGkoYS5nKTt2YXIgYz1hLmcuQTtpZihjKXJldHVybiBQaShhLCJyZXR1cm4iaW4gYz9jWyJyZXR1cm4iXTpmdW5jdGlvbihkKXtyZXR1cm57dmFsdWU6ZCxkb25lOiEwfX0sYixhLmcucmV0dXJuKTthLmcucmV0dXJuKGIpO3JldHVybiBRaShhKX07UGk9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e3ZhciBlPWIuY2FsbChhLmcuQSxjKTtfLmNjKGUpO2lmKCFlLmRvbmUpcmV0dXJuIGEuZy5HPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5nLkE9bnVsbCxNaShhLmcsZyksUWkoYSl9YS5nLkE9bnVsbDtkLmNhbGwoYS5nLGYpO3JldHVybiBRaShhKX07ClFpPWZ1bmN0aW9uKGEpe2Zvcig7YS5nLmc7KXRyeXt2YXIgYj1hLmgoYS5nKTtpZihiKXJldHVybiBhLmcuRz0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChjKXthLmcuaj12b2lkIDAsTWkoYS5nLGMpfWEuZy5HPSExO2lmKGEuZy5sKXtiPWEuZy5sO2EuZy5sPW51bGw7aWYoYi5DZil0aHJvdyBiLmJmO3JldHVybnt2YWx1ZTpiLnJldHVybixkb25lOiEwfX1yZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fTsKU2k9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BLm5leHQsYixhLmcuSSk6KGEuZy5JKGIpLGI9UWkoYSkpO3JldHVybiBifTt0aGlzLnRocm93PWZ1bmN0aW9uKGIpe0xpKGEuZyk7YS5nLkE/Yj1QaShhLGEuZy5BWyJ0aHJvdyJdLGIsYS5nLkkpOihNaShhLmcsYiksYj1RaShhKSk7cmV0dXJuIGJ9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBSaShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319O1VpPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZCl7cmV0dXJuIGEubmV4dChkKX1mdW5jdGlvbiBjKGQpe3JldHVybiBhLnRocm93KGQpfXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2Z1bmN0aW9uIGYoZyl7Zy5kb25lP2QoZy52YWx1ZSk6UHJvbWlzZS5yZXNvbHZlKGcudmFsdWUpLnRoZW4oYixjKS50aGVuKGYsZSl9ZihhLm5leHQoKSl9KX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gVWkobmV3IFNpKG5ldyBPaShhKSkpfTsKV2k9ZnVuY3Rpb24oYSl7cmV0dXJuIFN0cmluZyhhKS5yZXBsYWNlKC9cLShbYS16XSkvZyxmdW5jdGlvbihiLGMpe3JldHVybiBjLnRvVXBwZXJDYXNlKCl9KX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZShSZWdFeHAoIihefFtcXHNdKykoW2Etel0pIiwiZyIpLGZ1bmN0aW9uKGIsYyxkKXtyZXR1cm4gYytkLnRvVXBwZXJDYXNlKCl9KX07Xy5ZaT1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5vZSlyZXR1cm4gYTt2YXIgYj1uZXcgXy5vZShfLmxlKTtfLm5lKGIsMixhKTtyZXR1cm4gYn07Cl8udWk9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYj09PS0xKXJldHVybiBudWxsO3ZhciBlPWIrKGM/MDotMSksZj1hLmxlbmd0aC0xO2lmKCEoZjwxKyhjPzA6LTEpKSl7aWYoZT49Zil7dmFyIGc9YVtmXTtpZihnIT1udWxsJiZ0eXBlb2YgZz09PSJvYmplY3QiJiZnLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtjPWdbYl07dmFyIGg9ITB9ZWxzZSBpZihlPT09ZiljPWc7ZWxzZSByZXR1cm59ZWxzZSBjPWFbZV07aWYoZCYmYyE9bnVsbCl7ZD1kKGMpO2lmKGQ9PW51bGwpcmV0dXJuIGQ7aWYoIU9iamVjdC5pcyhkLGMpKXJldHVybiBoP2dbYl09ZDphW2VdPWQsZH1yZXR1cm4gY319O18uWmk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8udWkoYS5KLGIsYyxlKTtpZihiIT09bnVsbHx8ZCYmYS5oIT09Xy5WZylyZXR1cm4gYn07Xy4kaT1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLko7Xy50aShkLGRbXy5IXXwwLGIsYyk7cmV0dXJuIGF9OwpfLmFqPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Xy5XaD8yOjR9O18uYmo9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5KLGY9ZVtfLkhdfDA7Yj1fLkhpKGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5IXXwwO2lmKCFfLldnKGEsZikpe3ZhciBnPV8ua2goYik7ZyE9PWImJihfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCksYj1nLGY9Xy50aShlLGYsYyxiLGQpLF8uc2koZSxmKSl9cmV0dXJuIGJ9O18uY2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuSjtyZXR1cm4gXy5JaShhLGQsZFtfLkhdfDAsYixjLF8uYWooKSwhMSwhMCl9O18uTD1mdW5jdGlvbihhLGIsYyl7Yz1fLkppKGMpO18uJGkoYSxiLGMpO2MmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9O18uTT1mdW5jdGlvbihhLGIpe3ZhciBjPWM9PT12b2lkIDA/ITE6YzthPV8ub2koXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPyIiOmM7dmFyIGQ7cmV0dXJuKGQ9Xy5waShfLlppKGEsYikpKSE9bnVsbD9kOmN9O18uZGo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1jPT09dm9pZCAwPzA6YzthPV8uWmkoYSxiKTthPWE9PW51bGw/YTooMCxfLmRpKShhKT9hfDA6dm9pZCAwO3JldHVybiBhIT1udWxsP2E6Y307Xy5laj1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2koYSxiLGM9PW51bGw/YzpfLm5pKGMpLCExKX07Xy5maj1mdW5jdGlvbihhLGIpe2lmKGI9PW51bGx8fGI9PSIiKXJldHVybiBuZXcgYTtiPUpTT04ucGFyc2UoYik7aWYoIUFycmF5LmlzQXJyYXkoYikpdGhyb3cgRXJyb3IoImphIik7cmV0dXJuIG5ldyBhKF8ubGkoYikpfTt2YXIgaWosZ2osamo7Xy5oaj1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilnaihhLGMsYik7ZWxzZSBmb3IodmFyIGQgaW4gYilnaihhLGJbZF0sZCl9O2lqPS9eLS0uKy87Z2o9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWpqW2NdO2lmKCFkKXt2YXIgZT1XaShjKTtkPWU7YS5zdHlsZVtlXT09PXZvaWQgMCYmKGU9KF8uVmM/IldlYmtpdCI6Xy5VYz8iTW96IjpudWxsKStYaShlKSxhLnN0eWxlW2VdIT09dm9pZCAwJiYoZD1lKSk7ampbY109ZH0oYz1kKSYmKGlqLnRlc3QoYyk/YS5zdHlsZS5zZXRQcm9wZXJ0eShjLGIpOmEuc3R5bGVbY109Yil9O2pqPXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgbGosb2oscGoscWosdGosdWosdmosd2oseGoseWosQWosQ2osRGosRWosRmosR2osSGosSWosS2osTmosT2osWGosWWosYmssbmosbWosY2ssZWsscmosc2osemosbms7Xy5raj1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5EYylyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fTtsaj1mdW5jdGlvbihhKXt2YXIgYj1hLkosYz1iW18uSF18MDtyZXR1cm4gXy5JaChhLGIsYyk/Xy5IaChhLGIsITApOm5ldyBhLmNvbnN0cnVjdG9yKF8uR2goYixjLCExKSl9Owpvaj1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPTApO2lmKCFtail7bWo9e307Zm9yKHZhciBjPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLGQ9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl0sZT0wO2U8NTtlKyspe3ZhciBmPWMuY29uY2F0KGRbZV0uc3BsaXQoIiIpKTtualtlXT1mO2Zvcih2YXIgZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO21qW2hdPT09dm9pZCAwJiYobWpbaF09Zyl9fX1iPW5qW2JdO2M9QXJyYXkoTWF0aC5mbG9vcihhLmxlbmd0aC8zKSk7ZD1iWzY0XXx8IiI7Zm9yKGU9Zj0wO2Y8YS5sZW5ndGgtMjtmKz0zKXt2YXIgaz1hW2ZdLGw9YVtmKzFdO2g9YVtmKzJdO2c9YltrPj4yXTtrPWJbKGsmMyk8PDR8bD4+NF07bD1iWyhsJjE1KTw8MnxoPj42XTtoPWJbaCY2M107Y1tlKytdPWcraytsK2h9Zz0wO2g9ZDtzd2l0Y2goYS5sZW5ndGgtZil7Y2FzZSAyOmc9CmFbZisxXSxoPWJbKGcmMTUpPDwyXXx8ZDtjYXNlIDE6YT1hW2ZdLGNbZV09YlthPj4yXStiWyhhJjMpPDw0fGc+PjRdK2grZH1yZXR1cm4gYy5qb2luKCIiKX07cGo9ZnVuY3Rpb24oYSl7YT1FcnJvcihhKTtfLkZnKGEsIndhcm5pbmciKTtyZXR1cm4gYX07cWo9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiJ9O3RqPWZ1bmN0aW9uKGEpe3ZhciBiPWE+Pj4wO3JqPWI7c2o9KGEtYikvNDI5NDk2NzI5Nj4+PjB9O3VqPWZ1bmN0aW9uKGEsYil7Yj1+YjthP2E9fmErMTpiKz0xO3JldHVyblthLGJdfTt2aj1mdW5jdGlvbihhKXtpZihhPDApe3RqKC1hKTt2YXIgYj1fLkModWoocmosc2opKTthPWIubmV4dCgpLnZhbHVlO2I9Yi5uZXh0KCkudmFsdWU7cmo9YT4+PjA7c2o9Yj4+PjB9ZWxzZSB0aihhKX07d2o9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7cmV0dXJuIjAwMDAwMDAiLnNsaWNlKGEubGVuZ3RoKSthfTsKeGo9ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO2lmKGI8PTIwOTcxNTEpdmFyIGM9IiIrKDQyOTQ5NjcyOTYqYithKTtlbHNlIHFqKCk/Yz0iIisoQmlnSW50KGIpPDxCaWdJbnQoMzIpfEJpZ0ludChhKSk6KGM9KGE+Pj4yNHxiPDw4KSYxNjc3NzIxNSxiPWI+PjE2JjY1NTM1LGE9KGEmMTY3NzcyMTUpK2MqNjc3NzIxNitiKjY3MTA2NTYsYys9Yio4MTQ3NDk3LGIqPTIsYT49MUU3JiYoYys9YS8xRTc+Pj4wLGElPTFFNyksYz49MUU3JiYoYis9Yy8xRTc+Pj4wLGMlPTFFNyksYz1iK3dqKGMpK3dqKGEpKTtyZXR1cm4gY307eWo9ZnVuY3Rpb24oKXt2YXIgYT1yaixiPXNqO2ImMjE0NzQ4MzY0OD9xaigpP2E9IiIrKEJpZ0ludChifDApPDxCaWdJbnQoMzIpfEJpZ0ludChhPj4+MCkpOihiPV8uQyh1aihhLGIpKSxhPWIubmV4dCgpLnZhbHVlLGI9Yi5uZXh0KCkudmFsdWUsYT0iLSIreGooYSxiKSk6YT14aihhLGIpO3JldHVybiBhfTsKQWo9ZnVuY3Rpb24oYSl7c3dpdGNoKHR5cGVvZiBhKXtjYXNlICJiaWdpbnQiOnJldHVybiEwO2Nhc2UgIm51bWJlciI6cmV0dXJuKDAsXy5kaSkoYSk7Y2FzZSAic3RyaW5nIjpyZXR1cm4gemoudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07Xy5Caj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IHBqKCJpbnQzMiIpO2lmKCEoMCxfLmRpKShhKSl0aHJvdyBwaigiaW50MzIiKTtyZXR1cm4gYXwwfTtDaj1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBhO2lmKHR5cGVvZiBhPT09InN0cmluZyImJmEpYT0rYTtlbHNlIGlmKHR5cGVvZiBhIT09Im51bWJlciIpcmV0dXJuO3JldHVybigwLF8uZGkpKGEpP2F8MDp2b2lkIDB9OwpEaj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3IilyZXR1cm4gYTtpZihhLmxlbmd0aDwxNil2aihOdW1iZXIoYSkpO2Vsc2UgaWYocWooKSlhPUJpZ0ludChhKSxyaj1OdW1iZXIoYSZCaWdJbnQoNDI5NDk2NzI5NSkpPj4+MCxzaj1OdW1iZXIoYT4+QmlnSW50KDMyKSZCaWdJbnQoNDI5NDk2NzI5NSkpO2Vsc2V7Yj0rKGFbMF09PT0iLSIpO3NqPXJqPTA7Zm9yKHZhciBjPWEubGVuZ3RoLGQ9YixlPShjLWIpJTYrYjtlPD1jO2Q9ZSxlKz02KWQ9TnVtYmVyKGEuc2xpY2UoZCxlKSksc2oqPTFFNixyaj1yaioxRTYrZCxyaj49NDI5NDk2NzI5NiYmKHNqKz1NYXRoLnRydW5jKHJqLzQyOTQ5NjcyOTYpLHNqPj4+PTAscmo+Pj49MCk7YiYmKGI9Xy5DKHVqKHJqLHNqKSksYT1iLm5leHQoKS52YWx1ZSxiPWIubmV4dCgpLnZhbHVlLApyaj1hLHNqPWIpfXJldHVybiB5aigpfTtFaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBfLmJoKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gcWooKT9fLmJoKCgwLF8uYmkpKDY0LEJpZ0ludChhKSkpOl8uYmgoRGooYSkpfTtGaj1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLmVpKShOdW1iZXIoYSkpO2lmKCgwLF8uY2kpKGIpKXJldHVybiBTdHJpbmcoYik7Yj1hLmluZGV4T2YoIi4iKTtiIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYikpO3JldHVybiBEaihhKX07CkdqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7aWYoISgwLF8uY2kpKGEpKXt2aihhKTt2YXIgYj1yaixjPXNqO2lmKGE9YyYyMTQ3NDgzNjQ4KWI9fmIrMT4+PjAsYz1+Yz4+PjAsYj09MCYmKGM9YysxPj4+MCk7dmFyIGQ9Yyo0Mjk0OTY3Mjk2KyhiPj4+MCk7Yj1OdW1iZXIuaXNTYWZlSW50ZWdlcihkKT9kOnhqKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O0hqPWZ1bmN0aW9uKGEpe2E9KDAsXy5laSkoYSk7KDAsXy5jaSkoYSk/YT1TdHJpbmcoYSk6KHZqKGEpLGE9eWooKSk7cmV0dXJuIGF9O0lqPWZ1bmN0aW9uKGEpe3JldHVybigwLF8uY2kpKGEpP18uYmgoR2ooYSkpOl8uYmgoSGooYSkpfTsKXy5Kaj1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YiE9bnVsbHx8KGI9MTAyNCk7aWYoIUFqKGEpKXRocm93IHBqKCJpbnQ2NCIpO3ZhciBjPXR5cGVvZiBhO3N3aXRjaChiKXtjYXNlIDUxMjpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gU3RyaW5nKCgwLF8uYmkpKDY0LGEpKTtkZWZhdWx0OnJldHVybiBIaihhKX1jYXNlIDEwMjQ6c3dpdGNoKGMpe2Nhc2UgInN0cmluZyI6cmV0dXJuIEVqKGEpO2Nhc2UgImJpZ2ludCI6cmV0dXJuIF8uYmgoKDAsXy5iaSkoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIElqKGEpfWNhc2UgMDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gRmooYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5iaCgoMCxfLmJpKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4gR2ooYSl9ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5rbm93biBmb3JtYXQgcmVxdWVzdGVkIHR5cGUgZm9yIGludDY0Iik7fX07CktqPWZ1bmN0aW9uKGEpe3ZhciBiPXR5cGVvZiBhO2lmKGE9PW51bGwpcmV0dXJuIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBfLmJoKCgwLF8uYmkpKDY0LGEpKTtpZihBaihhKSlyZXR1cm4gYj09PSJzdHJpbmciP0VqKGEpOklqKGEpfTtfLkxqPWZ1bmN0aW9uKGEpe2lmKGEhPW51bGwmJnR5cGVvZiBhIT09InN0cmluZyIpdGhyb3cgRXJyb3IoKTtyZXR1cm4gYX07Xy5Naj1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIF8uZmooYSxiKX19OwpOaj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtlWzBdPTE3MzI1ODQxOTM7ZVsxXT00MDIzMjMzNDE3O2VbMl09MjU2MjM4MzEwMjtlWzNdPTI3MTczMzg3ODtlWzRdPTMyODUzNzc1MjA7bj1sPTB9ZnVuY3Rpb24gYihxKXtmb3IodmFyIHA9ZyxyPTA7cjw2NDtyKz00KXBbci80XT1xW3JdPDwyNHxxW3IrMV08PDE2fHFbcisyXTw8OHxxW3IrM107Zm9yKHI9MTY7cjw4MDtyKyspcT1wW3ItM11ecFtyLThdXnBbci0xNF1ecFtyLTE2XSxwW3JdPShxPDwxfHE+Pj4zMSkmNDI5NDk2NzI5NTtxPWVbMF07dmFyIHQ9ZVsxXSxBPWVbMl0sRD1lWzNdLEU9ZVs0XTtmb3Iocj0wO3I8ODA7cisrKXtpZihyPDQwKWlmKHI8MjApe3ZhciBiYT1EXnQmKEFeRCk7dmFyIFo9MTUxODUwMDI0OX1lbHNlIGJhPXReQV5ELFo9MTg1OTc3NTM5MztlbHNlIHI8NjA/KGJhPXQmQXxEJih0fEEpLFo9MjQwMDk1OTcwOCk6KGJhPXReQV5ELFo9MzM5NTQ2OTc4Mik7YmE9KChxPDw1fHE+Pj4yNykmNDI5NDk2NzI5NSkrCmJhK0UrWitwW3JdJjQyOTQ5NjcyOTU7RT1EO0Q9QTtBPSh0PDwzMHx0Pj4+MikmNDI5NDk2NzI5NTt0PXE7cT1iYX1lWzBdPWVbMF0rcSY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt0JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK0EmNDI5NDk2NzI5NTtlWzNdPWVbM10rRCY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStFJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhxLHApe2lmKHR5cGVvZiBxPT09InN0cmluZyIpe3E9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHEpKTtmb3IodmFyIHI9W10sdD0wLEE9cS5sZW5ndGg7dDxBOysrdClyLnB1c2gocS5jaGFyQ29kZUF0KHQpKTtxPXJ9cHx8KHA9cS5sZW5ndGgpO3I9MDtpZihsPT0wKWZvcig7cis2NDxwOyliKHEuc2xpY2UocixyKzY0KSkscis9NjQsbis9NjQ7Zm9yKDtyPHA7KWlmKGZbbCsrXT1xW3IrK10sbisrLGw9PTY0KWZvcihsPTAsYihmKTtyKzY0PHA7KWIocS5zbGljZShyLHIrNjQpKSxyKz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHE9W10sCnA9bio4O2w8NTY/YyhoLDU2LWwpOmMoaCw2NC0obC01NikpO2Zvcih2YXIgcj02MztyPj01NjtyLS0pZltyXT1wJjI1NSxwPj4+PTg7YihmKTtmb3Iocj1wPTA7cjw1O3IrKylmb3IodmFyIHQ9MjQ7dD49MDt0LT04KXFbcCsrXT1lW3JdPj50JjI1NTtyZXR1cm4gcX1mb3IodmFyIGU9W10sZj1bXSxnPVtdLGg9WzEyOF0saz0xO2s8NjQ7KytrKWhba109MDt2YXIgbCxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxmaDpmdW5jdGlvbigpe2Zvcih2YXIgcT1kKCkscD0iIixyPTA7cjxxLmxlbmd0aDtyKyspcCs9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHFbcl0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHFbcl0lMTYpO3JldHVybiBwfX19O09qPWZ1bmN0aW9uKCl7dGhpcy5nPWRvY3VtZW50fHx7Y29va2llOiIifX07ClhqPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP1BqOmI7aWYoIVFqKXt2YXIgYzthPShjPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6Yy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoIm9hIikpO1JqKChhLmJyYW5kc3x8W10pLm1hcChmdW5jdGlvbihlKXt2YXIgZj1uZXcgU2o7Zj1fLlRqKGYsMSxlLmJyYW5kKTtyZXR1cm4gXy5UaihmLDIsZS52ZXJzaW9uKX0pKTt0eXBlb2YgYS5tb2JpbGU9PT0iYm9vbGVhbiImJl8uVWooVmosMixhLm1vYmlsZSk7UWo9YS5nZXRIaWdoRW50cm9weVZhbHVlcyhiKX12YXIgZD1uZXcgU2V0KGIpO3JldHVybiBRai50aGVuKGZ1bmN0aW9uKGUpe3ZhciBmPWxqKFZqKTtkLmhhcygicGxhdGZvcm0iKSYmXy5UaihmLDMsZS5wbGF0Zm9ybSk7ZC5oYXMoInBsYXRmb3JtVmVyc2lvbiIpJiYKXy5UaihmLDQsZS5wbGF0Zm9ybVZlcnNpb24pO2QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmXy5UaihmLDUsZS5hcmNoaXRlY3R1cmUpO2QuaGFzKCJtb2RlbCIpJiZfLlRqKGYsNixlLm1vZGVsKTtkLmhhcygidWFGdWxsVmVyc2lvbiIpJiZfLlRqKGYsNyxlLnVhRnVsbFZlcnNpb24pO3JldHVybiBfLldqKGYpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4gXy5XaihWail9KX07WWo9ZnVuY3Rpb24oYSl7dGhpcy5nPXRoaXMuaD10aGlzLmo9YX07Xy5aaj1mdW5jdGlvbihhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZD1jLnNsaWNlKCk7ZC5wdXNoLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gYS5hcHBseSh0aGlzLGQpfX07Xy5haz1mdW5jdGlvbihhLGIpe2EucWE/YigpOihhLld8fChhLlc9W10pLGEuVy5wdXNoKGIpKX07Yms9e1psOiEwfTtfLldqPWZ1bmN0aW9uKGEpe3JldHVybiBKU09OLnN0cmluZ2lmeShfLndoKGEpKX07Cm5qPXt9O21qPW51bGw7Y2s9e307Xy54aD1mdW5jdGlvbihhLGIpe2lmKGIhPT1jayl0aHJvdyBFcnJvcigiWiIpO3RoaXMubz1hO2lmKGEhPW51bGwmJmEubGVuZ3RoPT09MCl0aHJvdyBFcnJvcigiWSIpO307Xy54aC5wcm90b3R5cGUuZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMubztpZihhPT1udWxsKWE9IiI7ZWxzZSBpZih0eXBlb2YgYSE9PSJzdHJpbmciKXtpZihfLlBoKXtmb3IodmFyIGI9IiIsYz0wLGQ9YS5sZW5ndGgtMTAyNDA7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPWJ0b2EoYil9ZWxzZSBhPW9qKGEpO2E9dGhpcy5vPWF9cmV0dXJuIGF9O18uZGs9Xy5OZyh2b2lkIDAsIjFvYSIpO2VrPXt9O3JqPTA7c2o9MDt6aj0vXi0/KFsxLTldWzAtOV0qfDApKFwuWzAtOV0rKT8kLzsKXy5maz1mdW5jdGlvbihhLGIsYyl7Xy5yaShhKTt2YXIgZD1hLkosZT1kW18uSF18MDtpZihjPT1udWxsKXJldHVybiBfLnRpKGQsZSxiKSxhO2Zvcih2YXIgZj1jPT09Xy5UaD83OmNbXy5IXXwwLGc9ZixoPV8uRWkoZiksaz1ofHxPYmplY3QuaXNGcm96ZW4oYyksbD0hMCxuPSEwLHE9MDtxPGMubGVuZ3RoO3ErKyl7dmFyIHA9Y1txXTtofHwocD1fLldnKHApLGwmJihsPSFwKSxuJiYobj1wKSl9aHx8KGY9bD8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7ayYmZj09PWd8fChjPV8ubWkoYyksZz0wLGY9Xy5EaShmLGUpKTtmIT09ZyYmXy5TZyhjLGYpO2U9Xy50aShkLGUsYixjKTsyJmZ8fCEoNDA5NiZmfHwxNiZmKXx8Xy5zaShkLGUpO3JldHVybiBhfTtfLmdrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/MDpjO2E9Q2ooXy5aaShhLGIpKTtyZXR1cm4gYSE9bnVsbD9hOmN9OwpfLmhrPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/Xy5qaTpjO2E9Xy5aaShhLGIsdm9pZCAwLHZvaWQgMCxLaik7cmV0dXJuIGEhPW51bGw/YTpjfTtfLlVqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8ubmkoYykpfTtfLmlrPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uQmooYykpfTtfLmprPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsYz09bnVsbD9jOl8uSmooYykpfTtfLlRqPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy4kaShhLGIsXy5MaihjKSl9O18ua2s9ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpe2lmKCEoMCxfLmRpKShjKSl0aHJvdyBwaigiZW51bSIpO2N8PTB9cmV0dXJuIF8uJGkoYSxiLGMpfTsKbms9ZnVuY3Rpb24oKXt2YXIgYT1sayxiPW1rO3RoaXMuZz0xNzUyMzczNzU7dGhpcy5MYj1iO3RoaXMuaD1fLmJqO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLmo9YS5XbCE9bnVsbD9lazp2b2lkIDB9O25rLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbigpe18uUWModGhpcyl9O3ZhciBvaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIob2ssXy5KKTt2YXIgcGs9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigia2FgIithKTtpZihjIT09Imh0dHAiJiZjIT09Imh0dHBzIiYmYyE9PSJjaHJvbWUtZXh0ZW5zaW9uIiYmYyE9PSJtb3otZXh0ZW5zaW9uIiYmCmMhPT0iZmlsZSImJmMhPT0iYW5kcm9pZC1hcHAiJiZjIT09ImNocm9tZS1zZWFyY2giJiZjIT09ImNocm9tZS11bnRydXN0ZWQiJiZjIT09ImNocm9tZSImJmMhPT0iYXBwIiYmYyE9PSJkZXZ0b29scyIpdGhyb3cgRXJyb3IoImxhYCIrYyk7YT0iIjt2YXIgZD1iLmluZGV4T2YoIjoiKTtpZihkIT0tMSl7dmFyIGU9Yi5zdWJzdHJpbmcoZCsxKTtiPWIuc3Vic3RyaW5nKDAsZCk7aWYoYz09PSJodHRwIiYmZSE9PSI4MCJ8fGM9PT0iaHR0cHMiJiZlIT09IjQ0MyIpYT0iOiIrZX1yZXR1cm4gYysiOi8vIitiK2F9O3ZhciByaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9U3RyaW5nKF8udi5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gZCYmYSYmYj9bYixxayhwayhkKSxhLGN8fG51bGwpXS5qb2luKCIgIik6bnVsbH0scWs9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnZjKGQsZnVuY3Rpb24oaCl7ZS5wdXNoKGgpfSksc2soZS5qb2luKCIgIikpO3ZhciBmPVtdLGc9W107Xy52YyhjLGZ1bmN0aW9uKGgpe2cucHVzaChoLmtleSk7Zi5wdXNoKGgudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy52YyhkLGZ1bmN0aW9uKGgpe2UucHVzaChoKX0pO2E9c2soZS5qb2luKCIgIikpO2E9W2MsYV07Zy5sZW5ndGg9PTB8fGEucHVzaChnLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9LHNrPWZ1bmN0aW9uKGEpe3ZhciBiPQpOaigpO2IudXBkYXRlKGEpO3JldHVybiBiLmZoKCkudG9Mb3dlckNhc2UoKX07Xy5tPU9qLnByb3RvdHlwZTtfLm0uc2V0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTtpZih0eXBlb2YgYz09PSJvYmplY3QiKXt2YXIgZT1jLnNhbWVTaXRlO2Q9Yy5zZWN1cmV8fCExO3ZhciBmPWMuZG9tYWlufHx2b2lkIDA7dmFyIGc9Yy5wYXRofHx2b2lkIDA7dmFyIGg9Yy5CaX1pZigvWzs9XHNdLy50ZXN0KGEpKXRocm93IEVycm9yKCJtYWAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJuYWAiK2IpO2g9PT12b2lkIDAmJihoPS0xKTt0aGlzLmcuY29va2llPWErIj0iK2IrKGY/Ijtkb21haW49IitmOiIiKSsoZz8iO3BhdGg9IitnOiIiKSsoaDwwPyIiOmg9PTA/IjtleHBpcmVzPSIrKG5ldyBEYXRlKDE5NzAsMSwxKSkudG9VVENTdHJpbmcoKToiO2V4cGlyZXM9IisobmV3IERhdGUoRGF0ZS5ub3coKStoKjFFMykpLnRvVVRDU3RyaW5nKCkpKyhkPyI7c2VjdXJlIjoiIikrKGUhPW51bGw/IjtzYW1lc2l0ZT0iK2U6IiIpfTsKXy5tLmdldD1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1hKyI9IixkPSh0aGlzLmcuY29va2llfHwiIikuc3BsaXQoIjsiKSxlPTAsZjtlPGQubGVuZ3RoO2UrKyl7Zj1fLkFjKGRbZV0pO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5tLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7Qmk6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5tLk9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRrKHRoaXMpLmtleXN9O18ubS5pYj1mdW5jdGlvbigpe3JldHVybiB0ayh0aGlzKS52YWx1ZXN9O18ubS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT10ayh0aGlzKS5rZXlzLGI9YS5sZW5ndGgtMTtiPj0wO2ItLSl0aGlzLnJlbW92ZShhW2JdKX07CnZhciB0az1mdW5jdGlvbihhKXthPShhLmcuY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IodmFyIGI9W10sYz1bXSxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWU9Xy5BYyhhW2ZdKSxkPWUuaW5kZXhPZigiPSIpLGQ9PS0xPyhiLnB1c2goIiIpLGMucHVzaChlKSk6KGIucHVzaChlLnN1YnN0cmluZygwLGQpKSxjLnB1c2goZS5zdWJzdHJpbmcoZCsxKSkpO3JldHVybntrZXlzOmIsdmFsdWVzOmN9fTt2YXIgdWs9ZnVuY3Rpb24oYSxiLGMsZCl7KGE9Xy52W2FdKXx8dHlwZW9mIGRvY3VtZW50PT09InVuZGVmaW5lZCJ8fChhPShuZXcgT2opLmdldChiKSk7cmV0dXJuIGE/cmsoYSxjLGQpOm51bGx9LHZrPWZ1bmN0aW9uKGEpe3ZhciBiPXBrKF8udj09bnVsbD92b2lkIDA6Xy52LmxvY2F0aW9uLmhyZWYpLGM9W10sZDsoZD1fLnYuX19TQVBJU0lEfHxfLnYuX19BUElTSUR8fF8udi5fXzNQU0FQSVNJRHx8Xy52Ll9fMVBTQVBJU0lEfHxfLnYuX19PVkVSUklERV9TSUQpP2Q9ITA6KHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoZD1uZXcgT2osZD1kLmdldCgiU0FQSVNJRCIpfHxkLmdldCgiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpfHxkLmdldCgiX19TZWN1cmUtMVBBUElTSUQiKSksZD0hIWQpO2QmJihkPShiPWIuaW5kZXhPZigiaHR0cHM6Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLWV4dGVuc2lvbjoiKT09MHx8Yi5pbmRleE9mKCJjaHJvbWUtdW50cnVzdGVkOi8vbmV3LXRhYi1wYWdlIik9PQowfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTApP18udi5fX1NBUElTSUQ6Xy52Ll9fQVBJU0lELGR8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoZD1uZXcgT2osZD1kLmdldChiPyJTQVBJU0lEIjoiQVBJU0lEIil8fGQuZ2V0KCJfX1NlY3VyZS0zUEFQSVNJRCIpKSwoZD1kP3JrKGQsYj8iU0FQSVNJREhBU0giOiJBUElTSURIQVNIIixhKTpudWxsKSYmYy5wdXNoKGQpLGImJigoYj11aygiX18xUFNBUElTSUQiLCJfX1NlY3VyZS0xUEFQSVNJRCIsIlNBUElTSUQxUEhBU0giLGEpKSYmYy5wdXNoKGIpLChhPXVrKCJfXzNQU0FQSVNJRCIsIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpKTtyZXR1cm4gYy5sZW5ndGg9PTA/bnVsbDpjLmpvaW4oIiAiKX07dmFyIHdrPWZ1bmN0aW9uKCl7fSx4az1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtyZXR1cm4gXy5WaShmdW5jdGlvbihmKXtzd2l0Y2goZi5nKXtjYXNlIDE6cmV0dXJuIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpLGQ9Yi53cml0YWJsZS5nZXRXcml0ZXIoKSxmLmgoZC53cml0ZSgobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoYSkpLDIpO2Nhc2UgMjpyZXR1cm4gZi5oKGQuY2xvc2UoKSwzKTtjYXNlIDM6cmV0dXJuIGU9VWludDhBcnJheSxmLmgoYyw0KTtjYXNlIDQ6cmV0dXJuIGYucmV0dXJuKG5ldyBlKGYuaikpfX0pfTt3ay5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE8MTAyND8hMTp0eXBlb2YgQ29tcHJlc3Npb25TdHJlYW0hPT0idW5kZWZpbmVkIn07dmFyIHlrPWZ1bmN0aW9uKGEsYil7dGhpcy5oPWE7dGhpcy5vPWI7dGhpcy5nPSExO3RoaXMuaj1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt0aGlzLmw9dGhpcy5qKCl9LHprPWZ1bmN0aW9uKGEsYil7YS5oPWI7YS50aW1lciYmYS5nPyhhLnN0b3AoKSxhLnN0YXJ0KCkpOmEudGltZXImJmEuc3RvcCgpfTt5ay5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZz0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaCksdGhpcy5sPXRoaXMuaigpKX07eWsucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmc9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9Owp5ay5wcm90b3R5cGUudGljaz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7aWYodGhpcy5nKXt2YXIgYj1NYXRoLm1heCh0aGlzLmooKS10aGlzLmwsMCk7Yjx0aGlzLmgqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS50aWNrKCl9LHRoaXMuaC1iKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5vKCksdGhpcy5nJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH07dmFyIEFrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihBayxfLkopO3ZhciBCaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQmssXy5KKTt2YXIgQ2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKENrLF8uSik7Q2sucHJvdG90eXBlLlBkPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIFNqPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihTaixfLkopO3ZhciBEaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoRGssXy5KKTt2YXIgUmo9ZnVuY3Rpb24oYSl7Xy5mayhWaiwxLGEpfSxFaz1fLk1qKERrKTt2YXIgRms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEZrLF8uSik7dmFyIFBqPVsicGxhdGZvcm0iLCJwbGF0Zm9ybVZlcnNpb24iLCJhcmNoaXRlY3R1cmUiLCJtb2RlbCIsInVhRnVsbFZlcnNpb24iXSxWaj1uZXcgRGssUWo9bnVsbDt2YXIgR2s9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEdrLF8uSik7dmFyIEhrPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtrKGEsMSwxKX07dmFyIElrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihJayxfLkopO0lrLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07SWsucHJvdG90eXBlLmNiPWZ1bmN0aW9uKGEpe18uVGoodGhpcywyLGEpfTt2YXIgSms9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhLDQpfTtfLkIoSmssXy5KKTtfLktrPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwzNyl9O18uQihfLktrLF8uSik7Xy5Lay5wcm90b3R5cGUuY2I9ZnVuY3Rpb24oYSl7Xy5yaSh0aGlzKTt2YXIgYj10aGlzLkosYz1fLklpKHRoaXMsYixiW18uSF18MCxJaywzLDIsITApO2lmKHR5cGVvZiBhIT09Im51bWJlciJ8fGE8MHx8YT5jLmxlbmd0aCl0aHJvdyBFcnJvcigpO2EhPXZvaWQgMD9jLnNwbGljZShhLDEsdm9pZCAwKTpjLnB1c2godm9pZCAwKTt2YXIgZD1hPWM9PT1fLlRoPzc6Y1tfLkhdfDAsZT1fLldnKCk7ZT8oYSY9LTksYy5sZW5ndGg9PT0xJiYoYSY9LTQwOTcpKTphfD00MDk2O2EhPT1kJiZfLlNnKGMsYSk7ZXx8Xy5zaShiKX07Xy5Maz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlRqKGEsOCxiKX07dmFyIE1rPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSwxOSl9O18uQihNayxfLkopO01rLnByb3RvdHlwZS52Yz1mdW5jdGlvbihhKXtyZXR1cm4gXy5rayh0aGlzLDIsYSl9O3ZhciBPaz1mdW5jdGlvbihhLGIpe3RoaXMuYWI9Yj1iPT09dm9pZCAwPyExOmI7dGhpcy5qPXRoaXMubG9jYWxlPW51bGw7dGhpcy5oPTA7dGhpcy5sPSExO3RoaXMuZz1uZXcgTWs7TnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5nLnZjKGEpO2J8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO05rKHRoaXMsbmV3IEdrKX07T2sucHJvdG90eXBlLnZjPWZ1bmN0aW9uKGEpe3RoaXMuZy52YyhhKTtyZXR1cm4gdGhpc307CnZhciBOaz1mdW5jdGlvbihhLGIpe18uTChhLmcsMSxiKTtfLmRqKGIsMSl8fEhrKGIpO2EuYWJ8fChiPVBrKGEpLF8uTihiLDUpfHxfLlRqKGIsNSxhLmxvY2FsZSkpO2EuaiYmKGI9UGsoYSksXy5iaihiLERrLDkpfHxfLkwoYiw5LGEuaikpfSxRaz1mdW5jdGlvbihhLGIpe2EuaD1ifSxSaz1mdW5jdGlvbihhKXt2YXIgYj1iPT09dm9pZCAwP1BqOmI7dmFyIGM9YS5hYj92b2lkIDA6Xy5tYigpO2M/WGooYyxiKS50aGVuKGZ1bmN0aW9uKGQpe2Euaj1FayhkIT1udWxsP2Q6IltdIik7ZD1QayhhKTtfLkwoZCw5LGEuaik7cmV0dXJuITB9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSk6UHJvbWlzZS5yZXNvbHZlKCExKX0sUGs9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5iaihhLmcsR2ssMSk7Ynx8KGI9bmV3IEdrLE5rKGEsYikpO2E9YjtiPV8uYmooYSxGaywxMSk7Ynx8KGI9bmV3IEZrLF8uTChhLDExLGIpKTtyZXR1cm4gYn0sU2s9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7Yz1jPT09CnZvaWQgMD8wOmM7ZD1kPT09dm9pZCAwPzA6ZDtlPWU9PT12b2lkIDA/bnVsbDplO2Y9Zj09PXZvaWQgMD8wOmY7Zz1nPT09dm9pZCAwPzA6ZztpZighYS5hYil7dmFyIGg9UGsoYSk7dmFyIGs9bmV3IENrO2s9Xy5rayhrLDEsYS5oKTtrPV8uVWooaywyLGEubCk7ZD1fLmlrKGssMyxkPjA/ZDp2b2lkIDApO2Q9Xy5payhkLDQsZj4wP2Y6dm9pZCAwKTtkPV8uaWsoZCw1LGc+MD9nOnZvaWQgMCk7Zj1kLko7Zz1mW18uSF18MDtkPV8uV2coZCxnKT9kOl8uSWgoZCxmLGcpP18uSGgoZCxmKTpuZXcgZC5jb25zdHJ1Y3RvcihfLkdoKGYsZywhMCkpO18uTChoLDEwLGQpfWE9bGooYS5nKTtoPURhdGUubm93KCkudG9TdHJpbmcoKTthPV8uJGkoYSw0LGg9PW51bGw/aDpfLkpqKGgpKTtiPV8uZmsoYSwzLGIuc2xpY2UoKSk7ZSYmKGE9bmV3IEFrLGU9Xy5payhhLDEzLGUpLGE9bmV3IEJrLGU9Xy5MKGEsMixlKSxhPW5ldyBKayxlPV8uTChhLDEsZSksZT1fLmtrKGUsMiw5KSxfLkwoYiwxOCwKZSkpO2MmJl8uamsoYiwxNCxjKTtyZXR1cm4gYn07WWoucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5nPXRoaXMuaD10aGlzLmp9O1lqLnByb3RvdHlwZS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmh9O3ZhciBsaz1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEsOCl9O18uQihsayxfLkopO3ZhciBUaz1fLk1qKGxrKTt2YXIgbWs9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG1rLF8uSik7dmFyIFVrO1VrPW5ldyBuazt2YXIgWWs9ZnVuY3Rpb24oYSl7Xy51LmNhbGwodGhpcyk7dmFyIGI9dGhpczt0aGlzLmc9W107dGhpcy5sYT0iIjt0aGlzLks9dGhpcy5MPSExO3RoaXMucmE9dGhpcy5JPS0xO3RoaXMuUj0hMTt0aGlzLkQ9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5BPXRoaXMubD0wO3RoaXMuQz1udWxsO3RoaXMuRj10aGlzLkc9MDt0aGlzLndhPTE7dGhpcy53Yz0wO3RoaXMuT2I9YS5PYjt0aGlzLnRiPWEudGJ8fGZ1bmN0aW9uKCl7fTt0aGlzLmo9bmV3IE9rKGEuT2IsYS5hYik7dGhpcy56YT1hLnphfHxudWxsO3RoaXMuQ2I9YS5DYnx8bnVsbDt0aGlzLkI9YS5hanx8bnVsbDt0aGlzLm1iPWEubWJ8fG51bGw7dGhpcy5jYz1hLmNjfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz0hYS5NYzt0aGlzLmFiPWEuYWJ8fCExO3RoaXMuVD0hdGhpcy5hYiYmISFfLm1iKCkmJiEhXy5tYigpLm5hdmlnYXRvciYmXy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUD10eXBlb2YgVVJMU2VhcmNoUGFyYW1zIT09CiJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKFZrKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoVmsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGM9SGsobmV3IEdrKTtOayh0aGlzLmosYyk7dGhpcy5vPW5ldyBZaigxRTQpO2E9V2sodGhpcyxhLk9lKTt0aGlzLmg9bmV3IHlrKHRoaXMuby5NYSgpLGEpO3RoaXMuTz1uZXcgeWsoNkU1LGEpO3RoaXMuY2N8fHRoaXMuTy5zdGFydCgpO2lmKCF0aGlzLmFiKXtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iKXtYayhiKTt2YXIgZjsoZj1iLkMpPT1udWxsfHxmLmZsdXNoKCl9fSk7dmFyIGQsZTsoZD1fLm1iKCkpPT1udWxsfHwoZT1kLmFkZEV2ZW50TGlzdGVuZXIpPT1udWxsfHxlLmNhbGwoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7WGsoYik7dmFyIGY7KGY9Yi5DKT09bnVsbHx8Zi5mbHVzaCgpfSl9fSxaayxibCwKJGs7Xy5CKFlrLF8udSk7dmFyIFdrPWZ1bmN0aW9uKGEsYil7aWYoIWEuUClyZXR1cm4gZnVuY3Rpb24oKXt9O3ZhciBjPWZ1bmN0aW9uKCl7YS5mbHVzaCgpfTtyZXR1cm4gYj9mdW5jdGlvbigpe2IoKS50aGVuKGMpfTpjfTtZay5wcm90b3R5cGUuTT1mdW5jdGlvbigpe1hrKHRoaXMpO3RoaXMuaC5zdG9wKCk7dGhpcy5PLnN0b3AoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Wms9ZnVuY3Rpb24oYSl7YS5CfHwoYS5CPVZrKCkpO3RyeXtyZXR1cm4obmV3IFVSTChhLkIpKS50b1N0cmluZygpfWNhdGNoKGIpe3JldHVybihuZXcgVVJMKGEuQixfLm1iKCkubG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX19O18uYWw9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2YgXy5LaylhLmxvZyhiKTtlbHNlIHRyeXt2YXIgYz1fLkxrKG5ldyBfLktrLF8uV2ooYikpO2EubG9nKGMpfWNhdGNoKGQpeyRrKGEsNCwxKX19OwpibD1mdW5jdGlvbihhLGIpe2Eubz1uZXcgWWooYjwxPzE6Yik7emsoYS5oLGEuby5NYSgpKX07JGs9ZnVuY3Rpb24oYSxiLGMpe2EuQyYmYS5DLlNsKGIsYyl9OwpZay5wcm90b3R5cGUubG9nPWZ1bmN0aW9uKGEpeyRrKHRoaXMsMiwxKTtpZih0aGlzLlApe2E9bGooYSk7dmFyIGI9dGhpcy53YSsrO2I9YT1fLmprKGEsMjEsYik7dmFyIGM9Xy5aaShiLDEpO3ZhciBkPWQ9PT12b2lkIDA/ITE6ZDt2YXIgZT10eXBlb2YgYztkPWM9PW51bGw/YzplPT09ImJpZ2ludCI/U3RyaW5nKCgwLF8uYmkpKDY0LGMpKTpBaihjKT9lPT09InN0cmluZyI/RmooYyk6ZD9IaihjKTpHaihjKTp2b2lkIDA7ZD09bnVsbCYmKGQ9RGF0ZS5ub3coKSxkPU51bWJlci5pc0Zpbml0ZShkKT9kLnRvU3RyaW5nKCk6IjAiLF8uJGkoYiwxLGQ9PW51bGw/ZDpfLkpqKGQpKSk7ZD1fLlppKGIsMTUsdm9pZCAwLHZvaWQgMCxLaik7ZCE9bnVsbCYmKHR5cGVvZiBkPT09ImJpZ2ludCI/KDAsXy52aCkoZCk/ZD1OdW1iZXIoZCk6KGQ9KDAsXy5iaSkoNjQsZCksZD0oMCxfLnZoKShkKT9OdW1iZXIoZCk6U3RyaW5nKGQpKTpkPUFqKGQpP3R5cGVvZiBkPT09Im51bWJlciI/R2ooZCk6CkZqKGQpOnZvaWQgMCk7ZCE9bnVsbHx8Xy5qayhiLDE1LChuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSo2MCk7dGhpcy5leHBlcmltZW50SWRzJiYoZD1saih0aGlzLmV4cGVyaW1lbnRJZHMpLF8uTChiLDE2LGQpKTskayh0aGlzLDEsMSk7Yj10aGlzLmcubGVuZ3RoLTFFMysxO2I+MCYmKHRoaXMuZy5zcGxpY2UoMCxiKSx0aGlzLmwrPWIsJGsodGhpcywzLGIpKTt0aGlzLmcucHVzaChhKTt0aGlzLmNjfHx0aGlzLmguZ3x8dGhpcy5oLnN0YXJ0KCl9fTsKWWsucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcztpZih0aGlzLmcubGVuZ3RoPT09MClhJiZhKCk7ZWxzZXt2YXIgZD1EYXRlLm5vdygpO2lmKHRoaXMucmE+ZCYmdGhpcy5JPGQpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLnphJiYodHlwZW9mIHRoaXMuemEuUGQ9PT0iZnVuY3Rpb24iP1FrKHRoaXMuaix0aGlzLnphLlBkKCkpOnRoaXMuai5oPTApO3ZhciBlPXRoaXMuZy5sZW5ndGgsZj1Tayh0aGlzLmosdGhpcy5nLHRoaXMubCx0aGlzLkEsdGhpcy5DYix0aGlzLkcsdGhpcy5GKSxnPXRoaXMudGIoKTtpZihnJiZ0aGlzLmxhPT09ZyliJiZiKCJzdGFsZS1hdXRoLXRva2VuIik7ZWxzZXt0aGlzLmc9W107dGhpcy5oLmcmJnRoaXMuaC5zdG9wKCk7dGhpcy5sPTA7ZD1fLldqKGYpO3ZhciBoO3RoaXMuRCYmdGhpcy5ELlRhKGQubGVuZ3RoKSYmKGg9eGsoZCkpO3ZhciBrPWNsKHRoaXMsZCxnKSxsPWZ1bmN0aW9uKHApe2Muby5yZXNldCgpO3prKGMuaCwKYy5vLk1hKCkpO2lmKHApe3ZhciByPW51bGw7dHJ5e3ZhciB0PUpTT04uc3RyaW5naWZ5KEpTT04ucGFyc2UocC5yZXBsYWNlKCIpXX0nXG4iLCIiKSkpO3I9VGsodCl9Y2F0Y2goRSl7fWlmKHIpe3A9TnVtYmVyKF8uaGsociwxLF8uYmgoIi0xIikpKTtwPjAmJihjLkk9RGF0ZS5ub3coKSxjLnJhPWMuSStwKTtwPVVrLmc7dD1fLnBoKF8ucWgpO3ZhciBBO18uT2cmJnQmJigoQT1yLkpbdF0pPT1udWxsP3ZvaWQgMDpBW3BdKSE9bnVsbCYmXy5NZyhfLlJoLDMpO2E6e0E9VWsuZzt2YXIgRD1EPT09dm9pZCAwPyExOkQ7aWYoXy5waChfLlNoKSYmXy5waChfLnFoKSYmdm9pZCAwPT09Xy5TaCl7cD1yLko7dD1wW18ucWhdO2lmKCF0KWJyZWFrIGE7aWYodD10LmJtKXRyeXt0KHAsQSxiayk7YnJlYWsgYX1jYXRjaChFKXtfLnJiKEUpfX1EJiYoRD1yLkosKHA9Xy5waChfLnFoKSkmJnAgaW4gRCYmKEQ9RFtwXSkmJmRlbGV0ZSBEW0FdKX1EPVVrLkxiP1VrLmgocixVay5MYixVay5nLFVrLmopOgpVay5oKHIsVWsuZyxudWxsLFVrLmopO2lmKEQ9RD09PW51bGw/dm9pZCAwOkQpRD1fLmdrKEQsMSwtMSksRCE9PS0xJiYoYy5SfHxibChjLEQpKX19YSYmYSgpO2MuQT0wfSxuPWZ1bmN0aW9uKHAscil7dmFyIHQ9Xy5jaihmLF8uS2ssMyk7dmFyIEE9TnVtYmVyKF8uaGsoZiwxNCkpLEQ9Yy5vO0QuZz1NYXRoLm1pbigzRTUsRC5nKjIpO0QuaD1NYXRoLm1pbigzRTUsRC5nK01hdGgucm91bmQoLjEqKE1hdGgucmFuZG9tKCktLjUpKjIqRC5nKSk7emsoYy5oLGMuby5NYSgpKTtwPT09NDAxJiZnJiYoYy5sYT1nKTtBJiYoYy5sKz1BKTtyPT09dm9pZCAwJiYocj01MDA8PXAmJnA8NjAwfHxwPT09NDAxfHxwPT09MCk7ciYmKGMuZz10LmNvbmNhdChjLmcpLGMuY2N8fGMuaC5nfHxjLmguc3RhcnQoKSk7JGsoYyw3LDEpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIscCk7KytjLkF9LHE9ZnVuY3Rpb24oKXtjLnphJiZjLnphLnNlbmQoayxsLG4pfTtoP2gudGhlbihmdW5jdGlvbihwKXskayhjLAo1LGUpO2submVbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7ay5uZVsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7ay5ib2R5PXA7ay5aZz0yO3EoKX0sZnVuY3Rpb24oKXskayhjLDYsZSk7cSgpfSk6cSgpfX19fTsKdmFyIGNsPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/bnVsbDpjO3ZhciBkPWQ9PT12b2lkIDA/YS53aXRoQ3JlZGVudGlhbHM6ZDt2YXIgZT17fSxmPW5ldyBVUkwoWmsoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5tYiYmKGVbIlgtR29vZy1BdXRoVXNlciJdPWEubWIsZi5zZWFyY2hQYXJhbXMuc2V0KCJhdXRodXNlciIsYS5tYikpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixaZzoxLG5lOmUsTGk6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHdjOmEud2N9fSxYaz1mdW5jdGlvbihhKXthLmoubD0hMDthLkwmJihhLmouaD0zLGRsKGEpKTthLksmJihhLmouaD0yLGVsKGEpKTthLmZsdXNoKCk7YS5qLmw9ITF9LGRsPWZ1bmN0aW9uKGEpe2ZsKGEsMzIsMTAsZnVuY3Rpb24oYixjKXtiPW5ldyBVUkwoYik7Yi5zZWFyY2hQYXJhbXMuc2V0KCJmb3JtYXQiLCJqc29uIik7dmFyIGQ9ITE7dHJ5e2Q9Xy5tYigpLm5hdmlnYXRvci5zZW5kQmVhY29uKGIudG9TdHJpbmcoKSwKXy5XaihjKSl9Y2F0Y2goZSl7fWR8fChhLlQ9ITEpO3JldHVybiBkfSl9LGVsPWZ1bmN0aW9uKGEpe2ZsKGEsNiw1LGZ1bmN0aW9uKGIsYyl7Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwiYmFzZTY0anNvbiIpO3ZhciBkPWIuc2VhcmNoUGFyYW1zLGU9ZC5zZXQ7Yz1fLldqKGMpO2Zvcih2YXIgZj1bXSxnPTAsaD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgaz1jLmNoYXJDb2RlQXQoaCk7az4yNTUmJihmW2crK109ayYyNTUsaz4+PTgpO2ZbZysrXT1rfWM9b2ooZiwzKTtlLmNhbGwoZCwicCIsYyk7Yj1iLnRvU3RyaW5nKCk7aWYoYi5sZW5ndGg+MTUzNjApcmV0dXJuITE7KG5ldyBJbWFnZSkuc3JjPWI7cmV0dXJuITB9KX0sZmw9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5nLmxlbmd0aCE9PTApe3ZhciBlPW5ldyBVUkwoWmsoYSkpO2Uuc2VhcmNoUGFyYW1zLmRlbGV0ZSgiZm9ybWF0Iik7dmFyIGY9YS50YigpO2YmJmUuc2VhcmNoUGFyYW1zLnNldCgiYXV0aCIsCmYpO2Uuc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEubWJ8fCIwIik7Zm9yKGY9MDtmPGMmJmEuZy5sZW5ndGg7KytmKXt2YXIgZz1hLmcuc2xpY2UoMCxiKSxoPVNrKGEuaixnLGEubCxhLkEsYS5DYixhLkcsYS5GKTtpZighZChlLnRvU3RyaW5nKCksaCkpeysrYS5BO2JyZWFrfWEubD0wO2EuQT0wO2EuRz0wO2EuRj0wO2EuZz1hLmcuc2xpY2UoZy5sZW5ndGgpfWEuaC5nJiZhLmguc3RvcCgpfX0sVms9ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSJ9O3ZhciBnbD1mdW5jdGlvbigpe3RoaXMuVmc9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifTsKZ2wucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsZSxmLGcsaCxrLGwsbixxLHAscjtyZXR1cm4gXy5WaShmdW5jdGlvbih0KXtzd2l0Y2godC5nKXtjYXNlIDE6cmV0dXJuIGY9KGU9ZC5WZz9uZXcgQWJvcnRDb250cm9sbGVyOnZvaWQgMCkmJmEud2M+MD9zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5hYm9ydCgpfSxhLndjKTp2b2lkIDAsdC5GKDIsMyksZz1PYmplY3QuYXNzaWduKHt9LHttZXRob2Q6YS5MaSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sYS5uZSl9LGEuYm9keSYme2JvZHk6YS5ib2R5fSxhLndpdGhDcmVkZW50aWFscyYme2NyZWRlbnRpYWxzOiJpbmNsdWRlIn0se3NpZ25hbDphLndjJiZlP2Uuc2lnbmFsOm51bGx9KSx0LmgoZmV0Y2goYS51cmwsZyksNSk7Y2FzZSA1Omg9dC5qO2lmKGguc3RhdHVzIT09MjAwKXsoaz1jKT09bnVsbHx8ayhoLnN0YXR1cyk7dC54YSgzKTticmVha31pZigobD1iKT09bnVsbCl7dC54YSg3KTticmVha31yZXR1cm4gdC5oKGgudGV4dCgpLAo4KTtjYXNlIDg6bCh0LmopO2Nhc2UgNzpjYXNlIDM6dC5MKCk7Y2xlYXJUaW1lb3V0KGYpO3QucWEoMCk7YnJlYWs7Y2FzZSAyOm49dC5EKCk7c3dpdGNoKChxPW4pPT1udWxsP3ZvaWQgMDpxLm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOihwPWMpPT1udWxsfHxwKDQwOCk7YnJlYWs7ZGVmYXVsdDoocj1jKT09bnVsbHx8cig0MDApfXQueGEoMyl9fSl9O2dsLnByb3RvdHlwZS5QZD1mdW5jdGlvbigpe3JldHVybiA0fTtfLmhsPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwPyIwIjpiO18udS5jYWxsKHRoaXMpO3RoaXMuT2I9YTt0aGlzLm1iPWI7dGhpcy5BPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjt0aGlzLmc9dGhpcy5DYj10aGlzLnphPXRoaXMuaD1udWxsO3RoaXMubD10aGlzLm89ITE7dGhpcy5qPW51bGx9O18uQihfLmhsLF8udSk7Xy5pbD1mdW5jdGlvbihhLGIpe2EudGI9YjtyZXR1cm4gYX07Xy5qbD1mdW5jdGlvbihhKXthLm89ITA7cmV0dXJuIGF9O18uaGwucHJvdG90eXBlLk1jPWZ1bmN0aW9uKCl7dGhpcy5CPSEwO3JldHVybiB0aGlzfTsKXy5rbD1mdW5jdGlvbihhKXthLnphfHwoYS56YT1uZXcgZ2wpO3ZhciBiPW5ldyBZayh7T2I6YS5PYix0YjphLnRiP2EudGI6dmssbWI6YS5tYixhajphLkEsYWI6ITEsY2M6ITEsTWM6YS5CLE9lOmEuT2UsemE6YS56YX0pO18uYWsoYSxfLlpqKF8ucGEsYikpO2lmKGEuaCl7dmFyIGM9YS5oLGQ9UGsoYi5qKTtfLlRqKGQsNyxjKX1iLkQ9bmV3IHdrO2EuQ2ImJihiLkNiPWEuQ2IpO2EuZyYmKChkPWEuZyk/KGIuZXhwZXJpbWVudElkc3x8KGIuZXhwZXJpbWVudElkcz1uZXcgb2spLGM9Yi5leHBlcmltZW50SWRzLGQ9Xy5XaihkKSxfLlRqKGMsNCxkKSk6Yi5leHBlcmltZW50SWRzJiZfLiRpKGIuZXhwZXJpbWVudElkcyw0KSk7YS5vJiYoYi5MPWEubyYmYi5UKTthLmwmJihiLks9YS5sKTthLmomJihjPWEuaixiLlI9ITAsYmwoYixjKSk7UmsoYi5qKTthLnphLnZjJiZhLnphLnZjKGEuT2IpO2EuemEuUWkmJmEuemEuUWkoYik7cmV0dXJuIGJ9O18ubGw9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKF8ubGwsXy5KKTtfLm09Xy5sbC5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDE2KX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMTYsYSl9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywxKX07Xy5tLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRqKHRoaXMsMSxhKX07Xy5tLk9kPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcyw1Myl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1sPWZ1bmN0aW9uKGEpe3ZhciBiPV8uS2EoKTthPWI/Yi5jcmVhdGVIVE1MKGEpOmE7cmV0dXJuIG5ldyBfLkRjKGEpfTtfLm5sPWZ1bmN0aW9uKGEsYil7Yj1fLkVnKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18ub2w9e307Xy5wbD1mdW5jdGlvbihhKXt0aGlzLmc9YX07Xy5wbC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nfTtfLnFsPXt9O18uemY9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiSyIpO307Xy56Zi5wcm90b3R5cGUuSmQ9bnVsbDtfLnpmLnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnR9O18uemYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Xy56Zi5wcm90b3R5cGUuVGI9ZnVuY3Rpb24oKXtpZih0aGlzLlpiIT09Xy5xbCl0aHJvdyBFcnJvcigiTCIpO3JldHVybiBfLm1sKHRoaXMudG9TdHJpbmcoKSl9O3ZhciBybD1mdW5jdGlvbigpe18uemYuY2FsbCh0aGlzKX07Cl8uRyhybCxfLnpmKTtybC5wcm90b3R5cGUuWmI9Xy5xbDt2YXIgc2w9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uRyhzbCxfLnpmKTtzbC5wcm90b3R5cGUuWmI9Xy5vbDtzbC5wcm90b3R5cGUuSmQ9MTtzbC5wcm90b3R5cGUuaj1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5wbCh0aGlzLnRvU3RyaW5nKCkpfTtfLnRsPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyl7dGhpcy5jb250ZW50PWN9Yi5wcm90b3R5cGU9YS5wcm90b3R5cGU7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7Yz1uZXcgYihTdHJpbmcoYykpO2QhPT12b2lkIDAmJihjLkpkPWQpO3JldHVybiBjfX0ocmwpO18udWw9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjKXt0aGlzLmNvbnRlbnQ9Y31iLnByb3RvdHlwZT1hLnByb3RvdHlwZTtyZXR1cm4gZnVuY3Rpb24oYyl7cmV0dXJuIG5ldyBiKFN0cmluZyhjKSl9fShzbCk7Xy52bD1SZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTtfLndsPW5ldyBSZWdFeHAoKF8udmw/IiI6Il4iKSsiKD86IXwvPyhbYS16QS1aXVthLXpBLVowLTk6LV0qKSkiLF8udmw/Imd5IjoiZyIpO18ueGw9ZnVuY3Rpb24oKXtfLnpmLmNhbGwodGhpcyl9O18uQihfLnhsLHJsKTsKXy54bC5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtpZih0aGlzLmNvbnRlbnQhPT12b2lkIDApcmV0dXJuIHRoaXMuY29udGVudDtmb3IodmFyIGE9IiIsYj1fLkModGhpcy5VKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSlhKz1jLnZhbHVlO3JldHVybiBhfTtfLnhsLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hKCl9O18ueWw9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7dGhpcy5jb250ZW50PSIifWEucHJvdG90eXBlPV8ueGwucHJvdG90eXBlO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgYX19KCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW5fY3NzIik7CgpfLm1hKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubGEoImVsX21haW4iKTsKLyoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgemw9ZnVuY3Rpb24oYSxiKXt0aGlzLng9YSE9PXZvaWQgMD9hOjA7dGhpcy55PWIhPT12b2lkIDA/YjowfSxBbD1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ7Zm9yKGQgaW4gYSljW2RdPWIuY2FsbCh2b2lkIDAsYVtkXSxkLGEpO3JldHVybiBjfSxCbD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY3JlYXRlUmFuZ2UoKTtjLnNlbGVjdE5vZGUoYi5ib2R5KTthPV8ubWwoYSk7cmV0dXJuIGMuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KF8ua2ooYSkpfSxDbD1mdW5jdGlvbihhKXthPWEubm9kZU5hbWU7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YToiRk9STSJ9LERsPWZ1bmN0aW9uKGEpe2E9YS5ub2RlVHlwZTtyZXR1cm4gYT09PTF8fHR5cGVvZiBhIT09Im51bWJlciJ9LEVsPWZ1bmN0aW9uKGEsYixjKXthLnNldEF0dHJpYnV0ZShiLGMpfSxGbD1mdW5jdGlvbihhKXtyZXR1cm4gXy5NYShhKX0sR2w9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5yaShhKTt2YXIgZT1hLkosZj1lW18uSF18CjA7aWYoYz09bnVsbClyZXR1cm4gXy50aShlLGYsYiksYTt2YXIgZz1jPT09Xy5UaD83OmNbXy5IXXwwLGg9ZyxrPV8uRWkoZyksbD1rfHxPYmplY3QuaXNGcm96ZW4oYyk7a3x8KGc9MCk7bHx8KGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSk7Z3w9NTtrPTQmZz81MTImZz81MTI6MTAyNCZnPzEwMjQ6MDp2b2lkIDA7az1rIT1udWxsP2s6MTAyNDtnfD1rO2Zvcih2YXIgbj0wO248Yy5sZW5ndGg7bisrKXt2YXIgcT1jW25dLHA9ZChxLGspO09iamVjdC5pcyhxLHApfHwobCYmKGM9Xy5taShjKSxoPTAsZz1fLkRpKGcsZiksbD0hMSksY1tuXT1wKX1nIT09aCYmKGwmJihjPV8ubWkoYyksZz1fLkRpKGcsZikpLF8uU2coYyxnKSk7Xy50aShlLGYsYixjKTtyZXR1cm4gYX0sSGw9ZnVuY3Rpb24oYSl7aWYoXy5PZyl7dmFyIGI7cmV0dXJuKGI9YVtfLmRrXSkhPW51bGw/YjphW18uZGtdPW5ldyBNYXB9aWYoXy5kayBpbiBhKXJldHVybiBhW18uZGtdO2I9bmV3IE1hcDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwKXy5kayx7dmFsdWU6Yn0pO3JldHVybiBifSxJbD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmdldChkKTtpZihlIT1udWxsKXJldHVybiBlO2Zvcih2YXIgZj1lPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBnPWRbZl07Xy51aShiLGcpIT1udWxsJiYoZSE9PTAmJihjPV8udGkoYixjLGUpKSxlPWcpfWEuc2V0KGQsZSk7cmV0dXJuIGV9LEpsPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM7Zm9yKGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9LEtsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/MTowfSxMbD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7YT0oMCxfLkFjKShTdHJpbmcoYSkpLnNwbGl0KCIuIik7Yj0oMCxfLkFjKShTdHJpbmcoYikpLnNwbGl0KCIuIik7Zm9yKHZhciBkPU1hdGgubWF4KGEubGVuZ3RoLGIubGVuZ3RoKSxlPTA7Yz09MCYmZTxkO2UrKyl7dmFyIGY9YVtlXXx8IiIsZz1iW2VdfHwiIjtkb3tmPS8oXGQqKShcRCopKC4qKS8uZXhlYyhmKXx8WyIiLCIiLCIiLAoiIl07Zz0vKFxkKikoXEQqKSguKikvLmV4ZWMoZyl8fFsiIiwiIiwiIiwiIl07aWYoZlswXS5sZW5ndGg9PTAmJmdbMF0ubGVuZ3RoPT0wKWJyZWFrO2M9S2woZlsxXS5sZW5ndGg9PTA/MDpwYXJzZUludChmWzFdLDEwKSxnWzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KGdbMV0sMTApKXx8S2woZlsyXS5sZW5ndGg9PTAsZ1syXS5sZW5ndGg9PTApfHxLbChmWzJdLGdbMl0pO2Y9ZlszXTtnPWdbM119d2hpbGUoYz09MCl9cmV0dXJuIGN9LE1sPWZ1bmN0aW9uKGEpe2lmKC9eKHNjcmlwdHxzdHlsZSkkL2kudGVzdChhLnRhZ05hbWUpKXRocm93IEVycm9yKCJ0Iik7fSxObD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgXy5wbClyZXR1cm4gYS5nO3Rocm93IEVycm9yKCJ0Iik7fSxPbD1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csCiImYXBvczsiKX0sUGw9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLkRjP2E6Xy5tbChPbChTdHJpbmcoYSkpKX0sUWw9ZnVuY3Rpb24oYSl7dmFyIGI9e25vbmNlOl8uT2EoInNjcmlwdCIsZG9jdW1lbnQpfTthPV8uUmEoYSkudG9TdHJpbmcoKTt2YXIgYz0iPHNjcmlwdCI7aWYoYj09bnVsbD8wOmIuaWQpYys9JyBpZD0iJytPbChiLmlkKSsnIic7aWYoYj09bnVsbD8wOmIubm9uY2UpYys9JyBub25jZT0iJytPbChiLm5vbmNlKSsnIic7aWYoYj09bnVsbD8wOmIudHlwZSljKz0nIHR5cGU9IicrT2woYi50eXBlKSsnIic7aWYoYj09bnVsbD8wOmIuZGVmZXIpYys9IiBkZWZlciI7cmV0dXJuIF8ubWwoYysoIj4iK2ErIlx4M2Mvc2NyaXB0PiIpKX0sUmw9ZnVuY3Rpb24oYSl7dmFyIGI9UGwoIiIpO3JldHVybiBfLm1sKGEubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBfLmtqKFBsKGMpKX0pLmpvaW4oXy5raihiKS50b1N0cmluZygpKSl9LFNsPWZ1bmN0aW9uKGEpe3JldHVybiBSbChhKX0sClZsPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0iIixjPU9iamVjdC5rZXlzKGEpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9Y1tkXSxmPWFbZV07aWYoIVRsLnRlc3QoZSkpdGhyb3cgRXJyb3IoInQiKTtpZihmIT09dm9pZCAwJiZmIT09bnVsbCl7aWYoL15vbi4vaS50ZXN0KGUpKXRocm93IEVycm9yKCJ0Iik7VWwuaW5kZXhPZihlLnRvTG93ZXJDYXNlKCkpIT09LTEmJihmPV8uRWcoU3RyaW5nKGYpKXx8ImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7Zj1lKyc9IicrUGwoU3RyaW5nKGYpKSsnIic7Yis9IiAiK2Z9fXJldHVybiBifSxZbD1mdW5jdGlvbihhKXt2YXIgYj17fTtpZighVGwudGVzdCgiYm9keSIpKXRocm93IEVycm9yKCJ0Iik7aWYoV2wuaW5kZXhPZigiQk9EWSIpIT09LTEpdGhyb3cgRXJyb3IoInQiKTt2YXIgYz0iPGJvZHkiO2ImJihjKz1WbChiKSk7QXJyYXkuaXNBcnJheShhKXx8KGE9YT09PXZvaWQgMD9bXTpbYV0pO1hsLmluZGV4T2YoIkJPRFkiKSE9PS0xPwpjKz0iPiI6KGE9U2woYS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBfLkRjP2Q6UGwoU3RyaW5nKGQpKX0pKSxjKz0iPiIrYS50b1N0cmluZygpKyI8L2JvZHk+Iik7cmV0dXJuIF8ubWwoYyl9LFpsPWZ1bmN0aW9uKGEpe3RoaXMuaD10aGlzLkI9dGhpcy5sPSIiO3RoaXMuQz1udWxsO3RoaXMuQT10aGlzLmo9IiI7dGhpcy5vPSExO3ZhciBiO2EgaW5zdGFuY2VvZiBabD8odGhpcy5vPWEubywkbCh0aGlzLGEubCksdGhpcy5CPWEuQixhbSh0aGlzLGEuaCksYm0odGhpcyxhLkMpLGNtKHRoaXMsYS5qKSxkbSh0aGlzLGVtKGEuZykpLHRoaXMuQT1hLkEpOmEmJihiPVN0cmluZyhhKS5tYXRjaChfLnJmKSk/KHRoaXMubz0hMSwkbCh0aGlzLGJbMV18fCIiLCEwKSx0aGlzLkI9Zm0oYlsyXXx8IiIpLGFtKHRoaXMsYlszXXx8IiIsITApLGJtKHRoaXMsYls0XSksY20odGhpcyxiWzVdfHwiIiwhMCksZG0odGhpcyxiWzZdfHwiIiwhMCksdGhpcy5BPWZtKGJbN118fCIiKSk6Cih0aGlzLm89ITEsdGhpcy5nPW5ldyBnbShudWxsLHRoaXMubykpfSxobT1mdW5jdGlvbihhKXtyZXR1cm4gXy55YShhKT9hLlRiJiYoYT1hLlRiKCksYSBpbnN0YW5jZW9mIF8uRGMpP2E6UGwoInpTb3l6Iik6UGwoU3RyaW5nKGEpKX0saW09ZnVuY3Rpb24oYSxiKXtiJiZiLmg/Yi5oKGEpOihiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpfSxrbT1mdW5jdGlvbihhLGIpe2E6aWYoYj1hKGJ8fGptLHZvaWQgMCksYT1fLmxiKCksYiYmYi5nP2E9Yi5nKCk6KGE9YS5jcmVhdGVFbGVtZW50KCJESVYiKSxiPWhtKGIpLGEuaW5uZXJIVE1MPV8ua2ooYikpLGEuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJihiPWEuZmlyc3RDaGlsZCxiLm5vZGVUeXBlPT0xKSl7YT1iO2JyZWFrIGF9cmV0dXJuIGF9LG1tPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIik7YT1sbShhLGIpO2I9Yi5ib2R5O2IuYXBwZW5kQ2hpbGQoYSk7Yj0obmV3IFhNTFNlcmlhbGl6ZXIpLnNlcmlhbGl6ZVRvU3RyaW5nKGIpOwpiPWIuc2xpY2UoYi5pbmRleE9mKCI+IikrMSxiLmxhc3RJbmRleE9mKCI8LyIpKTtyZXR1cm4gXy5tbChiKX0sbm09ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigpO3JldHVybiBhfSxvbT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm4gbm0oYSk7dmFyIGQ7cmV0dXJuKGQ9Xy5waShhKSkhPW51bGw/ZDpjPyIiOnZvaWQgMH0scm09ZnVuY3Rpb24oKXtyZXR1cm4gcG18fChwbT1uZXcgXy55aChfLlRnKFtdKSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxxbSkpfSxzbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLkosZj1lW18uSF18MDtjPV8uV2coYSxmKT8xOmM7ZD0hIWR8fGM9PT0zO2M9PT0yJiZfLnFpKGEpJiYoZT1hLkosZj1lW18uSF18MCk7YT1fLkJpKGUsYik7dmFyIGc9YT09PV8uVGg/NzphW18uSF18MCxoPV8uQ2koZyxmKTt2YXIgaz00Jmg/ITE6ITA7aWYoayl7NCZoJiYoYT1fLm1pKGEpLGc9MCxoPV8uRGkoaCxmKSxmPV8udGkoZSwKZixiLGEpKTtmb3IodmFyIGw9MCxuPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBxPV8ucGkoYVtsXSk7cSE9bnVsbCYmKGFbbisrXT1xKX1uPGwmJihhLmxlbmd0aD1uKTtoPShofDQpJi01MTM7aCY9LTEwMjU7aCY9LTQwOTd9aCE9PWcmJihfLlNnKGEsaCksMiZoJiZPYmplY3QuZnJlZXplKGEpKTtyZXR1cm4gYT1fLkZpKGEsaCxlLGYsYixjLGssZCl9LHVtPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRtOyFkJiZfLnFpKGEpJiYoYj1hLkosYz1iW18uSF18MCk7dmFyIGY9Xy51aShiLDEpO2E9ITE7aWYoZj09bnVsbCl7aWYoZClyZXR1cm4gcm0oKTtmPVtdfWVsc2UgaWYoZi5jb25zdHJ1Y3Rvcj09PV8ueWgpaWYoZi5LYiYyJiYhZClmPV8uemgoZik7ZWxzZSByZXR1cm4gZjtlbHNlIEFycmF5LmlzQXJyYXkoZik/YT0hISgoZltfLkhdfDApJjIpOmY9W107aWYoZCl7aWYoIWYubGVuZ3RoKXJldHVybiBybSgpO2F8fChhPSEwLF8uVGcoZikpfWVsc2UgaWYoYSl7YT0hMTtfLlVnKGYpOwpkPV8ubWkoZik7Zm9yKGY9MDtmPGQubGVuZ3RoO2YrKyl7dmFyIGc9ZFtmXT1fLm1pKGRbZl0pO0FycmF5LmlzQXJyYXkoZ1sxXSkmJihnWzFdPV8uVGcoZ1sxXSkpfWY9Xy5VZyhkKX0hYSYmYyYzMiYmXy5saShmKTtlPW5ldyBfLnloKGYsZSxvbSx2b2lkIDApO2M9Xy50aShiLGMsMSxlKTthfHxfLnNpKGIsYyk7cmV0dXJuIGV9LHZtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMudG9wPWE7dGhpcy5yaWdodD1iO3RoaXMuYm90dG9tPWM7dGhpcy5sZWZ0PWR9LHdtPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9LHhtPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9YS5sZW5ndGgsZT0wLGY9W10sZyxoLGs9MDtrPGQ7KXtzd2l0Y2goZSl7Y2FzZSAwOnZhciBsPWEuaW5kZXhPZigiPCIsayk7aWYobDwwKXtpZihjLmxlbmd0aD09PTApcmV0dXJuIGE7Yy5wdXNoKGEuc3Vic3RyaW5nKGspKTtrPWR9ZWxzZSBjLnB1c2goYS5zdWJzdHJpbmcoaywKbCkpLGg9bCxrPWwrMSxfLnZsPyhfLndsLmxhc3RJbmRleD1rLGw9Xy53bC5leGVjKGEpKTooXy53bC5sYXN0SW5kZXg9MCxsPV8ud2wuZXhlYyhhLnN1YnN0cmluZyhrKSkpLGw/KGY9WyI8IixsWzBdXSxnPWxbMV0sZT0xLGsrPWxbMF0ubGVuZ3RoKTpjLnB1c2goIjwiKTticmVhaztjYXNlIDE6bD1hLmNoYXJBdChrKyspO3N3aXRjaChsKXtjYXNlICInIjpjYXNlICciJzp2YXIgbj1hLmluZGV4T2YobCxrKTtuPDA/az1kOihmLnB1c2gobCxhLnN1YnN0cmluZyhrLG4rMSkpLGs9bisxKTticmVhaztjYXNlICI+IjpmLnB1c2gobCk7Yy5wdXNoKGIoZi5qb2luKCIiKSxnKSk7ZT0wO2Y9W107aD1nPW51bGw7YnJlYWs7ZGVmYXVsdDpmLnB1c2gobCl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31lPT09MSYmaz49ZCYmKGs9aCsxLGMucHVzaCgiPCIpLGU9MCxmPVtdLGg9Zz1udWxsKX1yZXR1cm4gYy5qb2luKCIiKX0sRG09ZnVuY3Rpb24oKXt2YXIgYT15bShfLmpsKF8uaWwoem0oKSwKZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0pLk1jKCkpKSxiPUFtKCkubWFwKGZ1bmN0aW9uKGMpe3ZhciBkO2E6e3ZhciBlPWMubztpZihlPT1udWxsKWM9bnVsbDtlbHNlIGlmKHR5cGVvZiBlPT09Im51bWJlciIpYz1lO2Vsc2V7aWYodHlwZW9mIGU9PT0ic3RyaW5nIil7dmFyIGY9TnVtYmVyKGUpO2lmKCFpc05hTihmKSYmKGYhPT0wfHxlLnRyaW0oKS5sZW5ndGghPT0wKSl7Yz1mO2JyZWFrIGF9fXRocm93IEJtKGMsIm51bWJlciIpO319cmV0dXJuKGQ9YykhPW51bGw/ZDowfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjPjB9KTtiLmxlbmd0aD4wJiYoYj1DbShiKSxhLmc9Yik7cmV0dXJuIF8ua2woYSl9LEVtPWZ1bmN0aW9uKGEpe3JldHVybiJ0cmFuc2xhdGU6IithfSxLbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRm07Yj1fLlRqKGIsMSxhLm5hbWUpO3ZhciBjPUdtKGEuc3RhcnRUaW1lKTtiPV8uTChiLDIsYyk7YT1IbShhLmR1cmF0aW9uKTthPV8uTChiLDMsYSk7Yj1uZXcgSW07CnJldHVybiBKbShhLDUsYil9LEdtPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBMbTtiLnNldFNlY29uZHMoTWF0aC5mbG9vcihhLzFFMykpO2E9TWF0aC5yb3VuZChhJTFFMyoxRTYpO18uR2koYiwyLGE9PW51bGw/YTpfLkJqKGEpLDApO3JldHVybiBifSxIbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgTW07Yi5zZXRTZWNvbmRzKE1hdGguZmxvb3IoYS8xRTMpKTthPU1hdGgucm91bmQoYSUxRTMqMUU2KTtfLkdpKGIsMixhPT1udWxsP2E6Xy5CaihhKSwwKTtyZXR1cm4gYn0sTm09ZnVuY3Rpb24oYSl7cmV0dXJuIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiYoYT1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGEsIm1hcmsiKSxhLmxlbmd0aD09MSk/YVswXTpudWxsfSxPbT1mdW5jdGlvbihhLGIpe3JldHVybiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UubWVhc3VyZT9wZXJmb3JtYW5jZS5tZWFzdXJlKGEsYil8fG51bGw6bnVsbH0sUm09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2Quc3BsaWNlKDAsMik7ZD0ibCIrYS50b1N0cmluZygxNikrImkiK2IudG9TdHJpbmcoMTYpKyhkLmxlbmd0aD8iLSIrZC5qb2luKCJfIik6IiIpO1BtP1BtLnB1c2goZCk6UW0oZCl9LFZtPWZ1bmN0aW9uKCl7dmFyIGE9U218fChTbT1UbSgnW251bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiKGZ1bmN0aW9uKCl7XCd1c2Ugc3RyaWN0XCc7dmFyIGZcXHUwMDNkdHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzXFx1MDAzZFxcdTAwM2RcXCJmdW5jdGlvblxcIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oYSxjLGIpe2lmKGFcXHUwMDNkXFx1MDAzZEFycmF5LnByb3RvdHlwZXx8YVxcdTAwM2RcXHUwMDNkT2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gYTthW2NdXFx1MDAzZGIudmFsdWU7cmV0dXJuIGF9O2Z1bmN0aW9uIGcoYSl7YVxcdTAwM2RbXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsVGhpc1xcdTAwMjZcXHUwMDI2Z2xvYmFsVGhpcyxhLFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHdpbmRvd1xcdTAwMjZcXHUwMDI2d2luZG93LFxcIm9iamVjdFxcIlxcdTAwM2RcXHUwMDNkdHlwZW9mIHNlbGZcXHUwMDI2XFx1MDAyNnNlbGYsXFwib2JqZWN0XFwiXFx1MDAzZFxcdTAwM2R0eXBlb2YgZ2xvYmFsXFx1MDAyNlxcdTAwMjZnbG9iYWxdO2Zvcih2YXIgY1xcdTAwM2QwO2NcXHUwMDNjYS5sZW5ndGg7KytjKXt2YXIgYlxcdTAwM2RhW2NdO2lmKGJcXHUwMDI2XFx1MDAyNmIuTWF0aFxcdTAwM2RcXHUwMDNkTWF0aClyZXR1cm4gYn10aHJvdyBFcnJvcihcXCJDYW5ub3QgZmluZCBnbG9iYWwgb2JqZWN0XFwiKTt9dmFyIGhcXHUwMDNkZyh0aGlzKTtcXG5mdW5jdGlvbiBrKGEsYyl7aWYoYylhOnt2YXIgYlxcdTAwM2RoO2FcXHUwMDNkYS5zcGxpdChcXCIuXFwiKTtmb3IodmFyIGRcXHUwMDNkMDtkXFx1MDAzY2EubGVuZ3RoLTE7ZCsrKXt2YXIgZVxcdTAwM2RhW2RdO2lmKCEoZSBpbiBiKSlicmVhayBhO2JcXHUwMDNkYltlXX1hXFx1MDAzZGFbYS5sZW5ndGgtMV07ZFxcdTAwM2RiW2FdO2NcXHUwMDNkYyhkKTtjIVxcdTAwM2RkXFx1MDAyNlxcdTAwMjZjIVxcdTAwM2RudWxsXFx1MDAyNlxcdTAwMjZmKGIsYSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX19ayhcXCJnbG9iYWxUaGlzXFwiLGZ1bmN0aW9uKGEpe3JldHVybiBhfHxofSk7LypcXG5cXG4gQ29weXJpZ2h0IEdvb2dsZSBMTENcXG4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcXG4qL1xcbnZhciBsXFx1MDAzZGdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLG07ZnVuY3Rpb24gbigpe3ZhciBhXFx1MDAzZG51bGw7aWYoIWwpcmV0dXJuIGE7dHJ5e3ZhciBjXFx1MDAzZGZ1bmN0aW9uKGIpe3JldHVybiBifTthXFx1MDAzZGwuY3JlYXRlUG9saWN5KFxcImdvb2cjaHRtbFxcIix7Y3JlYXRlSFRNTDpjLGNyZWF0ZVNjcmlwdDpjLGNyZWF0ZVNjcmlwdFVSTDpjfSl9Y2F0Y2goYil7fXJldHVybiBhfTtmdW5jdGlvbiBwKGEpe3RoaXMuZ1xcdTAwM2RhfXAucHJvdG90eXBlLnRvU3RyaW5nXFx1MDAzZGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZytcXCJcXCJ9O2Z1bmN0aW9uIHEoYSl7bVxcdTAwM2RcXHUwMDNkXFx1MDAzZHZvaWQgMFxcdTAwMjZcXHUwMDI2KG1cXHUwMDNkbigpKTthXFx1MDAzZG0/bS5jcmVhdGVTY3JpcHRVUkwoYSk6YTtyZXR1cm4gbmV3IHAoYSl9O2lmKCFmdW5jdGlvbigpe2lmKHNlbGYub3JpZ2luKXJldHVybiBzZWxmLm9yaWdpblxcdTAwM2RcXHUwMDNkXFx1MDAzZFxcIm51bGxcXCI7aWYobG9jYXRpb24uaG9zdCFcXHUwMDNkXFx1MDAzZFxcIlxcIilyZXR1cm4hMTt0cnl7cmV0dXJuIHdpbmRvdy5wYXJlbnQuZXNjYXBlKFxcIlxcIiksITF9Y2F0Y2goYSl7cmV0dXJuITB9fSgpKXRocm93IEVycm9yKFxcInNhbmRib3hpbmcgZXJyb3JcXCIpO1xcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFxcIm1lc3NhZ2VcXCIsZnVuY3Rpb24oYSl7dmFyIGNcXHUwMDNkYS5wb3J0c1swXTthXFx1MDAzZGEuZGF0YTt2YXIgYlxcdTAwM2RhLmNhbGxiYWNrTmFtZS5zcGxpdChcXCIuXFwiKSxkXFx1MDAzZHdpbmRvdztiWzBdXFx1MDAzZFxcdTAwM2RcXHUwMDNkXFwid2luZG93XFwiXFx1MDAyNlxcdTAwMjZiLnNoaWZ0KCk7Zm9yKHZhciBlXFx1MDAzZDA7ZVxcdTAwM2NiLmxlbmd0aC0xO2UrKylkW2JbZV1dXFx1MDAzZHt9LGRcXHUwMDNkZFtiW2VdXTtkW2JbYi5sZW5ndGgtMV1dXFx1MDAzZGZ1bmN0aW9uKHIpe2MucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocikpfTtiXFx1MDAzZGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFwic2NyaXB0XFwiKTthXFx1MDAzZHEoYS51cmwpO2lmKGEgaW5zdGFuY2VvZiBwKWFcXHUwMDNkYS5nO2Vsc2UgdGhyb3cgRXJyb3IoXFwiXFwiKTtiLnNyY1xcdTAwM2RhO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYil9LCEwKTt9KS5jYWxsKHRoaXMpO1xcbiJdJykpOwppZighYSlyZXR1cm4gbnVsbDthPV8ucGkoXy5aaShhLDYsdm9pZCAwLFVtKSk7dmFyIGI7YT09PW51bGx8fGE9PT12b2lkIDA/Yj1udWxsOmI9Xy5RYShhKTtyZXR1cm4gYn0sV209ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpOyFjLmRvbmU7Yz1hLm5leHQoKSljPWMudmFsdWUsYltjLmxhbmd1YWdlXT1jLm5hbWU7cmV0dXJuIGJ9LFhtPWZ1bmN0aW9uKCl7fSxZbT1mdW5jdGlvbihhLGIpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmw9bmV3IF8uSGIodGhpcyk7dGhpcy5RYihhfHxudWxsKTtiJiYodGhpcy5VYj1iKX0sYm49ZnVuY3Rpb24oYSl7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLngodGhpcy5nLCJmb2N1cyIsdGhpcywhMCk7dGhpcy5qPV8ueCh0aGlzLmcsImJsdXIiLHRoaXMsITApfSxjbj1mdW5jdGlvbigpe30sZG49ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZWxlbWVudD1hO3RoaXMuaj1iO3RoaXMubD1jfSxlbj1mdW5jdGlvbihhLApiKXt0aGlzLmc9YSBpbnN0YW5jZW9mIHpsP2E6bmV3IHpsKGEsYil9LGZuPWZ1bmN0aW9uKGEsYil7dGhpcy5vPWJ8fHZvaWQgMDtZbS5jYWxsKHRoaXMsYSl9LE89ZnVuY3Rpb24oYSxiLGMpe3RoaXMuRz1jfHwoYT9fLmxiKGduKGEpKTpfLmxiKCkpO2ZuLmNhbGwodGhpcyx0aGlzLkcuUygiRElWIix7c3R5bGU6InBvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTsifSkpO3RoaXMucmE9bmV3IHpsKDEsMSk7dGhpcy5BPW5ldyBTZXQ7dGhpcy5DPW51bGw7YSYmdGhpcy5hdHRhY2goYSk7YiE9bnVsbCYmdGhpcy5LYShiKX0saG49ZnVuY3Rpb24oYSl7YT1hLmNsYXNzTmFtZTtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaCgvXFMrL2cpfHxbXX0sa249ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWMubGVuZ3RoK2QubGVuZ3RoO2puKGMsZCk7YS5jbGFzc05hbWU9Yy5qb2luKCIgIik7CnJldHVybiBjLmxlbmd0aD09ZX0sbW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1obihhKSxkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPWxuKGMsZCk7YS5jbGFzc05hbWU9ZS5qb2luKCIgIik7cmV0dXJuIGUubGVuZ3RoPT1jLmxlbmd0aC1kLmxlbmd0aH0sam49ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoO2MrKylfLnRhKGEsYltjXSl8fGEucHVzaChiW2NdKX0sbG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIV8udGEoYixjKX0pfSxubj1mdW5jdGlvbihhLGIpe3JldHVybiBfLnRhKGhuKGEpLGIpfSxvbj1mdW5jdGlvbihhLGIsYyl7Yz9rbihhLGIpOm1uKGEsYil9LHRuPWZ1bmN0aW9uKGEpe3JldHVybiBwbihuZXcgcW4sc20oYSwxLF8uYWooKSkubWFwKGZ1bmN0aW9uKGIsYyl7dmFyIGQ9bmV3IHJuO2I9c24oZCwxLGIpO2lmKHNtKGEsMixfLmFqKCkpLmxlbmd0aD5jKXtkPXNtKGEsMiwKMywhMCk7aWYodHlwZW9mIGMhPT0ibnVtYmVyInx8YzwwfHxjPj1kLmxlbmd0aCl0aHJvdyBFcnJvcigpO3NuKGIsMyxkW2NdKX1yZXR1cm4gYn0pKX0sdW49ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHJuO2I9c24oYiwxLGFbMF0pO2EubGVuZ3RoPT09MyYmc24oYiwzLGFbMl0pO3JldHVybiBifSx2bj1mdW5jdGlvbihhKXtyZXR1cm4gXy5jaihhLHJuLDEpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gXy5OKGIsMyk/W18uTihiLDEpLDIwMCxfLk4oYiwzKV06W18uTihiLDEpLDIwMF19KX0sd249ZnVuY3Rpb24oKXt9LHhuPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTt0aGlzLmg9YXx8Xy5sYigpO3RoaXMubGE9bnVsbDt0aGlzLmpiPSExO3RoaXMuQz1udWxsO3RoaXMuTz12b2lkIDA7dGhpcy5SPXRoaXMuRj10aGlzLks9bnVsbDt0aGlzLndhPSExfSx5bj1mdW5jdGlvbihhKXt2YXIgYj1fLmxiKCksYz1iLmcsZD1iLmNyZWF0ZUVsZW1lbnQoIlNUWUxFIiksZT1fLk9hKCJzdHlsZSIsCmMpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7ZC50eXBlPSJ0ZXh0L2NzcyI7Yj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJIRUFEIilbMF07ZC5zdHlsZVNoZWV0P2Quc3R5bGVTaGVldC5jc3NUZXh0PWE6ZC5hcHBlbmRDaGlsZChjLmNyZWF0ZVRleHROb2RlKGEpKTtiLmFwcGVuZENoaWxkKGQpO3JldHVybiBkfSxDbj1mdW5jdGlvbigpe2Zvcih2YXIgYSBpbiBPYmplY3QucHJvdG90eXBlKXtfLnpjPWZ1bmN0aW9uKGQsZSxmKXtmb3IodmFyIGcgaW4gZClkW2ddIT09T2JqZWN0LnByb3RvdHlwZVtnXSYmZS5jYWxsKGYsZFtnXSxnLGQpfTticmVha312YXIgYj1EYXRlLm5vdygpLGM9em4oQW4pO2MmJnR5cGVvZiBjPT0iZnVuY3Rpb24iJiYoQm49PTE/YygpOmZ1bmN0aW9uIGUoKXt2YXIgZj1kb2N1bWVudC5yZWFkeVN0YXRlO18ub2MoZik9PSJ1bmRlZmluZWQifHxmPT0iY29tcGxldGUifHxmPT0iaW50ZXJhY3RpdmUifHxEYXRlLm5vdygpLWI+PTJFND9jKCk6d2luZG93LnNldFRpbWVvdXQoZSwKNTAwKX0oKSl9O18ubT16bC5wcm90b3R5cGU7Xy5tLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsJiYodGhpcz09YT8hMDp0aGlzJiZhP3RoaXMueD09YS54JiZ0aGlzLnk9PWEueTohMSl9O18ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguY2VpbCh0aGlzLngpO3RoaXMueT1NYXRoLmNlaWwodGhpcy55KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLm0ucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLngrPWEueCx0aGlzLnkrPWEueSk6KHRoaXMueCs9TnVtYmVyKGEpLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnkrPWIpKTtyZXR1cm4gdGhpc307CnZhciBEbj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IHpsKGEueCxhLnkpfSxFbj1bImRhdGE6IiwiaHR0cDoiLCJodHRwczoiLCJtYWlsdG86IiwiZnRwOiJdLEZuPWZ1bmN0aW9uKGEpe3ZhciBiPTE7YT1hLnNwbGl0KCI6Iik7Zm9yKHZhciBjPVtdO2I+MCYmYS5sZW5ndGg7KWMucHVzaChhLnNoaWZ0KCkpLGItLTthLmxlbmd0aCYmYy5wdXNoKGEuam9pbigiOiIpKTtyZXR1cm4gY30sR249ZnVuY3Rpb24oYSxiLGMpe2M9YS5nLmdldChjKTtyZXR1cm4oYz09bnVsbD8wOmMuaGFzKGIpKT9jLmdldChiKTphLmwuaGFzKGIpP3t1YToxfTooYz1hLm8uZ2V0KGIpKT9jOmEuaCYmW10uY29uY2F0KF8uJGIoYS5oKSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gYi5pbmRleE9mKGQpPT09MH0pP3t1YToxfTp7dWE6MH19LEhuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1DbChiKTtjPWMuY3JlYXRlRWxlbWVudChkKTtiPWIuYXR0cmlidXRlcztmb3IodmFyIGU9Xy5DKGIpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPQplLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtmPWcubmFtZTtnPWcudmFsdWU7dmFyIGg9R24oYS5nLGYsZCksazthOntpZihrPWguY29uZGl0aW9ucyl7az1fLkMoayk7Zm9yKHZhciBsPWsubmV4dCgpOyFsLmRvbmU7bD1rLm5leHQoKSl7dmFyIG49Xy5DKGwudmFsdWUpO2w9bi5uZXh0KCkudmFsdWU7bj1uLm5leHQoKS52YWx1ZTt2YXIgcT12b2lkIDA7aWYoKGw9KHE9Yi5nZXROYW1lZEl0ZW0obCkpPT1udWxsP3ZvaWQgMDpxLnZhbHVlKSYmIW4uaGFzKGwpKXtrPSExO2JyZWFrIGF9fX1rPSEwfWlmKGspc3dpdGNoKGgudWEpe2Nhc2UgMTpFbChjLGYsZyk7YnJlYWs7Y2FzZSAyOnRocm93IEVycm9yKCk7Y2FzZSAzOkVsKGMsZixnLnRvTG93ZXJDYXNlKCkpO2JyZWFrO2Nhc2UgNDpFbChjLGYsZyk7YnJlYWs7Y2FzZSA1OkVsKGMsZixnKTticmVhaztjYXNlIDY6RWwoYyxmLGcpO2JyZWFrO2Nhc2UgNzphOmlmKGg9dm9pZCAwLGs9ZyxfLkNjKXt0cnl7aD1uZXcgVVJMKGspfWNhdGNoKHApe2g9CiJodHRwczoiO2JyZWFrIGF9aD1oLnByb3RvY29sfWVsc2UgYjp7aD1rO2s9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtrLmhyZWY9aH1jYXRjaChwKXtoPXZvaWQgMDticmVhayBifWg9ay5wcm90b2NvbDtoPWg9PT0iOiJ8fGg9PT0iIj8iaHR0cHM6IjpofWc9aCE9PXZvaWQgMCYmRW4uaW5kZXhPZihoLnRvTG93ZXJDYXNlKCkpIT09LTE/ZzoiYWJvdXQ6aW52YWxpZCN6Q2xvc3VyZXoiO0VsKGMsZixnKX19cmV0dXJuIGN9LGxtPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5xZDthPUJsKGEsYik7YT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGEsNSxmdW5jdGlvbihoKXtpZihoLm5vZGVUeXBlPT09MyloPTE7ZWxzZSBpZihEbChoKSlpZihoPUNsKGgpLGg9PT1udWxsKWg9MjtlbHNle3ZhciBrPWMuZztoPWghPT0iRk9STSImJihrLmouaGFzKGgpfHxrLmcuaGFzKGgpKT8xOjJ9ZWxzZSBoPTI7cmV0dXJuIGh9KTtmb3IodmFyIGQ9YS5uZXh0Tm9kZSgpLGU9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCmY9ZTtkIT09bnVsbDspe3ZhciBnPXZvaWQgMDtpZihkLm5vZGVUeXBlPT09MylnPWMuY3JlYXRlVGV4dE5vZGUoZC5kYXRhKTtlbHNlIGlmKERsKGQpKWc9SG4oYyxkLGIpO2Vsc2UgdGhyb3cgRXJyb3IoInQiKTtmLmFwcGVuZENoaWxkKGcpO2lmKGQ9YS5maXJzdENoaWxkKCkpZj1nO2Vsc2UgZm9yKDshKGQ9YS5uZXh0U2libGluZygpKSYmKGQ9YS5wYXJlbnROb2RlKCkpOylmPWYucGFyZW50Tm9kZX1yZXR1cm4gZX0sSW49ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYj1iJiZiIT0iKiI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6IiIpP2EucXVlcnlTZWxlY3RvckFsbChiKTphLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIil9LEpuPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uVmN8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnR9LEtuPWZ1bmN0aW9uKGEpe3ZhciBiPQpKbihhKTthPWEuZGVmYXVsdFZpZXc7cmV0dXJuIG5ldyB6bCgoYT09bnVsbD92b2lkIDA6YS5wYWdlWE9mZnNldCl8fGIuc2Nyb2xsTGVmdCwoYT09bnVsbD92b2lkIDA6YS5wYWdlWU9mZnNldCl8fGIuc2Nyb2xsVG9wKX0sTG49ZnVuY3Rpb24oYSl7dmFyIGI9e307YT0oYS5nJiYoYS5nP2EuZy5yZWFkeVN0YXRlOjApPj0yP2EuZy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKXx8IiI6IiIpLnNwbGl0KCJcclxuIik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspaWYoIS9eW1xzXHhhMF0qJC8udGVzdChhW2NdKSl7dmFyIGQ9Rm4oYVtjXSksZT1kWzBdO2Q9ZFsxXTtpZih0eXBlb2YgZD09PSJzdHJpbmciKXtkPWQudHJpbSgpO3ZhciBmPWJbZV18fFtdO2JbZV09ZjtmLnB1c2goZCl9fXJldHVybiBBbChiLGZ1bmN0aW9uKGcpe3JldHVybiBnLmpvaW4oIiwgIil9KX0sTW49WzQsNSw2XSxKbT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9TW47Yz1fLkppKGMpO2E6e3ZhciBlPWM7Xy5yaShhKTsKdmFyIGY9YS5KLGc9ZltfLkhdfDA7aWYoZT09bnVsbCl7dmFyIGg9SGwoZik7aWYoSWwoaCxmLGcsZCk9PT1iKWguc2V0KGQsMCk7ZWxzZSBicmVhayBhfWVsc2V7aD1IbChmKTt2YXIgaz1JbChoLGYsZyxkKTtrIT09YiYmKGsmJihnPV8udGkoZixnLGspKSxoLnNldChkLGIpKX1fLnRpKGYsZyxiLGUpfWMmJiFfLldnKGMpJiZfLnNpKGEuSik7cmV0dXJuIGF9LExtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihMbSxfLkopO0xtLnByb3RvdHlwZS5nZXRTZWNvbmRzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uaGsodGhpcywxKX07TG0ucHJvdG90eXBlLnNldFNlY29uZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uR2kodGhpcywxLGE9PW51bGw/YTpfLkpqKGEpLCIwIil9O3ZhciBNbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoTW0sXy5KKTtNbS5wcm90b3R5cGUuZ2V0U2Vjb25kcz1mdW5jdGlvbigpe3JldHVybiBfLmhrKHRoaXMsMSl9OwpNbS5wcm90b3R5cGUuc2V0U2Vjb25kcz1mdW5jdGlvbihhKXtyZXR1cm4gXy5HaSh0aGlzLDEsYT09bnVsbD9hOl8uSmooYSksIjAiKX07dmFyIE5uPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLktrO3JldHVybiBfLmlrKGIsMTEsYSl9LHptPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IF8uaGwoMTg3MSwiMCIpO2EuQT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20vZWxlbWVudC9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIjtyZXR1cm4gYX0seW09ZnVuY3Rpb24oYSl7YS5oPU9uO3JldHVybiBhfSxJbT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoSW0sXy5KKTt2YXIgUG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFBuLF8uSik7dmFyIEZtPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihGbSxfLkopO3ZhciBRbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoUW4sXy5KKTt2YXIgUm49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Cl8uQihSbixfLkopO3ZhciBTbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoU24sXy5KKTt2YXIgVG49ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKFRuLF8uSik7CnZhciBVbj1mdW5jdGlvbihhKXtfLnJpKGEpO2E9YS5KO3ZhciBiPWFbXy5IXXwwLGM9Xy51aShhLDExMiksZD12b2lkIDA9PT1fLlhoLGU9Xy5oaChjLFRuLCFkLGIpOyFkfHxlPyhlPV8ua2goZSksYyE9PWUmJihiPV8udGkoYSxiLDExMixlKSxfLnNpKGEsYikpLGE9ZSk6YT12b2lkIDA7cmV0dXJuIGF9LFZuPWZ1bmN0aW9uKGEsYil7YS5VIT09dm9pZCAwP2EuVS5wdXNoKGIpOmEuY29udGVudCs9YjtyZXR1cm4gYX0sV249ZnVuY3Rpb24oYSxiKXthLlUhPT12b2lkIDA/YS5VLnB1c2goYik6YiBpbnN0YW5jZW9mIF8ueGw/Yi5jb250ZW50IT09dm9pZCAwP2EuY29udGVudCs9Yi5tYSgpOihhLlU9W2EuY29udGVudCxiXSxhLmNvbnRlbnQ9dm9pZCAwKTphLmNvbnRlbnQrPWI7cmV0dXJuIGF9LFhuPWZ1bmN0aW9uKGEpe3ZhciBiO2E9Xy5DKChiPWEuVSkhPW51bGw/YjpbXSk7Zm9yKGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWlmKGI9Yi52YWx1ZSxiIGluc3RhbmNlb2YKXy54bCYmWG4oYikpcmV0dXJuITA7cmV0dXJuITF9LFpuPWZ1bmN0aW9uKGEsYil7Yj1ZbihifHx7fSxhLmg/YS5oLmdldERhdGEoKTp7fSk7YS5nKG51bGwsYi5aYik7cmV0dXJuIGIuaigpfSwkbj17fSxhbz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgemwoYS54LWIueCxhLnktYi55KX0sYm89LyYvZyxjbz0vPC9nLGVvPS8+L2csZm89LyIvZyxnbz0vJy9nLGhvPS9ceDAwL2csaW89L1tceDAwJjw+IiddLyxqbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC9ceGEwfFsgXHRdKy9nLCIgIil9LGtvPWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcc1x4YTBdKyQvLCIiKX0sbG89ZnVuY3Rpb24oYSl7aW8udGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKGJvLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShjbywiJmx0OyIpKSxhLmluZGV4T2YoIj4iKSE9LTEmJihhPWEucmVwbGFjZShlbywiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9Ci0xJiYoYT1hLnJlcGxhY2UoZm8sIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZShnbywiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2UoaG8sIiYjMDsiKSkpO3JldHVybiBhfSxtbz1mdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKC8mKFteO10rKTsvZyxmdW5jdGlvbihiLGMpe3N3aXRjaChjKXtjYXNlICJhbXAiOnJldHVybiImIjtjYXNlICJsdCI6cmV0dXJuIjwiO2Nhc2UgImd0IjpyZXR1cm4iPiI7Y2FzZSAicXVvdCI6cmV0dXJuJyInO2RlZmF1bHQ6cmV0dXJuIGMuY2hhckF0KDApIT0iIyJ8fChjPU51bWJlcigiMCIrYy5zbGljZSgxKSksaXNOYU4oYykpP2I6U3RyaW5nLmZyb21DaGFyQ29kZShjKX19KX0sbm89LyYoW147XHM8Jl0rKTs/L2csb289ZnVuY3Rpb24oYSl7dmFyIGI9eyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIid9O3ZhciBjPV8udi5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKcmV0dXJuIGEucmVwbGFjZShubyxmdW5jdGlvbihkLGUpe3ZhciBmPWJbZF07aWYoZilyZXR1cm4gZjtlLmNoYXJBdCgwKT09IiMiJiYoZT1OdW1iZXIoIjAiK2Uuc2xpY2UoMSkpLGlzTmFOKGUpfHwoZj1TdHJpbmcuZnJvbUNoYXJDb2RlKGUpKSk7Znx8KGY9Xy5tbChkKyIgIiksYy5ub2RlVHlwZT09PTEmJk1sKGMpLGMuaW5uZXJIVE1MPV8ua2ooZiksZj1jLmZpcnN0Q2hpbGQubm9kZVZhbHVlLnNsaWNlKDAsLTEpKTtyZXR1cm4gYltkXT1mfSl9LHBvPWZ1bmN0aW9uKGEpe3JldHVybiBhLmluZGV4T2YoIiYiKSE9LTE/ImRvY3VtZW50ImluIF8udj9vbyhhKTptbyhhKTphfSxybz1mdW5jdGlvbihhKXt2YXIgYj1xbztyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIjcuMCIpP2JbIjcuMCJdOmJbIjcuMCJdPWEoIjcuMCIpfSxxbz17fSxzbz1mdW5jdGlvbigpe3JldHVybiBybyhmdW5jdGlvbigpe3JldHVybiBMbChfLmpkLCI3LjAiKT49MH0pfSwKVGw9L15bYS16XVthLXpcZC1dKiQvaSxXbD0iQVBQTEVUIEJBU0UgRU1CRUQgSUZSQU1FIExJTksgTUFUSCBNRVRBIE9CSkVDVCBTQ1JJUFQgU1RZTEUgU1ZHIFRFTVBMQVRFIi5zcGxpdCgiICIpLFhsPSJBUkVBIEJSIENPTCBDT01NQU5EIEhSIElNRyBJTlBVVCBLRVlHRU4gUEFSQU0gU09VUkNFIFRSQUNLIFdCUiIuc3BsaXQoIiAiKSxVbD1bImFjdGlvbiIsImZvcm1hY3Rpb24iLCJocmVmIl0sdG89ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IE1hcH07CnRvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPVBsKCJfc2FmZXZhbHVlc19mb3JtYXRfbWFya2VyXzoiKS50b1N0cmluZygpO2E9UGwoYSkudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxceyIrYysiW1xcdyYjO10rXFx9IiwiZyIpLGZ1bmN0aW9uKGQpe3ZhciBlO2lmKGU9Yi5nLmdldChkKSl7ZD0iIjtzd2l0Y2goZS50eXBlKXtjYXNlICJodG1sIjpkPWUueGY7YnJlYWs7Y2FzZSAic3RhcnRUYWciOmQ9IjwiK2UudGFnTmFtZStlLmF0dHJpYnV0ZXMrIj4iO2JyZWFrO2Nhc2UgImVuZFRhZyI6ZD0iPC8iK2UudGFnTmFtZSsiPiJ9ZT1kfWVsc2UgZT1kO3JldHVybiBlfSk7cmV0dXJuIF8ubWwoYSl9O3RvLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKGEpe3JldHVybiB1byh0aGlzLHt0eXBlOiJodG1sIix4ZjpQbChhKS50b1N0cmluZygpfSl9Owp2YXIgdW89ZnVuY3Rpb24oYSxiKXt2YXIgYz0ie19zYWZldmFsdWVzX2Zvcm1hdF9tYXJrZXJfOiIrYS5nLnNpemUrIl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpKyJ9IjthLmcuc2V0KFBsKGMpLnRvU3RyaW5nKCksYik7cmV0dXJuIGN9LGduPWZ1bmN0aW9uKGEpe3JldHVybiBfLnRkKGRvY3VtZW50LGEpfSx2bz1mdW5jdGlvbihhKXt2YXIgYj1hfHxkb2N1bWVudDtiLmdldEVsZW1lbnRzQnlDbGFzc05hbWU/YT1iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIilbMF06KGI9ZG9jdW1lbnQsYT0oYXx8YikucXVlcnlTZWxlY3RvcigiLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TIikpO3JldHVybiBhfHxudWxsfSx3bz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ueWQoZG9jdW1lbnQsYXJndW1lbnRzKX0seG89ZnVuY3Rpb24oYSxiKXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwKYi5uZXh0U2libGluZyl9LHlvPWZ1bmN0aW9uKGEpe3JldHVybiBfLnlhKGEpJiZhLm5vZGVUeXBlPT0xfSx6bz1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50RG9jdW1lbnR8fGEuY29udGVudFdpbmRvdy5kb2N1bWVudH0sQW89ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmNvbnRlbnRXaW5kb3d8fChhLmNvbnRlbnREb2N1bWVudD9fLm1iKGEuY29udGVudERvY3VtZW50KTpudWxsKX1jYXRjaChiKXt9cmV0dXJuIG51bGx9LEJvPXtTQ1JJUFQ6MSxTVFlMRToxLEhFQUQ6MSxJRlJBTUU6MSxPQkpFQ1Q6MX0sQ289e0lNRzoiICIsQlI6IlxuIn0sRG89ZnVuY3Rpb24oYSxiLGMpe2lmKCEoYS5ub2RlTmFtZSBpbiBCbykpaWYoYS5ub2RlVHlwZT09MyljP2IucHVzaChTdHJpbmcoYS5ub2RlVmFsdWUpLnJlcGxhY2UoLyhcclxufFxyfFxuKS9nLCIiKSk6Yi5wdXNoKGEubm9kZVZhbHVlKTtlbHNlIGlmKGEubm9kZU5hbWUgaW4gQ28pYi5wdXNoKENvW2Eubm9kZU5hbWVdKTtlbHNlIGZvcihhPQphLmZpcnN0Q2hpbGQ7YTspRG8oYSxiLGMpLGE9YS5uZXh0U2libGluZ30sRW89ZnVuY3Rpb24oYSl7dmFyIGI9W107RG8oYSxiLCEwKTthPWIuam9pbigiIik7YT1hLnJlcGxhY2UoLyBceEFEIC9nLCIgIikucmVwbGFjZSgvXHhBRC9nLCIiKTthPWEucmVwbGFjZSgvXHUyMDBCL2csIiIpO2E9YS5yZXBsYWNlKC8gKy9nLCIgIik7YSE9IiAiJiYoYT1hLnJlcGxhY2UoL15ccyovLCIiKSk7cmV0dXJuIGF9LEZvPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnByb21pc2U9YTt0aGlzLnJlc29sdmU9Yjt0aGlzLnJlamVjdD1jfSxHbz1mdW5jdGlvbigpe3ZhciBhLGIsYz1uZXcgXy5vZShmdW5jdGlvbihkLGUpe2E9ZDtiPWV9KTtyZXR1cm4gbmV3IEZvKGMsYSxiKX0sSG89ZnVuY3Rpb24oYSl7aWYoYS5pYiYmdHlwZW9mIGEuaWI9PSJmdW5jdGlvbiIpcmV0dXJuIGEuaWIoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmCmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20oYS52YWx1ZXMoKSk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm4gYS5zcGxpdCgiIik7aWYoXy5xYShhKSl7Zm9yKHZhciBiPVtdLGM9YS5sZW5ndGgsZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifWI9W107Yz0wO2ZvcihkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9LElvPWZ1bmN0aW9uKGEpe2lmKGEuT2MmJnR5cGVvZiBhLk9jPT0iZnVuY3Rpb24iKXJldHVybiBhLk9jKCk7aWYoIWEuaWJ8fHR5cGVvZiBhLmliIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy5xYShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7dmFyIGI9W107YT1hLmxlbmd0aDtmb3IodmFyIGM9MDtjPGE7YysrKWIucHVzaChjKTsKcmV0dXJuIGJ9Yj1bXTtjPTA7Zm9yKHZhciBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9fX0sSm89ZnVuY3Rpb24oYSxiLGMpe2lmKGEuZm9yRWFjaCYmdHlwZW9mIGEuZm9yRWFjaD09ImZ1bmN0aW9uIilhLmZvckVhY2goYixjKTtlbHNlIGlmKF8ucWEoYSl8fHR5cGVvZiBhPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhLGIsYyk7ZWxzZSBmb3IodmFyIGQ9SW8oYSksZT1IbyhhKSxmPWUubGVuZ3RoLGc9MDtnPGY7ZysrKWIuY2FsbChjLGVbZ10sZCYmZFtnXSxhKX0sZ209ZnVuY3Rpb24oYSxiKXt0aGlzLmg9dGhpcy5nPW51bGw7dGhpcy5qPWF8fG51bGw7dGhpcy5sPSEhYn0sS289ZnVuY3Rpb24oYSl7YS5nfHwoYS5nPW5ldyBNYXAsYS5oPTAsYS5qJiZfLkViKGEuaixmdW5jdGlvbihiLGMpe2EuYWRkKF8uRGIoYiksYyl9KSl9OwpnbS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7S28odGhpcyk7dGhpcy5qPW51bGw7YT1Mbyh0aGlzLGEpO3ZhciBjPXRoaXMuZy5nZXQoYSk7Y3x8dGhpcy5nLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLmgrPTE7cmV0dXJuIHRoaXN9O2dtLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oYSl7S28odGhpcyk7YT1Mbyh0aGlzLGEpO3JldHVybiB0aGlzLmcuaGFzKGEpPyh0aGlzLmo9bnVsbCx0aGlzLmgtPXRoaXMuZy5nZXQoYSkubGVuZ3RoLHRoaXMuZy5kZWxldGUoYSkpOiExfTtnbS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmc9dGhpcy5qPW51bGw7dGhpcy5oPTB9O3ZhciBNbz1mdW5jdGlvbihhLGIpe0tvKGEpO2I9TG8oYSxiKTtyZXR1cm4gYS5nLmhhcyhiKX07Xy5tPWdtLnByb3RvdHlwZTsKXy5tLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmcuZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Xy5tLk9jPWZ1bmN0aW9uKCl7S28odGhpcyk7Zm9yKHZhciBhPUFycmF5LmZyb20odGhpcy5nLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5nLmtleXMoKSksYz1bXSxkPTA7ZDxiLmxlbmd0aDtkKyspZm9yKHZhciBlPWFbZF0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWMucHVzaChiW2RdKTtyZXR1cm4gY307Xy5tLmliPWZ1bmN0aW9uKGEpe0tvKHRoaXMpO3ZhciBiPVtdO2lmKHR5cGVvZiBhPT09InN0cmluZyIpTW8odGhpcyxhKSYmKGI9Yi5jb25jYXQodGhpcy5nLmdldChMbyh0aGlzLGEpKSkpO2Vsc2V7YT1BcnJheS5mcm9tKHRoaXMuZy52YWx1ZXMoKSk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYj1iLmNvbmNhdChhW2NdKX1yZXR1cm4gYn07Cl8ubS5zZXQ9ZnVuY3Rpb24oYSxiKXtLbyh0aGlzKTt0aGlzLmo9bnVsbDthPUxvKHRoaXMsYSk7TW8odGhpcyxhKSYmKHRoaXMuaC09dGhpcy5nLmdldChhKS5sZW5ndGgpO3RoaXMuZy5zZXQoYSxbYl0pO3RoaXMuaCs9MTtyZXR1cm4gdGhpc307Xy5tLmdldD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiBiO2E9dGhpcy5pYihhKTtyZXR1cm4gYS5sZW5ndGg+MD9TdHJpbmcoYVswXSk6Yn07dmFyIE5vPWZ1bmN0aW9uKGEsYixjKXthLnJlbW92ZShiKTtjLmxlbmd0aD4wJiYoYS5qPW51bGwsYS5nLnNldChMbyhhLGIpLF8ud2EoYykpLGEuaCs9Yy5sZW5ndGgpfTsKZ20ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7aWYodGhpcy5qKXJldHVybiB0aGlzLmo7aWYoIXRoaXMuZylyZXR1cm4iIjtmb3IodmFyIGE9W10sYj1BcnJheS5mcm9tKHRoaXMuZy5rZXlzKCkpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9YltjXSxlPV8uR2IoZCk7ZD10aGlzLmliKGQpO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1lO2RbZl0hPT0iIiYmKGcrPSI9IitfLkdiKGRbZl0pKTthLnB1c2goZyl9fXJldHVybiB0aGlzLmo9YS5qb2luKCImIil9Owp2YXIgZW09ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IGdtO2Iuaj1hLmo7YS5nJiYoYi5nPW5ldyBNYXAoYS5nKSxiLmg9YS5oKTtyZXR1cm4gYn0sTG89ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmwmJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGJ9LE9vPWZ1bmN0aW9uKGEsYil7YiYmIWEubCYmKEtvKGEpLGEuaj1udWxsLGEuZy5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSxObyh0aGlzLGUsYykpfSxhKSk7YS5sPWJ9O2dtLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylKbyhhcmd1bWVudHNbYl0sZnVuY3Rpb24oYyxkKXt0aGlzLmFkZChkLGMpfSx0aGlzKX07CnZhciBQbz0vWyNcL1w/QF0vZyxRbz0vWyNcP10vZyxSbz0vWyNcPzpdL2csU289LyMvZyxmbT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn0sVG89L1sjXD9AXS9nLFVvPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9LFZvPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj8oYT1lbmNvZGVVUkkoYSkucmVwbGFjZShiLFVvKSxjJiYoYT1hLnJlcGxhY2UoLyUyNShbMC05YS1mQS1GXXsyfSkvZywiJSQxIikpLGEpOm51bGx9OwpabC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMubDtiJiZhLnB1c2goVm8oYixQbywhMCksIjoiKTt2YXIgYz10aGlzLmg7aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkIpJiZhLnB1c2goVm8oYixQbywhMCksIkAiKSxhLnB1c2goXy5HYihjKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxjPXRoaXMuQyxjIT1udWxsJiZhLnB1c2goIjoiLFN0cmluZyhjKSk7aWYoYz10aGlzLmopdGhpcy5oJiZjLmNoYXJBdCgwKSE9Ii8iJiZhLnB1c2goIi8iKSxhLnB1c2goVm8oYyxjLmNoYXJBdCgwKT09Ii8iP1FvOlJvLCEwKSk7KGM9dGhpcy5nLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMuQSkmJmEucHVzaCgiIyIsVm8oYyxTbykpO3JldHVybiBhLmpvaW4oIiIpfTsKWmwucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFpsKHRoaXMpLGM9ISFhLmw7Yz8kbChiLGEubCk6Yz0hIWEuQjtjP2IuQj1hLkI6Yz0hIWEuaDtjP2FtKGIsYS5oKTpjPWEuQyE9bnVsbDt2YXIgZD1hLmo7aWYoYylibShiLGEuQyk7ZWxzZSBpZihjPSEhYS5qKXtpZihkLmNoYXJBdCgwKSE9Ii8iKWlmKHRoaXMuaCYmIXRoaXMuailkPSIvIitkO2Vsc2V7dmFyIGU9Yi5qLmxhc3RJbmRleE9mKCIvIik7ZSE9LTEmJihkPWIuai5zbGljZSgwLGUrMSkrZCl9ZT1kO2lmKGU9PSIuLiJ8fGU9PSIuIilkPSIiO2Vsc2UgaWYoZS5pbmRleE9mKCIuLyIpIT0tMXx8ZS5pbmRleE9mKCIvLiIpIT0tMSl7ZD1lLmxhc3RJbmRleE9mKCIvIiwwKT09MDtlPWUuc3BsaXQoIi8iKTtmb3IodmFyIGY9W10sZz0wO2c8ZS5sZW5ndGg7KXt2YXIgaD1lW2crK107aD09Ii4iP2QmJmc9PWUubGVuZ3RoJiZmLnB1c2goIiIpOmg9PSIuLiI/KChmLmxlbmd0aD4xfHxmLmxlbmd0aD09CjEmJmZbMF0hPSIiKSYmZi5wb3AoKSxkJiZnPT1lLmxlbmd0aCYmZi5wdXNoKCIiKSk6KGYucHVzaChoKSxkPSEwKX1kPWYuam9pbigiLyIpfWVsc2UgZD1lfWM/Y20oYixkKTpjPWEuZy50b1N0cmluZygpIT09IiI7Yz9kbShiLGVtKGEuZykpOmM9ISFhLkE7YyYmKGIuQT1hLkEpO3JldHVybiBifTsKdmFyICRsPWZ1bmN0aW9uKGEsYixjKXthLmw9Yz9mbShiLCEwKTpiO2EubCYmKGEubD1hLmwucmVwbGFjZSgvOiQvLCIiKSk7cmV0dXJuIGF9LGFtPWZ1bmN0aW9uKGEsYixjKXthLmg9Yz9mbShiLCEwKTpiO3JldHVybiBhfSxibT1mdW5jdGlvbihhLGIpe2lmKGIpe2I9TnVtYmVyKGIpO2lmKGlzTmFOKGIpfHxiPDApdGhyb3cgRXJyb3IoIkhgIitiKTthLkM9Yn1lbHNlIGEuQz1udWxsfSxjbT1mdW5jdGlvbihhLGIsYyl7YS5qPWM/Zm0oYiwhMCk6YjtyZXR1cm4gYX0sZG09ZnVuY3Rpb24oYSxiLGMpe2IgaW5zdGFuY2VvZiBnbT8oYS5nPWIsT28oYS5nLGEubykpOihjfHwoYj1WbyhiLFRvKSksYS5nPW5ldyBnbShiLGEubykpfSxXbz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFpsP25ldyBabChhKTpuZXcgWmwoYSl9LFhvPWZ1bmN0aW9uKGEpe3ZhciBiPUlvKGEpO2lmKHR5cGVvZiBiPT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiSiIpO3ZhciBjPW5ldyBnbShudWxsKTsKYT1IbyhhKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXSxmPWFbZF07QXJyYXkuaXNBcnJheShmKT9ObyhjLGUsZik6Yy5hZGQoZSxmKX1yZXR1cm4gY30sWW89e30sWm89e30sJG89e30sYXA9e30sam09e30scW09e30scG0sVW09e30sYnA9ZnVuY3Rpb24oYSxiLGMpe2E9YS5KO3JldHVybiBfLkhpKGEsYVtfLkhdfDAsYixjKXx8YltfLmZoXXx8KGJbXy5maF09Xy5naChiKSl9LHNuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5HaShhLGIsXy5MaihjKSwiIil9O18ubT12bS5wcm90b3R5cGU7Xy5tLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzJiZhP2EgaW5zdGFuY2VvZiB2bT9hLmxlZnQ+PXRoaXMubGVmdCYmYS5yaWdodDw9dGhpcy5yaWdodCYmYS50b3A+PXRoaXMudG9wJiZhLmJvdHRvbTw9dGhpcy5ib3R0b206YS54Pj10aGlzLmxlZnQmJmEueDw9dGhpcy5yaWdodCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLmJvdHRvbTohMX07Cl8ubS5jZWlsPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLnJpZ2h0PU1hdGguY2VpbCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLmNlaWwodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmNlaWwodGhpcy5sZWZ0KTtyZXR1cm4gdGhpc307Xy5tLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy5yaWdodD1NYXRoLmZsb29yKHRoaXMucmlnaHQpO3RoaXMuYm90dG9tPU1hdGguZmxvb3IodGhpcy5ib3R0b20pO3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7cmV0dXJuIHRoaXN9O18ubS5yb3VuZD1mdW5jdGlvbigpe3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMucmlnaHQ9TWF0aC5yb3VuZCh0aGlzLnJpZ2h0KTt0aGlzLmJvdHRvbT1NYXRoLnJvdW5kKHRoaXMuYm90dG9tKTt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3JldHVybiB0aGlzfTsKXy5tLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpe2EgaW5zdGFuY2VvZiB6bD8odGhpcy5sZWZ0Kz1hLngsdGhpcy5yaWdodCs9YS54LHRoaXMudG9wKz1hLnksdGhpcy5ib3R0b20rPWEueSk6KHRoaXMubGVmdCs9YSx0aGlzLnJpZ2h0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9Yix0aGlzLmJvdHRvbSs9YikpO3JldHVybiB0aGlzfTtfLm09d20ucHJvdG90eXBlO18ubS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIHpsP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTsKXy5tLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLm0uZmxvb3I9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5mbG9vcih0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguZmxvb3IodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5mbG9vcih0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmZsb29yKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5tLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGgucm91bmQodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLnJvdW5kKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpfLm0udHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7YSBpbnN0YW5jZW9mIHpsPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKdmFyIGNwPWZ1bmN0aW9uKGEsYil7YTp7dmFyIGM9Xy5zZChhKTtpZihjLmRlZmF1bHRWaWV3JiZjLmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUmJihjPWMuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpKSl7Yz1jW2JdfHxjLmdldFByb3BlcnR5VmFsdWUoYil8fCIiO2JyZWFrIGF9Yz0iIn1yZXR1cm4gY3x8KGEuY3VycmVudFN0eWxlP2EuY3VycmVudFN0eWxlW2JdOm51bGwpfHxhLnN0eWxlJiZhLnN0eWxlW2JdfSxkcD1mdW5jdGlvbihhKXt0eXBlb2YgYT09Im51bWJlciImJihhKz0icHgiKTtyZXR1cm4gYX0sZXA9ZnVuY3Rpb24oYSxiKXtpZihiIGluc3RhbmNlb2Ygemwpe3ZhciBjPWIueDtiPWIueX1lbHNlIGM9YixiPXZvaWQgMDthLnN0eWxlLmxlZnQ9ZHAoYyk7YS5zdHlsZS50b3A9ZHAoYil9LGZwPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChiKXtyZXR1cm57bGVmdDowLHRvcDowLHJpZ2h0OjAsCmJvdHRvbTowfX19LGdwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1jcChhLCJwb3NpdGlvbiIpLGQ9Yz09ImZpeGVkInx8Yz09ImFic29sdXRlIjtmb3IoYT1hLnBhcmVudE5vZGU7YSYmYSE9YjthPWEucGFyZW50Tm9kZSlpZihhLm5vZGVUeXBlPT0xMSYmYS5ob3N0JiYoYT1hLmhvc3QpLGM9Y3AoYSwicG9zaXRpb24iKSxkPWQmJmM9PSJzdGF0aWMiJiZhIT1iLmRvY3VtZW50RWxlbWVudCYmYSE9Yi5ib2R5LCFkJiYoYS5zY3JvbGxXaWR0aD5hLmNsaWVudFdpZHRofHxhLnNjcm9sbEhlaWdodD5hLmNsaWVudEhlaWdodHx8Yz09ImZpeGVkInx8Yz09ImFic29sdXRlInx8Yz09InJlbGF0aXZlIikpcmV0dXJuIGE7cmV0dXJuIG51bGx9LGhwPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2QoYSksYz1uZXcgemwoMCwwKTtpZihhPT0oYj9fLnNkKGIpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIGM7YT1mcChhKTtiPV8ubGIoYik7Yj1LbihiLmcpO2MueD1hLmxlZnQrYi54OwpjLnk9YS50b3ArYi55O3JldHVybiBjfSxpcD1mdW5jdGlvbihhKXtmb3IodmFyIGI9bmV3IHZtKDAsSW5maW5pdHksSW5maW5pdHksMCksYz1fLmxiKGEpLGQ9Yy5nLmJvZHksZT1jLmcuZG9jdW1lbnRFbGVtZW50LGY9Sm4oYy5nKTthPWdwKGEpOylpZigoIV8uVmN8fGEuY2xpZW50SGVpZ2h0IT0wfHxhIT1kKSYmYSE9ZCYmYSE9ZSYmY3AoYSwib3ZlcmZsb3ciKSE9InZpc2libGUiKXt2YXIgZz1ocChhKSxoPW5ldyB6bChhLmNsaWVudExlZnQsYS5jbGllbnRUb3ApO2cueCs9aC54O2cueSs9aC55O2IudG9wPU1hdGgubWF4KGIudG9wLGcueSk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGcueCthLmNsaWVudFdpZHRoKTtiLmJvdHRvbT1NYXRoLm1pbihiLmJvdHRvbSxnLnkrYS5jbGllbnRIZWlnaHQpO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZy54KX1kPWYuc2Nyb2xsTGVmdDtmPWYuc2Nyb2xsVG9wO2IubGVmdD1NYXRoLm1heChiLmxlZnQsZCk7Yi50b3A9TWF0aC5tYXgoYi50b3AsCmYpO2M9Xy5pYihjLmcuZGVmYXVsdFZpZXd8fHdpbmRvdyk7Yi5yaWdodD1NYXRoLm1pbihiLnJpZ2h0LGQrYy53aWR0aCk7Yi5ib3R0b209TWF0aC5taW4oYi5ib3R0b20sZitjLmhlaWdodCk7cmV0dXJuIGIudG9wPj0wJiZiLmxlZnQ+PTAmJmIuYm90dG9tPmIudG9wJiZiLnJpZ2h0PmIubGVmdD9iOm51bGx9LGpwPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IHpsKDAsMCksZD1fLm1iKF8uc2QoYSkpO2E6e3RyeXtfLlFjKGQucGFyZW50KTt2YXIgZT0hMDticmVhayBhfWNhdGNoKGYpe31lPSExfWlmKCFlKXJldHVybiBjO2RvIGQ9PWI/ZT1ocChhKTooZT1mcChhKSxlPW5ldyB6bChlLmxlZnQsZS50b3ApKSxjLngrPWUueCxjLnkrPWUueTt3aGlsZShkJiZkIT1iJiZkIT1kLnBhcmVudCYmKGE9ZC5mcmFtZUVsZW1lbnQpJiYoZD1kLnBhcmVudCkpO3JldHVybiBjfSxscD1mdW5jdGlvbihhKXt2YXIgYj1rcDtpZihjcChhLCJkaXNwbGF5IikhPSJub25lIilyZXR1cm4gYihhKTt2YXIgYz0KYS5zdHlsZSxkPWMuZGlzcGxheSxlPWMudmlzaWJpbGl0eSxmPWMucG9zaXRpb247Yy52aXNpYmlsaXR5PSJoaWRkZW4iO2MucG9zaXRpb249ImFic29sdXRlIjtjLmRpc3BsYXk9ImlubGluZSI7YT1iKGEpO2MuZGlzcGxheT1kO2MucG9zaXRpb249ZjtjLnZpc2liaWxpdHk9ZTtyZXR1cm4gYX0sa3A9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vZmZzZXRXaWR0aCxjPWEub2Zmc2V0SGVpZ2h0LGQ9Xy5WYyYmIWImJiFjO3JldHVybihiPT09dm9pZCAwfHxkKSYmYS5nZXRCb3VuZGluZ0NsaWVudFJlY3Q/KGE9ZnAoYSksbmV3IF8uQ2EoYS5yaWdodC1hLmxlZnQsYS5ib3R0b20tYS50b3ApKTpuZXcgXy5DYShiLGMpfSxtcD1mdW5jdGlvbihhLGIpe2Euc3R5bGUuZGlzcGxheT1iPyIiOiJub25lIn0sbnA9ZnVuY3Rpb24oYSxiKXtiPV8ubGIoYik7dmFyIGM9SW4oYi5nLCJIRUFEIilbMF07aWYoIWMpe3ZhciBkPUluKGIuZywiQk9EWSIpWzBdO2M9Yi5TKCJIRUFEIik7ZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLApkKX1kPWIuUygiU1RZTEUiKTt2YXIgZT1fLk9hKCJzdHlsZSIsZG9jdW1lbnQpO2UmJmQuc2V0QXR0cmlidXRlKCJub25jZSIsZSk7YT1ObChhKTtfLnYudHJ1c3RlZFR5cGVzP18uQ2QoZCxhKTpkLmlubmVySFRNTD1hO2IuYXBwZW5kQ2hpbGQoYyxkKX0sb3A9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkNhKGEub2Zmc2V0V2lkdGgsYS5vZmZzZXRIZWlnaHQpfSxwcD1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO18uVWM/YS5Nb3pCb3hTaXppbmc9YzpfLlZjP2EuV2Via2l0Qm94U2l6aW5nPWM6YS5ib3hTaXppbmc9YzthLndpZHRoPU1hdGgubWF4KGIud2lkdGgsMCkrInB4IjthLmhlaWdodD1NYXRoLm1heChiLmhlaWdodCwwKSsicHgifSxxcD1mdW5jdGlvbihhLGIpe3BwKGEsYiwiY29udGVudC1ib3giKX0scnA9ZnVuY3Rpb24oYSl7aWYoYSE9bnVsbClzd2l0Y2goYS5KZCl7Y2FzZSAxOnJldHVybiAxO2Nhc2UgLTE6cmV0dXJuLTE7Y2FzZSAwOnJldHVybiAwfXJldHVybiBudWxsfSwKc3A9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLnhsP1huKGEpPyEwOiEhYS5tYSgpOmEgaW5zdGFuY2VvZiBfLnpmPyEhYS5tYSgpOiEhYX0sdHA9LzwvZyx1cD1mdW5jdGlvbihhLGIpe2E9YS5yZXBsYWNlKC88XC8vZywiPFxcLyIpLnJlcGxhY2UoL1xdXF0+L2csIl1dXFw+Iik7cmV0dXJuIGI/YS5yZXBsYWNlKC97L2csIiBcXHsiKS5yZXBsYWNlKC99L2csIiBcXH0iKS5yZXBsYWNlKC9cL1wqL2csIi8gKiIpLnJlcGxhY2UoL1xcJC8sIlxcICIpOmF9LHZwPWZ1bmN0aW9uKGEpe2E9U3RyaW5nKGEpO2Zvcih2YXIgYj1mdW5jdGlvbihkLGUsZil7Zm9yKHZhciBnPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpLGg9MDtoPGc7aCsrKXt2YXIgaz1lW2YraF07aWYoZFtoXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsCmEsYyl8fGIoIlx4M2MhLS0iLGEsYykpcmV0dXJuInpTb3l6IjtjKz0xfXJldHVybiBhfSx3cD1mdW5jdGlvbihhLGIpe3JldHVybiBhIT1udWxsJiZhLlpiPT09Yn0seHA9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsJG8pP2EubWEoKTphIGluc3RhbmNlb2YgXy5MYT9fLk5hKGEpLnRvU3RyaW5nKCk6ImFib3V0OmludmFsaWQjelNveXoifSx6cD1mdW5jdGlvbigpe3ZhciBhO3dwKCIiLGFwKT9hPSIiLm1hKCk6YT15cC50ZXN0KCIiKT8iIjoielNveXoiO3dwKGEsYXApJiYoYT1hLm1hKCkpO3JldHVybihhJiYhYS5zdGFydHNXaXRoKCIgIik/IiAiOiIiKSthfSxBcD1mdW5jdGlvbihhKXtyZXR1cm4gd3AoYSxfLm9sKT91cChhLm1hKCksITEpOmE9PW51bGw/IiI6YSBpbnN0YW5jZW9mIF8ucGw/dXAoTmwoYSksITEpOnVwKFN0cmluZyhhKSwhMCl9LEJwPXsiXHgwMCI6IiYjMDsiLCJcdCI6IiYjOTsiLCJcbiI6IiYjMTA7IiwiXHYiOiImIzExOyIsIlxmIjoiJiMxMjsiLCJcciI6IiYjMTM7IiwKIiAiOiImIzMyOyIsJyInOiImcXVvdDsiLCImIjoiJmFtcDsiLCInIjoiJiMzOTsiLCItIjoiJiM0NTsiLCIvIjoiJiM0NzsiLCI8IjoiJmx0OyIsIj0iOiImIzYxOyIsIj4iOiImZ3Q7IiwiYCI6IiYjOTY7IiwiXHUwMDg1IjoiJiMxMzM7IiwiXHUwMGEwIjoiJiMxNjA7IiwiXHUyMDI4IjoiJiM4MjMyOyIsIlx1MjAyOSI6IiYjODIzMzsifSxDcD1mdW5jdGlvbihhKXtyZXR1cm4gQnBbYV19LERwPXsiXHgwMCI6IlxceDAwIiwiXGIiOiJcXHgwOCIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcdiI6IlxceDBiIiwiXGYiOiJcXGYiLCJcciI6IlxcciIsJyInOiJcXHgyMiIsJDoiXFx4MjQiLCImIjoiXFx4MjYiLCInIjoiXFx4MjciLCIoIjoiXFx4MjgiLCIpIjoiXFx4MjkiLCIqIjoiXFx4MmEiLCIrIjoiXFx4MmIiLCIsIjoiXFx4MmMiLCItIjoiXFx4MmQiLCIuIjoiXFx4MmUiLCIvIjoiXFwvIiwiOiI6IlxceDNhIiwiPCI6IlxceDNjIiwiPSI6IlxceDNkIiwiPiI6IlxceDNlIiwiPyI6IlxceDNmIiwKIlsiOiJcXHg1YiIsIlxcIjoiXFxcXCIsIl0iOiJcXHg1ZCIsIl4iOiJcXHg1ZSIsInsiOiJcXHg3YiIsInwiOiJcXHg3YyIsIn0iOiJcXHg3ZCIsIlx1MDA4NSI6IlxceDg1IiwiXHUyMDI4IjoiXFx1MjAyOCIsIlx1MjAyOSI6IlxcdTIwMjkifSxFcD1mdW5jdGlvbihhKXtyZXR1cm4gRHBbYV19LEZwPXsiXHgwMCI6IlxcMCAiLCJcYiI6IlxcOCAiLCJcdCI6IlxcOSAiLCJcbiI6IlxcYSAiLCJcdiI6IlxcYiAiLCJcZiI6IlxcYyAiLCJcciI6IlxcZCAiLCciJzoiXFwyMiAiLCImIjoiXFwyNiAiLCInIjoiXFwyNyAiLCIoIjoiXFwyOCAiLCIpIjoiXFwyOSAiLCIqIjoiXFwyYSAiLCIvIjoiXFwyZiAiLCI6IjoiXFwzYSAiLCI7IjoiXFwzYiAiLCI8IjoiXFwzYyAiLCI9IjoiXFwzZCAiLCI+IjoiXFwzZSAiLCJAIjoiXFw0MCAiLCJcXCI6IlxcNWMgIiwieyI6IlxcN2IgIiwifSI6IlxcN2QgIiwiXHUwMDg1IjoiXFw4NSAiLCJcdTAwYTAiOiJcXGEwICIsIlx1MjAyOCI6IlxcMjAyOCAiLAoiXHUyMDI5IjoiXFwyMDI5ICJ9LEdwPWZ1bmN0aW9uKGEpe3JldHVybiBGcFthXX0sSHA9eyJceDAwIjoiJTAwIiwiXHUwMDAxIjoiJTAxIiwiXHUwMDAyIjoiJTAyIiwiXHUwMDAzIjoiJTAzIiwiXHUwMDA0IjoiJTA0IiwiXHUwMDA1IjoiJTA1IiwiXHUwMDA2IjoiJTA2IiwiXHUwMDA3IjoiJTA3IiwiXGIiOiIlMDgiLCJcdCI6IiUwOSIsIlxuIjoiJTBBIiwiXHYiOiIlMEIiLCJcZiI6IiUwQyIsIlxyIjoiJTBEIiwiXHUwMDBlIjoiJTBFIiwiXHUwMDBmIjoiJTBGIiwiXHUwMDEwIjoiJTEwIiwiXHUwMDExIjoiJTExIiwiXHUwMDEyIjoiJTEyIiwiXHUwMDEzIjoiJTEzIiwiXHUwMDE0IjoiJTE0IiwiXHUwMDE1IjoiJTE1IiwiXHUwMDE2IjoiJTE2IiwiXHUwMDE3IjoiJTE3IiwiXHUwMDE4IjoiJTE4IiwiXHUwMDE5IjoiJTE5IiwiXHUwMDFhIjoiJTFBIiwiXHUwMDFiIjoiJTFCIiwiXHUwMDFjIjoiJTFDIiwiXHUwMDFkIjoiJTFEIiwiXHUwMDFlIjoiJTFFIiwiXHUwMDFmIjoiJTFGIiwKIiAiOiIlMjAiLCciJzoiJTIyIiwiJyI6IiUyNyIsIigiOiIlMjgiLCIpIjoiJTI5IiwiPCI6IiUzQyIsIj4iOiIlM0UiLCJcXCI6IiU1QyIsInsiOiIlN0IiLCJ9IjoiJTdEIiwiXHUwMDdmIjoiJTdGIiwiXHUwMDg1IjoiJUMyJTg1IiwiXHUwMGEwIjoiJUMyJUEwIiwiXHUyMDI4IjoiJUUyJTgwJUE4IiwiXHUyMDI5IjoiJUUyJTgwJUE5IiwiXHVmZjAxIjoiJUVGJUJDJTgxIiwiXHVmZjAzIjoiJUVGJUJDJTgzIiwiXHVmZjA0IjoiJUVGJUJDJTg0IiwiXHVmZjA2IjoiJUVGJUJDJTg2IiwiXHVmZjA3IjoiJUVGJUJDJTg3IiwiXHVmZjA4IjoiJUVGJUJDJTg4IiwiXHVmZjA5IjoiJUVGJUJDJTg5IiwiXHVmZjBhIjoiJUVGJUJDJThBIiwiXHVmZjBiIjoiJUVGJUJDJThCIiwiXHVmZjBjIjoiJUVGJUJDJThDIiwiXHVmZjBmIjoiJUVGJUJDJThGIiwiXHVmZjFhIjoiJUVGJUJDJTlBIiwiXHVmZjFiIjoiJUVGJUJDJTlCIiwiXHVmZjFkIjoiJUVGJUJDJTlEIiwiXHVmZjFmIjoiJUVGJUJDJTlGIiwKIlx1ZmYyMCI6IiVFRiVCQyVBMCIsIlx1ZmYzYiI6IiVFRiVCQyVCQiIsIlx1ZmYzZCI6IiVFRiVCQyVCRCJ9LElwPWZ1bmN0aW9uKGEpe3JldHVybiBIcFthXX0sSnA9L1tceDAwXHgyMlx4MjZceDI3XHgzY1x4M2VdL2csS3A9ZnVuY3Rpb24oYSl7cmV0dXJuIHdwKGEsXy5xbCk/YTphIGluc3RhbmNlb2YgXy5EYz8oMCxfLnRsKShfLmtqKGEpLnRvU3RyaW5nKCkpOigwLF8udGwpKFN0cmluZyhTdHJpbmcoYSkpLnJlcGxhY2UoSnAsQ3ApLHJwKGEpKX0sTHA9L1tceDAwXHgyMlx4MjdceDNjXHgzZV0vZyxNcD1mdW5jdGlvbihhKXtyZXR1cm4geG0oU3RyaW5nKGEpLGZ1bmN0aW9uKCl7cmV0dXJuIiJ9KS5yZXBsYWNlKHRwLCImbHQ7Iil9LFA9ZnVuY3Rpb24oYSl7d3AoYSxfLnFsKT8oYT1NcChhLm1hKCkpLGE9U3RyaW5nKGEpLnJlcGxhY2UoTHAsQ3ApKTphPVN0cmluZyhhKS5yZXBsYWNlKEpwLENwKTtyZXR1cm4gYX0sTnA9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI2XHgyN1x4MmRcL1x4M2MtXHgzZWBceDg1XHhhMFx1MjAyOFx1MjAyOV0vZywKT3A9L1tceDAwXHgwOS1ceDBkIFx4MjJceDI3XHgyZFwvXHgzYy1ceDNlYFx4ODVceGEwXHUyMDI4XHUyMDI5XS9nLFBwPS9bXHgwMFx4MDgtXHgwZFx4MjJceDI2XHgyN1wvXHgzYy1ceDNlXHg1Yi1ceDVkXHg3Ylx4N2RceDg1XHUyMDI4XHUyMDI5XS9nLFFwPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIiBudWxsICI7aWYod3AoYSxZbykpcmV0dXJuIGEubWEoKTtpZihhIGluc3RhbmNlb2YgXy5QYSlyZXR1cm4gXy5SYShhKS50b1N0cmluZygpO3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpyZXR1cm4iICIrYSsiICI7ZGVmYXVsdDpyZXR1cm4iJyIrU3RyaW5nKFN0cmluZyhhKSkucmVwbGFjZShQcCxFcCkrIicifX0sUnA9L1tceDAwXHgwOC1ceDBkXHgyMlx4MjYtXHgyYVwvXHgzYS1ceDNlQFxcXHg3Ylx4N2RceDg1XHhhMFx1MjAyOFx1MjAyOV0vZyxTcD0vW1x4MDAtIFx4MjJceDI3LVx4MjlceDNjXHgzZVxcXHg3Ylx4N2RceDdmXHg4NVx4YTBcdTIwMjhcdTIwMjlcdWZmMDFcdWZmMDNcdWZmMDRcdWZmMDYtXHVmZjBjXHVmZjBmXHVmZjFhXHVmZjFiXHVmZjFkXHVmZjFmXHVmZjIwXHVmZjNiXHVmZjNkXS9nLApUcD0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxVcD1mdW5jdGlvbihhKXt3cChhLFpvKXx8d3AoYSwkbyk/YT1TdHJpbmcoYSkucmVwbGFjZShTcCxJcCk6YSBpbnN0YW5jZW9mIF8uTGE/KGE9Xy5OYShhKS50b1N0cmluZygpLGE9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApKTooYT1TdHJpbmcoYSksYT1UcC50ZXN0KGEpP2EucmVwbGFjZShTcCxJcCk6ImFib3V0OmludmFsaWQjelNveXoiKTtyZXR1cm4gYX0sVnA9L15bXiY6XC8/I10qKD86W1wvPyNdfCQpfF5odHRwcz86fF5maWxlc3lzdGVtOmh0dHBzPzp8XmZ0cDp8XmRhdGE6aW1hZ2VcL1thLXowLTkrLV0rO2Jhc2U2NCxbYS16MC05K1wvXSs9KiR8XmJsb2I6L2ksV3A9ZnVuY3Rpb24oYSl7d3AoYSxabyl8fHdwKGEsJG8pP2E9U3RyaW5nKGEpLnJlcGxhY2UoU3AsSXApOmEgaW5zdGFuY2VvZiBfLkxhPyhhPV8uTmEoYSkudG9TdHJpbmcoKSxhPVN0cmluZyhhKS5yZXBsYWNlKFNwLApJcCkpOihhPVN0cmluZyhhKSxhPVZwLnRlc3QoYSk/YS5yZXBsYWNlKFNwLElwKToiYWJvdXQ6aW52YWxpZCN6U295eiIpO3JldHVybiBhfSx5cD0vXig/IW9ufHNyY3woPzphY3Rpb258YXJjaGl2ZXxiYWNrZ3JvdW5kfGNpdGV8Y2xhc3NpZHxjb2RlYmFzZXxjb250ZW50fGRhdGF8ZHN5bmN8aHJlZnxodHRwLWVxdWl2fGxvbmdkZXNjfHN0eWxlfHVzZW1hcClccyokKSg/OlthLXowLTlfJDotXSopJC9pLFhwPS9eW2EtekEtWjAtOStcL18tXSs9ezAsMn0kLyxZcD1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtyZXR1cm4gWHAudGVzdChhKT9hOiJ6U295eiJ9LFpwPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihacCxfLkopO3ZhciBDbT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgWnA7cmV0dXJuIEdsKGIsMyxhLF8uQmopfTt2YXIgJHA9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKCRwLF8uSik7JHAucHJvdG90eXBlLkphPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDIpfTskcC5wcm90b3R5cGUuTmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMixhKX07JHAucHJvdG90eXBlLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIF8uTih0aGlzLDMpfTskcC5wcm90b3R5cGUubmE9ZnVuY3Rpb24oYSl7cmV0dXJuIHNuKHRoaXMsMyxhKX07dmFyIGFxPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihhcSxfLkopO3ZhciBicT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoYnEsXy5KKTt2YXIgY3E9Xy5NaihicSk7dmFyIGRxPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhfX0sZXE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGIubGVuZ3RoLTI7Yys9Myl7dmFyIGQ9Yi5jaGFyQXQoYysyKTtkPWQ+PSJhIj9kLmNoYXJDb2RlQXQoMCktODc6TnVtYmVyKGQpO2Q9Yi5jaGFyQXQoYysxKT09IisiP2E+Pj5kOmE8PGQ7YT1iLmNoYXJBdChjKT09IisiP2ErZCY0Mjk0OTY3Mjk1OmFeZH1yZXR1cm4gYX0sZ3E9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWZxLnNwbGl0KCIuIiksYz1OdW1iZXIoYlswXSl8fDAsZD1bXSxlPTAsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZz1hLmNoYXJDb2RlQXQoZik7ZzwxMjg/ZFtlKytdPWc6KGc8MjA0OD9kW2UrK109Zz4+NnwxOTI6KChnJjY0NTEyKT09NTUyOTYmJmYrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChmKzEpJjY0NTEyKT09NTYzMjA/KGc9NjU1MzYrKChnJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2YpJjEwMjMpLGRbZSsrXT0KZz4+MTh8MjQwLGRbZSsrXT1nPj4xMiY2M3wxMjgpOmRbZSsrXT1nPj4xMnwyMjQsZFtlKytdPWc+PjYmNjN8MTI4KSxkW2UrK109ZyY2M3wxMjgpfWE9Yztmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKWErPWRbZV0sYT1lcShhLCIrLWFeKzYiKTthPWVxKGEsIistM14rYistZiIpO2FePU51bWJlcihiWzFdKXx8MDthPDAmJihhPShhJjIxNDc0ODM2NDcpKzIxNDc0ODM2NDgpO2I9YSUxRTY7cmV0dXJuIGIudG9TdHJpbmcoKSsiLiIrKGJeYyl9LGhxPWZ1bmN0aW9uKCl7dmFyIGE9ZHEoU3RyaW5nLmZyb21DaGFyQ29kZSgxMTYpKSxiPWRxKFN0cmluZy5mcm9tQ2hhckNvZGUoMTA3KSk7YT1bYSgpLGEoKV07YVsxXT1iKCk7cmV0dXJuIGEuam9pbigiIil9O3ZhciBpcT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoaXEsXy5KKTt2YXIganE9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKGpxLF8uSik7dmFyIGtxPV8uTWooanEpO3ZhciBscT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIobHEsXy5KKTt2YXIgT249IiIsbXE9InByb2QiLG5xPSIiLG9xPSJlbiIsQW49IiIscHE9bmV3IGpxLHFxPSExLHJxPW5ldyBEYXRlLHNxPXt9LEJuPTAsdHE9InRlIixmcT0iIix1cT0iIix2cT0iaHR0cHM6Ly8iLHdxPSIiLHhxPSIiLHlxPSIiLHpxPSIiLEFxPSIiLEJxPSIiLENxPSJodHRwczovL3d3dy5nb29nbGUuY29tL2ltYWdlcy9jbGVhcmRvdC5naWYiLERxPSJodHRwczovL3d3dy5nc3RhdGljLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xlbG9nby8xeC9nb29nbGVsb2dvX2NvbG9yXzY4eDI4ZHAucG5nIixFcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMXgvdHJhbnNsYXRlXzI0ZHAucG5nIixGcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl80MngxNmRwLnBuZyIsR3E9Imh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZS5jb20iLEhxPSIiLElxPSIiLEpxPSIiLEtxPQpmdW5jdGlvbigpe0hxPSIvLyIrQnErIi90cmFuc2xhdGVfc3VnZ2VzdGlvbj9jbGllbnQ9Iit0cTtJcT0iLy8iK3VxKyIvdHJhbnNsYXRlX3ZvdGluZz9jbGllbnQ9Iit0cTtKcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9zdXBwb3J0L3RyYW5zbGF0ZSIrKG9xPT0iZW4iPyIiOiIjZ29vZ3RyYW5zL2VuLyIrb3EpfSxMcT1mdW5jdGlvbihhKXtPbj13aW5kb3cuZ29vZ2xlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUudnx8IiI7bXE9YS5fY2Vudnx8InByb2QiO25xPWEuVWd8fCIiO29xPWEuX2NsfHwiZW4iO0FuPWEuX2N1YztwcT1hLl9jZWY/a3EoYS5fY2VmKTpuZXcganE7cXE9YS5fY25hZDtycT1hLl9jZXN0fHxuZXcgRGF0ZTtzcT1hLl9jbmFsfHx7fTtCbj1hLl9jYW09PSJsaWIiPzE6MDt0cT0oYS5fY2FjfHwidGUiKSsoQm49PTE/Il9saWIiOiIiKTtmcT1mdW5jdGlvbigpe2Z1bmN0aW9uIGIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGV9fQp2YXIgYz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEwNyksZD1iKFN0cmluZy5mcm9tQ2hhckNvZGUoMTE2KSk7Yz1iKGMpO2Q9W2QoKSxkKCldO2RbMV09YygpO3JldHVybiBhWyJfYyIrZC5qb2luKGMoKSldfHwiIn0oKTt1cT1hLl9wYWh8fCIiO3ZxPWEuX3Bhc3x8Imh0dHBzOi8vIjt3cT1hLl9wYml8fCIiO3hxPWEuX3BjaXx8IiI7eXE9YS5fcGxsYXx8IiI7enE9YS5fcGxpfHwiIjtBcT1hLl9wc3x8IiI7QnE9YS5fcHVofHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKX07d2luZG93Lmdvb2dsZSYmd2luZG93Lmdvb2dsZS50cmFuc2xhdGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlLl9jb25zdD9McSh3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpOkxxKHtfY2FjOiIiLF9jYW06IiIsX2NlZjoiIixfY2VzdDpuZXcgRGF0ZSxfY2VudjoiIixVZzoiIixfY2dhazoiIixfY2psYzoiIixfY2w6IiIsX2NsbDoiIixfY3VjOiIiLF9jbmFkOiExLF9jbmFsOnt9LENrOiIiLF9wYWg6IiIsX3BhczoiIixfcGJpOiIiLF9wY2k6IiIsX3BoZjoiIixfcGxpOiIiLF9wbGxhOiIiLF9wbWk6IiIsX3BzOiIiLF9wdGE6IiIsX3B1aDoiIn0pO3ZhciBNcT1mdW5jdGlvbihhLGIpe3RoaXMuZz1hO3RoaXMubz1ifSxCbT1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgVHlwZUVycm9yKCJxYWAiK2IrImAiK2EuZysiYCIrYS5vKyJgIit0eXBlb2YgYS5vKX07TXEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vO2lmKGE9PW51bGwpYT1udWxsO2Vsc2UgaWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBCbSh0aGlzLCJzdHJpbmciKTtpZihhPT09bnVsbCl0aHJvdyBFcnJvcigicGFgIit0aGlzLmcpO3JldHVybiBhfTsKdmFyIEFtPWZ1bmN0aW9uKCl7dmFyIGE9YT09PXZvaWQgMD93aW5kb3c6YTthPWE9PT12b2lkIDA/d2luZG93OmE7YT1hPT09dm9pZCAwP3dpbmRvdzphO2E9YS5XSVpfZ2xvYmFsX2RhdGE7YT1uZXcgTXEoInhXdXVHYyIsYSYmInhXdXVHYyJpbiBhP2EueFd1dUdjOm51bGwpO3ZhciBiPVtdLGM9TnEoYSk7cmV0dXJuIGM9PT1udWxsP09xKGEsYik6Y30sTnE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5vO2lmKGI9PW51bGwpcmV0dXJuIG51bGw7QXJyYXkuaXNBcnJheShiKXx8KHR5cGVvZiBiIT09InN0cmluZyI/Yj1bYl06KGI9Yi50cmltKCksYj1iPT0iIj9bXTpiLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBjLnRyaW0oKX0pKSk7cmV0dXJuIE9xKGEsYil9LE9xPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nKyJbIjtyZXR1cm4gQXJyYXkuZnJvbShiLGZ1bmN0aW9uKGQsZSl7cmV0dXJuIG5ldyBNcShjK2UrIl0iLGQpfSl9OwpNcS5wcm90b3R5cGUub2JqZWN0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubztpZihiPT1udWxsKXtpZihhPT09dm9pZCAwKXRocm93IEVycm9yKCJwYWAiK3RoaXMuZyk7cmV0dXJuIGF9aWYodHlwZW9mIGI9PT0ib2JqZWN0IiYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7YT17fTt2YXIgYz10aGlzLmcrIi4iLGQ7Zm9yKGQgaW4gYilhW2RdPW5ldyBNcShjK2QsYltkXSk7cmV0dXJuIGF9dGhyb3cgQm0odGhpcywib2JqZWN0Iik7fTt2YXIgUHE9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmc9YT1hPT09dm9pZCAwP0RtKCk6YX07UHEucHJvdG90eXBlLmxvZz1mdW5jdGlvbihhKXtfLmFsKHRoaXMuZyxhKX07dmFyIFFxPW5ldyBQcTt2YXIgUnE9RW0oImluaXRpYWxpemVkIiksU3E9RW0oImluaXRpYXRlZCIpLFRxPUVtKCJyZXN0b3JlZCIpLFVxPUVtKCJwYWdlX2xvYWRfdG9faW5pdGlhbGl6ZWQiKSxWcT1FbSgiaW5pdGlhbGl6YXRpb25fdG9fdHJhbnNsYXRpb25fdHJpZ2dlcmVkIik7dmFyIFdxPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4YiI7aWYoYS54YiYmYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4gYS54YjtiPW5ldyBhO3JldHVybiBhLnhiPWJ9Oy8qCgpNYXRoLnV1aWQuanMgKHYxLjQpCmh0dHA6Ly93d3cuYnJvb2ZhLmNvbQptYWlsdG86cm9iZXJ0QGJyb29mYS5jb20KQ29weXJpZ2h0IChjKSAyMDEwIFJvYmVydCBLaWVmZmVyCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzLgoqLwp2YXIgWHE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7Zm9yKHZhciBZcSxacT1BcnJheSgzNiksJHE9MCxhcixicj0wO2JyPDM2O2JyKyspYnI9PTh8fGJyPT0xM3x8YnI9PTE4fHxicj09MjM/WnFbYnJdPSItIjpicj09MTQ/WnFbYnJdPSI0IjooJHE8PTImJigkcT0zMzU1NDQzMitNYXRoLnJhbmRvbSgpKjE2Nzc3MjE2fDApLGFyPSRxJjE1LCRxPj49NCxacVticl09WHFbYnI9PTE5P2FyJjN8ODphcl0pO1lxPVpxLmpvaW4oIiIpOwp2YXIgY3I9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1hPWE9PT12b2lkIDA/WXE6YTt0aGlzLkViPWI9PT12b2lkIDA/IiI6Yjt0aGlzLkZiPWM9PT12b2lkIDA/IiI6Y30sZ3I9ZnVuY3Rpb24oYSl7dmFyIGI9ZHIoYSw3KTtlcihhLGIpO2ZyKGIsNyl9LGhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5sYj09PXZvaWQgMD8wOmIubGI7dmFyIGQ9Yi5NZj09PXZvaWQgMD8wOmIuTWY7dmFyIGU9Yi5nZz09PXZvaWQgMD8wOmIuZ2c7dmFyIGY9Yi5MZj09PXZvaWQgMD8wOmIuTGY7Yj1kcihhLDgpO2VyKGEsYik7YT1uZXcgUm47Yz1fLmlrKGEsMSxjKTtkPV8uaWsoYywzLGQpO2U9Xy5payhkLDIsZSk7ZT1fLmlrKGUsNCxmKTtmPVVuKGIpO18uTChmLDYsZSk7TWF0aC5yYW5kb20oKT49LjAwNXx8KGI9Xy5MayhObig4KSxfLldqKGIpKSxRcS5sb2coYikpfSxkcj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBfLmxsO2M9Xy5UaihjLDUwLG9xKTt2YXIgZD1uZXcgVG47Yj1fLmtrKGQsMSxiKTsKYj1fLlRqKGIsMix0cSk7YT1fLlRqKGIsMyxhLmcpO3JldHVybiBfLkwoYywxMTIsYSl9LGZyPWZ1bmN0aW9uKGEsYil7YT1fLkxrKE5uKGIpLF8uV2ooYSkpO1FxLmxvZyhhKX0sZXI9ZnVuY3Rpb24oYSxiKXtiLk5hKGEuRWIpO2IubmEoYS5GYil9O3ZhciBpcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz0wO2M8YS5sZW5ndGg7KytjKWJbYVtjXV09ITA7cmV0dXJuIGJ9LGpyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hP1thXTpbXTt0aGlzLmc9WzBdO3RoaXMuaj0hMX07anIucHJvdG90eXBlLnBhc3NlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmp9O2pyLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhKXtpZih0aGlzLmopcmV0dXJuIGF8fGZ1bmN0aW9uKCl7fTt0aGlzLmcucHVzaCgwKTt2YXIgYj10aGlzLmcubGVuZ3RoLTE7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe3RoaXMuZ1tiXSsrO2EmJmEuYXBwbHkobnVsbCxhcmd1bWVudHMpO2tyKHRoaXMpfSx0aGlzKX07CmpyLnByb3RvdHlwZS5kZWxheT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qP2E6KDAsXy55KShmdW5jdGlvbigpe2lmKHRoaXMuailhLmFwcGx5KG51bGwsYXJndW1lbnRzKTtlbHNle3ZhciBiPWFyZ3VtZW50czt0aGlzLmgucHVzaChmdW5jdGlvbigpe2EuYXBwbHkobnVsbCxiKX0pfX0sdGhpcyl9O2pyLnByb3RvdHlwZS5maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLmdbMF09MTtrcih0aGlzKX07CnZhciBrcj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEuZy5sZW5ndGg7KytiKWlmKGEuZ1tiXT09MClyZXR1cm47YS5qPSEwO2ZvcihiPTA7YjxhLmgubGVuZ3RoOysrYil7dmFyIGM9YS5oW2JdO2EuaFtiXT1udWxsO2MuY2FsbCgpfWEuaD1bXTthLmc9W119LGxyPWZ1bmN0aW9uKGEpe3RoaXMuaj1hO3RoaXMuaD10aGlzLmc9ITF9LG1yPWZ1bmN0aW9uKGEsYil7cmV0dXJuKDAsXy55KShmdW5jdGlvbigpe2ImJmIuYXBwbHkobnVsbCxhcmd1bWVudHMpO3RoaXMuaD90aGlzLmd8fCh0aGlzLmouY2FsbCgpLHRoaXMuZz0hMCk6dGhpcy5nPSEwfSxhKX07bHIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMuaHx8KHRoaXMuaD0hMCx0aGlzLmcmJnRoaXMuai5jYWxsKCkpfTt2YXIgbnI9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuQj1hO3RoaXMuQT1jfHwwO3RoaXMuaj10aGlzLmg9ITF9LG9yPWZ1bmN0aW9uKGEpe2EuaHx8YS5vKCl9Owpuci5wcm90b3R5cGUubz1mdW5jdGlvbigpeyh0aGlzLmg9KHRoaXMuaj0hIXRoaXMuQi5jYWxsKCkpfHwtLXRoaXMuQTw9MCk/KHRoaXMuZy5jYWxsKG51bGwsdGhpcy5qKSx0aGlzLmw9MCk6dGhpcy5sPXdpbmRvdy5zZXRUaW1lb3V0KCgwLF8ueSkodGhpcy5vLHRoaXMpLDMwKX07bnIucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe3RoaXMubCYmd2luZG93LmNsZWFyVGltZW91dCh0aGlzLmwpO3RoaXMuaD0hMDt0aGlzLmcuY2FsbChudWxsLHRoaXMuail9Owp2YXIgcHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXthLmRpc3BhdGNoRXZlbnQoYil9fSxxcj1mdW5jdGlvbihhKXthPV8uQWMoYSkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCJfIiwiLSIpO2lmKGE9PSJ6aC1jbiIpcmV0dXJuInpoLUNOIjtpZihhPT0iemgtdHciKXJldHVybiJ6aC1UVyI7dmFyIGI9YS5pbmRleE9mKCItIik7YT1iPj0wP2Euc3Vic3RyaW5nKDAsYik6YTtyZXR1cm4gYT09InpoIj8iemgtQ04iOmF9LHJyPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM7Zm9yKGMgaW4gYSlpZihhW2NdIT09T2JqZWN0LnByb3RvdHlwZVtjXSl7dmFyIGQ9Xy5HYihjKTtpZihfLm9jKGFbY10pPT0iYXJyYXkiKWZvcih2YXIgZT0wO2U8YVtjXS5sZW5ndGg7KytlKWIucHVzaChkKyI9IitfLkdiKGFbY11bZV0pKTtlbHNlIGIucHVzaChkKyI9IitfLkdiKGFbY10pKX1yZXR1cm4gYi5qb2luKCImIil9LFFtPWZ1bmN0aW9uKGEsYil7Yj1ifHx7fTtiLm5jYT1hO2IuY2xpZW50PXRxOwpPbiYmKGIubG9nbGQ9InYiK09uKTt2YXIgYz1uZXcgSW1hZ2U7Yy5zcmM9Ii8vIitCcSsiL2dlbjIwND8iK3JyKGIpO2Mub25sb2FkPWZ1bmN0aW9uKCl7Yy5vbmxvYWQ9bnVsbH19LHRyPWZ1bmN0aW9uKGEsYil7aWYoKF8uU2N8fF8uUmMpJiZ3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUhPWRvY3VtZW50LmRvbWFpbil7c3I9c3I/c3IrMToxO3ZhciBjPSJmIitzcisiXyIrRGF0ZS5ub3coKS50b1N0cmluZygzNik7d2luZG93W2NdPWZ1bmN0aW9uKCl7d2luZG93W2NdPXZvaWQgMDthLnNyYz0iIyI7YiYmd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiKCl9LDApfTthLnNyYz0iamF2YXNjcmlwdDp2b2lkKGRvY3VtZW50LndyaXRlKFwiPHNjcmlwdD5kb2N1bWVudC5kb21haW49JyIrZG9jdW1lbnQuZG9tYWluKyInO3BhcmVudFsnIitjKyInXSgpO1x4M2Mvc2NyaXB0PlwiKSkifWVsc2UgYiYmYigpfSxzcix1cj1mdW5jdGlvbigpe3ZhciBhPXt9O3RyeXtmb3IodmFyIGIgaW4gT2JqZWN0LnByb3RvdHlwZSl7dmFyIGM9Ck9iamVjdC5wcm90b3R5cGVbYl07ZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbYl07YVtiXT1jfX1jYXRjaChkKXtyZXR1cm57fX1yZXR1cm4gYX0sdnI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiIGluIGEpT2JqZWN0LnByb3RvdHlwZVtiXT1hW2JdfSx3cj1mdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSlyZXR1cm4hMTtyZXR1cm4hMH0seHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSE9ImF1dG8iJiZhIT0iemgtQ04iJiZhPT1ifSx5cj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLm1hdGNoKC9nb29nbGVcLnRyYW5zbGF0ZVwuZWxlbWVudFwuc3A9KFteJl0rKS8pO3JldHVybiBhJiZhWzFdP2FbMV06bnVsbH07dmFyIFBtPW51bGwsenI9bnVsbCxBcj1mdW5jdGlvbigpe307QXIucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkIGluIGMpY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0mJihiW2RdPXR5cGVvZiBjW2RdPT09ImZ1bmN0aW9uIj9jW2RdOl8uWmooUm0sYSxOdW1iZXIoY1tkXSkpKX07dmFyIENyPWZ1bmN0aW9uKCl7UG0mJkJyKCk7UG09W107enI9Xy54KHdpbmRvdywicGFnZWhpZGUiLGZ1bmN0aW9uKCl7QnIoKX0pfSxCcj1mdW5jdGlvbigpe3pyJiYoXy5WZCh6ciksenI9bnVsbCk7UG0mJlBtLmxlbmd0aCYmUW0oUG0uam9pbigiIikpO1BtPW51bGx9LERyPW5ldyBBcjt2YXIgRXI9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKEVyLF8uSik7dmFyIFRtPV8uS2koRXIpO3ZhciBTbTt2YXIgRnI9ZnVuY3Rpb24oYSl7dGhpcy51cmw9YTt0aGlzLnRpbWVvdXQ9LTE7dGhpcy5qPXRoaXMuaD0iY2FsbGJhY2siO3RoaXMuZz10aGlzLndiPW51bGx9LEpyPWZ1bmN0aW9uKGEsYil7Yj1iPT09dm9pZCAwP3t9OmI7YS5nPUdvKCk7dmFyIGM9bmV3IFpsKGEudXJsKSxkPW5ldyBNYXA7YS5qJiZkLnNldChhLmosYS5oKTtjLmcuZXh0ZW5kKFhvKGIpLGQpO0dyKGEpLnRoZW4oZnVuY3Rpb24oKXtIcihhLGMudG9TdHJpbmcoKSl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZy5wcm9taXNlfSkudGhlbihmdW5jdGlvbigpe0lyKGEpfSxmdW5jdGlvbigpe0lyKGEpfSk7YS50aW1lb3V0PjAmJihhLmw9c2V0VGltZW91dChmdW5jdGlvbigpe2EuZy5yZWplY3QoRXJyb3IoInJhIikpfSxhLnRpbWVvdXQpKTtyZXR1cm4gYS5nLnByb21pc2V9LEhyPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1lc3NhZ2VDaGFubmVsO2Eud2IuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSh7dXJsOmIsCmNhbGxiYWNrTmFtZTphLmh9LCIqIixbYy5wb3J0Ml0pO2MucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKGQpe3ZhciBlPXt9O2EubCE9PXZvaWQgMCYmKGNsZWFyVGltZW91dChhLmwpLGEubD12b2lkIDApO2QuZGF0YT09PXZvaWQgMCYmYS5nLnJlamVjdChFcnJvcigic2EiKSk7dHlwZW9mIGQuZGF0YSE9PSJzdHJpbmciJiZhLmcucmVqZWN0KEVycm9yKCJ0YSIpKTt0cnl7ZT1KU09OLnBhcnNlKGQuZGF0YSl9Y2F0Y2goZil7YS5nLnJlamVjdChFcnJvcigidWFgIitmLm1lc3NhZ2UpKX1hLmcucmVzb2x2ZShlKX19LEdyPWZ1bmN0aW9uKGEpe3ZhciBiPUdvKCksYz1fLndkKGRvY3VtZW50LCJJRlJBTUUiKTtpZighYy5zYW5kYm94KXRocm93IEVycm9yKCJ2YSIpO2Muc2FuZGJveC52YWx1ZT0iYWxsb3ctc2NyaXB0cyI7Yy5zdHlsZS5kaXNwbGF5PSJub25lIjthLndiPWM7YT1WbSgpO2E9U2woW18ubWwoIjwhRE9DVFlQRSBodG1sPiIpLFlsKFFsKGEpKV0pO2Muc3JjZG9jPV8ua2ooYSk7CmE9RmwoImRhdGE6dGV4dC9odG1sO2NoYXJzZXQ9VVRGLTg7YmFzZTY0LCIrYnRvYShfLmtqKGEpLnRvU3RyaW5nKCkpKTtjLnNyYz1fLk5hKGEpLnRvU3RyaW5nKCk7Yy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe3JldHVybiBiLnJlc29sdmUoYyl9LCExKTtjLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixmdW5jdGlvbihkKXtiLnJlamVjdChkIGluc3RhbmNlb2YgRXJyb3I/ZDpFcnJvcihTdHJpbmcoZCkpKX0sITEpO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChjKTtyZXR1cm4gYi5wcm9taXNlfSxJcj1mdW5jdGlvbihhKXthLndiIT09bnVsbCYmKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZChhLndiKSxhLndiPW51bGwpfTt2YXIgS3I9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9bmV3IFpsKGEpO2lmKGIpZm9yKHZhciBjIGluIGIpYltjXSE9PU9iamVjdC5wcm90b3R5cGVbY10mJnRoaXMuZy5nLnNldChjLGJbY10pfTtfLkIoS3IsXy51KTtLci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07S3IucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVGEoKX07S3IucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gXy5ZaShudWxsKX07S3IucHJvdG90eXBlLmNhbmNlbD1mdW5jdGlvbigpe307dmFyIExyPWZ1bmN0aW9uKGEsYixjKXtLci5jYWxsKHRoaXMsYSxiKTthPXRoaXMuaD1uZXcgRnIodGhpcy5nKTthLmg9ImNhbGxiYWNrIjthLmo9Yz09PXZvaWQgMD8iY2FsbGJhY2siOmN9O18uQihMcixLcik7THIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuITB9OwpMci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihhKXtyZXR1cm4gSnIodGhpcy5oLGEpfTtMci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe2EuY2FuY2VsKCl9O3ZhciBNcj1mdW5jdGlvbihhLGIpe0tyLmNhbGwodGhpcyxhLGIpO3RoaXMuaD17fTt0aGlzLmo9MH07Xy5CKE1yLEtyKTtNci5wcm90b3R5cGUuVGE9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Ck1yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz11cigpLGQ9Kyt0aGlzLmosZT17fSxmPXt9OyJxImluIGEmJihmLnE9YS5xLGRlbGV0ZSBhLnEpO2UuaGE9bmV3IF8uV2Y7dGhpcy5nLmguZW5kc1dpdGgoIi5jb3JwLmdvb2dsZS5jb20iKSYmKGUuaGEuQz0hMCk7dmFyIGc9bmV3IF8ub2UoZnVuY3Rpb24oaCxrKXtfLngoZS5oYSwiY29tcGxldGUiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpe2lmKF8uZ2coZS5oYSkpe3ZhciBsPV8uaWcoZS5oYSk7TnIoYixkKTtyZXR1cm4gaChsKX1iLnhpKCk7bD1fLmlnKGUuaGEpO05yKGIsZCk7cmV0dXJuIGsobCl9fSk7Xy54KGUuaGEsInRpbWVvdXQiLGZ1bmN0aW9uKCl7aWYoIWUuUmUpcmV0dXJuIGIuemkoKSxOcihiLGQpLGsoKX0pfSk7ZS5oYS5zZW5kKHRoaXMuZy50b1N0cmluZygpKyImIitycihhKSwiUE9TVCIscnIoZikseyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSk7CnRoaXMuaFtkXT1lO3ZyKGMpO3JldHVybiBnfTtNci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaFthXTtiJiYoYi5SZT0hMCxOcih0aGlzLGEpKX07dmFyIE5yPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oW2JdO2MmJihjLmhhJiYoYy5oYS5kaXNwb3NlKCksYy5oYT1udWxsKSxkZWxldGUgYS5oW2JdKX07TXIucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtLci5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO2Zvcih2YXIgYSBpbiB0aGlzLmgpdGhpcy5jYW5jZWwoYSl9O0RyLmF0dGFjaCgxNzE3MCxNci5wcm90b3R5cGUse3ppOjEseGk6Mn0pO3ZhciBPcj1mdW5jdGlvbihhLGIsYyl7S3IuY2FsbCh0aGlzLGEsYyk7dGhpcy5oPWIucHJveHlJc1N1cHBvcnRlZDt0aGlzLmo9ZnVuY3Rpb24oZCxlLGYpe3JldHVybiBfLllpKGIucHJveHlTZW5kKGQsZSxmKSl9O3RoaXMubD1iLnByb3h5Q2FuY2VsfTtfLkIoT3IsS3IpO09yLnByb3RvdHlwZS5UYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmgoKX07Ck9yLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaih0aGlzLmcudG9TdHJpbmcoKSxhLGIpfTtPci5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKGEpe3RoaXMubChhKX07dmFyIFByPWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7dGhpcy5oPWE7dGhpcy5nPWI/YjpudWxsfTtfLkIoUHIsXy51KTtQci5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTt2YXIgUnI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy51LmNhbGwodGhpcyk7dmFyIGU7Yj9lPXtjbGllbnQ6Yn06ZT17YW5ubzozLGNsaWVudDp0cSxmb3JtYXQ6Imh0bWwiLHY6IjEuMCJ9O2MmJihlLnNwPWMpO2Uua2V5PWE7T24mJihlLmxvZ2xkPSJ2IitPbik7dGhpcy5nPW51bGw7dGhpcy5oPXtIZjozMDB9O2E9dGhpcy5BPW5ldyBQcihlLGQpO2I9dnEreXE7dGhpcy5vPWEuZz9uZXcgT3IoYixhLmcse2NsaWVudDp0cX0pOm5ldyBMcihiLHtjbGllbnQ6dHF9KTthPXRoaXMuQTtpZihhLmcpe2lmKCFhLmcpdGhyb3cgRXJyb3IoIndhIik7YT1be3ZhOm5ldyBPcih2cSt1cSsiL3RyYW5zbGF0ZV9hL3QiLGEuZyxhLmgpLGNlOjE5MDAsSWY6NDI5NDk2NzI5NSxHZjotMSxXZjowLEtkOiExfV19ZWxzZSBhPVt7dmE6bmV3IE1yKHZxK3VxKyIvdHJhbnNsYXRlX2EvdCIsYS5oKSxjZTozMDcyMCxJZjo0Mjk0OTY3Mjk1LEdmOi0xLFdmOjAsS2Q6ITF9XTt0aGlzLkI9bmV3IFFyKGEpO3RoaXMuaj0KITE7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil0aGlzLmo9dGhpcy5qfHxhW2JdLnZhLlRhKCk7dGhpcy5qfHx0aGlzLm5pKCl9O18uQihScixfLnUpO1JyLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKGEpe3RoaXMuQ3x8KHRoaXMuQz0hMCx0aGlzLkIuc3RhcnQoKDAsXy55KShmdW5jdGlvbihiKXtiJiYodGhpcy5nPWIsdGhpcy5oLnZhPWIudmEpO2EoKX0sdGhpcykpKX07UnIucHJvdG90eXBlLlRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07UnIucHJvdG90eXBlLlNhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZyE9PW51bGwmJnRoaXMuZy52YSE9PW51bGwmJnRoaXMuZy52YS5TYSgpfTsKdmFyIFNyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17cTpjLnN1YnN0cmluZygwLGEuaC5IZiksc2w6ImF1dG8iLHRsOiJlbiJ9O3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihlLGYpe2EuaC52YS5zZW5kKGQsYikudGhlbihmdW5jdGlvbihnKXt0cnl7dmFyIGg9SlNPTi5wYXJzZShnKTtlKGgmJmhbMV18fG51bGwpfWNhdGNoKGspe2UobnVsbCl9fSxmdW5jdGlvbihnKXtyZXR1cm4gZihnfHxudWxsKX0pfSl9OwpSci5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGs9dGhpcyxsPXtxOmIsc2w6Yyx0bDpkfTtsLnRjPWU7ZiYmKGwuY3R0PTEpO2cmJihsLmRvbT0xKTtoJiYobC5zcj0xKTtsW2hxKCldPWdxKGIuam9pbigiIikpO3JldHVybiBuZXcgXy5vZShmdW5jdGlvbihuLHEpe2suZy52YS5zZW5kKGwsYSkudGhlbihmdW5jdGlvbihwKXtpZihwKXtpZih0eXBlb2YgcCE9PSJvYmplY3QiKXRyeXtwPUpTT04ucGFyc2UocCl9Y2F0Y2goQSl7ay5taSgpO3EoKTtyZXR1cm59aWYoXy5vYyhwKSE9ImFycmF5Iil2YXIgcj1bW3AsMjAwXV07ZWxzZSBpZihwLmxlbmd0aD09MiYmXy5vYyhwWzBdKSE9ImFycmF5IiYmXy5vYyhwWzFdKSE9ImFycmF5IilyPVtbcFswXSwyMDAscFsxXV0sW3BbMV0sMjAwLHBbMV1dXTtlbHNle3I9W107Zm9yKHZhciB0PTA7dDxwLmxlbmd0aDsrK3Qpclt0XT1fLm9jKHBbdF0pIT0iYXJyYXkiP1twW3RdLDIwMF06W3BbdF1bMF0sCjIwMCxwW3RdWzFdXX1uKHIpfWVsc2UgcSgpfSl9KX07dmFyIFRyPWZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIF8ub2U/Yi50aGVuKGZ1bmN0aW9uKGMpe2EuZy52YS5jYW5jZWwoYyl9KTphLmcudmEuY2FuY2VsKGIpfTtSci5wcm90b3R5cGUubD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuS2Q/dGhpcy5nLmNlLShuZXcgWmwodGhpcy5nLnZhLmcpKS50b1N0cmluZygpLmxlbmd0aDp0aGlzLmcuY2V9O1JyLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nJiYodGhpcy5nLnZhLmRpc3Bvc2UoKSx0aGlzLmcudmE9bnVsbCk7dGhpcy5oLnZhPW51bGw7dGhpcy5vLmRpc3Bvc2UoKTt0aGlzLm89bnVsbH07RHIuYXR0YWNoKDczNjEsUnIucHJvdG90eXBlLHtuaTpmdW5jdGlvbigpe1FtKCJ0ZV9hdSIpfX0pO0RyLmF0dGFjaCg0NzUwNCxSci5wcm90b3R5cGUse21pOmZ1bmN0aW9uKCl7UW0oInRlX2FmYnIiKX19KTsKdmFyIFFyPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtRci5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oYSl7dGhpcy5nPWE7dGhpcy5qPTA7VXIodGhpcyl9O3ZhciBVcj1mdW5jdGlvbihhKXtpZihhLmo+PWEuaC5sZW5ndGgpYS5nKG51bGwpO2Vsc2V7dmFyIGI9YS5oW2EuaisrXTtiLklpP29yKG5ldyBucigoMCxfLnkpKGIudmEuU2EsYi52YSksKDAsXy55KShmdW5jdGlvbihjKXtjP3RoaXMuZyhiKTpVcih0aGlzKX0sYSksYi5JaSkpOmIudmEuU2EoKT9hLmcoYik6VXIoYSl9fTt2YXIgVnI9aXIoIkEgQUJCUiBBQ1JPTllNIEIgQkFTRUZPTlQgQkRPIEJJRyBDSVRFIERGTiBFTSBGT05UIEkgSU5QVVQgTk9CUiBMQUJFTCBRIFJUIFMgU01BTEwgU1BBTiBTVFJJS0UgU1RST05HIFNVQiBTVVAgVEVYVEFSRUEgVFQgVSBWQVIiLnNwbGl0KCIgIikpLFdyPWlyKCJBUFBMRVQgQVJFQSBCQVNFIEZSQU1FIEZSQU1FU0VUIEhSIExJTksgTUVUQSBOT0ZSQU1FUyBOT1NDUklQVCBJTlBVVCBURVhUQVJFQSBUSVRMRSIuc3BsaXQoIiAiKSksWHI9aXIoIkJSIENPREUgSU1HIEtCRCBNQVAgT0JKRUNUIFBBUkFNIFJQIFNDUklQVCBTVFlMRSBXQlIgc3ZnIi5zcGxpdCgiICIpKSxZcj1pcihbInN1Ym1pdCIsImJ1dHRvbiJdKTtYbS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBacn07dmFyIFpyPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07WG0ucHJvdG90eXBlLm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIGFzPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5oPSEhYjt0aGlzLm5vZGU9bnVsbDt0aGlzLmc9MDt0aGlzLmo9ITE7dGhpcy5sPSFjO2EmJiRyKHRoaXMsYSxkKTt0aGlzLmRlcHRoPWUhPXZvaWQgMD9lOnRoaXMuZ3x8MDt0aGlzLmgmJih0aGlzLmRlcHRoKj0tMSl9O18uRyhhcyxYbSk7dmFyICRyPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEubm9kZT1iKWEuZz10eXBlb2YgYz09PSJudW1iZXIiP2M6YS5ub2RlLm5vZGVUeXBlIT0xPzA6YS5oPy0xOjE7dHlwZW9mIGQ9PT0ibnVtYmVyIiYmKGEuZGVwdGg9ZCl9LGJzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaD8tMToxO2EuZz09YiYmKGEuZz1iKi0xLGEuZGVwdGgrPWEuZyooYS5oPy0xOjEpKX07CmFzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7aWYodGhpcy5qKXtpZighdGhpcy5ub2RlfHx0aGlzLmwmJnRoaXMuZGVwdGg9PTApcmV0dXJuIFpyO3ZhciBhPXRoaXMubm9kZTt2YXIgYj10aGlzLmg/LTE6MTtpZih0aGlzLmc9PWIpe3ZhciBjPXRoaXMuaD9hLmxhc3RDaGlsZDphLmZpcnN0Q2hpbGQ7Yz8kcih0aGlzLGMpOiRyKHRoaXMsYSxiKi0xKX1lbHNlKGM9dGhpcy5oP2EucHJldmlvdXNTaWJsaW5nOmEubmV4dFNpYmxpbmcpPyRyKHRoaXMsYyk6JHIodGhpcyxhLnBhcmVudE5vZGUsYiotMSk7dGhpcy5kZXB0aCs9dGhpcy5nKih0aGlzLmg/LTE6MSl9ZWxzZSB0aGlzLmo9ITA7cmV0dXJuKGE9dGhpcy5ub2RlKT97dmFsdWU6YSxkb25lOiExfTpacn07YXMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlPT10aGlzLm5vZGUmJighdGhpcy5ub2RlfHxhLmc9PXRoaXMuZyl9Owphcy5wcm90b3R5cGUuc3BsaWNlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubm9kZSxjPXRoaXMuaD8xOi0xO3RoaXMuZz09YyYmKHRoaXMuZz1jKi0xLHRoaXMuZGVwdGgrPXRoaXMuZyoodGhpcy5oPy0xOjEpKTt0aGlzLmg9IXRoaXMuaDthcy5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMpO3RoaXMuaD0hdGhpcy5oO2M9Xy5xYShhcmd1bWVudHNbMF0pP2FyZ3VtZW50c1swXTphcmd1bWVudHM7Zm9yKHZhciBkPWMubGVuZ3RoLTE7ZD49MDtkLS0peG8oY1tkXSxiKTtfLkFkKGIpfTt2YXIgZHM9ZnVuY3Rpb24oYSxiKXt0aGlzLmw9ITE7dGhpcy5qPV8uU2M/W106bnVsbDt0aGlzLmg9W107dGhpcy5kb25lPSExO2Zvcih0aGlzLmc9bmV3IGFzKGEsITEsYixhLm5vZGVUeXBlPT09Mz8wOjEsMSk7YT1hLnBhcmVudE5vZGU7KWNzKHRoaXMsYSwhMCk7dGhpcy5oLnB1c2goITEpO3RoaXMuaC5yZXZlcnNlKCk7Zm9yKGE9MTthPHRoaXMuaC5sZW5ndGg7KythKXRoaXMuaFthXT09bnVsbCYmKHRoaXMuaFthXT10aGlzLmhbYS0xXSl9LGNzPWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITE6Yzt2YXIgZD0oYi5zdHlsZSYmYi5zdHlsZS53aGl0ZVNwYWNlfHwiIikuc3Vic3RyaW5nKDAsMyk7ZD09PSJwcmUifHwhZCYmYi50YWdOYW1lPT09IlBSRSI/YS5oLnB1c2goITApOmQmJmQhPT0icHJlIj9hLmgucHVzaCghMSk6Yz9hLmgucHVzaChudWxsKTphLmgucHVzaChhLmhbYS5oLmxlbmd0aC0xXSl9LGVzPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5oW2EuaC5sZW5ndGgtCjFdfTtkcy5wcm90b3R5cGUubm9kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcubm9kZX07ZHMucHJvdG90eXBlLmRlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5kZXB0aH07CmRzLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZz09PS0xJiZ0aGlzLmoubGVuZ3RoLS07dGhpcy5nLmc9PT0tMSYmdGhpcy5oLmxlbmd0aC0tO2lmKHRoaXMuaiYmdGhpcy5qLmxlbmd0aD4wJiZ0aGlzLmcuZyE9PTEmJiF0aGlzLmcubm9kZS5uZXh0U2libGluZykkcih0aGlzLmcsdGhpcy5qW3RoaXMuai5sZW5ndGgtMV0sLTEsdGhpcy5nLmRlcHRoLTEpO2Vsc2V7dmFyIGE9dGhpcy5nLm5leHQoKTt0aGlzLmw9ITA7aWYoYS5kb25lKXt0aGlzLmRvbmU9ITA7cmV0dXJufXRoaXMuaiYmdGhpcy5nLmc9PT0xJiZ0aGlzLmoucHVzaCh0aGlzLmcubm9kZSl9dGhpcy5nLmc9PT0xJiZ0aGlzLmwmJmNzKHRoaXMsdGhpcy5nLm5vZGUpfWNhdGNoKGIpe3RoaXMud2koYiksdGhpcy5kb25lPSEwfX07RHIuYXR0YWNoKDUyNzU0LGRzLnByb3RvdHlwZSx7d2k6MX0pO3ZhciBRPXt9LGZzPWZ1bmN0aW9uKCl7UVswXT0iT3ZlcnNldHQiO1FbMV09IkF2YnJ5dCI7UVsyXT0iTHVrayI7UVszXT1mdW5jdGlvbihhKXtyZXR1cm4iR29vZ2xlIGhhciBvdmVyc2F0dCBkZW5uZSBzaWRlbiB0aWwgIithKyIgYXV0b21hdGlzayJ9O1FbNF09ZnVuY3Rpb24oYSl7cmV0dXJuIk92ZXJzYXR0IHRpbDogIithfTtRWzVdPSJGZWlsOiBUamVuZXJlbiBrdW5uZSBpa2tlIGZ1bGxmXHUwMGY4cmUgZm9yZXNwXHUwMGY4cnNlbGVuLiBQclx1MDBmOHYgcFx1MDBlNSBueXR0IHNlbmVyZS4iO1FbNl09IkxlcyBtZXIiO1FbN109ZnVuY3Rpb24oYSl7cmV0dXJuIkRyZXZldCBhdiAiK2F9O1FbOF09Ik92ZXJzZXR0ZXIiO1FbOV09Ik92ZXJzZXR0ZWxzZSBwXHUwMGU1Z1x1MDBlNXIiO1FbMTBdPWZ1bmN0aW9uKGEpe3JldHVybiJWaWwgZHUgb3ZlcnNldHRlIGRlbm5lIHNpZGVuIHRpbCAiK2ErIiBtZWQgR29vZ2xlIE92ZXJzZXR0ZXI/In07UVsxMV09ZnVuY3Rpb24oYSl7cmV0dXJuIlZpcyBkZW5uZSBzaWRlbiBwXHUwMGU1OiAiKwphfTtRWzEyXT0iVmlzIG9yaWdpbmFsIjtRWzEzXT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgbG9rYWxlIGZpbGVuIHNlbmRlcyB0aWwgR29vZ2xlIHZpYSBlbiBzaWtrZXIgdGlsa29ibGluZyBmb3IgXHUwMGU1IGJsaSBvdmVyc2F0dC4iO1FbMTRdPSJJbm5ob2xkZXQgcFx1MDBlNSBkZW5uZSBzaWtyZSBzaWRlbiBzZW5kZXMgdGlsIEdvb2dsZSB2aWEgZW4gc2lra2VyIHRpbGtvYmxpbmcgZm9yIFx1MDBlNSBibGkgb3ZlcnNhdHQuIjtRWzE1XT0iSW5uaG9sZGV0IHBcdTAwZTUgZGVubmUgaW50cmFuZXR0c2lkZW4gc2VuZGVzIHRpbCBHb29nbGUgdmlhIGVuIHNpa2tlciB0aWxrb2JsaW5nIGZvciBcdTAwZTUgYmxpIG92ZXJzYXR0LiI7UVsxNl09IlZlbGcgc3ByXHUwMGU1ayI7UVsxN109ZnVuY3Rpb24oYSl7cmV0dXJuIlNsXHUwMGU1IGF2IG92ZXJzZXR0ZWxzZSB0aWwgIithfTtRWzE4XT1mdW5jdGlvbihhKXtyZXR1cm4iRGVha3RpdmVyIGZvcjogIithfTtRWzE5XT0iU2tqdWwgYWxsdGlkIjsKUVsyMF09Ik9yaWdpbmFsdGVrc3Q6IjtRWzIxXT0iQmlkcmEgbWVkIGVuIGJlZHJlIG92ZXJzZXR0ZWxzZSI7UVsyMl09IkJpZHJhIjtRWzIzXT0iT3ZlcnNldHQgYWx0IjtRWzI0XT0iR2plbm9wcHJldHQgYWx0IjtRWzI1XT0iQXZicnl0IGFsdCI7UVsyNl09Ik92ZXJzZXR0IGRlbGVuZSB0aWwgbWl0dCBzcHJcdTAwZTVrIjtRWzI3XT1mdW5jdGlvbihhKXtyZXR1cm4iT3ZlcnNldHQgYWx0IHRpbCAiK2F9O1FbMjhdPSJWaXMgb3BwcmlubmVsaWdlIHNwclx1MDBlNWsiO1FbMjldPSJBbHRlcm5hdGl2ZXIiO1FbMzBdPSJTbFx1MDBlNSBhdiBvdmVyc2V0dGVsc2UgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbMzFdPW51bGw7UVszMl09IlZpcyBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzMzXT0iS2xpa2sgcFx1MDBlNSBvcmQgb3ZlbmZvciBmb3IgXHUwMGU1IGZcdTAwZTUgYWx0ZXJuYXRpdmUgb3ZlcnNldHRlbHNlciI7UVszNF09IkJydWsiO1FbMzVdPSJEcmEgbWVkIFNoaWZ0LXRhc3QgZm9yIFx1MDBlNSBlbmRyZSByZWtrZWZcdTAwZjhsZ2UiOwpRWzM2XT0iS2xpa2sgZm9yIFx1MDBlNSBzZSBhbHRlcm5hdGl2ZSBvdmVyc2V0dGVsc2VyIjtRWzM3XT0iSG9sZCBuZWRlIFNoaWZ0LXRhc3Rlbiwga2xpa2ssIG9nIGRyYSBkZXJldHRlciBvcmRlbmUgb3ZlbmZvciBmb3IgXHUwMGU1IGVuZHJlIHBcdTAwZTUgcmVra2VmXHUwMGY4bGdlbi4iO1FbMzhdPSJUYWtrIGZvciBhdCBkdSBiaWRyYXIgbWVkIG92ZXJzZXR0ZWxzZXNmb3JzbGFnZXQgZGl0dCB0aWwgR29vZ2xlIE92ZXJzZXR0ZXIuIjtRWzM5XT0iQWRtaW5pc3RyZXIgb3ZlcnNldHRpbmcgZm9yIGRldHRlIG5ldHRzdGVkZXQiO1FbNDBdPSJLbGlrayBwXHUwMGU1IGV0IG9yZCBmb3IgXHUwMGU1IHNlIGFsdGVybmF0aXZlIG92ZXJzZXR0ZWxzZXIsIGVsbGVyIGRvYmJlbHRrbGlrayBmb3IgXHUwMGU1IHJlZGlnZXJlIGRpcmVrdGUiO1FbNDFdPSJPcHByaW5uZWxpZyB0ZWtzdCI7UVs0Ml09Ik92ZXJzZXR0ZXIiO1FbNDNdPSJPdmVyc2V0dCI7UVs0NF09IlJldHRpbmdlbiBkaW4gZXIgc2VuZHQgaW5uLiI7ClFbNDVdPSJGZWlsOiBTcHJcdTAwZTVrZXQgdGlsIG5ldHRzaWRlbiBzdFx1MDBmOHR0ZXMgaWtrZS4iO1FbNDZdPSJNb2R1bCBmb3Igc3ByXHUwMGU1a292ZXJzZXR0aW5nIjtRWzQ3XT0iR2kgZW4gdnVyZGVyaW5nIGF2IGRlbm5lIG92ZXJzZXR0ZWxzZW4iO1FbNDhdPSJUaWxiYWtlbWVsZGluZ2VuIGRpbiBicnVrZXMgZm9yIFx1MDBlNSBnalx1MDBmOHJlIEdvb2dsZSBPdmVyc2V0dGVyIGJlZHJlIjtRWzQ5XT0iR29kIG92ZXJzZXR0ZWxzZSI7UVs1MF09IkRcdTAwZTVybGlnIG92ZXJzZXR0ZWxzZSI7UVs1MV09Ik92ZXJzZXR0ZWxzZSJ9O3ZhciBncz1mdW5jdGlvbigpe3JldHVybiJbbXNnX3VuZGVmaW5lZF0ifSxSPXt9OwooZnVuY3Rpb24oKXt2YXIgYT1mdW5jdGlvbihiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYn19O1I9e0llOmEoMCksbWc6YSgxKSxBZTphKDIpLFdqOmEoMyksRGc6YSg0KSxDZTphKDUpLHdnOmEoNDUpLHhnOmEoNiksemc6YSg3KSx3ZDphKDgpLEVnOmEoOSksc2s6YSgxMCksSmc6YSgxMSksQWc6YSgxMiksbGs6YSgxMyksQ2c6YSgxNCksa2s6YSgxNSksQmc6YSgxNiksdms6YSgxNyksRmc6YSgxOCksamo6YSgxOSksVWo6YSgyMCksSWo6YSgyMSksbWs6YSgyMiksZWs6YSgyMyksZGs6YSgyNCksYms6YSgyNSksdGs6YSgyNikscms6YSgyNyksY2s6YSgyOCkseWc6YSgyOSksR2c6YSgzMCksaWo6YSgzMiksZ2o6YSgzMyksd2s6YSgzNCkseGo6YSgzNSkscGo6YSgzNiksd2o6YSgzNyksbms6YSgzOCksUWo6YSgzOSksaGo6YSg0MCksVmo6YSg0MSksRWU6YSg0NiksWGo6YSg0NyksSGo6YSg0OCksR2o6YSg0OSksRmo6YSg1MCksdWs6YSg1MSl9fSkoKTtSLkNsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMF19OwpSLlprPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMV19O1IuYmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVsyXX07Ui5ubD1mdW5jdGlvbigpe3JldHVybiBRWzNdfTtSLkRsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbNF19O1IuZmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1XX07Ui5obD1mdW5jdGlvbigpe3JldHVybiBRWzQ1XX07Ui5pbD1mdW5jdGlvbigpe3JldHVybiBRWzZdfTtSLm9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbN119O1IuR2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs4XX07Ui5JbD1mdW5jdGlvbigpe3JldHVybiBRWzldfTtSLkZsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTBdfTtSLk9sPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTFdfTtSLnBsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTJdfTtSLnlsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTNdfTtSLnpsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTRdfTtSLnhsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTVdfTtSLnFsPWZ1bmN0aW9uKCl7cmV0dXJuIFFbMTZdfTsKUi5MbD1mdW5jdGlvbigpe3JldHVybiBRWzE3XX07Ui5LbD1mdW5jdGlvbigpe3JldHVybiBRWzE4XX07Ui5Zaz1mdW5jdGlvbigpe3JldHVybiBRWzE5XX07Ui5sbD1mdW5jdGlvbigpe3JldHVybiBRWzIwXX07Ui5zaD1mdW5jdGlvbigpe3JldHVybiBRWzQxXX07Ui5lbD1mdW5jdGlvbigpe3JldHVybiBRWzIxXX07Ui5BbD1mdW5jdGlvbigpe3JldHVybiBRWzIyXX07Ui53bD1mdW5jdGlvbigpe3JldHVybiBRWzIzXX07Ui52bD1mdW5jdGlvbigpe3JldHVybiBRWzI0XX07Ui5ybD1mdW5jdGlvbigpe3JldHVybiBRWzI1XX07Ui5IbD1mdW5jdGlvbigpe3JldHVybiBRWzI2XX07Ui5FbD1mdW5jdGlvbigpe3JldHVybiBRWzI3XX07Ui51bD1mdW5jdGlvbigpe3JldHVybiBRWzI4XX07Ui5rbD1mdW5jdGlvbigpe3JldHVybiBRWzI5XX07Ui5NbD1mdW5jdGlvbigpe3JldHVybiBRWzMwXX07Ui5qbD1mdW5jdGlvbigpe3JldHVybiBRWzM5XX07Ui5Yaz1mdW5jdGlvbigpe3JldHVybiBRWzMyXX07ClIuVms9ZnVuY3Rpb24oKXtyZXR1cm4gUVszM119O1IuV2s9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0MF19O1IuTmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNF19O1IuZGw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNV19O1IuYWw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszNl19O1IuY2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVszN119O1IuQmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVszOF19O1IuZ2w9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0Nl19O1IudGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0N119O1Iucmg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OF19O1IucWg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs0OV19O1IucGg9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MF19O1IuSmw9ZnVuY3Rpb24oKXtyZXR1cm4gUVs1MV19O3ZhciBocz1SO3ZhciBpcz1ocy5zaCxqcz1ocy50aCxrcz1ocy5yaCxscz1ocy5xaCxtcz1ocy5waDt2YXIgcHM9ZnVuY3Rpb24oYSl7dmFyIGI9YS5kaXI7YT1hLmNqO3JldHVybiBWbihXbihWbihXbihWbihfLnlsKCksJzxkaXYgaWQ9Imdvb2ctZ3QtdHQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItTDdsYmtiIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgbWFyZ2luOiAwIDAgMCAtMjNweDsgcGFkZGluZzogMDsgZm9udC1mYW1pbHk6IFwnR29vZ2xlIFNhbnNcJywgQXJpYWwsIHNhbnMtc2VyaWY7IiBkYXRhLWlkPSIiPjxkaXYgaWQ9Imdvb2ctZ3QtdnQiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kIikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VZDdmciIpKyciPjxpbWcgc3JjPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS9wcm9kdWN0bG9nb3MvdHJhbnNsYXRlL3YxNC8yNHB4LnN2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBhbHQ9IiIvPjxkaXYgY2xhc3M9IicrCihiPT09InJ0bCI/IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGQiKSsiICI6IiAiK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1pM2pNOGMiKSsiICIpKyciIGRpcj0iJytQKGIpKyciPicrS3AoaXMoKSkrJzwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtazc3SWlmIikrJyI+PGRpdiBpZD0iZ29vZy1ndC1vcmlnaW5hbC10ZXh0IiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLW5WTWZjZC1mbWNtUyIpKyIgIitQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1heEFWMSIpKyciPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIikrIiAiK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIikrIiAiK1AoYikrJyIgZGlyPSInK1AoYikrJyI+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2IiKSsKJyI+JytLcChqcygpKSsnPC9kaXY+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2UiKSsnIj4nK0twKGtzKCkpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLXhnb3Y1IikrIiAiK1AoYikrJyI+JyksYj09PSJydGwiP1duKFduKF8ueWwoKSxucygpKSxvcygpKTpXbihXbihfLnlsKCksb3MoKSksbnMoKSkpLCI8L2Rpdj48L2Rpdj4iKSwoMCxfLnRsKSgnPGRpdiBpZD0iZ29vZy1ndC12b3RpbmdIaWRkZW5QYW5lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48Zm9ybSBpZD0iZ29vZy1ndC12b3RpbmdGb3JtIiBhY3Rpb249IicrUChVcChhKSkrJyIgbWV0aG9kPSJwb3N0IiB0YXJnZXQ9InZvdGluZ0ZyYW1lIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1hWFlUY2UiKSsnIj48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ic2wiIGlkPSJnb29nLWd0LXZvdGluZ0lucHV0U3JjTGFuZyIvPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0bCIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRUcmdMYW5nIi8+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InF1ZXJ5IiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZ3RyYW5zIiBpZD0iZ29vZy1ndC12b3RpbmdJbnB1dFRyZ1RleHQiLz48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idm90ZSIgaWQ9Imdvb2ctZ3Qtdm90aW5nSW5wdXRWb3RlIi8+PC9mb3JtPjxpZnJhbWUgbmFtZT0idm90aW5nRnJhbWUiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+PC9kaXY+JykpLAoiPC9kaXY+PC9kaXY+Iil9LG9zPWZ1bmN0aW9uKCl7dmFyIGE9Xy55bCgpLGI9bHMoKTtiPVZuKGEsJzxidXR0b24gaWQ9Imdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0iJytQKCJWSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2YiKSsnIiB0aXRsZT0iJytQKGIpKyciIGFyaWEtbGFiZWw9IicrUChiKSsnIiBhcmlhLXByZXNzZWQ9ImZhbHNlIj48c3BhbiBpZD0iZ29vZy1ndC10aHVtYlVwSWNvbiI+Jyk7dmFyIGM9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMjEgN2gtNi4zMWwuOTUtNC41Ny4wMy0uMzJjMC0uNDEtLjE3LS43OS0uNDQtMS4wNkwxNC4xNyAwUzcuMDggNi44NSA3IDdIMnYxM2gxNmMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczVjljMC0xLjEtLjktMi0yLTJ6TTcgMThINFY5aDN2OXptMTQtN2wtMyA3SDlWOGw0LjM0LTQuMzRMMTIgOWg5djJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iVXBJY29uRmlsbGVkIj4nKTtjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTIxIDdoLTYuMzFsLjk1LTQuNTcuMDMtLjMyYzAtLjQxLS4xNy0uNzktLjQ0LTEuMDZMMTQuMTcgMFM3LjA4IDYuODUgNyA3djEzaDExYy44MyAwIDEuNTQtLjUgMS44NC0xLjIybDMuMDItNy4wNWMuMDktLjIzLjE0LS40Ny4xNC0uNzNWOWMwLTEuMS0uOS0yLTItMnpNNSA3SDF2MTNoNFY3eiIvPjwvc3ZnPicpO1ZuKFduKGIsYyksIjwvc3Bhbj48L2J1dHRvbj4iKTtyZXR1cm4gYX0sbnM9ZnVuY3Rpb24oKXt2YXIgYT1fLnlsKCksYj1tcygpO2I9Vm4oYSwnPGJ1dHRvbiBpZD0iZ29vZy1ndC10aHVtYkRvd25CdXR0b24iIHR5cGU9ImJ1dHRvbiIgY2xhc3M9IicrClAoIlZJcGdKZC15QVdORWItaHZoZ05kLWJnbTZzZiIpKyciIHRpdGxlPSInK1AoYikrJyIgYXJpYS1sYWJlbD0iJytQKGIpKyciIGFyaWEtcHJlc3NlZD0iZmFsc2UiPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb24iPicpO3ZhciBjPSgwLF8udGwpKCc8c3ZnIHdpZHRoPSInK1AoMjQpKyciIGhlaWdodD0iJytQKDI0KSsnIiB2aWV3Qm94PSInK1AoIjAgMCAyNCAyNCIpKyciIGZvY3VzYWJsZT0iZmFsc2UiIGNsYXNzPSInK1AoIlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYiIpKyIgIitQKCJOTW01TSIpKyciJyt6cCgpKyc+PHBhdGggZD0iTTMgMTdoNi4zMWwtLjk1IDQuNTctLjAzLjMyYzAgLjQxLjE3Ljc5LjQ0IDEuMDZMOS44MyAyNHM3LjA5LTYuODUgNy4xNy03aDVWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnpNMTcgNmgzdjloLTNWNnpNMyAxM2wzLTdoOXYxMGwtNC4zNCA0LjM0TDEyIDE1SDN2LTJ6Ii8+PC9zdmc+Jyk7CmI9Vm4oV24oYixjKSwnPC9zcGFuPjxzcGFuIGlkPSJnb29nLWd0LXRodW1iRG93bkljb25GaWxsZWQiPicpO2M9KDAsXy50bCkoJzxzdmcgd2lkdGg9IicrUCgyNCkrJyIgaGVpZ2h0PSInK1AoMjQpKyciIHZpZXdCb3g9IicrUCgiMCAwIDI0IDI0IikrJyIgZm9jdXNhYmxlPSJmYWxzZSIgY2xhc3M9IicrUCgiVklwZ0pkLXlBV05FYi1odmhnTmQtVEhJNlZiIikrIiAiK1AoIk5NbTVNIikrJyInK3pwKCkrJz48cGF0aCBkPSJNMyAxN2g2LjMxbC0uOTUgNC41Ny0uMDMuMzJjMCAuNDEuMTcuNzkuNDQgMS4wNkw5LjgzIDI0czcuMDktNi44NSA3LjE3LTdWNEg2Yy0uODMgMC0xLjU0LjUtMS44NCAxLjIybC0zLjAyIDcuMDVjLS4wOS4yMy0uMTQuNDctLjE0LjczdjJjMCAxLjEuOSAyIDIgMnptMTYgMGg0VjRoLTR2MTN6Ii8+PC9zdmc+Jyk7Vm4oV24oYixjKSwiPC9zcGFuPjwvYnV0dG9uPiIpO3JldHVybiBhfTt2YXIgcXM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiljJiYoYT0oMCxfLnkpKGEsYykpO2Vsc2UgaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLnkpKGEuaGFuZGxlRXZlbnQsYSk7ZWxzZSB0aHJvdyBFcnJvcigieGEiKTtyZXR1cm4gTnVtYmVyKGIpPjIxNDc0ODM2NDc/LTE6Xy52LnNldFRpbWVvdXQoYSxifHwwKX07dmFyIHJzPWZ1bmN0aW9uKCl7aWYoXy5aYyl7dmFyIGE9L1dpbmRvd3MgTlQgKFswLTkuXSspLztyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiMCJ9cmV0dXJuIF8uWWM/KGE9LzFbMHwxXVtfLl1bMC05Xy5dKy8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMF0ucmVwbGFjZSgvXy9nLCIuIik6IjEwIik6Xy4kYz8oYT0vQW5kcm9pZFxzKyhbXlwpO10rKShcKXw7KS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV06IiIpOl8uYWR8fF8uYmR8fF8uY2Q/KGE9Lyg/OmlQaG9uZXxDUFUpXHMrT1NccysoXFMrKS8sKGE9YS5leGVjKF8uVGEoKSkpP2FbMV0ucmVwbGFjZSgvXy9nLCIuIik6IiIpOiIifSgpO3ZhciBzcz1mdW5jdGlvbihhKXtyZXR1cm4oYT1hLmV4ZWMoXy5UYSgpKSk/YVsxXToiIn0sdHM9ZnVuY3Rpb24oKXtpZihfLkpoKXJldHVybiBzcygvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoXy5TY3x8Xy5UY3x8Xy5SYylyZXR1cm4gXy5qZDtpZihfLk5oKXtpZihfLiRhKCl8fF8uYWIoKSl7dmFyIGE9c3MoL0NyaU9TXC8oWzAtOS5dKykvKTtpZihhKXJldHVybiBhfXJldHVybiBzcygvQ2hyb21lXC8oWzAtOS5dKykvKX1pZihfLk9oJiYhXy4kYSgpKXJldHVybiBzcygvVmVyc2lvblwvKFswLTkuXSspLyk7aWYoXy5LaHx8Xy5MaCl7aWYoYT0vVmVyc2lvblwvKFxTKykuKk1vYmlsZVwvKFxTKykvLmV4ZWMoXy5UYSgpKSlyZXR1cm4gYVsxXSsiLiIrYVsyXX1lbHNlIGlmKF8uTWgpcmV0dXJuKGE9c3MoL0FuZHJvaWRccysoWzAtOS5dKykvKSk/YTpzcygvVmVyc2lvblwvKFswLTkuXSspLyk7cmV0dXJuIiJ9KCk7Xy5HKFltLF8uaGIpO18ubT1ZbS5wcm90b3R5cGU7Xy5tLkVhPW51bGw7Xy5tLkRjPSEwO18ubS5OZT1udWxsO18ubS56Yj0hMTtfLm0uWmQ9LTE7Xy5tLlViPSJ0b2dnbGVfZGlzcGxheSI7Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5FYX07Xy5tLlFiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuemIpdGhyb3cgRXJyb3IoInlhIik7dGhpcy5FYT1hfTtfLm0ucmU9ZnVuY3Rpb24oYSl7aWYodGhpcy56Yil0aHJvdyBFcnJvcigieWEiKTt0aGlzLkRjPWF9O18ubS5pc1Zpc2libGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy56Yn07Cl8ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkwmJnRoaXMuTC5zdG9wKCk7dGhpcy5LJiZ0aGlzLksuc3RvcCgpO2lmKGEpe2lmKCF0aGlzLnpiJiZ0aGlzLnVkKCkpe2lmKCF0aGlzLkVhKXRocm93IEVycm9yKCJ6YSIpO3RoaXMucGIoKTthPV8uc2QodGhpcy5FYSk7dGhpcy5EYyYmKHRoaXMubC5OKGEsIm1vdXNlZG93biIsdGhpcy5OZiwhMCksdGhpcy5sLk4oYSwiYmx1ciIsdGhpcy5FaSkpO3RoaXMuVWI9PSJ0b2dnbGVfZGlzcGxheSI/KHRoaXMuRWEuc3R5bGUudmlzaWJpbGl0eT0idmlzaWJsZSIsbXAodGhpcy5FYSwhMCkpOnRoaXMuVWI9PSJtb3ZlX29mZnNjcmVlbiImJnRoaXMucGIoKTt0aGlzLnpiPSEwO3RoaXMuWmQ9RGF0ZS5ub3coKTt0aGlzLkw/KF8uTmQodGhpcy5MLCJlbmQiLHRoaXMuT2YsITEsdGhpcyksdGhpcy5MLnBsYXkoKSk6dGhpcy5PZigpfX1lbHNlIHVzKHRoaXMpfTtfLm0ucGI9ZnVuY3Rpb24oKXt9Owp2YXIgdXM9ZnVuY3Rpb24oYSxiKXthLnpiJiZhLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImJlZm9yZWhpZGUiLHRhcmdldDpifSkmJihhLmwmJl8uUmYoYS5sKSxhLnpiPSExLGEuSz8oXy5OZChhLkssImVuZCIsXy5aaihhLlNlLGIpLCExLGEpLGEuSy5wbGF5KCkpOmEuU2UoYikpfTtfLm09WW0ucHJvdG90eXBlO18ubS5TZT1mdW5jdGlvbihhKXt0aGlzLlViPT0idG9nZ2xlX2Rpc3BsYXkiP3RoaXMuYWkoKTp0aGlzLlViPT0ibW92ZV9vZmZzY3JlZW4iJiYodGhpcy5FYS5zdHlsZS50b3A9Ii0xMDAwMHB4Iik7dGhpcy5nZShhKX07Xy5tLmFpPWZ1bmN0aW9uKCl7dGhpcy5FYS5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iO21wKHRoaXMuRWEsITEpfTtfLm0udWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KCJiZWZvcmVzaG93Iil9O18ubS5PZj1mdW5jdGlvbigpe3RoaXMuZGlzcGF0Y2hFdmVudCgic2hvdyIpfTsKXy5tLmdlPWZ1bmN0aW9uKGEpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiaGlkZSIsdGFyZ2V0OmF9KX07Xy5tLk5mPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQ7Xy5CZCh0aGlzLkVhLGEpfHx2cyh0aGlzLGEpfHxEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzLGEpfTtfLm0uRWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZCh0aGlzLkVhKTtpZih0eXBlb2YgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9InVuZGVmaW5lZCIpe2lmKGE9Yi5hY3RpdmVFbGVtZW50LCFhfHxfLkJkKHRoaXMuRWEsYSl8fGEudGFnTmFtZT09IkJPRFkifHx2cyh0aGlzLGEpKXJldHVybn1lbHNlIGlmKGEudGFyZ2V0IT1iKXJldHVybjtEYXRlLm5vdygpLXRoaXMuWmQ8MTUwfHx1cyh0aGlzKX07dmFyIHZzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueGMoYS5OZXx8W10sZnVuY3Rpb24oYyl7cmV0dXJuIGI9PT1jfHxfLkJkKGMsYil9KX07ClltLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7WW0uZWEuTS5jYWxsKHRoaXMpO3RoaXMubC5kaXNwb3NlKCk7Xy5wYSh0aGlzLkwpO18ucGEodGhpcy5LKTtkZWxldGUgdGhpcy5FYTtkZWxldGUgdGhpcy5sO2RlbGV0ZSB0aGlzLk5lfTtfLkcoYm4sXy5oYik7Ym4ucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLmRiKGEuZyk7Yi50eXBlPWEudHlwZT09ImZvY3VzaW4ifHxhLnR5cGU9PSJmb2N1cyI/ImZvY3VzaW4iOiJmb2N1c291dCI7dGhpcy5kaXNwYXRjaEV2ZW50KGIpfTtibi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe2JuLmVhLk0uY2FsbCh0aGlzKTtfLlZkKHRoaXMuaCk7Xy5WZCh0aGlzLmopO2RlbGV0ZSB0aGlzLmd9O2NuLnByb3RvdHlwZS5oPWZ1bmN0aW9uKCl7fTt2YXIgeXM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg7aWYoaD1jLm9mZnNldFBhcmVudCl7dmFyIGs9aC50YWdOYW1lPT0iSFRNTCJ8fGgudGFnTmFtZT09IkJPRFkiO2lmKCFrfHxjcChoLCJwb3NpdGlvbiIpIT0ic3RhdGljIil7dmFyIGw9aHAoaCk7aWYoIWspe2s9InJ0bCI9PWNwKGgsImRpcmVjdGlvbiIpO3ZhciBuO2lmKG49ayl7bj1fLk9oJiZMbCh0cywxMCk+PTA7dmFyIHE7aWYocT1fLmRkKXE9TGwocnMsMTApPj0wO3ZhciBwPV8uTmgmJkxsKHRzLDg1KT49MDtuPV8uVWN8fG58fHF8fHB9az1uPy1oLnNjcm9sbExlZnQ6ayYmY3AoaCwib3ZlcmZsb3dYIikhPSJ2aXNpYmxlIj9oLnNjcm9sbFdpZHRoLWguY2xpZW50V2lkdGgtaC5zY3JvbGxMZWZ0Omguc2Nyb2xsTGVmdDtsPWFvKGwsbmV3IHpsKGssaC5zY3JvbGxUb3ApKX19fWg9bHx8bmV3IHpsO2w9aHAoYSk7az1scChhKTtsPW5ldyB3bShsLngsbC55LGsud2lkdGgsay5oZWlnaHQpO2lmKGs9aXAoYSkpcD0KbmV3IHdtKGsubGVmdCxrLnRvcCxrLnJpZ2h0LWsubGVmdCxrLmJvdHRvbS1rLnRvcCksaz1NYXRoLm1heChsLmxlZnQscC5sZWZ0KSxuPU1hdGgubWluKGwubGVmdCtsLndpZHRoLHAubGVmdCtwLndpZHRoKSxrPD1uJiYocT1NYXRoLm1heChsLnRvcCxwLnRvcCkscD1NYXRoLm1pbihsLnRvcCtsLmhlaWdodCxwLnRvcCtwLmhlaWdodCkscTw9cCYmKGwubGVmdD1rLGwudG9wPXEsbC53aWR0aD1uLWssbC5oZWlnaHQ9cC1xKSk7bj1fLmxiKGEpO2s9Xy5sYihjKTtuLmchPWsuZyYmKG49bi5nLmJvZHksaz1qcChuLGsuZy5kZWZhdWx0Vmlldyksaz1hbyhrLGhwKG4pKSxsLmxlZnQrPWsueCxsLnRvcCs9ay55KTthPXdzKGEsYik7Yj1sLmxlZnQ7YSY0P2IrPWwud2lkdGg6YSYyJiYoYis9bC53aWR0aC8yKTtiPW5ldyB6bChiLGwudG9wKyhhJjE/bC5oZWlnaHQ6MCkpO2I9YW8oYixoKTtlJiYoYi54Kz0oYSY0Py0xOjEpKmUueCxiLnkrPShhJjE/LTE6MSkqZS55KTt2YXIgcjtnJiYocj0KaXAoYykpJiYoci50b3AtPWgueSxyLnJpZ2h0LT1oLngsci5ib3R0b20tPWgueSxyLmxlZnQtPWgueCk7cmV0dXJuIHhzKGIsYyxkLGYscixnKX0seHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2E9RG4oYSk7dmFyIGc9d3MoYixjKTtjPWxwKGIpO3ZhciBoPW5ldyBfLkNhKGMud2lkdGgsYy5oZWlnaHQpO2E9RG4oYSk7aD1uZXcgXy5DYShoLndpZHRoLGguaGVpZ2h0KTt2YXIgaz0wO2lmKGR8fGchPTApZyY0P2EueC09aC53aWR0aCsoZD9kLnJpZ2h0OjApOmcmMj9hLngtPWgud2lkdGgvMjpkJiYoYS54Kz1kLmxlZnQpLGcmMT9hLnktPWguaGVpZ2h0KyhkP2QuYm90dG9tOjApOmQmJihhLnkrPWQudG9wKTtmJiYoZT8oZD1oLGc9MCwoZiY2NSk9PTY1JiYoYS54PGUubGVmdHx8YS54Pj1lLnJpZ2h0KSYmKGYmPS0yKSwoZiYxMzIpPT0xMzImJihhLnk8ZS50b3B8fGEueT49ZS5ib3R0b20pJiYoZiY9LTUpLGEueDxlLmxlZnQmJmYmMSYmKGEueD1lLmxlZnQsZ3w9MSksZiYxNiYmKGs9CmEueCxhLng8ZS5sZWZ0JiYoYS54PWUubGVmdCxnfD00KSxhLngrZC53aWR0aD5lLnJpZ2h0JiYoZC53aWR0aD1NYXRoLm1pbihlLnJpZ2h0LWEueCxrK2Qud2lkdGgtZS5sZWZ0KSxkLndpZHRoPU1hdGgubWF4KGQud2lkdGgsMCksZ3w9NCkpLGEueCtkLndpZHRoPmUucmlnaHQmJmYmMSYmKGEueD1NYXRoLm1heChlLnJpZ2h0LWQud2lkdGgsZS5sZWZ0KSxnfD0xKSxmJjImJihnfD0oYS54PGUubGVmdD8xNjowKXwoYS54K2Qud2lkdGg+ZS5yaWdodD8zMjowKSksYS55PGUudG9wJiZmJjQmJihhLnk9ZS50b3AsZ3w9MiksZiYzMiYmKGs9YS55LGEueTxlLnRvcCYmKGEueT1lLnRvcCxnfD04KSxhLnkrZC5oZWlnaHQ+ZS5ib3R0b20mJihkLmhlaWdodD1NYXRoLm1pbihlLmJvdHRvbS1hLnksaytkLmhlaWdodC1lLnRvcCksZC5oZWlnaHQ9TWF0aC5tYXgoZC5oZWlnaHQsMCksZ3w9OCkpLGEueStkLmhlaWdodD5lLmJvdHRvbSYmZiY0JiYoYS55PU1hdGgubWF4KGUuYm90dG9tLWQuaGVpZ2h0LAplLnRvcCksZ3w9MiksZiY4JiYoZ3w9KGEueTxlLnRvcD82NDowKXwoYS55K2QuaGVpZ2h0PmUuYm90dG9tPzEyODowKSksZT1nKTplPTI1NixrPWUpO2U9bmV3IHdtKDAsMCwwLDApO2UubGVmdD1hLng7ZS50b3A9YS55O2Uud2lkdGg9aC53aWR0aDtlLmhlaWdodD1oLmhlaWdodDthPWs7aWYoYSY0OTYpcmV0dXJuIGE7ZXAoYixuZXcgemwoZS5sZWZ0LGUudG9wKSk7aD1uZXcgXy5DYShlLndpZHRoLGUuaGVpZ2h0KTtfLnljKGMsaCl8fHBwKGIsaCwiYm9yZGVyLWJveCIpO3JldHVybiBhfSx3cz1mdW5jdGlvbihhLGIpe3JldHVybihiJjgmJiJydGwiPT1jcChhLCJkaXJlY3Rpb24iKT9iXjQ6YikmLTl9O18uRyhkbixjbik7ZG4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLHZvaWQgMCxjLHRoaXMubCl9O18uRyhlbixjbik7ZW4ucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiLGMpe3lzKChhP18uc2QoYSk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudCwwLGEsYix0aGlzLmcsYyxudWxsKX07Xy5HKGZuLFltKTtmbi5wcm90b3R5cGUucGI9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPSF0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLlViIT0ibW92ZV9vZmZzY3JlZW4iLGI9dGhpcy5IKCk7YSYmKGIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixtcChiLCEwKSk7dGhpcy5vLmgoYiw4LHRoaXMuWGIpO2EmJm1wKGIsITEpfX07Xy5HKE8sZm4pO3ZhciB6cz1bXTtfLm09Ty5wcm90b3R5cGU7Xy5tLnlhPW51bGw7Xy5tLmNsYXNzTmFtZT0iVklwZ0pkLXN1RU9kYyI7Xy5tLlpmPTUwMDtfLm0ud2Y9MDtfLm0uYXR0YWNoPWZ1bmN0aW9uKGEpe2E9Z24oYSk7dGhpcy5BLmFkZChhKTtfLngoYSwibW91c2VvdmVyIix0aGlzLlVkLCExLHRoaXMpO18ueChhLCJtb3VzZW91dCIsdGhpcy5OYiwhMSx0aGlzKTtfLngoYSwibW91c2Vtb3ZlIix0aGlzLmdiLCExLHRoaXMpO18ueChhLCJmb2N1cyIsdGhpcy5mYiwhMSx0aGlzKTtfLngoYSwiYmx1ciIsdGhpcy5OYiwhMSx0aGlzKX07Xy5tLmRldGFjaD1mdW5jdGlvbihhKXt2YXIgYj10aGlzO2E/KGE9Z24oYSksQXModGhpcyxhKSx0aGlzLkEuZGVsZXRlKGEpKToodGhpcy5BLmZvckVhY2goZnVuY3Rpb24oYyl7QXMoYixjKX0pLHRoaXMuQS5jbGVhcigpKX07CnZhciBBcz1mdW5jdGlvbihhLGIpe18uVWQoYiwibW91c2VvdmVyIixhLlVkLCExLGEpO18uVWQoYiwibW91c2VvdXQiLGEuTmIsITEsYSk7Xy5VZChiLCJtb3VzZW1vdmUiLGEuZ2IsITEsYSk7Xy5VZChiLCJmb2N1cyIsYS5mYiwhMSxhKTtfLlVkKGIsImJsdXIiLGEuTmIsITEsYSl9O08ucHJvdG90eXBlLkthPWZ1bmN0aW9uKGEpe18uQ2QodGhpcy5IKCksYSl9OwpPLnByb3RvdHlwZS5RYj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLkgoKTtiJiZfLkFkKGIpO08uZWEuUWIuY2FsbCh0aGlzLGEpO2E/KGI9dGhpcy5HLmcuYm9keSxiLmluc2VydEJlZm9yZShhLGIubGFzdENoaWxkKSxfLnBhKHRoaXMuQyksdGhpcy5DPW5ldyBibih0aGlzLkgoKSksXy5hayh0aGlzLF8uWmooXy5wYSx0aGlzLkMpKSxfLngodGhpcy5DLCJmb2N1c2luIix0aGlzLkQsdm9pZCAwLHRoaXMpLF8ueCh0aGlzLkMsImZvY3Vzb3V0Iix0aGlzLlQsdm9pZCAwLHRoaXMpKTooXy5wYSh0aGlzLkMpLHRoaXMuQz1udWxsKX07Ty5wcm90b3R5cGUudmQ9ZnVuY3Rpb24oKXtyZXR1cm4gRW8odGhpcy5IKCkpfTt2YXIgQnM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuRj9hLmlzVmlzaWJsZSgpPzQ6MTphLkk/MzphLmlzVmlzaWJsZSgpPzI6MH07Ck8ucHJvdG90eXBlLnVkPWZ1bmN0aW9uKCl7aWYoIVltLnByb3RvdHlwZS51ZC5jYWxsKHRoaXMpKXJldHVybiExO2lmKHRoaXMuZylmb3IodmFyIGEsYj0wO2E9enNbYl07YisrKV8uQmQoYS5IKCksdGhpcy5nKXx8YS5wYSghMSk7Xy51YSh6cyx0aGlzKTthPXRoaXMuSCgpO2EuY2xhc3NOYW1lPXRoaXMuY2xhc3NOYW1lO3RoaXMuRCgpO18ueChhLCJtb3VzZW92ZXIiLHRoaXMuVWMsITEsdGhpcyk7Xy54KGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO0NzKHRoaXMpO3JldHVybiEwfTsKTy5wcm90b3R5cGUuZ2U9ZnVuY3Rpb24oKXtfLnZhKHpzLHRoaXMpO2Zvcih2YXIgYT10aGlzLkgoKSxiLGM9MDtiPXpzW2NdO2MrKyliLmcmJl8uQmQoYSxiLmcpJiZiLnBhKCExKTt0aGlzLkhiJiZ0aGlzLkhiLlQoKTtfLlVkKGEsIm1vdXNlb3ZlciIsdGhpcy5VYywhMSx0aGlzKTtfLlVkKGEsIm1vdXNlb3V0Iix0aGlzLlRjLCExLHRoaXMpO3RoaXMuZz12b2lkIDA7QnModGhpcyk9PTAmJih0aGlzLlA9ITEpO1ltLnByb3RvdHlwZS5nZS5jYWxsKHRoaXMpfTtPLnByb3RvdHlwZS5kZT1mdW5jdGlvbihhLGIpe3RoaXMuZz09YSYmdGhpcy5BLmhhcyh0aGlzLmcpJiYodGhpcy5QfHwhdGhpcy5JZD8odGhpcy5wYSghMSksdGhpcy5pc1Zpc2libGUoKXx8KHRoaXMuZz1hLHRoaXMubz1ifHxuZXcgRHMoRG4odGhpcy5yYSkpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMucGIoKSx0aGlzLnBhKCEwKSkpOnRoaXMuZz12b2lkIDApO3RoaXMuRj12b2lkIDB9OwpPLnByb3RvdHlwZS5GYz1mdW5jdGlvbihhKXt0aGlzLkk9dm9pZCAwO2lmKGE9PXRoaXMuZyl7YT10aGlzLkc7dmFyIGI9YS5nO3RyeXt2YXIgYz1iJiZiLmFjdGl2ZUVsZW1lbnQ7dmFyIGQ9YyYmYy5ub2RlTmFtZT9jOm51bGx9Y2F0Y2goZSl7ZD1udWxsfWQ9ZCYmdGhpcy5IKCkmJmEuY29udGFpbnModGhpcy5IKCksZCk7dGhpcy55YSE9bnVsbCYmKHRoaXMueWE9PXRoaXMuSCgpfHx0aGlzLkEuaGFzKHRoaXMueWEpKXx8ZHx8dGhpcy5JYSYmdGhpcy5JYS55YXx8dGhpcy5wYSghMSl9fTt2YXIgRXM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1LbihhLkcuZyk7YS5yYS54PWIuY2xpZW50WCtjLng7YS5yYS55PWIuY2xpZW50WStjLnl9O08ucHJvdG90eXBlLlVkPWZ1bmN0aW9uKGEpe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmcmJih0aGlzLmc9YixHcyh0aGlzLGIpLEhzKHRoaXMpLEVzKHRoaXMsYSkpfTsKdmFyIEZzPWZ1bmN0aW9uKGEsYil7dHJ5e2Zvcig7YiYmIWEuQS5oYXMoYik7KWI9Yi5wYXJlbnROb2RlO3JldHVybiBifWNhdGNoKGMpe3JldHVybiBudWxsfX07Ty5wcm90b3R5cGUuZ2I9ZnVuY3Rpb24oYSl7RXModGhpcyxhKTt0aGlzLlA9ITB9O08ucHJvdG90eXBlLmZiPWZ1bmN0aW9uKGEpe3RoaXMueWE9YT1Gcyh0aGlzLGEudGFyZ2V0KTt0aGlzLlA9ITA7aWYodGhpcy5nIT1hKXt0aGlzLmc9YTt2YXIgYj1uZXcgSXModGhpcy55YSk7dGhpcy5EKCk7R3ModGhpcyxhLGIpO0hzKHRoaXMpfX07dmFyIEhzPWZ1bmN0aW9uKGEpe2lmKGEuZylmb3IodmFyIGIsYz0wO2I9enNbY107YysrKV8uQmQoYi5IKCksYS5nKSYmKGIuSWE9YSxhLkhiPWIpfTsKTy5wcm90b3R5cGUuTmI9ZnVuY3Rpb24oYSl7dmFyIGI9RnModGhpcyxhLnRhcmdldCksYz1Gcyh0aGlzLGEucmVsYXRlZFRhcmdldCk7YiE9YyYmKGI9PXRoaXMueWEmJih0aGlzLnlhPW51bGwpLENzKHRoaXMpLHRoaXMuUD0hMSwhdGhpcy5pc1Zpc2libGUoKXx8YS5yZWxhdGVkVGFyZ2V0JiZfLkJkKHRoaXMuSCgpLGEucmVsYXRlZFRhcmdldCk/dGhpcy5nPXZvaWQgMDp0aGlzLlQoKSl9O08ucHJvdG90eXBlLlVjPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5IKCk7dGhpcy55YSE9YSYmKHRoaXMuRCgpLHRoaXMueWE9YSl9O08ucHJvdG90eXBlLlRjPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuSCgpO3RoaXMueWEhPWJ8fGEucmVsYXRlZFRhcmdldCYmXy5CZChiLGEucmVsYXRlZFRhcmdldCl8fCh0aGlzLnlhPW51bGwsdGhpcy5UKCkpfTsKdmFyIEdzPWZ1bmN0aW9uKGEsYixjKXthLkZ8fChhLkY9cXMoKDAsXy55KShhLmRlLGEsYixjKSxhLlpmKSl9LENzPWZ1bmN0aW9uKGEpe2EuRiYmKF8udi5jbGVhclRpbWVvdXQoYS5GKSxhLkY9dm9pZCAwKX07Ty5wcm90b3R5cGUuVD1mdW5jdGlvbigpe0JzKHRoaXMpPT0yJiYodGhpcy5JPXFzKCgwLF8ueSkodGhpcy5GYyx0aGlzLHRoaXMuZyksdGhpcy53ZikpfTtPLnByb3RvdHlwZS5EPWZ1bmN0aW9uKCl7dGhpcy5JJiYoXy52LmNsZWFyVGltZW91dCh0aGlzLkkpLHRoaXMuST12b2lkIDApfTtPLnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7dGhpcy5wYSghMSk7Q3ModGhpcyk7dGhpcy5kZXRhY2goKTt0aGlzLkgoKSYmXy5BZCh0aGlzLkgoKSk7dGhpcy55YT1udWxsO2RlbGV0ZSB0aGlzLkc7Ty5lYS5NLmNhbGwodGhpcyl9O3ZhciBEcz1mdW5jdGlvbihhLGIpe2VuLmNhbGwodGhpcyxhLGIpfTtfLkcoRHMsZW4pOwpEcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7Yj1pcCgoYT9fLnNkKGEpOmRvY3VtZW50KS5kb2N1bWVudEVsZW1lbnQpO2M9Yz9uZXcgdm0oYy50b3ArMTAsYy5yaWdodCxjLmJvdHRvbSxjLmxlZnQrMTApOm5ldyB2bSgxMCwwLDAsMTApO3hzKHRoaXMuZyxhLDgsYyxiLDkpJjQ5NiYmeHModGhpcy5nLGEsOCxjLGIsNSl9O3ZhciBJcz1mdW5jdGlvbihhKXtkbi5jYWxsKHRoaXMsYSw1KX07Xy5HKElzLGRuKTtJcy5wcm90b3R5cGUuaD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IHpsKDEwLDApO3lzKHRoaXMuZWxlbWVudCx0aGlzLmosYSxiLGQsYyw5KSY0OTYmJnlzKHRoaXMuZWxlbWVudCw0LGEsMSxkLGMsNSl9O3ZhciBKcz1mdW5jdGlvbigpe08uY2FsbCh0aGlzKTt0aGlzLmxhPW51bGw7dGhpcy5SPW5ldyBfLkhiKHRoaXMpO3RoaXMuQj10aGlzLmo9dGhpcy5oPXRoaXMud2E9bnVsbDt0aGlzLk89ITB9O18uQihKcyxPKTtfLm09SnMucHJvdG90eXBlO18ubS5rYT1mdW5jdGlvbigpe3RoaXMuTz0hMTt2YXIgYT1fLnhmLnRlc3Qob3EpPyJydGwiOiJsdHIiO3RoaXMuUWIoa20ocHMse1VsOkVxLE9rOkNxLFJsOnhxLGRpcjphLGNqOklxfSkpO3RoaXMuY2xhc3NOYW1lKz0iIFZJcGdKZC15QVdORWItTDdsYmtiIHNraXB0cmFuc2xhdGUiOyhhPSEoIXRoaXMuSCgpfHwhdGhpcy5CKSkmJnRoaXMuUi5OKHdpbmRvdywicmVzaXplIiwoMCxfLnkpKHRoaXMucGIsdGhpcykpO3JldHVybiBhfTtfLm0uZGU9ZnVuY3Rpb24oYSxiKXt0aGlzLmxhPWE7Ty5wcm90b3R5cGUuZGUuY2FsbCh0aGlzLGEsYik7dGhpcy5IKCkuc3R5bGUuZGlzcGxheT0iYmxvY2sifTsKXy5tLlVkPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLk8pe3ZhciBiPUZzKHRoaXMsYS50YXJnZXQpO3RoaXMueWE9Yjt0aGlzLkQoKTtiIT10aGlzLmc/KHRoaXMuZz1iLEdzKHRoaXMsYiksSHModGhpcyksRXModGhpcyxhKSk6R3ModGhpcyxiKX19O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5SJiZ0aGlzLlIuZGlzcG9zZSgpO3RoaXMuQj10aGlzLmxhPXRoaXMuUj1udWxsO08ucHJvdG90eXBlLk0uY2FsbCh0aGlzKX07Xy5tLnJlPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaXNWaXNpYmxlKCkpe2E9KHRoaXMuRGM9YSk/dGhpcy5sLk46dGhpcy5sLnljO3ZhciBiPV8uc2QodGhpcy5IKCkpO2EuY2FsbCh0aGlzLmwsYiwibW91c2Vkb3duIix0aGlzLk5mLCEwKX1lbHNlIE8ucHJvdG90eXBlLnJlLmNhbGwodGhpcyxhKX07Xy5tLlFiPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLlFiLmNhbGwodGhpcyxhKTthJiYodGhpcy5CPXZvKGEpKX07Cl8ubS5wYj1mdW5jdGlvbihhLGIpe3ZhciBjPWhwKGRvY3VtZW50LmJvZHkpLnk7aWYodGhpcy5vKXsodGhpcy5vfHxudWxsKS5nLnkrPWM7Ty5wcm90b3R5cGUucGIuY2FsbCh0aGlzKTt2YXIgZD1wYXJzZUludCh0aGlzLkgoKS5zdHlsZS5sZWZ0LDEwKTthPXBhcnNlSW50KHRoaXMuSCgpLnN0eWxlLnRvcCwxMCktKGE/MDpjKTtiJiYoYj10aGlzLlhifHx7fSxhLT1iLnRvcHx8MTAsZC09Yi5sZWZ0fHwxMCk7YS09YzsodGhpcy5vfHxudWxsKS5nLnk9YTsodGhpcy5vfHxudWxsKS5nLng9ZDtjPW5ldyB6bChkLGEpO2VwKHRoaXMuSCgpLGMpfX07Xy5tLnBhPWZ1bmN0aW9uKGEpe08ucHJvdG90eXBlLnBhLmNhbGwodGhpcyxhKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMuaD1hfTtfLm0ubmE9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O18ubS5LYT1mdW5jdGlvbihhKXthPWE/Xy5BYyhhKToiIjt0aGlzLkI/Xy5DZCh0aGlzLkIsYSk6Ty5wcm90b3R5cGUuS2EuY2FsbCh0aGlzLGEpfTsKXy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaH07Xy5tLm9hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5tLnZkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj9Fbyh0aGlzLkIpOk8ucHJvdG90eXBlLnZkLmNhbGwodGhpcyl9O18ubS5OYj1mdW5jdGlvbihhKXt0aGlzLk98fE8ucHJvdG90eXBlLk5iLmNhbGwodGhpcyxhKX07Xy5tLlVjPWZ1bmN0aW9uKGEpe3RoaXMuT3x8Ty5wcm90b3R5cGUuVWMuY2FsbCh0aGlzLGEpfTtfLm0uVGM9ZnVuY3Rpb24oYSl7dGhpcy5PfHxPLnByb3RvdHlwZS5UYy5jYWxsKHRoaXMsYSl9O3ZhciBLcz1mdW5jdGlvbigpe3RoaXMuaD1uZXcgTWFwO3RoaXMuZz1XcShjcil9LE9zPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09TXMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDUpO2VyKGQsZSk7ZnIoZSw1KX1OcyhjLE1zKX0sITEpfSxRcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10aHVtYkRvd25CdXR0b24iKSxjPWEuaCxkPWEuZztiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe2lmKExzKGMpPT09UHMpZ3IoZCk7ZWxzZXt2YXIgZT1kcihkLDYpO2VyKGQsZSk7ZnIoZSw2KX1OcyhjLFBzKX0sITEpfSxUcz1mdW5jdGlvbihhKXt2YXIgYj1nbigiZ29vZy1ndC10dCIpLGM9Yi5kYXRhc2V0LGQ9Z24oImdvb2ctZ3Qtdm90aW5nSW5wdXRTcmNMYW5nIiksZT1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFRyZ0xhbmciKSwKZj1nbigiZ29vZy1ndC12b3RpbmdJbnB1dFNyY1RleHQiKSxnPWduKCJnb29nLWd0LXZvdGluZ0lucHV0VHJnVGV4dCIpLGg9dm8oKSxrPWduKCJnb29nLWd0LXRyYW5zbGF0aW9uIiksbD1hLmgsbj1hLmc7d2luZG93LmRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZ29vZy1ndC1wb3B1cFNob3duIixmdW5jdGlvbihxKXt2YXIgcD1kcihuLDQpO2VyKG4scCk7ZnIocCw0KTtxPXEuZGV0YWlsO3A9U3RyaW5nKHEuR2QpO3E9cS5YaTtjLmlkPXA7cD1sLmdldChwKXx8UnM7U3MocCk7Yi5zdHlsZS53aWR0aD1NYXRoLm1heChNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aC0xNiw1MzYpLDI4OCkrInB4IjtwPXEuSmEoKXx8IiI7dmFyIHI9cS5vYSgpfHwiIjtkLnZhbHVlPXA7ZS52YWx1ZT1yO2YudmFsdWU9cS52ZCgpO2cudmFsdWU9cS53YTtrJiYoay5pbm5lclRleHQ9cS53YSk7Yi5sYW5nPW9xO2gubGFuZz1wO2smJihrLmxhbmc9cik7Xy54Zi50ZXN0KHApJiYoaC5jbGFzc0xpc3QuYWRkKCJydGwiKSwKaC5kaXI9InJ0bCIpO2smJl8ueGYudGVzdChyKSYmKGsuY2xhc3NMaXN0LmFkZCgicnRsIiksay5kaXI9InJ0bCIpfSwhMSl9LFNzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXRodW1iVXBCdXR0b24iKSxjPWduKCJnb29nLWd0LXRodW1iVXBJY29uIiksZD1nbigiZ29vZy1ndC10aHVtYlVwSWNvbkZpbGxlZCIpLGU9Z24oImdvb2ctZ3QtdGh1bWJEb3duQnV0dG9uIiksZj1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uIiksZz1nbigiZ29vZy1ndC10aHVtYkRvd25JY29uRmlsbGVkIik7Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Yy5zdHlsZS5kaXNwbGF5PSIiO2Quc3R5bGUuZGlzcGxheT0ibm9uZSI7ZS5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsImZhbHNlIik7Zi5zdHlsZS5kaXNwbGF5PSIiO2cuc3R5bGUuZGlzcGxheT0ibm9uZSI7c3dpdGNoKGEpe2Nhc2UgTXM6Yi5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsInRydWUiKTtjLnN0eWxlLmRpc3BsYXk9CiJub25lIjtkLnN0eWxlLmRpc3BsYXk9IiI7YnJlYWs7Y2FzZSBQczplLnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwidHJ1ZSIpLGYuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS5kaXNwbGF5PSIifWduKCJnb29nLWd0LXZvdGluZ0lucHV0Vm90ZSIpLnZhbHVlPWF9LExzPWZ1bmN0aW9uKGEpe3ZhciBiPWduKCJnb29nLWd0LXR0IikuZGF0YXNldDtyZXR1cm4gYS5nZXQoYi5pZCl9LE5zPWZ1bmN0aW9uKGEsYil7THMoYSk9PT1iJiYoYj1Scyk7U3MoYik7dmFyIGM9Z24oImdvb2ctZ3QtdHQiKS5kYXRhc2V0O2Euc2V0KGMuaWQsYik7Z24oImdvb2ctZ3Qtdm90aW5nRm9ybSIpLnN1Ym1pdCgpfSxScz0oMCkudG9TdHJpbmcoKSxNcz0oMSkudG9TdHJpbmcoKSxQcz0oMikudG9TdHJpbmcoKTt2YXIgVXM9ZnVuY3Rpb24oYSl7dGhpcy5BPWE7dGhpcy5sPXRoaXMuaD10aGlzLm89dGhpcy5qPS0xO3RoaXMuZz0hMTt0aGlzLkM9MDt0aGlzLkQ9IiI7dGhpcy5GPTB9O1VzLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe2lmKCF0aGlzLmcpe3RoaXMuZz0hMDt2YXIgYT1bXSxiO2ZvcihiPTA7YjwxNTtiKyspYVtiXT1YcVswfE1hdGgucmFuZG9tKCkqNjJdO3RoaXMuRD1hLmpvaW4oIiIpO3RoaXMuQz0wO3RoaXMubD10aGlzLmg9dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkY9RGF0ZS5ub3coKTtxcyh0aGlzLkIsMUU0LHRoaXMpfX07VXMucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmcmJih0aGlzLmc9ITEsVnModGhpcykpfTtVcy5wcm90b3R5cGUuQj1mdW5jdGlvbigpe3RoaXMuZyYmKFZzKHRoaXMpLHFzKHRoaXMuQiwxRTMsdGhpcykpfTsKdmFyIFZzPWZ1bmN0aW9uKGEpe3ZhciBiPWEuQS5sLGM9YS5BLkEsZD1hLkEuaixlPWEuQS5vO2lmKGEuaiE9Ynx8YS5vIT1jfHxhLmghPWR8fGEubCE9ZSl7dmFyIGY9e307Zi5jdD1iO2YuY3Y9YztmLmN0cz1kO2YuY3ZzPWU7Zi5zaWQ9YS5EO2Yuc2VxPWEuQysrO2YudGF0PURhdGUubm93KCktYS5GO2lmKGEuaj49MHx8YS5vPj0wfHxhLmg+PTB8fGEubD49MClmLnB0PWEuaixmLnB2PWEubyxmLnB0cz1hLmgsZi5wdnM9YS5sO1FtKCJ0ZV92IixmKTthLmo9YjthLm89YzthLmg9ZDthLmw9ZX19O3ZhciBXcz1mdW5jdGlvbigpe3RoaXMubz10aGlzLmo9dGhpcy5BPXRoaXMubD0wO3RoaXMuZz1bXTt0aGlzLmg9Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoMCxfLnkpKHRoaXMuQix0aGlzKSk6bnVsbH07V3MucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihhLGIpe3RoaXMuais9Yjt2YXIgYz10aGlzLmcubGVuZ3RoO3RoaXMuZy5wdXNoKGIpO2ZvcihiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBkPWFbYl07eW8oZCk/KGRbWHNdPWMsdGhpcy5sKz1FbyhkKS5sZW5ndGgsdGhpcy5oJiZ0aGlzLmgub2JzZXJ2ZShkKSk6dGhpcy5GZihkLm5vZGVUeXBlKX19O1dzLnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2Ipe3ZhciBjPWFbYl07eW8oYyk/KGNbWHNdPXZvaWQgMCx0aGlzLmgmJnRoaXMuaC51bm9ic2VydmUoYykpOnRoaXMuRmYoYy5ub2RlVHlwZSl9fTsKV3MucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5vPXRoaXMuaj10aGlzLkE9dGhpcy5sPTA7dGhpcy5nPVtdfTtXcy5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtmb3IodmFyIGI9MDtiPGEubGVuZ3RoO2IrKyl7dmFyIGM9YVtiXTtpZihjLmludGVyc2VjdGlvblJhdGlvPjAmJmMudGFyZ2V0W1hzXSE9bnVsbCl7dGhpcy5BKz1FbyhjLnRhcmdldCkubGVuZ3RoO3ZhciBkPWMudGFyZ2V0W1hzXTt0aGlzLm8rPXRoaXMuZ1tkXTt0aGlzLmdbZF09MDtkZWxldGUgYy50YXJnZXRbWHNdfX19O0RyLmF0dGFjaCgzNjU0NixXcy5wcm90b3R5cGUse0ZmOjF9KTt2YXIgWHM9Il9ndF8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyKTt2YXIgWXM9e307WXMuYWRkPWtuO1lzLkRrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1obihhKTt0eXBlb2YgYj09PSJzdHJpbmciP18udmEoZCxiKTpBcnJheS5pc0FycmF5KGIpJiYoZD1sbihkLGIpKTt0eXBlb2YgYyE9PSJzdHJpbmcifHxfLnRhKGQsYyk/QXJyYXkuaXNBcnJheShjKSYmam4oZCxjKTpkLnB1c2goYyk7YS5jbGFzc05hbWU9ZC5qb2luKCIgIil9O1lzLmVuYWJsZT1vbjtZcy5nZXQ9aG47WXMuaGFzPW5uO1lzLnJlbW92ZT1tbjtZcy5zZXQ9ZnVuY3Rpb24oYSxiKXthLmNsYXNzTmFtZT1ifTtZcy5obT1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPWhuKGEpLGU9ITEsZj0wO2Y8ZC5sZW5ndGg7ZisrKWRbZl09PWImJihkLnNwbGljZShmLS0sMSksZT0hMCk7ZSYmKGQucHVzaChjKSxhLmNsYXNzTmFtZT1kLmpvaW4oIiAiKSk7cmV0dXJuIGV9O1lzLnRvZ2dsZT1mdW5jdGlvbihhLGIpe3ZhciBjPSFubihhLGIpO29uKGEsYixjKTtyZXR1cm4gY307dmFyIFpzPWZ1bmN0aW9uKGEpe18uaGIuY2FsbCh0aGlzKTthPWF8fHt9O3RoaXMuZz1KbChhKTt0aGlzLmcuaGM9YS5oYyE9PXZvaWQgMD9hLmhjOjE7dGhpcy5nLnZlPSEhYS52ZTt0aGlzLmcuYmg9cGFyc2VJbnQoYS5iaCwxMCl8fDMwMDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5PWEudHJhY2tWaXNpYmlsaXR5fHwhMTt0aGlzLmcuYXBpS2V5PWEuYXBpS2V5fHwiIjt0aGlzLkM9MDt0aGlzLmw9e307dGhpcy5CPW51bGw7dGhpcy5GPXRoaXMuRD0iIjt0aGlzLm89bmV3IF8uSGIodGhpcyk7dGhpcy5BPXRoaXMuaj10aGlzLmg9bnVsbDt0aGlzLmcudHJhY2tWaXNpYmlsaXR5JiZfLnYuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIhPW51bGwmJih0aGlzLmo9bmV3IFdzLHRoaXMuQT1uZXcgVXModGhpcy5qKSk7dGhpcy5oPW5ldyBKcyh7U2k6dGhpcy5nLlNpfSk7dGhpcy5oLndmPTMwMDt0aGlzLmguWmY9MUUzO3RoaXMuaC5yZSghMCk7dGhpcy5vLk4odGhpcy5oLCJzaG93IiwoMCxfLnkpKHRoaXMub2csCnRoaXMpKTt0aGlzLm8uTih0aGlzLmgsImhpZGUiLCgwLF8ueSkodGhpcy5uZyx0aGlzKSk7dGhpcy5oLmthKCk7YT1uZXcgS3M7Z24oImdvb2ctZ3QtdGh1bWJVcEJ1dHRvbiIpJiYoT3MoYSksUXMoYSksVHMoYSkpfTtfLkIoWnMsXy5oYik7dmFyICRzPWZ1bmN0aW9uKGEpe2EuQSYmYS5BLnN0b3AoKTtmb3IodmFyIGIgaW4gYS5sKXt2YXIgYz1hLGQ9Yy5sW2JdO2lmKGQpe2MuaiYmYy5qLmRldGFjaChkLkFhKTtmb3IodmFyIGU9MDtlPGQuQWEubGVuZ3RoOysrZSlkLkFhW2VdJiZjLmRldGFjaChkLkFhW2VdKTtkZWxldGUgYy5sW2JdfX1hLmomJmEuai5yZXNldCgpfTtfLm09WnMucHJvdG90eXBlO18ubS5hdHRhY2g9ZnVuY3Rpb24oYSxiKXtiJiYoYi5HZD1hLHRoaXMuaC5hdHRhY2goYikpfTtfLm0uZGV0YWNoPWZ1bmN0aW9uKGEpe2EmJnRoaXMuaC5kZXRhY2goYSl9OwpfLm0ub2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgubGE7YT1hP2EuR2Q6dm9pZCAwO2lmKGEhPT12b2lkIDApe3ZhciBiPXRoaXMubFthXTthdCh0aGlzLHRoaXMuQiwhMSk7dGhpcy5CPWE7YXQodGhpcyxhKTt0aGlzLmguTmEoYi5UaSk7dGhpcy5oLm5hKGIuVmkpO3ZhciBjPWIuWjt0aGlzLmgud2E9YyYmXy5BYyhjKTt0aGlzLmguS2EoYi50ZXh0KX1hPW5ldyBDdXN0b21FdmVudCgiZ29vZy1ndC1wb3B1cFNob3duIix7ZGV0YWlsOntHZDphLFhpOnRoaXMuaH19KTt3aW5kb3cuZG9jdW1lbnQuYm9keS5kaXNwYXRjaEV2ZW50KGEpfTtfLm0ubmc9ZnVuY3Rpb24oKXthdCh0aGlzLHRoaXMuQiwhMSl9O18ubS5NPWZ1bmN0aW9uKCl7JHModGhpcyk7dGhpcy5oJiYodGhpcy5oLmRpc3Bvc2UoKSx0aGlzLmg9bnVsbCk7dGhpcy5vJiYodGhpcy5vLmRpc3Bvc2UoKSx0aGlzLm89bnVsbCk7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpfTsKdmFyIGF0PWZ1bmN0aW9uKGEsYixjKXtpZihhPWEubFtiXSlmb3IoYz1jfHx0eXBlb2YgYz09InVuZGVmaW5lZCIsYj0wO2I8YS5BYS5sZW5ndGg7KytiKWlmKGEuQWFbYl0pWXNbYz8iYWRkIjoicmVtb3ZlIl0oYS5BYVtiXSwiVklwZ0pkLXlBV05FYi1WSXBnSmQtZm1jbVMtc241NFEiKX07dmFyIGJ0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7KytiKWlmKGFbYl0mJmFbYl0ubm9kZSlyZXR1cm4gYVtiXS5ub2RlO3JldHVybiBudWxsfSxmdD1mdW5jdGlvbihhKXt2YXIgYj1idChhKTtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1bXSxkPVtdLGU9W107Yj1uZXcgZHMoYiwhMCk7dmFyIGY9YVthLmxlbmd0aC0xXS5ub2RlLGc9MCxoPSExO2Rve2IubmV4dCgpO3ZhciBrPWIubm9kZSgpO2lmKCFrKWJyZWFrO3ZhciBsPWIuZy5nLG49Yi5kZXB0aCgpO2ZvcihsPT0xJiYtLW47ZzxhLmxlbmd0aCYmIWFbZ10ubm9kZTspKytnO2s9PWFbZ10ubm9kZXx8IWgmJmw9PTEmJihrIT1udWxsJiZrLnByZXZpb3VzU2libGluZz09bnVsbD8wOiFjdChkdChrKSkpPyhsPWV0KGspLGQucHVzaCh7bm9kZTpsLEthOmZ1bmN0aW9uKCl7fX0pLGVbZC5sZW5ndGgtMV09bixrLnBhcmVudE5vZGUmJmsucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxrKSxrPT1hW2ddLm5vZGUmJgooY1tnKytdPWQubGVuZ3RoLTEsaD0hMCkpOmg9ITF9d2hpbGUoayE9Zik7cmV0dXJue3plOmUsR2k6YyxkaTpkfX0sY3Q9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJlhyW2EudGFnTmFtZV19LGR0PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIG51bGw7Zm9yKGE9YS5wcmV2aW91c1NpYmxpbmc7YSE9bnVsbCYmYSE9bnVsbCYmYS5ub2RlVHlwZT09MyYmXy5BYyhFbyhhKSk9PSIiOylhPWEucHJldmlvdXNTaWJsaW5nO3JldHVybiBhfSxqdD1mdW5jdGlvbihhLGIsYyxkLGUsZil7Xy5oYi5jYWxsKHRoaXMpO3RoaXMuZz1bXTtmb3IodmFyIGc9MDtnPGEubGVuZ3RoOysrZyl0aGlzLmcucHVzaCgibm9kZVR5cGUiaW4gYVtnXT9ndChhW2ddKTphW2ddKSxodChhW2ddLm5vZGUpO3RoaXMubD1iO3RoaXMuRD1kfHwwO3RoaXMuUj1lfHwwO3RoaXMuQz1jO3RoaXMuQj1mfHxudWxsO3RoaXMuSz10aGlzLkc9dGhpcy5MPSExO3RoaXMubz1bXTt0aGlzLkE9W107dGhpcy5oPVtdOwp0aGlzLk89W107bmV3IF8uSGIodGhpcyk7dGhpcy5qPXRoaXMuST0hMX0sZ3Q7Xy5CKGp0LF8uaGIpOwp2YXIgbXQ9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuITE7aWYoYS5ub2RlVHlwZSE9M3x8IV8uU2MpcmV0dXJuIGt0IGluIGEmJiEhYVtrdF07aWYoIWEucGFyZW50Tm9kZSlyZXR1cm4hMDtpZighKGx0IGluIGEucGFyZW50Tm9kZSkpcmV0dXJuITE7dmFyIGI9YS5wYXJlbnROb2RlW2x0XTtpZighYnx8IWJbYS5ub2RlVmFsdWVdKXJldHVybiExO2I9YlthLm5vZGVWYWx1ZV07Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDsrK2MpaWYoYltjXT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sbnQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4iIjtpZihhLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJuIFN0cmluZyhkb2N1bWVudC50aXRsZSk7YS5ub2RlVHlwZT09Mz9iPSJub2RlVmFsdWUiOmJ8fChiPSJ2YWx1ZSIpO3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoYik/U3RyaW5nKGEuZ2V0QXR0cmlidXRlKGIpKTp0eXBlb2YgYVtiXT09PSJzdHJpbmciP1N0cmluZyhhW2JdKToKIiJ9O2p0LnByb3RvdHlwZS5tYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmx9Owp2YXIgb3Q9ZnVuY3Rpb24oYSxiLGMpe2I9e1BmOmIsaGU6YyxVOltdfTthLmgucHVzaChiKTtyZXR1cm4gYn0scXQ9ZnVuY3Rpb24oYSl7aWYoIWEuaiYmYS5MJiYhYS5HJiYhYS5LKXthLkc9ITA7dmFyIGI7aWYoYj1wdChhLmcpKXtiPWEuZzt2YXIgYz1hLmg7aWYoYi5sZW5ndGg9PTEmJmJbMF0mJmJbMF0ueGUpe2Zvcih2YXIgZD1bXSxlPTA7ZTxjLmxlbmd0aDsrK2UpZm9yKHZhciBmPTA7ZjxjW2VdLlUubGVuZ3RoOysrZilkLnB1c2goY1tlXS5VW2ZdLlopO2JbMF0uS2EoZC5qb2luKCIgIiksYlswXS5ub2RlKTtiPSEwfWVsc2UgYj0hMTtiPSFifWlmKGImJihiPWZ0KGEuZykpKXthLkE9Yi5HaTthLm89Yi5kaTtkPWEuZztlPWEuQTtmPWEubzt2YXIgZz1iLnplO2M9W107Zm9yKHZhciBoPTA7aDxkLmxlbmd0aDsrK2gpaWYoY1toXT1bXSxkW2hdLm5vZGUmJmVbaF0hPT12b2lkIDApZm9yKHZhciBrPTA7azxmLmxlbmd0aDsrK2spaWYoIShnW2tdPmdbZVtoXV0pKXtpZihnW2tdPT0KZ1tlW2hdXSl7aWYoZltrXS5ub2RlLnBhcmVudE5vZGUhPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWVsc2V7Zm9yKHZhciBsPWdbZVtoXV0tZ1trXSxuPWZbZVtoXV0ubm9kZS5wYXJlbnROb2RlO2wtLSYmbiYmbiE9ZltrXS5ub2RlLnBhcmVudE5vZGU7KW49bi5wYXJlbnROb2RlO2lmKG4hPWZba10ubm9kZS5wYXJlbnROb2RlKWNvbnRpbnVlfWNbaF0ucHVzaChrKX1kPWEuZztlPWEuaDtmPS0xO2ZvcihnPWUubGVuZ3RoLTE7Zz49MDstLWcpZm9yKGg9ZVtnXSxrPWguVS5sZW5ndGgtMTtrPj0wOy0taylpZihsPWguVVtrXSwhKGwuWDwwKSYmZFtsLlhdJiZkW2wuWF0ubm9kZSlpZihmPDApbC5YYz1pcihjW2wuWF0pLGY9Y1tsLlhdW2NbbC5YXS5sZW5ndGgtMV07ZWxzZSBmb3Iobj1jW2wuWF0ubGVuZ3RoLTE7bj49MDstLW4paWYoY1tsLlhdW25dPD1mKXtsLlhjPWlyKGNbbC5YXS5zbGljZSgwLG4rMSkpO2Y9Y1tsLlhdW25dO2JyZWFrfWZvcihjPWU9MDtjPGEuaC5sZW5ndGg7KytjKXtkPQphLmhbY107Zj1hLmc7Zz1kO2g9Yi56ZTtrPWEuQTtsPSIiO2ZvcihuPTA7bjxnLlUubGVuZ3RoOysrbil7dmFyIHE9Zy5VW25dO2wrPXEuWjtpZihxLlg8MCl7dmFyIHA9LTEscj0tMSx0PWtbZy5VW24tMV0uWF07dCE9PXZvaWQgMCYmKHA9aFt0XSk7bjxnLlUubGVuZ3RoLTEmJih0PWtbZy5VW24rMV0uWF0sdCE9PXZvaWQgMCYmKHI9aFt0XSkpO2lmKHA+PTB8fHI+PTApYTppZih0PShwPDB8fHI8cCkmJm48Zy5VLmxlbmd0aC0xLHA9ZixyPXEscT1nLlVbdD9uKzE6bi0xXSwhKHEuWD49cC5sZW5ndGh8fHBbcS5YXS5ub2RlPT1udWxsKSl7cD1yLlo7ci5aPSIiO2lmKC9eICskLy50ZXN0KHApJiYocj10P3EuWi5jaGFyQ29kZUF0KDApOnEuWi5jaGFyQ29kZUF0KHEuWi5sZW5ndGgtMSksMzU4NDw9ciYmcjw9MzcxMXx8MTIyODg8PXImJnI8PTEyMzUxfHwxMjM1Mjw9ciYmcjw9MTI1NDN8fDEyNzg0PD1yJiZyPD0xMjc5OXx8MTk5Njg8PXImJnI8PTQwOTU5fHw2NTI4MDw9ciYmcjw9CjY1NTE5KSlicmVhayBhO3EuWj10P3ArcS5aOnEuWitwfX19Zj1sO2c9YS5nO2g9ZDtrPWEubztsPWIuemU7bj1hLkE7cT1bXTtmb3IocD0wO3A8aC5VLmxlbmd0aCYmIShlPj1rLmxlbmd0aCk7KytwKWlmKHI9aC5VW3BdLHIuWGMmJiEoci5YPDApJiZnW3IuWF0ubm9kZSYmci5aKWlmKGU9PW5bci5YXXx8ZSBpbiByLlhjJiYoIShlKzEgaW4gci5YYyl8fGUrMSE9bltyLlhdKSl7aWYoa1tlXSYma1tlXS5ub2RlKXt0PWV0KGtbZV0ubm9kZSk7cS5wdXNoKHQpO2Zvcih2YXIgQT1rW2VdLm5vZGUsRD1sW25bci5YXV0tbFtlXSxFPXQsYmE9Z1tyLlhdLm5vZGUucGFyZW50Tm9kZSxaPUU7YmEmJkQtLTspWj1iYS5jbG9uZU5vZGUoITEpLFouYXBwZW5kQ2hpbGQoRSksYmE9YmEucGFyZW50Tm9kZSxFPVo7QS5hcHBlbmRDaGlsZChaKTtBPWdbci5YXS5ub2RlO2dbci5YXS5yZD9nW3IuWF0uemZ8fHQuYXBwZW5kQ2hpbGQoQSk6KEE9Z1tyLlhdLm5vZGUuY2xvbmVOb2RlKCExKSxBLmlkJiYKKEEuaWQ9IiIpLHQuYXBwZW5kQ2hpbGQoQSkpO2dbci5YXS5LYShyLlosQSl9fWVsc2UrK2UsLS1wO2c9cTtuPWEuZztxPWQ7aD1hLkM7aWYocS5QZiloPXEuUGY7ZWxzZXtsPW4ubGVuZ3RoO2s9LTE7Zm9yKHA9MDtwPHEuVS5sZW5ndGg7KytwKXI9cS5VW3BdLlgscj49MCYmbltyXSYmbltyXS5ub2RlJiYoaz1NYXRoLm1heChrLHIpLGw9TWF0aC5taW4obCxyKSk7Zm9yKG49IiI7bDw9azsrK2wpaFtsXSYmKG4rPWhbbF0pO2g9bn1sPWE7bj1nO3E9aDtpZihsLkIpe2lmKGwuQi5nLmhjIT0zKXtnPWwuTztoPWcucHVzaDtrPWwuQjtkPWQuaGU7ZD1rLmxbKytrLkNdPXtpZDprLkMudG9TdHJpbmcoKSxSazpsLHRleHQ6cSxmbTpkfHxxLFo6ZixUaTprLkQsVmk6ay5GLEFhOm59O2ZvcihmPTA7ZjxuLmxlbmd0aDsrK2YpbltmXSYmay5hdHRhY2goZC5pZCxuW2ZdKTtrLmomJmsuai5hdHRhY2gobixxLmxlbmd0aCk7ay5BJiZrLkEuc3RhcnQoKTtoLmNhbGwoZyxkLmlkKX19ZWxzZSBmb3IoZD0KMDtkPG4ubGVuZ3RoOysrZCluW2RdLnRpdGxlPXF9Yj1hLmc7Zm9yKGM9MDtjPGIubGVuZ3RoOysrYyliW2NdLm5vZGUmJiFiW2NdLnJkJiZfLkFkKGJbY10ubm9kZSk7Yj1hLmc7Yz1hLm87YT1hLkE7Zm9yKGU9ZD0wO2U8Yy5sZW5ndGg7KytlKWlmKGY9Y1tlXS5ub2RlKXtmb3IoO2Q8Yi5sZW5ndGgmJmU+YVtkXTspZCsrOyhkPj1iLmxlbmd0aHx8ZSE9YVtkXSkmJiFmLmZpcnN0Q2hpbGQmJihfLkFkKGYpLGNbZV0ubm9kZT1udWxsKX19fX07Cmp0LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5HKWlmKHRoaXMuRz0hMSx0aGlzLkImJiRzKHRoaXMuQiksdGhpcy5PPVtdLHB0KHRoaXMubyksdGhpcy5nLmxlbmd0aD09MSYmdGhpcy5nWzBdLnhlKXRoaXMuZ1swXS5LYSh0aGlzLkNbMF0sdGhpcy5nWzBdLm5vZGUpO2Vsc2V7Zm9yKHZhciBhPTAsYj0wO2I8dGhpcy5vLmxlbmd0aDsrK2Ipe3ZhciBjPXRoaXMub1tiXS5ub2RlO2lmKGMpe2Zvcig7YTx0aGlzLmcubGVuZ3RoJiZiPnRoaXMuQVthXTspe3ZhciBkPWErKzt0aGlzLmdbZF0ubm9kZSYmKHJ0KHRoaXMuZ1tkXS5ub2RlKSx0aGlzLmdbZF0ubm9kZT1udWxsKX1pZihhPHRoaXMuZy5sZW5ndGgmJmI9PXRoaXMuQVthXSYmdGhpcy5nW2FdLm5vZGUpe3RoaXMuZ1thXS56Znx8KF8uemQoYyksYy5hcHBlbmRDaGlsZCh0aGlzLmdbYV0ubm9kZSkpO3RoaXMuZ1thXS5LYSh0aGlzLkNbYV0sdGhpcy5nW2FdLm5vZGUpO2ErKzt2YXIgZT1jLnBhcmVudE5vZGU7CmlmKGUmJmUubm9kZVR5cGUhPTExKWlmKGMucmVtb3ZlTm9kZSljLnJlbW92ZU5vZGUoITEpO2Vsc2V7Zm9yKDtkPWMuZmlyc3RDaGlsZDspZS5pbnNlcnRCZWZvcmUoZCxjKTtfLkFkKGMpfX1lbHNlIF8uQWQoYyl9fXRoaXMubz1bXX19O2p0LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy5oYi5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpO2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpdGhpcy5nW2FdLm5vZGUmJnJ0KHRoaXMuZ1thXS5ub2RlKTt0aGlzLmc9bnVsbH07CnZhciBodD1mdW5jdGlvbihhKXtpZihhKWlmKGEubm9kZVR5cGU9PTMmJl8uU2Mpe2x0IGluIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlW2x0XXx8KGEucGFyZW50Tm9kZVtsdF09e30pO3ZhciBiPWEucGFyZW50Tm9kZVtsdF07YlthLm5vZGVWYWx1ZV18fChiW2Eubm9kZVZhbHVlXT1bXSk7Yj1iW2Eubm9kZVZhbHVlXTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYylpZihiW2NdPT1hKXJldHVybjtiLnB1c2goYSl9ZWxzZSBhW2t0XT0xfSxydD1mdW5jdGlvbihhKXtpZighYXx8YS5ub2RlVHlwZT09MyYmXy5TYyl7dmFyIGI9YS5wYXJlbnROb2RlO2lmKGImJmx0IGluIGIpe3ZhciBjPWJbbHRdO2lmKGMmJmEmJmNbYS5ub2RlVmFsdWVdKXt2YXIgZD1jW2Eubm9kZVZhbHVlXTtpZihkKWZvcih2YXIgZT0wO2U8ZC5sZW5ndGg7KytlKWlmKGRbZV09PWEpe2Quc3BsaWNlKGUsMSk7YnJlYWt9ZC5sZW5ndGg9PTAmJmRlbGV0ZSBjW2Eubm9kZVZhbHVlXX1pZihjJiZ3cihjKSl0cnl7ZGVsZXRlIGJbbHRdfWNhdGNoKGYpe2JbbHRdPQoiIn19fWVsc2UgaWYoa3QgaW4gYSl0cnl7ZGVsZXRlIGFba3RdfWNhdGNoKGYpe2Fba3RdPSIifX0scHQ9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpdHJ5e2FbYl0ubm9kZSYmIWFbYl0ubm9kZS5wYXJlbnROb2RlJiYoYVtiXS5ub2RlPW51bGwpfWNhdGNoKGMpe2FbYl0ubm9kZT1udWxsfWZvcihiPWEubGVuZ3RoLTE7Yj49MCYmIWFbYl0ubm9kZTstLWIpO2EubGVuZ3RoPWIrMTtyZXR1cm4gYS5sZW5ndGh9LGV0PWZ1bmN0aW9uKGEpe2E9YS5vd25lckRvY3VtZW50P2Eub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb250Iik6Xy53ZChkb2N1bWVudCwiZm9udCIpO2h0KGEpO2Euc3R5bGUudmVydGljYWxBbGlnbj0iaW5oZXJpdCI7Xy5vaShfLlppKHBxLDIpKSYmKGEuZGlyPSJhdXRvIik7cmV0dXJuIGF9LHN0PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEuZy5sZW5ndGg7YysrKXt2YXIgZD1hLmdbY10ubm9kZTtkIT1udWxsJiYKYi5hZGQoZCl9cmV0dXJuIGJ9LHR0PWZ1bmN0aW9uKCl7dGhpcy5oPXt9O3RoaXMuZz17fX07dHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmhbYV0hPW51bGx8fHRoaXMuZ1thXSE9bnVsbHx8YiYmKGEgaW4gdGhpcy5ofHxhIGluIHRoaXMuZyl9O3R0LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIpe3RoaXMuZ1thXT1ifTt0dC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2RlbGV0ZSB0aGlzLmdbYV07ZGVsZXRlIHRoaXMuaFthXX07dHQucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nW2FdO2J8fChiPXRoaXMuaFthXSx0aGlzLmdbYV09Yik7cmV0dXJuIGJ9O3ZhciBrdD0iX2d0XyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpLGx0PSJfZ3RuXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIpOwooZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGMpe2RvY3VtZW50LnRpdGxlPWN9dmFyIGI9e307Z3Q9ZnVuY3Rpb24oYyxkKXtpZihjLnRhZ05hbWU9PSJUSVRMRSIpcmV0dXJue25vZGU6YyxLYTphLHJkOiEwLHpmOiEwLHhlOiEwfTtpZihjLm5vZGVUeXBlPT0zKXJldHVybntub2RlOmMsS2E6ZnVuY3Rpb24oZSxmKXtfLkNkKGYsZSl9fTtkfHwoZD0idmFsdWUiKTtiW2RdfHwoYltkXT1mdW5jdGlvbihlLGYpe2Yuc2V0QXR0cmlidXRlJiZmLnNldEF0dHJpYnV0ZShkLGUpO3R5cGVvZiBlPT09InN0cmluZyImJihmW2RdPWUpfSk7Yz17bm9kZTpjLEthOmJbZF0scmQ6ITB9O2QhPSJ2YWx1ZSImJihjLnhlPSEwKTtyZXR1cm4gY319KSgpOwp2YXIgdXQ9ZnVuY3Rpb24oYSxiLGMsZCl7ZD1kLmZpcnN0Q2hpbGQmJmQuZmlyc3RDaGlsZC5ub2RlVHlwZT09Mz9kLmZpcnN0Q2hpbGQubm9kZVZhbHVlOkVvKGQpO2Q9e1g6YyxaOnBvKGQpfTthLnB1c2goZCk7YltjXT9iW2NdLmVuZD1kOmJbY109e3N0YXJ0OmQsZW5kOmR9O3JldHVybiBkfSx2dD1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1hLmZpcnN0Q2hpbGQ7YztjPWIpYj1jLm5leHRTaWJsaW5nLGMubm9kZVR5cGUhPTMmJihjPT1hLmZpcnN0Q2hpbGQ/YS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGMsYSk6eG8oYyxhKSx2dChjKSl9O3ZhciB3dD1mdW5jdGlvbigpe3RoaXMuZz1bXX07d3QucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXt0aGlzLmcucHVzaChhKX07dmFyIHh0PWZ1bmN0aW9uKCl7dGhpcy5nPVtdfTtfLkIoeHQsd3QpO3h0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7aWYoYSlmb3IoO2EoKTspO307eHQuZz1mdW5jdGlvbigpe3JldHVybiBXcSh4dCl9O3ZhciB6dD1mdW5jdGlvbihhKXt0aGlzLmc9W107dGhpcy5oPS41O3l0KHRoaXMsYSk7dGhpcy5sPTA7dGhpcy5qPSEwO3RoaXMubz0oMCxfLnkpKHRoaXMuQSx0aGlzKX07Xy5CKHp0LHd0KTt2YXIgeXQ9ZnVuY3Rpb24oYSxiKXtiPjE/YS5oPTE6YjwuMDAxP2EuaD0uMDAxOmImJihhLmg9Yil9O3p0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7d3QucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMsYSk7dGhpcy5qJiZBdCh0aGlzKX07dmFyIEF0PWZ1bmN0aW9uKGEpe2Euaj0hMTt3aW5kb3cuc2V0VGltZW91dChhLm8sTWF0aC5taW4oYS5sLDVFMykpfTsKenQucHJvdG90eXBlLkE9ZnVuY3Rpb24oKXt2YXIgYT0obmV3IERhdGUpLmdldFRpbWUoKTtkb3t0aGlzLmcubGVuZ3RoJiYodGhpcy5nWzBdJiZ0aGlzLmdbMF0oKXx8dGhpcy5nLnNoaWZ0KCkpO3ZhciBiPSEhdGhpcy5nLmxlbmd0aDt2YXIgYz05NSp0aGlzLmgrNTt2YXIgZD0obmV3IERhdGUpLmdldFRpbWUoKS1hfXdoaWxlKGImJmQ8Yyk7dGhpcy5sPU1hdGguY2VpbChkKigxL3RoaXMuaC0xKSkrMTtiP0F0KHRoaXMpOnRoaXMuaj0hMH07dmFyIEJ0PWZ1bmN0aW9uKGEsYil7dGhpcy5EPWF8fG51bGw7dGhpcy5JPWJ8fHh0LmcoKTt0aGlzLkI9dGhpcy5BPXRoaXMuRz1udWxsO3RoaXMubD10aGlzLmo9ITE7dGhpcy5vPW51bGw7dGhpcy5nPVtdO3RoaXMuaD0wfSxDdD1mdW5jdGlvbihhLGIpe2Euanx8KGEuRz1iKX0sRHQ9ZnVuY3Rpb24oYSxiLGMpe2EuQT1jPygwLF8ueSkoYixjKTpifSxFdD1mdW5jdGlvbihhLGIsYyl7YS5CPWM/KDAsXy55KShiLGMpOmJ9LEZ0PWZ1bmN0aW9uKGEsYil7YS5qfHwoYS5qPSEwLGEuRj1iLGEuaCsrLGEubz1hLkcsYS5DKCkpfTtCdC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaCsrO3RoaXMuaj0hMTt0aGlzLmc9W119Owp2YXIgR3Q9ZnVuY3Rpb24oYSl7aWYoIWEuailyZXR1cm4gbnVsbDtmb3IodmFyIGI9ITEsYz0wO2M8YS5nLmxlbmd0aDsrK2MpaWYoYS5nW2NdLnRhcmdldD09PWEpe2EuZ1tjXS5yZWFkeT0hMTthLmdbY10uaGc9YS5oKzE7Yj0hMDticmVha31ifHxhLmcucHVzaCh7dGFyZ2V0OmEscmVhZHk6ITEsaGc6YS5oKzF9KTtyZXR1cm4oMCxfLnkpKGEuQyxhLGEsYS5oKzEpfSxIdD1mdW5jdGlvbihhKXtpZighYS5qKXJldHVybiEwO2Zvcih2YXIgYj0wO2I8YS5nLmxlbmd0aDsrK2IpaWYoYS5nW2JdLnRhcmdldD09PWEmJmEuZ1tiXS5oZz09YS5oKXJldHVybiBhLmdbYl0ucmVhZHk7cmV0dXJuITB9OwpCdC5wcm90b3R5cGUuQz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuail7aWYoYSlmb3IodmFyIGM9MDtjPHRoaXMuZy5sZW5ndGg7KytjKWlmKHRoaXMuZ1tjXS50YXJnZXQ9PT1hKXt0aGlzLmdbY10ucmVhZHk9ITA7YnJlYWt9dGhpcy5sfHx0aGlzLkkuYWRkKCgwLF8ueSkodGhpcy5XLHRoaXMsYnx8dGhpcy5oKSl9fTsKQnQucHJvdG90eXBlLlc9ZnVuY3Rpb24oYSl7aWYodGhpcy5oIT1hKXJldHVybiExO2E9dGhpcy5vO2lmKGE9PUl0KXJldHVybiB0aGlzLnN0b3AoKSx0aGlzLkEmJnRoaXMuQS5jYWxsKHRoaXMuRCx0aGlzLHRoaXMuRiksITE7dGhpcy5sPSEwO3RyeXt2YXIgYj1hLmNhbGwodGhpcy5ELHRoaXMsdGhpcy5GKTtpZighYil0aHJvdyBFcnJvcigpO31jYXRjaChjKXt0aGlzLnN0b3AoKTthPWM7aWYodGhpcy5CKXRoaXMuQi5jYWxsKHRoaXMuRCxhLHRoaXMsdGhpcy5GKTtlbHNlIHRocm93IGE7cmV0dXJuITF9ZmluYWxseXt0aGlzLmw9ITF9YiE9SnQmJih0aGlzLm89Yix0aGlzLmgrKyx0aGlzLkMoKSk7cmV0dXJuITF9O3ZhciBKdD1mdW5jdGlvbigpe30sSXQ9ZnVuY3Rpb24oKXt9O3ZhciBLdD1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEuY2xhc3NOYW1lPT0ic3RyaW5nIj9hLmNsYXNzTmFtZTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifSxMdD1mdW5jdGlvbihhLGIpe3R5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU9YjphLnNldEF0dHJpYnV0ZSYmYS5zZXRBdHRyaWJ1dGUoImNsYXNzIixiKX0sTXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QuY29udGFpbnMoYik6Xy50YShhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiKX0sTnQ9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighTXQoYSxiKSl7dmFyIGM9S3QoYSk7THQoYSxjKyhjLmxlbmd0aD4wPyIgIitiOmIpKX19LE90PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/YS5jbGFzc0xpc3QucmVtb3ZlKGIpOk10KGEsYikmJgpMdChhLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpLdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxmdW5jdGlvbihjKXtyZXR1cm4gYyE9Yn0pLmpvaW4oIiAiKSl9O3ZhciBRdD1mdW5jdGlvbihhLGIsYyxkLGUpe2I9Ynx8e307dGhpcy5XPWV8fFtdO3RoaXMuQT1bXTt0aGlzLkY9W107UHQodGhpcyxhfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYi5WZj09PXZvaWQgMHx8ISFiLlZmKTt0aGlzLkM9Y3x8anQ7dGhpcy5EPWIubGk7dGhpcy5qPXRoaXMuZz10aGlzLm89dGhpcy5kYz1udWxsO3RoaXMuQj0hIWIuYmo7dGhpcy5MPSEhYi5aaTt0aGlzLks9dGhpcy5CPzI3OjEzO3RoaXMuST0hMDt0aGlzLkc9W107dGhpcy5sPW5ldyBCdCh0aGlzLGQpfSxSdD1mdW5jdGlvbihhLGIsYyxkKXthLmwuanx8KGI9e2RnOmIsYWc6YyxBYTpbXSxRZjpbXSxyYjpbXSx0ZXh0TGVuZ3RoOjAsc2l6ZTowLGNvbnRpbnVvdXM6ITB9LGEuZGM9bnVsbCxDdChhLmwsYS5oKSxEdChhLmwsZCksRXQoYS5sLCgwLF8ueSkoZnVuY3Rpb24oZSl7dGhpcy51aShlKTtkKCl9LGEpKSxGdChhLmwsYikpfSxTdD1mdW5jdGlvbihhLGIpe3JldHVybiBhLkFhLmxlbmd0aD4wPwpuZXcgYihhLkFhLGEucmIuam9pbigiIiksYS5RZixhLnRleHRMZW5ndGgsYS5zaXplKTpudWxsfSxUdD1mdW5jdGlvbihhLGIpe2lmKCFhLmopcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2lmKCFiLmNvbnRpbnVvdXMmJmIuQWEubGVuZ3RoPjApcmV0dXJuIGEuZGM9U3QoYixhLkMpLCEwO2IuY29udGludW91cz1hLmouS2Y7YTp7dmFyIGM9YS5qO3ZhciBkPWEuSztpZihiLnNpemU+Yi5hZ3x8Yi50ZXh0TGVuZ3RoPmIuZGcpYz0hMTtlbHNle3ZhciBlPWMuc2l6ZSxmPWMudGV4dC5sZW5ndGg7aWYoYi5BYS5sZW5ndGghPTAmJihlKz1iLkFhLmxlbmd0aD09MT9iLnNpemUrZCtkOmIuc2l6ZStkLGYrPWIudGV4dExlbmd0aCxlPmIuYWd8fGY+Yi5kZykpe2M9ITE7YnJlYWsgYX1iLnNpemU9ZTtiLnRleHRMZW5ndGg9ZjtiLkFhLnB1c2goYy5ub2RlKTtiLlFmLnB1c2goYy50ZXh0KTtkPWIuQWEubGVuZ3RoLTE7ZD09MD9iLnJiLnB1c2goYy5MZCk6KGQ9PTEmJihiLnJiWzBdPSI8YSBpPTA+IisKYi5yYlswXSsiPC9hPiIpLGIucmIucHVzaCgiPGEgaT0iK2QrIj4iKSxiLnJiLnB1c2goYy5MZCksYi5yYi5wdXNoKCI8L2E+IikpO2M9ITB9fWlmKGMpcmV0dXJuIGEuaj1udWxsLCExO2EuZGM9U3QoYixhLkMpO3JldHVybiEwfSxVdD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bnQoYixjKTtkJiZfLkFjKGpvKGQpKSYmYS5HLnB1c2goe25vZGU6YixZZzpjLHRleHQ6ZH0pfTsKUXQucHJvdG90eXBlLmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzO2lmKHRoaXMuaiYmVHQodGhpcyxiKSlyZXR1cm4gSXQ7aWYoIXRoaXMuZyl7dGhpcy5JPSEhdGhpcy5BLmxlbmd0aDtpZighdGhpcy5BLmxlbmd0aCYmKGE9dGhpcy5HLnNoaWZ0KCkpKXJldHVybiB0aGlzLmo9e0tmOiExLG5vZGU6Z3QoYS5ub2RlLGEuWWcpLHRleHQ6YS50ZXh0LExkOmxvKGEudGV4dCksc2l6ZTp0aGlzLkI/Xy5HYihhLnRleHQpLmxlbmd0aDphLnRleHQubGVuZ3RofSxiLmNvbnRpbnVvdXM9ITEsVHQodGhpcyxiKSxJdDthPXRoaXMuQS5zaGlmdCgpfHx0aGlzLkYuc2hpZnQoKTtpZighYSlyZXR1cm4gdGhpcy5qPW51bGwsVHQodGhpcyxiKSxJdDt0aGlzLm89W2EuWWldO3RoaXMuZz1uZXcgZHMoYS5yb290KX10aGlzLmcubmV4dCgpO2lmKHRoaXMuZy5kb25lKXJldHVybiB0aGlzLmc9bnVsbCxiLmNvbnRpbnVvdXM9ITEsdGhpcy5oO2E9dGhpcy5nLm5vZGUoKTt2YXIgZD10aGlzLmcuZy5nOwppZihkPT0tMSlyZXR1cm4gVnQodGhpcyksV3QoYSl8fChiLmNvbnRpbnVvdXM9ITEpLHRoaXMuaDtYdCh0aGlzLGEpO2Q9ZD09MTt2YXIgZT0hIWEmJihhLm5vZGVUeXBlPT0zJiZ0eXBlb2YgYS5ub2RlVmFsdWU9PT0ic3RyaW5nInx8YS50YWdOYW1lPT0iVElUTEUiJiZ0eXBlb2YgYS52YWx1ZT09PSJzdHJpbmcifHxhLnRhZ05hbWU9PSJURVhUQVJFQSImJk10KGEsInRyYW5zbGF0ZSIpfHxhLnRhZ05hbWU9PSJJTlBVVCImJihZclthLnR5cGVdfHxNdChhLCJ0cmFuc2xhdGUiKSkpO2lmKChlfHxkKSYmdGhpcy5JJiYhWXQoYSkpcmV0dXJuIFB0KHRoaXMsYSxadCh0aGlzKSwhMCksYnModGhpcy5nLmcpLFZ0KHRoaXMpLHRoaXMuaDtpZihkJiZadCh0aGlzKSYmKHRoaXMuTCYmVXQodGhpcyxhLCJ0aXRsZSIpLFV0KHRoaXMsYSwiYWx0IiksVXQodGhpcyxhLCJwbGFjZWhvbGRlciIpLFV0KHRoaXMsYSwiYXJpYS1sYWJlbCIpLFV0KHRoaXMsYSwiYXJpYS1wbGFjZWhvbGRlciIpLFV0KHRoaXMsCmEsImFyaWEtcm9sZWRlc2NyaXB0aW9uIiksVXQodGhpcyxhLCJhcmlhLXZhbHVldGV4dCIpLGVzKHRoaXMuZykpKWZvcih2YXIgZj1hLmZpcnN0Q2hpbGQ7Zjspe2lmKGYubm9kZVR5cGU9PTMpe3ZhciBnPWYubm9kZVZhbHVlLnNwbGl0KCJcbiIpO2lmKGcubGVuZ3RoPjJ8fGcubGVuZ3RoPT0yJiZfLkFjKGdbMF0pIT0iIiYmXy5BYyhnWzFdKSE9IiIpe2Yubm9kZVZhbHVlPWdbMF07Zm9yKHZhciBoPTE7aDxnLmxlbmd0aDsrK2gpe3ZhciBrPV8uc2QoYSkuY3JlYXRlRWxlbWVudCgiZm9udCIpO3RoaXMuVy5wdXNoKGspO3hvKGssZik7Zj1rO3hvKF8uc2QoYSkuY3JlYXRlVGV4dE5vZGUoIlxuIitnW2hdKSxmKTtmPWYubmV4dFNpYmxpbmd9fX1mPWYubmV4dFNpYmxpbmd9YS5zaGFkb3dSb290JiZBcnJheS5mcm9tKGEuc2hhZG93Um9vdC5jaGlsZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1B0KGMscixadChjKSl9KTtpZihlKXticyh0aGlzLmcuZyk7aWYoWnQodGhpcykpe3ZhciBsPQpudChhKTtpZihfLkFjKGpvKGwpKSYmKHRoaXMuaj17S2Y6ITAsbm9kZTpndChhKSx0ZXh0OmwsTGQ6bG8obCksc2l6ZTp0aGlzLkI/Xy5HYihsKS5sZW5ndGg6bC5sZW5ndGh9LFR0KHRoaXMsYikpKXJldHVybiBWdCh0aGlzKSxJdH1WdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGQpe2lmKCR0KGEpfHwhYS5maXJzdENoaWxkJiZhLnRhZ05hbWUhPSJJRlJBTUUiJiZhLnRhZ05hbWUhPSJSVUJZIilyZXR1cm4gYi5jb250aW51b3VzPWIuY29udGludW91cyYmISFYclthLnRhZ05hbWVdLGJzKHRoaXMuZy5nKSxWdCh0aGlzKSx0aGlzLmg7aWYoYS50YWdOYW1lPT0iUlVCWSIpe3RyeXtsPV8uQyhhLmNoaWxkTm9kZXMpO2Zvcih2YXIgbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBxPW4udmFsdWU7cS5ub2RlVHlwZSE9MyYmUHQodGhpcyxxLFp0KHRoaXMpKX19Y2F0Y2gocil7fWJzKHRoaXMuZy5nKTtWdCh0aGlzKTtyZXR1cm4gdGhpcy5ofWlmKGEudGFnTmFtZT09IklGUkFNRSIpe3RyeXtpZighYS5zcmMubWF0Y2goL2h0dHBzPzpcL1wvLyl8fApfLkNiKGEuc3JjLm1hdGNoKF8ucmYpWzNdfHxudWxsKT09d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKXt2YXIgcD16byhhKS5kb2N1bWVudEVsZW1lbnQ7cCYmUHQodGhpcyxwLFp0KHRoaXMpKX19Y2F0Y2gocil7fWIuY29udGludW91cz0hMTticyh0aGlzLmcuZyk7VnQodGhpcyk7cmV0dXJuIHRoaXMuaH1adCh0aGlzKSYmV3QoYSk/dGhpcy5EJiZhLnRhZ05hbWU9PSJBIiYmYS5ocmVmJiZ0aGlzLkQoYSk6Yi5jb250aW51b3VzPSExO3JldHVybiB0aGlzLmh9YnModGhpcy5nLmcpO1Z0KHRoaXMpO3JldHVybiB0aGlzLmh9Owp2YXIgJHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG10KGEpfHxhLm5vZGVUeXBlIT0zJiYoIWEudGFnTmFtZXx8V3JbYS50YWdOYW1lXXx8WHJbYS50YWdOYW1lXXx8TXQoYSwic2tpcHRyYW5zbGF0ZSIpKX0sYXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zZChhKTtyZXR1cm4gYi5kZWZhdWx0VmlldyYmYi5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlP2IuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpOmEuY3VycmVudFN0eWxlfSxZdD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz8hMDphLm5vZGVUeXBlIT0xPyExOmEub2Zmc2V0V2lkdGgmJmEub2Zmc2V0SGVpZ2h0PyEwOihhPWF1KGEpLCEhYSYmYS5kaXNwbGF5IT0ibm9uZSImJmEudmlzaWJpbGl0eSE9ImhpZGRlbiIpfSxXdD1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlPT0zKXJldHVybiEwO2lmKGEubm9kZVR5cGUhPTEpcmV0dXJuITE7dmFyIGI9YXUoYSk7cmV0dXJuISFWclthLnRhZ05hbWVdJiYKKCFifHwhYi5kaXNwbGF5fHxiLmRpc3BsYXk9PSJpbmxpbmUiKX0sUHQ9ZnVuY3Rpb24oYSxiLGMsZCl7KGQ/YS5GOmEuQSkucHVzaCh7cm9vdDpiLFlpOmM9PT12b2lkIDB8fGN9KX0sWnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub1thLm8ubGVuZ3RoLTFdfSxYdD1mdW5jdGlvbihhLGIpe2I9IW10KGIpJiYoYi5ub2RlVHlwZT09JG4mJlp0KGEpfHwhKE10KGIsIm5vdHJhbnNsYXRlIil8fGIuYXR0cmlidXRlcyYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09Im5vIikmJihNdChiLCJ0cmFuc2xhdGUiKXx8ISFiLmF0dHJpYnV0ZXMmJiEhYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZSYmYi5hdHRyaWJ1dGVzLnRyYW5zbGF0ZS52YWx1ZT09InllcyJ8fFp0KGEpKSk7YS5vLnB1c2goYil9LFZ0PWZ1bmN0aW9uKGEpe2Euby5wb3AoKX0sYnU9e307RHIuYXR0YWNoKDU3NjIsUXQucHJvdG90eXBlLHt1aToxfSk7dmFyIGN1PWZ1bmN0aW9uKCl7Xy51LmNhbGwodGhpcyk7dGhpcy5nPVtdfTtfLkIoY3UsXy51KTtjdS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe3FzKHRoaXMuaCwwLHRoaXMpfTtjdS5wcm90b3R5cGUuaD1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5nLmxlbmd0aDsrK2EpXy5BZCh0aGlzLmdbYV0pO3RoaXMuZz1bXX07Y3UucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKX07dmFyIGR1PWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7YS5mb3JFYWNoKGZ1bmN0aW9uKGMpe3lvKGMpP2IuYWRkKGMpOihjPWMucGFyZW50RWxlbWVudHx8bnVsbCxjIT1udWxsJiZiLmFkZChjKSl9KTtyZXR1cm4gYn07dmFyIGV1PWZ1bmN0aW9uKGEpe3RoaXMuaD0hMDt0aGlzLmw9YTt0aGlzLmo9ITE7dGhpcy5nPVtdfTtldS5wcm90b3R5cGUubWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nLmpvaW4oIiIpfTt2YXIgZnU9ZnVuY3Rpb24oYSxiKXt0aGlzLm89YTt0aGlzLmw9ITA7dGhpcy5qPWI7dGhpcy5nPW51bGw7dGhpcy5oPTB9LGd1PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEubD8oYigoMCxfLnkpKGEuQSxhKSxhLm8sYS5qPyJlbiI6IiIpLCEwKTohMX07ZnUucHJvdG90eXBlLkE9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZz1iO3RoaXMuaD1jO2EoKX07dmFyIGh1PWZ1bmN0aW9uKGEsYil7dGhpcy5sPWE7dGhpcy5EPSEhYjt0aGlzLmc9dGhpcy5DPTA7dGhpcy5vPXRoaXMuaj0tMTt0aGlzLkE9dGhpcy5CPXRoaXMuaD0wfSxrdT1mdW5jdGlvbihhLGIsYyl7YS5EJiYoYi09OSk7Zm9yKHZhciBkPSIiLGU9MCxmPWEuQztmPGEubC5sZW5ndGg7KytmKXt2YXIgZz1hLmwuY2hhckF0KGYpLGg9Zy5jaGFyQ29kZUF0KDApO2UrKzthLmgrPWEuRD9oPD0xMjc/aDw9MzJ8fGl1W2hdPzM6MTpoPD0yMDQ3fHxoPj01NTI5NiYmaDw9NTYzMTl8fGg+PTU2MzIwJiZoPD01NzM0Mz82Ojk6MTtoPWEuaD49YjtqdVtnXT8oYS5vPWYsYS5CPWEuaCxoPWh8fGU+Yyk6Zz09IiAiJiYoYS5qPWYsYS5BPWEuaCxoPWh8fGU+Yyk7aWYoaClyZXR1cm4gYS5vPj0wPyhkPWEubC5zdWJzdHJpbmcoYS5nLGEubysxKSxhLmgtPWEuQixhLmc9YS5vKzEsYS5vPj1hLmo/KGEuaj0tMSxhLkE9MCk6YS5BLT1hLkIsYS5vPS0xLGEuQj0wKTphLmo+PTA/KGQ9YS5sLnN1YnN0cmluZyhhLmcsCmEuaisxKSxhLmgtPWEuQSxhLmc9YS5qKzEsYS5qPS0xLGEuQT0wKTooZD1hLmwuc3Vic3RyaW5nKGEuZyxmKzEpLGEuaD0wLGEuZz1mKzEsYS5vPWEuaj0tMSxhLkE9YS5CPTApLGEuQz1mKzEsZH1hLmc8YS5sLmxlbmd0aCYmKGQ9YS5sLnN1YnN0cmluZyhhLmcpLGEuZz1hLmwubGVuZ3RoKTtyZXR1cm4gZH0sanU9aXIoWyIuIiwiLCIsIjoiLCJcXD8iLCIhIl0pLGx1PVsiLiIsIj8iLCIhIl0saXU9aXIoWzM0LDM1LDM2LDM3LDM4LDQzLDQ0LDQ3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDkxLDkyLDkzLDk0LDk2LDEyMywxMjQsMTI1LDEyN10pO3ZhciB0bT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIodG0sXy5KKTt2YXIgbXU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKG11LF8uSik7dmFyIG51PWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihudSxfLkopO3ZhciBvdT1bMSwyXTt2YXIgcHU9ZnVuY3Rpb24oYSl7dGhpcy5KPV8uSShhKX07Xy5CKHB1LF8uSik7cHUucHJvdG90eXBlLlJhPWZ1bmN0aW9uKCl7cmV0dXJuIF8uZGoodGhpcywxKX07dmFyIHF1PV8uS2kocHUpO3ZhciBydTt2YXIgc3U9ZnVuY3Rpb24oKXt0aGlzLmhhPW5ldyBfLldmfSx0dT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ7cmV0dXJuIF8uVmkoZnVuY3Rpb24oZSl7Yz1jbShhbSgkbChuZXcgWmwsImh0dHBzIiksYi5ob3N0KSxiLnBhdGgpO2Q9bmV3IFByb21pc2UoZnVuY3Rpb24oZixnKXtfLk5kKGEuaGEsInN1Y2Nlc3MiLGZ1bmN0aW9uKCl7Zih7Y29kZTpfLmhnKGEuaGEpLGhlYWRlcnM6TG4oYS5oYSksYm9keTpfLmlnKGEuaGEpfSl9KTtfLk5kKGEuaGEsImVycm9yIixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSk7Xy5OZChhLmhhLCJ0aW1lb3V0IixmdW5jdGlvbigpe2coe2NvZGU6Xy5oZyhhLmhhKSxoZWFkZXJzOkxuKGEuaGEpLGJvZHk6Xy5pZyhhLmhhKX0pfSl9KTthLmhhLnNlbmQoYyxiLm1ldGhvZCxiLmJvZHksYi5oZWFkZXJzKTtyZXR1cm4gZS5yZXR1cm4oZCl9KX07dmFyIHJuPWZ1bmN0aW9uKGEpe3RoaXMuSj1fLkkoYSl9O18uQihybixfLkopO3ZhciBxbj1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIocW4sXy5KKTt2YXIgcG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5mayhhLDEsYil9O3ZhciB3dT1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO3JldHVybiBfLlZpKGZ1bmN0aW9uKGcpe2lmKGcuZz09MSl7Yj1ydXx8KHJ1PXF1KCdbMixudWxsLFtbW1siYXV0b3B1c2giLFsiYXV0b3B1c2gtdHJhbnNsYXRlLXBhLnNhbmRib3guZ29vZ2xlYXBpcy5jb20iXV0sWyJzdGFnaW5nIixbImRhaWx5MS10cmFuc2xhdGUtcGEuc2FuZGJveC5nb29nbGVhcGlzLmNvbSJdXSxbInByb2QiLFsidHJhbnNsYXRlLXBhLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC1ldSIsWyJ0cmFuc2xhdGUtcGEuZXUucmVwLmdvb2dsZWFwaXMuY29tIl1dLFsicHJvZC11cyIsWyJ0cmFuc2xhdGUtcGEudXMucmVwLmdvb2dsZWFwaXMuY29tIl1dXV1dXScpKTtjPW1xO25xJiYoYz1jKyItIitucSk7dmFyIGg9YnAoYixudSwzKTt2YXIgaz1oLko7az1JbChIbChrKSxrLHZvaWQgMCxvdSk7aD1icChoLG11LGs9PT0xPzE6LTEpO2s9aC5KO3ZhciBsPWtbXy5IXXwwO2g9dW0oaCxrLGwsXy5XZyhoLGwpKS5nZXQoYyk7CmQ9Xy5OKGgsMSk7aD1uZXcgJHA7az1zbShhLDEsXy5haigpKTtoPUdsKGgsMSxrLG5tKS5OYShhLkphKCkpLm5hKGEub2EoKSk7az1uZXcgYXE7aD1fLkwoaywxLGgpO2g9c24oaCwyLHRxKTtfLk0ocHEsNykmJl8uZWooaCw0LCEwKTtlPWg7Zy5GKDIpO3JldHVybiBnLmgodnUoZCxlKSw0KX1pZihnLmchPTIpcmV0dXJuIGY9Zy5qLGcucmV0dXJuKHRuKGYpKTtnLkQoKTtyZXR1cm4gZy5yZXR1cm4oUHJvbWlzZS5yZWplY3QoRXJyb3IoIkFhIikpKX0pfSx2dT1mdW5jdGlvbihhLGIpe3ZhciBjPXh1LGQsZSxmLGc7cmV0dXJuIF8uVmkoZnVuY3Rpb24oaCl7aWYoaC5nPT0xKXJldHVybiBkPXtob3N0OmEscGF0aDoiL3YxL3RyYW5zbGF0ZUh0bWwiLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IlgtZ29vZy1hcGkta2V5IjoiQUl6YVN5QVRCWGFqdnpRTFRESEVRYmNwcTBJaGUwdldESG1PNTIwIiwiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiJ9LGJvZHk6Xy5XaihiKX0sCmU9Yy5nKCksaC5GKDIpLGguaCh0dShlLGQpLDQpO2lmKGguZyE9MilyZXR1cm4gZj1oLmosaC5yZXR1cm4oY3EoZi5ib2R5KSk7Zz1oLkQoKTtyZXR1cm4gaC5yZXR1cm4oUHJvbWlzZS5yZWplY3QoZykpfSl9O3ZhciB4dT1uZXcgZnVuY3Rpb24oKXt0aGlzLmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHN1fX0seXU9ZnVuY3Rpb24oYSl7dGhpcy5nPWF9LHp1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO3JldHVybiBfLlZpKGZ1bmN0aW9uKGYpe2lmKGYuZz09MSlyZXR1cm4gc20oYiwxLF8uYWooKSkubGVuZ3RoPT09MD9mLnJldHVybihuZXcgcW4pOl8uTShwcSw4KT9mLnJldHVybih3dShiKSk6Zi5oKGEuZy50cmFuc2xhdGUoY3x8ZnVuY3Rpb24oKXt9LHNtKGIsMSxfLmFqKF8uV2gpKSxiLkphKCksYi5vYSgpLDAsITEpLDIpO2Q9Zi5qO2U9ZC5tYXAodW4pO3JldHVybiBmLnJldHVybihwbihuZXcgcW4sZSkpfSl9O3ZhciBBdT1mdW5jdGlvbihhKXt0aGlzLko9Xy5JKGEpfTtfLkIoQXUsXy5KKTt2YXIgQnU9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEF1O3JldHVybiBHbChiLDEsYSxubSl9O0F1LnByb3RvdHlwZS5KYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywyKX07QXUucHJvdG90eXBlLk5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDIsYSl9O0F1LnByb3RvdHlwZS5vYT1mdW5jdGlvbigpe3JldHVybiBfLk4odGhpcywzKX07QXUucHJvdG90eXBlLm5hPWZ1bmN0aW9uKGEpe3JldHVybiBzbih0aGlzLDMsYSl9O3ZhciBDdT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dGhpcy5CPWR8fGZ1bmN0aW9uKCl7fTt0aGlzLlA9Znx8ZnVuY3Rpb24oKXt9O3RoaXMuUj0hIWU7dGhpcy5qPWEuZy5JZjt0aGlzLmw9MDt0aGlzLkk9ZnVuY3Rpb24oKXt9O3RoaXMuRD1jO3RoaXMuRj10aGlzLmg9dGhpcy5vPTA7dGhpcy5nPW51bGw7dGhpcy5XPTA7dGhpcy5sYT0hMTt0aGlzLlQ9YS5nLkdmO3RoaXMuSz1bXTt0aGlzLnFiPTA7dGhpcy5MPWEuZy5LZDt0aGlzLkE9YS5sKCk7dGhpcy53YT10aGlzLlI/MTo2O3RoaXMuSWE9YS5nLldmO3RoaXMucWE9Yjt0aGlzLkM9W107dGhpcy5PPWF9O0N1LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8dGhpcy5DLmxlbmd0aDsrK2EpdGhpcy5DW2FdLnN0b3AoKTtmb3IoYT0wO2E8dGhpcy5LLmxlbmd0aDsrK2EpVHIodGhpcy5PLHRoaXMuS1thXSl9Owp2YXIgRHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz0wO2EuST0oMCxfLnkpKGZ1bmN0aW9uKCl7KytjPT10aGlzLkMubGVuZ3RoJiZiKCl9LGEpfSxFdT1mdW5jdGlvbihhLGIsYyl7YS5CPWZ1bmN0aW9uKCl7fTthLnFhPWI7YS5nPW51bGw7YS5xYj0wO2EuQz1bXTthLkk9ZnVuY3Rpb24oKXt9O2EuRD1jfSxGdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5oPT0wJiYoYS5oPWI/M0UzOmEuQSwhY3x8Yzw9YS5BKSl7YS5vPWEuaDtyZXR1cm59ZG8gYj1hLmgsYS5oPGEuQSYmKGEuaCo9YS53YSxhLmg+YS5BJiYoYS5oPWEuQSkpO3doaWxlKGIhPWEuaCYmYyYmYS5oPGMpO2Eubz1hLmh9LEd1PWZ1bmN0aW9uKGEsYil7dmFyIGM9YiE9bnVsbCxkPSFjJiYhYS5sYTsoZHx8YykmJmEuQigxMDAsZCxiKX0sSHU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuTD9hLmcuUjphLmcubWEoKS5sZW5ndGh9LEl1PWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBRdChhLnFhLnNoaWZ0KCkse2JqOmEuTCxsaTpiLApWZjohMCxaaTohIWN9LGZ1bmN0aW9uKCl7dmFyIGY9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbmV3IGp0KGYuc2hpZnQoKSxmLnNoaWZ0KCksZi5zaGlmdCgpLGYuc2hpZnQoKSxmLnNoaWZ0KCksYyxkKX0sYS5ELGUpfSxLdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5UPjAmJmIubGIoKT49YS5UKXJldHVybiEwO2lmKEh1KGEpPmEuaCl7aWYoYi5sYigpPjApcmV0dXJuITA7RnUoYSxjLEh1KGEpKTtmb3IodmFyIGQ9YS5nLm1hKCksZT1uZXcgaHUoZCxhLkwpLGY7Zj1rdShlLGEuaCxhLmopOylpZihsdS5pbmRleE9mKGYuY2hhckF0KGYubGVuZ3RoLTEpKTwwJiZiLksrKyxiLmwucHVzaChuZXcgZnUoW2ZdLCExKSksYS5sKz1mLmxlbmd0aCxhLmotPWYubGVuZ3RoLGEuajw9MCl7Yi5GPWQuc3Vic3RyaW5nKGUuZyk7YnJlYWt9ZWxzZSBGdShhLGMpO0p1KGIsYS5nLCEwKTthLmc9bnVsbDtyZXR1cm4hMH1pZihIdShhKT5hLm8pcmV0dXJuITA7SnUoYiwKYS5nLCEwKTthLm8tPUh1KGEpK2EuSWE7YS5sKz1hLmcuRDthLmotPWEuZy5EO2EuZz1udWxsO3JldHVybiExfSxMdT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz17WmE6MH07Yy5aYTxhLmxlbmd0aDtjPXtaYTpjLlphfSxjLlphKyspYVtjLlphXS5sZW5ndGg+MSYmYVtjLlphXVsxXT09PTIwMD9iLnB1c2guYXBwbHkoYixfLiRiKGFbYy5aYV1bMF0udG9TdHJpbmcoKS5zcGxpdCgiJmx0O2V4dHJhX2lkXzEmZ3Q7IikubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm5bZS50cmltKCksYVtkLlphXVsxXV19fShjKSkpKTpiLnB1c2goYVtjLlphXSk7cmV0dXJuIGJ9LE11PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGssbCxuO3JldHVybiBfLlZpKGZ1bmN0aW9uKHEpe3N3aXRjaChxLmcpe2Nhc2UgMTp2YXIgcD1wcTtpZihfLmJqKHAsaXEsNikpe3ZhciByPV8uYmoocCxpcSw2KSx0PV8uTShyLDEpO3A9Xy5NKHAsMyl8fHQ/KHQ/c20ociw0LF8uYWooKSk6CnNtKHAsNCxfLmFqKCkpKS5pbmNsdWRlcyhkLnRvTG93ZXJDYXNlKCkrIl8iK2UudG9Mb3dlckNhc2UoKSk6ITF9ZWxzZSBwPSExO2Y9cDtpZihmKXt2YXIgQT1BPT09dm9pZCAwPzNFMzpBO2lmKHA9Xy5iaihwcSxpcSw2KSlwPV8uYmoocHEsaXEsNikscD1fLk0ocCwxKTtpZihwKXtwPV8uYmoocHEsaXEsNik7QT1fLmdrKHAsMyk7cD1fLmdrKHAsMik7cj1bXTtmb3IodD0wO3Q8Yy5sZW5ndGg7dCsrKXt2YXIgRD1bY1t0XV0sRT1jW3RdLmxlbmd0aDtpZihjW3RdLnNwbGl0KCIgIikubGVuZ3RoPD1wKWZvcig7dCsxPGMubGVuZ3RoJiZFPEE7KUQucHVzaChjW3QrMV0pLEUrPWNbdCsxXS5sZW5ndGgrMisxOCx0Kys7ci5wdXNoKEQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1yfWVsc2V7cD1bXTtmb3Iocj0wO3I8Yy5sZW5ndGg7KXt0PVtdO2ZvcihFPTA7cjxjLmxlbmd0aDspe0Q9Y1tyXTt2YXIgYmE9RC5sZW5ndGg7RT10Lmxlbmd0aD09PTA/YmE6RSsyMCtiYTtpZihFPgpBJiZ0Lmxlbmd0aD4wKWJyZWFrO3QucHVzaChEKTtyKyt9dC5sZW5ndGg+MCYmcC5wdXNoKHQuam9pbigiICZsdDtleHRyYV9pZF8xJmd0OyAiKSl9QT1wfX1lbHNlIEE9YztnPUE7aD16dShuZXcgeXUoYS5PKSxCdShnKS5OYShkKS5uYShlKSxiKTtxLkYoMik7cmV0dXJuIHEuaChoLDQpO2Nhc2UgNDprPXEuajtsPXZuKGspO249Zj9MdShsKTpsO2IobiwyMDApO3EuSygzKTticmVhaztjYXNlIDI6cS5EKCksYihbXSw1MDApO2Nhc2UgMzpyZXR1cm4gYS5LLnB1c2goaCkscS5yZXR1cm4oaCl9fSl9O3ZhciBOdT1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMubD1iO3RoaXMuaj17cm9vdE1hcmdpbjphfTt0aGlzLmc9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5oLHRoaXMpLHRoaXMuail9O18uQihOdSxfLnUpO051LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5nPW51bGx9O051LnByb3RvdHlwZS5oPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0uaW50ZXJzZWN0aW9uUmF0aW8+MCl7dGhpcy5sKCk7YnJlYWt9fTtOdS5wcm90b3R5cGUudHJhY2s9ZnVuY3Rpb24oYSl7Sm8oYSwoMCxfLnkpKHRoaXMuZy5vYnNlcnZlLHRoaXMuZykpfTt2YXIgT3U9ZnVuY3Rpb24oYSl7dmFyIGI9YSE9bnVsbD9hOnt9LGM9Yi5JayxkPWIuS2ssZT1iLkVrLGY9Yi5MayxnPWIuSGssaD1iLkprLGs9Yi5GayxsPWIuR2s7YT1fLnlsKCk7IWwmJnNwKGMpPyhlPSEhZSxmPSEhZixiPWImJmIuUWssYz0oMCxfLnRsKShzcChjKT8iPHNjcmlwdCIrKGI/JyBub25jZT0iJytQKFlwKGIpKSsnIic6IiIpKyI+d2luZG93WydwcENvbmZpZyddID0ge3Byb2R1Y3ROYW1lOiAiK3ZwKFFwKGQhPW51bGw/ZDoidW5rbm93biIpKSsiLCBkZWxldGVJc0VuZm9yY2VkOiAiK3ZwKFFwKGUpKSsiLCBzZWFsSXNFbmZvcmNlZDogIit2cChRcChmKSkrIiwgaGVhcnRiZWF0UmF0ZTogIit2cChRcChnIT1udWxsP2c6LjUpKSsiLCBwZXJpb2RpY1JlcG9ydGluZ1JhdGVNaWxsaXM6ICIrdnAoUXAoaCE9bnVsbD9oOjZFNCkpKyIsIGRpc2FibGVBbGxSZXBvcnRpbmc6ICIrdnAoUXAoayE9bnVsbD9rOiExKSkrIn07Iit2cChRcChjIT1udWxsP2M6IiIpKSsiXHgzYy9zY3JpcHQ+IjoKIiIpKTpjPSIiO3JldHVybiBXbihhLGMpfTt2YXIgUHU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy50bCkoJzxzcGFuIGlkPSInK1AoYS5pZCkrJyI+PC9zcGFuPicpfSxRdT1mdW5jdGlvbihhKXt2YXIgYj1hLmlkLGM9YS5SZjtyZXR1cm4oMCxfLnRsKShLcChhLlNmKSsnPGRpdiBpZD0iJytQKGIpKyciPjwvZGl2PicrS3AoYykpfSxZbj1mdW5jdGlvbihhKXt2YXIgYj1hLnRvcCxjPWEubGVmdCxkPWEuYm90dG9tLGU9YS5yaWdodCxmPWEuaWQ7cmV0dXJuKDAsXy51bCkoIi4iK0FwKGEuY2xhc3NOYW1lKSsiIHt6LWluZGV4Ojk5OTk5OTk7IG92ZXJmbG93OnZpc2libGU7IHBvc2l0aW9uOmZpeGVkOyBfcG9zaXRpb246YWJzb2x1dGU7IisoYnx8Yj09PTA/InRvcDoiK0FwKGIpKyJweDsgX3RvcDpleHByZXNzaW9uKCgiK0FwKGIpKyIrKGhhY2sxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSkrJ3B4Jyk7IjoidG9wOmF1dG87IikrKGN8fGM9PT0wPyJsZWZ0OiIrQXAoYykrCiJweDsgX2xlZnQ6ZXhwcmVzc2lvbigoIitBcChjKSsiKyhoYWNrMj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoibGVmdDphdXRvOyIpKyhkfHxkPT09MD8iYm90dG9tOiIrQXAoZCkrInB4OyBfdG9wOmV4cHJlc3Npb24oKC0iK0FwKGQpKyItZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyIrU3RyaW5nKGYpLnJlcGxhY2UoUnAsR3ApKyInKS5vZmZzZXRIZWlnaHQrKGhhY2szPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSsoaGFjazQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApKSsncHgnKTsiOiJib3R0b206YXV0bzsiKSsoZXx8ZT09PTA/InJpZ2h0OiIrQXAoZSkrInB4OyBfbGVmdDpleHByZXNzaW9uKCgtIitBcChlKSsiLWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCciKwpTdHJpbmcoZikucmVwbGFjZShScCxHcCkrIicpLm9mZnNldFdpZHRoKyhoYWNrNT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpKyhoYWNrNj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0KSkrJ3B4Jyk7IjoicmlnaHQ6YXV0bzsiKSsifSIpfSxSdT1mdW5jdGlvbigpe3JldHVybigwLF8udGwpKCc8ZGl2IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15ZiIpKyciPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08iKSsnIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUiKSsnIiB3aWR0aD0iOTZweCIgaGVpZ2h0PSI5NnB4IiB2aWV3Qm94PSIwIDAgNjYgNjYiPjxjaXJjbGUgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtSnQ1Y0siKSsKJyIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGN4PSIzMyIgY3k9IjMzIiByPSIzMCIvPjwvc3ZnPjwvZGl2PjwvZGl2PicpfTt3bi54Yj12b2lkIDA7d24uZz1mdW5jdGlvbigpe3JldHVybiB3bi54Yj93bi54Yjp3bi54Yj1uZXcgd259O3duLnByb3RvdHlwZS5nPTA7Xy5HKHhuLF8uaGIpO18ubT14bi5wcm90b3R5cGU7Xy5tLmNpPXduLmcoKTtfLm0uUmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYXx8KHRoaXMubGE9IjoiKyh0aGlzLmNpLmcrKykudG9TdHJpbmcoMzYpKX07Xy5tLkg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5DfTtfLm0ubmQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5LJiZ0aGlzLkshPWEpdGhyb3cgRXJyb3IoIkNhIik7eG4uZWEubmQuY2FsbCh0aGlzLGEpfTtfLm0uUz1mdW5jdGlvbigpe3RoaXMuQz10aGlzLmguY3JlYXRlRWxlbWVudCgiRElWIil9O18ubS5rYT1mdW5jdGlvbihhKXtTdSh0aGlzLGEpfTtfLm0ucWM9ZnVuY3Rpb24oYSl7U3UodGhpcyxhLnBhcmVudE5vZGUsYSl9O3ZhciBTdT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qYil0aHJvdyBFcnJvcigiRGEiKTthLkN8fGEuUygpO2I/Yi5pbnNlcnRCZWZvcmUoYS5DLGN8fG51bGwpOmEuaC5nLmJvZHkuYXBwZW5kQ2hpbGQoYS5DKTthLksmJiFhLksuamJ8fGEuTGEoKX07Cl8ubT14bi5wcm90b3R5cGU7Xy5tLmFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuamIpdGhyb3cgRXJyb3IoIkRhIik7aWYoYSl7dGhpcy53YT0hMDt2YXIgYj1fLnNkKGEpO3RoaXMuaCYmdGhpcy5oLmc9PWJ8fCh0aGlzLmg9Xy5sYihhKSk7dGhpcy5PYShhKTt0aGlzLkxhKCl9ZWxzZSB0aHJvdyBFcnJvcigiRWEiKTt9O18ubS5PYT1mdW5jdGlvbihhKXt0aGlzLkM9YX07Xy5tLkxhPWZ1bmN0aW9uKCl7dGhpcy5qYj0hMDtUdSh0aGlzLGZ1bmN0aW9uKGEpeyFhLmpiJiZhLkgoKSYmYS5MYSgpfSl9O18ubS5zYT1mdW5jdGlvbigpe1R1KHRoaXMsZnVuY3Rpb24oYSl7YS5qYiYmYS5zYSgpfSk7dGhpcy5PJiZfLlJmKHRoaXMuTyk7dGhpcy5qYj0hMX07Cl8ubS5NPWZ1bmN0aW9uKCl7dGhpcy5qYiYmdGhpcy5zYSgpO3RoaXMuTyYmKHRoaXMuTy5kaXNwb3NlKCksZGVsZXRlIHRoaXMuTyk7VHUodGhpcyxmdW5jdGlvbihhKXthLmRpc3Bvc2UoKX0pOyF0aGlzLndhJiZ0aGlzLkMmJl8uQWQodGhpcy5DKTt0aGlzLks9dGhpcy5DPXRoaXMuUj10aGlzLkY9bnVsbDt4bi5lYS5NLmNhbGwodGhpcyl9O3ZhciBTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuUmEoKSsiLiIrYn0sVHU9ZnVuY3Rpb24oYSxiKXthLkYmJmEuRi5mb3JFYWNoKGIsdm9pZCAwKX07CnhuLnByb3RvdHlwZS5pZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W107dGhpcy5GJiZ0aGlzLkYubGVuZ3RoIT0wOyl7dmFyIGM9YixkPWMucHVzaCxlPXRoaXMuRj90aGlzLkZbMF18fG51bGw6bnVsbCxmPWE7aWYoZSl7dmFyIGc9dHlwZW9mIGU9PT0ic3RyaW5nIj9lOmUuUmEoKTt0aGlzLlImJmc/KGU9dGhpcy5SLGU9KGUhPT1udWxsJiZnIGluIGU/ZVtnXTp2b2lkIDApfHxudWxsKTplPW51bGw7aWYoZyYmZSl7dmFyIGg9dGhpcy5SO2cgaW4gaCYmZGVsZXRlIGhbZ107Xy52YSh0aGlzLkYsZSk7ZiYmKGUuc2EoKSxlLkMmJl8uQWQoZS5DKSk7Zj1lO2lmKGY9PW51bGwpdGhyb3cgRXJyb3IoIkJhIik7Zi5LPW51bGw7eG4uZWEubmQuY2FsbChmLG51bGwpfX1pZighZSl0aHJvdyBFcnJvcigiRmEiKTtkLmNhbGwoYyxlKX1yZXR1cm4gYn07dmFyIFV1PWZ1bmN0aW9uKCl7eG4uY2FsbCh0aGlzKX07Xy5CKFV1LHhuKTtVdS5wcm90b3R5cGUuUz1mdW5jdGlvbigpe3RoaXMuT2Eoa20oUnUpKX07VXUucHJvdG90eXBlLk9hPWZ1bmN0aW9uKGEpe3RoaXMuQz1hfTtVdS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe050KHRoaXMuSCgpLCJWSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdjIik7TnQodGhpcy5IKCkuZmlyc3RDaGlsZCwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtT2lpQ08tdGk2aEdjIil9O3ZhciBWdT1mdW5jdGlvbihhKXtPdChhLkgoKSwiVklwZ0pkLVpWaTlvZC1hWjJ3RWUtd09ITXlmLXRpNmhHYyIpO090KGEuSCgpLmZpcnN0Q2hpbGQsIlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHYyIpfTt2YXIgV3U9ZnVuY3Rpb24oKXt0aGlzLmc9bmV3IFV1O3RoaXMuZy5TKCk7dGhpcy5nLmthKCk7dGhpcy5oPTB9O1d1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuaD0wO1Z1KHRoaXMuZyl9O3ZhciBYdT1XcShjciksWXU9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyxoKXt0aGlzLmw9YTt0aGlzLmc9Yjt0aGlzLkM9W107dGhpcy5GPW51bGw7dGhpcy5vPWM7dGhpcy5oPWQ7dGhpcy5qPWU7dGhpcy5xYT1mO3RoaXMuTz1nO3RoaXMuRD10aGlzLkE9bnVsbDt0aGlzLkI9aHx8bnVsbDt0aGlzLlc9dGhpcy5JPSExO3RoaXMuRz17fTt0aGlzLkw9WHU7dGhpcy5LPTB9LFp1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1uZXcgU2V0LGM9MDtjPGEubGVuZ3RoO2MrKylzdChhW2NdKS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3JldHVybiBiLmFkZChkKX0pO3JldHVybiBifTsKWXUucHJvdG90eXBlLnRyYWNrVmlzaWJpbGl0eT1mdW5jdGlvbihhKXt0aGlzLkE9bmV3IE51KCIyMDBweCIsKDAsXy55KSh0aGlzLlIsdGhpcyxhKSk7dGhpcy5BLnRyYWNrKGR1KFp1KFtdLmNvbmNhdCh0aGlzLmcsdGhpcy5DKSkpKTt0aGlzLkQ9bmV3IE51KCIwcHgiLCgwLF8ueSkodGhpcy5QLHRoaXMpKTt0aGlzLkQudHJhY2soZHUoWnUoW10uY29uY2F0KHRoaXMuZyx0aGlzLkMpKSkpfTtZdS5wcm90b3R5cGUuUj1mdW5jdGlvbihhKXt0aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpO2EoKX07WXUucHJvdG90eXBlLlA9ZnVuY3Rpb24oKXt0aGlzLkk9ITA7JHUodGhpcyk7aWYoIXRoaXMuVyYmdGhpcy5CKXt2YXIgYT10aGlzLkI7YS5oKys9PTAmJmEuZy5zaG93KCl9fTt2YXIgJHU9ZnVuY3Rpb24oYSl7YS5EJiYoYS5ELmcuZGlzY29ubmVjdCgpLGEuRD1udWxsKX07Cll1LnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7aWYodGhpcy5JJiYhdGhpcy5XJiZ0aGlzLkIpe3ZhciBhPXRoaXMuQjstLWEuaD09MCYmVnUoYS5nKX10aGlzLkEmJih0aGlzLkEuZy5kaXNjb25uZWN0KCksdGhpcy5BPW51bGwpOyR1KHRoaXMpO2F2KHRoaXMpfTt2YXIgSnU9ZnVuY3Rpb24oYSxiLGMpe2M/KGEuZy5wdXNoKGIpLGEuR1tiLm1hKCldPSEwKTphLkMucHVzaChiKX07WXUucHJvdG90eXBlLmxiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZy5sZW5ndGgrdGhpcy5DLmxlbmd0aH07dmFyIGJ2PWZ1bmN0aW9uKGEpe2lmKGEubC5sZW5ndGg9PTApe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmcubGVuZ3RoOysrYyliLnB1c2goYS5nW2NdLm1hKCkpO2EubC5wdXNoKG5ldyBmdShiLCExKSl9fTsKWXUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKCl7ZCsrO2Q9PWMmJmUoKX1idih0aGlzKTtmb3IodmFyIGM9MCxkPTAsZT1mdW5jdGlvbigpe30sZj10aGlzLm8sZz10aGlzLmgsaD10aGlzLmosaz0wO2s8dGhpcy5sLmxlbmd0aDsrK2spZ3UodGhpcy5sW2tdLGZ1bmN0aW9uKGwsbixxKXtyZXR1cm4gTXUoZixfLlpqKGwsYiksbixxfHxnLGgpfSkmJmMrKztjIT0wJiYoZT1HdChhKSk7cmV0dXJuIGN9O3ZhciBhdj1mdW5jdGlvbihhKXtpZihhLmcubGVuZ3RoPjApe2lmKGEuZy5sZW5ndGg9PTEmJmEubC5sZW5ndGg+MSl7dmFyIGI9MTt2YXIgYz1hLmwubGVuZ3RofWVsc2UgYj1jPWEuZy5sZW5ndGg7dmFyIGQ9YS5nLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5EfSkucmVkdWNlKGZ1bmN0aW9uKGUsZil7cmV0dXJuIGUrZn0pO2hyKGEuTCx7bGI6YixNZjpjLGdnOmQsTGY6YS5LfSl9fTt2YXIgY3Y9e2FtOiJOb3RvIFNhbnMgRXRoaW9waWMiLGJlcjoiTm90byBTYW5zIFRpZmluYWdoIiwiYm0tTmtvbyI6Ik5vdG8gU2FucyBOS28iLGJuOiJMb2hpdCBCZW5nYWxpIixibzoiTm90byBTZXJpZiBUaWJldGFuIixkdjoiTm90byBTYW5zIFRoYWFuYSIsZHo6Ik5vdG8gU2VyaWYgVGliZXRhbiIsaXU6Ik5vdG8gU2FucyBDYW5hZGlhbiBBYm9yaWdpbmFsIixrbToiTm9rb3JhIixsbzoiRGh5YW5hIixtbDoiTm90byBTYW5zIE1hbGF5YWxhbSIsIm1uaS1NdGVpIjoiTm90byBTYW5zIE1lZXRlaSBNYXllayIsbXk6Ik5vdG8gU2FucyBNeWFubWFyIiwicGEtQXJhYiI6Ik5vdG8gTmFzdGFsaXEgVXJkdSIscHM6Ik5vdG8gTmFza2ggQXJhYmljIixzYXQ6Ik5vdG8gU2FucyBPbCBDaGlraSIsc2Q6Ik5vdG8gTmFza2ggQXJhYmljIixzaToiTm90byBTYW5zIFNpbmhhbGEiLHRhOiJMb2hpdCBUYW1pbCIseXVlOiJDaG9jb2xhdGUgQ2xhc3NpY2FsIFNhbnMifSxkdj17fSxldj0oZHZbIkNob2NvbGF0ZSBDbGFzc2ljYWwgU2FucyJdPQoiL2NzczI/ZmFtaWx5PUNob2NvbGF0ZStDbGFzc2ljYWwrU2FucyIsZHYuRGh5YW5hPSIvY3NzP2ZhbWlseT1EaHlhbmEiLGR2WyJMb2hpdCBCZW5nYWxpIl09Ii9jc3M/ZmFtaWx5PUxvaGl0K0JlbmdhbGkiLGR2WyJMb2hpdCBUYW1pbCJdPSIvY3NzP2ZhbWlseT1Mb2hpdCtUYW1pbCIsZHYuTm9rb3JhPSIvY3NzP2ZhbWlseT1Ob2tvcmEiLGR2WyJOb3RvIE5hc2toIEFyYWJpYyJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc2toYXJhYmljLmNzcyIsZHZbIk5vdG8gTmFzdGFsaXEgVXJkdSJdPSIvZWFybHlhY2Nlc3Mvbm90b25hc3RhbGlxdXJkdS5jc3MiLGR2WyJOb3RvIFNhbnMgQ2FuYWRpYW4gQWJvcmlnaW5hbCJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNjYW5hZGlhbmFib3JpZ2luYWwuY3NzIixkdlsiTm90byBTYW5zIEV0aGlvcGljIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc2V0aGlvcGljLmNzcyIsZHZbIk5vdG8gU2FucyBNYWxheWFsYW0iXT0iL2Vhcmx5YWNjZXNzL25vdG9zYW5zbWFsYXlhbGFtLmNzcyIsCmR2WyJOb3RvIFNhbnMgTWVldGVpIE1heWVrIl09Ii9jc3M/ZmFtaWx5PU5vdG8rU2FucytNZWV0ZWkrTWF5ZWsiLGR2WyJOb3RvIFNhbnMgTXlhbm1hciJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNteWFubWFyLmNzcyIsZHZbIk5vdG8gU2FucyBOS28iXT0iL2Nzcz9mYW1pbHk9Tm90bytTYW5zK05LbyIsZHZbIk5vdG8gU2FucyBPbCBDaGlraSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnNvbGNoaWtpLmNzcyIsZHZbIk5vdG8gU2FucyBTaW5oYWxhIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3NpbmhhbGEuY3NzIixkdlsiTm90byBTYW5zIFRoYWFuYSJdPSIvZWFybHlhY2Nlc3Mvbm90b3NhbnN0aGFhbmEuY3NzIixkdlsiTm90byBTYW5zIFRpZmluYWdoIl09Ii9lYXJseWFjY2Vzcy9ub3Rvc2Fuc3RpZmluYWdoLmNzcyIsZHZbIk5vdG8gU2VyaWYgVGliZXRhbiJdPSIvY3NzP2ZhbWlseT1Ob3RvK1NlcmlmK1RpYmV0YW4iLGR2KSxmdj1mdW5jdGlvbigpe3RoaXMuZz1bXX07CmZ2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPV8uQyh0aGlzLmcpLGI9YS5uZXh0KCk7IWIuZG9uZTtiPWEubmV4dCgpKWIudmFsdWUucmVtb3ZlKCk7dGhpcy5nPVtdfTt2YXIgZ3Y9ZnVuY3Rpb24oYSxiKXtfLnUuY2FsbCh0aGlzKTt0aGlzLmc9W107dGhpcy5sPVtdO3RoaXMuaD1hO3RoaXMuaj1ifTtfLkIoZ3YsXy51KTtndi5wcm90b3R5cGUubz1mdW5jdGlvbihhKXt2YXIgYj1fLkFjKGEuaHJlZik7Yi5pbmRleE9mKCJqYXZhc2NyaXB0OiIpPT0wfHxiLmluZGV4T2YoIiMiKT49MHx8KHRoaXMubC5wdXNoKGEuaHJlZiksdGhpcy5nLnB1c2goYSksYS5ocmVmPWIrIiNnb29ndHJhbnMvIit0aGlzLmgrIi8iK3RoaXMuail9O2d2LnByb3RvdHlwZS5NPWZ1bmN0aW9uKCl7Xy51LnByb3RvdHlwZS5NLmNhbGwodGhpcyk7dGhpcy5yZXN0b3JlKCl9O2d2LnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxlbmd0aCl7Zm9yKHZhciBhPTA7YTx0aGlzLmcubGVuZ3RoOysrYSl0aGlzLmdbYV0uaHJlZj10aGlzLmxbYV07dGhpcy5nPVtdO3RoaXMubD1bXX19O3ZhciBodj1mdW5jdGlvbihhLGIpe18udS5jYWxsKHRoaXMpO3RoaXMuZz1hO3RoaXMuaD1fLnhmLnRlc3QoYik/InRyYW5zbGF0ZWQtcnRsIjoidHJhbnNsYXRlZC1sdHIiO2E9W10uY29uY2F0KHRoaXMuZyk7Zm9yKGI9MDtiPGEubGVuZ3RoOysrYil5byhhW2JdKSYmTnQoYVtiXSx0aGlzLmgpfTtfLkIoaHYsXy51KTtodi5wcm90b3R5cGUuTT1mdW5jdGlvbigpe18udS5wcm90b3R5cGUuTS5jYWxsKHRoaXMpO3RoaXMucmVzdG9yZSgpfTtodi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe2Zvcih2YXIgYT1bXS5jb25jYXQodGhpcy5nKSxiPTA7YjxhLmxlbmd0aDsrK2IpeW8oYVtiXSkmJk90KGFbYl0sdGhpcy5oKX07dmFyIGl2PWZ1bmN0aW9uKGEsYixjKXt0aGlzLmc9M0UzO3RoaXMuaD1bXTt0aGlzLmo9bnVsbDt0aGlzLm89YTt0aGlzLkViPWI7dGhpcy5GYj1jO3RoaXMubD1hJiZ0eXBlb2YgYS5sPT09ImZ1bmN0aW9uIj9hLmwoKXx8MThFMzoxOEUzfSxrdj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxrLGwsbixxO3JldHVybiBfLlZpKGZ1bmN0aW9uKHApe3N3aXRjaChwLmcpe2Nhc2UgMTpjPWxvKGIpO2Q9W107aWYoYy5sZW5ndGg+YS5nKWZvcihlPW5ldyBodShjLCExKSxmPSIiO2Y9a3UoZSxhLmcpOylkLnB1c2goZiksYS5nPGEubCYmKGEuZyo9NixhLmc+YS5sJiYoYS5nPWEubCkpO2Vsc2UgZC5wdXNoKGMpO2c9W107aD1fLkMoZCk7az1oLm5leHQoKTtjYXNlIDI6aWYoay5kb25lKXtwLnhhKDQpO2JyZWFrfWw9ay52YWx1ZTtuPWc7cT1uLnB1c2g7cmV0dXJuIHAuaChqdihhLGwpLDUpO2Nhc2UgNTpxLmNhbGwobixwLmopO2s9aC5uZXh0KCk7cC54YSgyKTticmVhaztjYXNlIDQ6cmV0dXJuIHAucmV0dXJuKHBvKGcuam9pbigiIikpKX19KX0sCmp2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGMsZCl7YS5oLnB1c2goe3RleHQ6YixyZXNvbHZlOmMscmVqZWN0OmR9KTthLmp8fChhLmo9d2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXthLmZsdXNoKCl9LDUwKSl9KX07aXYucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5qPW51bGw7aWYodGhpcy5oLmxlbmd0aCE9PTApe3ZhciBhPXRoaXMuaDt0aGlzLmg9W107dmFyIGI9bmV3IHl1KHRoaXMubyk7YT1fLkMoYSk7Zm9yKHZhciBjPWEubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyYzp2b2lkIDB9LGM9YS5uZXh0KCkpZC5yYz1jLnZhbHVlLGM9QnUoW2QucmMudGV4dF0pLk5hKHRoaXMuRWIpLm5hKHRoaXMuRmIpLHp1KGIsYyxmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpeyhmPXZuKGYpWzBdKSYmZlsxXT09PTIwMD9lLnJjLnJlc29sdmUoZlswXS50b1N0cmluZygpKTplLnJjLnJlamVjdCgiVHJhbnNsYXRpb24gZmFpbGVkIil9fShkKSkuY2F0Y2goZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2UucmMucmVqZWN0KGYpfX0oZCkpfX07dmFyIGx2PWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxrLGwpe18udS5jYWxsKHRoaXMpO3RoaXMuQz1hO3RoaXMuRmM9Yjt0aGlzLmxmPW5ldyBmdjt0aGlzLmZiPWN8fG51bGw7dGhpcy5JYT1sfHxudWxsO3RoaXMuSz1udWxsO3RoaXMuSWQ9ISFkO3RoaXMuamk9ZXx8InRyYW5zcGFyZW50Ijt0aGlzLmlpPSEhZjt0aGlzLkY9W107dGhpcy55Zj10aGlzLkk9dGhpcy5nPSExO3RoaXMubz1ofHxuZXcgdHQ7dGhpcy5EaT0haDt0aGlzLndhPWd8fHh0LmcoKTt0aGlzLlVlPW5ldyBjdTt0aGlzLkhiPXRoaXMuZ2I9dGhpcy5SPSExO3RoaXMuZGY9dGhpcy5BPS41O3RoaXMuamY9LjAxO3RoaXMuRD1uZXcgenQodGhpcy5BKTt0aGlzLmxhPSh0aGlzLkI9dGhpcy5yYT0hIWspP25ldyBNdXRhdGlvbk9ic2VydmVyKCgwLF8ueSkodGhpcy5RaCx0aGlzKSk6bnVsbDt0aGlzLkw9dGhpcy5YZT10aGlzLmo9dGhpcy5oPW51bGw7dGhpcy5QPTA7dGhpcy5PPW5ldyBNYXA7Xy54KHdpbmRvdywiYmx1ciIsCnRoaXMudGYsITAsdGhpcyk7Xy54KHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O18uQihsdixfLnUpO18ubT1sdi5wcm90b3R5cGU7Xy5tLkphPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaD90aGlzLmg6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo/dGhpcy5qOiIifTtfLm0uZ2g9ZnVuY3Rpb24oYSl7dGhpcy5vaS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Xy5tLmFmPWZ1bmN0aW9uKGEpe3RoaXMucGkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubCYmdGhpcy5sKDAsITEsMSl9O18ubS5oaD1mdW5jdGlvbihhKXt0aGlzLnJpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmwmJnRoaXMubCgwLCExLDEpfTtfLm0uaWg9ZnVuY3Rpb24oYSl7dGhpcy50aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5sJiZ0aGlzLmwoMCwhMSwxKX07Cl8ubS50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihkfHxhIT10aGlzLmh8fGIhPXRoaXMuailtdih0aGlzKSx0aGlzLkRpJiYodGhpcy5vPW5ldyB0dCk7ZWxzZSBpZih0aGlzLmcpcmV0dXJuO3RoaXMubD1jO3RoaXMuQWk9ZTt0aGlzLkI9dGhpcy5yYTt0aGlzLmxhJiZ0aGlzLmxhLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMCxzdWJ0cmVlOiEwfSk7dGhpcy5nPSEwO3RoaXMuaD1hO3RoaXMuaj1iO3RoaXMuSWQmJih0aGlzLks9bmV3IGd2KGEsYikpO3RoaXMuSGI9dGhpcy5oPT0iYXV0byI7dGhpcy5mYiYmKGM9dGhpcy5mYixhJiYoYy5EPWEpLGImJihjLkY9YikpO3RoaXMuWGI9bmV3IGh2KHRoaXMuQyx0aGlzLmopO2IgaW4gY3YmJihhPXRoaXMubGYsYiBpbiBjdiYmKGI9Y3ZbYl0sYz0iQGltcG9ydCB1cmwoIitXbygiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSIpLnJlc29sdmUoV28oZXZbYl0pKS50b1N0cmluZygpKwoiKTsiLGM9eW4oYyksYS5nLnB1c2goYyksYj15bignYm9keSB7Zm9udC1mYW1pbHk6IicrYisnIiwiR29vZ2xlIFNhbnMiLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYgIWltcG9ydGFudH0nKSxhLmcucHVzaChiKSkpO18ub2koXy5aaShwcSw5KSk/KHRoaXMuWGU9bmV3IGl2KHRoaXMuRmMsdGhpcy5oLHRoaXMuaiksdGhpcy5QPTAsbnYodGhpcyksdGhpcy5QPT09MCYmdGhpcy5sJiZ0aGlzLmwoMTAwLCEwKSk6dGhpcy5HPW92KHRoaXMpOyhiPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGwpJiZwdihiLHRoaXMuail9Owp2YXIgb3Y9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IEJ0KGEsYS53YSk7Q3QoYixhLnNmKTtFdChiLCgwLF8ueSkoYS5naCxhKSk7RnQoYixuZXcgQ3UoYS5GYyxbXS5jb25jYXQoYS5DKSxhLndhLGEubCxhLkIsYS5BaSkpO3JldHVybiBifSxudj1mdW5jdGlvbihhKXthLkw9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGIpe2IuZm9yRWFjaChmdW5jdGlvbihjKXtpZihjLmlzSW50ZXJzZWN0aW5nKXt2YXIgZD1jLmJvdW5kaW5nQ2xpZW50UmVjdDtkJiZkLndpZHRoPT09MCYmZC5oZWlnaHQ9PT0wfHwocXYoYSxjLnRhcmdldCksYS5MLnVub2JzZXJ2ZShjLnRhcmdldCkpfX0pfSk7W10uY29uY2F0KGEuQykuZm9yRWFjaChmdW5jdGlvbihiKXtydihhLGIpfSl9LHJ2PWZ1bmN0aW9uKGEsYixjKXtjPWM9PT12b2lkIDA/ITA6YztpZighUXR8fCEkdChiKSl7YS5FZj09PXZvaWQgMCYmKGEuRWY9ISFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtZXRhW25hbWU9Imdvb2dsZSJdW2NvbnRlbnQ9Im5vdHJhbnNsYXRlIl0sIG1ldGFbbmFtZT0icm9ib3RzIl1bY29udGVudD0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJnb29nbGUiXVt2YWx1ZT0ibm90cmFuc2xhdGUiXSwgbWV0YVtuYW1lPSJ0cmFuc2xhdGUiXVtjb250ZW50PSJubyJdJykpOwppZihhLkVmKWM9ITE7ZWxzZSBpZihiLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe3ZhciBkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIjtRdCYmYnUmJihkPSJub3RyYW5zbGF0ZSIsZT0idHJhbnNsYXRlIik7ZD1iLmNsYXNzTGlzdCYmYi5jbGFzc0xpc3QuY29udGFpbnMoZCl8fGIuZ2V0QXR0cmlidXRlJiZiLmdldEF0dHJpYnV0ZSgidHJhbnNsYXRlIik9PT0ibm8iO2U9Yi5jbGFzc0xpc3QmJmIuY2xhc3NMaXN0LmNvbnRhaW5zKGUpfHxiLmdldEF0dHJpYnV0ZSYmYi5nZXRBdHRyaWJ1dGUoInRyYW5zbGF0ZSIpPT09InllcyI7Yz1kPyExOmU/ITA6Y31pZihiLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpYyYmXy5BYyhiLnRleHRDb250ZW50KSYmYi5wYXJlbnRFbGVtZW50JiZhLkwub2JzZXJ2ZShiLnBhcmVudEVsZW1lbnQpO2Vsc2UgaWYoYi5jaGlsZE5vZGVzKWZvcihlPTA7ZTxiLmNoaWxkTm9kZXMubGVuZ3RoO2UrKylydihhLGIuY2hpbGROb2Rlc1tlXSwKYyl9fSxxdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz17fSxkPTA7ZDxiLmNoaWxkTm9kZXMubGVuZ3RoO2M9e2tiOnZvaWQgMH0sZCsrKWMua2I9Yi5jaGlsZE5vZGVzW2RdLGMua2Iubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmXy5BYyhjLmtiLnRleHRDb250ZW50KSYmKGEuUCsrLGEuTy5oYXMoYy5rYil8fGEuTy5zZXQoYy5rYixjLmtiLnRleHRDb250ZW50KSxrdihhLlhlLGMua2IudGV4dENvbnRlbnQpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKGYpe2Uua2IudGV4dENvbnRlbnQ9Zn19KGMpKS5jYXRjaChmdW5jdGlvbigpe30pLmZpbmFsbHkoZnVuY3Rpb24oKXthLlAtLTthLlA9PT0wJiZhLmwmJmEubCgxMDAsITApfSkpfTtsdi5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbigpe212KHRoaXMpO3RoaXMuVWUucmVzdG9yZSgpO3ZhciBhPXRoaXMuQyBpbnN0YW5jZW9mIE5vZGU/dGhpcy5DOm51bGw7YSYmcHYoYSx0aGlzLkphKCkpfTsKbHYucHJvdG90eXBlLk09ZnVuY3Rpb24oKXtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLnJlc3RvcmUoKTtfLlVkKHdpbmRvdywiYmx1ciIsdGhpcy50ZiwhMCx0aGlzKTtfLlVkKHdpbmRvdywiZm9jdXMiLHRoaXMudWYsITAsdGhpcyl9O3ZhciBzdj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT13cihhLm8uaCksZj1uZXcgQnQoYSxiLkQpO2IuQy5wdXNoKGYpO0R0KGYsYi5JKTtGdShiLGUpO0N0KGYsZHx8YS5wZik7Yj1jfHxuZXcgWXUoW10sW10sYixhLkphKCksYS5vYSgpLGEueWYsYS5JLGEuSWEpO0V0KGYsYS5VaCxhKTthLkImJkR0KGYsYi5kb25lLGIpO0Z0KGYsYil9O18ubT1sdi5wcm90b3R5cGU7Xy5tLlVoPWZ1bmN0aW9uKGEsYixjKXtjLmRvbmUoKTt0aGlzLkk/dGhpcy5paChhKTp0aGlzLmhoKGEpO2Muby5JKCl9O18ubS51Zj1mdW5jdGlvbigpe3RoaXMuUj0hMTt0aGlzLlQ9MDt5dCh0aGlzLkQsdGhpcy5BKX07Cl8ubS50Zj1mdW5jdGlvbihhKXthLnRhcmdldD09d2luZG93JiYodGhpcy5SPSEwLHRoaXMuVD0wLHl0KHRoaXMuRCwuMDEpKX07Xy5tLlFoPWZ1bmN0aW9uKGEpe2lmKHRoaXMuZyYmdGhpcy5CKWlmKF8ub2koXy5aaShwcSw5KSkpZm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBjPWFbYl0uYWRkZWROb2RlcztpZihjKWZvcih2YXIgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXJ2KHRoaXMsY1tkXSl9ZWxzZXtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWlmKGFbYl0udGFyZ2V0JiZhW2JdLnRhcmdldC5jbGFzc05hbWUmJnR5cGVvZiBhW2JdLnRhcmdldC5jbGFzc05hbWU9PT0ic3RyaW5nIiYmKGFbYl0udGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCJ0cmFuc2xhdGUiKT49MHx8YVtiXS50YXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoImdvb2ctIik9PTApKXJldHVybjt0aGlzLndhLmFkZCgoMCxfLnkpKHRoaXMuTWksdGhpcykpfX07Cl8ubS5NaT1mdW5jdGlvbigpe3RoaXMuST0hMDt0aGlzLkcmJih0aGlzLkcuc3RvcCgpLHRoaXMuRz1vdih0aGlzKSk7cmV0dXJuITF9O18ubS5zZj1mdW5jdGlvbihhLGIpe0R1KGIsR3QoYSkpO3N2KHRoaXMsYik7cmV0dXJuIHRoaXMuWWh9O18ubS5ZaD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O2lmKCFIdChhKSlyZXR1cm4gSnQ7aWYoIXRoaXMuQilmb3IoYT0wO2E8dGhpcy5GLmxlbmd0aDsrK2Epe3ZhciBjPWIsZD0oMCxfLnkpKHRoaXMuTWUsdGhpcyxiLHRoaXMuRlthXSk7Yy5ELmFkZChkKX1yZXR1cm4gdGhpcy5YaH07Cl8ubS5uZj1mdW5jdGlvbihhLGIpe2lmKHRoaXMuVCYmIXRoaXMuUil7YT0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLlQ7dmFyIGM9dGhpcy5BO2E8OTAwJiZjPi4wMT9jPU1hdGgubWF4KGMqLjksLjAxKTphPjExMDAmJmM8LjUmJihjPU1hdGgubWluKGMqMS41LC41KSk7dGhpcy5BPWM7dGhpcy5nYj90aGlzLmpmPS4wMTp0aGlzLmRmPXRoaXMuQX10aGlzLkk9dGhpcy5nPSEwO3RoaXMuVD0obmV3IERhdGUpLmdldFRpbWUoKTt0aGlzLkNpIT0oYT1kb2N1bWVudC5ib2R5LmlubmVyVGV4dHx8ZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudHx8ZG9jdW1lbnQuYm9keS5pbm5lckhUTUwpPyh0aGlzLkNpPWEsYT0hMCk6YT0hMTthPyh0aGlzLmdiPSExLHRoaXMuQT10aGlzLmRmLHRoaXMuUnx8eXQodGhpcy5ELHRoaXMuQSksRXUoYixbXS5jb25jYXQodGhpcy5DKSx0aGlzLkQpLGE9bmV3IEJ0KHRoaXMsdGhpcy5EKSxDdChhLHRoaXMuc2YpLEV0KGEsKDAsXy55KSh0aGlzLmFmLHRoaXMpKSwKRnQoYSxiKSx0aGlzLkc9YSk6KHRoaXMuZ2I9ITAsdGhpcy5BPXRoaXMuamYsdGhpcy5SfHx5dCh0aGlzLkQsdGhpcy5BKSxhPW5ldyBCdCh0aGlzLHRoaXMuRCksQ3QoYSx0aGlzLm5mKSxFdChhLCgwLF8ueSkodGhpcy5hZix0aGlzKSksRnQoYSxiKSx0aGlzLkc9YSk7cmV0dXJuIEl0fTtfLm0uWGg9ZnVuY3Rpb24oYSxiKXtpZighdGhpcy5nKXJldHVybiBJdDt0aGlzLkk9dGhpcy5nPSExO3RoaXMuSGI/R3UoYiwhMCk6KEd1KGIpLGIuUChiLmwpKTtpZih0aGlzLmlpKXJldHVybiB0aGlzLm5mO2IuY2xlYXIoKTtyZXR1cm4gSXR9Owp2YXIgdXY9ZnVuY3Rpb24oYSxiLGMpe2E6e3ZhciBkPXR2KGEpLGU9YS5mYixmPWEuamksZz1hLlVlLmc7Yj1HdChiKTtpZighYy5HKXtpZihjLnFhLmxlbmd0aD09MCl7Yy5sPT0wJiZjLnFiPT0wJiZjLkIoMCwhMCk7Yz0hMTticmVhayBhfWMuRz1JdShjLGQsZSxmLGcpfWMucmE9ITA7UnQoYy5HLGMuaixjLmgsYik7Yz0hMH1yZXR1cm4gYz9hLnBmOmEuU2N9LHR2PWZ1bmN0aW9uKGEpe3JldHVybiBhLklkPygwLF8ueSkoYS5LLm8sYS5LKTpmdW5jdGlvbigpe319O18ubT1sdi5wcm90b3R5cGU7Cl8ubS5wZj1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmcpcmV0dXJuIEl0O3ZhciBjPWIubztpZihjLmc9PW51bGwpe2lmKCFjLnJhKXJldHVybiB1dih0aGlzLGEsYi5vKTtpZighSHQoYSkpcmV0dXJuIEp0O2MucmE9ITE7Yy5nPWMuRy5kY3x8bnVsbDt2YXIgZD1jLmc/Yy5nOmMuRz1udWxsO2lmKCFkKXJldHVybiB1dih0aGlzLGEsYi5vKTt0aGlzLkYucHVzaChkKTt2YXIgZT1kLm1hKCk7aWYodGhpcy5vLmhhcyhlLCF0aGlzLkIpfHxiLkdbZV0hPW51bGwmJmIuR1tlXSlyZXR1cm4gZT1jLmcuRCxjLmwrPWUsYy5qLT1lLGMuZz1udWxsLHRoaXMuQiYmSnUoYixkLCExKSx1dih0aGlzLGEsYi5vKTtlPXRoaXMubztkPWQubWEoKTtlLmdbZF09bnVsbH1iLmxiKCk+MCYmeXQodGhpcy5ELC41KTtyZXR1cm4gS3UoYyxiLHdyKHRoaXMuby5oKSk/dGhpcy5TYzp1dih0aGlzLGEsYi5vKX07Cl8ubS5TYz1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLmd8fGIubGIoKT09MClyZXR1cm4gSXQ7c3YodGhpcyxiLm8pO3JldHVybiB0aGlzLkI/KGIudHJhY2tWaXNpYmlsaXR5KEd0KGEpKSx0aGlzLlpoKTpiLnRyYW5zbGF0ZShhKT09MD9JdDp0aGlzLnJmfTtfLm0uWmg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5nP0h0KGEpP2IudHJhbnNsYXRlKGEpPT0wP0l0OnRoaXMucmY6SnQ6SXR9OwpfLm0uTWU9ZnVuY3Rpb24oYSxiKXtiLmomJnRoaXMuby5yZW1vdmUoYi5sKTtpZighdGhpcy5nKXJldHVybiExO2lmKHRoaXMuby5oYXMoYi5tYSgpLCExKSl7dmFyIGM9dGhpcy5vO2MuaGFzKGIubCwhMSk/KGIuaD1jLnJlYWQoYi5sKSxiLkw9ITApOihjLnJlbW92ZShiLmwpLGIuaj0hMCk7cXQoYil9ZWxzZSBpZihjPXRoaXMubyxiLmopYy5yZW1vdmUoYi5sKTtlbHNlIGlmKGIuRil7dmFyIGQ9Yi5GLnJlcGxhY2UoLzxhIC9nLCI8c3BhbiAiKS5yZXBsYWNlKC9cL2E+L2csIi9zcGFuPiIpO2IuTD0hMDtkZWxldGUgYi5GO2IuRj1udWxsO2IuaD1bXTt2YXIgZT1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLGY9ZS5jcmVhdGVFbGVtZW50KCJkaXYiKTttcChmLCExKTtkPWQuaW5kZXhPZigiPGk+Iik+PTA/ZDoiPGI+IitkKyI8L2I+IjtkPV8uS2IoZCk7ZD1fLm1sKGQpO2Yubm9kZVR5cGU9PT0xJiZNbChmKTtmLmlubmVySFRNTD1fLmtqKGQpOwplLmJvZHkuYXBwZW5kQ2hpbGQoZik7ZT1bXTtmb3IoZD1mLmZpcnN0Q2hpbGQ7ZDtkPWQubmV4dFNpYmxpbmcpaWYoZC50YWdOYW1lPT0iSSIpdmFyIGc9b3QoYixFbyhkKSxkLmlubmVySFRNTCk7ZWxzZSBpZihkLnRhZ05hbWU9PSJCIil7Z3x8KGc9b3QoYiwiIiwiIikpO2lmKGIuZy5sZW5ndGg9PTEpdXQoZy5VLGUsMCxkKTtlbHNle3ZhciBoPWU7dmFyIGs9ZDt2YXIgbD1iLmc7Zz1nLlU7Zm9yKHZhciBuPVtdLHE9ay5maXJzdENoaWxkO3E7cT1wKXt2YXIgcD1xLm5leHRTaWJsaW5nO3Z0KHEpfWZvcihwPWsuZmlyc3RDaGlsZDtwO3A9cC5uZXh0U2libGluZylwLmF0dHJpYnV0ZXMmJnAuYXR0cmlidXRlcy5pPyhrPXBhcnNlSW50KHAuYXR0cmlidXRlcy5pLm5vZGVWYWx1ZSwxMCksIWlzTmFOKGspJiZrPj0wJiZrPGwubGVuZ3RoJiYobFtrXS5yZCYmbltrXT9uW2tdLlorPXAuZmlyc3RDaGlsZCYmcC5maXJzdENoaWxkLm5vZGVUeXBlPT0zP3AuZmlyc3RDaGlsZC5ub2RlVmFsdWU6CkVvKHApOm5ba109dXQoZyxoLGsscCkpKTpwLm5vZGVUeXBlPT0zJiZnLnB1c2goe1g6LTEsWjpwbyhwLm5vZGVWYWx1ZSl9KTtnIT1udWxsJiZnLmxlbmd0aD4wJiZnWzBdLlg9PS0xJiYoZy5sZW5ndGg9PTE/Z1swXS5YPTA6KGdbMV0uWj1nWzBdLlorZ1sxXS5aLGcuc2hpZnQoKSkpfWc9dm9pZCAwfWQ9Yi5oO2ZvcihoPTA7aDxkLmxlbmd0aC0xOysraClsPWRbaF0sZz1rbyhsLlVbbC5VLmxlbmd0aC0xXS5aKSxnPWcuY2hhckNvZGVBdChnLmxlbmd0aC0xKSwxMjI4ODw9ZyYmZzw9MTIzNTF8fDY1MjgwPD1nJiZnPD02NTUxOXx8KGwuVVtsLlUubGVuZ3RoLTFdLlorPSIgIik7Xy5BZChmKTtmb3IoZj0wO2Y8Yi5nLmxlbmd0aDsrK2YpZjxlLmxlbmd0aCYmZjxiLkMubGVuZ3RoJiZlW2ZdIT1udWxsJiYoZD1iLkNbZl0saD1lW2ZdLnN0YXJ0LGghPW51bGwmJihsPWQuc3Vic3RyaW5nKDAsZC5sZW5ndGgtZC5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikubGVuZ3RoKSxsPT0iICImJgoobD0iIiksbCYmKGguWj1sK2guWi5yZXBsYWNlKC9eW1xzXHhhMF0rLywiIikpKSxoPWVbZl0uZW5kLGghPW51bGwmJihkPWQuc3Vic3RyaW5nKGtvKGQpLmxlbmd0aCksZD09IiAiJiYoZD0iIiksZCYmKGguWj1rbyhoLlopK2QpKSk7Yi5oLmxlbmd0aCE9MXx8Yi5oWzBdLmhlfHwoYi5oWzBdLmhlPWIubCk7Yy53cml0ZShiLmwsYi5oKTtxdChiKX1iLkl8fCh0aGlzLkhiPSExKTtjPWIuaj8hMDp2b2lkIDA7YS5XKz1iLkQ7YyE9bnVsbCYmKGEubGE9ITApO2I9TWF0aC5taW4oTWF0aC5mbG9vcihhLlcqMTAwL2EubCksMTAwKTtpZihhLkYhPWJ8fGMpYS5GPWIsYS5SPyhhLkIoYS5GLCEwLGMpLGEuUChhLlcpKTphLkIoYS5GLCExLGMpO3JldHVybiExfTsKXy5tLnJmPWZ1bmN0aW9uKGEsYil7aWYoIXRoaXMuZylyZXR1cm4gSXQ7aWYoIUh0KGEpKXJldHVybiBKdDtpZihiLmxiKCk+MSl7YT1iLmxbMF07dmFyIGM9Yi5nO2lmKGEuanx8Yy5sZW5ndGg9PTB8fGEuZz09bnVsbHx8YS5nLmxlbmd0aD09MClhPW51bGw7ZWxzZXtmb3IodmFyIGQ9W10sZT1bXSxmPTA7ZjxhLmcubGVuZ3RoJiZmPGMubGVuZ3RoOysrZil7dmFyIGc9YS5nW2ZdO2cmJmdbMF0mJmdbMV09PTIwMHx8KGUucHVzaChjW2ZdKSxkLnB1c2goYS5vW2ZdKSl9YT1lLmxlbmd0aD4wP3tOaTpuZXcgZnUoZCwhMCksT2k6ZX06bnVsbH1hPWE/bmV3IFl1KFthLk5pXSxhLk9pLGIubyxiLmgsYi5qLGIucWEsYi5PLGIuQik6bnVsbDthIT1udWxsJiZzdih0aGlzLGIubyxhLHRoaXMuU2MpfWVsc2V7YT0hMTtmb3IoYz0wO2M8Yi5sLmxlbmd0aDsrK2MpZD1iLmxbY10sZC5qfHxkLmg9PTIwMCYmZC5nJiZkLmdbMF0/ZD1kLmw9ITE6KGQuaj0hMCxkPWQubD0hMCksYT1kfHxhO2lmKGEpcmV0dXJuIHRoaXMuU2N9ZD0KdGhpcy5KYSgpO2E9dGhpcy5vYSgpO2lmKGIuZy5sZW5ndGg+MSlpZihjPWIubFswXSxlPWQ9PSJhdXRvIixkPWIuZyxjLmg9PTIwMClmb3IoZj0wO2Y8Yy5nLmxlbmd0aCYmZjxkLmxlbmd0aDsrK2YpaWYoKGc9Yy5nW2ZdKSYmZ1sxXT09MjAwKXt2YXIgaD1nWzJdLGs9ZFtmXSxsPWssbj1oIT1udWxsJiZoPT1hO2wuRj1nWzBdO24hPT12b2lkIDAmJihsLks9bik7ay5JPWUmJmg9PW51bGx9ZWxzZSBkW2ZdLmo9ITA7ZWxzZSBmb3IoYT0wO2E8ZC5sZW5ndGg7KythKWRbYV0uaj0hMDtlbHNle2M9bmV3IGV1KGQ9PSJhdXRvIik7Zm9yKGQ9MDtkPGIubC5sZW5ndGg7KytkKWY9Yi5sW2RdLGU9YSxmLmg9PTIwMCYmZi5nJiZmLmdbMF0/KGY9Zi5nWzBdLGMuZy5wdXNoKGZbMF0pLGY9ZlsyXSxjLmg9Yy5oJiZmIT1udWxsJiZmPT1lLGYhPW51bGwmJihjLmw9ITEpKTpjLmo9ITA7Yi5GIT1udWxsJiYoYy5nLnB1c2goYi5GKSxiLkY9bnVsbCk7aWYoYT1iLmdbMF0pZD1jLm1hKCksZT1jLmgsCmEuRj1kLGUhPT12b2lkIDAmJihhLks9ZSksYS5JPWMubCxhLmo9Yy5qfWlmKHRoaXMuQil7YT0oMCxfLnkpKHRoaXMuTWUsdGhpcyk7Zm9yKGM9MDtjPGIuZy5sZW5ndGg7YysrKWEoYi5vLGIuZ1tjXSk7Zm9yKGM9MDtjPGIuQy5sZW5ndGg7YysrKWEoYi5vLGIuQ1tjXSk7JHUoYik7Yi5XPSEwO2IuSSYmYi5CJiYoYj1iLkIsLS1iLmg9PTAmJlZ1KGIuZykpfXJldHVybiBJdH07CnZhciBtdj1mdW5jdGlvbihhKXthLmxhJiZhLmxhLmRpc2Nvbm5lY3QoKTthLklhJiZhLklhLnJlc2V0KCk7YS5nJiYoYS5HJiZhLkcuc3RvcCgpLGEuZz0hMSxhLkk9ITEpO2lmKGEuRi5sZW5ndGgpe2Zvcih2YXIgYj0wO2I8YS5GLmxlbmd0aDsrK2IpYS5GW2JdLmRpc3Bvc2UoKTthLkY9W119YS5LIT1udWxsJiYoYS5LLnJlc3RvcmUoKSxhLks9bnVsbCk7YS5YYiE9bnVsbCYmKGEuWGIucmVzdG9yZSgpLGEuWGI9bnVsbCk7YS5PJiZhLk8uc2l6ZT4wJiYoYS5PLmZvckVhY2goZnVuY3Rpb24oYyxkKXtkLnRleHRDb250ZW50PWN9KSxhLk8uY2xlYXIoKSk7YS5MJiYoYS5MLmRpc2Nvbm5lY3QoKSxhLkw9bnVsbCk7YS5sZi5yZXN0b3JlKCl9LHB2PWZ1bmN0aW9uKGEsYil7YS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIikmJmEuc2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIsYik7YS5nZXRBdHRyaWJ1dGUoImxhbmciKSYmYS5zZXRBdHRyaWJ1dGUoImxhbmciLGIpfTsKRHIuYXR0YWNoKDMwNDYsbHYucHJvdG90eXBlLHtvaToxLHJpOjIscGk6Myx0aTo0fSk7dmFyIHZ2PVdxKGNyKSx3dj1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsayxsLG4pe18udS5jYWxsKHRoaXMpO3RoaXMuTz1ifHxudWxsO3RoaXMuSz0hIWM7dGhpcy5HPWR8fCJ0cmFuc3BhcmVudCI7dGhpcy5EPWZ8fCIiO2I9Z3x8e2ZldGNoU3RhcnQ6MCxTazowfTthPWIuZmV0Y2hTdGFydHx8MDtiPWIuZmV0Y2hFbmR8fDA7dGhpcy5GPWEmJmI/Yi1hOjA7dGhpcy5SPURhdGUubm93KCktcnE7dGhpcy5BPSExO3RoaXMuZz1uZXcgUnIoZXx8IiIsdm9pZCAwLGYsbik7dGhpcy5JPW5ldyB6dCgxKTt0aGlzLkI9bmV3IHR0O3RoaXMubD1udWxsO3RoaXMuQz0hMDt0aGlzLm89Xy52LkludGVyc2VjdGlvbk9ic2VydmVyIT1udWxsO3RoaXMuTD1ofHxudWxsO2U9bmV3IGpyO2Y9bmV3IGxyKHRoaXMuZy5pbml0aWFsaXplLmJpbmQodGhpcy5nLGUucmVnaXN0ZXIoKSkpO3RoaXMuemM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy56Yyx0aGlzKSkpO3RoaXMuUGM9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5QYywKdGhpcykpKTt0aGlzLnFkPW1yKGYsZS5kZWxheSgoMCxfLnkpKHRoaXMucWQsdGhpcykpKTt0aGlzLnJlc3RvcmU9bXIoZixlLmRlbGF5KCgwLF8ueSkodGhpcy5yZXN0b3JlLHRoaXMpKSk7Zi5maW5pc2goKTtlLmZpbmlzaCgpO3BlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5tYXJrJiZwZXJmb3JtYW5jZS5tYXJrKFJxLHZvaWQgMCk7ZT1kcih2diwxKTtmPW5ldyBRbjtmPV8uVGooZiwxLHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO2E6e2lmKHBlcmZvcm1hbmNlJiYoaD1wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIiksaC5sZW5ndGg9PTEpKXtoPWhbMF07YnJlYWsgYX1oPW51bGx9aCYmKG49bmV3IEZtLG49Xy5UaihuLDEsIiIpLGE9R20oaC5zdGFydFRpbWUpLG49Xy5MKG4sMixhKSxhPUhtKGguZHVyYXRpb24pLG49Xy5MKG4sMyxhKSxhPW5ldyBQbixhPV8uVGooYSwxLGguaW5pdGlhdG9yVHlwZSksYT1fLlRqKGEsMixoLm5leHRIb3BQcm90b2NvbCksCmI9R20oaC53b3JrZXJTdGFydHx8MCksYT1fLkwoYSwzLGIpLGI9R20oaC5yZWRpcmVjdFN0YXJ0KSxhPV8uTChhLDQsYiksYj1HbShoLnJlZGlyZWN0U3RhcnQpLGE9Xy5MKGEsNCxiKSxiPUdtKGgucmVkaXJlY3RFbmQpLGE9Xy5MKGEsNSxiKSxiPUdtKGguZmV0Y2hTdGFydCksYT1fLkwoYSw2LGIpLGI9R20oaC5kb21haW5Mb29rdXBTdGFydCksYT1fLkwoYSw3LGIpLGI9R20oaC5kb21haW5Mb29rdXBFbmQpLGE9Xy5MKGEsOCxiKSxiPUdtKGguY29ubmVjdFN0YXJ0KSxhPV8uTChhLDksYiksYj1HbShoLmNvbm5lY3RFbmQpLGE9Xy5MKGEsMTAsYiksYj1HbShoLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksYT1fLkwoYSwxMSxiKSxiPUdtKGgucmVzcG9uc2VTdGFydCksYT1fLkwoYSwxMyxiKSxiPUdtKGgucmVzcG9uc2VFbmQpLGE9Xy5MKGEsMTQsYiksYT1fLmprKGEsMTUsaC50cmFuc2ZlclNpemUpLGE9Xy5qayhhLDE2LGguZW5jb2RlZEJvZHlTaXplKSxhPV8uamsoYSwxNyxoLmRlY29kZWRCb2R5U2l6ZSksCm49Sm0obiw2LGEpLF8uTChmLDMsbiksbj1ObShScSkpJiYoaD1PbShVcSx7c3RhcnQ6aC5yZXNwb25zZUVuZCxlbmQ6bi5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSkpJiYocGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMmJnBlcmZvcm1hbmNlLmNsZWFyTWVhc3VyZXMoVXEpLGg9S20oaCksXy5MKGYsNCxoKSxoPVVuKGUpLF8uTChoLDQsZikpO2ZyKGUsMSl9O18uRyh3dixfLnUpO0RyLmF0dGFjaCgxNDA5Nyx3di5wcm90b3R5cGUse2JlOmZ1bmN0aW9uKCl7UW0odGhpcy5nLlRhKCk/InRlX2FmYXMiOiJ0ZV9hZmF1Iil9fSk7Xy5tPXd2LnByb3RvdHlwZTtfLm0uUGk9ZnVuY3Rpb24oYSl7dGhpcy5vPWF9O18ubS5TYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmcuVGEoKX07Cl8ubS56Yz1mdW5jdGlvbihhLGIpe3RoaXMuZy5TYSgpP3RoaXMuZy5vLnNlbmQoe2Rpc3BsYXlfbGFuZ3VhZ2U6YixrZXk6IkFJemFTeUJXRGowUUp2Vkl4OFhPaFJlZ1hYNV9TclJXeGhUNUhzNCJ9LGEpLnRoZW4oZnVuY3Rpb24oYyl7cmV0dXJuIGEoYyl9KToodGhpcy5iZSgpLGEobnVsbCkpfTsKXy5tLlBjPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO2lmKGIpYShiKTtlbHNlIGlmKHRoaXMuZy5TYSgpKXtiPW5ldyBhcyhkb2N1bWVudC5ib2R5LCExLCExLDEsMSk7Zm9yKHZhciBjPVtdLGQ9MCxlPXRoaXMuZy5oLkhmO2MubGVuZ3RoK2Q8ZTspe3ZhciBmPWIubmV4dCgpO2lmKGYuZG9uZSlicmVhaztmPWYudmFsdWU7Yi5nPT0xJiYkdChmKT9icyhiKTpmLm5vZGVUeXBlPT0zJiYoZj1fLkFjKGpvKGYubm9kZVZhbHVlKSkpJiYoYy5wdXNoKGYpLGQrPWYubGVuZ3RoKX1Tcih0aGlzLmcsYSxjLmpvaW4oIiAiKSkudGhlbihmdW5jdGlvbihnKXthKGcpfSxmdW5jdGlvbihnKXtyZXR1cm4gYShudWxsLGcpfSl9ZWxzZSB0aGlzLmJlKCksYShudWxsLCEwKX07Cl8ubS5xZD1mdW5jdGlvbihhLGIsYyxkLGUpe3Z2LkViPWE7dnYuRmI9Yjt2YXIgZj1kcih2diwyKTtlcih2dixmKTt2YXIgZz1ObShScSk7aWYoZyl7dmFyIGg9Tm0oU3EpO2lmKGgpe3ZhciBrPU9tKFZxLHtzdGFydDpnLnN0YXJ0VGltZSxlbmQ6aC5zdGFydFRpbWV8fHBlcmZvcm1hbmNlLm5vdygpfSk7ayYmKGc9VW4oZiksaD1uZXcgU24saz1LbShrKSxoPV8uTChoLDEsayksXy5MKGcsNSxoKSxwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyYmcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhWcSkpfX1mcihmLDIpO2Y9e2RldGFpbDp7c291cmNlTGFuZ3VhZ2U6YSx0YXJnZXRMYW5ndWFnZTpifX07cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoU3EsZik7Zj1EYXRlLm5vdygpO0NyKCk7aWYoIWF8fHhyKGEsYikpYT0iYXV0byI7aWYoZXx8YSE9dGhpcy5ofHxiIT10aGlzLmopdGhpcy5CPW5ldyB0dDt0aGlzLmg9YTt0aGlzLmo9CmI7dGhpcy5nLlNhKCk/KGQ9ZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMubCYmdGhpcy5sLmRpc3Bvc2UoKSx0aGlzLmw9bmV3IGx2KGQsdGhpcy5nLHRoaXMuTyx0aGlzLkssdGhpcy5HLCEwLHRoaXMuSSx0aGlzLkIsdGhpcy5vLHRoaXMuTCksdGhpcy5sLnlmPXRoaXMuQSx0aGlzLkM9ITAsdGhpcy5sLnRyYW5zbGF0ZShhLGIsYyxlLCgwLF8ueSkodGhpcy55aSx0aGlzLGYsYSxiKSkpOih0aGlzLmJlKCksYygwLCExLCEwKSl9O18ubS5wZz1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5sJiZ0aGlzLmwuZ307Xy5tLllmPWZ1bmN0aW9uKGEpe3RoaXMuQT1hfTtfLm0ucmVzdG9yZT1mdW5jdGlvbigpe3ZhciBhPWRyKHZ2LDMpO2VyKHZ2LGEpO2ZyKGEsMyk7cGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm1hcmsmJnBlcmZvcm1hbmNlLm1hcmsoVHEsdm9pZCAwKTtDcigpO3RoaXMuZy5TYSgpJiZ0aGlzLmwmJnRoaXMubC5yZXN0b3JlKCl9OwpfLm0uTT1mdW5jdGlvbigpe0JyKCk7d3YuZWEuTS5jYWxsKHRoaXMpO3RoaXMuZy5kaXNwb3NlKCk7dGhpcy5sPXRoaXMuZz1udWxsO3RoaXMuQj1uZXcgdHR9OwpfLm0ueWk9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5DJiYodGhpcy5DPSExLGI9e3NsOmIsdGw6Yyx0ZXh0bGVuOmR9LHRoaXMuQSYmKGIuY3R0PSIxIiksdGhpcy5EIT0iIiYmKGIuc3A9dGhpcy5EKSxiLnR0dD1EYXRlLm5vdygpLWEsYi50dGw9dGhpcy5SLHRoaXMuRiYmKGIudHRmPXRoaXMuRiksdGhpcy5vJiYoYi5zcj0xKSxhPXBxLGM9W10sXy5vaShfLlppKGEsMikpJiZjLnB1c2goInNkYSIpLF8ub2koXy5aaShhLDMpKSYmYy5wdXNoKCJlZWlzIiksZD1fLmJqKGEsaXEsNiksXy5vaShfLlppKGQsMSkpJiZjLnB1c2goImVzdHMiKSxfLm9pKF8uWmkoYSw3KSkmJmMucHVzaCgiZWhjbSIpLF8ub2koXy5aaShhLDgpKSYmYy5wdXNoKCJlb3BhIiksXy5vaShfLlppKGEsOSkpJiZjLnB1c2goImVhZHQiKSxiLmVmPWMuam9pbigiLCIpLFFtKCJ0ZV90aW1lIixiKSl9O3ZhciB4dj1mdW5jdGlvbihhKXt4bi5jYWxsKHRoaXMsYSk7dGhpcy5BPW5ldyBfLkhiKHRoaXMpfTtfLkIoeHYseG4pO3h2LnByb3RvdHlwZS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpO2EuY2xhc3NOYW1lPSJnb29nLXRlLWNvbWJvIjthLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsUi5FZSk7dGhpcy5PYShhKX07eHYucHJvdG90eXBlLkxhPWZ1bmN0aW9uKCl7eG4ucHJvdG90eXBlLkxhLmNhbGwodGhpcyk7dGhpcy5aZSgpfTt4di5wcm90b3R5cGUuWmU9ZnVuY3Rpb24oKXtfLngodGhpcy5IKCksImNoYW5nZSIscHIodGhpcywiY2hhbmdlIikpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTt4di5wcm90b3R5cGUuc2E9ZnVuY3Rpb24oKXt4bi5wcm90b3R5cGUuc2EuY2FsbCh0aGlzKTt0aGlzLkEuZGlzcG9zZSgpO3RoaXMuQT1udWxsfTsKdmFyIHl2PWZ1bmN0aW9uKGEsYil7YS5IKCkucGFyZW50Tm9kZSE9YiYmKGEuSCgpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYS5IKCkpLGIuYXBwZW5kQ2hpbGQoYS5IKCkpKX07Xy5tPXh2LnByb3RvdHlwZTtfLm0udWM9ZnVuY3Rpb24oYSl7dGhpcy5oLmllKHRoaXMuSCgpKTtmb3IodmFyIGIgaW4gYSlpZihhW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dmFyIGM9dGhpcy5oLlMoIk9QVElPTiIse3ZhbHVlOmJ9KTt0aGlzLmguU2IoYyxhW2JdKTt0aGlzLkgoKS5hcHBlbmRDaGlsZChjKX10aGlzLkgoKS5zZWxlY3RlZEluZGV4PTB9O18ubS5NYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkgoKS52YWx1ZX07Xy5tLmNiPWZ1bmN0aW9uKGEpe2lmKHRoaXMuSCgpLnZhbHVlIT1hKWZvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpe3RoaXMuSCgpLnNlbGVjdGVkSW5kZXg9YjticmVha319OwpfLm0uQWM9ZnVuY3Rpb24oYSl7aWYoXy5vYyhhKT09InVuZGVmaW5lZCIpcmV0dXJuIHRoaXMuSCgpLm9wdGlvbnMuaXRlbSh0aGlzLkgoKS5zZWxlY3RlZEluZGV4KS50ZXh0O2Zvcih2YXIgYj0wLGM7Yz10aGlzLkgoKS5vcHRpb25zLml0ZW0oYik7KytiKWlmKGMudmFsdWU9PWEpcmV0dXJuIGMudGV4dH07Xy5tLlJiPWZ1bmN0aW9uKGEpe3RoaXMuSCgpLmRpc2FibGVkPSFhfTt2YXIgenY9ZnVuY3Rpb24oYSl7eHYuY2FsbCh0aGlzLGEpfTtfLkIoenYseHYpO3p2LnByb3RvdHlwZS5uYj1mdW5jdGlvbihhKXt0aGlzLnVjLmNhbGwodGhpcyxhKX07dmFyIEF2PWZ1bmN0aW9uKGEsYil7eHYuY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLm9lPXRoaXMuZy5vZXx8MTE7dGhpcy5nLnBkPXRoaXMuZy5wZCE9MDt0aGlzLmcuZWI9QXF9O18uQihBdix4dik7Xy5tPUF2LnByb3RvdHlwZTtfLm0uS2M9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiR2EiKTt9OwpfLm0uUz1mdW5jdGlvbigpe3RoaXMuS2MoKTt0aGlzLkQ9dGhpcy5IKCk7dGhpcy5sPXdvKCJJRlJBTUUiLHtmcmFtZUJvcmRlcjowLCJjbGFzcyI6IlZJcGdKZC1aVmk5b2QteGwwN09iLU9FVm1jZCBza2lwdHJhbnNsYXRlIix0aXRsZTpSLkVlfSk7dGhpcy5sLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiO21wKHRoaXMubCwhMSk7ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmwpfTsKXy5tLlplPWZ1bmN0aW9uKCl7dmFyIGE9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIixiPV8uTGIodGhpcy5nLmViKSxjPVModGhpcywibWVudUJvZHkiKTt0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMucWcpO3RyKHRoaXMubCwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGQ9em8odGhpcy5sKSxlPXt9LGY9ZSYmZS5UZTtlPVduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoZSkpO2Y9JzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURjgiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9IicrUCh4cChiKSkrJyInKyhmPycgbm9uY2U9IicrUChZcChmKSkrJyInOiIiKSsnPjwvaGVhZD48Ym9keSBzY3JvbGw9Im5vIiBzdHlsZT0ibWFyZ2luOjBweDtvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciIG1hcmdpbkhlaWdodD0wIG1hcmdpbldpZHRoPTAgbGVmdE1hcmdpbj0wIHRvcE1hcmdpbj0wIGJvcmRlcj0wPjxkaXYgaWQ9IicrClAoYykrJyIgY2xhc3M9JztpZih3cCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLF8ucWwpKXt2YXIgZz1NcCgiVklwZ0pkLVpWaTlvZC14bDA3T2IiLm1hKCkpO2c9U3RyaW5nKGcpLnJlcGxhY2UoT3AsQ3ApfWVsc2UgZz0iVklwZ0pkLVpWaTlvZC14bDA3T2IiLnJlcGxhY2UoTnAsQ3ApO2U9Vm4oZSxmK2crIj48L2Rpdj48L2JvZHk+IikuVGIoKTtkLndyaXRlKF8ua2ooZSkpO2QuY2xvc2UoKX0sdGhpcykpfTtfLm0ucWc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5sKSk7dGhpcy5MPXRoaXMuai5IKFModGhpcywibWVudUJvZHkiKSk7dGhpcy5BLk4odGhpcy5ELCJjbGljayIsdGhpcy5UZCk7Xy5TYz90aGlzLkEuTih0aGlzLmwsImJsdXIiLHRoaXMuUmMpOnRoaXMuQS5OKEFvKHRoaXMubCksImJsdXIiLHRoaXMuUmMpO3RoaXMuZGlzcGF0Y2hFdmVudCgibG9hZCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7eHYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7Xy5BZCh0aGlzLmwpO3RoaXMuRD10aGlzLlQ9dGhpcy5CPXRoaXMuTD10aGlzLmo9dGhpcy5sPW51bGx9O18ubS5xZj1mdW5jdGlvbihhKXt0aGlzLm8hPWEuY3VycmVudFRhcmdldC52YWx1ZSYmKHRoaXMuY2IoYS5jdXJyZW50VGFyZ2V0LnZhbHVlKSx0aGlzLmRpc3BhdGNoRXZlbnQoImNoYW5nZSIpKTt0aGlzLlJjKCl9O18ubS5UZD1mdW5jdGlvbigpe0J2KHRoaXMpO0FvKHRoaXMubCkuZm9jdXMoKTt0aGlzLnJhPSEwfTtfLm0uUmM9ZnVuY3Rpb24oKXt0aGlzLnJhJiYodGhpcy5yYT0hMSxCdih0aGlzLCExKSxfLm1iKF8uc2QodGhpcy5EKSkuZm9jdXMoKSl9O18ubS5rZT1mdW5jdGlvbigpe307Xy5tLmxlPWZ1bmN0aW9uKCl7fTsKdmFyIEJ2PWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGI9PSJ1bmRlZmluZWQifHxiKXthLmxlKCk7Yj1qcChhLkQsd2luZG93KTt2YXIgYz1iLnkrYS5ELm9mZnNldEhlaWdodCxkPWIueS1hLkcuaGVpZ2h0LGU9Yi54LGY9Yi54K2EuRC5vZmZzZXRXaWR0aC1hLkcud2lkdGg7aWYoXy5TYyYmIXNvKCkpe3ZhciBnPWRvY3VtZW50LmJvZHk7Yy09Zy5vZmZzZXRUb3A7ZC09Zy5vZmZzZXRUb3A7ZS09Zy5vZmZzZXRMZWZ0O2YtPWcub2Zmc2V0TGVmdH1lbHNlIGc9S24oZG9jdW1lbnQpLGMtPWcueSxkLT1nLnksZS09Zy54LGYtPWcueDtnPV8uaWIod2luZG93KTtiLnk9Yi55PD1nLmhlaWdodC1hLkcuaGVpZ2h0P2M6ZDtiLnk+Zy5oZWlnaHQtYS5HLmhlaWdodCYmKGIueT1nLmhlaWdodC1hLkcuaGVpZ2h0KTtiLnk8MCYmKGIueT0wKTtfLnhmLnRlc3Qob3EpP2IueD1mPj0wP2Y6ZTpiLng9ZTw9Zy53aWR0aC1hLkcud2lkdGg/ZTpmO2IueD5nLndpZHRoLWEuRy53aWR0aCYmKGIueD1nLndpZHRoLQphLkcud2lkdGgpO2IueDwwJiYoYi54PTApO2VwKGEubCxiKTttcChhLmwsITApO0N2KGEpfWVsc2UgYS5rZSgpLG1wKGEubCwhMSl9O18ubT1Bdi5wcm90b3R5cGU7Xy5tLk1hPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub307Cl8ubS51Yz1mdW5jdGlvbihhKXt0aGlzLmouaWUodGhpcy5MKTttcCh0aGlzLmwsITApO3RoaXMuSWE9YTt0aGlzLkI9W107Zm9yKHZhciBiIGluIGEpaWYoYVtiXSE9PU9iamVjdC5wcm90b3R5cGVbYl0paWYoYVtiXT09Ii0tLSIpe3ZhciBjPXtsaW5rOnRoaXMuai5TKCJESVYiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWhnRFV3ZSIsdmFsdWU6Yn0pLGdpOiEwfTt0aGlzLkIucHVzaChjKX1lbHNle2M9e2xpbms6dGhpcy5qLlMoIkEiLHtjbGFzc05hbWU6IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiLGhyZWY6IiMiLHZhbHVlOmJ9KX07dGhpcy5CLnB1c2goYyk7dmFyIGQ9dGhpcy5qLlMoIkRJViIse3N0eWxlOiJ3aGl0ZS1zcGFjZTpub3dyYXAifSk7dGhpcy5qLmFwcGVuZENoaWxkKGMubGluayxkKTt0aGlzLmcucGQmJnRoaXMuai5hcHBlbmRDaGlsZChkLHRoaXMuai5TKCJTUEFOIix7Y2xhc3NOYW1lOiJpbmRpY2F0b3IifSwiXHUyMDNhIikpOwp0aGlzLmouYXBwZW5kQ2hpbGQoZCx0aGlzLmouUygiU1BBTiIse2NsYXNzTmFtZToidGV4dCJ9LHR5cGVvZiBhW2JdPT09ImZ1bmN0aW9uIj9hW2JdKCk6YVtiXSkpO3RoaXMuQS5OKGMubGluaywiY2xpY2siLHRoaXMucWYpfWE9dGhpcy5CLmxlbmd0aC0xO2E9TWF0aC5yb3VuZCgoYS1hJXRoaXMuZy5vZSkvdGhpcy5nLm9lKSsxO3RoaXMuVD10aGlzLmouUygiVEFCTEUiLHtjZWxsc3BhY2luZzowLGNlbGxwYWRkaW5nOjAsYm9yZGVyOjB9KTtjPXRoaXMuai5TKCJUQk9EWSIpO2I9dGhpcy5qLlMoIlRSIix7dmFsaWduOiJ0b3AifSk7dGhpcy5MLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC12SDFHbWYiO3RoaXMuai5hcHBlbmRDaGlsZCh0aGlzLkwsdGhpcy5UKTt0aGlzLmouYXBwZW5kQ2hpbGQodGhpcy5ULGMpO3RoaXMuai5hcHBlbmRDaGlsZChjLGIpO2ZvcihkPWM9MDtjPGE7KytjKXt2YXIgZT10aGlzLmouUygiVEQiKTt0aGlzLmouYXBwZW5kQ2hpbGQoYixlKTtmb3IodmFyIGY9CjA7ZjwxMSYmZDx0aGlzLkIubGVuZ3RoOysrZiwrK2QpdGhpcy5qLmFwcGVuZENoaWxkKGUsdGhpcy5CW2RdLmxpbmspO2MhPWEtMSYmKGU9dGhpcy5qLlMoIlREIix7ImNsYXNzIjoiVklwZ0pkLVpWaTlvZC12SDFHbWYtS3JoUE5iIn0sIlx1MDBhMCIpLHRoaXMuai5hcHBlbmRDaGlsZChiLGUpKX10aGlzLm89bnVsbDt0aGlzLmNiKHRoaXMuQlswXS5saW5rLnZhbHVlKTtDdih0aGlzKTttcCh0aGlzLmwsITEpfTtfLm0uQWM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuSWFbXy5vYyhhKT09InVuZGVmaW5lZCI/dGhpcy5vOmFdfTtfLm0ubWU9ZnVuY3Rpb24oKXt9OwpfLm0uY2I9ZnVuY3Rpb24oYSl7aWYodGhpcy5vIT1hKXt0aGlzLkFjKGEpJiYodGhpcy5vPWEsdGhpcy5tZSgpKTtmb3IodmFyIGI9MDtiPHRoaXMuQi5sZW5ndGg7KytiKXt2YXIgYz10aGlzLkJbYl07Yy5naXx8KGMubGluay5jbGFzc05hbWU9Yy5saW5rLnZhbHVlPT1hJiZ0aGlzLmcucGQ/IlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQiOiJWSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIiKX19fTt2YXIgQ3Y9ZnVuY3Rpb24oYSl7cXAoYS5MLG9wKGEuVCkpO3FwKGEubCxvcChhLkwpKTthLkc9b3AoYS5sKX0sRHY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKX07Xy5CKER2LEF2KTtfLm09RHYucHJvdG90eXBlOwpfLm0uS2M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguUygiYSIseyJhcmlhLWhhc3BvcHVwIjoidHJ1ZSJ9KTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVkIjtfLm5sKGEsIiMiKTt0aGlzLkk9dGhpcy5oLlMoIlNQQU4iKTthLmFwcGVuZENoaWxkKHRoaXMuSSk7dGhpcy5QPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOnVybCgiK3hxKyIpO2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggMHB4O2JvcmRlcjpub25lIix3aWR0aDoxNCxoZWlnaHQ6MTR9KTthLmFwcGVuZENoaWxkKHRoaXMuUCk7dGhpcy5PYShhKX07Xy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImJhY2tncm91bmRQb3NpdGlvbiIsIi0xNHB4IDBweCIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMHB4IDBweCIpfTsKXy5tLnNhPWZ1bmN0aW9uKCl7QXYucHJvdG90eXBlLnNhLmNhbGwodGhpcyk7dGhpcy5QPXRoaXMuST1udWxsfTtfLm0ubWU9ZnVuY3Rpb24oKXt0aGlzLmguU2IodGhpcy5JLHRoaXMuQWModGhpcy5vKXx8IiIpfTtfLm0ubmI9ZnVuY3Rpb24oYSl7dGhpcy51Yy5jYWxsKHRoaXMsYSl9O3ZhciBFdj1mdW5jdGlvbihhLGIpe0F2LmNhbGwodGhpcyxhLGIpfTtfLkIoRXYsQXYpO18ubT1Fdi5wcm90b3R5cGU7Cl8ubS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5TKCJhIix7ImFyaWEtaGFzcG9wdXAiOiJ0cnVlIn0pO2EuY2xhc3NOYW1lPSJWSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQiO18ubmwoYSwiIyIpO3RoaXMuST10aGlzLmguUygiU1BBTiIpO2EuYXBwZW5kQ2hpbGQodGhpcy5JKTthLmFwcGVuZENoaWxkKHRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsYWx0OiIiLHdpZHRoOjEsaGVpZ2h0OjF9KSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiU1BBTiIse3N0eWxlOiJib3JkZXItbGVmdDoxcHggc29saWQgI2JiYiJ9LCJcdTIwMGIiKSk7YS5hcHBlbmRDaGlsZCh0aGlzLmguUygiSU1HIix7c3JjOkNxLGFsdDoiIix3aWR0aDoxLGhlaWdodDoxfSkpO3RoaXMuUD10aGlzLmguUygic3BhbiIse3N0eWxlOiJjb2xvcjojNzY3Njc2IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sIlx1MjViYyIpO2EuYXBwZW5kQ2hpbGQodGhpcy5QKTt0aGlzLk9hKGEpfTsKXy5tLmtlPWZ1bmN0aW9uKCl7Xy5oaih0aGlzLlAsImNvbG9yIiwiIzliOWI5YiIpfTtfLm0ubGU9ZnVuY3Rpb24oKXtfLmhqKHRoaXMuUCwiY29sb3IiLCIjZDVkNWQ1Iil9O18ubS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuUD10aGlzLkk9bnVsbH07Xy5tLm1lPWZ1bmN0aW9uKCl7dGhpcy5oLlNiKHRoaXMuSSx0aGlzLkFjKHRoaXMubyl8fCIiKX07Xy5tLm5iPWZ1bmN0aW9uKGEpe3RoaXMudWMuY2FsbCh0aGlzLGEpfTt2YXIgRnY9ZnVuY3Rpb24oYSxiKXtBdi5jYWxsKHRoaXMsYSxiKTt0aGlzLmcucGQ9ITF9O18uQihGdixBdik7CkZ2LnByb3RvdHlwZS5LYz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0iVklwZ0pkLVpWaTlvZC1MZ2JzU2UiO3ZhciBiPXRoaXMuaC5TKCJESVYiLHtzdHlsZToiYmFja2dyb3VuZDogdXJsKCIrd3ErIikgcmVwZWF0LXggMCAtMzlweCJ9KTthLmFwcGVuZENoaWxkKGIpO3RoaXMuST10aGlzLmguY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7Yi5hcHBlbmRDaGlsZCh0aGlzLkkpO3RoaXMuT2EoYSl9O0Z2LnByb3RvdHlwZS5zYT1mdW5jdGlvbigpe0F2LnByb3RvdHlwZS5zYS5jYWxsKHRoaXMpO3RoaXMuST1udWxsfTtGdi5wcm90b3R5cGUucWY9ZnVuY3Rpb24oYSl7dGhpcy5jYihhLmN1cnJlbnRUYXJnZXQudmFsdWUpO3RoaXMuZGlzcGF0Y2hFdmVudCgiY2hhbmdlIik7dGhpcy5SYygpfTt2YXIgR3Y9ZnVuY3Rpb24oYSxiKXt4bi5jYWxsKHRoaXMsYik7dGhpcy5nPWEmJkpsKGEpfHx7fTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhHdix4bik7dmFyIEh2PXt6azowLEtqOjEsaGs6Mn07Xy5tPUd2LnByb3RvdHlwZTsKXy5tLlM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmguY3JlYXRlRWxlbWVudCgiZGl2Iik7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO050KGEsImdvb2ctdGUtZ2FkZ2V0Iik7YS5kaXI9Xy54Zi50ZXN0KG9xKT8icnRsIjoibHRyIjttcChhLCExKTtpZih0aGlzLmcubGF5b3V0PT0yKWltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjoiIn0pKTtlbHNle3ZhciBiPW5ldyB0bztpZihzcChfLlNjJiYhc28oKSkpdmFyIGM9IjxzcGFuIHN0eWxlPVwiZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoxNXB4OyB3aWR0aDo1MXB4O2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGFJbWFnZUxvYWRlciggc3JjPSciK1N0cmluZyhGcSkucmVwbGFjZShScCxHcCkrIicsc2l6aW5nTWV0aG9kPSdzY2FsZScpO1wiPjwvc3Bhbj4iO2Vsc2UgYz1ocy53ZCxjPSc8aW1nIHNyYz0iJytQKFdwKEZxKSkrCiciIHdpZHRoPSIzN3B4IiBoZWlnaHQ9IjE0cHgiIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAzcHgiIGFsdD0iR29vZ2xlICcrUChjKSsnIj4nO3ZhciBkPWhzLndkO3ZhciBlPSgwLF8udGwpKCc8c3BhbiBzdHlsZT0id2hpdGUtc3BhY2U6bm93cmFwIj48YSBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIGhyZWY9IicrUChVcChHcSkpKyciIHRhcmdldD0iX2JsYW5rIj4nK2MrS3AoZCkrIjwvYT48L3NwYW4+Iik7Yz1iLmZvcm1hdDtkPVI7dmFyIGY9ZC56ZztlPWUuVGIoKTtlPXVvKGIse3R5cGU6Imh0bWwiLHhmOl8ua2ooZSkudG9TdHJpbmcoKX0pO2I9Yy5jYWxsKGIsZi5jYWxsKGQsZSkpO2ltKGEsUXUoe2lkOlModGhpcywidGFyZ2V0TGFuZ3VhZ2UiKSxTZjoiIixSZjp0aGlzLmcubGF5b3V0PT0xP1JsKFsiXHUwMGEwIiwiXHUwMGEwIixiXSk6Yn0pKX10aGlzLk9hKGEpfTsKXy5tLkxhPWZ1bmN0aW9uKCl7R3YuZWEuTGEuY2FsbCh0aGlzKTt0aGlzLmw9dGhpcy5nLmxheW91dD09Mj9uZXcgRXYobnVsbCx0aGlzLmgpOm5ldyB6dih0aGlzLmgpO3RoaXMuai5OKHRoaXMubCwiY2hhbmdlIixwcih0aGlzLCJjaGdfdGd0X2xhbmciKSk7dGhpcy5qLk4odGhpcy5sLCJsb2FkIix0aGlzLnJnKTt2YXIgYT10aGlzLmguSChTKHRoaXMsInRhcmdldExhbmd1YWdlIikpO2lmKHRoaXMuZy5sYXlvdXQ9PTIpe3ZhciBiPXRoaXMuaC5TKCJJTUciLHtzcmM6Q3EsImNsYXNzIjoiZ29vZy10ZS1nYWRnZXQtaWNvbiIsYWx0OiIifSk7Yi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9InVybCgiK3hxKyIpIjtiLnN0eWxlLmJhY2tncm91bmRQb3NpdGlvbj0iLTY1cHggMHB4Ijt2YXIgYz10aGlzLmguUygiU1BBTiIse3N0eWxlOiJ2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIn0pO2EuYXBwZW5kQ2hpbGQoYik7YS5hcHBlbmRDaGlsZChjKTt0aGlzLmwua2EoYyk7YS5zdHlsZS53aGl0ZVNwYWNlPQoibm93cmFwIjthLmNsYXNzTmFtZT0iZ29vZy10ZS1nYWRnZXQtc2ltcGxlIn1lbHNlIHRoaXMubC5rYShhKSx0aGlzLmcubGF5b3V0PT0xJiYoYS5zdHlsZS5kaXNwbGF5PSJpbmxpbmUiKX07Xy5tLnJnPWZ1bmN0aW9uKCl7aWYodGhpcy5nLmxheW91dD09Mil7dmFyIGE9dGhpcy5sLGI9dGhpcy5oLkgoUyh0aGlzLCJ0YXJnZXRMYW5ndWFnZSIpKTthLkEueWMoYS5ELCJjbGljayIsYS5UZCk7YS5EPWI7YS5BLk4oYS5ELCJjbGljayIsYS5UZCl9dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9O18ubS5zYT1mdW5jdGlvbigpe0d2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5qLmRpc3Bvc2UoKTt0aGlzLmo9bnVsbDt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsfTtfLm0ub2E9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sLk1hKCl9O18ubS5uYT1mdW5jdGlvbihhKXthPT0iIj90aGlzLkwmJnRoaXMubC5uYih0aGlzLkwpOnRoaXMuSSYmdGhpcy5sLm5iKHRoaXMuSSk7dGhpcy5sLmNiKGEpfTsKXy5tLnBhPWZ1bmN0aW9uKGEpe21wKHRoaXMuSCgpLGEpfTtfLm0uUmI9ZnVuY3Rpb24oYSl7dGhpcy5sLlJiKGEpfTtfLm0udWU9ZnVuY3Rpb24oYSxiKXt0aGlzLkw9YTt0aGlzLkk9Yn07dmFyIEl2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuZz1hJiZKbChhKXx8e307dGhpcy5nLmVifHwodGhpcy5nLmViPUFxKTt0aGlzLmo9bmV3IF8uSGIodGhpcyl9O18uRyhJdix4bik7dmFyIEp2PXtwazoxLHFrOjIsbGo6Myxrajo0fTtfLm09SXYucHJvdG90eXBlO18ubS5TPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5oLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuRz0hMTttcChhLCExKTt2YXIgYj1TKHRoaXMsImNvbnRhaW5lciIpO2I9KDAsXy50bCkoJzxpZnJhbWUgaWQ9IicrUChiKSsnIiBmcmFtZUJvcmRlcj0wIHNyYz0iamF2YXNjcmlwdDpcJ1wnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVNtZlotT0VWbWNkIikrJyBza2lwdHJhbnNsYXRlIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtJdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1TKHRoaXMsInRyYW5zbGF0ZSIpLGQ9Q3EsZT14cTt0aGlzLkgoKS5pZD1TKHRoaXMsImZsb2F0Q29udGFpbmVyIik7dmFyIGY9e2lkOnRoaXMuSCgpLmlkLGNsYXNzTmFtZToiZ29vZy10ZS1mdGFiLWZsb2F0In07dGhpcy5IKCkuY2xhc3NOYW1lKz0iIGdvb2ctdGUtZnRhYi1mbG9hdCI7c3dpdGNoKHRoaXMuZy5OYyl7Y2FzZSAyOnZhciBnPSJnb29nLXRlLWZsb2F0LXRvcCI7Zi50b3A9MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgMzpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLnJpZ2h0PTIwO2JyZWFrO2Nhc2UgNDpnPSJnb29nLXRlLWZsb2F0LWJvdHRvbSI7Zi5ib3R0b209MDtmLmxlZnQ9MjA7YnJlYWs7ZGVmYXVsdDpnPSJnb29nLXRlLWZsb2F0LXRvcCIsZi50b3A9MCxmLmxlZnQ9MjB9bnAoWm4obmV3IF8ueWYsCmYpLHRoaXMuSCgpKTt0aGlzLkI9dGhpcy5oLkgoUyh0aGlzLCJjb250YWluZXIiKSk7dGhpcy5qLk4odGhpcy5CLCJsb2FkIix0aGlzLnNnKTt0cih0aGlzLkIsKDAsXy55KShmdW5jdGlvbigpe3ZhciBoPXpvKHRoaXMuQiksaz1nLGw9e30sbj1sJiZsLlRlLHE9aHMuSWU7az1WbihXbihWbihfLnlsKCksIjxoZWFkPiIpLE91KGwpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJytQKHhwKGIpKSsnIicrKG4/JyBub25jZT0iJytQKFlwKG4pKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtU21mWiIpKyIgIitQKGspKyciIHNjcm9sbD0ibm8iIHN0eWxlPSJvdmVyZmxvdzpoaWRkZW4iIGRpcj0iJytQKGEpKyciPjxhIGlkPSInK1AoYykrJyIgaHJlZj0iamF2YXNjcmlwdDp2b2lkKDApIiBjbGFzcz0iJysKUCgiVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCIpKyciPjxpbWcgc3JjPSInK1AoV3AoZCkpKyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnK1AoV3AoZSkpKycpO2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggMHB4Ij48c3Bhbj4nK0twKHEpKyI8L3NwYW4+PC9hPjwvYm9keT4iKS5UYigpO2gud3JpdGUoXy5raihrKSk7aC5jbG9zZSgpfSx0aGlzKSl9O18ubS5zZz1mdW5jdGlvbigpe3RoaXMubD0obmV3IF8ucmQoem8odGhpcy5CKSkpLkgoUyh0aGlzLCJ0cmFuc2xhdGUiKSk7dGhpcy5qLk4odGhpcy5sLCJjbGljayIscHIodGhpcywiY2xrX3RyYW5zIikpO21wKHRoaXMuSCgpLCEwKTt2YXIgYT1vcCh0aGlzLmwpO21wKHRoaXMuSCgpLCExKTtxcCh0aGlzLkIsYSk7cXAodGhpcy5IKCksYSk7dGhpcy5kaXNwYXRjaEV2ZW50KCJsb2FkIil9OwpfLm0uc2E9ZnVuY3Rpb24oKXtJdi5lYS5zYS5jYWxsKHRoaXMpO3RoaXMuai5kaXNwb3NlKCk7dGhpcy5qPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMubD10aGlzLkI9bnVsbH07Xy5tLmlzVmlzaWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkd9O18ubS5wYT1mdW5jdGlvbihhKXt0aGlzLkc9YTttcCh0aGlzLkgoKSxhKX07dmFyIEt2PWZ1bmN0aW9uKGEsYil7eG4uY2FsbCh0aGlzLGIpO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmc9YSYmSmwoYSl8fHt9O3RoaXMuZy5lYj1BcTt0aGlzLmcud2U9ITE7Xy5oaih0aGlzLmguZy5ib2R5LCJwb3NpdGlvbiIsInJlbGF0aXZlIik7Xy5NaHx8Xy5oaih0aGlzLmguZy5ib2R5LCJtaW5IZWlnaHQiLCIxMDAlIik7Xy5oaih0aGlzLmguZy5kb2N1bWVudEVsZW1lbnQsImhlaWdodCIsIjEwMCUiKTtfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjBweCIpO18uU2MmJih3aW5kb3cuX2Jhbm5lcnF1aXJrZml4bGVmdD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tcGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkudG9wTWFyZ2luLDEwKS00MCl9O18uRyhLdix4bik7Xy5tPUt2LnByb3RvdHlwZTtfLm0ua2E9ZnVuY3Rpb24oKXt0aGlzLnFjKHRoaXMuaC5nLmJvZHkuZmlyc3RDaGlsZCl9OwpfLm0uUz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuaC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLkc9ITE7bXAoYSwhMSk7TnQoYSwic2tpcHRyYW5zbGF0ZSIpO3ZhciBiPVModGhpcywiY29udGFpbmVyIik7Yj0oMCxfLnRsKSgnPGlmcmFtZSBpZD0iJytQKGIpKyciIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2QiKSsnIHNraXB0cmFuc2xhdGUiIGZyYW1lQm9yZGVyPTAgc3JjPSIjIiBzdHlsZT0idmlzaWJpbGl0eTp2aXNpYmxlIj48L2lmcmFtZT4nKTtpbShhLGIpO3RoaXMuT2EoYSl9OwpfLm0uTGE9ZnVuY3Rpb24oKXtLdi5lYS5MYS5jYWxsKHRoaXMpO3ZhciBhPV8ueGYudGVzdChvcSk/InJ0bCI6Imx0ciIsYj1fLkxiKHRoaXMuZy5lYiksYz1DcSxkPUdxLGU9RHEsZj14cSxnPVModGhpcywicHJvbXB0U2VjdGlvbiIpLGg9Uyh0aGlzLCJjb25maXJtIiksaz1TKHRoaXMsInByb2dyZXNzU2VjdGlvbiIpLGw9Uyh0aGlzLCJwcm9ncmVzc1ZhbHVlIiksbj16cSxxPVModGhpcywiY2FuY2VsIikscD1TKHRoaXMsImZpbmlzaFNlY3Rpb24iKSxyPVModGhpcywicmVzdG9yZSIpLHQ9Uyh0aGlzLCJlcnJvclNlY3Rpb24iKSxBPVModGhpcywiZXJyb3JDb250ZW50IiksRD1TKHRoaXMsImNsb3NlIiksRT1TKHRoaXMsIm5vQXV0b1BvcHVwIiksYmEsWj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJwcm9tcHRTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsInByb21wdFRhcmdldExhbmciKX0pKTt2YXIgdmk9bW0oUi5KZy5hcHBseShudWxsLApaKSk7Wj1bXTt0aGlzLmcud2UmJloucHVzaChQdSh7aWQ6Uyh0aGlzLCJmaW5pc2hTb3VyY2VMYW5nIil9KSk7Wi5wdXNoKFB1KHtpZDpTKHRoaXMsImZpbmlzaFRhcmdldExhbmciKX0pKTt2YXIgd2k9bW0oUi5EZy5hcHBseShudWxsLFopKTt0aGlzLmcuY2cmJihiYT10aGlzLmcuY2cpO3RoaXMuQj10aGlzLmguSChTKHRoaXMsImNvbnRhaW5lciIpKTt0aGlzLkEuTih0aGlzLkIsImxvYWQiLHRoaXMudGcpO3RyKHRoaXMuQiwoMCxfLnkpKGZ1bmN0aW9uKCl7dmFyIGFnPXpvKHRoaXMuQiksWGM9YmEsTGQ9e30sRGU9TGQmJkxkLlRlLEVlPWhzLndkLHhpPWhzLkllLGJnPWhzLkVnLHlpPWhzLm1nLHppPWhzLkFnLGNnPWhzLkFlLEFpPWhzLkFlO1hjPVZuKFduKFZuKF8ueWwoKSwiPGhlYWQ+IiksT3UoTGQpKSwnPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGOCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iJysKUCh4cChiKSkrJyInKyhEZT8nIG5vbmNlPSInK1AoWXAoRGUpKSsnIic6IiIpKyc+PC9oZWFkPjxib2R5IGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYiIpKyciIHNjcm9sbD0ibm8iIGJvcmRlcj0wIGRpcj0iJytQKGEpKyciPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgd2lkdGg9MTAwJSBoZWlnaHQ9MTAwJT48dHIgdmFsaWduPW1pZGRsZT48dGQgd2lkdGg9MSBub3dyYXA+PGEgaHJlZj0iJytQKFVwKGQpKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZCIpKyciIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iJytQKFdwKGUpKSsnIiBhbHQ9Ikdvb2dsZSAnK1AoRWUpKyciPjwvYT48L3RkPicrKHNwKFhjKT8nPHRkIHdpZHRoPTE+PGltZyBzcmM9IicrUChXcChjKSkrJyIgd2lkdGg9IjkiIGhlaWdodD0iMTUiIHRpdGxlPSInK1AoWGMpKyciIGFsdD0iJytQKFhjKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJysKUChXcChmKSkrJyk7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwcHg7bWFyZ2luOjAgNHB4Ij48L3RkPic6IiIpKyc8dGQgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZSIpKyciPjwvdGQ+PHRkPjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTAgaGVpZ2h0PTEwMCU+PHRyIGlkPSInK1AoZykrJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgdmFsaWduPW1pZGRsZT48dGQgbm93cmFwPjxzcGFuIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMiKSsnIj4nK0twKHZpKSsnPC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKGgpKyciPjxiPicrS3AoeGkpKyc8L2I+PC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48dGQgY2xhc3M9IicrClAoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKEUpKyciPjwvYnV0dG9uPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIgaWQ9IicrUChrKSsnIiBzdHlsZT0iZGlzcGxheTpub25lIiB2YWxpZ249bWlkZGxlPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcChiZykrJyZuYnNwOzxzcGFuIGRpcj0ibHRyIj4oPGIgaWQ9IicrUChsKSsnIj48L2I+JSk8L3NwYW4+Jm5ic3A7PGltZyBzcmM9IicrUChXcChuKSkrJyI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSInK1AoIlZJcGdKZC1aVmk5b2QtT1JIYi1LRTZ2cWUiKSsnIj48L3RkPjx0ZCBub3dyYXA+PGRpdiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLUxnYnNTZSIpKyciPjxkaXY+PGJ1dHRvbiBpZD0iJytQKHEpKyciPicrS3AoeWkpKwonPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHApKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjx0ZD48c3BhbiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItYk45N1BjIikrJyI+JytLcCh3aSkrJzwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrJyI+PC90ZD48dGQgbm93cmFwPjxkaXYgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1MZ2JzU2UiKSsnIj48ZGl2PjxidXR0b24gaWQ9IicrUChyKSsnIj4nK0twKHppKSsnPC9idXR0b24+PC9kaXY+PC9kaXY+PC90ZD48L3RyPjx0ciBpZD0iJytQKHQpKyciIHN0eWxlPSJkaXNwbGF5Om5vbmUiIHZhbGlnbj1taWRkbGU+PHRkPjxzcGFuIGlkPSInK1AoQSkrJyIgY2xhc3M9IicrUCgiVklwZ0pkLVpWaTlvZC1PUkhiLWJOOTdQYyIpKyciPjwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L3RkPjx0ZCBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLU9SSGItS0U2dnFlIikrCiciPjwvdGQ+PHRkIHdpZHRoPTEgaWQ9Im9wdGlvbnMiPjwvdGQ+PHRkIHdpZHRoPTE+PGEgaWQ9IicrUChEKSsnIiBjbGFzcz0iJytQKCJWSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGQiKSsnIiBocmVmPSIjIiB0aXRsZT0iJytQKGNnKSsnIj48aW1nIHNyYz0iJytQKFdwKGMpKSsnIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIGFsdD0iJytQKEFpKSsnIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJytQKFdwKGYpKSsnKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IDBweCI+PC9hPjwvdGQ+PC90cj48L3RhYmxlPjwvYm9keT4nKS5UYigpO2FnLndyaXRlKF8ua2ooWGMpKTthZy5jbG9zZSgpfSx0aGlzKSl9OwpfLm0udGc9ZnVuY3Rpb24oKXt0aGlzLmo9bmV3IF8ucmQoem8odGhpcy5CKSk7THYodGhpcyxSLkNlKTtpZih0aGlzLmcuZWI9PUFxKXt2YXIgYT0idXJsKCIrd3ErIikiO18uaGoodGhpcy5qLmcuYm9keSwiYmFja2dyb3VuZEltYWdlIixhKTtmb3IodmFyIGI9dGhpcy5qLmcuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJ1dHRvbiIpLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXS5wYXJlbnROb2RlO18uaGooZCwiYmFja2dyb3VuZEltYWdlIixhKTtfLmhqKGQsImJhY2tncm91bmRSZXBlYXQiLCJyZXBlYXQteCIpO18uaGooZCwiYmFja2dyb3VuZFBvc2l0aW9uIiwiMCAtMzlweCIpfX10aGlzLmcud2UmJih0aGlzLm89bmV3IER2KHRoaXMuZyx0aGlzLmopKTt0aGlzLmw9bmV3IER2KHRoaXMuZyx0aGlzLmopO3RoaXMuRD1uZXcgRnYodGhpcy5nLHRoaXMuaik7dGhpcy5BLk4odGhpcy5qLkgoUyh0aGlzLCJjb25maXJtIikpLCJjbGljayIscHIodGhpcywiY2xrX2NvbmZpcm0iKSk7CnRoaXMuQS5OKHRoaXMuai5IKFModGhpcywiY2FuY2VsIikpLCJjbGljayIscHIodGhpcywiY2xrX2NhbmNlbCIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsInJlc3RvcmUiKSksImNsaWNrIixwcih0aGlzLCJjbGtfcmVzdG9yZSIpKTt0aGlzLkEuTih0aGlzLmouSChTKHRoaXMsImNsb3NlIikpLCJjbGljayIscHIodGhpcywiY2xrX2Nsb3NlIikpO3RoaXMuUD10aGlzLmouSChTKHRoaXMsIm5vQXV0b1BvcHVwIikpO3RoaXMuQS5OKHRoaXMuUCwiY2xpY2siLHByKHRoaXMsImNsa19ub19hcCIpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywiY2hhbmdlIixwcih0aGlzLCJjaGdfc3JjX2xhbmciKSk7dGhpcy5BLk4odGhpcy5sLCJjaGFuZ2UiLHByKHRoaXMsImNoZ190Z3RfbGFuZyIpKTt0aGlzLkEuTih0aGlzLkQsImNoYW5nZSIsdGhpcy5SaCk7YT1uZXcganIoKDAsXy55KSh0aGlzLnVnLHRoaXMpKTt0aGlzLm8mJnRoaXMuQS5OKHRoaXMubywibG9hZCIsYS5yZWdpc3RlcigpKTsKdGhpcy5BLk4odGhpcy5sLCJsb2FkIixhLnJlZ2lzdGVyKCkpO3RoaXMuQS5OKHRoaXMuRCwibG9hZCIsYS5yZWdpc3RlcigpKTthLmZpbmlzaCgpO3RoaXMubyYmdGhpcy5vLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0U291cmNlTGFuZyIpKSk7dGhpcy5sLmthKHRoaXMuai5IKFModGhpcywicHJvbXB0VGFyZ2V0TGFuZyIpKSk7dGhpcy5ELmthKHRoaXMuai5IKCJvcHRpb25zIikpfTtfLm0udWc9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLkQsYj1SLnlnO18uemQoYS5JKTthLkkuYXBwZW5kQ2hpbGQoYS5oLmNyZWF0ZVRleHROb2RlKGIrIlx1MDBhMFx1MjViYyIpKTt0aGlzLkQudWMoe3R1cm5fb2ZmX3NpdGU6Ui5HZyxzMToiLS0tIixsZWFybl9tb3JlOlIueGd9KTt0aGlzLmRpc3BhdGNoRXZlbnQoImxvYWQiKX07Xy5tLlJoPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuRC5NYSgpKXtjYXNlICJsZWFybl9tb3JlIjp3aW5kb3cub3BlbihKcSwiX2JsYW5rIik7YnJlYWs7Y2FzZSAidHVybl9vZmZfc2l0ZSI6dGhpcy5kaXNwYXRjaEV2ZW50KCJjbGtfbm9fYXBfc2l0ZSIpfX07Cl8ubS5zYT1mdW5jdGlvbigpe3RoaXMucGEoITEpO0t2LmVhLnNhLmNhbGwodGhpcyk7dGhpcy5BLmRpc3Bvc2UoKTt0aGlzLkE9bnVsbDt0aGlzLm8mJih0aGlzLm8uZGlzcG9zZSgpLHRoaXMubz1udWxsKTt0aGlzLmwuZGlzcG9zZSgpO3RoaXMubD1udWxsO3RoaXMuRC5kaXNwb3NlKCk7dGhpcy5EPW51bGw7Xy5BZCh0aGlzLkIpO3RoaXMuYWM9dGhpcy5qPW51bGx9O18ubS5KYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm8/dGhpcy5vLk1hKCk6IiJ9O18ubS5vYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmwuTWEoKX07Xy5tLk5hPWZ1bmN0aW9uKGEpe3RoaXMubyYmdGhpcy5vLmNiKGEpO3RoaXMuVCYmdGhpcy5UW2FdJiZ0aGlzLmouU2IodGhpcy5QLFIuRmcodGhpcy5UW2FdKSl9O18ubS5uYT1mdW5jdGlvbihhKXt0aGlzLmwuY2IoYSl9Owp2YXIgTXY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5hYyE9Yil7YS5hYz1iO2lmKGI9PTApe2EubyYmeXYoYS5vLGEuai5IKFMoYSwicHJvbXB0U291cmNlTGFuZyIpKSk7aWYoYS5MKXt2YXIgZT1hLm9hKCk7YS5sLm5iKGEuTCk7YS5uYShlKX15dihhLmwsYS5qLkgoUyhhLCJwcm9tcHRUYXJnZXRMYW5nIikpKX1lbHNlIGI9PTImJihhLm8mJnl2KGEubyxhLmouSChTKGEsImZpbmlzaFNvdXJjZUxhbmciKSkpLGEuSSYmKGU9YS5vYSgpLGEubC5uYihhLkkpLGEubmEoZSkpLHl2KGEubCxhLmouSChTKGEsImZpbmlzaFRhcmdldExhbmciKSkpKTtlPXt9O2VbLTFdPWEuai5IKFMoYSwiZXJyb3JTZWN0aW9uIikpO2VbMF09YS5qLkgoUyhhLCJwcm9tcHRTZWN0aW9uIikpO2VbMV09YS5qLkgoUyhhLCJwcm9ncmVzc1NlY3Rpb24iKSk7ZVsyXT1hLmouSChTKGEsImZpbmlzaFNlY3Rpb24iKSk7Zm9yKHZhciBmIGluIGUpZVtmXSE9PU9iamVjdC5wcm90b3R5cGVbZl0mJm1wKGVbZl0sZj09CmIpfWMmJmEucGEoITApO2EuUC5wYXJlbnROb2RlLnBhcmVudE5vZGUuc3R5bGUuZGlzcGxheT1kPyJibG9jayI6Im5vbmUifTtLdi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuR307Ckt2LnByb3RvdHlwZS5wYT1mdW5jdGlvbihhKXtpZih0aGlzLkchPWEpe3RoaXMuRz1hO2lmKF8uU2MpdmFyIGI9cGFyc2VJbnQoIjAiK3RoaXMuaC5nLmJvZHkubGVmdE1hcmdpbiwxMCksYz1wYXJzZUludCgiMCIrdGhpcy5oLmcuYm9keS50b3BNYXJnaW4sMTApO3ZhciBkPXRoaXMuaC5nLmNvbXBhdE1vZGU9PSJCYWNrQ29tcGF0IjthPyhfLmhqKHRoaXMuaC5nLmJvZHksInRvcCIsIjQwcHgiKSxtcCh0aGlzLkgoKSwhMCksXy5TYyYmKHNvKCk/KHdpbmRvdy5fYmFubmVycXVpcmtmaXhsZWZ0PXdpbmRvdy5fYmFubmVycXVpcmtmaXh0b3A9MCxkJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yys0MCkpOmQ/KHRoaXMuaC5nLmJvZHkudG9wTWFyZ2luPWMrNDAsd2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9d2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0wKTood2luZG93Ll9iYW5uZXJxdWlya2ZpeGxlZnQ9LWIsd2luZG93Ll9iYW5uZXJxdWlya2ZpeHRvcD0tYy00MCkpKTooXy5oaih0aGlzLmguZy5ib2R5LAoidG9wIiwiMHB4IiksbXAodGhpcy5IKCksITEpLGQmJmM+PTQwJiYodGhpcy5oLmcuYm9keS50b3BNYXJnaW49Yy00MCkpfX07dmFyIE52PWZ1bmN0aW9uKGEsYil7YS5qLlNiKGEuai5IKFMoYSwicHJvZ3Jlc3NWYWx1ZSIpKSxiKX0sTHY9ZnVuY3Rpb24oYSxiKXthLmouU2IoYS5qLkgoUyhhLCJlcnJvckNvbnRlbnQiKSksYil9O0t2LnByb3RvdHlwZS51ZT1mdW5jdGlvbihhLGIpe3RoaXMuTD1hO3RoaXMuST1iO3RoaXMubC5uYihhKX07dmFyIFB2PWZ1bmN0aW9uKGEsYil7Xy51LmNhbGwodGhpcyk7Xy5vYyhhKT09InN0cmluZyImJihiPWEsYT17fSk7Xy5vYyhiKT09InN0cmluZyImJihiPWduKFN0cmluZyhiKSkpO3RoaXMuVD1iO3RoaXMuQT1uZXcgXy5IYih0aGlzKTt0aGlzLmxhPXZvaWQgMDthPU9iamVjdChhKTt0aGlzLm89ImF1dG8iOyEoYj13aW5kb3cucGFyZW50IT13aW5kb3cpJiYoYj0oIXdpbmRvdy5leHRlcm5hbHx8IXdpbmRvdy5leHRlcm5hbC5nb29nbGVUb29sYmFyVmVyc2lvbnx8cGFyc2VGbG9hdCh3aW5kb3cuZXh0ZXJuYWwuZ29vZ2xlVG9vbGJhclZlcnNpb24pPDYuMikmJighd2luZG93Lmd0YkV4dGVybmFsfHwhd2luZG93Lmd0YkV4dGVybmFsLmlzVHJhbnNsYXRlRW5hYmxlZHx8IXdpbmRvdy5ndGJFeHRlcm5hbC5pc1RyYW5zbGF0ZUVuYWJsZWQoKSkpJiYoYj1uYXZpZ2F0b3IuYXBwVmVyc2lvbiYmbmF2aWdhdG9yLmFwcFZlcnNpb24ubWF0Y2goL1xzQ2hyb21lXC8oKFxkKylcLihcZCspXC5bXGRcLl0rKVxzLyksCmI9IShiJiZiWzJdJiZiWzNdJiZOdW1iZXIoYlsyXSkqMUUzK051bWJlcihiWzNdKT49NDAwMSkpO3RoaXMuZz17RWQ6YixoZjohMSxGZDpudWxsLEVjOm51bGwsWGQ6W10sY2Y6W10sZGg6ITEsUGI6ITEsYXBpS2V5OiIiLGxheW91dDowLFZlOiExfTt0aGlzLklhPXtlYjpBcSxjZzp2cT09Imh0dHBzOi8vIj9SLkNnOm51bGx9O3RoaXMuUD17ZWI6QXEsTmM6bnVsbH07YSYmKCJhdXRvRGlzcGxheSJpbiBhJiYodGhpcy5nLkVkPXRoaXMuZy5FZCYmISFhLmF1dG9EaXNwbGF5KSwibXVsdGlsYW5ndWFnZVBhZ2UiaW4gYSYmKHRoaXMuZy5QYj0hIWEubXVsdGlsYW5ndWFnZVBhZ2UpLCJsYXlvdXQiaW4gYSYmKHRoaXMuZy5sYXlvdXQ9YS5sYXlvdXQpLGEucGFnZUxhbmd1YWdlJiYodGhpcy5nLmRkPXFyKGEucGFnZUxhbmd1YWdlKSksYS5pbmNsdWRlZExhbmd1YWdlcyYmKHRoaXMuZy5YZD1hLmluY2x1ZGVkTGFuZ3VhZ2VzLnNwbGl0KCIsIikpLGEuZXhjbHVkZWRMYW5ndWFnZXMmJgoodGhpcy5nLmNmPWEuZXhjbHVkZWRMYW5ndWFnZXMuc3BsaXQoIiwiKSksYS5yZW1vdGVBcGlQcm94eUhhbmRsZXJzJiYodGhpcy5sYT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLHRoaXMuZy5kZCYmKHRoaXMubz10aGlzLmcuZGQpLGEua2V5JiYodGhpcy5nLmFwaUtleT1hLmtleSksdGhpcy5QLk5jPU51bWJlcihhLmZsb2F0UG9zaXRpb24pfHx0aGlzLlAuTmMsImRpc2FibGVBdXRvVHJhbnNsYXRpb24iaW4gYSYmKHRoaXMuZy5WZT0hIWEuZGlzYWJsZUF1dG9UcmFuc2xhdGlvbikpOyF0aGlzLmcuVmUmJk92KHRoaXMpJiYodGhpcy5nLmhmPSEwKTt0aGlzLkM9e307aWYoKGE9ZG9jdW1lbnQuY29va2llLm1hdGNoKC8oXnw7IClnb29ndHJhbnNvcHQ9KC4qPykoO3wkKS8pKSYmYVsyXSlmb3IodGhpcy5DPXt9LGE9Xy5EYihhWzJdKS5zcGxpdCgifCIpLGI9MDtiPGEubGVuZ3RoOysrYil7dmFyIGM9YVtiXS5zcGxpdCgiPSIpO2NbMF0mJih0aGlzLkNbY1swXV09Y1sxXSl9dGhpcy53YT0KbmV3IFpzKHthcGlLZXk6dGhpcy5nLmFwaUtleSxoYzoxLHZlOiEwLGdtOkhxfSx7Y2xpZW50OnRxLHU6d2luZG93LmxvY2F0aW9uLmhyZWZ9KTt0aGlzLkY9bmV3IHd2KHZvaWQgMCx0aGlzLndhLHZvaWQgMCx2b2lkIDAsdGhpcy5nLmFwaUtleSx2b2lkIDAsdm9pZCAwLG5ldyBXdSx2b2lkIDAsdm9pZCAwLHRoaXMubGEpO3RoaXMuRz0hMTt0aGlzLkEuTih3aW5kb3csInBhZ2VoaWRlIix0aGlzLmRpc3Bvc2UpO3RoaXMuSz1uZXcganIoKDAsXy55KSh0aGlzLk1oLHRoaXMpKTt0aGlzLkk9bmV3IGpyKCgwLF8ueSkodGhpcy5PaCx0aGlzKSk7dGhpcy5PPW5ldyBscigoMCxfLnkpKHRoaXMua2ksdGhpcykpO3RoaXMuaD1uZXcgS3YodGhpcy5JYSk7dGhpcy5GLnpjKHRoaXMuSy5yZWdpc3RlcigoMCxfLnkpKHRoaXMuSmgsdGhpcykpLG9xKTt0aGlzLlQ/KHRoaXMubD1uZXcgR3YodGhpcy5nKSx0aGlzLkEuTih0aGlzLmwsImxvYWQiLHRoaXMuSy5yZWdpc3RlcigpKSx0aGlzLkEuTih0aGlzLmwsCiJjaGdfdGd0X2xhbmciLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkloLHRoaXMpKSkpLHRoaXMubC5rYSh0aGlzLlQpKTp0aGlzLlAuTmMmJih0aGlzLkI9bmV3IEl2KHRoaXMuUCksdGhpcy5BLk4odGhpcy5CLCJsb2FkIix0aGlzLksucmVnaXN0ZXIoKSksdGhpcy5BLk4odGhpcy5CLCJjbGtfdHJhbnMiLG1yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLkdoLHRoaXMpKSkpLHRoaXMuQi5rYSgpKTshdGhpcy5nLmRkJiZ0aGlzLmcuZGgmJnRoaXMuRi5QYyh0aGlzLksucmVnaXN0ZXIoKDAsXy55KSh0aGlzLkVoLHRoaXMpKSk7dGhpcy5LLmZpbmlzaCgpfTtfLkIoUHYsXy51KTsKdmFyIE92PWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZixnKXtpZihmPV8uRGIoZikubWF0Y2goIl5cXCgoKFthLXpBLVpcXC1fXSopXFx8KT8oW2EtekEtWlxcLV9dKilcXCl8Xi8oKFthLXpBLVpcXC1fXSopLyk/KFthLXpBLVpcXC1fXSopIikpe2lmKGZbM10pcmV0dXJuIGcuZy5GZD1mWzJdLGcuZy5FYz1mWzNdLCEwO2lmKGZbNl0pcmV0dXJuIGcuZy5GZD1mWzVdLGcuZy5FYz1mWzZdLCEwfXJldHVybiExfXZhciBjPXt1cmw6ZnVuY3Rpb24oKXt2YXIgZj13aW5kb3cubG9jYXRpb24uaHJlZi5tYXRjaCgvIy4qZ29vZ3RyYW5zKC4qKS8pO3JldHVybiBmJiZmWzFdfSxjb29raWU6ZnVuY3Rpb24oKXt2YXIgZj1kb2N1bWVudC5jb29raWUubWF0Y2goLyhefDsgKWdvb2d0cmFucz0oLio/KSg7fCQpLyk7cmV0dXJuIGYmJmZbMl19fSxkO2ZvcihkIGluIGMpaWYoY1tkXSE9PU9iamVjdC5wcm90b3R5cGVbZF0pe3ZhciBlPWNbZF0oKTtpZihlJiZiKGUsYSkpcmV0dXJuIGR9cmV0dXJuIiJ9LApRdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKTtjLmxlbmd0aD4yOyljLnNoaWZ0KCk7Yz0iO2RvbWFpbj0iK2Muam9pbigiLiIpO2IhPW51bGw/YT1hKyI9IitiOihiPW5ldyBEYXRlLGIuc2V0VGltZShiLmdldFRpbWUoKS0xKSxhPWErIj1ub25lO2V4cGlyZXM9IitiLnRvR01UU3RyaW5nKCkpO2ErPSI7cGF0aD0vIjtkb2N1bWVudC5jb29raWU9YTt0cnl7ZG9jdW1lbnQuY29va2llPWErY31jYXRjaChkKXt9fSxSdj1mdW5jdGlvbihhLGIpe3ZhciBjPW51bGw7YiE9PXZvaWQgMCYmKGM9YSE9PXZvaWQgMD8iLyIrYSsiLyIrYjoiLyIrYik7UXYoImdvb2d0cmFucyIsYyl9O18ubT1Qdi5wcm90b3R5cGU7Cl8ubS5KaD1mdW5jdGlvbihhKXt0aGlzLmo9cXIob3EpO2E9YXx8e307dmFyIGI9YS50YXJnZXRMYW5ndWFnZXN8fFtdO3RoaXMuTD17c2w6V20oYS5zb3VyY2VMYW5ndWFnZXN8fFtdKSx0bDpXbShiKX07dGhpcy5EPXt9O3RoaXMuUj17fTthPSF0aGlzLmcuWGQubGVuZ3RoO2I9aXIodGhpcy5nLlhkKTt2YXIgYz1pcih0aGlzLmcuY2YpO3RoaXMuRFtvcV09IiI7dGhpcy5SW29xXT0iIjtmb3IodmFyIGQgaW4gdGhpcy5MLnRsKXRoaXMuTC50bFtkXT09PU9iamVjdC5wcm90b3R5cGVbZF18fCEoYXx8ZCBpbiBiKXx8ZCBpbiBjfHwodGhpcy5SW2RdPXRoaXMuTC50bFtkXSxkPT10aGlzLmcuZGQmJiF0aGlzLmcuUGIpfHwodGhpcy5EW2RdPXRoaXMuTC50bFtkXSk7dGhpcy5EW29xXXx8ZGVsZXRlIHRoaXMuRFtvcV07dGhpcy5SW29xXXx8ZGVsZXRlIHRoaXMuUltvcV07dGhpcy5yYT1KbCh0aGlzLkwuc2wpfTtfLm0uRWg9ZnVuY3Rpb24oYSl7YSYmKHRoaXMubz1xcihhKSl9OwpfLm0uTWg9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5LO2lmKHRoaXMuTCl7dGhpcy5vPXRoaXMub3x8dGhpcy5nLkZkO3RoaXMuaj10aGlzLmcuRWN8fHRoaXMuajt2YXIgYT10aGlzLmcuaGZ8fHRoaXMuZy5FZCYmdGhpcy5vIT10aGlzLmomJiEodGhpcy5vIGluIHNxKSYmdGhpcy5DLm9zIT0iMSImJnRoaXMuQ1sibyIrdGhpcy5vXSE9IjEiO3RoaXMubz09InpoLVRXIiYmKHRoaXMubz0iemgtQ04iKTt0aGlzLnJhW3RoaXMub118fChhPSExLHRoaXMubz0iYXV0byIpO2lmKCF0aGlzLkRbdGhpcy5qXSlpZihhPSExLHRoaXMuRC5lbil0aGlzLmo9ImVuIjtlbHNlIGZvcih2YXIgYiBpbiB0aGlzLkQpaWYodGhpcy5EW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSl7dGhpcy5qPWI7YnJlYWt9aWYodGhpcy5sKXtiPXRoaXMuRDt2YXIgYz17IiI6Ui5CZ30sZDtmb3IoZCBpbiBiKWJbZF0hPT1PYmplY3QucHJvdG90eXBlW2RdJiYoY1tkXT1iW2RdKTt0aGlzLmwudWUoYyx0aGlzLlIpO3RoaXMubC5uYSgiIil9IXFxJiYKYT90aGlzLmcuRWM/bXIodGhpcy5PLHRoaXMuSS5kZWxheSgoMCxfLnkpKHRoaXMub2QsdGhpcywhMCwhMCkpKS5jYWxsKCk6KHRoaXMuRz0hMCxtcih0aGlzLk8sdGhpcy5JLmRlbGF5KCgwLF8ueSkodGhpcy5vZCx0aGlzKSkpLmNhbGwoKSxRbSgidGVfYXAiLHtzbDp0aGlzLm99KSk6KHRoaXMuQiYmdGhpcy5CLnBhKCEwKSx0aGlzLmwmJnRoaXMubC5wYSghMCkpO3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UmJnRoaXMuUmIoITEpO3RoaXMuTy5maW5pc2goKX19OwpfLm0uT2g9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmgsYj10aGlzLnJhO2EubyYmYS5vLm5iKGIpO2EuVD1iO3RoaXMuaC51ZSh0aGlzLkQsdGhpcy5SKTt0aGlzLmguTmEodGhpcy5vKTt0aGlzLmgubmEodGhpcy5qKTt0aGlzLkEuTih0aGlzLmgsImNsa19jb25maXJtIix0aGlzLnloKTt0aGlzLkEuTih0aGlzLmgsImNsa19jYW5jZWwiLHRoaXMueGgpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX3Jlc3RvcmUiLHRoaXMuUmQpO3RoaXMuQS5OKHRoaXMuaCwiY2xrX2Nsb3NlIix0aGlzLlFjKTt0aGlzLkEuTih0aGlzLmgsImNsa19ub19hcCIsdGhpcy56aCk7dGhpcy5BLk4odGhpcy5oLCJjbGtfbm9fYXBfc2l0ZSIsdGhpcy5BaCk7dGhpcy5BLk4odGhpcy5oLCJjaGdfc3JjX2xhbmciLHRoaXMubWYpO3RoaXMuQS5OKHRoaXMuaCwiY2hnX3RndF9sYW5nIix0aGlzLm1mKTt0aGlzLmwmJnRoaXMubC5wYSghMCl9OwpfLm0ua2k9ZnVuY3Rpb24oKXt0aGlzLkEuTih0aGlzLmgsImxvYWQiLHRoaXMuSS5yZWdpc3RlcigpKTt0aGlzLmgua2EoKTt0aGlzLkkuZmluaXNoKCl9O18ubS5NPWZ1bmN0aW9uKCl7dGhpcy5GLnJlc3RvcmUoKTtfLnUucHJvdG90eXBlLk0uY2FsbCh0aGlzKTt0aGlzLkYuZGlzcG9zZSgpO3RoaXMuQS5kaXNwb3NlKCk7dGhpcy5BPW51bGw7dGhpcy5oJiZ0aGlzLmguZGlzcG9zZSgpO3RoaXMuaD1udWxsO3RoaXMuQiYmdGhpcy5CLmRpc3Bvc2UoKTt0aGlzLkI9bnVsbDt0aGlzLmwmJnRoaXMubC5kaXNwb3NlKCk7dGhpcy5UPXRoaXMubD1udWxsfTtfLm0ueWg9ZnVuY3Rpb24oKXshdGhpcy5oLmlzVmlzaWJsZSgpfHwhdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpfHwodGhpcy5HJiZRbSgidGVfYXB0Iix7c2w6dGhpcy5vfSksU3YodGhpcywhMSksdGhpcy5sJiZ0aGlzLmwubmEodGhpcy5oLm9hKCkpKX07Cl8ubS54aD1mdW5jdGlvbigpe3RoaXMuaC5pc1Zpc2libGUoKSYmKFR2KHRoaXMpLE12KHRoaXMuaCwwKSx0aGlzLmwmJnRoaXMubC5uYSgiIikpfTtfLm0uUmQ9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJihUdih0aGlzKSxNdih0aGlzLmgsMCkpO3RoaXMubCYmdGhpcy5sLm5hKCIiKX07Xy5tLlFjPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5HJiYodGhpcy5HPSExLFFtKCJ0ZV9hcGMiLHtzbDp0aGlzLm99KSksVHYodGhpcyksdGhpcy5oLnBhKCExKSx0aGlzLmwmJnRoaXMubC5uYSgiIiksdGhpcy5CJiZ0aGlzLkIucGEoITApKX07Xy5tLnpoPWZ1bmN0aW9uKCl7dGhpcy5oLmlzVmlzaWJsZSgpJiYodGhpcy5DWyJvIit0aGlzLm9dPSIxIixRbSgidGVfYXByIix7c2w6dGhpcy5vfSksdGhpcy5HPSExLHRoaXMuUWMoKSl9OwpfLm0uQWg9ZnVuY3Rpb24oKXtpZih0aGlzLmguaXNWaXNpYmxlKCkpe3RoaXMuRz0hMTt0aGlzLkMub3M9IjEiO3ZhciBhPW51bGw7aWYodGhpcy5DKXthPVtdO2Zvcih2YXIgYiBpbiB0aGlzLkMpdGhpcy5DW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXSYmYS5wdXNoKGIrIj0iK3RoaXMuQ1tiXSk7YT1hLmpvaW4oInwiKX1RdigiZ29vZ3RyYW5zb3B0IixhKTt0aGlzLlFjKCl9fTtfLm0ubWY9ZnVuY3Rpb24oKXt0aGlzLmguaXNWaXNpYmxlKCkmJighdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5vPXRoaXMuaC5KYSgpfHx0aGlzLm8sdGhpcy5qPXRoaXMuaC5vYSgpLHRoaXMuaC5hYz09MiYmKHRoaXMubCYmdGhpcy5sLm5hKHRoaXMuaC5vYSgpKSxTdih0aGlzKSkpKX07Xy5tLm9kPWZ1bmN0aW9uKGEsYil7dGhpcy5oLmlzVmlzaWJsZSgpfHwodGhpcy5CJiZ0aGlzLkIucGEoITEpLGE/U3YodGhpcyxiKTpNdih0aGlzLmgsMCwhMCx0aGlzLkcpKX07Cl8ubS5SaT1mdW5jdGlvbihhLGIpe21yKHRoaXMuTyx0aGlzLkkuZGVsYXkoKDAsXy55KSh0aGlzLm9kLHRoaXMsYSxiKSkpLmNhbGwoKX07Xy5tLkdoPWZ1bmN0aW9uKCl7dGhpcy5vZCh0aGlzLmguYWM9PTIpfTtfLm0uSWg9ZnVuY3Rpb24oKXt0aGlzLmwub2EoKT8hdGhpcy5nLlBiJiZ4cih0aGlzLm8sdGhpcy5oLm9hKCkpP3RoaXMuUmQoKToodGhpcy5qPXRoaXMubC5vYSgpLHRoaXMuaC5uYSh0aGlzLmopLFN2KHRoaXMpKTp0aGlzLmwubmEodGhpcy5qKX07CnZhciBTdj1mdW5jdGlvbihhLGIpe2lmKHdpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UpdHJ5e3dpbmRvdy5nb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UuZ2V0SW5zdGFuY2UoKS5yZXN0b3JlKCl9Y2F0Y2goYyl7fVJ2KGEubyxhLmopO2EuRz0hMTshYiYmYS5vIGluIHNxJiZRbSgidGVfYXBlIix7c2w6YS5vfSk7TnYoYS5oLDApO012KGEuaCwxLCEwKTthLkYuWWYoISFiKTt3aW5kb3cuc2V0VGltZW91dCgoMCxfLnkpKGEuRi5xZCxhLkYsYS5nLlBiPyJhdXRvIjphLm8sYS5qLCgwLF8ueSkoYS5mYixhKSx2b2lkIDAsdm9pZCAwKSwwKX07ClB2LnByb3RvdHlwZS5mYj1mdW5jdGlvbihhLGIsYyl7dHlwZW9mIHRoaXMuZ2I9PSJmdW5jdGlvbiImJnRoaXMuZ2IoKTt0aGlzLmguaXNWaXNpYmxlKCkmJnRoaXMuaC5hYz09MSYmKGM/KFR2KHRoaXMpLE12KHRoaXMuaCwtMSwhMCksYz09Mj9Mdih0aGlzLmgsUi53Zyk6THYodGhpcy5oLFIuQ2UpKTooTnYodGhpcy5oLGEpLGImJih0aGlzLmwmJnRoaXMubC5uYSh0aGlzLmopLHRoaXMuaC5OYSh0aGlzLm8pLE12KHRoaXMuaCwyKSkpKX07dmFyIFR2PWZ1bmN0aW9uKGEpe1J2KCk7d2luZG93LnNldFRpbWVvdXQoKDAsXy55KShhLkYucmVzdG9yZSxhLkYsbnVsbCksMCl9O1B2LnByb3RvdHlwZS5SYj1mdW5jdGlvbihhKXthfHx0aGlzLlFjKCk7dGhpcy5sJiZ0aGlzLmwuUmIoYSk7dGhpcy5CJiZ0aGlzLkIucGEoYSl9O3ZhciB6bj1mdW5jdGlvbihhKXtpZihhJiYoYT1TdHJpbmcoYSksYT1hLnNwbGl0KCIuIiksYS5sZW5ndGgpKXtmb3IodmFyIGI9d2luZG93LGM9MDtjPGEubGVuZ3RoOysrYyl7dmFyIGQ9YVtjXTtpZighKGQmJmQgaW4gYikpcmV0dXJuO2I9YltkXX1yZXR1cm4gYn19O3ZhciBVdj1udWxsLFZ2PWZ1bmN0aW9uKGEpe2lmKCFVdil7dmFyIGIsYyxkLGU7YSYmKCJrZXkiaW4gYSYmKGI9YS5rZXkpLCJzZXJ2ZXJQYXJhbXMiaW4gYSYmKGM9YS5zZXJ2ZXJQYXJhbXMpLCJ0aW1lSW5mbyJpbiBhJiYoZD1hLnRpbWVJbmZvKSwicmVtb3RlQXBpUHJveHlIYW5kbGVycyJpbiBhJiYoZT1hLnJlbW90ZUFwaVByb3h5SGFuZGxlcnMpLChhPXlyKCkpJiYoYz1hKSk7YT0wO2lmKHRxPT0idGVfbGliInx8Xy5XYylhPTM7VXY9bmV3IHd2KHZvaWQgMCxuZXcgWnMoe2FwaUtleTpiLGhjOmEsdmU6ITAsdHJhY2tWaXNpYmlsaXR5OmM9PSJ0dmlzIn0pLHZvaWQgMCx2b2lkIDAsYixjLGQsdm9pZCAwLHZvaWQgMCx2b2lkIDAsZSk7VXYuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9O1V2LmlzQXZhaWxhYmxlPVV2LlNhO1V2LmdldFN1cHBvcnRlZExhbmd1YWdlcz1Vdi56YztVdi5nZXRQYWdlTGFuZ3VhZ2U9VXYuUGM7VXYuc2V0Q2xpY2tUaHJvdWdoPVV2LllmO1V2LnRyYW5zbGF0ZVBhZ2U9ClV2LnFkO1V2LnJlc3RvcmU9VXYucmVzdG9yZTtVdi5pc1RyYW5zbGF0aW5nPVV2LnBnO1V2LnNldENoZWNrVmlzaWJpbGl0eT1Vdi5QaX1yZXR1cm4gVXZ9O1Z2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFV2fTt2YXIgV3Y9bnVsbCxYdj1mdW5jdGlvbihhLGIpe1d2fHwoV3Y9bmV3IFB2KGEsYiksV3YuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXt9KTtyZXR1cm4gV3Z9O1h2LmdldEluc3RhbmNlPWZ1bmN0aW9uKCl7cmV0dXJuIFd2fTsKdmFyIFl2PWZ1bmN0aW9uKCl7dmFyIGE9em4oImdvb2dsZS50cmFuc2xhdGUubSIpO2F8fChmcygpLF8ucmMoImdvb2dsZS50cmFuc2xhdGUubSIsUSksYT1RKTtpZihhKWZvcih2YXIgYiBpbiBSKWlmKFJbYl0hPT1PYmplY3QucHJvdG90eXBlW1JbYl1dJiZSW2JdKXt2YXIgYz1SW2JdKCk7UltiXT1hW2NdP2FbY106Z3N9Xy5vaShfLlppKHBxLDEpKSYmKGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxiLnRleHRDb250ZW50PSJcbiAgLnRyYW5zbGF0ZWQtbHRye1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50cmFuc2xhdGVkLXJ0bHtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgIixhPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYXx8KGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaGVhZCIpLGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LApjLmluc2VydEJlZm9yZShhLGMuZmlyc3RDaGlsZCkpLGEuYXBwZW5kQ2hpbGQoYikpO0JuPT0xPyhfLnJjKCJnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZVNlcnZpY2UiLFZ2KSxRbSgidGVfbGkiKSk6KF8ucmMoImdvb2dsZS50cmFuc2xhdGUuVHJhbnNsYXRlRWxlbWVudCIsWHYpLFB2LnByb3RvdHlwZS5kaXNwb3NlPVB2LnByb3RvdHlwZS5kaXNwb3NlLFB2LnByb3RvdHlwZS5zaG93QmFubmVyPVB2LnByb3RvdHlwZS5SaSxQdi5wcm90b3R5cGUuc2V0RW5hYmxlZD1Qdi5wcm90b3R5cGUuUmIsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LkZsb2F0UG9zaXRpb24iLEp2KSxKdi5UT1BfTEVGVD0xLEp2LlRPUF9SSUdIVD0yLEp2LkJPVFRPTV9SSUdIVD0zLEp2LkJPVFRPTV9MRUZUPTQsXy5yYygiZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dCIsSHYpLEh2LlZFUlRJQ0FMPTAsSHYuSE9SSVpPTlRBTD0xLEh2LlNJTVBMRT0KMik7Q24oKX07CmlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fY29uc3QpWXYoKTtlbHNlIGlmKHdpbmRvdy5nb29nbGUmJndpbmRvdy5nb29nbGUudHJhbnNsYXRlJiZ3aW5kb3cuZ29vZ2xlLnRyYW5zbGF0ZS5fcHJvdG9Db25maWcpe3JxPW5ldyBEYXRlO3ZhciBadj1uZXcgbHEod2luZG93Lmdvb2dsZS50cmFuc2xhdGUuX3Byb3RvQ29uZmlnKTtPbj1fLk4oWnYsMjIpfHwiIjttcT1fLk4oWnYsNil8fCJwcm9kIjtucT1fLk4oWnYsMTIpfHwiIjtvcT1fLk4oWnYsMSl8fCJlbiI7QW49Xy5OKFp2LDIpfHwiIjt2YXIgJHY7KCR2PV8uYmooWnYsanEsMykpJiYocHE9JHYpO18uTihadiw4KTtxcT1fLk0oWnYsMTcpO3NxPXt9O3ZhciBhdzthdz1zbShadiwxOCxfLmFqKCkpO2Zvcih2YXIgYnc9MDtidzxhdy5sZW5ndGg7YncrKylzcVthd1tid11dPSEwO0JuPV8uTihadiw1KT09ImxpYiI/MTowO3RxPShfLk4oWnYsNCl8fCJ0ZSIpKwooQm49PTE/Il9saWIiOiIiKTtmcT1fLk4oWnYsOSl8fCIiO3ZhciBjdzsoY3c9Xy5OKFp2LDEwKSl8fChjdz1fLk4oWnYsMTEpKTt1cT1jd3x8IiI7dnE9Imh0dHBzOi8vIjt2YXIgZHc7ZHc9Xy5OKFp2LDEzKTt2YXIgZXc9dnErKGR3fHwiIikrIi90cmFuc2xhdGVfc3RhdGljLyI7d3E9ZXcrImltZy90ZV9iay5naWYiO3hxPWV3KyJpbWcvdGVfY3RybDMuZ2lmIjt6cT1ldysiaW1nL2xvYWRpbmcuZ2lmIjtBcT1fLk4oWnYsMTQpfHwiIjt5cT1fLk4oWnYsMTUpfHwiIjtCcT1fLk4oWnYsMTYpfHwiIjtDcT0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvY2xlYXJkb3QuZ2lmIjtEcT0iaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl82OHgyOGRwLnBuZyI7RXE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9wcm9kdWN0LzF4L3RyYW5zbGF0ZV8yNGRwLnBuZyI7RnE9Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfNDJ4MTZkcC5wbmciOwpHcT0iaHR0cHM6Ly90cmFuc2xhdGUuZ29vZ2xlLmNvbSI7S3EoKTtZdigpfTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCg=="}},"time_used":82,"timings":{"blocked":-1,"dns":2,"connect":14,"send":0,"wait":15,"receive":23,"ssl":27},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.839Z","timestamp":1785139582839,"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-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 08:06:22 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: b6815b7eb8e8e91a38037da176af4608\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-28T06:17:53.420467Z","times_seen":309,"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":21,"timings":{"blocked":10,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.924Z","timestamp":1785139583924,"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-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 08:06:23 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: e891608ef808a3ce8de7c4e85cf0ef84\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-08-12T17:58:50.110601Z","times_seen":626,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.095Z","timestamp":1785139584095,"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-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 08:06:24 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: 8a188f3534b40516c4f009c5d319b272\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-28T06:17:53.486727Z","times_seen":175,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.149Z","timestamp":1785139584149,"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-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 08:06:24 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: c2b2c05a9b0e703815e9f91ecb0b2295\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-08-12T05:10:43.143983Z","times_seen":512,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syMjUxMF0sezQ5OTM5MihlKXtlLmV4cG9ydHM9WyJBIl19LDQyMDE4NihlKXtlLmV4cG9ydHM9WyJMIl19LDM3MjcxOShlKXtlLmV4cG9ydHM9WyJUb2dnbGUgYXV0byBzY2FsZSJdfSwyMDY0NTEoZSl7ZS5leHBvcnRzPVsiVG9nZ2xlIGxvZyBzY2FsZSJdfX1dKTs="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.301Z","timestamp":1785139584301,"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-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 08:06:24 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: 45cd99c0d8159b35f20b32eb4e7db200\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-08-12T05:10:43.292576Z","times_seen":145,"resource_available":false,"data":"LmNvbnRhaW5lci1ENl9uaE9NRntjdXJzb3I6ZGVmYXVsdDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50aXRsZS1ENl9uaE9NRntkaXNwbGF5OmJsb2NrO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsO21hcmdpbi1ib3R0b206MTJweDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxOHB4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjYwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KX0udGl0bGUtRDZfbmhPTUYsLnRpdGxlX2xhcmdlLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpfS50aXRsZV9sYXJnZS1ENl9uaE9NRntmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI4cHg7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MjRweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDB9Lmljb24tRDZfbmhPTUZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LWhlaWdodDo0NDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5pY29uLUQ2X25oT01Ge2Rpc3BsYXk6bm9uZX19LnRleHQtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjI0cHg7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnRleHQtRDZfbmhPTUYsLnRleHRfbm9ybWFsLUQ2X25oT01Ge2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KX0udGV4dF9ub3JtYWwtRDZfbmhPTUZ7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTRweDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHh9LmFjdGlvbi1ENl9uaE9NRntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tdG9wOjIwcHg7d2lkdGg6MTAwJX0="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.023Z","timestamp":1785139584023,"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-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 08:06:24 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: e1352e276248f61c349e16dce6c4f977\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-28T06:17:53.593718Z","times_seen":99,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.821Z","timestamp":1785139582821,"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-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 08:06:22 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: da441eeed623a14b2e2553f0340c3cfe\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-28T07:05:00.680835Z","times_seen":1734,"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":23,"timings":{"blocked":15,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate-pa.googleapis.com/v1/supportedLanguages?client=te\u0026display_language=no\u0026key=AIzaSyBWDj0QJvVIx8XOhRegXX5_SrRWxhT5Hs4\u0026callback=callback","fqdn":"translate-pa.googleapis.com","domain":"translate-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.116.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{9f655089-0a6d-4662-80b7-0c5e089ec989}?https://nanoquantumstellarsledger.com","date":"2026-07-27T08:06:23.522Z","timestamp":1785139583522,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: gzip\r\ndate: Mon, 27 Jul 2026 08:06:23 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=IApNjdxVTB_7wB8t2bDqUbLN5cKLWy025xINkzMu18IpFNf2E2sx7BW7mJRwi0dCUKFlHEi4cPwg5Ve3rVC3v28BMUM5JnTisrtU61UMgjc0Mk2EufS3JAwILoKIEkWaYq0Yuz4iDlsGcHO7IuMVuxQg8FkUbQ9u4BPvHz82rFk9CIjQNBhJJNN2deUgVfqPag2FobsBccoqqtaKlNiRwaot_DNUl5YW3A; expires=Tue, 26-Jan-2027 08:06:23 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 08:06:23 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-08-12T17:58:50.204952Z","times_seen":10081,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":62,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":28,"receive":0,"ssl":23},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.635Z","timestamp":1785139583635,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:35 GMT","end":"Mon, 21 Sep 2026 08:37:34 GMT"},"fingerprint":{"sha1":"2F:20:3B:91:88:65:20:CD:06:9D:0C:58:4D:17:6F:FC:9D:EC:41:83","sha256":"0C:7B:D3:23:E9:5B:D6:6B:F2:5C:71:91:4D:41:CE:E6:D7:1F:A2:F2:63:BA:25:70:1D:00:F3:C0:72:21:51:6D"}}},"request":{"raw":"GET /gen204?sl=en\u0026nca=te_ap\u0026client=te\u0026logld=vTE_20260722 HTTP/1.1\r\nHost: translate.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-type: image/gif; charset=utf-8\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\ncross-origin-resource-policy: cross-origin\r\np3p: CP=\"This is not a P3P policy! See g.co/p3phelp for more info.\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncontent-security-policy: script-src 'nonce-_WBmsy23CruUkS_W6GfgoQ' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self', require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport\r\naccept-ch: Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64, Sec-CH-UA-Form-Factors, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version\r\ncross-origin-opener-policy: same-origin\r\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmII1pBiEOLh-L9ozmU2gQU3XxxgUlJKyi-MLylKzCvOSSxJLU4tKkstijcyMDIzMDcy0jMwji8wAAAz1BMz\"\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nset-cookie: __Secure-ENID=35.SE=OeKupx786NSHlDUGMVZkHLKKLFYKlqe1ef4ni0d_LCcErJ6rMiBUD90gxHY4lXxnI6aVGIeGR0jw3ZYwwKGcUOh2Tfkil-md8emkeZarw_BLlQdIoitS3MjrehV4vTf5LB-geFTi36nMya39dOUETNOQY1p4ujAEJd04BhHKqpjitZXXZIyq3CV1C4m4--wcIj9zFLGYppV8DfXue4T6_jnyzdz-RZBf-H8A11rvnqXf; expires=Fri, 27-Aug-2027 00:24:41 GMT; path=/; domain=.google.com; Secure; HttpOnly; SameSite=lax\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"image/gif; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.784Z","timestamp":1785139583784,"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-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 08:06:23 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: c6f312afeece2cbcfc742a95338e421b\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-08-12T05:10:43.29632Z","times_seen":336,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.843Z","timestamp":1785139582843,"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-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 08:06:22 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: 38696088a70e74ffb543534bd7368784\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-31T06:34:35.473115Z","times_seen":383,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NzQ3Ml0sezY5NzQ3MihlLHIsbyl7InVzZSBzdHJpY3QiO28uZChyLHtnZXRFeGNoYW5nZXM6KCk9PnUsZ2V0V2lkZ2V0Q29uZmlndXJlZEV4Y2hhbmdlczooKT0+bCxnZXRXaWRnZXRTeW1ib2xTZWFyY2hDb25maWc6KCk9PmR9KTt2YXIgbj1vKDk5ODcwNCksaT1vKDMxODk3NCk7ZnVuY3Rpb24gdSgpe3JldHVybiBufWZ1bmN0aW9uIGwoZSxyKXtpZih2b2lkIDA9PT1yKXJldHVybiBlO2NvbnN0e2FsbG93ZWRFeGNoYW5nZXM6b309cjtsZXQgbj1lO2lmKHZvaWQgMCE9PW8mJm8ubGVuZ3RoPjApe2NvbnN0IHI9bmV3IE1hcDtmb3IoY29uc3QgbyBvZiBlKSIiPT09by52YWx1ZXx8by5oaWRlSW5TeW1ib2xTZWFyY2h8fHIuc2V0KG8udmFsdWUsbyk7Y29uc3QgaT1vLm1hcCgoZT0+ci5nZXQoZS50b1VwcGVyQ2FzZSgpKSkpLmZpbHRlcigoZT0+dm9pZCAwIT09ZSkpO2kubGVuZ3RoPjAmJihuPWkpfXJldHVybiBufWZ1bmN0aW9uIGQoKXtpZighKDAsaS5vbldpZGdldCkoKSlyZXR1cm47Y29uc3QgZT13aW5kb3cuaW5pdERhdGE/LndpZGdldERlZmF1bHRzO2lmKHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IHI9ZS5zeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2Usbz0ic3RyaW5nIj09dHlwZW9mIHImJiIiIT09cj9yOnZvaWQgMCxuPWUuc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlcyx1PUFycmF5LmlzQXJyYXkobik/bi5maWx0ZXIoKGU9PiJzdHJpbmciPT10eXBlb2YgZSkpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09b3x8dm9pZCAwIT09dSYmMCE9PXUubGVuZ3RoP3tkZWZhdWx0RXhjaGFuZ2U6byxhbGxvd2VkRXhjaGFuZ2VzOnV9OnZvaWQgMH19LDk5ODcwNChlLHIsbyl7ZS5leHBvcnRzPVt7dmFsdWU6IiIsbmFtZToiQWxsIEV4Y2hhbmdlcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDU2NDIpKSxmbGFnOiIiLGNvdW50cnk6IiIsZ3JvdXA6IkFsbEV4Y2hhbmdlcyIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJMQkFOSyIsbmFtZToiTEJhbmsiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU5NjI4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMQkFOSyIscHJvdmlkZXJJZDoibGJhbmsifSx7dmFsdWU6IkxGSjJET1QyIixuYW1lOiJMRkogVjIuMiAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDM1MTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkxGSjJET1QyIixwcm92aWRlcklkOiJsZmoyZG90MiJ9LHt2YWx1ZToiQkNIQUlOIixuYW1lOiJCQ0hBSU4gKE5hc2RhcSBEYXRhIExpbmspIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJDSEFJTiIscHJvdmlkZXJJZDoicXVhbmRsX2JjaGFpbiJ9LHt2YWx1ZToiQklTV0FQIixuYW1lOiJCaXN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ2MDg2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVNXQVAiLHByb3ZpZGVySWQ6ImJpc3dhcCJ9LHt2YWx1ZToiQklUQVpaQSIsbmFtZToiQml0YXp6YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTgwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVEFaWkEiLHByb3ZpZGVySWQ6ImJpdGF6emEifSx7dmFsdWU6IkJJVEhVTUIiLG5hbWU6IkJpdGh1bWIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU4NjUwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRIVU1CIixwcm92aWRlcklkOiJiaXRodW1iIn0se3ZhbHVlOiJCSVRLVUIiLG5hbWU6IkJpdGt1YiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NzkzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUS1VCIixwcm92aWRlcklkOiJiaXRrdWIifSx7dmFsdWU6IkJJVFJVRSIsbmFtZToiQml0cnVlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NDExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUUlVFIixwcm92aWRlcklkOiJiaXRydWUifSx7dmFsdWU6IkJJVE1BUlQiLG5hbWU6IkJpdE1hcnQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjY0NTA2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRNQVJUIixwcm92aWRlcklkOiJiaXRtYXJ0In0se3ZhbHVlOiJCSVRTTyIsbmFtZToiQml0c28iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE5NzkyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRTTyIscHJvdmlkZXJJZDoiYml0c28ifSx7dmFsdWU6IkNPSU5NRVRSSUNTIixuYW1lOiJDb2luIE1ldHJpY3MiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk1MDk3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOTUVUUklDUyIscHJvdmlkZXJJZDoiY29pbm1ldHJpY3MifSx7dmFsdWU6Ik1FWEMiLG5hbWU6Ik1FWEMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUxNTkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVhDIixwcm92aWRlcklkOiJtZXhjIn0se3ZhbHVlOiJHQVRFIixuYW1lOiJHYXRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NDA2MCkpLApmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdBVEUiLHByb3ZpZGVySWQ6ImdhdGUifSx7dmFsdWU6IkhUWCIsbmFtZToiSFRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkxNTY0MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiSFRYIixwcm92aWRlcklkOiJodHgifSx7dmFsdWU6Ijc5NiIsbmFtZToiNzk2IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDgxNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJERURVU1QiLG5hbWU6IkRlRHVzdC5pbyAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjA2MjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkRFRFVTVCIscHJvdmlkZXJJZDoiZGVkdXN0In0se3ZhbHVlOiJERUVQQ09JTiIsbmFtZToiRGVlcGNvaW4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDM4NzE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUVQQ09JTiIscHJvdmlkZXJJZDoiZGVlcGNvaW4ifSx7dmFsdWU6IkRFUklCSVQiLG5hbWU6IkRlcmliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU0OTQwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJQklUIixwcm92aWRlcklkOiJkZXJpYml0In0se3ZhbHVlOiJEWURYIixuYW1lOiJkWWRYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2NDAxOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiRFlEWCIscHJvdmlkZXJJZDoiZHlkeCJ9LHt2YWx1ZToiREVGSUxMQU1BIixuYW1lOiJEZWZpTGxhbWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYwMjY1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUZJTExBTUEiLHByb3ZpZGVySWQ6ImRlZmlsbGFtYSJ9LHt2YWx1ZToiR0xBU1NOT0RFIixuYW1lOiJHbGFzc25vZGUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA5ODQ2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHTEFTU05PREUiLHByb3ZpZGVySWQ6ImdsYXNzbm9kZSJ9LHt2YWx1ZToiTUVURU9SQURMTU0iLG5hbWU6Ik1ldGVvcmEgRExNTSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDcwNDQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1FVEVPUkFETE1NIixwcm92aWRlcklkOiJtZXRlb3JhZGxtbSJ9LHt2YWx1ZToiTUVURU9SQURZTiIsbmFtZToiTWV0ZW9yYSBEWU4gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODMxOTczKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJNRVRFT1JBRFlOIixwcm92aWRlcklkOiJtZXRlb3JhZHluIn0se3ZhbHVlOiJPS1giLG5hbWU6Ik9LWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzE1NjgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9LWCIscHJvdmlkZXJJZDoib2t4In0se3ZhbHVlOiJPUkNBIixuYW1lOiJPcmNhIChTb2xhbmEpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MDQyOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiT1JDQSIscHJvdmlkZXJJZDoib3JjYSJ9LHt2YWx1ZToiUEFOR09MSU4iLG5hbWU6IlBhbmdvbGluIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU2MjIxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOR09MSU4iLHByb3ZpZGVySWQ6InBhbmdvbGluIn0se3ZhbHVlOiJQQU5DQUtFU1dBUCIsbmFtZToiUGFuY2FrZVN3YXAgdjIgKEJOQiBjaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjgxNTY0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAifSx7dmFsdWU6IlBBTkNBS0VTV0FQM0FSQklUUlVNIixuYW1lOiJQYW5jYWtlc3dhcCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NTYyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQVJCSVRSVU0iLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzQkFTRSIsbmFtZToiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMDkxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzQkFTRSIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNCU0MiLG5hbWU6IlBhbmNha2VTd2FwIHYzIChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjI0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQQU5DQUtFU1dBUDNCU0MiLHByb3ZpZGVySWQ6InBhbmNha2Vzd2FwMyJ9LHt2YWx1ZToiUEFOQ0FLRVNXQVAzRVRIIixuYW1lOiJQYW5jYWtlU3dhcCB2MyAoRXRoZXJldW0pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNjEzMTQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBBTkNBS0VTV0FQM0VUSCIscHJvdmlkZXJJZDoicGFuY2FrZXN3YXAzIn0se3ZhbHVlOiJQQU5DQUtFU1dBUDNaS1NZTkMiLG5hbWU6IlBhbmNha2Vzd2FwIHYzICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMDM0MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEFOQ0FLRVNXQVAzWktTWU5DIixwcm92aWRlcklkOiJwYW5jYWtlc3dhcDMifSx7dmFsdWU6IkNVUlZFIixuYW1lOiJDdXJ2ZSAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwOTAyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRSIscHJvdmlkZXJJZDoiY3VydmUifSx7dmFsdWU6IkNVUlZFQVJCSVRSVU0iLG5hbWU6IkN1cnZlIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTA0MzMxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDVVJWRUFSQklUUlVNIixwcm92aWRlcklkOiJjdXJ2ZSJ9LHt2YWx1ZToiUElPTkVYIixuYW1lOiJQaW9uZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc0NjcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQSU9ORVgiLHByb3ZpZGVySWQ6InBpb25leCJ9LHt2YWx1ZToiUFVMU0VYMiIsbmFtZToiUHVsc2VYIHYyIChQdWxzZWNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Nzk3NTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWDIiLHByb3ZpZGVySWQ6InB1bHNleCJ9LHt2YWx1ZToiUFlUSCIsbmFtZToiUHl0aCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDgxNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBZVEgiLHByb3ZpZGVySWQ6InB5dGgifSx7dmFsdWU6IlJBTVNFUzIiLG5hbWU6IlJhbXNlcyB2MiAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyODA0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUkFNU0VTMiIscHJvdmlkZXJJZDoicmFtc2VzMiJ9LHt2YWx1ZToiUkFZRElVTSIsbmFtZToiUmF5ZGl1bSAoU29sYW5hKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NjU2MTEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlJBWURJVU0iLHByb3ZpZGVySWQ6InJheWRpdW0ifSx7dmFsdWU6IlJBWURJVU1DTE1NIixuYW1lOiJSYXlkaXVtIENMTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQzNzkxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ0xNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNsbW0ifSx7dmFsdWU6IlJBWURJVU1DUE1NIixuYW1lOiJSYXlkaXVtIENQTU0gKFNvbGFuYSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA4OTcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJSQVlESVVNQ1BNTSIscHJvdmlkZXJJZDoicmF5ZGl1bWNwbW0ifSx7dmFsdWU6IlNUT05GSSIsbmFtZToiU1RPTi5maSAoVE9OKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzI5MDkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNUT05GSSIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVE9ORkkyIixuYW1lOiJTVE9OLmZpIHYyIChUT04pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4NDQ5NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1RPTkZJMiIscHJvdmlkZXJJZDoic3RvbmZpIn0se3ZhbHVlOiJTVU5TV0FQMiIsbmFtZToiU3VuU3dhcCB2MiAoVFJPTikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDMxNTE2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVU5TV0FQMiIscHJvdmlkZXJJZDoic3Vuc3dhcCJ9LHt2YWx1ZToiV0hJVEVCSVQiLG5hbWU6IldoaXRlQklUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMjQ0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0hJVEVCSVQiLHByb3ZpZGVySWQ6IndoaXRlYml0In0se3ZhbHVlOiJXT09ORVRXT1JLIixuYW1lOiJXT08gWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjUyNjApKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IldPT05FVFdPUksiLHByb3ZpZGVySWQ6Indvb25ldHdvcmsifSx7dmFsdWU6IlZPTE1FWCIsbmFtZToiVm9sbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzA3NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVk9MTUVYIixwcm92aWRlcklkOiJ2b2xtZXgifSx7dmFsdWU6IlpLU1dBUCIsbmFtZToiemtTd2FwICh6a1N5bmMpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxODIzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJaS1NXQVAiLHByb3ZpZGVySWQ6Inprc3dhcCJ9LHt2YWx1ZToiWk9PTUVYIixuYW1lOiJab29tZXgiLApkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MDQwMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWk9PTUVYIixwcm92aWRlcklkOiJ6b29tZXgifSx7dmFsdWU6IkFEWCIsbmFtZToiQURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDE1MikpLGZsYWc6ImFlIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImFlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjMxMTApKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDkwOTEpKV19LHt2YWx1ZToiSUNFQUJVRCIsbmFtZToiSUNFQUQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzQ0MzQ1KSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJERk0iLG5hbWU6IkRGTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDc0NDEpKSxmbGFnOiJhZSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJhZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTYzMTEwKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjQ5MDkxKSldfSx7dmFsdWU6Ik5BU0RBUURVQkFJIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAzNjUwKSksZmxhZzoiYWUiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiYWUiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE2MzExMCkpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0OTA5MSkpXX0se3ZhbHVlOiJBUVVJUyIsbmFtZToiQVFVSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY5ODI4KSksZmxhZzoidWsiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InVrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1ODc1MzMpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3MykpXX0se3ZhbHVlOiJMU0UiLG5hbWU6IkxTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNDM4MDMpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkxNRSIsbmFtZToiTE1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4OTI0MykpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiTFNJTiIsbmFtZToiTFNJTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDczMzcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IlRVUlFVT0lTRSIsbmFtZToiVHVycXVvaXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2MTYzMikpLGZsYWc6InVrIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ1ayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg3NTMzKSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNzMpKV19LHt2YWx1ZToiRlRTRSIsbmFtZToiRlRTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNzkyNTcpKSxmbGFnOiJ1ayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToidWsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4NzUzMykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4MjczKSldfSx7dmFsdWU6IkVVUkVYIixuYW1lOiJFVVJFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg1OTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik1HRVgiLG5hbWU6Ik1HRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTk2KSksZmxhZzoidXNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTkFTREFRIixuYW1lOiJOQVNEQVEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ4NjcwKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJOWVNFIixuYW1lOiJOWVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MjQ4NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6Mixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQU1FWCIsbmFtZToiQXJjYSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njg0MDMpKSxmbGFnOiJ1c2EiLApncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDozLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJPVEMiLG5hbWU6Ik9UQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDA0MTMpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDcxNTgpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjUscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IlNQIixuYW1lOiJTUCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDgyNTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0UiLG5hbWU6IkNCT0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk5ODc3KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo3LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJNU1RBUl9JTkRJQ0VTIixuYW1lOiJNU1RBUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MTI3NCkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRklOUkFCVERTIixuYW1lOiJGSU5SQSBCVERTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0MjgyNikpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiT1BSQSIsbmFtZToiT1BSQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1OTQxNzApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZJTlJBQVREUyIsbmFtZToiRklOUkEgQVREUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTU1MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNCT0VFVSIsbmFtZToiQ0JPRSBFVSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzODg4NTYpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IkNCT1QiLG5hbWU6IkNCT1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTAyNzIxKSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo4LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDTUUiLG5hbWU6IkNNRSBHTE9CRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzcxNjY1KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDo5LHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWCIsbmFtZToiQ09NRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjkzOTg2KSksZmxhZzoidXNhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByaW9yaXR5SW5Hcm91cDoxMCxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiTllNRVgiLG5hbWU6Ik5ZTUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MTYxNykpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcmlvcml0eUluR3JvdXA6MTEscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IklDRVVTIixuYW1lOiJJQ0VVUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg4MTApKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJpb3JpdHlJbkdyb3VwOjEyLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSUNFVVNDQSIsbmFtZToiSUNFVVNDQSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDU2MTYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkNTRSIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5MzkzMykpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTMscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiQ0JPRV9DQU5BREEiLG5hbWU6IkNib2UgQ2FuYWRhIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0NTAxOCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTQscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVFNYIixuYW1lOiJUU1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODk1MjQ2KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByaW9yaXR5SW5Hcm91cDoxNSxwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTE4OSkpXX0se3ZhbHVlOiJUU1hWIixuYW1lOiJUU1hWIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4MzUyNCkpLGZsYWc6ImNhbmFkYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6ImNhIixwcmlvcml0eUluR3JvdXA6MTYscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTUxODkpKV19LHt2YWx1ZToiVE1YIixuYW1lOiJUTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg1NDg0KSksZmxhZzoiY2FuYWRhIixncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToiY2EiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MTg5KSldfSx7dmFsdWU6IlJVUyIsbmFtZToiUlVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzMzNikpLGZsYWc6InJ1c3NpYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToicnUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM5MDU5OCkpXX0se3ZhbHVlOiJNWVgiLG5hbWU6Ik1ZWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjUwNjgpKSxmbGFnOiJtYWxheXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJteSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjI3OTY3KSldfSx7dmFsdWU6IkZUU0VNWVgiLG5hbWU6IkZUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODU1NDc5KSksZmxhZzoibWFsYXlzaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibXkiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDYyNzk2NykpXX0se3ZhbHVlOiJIT1NFIixuYW1lOiJIT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI4OTU2OSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IkhOWCIsbmFtZToiSE5YIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEwNTg1NSkpLGZsYWc6InZpZXRuYW0iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidm4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjIxKSldfSx7dmFsdWU6IlVQQ09NIixuYW1lOiJITlggVVBDb00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTkxNDUpKSxmbGFnOiJ2aWV0bmFtIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InZuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTIyMSkpXX0se3ZhbHVlOiJDU0VMSyIsbmFtZToiQ1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNTY4NCkpLGZsYWc6InNyaV9sYW5rYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJsayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA0NzY2KSldfSx7dmFsdWU6IkJJVFNUQU1QIixuYW1lOiJCaXRzdGFtcCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDY2NjYpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFNUQU1QIixwcm92aWRlcklkOiJiaXRzdGFtcCJ9LHt2YWx1ZToiQUNUSVZUUkFERVMiLG5hbWU6IkFjdGl2VHJhZGVzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzY5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQUNUSVZUUkFERVMiLHByb3ZpZGVySWQ6ImFjdGl2dHJhZGVzIn0se3ZhbHVlOiJCMlBSSU1FIixuYW1lOiJCMlBSSU1FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0ODczNCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkIyUFJJTUUiLHByb3ZpZGVySWQ6ImIycHJpbWUifSx7dmFsdWU6IkJMQUNLQlVMTCIsbmFtZToiQmxhY2tCdWxsIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEyODQxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsCmNvdW50cnk6IiIsc291cmNlSWQ6IkJMQUNLQlVMTCIscHJvdmlkZXJJZDoiYmxhY2tidWxsbWFya2V0cyJ9LHt2YWx1ZToiQkxVRUJFUlJZIixuYW1lOiJCbHVlYmVycnkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTAyNDMzKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUJFUlJZIixwcm92aWRlcklkOiJibHVlYmVycnkifSx7dmFsdWU6IkNNQ01BUktFVFMiLG5hbWU6IkNNQyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ5NzExMCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkNNQ01BUktFVFMiLHByb3ZpZGVySWQ6ImNtY21hcmtldHMifSx7dmFsdWU6IkNYTSIsbmFtZToiQ1hNIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1NDk3KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ1hNIixwcm92aWRlcklkOiJjeG0ifSx7dmFsdWU6IkRBUldJTkVYIixuYW1lOiJEYXJ3aW5leCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMzU5NjUpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJEQVJXSU5FWCIscHJvdmlkZXJJZDoiZGFyd2luZXgifSx7dmFsdWU6IkRFUklWIixuYW1lOiJEZXJpdiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDI4NjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERVJJViIscHJvdmlkZXJJZDoiZGVyaXYifSx7dmFsdWU6IkZQTUFSS0VUUyIsbmFtZToiRlAgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODU2MDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGUE1BUktFVFMiLHByb3ZpZGVySWQ6ImZwbWFya2V0cyJ9LHt2YWx1ZToiRlVTSU9OTUFSS0VUUyIsbmFtZToiRnVzaW9uIE1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTIwMzE5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlVTSU9OTUFSS0VUUyIscHJvdmlkZXJJZDoiZnVzaW9ubWFya2V0cyJ9LHt2YWx1ZToiR09NQVJLRVRTIixuYW1lOiJHTyBNYXJrZXRzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0OTc4MSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkdPTUFSS0VUUyIscHJvdmlkZXJJZDoiZ29tYXJrZXRzIn0se3ZhbHVlOiJJRyIsbmFtZToiSUciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTU2OTY0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiSUciLHByb3ZpZGVySWQ6ImlnIn0se3ZhbHVlOiJUQVNUWUZYIixuYW1lOiJ0YXN0eWZ4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDMyMSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoidGFzdHlmeCJ9LHt2YWx1ZToiVEhJTktNQVJLRVRTIixuYW1lOiJUaGlua01hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE5MTkyKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVEhJTktNQVJLRVRTIixwcm92aWRlcklkOiJ0aGlua21hcmtldHMifSx7dmFsdWU6IlRJQ0tNSUxMIixuYW1lOiJUaWNrbWlsbCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTgwNDQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUSUNLTUlMTCIscHJvdmlkZXJJZDoidGlja21pbGwifSx7dmFsdWU6IlRSQURFTkFUSU9OIixuYW1lOiJUcmFkZSBOYXRpb24iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAwMDA1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVOQVRJT04iLHByb3ZpZGVySWQ6InRyYWRlbmF0aW9uIn0se3ZhbHVlOiJUUklWRSIsbmFtZToiVHJpdmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTY1NDY1KSksZmxhZzoiRm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiVFJJVkUiLHByb3ZpZGVySWQ6InRyaXZlIn0se3ZhbHVlOiJWQU5UQUdFIixuYW1lOiJWYW50YWdlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2MjUxNykpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZBTlRBR0UiLHByb3ZpZGVySWQ6InZhbnRhZ2VmeCJ9LHt2YWx1ZToiVkVMT0NJVFkiLG5hbWU6IlZlbG9jaXR5IFRyYWRlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4MDc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ2ZWxvY2l0eXRyYWRlIn0se3ZhbHVlOiJGWCIsbmFtZToiRlhDTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTI3MjYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImZ4Y20ifSx7dmFsdWU6IkZYUFJPIixuYW1lOiJGeFBybyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjE0MDApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJGWFBSTyIscHJvdmlkZXJJZDoiZnhwcm8ifSx7dmFsdWU6IkZYVEYiLG5hbWU6IkZYVEYiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0MTE1KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRlhURiIscHJvdmlkZXJJZDoiZnh0ZiJ9LHt2YWx1ZToiRUlHSFRDQVAiLG5hbWU6IkVpZ2h0Y2FwIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1OTQ1OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IkVJR0hUQ0FQIixwcm92aWRlcklkOiJlaWdodGNhcCJ9LHt2YWx1ZToiRVJSQU5URSIsbmFtZToiRXJyYW50ZSIsCmRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM2ODgpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJFUlJBTlRFIixwcm92aWRlcklkOiJlcnJhbnRlIn0se3ZhbHVlOiJFU0FGWCIsbmFtZToiRXNhRlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTA4ODQ2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJlc2FmeCJ9LHt2YWx1ZToiT1NNQU5MSUZYIixuYW1lOiJPc21hbmxpIEZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzOTU0OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoib3NtYW5saWZ4In0se3ZhbHVlOiJCVENFIixuYW1lOiJCVEMtZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzI1NzQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiSE9ORVlTV0FQIixuYW1lOiJIb25leXN3YXAgdjIgKEdub3NpcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDA2NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhPTkVZU1dBUCIscHJvdmlkZXJJZDoiaG9uZXlzd2FwIn0se3ZhbHVlOiJIWVBFUkxJUVVJRCIsbmFtZToiSHlwZXJsaXF1aWQgKEh5cGVybGlxdWlkKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMzIzMDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhZUEVSTElRVUlEIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1hZWiIsbmFtZToiSHlwZXJsaXF1aWQgKFhZWiBISVAtMykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMyMzAzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJISVAzWFlaIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiSElQM1BBUkEiLG5hbWU6Ikh5cGVybGlxdWlkIChQQVJBIEhJUC0zKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQxODUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkhJUDNQQVJBIixwcm92aWRlcklkOiJoeXBlcmxpcXVpZCJ9LHt2YWx1ZToiQlNFIixuYW1lOiJCU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ1NzYwKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNU0VJIixuYW1lOiJNU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzE5ODY0KSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJOWU1FWF9NSU5JIixuYW1lOiJOWU1FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2ODE2MTcpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJDT01FWF9NSU5JIixuYW1lOiJDT01FWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTM5ODYpKSxmbGFnOiJ1c2EiLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJJQ0VFTkRFWCIsbmFtZToiSUNFRU5ERVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjE5ODMzKSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJJQ0VFVVJGSU4iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzU1NTgpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6IklDRUVVUkNPTU0iLG5hbWU6IklDRUVVUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NTU1MjcpKSxmbGFnOiJldXJvcGUiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImV1Iixwcm92aWRlcklkOiIifSx7dmFsdWU6Ik5TRSIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MDcxKSksZmxhZzoiaW5kaWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaW4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MjUyMCkpXX0se3ZhbHVlOiJNQ1giLG5hbWU6Ik1DWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1MDI3OCkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiTkNERVgiLG5hbWU6Ik5DREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU0MTI1NSkpLGZsYWc6ImluZGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImluIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNzI1MjApKV19LHt2YWx1ZToiS0NCVCIsbmFtZToiS0NCVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNTgxOTQpKSxmbGFnOiJ1c2EiLApoaWRlSW5TeW1ib2xTZWFyY2g6ITAsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGNvdW50cnk6InVzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiQ0JPVF9NSU5JIixuYW1lOiJDQk9UIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUwMjcyMSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IktSQUtFTiIsbmFtZToiS3Jha2VuIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5MDEyMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1JBS0VOIixwcm92aWRlcklkOiJrcmFrZW4ifSx7dmFsdWU6IktVQ09JTiIsbmFtZToiS3VDb2luIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQwODQwOCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiS1VDT0lOIixwcm92aWRlcklkOiJrdWNvaW4ifSx7dmFsdWU6IkxVTkFSQ1JVU0giLG5hbWU6Ikx1bmFyQ3J1c2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIzODk0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJMVU5BUkNSVVNIIixwcm92aWRlcklkOiJsdW5hcmNydXNoIn0se3ZhbHVlOiJYRVhDSEFOR0UiLG5hbWU6InhFeGNoYW5nZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM0OTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlhFWENIQU5HRSIscHJvdmlkZXJJZDoieGV4Y2hhbmdlIn0se3ZhbHVlOiJYVENPTSIsbmFtZToiWFQuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY4NjExNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiWFRDT00iLHByb3ZpZGVySWQ6Inh0Y29tIn0se3ZhbHVlOiJDTUVfTUlOSSIsbmFtZToiQ01FIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MTY2NSkpLGZsYWc6InVzYSIsZ3JvdXA6Ik5vcnRoIEFtZXJpY2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkRKIixuYW1lOiJESiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMjI0NzEpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJTUCIsbmFtZToiU1AiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQxOTgpKSxmbGFnOiJ1c2EiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiTm9ydGggQW1lcmljYSIsY291bnRyeToidXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJCVENDSElOQSIsbmFtZToiQlRDIENoaW5hIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ0NzIyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJBTlgiLG5hbWU6IkFOWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTk5NykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJNRVhCVCIsbmFtZToibWVYQlQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ1MTUzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5IixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkdFTUlOSSIsbmFtZToiR2VtaW5pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUxODMxMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiR0VNSU5JIixwcm92aWRlcklkOiJnZW1pbmkifSx7dmFsdWU6IkJJVFZDIixuYW1lOiJCaXRWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDYwMjcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklUWUVTIixuYW1lOiJCaXRZZXMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1NDEpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxjb3VudHJ5OiIiLHByb3ZpZGVySWQ6IiJ9LHt2YWx1ZToiQklURkxZRVIiLG5hbWU6ImJpdEZseWVyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI1MTk0OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURkxZRVIiLHByb3ZpZGVySWQ6ImJpdGZseWVyIn0se3ZhbHVlOiJCWUJJVCIsbmFtZToiQnliaXQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE4OTY3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLApzb3VyY2VJZDoiQllCSVQiLHByb3ZpZGVySWQ6ImJ5Yml0In0se3ZhbHVlOiJCWURGSSIsbmFtZToiQllERmkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE0OTExKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCWURGSSIscHJvdmlkZXJJZDoiYnlkZmkifSx7dmFsdWU6IkJJVE1FWCIsbmFtZToiQml0TUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1NTc2NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUTUVYIixwcm92aWRlcklkOiJiaXRtZXgifSx7dmFsdWU6IkNBUElUQUxDT00iLG5hbWU6IkNhcGl0YWwuY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwNzc2KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FQSVRBTENPTSIscHJvdmlkZXJJZDoiY2FwaXRhbGNvbSJ9LHt2YWx1ZToiQ0ZJIixuYW1lOiJDRkkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTE1NzM4KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0ZJIixwcm92aWRlcklkOiJjZmlmaW5hbmNpYWwifSx7dmFsdWU6IkNPSU5FWCIsbmFtZToiQ29pbkV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2OTE1MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkVYIixwcm92aWRlcklkOiJjb2luZXgifSx7dmFsdWU6IkNPSU5KQVIiLG5hbWU6IkNvaW5KYXIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzAzNzQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOSkFSIixwcm92aWRlcklkOiJjb2luamFyIn0se3ZhbHVlOiJDT0lOVyIsbmFtZToiQ29pblciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzkzMDk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOVyIscHJvdmlkZXJJZDoiY29pbncifSx7dmFsdWU6IkNPSU5TV0lUQ0giLG5hbWU6IkNvaW5Td2l0Y2giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM4ODI5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDT0lOU1dJVENIIixwcm92aWRlcklkOiJjb2luc3dpdGNoIn0se3ZhbHVlOiJFQVNZTUFSS0VUUyIsbmFtZToiZWFzeU1hcmtldHMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDI0MzM0KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiRUFTWU1BUktFVFMiLHByb3ZpZGVySWQ6ImVhc3ltYXJrZXRzIn0se3ZhbHVlOiJGT1JFWENPTSIsbmFtZToiRk9SRVguY29tIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3MjQ0MikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZ2FpbiJ9LHt2YWx1ZToiRlhfSURDIixuYW1lOiJJQ0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDAzNDMwKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJpY2UifSx7dmFsdWU6IklCS1IiLG5hbWU6IkludGVyYWN0aXZlIEJyb2tlcnMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyNDYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQktSIixwcm92aWRlcklkOiJpYmtyIn0se3ZhbHVlOiJJQlJPS0VSIixuYW1lOiJpQnJva2VyIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY1MzU3MCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IklCUk9LRVIiLHByb3ZpZGVySWQ6Imlicm9rZXIifSx7dmFsdWU6IklDTUFSS0VUUyIsbmFtZToiSUMgTWFya2V0cyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MDkyMTIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJJQ01BUktFVFMiLHByb3ZpZGVySWQ6ImljbWFya2V0cyJ9LHt2YWx1ZToiQklURklORVgiLG5hbWU6IkJpdGZpbmV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1ODAyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklURklORVgiLHByb3ZpZGVySWQ6ImJpdGZpbmV4In0se3ZhbHVlOiJNVEdPWCIsbmFtZToiTXQuR294IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMjg4OCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGNvdW50cnk6IiIsc291cmNlSWQ6Ik1UR09YIixwcm92aWRlcklkOiJtdGdveCJ9LHt2YWx1ZToiUEhBUkFPSCIsbmFtZToiUGhhcmFvaCAoQXZhbGFuY2hlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MzM1MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBIQVJBT0giLHByb3ZpZGVySWQ6InBoYXJhb2gifSx7dmFsdWU6IlBIRU1FWCIsbmFtZToiUGhlbWV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwNTMyMikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUEhFTUVYIixwcm92aWRlcklkOiJwaGVtZXgifSx7dmFsdWU6IlBPTE9OSUVYIixuYW1lOiJQb2xvbmlleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDMyMzUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBPTE9OSUVYIixwcm92aWRlcklkOiJwb2xvbmlleCJ9LHt2YWx1ZToiUFVMU0VYIixuYW1lOiJQdWxzZXggKFB1bHNlY2hhaW4pIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzkzMDcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBVTFNFWCIscHJvdmlkZXJJZDoicHVsc2V4In0se3ZhbHVlOiJRVUlDS1NXQVAiLG5hbWU6IlF1aWNrU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyMjgxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJRVUlDS1NXQVAiLHByb3ZpZGVySWQ6InF1aWNrc3dhcCJ9LHt2YWx1ZToiUVVJQ0tTV0FQM1BPTFlHT05aS0VWTSIsbmFtZToiUXVpY2tTd2FwIHYzIChQb2x5Z29uIHprRVZNKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NzMzOTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlFVSUNLU1dBUDNQT0xZR09OWktFVk0iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlFVSUNLU1dBUDNQT0xZR09OIixuYW1lOiJRdWlja1N3YXAgdjMgKFBvbHlnb24pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NjU0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiUVVJQ0tTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InF1aWNrc3dhcDMifSx7dmFsdWU6IlNVU0hJU1dBUCIsbmFtZToiU3VzaGlTd2FwIHYyIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTAzNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1VTSElTV0FQIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNVU0hJU1dBUFBPTFlHT04iLG5hbWU6IlN1c2hpU3dhcCB2MiAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzI0NzA5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTVVNISVNXQVBQT0xZR09OIixwcm92aWRlcklkOiJzdXNoaXN3YXAifSx7dmFsdWU6IlNZTkNTV0FQIixuYW1lOiJTeW5jU3dhcCAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNDk5ODMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNZTkNTV0FQIixwcm92aWRlcklkOiJzeW5jc3dhcCJ9LHt2YWx1ZToiU1lOQ1NXQVAyIixuYW1lOiJTeW5jU3dhcCB2MiAoemtTeW5jKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNjExMykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiU1lOQ1NXQVAyIixwcm92aWRlcklkOiJzeW5jc3dhcDIifSx7dmFsdWU6IlRPT0JJVCIsbmFtZToiVG9vYml0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQxNjE5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJUT09CSVQiLHByb3ZpZGVySWQ6InRvb2JpdCJ9LHt2YWx1ZToiVFJBREVSSk9FIixuYW1lOiJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MDI0MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFJBREVSSk9FIixwcm92aWRlcklkOiJ0cmFkZXJqb2UifSx7dmFsdWU6IlRVUkJPU0ZJTkFOQ0UiLG5hbWU6IlR1cmJvcyBGaW5hbmNlIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0OTE4MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVFVSQk9TRklOQU5DRSIscHJvdmlkZXJJZDoidHVyYm9zZmluYW5jZSJ9LHt2YWx1ZToiVU5JU1dBUCIsbmFtZToiVW5pc3dhcCB2MiAoRXRoZXJldW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM2NTk0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUCIscHJvdmlkZXJJZDoidW5pc3dhcCJ9LHt2YWx1ZToiVU5JU1dBUEJBU0UiLG5hbWU6IlVuaXN3YXAgdjIgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcwMzkyOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXAifSx7dmFsdWU6IlVOSVNXQVAzRVRIIixuYW1lOiJVbmlzd2FwIHYzIChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgyNTA1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0VUSCIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzUE9MWUdPTiIsbmFtZToiVW5pc3dhcCB2MyAoUG9seWdvbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzgzNzc1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM1BPTFlHT04iLHByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0FSQklUUlVNIixuYW1lOiJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTkxOTcwKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2MyAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0Mzc4NCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDNPUFRJTUlTTSIsCnByb3ZpZGVySWQ6InVuaXN3YXAzIn0se3ZhbHVlOiJVTklTV0FQM0JTQyIsbmFtZToiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDA2OTcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQlNDIixwcm92aWRlcklkOiJ1bmlzd2FwMyJ9LHt2YWx1ZToiVU5JU1dBUDNCQVNFIixuYW1lOiJVbmlzd2FwIHYzIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTYyNjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVAzQkFTRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVAzQVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHYzIChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4MTUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQM0FWQUxBTkNIRSIscHJvdmlkZXJJZDoidW5pc3dhcDMifSx7dmFsdWU6IlVOSVNXQVA0RVRIIixuYW1lOiJVbmlzd2FwIHY0IChFdGhlcmV1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA4NjgyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEVUSCIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QlNDIixuYW1lOiJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI0NTE2MikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRCU0MiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEJBU0UiLG5hbWU6IlVuaXN3YXAgdjQgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3Mjg0KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEJBU0UiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNEFSQklUUlVNIixuYW1lOiJVbmlzd2FwIHY0IChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzU3NTkzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNEFSQklUUlVNIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRQT0xZR09OIixuYW1lOiJVbmlzd2FwIHY0IChQb2x5Z29uKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODQxMjIpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVOSVNXQVA0UE9MWUdPTiIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVOSVNXQVA0QVZBTEFOQ0hFIixuYW1lOiJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDExMTMwMCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRBVkFMQU5DSEUiLHByb3ZpZGVySWQ6InVuaXN3YXA0In0se3ZhbHVlOiJVTklTV0FQNFVOSUNIQUlOIixuYW1lOiJVbmlzd2FwIHY0IChVbmljaGFpbikiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjg5MzE3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJVTklTV0FQNFVOSUNIQUlOIixwcm92aWRlcklkOiJ1bmlzd2FwNCJ9LHt2YWx1ZToiVU5JU1dBUDRPUFRJTUlTTSIsbmFtZToiVW5pc3dhcCB2NCAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ3MDQ4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVU5JU1dBUDRPUFRJTUlTTSIscHJvdmlkZXJJZDoidW5pc3dhcDQifSx7dmFsdWU6IlVQQklUIixuYW1lOiJVcEJpdCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxOTM4MTgpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlVQQklUIixwcm92aWRlcklkOiJ1cGJpdCJ9LHt2YWx1ZToiQU5UQVJDVElDIixuYW1lOiJBbnRhcmN0aWMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQ2ODcyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBTlRBUkNUSUMiLHByb3ZpZGVySWQ6ImFudGFyY3RpYyJ9LHt2YWx1ZToiQklOR1giLG5hbWU6IkJpbmdYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ4NzUzNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklOR1giLHByb3ZpZGVySWQ6ImJpbmd4In0se3ZhbHVlOiJCVFNFIixuYW1lOiJCVFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxMTE3NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRTRSIscHJvdmlkZXJJZDoiYnRzZSJ9LHt2YWx1ZToiQklUVFJFWCIsbmFtZToiQml0dHJleCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDg0NTUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFRSRVgiLHByb3ZpZGVySWQ6ImJpdHRyZXgifSx7dmFsdWU6IkJJVFZBVk8iLG5hbWU6IkJpdHZhdm8iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIwODM5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCSVRWQVZPIixwcm92aWRlcklkOiJiaXR2YXZvIn0se3ZhbHVlOiJCSVRVTklYIixuYW1lOiJCaXR1bml4IiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Mjg1NzMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJVFVOSVgiLHByb3ZpZGVySWQ6ImJpdHVuaXgifSx7dmFsdWU6IkJJTkFOQ0UiLG5hbWU6IkJpbmFuY2UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjA1ZTMpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0UiLHByb3ZpZGVySWQ6ImJpbmFuY2UifSx7dmFsdWU6IkJJVEdFVCIsbmFtZToiQml0Z2V0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNjYwOSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQklUR0VUIixwcm92aWRlcklkOiJiaXRnZXQifSx7dmFsdWU6IkJJTkFOQ0VVUyIsbmFtZToiQmluYW5jZS5VUyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMTE2NzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJJTkFOQ0VVUyIscHJvdmlkZXJJZDoiYmluYW5jZSJ9LHt2YWx1ZToiREVMVEFJTiIsbmFtZToiRGVsdGEgRXhjaGFuZ2UgSW5kaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTc2NTQ4KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJERUxUQUlOIixwcm92aWRlcklkOiJkZWx0YWluIn0se3ZhbHVlOiJCTE9GSU4iLG5hbWU6IkJsb0ZpbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDI5ODcpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJMT0ZJTiIscHJvdmlkZXJJZDoiYmxvZmluIn0se3ZhbHVlOiJCTEFDS0hPTEUzIixuYW1lOiJCbGFja2hvbGUgdjMgKEF2YWxhbmNoZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjgzMjg3KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJCTEFDS0hPTEUzIixwcm92aWRlcklkOiJibGFja2hvbGUzIn0se3ZhbHVlOiJCTFVFRklOIixuYW1lOiJCbHVlZmluIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMxNTQyNCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkxVRUZJTiIscHJvdmlkZXJJZDoiYmx1ZWZpbiJ9LHt2YWx1ZToiQk5DIixuYW1lOiJCcmF2ZSBOZXcgQ29pbiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzkxNTkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkJOQyIscHJvdmlkZXJJZDoiYm5jIn0se3ZhbHVlOiJCVENDIixuYW1lOiJCVENDIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NDMxNikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQlRDQyIscHJvdmlkZXJJZDoiYnRjYyJ9LHt2YWx1ZToiS0FUQU5BIixuYW1lOiJLYXRhbmEgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5ODA3MzkpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQSIscHJvdmlkZXJJZDoia2F0YW5hIn0se3ZhbHVlOiJLQVRBTkEzIixuYW1lOiJLYXRhbmEgdjMgKFJvbmluKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxNTc2MDUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IktBVEFOQTMiLHByb3ZpZGVySWQ6ImthdGFuYTMifSx7dmFsdWU6IktDRVgiLG5hbWU6IktDRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDk4ODk2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJLQ0VYIixwcm92aWRlcklkOiJrY2V4In0se3ZhbHVlOiJDQU1FTE9UIixuYW1lOiJDYW1lbG90IHYyIChBcmJpdHJ1bSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg0MTYzKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDQU1FTE9UIixwcm92aWRlcklkOiJjYW1lbG90MiJ9LHt2YWx1ZToiQ0FNRUxPVDNBUkJJVFJVTSIsbmFtZToiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzY4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0FNRUxPVDNBUkJJVFJVTSIscHJvdmlkZXJJZDoiY2FtZWxvdDMifSx7dmFsdWU6IkNPSU5ERVNLIixuYW1lOiJDb2luRGVzayBJbmRpY2VzIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1ODc4MykpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkRFU0siLHByb3ZpZGVySWQ6ImNvaW5kZXNrIn0se3ZhbHVlOiJDUllQVE9DT00iLG5hbWU6IkNyeXB0by5jb20iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjI4NDQ5KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJDUllQVE9DT00iLHByb3ZpZGVySWQ6ImNyeXB0b2NvbSJ9LHt2YWx1ZToiVkVMT0RST01FIixuYW1lOiJWZWxvZHJvbWUgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDQ4MjUpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IlZFTE9EUk9NRSIscHJvdmlkZXJJZDoidmVsb2Ryb21lIn0se3ZhbHVlOiJWRUxPRFJPTUUyIixuYW1lOiJWZWxvZHJvbWUgdjIgKE9wdGltaXNtKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NTc3MzQpKSxmbGFnOiJiaXRjb2luIiwKZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWRUxPRFJPTUUyIixwcm92aWRlcklkOiJ2ZWxvZHJvbWUyIn0se3ZhbHVlOiJWRUxPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJWZWxvZHJvbWUgU2xpcFN0cmVhbSAoT3B0aW1pc20pIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzMzI1MCkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiVkVMT0RST01FU0xJUFNUUkVBTSIscHJvdmlkZXJJZDoidmVsb2Ryb21lc2xpcHN0cmVhbSJ9LHt2YWx1ZToiVlZTRklOQU5DRSIsbmFtZToiVlZTIEZpbmFuY2UgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMxMzI1KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlNGSU5BTkNFIixwcm92aWRlcklkOiJ2dnNmaW5hbmNlIn0se3ZhbHVlOiJWVlMzIixuYW1lOiJWVlMgdjMgKENyb25vcykiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk0MTc2KSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJWVlMzIixwcm92aWRlcklkOiJ2dnMzIn0se3ZhbHVlOiJXRUJVTExQQVkiLG5hbWU6IldlYnVsbCBQYXkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY1ODUxKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJXRUJVTExQQVkiLHByb3ZpZGVySWQ6IndlYnVsbHBheSJ9LHt2YWx1ZToiQ0VUVVMiLG5hbWU6IkNldHVzIChTdWkpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NDE0NSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ0VUVVMiLHByb3ZpZGVySWQ6ImNldHVzIn0se3ZhbHVlOiJXRUVYIixuYW1lOiJXRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQzNjg3MSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiV0VFWCIscHJvdmlkZXJJZDoid2VleCJ9LHt2YWx1ZToiTU1GSU5BTkNFIixuYW1lOiJNTSBGaW5hbmNlIChDcm9ub3MpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE1MjUxNSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiTU1GSU5BTkNFIixwcm92aWRlcklkOiJtbWZpbmFuY2UifSx7dmFsdWU6IkFFUk9EUk9NRSIsbmFtZToiQWVyb2Ryb21lIChCYXNlKSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMTc4NjQpKSxmbGFnOiJiaXRjb2luIixncm91cDoiQ3J5cHRvY3VycmVuY3kiLGNvdW50cnk6IiIsc291cmNlSWQ6IkFFUk9EUk9NRSIscHJvdmlkZXJJZDoiYWVyb2Ryb21lIn0se3ZhbHVlOiJBRVJPRFJPTUVTTElQU1RSRUFNIixuYW1lOiJBZXJvZHJvbWUgU2xpcFN0cmVhbSAoQmFzZSkiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI1MjEyKSksZmxhZzoiYml0Y29pbiIsZ3JvdXA6IkNyeXB0b2N1cnJlbmN5Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJBRVJPRFJPTUVTTElQU1RSRUFNIixwcm92aWRlcklkOiJhZXJvZHJvbWVzbGlwc3RyZWFtIn0se3ZhbHVlOiJCQVNFU1dBUCIsbmFtZToiQmFzZVN3YXAgKEJhc2UpIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIyMTM1OSkpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQkFTRVNXQVAiLHByb3ZpZGVySWQ6ImJhc2Vzd2FwIn0se3ZhbHVlOiJCQ0JBIixuYW1lOiJCWU1BIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNjkwOSkpLGZsYWc6ImFyZ2VudGluYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiYXIiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NzU4NykpXX0se3ZhbHVlOiJNQVRCQVJPRkVYIixuYW1lOiJST0ZFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjM0MDEpKSxmbGFnOiJhcmdlbnRpbmEiLGdyb3VwOiJNZXhpY28gYW5kIFNvdXRoIEFtZXJpY2EiLGNvdW50cnk6ImFyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NTc1ODcpKV19LHt2YWx1ZToiQk1GQk9WRVNQQSIsbmFtZToiQjMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDc5MzQxKSksZmxhZzoiYnJhc2lsIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJiciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEyOTY3KSldfSx7dmFsdWU6IkJNViIsbmFtZToiQk1WIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwOTQyNykpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCSVZBIixuYW1lOiJCSVZBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4MjI0OSkpLGZsYWc6Im1leGljbyIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToibXgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg2NTcwMCkpXX0se3ZhbHVlOiJCVkwiLG5hbWU6IkJWTCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNTEwNzYpKSxmbGFnOiJwZXJ1Iixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJwZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODUxMTExKSldfSx7dmFsdWU6IkJDUyIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMyMTE3NSkpLGZsYWc6ImNoaWxlIiwKZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY2wiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkwNDMzOCkpXX0se3ZhbHVlOiJCVkMiLG5hbWU6IkJWQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODQ2MTkpKSxmbGFnOiJjb2xvbWJpYSIsZ3JvdXA6Ik1leGljbyBhbmQgU291dGggQW1lcmljYSIsY291bnRyeToiY28iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzNTg2NykpXX0se3ZhbHVlOiJCVkNWIixuYW1lOiJCVkMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzA1OTUyKSksZmxhZzoidmVuZXp1ZWxhIixncm91cDoiTWV4aWNvIGFuZCBTb3V0aCBBbWVyaWNhIixjb3VudHJ5OiJ2ZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNTAzKSldfSx7dmFsdWU6Ik5BRyIsbmFtZToiTlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkyMjc3MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiVFNFIixuYW1lOiJUU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQxNzQpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRGRVgiLG5hbWU6IlRGRVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTUxNDkxKSksZmxhZzoidGhhaWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToidGgiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU1MzA0NCkpXX0se3ZhbHVlOiJURlgiLG5hbWU6IlRGWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NjMyNzgpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6IlRPQ09NIixuYW1lOiJUT0NPTSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3ODIxNjIpKSxmbGFnOiJqYXBhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJqcCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjAwMDY4KSldfSx7dmFsdWU6Ik9TRSIsbmFtZToiT1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNDAzNykpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiU0dYIixuYW1lOiJTR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzkzMjUpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJBQkFYWCIsbmFtZToiQWJheHgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAzMjEwKSksZmxhZzoic2luZ2Fwb3JlIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InNnIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDM3OTUpKV19LHt2YWx1ZToiSUNFU0ciLG5hbWU6IklDRSBGdXR1cmVzIFNpbmdhcG9yZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NDQzMSkpLGZsYWc6InNpbmdhcG9yZSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJzZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjQzNzk1KSldfSx7dmFsdWU6IkZUU0VTVCIsbmFtZToiRlRTRSBTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTIwNjcpKSxmbGFnOiJzaW5nYXBvcmUiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToic2ciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY0Mzc5NSkpXX0se3ZhbHVlOiJTQVBTRSIsbmFtZToiU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMzI5MCkpLGZsYWc6ImphcGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImpwIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyMDAwNjgpKV19LHt2YWx1ZToiRlNFIixuYW1lOiJGU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI3MjMwKSksZmxhZzoiamFwYW4iLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToianAiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwMDA2OCkpXX0se3ZhbHVlOiJUUEVYIixuYW1lOiJUUEV4IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3NDgxOCkpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRBSUZFWCIsbmFtZToiVEFJRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUyMjcwNykpLGZsYWc6InRhaXdhbiIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlRXU0UiLG5hbWU6IlRXU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE2MjUzKSksZmxhZzoidGFpd2FuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLApjb3VudHJ5OiJ0dyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjczMTU3KSldfSx7dmFsdWU6IlNFVCIsbmFtZToiU0VUIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3NjM0NikpLGZsYWc6InRoYWlsYW5kIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InRoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTMwNDQpKV19LHt2YWx1ZToiS1JYIixuYW1lOiJLUlgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxMjg5KSksZmxhZzoic291dGhfa29yZWEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToia3IiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU4Nzc1MikpXX0se3ZhbHVlOiJCQUhSQUlOIixuYW1lOiJCSEIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTQ0NjUpKSxmbGFnOiJiYWhyYWluIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6ImJoIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1Nzg2NjUpKV19LHt2YWx1ZToiS1NFIixuYW1lOiJLU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzY2MDQwKSksZmxhZzoia3V3YWl0Iixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Imt3Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTUxMzApKV19LHt2YWx1ZToiQ1NFQ1kiLG5hbWU6IkNTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NDM4ODMpKSxmbGFnOiJjeXBydXMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImN5Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MzQ3MzcpKV19LHt2YWx1ZToiQlZNVCIsbmFtZToiQlZNVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NzMzNikpLGZsYWc6InR1bmlzaWEiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToidG4iLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY3NzU5KSldfSx7dmFsdWU6IkFUSEVYIixuYW1lOiJBVEhFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NDExNzYpKSxmbGFnOiJncmVlY2UiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImdyIixwcm92aWRlcklkOiIifSx7dmFsdWU6IkJFTEVYIixuYW1lOiJCRUxFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMDQyMDApKSxmbGFnOiJzZXJiaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MTg1MjkpKV19LHt2YWx1ZToiRUdYIixuYW1lOiJFR1giLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTk3MTI1KSksZmxhZzoiZWd5cHQiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiZWciLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzQzNykpXX0se3ZhbHVlOiJUQURBV1VMIixuYW1lOiJUYWRhd3VsIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NzY0NykpLGZsYWc6InNhdWRpX2FyYWJpYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJzYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzYxNTIzKSldfSx7dmFsdWU6IkNTRU1BIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzM5MDk3KSksZmxhZzoibW9yb2NjbyIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJtYSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzIxNDMzKSldfSx7dmFsdWU6IklEWCIsbmFtZToiSURYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc1MTA1OCkpLGZsYWc6ImluZG9uZXNpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJpZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODAyOTc1KSldfSx7dmFsdWU6IkhTSSIsbmFtZToiSFNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5NTU1NSkpLGZsYWc6Imhvbmdfa29uZyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJoayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDYzNzc5KSldfSx7dmFsdWU6IlFTRSIsbmFtZToiUVNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU5NTU1NSkpLGZsYWc6InFhdGFyIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6InFhIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MzM3NTMpKV19LHt2YWx1ZToiT0FOREEiLG5hbWU6Ik9BTkRBIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY5NTE4NCkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6Ik9BTkRBIixwcm92aWRlcklkOiJvYW5kYSJ9LHt2YWx1ZToiT1BPRklOQU5DRSIsbmFtZToiT3BvZmluYW5jZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzIwNzApKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJPUE9GSU5BTkNFIixwcm92aWRlcklkOiJvcG9maW5hbmNlIn0se3ZhbHVlOiJTQVhPIixuYW1lOiJTYXhvIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3MzQ3OSkpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlNBWE8iLHByb3ZpZGVySWQ6InNheG9iYW5rIn0se3ZhbHVlOiJQRVBQRVJTVE9ORSIsbmFtZToiUGVwcGVyc3RvbmUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NDkzKSksZmxhZzoiZm9yZXgiLApncm91cDoiRm9yZXgiLGNvdW50cnk6IiIsc291cmNlSWQ6IlBFUFBFUlNUT05FIixwcm92aWRlcklkOiJwZXBwZXJzdG9uZSJ9LHt2YWx1ZToiUEhJTExJUE5PVkEiLG5hbWU6IlBoaWxsaXAgTm92YSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzIwMzYpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InBoaWxsaXBub3ZhIn0se3ZhbHVlOiJQVVJQTEVUUkFESU5HIixuYW1lOiJQdXJwbGUgVHJhZGluZyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMTU3OTEpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJQVVJQTEVUUkFESU5HIixwcm92aWRlcklkOiJwdXJwbGV0cmFkaW5nIn0se3ZhbHVlOiJTS0lMTElORyIsbmFtZToiU2tpbGxpbmciLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODA2OTczKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiU0tJTExJTkciLHByb3ZpZGVySWQ6InNraWxsaW5nIn0se3ZhbHVlOiJTUFJFQURFWCIsbmFtZToiU3ByZWFkZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjkxMjc5KSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJzcHJlYWRleCJ9LHt2YWx1ZToiU1dJU1NRVU9URSIsbmFtZToiU3dpc3NxdW90ZSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2NjA1MzQpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJTV0lTU1FVT1RFIixwcm92aWRlcklkOiJzd2lzc3F1b3RlIn0se3ZhbHVlOiJHQkVCUk9LRVJTIixuYW1lOiJHQkUgYnJva2VycyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTkxNzIpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHNvdXJjZUlkOiJHQkVCUk9LRVJTIixwcm92aWRlcklkOiJnYmVicm9rZXJzIn0se3ZhbHVlOiJFVVJPTkVYVCIsbmFtZToiRXVyb25leHQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTI0NzY0KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJFVVJPTkVYVEFNUyIsbmFtZToiRVVST05FWFRBTVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDgyMDc5KSksZmxhZzoibmV0aGVybGFuZHMiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Im5sIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MTY4NjIpKV19LHt2YWx1ZToiRVVST05FWFRCUlUiLG5hbWU6IkVVUk9ORVhUQlJVIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMzNzE1NikpLGZsYWc6ImJlbGdpdW0iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImJlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzMyNCkpXX0se3ZhbHVlOiJFVVJPTkVYVERVQiIsbmFtZToiRVVST05FWFREVUIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTg4MzM2KSksZmxhZzoiaXJlbGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDcxMTUyNykpXX0se3ZhbHVlOiJFVVJPTkVYVExJUyIsbmFtZToiRVVST05FWFRMSVMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzk4MzAyKSksZmxhZzoicG9ydHVnYWwiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InB0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzOTg5NCkpXX0se3ZhbHVlOiJFVVJPTkVYVFBBUiIsbmFtZToiRVVST05FWFRQQVIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzIyODMxKSksZmxhZzoiZnJhbmNlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJmciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM2MjM4KSldfSx7dmFsdWU6Ik9TTCIsbmFtZToiRVVST05FWFRPU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTcwMTY4KSksZmxhZzoibm9yd2F5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJubyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODQ1NTIzKSldfSx7dmFsdWU6IkVVUk9UTFgiLG5hbWU6IkVVUk9UTFgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDkyOTg1KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiT01YIixuYW1lOiJPTVgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzMzMzQ5KSksZmxhZzoiZXVyb3BlIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGV0IiLG5hbWU6IkZXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTA2MDEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkVFWCIsbmFtZToiRUVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk4OTI5OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiRlJBIixuYW1lOiJGUkEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjc3MDgwKSksZmxhZzoiZ2VybWFueSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTFMiLG5hbWU6IkxTIiwKZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4ODA0NzEpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IkxTWCIsbmFtZToiTFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg4MDQ3MSkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiU1dCIixuYW1lOiJTV0IiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzA3OTYpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDY2Njk4KSldfSx7dmFsdWU6IlhFVFIiLG5hbWU6IlhFVFIiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTYxODQ3KSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJCTUUiLG5hbWU6IkJNRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MTE0NTYpKSxmbGFnOiJzcGFpbiIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZXMiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc4ODMyMSkpXX0se3ZhbHVlOiJCU1NFIixuYW1lOiJCU1NFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE0NzU2OSkpLGZsYWc6InNsb3Zha2lhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzayIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjYzNDMyKSldfSx7dmFsdWU6IkJWQiIsbmFtZToiQlZCIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc2NTY5MykpLGZsYWc6InJvbWFuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InJvIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5MDU5NDUpKV19LHt2YWx1ZToiQkVUIixuYW1lOiJCRVQiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzQxMzQxKSksZmxhZzoiaHVuZ2FyeSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiaHUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDY2MTM2NikpXX0se3ZhbHVlOiJHUFciLG5hbWU6IkdQVyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5OTQzMjQpKSxmbGFnOiJwb2xhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InBsIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5Njg2MDkpKV19LHt2YWx1ZToiTkVXQ09OTkVDVCIsbmFtZToiR1BXIOKAlCBOZXdDb25uZWN0IixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1NjI2KSksZmxhZzoicG9sYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJwbCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTY4NjA5KSldfSx7dmFsdWU6IlpTRSIsbmFtZToiWlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDUzNzEzNykpLGZsYWc6ImNyb2F0aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImhyIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MDc0KSldfSx7dmFsdWU6IkxVWFNFIixuYW1lOiJMVVhTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MzYyNTMpKSxmbGFnOiJsdXhlbWJvdXJnIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTc1NDQ3KSldfSx7dmFsdWU6IkxKU0UiLG5hbWU6IkxKU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEzOTY0KSksZmxhZzoic2xvdmVuaWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjE4MjEpKV19LHt2YWx1ZToiTUlMIixuYW1lOiJNSUwiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzg1ODI0KSksZmxhZzoiaXRhbHkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Iml0Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4OTgxNjMpKV19LHt2YWx1ZToiTkdNIixuYW1lOiJOR00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjIwNTU3KSksZmxhZzoic3dlZGVuIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJzZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY5OTYzKSldfSx7dmFsdWU6IkRVUyIsbmFtZToiRFVTIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ1MzIzNCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiSEFNIixuYW1lOiJIQU0iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oODg1NTUwKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJIQU4iLG5hbWU6IkhBTiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY0OCkpLGZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTVVOIixuYW1lOiJNVU4iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjU0NDgzKSksCmZsYWc6Imdlcm1hbnkiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImRlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiVFJBREVHQVRFIixuYW1lOiJUUkFERUdBVEUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTM3NTUxKSksZmxhZzoiZ2VybWFueSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2NjY5OCkpXX0se3ZhbHVlOiJHRVRURVgiLG5hbWU6IkdFVFRFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3OTM2MDIpKSxmbGFnOiJnZXJtYW55Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJkZSIscHJvdmlkZXJJZDoiZmluYW56ZW4iLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NjY2OTgpKV19LHt2YWx1ZToiTUlMU0VERVgiLG5hbWU6Ik1JTFNFREVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0OTgyNikpLGZsYWc6Iml0YWx5Iixncm91cDoiRXVyb3BlIixoaWRlSW5TeW1ib2xTZWFyY2g6ITAsY291bnRyeToiaXQiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5ODE2MykpXX0se3ZhbHVlOiJJU1QiLG5hbWU6IklTVCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMzUxMjIpKSxmbGFnOiJ0dXJrZXkiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IkJJU1QiLG5hbWU6IkJJU1QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjg5NjcwKSksZmxhZzoidHVya2V5Iixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJ0ciIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjMxODEwKSldfSx7dmFsdWU6IlRBU0UiLG5hbWU6IlRBU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjMzNTUpKSxmbGFnOiJpc3JhZWwiLGdyb3VwOiJNaWRkbGUgRWFzdCAvIEFmcmljYSIsY291bnRyeToiaWwiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgwMzM1NCkpXX0se3ZhbHVlOiJTSVgiLG5hbWU6IlNJWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0MjMyNykpLGZsYWc6InN3aXR6ZXJsYW5kIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzMzOTcxKSldfSx7dmFsdWU6IkJYIixuYW1lOiJCWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjI0NjEpKSxmbGFnOiJzd2l0emVybGFuZCIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiY2giLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDczMzk3MSkpXX0se3ZhbHVlOiJQU0VDWiIsbmFtZToiUFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzMzQ2NCkpLGZsYWc6ImN6ZWNoIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJjeiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTI5ODA4KSldfSx7dmFsdWU6IkFTWCIsbmFtZToiQVNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDc0MTU3MykpLGZsYWc6ImF1c3RyYWxpYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJhdSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc5MjMzKSldfSx7dmFsdWU6IkNISVhBVSIsbmFtZToiQ2JvZSBBdXN0cmFsaWEiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzI4ODQ3KSksZmxhZzoiYXVzdHJhbGlhIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImF1Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzkyMzMpKV19LHt2YWx1ZToiVklFIixuYW1lOiJXQiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyOTA3MjIpKSxmbGFnOiJhdXN0cmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJhdCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjM4Mjc4KSldfSx7dmFsdWU6IkRTRUJEIixuYW1lOiJEU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMTE1MjI0KSksZmxhZzoiYmFuZ2xhZGVzaCIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJiZCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDUyMDE1KSldfSx7dmFsdWU6Ik5aWCIsbmFtZToiTlpYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEyNzYyKSksZmxhZzoibmV3X3plYWxhbmQiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToibnoiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQyMTYpKV19LHt2YWx1ZToiQ0ZGRVgiLG5hbWU6IkNGRkVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDM3MDY1OCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1NFIixuYW1lOiJTU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzY4OTIpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlNIRkUiLG5hbWU6IlNIRkUiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQ2NjM0KSksZmxhZzoiY2hpbmEiLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiY24iLHByb3ZpZGVySWQ6IiIsCnNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiU1pTRSIsbmFtZToiU1pTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MzQ5NjEpKSxmbGFnOiJjaGluYSIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJjbiIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjAyNTE5KSldfSx7dmFsdWU6IlpDRSIsbmFtZToiWkNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxODg1MCkpLGZsYWc6ImNoaW5hIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6ImNuIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2MDI1MTkpKV19LHt2YWx1ZToiSEtFWCIsbmFtZToiSEtFWCIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg2Njk4MzcpKSxmbGFnOiJob25nX2tvbmciLGdyb3VwOiJBc2lhIC8gUGFjaWZpYyIsY291bnRyeToiaGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDQ2Mzc3OSkpXX0se3ZhbHVlOiJQU0UiLG5hbWU6IlBTRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NjAyMTEpKSxmbGFnOiJwaGlsaXBwaW5lcyIsZ3JvdXA6IkFzaWEgLyBQYWNpZmljIixjb3VudHJ5OiJwaCIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNjEzNjQ3KSldfSx7dmFsdWU6IlBTWCIsbmFtZToiUFNYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk2MTI0NSkpLGZsYWc6InBha2lzdGFuIixncm91cDoiQXNpYSAvIFBhY2lmaWMiLGNvdW50cnk6InBrIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDQ0MzYpKV19LHt2YWx1ZToiTlNFTkciLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NDQxMjEpKSxmbGFnOiJuaWdlcmlhIixncm91cDoiTWlkZGxlIEVhc3QgLyBBZnJpY2EiLGNvdW50cnk6Im5nIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4NDk4NjgpKV19LHt2YWx1ZToiTlNFS0UiLG5hbWU6Ik5TRSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNDUyNDkpKSxmbGFnOiJrZW55YSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJrZSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oODE0OTY2KSldfSx7dmFsdWU6IkpTRSIsbmFtZToiSlNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDgxOTI4OSkpLGZsYWc6InNvdXRoX2FmcmljYSIsZ3JvdXA6Ik1pZGRsZSBFYXN0IC8gQWZyaWNhIixjb3VudHJ5OiJ6YSIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzEwMDgyKSldfSx7dmFsdWU6IkpGWCIsbmFtZToiSkZYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDkzMTIzMikpLGZsYWc6ImZvcmV4Iixncm91cDoiRm9yZXgiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiamZ4In0se3ZhbHVlOiJNQVRTVUkiLG5hbWU6Ik1BVFNVSSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3NjAwNjkpKSxmbGFnOiJmb3JleCIsZ3JvdXA6IkZvcmV4Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6Im1hdHN1aSJ9LHt2YWx1ZToiQ09JTkJBU0UiLG5hbWU6IkNvaW5iYXNlIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE5NTg4NikpLGZsYWc6ImJpdGNvaW4iLGdyb3VwOiJDcnlwdG9jdXJyZW5jeSIsY291bnRyeToiIixzb3VyY2VJZDoiQ09JTkJBU0UiLHByb3ZpZGVySWQ6ImNvaW5iYXNlIn0se3ZhbHVlOiJDSVRZSU5ERVgiLG5hbWU6IkNpdHkgSW5kZXgiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjUyOTUxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixzb3VyY2VJZDoiQ0lUWUlOREVYIixwcm92aWRlcklkOiJjaXR5aW5kZXgifSx7dmFsdWU6IlVTSSIsbmFtZToiVVNJIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDEzOTE0MSkpLGZsYWc6InVzYSIsaGlkZUluU3ltYm9sU2VhcmNoOiEwLGdyb3VwOiJOb3J0aCBBbWVyaWNhIixjb3VudHJ5OiJ1cyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6Ik9NWEhFWCIsbmFtZToiSEVYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI5ODE4MCkpLGZsYWc6ImZpbmxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImZpIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg5NzY0NTQpKV19LHt2YWx1ZToiT01YSUNFIixuYW1lOiJJQ0VYIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE4OTU5MCkpLGZsYWc6ImljZWxhbmQiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6ImlzIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg0NDAxODgpKV19LHt2YWx1ZToiT01YQ09QIixuYW1lOiJDU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTQyMzE3KSksZmxhZzoiZGVubWFyayIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZGsiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg1MjUwMSkpXX0se3ZhbHVlOiJPTVhTVE8iLG5hbWU6IlNUTyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxMjU1NjgpKSxmbGFnOiJzd2VkZW4iLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6InNlIixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzNjk5NjMpKV19LHt2YWx1ZToiT01YVlNFIixuYW1lOiJWU0UiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTk3NTAwKSksZmxhZzoibGl0aHVhbmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJsdCIsCnByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg5MjEwMCkpXX0se3ZhbHVlOiJPTVhUU0UiLG5hbWU6IlRBTFNFIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDE3Nzk3KSksZmxhZzoiZXN0b25pYSIsZ3JvdXA6IkV1cm9wZSIsY291bnRyeToiZWUiLHByb3ZpZGVySWQ6IiIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDk0MTIwKSldfSx7dmFsdWU6Ik9NWFJTRSIsbmFtZToiT01YUiIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbygxODE4MTUpKSxmbGFnOiJsYXR2aWEiLGdyb3VwOiJFdXJvcGUiLGNvdW50cnk6Imx2Iixwcm92aWRlcklkOiIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyODI3NzMpKV19LHt2YWx1ZToiT01YTk9SRElDIixuYW1lOiJPTVhOT1JESUMiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNTExMjcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJPTVhCQUxUSUMiLG5hbWU6Ik9NWEJBTFRJQyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg3MjAyODcpKSxmbGFnOiJldXJvcGUiLGhpZGVJblN5bWJvbFNlYXJjaDohMCxncm91cDoiRXVyb3BlIixjb3VudHJ5OiJldSIscHJvdmlkZXJJZDoiIn0se3ZhbHVlOiJGUkVEIixuYW1lOiJGUkVEIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDU3MTAwNikpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoiZnJlZDIiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiSVNNIixuYW1lOiJJU00iLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oOTEzNjUxKSksZmxhZzoidXNhIixncm91cDoiRWNvbm9teSIsY291bnRyeToiIixwcm92aWRlcklkOiJxdWFuZGxfaXNtIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMzAxMTE3KSksby5pMThuZXh0KG51bGwsdm9pZCAwLG8oMjc4Nzg4KSldfSx7dmFsdWU6IkZSQk5ZIixuYW1lOiJGUkJOWSIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg4MDI4NTUpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6InF1YW5kbF9mcmJueSIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJGUkJQIixuYW1lOiJGUkJQIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDIwNTExNykpLGZsYWc6InVzYSIsZ3JvdXA6IkVjb25vbXkiLGNvdW50cnk6IiIscHJvdmlkZXJJZDoicXVhbmRsX2ZyYnAiLHNlYXJjaFRlcm1zOltvLmkxOG5leHQobnVsbCx2b2lkIDAsbygzMDExMTcpKSxvLmkxOG5leHQobnVsbCx2b2lkIDAsbygyNzg3ODgpKV19LHt2YWx1ZToiRUNPTk9NSUNTIixuYW1lOiJUcmFkaW5nIEVjb25vbWljcyIsZGVzYzpvLmkxOG5leHQobnVsbCx2b2lkIDAsbyg1NTQzNDIpKSxmbGFnOiJ1c2EiLGdyb3VwOiJFY29ub215Iixjb3VudHJ5OiIiLHByb3ZpZGVySWQ6ImVjb25vbWljcyIsc2VhcmNoVGVybXM6W28uaTE4bmV4dChudWxsLHZvaWQgMCxvKDMwMTExNykpLG8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDI3ODc4OCkpXX0se3ZhbHVlOiJXSFNFTEZJTlZFU1QiLG5hbWU6IldIIFNlbGZJbnZlc3QiLGRlc2M6by5pMThuZXh0KG51bGwsdm9pZCAwLG8oNDIwOTAxKSksZmxhZzoiZm9yZXgiLGdyb3VwOiJGb3JleCIsY291bnRyeToiIixwcm92aWRlcklkOiJ3aHNlbGZpbnZlc3QifSx7dmFsdWU6IkJTRVNPRiIsbmFtZToiQlNFU09GIixkZXNjOm8uaTE4bmV4dChudWxsLHZvaWQgMCxvKDg0NzQyNCkpLGZsYWc6ImJ1bGdhcmlhIixncm91cDoiRXVyb3BlIixjb3VudHJ5OiJiZyIscHJvdmlkZXJJZDoiIixzZWFyY2hUZXJtczpbby5pMThuZXh0KG51bGwsdm9pZCAwLG8oNzE0MDMxKSldfV19fV0pOw=="}},"time_used":23,"timings":{"blocked":10,"dns":0,"connect":0,"send":0,"wait":13,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.887Z","timestamp":1785139583887,"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-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 08:06:23 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: f64dcad2c844caa27d0f7a3f991e9a08\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-28T06:17:53.61859Z","times_seen":190,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.896Z","timestamp":1785139583896,"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-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 08:06:23 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: cc0ff4d3303cba872744516a49604366\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-28T06:17:53.599251Z","times_seen":119,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.305Z","timestamp":1785139584305,"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-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 08:06:24 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: 15f13d241395fe660ca4ebefea7a06bb\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-08-12T17:58:50.144124Z","times_seen":769,"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":"nanoquantumstellarsledger.com/frontcss/assets/jquery-circle-progress.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.023Z","timestamp":1785139582023,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/jquery-circle-progress.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4195\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":14094,"size_decoded":4432,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"7eb9be7f9909832c170238b41f8bea56","sha1":"c82bcc1ba9b2e4d2057cc35aaf926bda761a090c","sha256":"5a8a88fa1e89b552ae1b59136c13ece28d119962198d82e0ca7b54fdce3da450","sha512":"bc06b79435a52f3a7bd5ff68b1ad40c0ba9fb9cd19443c7f0985174339e5b94cc3dd791a628e6ae9adf1401abfcffd547cb2da485f21cd6fb38662a59497e248","ssdeep":"384:RGuAt+SOl7NTRrqoScndHycoilnna8Q848WwE9yB:Kt+Skt9qaRNRa8Q8BWwE9yB","tlshash":"1852e6d1efad9613b413c839705d13c9dbbd0269e9252cadbc6ce5583398936032ddb4","first_seen":"2025-11-23T04:10:47.949241Z","last_seen":"2026-07-27T09:11:27.370585Z","times_seen":7,"resource_available":true,"data":"LyoqCiAqIGpxdWVyeS1jaXJjbGUtcHJvZ3Jlc3MgLSBqUXVlcnkgUGx1Z2luIHRvIGRyYXcgYW5pbWF0ZWQgY2lyY3VsYXIgcHJvZ3Jlc3MgYmFyczoKICoge0BsaW5rIGh0dHA6Ly9rb3R0ZW5hdG9yLmdpdGh1Yi5pby9qcXVlcnktY2lyY2xlLXByb2dyZXNzL30KICoKICogQGF1dGhvciBSb3N0eXNsYXYgQnJ5emd1bm92IDxrb3R0ZW5hdG9yQGdtYWlsLmNvbT4KICogQHZlcnNpb24gMS4yLjIKICogQGxpY2VuY2UgTUlUCiAqIEBwcmVzZXJ2ZQogKi8KLy8gVU1EIGZhY3RvcnkgLSBodHRwczovL2dpdGh1Yi5jb20vdW1kanMvdW1kL2Jsb2IvZDMxYmI2ZWU3MDk4NzE1ZTAxOWY1MmJkZmUyN2IzZTRiZmQyYjk3ZS90ZW1wbGF0ZXMvanF1ZXJ5UGx1Z2luLmpzCi8vIFVzZXMgQU1ELCBDb21tb25KUyBvciBicm93c2VyIGdsb2JhbHMgdG8gY3JlYXRlIGEgalF1ZXJ5IHBsdWdpbi4KKGZ1bmN0aW9uKGZhY3RvcnkpIHsKCWlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKCQkvLyBBTUQgLSByZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlCgkJZGVmaW5lKFsnanF1ZXJ5J10sIGZhY3RvcnkpOwoJfSBlbHNlIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cykgewoJCS8vIE5vZGUvQ29tbW9uSlMKCQl2YXIgJCA9IHJlcXVpcmUoJ2pxdWVyeScpOwoJCWZhY3RvcnkoJCk7CgkJbW9kdWxlLmV4cG9ydHMgPSAkOwoJfSBlbHNlIHsKCQkvLyBCcm93c2VyIGdsb2JhbHMKCQlmYWN0b3J5KGpRdWVyeSk7Cgl9Cn0pKGZ1bmN0aW9uKCQpIHsKCS8qKgoJICogSW5uZXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNpcmNsZSBwcm9ncmVzcyBiYXIuCgkgKiBUaGUgY2xhc3MgaXMgbm90IGV4cG9zZWQgX3lldF8gYnV0IHlvdSBjYW4gY3JlYXRlIGFuIGluc3RhbmNlIHRocm91Z2ggalF1ZXJ5IG1ldGhvZCBjYWxsLgoJICoKCSAqIEBwYXJhbSB7b2JqZWN0fSBjb25maWcgLSBZb3UgY2FuIGN1c3RvbWl6ZSBhbnkgY2xhc3MgbWVtYmVyIChwcm9wZXJ0eSBvciBtZXRob2QpLgoJICogQGNsYXNzCgkgKiBAYWxpYXMgQ2lyY2xlUHJvZ3Jlc3MKCSAqLwoJZnVuY3Rpb24gQ2lyY2xlUHJvZ3Jlc3MoY29uZmlnKSB7CgkJdGhpcy5pbml0KGNvbmZpZyk7Cgl9CgoJQ2lyY2xlUHJvZ3Jlc3MucHJvdG90eXBlID0gewoJCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHB1YmxpYyBvcHRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCS8qKgoJCSAqIFRoaXMgaXMgdGhlIG9ubHkgcmVxdWlyZWQgb3B0aW9uLiBJdCBzaG91bGQgYmUgZnJvbSBgMC4wYCB0byBgMS4wYC4KCQkgKiBAdHlwZSB7bnVtYmVyfQoJCSAqIEBkZWZhdWx0IDAuMAoJCSAqLwoJCXZhbHVlOiAwLjAsCgoJCS8qKgoJCSAqIFNpemUgb2YgdGhlIGNhbnZhcyBpbiBwaXhlbHMuCgkJICogSXQncyBhIHNxdWFyZSBzbyB3ZSBuZWVkIG9ubHkgb25lIGRpbWVuc2lvbi4KCQkgKiBAdHlwZSB7bnVtYmVyfQoJCSAqIEBkZWZhdWx0IDEwMC4wCgkJICovCgkJc2l6ZTogMTAwLjAsCgoJCS8qKgoJCSAqIEluaXRpYWwgYW5nbGUgZm9yIGAwLjBgIHZhbHVlIGluIHJhZGlhbnMuCgkJICogQHR5cGUge251bWJlcn0KCQkgKiBAZGVmYXVsdCAtTWF0aC5QSQoJCSAqLwoJCXN0YXJ0QW5nbGU6IC1NYXRoLlBJLAoKCQkvKioKCQkgKiBXaWR0aCBvZiB0aGUgYXJjIGluIHBpeGVscy4KCQkgKiBJZiBpdCdzIGAnYXV0bydgIC0gdGhlIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgYFt0aGlzLnNpemVde0BsaW5rIENpcmNsZVByb2dyZXNzI3NpemV9IC8gMTRgLgoJCSAqIEB0eXBlIHtudW1iZXJ8c3RyaW5nfQoJCSAqIEBkZWZhdWx0ICdhdXRvJwoJCSAqLwoJCXRoaWNrbmVzczogJ2F1dG8nLAoKCQkvKioKCQkgKiBGaWxsIG9mIHRoZSBhcmMuIFlvdSBtYXkgc2V0IGl0IHRvOgoJCSAqCgkJICogICAtIHNvbGlkIGNvbG9yOgoJCSAqICAgICAtIGAnIzNhZWFiYidgCgkJICogICAgIC0gYHsgY29sb3I6ICcjM2FlYWJiJyB9YAoJCSAqICAgICAtIGB7IGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAuMyknIH1gCgkJICogICAtIGxpbmVhciBncmFkaWVudCBfKGxlZnQgdG8gcmlnaHQpXzoKCQkgKiAgICAgLSBgeyBncmFkaWVudDogWycjM2FlYWJiJywgJyNmZGQyNTAnXSwgZ3JhZGllbnRBbmdsZTogTWF0aC5QSSAvIDQgfWAKCQkgKiAgICAgLSBgeyBncmFkaWVudDogWydyZWQnLCAnZ3JlZW4nLCAnYmx1ZSddLCBncmFkaWVudERpcmVjdGlvbjogW3gwLCB5MCwgeDEsIHkxXSB9YAoJCSAqICAgICAtIGB7IGdyYWRpZW50OiBbWyJyZWQiLCAuMl0sIFsiZ3JlZW4iLCAuM10sIFsiYmx1ZSIsIC44XV0gfWAKCQkgKiAgIC0gaW1hZ2U6CgkJICogICAgIC0gYHsgaW1hZ2U6ICdodHRwOi8vaS5pbWd1ci5jb20vcFQwaTg5di5wbmcnIH1gCgkJICogICAgIC0gYHsgaW1hZ2U6IGltYWdlT2JqZWN0IH1gCgkJICogICAgIC0gYHsgY29sb3I6ICdsaW1lJywgaW1hZ2U6ICdodHRwOi8vaS5pbWd1ci5jb20vcFQwaTg5di5wbmcnIH1gIC0KCQkgKiAgICAgICBjb2xvciBkaXNwbGF5ZWQgdW50aWwgdGhlIGltYWdlIGlzIGxvYWRlZAoJCSAqCgkJICogQGRlZmF1bHQge2dyYWRpZW50OiBbJyMzYWVhYmInLCAnI2ZkZDI1MCddfQoJCSAqLwoJCWZpbGw6IHsKCQkJZ3JhZGllbnQ6IFsnIzNhZWFiYicsICcjZmRkMjUwJ10KCQl9LAoKCQkvKioKCQkgKiBDb2xvciBvZiB0aGUgImVtcHR5IiBhcmMuIE9ubHkgYSBjb2xvciBmaWxsIHN1cHBvcnRlZCBieSBub3cuCgkJICogQHR5cGUge3N0cmluZ30KCQkgKiBAZGVmYXVsdCAncmdiYSgwLCAwLCAwLCAuMSknCgkJICovCgkJZW1wdHlGaWxsOiAncmdiYSgwLCAwLCAwLCAuMSknLAoKCQkvKioKCQkgKiBqUXVlcnkgQW5pbWF0aW9uIGNvbmZpZy4KCQkgKiBZb3UgY2FuIHBhc3MgYGZhbHNlYCB0byBkaXNhYmxlIHRoZSBhbmltYXRpb24uCgkJICogQHNlZSBodHRwOi8vYXBpLmpxdWVyeS5jb20vYW5pbWF0ZS8KCQkgKiBAdHlwZSB7b2JqZWN0fGJvb2xlYW59CgkJICogQGRlZmF1bHQge2R1cmF0aW9uOiAxMjAwLCBlYXNpbmc6ICdjaXJjbGVQcm9ncmVzc0Vhc2luZyd9CgkJICovCgkJYW5pbWF0aW9uOiB7CgkJCWR1cmF0aW9uOiAxMjAwLAoJCQllYXNpbmc6ICdjaXJjbGVQcm9ncmVzc0Vhc2luZycKCQl9LAoKCQkvKioKCQkgKiBEZWZhdWx0IGFuaW1hdGlvbiBzdGFydHMgYXQgYDAuMGAgYW5kIGVuZHMgYXQgc3BlY2lmaWVkIGB2YWx1ZWAuIExldCdzIGNhbGwgdGhpcyBfZGlyZWN0IGFuaW1hdGlvbl8uCgkJICogSWYgeW91IHdhbnQgdG8gbWFrZSBfcmV2ZXJzZWQgYW5pbWF0aW9uXyAtIHNldCBgYW5pbWF0aW9uU3RhcnRWYWx1ZTogMS4wYC4KCQkgKiBBbHNvIHlvdSBtYXkgc3BlY2lmeSBhbnkgb3RoZXIgdmFsdWUgZnJvbSBgMC4wYCB0byBgMS4wYC4KCQkgKiBAdHlwZSB7bnVtYmVyfQoJCSAqIEBkZWZhdWx0IDAuMAoJCSAqLwoJCWFuaW1hdGlvblN0YXJ0VmFsdWU6IDAuMCwKCgkJLyoqCgkJICogUmV2ZXJzZSBhbmltYXRpb24gYW5kIGFyYyBkcmF3LgoJCSAqIEJ5IGRlZmF1bHQsIHRoZSBhcmMgaXMgZmlsbGVkIGZyb20gYDAuMGAgdG8gYHZhbHVlYCwgX2Nsb2Nrd2lzZV8uCgkJICogV2l0aCBgcmV2ZXJzZTogdHJ1ZWAgdGhlIGFyYyBpcyBmaWxsZWQgZnJvbSBgMS4wYCB0byBgdmFsdWVgLCBfY291bnRlci1jbG9ja3dpc2VfLgoJCSAqIEB0eXBlIHtib29sZWFufQoJCSAqIEBkZWZhdWx0IGZhbHNlCgkJICovCgkJcmV2ZXJzZTogZmFsc2UsCgoJCS8qKgoJCSAqIEFyYyBsaW5lIGNhcDogYCdidXR0J2AsIGAncm91bmQnYCBvciBgJ3NxdWFyZSdgIC0KCQkgKiBbcmVhZCBtb3JlXXtAbGluayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmxpbmVDYXB9LgoJCSAqIEB0eXBlIHtzdHJpbmd9CgkJICogQGRlZmF1bHQgJ2J1dHQnCgkJICovCgkJbGluZUNhcDogJ2J1dHQnLAoKCQkvKioKCQkgKiBDYW52YXMgaW5zZXJ0aW9uIG1vZGU6IGFwcGVuZCBvciBwcmVwZW5kIGl0IGludG8gdGhlIHBhcmVudCBlbGVtZW50PwoJCSAqIEB0eXBlIHtzdHJpbmd9CgkJICogQGRlZmF1bHQgJ3ByZXBlbmQnCgkJICovCgkJaW5zZXJ0TW9kZTogJ3ByZXBlbmQnLAoKCQkvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBwcm90ZWN0ZWQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkvKioKCQkgKiBMaW5rIHRvIHtAbGluayBDaXJjbGVQcm9ncmVzc30gY29uc3RydWN0b3IuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCWNvbnN0cnVjdG9yOiBDaXJjbGVQcm9ncmVzcywKCgkJLyoqCgkJICogQ29udGFpbmVyIGVsZW1lbnQuIFNob3VsZCBiZSBwYXNzZWQgaW50byBjb25zdHJ1Y3RvciBjb25maWcuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtqUXVlcnl9CgkJICovCgkJZWw6IG51bGwsCgoJCS8qKgoJCSAqIENhbnZhcyBlbGVtZW50LiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgcHJlcGVuZGVkIHRvIFt0aGlzLmVsXXtAbGluayBDaXJjbGVQcm9ncmVzcyNlbH0uCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtIVE1MQ2FudmFzRWxlbWVudH0KCQkgKi8KCQljYW52YXM6IG51bGwsCgoJCS8qKgoJCSAqIDJELWNvbnRleHQgb2YgW3RoaXMuY2FudmFzXXtAbGluayBDaXJjbGVQcm9ncmVzcyNjYW52YXN9LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEfQoJCSAqLwoJCWN0eDogbnVsbCwKCgkJLyoqCgkJICogUmFkaXVzIG9mIHRoZSBvdXRlciBjaXJjbGUuIEF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBhcyBgW3RoaXMuc2l6ZV17QGxpbmsgQ2lyY2xlUHJvZ3Jlc3Mjc2l6ZX0gLyAyYC4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge251bWJlcn0KCQkgKi8KCQlyYWRpdXM6IDAuMCwKCgkJLyoqCgkJICogRmlsbCBvZiB0aGUgbWFpbiBhcmMuIEF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCwgZGVwZW5kaW5nIG9uIFt0aGlzLmZpbGxde0BsaW5rIENpcmNsZVByb2dyZXNzI2ZpbGx9IG9wdGlvbi4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge3N0cmluZ3xDYW52YXNHcmFkaWVudHxDYW52YXNQYXR0ZXJufQoJCSAqLwoJCWFyY0ZpbGw6IG51bGwsCgoJCS8qKgoJCSAqIExhc3QgcmVuZGVyZWQgZnJhbWUgdmFsdWUuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtudW1iZXJ9CgkJICovCgkJbGFzdEZyYW1lVmFsdWU6IDAuMCwKCgkJLyoqCgkJICogSW5pdC9yZS1pbml0IHRoZSB3aWRnZXQuCgkJICoKCQkgKiBUaHJvd3MgYSBqUXVlcnkgZXZlbnQ6CgkJICoKCQkgKiAtIGBjaXJjbGUtaW5pdGVkKGpxRXZlbnQpYAoJCSAqCgkJICogQHBhcmFtIHtvYmplY3R9IGNvbmZpZyAtIFlvdSBjYW4gY3VzdG9taXplIGFueSBjbGFzcyBtZW1iZXIgKHByb3BlcnR5IG9yIG1ldGhvZCkuCgkJICovCgkJaW5pdDogZnVuY3Rpb24oY29uZmlnKSB7CgkJCSQuZXh0ZW5kKHRoaXMsIGNvbmZpZyk7CgkJCXRoaXMucmFkaXVzID0gdGhpcy5zaXplIC8gMjsKCQkJdGhpcy5pbml0V2lkZ2V0KCk7CgkJCXRoaXMuaW5pdEZpbGwoKTsKCQkJdGhpcy5kcmF3KCk7CgkJCXRoaXMuZWwudHJpZ2dlcignY2lyY2xlLWluaXRlZCcpOwoJCX0sCgoJCS8qKgoJCSAqIEluaXRpYWxpemUgYDxjYW52YXM+YC4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJaW5pdFdpZGdldDogZnVuY3Rpb24oKSB7CgkJCWlmICghdGhpcy5jYW52YXMpCgkJCQl0aGlzLmNhbnZhcyA9ICQoJzxjYW52YXM+JylbdGhpcy5pbnNlcnRNb2RlID09ICdwcmVwZW5kJyA/ICdwcmVwZW5kVG8nIDogJ2FwcGVuZFRvJ10odGhpcy5lbClbMF07CgoJCQl2YXIgY2FudmFzID0gdGhpcy5jYW52YXM7CgkJCWNhbnZhcy53aWR0aCA9IHRoaXMuc2l6ZTsKCQkJY2FudmFzLmhlaWdodCA9IHRoaXMuc2l6ZTsKCQkJdGhpcy5jdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKCgkJCWlmICh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+IDEpIHsKCQkJCXZhciBzY2FsZUJ5ID0gd2luZG93LmRldmljZVBpeGVsUmF0aW87CgkJCQljYW52YXMuc3R5bGUud2lkdGggPSBjYW52YXMuc3R5bGUuaGVpZ2h0ID0gdGhpcy5zaXplICsgJ3B4JzsKCQkJCWNhbnZhcy53aWR0aCA9IGNhbnZhcy5oZWlnaHQgPSB0aGlzLnNpemUgKiBzY2FsZUJ5OwoJCQkJdGhpcy5jdHguc2NhbGUoc2NhbGVCeSwgc2NhbGVCeSk7CgkJCX0KCQl9LAoKCQkvKioKCQkgKiBUaGlzIG1ldGhvZCBzZXRzIFt0aGlzLmFyY0ZpbGxde0BsaW5rIENpcmNsZVByb2dyZXNzI2FyY0ZpbGx9LgoJCSAqIEl0IGNvdWxkIGRvIHRoaXMgYXN5bmMgKG9uIGltYWdlIGxvYWQpLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQlpbml0RmlsbDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWZpbGwgPSB0aGlzLmZpbGwsCgkJCQljdHggPSB0aGlzLmN0eCwKCQkJCXNpemUgPSB0aGlzLnNpemU7CgoJCQlpZiAoIWZpbGwpCgkJCQl0aHJvdyBFcnJvcigiVGhlIGZpbGwgaXMgbm90IHNwZWNpZmllZCEiKTsKCgkJCWlmICh0eXBlb2YgZmlsbCA9PSAnc3RyaW5nJykKCQkJCWZpbGwgPSB7Y29sb3I6IGZpbGx9OwoKCQkJaWYgKGZpbGwuY29sb3IpCgkJCQl0aGlzLmFyY0ZpbGwgPSBmaWxsLmNvbG9yOwoKCQkJaWYgKGZpbGwuZ3JhZGllbnQpIHsKCQkJCXZhciBnciA9IGZpbGwuZ3JhZGllbnQ7CgoJCQkJaWYgKGdyLmxlbmd0aCA9PSAxKSB7CgkJCQkJdGhpcy5hcmNGaWxsID0gZ3JbMF07CgkJCQl9IGVsc2UgaWYgKGdyLmxlbmd0aCA+IDEpIHsKCQkJCQl2YXIgZ2EgPSBmaWxsLmdyYWRpZW50QW5nbGUgfHwgMCwgLy8gZ3JhZGllbnQgZGlyZWN0aW9uIGFuZ2xlOyAwIGJ5IGRlZmF1bHQKCQkJCQkJZ2QgPSBmaWxsLmdyYWRpZW50RGlyZWN0aW9uIHx8IFsKCQkJCQkJCXNpemUgLyAyICogKDEgLSBNYXRoLmNvcyhnYSkpLCAvLyB4MAoJCQkJCQkJc2l6ZSAvIDIgKiAoMSArIE1hdGguc2luKGdhKSksIC8vIHkwCgkJCQkJCQlzaXplIC8gMiAqICgxICsgTWF0aC5jb3MoZ2EpKSwgLy8geDEKCQkJCQkJCXNpemUgLyAyICogKDEgLSBNYXRoLnNpbihnYSkpICAvLyB5MQoJCQkJCQldOwoKCQkJCQl2YXIgbGcgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQuYXBwbHkoY3R4LCBnZCk7CgoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgZ3IubGVuZ3RoOyBpKyspIHsKCQkJCQkJdmFyIGNvbG9yID0gZ3JbaV0sCgkJCQkJCQlwb3MgPSBpIC8gKGdyLmxlbmd0aCAtIDEpOwoKCQkJCQkJaWYgKCQuaXNBcnJheShjb2xvcikpIHsKCQkJCQkJCXBvcyA9IGNvbG9yWzFdOwoJCQkJCQkJY29sb3IgPSBjb2xvclswXTsKCQkJCQkJfQoKCQkJCQkJbGcuYWRkQ29sb3JTdG9wKHBvcywgY29sb3IpOwoJCQkJCX0KCgkJCQkJdGhpcy5hcmNGaWxsID0gbGc7CgkJCQl9CgkJCX0KCgkJCWlmIChmaWxsLmltYWdlKSB7CgkJCQl2YXIgaW1nOwoKCQkJCWlmIChmaWxsLmltYWdlIGluc3RhbmNlb2YgSW1hZ2UpIHsKCQkJCQlpbWcgPSBmaWxsLmltYWdlOwoJCQkJfSBlbHNlIHsKCQkJCQlpbWcgPSBuZXcgSW1hZ2UoKTsKCQkJCQlpbWcuc3JjID0gZmlsbC5pbWFnZTsKCQkJCX0KCgkJCQlpZiAoaW1nLmNvbXBsZXRlKQoJCQkJCXNldEltYWdlRmlsbCgpOwoJCQkJZWxzZQoJCQkJCWltZy5vbmxvYWQgPSBzZXRJbWFnZUZpbGw7CgkJCX0KCgkJCWZ1bmN0aW9uIHNldEltYWdlRmlsbCgpIHsKCQkJCXZhciBiZyA9ICQoJzxjYW52YXM+JylbMF07CgkJCQliZy53aWR0aCA9IHNlbGYuc2l6ZTsKCQkJCWJnLmhlaWdodCA9IHNlbGYuc2l6ZTsKCQkJCWJnLmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdlKGltZywgMCwgMCwgc2l6ZSwgc2l6ZSk7CgkJCQlzZWxmLmFyY0ZpbGwgPSBzZWxmLmN0eC5jcmVhdGVQYXR0ZXJuKGJnLCAnbm8tcmVwZWF0Jyk7CgkJCQlzZWxmLmRyYXdGcmFtZShzZWxmLmxhc3RGcmFtZVZhbHVlKTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIERyYXcgdGhlIGNpcmNsZS4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJZHJhdzogZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLmFuaW1hdGlvbikKCQkJCXRoaXMuZHJhd0FuaW1hdGVkKHRoaXMudmFsdWUpOwoJCQllbHNlCgkJCQl0aGlzLmRyYXdGcmFtZSh0aGlzLnZhbHVlKTsKCQl9LAoKCQkvKioKCQkgKiBEcmF3IGEgc2luZ2xlIGFuaW1hdGlvbiBmcmFtZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHBhcmFtIHtudW1iZXJ9IHYgLSBGcmFtZSB2YWx1ZS4KCQkgKi8KCQlkcmF3RnJhbWU6IGZ1bmN0aW9uKHYpIHsKCQkJdGhpcy5sYXN0RnJhbWVWYWx1ZSA9IHY7CgkJCXRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLnNpemUsIHRoaXMuc2l6ZSk7CgkJCXRoaXMuZHJhd0VtcHR5QXJjKHYpOwoJCQl0aGlzLmRyYXdBcmModik7CgkJfSwKCgkJLyoqCgkJICogRHJhdyB0aGUgYXJjIChwYXJ0IG9mIHRoZSBjaXJjbGUpLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAcGFyYW0ge251bWJlcn0gdiAtIEZyYW1lIHZhbHVlLgoJCSAqLwoJCWRyYXdBcmM6IGZ1bmN0aW9uKHYpIHsKCQkJaWYgKHYgPT09IDApCgkJCQlyZXR1cm47CgoJCQl2YXIgY3R4ID0gdGhpcy5jdHgsCgkJCQlyID0gdGhpcy5yYWRpdXMsCgkJCQl0ID0gdGhpcy5nZXRUaGlja25lc3MoKSwKCQkJCWEgPSB0aGlzLnN0YXJ0QW5nbGU7CgoJCQljdHguc2F2ZSgpOwoJCQljdHguYmVnaW5QYXRoKCk7CgoJCQlpZiAoIXRoaXMucmV2ZXJzZSkgewoJCQkJY3R4LmFyYyhyLCByLCByIC0gdCAvIDIsIGEsIGEgKyBNYXRoLlBJICogMiAqIHYpOwoJCQl9IGVsc2UgewoJCQkJY3R4LmFyYyhyLCByLCByIC0gdCAvIDIsIGEgLSBNYXRoLlBJICogMiAqIHYsIGEpOwoJCQl9CgoJCQljdHgubGluZVdpZHRoID0gdDsKCQkJY3R4LmxpbmVDYXAgPSB0aGlzLmxpbmVDYXA7CgkJCWN0eC5zdHJva2VTdHlsZSA9IHRoaXMuYXJjRmlsbDsKCQkJY3R4LnN0cm9rZSgpOwoJCQljdHgucmVzdG9yZSgpOwoJCX0sCgoJCS8qKgoJCSAqIERyYXcgdGhlIF9lbXB0eSAoYmFja2dyb3VuZClfIGFyYyAocGFydCBvZiB0aGUgY2lyY2xlKS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHBhcmFtIHtudW1iZXJ9IHYgLSBGcmFtZSB2YWx1ZS4KCQkgKi8KCQlkcmF3RW1wdHlBcmM6IGZ1bmN0aW9uKHYpIHsKCQkJdmFyIGN0eCA9IHRoaXMuY3R4LAoJCQkJciA9IHRoaXMucmFkaXVzLAoJCQkJdCA9IHRoaXMuZ2V0VGhpY2tuZXNzKCksCgkJCQlhID0gdGhpcy5zdGFydEFuZ2xlOwoKCQkJaWYgKHYgPCAxKSB7CgkJCQljdHguc2F2ZSgpOwoJCQkJY3R4LmJlZ2luUGF0aCgpOwoKCQkJCWlmICh2IDw9IDApIHsKCQkJCQljdHguYXJjKHIsIHIsIHIgLSB0IC8gMiwgMCwgTWF0aC5QSSAqIDIpOwoJCQkJfSBlbHNlIHsKCQkJCQlpZiAoIXRoaXMucmV2ZXJzZSkgewoJCQkJCQljdHguYXJjKHIsIHIsIHIgLSB0IC8gMiwgYSArIE1hdGguUEkgKiAyICogdiwgYSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJY3R4LmFyYyhyLCByLCByIC0gdCAvIDIsIGEsIGEgLSBNYXRoLlBJICogMiAqIHYpOwoJCQkJCX0KCQkJCX0KCgkJCQljdHgubGluZVdpZHRoID0gdDsKCQkJCWN0eC5zdHJva2VTdHlsZSA9IHRoaXMuZW1wdHlGaWxsOwoJCQkJY3R4LnN0cm9rZSgpOwoJCQkJY3R4LnJlc3RvcmUoKTsKCQkJfQoJCX0sCgoJCS8qKgoJCSAqIEFuaW1hdGUgdGhlIHByb2dyZXNzIGJhci4KCQkgKgoJCSAqIFRocm93cyAzIGpRdWVyeSBldmVudHM6CgkJICoKCQkgKiAtIGBjaXJjbGUtYW5pbWF0aW9uLXN0YXJ0KGpxRXZlbnQpYAoJCSAqIC0gYGNpcmNsZS1hbmltYXRpb24tcHJvZ3Jlc3MoanFFdmVudCwgYW5pbWF0aW9uUHJvZ3Jlc3MsIHN0ZXBWYWx1ZSlgIC0gbXVsdGlwbGUgZXZlbnQKCQkgKiAgIGFuaW1hdGlvblByb2dyZXNzOiBmcm9tIGAwLjBgIHRvIGAxLjBgOyBzdGVwVmFsdWU6IGZyb20gYDAuMGAgdG8gYHZhbHVlYAoJCSAqIC0gYGNpcmNsZS1hbmltYXRpb24tZW5kKGpxRXZlbnQpYAoJCSAqCgkJICogQHByb3RlY3RlZAoJCSAqIEBwYXJhbSB7bnVtYmVyfSB2IC0gRmluYWwgdmFsdWUuCgkJICovCgkJZHJhd0FuaW1hdGVkOiBmdW5jdGlvbih2KSB7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWVsID0gdGhpcy5lbCwKCQkJCWNhbnZhcyA9ICQodGhpcy5jYW52YXMpOwoKCQkJLy8gc3RvcCBwcmV2aW91cyBhbmltYXRpb24gYmVmb3JlIG5ldyAic3RhcnQiIGV2ZW50IGlzIHRyaWdnZXJlZAoJCQljYW52YXMuc3RvcCh0cnVlLCBmYWxzZSk7CgkJCWVsLnRyaWdnZXIoJ2NpcmNsZS1hbmltYXRpb24tc3RhcnQnKTsKCgkJCWNhbnZhcwoJCQkJLmNzcyh7YW5pbWF0aW9uUHJvZ3Jlc3M6IDB9KQoJCQkJLmFuaW1hdGUoe2FuaW1hdGlvblByb2dyZXNzOiAxfSwgJC5leHRlbmQoe30sIHRoaXMuYW5pbWF0aW9uLCB7CgkJCQkJc3RlcDogZnVuY3Rpb24oYW5pbWF0aW9uUHJvZ3Jlc3MpIHsKCQkJCQkJdmFyIHN0ZXBWYWx1ZSA9IHNlbGYuYW5pbWF0aW9uU3RhcnRWYWx1ZSAqICgxIC0gYW5pbWF0aW9uUHJvZ3Jlc3MpICsgdiAqIGFuaW1hdGlvblByb2dyZXNzOwoJCQkJCQlzZWxmLmRyYXdGcmFtZShzdGVwVmFsdWUpOwoJCQkJCQllbC50cmlnZ2VyKCdjaXJjbGUtYW5pbWF0aW9uLXByb2dyZXNzJywgW2FuaW1hdGlvblByb2dyZXNzLCBzdGVwVmFsdWVdKTsKCQkJCQl9CgkJCQl9KSkKCQkJCS5wcm9taXNlKCkKCQkJCS5hbHdheXMoZnVuY3Rpb24oKSB7CgkJCQkJLy8gdHJpZ2dlciBvbiBib3RoIHN1Y2Nlc3NmdWwgJiBmYWlsdXJlIGFuaW1hdGlvbiBlbmQKCQkJCQllbC50cmlnZ2VyKCdjaXJjbGUtYW5pbWF0aW9uLWVuZCcpOwoJCQkJfSk7CgkJfSwKCgkJLyoqCgkJICogR2V0IHRoZSBjaXJjbGUgdGhpY2tuZXNzLgoJCSAqIEBzZWUgQ2lyY2xlUHJvZ3Jlc3MjdGhpY2tuZXNzCgkJICogQHByb3RlY3RlZAoJCSAqIEByZXR1cm5zIHtudW1iZXJ9CgkJICovCgkJZ2V0VGhpY2tuZXNzOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuICQuaXNOdW1lcmljKHRoaXMudGhpY2tuZXNzKSA/IHRoaXMudGhpY2tuZXNzIDogdGhpcy5zaXplIC8gMTQ7CgkJfSwKCgkJLyoqCgkJICogR2V0IGN1cnJlbnQgdmFsdWUuCgkJICogQHByb3RlY3RlZAoJCSAqIEByZXR1cm4ge251bWJlcn0KCQkgKi8KCQlnZXRWYWx1ZTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLnZhbHVlOwoJCX0sCgoJCS8qKgoJCSAqIFNldCBjdXJyZW50IHZhbHVlICh3aXRoIHNtb290aCBhbmltYXRpb24gdHJhbnNpdGlvbikuCgkJICogQHByb3RlY3RlZAoJCSAqIEBwYXJhbSB7bnVtYmVyfSBuZXdWYWx1ZQoJCSAqLwoJCXNldFZhbHVlOiBmdW5jdGlvbihuZXdWYWx1ZSkgewoJCQlpZiAodGhpcy5hbmltYXRpb24pCgkJCQl0aGlzLmFuaW1hdGlvblN0YXJ0VmFsdWUgPSB0aGlzLmxhc3RGcmFtZVZhbHVlOwoJCQl0aGlzLnZhbHVlID0gbmV3VmFsdWU7CgkJCXRoaXMuZHJhdygpOwoJCX0KCX07CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBJbml0aWF0aW5nIGpRdWVyeSBwbHVnaW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSQuY2lyY2xlUHJvZ3Jlc3MgPSB7CgkJLy8gRGVmYXVsdCBvcHRpb25zICh5b3UgbWF5IG92ZXJyaWRlIHRoZW0pCgkJZGVmYXVsdHM6IENpcmNsZVByb2dyZXNzLnByb3RvdHlwZQoJfTsKCgkvLyBlYXNlLWluLW91dC1jdWJpYwoJJC5lYXNpbmcuY2lyY2xlUHJvZ3Jlc3NFYXNpbmcgPSBmdW5jdGlvbih4KSB7CgkJaWYgKHggPCAwLjUpIHsKCQkJeCA9IDIgKiB4OwoJCQlyZXR1cm4gMC41ICogeCAqIHggKiB4OwoJCX0gZWxzZSB7CgkJCXggPSAyIC0gMiAqIHg7CgkJCXJldHVybiAxIC0gMC41ICogeCAqIHggKiB4OwoJCX0KCX07CgoJLyoqCgkgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIHtAbGluayBDaXJjbGVQcm9ncmVzc30uCgkgKiBQcm9kdWNlcyBbaW5pdCBldmVudF17QGxpbmsgQ2lyY2xlUHJvZ3Jlc3MjaW5pdH0gYW5kIFthbmltYXRpb24gZXZlbnRzXXtAbGluayBDaXJjbGVQcm9ncmVzcyNkcmF3QW5pbWF0ZWR9LgoJICoKCSAqIEBwYXJhbSB7b2JqZWN0fSBbY29uZmlnT3JDb21tYW5kXSAtIENvbmZpZyBvYmplY3Qgb3IgY29tbWFuZCBuYW1lLgoJICoKCSAqIENvbmZpZyBleGFtcGxlICh5b3UgY2FuIHNwZWNpZnkgYW55IHtAbGluayBDaXJjbGVQcm9ncmVzc30gcHJvcGVydHkpOgoJICoKCSAqIGBgYGpzCgkgKiB7IHZhbHVlOiAwLjc1LCBzaXplOiA1MCwgYW5pbWF0aW9uOiBmYWxzZSB9CgkgKiBgYGAKCSAqCgkgKiBDb21tYW5kczoKCSAqCgkgKiBgYGBqcwoJICogZWwuY2lyY2xlUHJvZ3Jlc3MoJ3dpZGdldCcpOyAvLyBnZXQgdGhlIDxjYW52YXM+CgkgKiBlbC5jaXJjbGVQcm9ncmVzcygndmFsdWUnKTsgLy8gZ2V0IHRoZSB2YWx1ZQoJICogZWwuY2lyY2xlUHJvZ3Jlc3MoJ3ZhbHVlJywgbmV3VmFsdWUpOyAvLyB1cGRhdGUgdGhlIHZhbHVlCgkgKiBlbC5jaXJjbGVQcm9ncmVzcygncmVkcmF3Jyk7IC8vIHJlZHJhdyB0aGUgY2lyY2xlCgkgKiBlbC5jaXJjbGVQcm9ncmVzcygpOyAvLyB0aGUgc2FtZSBhcyAncmVkcmF3JwoJICogYGBgCgkgKgoJICogQHBhcmFtIHtzdHJpbmd9IFtjb21tYW5kQXJndW1lbnRdIC0gU29tZSBjb21tYW5kcyAobGlrZSBgJ3ZhbHVlJ2ApIG1heSByZXF1aXJlIGFuIGFyZ3VtZW50LgoJICogQHNlZSBDaXJjbGVQcm9ncmVzcwoJICogQGFsaWFzICIkKC4uLikuY2lyY2xlUHJvZ3Jlc3MiCgkgKi8KCSQuZm4uY2lyY2xlUHJvZ3Jlc3MgPSBmdW5jdGlvbihjb25maWdPckNvbW1hbmQsIGNvbW1hbmRBcmd1bWVudCkgewoJCXZhciBkYXRhTmFtZSA9ICdjaXJjbGUtcHJvZ3Jlc3MnLAoJCQlmaXJzdEluc3RhbmNlID0gdGhpcy5kYXRhKGRhdGFOYW1lKTsKCgkJaWYgKGNvbmZpZ09yQ29tbWFuZCA9PSAnd2lkZ2V0JykgewoJCQlpZiAoIWZpcnN0SW5zdGFuY2UpCgkJCQl0aHJvdyBFcnJvcignQ2FsbGluZyAid2lkZ2V0IiBtZXRob2Qgb24gbm90IGluaXRpYWxpemVkIGluc3RhbmNlIGlzIGZvcmJpZGRlbicpOwoJCQlyZXR1cm4gZmlyc3RJbnN0YW5jZS5jYW52YXM7CgkJfQoKCQlpZiAoY29uZmlnT3JDb21tYW5kID09ICd2YWx1ZScpIHsKCQkJaWYgKCFmaXJzdEluc3RhbmNlKQoJCQkJdGhyb3cgRXJyb3IoJ0NhbGxpbmcgInZhbHVlIiBtZXRob2Qgb24gbm90IGluaXRpYWxpemVkIGluc3RhbmNlIGlzIGZvcmJpZGRlbicpOwoJCQlpZiAodHlwZW9mIGNvbW1hbmRBcmd1bWVudCA9PSAndW5kZWZpbmVkJykgewoJCQkJcmV0dXJuIGZpcnN0SW5zdGFuY2UuZ2V0VmFsdWUoKTsKCQkJfSBlbHNlIHsKCQkJCXZhciBuZXdWYWx1ZSA9IGFyZ3VtZW50c1sxXTsKCQkJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQkJJCh0aGlzKS5kYXRhKGRhdGFOYW1lKS5zZXRWYWx1ZShuZXdWYWx1ZSk7CgkJCQl9KTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpIHsKCQkJdmFyIGVsID0gJCh0aGlzKSwKCQkJCWluc3RhbmNlID0gZWwuZGF0YShkYXRhTmFtZSksCgkJCQljb25maWcgPSAkLmlzUGxhaW5PYmplY3QoY29uZmlnT3JDb21tYW5kKSA/IGNvbmZpZ09yQ29tbWFuZCA6IHt9OwoKCQkJaWYgKGluc3RhbmNlKSB7CgkJCQlpbnN0YW5jZS5pbml0KGNvbmZpZyk7CgkJCX0gZWxzZSB7CgkJCQl2YXIgaW5pdGlhbENvbmZpZyA9ICQuZXh0ZW5kKHt9LCBlbC5kYXRhKCkpOwoJCQkJaWYgKHR5cGVvZiBpbml0aWFsQ29uZmlnLmZpbGwgPT0gJ3N0cmluZycpCgkJCQkJaW5pdGlhbENvbmZpZy5maWxsID0gSlNPTi5wYXJzZShpbml0aWFsQ29uZmlnLmZpbGwpOwoJCQkJaWYgKHR5cGVvZiBpbml0aWFsQ29uZmlnLmFuaW1hdGlvbiA9PSAnc3RyaW5nJykKCQkJCQlpbml0aWFsQ29uZmlnLmFuaW1hdGlvbiA9IEpTT04ucGFyc2UoaW5pdGlhbENvbmZpZy5hbmltYXRpb24pOwoJCQkJY29uZmlnID0gJC5leHRlbmQoaW5pdGlhbENvbmZpZywgY29uZmlnKTsKCQkJCWNvbmZpZy5lbCA9IGVsOwoJCQkJaW5zdGFuY2UgPSBuZXcgQ2lyY2xlUHJvZ3Jlc3MoY29uZmlnKTsKCQkJCWVsLmRhdGEoZGF0YU5hbWUsIGluc3RhbmNlKTsKCQkJfQoJCX0pOwoJfTsKfSk7"}},"time_used":99,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":93,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.843Z","timestamp":1785139583843,"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-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 08:06:23 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: 1e41badef27dc8cfb109a86a12538817\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-28T06:17:53.477053Z","times_seen":310,"resource_available":false,"data":"LmhhbGFsU3RhdHVzLW5QVTM5cndVe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktc3VjY2Vzcy1leHRyYS1ib2xkKX0uaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5oYWxhbFN0YXR1cy1uUFUzOXJ3VTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuaGFsYWxTdGF0dXMtblBVMzlyd1U6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1B7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudHZDYWxjdWxhdGVkUGFpci1TM3pjY0lfUDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnR2Q2FsY3VsYXRlZFBhaXItUzN6Y2NJX1A6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3Zvd3tjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmhrZXhDb21tZW50LWVidU5Tdm93OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5oa2V4Q29tbWVudC1lYnVOU3ZvdzphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fe2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX0uZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGVmYXVsdGVkU3RhdHVzLUp1eFJURG1fOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5kZWZhdWx0ZWRTdGF0dXMtSnV4UlREbV86YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9LmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQXtjb2xvcjp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNzAwKX0ubGV0SXRTbm93U3RhdHVzLUR0MzBidlVBOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmxldEl0U25vd1N0YXR1cy1EdDMwYnZVQTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZCl9LnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnVwY29taW5nSXBvU3RhdHVzLXRLWlJtSUs1OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBjb21pbmdJcG9TdGF0dXMtdEtaUm1JSzU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLU9ZaFg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1fMS1PWWhYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1PWWhYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzEtT1loWDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS53cmFwU3RhY2tUcmFjZS1xcTJqU3I5T3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtZmFtaWx5Ok1lbmxvLFVidW50dSBNb25vLENvbnNvbGFzLHNvdXJjZS1jb2RlLXBybyxtb25vc3BhY2U7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjRweDtyb3ctZ2FwOjEycHh9QHN1cHBvcnRzICgtbW96LWFwcGVhcmFuY2U6bm9uZSl7LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPe3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0ud3JhcFN0YWNrVHJhY2UtcXEyalNyOU86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXNjcm9sbGJhci10aHVtYi1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXNjcm9sbC1iZykpO2JvcmRlcjoxcHggc29saWQgIzAwMDA7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LndyYXBTdGFja1RyYWNlLXFxMmpTcjlPOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5zdGFja1RyYWNlTGluZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMC1PWWhYKTt3aGl0ZS1zcGFjZTpub3dyYXB9LmZ1bmN0aW9uTmFtZS1xcTJqU3I5T3tjb2xvcjp2YXIoLS1fMS1PWWhYKX0uYmFySW5kZXgtcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmluZm8tcXEyalNyOU97Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpfS5oaWRlRW1wdHktcXEyalNyOU86ZW1wdHl7ZGlzcGxheTpub25lfS5lZGl0b3JFcnJvckJ1dHRvbnMtenVrOWVJTTN7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4fVtkYXRhLXRoZW1lPWxpZ2h0XXstLV8wLXl6SzY6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC15eks2OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfS53cmFwcGVyLVBndUFyTEZme2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweDttYXgtd2lkdGg6MTAwJTtyb3ctZ2FwOjhweH0ud3JhcEVycm9yLVBndUFyTEZme2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjRzIGVhc2V9LndyYXBFcnJvci1QZ3VBckxGZi5jbGlja2VkQW5pbS1QZ3VBckxGZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLXl6SzYpfS5lcnJvclRleHQtUGd1QXJMRmZ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ud3JhcFN0YWNrVHJhY2UtUGd1QXJMRmZ7bWFyZ2luLXRvcDoxMnB4fS5kZXNjcmlwdGlvbi1qZW5OVnNfQ3ttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tdG9wOjRweH0ubW9kZS1qZW5OVnNfQ3thbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo4cHg7ZGlzcGxheTpmbGV4O2hlaWdodDozMHB4fS5hY3Rpb25zLWplbk5Wc19De2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3d9LmFjdGlvbnMtamVuTlZzX0MgYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjhweDttYXJnaW4tYm90dG9tOjB9LmxpbmstamVuTlZzX0MsLmxpbmstamVuTlZzX0M6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktZGVmYXVsdCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5saW5rLWplbk5Wc19DOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0ubGluay1qZW5OVnNfQzphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0ubGluay1qZW5OVnNfQzpmb2N1c3tvdXRsaW5lOmF1dG87b3V0bGluZS1vZmZzZXQ6MnB4fS5saW5rLWplbk5Wc19DOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0ubGluay1qZW5OVnNfQzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxpbmstamVuTlZzX0M6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX19"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.942Z","timestamp":1785139583942,"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-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 08:06:23 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: 44a24ceb88734eded15d01e1e3499bf3\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-08-04T19:37:52.81208Z","times_seen":200,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.422Z","timestamp":1785139584422,"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-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 08:06:24 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: 53c75629f5a7b203004b29ad9def5d88\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-28T04:48:50.535574Z","times_seen":57,"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":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%2Fnanoquantumstellarsledger.com","fqdn":"widget-sheriff.tradingview-widget.com","domain":"tradingview-widget.com","tld":"com"},"ip":{"addr":"143.204.238.89","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.498Z","timestamp":1785139584498,"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-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%2Fnanoquantumstellarsledger.com 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/2 204 \r\ndate: Mon, 27 Jul 2026 08:06:24 GMT\r\ncache-control: public, max-age=3600, s-maxage=3600\r\nserver: tv\r\nvia: 443, 1.1 3a392288dea1bbbea74e310795e2a172.cloudfront.net (CloudFront)\r\naccess-control-allow-origin: https://s.tradingview.com\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\ncross-origin-resource-policy: same-site\r\nvary: Origin\r\nx-cache: Miss from cloudfront\r\nx-amz-cf-pop: ARN53-P4\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: 0UeboerNIz7f0ZQNTiblqUg8f6J-vRQlbDbCF8G4g__RpqdYRJ0LFA==\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"204","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":"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":566,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":""}},"time_used":207,"timings":{"blocked":-1,"dns":4,"connect":8,"send":0,"wait":179,"receive":0,"ssl":15},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.mixedfinance.io/asset/css/plugins.css","fqdn":"www.mixedfinance.io","domain":"mixedfinance.io","tld":"io"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.974Z","timestamp":1785139581974,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /asset/css/plugins.css HTTP/1.1\r\nHost: www.mixedfinance.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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":"nanoquantumstellarsledger.com/frontcss/assets/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.066Z","timestamp":1785139582066,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/ HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html\r\ncontent-length: 795\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\nlocation: https://nanoquantumstellarsledger.com/frontcss/assets\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":null}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"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":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.779Z","timestamp":1785139582779,"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-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 08:06:22 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: d9957c723bf57a72eb1d65aef1869e53\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-08-12T05:10:43.160024Z","times_seen":1353,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAteTJaWDojZWNlY2VjOy0tXzEteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLV8yLXkyWlg6dmFyKC0tY29sb3Itd2hpdGUpOy0tXzMteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tXzQteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tXzUteTJaWDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tXzYteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMTAteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1fMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tXzIteTJaWDp2YXIoLS1jb2xvci13aGl0ZSk7LS1fMy15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1fNC15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1fNS15MlpYOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1fNi15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV83LXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1fOC15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzkteTJaWDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xMC15MlpYOnZhcigtLWNvbG9yLXdoaXRlKTstLV8xMS15MlpYOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tXzEyLXkyWlg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnR2LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowO21pbi13aWR0aDo0MHB4O3BhZGRpbmc6MXB4IDIycHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDtmaWxsOmN1cnJlbnRDb2xvcjtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZSxjb2xvciAuMzVzIGVhc2V9LnR2LWJ1dHRvbi50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMjFweH0udHYtYnV0dG9uLmktYWN0aXZlLC50di1idXR0b24uaS1ob3ZlciwudHYtYnV0dG9uOmFjdGl2ZXt0cmFuc2l0aW9uLWR1cmF0aW9uOjYwbXN9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b246aG92ZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjo2MG1zfX0udHYtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnR2LWJ1dHRvbi0tYmxvY2t7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlfS50di1idXR0b24rLnR2LWJ1dHRvbnttYXJnaW4taW5saW5lLXN0YXJ0OjE1cHh9LnR2LWJ1dHRvbi50di1idXR0b24tLW5vLWxlZnQtbWFyZ2lue21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtYnV0dG9uX190ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS50di1idXR0b25fX3RleHQtLWZ1bGwtaGVpZ2h0e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6MTAwJTt3b3JkLXdyYXA6YnJlYWstd29yZDtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MTFweCA1cHh9LnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LGEudHYtYnV0dG9uLS1kZWZhdWx0OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYm9keS1iZyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvZHktYmcpO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0OmFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzAteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV8wLXkyWlgpO2NvbG9yOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kZWZhdWx0LmktaG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItYnV0dG9uLWhvdmVyLWJnKTtjb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1kZWZhdWx0OmhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpO2NvbG9yOiNmZmZ9fS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1idXR0b24taG92ZXItYmcpfS50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfX0udHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLWRlZmF1bHQuaS1jaGVja2VkLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWNoZWNrZWR7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tZGVmYXVsdC5pLWhvdmVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QuaS1ob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHQ6aG92ZXIsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9fS50di1idXR0b24tLWRlZmF1bHQuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdDphY3RpdmUsLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0OmFjdGl2ZXtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyKTtjb2xvcjp2YXIoLS1jb2xvci10di1idXR0b24tY2hlY2tlZCl9LnR2LWJ1dHRvbi0tcHJpbWFyeSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1wcmltYXJ5OnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNi15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzYteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdHtjb2xvcjp2YXIoLS1fNi15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV82LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNi15MlpYKTtjb2xvcjp2YXIoLS1fOS15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5LmktYWN0aXZlLC50di1idXR0b24tLXByaW1hcnk6YWN0aXZlLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOC15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1wcmltYXJ5LmktaG92ZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC5pLWhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Ym9yZGVyLWNvbG9yOnZhcigtLV83LXkyWlgpO2NvbG9yOnZhcigtLV85LXkyWlgpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVyLC50di1idXR0b24tLXByaW1hcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzkteTJaWCl9fS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNy15MlpYKX0udHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fOS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV85LXkyWlgpfX0udHYtYnV0dG9uLS1zZWNvbmRhcnksLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LGEudHYtYnV0dG9uLS1zZWNvbmRhcnk6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3R7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmFjdGl2ZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNkMWRiZjA7Ym9yZGVyLWNvbG9yOiNkMWRiZjA7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1ob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlMWU3ZjU7Ym9yZGVyLWNvbG9yOiNlMWU3ZjU7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeTpob3ZlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1O2JvcmRlci1jb2xvcjojZTFlN2Y1O2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZTFlN2Y1fS50di1idXR0b24tLXNlY29uZGFyeV9naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXNlY29uZGFyeV9naG9zdDpob3ZlciAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApfX0udHYtYnV0dG9uLS1zdWNjZXNzLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsYS50di1idXR0b24tLXN1Y2Nlc3M6dmlzaXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpfS50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN1Y2Nlc3MuaS1hY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2VzczphY3RpdmUsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWFjdGl2ZSwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtYWN0aXZlKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0tc3VjY2Vzcy5pLWhvdmVyLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzLWhvdmVyKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlciwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1ob3Zlcil9LnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC5pLWhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3Q6aG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyLC50di1idXR0b24tLWRhbmdlcl9naG9zdCxhLnR2LWJ1dHRvbi0tZGFuZ2VyOnZpc2l0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0e2NvbG9yOnZhcigtLV8zLXkyWlgpfS50di1idXR0b24tLWRhbmdlcl9naG9zdC5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMy15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzMteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyLmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcjphY3RpdmUsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLWRhbmdlcl9naG9zdDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fNS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzUteTJaWCk7Y29sb3I6dmFyKC0tXzIteTJaWCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0udHYtYnV0dG9uLS1kYW5nZXIuaS1ob3ZlciwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVyLC50di1idXR0b24tLWRhbmdlcl9naG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV80LXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fNC15MlpYKTtjb2xvcjp2YXIoLS1fMi15MlpYKX19LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzQteTJaWCl9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMi15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzIteTJaWCl9fS50di1idXR0b24tLXdhcm5pbmcsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdCxhLnR2LWJ1dHRvbi0td2FybmluZzp2aXNpdGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0td2FybmluZy5pLWFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZSwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktYWN0aXZlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3Q6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNjAwKTtjb2xvcjojZmZmO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9LnR2LWJ1dHRvbi0td2FybmluZy5pLWhvdmVyLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QuaS1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0td2FybmluZzpob3ZlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0IC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKX0udHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LmktaG92ZXIgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjojZmZmfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0OmhvdmVyIC50di1idXR0b25fX2xvYWRlci1pdGVte2JhY2tncm91bmQtY29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tbGluaywudHYtYnV0dG9uLS1saW5rOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1saW5rOmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcik7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpfX0udHYtYnV0dG9uLS1saW5rOmFjdGl2ZXtjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpfS50di1idXR0b24tLWxpbms6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzLXZpc2libGV7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0udHYtYnV0dG9uLS1saW5rOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTpub25lfS50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZSwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdle2JvcmRlci13aWR0aDoycHh9LnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVyLC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QudHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tdGhpbi1ib3JkZXIsLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS10aGluLWJvcmRlciwudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0LnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXRoaW4tYm9yZGVye2JvcmRlci13aWR0aDoxcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLWRlZmF1bHRfZ2hvc3Q6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC15MlpYKX19LnR2LWJ1dHRvbi5pLWRpc2FibGVkLC50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZCwudHYtYnV0dG9uOmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xLXkyWlgpO2JvcmRlci1jb2xvcjp2YXIoLS1fMS15MlpYKTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi5pLWRpc2FibGVkOmhvdmVyLC50di1idXR0b246ZGlzYWJsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMS15MlpYKTtib3JkZXItY29sb3I6dmFyKC0tXzEteTJaWCk7Y29sb3I6dmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7Y3Vyc29yOmRlZmF1bHR9fS50di1idXR0b24uaS1kaXNhYmxlZDphY3RpdmUsLnR2LWJ1dHRvbjpkaXNhYmxlZDphY3RpdmV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7Ym9yZGVyLXJhZGl1czoxcHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE1cHg7cGFkZGluZzoycHggN3B4fS50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3hzbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfeHNtYWxsLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjFweCA2cHh9LnR2LWJ1dHRvbi0tc2l6ZV94c21hbGwrLnR2LWJ1dHRvbi0tc2l6ZV94c21hbGx7bWFyZ2luLWlubGluZS1zdGFydDoxMHB4fS50di1idXR0b24tLXNpemVfc21hbGx7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjFweCAxMnB4fS50di1idXR0b24tLXNpemVfc21hbGwudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3NtYWxsLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbC50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowIDExcHh9LnR2LWJ1dHRvbi0tc2l6ZV9zbWFsbCsudHYtYnV0dG9uLS1zaXplX3NtYWxse21hcmdpbi1pbmxpbmUtc3RhcnQ6MTBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdle2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ0cHg7cGFkZGluZzoxcHggMzBweH0udHYtYnV0dG9uLS1zaXplX2xhcmdlLnR2LWJ1dHRvbi0tZGFuZ2VyX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1kZWZhdWx0X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zZWNvbmRhcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZS50di1idXR0b24tLXN0YXRlLC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS1zdWNjZXNzX2dob3N0LC50di1idXR0b24tLXNpemVfbGFyZ2UudHYtYnV0dG9uLS13YXJuaW5nX2dob3N0e3BhZGRpbmc6MCAyOXB4fS50di1idXR0b24tLXNpemVfcHJvbW97Ym9yZGVyLXJhZGl1czoxMjBweDtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDo1NHB4O3BhZGRpbmc6MXB4IDQwcHh9LnR2LWJ1dHRvbi0tc2l6ZV9wcm9tby50di1idXR0b24tLWRhbmdlcl9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tZGVmYXVsdF9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5X2dob3N0LC50di1idXR0b24tLXNpemVfcHJvbW8udHYtYnV0dG9uLS1zdGF0ZSwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0tc3VjY2Vzc19naG9zdCwudHYtYnV0dG9uLS1zaXplX3Byb21vLnR2LWJ1dHRvbi0td2FybmluZ19naG9zdHtwYWRkaW5nOjAgMzlweH0udHYtYnV0dG9uLS1uby1wYWRkaW5ne3BhZGRpbmc6MXB4fS50di1idXR0b24tLW5vLXBhZGRpbmcudHYtYnV0dG9uLS1kYW5nZXJfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHQsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLWRlZmF1bHRfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXByaW1hcnlfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXNlY29uZGFyeV9naG9zdCwudHYtYnV0dG9uLS1uby1wYWRkaW5nLnR2LWJ1dHRvbi0tc3RhdGUsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXN1Y2Nlc3NfZ2hvc3QsLnR2LWJ1dHRvbi0tbm8tcGFkZGluZy50di1idXR0b24tLXdhcm5pbmdfZ2hvc3R7cGFkZGluZzowfS50di1idXR0b24tLXN0YXRle2JhY2tncm91bmQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDt0ZXh0LWFsaWduOmNlbnRlcn0udHYtYnV0dG9uLS1zdGF0ZTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrLWhpbnQsLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZHtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3RyYW5zaXRpb246b3BhY2l0eSAuMjYyNXMgZWFzZSx0cmFuc2Zvcm0gLjI2MjVzIGVhc2V9LnR2LWJ1dHRvbi0tc3RhdGVfX2VsbGlwc2lzLXRleHR7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50LC50di1idXR0b24tLXN0YXRlLmktY2hlY2tlZDpob3ZlciAudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVja2Vke3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e29wYWNpdHk6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke29wYWNpdHk6MH19LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2VkLC50di1idXR0b24tLXN0YXRlX191bmNoZWNrZWR7b3BhY2l0eToxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHtvcGFjaXR5OjF9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkOmhvdmVyIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfX0udHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fY2hlY2tlZCwudHYtYnV0dG9uLS1zdGF0ZV9fdW5jaGVjay1oaW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCl9LnR2LWJ1dHRvbi0tc3RhdGUuaS1jaGVja2VkIC50di1idXR0b24tLXN0YXRlX19jaGVja2Vke3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtYnV0dG9uLS1zdGF0ZS5pLWNoZWNrZWQ6aG92ZXIgLnR2LWJ1dHRvbi0tc3RhdGVfX3VuY2hlY2staGludHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1jb2xvci1zdWNjZXNzKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3MuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcyk7Y29sb3I6dmFyKC0tXzIteTJaWCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXN1Y2Nlc3MtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXN1Y2Nlc3M6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3VjY2Vzcy1hY3RpdmUpO2NvbG9yOnZhcigtLV8yLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMy15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTtjb2xvcjojZmZmfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWRhbmdlcjphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApO2NvbG9yOiNmZmZ9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTtjb2xvcjp2YXIoLS1fMTAteTJaWCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5LmktY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LXkyWlgpO2NvbG9yOnZhcigtLV8xMS15MlpYKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzcteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzgteTJaWCk7Y29sb3I6dmFyKC0tXzExLXkyWlgpfS50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tcHJpbWFyeV9naG9zdC1ob3Zlci5pLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpO2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1wcmltYXJ5X2dob3N0LWhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtaG92ZXIpO2NvbG9yOnZhcigtLV8yLXkyWlgpfX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXByaW1hcnlfZ2hvc3QtaG92ZXI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQtYWN0aXZlKTtjb2xvcjp2YXIoLS1fMi15MlpYKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXNlY29uZGFyeXtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnkuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2UxZTdmNTtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS1zZWNvbmRhcnk6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2QxZGJmMDtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2NvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKX0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLXdhcm5pbmcuaS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApO2NvbG9yOiNmZmZ9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1idXR0b24tLXN0YXRlLnR2LWJ1dHRvbi0td2FybmluZzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTQwMCk7Y29sb3I6I2ZmZn19LnR2LWJ1dHRvbi0tc3RhdGUudHYtYnV0dG9uLS13YXJuaW5nOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7Y29sb3I6I2ZmZn0udHYtYnV0dG9uLS1zdGF0ZS50di1idXR0b24tLWljb24td2l0aC10ZXh0IHN2Z3ttYXJnaW4taW5saW5lLWVuZDo2cHg7bWFyZ2luLWJvdHRvbTotOHB4O3ZlcnRpY2FsLWFsaWduOnVuc2V0fS50di1idXR0b24tLWljb257YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjM0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttaW4td2lkdGg6YXV0bztwYWRkaW5nOjAhaW1wb3J0YW50O3dpZHRoOjM0cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfeHNtYWxse2hlaWdodDoxOXB4O3dpZHRoOjE5cHh9LnR2LWJ1dHRvbi0taWNvbi50di1idXR0b24tLXNpemVfc21hbGx7aGVpZ2h0OjI3cHg7d2lkdGg6MjdweH0udHYtYnV0dG9uLS1pY29uLnR2LWJ1dHRvbi0tc2l6ZV9sYXJnZXtoZWlnaHQ6NDZweDt3aWR0aDo0NnB4fS50di1idXR0b25fX2ljb257ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOjdweH0udHYtYnV0dG9uLS1sb2FkZXIgLnR2LWJ1dHRvbl9fdGV4dHt0cmFuc2l0aW9uOm9wYWNpdHkgMTc1bXMgZWFzZSx0cmFuc2Zvcm0gMTc1bXMgZWFzZX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX3RleHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fdGV4dHtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbi1kZWxheToxNzVtc30udHYtYnV0dG9uX19sb2FkZXJ7Ym90dG9tOjA7Zm9udC1zaXplOjA7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO21hcmdpbjowIGF1dG87b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMzVzIGVhc2V9LnR2LWJ1dHRvbl9fbG9hZGVyOmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7dmVydGljYWwtYWxpZ246bWlkZGxlfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MX0udHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVye29wYWNpdHk6MH0udHYtYnV0dG9uX19sb2FkZXItaXRlbXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8xMi15MlpYKTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwcHg7bWFyZ2luLWlubGluZS1lbmQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMnB4KSBzY2FsZSguNik7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSxvcGFjaXR5IC4zNXMgZWFzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTBweH0udHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7dHJhbnNpdGlvbi1kZWxheTouMTE2NjY2NjdzfS50di1idXR0b25fX2xvYWRlci1pdGVtOm50aC1jaGlsZCgzKXt0cmFuc2l0aW9uLWRlbGF5OjIzMy4zMzMzM21zfS50di1idXR0b24tLWRlZmF1bHQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKX0udHYtYnV0dG9uLS1sb2FkZXIuaS1sb2FkaW5nIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0YXJ0LWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17b3BhY2l0eToxfS50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXtvcGFjaXR5OjB9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdGFydC1sb2FkIC50di1idXR0b25fX2xvYWRlci1pdGVtLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNil9LnR2LWJ1dHRvbi0tbG9hZGVyLmktbG9hZGluZyAudHYtYnV0dG9uX19sb2FkZXItaXRlbSwudHYtYnV0dG9uLS1sb2FkZXIuaS1zdG9wLWxvYWQgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW17YW5pbWF0aW9uOnR2LWJ1dHRvbi1sb2FkZXItWWpkSEtzQk0gLjk2cyBlYXNlLWluLW91dCBpbmZpbml0ZSBib3RofS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDIpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNTFzfS50di1idXR0b24tLWxvYWRlci5pLWxvYWRpbmcgLnR2LWJ1dHRvbl9fbG9hZGVyLWl0ZW06bnRoLWNoaWxkKDMpLC50di1idXR0b24tLWxvYWRlci5pLXN0b3AtbG9hZCAudHYtYnV0dG9uX19sb2FkZXItaXRlbTpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi4zMnN9LnR2LWJ1dHRvbi0tbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjB9LnR2LWJ1dHRvbi0tbm8tYm9yZGVye2JvcmRlcjpub25lfS50di1idXR0b24tLWNvbm5lY3R7Ym9yZGVyLXJhZGl1czowfS50di1idXR0b24tLWNvbm5lY3RfbGVmdHtib3JkZXItZW5kLXN0YXJ0LXJhZGl1czowO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6MH0udHYtYnV0dG9uLS1jb25uZWN0X3JpZ2h0e2JvcmRlci1lbmQtZW5kLXJhZGl1czowO2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjB9LnR2LWJ1dHRvbi0td2l0aC1pY29ue2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9QGtleWZyYW1lcyB0di1idXR0b24tbG9hZGVyLVlqZEhLc0JNezAlLHRve3RyYW5zZm9ybTpzY2FsZSguNil9NTAle3RyYW5zZm9ybTpzY2FsZSguOSl9fQ=="}},"time_used":157,"timings":{"blocked":-1,"dns":46,"connect":49,"send":0,"wait":4,"receive":-1,"ssl":36},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery-countTo.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.030Z","timestamp":1785139582030,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/jquery-countTo.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 925\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3265,"size_decoded":1161,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"d086da5d226ee63bca4f7e20c4c9187e","sha1":"4f3f2c5e4fd3200dd0160604159224cbf9698ce1","sha256":"4d70beb31f1f08ce48864d9d42a6c2ae500dba241e57f45ac227d43a8af203c2","sha512":"d236e7532534d437a69fc098f18271f158b156face75117fc3c3524b07b4e28479caee11071a000ed717a71a2db2831afc950aa3fd1f5a7b475f65932d166841","ssdeep":"","tlshash":"b4617b45f79e131152ab20d99d1e218c223ca33a5887044e7d6d83d447a2c3de79af7c","first_seen":"2025-11-23T04:10:47.927195Z","last_seen":"2026-07-27T09:11:27.26911Z","times_seen":8,"resource_available":true,"data":"KGZ1bmN0aW9uICgkKSB7Cgl2YXIgQ291bnRUbyA9IGZ1bmN0aW9uIChlbGVtZW50LCBvcHRpb25zKSB7CgkJdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCk7CgkJdGhpcy5vcHRpb25zICA9ICQuZXh0ZW5kKHt9LCBDb3VudFRvLkRFRkFVTFRTLCB0aGlzLmRhdGFPcHRpb25zKCksIG9wdGlvbnMpOwoJCXRoaXMuaW5pdCgpOwoJfTsKCglDb3VudFRvLkRFRkFVTFRTID0gewoJCWZyb206IDAsICAgICAgICAgICAgICAgLy8gdGhlIG51bWJlciB0aGUgZWxlbWVudCBzaG91bGQgc3RhcnQgYXQKCQl0bzogMCwgICAgICAgICAgICAgICAgIC8vIHRoZSBudW1iZXIgdGhlIGVsZW1lbnQgc2hvdWxkIGVuZCBhdAoJCXNwZWVkOiAxMDAwLCAgICAgICAgICAgLy8gaG93IGxvbmcgaXQgc2hvdWxkIHRha2UgdG8gY291bnQgYmV0d2VlbiB0aGUgdGFyZ2V0IG51bWJlcnMKCQlyZWZyZXNoSW50ZXJ2YWw6IDEwMCwgIC8vIGhvdyBvZnRlbiB0aGUgZWxlbWVudCBzaG91bGQgYmUgdXBkYXRlZAoJCWRlY2ltYWxzOiAwLCAgICAgICAgICAgLy8gdGhlIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byBzaG93CgkJZm9ybWF0dGVyOiBmb3JtYXR0ZXIsICAvLyBoYW5kbGVyIGZvciBmb3JtYXR0aW5nIHRoZSB2YWx1ZSBiZWZvcmUgcmVuZGVyaW5nCgkJb25VcGRhdGU6IG51bGwsICAgICAgICAvLyBjYWxsYmFjayBtZXRob2QgZm9yIGV2ZXJ5IHRpbWUgdGhlIGVsZW1lbnQgaXMgdXBkYXRlZAoJCW9uQ29tcGxldGU6IG51bGwgICAgICAgLy8gY2FsbGJhY2sgbWV0aG9kIGZvciB3aGVuIHRoZSBlbGVtZW50IGZpbmlzaGVzIHVwZGF0aW5nCgl9OwoKCUNvdW50VG8ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7CgkJdGhpcy52YWx1ZSAgICAgPSB0aGlzLm9wdGlvbnMuZnJvbTsKCQl0aGlzLmxvb3BzICAgICA9IE1hdGguY2VpbCh0aGlzLm9wdGlvbnMuc3BlZWQgLyB0aGlzLm9wdGlvbnMucmVmcmVzaEludGVydmFsKTsKCQl0aGlzLmxvb3BDb3VudCA9IDA7CgkJdGhpcy5pbmNyZW1lbnQgPSAodGhpcy5vcHRpb25zLnRvIC0gdGhpcy5vcHRpb25zLmZyb20pIC8gdGhpcy5sb29wczsKCX07CgoJQ291bnRUby5wcm90b3R5cGUuZGF0YU9wdGlvbnMgPSBmdW5jdGlvbiAoKSB7CgkJdmFyIG9wdGlvbnMgPSB7CgkJCWZyb206ICAgICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKCdmcm9tJyksCgkJCXRvOiAgICAgICAgICAgICAgdGhpcy4kZWxlbWVudC5kYXRhKCd0bycpLAoJCQlzcGVlZDogICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZGF0YSgnc3BlZWQnKSwKCQkJcmVmcmVzaEludGVydmFsOiB0aGlzLiRlbGVtZW50LmRhdGEoJ3JlZnJlc2gtaW50ZXJ2YWwnKSwKCQkJZGVjaW1hbHM6ICAgICAgICB0aGlzLiRlbGVtZW50LmRhdGEoJ2RlY2ltYWxzJykKCQl9OwoKCQl2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpOwoKCQlmb3IgKHZhciBpIGluIGtleXMpIHsKCQkJdmFyIGtleSA9IGtleXNbaV07CgoJCQlpZiAodHlwZW9mKG9wdGlvbnNba2V5XSkgPT09ICd1bmRlZmluZWQnKSB7CgkJCQlkZWxldGUgb3B0aW9uc1trZXldOwoJCQl9CgkJfQoKCQlyZXR1cm4gb3B0aW9uczsKCX07CgoJQ291bnRUby5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKCkgewoJCXRoaXMudmFsdWUgKz0gdGhpcy5pbmNyZW1lbnQ7CgkJdGhpcy5sb29wQ291bnQrKzsKCgkJdGhpcy5yZW5kZXIoKTsKCgkJaWYgKHR5cGVvZih0aGlzLm9wdGlvbnMub25VcGRhdGUpID09ICdmdW5jdGlvbicpIHsKCQkJdGhpcy5vcHRpb25zLm9uVXBkYXRlLmNhbGwodGhpcy4kZWxlbWVudCwgdGhpcy52YWx1ZSk7CgkJfQoKCQlpZiAodGhpcy5sb29wQ291bnQgPj0gdGhpcy5sb29wcykgewoJCQljbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOwoJCQl0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zLnRvOwoKCQkJaWYgKHR5cGVvZih0aGlzLm9wdGlvbnMub25Db21wbGV0ZSkgPT0gJ2Z1bmN0aW9uJykgewoJCQkJdGhpcy5vcHRpb25zLm9uQ29tcGxldGUuY2FsbCh0aGlzLiRlbGVtZW50LCB0aGlzLnZhbHVlKTsKCQkJfQoJCX0KCX07CgoJQ291bnRUby5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkgewoJCXZhciBmb3JtYXR0ZWRWYWx1ZSA9IHRoaXMub3B0aW9ucy5mb3JtYXR0ZXIuY2FsbCh0aGlzLiRlbGVtZW50LCB0aGlzLnZhbHVlLCB0aGlzLm9wdGlvbnMpOwoJCXRoaXMuJGVsZW1lbnQudGV4dChmb3JtYXR0ZWRWYWx1ZSk7Cgl9OwoKCUNvdW50VG8ucHJvdG90eXBlLnJlc3RhcnQgPSBmdW5jdGlvbiAoKSB7CgkJdGhpcy5zdG9wKCk7CgkJdGhpcy5pbml0KCk7CgkJdGhpcy5zdGFydCgpOwoJfTsKCglDb3VudFRvLnByb3RvdHlwZS5zdGFydCA9IGZ1bmN0aW9uICgpIHsKCQl0aGlzLnN0b3AoKTsKCQl0aGlzLnJlbmRlcigpOwoJCXRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpLCB0aGlzLm9wdGlvbnMucmVmcmVzaEludGVydmFsKTsKCX07CgoJQ291bnRUby5wcm90b3R5cGUuc3RvcCA9IGZ1bmN0aW9uICgpIHsKCQlpZiAodGhpcy5pbnRlcnZhbCkgewoJCQljbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOwoJCX0KCX07CgoJQ291bnRUby5wcm90b3R5cGUudG9nZ2xlID0gZnVuY3Rpb24gKCkgewoJCWlmICh0aGlzLmludGVydmFsKSB7CgkJCXRoaXMuc3RvcCgpOwoJCX0gZWxzZSB7CgkJCXRoaXMuc3RhcnQoKTsKCQl9Cgl9OwoKCWZ1bmN0aW9uIGZvcm1hdHRlcih2YWx1ZSwgb3B0aW9ucykgewoJCXJldHVybiB2YWx1ZS50b0ZpeGVkKG9wdGlvbnMuZGVjaW1hbHMpOwoJfQoKCSQuZm4uY291bnRUbyA9IGZ1bmN0aW9uIChvcHRpb24pIHsKCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJdmFyICR0aGlzICAgPSAkKHRoaXMpOwoJCQl2YXIgZGF0YSAgICA9ICR0aGlzLmRhdGEoJ2NvdW50VG8nKTsKCQkJdmFyIGluaXQgICAgPSAhZGF0YSB8fCB0eXBlb2Yob3B0aW9uKSA9PT0gJ29iamVjdCc7CgkJCXZhciBvcHRpb25zID0gdHlwZW9mKG9wdGlvbikgPT09ICdvYmplY3QnID8gb3B0aW9uIDoge307CgkJCXZhciBtZXRob2QgID0gdHlwZW9mKG9wdGlvbikgPT09ICdzdHJpbmcnID8gb3B0aW9uIDogJ3N0YXJ0JzsKCgkJCWlmIChpbml0KSB7CgkJCQlpZiAoZGF0YSkgZGF0YS5zdG9wKCk7CgkJCQkkdGhpcy5kYXRhKCdjb3VudFRvJywgZGF0YSA9IG5ldyBDb3VudFRvKHRoaXMsIG9wdGlvbnMpKTsKCQkJfQoKCQkJZGF0YVttZXRob2RdLmNhbGwoZGF0YSk7CgkJfSk7Cgl9Owp9KGpRdWVyeSkpOw=="}},"time_used":38,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.944Z","timestamp":1785139583944,"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-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 08:06:23 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: b11286f186ffac748d2512b843caa909\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-08-12T17:58:50.080119Z","times_seen":576,"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.com/support/support-portal-problems/?language=in","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.543Z","timestamp":1785139584543,"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=in 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: in\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 08:06:21 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\ncache-control: max-age=60\r\ncontent-security-policy: frame-ancestors 'none'; 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/\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\ncross-origin-resource-policy: same-site\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\naccess-control-allow-credentials: true\r\naccess-control-max-age: 86400\r\naccess-control-allow-methods: GET, HEAD, POST, OPTIONS\r\nvary: Cookie\r\nx-cache: Hit from cloudfront\r\nage: 3\r\nvia: 1.1 bc2ad79bb70175937978804970010644.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nx-amz-cf-id: dt372csaHNyX2oakcNrPZuN2WZQxGWOpWheO3eQsjM_qVh5ErRYdZw==\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":"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":"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-08-12T03:04:55.389719Z","times_seen":690,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":76,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":76,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.002Z","timestamp":1785139582002,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\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/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 08:06:22 GMT\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":75428,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"daf9f9d0f97a599bd91445f0e27a48c0","sha1":"4757090e019cabe99d90de88da776df92cc9f337","sha256":"5a6ba98d431782092b0e481397ea4d1a5e5084fa2732f2be05926532eb5cb062","sha512":"ae88c787089c4624ea69dad24738491f49ee20ecab17db8a9699e5faadab58f02c73ffd70e6e57f5f9bbc6aa6273d2d763da4aa74d67c73b2c6d7cad286f09bb","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECi/wNWF0:XDD4U6KKZgtBgtCit0","tlshash":"c173b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T08:00:45.947782Z","last_seen":"2026-07-27T09:00:34.588057Z","times_seen":101,"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/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg3Mi4xNTM3MTY0MjQ5JzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":94,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":44,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/main.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.064Z","timestamp":1785139582064,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/main.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 8723\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":30547,"size_decoded":8960,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"7f3d6b834836196ca22aa9f962c5b40e","sha1":"22276cf1d5cacc8ac65385f04c251a76c35e79b8","sha256":"4ac0a6c0119bfbd08c9b614b643c559336e783a0875d76c33c0e7872cc53a92b","sha512":"231637cfd12be018c6987809cf213cfdb88acd3fa2e19a081641e6074edd6f9f80753061ff83ee8df5ed6eb9f09f23c29eae829503041c4f94d87ebe893a8283","ssdeep":"384:8SOKqny4tfdF3TcNcm6vGdKpR7GGtZSLt2VjILa5Ii3S9/cMaUB/gA9m9bT5X:PTgn2cm6vJvGG3SMyKIMSz7YwC5X","tlshash":"84d252c6ffac2867467bf1595c6f10cad23c4036a842487fbcac886499e553d636ed2c","first_seen":"2025-11-23T04:10:47.861515Z","last_seen":"2026-07-27T09:11:27.344838Z","times_seen":7,"resource_available":true,"data":"Ly9HbG9iYWwgdmFyCnZhciBDUlVNSU5BID0ge307CgooZnVuY3Rpb24gKCQpIHsKCgkvLyBVU0UgU1RSSUNUCgkidXNlIHN0cmljdCI7CgoJLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLwoJLy8gUHJlZGVmaW5lZCBWYXJpYWJsZXMKCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KCXZhciAkd2luZG93ID0gJCh3aW5kb3cpLAoJCSRkb2N1bWVudCA9ICQoZG9jdW1lbnQpLAoJCSRib2R5ID0gJCgnYm9keScpLAoKCQkvL0VsZW1lbnRzCgkJJHBpZV9jaGFydCA9ICQoJy5waWUtY2hhcnQnKSwKCQkkaGVhZGVyID0gJCgnI3NpdGUtaGVhZGVyJyksCgkJJGNvdW50ZXIgPSAkKCcuY291bnRlcicpLAoJCSRjb3VudGRvd24gPSAkKCcuY3J1bWluYS1jb3VudGRvd24nKSwKCQkkY291bnRkb3duX251bWJlciA9ICQoJy5jcnVtaW5hLWNvdW50ZG93bi1udW1iZXInKSwKCQkkcHJvZ3Jlc3NfYmFyID0gJCgnLmNydW1pbmEtc2tpbGxzLWl0ZW0nKSwKCQkkcHJpbWFyeU1lbnUgPSAkKCcjcHJpbWFyeS1tZW51JyksCgkJJHByZWxvYWRlciA9ICQoJyNoZWxsb3ByZWxvYWRlcicpOwoKCgkvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICogUHJlbG9hZGVyCgkgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLnByZWxvYWRlciA9IGZ1bmN0aW9uICgpIHsKCQkkd2luZG93LnNjcm9sbFRvcCgwKTsKCQlzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJJHByZWxvYWRlci5mYWRlT3V0KDgwMCk7CgkJfSwgNTAwKTsKCQlyZXR1cm4gZmFsc2U7Cgl9OwoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgKiBTcGlubmVyIGFuaW1hdGlvbgoJICogaHR0cHM6Ly9jb2RlcGVuLmlvL2Z1bnhlci9wZW4vWnZqZWJ4CgkgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLnNwaW5uZXJBbmltYXRpb24gPSBmdW5jdGlvbiAoKSB7CgkJdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW4iKTsKCQl2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CgkJdmFyIHBvaW50cyA9IFtdOwoJCXZhciBmb3YgPSAxMDA7CgkJdmFyIGRpc3QgPSAxMDA7CgkJdmFyIG9wYWNpdHkgPSAxOwoJCXZhciBwYXJ0aWNsZVNpemUgPSAxLjU7CgkJdmFyIG1heEFtcGxpdHVkZSA9IDE1MDA7IC8vIEJlc3QgcmVzdWx0cyB3aXRoIHZhbHVlcyA+IDUwMAoJCXZhciBzaWRlTGVuZ3RoID0gNTA7IC8vIEhvdyBtYW55IHBhcnRpY2xlcyBwZXIgc2lkZQoJCXZhciBzcGFjaW5nID0gMjAwOyAvLyBQYXJ0aWNsZSBkaXN0YW5jZSBmcm9tIGVhY2ggb3RoZXIKCgkJdmFyIHJvdFhDb3VudGVyID0gMDsKCQl2YXIgcm90WUNvdW50ZXIgPSAwOwoJCXZhciByb3RaQ291bnRlciA9IDA7CgkJdmFyIGNvdW50ZXIgPSAwOwoKCQljYW52YXMud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsKCQljYW52YXMuaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0OwoKCQlmdW5jdGlvbiBWZWN0b3IzKHgsIHksIHopIHsKCQkJdGhpcy54ID0geDsKCQkJdGhpcy55ID0geTsKCQkJdGhpcy56ID0gejsKCQkJdGhpcy5jb2xvciA9ICIjMEQwIjsKCQl9CgoJCVZlY3RvcjMucHJvdG90eXBlLnJvdGF0ZVggPSBmdW5jdGlvbiAoYW5nbGUpIHsKCQkJdmFyIHogPSB0aGlzLnogKiBNYXRoLmNvcyhhbmdsZSkgLSB0aGlzLnggKiBNYXRoLnNpbihhbmdsZSk7CgkJCXZhciB4ID0gdGhpcy56ICogTWF0aC5zaW4oYW5nbGUpICsgdGhpcy54ICogTWF0aC5jb3MoYW5nbGUpOwoJCQlyZXR1cm4gbmV3IFZlY3RvcjMoeCwgdGhpcy55LCB6KTsKCQl9OwoKCQlWZWN0b3IzLnByb3RvdHlwZS5yb3RhdGVZID0gZnVuY3Rpb24gKGFuZ2xlKSB7CgkJCXZhciB5ID0gdGhpcy55ICogTWF0aC5jb3MoYW5nbGUpIC0gdGhpcy56ICogTWF0aC5zaW4oYW5nbGUpOwoJCQl2YXIgeiA9IHRoaXMueSAqIE1hdGguc2luKGFuZ2xlKSArIHRoaXMueiAqIE1hdGguY29zKGFuZ2xlKTsKCQkJcmV0dXJuIG5ldyBWZWN0b3IzKHRoaXMueCwgeSwgeik7CgkJfTsKCQlWZWN0b3IzLnByb3RvdHlwZS5yb3RhdGVaID0gZnVuY3Rpb24gKGFuZ2xlKSB7CgkJCXZhciB4ID0gdGhpcy54ICogTWF0aC5jb3MoYW5nbGUpIC0gdGhpcy55ICogTWF0aC5zaW4oYW5nbGUpOwoJCQl2YXIgeSA9IHRoaXMueCAqIE1hdGguc2luKGFuZ2xlKSArIHRoaXMueSAqIE1hdGguY29zKGFuZ2xlKTsKCQkJcmV0dXJuIG5ldyBWZWN0b3IzKHgsIHksIHRoaXMueik7CgkJfTsKCgkJVmVjdG9yMy5wcm90b3R5cGUucGVyc3BlY3RpdmVQcm9qZWN0aW9uID0gZnVuY3Rpb24gKGZvdiwgdmlld0Rpc3RhbmNlKSB7CgkJCXZhciBmYWN0b3IgPSBmb3YgLyAodmlld0Rpc3RhbmNlICsgdGhpcy56KTsKCQkJdmFyIHggPSB0aGlzLnggKiBmYWN0b3IgKyBjYW52YXMud2lkdGggLyAyOwoJCQl2YXIgeSA9IHRoaXMueSAqIGZhY3RvciArIGNhbnZhcy5oZWlnaHQgLyAyOwoJCQlyZXR1cm4gbmV3IFZlY3RvcjMoeCwgeSwgdGhpcy56KTsKCQl9OwoJCVZlY3RvcjMucHJvdG90eXBlLmRyYXcgPSBmdW5jdGlvbiAoKSB7CgkJCXZhciBmcmFjID0gdGhpcy55IC8gbWF4QW1wbGl0dWRlOwoJCQl2YXIgciA9IDI1NTsKCQkJdmFyIGcgPSAxODY7CgkJCXZhciBiID0gMDsKCQkJdmFyIHZlYyA9IHRoaXMucm90YXRlWChyb3RYQ291bnRlcikucm90YXRlWShyb3RZQ291bnRlcikucm90YXRlWihyb3RaQ291bnRlcikucGVyc3BlY3RpdmVQcm9qZWN0aW9uKGZvdiwgZGlzdCk7CgoJCQl0aGlzLmNvbG9yID0gInJnYigiICsgciArICIsICIgKyBnICsgIiwgIiArIGI7CgkJCWN0eC5maWxsU3R5bGUgPSB0aGlzLmNvbG9yOwoJCQljdHguZmlsbFJlY3QodmVjLngsIHZlYy55LCBwYXJ0aWNsZVNpemUsIHBhcnRpY2xlU2l6ZSk7CgkJfTsKCi8vIEluaXQKCQlmb3IgKHZhciB6ID0gMDsgeiA8IHNpZGVMZW5ndGg7IHorKykgewoJCQlmb3IgKHZhciB4ID0gMDsgeCA8IHNpZGVMZW5ndGg7IHgrKykgewoJCQkJdmFyIHhTdGFydCA9IC0oc2lkZUxlbmd0aCAqIHNwYWNpbmcpIC8gMjsKCQkJCXBvaW50cy5wdXNoKAoJCQkJCW5ldyBWZWN0b3IzKHhTdGFydCArIHggKiBzcGFjaW5nLCAwLCB4U3RhcnQgKyB6ICogc3BhY2luZykpOwoKCQkJfQoJCX0KCgkJKGZ1bmN0aW9uIGxvb3AoKSB7CgkJCWN0eC5maWxsU3R5bGUgPSAicmdiYSgyMiwgMjQsIDI5LCAiICsgb3BhY2l0eSArICIpIjsKCQkJY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7CgoJCQlmb3IgKHZhciBpID0gMCwgbWF4ID0gcG9pbnRzLmxlbmd0aDsgaSA8IG1heDsgaSsrKSB7CgkJCQl2YXIgX3ggPSBpICUgc2lkZUxlbmd0aDsKCQkJCXZhciBfeiA9IE1hdGguZmxvb3IoaSAvIHNpZGVMZW5ndGgpOwoJCQkJdmFyIHhGaW5hbCA9IE1hdGguc2luKF94IC8gc2lkZUxlbmd0aCAqIDQgKiBNYXRoLlBJICsgY291bnRlcik7CgkJCQl2YXIgekZpbmFsID0gTWF0aC5jb3MoX3ogLyBzaWRlTGVuZ3RoICogNCAqIE1hdGguUEkgKyBjb3VudGVyKTsKCQkJCXZhciBnYXAgPSBtYXhBbXBsaXR1ZGUgKiAwLjM7CgkJCQl2YXIgYW1wID0gbWF4QW1wbGl0dWRlIC0gZ2FwOwoKCQkJCXBvaW50c1tfeiAqIHNpZGVMZW5ndGggKyBfeF0ueSA9IG1heEFtcGxpdHVkZSArIHhGaW5hbCAqIHpGaW5hbCAqIGFtcDsKCgkJCQlwb2ludHNbaV0uZHJhdygpOwoJCQl9CgkJCWNvdW50ZXIgKz0gMC4wMzsKCgkJCXJvdFhDb3VudGVyICs9IDAuMDA1OwoJCQlyb3RZQ291bnRlciArPSAwLjAwNTsKCQkJLy9yb3RaQ291bnRlciArPSAwLjAwNTsKCgkJCXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7CgkJfSkoKTsKCX07CgoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgKiBGbHlpbmcgQmFsbHMKCSAqIEF1dGhvciA6IFZpbmNlbnQgR2FycmVhdSAgLSB2aW5jZW50Z2FycmVhdS5jb20KCSAqIE1JVCBsaWNlbnNlOiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUCgkgKiBEZW1vIC8gR2VuZXJhdG9yIDogdmluY2VudGdhcnJlYXUuY29tL3BhcnRpY2xlcy5qcwoJICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgoJQ1JVTUlOQS5mbHlpbmdCYWxscyA9IGZ1bmN0aW9uICgpIHsKCgkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCSQoJy5wYXJ0aWNsZXMtanMnKS5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCXZhciBpZCA9ICdwYXJ0aWNsZS0nICsgKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTkgLSAxMTEgKyAxKSkgKyAxMTEpOwoJCQkJJCh0aGlzKS5hdHRyKCdpZCcsIGlkKTsKCQkJCXBhcnRpY2xlc0pTLmxvYWQoaWQsICcuL2pzLycgKyAkKHRoaXMpLmRhdGEoJ3NldHRpbmdzJykgKyAnLmpzb24nLCBmdW5jdGlvbiAoKSB7CgkJCQl9KTsKCQkJfSk7CgkJfSwgNTAwKTsKCX07CgoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgKiBGaXhlZCBIZWFkZXIKICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKCUNSVU1JTkEuZml4ZWRIZWFkZXIgPSBmdW5jdGlvbiAoKSB7CgkJLy8gZ3JhYiBhbiBlbGVtZW50CgkJJGhlYWRlci5oZWFkcm9vbSgKCQkJewoJCQkJIm9mZnNldCI6IDEwLAoJCQkJInRvbGVyYW5jZSI6IDUsCgkJCQkiY2xhc3NlcyI6IHsKCQkJCQkiaW5pdGlhbCI6ICJhbmltYXRlZCIsCgkJCQkJInBpbm5lZCI6ICJzbGlkZURvd24iLAoJCQkJCSJ1bnBpbm5lZCI6ICJzbGlkZVVwIgoJCQkJfQoJCQl9CgkJKTsKCX07CgoJLy9TY3JvbGwgdG8gdG9wLgoJalF1ZXJ5KCcuYmFjay10by10b3AnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CgkJJCgnaHRtbCxib2R5JykuYW5pbWF0ZSh7CgkJCXNjcm9sbFRvcDogMAoJCX0sIDEyMDApOwoJCXJldHVybiBmYWxzZTsKCX0pOwoKCgkvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICogQ09VTlRFUiBOVU1CRVJTCiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLmNvdW50ZXJzID0gZnVuY3Rpb24gKCkgewoJCWlmICgkY291bnRlci5sZW5ndGgpIHsKCQkJJGNvdW50ZXIuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQlqUXVlcnkodGhpcykud2F5cG9pbnQoZnVuY3Rpb24gKCkgewoJCQkJCSQodGhpcy5lbGVtZW50KS5maW5kKCdzcGFuJykuY291bnRUbygpOwoJCQkJCXRoaXMuZGVzdHJveSgpOwoJCQkJfSwge29mZnNldDogJzk1JSd9KTsKCQkJfSk7CgkJfQoJfTsKCgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAqIENPVU5URE9XTgogICAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgoJQ1JVTUlOQS5jb3VudGRvd25zID0gZnVuY3Rpb24gKCkgewoKCQkkY291bnRkb3duLmVhY2goZnVuY3Rpb24gKCkgewoJCQkkKHRoaXMpLlRpbWVDaXJjbGVzKHsKCQkJCWNpcmNsZV9iZ19jb2xvcjogJyMxNTE3MWMnLAoJCQkJYW5pbWF0aW9uX2ludGVydmFsOiAndGlja3MnLAoJCQkJZmdfd2lkdGg6IDAuMDUsCgkJCQliZ193aWR0aDogMS4yLAoJCQkJbnVtYmVyX3NpemU6IDAuMzYsCgkJCQl0ZXh0X3NpemU6IDAuMTYsCgoJCQkJdGltZTogewoJCQkJCURheXM6IHtjb2xvcjogJyNmZmJhMDAnfSwKCQkJCQlIb3Vyczoge2NvbG9yOiAnI2ZmYmEwMCd9LAoJCQkJCU1pbnV0ZXM6IHtjb2xvcjogJyNmZmJhMDAnfSwKCQkJCQlTZWNvbmRzOiB7Y29sb3I6ICcjZmZiYTAwJ30KCQkJCX0KCQkJfSk7CgoJCX0pOwoKCQkkY291bnRkb3duX251bWJlci5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJJCh0aGlzKS5UaW1lQ2lyY2xlcyh7CgkJCQljaXJjbGVfYmdfY29sb3I6ICd0cmFuc3BhcmVudCcsCgkJCQlhbmltYXRpb25faW50ZXJ2YWw6ICd0aWNrcycsCgkJCQludW1iZXJfc2l6ZTogMC40NiwKCQkJCXRleHRfc2l6ZTogMC4xMiwKCgkJCQl0aW1lOiB7CgkJCQkJRGF5czoge2NvbG9yOiAndHJhbnNwYXJlbnQnfSwKCQkJCQlIb3Vyczoge2NvbG9yOiAndHJhbnNwYXJlbnQnfSwKCQkJCQlNaW51dGVzOiB7Y29sb3I6ICd0cmFuc3BhcmVudCd9LAoJCQkJCVNlY29uZHM6IHtjb2xvcjogJ3RyYW5zcGFyZW50J30KCQkJCX0KCQkJfSk7CgoJCX0pOwoJfTsKCgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAqIElzb3RvcGUgc29ydGluZwoJICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCglDUlVNSU5BLklzb3RvcGVTb3J0ID0gZnVuY3Rpb24gKCkgewoJCXZhciAkY29udGFpbmVyID0gJCgnLnNvcnRpbmctY29udGFpbmVyJyk7CgkJJGNvbnRhaW5lci5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJdmFyICRjdXJyZW50ID0gJCh0aGlzKTsKCQkJdmFyIGxheW91dCA9ICgkY3VycmVudC5kYXRhKCdsYXlvdXQnKS5sZW5ndGgpID8gJGN1cnJlbnQuZGF0YSgnbGF5b3V0JykgOiAnbWFzb25yeSc7CgkJCSRjdXJyZW50Lmlzb3RvcGUoewoJCQkJaXRlbVNlbGVjdG9yOiAnLnNvcnRpbmctaXRlbScsCgkJCQlsYXlvdXRNb2RlOiBsYXlvdXQsCgkJCQlwZXJjZW50UG9zaXRpb246IHRydWUKCQkJfSk7CgoJCQkkY3VycmVudC5pbWFnZXNMb2FkZWQoKS5wcm9ncmVzcyhmdW5jdGlvbiAoKSB7CgkJCQkkY3VycmVudC5pc290b3BlKCdsYXlvdXQnKTsKCQkJfSk7CgoJCQl2YXIgJHNvcnRpbmdfYnV0dG9ucyA9ICRjdXJyZW50LnNpYmxpbmdzKCcuc29ydGluZy1tZW51JykuZmluZCgnbGknKTsKCgkJCSRzb3J0aW5nX2J1dHRvbnMub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewoJCQkJaWYgKCQodGhpcykuaGFzQ2xhc3MoJ2FjdGl2ZScpKSByZXR1cm4gZmFsc2U7CgkJCQkkKHRoaXMpLnBhcmVudCgpLmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCQkkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsKCQkJCXZhciBmaWx0ZXJWYWx1ZSA9ICQodGhpcykuZGF0YSgnZmlsdGVyJyk7CgkJCQlpZiAodHlwZW9mIGZpbHRlclZhbHVlICE9ICJ1bmRlZmluZWQiKSB7CgkJCQkJJGN1cnJlbnQuaXNvdG9wZSh7ZmlsdGVyOiBmaWx0ZXJWYWx1ZX0pOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJfSk7CgkJfSk7Cgl9OwoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgKiBFbWJlZGRlZCBWaWRlbyBpbiBwb3AgdXAKICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglDUlVNSU5BLm1lZGlhUG9wdXBzID0gZnVuY3Rpb24gKCkgewoJCSQoJy5qcy1wb3B1cC1pZnJhbWUnKS5tYWduaWZpY1BvcHVwKHsKCQkJZGlzYWJsZU9uOiA3MDAsCgkJCXR5cGU6ICdpZnJhbWUnLAoJCQltYWluQ2xhc3M6ICdtZnAtZmFkZScsCgkJCXJlbW92YWxEZWxheTogMTYwLAoJCQlwcmVsb2FkZXI6IGZhbHNlLAoKCQkJZml4ZWRDb250ZW50UG9zOiBmYWxzZQoJCX0pOwoJCSQoJy5qcy16b29tLWltYWdlLCAubGluay1pbWFnZScpLm1hZ25pZmljUG9wdXAoewoJCQl0eXBlOiAnaW1hZ2UnLAoJCQlyZW1vdmFsRGVsYXk6IDUwMCwgLy9kZWxheSByZW1vdmFsIGJ5IFggdG8gYWxsb3cgb3V0LWFuaW1hdGlvbgoJCQljYWxsYmFja3M6IHsKCQkJCWJlZm9yZU9wZW46IGZ1bmN0aW9uICgpIHsKCQkJCQkvLyBqdXN0IGEgaGFjayB0aGF0IGFkZHMgbWZwLWFuaW0gY2xhc3MgdG8gbWFya3VwCgkJCQkJdGhpcy5zdC5pbWFnZS5tYXJrdXAgPSB0aGlzLnN0LmltYWdlLm1hcmt1cC5yZXBsYWNlKCdtZnAtZmlndXJlJywgJ21mcC1maWd1cmUgbWZwLXdpdGgtYW5pbScpOwoJCQkJCXRoaXMuc3QubWFpbkNsYXNzID0gJ21mcC16b29tLWluJzsKCQkJCX0KCQkJfSwKCQkJY2xvc2VPbkNvbnRlbnRDbGljazogdHJ1ZSwKCQkJbWlkQ2xpY2s6IHRydWUKCQl9KTsKCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAqIFByb2dyZXNzIGJhcnMgQW5pbWF0aW9uCiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLnByb2dyZXNCYXJzID0gZnVuY3Rpb24gKCkgewoJCWlmICgkcHJvZ3Jlc3NfYmFyLmxlbmd0aCkgewoJCQkkcHJvZ3Jlc3NfYmFyLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJalF1ZXJ5KHRoaXMpLndheXBvaW50KGZ1bmN0aW9uICgpIHsKCQkJCQkkKHRoaXMuZWxlbWVudCkuZmluZCgnLmNvdW50LWFuaW1hdGUnKS5jb3VudFRvKCk7CgkJCQkJJCh0aGlzLmVsZW1lbnQpLmZpbmQoJy5za2lsbHMtaXRlbS1tZXRlci1hY3RpdmUnKS5mYWRlVG8oMzAwLCAxKS5hZGRDbGFzcygnc2tpbGxzLWFuaW1hdGUnKTsKCQkJCQl0aGlzLmRlc3Ryb3koKTsKCQkJCX0sIHtvZmZzZXQ6ICc5MCUnfSk7CgkJCX0pOwoJCX0KCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAqIFBpZSBjaGFydCBBbmltYXRpb24KCSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKCUNSVU1JTkEucGllQ2hhcnRzID0gZnVuY3Rpb24gKCkgewoJCWlmICgkcGllX2NoYXJ0Lmxlbmd0aCkgewoJCQkkcGllX2NoYXJ0LmVhY2goZnVuY3Rpb24gKCkgewoJCQkJalF1ZXJ5KHRoaXMpLndheXBvaW50KGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgY3VycmVudF9jYXJ0ID0gJCh0aGlzLmVsZW1lbnQpOwoJCQkJCXZhciBzdGFydENvbG9yID0gY3VycmVudF9jYXJ0LmRhdGEoJ3N0YXJ0LWNvbG9yJyk7CgkJCQkJdmFyIGVuZENvbG9yID0gY3VycmVudF9jYXJ0LmRhdGEoJ2VuZC1jb2xvcicpOwoJCQkJCXZhciBjb3VudGVyID0gY3VycmVudF9jYXJ0LmRhdGEoJ3ZhbHVlJykgKiAxMDA7CgoJCQkJCWN1cnJlbnRfY2FydC5jaXJjbGVQcm9ncmVzcyh7CgkJCQkJCXRoaWNrbmVzczogMTYsCgkJCQkJCXN0YXJ0QW5nbGU6IC1NYXRoLlBJIC8gNCAqIDIsCgkJCQkJCWVtcHR5RmlsbDogJ3RyYW5zcGFyZW50JywKCQkJCQkJbGluZUNhcDogJ3JvdW5kJywKCQkJCQkJZmlsbDogewoJCQkJCQkJZ3JhZGllbnQ6IFtzdGFydENvbG9yLCBlbmRDb2xvcl0sCgkJCQkJCQlncmFkaWVudEFuZ2xlOiBNYXRoLlBJIC8gNAoJCQkJCQl9CgkJCQkJfSkub24oJ2NpcmNsZS1hbmltYXRpb24tcHJvZ3Jlc3MnLCBmdW5jdGlvbiAoZXZlbnQsIHByb2dyZXNzKSB7CgkJCQkJCWN1cnJlbnRfY2FydC5maW5kKCcuY29udGVudCcpLmh0bWwocGFyc2VJbnQoY291bnRlciAqIHByb2dyZXNzLCAxMCkgKyAnPHNwYW4+JTwvc3Bhbj4nCgkJCQkJCSkKCQkJCQl9KS5vbignY2lyY2xlLWFuaW1hdGlvbi1lbmQnLCBmdW5jdGlvbiAoKSB7CgoJCQkJCX0pOwoJCQkJCXRoaXMuZGVzdHJveSgpOwoKCQkJCX0sIHtvZmZzZXQ6ICc5MCUnfSk7CgkJCX0pOwoJCX0KCX07CgoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkqIFNsaWRlcnMgYW5kIENhcm91c2VscwoJKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCUNSVU1JTkEuU3dpcGVyID0gewoJCSRzd2lwZXJzOiB7fSwKCQlpbml0OiBmdW5jdGlvbiAoKSB7CgkJCXZhciBfdGhpcyA9IHRoaXM7CgkJCSQoJy5zd2lwZXItY29udGFpbmVyJykuZWFjaChmdW5jdGlvbiAoaWR4KSB7CgkJCQl2YXIgJHNlbGYgPSAkKHRoaXMpOwoJCQkJdmFyIGlkID0gJ3N3aXBlci11bmlxdWUtaWQtJyArIGlkeDsKCQkJCSRzZWxmLmFkZENsYXNzKGlkICsgJyBpbml0aWFsaXplZCcpLmF0dHIoJ2lkJywgaWQpOwoJCQkJJHNlbGYuY2xvc2VzdCgnLmNydW1pbmEtbW9kdWxlJykuZmluZCgnLnN3aXBlci1wYWdpbmF0aW9uJykuYWRkQ2xhc3MoJ3BhZ2luYXRpb24tJyArIGlkKTsKCgkJCQlfdGhpcy4kc3dpcGVyc1tpZF0gPSBuZXcgU3dpcGVyKCcjJyArIGlkLCBfdGhpcy5nZXRQYXJhbXMoJHNlbGYsIGlkKSk7CgkJCQlfdGhpcy5hZGRFdmVudExpc3RlbmVycyhfdGhpcy4kc3dpcGVyc1tpZF0pOwoJCQl9KTsKCQl9LAoJCWdldFBhcmFtczogZnVuY3Rpb24gKCRzd2lwZXIsIGlkKSB7CgkJCXZhciBwYXJhbXMgPSB7CgkJCQlwYXJhbGxheDogdHJ1ZSwKCQkJCWJyZWFrcG9pbnRzOiBmYWxzZSwKCQkJCWtleWJvYXJkQ29udHJvbDogdHJ1ZSwKCQkJCXNldFdyYXBwZXJTaXplOiB0cnVlLAoJCQkJcHJlbG9hZEltYWdlczogdHJ1ZSwKCQkJCXVwZGF0ZU9uSW1hZ2VzUmVhZHk6IHRydWUsCgkJCQlwcmV2TmV4dDogKCRzd2lwZXIuZGF0YSgncHJldi1uZXh0JykpID8gJHN3aXBlci5kYXRhKCdwcmV2LW5leHQnKSA6IGZhbHNlLAoJCQkJY2hhbmdlSGFuZGxlcjogKCRzd2lwZXIuZGF0YSgnY2hhbmdlLWhhbmRsZXInKSkgPyAkc3dpcGVyLmRhdGEoJ2NoYW5nZS1oYW5kbGVyJykgOiAnJywKCQkJCWRpcmVjdGlvbjogKCRzd2lwZXIuZGF0YSgnZGlyZWN0aW9uJykpID8gJHN3aXBlci5kYXRhKCdkaXJlY3Rpb24nKSA6ICdob3Jpem9udGFsJywKCQkJCW1vdXNld2hlZWxDb250cm9sOiAoJHN3aXBlci5kYXRhKCdtb3VzZS1zY3JvbGwnKSkgPyAkc3dpcGVyLmRhdGEoJ21vdXNlLXNjcm9sbCcpIDogZmFsc2UsCgkJCQltb3VzZXdoZWVsUmVsZWFzZU9uRWRnZXM6ICgkc3dpcGVyLmRhdGEoJ21vdXNlLXNjcm9sbCcpKSA/ICRzd2lwZXIuZGF0YSgnbW91c2Utc2Nyb2xsJykgOiBmYWxzZSwKCQkJCXNsaWRlc1BlclZpZXc6ICgkc3dpcGVyLmRhdGEoJ3Nob3ctaXRlbXMnKSkgPyAkc3dpcGVyLmRhdGEoJ3Nob3ctaXRlbXMnKSA6IDEsCgkJCQlzbGlkZXNQZXJHcm91cDogKCRzd2lwZXIuZGF0YSgnc2Nyb2xsLWl0ZW1zJykpID8gJHN3aXBlci5kYXRhKCdzY3JvbGwtaXRlbXMnKSA6IDEsCgkJCQlzcGFjZUJldHdlZW46ICgkc3dpcGVyLmRhdGEoJ3NwYWNlLWJldHdlZW4nKSB8fCAkc3dpcGVyLmRhdGEoJ3NwYWNlLWJldHdlZW4nKSA9PSAwKSA/ICRzd2lwZXIuZGF0YSgnc3BhY2UtYmV0d2VlbicpIDogMjAsCgkJCQljZW50ZXJlZFNsaWRlczogKCRzd2lwZXIuZGF0YSgnY2VudGVyZWQtc2xpZGVyJykpID8gJHN3aXBlci5kYXRhKCdjZW50ZXJlZC1zbGlkZXInKSA6IGZhbHNlLAoJCQkJYXV0b3BsYXk6ICgkc3dpcGVyLmRhdGEoJ2F1dG9wbGF5JykpID8gcGFyc2VJbnQoJHN3aXBlci5kYXRhKCdhdXRvcGxheScpLCAxMCkgOiAwLAoJCQkJYXV0b0hlaWdodDogKCRzd2lwZXIuaGFzQ2xhc3MoJ2F1dG8taGVpZ2h0JykpID8gdHJ1ZSA6IGZhbHNlLAoJCQkJbG9vcDogKCRzd2lwZXIuZGF0YSgnbG9vcCcpID09IGZhbHNlKSA/ICRzd2lwZXIuZGF0YSgnbG9vcCcpIDogdHJ1ZSwKCQkJCWVmZmVjdDogKCRzd2lwZXIuZGF0YSgnZWZmZWN0JykpID8gJHN3aXBlci5kYXRhKCdlZmZlY3QnKSA6ICdzbGlkZScsCgkJCQlwYWdpbmF0aW9uOiB7CgkJCQkJdHlwZTogKCRzd2lwZXIuZGF0YSgncGFnaW5hdGlvbicpKSA/ICRzd2lwZXIuZGF0YSgncGFnaW5hdGlvbicpIDogJ2J1bGxldHMnLAoJCQkJCWVsOiAnLnBhZ2luYXRpb24tJyArIGlkLAoJCQkJCWNsaWNrYWJsZTogdHJ1ZQoJCQkJfSwKCQkJCWNvdmVyZmxvdzogewoJCQkJCXN0cmV0Y2g6ICgkc3dpcGVyLmRhdGEoJ3N0cmV0Y2gnKSkgPyAkc3dpcGVyLmRhdGEoJ3N0cmV0Y2gnKSA6IDAsCgkJCQkJZGVwdGg6ICgkc3dpcGVyLmRhdGEoJ2RlcHRoJykpID8gJHN3aXBlci5kYXRhKCdkZXB0aCcpIDogMCwKCQkJCQlzbGlkZVNoYWRvd3M6IGZhbHNlLAoJCQkJCXJvdGF0ZTogMCwKCQkJCQltb2RpZmllcjogMiwKCQkJCX0sCgkJCQlmYWRlOiB7CgkJCQkJY3Jvc3NGYWRlOiAoJHN3aXBlci5kYXRhKCdjcm9zc2ZhZGUnKSkgPyAkc3dpcGVyLmRhdGEoJ2Nyb3NzZmFkZScpIDogdHJ1ZQoJCQkJfSwKCQkJfQoKCQkJaWYgKHBhcmFtc1snc2xpZGVzUGVyVmlldyddID4gMSkgewoJCQkJcGFyYW1zWydicmVha3BvaW50cyddID0gewoJCQkJCTQ4MDogewoJCQkJCQlzbGlkZXNQZXJWaWV3OiAxLAoJCQkJCQlzbGlkZXNQZXJHcm91cDogMQoJCQkJCX0sCgkJCQkJNzY4OiB7CgkJCQkJCXNsaWRlc1BlclZpZXc6IDIsCgkJCQkJCXNsaWRlc1Blckdyb3VwOiAyCgkJCQkJfQoJCQkJfTsKCQkJfQoKCQkJcmV0dXJuIHBhcmFtczsKCQl9LAoJCWFkZEV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbiAoJHN3aXBlcikgewoJCQl2YXIgX3RoaXMgPSB0aGlzOwoJCQl2YXIgJHdyYXBwZXIgPSAkc3dpcGVyLiRlbC5jbG9zZXN0KCcuY3J1bWluYS1tb2R1bGUtc2xpZGVyJyk7CgoJCQkvL1ByZXYgTmV4dCBjbGlja3MKCQkJaWYgKCRzd2lwZXIucGFyYW1zLnByZXZOZXh0KSB7CgkJCQkkd3JhcHBlci5vbignY2xpY2snLCAnLnN3aXBlci1idG4tbmV4dCwgLnN3aXBlci1idG4tcHJldicsIGZ1bmN0aW9uIChldmVudCkgewoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJdmFyICRzZWxmID0gJCh0aGlzKTsKCgkJCQkJaWYgKCRzZWxmLmhhc0NsYXNzKCdzd2lwZXItYnRuLW5leHQnKSkgewoJCQkJCQkkc3dpcGVyLnNsaWRlTmV4dCgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRzd2lwZXIuc2xpZGVQcmV2KCk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCgkJCS8vVGh1bWIvdGltZXMgY2xpY2tzCgkJCSR3cmFwcGVyLm9uKCdjbGljaycsICcuc2xpZGVyLXNsaWRlcyAuc2xpZGVzLWl0ZW0nLCBmdW5jdGlvbiAoZXZlbnQpIHsKCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7CgkJCQl2YXIgJHNlbGYgPSAkKHRoaXMpOwoJCQkJaWYgKCRzd2lwZXIucGFyYW1zLmxvb3ApIHsKCQkJCQkkc3dpcGVyLnNsaWRlVG9Mb29wKCRzZWxmLmluZGV4KCkpOwoJCQkJfSBlbHNlIHsKCQkJCQkkc3dpcGVyLnNsaWRlVG8oJHNlbGYuaW5kZXgoKSk7CgkJCQl9CgkJCX0pOwoKCQkJLy9UaW1lcyBjbGlja3MKCQkJJHdyYXBwZXIub24oJ2NsaWNrJywgJy50aW1lLWxpbmUtc2xpZGVzIC5zbGlkZXMtaXRlbScsIGZ1bmN0aW9uIChldmVudCkgewoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCXZhciAkc2VsZiA9ICQodGhpcyk7CgkJCQlfdGhpcy5jaGFuZ2VzLnRpbWVMaW5lKCRzd2lwZXIsICR3cmFwcGVyLCBfdGhpcywgJHNlbGYuaW5kZXgoKSk7CgkJCX0pOwoKCQkJLy9SdW4gaGFuZGxlciBhZnRlciBjaGFuZ2Ugc2xpZGUKCQkJJHN3aXBlci5vbignc2xpZGVDaGFuZ2UnLCBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgaGFuZGxlciA9IF90aGlzLmNoYW5nZXNbJHN3aXBlci5wYXJhbXMuY2hhbmdlSGFuZGxlcl07CgkJCQlpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHsKCQkJCQloYW5kbGVyKCRzd2lwZXIsICR3cmFwcGVyLCBfdGhpcywgdGhpcy5yZWFsSW5kZXgpOwoJCQkJfQoJCQl9KTsKCQl9LAoJCWNoYW5nZXM6IHsKCQkJJ3RodW1ic1BhcmVudCc6IGZ1bmN0aW9uICgkc3dpcGVyLCAkd3JhcHBlcikgewoJCQkJdmFyICR0aHVtYnMgPSAkd3JhcHBlci5maW5kKCcuc2xpZGVyLXNsaWRlcyAuc2xpZGVzLWl0ZW0nKTsKCQkJCSR0aHVtYnMucmVtb3ZlQ2xhc3MoJ3N3aXBlci1zbGlkZS1hY3RpdmUnKTsKCQkJCSR0aHVtYnMuZXEoJHN3aXBlci5yZWFsSW5kZXgpLmFkZENsYXNzKCdzd2lwZXItc2xpZGUtYWN0aXZlJyk7CgkJCX0sCgkJCSd0aW1lUGFyZW50JzogZnVuY3Rpb24gKCRzd2lwZXIsICR3cmFwcGVyLCBtYWluLCBpbmRleCkgewoJCQkJdmFyIHRpbWVTd2lwZXJJZCA9ICR3cmFwcGVyLmZpbmQoJy5zd2lwZXItdGltZS1saW5lJykuYXR0cignaWQnKTsKCQkJCXZhciAkdGltZVN3aXBlciA9IG1haW4uJHN3aXBlcnNbdGltZVN3aXBlcklkXTsKCQkJCSR0aW1lU3dpcGVyLnNsaWRlVG8oaW5kZXgpOwoJCQkJbWFpbi5jaGFuZ2VzLnRpbWVMaW5lKCR0aW1lU3dpcGVyLCAkd3JhcHBlciwgbWFpbiwgaW5kZXgpOwoJCQl9LAoJCQkndGltZUxpbmUnOiBmdW5jdGlvbiAoJHN3aXBlciwgJHdyYXBwZXIsIG1haW4sIGluZGV4KSB7CgkJCQl2YXIgJHRpbWVzID0gJHN3aXBlci4kZWwuZmluZCgnLnN3aXBlci1zbGlkZScpOwoJCQkJdmFyICRhY3RpdmUgPSAkdGltZXMuZXEoaW5kZXgpOwoKCQkJCWlmICgkYWN0aXZlLmhhc0NsYXNzKCd0aW1lLWFjdGl2ZScpKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCSR0aW1lcy5yZW1vdmVDbGFzcygndGltZS1hY3RpdmUnKTsKCQkJCSRhY3RpdmUuYWRkQ2xhc3MoJ3RpbWUtYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ3Zpc2l0ZWQnKTsKCQkJCSRhY3RpdmUucHJldkFsbCgnLnN3aXBlci1zbGlkZScpLmFkZENsYXNzKCd2aXNpdGVkJyk7CgkJCQkkYWN0aXZlLm5leHRBbGwoJy5zd2lwZXItc2xpZGUnKS5yZW1vdmVDbGFzcygndmlzaXRlZCcpOwoJCQl9CgkJfQoJfTsKCgoJJCgnLmpzLW9wZW4tcG9wdXAnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CgkJJCh0aGlzKS5jbG9zZXN0KCcuaGFzLXBvcHVwJykuZmluZCgnLndpbmRvdy1wb3B1cCcpLnRvZ2dsZUNsYXNzKCdhY3RpdmUnKTsKCQkkYm9keS50b2dnbGVDbGFzcygncG9wdXAtYWN0aXZlJyk7CgkJcmV0dXJuIGZhbHNlOwoJfSk7CgoKCS8vIElvbi5SYW5nZVNsaWRlcgoJLy8gdmVyc2lvbiAyLjIuMCBCdWlsZDogMzgwCgkvLyDDgsKpIERlbmlzIEluZXNoaW4sIDIwMTcKCS8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Jb25EZW4KCS8vCgkvLyBQcm9qZWN0IHBhZ2U6ICAgIGh0dHA6Ly9pb25kZW4uY29tL2EvcGx1Z2lucy9pb24ucmFuZ2VTbGlkZXIvZW4uaHRtbAoJLy8gR2l0SHViIHBhZ2U6ICAgICBodHRwczovL2dpdGh1Yi5jb20vSW9uRGVuL2lvbi5yYW5nZVNsaWRlcgoJLy8KCS8vIFJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbmNlOgoJLy8gaHR0cDovL2lvbmRlbi5jb20vYS9wbHVnaW5zL2xpY2VuY2UtZW4uaHRtbAoKCUNSVU1JTkEucmFuZ2VTbGlkZXIgPSBmdW5jdGlvbiAoKSB7CgkJJCgiLnJhbmdlLXNsaWRlci1qcyIpLmlvblJhbmdlU2xpZGVyKHsKCQkJCXR5cGU6ICJkb3VibGUiLAoJCQkJZ3JpZDogdHJ1ZSwKCQkJCW1pbjogMCwKCQkJCW1heDogMTAwMCwKCQkJCWZyb206IDIwMCwKCQkJCXRvOiA4MDAsCgkJCQlwcmVmaXg6ICIkIgoJCQl9CgkJKTsKCX07CgoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgKiBTZWxlY3QyIEluaXRpYWxpemF0aW9uCiAgICAgKiBodHRwczovL3NlbGVjdDIub3JnL2dldHRpbmctc3RhcnRlZC9iYXNpYy11c2FnZQogICAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCglDUlVNSU5BLnNlbGVjdDJJbml0ID0gZnVuY3Rpb24gKCkgewoJCSQoJy53b294LS1zZWxlY3QnKS5zZWxlY3QyKCk7Cgl9OwoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgKiBTZWxlY3QyIGZvciBMYW5ndWFnZSBTd2l0Y2hlciBJbml0aWFsaXphdGlvbgogICAgICogaHR0cHM6Ly9zZWxlY3QyLm9yZy9nZXR0aW5nLXN0YXJ0ZWQvYmFzaWMtdXNhZ2UKICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJQ1JVTUlOQS5zZWxlY3QyTFMgPSBmdW5jdGlvbiAoKSB7CgkJdmFyICRzd2l0Y2hlciA9ICQoICcubGFuZ3VhZ2Utc3dpdGNoZXInICk7CgkJJHN3aXRjaGVyLnNlbGVjdDIoIHsKCQkJdGVtcGxhdGVSZXN1bHQ6IGZvcm1hdE9wdGlvbnMKCQl9ICk7CgoJCSRzd2l0Y2hlci5vbiggJ3NlbGVjdDI6c2VsZWN0JywgZnVuY3Rpb24gKCBlICkgewoJCQl2YXIgZGF0YSA9IGUucGFyYW1zLmRhdGE7CgkJCXZhciAkc2VsZiA9IGpRdWVyeShkYXRhLmVsZW1lbnQpOwoJCQlpZiAoICEkc2VsZi5sZW5ndGggfHwgZGF0YS5zZWxlY3RlZCAhPT0gdHJ1ZSB8fCBkYXRhLmRpc2FibGVkID09PSB0cnVlICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl2YXIgaHJlZiA9ICRzZWxmLmRhdGEoJ2hyZWYnKTsKCgkJCWlmKGhyZWYpewoJCQkJbG9jYXRpb24uaHJlZiA9IGhyZWY7CgkJCX0KCgkJfSApOwoJfTsKCgoJZnVuY3Rpb24gZm9ybWF0T3B0aW9ucyhzdGF0ZSkgewoJCWlmICghc3RhdGUuaWQpIHsKCQkJcmV0dXJuIHN0YXRlLnRleHQ7CgkJfQoJCXZhciAkc3RhdGUgPSAkKAoJCQknPHNwYW4gPjxpbWcgY2xhc3M9Indvb3gtaWNvbiIgc3l0bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsiIHNyYz0iaW1nLycgKyBzdGF0ZS5lbGVtZW50LnZhbHVlLnRvTG93ZXJDYXNlKCkgKyAnLnBuZyIgLz4gJyArIHN0YXRlLnRleHQgKyAnPC9zcGFuPicKCQkpOwoJCXJldHVybiAkc3RhdGU7Cgl9CgoKCgkvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJCSAqIERyb3Bkb3duIEZvciBTb3J0aW5nIE1lbnUKCQkgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCSQoIi5jdXN0b20tZHJvcGRvd24iKS5vbigiY2xpY2siLCAiLmluaXQiLCBmdW5jdGlvbiAoKSB7CgkJJCh0aGlzKS5jbG9zZXN0KCIuY3VzdG9tLWRyb3Bkb3duIikuY2hpbGRyZW4oJ2xpOm5vdCguaW5pdCknKS50b2dnbGUoKTsKCX0pOwoKCXZhciBhbGxPcHRpb25zID0gJCgiLmN1c3RvbS1kcm9wZG93biIpLmNoaWxkcmVuKCdsaTpub3QoLmluaXQpJyk7CgkkKCIuY3VzdG9tLWRyb3Bkb3duIikub24oImNsaWNrIiwgImxpOm5vdCguaW5pdCkiLCBmdW5jdGlvbiAoKSB7CgkJYWxsT3B0aW9ucy5yZW1vdmVDbGFzcygnc2VsZWN0ZWQnKTsKCQkkKHRoaXMpLmFkZENsYXNzKCdzZWxlY3RlZCcpOwoJCSQoIi5jdXN0b20tZHJvcGRvd24iKS5jaGlsZHJlbignLmluaXQnKS5odG1sKCQodGhpcykuaHRtbCgpKTsKCQlhbGxPcHRpb25zLnRvZ2dsZSgpOwoJfSk7CgoKCS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgKiBPdmVybGF5IE1lbnUKCSAqIGh0dHBzOi8vY29kZXBlbi5pby9LaW5nS2FiaXIvcGVuL1F5UHdnRwoJICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCglDUlVNSU5BLm92ZXJsYXlNZW51ID0gZnVuY3Rpb24gKCkgewoJCSQoJy5qcy1vcGVuLWFzaWRlJykuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkkKCdib2R5JykudG9nZ2xlQ2xhc3MoJ3BvcHVwLWFjdGl2ZScpOwoJCQkkKCcjb3ZlcmxheS1tZW51JykudG9nZ2xlQ2xhc3MoJ29wZW4nKTsKCQl9KTsKCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAqIE92ZXJsYXkgZm9yIEJvZHkKCSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJQ1JVTUlOQS5vdmVybGF5Qm9keSA9IGZ1bmN0aW9uICgpIHsKCQkkKCcuanMtYm9keS1vdmVybGF5JykuY2xpY2soZnVuY3Rpb24gKCkgewoJCQkkKCdib2R5JykudG9nZ2xlQ2xhc3MoJ2JvZHktb3ZlcmxheS1hY3RpdmUnKTsKCQl9KTsKCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAqIE1hdGVyaWFsIGRlc2lnbiBqcyBlZmZlY3RzCiAgICAgKiBTY3JpcHQgZmlsZTogbWF0ZXJpYWwubWluLmpzCiAgICAgKiBEb2N1bWVudGF0aW9uIGFib3V0IHVzZWQgcGx1Z2luOgogICAgICogaHR0cDovL2RlbW9zLmNyZWF0aXZlLXRpbS5jb20vbWF0ZXJpYWwta2l0L2NvbXBvbmVudHMtZG9jdW1lbnRhdGlvbi5odG1sCiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCUNSVU1JTkEuTWF0ZXJpYWxpemUgPSBmdW5jdGlvbiAoKSB7CgkJJC5tYXRlcmlhbC5pbml0KCk7CgoJCSQoJy5jaGVja2JveCA+IGxhYmVsJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewoJCQkkKHRoaXMpLmNsb3Nlc3QoJy5jaGVja2JveCcpLmFkZENsYXNzKCdjbGlja2VkJyk7CgkJfSk7CgoJCXZhciAkcGlja2VyID0gJCgnLmRhdGVwaWNrZXInKTsKCQkkcGlja2VyLmVhY2goZnVuY3Rpb24gKCkgewoJCQl2YXIgJHNlbGYgPSBqUXVlcnkodGhpcyk7CgoJCQkkc2VsZi5kYXRlcGlja2VyKCkub24oJ2NoYW5nZURhdGUnLCBmdW5jdGlvbiAoZXYpIHsKCQkJCSRzZWxmLmRhdGVwaWNrZXIoJ2hpZGUnKTsKCQkJfSk7CgoJCX0pOwoKCX07CgoKCUNSVU1JTkEubWFpbk1lbnUgPSB7CgkJJGxpbmtzOiBudWxsLAoJCWluaXQ6IGZ1bmN0aW9uICgpIHsKCQkJdGhpcy4kbGlua3MgPSAkKCcub3ZlcmxheS1tZW51LWxpc3QgPiAub3ZlcmxheS1tZW51LWl0ZW0nKTsKCQl9LAoJCWFkZEV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbiAoKSB7CgkJCXZhciBfdGhpcyA9IHRoaXM7CgoJCQl0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXJzKCk7CgkJCWlmIChDUlVNSU5BLmlzVG91Y2goKSkgewoKCQkJCSQoZG9jdW1lbnQpLm9uKCdjbGljay5tZW51JywgZnVuY3Rpb24gKGV2ZW50KSB7CgkJCQkJdmFyICRzZWxmID0gJChldmVudC50YXJnZXQpOwoJCQkJCWlmICghJHNlbGYuY2xvc2VzdCgnLm92ZXJsYXktbWVudS1pdGVtJykubGVuZ3RoICYmICEkc2VsZi5oYXNDbGFzcygnb3ZlcmxheS1tZW51LWl0ZW0nKSkgewoJCQkJCQlfdGhpcy4kbGlua3MuZmluZCgnLnN1Yi1tZW51JykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKCQkJCQl9CgkJCQl9KTsKCgkJCQl0aGlzLiRsaW5rcy5vbignY2xpY2subWVudScsIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgJHNlbGYgPSAkKHRoaXMpOwoJCQkJCXZhciAkc3ViTWVudSA9ICRzZWxmLmZpbmQoJy5zdWItbWVudScpOwoJCQkJCWlmICgkc3ViTWVudS5oYXNDbGFzcygnb3BlbicpKSB7CgkJCQkJCSRzdWJNZW51LnJlbW92ZUNsYXNzKCdvcGVuJyk7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCV90aGlzLiRsaW5rcy5maW5kKCcuc3ViLW1lbnUnKS5yZW1vdmVDbGFzcygnb3BlbicpOwoJCQkJCSRzZWxmLmZpbmQoJy5zdWItbWVudScpLmFkZENsYXNzKCdvcGVuJyk7CgkJCQl9KTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuJGxpbmtzLm9uKCdtb3VzZWVudGVyLm1lbnUgbW91c2VsZWF2ZS5tZW51JywgZnVuY3Rpb24gKGV2ZW50KSB7CgkJCQkJdmFyICRzZWxmID0gJCh0aGlzKTsKCQkJCQlpZiAoZXZlbnQudHlwZSA9PT0gJ21vdXNlZW50ZXInKSB7CgkJCQkJCSRzZWxmLmZpbmQoJy5zdWItbWVudScpLmFkZENsYXNzKCdvcGVuJyk7CgkJCQkJfQoJCQkJCWlmIChldmVudC50eXBlID09PSAnbW91c2VsZWF2ZScpIHsKCQkJCQkJJHNlbGYuZmluZCgnLnN1Yi1tZW51JykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCX0sCgkJcmVtb3ZlRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uICgpIHsKCQkJJChkb2N1bWVudCkub2ZmKCIubWVudSIpOwoJCQl0aGlzLiRsaW5rcy5vZmYoIi5tZW51Iik7CgkJfQoJfTsKCglDUlVNSU5BLmlzVG91Y2ggPSBmdW5jdGlvbiAoKSB7CgkJaWYgKG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWQvaSkKCQkJfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvd2ViT1MvaSkKCQkJfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpCgkJCXx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQYWQvaSkKCQkJfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKQoJCQl8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9CbGFja0JlcnJ5L2kpCgkJCXx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dpbmRvd3MgUGhvbmUvaSkKCQkpIHsKCQkJcmV0dXJuIHRydWU7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX07CgoKCUNSVU1JTkEudXBkYXRlUmVzcG9uc2l2ZUluaXQgPSBmdW5jdGlvbiAoKSB7CgkJdmFyIHJlc2l6ZVRpbWVyID0gbnVsbDsKCQl2YXIgcmVzaXplID0gZnVuY3Rpb24gKCkgewoJCQlyZXNpemVUaW1lciA9IG51bGw7CgoJCQkvLyBNZXRob2RzCgkJCUNSVU1JTkEubWFpbk1lbnUuYWRkRXZlbnRMaXN0ZW5lcnMoKTsKCQl9OwoKCQkkKHdpbmRvdykub24oJ3Jlc2l6ZScsIGZ1bmN0aW9uICgpIHsKCQkJaWYgKHJlc2l6ZVRpbWVyID09PSBudWxsKSB7CgkJCQlyZXNpemVUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJCQlyZXNpemUoKTsKCQkJCX0sIDIwMCk7CgkJCX0KCQl9KS5yZXNpemUoKTsKCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkgKiBDaGFydCBTdGFpc3RpY3MKCQkgKiBIaWdoY2hhcnRzIEpTIHY2LjEuNCAoMjAxOC0wOS0yNSkKIAkJCShjKSAyMDA5LTIwMTYgVG9yc3RlaW4gSG9uc2kKIAkJCUxpY2Vuc2U6IHd3dy5oaWdoY2hhcnRzLmNvbS9saWNlbnNlCgkqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKCUNSVU1JTkEuY2hhcnRTdGF0aXN0aWNzID0gZnVuY3Rpb24gKCkgewoJCXZhciBzZXJpZXNPcHRpb25zID0gW10sCgkJCXNlcmllc0NvdW50ZXIgPSAwLAoJCQluYW1lcyA9IFsKCQkJCXsKCQkJCQluYW1lOiAnTWFya2V0Q2FwJywKCQkJCQljb2xvcjogJyMzYTNlNDgnCgkJCQl9LAoJCQkJewoJCQkJCW5hbWU6ICdFdGhlcmV1bScsCgkJCQkJY29sb3I6ICcjMmEyZTM2JwoJCQkJfSwKCQkJCXsKCQkJCQluYW1lOiAnV09PWCcsCgkJCQkJY29sb3I6ICcjZmZiYTAwJwoJCQkJfQoJCQldOwoKCQkvKioKCQkgKiBDcmVhdGUgdGhlIGNoYXJ0IHdoZW4gYWxsIGRhdGEgaXMgbG9hZGVkCgkJICogQHJldHVybnMge3VuZGVmaW5lZH0KCQkgKi8KCgkJQ1JVTUlOQS5lbGVtZW50Q2hhcnQgPSBmdW5jdGlvbiAoKSB7CgoJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJCSQoJy5qcy1jaGFydC1zdGF0aXN0aWMnKS5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgaWQgPSAnY2hhcnQtJyArIChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoOTk5IC0gMTExICsgMSkpICsgMTExKTsKCQkJCQkkKHRoaXMpLmF0dHIoJ2lkJywgaWQpOwoJCQkJCUhpZ2hjaGFydHMuc3RvY2tDaGFydChpZCwgewoKCQkJCQkJY3JlZGl0czoKCQkJCQkJCXsKCQkJCQkJCQllbmFibGVkOiBmYWxzZQoJCQkJCQkJfSwKCgkJCQkJCWNoYXJ0OiB7CgkJCQkJCQliYWNrZ3JvdW5kQ29sb3I6ICcjMTgxYTIwJywKCQkJCQkJfSwKCQkJCQkJcmFuZ2VTZWxlY3RvcjogewoJCQkJCQkJYnV0dG9uczogW3sKCQkJCQkJCQl0eXBlOiAnZGF5JywKCQkJCQkJCQljb3VudDogMSwKCQkJCQkJCQl0ZXh0OiAnMWQnCgkJCQkJCQl9LCB7CgkJCQkJCQkJdHlwZTogJ3dlZWsnLAoJCQkJCQkJCWNvdW50OiAxLAoJCQkJCQkJCXRleHQ6ICcxdycKCQkJCQkJCX0sIHsKCQkJCQkJCQl0eXBlOiAnbW9udGgnLAoJCQkJCQkJCWNvdW50OiAxLAoJCQkJCQkJCXRleHQ6ICcxbScKCQkJCQkJCX0sIHsKCQkJCQkJCQl0eXBlOiAnbW9udGgnLAoJCQkJCQkJCWNvdW50OiAzLAoJCQkJCQkJCXRleHQ6ICczbScKCQkJCQkJCX0sIHsKCQkJCQkJCQl0eXBlOiAneWVhcicsCgkJCQkJCQkJY291bnQ6IDEsCgkJCQkJCQkJdGV4dDogJzF5JwoJCQkJCQkJfSwgewoJCQkJCQkJCXR5cGU6ICdhbGwnLAoJCQkJCQkJCXRleHQ6ICdBbGwnCgkJCQkJCQl9XSwKCgkJCQkJCQlpbnB1dEVuYWJsZWQ6IGZhbHNlLAoJCQkJCQl9LAoKCQkJCQkJbmF2aWdhdG9yOiB7CgkJCQkJCQllbmFibGVkOiBmYWxzZQoJCQkJCQl9LAoJCQkJCQlzY3JvbGxiYXI6IHsKCQkJCQkJCWVuYWJsZWQ6IGZhbHNlCgkJCQkJCX0sCgoJCQkJCQl4QXhpczogewoJCQkJCQkJbGluZUNvbG9yOiAnIzIxMjMyYicsCgkJCQkJCQlncmlkTGluZUNvbG9yOiAnIzIxMjMyYicsCgkJCQkJCQlncmlkTGluZVdpZHRoOiAxCgkJCQkJCX0sCgoJCQkJCQl5QXhpczogewoJCQkJCQkJbWluOiAwLAoJCQkJCQkJZ3JpZExpbmVDb2xvcjogJyMyMTIzMmInLAoJCQkJCQkJZ3JpZExpbmVXaWR0aDogMiwKCgkJCQkJCQl0aXRsZTogewoJCQkJCQkJCXRleHQ6ICdQcmljZSAoVVNEKScKCQkJCQkJCX0sCgkJCQkJCQlsYWJlbHM6IHsKCQkJCQkJCQlmb3JtYXQ6ICd7dmFsdWV9ICQnCgkJCQkJCQl9LAoJCQkJCQkJcGxvdExpbmVzOiBbewoJCQkJCQkJCXZhbHVlOiAwLAoJCQkJCQkJCXdpZHRoOiAyLAoJCQkJCQkJCWNvbG9yOiAnc2lsdmVyJwoJCQkJCQkJfV0KCQkJCQkJfSwKCgkJCQkJCXBsb3RPcHRpb25zOiB7CgkJCQkJCQlzZXJpZXM6IHsKCQkJCQkJCQljb21wYXJlOiAndmFsdWUnLAoJCQkJCQkJCXNob3dJbk5hdmlnYXRvcjogdHJ1ZSwKCQkJCQkJCQlsaW5lV2lkdGg6IDQsCgkJCQkJCQkJY29sb3JJbmRleDogMjAKCQkJCQkJCX0KCQkJCQkJfSwKCgkJCQkJCXRvb2x0aXA6IHsKCQkJCQkJCXBvaW50Rm9ybWF0OiAnPHNwYW4gc3R5bGU9ImNvbG9yOntzZXJpZXMuY29sb3J9Ij57c2VyaWVzLm5hbWV9PC9zcGFuPjogPGI+e3BvaW50Lnl9PC9iPiAoe3BvaW50LmNoYW5nZX0lKTxici8+JywKCQkJCQkJCXZhbHVlRGVjaW1hbHM6IDIsCgkJCQkJCQlzcGxpdDogdHJ1ZQoJCQkJCQl9LAoKCQkJCQkJc2VyaWVzOiBzZXJpZXNPcHRpb25zLAoJCQkJCX0pCgkJCQl9KTsKCQkJfSwgNTAwKTsKCQl9OwoKCQkkLmVhY2gobmFtZXMsIGZ1bmN0aW9uIChpLCBpdGVtKSB7CgoJCQkkLmdldEpTT04oJ2pzb24vJyArIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpICsgJy1jLmpzb24nLCBmdW5jdGlvbiAoZGF0YSkgewoKCQkJCXNlcmllc09wdGlvbnNbaV0gPSB7CgkJCQkJbmFtZTogaXRlbS5uYW1lLAoJCQkJCWRhdGE6IGRhdGEsCgkJCQkJY29sb3I6IGl0ZW0uY29sb3IKCQkJCX07CgoJCQkJLy8gQXMgd2UncmUgbG9hZGluZyB0aGUgZGF0YSBhc3luY2hyb25vdXNseSwgd2UgZG9uJ3Qga25vdyB3aGF0IG9yZGVyIGl0IHdpbGwgYXJyaXZlLiBTbwoJCQkJLy8gd2Uga2VlcCBhIGNvdW50ZXIgYW5kIGNyZWF0ZSB0aGUgY2hhcnQgd2hlbiBhbGwgdGhlIGRhdGEgaXMgbG9hZGVkLgoJCQkJc2VyaWVzQ291bnRlciArPSAxOwoKCQkJCWlmIChzZXJpZXNDb3VudGVyID09PSBuYW1lcy5sZW5ndGgpIHsKCQkJCQlDUlVNSU5BLmVsZW1lbnRDaGFydCgpOwoJCQkJfQoJCQl9KTsKCQl9KTsKCX0KCgkvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICogU21vb3RoU2Nyb2xsCiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLmluaXRTbW9vdGhTY3JvbGwgPSBmdW5jdGlvbiAoKSB7CgoJCS8vIEN1dCB0aGUgbXVzdGFyZAoJCXZhciBzdXBwb3J0cyA9ICdxdWVyeVNlbGVjdG9yJyBpbiBkb2N1bWVudCAmJiAnYWRkRXZlbnRMaXN0ZW5lcicgaW4gd2luZG93OwoJCWlmICghc3VwcG9ydHMpIHJldHVybjsKCgkJLy8gR2V0IGFsbCBUb2dnbGUgc2VsZWN0b3JzCgkJdmFyIGFuY2hvcnMgPSAkKCcjcHJpbWFyeS1tZW51IGFbaHJlZio9XFwjXSwgLmJ0bltocmVmKj1cXCNdJykuZmlsdGVyKGZ1bmN0aW9uICgpIHsKCQkJcmV0dXJuICQodGhpcykuaXMoIjpub3QoW2hyZWY9XFwjXSkiKTsKCQl9KTsKCgkJLy8gQWRkIHNtb290aCBzY3JvbGwgdG8gYWxsIGFuY2hvcnMKCQlmb3IgKHZhciBpID0gMCwgbGVuID0gYW5jaG9ycy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewoJCQl2YXIgdXJsID0gbmV3IFJlZ0V4cCh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgKyB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpOwoJCQlpZiAoIXVybC50ZXN0KGFuY2hvcnNbaV0uaHJlZikpIGNvbnRpbnVlOwoJCQlhbmNob3JzW2ldLnNldEF0dHJpYnV0ZSgnZGF0YS1zY3JvbGwnLCB0cnVlKTsKCQl9CgoJCWlmICh3aW5kb3cubG9jYXRpb24uaGFzaCkgewoJCQl2YXIgYW5jaG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih3aW5kb3cubG9jYXRpb24uaGFzaCk7IC8vIEdldCB0aGUgYW5jaG9yCgkJCXZhciB0b2dnbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2hyZWYqPSInICsgd2luZG93LmxvY2F0aW9uLmhhc2ggKyAnIl0nKTsgLy8gR2V0IHRoZSB0b2dnbGUgKGlmIG9uZSBleGlzdHMpCgkJCXZhciBvcHRpb25zID0ge307IC8vIEFueSBjdXN0b20gb3B0aW9ucyB5b3Ugd2FudCB0byB1c2Ugd291bGQgZ28gaGVyZQoJCQlzbW9vdGhTY3JvbGwuYW5pbWF0ZVNjcm9sbChhbmNob3IsIHRvZ2dsZSwgb3B0aW9ucyk7CgkJfQoKCQlzbW9vdGhTY3JvbGwuaW5pdCh7CgkJCXNlbGVjdG9yOiAnW2RhdGEtc2Nyb2xsXScsCgkJCXNwZWVkOiA1MDAsIC8vIEludGVnZXIuIEhvdyBmYXN0IHRvIGNvbXBsZXRlIHRoZSBzY3JvbGwgaW4gbWlsbGlzZWNvbmRzCgkJCWVhc2luZzogJ2Vhc2VPdXRRdWFkJywgLy8gRWFzaW5nIHBhdHRlcm4gdG8gdXNlCgkJCW9mZnNldDogJGhlYWRlci5oZWlnaHQoKSwKCQkJdXBkYXRlVVJMOiB0cnVlLCAvLyBCb29sZWFuLiBJZiB0cnVlLCB1cGRhdGUgdGhlIFVSTCBoYXNoIG9uIHNjcm9sbAoJCQljYWxsYmFjazogZnVuY3Rpb24gKGFuY2hvciwgdG9nZ2xlKSB7CgkJCX0gLy8gRnVuY3Rpb24gdG8gcnVuIGFmdGVyIHNjcm9sbGluZwoJCX0pOwoKCQkkKCcjcHJpbWFyeS1tZW51JykuZmluZCgnW2hyZWY9XFwjXScpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKCQkJcmV0dXJuIGZhbHNlCgkJfSkKCgl9OwoKCglDUlVNSU5BLnNoYXJlQnV0dG9ucyA9IGZ1bmN0aW9uICgpIHsKCgkJJCgnLmJ0bi0tc2hhcmUtanMnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CgkJCXZhciAkdGhpcyA9ICQodGhpcyk7CgoJCQlpZiAoJHRoaXMuaGFzQ2xhc3MoJ29wZW4nKSkgewoJCQkJJHRoaXMucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKCQkJfSBlbHNlIHsKCQkJCSR0aGlzLnRvZ2dsZUNsYXNzKCdvcGVuJyk7CgkJCX0KCQl9KTsKCgkJJCgnLmJ0bi0tc2hhcmUtanMgYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CgkJCXZhciAkbGlua3MgPSAkKHRoaXMpOwoKCQkJaWYgKCEkbGlua3MuY2xvc2VzdCgnLmJ0bi0tc2hhcmUtanMnKS5oYXNDbGFzcygnb3BlbicpKSB7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCX0gZWxzZSB7CgkJCQl3aW5kb3cuU2hhcmVyLmluaXQoKTsKCQkJfQoJCX0pOwoKCX07CgoJLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCQkgKiBBbmltYXRpb24gZm9yIG9wZW4tbWVudS1idXR0b24KCQkgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCglDUlVNSU5BLmJ1cmdlckFuaW1hdGlvbiA9IGZ1bmN0aW9uICgpIHsKCQkvKiBJbiBhbmltYXRpb25zICh0byBjbG9zZSBpY29uKSAqLwoKCQl2YXIgYmVnaW5BQyA9IDgwLAoJCQllbmRBQyA9IDMyMCwKCQkJYmVnaW5CID0gODAsCgkJCWVuZEIgPSAzMjA7CgoJCWZ1bmN0aW9uIGluQUMocykgewoJCQlzLmRyYXcoJzgwJSAtIDI0MCcsICc4MCUnLCAwLjMsIHsKCQkJCWRlbGF5OiAwLjEsCgkJCQljYWxsYmFjazogZnVuY3Rpb24gKCkgewoJCQkJCWluQUMyKHMpCgkJCQl9CgkJCX0pOwoJCX0KCgkJZnVuY3Rpb24gaW5BQzIocykgewoJCQlzLmRyYXcoJzEwMCUgLSA1NDUnLCAnMTAwJSAtIDMwNScsIDAuNiwgewoJCQkJZWFzaW5nOiBlYXNlLmVhc2UoJ2VsYXN0aWMtb3V0JywgMSwgMC4zKQoJCQl9KTsKCQl9CgoJCWZ1bmN0aW9uIGluQihzKSB7CgkJCXMuZHJhdyhiZWdpbkIgLSA2MCwgZW5kQiArIDYwLCAwLjEsIHsKCQkJCWNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7CgkJCQkJaW5CMihzKQoJCQkJfQoJCQl9KTsKCQl9CgoJCWZ1bmN0aW9uIGluQjIocykgewoJCQlzLmRyYXcoYmVnaW5CICsgMTIwLCBlbmRCIC0gMTIwLCAwLjMsIHsKCQkJCWVhc2luZzogZWFzZS5lYXNlKCdib3VuY2Utb3V0JywgMSwgMC4zKQoJCQl9KTsKCQl9CgoJCS8qIE91dCBhbmltYXRpb25zICh0byBidXJnZXIgaWNvbikgKi8KCgkJZnVuY3Rpb24gb3V0QUMocykgewoJCQlzLmRyYXcoJzkwJSAtIDI0MCcsICc5MCUnLCAwLjEsIHsKCQkJCWVhc2luZzogZWFzZS5lYXNlKCdlbGFzdGljLWluJywgMSwgMC4zKSwKCQkJCWNhbGxiYWNrOiBmdW5jdGlvbiAoKSB7CgkJCQkJb3V0QUMyKHMpCgkJCQl9CgkJCX0pOwoJCX0KCgkJZnVuY3Rpb24gb3V0QUMyKHMpIHsKCQkJcy5kcmF3KCcyMCUgLSAyNDAnLCAnMjAlJywgMC4zLCB7CgkJCQljYWxsYmFjazogZnVuY3Rpb24gKCkgewoJCQkJCW91dEFDMyhzKQoJCQkJfQoJCQl9KTsKCQl9CgoJCWZ1bmN0aW9uIG91dEFDMyhzKSB7CgkJCXMuZHJhdyhiZWdpbkFDLCBlbmRBQywgMC43LCB7CgkJCQllYXNpbmc6IGVhc2UuZWFzZSgnZWxhc3RpYy1vdXQnLCAxLCAwLjMpCgkJCX0pOwoJCX0KCgkJZnVuY3Rpb24gb3V0QihzKSB7CgkJCXMuZHJhdyhiZWdpbkIsIGVuZEIsIDAuNywgewoJCQkJZGVsYXk6IDAuMSwKCQkJCWVhc2luZzogZWFzZS5lYXNlKCdlbGFzdGljLW91dCcsIDIsIDAuNCkKCQkJfSk7CgkJfQoKCQkvKiBTY2FsZSBmdW5jdGlvbnMgKi8KCgkJZnVuY3Rpb24gYWRkU2NhbGUobSkgewoJCQltLmNsYXNzTmFtZSA9ICdtZW51LWljb24td3JhcHBlciBzY2FsZWQnOwoJCX0KCgkJZnVuY3Rpb24gcmVtb3ZlU2NhbGUobSkgewoJCQltLmNsYXNzTmFtZSA9ICdtZW51LWljb24td3JhcHBlcic7CgkJfQoKCQkvKiBBd2Vzb21lIGJ1cmdlciBzY2FsZWQgKi8KCgkJdmFyIHBhdGhEID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhdGhEJyksCgkJCXBhdGhFID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhdGhFJyksCgkJCXBhdGhGID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhdGhGJyksCgkJCXNlZ21lbnREID0gbmV3IFNlZ21lbnQocGF0aEQsIGJlZ2luQUMsIGVuZEFDKSwKCQkJc2VnbWVudEUgPSBuZXcgU2VnbWVudChwYXRoRSwgYmVnaW5CLCBlbmRCKSwKCQkJc2VnbWVudEYgPSBuZXcgU2VnbWVudChwYXRoRiwgYmVnaW5BQywgZW5kQUMpLAoJCQl3cmFwcGVyMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51LWljb24td3JhcHBlcicpLAoJCQl0cmlnZ2VyMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZW51LWljb24tdHJpZ2dlcicpLAoJCQl0b0Nsb3NlSWNvbjIgPSB0cnVlOwoKCQl3cmFwcGVyMi5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnOwoKCQl0cmlnZ2VyMi5vbmNsaWNrID0gZnVuY3Rpb24gKCkgewoJCQlhZGRTY2FsZSh3cmFwcGVyMik7CgkJCWlmICh0b0Nsb3NlSWNvbjIpIHsKCQkJCWluQUMoc2VnbWVudEQpOwoJCQkJaW5CKHNlZ21lbnRFKTsKCQkJCWluQUMoc2VnbWVudEYpOwoJCQl9IGVsc2UgewoJCQkJb3V0QUMoc2VnbWVudEQpOwoJCQkJb3V0QihzZWdtZW50RSk7CgkJCQlvdXRBQyhzZWdtZW50Rik7CgoJCQl9CgkJCXRvQ2xvc2VJY29uMiA9ICF0b0Nsb3NlSWNvbjI7CgkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJcmVtb3ZlU2NhbGUod3JhcHBlcjIpCgkJCX0sIDQ1MCk7CgkJfTsKCX07CgoKCS8vIENsb3NlIG9uICJFc2MiIGNsaWNrCgkkd2luZG93LmtleWRvd24oZnVuY3Rpb24gKGV2ZW50T2JqZWN0KSB7CgkJaWYgKGV2ZW50T2JqZWN0LndoaWNoID09IDI3KSB7CgkJCSQoJyNvdmVybGF5LW1lbnUnKS5yZW1vdmVDbGFzcygnb3BlbicpOwoJCQkkYm9keS5yZW1vdmVDbGFzcygncG9wdXAtYWN0aXZlJyk7CgkJCSQoJy53aW5kb3ctcG9wdXAnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCSQoJ2JvZHknKS5yZW1vdmVDbGFzcygnYm9keS1vdmVybGF5LWFjdGl2ZScpOwoJCX0KCX0pOwoKCgkvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogQ3JlYXRlIHRoZSBtYXAKICAqIGh0dHBzOi8vbGVhZmxldGpzLmNvbS8KICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKCUNSVU1JTkEubWFwcyA9IHsKCQltYXBzOiB7CgkJCW1hcE1haW46IHsKCgkJCQljb25maWc6IHsKCQkJCQlpZDogJ21hcCcsCgkJCQkJbWFwOiB7CgkJCQkJCWNlbnRlcjogbmV3IEwuTGF0TG5nKC0zNy42MTM2MTEsIDE0NC45NjMwNTYpLAoJCQkJCQl6b29tOiAxMCwKCQkJCQkJbWF4Wm9vbTogMTgsCgkJCQkJCWxheWVyczogbmV3IEwudGlsZUxheWVyKCdodHRwczovL3tzfS5iYXNlbWFwcy5jYXJ0b2Nkbi5jb20vZGFya19hbGwve3p9L3t4fS97eX17cn0ucG5nJywgewoJCQkJCQkJYXR0cmlidXRpb246ICcmY29weTsgPGEgaHJlZj0iaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0Ij5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMgJmNvcHk7IDxhIGhyZWY9Imh0dHBzOi8vY2FydG8uY29tL2F0dHJpYnV0aW9ucyI+Q0FSVE88L2E+JywKCQkJCQkJCXN1YmRvbWFpbnM6ICdhYmNkJywKCQkJCQkJCW1heFpvb206IDE5CgkJCQkJCX0pCgkJCQkJfSwKCQkJCQlpY29uOiB7CgkJCQkJCWljb25TaXplOiBbNzAsIDg3XSwKCQkJCQkJaWNvbkFuY2hvcjogWzIyLCA5NF0sCgkJCQkJCWNsYXNzTmFtZTogJ2ljb24tbWFwJwoJCQkJCX0sCgkJCQkJY2x1c3RlcjogewoJCQkJCQlpY29uU2l6ZTogWzQwLCA0MF0KCQkJCQl9CgkJCQl9LAoKCQkJCW1hcmtlcnM6IFsKCQkJCQl7CgkJCQkJCWNvb3JkczogWy0zNy44MTM2MTEsIDE0NC45NjMwNTZdLAoJCQkJCQlpY29uOiAnbWFya2VyLWdvb2dsZS5wbmcnCgkJCQkJfQoJCQkJXQoKCQkJfSwKCQl9LAoJCWluaXQ6IGZ1bmN0aW9uICgpIHsKCQkJdmFyIF90aGlzID0gdGhpczsKCgkJCWZvciAodmFyIGtleSBpbiB0aGlzLm1hcHMpIHsKCQkJCXZhciBkYXRhID0gdGhpcy5tYXBzW2tleV07CgoJCQkJaWYgKCFkYXRhLmNvbmZpZyB8fCAhZGF0YS5tYXJrZXJzKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkYXRhLmNvbmZpZy5pZCkpIHsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQl2YXIgbWFwID0gbmV3IEwubWFwKGRhdGEuY29uZmlnLmlkLCBkYXRhLmNvbmZpZy5tYXApOwoJCQkJdmFyIGNsdXN0ZXIgPSBMLm1hcmtlckNsdXN0ZXJHcm91cCh7CgkJCQkJaWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3RlcikgewoJCQkJCQl2YXIgY2hpbGRDb3VudCA9IGNsdXN0ZXIuZ2V0Q2hpbGRDb3VudCgpOwoJCQkJCQl2YXIgY29uZmlnID0gZGF0YS5jb25maWcuY2x1c3RlcjsKCQkJCQkJcmV0dXJuIG5ldyBMLkRpdkljb24oewoJCQkJCQkJaHRtbDogJzxkaXY+PHNwYW4+JyArIGNoaWxkQ291bnQgKyAnPC9zcGFuPjwvZGl2PicsCgkJCQkJCQljbGFzc05hbWU6ICdtYXJrZXItY2x1c3RlciBtYXJrZXItY2x1c3Rlci0nICsga2V5LAoJCQkJCQkJaWNvblNpemU6IG5ldyBMLlBvaW50KGNvbmZpZy5pY29uU2l6ZVswXSwgY29uZmlnLmljb25TaXplWzFdKQoJCQkJCQl9KTsKCQkJCQl9CgkJCQl9KTsKCQkJCWRhdGEubWFya2Vycy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CgkJCQkJZGF0YS5jb25maWcuaWNvblsnaWNvblVybCddID0gJy4vaW1nLycgKyBpdGVtLmljb247CgkJCQkJdmFyIGljb24gPSBMLmljb24oZGF0YS5jb25maWcuaWNvbik7CgoJCQkJCXZhciBtYXJrZXIgPSBMLm1hcmtlcihpdGVtLmNvb3Jkcywge2ljb246IGljb259KTsKCQkJCQljbHVzdGVyLmFkZExheWVyKG1hcmtlcik7CgkJCQl9KTsKCgkJCQltYXAuYWRkTGF5ZXIoY2x1c3Rlcik7CgkJCQl0aGlzLmRpc2FibGVTY3JvbGwoalF1ZXJ5KCIjIiArIGRhdGEuY29uZmlnLmlkKSwgbWFwKTsKCQkJfQoJCX0sCgkJZGlzYWJsZVNjcm9sbDogZnVuY3Rpb24gKCRtYXAsIG1hcCkgewoJCQltYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsKCgkJCSRtYXAuYmluZCgnbW91c2V3aGVlbCBET01Nb3VzZVNjcm9sbCcsIGZ1bmN0aW9uIChldmVudCkgewoJCQkJZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCQlpZiAoZXZlbnQuY3RybEtleSA9PSB0cnVlKSB7CgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCQltYXAuc2Nyb2xsV2hlZWxab29tLmVuYWJsZSgpOwoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCQltYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsKCQkJCQl9LCAxMDAwKTsKCQkJCX0gZWxzZSB7CgkJCQkJbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7CgkJCQl9CgkJCX0pOwoKCQl9Cgl9OwoKCSRkb2N1bWVudC5yZWFkeShmdW5jdGlvbiAoKSB7CgoKCQlpZiAoJCgnI21lbnUtaWNvbi13cmFwcGVyJykubGVuZ3RoKSB7CgkJCUNSVU1JTkEuYnVyZ2VyQW5pbWF0aW9uKCk7CgkJfQoKCQkvLyAzLWQgcGFydHkgbGlicyBydW4KCQkkcHJpbWFyeU1lbnUuY3J1bWVnYW1lbnUoewoJCQlzaG93U3BlZWQ6IDAsCgkJCWhpZGVTcGVlZDogMCwKCQkJdHJpZ2dlcjogImhvdmVyIiwKCQkJYW5pbWF0aW9uOiAiZHJvcC11cCIsCgkJCWVmZmVjdDogImZhZGUiLAoJCQlpbmRpY2F0b3JGaXJzdExldmVsOiAiIiwKCQkJaW5kaWNhdG9yU2Vjb25kTGV2ZWw6ICIiCgkJfSk7CgoJCUNSVU1JTkEuZml4ZWRIZWFkZXIoKTsKCQlDUlVNSU5BLk1hdGVyaWFsaXplKCk7CgkJQ1JVTUlOQS5Td2lwZXIuaW5pdCgpOwoJCUNSVU1JTkEuc2VsZWN0MkluaXQoKTsKCQlDUlVNSU5BLnNlbGVjdDJMUygpOwoJCUNSVU1JTkEubWVkaWFQb3B1cHMoKTsKCQlDUlVNSU5BLklzb3RvcGVTb3J0KCk7CgkJQ1JVTUlOQS5vdmVybGF5TWVudSgpOwoJCUNSVU1JTkEub3ZlcmxheUJvZHkoKTsKCQlDUlVNSU5BLmZseWluZ0JhbGxzKCk7CgkJQ1JVTUlOQS5tYXBzLmluaXQoKTsKCQlDUlVNSU5BLmNvdW50ZG93bnMoKTsKCQlDUlVNSU5BLmluaXRTbW9vdGhTY3JvbGwoKTsKCQlDUlVNSU5BLnNoYXJlQnV0dG9ucygpOwoJCUNSVU1JTkEucmFuZ2VTbGlkZXIoKTsKCgkJaWYgKCQoJyNjYW4nKS5sZW5ndGgpIHsKCQkJQ1JVTUlOQS5zcGlubmVyQW5pbWF0aW9uKCk7CgkJfQoKCQlpZiAoJCgnLmpzLWNoYXJ0LXN0YXRpc3RpYycpLmxlbmd0aCkgewoJCQlDUlVNSU5BLmNoYXJ0U3RhdGlzdGljcygpOwoJCX0KCgkJLy8gT24gU2Nyb2xsIGFuaW1hdGlvbnMuCgkJQ1JVTUlOQS5wcm9ncmVzQmFycygpOwoJCUNSVU1JTkEucGllQ2hhcnRzKCk7CgkJQ1JVTUlOQS5jb3VudGVycygpOwoKCQkkKCcucGVyZmVjdC1zY3JvbGwnKS5wZXJmZWN0U2Nyb2xsYmFyKHt3aGVlbFByb3BhZ2F0aW9uOiBmYWxzZX0pOwoKCQlDUlVNSU5BLm1haW5NZW51LmluaXQoKTsKCQlDUlVNSU5BLnVwZGF0ZVJlc3BvbnNpdmVJbml0KCk7CgkJQ1JVTUlOQS5wcmVsb2FkZXIoKTsKCgkJJCgnLm1DdXN0b21TY3JvbGxiYXInKS5wZXJmZWN0U2Nyb2xsYmFyKHt3aGVlbFByb3BhZ2F0aW9uOiBmYWxzZX0pOwoJfSk7Cgp9KShqUXVlcnkpOw=="}},"time_used":88,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":55,"receive":33,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.011Z","timestamp":1785139584011,"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-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 08:06:24 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: b6b359c9160a5fc757c44eacbacdf881\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-28T06:17:53.453122Z","times_seen":108,"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":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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.303Z","timestamp":1785139584303,"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-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 08:06:24 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: 7651e0f5f551e1bfd39bb80a0cfcc86b\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-08-12T05:10:43.254703Z","times_seen":142,"resource_available":false,"data":"LmZsb2F0aW5nQXJyb3ctYzFPc0hQdFl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS11aS1saWItdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApKTtjbGlwLXBhdGg6cGF0aCgiTSAwLDIgTCAxMiwyIEwgMTIsNiBMIDYsMTAgTCAwLDYgTCAwLDIiKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTJweH0uYm90dG9tLWMxT3NIUHRZLC5ib3R0b20tbGVmdC1jMU9zSFB0WSwuYm90dG9tLXJpZ2h0LWMxT3NIUHRZLC50b3AtYzFPc0hQdFksLnRvcC1sZWZ0LWMxT3NIUHRZLC50b3AtcmlnaHQtYzFPc0hQdFl7bGVmdDp2YXIoLS11aS1saWItaW4tdG9vbHRpcC1sZWZ0T2Zmc2V0LGNhbGMoNTAlIC0gNnB4KSl9LmJvdHRvbS1jMU9zSFB0WSwuYm90dG9tLWxlZnQtYzFPc0hQdFksLmJvdHRvbS1yaWdodC1jMU9zSFB0WXtib3R0b206Y2FsYygxMDAlIC0gNnB4KTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LnRvcC1jMU9zSFB0WSwudG9wLWxlZnQtYzFPc0hQdFksLnRvcC1yaWdodC1jMU9zSFB0WXt0b3A6Y2FsYygxMDAlIC0gNnB4KX0ubGVmdC1ib3R0b20tYzFPc0hQdFksLmxlZnQtYzFPc0hQdFksLmxlZnQtdG9wLWMxT3NIUHRZLC5yaWdodC1ib3R0b20tYzFPc0hQdFksLnJpZ2h0LWMxT3NIUHRZLC5yaWdodC10b3AtYzFPc0hQdFl7dG9wOnZhcigtLXVpLWxpYi1pbi10b29sdGlwLXRvcE9mZnNldCxjYWxjKDUwJSAtIDZweCkpfS5sZWZ0LWJvdHRvbS1jMU9zSFB0WSwubGVmdC1jMU9zSFB0WSwubGVmdC10b3AtYzFPc0hQdFl7bGVmdDpjYWxjKDEwMCUgLSA2cHgpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0ucmlnaHQtYm90dG9tLWMxT3NIUHRZLC5yaWdodC1jMU9zSFB0WSwucmlnaHQtdG9wLWMxT3NIUHRZe3JpZ2h0OmNhbGMoMTAwJSAtIDZweCk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmVuZFNsb3RXcmFwcGVyLUh5TmpIU0RXe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTtkaXNwbGF5OmZsZXg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4fS5kaXZpZGVyLUh5TmpIU0RXey0tdWktbGliLWRpdmlkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCl9LmVuZFNsb3RDb250ZW50LUh5TmpIU0RXe3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0udG9vbHRpcEJhc2VXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMHZ3O21pbi13aWR0aDowO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjt3aGl0ZS1zcGFjZTpub3JtYWx9LnRyYW5zcGFyZW50LUh5TmpIU0RXe29wYWNpdHk6MH0ub3BhcXVlLUh5TmpIU0RXe29wYWNpdHk6MX0uZGlzYWJsZUludGVyYWN0aXZlLUh5TmpIU0RXe3BvaW50ZXItZXZlbnRzOm5vbmV9LnRvb2x0aXBCYXNlLUh5TmpIU0RXe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdWktbGliLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcix2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKSk7Ym9yZGVyLXJhZGl1czp2YXIoLS11aS1saWItdG9vbHRpcC1ib3JkZXItcmFkaXVzLDRweCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7cGFkZGluZzo2cHggOHB4Oy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEzcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCl9LmNvbnRlbnRXcmFwcGVyLUh5TmpIU0RXe2Rpc3BsYXk6ZmxleH0uY29udGVudC1IeU5qSFNEV3tib3gtc2l6aW5nOmJvcmRlci1ib3g7bWF4LXdpZHRoOjQwMHB4fS50b29sdGlwU3RhdGVsZXNzLWt3czVxZWRXey0tdWktbGliLWluLXRvb2x0aXAtbGVmdE9mZnNldDpjbGFtcCg4cHgsY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WCkqdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSA2cHgpLGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRXaWR0aCkgLSAyMHB4KSk7LS11aS1saWItaW4tdG9vbHRpcC10b3BPZmZzZXQ6Y2xhbXAoNnB4LGNhbGModmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRQb2ludFkpKnZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50SGVpZ2h0KSAtIDZweCksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudEhlaWdodCkgLSAxOHB4KSl9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.342Z","timestamp":1785139584342,"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-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 08:06:24 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: e30d3ec952bb6547981ff0050d99b072\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-08-12T05:10:43.150709Z","times_seen":178,"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.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.344Z","timestamp":1785139584344,"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-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 08:06:24 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: 1bbc64244ef0263c0b42621da91287f7\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-08-12T05:10:43.326386Z","times_seen":277,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLV8xLW5yZko6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1ucmZKOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tXzEtbnJmSjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY29udGFpbmVyLXFtN1JnNU1Ce2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzEtbnJmSik7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NDBweDttYXJnaW4tYmxvY2s6NHB4IDhweDttYXJnaW4taW5saW5lOjIwcHggMjBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUJ7aGVpZ2h0OjI0cHg7cGFkZGluZy1ibG9jazo4cHggOHB4O3BhZGRpbmctaW5saW5lOjQ3cHggMTZweDt3aWR0aDoxMDAlfS5pbnB1dENvbnRhaW5lci1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NDBweH0uaW5wdXRDb250YWluZXItcW03Umc1TUIud2l0aENhbmNlbC1xbTdSZzVNQntwYWRkaW5nLWlubGluZS1lbmQ6NzBweH0uaW5wdXQtcW03Umc1TUJ7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjpub25lO2NvbG9yOnZhcigtLV8wLW5yZkopO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDt3aWR0aDoxMDAlfS5pbnB1dC1xbTdSZzVNQi5tb2JpbGUtcW03Umc1TUJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCl9LmlucHV0LXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQjo6cGxhY2Vob2xkZXJ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpO2ZvbnQtd2VpZ2h0OjQwMH0uaW5wdXQtcW03Umc1TUI6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLWNvbG9yLWlucHV0LXBsYWNlaG9sZGVyLXRleHQpO2ZvbnQtd2VpZ2h0OjQwMH0uaWNvbi1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTtoZWlnaHQ6MjhweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTVweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDE0cHgpfS5pY29uLXFtN1JnNU1CLm1vYmlsZS1xbTdSZzVNQntjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCk7aW5zZXQtaW5saW5lLXN0YXJ0OjhweH0uY2FuY2VsLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7aW5zZXQtaW5saW5lLWVuZDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlfS5jYW5jZWwtcW03Umc1TUIubW9iaWxlLXFtN1JnNU1Ce2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX0="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.417Z","timestamp":1785139584417,"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-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 08:06:24 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: 4c844a4b4fb06b1370bbca4081357ec7\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-28T04:48:50.535095Z","times_seen":59,"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":"unpkg.com/boxicons@2.1.4/css/boxicons.min.css","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.981Z","timestamp":1785139581981,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /boxicons@2.1.4/css/boxicons.min.css HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: text/css\r\ncf-ray: a21a24f37e3235a6-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 206478\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Mon, 29 Jun 2026 20:47:06 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:Yg7qJLDO4djMg5XIDylc8ue2+rliSTwmtJqNQrY6Tck=:\r\nfly-request-id: 01KSR15PDFTWSBV85T4ZD9VW2X-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"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":68028,"size_decoded":13145,"mime_type":"text/css","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"886ed8dd06c506c77cf226f4506b3c00","sha1":"207fcedcbff6a05bb21711b173d879fc0416cd2d","sha256":"620eea24b0cee1d8cc8395c80f295cf2e7b6fab962493c26b49a8d42b63a4dc9","sha512":"727d7a430f26cd304aa6ed3c5f47f08534afd3690afc5a238cd2f3d1bc29db12781fec9a970cd7285c3fe5c2f3b81642c4658803ef795f8b24cefa3c49336d4a","ssdeep":"1536:iYKTLiBm3+avY/Ys0ya9EtAAu92jneUa69jAXdMm3CYlsTMu7knbU:idw7iU","tlshash":"96633cf5e59944c93b32e447c784f74c20aaf931da421d62f26f941e6ed0a250bc6fb8","first_seen":"2023-04-05T09:10:20Z","last_seen":"2026-08-11T20:32:02.565532Z","times_seen":4654,"resource_available":false,"data":"QGZvbnQtZmFjZXtmb250LWZhbWlseTpib3hpY29ucztmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7c3JjOnVybCguLi9mb250cy9ib3hpY29ucy5lb3QpO3NyYzp1cmwoLi4vZm9udHMvYm94aWNvbnMuZW90KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC4uL2ZvbnRzL2JveGljb25zLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksdXJsKC4uL2ZvbnRzL2JveGljb25zLndvZmYpIGZvcm1hdCgnd29mZicpLHVybCguLi9mb250cy9ib3hpY29ucy50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoLi4vZm9udHMvYm94aWNvbnMuc3ZnPyNib3hpY29ucykgZm9ybWF0KCdzdmcnKX0uYnh7Zm9udC1mYW1pbHk6Ym94aWNvbnMhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2xpbmUtaGVpZ2h0OjE7dGV4dC1yZW5kZXJpbmc6YXV0bztkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LXRyYW5zZm9ybTpub25lO3NwZWFrOm5vbmU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmJ4LXVse21hcmdpbi1sZWZ0OjJlbTtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9LmJ4LXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5ieC11bCAuYnh7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0yZW07d2lkdGg6MmVtO3RleHQtYWxpZ246Y2VudGVyfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIHNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUAtd2Via2l0LWtleWZyYW1lcyBidXJzdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpO29wYWNpdHk6MH19QGtleWZyYW1lcyBidXJzdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpO29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoaW5nezAle29wYWNpdHk6MX00NSV7b3BhY2l0eTowfTkwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZmxhc2hpbmd7MCV7b3BhY2l0eToxfTQ1JXtvcGFjaXR5OjB9OTAle29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtbGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpO29wYWNpdHk6MH19QGtleWZyYW1lcyBmYWRlLWxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTtvcGFjaXR5OjF9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlLXJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7b3BhY2l0eToxfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO29wYWNpdHk6MH19QGtleWZyYW1lcyBmYWRlLXJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7b3BhY2l0eToxfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtdXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZS11cHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpO29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtZG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZS1kb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIHRhZGF7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9MTAlLDIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45NSwuOTUsLjk1KSByb3RhdGUzZCgwLDAsMSwtMTBkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKC45NSwuOTUsLjk1KSByb3RhdGUzZCgwLDAsMSwtMTBkZWcpfTMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKSByb3RhdGUzZCgwLDAsMSwxMGRlZyk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpIHJvdGF0ZTNkKDAsMCwxLDEwZGVnKX00MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKSByb3RhdGUzZCgwLDAsMSwtMTBkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKSByb3RhdGUzZCgwLDAsMSwtMTBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX19QGtleWZyYW1lcyB0YWRhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfTEwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTUsLjk1LC45NSkgcm90YXRlM2QoMCwwLDEsLTEwZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCguOTUsLjk1LC45NSkgcm90YXRlM2QoMCwwLDEsLTEwZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSkgcm90YXRlM2QoMCwwLDEsMTBkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKSByb3RhdGUzZCgwLDAsMSwxMGRlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTEwZGVnKTt0cmFuc2Zvcm06cm90YXRlM2QoMCwwLDEsLTEwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9fS5ieC1zcGluey13ZWJraXQtYW5pbWF0aW9uOnNwaW4gMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGluIDJzIGxpbmVhciBpbmZpbml0ZX0uYngtc3Bpbi1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpzcGluIDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246c3BpbiAycyBsaW5lYXIgaW5maW5pdGV9LmJ4LXRhZGF7LXdlYmtpdC1hbmltYXRpb246dGFkYSAxLjVzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOnRhZGEgMS41cyBlYXNlIGluZmluaXRlfS5ieC10YWRhLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnRhZGEgMS41cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp0YWRhIDEuNXMgZWFzZSBpbmZpbml0ZX0uYngtZmxhc2hpbmd7LXdlYmtpdC1hbmltYXRpb246Zmxhc2hpbmcgMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZsYXNoaW5nIDEuNXMgaW5maW5pdGUgbGluZWFyfS5ieC1mbGFzaGluZy1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpmbGFzaGluZyAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246Zmxhc2hpbmcgMS41cyBpbmZpbml0ZSBsaW5lYXJ9LmJ4LWJ1cnN0ey13ZWJraXQtYW5pbWF0aW9uOmJ1cnN0IDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpidXJzdCAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtYnVyc3QtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246YnVyc3QgMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDEuNXMgaW5maW5pdGUgbGluZWFyfS5ieC1mYWRlLXVwey13ZWJraXQtYW5pbWF0aW9uOmZhZGUtdXAgMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhZGUtdXAgMS41cyBpbmZpbml0ZSBsaW5lYXJ9LmJ4LWZhZGUtdXAtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246ZmFkZS11cCAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmFkZS11cCAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtZmFkZS1kb3duey13ZWJraXQtYW5pbWF0aW9uOmZhZGUtZG93biAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmFkZS1kb3duIDEuNXMgaW5maW5pdGUgbGluZWFyfS5ieC1mYWRlLWRvd24taG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246ZmFkZS1kb3duIDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYWRlLWRvd24gMS41cyBpbmZpbml0ZSBsaW5lYXJ9LmJ4LWZhZGUtbGVmdHstd2Via2l0LWFuaW1hdGlvbjpmYWRlLWxlZnQgMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhZGUtbGVmdCAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtZmFkZS1sZWZ0LWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOmZhZGUtbGVmdCAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmFkZS1sZWZ0IDEuNXMgaW5maW5pdGUgbGluZWFyfS5ieC1mYWRlLXJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uOmZhZGUtcmlnaHQgMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhZGUtcmlnaHQgMS41cyBpbmZpbml0ZSBsaW5lYXJ9LmJ4LWZhZGUtcmlnaHQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246ZmFkZS1yaWdodCAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmFkZS1yaWdodCAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngteHN7Zm9udC1zaXplOjFyZW0haW1wb3J0YW50fS5ieC1zbXtmb250LXNpemU6MS41NXJlbSFpbXBvcnRhbnR9LmJ4LW1ke2ZvbnQtc2l6ZToyLjI1cmVtIWltcG9ydGFudH0uYngtbGd7Zm9udC1zaXplOjNyZW0haW1wb3J0YW50fS5ieC1md3tmb250LXNpemU6MS4yODU3MTQyODU3ZW07bGluZS1oZWlnaHQ6LjhlbTt3aWR0aDoxLjI4NTcxNDI4NTdlbTtoZWlnaHQ6LjhlbTttYXJnaW4tdG9wOi0uMmVtIWltcG9ydGFudDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmJ4LXB1bGwtbGVmdHtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDouM2VtIWltcG9ydGFudH0uYngtcHVsbC1yaWdodHtmbG9hdDpyaWdodDttYXJnaW4tbGVmdDouM2VtIWltcG9ydGFudH0uYngtcm90YXRlLTkwe3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5ieC1yb3RhdGUtMTgwe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uYngtcm90YXRlLTI3MHt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmJ4LWZsaXAtaG9yaXpvbnRhbHt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uYngtZmxpcC12ZXJ0aWNhbHt0cmFuc2Zvcm06c2NhbGVZKC0xKX0uYngtYm9yZGVye3BhZGRpbmc6LjI1ZW07Ym9yZGVyOi4wN2VtIHNvbGlkIHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6LjI1ZW19LmJ4LWJvcmRlci1jaXJjbGV7cGFkZGluZzouMjVlbTtib3JkZXI6LjA3ZW0gc29saWQgcmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czo1MCV9LmJ4cy1iYWxsb29uOmJlZm9yZXtjb250ZW50OiJcZWI2MCJ9LmJ4cy1jYXN0bGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjc5In0uYnhzLWNvZmZlZS1iZWFuOmJlZm9yZXtjb250ZW50OiJcZWI5MiJ9LmJ4cy1vYmplY3RzLWhvcml6b250YWwtY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZWJhYiJ9LmJ4cy1vYmplY3RzLWhvcml6b250YWwtbGVmdDpiZWZvcmV7Y29udGVudDoiXGViYzQifS5ieHMtb2JqZWN0cy1ob3Jpem9udGFsLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWJkZCJ9LmJ4cy1vYmplY3RzLXZlcnRpY2FsLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGViZjYifS5ieHMtb2JqZWN0cy12ZXJ0aWNhbC1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjQwIn0uYnhzLW9iamVjdHMtdmVydGljYWwtdG9wOmJlZm9yZXtjb250ZW50OiJcZWY0MSJ9LmJ4cy1wZWFyOmJlZm9yZXtjb250ZW50OiJcZWY0MiJ9LmJ4cy1zaGllbGQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZjQzIn0uYnhzLXNoaWVsZC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWY0NCJ9LmJ4cy1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjQ1In0uYnhzLXN1c2hpOmJlZm9yZXtjb250ZW50OiJcZWY0NiJ9LmJ4cy11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZWY0NyJ9LmJ4LWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZWY0OCJ9LmJ4LWhvcml6b250YWwtbGVmdDpiZWZvcmV7Y29udGVudDoiXGVmNDkifS5ieC1ob3Jpem9udGFsLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWY0YSJ9LmJ4LW9iamVjdHMtaG9yaXpvbnRhbC1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjRiIn0uYngtb2JqZWN0cy1ob3Jpem9udGFsLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZjRjIn0uYngtb2JqZWN0cy1ob3Jpem9udGFsLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWY0ZCJ9LmJ4LW9iamVjdHMtdmVydGljYWwtYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZWY0ZSJ9LmJ4LW9iamVjdHMtdmVydGljYWwtY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZWY0ZiJ9LmJ4LW9iamVjdHMtdmVydGljYWwtdG9wOmJlZm9yZXtjb250ZW50OiJcZWY1MCJ9LmJ4LXJmaWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZjUxIn0uYngtc2hpZWxkLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWY1MiJ9LmJ4LXNoaWVsZC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWY1MyJ9LmJ4LXNob3dlcjpiZWZvcmV7Y29udGVudDoiXGVmNTQifS5ieC1zdXNoaTpiZWZvcmV7Y29udGVudDoiXGVmNTUifS5ieC11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZWY1NiJ9LmJ4LXZlcnRpY2FsLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGVmNTcifS5ieC12ZXJ0aWNhbC10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlZjU4In0uYnhsLWdyYXBocWw6YmVmb3Jle2NvbnRlbnQ6IlxlZjU5In0uYnhsLXR5cGVzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZjVhIn0uYnhzLWNvbG9yOmJlZm9yZXtjb250ZW50OiJcZWYzOSJ9LmJ4LXJlZmxlY3QtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGVmM2EifS5ieC1yZWZsZWN0LXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWYzYiJ9LmJ4LWNvbG9yOmJlZm9yZXtjb250ZW50OiJcZWYzYyJ9LmJ4bC1tb25nb2RiOmJlZm9yZXtjb250ZW50OiJcZWYzZCJ9LmJ4bC1wb3N0Z3Jlc3FsOmJlZm9yZXtjb250ZW50OiJcZWYzZSJ9LmJ4bC1kZWV6ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjNmIn0uYnhzLWhhcmQtaGF0OmJlZm9yZXtjb250ZW50OiJcZWYyYSJ9LmJ4cy1ob21lLWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZWYyYiJ9LmJ4cy1jaGVlc2U6YmVmb3Jle2NvbnRlbnQ6IlxlZjJjIn0uYngtaG9tZS1hbHQtMjpiZWZvcmV7Y29udGVudDoiXGVmMmQifS5ieC1oYXJkLWhhdDpiZWZvcmV7Y29udGVudDoiXGVmMmUifS5ieC1jaGVlc2U6YmVmb3Jle2NvbnRlbnQ6IlxlZjJmIn0uYngtY2FydC1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlZjMwIn0uYngtY2FydC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGVmMzEifS5ieC1uby1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxlZjMyIn0uYngtc2lnbmFsLTE6YmVmb3Jle2NvbnRlbnQ6IlxlZjMzIn0uYngtc2lnbmFsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZjM0In0uYngtc2lnbmFsLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZjM1In0uYngtc2lnbmFsLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlZjM2In0uYngtc2lnbmFsLTU6YmVmb3Jle2NvbnRlbnQ6IlxlZjM3In0uYnhsLXhpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlZjM4In0uYnhsLW1ldGE6YmVmb3Jle2NvbnRlbnQ6IlxlZjI3In0uYngtbGVtb246YmVmb3Jle2NvbnRlbnQ6IlxlZjI4In0uYnhzLWxlbW9uOmJlZm9yZXtjb250ZW50OiJcZWYyOSJ9LmJ4LWNyaWNrZXQtYmFsbDpiZWZvcmV7Y29udGVudDoiXGVmMGMifS5ieC1iYWd1ZXR0ZTpiZWZvcmV7Y29udGVudDoiXGVmMGQifS5ieC1ib3dsLWhvdDpiZWZvcmV7Y29udGVudDoiXGVmMGUifS5ieC1ib3dsLXJpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlZjBmIn0uYngtY2FibGUtY2FyOmJlZm9yZXtjb250ZW50OiJcZWYxMCJ9LmJ4LWNhbmRsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlZjExIn0uYngtY2lyY2xlLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxlZjEyIn0uYngtY2lyY2xlLXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjEzIn0uYngtY2lyY2xlLXRocmVlLXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjE0In0uYngtY3Jvc3M6YmVmb3Jle2NvbnRlbnQ6IlxlZjE1In0uYngtZm9yazpiZWZvcmV7Y29udGVudDoiXGVmMTYifS5ieC1rbmlmZTpiZWZvcmV7Y29udGVudDoiXGVmMTcifS5ieC1tb25leS13aXRoZHJhdzpiZWZvcmV7Y29udGVudDoiXGVmMTgifS5ieC1wb3BzaWNsZTpiZWZvcmV7Y29udGVudDoiXGVmMTkifS5ieC1zY2F0dGVyLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZWYxYSJ9LmJ4cy1iYWd1ZXR0ZTpiZWZvcmV7Y29udGVudDoiXGVmMWIifS5ieHMtYm93bC1ob3Q6YmVmb3Jle2NvbnRlbnQ6IlxlZjFjIn0uYnhzLWJvd2wtcmljZTpiZWZvcmV7Y29udGVudDoiXGVmMWQifS5ieHMtY2FibGUtY2FyOmJlZm9yZXtjb250ZW50OiJcZWYxZSJ9LmJ4cy1jaXJjbGUtaGFsZjpiZWZvcmV7Y29udGVudDoiXGVmMWYifS5ieHMtY2lyY2xlLXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjIwIn0uYnhzLWNpcmNsZS10aHJlZS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZWYyMSJ9LmJ4cy1jcmlja2V0LWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlZjIyIn0uYnhzLWludmFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZjIzIn0uYngtbWFsZS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZjI0In0uYnhzLXBvcHNpY2xlOmJlZm9yZXtjb250ZW50OiJcZWYyNSJ9LmJ4cy10cmVlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVmMjYifS5ieGwtdmVubW86YmVmb3Jle2NvbnRlbnQ6IlxlOTAwIn0uYnhsLXVwd29yazpiZWZvcmV7Y29udGVudDoiXGU5MDEifS5ieGwtbmV0bGlmeTpiZWZvcmV7Y29udGVudDoiXGU5MDIifS5ieGwtamF2YTpiZWZvcmV7Y29udGVudDoiXGU5MDMifS5ieGwtaGVyb2t1OmJlZm9yZXtjb250ZW50OiJcZTkwNCJ9LmJ4bC1nby1sYW5nOmJlZm9yZXtjb250ZW50OiJcZTkwNSJ9LmJ4bC1nbWFpbDpiZWZvcmV7Y29udGVudDoiXGU5MDYifS5ieGwtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxlOTA3In0uYnhsLTk5ZGVzaWduczpiZWZvcmV7Y29udGVudDoiXGU5MDgifS5ieGwtNTAwcHg6YmVmb3Jle2NvbnRlbnQ6IlxlOTA5In0uYnhsLWFkb2JlOmJlZm9yZXtjb250ZW50OiJcZTkwYSJ9LmJ4bC1haXJibmI6YmVmb3Jle2NvbnRlbnQ6IlxlOTBiIn0uYnhsLWFsZ29saWE6YmVmb3Jle2NvbnRlbnQ6IlxlOTBjIn0uYnhsLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGU5MGQifS5ieGwtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGU5MGUifS5ieGwtYW5ndWxhcjpiZWZvcmV7Y29udGVudDoiXGU5MGYifS5ieGwtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTEwIn0uYnhsLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTExIn0uYnhsLWF3czpiZWZvcmV7Y29udGVudDoiXGU5MTIifS5ieGwtYmFpZHU6YmVmb3Jle2NvbnRlbnQ6IlxlOTEzIn0uYnhsLWJlaGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTE0In0uYnhsLWJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlOTE1In0uYnhsLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlOTE2In0uYnhsLWJsZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTE3In0uYnhsLWJsb2dnZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTE4In0uYnhsLWJvb3RzdHJhcDpiZWZvcmV7Y29udGVudDoiXGU5MTkifS5ieGwtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZTkxYSJ9LmJ4bC1jb2RlcGVuOmJlZm9yZXtjb250ZW50OiJcZTkxYiJ9LmJ4bC1jLXBsdXMtcGx1czpiZWZvcmV7Y29udGVudDoiXGU5MWMifS5ieGwtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDoiXGU5MWQifS5ieGwtY3NzMzpiZWZvcmV7Y29udGVudDoiXGU5MWUifS5ieGwtZGFpbHltb3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlOTFmIn0uYnhsLWRldmlhbnRhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTIwIn0uYnhsLWRldi10bzpiZWZvcmV7Y29udGVudDoiXGU5MjEifS5ieGwtZGlnZzpiZWZvcmV7Y29udGVudDoiXGU5MjIifS5ieGwtZGlnaXRhbG9jZWFuOmJlZm9yZXtjb250ZW50OiJcZTkyMyJ9LmJ4bC1kaXNjb3JkOmJlZm9yZXtjb250ZW50OiJcZTkyNCJ9LmJ4bC1kaXNjb3JkLWFsdDpiZWZvcmV7Y29udGVudDoiXGU5MjUifS5ieGwtZGlzY291cnNlOmJlZm9yZXtjb250ZW50OiJcZTkyNiJ9LmJ4bC1kamFuZ286YmVmb3Jle2NvbnRlbnQ6IlxlOTI3In0uYnhsLWRvY2tlcjpiZWZvcmV7Y29udGVudDoiXGU5MjgifS5ieGwtZHJpYmJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTI5In0uYnhsLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6IlxlOTJhIn0uYnhsLWRydXBhbDpiZWZvcmV7Y29udGVudDoiXGU5MmIifS5ieGwtZWJheTpiZWZvcmV7Y29udGVudDoiXGU5MmMifS5ieGwtZWRnZTpiZWZvcmV7Y29udGVudDoiXGU5MmQifS5ieGwtZXRzeTpiZWZvcmV7Y29udGVudDoiXGU5MmUifS5ieGwtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlOTJmIn0uYnhsLWZhY2Vib29rLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5MzAifS5ieGwtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTkzMSJ9LmJ4bC1maWdtYTpiZWZvcmV7Y29udGVudDoiXGU5MzIifS5ieGwtZmlyZWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTMzIn0uYnhsLWZpcmVmb3g6YmVmb3Jle2NvbnRlbnQ6IlxlOTM0In0uYnhsLWZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGU5MzUifS5ieGwtZmxpY2tyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU5MzYifS5ieGwtZmx1dHRlcjpiZWZvcmV7Y29udGVudDoiXGU5MzcifS5ieGwtZm91cnNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU5MzgifS5ieGwtZ2l0OmJlZm9yZXtjb250ZW50OiJcZTkzOSJ9LmJ4bC1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxlOTNhIn0uYnhsLWdpdGxhYjpiZWZvcmV7Y29udGVudDoiXGU5M2IifS5ieGwtZ29vZ2xlOmJlZm9yZXtjb250ZW50OiJcZTkzYyJ9LmJ4bC1nb29nbGUtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTNkIn0uYnhsLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZTkzZSJ9LmJ4bC1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTNmIn0uYnhsLWh0bWw1OmJlZm9yZXtjb250ZW50OiJcZTk0MCJ9LmJ4bC1pbWRiOmJlZm9yZXtjb250ZW50OiJcZTk0MSJ9LmJ4bC1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxlOTQyIn0uYnhsLWluc3RhZ3JhbS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTQzIn0uYnhsLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZTk0NCJ9LmJ4bC1pbnZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGU5NDUifS5ieGwtamF2YXNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGU5NDYifS5ieGwtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZTk0NyJ9LmJ4bC1qcXVlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlOTQ4In0uYnhsLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OiJcZTk0OSJ9LmJ4bC1raWNrc3RhcnRlcjpiZWZvcmV7Y29udGVudDoiXGU5NGEifS5ieGwta3ViZXJuZXRlczpiZWZvcmV7Y29udGVudDoiXGU5NGIifS5ieGwtbGVzczpiZWZvcmV7Y29udGVudDoiXGU5NGMifS5ieGwtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxlOTRkIn0uYnhsLWxpbmtlZGluLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU5NGUifS5ieGwtbWFnZW50bzpiZWZvcmV7Y29udGVudDoiXGU5NGYifS5ieGwtbWFpbGNoaW1wOmJlZm9yZXtjb250ZW50OiJcZTk1MCJ9LmJ4bC1tYXJrZG93bjpiZWZvcmV7Y29udGVudDoiXGU5NTEifS5ieGwtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGU5NTIifS5ieGwtbWFzdG9kb246YmVmb3Jle2NvbnRlbnQ6IlxlOTUzIn0uYnhsLW1lZGl1bTpiZWZvcmV7Y29udGVudDoiXGU5NTQifS5ieGwtbWVkaXVtLW9sZDpiZWZvcmV7Y29udGVudDoiXGU5NTUifS5ieGwtbWVkaXVtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU5NTYifS5ieGwtbWVzc2VuZ2VyOmJlZm9yZXtjb250ZW50OiJcZTk1NyJ9LmJ4bC1taWNyb3NvZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTU4In0uYnhsLW1pY3Jvc29mdC10ZWFtczpiZWZvcmV7Y29udGVudDoiXGU5NTkifS5ieGwtbm9kZWpzOmJlZm9yZXtjb250ZW50OiJcZTk1YSJ9LmJ4bC1vay1ydTpiZWZvcmV7Y29udGVudDoiXGU5NWIifS5ieGwtb3BlcmE6YmVmb3Jle2NvbnRlbnQ6IlxlOTVjIn0uYnhsLXBhdHJlb246YmVmb3Jle2NvbnRlbnQ6IlxlOTVkIn0uYnhsLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGU5NWUifS5ieGwtcGVyaXNjb3BlOmJlZm9yZXtjb250ZW50OiJcZTk1ZiJ9LmJ4bC1waHA6YmVmb3Jle2NvbnRlbnQ6IlxlOTYwIn0uYnhsLXBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDoiXGU5NjEifS5ieGwtcGludGVyZXN0LWFsdDpiZWZvcmV7Y29udGVudDoiXGU5NjIifS5ieGwtcGxheS1zdG9yZTpiZWZvcmV7Y29udGVudDoiXGU5NjMifS5ieGwtcG9ja2V0OmJlZm9yZXtjb250ZW50OiJcZTk2NCJ9LmJ4bC1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTY1In0uYnhsLXB5dGhvbjpiZWZvcmV7Y29udGVudDoiXGU5NjYifS5ieGwtcXVvcmE6YmVmb3Jle2NvbnRlbnQ6IlxlOTY3In0uYnhsLXJlYWN0OmJlZm9yZXtjb250ZW50OiJcZTk2OCJ9LmJ4bC1yZWRidWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTY5In0uYnhsLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGU5NmEifS5ieGwtcmVkdXg6YmVmb3Jle2NvbnRlbnQ6IlxlOTZiIn0uYnhsLXNhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlOTZjIn0uYnhsLXNob3BpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlOTZkIn0uYnhsLXNrZXRjaDpiZWZvcmV7Y29udGVudDoiXGU5NmUifS5ieGwtc2t5cGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTZmIn0uYnhsLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZTk3MCJ9LmJ4bC1zbGFjay1vbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTcxIn0uYnhsLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZTk3MiJ9LmJ4bC1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZTk3MyJ9LmJ4bC1zcG90aWZ5OmJlZm9yZXtjb250ZW50OiJcZTk3NCJ9LmJ4bC1zcHJpbmctYm9vdDpiZWZvcmV7Y29udGVudDoiXGU5NzUifS5ieGwtc3F1YXJlc3BhY2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTc2In0uYnhsLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZTk3NyJ9LmJ4bC1zdGVhbTpiZWZvcmV7Y29udGVudDoiXGU5NzgifS5ieGwtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZTk3OSJ9LmJ4bC10YWlsd2luZC1jc3M6YmVmb3Jle2NvbnRlbnQ6IlxlOTdhIn0uYnhsLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OiJcZTk3YiJ9LmJ4bC10aWt0b2s6YmVmb3Jle2NvbnRlbnQ6IlxlOTdjIn0uYnhsLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGU5N2QifS5ieGwtdHJpcC1hZHZpc29yOmJlZm9yZXtjb250ZW50OiJcZTk3ZSJ9LmJ4bC10dW1ibHI6YmVmb3Jle2NvbnRlbnQ6IlxlOTdmIn0uYnhsLXR1eDpiZWZvcmV7Y29udGVudDoiXGU5ODAifS5ieGwtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZTk4MSJ9LmJ4bC10d2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZTk4MiJ9LmJ4bC11bml0eTpiZWZvcmV7Y29udGVudDoiXGU5ODMifS5ieGwtdW5zcGxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOTg0In0uYnhsLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZTk4NSJ9LmJ4bC12aXNhOmJlZm9yZXtjb250ZW50OiJcZTk4NiJ9LmJ4bC12aXN1YWwtc3R1ZGlvOmJlZm9yZXtjb250ZW50OiJcZTk4NyJ9LmJ4bC12azpiZWZvcmV7Y29udGVudDoiXGU5ODgifS5ieGwtdnVlanM6YmVmb3Jle2NvbnRlbnQ6IlxlOTg5In0uYnhsLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZTk4YSJ9LmJ4bC13aGF0c2FwcC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlOThiIn0uYnhsLXdpa2lwZWRpYTpiZWZvcmV7Y29udGVudDoiXGU5OGMifS5ieGwtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGU5OGQifS5ieGwtd2l4OmJlZm9yZXtjb250ZW50OiJcZTk4ZSJ9LmJ4bC13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlOThmIn0uYnhsLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZTk5MCJ9LmJ4bC15ZWxwOmJlZm9yZXtjb250ZW50OiJcZTk5MSJ9LmJ4bC15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZTk5MiJ9LmJ4bC16b29tOmJlZm9yZXtjb250ZW50OiJcZTk5MyJ9LmJ4LWNvbGxhcHNlLWFsdDpiZWZvcmV7Y29udGVudDoiXGU5OTQifS5ieC1jb2xsYXBzZS1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTk5NSJ9LmJ4LWNvbGxhcHNlLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTk5NiJ9LmJ4LWV4cGFuZC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTk5NyJ9LmJ4LWV4cGFuZC12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGU5OTgifS5ieC1pbmplY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlOTk5In0uYngtbGVhZjpiZWZvcmV7Y29udGVudDoiXGU5OWEifS5ieC1tYXRoOmJlZm9yZXtjb250ZW50OiJcZTk5YiJ9LmJ4LXBhcnR5OmJlZm9yZXtjb250ZW50OiJcZTk5YyJ9LmJ4LWFiYWN1czpiZWZvcmV7Y29udGVudDoiXGU5OWQifS5ieC1hY2Nlc3NpYmlsaXR5OmJlZm9yZXtjb250ZW50OiJcZTk5ZSJ9LmJ4LWFkZC10by1xdWV1ZTpiZWZvcmV7Y29udGVudDoiXGU5OWYifS5ieC1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOWEwIn0uYngtYWxhcm06YmVmb3Jle2NvbnRlbnQ6IlxlOWExIn0uYngtYWxhcm0tYWRkOmJlZm9yZXtjb250ZW50OiJcZTlhMiJ9LmJ4LWFsYXJtLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTlhMyJ9LmJ4LWFsYXJtLW9mZjpiZWZvcmV7Y29udGVudDoiXGU5YTQifS5ieC1hbGFybS1zbm9vemU6YmVmb3Jle2NvbnRlbnQ6IlxlOWE1In0uYngtYWxidW06YmVmb3Jle2NvbnRlbnQ6IlxlOWE2In0uYngtYWxpZ24tanVzdGlmeTpiZWZvcmV7Y29udGVudDoiXGU5YTcifS5ieC1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTlhOCJ9LmJ4LWFsaWduLW1pZGRsZTpiZWZvcmV7Y29udGVudDoiXGU5YTkifS5ieC1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU5YWEifS5ieC1hbmFseXNlOmJlZm9yZXtjb250ZW50OiJcZTlhYiJ9LmJ4LWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGU5YWMifS5ieC1hbmdyeTpiZWZvcmV7Y29udGVudDoiXGU5YWQifS5ieC1hcGVydHVyZTpiZWZvcmV7Y29udGVudDoiXGU5YWUifS5ieC1hcmNoOmJlZm9yZXtjb250ZW50OiJcZTlhZiJ9LmJ4LWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOWIwIn0uYngtYXJjaGl2ZS1pbjpiZWZvcmV7Y29udGVudDoiXGU5YjEifS5ieC1hcmNoaXZlLW91dDpiZWZvcmV7Y29udGVudDoiXGU5YjIifS5ieC1hcmVhOmJlZm9yZXtjb250ZW50OiJcZTliMyJ9LmJ4LWFycm93LWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOWI0In0uYngtYXJyb3ctZnJvbS1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlOWI1In0uYngtYXJyb3ctZnJvbS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTliNiJ9LmJ4LWFycm93LWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWI3In0uYngtYXJyb3ctZnJvbS10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlOWI4In0uYngtYXJyb3ctdG8tYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZTliOSJ9LmJ4LWFycm93LXRvLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWJhIn0uYngtYXJyb3ctdG8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWJiIn0uYngtYXJyb3ctdG8tdG9wOmJlZm9yZXtjb250ZW50OiJcZTliYyJ9LmJ4LWF0OmJlZm9yZXtjb250ZW50OiJcZTliZCJ9LmJ4LWF0b206YmVmb3Jle2NvbnRlbnQ6IlxlOWJlIn0uYngtYXdhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWJmIn0uYngtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOWMwIn0uYngtYmFkZ2UtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOWMxIn0uYngtYmFsbDpiZWZvcmV7Y29udGVudDoiXGU5YzIifS5ieC1iYW5kLWFpZDpiZWZvcmV7Y29udGVudDoiXGU5YzMifS5ieC1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWM0In0uYngtYmFyLWNoYXJ0LWFsdDpiZWZvcmV7Y29udGVudDoiXGU5YzUifS5ieC1iYXItY2hhcnQtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWM2In0uYngtYmFyLWNoYXJ0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU5YzcifS5ieC1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZTljOCJ9LmJ4LWJhcmNvZGUtcmVhZGVyOmJlZm9yZXtjb250ZW50OiJcZTljOSJ9LmJ4LWJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZTljYSJ9LmJ4LWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGU5Y2IifS5ieC1iYXNrZXRiYWxsOmJlZm9yZXtjb250ZW50OiJcZTljYyJ9LmJ4LWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxlOWNkIn0uYngtYmF0dGVyeTpiZWZvcmV7Y29udGVudDoiXGU5Y2UifS5ieC1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWNmIn0uYngtYmVlbi1oZXJlOmJlZm9yZXtjb250ZW50OiJcZTlkMCJ9LmJ4LWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOWQxIn0uYngtYmVsbDpiZWZvcmV7Y29udGVudDoiXGU5ZDIifS5ieC1iZWxsLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZTlkMyJ9LmJ4LWJlbGwtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTlkNCJ9LmJ4LWJlbGwtcGx1czpiZWZvcmV7Y29udGVudDoiXGU5ZDUifS5ieC1iaWJsZTpiZWZvcmV7Y29udGVudDoiXGU5ZDYifS5ieC1iaXRjb2luOmJlZm9yZXtjb250ZW50OiJcZTlkNyJ9LmJ4LWJsYW5rZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ4In0uYngtYmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ5In0uYngtYmx1ZXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZTlkYSJ9LmJ4LWJvZHk6YmVmb3Jle2NvbnRlbnQ6IlxlOWRiIn0uYngtYm9sZDpiZWZvcmV7Y29udGVudDoiXGU5ZGMifS5ieC1ib2x0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5ZGQifS5ieC1ib21iOmJlZm9yZXtjb250ZW50OiJcZTlkZSJ9LmJ4LWJvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOWRmIn0uYngtYm9uZzpiZWZvcmV7Y29udGVudDoiXGU5ZTAifS5ieC1ib29rOmJlZm9yZXtjb250ZW50OiJcZTllMSJ9LmJ4LWJvb2stYWRkOmJlZm9yZXtjb250ZW50OiJcZTllMiJ9LmJ4LWJvb2stYWx0OmJlZm9yZXtjb250ZW50OiJcZTllMyJ9LmJ4LWJvb2stYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlOWU0In0uYngtYm9vay1jb250ZW50OmJlZm9yZXtjb250ZW50OiJcZTllNSJ9LmJ4LWJvb2staGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWU2In0uYngtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlOWU3In0uYngtYm9va21hcmstYWx0OmJlZm9yZXtjb250ZW50OiJcZTllOCJ9LmJ4LWJvb2ttYXJrLWFsdC1taW51czpiZWZvcmV7Y29udGVudDoiXGU5ZTkifS5ieC1ib29rbWFyay1hbHQtcGx1czpiZWZvcmV7Y29udGVudDoiXGU5ZWEifS5ieC1ib29rbWFyay1oZWFydDpiZWZvcmV7Y29udGVudDoiXGU5ZWIifS5ieC1ib29rbWFyay1taW51czpiZWZvcmV7Y29udGVudDoiXGU5ZWMifS5ieC1ib29rbWFyay1wbHVzOmJlZm9yZXtjb250ZW50OiJcZTllZCJ9LmJ4LWJvb2ttYXJrczpiZWZvcmV7Y29udGVudDoiXGU5ZWUifS5ieC1ib29rLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlOWVmIn0uYngtYm9vay1yZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOWYwIn0uYngtYm9yZGVyLWFsbDpiZWZvcmV7Y29udGVudDoiXGU5ZjEifS5ieC1ib3JkZXItYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZTlmMiJ9LmJ4LWJvcmRlci1pbm5lcjpiZWZvcmV7Y29udGVudDoiXGU5ZjMifS5ieC1ib3JkZXItbGVmdDpiZWZvcmV7Y29udGVudDoiXGU5ZjQifS5ieC1ib3JkZXItbm9uZTpiZWZvcmV7Y29udGVudDoiXGU5ZjUifS5ieC1ib3JkZXItb3V0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOWY2In0uYngtYm9yZGVyLXJhZGl1czpiZWZvcmV7Y29udGVudDoiXGU5ZjcifS5ieC1ib3JkZXItcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWY4In0uYngtYm9yZGVyLXRvcDpiZWZvcmV7Y29udGVudDoiXGU5ZjkifS5ieC1ib3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOWZhIn0uYngtYm93bGluZy1iYWxsOmJlZm9yZXtjb250ZW50OiJcZTlmYiJ9LmJ4LWJveDpiZWZvcmV7Y29udGVudDoiXGU5ZmMifS5ieC1icmFja2V0OmJlZm9yZXtjb250ZW50OiJcZTlmZCJ9LmJ4LWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOWZlIn0uYngtYnJhaW46YmVmb3Jle2NvbnRlbnQ6IlxlOWZmIn0uYngtYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZWEwMCJ9LmJ4LWJyaWVmY2FzZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTAxIn0uYngtYnJpZWZjYXNlLWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZWEwMiJ9LmJ4LWJyaWdodG5lc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYTAzIn0uYngtYnJpZ2h0bmVzcy1oYWxmOmJlZm9yZXtjb250ZW50OiJcZWEwNCJ9LmJ4LWJyb2FkY2FzdDpiZWZvcmV7Y29udGVudDoiXGVhMDUifS5ieC1icnVzaDpiZWZvcmV7Y29udGVudDoiXGVhMDYifS5ieC1icnVzaC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTA3In0uYngtYnVnOmJlZm9yZXtjb250ZW50OiJcZWEwOCJ9LmJ4LWJ1Zy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTA5In0uYngtYnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYTBhIn0uYngtYnVpbGRpbmctaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYTBiIn0uYngtYnVpbGRpbmdzOmJlZm9yZXtjb250ZW50OiJcZWEwYyJ9LmJ4LWJ1bGI6YmVmb3Jle2NvbnRlbnQ6IlxlYTBkIn0uYngtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6IlxlYTBlIn0uYngtYnVveTpiZWZvcmV7Y29udGVudDoiXGVhMGYifS5ieC1idXM6YmVmb3Jle2NvbnRlbnQ6IlxlYTEwIn0uYngtYnVzLXNjaG9vbDpiZWZvcmV7Y29udGVudDoiXGVhMTEifS5ieC1jYWJpbmV0OmJlZm9yZXtjb250ZW50OiJcZWExMiJ9LmJ4LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxlYTEzIn0uYngtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGVhMTQifS5ieC1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGVhMTUifS5ieC1jYWxlbmRhci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTE2In0uYngtY2FsZW5kYXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYTE3In0uYngtY2FsZW5kYXItZWRpdDpiZWZvcmV7Y29udGVudDoiXGVhMTgifS5ieC1jYWxlbmRhci1ldmVudDpiZWZvcmV7Y29udGVudDoiXGVhMTkifS5ieC1jYWxlbmRhci1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDoiXGVhMWEifS5ieC1jYWxlbmRhci1oZWFydDpiZWZvcmV7Y29udGVudDoiXGVhMWIifS5ieC1jYWxlbmRhci1taW51czpiZWZvcmV7Y29udGVudDoiXGVhMWMifS5ieC1jYWxlbmRhci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWExZCJ9LmJ4LWNhbGVuZGFyLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTFlIn0uYngtY2FsZW5kYXItd2VlazpiZWZvcmV7Y29udGVudDoiXGVhMWYifS5ieC1jYWxlbmRhci14OmJlZm9yZXtjb250ZW50OiJcZWEyMCJ9LmJ4LWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGVhMjEifS5ieC1jYW1lcmEtaG9tZTpiZWZvcmV7Y29udGVudDoiXGVhMjIifS5ieC1jYW1lcmEtbW92aWU6YmVmb3Jle2NvbnRlbnQ6IlxlYTIzIn0uYngtY2FtZXJhLW9mZjpiZWZvcmV7Y29udGVudDoiXGVhMjQifS5ieC1jYXBzdWxlOmJlZm9yZXtjb250ZW50OiJcZWEyNSJ9LmJ4LWNhcHRpb25zOmJlZm9yZXtjb250ZW50OiJcZWEyNiJ9LmJ4LWNhcjpiZWZvcmV7Y29udGVudDoiXGVhMjcifS5ieC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZWEyOCJ9LmJ4LWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlYTI5In0uYngtY2FyZXQtZG93bi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTJhIn0uYngtY2FyZXQtZG93bi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTJiIn0uYngtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGVhMmMifS5ieC1jYXJldC1sZWZ0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhMmQifS5ieC1jYXJldC1sZWZ0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVhMmUifS5ieC1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVhMmYifS5ieC1jYXJldC1yaWdodC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTMwIn0uYngtY2FyZXQtcmlnaHQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWEzMSJ9LmJ4LWNhcmV0LXVwOmJlZm9yZXtjb250ZW50OiJcZWEzMiJ9LmJ4LWNhcmV0LXVwLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhMzMifS5ieC1jYXJldC11cC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTM0In0uYngtY2Fyb3VzZWw6YmVmb3Jle2NvbnRlbnQ6IlxlYTM1In0uYngtY2FydDpiZWZvcmV7Y29udGVudDoiXGVhMzYifS5ieC1jYXJ0LWFsdDpiZWZvcmV7Y29udGVudDoiXGVhMzcifS5ieC1jYXN0OmJlZm9yZXtjb250ZW50OiJcZWEzOCJ9LmJ4LWNhdGVnb3J5OmJlZm9yZXtjb250ZW50OiJcZWEzOSJ9LmJ4LWNhdGVnb3J5LWFsdDpiZWZvcmV7Y29udGVudDoiXGVhM2EifS5ieC1jY3R2OmJlZm9yZXtjb250ZW50OiJcZWEzYiJ9LmJ4LWNlcnRpZmljYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYTNjIn0uYngtY2hhaXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTNkIn0uYngtY2hhbGtib2FyZDpiZWZvcmV7Y29udGVudDoiXGVhM2UifS5ieC1jaGFydDpiZWZvcmV7Y29udGVudDoiXGVhM2YifS5ieC1jaGF0OmJlZm9yZXtjb250ZW50OiJcZWE0MCJ9LmJ4LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWE0MSJ9LmJ4LWNoZWNrYm94OmJlZm9yZXtjb250ZW50OiJcZWE0MiJ9LmJ4LWNoZWNrYm94LWNoZWNrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTQzIn0uYngtY2hlY2tib3gtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYTQ0In0uYngtY2hlY2tib3gtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWE0NSJ9LmJ4LWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhNDYifS5ieC1jaGVjay1kb3VibGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTQ3In0uYngtY2hlY2stc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZWE0OCJ9LmJ4LWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVhNDkifS5ieC1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlYTRhIn0uYngtY2hldnJvbi1kb3duLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhNGIifS5ieC1jaGV2cm9uLWRvd24tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWE0YyJ9LmJ4LWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGVhNGQifS5ieC1jaGV2cm9uLWxlZnQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWE0ZSJ9LmJ4LWNoZXZyb24tbGVmdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTRmIn0uYngtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVhNTAifS5ieC1jaGV2cm9uLXJpZ2h0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhNTEifS5ieC1jaGV2cm9uLXJpZ2h0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVhNTIifS5ieC1jaGV2cm9ucy1kb3duOmJlZm9yZXtjb250ZW50OiJcZWE1MyJ9LmJ4LWNoZXZyb25zLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTU0In0uYngtY2hldnJvbnMtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTU1In0uYngtY2hldnJvbnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlYTU2In0uYngtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGVhNTcifS5ieC1jaGV2cm9uLXVwLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhNTgifS5ieC1jaGV2cm9uLXVwLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVhNTkifS5ieC1jaGlwOmJlZm9yZXtjb250ZW50OiJcZWE1YSJ9LmJ4LWNodXJjaDpiZWZvcmV7Y29udGVudDoiXGVhNWIifS5ieC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTVjIn0uYngtY2xpbmljOmJlZm9yZXtjb250ZW50OiJcZWE1ZCJ9LmJ4LWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGVhNWUifS5ieC1jbG9zZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTVmIn0uYngtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTYwIn0uYngtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTYxIn0uYngtY2xvdWQtZHJpenpsZTpiZWZvcmV7Y29udGVudDoiXGVhNjIifS5ieC1jbG91ZC1saWdodG5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYTYzIn0uYngtY2xvdWQtbGlnaHQtcmFpbjpiZWZvcmV7Y29udGVudDoiXGVhNjQifS5ieC1jbG91ZC1yYWluOmJlZm9yZXtjb250ZW50OiJcZWE2NSJ9LmJ4LWNsb3VkLXNub3c6YmVmb3Jle2NvbnRlbnQ6IlxlYTY2In0uYngtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZWE2NyJ9LmJ4LWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTY4In0uYngtY29kZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTY5In0uYngtY29kZS1ibG9jazpiZWZvcmV7Y29udGVudDoiXGVhNmEifS5ieC1jb2RlLWN1cmx5OmJlZm9yZXtjb250ZW50OiJcZWE2YiJ9LmJ4LWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGVhNmMifS5ieC1jb2ZmZWUtdG9nbzpiZWZvcmV7Y29udGVudDoiXGVhNmQifS5ieC1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxlYTZlIn0uYngtY29pbjpiZWZvcmV7Y29udGVudDoiXGVhNmYifS5ieC1jb2luLXN0YWNrOmJlZm9yZXtjb250ZW50OiJcZWE3MCJ9LmJ4LWNvbGxhcHNlOmJlZm9yZXtjb250ZW50OiJcZWE3MSJ9LmJ4LWNvbGxlY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlYTcyIn0uYngtY29sb3ItZmlsbDpiZWZvcmV7Y29udGVudDoiXGVhNzMifS5ieC1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZWE3NCJ9LmJ4LWNvbW1hbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTc1In0uYngtY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGVhNzYifS5ieC1jb21tZW50LWFkZDpiZWZvcmV7Y29udGVudDoiXGVhNzcifS5ieC1jb21tZW50LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWE3OCJ9LmJ4LWNvbW1lbnQtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWE3OSJ9LmJ4LWNvbW1lbnQtZG90czpiZWZvcmV7Y29udGVudDoiXGVhN2EifS5ieC1jb21tZW50LWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTdiIn0uYngtY29tbWVudC1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVhN2MifS5ieC1jb21tZW50LW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWE3ZCJ9LmJ4LWNvbW1lbnQteDpiZWZvcmV7Y29udGVudDoiXGVhN2UifS5ieC1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZWE3ZiJ9LmJ4LWNvbmZ1c2VkOmJlZm9yZXtjb250ZW50OiJcZWE4MCJ9LmJ4LWNvbnZlcnNhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVhODEifS5ieC1jb29raWU6YmVmb3Jle2NvbnRlbnQ6IlxlYTgyIn0uYngtY29vbDpiZWZvcmV7Y29udGVudDoiXGVhODMifS5ieC1jb3B5OmJlZm9yZXtjb250ZW50OiJcZWE4NCJ9LmJ4LWNvcHktYWx0OmJlZm9yZXtjb250ZW50OiJcZWE4NSJ9LmJ4LWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGVhODYifS5ieC1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGVhODcifS5ieC1jcmVkaXQtY2FyZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTg4In0uYngtY3JlZGl0LWNhcmQtZnJvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTg5In0uYngtY3JvcDpiZWZvcmV7Y29udGVudDoiXGVhOGEifS5ieC1jcm9zc2hhaXI6YmVmb3Jle2NvbnRlbnQ6IlxlYThiIn0uYngtY3Jvd246YmVmb3Jle2NvbnRlbnQ6IlxlYThjIn0uYngtY3ViZTpiZWZvcmV7Y29udGVudDoiXGVhOGQifS5ieC1jdWJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVhOGUifS5ieC1jdWJvaWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYThmIn0uYngtY3VycmVudC1sb2NhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVhOTAifS5ieC1jdXN0b21pemU6YmVmb3Jle2NvbnRlbnQ6IlxlYTkxIn0uYngtY3V0OmJlZm9yZXtjb250ZW50OiJcZWE5MiJ9LmJ4LWN5Y2xpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYTkzIn0uYngtY3lsaW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTk0In0uYngtZGF0YTpiZWZvcmV7Y29udGVudDoiXGVhOTUifS5ieC1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZWE5NiJ9LmJ4LWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGVhOTcifS5ieC1kZXZpY2VzOmJlZm9yZXtjb250ZW50OiJcZWE5OCJ9LmJ4LWRpYWxwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTk5In0uYngtZGlhbHBhZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTlhIn0uYngtZGlhbW9uZDpiZWZvcmV7Y29udGVudDoiXGVhOWIifS5ieC1kaWNlLTE6YmVmb3Jle2NvbnRlbnQ6IlxlYTljIn0uYngtZGljZS0yOmJlZm9yZXtjb250ZW50OiJcZWE5ZCJ9LmJ4LWRpY2UtMzpiZWZvcmV7Y29udGVudDoiXGVhOWUifS5ieC1kaWNlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTlmIn0uYngtZGljZS01OmJlZm9yZXtjb250ZW50OiJcZWFhMCJ9LmJ4LWRpY2UtNjpiZWZvcmV7Y29udGVudDoiXGVhYTEifS5ieC1kaXJlY3Rpb25zOmJlZm9yZXtjb250ZW50OiJcZWFhMiJ9LmJ4LWRpc2M6YmVmb3Jle2NvbnRlbnQ6IlxlYWEzIn0uYngtZGlzaDpiZWZvcmV7Y29udGVudDoiXGVhYTQifS5ieC1kaXNsaWtlOmJlZm9yZXtjb250ZW50OiJcZWFhNSJ9LmJ4LWRpenp5OmJlZm9yZXtjb250ZW50OiJcZWFhNiJ9LmJ4LWRuYTpiZWZvcmV7Y29udGVudDoiXGVhYTcifS5ieC1kb2NrLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGVhYTgifS5ieC1kb2NrLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWE5In0uYngtZG9jay1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVhYWEifS5ieC1kb2NrLXRvcDpiZWZvcmV7Y29udGVudDoiXGVhYWIifS5ieC1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxlYWFjIn0uYngtZG9sbGFyLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhYWQifS5ieC1kb25hdGUtYmxvb2Q6YmVmb3Jle2NvbnRlbnQ6IlxlYWFlIn0uYngtZG9uYXRlLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZWFhZiJ9LmJ4LWRvb3Itb3BlbjpiZWZvcmV7Y29udGVudDoiXGVhYjAifS5ieC1kb3RzLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlYWIxIn0uYngtZG90cy1ob3Jpem9udGFsLXJvdW5kZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWIyIn0uYngtZG90cy12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGVhYjMifS5ieC1kb3RzLXZlcnRpY2FsLXJvdW5kZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWI0In0uYngtZG91Z2hudXQtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWI1In0uYngtZG93bi1hcnJvdzpiZWZvcmV7Y29udGVudDoiXGVhYjYifS5ieC1kb3duLWFycm93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVhYjcifS5ieC1kb3duLWFycm93LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVhYjgifS5ieC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGVhYjkifS5ieC1kb3dudm90ZTpiZWZvcmV7Y29udGVudDoiXGVhYmEifS5ieC1kcmluazpiZWZvcmV7Y29udGVudDoiXGVhYmIifS5ieC1kcm9wbGV0OmJlZm9yZXtjb250ZW50OiJcZWFiYyJ9LmJ4LWR1bWJiZWxsOmJlZm9yZXtjb250ZW50OiJcZWFiZCJ9LmJ4LWR1cGxpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGVhYmUifS5ieC1lZGl0OmJlZm9yZXtjb250ZW50OiJcZWFiZiJ9LmJ4LWVkaXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZWFjMCJ9LmJ4LWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZWFjMSJ9LmJ4LWVudmVsb3BlLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlYWMyIn0uYngtZXF1YWxpemVyOmJlZm9yZXtjb250ZW50OiJcZWFjMyJ9LmJ4LWVyYXNlcjpiZWZvcmV7Y29udGVudDoiXGVhYzQifS5ieC1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVhYzUifS5ieC1lcnJvci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWM2In0uYngtZXJyb3ItY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWFjNyJ9LmJ4LWV1cm86YmVmb3Jle2NvbnRlbnQ6IlxlYWM4In0uYngtZXhjbHVkZTpiZWZvcmV7Y29udGVudDoiXGVhYzkifS5ieC1leGl0OmJlZm9yZXtjb250ZW50OiJcZWFjYSJ9LmJ4LWV4aXQtZnVsbHNjcmVlbjpiZWZvcmV7Y29udGVudDoiXGVhY2IifS5ieC1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWNjIn0uYngtZXhwYW5kLWFsdDpiZWZvcmV7Y29udGVudDoiXGVhY2QifS5ieC1leHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWNlIn0uYngtZXh0ZW5zaW9uOmJlZm9yZXtjb250ZW50OiJcZWFjZiJ9LmJ4LWZhY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYWQwIn0uYngtZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZWFkMSJ9LmJ4LWZhc3QtZm9yd2FyZC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWQyIn0uYngtZmVtYWxlOmJlZm9yZXtjb250ZW50OiJcZWFkMyJ9LmJ4LWZlbWFsZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZWFkNCJ9LmJ4LWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ1In0uYngtZmlsZS1ibGFuazpiZWZvcmV7Y29udGVudDoiXGVhZDYifS5ieC1maWxlLWZpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ3In0uYngtZmlsbTpiZWZvcmV7Y29udGVudDoiXGVhZDgifS5ieC1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ5In0uYngtZmlsdGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGVhZGEifS5ieC1maW5nZXJwcmludDpiZWZvcmV7Y29udGVudDoiXGVhZGIifS5ieC1maXJzdC1haWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWRjIn0uYngtZmlyc3QtcGFnZTpiZWZvcmV7Y29udGVudDoiXGVhZGQifS5ieC1mbGFnOmJlZm9yZXtjb250ZW50OiJcZWFkZSJ9LmJ4LWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGVhZGYifS5ieC1mb2xkZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYWUwIn0uYngtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlYWUxIn0uYngtZm9sZGVyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlYWUyIn0uYngtZm9udDpiZWZvcmV7Y29udGVudDoiXGVhZTMifS5ieC1mb250LWNvbG9yOmJlZm9yZXtjb250ZW50OiJcZWFlNCJ9LmJ4LWZvbnQtZmFtaWx5OmJlZm9yZXtjb250ZW50OiJcZWFlNSJ9LmJ4LWZvbnQtc2l6ZTpiZWZvcmV7Y29udGVudDoiXGVhZTYifS5ieC1mb29kLW1lbnU6YmVmb3Jle2NvbnRlbnQ6IlxlYWU3In0uYngtZm9vZC10YWc6YmVmb3Jle2NvbnRlbnQ6IlxlYWU4In0uYngtZm9vdGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYWU5In0uYngtZnJpZGdlOmJlZm9yZXtjb250ZW50OiJcZWFlYSJ9LmJ4LWZ1bGxzY3JlZW46YmVmb3Jle2NvbnRlbnQ6IlxlYWViIn0uYngtZ2FtZTpiZWZvcmV7Y29udGVudDoiXGVhZWMifS5ieC1nYXMtcHVtcDpiZWZvcmV7Y29udGVudDoiXGVhZWQifS5ieC1naG9zdDpiZWZvcmV7Y29udGVudDoiXGVhZWUifS5ieC1naWZ0OmJlZm9yZXtjb250ZW50OiJcZWFlZiJ9LmJ4LWdpdC1icmFuY2g6YmVmb3Jle2NvbnRlbnQ6IlxlYWYwIn0uYngtZ2l0LWNvbW1pdDpiZWZvcmV7Y29udGVudDoiXGVhZjEifS5ieC1naXQtY29tcGFyZTpiZWZvcmV7Y29udGVudDoiXGVhZjIifS5ieC1naXQtbWVyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlYWYzIn0uYngtZ2l0LXB1bGwtcmVxdWVzdDpiZWZvcmV7Y29udGVudDoiXGVhZjQifS5ieC1naXQtcmVwby1mb3JrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWY1In0uYngtZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGVhZjYifS5ieC1nbGFzc2VzLWFsdDpiZWZvcmV7Y29udGVudDoiXGVhZjcifS5ieC1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGVhZjgifS5ieC1nbG9iZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWY5In0uYngtZ3JpZDpiZWZvcmV7Y29udGVudDoiXGVhZmEifS5ieC1ncmlkLWFsdDpiZWZvcmV7Y29udGVudDoiXGVhZmIifS5ieC1ncmlkLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlYWZjIn0uYngtZ3JpZC1zbWFsbDpiZWZvcmV7Y29udGVudDoiXGVhZmQifS5ieC1ncmlkLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWFmZSJ9LmJ4LWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZWFmZiJ9LmJ4LWhhbmRpY2FwOmJlZm9yZXtjb250ZW50OiJcZWIwMCJ9LmJ4LWhhcHB5OmJlZm9yZXtjb250ZW50OiJcZWIwMSJ9LmJ4LWhhcHB5LWFsdDpiZWZvcmV7Y29udGVudDoiXGViMDIifS5ieC1oYXBweS1iZWFtaW5nOmJlZm9yZXtjb250ZW50OiJcZWIwMyJ9LmJ4LWhhcHB5LWhlYXJ0LWV5ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjA0In0uYngtaGFzaDpiZWZvcmV7Y29udGVudDoiXGViMDUifS5ieC1oZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjA2In0uYngtaGVhZGluZzpiZWZvcmV7Y29udGVudDoiXGViMDcifS5ieC1oZWFkcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjA4In0uYngtaGVhbHRoOmJlZm9yZXtjb250ZW50OiJcZWIwOSJ9LmJ4LWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZWIwYSJ9LmJ4LWhlYXJ0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGViMGIifS5ieC1oZWFydC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjBjIn0uYngtaGVscC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjBkIn0uYngtaGlkZTpiZWZvcmV7Y29udGVudDoiXGViMGUifS5ieC1oaWdobGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjBmIn0uYngtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGViMTAifS5ieC1oaXZlOmJlZm9yZXtjb250ZW50OiJcZWIxMSJ9LmJ4LWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlYjEyIn0uYngtaG9tZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjEzIn0uYngtaG9tZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjE0In0uYngtaG9tZS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGViMTUifS5ieC1ob21lLXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZWIxNiJ9LmJ4LWhvcml6b250YWwtY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZWIxNyJ9LmJ4LWhvdGVsOmJlZm9yZXtjb250ZW50OiJcZWIxOCJ9LmJ4LWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGViMTkifS5ieC1pZC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZWIxYSJ9LmJ4LWltYWdlOmJlZm9yZXtjb250ZW50OiJcZWIxYiJ9LmJ4LWltYWdlLWFkZDpiZWZvcmV7Y29udGVudDoiXGViMWMifS5ieC1pbWFnZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjFkIn0uYngtaW1hZ2VzOmJlZm9yZXtjb250ZW50OiJcZWIxZSJ9LmJ4LWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGViMWYifS5ieC1pbmZpbml0ZTpiZWZvcmV7Y29udGVudDoiXGViMjAifS5ieC1pbmZvLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGViMjEifS5ieC1pbmZvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGViMjIifS5ieC1pbnRlcnNlY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYjIzIn0uYngtaXRhbGljOmJlZm9yZXtjb250ZW50OiJcZWIyNCJ9LmJ4LWpveXN0aWNrOmJlZm9yZXtjb250ZW50OiJcZWIyNSJ9LmJ4LWpveXN0aWNrLWFsdDpiZWZvcmV7Y29udGVudDoiXGViMjYifS5ieC1qb3lzdGljay1idXR0b246YmVmb3Jle2NvbnRlbnQ6IlxlYjI3In0uYngta2V5OmJlZm9yZXtjb250ZW50OiJcZWIyOCJ9LmJ4LWxhYmVsOmJlZm9yZXtjb250ZW50OiJcZWIyOSJ9LmJ4LWxhbmRzY2FwZTpiZWZvcmV7Y29udGVudDoiXGViMmEifS5ieC1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxlYjJiIn0uYngtbGFzdC1wYWdlOmJlZm9yZXtjb250ZW50OiJcZWIyYyJ9LmJ4LWxhdWdoOmJlZm9yZXtjb250ZW50OiJcZWIyZCJ9LmJ4LWxheWVyOmJlZm9yZXtjb250ZW50OiJcZWIyZSJ9LmJ4LWxheWVyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWIyZiJ9LmJ4LWxheWVyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjMwIn0uYngtbGF5b3V0OmJlZm9yZXtjb250ZW50OiJcZWIzMSJ9LmJ4LWxlZnQtYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYjMyIn0uYngtbGVmdC1hcnJvdy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjMzIn0uYngtbGVmdC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjM0In0uYngtbGVmdC1kb3duLWFycm93LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGViMzUifS5ieC1sZWZ0LWluZGVudDpiZWZvcmV7Y29udGVudDoiXGViMzYifS5ieC1sZWZ0LXRvcC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjM3In0uYngtbGlicmFyeTpiZWZvcmV7Y29udGVudDoiXGViMzgifS5ieC1saWtlOmJlZm9yZXtjb250ZW50OiJcZWIzOSJ9LmJ4LWxpbmUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjNhIn0uYngtbGluZS1jaGFydC1kb3duOmJlZm9yZXtjb250ZW50OiJcZWIzYiJ9LmJ4LWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlYjNjIn0uYngtbGluay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjNkIn0uYngtbGluay1leHRlcm5hbDpiZWZvcmV7Y29udGVudDoiXGViM2UifS5ieC1saXJhOmJlZm9yZXtjb250ZW50OiJcZWIzZiJ9LmJ4LWxpc3QtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYjQwIn0uYngtbGlzdC1taW51czpiZWZvcmV7Y29udGVudDoiXGViNDEifS5ieC1saXN0LW9sOmJlZm9yZXtjb250ZW50OiJcZWI0MiJ9LmJ4LWxpc3QtcGx1czpiZWZvcmV7Y29udGVudDoiXGViNDMifS5ieC1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZWI0NCJ9LmJ4LWxvYWRlcjpiZWZvcmV7Y29udGVudDoiXGViNDUifS5ieC1sb2FkZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZWI0NiJ9LmJ4LWxvYWRlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjQ3In0uYngtbG9jYXRpb24tcGx1czpiZWZvcmV7Y29udGVudDoiXGViNDgifS5ieC1sb2NrOmJlZm9yZXtjb250ZW50OiJcZWI0OSJ9LmJ4LWxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZWI0YSJ9LmJ4LWxvY2stb3BlbjpiZWZvcmV7Y29udGVudDoiXGViNGIifS5ieC1sb2NrLW9wZW4tYWx0OmJlZm9yZXtjb250ZW50OiJcZWI0YyJ9LmJ4LWxvZy1pbjpiZWZvcmV7Y29udGVudDoiXGViNGQifS5ieC1sb2ctaW4tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWI0ZSJ9LmJ4LWxvZy1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjRmIn0uYngtbG9nLW91dC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjUwIn0uYngtbG93LXZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGViNTEifS5ieC1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjUyIn0uYngtbWFpbC1zZW5kOmJlZm9yZXtjb250ZW50OiJcZWI1MyJ9LmJ4LW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjU0In0uYngtbWFsZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZWI1NSJ9LmJ4LW1hcDpiZWZvcmV7Y29udGVudDoiXGViNTYifS5ieC1tYXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZWI1NyJ9LmJ4LW1hcC1waW46YmVmb3Jle2NvbnRlbnQ6IlxlYjU4In0uYngtbWFzazpiZWZvcmV7Y29udGVudDoiXGViNTkifS5ieC1tZWRhbDpiZWZvcmV7Y29udGVudDoiXGViNWEifS5ieC1tZWg6YmVmb3Jle2NvbnRlbnQ6IlxlYjViIn0uYngtbWVoLWFsdDpiZWZvcmV7Y29udGVudDoiXGViNWMifS5ieC1tZWgtYmxhbms6YmVmb3Jle2NvbnRlbnQ6IlxlYjVkIn0uYngtbWVtb3J5LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjVlIn0uYngtbWVudTpiZWZvcmV7Y29udGVudDoiXGViNWYifS5ieC1tZW51LWFsdC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWY1YiJ9LmJ4LW1lbnUtYWx0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWI2MSJ9LmJ4LW1lcmdlOmJlZm9yZXtjb250ZW50OiJcZWI2MiJ9LmJ4LW1lc3NhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjYzIn0uYngtbWVzc2FnZS1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjY0In0uYngtbWVzc2FnZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjY1In0uYngtbWVzc2FnZS1hbHQtYWRkOmJlZm9yZXtjb250ZW50OiJcZWI2NiJ9LmJ4LW1lc3NhZ2UtYWx0LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWI2NyJ9LmJ4LW1lc3NhZ2UtYWx0LWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGViNjgifS5ieC1tZXNzYWdlLWFsdC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWI2OSJ9LmJ4LW1lc3NhZ2UtYWx0LWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjZhIn0uYngtbWVzc2FnZS1hbHQtZXJyb3I6YmVmb3Jle2NvbnRlbnQ6IlxlYjZiIn0uYngtbWVzc2FnZS1hbHQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjZjIn0uYngtbWVzc2FnZS1hbHQteDpiZWZvcmV7Y29udGVudDoiXGViNmQifS5ieC1tZXNzYWdlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWI2ZSJ9LmJ4LW1lc3NhZ2UtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWI2ZiJ9LmJ4LW1lc3NhZ2UtZG90czpiZWZvcmV7Y29udGVudDoiXGViNzAifS5ieC1tZXNzYWdlLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjcxIn0uYngtbWVzc2FnZS1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGViNzIifS5ieC1tZXNzYWdlLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWI3MyJ9LmJ4LW1lc3NhZ2Utcm91bmRlZDpiZWZvcmV7Y29udGVudDoiXGViNzQifS5ieC1tZXNzYWdlLXJvdW5kZWQtYWRkOmJlZm9yZXtjb250ZW50OiJcZWI3NSJ9LmJ4LW1lc3NhZ2Utcm91bmRlZC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGViNzYifS5ieC1tZXNzYWdlLXJvdW5kZWQtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWI3NyJ9LmJ4LW1lc3NhZ2Utcm91bmRlZC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWI3OCJ9LmJ4LW1lc3NhZ2Utcm91bmRlZC1lZGl0OmJlZm9yZXtjb250ZW50OiJcZWY1YyJ9LmJ4LW1lc3NhZ2Utcm91bmRlZC1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGViN2EifS5ieC1tZXNzYWdlLXJvdW5kZWQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjdiIn0uYngtbWVzc2FnZS1yb3VuZGVkLXg6YmVmb3Jle2NvbnRlbnQ6IlxlYjdjIn0uYngtbWVzc2FnZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjdkIn0uYngtbWVzc2FnZS1zcXVhcmUtYWRkOmJlZm9yZXtjb250ZW50OiJcZWI3ZSJ9LmJ4LW1lc3NhZ2Utc3F1YXJlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWI3ZiJ9LmJ4LW1lc3NhZ2Utc3F1YXJlLWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGViODAifS5ieC1tZXNzYWdlLXNxdWFyZS1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWI4MSJ9LmJ4LW1lc3NhZ2Utc3F1YXJlLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjgyIn0uYngtbWVzc2FnZS1zcXVhcmUtZXJyb3I6YmVmb3Jle2NvbnRlbnQ6IlxlYjgzIn0uYngtbWVzc2FnZS1zcXVhcmUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjg0In0uYngtbWVzc2FnZS1zcXVhcmUteDpiZWZvcmV7Y29udGVudDoiXGViODUifS5ieC1tZXNzYWdlLXg6YmVmb3Jle2NvbnRlbnQ6IlxlYjg2In0uYngtbWV0ZW9yOmJlZm9yZXtjb250ZW50OiJcZWI4NyJ9LmJ4LW1pY3JvY2hpcDpiZWZvcmV7Y29udGVudDoiXGViODgifS5ieC1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZWI4OSJ9LmJ4LW1pY3JvcGhvbmUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZWI4YSJ9LmJ4LW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWI4YiJ9LmJ4LW1pbnVzLWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYjhjIn0uYngtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWI4ZCJ9LmJ4LW1pbnVzLWZyb250OmJlZm9yZXtjb250ZW50OiJcZWI4ZSJ9LmJ4LW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGViOGYifS5ieC1tb2JpbGUtYWx0OmJlZm9yZXtjb250ZW50OiJcZWI5MCJ9LmJ4LW1vYmlsZS1sYW5kc2NhcGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjkxIn0uYngtbW9iaWxlLXZpYnJhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVmNWQifS5ieC1tb25leTpiZWZvcmV7Y29udGVudDoiXGViOTMifS5ieC1tb29uOmJlZm9yZXtjb250ZW50OiJcZWI5NCJ9LmJ4LW1vdXNlOmJlZm9yZXtjb250ZW50OiJcZWI5NSJ9LmJ4LW1vdXNlLWFsdDpiZWZvcmV7Y29udGVudDoiXGViOTYifS5ieC1tb3ZlOmJlZm9yZXtjb250ZW50OiJcZWI5NyJ9LmJ4LW1vdmUtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGViOTgifS5ieC1tb3ZlLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWI5OSJ9LmJ4LW1vdmllOmJlZm9yZXtjb250ZW50OiJcZWI5YSJ9LmJ4LW1vdmllLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxlYjliIn0uYngtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlYjljIn0uYngtbmF2aWdhdGlvbjpiZWZvcmV7Y29udGVudDoiXGViOWQifS5ieC1uZXR3b3JrLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZWI5ZSJ9LmJ4LW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxlYjlmIn0uYngtbm8tZW50cnk6YmVmb3Jle2NvbnRlbnQ6IlxlYmEwIn0uYngtbm90ZTpiZWZvcmV7Y29udGVudDoiXGViYTEifS5ieC1ub3RlcGFkOmJlZm9yZXtjb250ZW50OiJcZWJhMiJ9LmJ4LW5vdGlmaWNhdGlvbjpiZWZvcmV7Y29udGVudDoiXGViYTMifS5ieC1ub3RpZmljYXRpb24tb2ZmOmJlZm9yZXtjb250ZW50OiJcZWJhNCJ9LmJ4LW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYmE1In0uYngtcGFja2FnZTpiZWZvcmV7Y29udGVudDoiXGViYTYifS5ieC1wYWludDpiZWZvcmV7Y29udGVudDoiXGViYTcifS5ieC1wYWludC1yb2xsOmJlZm9yZXtjb250ZW50OiJcZWJhOCJ9LmJ4LXBhbGV0dGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmE5In0uYngtcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZWJhYSJ9LmJ4LXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZWY2MSJ9LmJ4LXBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGViYWMifS5ieC1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGViYWQifS5ieC1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGViYWUifS5ieC1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmFmIn0uYngtcGVuOmJlZm9yZXtjb250ZW50OiJcZWJiMCJ9LmJ4LXBlbmNpbDpiZWZvcmV7Y29udGVudDoiXGViYjEifS5ieC1waG9uZTpiZWZvcmV7Y29udGVudDoiXGViYjIifS5ieC1waG9uZS1jYWxsOmJlZm9yZXtjb250ZW50OiJcZWJiMyJ9LmJ4LXBob25lLWluY29taW5nOmJlZm9yZXtjb250ZW50OiJcZWJiNCJ9LmJ4LXBob25lLW9mZjpiZWZvcmV7Y29udGVudDoiXGViYjUifS5ieC1waG9uZS1vdXRnb2luZzpiZWZvcmV7Y29udGVudDoiXGViYjYifS5ieC1waG90by1hbGJ1bTpiZWZvcmV7Y29udGVudDoiXGViYjcifS5ieC1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmI4In0uYngtcGllLWNoYXJ0LWFsdDpiZWZvcmV7Y29udGVudDoiXGViYjkifS5ieC1waWUtY2hhcnQtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmJhIn0uYngtcGluOmJlZm9yZXtjb250ZW50OiJcZWJiYiJ9LmJ4LXBsYW5ldDpiZWZvcmV7Y29udGVudDoiXGViYmMifS5ieC1wbGF5OmJlZm9yZXtjb250ZW50OiJcZWJiZCJ9LmJ4LXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWJiZSJ9LmJ4LXBsdWc6YmVmb3Jle2NvbnRlbnQ6IlxlYmJmIn0uYngtcGx1czpiZWZvcmV7Y29udGVudDoiXGViYzAifS5ieC1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGViYzEifS5ieC1wbHVzLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlYmMyIn0uYngtcG9kY2FzdDpiZWZvcmV7Y29udGVudDoiXGViYzMifS5ieC1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZWY1ZSJ9LmJ4LXBvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYmM1In0uYngtcG9seWdvbjpiZWZvcmV7Y29udGVudDoiXGViYzYifS5ieC1wb3VuZDpiZWZvcmV7Y29udGVudDoiXGViYzcifS5ieC1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlYmM4In0uYngtcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGViYzkifS5ieC1wdWxzZTpiZWZvcmV7Y29udGVudDoiXGViY2EifS5ieC1wdXJjaGFzZS10YWc6YmVmb3Jle2NvbnRlbnQ6IlxlYmNiIn0uYngtcHVyY2hhc2UtdGFnLWFsdDpiZWZvcmV7Y29udGVudDoiXGViY2MifS5ieC1weXJhbWlkOmJlZm9yZXtjb250ZW50OiJcZWJjZCJ9LmJ4LXFyOmJlZm9yZXtjb250ZW50OiJcZWJjZSJ9LmJ4LXFyLXNjYW46YmVmb3Jle2NvbnRlbnQ6IlxlYmNmIn0uYngtcXVlc3Rpb24tbWFyazpiZWZvcmV7Y29udGVudDoiXGViZDAifS5ieC1yYWRhcjpiZWZvcmV7Y29udGVudDoiXGViZDEifS5ieC1yYWRpbzpiZWZvcmV7Y29udGVudDoiXGViZDIifS5ieC1yYWRpby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmQzIn0uYngtcmFkaW8tY2lyY2xlLW1hcmtlZDpiZWZvcmV7Y29udGVudDoiXGViZDQifS5ieC1yZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZWJkNSJ9LmJ4LXJlY3RhbmdsZTpiZWZvcmV7Y29udGVudDoiXGViZDYifS5ieC1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZWJkNyJ9LmJ4LXJlZG86YmVmb3Jle2NvbnRlbnQ6IlxlYmQ4In0uYngtcmVmcmVzaDpiZWZvcmV7Y29udGVudDoiXGViZDkifS5ieC1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZWJkYSJ9LmJ4LXJlbmFtZTpiZWZvcmV7Y29udGVudDoiXGViZGIifS5ieC1yZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmRjIn0uYngtcmVwbHk6YmVmb3Jle2NvbnRlbnQ6IlxlZjVmIn0uYngtcmVwbHktYWxsOmJlZm9yZXtjb250ZW50OiJcZWJkZSJ9LmJ4LXJlcG9zdDpiZWZvcmV7Y29udGVudDoiXGViZGYifS5ieC1yZXNldDpiZWZvcmV7Y29udGVudDoiXGViZTAifS5ieC1yZXN0YXVyYW50OmJlZm9yZXtjb250ZW50OiJcZWJlMSJ9LmJ4LXJldmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZWJlMiJ9LmJ4LXJld2luZDpiZWZvcmV7Y29udGVudDoiXGViZTMifS5ieC1yZXdpbmQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWJlNCJ9LmJ4LXJpZ2h0LWFycm93OmJlZm9yZXtjb250ZW50OiJcZWJlNSJ9LmJ4LXJpZ2h0LWFycm93LWFsdDpiZWZvcmV7Y29udGVudDoiXGViZTYifS5ieC1yaWdodC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmU3In0uYngtcmlnaHQtZG93bi1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmU4In0uYngtcmlnaHQtaW5kZW50OmJlZm9yZXtjb250ZW50OiJcZWJlOSJ9LmJ4LXJpZ2h0LXRvcC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmVhIn0uYngtcm9ja2V0OmJlZm9yZXtjb250ZW50OiJcZWJlYiJ9LmJ4LXJvdGF0ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWJlYyJ9LmJ4LXJvdGF0ZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGViZWQifS5ieC1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYmVlIn0uYngtcnVibGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmVmIn0uYngtcnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYmYwIn0uYngtcnVuOmJlZm9yZXtjb250ZW50OiJcZWJmMSJ9LmJ4LXJ1cGVlOmJlZm9yZXtjb250ZW50OiJcZWJmMiJ9LmJ4LXNhZDpiZWZvcmV7Y29udGVudDoiXGViZjMifS5ieC1zYXZlOmJlZm9yZXtjb250ZW50OiJcZWJmNCJ9LmJ4LXNjYW46YmVmb3Jle2NvbnRlbnQ6IlxlYmY1In0uYngtc2NyZWVuc2hvdDpiZWZvcmV7Y29udGVudDoiXGVmNjAifS5ieC1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlYmY3In0uYngtc2VhcmNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGViZjgifS5ieC1zZWFyY2gtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmY5In0uYngtc2VsZWN0aW9uOmJlZm9yZXtjb250ZW50OiJcZWJmYSJ9LmJ4LXNlbGVjdC1tdWx0aXBsZTpiZWZvcmV7Y29udGVudDoiXGViZmIifS5ieC1zZW5kOmJlZm9yZXtjb250ZW50OiJcZWJmYyJ9LmJ4LXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGViZmQifS5ieC1zaGFwZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmZlIn0uYngtc2hhcGUtcG9seWdvbjpiZWZvcmV7Y29udGVudDoiXGViZmYifS5ieC1zaGFwZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzAwIn0uYngtc2hhcGUtdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzAxIn0uYngtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzAyIn0uYngtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZWMwMyJ9LmJ4LXNoZWtlbDpiZWZvcmV7Y29udGVudDoiXGVjMDQifS5ieC1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzA1In0uYngtc2hpZWxkLWFsdDpiZWZvcmV7Y29udGVudDoiXGVjMDYifS5ieC1zaGllbGQtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzA3In0uYngtc2hpZWxkLXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzA4In0uYngtc2hpZWxkLXg6YmVmb3Jle2NvbnRlbnQ6IlxlYzA5In0uYngtc2hvY2tlZDpiZWZvcmV7Y29udGVudDoiXGVjMGEifS5ieC1zaG9wcGluZy1iYWc6YmVmb3Jle2NvbnRlbnQ6IlxlYzBiIn0uYngtc2hvdzpiZWZvcmV7Y29udGVudDoiXGVjMGMifS5ieC1zaG93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVjMGQifS5ieC1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZWMwZSJ9LmJ4LXNpZGViYXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzBmIn0uYngtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDoiXGVjMTAifS5ieC1za2lwLW5leHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzExIn0uYngtc2tpcC1uZXh0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVjMTIifS5ieC1za2lwLXByZXZpb3VzOmJlZm9yZXtjb250ZW50OiJcZWMxMyJ9LmJ4LXNraXAtcHJldmlvdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWMxNCJ9LmJ4LXNsZWVweTpiZWZvcmV7Y29udGVudDoiXGVjMTUifS5ieC1zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzE2In0uYngtc2xpZGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGVjMTcifS5ieC1zbGlkZXNob3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzE4In0uYngtc21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzE5In0uYngtc29ydDpiZWZvcmV7Y29udGVudDoiXGVjMWEifS5ieC1zb3J0LWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZWMxYiJ9LmJ4LXNvcnQtYS16OmJlZm9yZXtjb250ZW50OiJcZWMxYyJ9LmJ4LXNvcnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGVjMWQifS5ieC1zb3J0LXVwOmJlZm9yZXtjb250ZW50OiJcZWMxZSJ9LmJ4LXNvcnQtei1hOmJlZm9yZXtjb250ZW50OiJcZWMxZiJ9LmJ4LXNwYTpiZWZvcmV7Y29udGVudDoiXGVjMjAifS5ieC1zcGFjZS1iYXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzIxIn0uYngtc3BlYWtlcjpiZWZvcmV7Y29udGVudDoiXGVjMjIifS5ieC1zcHJheS1jYW46YmVmb3Jle2NvbnRlbnQ6IlxlYzIzIn0uYngtc3ByZWFkc2hlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzI0In0uYngtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWMyNSJ9LmJ4LXNxdWFyZS1yb3VuZGVkOmJlZm9yZXtjb250ZW50OiJcZWMyNiJ9LmJ4LXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzI3In0uYngtc3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVjMjgifS5ieC1zdGF0czpiZWZvcmV7Y29udGVudDoiXGVjMjkifS5ieC1zdGlja2VyOmJlZm9yZXtjb250ZW50OiJcZWMyYSJ9LmJ4LXN0b3A6YmVmb3Jle2NvbnRlbnQ6IlxlYzJiIn0uYngtc3RvcC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzJjIn0uYngtc3RvcHdhdGNoOmJlZm9yZXtjb250ZW50OiJcZWMyZCJ9LmJ4LXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZWMyZSJ9LmJ4LXN0b3JlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVjMmYifS5ieC1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGVjMzAifS5ieC1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZWMzMSJ9LmJ4LXN1YmRpcmVjdG9yeS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWMzMiJ9LmJ4LXN1YmRpcmVjdG9yeS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVjMzMifS5ieC1zdW46YmVmb3Jle2NvbnRlbnQ6IlxlYzM0In0uYngtc3VwcG9ydDpiZWZvcmV7Y29udGVudDoiXGVjMzUifS5ieC1zd2ltOmJlZm9yZXtjb250ZW50OiJcZWMzNiJ9LmJ4LXN5bmM6YmVmb3Jle2NvbnRlbnQ6IlxlYzM3In0uYngtdGFiOmJlZm9yZXtjb250ZW50OiJcZWMzOCJ9LmJ4LXRhYmxlOmJlZm9yZXtjb250ZW50OiJcZWMzOSJ9LmJ4LXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzNhIn0uYngtdGFnOmJlZm9yZXtjb250ZW50OiJcZWMzYiJ9LmJ4LXRhZy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzNjIn0uYngtdGFyZ2V0LWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYzNkIn0uYngtdGFzazpiZWZvcmV7Y29udGVudDoiXGVjM2UifS5ieC10YXNrLXg6YmVmb3Jle2NvbnRlbnQ6IlxlYzNmIn0uYngtdGF4aTpiZWZvcmV7Y29udGVudDoiXGVjNDAifS5ieC10ZW5uaXMtYmFsbDpiZWZvcmV7Y29udGVudDoiXGVjNDEifS5ieC10ZXJtaW5hbDpiZWZvcmV7Y29udGVudDoiXGVjNDIifS5ieC10ZXN0LXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzQzIn0uYngtdGV4dDpiZWZvcmV7Y29udGVudDoiXGVjNDQifS5ieC10aW1lOmJlZm9yZXtjb250ZW50OiJcZWM0NSJ9LmJ4LXRpbWUtZml2ZTpiZWZvcmV7Y29udGVudDoiXGVjNDYifS5ieC10aW1lcjpiZWZvcmV7Y29udGVudDoiXGVjNDcifS5ieC10aXJlZDpiZWZvcmV7Y29udGVudDoiXGVjNDgifS5ieC10b2dnbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGVjNDkifS5ieC10b2dnbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzRhIn0uYngtdG9uZTpiZWZvcmV7Y29udGVudDoiXGVjNGIifS5ieC10cmFmZmljLWNvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzRjIn0uYngtdHJhaW46YmVmb3Jle2NvbnRlbnQ6IlxlYzRkIn0uYngtdHJhbnNmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzRlIn0uYngtdHJhbnNmZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZWM0ZiJ9LmJ4LXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZWM1MCJ9LmJ4LXRyYXNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGVjNTEifS5ieC10cmVuZGluZy1kb3duOmJlZm9yZXtjb250ZW50OiJcZWM1MiJ9LmJ4LXRyZW5kaW5nLXVwOmJlZm9yZXtjb250ZW50OiJcZWM1MyJ9LmJ4LXRyaW06YmVmb3Jle2NvbnRlbnQ6IlxlYzU0In0uYngtdHJpcDpiZWZvcmV7Y29udGVudDoiXGVjNTUifS5ieC10cm9waHk6YmVmb3Jle2NvbnRlbnQ6IlxlYzU2In0uYngtdHY6YmVmb3Jle2NvbnRlbnQ6IlxlYzU3In0uYngtdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OiJcZWM1OCJ9LmJ4LXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxlYzU5In0uYngtdW5pdGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzVhIn0uYngtdW5saW5rOmJlZm9yZXtjb250ZW50OiJcZWM1YiJ9LmJ4LXVwLWFycm93OmJlZm9yZXtjb250ZW50OiJcZWM1YyJ9LmJ4LXVwLWFycm93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVjNWQifS5ieC11cC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzVlIn0uYngtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZWM1ZiJ9LmJ4LXVwc2lkZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZWM2MCJ9LmJ4LXVwdm90ZTpiZWZvcmV7Y29udGVudDoiXGVjNjEifS5ieC11c2I6YmVmb3Jle2NvbnRlbnQ6IlxlYzYyIn0uYngtdXNlcjpiZWZvcmV7Y29udGVudDoiXGVjNjMifS5ieC11c2VyLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWM2NCJ9LmJ4LXVzZXItY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWM2NSJ9LmJ4LXVzZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzY2In0uYngtdXNlci1waW46YmVmb3Jle2NvbnRlbnQ6IlxlYzY3In0uYngtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWM2OCJ9LmJ4LXVzZXItdm9pY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYzY5In0uYngtdXNlci14OmJlZm9yZXtjb250ZW50OiJcZWM2YSJ9LmJ4LXZlY3RvcjpiZWZvcmV7Y29udGVudDoiXGVjNmIifS5ieC12ZXJ0aWNhbC1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzZjIn0uYngtdmlhbDpiZWZvcmV7Y29udGVudDoiXGVjNmQifS5ieC12aWRlbzpiZWZvcmV7Y29udGVudDoiXGVjNmUifS5ieC12aWRlby1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlYzZmIn0uYngtdmlkZW8tcGx1czpiZWZvcmV7Y29udGVudDoiXGVjNzAifS5ieC12aWRlby1yZWNvcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYzcxIn0uYngtdm9pY2VtYWlsOmJlZm9yZXtjb250ZW50OiJcZWM3MiJ9LmJ4LXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGVjNzMifS5ieC12b2x1bWUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGVjNzQifS5ieC12b2x1bWUtbG93OmJlZm9yZXtjb250ZW50OiJcZWM3NSJ9LmJ4LXZvbHVtZS1tdXRlOmJlZm9yZXtjb250ZW50OiJcZWM3NiJ9LmJ4LXdhbGs6YmVmb3Jle2NvbnRlbnQ6IlxlYzc3In0uYngtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZWM3OCJ9LmJ4LXdhbGxldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzc5In0uYngtd2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzdhIn0uYngtd2ViY2FtOmJlZm9yZXtjb250ZW50OiJcZWM3YiJ9LmJ4LXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxlYzdjIn0uYngtd2lmaS0wOmJlZm9yZXtjb250ZW50OiJcZWM3ZCJ9LmJ4LXdpZmktMTpiZWZvcmV7Y29udGVudDoiXGVjN2UifS5ieC13aWZpLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzdmIn0uYngtd2lmaS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlYzgwIn0uYngtd2luZDpiZWZvcmV7Y29udGVudDoiXGVjODEifS5ieC13aW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzgyIn0uYngtd2luZG93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVjODMifS5ieC13aW5kb3ctY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlYzg0In0uYngtd2luZG93LW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlYzg1In0uYngtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGVjODYifS5ieC13aW5lOmJlZm9yZXtjb250ZW50OiJcZWM4NyJ9LmJ4LXdpbmstc21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzg4In0uYngtd2luay10b25ndWU6YmVmb3Jle2NvbnRlbnQ6IlxlYzg5In0uYngtd29uOmJlZm9yZXtjb250ZW50OiJcZWM4YSJ9LmJ4LXdvcmxkOmJlZm9yZXtjb250ZW50OiJcZWM4YiJ9LmJ4LXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGVjOGMifS5ieC14OmJlZm9yZXtjb250ZW50OiJcZWM4ZCJ9LmJ4LXgtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWM4ZSJ9LmJ4LXllbjpiZWZvcmV7Y29udGVudDoiXGVjOGYifS5ieC16b29tLWluOmJlZm9yZXtjb250ZW50OiJcZWM5MCJ9LmJ4LXpvb20tb3V0OmJlZm9yZXtjb250ZW50OiJcZWM5MSJ9LmJ4cy1wYXJ0eTpiZWZvcmV7Y29udGVudDoiXGVjOTIifS5ieHMtaG90OmJlZm9yZXtjb250ZW50OiJcZWM5MyJ9LmJ4cy1kcm9wbGV0OmJlZm9yZXtjb250ZW50OiJcZWM5NCJ9LmJ4cy1jYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzk1In0uYnhzLWRvZzpiZWZvcmV7Y29udGVudDoiXGVjOTYifS5ieHMtaW5qZWN0aW9uOmJlZm9yZXtjb250ZW50OiJcZWM5NyJ9LmJ4cy1sZWFmOmJlZm9yZXtjb250ZW50OiJcZWM5OCJ9LmJ4cy1hZGQtdG8tcXVldWU6YmVmb3Jle2NvbnRlbnQ6IlxlYzk5In0uYnhzLWFkanVzdDpiZWZvcmV7Y29udGVudDoiXGVjOWEifS5ieHMtYWRqdXN0LWFsdDpiZWZvcmV7Y29udGVudDoiXGVjOWIifS5ieHMtYWxhcm06YmVmb3Jle2NvbnRlbnQ6IlxlYzljIn0uYnhzLWFsYXJtLWFkZDpiZWZvcmV7Y29udGVudDoiXGVjOWQifS5ieHMtYWxhcm0tZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYzllIn0uYnhzLWFsYXJtLW9mZjpiZWZvcmV7Y29udGVudDoiXGVjOWYifS5ieHMtYWxhcm0tc25vb3plOmJlZm9yZXtjb250ZW50OiJcZWNhMCJ9LmJ4cy1hbGJ1bTpiZWZvcmV7Y29udGVudDoiXGVjYTEifS5ieHMtYW1idWxhbmNlOmJlZm9yZXtjb250ZW50OiJcZWNhMiJ9LmJ4cy1hbmFseXNlOmJlZm9yZXtjb250ZW50OiJcZWNhMyJ9LmJ4cy1hbmdyeTpiZWZvcmV7Y29udGVudDoiXGVjYTQifS5ieHMtYXJjaDpiZWZvcmV7Y29udGVudDoiXGVjYTUifS5ieHMtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGVjYTYifS5ieHMtYXJjaGl2ZS1pbjpiZWZvcmV7Y29udGVudDoiXGVjYTcifS5ieHMtYXJjaGl2ZS1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2E4In0uYnhzLWFyZWE6YmVmb3Jle2NvbnRlbnQ6IlxlY2E5In0uYnhzLWFycm93LWZyb20tYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZWNhYSJ9LmJ4cy1hcnJvdy1mcm9tLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2FiIn0uYnhzLWFycm93LWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2FjIn0uYnhzLWFycm93LWZyb20tdG9wOmJlZm9yZXtjb250ZW50OiJcZWNhZCJ9LmJ4cy1hcnJvdy10by1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlY2FlIn0uYnhzLWFycm93LXRvLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2FmIn0uYnhzLWFycm93LXRvLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWNiMCJ9LmJ4cy1hcnJvdy10by10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlY2IxIn0uYnhzLWF3YXJkOmJlZm9yZXtjb250ZW50OiJcZWNiMiJ9LmJ4cy1iYWJ5LWNhcnJpYWdlOmJlZm9yZXtjb250ZW50OiJcZWNiMyJ9LmJ4cy1iYWNrcGFjazpiZWZvcmV7Y29udGVudDoiXGVjYjQifS5ieHMtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2I1In0uYnhzLWJhZGdlLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWNiNiJ9LmJ4cy1iYWRnZS1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2I3In0uYnhzLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlY2I4In0uYnhzLWJhbmQtYWlkOmJlZm9yZXtjb250ZW50OiJcZWNiOSJ9LmJ4cy1iYW5rOmJlZm9yZXtjb250ZW50OiJcZWNiYSJ9LmJ4cy1iYXItY2hhcnQtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlY2JiIn0uYnhzLWJhci1jaGFydC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlY2JjIn0uYnhzLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlY2JkIn0uYnhzLWJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZWNiZSJ9LmJ4cy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2JmIn0uYnhzLWJhc2tldGJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlY2MwIn0uYnhzLWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxlY2MxIn0uYnhzLWJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlY2MyIn0uYnhzLWJhdHRlcnktY2hhcmdpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlY2MzIn0uYnhzLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDoiXGVjYzQifS5ieHMtYmF0dGVyeS1sb3c6YmVmb3Jle2NvbnRlbnQ6IlxlY2M1In0uYnhzLWJlZDpiZWZvcmV7Y29udGVudDoiXGVjYzYifS5ieHMtYmVlbi1oZXJlOmJlZm9yZXtjb250ZW50OiJcZWNjNyJ9LmJ4cy1iZWVyOmJlZm9yZXtjb250ZW50OiJcZWNjOCJ9LmJ4cy1iZWxsOmJlZm9yZXtjb250ZW50OiJcZWNjOSJ9LmJ4cy1iZWxsLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZWNjYSJ9LmJ4cy1iZWxsLW9mZjpiZWZvcmV7Y29udGVudDoiXGVjY2IifS5ieHMtYmVsbC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWNjYyJ9LmJ4cy1iZWxsLXJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlY2NkIn0uYnhzLWJpYmxlOmJlZm9yZXtjb250ZW50OiJcZWNjZSJ9LmJ4cy1iaW5vY3VsYXJzOmJlZm9yZXtjb250ZW50OiJcZWNjZiJ9LmJ4cy1ibGFua2V0OmJlZm9yZXtjb250ZW50OiJcZWNkMCJ9LmJ4cy1ib2x0OmJlZm9yZXtjb250ZW50OiJcZWNkMSJ9LmJ4cy1ib2x0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVjZDIifS5ieHMtYm9tYjpiZWZvcmV7Y29udGVudDoiXGVjZDMifS5ieHMtYm9uZTpiZWZvcmV7Y29udGVudDoiXGVjZDQifS5ieHMtYm9uZzpiZWZvcmV7Y29udGVudDoiXGVjZDUifS5ieHMtYm9vazpiZWZvcmV7Y29udGVudDoiXGVjZDYifS5ieHMtYm9vay1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2Q3In0uYnhzLWJvb2stYWx0OmJlZm9yZXtjb250ZW50OiJcZWNkOCJ9LmJ4cy1ib29rLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZWNkOSJ9LmJ4cy1ib29rLWNvbnRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2RhIn0uYnhzLWJvb2staGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2RiIn0uYnhzLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZWNkYyJ9LmJ4cy1ib29rbWFyay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2RkIn0uYnhzLWJvb2ttYXJrLWFsdC1taW51czpiZWZvcmV7Y29udGVudDoiXGVjZGUifS5ieHMtYm9va21hcmstYWx0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlY2RmIn0uYnhzLWJvb2ttYXJrLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZWNlMCJ9LmJ4cy1ib29rbWFyay1taW51czpiZWZvcmV7Y29udGVudDoiXGVjZTEifS5ieHMtYm9va21hcmstcGx1czpiZWZvcmV7Y29udGVudDoiXGVjZTIifS5ieHMtYm9va21hcmtzOmJlZm9yZXtjb250ZW50OiJcZWNlMyJ9LmJ4cy1ib29rbWFyay1zdGFyOmJlZm9yZXtjb250ZW50OiJcZWNlNCJ9LmJ4cy1ib29rLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlY2U1In0uYnhzLWJvb2stcmVhZGVyOmJlZm9yZXtjb250ZW50OiJcZWNlNiJ9LmJ4cy1ib3Q6YmVmb3Jle2NvbnRlbnQ6IlxlY2U3In0uYnhzLWJvd2xpbmctYmFsbDpiZWZvcmV7Y29udGVudDoiXGVjZTgifS5ieHMtYm94OmJlZm9yZXtjb250ZW50OiJcZWNlOSJ9LmJ4cy1icmFpbjpiZWZvcmV7Y29udGVudDoiXGVjZWEifS5ieHMtYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZWNlYiJ9LmJ4cy1icmllZmNhc2UtYWx0OmJlZm9yZXtjb250ZW50OiJcZWNlYyJ9LmJ4cy1icmllZmNhc2UtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlY2VkIn0uYnhzLWJyaWdodG5lc3M6YmVmb3Jle2NvbnRlbnQ6IlxlY2VlIn0uYnhzLWJyaWdodG5lc3MtaGFsZjpiZWZvcmV7Y29udGVudDoiXGVjZWYifS5ieHMtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlY2YwIn0uYnhzLWJydXNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGVjZjEifS5ieHMtYnVnOmJlZm9yZXtjb250ZW50OiJcZWNmMiJ9LmJ4cy1idWctYWx0OmJlZm9yZXtjb250ZW50OiJcZWNmMyJ9LmJ4cy1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGVjZjQifS5ieHMtYnVpbGRpbmctaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y1In0uYnhzLWJ1aWxkaW5nczpiZWZvcmV7Y29udGVudDoiXGVjZjYifS5ieHMtYnVsYjpiZWZvcmV7Y29udGVudDoiXGVjZjcifS5ieHMtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y4In0uYnhzLWJ1b3k6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y5In0uYnhzLWJ1czpiZWZvcmV7Y29udGVudDoiXGVjZmEifS5ieHMtYnVzaW5lc3M6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZiIn0uYnhzLWJ1cy1zY2hvb2w6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZjIn0uYnhzLWNhYmluZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZkIn0uYnhzLWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZlIn0uYnhzLWNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZmIn0uYnhzLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZWQwMCJ9LmJ4cy1jYWxlbmRhci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDAxIn0uYnhzLWNhbGVuZGFyLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWQwMiJ9LmJ4cy1jYWxlbmRhci1lZGl0OmJlZm9yZXtjb250ZW50OiJcZWQwMyJ9LmJ4cy1jYWxlbmRhci1ldmVudDpiZWZvcmV7Y29udGVudDoiXGVkMDQifS5ieHMtY2FsZW5kYXItZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlZDA1In0uYnhzLWNhbGVuZGFyLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZWQwNiJ9LmJ4cy1jYWxlbmRhci1taW51czpiZWZvcmV7Y29udGVudDoiXGVkMDcifS5ieHMtY2FsZW5kYXItcGx1czpiZWZvcmV7Y29udGVudDoiXGVkMDgifS5ieHMtY2FsZW5kYXItc3RhcjpiZWZvcmV7Y29udGVudDoiXGVkMDkifS5ieHMtY2FsZW5kYXItd2VlazpiZWZvcmV7Y29udGVudDoiXGVkMGEifS5ieHMtY2FsZW5kYXIteDpiZWZvcmV7Y29udGVudDoiXGVkMGIifS5ieHMtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZWQwYyJ9LmJ4cy1jYW1lcmEtaG9tZTpiZWZvcmV7Y29udGVudDoiXGVkMGQifS5ieHMtY2FtZXJhLW1vdmllOmJlZm9yZXtjb250ZW50OiJcZWQwZSJ9LmJ4cy1jYW1lcmEtb2ZmOmJlZm9yZXtjb250ZW50OiJcZWQwZiJ9LmJ4cy1jYW1lcmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGVkMTAifS5ieHMtY2Fwc3VsZTpiZWZvcmV7Y29udGVudDoiXGVkMTEifS5ieHMtY2FwdGlvbnM6YmVmb3Jle2NvbnRlbnQ6IlxlZDEyIn0uYnhzLWNhcjpiZWZvcmV7Y29udGVudDoiXGVkMTMifS5ieHMtY2FyLWJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlZDE0In0uYnhzLWNhci1jcmFzaDpiZWZvcmV7Y29udGVudDoiXGVkMTUifS5ieHMtY2FyZDpiZWZvcmV7Y29udGVudDoiXGVkMTYifS5ieHMtY2FyZXQtZG93bi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDE3In0uYnhzLWNhcmV0LWRvd24tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWQxOCJ9LmJ4cy1jYXJldC1sZWZ0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkMTkifS5ieHMtY2FyZXQtbGVmdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDFhIn0uYnhzLWNhcmV0LXJpZ2h0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkMWIifS5ieHMtY2FyZXQtcmlnaHQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWQxYyJ9LmJ4cy1jYXJldC11cC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDFkIn0uYnhzLWNhcmV0LXVwLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVkMWUifS5ieHMtY2FyLWdhcmFnZTpiZWZvcmV7Y29udGVudDoiXGVkMWYifS5ieHMtY2FyLW1lY2hhbmljOmJlZm9yZXtjb250ZW50OiJcZWQyMCJ9LmJ4cy1jYXJvdXNlbDpiZWZvcmV7Y29udGVudDoiXGVkMjEifS5ieHMtY2FydDpiZWZvcmV7Y29udGVudDoiXGVkMjIifS5ieHMtY2FydC1hZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDIzIn0uYnhzLWNhcnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZWQyNCJ9LmJ4cy1jYXJ0LWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZWQyNSJ9LmJ4cy1jYXItd2FzaDpiZWZvcmV7Y29udGVudDoiXGVkMjYifS5ieHMtY2F0ZWdvcnk6YmVmb3Jle2NvbnRlbnQ6IlxlZDI3In0uYnhzLWNhdGVnb3J5LWFsdDpiZWZvcmV7Y29udGVudDoiXGVkMjgifS5ieHMtY2N0djpiZWZvcmV7Y29udGVudDoiXGVkMjkifS5ieHMtY2VydGlmaWNhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVkMmEifS5ieHMtY2hhbGtib2FyZDpiZWZvcmV7Y29udGVudDoiXGVkMmIifS5ieHMtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDJjIn0uYnhzLWNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDJkIn0uYnhzLWNoZWNrYm94OmJlZm9yZXtjb250ZW50OiJcZWQyZSJ9LmJ4cy1jaGVja2JveC1jaGVja2VkOmJlZm9yZXtjb250ZW50OiJcZWQyZiJ9LmJ4cy1jaGVja2JveC1taW51czpiZWZvcmV7Y29udGVudDoiXGVkMzAifS5ieHMtY2hlY2stY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWQzMSJ9LmJ4cy1jaGVjay1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDMyIn0uYnhzLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVkMzMifS5ieHMtY2hlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlZDM0In0uYnhzLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGVkMzUifS5ieHMtY2hldnJvbi1kb3duLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkMzYifS5ieHMtY2hldnJvbi1kb3duLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVkMzcifS5ieHMtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWQzOCJ9LmJ4cy1jaGV2cm9uLWxlZnQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWQzOSJ9LmJ4cy1jaGV2cm9uLWxlZnQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWQzYSJ9LmJ4cy1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWQzYiJ9LmJ4cy1jaGV2cm9uLXJpZ2h0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkM2MifS5ieHMtY2hldnJvbi1yaWdodC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDNkIn0uYnhzLWNoZXZyb25zLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlZDNlIn0uYnhzLWNoZXZyb25zLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDNmIn0uYnhzLWNoZXZyb25zLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWQ0MCJ9LmJ4cy1jaGV2cm9ucy11cDpiZWZvcmV7Y29udGVudDoiXGVkNDEifS5ieHMtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGVkNDIifS5ieHMtY2hldnJvbi11cC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDQzIn0uYnhzLWNoZXZyb24tdXAtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWQ0NCJ9LmJ4cy1jaGlwOmJlZm9yZXtjb250ZW50OiJcZWQ0NSJ9LmJ4cy1jaHVyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlZDQ2In0uYnhzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkNDcifS5ieHMtY2l0eTpiZWZvcmV7Y29udGVudDoiXGVkNDgifS5ieHMtY2xpbmljOmJlZm9yZXtjb250ZW50OiJcZWQ0OSJ9LmJ4cy1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGVkNGEifS5ieHMtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDRiIn0uYnhzLWNsb3VkLWxpZ2h0bmluZzpiZWZvcmV7Y29udGVudDoiXGVkNGMifS5ieHMtY2xvdWQtcmFpbjpiZWZvcmV7Y29udGVudDoiXGVkNGQifS5ieHMtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZWQ0ZSJ9LmJ4cy1jb2ZmZWU6YmVmb3Jle2NvbnRlbnQ6IlxlZDRmIn0uYnhzLWNvZmZlZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDUwIn0uYnhzLWNvZmZlZS10b2dvOmJlZm9yZXtjb250ZW50OiJcZWQ1MSJ9LmJ4cy1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxlZDUyIn0uYnhzLWNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlZDUzIn0uYnhzLWNvaW4tc3RhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZDU0In0uYnhzLWNvbGxlY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlZDU1In0uYnhzLWNvbG9yLWZpbGw6YmVmb3Jle2NvbnRlbnQ6IlxlZDU2In0uYnhzLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDU3In0uYnhzLWNvbW1lbnQtYWRkOmJlZm9yZXtjb250ZW50OiJcZWQ1OCJ9LmJ4cy1jb21tZW50LWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWQ1OSJ9LmJ4cy1jb21tZW50LWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGVkNWEifS5ieHMtY29tbWVudC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWQ1YiJ9LmJ4cy1jb21tZW50LWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDVjIn0uYnhzLWNvbW1lbnQtZXJyb3I6YmVmb3Jle2NvbnRlbnQ6IlxlZDVkIn0uYnhzLWNvbW1lbnQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZDVlIn0uYnhzLWNvbW1lbnQteDpiZWZvcmV7Y29udGVudDoiXGVkNWYifS5ieHMtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGVkNjAifS5ieHMtY29tcG9uZW50OmJlZm9yZXtjb250ZW50OiJcZWQ2MSJ9LmJ4cy1jb25mdXNlZDpiZWZvcmV7Y29udGVudDoiXGVkNjIifS5ieHMtY29udGFjdDpiZWZvcmV7Y29udGVudDoiXGVkNjMifS5ieHMtY29udmVyc2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZWQ2NCJ9LmJ4cy1jb29raWU6YmVmb3Jle2NvbnRlbnQ6IlxlZDY1In0uYnhzLWNvb2w6YmVmb3Jle2NvbnRlbnQ6IlxlZDY2In0uYnhzLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxlZDY3In0uYnhzLWNvcHktYWx0OmJlZm9yZXtjb250ZW50OiJcZWQ2OCJ9LmJ4cy1jb3B5cmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDY5In0uYnhzLWNvdXBvbjpiZWZvcmV7Y29udGVudDoiXGVkNmEifS5ieHMtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDZiIn0uYnhzLWNyZWRpdC1jYXJkLWFsdDpiZWZvcmV7Y29udGVudDoiXGVkNmMifS5ieHMtY3JlZGl0LWNhcmQtZnJvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDZkIn0uYnhzLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxlZDZlIn0uYnhzLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZWQ2ZiJ9LmJ4cy1jdWJlOmJlZm9yZXtjb250ZW50OiJcZWQ3MCJ9LmJ4cy1jdWJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVkNzEifS5ieHMtY3Vib2lkOmJlZm9yZXtjb250ZW50OiJcZWQ3MiJ9LmJ4cy1jdXN0b21pemU6YmVmb3Jle2NvbnRlbnQ6IlxlZDczIn0uYnhzLWN5bGluZGVyOmJlZm9yZXtjb250ZW50OiJcZWQ3NCJ9LmJ4cy1kYXNoYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDc1In0uYnhzLWRhdGE6YmVmb3Jle2NvbnRlbnQ6IlxlZDc2In0uYnhzLWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGVkNzcifS5ieHMtZGV2aWNlczpiZWZvcmV7Y29udGVudDoiXGVkNzgifS5ieHMtZGlhbW9uZDpiZWZvcmV7Y29udGVudDoiXGVkNzkifS5ieHMtZGljZS0xOmJlZm9yZXtjb250ZW50OiJcZWQ3YSJ9LmJ4cy1kaWNlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDdiIn0uYnhzLWRpY2UtMzpiZWZvcmV7Y29udGVudDoiXGVkN2MifS5ieHMtZGljZS00OmJlZm9yZXtjb250ZW50OiJcZWQ3ZCJ9LmJ4cy1kaWNlLTU6YmVmb3Jle2NvbnRlbnQ6IlxlZDdlIn0uYnhzLWRpY2UtNjpiZWZvcmV7Y29udGVudDoiXGVkN2YifS5ieHMtZGlyZWN0aW9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDgwIn0uYnhzLWRpcmVjdGlvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVkODEifS5ieHMtZGlyZWN0aW9uczpiZWZvcmV7Y29udGVudDoiXGVkODIifS5ieHMtZGlzYzpiZWZvcmV7Y29udGVudDoiXGVkODMifS5ieHMtZGlzY291bnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDg0In0uYnhzLWRpc2g6YmVmb3Jle2NvbnRlbnQ6IlxlZDg1In0uYnhzLWRpc2xpa2U6YmVmb3Jle2NvbnRlbnQ6IlxlZDg2In0uYnhzLWRpenp5OmJlZm9yZXtjb250ZW50OiJcZWQ4NyJ9LmJ4cy1kb2NrLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGVkODgifS5ieHMtZG9jay1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWQ4OSJ9LmJ4cy1kb2NrLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWQ4YSJ9LmJ4cy1kb2NrLXRvcDpiZWZvcmV7Y29udGVudDoiXGVkOGIifS5ieHMtZG9sbGFyLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkOGMifS5ieHMtZG9uYXRlLWJsb29kOmJlZm9yZXtjb250ZW50OiJcZWQ4ZCJ9LmJ4cy1kb25hdGUtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDhlIn0uYnhzLWRvb3Itb3BlbjpiZWZvcmV7Y29udGVudDoiXGVkOGYifS5ieHMtZG91Z2hudXQtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDkwIn0uYnhzLWRvd24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlZDkxIn0uYnhzLWRvd24tYXJyb3ctYWx0OmJlZm9yZXtjb250ZW50OiJcZWQ5MiJ9LmJ4cy1kb3duLWFycm93LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkOTMifS5ieHMtZG93bi1hcnJvdy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDk0In0uYnhzLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZWQ5NSJ9LmJ4cy1kb3dudm90ZTpiZWZvcmV7Y29udGVudDoiXGVkOTYifS5ieHMtZHJpbms6YmVmb3Jle2NvbnRlbnQ6IlxlZDk3In0uYnhzLWRyb3BsZXQtaGFsZjpiZWZvcmV7Y29udGVudDoiXGVkOTgifS5ieHMtZHJ5ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZDk5In0uYnhzLWR1cGxpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGVkOWEifS5ieHMtZWRpdDpiZWZvcmV7Y29udGVudDoiXGVkOWIifS5ieHMtZWRpdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDljIn0uYnhzLWVkaXQtbG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlZDlkIn0uYnhzLWVqZWN0OmJlZm9yZXtjb250ZW50OiJcZWQ5ZSJ9LmJ4cy1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXGVkOWYifS5ieHMtZW52ZWxvcGUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGVkYTAifS5ieHMtZXJhc2VyOmJlZm9yZXtjb250ZW50OiJcZWRhMSJ9LmJ4cy1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVkYTIifS5ieHMtZXJyb3ItYWx0OmJlZm9yZXtjb250ZW50OiJcZWRhMyJ9LmJ4cy1lcnJvci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZGE0In0uYnhzLWV2LXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlZGE1In0uYnhzLWV4aXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGE2In0uYnhzLWV4dGVuc2lvbjpiZWZvcmV7Y29udGVudDoiXGVkYTcifS5ieHMtZXllZHJvcHBlcjpiZWZvcmV7Y29udGVudDoiXGVkYTgifS5ieHMtZmFjZTpiZWZvcmV7Y29udGVudDoiXGVkYTkifS5ieHMtZmFjZS1tYXNrOmJlZm9yZXtjb250ZW50OiJcZWRhYSJ9LmJ4cy1mYWN0b3J5OmJlZm9yZXtjb250ZW50OiJcZWRhYiJ9LmJ4cy1mYXN0LWZvcndhcmQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWRhYyJ9LmJ4cy1maWxlOmJlZm9yZXtjb250ZW50OiJcZWRhZCJ9LmJ4cy1maWxlLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6IlxlZGFlIn0uYnhzLWZpbGUtYmxhbms6YmVmb3Jle2NvbnRlbnQ6IlxlZGFmIn0uYnhzLWZpbGUtY3NzOmJlZm9yZXtjb250ZW50OiJcZWRiMCJ9LmJ4cy1maWxlLWRvYzpiZWZvcmV7Y29udGVudDoiXGVkYjEifS5ieHMtZmlsZS1leHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGIyIn0uYnhzLWZpbGUtZmluZDpiZWZvcmV7Y29udGVudDoiXGVkYjMifS5ieHMtZmlsZS1naWY6YmVmb3Jle2NvbnRlbnQ6IlxlZGI0In0uYnhzLWZpbGUtaHRtbDpiZWZvcmV7Y29udGVudDoiXGVkYjUifS5ieHMtZmlsZS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGVkYjYifS5ieHMtZmlsZS1pbXBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGI3In0uYnhzLWZpbGUtanBnOmJlZm9yZXtjb250ZW50OiJcZWRiOCJ9LmJ4cy1maWxlLWpzOmJlZm9yZXtjb250ZW50OiJcZWRiOSJ9LmJ4cy1maWxlLWpzb246YmVmb3Jle2NvbnRlbnQ6IlxlZGJhIn0uYnhzLWZpbGUtbWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGJiIn0uYnhzLWZpbGUtcGRmOmJlZm9yZXtjb250ZW50OiJcZWRiYyJ9LmJ4cy1maWxlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlZGJkIn0uYnhzLWZpbGUtcG5nOmJlZm9yZXtjb250ZW50OiJcZWRiZSJ9LmJ4cy1maWxlLXR4dDpiZWZvcmV7Y29udGVudDoiXGVkYmYifS5ieHMtZmlsbTpiZWZvcmV7Y29udGVudDoiXGVkYzAifS5ieHMtZmlsdGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGVkYzEifS5ieHMtZmlyc3QtYWlkOmJlZm9yZXtjb250ZW50OiJcZWRjMiJ9LmJ4cy1mbGFnOmJlZm9yZXtjb250ZW50OiJcZWRjMyJ9LmJ4cy1mbGFnLWFsdDpiZWZvcmV7Y29udGVudDoiXGVkYzQifS5ieHMtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGM1In0uYnhzLWZsYW1lOmJlZm9yZXtjb250ZW50OiJcZWRjNiJ9LmJ4cy1mbGFzazpiZWZvcmV7Y29udGVudDoiXGVkYzcifS5ieHMtZmxvcmlzdDpiZWZvcmV7Y29udGVudDoiXGVkYzgifS5ieHMtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZWRjOSJ9LmJ4cy1mb2xkZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZGNhIn0uYnhzLWZvbGRlci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZWRjYiJ9LmJ4cy1mb2xkZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGVkY2MifS5ieHMtZm9vZC1tZW51OmJlZm9yZXtjb250ZW50OiJcZWRjZCJ9LmJ4cy1mcmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlZGNlIn0uYnhzLWdhbWU6YmVmb3Jle2NvbnRlbnQ6IlxlZGNmIn0uYnhzLWdhcy1wdW1wOmJlZm9yZXtjb250ZW50OiJcZWRkMCJ9LmJ4cy1naG9zdDpiZWZvcmV7Y29udGVudDoiXGVkZDEifS5ieHMtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGVkZDIifS5ieHMtZ3JhZHVhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVkZDMifS5ieHMtZ3JpZDpiZWZvcmV7Y29udGVudDoiXGVkZDQifS5ieHMtZ3JpZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGQ1In0uYnhzLWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZWRkNiJ9LmJ4cy1ndWl0YXItYW1wOmJlZm9yZXtjb250ZW50OiJcZWRkNyJ9LmJ4cy1oYW5kOmJlZm9yZXtjb250ZW50OiJcZWRkOCJ9LmJ4cy1oYW5kLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlZGQ5In0uYnhzLWhhbmQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGVkZGEifS5ieHMtaGFuZC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVkZGIifS5ieHMtaGFuZC11cDpiZWZvcmV7Y29udGVudDoiXGVkZGMifS5ieHMtaGFwcHk6YmVmb3Jle2NvbnRlbnQ6IlxlZGRkIn0uYnhzLWhhcHB5LWFsdDpiZWZvcmV7Y29udGVudDoiXGVkZGUifS5ieHMtaGFwcHktYmVhbWluZzpiZWZvcmV7Y29udGVudDoiXGVkZGYifS5ieHMtaGFwcHktaGVhcnQtZXllczpiZWZvcmV7Y29udGVudDoiXGVkZTAifS5ieHMtaGRkOmJlZm9yZXtjb250ZW50OiJcZWRlMSJ9LmJ4cy1oZWFydDpiZWZvcmV7Y29udGVudDoiXGVkZTIifS5ieHMtaGVhcnQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWRlMyJ9LmJ4cy1oZWFydC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZGU0In0uYnhzLWhlbHAtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWRlNSJ9LmJ4cy1oaWRlOmJlZm9yZXtjb250ZW50OiJcZWRlNiJ9LmJ4cy1ob21lOmJlZm9yZXtjb250ZW50OiJcZWRlNyJ9LmJ4cy1ob21lLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVkZTgifS5ieHMtaG9tZS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGVkZTkifS5ieHMtaG9tZS1zbWlsZTpiZWZvcmV7Y29udGVudDoiXGVkZWEifS5ieHMtaG90ZWw6YmVmb3Jle2NvbnRlbnQ6IlxlZGViIn0uYnhzLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGVkZWMifS5ieHMtaG91cmdsYXNzLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGVkZWQifS5ieHMtaG91cmdsYXNzLXRvcDpiZWZvcmV7Y29udGVudDoiXGVkZWUifS5ieHMtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGVkZWYifS5ieHMtaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlZGYwIn0uYnhzLWltYWdlLWFkZDpiZWZvcmV7Y29udGVudDoiXGVkZjEifS5ieHMtaW1hZ2UtYWx0OmJlZm9yZXtjb250ZW50OiJcZWRmMiJ9LmJ4cy1pbmJveDpiZWZvcmV7Y29udGVudDoiXGVkZjMifS5ieHMtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZGY0In0uYnhzLWluZm8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWRmNSJ9LmJ4cy1pbnN0aXR1dGlvbjpiZWZvcmV7Y29udGVudDoiXGVkZjYifS5ieHMtam95c3RpY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZGY3In0uYnhzLWpveXN0aWNrLWFsdDpiZWZvcmV7Y29udGVudDoiXGVkZjgifS5ieHMtam95c3RpY2stYnV0dG9uOmJlZm9yZXtjb250ZW50OiJcZWRmOSJ9LmJ4cy1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxlZGZhIn0uYnhzLWtleWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZWRmYiJ9LmJ4cy1sYWJlbDpiZWZvcmV7Y29udGVudDoiXGVkZmMifS5ieHMtbGFuZG1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlZGZkIn0uYnhzLWxhbmRzY2FwZTpiZWZvcmV7Y29udGVudDoiXGVkZmUifS5ieHMtbGF1Z2g6YmVmb3Jle2NvbnRlbnQ6IlxlZGZmIn0uYnhzLWxheWVyOmJlZm9yZXtjb250ZW50OiJcZWUwMCJ9LmJ4cy1sYXllci1taW51czpiZWZvcmV7Y29udGVudDoiXGVlMDEifS5ieHMtbGF5ZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGVlMDIifS5ieHMtbGF5b3V0OmJlZm9yZXtjb250ZW50OiJcZWUwMyJ9LmJ4cy1sZWZ0LWFycm93OmJlZm9yZXtjb250ZW50OiJcZWUwNCJ9LmJ4cy1sZWZ0LWFycm93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVlMDUifS5ieHMtbGVmdC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZTA2In0uYnhzLWxlZnQtYXJyb3ctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWUwNyJ9LmJ4cy1sZWZ0LWRvd24tYXJyb3ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWUwOCJ9LmJ4cy1sZWZ0LXRvcC1hcnJvdy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZTA5In0uYnhzLWxpa2U6YmVmb3Jle2NvbnRlbnQ6IlxlZTBhIn0uYnhzLWxvY2F0aW9uLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTBiIn0uYnhzLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZTBjIn0uYnhzLWxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZWUwZCJ9LmJ4cy1sb2NrLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlZTBlIn0uYnhzLWxvY2stb3Blbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTBmIn0uYnhzLWxvZy1pbjpiZWZvcmV7Y29udGVudDoiXGVlMTAifS5ieHMtbG9nLWluLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVlMTEifS5ieHMtbG9nLW91dDpiZWZvcmV7Y29udGVudDoiXGVlMTIifS5ieHMtbG9nLW91dC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZTEzIn0uYnhzLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxlZTE0In0uYnhzLW1hZ2ljLXdhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTE1In0uYnhzLW1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGVlMTYifS5ieHMtbWFwOmJlZm9yZXtjb250ZW50OiJcZWUxNyJ9LmJ4cy1tYXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZWUxOCJ9LmJ4cy1tYXAtcGluOmJlZm9yZXtjb250ZW50OiJcZWUxOSJ9LmJ4cy1tYXNrOmJlZm9yZXtjb250ZW50OiJcZWUxYSJ9LmJ4cy1tZWRhbDpiZWZvcmV7Y29udGVudDoiXGVlMWIifS5ieHMtbWVnYXBob25lOmJlZm9yZXtjb250ZW50OiJcZWUxYyJ9LmJ4cy1tZWg6YmVmb3Jle2NvbnRlbnQ6IlxlZTFkIn0uYnhzLW1laC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTFlIn0uYnhzLW1laC1ibGFuazpiZWZvcmV7Y29udGVudDoiXGVlMWYifS5ieHMtbWVtb3J5LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTIwIn0uYnhzLW1lc3NhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlZTIxIn0uYnhzLW1lc3NhZ2UtYWRkOmJlZm9yZXtjb250ZW50OiJcZWUyMiJ9LmJ4cy1tZXNzYWdlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVlMjMifS5ieHMtbWVzc2FnZS1hbHQtYWRkOmJlZm9yZXtjb250ZW50OiJcZWUyNCJ9LmJ4cy1tZXNzYWdlLWFsdC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGVlMjUifS5ieHMtbWVzc2FnZS1hbHQtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWUyNiJ9LmJ4cy1tZXNzYWdlLWFsdC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWUyNyJ9LmJ4cy1tZXNzYWdlLWFsdC1lZGl0OmJlZm9yZXtjb250ZW50OiJcZWUyOCJ9LmJ4cy1tZXNzYWdlLWFsdC1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVlMjkifS5ieHMtbWVzc2FnZS1hbHQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTJhIn0uYnhzLW1lc3NhZ2UtYWx0LXg6YmVmb3Jle2NvbnRlbnQ6IlxlZTJiIn0uYnhzLW1lc3NhZ2UtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZTJjIn0uYnhzLW1lc3NhZ2UtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWUyZCJ9LmJ4cy1tZXNzYWdlLWRvdHM6YmVmb3Jle2NvbnRlbnQ6IlxlZTJlIn0uYnhzLW1lc3NhZ2UtZWRpdDpiZWZvcmV7Y29udGVudDoiXGVlMmYifS5ieHMtbWVzc2FnZS1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVlMzAifS5ieHMtbWVzc2FnZS1taW51czpiZWZvcmV7Y29udGVudDoiXGVlMzEifS5ieHMtbWVzc2FnZS1yb3VuZGVkOmJlZm9yZXtjb250ZW50OiJcZWUzMiJ9LmJ4cy1tZXNzYWdlLXJvdW5kZWQtYWRkOmJlZm9yZXtjb250ZW50OiJcZWUzMyJ9LmJ4cy1tZXNzYWdlLXJvdW5kZWQtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZTM0In0uYnhzLW1lc3NhZ2Utcm91bmRlZC1kZXRhaWw6YmVmb3Jle2NvbnRlbnQ6IlxlZTM1In0uYnhzLW1lc3NhZ2Utcm91bmRlZC1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWUzNiJ9LmJ4cy1tZXNzYWdlLXJvdW5kZWQtZWRpdDpiZWZvcmV7Y29udGVudDoiXGVlMzcifS5ieHMtbWVzc2FnZS1yb3VuZGVkLWVycm9yOmJlZm9yZXtjb250ZW50OiJcZWUzOCJ9LmJ4cy1tZXNzYWdlLXJvdW5kZWQtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTM5In0uYnhzLW1lc3NhZ2Utcm91bmRlZC14OmJlZm9yZXtjb250ZW50OiJcZWUzYSJ9LmJ4cy1tZXNzYWdlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVlM2IifS5ieHMtbWVzc2FnZS1zcXVhcmUtYWRkOmJlZm9yZXtjb250ZW50OiJcZWUzYyJ9LmJ4cy1tZXNzYWdlLXNxdWFyZS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGVlM2QifS5ieHMtbWVzc2FnZS1zcXVhcmUtZGV0YWlsOmJlZm9yZXtjb250ZW50OiJcZWUzZSJ9LmJ4cy1tZXNzYWdlLXNxdWFyZS1kb3RzOmJlZm9yZXtjb250ZW50OiJcZWUzZiJ9LmJ4cy1tZXNzYWdlLXNxdWFyZS1lZGl0OmJlZm9yZXtjb250ZW50OiJcZWU0MCJ9LmJ4cy1tZXNzYWdlLXNxdWFyZS1lcnJvcjpiZWZvcmV7Y29udGVudDoiXGVlNDEifS5ieHMtbWVzc2FnZS1zcXVhcmUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTQyIn0uYnhzLW1lc3NhZ2Utc3F1YXJlLXg6YmVmb3Jle2NvbnRlbnQ6IlxlZTQzIn0uYnhzLW1lc3NhZ2UteDpiZWZvcmV7Y29udGVudDoiXGVlNDQifS5ieHMtbWV0ZW9yOmJlZm9yZXtjb250ZW50OiJcZWU0NSJ9LmJ4cy1taWNyb2NoaXA6YmVmb3Jle2NvbnRlbnQ6IlxlZTQ2In0uYnhzLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTQ3In0uYnhzLW1pY3JvcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZWU0OCJ9LmJ4cy1taWNyb3Bob25lLW9mZjpiZWZvcmV7Y29udGVudDoiXGVlNDkifS5ieHMtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWU0YSJ9LmJ4cy1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTRiIn0uYnhzLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGVlNGMifS5ieHMtbW9iaWxlLXZpYnJhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVlNGQifS5ieHMtbW9vbjpiZWZvcmV7Y29udGVudDoiXGVlNGUifS5ieHMtbW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlZTRmIn0uYnhzLW1vdXNlLWFsdDpiZWZvcmV7Y29udGVudDoiXGVlNTAifS5ieHMtbW92aWU6YmVmb3Jle2NvbnRlbnQ6IlxlZTUxIn0uYnhzLW1vdmllLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxlZTUyIn0uYnhzLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZWU1MyJ9LmJ4cy1uYXZpZ2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZWU1NCJ9LmJ4cy1uZXR3b3JrLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZWU1NSJ9LmJ4cy1uZXdzOmJlZm9yZXtjb250ZW50OiJcZWU1NiJ9LmJ4cy1uby1lbnRyeTpiZWZvcmV7Y29udGVudDoiXGVlNTcifS5ieHMtbm90ZTpiZWZvcmV7Y29udGVudDoiXGVlNTgifS5ieHMtbm90ZXBhZDpiZWZvcmV7Y29udGVudDoiXGVlNTkifS5ieHMtbm90aWZpY2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZWU1YSJ9LmJ4cy1ub3RpZmljYXRpb24tb2ZmOmJlZm9yZXtjb250ZW50OiJcZWU1YiJ9LmJ4cy1vZmZlcjpiZWZvcmV7Y29udGVudDoiXGVlNWMifS5ieHMtcGFja2FnZTpiZWZvcmV7Y29udGVudDoiXGVlNWQifS5ieHMtcGFpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTVlIn0uYnhzLXBhaW50LXJvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlZTVmIn0uYnhzLXBhbGV0dGU6YmVmb3Jle2NvbnRlbnQ6IlxlZTYwIn0uYnhzLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZWU2MSJ9LmJ4cy1wYXJraW5nOmJlZm9yZXtjb250ZW50OiJcZWU2MiJ9LmJ4cy1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGVlNjMifS5ieHMtcGVuOmJlZm9yZXtjb250ZW50OiJcZWU2NCJ9LmJ4cy1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxlZTY1In0uYnhzLXBob25lOmJlZm9yZXtjb250ZW50OiJcZWU2NiJ9LmJ4cy1waG9uZS1jYWxsOmJlZm9yZXtjb250ZW50OiJcZWU2NyJ9LmJ4cy1waG9uZS1pbmNvbWluZzpiZWZvcmV7Y29udGVudDoiXGVlNjgifS5ieHMtcGhvbmUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZWU2OSJ9LmJ4cy1waG9uZS1vdXRnb2luZzpiZWZvcmV7Y29udGVudDoiXGVlNmEifS5ieHMtcGhvdG8tYWxidW06YmVmb3Jle2NvbnRlbnQ6IlxlZTZiIn0uYnhzLXBpYW5vOmJlZm9yZXtjb250ZW50OiJcZWU2YyJ9LmJ4cy1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTZkIn0uYnhzLXBpZS1jaGFydC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTZlIn0uYnhzLXBpZS1jaGFydC1hbHQtMjpiZWZvcmV7Y29udGVudDoiXGVlNmYifS5ieHMtcGluOmJlZm9yZXtjb250ZW50OiJcZWU3MCJ9LmJ4cy1waXp6YTpiZWZvcmV7Y29udGVudDoiXGVlNzEifS5ieHMtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTcyIn0uYnhzLXBsYW5lLWFsdDpiZWZvcmV7Y29udGVudDoiXGVlNzMifS5ieHMtcGxhbmUtbGFuZDpiZWZvcmV7Y29udGVudDoiXGVlNzQifS5ieHMtcGxhbmV0OmJlZm9yZXtjb250ZW50OiJcZWU3NSJ9LmJ4cy1wbGFuZS10YWtlLW9mZjpiZWZvcmV7Y29udGVudDoiXGVlNzYifS5ieHMtcGxheWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlZTc3In0uYnhzLXBsdWc6YmVmb3Jle2NvbnRlbnQ6IlxlZTc4In0uYnhzLXBsdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWU3OSJ9LmJ4cy1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGVlN2EifS5ieHMtcG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGVlN2IifS5ieHMtcG9seWdvbjpiZWZvcmV7Y29udGVudDoiXGVlN2MifS5ieHMtcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGVlN2QifS5ieHMtcHVyY2hhc2UtdGFnOmJlZm9yZXtjb250ZW50OiJcZWU3ZSJ9LmJ4cy1wdXJjaGFzZS10YWctYWx0OmJlZm9yZXtjb250ZW50OiJcZWU3ZiJ9LmJ4cy1weXJhbWlkOmJlZm9yZXtjb250ZW50OiJcZWU4MCJ9LmJ4cy1xdW90ZS1hbHQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGVlODEifS5ieHMtcXVvdGUtYWx0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWU4MiJ9LmJ4cy1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWU4MyJ9LmJ4cy1xdW90ZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVlODQifS5ieHMtcXVvdGUtc2luZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTg1In0uYnhzLXF1b3RlLXNpbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGVlODYifS5ieHMtcmFkaWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWU4NyJ9LmJ4cy1yYWRpbzpiZWZvcmV7Y29udGVudDoiXGVlODgifS5ieHMtcmVjZWlwdDpiZWZvcmV7Y29udGVudDoiXGVlODkifS5ieHMtcmVjdGFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZWU4YSJ9LmJ4cy1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZWU4YiJ9LmJ4cy1yZW5hbWU6YmVmb3Jle2NvbnRlbnQ6IlxlZThjIn0uYnhzLXJlcG9ydDpiZWZvcmV7Y29udGVudDoiXGVlOGQifS5ieHMtcmV3aW5kLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVlOGUifS5ieHMtcmlnaHQtYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlZThmIn0uYnhzLXJpZ2h0LWFycm93LWFsdDpiZWZvcmV7Y29udGVudDoiXGVlOTAifS5ieHMtcmlnaHQtYXJyb3ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWU5MSJ9LmJ4cy1yaWdodC1hcnJvdy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTkyIn0uYnhzLXJpZ2h0LWRvd24tYXJyb3ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWU5MyJ9LmJ4cy1yaWdodC10b3AtYXJyb3ctY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWU5NCJ9LmJ4cy1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTk1In0uYnhzLXJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZWU5NiJ9LmJ4cy1zYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTk3In0uYnhzLXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTk4In0uYnhzLXNjaG9vbDpiZWZvcmV7Y29udGVudDoiXGVlOTkifS5ieHMtc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZWU5YSJ9LmJ4cy1zZWFyY2gtYWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlZTliIn0uYnhzLXNlbGVjdC1tdWx0aXBsZTpiZWZvcmV7Y29udGVudDoiXGVlOWMifS5ieHMtc2VuZDpiZWZvcmV7Y29udGVudDoiXGVlOWQifS5ieHMtc2VydmVyOmJlZm9yZXtjb250ZW50OiJcZWU5ZSJ9LmJ4cy1zaGFwZXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTlmIn0uYnhzLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZWVhMCJ9LmJ4cy1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWExIn0uYnhzLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGVlYTIifS5ieHMtc2hpZWxkLWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZWVhMyJ9LmJ4cy1zaGllbGQteDpiZWZvcmV7Y29udGVudDoiXGVlYTQifS5ieHMtc2hpcDpiZWZvcmV7Y29udGVudDoiXGVlYTUifS5ieHMtc2hvY2tlZDpiZWZvcmV7Y29udGVudDoiXGVlYTYifS5ieHMtc2hvcHBpbmctYmFnOmJlZm9yZXtjb250ZW50OiJcZWVhNyJ9LmJ4cy1zaG9wcGluZy1iYWctYWx0OmJlZm9yZXtjb250ZW50OiJcZWVhOCJ9LmJ4cy1zaG9wcGluZy1iYWdzOmJlZm9yZXtjb250ZW50OiJcZWVhOSJ9LmJ4cy1zaG93OmJlZm9yZXtjb250ZW50OiJcZWVhYSJ9LmJ4cy1za2lwLW5leHQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWVhYiJ9LmJ4cy1za2lwLXByZXZpb3VzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVlYWMifS5ieHMtc2t1bGw6YmVmb3Jle2NvbnRlbnQ6IlxlZWFkIn0uYnhzLXNsZWVweTpiZWZvcmV7Y29udGVudDoiXGVlYWUifS5ieHMtc2xpZGVzaG93OmJlZm9yZXtjb250ZW50OiJcZWVhZiJ9LmJ4cy1zbWlsZTpiZWZvcmV7Y29udGVudDoiXGVlYjAifS5ieHMtc29ydC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWIxIn0uYnhzLXNwYTpiZWZvcmV7Y29udGVudDoiXGVlYjIifS5ieHMtc3BlYWtlcjpiZWZvcmV7Y29udGVudDoiXGVlYjMifS5ieHMtc3ByYXktY2FuOmJlZm9yZXtjb250ZW50OiJcZWViNCJ9LmJ4cy1zcHJlYWRzaGVldDpiZWZvcmV7Y29udGVudDoiXGVlYjUifS5ieHMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWViNiJ9LmJ4cy1zcXVhcmUtcm91bmRlZDpiZWZvcmV7Y29udGVudDoiXGVlYjcifS5ieHMtc3RhcjpiZWZvcmV7Y29udGVudDoiXGVlYjgifS5ieHMtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZWViOSJ9LmJ4cy1zdGlja2VyOmJlZm9yZXtjb250ZW50OiJcZWViYSJ9LmJ4cy1zdG9wd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlZWJiIn0uYnhzLXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZWViYyJ9LmJ4cy1zdG9yZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWJkIn0uYnhzLXN1bjpiZWZvcmV7Y29udGVudDoiXGVlYmUifS5ieHMtdGFjaG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGVlYmYifS5ieHMtdGFnOmJlZm9yZXtjb250ZW50OiJcZWVjMCJ9LmJ4cy10YWctYWx0OmJlZm9yZXtjb250ZW50OiJcZWVjMSJ9LmJ4cy10YWcteDpiZWZvcmV7Y29udGVudDoiXGVlYzIifS5ieHMtdGF4aTpiZWZvcmV7Y29udGVudDoiXGVlYzMifS5ieHMtdGVubmlzLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlZWM0In0uYnhzLXRlcm1pbmFsOmJlZm9yZXtjb250ZW50OiJcZWVjNSJ9LmJ4cy10aGVybW9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGVlYzYifS5ieHMtdGltZTpiZWZvcmV7Y29udGVudDoiXGVlYzcifS5ieHMtdGltZS1maXZlOmJlZm9yZXtjb250ZW50OiJcZWVjOCJ9LmJ4cy10aW1lcjpiZWZvcmV7Y29udGVudDoiXGVlYzkifS5ieHMtdGlyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWNhIn0uYnhzLXRvZ2dsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZWVjYiJ9LmJ4cy10b2dnbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWNjIn0uYnhzLXRvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZWNkIn0uYnhzLXRvcmNoOmJlZm9yZXtjb250ZW50OiJcZWVjZSJ9LmJ4cy10by10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlZWNmIn0uYnhzLXRyYWZmaWM6YmVmb3Jle2NvbnRlbnQ6IlxlZWQwIn0uYnhzLXRyYWZmaWMtYmFycmllcjpiZWZvcmV7Y29udGVudDoiXGVlZDEifS5ieHMtdHJhZmZpYy1jb25lOmJlZm9yZXtjb250ZW50OiJcZWVkMiJ9LmJ4cy10cmFpbjpiZWZvcmV7Y29udGVudDoiXGVlZDMifS5ieHMtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlZWQ0In0uYnhzLXRyYXNoLWFsdDpiZWZvcmV7Y29udGVudDoiXGVlZDUifS5ieHMtdHJlZTpiZWZvcmV7Y29udGVudDoiXGVlZDYifS5ieHMtdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZWVkNyJ9LmJ4cy10cnVjazpiZWZvcmV7Y29udGVudDoiXGVlZDgifS5ieHMtdC1zaGlydDpiZWZvcmV7Y29udGVudDoiXGVlZDkifS5ieHMtdHY6YmVmb3Jle2NvbnRlbnQ6IlxlZWRhIn0uYnhzLXVwLWFycm93OmJlZm9yZXtjb250ZW50OiJcZWVkYiJ9LmJ4cy11cC1hcnJvdy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWRjIn0uYnhzLXVwLWFycm93LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVlZGQifS5ieHMtdXAtYXJyb3ctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZWVkZSJ9LmJ4cy11cHNpZGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGVlZGYifS5ieHMtdXB2b3RlOmJlZm9yZXtjb250ZW50OiJcZWVlMCJ9LmJ4cy11c2VyOmJlZm9yZXtjb250ZW50OiJcZWVlMSJ9LmJ4cy11c2VyLWFjY291bnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWUyIn0uYnhzLXVzZXItYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlZWUzIn0uYnhzLXVzZXItY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlZWU0In0uYnhzLXVzZXItY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZWVlNSJ9LmJ4cy11c2VyLWRldGFpbDpiZWZvcmV7Y29udGVudDoiXGVlZTYifS5ieHMtdXNlci1taW51czpiZWZvcmV7Y29udGVudDoiXGVlZTcifS5ieHMtdXNlci1waW46YmVmb3Jle2NvbnRlbnQ6IlxlZWU4In0uYnhzLXVzZXItcGx1czpiZWZvcmV7Y29udGVudDoiXGVlZTkifS5ieHMtdXNlci1yZWN0YW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZWVhIn0uYnhzLXVzZXItdm9pY2U6YmVmb3Jle2NvbnRlbnQ6IlxlZWViIn0uYnhzLXVzZXIteDpiZWZvcmV7Y29udGVudDoiXGVlZWMifS5ieHMtdmVjdG9yOmJlZm9yZXtjb250ZW50OiJcZWVlZCJ9LmJ4cy12aWFsOmJlZm9yZXtjb250ZW50OiJcZWVlZSJ9LmJ4cy12aWRlbzpiZWZvcmV7Y29udGVudDoiXGVlZWYifS5ieHMtdmlkZW8tb2ZmOmJlZm9yZXtjb250ZW50OiJcZWVmMCJ9LmJ4cy12aWRlby1wbHVzOmJlZm9yZXtjb250ZW50OiJcZWVmMSJ9LmJ4cy12aWRlby1yZWNvcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlZWYyIn0uYnhzLXZpZGVvczpiZWZvcmV7Y29udGVudDoiXGVlZjMifS5ieHMtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlZWY0In0uYnhzLXZpcnVzLWJsb2NrOmJlZm9yZXtjb250ZW50OiJcZWVmNSJ9LmJ4cy12b2x1bWU6YmVmb3Jle2NvbnRlbnQ6IlxlZWY2In0uYnhzLXZvbHVtZS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZWVmNyJ9LmJ4cy12b2x1bWUtbG93OmJlZm9yZXtjb250ZW50OiJcZWVmOCJ9LmJ4cy12b2x1bWUtbXV0ZTpiZWZvcmV7Y29udGVudDoiXGVlZjkifS5ieHMtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZWVmYSJ9LmJ4cy13YWxsZXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZWVmYiJ9LmJ4cy13YXNoZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZWZjIn0uYnhzLXdhdGNoOmJlZm9yZXtjb250ZW50OiJcZWVmZCJ9LmJ4cy13YXRjaC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZWZlIn0uYnhzLXdlYmNhbTpiZWZvcmV7Y29udGVudDoiXGVlZmYifS5ieHMtd2lkZ2V0OmJlZm9yZXtjb250ZW50OiJcZWYwMCJ9LmJ4cy13aW5kb3ctYWx0OmJlZm9yZXtjb250ZW50OiJcZWYwMSJ9LmJ4cy13aW5lOmJlZm9yZXtjb250ZW50OiJcZWYwMiJ9LmJ4cy13aW5rLXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZWYwMyJ9LmJ4cy13aW5rLXRvbmd1ZTpiZWZvcmV7Y29udGVudDoiXGVmMDQifS5ieHMtd3JlbmNoOmJlZm9yZXtjb250ZW50OiJcZWYwNSJ9LmJ4cy14LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGVmMDYifS5ieHMteC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZjA3In0uYnhzLXlpbi15YW5nOmJlZm9yZXtjb250ZW50OiJcZWYwOCJ9LmJ4cy16YXA6YmVmb3Jle2NvbnRlbnQ6IlxlZjA5In0uYnhzLXpvb20taW46YmVmb3Jle2NvbnRlbnQ6IlxlZjBhIn0uYnhzLXpvb20tb3V0OmJlZm9yZXtjb250ZW50OiJcZWYwYiJ9"}},"time_used":36,"timings":{"blocked":-1,"dns":4,"connect":12,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.769Z","timestamp":1785139583769,"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-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 08:06:23 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: aafcf44b002cced3b7e6afb40841ab1a\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-08-12T05:10:43.253875Z","times_seen":585,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.821Z","timestamp":1785139583821,"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-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 08:06:23 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: 2aa6b6fe2172bbe19b612a4893a73280\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-28T06:17:53.532765Z","times_seen":113,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.864Z","timestamp":1785139583864,"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-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 08:06:23 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: 6d91ad55d9dd5c893497f4edc8ed9285\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-08-12T05:10:43.148147Z","times_seen":278,"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.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.956Z","timestamp":1785139583956,"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-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 08:06:23 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: a02f2c75c2d9e0a73877867870c6f5ff\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-08-12T05:10:43.194762Z","times_seen":259,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.111Z","timestamp":1785139584111,"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-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 08:06:24 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: e46f9cc769dfeaf2b59112dbce4d7e02\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-28T06:17:53.613421Z","times_seen":108,"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":"nanoquantumstellarsledger.com/frontcss/assets/styles.min.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.972Z","timestamp":1785139581972,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/styles.min.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6285\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29044,"size_decoded":6772,"mime_type":"text/css","magic":"ASCII text, with very long lines (28882)","md5":"33a0451463c7252af92b37960e0c64cd","sha1":"9b90fd898330b972e5a70b20c42a3777162fd6bb","sha256":"a3994e367a21c6e65e40a3733c2e178e24782a4fa4ca0e6b0cb95ff3b7f11e0e","sha512":"ff135463cd99799a06e964bd82f3667697bb8f395b9fcc4e8624710fa8f6a5a4e221f6270d6b05b97fa643eaa5fb2b73403c2dba4d6cced432a3dd3346e0c2cb","ssdeep":"384:Uu5yWeTUKW+KlkJ5de2UYDyVfwYUas8l8yQ/8dwwdE:flr+Klk3Yi+fwYUf8l8yQ/eY","tlshash":"81d250e8e54c01d66731c48bff81b36862b6f73dd5844d99f01f690c29d22a522c5fba","first_seen":"2023-04-17T22:27:09Z","last_seen":"2026-07-27T12:35:01.154632Z","times_seen":39,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC42LjMgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJ2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC42LjMnKTtzcmM6dXJsKCdmb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjYuMycpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJ2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjYuMycpIGZvcm1hdCgnd29mZjInKSx1cmwoJ2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNi4zJykgZm9ybWF0KCd3b2ZmJyksdXJsKCdmb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNi4zJykgZm9ybWF0KCd0cnVldHlwZScpLHVybCgnZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjYuMyNmb250YXdlc29tZXJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0eWxlOm5vcm1hbH0uZmF7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotMTUlfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS1md3t3aWR0aDoxLjI4NTcxNDI5ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXVse3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OjIuMTQyODU3MTRlbTtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTIuMTQyODU3MTRlbTt3aWR0aDoyLjE0Mjg1NzE0ZW07dG9wOi4xNDI4NTcxNGVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS1saS5mYS1sZ3tsZWZ0Oi0xLjg1NzE0Mjg2ZW19LmZhLWJvcmRlcntwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW07Ym9yZGVyOnNvbGlkIC4wOGVtICNlZWU7Ym9yZGVyLXJhZGl1czouMWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS5wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLnB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0uZmEtc3Bpbnstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXJ9LmZhLXB1bHNley13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7YW5pbWF0aW9uOmZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCl9QC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhLXJvdGF0ZS05MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEsIDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoLTEsIDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9LmZhLWZsaXAtdmVydGljYWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLCAtMSk7dHJhbnNmb3JtOnNjYWxlKDEsIC0xKX06cm9vdCAuZmEtcm90YXRlLTkwLDpyb290IC5mYS1yb3RhdGUtMTgwLDpyb290IC5mYS1yb3RhdGUtMjcwLDpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWx7ZmlsdGVyOm5vbmV9LmZhLXN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjJlbTtoZWlnaHQ6MmVtO2xpbmUtaGVpZ2h0OjJlbTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZhLXN0YWNrLTF4LC5mYS1zdGFjay0yeHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtc3RhY2stMXh7bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtc3RhY2stMnh7Zm9udC1zaXplOjJlbX0uZmEtaW52ZXJzZXtjb2xvcjojZmZmfS5mYS1nbGFzczpiZWZvcmV7Y29udGVudDoiXGYwMDAifS5mYS1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGYwMDEifS5mYS1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDAyIn0uZmEtZW52ZWxvcGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMDMifS5mYS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGYwMDQifS5mYS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZjAwNSJ9LmZhLXN0YXItbzpiZWZvcmV7Y29udGVudDoiXGYwMDYifS5mYS11c2VyOmJlZm9yZXtjb250ZW50OiJcZjAwNyJ9LmZhLWZpbG06YmVmb3Jle2NvbnRlbnQ6IlxmMDA4In0uZmEtdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDA5In0uZmEtdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMDBhIn0uZmEtdGgtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwMGIifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1yZW1vdmU6YmVmb3JlLC5mYS1jbG9zZTpiZWZvcmUsLmZhLXRpbWVzOmJlZm9yZXtjb250ZW50OiJcZjAwZCJ9LmZhLXNlYXJjaC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjAwZSJ9LmZhLXNlYXJjaC1taW51czpiZWZvcmV7Y29udGVudDoiXGYwMTAifS5mYS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDExIn0uZmEtc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZjAxMiJ9LmZhLWdlYXI6YmVmb3JlLC5mYS1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMDEzIn0uZmEtdHJhc2gtbzpiZWZvcmV7Y29udGVudDoiXGYwMTQifS5mYS1ob21lOmJlZm9yZXtjb250ZW50OiJcZjAxNSJ9LmZhLWZpbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwMTYifS5mYS1jbG9jay1vOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE5In0uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMWEifS5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxZCJ9LmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsLmZhLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZjAyMiJ9LmZhLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDIzIn0uZmEtZmxhZzpiZWZvcmV7Y29udGVudDoiXGYwMjQifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDI3In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGYwMjkifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLXRhZzpiZWZvcmV7Y29udGVudDoiXGYwMmIifS5mYS10YWdzOmJlZm9yZXtjb250ZW50OiJcZjAyYyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDJmIn0uZmEtY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzMCJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1pdGFsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDMzIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjAzNiJ9LmZhLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGYwMzcifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZjAzOSJ9LmZhLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDNhIn0uZmEtZGVkZW50OmJlZm9yZSwuZmEtb3V0ZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2IifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZjAzZCJ9LmZhLXBob3RvOmJlZm9yZSwuZmEtaW1hZ2U6YmVmb3JlLC5mYS1waWN0dXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDNlIn0uZmEtcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZjA0MCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtYWRqdXN0OmJlZm9yZXtjb250ZW50OiJcZjA0MiJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtZWRpdDpiZWZvcmUsLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDQifS5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDUifS5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYwNDYifS5mYS1hcnJvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ3In0uZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNDgifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxmMDRjIn0uZmEtc3RvcDpiZWZvcmV7Y29udGVudDoiXGYwNGQifS5mYS1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0ZSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1zdGVwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUxIn0uZmEtZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDUyIn0uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA1MyJ9LmZhLWNoZXZyb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDU0In0uZmEtcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU1In0uZmEtbWludXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NiJ9LmZhLXRpbWVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTcifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLWluZm8tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1YSJ9LmZhLWNyb3NzaGFpcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMDViIn0uZmEtdGltZXMtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVjIn0uZmEtY2hlY2stY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDVkIn0uZmEtYmFuOmJlZm9yZXtjb250ZW50OiJcZjA1ZSJ9LmZhLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYwIn0uZmEtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDYxIn0uZmEtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLC5mYS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGYwNjQifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtcGx1czpiZWZvcmV7Y29udGVudDoiXGYwNjcifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZhIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjA2YyJ9LmZhLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZkIn0uZmEtZXllOmJlZm9yZXtjb250ZW50OiJcZjA2ZSJ9LmZhLWV5ZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYwNzAifS5mYS13YXJuaW5nOmJlZm9yZSwuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcxIn0uZmEtcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDcyIn0uZmEtY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDczIn0uZmEtcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZjA3NCJ9LmZhLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc1In0uZmEtbWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZjA3NiJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGYwN2EifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMDdjIn0uZmEtYXJyb3dzLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMDdkIn0uZmEtYXJyb3dzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMDdlIn0uZmEtYmFyLWNoYXJ0LW86YmVmb3JlLC5mYS1iYXItY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDgwIn0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWNhbWVyYS1yZXRybzpiZWZvcmV7Y29udGVudDoiXGYwODMifS5mYS1rZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDg0In0uZmEtZ2VhcnM6YmVmb3JlLC5mYS1jb2dzOmJlZm9yZXtjb250ZW50OiJcZjA4NSJ9LmZhLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZjA4NiJ9LmZhLXRodW1icy1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjA4NyJ9LmZhLXRodW1icy1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDg4In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLWhlYXJ0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMDhhIn0uZmEtc2lnbi1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDhiIn0uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLXRodW1iLXRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmV7Y29udGVudDoiXGYwOGUifS5mYS1zaWduLWluOmJlZm9yZXtjb250ZW50OiJcZjA5MCJ9LmZhLXRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGYwOTEifS5mYS1naXRodWItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5MiJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS1sZW1vbi1vOmJlZm9yZXtjb250ZW50OiJcZjA5NCJ9LmZhLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjA5NSJ9LmZhLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA5NiJ9LmZhLWJvb2ttYXJrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk3In0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtZmFjZWJvb2stZjpiZWZvcmUsLmZhLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZjA5YSJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtY3JlZGl0LWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDlkIn0uZmEtZmVlZDpiZWZvcmUsLmZhLXJzczpiZWZvcmV7Y29udGVudDoiXGYwOWUifS5mYS1oZGQtbzpiZWZvcmV7Y29udGVudDoiXGYwYTAifS5mYS1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGYwYTEifS5mYS1iZWxsOmJlZm9yZXtjb250ZW50OiJcZjBmMyJ9LmZhLWNlcnRpZmljYXRlOmJlZm9yZXtjb250ZW50OiJcZjBhMyJ9LmZhLWhhbmQtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTQifS5mYS1oYW5kLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGE3In0uZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE4In0uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhOSJ9LmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYwYWEifS5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYWIifS5mYS1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGYwYWMifS5mYS13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGFkIn0uZmEtdGFza3M6YmVmb3Jle2NvbnRlbnQ6IlxmMGFlIn0uZmEtZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZjBiMCJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1hcnJvd3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjBiMiJ9LmZhLWdyb3VwOmJlZm9yZSwuZmEtdXNlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGMwIn0uZmEtY2hhaW46YmVmb3JlLC5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWZsYXNrOmJlZm9yZXtjb250ZW50OiJcZjBjMyJ9LmZhLWN1dDpiZWZvcmUsLmZhLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjBjNCJ9LmZhLWNvcHk6YmVmb3JlLC5mYS1maWxlcy1vOmJlZm9yZXtjb250ZW50OiJcZjBjNSJ9LmZhLXBhcGVyY2xpcDpiZWZvcmV7Y29udGVudDoiXGYwYzYifS5mYS1zYXZlOmJlZm9yZSwuZmEtZmxvcHB5LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM3In0uZmEtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBjOCJ9LmZhLW5hdmljb246YmVmb3JlLC5mYS1yZW9yZGVyOmJlZm9yZSwuZmEtYmFyczpiZWZvcmV7Y29udGVudDoiXGYwYzkifS5mYS1saXN0LXVsOmJlZm9yZXtjb250ZW50OiJcZjBjYSJ9LmZhLWxpc3Qtb2w6YmVmb3Jle2NvbnRlbnQ6IlxmMGNiIn0uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmV7Y29udGVudDoiXGYwY2MifS5mYS11bmRlcmxpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNkIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtbWFnaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQwIn0uZmEtdHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGQxIn0uZmEtcGludGVyZXN0OmJlZm9yZXtjb250ZW50OiJcZjBkMiJ9LmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQzIn0uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBkNCJ9LmZhLWdvb2dsZS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLW1vbmV5OmJlZm9yZXtjb250ZW50OiJcZjBkNiJ9LmZhLWNhcmV0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMGQ3In0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2FyZXQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwZDkifS5mYS1jYXJldC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwZGEifS5mYS1jb2x1bW5zOmJlZm9yZXtjb250ZW50OiJcZjBkYiJ9LmZhLXVuc29ydGVkOmJlZm9yZSwuZmEtc29ydDpiZWZvcmV7Y29udGVudDoiXGYwZGMifS5mYS1zb3J0LWRvd246YmVmb3JlLC5mYS1zb3J0LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRkIn0uZmEtc29ydC11cDpiZWZvcmUsLmZhLXNvcnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwuZmEtdW5kbzpiZWZvcmV7Y29udGVudDoiXGYwZTIifS5mYS1sZWdhbDpiZWZvcmUsLmZhLWdhdmVsOmJlZm9yZXtjb250ZW50OiJcZjBlMyJ9LmZhLWRhc2hib2FyZDpiZWZvcmUsLmZhLXRhY2hvbWV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGU0In0uZmEtY29tbWVudC1vOmJlZm9yZXtjb250ZW50OiJcZjBlNSJ9LmZhLWNvbW1lbnRzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU2In0uZmEtZmxhc2g6YmVmb3JlLC5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtdW1icmVsbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMGU5In0uZmEtcGFzdGU6YmVmb3JlLC5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtbGlnaHRidWxiLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGVjIn0uZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVkIn0uZmEtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjBlZSJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtc3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGYxIn0uZmEtc3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGYyIn0uZmEtYmVsbC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMiJ9LmZhLWNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGYwZjQifS5mYS1jdXRsZXJ5OmJlZm9yZXtjb250ZW50OiJcZjBmNSJ9LmZhLWZpbGUtdGV4dC1vOmJlZm9yZXtjb250ZW50OiJcZjBmNiJ9LmZhLWJ1aWxkaW5nLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY3In0uZmEtaG9zcGl0YWwtbzpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1hbWJ1bGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMGY5In0uZmEtbWVka2l0OmJlZm9yZXtjb250ZW50OiJcZjBmYSJ9LmZhLWZpZ2h0ZXItamV0OmJlZm9yZXtjb250ZW50OiJcZjBmYiJ9LmZhLWJlZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGZjIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZlIn0uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAwIn0uZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwMSJ9LmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMDIifS5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDMifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTA3In0uZmEtZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGYxMDgifS5mYS1sYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTA5In0uZmEtdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZjEwYSJ9LmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsLmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMGMifS5mYS1xdW90ZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwZCJ9LmZhLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwZSJ9LmZhLXNwaW5uZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTEwIn0uZmEtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjExMSJ9LmZhLW1haWwtcmVwbHk6YmVmb3JlLC5mYS1yZXBseTpiZWZvcmV7Y29udGVudDoiXGYxMTIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWZvbGRlci1vOmJlZm9yZXtjb250ZW50OiJcZjExNCJ9LmZhLWZvbGRlci1vcGVuLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE1In0uZmEtc21pbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxMTgifS5mYS1mcm93bi1vOmJlZm9yZXtjb250ZW50OiJcZjExOSJ9LmZhLW1laC1vOmJlZm9yZXtjb250ZW50OiJcZjExYSJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEta2V5Ym9hcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxMWMifS5mYS1mbGFnLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFkIn0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxMjEifS5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsLmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsLmZhLXN0YXItaGFsZi1vOmJlZm9yZXtjb250ZW50OiJcZjEyMyJ9LmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZXtjb250ZW50OiJcZjEyNCJ9LmZhLWNyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMTI1In0uZmEtY29kZS1mb3JrOmJlZm9yZXtjb250ZW50OiJcZjEyNiJ9LmZhLXVubGluazpiZWZvcmUsLmZhLWNoYWluLWJyb2tlbjpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGYxMjgifS5mYS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZjEyOSJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYiJ9LmZhLXN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmMifS5mYS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMTJkIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1zaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTMyIn0uZmEtY2FsZW5kYXItbzpiZWZvcmV7Y29udGVudDoiXGYxMzMifS5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmV7Y29udGVudDoiXGYxMzQifS5mYS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM1In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxM2EifS5mYS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGYxM2IifS5mYS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZjEzYyJ9LmZhLWFuY2hvcjpiZWZvcmV7Y29udGVudDoiXGYxM2QifS5mYS11bmxvY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjEzZSJ9LmZhLWJ1bGxzZXllOmJlZm9yZXtjb250ZW50OiJcZjE0MCJ9LmZhLWVsbGlwc2lzLWg6YmVmb3Jle2NvbnRlbnQ6IlxmMTQxIn0uZmEtZWxsaXBzaXMtdjpiZWZvcmV7Y29udGVudDoiXGYxNDIifS5mYS1yc3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0MyJ9LmZhLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjE0NCJ9LmZhLXRpY2tldDpiZWZvcmV7Y29udGVudDoiXGYxNDUifS5mYS1taW51cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ2In0uZmEtbWludXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTQ3In0uZmEtbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ4In0uZmEtbGV2ZWwtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNDkifS5mYS1jaGVjay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRhIn0uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGIifS5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGMifS5mYS1zaGFyZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTRkIn0uZmEtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGYxNGUifS5mYS10b2dnbGUtZG93bjpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTUwIn0uZmEtdG9nZ2xlLXVwOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTUyIn0uZmEtZXVybzpiZWZvcmUsLmZhLWV1cjpiZWZvcmV7Y29udGVudDoiXGYxNTMifS5mYS1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtZG9sbGFyOmJlZm9yZSwuZmEtdXNkOmJlZm9yZXtjb250ZW50OiJcZjE1NSJ9LmZhLXJ1cGVlOmJlZm9yZSwuZmEtaW5yOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLWNueTpiZWZvcmUsLmZhLXJtYjpiZWZvcmUsLmZhLXllbjpiZWZvcmUsLmZhLWpweTpiZWZvcmV7Y29udGVudDoiXGYxNTcifS5mYS1ydWJsZTpiZWZvcmUsLmZhLXJvdWJsZTpiZWZvcmUsLmZhLXJ1YjpiZWZvcmV7Y29udGVudDoiXGYxNTgifS5mYS13b246YmVmb3JlLC5mYS1rcnc6YmVmb3Jle2NvbnRlbnQ6IlxmMTU5In0uZmEtYml0Y29pbjpiZWZvcmUsLmZhLWJ0YzpiZWZvcmV7Y29udGVudDoiXGYxNWEifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtdGV4dDpiZWZvcmV7Y29udGVudDoiXGYxNWMifS5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MCJ9LmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYxIn0uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmV7Y29udGVudDoiXGYxNjIifS5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjMifS5mYS10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTY0In0uZmEtdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMTY1In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY2In0uZmEteW91dHViZTpiZWZvcmV7Y29udGVudDoiXGYxNjcifS5mYS14aW5nOmJlZm9yZXtjb250ZW50OiJcZjE2OCJ9LmZhLXhpbmctc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE2OSJ9LmZhLXlvdXR1YmUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYxNmEifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZXtjb250ZW50OiJcZjE2YyJ9LmZhLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGYxNmQifS5mYS1mbGlja3I6YmVmb3Jle2NvbnRlbnQ6IlxmMTZlIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWJpdGJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGYxNzEifS5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3MiJ9LmZhLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGYxNzMifS5mYS10dW1ibHItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE3NCJ9LmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNzUifS5mYS1sb25nLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjE3NiJ9LmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxNzcifS5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE3OCJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLXdpbmRvd3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTdhIn0uZmEtYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGYxN2IifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGYxN2QifS5mYS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGYxN2UifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLXRyZWxsbzpiZWZvcmV7Y29udGVudDoiXGYxODEifS5mYS1mZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgyIn0uZmEtbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODMifS5mYS1naXR0aXA6YmVmb3JlLC5mYS1ncmF0aXBheTpiZWZvcmV7Y29udGVudDoiXGYxODQifS5mYS1zdW4tbzpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1tb29uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtdms6YmVmb3Jle2NvbnRlbnQ6IlxmMTg5In0uZmEtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMThhIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXBhZ2VsaW5lczpiZWZvcmV7Y29udGVudDoiXGYxOGMifS5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYxOGQifS5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxOGUifS5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MCJ9LmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxOTEifS5mYS1kb3QtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTkyIn0uZmEtd2hlZWxjaGFpcjpiZWZvcmV7Y29udGVudDoiXGYxOTMifS5mYS12aW1lby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk0In0uZmEtdHVya2lzaC1saXJhOmJlZm9yZSwuZmEtdHJ5OmJlZm9yZXtjb250ZW50OiJcZjE5NSJ9LmZhLXBsdXMtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTk2In0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zbGFjazpiZWZvcmV7Y29udGVudDoiXGYxOTgifS5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTk5In0uZmEtd29yZHByZXNzOmJlZm9yZXtjb250ZW50OiJcZjE5YSJ9LmZhLW9wZW5pZDpiZWZvcmV7Y29udGVudDoiXGYxOWIifS5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsLmZhLWJhbms6YmVmb3JlLC5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZXtjb250ZW50OiJcZjE5ZCJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWExIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxmMWE0In0uZmEtZGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZjFhNSJ9LmZhLWRpZ2c6YmVmb3Jle2NvbnRlbnQ6IlxmMWE2In0uZmEtcGllZC1waXBlci1wcDpiZWZvcmV7Y29udGVudDoiXGYxYTcifS5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxYTgifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWZheDpiZWZvcmV7Y29udGVudDoiXGYxYWMifS5mYS1idWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGYxYWQifS5mYS1jaGlsZDpiZWZvcmV7Y29udGVudDoiXGYxYWUifS5mYS1wYXc6YmVmb3Jle2NvbnRlbnQ6IlxmMWIwIn0uZmEtc3Bvb246YmVmb3Jle2NvbnRlbnQ6IlxmMWIxIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLXN0ZWFtOmJlZm9yZXtjb250ZW50OiJcZjFiNiJ9LmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYjcifS5mYS1yZWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjFiOCJ9LmZhLWF1dG9tb2JpbGU6YmVmb3JlLC5mYS1jYXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWI5In0uZmEtY2FiOmJlZm9yZSwuZmEtdGF4aTpiZWZvcmV7Y29udGVudDoiXGYxYmEifS5mYS10cmVlOmJlZm9yZXtjb250ZW50OiJcZjFiYiJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtZGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGYxYmQifS5mYS1zb3VuZGNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjFiZSJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWZpbGUtcGRmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMxIn0uZmEtZmlsZS13b3JkLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMyIn0uZmEtZmlsZS1leGNlbC1vOmJlZm9yZXtjb250ZW50OiJcZjFjMyJ9LmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZXtjb250ZW50OiJcZjFjNCJ9LmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwuZmEtZmlsZS1pbWFnZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtemlwLW86YmVmb3JlLC5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLXNvdW5kLW86YmVmb3JlLC5mYS1maWxlLWF1ZGlvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM3In0uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwuZmEtZmlsZS12aWRlby1vOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtY29kZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjOSJ9LmZhLXZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWNhIn0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1saWZlLWJvdXk6YmVmb3JlLC5mYS1saWZlLWJ1b3k6YmVmb3JlLC5mYS1saWZlLXNhdmVyOmJlZm9yZSwuZmEtc3VwcG9ydDpiZWZvcmUsLmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmV7Y29udGVudDoiXGYxY2UifS5mYS1yYTpiZWZvcmUsLmZhLXJlc2lzdGFuY2U6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDoiXGYxZDAifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDoiXGYxZDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDoiXGYxZDMifS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwuZmEteWMtc3F1YXJlOmJlZm9yZSwuZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxZDUifS5mYS1xcTpiZWZvcmV7Y29udGVudDoiXGYxZDYifS5mYS13ZWNoYXQ6YmVmb3JlLC5mYS13ZWl4aW46YmVmb3Jle2NvbnRlbnQ6IlxmMWQ3In0uZmEtc2VuZDpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjFkOCJ9LmZhLXNlbmQtbzpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWQ5In0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGYxZGEifS5mYS1jaXJjbGUtdGhpbjpiZWZvcmV7Y29udGVudDoiXGYxZGIifS5mYS1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWRjIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjFkZCJ9LmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWRlIn0uZmEtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjFlMCJ9LmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWUxIn0uZmEtYm9tYjpiZWZvcmV7Y29udGVudDoiXGYxZTIifS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwuZmEtZnV0Ym9sLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OiJcZjFlNCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjFlNyJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDoiXGYxZTgifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OiJcZjFlOSJ9LmZhLW5ld3NwYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjFlYSJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMWViIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGYxZWMifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWVkIn0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGYxZWUifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OiJcZjFmMCJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWYxIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWYyIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDoiXGYxZjMifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWY0In0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjFmNSJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY2In0uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjFmNyJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OiJcZjFmOCJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDoiXGYxZjkifS5mYS1hdDpiZWZvcmV7Y29udGVudDoiXGYxZmEifS5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OiJcZjFmYiJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWZkIn0uZmEtYXJlYS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYxZmUifS5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjAwIn0uZmEtbGluZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDEifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIwNiJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OiJcZjIwOCJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDoiXGYyMDkifS5mYS1jYzpiZWZvcmV7Y29udGVudDoiXGYyMGEifS5mYS1zaGVrZWw6YmVmb3JlLC5mYS1zaGVxZWw6YmVmb3JlLC5mYS1pbHM6YmVmb3Jle2NvbnRlbnQ6IlxmMjBiIn0uZmEtbWVhbnBhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjBjIn0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDoiXGYyMGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDoiXGYyMTAifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDoiXGYyMTEifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OiJcZjIxMiJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDoiXGYyMTMifS5mYS1zaGlydHNpbmJ1bGs6YmVmb3Jle2NvbnRlbnQ6IlxmMjE0In0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE2In0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIxNyJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYyMTgifS5mYS1kaWFtb25kOmJlZm9yZXtjb250ZW50OiJcZjIxOSJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjFhIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFiIn0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDoiXGYyMWQifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjFlIn0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIxIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDoiXGYyMjIifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLWludGVyc2V4OmJlZm9yZSwuZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjI0In0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjIyNSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjcifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OiJcZjIyOSJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjJhIn0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDoiXGYyMmIifS5mYS1uZXV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjJjIn0uZmEtZ2VuZGVybGVzczpiZWZvcmV7Y29udGVudDoiXGYyMmQifS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyMzAifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDoiXGYyMzEifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDoiXGYyMzIifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjMzIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM1In0uZmEtaG90ZWw6YmVmb3JlLC5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtdmlhY29pbjpiZWZvcmV7Y29udGVudDoiXGYyMzcifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDoiXGYyMzgifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6IlxmMjM5In0uZmEtbWVkaXVtOmJlZm9yZXtjb250ZW50OiJcZjIzYSJ9LmZhLXljOmJlZm9yZSwuZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OiJcZjIzYiJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OiJcZjIzZSJ9LmZhLWJhdHRlcnktNDpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDoiXGYyNDAifS5mYS1iYXR0ZXJ5LTM6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWJhdHRlcnktMjpiZWZvcmUsLmZhLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNDIifS5mYS1iYXR0ZXJ5LTE6YmVmb3JlLC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQzIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjI0NSJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDoiXGYyNDkifS5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZXtjb250ZW50OiJcZjI0YSJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDoiXGYyNGIifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDoiXGYyNGMifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OiJcZjI0ZSJ9LmZhLWhvdXJnbGFzcy1vOmJlZm9yZXtjb250ZW50OiJcZjI1MCJ9LmZhLWhvdXJnbGFzcy0xOmJlZm9yZSwuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZXtjb250ZW50OiJcZjI1MSJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjUyIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGYyNTQifS5mYS1oYW5kLWdyYWItbzpiZWZvcmUsLmZhLWhhbmQtcm9jay1vOmJlZm9yZXtjb250ZW50OiJcZjI1NSJ9LmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwuZmEtaGFuZC1wYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9LmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZXtjb250ZW50OiJcZjI1OCJ9LmZhLWhhbmQtc3BvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTkifS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNWEifS5mYS1oYW5kLXBlYWNlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjViIn0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OiJcZjI1YyJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDoiXGYyNWUifS5mYS1nZzpiZWZvcmV7Y29udGVudDoiXGYyNjAifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjYxIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjYyIn0uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDoiXGYyNjMifS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyNjQifS5mYS1nZXQtcG9ja2V0OmJlZm9yZXtjb250ZW50OiJcZjI2NSJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGYyNjcifS5mYS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY4In0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDoiXGYyNjkifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyNmIifS5mYS10djpiZWZvcmUsLmZhLXRlbGV2aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjZjIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzIifS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MyJ9LmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjc1In0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGYyNzYifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjc3In0uZmEtbWFwLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc4In0uZmEtbWFwOmJlZm9yZXtjb250ZW50OiJcZjI3OSJ9LmZhLWNvbW1lbnRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMjdhIn0uZmEtY29tbWVudGluZy1vOmJlZm9yZXtjb250ZW50OiJcZjI3YiJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OiJcZjI3YyJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDoiXGYyN2UifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjgwIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjgyIn0uZmEtY3JlZGl0LWNhcmQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjI4MyJ9LmZhLWNvZGllcGllOmJlZm9yZXtjb250ZW50OiJcZjI4NCJ9LmZhLW1vZHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjg1In0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjI4NiJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OiJcZjI4YSJ9LmZhLXBhdXNlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGIifS5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGMifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1zdG9wLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI4ZSJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjkxIn0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDoiXGYyOTIifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjkzIn0uZmEtYmx1ZXRvb3RoLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk0In0uZmEtcGVyY2VudDpiZWZvcmV7Y29udGVudDoiXGYyOTUifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk2In0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5mYS13cGZvcm1zOmJlZm9yZXtjb250ZW50OiJcZjI5OCJ9LmZhLWVudmlyYTpiZWZvcmV7Y29udGVudDoiXGYyOTkifS5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZjI5YSJ9LmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjI5YiJ9LmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI5YyJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjJhMCJ9LmZhLWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmExIn0uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZXtjb250ZW50OiJcZjJhMiJ9LmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5mYS1kZWFmbmVzczpiZWZvcmUsLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsLmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMmE0In0uZmEtZ2xpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmE1In0uZmEtZ2xpZGUtZzpiZWZvcmV7Y29udGVudDoiXGYyYTYifS5mYS1zaWduaW5nOmJlZm9yZSwuZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDoiXGYyYTcifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjJhOCJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZjJhYiJ9LmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjJhYyJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWQifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9LmZhLWZpcnN0LW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZjJiMCJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLC5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyYjMifS5mYS1mYTpiZWZvcmUsLmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvfQ=="}},"time_used":57,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/jquery.datetimepicker.full.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.038Z","timestamp":1785139582038,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/jquery.datetimepicker.full.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 28187\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":147801,"size_decoded":28425,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (6344)","md5":"e836b076b56f539e35d0719c69afe2b4","sha1":"903b1ade2a182a7bbf4180d5e30ec402871e4ab7","sha256":"e92f35feb14c9e2533466ddf1c9bb135e02bc600ee07c3e1620bfdee81fdb114","sha512":"27364d6f1d4d17ffb0a96254fcad5023f099a9804b204addc48fbe87951a6fe3fdd305ec9a45152708c35010f0150efeaac9174c2d3ac94eedfa6d45087b49d3","ssdeep":"1536:lGlSB/uWSLbTEtK1RzWmJIm+DXWzMo9oYv:sli2WSLbTEtK1YmJImMEV","tlshash":"74e3d949a2e326234ab772b89a9b15c5b335c26b1508d9283d4c47c46f5cc3d92ffbd8","first_seen":"2025-11-23T04:10:47.873446Z","last_seen":"2026-07-27T09:11:27.37262Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0ICZjb3B5OyBLYXJ0aWsgVmlzd2Vzd2FyYW4sIEtyYWplZS5jb20sIDIwMTQgLSAyMDE2CiAqIEB2ZXJzaW9uIDEuMy40CiAqCiAqIERhdGUgZm9ybWF0dGVyIHV0aWxpdHkgbGlicmFyeSB0aGF0IGFsbG93cyBmb3JtYXR0aW5nIGRhdGUvdGltZSB2YXJpYWJsZXMgb3IgRGF0ZSBvYmplY3RzIHVzaW5nIFBIUCBEYXRlVGltZSBmb3JtYXQuCiAqIEBzZWUgaHR0cDovL3BocC5uZXQvbWFudWFsL2VuL2Z1bmN0aW9uLmRhdGUucGhwCiAqCiAqIEZvciBtb3JlIEpRdWVyeSBwbHVnaW5zIHZpc2l0IGh0dHA6Ly9wbHVnaW5zLmtyYWplZS5jb20KICogRm9yIG1vcmUgWWlpIHJlbGF0ZWQgZGVtb3MgdmlzaXQgaHR0cDovL2RlbW9zLmtyYWplZS5jb20KKi92YXIgRGF0ZUZvcm1hdHRlcjshZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQsZSxyLG4sYSx1LGk7dT04NjRlNSxpPTM2MDAsdD1mdW5jdGlvbih0LGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmInN0cmluZyI9PXR5cGVvZiBlJiZ0LnRvTG93ZXJDYXNlKCk9PT1lLnRvTG93ZXJDYXNlKCl9LGU9ZnVuY3Rpb24odCxyLG4pe3ZhciBhPW58fCIwIix1PXQudG9TdHJpbmcoKTtyZXR1cm4gdS5sZW5ndGg8cj9lKGErdSxyKTp1fSxyPWZ1bmN0aW9uKHQpe3ZhciBlLG47Zm9yKHQ9dHx8e30sZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspaWYobj1hcmd1bWVudHNbZV0pZm9yKHZhciBhIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShhKSYmKCJvYmplY3QiPT10eXBlb2YgblthXT9yKHRbYV0sblthXSk6dFthXT1uW2FdKTtyZXR1cm4gdH0sbj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKGVbcl0udG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKSlyZXR1cm4gcjtyZXR1cm4tMX0sYT17ZGF0ZVNldHRpbmdzOntkYXlzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxkYXlzU2hvcnQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxtb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLG1vbnRoc1Nob3J0OlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sbWVyaWRpZW06WyJBTSIsIlBNIl0sb3JkaW5hbDpmdW5jdGlvbih0KXt2YXIgZT10JTEwLHI9ezE6InN0IiwyOiJuZCIsMzoicmQifTtyZXR1cm4gMSE9PU1hdGguZmxvb3IodCUxMDAvMTApJiZyW2VdP3JbZV06InRoIn19LHNlcGFyYXRvcnM6L1sgXC0rXC9cLlQ6QF0vZyx2YWxpZFBhcnRzOi9bZERqbE5Td3pXRm1NbnRMb1l5YUFCZ0doSGlzdWVUSU9QWmNyVV0vZyxpbnRQYXJ0czovW2Rqd056bW55WWhIZ0dpc10vZyx0elBhcnRzOi9cYig/OltQTUNFQV1bU0RQXVR8KD86UGFjaWZpY3xNb3VudGFpbnxDZW50cmFsfEVhc3Rlcm58QXRsYW50aWMpICg/OlN0YW5kYXJkfERheWxpZ2h0fFByZXZhaWxpbmcpIFRpbWV8KD86R01UfFVUQykoPzpbLStdXGR7NH0pPylcYi9nLHR6Q2xpcDovW14tK1xkQS1aXS9nfSxEYXRlRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj1yKGEsdCk7ZS5kYXRlU2V0dGluZ3M9bi5kYXRlU2V0dGluZ3MsZS5zZXBhcmF0b3JzPW4uc2VwYXJhdG9ycyxlLnZhbGlkUGFydHM9bi52YWxpZFBhcnRzLGUuaW50UGFydHM9bi5pbnRQYXJ0cyxlLnR6UGFydHM9bi50elBhcnRzLGUudHpDbGlwPW4udHpDbGlwfSxEYXRlRm9ybWF0dGVyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6RGF0ZUZvcm1hdHRlcixnZXRNb250aDpmdW5jdGlvbih0KXt2YXIgZSxyPXRoaXM7cmV0dXJuIGU9bih0LHIuZGF0ZVNldHRpbmdzLm1vbnRoc1Nob3J0KSsxLDA9PT1lJiYoZT1uKHQsci5kYXRlU2V0dGluZ3MubW9udGhzKSsxKSxlfSxwYXJzZURhdGU6ZnVuY3Rpb24oZSxyKXt2YXIgbixhLHUsaSxzLG8sYyxmLGwsaCxkPXRoaXMsZz0hMSxtPSExLHA9ZC5kYXRlU2V0dGluZ3MseT17ZGF0ZTpudWxsLHllYXI6bnVsbCxtb250aDpudWxsLGRheTpudWxsLGhvdXI6MCxtaW46MCxzZWM6MH07aWYoIWUpcmV0dXJuIG51bGw7aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGU7aWYoIlUiPT09cilyZXR1cm4gdT1wYXJzZUludChlKSx1P25ldyBEYXRlKDFlMyp1KTplO3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJudW1iZXIiOnJldHVybiBuZXcgRGF0ZShlKTtjYXNlInN0cmluZyI6YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbnVsbH1pZihuPXIubWF0Y2goZC52YWxpZFBhcnRzKSwhbnx8MD09PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkYXRlIGZvcm1hdCBkZWZpbml0aW9uLiIpO2ZvcihhPWUucmVwbGFjZShkLnNlcGFyYXRvcnMsIlx4MDAiKS5zcGxpdCgiXHgwMCIpLHU9MDt1PGEubGVuZ3RoO3UrKylzd2l0Y2goaT1hW3VdLHM9cGFyc2VJbnQoaSksblt1XSl7Y2FzZSJ5IjpjYXNlIlkiOmlmKCFzKXJldHVybiBudWxsO2w9aS5sZW5ndGgseS55ZWFyPTI9PT1sP3BhcnNlSW50KCg3MD5zPyIyMCI6IjE5IikraSk6cyxnPSEwO2JyZWFrO2Nhc2UibSI6Y2FzZSJuIjpjYXNlIk0iOmNhc2UiRiI6aWYoaXNOYU4ocykpe2lmKG89ZC5nZXRNb250aChpKSwhKG8+MCkpcmV0dXJuIG51bGw7eS5tb250aD1vfWVsc2V7aWYoIShzPj0xJiYxMj49cykpcmV0dXJuIG51bGw7eS5tb250aD1zfWc9ITA7YnJlYWs7Y2FzZSJkIjpjYXNlImoiOmlmKCEocz49MSYmMzE+PXMpKXJldHVybiBudWxsO3kuZGF5PXMsZz0hMDticmVhaztjYXNlImciOmNhc2UiaCI6aWYoYz1uLmluZGV4T2YoImEiKT4tMT9uLmluZGV4T2YoImEiKTpuLmluZGV4T2YoIkEiKT4tMT9uLmluZGV4T2YoIkEiKTotMSxoPWFbY10sYz4tMSlmPXQoaCxwLm1lcmlkaWVtWzBdKT8wOnQoaCxwLm1lcmlkaWVtWzFdKT8xMjotMSxzPj0xJiYxMj49cyYmZj4tMT95LmhvdXI9cytmLTE6cz49MCYmMjM+PXMmJih5LmhvdXI9cyk7ZWxzZXtpZighKHM+PTAmJjIzPj1zKSlyZXR1cm4gbnVsbDt5LmhvdXI9c31tPSEwO2JyZWFrO2Nhc2UiRyI6Y2FzZSJIIjppZighKHM+PTAmJjIzPj1zKSlyZXR1cm4gbnVsbDt5LmhvdXI9cyxtPSEwO2JyZWFrO2Nhc2UiaSI6aWYoIShzPj0wJiY1OT49cykpcmV0dXJuIG51bGw7eS5taW49cyxtPSEwO2JyZWFrO2Nhc2UicyI6aWYoIShzPj0wJiY1OT49cykpcmV0dXJuIG51bGw7eS5zZWM9cyxtPSEwfWlmKGc9PT0hMCYmeS55ZWFyJiZ5Lm1vbnRoJiZ5LmRheSl5LmRhdGU9bmV3IERhdGUoeS55ZWFyLHkubW9udGgtMSx5LmRheSx5LmhvdXIseS5taW4seS5zZWMsMCk7ZWxzZXtpZihtIT09ITApcmV0dXJuIG51bGw7eS5kYXRlPW5ldyBEYXRlKDAsMCwwLHkuaG91cix5Lm1pbix5LnNlYywwKX1yZXR1cm4geS5kYXRlfSxndWVzc0RhdGU6ZnVuY3Rpb24odCxlKXtpZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIHQ7dmFyIHIsbixhLHUsaSxzLG89dGhpcyxjPXQucmVwbGFjZShvLnNlcGFyYXRvcnMsIlx4MDAiKS5zcGxpdCgiXHgwMCIpLGY9L15bZGptbl0vZyxsPWUubWF0Y2goby52YWxpZFBhcnRzKSxoPW5ldyBEYXRlLGQ9MDtpZighZi50ZXN0KGxbMF0pKXJldHVybiB0O2ZvcihhPTA7YTxjLmxlbmd0aDthKyspe2lmKGQ9MixpPWNbYV0scz1wYXJzZUludChpLnN1YnN0cigwLDIpKSxpc05hTihzKSlyZXR1cm4gbnVsbDtzd2l0Y2goYSl7Y2FzZSAwOiJtIj09PWxbMF18fCJuIj09PWxbMF0/aC5zZXRNb250aChzLTEpOmguc2V0RGF0ZShzKTticmVhaztjYXNlIDE6Im0iPT09bFswXXx8Im4iPT09bFswXT9oLnNldERhdGUocyk6aC5zZXRNb250aChzLTEpO2JyZWFrO2Nhc2UgMjppZihuPWguZ2V0RnVsbFllYXIoKSxyPWkubGVuZ3RoLGQ9ND5yP3I6NCxuPXBhcnNlSW50KDQ+cj9uLnRvU3RyaW5nKCkuc3Vic3RyKDAsNC1yKStpOmkuc3Vic3RyKDAsNCkpLCFuKXJldHVybiBudWxsO2guc2V0RnVsbFllYXIobik7YnJlYWs7Y2FzZSAzOmguc2V0SG91cnMocyk7YnJlYWs7Y2FzZSA0Omguc2V0TWludXRlcyhzKTticmVhaztjYXNlIDU6aC5zZXRTZWNvbmRzKHMpfXU9aS5zdWJzdHIoZCksdS5sZW5ndGg+MCYmYy5zcGxpY2UoYSsxLDAsdSl9cmV0dXJuIGh9LHBhcnNlRm9ybWF0OmZ1bmN0aW9uKHQscil7dmFyIG4sYT10aGlzLHM9YS5kYXRlU2V0dGluZ3Msbz0vXFw/KC4/KS9naSxjPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5bdF0/blt0XSgpOmV9O3JldHVybiBuPXtkOmZ1bmN0aW9uKCl7cmV0dXJuIGUobi5qKCksMil9LEQ6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kYXlzU2hvcnRbbi53KCldfSxqOmZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2V0RGF0ZSgpfSxsOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZGF5c1tuLncoKV19LE46ZnVuY3Rpb24oKXtyZXR1cm4gbi53KCl8fDd9LHc6ZnVuY3Rpb24oKXtyZXR1cm4gci5nZXREYXkoKX0sejpmdW5jdGlvbigpe3ZhciB0PW5ldyBEYXRlKG4uWSgpLG4ubigpLTEsbi5qKCkpLGU9bmV3IERhdGUobi5ZKCksMCwxKTtyZXR1cm4gTWF0aC5yb3VuZCgodC1lKS91KX0sVzpmdW5jdGlvbigpe3ZhciB0PW5ldyBEYXRlKG4uWSgpLG4ubigpLTEsbi5qKCktbi5OKCkrMykscj1uZXcgRGF0ZSh0LmdldEZ1bGxZZWFyKCksMCw0KTtyZXR1cm4gZSgxK01hdGgucm91bmQoKHQtcikvdS83KSwyKX0sRjpmdW5jdGlvbigpe3JldHVybiBzLm1vbnRoc1tyLmdldE1vbnRoKCldfSxtOmZ1bmN0aW9uKCl7cmV0dXJuIGUobi5uKCksMil9LE06ZnVuY3Rpb24oKXtyZXR1cm4gcy5tb250aHNTaG9ydFtyLmdldE1vbnRoKCldfSxuOmZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2V0TW9udGgoKSsxfSx0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKG4uWSgpLG4ubigpLDApLmdldERhdGUoKX0sTDpmdW5jdGlvbigpe3ZhciB0PW4uWSgpO3JldHVybiB0JTQ9PT0wJiZ0JTEwMCE9PTB8fHQlNDAwPT09MD8xOjB9LG86ZnVuY3Rpb24oKXt2YXIgdD1uLm4oKSxlPW4uVygpLHI9bi5ZKCk7cmV0dXJuIHIrKDEyPT09dCYmOT5lPzE6MT09PXQmJmU+OT8tMTowKX0sWTpmdW5jdGlvbigpe3JldHVybiByLmdldEZ1bGxZZWFyKCl9LHk6ZnVuY3Rpb24oKXtyZXR1cm4gbi5ZKCkudG9TdHJpbmcoKS5zbGljZSgtMil9LGE6ZnVuY3Rpb24oKXtyZXR1cm4gbi5BKCkudG9Mb3dlckNhc2UoKX0sQTpmdW5jdGlvbigpe3ZhciB0PW4uRygpPDEyPzA6MTtyZXR1cm4gcy5tZXJpZGllbVt0XX0sQjpmdW5jdGlvbigpe3ZhciB0PXIuZ2V0VVRDSG91cnMoKSppLG49NjAqci5nZXRVVENNaW51dGVzKCksYT1yLmdldFVUQ1NlY29uZHMoKTtyZXR1cm4gZShNYXRoLmZsb29yKCh0K24rYStpKS84Ni40KSUxZTMsMyl9LGc6ZnVuY3Rpb24oKXtyZXR1cm4gbi5HKCklMTJ8fDEyfSxHOmZ1bmN0aW9uKCl7cmV0dXJuIHIuZ2V0SG91cnMoKX0saDpmdW5jdGlvbigpe3JldHVybiBlKG4uZygpLDIpfSxIOmZ1bmN0aW9uKCl7cmV0dXJuIGUobi5HKCksMil9LGk6ZnVuY3Rpb24oKXtyZXR1cm4gZShyLmdldE1pbnV0ZXMoKSwyKX0sczpmdW5jdGlvbigpe3JldHVybiBlKHIuZ2V0U2Vjb25kcygpLDIpfSx1OmZ1bmN0aW9uKCl7cmV0dXJuIGUoMWUzKnIuZ2V0TWlsbGlzZWNvbmRzKCksNil9LGU6ZnVuY3Rpb24oKXt2YXIgdD0vXCgoLiopXCkvLmV4ZWMoU3RyaW5nKHIpKVsxXTtyZXR1cm4gdHx8IkNvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIn0sSTpmdW5jdGlvbigpe3ZhciB0PW5ldyBEYXRlKG4uWSgpLDApLGU9RGF0ZS5VVEMobi5ZKCksMCkscj1uZXcgRGF0ZShuLlkoKSw2KSxhPURhdGUuVVRDKG4uWSgpLDYpO3JldHVybiB0LWUhPT1yLWE/MTowfSxPOmZ1bmN0aW9uKCl7dmFyIHQ9ci5nZXRUaW1lem9uZU9mZnNldCgpLG49TWF0aC5hYnModCk7cmV0dXJuKHQ+MD8iLSI6IisiKStlKDEwMCpNYXRoLmZsb29yKG4vNjApK24lNjAsNCl9LFA6ZnVuY3Rpb24oKXt2YXIgdD1uLk8oKTtyZXR1cm4gdC5zdWJzdHIoMCwzKSsiOiIrdC5zdWJzdHIoMywyKX0sVDpmdW5jdGlvbigpe3ZhciB0PShTdHJpbmcocikubWF0Y2goYS50elBhcnRzKXx8WyIiXSkucG9wKCkucmVwbGFjZShhLnR6Q2xpcCwiIik7cmV0dXJuIHR8fCJVVEMifSxaOmZ1bmN0aW9uKCl7cmV0dXJuIDYwKi1yLmdldFRpbWV6b25lT2Zmc2V0KCl9LGM6ZnVuY3Rpb24oKXtyZXR1cm4iWS1tLWRcXFRIOmk6c1AiLnJlcGxhY2UobyxjKX0scjpmdW5jdGlvbigpe3JldHVybiJELCBkIE0gWSBIOmk6cyBPIi5yZXBsYWNlKG8sYyl9LFU6ZnVuY3Rpb24oKXtyZXR1cm4gci5nZXRUaW1lKCkvMWUzfHwwfX0sYyh0LHQpfSxmb3JtYXREYXRlOmZ1bmN0aW9uKHQsZSl7dmFyIHIsbixhLHUsaSxzPXRoaXMsbz0iIixjPSJcXCI7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD1zLnBhcnNlRGF0ZSh0LGUpLCF0KSlyZXR1cm4gbnVsbDtpZih0IGluc3RhbmNlb2YgRGF0ZSl7Zm9yKGE9ZS5sZW5ndGgscj0wO2E+cjtyKyspaT1lLmNoYXJBdChyKSwiUyIhPT1pJiZpIT09YyYmKHI+MCYmZS5jaGFyQXQoci0xKT09PWM/bys9aToodT1zLnBhcnNlRm9ybWF0KGksdCksciE9PWEtMSYmcy5pbnRQYXJ0cy50ZXN0KGkpJiYiUyI9PT1lLmNoYXJBdChyKzEpJiYobj1wYXJzZUludCh1KXx8MCx1Kz1zLmRhdGVTZXR0aW5ncy5vcmRpbmFsKG4pKSxvKz11KSk7cmV0dXJuIG99cmV0dXJuIiJ9fX0oKTsvKioKKiBAcHJlc2VydmUgalF1ZXJ5IERhdGVUaW1lUGlja2VyCiogQGhvbWVwYWdlIGh0dHA6Ly94ZHNvZnQubmV0L2pxcGx1Z2lucy9kYXRldGltZXBpY2tlci8KKiBAYXV0aG9yIENodXB1cm5vdiBWYWxlcml5ICg8Y2h1cHVybm92QGdtYWlsLmNvbT4pCiovCgovKioKKiBAcGFyYW0ge2pRdWVyeX0gJAoqLwp2YXIgZGF0ZXRpbWVwaWNrZXJGYWN0b3J5ID0gZnVuY3Rpb24gKCQpIHsKICAgJ3VzZSBzdHJpY3QnOwoKICAgdmFyIGRlZmF1bHRfb3B0aW9ucyAgPSB7CiAgICAgICBpMThuOiB7CiAgICAgICAgICAgYXI6IHsgLy8gQXJhYmljCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIsOZxpLDmMKnw5nigKDDmcuGw5nigKAgw5jCp8OZ4oCew5jCq8OYwqfDmeKAoMOZxaAiLCAiw5jCtMOYwqjDmMKnw5jCtyIsICLDmMKiw5jCsMOYwqfDmMKxIiwgIsOZ4oCgw5nFoMOYwrPDmMKnw5nigKAiLCAiw5nigKbDmMKnw5nFoMOZy4YiLCAiw5jCrcOYwrLDmcWgw5jCscOYwqfDmeKAoCIsICLDmMKqw5nigKbDmcuGw5jCsiIsICLDmMKiw5jCqCIsICLDmMKjw5nFoMOZ4oCew5nLhsOZ4oCeIiwgIsOYwqrDmMK0w5jCscOZxaDDmeKAoCDDmMKnw5nigJ7DmMKjw5nLhsOZ4oCeIiwgIsOYwqrDmMK0w5jCscOZxaDDmeKAoCDDmMKnw5nigJ7DmMKrw5jCp8OZ4oCgw5nFoCIsICLDmcaSw5jCp8OZ4oCgw5nLhsOZ4oCgIMOYwqfDmeKAnsOYwqPDmcuGw5nigJ4iCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw5nigKAiLCAiw5jCqyIsICLDmMK5IiwgIsOYwq4iLCAiw5jCrCIsICLDmMKzIiwgIsOYwq0iCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyLDmMKnw5nigJ7DmMKjw5jCrcOYwq8iLCAiw5jCp8OZ4oCew5jCp8OYwqvDmeKAoMOZxaDDmeKAoCIsICLDmMKnw5nigJ7DmMKrw5nigJ7DmMKnw5jCq8OYwqfDmMKhIiwgIsOYwqfDmeKAnsOYwqPDmMKxw5jCqMOYwrnDmMKnw5jCoSIsICLDmMKnw5nigJ7DmMKuw5nigKbDmcWgw5jCsyIsICLDmMKnw5nigJ7DmMKsw5nigKbDmMK5w5jCqSIsICLDmMKnw5nigJ7DmMKzw5jCqMOYwqoiLCAiw5jCp8OZ4oCew5jCo8OYwq3DmMKvIl0KICAgICAgICAgICB9LAogICAgICAgICAgIHJvOiB7IC8vIFJvbWFuaWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIklhbnVhcmllIiwgIkZlYnJ1YXJpZSIsICJNYXJ0aWUiLCAiQXByaWxpZSIsICJNYWkiLCAiSXVuaWUiLCAiSXVsaWUiLCAiQXVndXN0IiwgIlNlcHRlbWJyaWUiLCAiT2N0b21icmllIiwgIk5vaWVtYnJpZSIsICJEZWNlbWJyaWUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiRHUiLCAiTHUiLCAiTWEiLCAiTWkiLCAiSm8iLCAiVmkiLCAiU8ODwqIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJEdW1pbmljw4TGkiIsICJMdW5pIiwgIk1hcsOFwqNpIiwgIk1pZXJjdXJpIiwgIkpvaSIsICJWaW5lcmkiLCAiU8ODwqJtYsOExpJ0w4TGkiJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBpZDogeyAvLyBJbmRvbmVzaWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnVhcmkiLCAiRmVicnVhcmkiLCAiTWFyZXQiLCAiQXByaWwiLCAiTWVpIiwgIkp1bmkiLCAiSnVsaSIsICJBZ3VzdHVzIiwgIlNlcHRlbWJlciIsICJPa3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlc2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIk1pbiIsICJTZW4iLCAiU2VsIiwgIlJhYiIsICJLYW0iLCAiSnVtIiwgIlNhYiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIk1pbmdndSIsICJTZW5pbiIsICJTZWxhc2EiLCAiUmFidSIsICJLYW1pcyIsICJKdW1hdCIsICJTYWJ0dSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBpczogeyAvLyBJY2VsYW5kaWMKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFuw4PCumFyIiwgIkZlYnLDg8K6YXIiLCAiTWFycyIsICJBcHLDg8KtbCIsICJNYcODwq0iLCAiSsODwrpuw4PCrSIsICJKw4PCumzDg8KtIiwgIsODwoFnw4PCunN0IiwgIlNlcHRlbWJlciIsICJPa3TDg8KzYmVyIiwgIk7Dg8KzdmVtYmVyIiwgIkRlc2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlN1biIsICJNw4PCoW4iLCAiw4PFvnJpw4PCsCIsICJNacODwrAiLCAiRmltIiwgIkbDg8K2cyIsICJMYXUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJTdW5udWRhZ3VyIiwgIk3Dg8KhbnVkYWd1ciIsICLDg8W+cmnDg8KwanVkYWd1ciIsICJNacODwrB2aWt1ZGFndXIiLCAiRmltbXR1ZGFndXIiLCAiRsODwrZzdHVkYWd1ciIsICJMYXVnYXJkYWd1ciJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBiZzogeyAvLyBCdWxnYXJpYW4KICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiw5DCr8OQwr3DkcaSw5DCsMOR4oKsw5DCuCIsICLDkMKkw5DCtcOQwrLDkeKCrMORxpLDkMKww5HigqzDkMK4IiwgIsOQxZPDkMKww5HigqzDkeKAmiIsICLDkMKQw5DCv8OR4oKsw5DCuMOQwrsiLCAiw5DFk8OQwrDDkMK5IiwgIsOQwq7DkMK9w5DCuCIsICLDkMKuw5DCu8OQwrgiLCAiw5DCkMOQwrLDkMKzw5HGksORwoHDkeKAmiIsICLDkMKhw5DCtcOQwr/DkeKAmsOQwrXDkMK8w5DCssOR4oKsw5DCuCIsICLDkMW+w5DCusOR4oCaw5DCvsOQwrzDkMKyw5HigqzDkMK4IiwgIsOQwp3DkMK+w5DCtcOQwrzDkMKyw5HigqzDkMK4IiwgIsOQ4oCdw5DCtcOQwrrDkMK1w5DCvMOQwrLDkeKCrMOQwrgiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw5DCncOQwrQiLCAiw5DFuMOQwr0iLCAiw5DigJnDkeKAmiIsICLDkMKhw5HigqwiLCAiw5DCp8OR4oCaIiwgIsOQxbjDkeKAmiIsICLDkMKhw5DCsSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOQwp3DkMK1w5DCtMOQwrXDkMK7w5HCjyIsICLDkMW4w5DCvsOQwr3DkMK1w5DCtMOQwrXDkMK7w5DCvcOQwrjDkMK6IiwgIsOQ4oCZw5HigJrDkMK+w5HigqzDkMK9w5DCuMOQwroiLCAiw5DCocOR4oKsw5HCj8OQwrTDkMKwIiwgIsOQwqfDkMK1w5HigJrDkMKyw5HFoMOR4oKsw5HigJrDkcWgw5DCuiIsICLDkMW4w5DCtcOR4oCaw5HFoMOQwroiLCAiw5DCocORxaDDkMKxw5DCvsOR4oCaw5DCsCJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBmYTogeyAvLyBQZXJzaWFuL0ZhcnNpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgJ8OZwoHDmMKxw5nLhsOYwrHDmMKvw5vFksOZ4oCgJywgJ8OYwqfDmMKxw5jCr8ObxZLDmMKow5nigKHDmMK0w5jCqicsICfDmMKuw5jCscOYwq/DmMKnw5jCrycsICfDmMKqw5vFksOYwrEnLCAnw5nigKbDmMKxw5jCr8OYwqfDmMKvJywgJ8OYwrTDmeKAocOYwrHDm8WSw5nLhsOYwrEnLCAnw5nigKbDmeKAocOYwrEnLCAnw5jCosOYwqjDmMKnw5nigKAnLCAnw5jCosOYwrDDmMKxJywgJ8OYwq/Dm8WSJywgJ8OYwqjDmeKAocOZ4oCmw5nigKAnLCAnw5jCp8OYwrPDmcKBw5nigKDDmMKvJwogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgJ8ObxZLDmsKpw5jCtMOZ4oCgw5jCqMOZ4oChJywgJ8OYwq/DmcuGw5jCtMOZ4oCgw5jCqMOZ4oChJywgJ8OYwrPDmeKAoSDDmMK0w5nigKDDmMKow5nigKEnLCAnw5rigKDDmeKAocOYwqfDmMKxw5jCtMOZ4oCgw5jCqMOZ4oChJywgJ8OZwr7DmeKAoMOYwqzDmMK0w5nigKDDmMKow5nigKEnLCAnw5jCrMOZ4oCmw5jCucOZ4oChJywgJ8OYwrTDmeKAoMOYwqjDmeKAoScKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsObxZLDmsKpw6LigqzFksOYwrTDmeKAoMOYwqjDmeKAoSIsICLDmMKvw5nLhsOYwrTDmeKAoMOYwqjDmeKAoSIsICLDmMKzw5nigKHDouKCrMWSw5jCtMOZ4oCgw5jCqMOZ4oChIiwgIsOa4oCgw5nigKHDmMKnw5jCscOYwrTDmeKAoMOYwqjDmeKAoSIsICLDmcK+w5nigKDDmMKsw6LigqzFksOYwrTDmeKAoMOYwqjDmeKAoSIsICLDmMKsw5nigKbDmMK5w5nigKEiLCAiw5jCtMOZ4oCgw5jCqMOZ4oChIiwgIsObxZLDmsKpw6LigqzFksOYwrTDmeKAoMOYwqjDmeKAoSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBydTogeyAvLyBSdXNzaWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgJ8OQwq/DkMK9w5DCssOQwrDDkeKCrMORxZInLCAnw5DCpMOQwrXDkMKyw5HigqzDkMKww5DCu8ORxZInLCAnw5DFk8OQwrDDkeKCrMOR4oCaJywgJ8OQwpDDkMK/w5HigqzDkMK1w5DCu8ORxZInLCAnw5DFk8OQwrDDkMK5JywgJ8OQy5zDkcW9w5DCvcORxZInLCAnw5DLnMORxb3DkMK7w5HFkicsICfDkMKQw5DCssOQwrPDkcaSw5HCgcOR4oCaJywgJ8OQwqHDkMK1w5DCvcOR4oCaw5HCj8OQwrHDkeKCrMORxZInLCAnw5DFvsOQwrrDkeKAmsORwo/DkMKxw5HigqzDkcWSJywgJ8OQwp3DkMK+w5HCj8OQwrHDkeKCrMORxZInLCAnw5DigJ3DkMK1w5DCusOQwrDDkMKxw5HigqzDkcWSJwogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIsOQ4oCZw5HCgSIsICLDkMW4w5DCvSIsICLDkOKAmcOR4oCaIiwgIsOQwqHDkeKCrCIsICLDkMKnw5HigJoiLCAiw5DFuMOR4oCaIiwgIsOQwqHDkMKxIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiw5DigJnDkMK+w5HCgcOQwrrDkeKCrMOQwrXDkcKBw5DCtcOQwr3DkcWSw5DCtSIsICLDkMW4w5DCvsOQwr3DkMK1w5DCtMOQwrXDkMK7w5HFksOQwr3DkMK4w5DCuiIsICLDkOKAmcOR4oCaw5DCvsOR4oKsw5DCvcOQwrjDkMK6IiwgIsOQwqHDkeKCrMOQwrXDkMK0w5DCsCIsICLDkMKnw5DCtcOR4oCaw5DCssOQwrXDkeKCrMOQwrMiLCAiw5DFuMORwo/DkeKAmsOQwr3DkMK4w5HigKDDkMKwIiwgIsOQwqHDkcaSw5DCscOQwrHDkMK+w5HigJrDkMKwIl0KICAgICAgICAgICB9LAogICAgICAgICAgIHVrOiB7IC8vIFVrcmFpbmlhbgogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICfDkMKhw5HigJPDkeKAocOQwrXDkMK9w5HFkicsICfDkOKAusORxb3DkeKAmsOQwrjDkMK5JywgJ8OQ4oCYw5DCtcOR4oKsw5DCtcOQwrfDkMK1w5DCvcORxZInLCAnw5DFocOQwrLDkeKAk8OR4oCaw5DCtcOQwr3DkcWSJywgJ8OQwqLDkeKCrMOQwrDDkMKyw5DCtcOQwr3DkcWSJywgJ8OQwqfDkMK1w5HigqzDkMKyw5DCtcOQwr3DkcWSJywgJ8OQ4oC6w5DCuMOQwr/DkMK1w5DCvcORxZInLCAnw5DCocOQwrXDkeKCrMOQwr/DkMK1w5DCvcORxZInLCAnw5DigJnDkMK1w5HigqzDkMK1w5HCgcOQwrXDkMK9w5HFkicsICfDkOKAk8OQwr7DkMKyw5HigJrDkMK1w5DCvcORxZInLCAnw5DigLrDkMK4w5HCgcOR4oCaw5DCvsOQwr/DkMKww5DCtCcsICfDkOKAnMOR4oKsw5HGksOQwrTDkMK1w5DCvcORxZInCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw5DCncOQwrTDkMK7IiwgIsOQxbjDkMK9w5DCtCIsICLDkOKAmcOR4oCaw5HigqwiLCAiw5DCocOR4oKsw5DCtCIsICLDkMKnw5HigJrDkMKyIiwgIsOQxbjDkeKAmsOQwr0iLCAiw5DCocOQwrHDkeKAmiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOQwp3DkMK1w5DCtMOR4oCTw5DCu8ORwo8iLCAiw5DFuMOQwr7DkMK9w5DCtcOQwrTDkeKAk8OQwrvDkMK+w5DCuiIsICLDkOKAmcOR4oCTw5DCssOR4oCaw5DCvsOR4oKsw5DCvsOQwroiLCAiw5DCocOQwrXDkeKCrMOQwrXDkMK0w5DCsCIsICLDkMKnw5DCtcOR4oCaw5DCssOQwrXDkeKCrCIsICLDkMW4J8ORwo/DkeKAmsOQwr3DkMK4w5HigKDDkcKPIiwgIsOQwqHDkcaSw5DCscOQwr7DkeKAmsOQwrAiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgZW46IHsgLy8gRW5nbGlzaAogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW51YXJ5IiwgIkZlYnJ1YXJ5IiwgIk1hcmNoIiwgIkFwcmlsIiwgIk1heSIsICJKdW5lIiwgIkp1bHkiLCAiQXVndXN0IiwgIlNlcHRlbWJlciIsICJPY3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlY2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIlN1bmRheSIsICJNb25kYXkiLCAiVHVlc2RheSIsICJXZWRuZXNkYXkiLCAiVGh1cnNkYXkiLCAiRnJpZGF5IiwgIlNhdHVyZGF5Il0KICAgICAgICAgICB9LAogICAgICAgICAgIGVsOiB7IC8vIMOO4oCiw47Cu8OOwrvDjsK3w47CvcOOwrnDjsK6w47CrAogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICLDjuKEosOOwrHDjsK9w47Cv8OP4oCmw47CrMOPwoHDjsK5w47Cv8OP4oCaIiwgIsOOwqbDjsK1w47CssOPwoHDjsK/w4/igKbDjsKsw4/CgcOOwrnDjsK/w4/igJoiLCAiw47Fk8OOwqzDj8KBw4/igJ7DjsK5w47Cv8OP4oCaIiwgIsOO4oCYw4/igqzDj8KBw47Cr8OOwrvDjsK5w47Cv8OP4oCaIiwgIsOOxZPDjsKsw47CucOOwr/Dj+KAmiIsICLDjuKEosOOwr/Dj8KNw47CvcOOwrnDjsK/w4/igJoiLCAiw47ihKLDjsK/w4/CjcOOwrvDjsK5w47Cv8OP4oCaIiwgIsOO4oCYw4/CjcOOwrPDjsK/w4/igKbDj8aSw4/igJ7DjsK/w4/igJoiLCAiw47Co8OOwrXDj+KCrMOP4oCew47CrcOOwrzDjsKyw4/CgcOOwrnDjsK/w4/igJoiLCAiw47FuMOOwrrDj+KAnsOPxb3DjsKyw4/CgcOOwrnDjsK/w4/igJoiLCAiw47CncOOwr/DjsKtw47CvMOOwrLDj8KBw47CucOOwr/Dj+KAmiIsICLDjuKAncOOwrXDjsK6w47CrcOOwrzDjsKyw4/CgcOOwrnDjsK/w4/igJoiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw47FocOP4oCmw4/CgSIsICLDjuKAncOOwrXDj+KApiIsICLDjsKkw4/CgcOOwrkiLCAiw47CpMOOwrXDj+KAniIsICLDjiDDjsK1w47CvCIsICLDjiDDjsKxw4/CgSIsICLDjsKjw47CscOOwrIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyLDjsWhw4/igKbDj8KBw47CucOOwrHDjsK6w47CriIsICLDjuKAncOOwrXDj+KApsOP4oCew47CrcOPwoHDjsKxIiwgIsOOwqTDj8KBw47Cr8OP4oCew47CtyIsICLDjsKkw47CtcOP4oCew47CrMOPwoHDj+KAnsOOwrciLCAiw44gw47CrcOOwrzDj+KCrMOP4oCew47CtyIsICLDjiDDjsKxw4/CgcOOwrHDj8aSw47CusOOwrXDj+KApsOOwq4iLCAiw47Co8OOwqzDjsKyw47CssOOwrHDj+KAnsOOwr8iXQogICAgICAgICAgIH0sCiAgICAgICAgICAgZGU6IHsgLy8gR2VybWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgJ0phbnVhcicsICdGZWJydWFyJywgJ03Dg8KkcnonLCAnQXByaWwnLCAnTWFpJywgJ0p1bmknLCAnSnVsaScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09rdG9iZXInLCAnTm92ZW1iZXInLCAnRGV6ZW1iZXInCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiU28iLCAiTW8iLCAiRGkiLCAiTWkiLCAiRG8iLCAiRnIiLCAiU2EiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJTb25udGFnIiwgIk1vbnRhZyIsICJEaWVuc3RhZyIsICJNaXR0d29jaCIsICJEb25uZXJzdGFnIiwgIkZyZWl0YWciLCAiU2Ftc3RhZyJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBubDogeyAvLyBEdXRjaAogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJqYW51YXJpIiwgImZlYnJ1YXJpIiwgIm1hYXJ0IiwgImFwcmlsIiwgIm1laSIsICJqdW5pIiwgImp1bGkiLCAiYXVndXN0dXMiLCAic2VwdGVtYmVyIiwgIm9rdG9iZXIiLCAibm92ZW1iZXIiLCAiZGVjZW1iZXIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiem8iLCAibWEiLCAiZGkiLCAid28iLCAiZG8iLCAidnIiLCAiemEiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJ6b25kYWciLCAibWFhbmRhZyIsICJkaW5zZGFnIiwgIndvZW5zZGFnIiwgImRvbmRlcmRhZyIsICJ2cmlqZGFnIiwgInphdGVyZGFnIl0KICAgICAgICAgICB9LAogICAgICAgICAgIHRyOiB7IC8vIFR1cmtpc2gKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiT2NhayIsICLDhcW+dWJhdCIsICJNYXJ0IiwgIk5pc2FuIiwgIk1hecOEwrFzIiwgIkhhemlyYW4iLCAiVGVtbXV6IiwgIkHDhMW4dXN0b3MiLCAiRXlsw4PCvGwiLCAiRWtpbSIsICJLYXPDhMKxbSIsICJBcmFsw4TCsWsiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiUGF6IiwgIlB0cyIsICJTYWwiLCAiw4PigKFhciIsICJQZXIiLCAiQ3VtIiwgIkN0cyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIlBhemFyIiwgIlBhemFydGVzaSIsICJTYWzDhMKxIiwgIsOD4oChYXLDhcW4YW1iYSIsICJQZXLDhcW4ZW1iZSIsICJDdW1hIiwgIkN1bWFydGVzaSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBmcjogeyAvL0ZyZW5jaAogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW52aWVyIiwgIkbDg8KpdnJpZXIiLCAiTWFycyIsICJBdnJpbCIsICJNYWkiLCAiSnVpbiIsICJKdWlsbGV0IiwgIkFvw4PCu3QiLCAiU2VwdGVtYnJlIiwgIk9jdG9icmUiLCAiTm92ZW1icmUiLCAiRMODwqljZW1icmUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiRGltIiwgIkx1biIsICJNYXIiLCAiTWVyIiwgIkpldSIsICJWZW4iLCAiU2FtIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiZGltYW5jaGUiLCAibHVuZGkiLCAibWFyZGkiLCAibWVyY3JlZGkiLCAiamV1ZGkiLCAidmVuZHJlZGkiLCAic2FtZWRpIl0KICAgICAgICAgICB9LAogICAgICAgICAgIGVzOiB7IC8vIFNwYW5pc2gKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiRW5lcm8iLCAiRmVicmVybyIsICJNYXJ6byIsICJBYnJpbCIsICJNYXlvIiwgIkp1bmlvIiwgIkp1bGlvIiwgIkFnb3N0byIsICJTZXB0aWVtYnJlIiwgIk9jdHVicmUiLCAiTm92aWVtYnJlIiwgIkRpY2llbWJyZSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJEb20iLCAiTHVuIiwgIk1hciIsICJNacODwqkiLCAiSnVlIiwgIlZpZSIsICJTw4PCoWIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJEb21pbmdvIiwgIkx1bmVzIiwgIk1hcnRlcyIsICJNacODwqlyY29sZXMiLCAiSnVldmVzIiwgIlZpZXJuZXMiLCAiU8ODwqFiYWRvIl0KICAgICAgICAgICB9LAogICAgICAgICAgIHRoOiB7IC8vIFRoYWkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAnw6DCuMKhw6DCuMKBw6DCuMKjw6DCuMKyw6DCuOKAnsOgwrjCoScsICfDoMK4woHDoMK4wrjDoMK4wqHDoMK4IMOgwrjCssOgwrjFvsOgwrjCscOgwrjihKLDoMK4y5zDoMK5xZInLCAnw6DCuMKhw6DCuMK1w6DCuOKEosOgwrjCssOgwrjigJ7DoMK4wqEnLCAnw6DCueKCrMOgwrjCocOgwrjCqcOgwrjCssOgwrjCosOgwrjihKInLCAnw6DCuMW+w6DCuMKkw6DCuMKpw6DCuCDDoMK4wrLDoMK44oCew6DCuMKhJywgJ8OgwrjCocOgwrjCtMOgwrjigJPDoMK4wrjDoMK44oSiw6DCuMKyw6DCuMKiw6DCuOKEoicsICfDoMK4woHDoMK4wqPDoMK4woHDoMK4xb3DoMK4wrLDoMK44oCew6DCuMKhJywgJ8OgwrjCqsOgwrjCtMOgwrjigKHDoMK4wqvDoMK4wrLDoMK44oCew6DCuMKhJywgJ8OgwrjCgcOgwrjCscOgwrjihKLDoMK4wqLDoMK4wrLDoMK4wqLDoMK44oSiJywgJ8OgwrjigKLDoMK4wrjDoMK4wqXDoMK4wrLDoMK44oCew6DCuMKhJywgJ8OgwrjFvsOgwrjCpMOgwrjCqMOgwrjLhsOgwrjCtMOgwrjCgcOgwrjCssOgwrjCosOgwrjihKInLCAnw6DCuMucw6DCuMKxw6DCuOKEosOgwrjCp8OgwrjCssOgwrjigJ7DoMK4wqEnCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAnw6DCuMKtw6DCuMKyLicsICfDoMK4y4YuJywgJ8OgwrjCrS4nLCAnw6DCuMW+LicsICfDoMK4xb7DoMK4wqQuJywgJ8OgwrjCqC4nLCAnw6DCuMKqLicKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOgwrjCrcOgwrjCssOgwrjigJTDoMK4wrTDoMK44oCiw6DCuMKiw6DCucWSIiwgIsOgwrjLhsOgwrjCscOgwrjihKLDoMK44oCUw6DCuMKjw6DCucWSIiwgIsOgwrjCrcOgwrjCscOgwrjigKHDoMK44oCew6DCuMKyw6DCuMKjIiwgIsOgwrjFvsOgwrjCuMOgwrjLnCIsICLDoMK4xb7DoMK4wqTDoMK4wqvDoMK4wrHDoMK4wqoiLCAiw6DCuMKow6DCuMK4w6DCuMKBw6DCuMKjw6DCucWSIiwgIsOgwrnigqzDoMK4wqrDoMK4wrLDoMK4wqPDoMK5xZIiLCAiw6DCuMKtw6DCuMKyw6DCuOKAlMOgwrjCtMOgwrjigKLDoMK4wqLDoMK5xZIiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgcGw6IHsgLy8gUG9saXNoCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgInN0eWN6ZcOF4oCeIiwgImx1dHkiLCAibWFyemVjIiwgImt3aWVjaWXDheKAniIsICJtYWoiLCAiY3plcndpZWMiLCAibGlwaWVjIiwgInNpZXJwaWXDheKAniIsICJ3cnplc2llw4XigJ4iLCAicGHDhcK6ZHppZXJuaWsiLCAibGlzdG9wYWQiLCAiZ3J1ZHppZcOF4oCeIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIm5kIiwgInBuIiwgInd0IiwgIsOF4oC6ciIsICJjeiIsICJwdCIsICJzYiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIm5pZWR6aWVsYSIsICJwb25pZWR6aWHDheKAmmVrIiwgInd0b3JlayIsICLDheKAunJvZGEiLCAiY3p3YXJ0ZWsiLCAicGnDhOKApnRlayIsICJzb2JvdGEiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgcHQ6IHsgLy8gUG9ydHVndWVzZQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW5laXJvIiwgIkZldmVyZWlybyIsICJNYXLDg8KnbyIsICJBYnJpbCIsICJNYWlvIiwgIkp1bmhvIiwgIkp1bGhvIiwgIkFnb3N0byIsICJTZXRlbWJybyIsICJPdXR1YnJvIiwgIk5vdmVtYnJvIiwgIkRlemVtYnJvIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIkRvbSIsICJTZWciLCAiVGVyIiwgIlF1YSIsICJRdWkiLCAiU2V4IiwgIlNhYiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIkRvbWluZ28iLCAiU2VndW5kYSIsICJUZXLDg8KnYSIsICJRdWFydGEiLCAiUXVpbnRhIiwgIlNleHRhIiwgIlPDg8KhYmFkbyJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBjaDogeyAvLyBTaW1wbGlmaWVkIENoaW5lc2UKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiw6TCuOKCrMOmxZPLhiIsICLDpMK6xZLDpsWTy4YiLCAiw6TCuOKAsMOmxZPLhiIsICLDpeKAuuKAusOmxZPLhiIsICLDpMK64oCdw6bFk8uGIiwgIsOl4oCmwq3DpsWTy4YiLCAiw6TCuMaSw6bFk8uGIiwgIsOl4oCmwqvDpsWTy4YiLCAiw6TCucKdw6bFk8uGIiwgIsOlwo3CgcOmxZPLhiIsICLDpcKNwoHDpMK44oKsw6bFk8uGIiwgIsOlwo3CgcOkwrrFksOmxZPLhiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICLDpuKAlMKlIiwgIsOkwrjigqwiLCAiw6TCusWSIiwgIsOkwrjigLAiLCAiw6XigLrigLoiLCAiw6TCuuKAnSIsICLDpeKApsKtIgogICAgICAgICAgICAgICBdCiAgICAgICAgICAgfSwKICAgICAgICAgICBzZTogeyAvLyBTd2VkaXNoCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnVhcmkiLCAiRmVicnVhcmkiLCAiTWFycyIsICJBcHJpbCIsICJNYWoiLCAiSnVuaSIsICJKdWxpIiwgIkF1Z3VzdGkiLCAiU2VwdGVtYmVyIiwgICJPa3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlY2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlPDg8K2biIsICJNw4PCpW4iLCAiVGlzIiwgIk9ucyIsICJUb3IiLCAiRnJlIiwgIkzDg8K2ciIKICAgICAgICAgICAgICAgXQogICAgICAgICAgIH0sCiAgICAgICAgICAga206IHsgLy8gS2htZXIgKMOhxb7igJTDocW+wrbDocW+xbjDocW+wrbDocW+woHDocW44oCZw6HFvsucw6HFuOKAmsOhxb7FoSkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiw6HFvsucw6HFvuKCrMOhxb7FocOhxb7CtsOi4oKs4oC5IiwgIsOhxb7igqzDocW+wrvDocW+y5zDocW44oCZw6HFvuKAlMOhxbjLhiIsICLDocW+y5zDocW+wrfDocW+4oCcw6HFvsK2w6LigqzigLkiLCAiw6HFvsucw6HFuMKBw6HFvsW4w6HFvsK2w6LigqzigLkiLCAiw6HFvsKnw6HFvsW4w6HFvuKAlMOhxb7CtsOi4oKs4oC5IiwgIsOhxb7LnMOhxb7Ct8Ohxb7CkMOhxb7Cu8Ohxb7igJzDocW+wrbDouKCrOKAuSIsICLDocW+4oKsw6HFvuKCrMOhxbjigJnDocW+4oKsw6HFvsWgw6HFvsK2w6LigqzigLkiLCAiw6HFvsW4w6HFvsK4w6HFviDDocW+wrbDouKCrOKAuSIsICLDocW+4oKsw6HFvuKAsMOhxbjigJnDocW+4oCww6HFvsK2w6LigqzigLkiLCAiw6HFvsKPw6HFvsK7w6HFvuKAusOhxb7CtsOi4oKs4oC5IiwgIsOhxb7Fk8Ohxb7Ct8Ohxb7igKbDocW44oCZw6HFvuKAoMOhxb7Ct8Ohxb7igqzDocW+wrYiLCAiw6HFvuKAmcOhxbjigJnDocW+4oCcw6HFvsK8w6LigqzigLkiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbIsOhxb7CosOhxb7CtsOhxb7igJjDocW+wrfDouKCrOKAuSIsICLDocW+4oCmw6HFuMKQw6HFvuKAnMOhxbjigJnDocW+4oCYw6LigqzigLkiLCAiw6HFvsKiw6HFvuKAnsOhxbjigJnDocW+4oCaw6HFvsK2w6HFvsWhw6LigqzigLkiLCAiw6HFvuKAk8Ohxb7Cu8Ohxb7igJnDouKCrOKAuSIsICLDocW+4oCTw6HFuOKAmcOhxb7FocOhxb4gw6LigqzigLnDouKCrOKAuSIsICLDocW+xbjDocW+wrvDocW+4oKsw6HFuOKAmcOhxb7FocOi4oKs4oC5IiwgIsOhxb7FuMOhxbjigKbDocW+xaHDocW4wo0iXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOhxb7CosOhxb7CtsOhxb7igJjDocW+wrfDocW+wo/DocW44oCZw6HFvuKEosOi4oKs4oC5IiwgIsOhxb7igKbDocW4wpDDocW+4oCcw6HFuOKAmcOhxb7igJjDouKCrOKAuSIsICLDocW+wqLDocW+4oCew6HFuOKAmcOhxb7igJrDocW+wrbDocW+xaHDouKCrOKAuSIsICLDocW+4oCTw6HFvsK7w6HFvuKAmcOi4oKs4oC5IiwgIsOhxb7igJPDocW44oCZw6HFvsWhw6HFviDDocW+xbjDocW44oCZw6HFvuKAncOhxb7Cj8Ohxb7Ct8OhxbjCjcOi4oKs4oC5IiwgIsOhxb7FuMOhxb7Cu8Ohxb7igqzDocW44oCZw6HFvsWhw6LigqzigLkiLCAiw6HFvsW4w6HFuOKApsOhxb7FocOhxbjCjSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBrcjogeyAvLyBLb3JlYW4KICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiMcOs4oC64oCdIiwgIjLDrOKAuuKAnSIsICIzw6zigLrigJ0iLCAiNMOs4oC64oCdIiwgIjXDrOKAuuKAnSIsICI2w6zigLrigJ0iLCAiN8Os4oC64oCdIiwgIjjDrOKAuuKAnSIsICI5w6zigLrigJ0iLCAiMTDDrOKAuuKAnSIsICIxMcOs4oC64oCdIiwgIjEyw6zigLrigJ0iCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw6zCncK8IiwgIsOs4oC64oCdIiwgIsOt4oSi4oCdIiwgIsOsy4bLnCIsICLDq8KqwqkiLCAiw6rCuMuGIiwgIsOt4oCgICIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOswp3CvMOsxaHigJ3DrMKdwrwiLCAiw6zigLrigJ3DrMWh4oCdw6zCncK8IiwgIsOt4oSi4oCdw6zFoeKAncOswp3CvCIsICLDrMuGy5zDrMWh4oCdw6zCncK8IiwgIsOrwqrCqcOsxaHigJ3DrMKdwrwiLCAiw6rCuMuGw6zFoeKAncOswp3CvCIsICLDreKAoCDDrMWh4oCdw6zCncK8Il0KICAgICAgICAgICB9LAogICAgICAgICAgIGl0OiB7IC8vIEl0YWxpYW4KICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiR2VubmFpbyIsICJGZWJicmFpbyIsICJNYXJ6byIsICJBcHJpbGUiLCAiTWFnZ2lvIiwgIkdpdWdubyIsICJMdWdsaW8iLCAiQWdvc3RvIiwgIlNldHRlbWJyZSIsICJPdHRvYnJlIiwgIk5vdmVtYnJlIiwgIkRpY2VtYnJlIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIkRvbSIsICJMdW4iLCAiTWFyIiwgIk1lciIsICJHaW8iLCAiVmVuIiwgIlNhYiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIkRvbWVuaWNhIiwgIkx1bmVkw4PCrCIsICJNYXJ0ZWTDg8KsIiwgIk1lcmNvbGVkw4PCrCIsICJHaW92ZWTDg8KsIiwgIlZlbmVyZMODwqwiLCAiU2FiYXRvIl0KICAgICAgICAgICB9LAogICAgICAgICAgIGRhOiB7IC8vIERhbnNrCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnVhciIsICJGZWJydWFyIiwgIk1hcnRzIiwgIkFwcmlsIiwgIk1haiIsICJKdW5pIiwgIkp1bGkiLCAiQXVndXN0IiwgIlNlcHRlbWJlciIsICJPa3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlY2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlPDg8K4biIsICJNYW4iLCAiVGlyIiwgIk9ucyIsICJUb3IiLCAiRnJlIiwgIkzDg8K4ciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbInPDg8K4bmRhZyIsICJtYW5kYWciLCAidGlyc2RhZyIsICJvbnNkYWciLCAidG9yc2RhZyIsICJmcmVkYWciLCAibMODwrhyZGFnIl0KICAgICAgICAgICB9LAogICAgICAgICAgIG5vOiB7IC8vIE5vcndlZ2lhbgogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW51YXIiLCAiRmVicnVhciIsICJNYXJzIiwgIkFwcmlsIiwgIk1haSIsICJKdW5pIiwgIkp1bGkiLCAiQXVndXN0IiwgIlNlcHRlbWJlciIsICJPa3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlc2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlPDg8K4biIsICJNYW4iLCAiVGlyIiwgIk9ucyIsICJUb3IiLCAiRnJlIiwgIkzDg8K4ciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbJ1PDg8K4bmRhZycsICdNYW5kYWcnLCAnVGlyc2RhZycsICdPbnNkYWcnLCAnVG9yc2RhZycsICdGcmVkYWcnLCAnTMODwrhyZGFnJ10KICAgICAgICAgICB9LAogICAgICAgICAgIGphOiB7IC8vIEphcGFuZXNlCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIjHDpsWTy4YiLCAiMsOmxZPLhiIsICIzw6bFk8uGIiwgIjTDpsWTy4YiLCAiNcOmxZPLhiIsICI2w6bFk8uGIiwgIjfDpsWTy4YiLCAiOMOmxZPLhiIsICI5w6bFk8uGIiwgIjEww6bFk8uGIiwgIjExw6bFk8uGIiwgIjEyw6bFk8uGIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIsOm4oCUwqUiLCAiw6bFk8uGIiwgIsOnwoHCqyIsICLDpsKwwrQiLCAiw6bFk8KoIiwgIsOp4oCh4oCYIiwgIsOlxZPFuCIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOm4oCUwqXDpuKAusWTIiwgIsOmxZPLhsOm4oC6xZMiLCAiw6fCgcKrw6bigLrFkyIsICLDpsKwwrTDpuKAusWTIiwgIsOmxZPCqMOm4oC6xZMiLCAiw6nigKHigJjDpuKAusWTIiwgIsOlxZPFuMOm4oC6xZMiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgdmk6IHsgLy8gVmlldG5hbWVzZQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJUaMODwqFuZyAxIiwgIlRow4PCoW5nIDIiLCAiVGjDg8KhbmcgMyIsICJUaMODwqFuZyA0IiwgIlRow4PCoW5nIDUiLCAiVGjDg8KhbmcgNiIsICJUaMODwqFuZyA3IiwgIlRow4PCoW5nIDgiLCAiVGjDg8KhbmcgOSIsICJUaMODwqFuZyAxMCIsICJUaMODwqFuZyAxMSIsICJUaMODwqFuZyAxMiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJDTiIsICJUMiIsICJUMyIsICJUNCIsICJUNSIsICJUNiIsICJUNyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIkNow6HCu8KnIG5ow6HCusKtdCIsICJUaMOhwrvCqSBoYWkiLCAiVGjDocK7wqkgYmEiLCAiVGjDocK7wqkgdMOGwrAiLCAiVGjDocK7wqkgbsOExpJtIiwgIlRow6HCu8KpIHPDg8KhdSIsICJUaMOhwrvCqSBiw6HCusKjeSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBzbDogeyAvLyBTbG92ZW7DhcKhw4TCjWluYQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW51YXIiLCAiRmVicnVhciIsICJNYXJlYyIsICJBcHJpbCIsICJNYWoiLCAiSnVuaWoiLCAiSnVsaWoiLCAiQXZndXN0IiwgIlNlcHRlbWJlciIsICJPa3RvYmVyIiwgIk5vdmVtYmVyIiwgIkRlY2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIk5lZCIsICJQb24iLCAiVG9yIiwgIlNyZSIsICLDhMWSZXQiLCAiUGV0IiwgIlNvYiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIk5lZGVsamEiLCAiUG9uZWRlbGplayIsICJUb3JlayIsICJTcmVkYSIsICLDhMWSZXRydGVrIiwgIlBldGVrIiwgIlNvYm90YSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBjczogeyAvLyDDhMWSZcOFwqF0aW5hCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkxlZGVuIiwgIsODxaFub3IiLCAiQsOF4oSiZXplbiIsICJEdWJlbiIsICJLdsOE4oC6dGVuIiwgIsOExZJlcnZlbiIsICLDhMWSZXJ2ZW5lYyIsICJTcnBlbiIsICJaw4PCocOF4oSiw4PCrSIsICLDhcucw4PCrWplbiIsICJMaXN0b3BhZCIsICJQcm9zaW5lYyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJOZSIsICJQbyIsICLDg8WhdCIsICJTdCIsICLDhMWSdCIsICJQw4PCoSIsICJTbyIKICAgICAgICAgICAgICAgXQogICAgICAgICAgIH0sCiAgICAgICAgICAgaHU6IHsgLy8gSHVuZ2FyaWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnXDg8KhciIsICJGZWJydcODwqFyIiwgIk3Dg8KhcmNpdXMiLCAiw4PCgXByaWxpcyIsICJNw4PCoWp1cyIsICJKw4PCum5pdXMiLCAiSsODwrpsaXVzIiwgIkF1Z3VzenR1cyIsICJTemVwdGVtYmVyIiwgIk9rdMODwrNiZXIiLCAiTm92ZW1iZXIiLCAiRGVjZW1iZXIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiVmEiLCAiSMODwqkiLCAiS2UiLCAiU3plIiwgIkNzIiwgIlDDg8KpIiwgIlN6byIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbInZhc8ODwqFybmFwIiwgImjDg8KpdGbDheKAmCIsICJrZWRkIiwgInN6ZXJkYSIsICJjc8ODwrx0w4PCtnJ0w4PCtmsiLCAicMODwqludGVrIiwgInN6b21iYXQiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgYXo6IHsgLy9BemVyYmFpamFuaWFuIChBemVyaSkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiWWFudmFyIiwgIkZldnJhbCIsICJNYXJ0IiwgIkFwcmVsIiwgIk1heSIsICJJeXVuIiwgIkl5dWwiLCAiQXZxdXN0IiwgIlNlbnR5YWJyIiwgIk9rdHlhYnIiLCAiTm95YWJyIiwgIkRla2FiciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJCIiwgIkJlIiwgIsOD4oChYSIsICLDg+KAoSIsICJDYSIsICJDIiwgIsOFxb4iCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJCYXphciIsICJCYXphciBlcnTDieKEonNpIiwgIsOD4oChw4nihKJyw4XFuMOJ4oSibmLDieKEoiBheMOFxbhhbcOEwrEiLCAiw4PigKHDieKEonLDhcW4w4nihKJuYsOJ4oSiIiwgIkPDg8K8bcOJ4oSiIGF4w4XFuGFtw4TCsSIsICJDw4PCvG3DieKEoiIsICLDhcW+w4nihKJuYsOJ4oSiIl0KICAgICAgICAgICB9LAogICAgICAgICAgIGJzOiB7IC8vQm9zYW5za2kKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFudWFyIiwgIkZlYnJ1YXIiLCAiTWFydCIsICJBcHJpbCIsICJNYWoiLCAiSnVuIiwgIkp1bCIsICJBdmd1c3QiLCAiU2VwdGVtYmFyIiwgIk9rdG9iYXIiLCAiTm92ZW1iYXIiLCAiRGVjZW1iYXIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiTmVkIiwgIlBvbiIsICJVdG8iLCAiU3JpIiwgIsOExZJldCIsICJQZXQiLCAiU3ViIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiTmVkamVsamEiLCJQb25lZGplbGphayIsICJVdG9yYWsiLCAiU3JpamVkYSIsICLDhMWSZXR2cnRhayIsICJQZXRhayIsICJTdWJvdGEiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgY2E6IHsgLy9DYXRhbMODIAogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJHZW5lciIsICJGZWJyZXIiLCAiTWFyw4PCpyIsICJBYnJpbCIsICJNYWlnIiwgIkp1bnkiLCAiSnVsaW9sIiwgIkFnb3N0IiwgIlNldGVtYnJlIiwgIk9jdHVicmUiLCAiTm92ZW1icmUiLCAiRGVzZW1icmUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiRGciLCAiRGwiLCAiRHQiLCAiRGMiLCAiRGoiLCAiRHYiLCAiRHMiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJEaXVtZW5nZSIsICJEaWxsdW5zIiwgIkRpbWFydHMiLCAiRGltZWNyZXMiLCAiRGlqb3VzIiwgIkRpdmVuZHJlcyIsICJEaXNzYWJ0ZSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICAnZW4tR0InOiB7IC8vRW5nbGlzaCAoQnJpdGlzaCkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFudWFyeSIsICJGZWJydWFyeSIsICJNYXJjaCIsICJBcHJpbCIsICJNYXkiLCAiSnVuZSIsICJKdWx5IiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2N0b2JlciIsICJOb3ZlbWJlciIsICJEZWNlbWJlciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJTdW4iLCAiTW9uIiwgIlR1ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJTdW5kYXkiLCAiTW9uZGF5IiwgIlR1ZXNkYXkiLCAiV2VkbmVzZGF5IiwgIlRodXJzZGF5IiwgIkZyaWRheSIsICJTYXR1cmRheSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBldDogeyAvLyJFZXN0aSIKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFhbnVhciIsICJWZWVicnVhciIsICJNw4PCpHJ0cyIsICJBcHJpbGwiLCAiTWFpIiwgIkp1dW5pIiwgIkp1dWxpIiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2t0b29iZXIiLCAiTm92ZW1iZXIiLCAiRGV0c2VtYmVyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIlAiLCAiRSIsICJUIiwgIksiLCAiTiIsICJSIiwgIkwiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJQw4PCvGhhcMODwqRldiIsICJFc21hc3DDg8KkZXYiLCAiVGVpc2lww4PCpGV2IiwgIktvbG1hcMODwqRldiIsICJOZWxqYXDDg8KkZXYiLCAiUmVlZGUiLCAiTGF1cMODwqRldiJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBldTogeyAvL0V1c2thcmEKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiVXJ0YXJyaWxhIiwgIk90c2FpbGEiLCAiTWFydHhvYSIsICJBcGlyaWxhIiwgIk1haWF0emEiLCAiRWthaW5hIiwgIlV6dGFpbGEiLCAiQWJ1enR1YSIsICJJcmFpbGEiLCAiVXJyaWEiLCAiQXphcm9hIiwgIkFiZW5kdWEiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiSWcuIiwgIkFsLiIsICJBci4iLCAiQXouIiwgIk9nLiIsICJPci4iLCAiTGEuIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsnSWdhbmRlYScsICdBc3RlbGVoZW5hJywgJ0FzdGVhcnRlYScsICdBc3RlYXprZW5hJywgJ09zdGVndW5hJywgJ09zdGlyYWxhJywgJ0xhcnVuYmF0YSddCiAgICAgICAgICAgfSwKICAgICAgICAgICBmaTogeyAvL0Zpbm5pc2ggKFN1b21pKQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJUYW1taWt1dSIsICJIZWxtaWt1dSIsICJNYWFsaXNrdXUiLCAiSHVodGlrdXUiLCAiVG91a29rdXUiLCAiS2Vzw4PCpGt1dSIsICJIZWluw4PCpGt1dSIsICJFbG9rdXUiLCAiU3l5c2t1dSIsICJMb2tha3V1IiwgIk1hcnJhc2t1dSIsICJKb3VsdWt1dSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJTdSIsICJNYSIsICJUaSIsICJLZSIsICJUbyIsICJQZSIsICJMYSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbInN1bm51bnRhaSIsICJtYWFuYW50YWkiLCAidGlpc3RhaSIsICJrZXNraXZpaWtrbyIsICJ0b3JzdGFpIiwgInBlcmphbnRhaSIsICJsYXVhbnRhaSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBnbDogeyAvL0dhbGVnbwogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJYYW4iLCAiRmViIiwgIk1heiIsICJBYnIiLCAiTWFpIiwgIlh1biIsICJYdWwiLCAiQWdvIiwgIlNldCIsICJPdXQiLCAiTm92IiwgIkRlYyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJEb20iLCAiTHVuIiwgIk1hciIsICJNZXIiLCAiWG92IiwgIlZlbiIsICJTYWIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJEb21pbmdvIiwgIkx1bnMiLCAiTWFydGVzIiwgIk3Dg8KpcmNvcmVzIiwgIlhvdmVzIiwgIlZlbnJlcyIsICJTw4PCoWJhZG8iXQogICAgICAgICAgIH0sCiAgICAgICAgICAgaHI6IHsgLy9IcnZhdHNraQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJTaWplw4TCjWFuaiIsICJWZWxqYcOEwo1hIiwgIk/DhcK+dWphayIsICJUcmF2YW5qIiwgIlN2aWJhbmoiLCAiTGlwYW5qIiwgIlNycGFuaiIsICJLb2xvdm96IiwgIlJ1amFuIiwgIkxpc3RvcGFkIiwgIlN0dWRlbmkiLCAiUHJvc2luYWMiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiTmVkIiwgIlBvbiIsICJVdG8iLCAiU3JpIiwgIsOExZJldCIsICJQZXQiLCAiU3ViIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiTmVkamVsamEiLCAiUG9uZWRqZWxqYWsiLCAiVXRvcmFrIiwgIlNyaWplZGEiLCAiw4TFkmV0dnJ0YWsiLCAiUGV0YWsiLCAiU3Vib3RhIl0KICAgICAgICAgICB9LAogICAgICAgICAgIGtvOiB7IC8vS29yZWFuICjDreKAosWTw6rCtcKtw6zigJPCtCkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiMcOs4oC64oCdIiwgIjLDrOKAuuKAnSIsICIzw6zigLrigJ0iLCAiNMOs4oC64oCdIiwgIjXDrOKAuuKAnSIsICI2w6zigLrigJ0iLCAiN8Os4oC64oCdIiwgIjjDrOKAuuKAnSIsICI5w6zigLrigJ0iLCAiMTDDrOKAuuKAnSIsICIxMcOs4oC64oCdIiwgIjEyw6zigLrigJ0iCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw6zCncK8IiwgIsOs4oC64oCdIiwgIsOt4oSi4oCdIiwgIsOsy4bLnCIsICLDq8KqwqkiLCAiw6rCuMuGIiwgIsOt4oCgICIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOswp3CvMOsxaHigJ3DrMKdwrwiLCAiw6zigLrigJ3DrMWh4oCdw6zCncK8IiwgIsOt4oSi4oCdw6zFoeKAncOswp3CvCIsICLDrMuGy5zDrMWh4oCdw6zCncK8IiwgIsOrwqrCqcOsxaHigJ3DrMKdwrwiLCAiw6rCuMuGw6zFoeKAncOswp3CvCIsICLDreKAoCDDrMWh4oCdw6zCncK8Il0KICAgICAgICAgICB9LAogICAgICAgICAgIGx0OiB7IC8vTGl0aHVhbmlhbiAobGlldHV2acOFwrMpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIlNhdXNpbyIsICJWYXNhcmlvIiwgIktvdm8iLCAiQmFsYW5kw4XCvmlvIiwgIkdlZ3XDhcK+w4TigJRzIiwgIkJpcsOFwr5lbGlvIiwgIkxpZXBvcyIsICJSdWdwasOFwqvDhMKNaW8iLCAiUnVnc8OE4oCUam8iLCAiU3BhbGlvIiwgIkxhcGtyacOEwo1pbyIsICJHcnVvZMOFwr5pbyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJTZWsiLCAiUGlyIiwgIkFudCIsICJUcmUiLCAiS2V0IiwgIlBlbiIsICLDhSBlw4XCoSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIlNla21hZGllbmlzIiwgIlBpcm1hZGllbmlzIiwgIkFudHJhZGllbmlzIiwgIlRyZcOEwo1pYWRpZW5pcyIsICJLZXR2aXJ0YWRpZW5pcyIsICJQZW5rdGFkaWVuaXMiLCAiw4UgZcOFwqF0YWRpZW5pcyJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBsdjogeyAvL0xhdHZpYW4gKExhdHZpZcOFwqF1KQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICJKYW52w4TCgXJpcyIsICJGZWJydcOEwoFyaXMiLCAiTWFydHMiLCAiQXByw4TCq2xpcyAiLCAiTWFpanMiLCAiSsOFwqtuaWpzIiwgIkrDhcKrbGlqcyIsICJBdWd1c3RzIiwgIlNlcHRlbWJyaXMiLCAiT2t0b2JyaXMiLCAiTm92ZW1icmlzIiwgIkRlY2VtYnJpcyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJTdiIsICJQciIsICJPdCIsICJUciIsICJDdCIsICJQayIsICJTdCIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIlN2w4TigJx0ZGllbmEiLCAiUGlybWRpZW5hIiwgIk90cmRpZW5hIiwgIlRyZcOFwqFkaWVuYSIsICJDZXR1cnRkaWVuYSIsICJQaWVrdGRpZW5hIiwgIlNlc3RkaWVuYSJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBtazogeyAvL01hY2Vkb25pYW4gKMOQxZPDkMKww5DCusOQwrXDkMK0w5DCvsOQwr3DkcKBw5DCusOQwrgpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIsORy5zDkMKww5DCvcORxpLDkMKww5HigqzDkMK4IiwgIsOR4oCew5DCtcOQwrLDkeKCrMORxpLDkMKww5HigqzDkMK4IiwgIsOQwrzDkMKww5HigqzDkeKAmiIsICLDkMKww5DCv8OR4oKsw5DCuMOQwrsiLCAiw5DCvMOQwrDDkcucIiwgIsORy5zDkcaSw5DCvcOQwrgiLCAiw5HLnMORxpLDkMK7w5DCuCIsICLDkMKww5DCssOQwrPDkcaSw5HCgcOR4oCaIiwgIsORwoHDkMK1w5DCv8OR4oCaw5DCtcOQwrzDkMKyw5HigqzDkMK4IiwgIsOQwr7DkMK6w5HigJrDkMK+w5DCvMOQwrLDkeKCrMOQwrgiLCAiw5DCvcOQwr7DkMK1w5DCvMOQwrLDkeKCrMOQwrgiLCAiw5DCtMOQwrXDkMK6w5DCtcOQwrzDkMKyw5HigqzDkMK4IgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIsOQwr3DkMK1w5DCtCIsICLDkMK/w5DCvsOQwr0iLCAiw5DCssOR4oCaw5DCviIsICLDkcKBw5HigqzDkMK1IiwgIsOR4oChw5DCtcOR4oCaIiwgIsOQwr/DkMK1w5HigJoiLCAiw5HCgcOQwrDDkMKxIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiw5DCncOQwrXDkMK0w5DCtcOQwrvDkMKwIiwgIsOQxbjDkMK+w5DCvcOQwrXDkMK0w5DCtcOQwrvDkMK9w5DCuMOQwroiLCAiw5DigJnDkeKAmsOQwr7DkeKCrMOQwr3DkMK4w5DCuiIsICLDkMKhw5HigqzDkMK1w5DCtMOQwrAiLCAiw5DCp8OQwrXDkeKAmsOQwrLDkeKCrMOR4oCaw5DCvsOQwroiLCAiw5DFuMOQwrXDkeKAmsOQwr7DkMK6IiwgIsOQwqHDkMKww5DCscOQwr7DkeKAmsOQwrAiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgbW46IHsgLy9Nb25nb2xpYW4gKMOQxZPDkMK+w5DCvcOQwrPDkMK+w5DCuykKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiMS3DkeKCrCDDkcKBw5DCsMOR4oKsIiwgIjItw5Higqwgw5HCgcOQwrDDkeKCrCIsICIzLcOR4oKsIMORwoHDkMKww5HigqwiLCAiNC3DkeKCrCDDkcKBw5DCsMOR4oKsIiwgIjUtw5Higqwgw5HCgcOQwrDDkeKCrCIsICI2LcOR4oKsIMORwoHDkMKww5HigqwiLCAiNy3DkeKCrCDDkcKBw5DCsMOR4oKsIiwgIjgtw5Higqwgw5HCgcOQwrDDkeKCrCIsICI5LcOR4oKsIMORwoHDkMKww5HigqwiLCAiMTAtw5Higqwgw5HCgcOQwrDDkeKCrCIsICIxMS3DkeKCrCDDkcKBw5DCsMOR4oKsIiwgIjEyLcOR4oKsIMORwoHDkMKww5HigqwiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw5DigJ3DkMKww5DCsiIsICLDkMWTw5HCj8OQwrMiLCAiw5DigLrDkeKApsOQwrAiLCAiw5DFuMOSwq/DkeKCrCIsICLDkOKAmMORwoHDkMK9IiwgIsOQ4oCYw5HCj8OQwrwiLCAiw5DCncORwo/DkMK8IgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiw5DigJ3DkMKww5DCssOQwrDDkMKwIiwgIsOQxZPDkcKPw5DCs8OQwrzDkMKww5HigqwiLCAiw5DigLrDkeKApsOQwrDDkMKzw5DCssOQwrAiLCAiw5DFuMOSwq/DkeKCrMORwo3DkMKyIiwgIsOQ4oCYw5DCsMOQwrDDkcKBw5DCsMOQwr0iLCAiw5DigJjDkcKPw5DCvMOQwrHDkMKwIiwgIsOQwp3DkcKPw5DCvCJdCiAgICAgICAgICAgfSwKICAgICAgICAgICAncHQtQlInOiB7IC8vUG9ydHVndcODwqpzKEJyYXNpbCkKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFuZWlybyIsICJGZXZlcmVpcm8iLCAiTWFyw4PCp28iLCAiQWJyaWwiLCAiTWFpbyIsICJKdW5obyIsICJKdWxobyIsICJBZ29zdG8iLCAiU2V0ZW1icm8iLCAiT3V0dWJybyIsICJOb3ZlbWJybyIsICJEZXplbWJybyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJEb20iLCAiU2VnIiwgIlRlciIsICJRdWEiLCAiUXVpIiwgIlNleCIsICJTw4PCoWIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJEb21pbmdvIiwgIlNlZ3VuZGEiLCAiVGVyw4PCp2EiLCAiUXVhcnRhIiwgIlF1aW50YSIsICJTZXh0YSIsICJTw4PCoWJhZG8iXQogICAgICAgICAgIH0sCiAgICAgICAgICAgc2s6IHsgLy9TbG92ZW7DhMKNaW5hCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnXDg8KhciIsICJGZWJydcODwqFyIiwgIk1hcmVjIiwgIkFwcsODwq1sIiwgIk3Dg8KhaiIsICJKw4PCum4iLCAiSsODwrpsIiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2t0w4PCs2JlciIsICJOb3ZlbWJlciIsICJEZWNlbWJlciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJOZSIsICJQbyIsICJVdCIsICJTdCIsICLDhSB0IiwgIlBpIiwgIlNvIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiTmVkZcOEwr5hIiwgIlBvbmRlbG9rIiwgIlV0b3JvayIsICJTdHJlZGEiLCAiw4UgdHZydG9rIiwgIlBpYXRvayIsICJTb2JvdGEiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgc3E6IHsgLy9BbGJhbmlhbiAoU2hxaXApCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbmFyIiwgIlNoa3VydCIsICJNYXJzIiwgIlByaWxsIiwgIk1haiIsICJRZXJzaG9yIiwgIktvcnJpayIsICJHdXNodCIsICJTaHRhdG9yIiwgIlRldG9yIiwgIk7Dg8KrbnRvciIsICJEaGpldG9yIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIkRpZSIsICJIw4PCq24iLCAiTWFyIiwgIk3Dg8KrciIsICJFbmoiLCAiUHJlIiwgIlNodHUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJFIERpZWwiLCAiRSBIw4PCq27Dg8KrIiwgIkUgTWFydMOE4oCcIiwgIkUgTcODwqtya3Vyw4PCqyIsICJFIEVuanRlIiwgIkUgUHJlbXRlIiwgIkUgU2h0dW7Dg8KrIl0KICAgICAgICAgICB9LAogICAgICAgICAgICdzci1ZVSc6IHsgLy9TZXJiaWFuIChTcnBza2kpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIkphbnVhciIsICJGZWJydWFyIiwgIk1hcnQiLCAiQXByaWwiLCAiTWFqIiwgIkp1biIsICJKdWwiLCAiQXZndXN0IiwgIlNlcHRlbWJhciIsICJPa3RvYmFyIiwgIk5vdmVtYmFyIiwgIkRlY2VtYmFyIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWtTaG9ydDogWwogICAgICAgICAgICAgICAgICAgIk5lZCIsICJQb24iLCAiVXRvIiwgIlNyZSIsICLDhMKNZXQiLCAiUGV0IiwgIlN1YiIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIk5lZGVsamEiLCJQb25lZGVsamFrIiwgIlV0b3JhayIsICJTcmVkYSIsICLDhMWSZXR2cnRhayIsICJQZXRhayIsICJTdWJvdGEiXQogICAgICAgICAgIH0sCiAgICAgICAgICAgc3I6IHsgLy9TZXJiaWFuIEN5cmlsbGljICjDkMKhw5HigqzDkMK/w5HCgcOQwrrDkMK4KQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICLDkcucw5DCsMOQwr3DkcaSw5DCsMOR4oKsIiwgIsOR4oCew5DCtcOQwrHDkeKCrMORxpLDkMKww5HigqwiLCAiw5DCvMOQwrDDkeKCrMOR4oCaIiwgIsOQwrDDkMK/w5HigqzDkMK4w5DCuyIsICLDkMK8w5DCsMORy5wiLCAiw5HLnMORxpLDkMK9IiwgIsORy5zDkcaSw5DCuyIsICLDkMKww5DCssOQwrPDkcaSw5HCgcOR4oCaIiwgIsORwoHDkMK1w5DCv8OR4oCaw5DCtcOQwrzDkMKxw5DCsMOR4oKsIiwgIsOQwr7DkMK6w5HigJrDkMK+w5DCscOQwrDDkeKCrCIsICLDkMK9w5DCvsOQwrLDkMK1w5DCvMOQwrHDkMKww5HigqwiLCAiw5DCtMOQwrXDkeKAoMOQwrXDkMK8w5DCscOQwrDDkeKCrCIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICLDkMK9w5DCtcOQwrQiLCAiw5DCv8OQwr7DkMK9IiwgIsORxpLDkeKAmsOQwr4iLCAiw5HCgcOR4oKsw5DCtSIsICLDkeKAocOQwrXDkeKAmiIsICLDkMK/w5DCtcOR4oCaIiwgIsORwoHDkcaSw5DCsSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOQwp3DkMK1w5DCtMOQwrXDkeKEosOQwrAiLCLDkMW4w5DCvsOQwr3DkMK1w5DCtMOQwrXDkeKEosOQwrDDkMK6IiwgIsOQwqPDkeKAmsOQwr7DkeKCrMOQwrDDkMK6IiwgIsOQwqHDkeKCrMOQwrXDkMK0w5DCsCIsICLDkMKnw5DCtcOR4oCaw5DCssOR4oKsw5HigJrDkMKww5DCuiIsICLDkMW4w5DCtcOR4oCaw5DCsMOQwroiLCAiw5DCocORxpLDkMKxw5DCvsOR4oCaw5DCsCJdCiAgICAgICAgICAgfSwKICAgICAgICAgICBzdjogeyAvL1N2ZW5za2EKICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAiSmFudWFyaSIsICJGZWJydWFyaSIsICJNYXJzIiwgIkFwcmlsIiwgIk1haiIsICJKdW5pIiwgIkp1bGkiLCAiQXVndXN0aSIsICJTZXB0ZW1iZXIiLCAiT2t0b2JlciIsICJOb3ZlbWJlciIsICJEZWNlbWJlciIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICJTw4PCtm4iLCAiTcODwqVuIiwgIlRpcyIsICJPbnMiLCAiVG9yIiwgIkZyZSIsICJMw4PCtnIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyJTw4PCtm5kYWciLCAiTcODwqVuZGFnIiwgIlRpc2RhZyIsICJPbnNkYWciLCAiVG9yc2RhZyIsICJGcmVkYWciLCAiTMODwrZyZGFnIl0KICAgICAgICAgICB9LAogICAgICAgICAgICd6aC1UVyc6IHsgLy9UcmFkaXRpb25hbCBDaGluZXNlICjDp8K5woHDqcKr4oCdw6TCuMKtw6bigJPigKEpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIsOkwrjigqzDpsWTy4YiLCAiw6TCusWSw6bFk8uGIiwgIsOkwrjigLDDpsWTy4YiLCAiw6XigLrigLrDpsWTy4YiLCAiw6TCuuKAncOmxZPLhiIsICLDpeKApsKtw6bFk8uGIiwgIsOkwrjGksOmxZPLhiIsICLDpeKApsKrw6bFk8uGIiwgIsOkwrnCncOmxZPLhiIsICLDpcKNwoHDpsWTy4YiLCAiw6XCjcKBw6TCuOKCrMOmxZPLhiIsICLDpcKNwoHDpMK6xZLDpsWTy4YiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw6bigJTCpSIsICLDpMK44oKsIiwgIsOkwrrFkiIsICLDpMK44oCwIiwgIsOl4oC64oC6IiwgIsOkwrrigJ0iLCAiw6XigKbCrSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOmy5zFuMOmxZPFuMOm4oCUwqUiLCAiw6bLnMW4w6bFk8W4w6TCuOKCrCIsICLDpsucxbjDpsWTxbjDpMK6xZIiLCAiw6bLnMW4w6bFk8W4w6TCuOKAsCIsICLDpsucxbjDpsWTxbjDpeKAuuKAuiIsICLDpsucxbjDpsWTxbjDpMK64oCdIiwgIsOmy5zFuMOmxZPFuMOl4oCmwq0iXQogICAgICAgICAgIH0sCiAgICAgICAgICAgemg6IHsgLy9TaW1wbGlmaWVkIENoaW5lc2UgKMOnwq7igqzDpMK94oCcw6TCuMKtw6bigJPigKEpCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIsOkwrjigqzDpsWTy4YiLCAiw6TCusWSw6bFk8uGIiwgIsOkwrjigLDDpsWTy4YiLCAiw6XigLrigLrDpsWTy4YiLCAiw6TCuuKAncOmxZPLhiIsICLDpeKApsKtw6bFk8uGIiwgIsOkwrjGksOmxZPLhiIsICLDpeKApsKrw6bFk8uGIiwgIsOkwrnCncOmxZPLhiIsICLDpcKNwoHDpsWTy4YiLCAiw6XCjcKBw6TCuOKCrMOmxZPLhiIsICLDpcKNwoHDpMK6xZLDpsWTy4YiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw6bigJTCpSIsICLDpMK44oKsIiwgIsOkwrrFkiIsICLDpMK44oCwIiwgIsOl4oC64oC6IiwgIsOkwrrigJ0iLCAiw6XigKbCrSIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbIsOmy5zFuMOmxZPFuMOm4oCUwqUiLCAiw6bLnMW4w6bFk8W4w6TCuOKCrCIsICLDpsucxbjDpsWTxbjDpMK6xZIiLCAiw6bLnMW4w6bFk8W4w6TCuOKAsCIsICLDpsucxbjDpsWTxbjDpeKAuuKAuiIsICLDpsucxbjDpsWTxbjDpMK64oCdIiwgIsOmy5zFuMOmxZPFuMOl4oCmwq0iXQogICAgICAgICAgIH0sCiAgICAgICAgICAgdWc6eyAvLyBVeWdodXIow5jCpsOb4oChw5nFoMOYwrrDm+KAocOYwrHDmuKAoMOb4oCiKQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICIxLcOYwqbDmMKnw5nFoCIsIjItw5jCpsOYwqfDmcWgIiwiMy3DmMKmw5jCp8OZxaAiLCI0LcOYwqbDmMKnw5nFoCIsIjUtw5jCpsOYwqfDmcWgIiwiNi3DmMKmw5jCp8OZxaAiLCI3LcOYwqbDmMKnw5nFoCIsIjgtw5jCpsOYwqfDmcWgIiwiOS3DmMKmw5jCp8OZxaAiLCIxMC3DmMKmw5jCp8OZxaAiLCIxMS3DmMKmw5jCp8OZxaAiLCIxMi3DmMKmw5jCp8OZxaAiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWwogICAgICAgICAgICAgICAgICAgIsOZxaDDm+KAosOZxpLDmMK0w5vigKLDmeKAoMOYwqjDm+KAoiIsICLDmMKvw5vLhsOYwrTDm+KAosOZ4oCgw5jCqMOb4oCiIiwiw5jCs8Ob4oCiw5nFoMOYwrTDm+KAosOZ4oCgw5jCqMOb4oCiIiwiw5rigKDDmMKnw5jCscOYwrTDm+KAosOZ4oCgw5jCqMOb4oCiIiwiw5nCvsOb4oCiw5nFoMOYwrTDm+KAosOZ4oCgw5jCqMOb4oCiIiwiw5jCrMOby4bDmeKApsOb4oCiIiwiw5jCtMOb4oCiw5nigKDDmMKow5vigKIiCiAgICAgICAgICAgICAgIF0KICAgICAgICAgICB9LAogICAgICAgICAgIGhlOiB7IC8vSGVicmV3ICjDl8Kiw5figJjDl8Kow5fihKLDl8KqKQogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICfDl+KEosOXIMOX4oCiw5fCkMOXwqgnLCAnw5fCpMOX4oCYw5fCqMOX4oCiw5fCkMOXwqgnLCAnw5fFvsOXwqjDl8KlJywgJ8OXwpDDl8Kkw5fCqMOX4oSiw5fFkycsICfDl8W+w5fCkMOX4oSiJywgJ8OX4oSiw5figKLDlyDDl+KEoicsICfDl+KEosOX4oCiw5fFk8OX4oSiJywgJ8OXwpDDl+KAosOX4oCZw5figKLDl8Khw5fLnCcsICfDl8Khw5fCpMOXy5zDl8W+w5figJjDl8KoJywgJ8OXwpDDl+KAosOXwqfDl8ucw5figKLDl+KAmMOXwqgnLCAnw5cgw5figKLDl+KAmMOXxb7Dl+KAmMOXwqgnLCAnw5figJzDl8Kmw5fFvsOX4oCYw5fCqCcKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICfDl8KQXCcnLCAnw5figJhcJycsICfDl+KAmVwnJywgJ8OX4oCcXCcnLCAnw5figJ1cJycsICfDl+KAolwnJywgJ8OXwqnDl+KAmMOXwqonCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyLDl8Kow5fCkMOXwqnDl+KAosOXxbgiLCAiw5fCqcOXIMOX4oSiIiwgIsOXwqnDl8WTw5fihKLDl8Kpw5fihKIiLCAiw5fCqMOX4oCYw5fihKLDl8Kiw5fihKIiLCAiw5figJTDl8W+w5fihKLDl8Kpw5fihKIiLCAiw5fCqcOX4oSiw5fCqcOX4oSiIiwgIsOXwqnDl+KAmMOXwqoiLCAiw5fCqMOXwpDDl8Kpw5figKLDl8W4Il0KICAgICAgICAgICB9LAogICAgICAgICAgIGh5OiB7IC8vIEFybWVuaWFuCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIsOV4oKsw5XCuMOW4oCaw5XCtsOVwr7DlcKhw5bigqwiLCAiw5XigJzDlcKlw5XCv8OW4oKsw5XCvsOVwqHDluKCrCIsICLDleKAnsOVwqHDluKCrMOVwr8iLCAiw5TCscOVwrrDluKCrMOVwqvDlcKsIiwgIsOV4oCew5XCocOVwrXDlcKrw5XCvSIsICLDleKCrMOVwrjDluKAmsOVwrbDlcKrw5XCvSIsICLDleKCrMOVwrjDluKAmsOVwqzDlcKrw5XCvSIsICLDleKAosOVwqPDlcK4w5XCvcOVwr/DlcK4w5XCvSIsICLDlcKNw5XCpcOVwrrDlcK/w5XCpcOVwrTDlcKiw5XCpcOW4oKsIiwgIsOV4oKsw5XCuMOVwq/DlcK/w5XCpcOVwrTDlcKiw5XCpcOW4oKsIiwgIsOV4oCgw5XCuMOVwrXDlcKlw5XCtMOVwqLDlcKlw5bigqwiLCAiw5TCtMOVwqXDlcKvw5XCv8OVwqXDlcK0w5XCosOVwqXDluKCrCIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICLDlMK/w5XCqyIsICLDlMK1w5bigqzDlcKvIiwgIsOUwrXDluKCrMOW4oCeIiwgIsOV4oCww5XCuMOW4oKsIiwgIsOV4oKsw5XCtsOVwqMiLCAiw5XLhsOW4oCaw5bigqzDlcKiIiwgIsOV4oChw5XCosOVwqkiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWyLDlMK/w5XCq8OW4oKsw5XCocOVwq/DlcKrIiwgIsOUwrXDluKCrMOVwq/DlcK4w5bigJrDlcK3w5XCocOVwqLDlcKpw5XCqyIsICLDlMK1w5bigqzDlcKlw5bigJ7DlcK3w5XCocOVwqLDlcKpw5XCqyIsICLDleKAsMOVwrjDluKCrMOVwqXDluKAnsOVwrfDlcKhw5XCosOVwqnDlcKrIiwgIsOV4oKsw5XCq8OVwrbDlcKjw5XCt8OVwqHDlcKiw5XCqcOVwqsiLCAiw5XLhsOW4oCaw5bigqzDlcKiw5XCocOVwqkiLCAiw5XigKHDlcKhw5XCosOVwqHDlcKpIl0KICAgICAgICAgICB9LAogICAgICAgICAgIGtnOiB7IC8vIEt5cmd5egogICAgICAgICAgICAgICBtb250aHM6IFsKICAgICAgICAgICAgICAgICAgICfDksKuw5HigKHDkeKAmsOSwq/DkMK9IMOQwrDDkMK5w5HigLknLCAnw5DigJjDkMK4w5HigqzDkMK0w5DCuMOQwr0gw5DCsMOQwrnDkeKAuScsICfDkOKAk8OQwrDDkMK7w5DCs8OQwrDDkMK9IMOQxaHDkcaSw5HigqzDkMKww5DCvScsICfDkMKnw5HigLnDkMK9IMOQxaHDkcaSw5HigqzDkMKww5DCvScsICfDkOKAmMORxpLDkMKzw5HGkicsICfDkMWhw5HGksOQwrvDkMK2w5DCsCcsICfDkMKiw5DCtcOQwrrDkMK1JywgJ8OQ4oCYw5DCsMORy4Ygw5DFvsOQwr7DkMK9w5DCsCcsICfDkMKQw5HCj8OQwrogw5DFvsOQwr7DkMK9w5DCsCcsICfDkMKiw5DCvsOQwrPDkcaSw5DCt8OQwrTDkcaSw5DCvSDDkMKww5DCucOR4oC5JywgJ8OQ4oCTw5DCtcOR4oCaw5DCuMOQwr3DkMK4w5DCvSDDkMKww5DCucOR4oC5JywgJ8OQ4oCYw5DCtcORy4bDkeKAmsOQwrjDkMK9IMOQwrDDkMK5w5HigLknCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiw5DigJPDkMK1w5DCuiIsICLDkOKAncOSwq/DkMK5IiwgIsOQwqjDkMK1w5DCuSIsICLDkMKow5DCsMOR4oKsIiwgIsOQ4oCYw5DCtcOQwrkiLCAiw5DigJPDkcaSw5DCvCIsICLDkMucw5HLhsOQwrUiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2VlazogWwogICAgICAgICAgICAgICAgICAgIsOQ4oCTw5DCtcOQwrrDkcuGw5DCtcOQwrzDkMKxIiwgIsOQ4oCdw5LCr8OQwrnDkcuGw5PCqcOQwrzDkMKxIiwgIsOQwqjDkMK1w5DCucORy4bDkMK1w5DCvMOQwrEiLCAiw5DCqMOQwrDDkeKCrMORy4bDkMK1w5DCvMOQwrEiLCAiw5DigJjDkMK1w5DCucORy4bDkMK1w5DCvMOQwrHDkMK4IiwgIsOQ4oCTw5HGksOQwrzDkMKwIiwgIsOQy5zDkcuGw5DCtcOQwr3DkMKxIgogICAgICAgICAgICAgICBdCiAgICAgICAgICAgfSwKICAgICAgICAgICBybTogeyAvLyBSb21hbnNoCiAgICAgICAgICAgICAgIG1vbnRoczogWwogICAgICAgICAgICAgICAgICAgIlNjaGFuZXIiLCAiRmF2cmVyIiwgIk1hcnMiLCAiQXZyaWdsIiwgIk1hdGciLCAiWmVyY2xhZHVyIiwgIkZhbmFkdXIiLCAiQXZ1c3QiLCAiU2V0dGVtYmVyIiwgIk9jdG9iZXIiLCAiTm92ZW1iZXIiLCAiRGVjZW1iZXIiCiAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIGRheU9mV2Vla1Nob3J0OiBbCiAgICAgICAgICAgICAgICAgICAiRHUiLCAiR2xpIiwgIk1hIiwgIk1lIiwgIkdpZSIsICJWZSIsICJTbyIKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrOiBbCiAgICAgICAgICAgICAgICAgICAiRHVtZW5naWEiLCAiR2xpbmRlc2RpIiwgIk1hcmRpIiwgIk1lc2VtbmEiLCAiR2lldmdpYSIsICJWZW5kZXJkaSIsICJTb25kYSIKICAgICAgICAgICAgICAgXQogICAgICAgICAgIH0sCiAgICAgICAgICAga2E6IHsgLy8gR2VvcmdpYW4KICAgICAgICAgICAgICAgbW9udGhzOiBbCiAgICAgICAgICAgICAgICAgICAnw6HGksucw6HGksKQw6HGksWTw6HGkuKAosOhxpLCkMOhxpIgw6HGksucJywgJ8OhxpLigJTDocaS4oCdw6HGkuKAmMOhxpLigJ3DocaSIMOhxpLigKLDocaSwpDDocaSxaHDocaSy5wnLCAnw6HGkuKAusOhxpLCkMOhxpIgw6HGksKiw6HGksucJywgJ8OhxpLCkMOhxpLFvsOhxpIgw6HGksucw6HGksWhw6HGksucJywgJ8OhxpLigLrDocaSwpDDocaSy5zDocaSwqHDocaSy5wnLCAnw6HGksucw6HGkuKAosOhxpLFk8OhxpLLnMOhxpLCocOhxpLLnCcsICfDocaSy5zDocaS4oCiw6HGksWhw6HGksucw6HGksKhw6HGksucJywgJ8OhxpLCkMOhxpLigJnDocaS4oCiw6HGksucw6HGksKhw6HGksKiw6HGksKdJywgJ8OhxpLCocOhxpLigJ3DocaSwqXDocaSwqLDocaS4oCdw6HGkuKAusOhxpLigJjDocaS4oCdw6HGkiDDocaSy5wnLCAnw6HGksKdw6HGksKlw6HGksKiw6HGksKdw6HGkuKAusOhxpLigJjDocaS4oCdw6HGkiDDocaSy5wnLCAnw6HGksWTw6HGksKdw6HGkuKAncOhxpLigLrDocaS4oCYw6HGkuKAncOhxpIgw6HGksucJywgJ8OhxpLigJzDocaS4oCdw6HGkuKEosOhxpLigJ3DocaS4oC6w6HGkuKAmMOhxpLigJ3DocaSIMOhxpLLnCcKICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgZGF5T2ZXZWVrU2hvcnQ6IFsKICAgICAgICAgICAgICAgICAgICLDocaS4oSiw6HGkuKAoiIsICLDocaSwp3DocaSIMOhxpLCqCIsICLDocaSwqHDocaSwpDDocaS4oC6w6HGksKoIiwgIsOhxpLCncOhxpLigJTDocaSwq4iLCAiw6HGksKuw6HGksKjw6HGkuKAlCIsICLDocaSxb7DocaSwpDDocaSICIsICLDocaSwqjDocaSwpDDocaS4oCYIgogICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICBkYXlPZldlZWs6IFsiw6HGkuKEosOhxpLigKLDocaSy5zDocaSIMOhxpLCkCIsICLDocaSwp3DocaSIMOhxpLCqMOhxpLCkMOhxpLigJjDocaSwpDDocaS4oCUw6HGksucIiwgIsOhxpLCocOhxpLCkMOhxpLigLrDocaSwqjDocaSwpDDocaS4oCYw6HGksKQw6HGkuKAlMOhxpLLnCIsICLDocaSwp3DocaS4oCUw6HGksKuw6HGksKow6HGksKQw6HGkuKAmMOhxpLCkMOhxpLigJTDocaSy5wiLCAiw6HGksKuw6HGksKjw6HGkuKAlMOhxpLCqMOhxpLCkMOhxpLigJjDocaSwpDDocaS4oCUw6HGksucIiwgIsOhxpLFvsOhxpLCkMOhxpIgw6HGksKQw6HGksKhw6HGkuKEosOhxpLigJ3DocaS4oCiw6HGksucIiwgIsOhxpLCqMOhxpLCkMOhxpLigJjDocaSwpDDocaS4oCUw6HGksucIl0KICAgICAgICAgICB9CiAgICAgICB9LAoKICAgICAgIG93bmVyRG9jdW1lbnQ6IGRvY3VtZW50LAogICAgICAgY29udGVudFdpbmRvdzogd2luZG93LAoKICAgICAgIHZhbHVlOiAnJywKICAgICAgIHJ0bDogZmFsc2UsCgogICAgICAgZm9ybWF0OgknWS9tL2QgSDppJywKICAgICAgIGZvcm1hdFRpbWU6CSdIOmknLAogICAgICAgZm9ybWF0RGF0ZToJJ1kvbS9kJywKCiAgICAgICBzdGFydERhdGU6CWZhbHNlLCAvLyBuZXcgRGF0ZSgpLCAnMTk4Ni8xMi8wOCcsICctMTk3MC8wMS8wNScsJy0xOTcwLzAxLzA1JywKICAgICAgIHN0ZXA6IDYwLAogICAgICAgbW9udGhDaGFuZ2VTcGlubmVyOiB0cnVlLAoKICAgICAgIGNsb3NlT25EYXRlU2VsZWN0OiBmYWxzZSwKICAgICAgIGNsb3NlT25UaW1lU2VsZWN0OiB0cnVlLAogICAgICAgY2xvc2VPbldpdGhvdXRDbGljazogdHJ1ZSwKICAgICAgIGNsb3NlT25JbnB1dENsaWNrOiB0cnVlLAogICAgICAgb3Blbk9uRm9jdXM6IHRydWUsCgogICAgICAgdGltZXBpY2tlcjogdHJ1ZSwKICAgICAgIGRhdGVwaWNrZXI6IHRydWUsCiAgICAgICB3ZWVrczogZmFsc2UsCgogICAgICAgZGVmYXVsdFRpbWU6IGZhbHNlLAkvLyB1c2UgZm9ybWF0VGltZSBmb3JtYXQgKGV4LiAnMTA6MDAnIGZvciBmb3JtYXRUaW1lOgknSDppJykKICAgICAgIGRlZmF1bHREYXRlOiBmYWxzZSwJLy8gdXNlIGZvcm1hdERhdGUgZm9ybWF0IChleCBuZXcgRGF0ZSgpIG9yICcxOTg2LzEyLzA4JyBvciAnLTE5NzAvMDEvMDUnIG9yICctMTk3MC8wMS8wNScpCgogICAgICAgbWluRGF0ZTogZmFsc2UsCiAgICAgICBtYXhEYXRlOiBmYWxzZSwKICAgICAgIG1pblRpbWU6IGZhbHNlLAogICAgICAgbWF4VGltZTogZmFsc2UsCiAgICAgICBtaW5EYXRlVGltZTogZmFsc2UsCiAgICAgICBtYXhEYXRlVGltZTogZmFsc2UsCgogICAgICAgYWxsb3dUaW1lczogW10sCiAgICAgICBvcGVuZWQ6IGZhbHNlLAogICAgICAgaW5pdFRpbWU6IHRydWUsCiAgICAgICBpbmxpbmU6IGZhbHNlLAogICAgICAgdGhlbWU6ICcnLAogICAgICAgdG91Y2hNb3ZlZFRocmVzaG9sZDogNSwKCiAgICAgICBvblNlbGVjdERhdGU6IGZ1bmN0aW9uICgpIHt9LAogICAgICAgb25TZWxlY3RUaW1lOiBmdW5jdGlvbiAoKSB7fSwKICAgICAgIG9uQ2hhbmdlTW9udGg6IGZ1bmN0aW9uICgpIHt9LAogICAgICAgb25HZXRXZWVrT2ZZZWFyOiBmdW5jdGlvbiAoKSB7fSwKICAgICAgIG9uQ2hhbmdlWWVhcjogZnVuY3Rpb24gKCkge30sCiAgICAgICBvbkNoYW5nZURhdGVUaW1lOiBmdW5jdGlvbiAoKSB7fSwKICAgICAgIG9uU2hvdzogZnVuY3Rpb24gKCkge30sCiAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoKSB7fSwKICAgICAgIG9uR2VuZXJhdGU6IGZ1bmN0aW9uICgpIHt9LAoKICAgICAgIHdpdGhvdXRDb3B5cmlnaHQ6IHRydWUsCiAgICAgICBpbnZlcnNlQnV0dG9uOiBmYWxzZSwKICAgICAgIGhvdXJzMTI6IGZhbHNlLAogICAgICAgbmV4dDogJ3hkc29mdF9uZXh0JywKICAgICAgIHByZXYgOiAneGRzb2Z0X3ByZXYnLAogICAgICAgZGF5T2ZXZWVrU3RhcnQ6IDAsCiAgICAgICBwYXJlbnRJRDogJ2JvZHknLAogICAgICAgdGltZUhlaWdodEluVGltZVBpY2tlcjogMjUsCiAgICAgICB0aW1lcGlja2VyU2Nyb2xsYmFyOiB0cnVlLAogICAgICAgdG9kYXlCdXR0b246IHRydWUsCiAgICAgICBwcmV2QnV0dG9uOiB0cnVlLAogICAgICAgbmV4dEJ1dHRvbjogdHJ1ZSwKICAgICAgIGRlZmF1bHRTZWxlY3Q6IHRydWUsCgogICAgICAgc2Nyb2xsTW9udGg6IHRydWUsCiAgICAgICBzY3JvbGxUaW1lOiB0cnVlLAogICAgICAgc2Nyb2xsSW5wdXQ6IHRydWUsCgogICAgICAgbGF6eUluaXQ6IGZhbHNlLAogICAgICAgbWFzazogZmFsc2UsCiAgICAgICB2YWxpZGF0ZU9uQmx1cjogdHJ1ZSwKICAgICAgIGFsbG93Qmxhbms6IHRydWUsCiAgICAgICB5ZWFyU3RhcnQ6IDE5NTAsCiAgICAgICB5ZWFyRW5kOiAyMDUwLAogICAgICAgbW9udGhTdGFydDogMCwKICAgICAgIG1vbnRoRW5kOiAxMSwKICAgICAgIHN0eWxlOiAnJywKICAgICAgIGlkOiAnJywKICAgICAgIGZpeGVkOiBmYWxzZSwKICAgICAgIHJvdW5kVGltZTogJ3JvdW5kJywgLy8gY2VpbCwgZmxvb3IKICAgICAgIGNsYXNzTmFtZTogJycsCiAgICAgICB3ZWVrZW5kczogW10sCiAgICAgICBoaWdobGlnaHRlZERhdGVzOiBbXSwKICAgICAgIGhpZ2hsaWdodGVkUGVyaW9kczogW10sCiAgICAgICBhbGxvd0RhdGVzIDogW10sCiAgICAgICBhbGxvd0RhdGVSZSA6IG51bGwsCiAgICAgICBkaXNhYmxlZERhdGVzIDogW10sCiAgICAgICBkaXNhYmxlZFdlZWtEYXlzOiBbXSwKICAgICAgIHllYXJPZmZzZXQ6IDAsCiAgICAgICBiZWZvcmVTaG93RGF5OiBudWxsLAoKICAgICAgIGVudGVyTGlrZVRhYjogdHJ1ZSwKICAgICAgIHNob3dBcHBseUJ1dHRvbjogZmFsc2UKICAgfTsKCiAgIHZhciBkYXRlSGVscGVyID0gbnVsbCwKICAgICAgIGRlZmF1bHREYXRlSGVscGVyID0gbnVsbCwKICAgICAgIGdsb2JhbExvY2FsZURlZmF1bHQgPSAnZW4nLAogICAgICAgZ2xvYmFsTG9jYWxlID0gJ2VuJzsKCiAgIHZhciBkYXRlRm9ybWF0dGVyT3B0aW9uc0RlZmF1bHQgPSB7CiAgICAgICBtZXJpZGllbTogWydBTScsICdQTSddCiAgIH07CgogICB2YXIgaW5pdERhdGVGb3JtYXR0ZXIgPSBmdW5jdGlvbigpewogICAgICAgdmFyIGxvY2FsZSA9IGRlZmF1bHRfb3B0aW9ucy5pMThuW2dsb2JhbExvY2FsZV0sCiAgICAgICAgICAgb3B0cyA9IHsKICAgICAgICAgICAgICAgZGF5czogbG9jYWxlLmRheU9mV2VlaywKICAgICAgICAgICAgICAgZGF5c1Nob3J0OiBsb2NhbGUuZGF5T2ZXZWVrU2hvcnQsCiAgICAgICAgICAgICAgIG1vbnRoczogbG9jYWxlLm1vbnRocywKICAgICAgICAgICAgICAgbW9udGhzU2hvcnQ6ICQubWFwKGxvY2FsZS5tb250aHMsIGZ1bmN0aW9uKG4peyByZXR1cm4gbi5zdWJzdHJpbmcoMCwgMykgfSkKICAgICAgICAgICB9OwoKICAgICAgIGlmICh0eXBlb2YgRGF0ZUZvcm1hdHRlciA9PT0gJ2Z1bmN0aW9uJykgewogICAgICAgICAgIGRhdGVIZWxwZXIgPSBkZWZhdWx0RGF0ZUhlbHBlciA9IG5ldyBEYXRlRm9ybWF0dGVyKHsKICAgICAgICAgICAgICAgZGF0ZVNldHRpbmdzOiAkLmV4dGVuZCh7fSwgZGF0ZUZvcm1hdHRlck9wdGlvbnNEZWZhdWx0LCBvcHRzKQogICAgICAgICAgIH0pOwogICAgICAgfQogICB9OwoKICAgdmFyIGRhdGVGb3JtYXR0ZXJzID0gewogICAgICAgbW9tZW50OiB7CiAgICAgICAgICAgZGVmYXVsdF9vcHRpb25zOnsKICAgICAgICAgICAgICAgZm9ybWF0OiAnWVlZWS9NTS9ERCBISDptbScsCiAgICAgICAgICAgICAgIGZvcm1hdERhdGU6ICdZWVlZL01NL0REJywKICAgICAgICAgICAgICAgZm9ybWF0VGltZTogJ0hIOm1tJywKICAgICAgICAgICB9LAogICAgICAgICAgIGZvcm1hdHRlcjogewogICAgICAgICAgICAgICBwYXJzZURhdGU6IGZ1bmN0aW9uIChkYXRlLCBmb3JtYXQpIHsKICAgICAgICAgICAgICAgICAgIGlmKGlzRm9ybWF0U3RhbmRhcmQoZm9ybWF0KSl7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHREYXRlSGVscGVyLnBhcnNlRGF0ZShkYXRlLCBmb3JtYXQpOwogICAgICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgICAgIHZhciBkID0gbW9tZW50KGRhdGUsIGZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gZC5pc1ZhbGlkKCkgPyBkLnRvRGF0ZSgpIDogZmFsc2U7CiAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICBmb3JtYXREYXRlOiBmdW5jdGlvbiAoZGF0ZSwgZm9ybWF0KSB7CiAgICAgICAgICAgICAgICAgICBpZihpc0Zvcm1hdFN0YW5kYXJkKGZvcm1hdCkpewogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0RGF0ZUhlbHBlci5mb3JtYXREYXRlKGRhdGUsIGZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICB9IAogICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlKS5mb3JtYXQoZm9ybWF0KTsKICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgIGZvcm1hdE1hc2s6IGZ1bmN0aW9uKGZvcm1hdCl7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0CiAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1l7NH0vZywgJzk5OTknKQogICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9ZezJ9L2csICc5OScpCiAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL017Mn0vZywgJzE5JykKICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvRHsyfS9nLCAnMzknKQogICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9IezJ9L2csICcyOScpCiAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL217Mn0vZywgJzU5JykKICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvc3syfS9nLCAnNTknKTsKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICB9CiAgICAgICB9CiAgIH0KCiAgIC8vIGZvciBsb2NhbGUgc2V0dGluZ3MKICAgJC5kYXRldGltZXBpY2tlciA9IHsKICAgICAgIHNldExvY2FsZTogZnVuY3Rpb24obG9jYWxlKXsKICAgICAgICAgICB2YXIgbmV3TG9jYWxlID0gZGVmYXVsdF9vcHRpb25zLmkxOG5bbG9jYWxlXSA/IGxvY2FsZSA6IGdsb2JhbExvY2FsZURlZmF1bHQ7CiAgICAgICAgICAgaWYgKGdsb2JhbExvY2FsZSAhPT0gbmV3TG9jYWxlKSB7CiAgICAgICAgICAgICAgIGdsb2JhbExvY2FsZSA9IG5ld0xvY2FsZTsKICAgICAgICAgICAgICAgLy8gcmVpbml0IGRhdGUgZm9ybWF0dGVyCiAgICAgICAgICAgICAgIGluaXREYXRlRm9ybWF0dGVyKCk7CiAgICAgICAgICAgfQogICAgICAgfSwKCiAgICAgICBzZXREYXRlRm9ybWF0dGVyOiBmdW5jdGlvbihkYXRlRm9ybWF0dGVyKSB7CiAgICAgICAgICAgaWYodHlwZW9mIGRhdGVGb3JtYXR0ZXIgPT09ICdzdHJpbmcnICYmIGRhdGVGb3JtYXR0ZXJzLmhhc093blByb3BlcnR5KGRhdGVGb3JtYXR0ZXIpKXsKICAgICAgICAgICAgICAgdmFyIGRmID0gZGF0ZUZvcm1hdHRlcnNbZGF0ZUZvcm1hdHRlcl07CiAgICAgICAgICAgICAgICQuZXh0ZW5kKGRlZmF1bHRfb3B0aW9ucywgZGYuZGVmYXVsdF9vcHRpb25zKTsKICAgICAgICAgICAgICAgZGF0ZUhlbHBlciA9IGRmLmZvcm1hdHRlcjsgCiAgICAgICAgICAgfQogICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICBkYXRlSGVscGVyID0gZGF0ZUZvcm1hdHRlcjsKICAgICAgICAgICB9CiAgICAgICB9LAogICB9OwoKICAgdmFyIHN0YW5kYXJkRm9ybWF0cyA9IHsKICAgICAgIFJGQ18yODIyOiAnRCwgZCBNIFkgSDppOnMgTycsCiAgICAgICBBVE9NOiAnWS1tLWRcVEg6aTpzUCcsCiAgICAgICBJU09fODYwMTogJ1ktbS1kXFRIOmk6c08nLAogICAgICAgUkZDXzgyMjogJ0QsIGQgTSB5IEg6aTpzIE8nLAogICAgICAgUkZDXzg1MDogJ2wsIGQtTS15IEg6aTpzIFQnLAogICAgICAgUkZDXzEwMzY6ICdELCBkIE0geSBIOmk6cyBPJywKICAgICAgIFJGQ18xMTIzOiAnRCwgZCBNIFkgSDppOnMgTycsCiAgICAgICBSU1M6ICdELCBkIE0gWSBIOmk6cyBPJywKICAgICAgIFczQzogJ1ktbS1kXFRIOmk6c1AnCiAgIH0KCiAgIHZhciBpc0Zvcm1hdFN0YW5kYXJkID0gZnVuY3Rpb24oZm9ybWF0KXsKICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHN0YW5kYXJkRm9ybWF0cykuaW5kZXhPZihmb3JtYXQpID09PSAtMSA/IGZhbHNlIDogdHJ1ZTsKICAgfQoKICAgJC5leHRlbmQoJC5kYXRldGltZXBpY2tlciwgc3RhbmRhcmRGb3JtYXRzKTsKCiAgIC8vIGZpcnN0IGluaXQgZGF0ZSBmb3JtYXR0ZXIKICAgaW5pdERhdGVGb3JtYXR0ZXIoKTsKCiAgIC8vIGZpeCBmb3IgaWU4CiAgIGlmICghd2luZG93LmdldENvbXB1dGVkU3R5bGUpIHsKICAgICAgIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlID0gZnVuY3Rpb24gKGVsKSB7CiAgICAgICAgICAgdGhpcy5lbCA9IGVsOwogICAgICAgICAgIHRoaXMuZ2V0UHJvcGVydHlWYWx1ZSA9IGZ1bmN0aW9uIChwcm9wKSB7CiAgICAgICAgICAgICAgIHZhciByZSA9IC8oLShbYS16XSkpL2c7CiAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAnZmxvYXQnKSB7CiAgICAgICAgICAgICAgICAgICBwcm9wID0gJ3N0eWxlRmxvYXQnOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGlmIChyZS50ZXN0KHByb3ApKSB7CiAgICAgICAgICAgICAgICAgICBwcm9wID0gcHJvcC5yZXBsYWNlKHJlLCBmdW5jdGlvbiAoYSwgYiwgYykgewogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjLnRvVXBwZXJDYXNlKCk7CiAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICByZXR1cm4gZWwuY3VycmVudFN0eWxlW3Byb3BdIHx8IG51bGw7CiAgICAgICAgICAgfTsKICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgIH07CiAgIH0KICAgaWYgKCFBcnJheS5wcm90b3R5cGUuaW5kZXhPZikgewogICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiAob2JqLCBzdGFydCkgewogICAgICAgICAgIHZhciBpLCBqOwogICAgICAgICAgIGZvciAoaSA9IChzdGFydCB8fCAwKSwgaiA9IHRoaXMubGVuZ3RoOyBpIDwgajsgaSArPSAxKSB7CiAgICAgICAgICAgICAgIGlmICh0aGlzW2ldID09PSBvYmopIHsgcmV0dXJuIGk7IH0KICAgICAgICAgICB9CiAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgfTsKICAgfQoKICAgRGF0ZS5wcm90b3R5cGUuY291bnREYXlzSW5Nb250aCA9IGZ1bmN0aW9uICgpIHsKICAgICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmdldEZ1bGxZZWFyKCksIHRoaXMuZ2V0TW9udGgoKSArIDEsIDApLmdldERhdGUoKTsKICAgfTsKCiAgICQuZm4ueGRzb2Z0U2Nyb2xsZXIgPSBmdW5jdGlvbiAob3B0aW9ucywgcGVyY2VudCkgewogICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgdmFyIHRpbWVib3hwYXJlbnQgPSAkKHRoaXMpLAogICAgICAgICAgICAgICBwb2ludGVyRXZlbnRUb1hZID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgIHZhciBvdXQgPSB7eDogMCwgeTogMH0sCiAgICAgICAgICAgICAgICAgICAgICAgdG91Y2g7CiAgICAgICAgICAgICAgICAgICBpZiAoZS50eXBlID09PSAndG91Y2hzdGFydCcgfHwgZS50eXBlID09PSAndG91Y2htb3ZlJyB8fCBlLnR5cGUgPT09ICd0b3VjaGVuZCcgfHwgZS50eXBlID09PSAndG91Y2hjYW5jZWwnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdG91Y2ggID0gZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0gfHwgZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdOwogICAgICAgICAgICAgICAgICAgICAgIG91dC54ID0gdG91Y2guY2xpZW50WDsKICAgICAgICAgICAgICAgICAgICAgICBvdXQueSA9IHRvdWNoLmNsaWVudFk7CiAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUudHlwZSA9PT0gJ21vdXNlZG93bicgfHwgZS50eXBlID09PSAnbW91c2V1cCcgfHwgZS50eXBlID09PSAnbW91c2Vtb3ZlJyB8fCBlLnR5cGUgPT09ICdtb3VzZW92ZXInIHx8IGUudHlwZSA9PT0gJ21vdXNlb3V0JyB8fCBlLnR5cGUgPT09ICdtb3VzZWVudGVyJyB8fCBlLnR5cGUgPT09ICdtb3VzZWxlYXZlJykgewogICAgICAgICAgICAgICAgICAgICAgIG91dC54ID0gZS5jbGllbnRYOwogICAgICAgICAgICAgICAgICAgICAgIG91dC55ID0gZS5jbGllbnRZOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgcmV0dXJuIG91dDsKICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgdGltZWJveCwKICAgICAgICAgICAgICAgcGFyZW50SGVpZ2h0LAogICAgICAgICAgICAgICBoZWlnaHQsCiAgICAgICAgICAgICAgIHNjcm9sbGJhciwKICAgICAgICAgICAgICAgc2Nyb2xsZXIsCiAgICAgICAgICAgICAgIG1heGltdW1PZmZzZXQgPSAxMDAsCiAgICAgICAgICAgICAgIHN0YXJ0ID0gZmFsc2UsCiAgICAgICAgICAgICAgIHN0YXJ0WSA9IDAsCiAgICAgICAgICAgICAgIHN0YXJ0VG9wID0gMCwKICAgICAgICAgICAgICAgaDEgPSAwLAogICAgICAgICAgICAgICB0b3VjaFN0YXJ0ID0gZmFsc2UsCiAgICAgICAgICAgICAgIHN0YXJ0VG9wU2Nyb2xsID0gMCwKICAgICAgICAgICAgICAgY2FsY09mZnNldCA9IGZ1bmN0aW9uICgpIHt9OwoKICAgICAgICAgICBpZiAocGVyY2VudCA9PT0gJ2hpZGUnKSB7CiAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQuZmluZCgnLnhkc29mdF9zY3JvbGxiYXInKS5oaWRlKCk7CiAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICB9CgogICAgICAgICAgIGlmICghJCh0aGlzKS5oYXNDbGFzcygneGRzb2Z0X3Njcm9sbGVyX2JveCcpKSB7CiAgICAgICAgICAgICAgIHRpbWVib3ggPSB0aW1lYm94cGFyZW50LmNoaWxkcmVuKCkuZXEoMCk7CiAgICAgICAgICAgICAgIHBhcmVudEhlaWdodCA9IHRpbWVib3hwYXJlbnRbMF0uY2xpZW50SGVpZ2h0OwogICAgICAgICAgICAgICBoZWlnaHQgPSB0aW1lYm94WzBdLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgICAgc2Nyb2xsYmFyID0gJCgnPGRpdiBjbGFzcz0ieGRzb2Z0X3Njcm9sbGJhciI+PC9kaXY+Jyk7CiAgICAgICAgICAgICAgIHNjcm9sbGVyID0gJCgnPGRpdiBjbGFzcz0ieGRzb2Z0X3Njcm9sbGVyIj48L2Rpdj4nKTsKICAgICAgICAgICAgICAgc2Nyb2xsYmFyLmFwcGVuZChzY3JvbGxlcik7CgogICAgICAgICAgICAgICB0aW1lYm94cGFyZW50LmFkZENsYXNzKCd4ZHNvZnRfc2Nyb2xsZXJfYm94JykuYXBwZW5kKHNjcm9sbGJhcik7CiAgICAgICAgICAgICAgIGNhbGNPZmZzZXQgPSBmdW5jdGlvbiBjYWxjT2Zmc2V0KGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gcG9pbnRlckV2ZW50VG9YWShldmVudCkueSAtIHN0YXJ0WSArIHN0YXJ0VG9wU2Nyb2xsOwogICAgICAgICAgICAgICAgICAgaWYgKG9mZnNldCA8IDApIHsKICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSAwOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgaWYgKG9mZnNldCArIHNjcm9sbGVyWzBdLm9mZnNldEhlaWdodCA+IGgxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gaDEgLSBzY3JvbGxlclswXS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB0aW1lYm94cGFyZW50LnRyaWdnZXIoJ3Njcm9sbF9lbGVtZW50Lnhkc29mdF9zY3JvbGxlcicsIFttYXhpbXVtT2Zmc2V0ID8gb2Zmc2V0IC8gbWF4aW11bU9mZnNldCA6IDBdKTsKICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgIHNjcm9sbGVyCiAgICAgICAgICAgICAgICAgICAub24oJ3RvdWNoc3RhcnQueGRzb2Z0X3Njcm9sbGVyIG1vdXNlZG93bi54ZHNvZnRfc2Nyb2xsZXInLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmVudEhlaWdodCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYm94cGFyZW50LnRyaWdnZXIoJ3Jlc2l6ZV9zY3JvbGwueGRzb2Z0X3Njcm9sbGVyJywgW3BlcmNlbnRdKTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0WSA9IHBvaW50ZXJFdmVudFRvWFkoZXZlbnQpLnk7CiAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRUb3BTY3JvbGwgPSBwYXJzZUludChzY3JvbGxlci5jc3MoJ21hcmdpbi10b3AnKSwgMTApOwogICAgICAgICAgICAgICAgICAgICAgIGgxID0gc2Nyb2xsYmFyWzBdLm9mZnNldEhlaWdodDsKCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICd0b3VjaHN0YXJ0JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vd25lckRvY3VtZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdGlvbnMub3duZXJEb2N1bWVudC5ib2R5KS5hZGRDbGFzcygneGRzb2Z0X25vc2VsZWN0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgJChbb3B0aW9ucy5vd25lckRvY3VtZW50LmJvZHksIG9wdGlvbnMuY29udGVudFdpbmRvd10pLm9uKCd0b3VjaGVuZCBtb3VzZXVwLnhkc29mdF9zY3JvbGxlcicsIGZ1bmN0aW9uIGFyZ3VtZW50c19jYWxsZWUoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFtvcHRpb25zLm93bmVyRG9jdW1lbnQuYm9keSwgb3B0aW9ucy5jb250ZW50V2luZG93XSkub2ZmKCd0b3VjaGVuZCBtb3VzZXVwLnhkc29mdF9zY3JvbGxlcicsIGFyZ3VtZW50c19jYWxsZWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9mZignbW91c2Vtb3ZlLnhkc29mdF9zY3JvbGxlcicsIGNhbGNPZmZzZXQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZUNsYXNzKCd4ZHNvZnRfbm9zZWxlY3QnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICQob3B0aW9ucy5vd25lckRvY3VtZW50LmJvZHkpLm9uKCdtb3VzZW1vdmUueGRzb2Z0X3Njcm9sbGVyJywgY2FsY09mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hTdGFydCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAub24oJ3RvdWNobW92ZScsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgIGlmICh0b3VjaFN0YXJ0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGNPZmZzZXQoZXZlbnQpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAub24oJ3RvdWNoZW5kIHRvdWNoY2FuY2VsJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgIHRvdWNoU3RhcnQgPSAgZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRUb3BTY3JvbGwgPSAwOwogICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICB0aW1lYm94cGFyZW50CiAgICAgICAgICAgICAgICAgICAub24oJ3Njcm9sbF9lbGVtZW50Lnhkc29mdF9zY3JvbGxlcicsIGZ1bmN0aW9uIChldmVudCwgcGVyY2VudGFnZSkgewogICAgICAgICAgICAgICAgICAgICAgIGlmICghcGFyZW50SGVpZ2h0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQudHJpZ2dlcigncmVzaXplX3Njcm9sbC54ZHNvZnRfc2Nyb2xsZXInLCBbcGVyY2VudGFnZSwgdHJ1ZV0pOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICBwZXJjZW50YWdlID0gcGVyY2VudGFnZSA+IDEgPyAxIDogKHBlcmNlbnRhZ2UgPCAwIHx8IGlzTmFOKHBlcmNlbnRhZ2UpKSA/IDAgOiBwZXJjZW50YWdlOwoKICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxlci5jc3MoJ21hcmdpbi10b3AnLCBtYXhpbXVtT2Zmc2V0ICogcGVyY2VudGFnZSk7CgogICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYm94LmNzcygnbWFyZ2luVG9wJywgLXBhcnNlSW50KCh0aW1lYm94WzBdLm9mZnNldEhlaWdodCAtIHBhcmVudEhlaWdodCkgKiBwZXJjZW50YWdlLCAxMCkpOwogICAgICAgICAgICAgICAgICAgICAgIH0sIDEwKTsKICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAub24oJ3Jlc2l6ZV9zY3JvbGwueGRzb2Z0X3Njcm9sbGVyJywgZnVuY3Rpb24gKGV2ZW50LCBwZXJjZW50YWdlLCBub1RyaWdnZXJTY3JvbGwpIHsKICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGVyY2VudCwgc2g7CiAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SGVpZ2h0ID0gdGltZWJveHBhcmVudFswXS5jbGllbnRIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gdGltZWJveFswXS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudCA9IHBhcmVudEhlaWdodCAvIGhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICBzaCA9IHBlcmNlbnQgKiBzY3JvbGxiYXJbMF0ub2Zmc2V0SGVpZ2h0OwogICAgICAgICAgICAgICAgICAgICAgIGlmIChwZXJjZW50ID4gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxlci5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsZXIuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxlci5jc3MoJ2hlaWdodCcsIHBhcnNlSW50KHNoID4gMTAgPyBzaCA6IDEwLCAxMCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtT2Zmc2V0ID0gc2Nyb2xsYmFyWzBdLm9mZnNldEhlaWdodCAtIHNjcm9sbGVyWzBdLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vVHJpZ2dlclNjcm9sbCAhPT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC50cmlnZ2VyKCdzY3JvbGxfZWxlbWVudC54ZHNvZnRfc2Nyb2xsZXInLCBbcGVyY2VudGFnZSB8fCBNYXRoLmFicyhwYXJzZUludCh0aW1lYm94LmNzcygnbWFyZ2luVG9wJyksIDEwKSkgLyAoaGVpZ2h0IC0gcGFyZW50SGVpZ2h0KV0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICB0aW1lYm94cGFyZW50Lm9uKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICB2YXIgdG9wID0gTWF0aC5hYnMocGFyc2VJbnQodGltZWJveC5jc3MoJ21hcmdpblRvcCcpLCAxMCkpOwoKICAgICAgICAgICAgICAgICAgIHRvcCA9IHRvcCAtIChldmVudC5kZWx0YVkgKiAyMCk7CiAgICAgICAgICAgICAgICAgICBpZiAodG9wIDwgMCkgewogICAgICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC50cmlnZ2VyKCdzY3JvbGxfZWxlbWVudC54ZHNvZnRfc2Nyb2xsZXInLCBbdG9wIC8gKGhlaWdodCAtIHBhcmVudEhlaWdodCldKTsKICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQub24oJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gcG9pbnRlckV2ZW50VG9YWShldmVudCk7CiAgICAgICAgICAgICAgICAgICBzdGFydFRvcCA9IE1hdGguYWJzKHBhcnNlSW50KHRpbWVib3guY3NzKCdtYXJnaW5Ub3AnKSwgMTApKTsKICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICB0aW1lYm94cGFyZW50Lm9uKCd0b3VjaG1vdmUnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGlmIChzdGFydCkgewogICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvb3JkID0gcG9pbnRlckV2ZW50VG9YWShldmVudCk7CiAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC50cmlnZ2VyKCdzY3JvbGxfZWxlbWVudC54ZHNvZnRfc2Nyb2xsZXInLCBbKHN0YXJ0VG9wIC0gKGNvb3JkLnkgLSBzdGFydC55KSkgLyAoaGVpZ2h0IC0gcGFyZW50SGVpZ2h0KV0pOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQub24oJ3RvdWNoZW5kIHRvdWNoY2FuY2VsJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgc3RhcnQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgIHN0YXJ0VG9wID0gMDsKICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgfQogICAgICAgICAgIHRpbWVib3hwYXJlbnQudHJpZ2dlcigncmVzaXplX3Njcm9sbC54ZHNvZnRfc2Nyb2xsZXInLCBbcGVyY2VudF0pOwogICAgICAgfSk7CiAgIH07CgogICAkLmZuLmRhdGV0aW1lcGlja2VyID0gZnVuY3Rpb24gKG9wdCwgb3B0MikgewogICAgICAgdmFyIHJlc3VsdCA9IHRoaXMsCiAgICAgICAgICAgS0VZMCA9IDQ4LAogICAgICAgICAgIEtFWTkgPSA1NywKICAgICAgICAgICBfS0VZMCA9IDk2LAogICAgICAgICAgIF9LRVk5ID0gMTA1LAogICAgICAgICAgIENUUkxLRVkgPSAxNywKICAgICAgICAgICBERUwgPSA0NiwKICAgICAgICAgICBFTlRFUiA9IDEzLAogICAgICAgICAgIEVTQyA9IDI3LAogICAgICAgICAgIEJBQ0tTUEFDRSA9IDgsCiAgICAgICAgICAgQVJST1dMRUZUID0gMzcsCiAgICAgICAgICAgQVJST1dVUCA9IDM4LAogICAgICAgICAgIEFSUk9XUklHSFQgPSAzOSwKICAgICAgICAgICBBUlJPV0RPV04gPSA0MCwKICAgICAgICAgICBUQUIgPSA5LAogICAgICAgICAgIEY1ID0gMTE2LAogICAgICAgICAgIEFLRVkgPSA2NSwKICAgICAgICAgICBDS0VZID0gNjcsCiAgICAgICAgICAgVktFWSA9IDg2LAogICAgICAgICAgIFpLRVkgPSA5MCwKICAgICAgICAgICBZS0VZID0gODksCiAgICAgICAgICAgY3RybERvd24JPQlmYWxzZSwKICAgICAgICAgICBvcHRpb25zID0gKCQuaXNQbGFpbk9iamVjdChvcHQpIHx8ICFvcHQpID8gJC5leHRlbmQodHJ1ZSwge30sIGRlZmF1bHRfb3B0aW9ucywgb3B0KSA6ICQuZXh0ZW5kKHRydWUsIHt9LCBkZWZhdWx0X29wdGlvbnMpLAoKICAgICAgICAgICBsYXp5SW5pdFRpbWVyID0gMCwKICAgICAgICAgICBjcmVhdGVEYXRlVGltZVBpY2tlciwKICAgICAgICAgICBkZXN0cm95RGF0ZVRpbWVQaWNrZXIsCgogICAgICAgICAgIGxhenlJbml0ID0gZnVuY3Rpb24gKGlucHV0KSB7CiAgICAgICAgICAgICAgIGlucHV0CiAgICAgICAgICAgICAgICAgICAub24oJ29wZW4ueGRzb2Z0IGZvY3VzaW4ueGRzb2Z0IG1vdXNlZG93bi54ZHNvZnQgdG91Y2hzdGFydCcsIGZ1bmN0aW9uIGluaXRPbkFjdGlvbkNhbGxiYWNrKCkgewogICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5pcygnOmRpc2FibGVkJykgfHwgaW5wdXQuZGF0YSgneGRzb2Z0X2RhdGV0aW1lcGlja2VyJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQobGF6eUluaXRUaW1lcik7CiAgICAgICAgICAgICAgICAgICAgICAgbGF6eUluaXRUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnB1dC5kYXRhKCd4ZHNvZnRfZGF0ZXRpbWVwaWNrZXInKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlRGF0ZVRpbWVQaWNrZXIoaW5wdXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub2ZmKCdvcGVuLnhkc29mdCBmb2N1c2luLnhkc29mdCBtb3VzZWRvd24ueGRzb2Z0IHRvdWNoc3RhcnQnLCBpbml0T25BY3Rpb25DYWxsYmFjaykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50cmlnZ2VyKCdvcGVuLnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICB9OwoKICAgICAgIGNyZWF0ZURhdGVUaW1lUGlja2VyID0gZnVuY3Rpb24gKGlucHV0KSB7CiAgICAgICAgICAgdmFyIGRhdGV0aW1lcGlja2VyID0gJCgnPGRpdiBjbGFzcz0ieGRzb2Z0X2RhdGV0aW1lcGlja2VyIHhkc29mdF9ub3NlbGVjdCI+PC9kaXY+JyksCiAgICAgICAgICAgICAgIHhkc29mdF9jb3B5cmlnaHQgPSAkKCc8ZGl2IGNsYXNzPSJ4ZHNvZnRfY29weXJpZ2h0Ij48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3hkc29mdC5uZXQvanFwbHVnaW5zL2RhdGV0aW1lcGlja2VyLyI+eGRzb2Z0Lm5ldDwvYT48L2Rpdj4nKSwKICAgICAgICAgICAgICAgZGF0ZXBpY2tlciA9ICQoJzxkaXYgY2xhc3M9Inhkc29mdF9kYXRlcGlja2VyIGFjdGl2ZSI+PC9kaXY+JyksCiAgICAgICAgICAgICAgIG1vbnRoX3BpY2tlciA9ICQoJzxkaXYgY2xhc3M9Inhkc29mdF9tb250aHBpY2tlciI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4ZHNvZnRfcHJldiI+PC9idXR0b24+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ4ZHNvZnRfdG9kYXlfYnV0dG9uIj48L2J1dHRvbj4nICsKICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ4ZHNvZnRfbGFiZWwgeGRzb2Z0X21vbnRoIj48c3Bhbj48L3NwYW4+PGk+PC9pPjwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Inhkc29mdF9sYWJlbCB4ZHNvZnRfeWVhciI+PHNwYW4+PC9zcGFuPjxpPjwvaT48L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Inhkc29mdF9uZXh0Ij48L2J1dHRvbj48L2Rpdj4nKSwKICAgICAgICAgICAgICAgY2FsZW5kYXIgPSAkKCc8ZGl2IGNsYXNzPSJ4ZHNvZnRfY2FsZW5kYXIiPjwvZGl2PicpLAogICAgICAgICAgICAgICB0aW1lcGlja2VyID0gJCgnPGRpdiBjbGFzcz0ieGRzb2Z0X3RpbWVwaWNrZXIgYWN0aXZlIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Inhkc29mdF9wcmV2Ij48L2J1dHRvbj48ZGl2IGNsYXNzPSJ4ZHNvZnRfdGltZV9ib3giPjwvZGl2PjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ieGRzb2Z0X25leHQiPjwvYnV0dG9uPjwvZGl2PicpLAogICAgICAgICAgICAgICB0aW1lYm94cGFyZW50ID0gdGltZXBpY2tlci5maW5kKCcueGRzb2Z0X3RpbWVfYm94JykuZXEoMCksCiAgICAgICAgICAgICAgIHRpbWVib3ggPSAkKCc8ZGl2IGNsYXNzPSJ4ZHNvZnRfdGltZV92YXJpYW50Ij48L2Rpdj4nKSwKICAgICAgICAgICAgICAgYXBwbHlCdXR0b24gPSAkKCc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Inhkc29mdF9zYXZlX3NlbGVjdGVkIGJsdWUtZ3JhZGllbnQtYnV0dG9uIj5TYXZlIFNlbGVjdGVkPC9idXR0b24+JyksCgogICAgICAgICAgICAgICBtb250aHNlbGVjdCA9ICQoJzxkaXYgY2xhc3M9Inhkc29mdF9zZWxlY3QgeGRzb2Z0X21vbnRoc2VsZWN0Ij48ZGl2PjwvZGl2PjwvZGl2PicpLAogICAgICAgICAgICAgICB5ZWFyc2VsZWN0ID0gJCgnPGRpdiBjbGFzcz0ieGRzb2Z0X3NlbGVjdCB4ZHNvZnRfeWVhcnNlbGVjdCI+PGRpdj48L2Rpdj48L2Rpdj4nKSwKICAgICAgICAgICAgICAgdHJpZ2dlckFmdGVyT3BlbiA9IGZhbHNlLAogICAgICAgICAgICAgICBYRFNvZnRfZGF0ZXRpbWUsCgogICAgICAgICAgICAgICB4Y2hhbmdlVGltZXIsCiAgICAgICAgICAgICAgIHRpbWVyY2xpY2ssCiAgICAgICAgICAgICAgIGN1cnJlbnRfdGltZV9pbmRleCwKICAgICAgICAgICAgICAgc2V0UG9zLAogICAgICAgICAgICAgICB0aW1lciA9IDAsCiAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUsCiAgICAgICAgICAgICAgIGZvckVhY2hBbmNlc3Rvck9mOwoKICAgICAgICAgICBpZiAob3B0aW9ucy5pZCkgewogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5hdHRyKCdpZCcsIG9wdGlvbnMuaWQpOwogICAgICAgICAgIH0KICAgICAgICAgICBpZiAob3B0aW9ucy5zdHlsZSkgewogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5hdHRyKCdzdHlsZScsIG9wdGlvbnMuc3R5bGUpOwogICAgICAgICAgIH0KICAgICAgICAgICBpZiAob3B0aW9ucy53ZWVrcykgewogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5hZGRDbGFzcygneGRzb2Z0X3Nob3d3ZWVrcycpOwogICAgICAgICAgIH0KICAgICAgICAgICBpZiAob3B0aW9ucy5ydGwpIHsKICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuYWRkQ2xhc3MoJ3hkc29mdF9ydGwnKTsKICAgICAgICAgICB9CgogICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmFkZENsYXNzKCd4ZHNvZnRfJyArIG9wdGlvbnMudGhlbWUpOwogICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmFkZENsYXNzKG9wdGlvbnMuY2xhc3NOYW1lKTsKCiAgICAgICAgICAgbW9udGhfcGlja2VyCiAgICAgICAgICAgICAgIC5maW5kKCcueGRzb2Z0X21vbnRoIHNwYW4nKQogICAgICAgICAgICAgICAuYWZ0ZXIobW9udGhzZWxlY3QpOwogICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF95ZWFyIHNwYW4nKQogICAgICAgICAgICAgICAuYWZ0ZXIoeWVhcnNlbGVjdCk7CgogICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF9tb250aCwueGRzb2Z0X3llYXInKQogICAgICAgICAgICAgICAub24oJ3RvdWNoc3RhcnQgbW91c2Vkb3duLnhkc29mdCcsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdCA9ICQodGhpcykuZmluZCgnLnhkc29mdF9zZWxlY3QnKS5lcSgwKSwKICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSAwLAogICAgICAgICAgICAgICAgICAgICAgIHRvcCA9IDAsCiAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZSA9IHNlbGVjdC5pcygnOnZpc2libGUnKSwKICAgICAgICAgICAgICAgICAgICAgICBpdGVtcywKICAgICAgICAgICAgICAgICAgICAgICBpOwoKICAgICAgICAgICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAgICAgICAgIC5maW5kKCcueGRzb2Z0X3NlbGVjdCcpCiAgICAgICAgICAgICAgICAgICAgICAgLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgIGlmIChfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZVskKHRoaXMpLmhhc0NsYXNzKCd4ZHNvZnRfbW9udGgnKSA/ICdnZXRNb250aCcgOiAnZ2V0RnVsbFllYXInXSgpOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIHNlbGVjdFt2aXNpYmxlID8gJ2hpZGUnIDogJ3Nob3cnXSgpOwogICAgICAgICAgICAgICAgICAgZm9yIChpdGVtcyA9IHNlbGVjdC5maW5kKCdkaXYueGRzb2Z0X29wdGlvbicpLCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zLmVxKGkpLmRhdGEoJ3ZhbHVlJykgPT09IHZhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICB0b3AgKz0gaXRlbXNbMF0ub2Zmc2V0SGVpZ2h0OwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICBzZWxlY3QueGRzb2Z0U2Nyb2xsZXIob3B0aW9ucywgdG9wIC8gKHNlbGVjdC5jaGlsZHJlbigpWzBdLm9mZnNldEhlaWdodCAtIChzZWxlY3RbMF0uY2xpZW50SGVpZ2h0KSkpOwogICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICB2YXIgaGFuZGxlVG91Y2hNb3ZlZCA9IGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICB2YXIgZXZ0ID0gZXZlbnQub3JpZ2luYWxFdmVudDsKICAgICAgICAgICAgICAgdmFyIHRvdWNoUG9zaXRpb24gPSBldnQudG91Y2hlcyA/IGV2dC50b3VjaGVzWzBdIDogZXZ0OwogICAgICAgICAgICAgICB0aGlzLnRvdWNoU3RhcnRQb3NpdGlvbiA9IHRoaXMudG91Y2hTdGFydFBvc2l0aW9uIHx8IHRvdWNoUG9zaXRpb247CiAgICAgICAgICAgICAgIHZhciB4TW92ZW1lbnQgPSBNYXRoLmFicyh0aGlzLnRvdWNoU3RhcnRQb3NpdGlvbi5jbGllbnRYIC0gdG91Y2hQb3NpdGlvbi5jbGllbnRYKTsKICAgICAgICAgICAgICAgdmFyIHlNb3ZlbWVudCA9IE1hdGguYWJzKHRoaXMudG91Y2hTdGFydFBvc2l0aW9uLmNsaWVudFkgLSB0b3VjaFBvc2l0aW9uLmNsaWVudFkpOwogICAgICAgICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoeE1vdmVtZW50ICogeE1vdmVtZW50ICsgeU1vdmVtZW50ICogeU1vdmVtZW50KTsKICAgICAgICAgICAgICAgaWYoZGlzdGFuY2UgPiBvcHRpb25zLnRvdWNoTW92ZWRUaHJlc2hvbGQpIHsKICAgICAgICAgICAgICAgICAgIHRoaXMudG91Y2hNb3ZlZCA9IHRydWU7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9CgogICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF9zZWxlY3QnKQogICAgICAgICAgICAgICAueGRzb2Z0U2Nyb2xsZXIob3B0aW9ucykKICAgICAgICAgICAgICAgLm9uKCd0b3VjaHN0YXJ0IG1vdXNlZG93bi54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHZhciBldnQgPSBldmVudC5vcmlnaW5hbEV2ZW50OwogICAgICAgICAgICAgICAgICAgdGhpcy50b3VjaE1vdmVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoU3RhcnRQb3NpdGlvbiA9IGV2dC50b3VjaGVzID8gZXZ0LnRvdWNoZXNbMF0gOiBldnQ7CiAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIC5vbigndG91Y2htb3ZlJywgJy54ZHNvZnRfb3B0aW9uJywgaGFuZGxlVG91Y2hNb3ZlZCkKICAgICAgICAgICAgICAgLm9uKCd0b3VjaGVuZCBtb3VzZWRvd24ueGRzb2Z0JywgJy54ZHNvZnRfb3B0aW9uJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRvdWNoTW92ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSA9PT0gdW5kZWZpbmVkIHx8IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUubm93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB2YXIgeWVhciA9IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoX3hkc29mdF9kYXRldGltZSAmJiBfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWVbJCh0aGlzKS5wYXJlbnQoKS5wYXJlbnQoKS5oYXNDbGFzcygneGRzb2Z0X21vbnRoc2VsZWN0JykgPyAnc2V0TW9udGgnIDogJ3NldEZ1bGxZZWFyJ10oJCh0aGlzKS5kYXRhKCd2YWx1ZScpKTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCkucGFyZW50KCkuaGlkZSgpOwoKICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCd4Y2hhbmdlLnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uQ2hhbmdlTW9udGggJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25DaGFuZ2VNb250aCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5vbkNoYW5nZU1vbnRoLmNhbGwoZGF0ZXRpbWVwaWNrZXIsIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUsIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2lucHV0JykpOwogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKHllYXIgIT09IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKSAmJiAkLmlzRnVuY3Rpb24ob3B0aW9ucy5vbkNoYW5nZVllYXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMub25DaGFuZ2VZZWFyLmNhbGwoZGF0ZXRpbWVwaWNrZXIsIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUsIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2lucHV0JykpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmdldFZhbHVlID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICByZXR1cm4gX3hkc29mdF9kYXRldGltZS5nZXRDdXJyZW50VGltZSgpOwogICAgICAgICAgIH07CgogICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnNldE9wdGlvbnMgPSBmdW5jdGlvbiAoX29wdGlvbnMpIHsKICAgICAgICAgICAgICAgdmFyIGhpZ2hsaWdodGVkRGF0ZXMgPSB7fTsKCiAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgb3B0aW9ucywgX29wdGlvbnMpOwoKICAgICAgICAgICAgICAgaWYgKF9vcHRpb25zLmFsbG93VGltZXMgJiYgJC5pc0FycmF5KF9vcHRpb25zLmFsbG93VGltZXMpICYmIF9vcHRpb25zLmFsbG93VGltZXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICBvcHRpb25zLmFsbG93VGltZXMgPSAkLmV4dGVuZCh0cnVlLCBbXSwgX29wdGlvbnMuYWxsb3dUaW1lcyk7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmIChfb3B0aW9ucy53ZWVrZW5kcyAmJiAkLmlzQXJyYXkoX29wdGlvbnMud2Vla2VuZHMpICYmIF9vcHRpb25zLndlZWtlbmRzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgb3B0aW9ucy53ZWVrZW5kcyA9ICQuZXh0ZW5kKHRydWUsIFtdLCBfb3B0aW9ucy53ZWVrZW5kcyk7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmIChfb3B0aW9ucy5hbGxvd0RhdGVzICYmICQuaXNBcnJheShfb3B0aW9ucy5hbGxvd0RhdGVzKSAmJiBfb3B0aW9ucy5hbGxvd0RhdGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgb3B0aW9ucy5hbGxvd0RhdGVzID0gJC5leHRlbmQodHJ1ZSwgW10sIF9vcHRpb25zLmFsbG93RGF0ZXMpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAoX29wdGlvbnMuYWxsb3dEYXRlUmUgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKF9vcHRpb25zLmFsbG93RGF0ZVJlKT09PSJbb2JqZWN0IFN0cmluZ10iKSB7CiAgICAgICAgICAgICAgICAgICBvcHRpb25zLmFsbG93RGF0ZVJlID0gbmV3IFJlZ0V4cChfb3B0aW9ucy5hbGxvd0RhdGVSZSk7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmIChfb3B0aW9ucy5oaWdobGlnaHRlZERhdGVzICYmICQuaXNBcnJheShfb3B0aW9ucy5oaWdobGlnaHRlZERhdGVzKSAmJiBfb3B0aW9ucy5oaWdobGlnaHRlZERhdGVzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgJC5lYWNoKF9vcHRpb25zLmhpZ2hsaWdodGVkRGF0ZXMsIGZ1bmN0aW9uIChpbmRleCwgdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3BsaXREYXRhID0gJC5tYXAodmFsdWUuc3BsaXQoJywnKSwgJC50cmltKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhEZXNjLAogICAgICAgICAgICAgICAgICAgICAgICAgICBoRGF0ZSA9IG5ldyBIaWdobGlnaHRlZERhdGUoZGF0ZUhlbHBlci5wYXJzZURhdGUoc3BsaXREYXRhWzBdLCBvcHRpb25zLmZvcm1hdERhdGUpLCBzcGxpdERhdGFbMV0sIHNwbGl0RGF0YVsyXSksIC8vIGRhdGUsIGRlc2MsIHN0eWxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleURhdGUgPSBkYXRlSGVscGVyLmZvcm1hdERhdGUoaERhdGUuZGF0ZSwgb3B0aW9ucy5mb3JtYXREYXRlKTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ZWREYXRlc1trZXlEYXRlXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4RGVzYyA9IGhpZ2hsaWdodGVkRGF0ZXNba2V5RGF0ZV0uZGVzYzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV4RGVzYyAmJiBleERlc2MubGVuZ3RoICYmIGhEYXRlLmRlc2MgJiYgaERhdGUuZGVzYy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkRGF0ZXNba2V5RGF0ZV0uZGVzYyA9IGV4RGVzYyArICJcbiIgKyBoRGF0ZS5kZXNjOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWREYXRlc1trZXlEYXRlXSA9IGhEYXRlOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuaGlnaGxpZ2h0ZWREYXRlcyA9ICQuZXh0ZW5kKHRydWUsIFtdLCBoaWdobGlnaHRlZERhdGVzKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKF9vcHRpb25zLmhpZ2hsaWdodGVkUGVyaW9kcyAmJiAkLmlzQXJyYXkoX29wdGlvbnMuaGlnaGxpZ2h0ZWRQZXJpb2RzKSAmJiBfb3B0aW9ucy5oaWdobGlnaHRlZFBlcmlvZHMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICBoaWdobGlnaHRlZERhdGVzID0gJC5leHRlbmQodHJ1ZSwgW10sIG9wdGlvbnMuaGlnaGxpZ2h0ZWREYXRlcyk7CiAgICAgICAgICAgICAgICAgICAkLmVhY2goX29wdGlvbnMuaGlnaGxpZ2h0ZWRQZXJpb2RzLCBmdW5jdGlvbiAoaW5kZXgsIHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGVUZXN0LCAvLyBzdGFydCBkYXRlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVFbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhEYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlEYXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICBleERlc2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOwogICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZXN0ID0gdmFsdWVbMF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVFbmQgPSB2YWx1ZVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyA9IHZhbHVlWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9IHZhbHVlWzNdOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNwbGl0RGF0YSA9ICQubWFwKHZhbHVlLnNwbGl0KCcsJyksICQudHJpbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUZXN0ID0gZGF0ZUhlbHBlci5wYXJzZURhdGUoc3BsaXREYXRhWzBdLCBvcHRpb25zLmZvcm1hdERhdGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlRW5kID0gZGF0ZUhlbHBlci5wYXJzZURhdGUoc3BsaXREYXRhWzFdLCBvcHRpb25zLmZvcm1hdERhdGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjID0gc3BsaXREYXRhWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSA9IHNwbGl0RGF0YVszXTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChkYXRlVGVzdCA8PSBkYXRlRW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhEYXRlID0gbmV3IEhpZ2hsaWdodGVkRGF0ZShkYXRlVGVzdCwgZGVzYywgc3R5bGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlEYXRlID0gZGF0ZUhlbHBlci5mb3JtYXREYXRlKGRhdGVUZXN0LCBvcHRpb25zLmZvcm1hdERhdGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlVGVzdC5zZXREYXRlKGRhdGVUZXN0LmdldERhdGUoKSArIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ZWREYXRlc1trZXlEYXRlXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleERlc2MgPSBoaWdobGlnaHRlZERhdGVzW2tleURhdGVdLmRlc2M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhEZXNjICYmIGV4RGVzYy5sZW5ndGggJiYgaERhdGUuZGVzYyAmJiBoRGF0ZS5kZXNjLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkRGF0ZXNba2V5RGF0ZV0uZGVzYyA9IGV4RGVzYyArICJcbiIgKyBoRGF0ZS5kZXNjOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWREYXRlc1trZXlEYXRlXSA9IGhEYXRlOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgb3B0aW9ucy5oaWdobGlnaHRlZERhdGVzID0gJC5leHRlbmQodHJ1ZSwgW10sIGhpZ2hsaWdodGVkRGF0ZXMpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAoX29wdGlvbnMuZGlzYWJsZWREYXRlcyAmJiAkLmlzQXJyYXkoX29wdGlvbnMuZGlzYWJsZWREYXRlcykgJiYgX29wdGlvbnMuZGlzYWJsZWREYXRlcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGlzYWJsZWREYXRlcyA9ICQuZXh0ZW5kKHRydWUsIFtdLCBfb3B0aW9ucy5kaXNhYmxlZERhdGVzKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKF9vcHRpb25zLmRpc2FibGVkV2Vla0RheXMgJiYgJC5pc0FycmF5KF9vcHRpb25zLmRpc2FibGVkV2Vla0RheXMpICYmIF9vcHRpb25zLmRpc2FibGVkV2Vla0RheXMubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRpc2FibGVkV2Vla0RheXMgPSAkLmV4dGVuZCh0cnVlLCBbXSwgX29wdGlvbnMuZGlzYWJsZWRXZWVrRGF5cyk7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmICgob3B0aW9ucy5vcGVuIHx8IG9wdGlvbnMub3BlbmVkKSAmJiAoIW9wdGlvbnMuaW5saW5lKSkgewogICAgICAgICAgICAgICAgICAgaW5wdXQudHJpZ2dlcignb3Blbi54ZHNvZnQnKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuaW5saW5lKSB7CiAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQWZ0ZXJPcGVuID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmFkZENsYXNzKCd4ZHNvZnRfaW5saW5lJyk7CiAgICAgICAgICAgICAgICAgICBpbnB1dC5hZnRlcihkYXRldGltZXBpY2tlcikuaGlkZSgpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAob3B0aW9ucy5pbnZlcnNlQnV0dG9uKSB7CiAgICAgICAgICAgICAgICAgICBvcHRpb25zLm5leHQgPSAneGRzb2Z0X3ByZXYnOwogICAgICAgICAgICAgICAgICAgb3B0aW9ucy5wcmV2ID0gJ3hkc29mdF9uZXh0JzsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGF0ZXBpY2tlcikgewogICAgICAgICAgICAgICAgICAgZGF0ZXBpY2tlci5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICBkYXRlcGlja2VyLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMudGltZXBpY2tlcikgewogICAgICAgICAgICAgICAgICAgdGltZXBpY2tlci5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICB0aW1lcGlja2VyLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMudmFsdWUpIHsKICAgICAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUuc2V0Q3VycmVudFRpbWUob3B0aW9ucy52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsKF94ZHNvZnRfZGF0ZXRpbWUuc3RyKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKGlzTmFOKG9wdGlvbnMuZGF5T2ZXZWVrU3RhcnQpKSB7CiAgICAgICAgICAgICAgICAgICBvcHRpb25zLmRheU9mV2Vla1N0YXJ0ID0gMDsKICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF5T2ZXZWVrU3RhcnQgPSBwYXJzZUludChvcHRpb25zLmRheU9mV2Vla1N0YXJ0LCAxMCkgJSA3OwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMudGltZXBpY2tlclNjcm9sbGJhcikgewogICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC54ZHNvZnRTY3JvbGxlcihvcHRpb25zLCAnaGlkZScpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAob3B0aW9ucy5taW5EYXRlICYmIC9eW1wrXC1dKC4qKSQvLnRlc3Qob3B0aW9ucy5taW5EYXRlKSkgewogICAgICAgICAgICAgICAgICAgb3B0aW9ucy5taW5EYXRlID0gZGF0ZUhlbHBlci5mb3JtYXREYXRlKF94ZHNvZnRfZGF0ZXRpbWUuc3RyVG9EYXRlVGltZShvcHRpb25zLm1pbkRhdGUpLCBvcHRpb25zLmZvcm1hdERhdGUpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAob3B0aW9ucy5tYXhEYXRlICYmICAvXltcK1wtXSguKikkLy50ZXN0KG9wdGlvbnMubWF4RGF0ZSkpIHsKICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubWF4RGF0ZSA9IGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZVRpbWUob3B0aW9ucy5tYXhEYXRlKSwgb3B0aW9ucy5mb3JtYXREYXRlKTsKICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubWluRGF0ZVRpbWUgJiYgIC9eXCsoLiopJC8udGVzdChvcHRpb25zLm1pbkRhdGVUaW1lKSkgewogICAgICAgICAgICAgICAgICAgb3B0aW9ucy5taW5EYXRlVGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RyVG9EYXRlVGltZShvcHRpb25zLm1pbkRhdGVUaW1lKS5kYXRlRm9ybWF0KG9wdGlvbnMuZm9ybWF0RGF0ZSk7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1heERhdGVUaW1lICYmICAvXlwrKC4qKSQvLnRlc3Qob3B0aW9ucy5tYXhEYXRlVGltZSkpIHsKICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubWF4RGF0ZVRpbWUgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZVRpbWUob3B0aW9ucy5tYXhEYXRlVGltZSkuZGF0ZUZvcm1hdChvcHRpb25zLmZvcm1hdERhdGUpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBhcHBseUJ1dHRvbi50b2dnbGUob3B0aW9ucy5zaG93QXBwbHlCdXR0b24pOwoKICAgICAgICAgICAgICAgbW9udGhfcGlja2VyCiAgICAgICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF90b2RheV9idXR0b24nKQogICAgICAgICAgICAgICAgICAgLmNzcygndmlzaWJpbGl0eScsICFvcHRpb25zLnRvZGF5QnV0dG9uID8gJ2hpZGRlbicgOiAndmlzaWJsZScpOwoKICAgICAgICAgICAgICAgbW9udGhfcGlja2VyCiAgICAgICAgICAgICAgICAgICAuZmluZCgnLicgKyBvcHRpb25zLnByZXYpCiAgICAgICAgICAgICAgICAgICAuY3NzKCd2aXNpYmlsaXR5JywgIW9wdGlvbnMucHJldkJ1dHRvbiA/ICdoaWRkZW4nIDogJ3Zpc2libGUnKTsKCiAgICAgICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAgICAgLmZpbmQoJy4nICsgb3B0aW9ucy5uZXh0KQogICAgICAgICAgICAgICAgICAgLmNzcygndmlzaWJpbGl0eScsICFvcHRpb25zLm5leHRCdXR0b24gPyAnaGlkZGVuJyA6ICd2aXNpYmxlJyk7CgogICAgICAgICAgICAgICBzZXRNYXNrKG9wdGlvbnMpOwoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMudmFsaWRhdGVPbkJsdXIpIHsKICAgICAgICAgICAgICAgICAgIGlucHV0CiAgICAgICAgICAgICAgICAgICAgICAgLm9mZignYmx1ci54ZHNvZnQnKQogICAgICAgICAgICAgICAgICAgICAgIC5vbignYmx1ci54ZHNvZnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmFsbG93QmxhbmsgJiYgKCEkLnRyaW0oJCh0aGlzKS52YWwoKSkubGVuZ3RoIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBvcHRpb25zLm1hc2sgPT09ICJzdHJpbmciICYmICQudHJpbSgkKHRoaXMpLnZhbCgpKSA9PT0gb3B0aW9ucy5tYXNrLnJlcGxhY2UoL1swLTldL2csICdfJykpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwobnVsbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5kYXRhKCd4ZHNvZnRfZGF0ZXRpbWUnKS5lbXB0eSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGQgPSBkYXRlSGVscGVyLnBhcnNlRGF0ZSgkKHRoaXMpLnZhbCgpLCBvcHRpb25zLmZvcm1hdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZCkgeyAvLyBwYXJzZURhdGUoKSBtYXkgc2tpcCBzb21lIGludmFsaWQgcGFydHMgbGlrZSBkYXRlIG9yIHRpbWUsIHNvIG1ha2UgaXQgY2xlYXIgZm9yIHVzZXI6IHNob3cgcGFyc2VkIGRhdGUvdGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudmFsKGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShkLCBvcHRpb25zLmZvcm1hdCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3BsaXR0ZWRIb3VycyAgID0gKyhbJCh0aGlzKS52YWwoKVswXSwgJCh0aGlzKS52YWwoKVsxXV0uam9pbignJykpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHRlZE1pbnV0ZXMgPSArKFskKHRoaXMpLnZhbCgpWzJdLCAkKHRoaXMpLnZhbCgpWzNdXS5qb2luKCcnKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhcnNlIHRoZSBudW1iZXJzIGFzIDAzMTIgPT4gMDM6MTIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuZGF0ZXBpY2tlciAmJiBvcHRpb25zLnRpbWVwaWNrZXIgJiYgc3BsaXR0ZWRIb3VycyA+PSAwICYmIHNwbGl0dGVkSG91cnMgPCAyNCAmJiBzcGxpdHRlZE1pbnV0ZXMgPj0gMCAmJiBzcGxpdHRlZE1pbnV0ZXMgPCA2MCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnZhbChbc3BsaXR0ZWRIb3Vycywgc3BsaXR0ZWRNaW51dGVzXS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtID4gOSA/IGl0ZW0gOiAnMCcgKyBpdGVtOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5qb2luKCc6JykpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudmFsKGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShfeGRzb2Z0X2RhdGV0aW1lLm5vdygpLCBvcHRpb25zLmZvcm1hdCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmRhdGEoJ3hkc29mdF9kYXRldGltZScpLnNldEN1cnJlbnRUaW1lKCQodGhpcykudmFsKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdjaGFuZ2VkYXRldGltZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgb3B0aW9ucy5kYXlPZldlZWtTdGFydFByZXYgPSAob3B0aW9ucy5kYXlPZldlZWtTdGFydCA9PT0gMCkgPyA2IDogb3B0aW9ucy5kYXlPZldlZWtTdGFydCAtIDE7CgogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlcgogICAgICAgICAgICAgICAgICAgLnRyaWdnZXIoJ3hjaGFuZ2UueGRzb2Z0JykKICAgICAgICAgICAgICAgICAgIC50cmlnZ2VyKCdhZnRlck9wZW4ueGRzb2Z0Jyk7CiAgICAgICAgICAgfTsKCiAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIKICAgICAgICAgICAgICAgLmRhdGEoJ29wdGlvbnMnLCBvcHRpb25zKQogICAgICAgICAgICAgICAub24oJ3RvdWNoc3RhcnQgbW91c2Vkb3duLnhkc29mdCcsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgeWVhcnNlbGVjdC5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICBtb250aHNlbGVjdC5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAvL3Njcm9sbF9lbGVtZW50ID0gdGltZXBpY2tlci5maW5kKCcueGRzb2Z0X3RpbWVfYm94Jyk7CiAgICAgICAgICAgdGltZWJveHBhcmVudC5hcHBlbmQodGltZWJveCk7CiAgICAgICAgICAgdGltZWJveHBhcmVudC54ZHNvZnRTY3JvbGxlcihvcHRpb25zKTsKCiAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIub24oJ2FmdGVyT3Blbi54ZHNvZnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQueGRzb2Z0U2Nyb2xsZXIob3B0aW9ucyk7CiAgICAgICAgICAgfSk7CgogICAgICAgICAgIGRhdGV0aW1lcGlja2VyCiAgICAgICAgICAgICAgIC5hcHBlbmQoZGF0ZXBpY2tlcikKICAgICAgICAgICAgICAgLmFwcGVuZCh0aW1lcGlja2VyKTsKCiAgICAgICAgICAgaWYgKG9wdGlvbnMud2l0aG91dENvcHlyaWdodCAhPT0gdHJ1ZSkgewogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlcgogICAgICAgICAgICAgICAgICAgLmFwcGVuZCh4ZHNvZnRfY29weXJpZ2h0KTsKICAgICAgICAgICB9CgogICAgICAgICAgIGRhdGVwaWNrZXIKICAgICAgICAgICAgICAgLmFwcGVuZChtb250aF9waWNrZXIpCiAgICAgICAgICAgICAgIC5hcHBlbmQoY2FsZW5kYXIpCiAgICAgICAgICAgICAgIC5hcHBlbmQoYXBwbHlCdXR0b24pOwoKICAgICAgICAgICAkKG9wdGlvbnMucGFyZW50SUQpCiAgICAgICAgICAgICAgIC5hcHBlbmQoZGF0ZXRpbWVwaWNrZXIpOwoKICAgICAgICAgICBYRFNvZnRfZGF0ZXRpbWUgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgICAgICAgICAgIF90aGlzLm5vdyA9IGZ1bmN0aW9uIChub3JlY3Vyc2lvbikgewogICAgICAgICAgICAgICAgICAgdmFyIGQgPSBuZXcgRGF0ZSgpLAogICAgICAgICAgICAgICAgICAgICAgIGRhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgdGltZTsKCiAgICAgICAgICAgICAgICAgICBpZiAoIW5vcmVjdXJzaW9uICYmIG9wdGlvbnMuZGVmYXVsdERhdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICBkYXRlID0gX3RoaXMuc3RyVG9EYXRlVGltZShvcHRpb25zLmRlZmF1bHREYXRlKTsKICAgICAgICAgICAgICAgICAgICAgICBkLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgZC5zZXRNb250aChkYXRlLmdldE1vbnRoKCkpOwogICAgICAgICAgICAgICAgICAgICAgIGQuc2V0RGF0ZShkYXRlLmdldERhdGUoKSk7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgZC5zZXRGdWxsWWVhcihkLmdldEZ1bGxZZWFyKCkpOwoKICAgICAgICAgICAgICAgICAgIGlmICghbm9yZWN1cnNpb24gJiYgb3B0aW9ucy5kZWZhdWx0VGltZSkgewogICAgICAgICAgICAgICAgICAgICAgIHRpbWUgPSBfdGhpcy5zdHJ0b3RpbWUob3B0aW9ucy5kZWZhdWx0VGltZSk7CiAgICAgICAgICAgICAgICAgICAgICAgZC5zZXRIb3Vycyh0aW1lLmdldEhvdXJzKCkpOwogICAgICAgICAgICAgICAgICAgICAgIGQuc2V0TWludXRlcyh0aW1lLmdldE1pbnV0ZXMoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgZC5zZXRTZWNvbmRzKHRpbWUuZ2V0U2Vjb25kcygpKTsKICAgICAgICAgICAgICAgICAgICAgICBkLnNldE1pbGxpc2Vjb25kcyh0aW1lLmdldE1pbGxpc2Vjb25kcygpKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHJldHVybiBkOwogICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgX3RoaXMuaXNWYWxpZERhdGUgPSBmdW5jdGlvbiAoZCkgewogICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChkKSAhPT0gIltvYmplY3QgRGF0ZV0iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgcmV0dXJuICFpc05hTihkLmdldFRpbWUoKSk7CiAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICBfdGhpcy5zZXRDdXJyZW50VGltZSA9IGZ1bmN0aW9uIChkVGltZSwgcmVxdWlyZVZhbGlkRGF0ZSkgewogICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkVGltZSA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZSA9IF90aGlzLnN0clRvRGF0ZVRpbWUoZFRpbWUpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoX3RoaXMuaXNWYWxpZERhdGUoZFRpbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFRpbWUgPSBkVGltZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFkVGltZSAmJiAhcmVxdWlyZVZhbGlkRGF0ZSAmJiBvcHRpb25zLmFsbG93QmxhbmsgJiYgIW9wdGlvbnMuaW5saW5lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFRpbWUgPSBudWxsOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFRpbWUgPSBfdGhpcy5ub3coKTsKICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCd4Y2hhbmdlLnhkc29mdCcpOwogICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgX3RoaXMuZW1wdHkgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZSA9IG51bGw7CiAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICBfdGhpcy5nZXRDdXJyZW50VGltZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jdXJyZW50VGltZTsKICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgIF90aGlzLm5leHRNb250aCA9IGZ1bmN0aW9uICgpIHsKCiAgICAgICAgICAgICAgICAgICBpZiAoX3RoaXMuY3VycmVudFRpbWUgPT09IHVuZGVmaW5lZCB8fCBfdGhpcy5jdXJyZW50VGltZSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRUaW1lID0gX3RoaXMubm93KCk7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgdmFyIG1vbnRoID0gX3RoaXMuY3VycmVudFRpbWUuZ2V0TW9udGgoKSArIDEsCiAgICAgICAgICAgICAgICAgICAgICAgeWVhcjsKICAgICAgICAgICAgICAgICAgIGlmIChtb250aCA9PT0gMTIpIHsKICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZS5zZXRGdWxsWWVhcihfdGhpcy5jdXJyZW50VGltZS5nZXRGdWxsWWVhcigpICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgbW9udGggPSAwOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIHllYXIgPSBfdGhpcy5jdXJyZW50VGltZS5nZXRGdWxsWWVhcigpOwoKICAgICAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRUaW1lLnNldERhdGUoCiAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5taW4oCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKF90aGlzLmN1cnJlbnRUaW1lLmdldEZ1bGxZZWFyKCksIG1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZS5nZXREYXRlKCkKICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFRpbWUuc2V0TW9udGgobW9udGgpOwoKICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uQ2hhbmdlTW9udGggJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25DaGFuZ2VNb250aCkpIHsKICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm9uQ2hhbmdlTW9udGguY2FsbChkYXRldGltZXBpY2tlciwgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKSk7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgaWYgKHllYXIgIT09IF90aGlzLmN1cnJlbnRUaW1lLmdldEZ1bGxZZWFyKCkgJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25DaGFuZ2VZZWFyKSkgewogICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMub25DaGFuZ2VZZWFyLmNhbGwoZGF0ZXRpbWVwaWNrZXIsIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUsIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2lucHV0JykpOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ3hjaGFuZ2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICByZXR1cm4gbW9udGg7CiAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICBfdGhpcy5wcmV2TW9udGggPSBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgICAgaWYgKF90aGlzLmN1cnJlbnRUaW1lID09PSB1bmRlZmluZWQgfHwgX3RoaXMuY3VycmVudFRpbWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZSA9IF90aGlzLm5vdygpOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIHZhciBtb250aCA9IF90aGlzLmN1cnJlbnRUaW1lLmdldE1vbnRoKCkgLSAxOwogICAgICAgICAgICAgICAgICAgaWYgKG1vbnRoID09PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRUaW1lLnNldEZ1bGxZZWFyKF90aGlzLmN1cnJlbnRUaW1lLmdldEZ1bGxZZWFyKCkgLSAxKTsKICAgICAgICAgICAgICAgICAgICAgICBtb250aCA9IDExOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgX3RoaXMuY3VycmVudFRpbWUuc2V0RGF0ZSgKICAgICAgICAgICAgICAgICAgICAgICBNYXRoLm1pbigKICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoX3RoaXMuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKSwgbW9udGggKyAxLCAwKS5nZXREYXRlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRUaW1lLmdldERhdGUoKQogICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICBfdGhpcy5jdXJyZW50VGltZS5zZXRNb250aChtb250aCk7CiAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vbkNoYW5nZU1vbnRoICYmICQuaXNGdW5jdGlvbihvcHRpb25zLm9uQ2hhbmdlTW9udGgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5vbkNoYW5nZU1vbnRoLmNhbGwoZGF0ZXRpbWVwaWNrZXIsIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUsIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2lucHV0JykpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcigneGNoYW5nZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgIHJldHVybiBtb250aDsKICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgIF90aGlzLmdldFdlZWtPZlllYXIgPSBmdW5jdGlvbiAoZGF0ZXRpbWUpIHsKICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uR2V0V2Vla09mWWVhciAmJiAkLmlzRnVuY3Rpb24ob3B0aW9ucy5vbkdldFdlZWtPZlllYXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIHdlZWsgPSBvcHRpb25zLm9uR2V0V2Vla09mWWVhci5jYWxsKGRhdGV0aW1lcGlja2VyLCBkYXRldGltZSk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB3ZWVrICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gd2VlazsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB2YXIgb25lamFuID0gbmV3IERhdGUoZGF0ZXRpbWUuZ2V0RnVsbFllYXIoKSwgMCwgMSk7CgogICAgICAgICAgICAgICAgICAgLy9GaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyIGlzIHRoIG9uZSB3aXRoIHRoZSBmaXJzdCBUaHVyc2RheSBhY2NvcmRpbmcgdG8gSVNPODYwMQogICAgICAgICAgICAgICAgICAgaWYgKG9uZWphbi5nZXREYXkoKSAhPT0gNCkgewogICAgICAgICAgICAgICAgICAgICAgIG9uZWphbi5zZXRNb250aCgwLCAxICsgKCg0IC0gb25lamFuLmdldERheSgpKyA3KSAlIDcpKTsKICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCgoKGRhdGV0aW1lIC0gb25lamFuKSAvIDg2NDAwMDAwKSArIG9uZWphbi5nZXREYXkoKSArIDEpIC8gNyk7CiAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICBfdGhpcy5zdHJUb0RhdGVUaW1lID0gZnVuY3Rpb24gKHNEYXRlVGltZSkgewogICAgICAgICAgICAgICAgICAgdmFyIHRtcERhdGUgPSBbXSwgdGltZU9mZnNldCwgY3VycmVudFRpbWU7CgogICAgICAgICAgICAgICAgICAgaWYgKHNEYXRlVGltZSAmJiBzRGF0ZVRpbWUgaW5zdGFuY2VvZiBEYXRlICYmIF90aGlzLmlzVmFsaWREYXRlKHNEYXRlVGltZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc0RhdGVUaW1lOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIHRtcERhdGUgPSAvXihbKy1dezF9KSguKikkLy5leGVjKHNEYXRlVGltZSk7CgogICAgICAgICAgICAgICAgICAgaWYgKHRtcERhdGUpIHsKICAgICAgICAgICAgICAgICAgICAgICB0bXBEYXRlWzJdID0gZGF0ZUhlbHBlci5wYXJzZURhdGUodG1wRGF0ZVsyXSwgb3B0aW9ucy5mb3JtYXREYXRlKTsKICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICBpZiAodG1wRGF0ZSAgJiYgdG1wRGF0ZVsyXSkgewogICAgICAgICAgICAgICAgICAgICAgIHRpbWVPZmZzZXQgPSB0bXBEYXRlWzJdLmdldFRpbWUoKSAtICh0bXBEYXRlWzJdLmdldFRpbWV6b25lT2Zmc2V0KCkpICogNjAwMDA7CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUgPSBuZXcgRGF0ZSgoX3RoaXMubm93KHRydWUpKS5nZXRUaW1lKCkgKyBwYXJzZUludCh0bXBEYXRlWzFdICsgJzEnLCAxMCkgKiB0aW1lT2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUgPSBzRGF0ZVRpbWUgPyBkYXRlSGVscGVyLnBhcnNlRGF0ZShzRGF0ZVRpbWUsIG9wdGlvbnMuZm9ybWF0KSA6IF90aGlzLm5vdygpOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIGlmICghX3RoaXMuaXNWYWxpZERhdGUoY3VycmVudFRpbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUgPSBfdGhpcy5ub3coKTsKICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFRpbWU7CiAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICBfdGhpcy5zdHJUb0RhdGUgPSBmdW5jdGlvbiAoc0RhdGUpIHsKICAgICAgICAgICAgICAgICAgIGlmIChzRGF0ZSAmJiBzRGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgX3RoaXMuaXNWYWxpZERhdGUoc0RhdGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNEYXRlOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50VGltZSA9IHNEYXRlID8gZGF0ZUhlbHBlci5wYXJzZURhdGUoc0RhdGUsIG9wdGlvbnMuZm9ybWF0RGF0ZSkgOiBfdGhpcy5ub3codHJ1ZSk7CiAgICAgICAgICAgICAgICAgICBpZiAoIV90aGlzLmlzVmFsaWREYXRlKGN1cnJlbnRUaW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lID0gX3RoaXMubm93KHRydWUpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lOwogICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgX3RoaXMuc3RydG90aW1lID0gZnVuY3Rpb24gKHNUaW1lKSB7CiAgICAgICAgICAgICAgICAgICBpZiAoc1RpbWUgJiYgc1RpbWUgaW5zdGFuY2VvZiBEYXRlICYmIF90aGlzLmlzVmFsaWREYXRlKHNUaW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzVGltZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50VGltZSA9IHNUaW1lID8gZGF0ZUhlbHBlci5wYXJzZURhdGUoc1RpbWUsIG9wdGlvbnMuZm9ybWF0VGltZSkgOiBfdGhpcy5ub3codHJ1ZSk7CiAgICAgICAgICAgICAgICAgICBpZiAoIV90aGlzLmlzVmFsaWREYXRlKGN1cnJlbnRUaW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lID0gX3RoaXMubm93KHRydWUpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lOwogICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgX3RoaXMuc3RyID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgdmFyIGZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0OwogICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMueWVhck9mZnNldCkgewogICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKCdZJywgX3RoaXMuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKSArIG9wdGlvbnMueWVhck9mZnNldCk7CiAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoJ3knLCBTdHJpbmcoX3RoaXMuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKSArIG9wdGlvbnMueWVhck9mZnNldCkuc3Vic3RyaW5nKDIsIDQpKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlSGVscGVyLmZvcm1hdERhdGUoX3RoaXMuY3VycmVudFRpbWUsIGZvcm1hdCk7CiAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgIF90aGlzLmN1cnJlbnRUaW1lID0gdGhpcy5ub3coKTsKICAgICAgICAgICB9OwoKICAgICAgICAgICBfeGRzb2Z0X2RhdGV0aW1lID0gbmV3IFhEU29mdF9kYXRldGltZSgpOwoKICAgICAgICAgICBhcHBseUJ1dHRvbi5vbigndG91Y2hlbmQgY2xpY2snLCBmdW5jdGlvbiAoZSkgey8vcGF0aGJyaXRlCiAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcsIHRydWUpOwogICAgICAgICAgICAgICBfeGRzb2Z0X2RhdGV0aW1lLnNldEN1cnJlbnRUaW1lKGdldEN1cnJlbnRWYWx1ZSgpKTsKICAgICAgICAgICAgICAgaW5wdXQudmFsKF94ZHNvZnRfZGF0ZXRpbWUuc3RyKCkpOwogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdjbG9zZS54ZHNvZnQnKTsKICAgICAgICAgICB9KTsKICAgICAgICAgICBtb250aF9waWNrZXIKICAgICAgICAgICAgICAgLmZpbmQoJy54ZHNvZnRfdG9kYXlfYnV0dG9uJykKICAgICAgICAgICAgICAgLm9uKCd0b3VjaGVuZCBtb3VzZWRvd24ueGRzb2Z0JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcsIHRydWUpOwogICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5zZXRDdXJyZW50VGltZSgwLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ2FmdGVyT3Blbi54ZHNvZnQnKTsKICAgICAgICAgICAgICAgfSkub24oJ2RibGNsaWNrLnhkc29mdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgdmFyIGN1cnJlbnREYXRlID0gX3hkc29mdF9kYXRldGltZS5nZXRDdXJyZW50VGltZSgpLCBtaW5EYXRlLCBtYXhEYXRlOwogICAgICAgICAgICAgICBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksIGN1cnJlbnREYXRlLmdldE1vbnRoKCksIGN1cnJlbnREYXRlLmdldERhdGUoKSk7CiAgICAgICAgICAgICAgIG1pbkRhdGUgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZShvcHRpb25zLm1pbkRhdGUpOwogICAgICAgICAgICAgICBtaW5EYXRlID0gbmV3IERhdGUobWluRGF0ZS5nZXRGdWxsWWVhcigpLCBtaW5EYXRlLmdldE1vbnRoKCksIG1pbkRhdGUuZ2V0RGF0ZSgpKTsKICAgICAgICAgICAgICAgaWYgKGN1cnJlbnREYXRlIDwgbWluRGF0ZSkgewogICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIG1heERhdGUgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZShvcHRpb25zLm1heERhdGUpOwogICAgICAgICAgICAgICBtYXhEYXRlID0gbmV3IERhdGUobWF4RGF0ZS5nZXRGdWxsWWVhcigpLCBtYXhEYXRlLmdldE1vbnRoKCksIG1heERhdGUuZ2V0RGF0ZSgpKTsKICAgICAgICAgICAgICAgaWYgKGN1cnJlbnREYXRlID4gbWF4RGF0ZSkgewogICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGlucHV0LnZhbChfeGRzb2Z0X2RhdGV0aW1lLnN0cigpKTsKICAgICAgICAgICAgICAgaW5wdXQudHJpZ2dlcignY2hhbmdlJyk7CiAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ2Nsb3NlLnhkc29mdCcpOwogICAgICAgICAgIH0pOwogICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF9wcmV2LC54ZHNvZnRfbmV4dCcpCiAgICAgICAgICAgICAgIC5vbigndG91Y2hlbmQgbW91c2Vkb3duLnhkc29mdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgdGltZXIgPSAwLAogICAgICAgICAgICAgICAgICAgICAgIHN0b3AgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24gYXJndW1lbnRzX2NhbGxlZTEodikgewogICAgICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcyhvcHRpb25zLm5leHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUubmV4dE1vbnRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgkdGhpcy5oYXNDbGFzcyhvcHRpb25zLnByZXYpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUucHJldk1vbnRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1vbnRoQ2hhbmdlU3Bpbm5lcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0b3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChhcmd1bWVudHNfY2FsbGVlMSwgdiB8fCAxMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfSg1MDApKTsKCiAgICAgICAgICAgICAgICAgICAkKFtvcHRpb25zLm93bmVyRG9jdW1lbnQuYm9keSwgb3B0aW9ucy5jb250ZW50V2luZG93XSkub24oJ3RvdWNoZW5kIG1vdXNldXAueGRzb2Z0JywgZnVuY3Rpb24gYXJndW1lbnRzX2NhbGxlZTIoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICAgICAgICAgICAgICAgICBzdG9wID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAkKFtvcHRpb25zLm93bmVyRG9jdW1lbnQuYm9keSwgb3B0aW9ucy5jb250ZW50V2luZG93XSkub2ZmKCd0b3VjaGVuZCBtb3VzZXVwLnhkc29mdCcsIGFyZ3VtZW50c19jYWxsZWUyKTsKICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgdGltZXBpY2tlcgogICAgICAgICAgICAgICAuZmluZCgnLnhkc29mdF9wcmV2LC54ZHNvZnRfbmV4dCcpCiAgICAgICAgICAgICAgIC5vbigndG91Y2hlbmQgbW91c2Vkb3duLnhkc29mdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgdGltZXIgPSAwLAogICAgICAgICAgICAgICAgICAgICAgIHN0b3AgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgPSAxMTA7CiAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24gYXJndW1lbnRzX2NhbGxlZTQodikgewogICAgICAgICAgICAgICAgICAgICAgIHZhciBwaGVpZ2h0ID0gdGltZWJveHBhcmVudFswXS5jbGllbnRIZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IHRpbWVib3hbMF0ub2Zmc2V0SGVpZ2h0LAogICAgICAgICAgICAgICAgICAgICAgICAgICB0b3AgPSBNYXRoLmFicyhwYXJzZUludCh0aW1lYm94LmNzcygnbWFyZ2luVG9wJyksIDEwKSk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLmhhc0NsYXNzKG9wdGlvbnMubmV4dCkgJiYgKGhlaWdodCAtIHBoZWlnaHQpIC0gb3B0aW9ucy50aW1lSGVpZ2h0SW5UaW1lUGlja2VyID49IHRvcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYm94LmNzcygnbWFyZ2luVG9wJywgJy0nICsgKHRvcCArIG9wdGlvbnMudGltZUhlaWdodEluVGltZVBpY2tlcikgKyAncHgnKTsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCR0aGlzLmhhc0NsYXNzKG9wdGlvbnMucHJldikgJiYgdG9wIC0gb3B0aW9ucy50aW1lSGVpZ2h0SW5UaW1lUGlja2VyID49IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveC5jc3MoJ21hcmdpblRvcCcsICctJyArICh0b3AgLSBvcHRpb25zLnRpbWVIZWlnaHRJblRpbWVQaWNrZXIpICsgJ3B4Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgICAgICAgICAgICAqIEZpeGVkIGJ1ZzoKICAgICAgICAgICAgICAgICAgICAgICAgKiBXaGVuIHVzaW5nIGNzczMgdHJhbnNpdGlvbiwgaXQgd2lsbCBjYXVzZSBhIGJ1ZyB0aGF0IHlvdSBjYW5ub3Qgc2Nyb2xsIHRoZSB0aW1lcGlja2VyIGxpc3QuCiAgICAgICAgICAgICAgICAgICAgICAgICogVGhlIHJlYXNvbiBpcyB0aGF0IHRoZSB0cmFuc2l0aW9uLWR1cmF0aW9uIHRpbWUsIGlmIHlvdSBzZXQgaXQgdG8gMCwgYWxsIHRoaW5ncyBmaW5lLCBvdGhlcndpc2UsIHRoaXMKICAgICAgICAgICAgICAgICAgICAgICAgKiB3b3VsZCBjYXVzZSBhIGJ1ZyB3aGVuIHlvdSB1c2UganF1ZXJ5LmNzcyBtZXRob2QuCiAgICAgICAgICAgICAgICAgICAgICAgICogTGV0J3Mgc2F5OiAqIHsgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlOyB9CiAgICAgICAgICAgICAgICAgICAgICAgICoganF1ZXJ5IHRpbWVib3guY3NzKCdtYXJnaW5Ub3AnKSB3aWxsIHJldHVybiB0aGUgb3JpZ2luYWwgdmFsdWUgd2hpY2ggaXMgYmVmb3JlIHlvdSBjbGlja2luZyB0aGUgbmV4dC9wcmV2IGJ1dHRvbiwKICAgICAgICAgICAgICAgICAgICAgICAgKiBtZWFud2hpbGUgdGhlIHRpbWVib3hbMF0uc3R5bGUubWFyZ2luVG9wIHdpbGwgcmV0dXJuIHRoZSByaWdodCB2YWx1ZSB3aGljaCBpcyBhZnRlciB5b3UgY2xpY2tpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICogbmV4dC9wcmV2IGJ1dHRvbi4KICAgICAgICAgICAgICAgICAgICAgICAgKgogICAgICAgICAgICAgICAgICAgICAgICAqIFdoYXQgd2Ugc2hvdWxkIGRvOgogICAgICAgICAgICAgICAgICAgICAgICAqIFJlcGxhY2UgdGltZWJveC5jc3MoJ21hcmdpblRvcCcpIHdpdGggdGltZWJveFswXS5zdHlsZS5tYXJnaW5Ub3AuCiAgICAgICAgICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC50cmlnZ2VyKCdzY3JvbGxfZWxlbWVudC54ZHNvZnRfc2Nyb2xsZXInLCBbTWF0aC5hYnMocGFyc2VJbnQodGltZWJveFswXS5zdHlsZS5tYXJnaW5Ub3AsIDEwKSAvIChoZWlnaHQgLSBwaGVpZ2h0KSldKTsKICAgICAgICAgICAgICAgICAgICAgICBwZXJpb2QgPSAocGVyaW9kID4gMTApID8gMTAgOiBwZXJpb2QgLSAxMDsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0b3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGFyZ3VtZW50c19jYWxsZWU0LCB2IHx8IHBlcmlvZCk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfSg1MDApKTsKICAgICAgICAgICAgICAgICAgICQoW29wdGlvbnMub3duZXJEb2N1bWVudC5ib2R5LCBvcHRpb25zLmNvbnRlbnRXaW5kb3ddKS5vbigndG91Y2hlbmQgbW91c2V1cC54ZHNvZnQnLCBmdW5jdGlvbiBhcmd1bWVudHNfY2FsbGVlNSgpIHsKICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICAgICAgICAgICAgICAgICAgIHN0b3AgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICQoW29wdGlvbnMub3duZXJEb2N1bWVudC5ib2R5LCBvcHRpb25zLmNvbnRlbnRXaW5kb3ddKQogICAgICAgICAgICAgICAgICAgICAgICAgICAub2ZmKCd0b3VjaGVuZCBtb3VzZXVwLnhkc29mdCcsIGFyZ3VtZW50c19jYWxsZWU1KTsKICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgeGNoYW5nZVRpbWVyID0gMDsKICAgICAgICAgICAvLyBiYXNlIGhhbmRsZXIgLSBnZW5lcmF0aW5nIGEgY2FsZW5kYXIgYW5kIHRpbWVwaWNrZXIKICAgICAgICAgICBkYXRldGltZXBpY2tlcgogICAgICAgICAgICAgICAub24oJ3hjaGFuZ2UueGRzb2Z0JywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoeGNoYW5nZVRpbWVyKTsKICAgICAgICAgICAgICAgICAgIHhjaGFuZ2VUaW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSA9PT0gdW5kZWZpbmVkIHx8IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUubm93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGFibGUgPQknJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBuZXcgRGF0ZShfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLmdldEZ1bGxZZWFyKCksIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0TW9udGgoKSwgMSwgMTIsIDAsIDApLAogICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kYXkgPSBfeGRzb2Z0X2RhdGV0aW1lLm5vdygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhEYXRlID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkRhdGUgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluRGF0ZVRpbWUgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RGF0ZVRpbWUgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaERhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdywKICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyA9IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21EYXRlU2V0dGluZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JvdyA9IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgPSAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgaCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZV90aW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjsKCiAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHN0YXJ0LmdldERheSgpICE9PSBvcHRpb25zLmRheU9mV2Vla1N0YXJ0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LnNldERhdGUoc3RhcnQuZ2V0RGF0ZSgpIC0gMSk7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSArPSAnPHRhYmxlPjx0aGVhZD48dHI+JzsKCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMud2Vla3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgKz0gJzx0aD48L3RoPic7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgNzsgaiArPSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlICs9ICc8dGg+JyArIG9wdGlvbnMuaTE4bltnbG9iYWxMb2NhbGVdLmRheU9mV2Vla1Nob3J0WyhqICsgb3B0aW9ucy5kYXlPZldlZWtTdGFydCkgJSA3XSArICc8L3RoPic7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSArPSAnPC90cj48L3RoZWFkPic7CiAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgKz0gJzx0Ym9keT4nOwoKICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5tYXhEYXRlICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhEYXRlID0gX3hkc29mdF9kYXRldGltZS5zdHJUb0RhdGUob3B0aW9ucy5tYXhEYXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RGF0ZSA9IG5ldyBEYXRlKG1heERhdGUuZ2V0RnVsbFllYXIoKSwgbWF4RGF0ZS5nZXRNb250aCgpLCBtYXhEYXRlLmdldERhdGUoKSwgMjMsIDU5LCA1OSwgOTk5KTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1pbkRhdGUgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbkRhdGUgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZShvcHRpb25zLm1pbkRhdGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5EYXRlID0gbmV3IERhdGUobWluRGF0ZS5nZXRGdWxsWWVhcigpLCBtaW5EYXRlLmdldE1vbnRoKCksIG1pbkRhdGUuZ2V0RGF0ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1pbkRhdGVUaW1lICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5EYXRlVGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RyVG9EYXRlKG9wdGlvbnMubWluRGF0ZVRpbWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5EYXRlVGltZSA9IG5ldyBEYXRlKG1pbkRhdGVUaW1lLmdldEZ1bGxZZWFyKCksIG1pbkRhdGVUaW1lLmdldE1vbnRoKCksIG1pbkRhdGVUaW1lLmdldERhdGUoKSwgbWluRGF0ZVRpbWUuZ2V0SG91cnMoKSwgbWluRGF0ZVRpbWUuZ2V0TWludXRlcygpLCBtaW5EYXRlVGltZS5nZXRTZWNvbmRzKCkpOwogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubWF4RGF0ZVRpbWUgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heERhdGVUaW1lID0gX3hkc29mdF9kYXRldGltZS5zdHJUb0RhdGUob3B0aW9ucy5tYXhEYXRlVGltZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heERhdGVUaW1lID0gbmV3IERhdGUobWF4RGF0ZVRpbWUuZ2V0RnVsbFllYXIoKSwgbWF4RGF0ZVRpbWUuZ2V0TW9udGgoKSwgbWF4RGF0ZVRpbWUuZ2V0RGF0ZSgpLCBtYXhEYXRlVGltZS5nZXRIb3VycygpLCBtYXhEYXRlVGltZS5nZXRNaW51dGVzKCksIG1heERhdGVUaW1lLmdldFNlY29uZHMoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4RGF0ZVRpbWVEYXk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1heERhdGVUaW1lICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhEYXRlVGltZURheSA9ICgobWF4RGF0ZVRpbWUuZ2V0RnVsbFllYXIoKSAqIDEyKSArIG1heERhdGVUaW1lLmdldE1vbnRoKCkpICogMzEgKyBtYXhEYXRlVGltZS5nZXREYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaSA8IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuY291bnREYXlzSW5Nb250aCgpIHx8IHN0YXJ0LmdldERheSgpICE9PSBvcHRpb25zLmRheU9mV2Vla1N0YXJ0IHx8IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0TW9udGgoKSA9PT0gc3RhcnQuZ2V0TW9udGgoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gMTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheSA9IHN0YXJ0LmdldERheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkID0gc3RhcnQuZ2V0RGF0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB5ID0gc3RhcnQuZ2V0RnVsbFllYXIoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9IHN0YXJ0LmdldE1vbnRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHcgPSBfeGRzb2Z0X2RhdGV0aW1lLmdldFdlZWtPZlllYXIoc3RhcnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICcnOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfZGF0ZScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlU2hvd0RheSAmJiAkLmlzRnVuY3Rpb24ob3B0aW9ucy5iZWZvcmVTaG93RGF5LmNhbGwpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21EYXRlU2V0dGluZ3MgPSBvcHRpb25zLmJlZm9yZVNob3dEYXkuY2FsbChkYXRldGltZXBpY2tlciwgc3RhcnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRGF0ZVNldHRpbmdzID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9ucy5hbGxvd0RhdGVSZSAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob3B0aW9ucy5hbGxvd0RhdGVSZSkgPT09ICJbb2JqZWN0IFJlZ0V4cF0iKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFvcHRpb25zLmFsbG93RGF0ZVJlLnRlc3QoZGF0ZUhlbHBlci5mb3JtYXREYXRlKHN0YXJ0LCBvcHRpb25zLmZvcm1hdERhdGUpKSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYob3B0aW9ucy5hbGxvd0RhdGVzICYmIG9wdGlvbnMuYWxsb3dEYXRlcy5sZW5ndGg+MCl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihvcHRpb25zLmFsbG93RGF0ZXMuaW5kZXhPZihkYXRlSGVscGVyLmZvcm1hdERhdGUoc3RhcnQsIG9wdGlvbnMuZm9ybWF0RGF0ZSkpID09PSAtMSl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnREYXkgPSAoKHN0YXJ0LmdldEZ1bGxZZWFyKCkgKiAxMikgKyBzdGFydC5nZXRNb250aCgpKSAqIDMxICsgc3RhcnQuZ2V0RGF0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG1heERhdGUgIT09IGZhbHNlICYmIHN0YXJ0ID4gbWF4RGF0ZSkgfHwgKG1pbkRhdGVUaW1lICE9PSBmYWxzZSAmJiBzdGFydCA8IG1pbkRhdGVUaW1lKSAgfHwgKG1pbkRhdGUgIT09IGZhbHNlICYmIHN0YXJ0IDwgbWluRGF0ZSkgfHwgKG1heERhdGVUaW1lICE9PSBmYWxzZSAmJiBjdXJyZW50RGF5ID4gbWF4RGF0ZVRpbWVEYXkpIHx8IChjdXN0b21EYXRlU2V0dGluZ3MgJiYgY3VzdG9tRGF0ZVNldHRpbmdzWzBdID09PSBmYWxzZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMucHVzaCgneGRzb2Z0X2Rpc2FibGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRpc2FibGVkRGF0ZXMuaW5kZXhPZihkYXRlSGVscGVyLmZvcm1hdERhdGUoc3RhcnQsIG9wdGlvbnMuZm9ybWF0RGF0ZSkpICE9PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGlzYWJsZWRXZWVrRGF5cy5pbmRleE9mKGRheSkgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3hkc29mdF9kaXNhYmxlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuaXMoJ1tkaXNhYmxlZF0nKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfZGlzYWJsZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1c3RvbURhdGVTZXR0aW5ncyAmJiBjdXN0b21EYXRlU2V0dGluZ3NbMV0gIT09ICIiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goY3VzdG9tRGF0ZVNldHRpbmdzWzFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0TW9udGgoKSAhPT0gbSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfb3RoZXJfbW9udGgnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChvcHRpb25zLmRlZmF1bHRTZWxlY3QgfHwgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcpKSAmJiBkYXRlSGVscGVyLmZvcm1hdERhdGUoX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgb3B0aW9ucy5mb3JtYXREYXRlKSA9PT0gZGF0ZUhlbHBlci5mb3JtYXREYXRlKHN0YXJ0LCBvcHRpb25zLmZvcm1hdERhdGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3hkc29mdF9jdXJyZW50Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRlSGVscGVyLmZvcm1hdERhdGUodG9kYXksIG9wdGlvbnMuZm9ybWF0RGF0ZSkgPT09IGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShzdGFydCwgb3B0aW9ucy5mb3JtYXREYXRlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfdG9kYXknKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0LmdldERheSgpID09PSAwIHx8IHN0YXJ0LmdldERheSgpID09PSA2IHx8IG9wdGlvbnMud2Vla2VuZHMuaW5kZXhPZihkYXRlSGVscGVyLmZvcm1hdERhdGUoc3RhcnQsIG9wdGlvbnMuZm9ybWF0RGF0ZSkpICE9PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfd2Vla2VuZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5oaWdobGlnaHRlZERhdGVzW2RhdGVIZWxwZXIuZm9ybWF0RGF0ZShzdGFydCwgb3B0aW9ucy5mb3JtYXREYXRlKV0gIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaERhdGUgPSBvcHRpb25zLmhpZ2hsaWdodGVkRGF0ZXNbZGF0ZUhlbHBlci5mb3JtYXREYXRlKHN0YXJ0LCBvcHRpb25zLmZvcm1hdERhdGUpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMucHVzaChoRGF0ZS5zdHlsZSA9PT0gdW5kZWZpbmVkID8gJ3hkc29mdF9oaWdobGlnaHRlZF9kZWZhdWx0JyA6IGhEYXRlLnN0eWxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gaERhdGUuZGVzYyA9PT0gdW5kZWZpbmVkID8gJycgOiBoRGF0ZS5kZXNjOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmVTaG93RGF5ICYmICQuaXNGdW5jdGlvbihvcHRpb25zLmJlZm9yZVNob3dEYXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2gob3B0aW9ucy5iZWZvcmVTaG93RGF5KHN0YXJ0KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdSb3cpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlICs9ICc8dHI+JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JvdyA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMud2Vla3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSArPSAnPHRoPicgKyB3ICsgJzwvdGg+JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgKz0gJzx0ZCBkYXRhLWRhdGU9IicgKyBkICsgJyIgZGF0YS1tb250aD0iJyArIG0gKyAnIiBkYXRhLXllYXI9IicgKyB5ICsgJyInICsgJyBjbGFzcz0ieGRzb2Z0X2RhdGUgeGRzb2Z0X2RheV9vZl93ZWVrJyArIHN0YXJ0LmdldERheSgpICsgJyAnICsgY2xhc3Nlcy5qb2luKCcgJykgKyAnIiB0aXRsZT0iJyArIGRlc2NyaXB0aW9uICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdj4nICsgZCArICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L3RkPic7CgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnQuZ2V0RGF5KCkgPT09IG9wdGlvbnMuZGF5T2ZXZWVrU3RhcnRQcmV2KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSArPSAnPC90cj4nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Um93ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQuc2V0RGF0ZShkICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIHRhYmxlICs9ICc8L3Rib2R5PjwvdGFibGU+JzsKCiAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXIuaHRtbCh0YWJsZSk7CgogICAgICAgICAgICAgICAgICAgICAgIG1vbnRoX3BpY2tlci5maW5kKCcueGRzb2Z0X2xhYmVsIHNwYW4nKS5lcSgwKS50ZXh0KG9wdGlvbnMuaTE4bltnbG9iYWxMb2NhbGVdLm1vbnRoc1tfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLmdldE1vbnRoKCldKTsKICAgICAgICAgICAgICAgICAgICAgICBtb250aF9waWNrZXIuZmluZCgnLnhkc29mdF9sYWJlbCBzcGFuJykuZXEoMSkudGV4dChfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLmdldEZ1bGxZZWFyKCkgKyBvcHRpb25zLnllYXJPZmZzZXQpOwoKICAgICAgICAgICAgICAgICAgICAgICAvLyBnZW5lcmF0ZSB0aW1lYm94CiAgICAgICAgICAgICAgICAgICAgICAgdGltZSA9ICcnOwogICAgICAgICAgICAgICAgICAgICAgIGggPSAnJzsKICAgICAgICAgICAgICAgICAgICAgICBtID0gJyc7CgogICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW5UaW1lTWludXRlc09mRGF5ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5taW5UaW1lICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RydG90aW1lKG9wdGlvbnMubWluVGltZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblRpbWVNaW51dGVzT2ZEYXkgPSA2MCAqIHQuZ2V0SG91cnMoKSArIHQuZ2V0TWludXRlcygpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4VGltZU1pbnV0ZXNPZkRheSA9IDI0ICogNjA7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubWF4VGltZSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0cnRvdGltZShvcHRpb25zLm1heFRpbWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhUaW1lTWludXRlc09mRGF5ID0gNjAgKiB0LmdldEhvdXJzKCkgKyB0LmdldE1pbnV0ZXMoKTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm1pbkRhdGVUaW1lICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RyVG9EYXRlVGltZShvcHRpb25zLm1pbkRhdGVUaW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50RGF5SXNNaW5EYXRlVGltZURheSA9IGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLCBvcHRpb25zLmZvcm1hdERhdGUpID09PSBkYXRlSGVscGVyLmZvcm1hdERhdGUodCwgb3B0aW9ucy5mb3JtYXREYXRlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnREYXlJc01pbkRhdGVUaW1lRGF5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbSA9IDYwICogdC5nZXRIb3VycygpICsgdC5nZXRNaW51dGVzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobSA+IG1pblRpbWVNaW51dGVzT2ZEYXkpIG1pblRpbWVNaW51dGVzT2ZEYXkgPSBtOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5tYXhEYXRlVGltZSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0clRvRGF0ZVRpbWUob3B0aW9ucy5tYXhEYXRlVGltZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudERheUlzTWF4RGF0ZVRpbWVEYXkgPSBkYXRlSGVscGVyLmZvcm1hdERhdGUoX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgb3B0aW9ucy5mb3JtYXREYXRlKSA9PT0gZGF0ZUhlbHBlci5mb3JtYXREYXRlKHQsIG9wdGlvbnMuZm9ybWF0RGF0ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RGF5SXNNYXhEYXRlVGltZURheSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG0gPSA2MCAqIHQuZ2V0SG91cnMoKSArIHQuZ2V0TWludXRlcygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG0gPCBtYXhUaW1lTWludXRlc09mRGF5KSBtYXhUaW1lTWludXRlc09mRGF5ID0gbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgbGluZV90aW1lID0gZnVuY3Rpb24gbGluZV90aW1lKGgsIG0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5vdyA9IF94ZHNvZnRfZGF0ZXRpbWUubm93KCksIGN1cnJlbnRfdGltZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQUxsb3dUaW1lc0luaXQgPSBvcHRpb25zLmFsbG93VGltZXMgJiYgJC5pc0FycmF5KG9wdGlvbnMuYWxsb3dUaW1lcykgJiYgb3B0aW9ucy5hbGxvd1RpbWVzLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgbm93LnNldEhvdXJzKGgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBoID0gcGFyc2VJbnQobm93LmdldEhvdXJzKCksIDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgbm93LnNldE1pbnV0ZXMobSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBwYXJzZUludChub3cuZ2V0TWludXRlcygpLCAxMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXMgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRNaW51dGVzT2ZEYXkgPSA2MCAqIGggKyBtOwogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuaXMoJ1tkaXNhYmxlZF0nKSB8fCAoY3VycmVudE1pbnV0ZXNPZkRheSA+PSBtYXhUaW1lTWludXRlc09mRGF5KSB8fCAoY3VycmVudE1pbnV0ZXNPZkRheSA8IG1pblRpbWVNaW51dGVzT2ZEYXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3hkc29mdF9kaXNhYmxlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50X3RpbWUgPSBuZXcgRGF0ZShfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF90aW1lLnNldEhvdXJzKHBhcnNlSW50KF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0SG91cnMoKSwgMTApKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNBTGxvd1RpbWVzSW5pdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF90aW1lLnNldE1pbnV0ZXMoTWF0aFtvcHRpb25zLnJvdW5kVGltZV0oX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZS5nZXRNaW51dGVzKCkgLyBvcHRpb25zLnN0ZXApICogb3B0aW9ucy5zdGVwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChvcHRpb25zLmluaXRUaW1lIHx8IG9wdGlvbnMuZGVmYXVsdFNlbGVjdCB8fCBkYXRldGltZXBpY2tlci5kYXRhKCdjaGFuZ2VkJykpICYmIGN1cnJlbnRfdGltZS5nZXRIb3VycygpID09PSBwYXJzZUludChoLCAxMCkgJiYgKCghaXNBTGxvd1RpbWVzSW5pdCAmJiBvcHRpb25zLnN0ZXAgPiA1OSkgfHwgY3VycmVudF90aW1lLmdldE1pbnV0ZXMoKSA9PT0gcGFyc2VJbnQobSwgMTApKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGVmYXVsdFNlbGVjdCB8fCBkYXRldGltZXBpY2tlci5kYXRhKCdjaGFuZ2VkJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3hkc29mdF9jdXJyZW50Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuaW5pdFRpbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3hkc29mdF9pbml0X3RpbWUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VJbnQodG9kYXkuZ2V0SG91cnMoKSwgMTApID09PSBwYXJzZUludChoLCAxMCkgJiYgcGFyc2VJbnQodG9kYXkuZ2V0TWludXRlcygpLCAxMCkgPT09IHBhcnNlSW50KG0sIDEwKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCd4ZHNvZnRfdG9kYXknKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lICs9ICc8ZGl2IGNsYXNzPSJ4ZHNvZnRfdGltZSAnICsgY2xhc3Nlcy5qb2luKCcgJykgKyAnIiBkYXRhLWhvdXI9IicgKyBoICsgJyIgZGF0YS1taW51dGU9IicgKyBtICsgJyI+JyArIGRhdGVIZWxwZXIuZm9ybWF0RGF0ZShub3csIG9wdGlvbnMuZm9ybWF0VGltZSkgKyAnPC9kaXY+JzsKICAgICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuYWxsb3dUaW1lcyB8fCAhJC5pc0FycmF5KG9wdGlvbnMuYWxsb3dUaW1lcykgfHwgIW9wdGlvbnMuYWxsb3dUaW1lcy5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCAob3B0aW9ucy5ob3VyczEyID8gMTIgOiAyNCk7IGkgKz0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDYwOyBqICs9IG9wdGlvbnMuc3RlcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudE1pbnV0ZXNPZkRheSA9IGkgKiA2MCArIGo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TWludXRlc09mRGF5IDwgbWluVGltZU1pbnV0ZXNPZkRheSkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50TWludXRlc09mRGF5ID49IG1heFRpbWVNaW51dGVzT2ZEYXkpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGggPSAoaSA8IDEwID8gJzAnIDogJycpICsgaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gKGogPCAxMCA/ICcwJyA6ICcnKSArIGo7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZV90aW1lKGgsIG0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wdGlvbnMuYWxsb3dUaW1lcy5sZW5ndGg7IGkgKz0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaCA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RydG90aW1lKG9wdGlvbnMuYWxsb3dUaW1lc1tpXSkuZ2V0SG91cnMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBfeGRzb2Z0X2RhdGV0aW1lLnN0cnRvdGltZShvcHRpb25zLmFsbG93VGltZXNbaV0pLmdldE1pbnV0ZXMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVfdGltZShoLCBtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveC5odG1sKHRpbWUpOwoKICAgICAgICAgICAgICAgICAgICAgICBvcHQgPSAnJzsKCiAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gcGFyc2VJbnQob3B0aW9ucy55ZWFyU3RhcnQsIDEwKTsgaSA8PSBwYXJzZUludChvcHRpb25zLnllYXJFbmQsIDEwKTsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdCArPSAnPGRpdiBjbGFzcz0ieGRzb2Z0X29wdGlvbiAnICsgKF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUuZ2V0RnVsbFllYXIoKSA9PT0gaSA/ICd4ZHNvZnRfY3VycmVudCcgOiAnJykgKyAnIiBkYXRhLXZhbHVlPSInICsgaSArICciPicgKyAoaSArIG9wdGlvbnMueWVhck9mZnNldCkgKyAnPC9kaXY+JzsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgeWVhcnNlbGVjdC5jaGlsZHJlbigpLmVxKDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5odG1sKG9wdCk7CgogICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IHBhcnNlSW50KG9wdGlvbnMubW9udGhTdGFydCwgMTApLCBvcHQgPSAnJzsgaSA8PSBwYXJzZUludChvcHRpb25zLm1vbnRoRW5kLCAxMCk7IGkgKz0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBvcHQgKz0gJzxkaXYgY2xhc3M9Inhkc29mdF9vcHRpb24gJyArIChfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLmdldE1vbnRoKCkgPT09IGkgPyAneGRzb2Z0X2N1cnJlbnQnIDogJycpICsgJyIgZGF0YS12YWx1ZT0iJyArIGkgKyAnIj4nICsgb3B0aW9ucy5pMThuW2dsb2JhbExvY2FsZV0ubW9udGhzW2ldICsgJzwvZGl2Pic7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIG1vbnRoc2VsZWN0LmNoaWxkcmVuKCkuZXEoMCkuaHRtbChvcHQpOwogICAgICAgICAgICAgICAgICAgICAgICQoZGF0ZXRpbWVwaWNrZXIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC50cmlnZ2VyKCdnZW5lcmF0ZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgIH0sIDEwKTsKICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAub24oJ2FmdGVyT3Blbi54ZHNvZnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy50aW1lcGlja2VyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNsYXNzVHlwZSwgcGhlaWdodCwgaGVpZ2h0LCB0b3A7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVib3guZmluZCgnLnhkc29mdF9jdXJyZW50JykubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzVHlwZSA9ICcueGRzb2Z0X2N1cnJlbnQnOwogICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGltZWJveC5maW5kKCcueGRzb2Z0X2luaXRfdGltZScpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc1R5cGUgPSAnLnhkc29mdF9pbml0X3RpbWUnOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xhc3NUeXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoZWlnaHQgPSB0aW1lYm94cGFyZW50WzBdLmNsaWVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gdGltZWJveFswXS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcCA9IHRpbWVib3guZmluZChjbGFzc1R5cGUpLmluZGV4KCkgKiBvcHRpb25zLnRpbWVIZWlnaHRJblRpbWVQaWNrZXIgKyAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGhlaWdodCAtIHBoZWlnaHQpIDwgdG9wKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3AgPSBoZWlnaHQgLSBwaGVpZ2h0OwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVib3hwYXJlbnQudHJpZ2dlcignc2Nyb2xsX2VsZW1lbnQueGRzb2Z0X3Njcm9sbGVyJywgW3BhcnNlSW50KHRvcCwgMTApIC8gKGhlaWdodCAtIHBoZWlnaHQpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveHBhcmVudC50cmlnZ2VyKCdzY3JvbGxfZWxlbWVudC54ZHNvZnRfc2Nyb2xsZXInLCBbMF0pOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgIHRpbWVyY2xpY2sgPSAwOwogICAgICAgICAgIGNhbGVuZGFyCiAgICAgICAgICAgICAgIC5vbigndG91Y2hlbmQgY2xpY2sueGRzb2Z0JywgJ3RkJywgZnVuY3Rpb24gKHhkZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHhkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ICAvLyBQcmV2ZW50cyBjbG9zaW5nIG9mIFBvcC11cHMsIE1vZGFscyBhbmQgRmx5b3V0cyBpbiBCb290c3RyYXAKICAgICAgICAgICAgICAgICAgIHRpbWVyY2xpY2sgKz0gMTsKICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyksCiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUgPSBfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lOwoKICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VGltZSA9PT0gdW5kZWZpbmVkIHx8IGN1cnJlbnRUaW1lID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUubm93KCk7CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUgPSBfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lOwogICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcygneGRzb2Z0X2Rpc2FibGVkJykpIHsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUuc2V0RGF0ZSgxKTsKICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lLnNldEZ1bGxZZWFyKCR0aGlzLmRhdGEoJ3llYXInKSk7CiAgICAgICAgICAgICAgICAgICBjdXJyZW50VGltZS5zZXRNb250aCgkdGhpcy5kYXRhKCdtb250aCcpKTsKICAgICAgICAgICAgICAgICAgIGN1cnJlbnRUaW1lLnNldERhdGUoJHRoaXMuZGF0YSgnZGF0ZScpKTsKCiAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdzZWxlY3QueGRzb2Z0JywgW2N1cnJlbnRUaW1lXSk7CgogICAgICAgICAgICAgICAgICAgaW5wdXQudmFsKF94ZHNvZnRfZGF0ZXRpbWUuc3RyKCkpOwoKICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uU2VsZWN0RGF0ZSAmJgkkLmlzRnVuY3Rpb24ob3B0aW9ucy5vblNlbGVjdERhdGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5vblNlbGVjdERhdGUuY2FsbChkYXRldGltZXBpY2tlciwgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKSwgeGRldmVudCk7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcsIHRydWUpOwogICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcigneGNoYW5nZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ2NoYW5nZWRhdGV0aW1lLnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgaWYgKCh0aW1lcmNsaWNrID4gMSB8fCAob3B0aW9ucy5jbG9zZU9uRGF0ZVNlbGVjdCA9PT0gdHJ1ZSB8fCAob3B0aW9ucy5jbG9zZU9uRGF0ZVNlbGVjdCA9PT0gZmFsc2UgJiYgIW9wdGlvbnMudGltZXBpY2tlcikpKSAmJiAhb3B0aW9ucy5pbmxpbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdjbG9zZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgIHRpbWVyY2xpY2sgPSAwOwogICAgICAgICAgICAgICAgICAgfSwgMjAwKTsKICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgIHRpbWVib3gKICAgICAgICAgICAgICAgLm9uKCd0b3VjaHN0YXJ0JywgJ2RpdicsIGZ1bmN0aW9uICh4ZGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICB0aGlzLnRvdWNoTW92ZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgLm9uKCd0b3VjaG1vdmUnLCAnZGl2JywgaGFuZGxlVG91Y2hNb3ZlZCkKICAgICAgICAgICAgICAgLm9uKCd0b3VjaGVuZCBjbGljay54ZHNvZnQnLCAnZGl2JywgZnVuY3Rpb24gKHhkZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy50b3VjaE1vdmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgeGRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWU7CgogICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VGltZSA9PT0gdW5kZWZpbmVkIHx8IGN1cnJlbnRUaW1lID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWUgPSBfeGRzb2Z0X2RhdGV0aW1lLm5vdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGltZSA9IF94ZHNvZnRfZGF0ZXRpbWUuY3VycmVudFRpbWU7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuaGFzQ2xhc3MoJ3hkc29mdF9kaXNhYmxlZCcpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFRpbWUuc2V0SG91cnMoJHRoaXMuZGF0YSgnaG91cicpKTsKICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGltZS5zZXRNaW51dGVzKCR0aGlzLmRhdGEoJ21pbnV0ZScpKTsKICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdzZWxlY3QueGRzb2Z0JywgW2N1cnJlbnRUaW1lXSk7CgogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2lucHV0JykudmFsKF94ZHNvZnRfZGF0ZXRpbWUuc3RyKCkpOwoKICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vblNlbGVjdFRpbWUgJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25TZWxlY3RUaW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm9uU2VsZWN0VGltZS5jYWxsKGRhdGV0aW1lcGlja2VyLCBfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLCBkYXRldGltZXBpY2tlci5kYXRhKCdpbnB1dCcpLCB4ZGV2ZW50KTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ3hjaGFuZ2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2hhbmdlZGF0ZXRpbWUueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuaW5saW5lICE9PSB0cnVlICYmIG9wdGlvbnMuY2xvc2VPblRpbWVTZWxlY3QgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgZGF0ZXBpY2tlcgogICAgICAgICAgICAgICAub24oJ21vdXNld2hlZWwueGRzb2Z0JywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICBpZiAoIW9wdGlvbnMuc2Nyb2xsTW9udGgpIHsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5kZWx0YVkgPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5uZXh0TW9udGgoKTsKICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgX3hkc29mdF9kYXRldGltZS5wcmV2TW9udGgoKTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgIGlucHV0CiAgICAgICAgICAgICAgIC5vbignbW91c2V3aGVlbC54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGlmICghb3B0aW9ucy5zY3JvbGxJbnB1dCkgewogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmRhdGVwaWNrZXIgJiYgb3B0aW9ucy50aW1lcGlja2VyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF90aW1lX2luZGV4ID0gdGltZWJveC5maW5kKCcueGRzb2Z0X2N1cnJlbnQnKS5sZW5ndGggPyB0aW1lYm94LmZpbmQoJy54ZHNvZnRfY3VycmVudCcpLmVxKDApLmluZGV4KCkgOiAwOwogICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50X3RpbWVfaW5kZXggKyBldmVudC5kZWx0YVkgPj0gMCAmJiBjdXJyZW50X3RpbWVfaW5kZXggKyBldmVudC5kZWx0YVkgPCB0aW1lYm94LmNoaWxkcmVuKCkubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfdGltZV9pbmRleCArPSBldmVudC5kZWx0YVk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIGlmICh0aW1lYm94LmNoaWxkcmVuKCkuZXEoY3VycmVudF90aW1lX2luZGV4KS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJveC5jaGlsZHJlbigpLmVxKGN1cnJlbnRfdGltZV9pbmRleCkudHJpZ2dlcignbW91c2Vkb3duJyk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRhdGVwaWNrZXIgJiYgIW9wdGlvbnMudGltZXBpY2tlcikgewogICAgICAgICAgICAgICAgICAgICAgIGRhdGVwaWNrZXIudHJpZ2dlcihldmVudCwgW2V2ZW50LmRlbHRhWSwgZXZlbnQuZGVsdGFYLCBldmVudC5kZWx0YVldKTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQudmFsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LnZhbChfeGRzb2Z0X2RhdGV0aW1lLnN0cigpKTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2hhbmdlZGF0ZXRpbWUueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIKICAgICAgICAgICAgICAgLm9uKCdjaGFuZ2VkYXRldGltZS54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uQ2hhbmdlRGF0ZVRpbWUgJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25DaGFuZ2VEYXRlVGltZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICB2YXIgJGlucHV0ID0gZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKTsKICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm9uQ2hhbmdlRGF0ZVRpbWUuY2FsbChkYXRldGltZXBpY2tlciwgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgJGlucHV0LCBldmVudCk7CiAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9wdGlvbnMudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LnRyaWdnZXIoJ2NoYW5nZScpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAub24oJ2dlbmVyYXRlLnhkc29mdCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLm9uR2VuZXJhdGUgJiYgJC5pc0Z1bmN0aW9uKG9wdGlvbnMub25HZW5lcmF0ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm9uR2VuZXJhdGUuY2FsbChkYXRldGltZXBpY2tlciwgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKSk7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICBpZiAodHJpZ2dlckFmdGVyT3BlbikgewogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ2FmdGVyT3Blbi54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQWZ0ZXJPcGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIC5vbignY2xpY2sueGRzb2Z0JywgZnVuY3Rpb24gKHhkZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHhkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICBjdXJyZW50X3RpbWVfaW5kZXggPSAwOwoKICAgICAgICAgICAvKioKICAgICAgICAgICAgKiBSdW5zIHRoZSBjYWxsYmFjayBmb3IgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIG5vZGUncyBhbmNlc3RvcnMuCiAgICAgICAgICAgICoKICAgICAgICAgICAgKiBSZXR1cm4gRkFMU0UgZnJvbSB0aGUgY2FsbGJhY2sgdG8gc3RvcCBhc2NlbmRpbmcuCiAgICAgICAgICAgICoKICAgICAgICAgICAgKiBAcGFyYW0ge0RPTU5vZGV9IG5vZGUKICAgICAgICAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjawogICAgICAgICAgICAqIEByZXR1cm5zIHt1bmRlZmluZWR9CiAgICAgICAgICAgICovCiAgICAgICAgICAgZm9yRWFjaEFuY2VzdG9yT2YgPSBmdW5jdGlvbiAobm9kZSwgY2FsbGJhY2spIHsKICAgICAgICAgICAgICAgZG8gewogICAgICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50Tm9kZTsKCiAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUgfHwgY2FsbGJhY2sobm9kZSkgPT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gd2hpbGUgKG5vZGUubm9kZU5hbWUgIT09ICdIVE1MJyk7CiAgICAgICAgICAgfTsKCiAgICAgICAgICAgLyoqCiAgICAgICAgICAgICogU2V0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHBpY2tlci4KICAgICAgICAgICAgKgogICAgICAgICAgICAqIEByZXR1cm5zIHt1bmRlZmluZWR9CiAgICAgICAgICAgICovCiAgICAgICAgICAgc2V0UG9zID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICB2YXIgZGF0ZUlucHV0T2Zmc2V0LAogICAgICAgICAgICAgICAgICAgZGF0ZUlucHV0RWxlbSwKICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICBsZWZ0LAogICAgICAgICAgICAgICAgICAgcG9zaXRpb24sCiAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlckVsZW0sCiAgICAgICAgICAgICAgICAgICBkYXRlSW5wdXRIYXNGaXhlZEFuY2VzdG9yLAogICAgICAgICAgICAgICAgICAgJGRhdGVJbnB1dCwKICAgICAgICAgICAgICAgICAgIHdpbmRvd1dpZHRoLAogICAgICAgICAgICAgICAgICAgdmVydGljYWxBbmNob3JFZGdlLAogICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXJDc3MsCiAgICAgICAgICAgICAgICAgICB3aW5kb3dIZWlnaHQsCiAgICAgICAgICAgICAgICAgICB3aW5kb3dTY3JvbGxUb3A7CgogICAgICAgICAgICAgICAkZGF0ZUlucHV0ID0gZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKTsKICAgICAgICAgICAgICAgZGF0ZUlucHV0T2Zmc2V0ID0gJGRhdGVJbnB1dC5vZmZzZXQoKTsKICAgICAgICAgICAgICAgZGF0ZUlucHV0RWxlbSA9ICRkYXRlSW5wdXRbMF07CgogICAgICAgICAgICAgICB2ZXJ0aWNhbEFuY2hvckVkZ2UgPSAndG9wJzsKICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IChkYXRlSW5wdXRPZmZzZXQudG9wICsgZGF0ZUlucHV0RWxlbS5vZmZzZXRIZWlnaHQpIC0gMTsKICAgICAgICAgICAgICAgbGVmdCA9IGRhdGVJbnB1dE9mZnNldC5sZWZ0OwogICAgICAgICAgICAgICBwb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CgogICAgICAgICAgICAgICB3aW5kb3dXaWR0aCA9ICQob3B0aW9ucy5jb250ZW50V2luZG93KS53aWR0aCgpOwogICAgICAgICAgICAgICB3aW5kb3dIZWlnaHQgPSAkKG9wdGlvbnMuY29udGVudFdpbmRvdykuaGVpZ2h0KCk7CiAgICAgICAgICAgICAgIHdpbmRvd1Njcm9sbFRvcCA9ICQob3B0aW9ucy5jb250ZW50V2luZG93KS5zY3JvbGxUb3AoKTsKCiAgICAgICAgICAgICAgIGlmICgob3B0aW9ucy5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtIGRhdGVJbnB1dE9mZnNldC5sZWZ0KSA8IGRhdGVwaWNrZXIucGFyZW50KCkub3V0ZXJXaWR0aCh0cnVlKSkgewogICAgICAgICAgICAgICAgICAgdmFyIGRpZmYgPSBkYXRlcGlja2VyLnBhcmVudCgpLm91dGVyV2lkdGgodHJ1ZSkgLSBkYXRlSW5wdXRFbGVtLm9mZnNldFdpZHRoOwogICAgICAgICAgICAgICAgICAgbGVmdCA9IGxlZnQgLSBkaWZmOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAoJGRhdGVJbnB1dC5wYXJlbnQoKS5jc3MoJ2RpcmVjdGlvbicpID09PSAncnRsJykgewogICAgICAgICAgICAgICAgICAgbGVmdCAtPSAoZGF0ZXRpbWVwaWNrZXIub3V0ZXJXaWR0aCgpIC0gJGRhdGVJbnB1dC5vdXRlcldpZHRoKCkpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAob3B0aW9ucy5maXhlZCkgewogICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSB3aW5kb3dTY3JvbGxUb3A7CiAgICAgICAgICAgICAgICAgICBsZWZ0IC09ICQob3B0aW9ucy5jb250ZW50V2luZG93KS5zY3JvbGxMZWZ0KCk7CiAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA9ICJmaXhlZCI7CiAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICBkYXRlSW5wdXRIYXNGaXhlZEFuY2VzdG9yID0gZmFsc2U7CgogICAgICAgICAgICAgICAgICAgZm9yRWFjaEFuY2VzdG9yT2YoZGF0ZUlucHV0RWxlbSwgZnVuY3Rpb24gKGFuY2VzdG9yTm9kZSkgewogICAgICAgICAgICAgICAgICAgICAgIGlmIChhbmNlc3Rvck5vZGUgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuY29udGVudFdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGFuY2VzdG9yTm9kZSkuZ2V0UHJvcGVydHlWYWx1ZSgncG9zaXRpb24nKSA9PT0gJ2ZpeGVkJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlSW5wdXRIYXNGaXhlZEFuY2VzdG9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgIGlmIChkYXRlSW5wdXRIYXNGaXhlZEFuY2VzdG9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gPSAnZml4ZWQnOwoKICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZSBwaWNrZXIgd29uJ3QgZml0IGVudGlyZWx5IHdpdGhpbiB0aGUgdmlld3BvcnQgdGhlbiBkaXNwbGF5IGl0IGFib3ZlIHRoZSBkYXRlIGlucHV0LgogICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJ0aWNhbFBvc2l0aW9uICsgZGF0ZXRpbWVwaWNrZXIub3V0ZXJIZWlnaHQoKSA+IHdpbmRvd0hlaWdodCArIHdpbmRvd1Njcm9sbFRvcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEFuY2hvckVkZ2UgPSAnYm90dG9tJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9ICh3aW5kb3dIZWlnaHQgKyB3aW5kb3dTY3JvbGxUb3ApIC0gZGF0ZUlucHV0T2Zmc2V0LnRvcDsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IHdpbmRvd1Njcm9sbFRvcDsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJ0aWNhbFBvc2l0aW9uICsgZGF0ZXRpbWVwaWNrZXJbMF0ub2Zmc2V0SGVpZ2h0ID4gd2luZG93SGVpZ2h0ICsgd2luZG93U2Nyb2xsVG9wKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gPSBkYXRlSW5wdXRPZmZzZXQudG9wIC0gZGF0ZXRpbWVwaWNrZXJbMF0ub2Zmc2V0SGVpZ2h0ICsgMTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgaWYgKHZlcnRpY2FsUG9zaXRpb24gPCAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9IDA7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgaWYgKGxlZnQgKyBkYXRlSW5wdXRFbGVtLm9mZnNldFdpZHRoID4gd2luZG93V2lkdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gd2luZG93V2lkdGggLSBkYXRlSW5wdXRFbGVtLm9mZnNldFdpZHRoOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlckVsZW0gPSBkYXRldGltZXBpY2tlclswXTsKCiAgICAgICAgICAgICAgIGZvckVhY2hBbmNlc3Rvck9mKGRhdGV0aW1lcGlja2VyRWxlbSwgZnVuY3Rpb24gKGFuY2VzdG9yTm9kZSkgewogICAgICAgICAgICAgICAgICAgdmFyIGFuY2VzdG9yTm9kZVBvc2l0aW9uOwoKICAgICAgICAgICAgICAgICAgIGFuY2VzdG9yTm9kZVBvc2l0aW9uID0gb3B0aW9ucy5jb250ZW50V2luZG93LmdldENvbXB1dGVkU3R5bGUoYW5jZXN0b3JOb2RlKS5nZXRQcm9wZXJ0eVZhbHVlKCdwb3NpdGlvbicpOwoKICAgICAgICAgICAgICAgICAgIGlmIChhbmNlc3Rvck5vZGVQb3NpdGlvbiA9PT0gJ3JlbGF0aXZlJyAmJiB3aW5kb3dXaWR0aCA+PSBhbmNlc3Rvck5vZGUub2Zmc2V0V2lkdGgpIHsKICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gbGVmdCAtICgod2luZG93V2lkdGggLSBhbmNlc3Rvck5vZGUub2Zmc2V0V2lkdGgpIC8gMik7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyQ3NzID0gewogICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHBvc2l0aW9uLAogICAgICAgICAgICAgICAgICAgbGVmdDogbGVmdCwKICAgICAgICAgICAgICAgICAgIHRvcDogJycsICAvL0luaXRpYWxpemUgdG8gcHJldmVudCBwcmV2aW91cyB2YWx1ZXMgaW50ZXJmZXJpbmcgd2l0aCBuZXcgb25lcy4KICAgICAgICAgICAgICAgICAgIGJvdHRvbTogJycgIC8vSW5pdGlhbGl6ZSB0byBwcmV2ZW50IHByZXZpb3VzIHZhbHVlcyBpbnRlcmZlcmluZyB3aXRoIG5ldyBvbmVzLgogICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXJDc3NbdmVydGljYWxBbmNob3JFZGdlXSA9IHZlcnRpY2FsUG9zaXRpb247CgogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5jc3MoZGF0ZXRpbWVwaWNrZXJDc3MpOwogICAgICAgICAgIH07CgogICAgICAgICAgIGRhdGV0aW1lcGlja2VyCiAgICAgICAgICAgICAgIC5vbignb3Blbi54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHZhciBvblNob3cgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub25TaG93ICYmICQuaXNGdW5jdGlvbihvcHRpb25zLm9uU2hvdykpIHsKICAgICAgICAgICAgICAgICAgICAgICBvblNob3cgPSBvcHRpb25zLm9uU2hvdy5jYWxsKGRhdGV0aW1lcGlja2VyLCBfeGRzb2Z0X2RhdGV0aW1lLmN1cnJlbnRUaW1lLCBkYXRldGltZXBpY2tlci5kYXRhKCdpbnB1dCcpLCBldmVudCk7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICBpZiAob25TaG93ICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICBzZXRQb3MoKTsKICAgICAgICAgICAgICAgICAgICAgICAkKG9wdGlvbnMuY29udGVudFdpbmRvdykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9mZigncmVzaXplLnhkc29mdCcsIHNldFBvcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9uKCdyZXNpemUueGRzb2Z0Jywgc2V0UG9zKTsKCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuY2xvc2VPbldpdGhvdXRDbGljaykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAkKFtvcHRpb25zLm93bmVyRG9jdW1lbnQuYm9keSwgb3B0aW9ucy5jb250ZW50V2luZG93XSkub24oJ3RvdWNoc3RhcnQgbW91c2Vkb3duLnhkc29mdCcsIGZ1bmN0aW9uIGFyZ3VtZW50c19jYWxsZWU2KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFtvcHRpb25zLm93bmVyRG9jdW1lbnQuYm9keSwgb3B0aW9ucy5jb250ZW50V2luZG93XSkub2ZmKCd0b3VjaHN0YXJ0IG1vdXNlZG93bi54ZHNvZnQnLCBhcmd1bWVudHNfY2FsbGVlNik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgLm9uKCdjbG9zZS54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHZhciBvbkNsb3NlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgIG1vbnRoX3BpY2tlcgogICAgICAgICAgICAgICAgICAgICAgIC5maW5kKCcueGRzb2Z0X21vbnRoLC54ZHNvZnRfeWVhcicpCiAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoJy54ZHNvZnRfc2VsZWN0JykKICAgICAgICAgICAgICAgICAgICAgICAuaGlkZSgpOwogICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMub25DbG9zZSAmJiAkLmlzRnVuY3Rpb24ob3B0aW9ucy5vbkNsb3NlKSkgewogICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2UgPSBvcHRpb25zLm9uQ2xvc2UuY2FsbChkYXRldGltZXBpY2tlciwgX3hkc29mdF9kYXRldGltZS5jdXJyZW50VGltZSwgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnaW5wdXQnKSwgZXZlbnQpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgaWYgKG9uQ2xvc2UgIT09IGZhbHNlICYmICFvcHRpb25zLm9wZW5lZCAmJiAhb3B0aW9ucy5pbmxpbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgLm9uKCd0b2dnbGUueGRzb2Z0JywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgaWYgKGRhdGV0aW1lcGlja2VyLmlzKCc6dmlzaWJsZScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ29wZW4ueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIC5kYXRhKCdpbnB1dCcsIGlucHV0KTsKCiAgICAgICAgICAgdGltZXIgPSAwOwoKICAgICAgICAgICBkYXRldGltZXBpY2tlci5kYXRhKCd4ZHNvZnRfZGF0ZXRpbWUnLCBfeGRzb2Z0X2RhdGV0aW1lKTsKICAgICAgICAgICBkYXRldGltZXBpY2tlci5zZXRPcHRpb25zKG9wdGlvbnMpOwoKICAgICAgICAgICBmdW5jdGlvbiBnZXRDdXJyZW50VmFsdWUoKSB7CiAgICAgICAgICAgICAgIHZhciBjdCA9IGZhbHNlLCB0aW1lOwoKICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMuc3RhcnREYXRlKSB7CiAgICAgICAgICAgICAgICAgICBjdCA9IF94ZHNvZnRfZGF0ZXRpbWUuc3RyVG9EYXRlKG9wdGlvbnMuc3RhcnREYXRlKTsKICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgIGN0ID0gb3B0aW9ucy52YWx1ZSB8fCAoKGlucHV0ICYmIGlucHV0LnZhbCAmJiBpbnB1dC52YWwoKSkgPyBpbnB1dC52YWwoKSA6ICcnKTsKICAgICAgICAgICAgICAgICAgIGlmIChjdCkgewogICAgICAgICAgICAgICAgICAgICAgIGN0ID0gX3hkc29mdF9kYXRldGltZS5zdHJUb0RhdGVUaW1lKGN0KTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy55ZWFyT2Zmc2V0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0ID0gbmV3IERhdGUoY3QuZ2V0RnVsbFllYXIoKSAtIG9wdGlvbnMueWVhck9mZnNldCwgY3QuZ2V0TW9udGgoKSwgY3QuZ2V0RGF0ZSgpLCBjdC5nZXRIb3VycygpLCBjdC5nZXRNaW51dGVzKCksIGN0LmdldFNlY29uZHMoKSwgY3QuZ2V0TWlsbGlzZWNvbmRzKCkpOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5kZWZhdWx0RGF0ZSkgewogICAgICAgICAgICAgICAgICAgICAgIGN0ID0gX3hkc29mdF9kYXRldGltZS5zdHJUb0RhdGVUaW1lKG9wdGlvbnMuZGVmYXVsdERhdGUpOwogICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmRlZmF1bHRUaW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUgPSBfeGRzb2Z0X2RhdGV0aW1lLnN0cnRvdGltZShvcHRpb25zLmRlZmF1bHRUaW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Quc2V0SG91cnModGltZS5nZXRIb3VycygpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Quc2V0TWludXRlcyh0aW1lLmdldE1pbnV0ZXMoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAoY3QgJiYgX3hkc29mdF9kYXRldGltZS5pc1ZhbGlkRGF0ZShjdCkpIHsKICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmRhdGEoJ2NoYW5nZWQnLCB0cnVlKTsKICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgIGN0ID0gJyc7CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIHJldHVybiBjdCB8fCAwOwogICAgICAgICAgIH0KCiAgICAgICAgICAgZnVuY3Rpb24gc2V0TWFzayhvcHRpb25zKSB7CgogICAgICAgICAgICAgICB2YXIgaXNWYWxpZFZhbHVlID0gZnVuY3Rpb24gKG1hc2ssIHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZyA9IG1hc2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoLyhbXFtcXVwvXHtcfVwoXClcLVwuXCtdezF9KS9nLCAnXFwkMScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9fL2csICd7ZGlnaXQrfScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oWzAtOV17MX0pL2csICd7ZGlnaXQkMX0nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvXHtkaWdpdChbMC05XXsxfSlcfS9nLCAnWzAtJDFfXXsxfScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9ce2RpZ2l0W1wrXVx9L2csICdbMC05X117MX0nKTsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKG5ldyBSZWdFeHAocmVnKSkudGVzdCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgZ2V0Q2FyZXRQb3MgPSBmdW5jdGlvbiAoaW5wdXQpIHsKICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5vd25lckRvY3VtZW50LnNlbGVjdGlvbiAmJiBvcHRpb25zLm93bmVyRG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmFuZ2UgPSBvcHRpb25zLm93bmVyRG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmFuZ2UuZ2V0Qm9va21hcmsoKS5jaGFyQ29kZUF0KDIpIC0gMjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dC5zZWxlY3Rpb25TdGFydDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgIHNldENhcmV0UG9zID0gZnVuY3Rpb24gKG5vZGUsIHBvcykgewogICAgICAgICAgICAgICAgICAgICAgIG5vZGUgPSAodHlwZW9mIG5vZGUgPT09ICJzdHJpbmciIHx8IG5vZGUgaW5zdGFuY2VvZiBTdHJpbmcpID8gb3B0aW9ucy5vd25lckRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5vZGUpIDogbm9kZTsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW5vZGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5jcmVhdGVUZXh0UmFuZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRSYW5nZSA9IG5vZGUuY3JlYXRlVGV4dFJhbmdlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRSYW5nZS5jb2xsYXBzZSh0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dFJhbmdlLm1vdmVFbmQoJ2NoYXJhY3RlcicsIHBvcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRSYW5nZS5tb3ZlU3RhcnQoJ2NoYXJhY3RlcicsIHBvcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRSYW5nZS5zZWxlY3QoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnNldFNlbGVjdGlvblJhbmdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgIGlmKG9wdGlvbnMubWFzaykgewogICAgICAgICAgICAgICAgICAgaW5wdXQub2ZmKCdrZXlkb3duLnhkc29mdCcpOwogICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICBpZiAob3B0aW9ucy5tYXNrID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZUhlbHBlci5mb3JtYXRNYXNrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5tYXNrID0gZGF0ZUhlbHBlci5mb3JtYXRNYXNrKG9wdGlvbnMuZm9ybWF0KQogICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm1hc2sgPSBvcHRpb25zLmZvcm1hdAogICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvWS9nLCAnOTk5OScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9GL2csICc5OTk5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL20vZywgJzE5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL2QvZywgJzM5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL0gvZywgJzI5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL2kvZywgJzU5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL3MvZywgJzU5Jyk7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgIGlmICgkLnR5cGUob3B0aW9ucy5tYXNrKSA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgIGlmICghaXNWYWxpZFZhbHVlKG9wdGlvbnMubWFzaywgaW5wdXQudmFsKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQudmFsKG9wdGlvbnMubWFzay5yZXBsYWNlKC9bMC05XS9nLCAnXycpKTsKICAgICAgICAgICAgICAgICAgICAgICBzZXRDYXJldFBvcyhpbnB1dFswXSwgMCk7CiAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgaW5wdXQub24oJ3Bhc3RlLnhkc29mdCcsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgIC8vIGNvdXBsZSBvcHRpb25zIGhlcmUKICAgICAgICAgICAgICAgICAgICAgICAvLyAxLiByZXR1cm4gZmFsc2UgLSB0ZWxsIHRoZW0gdGhleSBjYW4ndCBwYXN0ZQogICAgICAgICAgICAgICAgICAgICAgIC8vIDIuIGluc2VydCBvdmVyIGN1cnJlbnQgY2hhcmFjdGVycyAtIG1pbmltYWwgdmFsaWRhdGlvbgogICAgICAgICAgICAgICAgICAgICAgIC8vIDMuIGZ1bGwgZmxlZGdlZCBwYXJzaW5nIGFuZCB2YWxpZGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0J3MgZ28gb3B0aW9uIDIgZm9yIG5vdwoKICAgICAgICAgICAgICAgICAgICAgICAvLyBmaXJlcyBtdWx0aXBsZSB0aW1lcyBmb3Igc29tZSByZWFzb24KCiAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzMwNDk2NDg4LzEzNjYwMzMKICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2xpcGJvYXJkRGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGEgfHwgZXZlbnQub3JpZ2luYWxFdmVudC5jbGlwYm9hcmREYXRhIHx8IHdpbmRvdy5jbGlwYm9hcmREYXRhLAogICAgICAgICAgICAgICAgICAgICAgIHBhc3RlZERhdGEgPSBjbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQnKSwKICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSB0aGlzLnZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgIHBvcyA9IHRoaXMuc2VsZWN0aW9uU3RhcnQKCiAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlQmVmb3JlQ3Vyc29yID0gdmFsLnN1YnN0cigwLCBwb3MpOwogICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZUFmdGVyUGFzdGUgPSB2YWwuc3Vic3RyKHBvcyArIHBhc3RlZERhdGEubGVuZ3RoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gdmFsdWVCZWZvcmVDdXJzb3IgKyBwYXN0ZWREYXRhICsgdmFsdWVBZnRlclBhc3RlOyAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgcG9zICs9IHBhc3RlZERhdGEubGVuZ3RoOwoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKG9wdGlvbnMubWFzaywgdmFsKSkgewogICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWw7CiAgICAgICAgICAgICAgICAgICAgICAgc2V0Q2FyZXRQb3ModGhpcywgcG9zKTsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCQudHJpbSh2YWwpID09PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvcHRpb25zLm1hc2sucmVwbGFjZSgvWzAtOV0vZywgJ18nKTsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgIGlucHV0LnRyaWdnZXIoJ2Vycm9yX2lucHV0Lnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgaW5wdXQub24oJ2tleWRvd24ueGRzb2Z0JywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMudmFsdWUsCiAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gZXZlbnQud2hpY2gsCiAgICAgICAgICAgICAgICAgICAgICAgcG9zID0gdGhpcy5zZWxlY3Rpb25TdGFydCwKICAgICAgICAgICAgICAgICAgICAgICBzZWxFbmQgPSB0aGlzLnNlbGVjdGlvbkVuZCwKICAgICAgICAgICAgICAgICAgICAgICBoYXNTZWwgPSBwb3MgIT09IHNlbEVuZCwKICAgICAgICAgICAgICAgICAgICAgICBkaWdpdDsKCiAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBhbG93IHRoZXNlIGNoYXJhY3RlcnMKICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChrZXkgPj0gIEtFWTAgJiYga2V5IDw9ICBLRVk5KSAgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKGtleSA+PSBfS0VZMCAmJiBrZXkgPD0gX0tFWTkpKSB8fCAKICAgICAgICAgICAgICAgICAgICAgICAgKGtleSA9PT0gQkFDS1NQQUNFIHx8IGtleSA9PT0gREVMKSkgewoKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGdldCBjaGFyIHRvIGluc2VydCB3aGljaCBpcyBuZXcgY2hhcmFjdGVyIG9yIHBsYWNlaG9sZGVyICgnXycpCiAgICAgICAgICAgICAgICAgICAgICAgICBkaWdpdCA9IChrZXkgPT09IEJBQ0tTUEFDRSB8fCBrZXkgPT09IERFTCkgPyAnXycgOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUoKF9LRVkwIDw9IGtleSAmJiBrZXkgPD0gX0tFWTkpID8ga2V5IC0gS0VZMCA6IGtleSk7CgogICAgICAgICAgICAgICAgICAgICAgIC8vIHdlJ3JlIGRlbGV0aW5nIHNvbWV0aGluZywgd2UncmUgbm90IGF0IHRoZSBzdGFydCwgYW5kIGhhdmUgbm9ybWFsIGN1cnNvciwgbW92ZSBiYWNrIG9uZQogICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gbGVuZ3RoLCBjdXJzb3IgYWN0dWFsbHkgc2l0cyBiZWhpbmQgZGVsZXRhYmxlIGNoYXIsIG5vdCBpbiBmcm9udAogICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IEJBQ0tTUEFDRSAmJiBwb3MgJiYgIWhhc1NlbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgLT0gMTsKICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgIC8vIGRvbid0IHN0b3Agb24gYSBzZXBhcmF0b3IsIGNvbnRpbnVlIHdoYXRldmVyIGRpcmVjdGlvbiB5b3Ugd2VyZSBnb2luZwogICAgICAgICAgICAgICAgICAgICAgIC8vICAgdmFsdWUgY2hhciAtIGtlZXAgaW5jcmVtZW50aW5nIHBvc2l0aW9uIHdoaWxlIG9uIHNlcGFyYXRvciBjaGFyIGFuZCB3ZSBzdGlsbCBoYXZlIHJvb20KICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGRlbCBjaGFyICAgLSBrZWVwIGRlY3JlbWVudGluZyBwb3NpdGlvbiB3aGlsZSBvbiBzZXBhcmF0b3IgY2hhciBhbmQgd2Ugc3RpbGwgaGF2ZSByb29tCiAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXNrVmFsdWVBdEN1clBvcyA9IG9wdGlvbnMubWFzay5zdWJzdHIocG9zLCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwb3NTaG9ydGVyVGhhbk1hc2tMZW5ndGggPSBwb3MgPCBvcHRpb25zLm1hc2subGVuZ3RoOwogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBvc0dyZWF0ZXJUaGFuWmVybyA9IHBvcyA+IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbm90TnVtYmVyT3JQbGFjZWhvbGRlciA9IC9bXjAtOV9dLzsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJQb3NPblNlcCA9IG5vdE51bWJlck9yUGxhY2Vob2xkZXIudGVzdChtYXNrVmFsdWVBdEN1clBvcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29udGludWVNb3ZpbmdQb3NpdGlvbiA9IGN1clBvc09uU2VwICYmIHBvc1Nob3J0ZXJUaGFuTWFza0xlbmd0aCAmJiBwb3NHcmVhdGVyVGhhblplcm8KCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBoaXQgYSByZWFsIGNoYXIsIHN0YXkgd2hlcmUgd2UgYXJlCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRpbnVlTW92aW5nUG9zaXRpb24pIGJyZWFrOwoKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhpdHRpbmcgYmFja3NwYWNlIGluIGEgc2VsZWN0aW9uLCB5b3UgY2FuIHBvc3NpYmx5IGdvIGJhY2sgYW55IGZ1cnRoZXIgLSBnbyBmb3J3YXJkCiAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgKz0gKGtleSA9PT0gQkFDS1NQQUNFICYmICFoYXNTZWwpID8gLTEgOiAxOwoKICAgICAgICAgICAgICAgICAgICAgICB9CgoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzU2VsKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwb3MgbWlnaHQgaGF2ZSBtb3ZlZCBzbyByZS1jYWxjIGxlbmd0aAogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlbExlbmd0aCA9IHNlbEVuZCAtIHBvcwoKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHdlIGhhdmUgYSBzZWxlY3Rpb24gbGVuZ3RoIHdlIHdpbGwgd2lwZSBvdXQgZW50aXJlIHNlbGVjdGlvbiBhbmQgcmVwbGFjZSB3aXRoIGRlZmF1bHQgdGVtcGxhdGUgZm9yIHRoYXQgcmFuZ2UKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWZhdWx0QmxhbmsgPSBvcHRpb25zLm1hc2sucmVwbGFjZSgvWzAtOV0vZywgJ18nKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWZhdWx0QmxhbmtTZWxlY3Rpb25SZXBsYWNlbWVudCA9IGRlZmF1bHRCbGFuay5zdWJzdHIocG9zLCBzZWxMZW5ndGgpOyAKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzZWxSZXBsYWNlbWVudFJlbWFpbmRlciA9IGRlZmF1bHRCbGFua1NlbGVjdGlvblJlcGxhY2VtZW50LnN1YnN0cigxKSAvLyBtaWdodCBiZSBlbXB0eQoKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZUJlZm9yZVNlbCA9IHZhbC5zdWJzdHIoMCwgcG9zKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbnNlcnRDaGFycyA9IGRpZ2l0ICsgc2VsUmVwbGFjZW1lbnRSZW1haW5kZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2hhcnNBZnRlclNlbGVjdGlvbiA9IHZhbC5zdWJzdHIocG9zICsgc2VsTGVuZ3RoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSB2YWx1ZUJlZm9yZVNlbCArIGluc2VydENoYXJzICsgY2hhcnNBZnRlclNlbGVjdGlvbgoKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlQmVmb3JlQ3Vyc29yID0gdmFsLnN1YnN0cigwLCBwb3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGluc2VydENoYXIgPSBkaWdpdDsKICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZUFmdGVyTmV4dENoYXIgPSB2YWwuc3Vic3RyKHBvcyArIDEpOwoKICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IHZhbHVlQmVmb3JlQ3Vyc29yICsgaW5zZXJ0Q2hhciArIHZhbHVlQWZ0ZXJOZXh0Q2hhcgogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQudHJpbSh2YWwpID09PSAnJykgewogICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgZW1wdHksIHNldCB0byBkZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IGRlZmF1bHRCbGFuawogICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiBhdCB0aGUgbGFzdCBjaGFyYWN0ZXIgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZwogICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9zID09PSBvcHRpb25zLm1hc2subGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVzdW1lIGN1cnNvciBsb2NhdGlvbgogICAgICAgICAgICAgICAgICAgICAgIHBvcyArPSAoa2V5ID09PSBCQUNLU1BBQ0UpID8gMCA6IDE7CiAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9uJ3Qgc3RvcCBvbiBhIHNlcGFyYXRvciwgY29udGludWUgd2hhdGV2ZXIgZGlyZWN0aW9uIHlvdSB3ZXJlIGdvaW5nCiAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKC9bXjAtOV9dLy50ZXN0KG9wdGlvbnMubWFzay5zdWJzdHIocG9zLCAxKSkgJiYgcG9zIDwgb3B0aW9ucy5tYXNrLmxlbmd0aCAmJiBwb3MgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcyArPSAoa2V5ID09PSBCQUNLU1BBQ0UpID8gMCA6IDE7CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKG9wdGlvbnMubWFzaywgdmFsKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsOwogICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDYXJldFBvcyh0aGlzLCBwb3MpOwogICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJC50cmltKHZhbCkgPT09ICcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvcHRpb25zLm1hc2sucmVwbGFjZSgvWzAtOV0vZywgJ18nKTsKICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC50cmlnZ2VyKCdlcnJvcl9pbnB1dC54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICBpZiAoKFtBS0VZLCBDS0VZLCBWS0VZLCBaS0VZLCBZS0VZXS5pbmRleE9mKGtleSkgIT09IC0xICYmIGN0cmxEb3duKSB8fCBbRVNDLCBBUlJPV1VQLCBBUlJPV0RPV04sIEFSUk9XTEVGVCwgQVJST1dSSUdIVCwgRjUsIENUUkxLRVksIFRBQiwgRU5URVJdLmluZGV4T2Yoa2V5KSAhPT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgfQoKICAgICAgICAgICBfeGRzb2Z0X2RhdGV0aW1lLnNldEN1cnJlbnRUaW1lKGdldEN1cnJlbnRWYWx1ZSgpKTsKCiAgICAgICAgICAgaW5wdXQKICAgICAgICAgICAgICAgLmRhdGEoJ3hkc29mdF9kYXRldGltZXBpY2tlcicsIGRhdGV0aW1lcGlja2VyKQogICAgICAgICAgICAgICAub24oJ29wZW4ueGRzb2Z0IGZvY3VzaW4ueGRzb2Z0IG1vdXNlZG93bi54ZHNvZnQgdG91Y2hzdGFydCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dC5pcygnOmRpc2FibGVkJykgfHwgKGlucHV0LmRhdGEoJ3hkc29mdF9kYXRldGltZXBpY2tlcicpLmlzKCc6dmlzaWJsZScpICYmIG9wdGlvbnMuY2xvc2VPbklucHV0Q2xpY2spKSB7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLm9wZW5PbkZvY3VzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0LmlzKCc6ZGlzYWJsZWQnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQWZ0ZXJPcGVuID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICBfeGRzb2Z0X2RhdGV0aW1lLnNldEN1cnJlbnRUaW1lKGdldEN1cnJlbnRWYWx1ZSgpLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICBpZihvcHRpb25zLm1hc2spIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0TWFzayhvcHRpb25zKTsKICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignb3Blbi54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7CiAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIC5vbigna2V5ZG93bi54ZHNvZnQnLCBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50U2VsZWN0b3IsCiAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gZXZlbnQud2hpY2g7CiAgICAgICAgICAgICAgICAgICBpZiAoW0VOVEVSXS5pbmRleE9mKGtleSkgIT09IC0xICYmIG9wdGlvbnMuZW50ZXJMaWtlVGFiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudFNlbGVjdG9yID0gJCgiaW5wdXQ6dmlzaWJsZSx0ZXh0YXJlYTp2aXNpYmxlLGJ1dHRvbjp2aXNpYmxlLGE6dmlzaWJsZSIpOwogICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ2Nsb3NlLnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRTZWxlY3Rvci5lcShlbGVtZW50U2VsZWN0b3IuaW5kZXgodGhpcykgKyAxKS5mb2N1cygpOwogICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgIGlmIChbVEFCXS5pbmRleE9mKGtleSkgIT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgIC5vbignYmx1ci54ZHNvZnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdjbG9zZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgfSk7CiAgICAgICB9OwogICAgICAgZGVzdHJveURhdGVUaW1lUGlja2VyID0gZnVuY3Rpb24gKGlucHV0KSB7CiAgICAgICAgICAgdmFyIGRhdGV0aW1lcGlja2VyID0gaW5wdXQuZGF0YSgneGRzb2Z0X2RhdGV0aW1lcGlja2VyJyk7CiAgICAgICAgICAgaWYgKGRhdGV0aW1lcGlja2VyKSB7CiAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLmRhdGEoJ3hkc29mdF9kYXRldGltZScsIG51bGwpOwogICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5yZW1vdmUoKTsKICAgICAgICAgICAgICAgaW5wdXQKICAgICAgICAgICAgICAgICAgIC5kYXRhKCd4ZHNvZnRfZGF0ZXRpbWVwaWNrZXInLCBudWxsKQogICAgICAgICAgICAgICAgICAgLm9mZignLnhkc29mdCcpOwogICAgICAgICAgICAgICAkKG9wdGlvbnMuY29udGVudFdpbmRvdykub2ZmKCdyZXNpemUueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICQoW29wdGlvbnMuY29udGVudFdpbmRvdywgb3B0aW9ucy5vd25lckRvY3VtZW50LmJvZHldKS5vZmYoJ21vdXNlZG93bi54ZHNvZnQgdG91Y2hzdGFydCcpOwogICAgICAgICAgICAgICBpZiAoaW5wdXQudW5tb3VzZXdoZWVsKSB7CiAgICAgICAgICAgICAgICAgICBpbnB1dC51bm1vdXNld2hlZWwoKTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgIH07CiAgICAgICAkKG9wdGlvbnMub3duZXJEb2N1bWVudCkKICAgICAgICAgICAub2ZmKCdrZXlkb3duLnhkc29mdGN0cmwga2V5dXAueGRzb2Z0Y3RybCcpCiAgICAgICAgICAgLm9uKCdrZXlkb3duLnhkc29mdGN0cmwnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICBpZiAoZS5rZXlDb2RlID09PSBDVFJMS0VZKSB7CiAgICAgICAgICAgICAgICAgICBjdHJsRG93biA9IHRydWU7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9KQogICAgICAgICAgIC5vbigna2V5dXAueGRzb2Z0Y3RybCcsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IENUUkxLRVkpIHsKICAgICAgICAgICAgICAgICAgIGN0cmxEb3duID0gZmFsc2U7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9KTsKCiAgICAgICB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgIHZhciBkYXRldGltZXBpY2tlciA9ICQodGhpcykuZGF0YSgneGRzb2Z0X2RhdGV0aW1lcGlja2VyJyksICRpbnB1dDsKICAgICAgICAgICBpZiAoZGF0ZXRpbWVwaWNrZXIpIHsKICAgICAgICAgICAgICAgaWYgKCQudHlwZShvcHQpID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgc3dpdGNoIChvcHQpIHsKICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzaG93JzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5zZWxlY3QoKS5mb2N1cygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci50cmlnZ2VyKCdvcGVuLnhkc29mdCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdoaWRlJzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIudHJpZ2dlcignY2xvc2UueGRzb2Z0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvZ2dsZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lcGlja2VyLnRyaWdnZXIoJ3RvZ2dsZS54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGVzdHJveSc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Ryb3lEYXRlVGltZVBpY2tlcigkKHRoaXMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncmVzZXQnOgogICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZSB8fCAhZGF0ZXRpbWVwaWNrZXIuZGF0YSgneGRzb2Z0X2RhdGV0aW1lJykuaXNWYWxpZERhdGUoZGF0ZUhlbHBlci5wYXJzZURhdGUodGhpcy52YWx1ZSwgb3B0aW9ucy5mb3JtYXQpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVwaWNrZXIuZGF0YSgnY2hhbmdlZCcsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlci5kYXRhKCd4ZHNvZnRfZGF0ZXRpbWUnKS5zZXRDdXJyZW50VGltZSh0aGlzLnZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndmFsaWRhdGUnOgogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQgPSBkYXRldGltZXBpY2tlci5kYXRhKCdpbnB1dCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQudHJpZ2dlcignYmx1ci54ZHNvZnQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGV0aW1lcGlja2VyW29wdF0gJiYgJC5pc0Z1bmN0aW9uKGRhdGV0aW1lcGlja2VyW29wdF0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBkYXRldGltZXBpY2tlcltvcHRdKG9wdDIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICBkYXRldGltZXBpY2tlcgogICAgICAgICAgICAgICAgICAgICAgIC5zZXRPcHRpb25zKG9wdCk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgfQogICAgICAgICAgIGlmICgkLnR5cGUob3B0KSAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgaWYgKCFvcHRpb25zLmxhenlJbml0IHx8IG9wdGlvbnMub3BlbiB8fCBvcHRpb25zLmlubGluZSkgewogICAgICAgICAgICAgICAgICAgY3JlYXRlRGF0ZVRpbWVQaWNrZXIoJCh0aGlzKSk7CiAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICBsYXp5SW5pdCgkKHRoaXMpKTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgIH0pOwoKICAgICAgIHJldHVybiByZXN1bHQ7CiAgIH07CgogICAkLmZuLmRhdGV0aW1lcGlja2VyLmRlZmF1bHRzID0gZGVmYXVsdF9vcHRpb25zOwoKICAgZnVuY3Rpb24gSGlnaGxpZ2h0ZWREYXRlKGRhdGUsIGRlc2MsIHN0eWxlKSB7CiAgICAgICAidXNlIHN0cmljdCI7CiAgICAgICB0aGlzLmRhdGUgPSBkYXRlOwogICAgICAgdGhpcy5kZXNjID0gZGVzYzsKICAgICAgIHRoaXMuc3R5bGUgPSBzdHlsZTsKICAgfQp9Owo7KGZ1bmN0aW9uIChmYWN0b3J5KSB7CiAgIGlmICggdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewogICAgICAgLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLgogICAgICAgZGVmaW5lKFsnanF1ZXJ5JywgJ2pxdWVyeS1tb3VzZXdoZWVsJ10sIGZhY3RvcnkpOwogICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JykgewogICAgICAgLy8gTm9kZS9Db21tb25KUyBzdHlsZSBmb3IgQnJvd3NlcmlmeQogICAgICAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoJ2pxdWVyeScpKTs7CiAgIH0gZWxzZSB7CiAgICAgICAvLyBCcm93c2VyIGdsb2JhbHMKICAgICAgIGZhY3RvcnkoalF1ZXJ5KTsKICAgfQp9KGRhdGV0aW1lcGlja2VyRmFjdG9yeSkpOwoKCi8qIQoqIGpRdWVyeSBNb3VzZXdoZWVsIDMuMS4xMwoqCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMKKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiovCgooZnVuY3Rpb24gKGZhY3RvcnkpIHsKICAgaWYgKCB0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CiAgICAgICAvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCiAgICAgICBkZWZpbmUoWydqcXVlcnknXSwgZmFjdG9yeSk7CiAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7CiAgICAgICAvLyBOb2RlL0NvbW1vbkpTIHN0eWxlIGZvciBCcm93c2VyaWZ5CiAgICAgICBtb2R1bGUuZXhwb3J0cyA9IGZhY3Rvcnk7CiAgIH0gZWxzZSB7CiAgICAgICAvLyBCcm93c2VyIGdsb2JhbHMKICAgICAgIGZhY3RvcnkoalF1ZXJ5KTsKICAgfQp9KGZ1bmN0aW9uICgkKSB7CgogICB2YXIgdG9GaXggID0gWyd3aGVlbCcsICdtb3VzZXdoZWVsJywgJ0RPTU1vdXNlU2Nyb2xsJywgJ01vek1vdXNlUGl4ZWxTY3JvbGwnXSwKICAgICAgIHRvQmluZCA9ICggJ29ud2hlZWwnIGluIGRvY3VtZW50IHx8IGRvY3VtZW50LmRvY3VtZW50TW9kZSA+PSA5ICkgPwogICAgICAgICAgICAgICAgICAgWyd3aGVlbCddIDogWydtb3VzZXdoZWVsJywgJ0RvbU1vdXNlU2Nyb2xsJywgJ01vek1vdXNlUGl4ZWxTY3JvbGwnXSwKICAgICAgIHNsaWNlICA9IEFycmF5LnByb3RvdHlwZS5zbGljZSwKICAgICAgIG51bGxMb3dlc3REZWx0YVRpbWVvdXQsIGxvd2VzdERlbHRhOwoKICAgaWYgKCAkLmV2ZW50LmZpeEhvb2tzICkgewogICAgICAgZm9yICggdmFyIGkgPSB0b0ZpeC5sZW5ndGg7IGk7ICkgewogICAgICAgICAgICQuZXZlbnQuZml4SG9va3NbIHRvRml4Wy0taV0gXSA9ICQuZXZlbnQubW91c2VIb29rczsKICAgICAgIH0KICAgfQoKICAgdmFyIHNwZWNpYWwgPSAkLmV2ZW50LnNwZWNpYWwubW91c2V3aGVlbCA9IHsKICAgICAgIHZlcnNpb246ICczLjEuMTInLAoKICAgICAgIHNldHVwOiBmdW5jdGlvbigpIHsKICAgICAgICAgICBpZiAoIHRoaXMuYWRkRXZlbnRMaXN0ZW5lciApIHsKICAgICAgICAgICAgICAgZm9yICggdmFyIGkgPSB0b0JpbmQubGVuZ3RoOyBpOyApIHsKICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lciggdG9CaW5kWy0taV0sIGhhbmRsZXIsIGZhbHNlICk7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICB0aGlzLm9ubW91c2V3aGVlbCA9IGhhbmRsZXI7CiAgICAgICAgICAgfQogICAgICAgICAgIC8vIFN0b3JlIHRoZSBsaW5lIGhlaWdodCBhbmQgcGFnZSBoZWlnaHQgZm9yIHRoaXMgcGFydGljdWxhciBlbGVtZW50CiAgICAgICAgICAgJC5kYXRhKHRoaXMsICdtb3VzZXdoZWVsLWxpbmUtaGVpZ2h0Jywgc3BlY2lhbC5nZXRMaW5lSGVpZ2h0KHRoaXMpKTsKICAgICAgICAgICAkLmRhdGEodGhpcywgJ21vdXNld2hlZWwtcGFnZS1oZWlnaHQnLCBzcGVjaWFsLmdldFBhZ2VIZWlnaHQodGhpcykpOwogICAgICAgfSwKCiAgICAgICB0ZWFyZG93bjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYgKCB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIgKSB7CiAgICAgICAgICAgICAgIGZvciAoIHZhciBpID0gdG9CaW5kLmxlbmd0aDsgaTsgKSB7CiAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoIHRvQmluZFstLWldLCBoYW5kbGVyLCBmYWxzZSApOwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgdGhpcy5vbm1vdXNld2hlZWwgPSBudWxsOwogICAgICAgICAgIH0KICAgICAgICAgICAvLyBDbGVhbiB1cCB0aGUgZGF0YSB3ZSBhZGRlZCB0byB0aGUgZWxlbWVudAogICAgICAgICAgICQucmVtb3ZlRGF0YSh0aGlzLCAnbW91c2V3aGVlbC1saW5lLWhlaWdodCcpOwogICAgICAgICAgICQucmVtb3ZlRGF0YSh0aGlzLCAnbW91c2V3aGVlbC1wYWdlLWhlaWdodCcpOwogICAgICAgfSwKCiAgICAgICBnZXRMaW5lSGVpZ2h0OiBmdW5jdGlvbihlbGVtKSB7CiAgICAgICAgICAgdmFyICRlbGVtID0gJChlbGVtKSwKICAgICAgICAgICAgICAgJHBhcmVudCA9ICRlbGVtWydvZmZzZXRQYXJlbnQnIGluICQuZm4gPyAnb2Zmc2V0UGFyZW50JyA6ICdwYXJlbnQnXSgpOwogICAgICAgICAgIGlmICghJHBhcmVudC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgJHBhcmVudCA9ICQoJ2JvZHknKTsKICAgICAgICAgICB9CiAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KCRwYXJlbnQuY3NzKCdmb250U2l6ZScpLCAxMCkgfHwgcGFyc2VJbnQoJGVsZW0uY3NzKCdmb250U2l6ZScpLCAxMCkgfHwgMTY7CiAgICAgICB9LAoKICAgICAgIGdldFBhZ2VIZWlnaHQ6IGZ1bmN0aW9uKGVsZW0pIHsKICAgICAgICAgICByZXR1cm4gJChlbGVtKS5oZWlnaHQoKTsKICAgICAgIH0sCgogICAgICAgc2V0dGluZ3M6IHsKICAgICAgICAgICBhZGp1c3RPbGREZWx0YXM6IHRydWUsIC8vIHNlZSBzaG91bGRBZGp1c3RPbGREZWx0YXMoKSBiZWxvdwogICAgICAgICAgIG5vcm1hbGl6ZU9mZnNldDogdHJ1ZSAgLy8gY2FsbHMgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGZvciBlYWNoIGV2ZW50CiAgICAgICB9CiAgIH07CgogICAkLmZuLmV4dGVuZCh7CiAgICAgICBtb3VzZXdoZWVsOiBmdW5jdGlvbihmbikgewogICAgICAgICAgIHJldHVybiBmbiA/IHRoaXMuYmluZCgnbW91c2V3aGVlbCcsIGZuKSA6IHRoaXMudHJpZ2dlcignbW91c2V3aGVlbCcpOwogICAgICAgfSwKCiAgICAgICB1bm1vdXNld2hlZWw6IGZ1bmN0aW9uKGZuKSB7CiAgICAgICAgICAgcmV0dXJuIHRoaXMudW5iaW5kKCdtb3VzZXdoZWVsJywgZm4pOwogICAgICAgfQogICB9KTsKCgogICBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7CiAgICAgICB2YXIgb3JnRXZlbnQgICA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudCwKICAgICAgICAgICBhcmdzICAgICAgID0gc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpLAogICAgICAgICAgIGRlbHRhICAgICAgPSAwLAogICAgICAgICAgIGRlbHRhWCAgICAgPSAwLAogICAgICAgICAgIGRlbHRhWSAgICAgPSAwLAogICAgICAgICAgIGFic0RlbHRhICAgPSAwLAogICAgICAgICAgIG9mZnNldFggICAgPSAwLAogICAgICAgICAgIG9mZnNldFkgICAgPSAwOwogICAgICAgZXZlbnQgPSAkLmV2ZW50LmZpeChvcmdFdmVudCk7CiAgICAgICBldmVudC50eXBlID0gJ21vdXNld2hlZWwnOwoKICAgICAgIC8vIE9sZCBzY2hvb2wgc2Nyb2xsd2hlZWwgZGVsdGEKICAgICAgIGlmICggJ2RldGFpbCcgICAgICBpbiBvcmdFdmVudCApIHsgZGVsdGFZID0gb3JnRXZlbnQuZGV0YWlsICogLTE7ICAgICAgfQogICAgICAgaWYgKCAnd2hlZWxEZWx0YScgIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC53aGVlbERlbHRhOyAgICAgICB9CiAgICAgICBpZiAoICd3aGVlbERlbHRhWScgaW4gb3JnRXZlbnQgKSB7IGRlbHRhWSA9IG9yZ0V2ZW50LndoZWVsRGVsdGFZOyAgICAgIH0KICAgICAgIGlmICggJ3doZWVsRGVsdGFYJyBpbiBvcmdFdmVudCApIHsgZGVsdGFYID0gb3JnRXZlbnQud2hlZWxEZWx0YVggKiAtMTsgfQoKICAgICAgIC8vIEZpcmVmb3ggPCAxNyBob3Jpem9udGFsIHNjcm9sbGluZyByZWxhdGVkIHRvIERPTU1vdXNlU2Nyb2xsIGV2ZW50CiAgICAgICBpZiAoICdheGlzJyBpbiBvcmdFdmVudCAmJiBvcmdFdmVudC5heGlzID09PSBvcmdFdmVudC5IT1JJWk9OVEFMX0FYSVMgKSB7CiAgICAgICAgICAgZGVsdGFYID0gZGVsdGFZICogLTE7CiAgICAgICAgICAgZGVsdGFZID0gMDsKICAgICAgIH0KCiAgICAgICAvLyBTZXQgZGVsdGEgdG8gYmUgZGVsdGFZIG9yIGRlbHRhWCBpZiBkZWx0YVkgaXMgMCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdGl5CiAgICAgICBkZWx0YSA9IGRlbHRhWSA9PT0gMCA/IGRlbHRhWCA6IGRlbHRhWTsKCiAgICAgICAvLyBOZXcgc2Nob29sIHdoZWVsIGRlbHRhICh3aGVlbCBldmVudCkKICAgICAgIGlmICggJ2RlbHRhWScgaW4gb3JnRXZlbnQgKSB7CiAgICAgICAgICAgZGVsdGFZID0gb3JnRXZlbnQuZGVsdGFZICogLTE7CiAgICAgICAgICAgZGVsdGEgID0gZGVsdGFZOwogICAgICAgfQogICAgICAgaWYgKCAnZGVsdGFYJyBpbiBvcmdFdmVudCApIHsKICAgICAgICAgICBkZWx0YVggPSBvcmdFdmVudC5kZWx0YVg7CiAgICAgICAgICAgaWYgKCBkZWx0YVkgPT09IDAgKSB7IGRlbHRhICA9IGRlbHRhWCAqIC0xOyB9CiAgICAgICB9CgogICAgICAgLy8gTm8gY2hhbmdlIGFjdHVhbGx5IGhhcHBlbmVkLCBubyByZWFzb24gdG8gZ28gYW55IGZ1cnRoZXIKICAgICAgIGlmICggZGVsdGFZID09PSAwICYmIGRlbHRhWCA9PT0gMCApIHsgcmV0dXJuOyB9CgogICAgICAgLy8gTmVlZCB0byBjb252ZXJ0IGxpbmVzIGFuZCBwYWdlcyB0byBwaXhlbHMgaWYgd2UgYXJlbid0IGFscmVhZHkgaW4gcGl4ZWxzCiAgICAgICAvLyBUaGVyZSBhcmUgdGhyZWUgZGVsdGEgbW9kZXM6CiAgICAgICAvLyAgICogZGVsdGFNb2RlIDAgaXMgYnkgcGl4ZWxzLCBub3RoaW5nIHRvIGRvCiAgICAgICAvLyAgICogZGVsdGFNb2RlIDEgaXMgYnkgbGluZXMKICAgICAgIC8vICAgKiBkZWx0YU1vZGUgMiBpcyBieSBwYWdlcwogICAgICAgaWYgKCBvcmdFdmVudC5kZWx0YU1vZGUgPT09IDEgKSB7CiAgICAgICAgICAgdmFyIGxpbmVIZWlnaHQgPSAkLmRhdGEodGhpcywgJ21vdXNld2hlZWwtbGluZS1oZWlnaHQnKTsKICAgICAgICAgICBkZWx0YSAgKj0gbGluZUhlaWdodDsKICAgICAgICAgICBkZWx0YVkgKj0gbGluZUhlaWdodDsKICAgICAgICAgICBkZWx0YVggKj0gbGluZUhlaWdodDsKICAgICAgIH0gZWxzZSBpZiAoIG9yZ0V2ZW50LmRlbHRhTW9kZSA9PT0gMiApIHsKICAgICAgICAgICB2YXIgcGFnZUhlaWdodCA9ICQuZGF0YSh0aGlzLCAnbW91c2V3aGVlbC1wYWdlLWhlaWdodCcpOwogICAgICAgICAgIGRlbHRhICAqPSBwYWdlSGVpZ2h0OwogICAgICAgICAgIGRlbHRhWSAqPSBwYWdlSGVpZ2h0OwogICAgICAgICAgIGRlbHRhWCAqPSBwYWdlSGVpZ2h0OwogICAgICAgfQoKICAgICAgIC8vIFN0b3JlIGxvd2VzdCBhYnNvbHV0ZSBkZWx0YSB0byBub3JtYWxpemUgdGhlIGRlbHRhIHZhbHVlcwogICAgICAgYWJzRGVsdGEgPSBNYXRoLm1heCggTWF0aC5hYnMoZGVsdGFZKSwgTWF0aC5hYnMoZGVsdGFYKSApOwoKICAgICAgIGlmICggIWxvd2VzdERlbHRhIHx8IGFic0RlbHRhIDwgbG93ZXN0RGVsdGEgKSB7CiAgICAgICAgICAgbG93ZXN0RGVsdGEgPSBhYnNEZWx0YTsKCiAgICAgICAgICAgLy8gQWRqdXN0IG9sZGVyIGRlbHRhcyBpZiBuZWNlc3NhcnkKICAgICAgICAgICBpZiAoIHNob3VsZEFkanVzdE9sZERlbHRhcyhvcmdFdmVudCwgYWJzRGVsdGEpICkgewogICAgICAgICAgICAgICBsb3dlc3REZWx0YSAvPSA0MDsKICAgICAgICAgICB9CiAgICAgICB9CgogICAgICAgLy8gQWRqdXN0IG9sZGVyIGRlbHRhcyBpZiBuZWNlc3NhcnkKICAgICAgIGlmICggc2hvdWxkQWRqdXN0T2xkRGVsdGFzKG9yZ0V2ZW50LCBhYnNEZWx0YSkgKSB7CiAgICAgICAgICAgLy8gRGl2aWRlIGFsbCB0aGUgdGhpbmdzIGJ5IDQwIQogICAgICAgICAgIGRlbHRhICAvPSA0MDsKICAgICAgICAgICBkZWx0YVggLz0gNDA7CiAgICAgICAgICAgZGVsdGFZIC89IDQwOwogICAgICAgfQoKICAgICAgIC8vIEdldCBhIHdob2xlLCBub3JtYWxpemVkIHZhbHVlIGZvciB0aGUgZGVsdGFzCiAgICAgICBkZWx0YSAgPSBNYXRoWyBkZWx0YSAgPj0gMSA/ICdmbG9vcicgOiAnY2VpbCcgXShkZWx0YSAgLyBsb3dlc3REZWx0YSk7CiAgICAgICBkZWx0YVggPSBNYXRoWyBkZWx0YVggPj0gMSA/ICdmbG9vcicgOiAnY2VpbCcgXShkZWx0YVggLyBsb3dlc3REZWx0YSk7CiAgICAgICBkZWx0YVkgPSBNYXRoWyBkZWx0YVkgPj0gMSA/ICdmbG9vcicgOiAnY2VpbCcgXShkZWx0YVkgLyBsb3dlc3REZWx0YSk7CgogICAgICAgLy8gTm9ybWFsaXNlIG9mZnNldFggYW5kIG9mZnNldFkgcHJvcGVydGllcwogICAgICAgaWYgKCBzcGVjaWFsLnNldHRpbmdzLm5vcm1hbGl6ZU9mZnNldCAmJiB0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCApIHsKICAgICAgICAgICB2YXIgYm91bmRpbmdSZWN0ID0gdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICAgICBvZmZzZXRYID0gZXZlbnQuY2xpZW50WCAtIGJvdW5kaW5nUmVjdC5sZWZ0OwogICAgICAgICAgIG9mZnNldFkgPSBldmVudC5jbGllbnRZIC0gYm91bmRpbmdSZWN0LnRvcDsKICAgICAgIH0KCiAgICAgICAvLyBBZGQgaW5mb3JtYXRpb24gdG8gdGhlIGV2ZW50IG9iamVjdAogICAgICAgZXZlbnQuZGVsdGFYID0gZGVsdGFYOwogICAgICAgZXZlbnQuZGVsdGFZID0gZGVsdGFZOwogICAgICAgZXZlbnQuZGVsdGFGYWN0b3IgPSBsb3dlc3REZWx0YTsKICAgICAgIGV2ZW50Lm9mZnNldFggPSBvZmZzZXRYOwogICAgICAgZXZlbnQub2Zmc2V0WSA9IG9mZnNldFk7CiAgICAgICAvLyBHbyBhaGVhZCBhbmQgc2V0IGRlbHRhTW9kZSB0byAwIHNpbmNlIHdlIGNvbnZlcnRlZCB0byBwaXhlbHMKICAgICAgIC8vIEFsdGhvdWdoIHRoaXMgaXMgYSBsaXR0bGUgb2RkIHNpbmNlIHdlIG92ZXJ3cml0ZSB0aGUgZGVsdGFYL1kKICAgICAgIC8vIHByb3BlcnRpZXMgd2l0aCBub3JtYWxpemVkIGRlbHRhcy4KICAgICAgIGV2ZW50LmRlbHRhTW9kZSA9IDA7CgogICAgICAgLy8gQWRkIGV2ZW50IGFuZCBkZWx0YSB0byB0aGUgZnJvbnQgb2YgdGhlIGFyZ3VtZW50cwogICAgICAgYXJncy51bnNoaWZ0KGV2ZW50LCBkZWx0YSwgZGVsdGFYLCBkZWx0YVkpOwoKICAgICAgIC8vIENsZWFyb3V0IGxvd2VzdERlbHRhIGFmdGVyIHNvbWV0aW1lIHRvIGJldHRlcgogICAgICAgLy8gaGFuZGxlIG11bHRpcGxlIGRldmljZSB0eXBlcyB0aGF0IGdpdmUgZGlmZmVyZW50CiAgICAgICAvLyBhIGRpZmZlcmVudCBsb3dlc3REZWx0YQogICAgICAgLy8gRXg6IHRyYWNrcGFkID0gMyBhbmQgbW91c2Ugd2hlZWwgPSAxMjAKICAgICAgIGlmIChudWxsTG93ZXN0RGVsdGFUaW1lb3V0KSB7IGNsZWFyVGltZW91dChudWxsTG93ZXN0RGVsdGFUaW1lb3V0KTsgfQogICAgICAgbnVsbExvd2VzdERlbHRhVGltZW91dCA9IHNldFRpbWVvdXQobnVsbExvd2VzdERlbHRhLCAyMDApOwoKICAgICAgIHJldHVybiAoJC5ldmVudC5kaXNwYXRjaCB8fCAkLmV2ZW50LmhhbmRsZSkuYXBwbHkodGhpcywgYXJncyk7CiAgIH0KCiAgIGZ1bmN0aW9uIG51bGxMb3dlc3REZWx0YSgpIHsKICAgICAgIGxvd2VzdERlbHRhID0gbnVsbDsKICAgfQoKICAgZnVuY3Rpb24gc2hvdWxkQWRqdXN0T2xkRGVsdGFzKG9yZ0V2ZW50LCBhYnNEZWx0YSkgewogICAgICAgLy8gSWYgdGhpcyBpcyBhbiBvbGRlciBldmVudCBhbmQgdGhlIGRlbHRhIGlzIGRpdmlzYWJsZSBieSAxMjAsCiAgICAgICAvLyB0aGVuIHdlIGFyZSBhc3N1bWluZyB0aGF0IHRoZSBicm93c2VyIGlzIHRyZWF0aW5nIHRoaXMgYXMgYW4KICAgICAgIC8vIG9sZGVyIG1vdXNlIHdoZWVsIGV2ZW50IGFuZCB0aGF0IHdlIHNob3VsZCBkaXZpZGUgdGhlIGRlbHRhcwogICAgICAgLy8gYnkgNDAgdG8gdHJ5IGFuZCBnZXQgYSBtb3JlIHVzYWJsZSBkZWx0YUZhY3Rvci4KICAgICAgIC8vIFNpZGUgbm90ZSwgdGhpcyBhY3R1YWxseSBpbXBhY3RzIHRoZSByZXBvcnRlZCBzY3JvbGwgZGlzdGFuY2UKICAgICAgIC8vIGluIG9sZGVyIGJyb3dzZXJzIGFuZCBjYW4gY2F1c2Ugc2Nyb2xsaW5nIHRvIGJlIHNsb3dlciB0aGFuIG5hdGl2ZS4KICAgICAgIC8vIFR1cm4gdGhpcyBvZmYgYnkgc2V0dGluZyAkLmV2ZW50LnNwZWNpYWwubW91c2V3aGVlbC5zZXR0aW5ncy5hZGp1c3RPbGREZWx0YXMgdG8gZmFsc2UuCiAgICAgICByZXR1cm4gc3BlY2lhbC5zZXR0aW5ncy5hZGp1c3RPbGREZWx0YXMgJiYgb3JnRXZlbnQudHlwZSA9PT0gJ21vdXNld2hlZWwnICYmIGFic0RlbHRhICUgMTIwID09PSAwOwogICB9Cgp9KSk7"}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":84,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/material.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.051Z","timestamp":1785139582051,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/material.min.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2370\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8136,"size_decoded":2607,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (8136), with no line terminators","md5":"09d217ec7568e3409b1f86b6d82356a2","sha1":"78bbaeb85d512230ab699701fe4264452d91bb93","sha256":"2cd7b83e4c3f77ae95c81ef4ba18aa225310172160dc4b2facac413f9402a8bf","sha512":"adc97fce6772a10c020200787f26b3839efa197fe7aae25b3fd39d679b89998ae5435d5f81a0fa09dd712c9a275c9fbac1d0908868edbb7be869a6f680c1c608","ssdeep":"192:kNvBZvXvTvZvpUdVUeUPNeI9jPCB0bIuSXIBq3wkc75losi:kNZZ/rBhUdVUeUPNeI9jPk0bIuSXIA3f","tlshash":"1ff1430cb521334352f791f451eb8a4f613290b4d919445870afc6e45abee8ca2abfbd","first_seen":"2023-11-30T04:02:23Z","last_seen":"2026-07-27T09:11:27.365073Z","times_seen":12,"resource_available":true,"data":"IWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG8odCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiB0LndoaWNoPyEwOiJudW1iZXIiPT10eXBlb2YgdC53aGljaCYmdC53aGljaD4wPyF0LmN0cmxLZXkmJiF0Lm1ldGFLZXkmJiF0LmFsdEtleSYmOCE9dC53aGljaCYmOSE9dC53aGljaCYmMTMhPXQud2hpY2gmJjE2IT10LndoaWNoJiYxNyE9dC53aGljaCYmMjAhPXQud2hpY2gmJjI3IT10LndoaWNoOiExfWZ1bmN0aW9uIGkobyl7dmFyIGk9dChvKTtpLnByb3AoImRpc2FibGVkIil8fGkuY2xvc2VzdCgiLmZvcm0tZ3JvdXAiKS5hZGRDbGFzcygiaXMtZm9jdXNlZCIpfWZ1bmN0aW9uIG4obyl7by5jbG9zZXN0KCJsYWJlbCIpLmhvdmVyKGZ1bmN0aW9uKCl7dmFyIG89dCh0aGlzKS5maW5kKCJpbnB1dCIpO28ucHJvcCgiZGlzYWJsZWQiKXx8aShvKX0sZnVuY3Rpb24oKXtlKHQodGhpcykuZmluZCgiaW5wdXQiKSl9KX1mdW5jdGlvbiBlKG8pe3QobykuY2xvc2VzdCgiLmZvcm0tZ3JvdXAiKS5yZW1vdmVDbGFzcygiaXMtZm9jdXNlZCIpfXQuZXhwclsiOiJdLm5vdG1kcHJvYz1mdW5jdGlvbihvKXtyZXR1cm4gdChvKS5kYXRhKCJtZHByb2MiKT8hMTohMH0sdC5tYXRlcmlhbD17b3B0aW9uczp7dmFsaWRhdGU6ITAsaW5wdXQ6ITAscmlwcGxlczohMCxjaGVja2JveDohMCx0b2dnbGVidXR0b246ITAscmFkaW86ITAsYXJyaXZlOiEwLGF1dG9maWxsOiExLHdpdGhSaXBwbGVzOlsiLmJ0bjpub3QoLmJ0bi1saW5rKSIsIi5jYXJkLWltYWdlIiwiLm5hdmJhciBhOm5vdCgud2l0aG91dHJpcHBsZSkiLCIuZm9vdGVyIGE6bm90KC53aXRob3V0cmlwcGxlKSIsIi5kcm9wZG93bi1tZW51IGEiLCIubmF2LXRhYnMgYTpub3QoLndpdGhvdXRyaXBwbGUpIiwiLndpdGhyaXBwbGUiLCIucGFnaW5hdGlvbiBsaTpub3QoLmFjdGl2ZSk6bm90KC5kaXNhYmxlZCkgYTpub3QoLndpdGhvdXRyaXBwbGUpIl0uam9pbigiLCIpLGlucHV0RWxlbWVudHM6ImlucHV0LmZvcm0tY29udHJvbCwgdGV4dGFyZWEuZm9ybS1jb250cm9sLCBzZWxlY3QuZm9ybS1jb250cm9sIixjaGVja2JveEVsZW1lbnRzOiIuY2hlY2tib3ggPiBsYWJlbCA+IGlucHV0W3R5cGU9Y2hlY2tib3hdIix0b2dnbGVidXR0b25FbGVtZW50czoiLnRvZ2dsZWJ1dHRvbiA+IGxhYmVsID4gaW5wdXRbdHlwZT1jaGVja2JveF0iLHJhZGlvRWxlbWVudHM6Ii5yYWRpbyA+IGxhYmVsID4gaW5wdXRbdHlwZT1yYWRpb10ifSxjaGVja2JveDpmdW5jdGlvbihvKXt2YXIgaT10KG8/bzp0aGlzLm9wdGlvbnMuY2hlY2tib3hFbGVtZW50cykuZmlsdGVyKCI6bm90bWRwcm9jIikuZGF0YSgibWRwcm9jIiwhMCkuYWZ0ZXIoIjxzcGFuIGNsYXNzPSdjaGVja2JveC1tYXRlcmlhbCc+PHNwYW4gY2xhc3M9J2NoZWNrJz48L3NwYW4+PC9zcGFuPiIpO24oaSl9LHRvZ2dsZWJ1dHRvbjpmdW5jdGlvbihvKXt2YXIgaT10KG8/bzp0aGlzLm9wdGlvbnMudG9nZ2xlYnV0dG9uRWxlbWVudHMpLmZpbHRlcigiOm5vdG1kcHJvYyIpLmRhdGEoIm1kcHJvYyIsITApLmFmdGVyKCI8c3BhbiBjbGFzcz0ndG9nZ2xlJz48L3NwYW4+Iik7bihpKX0scmFkaW86ZnVuY3Rpb24obyl7dmFyIGk9dChvP286dGhpcy5vcHRpb25zLnJhZGlvRWxlbWVudHMpLmZpbHRlcigiOm5vdG1kcHJvYyIpLmRhdGEoIm1kcHJvYyIsITApLmFmdGVyKCI8c3BhbiBjbGFzcz0nY2lyY2xlJz48L3NwYW4+PHNwYW4gY2xhc3M9J2NoZWNrJz48L3NwYW4+Iik7bihpKX0saW5wdXQ6ZnVuY3Rpb24obyl7dChvP286dGhpcy5vcHRpb25zLmlucHV0RWxlbWVudHMpLmZpbHRlcigiOm5vdG1kcHJvYyIpLmRhdGEoIm1kcHJvYyIsITApLmVhY2goZnVuY3Rpb24oKXt2YXIgbz10KHRoaXMpLGk9by5jbG9zZXN0KCIuZm9ybS1ncm91cCIpOzA9PT1pLmxlbmd0aCYmKG8ud3JhcCgiPGRpdiBjbGFzcz0nZm9ybS1ncm91cCc+PC9kaXY+IiksaT1vLmNsb3Nlc3QoIi5mb3JtLWdyb3VwIikpLG8uYXR0cigiZGF0YS1oaW50IikmJihvLmFmdGVyKCI8cCBjbGFzcz0naGVscC1ibG9jayc+IitvLmF0dHIoImRhdGEtaGludCIpKyI8L3A+Iiksby5yZW1vdmVBdHRyKCJkYXRhLWhpbnQiKSk7dmFyIG49eyJpbnB1dC1sZyI6ImZvcm0tZ3JvdXAtbGciLCJpbnB1dC1zbSI6ImZvcm0tZ3JvdXAtc20ifTtpZih0LmVhY2gobixmdW5jdGlvbih0LG4pe28uaGFzQ2xhc3ModCkmJihvLnJlbW92ZUNsYXNzKHQpLGkuYWRkQ2xhc3MobikpfSksby5oYXNDbGFzcygiZmxvYXRpbmctbGFiZWwiKSl7dmFyIGU9by5hdHRyKCJwbGFjZWhvbGRlciIpO28uYXR0cigicGxhY2Vob2xkZXIiLG51bGwpLnJlbW92ZUNsYXNzKCJmbG9hdGluZy1sYWJlbCIpO3ZhciBhPW8uYXR0cigiaWQiKSxyPSIiO2EmJihyPSJmb3I9JyIrYSsiJyIpLGkuYWRkQ2xhc3MoImxhYmVsLWZsb2F0aW5nIiksby5hZnRlcigiPGxhYmVsICIrcisiY2xhc3M9J2NvbnRyb2wtbGFiZWwnPiIrZSsiPC9sYWJlbD4iKX0obnVsbD09PW8udmFsKCl8fCJ1bmRlZmluZWQiPT1vLnZhbCgpfHwiIj09PW8udmFsKCkpJiZpLmFkZENsYXNzKCJpcy1lbXB0eSIpLGkuYXBwZW5kKCI8c3BhbiBjbGFzcz0nbWF0ZXJpYWwtaW5wdXQnPjwvc3Bhbj4iKSxpLmZpbmQoImlucHV0W3R5cGU9ZmlsZV0iKS5sZW5ndGg+MCYmaS5hZGRDbGFzcygiaXMtZmlsZWlucHV0Iil9KX0sYXR0YWNoSW5wdXRFdmVudEhhbmRsZXJzOmZ1bmN0aW9uKCl7dmFyIG49dGhpcy5vcHRpb25zLnZhbGlkYXRlO3QoZG9jdW1lbnQpLm9uKCJjaGFuZ2UiLCIuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0iLGZ1bmN0aW9uKCl7dCh0aGlzKS5ibHVyKCl9KS5vbigia2V5ZG93biBwYXN0ZSIsIi5mb3JtLWNvbnRyb2wiLGZ1bmN0aW9uKGkpe28oaSkmJnQodGhpcykuY2xvc2VzdCgiLmZvcm0tZ3JvdXAiKS5yZW1vdmVDbGFzcygiaXMtZW1wdHkiKX0pLm9uKCJrZXl1cCBjaGFuZ2UiLCIuZm9ybS1jb250cm9sIixmdW5jdGlvbigpe3ZhciBvPXQodGhpcyksaT1vLmNsb3Nlc3QoIi5mb3JtLWdyb3VwIiksZT0idW5kZWZpbmVkIj09dHlwZW9mIG9bMF0uY2hlY2tWYWxpZGl0eXx8b1swXS5jaGVja1ZhbGlkaXR5KCk7IiI9PT1vLnZhbCgpP2kuYWRkQ2xhc3MoImlzLWVtcHR5Iik6aS5yZW1vdmVDbGFzcygiaXMtZW1wdHkiKSxuJiYoZT9pLnJlbW92ZUNsYXNzKCJoYXMtZXJyb3IiKTppLmFkZENsYXNzKCJoYXMtZXJyb3IiKSl9KS5vbigiZm9jdXMiLCIuZm9ybS1jb250cm9sLCAuZm9ybS1ncm91cC5pcy1maWxlaW5wdXQiLGZ1bmN0aW9uKCl7aSh0aGlzKX0pLm9uKCJibHVyIiwiLmZvcm0tY29udHJvbCwgLmZvcm0tZ3JvdXAuaXMtZmlsZWlucHV0IixmdW5jdGlvbigpe2UodGhpcyl9KS5vbigiY2hhbmdlIiwiLmZvcm0tZ3JvdXAgaW5wdXQiLGZ1bmN0aW9uKCl7dmFyIG89dCh0aGlzKTtpZigiZmlsZSIhPW8uYXR0cigidHlwZSIpKXt2YXIgaT1vLmNsb3Nlc3QoIi5mb3JtLWdyb3VwIiksbj1vLnZhbCgpO24/aS5yZW1vdmVDbGFzcygiaXMtZW1wdHkiKTppLmFkZENsYXNzKCJpcy1lbXB0eSIpfX0pLm9uKCJjaGFuZ2UiLCIuZm9ybS1ncm91cC5pcy1maWxlaW5wdXQgaW5wdXRbdHlwZT0nZmlsZSddIixmdW5jdGlvbigpe3ZhciBvPXQodGhpcyksaT1vLmNsb3Nlc3QoIi5mb3JtLWdyb3VwIiksbj0iIjt0LmVhY2godGhpcy5maWxlcyxmdW5jdGlvbih0LG8pe24rPW8ubmFtZSsiLCAifSksbj1uLnN1YnN0cmluZygwLG4ubGVuZ3RoLTIpLG4/aS5yZW1vdmVDbGFzcygiaXMtZW1wdHkiKTppLmFkZENsYXNzKCJpcy1lbXB0eSIpLGkuZmluZCgiaW5wdXQuZm9ybS1jb250cm9sW3JlYWRvbmx5XSIpLnZhbChuKX0pfSxyaXBwbGVzOmZ1bmN0aW9uKG8pe3Qobz9vOnRoaXMub3B0aW9ucy53aXRoUmlwcGxlcykucmlwcGxlcygpfSxhdXRvZmlsbDpmdW5jdGlvbigpe3ZhciBvPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dCgiaW5wdXRbdHlwZSE9Y2hlY2tib3hdIikuZWFjaChmdW5jdGlvbigpe3ZhciBvPXQodGhpcyk7by52YWwoKSYmby52YWwoKSE9PW8uYXR0cigidmFsdWUiKSYmby50cmlnZ2VyKCJjaGFuZ2UiKX0pfSwxMDApO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjbGVhckludGVydmFsKG8pfSwxZTQpfSxhdHRhY2hBdXRvZmlsbEV2ZW50SGFuZGxlcnM6ZnVuY3Rpb24oKXt2YXIgbzt0KGRvY3VtZW50KS5vbigiZm9jdXMiLCJpbnB1dCIsZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLnBhcmVudHMoImZvcm0iKS5maW5kKCJpbnB1dCIpLm5vdCgiW3R5cGU9ZmlsZV0iKTtvPXNldEludGVydmFsKGZ1bmN0aW9uKCl7aS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89dCh0aGlzKTtvLnZhbCgpIT09by5hdHRyKCJ2YWx1ZSIpJiZvLnRyaWdnZXIoImNoYW5nZSIpfSl9LDEwMCl9KS5vbigiYmx1ciIsIi5mb3JtLWdyb3VwIGlucHV0IixmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwobyl9KX0saW5pdDpmdW5jdGlvbihvKXt0aGlzLm9wdGlvbnM9dC5leHRlbmQoe30sdGhpcy5vcHRpb25zLG8pO3ZhciBpPXQoZG9jdW1lbnQpO3QuZm4ucmlwcGxlcyYmdGhpcy5vcHRpb25zLnJpcHBsZXMmJnRoaXMucmlwcGxlcygpLHRoaXMub3B0aW9ucy5pbnB1dCYmKHRoaXMuaW5wdXQoKSx0aGlzLmF0dGFjaElucHV0RXZlbnRIYW5kbGVycygpKSx0aGlzLm9wdGlvbnMuY2hlY2tib3gmJnRoaXMuY2hlY2tib3goKSx0aGlzLm9wdGlvbnMudG9nZ2xlYnV0dG9uJiZ0aGlzLnRvZ2dsZWJ1dHRvbigpLHRoaXMub3B0aW9ucy5yYWRpbyYmdGhpcy5yYWRpbygpLHRoaXMub3B0aW9ucy5hdXRvZmlsbCYmKHRoaXMuYXV0b2ZpbGwoKSx0aGlzLmF0dGFjaEF1dG9maWxsRXZlbnRIYW5kbGVycygpKSxkb2N1bWVudC5hcnJpdmUmJnRoaXMub3B0aW9ucy5hcnJpdmUmJih0LmZuLnJpcHBsZXMmJnRoaXMub3B0aW9ucy5yaXBwbGVzJiZpLmFycml2ZSh0aGlzLm9wdGlvbnMud2l0aFJpcHBsZXMsZnVuY3Rpb24oKXt0Lm1hdGVyaWFsLnJpcHBsZXModCh0aGlzKSl9KSx0aGlzLm9wdGlvbnMuaW5wdXQmJmkuYXJyaXZlKHRoaXMub3B0aW9ucy5pbnB1dEVsZW1lbnRzLGZ1bmN0aW9uKCl7dC5tYXRlcmlhbC5pbnB1dCh0KHRoaXMpKX0pLHRoaXMub3B0aW9ucy5jaGVja2JveCYmaS5hcnJpdmUodGhpcy5vcHRpb25zLmNoZWNrYm94RWxlbWVudHMsZnVuY3Rpb24oKXt0Lm1hdGVyaWFsLmNoZWNrYm94KHQodGhpcykpfSksdGhpcy5vcHRpb25zLnJhZGlvJiZpLmFycml2ZSh0aGlzLm9wdGlvbnMucmFkaW9FbGVtZW50cyxmdW5jdGlvbigpe3QubWF0ZXJpYWwucmFkaW8odCh0aGlzKSl9KSx0aGlzLm9wdGlvbnMudG9nZ2xlYnV0dG9uJiZpLmFycml2ZSh0aGlzLm9wdGlvbnMudG9nZ2xlYnV0dG9uRWxlbWVudHMsZnVuY3Rpb24oKXt0Lm1hdGVyaWFsLnRvZ2dsZWJ1dHRvbih0KHRoaXMpKX0pKX19fShqUXVlcnkpLGZ1bmN0aW9uKHQsbyxpLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKG8saSl7cj10aGlzLHRoaXMuZWxlbWVudD10KG8pLHRoaXMub3B0aW9ucz10LmV4dGVuZCh7fSxzLGkpLHRoaXMuX2RlZmF1bHRzPXMsdGhpcy5fbmFtZT1hLHRoaXMuaW5pdCgpfXZhciBhPSJyaXBwbGVzIixyPW51bGwscz17fTtlLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5lbGVtZW50O2kub24oIm1vdXNlZG93biB0b3VjaHN0YXJ0IixmdW5jdGlvbihuKXtpZighci5pc1RvdWNoKCl8fCJtb3VzZWRvd24iIT09bi50eXBlKXtpLmZpbmQoIi5yaXBwbGUtY29udGFpbmVyIikubGVuZ3RofHxpLmFwcGVuZCgnPGRpdiBjbGFzcz0icmlwcGxlLWNvbnRhaW5lciI+PC9kaXY+Jyk7dmFyIGU9aS5jaGlsZHJlbigiLnJpcHBsZS1jb250YWluZXIiKSxhPXIuZ2V0UmVsWShlLG4pLHM9ci5nZXRSZWxYKGUsbik7aWYoYXx8cyl7dmFyIGw9ci5nZXRSaXBwbGVzQ29sb3IoaSkscD10KCI8ZGl2PjwvZGl2PiIpO3AuYWRkQ2xhc3MoInJpcHBsZSIpLmNzcyh7bGVmdDpzLHRvcDphLCJiYWNrZ3JvdW5kLWNvbG9yIjpsfSksZS5hcHBlbmQocCksZnVuY3Rpb24oKXtyZXR1cm4gby5nZXRDb21wdXRlZFN0eWxlKHBbMF0pLm9wYWNpdHl9KCksci5yaXBwbGVPbihpLHApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLnJpcHBsZUVuZChwKX0sNTAwKSxpLm9uKCJtb3VzZXVwIG1vdXNlbGVhdmUgdG91Y2hlbmQiLGZ1bmN0aW9uKCl7cC5kYXRhKCJtb3VzZWRvd24iLCJvZmYiKSwib2ZmIj09PXAuZGF0YSgiYW5pbWF0aW5nIikmJnIucmlwcGxlT3V0KHApfSl9fX0pfSxlLnByb3RvdHlwZS5nZXROZXdTaXplPWZ1bmN0aW9uKHQsbyl7cmV0dXJuIE1hdGgubWF4KHQub3V0ZXJXaWR0aCgpLHQub3V0ZXJIZWlnaHQoKSkvby5vdXRlcldpZHRoKCkqMi41fSxlLnByb3RvdHlwZS5nZXRSZWxYPWZ1bmN0aW9uKHQsbyl7dmFyIGk9dC5vZmZzZXQoKTtyZXR1cm4gci5pc1RvdWNoKCk/KG89by5vcmlnaW5hbEV2ZW50LDE9PT1vLnRvdWNoZXMubGVuZ3RoP28udG91Y2hlc1swXS5wYWdlWC1pLmxlZnQ6ITEpOm8ucGFnZVgtaS5sZWZ0fSxlLnByb3RvdHlwZS5nZXRSZWxZPWZ1bmN0aW9uKHQsbyl7dmFyIGk9dC5vZmZzZXQoKTtyZXR1cm4gci5pc1RvdWNoKCk/KG89by5vcmlnaW5hbEV2ZW50LDE9PT1vLnRvdWNoZXMubGVuZ3RoP28udG91Y2hlc1swXS5wYWdlWS1pLnRvcDohMSk6by5wYWdlWS1pLnRvcH0sZS5wcm90b3R5cGUuZ2V0UmlwcGxlc0NvbG9yPWZ1bmN0aW9uKHQpe3ZhciBpPXQuZGF0YSgicmlwcGxlLWNvbG9yIik/dC5kYXRhKCJyaXBwbGUtY29sb3IiKTpvLmdldENvbXB1dGVkU3R5bGUodFswXSkuY29sb3I7cmV0dXJuIGl9LGUucHJvdG90eXBlLmhhc1RyYW5zaXRpb25TdXBwb3J0PWZ1bmN0aW9uKCl7dmFyIHQ9aS5ib2R5fHxpLmRvY3VtZW50RWxlbWVudCxvPXQuc3R5bGUsZT1vLnRyYW5zaXRpb24hPT1ufHxvLldlYmtpdFRyYW5zaXRpb24hPT1ufHxvLk1velRyYW5zaXRpb24hPT1ufHxvLk1zVHJhbnNpdGlvbiE9PW58fG8uT1RyYW5zaXRpb24hPT1uO3JldHVybiBlfSxlLnByb3RvdHlwZS5pc1RvdWNoPWZ1bmN0aW9uKCl7cmV0dXJuL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfSxlLnByb3RvdHlwZS5yaXBwbGVFbmQ9ZnVuY3Rpb24odCl7dC5kYXRhKCJhbmltYXRpbmciLCJvZmYiKSwib2ZmIj09PXQuZGF0YSgibW91c2Vkb3duIikmJnIucmlwcGxlT3V0KHQpfSxlLnByb3RvdHlwZS5yaXBwbGVPdXQ9ZnVuY3Rpb24odCl7dC5vZmYoKSxyLmhhc1RyYW5zaXRpb25TdXBwb3J0KCk/dC5hZGRDbGFzcygicmlwcGxlLW91dCIpOnQuYW5pbWF0ZSh7b3BhY2l0eTowfSwxMDAsZnVuY3Rpb24oKXt0LnRyaWdnZXIoInRyYW5zaXRpb25lbmQiKX0pLHQub24oInRyYW5zaXRpb25lbmQgd2Via2l0VHJhbnNpdGlvbkVuZCBvVHJhbnNpdGlvbkVuZCBNU1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7dC5yZW1vdmUoKX0pfSxlLnByb3RvdHlwZS5yaXBwbGVPbj1mdW5jdGlvbih0LG8pe3ZhciBpPXIuZ2V0TmV3U2l6ZSh0LG8pO3IuaGFzVHJhbnNpdGlvblN1cHBvcnQoKT9vLmNzcyh7Ii1tcy10cmFuc2Zvcm0iOiJzY2FsZSgiK2krIikiLCItbW96LXRyYW5zZm9ybSI6InNjYWxlKCIraSsiKSIsIi13ZWJraXQtdHJhbnNmb3JtIjoic2NhbGUoIitpKyIpIix0cmFuc2Zvcm06InNjYWxlKCIraSsiKSJ9KS5hZGRDbGFzcygicmlwcGxlLW9uIikuZGF0YSgiYW5pbWF0aW5nIiwib24iKS5kYXRhKCJtb3VzZWRvd24iLCJvbiIpOm8uYW5pbWF0ZSh7d2lkdGg6MipNYXRoLm1heCh0Lm91dGVyV2lkdGgoKSx0Lm91dGVySGVpZ2h0KCkpLGhlaWdodDoyKk1hdGgubWF4KHQub3V0ZXJXaWR0aCgpLHQub3V0ZXJIZWlnaHQoKSksIm1hcmdpbi1sZWZ0IjotMSpNYXRoLm1heCh0Lm91dGVyV2lkdGgoKSx0Lm91dGVySGVpZ2h0KCkpLCJtYXJnaW4tdG9wIjotMSpNYXRoLm1heCh0Lm91dGVyV2lkdGgoKSx0Lm91dGVySGVpZ2h0KCkpLG9wYWNpdHk6LjJ9LDUwMCxmdW5jdGlvbigpe28udHJpZ2dlcigidHJhbnNpdGlvbmVuZCIpfSl9LHQuZm4ucmlwcGxlcz1mdW5jdGlvbihvKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dC5kYXRhKHRoaXMsInBsdWdpbl8iK2EpfHx0LmRhdGEodGhpcywicGx1Z2luXyIrYSxuZXcgZSh0aGlzLG8pKX0pfX0oalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCk7"}},"time_used":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.803Z","timestamp":1785139583803,"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-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 08:06:23 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: 772543d293b942b0d7077eed196ab680\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-08-11T20:09:22.772966Z","times_seen":348,"resource_available":false,"data":"LmJvZHlOb1Njcm9sbC1mT0lSS0F0SHttYXJnaW4tcmlnaHQ6dmFyKC0tdWktbGliLXByaXZhdGUtc2Nyb2xsVHJhcC1zY3JvbGwtd2lkdGgpO292ZXJmbG93OmhpZGRlbjt0b3VjaC1hY3Rpb246bm9uZX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuYm9keU5vU2Nyb2xsLWZPSVJLQXRIe3Njcm9sbGJhci13aWR0aDpub25lfX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRILnNiLXNjcm9sbGJhci13cmFwe2Rpc3BsYXk6bm9uZX0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwuYm9keU5vU2Nyb2xsLWZPSVJLQXRIOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tkaXNwbGF5Om5vbmV9LmJvZHlOb1Njcm9sbC1mT0lSS0F0SDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0RntoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtvdmVyZmxvdzpzY3JvbGw7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsVHJhcC1MbjBBSVc0RntzY3JvbGxiYXItd2lkdGg6bm9uZX19LnNjcm9sbFRyYXAtTG4wQUlXNEYuc2Itc2Nyb2xsYmFyLXdyYXB7ZGlzcGxheTpub25lfS5zY3JvbGxUcmFwLUxuMEFJVzRGOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjA7d2lkdGg6MH0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsLnNjcm9sbFRyYXAtTG4wQUlXNEY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcC1MbjBBSVc0Rjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uc2Nyb2xsVHJhcENvbnRlbnQtTG4wQUlXNEZ7aGVpZ2h0OmNhbGMoMTAwJSArIDEwMDAwcHgpO3dpZHRoOmNhbGMoMTAwJSArIDEwMDAwcHgpfS5zdHViLUl1aE9qb3VZe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO2JvdHRvbTowO2hlaWdodDo0cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjpmaXhlZH0uY29udGVudC1hZjBMQ2d5NXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtvdmVyc2Nyb2xsLWJlaGF2aW9yOm5vbmU7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lO2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnJ9LnN0cmV0Y2gtYWYwTENneTV7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uYmVnaW4tYWYwTENneTV7aW5zZXQtaW5saW5lLXN0YXJ0OjB9LmVuZC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtZW5kOjB9LmJlZ2luLWFmMExDZ3k1LC5lbmQtYWYwTENneTV7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAxMDBweCk7dG9wOjB9LnRvcC1hZjBMQ2d5NXt0b3A6MH0uYm90dG9tLWFmMExDZ3k1e2JvdHRvbTowfS5ib3R0b20tYWYwTENneTUsLnRvcC1hZjBMQ2d5NXtpbnNldC1pbmxpbmUtc3RhcnQ6MDttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDEwMHB4KTt3aWR0aDoxMDAlfUBzdXBwb3J0cyAoaGVpZ2h0OjEwMGR2aCl7LmJvdHRvbS1hZjBMQ2d5NSwudG9wLWFmMExDZ3k1e21heC1oZWlnaHQ6Y2FsYygxMDBkdmggLSAxMDBweCl9fS5iYWNrZHJvcC1hZjBMQ2d5NXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO292ZXJzY3JvbGwtYmVoYXZpb3I6bm9uZTtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlOy0td2Via2l0LW92ZXJzY3JvbGwtYmVoYWl2aW91cjpub25lfS5tb2JpbGVDb250ZXh0LVZ4bjRMaFlMe2Rpc3BsYXk6Y29udGVudHM7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNBbmNob3JQb3NpdGlvbmVyOjA7LS11aS1saWItb3V0LXBvc2l0aW9uZXItaXNNb2JpbGVQb3NpdGlvbmVyOjF9LmFuY2hvckNvbnRleHQtVnhuNExoWUx7ZGlzcGxheTpjb250ZW50czstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc0FuY2hvclBvc2l0aW9uZXI6MTstLXVpLWxpYi1vdXQtcG9zaXRpb25lci1pc01vYmlsZVBvc2l0aW9uZXI6MH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDEwcHggMTBweCAwfS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYmVnaW4tZzhSb2hnTlg6ZGlyKHJ0bCl7Ym9yZGVyLXJhZGl1czoxMHB4IDAgMCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguZW5kLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAwIDAgMTBweH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlTW9iaWxlLWc4Um9oZ05YLmVuZC1nOFJvaGdOWDpkaXIocnRsKXtib3JkZXItcmFkaXVzOjAgMTBweCAxMHB4IDB9LmNvbnRlbnREZWZhdWx0QXBwZWFyYW5jZU1vYmlsZS1nOFJvaGdOWC50b3AtZzhSb2hnTlh7Ym9yZGVyLXJhZGl1czowIDAgMTBweCAxMHB4fS5jb250ZW50RGVmYXVsdEFwcGVhcmFuY2VNb2JpbGUtZzhSb2hnTlguYm90dG9tLWc4Um9oZ05Ye2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDAgMH0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05Ye2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZSk7Ym9yZGVyLXJhZGl1czoxMHB4IDEwcHggMTBweCAxMHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO292ZXJmbG93OmhpZGRlbn0uY29udGVudERlZmF1bHRBcHBlYXJhbmNlLWc4Um9oZ05YOmRpcihydGwpe2JvcmRlci1yYWRpdXM6MTBweCAxMHB4IDEwcHggMTBweH0="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.990Z","timestamp":1785139583990,"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-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 08:06:23 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: 4624d78574b5a0dbccaaf494e1e34dba\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-28T06:17:53.402989Z","times_seen":228,"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":"nanoquantumstellarsledger.com/frontcss/assets/Headroom.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.031Z","timestamp":1785139582031,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/Headroom.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1732\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5733,"size_decoded":1969,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (5182)","md5":"4e9570b01f087f5318b207a669bf2c9a","sha1":"31fc0b38c399f606293a3f1179132c0e8fdc82cb","sha256":"83c555208204a26da789bec106352a508875e4fdb28b11d2082e3d099142f357","sha512":"383650b77e5d701fd848154c6c915d19dbc1ef55c50ed28f8c0dae43c914587aebd5455a8c0bdc9b7956fc9b5bb5f9e0d8d79df96a6aa15a17182ccd027af7f7","ssdeep":"96:ftIX78XrtESiO5s6XLuQvjTu2CmS6LhqCbG:f6NSVs6XLuQvfudv6NqCbG","tlshash":"6cc1524c3292742386eed299417fd755b22790a1b101a07cba7dcdee79209ee6036f7c","first_seen":"2023-03-13T07:47:20Z","last_seen":"2026-08-05T06:07:55.81991Z","times_seen":34,"resource_available":true,"data":"LyohCiAqIGhlYWRyb29tLmpzIHYwLjkuMyAtIEdpdmUgeW91ciBwYWdlIHNvbWUgaGVhZHJvb20uIEhpZGUgeW91ciBoZWFkZXIgdW50aWwgeW91IG5lZWQgaXQKICogQ29weXJpZ2h0IChjKSAyMDE2IE5pY2sgV2lsbGlhbXMgLSBodHRwOi8vd2lja3kubmlsbGlhLm1zL2hlYWRyb29tLmpzCiAqIExpY2Vuc2U6IE1JVAogKi8KCiFmdW5jdGlvbihhLGIpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxiKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YigpOmEuSGVhZHJvb209YigpfSh0aGlzLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoYSl7dGhpcy5jYWxsYmFjaz1hLHRoaXMudGlja2luZz0hMX1mdW5jdGlvbiBiKGEpe3JldHVybiBhJiYidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKGE9PT13aW5kb3d8fGEubm9kZVR5cGUpfWZ1bmN0aW9uIGMoYSl7aWYoYXJndW1lbnRzLmxlbmd0aDw9MCl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgYXJndW1lbnRzIGluIGV4dGVuZCBmdW5jdGlvbiIpO3ZhciBkLGUsZj1hfHx7fTtmb3IoZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBnPWFyZ3VtZW50c1tlXXx8e307Zm9yKGQgaW4gZykib2JqZWN0IiE9dHlwZW9mIGZbZF18fGIoZltkXSk/ZltkXT1mW2RdfHxnW2RdOmZbZF09YyhmW2RdLGdbZF0pfXJldHVybiBmfWZ1bmN0aW9uIGQoYSl7cmV0dXJuIGE9PT1PYmplY3QoYSk/YTp7ZG93bjphLHVwOmF9fWZ1bmN0aW9uIGUoYSxiKXtiPWMoYixlLm9wdGlvbnMpLHRoaXMubGFzdEtub3duU2Nyb2xsWT0wLHRoaXMuZWxlbT1hLHRoaXMudG9sZXJhbmNlPWQoYi50b2xlcmFuY2UpLHRoaXMuY2xhc3Nlcz1iLmNsYXNzZXMsdGhpcy5vZmZzZXQ9Yi5vZmZzZXQsdGhpcy5zY3JvbGxlcj1iLnNjcm9sbGVyLHRoaXMuaW5pdGlhbGlzZWQ9ITEsdGhpcy5vblBpbj1iLm9uUGluLHRoaXMub25VbnBpbj1iLm9uVW5waW4sdGhpcy5vblRvcD1iLm9uVG9wLHRoaXMub25Ob3RUb3A9Yi5vbk5vdFRvcCx0aGlzLm9uQm90dG9tPWIub25Cb3R0b20sdGhpcy5vbk5vdEJvdHRvbT1iLm9uTm90Qm90dG9tfXZhciBmPXtiaW5kOiEhZnVuY3Rpb24oKXt9LmJpbmQsY2xhc3NMaXN0OiJjbGFzc0xpc3QiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHJBRjohISh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lKX07cmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSxhLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YSx1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLmNhbGxiYWNrJiZ0aGlzLmNhbGxiYWNrKCksdGhpcy50aWNraW5nPSExfSxyZXF1ZXN0VGljazpmdW5jdGlvbigpe3RoaXMudGlja2luZ3x8KHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZkNhbGxiYWNrfHwodGhpcy5yYWZDYWxsYmFjaz10aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKSksdGhpcy50aWNraW5nPSEwKX0saGFuZGxlRXZlbnQ6ZnVuY3Rpb24oKXt0aGlzLnJlcXVlc3RUaWNrKCl9fSxlLnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZSxpbml0OmZ1bmN0aW9uKCl7cmV0dXJuIGUuY3V0c1RoZU11c3RhcmQ/KHRoaXMuZGVib3VuY2VyPW5ldyBhKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMuZWxlbS5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3Nlcy5pbml0aWFsKSxzZXRUaW1lb3V0KHRoaXMuYXR0YWNoRXZlbnQuYmluZCh0aGlzKSwxMDApLHRoaXMpOnZvaWQgMH0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY2xhc3Nlczt0aGlzLmluaXRpYWxpc2VkPSExLHRoaXMuZWxlbS5jbGFzc0xpc3QucmVtb3ZlKGEudW5waW5uZWQsYS5waW5uZWQsYS50b3AsYS5ub3RUb3AsYS5pbml0aWFsKSx0aGlzLnNjcm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5kZWJvdW5jZXIsITEpfSxhdHRhY2hFdmVudDpmdW5jdGlvbigpe3RoaXMuaW5pdGlhbGlzZWR8fCh0aGlzLmxhc3RLbm93blNjcm9sbFk9dGhpcy5nZXRTY3JvbGxZKCksdGhpcy5pbml0aWFsaXNlZD0hMCx0aGlzLnNjcm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5kZWJvdW5jZXIsITEpLHRoaXMuZGVib3VuY2VyLmhhbmRsZUV2ZW50KCkpfSx1bnBpbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZWxlbS5jbGFzc0xpc3QsYj10aGlzLmNsYXNzZXM7IWEuY29udGFpbnMoYi5waW5uZWQpJiZhLmNvbnRhaW5zKGIudW5waW5uZWQpfHwoYS5hZGQoYi51bnBpbm5lZCksYS5yZW1vdmUoYi5waW5uZWQpLHRoaXMub25VbnBpbiYmdGhpcy5vblVucGluLmNhbGwodGhpcykpfSxwaW46ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmVsZW0uY2xhc3NMaXN0LGI9dGhpcy5jbGFzc2VzO2EuY29udGFpbnMoYi51bnBpbm5lZCkmJihhLnJlbW92ZShiLnVucGlubmVkKSxhLmFkZChiLnBpbm5lZCksdGhpcy5vblBpbiYmdGhpcy5vblBpbi5jYWxsKHRoaXMpKX0sdG9wOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtLmNsYXNzTGlzdCxiPXRoaXMuY2xhc3NlczthLmNvbnRhaW5zKGIudG9wKXx8KGEuYWRkKGIudG9wKSxhLnJlbW92ZShiLm5vdFRvcCksdGhpcy5vblRvcCYmdGhpcy5vblRvcC5jYWxsKHRoaXMpKX0sbm90VG9wOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtLmNsYXNzTGlzdCxiPXRoaXMuY2xhc3NlczthLmNvbnRhaW5zKGIubm90VG9wKXx8KGEuYWRkKGIubm90VG9wKSxhLnJlbW92ZShiLnRvcCksdGhpcy5vbk5vdFRvcCYmdGhpcy5vbk5vdFRvcC5jYWxsKHRoaXMpKX0sYm90dG9tOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtLmNsYXNzTGlzdCxiPXRoaXMuY2xhc3NlczthLmNvbnRhaW5zKGIuYm90dG9tKXx8KGEuYWRkKGIuYm90dG9tKSxhLnJlbW92ZShiLm5vdEJvdHRvbSksdGhpcy5vbkJvdHRvbSYmdGhpcy5vbkJvdHRvbS5jYWxsKHRoaXMpKX0sbm90Qm90dG9tOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbGVtLmNsYXNzTGlzdCxiPXRoaXMuY2xhc3NlczthLmNvbnRhaW5zKGIubm90Qm90dG9tKXx8KGEuYWRkKGIubm90Qm90dG9tKSxhLnJlbW92ZShiLmJvdHRvbSksdGhpcy5vbk5vdEJvdHRvbSYmdGhpcy5vbk5vdEJvdHRvbS5jYWxsKHRoaXMpKX0sZ2V0U2Nyb2xsWTpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLnNjcm9sbGVyLnBhZ2VZT2Zmc2V0P3RoaXMuc2Nyb2xsZXIucGFnZVlPZmZzZXQ6dm9pZCAwIT09dGhpcy5zY3JvbGxlci5zY3JvbGxUb3A/dGhpcy5zY3JvbGxlci5zY3JvbGxUb3A6KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlfHxkb2N1bWVudC5ib2R5KS5zY3JvbGxUb3B9LGdldFZpZXdwb3J0SGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8ZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHR9LGdldEVsZW1lbnRQaHlzaWNhbEhlaWdodDpmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5tYXgoYS5vZmZzZXRIZWlnaHQsYS5jbGllbnRIZWlnaHQpfSxnZXRTY3JvbGxlclBoeXNpY2FsSGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2Nyb2xsZXI9PT13aW5kb3d8fHRoaXMuc2Nyb2xsZXI9PT1kb2N1bWVudC5ib2R5P3RoaXMuZ2V0Vmlld3BvcnRIZWlnaHQoKTp0aGlzLmdldEVsZW1lbnRQaHlzaWNhbEhlaWdodCh0aGlzLnNjcm9sbGVyKX0sZ2V0RG9jdW1lbnRIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5ib2R5LGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBNYXRoLm1heChhLnNjcm9sbEhlaWdodCxiLnNjcm9sbEhlaWdodCxhLm9mZnNldEhlaWdodCxiLm9mZnNldEhlaWdodCxhLmNsaWVudEhlaWdodCxiLmNsaWVudEhlaWdodCl9LGdldEVsZW1lbnRIZWlnaHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgubWF4KGEuc2Nyb2xsSGVpZ2h0LGEub2Zmc2V0SGVpZ2h0LGEuY2xpZW50SGVpZ2h0KX0sZ2V0U2Nyb2xsZXJIZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zY3JvbGxlcj09PXdpbmRvd3x8dGhpcy5zY3JvbGxlcj09PWRvY3VtZW50LmJvZHk/dGhpcy5nZXREb2N1bWVudEhlaWdodCgpOnRoaXMuZ2V0RWxlbWVudEhlaWdodCh0aGlzLnNjcm9sbGVyKX0saXNPdXRPZkJvdW5kczpmdW5jdGlvbihhKXt2YXIgYj0wPmEsYz1hK3RoaXMuZ2V0U2Nyb2xsZXJQaHlzaWNhbEhlaWdodCgpPnRoaXMuZ2V0U2Nyb2xsZXJIZWlnaHQoKTtyZXR1cm4gYnx8Y30sdG9sZXJhbmNlRXhjZWVkZWQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTWF0aC5hYnMoYS10aGlzLmxhc3RLbm93blNjcm9sbFkpPj10aGlzLnRvbGVyYW5jZVtiXX0sc2hvdWxkVW5waW46ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPnRoaXMubGFzdEtub3duU2Nyb2xsWSxkPWE+PXRoaXMub2Zmc2V0O3JldHVybiBjJiZkJiZifSxzaG91bGRQaW46ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPHRoaXMubGFzdEtub3duU2Nyb2xsWSxkPWE8PXRoaXMub2Zmc2V0O3JldHVybiBjJiZifHxkfSx1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldFNjcm9sbFkoKSxiPWE+dGhpcy5sYXN0S25vd25TY3JvbGxZPyJkb3duIjoidXAiLGM9dGhpcy50b2xlcmFuY2VFeGNlZWRlZChhLGIpO3RoaXMuaXNPdXRPZkJvdW5kcyhhKXx8KGE8PXRoaXMub2Zmc2V0P3RoaXMudG9wKCk6dGhpcy5ub3RUb3AoKSxhK3RoaXMuZ2V0Vmlld3BvcnRIZWlnaHQoKT49dGhpcy5nZXRTY3JvbGxlckhlaWdodCgpP3RoaXMuYm90dG9tKCk6dGhpcy5ub3RCb3R0b20oKSx0aGlzLnNob3VsZFVucGluKGEsYyk/dGhpcy51bnBpbigpOnRoaXMuc2hvdWxkUGluKGEsYykmJnRoaXMucGluKCksdGhpcy5sYXN0S25vd25TY3JvbGxZPWEpfX0sZS5vcHRpb25zPXt0b2xlcmFuY2U6e3VwOjAsZG93bjowfSxvZmZzZXQ6MCxzY3JvbGxlcjp3aW5kb3csY2xhc3Nlczp7cGlubmVkOiJoZWFkcm9vbS0tcGlubmVkIix1bnBpbm5lZDoiaGVhZHJvb20tLXVucGlubmVkIix0b3A6ImhlYWRyb29tLS10b3AiLG5vdFRvcDoiaGVhZHJvb20tLW5vdC10b3AiLGJvdHRvbToiaGVhZHJvb20tLWJvdHRvbSIsbm90Qm90dG9tOiJoZWFkcm9vbS0tbm90LWJvdHRvbSIsaW5pdGlhbDoiaGVhZHJvb20ifX0sZS5jdXRzVGhlTXVzdGFyZD0idW5kZWZpbmVkIiE9dHlwZW9mIGYmJmYuckFGJiZmLmJpbmQmJmYuY2xhc3NMaXN0LGV9KTsKCi8qalF1ZXJ5IGFkYXBlciBmb3IgaGVhZHJvb20gSlMqLwohZnVuY3Rpb24obyl7byYmKG8uZm4uaGVhZHJvb209ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PW8odGhpcyksbj10LmRhdGEoImhlYWRyb29tIiksYT0ib2JqZWN0Ij09dHlwZW9mIGUmJmU7YT1vLmV4dGVuZCghMCx7fSxIZWFkcm9vbS5vcHRpb25zLGEpLG58fChuPW5ldyBIZWFkcm9vbSh0aGlzLGEpLG4uaW5pdCgpLHQuZGF0YSgiaGVhZHJvb20iLG4pKSwic3RyaW5nIj09dHlwZW9mIGUmJihuW2VdKCksImRlc3Ryb3kiPT09ZSYmdC5yZW1vdmVEYXRhKCJoZWFkcm9vbSIpKX0pfSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSk7"}},"time_used":37,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":37,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/TimeCircles.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.058Z","timestamp":1785139582058,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/TimeCircles.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7669\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":34069,"size_decoded":7906,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"d6d999f9366bdbf2ea01e661836561a1","sha1":"ed0cbdc6e74a19c0bb18ba56b183e44688824a96","sha256":"d47c2622b14648fa6198a72a4d1bbb144fc56433b1d18b42161ac975596e3dee","sha512":"0f44cca240baefd9369ac854237bf20fa018c99bf514576affefe692d46a3509ecc83ff963b66af6939a55de331cc5a2e386e88462c9f5cd5885d13d9f527fcd","ssdeep":"768:kk7QqoAjJGy2VVY7hWDhMiJQ+KWzJUJoLekO4Z94+X4mPFIocA5lNbOFSx+6AGuk:k6oAjJishAKiJimJGOfP+A5GAfJ5","tlshash":"dbe2209e2afb11669963302c0f9f12887735e11b510acd283d1cd2c0af94a2556faffd","first_seen":"2025-11-23T04:10:47.890628Z","last_seen":"2026-07-27T09:11:27.279077Z","times_seen":7,"resource_available":true,"data":"LyoqCiAqIEJhc2ljIHN0cnVjdHVyZTogVENfQ2xhc3MgaXMgdGhlIHB1YmxpYyBjbGFzcyB0aGF0IGlzIHJldHVybmVkIHVwb24gYmVpbmcgY2FsbGVkCiAqIAogKiBTbywgaWYgeW91IGRvCiAqICAgICAgdmFyIHRjID0gJCgiLnRpbWVyIikuVGltZUNpcmNsZXMoKTsKICogICAgICAKICogdGMgd2lsbCBjb250YWluIGFuIGluc3RhbmNlIG9mIHRoZSBwdWJsaWMgVGltZUNpcmNsZXMgY2xhc3MuIEl0IGlzIGltcG9ydGFudCB0bwogKiBub3RlIHRoYXQgVGltZUNpcmNsZXMgaXMgbm90IGNoYWluZWQgaW4gdGhlIGNvbnZlbnRpb25hbCB3YXksIGNoZWNrIHRoZQogKiBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm8gb24gaG93IFRpbWVDaXJjbGVzIGNhbiBiZSBjaGFpbmVkLgogKiAKICogQWZ0ZXIgYmVpbmcgY2FsbGVkL2NyZWF0ZWQsIHRoZSBwdWJsaWMgVGltZXJDaXJjbGVzIGNsYXNzIHdpbGwgdGhlbi0gZm9yIGVhY2ggZWxlbWVudAogKiB3aXRoaW4gaXQncyBjb2xsZWN0aW9uLCBlaXRoZXIgZmV0Y2ggb3IgY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBwcml2YXRlIGNsYXNzLgogKiBFYWNoIGZ1bmN0aW9uIGNhbGxlZCB1cG9uIHRoZSBwdWJsaWMgY2xhc3Mgd2lsbCBiZSBmb3J3YXJkZWQgdG8gZWFjaCBpbnN0YW5jZQogKiBvZiB0aGUgcHJpdmF0ZSBjbGFzc2VzIHdpdGhpbiB0aGUgcmVsZXZhbnQgZWxlbWVudCBjb2xsZWN0aW9uCiAqKi8KKGZ1bmN0aW9uKCQpIHsKCiAgICB2YXIgdXNlV2luZG93ID0gd2luZG93OwogICAgCiAgICAvLyBGcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9rZXlzCiAgICBpZiAoIU9iamVjdC5rZXlzKSB7CiAgICAgICAgT2JqZWN0LmtleXMgPSAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICd1c2Ugc3RyaWN0JzsKICAgICAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSwKICAgICAgICAgICAgICAgICAgICBoYXNEb250RW51bUJ1ZyA9ICEoe3RvU3RyaW5nOiBudWxsfSkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvU3RyaW5nJyksCiAgICAgICAgICAgICAgICAgICAgZG9udEVudW1zID0gWwogICAgICAgICAgICAgICAgICAgICAgICAndG9TdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndG9Mb2NhbGVTdHJpbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAndmFsdWVPZicsCiAgICAgICAgICAgICAgICAgICAgICAgICdoYXNPd25Qcm9wZXJ0eScsCiAgICAgICAgICAgICAgICAgICAgICAgICdpc1Byb3RvdHlwZU9mJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnR5SXNFbnVtZXJhYmxlJywKICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnN0cnVjdG9yJwogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgZG9udEVudW1zTGVuZ3RoID0gZG9udEVudW1zLmxlbmd0aDsKCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbihvYmopIHsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyAmJiAodHlwZW9mIG9iaiAhPT0gJ2Z1bmN0aW9uJyB8fCBvYmogPT09IG51bGwpKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmtleXMgY2FsbGVkIG9uIG5vbi1vYmplY3QnKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gW10sIHByb3AsIGk7CgogICAgICAgICAgICAgICAgZm9yIChwcm9wIGluIG9iaikgewogICAgICAgICAgICAgICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gocHJvcCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChoYXNEb250RW51bUJ1ZykgewogICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkb250RW51bXNMZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGRvbnRFbnVtc1tpXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRvbnRFbnVtc1tpXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICB9OwogICAgICAgIH0oKSk7CiAgICB9CiAgICAKICAgIC8vIFVzZWQgdG8gZGlzYWJsZSBzb21lIGZlYXR1cmVzIG9uIElFOAogICAgdmFyIGxpbWl0ZWRfbW9kZSA9IGZhbHNlOwogICAgdmFyIHRpY2tfZHVyYXRpb24gPSAyMDA7IC8vIGluIG1zCiAgICAKICAgIHZhciBkZWJ1ZyA9IChsb2NhdGlvbi5oYXNoID09PSAiI2RlYnVnIik7CiAgICBmdW5jdGlvbiBkZWJ1Z19sb2cobXNnKSB7CiAgICAgICAgaWYgKGRlYnVnKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKG1zZyk7CiAgICAgICAgfQogICAgfQoKICAgIHZhciBhbGxVbml0cyA9IFsiRGF5cyIsICJIb3VycyIsICJNaW51dGVzIiwgIlNlY29uZHMiXTsKICAgIHZhciBuZXh0VW5pdHMgPSB7CiAgICAgICAgU2Vjb25kczogIk1pbnV0ZXMiLAogICAgICAgIE1pbnV0ZXM6ICJIb3VycyIsCiAgICAgICAgSG91cnM6ICJEYXlzIiwKICAgICAgICBEYXlzOiAiWWVhcnMiCiAgICB9OwogICAgdmFyIHNlY29uZHNJbiA9IHsKICAgICAgICBTZWNvbmRzOiAxLAogICAgICAgIE1pbnV0ZXM6IDYwLAogICAgICAgIEhvdXJzOiAzNjAwLAogICAgICAgIERheXM6IDg2NDAwLAogICAgICAgIE1vbnRoczogMjY3ODQwMCwKICAgICAgICBZZWFyczogMzE1MzYwMDAKICAgIH07CgogICAgLyoqCiAgICAgKiBDb252ZXJ0cyBoZXggY29sb3IgY29kZSBpbnRvIG9iamVjdCBjb250YWluaW5nIGludGVnZXIgdmFsdWVzIGZvciB0aGUgcixnLGIgdXNlCiAgICAgKiBUaGlzIGZ1bmN0aW9uIChoZXhUb1JnYikgb3JpZ2luYXRlcyBmcm9tOgogICAgICogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjIzODM4L3JnYi10by1oZXgtYW5kLWhleC10by1yZ2IKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBoZXggY29sb3IgY29kZQogICAgICovCiAgICBmdW5jdGlvbiBoZXhUb1JnYihoZXgpIHsKCiAgICAgICAgLy8gVmVyaWZ5IGFscmVhZHkgUkdCIChlLmcuICJyZ2IoMCwwLDApIikgb3IgUkdCQSAoZS5nLiAicmdiYSgwLDAsMCwwLjUpIikKICAgICAgICB2YXIgcmdiYSA9IC9ecmdiYT9cKChbXGRdKyksKFtcZF0rKSwoW1xkXSspKCwoW1xkXC5dKykpP1wpJC87CiAgICAgICAgaWYocmdiYS50ZXN0KGhleCkpIHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHJnYmEuZXhlYyhoZXgpOwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgcjogcGFyc2VJbnQocmVzdWx0WzFdKSwKICAgICAgICAgICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSksCiAgICAgICAgICAgICAgICBiOiBwYXJzZUludChyZXN1bHRbM10pLAogICAgICAgICAgICAgICAgYTogcGFyc2VJbnQocmVzdWx0WzVdID8gcmVzdWx0WzVdIDogMSkKICAgICAgICAgICAgfTsKICAgICAgICB9CgogICAgICAgIC8vIEV4cGFuZCBzaG9ydGhhbmQgZm9ybSAoZS5nLiAiMDNGIikgdG8gZnVsbCBmb3JtIChlLmcuICIwMDMzRkYiKQogICAgICAgIHZhciBzaG9ydGhhbmRSZWdleCA9IC9eIz8oW2EtZlxkXSkoW2EtZlxkXSkoW2EtZlxkXSkkL2k7CiAgICAgICAgaGV4ID0gaGV4LnJlcGxhY2Uoc2hvcnRoYW5kUmVnZXgsIGZ1bmN0aW9uKG0sIHIsIGcsIGIpIHsKICAgICAgICAgICAgcmV0dXJuIHIgKyByICsgZyArIGcgKyBiICsgYjsKICAgICAgICB9KTsKCiAgICAgICAgdmFyIHJlc3VsdCA9IC9eIz8oW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkoW2EtZlxkXXsyfSkkL2kuZXhlYyhoZXgpOwogICAgICAgIHJldHVybiByZXN1bHQgPyB7CiAgICAgICAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLAogICAgICAgICAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSwKICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNikKICAgICAgICB9IDogbnVsbDsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gaXNDYW52YXNTdXBwb3J0ZWQoKSB7CiAgICAgICAgdmFyIGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICAgICByZXR1cm4gISEoZWxlbS5nZXRDb250ZXh0ICYmIGVsZW0uZ2V0Q29udGV4dCgnMmQnKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBGdW5jdGlvbiBzNCgpIGFuZCBndWlkKCkgb3JpZ2luYXRlIGZyb206CiAgICAgKiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNTAzNC9ob3ctdG8tY3JlYXRlLWEtZ3VpZC11dWlkLWluLWphdmFzY3JpcHQKICAgICAqLwogICAgZnVuY3Rpb24gczQoKSB7CiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKDEgKyBNYXRoLnJhbmRvbSgpKSAqIDB4MTAwMDApCiAgICAgICAgICAgICAgICAudG9TdHJpbmcoMTYpCiAgICAgICAgICAgICAgICAuc3Vic3RyaW5nKDEpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlcyBhIHVuaXF1ZSBpZAogICAgICogQHJldHVybnMge1N0cmluZ30KICAgICAqLwogICAgZnVuY3Rpb24gZ3VpZCgpIHsKICAgICAgICByZXR1cm4gczQoKSArIHM0KCkgKyAnLScgKyBzNCgpICsgJy0nICsgczQoKSArICctJyArCiAgICAgICAgICAgICAgICBzNCgpICsgJy0nICsgczQoKSArIHM0KCkgKyBzNCgpOwogICAgfQoKICAgIC8qKgogICAgICogQXJyYXkucHJvdG90eXBlLmluZGV4T2YgZmFsbGJhY2sgZm9yIElFOAogICAgICogQHBhcmFtIHtNaXhlZH0gbWl4ZWQKICAgICAqIEByZXR1cm5zIHtOdW1iZXJ9CiAgICAgKi8KICAgIGlmICghQXJyYXkucHJvdG90eXBlLmluZGV4T2YpIHsKICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uKGVsdCAvKiwgZnJvbSovKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoID4+PiAwOwoKICAgICAgICAgICAgdmFyIGZyb20gPSBOdW1iZXIoYXJndW1lbnRzWzFdKSB8fCAwOwogICAgICAgICAgICBmcm9tID0gKGZyb20gPCAwKQogICAgICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKGZyb20pCiAgICAgICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKGZyb20pOwogICAgICAgICAgICBpZiAoZnJvbSA8IDApCiAgICAgICAgICAgICAgICBmcm9tICs9IGxlbjsKCiAgICAgICAgICAgIGZvciAoOyBmcm9tIDwgbGVuOyBmcm9tKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChmcm9tIGluIHRoaXMgJiYKICAgICAgICAgICAgICAgICAgICAgICAgdGhpc1tmcm9tXSA9PT0gZWx0KQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmcm9tOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9OwogICAgfQoKICAgIGZ1bmN0aW9uIHBhcnNlX2RhdGUoc3RyKSB7CiAgICAgICAgdmFyIG1hdGNoID0gc3RyLm1hdGNoKC9eWzAtOV17NH0tWzAtOV17Mn0tWzAtOV17Mn1cc1swLTldezEsMn06WzAtOV17Mn06WzAtOV17Mn0kLyk7CiAgICAgICAgaWYgKG1hdGNoICE9PSBudWxsICYmIG1hdGNoLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgdmFyIHBhcnRzID0gc3RyLnNwbGl0KCIgIik7CiAgICAgICAgICAgIHZhciBkYXRlID0gcGFydHNbMF0uc3BsaXQoIi0iKTsKICAgICAgICAgICAgdmFyIHRpbWUgPSBwYXJ0c1sxXS5zcGxpdCgiOiIpOwogICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZVswXSwgZGF0ZVsxXSAtIDEsIGRhdGVbMl0sIHRpbWVbMF0sIHRpbWVbMV0sIHRpbWVbMl0pOwogICAgICAgIH0KICAgICAgICAvLyBGYWxsYmFjayBmb3IgZGlmZmVyZW50IGRhdGUgZm9ybWF0cwogICAgICAgIHZhciBkID0gRGF0ZS5wYXJzZShzdHIpOwogICAgICAgIGlmICghaXNOYU4oZCkpCiAgICAgICAgICAgIHJldHVybiBkOwogICAgICAgIGQgPSBEYXRlLnBhcnNlKHN0ci5yZXBsYWNlKC8tL2csICcvJykucmVwbGFjZSgnVCcsICcgJykpOwogICAgICAgIGlmICghaXNOYU4oZCkpCiAgICAgICAgICAgIHJldHVybiBkOwogICAgICAgIC8vIENhbnQgZmluZCBhbnl0aGluZwogICAgICAgIHJldHVybiBuZXcgRGF0ZSgpOwogICAgfQoKICAgIGZ1bmN0aW9uIHBhcnNlX3RpbWVzKGRpZmYsIG9sZF9kaWZmLCB0b3RhbF9kdXJhdGlvbiwgdW5pdHMsIGZsb29yKSB7CiAgICAgICAgdmFyIHJhd190aW1lID0ge307CiAgICAgICAgdmFyIHJhd19vbGRfdGltZSA9IHt9OwogICAgICAgIHZhciB0aW1lID0ge307CiAgICAgICAgdmFyIHBjdCA9IHt9OwogICAgICAgIHZhciBvbGRfcGN0ID0ge307CiAgICAgICAgdmFyIG9sZF90aW1lID0ge307CgogICAgICAgIHZhciBncmVhdGVyX3VuaXQgPSBudWxsOwogICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB1bml0cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgdW5pdCA9IHVuaXRzW2ldOwogICAgICAgICAgICB2YXIgbWF4VW5pdHM7CgogICAgICAgICAgICBpZiAoZ3JlYXRlcl91bml0ID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBtYXhVbml0cyA9IHRvdGFsX2R1cmF0aW9uIC8gc2Vjb25kc0luW3VuaXRdOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbWF4VW5pdHMgPSBzZWNvbmRzSW5bZ3JlYXRlcl91bml0XSAvIHNlY29uZHNJblt1bml0XTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGN1clVuaXRzID0gKGRpZmYgLyBzZWNvbmRzSW5bdW5pdF0pOwogICAgICAgICAgICB2YXIgb2xkVW5pdHMgPSAob2xkX2RpZmYgLyBzZWNvbmRzSW5bdW5pdF0pOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYoZmxvb3IpIHsKICAgICAgICAgICAgICAgIGlmKGN1clVuaXRzID4gMCkgY3VyVW5pdHMgPSBNYXRoLmZsb29yKGN1clVuaXRzKTsKICAgICAgICAgICAgICAgIGVsc2UgY3VyVW5pdHMgPSBNYXRoLmNlaWwoY3VyVW5pdHMpOwogICAgICAgICAgICAgICAgaWYob2xkVW5pdHMgPiAwKSBvbGRVbml0cyA9IE1hdGguZmxvb3Iob2xkVW5pdHMpOwogICAgICAgICAgICAgICAgZWxzZSBvbGRVbml0cyA9IE1hdGguY2VpbChvbGRVbml0cyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICh1bml0ICE9PSAiRGF5cyIpIHsKICAgICAgICAgICAgICAgIGN1clVuaXRzID0gY3VyVW5pdHMgJSBtYXhVbml0czsKICAgICAgICAgICAgICAgIG9sZFVuaXRzID0gb2xkVW5pdHMgJSBtYXhVbml0czsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmF3X3RpbWVbdW5pdF0gPSBjdXJVbml0czsKICAgICAgICAgICAgdGltZVt1bml0XSA9IE1hdGguYWJzKGN1clVuaXRzKTsKICAgICAgICAgICAgcmF3X29sZF90aW1lW3VuaXRdID0gb2xkVW5pdHM7CiAgICAgICAgICAgIG9sZF90aW1lW3VuaXRdID0gTWF0aC5hYnMob2xkVW5pdHMpOwogICAgICAgICAgICBwY3RbdW5pdF0gPSBNYXRoLmFicyhjdXJVbml0cykgLyBtYXhVbml0czsKICAgICAgICAgICAgb2xkX3BjdFt1bml0XSA9IE1hdGguYWJzKG9sZFVuaXRzKSAvIG1heFVuaXRzOwoKICAgICAgICAgICAgZ3JlYXRlcl91bml0ID0gdW5pdDsKICAgICAgICB9CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIHJhd190aW1lOiByYXdfdGltZSwKICAgICAgICAgICAgcmF3X29sZF90aW1lOiByYXdfb2xkX3RpbWUsCiAgICAgICAgICAgIHRpbWU6IHRpbWUsCiAgICAgICAgICAgIG9sZF90aW1lOiBvbGRfdGltZSwKICAgICAgICAgICAgcGN0OiBwY3QsCiAgICAgICAgICAgIG9sZF9wY3Q6IG9sZF9wY3QKICAgICAgICB9OwogICAgfQoKICAgIHZhciBUQ19JbnN0YW5jZV9MaXN0ID0ge307CiAgICBmdW5jdGlvbiB1cGRhdGVVc2VkV2luZG93KCkgewogICAgICAgIGlmKHR5cGVvZiB1c2VXaW5kb3cuVENfSW5zdGFuY2VfTGlzdCAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgVENfSW5zdGFuY2VfTGlzdCA9IHVzZVdpbmRvdy5UQ19JbnN0YW5jZV9MaXN0OwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdXNlV2luZG93LlRDX0luc3RhbmNlX0xpc3QgPSBUQ19JbnN0YW5jZV9MaXN0OwogICAgICAgIH0KICAgICAgICBpbml0aWFsaXplQW5pbWF0aW9uRnJhbWVIYW5kbGVyKHVzZVdpbmRvdyk7CiAgICB9OwogICAgCiAgICBmdW5jdGlvbiBpbml0aWFsaXplQW5pbWF0aW9uRnJhbWVIYW5kbGVyKHcpIHsKICAgICAgICB2YXIgdmVuZG9ycyA9IFsnd2Via2l0JywgJ21veiddOwogICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgdmVuZG9ycy5sZW5ndGggJiYgIXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lOyArK3gpIHsKICAgICAgICAgICAgdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSB3W3ZlbmRvcnNbeF0gKyAnUmVxdWVzdEFuaW1hdGlvbkZyYW1lJ107CiAgICAgICAgICAgIHcuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSB3W3ZlbmRvcnNbeF0gKyAnQ2FuY2VsQW5pbWF0aW9uRnJhbWUnXTsKICAgICAgICB9CgogICAgICAgIGlmICghdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwgIXcuY2FuY2VsQW5pbWF0aW9uRnJhbWUpIHsKICAgICAgICAgICAgdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihjYWxsYmFjaywgZWxlbWVudCwgaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UgPT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgICAgICAgIGluc3RhbmNlID0ge2RhdGE6IHtsYXN0X2ZyYW1lOiAwfX07CiAgICAgICAgICAgICAgICB2YXIgY3VyclRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKICAgICAgICAgICAgICAgIHZhciB0aW1lVG9DYWxsID0gTWF0aC5tYXgoMCwgMTYgLSAoY3VyclRpbWUgLSBpbnN0YW5jZS5kYXRhLmxhc3RfZnJhbWUpKTsKICAgICAgICAgICAgICAgIHZhciBpZCA9IHcuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpOwogICAgICAgICAgICAgICAgfSwgdGltZVRvQ2FsbCk7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kYXRhLmxhc3RfZnJhbWUgPSBjdXJyVGltZSArIHRpbWVUb0NhbGw7CiAgICAgICAgICAgICAgICByZXR1cm4gaWQ7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHcuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihpZCkgewogICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGlkKTsKICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICB9OwogICAgCgogICAgdmFyIFRDX0luc3RhbmNlID0gZnVuY3Rpb24oZWxlbWVudCwgb3B0aW9ucykgewogICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7CiAgICAgICAgdGhpcy5jb250YWluZXI7CiAgICAgICAgdGhpcy5saXN0ZW5lcnMgPSBudWxsOwogICAgICAgIHRoaXMuZGF0YSA9IHsKICAgICAgICAgICAgcGF1c2VkOiBmYWxzZSwKICAgICAgICAgICAgbGFzdF9mcmFtZTogMCwKICAgICAgICAgICAgYW5pbWF0aW9uX2ZyYW1lOiBudWxsLAogICAgICAgICAgICBpbnRlcnZhbF9mYWxsYmFjazogbnVsbCwKICAgICAgICAgICAgdGltZXI6IGZhbHNlLAogICAgICAgICAgICB0b3RhbF9kdXJhdGlvbjogbnVsbCwKICAgICAgICAgICAgcHJldl90aW1lOiBudWxsLAogICAgICAgICAgICBkcmF3bl91bml0czogW10sCiAgICAgICAgICAgIHRleHRfZWxlbWVudHM6IHsKICAgICAgICAgICAgICAgIERheXM6IG51bGwsCiAgICAgICAgICAgICAgICBIb3VyczogbnVsbCwKICAgICAgICAgICAgICAgIE1pbnV0ZXM6IG51bGwsCiAgICAgICAgICAgICAgICBTZWNvbmRzOiBudWxsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICAgICAgICAgIGNhbnZhczogbnVsbCwKICAgICAgICAgICAgICAgIGNvbnRleHQ6IG51bGwsCiAgICAgICAgICAgICAgICBpdGVtX3NpemU6IG51bGwsCiAgICAgICAgICAgICAgICBsaW5lX3dpZHRoOiBudWxsLAogICAgICAgICAgICAgICAgcmFkaXVzOiBudWxsLAogICAgICAgICAgICAgICAgb3V0ZXJfcmFkaXVzOiBudWxsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHN0YXRlOiB7CiAgICAgICAgICAgICAgICBmYWRpbmc6IHsKICAgICAgICAgICAgICAgICAgICBEYXlzOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICBIb3VyczogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgTWludXRlczogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgU2Vjb25kczogZmFsc2UKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIHRoaXMuY29uZmlnID0gbnVsbDsKICAgICAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucyk7CiAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7CiAgICB9OwoKICAgIFRDX0luc3RhbmNlLnByb3RvdHlwZS5jbGVhckxpc3RlbmVycyA9IGZ1bmN0aW9uKCkgewogICAgICAgIHRoaXMubGlzdGVuZXJzID0geyBhbGw6IFtdLCB2aXNpYmxlOiBbXSB9OwogICAgfTsKICAgIAogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLmFkZFRpbWUgPSBmdW5jdGlvbihzZWNvbmRzX3RvX2FkZCkgewogICAgICAgIGlmKHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlIGluc3RhbmNlb2YgRGF0ZSkgewogICAgICAgICAgICB2YXIgZCA9IHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlOwogICAgICAgICAgICBkLnNldFNlY29uZHMoZC5nZXRTZWNvbmRzKCkgKyBzZWNvbmRzX3RvX2FkZCk7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoIWlzTmFOKHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlKSkgewogICAgICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5yZWZfZGF0ZSArPSAoc2Vjb25kc190b19hZGQgKiAxMDAwKTsKICAgICAgICB9CiAgICB9OwogICAgCiAgICBUQ19JbnN0YW5jZS5wcm90b3R5cGUuaW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKGNsZWFyX2xpc3RlbmVycykgewogICAgICAgIC8vIEluaXRpYWxpemUgZHJhd24gdW5pdHMKICAgICAgICB0aGlzLmRhdGEuZHJhd25fdW5pdHMgPSBbXTsKICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgT2JqZWN0LmtleXModGhpcy5jb25maWcudGltZSkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIHVuaXQgPSBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZy50aW1lKVtpXTsKICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLnRpbWVbdW5pdF0uc2hvdykgewogICAgICAgICAgICAgICAgdGhpcy5kYXRhLmRyYXduX3VuaXRzLnB1c2godW5pdCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIEF2b2lkIHN0YWNraW5nCiAgICAgICAgJCh0aGlzLmVsZW1lbnQpLmNoaWxkcmVuKCdkaXYudGltZV9jaXJjbGVzJykucmVtb3ZlKCk7CgogICAgICAgIGlmICh0eXBlb2YgY2xlYXJfbGlzdGVuZXJzID09PSAidW5kZWZpbmVkIikKICAgICAgICAgICAgY2xlYXJfbGlzdGVuZXJzID0gdHJ1ZTsKICAgICAgICBpZiAoY2xlYXJfbGlzdGVuZXJzIHx8IHRoaXMubGlzdGVuZXJzID09PSBudWxsKSB7CiAgICAgICAgICAgIHRoaXMuY2xlYXJMaXN0ZW5lcnMoKTsKICAgICAgICB9CiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKCI8ZGl2PiIpOwogICAgICAgIHRoaXMuY29udGFpbmVyLmFkZENsYXNzKCd0aW1lX2NpcmNsZXMnKTsKICAgICAgICB0aGlzLmNvbnRhaW5lci5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpOwogICAgICAgIAogICAgICAgIC8vIERldGVybWluZSB0aGUgbmVlZGVkIHdpZHRoIGFuZCBoZWlnaHQgb2YgVGltZUNpcmNsZXMKICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDsKICAgICAgICB2YXIgd2lkdGggPSB0aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGg7CiAgICAgICAgaWYgKGhlaWdodCA9PT0gMCkKICAgICAgICAgICAgaGVpZ2h0ID0gJCh0aGlzLmVsZW1lbnQpLmhlaWdodCgpOwogICAgICAgIGlmICh3aWR0aCA9PT0gMCkKICAgICAgICAgICAgd2lkdGggPSAkKHRoaXMuZWxlbWVudCkud2lkdGgoKTsKCiAgICAgICAgaWYgKGhlaWdodCA9PT0gMCAmJiB3aWR0aCA+IDApCiAgICAgICAgICAgIGhlaWdodCA9IHdpZHRoIC8gdGhpcy5kYXRhLmRyYXduX3VuaXRzLmxlbmd0aDsKICAgICAgICBlbHNlIGlmICh3aWR0aCA9PT0gMCAmJiBoZWlnaHQgPiAwKQogICAgICAgICAgICB3aWR0aCA9IGhlaWdodCAqIHRoaXMuZGF0YS5kcmF3bl91bml0cy5sZW5ndGg7CiAgICAgICAgCiAgICAgICAgLy8gQ3JlYXRlIG91ciBjYW52YXMgYW5kIHNldCBpdCB0byB0aGUgYXBwcm9wcmlhdGUgc2l6ZQogICAgICAgIHZhciBjYW52YXNFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgY2FudmFzRWxlbWVudC53aWR0aCA9IHdpZHRoOwogICAgICAgIGNhbnZhc0VsZW1lbnQuaGVpZ2h0ID0gaGVpZ2h0OwogICAgICAgIAogICAgICAgIC8vIEFkZCBjYW52YXMgZWxlbWVudHMKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5jYW52YXMgPSAkKGNhbnZhc0VsZW1lbnQpOwogICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNhbnZhcy5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcik7CiAgICAgICAgCiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGJyb3dzZXIgaGFzIGJyb3dzZXIgc3VwcG9ydAogICAgICAgIHZhciBjYW52YXNTdXBwb3J0ZWQgPSBpc0NhbnZhc1N1cHBvcnRlZCgpOwogICAgICAgIC8vIElmIHRoZSBicm93c2VyIGRvZXNuJ3QgaGF2ZSBicm93c2VyIHN1cHBvcnQsIGNoZWNrIGlmIGV4cGxvcmVyIGNhbnZhcyBpcyBsb2FkZWQKICAgICAgICAvLyAoQSBqYXZhc2NyaXB0IGxpYnJhcnkgdGhhdCBhZGRzIGNhbnZhcyBzdXBwb3J0IHRvIGJyb3dzZXJzIHRoYXQgZG9uJ3QgaGF2ZSBpdCkKICAgICAgICBpZighY2FudmFzU3VwcG9ydGVkICYmIHR5cGVvZiBHX3ZtbENhbnZhc01hbmFnZXIgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgIEdfdm1sQ2FudmFzTWFuYWdlci5pbml0RWxlbWVudChjYW52YXNFbGVtZW50KTsKICAgICAgICAgICAgbGltaXRlZF9tb2RlID0gdHJ1ZTsKICAgICAgICAgICAgY2FudmFzU3VwcG9ydGVkID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYoY2FudmFzU3VwcG9ydGVkKSB7CiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQgPSBjYW52YXNFbGVtZW50LmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgfQoKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5pdGVtX3NpemUgPSBNYXRoLm1pbih3aWR0aCAvIHRoaXMuZGF0YS5kcmF3bl91bml0cy5sZW5ndGgsIGhlaWdodCk7CiAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMubGluZV93aWR0aCA9IHRoaXMuZGF0YS5hdHRyaWJ1dGVzLml0ZW1fc2l6ZSAqIHRoaXMuY29uZmlnLmZnX3dpZHRoOwogICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJhZGl1cyA9ICgodGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplICogMC44KSAtIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmxpbmVfd2lkdGgpIC8gMjsKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5vdXRlcl9yYWRpdXMgPSB0aGlzLmRhdGEuYXR0cmlidXRlcy5yYWRpdXMgKyAwLjUgKiBNYXRoLm1heCh0aGlzLmRhdGEuYXR0cmlidXRlcy5saW5lX3dpZHRoLCB0aGlzLmRhdGEuYXR0cmlidXRlcy5saW5lX3dpZHRoICogdGhpcy5jb25maWcuYmdfd2lkdGgpOwoKICAgICAgICAvLyBQcmVwYXJlIFRpbWUgRWxlbWVudHMKICAgICAgICB2YXIgaSA9IDA7CiAgICAgICAgZm9yICh2YXIga2V5IGluIHRoaXMuZGF0YS50ZXh0X2VsZW1lbnRzKSB7CiAgICAgICAgICAgIGlmICghdGhpcy5jb25maWcudGltZVtrZXldLnNob3cpCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgIHZhciB0ZXh0RWxlbWVudCA9ICQoIjxkaXY+Iik7CiAgICAgICAgICAgIHRleHRFbGVtZW50LmFkZENsYXNzKCd0ZXh0RGl2XycgKyBrZXkpOwogICAgICAgICAgICB0ZXh0RWxlbWVudC5jc3MoInRvcCIsIE1hdGgucm91bmQoMC4zNSAqIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLml0ZW1fc2l6ZSkpOwogICAgICAgICAgICB0ZXh0RWxlbWVudC5jc3MoImxlZnQiLCBNYXRoLnJvdW5kKGkrKyAqIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLml0ZW1fc2l6ZSkpOwogICAgICAgICAgICB0ZXh0RWxlbWVudC5jc3MoIndpZHRoIiwgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplKTsKICAgICAgICAgICAgdGV4dEVsZW1lbnQuYXBwZW5kVG8odGhpcy5jb250YWluZXIpOwoKICAgICAgICAgICAgdmFyIGhlYWRlckVsZW1lbnQgPSAkKCI8aDQ+Iik7CiAgICAgICAgICAgIGhlYWRlckVsZW1lbnQudGV4dCh0aGlzLmNvbmZpZy50aW1lW2tleV0udGV4dCk7IC8vIE9wdGlvbnMKICAgICAgICAgICAgaGVhZGVyRWxlbWVudC5jc3MoImZvbnQtc2l6ZSIsIE1hdGgucm91bmQodGhpcy5jb25maWcudGV4dF9zaXplICogdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplKSk7CiAgICAgICAgICAgIGhlYWRlckVsZW1lbnQuYXBwZW5kVG8odGV4dEVsZW1lbnQpOwoKICAgICAgICAgICAgdmFyIG51bWJlckVsZW1lbnQgPSAkKCI8c3Bhbj4iKTsKICAgICAgICAgICAgbnVtYmVyRWxlbWVudC5jc3MoImZvbnQtc2l6ZSIsIE1hdGgucm91bmQodGhpcy5jb25maWcubnVtYmVyX3NpemUgKiB0aGlzLmRhdGEuYXR0cmlidXRlcy5pdGVtX3NpemUpKTsKICAgICAgICAgICAgbnVtYmVyRWxlbWVudC5hcHBlbmRUbyh0ZXh0RWxlbWVudCk7CgogICAgICAgICAgICB0aGlzLmRhdGEudGV4dF9lbGVtZW50c1trZXldID0gbnVtYmVyRWxlbWVudDsKICAgICAgICB9CgogICAgICAgIHRoaXMuc3RhcnQoKTsKICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnN0YXJ0KSB7CiAgICAgICAgICAgIHRoaXMuZGF0YS5wYXVzZWQgPSB0cnVlOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBTZXQgdXAgaW50ZXJ2YWwgZmFsbGJhY2sKICAgICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICAgIHRoaXMuZGF0YS5pbnRlcnZhbF9mYWxsYmFjayA9IHVzZVdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpewogICAgICAgICAgICBfdGhpcy51cGRhdGUuY2FsbChfdGhpcywgdHJ1ZSk7CiAgICAgICAgfSwgMTAwKTsKICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKG5vZHJhdykgewogICAgICAgIGlmKHR5cGVvZiBub2RyYXcgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgIG5vZHJhdyA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKG5vZHJhdyAmJiB0aGlzLmRhdGEucGF1c2VkKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYobGltaXRlZF9tb2RlKSB7CiAgICAgICAgICAgIC8vUGVyIHVuaXQgY2xlYXJpbmcgZG9lc24ndCB3b3JrIGluIElFOCB1c2luZyBleHBsb3JlciBjYW52YXMsIHNvIGRvIGl0IGluIG9uZSB0aW1lLiBUaGUgZG93bnNpZGUgaXMgdGhhdCByYWRpYWwgZmFkZSBjYW50IGJlIHVzZWQKICAgICAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuY29udGV4dC5jbGVhclJlY3QoMCwgMCwgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuY2FudmFzWzBdLndpZHRoLCB0aGlzLmRhdGEuYXR0cmlidXRlcy5jYW52YXNbMF0uaHJpZ2h0KTsKICAgICAgICB9CiAgICAgICAgdmFyIGRpZmYsIG9sZF9kaWZmOwoKICAgICAgICB2YXIgcHJldkRhdGUgPSB0aGlzLmRhdGEucHJldl90aW1lOwogICAgICAgIHZhciBjdXJEYXRlID0gbmV3IERhdGUoKTsKICAgICAgICB0aGlzLmRhdGEucHJldl90aW1lID0gY3VyRGF0ZTsKCiAgICAgICAgaWYgKHByZXZEYXRlID09PSBudWxsKQogICAgICAgICAgICBwcmV2RGF0ZSA9IGN1ckRhdGU7CgogICAgICAgIC8vIElmIG5vdCBjb3VudGluZyBwYXN0IHplcm8sIGFuZCB0aW1lIDwgMCwgdGhlbiBzaW1wbHkgZHJhdyB0aGUgemVybyBwb2ludCBvbmNlLCBhbmQgY2FsbCBzdG9wCiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5jb3VudF9wYXN0X3plcm8pIHsKICAgICAgICAgICAgaWYgKGN1ckRhdGUgPiB0aGlzLmRhdGEuYXR0cmlidXRlcy5yZWZfZGF0ZSkgewogICAgICAgICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMuZGF0YS5kcmF3bl91bml0cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIHZhciBrZXkgPSB0aGlzLmRhdGEuZHJhd25fdW5pdHNbaV07CgogICAgICAgICAgICAgICAgICAgIC8vIFNldCB0aGUgdGV4dCB2YWx1ZQogICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS50ZXh0X2VsZW1lbnRzW2tleV0udGV4dCgiMCIpOwogICAgICAgICAgICAgICAgICAgIHZhciB4ID0gKGkgKiB0aGlzLmRhdGEuYXR0cmlidXRlcy5pdGVtX3NpemUpICsgKHRoaXMuZGF0YS5hdHRyaWJ1dGVzLml0ZW1fc2l6ZSAvIDIpOwogICAgICAgICAgICAgICAgICAgIHZhciB5ID0gdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplIC8gMjsKICAgICAgICAgICAgICAgICAgICB2YXIgY29sb3IgPSB0aGlzLmNvbmZpZy50aW1lW2tleV0uY29sb3I7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcmF3QXJjKHgsIHksIGNvbG9yLCAwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHRoaXMuc3RvcCgpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBDb21wYXJlIGN1cnJlbnQgdGltZSB3aXRoIHJlZmVyZW5jZQogICAgICAgIGRpZmYgPSAodGhpcy5kYXRhLmF0dHJpYnV0ZXMucmVmX2RhdGUgLSBjdXJEYXRlKSAvIDEwMDA7CiAgICAgICAgb2xkX2RpZmYgPSAodGhpcy5kYXRhLmF0dHJpYnV0ZXMucmVmX2RhdGUgLSBwcmV2RGF0ZSkgLyAxMDAwOwoKICAgICAgICB2YXIgZmxvb3IgPSB0aGlzLmNvbmZpZy5hbmltYXRpb24gIT09ICJzbW9vdGgiOwoKICAgICAgICB2YXIgdmlzaWJsZV90aW1lcyA9IHBhcnNlX3RpbWVzKGRpZmYsIG9sZF9kaWZmLCB0aGlzLmRhdGEudG90YWxfZHVyYXRpb24sIHRoaXMuZGF0YS5kcmF3bl91bml0cywgZmxvb3IpOwogICAgICAgIHZhciBhbGxfdGltZXMgPSBwYXJzZV90aW1lcyhkaWZmLCBvbGRfZGlmZiwgc2Vjb25kc0luWyJZZWFycyJdLCBhbGxVbml0cywgZmxvb3IpOwoKICAgICAgICB2YXIgaSA9IDA7CiAgICAgICAgdmFyIGogPSAwOwogICAgICAgIHZhciBsYXN0S2V5ID0gbnVsbDsKCiAgICAgICAgdmFyIGN1cl9zaG93biA9IHRoaXMuZGF0YS5kcmF3bl91bml0cy5zbGljZSgpOwogICAgICAgIGZvciAodmFyIGkgaW4gYWxsVW5pdHMpIHsKICAgICAgICAgICAgdmFyIGtleSA9IGFsbFVuaXRzW2ldOwoKICAgICAgICAgICAgLy8gTm90aWZ5IChhbGwpIGxpc3RlbmVycwogICAgICAgICAgICBpZiAoTWF0aC5mbG9vcihhbGxfdGltZXMucmF3X3RpbWVba2V5XSkgIT09IE1hdGguZmxvb3IoYWxsX3RpbWVzLnJhd19vbGRfdGltZVtrZXldKSkgewogICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlMaXN0ZW5lcnMoa2V5LCBNYXRoLmZsb29yKGFsbF90aW1lcy50aW1lW2tleV0pLCBNYXRoLmZsb29yKGRpZmYpLCAiYWxsIik7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChjdXJfc2hvd24uaW5kZXhPZihrZXkpIDwgMCkKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgLy8gTm90aWZ5ICh2aXNpYmxlKSBsaXN0ZW5lcnMKICAgICAgICAgICAgaWYgKE1hdGguZmxvb3IodmlzaWJsZV90aW1lcy5yYXdfdGltZVtrZXldKSAhPT0gTWF0aC5mbG9vcih2aXNpYmxlX3RpbWVzLnJhd19vbGRfdGltZVtrZXldKSkgewogICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlMaXN0ZW5lcnMoa2V5LCBNYXRoLmZsb29yKHZpc2libGVfdGltZXMudGltZVtrZXldKSwgTWF0aC5mbG9vcihkaWZmKSwgInZpc2libGUiKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICAgICAgaWYoIW5vZHJhdykgewogICAgICAgICAgICAgICAgLy8gU2V0IHRoZSB0ZXh0IHZhbHVlCiAgICAgICAgICAgICAgICB0aGlzLmRhdGEudGV4dF9lbGVtZW50c1trZXldLnRleHQoTWF0aC5mbG9vcihNYXRoLmFicyh2aXNpYmxlX3RpbWVzLnRpbWVba2V5XSkpKTsKCiAgICAgICAgICAgICAgICB2YXIgeCA9IChqICogdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplKSArICh0aGlzLmRhdGEuYXR0cmlidXRlcy5pdGVtX3NpemUgLyAyKTsKICAgICAgICAgICAgICAgIHZhciB5ID0gdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplIC8gMjsKICAgICAgICAgICAgICAgIHZhciBjb2xvciA9IHRoaXMuY29uZmlnLnRpbWVba2V5XS5jb2xvcjsKCiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb25maWcuYW5pbWF0aW9uID09PSAic21vb3RoIikgewogICAgICAgICAgICAgICAgICAgIGlmIChsYXN0S2V5ICE9PSBudWxsICYmICFsaW1pdGVkX21vZGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKE1hdGguZmxvb3IodmlzaWJsZV90aW1lcy50aW1lW2xhc3RLZXldKSA+IE1hdGguZmxvb3IodmlzaWJsZV90aW1lcy5vbGRfdGltZVtsYXN0S2V5XSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmFkaWFsRmFkZSh4LCB5LCBjb2xvciwgMSwga2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5zdGF0ZS5mYWRpbmdba2V5XSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoTWF0aC5mbG9vcih2aXNpYmxlX3RpbWVzLnRpbWVbbGFzdEtleV0pIDwgTWF0aC5mbG9vcih2aXNpYmxlX3RpbWVzLm9sZF90aW1lW2xhc3RLZXldKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yYWRpYWxGYWRlKHgsIHksIGNvbG9yLCAwLCBrZXkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLnN0YXRlLmZhZGluZ1trZXldID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZGF0YS5zdGF0ZS5mYWRpbmdba2V5XSkgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyYXdBcmMoeCwgeSwgY29sb3IsIHZpc2libGVfdGltZXMucGN0W2tleV0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0ZUFyYyh4LCB5LCBjb2xvciwgdmlzaWJsZV90aW1lcy5wY3Rba2V5XSwgdmlzaWJsZV90aW1lcy5vbGRfcGN0W2tleV0sIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgKyB0aWNrX2R1cmF0aW9uKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBsYXN0S2V5ID0ga2V5OwogICAgICAgICAgICBqKys7CiAgICAgICAgfQoKICAgICAgICAvLyBEb250IHJlcXVlc3QgYW5vdGhlciB1cGRhdGUgaWYgd2Ugc2hvdWxkIGJlIHBhdXNlZAogICAgICAgIGlmKHRoaXMuZGF0YS5wYXVzZWQgfHwgbm9kcmF3KSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gV2UgbmVlZCB0aGlzIGZvciBvdXIgbmV4dCBmcmFtZSBlaXRoZXIgd2F5CiAgICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgICB2YXIgdXBkYXRlID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIF90aGlzLnVwZGF0ZS5jYWxsKF90aGlzKTsKICAgICAgICB9OwoKICAgICAgICAvLyBFaXRoZXIgY2FsbCBuZXh0IHVwZGF0ZSBpbW1lZGlhdGVseSwgb3IgaW4gYSBzZWNvbmQKICAgICAgICBpZiAodGhpcy5jb25maWcuYW5pbWF0aW9uID09PSAic21vb3RoIikgewogICAgICAgICAgICAvLyBTbW9vdGggYW5pbWF0aW9uLCBRdWV1ZSB1cCB0aGUgbmV4dCBmcmFtZQogICAgICAgICAgICB0aGlzLmRhdGEuYW5pbWF0aW9uX2ZyYW1lID0gdXNlV2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh1cGRhdGUsIF90aGlzLmVsZW1lbnQsIF90aGlzKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIC8vIFRpY2sgYW5pbWF0aW9uLCBEb24ndCBxdWV1ZSB1bnRpbCB2ZXJ5IHNsaWdodGx5IGFmdGVyIHRoZSBuZXh0IHNlY29uZCBoYXBwZW5zCiAgICAgICAgICAgIHZhciBkZWxheSA9IChkaWZmICUgMSkgKiAxMDAwOwogICAgICAgICAgICBpZiAoZGVsYXkgPCAwKQogICAgICAgICAgICAgICAgZGVsYXkgPSAxMDAwICsgZGVsYXk7CiAgICAgICAgICAgIGRlbGF5ICs9IDUwOwoKICAgICAgICAgICAgX3RoaXMuZGF0YS5hbmltYXRpb25fZnJhbWUgPSB1c2VXaW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIF90aGlzLmRhdGEuYW5pbWF0aW9uX2ZyYW1lID0gdXNlV2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh1cGRhdGUsIF90aGlzLmVsZW1lbnQsIF90aGlzKTsKICAgICAgICAgICAgfSwgZGVsYXkpOwogICAgICAgIH0KICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLmFuaW1hdGVBcmMgPSBmdW5jdGlvbih4LCB5LCBjb2xvciwgdGFyZ2V0X3BjdCwgY3VyX3BjdCwgYW5pbWF0aW9uX2VuZCkgewogICAgICAgIGlmICh0aGlzLmRhdGEuYXR0cmlidXRlcy5jb250ZXh0ID09PSBudWxsKQogICAgICAgICAgICByZXR1cm47CgogICAgICAgIHZhciBkaWZmID0gY3VyX3BjdCAtIHRhcmdldF9wY3Q7CiAgICAgICAgaWYgKE1hdGguYWJzKGRpZmYpID4gMC41KSB7CiAgICAgICAgICAgIGlmICh0YXJnZXRfcGN0ID09PSAwKSB7CiAgICAgICAgICAgICAgICB0aGlzLnJhZGlhbEZhZGUoeCwgeSwgY29sb3IsIDEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdGhpcy5yYWRpYWxGYWRlKHgsIHksIGNvbG9yLCAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIHByb2dyZXNzID0gKHRpY2tfZHVyYXRpb24gLSAoYW5pbWF0aW9uX2VuZCAtIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkpKSAvIHRpY2tfZHVyYXRpb247CiAgICAgICAgICAgIGlmIChwcm9ncmVzcyA+IDEpCiAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IDE7CgogICAgICAgICAgICB2YXIgcGN0ID0gKGN1cl9wY3QgKiAoMSAtIHByb2dyZXNzKSkgKyAodGFyZ2V0X3BjdCAqIHByb2dyZXNzKTsKICAgICAgICAgICAgdGhpcy5kcmF3QXJjKHgsIHksIGNvbG9yLCBwY3QpOwoKICAgICAgICAgICAgLy92YXIgc2hvd19wY3QgPQogICAgICAgICAgICBpZiAocHJvZ3Jlc3MgPj0gMSkKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgICAgICAgdXNlV2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIF90aGlzLmFuaW1hdGVBcmMoeCwgeSwgY29sb3IsIHRhcmdldF9wY3QsIGN1cl9wY3QsIGFuaW1hdGlvbl9lbmQpOwogICAgICAgICAgICB9LCB0aGlzLmVsZW1lbnQpOwogICAgICAgIH0KICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLmRyYXdBcmMgPSBmdW5jdGlvbih4LCB5LCBjb2xvciwgcGN0KSB7CiAgICAgICAgaWYgKHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQgPT09IG51bGwpCiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgdmFyIGNsZWFyX3JhZGl1cyA9IE1hdGgubWF4KHRoaXMuZGF0YS5hdHRyaWJ1dGVzLm91dGVyX3JhZGl1cywgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuaXRlbV9zaXplIC8gMik7CiAgICAgICAgaWYoIWxpbWl0ZWRfbW9kZSkgewogICAgICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5jb250ZXh0LmNsZWFyUmVjdCgKICAgICAgICAgICAgICAgICAgICB4IC0gY2xlYXJfcmFkaXVzLAogICAgICAgICAgICAgICAgICAgIHkgLSBjbGVhcl9yYWRpdXMsCiAgICAgICAgICAgICAgICAgICAgY2xlYXJfcmFkaXVzICogMiwKICAgICAgICAgICAgICAgICAgICBjbGVhcl9yYWRpdXMgKiAyCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnVzZV9iYWNrZ3JvdW5kKSB7CiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQuYmVnaW5QYXRoKCk7CiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQuYXJjKHgsIHksIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJhZGl1cywgMCwgMiAqIE1hdGguUEksIGZhbHNlKTsKICAgICAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuY29udGV4dC5saW5lV2lkdGggPSB0aGlzLmRhdGEuYXR0cmlidXRlcy5saW5lX3dpZHRoICogdGhpcy5jb25maWcuYmdfd2lkdGg7CgogICAgICAgICAgICAvLyBsaW5lIGNvbG9yCiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQuc3Ryb2tlU3R5bGUgPSB0aGlzLmNvbmZpZy5jaXJjbGVfYmdfY29sb3I7CiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmNvbnRleHQuc3Ryb2tlKCk7CiAgICAgICAgfQoKICAgICAgICAvLyBEaXJlY3Rpb24KICAgICAgICB2YXIgc3RhcnRBbmdsZSwgZW5kQW5nbGUsIGNvdW50ZXJDbG9ja3dpc2U7CiAgICAgICAgdmFyIGRlZmF1bHRPZmZzZXQgPSAoLTAuNSAqIE1hdGguUEkpOwogICAgICAgIHZhciBmdWxsQ2lyY2xlID0gMiAqIE1hdGguUEk7CiAgICAgICAgc3RhcnRBbmdsZSA9IGRlZmF1bHRPZmZzZXQgKyAodGhpcy5jb25maWcuc3RhcnRfYW5nbGUgLyAzNjAgKiBmdWxsQ2lyY2xlKTsKICAgICAgICB2YXIgb2Zmc2V0ID0gKDIgKiBwY3QgKiBNYXRoLlBJKTsKCiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRpcmVjdGlvbiA9PT0gIkJvdGgiKSB7CiAgICAgICAgICAgIGNvdW50ZXJDbG9ja3dpc2UgPSBmYWxzZTsKICAgICAgICAgICAgc3RhcnRBbmdsZSAtPSAob2Zmc2V0IC8gMik7CiAgICAgICAgICAgIGVuZEFuZ2xlID0gc3RhcnRBbmdsZSArIG9mZnNldDsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPT09ICJDbG9ja3dpc2UiKSB7CiAgICAgICAgICAgICAgICBjb3VudGVyQ2xvY2t3aXNlID0gZmFsc2U7CiAgICAgICAgICAgICAgICBlbmRBbmdsZSA9IHN0YXJ0QW5nbGUgKyBvZmZzZXQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBjb3VudGVyQ2xvY2t3aXNlID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGVuZEFuZ2xlID0gc3RhcnRBbmdsZSAtIG9mZnNldDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuY29udGV4dC5iZWdpblBhdGgoKTsKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5jb250ZXh0LmFyYyh4LCB5LCB0aGlzLmRhdGEuYXR0cmlidXRlcy5yYWRpdXMsIHN0YXJ0QW5nbGUsIGVuZEFuZ2xlLCBjb3VudGVyQ2xvY2t3aXNlKTsKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5jb250ZXh0LmxpbmVXaWR0aCA9IHRoaXMuZGF0YS5hdHRyaWJ1dGVzLmxpbmVfd2lkdGg7CgogICAgICAgIC8vIGxpbmUgY29sb3IKICAgICAgICB0aGlzLmRhdGEuYXR0cmlidXRlcy5jb250ZXh0LnN0cm9rZVN0eWxlID0gY29sb3I7CiAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMuY29udGV4dC5zdHJva2UoKTsKICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLnJhZGlhbEZhZGUgPSBmdW5jdGlvbih4LCB5LCBjb2xvciwgZnJvbSwga2V5KSB7CiAgICAgICAgLy8gVE9ETzogTWFrZSBmYWRlX3RpbWUgb3B0aW9uCiAgICAgICAgdmFyIHJnYiA9IGhleFRvUmdiKGNvbG9yKTsKCiAgICAgICAgaWYoIXJnYil7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIHZhciBfdGhpcyA9IHRoaXM7IC8vIFdlIGhhdmUgYSBmZXcgaW5uZXIgc2NvcGVzIGhlcmUgdGhhdCB3aWxsIG5lZWQgYWNjZXNzIHRvIG91ciBpbnN0YW5jZQoKICAgICAgICB2YXIgc3RlcCA9IDAuMiAqICgoZnJvbSA9PT0gMSkgPyAtMSA6IDEpOwogICAgICAgIHZhciBpOwogICAgICAgIGZvciAoaSA9IDA7IGZyb20gPD0gMSAmJiBmcm9tID49IDA7IGkrKykgewogICAgICAgICAgICAvLyBDcmVhdGUgaW5uZXIgc2NvcGUgc28gb3VyIHZhcmlhYmxlcyBhcmUgbm90IGNoYW5nZWQgYnkgdGhlIHRpbWUgdGhlIFRpbWVvdXQgdHJpZ2dlcnMKICAgICAgICAgICAgKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gNTAgKiBpOwogICAgICAgICAgICAgICAgdmFyIHJnYmEgPSAicmdiYSgiICsgcmdiLnIgKyAiLCAiICsgcmdiLmcgKyAiLCAiICsgcmdiLmIgKyAiLCAiICsgKE1hdGgucm91bmQoZnJvbSAqIDEwKSAvIDEwKSArICIpIjsKICAgICAgICAgICAgICAgIHVzZVdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIF90aGlzLmRyYXdBcmMoeCwgeSwgcmdiYSwgMSk7CiAgICAgICAgICAgICAgICB9LCBkZWxheSk7CiAgICAgICAgICAgIH0oKSk7CiAgICAgICAgICAgIGZyb20gKz0gc3RlcDsKICAgICAgICB9CiAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICB1c2VXaW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIF90aGlzLmRhdGEuc3RhdGUuZmFkaW5nW2tleV0gPSBmYWxzZTsKICAgICAgICAgICAgfSwgNTAgKiBpKTsKICAgICAgICB9CiAgICB9OwoKICAgIFRDX0luc3RhbmNlLnByb3RvdHlwZS50aW1lTGVmdCA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmICh0aGlzLmRhdGEucGF1c2VkICYmIHR5cGVvZiB0aGlzLmRhdGEudGltZXIgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGEudGltZXI7CiAgICAgICAgfQogICAgICAgIHZhciBub3cgPSBuZXcgRGF0ZSgpOwogICAgICAgIHJldHVybiAoKHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlIC0gbm93KSAvIDEwMDApOwogICAgfTsKCiAgICBUQ19JbnN0YW5jZS5wcm90b3R5cGUuc3RhcnQgPSBmdW5jdGlvbigpIHsKICAgICAgICB1c2VXaW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5kYXRhLmFuaW1hdGlvbl9mcmFtZSk7CiAgICAgICAgdXNlV2luZG93LmNsZWFyVGltZW91dCh0aGlzLmRhdGEuYW5pbWF0aW9uX2ZyYW1lKQoKICAgICAgICAvLyBDaGVjayBpZiBhIGRhdGUgd2FzIHBhc3NlZCBpbiBodG1sIGF0dHJpYnV0ZSBvciBqcXVlcnkgZGF0YQogICAgICAgIHZhciBhdHRyX2RhdGFfZGF0ZSA9ICQodGhpcy5lbGVtZW50KS5kYXRhKCdkYXRlJyk7CiAgICAgICAgaWYgKHR5cGVvZiBhdHRyX2RhdGFfZGF0ZSA9PT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgYXR0cl9kYXRhX2RhdGUgPSAkKHRoaXMuZWxlbWVudCkuYXR0cignZGF0YS1kYXRlJyk7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgYXR0cl9kYXRhX2RhdGUgPT09ICJzdHJpbmciKSB7CiAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlID0gcGFyc2VfZGF0ZShhdHRyX2RhdGFfZGF0ZSk7CiAgICAgICAgfQogICAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYW4gdW5wYXVzZSBvZiBhIHRpbWVyCiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHRoaXMuZGF0YS50aW1lciA9PT0gIm51bWJlciIpIHsKICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXVzZWQpIHsKICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKSArICh0aGlzLmRhdGEudGltZXIgKiAxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgLy8gVHJ5IHRvIGdldCBkYXRhLXRpbWVyCiAgICAgICAgICAgIHZhciBhdHRyX2RhdGFfdGltZXIgPSAkKHRoaXMuZWxlbWVudCkuZGF0YSgndGltZXInKTsKICAgICAgICAgICAgaWYgKHR5cGVvZiBhdHRyX2RhdGFfdGltZXIgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgICAgICAgICBhdHRyX2RhdGFfdGltZXIgPSAkKHRoaXMuZWxlbWVudCkuYXR0cignZGF0YS10aW1lcicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh0eXBlb2YgYXR0cl9kYXRhX3RpbWVyID09PSAic3RyaW5nIikgewogICAgICAgICAgICAgICAgYXR0cl9kYXRhX3RpbWVyID0gcGFyc2VGbG9hdChhdHRyX2RhdGFfdGltZXIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICh0eXBlb2YgYXR0cl9kYXRhX3RpbWVyID09PSAibnVtYmVyIikgewogICAgICAgICAgICAgICAgdGhpcy5kYXRhLnRpbWVyID0gYXR0cl9kYXRhX3RpbWVyOwogICAgICAgICAgICAgICAgdGhpcy5kYXRhLmF0dHJpYnV0ZXMucmVmX2RhdGUgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpICsgKGF0dHJfZGF0YV90aW1lciAqIDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgLy8gZGF0YS10aW1lciBhbmQgZGF0YS1kYXRlIHdlcmUgYm90aCBub3Qgc2V0CiAgICAgICAgICAgICAgICAvLyB1c2UgY29uZmlnIGRhdGUKICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5hdHRyaWJ1dGVzLnJlZl9kYXRlID0gdGhpcy5jb25maWcucmVmX2RhdGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vIFN0YXJ0IHJ1bm5pbmcKICAgICAgICB0aGlzLmRhdGEucGF1c2VkID0gZmFsc2U7CiAgICAgICAgdGhpcy51cGRhdGUuY2FsbCh0aGlzKTsKICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLnJlc3RhcnQgPSBmdW5jdGlvbigpIHsKICAgICAgICB0aGlzLmRhdGEudGltZXIgPSBmYWxzZTsKICAgICAgICB0aGlzLnN0YXJ0KCk7CiAgICB9OwoKICAgIFRDX0luc3RhbmNlLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGEudGltZXIgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAgIHRoaXMuZGF0YS50aW1lciA9IHRoaXMudGltZUxlZnQodGhpcyk7CiAgICAgICAgfQogICAgICAgIC8vIFN0b3AgcnVubmluZwogICAgICAgIHRoaXMuZGF0YS5wYXVzZWQgPSB0cnVlOwogICAgICAgIHVzZVdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmRhdGEuYW5pbWF0aW9uX2ZyYW1lKTsKICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKICAgICAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7CiAgICAgICAgdGhpcy5zdG9wKCk7CiAgICAgICAgdXNlV2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5kYXRhLmludGVydmFsX2ZhbGxiYWNrKTsKICAgICAgICB0aGlzLmRhdGEuaW50ZXJ2YWxfZmFsbGJhY2sgPSBudWxsOwogICAgICAgIAogICAgICAgIHRoaXMuY29udGFpbmVyLnJlbW92ZSgpOwogICAgICAgICQodGhpcy5lbGVtZW50KS5yZW1vdmVBdHRyKCdkYXRhLXRjLWlkJyk7CiAgICAgICAgJCh0aGlzLmVsZW1lbnQpLnJlbW92ZURhdGEoJ3RjLWlkJyk7CiAgICB9OwoKICAgIFRDX0luc3RhbmNlLnByb3RvdHlwZS5zZXRPcHRpb25zID0gZnVuY3Rpb24ob3B0aW9ucykgewogICAgICAgIGlmICh0aGlzLmNvbmZpZyA9PT0gbnVsbCkgewogICAgICAgICAgICB0aGlzLmRlZmF1bHRfb3B0aW9ucy5yZWZfZGF0ZSA9IG5ldyBEYXRlKCk7CiAgICAgICAgICAgIHRoaXMuY29uZmlnID0gJC5leHRlbmQodHJ1ZSwge30sIHRoaXMuZGVmYXVsdF9vcHRpb25zKTsKICAgICAgICB9CiAgICAgICAgJC5leHRlbmQodHJ1ZSwgdGhpcy5jb25maWcsIG9wdGlvbnMpOwoKICAgICAgICAvLyBVc2Ugd2luZG93LnRvcCBpZiB1c2VfdG9wX2ZyYW1lIGlzIHRydWUKICAgICAgICBpZih0aGlzLmNvbmZpZy51c2VfdG9wX2ZyYW1lKSB7CiAgICAgICAgICAgIHVzZVdpbmRvdyA9IHdpbmRvdy50b3A7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICB1c2VXaW5kb3cgPSB3aW5kb3c7CiAgICAgICAgfQogICAgICAgIHVwZGF0ZVVzZWRXaW5kb3coKTsKICAgICAgICAKICAgICAgICB0aGlzLmRhdGEudG90YWxfZHVyYXRpb24gPSB0aGlzLmNvbmZpZy50b3RhbF9kdXJhdGlvbjsKICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGF0YS50b3RhbF9kdXJhdGlvbiA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBzZWNvbmRzSW5bdGhpcy5kYXRhLnRvdGFsX2R1cmF0aW9uXSAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAgIC8vIElmIHNldCB0byBZZWFycywgTW9udGhzLCBEYXlzLCBIb3VycyBvciBNaW51dGVzLCBmZXRjaCB0aGUgc2Vjb25kc0luIHZhbHVlIGZvciB0aGF0CiAgICAgICAgICAgICAgICB0aGlzLmRhdGEudG90YWxfZHVyYXRpb24gPSBzZWNvbmRzSW5bdGhpcy5kYXRhLnRvdGFsX2R1cmF0aW9uXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGlmICh0aGlzLmRhdGEudG90YWxfZHVyYXRpb24gPT09ICJBdXRvIikgewogICAgICAgICAgICAgICAgLy8gSWYgc2V0IHRvIGF1dG8sIHRvdGFsX2R1cmF0aW9uIGlzIHRoZSBzaXplIG9mIDEgdW5pdCwgb2YgdGhlIHVuaXQgdHlwZSBiaWdnZXIgdGhhbiB0aGUgbGFyZ2VzdCBzaG93bgogICAgICAgICAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IE9iamVjdC5rZXlzKHRoaXMuY29uZmlnLnRpbWUpLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHVuaXQgPSBPYmplY3Qua2V5cyh0aGlzLmNvbmZpZy50aW1lKVtpXTsKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb25maWcudGltZVt1bml0XS5zaG93KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS50b3RhbF9kdXJhdGlvbiA9IHNlY29uZHNJbltuZXh0VW5pdHNbdW5pdF1dOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBJZiBpdCdzIGEgc3RyaW5nLCBidXQgbmVpdGhlciBvZiB0aGUgYWJvdmUsIHVzZXIgc2NyZXdlZCB1cC4KICAgICAgICAgICAgICAgIHRoaXMuZGF0YS50b3RhbF9kdXJhdGlvbiA9IHNlY29uZHNJblsiWWVhcnMiXTsKICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIlZhbGlkIHZhbHVlcyBmb3IgVGltZUNpcmNsZXMgY29uZmlnLnRvdGFsX2R1cmF0aW9uIGFyZSBlaXRoZXIgbnVtZXJpYywgb3IgKHN0cmluZykgWWVhcnMsIE1vbnRocywgRGF5cywgSG91cnMsIE1pbnV0ZXMsIEF1dG8iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLmFkZExpc3RlbmVyID0gZnVuY3Rpb24oZiwgY29udGV4dCwgdHlwZSkgewogICAgICAgIGlmICh0eXBlb2YgZiAhPT0gImZ1bmN0aW9uIikKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gInVuZGVmaW5lZCIpCiAgICAgICAgICAgIHR5cGUgPSAidmlzaWJsZSI7CiAgICAgICAgdGhpcy5saXN0ZW5lcnNbdHlwZV0ucHVzaCh7ZnVuYzogZiwgc2NvcGU6IGNvbnRleHR9KTsKICAgIH07CgogICAgVENfSW5zdGFuY2UucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycyA9IGZ1bmN0aW9uKHVuaXQsIHZhbHVlLCB0b3RhbCwgdHlwZSkgewogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5saXN0ZW5lcnNbdHlwZV0ubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgdmFyIGxpc3RlbmVyID0gdGhpcy5saXN0ZW5lcnNbdHlwZV1baV07CiAgICAgICAgICAgIGxpc3RlbmVyLmZ1bmMuYXBwbHkobGlzdGVuZXIuc2NvcGUsIFt1bml0LCB2YWx1ZSwgdG90YWxdKTsKICAgICAgICB9CiAgICB9OwoKICAgIFRDX0luc3RhbmNlLnByb3RvdHlwZS5kZWZhdWx0X29wdGlvbnMgPSB7CiAgICAgICAgcmVmX2RhdGU6IG5ldyBEYXRlKCksCiAgICAgICAgc3RhcnQ6IHRydWUsCiAgICAgICAgYW5pbWF0aW9uOiAic21vb3RoIiwKICAgICAgICBjb3VudF9wYXN0X3plcm86IHRydWUsCiAgICAgICAgY2lyY2xlX2JnX2NvbG9yOiAiIzYwNjg2RiIsCiAgICAgICAgdXNlX2JhY2tncm91bmQ6IHRydWUsCiAgICAgICAgZmdfd2lkdGg6IDAuMSwKICAgICAgICBiZ193aWR0aDogMS4yLAogICAgICAgIHRleHRfc2l6ZTogMC4wNywKICAgICAgICBudW1iZXJfc2l6ZTogMC4yOCwKICAgICAgICB0b3RhbF9kdXJhdGlvbjogIkF1dG8iLAogICAgICAgIGRpcmVjdGlvbjogIkNsb2Nrd2lzZSIsCiAgICAgICAgdXNlX3RvcF9mcmFtZTogZmFsc2UsCiAgICAgICAgc3RhcnRfYW5nbGU6IDAsCiAgICAgICAgdGltZTogewogICAgICAgICAgICBEYXlzOiB7CiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLAogICAgICAgICAgICAgICAgdGV4dDogIkRheXMiLAogICAgICAgICAgICAgICAgY29sb3I6ICIjRkM2IgogICAgICAgICAgICB9LAogICAgICAgICAgICBIb3VyczogewogICAgICAgICAgICAgICAgc2hvdzogdHJ1ZSwKICAgICAgICAgICAgICAgIHRleHQ6ICJIb3VycyIsCiAgICAgICAgICAgICAgICBjb2xvcjogIiM5Q0YiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1pbnV0ZXM6IHsKICAgICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgICB0ZXh0OiAiTWludXRlcyIsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNCRkIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFNlY29uZHM6IHsKICAgICAgICAgICAgICAgIHNob3c6IHRydWUsCiAgICAgICAgICAgICAgICB0ZXh0OiAiU2Vjb25kcyIsCiAgICAgICAgICAgICAgICBjb2xvcjogIiNGOTkiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwoKICAgIC8vIFRpbWUgY2lyY2xlIGNsYXNzCiAgICB2YXIgVENfQ2xhc3MgPSBmdW5jdGlvbihlbGVtZW50cywgb3B0aW9ucykgewogICAgICAgIHRoaXMuZWxlbWVudHMgPSBlbGVtZW50czsKICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwogICAgICAgIHRoaXMuZm9yZWFjaCgpOwogICAgfTsKCiAgICBUQ19DbGFzcy5wcm90b3R5cGUuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgdmFyIGluc3RhbmNlOwoKICAgICAgICB2YXIgY3VyX2lkID0gJChlbGVtZW50KS5kYXRhKCJ0Yy1pZCIpOwogICAgICAgIGlmICh0eXBlb2YgY3VyX2lkID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICBjdXJfaWQgPSBndWlkKCk7CiAgICAgICAgICAgICQoZWxlbWVudCkuYXR0cigiZGF0YS10Yy1pZCIsIGN1cl9pZCk7CiAgICAgICAgfQogICAgICAgIGlmICh0eXBlb2YgVENfSW5zdGFuY2VfTGlzdFtjdXJfaWRdID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsKICAgICAgICAgICAgdmFyIGVsZW1lbnRfb3B0aW9ucyA9ICQoZWxlbWVudCkuZGF0YSgnb3B0aW9ucycpOwogICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnRfb3B0aW9ucyA9PT0gInN0cmluZyIpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnRfb3B0aW9ucyA9IEpTT04ucGFyc2UoZWxlbWVudF9vcHRpb25zKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnRfb3B0aW9ucyA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5vcHRpb25zLCBlbGVtZW50X29wdGlvbnMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGluc3RhbmNlID0gbmV3IFRDX0luc3RhbmNlKGVsZW1lbnQsIG9wdGlvbnMpOwogICAgICAgICAgICBUQ19JbnN0YW5jZV9MaXN0W2N1cl9pZF0gPSBpbnN0YW5jZTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGluc3RhbmNlID0gVENfSW5zdGFuY2VfTGlzdFtjdXJfaWRdOwogICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucyAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLnNldE9wdGlvbnModGhpcy5vcHRpb25zKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gaW5zdGFuY2U7CiAgICB9OwoKICAgIFRDX0NsYXNzLnByb3RvdHlwZS5hZGRUaW1lID0gZnVuY3Rpb24oc2Vjb25kc190b19hZGQpIHsKICAgICAgICB0aGlzLmZvcmVhY2goZnVuY3Rpb24oaW5zdGFuY2UpIHsKICAgICAgICAgICAgaW5zdGFuY2UuYWRkVGltZShzZWNvbmRzX3RvX2FkZCk7CiAgICAgICAgfSk7CiAgICB9OwogICAgCiAgICBUQ19DbGFzcy5wcm90b3R5cGUuZm9yZWFjaCA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgICB0aGlzLmVsZW1lbnRzLmVhY2goZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IF90aGlzLmdldEluc3RhbmNlKHRoaXMpOwogICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAiZnVuY3Rpb24iKSB7CiAgICAgICAgICAgICAgICBjYWxsYmFjayhpbnN0YW5jZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgogICAgVENfQ2xhc3MucHJvdG90eXBlLnN0YXJ0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5mb3JlYWNoKGZ1bmN0aW9uKGluc3RhbmNlKSB7CiAgICAgICAgICAgIGluc3RhbmNlLnN0YXJ0KCk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9OwoKICAgIFRDX0NsYXNzLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5mb3JlYWNoKGZ1bmN0aW9uKGluc3RhbmNlKSB7CiAgICAgICAgICAgIGluc3RhbmNlLnN0b3AoKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgogICAgVENfQ2xhc3MucHJvdG90eXBlLnJlc3RhcnQgPSBmdW5jdGlvbigpIHsKICAgICAgICB0aGlzLmZvcmVhY2goZnVuY3Rpb24oaW5zdGFuY2UpIHsKICAgICAgICAgICAgaW5zdGFuY2UucmVzdGFydCgpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiB0aGlzOwogICAgfTsKCiAgICBUQ19DbGFzcy5wcm90b3R5cGUucmVidWlsZCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHRoaXMuZm9yZWFjaChmdW5jdGlvbihpbnN0YW5jZSkgewogICAgICAgICAgICBpbnN0YW5jZS5pbml0aWFsaXplKGZhbHNlKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgogICAgVENfQ2xhc3MucHJvdG90eXBlLmdldFRpbWUgPSBmdW5jdGlvbigpIHsKICAgICAgICByZXR1cm4gdGhpcy5nZXRJbnN0YW5jZSh0aGlzLmVsZW1lbnRzWzBdKS50aW1lTGVmdCgpOwogICAgfTsKCiAgICBUQ19DbGFzcy5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBmdW5jdGlvbihmLCB0eXBlKSB7CiAgICAgICAgaWYgKHR5cGVvZiB0eXBlID09PSAidW5kZWZpbmVkIikKICAgICAgICAgICAgdHlwZSA9ICJ2aXNpYmxlIjsKICAgICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICAgIHRoaXMuZm9yZWFjaChmdW5jdGlvbihpbnN0YW5jZSkgewogICAgICAgICAgICBpbnN0YW5jZS5hZGRMaXN0ZW5lcihmLCBfdGhpcy5lbGVtZW50cywgdHlwZSk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICB9OwoKICAgIFRDX0NsYXNzLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5mb3JlYWNoKGZ1bmN0aW9uKGluc3RhbmNlKSB7CiAgICAgICAgICAgIGluc3RhbmNlLmRlc3Ryb3koKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgogICAgVENfQ2xhc3MucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzOwogICAgfTsKCiAgICAkLmZuLlRpbWVDaXJjbGVzID0gZnVuY3Rpb24ob3B0aW9ucykgewogICAgICAgIHJldHVybiBuZXcgVENfQ2xhc3ModGhpcywgb3B0aW9ucyk7CiAgICB9Owp9KGpRdWVyeSkpOw=="}},"time_used":78,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":76,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/public/frontcss/assets/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.499Z","timestamp":1785139582499,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /public/frontcss/assets/ HTTP/1.1\r\nHost: nanoquantumstellarsledger.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://nanoquantumstellarsledger.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 403 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 1242\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"403","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1242,"size_decoded":1450,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"c6a5abb575f4c14729b299058539998f","sha1":"90a8e0cfc7695944c9d28f3cf908ecbeb3367d0c","sha256":"7271dd5c11fb9a1052a5e91a09afbe7d148fd3388dc51c338df62a0a16f06739","sha512":"80fa0b7d01774d4a68e42ffd4b874c60a129684d86af168699905342e95af7ff7bc84559ea5a2619a600d75346b41664522b621b7bbe3fc7b5d14448568865af","ssdeep":"","tlshash":"7721843ac1c1061af0334264fb81f7983619825192970f603b9eb177facd0bb52a37c8","first_seen":"2024-02-20T08:09:53Z","last_seen":"2026-08-12T12:44:32.428393Z","times_seen":2928,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDAzIEZvcmJpZGRlbg0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDAzPC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Rm9yYmlkZGVuDQo8L2gyPgo8cD5BY2Nlc3MgdG8gdGhpcyByZXNvdXJjZSBvbiB0aGUgc2VydmVyIGlzIGRlbmllZCE8L3A+CjwvZGl2PjwvZGl2PjxkaXYgc3R5bGU9ImNvbG9yOiNmMGYwZjA7IGZvbnQtc2l6ZToxMnB4O21hcmdpbjphdXRvO3BhZGRpbmc6MHB4IDMwcHggMHB4IDMwcHg7cG9zaXRpb246cmVsYXRpdmU7Y2xlYXI6Ym90aDtoZWlnaHQ6MTAwcHg7bWFyZ2luLXRvcDotMTAxcHg7YmFja2dyb3VuZC1jb2xvcjojNDc0NzQ3O2JvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTUpO2JveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIGluc2V0OyI+Cjxicj5Qcm91ZGx5IHBvd2VyZWQgYnkgTGl0ZVNwZWVkIFdlYiBTZXJ2ZXI8cD5QbGVhc2UgYmUgYWR2aXNlZCB0aGF0IExpdGVTcGVlZCBUZWNobm9sb2dpZXMgSW5jLiBpcyBub3QgYSB3ZWIgaG9zdGluZyBjb21wYW55IGFuZCwgYXMgc3VjaCwgaGFzIG5vIGNvbnRyb2wgb3ZlciBjb250ZW50IGZvdW5kIG9uIHRoaXMgc2l0ZS48L3A+PC9kaXY+PC9ib2R5PjwvaHRtbD4K"}},"time_used":45,"timings":{"blocked":0,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.093Z","timestamp":1785139584093,"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-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 08:06:24 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: 062d2cf36568276595c52ba1572cb3fa\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-28T06:17:53.40681Z","times_seen":207,"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":"wss","addr":"wss://pushstream.tradingview.com/message-pipe-ws/public","fqdn":"pushstream.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"84.16.253.89","port":443,"asn":28753,"as":"Leaseweb Deutschland GmbH","country":"Germany","country_code":"DE"},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.171Z","timestamp":1785139584171,"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: /1IFokMq+PRntouNT42Lcg==\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: 7th2yF2ZxPmAZfw+sN2Rpcj51Tk=\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-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":""}},"time_used":299,"timings":{"blocked":-1,"dns":106,"connect":134,"send":0,"wait":27,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/blocks.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.978Z","timestamp":1785139581978,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/blocks.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 24625\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":199379,"size_decoded":24935,"mime_type":"text/css","magic":"ASCII text","md5":"c44a31bdbfc78af2591de07b99e1cd28","sha1":"83279c31e42fbc4ff73a3f4cb81a76836b1906ff","sha256":"a86ee6fedc74bd811a9b531792ddcd99e5f1e43d7afd17422d843b0e25e1a880","sha512":"1991786d2656b87db0f990aafaa354e76b4b9c490d92a6a8a27c2a00f824c40adef384158e1274c4d6663d5475970b6f11ba0d4077c900646621b8932c193fe8","ssdeep":"6144:sD1LTNnfF+rmHXE5BOL7VS0MD2FCbuwFrtKmLee:sD6LtK8ee","tlshash":"34144f578ea316067c06d91c1ffe6a41a3344013da0eddf87acd6254cf8d7c85aee68a","first_seen":"2025-11-23T04:10:47.955603Z","last_seen":"2026-07-27T09:11:27.326192Z","times_seen":7,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tICNCTE9DS1MgLS0tLS0tLS0tLS0tLS0qLwovKi0tLS0tLS0tLS0tLS0gI1ZBUklBQkxFUyAtLS0tLS0tLS0tLS0tLSovCi8qLS0tLS0tLS0tLS0tLSAjSEVBRElORyAtLS0tLS0tLS0tLS0tLSovCi5jcnVtaW5hLWhlYWRpbmcgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogNTsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcgPiAqOmxhc3QtY2hpbGQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgICAuY3J1bWluYS1oZWFkaW5nID4gKjpmaXJzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcgKyAqIHsKICAgICAgbWFyZ2luLXRvcDogMjVweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5uby1tYXJnaW4gewogICAgICBtYXJnaW46IDA7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcgLmhlYWRpbmctc3VwLXRpdGxlIHsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS13aXRoLWRlY29yYXRpb24gLmhlYWRpbmctdGl0bGU6YWZ0ZXIgewogICAgICBjb250ZW50OiAiLiI7CiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgIHdpZHRoOiAwOwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS1oMSAuaGVhZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxLjg3NWVtOwogICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICBtYXJnaW4tdG9wOiAwOyB9CiAgICAuY3J1bWluYS1oZWFkaW5nLmhlYWRpbmctLWgxIC5oZWFkaW5nLXN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS1oMiAuaGVhZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxLjM3NWVtOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9CiAgICAuY3J1bWluYS1oZWFkaW5nLmhlYWRpbmctLWgyIC5oZWFkaW5nLXN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMS4zNzVlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS1oMyAuaGVhZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxLjEyNWVtOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBtYXJnaW4tdG9wOiA1cHg7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcuaGVhZGluZy0taDMgLmhlYWRpbmctc3VwLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxLjEyNWVtOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcuaGVhZGluZy0taDQgLmhlYWRpbmctdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBtYXJnaW4tdG9wOiAxM3B4OyB9CiAgICAuY3J1bWluYS1oZWFkaW5nLmhlYWRpbmctLWg0IC5oZWFkaW5nLXN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICBtYXJnaW4tYm90dG9tOiAxM3B4OyB9CiAgICAuY3J1bWluYS1oZWFkaW5nLmhlYWRpbmctLWg1IC5oZWFkaW5nLXRleHQgewogICAgICBmb250LXNpemU6IDFlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS1oNSAuaGVhZGluZy1zdXAtdGl0bGUgewogICAgICBmb250LXNpemU6IDFlbTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmNydW1pbmEtaGVhZGluZy5oZWFkaW5nLS1oNiAuaGVhZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH0KICAgIC5jcnVtaW5hLWhlYWRpbmcuaGVhZGluZy0taDYgLmhlYWRpbmctc3VwLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxZW07CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0KICAKICAuaGVhZGluZy1zdXAtdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgIGNvbG9yOiAjZmZiYTAwOwogICAgZm9udC1zaXplOiAxNnB4OyB9CiAgCiAgLmhlYWRpbmctdGl0bGUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDEuM2VtOwogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgLmhlYWRpbmctdGV4dCB7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAKICAucHJpbWFyeS1kb3RzICsgLmhlYWRpbmctdGl0bGUgewogICAgZGlzcGxheTogYmxvY2s7IH0KICAKICAvKioKICAgKiBEaWFnb25hbGx5IGNvbG9yZWQgdGV4dCwgd2l0aCBmYWxsYmFjawogICAqIEluc3BpcmVkIGZyb20gaHR0cDovL3NlcnZpY2VkZXNpZ25kYXlzLmNvbS8KICAgKi8KICAuaGVhZGluZy0taGFsZi1jb2xvcmVkIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogIAogIEBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHsKICAgIC5oZWFkaW5nLS1oYWxmLWNvbG9yZWQgewogICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmZiA1MCUsICNmZmJhMDAgMTAwJSk7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICNmZmYgNTAlLCAjZmZiYTAwIDEwMCUpOwogICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgfSB9CiAgCiAgQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkgewogICAgLmMtd2hpdGUgLmhlYWRpbmctLWhhbGYtY29sb3JlZCB7CiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZmIDUwJSwgI2ZmYmEwMCAxMDAlKTsKICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxNWRlZywgI2ZmZiA1MCUsICNmZmJhMDAgMTAwJSk7CiAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyB9IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkgewogICAgLmNydW1pbmEtaGVhZGluZ1tjbGFzcyo9ImhlYWRpbmctLWgiXSAuaGVhZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAyMHB4OyB9CiAgICAuY3J1bWluYS1oZWFkaW5nW2NsYXNzKj0iaGVhZGluZy0taCJdIC5oZWFkaW5nLXN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNTcwcHgpIHsKICAgIC5jcnVtaW5hLWhlYWRpbmdbY2xhc3MqPSJoZWFkaW5nLS1oIl0gLmhlYWRpbmctdGV4dCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLmNydW1pbmEtaGVhZGluZ1tjbGFzcyo9ImhlYWRpbmctLWgiXSAuaGVhZGluZy1zdXAtdGl0bGUgewogICAgICBmb250LXNpemU6IDEycHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQlVUVE9OUyAtLS0tLS0tLS0tLS0tLSovCiAgLmJ0biB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgcGFkZGluZzogNXB4IDEwcHg7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogOTAwOwogICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJvcmRlcjogNHB4IHNvbGlkOyB9CiAgICAuYnRuICsgLmJ0biB7CiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9CiAgICAuYnRuOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgIC5idG46YWN0aXZlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLmJ0bi0teC1sYXJnZSB7CiAgICBmb250LXNpemU6IDIycHg7CiAgICBib3JkZXItcmFkaXVzOiAzM3B4OwogICAgcGFkZGluZzogMThweCAzNnB4OyB9CiAgCiAgLmJ0bi0tbGFyZ2UgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgIHBhZGRpbmc6IDE3cHggMzRweDsgfQogIAogIC5idG4tLW1lZGl1bSB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBib3JkZXItcmFkaXVzOiAyNXB4OwogICAgcGFkZGluZzogMTNweCAyNnB4OyB9CiAgCiAgLmJ0bi0tc21hbGwgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHBhZGRpbmc6IDlweCAyMHB4OwogICAgYm9yZGVyLXdpZHRoOiAzcHg7IH0KICAKICAuYnRuLS1taW5pIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7CiAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgIGJvcmRlci13aWR0aDogM3B4OyB9CiAgCiAgLndvb3gtaWNvbiB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC5kb3VibGUtYXJyb3cgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5kb3VibGUtYXJyb3cgLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiAxN3B4OwogICAgICBoZWlnaHQ6IDE3cHg7IH0KICAgICAgLmRvdWJsZS1hcnJvdyAud29veC1pY29uOmxhc3QtY2hpbGQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDFweDsKICAgICAgICByaWdodDogLTNweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQ29sb3Itc2NoZW1lIGZvciBidXR0b25zIC0tLS0tLS0tLS0tLS0tKi8KICAuYnRuLS1zZWNvbmRhcnkgewogICAgYm9yZGVyLWNvbG9yOiAjZmZmOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGNvbG9yOiAjM2Q0MzRmOyB9CiAgICAuYnRuLS1zZWNvbmRhcnkgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAgIC5idG4tLXNlY29uZGFyeTpob3ZlciB7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgIC5idG4tLXNlY29uZGFyeTpob3ZlciAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZmOyB9CiAgICAuYnRuLS1zZWNvbmRhcnk6YWN0aXZlIHsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGJvcmRlci1jb2xvcjogI2MzYzlkNDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MzYzlkNDsgfQogICAgICAuYnRuLS1zZWNvbmRhcnk6YWN0aXZlIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAuYnRuLS1wcmltYXJ5IHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICBjb2xvcjogI2ZmZjsgfQogICAgLmJ0bi0tcHJpbWFyeSAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmJ0bi0tcHJpbWFyeTpob3ZlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAuYnRuLS1wcmltYXJ5OmhvdmVyIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmJhMDA7IH0KICAgIC5idG4tLXByaW1hcnk6YWN0aXZlIHsKICAgICAgY29sb3I6ICMxNjE4MWQ7CiAgICAgIGJvcmRlci1jb2xvcjogI2NjOTUwMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOTUwMDsgfQogICAgICAuYnRuLS1wcmltYXJ5OmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjMTYxODFkOyB9CiAgCiAgLmJ0bi0tZ3JlZW4tbGlnaHQgewogICAgYm9yZGVyLWNvbG9yOiAjMDBhNjU0OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTY1NDsKICAgIGNvbG9yOiAjZmZmOyB9CiAgICAuYnRuLS1ncmVlbi1saWdodCAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmJ0bi0tZ3JlZW4tbGlnaHQ6aG92ZXIgewogICAgICBjb2xvcjogIzAwYTY1NDsgfQogICAgICAuYnRuLS1ncmVlbi1saWdodDpob3ZlciAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjMDBhNjU0OyB9CiAgICAuYnRuLS1ncmVlbi1saWdodDphY3RpdmUgewogICAgICBjb2xvcjogIzE2MTgxZDsKICAgICAgYm9yZGVyLWNvbG9yOiAjMDA3MzNhOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MzNhOyB9CiAgICAgIC5idG4tLWdyZWVuLWxpZ2h0OmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjMTYxODFkOyB9CiAgCiAgLmJ0bi0tZGFyayB7CiAgICBib3JkZXItY29sb3I6ICMxYzFmMjQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWMxZjI0OwogICAgY29sb3I6ICM2NjZkN2E7IH0KICAgIC5idG4tLWRhcmsgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICM2NjZkN2E7IH0KICAgIC5idG4tLWRhcms6aG92ZXIgewogICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAuYnRuLS1kYXJrOmhvdmVyIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmY7IH0KICAgIC5idG4tLWRhcms6YWN0aXZlIHsKICAgICAgY29sb3I6ICMzZDQzNGY7CiAgICAgIGJvcmRlci1jb2xvcjogIzA2MDYwNzsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDYwNzsgfQogICAgICAuYnRuLS1kYXJrOmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjM2Q0MzRmOyB9CiAgCiAgLmJ0bi0tZGFyay1saWdodGVyIHsKICAgIGJvcmRlci1jb2xvcjogIzIyMjUyYzsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI1MmM7CiAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgLmJ0bi0tZGFyay1saWdodGVyIC53b294LWljb24gewogICAgICBmaWxsOiAjNjY2ZDdhOyB9CiAgICAuYnRuLS1kYXJrLWxpZ2h0ZXI6aG92ZXIgewogICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAuYnRuLS1kYXJrLWxpZ2h0ZXI6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmJ0bi0tZGFyay1saWdodGVyOmFjdGl2ZSB7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOwogICAgICBib3JkZXItY29sb3I6ICMwYzBkMGY7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwYzBkMGY7IH0KICAgICAgLmJ0bi0tZGFyay1saWdodGVyOmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjNjY2ZDdhOyB9CiAgCiAgLmJ0bi0tYmx1ZS1saWdodCB7CiAgICBib3JkZXItY29sb3I6ICMzNDUyZmY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1MmZmOwogICAgY29sb3I6ICNmZmY7IH0KICAgIC5idG4tLWJsdWUtbGlnaHQgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNmZmY7IH0KICAgIC5idG4tLWJsdWUtbGlnaHQ6aG92ZXIgewogICAgICBjb2xvcjogIzM0NTJmZjsgfQogICAgICAuYnRuLS1ibHVlLWxpZ2h0OmhvdmVyIC53b294LWljb24gewogICAgICAgIGZpbGw6ICMzNDUyZmY7IH0KICAgIC5idG4tLWJsdWUtbGlnaHQ6YWN0aXZlIHsKICAgICAgY29sb3I6ICMxNjE4MWQ7CiAgICAgIGJvcmRlci1jb2xvcjogIzAxMjdmZjsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxMjdmZjsgfQogICAgICAuYnRuLS1ibHVlLWxpZ2h0OmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjMTYxODFkOyB9CiAgCiAgLmJ0bi0tdHJhbnNwYXJlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tc2Vjb25kYXJ5IHsKICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1zZWNvbmRhcnkgLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmZjsgfQogICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1zZWNvbmRhcnk6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tc2Vjb25kYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXNlY29uZGFyeTphY3RpdmUgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjZmZmOyB9CiAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXByaW1hcnkgewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXByaW1hcnkgLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmYmEwMDsgfQogICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXByaW1hcnk6aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLXByaW1hcnk6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjZmZmOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tcHJpbWFyeTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzk1MDA7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2M5NTAwOwogICAgICAgIGNvbG9yOiAjMTYxODFkOyB9CiAgICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1wcmltYXJ5OmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICMxNjE4MWQ7IH0KICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZ3JlZW4tbGlnaHQgewogICAgICBjb2xvcjogIzAwYTY1NDsgfQogICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLWdyZWVuLWxpZ2h0IC53b294LWljb24gewogICAgICAgIGZpbGw6ICMwMGE2NTQ7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1ncmVlbi1saWdodDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYTY1NDsKICAgICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZ3JlZW4tbGlnaHQ6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjZmZmOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZ3JlZW4tbGlnaHQ6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MzNhOwogICAgICAgIGJvcmRlci1jb2xvcjogIzAwNzMzYTsKICAgICAgICBjb2xvcjogIzE2MTgxZDsgfQogICAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZ3JlZW4tbGlnaHQ6YWN0aXZlIC53b294LWljb24gewogICAgICAgICAgZmlsbDogIzE2MTgxZDsgfQogICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1ibHVlLWxpZ2h0IHsKICAgICAgY29sb3I6ICMzNDUyZmY7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1ibHVlLWxpZ2h0IC53b294LWljb24gewogICAgICAgIGZpbGw6ICMzNDUyZmY7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1ibHVlLWxpZ2h0OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1MmZmOwogICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1ibHVlLWxpZ2h0OmhvdmVyIC53b294LWljb24gewogICAgICAgICAgZmlsbDogI2ZmZjsgfQogICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLWJsdWUtbGlnaHQ6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEyN2ZmOwogICAgICAgIGJvcmRlci1jb2xvcjogIzAxMjdmZjsKICAgICAgICBjb2xvcjogIzE2MTgxZDsgfQogICAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tYmx1ZS1saWdodDphY3RpdmUgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjMTYxODFkOyB9CiAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLWRhcmstbGlnaHRlciB7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyay1saWdodGVyIC53b294LWljb24gewogICAgICAgIGZpbGw6ICM2NjZkN2E7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1kYXJrLWxpZ2h0ZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI1MmM7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLWRhcmstbGlnaHRlcjpob3ZlciAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICNmZmY7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1kYXJrLWxpZ2h0ZXI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMwZDBmOwogICAgICAgIGJvcmRlci1jb2xvcjogIzBjMGQwZjsKICAgICAgICBjb2xvcjogIzNkNDM0ZjsgfQogICAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyay1saWdodGVyOmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyayB7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyayAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjNjY2ZDdhOyB9CiAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyazpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyNDsKICAgICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAgIC5idG4tLXRyYW5zcGFyZW50LmJ0bi0tZGFyazpob3ZlciAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICNmZmY7IH0KICAgICAgLmJ0bi0tdHJhbnNwYXJlbnQuYnRuLS1kYXJrOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA2MDYwNzsKICAgICAgICBib3JkZXItY29sb3I6ICMwNjA2MDc7CiAgICAgICAgY29sb3I6ICMzZDQzNGY7IH0KICAgICAgICAuYnRuLS10cmFuc3BhcmVudC5idG4tLWRhcms6YWN0aXZlIC53b294LWljb24gewogICAgICAgICAgZmlsbDogIzNkNDM0ZjsgfQogIAogIC5idG4tLXdpdGgtaWNvbiB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0KICAgIC5idG4tLXdpdGgtaWNvbiAud29veC1pY29uLCAuYnRuLS13aXRoLWljb24gaSB7CiAgICAgIHdpZHRoOiAxNHB4OwogICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAuYnRuLS13aXRoLWljb24uYnRuLS14LWxhcmdlIC53b294LWljb24sIC5idG4tLXdpdGgtaWNvbi5idG4tLXgtbGFyZ2UgaSB7CiAgICAgIHdpZHRoOiAyMnB4OwogICAgICBoZWlnaHQ6IDIycHg7CiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfQogIAogIC5idG4tLWljb24tcmlnaHQgLndvb3gtaWNvbiwgLmJ0bi0taWNvbi1yaWdodCBpIHsKICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9CiAgCiAgLmJ0bi0taWNvbi1sZWZ0IC53b294LWljb24sIC5idG4tLWljb24tbGVmdCBpIHsKICAgIG1hcmdpbi1yaWdodDogMTBweDsgfQogIAogIC5idG4tbWFya2V0LXdyYXAgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICBmbGV4LXdyYXA6IHdyYXA7IH0KICAKICAuYnRuLS1tYXJrZXQgewogICAgcGFkZGluZzogMTJweCAyMHB4OwogICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9CiAgICAuYnRuLS1tYXJrZXQgLndvb3gtaWNvbiwgLmJ0bi0tbWFya2V0IGkgewogICAgICBtaW4td2lkdGg6IDMwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7IH0KICAgIC5idG4tLW1hcmtldCAudGV4dCB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAgIC5idG4tLW1hcmtldCAuc3VwLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAuYnRuLS1tYXJrZXQgLnRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNnB4OyB9CiAgICAuYnRuLS1tYXJrZXQgKyAuYnRuLS1tYXJrZXQgewogICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgCiAgLmJ0bi0tYXBwbGUgewogICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgIC5idG4tLWFwcGxlIC53b294LWljb24gewogICAgICBmaWxsOiAjYzNjOWQ0OyB9CiAgICAuYnRuLS1hcHBsZSAuc3VwLXRpdGxlIHsKICAgICAgY29sb3I6ICM2NjZkN2E7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5idG4tLWFwcGxlOmhvdmVyLCAuYnRuLS1hcHBsZTphY3RpdmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgIC5idG4tLWFwcGxlOmhvdmVyIC53b294LWljb24sIC5idG4tLWFwcGxlOmFjdGl2ZSAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZmOyB9CiAgICAgIC5idG4tLWFwcGxlOmhvdmVyIC5zdXAtdGl0bGUsIC5idG4tLWFwcGxlOmFjdGl2ZSAuc3VwLXRpdGxlIHsKICAgICAgICBjb2xvcjogI2ZmZjsgfQogIAogIC5idG4tLWdvb2dsZSB7CiAgICBjb2xvcjogI2ZmZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgIC5idG4tLWdvb2dsZSAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmJ0bi0tZ29vZ2xlIC5zdXAtdGl0bGUgewogICAgICBjb2xvcjogI2ZmZjsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmJ0bi0tZ29vZ2xlOmhvdmVyLCAuYnRuLS1nb29nbGU6YWN0aXZlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1jb2xvcjogI2MzYzlkNDsKICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgICAgLmJ0bi0tZ29vZ2xlOmhvdmVyIC5zdXAtdGl0bGUsIC5idG4tLWdvb2dsZTphY3RpdmUgLnN1cC10aXRsZSB7CiAgICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgICAgLmJ0bi0tZ29vZ2xlOmhvdmVyIC53b294LWljb24sIC5idG4tLWdvb2dsZTphY3RpdmUgLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2MzYzlkNDsgfQogIAogIC5idG4tLXJvdW5kIHsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBwYWRkaW5nOiAwOwogICAgd2lkdGg6IDYwcHg7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICBsaW5lLWhlaWdodDogNjBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmJ0bi0tcm91bmQ6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNmZmJhMDA7CiAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuYnRuLS1yb3VuZCAud29veC1pY29uIHsKICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB3aWR0aDogMThweDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDUwJTsKICAgICAgbGVmdDogNTAlOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9CiAgCiAgLmJ0bi0td2l0aC1jb3VudCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQogICAgLmJ0bi0td2l0aC1jb3VudDpob3ZlciAuY291bnQgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgICBjb2xvcjogIzFjMWYyNDsgfQogICAgLmJ0bi0td2l0aC1jb3VudCAuY291bnQgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICByaWdodDogLTRweDsKICAgICAgdG9wOiAtNHB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS14LWxhcmdlIHsKICAgICAgcGFkZGluZy1yaWdodDogODBweDsgfQogICAgICAuYnRuLS13aXRoLWNvdW50LmJ0bi0teC1sYXJnZSAuY291bnQgewogICAgICAgIGhlaWdodDogNjZweDsKICAgICAgICB3aWR0aDogNjZweDsKICAgICAgICBsaW5lLWhlaWdodDogNjZweDsgfQogICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLWxhcmdlIHsKICAgICAgcGFkZGluZzogMThweCA3MHB4IDE4cHggMzRweDsgfQogICAgICAuYnRuLS13aXRoLWNvdW50LmJ0bi0tbGFyZ2UgLmNvdW50IHsKICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1tZWRpdW0gewogICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9CiAgICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1tZWRpdW0gLmNvdW50IHsKICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgd2lkdGg6IDUwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1zbWFsbCB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH0KICAgICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLXNtYWxsIC5jb3VudCB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9CiAgICAuYnRuLS13aXRoLWNvdW50LmJ0bi0tbWluaSB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH0KICAgICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLW1pbmkgLmNvdW50IHsKICAgICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgICAgd2lkdGg6IDMwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1zZWNvbmRhcnkgLmNvdW50IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfQogICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLXByaW1hcnkgLmNvdW50IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLWdyZWVuLWxpZ2h0IC5jb3VudCB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGE2NTQ7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1ibHVlLWxpZ2h0IC5jb3VudCB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDUyZmY7IH0KICAgIC5idG4tLXdpdGgtY291bnQuYnRuLS1kYXJrLWxpZ2h0ZXIgLmNvdW50IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjUyYzsgfQogICAgLmJ0bi0td2l0aC1jb3VudC5idG4tLWRhcmsgLmNvdW50IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWYyNDsgfQogIAogIC5idG4tLXNoYXJlIHsKICAgIGJvcmRlci1jb2xvcjogI2ExYWJiZDsgfQogICAgLmJ0bi0tc2hhcmU6YWN0aXZlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1jb2xvcjogIzNkNDQ1MTsgfQogICAgLmJ0bi0tc2hhcmUgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNhMWFiYmQ7IH0KICAgIC5idG4tLXNoYXJlIC5zb2NpYWxzIHsKICAgICAgcGFkZGluZy1sZWZ0OiA2NXB4OwogICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OwogICAgICBtYXJnaW46IDA7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOwogICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLCAtd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOwogICAgICBvcGFjaXR5OiAwOyB9CiAgICAgIC5idG4tLXNoYXJlIC5zb2NpYWxzIGxpIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjhzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC44cyBlYXNlOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAgIC5idG4tLXNoYXJlIC5zb2NpYWxzIGxpIGEgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgICAgIC5idG4tLXNoYXJlIC5zb2NpYWxzIC53b294LWljb24gewogICAgICAgIGhlaWdodDogMzBweDsKICAgICAgICB3aWR0aDogMzBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICBsZWZ0OiBhdXRvOyB9CiAgICAgICAgLmJ0bi0tc2hhcmUgLnNvY2lhbHMgLndvb3gtaWNvbjpob3ZlciB7CiAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCAjZmZiYTAwOwogICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCAtNXB4ICNmZmJhMDA7IH0KICAgIC5idG4tLXNoYXJlIC5zaGFyZWQtd3JhcCB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGhlaWdodDogNjBweDsKICAgICAgbWF4LXdpZHRoOiA2MHB4OwogICAgICBsZWZ0OiAtNHB4OwogICAgICB0b3A6IC00cHg7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LXdpZHRoIC44cyBlYXNlLCBvcGFjaXR5IC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggLjhzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2U7CiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNhMWFiYmQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDMzcHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfQogICAgLmJ0bi0tc2hhcmUub3BlbiAuc2hhcmVkLXdyYXAgewogICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgICBvcGFjaXR5OiAxOwogICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9CiAgICAuYnRuLS1zaGFyZS5vcGVuIC5zb2NpYWxzIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgb3BhY2l0eTogMTsgfQogICAgICAuYnRuLS1zaGFyZS5vcGVuIC5zb2NpYWxzIGxpIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogIAogIC5idG4tLXNoYXJlLWluLWRvd24gewogICAgYm9yZGVyLWNvbG9yOiAjYTFhYmJkOyB9CiAgICAuYnRuLS1zaGFyZS1pbi1kb3duOmFjdGl2ZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXItY29sb3I6ICMzZDQ0NTE7IH0KICAgIC5idG4tLXNoYXJlLWluLWRvd24gLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNhMWFiYmQ7IH0KICAgIC5idG4tLXNoYXJlLWluLWRvd24gLnNvY2lhbHMgewogICAgICBwYWRkaW5nOiA1NXB4IDEwcHggMTBweDsKICAgICAgbWFyZ2luOiAwOwogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMHB4KTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDBweCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDBweCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gLjZzIGVhc2U7CiAgICAgIG9wYWNpdHk6IDA7IH0KICAgICAgLmJ0bi0tc2hhcmUtaW4tZG93biAuc29jaWFscyBsaSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjhzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC44cyBlYXNlOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAgIC5idG4tLXNoYXJlLWluLWRvd24gLnNvY2lhbHMgbGkgYSB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KICAgICAgLmJ0bi0tc2hhcmUtaW4tZG93biAuc29jaWFscyAud29veC1pY29uIHsKICAgICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgICAgd2lkdGg6IDMwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsgfQogICAgICAgIC5idG4tLXNoYXJlLWluLWRvd24gLnNvY2lhbHMgLndvb3gtaWNvbjpob3ZlciB7CiAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCAjZmZiYTAwOwogICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCAtNXB4ICNmZmJhMDA7IH0KICAgIC5idG4tLXNoYXJlLWluLWRvd24gLnNoYXJlZC13cmFwIHsKICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICBtYXgtd2lkdGg6IDYwcHg7CiAgICAgIGxlZnQ6IC00cHg7CiAgICAgIHRvcDogLTRweDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXgtd2lkdGggLjhzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAuOHMgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZTsKICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ExYWJiZDsKICAgICAgYm9yZGVyLXJhZGl1czogMzNweDsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9CiAgICAuYnRuLS1zaGFyZS1pbi1kb3duLm9wZW4gLnNoYXJlZC13cmFwIHsKICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgb3BhY2l0eTogMTsKICAgICAgbWF4LXdpZHRoOiA2MHB4OwogICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICB3aWR0aDogNjBweDsgfQogICAgLmJ0bi0tc2hhcmUtaW4tZG93bi5vcGVuIC5zb2NpYWxzIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgb3BhY2l0eTogMTsgfQogICAgICAuYnRuLS1zaGFyZS1pbi1kb3duLm9wZW4gLnNvY2lhbHMgbGkgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBTdHlsZXMgZm9yIGxpbmtzID09PT09PT09PT09PSovCiAgLmNvbnRlbnQtYmxvY2stLWRhcmsgYTpob3ZlciwKICAuZm9ybS0tZGFyayBhOmhvdmVyIHsKICAgIGNvbG9yOiAjZmZmOyB9CiAgCiAgLmNvbnRlbnQtYmxvY2stLWRhcmsgYTphY3RpdmUsCiAgLmZvcm0tLWRhcmsgYTphY3RpdmUgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAubGluay11bmRlcmxpbmVkIHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNCdXR0b24gYmFjay10by10b3AgLS0tLS0tLS0tLS0tLS0qLwogIC5iYWNrLXRvLXRvcCB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiAxMDAwOwogICAgd2lkdGg6IDEyMHB4OwogICAgaGVpZ2h0OiAxMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZmlsbDogI2ZmZjsKICAgIHN0cm9rZTogaW5oZXJpdDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgYm90dG9tOiAtNTVweDsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDIwcHggMCByZ2JhKDI1NSwgMTMzLCAwLCAwLjQpOwogICAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAyMHB4IDAgcmdiYSgyNTUsIDEzMywgMCwgMC40KTsKICAgIG91dGxpbmU6IG5vbmU7IH0KICAgIC5iYWNrLXRvLXRvcDphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICB3aWR0aDogMTJweDsKICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IC00cHg7CiAgICAgIHJpZ2h0OiAtNHB4OwogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMjBweCAwIHJnYmEoMjU1LCAxMzMsIDAsIDAuNCk7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMjBweCAwIHJnYmEoMjU1LCAxMzMsIDAsIDAuNCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5iYWNrLXRvLXRvcC5oaWRkZW4gewogICAgICBvcGFjaXR5OiAwOyB9CiAgICAuYmFjay10by10b3AgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNmZmY7CiAgICAgIGhlaWdodDogMjBweDsKICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0KICAgIC5iYWNrLXRvLXRvcDpob3ZlciB7CiAgICAgIGJvdHRvbTogLTUwcHg7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAyMHB4IDAgcmdiYSgyNTUsIDEzMywgMCwgMCksIDVweCA1cHggMjBweCAwIHJnYmEoMjU1LCAxMzMsIDAsIDAuNCk7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMjBweCAwIHJnYmEoMjU1LCAxMzMsIDAsIDApLCA1cHggNXB4IDIwcHggMCByZ2JhKDI1NSwgMTMzLCAwLCAwLjQpOyB9CiAgICAgIC5iYWNrLXRvLXRvcDpob3ZlcjphZnRlciB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDIwcHggMCByZ2JhKDI1NSwgMTMzLCAwLCAwKSwgNXB4IDVweCAyMHB4IDAgcmdiYSgyNTUsIDEzMywgMCwgMC40KTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDIwcHggMCByZ2JhKDI1NSwgMTMzLCAwLCAwKSwgNXB4IDVweCAyMHB4IDAgcmdiYSgyNTUsIDEzMywgMCwgMC40KTsgfQogIAogIC5wcmltYXJ5LWxpbmstd2l0aC1pY29uIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsgfQogICAgLnByaW1hcnktbGluay13aXRoLWljb24gLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiAxM3B4OwogICAgICBoZWlnaHQ6IDEzcHg7CiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4OwogICAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH0KICAgIC5wcmltYXJ5LWxpbmstd2l0aC1pY29uOmhvdmVyIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAudW5pdmVyc2FsLWJ0bi13cmFwIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAtbXMtZmxleC13cmFwOiB3cmFwOwogICAgZmxleC13cmFwOiB3cmFwOwogICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7IH0KICAgIC51bml2ZXJzYWwtYnRuLXdyYXAgLmJ0biB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgICAudW5pdmVyc2FsLWJ0bi13cmFwIC5idG4gKyAuYnRuIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsgfQogICAgICAudW5pdmVyc2FsLWJ0bi13cmFwIC5idG46bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIFJlc3BvbnNpdmUgTW9kZSAtLS0tLS0tLS0tLS0tLSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc5OXB4KSB7CiAgICAuYmFjay10by10b3AgewogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICBib3R0b206IC0zMHB4OyB9CiAgICAgIC5iYWNrLXRvLXRvcDpob3ZlciB7CiAgICAgICAgYm90dG9tOiAtMjVweDsgfQogICAgLmJhY2stdG8tdG9wIC53b294LWljb24gewogICAgICBoZWlnaHQ6IDE1cHg7CiAgICAgIHdpZHRoOiAxNXB4OwogICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9CiAgICAuYnRuLS14LWxhcmdlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBwYWRkaW5nOiAxNnB4IDMycHg7IH0KICAgIC5idG4tLWxhcmdlIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0KICAgIC5idG4tLW1lZGl1bSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgcGFkZGluZzogMTJweCAyNHB4OyB9CiAgICAuYnRuLS1zbWFsbCB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgcGFkZGluZzogOXB4IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLmJ0bi0tcm91bmQgewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICBsaW5lLWhlaWdodDogMzBweDsKICAgICAgYm9yZGVyLXdpZHRoOiAycHg7IH0KICAgICAgLmJ0bi0tcm91bmQgLndvb3gtaWNvbiB7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OyB9CiAgICAuYnRuLS1tYXJrZXQgewogICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH0KICAgICAgLmJ0bi0tbWFya2V0IC53b294LWljb24sIC5idG4tLW1hcmtldCBpIHsKICAgICAgICBtaW4td2lkdGg6IDE1cHg7CiAgICAgICAgbWluLWhlaWdodDogMTVweDsgfQogICAgICAuYnRuLS1tYXJrZXQgLnN1cC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OyB9CiAgICAgIC5idG4tLW1hcmtldCAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfQogICAgLmJ0bi0taWNvbi1yaWdodCAud29veC1pY29uLCAuYnRuLS1pY29uLXJpZ2h0IGkgewogICAgICBtYXJnaW4tbGVmdDogNXB4OyB9CiAgICAuYnRuLS1pY29uLWxlZnQgLndvb3gtaWNvbiwgLmJ0bi0taWNvbi1sZWZ0IGkgewogICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfQogICAgLmJ0bi0tc2hhcmUgLnNvY2lhbHMgewogICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7IH0KICAgICAgLmJ0bi0tc2hhcmUgLnNvY2lhbHMgbGkgLndvb3gtaWNvbiB7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHdpZHRoOiAyMHB4OyB9CiAgICAuYnRuLS1zaGFyZSAuc2hhcmVkLXdyYXAgewogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIG1heC13aWR0aDogMzBweDsKICAgICAgbGVmdDogLTJweDsKICAgICAgdG9wOiAtMnB4OwogICAgICBib3JkZXItd2lkdGg6IDJweDsgfQogICAgLmJ0bi0tc2hhcmUtaW4tZG93biAuc2hhcmVkLXdyYXAgewogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIG1heC13aWR0aDogMzBweDsKICAgICAgbGVmdDogLTJweDsKICAgICAgdG9wOiAtMnB4OwogICAgICBib3JkZXItd2lkdGg6IDJweDsgfQogICAgLmJ0bi0tc2hhcmUuYnRuLS1yb3VuZCB7CiAgICAgIHdpZHRoOiAzMHB4OwogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICBib3JkZXItd2lkdGg6IDJweDsgfQogICAgICAuYnRuLS1zaGFyZS5idG4tLXJvdW5kIC53b294LWljb24gewogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICB3aWR0aDogMTBweDsgfQogICAgLmJ0bi0tc2hhcmUtaW4tZG93biAuc29jaWFscyAud29veC1pY29uIHsKICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB3aWR0aDogMjBweDsgfQogICAgLmJ0bi0tc2hhcmUtaW4tZG93bi5vcGVuIC5zaGFyZWQtd3JhcCB7CiAgICAgIG1heC13aWR0aDogMzBweDsKICAgICAgd2lkdGg6IDMwcHg7IH0KICAgIC5idG4tLXNoYXJlLWluLWRvd24gLnNvY2lhbHMgewogICAgICBwYWRkaW5nOiAyNXB4IDNweCAxMHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NPQ0lBTFMgLS0tLS0tLS0tLS0tLS0qLwogIC5zb2NpYWxzIHsKICAgIG1hcmdpbjogMTVweCAwOwogICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAgICAuc29jaWFscyAuc29jaWFsLWl0ZW0gewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsKICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQogICAgICAuc29jaWFscyAuc29jaWFsLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9CiAgICAgIC5zb2NpYWxzIC5zb2NpYWwtaXRlbTpob3ZlciAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZiYTAwOwogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuc29jaWFscyAud29veC1pY29uIHsKICAgICAgaGVpZ2h0OiAyMnB4OwogICAgICB3aWR0aDogMjJweDsKICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICBmaWxsOiAjM2Q0MzRmOwogICAgICBjb2xvcjogIzNkNDM0ZjsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMjsgfQogIAogIC5zb2NpYWxzLS1zbWFsbCAud29veC1pY29uIHsKICAgIGhlaWdodDogMjBweDsKICAgIHdpZHRoOiAyMHB4OyB9CiAgCiAgLnNvY2lhbHMtLXNtYWxsIC5zb2NpYWwtaXRlbSB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0KICAKICAuc29jaWFscy0td2hpdGUgLndvb3gtaWNvbiB7CiAgICBmaWxsOiAjZmZmOwogICAgY29sb3I6ICNmZmY7IH0KICAKICAuc29jaWFscy0td2hpdGUgLnNvY2lhbC1pdGVtOmhvdmVyIC53b294LWljb24gewogICAgZmlsbDogI2ZmYmEwMDsKICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnNvY2lhbHMtLXdpdGgtdGl0bGUgLnNvY2lhbC1pdGVtOmZpcnN0LWNoaWxkIHsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogI2ZmZjsKICAgIG1hcmdpbi1yaWdodDogMzBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuc29jaWFscyBsaSB7CiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgICAuc29jaWFscy0td2l0aC10aXRsZSBsaTpmaXJzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNBTEVSVCBNRVNTQUdFUyAtLS0tLS0tLS0tLS0tLSovCiAgLmFsZXJ0IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBtYXJnaW46IDMwcHggMDsKICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIzMmE7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmFsZXJ0IHN0cm9uZyB7CiAgICAgIG1hcmdpbi1yaWdodDogM3B4OyB9CiAgICAuYWxlcnQgLmFsZXJ0LWljb24gewogICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIG1heC13aWR0aDogNDBweDsKICAgICAgbWF4LWhlaWdodDogNDBweDsKICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgIGJvcmRlcjogM3B4IHNvbGlkOwogICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgICAuYWxlcnQgLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OyB9CiAgICAuYWxlcnQgLmljb24tY2xvc2UgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfQogICAgICAuYWxlcnQgLmljb24tY2xvc2UgLndvb3gtaWNvbiB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGZpbGw6ICM2NjZkN2E7IH0KICAKICAuYWxlcnQtaGVhZGluZyB7CiAgICBjb2xvcjogaW5oZXJpdDsgfQogIAogIC5hbGVydC1saW5rIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9CiAgCiAgLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0b3A6IC0wLjc1cmVtOwogICAgcmlnaHQ6IC0xLjI1cmVtOwogICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtOwogICAgY29sb3I6IGluaGVyaXQ7IH0KICAKICAuYWxlcnQtbm90aWNlIHN0cm9uZyB7CiAgICBjb2xvcjogI2MzYzlkNDsgfQogIAogIC5hbGVydC1ub3RpY2UgLmFsZXJ0LWljb24gewogICAgYm9yZGVyLWNvbG9yOiAjM2M0MjRlOyB9CiAgICAuYWxlcnQtbm90aWNlIC5hbGVydC1pY29uIC53b294LWljb24gewogICAgICBmaWxsOiAjNjY2ZDdhOyB9CiAgCiAgLmFsZXJ0LXN1Y2Nlc3Mgc3Ryb25nIHsKICAgIGNvbG9yOiAjOGVjNTQ1OyB9CiAgCiAgLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWljb24gewogICAgYm9yZGVyLWNvbG9yOiAjOGVjNTQ1OyB9CiAgICAuYWxlcnQtc3VjY2VzcyAuYWxlcnQtaWNvbiAud29veC1pY29uIHsKICAgICAgZmlsbDogIzhlYzU0NTsgfQogIAogIC5hbGVydC1pbmZvIHN0cm9uZyB7CiAgICBjb2xvcjogIzM0NTJmZjsgfQogIAogIC5hbGVydC1pbmZvIC5hbGVydC1pY29uIHsKICAgIGJvcmRlci1jb2xvcjogIzM0NTJmZjsgfQogICAgLmFsZXJ0LWluZm8gLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICMzNDUyZmY7IH0KICAKICAuYWxlcnQtd2FybmluZyBzdHJvbmcgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYWxlcnQtd2FybmluZyAuYWxlcnQtaWNvbiB7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgIC5hbGVydC13YXJuaW5nIC5hbGVydC1pY29uIC53b294LWljb24gewogICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgCiAgLmFsZXJ0LWRhbmdlciBzdHJvbmcgewogICAgY29sb3I6ICNmZjMxMzM7IH0KICAKICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1pY29uIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmMzEzMzsgfQogICAgLmFsZXJ0LWRhbmdlciAuYWxlcnQtaWNvbiAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmMzEzMzsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQUxFUlQgQm9yZGVyZWQgLS0tLS0tLS0tLS0tLS0qLwogIC5hbGVydC0tYm9yZGVyZWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDNweCBzb2xpZDsKICAgIHBhZGRpbmc6IDdweCAyMHB4OyB9CiAgICAuYWxlcnQtLWJvcmRlcmVkIC5hbGVydC1pY29uIHsKICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjMyYTsgfQogICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC1ub3RpY2UgewogICAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7IH0KICAgICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC1ub3RpY2UgLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogIzNkNDM0ZjsgfQogICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC1kYW5nZXIgewogICAgICBib3JkZXItY29sb3I6ICNmZjMxMzM7IH0KICAgICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC1kYW5nZXIgLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmMzEzMzsgfQogICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC13YXJuaW5nIHsKICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgIC5hbGVydC0tYm9yZGVyZWQuYWxlcnQtd2FybmluZyAuYWxlcnQtaWNvbiAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgICAuYWxlcnQtLWJvcmRlcmVkLmFsZXJ0LXN1Y2Nlc3MgewogICAgICBib3JkZXItY29sb3I6ICM4ZWM1NDU7IH0KICAgICAgLmFsZXJ0LS1ib3JkZXJlZC5hbGVydC1zdWNjZXNzIC5hbGVydC1pY29uIC53b294LWljb24gewogICAgICAgIGZpbGw6ICM4ZWM1NDU7IH0KICAgIC5hbGVydC0tYm9yZGVyZWQuYWxlcnQtaW5mbyB7CiAgICAgIGJvcmRlci1jb2xvcjogIzM0NTJmZjsgfQogICAgICAuYWxlcnQtLWJvcmRlcmVkLmFsZXJ0LWluZm8gLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogIzM0NTJmZjsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQUxFUlQgV2l0aCBCRyAtLS0tLS0tLS0tLS0tLSovCiAgLmFsZXJ0LS13aXRoLWJnIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7IH0KICAgIC5hbGVydC0td2l0aC1iZyAuYWxlcnQtaWNvbiB7CiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIzMmE7IH0KICAgICAgLmFsZXJ0LS13aXRoLWJnIC5hbGVydC1pY29uIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmY7IH0KICAgIC5hbGVydC0td2l0aC1iZyAuaWNvbi1jbG9zZSAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmFsZXJ0LS13aXRoLWJnLmFsZXJ0LW5vdGljZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIzMmE7IH0KICAgICAgLmFsZXJ0LS13aXRoLWJnLmFsZXJ0LW5vdGljZSAuYWxlcnQtaWNvbiB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjNDI0ZTsgfQogICAgICAuYWxlcnQtLXdpdGgtYmcuYWxlcnQtbm90aWNlIC5pY29uLWNsb3NlIC53b294LWljb24gewogICAgICAgIGZpbGw6ICMzYzQyNGU7IH0KICAgIC5hbGVydC0td2l0aC1iZy5hbGVydC1kYW5nZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzMTMzOwogICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAuYWxlcnQtLXdpdGgtYmcuYWxlcnQtZGFuZ2VyIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgIC5hbGVydC0td2l0aC1iZy5hbGVydC13YXJuaW5nIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgY29sb3I6ICMyMDIzMmE7IH0KICAgICAgLmFsZXJ0LS13aXRoLWJnLmFsZXJ0LXdhcm5pbmcgc3Ryb25nIHsKICAgICAgICBjb2xvcjogIzIwMjMyYTsgfQogICAgLmFsZXJ0LS13aXRoLWJnLmFsZXJ0LXN1Y2Nlc3MgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGVjNTQ1OwogICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAuYWxlcnQtLXdpdGgtYmcuYWxlcnQtc3VjY2VzcyBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAuYWxlcnQtLXdpdGgtYmcuYWxlcnQtaW5mbyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDUyZmY7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgIC5hbGVydC0td2l0aC1iZy5hbGVydC1pbmZvIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FMRVJUIFNtYWxsIC0tLS0tLS0tLS0tLS0tKi8KICAuYWxlcnQtLXNtYWxsIHsKICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7CiAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC5hbGVydC0tc21hbGwgLmFsZXJ0LWljb24gewogICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9CiAgICAgIC5hbGVydC0tc21hbGwgLmFsZXJ0LWljb24gLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmZjsgfQogICAgLmFsZXJ0LS1zbWFsbCAuaWNvbi1jbG9zZSAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDhweDsKICAgICAgaGVpZ2h0OiA4cHg7IH0KICAgIC5hbGVydC0tc21hbGwuYWxlcnQtbm90aWNlIC5hbGVydC1pY29uIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogICAgLmFsZXJ0LS1zbWFsbC5hbGVydC1kYW5nZXIgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzMTMzOyB9CiAgICAuYWxlcnQtLXNtYWxsLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAuYWxlcnQtLXNtYWxsLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAuYWxlcnQtLXNtYWxsLmFsZXJ0LWluZm8gLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1MmZmOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNBTEVSVCBMYXJnZSAtLS0tLS0tLS0tLS0tLSovCiAgLmFsZXJ0LS1sYXJnZSB7CiAgICBwYWRkaW5nOiA2MHB4OyB9CiAgICAuYWxlcnQtLWxhcmdlIHN0cm9uZyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXNpemU6IDIycHg7IH0KICAgIC5hbGVydC0tbGFyZ2UgLmFsZXJ0LWljb24gewogICAgICBtaW4td2lkdGg6IDgwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7CiAgICAgIG1heC13aWR0aDogODBweDsKICAgICAgbWF4LWhlaWdodDogODBweDsKICAgICAgbGluZS1oZWlnaHQ6IDkwcHg7CiAgICAgIG1hcmdpbi1yaWdodDogNDBweDsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiA2cHggMCAxM3B4IDAgcmdiYSg2MSwgNjcsIDc5LCAwLjA4KTsKICAgICAgYm94LXNoYWRvdzogNnB4IDAgMTNweCAwIHJnYmEoNjEsIDY3LCA3OSwgMC4wOCk7CiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgICAgLmFsZXJ0LS1sYXJnZSAuYWxlcnQtaWNvbiAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsgfQogICAgLmFsZXJ0LS1sYXJnZSAuYWxlcnQtY29udGVudCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLmFsZXJ0LS1sYXJnZSAuaWNvbi1jbG9zZSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA0MHB4OwogICAgICByaWdodDogNDBweDsgfQogICAgLmFsZXJ0LS1sYXJnZS5hbGVydC1ub3RpY2Ugc3Ryb25nIHsKICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgIC5hbGVydC0tbGFyZ2UuYWxlcnQtbm90aWNlIC5hbGVydC1pY29uIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogICAgLmFsZXJ0LS1sYXJnZS5hbGVydC1kYW5nZXIgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzMTMzOyB9CiAgICAuYWxlcnQtLWxhcmdlLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAuYWxlcnQtLWxhcmdlLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGVjNTQ1OyB9CiAgICAuYWxlcnQtLWxhcmdlLmFsZXJ0LWluZm8gLmFsZXJ0LWljb24gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1MmZmOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAuYWxlcnQtLWxhcmdlIC5pY29uLWNsb3NlIHsKICAgICAgdG9wOiAyMHB4OwogICAgICByaWdodDogMjBweDsgfQogICAgLmFsZXJ0LS1sYXJnZSB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0KICAgIC5hbGVydC0tbGFyZ2UgLmFsZXJ0LWljb24gewogICAgICBtaW4td2lkdGg6IDYwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgIG1heC13aWR0aDogNjBweDsKICAgICAgbWF4LWhlaWdodDogNjBweDsKICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7CiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgLmFsZXJ0LS1sYXJnZSAuYWxlcnQtaWNvbiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIGhlaWdodDogMjBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuYWxlcnQgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAuYWxlcnQgLmljb24tY2xvc2UgewogICAgICBtYXJnaW46IGF1dG87CiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0KICAgIC5hbGVydCAuYWxlcnQtaWNvbiB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmFsZXJ0LS1sYXJnZSAuYWxlcnQtaWNvbiB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmFsZXJ0LS1zbWFsbCB7CiAgICAgIHBhZGRpbmc6IDEwcHg7IH0KICAgIC5hbGVydCBzdHJvbmcgewogICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDNweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNQSUUtQ0hBUlRTIC0tLS0tLS0tLS0tLS0tKi8KICAuY3J1bWluYS1waWUtY2hhcnQgewogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgCiAgLnBpZS1jaGFydCB7CiAgICB3aWR0aDogMjAwcHg7CiAgICBoZWlnaHQ6IDIwMHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIGJvcmRlcjogMnB4IHNvbGlkICMyYTJlMzc7CiAgICBwYWRkaW5nOiA1cHg7CiAgICBtYXJnaW46IDAgYXV0byAzMHB4OwogICAgY29sb3I6ICNmZmY7IH0KICAgIC5waWUtY2hhcnQ6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNjRweDsKICAgICAgaGVpZ2h0OiAxNjRweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgYm9yZGVyOiAycHggc29saWQgIzJhMmUzNzsKICAgICAgei1pbmRleDogLTE7IH0KICAgIC5waWUtY2hhcnQgLmNvbnRlbnQgewogICAgICBmb250LXNpemU6IDQxcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfQogICAgICAucGllLWNoYXJ0IC5jb250ZW50IHNwYW4gewogICAgICAgIGNvbG9yOiBpbmhlcml0OyB9CiAgICAucGllLWNoYXJ0IGltZyB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfQogIAogIC5waWUtY2hhcnQgY2FudmFzIHsKICAgIG1heC13aWR0aDogMTAwJTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjUElFLUNIQVJUUyBTT0xJRCAtLS0tLS0tLS0tLS0tLSovCiAgLnBpZS1jaGFydC0tc29saWQgLnBpZS1jaGFydCB7CiAgICBib3JkZXI6IG5vbmU7CiAgICB3aWR0aDogMTc2cHg7CiAgICBoZWlnaHQ6IDE3NnB4OwogICAgcGFkZGluZzogMDsgfQogICAgLnBpZS1jaGFydC0tc29saWQgLnBpZS1jaGFydDphZnRlciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJvcmRlcjogOHB4IHNvbGlkICMyYTJlMzc7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsgfQogIAogIC5waWUtY2hhcnQtLXNvbGlkIC5jb250ZW50IHsKICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAucGllLWNoYXJ0LS1zb2xpZCAuY29udGVudCBzcGFuIHsKICAgICAgY29sb3I6ICMzZDQzNGY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1BJRS1DSEFSVFMgTEFSR0UgLS0tLS0tLS0tLS0tLS0qLwogIC5waWUtY2hhcnQtLWxhcmdlIC5waWUtY2hhcnQgewogICAgYm9yZGVyOiBub25lOwogICAgcGFkZGluZzogMDsgfQogICAgLnBpZS1jaGFydC0tbGFyZ2UgLnBpZS1jaGFydDphZnRlciB7CiAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NLSUxMUyAtLS0tLS0tLS0tLS0tLSovCiAgLmNydW1pbmEtc2tpbGxzLWl0ZW0gewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfQogIAogIC5za2lsbHMtaXRlbS1tZXRlci1hY3RpdmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaGVpZ2h0OiAxMHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7CiAgICBjb2xvcjogI2ZmZjsgfQogICAgLnNraWxscy1pdGVtLW1ldGVyLWFjdGl2ZTphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDI2cHg7CiAgICAgIGhlaWdodDogMjZweDsKICAgICAgYm9yZGVyOiA2cHggc29saWQgI2ZmZjsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsKICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICByaWdodDogLTIzcHg7CiAgICAgIHRvcDogNTAlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOyB9CiAgICAuc2tpbGxzLWl0ZW0tbWV0ZXItYWN0aXZlLnNraWxscy1hbmltYXRlIHsKICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNraWxscy1hbmltYXRlZCAxLjJzIGVhc2Utb3V0OwogICAgICBhbmltYXRpb246IHNraWxscy1hbmltYXRlZCAxLjJzIGVhc2Utb3V0OyB9CiAgICAuc2tpbGxzLWl0ZW0tbWV0ZXItYWN0aXZlLnNraWxscy1hbmltYXRlLW9wYWNpdHkgewogICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2tpbGxzLWFuaW1hdGVkLW9wYWNpdHkgLjJzIGVhc2Utb3V0OwogICAgICBhbmltYXRpb246IHNraWxscy1hbmltYXRlZC1vcGFjaXR5IC4ycyBlYXNlLW91dDsgfQogIAogIC5za2lsbHMtaXRlbS1tZXRlciB7CiAgICBwYWRkaW5nOiAwIDVweDsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTJlMzc7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBoZWlnaHQ6IDEwcHg7IH0KICAKICAuc2tpbGxzLWl0ZW0tdGl0bGUgewogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmOyB9CiAgCiAgLnNraWxscy1pdGVtLWNvdW50IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAtMzBweDsKICAgIHRvcDogLTQwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZm9udC1zaXplOiAxOHB4OyB9CiAgCiAgLnNraWxscy1pdGVtLWluZm8gewogICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBza2lsbHMtYW5pbWF0ZWQgewogICAgMCUgewogICAgICB3aWR0aDogMDsgfSB9CiAgCiAgQGtleWZyYW1lcyBza2lsbHMtYW5pbWF0ZWQgewogICAgMCUgewogICAgICB3aWR0aDogMDsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIHNraWxscy1hbmltYXRlZC1vcGFjaXR5IHsKICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAxOyB9IH0KICAKICBAa2V5ZnJhbWVzIHNraWxscy1hbmltYXRlZC1vcGFjaXR5IHsKICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAxOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NLSUxMUyBCb3JkZXJlZCAtLS0tLS0tLS0tLS0tLSovCiAgLnNraWxscy1pdGVtLS1ib3JkZXJlZCAuc2tpbGxzLWl0ZW0tbWV0ZXIgewogICAgaGVpZ2h0OiAyMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXI6IDRweCBzb2xpZCAjM2Q0MzRmOwogICAgbWFyZ2luLWxlZnQ6IDA7IH0KICAKICAuc2tpbGxzLWl0ZW0tLWJvcmRlcmVkIC5za2lsbHMtaXRlbS1tZXRlci1hY3RpdmUgewogICAgaGVpZ2h0OiA2cHg7CiAgICBib3R0b206IDNweDsKICAgIGxlZnQ6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfQogICAgLnNraWxscy1pdGVtLS1ib3JkZXJlZCAuc2tpbGxzLWl0ZW0tbWV0ZXItYWN0aXZlOmFmdGVyIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogIAogIC5za2lsbHMtaXRlbS0tYm9yZGVyZWQgLnNraWxscy1pdGVtLWNvdW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHJpZ2h0OiBhdXRvOwogICAgdG9wOiBhdXRvOwogICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NLSUxMUyBCaWcgLS0tLS0tLS0tLS0tLS0qLwogIC5za2lsbHMtaXRlbS0tYmlnIC5za2lsbHMtaXRlbS1tZXRlciB7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyZTM3OwogICAgYm9yZGVyLXJhZGl1czogNTBweDsgfQogIAogIC5za2lsbHMtaXRlbS0tYmlnIC5za2lsbHMtaXRlbS1tZXRlci1hY3RpdmUgewogICAgaGVpZ2h0OiAzMHB4OwogICAgYm9yZGVyLXJhZGl1czogNTBweDsKICAgIGJvdHRvbTogNXB4OwogICAgbGVmdDogNXB4OyB9CiAgICAuc2tpbGxzLWl0ZW0tLWJpZyAuc2tpbGxzLWl0ZW0tbWV0ZXItYWN0aXZlOmFmdGVyIHsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgcmlnaHQ6IDhweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyZTM3OyB9CiAgCiAgLnNraWxscy1pdGVtLS1iaWcgLnNraWxscy1pdGVtLWNvdW50IHsKICAgIHJpZ2h0OiBhdXRvOwogICAgbGVmdDogMTVweDsKICAgIHRvcDogNHB4OwogICAgZm9udC1zaXplOiAxNHB4OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNTS0lMTFMgTGFyZ2UgLS0tLS0tLS0tLS0tLS0qLwogIC5za2lsbHMtaXRlbS0tbGFyZ2UgLnNraWxscy1pdGVtLW1ldGVyIHsKICAgIGhlaWdodDogNDBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9CiAgCiAgLnNraWxscy1pdGVtLS1sYXJnZSAuc2tpbGxzLWl0ZW0tbWV0ZXItYWN0aXZlIHsKICAgIGhlaWdodDogNDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOyB9CiAgICAuc2tpbGxzLWl0ZW0tLWxhcmdlIC5za2lsbHMtaXRlbS1tZXRlci1hY3RpdmU6YWZ0ZXIgewogICAgICB3aWR0aDogNTBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICByaWdodDogOHB4OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0KICAKICAuc2tpbGxzLWl0ZW0tLWxhcmdlIC5za2lsbHMtaXRlbS1jb3VudCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDlweDsKICAgIHJpZ2h0OiAxOHB4OwogICAgei1pbmRleDogNTsKICAgIGZvbnQtc2l6ZTogMTRweDsgfQogIAogIC5za2lsbHMtaXRlbS0tbGFyZ2UgLnNraWxscy1pdGVtLXRpdGxlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogOXB4OwogICAgbGVmdDogMThweDsKICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLnNraWxscy1pdGVtLS1sYXJnZSAuc2tpbGxzLWl0ZW0tdGl0bGUuYy1ibGFjay1saWdodGVyIHsKICAgICAgY29sb3I6ICMxNjE4MWQ7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLnNraWxscy1pdGVtLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgIC5za2lsbHMtaXRlbS1jb3VudCB7CiAgICAgIHRvcDogYXV0bzsKICAgICAgYm90dG9tOiAtNDBweDsgfQogICAgLnNraWxscy1pdGVtLS1ib3JkZXJlZCAuc2tpbGxzLWl0ZW0tY291bnQgewogICAgICBib3R0b206IGF1dG87IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQUNDT1JESU9OUyAtLS0tLS0tLS0tLS0tLSovCiAgLmNydW1pbmEtYWNjb3JkaW9uIHsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOyB9CiAgCiAgLmFjY29yZGlvbi1wYW5lbCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzNkNDM0ZjsgfQogICAgLmFjY29yZGlvbi1wYW5lbC5hY3RpdmUgewogICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2ZmYmEwMDsgfQogICAgICAuYWNjb3JkaW9uLXBhbmVsLmFjdGl2ZSAuYWNjb3JkaW9uLWhlYWRpbmcgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9CiAgCiAgLmFjY29yZGlvbi1oZWFkaW5nIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogMzVweCAwOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICAuYWNjb3JkaW9uLWhlYWRpbmcgLnRpdGxlIHsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyB7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICBvcGFjaXR5OiAxOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgICAgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyAud29veC1pY29uIHsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgZmlsbDogIzNkNDM0ZjsgfQogICAgICAuYWNjb3JkaW9uLWhlYWRpbmcgLmljb25zIC5hY3RpdmUgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgIHRvcDogNXB4OyB9CiAgCiAgLmNydW1pbmEtYWNjb3JkaW9uIC5wYW5lbC1jb2xsYXBzZSB7CiAgICBwYWRkaW5nOiAwIDAgMzBweCAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcgewogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5jcnVtaW5hLWFjY29yZGlvbiAucGFuZWwtaGVhZGluZy5hY3RpdmUgLmFjY29yZGlvbi1oZWFkaW5nIC50aXRsZSB7CiAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyBpLCAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyAud29veC1pY29uIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOwogICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgICAgZmlsbDogI2ZmYmEwMDsgfQogICAgICAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWhlYWRpbmcuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyBpLmFjdGl2ZSwgLmNydW1pbmEtYWNjb3JkaW9uIC5wYW5lbC1oZWFkaW5nLmFjdGl2ZSAuYWNjb3JkaW9uLWhlYWRpbmcgLndvb3gtaWNvbi5hY3RpdmUgewogICAgICAgIG9wYWNpdHk6IDE7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FDQ09SRElPTiBTdHlsZSAxIC0tLS0tLS0tLS0tLS0tKi8KICAuYWNjb3JkaW9uLS1zdHlsZTEgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLmFjY29yZGlvbi0tc3R5bGUxIC5hY2NvcmRpb24taGVhZGluZyB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfQogICAgLmFjY29yZGlvbi0tc3R5bGUxIC5wYW5lbC1jb2xsYXBzZSB7CiAgICAgIHBhZGRpbmc6IDAgMCAzMHB4IDQ1cHg7IH0KICAgIC5hY2NvcmRpb24tLXN0eWxlMSAuYWNjb3JkaW9uLXBhbmVsIHsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZDQzNGY7CiAgICAgIGJvcmRlci10b3A6IG5vbmU7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FDQ09SRElPTiBTdHlsZSAyIC0tLS0tLS0tLS0tLS0tKi8KICAuYWNjb3JkaW9uLS1zdHlsZTIgewogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAgIC5hY2NvcmRpb24tLXN0eWxlMiAuYWNjb3JkaW9uLXBhbmVsIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsKICAgICAgYm9yZGVyOiBub25lOyB9CiAgICAgIC5hY2NvcmRpb24tLXN0eWxlMiAuYWNjb3JkaW9uLXBhbmVsLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogICAgLmFjY29yZGlvbi0tc3R5bGUyIC5hY2NvcmRpb24taGVhZGluZyB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgcGFkZGluZzogMjVweCA0MHB4OyB9CiAgICAuYWNjb3JkaW9uLS1zdHlsZTIgLnBhbmVsLWNvbGxhcHNlIHsKICAgICAgcGFkZGluZzogMCA0MHB4IDMwcHggODVweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQUNDT1JESU9OIFN0eWxlIDMgLS0tLS0tLS0tLS0tLS0qLwogIC5hY2NvcmRpb24tLXN0eWxlMyAuYWNjb3JkaW9uLXBhbmVsIHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsKICAgIGJvcmRlci10b3A6IG5vbmU7IH0KICAgIC5hY2NvcmRpb24tLXN0eWxlMyAuYWNjb3JkaW9uLXBhbmVsLmFjdGl2ZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7IH0KICAgICAgLmFjY29yZGlvbi0tc3R5bGUzIC5hY2NvcmRpb24tcGFuZWwuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyB7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0KICAKICAuYWNjb3JkaW9uLS1zdHlsZTMgLnBhbmVsLWNvbGxhcHNlIHsKICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4IDkwcHg7IH0KICAKICAuYWNjb3JkaW9uLS1zdHlsZTMgLmFjY29yZGlvbi1oZWFkaW5nIHsKICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICBwYWRkaW5nOiAyMHB4OyB9CiAgICAuYWNjb3JkaW9uLS1zdHlsZTMgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyB7CiAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgd2lkdGg6IDQwcHg7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgcGFkZGluZy1yaWdodDogMDsKICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OyB9CiAgICAgIC5hY2NvcmRpb24tLXN0eWxlMyAuYWNjb3JkaW9uLWhlYWRpbmcgLmljb25zIC53b294LWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgbWFyZ2luLXRvcDogLTdweDsKICAgICAgICBtYXJnaW4tbGVmdDogLThweDsgfQogIAogIC5hY2NvcmRpb24tLXN0eWxlMyAucGFuZWwtaGVhZGluZy5hY3RpdmUgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyB7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYWNjb3JkaW9uLS1zdHlsZTMgLnBhbmVsLWhlYWRpbmcuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyAud29veC1pY29uIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsKICAgIG9wYWNpdHk6IDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FDQ09SRElPTiBTdHlsZSA0IC0tLS0tLS0tLS0tLS0tKi8KICAuYWNjb3JkaW9uLS1zdHlsZTQgLmFjY29yZGlvbi1wYW5lbCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgYm9yZGVyLXRvcDogbm9uZTsgfQogICAgLmFjY29yZGlvbi0tc3R5bGU0IC5hY2NvcmRpb24tcGFuZWwuYWN0aXZlIHsKICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfQogIAogIC5hY2NvcmRpb24tLXN0eWxlNCAucGFuZWwtY29sbGFwc2UgewogICAgcGFkZGluZzogNDBweDsgfQogIAogIC5hY2NvcmRpb24tLXN0eWxlNCAuYWNjb3JkaW9uLWhlYWRpbmcgewogICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICBjb2xvcjogI2MzYzlkNDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogICAgLmFjY29yZGlvbi0tc3R5bGU0IC5hY2NvcmRpb24taGVhZGluZyAuaWNvbnMgewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsgfQogICAgICAuYWNjb3JkaW9uLS1zdHlsZTQgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICBtYXJnaW4tdG9wOiAtNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9CiAgCiAgLmFjY29yZGlvbi0tc3R5bGU0IC5wYW5lbC1oZWFkaW5nLmFjdGl2ZSAuYWNjb3JkaW9uLWhlYWRpbmcgLmljb25zIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYWNjb3JkaW9uLS1zdHlsZTQgLnBhbmVsLWhlYWRpbmcuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyAud29veC1pY29uIHsKICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FDQ09SRElPTiBTdHlsZSA1IC0tLS0tLS0tLS0tLS0tKi8KICAuYWNjb3JkaW9uLS1zdHlsZTUgLmFjY29yZGlvbi1wYW5lbCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgYm9yZGVyLXRvcDogbm9uZTsgfQogICAgLmFjY29yZGlvbi0tc3R5bGU1IC5hY2NvcmRpb24tcGFuZWwuYWN0aXZlIC5hY2NvcmRpb24taGVhZGluZyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9CiAgCiAgLmFjY29yZGlvbi0tc3R5bGU1IC5wYW5lbC1jb2xsYXBzZSB7CiAgICBwYWRkaW5nOiA0MHB4OyB9CiAgCiAgLmFjY29yZGlvbi0tc3R5bGU1IC5hY2NvcmRpb24taGVhZGluZyB7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgcGFkZGluZzogMjBweDsKICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogICAgLmFjY29yZGlvbi0tc3R5bGU1IC5hY2NvcmRpb24taGVhZGluZyAuaWNvbnMgewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsgfQogICAgICAuYWNjb3JkaW9uLS1zdHlsZTUgLmFjY29yZGlvbi1oZWFkaW5nIC5pY29ucyAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICBtYXJnaW4tdG9wOiAtNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9CiAgCiAgLmFjY29yZGlvbi0tc3R5bGU1IC5wYW5lbC1oZWFkaW5nLmFjdGl2ZSAuYWNjb3JkaW9uLWhlYWRpbmcgLnRpdGxlIHsKICAgIGNvbG9yOiAjZmZmOyB9CiAgCiAgLmFjY29yZGlvbi0tc3R5bGU1IC5wYW5lbC1oZWFkaW5nLmFjdGl2ZSAuYWNjb3JkaW9uLWhlYWRpbmcgLndvb3gtaWNvbiB7CiAgICBmaWxsOiAjZmZmOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNBQ0NPUkRJT04gRkFRcyAtLS0tLS0tLS0tLS0tLSovCiAgLmFjY29yZGlvbi0tZmFxcyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYTIwOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwYWRkaW5nOiAxMDBweCAxMjBweDsgfQogICAgLmFjY29yZGlvbi0tZmFxcyAuZmlyc3QtbGV0dGVyIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OwogICAgICBjb2xvcjogIzNkNDM0ZjsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5hY2NvcmRpb24tLWZhcXMgLnBhbmVsLWluZm8gewogICAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAgIC5hY2NvcmRpb24tLWZhcXMgLnBhbmVsLWluZm86YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAuYWNjb3JkaW9uLS1mYXFzIC5wYW5lbC1jb2xsYXBzZSB7CiAgICAgIHBhZGRpbmc6IDAgMCA0MHB4IDYwcHg7IH0KICAgIC5hY2NvcmRpb24tLWZhcXMgLmFjY29yZGlvbi1oZWFkaW5nIHsKICAgICAgZm9udC1zaXplOiAzMHB4OwogICAgICBwYWRkaW5nOiAzNXB4IDA7CiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgICBjb2xvcjogI2MzYzlkNDsgfQogICAgLmFjY29yZGlvbi0tZmFxcyAuYWNjb3JkaW9uLXBhbmVsIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjEyMzJiOwogICAgICBib3JkZXItdG9wOiBub25lOyB9CiAgICAgIC5hY2NvcmRpb24tLWZhcXMgLmFjY29yZGlvbi1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9CiAgICAgIC5hY2NvcmRpb24tLWZhcXMgLmFjY29yZGlvbi1wYW5lbC5hY3RpdmUgLmZpcnN0LWxldHRlciB7CiAgICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAKICAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgICAgICAgICAgICAgIFRyYW5zaXRpb24KICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAuZmFkZSB7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjsgfQogIAogIC5mYWRlLmluIHsKICAgIG9wYWNpdHk6IDE7IH0KICAKICAuY29sbGFwc2UgewogICAgZGlzcGxheTogbm9uZTsgfQogIAogIC5jb2xsYXBzZS5pbiB7CiAgICBkaXNwbGF5OiBibG9jazsgfQogIAogIHRyLmNvbGxhcHNlLmluIHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfQogIAogIHRib2R5LmNvbGxhcHNlLmluIHsKICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfQogIAogIC5jb2xsYXBzaW5nIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7CiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC5hY2NvcmRpb24tLWZhcXMgewogICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0KICAgIC5hY2NvcmRpb24taGVhZGluZyAudGl0bGUgewogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZm9udC1zaXplOiAxM3B4OyB9CiAgICAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWluZm8gewogICAgICBmb250LXNpemU6IDEzcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLmFjY29yZGlvbi0tc3R5bGUzIC5hY2NvcmRpb24taGVhZGluZyAuaWNvbnMgewogICAgICBtaW4td2lkdGg6IDMwcHg7CiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7CiAgICAgIHdpZHRoOiAzMHB4OwogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDU0MHB4KSB7CiAgICAuY3J1bWluYS1hY2NvcmRpb24gLnBhbmVsLWNvbGxhcHNlLAogICAgLmFjY29yZGlvbi0tc3R5bGUzIC5wYW5lbC1jb2xsYXBzZSB7CiAgICAgIHBhZGRpbmc6IDAgMjBweCA0MHB4OyB9CiAgICAuYWNjb3JkaW9uLWhlYWRpbmcsCiAgICAuYWNjb3JkaW9uLS1zdHlsZTEgLmFjY29yZGlvbi1oZWFkaW5nLAogICAgLmFjY29yZGlvbi0tc3R5bGUyIC5hY2NvcmRpb24taGVhZGluZywKICAgIC5hY2NvcmRpb24tLXN0eWxlMyAuYWNjb3JkaW9uLWhlYWRpbmcsCiAgICAuYWNjb3JkaW9uLS1zdHlsZTUgLmFjY29yZGlvbi1oZWFkaW5nIHsKICAgICAgcGFkZGluZzogMjBweDsgfQogICAgLmFjY29yZGlvbi0tZmFxcyB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0KICAgIC5hY2NvcmRpb24tLWZhcXMgLmFjY29yZGlvbi1oZWFkaW5nIHsKICAgICAgcGFkZGluZzogMjBweCAwOyB9CiAgICAuYWNjb3JkaW9uLS1zdHlsZTUgLnBhbmVsLWNvbGxhcHNlLAogICAgLmFjY29yZGlvbi0tc3R5bGU0IC5wYW5lbC1jb2xsYXBzZSB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVEFCTEVTIC0tLS0tLS0tLS0tLS0tKi8KICB0YWJsZSB7CiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgYm9yZGVyLXNwYWNpbmc6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiA4MHB4IDAgMTEwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgIGJveC1zaGFkb3c6IDgwcHggMCAxMTBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogbm9uZTsKICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAKICB0YWJsZSAqIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgCiAgdGFibGUgPiB0Ym9keSA+IHRyOmhvdmVyIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMTVweCAwIDQwcHggNXB4IHJnYmEoMTksIDIwLCAyNCwgMC4yKTsKICAgIGJveC1zaGFkb3c6IDE1cHggMCA0MHB4IDVweCByZ2JhKDE5LCAyMCwgMjQsIDAuMik7IH0KICAgIHRhYmxlID4gdGJvZHkgPiB0cjpob3ZlciA+IHRkIHsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE3MWM7CiAgICAgIGJvcmRlci1jb2xvcjogIzE2MTcxYzsgfQogIAogIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLAogIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHsKICAgIHBhZGRpbmc6IDI4cHg7CiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIxMjMyYjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjE0MTg7IH0KICAKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aCwKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7CiAgICBwYWRkaW5nOiA2MHB4IDI4cHg7IH0KICAKICB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkIHsKICAgIGJvcmRlci1yaWdodDogbm9uZTsgfQogIAogIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYxMTE0OyB9CiAgCiAgdGFibGUgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQgewogICAgYm9yZGVyLXRvcDogbm9uZTsgfQogIAogIHRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwKICB0YWJsZSA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLAogIHRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLAogIHRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwKICB0YWJsZSA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLAogIHRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHsKICAgIGJvcmRlci10b3A6IDA7IH0KICAKICB0YWJsZSA+IHRib2R5ICsgdGJvZHkgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMTIzMmI7IH0KICAKICB0YWJsZSB0YWJsZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9CiAgCiAgdGFibGUgY29sW2NsYXNzKj0iY29sLSJdIHsKICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47CiAgICBmbG9hdDogbm9uZTsgfQogIAogIHRhYmxlIHRkW2NsYXNzKj0iY29sLSJdLAogIHRhYmxlIHRoW2NsYXNzKj0iY29sLSJdIHsKICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogICAgZmxvYXQ6IG5vbmU7IH0KICAKICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5hY3RpdmUsCiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmFjdGl2ZSwKICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5hY3RpdmUsCiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLmFjdGl2ZSwKICB0YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGQsCiAgdGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRkLAogIHRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0ZCwKICB0YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGgsCiAgdGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRoLAogIHRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0aCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9CiAgCiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQuc3VjY2VzcywKICB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsCiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGguc3VjY2VzcywKICB0YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzLAogIHRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLnN1Y2Nlc3MsCiAgdGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0ZCwKICB0YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRkLAogIHRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsCiAgdGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0aCwKICB0YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLAogIHRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsgfQogIAogIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLmluZm8sCiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQuaW5mbywKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5pbmZvLAogIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmluZm8sCiAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGguaW5mbywKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aC5pbmZvLAogIHRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsCiAgdGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCwKICB0YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLAogIHRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGgsCiAgdGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0aCwKICB0YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRoIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7IH0KICAKICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC53YXJuaW5nLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLndhcm5pbmcsCiAgdGFibGUgPiB0Zm9vdCA+IHRyID4gdGQud2FybmluZywKICB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aC53YXJuaW5nLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsCiAgdGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZywKICB0YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRkLAogIHRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGQsCiAgdGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0ZCwKICB0YWJsZSA+IHRoZWFkID4gdHIud2FybmluZyA+IHRoLAogIHRhYmxlID4gdGJvZHkgPiB0ci53YXJuaW5nID4gdGgsCiAgdGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0aCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9CiAgCiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZGFuZ2VyLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlciwKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsCiAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGguZGFuZ2VyLAogIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlciwKICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsCiAgdGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRkLAogIHRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0ZCwKICB0YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGQsCiAgdGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRoLAogIHRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCwKICB0YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVEFCTEVTIFN0eWxlMS0tLS0tLS0tLS0tLS0tKi8KICAudGFibGUtLXN0eWxlMSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7CiAgICBmb250LXdlaWdodDogNzAwOyB9CiAgCiAgLnRhYmxlLS1zdHlsZTEgPiB0Ym9keSA+IHRyOmhvdmVyID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1RBQkxFUyBTdHlsZTItLS0tLS0tLS0tLS0tLSovCiAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGggewogICAgZm9udC1zaXplOiAxMnB4OwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogIAogIC50YWJsZS0tc3R5bGUyID4gdGJvZHkgPiB0ciA+IHRkLAogIC50YWJsZS0tc3R5bGUyID4gdGZvb3QgPiB0ciA+IHRkIHsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpID4gdGQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzE4MWEyMDsgfQogIAogIC50YWJsZS0tc3R5bGUyID4gdGJvZHk6aG92ZXIgPiB0ciB7CiAgICAtd2Via2l0LWZpbHRlcjogYmx1cigycHgpOwogICAgZmlsdGVyOiBibHVyKDJweCk7IH0KICAKICAudGFibGUtLXN0eWxlMiA+IHRib2R5ID4gdHI6aG92ZXIgewogICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMCk7CiAgICBmaWx0ZXI6IGJsdXIoMCk7IH0KICAgIC50YWJsZS0tc3R5bGUyID4gdGJvZHkgPiB0cjpob3ZlciA+IHRkIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4MWEyMDsKICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgICAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyOmhvdmVyID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgCiAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyID4gdGQsCiAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQgewogICAgY29sb3I6ICM2NjZkN2E7IH0KICAgIC50YWJsZS0tc3R5bGUyID4gdGJvZHkgPiB0ciA+IHRkLmMtYnJvd246YmVmb3JlLAogICAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQuYy1icm93bjpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODAwOyB9CiAgICAudGFibGUtLXN0eWxlMiA+IHRib2R5ID4gdHIgPiB0ZC5jLWJsdWU6YmVmb3JlLAogICAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQuYy1ibHVlOmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjM1YWE7IH0KICAgIC50YWJsZS0tc3R5bGUyID4gdGJvZHkgPiB0ciA+IHRkLmMtYmx1ZS1saWdodDpiZWZvcmUsCiAgICAudGFibGUtLXN0eWxlMiA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZC5jLWJsdWUtbGlnaHQ6YmVmb3JlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0NTJmZjsgfQogICAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyID4gdGQuYy1ib3JkZXItY29sb3I6YmVmb3JlLAogICAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQuYy1ib3JkZXItY29sb3I6YmVmb3JlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogICAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyID4gdGQuYy1ibHVlLWxpZ2h0ZXI6YmVmb3JlLAogICAgLnRhYmxlLS1zdHlsZTIgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQuYy1ibHVlLWxpZ2h0ZXI6YmVmb3JlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNmNiMDsgfQogICAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyID4gdGQuYy1wcmltYXJ5OmJlZm9yZSwKICAgIC50YWJsZS0tc3R5bGUyID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLmMtcHJpbWFyeTpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnRhYmxlLS1zdHlsZTIgPiB0Ym9keSA+IHRyID4gdGQgewogICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAKICAudGFibGUtLXN0eWxlMiA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC50YWJsZS0tc3R5bGUyID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB3aWR0aDogNHB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVEFCTEVTIFN0eWxlMy0tLS0tLS0tLS0tLS0tKi8KICAudGFibGUtLXN0eWxlMyB7CiAgICBib3JkZXItY29sbGFwc2U6IHVuc2V0OyB9CiAgICAudGFibGUtLXN0eWxlMyA+IHRoZWFkID4gdHIgPiB0aCB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsgfQogICAgLnRhYmxlLS1zdHlsZTMgPiB0Ym9keSA+IHRyOmhvdmVyIHRkIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTUxOTsKICAgICAgY29sb3I6ICNhMWFiYmQ7IH0KICAgIC50YWJsZS0tc3R5bGUzID4gdGJvZHkgPiB0ciA+IHRkIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBjb2xvcjogI2ExYWJiZDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTUxOTsgfQogICAgICAudGFibGUtLXN0eWxlMyA+IHRib2R5ID4gdHIgPiB0ZC5jLWJyb3duOmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlNzgwMDsgfQogICAgICAudGFibGUtLXN0eWxlMyA+IHRib2R5ID4gdHIgPiB0ZC5jLWJsdWU6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzNWFhOyB9CiAgICAgIC50YWJsZS0tc3R5bGUzID4gdGJvZHkgPiB0ciA+IHRkLmMtYmx1ZS1saWdodDpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDUyZmY7IH0KICAgICAgLnRhYmxlLS1zdHlsZTMgPiB0Ym9keSA+IHRyID4gdGQuYy1ib3JkZXItY29sb3I6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgICAgIC50YWJsZS0tc3R5bGUzID4gdGJvZHkgPiB0ciA+IHRkLmMtYmx1ZS1saWdodGVyOmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNmNiMDsgfQogICAgICAudGFibGUtLXN0eWxlMyA+IHRib2R5ID4gdHIgPiB0ZC5jLXByaW1hcnk6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgIC50YWJsZS0tc3R5bGUzID4gdGJvZHkgPiB0ciA+IHRkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNzFjOwogICAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAgICAgLnRhYmxlLS1zdHlsZTMgPiB0Ym9keSA+IHRyID4gdGQ6aG92ZXI6YmVmb3JlIHsKICAgICAgICAgIG9wYWNpdHk6IDE7IH0KICAgICAgLnRhYmxlLS1zdHlsZTMgPiB0Ym9keSA+IHRyID4gdGQ6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAuc2Nyb2xsYWJsZS1yZXNwb25zaXZlLXRhYmxlIHRhYmxlIHsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICBvdmVyZmxvdy15OiBoaWRkZW47CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogNzk5cHgpIHsKICAgIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLAogICAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsCiAgICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aCwKICAgIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLAogICAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQsCiAgICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7CiAgICAgIHBhZGRpbmc6IDE1cHg7IH0KICAgIHRhYmxlIHsKICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfQogICAgdGFibGUgPiB0aGVhZCA+IHRyID4gdGggewogICAgICBmb250LXNpemU6IDEycHg7IH0KICAgIC50YWJsZS0tc3R5bGUzID4gdGhlYWQgPiB0ciA+IHRoIHsKICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLAogICAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGgsCiAgICB0YWJsZSA+IHRmb290ID4gdHIgPiB0aCwKICAgIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLAogICAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQsCiAgICB0YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7CiAgICAgIHBhZGRpbmc6IDVweDsgfQogICAgdGFibGUgewogICAgICBmb250LXNpemU6IDEwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVEVTVElNT05JQUxTIC0tLS0tLS0tLS0tLS0tKi8KICAuYXV0aG9yLWJsb2NrIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAuYXV0aG9yLWJsb2NrIC5hdmF0YXIgewogICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH0KICAKICAuYXV0aG9yLWJsb2NrLS1jb2x1bW4gewogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAuYXV0aG9yLWJsb2NrLS1jb2x1bW4gLmF2YXRhciB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogIAogIC5hdXRob3ItYmxvY2stLWNvbHVtbi1zdGFydCB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAuYXV0aG9yLWJsb2NrLS1jb2x1bW4tc3RhcnQgLmF2YXRhciB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogIAogIC5hdXRob3ItbmFtZSB7CiAgICBjb2xvcjogI2ZmZjsgfQogICAgLmF1dGhvci1uYW1lOmhvdmVyIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYXZhdGFyIHsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmF2YXRhcjpiZWZvcmUgewogICAgICBjb250ZW50OiAnJzsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmF2YXRhciBpbWcgewogICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9CiAgCiAgLmF2YXRhcjIwMCB7CiAgICB3aWR0aDogMjAwcHg7CiAgICBoZWlnaHQ6IDIwMHB4OyB9CiAgCiAgLmF2YXRhcjMyMCB7CiAgICB3aWR0aDogMzIwcHg7CiAgICBoZWlnaHQ6IDMyMHB4OyB9CiAgCiAgLmF2YXRhcjQ0MCB7CiAgICB3aWR0aDogNDQwcHg7CiAgICBoZWlnaHQ6IDQ0MHB4OyB9CiAgCiAgLmF2YXRhcjYwIHsKICAgIHdpZHRoOiA2MHB4OwogICAgaGVpZ2h0OiA2MHB4OyB9CiAgCiAgLmF2YXRhcjgwIHsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0OiA4MHB4OyB9CiAgCiAgLmF1dGhvci1jb250ZW50IHsKICAgIGZvbnQtZmFtaWx5OiBVYnVudHUsIEFyaWFsLCAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBsaW5lLWhlaWdodDogMS4zOyB9CiAgCiAgLmF1dGhvci1wcm9mIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIC5yYWl0LXN0YXJzIHsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgbWFyZ2luOiAxMHB4IDA7IH0KICAgIC5yYWl0LXN0YXJzIC53b294LWljb24gewogICAgICB3aWR0aDogMTBweDsKICAgICAgaGVpZ2h0OiAxMHB4OyB9CiAgICAucmFpdC1zdGFycyBsaSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgZmlsbDogI2ZlY2QzNTsgfQogIAogIC50ZXN0aW1vbmlhbC13cmFwIC5jcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gewogICAgbWFyZ2luLWJvdHRvbTogODBweDsgfQogIAogIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgfQogICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQgLnJhaXQtc3RhcnMgewogICAgICBtYXJnaW46IDA7IH0KICAKICAudGVzdGltb25pYWwtdGV4dCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBsaW5lLWhlaWdodDogMS43NWVtOwogICAgZm9udC1mYW1pbHk6ICdVYnVudHUnLCBzZXJpZjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OwogICAgY29sb3I6ICNjM2M5ZDQ7CiAgICB6LWluZGV4OiAxOyB9CiAgICAudGVzdGltb25pYWwtdGV4dCA+IC5xdW90ZSB7CiAgICAgIGZpbGw6ICMzZDQ0NTE7CiAgICAgIHdpZHRoOiA1MHB4OwogICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAtMTBweDsKICAgICAgbGVmdDogLTIwcHg7CiAgICAgIHotaW5kZXg6IC0xOyB9CiAgICAudGVzdGltb25pYWwtdGV4dCA+IC5xdW90ZS1jbG9zZSB7CiAgICAgIHRvcDogYXV0bzsKICAgICAgbGVmdDogYXV0bzsKICAgICAgYm90dG9tOiAtMTBweDsKICAgICAgcmlnaHQ6IC0yMHB4OyB9CiAgCiAgLmluZm8tcmF0aW5nLXdyYXAgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNFeHBlcnQgSG92ZXIgRWZmZWN0cyAtLS0tLS0tLS0tLS0tLSovCiAgLmhvdmVyLXNoYWRvdy10b3AgLmF2YXRhcjpiZWZvcmUgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAwIC0xNXB4IDAgMnB4ICMwYzBlMTA7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAwIC0xNXB4IDAgMnB4ICMwYzBlMTA7IH0KICAKICAuaG92ZXItc2hhZG93LXRvcDpob3ZlciAuYXZhdGFyOmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMTVweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTVweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsgfQogIAogIC5ob3Zlci1zaGFkb3ctcmlnaHQgLmF2YXRhcjpiZWZvcmUgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAxNXB4IDAgMCAycHggIzBjMGUxMDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQsIDE1cHggMCAwIDJweCAjMGMwZTEwOyB9CiAgCiAgLmhvdmVyLXNoYWRvdy1yaWdodDpob3ZlciAuYXZhdGFyOmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IC0xNXB4IDAgMCAwICNmZmJhMDAsIDAgMCAwIDAgdHJhbnNwYXJlbnQ7CiAgICBib3gtc2hhZG93OiBpbnNldCAtMTVweCAwIDAgMCAjZmZiYTAwLCAwIDAgMCAwIHRyYW5zcGFyZW50OyB9CiAgCiAgLmhvdmVyLXNoYWRvdy1sZWZ0IC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudCwgLTE1cHggMCAwIDJweCAjMGMwZTEwOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudCwgLTE1cHggMCAwIDJweCAjMGMwZTEwOyB9CiAgCiAgLmhvdmVyLXNoYWRvdy1sZWZ0OmhvdmVyIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMTVweCAwIDAgMCAjZmZiYTAwLCAwIDAgMCAwIHRyYW5zcGFyZW50OwogICAgYm94LXNoYWRvdzogaW5zZXQgMTVweCAwIDAgMCAjZmZiYTAwLCAwIDAgMCAwIHRyYW5zcGFyZW50OyB9CiAgCiAgLmhvdmVyLXNoYWRvdy1sZWZ0LXRvcCAuYXZhdGFyOmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQsIC0xMHB4IC0xMHB4IDAgMnB4ICMwYzBlMTA7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAtMTBweCAtMTBweCAwIDJweCAjMGMwZTEwOyB9CiAgCiAgLmhvdmVyLXNoYWRvdy1sZWZ0LXRvcDpob3ZlciAuYXZhdGFyOmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDEwcHggMTBweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDEwcHggMTBweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsgfQogIAogIC5ob3Zlci1zaGFkb3ctcmlnaHQtYm90dG9tIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudCwgMTBweCAxMHB4IDAgMnB4ICMwYzBlMTA7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAxMHB4IDEwcHggMCAycHggIzBjMGUxMDsgfQogIAogIC5ob3Zlci1zaGFkb3ctcmlnaHQtYm90dG9tOmhvdmVyIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgLTEwcHggLTEwcHggMCAwICNmZmJhMDAsIDAgMCAwIDAgdHJhbnNwYXJlbnQ7CiAgICBib3gtc2hhZG93OiBpbnNldCAtMTBweCAtMTBweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsgfQogIAogIC5ob3Zlci1zaGFkb3ctYm90dG9tIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudCwgMCAxNXB4IDAgMnB4ICMwYzBlMTA7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHRyYW5zcGFyZW50LCAwIDE1cHggMCAycHggIzBjMGUxMDsgfQogIAogIC5ob3Zlci1zaGFkb3ctYm90dG9tOmhvdmVyIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMTVweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTE1cHggMCAwICNmZmJhMDAsIDAgMCAwIDAgdHJhbnNwYXJlbnQ7IH0KICAKICAuaG92ZXItc2hhZG93LXJpZ2h0LXRvcCAuYXZhdGFyOmJlZm9yZSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQsIDEwcHggLTEwcHggMCAycHggIzBjMGUxMDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQsIDEwcHggLTEwcHggMCAycHggIzBjMGUxMDsgfQogIAogIC5ob3Zlci1zaGFkb3ctcmlnaHQtdG9wOmhvdmVyIC5hdmF0YXI6YmVmb3JlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgLTEwcHggMTBweCAwIDAgI2ZmYmEwMCwgMCAwIDAgMCB0cmFuc3BhcmVudDsKICAgIGJveC1zaGFkb3c6IGluc2V0IC0xMHB4IDEwcHggMCAwICNmZmJhMDAsIDAgMCAwIDAgdHJhbnNwYXJlbnQ7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1Rlc3RpbW9uaWFsIFdpdGggQkcgLS0tLS0tLS0tLS0tLS0qLwogIC50ZXN0aW1vbmlhbC1pdGVtLS13aXRoLWJnIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE1MTk7CiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLnRlc3RpbW9uaWFsLWl0ZW0tLXdpdGgtYmcgLnRlc3RpbW9uaWFsLXRleHQgPiAucXVvdGUgewogICAgZmlsbDogIzFlMWYyNDsgfQogIAogIC50ZXN0aW1vbmlhbC1pdGVtLS13aXRoLWJnOmhvdmVyIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVGVzdGltb25pYWwgQm9yZGVyZWQgLS0tLS0tLS0tLS0tLS0qLwogIC50ZXN0aW1vbmlhbC0tYm9yZGVyZWQgLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogICAgYm9yZGVyOiA0cHggc29saWQgIzNkNDQ1MTsgfQogIAogIC50ZXN0aW1vbmlhbC0tYm9yZGVyZWQ6aG92ZXIgLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTUxOTsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC50ZXN0aW1vbmlhbC0tYm9yZGVyZWQ6aG92ZXIgLnRlc3RpbW9uaWFsLXRleHQgPiAucXVvdGUgewogICAgZmlsbDogIzFlMWYyNDsgfQogIAogIC50ZXN0aW1vbmlhbC0tYm9yZGVyZWQgLmluZm8tcmF0aW5nLXdyYXAgewogICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgLW1zLWZsZXgtYWxpZ246IGVuZDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfQogIAogIC50ZXN0aW1vbmlhbC0tYm9yZGVyZWQgLnJhaXQtc3RhcnMgewogICAgbWFyZ2luLWJvdHRvbTogMDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVGVzdGltb25pYWwgU3R5bGUgMiAtLS0tLS0tLS0tLS0tLSovCiAgLnRlc3RpbW9uaWFsLS1zdHlsZTIgewogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAudGVzdGltb25pYWwtLXN0eWxlMiAuYXV0aG9yLW5hbWUgewogICAgICBjb2xvcjogI2ZmZjsgfQogICAgLnRlc3RpbW9uaWFsLS1zdHlsZTIgLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogICAgICB6LWluZGV4OiAxOwogICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9CiAgICAudGVzdGltb25pYWwtLXN0eWxlMiAuYXZhdGFyIHsKICAgICAgbWFyZ2luOiAwIGF1dG8gLTQ1cHg7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogMzsgfQogICAgLnRlc3RpbW9uaWFsLS1zdHlsZTIgLmF1dGhvci1ibG9jayB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNUZXN0aW1vbmlhbCBTdHlsZSAzIC0tLS0tLS0tLS0tLS0tKi8KICAudGVzdGltb25pYWwtLXN0eWxlMyB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC50ZXN0aW1vbmlhbC0tc3R5bGUzIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgICAgcGFkZGluZzogNjBweCAxMjBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfQogICAgLnRlc3RpbW9uaWFsLS1zdHlsZTMgLmF2YXRhciB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsgfQogICAgLnRlc3RpbW9uaWFsLS1zdHlsZTMgLnRlc3RpbW9uaWFsLXRleHQgPiAucXVvdGUgewogICAgICB3aWR0aDogNjVweDsKICAgICAgaGVpZ2h0OiA2NXB4OwogICAgICB0b3A6IC0xNXB4OwogICAgICBsZWZ0OiA1MCU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1Rlc3RpbW9uaWFsIFN0eWxlIDQgLS0tLS0tLS0tLS0tLS0qLwogIC50ZXN0aW1vbmlhbC0tc3R5bGU0IC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgIHBhZGRpbmc6IDYwcHggODBweCA1MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogLTEwcHggNTBweCA1MHB4IDEwcHggcmdiYSg2MSwgNjcsIDc5LCAwLjA4KTsKICAgIGJveC1zaGFkb3c6IC0xMHB4IDUwcHggNTBweCAxMHB4IHJnYmEoNjEsIDY3LCA3OSwgMC4wOCk7CiAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCAwOwogICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfQogIAogIC50ZXN0aW1vbmlhbC0tc3R5bGU0IC5hcnJvdy1ib3R0b20tbGVmdCB7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogMTsgfQogIAogIC50ZXN0aW1vbmlhbC0tc3R5bGU0IC50ZXN0aW1vbmlhbC10ZXh0IHsKICAgIHotaW5kZXg6IDE7CiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuYXZhdGFyMjAwIHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OyB9CiAgICAuYXZhdGFyMzIwIHsKICAgICAgd2lkdGg6IDIwMHB4OwogICAgICBoZWlnaHQ6IDIwMHB4OyB9CiAgICAuYXZhdGFyNDQwIHsKICAgICAgd2lkdGg6IDMwMHB4OwogICAgICBoZWlnaHQ6IDMwMHB4OyB9CiAgICAuYXZhdGFyNjAgewogICAgICB3aWR0aDogNTBweDsKICAgICAgaGVpZ2h0OiA1MHB4OyB9CiAgICAuYXZhdGFyODAgewogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiA2MHB4OyB9CiAgICAuYXV0aG9yLWJsb2NrIC5hdmF0YXIgewogICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0KICAgIC5hdXRob3ItYmxvY2stLWNvbHVtbiAuYXZhdGFyIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsKICAgIC5hdmF0YXIyMDAgewogICAgICB3aWR0aDogODBweDsKICAgICAgaGVpZ2h0OiA4MHB4OyB9CiAgICAuYXZhdGFyMzIwIHsKICAgICAgd2lkdGg6IDE1MHB4OwogICAgICBoZWlnaHQ6IDE1MHB4OyB9CiAgICAuYXZhdGFyNDQwIHsKICAgICAgd2lkdGg6IDIwMHB4OwogICAgICBoZWlnaHQ6IDIwMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC50ZXN0aW1vbmlhbC1jb250ZW50IHsKICAgICAgcGFkZGluZzogMzBweDsgfQogICAgLnRlc3RpbW9uaWFsLS1zdHlsZTMgLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogICAgICBwYWRkaW5nOiAzMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9CiAgICAudGVzdGltb25pYWwtLXN0eWxlMiAudGVzdGltb25pYWwtY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAzMHB4OyB9CiAgICAudGVzdGltb25pYWwtLXN0eWxlMiAuYXZhdGFyIHsKICAgICAgbWFyZ2luOiAwIGF1dG8gLTM1cHg7IH0KICAgIC50ZXN0aW1vbmlhbC10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNTQwcHgpIHsKICAgIC50ZXN0aW1vbmlhbC1pdGVtLS13aXRoLWJnIC5pbmZvLXJhdGluZy13cmFwLAogICAgLnRlc3RpbW9uaWFsLS1ib3JkZXJlZCAuaW5mby1yYXRpbmctd3JhcCB7CiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0KICAgICAgLnRlc3RpbW9uaWFsLWl0ZW0tLXdpdGgtYmcgLmluZm8tcmF0aW5nLXdyYXAgLmF1dGhvci1ibG9jaywKICAgICAgLnRlc3RpbW9uaWFsLS1ib3JkZXJlZCAuaW5mby1yYXRpbmctd3JhcCAuYXV0aG9yLWJsb2NrIHsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfQogICAgICAgIC50ZXN0aW1vbmlhbC1pdGVtLS13aXRoLWJnIC5pbmZvLXJhdGluZy13cmFwIC5hdXRob3ItYmxvY2sgLmF2YXRhciwKICAgICAgICAudGVzdGltb25pYWwtLWJvcmRlcmVkIC5pbmZvLXJhdGluZy13cmFwIC5hdXRob3ItYmxvY2sgLmF2YXRhciB7CiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAgICAgLnRlc3RpbW9uaWFsLWl0ZW0tLXdpdGgtYmcgLmluZm8tcmF0aW5nLXdyYXAgLmF1dGhvci1ibG9jayArIGltZywKICAgICAgICAudGVzdGltb25pYWwtLWJvcmRlcmVkIC5pbmZvLXJhdGluZy13cmFwIC5hdXRob3ItYmxvY2sgKyBpbWcgewogICAgICAgICAgbWluLXdpZHRoOiAzMCU7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU0xJREVSUyAtLS0tLS0tLS0tLS0tLSovCiAgLmNydW1pbmEtbW9kdWxlLXNsaWRlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAKICAuc2xpZGVzLWl0ZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgLnNsaWRlci1pdGVtLS1lcXVhbC1oZWlnaHQgLnN3aXBlci1zbGlkZSB7CiAgICBoZWlnaHQ6IGF1dG87IH0KICAKICAuc3dpcGVyLWJ0bi13cmFwIHsKICAgIHotaW5kZXg6IDE5OyB9CiAgICAuc3dpcGVyLWJ0bi13cmFwIC5zd2lwZXItYnRuLXByZXYgKyAuc3dpcGVyLWJ0bi1uZXh0LAogICAgLnN3aXBlci1idG4td3JhcCAuYnRuLXByZXYgKyAuYnRuLW5leHQgewogICAgICBtYXJnaW4tbGVmdDogMTVweDsgfQogICAgLnN3aXBlci1idG4td3JhcC5hcnJvdy1zbWFsbCAuc3dpcGVyLWJ0bi1uZXh0IC53b294LWljb24sCiAgICAuc3dpcGVyLWJ0bi13cmFwLmFycm93LXNtYWxsIC5zd2lwZXItYnRuLXByZXYgLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiAxN3B4OwogICAgICBoZWlnaHQ6IDE3cHg7IH0KICAKICAuc3dpcGVyLWJ0bi1uZXh0LAogIC5zd2lwZXItYnRuLXByZXYsCiAgLmJ0bi1uZXh0LAogIC5idG4tcHJldiB7CiAgICB6LWluZGV4OiA5OTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAuc3dpcGVyLWJ0bi1uZXh0IC53b294LWljb24sCiAgICAuc3dpcGVyLWJ0bi1wcmV2IC53b294LWljb24sCiAgICAuYnRuLW5leHQgLndvb3gtaWNvbiwKICAgIC5idG4tcHJldiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDMzcHg7CiAgICAgIGhlaWdodDogMzNweDsKICAgICAgZmlsbDogIzNjNDI0ZTsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgIC5zd2lwZXItYnRuLW5leHQ6aG92ZXIgLndvb3gtaWNvbiwKICAgIC5zd2lwZXItYnRuLXByZXY6aG92ZXIgLndvb3gtaWNvbiwKICAgIC5idG4tbmV4dDpob3ZlciAud29veC1pY29uLAogICAgLmJ0bi1wcmV2OmhvdmVyIC53b294LWljb24gewogICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgICAuc3dpcGVyLWJ0bi1uZXh0LmJ0bi0tcm91bmQsCiAgICAuc3dpcGVyLWJ0bi1wcmV2LmJ0bi0tcm91bmQsCiAgICAuYnRuLW5leHQuYnRuLS1yb3VuZCwKICAgIC5idG4tcHJldi5idG4tLXJvdW5kIHsKICAgICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7IH0KICAgICAgLnN3aXBlci1idG4tbmV4dC5idG4tLXJvdW5kIC53b294LWljb24sCiAgICAgIC5zd2lwZXItYnRuLXByZXYuYnRuLS1yb3VuZCAud29veC1pY29uLAogICAgICAuYnRuLW5leHQuYnRuLS1yb3VuZCAud29veC1pY29uLAogICAgICAuYnRuLXByZXYuYnRuLS1yb3VuZCAud29veC1pY29uIHsKICAgICAgICBoZWlnaHQ6IDE3cHg7CiAgICAgICAgd2lkdGg6IDE3cHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZmlsbDogI2ZmZjsgfQogICAgICAuc3dpcGVyLWJ0bi1uZXh0LmJ0bi0tcm91bmQ6aG92ZXIsCiAgICAgIC5zd2lwZXItYnRuLXByZXYuYnRuLS1yb3VuZDpob3ZlciwKICAgICAgLmJ0bi1uZXh0LmJ0bi0tcm91bmQ6aG92ZXIsCiAgICAgIC5idG4tcHJldi5idG4tLXJvdW5kOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDAgMCAjZmZiYTAwLCAycHggM3B4IDAgMCAjZmZiYTAwOwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggMCAwICNmZmJhMDAsIDJweCAzcHggMCAwICNmZmJhMDA7IH0KICAKICAubmF2aWdhdGlvbi1jZW50ZXItYm90aC1zaWRlcyAuc3dpcGVyLWJ0bi1uZXh0LCAubmF2aWdhdGlvbi1jZW50ZXItYm90aC1zaWRlcyAuc3dpcGVyLWJ0bi1wcmV2IHsKICAgIHRvcDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgcG9zaXRpb246IGFic29sdXRlOyB9CiAgCiAgLm5hdmlnYXRpb24tY2VudGVyLWJvdGgtc2lkZXMgLnN3aXBlci1idG4tcHJldiB7CiAgICBsZWZ0OiA1JTsgfQogIAogIC5uYXZpZ2F0aW9uLWNlbnRlci1ib3RoLXNpZGVzIC5zd2lwZXItYnRuLW5leHQgewogICAgcmlnaHQ6IDUlOyB9CiAgCiAgLm5hdmlnYXRpb24tYm90dG9tLXJpZ2h0IC5zd2lwZXItYnRuLXdyYXAgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgYm90dG9tOiAzMHB4OwogICAgcmlnaHQ6IDgwcHg7IH0KICAKICAubmF2aWdhdGlvbi1ib3R0b20tbGVmdCAuc3dpcGVyLWJ0bi13cmFwIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJvdHRvbTogMzBweDsKICAgIGxlZnQ6IDgwcHg7IH0KICAKICAubmF2aWdhdGlvbi1ib3R0b20tYm90aC1zaWRlcyAuc3dpcGVyLWJ0bi1uZXh0LCAubmF2aWdhdGlvbi1ib3R0b20tYm90aC1zaWRlcyAuc3dpcGVyLWJ0bi1wcmV2IHsKICAgIGJvdHRvbTogMzBweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQogIAogIC5uYXZpZ2F0aW9uLWJvdHRvbS1ib3RoLXNpZGVzIC5zd2lwZXItYnRuLXByZXYgewogICAgbGVmdDogMjAlOyB9CiAgCiAgLm5hdmlnYXRpb24tYm90dG9tLWJvdGgtc2lkZXMgLnN3aXBlci1idG4tbmV4dCB7CiAgICByaWdodDogMjAlOyB9CiAgCiAgLnNsaWRlci1ldmVudHMgLmNydW1pbmEtZXZlbnQtaXRlbSB7CiAgICBwYWRkaW5nOiAxMjBweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU3dpcGVyIFBhZ2luYXRpb24gLS0tLS0tLS0tLS0tLS0qLwogIC5zd2lwZXItcGFnaW5hdGlvbiB7CiAgICB3aWR0aDogMTAwJTsgfQogIAogIC5wYWdpbmF0aW9uLWJvdHRvbSB7CiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0KICAgIC5wYWdpbmF0aW9uLWJvdHRvbSAuc3dpcGVyLXBhZ2luYXRpb24gewogICAgICBib3R0b206IDA7IH0KICAKICAucGFnaW5hdGlvbi1ib3R0b20tY2VudGVyIHsKICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfQogICAgLnBhZ2luYXRpb24tYm90dG9tLWNlbnRlciAuc3dpcGVyLXBhZ2luYXRpb24gewogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfQogIAogIC5wYWdpbmF0aW9uLXRvcC1jZW50ZXIgewogICAgcGFkZGluZy10b3A6IDEwMHB4OyB9CiAgICAucGFnaW5hdGlvbi10b3AtY2VudGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7CiAgICAgIHRvcDogMTBweDsKICAgICAgYm90dG9tOiBhdXRvOwogICAgICBsZWZ0OiA1MCU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH0KICAKICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0OiA0cHg7CiAgICBvcGFjaXR5OiAxOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDQ1MTsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfQogICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCArIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgewogICAgICBtYXJnaW4tbGVmdDogNDBweDsgfQogIAogIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAKICAuc3dpcGVyLXBhZ2luYXRpb24tLXNtYWxsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7CiAgICB3aWR0aDogNDBweDsgfQogICAgLnN3aXBlci1wYWdpbmF0aW9uLS1zbWFsbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgKyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHsKICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0KICAKICAuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24gewogICAgZm9udC1zaXplOiAyMnB4OwogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAuc3dpcGVyLXBhZ2luYXRpb24tY3VycmVudCB7CiAgICBjb2xvcjogI2ZmZjsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU2xpZGVyIEluZm8tYm94ZXMgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLXNsaWRlci0taW5mby1ib3hlcyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiA4MHB4IDE4MHB4IDEwMHB4IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2dyYXBoLnBuZyIpOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQogICAgLmNydW1pbmEtc2xpZGVyLS1pbmZvLWJveGVzIC5zd2lwZXItYnRuLXdyYXAgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAxMjBweDsKICAgICAgdG9wOiA1MCU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IH0KICAgIC5jcnVtaW5hLXNsaWRlci0taW5mby1ib3hlcyAuc3dpcGVyLWJ0bi1uZXh0LAogICAgLmNydW1pbmEtc2xpZGVyLS1pbmZvLWJveGVzIC5zd2lwZXItYnRuLXByZXYgewogICAgICBkaXNwbGF5OiBibG9jazsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU2xpZGVyIEluZm8tYm94ZXMgU3R5bGUgMyAtLS0tLS0tLS0tLS0tLSovCiAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTMgLnN3aXBlci1zbGlkZSB7CiAgICBwYWRkaW5nOiAwIDMwcHg7CiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH0KICAgIC5jcnVtaW5hLXNsaWRlci0tdGVzdGltb25pYWwtc3R5bGUzIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7CiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfQogIAogIC5jcnVtaW5hLXNsaWRlci0tdGVzdGltb25pYWwtc3R5bGUzIC5zbGlkZXItc2xpZGVzIHsKICAgIHotaW5kZXg6IDk5OTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIG1hcmdpbjogMjBweCAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgCiAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTMgLnNsaWRlcy1pdGVtIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiA2MHB4OwogICAgaGVpZ2h0OiA2MHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgIG9wYWNpdHk6IC4zOyB9CiAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlMyAuc2xpZGVzLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi1yaWdodDogMDsgfQogICAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTMgLnNsaWRlcy1pdGVtLnN3aXBlci1zbGlkZS1hY3RpdmUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTsKICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogICAgICBvcGFjaXR5OiAxOwogICAgICBib3JkZXI6IDRweCBzb2xpZCAjZmZiYTAwOwogICAgICB6LWluZGV4OiAyMDsgfQogIAogIC5jcnVtaW5hLXNsaWRlci0tdGVzdGltb25pYWwtc3R5bGU0IC5zd2lwZXItd3JhcHBlciB7CiAgICB3aWR0aDogMTAwJTsKICAgIG1heC13aWR0aDogMTAwJTsgfQogIAogIC5jcnVtaW5hLXNsaWRlci0tdGVzdGltb25pYWwtc3R5bGU0IC5zd2lwZXItc2xpZGUgewogICAgd2lkdGg6IDE0MDBweDsKICAgIG1heC13aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgLSA0MHB4KTsKICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7CiAgICBvcGFjaXR5OiAuMzsgfQogICAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTQgLnN3aXBlci1zbGlkZSAuY3J1bWluYS10ZXN0aW1vbmlhbC1pdGVtIHsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBtYXgtd2lkdGg6IDQ4JTsgfQogICAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlNCAuc3dpcGVyLXNsaWRlIC5jcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gKyAuY3J1bWluYS10ZXN0aW1vbmlhbC1pdGVtIHsKICAgICAgICBtYXJnaW4tbGVmdDogMjBweDsgfQogICAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTQgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtYWN0aXZlIHsKICAgICAgb3BhY2l0eTogMTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQ2xpZW50cyBTTElERVIgLS0tLS0tLS0tLS0tLS0qLwogIC5jbGllbnRzLS1zbGlkZXIgewogICAgcGFkZGluZzogMCA1MHB4OyB9CiAgICAuY2xpZW50cy0tc2xpZGVyIC5zd2lwZXItYnRuLW5leHQgewogICAgICByaWdodDogMDsgfQogICAgLmNsaWVudHMtLXNsaWRlciAuc3dpcGVyLWJ0bi1wcmV2IHsKICAgICAgbGVmdDogMDsgfQogICAgLmNsaWVudHMtLXNsaWRlciAuc3dpcGVyLXdyYXBwZXIgewogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuY3J1bWluYS1zbGlkZXItLWluZm8tYm94ZXMgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmc6IDQwcHggODBweCA1MHB4IDQwcHg7IH0KICAgIC5jcnVtaW5hLXNsaWRlci0taW5mby1ib3hlcyAuc3dpcGVyLWJ0bi13cmFwIHsKICAgICAgcmlnaHQ6IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIHsKICAgIC5zbGlkZXItZXZlbnRzIC5jcnVtaW5hLWV2ZW50LWl0ZW0gewogICAgICBwYWRkaW5nOiA0MHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAubmF2aWdhdGlvbi1ib3R0b20tcmlnaHQgLnN3aXBlci1idG4td3JhcCB7CiAgICAgIHJpZ2h0OiBhdXRvOwogICAgICBsZWZ0OiAxMHB4OwogICAgICBib3R0b206IDIwcHg7IH0KICAgIC5wYWdpbmF0aW9uLWJvdHRvbSwKICAgIC5wYWdpbmF0aW9uLWJvdHRvbS1jZW50ZXIgewogICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuc2xpZGVyLWV2ZW50cyAuY3J1bWluYS1ldmVudC1pdGVtIHsKICAgICAgcGFkZGluZzogMjBweDsgfQogICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7CiAgICAgIHdpZHRoOiA0MHB4OyB9CiAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlNCAuc3dpcGVyLXNsaWRlIC5jcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gewogICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICAgIHdpZHRoOiAxMDAlOyB9CiAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlNCAuc3dpcGVyLXNsaWRlIC5jcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gKyAuY3J1bWluYS10ZXN0aW1vbmlhbC1pdGVtIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0KICAgIC5jcnVtaW5hLXNsaWRlci0tdGVzdGltb25pYWwtc3R5bGUzIC5zbGlkZXMtaXRlbSB7CiAgICAgIHdpZHRoOiA0MHB4OwogICAgICBoZWlnaHQ6IDQwcHg7IH0KICAgIC5uYXZpZ2F0aW9uLWJvdHRvbS1ib3RoLXNpZGVzIC5zd2lwZXItYnRuLW5leHQgewogICAgICByaWdodDogMTAlOyB9CiAgICAubmF2aWdhdGlvbi1ib3R0b20tYm90aC1zaWRlcyAuc3dpcGVyLWJ0bi1wcmV2IHsKICAgICAgbGVmdDogMTAlOyB9CiAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlMyAuc2xpZGVzLWl0ZW0gewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OyB9CiAgICAuY3J1bWluYS1zbGlkZXItLXRlc3RpbW9uaWFsLXN0eWxlMyAuc3dpcGVyLXNsaWRlIHsKICAgICAgcGFkZGluZzogMDsgfQogICAgLmNydW1pbmEtc2xpZGVyLS10ZXN0aW1vbmlhbC1zdHlsZTMgLnNsaWRlcy1pdGVtLnN3aXBlci1zbGlkZS1hY3RpdmUgewogICAgICBib3JkZXItd2lkdGg6IDJweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNRVU9URVMgLS0tLS0tLS0tLS0tLS0qLwogIGJsb2NrcXVvdGUgLnByaW1hcnktZG90cyB7CiAgICBkaXNwbGF5OiBibG9jazsgfQogIAogIC5xdW90ZS0tYmctZGFyayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OyB9CiAgICAucXVvdGUtLWJnLWRhcmsgcCB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgCiAgLnByaW1hcnktZG90cyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAxMDsgfQogIAogIC5xdW90ZS1iZzEgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvcXVvdGUtYmcxLmpwZyIpOyB9CiAgCiAgLnF1b3RlLWJnMiB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9xdW90ZS1iZzIuanBnIik7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1FVT1RFIFN0eWxlMiAtLS0tLS0tLS0tLS0tLSovCiAgLnF1b3RlLS1zdHlsZTIgewogICAgcGFkZGluZzogMTAwcHggNzBweCA1NXB4OyB9CiAgICAucXVvdGUtLXN0eWxlMiBwIHsKICAgICAgZm9udC1zaXplOiAyNnB4OwogICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OwogICAgICBsaW5lLWhlaWdodDogMS43NWVtOyB9CiAgICAucXVvdGUtLXN0eWxlMjpiZWZvcmUgewogICAgICB0b3A6IDcwcHg7CiAgICAgIGxlZnQ6IDMwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1FVT1RFIFN0eWxlMyAtLS0tLS0tLS0tLS0tLSovCiAgLnF1b3RlLS1zdHlsZTMgewogICAgZm9udC1mYW1pbHk6IFVidW50dSwgQXJpYWwsICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgc2VyaWYsIHNhbnMtc2VyaWY7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBwYWRkaW5nOiA2MHB4IDA7CiAgICBib3JkZXItcmFkaXVzOiAwOyB9CiAgICAucXVvdGUtLXN0eWxlMzpiZWZvcmUgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAucXVvdGUtLXN0eWxlMyAucHJpbWFyeS1kb3RzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogICAgLnF1b3RlLS1zdHlsZTMucXVvdGUtLXdpdGgtYmcgewogICAgICBwYWRkaW5nOiA2MHB4OwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgICAucXVvdGUtLXN0eWxlMyBwIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICBsZXR0ZXItc3BhY2luZzogLjAxZW07CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAgIC5xdW90ZS0tc3R5bGUzIHA6Zmlyc3QtbGV0dGVyIHsKICAgICAgICBmb250LXNpemU6IDMwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1FVT1RFIFN0eWxlNCAtLS0tLS0tLS0tLS0tLSovCiAgLnF1b3RlLS1zdHlsZTQgewogICAgcGFkZGluZzogODBweDsgfQogICAgLnF1b3RlLS1zdHlsZTQ6YmVmb3JlIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogICAgLnF1b3RlLS1zdHlsZTQgcCB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfQogICAgICAucXVvdGUtLXN0eWxlNCBwID4gLnF1b3RlIHsKICAgICAgICBmaWxsOiAjM2Q0NDUxOwogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTBweDsKICAgICAgICBsZWZ0OiAtMjBweDsKICAgICAgICB6LWluZGV4OiAtMTsgfQogICAgICAucXVvdGUtLXN0eWxlNCBwID4gLnF1b3RlLWNsb3NlIHsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICBib3R0b206IC0xMHB4OwogICAgICAgIHJpZ2h0OiAtMjBweDsgfQogICAgLnF1b3RlLS1zdHlsZTQucXVvdGUtLXdpdGgtYmcgcCB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAucXVvdGUtLXN0eWxlNC5xdW90ZS0tYmctcGhvdG8gcCB7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgIC5xdW90ZS0tc3R5bGU0LnF1b3RlLS1iZy1waG90byBwID4gLnF1b3RlIHsKICAgICAgICBmaWxsOiAjZmZiYTAwOwogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIGhlaWdodDogNTBweDsKICAgICAgICB0b3A6IC0xMHB4OwogICAgICAgIGxlZnQ6IC0yMHB4OyB9CiAgICAgIC5xdW90ZS0tc3R5bGU0LnF1b3RlLS1iZy1waG90byBwID4gLnF1b3RlLWNsb3NlIHsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICBib3R0b206IC0xMHB4OwogICAgICAgIHJpZ2h0OiAtMjBweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjUVVPVEUgU3R5bGUgQkctUGhvdG8gLS0tLS0tLS0tLS0tLS0qLwogIC5xdW90ZS0tYmctcGhvdG8gewogICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogNjBweCAwIDEwMHB4IDVweCByZ2JhKDIyLCAyNCwgMjksIDAuNCk7CiAgICBib3gtc2hhZG93OiA2MHB4IDAgMTAwcHggNXB4IHJnYmEoMjIsIDI0LCAyOSwgMC40KTsgfQogICAgLnF1b3RlLS1iZy1waG90byBwIHsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgICAucXVvdGUtLWJnLXBob3RvIHAgPiAucXVvdGUgewogICAgICAgIGZpbGw6ICNmZmJhMDA7CiAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgaGVpZ2h0OiA5MHB4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IC0zMHB4OwogICAgICAgIGxlZnQ6IC00MHB4OwogICAgICAgIHotaW5kZXg6IC0xOyB9CiAgICAucXVvdGUtLWJnLXBob3RvOmJlZm9yZSB7CiAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5xdW90ZS0tYmctcGhvdG8gLmF1dGhvci1ibG9jayB7CiAgICAgIHotaW5kZXg6IDE7IH0KICAgIC5xdW90ZS0tYmctcGhvdG8gLmF1dGhvci1uYW1lIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1FVT1RFIFN0eWxlIFBvc3QgVHlwZSAtLS0tLS0tLS0tLS0tLSovCiAgLnF1b3RlLS1wb3N0LXR5cGUgewogICAgcGFkZGluZzogMTBweCAzMHB4OwogICAgbWFyZ2luOiAwOyB9CiAgICAucXVvdGUtLXBvc3QtdHlwZTpiZWZvcmUgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAucXVvdGUtLXBvc3QtdHlwZSBwIHsKICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfQogICAgICAucXVvdGUtLXBvc3QtdHlwZSBwID4gLnF1b3RlIHsKICAgICAgICBmaWxsOiAjM2Q0NDUxOwogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGhlaWdodDogOTBweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTVweDsKICAgICAgICBsZWZ0OiAtMjBweDsKICAgICAgICB6LWluZGV4OiAtMTsgfQogICAgICAucXVvdGUtLXBvc3QtdHlwZSBwID4gLnF1b3RlLWNsb3NlIHsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICBib3R0b206IC0xNXB4OwogICAgICAgIHJpZ2h0OiAtMjBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkgewogICAgLnF1b3RlLS1zdHlsZTIgewogICAgICBwYWRkaW5nOiA1MHB4IDM1cHggMzBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgICAucXVvdGUtLXN0eWxlMiB7CiAgICAgIHBhZGRpbmc6IDMwcHggMjBweCAyMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIGJsb2NrcXVvdGUgLmF1dGhvci1ibG9jayB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfQogICAgLnF1b3RlLS1zdHlsZTMgLnByaW1hcnktZG90cyB7CiAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7IH0KICAgIC5xdW90ZS0tc3R5bGUyIHsKICAgICAgcGFkZGluZzogMTVweDsgfQogICAgLnF1b3RlLS1zdHlsZTQucXVvdGUtLWJnLXBob3RvIHAgPiAucXVvdGUgewogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7IH0KICAgIC5xdW90ZS0tc3R5bGU0LnF1b3RlLS1iZy1waG90byBwID4gLnF1b3RlLWNsb3NlIHsKICAgICAgYm90dG9tOiAwOwogICAgICByaWdodDogMDsKICAgICAgdG9wOiBhdXRvOwogICAgICBsZWZ0OiBhdXRvOyB9CiAgICAucXVvdGUtLXN0eWxlNCB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0KICAgIC5xdW90ZS0tc3R5bGUzLnF1b3RlLS13aXRoLWJnIHsKICAgICAgcGFkZGluZzogMjBweDsgfQogICAgLnF1b3RlLS1zdHlsZTIgcCB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLnF1b3RlLS1iZy1waG90byBwID4gLnF1b3RlIHsKICAgICAgd2lkdGg6IDQwcHg7CiAgICAgIGhlaWdodDogNTBweDsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOyB9CiAgICAucXVvdGUtLXN0eWxlMjo6YmVmb3JlIHsKICAgICAgdG9wOiAzMHB4OwogICAgICBsZWZ0OiAzMHB4OyB9CiAgICBibG9ja3F1b3RlOjpiZWZvcmUgewogICAgICB3aWR0aDogNDBweDsKICAgICAgaGVpZ2h0OiA1MHB4OwogICAgICB0b3A6IDMwcHg7CiAgICAgIGxlZnQ6IDMwcHg7IH0KICAgIC5xdW90ZS0tc3R5bGU0IHAgewogICAgICBmb250LXNpemU6IDE4cHg7IH0KICAgIC5xdW90ZS0tc3R5bGUzIHAgewogICAgICBmb250LXNpemU6IDE2cHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjSU5GTy1CT1hFUyAtLS0tLS0tLS0tLS0tLSovCiAgLmNydW1pbmEtaW5mby1ib3ggewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAuaW5mby1ib3gtdGh1bWIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luOiAwIGF1dG8gMTBweDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfQogIAogIC5pbmZvLWJveC1jb250ZW50IHsKICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAKICAuaW5mby1ib3gtdGl0bGUgewogICAgbWF4LXdpZHRoOiA3NSU7CiAgICBtYXJnaW46IDE1cHggYXV0bzsKICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5pbmZvLWJveC10aXRsZSBzcGFuIHsKICAgICAgY29sb3I6ICM2NjZkN2E7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAuaW5mby1ib3gtdGV4dCB7CiAgICBtYXgtd2lkdGg6IDc1JTsKICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjSW5mby1ib3ggZG91YmxlIGJvcmRlcnMgLS0tLS0tLS0tLS0tLS0qLwogIC5pbmZvLWJveC0tZG91YmxlLWJvcmRlcnMgLmluZm8tYm94LXRodW1iIHsKICAgIHdpZHRoOiAxNjBweDsKICAgIGhlaWdodDogMTYwcHg7CiAgICBsaW5lLWhlaWdodDogMTYwcHg7CiAgICBib3JkZXI6IDEwcHggZG91YmxlICMzZDQzNGY7IH0KICAgIC5pbmZvLWJveC0tZG91YmxlLWJvcmRlcnMgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICB3aWR0aDogMTEwcHg7CiAgICAgIGhlaWdodDogMTEwcHg7CiAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAKICAuaW5mby1ib3gtLWRvdWJsZS1ib3JkZXJzOmFmdGVyIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogODBweDsKICAgIGhlaWdodDogNHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsKICAgIG1hcmdpbjogMTBweCBhdXRvOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAuaW5mby1ib3gtLWRvdWJsZS1ib3JkZXJzOmhvdmVyIC5pbmZvLWJveC10aHVtYiB7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgIC5pbmZvLWJveC0tZG91YmxlLWJvcmRlcnM6aG92ZXIgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgCiAgLmluZm8tYm94LS1kb3VibGUtYm9yZGVyczpob3ZlciAuaW5mby1ib3gtdGl0bGUgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAgIC5pbmZvLWJveC0tZG91YmxlLWJvcmRlcnM6aG92ZXIgLmluZm8tYm94LXRpdGxlIHNwYW4gewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogIAogIC5pbmZvLWJveC0tZG91YmxlLWJvcmRlcnM6aG92ZXIgLmluZm8tYm94LXRleHQgewogICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAKICAuaW5mby1ib3gtLWRvdWJsZS1ib3JkZXJzOmhvdmVyOmFmdGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICB3aWR0aDogNjAlOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNJbmZvLWJveCBzdHlsZTIgLS0tLS0tLS0tLS0tLS0qLwogIC5pbmZvLWJveC0tc3R5bGUyIHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGUyIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiAxNzBweDsKICAgICAgaGVpZ2h0OiAxNzBweDsKICAgICAgbGluZS1oZWlnaHQ6IDE3MHB4OwogICAgICBib3JkZXI6IDEwcHggZG91YmxlICMzZDQzNGY7CiAgICAgIG1hcmdpbjogMCAwIC03MHB4IC00MHB4OyB9CiAgICAgIC5pbmZvLWJveC0tc3R5bGUyIC5pbmZvLWJveC10aHVtYiAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMTEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMTBweDsKICAgICAgICBmaWxsOiAjM2Q0MzRmOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMiAuaW5mby1ib3gtY29udGVudCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgei1pbmRleDogNTsgfQogICAgLmluZm8tYm94LS1zdHlsZTIgLmluZm8tYm94LXRpdGxlIHsKICAgICAgbWF4LXdpZHRoOiBub25lOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMiAuaW5mby1ib3gtdGV4dCB7CiAgICAgIG1heC13aWR0aDogbm9uZTsgfQogICAgLmluZm8tYm94LS1zdHlsZTI6aG92ZXIgLmluZm8tYm94LXRodW1iIHsKICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgICB3aWR0aDogODBweDsKICAgICAgaGVpZ2h0OiA4MHB4OwogICAgICBsaW5lLWhlaWdodDogODBweDsKICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOyB9CiAgICAgIC5pbmZvLWJveC0tc3R5bGUyOmhvdmVyIC5pbmZvLWJveC10aHVtYiAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZiYTAwOwogICAgICAgIHdpZHRoOiA1MHB4OwogICAgICAgIGhlaWdodDogNTBweDsgfQogICAgLmluZm8tYm94LS1zdHlsZTI6aG92ZXIgLmluZm8tYm94LXRpdGxlIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTI6aG92ZXIgLmluZm8tYm94LXRpdGxlIHNwYW4gewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMjpob3ZlciAuaW5mby1ib3gtdGV4dCB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNJbmZvLWJveCBzdHlsZTQgLS0tLS0tLS0tLS0tLS0qLwogIC5pbmZvLWJveC0tc3R5bGU0IHsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHBhZGRpbmc6IDYwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNCAuaW5mby1ib3gtdGl0bGUgewogICAgICBtYXgtd2lkdGg6IG5vbmU7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU0IC5pbmZvLWJveC10ZXh0IHsKICAgICAgbWF4LXdpZHRoOiBub25lOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNCAuaW5mby1ib3gtdGh1bWIgewogICAgICB3aWR0aDogMTYwcHg7CiAgICAgIGhlaWdodDogMTYwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxNjBweDsKICAgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNCAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgICAgd2lkdGg6IDExMHB4OwogICAgICAgIGhlaWdodDogMTEwcHg7CiAgICAgICAgZmlsbDogIzNkNDM0ZjsgfQogICAgLmluZm8tYm94LS1zdHlsZTQ6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTQ6aG92ZXIgLmluZm8tYm94LXRodW1iIHsKICAgICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAuaW5mby1ib3gtLXN0eWxlNDpob3ZlciAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgICAgIC5pbmZvLWJveC0tc3R5bGU0OmhvdmVyIC5pbmZvLWJveC10aXRsZSB7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAuaW5mby1ib3gtLXN0eWxlNDpob3ZlciAuaW5mby1ib3gtdGl0bGUgc3BhbiB7CiAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNDpob3ZlciAuaW5mby1ib3gtdGV4dCB7CiAgICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTQ6aG92ZXIgLmJ0biB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAuaW5mby1ib3gtLXN0eWxlNDpob3ZlciAuYnRuIC53b294LWljb24gewogICAgICAgICAgZmlsbDogI2ZmZjsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjSW5mby1ib3ggQkctY29sb3JlZCAtLS0tLS0tLS0tLS0tLSovCiAgLmluZm8tYm94LS1iZy1jb2xvcmVkIHsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBwYWRkaW5nOiA2MHB4OyB9CiAgICAuaW5mby1ib3gtLWJnLWNvbG9yZWQgLmluZm8tYm94LXRpdGxlIHsKICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgbGluZS1oZWlnaHQ6IDE7IH0KICAgICAgLmluZm8tYm94LS1iZy1jb2xvcmVkIC5pbmZvLWJveC10aXRsZSBzcGFuIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgLmluZm8tYm94LS1iZy1jb2xvcmVkIC5pbmZvLWJveC10ZXh0IHsKICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgICBjb2xvcjogI2ZmZjsgfQogICAgLmluZm8tYm94LS1iZy1jb2xvcmVkIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIG1hcmdpbjogMjBweCBhdXRvOyB9CiAgICAgIC5pbmZvLWJveC0tYmctY29sb3JlZCAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICBsZWZ0OiBhdXRvOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7CiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDApOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApOwogICAgICAgIG1pbi13aWR0aDogMTYwcHg7CiAgICAgICAgbWluLWhlaWdodDogMTYwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDsKICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDsgfQogICAgLmluZm8tYm94LS1iZy1jb2xvcmVkOmhvdmVyIC5idG4gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgIC5pbmZvLWJveC0tYmctY29sb3JlZDpob3ZlciAuYnRuIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0luZm8tYm94IHN0eWxlNSAtLS0tLS0tLS0tLS0tLSovCiAgLmluZm8tYm94LS1zdHlsZTUgewogICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgLmluZm8tYm94LS1zdHlsZTUgLmluZm8tYm94LXRpdGxlIHsKICAgICAgbWF4LXdpZHRoOiBub25lOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNSAuaW5mby1ib3gtdGV4dCB7CiAgICAgIG1heC13aWR0aDogbm9uZTsgfQogICAgLmluZm8tYm94LS1zdHlsZTUgLmluZm8tYm94LXRodW1iIHsKICAgICAgd2lkdGg6IDgwcHg7CiAgICAgIGhlaWdodDogODBweDsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNSAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICBsZWZ0OiBhdXRvOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsgfQogICAgLmluZm8tYm94LS1zdHlsZTU6aG92ZXIgLmluZm8tYm94LXRpdGxlIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTU6aG92ZXIgLmluZm8tYm94LXRpdGxlIHNwYW4gewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNTpob3ZlciAuaW5mby1ib3gtdGV4dCB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNTpob3ZlciAuYnRuIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgICBjb2xvcjogI2ZmZjsgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNTpob3ZlciAuYnRuIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0luZm8tYm94IHN0eWxlNiAtLS0tLS0tLS0tLS0tLSovCiAgLmluZm8tYm94LS1zdHlsZTYgewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNiAuaW5mby1ib3gtdGh1bWIgewogICAgICB3aWR0aDogMTYwcHg7CiAgICAgIGhlaWdodDogMTYwcHg7CiAgICAgIGZsb2F0OiBsZWZ0OwogICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTYgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICB3aWR0aDogMTYwcHg7CiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNiAuaW5mby1ib3gtdGl0bGUgewogICAgICBtYXgtd2lkdGg6IG5vbmU7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU2IC5pbmZvLWJveC10ZXh0IHsKICAgICAgbWF4LXdpZHRoOiBub25lOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNjpob3ZlciB7CiAgICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNjpob3ZlciAuaW5mby1ib3gtdGl0bGUgewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgLmluZm8tYm94LS1zdHlsZTY6aG92ZXIgLmluZm8tYm94LXRpdGxlIHNwYW4gewogICAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTY6aG92ZXIgLmluZm8tYm94LXRleHQgewogICAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAgIC5pbmZvLWJveC0tc3R5bGU2OmhvdmVyIC5idG4gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgLmluZm8tYm94LS1zdHlsZTY6aG92ZXIgLmJ0biAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0luZm8tYm94IHN0eWxlNyAtLS0tLS0tLS0tLS0tLSovCiAgLmluZm8tYm94LS1zdHlsZTcgewogICAgcGFkZGluZzogMCA3MHB4IDYwcHg7CiAgICBib3JkZXI6IDRweCBzb2xpZCAjM2Q0NDUxOwogICAgYm9yZGVyLXJhZGl1czogNDBweDsKICAgIG1hcmdpbi10b3A6IDcwcHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU3IC5pbmZvLWJveC10aHVtYiB7CiAgICAgIG1hcmdpbjogLTcwcHggYXV0byAzMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICB3aWR0aDogMTYwcHg7CiAgICAgIGhlaWdodDogMTYwcHg7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTcgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICAgIHRyYW5zZm9ybTogbm9uZTsKICAgICAgICB3aWR0aDogMTYwcHg7CiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNyAuaW5mby1ib3gtdGV4dCB7CiAgICAgIG1heC13aWR0aDogbm9uZTsgfQogICAgLmluZm8tYm94LS1zdHlsZTcgLmluZm8tYm94LXRpdGxlIHsKICAgICAgbWF4LXdpZHRoOiBub25lOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNzpob3ZlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE1MTk7CiAgICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAuaW5mby1ib3gtLXN0eWxlNzpob3ZlciAuaW5mby1ib3gtdGl0bGUgewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgLmluZm8tYm94LS1zdHlsZTc6aG92ZXIgLmluZm8tYm94LXRpdGxlIHNwYW4gewogICAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTc6aG92ZXIgLmluZm8tYm94LXRleHQgewogICAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAgIC5pbmZvLWJveC0tc3R5bGU3OmhvdmVyIC5idG4gewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgLmluZm8tYm94LS1zdHlsZTc6aG92ZXIgLmJ0biAud29veC1pY29uIHsKICAgICAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuaW5mby1ib3gtLXN0eWxlMiB7CiAgICAgIHBhZGRpbmctbGVmdDogMDsgfQogICAgLmluZm8tYm94LS1zdHlsZTIgLmluZm8tYm94LXRodW1iIHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBsaW5lLWhlaWdodDogMTAwcHg7CiAgICAgIG1hcmdpbjogMCAwIC03MHB4IDA7CiAgICAgIGJvcmRlci13aWR0aDogNXB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMiAuaW5mby1ib3gtdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGUyIC5pbmZvLWJveC10aHVtYiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDQwcHg7CiAgICAgIGhlaWdodDogNDBweDsgfQogICAgLmluZm8tYm94LS1zdHlsZTI6aG92ZXIgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICB3aWR0aDogMjBweDsKICAgICAgaGVpZ2h0OiAyMHB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMjpob3ZlciAuaW5mby1ib3gtdGh1bWIgewogICAgICB3aWR0aDogNDBweDsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgbWFyZ2luOiAwIDAgLTEwcHggMDsgfQogICAgLmluZm8tYm94LS1zdHlsZTYgewogICAgICBwYWRkaW5nOiAzMHB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNCB7CiAgICAgIHBhZGRpbmc6IDMwcHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU3IHsKICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU1IC5pbmZvLWJveC10aHVtYiB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgZmxvYXQ6IG5vbmU7IH0KICAgIC5pbmZvLWJveC10aXRsZSB7CiAgICAgIG1heC13aWR0aDogMTAwJTsgfQogICAgLmluZm8tYm94LXRleHQgewogICAgICBtYXgtd2lkdGg6IDEwMCU7IH0KICAgIC5pbmZvLWJveC0tc3R5bGU0IC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNCAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7IH0KICAgIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9CiAgICAuaW5mby1ib3gtLWRvdWJsZS1ib3JkZXJzIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4OyB9CiAgICAuaW5mby1ib3gtLWRvdWJsZS1ib3JkZXJzIC5pbmZvLWJveC10aHVtYiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDYwcHg7CiAgICAgIGhlaWdodDogNjBweDsgfQogICAgLmluZm8tYm94LS1iZy1jb2xvcmVkIC5pbmZvLWJveC10aHVtYiAud29veC1pY29uIHsKICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgbWluLWhlaWdodDogMTAwcHg7CiAgICAgIG1heC13aWR0aDogMTAwcHg7CiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNiAuaW5mby1ib3gtdGh1bWIgewogICAgICB3aWR0aDogMTAwcHg7CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgIG1hcmdpbjogMDsKICAgICAgZmxvYXQ6IG5vbmU7IH0KICAgICAgLmluZm8tYm94LS1zdHlsZTYgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICAgIHdpZHRoOiAxMDAlOyB9CiAgICAuaW5mby1ib3gtLXN0eWxlNyAuaW5mby1ib3gtdGh1bWIgewogICAgICBtYXJnaW46IC01MHB4IGF1dG8gMzBweDsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsKICAgIC5pbmZvLWJveC0tYmctY29sb3JlZCB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGUyIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiA3MHB4OwogICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4OwogICAgICBtYXJnaW46IDAgMCAtNDBweCAwOwogICAgICBib3JkZXItd2lkdGg6IDNweDsgfQogICAgLmluZm8tYm94LS1zdHlsZTIgLmluZm8tYm94LXRodW1iIC53b294LWljb24gewogICAgICB3aWR0aDogMzVweDsKICAgICAgaGVpZ2h0OiAzNXB4OyB9CiAgICAuaW5mby1ib3gtLXN0eWxlMjpob3ZlciAuaW5mby1ib3gtdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiAxNXB4OwogICAgICBoZWlnaHQ6IDE1cHg7IH0KICAgIC5pbmZvLWJveC0tc3R5bGUyOmhvdmVyIC5pbmZvLWJveC10aHVtYiB7CiAgICAgIHdpZHRoOiAzMHB4OwogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICBtYXJnaW46IDA7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQ09VTlRFUlMgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLWNvdW50ZXItaXRlbSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC5jcnVtaW5hLWNvdW50ZXItaXRlbTpob3ZlciAuY291bnRlci1saW5lIHsKICAgICAgd2lkdGg6IDgwJTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgLmNydW1pbmEtY291bnRlci1pdGVtOmhvdmVyIC53b294LWljb24gewogICAgICBmaWxsOiAjZmZiYTAwOyB9CiAgICAuY3J1bWluYS1jb3VudGVyLWl0ZW0gLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICM2NjZkN2E7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsgfQogIAogIC5jb3VudGVyLW51bWJlcnMgewogICAgY29sb3I6ICNmZmJhMDA7CiAgICBmb250LXNpemU6IDgwcHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0KICAgIC5jb3VudGVyLW51bWJlcnMgLnVuaXRzIHsKICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAKICAuY291bnRlci1saW5lIHsKICAgIHdpZHRoOiA4MHB4OwogICAgaGVpZ2h0OiA0cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgbWFyZ2luOiAxMHB4IGF1dG87CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC5iZy1kb3R0ZWQtbWFwIHsKICAgIGJhY2tncm91bmQ6IHVybCgiLi4vaW1nL2RvdHRlZC1tYXAucG5nIikgbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlOyB9CiAgCiAgLmNvdW50ZXItdGl0bGUgewogICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gQ291bnRlciBJY29uIExlZnQgPT09PT09PT09PT09Ki8KICAuY291bnRlci0taWNvbi1sZWZ0IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAgIC5jb3VudGVyLS1pY29uLWxlZnQgLndvb3gtaWNvbiB7CiAgICAgIGZsb2F0OiBsZWZ0OwogICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7CiAgICAgIHdpZHRoOiA4MHB4OwogICAgICBoZWlnaHQ6IDgwcHg7IH0KICAgIC5jb3VudGVyLS1pY29uLWxlZnQgLmNvdW50ZXItY29udGVudCB7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAgIC5jb3VudGVyLS1pY29uLWxlZnQgLmNvdW50ZXItbnVtYmVycyB7CiAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDsKICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICBsaW5lLWhlaWdodDogMS4xOyB9CiAgICAuY291bnRlci0taWNvbi1sZWZ0IC5jb3VudGVyLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICBtYXJnaW4tdG9wOiAwOyB9CiAgICAuY291bnRlci0taWNvbi1sZWZ0IC5jb3VudGVyLXRleHQgewogICAgICBmb250LXNpemU6IDE0cHg7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC5jb3VudGVyLW51bWJlcnMgewogICAgICBmb250LXNpemU6IDYwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkgewogICAgLmNydW1pbmEtY291bnRlci1pdGVtIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAuY291bnRlci0taWNvbi1sZWZ0IHsKICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgLmNvdW50ZXItbnVtYmVycyB7CiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuY291bnRlci1udW1iZXJzIHsKICAgICAgZm9udC1zaXplOiA0MHB4OyB9CiAgICAuY291bnRlci0taWNvbi1sZWZ0IC53b294LWljb24gewogICAgICB3aWR0aDogNDBweDsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgIGZsb2F0OiBub25lOyB9CiAgICAuY291bnRlci0taWNvbi1sZWZ0IC5jb3VudGVyLW51bWJlcnMgewogICAgICBmb250LXNpemU6IDMwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQ09VTlRET1dOIC0tLS0tLS0tLS0tLS0tKi8KICAuY3J1bWluYS1jb3VudGRvd24taXRlbSB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC5jcnVtaW5hLWNvdW50ZG93bi1pdGVtICsgLmJ0biB7CiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9CiAgCiAgLmNydW1pbmEtY291bnRkb3duLAogIC5jcnVtaW5hLWNvdW50ZG93bi1udW1iZXIgewogICAgbWluLWhlaWdodDogMTAwcHggIWltcG9ydGFudDsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIHotaW5kZXg6IDEwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgLmNvdW50ZG93bi0td2l0aC1iZyB7CiAgICBwYWRkaW5nOiA4MHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLmNvdW50ZG93bi0td2l0aC1iZyAub3ZlcmxheSB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAKICAuY291bnRkb3duLWJnMSB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9jb3VudGRvd24tYmcxLnBuZyIpOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTIxNjsgfQogIAogIC5jb3VudGRvd24tYmcyIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2NvdW50ZG93bi1iZzIuanBnIik7IH0KICAKICAuY291bnRkb3duLWJnMyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9jb3VudGRvd24tYmczLmpwZyIpOyB9CiAgCiAgLmNydW1pbmEtY291bnRkb3duLW51bWJlciAudGltZV9jaXJjbGVzID4gZGl2ID4gc3BhbiB7CiAgICBjb2xvcjogI2ZmYmEwMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiBhdXRvOyB9CiAgCiAgLmNydW1pbmEtY291bnRkb3duLW51bWJlciAudGltZV9jaXJjbGVzID4gZGl2ID4gaDQgewogICAgYm90dG9tOiAtMzBweDsgfQogIAogIC5jcnVtaW5hLWNvdW50ZG93bi1udW1iZXIgLnRpbWVfY2lyY2xlcyA+IGRpdjphZnRlciB7CiAgICBjb250ZW50OiAnOic7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMnJlbTsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgY29sb3I6ICNmZmY7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICByaWdodDogLTVweDsKICAgIGJvdHRvbTogNXB4OyB9CiAgCiAgLmNydW1pbmEtY291bnRkb3duLW51bWJlciAudGltZV9jaXJjbGVzID4gZGl2Omxhc3QtY2hpbGQ6YWZ0ZXIgewogICAgZGlzcGxheTogbm9uZTsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgICAuY291bnRkb3duLS13aXRoLWJnIHsKICAgICAgcGFkZGluZzogNDBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuY3J1bWluYS1jb3VudGRvd24taXRlbSAudGltZV9jaXJjbGVzID4gZGl2ID4gaDQgewogICAgICBib3R0b206IC0zMHB4OwogICAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNFVkVOVFMgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLWV2ZW50LWl0ZW0gewogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIHBhZGRpbmc6IDQwcHg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgaGVpZ2h0OiAxMDAlOyB9CiAgICAuY3J1bWluYS1ldmVudC1pdGVtIC5ldmVudC10aHVtYiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBsZWZ0OiAwOwogICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB6LWluZGV4OiAtMTsgfQogICAgLmNydW1pbmEtZXZlbnQtaXRlbTpob3ZlciAuZXZlbnQtdGl0bGUgewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgLmNydW1pbmEtZXZlbnQtaXRlbTpob3ZlcjphZnRlciB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAgIC5jcnVtaW5hLWV2ZW50LWl0ZW06aG92ZXIgLmV2ZW50LXRodW1iIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfQogICAgLmNydW1pbmEtZXZlbnQtaXRlbTphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMnB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgb3BhY2l0eTogMDsgfQogICAgLmNydW1pbmEtZXZlbnQtaXRlbSBpbWcgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7IH0KICAgIC5jcnVtaW5hLWV2ZW50LWl0ZW0gLm92ZXJsYXkgewogICAgICBvcGFjaXR5OiAxOwogICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCAyNCwgMjksIDAuNyk7IH0KICAgIC5jcnVtaW5hLWV2ZW50LWl0ZW0gLmV2ZW50LXRpdGxlIHsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC5ldmVudC1kYXRlIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7IH0KICAgIC5ldmVudC1kYXRlIC53b294LWljb24gewogICAgICB3aWR0aDogMTZweDsKICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICBtaW4td2lkdGg6IDE2cHg7CiAgICAgIG1pbi1oZWlnaHQ6IDE2cHg7CiAgICAgIGZpbGw6ICNjM2M5ZDQ7CiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfQogICAgLmV2ZW50LWRhdGUgKyAuZXZlbnQtZGF0ZSB7CiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0KICAKICAuZXZlbnQtdmVudWUgewogICAgcGFkZGluZzogNjBweDsKICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNzFjOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLmV2ZW50LXZlbnVlIC5ldmVudC1kYXRlIHsKICAgICAgY29sb3I6ICNhMWFiYmQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7IH0KICAgICAgLmV2ZW50LXZlbnVlIC5ldmVudC1kYXRlIC53b294LWljb24gewogICAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAgIC5ldmVudC12ZW51ZSAuYXV0aG9yLWJsb2NrIHsKICAgICAgbWFyZ2luLXRvcDogMzVweDsgfQogIAogIC5ldmVudC12ZW51ZS0tZGV0YWlscyB7CiAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAuZXZlbnQtdmVudWUtLWRldGFpbHMgLmF1dGhvci1ibG9jayB7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC5ldmVudC12ZW51ZS0tZGV0YWlscyAuYXV0aG9yLWNvbnRlbnQgewogICAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC5ldmVudC12ZW51ZS0tZGV0YWlscyAuYXV0aG9yLWJsb2NrIC5hdmF0YXIgewogICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0KICAgIC5ldmVudC12ZW51ZS0tZGV0YWlscyAuZXZlbnQtZGF0ZSAud29veC1pY29uIHsKICAgICAgZmlsbDogI2ZmYmEwMDsgfQogIAogIC5ldmVudC1pdGVtLS1jb250ZW50LWNvbHVtbiB7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0KICAKICAuY29taW5nLXNvb24tbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogMTVweDsKICAgIHBhZGRpbmc6IDdweCAyMHB4OwogICAgYm9yZGVyLXdpZHRoOiAzcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2ZDdhOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfQogIAogIC5ldmVudC1kZXRhaWxzLXRodW1iIHsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBwYWRkaW5nOiA4MHB4OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9CiAgICAuZXZlbnQtZGV0YWlscy10aHVtYiAuY3J1bWluYS1jb3VudGRvd24taXRlbSB7CiAgICAgIG1hcmdpbjogOTBweCAwIDE3MHB4OyB9CiAgCiAgLmNvdW50ZG93bi1idG4td3JhcCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0KICAKICAuYmctZXZlbnQxIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2V2ZW50MS5qcGciKTsgfQogIAogIC5iZy1ldmVudDIgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvZXZlbnQyLmpwZyIpOyB9CiAgCiAgLmJnLWV2ZW50MyB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9ldmVudDMuanBnIik7IH0KICAKICAuYmctZXZlbnQ0IHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2V2ZW50NC5qcGciKTsgfQogIAogIC5iZy1ldmVudDUgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvZXZlbnQ1LmpwZyIpOyB9CiAgCiAgLmJnLWV2ZW50NiB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9ldmVudDYuanBnIik7IH0KICAKICAuYmctZXZlbnQ3IHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2V2ZW50Ny5qcGciKTsgfQogIAogIC5iZy1ldmVudDggewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvZXZlbnQtZGV0YWlscy5qcGciKTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjRm9yIE1hc29ucnkgLS0tLS0tLS0tLS0tLS0qLwogIC5ncmlkLXNpemVyIHsKICAgIHdpZHRoOiAzMy4zMzMzJTsgfQogIAogIC5ncmlkLXNpemVyLWhhbGYtd2lkdGggewogICAgd2lkdGg6IDUwJTsgfQogIAogIC5ncmlkLXNpemVyLWZ1bGwtd2lkdGggewogICAgd2lkdGg6IDEwMCU7IH0KICAKICAuc29ydGluZy1jb250YWluZXIgLnNvcnRpbmctaXRlbSB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuZXZlbnQtdmVudWUgewogICAgICBwYWRkaW5nOiAyMHB4OyB9CiAgICAuZXZlbnQtZGV0YWlscy10aHVtYiB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0KICAgIC5ldmVudC1kZXRhaWxzLXRodW1iIC5jcnVtaW5hLWNvdW50ZG93bi1pdGVtIHsKICAgICAgbWFyZ2luOiA1MHB4IDAgMTAwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHsKICAgIC5ncmlkLXNpemVyIHsKICAgICAgd2lkdGg6IDUwJTsgfQogICAgLmNydW1pbmEtZXZlbnQtaXRlbSB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0KICAgIC5ldmVudC12ZW51ZSAucm93ID4gKiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC5ldmVudC1kZXRhaWxzLXRodW1iIC5jcnVtaW5hLWNvdW50ZG93bi1pdGVtIHsKICAgICAgbWFyZ2luOiA0MHB4IDA7IH0KICAgIC5jcnVtaW5hLWV2ZW50LWl0ZW0gewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAgIC5jcnVtaW5hLWV2ZW50LWl0ZW0gPiAqICsgKiB7CiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuY291bnRkb3duLWJ0bi13cmFwIHsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgICAgLmNvdW50ZG93bi1idG4td3JhcCAuY3J1bWluYS1jb3VudGRvd24taXRlbSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgICAuY291bnRkb3duLWJ0bi13cmFwIC5jcnVtaW5hLWNvdW50ZG93bi1pdGVtICsgLmJ0biB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0KICAgIC5ldmVudC1kZXRhaWxzLXRodW1iIHsKICAgICAgcGFkZGluZzogMjBweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNGT1JNUyAtLS0tLS0tLS0tLS0tLSovCiAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3QsIC5zZWxlY3QyIHsKICAgIHBhZGRpbmc6IDE1cHggMzBweDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1MHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGNvbG9yOiAjYTBhOWJhOwogICAgYm9yZGVyOiAycHggc29saWQgI2ExYWJiZDsKICAgIHdpZHRoOiAxMDAlOwogICAgb3V0bGluZTogbm9uZTsKICAgIGNhcmV0LWNvbG9yOiAjZmZiYTAwOyB9CiAgICBpbnB1dDpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIHNlbGVjdDpmb2N1cywgLnNlbGVjdDI6Zm9jdXMgewogICAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgICBpbnB1dDpmb2N1cyArIC53b294LWljb24sIHRleHRhcmVhOmZvY3VzICsgLndvb3gtaWNvbiwgc2VsZWN0OmZvY3VzICsgLndvb3gtaWNvbiwgLnNlbGVjdDI6Zm9jdXMgKyAud29veC1pY29uIHsKICAgICAgICBmaWxsOiAjZmZiYTAwOwogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICBpbnB1dC5pbnB1dC0tc3F1YXJlZCwgdGV4dGFyZWEuaW5wdXQtLXNxdWFyZWQsIHNlbGVjdC5pbnB1dC0tc3F1YXJlZCwgLnNlbGVjdDIuaW5wdXQtLXNxdWFyZWQgewogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfQogICAgaW5wdXQuaW5wdXQtLWRhcmssIHRleHRhcmVhLmlucHV0LS1kYXJrLCBzZWxlY3QuaW5wdXQtLWRhcmssIC5zZWxlY3QyLmlucHV0LS1kYXJrIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjIyODsKICAgICAgY29sb3I6ICNhMWFiYmQ7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzMzM3NDQ7IH0KICAgICAgaW5wdXQuaW5wdXQtLWRhcms6Zm9jdXMsIHRleHRhcmVhLmlucHV0LS1kYXJrOmZvY3VzLCBzZWxlY3QuaW5wdXQtLWRhcms6Zm9jdXMsIC5zZWxlY3QyLmlucHV0LS1kYXJrOmZvY3VzIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogICAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgIGlucHV0LmlucHV0LS1kYXJrLmlucHV0LS13aXRoLWJvcmRlciwgdGV4dGFyZWEuaW5wdXQtLWRhcmsuaW5wdXQtLXdpdGgtYm9yZGVyLCBzZWxlY3QuaW5wdXQtLWRhcmsuaW5wdXQtLXdpdGgtYm9yZGVyLCAuc2VsZWN0Mi5pbnB1dC0tZGFyay5pbnB1dC0td2l0aC1ib3JkZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0KICAgIGlucHV0LmlucHV0LS13aXRoLWJvcmRlciwgdGV4dGFyZWEuaW5wdXQtLXdpdGgtYm9yZGVyLCBzZWxlY3QuaW5wdXQtLXdpdGgtYm9yZGVyLCAuc2VsZWN0Mi5pbnB1dC0td2l0aC1ib3JkZXIgewogICAgICBib3JkZXItY29sb3I6ICMxZTIwMjc7IH0KICAgICAgaW5wdXQuaW5wdXQtLXdpdGgtYm9yZGVyOmZvY3VzLCB0ZXh0YXJlYS5pbnB1dC0td2l0aC1ib3JkZXI6Zm9jdXMsIHNlbGVjdC5pbnB1dC0td2l0aC1ib3JkZXI6Zm9jdXMsIC5zZWxlY3QyLmlucHV0LS13aXRoLWJvcmRlcjpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLndvb3gtaWNvbiB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIDo6LW1vei1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIC8qIEZpcmVmb3ggMTkrICovCiAgOi1tb3otcGxhY2Vob2xkZXIgewogICAgY29sb3I6ICNhMWFiYmQ7IH0KICAKICAvKiBGaXJlZm94IDE4LSAqLwogIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgY29sb3I6ICNhMWFiYmQ7IH0KICAKICBsYWJlbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIG1hcmdpbjogMjBweCAwIDIwcHggMzVweDsgfQogICAgbGFiZWwgc3BhbiB7CiAgICAgIGNvbG9yOiAjZmYzMTMzOwogICAgICBtYXJnaW4tbGVmdDogM3B4OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIElucHV0IHdpdGggQnV0dG9uIGlubGluZSAtLS0tLS0tLS0tLS0tLSovCiAgLmlucHV0LXdpdGgtYnRuLWlubGluZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5pbnB1dC13aXRoLWJ0bi1pbmxpbmUgaW5wdXQgewogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIHBhZGRpbmc6IDE3cHggNDBweDsgfQogICAgICAuaW5wdXQtd2l0aC1idG4taW5saW5lIGlucHV0OmZvY3VzIHsKICAgICAgICBjb2xvcjogIzY2NmQ3YTsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDIwcHggMCA0MHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyk7CiAgICAgICAgYm94LXNoYWRvdzogMjBweCAwIDQwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfQogICAgLmlucHV0LXdpdGgtYnRuLWlubGluZSAuYnRuLAogICAgLmlucHV0LXdpdGgtYnRuLWlubGluZSBidXR0b24gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAwOwogICAgICB0b3A6IDA7CiAgICAgIGhlaWdodDogMTAwJTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSBTdWJzY3JpYmUgRk9STVMgLS0tLS0tLS0tLS0tLS0qLwogIC5zdWJzY3JpYmUtZm9ybSB7CiAgICBwYWRkaW5nOiA2MHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogIAogIC5zdWJzY3JpYmUtLXByaW1hcnkgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgLnN1YnNjcmliZS0tcHJpbWFyeSBpbnB1dCB7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgIC5zdWJzY3JpYmUtLXByaW1hcnkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnN1YnNjcmliZS0tZGFyayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiA0MHB4IDAgOTBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgYm94LXNoYWRvdzogNDBweCAwIDkwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfQogICAgLnN1YnNjcmliZS0tZGFyayBpbnB1dCB7CiAgICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSBGT1JNUyBzZWFyY2ggLS0tLS0tLS0tLS0tLS0qLwogIC5mb3JtLS1zZWFyY2ggaW5wdXQgewogICAgcGFkZGluZzogMjVweCAzMHB4OyB9CiAgCiAgLmZvcm0tLXNlYXJjaC10cmFuc3BhcmVudCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5mb3JtLS1zZWFyY2gtdHJhbnNwYXJlbnQgaW5wdXQgewogICAgICBwYWRkaW5nOiAwIDAgMjBweCAwOwogICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMzZDQzNGY7CiAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgIC5mb3JtLS1zZWFyY2gtdHJhbnNwYXJlbnQgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmJhMDA7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gTG9naW4gRk9STVMgLS0tLS0tLS0tLS0tLS0qLwogIC5sb2dpbi1mb3JtIHsKICAgIHBhZGRpbmc6IDEyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgLmxvZ2luLWZvcm0gLmNydW1pbmEtaGVhZGluZyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgIC5sb2dpbi1mb3JtIC5jaGVja2JveCBsYWJlbCB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLmxvZ2luLWZvcm0gLmNoZWNrYm94IHsKICAgICAgbWFyZ2luOiAxLjRlbSAwOwogICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAubG9naW4tZm9ybSAuYnRuICsgLmJ0biB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAubG9naW4tZm9ybSAuZm9yZ290LWJsb2NrIHsKICAgICAgbWFyZ2luOiA2MHB4IDA7IH0KICAgIC5sb2dpbi1mb3JtIC5pbnB1dC1sYWJlbCB7CiAgICAgIG1hcmdpbjogMjBweCAwOwogICAgICBmb250LXdlaWdodDogOTAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgICAubG9naW4tZm9ybSAuaW5wdXQtbGFiZWwgYWJiciB7CiAgICAgICAgY29sb3I6ICNmZTMyMzU7IH0KICAgIC5sb2dpbi1mb3JtID4gKjpsYXN0LWNoaWxkIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgLmxvZ2luLWZvcm0gPiAqOmZpcnN0LWNoaWxkIHsKICAgICAgbWFyZ2luLXRvcDogMDsgfQogIAogIC5yZWdpc3Rlci1mb3JtIHsKICAgIHBhZGRpbmc6IDEyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogICAgLnJlZ2lzdGVyLWZvcm0gLmNydW1pbmEtaGVhZGluZyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgIC5yZWdpc3Rlci1mb3JtIC5jaGVja2JveCB7CiAgICAgIG1hcmdpbjogNjBweCAwOyB9CiAgCiAgLmZvcm0tLWRhcmsgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTUxOTsgfQogICAgLmZvcm0tLWRhcmsgLmlucHV0LWxhYmVsIHsKICAgICAgY29sb3I6ICNmZmY7IH0KICAKICAuaW5wdXQtd2l0aC1pY29uIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmlucHV0LXdpdGgtaWNvbiAud29veC1pY29uIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiAzMHB4OwogICAgICB0b3A6IDUwJTsKICAgICAgaGVpZ2h0OiAyNXB4OwogICAgICB3aWR0aDogMjVweDsKICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICBmaWxsOiAjYzNjOWQ0OwogICAgICBjb2xvcjogI2MzYzlkNDsKICAgICAgei1pbmRleDogMTsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsgfQogICAgLmlucHV0LXdpdGgtaWNvbiBpbnB1dCwgLmlucHV0LXdpdGgtaWNvbiB0ZXh0YXJlYSwgLmlucHV0LXdpdGgtaWNvbiBzZWxlY3QgewogICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgICAgLmlucHV0LXdpdGgtaWNvbiBpbnB1dDpmb2N1cyArIC53b294LWljb24sIC5pbnB1dC13aXRoLWljb24gdGV4dGFyZWE6Zm9jdXMgKyAud29veC1pY29uLCAuaW5wdXQtd2l0aC1pY29uIHNlbGVjdDpmb2N1cyArIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmJhMDA7IH0KICAgICAgLmlucHV0LXdpdGgtaWNvbiBpbnB1dC5pbnB1dC0tZGFyayArIC53b294LWljb24sIC5pbnB1dC13aXRoLWljb24gdGV4dGFyZWEuaW5wdXQtLWRhcmsgKyAud29veC1pY29uLCAuaW5wdXQtd2l0aC1pY29uIHNlbGVjdC5pbnB1dC0tZGFyayArIC53b294LWljb24gewogICAgICAgIGNvbG9yOiAjM2Q0MzRmOwogICAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAgICAgLmlucHV0LXdpdGgtaWNvbiBpbnB1dC5pbnB1dC0tZGFyazpmb2N1cyArIC53b294LWljb24sIC5pbnB1dC13aXRoLWljb24gdGV4dGFyZWEuaW5wdXQtLWRhcms6Zm9jdXMgKyAud29veC1pY29uLCAuaW5wdXQtd2l0aC1pY29uIHNlbGVjdC5pbnB1dC0tZGFyazpmb2N1cyArIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmJhMDA7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgIC5pbnB1dC13aXRoLWljb24uaW5wdXQtaWNvbi0tcmlnaHQgLndvb3gtaWNvbiB7CiAgICAgIGxlZnQ6IGF1dG87CiAgICAgIHJpZ2h0OiAzMHB4OyB9CiAgICAuaW5wdXQtd2l0aC1pY29uLmlucHV0LWljb24tLXJpZ2h0IGlucHV0LCAuaW5wdXQtd2l0aC1pY29uLmlucHV0LWljb24tLXJpZ2h0IHRleHRhcmVhLCAuaW5wdXQtd2l0aC1pY29uLmlucHV0LWljb24tLXJpZ2h0IHNlbGVjdCB7CiAgICAgIHBhZGRpbmctbGVmdDogMzBweDsKICAgICAgcGFkZGluZy1yaWdodDogODBweDsgfQogIAogIC5mb3Jnb3QtYmxvY2sgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgbWFyZ2luOiAxLjZlbSAwOwogICAgd2lkdGg6IDEwMCU7IH0KICAgIC5mb3Jnb3QtYmxvY2sgLmNoZWNrYm94IHsKICAgICAgbWFyZ2luOiAwOyB9CiAgICAuZm9yZ290LWJsb2NrIGEgewogICAgICBmb250LXdlaWdodDogNzAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIFN0eWxlcyBmb3IgaW5wdXRzIHdpdGggbGFiZWwgKG1hdGVyaWFsKSAtLS0tLS0tLS0tLS0tLSovCiAgLypodHRwczovL3d3dy5jcmVhdGl2ZS10aW0uY29tL3Byb2R1Y3QvbWF0ZXJpYWwta2l0IyovCiAgLmZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgewogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH0KICAKICAuZm9ybS1ncm91cCBsYWJlbC5jb250cm9sLWxhYmVsIHsKICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTQzOwogICAgbWFyZ2luOiAwOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgIGNvbG9yOiAjYTFhYmJkOyB9CiAgCiAgLmZvcm0tZ3JvdXAubGFiZWwtZmxvYXRpbmcgbGFiZWwuY29udHJvbC1sYWJlbCwgLmZvcm0tZ3JvdXAubGFiZWwtcGxhY2Vob2xkZXIgbGFiZWwuY29udHJvbC1sYWJlbCB7CiAgICB0b3A6IDI1cHg7CiAgICBsZWZ0OiAzMHB4OyB9CiAgCiAgLmZvcm0tZ3JvdXAubGFiZWwtc3RhdGljIGxhYmVsLmNvbnRyb2wtbGFiZWwsIC5mb3JtLWdyb3VwLmxhYmVsLWZsb2F0aW5nLmlzLWZvY3VzZWQgbGFiZWwuY29udHJvbC1sYWJlbCwgLmZvcm0tZ3JvdXAubGFiZWwtZmxvYXRpbmc6bm90KC5pcy1lbXB0eSkgbGFiZWwuY29udHJvbC1sYWJlbCB7CiAgICB0b3A6IDdweDsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTQzOyB9CiAgCiAgLmZvcm0tZ3JvdXAubGFiZWwtZmxvYXRpbmcgaW5wdXQuZm9ybS1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgfiBsYWJlbC5jb250cm9sLWxhYmVsIGxhYmVsLmNvbnRyb2wtbGFiZWwgewogICAgdG9wOiAtMjhweDsKICAgIGxlZnQ6IDA7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsaW5lLWhlaWdodDogMS4wNzE0MzsgfQogIAogIGlucHV0LmZvcm0tY29udHJvbCB7CiAgICBwYWRkaW5nOiAxN3B4IDMwcHg7IH0KICAKICBzZWxlY3QuZm9ybS1jb250cm9sIHsKICAgIGJvcmRlcjogMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBib3JkZXItcmFkaXVzOiAwOyB9CiAgCiAgLmZvcm0tZ3JvdXAuaXMtZm9jdXNlZCBzZWxlY3QuZm9ybS1jb250cm9sIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICBib3JkZXItY29sb3I6ICNEMkQyRDI7IH0KICAKICBzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSwgLmZvcm0tZ3JvdXAuaXMtZm9jdXNlZCBzZWxlY3QuZm9ybS1jb250cm9sW211bHRpcGxlXSB7CiAgICBoZWlnaHQ6IDg1cHg7IH0KICAKICAuaW5wdXQtZ3JvdXAtYnRuIC5idG4gewogICAgbWFyZ2luOiAwIDAgN3B4IDA7IH0KICAKICAuZm9ybS1ncm91cC5mb3JtLWdyb3VwLXNtIC5pbnB1dC1ncm91cC1idG4gLmJ0biB7CiAgICBtYXJnaW46IDAgMCAzcHggMDsgfQogIAogIC5mb3JtLWdyb3VwLmZvcm0tZ3JvdXAtbGcgLmlucHV0LWdyb3VwLWJ0biAuYnRuIHsKICAgIG1hcmdpbjogMCAwIDlweCAwOyB9CiAgCiAgLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1maWxlXSB7CiAgICBvcGFjaXR5OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAxMDA7IH0KICAKICAuZm9ybS1ncm91cCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAKICAuZm9ybS1ncm91cC5sYWJlbC1zdGF0aWMgbGFiZWwuY29udHJvbC1sYWJlbCwgLmZvcm0tZ3JvdXAubGFiZWwtcGxhY2Vob2xkZXIgbGFiZWwuY29udHJvbC1sYWJlbCwgLmZvcm0tZ3JvdXAubGFiZWwtZmxvYXRpbmcgbGFiZWwuY29udHJvbC1sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsKICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH0KICAKICAuZm9ybS1ncm91cC5sYWJlbC1mbG9hdGluZyBsYWJlbC5jb250cm9sLWxhYmVsIHsKICAgIHdpbGwtY2hhbmdlOiBsZWZ0LCB0b3AsIGNvbnRlbnRzOyB9CiAgCiAgLmZvcm0tZ3JvdXAubGFiZWwtcGxhY2Vob2xkZXI6bm90KC5pcy1lbXB0eSkgbGFiZWwuY29udHJvbC1sYWJlbCB7CiAgICBkaXNwbGF5OiBub25lOyB9CiAgCiAgLmZvcm0tZ3JvdXAgc2VsZWN0IH4gLm1hdGVyaWFsLWlucHV0OmFmdGVyIHsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NFTEVDVDIgQ3VzdG9taXphdGlvbiAtLS0tLS0tLS0tLS0tLSovCiAgc2VsZWN0LCAuc2VsZWN0MiB7CiAgICBib3JkZXItY29sb3I6ICMzMzM3NDQ7IH0KICAgIHNlbGVjdDpkaXNhYmxlZCwgLnNlbGVjdDI6ZGlzYWJsZWQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyMTI2OwogICAgICBjb2xvcjogIzNkNDM0ZjsgfQogICAgICBzZWxlY3Q6ZGlzYWJsZWQgKyAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiLCAuc2VsZWN0MjpkaXNhYmxlZCArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIgewogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhMWFiYmQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYTFhYmJkOyB9CiAgICAgIHNlbGVjdDpkaXNhYmxlZCArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsIC5zZWxlY3QyOmRpc2FibGVkICsgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgICAgc2VsZWN0OmRpc2FibGVkICsgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQsIC5zZWxlY3QyOmRpc2FibGVkICsgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgewogICAgICAgIGNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLnNlbGVjdDIgewogICAgcGFkZGluZzogMTRweCAzMHB4OyB9CiAgCiAgLnNlbGVjdDItY29udGFpbmVyIHsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAKICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgewogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgewogICAgcGFkZGluZzogMDsKICAgIGNvbG9yOiAjYTBhOWJhOyB9CiAgCiAgLnNlbGVjdDItY29udGFpbmVyLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgewogICAgY29sb3I6ICM2NjZkN2E7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHsKICAgIHJpZ2h0OiA0MHB4OyB9CiAgCiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjYTFhYmJkOwogICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgI2ExYWJiZDsKICAgIGhlaWdodDogMTBweDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlOwogICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogICAgd2lkdGg6IDEwcHg7IH0KICAKICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmJhMDA7CiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAuc2VsZWN0Mi5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogIAogIC5zZWxlY3QyLWRyb3Bkb3duIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMTVweCAwIDQwcHggNXB4IHJnYmEoNjEsIDY3LCA3OSwgMC4wOCk7CiAgICBib3gtc2hhZG93OiAxNXB4IDAgNDBweCA1cHggcmdiYSg2MSwgNjcsIDc5LCAwLjA4KTsKICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfQogIAogIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH0KICAKICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjOwogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1dvb3gtc2VsZWN0IERhcmsgLS0tLS0tLS0tLS0tLS0qLwogIC53b294LS1zZWxlY3QtLWRhcmsgKyAuc2VsZWN0MiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyMTI2OyB9CiAgCiAgLndvb3gtLXNlbGVjdC0tZGFyayArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ExYWJiZDsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ExYWJiZDsgfQogIAogIC53b294LS1zZWxlY3QtLWRhcmsgKyAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7CiAgICBjb2xvcjogIzY2NmQ3YTsgfQogIAogIC53b294LS1zZWxlY3QtLWRhcmsgKyAuc2VsZWN0Mi1jb250YWluZXIuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7CiAgICBjb2xvcjogI2MzYzlkNDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgCiAgLndvb3gtLXNlbGVjdC0tZGFyayArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmYmEwMDsKICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC53b294LS1zZWxlY3QtLWRhcmstZHJvcGRvd24gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogICAgLndvb3gtLXNlbGVjdC0tZGFyay1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24tLWhpZ2hsaWdodGVkW2FyaWEtc2VsZWN0ZWRdLAogICAgLndvb3gtLXNlbGVjdC0tZGFyay1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD0idHJ1ZSJdIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjYyYzsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjV29veC1zZWxlY3Qgc3R5bGUtc3F1YXJlZCAtLS0tLS0tLS0tLS0tLSovCiAgLndvb3gtLXNlbGVjdC1zcXVhcmVkIHsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIHBhZGRpbmc6IDE0cHggMzBweDsgfQogICAgLndvb3gtLXNlbGVjdC1zcXVhcmVkICsgLnNlbGVjdDIgewogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIHotaW5kZXg6IDU7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lOwogICAgICB0cmFuc2l0aW9uOiBub25lOyB9CiAgICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZCArIC5zZWxlY3QyLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDsKICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDE1cHggMCA0MHB4IDVweCByZ2JhKDYxLCA2NywgNzksIDAuMDgpOwogICAgICAgIGJveC1zaGFkb3c6IDE1cHggMCA0MHB4IDVweCByZ2JhKDYxLCA2NywgNzksIDAuMDgpOyB9CiAgICAud29veC0tc2VsZWN0LXNxdWFyZWQ6ZGlzYWJsZWQgKyAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzphZnRlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTJmMzY7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZCArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHsKICAgICAgcmlnaHQ6IDM1cHg7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZCArIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93OmFmdGVyIHsKICAgICAgdG9wOiAtNHB4OwogICAgICBsZWZ0OiAtMjBweDsKICAgICAgYm9yZGVyLWJvdHRvbTogMDsKICAgICAgYm9yZGVyLXJpZ2h0OiAwOwogICAgICBjb250ZW50OiAnJzsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGhlaWdodDogMjBweDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0OwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0OwogICAgICB3aWR0aDogMXB4OwogICAgICBvcGFjaXR5OiAxOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTBhOWJhOyB9CiAgICAud29veC0tc2VsZWN0LXNxdWFyZWQgKyAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzphZnRlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZC53b294LS1zZWxlY3QtLWRhcmsgKyAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdzo6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgICAud29veC0tc2VsZWN0LXNxdWFyZWQud29veC0tc2VsZWN0LS1kYXJrICsgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3c6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLndvb3gtLXNlbGVjdC1zcXVhcmVkLWRyb3Bkb3duIHsKICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4OwogICAgbWFyZ2luLXRvcDogLTEwcHg7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZC1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb246OmFmdGVyIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmYmEwMDsKICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLndvb3gtLXNlbGVjdC1zcXVhcmVkLWRyb3Bkb3duLWRhcmsgewogICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7CiAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxODFhMjA7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZC1kcm9wZG93bi1kYXJrIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbjo6YWZ0ZXIgewogICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZiYTAwOwogICAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmJhMDA7IH0KICAgIC53b294LS1zZWxlY3Qtc3F1YXJlZC1kcm9wZG93bi1kYXJrIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0sCiAgICAud29veC0tc2VsZWN0LXNxdWFyZWQtZHJvcGRvd24tZGFyayAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD0idHJ1ZSJdIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjEyNjsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSBMYW5ndWFnZSBTd2l0Y2hlciAtLS0tLS0tLS0tLS0tLSovCiAgLmxhbmd1YWdlLXN3aXRjaGVyIHsKICAgIHdpZHRoOiBhdXRvOwogICAgbWluLXdpZHRoOiAxNTBweDsgfQogICAgLmxhbmd1YWdlLXN3aXRjaGVyICsgLnNlbGVjdDIgewogICAgICBwYWRkaW5nOiAxNHB4IDUwcHggMTRweCAzMHB4OwogICAgICBib3JkZXI6IDJweCBzb2xpZCAjYTFhYmJkOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICAgIHdpZHRoOiBhdXRvOwogICAgICBtaW4td2lkdGg6IDE1MHB4OyB9CiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIgKyAuc2VsZWN0Mi1jb250YWluZXIgewogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlciArIC5zZWxlY3QyLWNvbnRhaW5lci5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDAgMDsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7IH0KICAKICAubGFuZ3VhZ2Utc3dpdGNoZXItZHJvcGRvd24gewogICAgYm9yZGVyLXJhZGl1czogMCAwIDMwcHggMzBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7CiAgICB0b3A6IDA7CiAgICBwYWRkaW5nOiAwIDIwcHggMjBweCAyMHB4OyB9CiAgICAubGFuZ3VhZ2Utc3dpdGNoZXItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHsKICAgICAgcGFkZGluZzogMTBweCAwOwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzNkNDQ1MTsKICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQogICAgICAubGFuZ3VhZ2Utc3dpdGNoZXItZHJvcGRvd24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uOmxhc3QtY2hpbGQgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9CiAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlci1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gc3BhbiB7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9CiAgICAgICAgLmxhbmd1YWdlLXN3aXRjaGVyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzcGFuIC53b294LWljb24gewogICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9CiAgICAgIC5sYW5ndWFnZS1zd2l0Y2hlci1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb246YWZ0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5sYW5ndWFnZS1zd2l0Y2hlci1kcm9wZG93biAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD0idHJ1ZSJdLAogICAgLmxhbmd1YWdlLXN3aXRjaGVyLWRyb3Bkb3duIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gQ29udGFjdCBGT1JNUyAtLS0tLS0tLS0tLS0tLSovCiAgLmNvbnRhY3QtZm9ybSB7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbi10b3A6IDUwcHg7IH0KICAgIC5jb250YWN0LWZvcm0gLnNlbGVjdDIsIC5jb250YWN0LWZvcm0gaW5wdXQsIC5jb250YWN0LWZvcm0gc2VsZWN0LCAuY29udGFjdC1mb3JtIHRleHRhcmVhIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfQogICAgLmNvbnRhY3QtZm9ybSBidXR0b24gewogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuc3Vic2NyaWJlLWZvcm0gewogICAgICBwYWRkaW5nOiA0MHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIgKyAuc2VsZWN0MiB7CiAgICAgIHBhZGRpbmc6IDVweCA1MHB4IDVweCAzMHB4OyB9CiAgICAuY29udGFjdC1mb3JtIGlucHV0IHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgewogICAgLmxvZ2luLWZvcm0sCiAgICAucmVnaXN0ZXItZm9ybSB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0KICAgIC5jb250YWN0LWZvcm0gewogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5pbnB1dC13aXRoLWJ0bi1pbmxpbmUgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgICAgLmlucHV0LXdpdGgtYnRuLWlubGluZSAuYnRuLAogICAgICAuaW5wdXQtd2l0aC1idG4taW5saW5lIGJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHJpZ2h0OiBhdXRvOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogICAgLmZvcm0tZ3JvdXAgbGFiZWwuY29udHJvbC1sYWJlbCB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfQogICAgLmxvZ2luLWZvcm0gewogICAgICBwYWRkaW5nOiAyMHB4OyB9CiAgICAuc2VsZWN0MiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfQogICAgaW5wdXQuZm9ybS1jb250cm9sIHsKICAgICAgcGFkZGluZzogMTJweCAxOHB4OyB9CiAgICBsYWJlbCB7CiAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDsgfQogICAgdGV4dGFyZWEuaW5wdXQtLXNxdWFyZWQgewogICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7IH0KICAgIC5mb3JtLWdyb3VwLmxhYmVsLWZsb2F0aW5nIGxhYmVsLmNvbnRyb2wtbGFiZWwsCiAgICAuZm9ybS1ncm91cC5sYWJlbC1wbGFjZWhvbGRlciBsYWJlbC5jb250cm9sLWxhYmVsIHsKICAgICAgdG9wOiAxN3B4OwogICAgICBsZWZ0OiAyM3B4OyB9CiAgICAuZm9ybS1ncm91cC5sYWJlbC1mbG9hdGluZy5pcy1mb2N1c2VkIGxhYmVsLmNvbnRyb2wtbGFiZWwsCiAgICAuZm9ybS1ncm91cC5sYWJlbC1mbG9hdGluZzpub3QoLmlzLWVtcHR5KSBsYWJlbC5jb250cm9sLWxhYmVsLAogICAgLmZvcm0tZ3JvdXAubGFiZWwtc3RhdGljIGxhYmVsLmNvbnRyb2wtbGFiZWwgewogICAgICB0b3A6IDVweDsKICAgICAgbGVmdDogMThweDsgfQogICAgLmNvbnRhY3QtZm9ybSBpbnB1dCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0KICAgIC5sZWF2ZS1yZXBseSBsYWJlbCB7CiAgICAgIG1hcmdpbjogNXB4IDAgNXB4IDA7IH0KICAgIC5mb3JtLS1zZWFyY2ggaW5wdXQgewogICAgICBwYWRkaW5nOiAxM3B4IDMwcHggMTNweCA4MHB4OyB9CiAgICAubG9naW4tZm9ybSAuZm9yZ290LWJsb2NrIHsKICAgICAgbWFyZ2luOiAzMHB4IDA7IH0KICAgIC5sb2dpbi1mb3JtIC5jaGVja2JveCBsYWJlbCwKICAgIC5mb3Jnb3QtYmxvY2sgYSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7CiAgICAuZm9yZ290LWJsb2NrIHsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsKICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfQogICAgICAuZm9yZ290LWJsb2NrID4gKiArICogewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0KICAgIHRleHRhcmVhIHsKICAgICAgaGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50OyB9CiAgICAuc3Vic2NyaWJlLS1kYXJrIGlucHV0IHsKICAgICAgcGFkZGluZzogMjBweCAzMHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1NUWUxFUyBmb3IgUkFESU8gYnV0dG9ucyAtLS0tLS0tLS0tLS0tLSovCiAgLnJhZGlvIHsKICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0KICAKICAucmFkaW8gbGFiZWwgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcGFkZGluZy1sZWZ0OiA0MHB4OwogICAgbWFyZ2luOiAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgLnJhZGlvIGxhYmVsIHNwYW4gewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAxMHB4OwogICAgdG9wOiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOwogICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yczsKICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgCiAgLnJhZGlvIGxhYmVsIC5jaXJjbGUgewogICAgYm9yZGVyOiAycHggc29saWQgIzNkNDM0ZjsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7CiAgICBoZWlnaHQ6IDIwcHg7CiAgICB3aWR0aDogMjBweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH0KICAKICAucmFkaW8gbGFiZWwgLmNoZWNrIHsKICAgIGhlaWdodDogMjBweDsKICAgIHdpZHRoOiAyMHB4OwogICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7IH0KICAKICAucmFkaW8gbGFiZWwgLmNoZWNrOmFmdGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOwogICAgbGVmdDogLTIwcHg7CiAgICB0b3A6IC0yMHB4OwogICAgaGVpZ2h0OiA1MHB4OwogICAgd2lkdGg6IDUwcHg7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICBtYXJnaW46IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMSk7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb10gewogICAgb3BhY2l0eTogMDsKICAgIGhlaWdodDogMDsKICAgIHdpZHRoOiAwOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jaGVjaywgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY2lyY2xlIHsKICAgIG9wYWNpdHk6IDE7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9CiAgCiAgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuY2lyY2xlIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZDpkaXNhYmxlZCB+IC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6ZGlzYWJsZWQgfiAuY2lyY2xlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7CiAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jaGVjayB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQsIDAuNCwgMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNCwgMC40LCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQsIDAuNCwgMSk7IH0KICAKICAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5jaXJjbGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzVhNWY2ODsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyByaXBwbGVPbiB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7IH0KICAgIDUwJSB7CiAgICAgIG9wYWNpdHk6IDAuMjsgfQogICAgMTAwJSB7CiAgICAgIG9wYWNpdHk6IDA7IH0gfQogIAogIEBrZXlmcmFtZXMgcmlwcGxlT24gewogICAgMCUgewogICAgICBvcGFjaXR5OiAwOyB9CiAgICA1MCUgewogICAgICBvcGFjaXR5OiAwLjI7IH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOyB9IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlT2ZmIHsKICAgIDAlIHsKICAgICAgb3BhY2l0eTogMDsgfQogICAgNTAlIHsKICAgICAgb3BhY2l0eTogMC4yOyB9CiAgICAxMDAlIHsKICAgICAgb3BhY2l0eTogMDsgfSB9CiAgCiAgQGtleWZyYW1lcyByaXBwbGVPZmYgewogICAgMCUgewogICAgICBvcGFjaXR5OiAwOyB9CiAgICA1MCUgewogICAgICBvcGFjaXR5OiAwLjI7IH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUkFESU8gYnV0dG9ucyBTdHlsZTIgLS0tLS0tLS0tLS0tLS0qLwogIC5yYWRpby0tc3R5bGUyLnJhZGlvIGxhYmVsIC5jaXJjbGUgewogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5yYWRpby0tc3R5bGUyLnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCB+IC5jaXJjbGUgewogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5yYWRpby0tc3R5bGUyLnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCB+IC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTIucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkIH4gLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7IH0KICAKICAucmFkaW8tLXN0eWxlMi5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQ6ZGlzYWJsZWQgfiAuY2lyY2xlIHsKICAgIGJvcmRlci1jb2xvcjogIzE2MTgxZDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7IH0KICAKICAucmFkaW8tLXN0eWxlMi5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdW2Rpc2FibGVkXSB+IC5jaXJjbGUgewogICAgYm9yZGVyLWNvbG9yOiAjNWE1ZjY4OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIFJBRElPIGJ1dHRvbnMgU3R5bGUzIC0tLS0tLS0tLS0tLS0tKi8KICAucmFkaW8tLXN0eWxlMy5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQgfiAuY2lyY2xlIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7IH0KICAKICAucmFkaW8tLXN0eWxlMy5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQgfiAuY2hlY2sgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5yYWRpby0tc3R5bGUzLnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZDpkaXNhYmxlZCB+IC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40LCAwLjQsIDEpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUzZCgwLjQsIDAuNCwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40LCAwLjQsIDEpOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTMucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkIH4gLmNpcmNsZSB7CiAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUkFESU8gYnV0dG9ucyBTdHlsZTQgLS0tLS0tLS0tLS0tLS0qLwogIC5yYWRpby0tc3R5bGU0LnJhZGlvIGxhYmVsIC5jaXJjbGUgewogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTQucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkIH4gLmNpcmNsZSB7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTQucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXVtkaXNhYmxlZF0gfiAuY2lyY2xlIHsKICAgIGJvcmRlci1jb2xvcjogIzVhNWY2ODsgfQogIAogIC5yYWRpby0tc3R5bGU0LnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCB+IC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDEpOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTQucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkIH4gLmNpcmNsZSB7CiAgICBib3JkZXItY29sb3I6ICMxNjE4MWQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTQucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkIH4gLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUkFESU8gYnV0dG9ucyBTdHlsZTUgLS0tLS0tLS0tLS0tLS0qLwogIC5yYWRpby0tc3R5bGU1LnJhZGlvIGxhYmVsIC5jaXJjbGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogIAogIC5yYWRpby0tc3R5bGU1LnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCB+IC5jaXJjbGUgewogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5yYWRpby0tc3R5bGU1LnJhZGlvIGlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCB+IC5jaGVjayB7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMSk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLnJhZGlvLS1zdHlsZTUucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkOmRpc2FibGVkIH4gLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7IH0KICAKICAucmFkaW8tLXN0eWxlNS5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQ6ZGlzYWJsZWQgfiAuY2lyY2xlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7CiAgICBib3JkZXItY29sb3I6ICMxNjE4MWQ7IH0KICAKICAuZnctdGFibGUgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQgewogICAgYm9yZGVyLXRvcDogbm9uZTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU1RZTEVTIGZvciBjaGVja2JveGVzIC0tLS0tLS0tLS0tLS0tKi8KICAuY2hlY2tib3ggewogICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfQogIAogIC5jaGVja2JveCBsYWJlbCB7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBtYXJnaW46IDA7CiAgICBmb250LXdlaWdodDogOTAwOwogICAgY29sb3I6ICM2NjZkN2E7CiAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC5jaGVja2JveCBsYWJlbCBzcGFuIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0KICAKICAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0gewogICAgb3BhY2l0eTogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIG1hcmdpbjogMDsKICAgIHotaW5kZXg6IC0xOwogICAgd2lkdGg6IDA7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgbGVmdDogMDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9CiAgCiAgLmNoZWNrYm94IC5jaGVja2JveC1tYXRlcmlhbCB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAxcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgCiAgLmNoZWNrYm94IC5jaGVja2JveC1tYXRlcmlhbDpiZWZvcmUgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwOwogICAgY29udGVudDogIiI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODQpOwogICAgaGVpZ2h0OiAyMHB4OwogICAgd2lkdGg6IDIwcHg7CiAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICBtYXJnaW46IDA7CiAgICB0b3A6IDA7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgyLjMsIDIuMywgMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZTNkKDIuMywgMi4zLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUzZCgyLjMsIDIuMywgMSk7IH0KICAKICAuY2hlY2tib3ggLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMjBweDsKICAgIGhlaWdodDogMjBweDsKICAgIGJvcmRlcjogMnB4IHNvbGlkICMzZDQzNGY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHotaW5kZXg6IDE7CiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH0KICAKICAuY2hlY2tib3ggLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjazpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY29udGVudDogIiI7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi10b3A6IC0zcHg7CiAgICBtYXJnaW4tbGVmdDogN3B4OwogICAgd2lkdGg6IDA7CiAgICBoZWlnaHQ6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAgaW5zZXQ7CiAgICBib3gtc2hhZG93OiAwIDAgMCAwIGluc2V0OwogICAgLXdlYmtpdC1hbmltYXRpb246IGNoZWNrYm94LW9mZiAwLjNzIGZvcndhcmRzOwogICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmYgMC4zcyBmb3J3YXJkczsgfQogIAogIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6YWZ0ZXIgewogICAgb3BhY2l0eTogMC4yOyB9CiAgCiAgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAKICAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6YmVmb3JlIHsKICAgIGNvbG9yOiAjZmZiYTAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMHB4IDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggLTEycHggMCAxMXB4OwogICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjaGVja2JveC1vbiAwLjNzIGZvcndhcmRzOwogICAgYW5pbWF0aW9uOiBjaGVja2JveC1vbiAwLjNzIGZvcndhcmRzOyB9CiAgCiAgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7CiAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7IH0KICAKICAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpkaXNhYmxlZCArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6YmVmb3JlIHsKICAgIGNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLmNoZWNrYm94LmNsaWNrZWQgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1tYXRlcmlhbDpiZWZvcmUgewogICAgLXdlYmtpdC1hbmltYXRpb246IHJpcHBsZU9uIDUwMG1zOwogICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtczsgfQogIAogIC5jaGVja2JveC5jbGlja2VkIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrOmFmdGVyIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtcyBmb3J3YXJkczsKICAgIGFuaW1hdGlvbjogcmlwcGxlT24gNTAwbXMgZm9yd2FyZHM7IH0KICAKICAuY2hlY2tib3guY2xpY2tlZCBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LW1hdGVyaWFsOmJlZm9yZSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zOwogICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgNTAwbXM7IH0KICAKICAuY2hlY2tib3guY2xpY2tlZCBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjazphZnRlciB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zOwogICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgNTAwbXM7IH0KICAKICAuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIH4gLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjayB7CiAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6YWZ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBjaGVja2JveC1vbiB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAxNXB4IDJweCAwIDExcHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwcHggMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4OyB9CiAgICA1MCUgewogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwcHggMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAycHggMCAxMXB4OwogICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMHB4IDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggMnB4IDAgMTFweDsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDsKICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDsgfSB9CiAgCiAgQGtleWZyYW1lcyBjaGVja2JveC1vbiB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAxNXB4IDJweCAwIDExcHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwcHggMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4OyB9CiAgICA1MCUgewogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwcHggMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAycHggMCAxMXB4OwogICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMHB4IDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggMnB4IDAgMTFweDsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDsKICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDBweCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDsgfSB9CiAgCiAgQGtleWZyYW1lcyByaXBwbGVPbiB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7IH0KICAgIDUwJSB7CiAgICAgIG9wYWNpdHk6IDAuMjsgfQogICAgMTAwJSB7CiAgICAgIG9wYWNpdHk6IDA7IH0gfQogIAogIEBrZXlmcmFtZXMgcmlwcGxlT2ZmIHsKICAgIDAlIHsKICAgICAgb3BhY2l0eTogMDsgfQogICAgNTAlIHsKICAgICAgb3BhY2l0eTogMC4yOyB9CiAgICAxMDAlIHsKICAgICAgb3BhY2l0eTogMDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIENIRUNLQk9YIGJ1dHRvbnMgU3R5bGUyIC0tLS0tLS0tLS0tLS0tKi8KICAuY2hlY2tib3gtLXN0eWxlMi5jaGVja2JveCAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlMi5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrOjpiZWZvcmUgewogICAgd2lkdGg6IDEwcHg7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lOwogICAgYW5pbWF0aW9uOiBub25lOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgdHJhbnNmb3JtOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgdG9wOiAzcHg7CiAgICBsZWZ0OiAzcHg7CiAgICBib3JkZXItcmFkaXVzOiAycHg7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlMi5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlMi5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7CiAgICBib3JkZXItY29sb3I6ICMxNjE4MWQ7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlMi5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrOjpiZWZvcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSBDSEVDS0JPWCBidXR0b25zIFN0eWxlMyAtLS0tLS0tLS0tLS0tLSovCiAgLmNoZWNrYm94LS1zdHlsZTMuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kOiAjZmZiYTAwOwogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLmNoZWNrYm94LS1zdHlsZTMuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjazo6YmVmb3JlIHsKICAgIGNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLmNoZWNrYm94LS1zdHlsZTMuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkOmRpc2FibGVkICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOwogICAgYm9yZGVyLWNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLmNoZWNrYm94LS1zdHlsZTMuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkOmRpc2FibGVkICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjazo6YmVmb3JlIHsKICAgIGNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIENIRUNLQk9YIGJ1dHRvbnMgU3R5bGU0IC0tLS0tLS0tLS0tLS0tKi8KICAuY2hlY2tib3gtLXN0eWxlNC5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWw6OmFmdGVyIHsKICAgIG9wYWNpdHk6IDA7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlNC5jaGVja2JveCAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5jaGVja2JveC0tc3R5bGU0LmNoZWNrYm94IGlucHV0W3R5cGU9ImNoZWNrYm94Il06Y2hlY2tlZCArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2sgewogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTgxZDsgfQogIAogIC5jaGVja2JveC0tc3R5bGU0LmNoZWNrYm94IGlucHV0W3R5cGU9ImNoZWNrYm94Il06Y2hlY2tlZCArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6OmJlZm9yZSB7CiAgICB3aWR0aDogMTBweDsKICAgIGhlaWdodDogMTBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7CiAgICBhbmltYXRpb246IG5vbmU7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsKICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7CiAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICBtYXJnaW46IDA7CiAgICB0b3A6IDNweDsKICAgIGxlZnQ6IDNweDsKICAgIGJvcmRlci1yYWRpdXM6IDFweDsgfQogIAogIC5jaGVja2JveC0tc3R5bGU0LmNoZWNrYm94IGlucHV0W3R5cGU9ImNoZWNrYm94Il06Y2hlY2tlZDpkaXNhYmxlZCArIC5jaGVja2JveC1tYXRlcmlhbCAuY2hlY2s6OmJlZm9yZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLmNoZWNrYm94LS1zdHlsZTQuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXTpjaGVja2VkOmRpc2FibGVkICsgLmNoZWNrYm94LW1hdGVyaWFsIC5jaGVjayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxODFkOwogICAgYm9yZGVyLWNvbG9yOiAjMTYxODFkOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIENIRUNLQk9YIGJ1dHRvbnMgU3R5bGU1IC0tLS0tLS0tLS0tLS0tKi8KICAuY2hlY2tib3gtLXN0eWxlNS5jaGVja2JveCAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7CiAgICBib3JkZXItY29sb3I6ICMzZDQzNGY7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlNS5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlNS5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrOjpiZWZvcmUgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlNS5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrIHsKICAgIGJvcmRlci1jb2xvcjogIzE2MTgxZDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7IH0KICAKICAuY2hlY2tib3gtLXN0eWxlNS5jaGVja2JveCBpbnB1dFt0eXBlPSJjaGVja2JveCJdOmNoZWNrZWQ6ZGlzYWJsZWQgKyAuY2hlY2tib3gtbWF0ZXJpYWwgLmNoZWNrOjpiZWZvcmUgewogICAgY29sb3I6ICMxNjE4MWQ7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0xFU1NPTlMgLS0tLS0tLS0tLS0tLS0qLwogIC5sZXNzb25zX19saXN0IHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBtYXJnaW46IDEwcHggMDsgfQogIAogIC5sZXNzb25zX19pdGVtIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAgIC5sZXNzb25zX19pdGVtIC5hdXRob3ItbmFtZSB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLmxlc3NvbnNfX2l0ZW0gLmxlc3NvbnMtdGl0bGUgewogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgICAubGVzc29uc19faXRlbSAubGVzc29ucy10aXRsZTpob3ZlciB7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgIC5sZXNzb25zX19pdGVtIC5sZXNzb25zLXRleHQgewogICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9CiAgICAubGVzc29uc19faXRlbSAubGVzc29uc19fdGltZSB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogICAgICAubGVzc29uc19faXRlbSAubGVzc29uc19fdGltZSAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogICAgICAgIGZpbGw6ICNmZmJhMDA7IH0KICAKICAubGVzc29uc19fYm9keSB7CiAgICBwYWRkaW5nOiAxMHB4IDAgMzBweCA3MHB4OwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjM2Q0NDUxOwogICAgbWFyZ2luLWxlZnQ6IDhweDsgfQogIAogIC5sZXNzb25zLWNvbnRlbnQgewogICAgcGFkZGluZy1ib3R0b206IDYwcHg7CiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNkNDQ1MTsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkgewogICAgLmxlc3NvbnNfX2JvZHkgewogICAgICBwYWRkaW5nOiAxMHB4IDAgMzBweCAzMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5sZXNzb25zX19pdGVtIC5sZXNzb25zX190aW1lIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfQogICAgLmxlc3NvbnNfX2l0ZW0gLmxlc3NvbnMtdGV4dCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0KICAgIC5sZXNzb25zLWNvbnRlbnQgewogICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfQogICAgLnRhYnMgdWwgbGkubGVzc29uc19faXRlbSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjTU9WRSBCQUNLR1JPVU5EIC0tLS0tLS0tLS0tLS0tKi8KICAuY3J1bWluYS1mbHlpbmctYmFsbHMgewogICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAuY3J1bWluYS1mbHlpbmctYmFsbHMgKltjbGFzcyo9ImNvbC0iXSB7CiAgICAgIHotaW5kZXg6IDEwMDsgfQogICAgLmNydW1pbmEtZmx5aW5nLWJhbGxzOmFmdGVyLCAuY3J1bWluYS1mbHlpbmctYmFsbHM6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgei1pbmRleDogOTk7IH0KICAgIC5jcnVtaW5hLWZseWluZy1iYWxsczphZnRlciB7CiAgICAgIGJvdHRvbTogMDsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggLTIwMHB4IDExOXB4IC00MHB4ICMxNjE4MWQ7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMTUwcHggMTE5cHggLTQwcHggIzE2MTgxZDsgfQogICAgLmNydW1pbmEtZmx5aW5nLWJhbGxzOmJlZm9yZSB7CiAgICAgIHRvcDogMDsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDE1MHB4IDExOXB4IC00MHB4ICMxNjE4MWQ7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTUwcHggMTE5cHggLTQwcHggIzE2MTgxZDsgfQogIAogIC5wYXJ0aWNsZXMtanMtY2FudmFzLWVsIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDB2aDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjUFJJQ0lORyBUQUJMRVMgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLXByaWNpbmctdGFibGUgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAuY3J1bWluYS1wcmljaW5nLXRhYmxlIC5wcmljaW5nLXRpdGxlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmNydW1pbmEtcHJpY2luZy10YWJsZSAucHJpY2Utc3VwLXRpdGxlIHsKICAgICAgY29sb3I6ICM2NjZkN2E7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0KICAgIC5jcnVtaW5hLXByaWNpbmctdGFibGUgLnByaWNpbmctdGh1bWIgewogICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9CiAgICAgIC5jcnVtaW5hLXByaWNpbmctdGFibGUgLnByaWNpbmctdGh1bWIgaW1nIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KICAgIC5jcnVtaW5hLXByaWNpbmctdGFibGUgLnByaWNlIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9CiAgICAgIC5jcnVtaW5hLXByaWNpbmctdGFibGUgLnByaWNlIC5wcmljZS12YWx1ZSB7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBmb250LXNpemU6IDM2cHg7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgCiAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uIHsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OwogICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAgICAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgewogICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxODFhMjA7CiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0KICAgICAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uIGxpOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0KICAgICAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uIGxpIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gewogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgICAgICAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAgICAgICAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudmFsdWUgewogICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9CiAgCiAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uLS1pbmxpbmUgbGkgewogICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uLS1pbmxpbmUgbGkgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudGl0bGUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgLnByaWNpbmctdGFibGVzLXBvc2l0aW9uLS1pbmxpbmUgbGkgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1BSSUNJTkcgU3R5bGUxIC0tLS0tLS0tLS0tLS0tKi8KICAucHJpY2luZy10YWJsZS0tc3R5bGUxIHsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZTE6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICAgIHBhZGRpbmc6IDY1cHggNDBweDsKICAgICAgbWFyZ2luLXRvcDogLTI1cHg7CiAgICAgIG1hcmdpbi1ib3R0b206IC0yNXB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUxIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlMSAucHJpY2luZy10aXRsZSB7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlMSAucHJpY2luZy10aXRsZSA+IHNwYW4gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlMSAucHJpY2UgewogICAgICBwYWRkaW5nOiAzMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYTIwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUxIC5wcmljaW5nLXRhYmxlcy1wb3NpdGlvbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlMSAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgewogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2Q0MzRmOyB9CiAgICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlMSAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgZW0gewogICAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1BSSUNJTkcgU1RZTEUyIC0tLS0tLS0tLS0tLS0tKi8KICAucHJpY2luZy10YWJsZS0tc3R5bGUyIHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBib3JkZXItd2lkdGg6IDZweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlMiAucHJpY2luZy10aHVtYiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlMiAucHJpY2luZy10aHVtYiBpbWcgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGhlaWdodDogODBweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlMiAucHJpY2luZy10aXRsZSB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgbWFyZ2luOiAwOwogICAgICBmb250LXNpemU6IDI2cHg7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlMiAucHJpY2luZy10aXRsZSA+IHNwYW4gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlMiAucHJpY2UgLnByaWNlLXZhbHVlIHsKICAgICAgZm9udC1zaXplOiA0OHB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUyIC5wcmljaW5nLXRhYmxlcy1wb3NpdGlvbiBsaSB7CiAgICAgIHBhZGRpbmc6IDlweCAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNQUklDSU5HIHNtYWxsIC0tLS0tLS0tLS0tLS0tKi8KICAucHJpY2luZy10YWJsZS0tc21hbGwgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExNTsKICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGw6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsOmhvdmVyIC5wcmljZS12YWx1ZSB7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zbWFsbCAucHJpY2luZy10aHVtYiB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgaGVpZ2h0OiA4MHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5wcmljaW5nLXRpdGxlIHsKICAgICAgbWFyZ2luOiAwOwogICAgICBmb250LXNpemU6IDI2cHg7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5wcmljaW5nLXRpdGxlID4gc3BhbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNlLXZhbHVlIHsKICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lOwogICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0KICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5wcmljZS12YWx1ZSAuZ3Jvd3RoLAogICAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNlLXZhbHVlIC5kcm9wIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfQogICAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNlLXZhbHVlIC5ncm93dGggewogICAgICAgIGNvbG9yOiAjOGRjNjQ3OyB9CiAgICAgIC5wcmljaW5nLXRhYmxlLS1zbWFsbCAucHJpY2UtdmFsdWUgLmRyb3AgewogICAgICAgIGNvbG9yOiAjZmYzMTMzOyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLmdhaW4tZHJvcC1hcnJvdyB7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9CiAgICAgIC5wcmljaW5nLXRhYmxlLS1zbWFsbCAuZ2Fpbi1kcm9wLWFycm93IC53b294LWljb24gewogICAgICAgIHdpZHRoOiAzNXB4OwogICAgICAgIGhlaWdodDogMzVweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBmaWxsOiAjNjY2ZDdhOyB9CiAgICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5nYWluLWRyb3AtYXJyb3cgLndvb3gtaWNvbiArIC53b294LWljb24gewogICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0KICAgICAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLmdhaW4tZHJvcC1hcnJvdyAud29veC1pY29uLmFycm93LXVwLmFjdGl2ZSB7CiAgICAgICAgICBmaWxsOiAjOGRjNjQ3OyB9CiAgICAgICAgLnByaWNpbmctdGFibGUtLXNtYWxsIC5nYWluLWRyb3AtYXJyb3cgLndvb3gtaWNvbi5hcnJvdy1kb3duLmFjdGl2ZSB7CiAgICAgICAgICBmaWxsOiAjZmYzMTMzOyB9CiAgCiAgLmRyb3AgewogICAgY29sb3I6ICNmZjMxMzM7IH0KICAKICAuZ3Jvd3RoIHsKICAgIGNvbG9yOiAjOGRjNjQ3OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNQUklDSU5HIFN0eWxlIFRhYmxlcyAtLS0tLS0tLS0tLS0tLSovCiAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgewogICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgYm9yZGVyLWNvbGxhcHNlOiB1bnNldDsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQgewogICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHsKICAgICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDAgMDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0Zm9vdCA+IHRyID4gdGQgewogICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBjb2xvcjogI2MzYzlkNDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExNTsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0Ym9keSA+IHRyID4gdGQgewogICAgICBwYWRkaW5nOiAzNXB4IDIwcHg7CiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHsKICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQgewogICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0KICAKICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgewogICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgPiB0ZDpsYXN0LWNoaWxkIHsKICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZSA+IHRkIHsKICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZTpob3Zlci5jLWJyb3duID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODAwOwogICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsKICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZWU3ODAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1icm93biA+IHRkOmxhc3QtY2hpbGQgewogICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZWU3ODAwOwogICAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYnJvd24gPiB0ZCB7CiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjZWU3ODAwOwogICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2VlNzgwMDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYmx1ZSA+IHRkOmZpcnN0LWNoaWxkIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzVhYTsKICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7CiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzMyMzVhYTsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYmx1ZSA+IHRkOmxhc3QtY2hpbGQgewogICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjMzIzNWFhOwogICAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYmx1ZSA+IHRkIHsKICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMzMjM1YWE7CiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMzIzNWFhOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1ibHVlLWxpZ2h0ID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1MmZmOwogICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsKICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMzQ1MmZmOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1ibHVlLWxpZ2h0ID4gdGQ6bGFzdC1jaGlsZCB7CiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMzNDUyZmY7CiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1ibHVlLWxpZ2h0ID4gdGQgewogICAgICBib3JkZXItdG9wOiA0cHggc29saWQgIzM0NTJmZjsKICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMzNDUyZmY7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZTpob3Zlci5jLWJvcmRlci1jb2xvciA+IHRkOmZpcnN0LWNoaWxkIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsKICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7CiAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzNkNDM0ZjsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYm9yZGVyLWNvbG9yID4gdGQ6bGFzdC1jaGlsZCB7CiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICMzZDQzNGY7CiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1ib3JkZXItY29sb3IgPiB0ZCB7CiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjM2Q0MzRmOwogICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzNkNDM0ZjsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlOmhvdmVyLmMtYmx1ZS1saWdodGVyID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE2Y2IwOwogICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsKICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMDE2Y2IwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1ibHVlLWxpZ2h0ZXIgPiB0ZDpsYXN0LWNoaWxkIHsKICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzAxNmNiMDsKICAgICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZTpob3Zlci5jLWJsdWUtbGlnaHRlciA+IHRkIHsKICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMTZjYjA7CiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDE2Y2IwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1wcmltYXJ5ID4gdGQ6Zmlyc3QtY2hpbGQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZmJhMDA7CiAgICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1wcmltYXJ5ID4gdGQ6bGFzdC1jaGlsZCB7CiAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkICNmZmJhMDA7CiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGU6aG92ZXIuYy1wcmltYXJ5ID4gdGQgewogICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI2ZmYmEwMDsKICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmJhMDA7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZSAucHJpY2luZy10aHVtYiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgaGVpZ2h0OiA2MHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlIC5wcmljaW5nLXRpdGxlIHsKICAgICAgbWFyZ2luOiAwOyB9CiAgICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZSAucHJpY2luZy10aXRsZSA+IHNwYW4gewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudGl0bGUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSAudmFsdWUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgLnByaWNlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgLnByaWNlIC5wcmljZS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUgLnByaWNlLXN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjUFJJQ0lORyBUYWJsZXMgVHJpcGxlIC0tLS0tLS0tLS0tLS0tKi8KICAucHJpY2luZy10YWJsZXMtd3JhcCB7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBmbG9hdDogbGVmdDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwIC5iZy1sYXllciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgIHotaW5kZXg6IC0xOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICBvcGFjaXR5OiAwOwogICAgICBib3JkZXI6IDZweCBzb2xpZCAjZmZiYTAwOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcCAuY3J1bWluYS1wcmljaW5nLXRhYmxlIHsKICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgbWluLWhlaWdodDogMTAwJTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQogICAgICAucHJpY2luZy10YWJsZXMtd3JhcCAuY3J1bWluYS1wcmljaW5nLXRhYmxlOmhvdmVyIHsKICAgICAgICB6LWluZGV4OiA5OTA7IH0KICAgICAgICAucHJpY2luZy10YWJsZXMtd3JhcCAuY3J1bWluYS1wcmljaW5nLXRhYmxlOmhvdmVyIC5iZy1sYXllciB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMS4wNSk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEuMDUpOwogICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgICBvcGFjaXR5OiAxOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBTdHlsZXMgZm9yIEN1c3RvbSBQcmljaW5nID09PT09PT09PT09PSovCiAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwID4gKjpudGgtY2hpbGQoMikgewogICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwOyB9CiAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgPiAqOmxhc3QtY2hpbGQgewogICAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwOyB9CiAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgLnByaWNpbmctdGFibGUtLW1vZGVybiB7CiAgICAgIHdpZHRoOiAyMCU7CiAgICAgIGZsb2F0OiBsZWZ0OwogICAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgLnByaWNpbmctdGFibGUtLW1vZGVybi1tYWluIHsKICAgICAgd2lkdGg6IDIwJTsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIHotaW5kZXg6IDEwOwogICAgICBwYWRkaW5nOiAwOyB9CiAgICAgIC5wcmljaW5nLXRhYmxlcy1tb2Rlcm4td3JhcCAucHJpY2luZy10YWJsZS0tbW9kZXJuLW1haW4gLnByaWNpbmctY29udGVudCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExNTsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDIwcHg7CiAgICAgICAgcGFkZGluZzogMCAwIDYwcHg7IH0KICAgICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4tbWFpbiAuY3J1bWluYS1oZWFkaW5nIHsKICAgICAgICBwYWRkaW5nOiAxMDBweCA1MHB4IDUwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgLnByaWNpbmctdGFibGUtLW1vZGVybi1tYWluIC5wcmljaW5nLXRhYmxlcy1wb3NpdGlvbiB7CiAgICAgICAgbWFyZ2luOiAwOyB9CiAgICAgICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4tbWFpbiAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgewogICAgICAgICAgcGFkZGluZzogMjBweCA0MHB4OwogICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAgICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4tbWFpbiAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGk6Zmlyc3QtY2hpbGQgewogICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDQwcHg7IH0KICAgICAgICAgIC5wcmljaW5nLXRhYmxlcy1tb2Rlcm4td3JhcCAucHJpY2luZy10YWJsZS0tbW9kZXJuLW1haW4gLnByaWNpbmctdGFibGVzLXBvc2l0aW9uIGxpIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnZhbHVlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgICBjb2xvcjogIzY2NmQ3YTsgfQogIAogIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4gewogICAgcGFkZGluZzogMDsgfQogICAgLnByaWNpbmctdGFibGUtLW1vZGVybjpob3ZlciB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICAgIGJvcmRlcjogNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjsKICAgICAgei1pbmRleDogMTE7CiAgICAgIG1hcmdpbi10b3A6IC04cHg7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4gLnByaWNpbmctdGh1bWIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgICAgIHBhZGRpbmc6IDUwcHg7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgICAgLnByaWNpbmctdGFibGUtLW1vZGVybiAucHJpY2luZy10aHVtYiBpbWcgewogICAgICAgIG1pbi13aWR0aDogMTAwcHg7CiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tbW9kZXJuIC5wcmljaW5nLWNvbnRlbnQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTE1OwogICAgICBwYWRkaW5nOiAwIDAgNjBweDsgfQogICAgLnByaWNpbmctdGFibGUtLW1vZGVybiAucHJpY2luZy10aXRsZSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4gLnByaWNlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgICAucHJpY2luZy10YWJsZS0tbW9kZXJuIC5wcmljZSAucHJpY2UtdmFsdWUgewogICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDsgfQogICAgLnByaWNpbmctdGFibGUtLW1vZGVybiAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gewogICAgICBtYXJnaW46IDA7IH0KICAgICAgLnByaWNpbmctdGFibGUtLW1vZGVybiAucHJpY2luZy10YWJsZXMtcG9zaXRpb24gbGkgewogICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9CiAgICAucHJpY2luZy10YWJsZS0tbW9kZXJuIC5idG4gewogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSAjUFJJQ0lORyBTdHlsZSBUYWJsZXMgQmx1cnJpbmcgPT09PT09PT09PT09Ki8KICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyB7CiAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ciB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQgewogICAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMCAwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRmb290ID4gdHIgPiB0ZCB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDIwcHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0aGVhZCA+IHRyID4gdGggewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRib2R5ID4gdHIgPiB0ZCB7CiAgICAgIHBhZGRpbmc6IDM1cHggMjBweDsKICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQgewogICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHk6aG92ZXIgPiB0ciB7CiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDVweCk7CiAgICAgIGZpbHRlcjogYmx1cig1cHgpOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2U7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0cjpob3ZlciB7CiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDApOwogICAgICBmaWx0ZXI6IGJsdXIoMCk7IH0KICAgICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Ym9keSA+IHRyOmhvdmVyID4gdGQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODFhMjA7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA0cHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Ym9keSA+IHRyLmMtYnJvd24gPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODAwOyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRib2R5ID4gdHIuYy1ibHVlID4gdGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzVhYTsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Ym9keSA+IHRyLmMtYmx1ZS1saWdodCA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDUyZmY7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ci5jLWJvcmRlci1jb2xvciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQzNGY7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ci5jLWJsdWUtbGlnaHRlciA+IHRkOmZpcnN0LWNoaWxkOmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTZjYjA7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ci5jLXByaW1hcnkgPiB0ZDpmaXJzdC1jaGlsZDpiZWZvcmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlLWJsdXJyaW5nIHsKICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZS1ibHVycmluZyAucHJpY2luZy10aHVtYiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAgICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlLWJsdXJyaW5nIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgICAgd2lkdGg6IDM1cHg7CiAgICAgICAgaGVpZ2h0OiAzNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlLWJsdXJyaW5nIC5wcmljaW5nLXRpdGxlIHsKICAgICAgbWFyZ2luOiAwOwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZm9udC1zaXplOiAyMHB4OyB9CiAgICAgIC5wcmljaW5nLXRhYmxlLS1zdHlsZS10YWJsZS1ibHVycmluZyAucHJpY2luZy10aXRsZSA+IHNwYW4gewogICAgICAgIGNvbG9yOiAjZmZiYTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiAgCiAgLnBheW1lbnQtbWV0aG9kIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfQogICAgLnBheW1lbnQtbWV0aG9kIGltZyB7CiAgICAgIGhlaWdodDogMjBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkgewogICAgLnByaWNpbmctdGFibGUtLXNtYWxsIHsKICAgICAgcGFkZGluZzogMjBweDsgfQogICAgLmNydW1pbmEtcHJpY2luZy10YWJsZSAucHJpY2UgLnByaWNlLXZhbHVlIHsKICAgICAgZm9udC1zaXplOiAyMnB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUyIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNpbmctdGh1bWIgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogICAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNpbmctdGh1bWIgPiAqIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNpbmctdGh1bWIgaW1nIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLmdhaW4tZHJvcC1hcnJvdyB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgICAucHJpY2luZy10YWJsZS0tc21hbGwgLnByaWNpbmctdGl0bGUgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0aGVhZCA+IHRyID4gdGgsCiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRoZWFkID4gdHIgPiB0aCwKICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGJvZHkgPiB0ciA+IHRkIHsKICAgICAgcGFkZGluZzogMTVweCAxMHB4OwogICAgICBmb250LXNpemU6IDEycHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Zm9vdCA+IHRyID4gdGQgewogICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfQogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnRpdGxlLAogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnZhbHVlIHsKICAgICAgZm9udC1zaXplOiAxMnB4OyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwKICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsCiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCB7CiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfQogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCwKICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsCiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZS1ibHVycmluZyA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCB7CiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0KICAgIC5wYXltZW50LW1ldGhvZCBpbWcgewogICAgICBoZWlnaHQ6IDE1cHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlIC5wcmljaW5nLXRpdGxlLAogICAgLnByaWNpbmctdGFibGUtLXN0eWxlLXRhYmxlLWJsdXJyaW5nIC5wcmljaW5nLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNHB4OyB9CiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZSAucHJpY2luZy10aHVtYiBpbWcsCiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUtdGFibGUtYmx1cnJpbmcgLnByaWNpbmctdGh1bWIgaW1nIHsKICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIGhlaWdodDogMjBweDsKICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUyIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAucHJpY2luZy10YWJsZS0tc3R5bGUyIC5wcmljaW5nLXRodW1iIGltZyB7CiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4gLnByaWNpbmctdGh1bWIgewogICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy1tb2Rlcm4td3JhcCAucHJpY2luZy10YWJsZS0tbW9kZXJuLW1haW4gLmNydW1pbmEtaGVhZGluZyB7CiAgICAgIHBhZGRpbmc6IDUwcHggMjBweCA1MHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsKICAgIC5jcnVtaW5hLXByaWNpbmctdGFibGUgLnByaWNlIC5wcmljZS12YWx1ZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsgfQogICAgLnBheW1lbnQtbWV0aG9kIGltZyB7CiAgICAgIGhlaWdodDogMTBweDsgfQogICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwIC5wcmljaW5nLXRhYmxlLS1tb2Rlcm4tbWFpbiB7CiAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5wcmljaW5nLXRhYmxlcy1tb2Rlcm4td3JhcCAucHJpY2luZy10YWJsZS0tbW9kZXJuIHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIC5wcmljaW5nLXRhYmxlcy1tb2Rlcm4td3JhcCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgPiAqIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAgICAgICAucHJpY2luZy10YWJsZXMtbW9kZXJuLXdyYXAgPiAqOm50aC1jaGlsZCgyKSB7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgICAgICAgLnByaWNpbmctdGFibGVzLW1vZGVybi13cmFwID4gKjpsYXN0LWNoaWxkIHsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUgPiB0aGVhZCA+IHRyID4gdGgsCiAgICAucHJpY2luZy10YWJsZXMtd3JhcC10YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwKICAgIC5wcmljaW5nLXRhYmxlcy13cmFwLXRhYmxlLWJsdXJyaW5nID4gdGhlYWQgPiB0ciA+IHRoLAogICAgLnByaWNpbmctdGFibGVzLXdyYXAtdGFibGUtYmx1cnJpbmcgPiB0Ym9keSA+IHRyID4gdGQgewogICAgICBmb250LXNpemU6IDEwcHg7IH0KICAgIC5wcmljaW5nLXRhYmxlcy13cmFwIHsKICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0NPTlRBQ1RTIC0tLS0tLS0tLS0tLS0tKi8KICAuY29udGFjdC1pdGVtIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfQogICAgLmNvbnRhY3QtaXRlbSAuaW5mbyB7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBmb250LXNpemU6IDE4cHg7IH0KICAgICAgLmNvbnRhY3QtaXRlbSAuaW5mbyBzcGFuIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY29sb3I6ICNhMWFiYmQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfQogICAgICAuY29udGFjdC1pdGVtIC5pbmZvIGEgewogICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgLmNvbnRhY3QtaXRlbSAuaW5mbyBhOmhvdmVyIHsKICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAuY29udGFjdC1pdGVtIC5pbmZvLXdyYXAgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsgfQogICAgLmNvbnRhY3QtaXRlbSAuc29jaWFscyB7CiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0KICAgIC5jb250YWN0LWl0ZW0gKyAuY29udGFjdC1pdGVtIHsKICAgICAgbWFyZ2luLXRvcDogNTBweDsgfQogIAogIC5jb250YWN0LWl0ZW0tdGl0bGUgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmNvbnRhY3QtaXRlbS10aXRsZTphZnRlciB7CiAgICAgIGNvbnRlbnQ6ICIuIjsKICAgICAgZm9udC1zaXplOiBpbmhlcml0OwogICAgICBjb2xvcjogI2ZmYmEwMDsKICAgICAgd2lkdGg6IDA7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgI21hcCwKICAuY3J1bWluYS1tYXAgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDcwcHggMCAxMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICBib3gtc2hhZG93OiA3MHB4IDAgMTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgbWF4LWhlaWdodDogOTB2aDsgfQogICAgI21hcCAubWFwLWNhbnZhcywKICAgIC5jcnVtaW5hLW1hcCAubWFwLWNhbnZhcyB7CiAgICAgIGhlaWdodDogMTAwJTsgfQogIAogIC5ibG9jay1sb2NhdGlvbi1pbmZvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbGVmdDogMTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgei1pbmRleDogOTk5OwogICAgbWF4LXdpZHRoOiA5MCU7IH0KICAgIC5ibG9jay1sb2NhdGlvbi1pbmZvIC5hZHJlc3MgewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSBSZXNwb25zaXZlIE1vZGUgLS0tLS0tLS0tLS0tLS0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC5jb250YWN0LWl0ZW0gKyAuY29udGFjdC1pdGVtIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc5OXB4KSB7CiAgICAjbWFwLAogICAgLmNydW1pbmEtbWFwIHsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNFWFBFUlRTIC0tLS0tLS0tLS0tLS0tKi8KICAvKiBPcmJpdGxpc3QgY29yZSAqLwogIHVsLm9yYml0Lm9yYml0bGlzdEpTIHsKICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDA7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBoZWlnaHQ6IDEwMHZoOwogICAgbWF4LWhlaWdodDogMTAwdmg7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsgfQogIAogIC8qIE9yYml0bGlzdCBzYXRlbGxpdGVzICovCiAgdWwub3JiaXQub3JiaXRsaXN0SlMgbGkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgICB1bC5vcmJpdC5vcmJpdGxpc3RKUyBsaS5yZWxhdGl2ZSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOwogICAgICAtbXMtdHJhbnNmb3JtOiBub25lOwogICAgICB0cmFuc2Zvcm06IG5vbmU7CiAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50OwogICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWFyZ2luOiBhdXRvOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIHVsLm9yYml0Lm9yYml0bGlzdEpTIHsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICBtYXgtaGVpZ2h0OiB1bnNldDsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAgIHVsLm9yYml0Lm9yYml0bGlzdEpTIGxpIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogICAgICB1bC5vcmJpdC5vcmJpdGxpc3RKUyBsaTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgICAgIHVsLm9yYml0Lm9yYml0bGlzdEpTIGxpLnJlbGF0aXZlIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1dJTkRPVy1QT1BVUCAtLS0tLS0tLS0tLS0tLSovCiAgLndpbmRvdy1wb3B1cCB7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB0b3A6IC0yMDAwcHg7CiAgICBsZWZ0OiA1MCU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC41czsKICAgIHotaW5kZXg6IDk5OTk5OTsKICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTQwMHB4OwogICAgbWF4LXdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQwcHgpOwogICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsKICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDgwcHggMCAxMTBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgYm94LXNoYWRvdzogODBweCAwIDExMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAud2luZG93LXBvcHVwIC5tQ3VzdG9tU2Nyb2xsYmFyIHsKICAgICAgbWF4LWhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHZoIC0gMjAwcHgpOwogICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpOyB9CiAgICAud2luZG93LXBvcHVwIC5wcy5wcy0tYWN0aXZlLXkgPiAucHNfX3Njcm9sbGJhci15LXJhaWwgewogICAgICB6LWluZGV4OiA1OwogICAgICByaWdodDogMjBweCAhaW1wb3J0YW50OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfQogICAgLndpbmRvdy1wb3B1cCAucHMgPiAucHNfX3Njcm9sbGJhci15LXJhaWwgPiAucHNfX3Njcm9sbGJhci15IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1yaWdodDogNHB4IGRvdHRlZCAjZmZiYTAwOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAud2luZG93LXBvcHVwIC5wczpob3ZlciA+IC5wc19fc2Nyb2xsYmFyLXktcmFpbCB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAgIC53aW5kb3ctcG9wdXAgLnBzOmhvdmVyID4gLnBzX19zY3JvbGxiYXIteS1yYWlsOmhvdmVyID4gLnBzX19zY3JvbGxiYXIteSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmViMGI2NjsgfQogIAogIC53aW5kb3ctcG9wdXAgLmNvbnRlbnQgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDE7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWltYWdlIDAuMXMgZWFzZSwgYWxsIDYwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAwLjFzIGVhc2UsIGFsbCA2MDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYm9keS1iZy5wbmcpOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTgxZDsgfQogIAogIC53aW5kb3ctcG9wdXAuYWN0aXZlIHsKICAgIHRvcDogMTAwcHg7IH0KICAKICAucmVnaXN0ZXItZXZlbnQgewogICAgd2lkdGg6IDY4MHB4OyB9CiAgCiAgYm9keTpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6IHJnYmEoNywgOCwgOSwgMC41KTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlOwogICAgei1pbmRleDogLTk5OTsgfQogIAogIGJvZHkucG9wdXAtYWN0aXZlIC5jcnVtaW5hLWZseWluZy1iYWxscyBbY2xhc3MqPSJjb2wtIl0gewogICAgei1pbmRleDogdW5zZXQ7IH0KICAKICBib2R5LmJvZHktb3ZlcmxheS1hY3RpdmU6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb3BhY2l0eTogMTsKICAgIHotaW5kZXg6IDk5OTk5OyB9CiAgCiAgLnBvcHVwLWNsb3NlIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogNDBweDsKICAgIHJpZ2h0OiA0MHB4OwogICAgei1pbmRleDogOTk5OyB9CiAgICAucG9wdXAtY2xvc2U6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgIGZpbGw6ICNmZmJhMDA7IH0KICAgIC5wb3B1cC1jbG9zZSAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDQwcHg7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgZmlsbDogIzY2NmQ3YTsgfQogIAogIC5jcnVtaW5hLWdyaWQgLnBzLnBzLS1hY3RpdmUteSA+IC5wc19fc2Nyb2xsYmFyLXktcmFpbCB7CiAgICB6LWluZGV4OiA1OwogICAgcmlnaHQ6IDIwcHggIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLmNydW1pbmEtZ3JpZCAucHMgPiAucHNfX3Njcm9sbGJhci15LXJhaWwgPiAucHNfX3Njcm9sbGJhci15IHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJpZ2h0OiA0cHggZG90dGVkICNmZmJhMDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRvcDogMCAhaW1wb3J0YW50OyB9CiAgCiAgLmNydW1pbmEtZ3JpZCAucHM6aG92ZXIgPiAucHNfX3Njcm9sbGJhci15LXJhaWwgewogICAgb3BhY2l0eTogMTsgfQogIAogIC5jcnVtaW5hLWdyaWQgLnBzOmhvdmVyID4gLnBzX19zY3JvbGxiYXIteS1yYWlsOmhvdmVyID4gLnBzX19zY3JvbGxiYXIteSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJlYjBiNjY7IH0KICAKICAuY3J1bWluYS1ncmlkIC5wcy5wcy0tYWN0aXZlLXggPiAucHNfX3Njcm9sbGJhci14LXJhaWwgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICB6LWluZGV4OiA1OyB9CiAgCiAgLmNydW1pbmEtZ3JpZCAucHMgPiAucHNfX3Njcm9sbGJhci14LXJhaWw6YWN0aXZlID4gLnBzX19zY3JvbGxiYXIteCwKICAuY3J1bWluYS1ncmlkIC5wcyA+IC5wc19fc2Nyb2xsYmFyLXgtcmFpbDpob3ZlciA+IC5wc19fc2Nyb2xsYmFyLXggewogICAgaGVpZ2h0OiA2cHg7IH0KICAKICAuY3J1bWluYS1ncmlkIC5wcyA+IC5wc19fc2Nyb2xsYmFyLXgtcmFpbCA+IC5wc19fc2Nyb2xsYmFyLXggewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICBib3JkZXItYm90dG9tOiA0cHggZG90dGVkICNmZmJhMDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfQogIAogIC5jcnVtaW5hLWdyaWQgLnBzOmhvdmVyID4gLnBzX19zY3JvbGxiYXIteC1yYWlsIHsKICAgIG9wYWNpdHk6IDE7IH0KICAKICAuY3J1bWluYS1ncmlkIC5wczpob3ZlciA+IC5wc19fc2Nyb2xsYmFyLXgtcmFpbDpob3ZlciA+IC5wc19fc2Nyb2xsYmFyLXggewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZWIwYjY2OyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsKICAgIC5wb3B1cC1jbG9zZSAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIGhlaWdodDogMjBweDsgfQogICAgLmF1dGhvci1kZXRhaWxzIC5wb3B1cC1jbG9zZSB7CiAgICAgIHRvcDogMjBweDsKICAgICAgcmlnaHQ6IGF1dG87CiAgICAgIGxlZnQ6IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA0NjBweCkgewogICAgLndpbmRvdy1wb3B1cC5hY3RpdmUgewogICAgICB0b3A6IDE1MHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0FVVEhPUiBERVRBSUxTIC0tLS0tLS0tLS0tLS0tKi8KICAuYXV0aG9yLWRldGFpbHMgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLmF1dGhvci1kZXRhaWxzIC5hdmF0YXItZGV0YWlscyB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICAgIGZsb2F0OiBsZWZ0OwogICAgICBtYXgtd2lkdGg6IDUwJTsgfQogICAgLmF1dGhvci1kZXRhaWxzIC5hdXRob3ItY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDEwMHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAgIC5hdXRob3ItZGV0YWlscyAuYXV0aG9yLWNvbnRlbnQgYmxvY2txdW90ZSB7CiAgICAgICAgbWFyZ2luOiAwOyB9CiAgICAgICAgLmF1dGhvci1kZXRhaWxzIC5hdXRob3ItY29udGVudCBibG9ja3F1b3RlIHAgewogICAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgICAuYXV0aG9yLWRldGFpbHMgLmF1dGhvci1jb250ZW50IC5hdXRob3ItbmFtZSB7CiAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgLmF1dGhvci1kZXRhaWxzIC5hdXRob3ItY29udGVudCAuc29jaWFscyB7CiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkgewogICAgLmF1dGhvci1kZXRhaWxzIC5hdXRob3ItY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgewogICAgLmF1dGhvci1kZXRhaWxzIC5hdmF0YXItZGV0YWlscyB7CiAgICAgIGZsb2F0OiBub25lOwogICAgICBtYXJnaW46IDAgYXV0bzsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuYXV0aG9yLWRldGFpbHMgLmF1dGhvci1jb250ZW50IGJsb2NrcXVvdGUgcCB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNCTE9HUyAtLS0tLS0tLS0tLS0tLSovCiAgLnBvc3QgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogNjBweCAwOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5wb3N0IC5wb3N0X19kYXRlIHsKICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgICAucG9zdCAucG9zdF9fZGF0ZTphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ0NTE7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsgfQogICAgLnBvc3Q6aG92ZXIgLnBvc3RfX2RhdGU6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAucG9zdC5zdGlja3ktcG9zdCAucG9zdF9fY29udGVudCB7CiAgICAgIHdpZHRoOiA1MCU7IH0KICAgIC5wb3N0LnN0aWNreS1wb3N0IC5wb3N0X19kYXRlIHsKICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0KICAgICAgLnBvc3Quc3RpY2t5LXBvc3QgLnBvc3RfX2RhdGU6YWZ0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7IH0KICAgIC5wb3N0LnN0aWNreS1wb3N0IC5wb3N0X190ZXh0IHsKICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICBjb2xvcjogI2MzYzlkNDsgfQogICAgLnBvc3Quc3RpY2t5LXBvc3QgLnBvc3QtdGh1bWIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAwOwogICAgICB0b3A6IDA7CiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7CiAgICAgIG1heC13aWR0aDogODAlOyB9CiAgICAgIC5wb3N0LnN0aWNreS1wb3N0IC5wb3N0LXRodW1iOmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJ1xmMDA1JzsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDsKICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB6LWluZGV4OiA1OwogICAgICAgIHRvcDogNDBweDsKICAgICAgICByaWdodDogNDBweDsKICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBmaWxsOiAjZmZmOyB9CiAgCiAgLnBvc3RfX2NvbnRlbnQgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgei1pbmRleDogMTsgfQogIAogIC5wb3N0LXRodW1iIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAucG9zdC10aHVtYiBpbWcgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgbWFyZ2luOiAwIGF1dG87IH0KICAgIC5wb3N0LXRodW1iIGlmcmFtZSB7CiAgICAgIHdpZHRoOiAxMDAlOyB9CiAgCiAgLnBvc3RfX3RpdGxlIHsKICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgCiAgYS5wb3N0X190aXRsZTpob3ZlciB7CiAgICBjb2xvcjogI2ZmYmEwMDsgfQogIAogIC5wb3N0X19kYXRlIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLnBvc3RfX2RhdGUgLm51bWJlciB7CiAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBsaW5lLWhlaWdodDogMS4xOyB9CiAgICAucG9zdF9fZGF0ZSB0aW1lIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNzAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNWSURFTyBQT1NUIC0tLS0tLS0tLS0tLS0tKi8KICAucG9zdC52aWRlbyAudmlkZW8tY29udHJvbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfQogIAogIC52aWRlby1jb250cm9sIC53b294LWljb24gewogICAgZmlsbDogI2ZmZjsKICAgIGNvbG9yOiAjZmZmOwogICAgd2lkdGg6IDEwMHB4OwogICAgaGVpZ2h0OiAxMDBweDsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAKICAudmlkZW8tY29udHJvbC15b3V0dWJlIHsKICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4IDMwcHg7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNDRDIwMUY7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxOyB9CiAgICAudmlkZW8tY29udHJvbC15b3V0dWJlIC53b294LWljb24gewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNTbGlkZXIgUE9TVCAtLS0tLS0tLS0tLS0tLSovCiAgLnBvc3Quc2xpZGVyIC5wb3N0LXRodW1iIGltZyB7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgCiAgLnBvc3Quc2xpZGVyIC5wYWdpbmF0aW9uLWJvdHRvbS1jZW50ZXIgewogICAgcGFkZGluZy1ib3R0b206IDQ1cHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0xpbmsgUE9TVCAtLS0tLS0tLS0tLS0tLSovCiAgLnBvc3QubGluayB7CiAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAucG9zdC5saW5rIC5wb3N0LXRodW1iIHsKICAgICAgcGFkZGluZzogMCA1MHB4OyB9CiAgICAgIC5wb3N0LmxpbmsgLnBvc3QtdGh1bWI6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnaHR0cDovLyc7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTE1cHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBmb250LXNpemU6IDE2MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGNvbG9yOiAjMWUyMDI1OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgei1pbmRleDogLTE7IH0KICAgIC5wb3N0LmxpbmsgLnNpdGUtbGluayB7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0F1ZGlvIFBPU1QgLS0tLS0tLS0tLS0tLS0qLwogIC5wb3N0LmF1ZGlvIC5wb3N0LXRodW1iIHsKICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1BPU1QgU3RhbmRhcmQgRGV0YWlscyAtLS0tLS0tLS0tLS0tLSovCiAgLnBvc3QtZGV0YWlscy13cmFwIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgLnBvc3QtZGV0YWlscy13cmFwIC5wb3N0X19kYXRlIHsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIGNvbG9yOiAjYzNjOWQ0OyB9CiAgICAgIC5wb3N0LWRldGFpbHMtd3JhcCAucG9zdF9fZGF0ZSAubnVtYmVyIHsKICAgICAgICBmb250LXNpemU6IDQwcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9CiAgICAgIC5wb3N0LWRldGFpbHMtd3JhcCAucG9zdF9fZGF0ZSB0aW1lIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfQogICAgICAgIC5wb3N0LWRldGFpbHMtd3JhcCAucG9zdF9fZGF0ZSB0aW1lIHNwYW4gewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBjb2xvcjogI2ExYWJiZDsgfQogICAgICAucG9zdC1kZXRhaWxzLXdyYXAgLnBvc3RfX2RhdGUgKyAuYXV0aG9yLWJsb2NrIHsKICAgICAgICBtYXJnaW4tbGVmdDogNjBweDsgfQogICAgLnBvc3QtZGV0YWlscy13cmFwIC5hdXRob3ItYmxvY2sgewogICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAgIC5wb3N0LWRldGFpbHMtd3JhcCAuYXV0aG9yLWJsb2NrIC5hdmF0YXIgewogICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfQogIAogIC5wb3N0LXN0YW5kYXJkLWRldGFpbHMgLnBvc3QtYWRkaXRpb25hbC1pbmZvIHsKICAgIGZsb2F0OiBsZWZ0OyB9CiAgCiAgLnBvc3Qtc3RhbmRhcmQtZGV0YWlscyAucG9zdF9fY29udGVudCB7CiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgCiAgLnBvc3Qtc3RhbmRhcmQtZGV0YWlscyBibG9ja3F1b3RlIHsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbWFyZ2luOiAwOyB9CiAgICAucG9zdC1zdGFuZGFyZC1kZXRhaWxzIGJsb2NrcXVvdGU6OmJlZm9yZSB7CiAgICAgIHRvcDogNDBweDsKICAgICAgbGVmdDogNDBweDsgfQogICAgLnBvc3Qtc3RhbmRhcmQtZGV0YWlscyBibG9ja3F1b3RlIHAgewogICAgICBtYXJnaW46IDAgMCA0MHB4OwogICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsKICAgICAgei1pbmRleDogMjsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgewogICAgLnBvc3QgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgICAgLnBvc3QgLnJvdyA+ICogewogICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAgICAgICAucG9zdCAucm93ID4gKjpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgIC5wb3N0LnN0aWNreS1wb3N0IC5wb3N0X19jb250ZW50IHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIC5wb3N0LmxpbmsgLnBvc3QtdGh1bWIgewogICAgICBwYWRkaW5nOiAwOyB9CiAgICAucG9zdC5zdGlja3ktcG9zdCAucG9zdC10aHVtYiB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9CiAgICAucG9zdC5zdGlja3ktcG9zdCAucG9zdC10aHVtYjo6YmVmb3JlIHsKICAgICAgdG9wOiAxNXB4OwogICAgICByaWdodDogMTVweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICB3aWR0aDogMzBweDsKICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsgfQogICAgLnBvc3QucG9zdC1zdGFuZGFyZC1kZXRhaWxzIHsKICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgcGFkZGluZzogMDsgfQogICAgLnBvc3QucXVvdGUgLmF1dGhvci1ibG9jayB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAucG9zdC5xdW90ZSAuYXV0aG9yLWJsb2NrLS1jb2x1bW4tc3RhcnQgLmF2YXRhciB7CiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC5wb3N0X19kYXRlIC5udW1iZXIgewogICAgICBmb250LXNpemU6IDMwcHg7IH0KICAgIC5wb3N0IC5wb3N0X19kYXRlIHsKICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0KICAgIC5wb3N0LnN0aWNreS1wb3N0IC5wb3N0X190ZXh0IHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBjb2xvcjogI2MzYzlkNDsgfQogICAgLnBvc3QtZGV0YWlscy13cmFwIC5wb3N0X19kYXRlIC5udW1iZXIgewogICAgICBmb250LXNpemU6IDMwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLnBvc3QgewogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9CiAgICAucG9zdCAucG9zdC1hZGRpdGlvbmFsLWluZm8gewogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgICAucG9zdCAucG9zdC1hZGRpdGlvbmFsLWluZm8gLmJ0biArIC5idG4gewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgICAgIC5wb3N0IC5wb3N0LWFkZGl0aW9uYWwtaW5mbyA+ICogewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0KICAgICAgICAucG9zdCAucG9zdC1hZGRpdGlvbmFsLWluZm8gPiAqOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgLnF1b3RlLS1wb3N0LXR5cGUgcCB7CiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfQogICAgLnF1b3RlLS1wb3N0LXR5cGUgcCA+IC5xdW90ZSB7CiAgICAgIHdpZHRoOiA0MHB4OwogICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgei1pbmRleDogLTE7IH0KICAgIC5xdW90ZS0tcG9zdC10eXBlIHAgPiAucXVvdGUtY2xvc2UgewogICAgICBib3R0b206IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICB0b3A6IGF1dG87CiAgICAgIGxlZnQ6IGF1dG87IH0KICAgIC5xdW90ZS0tcG9zdC10eXBlIHsKICAgICAgcGFkZGluZzogMTBweCAwOyB9CiAgICAucG9zdC1kZXRhaWxzLXdyYXAgLnBvc3RfX2RhdGUgKyAuYXV0aG9yLWJsb2NrIHsKICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0KICAgIC5wb3N0LXN0YW5kYXJkLWRldGFpbHMgLnBvc3RfX2NvbnRlbnQgewogICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0KICAgIC5wb3N0LXN0YW5kYXJkLWRldGFpbHMgYmxvY2txdW90ZSB7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIG1hcmdpbjogMjBweCAwOyB9CiAgICAucG9zdC1zdGFuZGFyZC1kZXRhaWxzIGJsb2NrcXVvdGU6OmJlZm9yZSB7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsgfQogICAgLnBvc3Qtc3RhbmRhcmQtZGV0YWlscyBibG9ja3F1b3RlIHAgewogICAgICBtYXJnaW46IDAgMCAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7IH0KICAgIC52aWRlby1jb250cm9sLXlvdXR1YmUgewogICAgICBwYWRkaW5nOiAxNXB4IDI1cHg7IH0KICAgICAgLnZpZGVvLWNvbnRyb2wteW91dHViZSAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMTVweDsKICAgICAgICBoZWlnaHQ6IDE1cHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjTkFWSUdBVElPTiAtLS0tLS0tLS0tLS0tLSovCiAgLm5hdmlnYXRpb24gewogICAgbWFyZ2luOiAyMHB4IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9CiAgCiAgLnBhZ2UtbnVtYmVycyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMjE2OwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbWFyZ2luOiAwIDEycHggMCAwOwogICAgbWluLXdpZHRoOiA1MHB4OwogICAgbWluLWhlaWdodDogNTBweDsKICAgIG1heC13aWR0aDogNTBweDsKICAgIG1heC1oZWlnaHQ6IDUwcHg7CiAgICBsaW5lLWhlaWdodDogNDRweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0KICAgIC5wYWdlLW51bWJlcnM6aG92ZXIgewogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAucGFnZS1udW1iZXJzOmFjdGl2ZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7CiAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAucGFnZS1udW1iZXJzLmN1cnJlbnQgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOwogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAucGFnZS1udW1iZXJzLmN1cnJlbnQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogICAgLnBhZ2UtbnVtYmVycyBzcGFuIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAucGFnZS1udW1iZXJzLmJ0bi1uZXh0LCAucGFnZS1udW1iZXJzLmJ0bi1wcmV2IHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIG1pbi13aWR0aDogYXV0bzsKICAgICAgbWluLWhlaWdodDogYXV0bzsKICAgICAgbWF4LXdpZHRoOiB1bnNldDsKICAgICAgbWF4LWhlaWdodDogdW5zZXQ7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgICBib3gtc2hhZG93OiBub25lOyB9CiAgICAgIC5wYWdlLW51bWJlcnMuYnRuLW5leHQ6YWN0aXZlLCAucGFnZS1udW1iZXJzLmJ0bi1wcmV2OmFjdGl2ZSB7CiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAycHggNHB4IDAgMCB0cmFuc3BhcmVudCwgMnB4IDRweCAwIDAgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDRweCAwIDAgdHJhbnNwYXJlbnQsIDJweCA0cHggMCAwIHRyYW5zcGFyZW50OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgIC5wYWdlLW51bWJlcnMuYnRuLW5leHQgewogICAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7IH0KICAgIC5wYWdlLW51bWJlcnMuYnRuLXByZXYgewogICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLm5hdmlnYXRpb24gewogICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBlbmQ7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7IH0KICAgIC5wYWdlLW51bWJlcnMgewogICAgICBtYXJnaW46IDAgOHB4IDAgMDsKICAgICAgbWluLXdpZHRoOiAzMHB4OwogICAgICBtaW4taGVpZ2h0OiAzMHB4OwogICAgICBtYXgtaGVpZ2h0OiAzMHB4OwogICAgICBtYXgtd2lkdGg6IDMwcHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICBmb250LXNpemU6IDEycHg7IH0KICAgIC5wYWdlLW51bWJlcnMuYnRuLW5leHQgewogICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0KICAgIC5wYWdlLW51bWJlcnMuYnRuLXByZXYgewogICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjQ09NTUVOVFMgLS0tLS0tLS0tLS0tLS0qLwogIC5jb21tZW50cyB7CiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9CiAgCiAgLmNvbW1lbnRzX19saXN0IHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0KICAgIC5jb21tZW50c19fbGlzdCAucmVwbHkgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgY29sb3I6ICNhMWFiYmQ7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICBwYWRkaW5nOiA1cHggMjNweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMDMwNTsgfQogICAgICAuY29tbWVudHNfX2xpc3QgLnJlcGx5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAuY29tbWVudHNfX2xpc3QgLmNvbW1lbnRzX19hdmF0YXIgewogICAgICBmbG9hdDogbGVmdDsKICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9CiAgICAgIC5jb21tZW50c19fbGlzdCAuY29tbWVudHNfX2F2YXRhciBpbWcgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGhlaWdodDogODBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgICAuY29tbWVudHNfX2xpc3QgLmNvbW1lbnRzX19ib2R5IHsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fYXV0aG9yIHsKICAgICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0KICAgICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fYXV0aG9yIGEgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0KICAgICAgICAuY29tbWVudHNfX2xpc3QgLmNvbW1lbnRzX19hdXRob3IgYTpob3ZlciB7CiAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fdGltZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICNhMGE4Yjc7CiAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgICAuY29tbWVudHNfX2xpc3QgLmNvbW1lbnRzX190aW1lOmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NmQ3YTsKICAgICAgICB3aWR0aDogNXB4OwogICAgICAgIGhlaWdodDogNXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH0KICAgIC5jb21tZW50c19fbGlzdCAuY29tbWVudC1jb250ZW50IHAgewogICAgICBtYXJnaW46IDIwcHggMDsgfQogIAogIC5jb21tZW50c19faXRlbSB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgbWFyZ2luLXRvcDogNDBweDsgfQogICAgLmNvbW1lbnRzX19pdGVtIC5jaGlsZHJlbiB7CiAgICAgIG1hcmdpbjogNjBweCAwIDAgMTIwcHg7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgIHBhZGRpbmc6IDA7IH0KICAgIC5jb21tZW50c19faXRlbTpiZWZvcmUgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgCiAgLmxlYXZlLXJlcGx5IGxhYmVsIHsKICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAuY29tbWVudHNfX2l0ZW0gLmNoaWxkcmVuIHsKICAgICAgbWFyZ2luOiAzMHB4IDAgMCA2MHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5jb21tZW50c19fbGlzdCAuY29tbWVudHNfX2F2YXRhciBpbWcgewogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiA2MHB4OyB9CiAgICAuY29tbWVudHNfX2xpc3QgLmNvbW1lbnRzX19ib2R5IHsKICAgICAgcGFkZGluZy10b3A6IDVweDsgfQogICAgLmNvbW1lbnRzX19pdGVtIC5jaGlsZHJlbiB7CiAgICAgIG1hcmdpbjogMzBweCAwIDAgMzBweDsgfQogICAgLmNvbW1lbnRzX19pdGVtIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogICAgLmNvbnRhY3QtZm9ybS5sZWF2ZS1yZXBseSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkgewogICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fYXZhdGFyIHsKICAgICAgZmxvYXQ6IG5vbmU7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIG1hcmdpbi1yaWdodDogMDsgfQogICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fdGltZSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0KICAgICAgLmNvbW1lbnRzX19saXN0IC5jb21tZW50c19fdGltZTpiZWZvcmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjRkVBVFVSRUQgQkxPQ0sgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLWZlYXR1cmVkLWJsb2NrIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9CiAgICAuY3J1bWluYS1mZWF0dXJlZC1ibG9jayAuaW1hZ2UtYmxvY2sgewogICAgICB3aWR0aDogNzAlOyB9CiAgICAuY3J1bWluYS1mZWF0dXJlZC1ibG9jayAudGV4dC1ibG9jayB7CiAgICAgIHdpZHRoOiA1MCU7CiAgICAgIG1hcmdpbi1sZWZ0OiAtMzIwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAuY3J1bWluYS1mZWF0dXJlZC1ibG9jayAudGV4dC1ibG9jayB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9CiAgICAuY3J1bWluYS1mZWF0dXJlZC1ibG9jayAuaW1hZ2UtYmxvY2sgewogICAgICB3aWR0aDogNTAlOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAuY3J1bWluYS1mZWF0dXJlZC1ibG9jayB7CiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC5jcnVtaW5hLWZlYXR1cmVkLWJsb2NrIC50ZXh0LWJsb2NrIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfQogICAgLmNydW1pbmEtZmVhdHVyZWQtYmxvY2sgLmltYWdlLWJsb2NrIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNDTElFTlRTIC0tLS0tLS0tLS0tLS0tKi8KICAuY2xpZW50cy1pdGVtIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogLjU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmNsaWVudHMtaXRlbTpob3ZlciB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0NSWVBUTyBDT05WRVJURVIgIC0tLS0tLS0tLS0tLS0tKi8KICAuY3J1bWluYS1jcnlwdG8tY29udmVydGVyIHsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYmctY29udmVydC5wbmcpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH0KICAgIC5jcnVtaW5hLWNyeXB0by1jb252ZXJ0ZXIgZm9ybSB7CiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0KICAgIC5jcnVtaW5hLWNyeXB0by1jb252ZXJ0ZXIgLmN1cnJlbnQtY3J5cHRvIHsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgY29sb3I6ICMxODFhMjA7IH0KICAgIC5jcnVtaW5hLWNyeXB0by1jb252ZXJ0ZXIgLnJlc3VsdC1jcnlwdG8gewogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgIGNvbG9yOiAjZmZmOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5jcnVtaW5hLWNyeXB0by1jb252ZXJ0ZXIgewogICAgICBwYWRkaW5nOiAzMHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0NJUkNMRUQgQkxPQ0sgLS0tLS0tLS0tLS0tLS0qLwogIC5jcnVtaW5hLWNpcmNsZWQtYmxvY2sgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgd2lkdGg6IDI1ZW07CiAgICBoZWlnaHQ6IDI1ZW07CiAgICBwYWRkaW5nOiAwOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL3dvb3gucG5nIik7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIG1hcmdpbjogNmVtIGF1dG87IH0KICAgIC5jcnVtaW5hLWNpcmNsZWQtYmxvY2sgPiAqIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiA1MCU7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgd2lkdGg6IDIwMHB4OwogICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICBtYXJnaW46IC0xMDBweDsgfQogICAgLmNydW1pbmEtY2lyY2xlZC1ibG9jayA+IDpudGgtb2YtdHlwZSgxKSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKDEyLjVlbSkgcm90YXRlKDBkZWcpOwogICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKDEyLjVlbSkgcm90YXRlKDBkZWcpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUoMTIuNWVtKSByb3RhdGUoMGRlZyk7IH0KICAgIC5jcnVtaW5hLWNpcmNsZWQtYmxvY2sgPiA6bnRoLW9mLXR5cGUoMikgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMTIuNWVtKSByb3RhdGUoLTkwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMTIuNWVtKSByb3RhdGUoLTkwZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgxMi41ZW0pIHJvdGF0ZSgtOTBkZWcpOyB9CiAgICAuY3J1bWluYS1jaXJjbGVkLWJsb2NrID4gOm50aC1vZi10eXBlKDMpIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSgxMi41ZW0pIHJvdGF0ZSgtMTgwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDEyLjVlbSkgcm90YXRlKC0xODBkZWcpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSgxMi41ZW0pIHJvdGF0ZSgtMTgwZGVnKTsgfQogICAgLmNydW1pbmEtY2lyY2xlZC1ibG9jayA+IDpudGgtb2YtdHlwZSg0KSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoMTIuNWVtKSByb3RhdGUoLTI3MGRlZyk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSgxMi41ZW0pIHJvdGF0ZSgtMjcwZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoMTIuNWVtKSByb3RhdGUoLTI3MGRlZyk7IH0KICAKICAuY2lyY2xlX19pdGVtIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMTEyMTY7IH0KICAgIC5jaXJjbGVfX2l0ZW0gLndvb3gtaWNvbiB7CiAgICAgIG1heC13aWR0aDogODBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmNpcmNsZV9faXRlbSAudGl0bGUgewogICAgICBmb250LXdlaWdodDogNzAwOwogICAgICBjb2xvcjogI2ZmZjsgfQogICAgLmNpcmNsZV9faXRlbSBpbWcgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5jcnVtaW5hLWNpcmNsZWQtYmxvY2sgewogICAgICBtYXJnaW46IDNlbSBhdXRvOwogICAgICB3aWR0aDogMjBlbTsKICAgICAgaGVpZ2h0OiAyMGVtOyB9CiAgICAuY3J1bWluYS1jaXJjbGVkLWJsb2NrID4gKiB7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgbWFyZ2luOiAtNTBweDsgfQogICAgLmNpcmNsZV9faXRlbSAud29veC1pY29uIHsKICAgICAgbWF4LXdpZHRoOiA0MHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNDYwcHgpIHsKICAgIC5jcnVtaW5hLWNpcmNsZWQtYmxvY2sgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxNWVtOwogICAgICBtYXJnaW46IDNlbSBhdXRvOwogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfQogICAgLmNydW1pbmEtY2lyY2xlZC1ibG9jayA+ICogewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHRvcDogYXV0bzsKICAgICAgbGVmdDogYXV0bzsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsKICAgICAgbWFyZ2luOiAwOwogICAgICB3aWR0aDogNDAlOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0NIQVJUIFNUQVRJU1RJQ1MgLS0tLS0tLS0tLS0tLS0qLwogIC5qcy1jaGFydC1zdGF0aXN0aWMgewogICAgbWFyZ2luOiA2MHB4IDA7IH0KICAKICAuaGlnaGNoYXJ0cy1idXR0b24tYm94IHsKICAgIGZpbGw6IHRyYW5zcGFyZW50OyB9CiAgCiAgLmhpZ2hjaGFydHMtYnV0dG9uLmhpZ2hjaGFydHMtYnV0dG9uLXByZXNzZWQgLmhpZ2hjaGFydHMtYnV0dG9uLWJveCB7CiAgICBmaWxsOiAjZmZiYTAwOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5qcy1jaGFydC1zdGF0aXN0aWMgewogICAgICBtYXJnaW46IDMwcHggMDsgfSB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNTVFlMRVMgZm9yIFJhbmdlIFNsaWRlcnMgLS0tLS0tLS0tLS0tLS0qLwogIC5yYW5nZS1zbGlkZXIgLmlycy1saW5lIHsKICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfQogIAogIC5yYW5nZS1zbGlkZXIgLmlycy1saW5lLWxlZnQsCiAgLnJhbmdlLXNsaWRlciAuaXJzLWxpbmUtbWlkLAogIC5yYW5nZS1zbGlkZXIgLmlycy1saW5lLXJpZ2h0IHsKICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q0MzRmOyB9CiAgCiAgLnJhbmdlLXNsaWRlciAuaXJzLWJhciB7CiAgICBiYWNrZ3JvdW5kOiBub25lOyB9CiAgCiAgLnJhbmdlLXNsaWRlciAuaXJzLXNsaWRlciB7CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH0KICAgIC5yYW5nZS1zbGlkZXIgLmlycy1zbGlkZXI6YmVmb3JlIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogNTAlOwogICAgICBsZWZ0OiA1MCU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgIHdpZHRoOiAxMHB4OwogICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgIG9wYWNpdHk6IC43OwogICAgICBib3JkZXItcmFkaXVzOiAxMDAlOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAucmFuZ2Utc2xpZGVyIC5pcnMtc2xpZGVyOmhvdmVyOmJlZm9yZSB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1wcmltYXJ5IC5pcnMtYmFyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1wcmltYXJ5IC5pcnMtZ3JpZC1wb2wgewogICAgYmFja2dyb3VuZDogI2ZmYmEwMDsgfQogIAogIC5yYW5nZS1zbGlkZXItLXByaW1hcnkgLmlycy1zbGlkZXI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1yZWQgLmlycy1iYXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlMzIzNTsgfQogIAogIC5yYW5nZS1zbGlkZXItLXJlZCAuaXJzLWdyaWQtcG9sIHsKICAgIGJhY2tncm91bmQ6ICNmZTMyMzU7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1yZWQgLmlycy1zbGlkZXI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZTMyMzU7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1ncmVlbiAuaXJzLWJhciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4NTQzOyB9CiAgCiAgLnJhbmdlLXNsaWRlci0tZ3JlZW4gLmlycy1ncmlkLXBvbCB7CiAgICBiYWNrZ3JvdW5kOiAjMDA4NTQzOyB9CiAgCiAgLnJhbmdlLXNsaWRlci0tZ3JlZW4gLmlycy1zbGlkZXI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDg1NDM7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1ibHVlIC5pcnMtYmFyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjM1YWE7IH0KICAKICAucmFuZ2Utc2xpZGVyLS1ibHVlIC5pcnMtZ3JpZC1wb2wgewogICAgYmFja2dyb3VuZDogIzMyMzVhYTsgfQogIAogIC5yYW5nZS1zbGlkZXItLWJsdWUgLmlycy1zbGlkZXI6YmVmb3JlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjM1YWE7IH0="}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":27,"receive":68,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/ajax-pagination.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.048Z","timestamp":1785139582048,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/ajax-pagination.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 685\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2675,"size_decoded":921,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"aa2bc40f3bdaf51ea7c82522224e4fc6","sha1":"5c2117b904156f91a365de21ea6b4a142e7f5c1b","sha256":"12abf1c96990dd663bf84d304952710da918612054a175aad728b9b8b55cdd9f","sha512":"67f27f07943b9ef4c5cdc1cf6c503a8ba12a9822db65fc30422a9afc875a25d577f6d756ba36be51bf8626b9618a141c9cc26a0b3aa80e9e5a15c4fe08cef243","ssdeep":"","tlshash":"9451c448aebb9464a93b347d5e9fa4007e20d4338008dd267e4dd1c0dfc4128e1aaade","first_seen":"2025-11-23T04:10:48.040006Z","last_seen":"2026-07-27T09:11:27.26025Z","times_seen":7,"resource_available":true,"data":"JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkgewoKICAgIHZhciAkYnV0dG9uID0gJCgnI2xvYWQtbW9yZS1idXR0b24nKTsKCiAgICB2YXIgcGFnZV9udW0gPSAxOwogICAgdmFyIG1heF9wYWdlcyA9IDM7CiAgICB2YXIgbmV4dF9saW5rID0gJGJ1dHRvbi5kYXRhKCdsb2FkLWxpbmsnKTsKCiAgICB2YXIgbG9hZGVkX3RleHQgPSAnVGhhdFwncyBhbGwnOwoKICAgIHZhciBjb250YWluZXJJRCA9ICRidXR0b24uZGF0YSgnY29udGFpbmVyJyk7CgogICAgdmFyICRjb250YWluZXIgPSAkKCcjJyArIGNvbnRhaW5lcklEICk7CiAgICB2YXIgY29udGFpbmVyX2hhc19pc290b3BlID0gZmFsc2U7CgogICAgaWYgKHBhZ2VfbnVtID4gbWF4X3BhZ2VzKSB7CiAgICAgICAgJGJ1dHRvbi5hZGRDbGFzcygnbGFzdC1wYWdlJykuY2hpbGRyZW4oJ3NwYW4nKS50ZXh0KGxvYWRlZF90ZXh0KTsKICAgIH0KCiAgICAkYnV0dG9uLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKCgogICAgICAgIC8vQ3J1bWluYSBjdXN0b20gSlMgZm9yIGVxdWFsSGVpZ2h0CgkJdmFyIGVsZW1IZWlnaHQgPSAkKHRoaXMpLmNsb3Nlc3QoJ2JvZHknKS5maW5kKCcuc29ydGluZy1wb3J0Zm9saW8gLnNvcnRpbmctaXRlbScpLmNzcygnaGVpZ2h0Jyk7CgkJLy8uLi5lbmQKCiAgICAgICAgaWYgKHBhZ2VfbnVtIDw9IG1heF9wYWdlcyAmJiAhJCh0aGlzKS5oYXNDbGFzcygnbG9hZGluZycpICYmICEkKHRoaXMpLmhhc0NsYXNzKCdsYXN0LXBhZ2UnKSkgewoKICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgIHR5cGU6ICdHRVQnLAogICAgICAgICAgICAgICAgdXJsOiBuZXh0X2xpbmssCiAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2h0bWwnLAogICAgICAgICAgICAgICAgYmVmb3JlU2VuZDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJ1dHRvbi5hZGRDbGFzcygnbG9hZGluZycpOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiAoWE1MSHR0cFJlcXVlc3QpIHsKICAgICAgICAgICAgICAgICAgICRidXR0b24ucmVtb3ZlQ2xhc3MoJ2xvYWRpbmcnKTsKICAgICAgICAgICAgICAgICAgICBpZiAoWE1MSHR0cFJlcXVlc3Quc3RhdHVzID09IDIwMCAmJiBYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVRleHQgIT0gJycpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfbnVtKys7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFnZV9udW0gPiBtYXhfcGFnZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRidXR0b24uYWRkQ2xhc3MoJ2xhc3QtcGFnZScpLmNoaWxkcmVuKCcubG9hZC1tb3JlLXRleHQnKS50ZXh0KGxvYWRlZF90ZXh0KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoWE1MSHR0cFJlcXVlc3QucmVzcG9uc2VUZXh0KS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJfaGFzX2lzb3RvcGUgPSAodHlwZW9mKCRjb250YWluZXIuaXNvdG9wZSkgPT09ICdmdW5jdGlvbicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJChYTUxIdHRwUmVxdWVzdC5yZXNwb25zZVRleHQpLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVsZW0gPSAkKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29udGFpbmVyX2hhc19pc290b3BlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0uY3NzKCdvcGFjaXR5JywwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci5hcHBlbmQoZWxlbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW0uYWRkQ2xhc3MoJ2FuaW1hdGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewoKCQkJCQkJCQkJLy9DcnVtaW5hIGN1c3RvbSBKUyBmb3IgZXF1YWxIZWlnaHQKCQkJCQkJCQkJZWxlbS5jc3MoJ2hlaWdodCcsZWxlbUhlaWdodCk7CgkJCQkJCQkJCS8vLi4uZW5kCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLmFwcGVuZCggZWxlbSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaXNvdG9wZSggJ2FwcGVuZGVkJywgZWxlbSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaXNvdG9wZSgnbGF5b3V0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuaW1hZ2VzTG9hZGVkKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuaXNvdG9wZSgnbGF5b3V0Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwp9KTs="}},"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.123Z","timestamp":1785139584123,"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-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 08:06:24 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: 28ad329546c76721f6ae3870bbccb634\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-28T06:17:53.620683Z","times_seen":88,"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":"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:24.214Z","timestamp":1785139584214,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1412\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:32:24 GMT\r\nexpires: Fri, 23 Jul 2027 02:32:24 GMT\r\ncache-control: public, max-age=31536000\r\nage: 365640\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1412,"size_decoded":2072,"mime_type":"image/gif","magic":"GIF image data, version 89a, 84 x 19","md5":"9afe50090c0bc612953d081295eab5b1","sha1":"71a4da2a622879c29176ecfa5afe1bbe3e8cfa40","sha256":"d228d0256370863119c043f1e5ca8f3930f6999bd9f250434b6d8935f45dc171","sha512":"d7290b951cec51994f3480c32b70de0faeca433b5d99209b044e1d4c12327768de8c344b6bded806d993251e0ee6f98f0dd64f4480e999fbc06abfe3dd8056fa","ssdeep":"","tlshash":"042182b5cc99114a5be1bd27a334899da8b12c56c38d74595436bdb43470f098422812","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-08-12T17:58:50.17852Z","times_seen":17238,"resource_available":false,"data":"R0lGODlhVAATAOePAAAAyxZBmhdFrBhHrhpMyB1Uxh1Vzh5X0R9ZzR9awSFf1SNk2CYW0SZq2yZs4Cka2yt45TB9ITJ11TODHjODIDWKGzdgrDmUGjuaRTybGT1svj6hGUClGEF1tEGnFkGpGUKrFUNnrkWjYUWoUkZtskdww0dxy0l/EkmP5EqlLUtLS0uxFFCmLlGY6lON3la4E1e0GFhYD1uxRlu5EVyyU1+vLGW8FGef5mmTx22p7W6PEW+d32+e4XKa2Hp6en6p5H9lE4eHh4i06YurxYyqyYyufoy8iI29ho7AhpCz55DEhJW55ZaT15jClqGm9afE2KgeFavK7LDN47rV7b7J4cTa9cXi0MjX8Mrd9c0lGs3l/9QmGtbW1tfq/9jl9djl+NmcANns0dnt4NonG9otM9yGft4pG9/x4OCrIuG3I+Hv/+Lfz+Px4eRWTOSaAeSyNuUpHOWIgOalAOby/+c5P+egD+exAefJcOhYXuqjAOq3Tuq9YOtqbuvHG+vz++xYTOy8AO2sAe6xAO7x9+/Ecu/SaPDYaPD2//D47/KzAPS7APfpy/ng3fzp7P347f///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAABUABMAAAj+AP+pGEiw4MB//4goXMhQ4b8gECNKnIiwosWLGBE+2sjxkaNGIB115KjCB5eTKFP6UEEkypyXMGNGIRJkpM2NQSwO2bkzI8aRjOL8oUP0TxxGI1WkXIqSZcynMGnetJnz386OanpWxNGhKw6NHOMQHUs2jsiNSpkudQr1qVScI2vitLpRTZe7XdRoGYKQ65K/Hb5yxEO2MJ0/HdNyYQCgMQAGTYnAfOAYwIOociNy1Pwo55BHXZZ07XC3Ct9/HZZUFP1vo9ixfNYsWsOHDp6kKJlUZhIZppPKTjBvhtiZOM7PdlN34Xp3Ct/Uqzu0XjT2z5qRaxrhRsn4cUq2Lyn+W475FqfEjkE+4+0yhXkXKUNGy+/6yFAdotc7HrqpmItuALz15ltjwQmHnnGbqddcV3jBl9pfEIrmSB+KKILYVNtxB9l3ksX0wGXkyWUeZ8eBdheDDcY332iOVKiIIR0tgcKMNKKQwyP9+ReggL4VaGBxNZGYnl3r4TXFE/FFCGEHLVa4SEdR1EhjDofkqBZ4bb30lpDGeUYkiu89t2JXTb4Yo5Qz3mglU1hmWZ6IcM01hBZVrDeFFEiipiRgE1ZYREdzaCGoFi3MKASOJql10kotZfnSTHBiWNVOd0qBp1Zj0mdIGiOMYMVNVdAYxSMCGWQqQg2lSsRDGKKnE09jp/lU0SNhdDqCCJ929EWhKLTQBamyBuvTRMRKJKywGxlh6whGWOGsESLQeCiwx1Zr7bWyckTDstxi0MENHGEr7rjWdqQst7Ya0RG57LZ70UhWQGurCM2O5O697N6EyL773hQQADs="}},"time_used":18,"timings":{"blocked":-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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.297Z","timestamp":1785139584297,"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-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 08:06:24 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: c609f6afb6b22c4f4557cb0e4a65f927\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-08-11T04:43:23.202113Z","times_seen":309,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtU2hNWTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVNoTVk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LndyYXAtdlNiNkMwQmp7Ym90dG9tOjA7Y3Vyc29yOmRlZmF1bHQ7aW5zZXQtaW5saW5lLWVuZDowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt2aXNpYmlsaXR5OnZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXYtdmlzaWJpbGl0eSx2YXIoLS1vdmVybGF5LXNjcm9sbGJhci12aXNpYmlsaXR5LHZpc2libGUpKTt3aWR0aDo4cHg7d2lsbC1jaGFuZ2U6aGVpZ2h0fS53cmFwLS1ob3Jpem9udGFsLXZTYjZDMEJqe2hlaWdodDo4cHg7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO3RvcDphdXRvO3Zpc2liaWxpdHk6dmFyKC0tb3ZlcmxheS1zY3JvbGxiYXItaC12aXNpYmlsaXR5LHZhcigtLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHksdmlzaWJsZSkpO3dpbGwtY2hhbmdlOndpZHRofS5iYXItdlNiNkMwQmp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7d2lsbC1jaGFuZ2U6aGVpZ2h0LHRyYW5zZm9ybX0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci12U2I2QzBCantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVNoTVkpO2JvcmRlci1yYWRpdXM6MnB4O2hlaWdodDpjYWxjKDEwMCUgLSA0cHgpO3dpZHRoOjRweH0uYmFyLXZTYjZDMEJqIC5iYXJJbm5lci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6NHB4O3dpZHRoOmNhbGMoMTAwJSAtIDRweCl9LmJhci0taG9yaXpvbnRhbC12U2I2QzBCantoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDt0b3A6MDt3aWR0aDphdXRvO3dpbGwtY2hhbmdlOndpZHRoLHRyYW5zZm9ybX0uc2Nyb2xsV3JhcC1GYU92VEQycnstLW92ZXJsYXktc2Nyb2xsYmFyLXZpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lsbC1jaGFuZ2U6dmlzaWJpbGl0eX0uc2Nyb2xsV3JhcF92aXNpYmxlLUZhT3ZURDJyey0tb3ZlcmxheS1zY3JvbGxiYXItdmlzaWJpbGl0eTp2aXNpYmxlfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.420Z","timestamp":1785139584420,"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-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 08:06:24 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: b030cbb52900800174b2b6c7010fac35\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-28T04:48:50.45448Z","times_seen":56,"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":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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.997Z","timestamp":1785139581997,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\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\ndate: Mon, 27 Jul 2026 08:06:22 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: 953caf306ae8ce45b073c6ec7b4ad3ee\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"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-08-12T17:58:50.075244Z","times_seen":1454,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyFmdW5jdGlvbigpe2lmKHdpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3Lmhvc3QmJiF3aW5kb3cuVHJhZGluZ1ZpZXcucmVvbG9hZFR2anMpcmV0dXJuO3ZhciBlPXsiY29sb3ItY29sZC1ncmF5LTMwMCI6IiNCMkI1QkUiLCJjb2xvci1icmFuZCI6IiMyOTYyRkYiLCJjb2xvci1icmFuZC1ob3ZlciI6IiMxRTUzRTUiLCJjb2xvci1icmFuZC1hY3RpdmUiOiIjMTg0OENDIn07Y29uc3QgdD1uZXcgUmVnRXhwKCJeaHR0cChzKT86KC8vKT8iKTt2YXIgbyxpLHIsbixhLHMsZCxsPSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdUcmVidWNoZXQgTVMnLCBSb2JvdG8sIFVidW50dSwgc2Fucy1zZXJpZiIsYz17aG9zdDpudWxsPT13aW5kb3cubG9jYXRpb24uaG9zdC5tYXRjaCgvdHJhZGluZ3ZpZXdcLmNvbXxweXJyb3NpbnZlc3RtZW50XC5jb20vaSk/Imh0dHBzOi8vcy50cmFkaW5ndmlldy5jb20iOiJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20iLGlkZWFzSG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIixjaGF0SG9zdDoiaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXcuY29tIix3aWRnZXRIb3N0OiJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tIixnZXRIb3N0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnVzZVdpZGdldEhvc3Q/Yy53aWRnZXRIb3N0OmMuaG9zdH0sZW1iZWRTdHlsZXNGb3JDb3B5cmlnaHQ6ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LmlubmVySFRNTD0iLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQge2ZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50OyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyBmb250LWZhbWlseTogIitsKyIgIWltcG9ydGFudDsgY29sb3I6ICIrZVsiY29sb3ItY29sZC1ncmF5LTMwMCJdKyIgIWltcG9ydGFudDt9IC50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0IC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYSB7dGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IGNvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOnZpc2l0ZWQge2NvbG9yOiAiK2VbImNvbG9yLWNvbGQtZ3JheS0zMDAiXSsiICFpbXBvcnRhbnQ7fSAudHJhZGluZ3ZpZXctd2lkZ2V0LWNvcHlyaWdodCBhOmhvdmVyIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kLWhvdmVyIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTphY3RpdmUgLmJsdWUtdGV4dCB7Y29sb3I6ICIrZVsiY29sb3ItYnJhbmQtYWN0aXZlIl0rIiAhaW1wb3J0YW50O30gLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQgYTp2aXNpdGVkIC5ibHVlLXRleHQge2NvbG9yOiAiK2VbImNvbG9yLWJyYW5kIl0rIiAhaW1wb3J0YW50O30iLHR9LGVtYmVkU3R5bGVzRm9yRnVsbEhlaWdodDpmdW5jdGlvbihlLHQsbyl7dmFyIGk9dD8iY2FsYygiK2UrIiAtIDMycHgpIjplLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiIyIrbyk7ci5wYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodD1pLHIuc3R5bGUuaGVpZ2h0PSIxMDAlIn0sZ0lkOmZ1bmN0aW9uKCl7cmV0dXJuInRyYWRpbmd2aWV3XyIrKDEwNDg1NzYqKDErTWF0aC5yYW5kb20oKSl8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0saXNQZXJzZW50SGVpZ2h0OmZ1bmN0aW9uKGUpe3JldHVybiIlIj09PWV9LGdldFN1ZmZpeDpmdW5jdGlvbihlKXt2YXIgdD1lLnRvU3RyaW5nKCkubWF0Y2goLyglfHB4fGVtfGV4KS8pO3JldHVybiB0P3RbMF06InB4In0saGFzQ29weXJpZ2h0OmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpLG89dCYmdC5wYXJlbnRFbGVtZW50O3JldHVybiEhbyYmISFvLnF1ZXJ5U2VsZWN0b3IoIi50cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Iil9LGNhbGN1bGF0ZVdpZGdldEhlaWdodDpmdW5jdGlvbihlLHQpe3ZhciBvPXBhcnNlSW50KGUpLGk9dGhpcy5nZXRTdWZmaXgoZSkscj10aGlzLmlzUGVyc2VudEhlaWdodChpKSxuPXQmJnRoaXMuaGFzQ29weXJpZ2h0KHQpO3JldHVybiByJiZ0JiYodGhpcy5lbWJlZFN0eWxlc0ZvckZ1bGxIZWlnaHQobytpLG4sdCksbik/MTAwK2k6bj8iY2FsYygiK28raSsiIC0gMzJweCkiOm8raX0sb25yZWFkeTpmdW5jdGlvbihlKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSwhMSk6d2luZG93LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGUpfSxiaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIodCxvLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbiIrdCxvKX0sdW5iaW5kRXZlbnQ6ZnVuY3Rpb24oZSx0LG8pe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcj9lLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxvLCExKTplLmRldGFjaEV2ZW50JiZlLmRldGFjaEV2ZW50KCJvbiIrdCxvKX0sY2xvbmVTaW1wbGVPYmplY3Q6ZnVuY3Rpb24oZSl7aWYobnVsbD09ZXx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PWUuY29uc3RydWN0b3IoKTtmb3IodmFyIG8gaW4gZSllLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1lW29dKTtyZXR1cm4gdH0saXNBcnJheTpmdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSxnZW5lcmF0ZVV0bUZvclVybFBhcmFtczpmdW5jdGlvbihlKXt2YXIgdD17dXRtX3NvdXJjZTp3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsdXRtX21lZGl1bTpjLmhhc0NvcHlyaWdodChlLmNvbnRhaW5lcik/IndpZGdldF9uZXciOiJ3aWRnZXQifTtyZXR1cm4gZS50eXBlJiYodC51dG1fY2FtcGFpZ249ZS50eXBlLCJjaGFydCI9PT1lLnR5cGUmJih0LnV0bV90ZXJtPWUuc3ltYm9sKSksdH0sZ2V0UGFnZVVyaVN0cmluZzpmdW5jdGlvbigpe2NvbnN0IGU9bG9jYXRpb24uaHJlZixvPXRoaXMuaW52YWxpZFVybChlKTtyZXR1cm4gb3x8ZS5yZXBsYWNlKHQsIiIpfSxpbnZhbGlkVXJsOmZ1bmN0aW9uKGUpe3RyeXtjb25zdCBvPW5ldyBVUkwoZSk7cmV0dXJuIHQudGVzdChvLnByb3RvY29sKT9udWxsOiJfX05IVFRQX18ifWNhdGNoKGUpe3JldHVybiJfX0ZBSUxfXyJ9fSxnZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlfHxgJHt0LnJlcGxhY2UoIi0iLCIgIil9IFRyYWRpbmdWaWV3IHdpZGdldGB9LFdpZGdldEFic3RyYWN0OmZ1bmN0aW9uKCl7fSxNZWRpdW1XaWRnZXQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpO2NvbnN0IHQ9Yy5jYWxjdWxhdGVXaWRnZXRIZWlnaHQoZS5oZWlnaHR8fDQwMCxlLmNvbnRhaW5lcl9pZCk7bGV0IG87c3dpdGNoKGUuY2hhcnRUeXBlKXtjYXNlImNhbmRsZXN0aWNrcyI6e2NvbnN0e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cixib3JkZXJVcENvbG9yOm4sYm9yZGVyRG93bkNvbG9yOmEsd2lja1VwQ29sb3I6cyx3aWNrRG93bkNvbG9yOmR9PWU7bz17Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyLGJvcmRlclVwQ29sb3I6bixib3JkZXJEb3duQ29sb3I6YSx3aWNrVXBDb2xvcjpzLHdpY2tEb3duQ29sb3I6ZH07YnJlYWt9Y2FzZSJiYXJzIjp7Y29uc3R7Y2hhcnRUeXBlOnQsdXBDb2xvcjppLGRvd25Db2xvcjpyfT1lO289e2NoYXJ0VHlwZTp0LHVwQ29sb3I6aSxkb3duQ29sb3I6cn07YnJlYWt9Y2FzZSJsaW5lIjp7Y29uc3R7Y2hhcnRUeXBlOnQsY29sb3I6aSxjb2xvckdyb3dpbmc6cixjb2xvckZhbGxpbmc6bixsaW5lV2lkdGg6YX09ZTtvPXtjaGFydFR5cGU6dCxjb2xvcjppLGNvbG9yR3Jvd2luZzpyLGNvbG9yRmFsbGluZzpuLGxpbmVXaWR0aDphfTticmVha31kZWZhdWx0Ontjb25zdHtjaGFydFR5cGU6dD0iYXJlYSIsbGluZUNvbG9yOmk9ZS50cmVuZExpbmVDb2xvcnx8IiIsbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphPWUudW5kZXJMaW5lQ29sb3J8fCIiLGJvdHRvbUNvbG9yOnM9ZS51bmRlckxpbmVCb3R0b21Db2xvcnx8IiIsbGluZVdpZHRoOmR9PWU7bz17Y2hhcnRUeXBlOnQsbGluZUNvbG9yOmksbGluZUNvbG9yR3Jvd2luZzpyLGxpbmVDb2xvckZhbGxpbmc6bix0b3BDb2xvcjphLGJvdHRvbUNvbG9yOnMsbGluZVdpZHRoOmR9O2JyZWFrfX10aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZShlLndpZHRoKXx8IiIsaGVpZ2h0OmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodCl8fCIiLHN5bWJvbHM6ZS5zeW1ib2xzLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLHN5bWJvbHNfZGVzY3JpcHRpb246ZS5zeW1ib2xzX2Rlc2NyaXB0aW9ufHwiIixsYXJnZV9jaGFydF91cmw6ZS5sYXJnZV9jaGFydF91cmx8fCIiLGN1c3RvbWVyOmUuY3VzdG9tZXJ8fCIiLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcnx8IiIsZ3JpZExpbmVDb2xvcjplLmdyaWRMaW5lQ29sb3J8fCIiLGZvbnRDb2xvcjplLmZvbnRDb2xvcnx8IiIsZm9udFNpemU6ZS5mb250U2l6ZXx8IiIsd2lkZ2V0Rm9udENvbG9yOmUud2lkZ2V0Rm9udENvbG9yfHwiIix0aW1lQXhpc0JhY2tncm91bmRDb2xvcjplLnRpbWVBeGlzQmFja2dyb3VuZENvbG9yfHwiIixjaGFydE9ubHk6ISFlLmNoYXJ0T25seSxsb2NhbGU6ZS5sb2NhbGUsY29sb3JUaGVtZTplLmNvbG9yVGhlbWUsaXNUcmFuc3BhcmVudDplLmlzVHJhbnNwYXJlbnQsdXNlV2lkZ2V0SG9zdDpCb29sZWFuKGUudXNlV2lkZ2V0SG9zdCksc2hvd0Zsb2F0aW5nVG9vbHRpcDplLnNob3dGbG9hdGluZ1Rvb2x0aXAsdmFsdWVzVHJhY2tpbmc6ZS52YWx1ZXNUcmFja2luZyxjaGFuZ2VNb2RlOmUuY2hhbmdlTW9kZSxkYXRlRm9ybWF0OmUuZGF0ZUZvcm1hdCx0aW1lSG91cnNGb3JtYXQ6ZS50aW1lSG91cnNGb3JtYXQsc2hvd1ZvbHVtZTplLnNob3dWb2x1bWUsc2hvd01BOmUuc2hvd01BLHZvbHVtZVVwQ29sb3I6ZS52b2x1bWVVcENvbG9yLHZvbHVtZURvd25Db2xvcjplLnZvbHVtZURvd25Db2xvcixtYUxpbmVDb2xvcjplLm1hTGluZUNvbG9yLG1hTGluZVdpZHRoOmUubWFMaW5lV2lkdGgsbWFMZW5ndGg6ZS5tYUxlbmd0aCxoaWRlRGF0ZVJhbmdlczplLmhpZGVEYXRlUmFuZ2VzLGhpZGVNYXJrZXRTdGF0dXM6ZS5oaWRlTWFya2V0U3RhdHVzLGhpZGVTeW1ib2xMb2dvOmUuaGlkZVN5bWJvbExvZ28sc2NhbGVQb3NpdGlvbjplLnNjYWxlUG9zaXRpb24sc2NhbGVNb2RlOmUuc2NhbGVNb2RlLGZvbnRGYW1pbHk6ZS5mb250RmFtaWx5LG5vVGltZVNjYWxlOmUubm9UaW1lU2NhbGUsLi4ub30sdGhpcy5jcmVhdGUoKX0sd2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9ZS5pZHx8Yy5nSWQoKTt2YXIgdD1jLmdldFVybFBhcmFtcygpLG89ZS50dndpZGdldHN5bWJvbHx8dC50dndpZGdldHN5bWJvbHx8dC5zeW1ib2x8fGUuc3ltYm9sfHwiTkFTREFROkFBUEwiLGk9ZS5sb2dvfHwiIjtpLnNyYyYmKGk9aS5zcmMpLGkmJmkucmVwbGFjZSgiLnBuZyIsIiIpO3ZhciByPWMuY2FsY3VsYXRlV2lkZ2V0SGVpZ2h0KGUuaGVpZ2h0fHw1MDAsZS5jb250YWluZXJfaWQpO3RoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8ODAwLGhlaWdodDpyLHN5bWJvbDpvLGludGVydmFsOmUuaW50ZXJ2YWx8fCIxIixyYW5nZTplLnJhbmdlfHwiIix0aW1lem9uZTplLnRpbWV6b25lfHwiIixhdXRvc2l6ZTplLmF1dG9zaXplLGhpZGVfdG9wX3Rvb2xiYXI6ZS5oaWRlX3RvcF90b29sYmFyLGhpZGVfc2lkZV90b29sYmFyOmUuaGlkZV9zaWRlX3Rvb2xiYXIsaGlkZV9sZWdlbmQ6ZS5oaWRlX2xlZ2VuZCxoaWRlX3ZvbHVtZTplLmhpZGVfdm9sdW1lLGFsbG93X3N5bWJvbF9jaGFuZ2U6ZS5hbGxvd19zeW1ib2xfY2hhbmdlLHNhdmVfaW1hZ2U6dm9pZCAwPT09ZS5zYXZlX2ltYWdlfHxlLnNhdmVfaW1hZ2UsY29udGFpbmVyOmUuY29udGFpbmVyX2lkfHwiIix3YXRjaGxpc3Q6ZS53YXRjaGxpc3R8fFtdLGNvbXBhcmVTeW1ib2xzOmUuY29tcGFyZVN5bWJvbHN8fFtdLGVkaXRhYmxld2F0Y2hsaXN0OiEhZS5lZGl0YWJsZXdhdGNobGlzdCxzdHVkaWVzOmUuc3R1ZGllc3x8W10sdGhlbWU6ZS50aGVtZXx8IiIsc3R5bGU6ZS5zdHlsZXx8IiIsZXh0ZW5kZWRfaG91cnM6dm9pZCAwPT09ZS5leHRlbmRlZF9ob3Vycz92b2lkIDA6K2UuZXh0ZW5kZWRfaG91cnMsZGV0YWlsczohIWUuZGV0YWlscyxjYWxlbmRhcjohIWUuY2FsZW5kYXIsaG90bGlzdDohIWUuaG90bGlzdCxoaWRlaWRlYXNidXR0b246ISFlLmhpZGVpZGVhc2J1dHRvbix3aWRnZXRiYXJfd2lkdGg6K2Uud2lkZ2V0YmFyX3dpZHRofHx2b2lkIDAsd2l0aGRhdGVyYW5nZXM6ZS53aXRoZGF0ZXJhbmdlc3x8IiIsY3VzdG9tZXI6ZS5jdXN0b21lcnx8aXx8IiIsdmVudWU6ZS52ZW51ZSxzeW1ib2xvZ3k6ZS5zeW1ib2xvZ3ksbG9nbzppLHNob3dfcG9wdXBfYnV0dG9uOiEhZS5zaG93X3BvcHVwX2J1dHRvbixwb3B1cF9oZWlnaHQ6ZS5wb3B1cF9oZWlnaHR8fCIiLHBvcHVwX3dpZHRoOmUucG9wdXBfd2lkdGh8fCIiLHN0dWRpZXNfb3ZlcnJpZGVzOmUuc3R1ZGllc19vdmVycmlkZXMsb3ZlcnJpZGVzOmUub3ZlcnJpZGVzLGVuYWJsZWRfZmVhdHVyZXM6ZS5lbmFibGVkX2ZlYXR1cmVzLGRpc2FibGVkX2ZlYXR1cmVzOmUuZGlzYWJsZWRfZmVhdHVyZXMscHVibGlzaF9zb3VyY2U6ZS5wdWJsaXNoX3NvdXJjZXx8IiIsd2hvdHJhZGVzOmUud2hvdHJhZGVzfHx2b2lkIDAsbG9jYWxlOmUubG9jYWxlLHJlZmVycmFsX2lkOmUucmVmZXJyYWxfaWQsbm9fcmVmZXJyYWxfaWQ6ZS5ub19yZWZlcnJhbF9pZCxmdW5kYW1lbnRhbDplLmZ1bmRhbWVudGFsLHBlcmNlbnRhZ2U6ZS5wZXJjZW50YWdlLGhpZGV2b2x1bWU6ZS5oaWRldm9sdW1lLHBhZGRpbmc6ZS5wYWRkaW5nLGdyZXlUZXh0OmUuZ3JleVRleHR8fCIiLGhvcnp0b3VjaGRyYWc6ZS5ob3J6dG91Y2hkcmFnLHZlcnR0b3VjaGRyYWc6ZS52ZXJ0dG91Y2hkcmFnLHVzZVdpZGdldEhvc3Q6Qm9vbGVhbihlLnVzZVdpZGdldEhvc3QpLGJhY2tncm91bmRDb2xvcjplLmJhY2tncm91bmRDb2xvcixncmlkQ29sb3I6ZS5ncmlkQ29sb3IsZG9Ob3RTdG9yZVNldHRpbmdzOmUuZG9Ob3RTdG9yZVNldHRpbmdzfSxlLmNtZSYmKHRoaXMub3B0aW9ucy5jdXN0b21lcj0iY21lIiksaXNGaW5pdGUoZS53aWRnZXRiYXJfd2lkdGgpJiZlLndpZGdldGJhcl93aWR0aD4wJiYodGhpcy5vcHRpb25zLndpZGdldGJhcl93aWR0aD1lLndpZGdldGJhcl93aWR0aCksdGhpcy5fcmVhZHlfaGFuZGxlcnM9W10sdGhpcy5jcmVhdGUoKX0sY2hhcnQ6ZnVuY3Rpb24oZSl7dGhpcy5pZD1jLmdJZCgpLHRoaXMub3B0aW9ucz17d2lkdGg6ZS53aWR0aHx8NjQwLGhlaWdodDplLmhlaWdodHx8NTAwLGNvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIscmVhbHRpbWU6ZS5yZWFsdGltZSxjaGFydDplLmNoYXJ0LGxvY2FsZTplLmxvY2FsZSx0eXBlOiJjaGFydCIsYXV0b3NpemU6ZS5hdXRvc2l6ZSxtb2JpbGVTdGF0aWM6ZS5tb2JpbGVTdGF0aWN9LHRoaXMuX3JlYWR5X2hhbmRsZXJzPVtdLHRoaXMuY3JlYXRlKCl9LHN0cmVhbTpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgU3RyZWFtIHdpZGdldCBpcyBkaXNjb250aW51ZWQiKX0sRXZlbnRzV2lkZ2V0OmZ1bmN0aW9uKGUpe3RoaXMuaWQ9Yy5nSWQoKSx0aGlzLm9wdGlvbnM9e2NvbnRhaW5lcjplLmNvbnRhaW5lcl9pZHx8IiIsd2lkdGg6ZS53aWR0aHx8NDg2LGhlaWdodDplLmhlaWdodHx8NjcwLGN1cnJlbmN5OmUuY3VycmVuY3lGaWx0ZXJ8fCIiLGltcG9ydGFuY2U6ZS5pbXBvcnRhbmNlRmlsdGVyfHwiIix0eXBlOiJlY29ub21pYy1jYWxlbmRhciJ9LHRoaXMuY3JlYXRlKGUpfSxJZGVhV2lkZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJXZSdyZSBzb3JyeSwgdGhlIElkZWEgUHJldmlldyB3aWRnZXQgaXMgZGlzY29udGludWVkIil9LENoYXRXaWRnZXRFbWJlZDpmdW5jdGlvbihlKXtjb25zb2xlLndhcm4oIldlJ3JlIHNvcnJ5LCB0aGUgQ2hhdCB3aWRnZXQgaXMgZGlzY29udGludWVkIil9fTtjLldpZGdldEFic3RyYWN0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InVua25vd24iLGZpeFNpemU6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05XSsoXC58LFswLTldKSokLy50ZXN0KGUpP2UrInB4IjplfSx3aWR0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b3NpemU/IjEwMCUiOmMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmZpeFNpemUodGhpcy5vcHRpb25zLndpZHRoKX0saGVpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvc2l6ZT8iMTAwJSI6Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuZml4U2l6ZSh0aGlzLm9wdGlvbnMuaGVpZ2h0KX0sYWRkV3JhcHBlckZyYW1lOmZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuaWQ9dGhpcy5pZCsiLXdyYXBwZXIiLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IHJlbGF0aXZlO2JveC1zaXppbmc6IGNvbnRlbnQtYm94O21hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzogMCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OiAiK2wrIjsiLHQuc3R5bGUud2lkdGg9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUud2lkdGguY2FsbCh0aGlzKSx0LnN0eWxlLmhlaWdodD1jLldpZGdldEFic3RyYWN0LnByb3RvdHlwZS5oZWlnaHQuY2FsbCh0aGlzKSx0LmFwcGVuZENoaWxkKGUpLHR9fSxjLkV2ZW50c1dpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJldmVudHMiLGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPW5ldyBVUkwoYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO2UucGF0aG5hbWU9Ii9ldmVudHN3aWRnZXRlbWJlZC8iLGMuYWRkVXJsUGFyYW1zKGUse2N1cnJlbmN5OnRoaXMub3B0aW9ucy5jdXJyZW5jeSxpbXBvcnRhbmNlOnRoaXMub3B0aW9ucy5pbXBvcnRhbmNlfSksdGhpcy5vcHRpb25zLnR5cGU9ImV2ZW50cyIsYy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucykpO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7cmV0dXJuIHQudGl0bGU9Yy5nZXRXaWRnZXRUaXRsZUF0dHJpYnV0ZSh0aGlzLm9wdGlvbnMuaWZyYW1lVGl0bGUsdGhpcy53aWRnZXRJZCksdC5sYW5nPXRoaXMub3B0aW9ucy5pZnJhbWVMYW5nfHwiZW4iLHQud2lkdGg9dGhpcy5vcHRpb25zLndpZHRoLHRoaXMub3B0aW9ucy5oZWlnaHQmJih0LmhlaWdodD10aGlzLm9wdGlvbnMuaGVpZ2h0KSx0LnNldEF0dHJpYnV0ZSgiZnJhbWVCb3JkZXIiLCIwIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zcmM9ZSx0fX0sYy5NZWRpdW1XaWRnZXQucHJvdG90eXBlPXt3aWRnZXRJZDoic3ltYm9sLW92ZXJ2aWV3IixjcmVhdGU6ZnVuY3Rpb24oKXtjb25zdCBlPXRoaXMucmVuZGVyKCk7aChlLHRoaXMub3B0aW9ucyl9LHJlbmRlcjpmdW5jdGlvbigpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IoY29uc3QgdCBvZlsic3ltYm9scyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3JUaGVtZSIsImJhY2tncm91bmRDb2xvciIsImdyaWRMaW5lQ29sb3IiLCJmb250Q29sb3IiLCJ3aWRnZXRGb250Q29sb3IiLCJ1bmRlckxpbmVDb2xvciIsInVuZGVyTGluZUJvdHRvbUNvbG9yIiwidHJlbmRMaW5lQ29sb3IiLCJhY3RpdmVUaWNrZXJCYWNrZ3JvdW5kQ29sb3IiLCJ0aW1lQXhpc0JhY2tncm91bmRDb2xvciIsInNjYWxlUG9zaXRpb24iLCJzY2FsZU1vZGUiLCJjaGFydFR5cGUiLCJjb2xvciIsImNvbG9yR3Jvd2luZyIsImNvbG9yRmFsbGluZyIsImxpbmVDb2xvciIsImxpbmVDb2xvckdyb3dpbmciLCJsaW5lQ29sb3JGYWxsaW5nIiwidG9wQ29sb3IiLCJib3R0b21Db2xvciIsInVwQ29sb3IiLCJkb3duQ29sb3IiLCJib3JkZXJVcENvbG9yIiwiYm9yZGVyRG93bkNvbG9yIiwid2lja1VwQ29sb3IiLCJ3aWNrRG93bkNvbG9yIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwibm9UaW1lU2NhbGUiLCJ2YWx1ZXNUcmFja2luZyIsImNoYW5nZU1vZGUiLCJkYXRlRm9ybWF0IiwidGltZUhvdXJzRm9ybWF0IiwibGluZVdpZHRoIiwidm9sdW1lVXBDb2xvciIsInZvbHVtZURvd25Db2xvciIsImNoYXJ0T25seSIsImlzVHJhbnNwYXJlbnQiLCJzaG93RmxvYXRpbmdUb29sdGlwIiwic2hvd1ZvbHVtZSIsInNob3dNQSIsIm1hTGluZUNvbG9yIiwibWFMaW5lV2lkdGgiLCJtYUxlbmd0aCIsImhpZGVEYXRlUmFuZ2VzIiwiaGlkZU1hcmtldFN0YXR1cyIsImhpZGVTeW1ib2xMb2dvIl0pdGhpcy5vcHRpb25zW3RdJiYoZVt0XT10aGlzLm9wdGlvbnNbdF0pO2VbInBhZ2UtdXJpIl09Yy5nZXRQYWdlVXJpU3RyaW5nKCksdGhpcy5vcHRpb25zLnR5cGU9InN5bWJvbC1vdmVydmlldyI7Y29uc3QgdD1jLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHRoaXMub3B0aW9ucyk7Zm9yKHZhciBvIG9mIE9iamVjdC5rZXlzKHQpKWVbb109dFtvXTtjb25zdCBpPW5ldyBVUkwoIi9lbWJlZC13aWRnZXQvc3ltYm9sLW92ZXJ2aWV3LyIsYy5nZXRIb3N0KHRoaXMub3B0aW9ucykpO3RoaXMub3B0aW9ucy5jdXN0b21lciYmKGkucGF0aG5hbWUrPXRoaXMub3B0aW9ucy5jdXN0b21lcisiLyIpLHRoaXMub3B0aW9ucy5sb2NhbGUmJmkuc2VhcmNoUGFyYW1zLmFwcGVuZCgibG9jYWxlIix0aGlzLm9wdGlvbnMubG9jYWxlKSxpLmhhc2g9ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3JldHVybiByLnRpdGxlPWMuZ2V0V2lkZ2V0VGl0bGVBdHRyaWJ1dGUodGhpcy5vcHRpb25zLmlmcmFtZVRpdGxlLHRoaXMud2lkZ2V0SWQpLHIubGFuZz10aGlzLm9wdGlvbnMuaWZyYW1lTGFuZ3x8ImVuIixyLmlkPXRoaXMuaWQsci5zdHlsZS5jc3NUZXh0PSJtYXJnaW46IDAgIWltcG9ydGFudDtwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Iix0aGlzLm9wdGlvbnMud2lkdGgmJihyLnN0eWxlLndpZHRoPXRoaXMub3B0aW9ucy53aWR0aCksdGhpcy5vcHRpb25zLmhlaWdodCYmKHIuc3R5bGUuaGVpZ2h0PXRoaXMub3B0aW9ucy5oZWlnaHQpLHIuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxyLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksci5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksci5zcmM9aS5ocmVmLHJ9LHJlbW92ZTpmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlld193aWRnZXQiKTtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9fSxjLndpZGdldC5wcm90b3R5cGU9e3dpZGdldElkOiJhZHZhbmNlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnR5cGU9dGhpcy5vcHRpb25zLmZ1bmRhbWVudGFsPyJmdW5kYW1lbnRhbCI6ImNoYXJ0Iix0aGlzLmlmcmFtZT10aGlzLnJlbmRlcigpO3ZhciBlPXRoaXM7bGV0IHQ9dGhpcy5pZnJhbWU7dGhpcy5vcHRpb25zLm5vTG9nb092ZXJsYXl8fCh0PWMuV2lkZ2V0QWJzdHJhY3QucHJvdG90eXBlLmFkZFdyYXBwZXJGcmFtZS5jYWxsKHRoaXMsdCkpLGgodCx0aGlzLm9wdGlvbnMpO3ZhciBvPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmFkaW5ndmlldy1jb3B5cmlnaHQiKTtvJiZvLnBhcmVudEVsZW1lbnQmJm8ucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChvKSx0aGlzLnBvc3RNZXNzYWdlPWMucG9zdE1lc3NhZ2VXcmFwcGVyKHRoaXMuaWZyYW1lLmNvbnRlbnRXaW5kb3csdGhpcy5pZCksYy5iaW5kRXZlbnQodGhpcy5pZnJhbWUsImxvYWQiLChmdW5jdGlvbigpe2UucG9zdE1lc3NhZ2UuZ2V0KCJ3aWRnZXRSZWFkeSIse30sKGZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKGUuX3JlYWR5PSEwLHQ9ZS5fcmVhZHlfaGFuZGxlcnMubGVuZ3RoO3QtLTspZS5fcmVhZHlfaGFuZGxlcnNbdF0uY2FsbChlKX0pKX0pKSxlLnBvc3RNZXNzYWdlLm9uKCJvcGVuQ2hhcnRJblBvcHVwIiwoZnVuY3Rpb24odCl7Zm9yKHZhciBvPWMuY2xvbmVTaW1wbGVPYmplY3QoZS5vcHRpb25zKSxpPVsic3ltYm9sIiwiaW50ZXJ2YWwiXSxyPWkubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPWlbcl0sYT10W25dO2EmJihvW25dPWEpfW8uc2hvd19wb3B1cF9idXR0b249ITE7dmFyIHM9ZS5vcHRpb25zLnBvcHVwX3dpZHRofHw5MDAsZD1lLm9wdGlvbnMucG9wdXBfaGVpZ2h0fHw2MDAsbD0oc2NyZWVuLndpZHRoLXMpLzIsaD0oc2NyZWVuLmhlaWdodC1kKS8yLGc9d2luZG93Lm9wZW4oZS5nZW5lcmF0ZVVybChvKSwiX2JsYW5rIiwicmVzaXphYmxlPXllcywgdG9wPSIraCsiLCBsZWZ0PSIrbCsiLCB3aWR0aD0iK3MrIiwgaGVpZ2h0PSIrZCk7ZyYmKGcub3BlbmVyPW51bGwpfSkpfSxyZWFkeTpmdW5jdGlvbihlKXt0aGlzLl9yZWFkeT9lLmNhbGwodGhpcyk6dGhpcy5fcmVhZHlfaGFuZGxlcnMucHVzaChlKX0scmVuZGVyOmZ1bmN0aW9uKCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gZS50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSxlLmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsZS5pZD10aGlzLmlkLGUuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLGUuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSxlLnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksZS5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksZS5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSxlLnNyYz10aGlzLmdlbmVyYXRlVXJsKCksZX0sZ2VuZXJhdGVVcmw6ZnVuY3Rpb24oZSl7dmFyIHQ7ZnVuY3Rpb24gbyhlLHQsbyl7bGV0IGk9Zyh0LG8pOyJvYmplY3QiPT10eXBlb2YgaSYmKGk9SlNPTi5zdHJpbmdpZnkoaSkpLHZvaWQgMCE9PWkmJiIiIT09aSYmKGFbZV09aSl9ZnVuY3Rpb24gaShlLHQsaSl7byhlLHZvaWQgMD09PXQ/dm9pZCAwOnQ/IjEiOmkpfXQ9ImNtZSI9PT0oZT1lfHx0aGlzLm9wdGlvbnMpLmN1c3RvbWVyPyIvY21ld2lkZ2V0ZW1iZWQvIjplLmN1c3RvbWVyPyIvIitlLmN1c3RvbWVyKyIvd2lkZ2V0ZW1iZWQvIjoiL3dpZGdldGVtYmVkLyI7dmFyIHI9Yy5nZXRIb3N0KGUpO2NvbnN0IG49bmV3IFVSTChyK3QpO24uc2VhcmNoUGFyYW1zLmFwcGVuZCgiaGlkZWlkZWFzIiwiMSIpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgib3ZlcnJpZGVzIixKU09OLnN0cmluZ2lmeShnKGUub3ZlcnJpZGVzLHt9KSkpLG4uc2VhcmNoUGFyYW1zLmFwcGVuZCgiZW5hYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmVuYWJsZWRfZmVhdHVyZXMsW10pKSksbi5zZWFyY2hQYXJhbXMuYXBwZW5kKCJkaXNhYmxlZF9mZWF0dXJlcyIsSlNPTi5zdHJpbmdpZnkoZyhlLmRpc2FibGVkX2ZlYXR1cmVzLFtdKSkpLGUubG9jYWxlJiZuLnNlYXJjaFBhcmFtcy5hcHBlbmQoImxvY2FsZSIsZS5sb2NhbGUpO2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYS5zeW1ib2w9ZS5zeW1ib2wsYS5mcmFtZUVsZW1lbnRJZD10aGlzLmlkLGEuaW50ZXJ2YWw9ZS5pbnRlcnZhbCxvKCJyYW5nZSIsZS5yYW5nZSksaSgiaGlkZV90b3BfdG9vbGJhciIsZS5oaWRlX3RvcF90b29sYmFyKSxpKCJoaWRlX2xlZ2VuZCIsZS5oaWRlX2xlZ2VuZCksaSgiaGlkZV9zaWRlX3Rvb2xiYXIiLGUuaGlkZV9zaWRlX3Rvb2xiYXIsIjAiKSxpKCJhbGxvd19zeW1ib2xfY2hhbmdlIixlLmFsbG93X3N5bWJvbF9jaGFuZ2UsIjAiKSxpKCJzYXZlX2ltYWdlIixlLnNhdmVfaW1hZ2UsIjAiKSxpKCJkb05vdFN0b3JlU2V0dGluZ3MiLGUuZG9Ob3RTdG9yZVNldHRpbmdzKSxvKCJiYWNrZ3JvdW5kQ29sb3IiLGUuYmFja2dyb3VuZENvbG9yKSxvKCJncmlkQ29sb3IiLGUuZ3JpZENvbG9yKSxlLndhdGNobGlzdCYmZS53YXRjaGxpc3QubGVuZ3RoJiZlLndhdGNobGlzdC5qb2luJiZvKCJ3YXRjaGxpc3QiLGUud2F0Y2hsaXN0LmpvaW4oIh8iKSksZS5jb21wYXJlU3ltYm9scyYmZS5jb21wYXJlU3ltYm9scy5sZW5ndGgmJm8oImNvbXBhcmVTeW1ib2xzIixlLmNvbXBhcmVTeW1ib2xzKSxpKCJlZGl0YWJsZXdhdGNobGlzdCIsZS5lZGl0YWJsZXdhdGNobGlzdCksaSgiZGV0YWlscyIsZS5kZXRhaWxzKSxpKCJjYWxlbmRhciIsZS5jYWxlbmRhciksaSgiaG90bGlzdCIsZS5ob3RsaXN0KSxlLnN0dWRpZXMmJmMuaXNBcnJheShlLnN0dWRpZXMpJiYoInN0cmluZyI9PXR5cGVvZiBlLnN0dWRpZXNbMF0/bygic3R1ZGllcyIsZS5zdHVkaWVzLmpvaW4oIh8iKSk6bygic3R1ZGllcyIsZS5zdHVkaWVzKSksaSgiaG9yenRvdWNoZHJhZyIsZS5ob3J6dG91Y2hkcmFnLCIwIiksaSgidmVydHRvdWNoZHJhZyIsZS52ZXJ0dG91Y2hkcmFnLCIwIiksbygid2lkZ2V0YmFyX3dpZHRoIixlLndpZGdldGJhcl93aWR0aCksbygidGhlbWUiLGUudGhlbWUpLG8oInN0eWxlIixlLnN0eWxlKSxvKCJleHRlbmRlZF9ob3VycyIsZS5leHRlbmRlZF9ob3VycyksbygidGltZXpvbmUiLGUudGltZXpvbmUpLGkoImhpZGVpZGVhc2J1dHRvbiIsZS5oaWRlaWRlYXNidXR0b24pLGkoIndpdGhkYXRlcmFuZ2VzIixlLndpdGhkYXRlcmFuZ2VzKSxpKCJoaWRlX3ZvbHVtZSIsZS5oaWRlX3ZvbHVtZSksbygicGFkZGluZyIsZS5wYWRkaW5nKSxpKCJzaG93X3BvcHVwX2J1dHRvbiIsZS5zaG93X3BvcHVwX2J1dHRvbiksbygicGFkZGluZyIsZS5wYWRkaW5nKSxvKCJzdHVkaWVzX292ZXJyaWRlcyIsZS5zdHVkaWVzX292ZXJyaWRlcyx7fSksbygicHVibGlzaF9zb3VyY2UiLGUucHVibGlzaF9zb3VyY2UpLG8oInZlbnVlIixlLnZlbnVlKSxvKCJzeW1ib2xvZ3kiLGUuc3ltYm9sb2d5KSxvKCJ3aG90cmFkZXMiLGUud2hvdHJhZGVzKSxvKCJyZWZlcnJhbF9pZCIsZS5yZWZlcnJhbF9pZCksaSgibm9fcmVmZXJyYWxfaWQiLGUubm9fcmVmZXJyYWxfaWQpLG8oImZ1bmRhbWVudGFsIixlLmZ1bmRhbWVudGFsKSxvKCJwZXJjZW50YWdlIixlLnBlcmNlbnRhZ2UpLG8oInV0bV9zb3VyY2UiLHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSksbygidXRtX21lZGl1bSIsYy5oYXNDb3B5cmlnaHQoZS5jb250YWluZXIpPyJ3aWRnZXRfbmV3Ijoid2lkZ2V0IiksbygidXRtX2NhbXBhaWduIixlLnR5cGUpLHIhPT1jLmhvc3QmJm8oInN1cHBvcnRIb3N0IixjLmhvc3QpLGUudHlwZSYmImNoYXJ0Ij09PWUudHlwZSYmbygidXRtX3Rlcm0iLGUuc3ltYm9sKSxvKCJwYWdlLXVyaSIsYy5nZXRQYWdlVXJpU3RyaW5nKCkpLGAke259IyR7ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGEpKX1gfSxpbWFnZTpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRyYWRpbmdWaWV3LndpZGdldCNpbWFnZSgpIGlzIGRlcHJlY2F0ZWQuIFVzZSB3aWRnZXQuaW1hZ2VDYW52YXMoKSBpbnN0ZWFkLiIpfSxpbWFnZUNhbnZhczphc3luYyBmdW5jdGlvbigpe2lmKCF0aGlzLnBvc3RNZXNzYWdlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHRha2UgYSBzY3JlZW5zaG90IGJlZm9yZSB3aWRnZXQgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuIik7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJpbWFnZUNhbnZhcyIse30sKGZ1bmN0aW9uKG8pe2lmKG8mJiJvYmplY3QiPT10eXBlb2YgbyYmby5kYXRhVXJsKXt2YXIgaT1uZXcgSW1hZ2U7aS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTtyLndpZHRoPW8ud2lkdGh8fGkubmF0dXJhbFdpZHRofHxpLndpZHRoLHIuaGVpZ2h0PW8uaGVpZ2h0fHxpLm5hdHVyYWxIZWlnaHR8fGkuaGVpZ2h0O3ZhciBuPXIuZ2V0Q29udGV4dCgiMmQiKTtuPyhuLmRyYXdJbWFnZShpLDAsMCksZShyKSk6dChuZXcgRXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgMkQgY29udGV4dCBmb3Igc2NyZWVuc2hvdCBjYW52YXMuIikpfSxpLm9uZXJyb3I9ZnVuY3Rpb24oKXt0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGRlc2VyaWFsaXplIHNjcmVlbnNob3QgcGF5bG9hZCBpbnRvIGFuIGltYWdlLiIpKX0saS5zcmM9by5kYXRhVXJsfWVsc2UgdChuZXcgRXJyb3IoIkZhaWxlZCB0byByZWNlaXZlIHNjcmVlbnNob3QgcGF5bG9hZCBmcm9tIHdpZGdldCBpZnJhbWUuIikpfSkpfSkpfSxzdWJzY3JpYmVUb1F1b3RlOmZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO3RoaXMucG9zdE1lc3NhZ2UucG9zdCh0LmNvbnRlbnRXaW5kb3csInF1b3RlU3Vic2NyaWJlIiksdGhpcy5wb3N0TWVzc2FnZS5vbigicXVvdGVVcGRhdGUiLGUpfSxnZXRTeW1ib2xJbmZvOmZ1bmN0aW9uKGUpe3RoaXMucG9zdE1lc3NhZ2UuZ2V0KCJzeW1ib2xJbmZvIix7fSxlKX0scmVtb3ZlOmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7ZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpfSxyZWxvYWQ6ZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHRoaXMucmVuZGVyKCksZSl9fSxjLmNoYXJ0LnByb3RvdHlwZT17d2lkZ2V0SWQ6InB1Ymxpc2hlZC1jaGFydCIsY3JlYXRlOmZ1bmN0aW9uKCl7Y29uc3QgZT10aGlzLnJlbmRlcigpLHQ9Yy5XaWRnZXRBYnN0cmFjdC5wcm90b3R5cGUuYWRkV3JhcHBlckZyYW1lLmNhbGwodGhpcyxlKTt2YXIgbyxpPXRoaXM7aCh0LHRoaXMub3B0aW9ucyksbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKSxjLmJpbmRFdmVudChvLCJsb2FkIiwoZnVuY3Rpb24oKXt2YXIgZTtmb3IoaS5fcmVhZHk9ITAsZT1pLl9yZWFkeV9oYW5kbGVycy5sZW5ndGg7ZS0tOylpLl9yZWFkeV9oYW5kbGVyc1tlXS5jYWxsKGkpfSkpLGMub25yZWFkeSgoZnVuY3Rpb24oKXt2YXIgZT0hMTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdhW2hyZWYkPSIvdi8nK2kub3B0aW9ucy5jaGFydCsnLyJdJykmJihlPSEwKSwhZSlmb3IodmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKSxyPW5ldyBSZWdFeHAoIi92LyIraS5vcHRpb25zLmNoYXJ0KyIvJCIpLG49bmV3IFJlZ0V4cCgiL2NoYXJ0LyhbMC05YS16QS1aOisqLS8oKV0rKS8iK2kub3B0aW9ucy5jaGFydCksYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHIudGVzdCh0W2FdLmhyZWYpfHxuLnRlc3QodFthXS5ocmVmKSl7ZT0hMDticmVha31lJiYoby5zcmMrPSIjbm9saW5rcyIsby5uYW1lPSJub2xpbmtzIil9KSl9LHJlYWR5OmMud2lkZ2V0LnByb3RvdHlwZS5yZWFkeSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT1uZXcgVVJMKGAke2MuaG9zdH0vZW1iZWQvJHt0aGlzLm9wdGlvbnMuY2hhcnR9YCk7Yy5hZGRVcmxQYXJhbXMoZSx7bWV0aG9kOiJzY3JpcHQiLGxvY2FsZTp0aGlzLm9wdGlvbnMubG9jYWxlfSwhMCksdGhpcy5vcHRpb25zLnR5cGU9ImNoYXJ0IixjLmFkZFVybFBhcmFtcyhlLGMuZ2VuZXJhdGVVdG1Gb3JVcmxQYXJhbXModGhpcy5vcHRpb25zKSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC50aXRsZT1jLmdldFdpZGdldFRpdGxlQXR0cmlidXRlKHRoaXMub3B0aW9ucy5pZnJhbWVUaXRsZSx0aGlzLndpZGdldElkKSx0Lmxhbmc9dGhpcy5vcHRpb25zLmlmcmFtZUxhbmd8fCJlbiIsdC5pZD10aGlzLmlkLHQuc3R5bGUuY3NzVGV4dD0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsiLHQuc2V0QXR0cmlidXRlKCJmcmFtZUJvcmRlciIsIjAiKSx0LnNldEF0dHJpYnV0ZSgiYWxsb3dUcmFuc3BhcmVuY3kiLCJ0cnVlIiksdC5zZXRBdHRyaWJ1dGUoInNjcm9sbGluZyIsIm5vIiksdC5zZXRBdHRyaWJ1dGUoImFsbG93ZnVsbHNjcmVlbiIsInRydWUiKSx0LnNyYz1lLmhyZWYsdH0sdG9nZ2xlRnVsbHNjcmVlbjpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudD09PXQ/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4oKTp0LnJlcXVlc3RGdWxsc2NyZWVuKCl9fSxjLnBvc3RNZXNzYWdlV3JhcHBlcj0oaT17fSxyPXt9LG49e30sYT0wLHM9MCxkPSJUcmFkaW5nVmlldyIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24oZSl7dmFyIHQ7dHJ5e3Q9SlNPTi5wYXJzZShlLmRhdGEpfWNhdGNoKGUpe3JldHVybn1pZih0JiZ0LnByb3ZpZGVyJiZ0LnByb3ZpZGVyPT09ZClpZih0LnNvdXJjZT1lLnNvdXJjZSwiZ2V0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKGUpe3ZhciBpPXtpZDp0LmlkLHR5cGU6Im9uIixuYW1lOnQubmFtZSxjbGllbnRfaWQ6dC5jbGllbnRfaWQsZGF0YTplLHByb3ZpZGVyOmR9O28ucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX0pKX0pKX1lbHNlIGlmKCJvbiI9PT10LnR5cGUpaVt0LmNsaWVudF9pZF0mJmlbdC5jbGllbnRfaWRdW3QuaWRdJiYoaVt0LmNsaWVudF9pZF1bdC5pZF0uY2FsbCh0LHQuZGF0YSksZGVsZXRlIGlbdC5jbGllbnRfaWRdW3QuaWRdKTtlbHNlIGlmKCJwb3N0Ij09PXQudHlwZSl7aWYoIXJbdC5uYW1lXSlyZXR1cm47clt0Lm5hbWVdLmZvckVhY2goKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmNhbGwodCx0LmRhdGEsKGZ1bmN0aW9uKCl7fSkpfSkpfX0pKSxmdW5jdGlvbihlLHQpe3JldHVybiBpW3RdPXt9LG5bdF09ZSxvPWUse29uOmZ1bmN0aW9uKGUsdCxvKXtyW2VdJiZvfHwocltlXT1bXSkscltlXS5wdXNoKHQpfSxvZmY6ZnVuY3Rpb24oZSx0KXtpZighcltlXSlyZXR1cm4hMTt2YXIgbz1yW2VdLmluZGV4T2YodCk7bz4tMSYmcltlXS5zcGxpY2UobywxKX0sZ2V0OmZ1bmN0aW9uKGUsbyxyKXt2YXIgcz17aWQ6YSsrLHR5cGU6ImdldCIsbmFtZTplLGNsaWVudF9pZDp0LGRhdGE6byxwcm92aWRlcjpkfTtpW3RdW3MuaWRdPXIsblt0XS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShzKSwiKiIpfSxwb3N0OmZ1bmN0aW9uKGUsdCxvKXt2YXIgaT17aWQ6cysrLHR5cGU6InBvc3QiLG5hbWU6dCxkYXRhOm8scHJvdmlkZXI6ZH07ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucG9zdE1lc3NhZ2UmJmUucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaSksIioiKX19fSksYy5nZXRVcmxQYXJhbXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9L1wrL2csdD0vKFteJj1dKyk9PyhbXiZdKikvZyxvPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpLGk9dC5leGVjKG8pLHI9ZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LnJlcGxhY2UoZSwiICIpKX0sbj17fTtpOyluW3IoaVsxXSldPXIoaVsyXSksaT10LmV4ZWMobyk7cmV0dXJuIG59LGMuY3JlYXRlVXJsUGFyYW1zPWZ1bmN0aW9uKGUpe3ZhciB0PVtdO2Zvcih2YXIgbyBpbiBlKWUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPWVbb10mJnQucHVzaChlbmNvZGVVUklDb21wb25lbnQobykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlW29dKSk7cmV0dXJuIHQuam9pbigiJiIpfSxjLmFkZFVybFBhcmFtcz1mdW5jdGlvbihlLHQsbyl7Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmKG8/dFtpXTpudWxsIT10W2ldKSYmZS5zZWFyY2hQYXJhbXMuc2V0KGksdFtpXSk7cmV0dXJuIGV9O3ZhciBoPWZ1bmN0aW9uKGUsdCl7dmFyIG89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodC5jb250YWluZXIpO2lmKG8pe28uaW5uZXJIVE1MPSIiLG8uYXBwZW5kQ2hpbGQoZSk7dmFyIGk9by5wYXJlbnRFbGVtZW50JiZvLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvcigiLnRyYWRpbmd2aWV3LXdpZGdldC1jb3B5cmlnaHQiKTtpZihpKXtpLnN0eWxlLndpZHRoPW8ucXVlcnlTZWxlY3RvcigiaWZyYW1lIikuc3R5bGUud2lkdGg7dmFyIHI9aS5xdWVyeVNlbGVjdG9yKCJhIik7aWYocil7dmFyIG49ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihuKXRyeXtjb25zdCBlPW5ldyBVUkwobik7Yy5hZGRVcmxQYXJhbXMoZSxjLmdlbmVyYXRlVXRtRm9yVXJsUGFyYW1zKHQpKSxyLnNldEF0dHJpYnV0ZSgiaHJlZiIsZS50b1N0cmluZygpKX1jYXRjaChlKXtjb25zb2xlLmxvZyhgQ2Fubm90IHVwZGF0ZSBsaW5rIFVUTSBwYXJhbXMsIGhyZWY9IiR7bn0iYCl9fX19ZWxzZSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZG9jdW1lbnQuY3VycmVudFNjcmlwdC5uZXh0U2libGluZyk7Y29uc3QgYT1jLmVtYmVkU3R5bGVzRm9yQ29weXJpZ2h0KCkscz1mdW5jdGlvbigpe2NvbnN0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W25vbmNlXSIpO3JldHVybiBlJiYoZS5ub25jZXx8ZS5nZXRBdHRyaWJ1dGUoIm5vbmNlIikpfSgpO3MmJmEuc2V0QXR0cmlidXRlKCJub25jZSIscyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX07ZnVuY3Rpb24gZyhlLHQpe3JldHVybiBudWxsIT1lP2U6dH13aW5kb3cuVHJhZGluZ1ZpZXc/ZnVuY3Rpb24gZSh0LG8pe2Zvcih2YXIgaSBpbiBvKSJvYmplY3QiPT10eXBlb2Ygb1tpXSYmdC5oYXNPd25Qcm9wZXJ0eShpKT9lKHRbaV0sb1tpXSk6dFtpXT1vW2ldO3JldHVybiB0fSh3aW5kb3cuVHJhZGluZ1ZpZXcsYyk6d2luZG93LlRyYWRpbmdWaWV3PWN9KCk7"}},"time_used":62,"timings":{"blocked":-1,"dns":30,"connect":20,"send":0,"wait":2,"receive":-1,"ssl":9},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/aos@2.3.1/dist/aos.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.007Z","timestamp":1785139582007,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /aos@2.3.1/dist/aos.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a21a24f39e6f35a6-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 397125\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Fri, 15 May 2026 07:50:34 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:8mhhK6WerRskNTu3fWZ4O8xDWv8cIr5fk8QLrDhplo4=:\r\nfly-request-id: 01KPGRATPCNFE8WM00P8CJ7J3Q-arn\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":14239,"size_decoded":5381,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (14239), with no line terminators","md5":"70b4897108480dbe11c443c2ab7679c9","sha1":"70dbfd38a0f1fc3b1a7d9fadab58786484c34f17","sha256":"f268612ba59ead1b24353bb77d66783bcc435aff1c22be5f93c40bac3869968e","sha512":"466084fa711d299e394e96c2260bd8bdf103cf75da8869934c997a19fc884d6ddfa2e92ce253533a4a0c5d627d580e9a40efb7155f1c8c0e9fbd3a2c3a06c2ae","ssdeep":"384:3I2fNaC8QiHbcggNFUWTgMe91sa6XCZy54:42fNaC8QiHbfgNFUWg17slXCZy54","tlshash":"a752e6dc3681f0a617a794f7827f600ff2f14835245e90a0d269c4e27db58ae8673e5e","first_seen":"2023-03-07T01:14:45Z","last_seen":"2026-08-12T17:55:50.413578Z","times_seen":23845,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuQU9TPXQoKTplLkFPUz10KCl9KHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChvKXtpZihuW29dKXJldHVybiBuW29dLmV4cG9ydHM7dmFyIGk9bltvXT17ZXhwb3J0czp7fSxpZDpvLGxvYWRlZDohMX07cmV0dXJuIGVbb10uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsdCksaS5sb2FkZWQ9ITAsaS5leHBvcnRzfXZhciBuPXt9O3JldHVybiB0Lm09ZSx0LmM9bix0LnA9ImRpc3QvIix0KDApfShbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBvKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX12YXIgaT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciBvIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pfXJldHVybiBlfSxyPW4oMSksYT0obyhyKSxuKDYpKSx1PW8oYSksYz1uKDcpLGY9byhjKSxzPW4oOCksZD1vKHMpLGw9big5KSxwPW8obCksbT1uKDEwKSxiPW8obSksdj1uKDExKSx5PW8odiksZz1uKDE0KSxoPW8oZyksdz1bXSxrPSExLHg9ZG9jdW1lbnQuYWxsJiYhd2luZG93LmF0b2Isaj17b2Zmc2V0OjEyMCxkZWxheTowLGVhc2luZzoiZWFzZSIsZHVyYXRpb246NDAwLGRpc2FibGU6ITEsb25jZTohMSxzdGFydEV2ZW50OiJET01Db250ZW50TG9hZGVkIix0aHJvdHRsZURlbGF5Ojk5LGRlYm91bmNlRGVsYXk6NTAsZGlzYWJsZU11dGF0aW9uT2JzZXJ2ZXI6ITF9LE89ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXSYmYXJndW1lbnRzWzBdO2lmKGUmJihrPSEwKSxrKXJldHVybiB3PSgwLHkuZGVmYXVsdCkodyxqKSwoMCxiLmRlZmF1bHQpKHcsai5vbmNlKSx3fSxfPWZ1bmN0aW9uKCl7dz0oMCxoLmRlZmF1bHQpKCksTygpfSxTPWZ1bmN0aW9uKCl7dy5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7ZS5ub2RlLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1hb3MiKSxlLm5vZGUucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWFvcy1lYXNpbmciKSxlLm5vZGUucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWFvcy1kdXJhdGlvbiIpLGUubm9kZS5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtYW9zLWRlbGF5Iil9KX0sej1mdW5jdGlvbihlKXtyZXR1cm4gZT09PSEwfHwibW9iaWxlIj09PWUmJnAuZGVmYXVsdC5tb2JpbGUoKXx8InBob25lIj09PWUmJnAuZGVmYXVsdC5waG9uZSgpfHwidGFibGV0Ij09PWUmJnAuZGVmYXVsdC50YWJsZXQoKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUoKT09PSEwfSxBPWZ1bmN0aW9uKGUpe3JldHVybiBqPWkoaixlKSx3PSgwLGguZGVmYXVsdCkoKSx6KGouZGlzYWJsZSl8fHg/UygpOihkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5Iikuc2V0QXR0cmlidXRlKCJkYXRhLWFvcy1lYXNpbmciLGouZWFzaW5nKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJib2R5Iikuc2V0QXR0cmlidXRlKCJkYXRhLWFvcy1kdXJhdGlvbiIsai5kdXJhdGlvbiksZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpLnNldEF0dHJpYnV0ZSgiZGF0YS1hb3MtZGVsYXkiLGouZGVsYXkpLCJET01Db250ZW50TG9hZGVkIj09PWouc3RhcnRFdmVudCYmWyJjb21wbGV0ZSIsImludGVyYWN0aXZlIl0uaW5kZXhPZihkb2N1bWVudC5yZWFkeVN0YXRlKT4tMT9PKCEwKToibG9hZCI9PT1qLnN0YXJ0RXZlbnQ/d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoai5zdGFydEV2ZW50LGZ1bmN0aW9uKCl7TyghMCl9KTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKGouc3RhcnRFdmVudCxmdW5jdGlvbigpe08oITApfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKDAsZi5kZWZhdWx0KShPLGouZGVib3VuY2VEZWxheSwhMCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsKDAsZi5kZWZhdWx0KShPLGouZGVib3VuY2VEZWxheSwhMCkpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgwLHUuZGVmYXVsdCkoZnVuY3Rpb24oKXsoMCxiLmRlZmF1bHQpKHcsai5vbmNlKX0sai50aHJvdHRsZURlbGF5KSksai5kaXNhYmxlTXV0YXRpb25PYnNlcnZlcnx8KDAsZC5kZWZhdWx0KSgiW2RhdGEtYW9zXSIsXyksdyl9O2UuZXhwb3J0cz17aW5pdDpBLHJlZnJlc2g6TyxyZWZyZXNoSGFyZDpffX0sZnVuY3Rpb24oZSx0KXt9LCwsLCxmdW5jdGlvbihlLHQpeyhmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbil7ZnVuY3Rpb24gbyh0KXt2YXIgbj1iLG89djtyZXR1cm4gYj12PXZvaWQgMCxrPXQsZz1lLmFwcGx5KG8sbil9ZnVuY3Rpb24gcihlKXtyZXR1cm4gaz1lLGg9c2V0VGltZW91dChzLHQpLF8/byhlKTpnfWZ1bmN0aW9uIGEoZSl7dmFyIG49ZS13LG89ZS1rLGk9dC1uO3JldHVybiBTP2ooaSx5LW8pOml9ZnVuY3Rpb24gYyhlKXt2YXIgbj1lLXcsbz1lLWs7cmV0dXJuIHZvaWQgMD09PXd8fG4+PXR8fG48MHx8UyYmbz49eX1mdW5jdGlvbiBzKCl7dmFyIGU9TygpO3JldHVybiBjKGUpP2QoZSk6dm9pZChoPXNldFRpbWVvdXQocyxhKGUpKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gaD12b2lkIDAseiYmYj9vKGUpOihiPXY9dm9pZCAwLGcpfWZ1bmN0aW9uIGwoKXt2b2lkIDAhPT1oJiZjbGVhclRpbWVvdXQoaCksaz0wLGI9dz12PWg9dm9pZCAwfWZ1bmN0aW9uIHAoKXtyZXR1cm4gdm9pZCAwPT09aD9nOmQoTygpKX1mdW5jdGlvbiBtKCl7dmFyIGU9TygpLG49YyhlKTtpZihiPWFyZ3VtZW50cyx2PXRoaXMsdz1lLG4pe2lmKHZvaWQgMD09PWgpcmV0dXJuIHIodyk7aWYoUylyZXR1cm4gaD1zZXRUaW1lb3V0KHMsdCksbyh3KX1yZXR1cm4gdm9pZCAwPT09aCYmKGg9c2V0VGltZW91dChzLHQpKSxnfXZhciBiLHYseSxnLGgsdyxrPTAsXz0hMSxTPSExLHo9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihmKTtyZXR1cm4gdD11KHQpfHwwLGkobikmJihfPSEhbi5sZWFkaW5nLFM9Im1heFdhaXQiaW4gbix5PVM/eCh1KG4ubWF4V2FpdCl8fDAsdCk6eSx6PSJ0cmFpbGluZyJpbiBuPyEhbi50cmFpbGluZzp6KSxtLmNhbmNlbD1sLG0uZmx1c2g9cCxtfWZ1bmN0aW9uIG8oZSx0LG8pe3ZhciByPSEwLGE9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihmKTtyZXR1cm4gaShvKSYmKHI9ImxlYWRpbmciaW4gbz8hIW8ubGVhZGluZzpyLGE9InRyYWlsaW5nImluIG8/ISFvLnRyYWlsaW5nOmEpLG4oZSx0LHtsZWFkaW5nOnIsbWF4V2FpdDp0LHRyYWlsaW5nOmF9KX1mdW5jdGlvbiBpKGUpe3ZhciB0PSJ1bmRlZmluZWQiPT10eXBlb2YgZT8idW5kZWZpbmVkIjpjKGUpO3JldHVybiEhZSYmKCJvYmplY3QiPT10fHwiZnVuY3Rpb24iPT10KX1mdW5jdGlvbiByKGUpe3JldHVybiEhZSYmIm9iamVjdCI9PSgidW5kZWZpbmVkIj09dHlwZW9mIGU/InVuZGVmaW5lZCI6YyhlKSl9ZnVuY3Rpb24gYShlKXtyZXR1cm4ic3ltYm9sIj09KCJ1bmRlZmluZWQiPT10eXBlb2YgZT8idW5kZWZpbmVkIjpjKGUpKXx8cihlKSYmay5jYWxsKGUpPT1kfWZ1bmN0aW9uIHUoZSl7aWYoIm51bWJlciI9PXR5cGVvZiBlKXJldHVybiBlO2lmKGEoZSkpcmV0dXJuIHM7aWYoaShlKSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGUudmFsdWVPZj9lLnZhbHVlT2YoKTplO2U9aSh0KT90KyIiOnR9aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiAwPT09ZT9lOitlO2U9ZS5yZXBsYWNlKGwsIiIpO3ZhciBuPW0udGVzdChlKTtyZXR1cm4gbnx8Yi50ZXN0KGUpP3YoZS5zbGljZSgyKSxuPzI6OCk6cC50ZXN0KGUpP3M6K2V9dmFyIGM9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LGY9IkV4cGVjdGVkIGEgZnVuY3Rpb24iLHM9TmFOLGQ9IltvYmplY3QgU3ltYm9sXSIsbD0vXlxzK3xccyskL2cscD0vXlstK10weFswLTlhLWZdKyQvaSxtPS9eMGJbMDFdKyQvaSxiPS9eMG9bMC03XSskL2ksdj1wYXJzZUludCx5PSJvYmplY3QiPT0oInVuZGVmaW5lZCI9PXR5cGVvZiB0PyJ1bmRlZmluZWQiOmModCkpJiZ0JiZ0Lk9iamVjdD09PU9iamVjdCYmdCxnPSJvYmplY3QiPT0oInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmPyJ1bmRlZmluZWQiOmMoc2VsZikpJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixoPXl8fGd8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksdz1PYmplY3QucHJvdG90eXBlLGs9dy50b1N0cmluZyx4PU1hdGgubWF4LGo9TWF0aC5taW4sTz1mdW5jdGlvbigpe3JldHVybiBoLkRhdGUubm93KCl9O2UuZXhwb3J0cz1vfSkuY2FsbCh0LGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCkpfSxmdW5jdGlvbihlLHQpeyhmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQsbil7ZnVuY3Rpb24gaSh0KXt2YXIgbj1iLG89djtyZXR1cm4gYj12PXZvaWQgMCxPPXQsZz1lLmFwcGx5KG8sbil9ZnVuY3Rpb24gcihlKXtyZXR1cm4gTz1lLGg9c2V0VGltZW91dChzLHQpLF8/aShlKTpnfWZ1bmN0aW9uIHUoZSl7dmFyIG49ZS13LG89ZS1PLGk9dC1uO3JldHVybiBTP3goaSx5LW8pOml9ZnVuY3Rpb24gZihlKXt2YXIgbj1lLXcsbz1lLU87cmV0dXJuIHZvaWQgMD09PXd8fG4+PXR8fG48MHx8UyYmbz49eX1mdW5jdGlvbiBzKCl7dmFyIGU9aigpO3JldHVybiBmKGUpP2QoZSk6dm9pZChoPXNldFRpbWVvdXQocyx1KGUpKSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gaD12b2lkIDAseiYmYj9pKGUpOihiPXY9dm9pZCAwLGcpfWZ1bmN0aW9uIGwoKXt2b2lkIDAhPT1oJiZjbGVhclRpbWVvdXQoaCksTz0wLGI9dz12PWg9dm9pZCAwfWZ1bmN0aW9uIHAoKXtyZXR1cm4gdm9pZCAwPT09aD9nOmQoaigpKX1mdW5jdGlvbiBtKCl7dmFyIGU9aigpLG49ZihlKTtpZihiPWFyZ3VtZW50cyx2PXRoaXMsdz1lLG4pe2lmKHZvaWQgMD09PWgpcmV0dXJuIHIodyk7aWYoUylyZXR1cm4gaD1zZXRUaW1lb3V0KHMsdCksaSh3KX1yZXR1cm4gdm9pZCAwPT09aCYmKGg9c2V0VGltZW91dChzLHQpKSxnfXZhciBiLHYseSxnLGgsdyxPPTAsXz0hMSxTPSExLHo9ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihjKTtyZXR1cm4gdD1hKHQpfHwwLG8obikmJihfPSEhbi5sZWFkaW5nLFM9Im1heFdhaXQiaW4gbix5PVM/ayhhKG4ubWF4V2FpdCl8fDAsdCk6eSx6PSJ0cmFpbGluZyJpbiBuPyEhbi50cmFpbGluZzp6KSxtLmNhbmNlbD1sLG0uZmx1c2g9cCxtfWZ1bmN0aW9uIG8oZSl7dmFyIHQ9InVuZGVmaW5lZCI9PXR5cGVvZiBlPyJ1bmRlZmluZWQiOnUoZSk7cmV0dXJuISFlJiYoIm9iamVjdCI9PXR8fCJmdW5jdGlvbiI9PXQpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuISFlJiYib2JqZWN0Ij09KCJ1bmRlZmluZWQiPT10eXBlb2YgZT8idW5kZWZpbmVkIjp1KGUpKX1mdW5jdGlvbiByKGUpe3JldHVybiJzeW1ib2wiPT0oInVuZGVmaW5lZCI9PXR5cGVvZiBlPyJ1bmRlZmluZWQiOnUoZSkpfHxpKGUpJiZ3LmNhbGwoZSk9PXN9ZnVuY3Rpb24gYShlKXtpZigibnVtYmVyIj09dHlwZW9mIGUpcmV0dXJuIGU7aWYocihlKSlyZXR1cm4gZjtpZihvKGUpKXt2YXIgdD0iZnVuY3Rpb24iPT10eXBlb2YgZS52YWx1ZU9mP2UudmFsdWVPZigpOmU7ZT1vKHQpP3QrIiI6dH1pZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIDA9PT1lP2U6K2U7ZT1lLnJlcGxhY2UoZCwiIik7dmFyIG49cC50ZXN0KGUpO3JldHVybiBufHxtLnRlc3QoZSk/YihlLnNsaWNlKDIpLG4/Mjo4KTpsLnRlc3QoZSk/ZjorZX12YXIgdT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZlLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZlIT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sYz0iRXhwZWN0ZWQgYSBmdW5jdGlvbiIsZj1OYU4scz0iW29iamVjdCBTeW1ib2xdIixkPS9eXHMrfFxzKyQvZyxsPS9eWy0rXTB4WzAtOWEtZl0rJC9pLHA9L14wYlswMV0rJC9pLG09L14wb1swLTddKyQvaSxiPXBhcnNlSW50LHY9Im9iamVjdCI9PSgidW5kZWZpbmVkIj09dHlwZW9mIHQ/InVuZGVmaW5lZCI6dSh0KSkmJnQmJnQuT2JqZWN0PT09T2JqZWN0JiZ0LHk9Im9iamVjdCI9PSgidW5kZWZpbmVkIj09dHlwZW9mIHNlbGY/InVuZGVmaW5lZCI6dShzZWxmKSkmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLGc9dnx8eXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxoPU9iamVjdC5wcm90b3R5cGUsdz1oLnRvU3RyaW5nLGs9TWF0aC5tYXgseD1NYXRoLm1pbixqPWZ1bmN0aW9uKCl7cmV0dXJuIGcuRGF0ZS5ub3coKX07ZS5leHBvcnRzPW59KS5jYWxsKHQsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKSl9LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXt2YXIgbj1uZXcgcihvKTthPXQsbi5vYnNlcnZlKGkuZG9jdW1lbnRFbGVtZW50LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxyZW1vdmVkTm9kZXM6ITB9KX1mdW5jdGlvbiBvKGUpe2UmJmUuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmFkZGVkTm9kZXMpLG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZS5yZW1vdmVkTm9kZXMpLG89dC5jb25jYXQobikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlLmhhc0F0dHJpYnV0ZSYmZS5oYXNBdHRyaWJ1dGUoImRhdGEtYW9zIil9KS5sZW5ndGg7byYmYSgpfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPXdpbmRvdy5kb2N1bWVudCxyPXdpbmRvdy5NdXRhdGlvbk9ic2VydmVyfHx3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcnx8d2luZG93Lk1vek11dGF0aW9uT2JzZXJ2ZXIsYT1mdW5jdGlvbigpe307dC5kZWZhdWx0PW59LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtpZighKGUgaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBvKCl7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnR8fG5hdmlnYXRvci52ZW5kb3J8fHdpbmRvdy5vcGVyYXx8IiJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgbz10W25dO28uZW51bWVyYWJsZT1vLmVudW1lcmFibGV8fCExLG8uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBvJiYoby53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsby5rZXksbyl9fXJldHVybiBmdW5jdGlvbih0LG4sbyl7cmV0dXJuIG4mJmUodC5wcm90b3R5cGUsbiksbyYmZSh0LG8pLHR9fSgpLHI9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFwuKGJyb3dzZXJ8bGluayl8dm9kYWZvbmV8d2FwfHdpbmRvd3MgY2V8eGRhfHhpaW5vL2ksYT0vMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1wtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XC0obnx1KXxjNTVcL3xjYXBpfGNjd2F8Y2RtXC18Y2VsbHxjaHRtfGNsZGN8Y21kXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcLXN8ZGV2aXxkaWNhfGRtb2J8ZG8oY3xwKW98ZHMoMTJ8XC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcLTV8Z1wtbW98Z28oXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXC0obXxwfHQpfGhlaVwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcLWN8aHQoYyhcLXwgfF98YXxnfHB8c3x0KXx0cCl8aHUoYXd8dGMpfGlcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcLXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Y1wtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcLyhrfGx8dSl8NTB8NTR8XC1bYS13XSl8bGlid3xseW54fG0xXC13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXC18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcLWd8cWFcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XC1bMi03XXxpXC0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcLXxvb3xwXC0pfHNka1wvfHNlKGMoXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXC18c2hhcnxzaWUoXC18bSl8c2tcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFwtfHZcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFwtfHRkZ1wtfHRlbChpfG0pfHRpbVwtfHRcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXC18bTN8bTUpfHR4XC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1wtfHlvdXJ8emV0b3x6dGVcLS9pLHU9LyhhbmRyb2lkfGJiXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxpZW1vYmlsZXxpcChob25lfG9kKXxpcmlzfGtpbmRsZXxsZ2UgfG1hZW1vfG1pZHB8bW1wfG1vYmlsZS4rZmlyZWZveHxuZXRmcm9udHxvcGVyYSBtKG9ifGluKWl8cGFsbSggb3MpP3xwaG9uZXxwKGl4aXxyZSlcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3x1cFwuKGJyb3dzZXJ8bGluayl8dm9kYWZvbmV8d2FwfHdpbmRvd3MgY2V8eGRhfHhpaW5vfGFuZHJvaWR8aXBhZHxwbGF5Ym9va3xzaWxrL2ksYz0vMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1wtKXxhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxhdHR3fGF1KGRpfFwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3XC0obnx1KXxjNTVcL3xjYXBpfGNjd2F8Y2RtXC18Y2VsbHxjaHRtfGNsZGN8Y21kXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcLXN8ZGV2aXxkaWNhfGRtb2J8ZG8oY3xwKW98ZHMoMTJ8XC1kKXxlbCg0OXxhaSl8ZW0obDJ8dWwpfGVyKGljfGswKXxlc2w4fGV6KFs0LTddMHxvc3x3YXx6ZSl8ZmV0Y3xmbHkoXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcLTV8Z1wtbW98Z28oXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXC0obXxwfHQpfGhlaVwtfGhpKHB0fHRhKXxocCggaXxpcCl8aHNcLWN8aHQoYyhcLXwgfF98YXxnfHB8c3x0KXx0cCl8aHUoYXd8dGMpfGlcLSgyMHxnb3xtYSl8aTIzMHxpYWMoIHxcLXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Y1wtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcLyhrfGx8dSl8NTB8NTR8XC1bYS13XSl8bGlid3xseW54fG0xXC13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtXC1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXC18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfFwtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcLWd8cWFcLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8XC1bMi03XXxpXC0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGhcLXxvb3xwXC0pfHNka1wvfHNlKGMoXC18MHwxKXw0N3xtY3xuZHxyaSl8c2doXC18c2hhcnxzaWUoXC18bSl8c2tcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFwtfHZcLXx2ICl8c3koMDF8bWIpfHQyKDE4fDUwKXx0NigwMHwxMHwxOCl8dGEoZ3R8bGspfHRjbFwtfHRkZ1wtfHRlbChpfG0pfHRpbVwtfHRcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXC18bTN8bTUpfHR4XC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhcLXwgKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhc1wtfHlvdXJ8emV0b3x6dGVcLS9pLGY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7bih0aGlzLGUpfXJldHVybiBpKGUsW3trZXk6InBob25lIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPW8oKTtyZXR1cm4hKCFyLnRlc3QoZSkmJiFhLnRlc3QoZS5zdWJzdHIoMCw0KSkpfX0se2tleToibW9iaWxlIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBlPW8oKTtyZXR1cm4hKCF1LnRlc3QoZSkmJiFjLnRlc3QoZS5zdWJzdHIoMCw0KSkpfX0se2tleToidGFibGV0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1vYmlsZSgpJiYhdGhpcy5waG9uZSgpfX1dKSxlfSgpO3QuZGVmYXVsdD1uZXcgZn0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1lLm5vZGUuZ2V0QXR0cmlidXRlKCJkYXRhLWFvcy1vbmNlIik7dD5lLnBvc2l0aW9uP2Uubm9kZS5jbGFzc0xpc3QuYWRkKCJhb3MtYW5pbWF0ZSIpOiJ1bmRlZmluZWQiIT10eXBlb2YgbyYmKCJmYWxzZSI9PT1vfHwhbiYmInRydWUiIT09bykmJmUubm9kZS5jbGFzc0xpc3QucmVtb3ZlKCJhb3MtYW5pbWF0ZSIpfSxvPWZ1bmN0aW9uKGUsdCl7dmFyIG89d2luZG93LnBhZ2VZT2Zmc2V0LGk9d2luZG93LmlubmVySGVpZ2h0O2UuZm9yRWFjaChmdW5jdGlvbihlLHIpe24oZSxpK28sdCl9KX07dC5kZWZhdWx0PW99LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMTIpLHI9byhpKSxhPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlLG4pe2Uubm9kZS5jbGFzc0xpc3QuYWRkKCJhb3MtaW5pdCIpLGUucG9zaXRpb249KDAsci5kZWZhdWx0KShlLm5vZGUsdC5vZmZzZXQpfSksZX07dC5kZWZhdWx0PWF9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMTMpLHI9byhpKSxhPWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxvPTAsaT13aW5kb3cuaW5uZXJIZWlnaHQsYT17b2Zmc2V0OmUuZ2V0QXR0cmlidXRlKCJkYXRhLWFvcy1vZmZzZXQiKSxhbmNob3I6ZS5nZXRBdHRyaWJ1dGUoImRhdGEtYW9zLWFuY2hvciIpLGFuY2hvclBsYWNlbWVudDplLmdldEF0dHJpYnV0ZSgiZGF0YS1hb3MtYW5jaG9yLXBsYWNlbWVudCIpfTtzd2l0Y2goYS5vZmZzZXQmJiFpc05hTihhLm9mZnNldCkmJihvPXBhcnNlSW50KGEub2Zmc2V0KSksYS5hbmNob3ImJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYS5hbmNob3IpJiYoZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGEuYW5jaG9yKVswXSksbj0oMCxyLmRlZmF1bHQpKGUpLnRvcCxhLmFuY2hvclBsYWNlbWVudCl7Y2FzZSJ0b3AtYm90dG9tIjpicmVhaztjYXNlImNlbnRlci1ib3R0b20iOm4rPWUub2Zmc2V0SGVpZ2h0LzI7YnJlYWs7Y2FzZSJib3R0b20tYm90dG9tIjpuKz1lLm9mZnNldEhlaWdodDticmVhaztjYXNlInRvcC1jZW50ZXIiOm4rPWkvMjticmVhaztjYXNlImJvdHRvbS1jZW50ZXIiOm4rPWkvMitlLm9mZnNldEhlaWdodDticmVhaztjYXNlImNlbnRlci1jZW50ZXIiOm4rPWkvMitlLm9mZnNldEhlaWdodC8yO2JyZWFrO2Nhc2UidG9wLXRvcCI6bis9aTticmVhaztjYXNlImJvdHRvbS10b3AiOm4rPWUub2Zmc2V0SGVpZ2h0K2k7YnJlYWs7Y2FzZSJjZW50ZXItdG9wIjpuKz1lLm9mZnNldEhlaWdodC8yK2l9cmV0dXJuIGEuYW5jaG9yUGxhY2VtZW50fHxhLm9mZnNldHx8aXNOYU4odCl8fChvPXQpLG4rb307dC5kZWZhdWx0PWF9LGZ1bmN0aW9uKGUsdCl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPTA7ZSYmIWlzTmFOKGUub2Zmc2V0TGVmdCkmJiFpc05hTihlLm9mZnNldFRvcCk7KXQrPWUub2Zmc2V0TGVmdC0oIkJPRFkiIT1lLnRhZ05hbWU/ZS5zY3JvbGxMZWZ0OjApLG4rPWUub2Zmc2V0VG9wLSgiQk9EWSIhPWUudGFnTmFtZT9lLnNjcm9sbFRvcDowKSxlPWUub2Zmc2V0UGFyZW50O3JldHVybnt0b3A6bixsZWZ0OnR9fTt0LmRlZmF1bHQ9bn0sZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPWZ1bmN0aW9uKGUpe3JldHVybiBlPWV8fGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWFvc10iKSxBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZSxmdW5jdGlvbihlKXtyZXR1cm57bm9kZTplfX0pfTt0LmRlZmF1bHQ9bn1dKX0pOw=="}},"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":"nanoquantumstellarsledger.com/frontcss/sliderimg.jpg","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.430Z","timestamp":1785139582430,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/sliderimg.jpg HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:22 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-length: 1457633\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1457633,"size_decoded":1457902,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1788x1200, components 3","md5":"627f53662dac796bd616147c9c2083b9","sha1":"31f1cb30c4465882ac731803215b7cfbe28fb0bf","sha256":"f6821d29d64d569e8c4fe2d540c97c782bf51410e661b8474f7a64ee4e10dd7d","sha512":"2cc8fe2e41d1008cc8716d14c7fa9f3e21ba86cb20d7f1443ae93d1b037cd499b2e187cb82e3e2bb2113d60c04dd858c181acfe85ba385ff4acb75b035031028","ssdeep":"24576:+vxdPZzB2NlzmLAZf9kWybp33WD9eNKhDJCvS1p:+rPZUzHuLZGpeNKhpp","tlshash":"752533a58fc58098d44d66b1dea313ff2b8e5aaedc84017ee91c8d13c3542b702d97a7","first_seen":"2025-11-23T04:10:47.83739Z","last_seen":"2026-07-27T09:11:27.316875Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":185,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":160,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.830Z","timestamp":1785139582830,"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-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 08:06:22 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: e2f5af7790c1234b0c5c3ee994ae721d\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-28T06:17:53.380432Z","times_seen":310,"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":23,"timings":{"blocked":12,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.835Z","timestamp":1785139582835,"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-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 08:06:22 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: c63630e7170e91884f77abed491fb928\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-31T06:34:35.472553Z","times_seen":719,"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":23,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":12,"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.487Z","timestamp":1785139583487,"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: 262150\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1842,"size_decoded":2516,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"c69c796362406f9e11c7f4bf5bb628da","sha1":"e489ce95ab56208090868882113d7416abf46775","sha256":"4dac0026fbfa2615dce30c0af12830863fe885f84387a0147b9e338f548d5d82","sha512":"d3ad560ed0fd29be7d2cc434694f09e5a6fbea8b29c0611aecb54a1b73b4d722c53f42a19dae9e3d5d358444e50fb8fffbc39d67ce751bdbc8c861f6f95d3162","ssdeep":"","tlshash":"4e31f9fd129220437101ade72165eef798347c15f412da60ce65ba389c9fe20ed9a619","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-12T17:51:36.737342Z","times_seen":74761,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.799Z","timestamp":1785139583799,"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-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 08:06:23 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: b4320b862640c001f1e167fc4ccee868\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-08-12T05:10:43.118771Z","times_seen":395,"resource_available":false,"data":"LmJhZGdlLXg0VVZaYWJNey0tdWktbGliLXNpemUtZGVmOnZhcigtLXVpLWxpYi1pbi1iYWRnZS1zaXplLHZhcigtLXVpLWxpYi1wcml2YXRlLWJhZGdlLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXhzbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMikpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7LS11aS1saWItc2l6ZS1kZWYteGxhcmdlOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA2KSkpOy0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1sZWZ0OnZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctcmlnaHQ6dmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtcGFkZGluZy1ob3IpOy0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqOHB4KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoyMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoyNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMzJweCk7LS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtaGVpZ2h0LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWhlaWdodCkpO2JvcmRlci1yYWRpdXM6dmFyKC0tdWktbGliLWJhZGdlLWJvcmRlci1yYWRpdXMpO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTFweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjExcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxN3B4KTtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjcwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNjAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3MDApO2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2UtYWN0dWFsLWhlaWdodCk7bGV0dGVyLXNwYWNpbmc6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSouNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSouMDJlbSArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKi4wNWVtICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSouMDJlbSk7cGFkZGluZy1ibG9jazowIDA7cGFkZGluZy1pbmxpbmU6dmFyKC0tdWktbGliLWJhZGdlLXBhZGRpbmctbGVmdCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWxlZnQpKSB2YXIoLS11aS1saWItYmFkZ2UtcGFkZGluZy1yaWdodCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLXJpZ2h0KSk7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQsdmFyKC0tdWktbGliLWJhZGdlLWRlZmF1bHQtY29sb3ItYmFja2dyb3VuZCkpO2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXdyYXA6bm93cmFwO2p1c3RpZnktY29udGVudDpjZW50ZXI7bGluZS1oZWlnaHQ6bm9ybWFsO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uYmFkZ2UteDRVVlphYk0uaGFzQ2hpbGRyZW4teDRVVlphYk17LS11aS1saWItYmFkZ2UtZGVmYXVsdC1wYWRkaW5nLWhvcjpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo4cHgpfS5iYWRnZS14NFVWWmFiTTpub3QoLmhhc0NoaWxkcmVuLXg0VVZaYWJNKXstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LXBhZGRpbmctaG9yOjA7d2lkdGg6dmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1oZWlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXthLmJhZGdlLXg0VVZaYWJNOmhvdmVyLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTpob3ZlcnstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7YmFja2dyb3VuZDp2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS11aS1saWItYmFkZ2UtYmFja2dyb3VuZCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWhvdmVyLHZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQpKSl9fWEuYmFkZ2UteDRVVlphYk06YWN0aXZlLGJ1dHRvbi5iYWRnZS14NFVWWmFiTTphY3RpdmV7LS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ib2xkKTstLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWNvbnRlbnQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpO2JhY2tncm91bmQ6dmFyKC0tdWktbGliLWJhZGdlLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLXVpLWxpYi1iYWRnZS1iYWNrZ3JvdW5kLHZhcigtLXVpLWxpYi1iYWRnZS1kZWZhdWx0LWNvbG9yLWJhY2tncm91bmQtYWN0aXZlKSkpO2NvbG9yOnZhcigtLXVpLWxpYi1iYWRnZS1jb2xvci1jb250ZW50LWFjdGl2ZSx2YXIoLS11aS1saWItYmFkZ2UtY29sb3ItY29udGVudCx2YXIoLS11aS1saWItYmFkZ2UtZGVmYXVsdC1jb2xvci1jb250ZW50LWFjdGl2ZSkpKX0uYmFkZ2UteDRVVlphYk17b3V0bGluZTpub25lO292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmV9LmJhZGdlLXg0VVZaYWJNOmZvY3Vze291dGxpbmU6bm9uZX0uYmFkZ2UteDRVVlphYk06Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJhZGdlLXg0VVZaYWJNOmFmdGVye2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OiIiO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6Y2FsYygxMDAlICsgOHB4KTtpbnNldC1pbmxpbmUtc3RhcnQ6LTRweDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSArIDhweCk7ei1pbmRleDoxfS5iYWRnZS14NFVWWmFiTTpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5iYWRnZS14NFVWWmFiTTpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJhZGdlLXg0VVZaYWJNOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSk6YWZ0ZXJ7ZGlzcGxheTpub25lfS5iYWRnZS14NFVWWmFiTTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tdWktbGliLWJhZGdlLWZvY3VzLW91dGxpbmUtcmFkaXVzLCB2YXIoLS11aS1saWItYmFkZ2UtYm9yZGVyLXJhZGl1cykpICsgNHB4KX0uY29udGVudC14NFVWWmFiTXtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIGNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSoycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjRweCk7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LnNsb3QteDRVVlphYk17LS11aS1saWItYmFkZ2Utc2xvdC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDp2YXIoLS11aS1saWItYmFkZ2Utc2xvdC1zaXplKTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOnZhcigtLXVpLWxpYi1iYWRnZS1zbG90LXNpemUpfS54c21hbGwteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjJ9LnNtYWxsLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTozfS5tZWRpdW0teDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjR9LmxhcmdlLXg0VVZaYWJNey0tdWktbGliLXByaXZhdGUtYmFkZ2Utc2l6ZTo1fS54bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjZ9Lnh4bGFyZ2UteDRVVlphYk17LS11aS1saWItcHJpdmF0ZS1iYWRnZS1zaXplOjd9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.806Z","timestamp":1785139583806,"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-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 08:06:23 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: 9c3ad0241e40debf4ce088434dfbccca\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-08-12T05:10:43.203333Z","times_seen":324,"resource_available":false,"data":"LmJveC1YZkdrQkJxZntib3JkZXItcmFkaXVzOjNweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjFweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjE4cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMzVzIGVhc2UsYm9yZGVyLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS5ib3gtWGZHa0JCcWYudW5jaGVja2VkLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6aW5pdGlhbH0uYm94LVhmR2tCQnFmLmNoZWNrZWQtWGZHa0JCcWYsLmJveC1YZkdrQkJxZi5taXhlZC1YZkdrQkJxZntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KTtjb2xvcjp2YXIoLS11aS1saWItcHJpdmF0ZS1jaGVja2JveFZpZXdJbXBsLWNvbG9yLW1hcmspfS51bmNoZWNrZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm9yZGVyKX0uY2hlY2tlZC1YZkdrQkJxZiwubWl4ZWQtWGZHa0JCcWZ7Ym9yZGVyLWNvbG9yOnZhcigtLXVpLWxpYi1wcml2YXRlLWNoZWNrYm94Vmlld0ltcGwtY29sb3ItYm94KX0uZGlzYWJsZWQtWGZHa0JCcWZ7b3BhY2l0eTouNX0uY2hlY2tlZE1hcmstWGZHa0JCcWZ7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gNS41cHgpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDUwJSAtIDQuNXB4KX0ubWl4ZWRNYXJrLVhmR2tCQnFme2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NnB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDNweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gM3B4KTt3aWR0aDo2cHh9"}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.920Z","timestamp":1785139583920,"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-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 08:06:23 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: f7084f698d6a6f4a2905308cf0f34e6c\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-08-11T04:43:23.113969Z","times_seen":252,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjA4MCw5OTEyNF0sezk5NDAxNihlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkgcG9zdHMgZm9yIHtzeW1ib2x9Il19LDcxMzkwNShlKXtlLmV4cG9ydHM9WyJDb21tdW5pdHkiXX0sMjQ1MTQ3KGUpe2UuZXhwb3J0cz1bIkNvbnRyYWN0cyJdfSw2ODE5MjEoZSl7ZS5leHBvcnRzPVsiQ2hhcnQiXX0sMzM0NDE1KGUpe2UuZXhwb3J0cz1bIkFuYWx5c2lzIl19LDYxMjU1KGUpe2UuZXhwb3J0cz1bIkFzc2V0cyJdfSw2MDIxMTMoZSl7ZS5leHBvcnRzPVsiQm9uZHMiXX0sNzg3NDQyKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyJdfSw1NTgwNjcoZSl7ZS5leHBvcnRzPVsiRGVyaXZhdGl2ZXMiXX0sOTI3ODkoZSl7ZS5leHBvcnRzPVsiRVRGcyJdfSwzODg3ODYoZSl7ZS5leHBvcnRzPVsiRWNvbm9teSBpbmRpY2F0b3JzIl19LDUzNDAyNyhlKXtlLmV4cG9ydHM9WyJGb3JlY2FzdCJdfSw2Njg2ODAoZSl7ZS5leHBvcnRzPVsiRm9yd2FyZCBjdXJ2ZSJdfSwzODAxNTgoZSl7ZS5leHBvcnRzPVsiRmluYW5jaWFscyJdfSw5OTU2MDIoZSl7ZS5leHBvcnRzPVsiRnVuZGFtZW50YWxzIl19LDk1NDExMShlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDg0MzUyMChlKXtlLmV4cG9ydHM9WyJOZXdzIl19LDM3ODc1MChlKXtlLmV4cG9ydHM9WyJTZWFzb25hbHMiXX0sOTIxNjQyKGUpe2UuZXhwb3J0cz1bIlByb2ZpbGUiXX0sMTIxMjcwKGUpe2UuZXhwb3J0cz1bIlRlY2huaWNhbHMiXX0sNjE2MTgwKGUpe2UuZXhwb3J0cz1bIllpZWxkIGN1cnZlIl19LDY2ODQ0OShlKXtlLmV4cG9ydHM9WyJhbmltYWxzICYgbmF0dXJlIl19LDU3NDcxNShlKXtlLmV4cG9ydHM9WyJhY3Rpdml0eSJdfSwxNDc1MDAoZSl7ZS5leHBvcnRzPVsiZm9vZCAmIGRyaW5rIl19LDE3NDE3OChlKXtlLmV4cG9ydHM9WyJmbGFncyJdfSw5NDMzOTMoZSl7ZS5leHBvcnRzPVsib2JqZWN0cyJdfSwzMDYwNzAoZSl7ZS5leHBvcnRzPVsic21pbGVzICYgcGVvcGxlIl19LDI3NjYwOShlKXtlLmV4cG9ydHM9WyJzeW1ib2xzIl19LDQ2NTQ1NihlKXtlLmV4cG9ydHM9WyJyZWNlbnRseSB1c2VkIl19LDEyMzEzOChlKXtlLmV4cG9ydHM9WyJ0cmF2ZWwgJiBwbGFjZXMiXX0sNTI3MShlKXtlLmV4cG9ydHM9WyJFVEZzIGZvciB7c3ltYm9sfSJdfSw3NjM5MzQoZSl7ZS5leHBvcnRzPVsiRG93bmxvYWQgY2hhcnQgZGF0YSJdfSw5MTA0NzYoZSl7ZS5leHBvcnRzPVsiRG90Il19LDU3MjIzOShlKXtlLmV4cG9ydHM9WyJBZGQgY3VzdG9tIGludGVydmFsIl19LDQ0MDI1MShlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNDI3NDQyKGUpe2UuZXhwb3J0cz1bIkRlZmF1bHQgdGVtcGxhdGVzIl19LDMyNTkxMChlKXtlLmV4cG9ydHM9WyJNeSB0ZW1wbGF0ZXMiXX0sNTE4MjQ5KGUpe2UuZXhwb3J0cz1bIlJlY2VudGx5IHVzZWQiXX0sMzkzMjczKGUpe2UuZXhwb3J0cz1bIlJlbW92ZSJdfSwyMDI4OTEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMjY5MTcoZSl7ZS5leHBvcnRzPVsiSG91cnMiXX0sMzQ0NzQ3KGUpe2UuZXhwb3J0cz1bIk1vbnRocyJdfSwyMzA5MDkoZSl7ZS5leHBvcnRzPVsiTWludXRlcyJdfSw3NTI3MDAoZSl7ZS5leHBvcnRzPVsiU2Vjb25kcyJdfSwyODgwMzQoZSl7ZS5leHBvcnRzPVsiUmFuZ2VzIl19LDQzMzk5NChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw4NzAzMDEoZSl7ZS5leHBvcnRzPVsiVGlja3MiXX0sNjI5Mzg0KGUpe2UuZXhwb3J0cz1bIkZhdm9yaXRlIEluZGljYXRvcnMiXX0sNDM0MDc2KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIG5vIEZhdm9yaXRlcyBJbmRpY2F0b3JzIHlldCJdfSw1OTA4ODQoZSl7ZS5leHBvcnRzPVsiQ29weSBsaW5rIl19LDkzODQ5NyhlKXtlLmV4cG9ydHM9WyJDcmVhdGUgbmV3IGxheW91dCJdfSw0Nzk3MShlKXtlLmV4cG9ydHM9WyJBdXRvc2F2ZSJdfSw2MTM1MTYoZSl7ZS5leHBvcnRzPVsiT3BlbiBsYXlvdXQiXX0sMjI0ODkoZSl7ZS5leHBvcnRzPVsiU2hhcmUgbGF5b3V0Il19LDc0NTY3NihlKXtlLmV4cG9ydHM9WyJTaGFyaW5nIl19LDYyMzI0NChlKXtlLmV4cG9ydHM9WyJSZWNlbnRseSB1c2VkIl19LDU2NTQ1MShlKXtlLmV4cG9ydHM9WyJSZW5hbWUiXX0sMTAxNDM1KGUpe2UuZXhwb3J0cz1bIk5ld3MgZm9yIHtzeW1ib2x9Il19LDEyNDc2NihlKXtlLmV4cG9ydHM9WyJDb3B5IGltYWdlIl19LDQyMjg3MChlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjY3OTgxKGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHNuYXBzaG90Il19LDMzNjk5MyhlKXtlLmV4cG9ydHM9WyJEb3dubG9hZCBpbWFnZSJdfSw1ODUxMjgoZSl7ZS5leHBvcnRzPVsiU2hhcmUgdmlhIFN5bXBob255Il19LDU4MTg1MyhlKXtlLmV4cG9ydHM9WyJUd2VldCBpbWFnZSJdfSw0NzM3ODIoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw0NzUwMjgoZSl7ZS5leHBvcnRzPVsiU3dpdGNoIGRhdGEgdHlwZSJdfSw2MDQwMShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgc2VhcmNoIl19LDY4NTU3NShlKXtlLmV4cG9ydHM9WyJQcm9maWxlIGZvciB7c3ltYm9sfSJdfSw0ODYzNjEoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIGFsZXJ0Il19LDg3MzgyMChlKXtlLmV4cG9ydHM9WyJDb21wYXJlIHN5bWJvbHMiXX0sMTMzOTcoZSl7ZS5leHBvcnRzPVsiRmF2b3JpdGUgaW5kaWNhdG9ycyJdfSwyNDQwODAoZSl7ZS5leHBvcnRzPVsiU2F2ZSBpbmRpY2F0b3IgdGVtcGxhdGUiXX0sOTA5ODQ3KGUpe2UuZXhwb3J0cz1bIlF1aWNrIHNlYXJjaCJdfSw0NTMyNjMoZSl7ZS5leHBvcnRzPVsicmVkbyB7aGludH0iXX0sNzMxNjQ5KGUpe2UuZXhwb3J0cz1bInVuZG8ge2hpbnR9Il19LDEyOTIxNChlKXtlLmV4cG9ydHM9WyJDb3B5Il19LDYwODk5MihlKXtlLmV4cG9ydHM9WyJDb3B5IGxpbmsiXX0sNjk0NjM3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IGludGVydmFsIl19LDczNzIxNShlKXtlLmV4cG9ydHM9WyJDcm9zc2hhaXIiXX0sMTI0NzgoZSl7CmUuZXhwb3J0cz1bIkNyb3NzaGFpciBpcyBzeW5jZWQgYWNyb3NzIGFsbCBjaGFydHMgd2l0aGluIHRoZSBsYXlvdXQiXX0sOTk1MjkoZSl7ZS5leHBvcnRzPVsiQWRkIHRvIGZhdm9yaXRlcyJdfSwxNjE3MzUoZSl7ZS5leHBvcnRzPVsiQWxlcnQiXX0sMzkzOShlKXtlLmV4cG9ydHM9WyJBbGwgY2hhbmdlcyBzYXZlZCJdfSw1NTYzOTkoZSl7ZS5leHBvcnRzPVsiQXV0b3NhdmUiXX0sODkzNTc2KGUpe2UuZXhwb3J0cz1bIkJvbmRzIGZvciB7c3ltYm9sfSJdfSw4MzM5MzQoZSl7ZS5leHBvcnRzPVsiQmFyJ3Mgc3R5bGUiXX0sNzUxMjgzKGUpe2UuZXhwb3J0cz1bIkRvY3VtZW50cyBmb3Ige3N5bWJvbH0iXX0sNDI3NDk0KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UiXX0sMTA0NTU5KGUpe2UuZXhwb3J0cz1bIkRhdGUgcmFuZ2UgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDQzNTgxMyhlKXtlLmV4cG9ydHM9WyJEZWZhdWx0IHRlbXBsYXRlcyJdfSwyNTM1MyhlKXtlLmV4cG9ydHM9WyJFY29ub215IGluZGljYXRvcnMiXX0sNjY2OTQ0KGUpe2UuZXhwb3J0cz1bIkV2ZXJ5b25lIHdpdGggdGhlIGxpbmsgY2FuIHZpZXcgYW5kIGNvcHkiXX0sNDUwMTY2KGUpe2UuZXhwb3J0cz1bIkZvcmVjYXN0IGZvciB7c3ltYm9sfSJdfSw1MjI5MTEoZSl7ZS5leHBvcnRzPVsiRnVsbHNjcmVlbiBtb2RlIl19LDEyNzU2OShlKXtlLmV4cG9ydHM9WyJJbnRlcnZhbCJdfSw0MDU5NDYoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWwgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDYxNjkoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9yIHRlbXBsYXRlcyJdfSw4NDgzOTQoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyJdfSwxNzQ0ODIoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycywgbWV0cmljcywgYW5kIHN0cmF0ZWdpZXMiXX0sNDEyNzc2KGUpe2UuZXhwb3J0cz1bIk9wdGlvbnMgZm9yIHtzeW1ib2x9Il19LDgwNjYzNihlKXtlLmV4cG9ydHM9WyJPcGVuIHRlbXBsYXRlIl19LDc1NjAwOShlKXtlLmV4cG9ydHM9WyJPcGVuIGNoYXJ0IGluIHBvcHVwIl19LDE0ODg4OShlKXtlLmV4cG9ydHM9WyJPcGVuIGluIG5ldyB0YWIiXX0sMjQyOTEzKGUpe2UuZXhwb3J0cz1bIkxvYWQgQ2hhcnQgTGF5b3V0Il19LDQzNjUwNChlKXtlLmV4cG9ydHM9WyJMb2FkaW5nLi4uIl19LDk3NDIxNChlKXtlLmV4cG9ydHM9WyJMYXlvdXQgc2V0dXAiXX0sOTI3NzA1KGUpe2UuZXhwb3J0cz1bIkxheW91dCB0eXBlIl19LDQ0NzE1MChlKXtlLmV4cG9ydHM9WyJMaW5rIGNvcGllZCB0byBjbGlwYm9hcmQiXX0sNjE4MDM5KGUpe2UuZXhwb3J0cz1bIk1ha2UgYSBjb3B5Il19LDIzNjY2MChlKXtlLmV4cG9ydHM9WyJNYW5hZ2UgbGF5b3V0cyJdfSwyODU0ODMoZSl7ZS5leHBvcnRzPVsiTXkgdGVtcGxhdGVzIl19LDU0ODY5MChlKXtlLmV4cG9ydHM9WyJOdW1iZXIgb3Ige2hvdEtleV8wfSJdfSw2MTI2NTUoZSl7ZS5leHBvcnRzPVsiU2F2ZSJdfSw4MjAzKGUpe2UuZXhwb3J0cz1bIlNhdmUgYWxsIGNoYXJ0cyBmb3IgYWxsIHN5bWJvbHMgYW5kIGludGVydmFscyBvbiB5b3VyIGxheW91dCJdfSw5MzkwNzQoZSl7ZS5leHBvcnRzPVsiU2F2ZSBsYXlvdXQiXX0sNjg1OTYzKGUpe2UuZXhwb3J0cz1bIlNlYXNvbmFscyBmb3Ige3N5bWJvbH0iXX0sOTY3MjU3KGUpe2UuZXhwb3J0cz1bIlNlYXJjaCB1c2luZyBJU0lOIGFuZCBDVVNJUCBjb2RlcyJdfSwyOTY0NTcoZSl7ZS5leHBvcnRzPVsiU2hhcmUiXX0sNTQwMDQyKGUpe2UuZXhwb3J0cz1bIlNoYXJlIGxhc3QgcHJpY2UiXX0sODcwNjc4KGUpe2UuZXhwb3J0cz1bIlNoYXJlIHNuYXBzaG90Il19LDM5MDE5OChlKXtlLmV4cG9ydHM9WyJTaW1wbHkgc3RhcnQgdHlwaW5nIHdoaWxlIG9uIHRoZSBjaGFydCB0byBwdWxsIHVwIHRoaXMgc2VhcmNoIGJveCJdfSw2MTMxNjMoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIl19LDQ4MjIyNShlKXtlLmV4cG9ydHM9WyJTeW1ib2wgY2hhbmdlcyBvbiBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0Il19LDczOTkzNihlKXtlLmV4cG9ydHM9WyJTeW5jIGluIGxheW91dCJdfSwzNTgyOTEoZSl7ZS5leHBvcnRzPVsiUmVjZW50bHkgdXNlZCJdfSw2OTQyMDkoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIGZyb20gZmF2b3JpdGVzIl19LDc1NDM4MihlKXtlLmV4cG9ydHM9WyJSZW1vdmUgc2VsZWN0ZWQgZW1vamkiXX0sNTIwMzg3KGUpe2UuZXhwb3J0cz1bIldoZW4gYSBjaGFydCBpcyBjbGlja2VkLCBhbGwgY2hhcnRzIHdpdGhpbiB0aGUgbGF5b3V0IGRpc3BsYXkgdGhlIHNhbWUgcG9pbnQgb2YgdGltZSJdfSwyMDczNzEoZSl7ZS5leHBvcnRzPVsiVGFrZSBhIHNuYXBzaG90Il19LDE4NjEyNShlKXtlLmV4cG9ydHM9WyJUaGUgTW90bGV5IEZvb2wgY29kZSJdfX1dKTs="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.973Z","timestamp":1785139583973,"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-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 08:06:23 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: 905c08bf240ee8cb2ca08b0d07019c24\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":1070,"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-28T06:17:53.610406Z","times_seen":322,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.811Z","timestamp":1785139582811,"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-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 08:06:22 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: a8cd4742f77cf83010046f6c92e1dd8b\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-28T06:17:53.347331Z","times_seen":308,"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":23,"timings":{"blocked":15,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/leaflet.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.015Z","timestamp":1785139582015,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/leaflet.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 39512\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":141125,"size_decoded":39750,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (65325)","md5":"c3910afc316e4200d415657f2a7e604f","sha1":"507fe8750c2915538408f9f6617e65be8bdcf842","sha256":"9ea1f893bdb2ff8f8620556dce4f843108b913d97a55b7e24a3a4be689526b25","sha512":"3a732af6fcca6448cfed21325be154ff3c940c0aa36a0b49838e49b6a350d826c0cb5c14b7517c3fb26c047bd753b5ffd135d36b53355b417869c5b5a2c5f45d","ssdeep":"1536:BgtNAIjuO7i52z08zwjZcxMmUoaQh28dF91BbvOHbvLCw9Bp6JIlPL9Fwf:BgDi52pzwmTTa2gCMlwf","tlshash":"48d3a38ab391ba2683c75174403f200bf6326595a40a452cb47dd9efee6ca49713bf3d","first_seen":"2023-03-09T23:11:09Z","last_seen":"2026-08-11T15:12:05.996811Z","times_seen":378,"resource_available":true,"data":"LyogQHByZXNlcnZlCiAqIExlYWZsZXQgMS40LjArRGV0YWNoZWQ6IDMzMzdmMzZkMmEyZDJiMzM5NDY3NzkwNTc2MTliMzFmNjc0ZmY1ZGMuMzMzN2YzNiwgYSBKUyBsaWJyYXJ5IGZvciBpbnRlcmFjdGl2ZSBtYXBzLiBodHRwOi8vbGVhZmxldGpzLmNvbQogKiAoYykgMjAxMC0yMDE4IFZsYWRpbWlyIEFnYWZvbmtpbiwgKGMpIDIwMTAtMjAxMSBDbG91ZE1hZGUKICovCiFmdW5jdGlvbih0LGkpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/aShleHBvcnRzKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImV4cG9ydHMiXSxpKTppKHQuTD17fSl9KHRoaXMsZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCl7dmFyIGksZSxuLG87Zm9yKGU9MSxuPWFyZ3VtZW50cy5sZW5ndGg7ZTxuO2UrKyl7bz1hcmd1bWVudHNbZV07Zm9yKGkgaW4gbyl0W2ldPW9baV19cmV0dXJuIHR9ZnVuY3Rpb24gZSh0LGkpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZTtpZih0LmJpbmQpcmV0dXJuIHQuYmluZC5hcHBseSh0LGUuY2FsbChhcmd1bWVudHMsMSkpO3ZhciBuPWUuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoaSxuLmxlbmd0aD9uLmNvbmNhdChlLmNhbGwoYXJndW1lbnRzKSk6YXJndW1lbnRzKX19ZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5fbGVhZmxldF9pZD10Ll9sZWFmbGV0X2lkfHwrK2VpLHQuX2xlYWZsZXRfaWR9ZnVuY3Rpb24gbyh0LGksZSl7dmFyIG4sbyxzLHI7cmV0dXJuIHI9ZnVuY3Rpb24oKXtuPSExLG8mJihzLmFwcGx5KGUsbyksbz0hMSl9LHM9ZnVuY3Rpb24oKXtuP289YXJndW1lbnRzOih0LmFwcGx5KGUsYXJndW1lbnRzKSxzZXRUaW1lb3V0KHIsaSksbj0hMCl9fWZ1bmN0aW9uIHModCxpLGUpe3ZhciBuPWlbMV0sbz1pWzBdLHM9bi1vO3JldHVybiB0PT09biYmZT90OigodC1vKSVzK3MpJXMrb31mdW5jdGlvbiByKCl7cmV0dXJuITF9ZnVuY3Rpb24gYSh0LGkpe3ZhciBlPU1hdGgucG93KDEwLHZvaWQgMD09PWk/NjppKTtyZXR1cm4gTWF0aC5yb3VuZCh0KmUpL2V9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdC50cmltP3QudHJpbSgpOnQucmVwbGFjZSgvXlxzK3xccyskL2csIiIpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIGgodCkuc3BsaXQoL1xzKy8pfWZ1bmN0aW9uIGwodCxpKXt0Lmhhc093blByb3BlcnR5KCJvcHRpb25zIil8fCh0Lm9wdGlvbnM9dC5vcHRpb25zP2lpKHQub3B0aW9ucyk6e30pO2Zvcih2YXIgZSBpbiBpKXQub3B0aW9uc1tlXT1pW2VdO3JldHVybiB0Lm9wdGlvbnN9ZnVuY3Rpb24gYyh0LGksZSl7dmFyIG49W107Zm9yKHZhciBvIGluIHQpbi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChlP28udG9VcHBlckNhc2UoKTpvKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHRbb10pKTtyZXR1cm4oaSYmLTEhPT1pLmluZGV4T2YoIj8iKT8iJiI6Ij8iKStuLmpvaW4oIiYiKX1mdW5jdGlvbiBfKHQsaSl7cmV0dXJuIHQucmVwbGFjZShuaSxmdW5jdGlvbih0LGUpe3ZhciBuPWlbZV07aWYodm9pZCAwPT09bil0aHJvdyBuZXcgRXJyb3IoIk5vIHZhbHVlIHByb3ZpZGVkIGZvciB2YXJpYWJsZSAiK3QpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuJiYobj1uKGkpKSxufSl9ZnVuY3Rpb24gZCh0LGkpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV09PT1pKXJldHVybiBlO3JldHVybi0xfWZ1bmN0aW9uIHAodCl7cmV0dXJuIHdpbmRvd1sid2Via2l0Iit0XXx8d2luZG93WyJtb3oiK3RdfHx3aW5kb3dbIm1zIit0XX1mdW5jdGlvbiBtKHQpe3ZhciBpPStuZXcgRGF0ZSxlPU1hdGgubWF4KDAsMTYtKGktcmkpKTtyZXR1cm4gcmk9aStlLHdpbmRvdy5zZXRUaW1lb3V0KHQsZSl9ZnVuY3Rpb24gZih0LGksbil7aWYoIW58fGFpIT09bSlyZXR1cm4gYWkuY2FsbCh3aW5kb3csZSh0LGkpKTt0LmNhbGwoaSl9ZnVuY3Rpb24gZyh0KXt0JiZoaS5jYWxsKHdpbmRvdyx0KX1mdW5jdGlvbiB2KCl7fWZ1bmN0aW9uIHkodCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBMJiZMJiZMLk1peGluKXt0PW9pKHQpP3Q6W3RdO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKXRbaV09PT1MLk1peGluLkV2ZW50cyYmY29uc29sZS53YXJuKCJEZXByZWNhdGVkIGluY2x1ZGUgb2YgTC5NaXhpbi5FdmVudHM6IHRoaXMgcHJvcGVydHkgd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSByZWxlYXNlcywgcGxlYXNlIGluaGVyaXQgZnJvbSBMLkV2ZW50ZWQgaW5zdGVhZC4iLChuZXcgRXJyb3IpLnN0YWNrKX19ZnVuY3Rpb24geCh0LGksZSl7dGhpcy54PWU/TWF0aC5yb3VuZCh0KTp0LHRoaXMueT1lP01hdGgucm91bmQoaSk6aX1mdW5jdGlvbiB3KHQsaSxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIHg/dDpvaSh0KT9uZXcgeCh0WzBdLHRbMV0pOnZvaWQgMD09PXR8fG51bGw9PT10P3Q6Im9iamVjdCI9PXR5cGVvZiB0JiYieCJpbiB0JiYieSJpbiB0P25ldyB4KHQueCx0LnkpOm5ldyB4KHQsaSxlKX1mdW5jdGlvbiBQKHQsaSl7aWYodClmb3IodmFyIGU9aT9bdCxpXTp0LG49MCxvPWUubGVuZ3RoO248bztuKyspdGhpcy5leHRlbmQoZVtuXSl9ZnVuY3Rpb24gYih0LGkpe3JldHVybiF0fHx0IGluc3RhbmNlb2YgUD90Om5ldyBQKHQsaSl9ZnVuY3Rpb24gVCh0LGkpe2lmKHQpZm9yKHZhciBlPWk/W3QsaV06dCxuPTAsbz1lLmxlbmd0aDtuPG87bisrKXRoaXMuZXh0ZW5kKGVbbl0pfWZ1bmN0aW9uIHoodCxpKXtyZXR1cm4gdCBpbnN0YW5jZW9mIFQ/dDpuZXcgVCh0LGkpfWZ1bmN0aW9uIE0odCxpLGUpe2lmKGlzTmFOKHQpfHxpc05hTihpKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgTGF0TG5nIG9iamVjdDogKCIrdCsiLCAiK2krIikiKTt0aGlzLmxhdD0rdCx0aGlzLmxuZz0raSx2b2lkIDAhPT1lJiYodGhpcy5hbHQ9K2UpfWZ1bmN0aW9uIEModCxpLGUpe3JldHVybiB0IGluc3RhbmNlb2YgTT90Om9pKHQpJiYib2JqZWN0IiE9dHlwZW9mIHRbMF0/Mz09PXQubGVuZ3RoP25ldyBNKHRbMF0sdFsxXSx0WzJdKToyPT09dC5sZW5ndGg/bmV3IE0odFswXSx0WzFdKTpudWxsOnZvaWQgMD09PXR8fG51bGw9PT10P3Q6Im9iamVjdCI9PXR5cGVvZiB0JiYibGF0ImluIHQ/bmV3IE0odC5sYXQsImxuZyJpbiB0P3QubG5nOnQubG9uLHQuYWx0KTp2b2lkIDA9PT1pP251bGw6bmV3IE0odCxpLGUpfWZ1bmN0aW9uIFModCxpLGUsbil7aWYob2kodCkpcmV0dXJuIHRoaXMuX2E9dFswXSx0aGlzLl9iPXRbMV0sdGhpcy5fYz10WzJdLHZvaWQodGhpcy5fZD10WzNdKTt0aGlzLl9hPXQsdGhpcy5fYj1pLHRoaXMuX2M9ZSx0aGlzLl9kPW59ZnVuY3Rpb24gWih0LGksZSxuKXtyZXR1cm4gbmV3IFModCxpLGUsbil9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdCl9ZnVuY3Rpb24gayh0LGkpe3ZhciBlLG4sbyxzLHIsYSxoPSIiO2ZvcihlPTAsbz10Lmxlbmd0aDtlPG87ZSsrKXtmb3Iobj0wLHM9KHI9dFtlXSkubGVuZ3RoO248cztuKyspYT1yW25dLGgrPShuPyJMIjoiTSIpK2EueCsiICIrYS55O2grPWk/Smk/InoiOiJ4IjoiIn1yZXR1cm4gaHx8Ik0wIDAifWZ1bmN0aW9uIEIodCl7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpPj0wfWZ1bmN0aW9uIEEodCxpLGUsbil7cmV0dXJuInRvdWNoc3RhcnQiPT09aT9PKHQsZSxuKToidG91Y2htb3ZlIj09PWk/Vyh0LGUsbik6InRvdWNoZW5kIj09PWkmJkgodCxlLG4pLHRoaXN9ZnVuY3Rpb24gSSh0LGksZSl7dmFyIG49dFsiX2xlYWZsZXRfIitpK2VdO3JldHVybiJ0b3VjaHN0YXJ0Ij09PWk/dC5yZW1vdmVFdmVudExpc3RlbmVyKHRlLG4sITEpOiJ0b3VjaG1vdmUiPT09aT90LnJlbW92ZUV2ZW50TGlzdGVuZXIoaWUsbiwhMSk6InRvdWNoZW5kIj09PWkmJih0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZWUsbiwhMSksdC5yZW1vdmVFdmVudExpc3RlbmVyKG5lLG4sITEpKSx0aGlzfWZ1bmN0aW9uIE8odCxpLG4pe3ZhciBvPWUoZnVuY3Rpb24odCl7aWYoIm1vdXNlIiE9PXQucG9pbnRlclR5cGUmJnQuTVNQT0lOVEVSX1RZUEVfTU9VU0UmJnQucG9pbnRlclR5cGUhPT10Lk1TUE9JTlRFUl9UWVBFX01PVVNFKXtpZighKG9lLmluZGV4T2YodC50YXJnZXQudGFnTmFtZSk8MCkpcmV0dXJuO1B0KHQpfWoodCxpKX0pO3RbIl9sZWFmbGV0X3RvdWNoc3RhcnQiK25dPW8sdC5hZGRFdmVudExpc3RlbmVyKHRlLG8sITEpLHJlfHwoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodGUsUiwhMCksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoaWUsTiwhMCksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZWUsRCwhMCksZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIobmUsRCwhMCkscmU9ITApfWZ1bmN0aW9uIFIodCl7c2VbdC5wb2ludGVySWRdPXQsYWUrK31mdW5jdGlvbiBOKHQpe3NlW3QucG9pbnRlcklkXSYmKHNlW3QucG9pbnRlcklkXT10KX1mdW5jdGlvbiBEKHQpe2RlbGV0ZSBzZVt0LnBvaW50ZXJJZF0sYWUtLX1mdW5jdGlvbiBqKHQsaSl7dC50b3VjaGVzPVtdO2Zvcih2YXIgZSBpbiBzZSl0LnRvdWNoZXMucHVzaChzZVtlXSk7dC5jaGFuZ2VkVG91Y2hlcz1bdF0saSh0KX1mdW5jdGlvbiBXKHQsaSxlKXt2YXIgbj1mdW5jdGlvbih0KXsodC5wb2ludGVyVHlwZSE9PXQuTVNQT0lOVEVSX1RZUEVfTU9VU0UmJiJtb3VzZSIhPT10LnBvaW50ZXJUeXBlfHwwIT09dC5idXR0b25zKSYmaih0LGkpfTt0WyJfbGVhZmxldF90b3VjaG1vdmUiK2VdPW4sdC5hZGRFdmVudExpc3RlbmVyKGllLG4sITEpfWZ1bmN0aW9uIEgodCxpLGUpe3ZhciBuPWZ1bmN0aW9uKHQpe2oodCxpKX07dFsiX2xlYWZsZXRfdG91Y2hlbmQiK2VdPW4sdC5hZGRFdmVudExpc3RlbmVyKGVlLG4sITEpLHQuYWRkRXZlbnRMaXN0ZW5lcihuZSxuLCExKX1mdW5jdGlvbiBGKHQsaSxlKXtmdW5jdGlvbiBuKHQpe3ZhciBpO2lmKFZpKXtpZighYml8fCJtb3VzZSI9PT10LnBvaW50ZXJUeXBlKXJldHVybjtpPWFlfWVsc2UgaT10LnRvdWNoZXMubGVuZ3RoO2lmKCEoaT4xKSl7dmFyIGU9RGF0ZS5ub3coKSxuPWUtKHN8fGUpO3I9dC50b3VjaGVzP3QudG91Y2hlc1swXTp0LGE9bj4wJiZuPD1oLHM9ZX19ZnVuY3Rpb24gbyh0KXtpZihhJiYhci5jYW5jZWxCdWJibGUpe2lmKFZpKXtpZighYml8fCJtb3VzZSI9PT10LnBvaW50ZXJUeXBlKXJldHVybjt2YXIgZSxuLG89e307Zm9yKG4gaW4gcillPXJbbl0sb1tuXT1lJiZlLmJpbmQ/ZS5iaW5kKHIpOmU7cj1vfXIudHlwZT0iZGJsY2xpY2siLGkocikscz1udWxsfX12YXIgcyxyLGE9ITEsaD0yNTA7cmV0dXJuIHRbbGUraGUrZV09bix0W2xlK3VlK2VdPW8sdFtsZSsiZGJsY2xpY2siK2VdPWksdC5hZGRFdmVudExpc3RlbmVyKGhlLG4sITEpLHQuYWRkRXZlbnRMaXN0ZW5lcih1ZSxvLCExKSx0LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIixpLCExKSx0aGlzfWZ1bmN0aW9uIFUodCxpKXt2YXIgZT10W2xlK2hlK2ldLG49dFtsZSt1ZStpXSxvPXRbbGUrImRibGNsaWNrIitpXTtyZXR1cm4gdC5yZW1vdmVFdmVudExpc3RlbmVyKGhlLGUsITEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcih1ZSxuLCExKSxiaXx8dC5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsbywhMSksdGhpc31mdW5jdGlvbiBWKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTp0fWZ1bmN0aW9uIHEodCxpKXt2YXIgZT10LnN0eWxlW2ldfHx0LmN1cnJlbnRTdHlsZSYmdC5jdXJyZW50U3R5bGVbaV07aWYoKCFlfHwiYXV0byI9PT1lKSYmZG9jdW1lbnQuZGVmYXVsdFZpZXcpe3ZhciBuPWRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodCxudWxsKTtlPW4/bltpXTpudWxsfXJldHVybiJhdXRvIj09PWU/bnVsbDplfWZ1bmN0aW9uIEcodCxpLGUpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIG4uY2xhc3NOYW1lPWl8fCIiLGUmJmUuYXBwZW5kQ2hpbGQobiksbn1mdW5jdGlvbiBLKHQpe3ZhciBpPXQucGFyZW50Tm9kZTtpJiZpLnJlbW92ZUNoaWxkKHQpfWZ1bmN0aW9uIFkodCl7Zm9yKDt0LmZpcnN0Q2hpbGQ7KXQucmVtb3ZlQ2hpbGQodC5maXJzdENoaWxkKX1mdW5jdGlvbiBYKHQpe3ZhciBpPXQucGFyZW50Tm9kZTtpJiZpLmxhc3RDaGlsZCE9PXQmJmkuYXBwZW5kQ2hpbGQodCl9ZnVuY3Rpb24gSih0KXt2YXIgaT10LnBhcmVudE5vZGU7aSYmaS5maXJzdENoaWxkIT09dCYmaS5pbnNlcnRCZWZvcmUodCxpLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uICQodCxpKXtpZih2b2lkIDAhPT10LmNsYXNzTGlzdClyZXR1cm4gdC5jbGFzc0xpc3QuY29udGFpbnMoaSk7dmFyIGU9ZXQodCk7cmV0dXJuIGUubGVuZ3RoPjAmJm5ldyBSZWdFeHAoIihefFxccykiK2krIihcXHN8JCkiKS50ZXN0KGUpfWZ1bmN0aW9uIFEodCxpKXtpZih2b2lkIDAhPT10LmNsYXNzTGlzdClmb3IodmFyIGU9dShpKSxuPTAsbz1lLmxlbmd0aDtuPG87bisrKXQuY2xhc3NMaXN0LmFkZChlW25dKTtlbHNlIGlmKCEkKHQsaSkpe3ZhciBzPWV0KHQpO2l0KHQsKHM/cysiICI6IiIpK2kpfX1mdW5jdGlvbiB0dCh0LGkpe3ZvaWQgMCE9PXQuY2xhc3NMaXN0P3QuY2xhc3NMaXN0LnJlbW92ZShpKTppdCh0LGgoKCIgIitldCh0KSsiICIpLnJlcGxhY2UoIiAiK2krIiAiLCIgIikpKX1mdW5jdGlvbiBpdCh0LGkpe3ZvaWQgMD09PXQuY2xhc3NOYW1lLmJhc2VWYWw/dC5jbGFzc05hbWU9aTp0LmNsYXNzTmFtZS5iYXNlVmFsPWl9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIHQuY29ycmVzcG9uZGluZ0VsZW1lbnQmJih0PXQuY29ycmVzcG9uZGluZ0VsZW1lbnQpLHZvaWQgMD09PXQuY2xhc3NOYW1lLmJhc2VWYWw/dC5jbGFzc05hbWU6dC5jbGFzc05hbWUuYmFzZVZhbH1mdW5jdGlvbiBudCh0LGkpeyJvcGFjaXR5ImluIHQuc3R5bGU/dC5zdHlsZS5vcGFjaXR5PWk6ImZpbHRlciJpbiB0LnN0eWxlJiZvdCh0LGkpfWZ1bmN0aW9uIG90KHQsaSl7dmFyIGU9ITEsbj0iRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEiO3RyeXtlPXQuZmlsdGVycy5pdGVtKG4pfWNhdGNoKHQpe2lmKDE9PT1pKXJldHVybn1pPU1hdGgucm91bmQoMTAwKmkpLGU/KGUuRW5hYmxlZD0xMDAhPT1pLGUuT3BhY2l0eT1pKTp0LnN0eWxlLmZpbHRlcis9IiBwcm9naWQ6IituKyIob3BhY2l0eT0iK2krIikifWZ1bmN0aW9uIHN0KHQpe2Zvcih2YXIgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV1pbiBpKXJldHVybiB0W2VdO3JldHVybiExfWZ1bmN0aW9uIHJ0KHQsaSxlKXt2YXIgbj1pfHxuZXcgeCgwLDApO3Quc3R5bGVbY2VdPShSaT8idHJhbnNsYXRlKCIrbi54KyJweCwiK24ueSsicHgpIjoidHJhbnNsYXRlM2QoIituLngrInB4LCIrbi55KyJweCwwKSIpKyhlPyIgc2NhbGUoIitlKyIpIjoiIil9ZnVuY3Rpb24gYXQodCxpKXt0Ll9sZWFmbGV0X3Bvcz1pLGppP3J0KHQsaSk6KHQuc3R5bGUubGVmdD1pLngrInB4Iix0LnN0eWxlLnRvcD1pLnkrInB4Iil9ZnVuY3Rpb24gaHQodCl7cmV0dXJuIHQuX2xlYWZsZXRfcG9zfHxuZXcgeCgwLDApfWZ1bmN0aW9uIHV0KCl7bXQod2luZG93LCJkcmFnc3RhcnQiLFB0KX1mdW5jdGlvbiBsdCgpe2Z0KHdpbmRvdywiZHJhZ3N0YXJ0IixQdCl9ZnVuY3Rpb24gY3QodCl7Zm9yKDstMT09PXQudGFiSW5kZXg7KXQ9dC5wYXJlbnROb2RlO3Quc3R5bGUmJihfdCgpLG1lPXQsZmU9dC5zdHlsZS5vdXRsaW5lLHQuc3R5bGUub3V0bGluZT0ibm9uZSIsbXQod2luZG93LCJrZXlkb3duIixfdCkpfWZ1bmN0aW9uIF90KCl7bWUmJihtZS5zdHlsZS5vdXRsaW5lPWZlLG1lPXZvaWQgMCxmZT12b2lkIDAsZnQod2luZG93LCJrZXlkb3duIixfdCkpfWZ1bmN0aW9uIGR0KHQpe2Rve3Q9dC5wYXJlbnROb2RlfXdoaWxlKCEodC5vZmZzZXRXaWR0aCYmdC5vZmZzZXRIZWlnaHR8fHQ9PT1kb2N1bWVudC5ib2R5KSk7cmV0dXJuIHR9ZnVuY3Rpb24gcHQodCl7dmFyIGk9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm57eDppLndpZHRoL3Qub2Zmc2V0V2lkdGh8fDEseTppLmhlaWdodC90Lm9mZnNldEhlaWdodHx8MSxib3VuZGluZ0NsaWVudFJlY3Q6aX19ZnVuY3Rpb24gbXQodCxpLGUsbil7aWYoIm9iamVjdCI9PXR5cGVvZiBpKWZvcih2YXIgbyBpbiBpKWd0KHQsbyxpW29dLGUpO2Vsc2UgZm9yKHZhciBzPTAscj0oaT11KGkpKS5sZW5ndGg7czxyO3MrKylndCh0LGlbc10sZSxuKTtyZXR1cm4gdGhpc31mdW5jdGlvbiBmdCh0LGksZSxuKXtpZigib2JqZWN0Ij09dHlwZW9mIGkpZm9yKHZhciBvIGluIGkpdnQodCxvLGlbb10sZSk7ZWxzZSBpZihpKWZvcih2YXIgcz0wLHI9KGk9dShpKSkubGVuZ3RoO3M8cjtzKyspdnQodCxpW3NdLGUsbik7ZWxzZXtmb3IodmFyIGEgaW4gdFt5ZV0pdnQodCxhLHRbeWVdW2FdKTtkZWxldGUgdFt5ZV19cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZ3QodCxpLGUsbyl7dmFyIHM9aStuKGUpKyhvPyJfIituKG8pOiIiKTtpZih0W3llXSYmdFt5ZV1bc10pcmV0dXJuIHRoaXM7dmFyIHI9ZnVuY3Rpb24oaSl7cmV0dXJuIGUuY2FsbChvfHx0LGl8fHdpbmRvdy5ldmVudCl9LGE9cjtWaSYmMD09PWkuaW5kZXhPZigidG91Y2giKT9BKHQsaSxyLHMpOiFxaXx8ImRibGNsaWNrIiE9PWl8fCFGfHxWaSYmRWk/ImFkZEV2ZW50TGlzdGVuZXIiaW4gdD8ibW91c2V3aGVlbCI9PT1pP3QuYWRkRXZlbnRMaXN0ZW5lcigib253aGVlbCJpbiB0PyJ3aGVlbCI6Im1vdXNld2hlZWwiLHIsITEpOiJtb3VzZWVudGVyIj09PWl8fCJtb3VzZWxlYXZlIj09PWk/KHI9ZnVuY3Rpb24oaSl7aT1pfHx3aW5kb3cuZXZlbnQsQ3QodCxpKSYmYShpKX0sdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIj09PWk/Im1vdXNlb3ZlciI6Im1vdXNlb3V0IixyLCExKSk6KCJjbGljayI9PT1pJiZ6aSYmKHI9ZnVuY3Rpb24odCl7U3QodCxhKX0pLHQuYWRkRXZlbnRMaXN0ZW5lcihpLHIsITEpKToiYXR0YWNoRXZlbnQiaW4gdCYmdC5hdHRhY2hFdmVudCgib24iK2kscik6Rih0LHIscyksdFt5ZV09dFt5ZV18fHt9LHRbeWVdW3NdPXJ9ZnVuY3Rpb24gdnQodCxpLGUsbyl7dmFyIHM9aStuKGUpKyhvPyJfIituKG8pOiIiKSxyPXRbeWVdJiZ0W3llXVtzXTtpZighcilyZXR1cm4gdGhpcztWaSYmMD09PWkuaW5kZXhPZigidG91Y2giKT9JKHQsaSxzKTohcWl8fCJkYmxjbGljayIhPT1pfHwhVXx8VmkmJkVpPyJyZW1vdmVFdmVudExpc3RlbmVyImluIHQ/Im1vdXNld2hlZWwiPT09aT90LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ud2hlZWwiaW4gdD8id2hlZWwiOiJtb3VzZXdoZWVsIixyLCExKTp0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiPT09aT8ibW91c2VvdmVyIjoibW91c2VsZWF2ZSI9PT1pPyJtb3VzZW91dCI6aSxyLCExKToiZGV0YWNoRXZlbnQiaW4gdCYmdC5kZXRhY2hFdmVudCgib24iK2kscik6VSh0LHMpLHRbeWVdW3NdPW51bGx9ZnVuY3Rpb24geXQodCl7cmV0dXJuIHQuc3RvcFByb3BhZ2F0aW9uP3Quc3RvcFByb3BhZ2F0aW9uKCk6dC5vcmlnaW5hbEV2ZW50P3Qub3JpZ2luYWxFdmVudC5fc3RvcHBlZD0hMDp0LmNhbmNlbEJ1YmJsZT0hMCxNdCh0KSx0aGlzfWZ1bmN0aW9uIHh0KHQpe3JldHVybiBndCh0LCJtb3VzZXdoZWVsIix5dCksdGhpc31mdW5jdGlvbiB3dCh0KXtyZXR1cm4gbXQodCwibW91c2Vkb3duIHRvdWNoc3RhcnQgZGJsY2xpY2siLHl0KSxndCh0LCJjbGljayIsenQpLHRoaXN9ZnVuY3Rpb24gUHQodCl7cmV0dXJuIHQucHJldmVudERlZmF1bHQ/dC5wcmV2ZW50RGVmYXVsdCgpOnQucmV0dXJuVmFsdWU9ITEsdGhpc31mdW5jdGlvbiBMdCh0KXtyZXR1cm4gUHQodCkseXQodCksdGhpc31mdW5jdGlvbiBidCh0LGkpe2lmKCFpKXJldHVybiBuZXcgeCh0LmNsaWVudFgsdC5jbGllbnRZKTt2YXIgZT1wdChpKSxuPWUuYm91bmRpbmdDbGllbnRSZWN0O3JldHVybiBuZXcgeCgodC5jbGllbnRYLW4ubGVmdCkvZS54LWkuY2xpZW50TGVmdCwodC5jbGllbnRZLW4udG9wKS9lLnktaS5jbGllbnRUb3ApfWZ1bmN0aW9uIFR0KHQpe3JldHVybiBiaT90LndoZWVsRGVsdGFZLzI6dC5kZWx0YVkmJjA9PT10LmRlbHRhTW9kZT8tdC5kZWx0YVkveGU6dC5kZWx0YVkmJjE9PT10LmRlbHRhTW9kZT8yMCotdC5kZWx0YVk6dC5kZWx0YVkmJjI9PT10LmRlbHRhTW9kZT82MCotdC5kZWx0YVk6dC5kZWx0YVh8fHQuZGVsdGFaPzA6dC53aGVlbERlbHRhPyh0LndoZWVsRGVsdGFZfHx0LndoZWVsRGVsdGEpLzI6dC5kZXRhaWwmJk1hdGguYWJzKHQuZGV0YWlsKTwzMjc2NT8yMCotdC5kZXRhaWw6dC5kZXRhaWw/dC5kZXRhaWwvLTMyNzY1KjYwOjB9ZnVuY3Rpb24genQodCl7d2VbdC50eXBlXT0hMH1mdW5jdGlvbiBNdCh0KXt2YXIgaT13ZVt0LnR5cGVdO3JldHVybiB3ZVt0LnR5cGVdPSExLGl9ZnVuY3Rpb24gQ3QodCxpKXt2YXIgZT1pLnJlbGF0ZWRUYXJnZXQ7aWYoIWUpcmV0dXJuITA7dHJ5e2Zvcig7ZSYmZSE9PXQ7KWU9ZS5wYXJlbnROb2RlfWNhdGNoKHQpe3JldHVybiExfXJldHVybiBlIT09dH1mdW5jdGlvbiBTdCh0LGkpe3ZhciBlPXQudGltZVN0YW1wfHx0Lm9yaWdpbmFsRXZlbnQmJnQub3JpZ2luYWxFdmVudC50aW1lU3RhbXAsbj1nZSYmZS1nZTtuJiZuPjEwMCYmbjw1MDB8fHQudGFyZ2V0Ll9zaW11bGF0ZWRDbGljayYmIXQuX3NpbXVsYXRlZD9MdCh0KTooZ2U9ZSxpKHQpKX1mdW5jdGlvbiBadCh0LGkpe2lmKCFpfHwhdC5sZW5ndGgpcmV0dXJuIHQuc2xpY2UoKTt2YXIgZT1pKmk7cmV0dXJuIHQ9QXQodCxlKSx0PWt0KHQsZSl9ZnVuY3Rpb24gRXQodCxpLGUpe3JldHVybiBNYXRoLnNxcnQoRHQodCxpLGUsITApKX1mdW5jdGlvbiBrdCh0LGkpe3ZhciBlPXQubGVuZ3RoLG49bmV3KHR5cGVvZiBVaW50OEFycmF5IT12b2lkIDArIiI/VWludDhBcnJheTpBcnJheSkoZSk7blswXT1uW2UtMV09MSxCdCh0LG4saSwwLGUtMSk7dmFyIG8scz1bXTtmb3Iobz0wO288ZTtvKyspbltvXSYmcy5wdXNoKHRbb10pO3JldHVybiBzfWZ1bmN0aW9uIEJ0KHQsaSxlLG4sbyl7dmFyIHMscixhLGg9MDtmb3Iocj1uKzE7cjw9by0xO3IrKykoYT1EdCh0W3JdLHRbbl0sdFtvXSwhMCkpPmgmJihzPXIsaD1hKTtoPmUmJihpW3NdPTEsQnQodCxpLGUsbixzKSxCdCh0LGksZSxzLG8pKX1mdW5jdGlvbiBBdCh0LGkpe2Zvcih2YXIgZT1bdFswXV0sbj0xLG89MCxzPXQubGVuZ3RoO248cztuKyspTnQodFtuXSx0W29dKT5pJiYoZS5wdXNoKHRbbl0pLG89bik7cmV0dXJuIG88cy0xJiZlLnB1c2godFtzLTFdKSxlfWZ1bmN0aW9uIEl0KHQsaSxlLG4sbyl7dmFyIHMscixhLGg9bj9rZTpSdCh0LGUpLHU9UnQoaSxlKTtmb3Ioa2U9dTs7KXtpZighKGh8dSkpcmV0dXJuW3QsaV07aWYoaCZ1KXJldHVybiExO2E9UnQocj1PdCh0LGkscz1ofHx1LGUsbyksZSkscz09PWg/KHQ9cixoPWEpOihpPXIsdT1hKX19ZnVuY3Rpb24gT3QodCxpLGUsbixvKXt2YXIgcyxyLGE9aS54LXQueCxoPWkueS10LnksdT1uLm1pbixsPW4ubWF4O3JldHVybiA4JmU/KHM9dC54K2EqKGwueS10LnkpL2gscj1sLnkpOjQmZT8ocz10LngrYSoodS55LXQueSkvaCxyPXUueSk6MiZlPyhzPWwueCxyPXQueStoKihsLngtdC54KS9hKToxJmUmJihzPXUueCxyPXQueStoKih1LngtdC54KS9hKSxuZXcgeChzLHIsbyl9ZnVuY3Rpb24gUnQodCxpKXt2YXIgZT0wO3JldHVybiB0Lng8aS5taW4ueD9lfD0xOnQueD5pLm1heC54JiYoZXw9MiksdC55PGkubWluLnk/ZXw9NDp0Lnk+aS5tYXgueSYmKGV8PTgpLGV9ZnVuY3Rpb24gTnQodCxpKXt2YXIgZT1pLngtdC54LG49aS55LXQueTtyZXR1cm4gZSplK24qbn1mdW5jdGlvbiBEdCh0LGksZSxuKXt2YXIgbyxzPWkueCxyPWkueSxhPWUueC1zLGg9ZS55LXIsdT1hKmEraCpoO3JldHVybiB1PjAmJigobz0oKHQueC1zKSphKyh0LnktcikqaCkvdSk+MT8ocz1lLngscj1lLnkpOm8+MCYmKHMrPWEqbyxyKz1oKm8pKSxhPXQueC1zLGg9dC55LXIsbj9hKmEraCpoOm5ldyB4KHMscil9ZnVuY3Rpb24ganQodCl7cmV0dXJuIW9pKHRbMF0pfHwib2JqZWN0IiE9dHlwZW9mIHRbMF1bMF0mJnZvaWQgMCE9PXRbMF1bMF19ZnVuY3Rpb24gV3QodCl7cmV0dXJuIGNvbnNvbGUud2FybigiRGVwcmVjYXRlZCB1c2Ugb2YgX2ZsYXQsIHBsZWFzZSB1c2UgTC5MaW5lVXRpbC5pc0ZsYXQgaW5zdGVhZC4iKSxqdCh0KX1mdW5jdGlvbiBIdCh0LGksZSl7dmFyIG4sbyxzLHIsYSxoLHUsbCxjLF89WzEsNCwyLDhdO2ZvcihvPTAsdT10Lmxlbmd0aDtvPHU7bysrKXRbb10uX2NvZGU9UnQodFtvXSxpKTtmb3Iocj0wO3I8NDtyKyspe2ZvcihsPV9bcl0sbj1bXSxvPTAscz0odT10Lmxlbmd0aCktMTtvPHU7cz1vKyspYT10W29dLGg9dFtzXSxhLl9jb2RlJmw/aC5fY29kZSZsfHwoKGM9T3QoaCxhLGwsaSxlKSkuX2NvZGU9UnQoYyxpKSxuLnB1c2goYykpOihoLl9jb2RlJmwmJigoYz1PdChoLGEsbCxpLGUpKS5fY29kZT1SdChjLGkpLG4ucHVzaChjKSksbi5wdXNoKGEpKTt0PW59cmV0dXJuIHR9ZnVuY3Rpb24gRnQodCxpKXt2YXIgZSxuLG8scyxyPSJGZWF0dXJlIj09PXQudHlwZT90Lmdlb21ldHJ5OnQsYT1yP3IuY29vcmRpbmF0ZXM6bnVsbCxoPVtdLHU9aSYmaS5wb2ludFRvTGF5ZXIsbD1pJiZpLmNvb3Jkc1RvTGF0TG5nfHxVdDtpZighYSYmIXIpcmV0dXJuIG51bGw7c3dpdGNoKHIudHlwZSl7Y2FzZSJQb2ludCI6cmV0dXJuIGU9bChhKSx1P3UodCxlKTpuZXcgJGUoZSk7Y2FzZSJNdWx0aVBvaW50Ijpmb3Iobz0wLHM9YS5sZW5ndGg7bzxzO28rKyllPWwoYVtvXSksaC5wdXNoKHU/dSh0LGUpOm5ldyAkZShlKSk7cmV0dXJuIG5ldyBLZShoKTtjYXNlIkxpbmVTdHJpbmciOmNhc2UiTXVsdGlMaW5lU3RyaW5nIjpyZXR1cm4gbj1WdChhLCJMaW5lU3RyaW5nIj09PXIudHlwZT8wOjEsbCksbmV3IG5uKG4saSk7Y2FzZSJQb2x5Z29uIjpjYXNlIk11bHRpUG9seWdvbiI6cmV0dXJuIG49VnQoYSwiUG9seWdvbiI9PT1yLnR5cGU/MToyLGwpLG5ldyBvbihuLGkpO2Nhc2UiR2VvbWV0cnlDb2xsZWN0aW9uIjpmb3Iobz0wLHM9ci5nZW9tZXRyaWVzLmxlbmd0aDtvPHM7bysrKXt2YXIgYz1GdCh7Z2VvbWV0cnk6ci5nZW9tZXRyaWVzW29dLHR5cGU6IkZlYXR1cmUiLHByb3BlcnRpZXM6dC5wcm9wZXJ0aWVzfSxpKTtjJiZoLnB1c2goYyl9cmV0dXJuIG5ldyBLZShoKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBHZW9KU09OIG9iamVjdC4iKX19ZnVuY3Rpb24gVXQodCl7cmV0dXJuIG5ldyBNKHRbMV0sdFswXSx0WzJdKX1mdW5jdGlvbiBWdCh0LGksZSl7Zm9yKHZhciBuLG89W10scz0wLHI9dC5sZW5ndGg7czxyO3MrKyluPWk/VnQodFtzXSxpLTEsZSk6KGV8fFV0KSh0W3NdKSxvLnB1c2gobik7cmV0dXJuIG99ZnVuY3Rpb24gcXQodCxpKXtyZXR1cm4gaT0ibnVtYmVyIj09dHlwZW9mIGk/aTo2LHZvaWQgMCE9PXQuYWx0P1thKHQubG5nLGkpLGEodC5sYXQsaSksYSh0LmFsdCxpKV06W2EodC5sbmcsaSksYSh0LmxhdCxpKV19ZnVuY3Rpb24gR3QodCxpLGUsbil7Zm9yKHZhciBvPVtdLHM9MCxyPXQubGVuZ3RoO3M8cjtzKyspby5wdXNoKGk/R3QodFtzXSxpLTEsZSxuKTpxdCh0W3NdLG4pKTtyZXR1cm4haSYmZSYmby5wdXNoKG9bMF0pLG99ZnVuY3Rpb24gS3QodCxlKXtyZXR1cm4gdC5mZWF0dXJlP2koe30sdC5mZWF0dXJlLHtnZW9tZXRyeTplfSk6WXQoZSl9ZnVuY3Rpb24gWXQodCl7cmV0dXJuIkZlYXR1cmUiPT09dC50eXBlfHwiRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlP3Q6e3R5cGU6IkZlYXR1cmUiLHByb3BlcnRpZXM6e30sZ2VvbWV0cnk6dH19ZnVuY3Rpb24gWHQodCxpKXtyZXR1cm4gbmV3IHNuKHQsaSl9ZnVuY3Rpb24gSnQodCxpKXtyZXR1cm4gbmV3IG1uKHQsaSl9ZnVuY3Rpb24gJHQodCl7cmV0dXJuIFhpP25ldyB2bih0KTpudWxsfWZ1bmN0aW9uIFF0KHQpe3JldHVybiBKaXx8JGk/bmV3IFBuKHQpOm51bGx9dmFyIHRpPU9iamVjdC5mcmVlemU7T2JqZWN0LmZyZWV6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdH07dmFyIGlpPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIHQucHJvdG90eXBlPWksbmV3IHR9fSgpLGVpPTAsbmk9L1x7ICooW1x3Xy1dKykgKlx9L2csb2k9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0sc2k9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUQvQUN3QUFBQUFBUUFCQUFBQ0FEcz0iLHJpPTAsYWk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8cCgiUmVxdWVzdEFuaW1hdGlvbkZyYW1lIil8fG0saGk9d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lfHxwKCJDYW5jZWxBbmltYXRpb25GcmFtZSIpfHxwKCJDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKXx8ZnVuY3Rpb24odCl7d2luZG93LmNsZWFyVGltZW91dCh0KX0sdWk9KE9iamVjdC5mcmVlemV8fE9iamVjdCkoe2ZyZWV6ZTp0aSxleHRlbmQ6aSxjcmVhdGU6aWksYmluZDplLGxhc3RJZDplaSxzdGFtcDpuLHRocm90dGxlOm8sd3JhcE51bTpzLGZhbHNlRm46cixmb3JtYXROdW06YSx0cmltOmgsc3BsaXRXb3Jkczp1LHNldE9wdGlvbnM6bCxnZXRQYXJhbVN0cmluZzpjLHRlbXBsYXRlOl8saXNBcnJheTpvaSxpbmRleE9mOmQsZW1wdHlJbWFnZVVybDpzaSxyZXF1ZXN0Rm46YWksY2FuY2VsRm46aGkscmVxdWVzdEFuaW1GcmFtZTpmLGNhbmNlbEFuaW1GcmFtZTpnfSk7di5leHRlbmQ9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oKXt0aGlzLmluaXRpYWxpemUmJnRoaXMuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5jYWxsSW5pdEhvb2tzKCl9LG49ZS5fX3N1cGVyX189dGhpcy5wcm90b3R5cGUsbz1paShuKTtvLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGU9bztmb3IodmFyIHMgaW4gdGhpcyl0aGlzLmhhc093blByb3BlcnR5KHMpJiYicHJvdG90eXBlIiE9PXMmJiJfX3N1cGVyX18iIT09cyYmKGVbc109dGhpc1tzXSk7cmV0dXJuIHQuc3RhdGljcyYmKGkoZSx0LnN0YXRpY3MpLGRlbGV0ZSB0LnN0YXRpY3MpLHQuaW5jbHVkZXMmJih5KHQuaW5jbHVkZXMpLGkuYXBwbHkobnVsbCxbb10uY29uY2F0KHQuaW5jbHVkZXMpKSxkZWxldGUgdC5pbmNsdWRlcyksby5vcHRpb25zJiYodC5vcHRpb25zPWkoaWkoby5vcHRpb25zKSx0Lm9wdGlvbnMpKSxpKG8sdCksby5faW5pdEhvb2tzPVtdLG8uY2FsbEluaXRIb29rcz1mdW5jdGlvbigpe2lmKCF0aGlzLl9pbml0SG9va3NDYWxsZWQpe24uY2FsbEluaXRIb29rcyYmbi5jYWxsSW5pdEhvb2tzLmNhbGwodGhpcyksdGhpcy5faW5pdEhvb2tzQ2FsbGVkPSEwO2Zvcih2YXIgdD0wLGk9by5faW5pdEhvb2tzLmxlbmd0aDt0PGk7dCsrKW8uX2luaXRIb29rc1t0XS5jYWxsKHRoaXMpfX0sZX0sdi5pbmNsdWRlPWZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMucHJvdG90eXBlLHQpLHRoaXN9LHYubWVyZ2VPcHRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMucHJvdG90eXBlLm9wdGlvbnMsdCksdGhpc30sdi5hZGRJbml0SG9vaz1mdW5jdGlvbih0KXt2YXIgaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSksZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmZ1bmN0aW9uKCl7dGhpc1t0XS5hcHBseSh0aGlzLGkpfTtyZXR1cm4gdGhpcy5wcm90b3R5cGUuX2luaXRIb29rcz10aGlzLnByb3RvdHlwZS5faW5pdEhvb2tzfHxbXSx0aGlzLnByb3RvdHlwZS5faW5pdEhvb2tzLnB1c2goZSksdGhpc307dmFyIGxpPXtvbjpmdW5jdGlvbih0LGksZSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0KWZvcih2YXIgbiBpbiB0KXRoaXMuX29uKG4sdFtuXSxpKTtlbHNlIGZvcih2YXIgbz0wLHM9KHQ9dSh0KSkubGVuZ3RoO288cztvKyspdGhpcy5fb24odFtvXSxpLGUpO3JldHVybiB0aGlzfSxvZmY6ZnVuY3Rpb24odCxpLGUpe2lmKHQpaWYoIm9iamVjdCI9PXR5cGVvZiB0KWZvcih2YXIgbiBpbiB0KXRoaXMuX29mZihuLHRbbl0saSk7ZWxzZSBmb3IodmFyIG89MCxzPSh0PXUodCkpLmxlbmd0aDtvPHM7bysrKXRoaXMuX29mZih0W29dLGksZSk7ZWxzZSBkZWxldGUgdGhpcy5fZXZlbnRzO3JldHVybiB0aGlzfSxfb246ZnVuY3Rpb24odCxpLGUpe3RoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9O3ZhciBuPXRoaXMuX2V2ZW50c1t0XTtufHwobj1bXSx0aGlzLl9ldmVudHNbdF09biksZT09PXRoaXMmJihlPXZvaWQgMCk7Zm9yKHZhciBvPXtmbjppLGN0eDplfSxzPW4scj0wLGE9cy5sZW5ndGg7cjxhO3IrKylpZihzW3JdLmZuPT09aSYmc1tyXS5jdHg9PT1lKXJldHVybjtzLnB1c2gobyl9LF9vZmY6ZnVuY3Rpb24odCxpLGUpe3ZhciBuLG8scztpZih0aGlzLl9ldmVudHMmJihuPXRoaXMuX2V2ZW50c1t0XSkpaWYoaSl7aWYoZT09PXRoaXMmJihlPXZvaWQgMCksbilmb3Iobz0wLHM9bi5sZW5ndGg7bzxzO28rKyl7dmFyIGE9bltvXTtpZihhLmN0eD09PWUmJmEuZm49PT1pKXJldHVybiBhLmZuPXIsdGhpcy5fZmlyaW5nQ291bnQmJih0aGlzLl9ldmVudHNbdF09bj1uLnNsaWNlKCkpLHZvaWQgbi5zcGxpY2UobywxKX19ZWxzZXtmb3Iobz0wLHM9bi5sZW5ndGg7bzxzO28rKyluW29dLmZuPXI7ZGVsZXRlIHRoaXMuX2V2ZW50c1t0XX19LGZpcmU6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLmxpc3RlbnModCxuKSlyZXR1cm4gdGhpczt2YXIgbz1pKHt9LGUse3R5cGU6dCx0YXJnZXQ6dGhpcyxzb3VyY2VUYXJnZXQ6ZSYmZS5zb3VyY2VUYXJnZXR8fHRoaXN9KTtpZih0aGlzLl9ldmVudHMpe3ZhciBzPXRoaXMuX2V2ZW50c1t0XTtpZihzKXt0aGlzLl9maXJpbmdDb3VudD10aGlzLl9maXJpbmdDb3VudCsxfHwxO2Zvcih2YXIgcj0wLGE9cy5sZW5ndGg7cjxhO3IrKyl7dmFyIGg9c1tyXTtoLmZuLmNhbGwoaC5jdHh8fHRoaXMsbyl9dGhpcy5fZmlyaW5nQ291bnQtLX19cmV0dXJuIG4mJnRoaXMuX3Byb3BhZ2F0ZUV2ZW50KG8pLHRoaXN9LGxpc3RlbnM6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XTtpZihlJiZlLmxlbmd0aClyZXR1cm4hMDtpZihpKWZvcih2YXIgbiBpbiB0aGlzLl9ldmVudFBhcmVudHMpaWYodGhpcy5fZXZlbnRQYXJlbnRzW25dLmxpc3RlbnModCxpKSlyZXR1cm4hMDtyZXR1cm4hMX0sb25jZTpmdW5jdGlvbih0LGksbil7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IodmFyIG8gaW4gdCl0aGlzLm9uY2Uobyx0W29dLGkpO3JldHVybiB0aGlzfXZhciBzPWUoZnVuY3Rpb24oKXt0aGlzLm9mZih0LGksbikub2ZmKHQscyxuKX0sdGhpcyk7cmV0dXJuIHRoaXMub24odCxpLG4pLm9uKHQscyxuKX0sYWRkRXZlbnRQYXJlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2V2ZW50UGFyZW50cz10aGlzLl9ldmVudFBhcmVudHN8fHt9LHRoaXMuX2V2ZW50UGFyZW50c1tuKHQpXT10LHRoaXN9LHJlbW92ZUV2ZW50UGFyZW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ldmVudFBhcmVudHMmJmRlbGV0ZSB0aGlzLl9ldmVudFBhcmVudHNbbih0KV0sdGhpc30sX3Byb3BhZ2F0ZUV2ZW50OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLl9ldmVudFBhcmVudHMpdGhpcy5fZXZlbnRQYXJlbnRzW2VdLmZpcmUodC50eXBlLGkoe2xheWVyOnQudGFyZ2V0LHByb3BhZ2F0ZWRGcm9tOnQudGFyZ2V0fSx0KSwhMCl9fTtsaS5hZGRFdmVudExpc3RlbmVyPWxpLm9uLGxpLnJlbW92ZUV2ZW50TGlzdGVuZXI9bGkuY2xlYXJBbGxFdmVudExpc3RlbmVycz1saS5vZmYsbGkuYWRkT25lVGltZUV2ZW50TGlzdGVuZXI9bGkub25jZSxsaS5maXJlRXZlbnQ9bGkuZmlyZSxsaS5oYXNFdmVudExpc3RlbmVycz1saS5saXN0ZW5zO3ZhciBjaT12LmV4dGVuZChsaSksX2k9TWF0aC50cnVuY3x8ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MD9NYXRoLmZsb29yKHQpOk1hdGguY2VpbCh0KX07eC5wcm90b3R5cGU9e2Nsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4KHRoaXMueCx0aGlzLnkpfSxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fYWRkKHcodCkpfSxfYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSxzdWJ0cmFjdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9zdWJ0cmFjdCh3KHQpKX0sX3N1YnRyYWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSxkaXZpZGVCeTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9kaXZpZGVCeSh0KX0sX2RpdmlkZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQsdGhpcy55Lz10LHRoaXN9LG11bHRpcGx5Qnk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fbXVsdGlwbHlCeSh0KX0sX211bHRpcGx5Qnk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc30sc2NhbGVCeTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHgodGhpcy54KnQueCx0aGlzLnkqdC55KX0sdW5zY2FsZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgeCh0aGlzLngvdC54LHRoaXMueS90LnkpfSxyb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX3JvdW5kKCl9LF9yb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpLHRoaXMueT1NYXRoLnJvdW5kKHRoaXMueSksdGhpc30sZmxvb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9mbG9vcigpfSxfZmxvb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9LGNlaWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9jZWlsKCl9LF9jZWlsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD1NYXRoLmNlaWwodGhpcy54KSx0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSksdGhpc30sdHJ1bmM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl90cnVuYygpfSxfdHJ1bmM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PV9pKHRoaXMueCksdGhpcy55PV9pKHRoaXMueSksdGhpc30sZGlzdGFuY2VUbzpmdW5jdGlvbih0KXt2YXIgaT0odD13KHQpKS54LXRoaXMueCxlPXQueS10aGlzLnk7cmV0dXJuIE1hdGguc3FydChpKmkrZSplKX0sZXF1YWxzOmZ1bmN0aW9uKHQpe3JldHVybih0PXcodCkpLng9PT10aGlzLngmJnQueT09PXRoaXMueX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9dyh0KSxNYXRoLmFicyh0LngpPD1NYXRoLmFicyh0aGlzLngpJiZNYXRoLmFicyh0LnkpPD1NYXRoLmFicyh0aGlzLnkpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJQb2ludCgiK2EodGhpcy54KSsiLCAiK2EodGhpcy55KSsiKSJ9fSxQLnByb3RvdHlwZT17ZXh0ZW5kOmZ1bmN0aW9uKHQpe3JldHVybiB0PXcodCksdGhpcy5taW58fHRoaXMubWF4Pyh0aGlzLm1pbi54PU1hdGgubWluKHQueCx0aGlzLm1pbi54KSx0aGlzLm1heC54PU1hdGgubWF4KHQueCx0aGlzLm1heC54KSx0aGlzLm1pbi55PU1hdGgubWluKHQueSx0aGlzLm1pbi55KSx0aGlzLm1heC55PU1hdGgubWF4KHQueSx0aGlzLm1heC55KSk6KHRoaXMubWluPXQuY2xvbmUoKSx0aGlzLm1heD10LmNsb25lKCkpLHRoaXN9LGdldENlbnRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHgoKHRoaXMubWluLngrdGhpcy5tYXgueCkvMiwodGhpcy5taW4ueSt0aGlzLm1heC55KS8yLHQpfSxnZXRCb3R0b21MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4KHRoaXMubWluLngsdGhpcy5tYXgueSl9LGdldFRvcFJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB4KHRoaXMubWF4LngsdGhpcy5taW4ueSl9LGdldFRvcExlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5taW59LGdldEJvdHRvbVJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF4fSxnZXRTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF4LnN1YnRyYWN0KHRoaXMubWluKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7dmFyIGksZTtyZXR1cm4odD0ibnVtYmVyIj09dHlwZW9mIHRbMF18fHQgaW5zdGFuY2VvZiB4P3codCk6Yih0KSlpbnN0YW5jZW9mIFA/KGk9dC5taW4sZT10Lm1heCk6aT1lPXQsaS54Pj10aGlzLm1pbi54JiZlLng8PXRoaXMubWF4LngmJmkueT49dGhpcy5taW4ueSYmZS55PD10aGlzLm1heC55fSxpbnRlcnNlY3RzOmZ1bmN0aW9uKHQpe3Q9Yih0KTt2YXIgaT10aGlzLm1pbixlPXRoaXMubWF4LG49dC5taW4sbz10Lm1heCxzPW8ueD49aS54JiZuLng8PWUueCxyPW8ueT49aS55JiZuLnk8PWUueTtyZXR1cm4gcyYmcn0sb3ZlcmxhcHM6ZnVuY3Rpb24odCl7dD1iKHQpO3ZhciBpPXRoaXMubWluLGU9dGhpcy5tYXgsbj10Lm1pbixvPXQubWF4LHM9by54PmkueCYmbi54PGUueCxyPW8ueT5pLnkmJm4ueTxlLnk7cmV0dXJuIHMmJnJ9LGlzVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLm1pbnx8IXRoaXMubWF4KX19LFQucHJvdG90eXBlPXtleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIGksZSxuPXRoaXMuX3NvdXRoV2VzdCxvPXRoaXMuX25vcnRoRWFzdDtpZih0IGluc3RhbmNlb2YgTSlpPXQsZT10O2Vsc2V7aWYoISh0IGluc3RhbmNlb2YgVCkpcmV0dXJuIHQ/dGhpcy5leHRlbmQoQyh0KXx8eih0KSk6dGhpcztpZihpPXQuX3NvdXRoV2VzdCxlPXQuX25vcnRoRWFzdCwhaXx8IWUpcmV0dXJuIHRoaXN9cmV0dXJuIG58fG8/KG4ubGF0PU1hdGgubWluKGkubGF0LG4ubGF0KSxuLmxuZz1NYXRoLm1pbihpLmxuZyxuLmxuZyksby5sYXQ9TWF0aC5tYXgoZS5sYXQsby5sYXQpLG8ubG5nPU1hdGgubWF4KGUubG5nLG8ubG5nKSk6KHRoaXMuX3NvdXRoV2VzdD1uZXcgTShpLmxhdCxpLmxuZyksdGhpcy5fbm9ydGhFYXN0PW5ldyBNKGUubGF0LGUubG5nKSksdGhpc30scGFkOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX3NvdXRoV2VzdCxlPXRoaXMuX25vcnRoRWFzdCxuPU1hdGguYWJzKGkubGF0LWUubGF0KSp0LG89TWF0aC5hYnMoaS5sbmctZS5sbmcpKnQ7cmV0dXJuIG5ldyBUKG5ldyBNKGkubGF0LW4saS5sbmctbyksbmV3IE0oZS5sYXQrbixlLmxuZytvKSl9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgTSgodGhpcy5fc291dGhXZXN0LmxhdCt0aGlzLl9ub3J0aEVhc3QubGF0KS8yLCh0aGlzLl9zb3V0aFdlc3QubG5nK3RoaXMuX25vcnRoRWFzdC5sbmcpLzIpfSxnZXRTb3V0aFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0fSxnZXROb3J0aEVhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9ydGhFYXN0fSxnZXROb3J0aFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE0odGhpcy5nZXROb3J0aCgpLHRoaXMuZ2V0V2VzdCgpKX0sZ2V0U291dGhFYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNKHRoaXMuZ2V0U291dGgoKSx0aGlzLmdldEVhc3QoKSl9LGdldFdlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0LmxuZ30sZ2V0U291dGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc291dGhXZXN0LmxhdH0sZ2V0RWFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ub3J0aEVhc3QubG5nfSxnZXROb3J0aDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9ub3J0aEVhc3QubGF0fSxjb250YWluczpmdW5jdGlvbih0KXt0PSJudW1iZXIiPT10eXBlb2YgdFswXXx8dCBpbnN0YW5jZW9mIE18fCJsYXQiaW4gdD9DKHQpOnoodCk7dmFyIGksZSxuPXRoaXMuX3NvdXRoV2VzdCxvPXRoaXMuX25vcnRoRWFzdDtyZXR1cm4gdCBpbnN0YW5jZW9mIFQ/KGk9dC5nZXRTb3V0aFdlc3QoKSxlPXQuZ2V0Tm9ydGhFYXN0KCkpOmk9ZT10LGkubGF0Pj1uLmxhdCYmZS5sYXQ8PW8ubGF0JiZpLmxuZz49bi5sbmcmJmUubG5nPD1vLmxuZ30saW50ZXJzZWN0czpmdW5jdGlvbih0KXt0PXoodCk7dmFyIGk9dGhpcy5fc291dGhXZXN0LGU9dGhpcy5fbm9ydGhFYXN0LG49dC5nZXRTb3V0aFdlc3QoKSxvPXQuZ2V0Tm9ydGhFYXN0KCkscz1vLmxhdD49aS5sYXQmJm4ubGF0PD1lLmxhdCxyPW8ubG5nPj1pLmxuZyYmbi5sbmc8PWUubG5nO3JldHVybiBzJiZyfSxvdmVybGFwczpmdW5jdGlvbih0KXt0PXoodCk7dmFyIGk9dGhpcy5fc291dGhXZXN0LGU9dGhpcy5fbm9ydGhFYXN0LG49dC5nZXRTb3V0aFdlc3QoKSxvPXQuZ2V0Tm9ydGhFYXN0KCkscz1vLmxhdD5pLmxhdCYmbi5sYXQ8ZS5sYXQscj1vLmxuZz5pLmxuZyYmbi5sbmc8ZS5sbmc7cmV0dXJuIHMmJnJ9LHRvQkJveFN0cmluZzpmdW5jdGlvbigpe3JldHVyblt0aGlzLmdldFdlc3QoKSx0aGlzLmdldFNvdXRoKCksdGhpcy5nZXRFYXN0KCksdGhpcy5nZXROb3J0aCgpXS5qb2luKCIsIil9LGVxdWFsczpmdW5jdGlvbih0LGkpe3JldHVybiEhdCYmKHQ9eih0KSx0aGlzLl9zb3V0aFdlc3QuZXF1YWxzKHQuZ2V0U291dGhXZXN0KCksaSkmJnRoaXMuX25vcnRoRWFzdC5lcXVhbHModC5nZXROb3J0aEVhc3QoKSxpKSl9LGlzVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLl9zb3V0aFdlc3R8fCF0aGlzLl9ub3J0aEVhc3QpfX0sTS5wcm90b3R5cGU9e2VxdWFsczpmdW5jdGlvbih0LGkpe3JldHVybiEhdCYmKHQ9Qyh0KSxNYXRoLm1heChNYXRoLmFicyh0aGlzLmxhdC10LmxhdCksTWF0aC5hYnModGhpcy5sbmctdC5sbmcpKTw9KHZvaWQgMD09PWk/MWUtOTppKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKHQpe3JldHVybiJMYXRMbmcoIithKHRoaXMubGF0LHQpKyIsICIrYSh0aGlzLmxuZyx0KSsiKSJ9LGRpc3RhbmNlVG86ZnVuY3Rpb24odCl7cmV0dXJuIHBpLmRpc3RhbmNlKHRoaXMsQyh0KSl9LHdyYXA6ZnVuY3Rpb24oKXtyZXR1cm4gcGkud3JhcExhdExuZyh0aGlzKX0sdG9Cb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGk9MTgwKnQvNDAwNzUwMTcsZT1pL01hdGguY29zKE1hdGguUEkvMTgwKnRoaXMubGF0KTtyZXR1cm4geihbdGhpcy5sYXQtaSx0aGlzLmxuZy1lXSxbdGhpcy5sYXQraSx0aGlzLmxuZytlXSl9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNKHRoaXMubGF0LHRoaXMubG5nLHRoaXMuYWx0KX19O3ZhciBkaT17bGF0TG5nVG9Qb2ludDpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMucHJvamVjdGlvbi5wcm9qZWN0KHQpLG49dGhpcy5zY2FsZShpKTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1hdGlvbi5fdHJhbnNmb3JtKGUsbil9LHBvaW50VG9MYXRMbmc6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLnNjYWxlKGkpLG49dGhpcy50cmFuc2Zvcm1hdGlvbi51bnRyYW5zZm9ybSh0LGUpO3JldHVybiB0aGlzLnByb2plY3Rpb24udW5wcm9qZWN0KG4pfSxwcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Rpb24ucHJvamVjdCh0KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Rpb24udW5wcm9qZWN0KHQpfSxzY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gMjU2Kk1hdGgucG93KDIsdCl9LHpvb206ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubG9nKHQvMjU2KS9NYXRoLkxOMn0sZ2V0UHJvamVjdGVkQm91bmRzOmZ1bmN0aW9uKHQpe2lmKHRoaXMuaW5maW5pdGUpcmV0dXJuIG51bGw7dmFyIGk9dGhpcy5wcm9qZWN0aW9uLmJvdW5kcyxlPXRoaXMuc2NhbGUodCk7cmV0dXJuIG5ldyBQKHRoaXMudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtKGkubWluLGUpLHRoaXMudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtKGkubWF4LGUpKX0saW5maW5pdGU6ITEsd3JhcExhdExuZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLndyYXBMbmc/cyh0LmxuZyx0aGlzLndyYXBMbmcsITApOnQubG5nO3JldHVybiBuZXcgTSh0aGlzLndyYXBMYXQ/cyh0LmxhdCx0aGlzLndyYXBMYXQsITApOnQubGF0LGksdC5hbHQpfSx3cmFwTGF0TG5nQm91bmRzOmZ1bmN0aW9uKHQpe3ZhciBpPXQuZ2V0Q2VudGVyKCksZT10aGlzLndyYXBMYXRMbmcoaSksbj1pLmxhdC1lLmxhdCxvPWkubG5nLWUubG5nO2lmKDA9PT1uJiYwPT09bylyZXR1cm4gdDt2YXIgcz10LmdldFNvdXRoV2VzdCgpLHI9dC5nZXROb3J0aEVhc3QoKTtyZXR1cm4gbmV3IFQobmV3IE0ocy5sYXQtbixzLmxuZy1vKSxuZXcgTShyLmxhdC1uLHIubG5nLW8pKX19LHBpPWkoe30sZGkse3dyYXBMbmc6Wy0xODAsMTgwXSxSOjYzNzFlMyxkaXN0YW5jZTpmdW5jdGlvbih0LGkpe3ZhciBlPU1hdGguUEkvMTgwLG49dC5sYXQqZSxvPWkubGF0KmUscz1NYXRoLnNpbigoaS5sYXQtdC5sYXQpKmUvMikscj1NYXRoLnNpbigoaS5sbmctdC5sbmcpKmUvMiksYT1zKnMrTWF0aC5jb3MobikqTWF0aC5jb3MobykqcipyLGg9MipNYXRoLmF0YW4yKE1hdGguc3FydChhKSxNYXRoLnNxcnQoMS1hKSk7cmV0dXJuIHRoaXMuUipofX0pLG1pPXtSOjYzNzgxMzcsTUFYX0xBVElUVURFOjg1LjA1MTEyODc3OTgscHJvamVjdDpmdW5jdGlvbih0KXt2YXIgaT1NYXRoLlBJLzE4MCxlPXRoaXMuTUFYX0xBVElUVURFLG49TWF0aC5tYXgoTWF0aC5taW4oZSx0LmxhdCksLWUpLG89TWF0aC5zaW4obippKTtyZXR1cm4gbmV3IHgodGhpcy5SKnQubG5nKmksdGhpcy5SKk1hdGgubG9nKCgxK28pLygxLW8pKS8yKX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe3ZhciBpPTE4MC9NYXRoLlBJO3JldHVybiBuZXcgTSgoMipNYXRoLmF0YW4oTWF0aC5leHAodC55L3RoaXMuUikpLU1hdGguUEkvMikqaSx0LngqaS90aGlzLlIpfSxib3VuZHM6ZnVuY3Rpb24oKXt2YXIgdD02Mzc4MTM3Kk1hdGguUEk7cmV0dXJuIG5ldyBQKFstdCwtdF0sW3QsdF0pfSgpfTtTLnByb3RvdHlwZT17dHJhbnNmb3JtOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybSh0LmNsb25lKCksaSl9LF90cmFuc2Zvcm06ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT1pfHwxLHQueD1pKih0aGlzLl9hKnQueCt0aGlzLl9iKSx0Lnk9aSoodGhpcy5fYyp0LnkrdGhpcy5fZCksdH0sdW50cmFuc2Zvcm06ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT1pfHwxLG5ldyB4KCh0LngvaS10aGlzLl9iKS90aGlzLl9hLCh0LnkvaS10aGlzLl9kKS90aGlzLl9jKX19O3ZhciBmaSxnaSx2aSx5aT1pKHt9LHBpLHtjb2RlOiJFUFNHOjM4NTciLHByb2plY3Rpb246bWksdHJhbnNmb3JtYXRpb246ZnVuY3Rpb24oKXt2YXIgdD0uNS8oTWF0aC5QSSptaS5SKTtyZXR1cm4gWih0LC41LC10LC41KX0oKX0pLHhpPWkoe30seWkse2NvZGU6IkVQU0c6OTAwOTEzIn0pLHdpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxQaT0iQWN0aXZlWE9iamVjdCJpbiB3aW5kb3csTGk9UGkmJiFkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyLGJpPSJtc0xhdW5jaFVyaSJpbiBuYXZpZ2F0b3ImJiEoImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCksVGk9Qigid2Via2l0Iiksemk9QigiYW5kcm9pZCIpLE1pPUIoImFuZHJvaWQgMiIpfHxCKCJhbmRyb2lkIDMiKSxDaT1wYXJzZUludCgvV2ViS2l0XC8oWzAtOV0rKXwkLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpWzFdLDEwKSxTaT16aSYmQigiR29vZ2xlIikmJkNpPDUzNyYmISgiQXVkaW9Ob2RlImluIHdpbmRvdyksWmk9ISF3aW5kb3cub3BlcmEsRWk9QigiY2hyb21lIiksa2k9QigiZ2Vja28iKSYmIVRpJiYhWmkmJiFQaSxCaT0hRWkmJkIoInNhZmFyaSIpLEFpPUIoInBoYW50b20iKSxJaT0iT1RyYW5zaXRpb24iaW4gd2ksT2k9MD09PW5hdmlnYXRvci5wbGF0Zm9ybS5pbmRleE9mKCJXaW4iKSxSaT1QaSYmInRyYW5zaXRpb24iaW4gd2ksTmk9IldlYktpdENTU01hdHJpeCJpbiB3aW5kb3cmJiJtMTEiaW4gbmV3IHdpbmRvdy5XZWJLaXRDU1NNYXRyaXgmJiFNaSxEaT0iTW96UGVyc3BlY3RpdmUiaW4gd2ksamk9IXdpbmRvdy5MX0RJU0FCTEVfM0QmJihSaXx8Tml8fERpKSYmIUlpJiYhQWksV2k9InVuZGVmaW5lZCIhPXR5cGVvZiBvcmllbnRhdGlvbnx8QigibW9iaWxlIiksSGk9V2kmJlRpLEZpPVdpJiZOaSxVaT0hd2luZG93LlBvaW50ZXJFdmVudCYmd2luZG93Lk1TUG9pbnRlckV2ZW50LFZpPSEoIXdpbmRvdy5Qb2ludGVyRXZlbnQmJiFVaSkscWk9IXdpbmRvdy5MX05PX1RPVUNIJiYoVml8fCJvbnRvdWNoc3RhcnQiaW4gd2luZG93fHx3aW5kb3cuRG9jdW1lbnRUb3VjaCYmZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaCksR2k9V2kmJlppLEtpPVdpJiZraSxZaT0od2luZG93LmRldmljZVBpeGVsUmF0aW98fHdpbmRvdy5zY3JlZW4uZGV2aWNlWERQSS93aW5kb3cuc2NyZWVuLmxvZ2ljYWxYRFBJKT4xLFhpPSEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCxKaT0hKCFkb2N1bWVudC5jcmVhdGVFbGVtZW50TlN8fCFFKCJzdmciKS5jcmVhdGVTVkdSZWN0KSwkaT0hSmkmJmZ1bmN0aW9uKCl7dHJ5e3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3QuaW5uZXJIVE1MPSc8djpzaGFwZSBhZGo9IjEiLz4nO3ZhciBpPXQuZmlyc3RDaGlsZDtyZXR1cm4gaS5zdHlsZS5iZWhhdmlvcj0idXJsKCNkZWZhdWx0I1ZNTCkiLGkmJiJvYmplY3QiPT10eXBlb2YgaS5hZGp9Y2F0Y2godCl7cmV0dXJuITF9fSgpLFFpPShPYmplY3QuZnJlZXplfHxPYmplY3QpKHtpZTpQaSxpZWx0OTpMaSxlZGdlOmJpLHdlYmtpdDpUaSxhbmRyb2lkOnppLGFuZHJvaWQyMzpNaSxhbmRyb2lkU3RvY2s6U2ksb3BlcmE6WmksY2hyb21lOkVpLGdlY2tvOmtpLHNhZmFyaTpCaSxwaGFudG9tOkFpLG9wZXJhMTI6SWksd2luOk9pLGllM2Q6Umksd2Via2l0M2Q6TmksZ2Vja28zZDpEaSxhbnkzZDpqaSxtb2JpbGU6V2ksbW9iaWxlV2Via2l0OkhpLG1vYmlsZVdlYmtpdDNkOkZpLG1zUG9pbnRlcjpVaSxwb2ludGVyOlZpLHRvdWNoOnFpLG1vYmlsZU9wZXJhOkdpLG1vYmlsZUdlY2tvOktpLHJldGluYTpZaSxjYW52YXM6WGksc3ZnOkppLHZtbDokaX0pLHRlPVVpPyJNU1BvaW50ZXJEb3duIjoicG9pbnRlcmRvd24iLGllPVVpPyJNU1BvaW50ZXJNb3ZlIjoicG9pbnRlcm1vdmUiLGVlPVVpPyJNU1BvaW50ZXJVcCI6InBvaW50ZXJ1cCIsbmU9VWk/Ik1TUG9pbnRlckNhbmNlbCI6InBvaW50ZXJjYW5jZWwiLG9lPVsiSU5QVVQiLCJTRUxFQ1QiLCJPUFRJT04iXSxzZT17fSxyZT0hMSxhZT0wLGhlPVVpPyJNU1BvaW50ZXJEb3duIjpWaT8icG9pbnRlcmRvd24iOiJ0b3VjaHN0YXJ0Iix1ZT1VaT8iTVNQb2ludGVyVXAiOlZpPyJwb2ludGVydXAiOiJ0b3VjaGVuZCIsbGU9Il9sZWFmbGV0XyIsY2U9c3QoWyJ0cmFuc2Zvcm0iLCJ3ZWJraXRUcmFuc2Zvcm0iLCJPVHJhbnNmb3JtIiwiTW96VHJhbnNmb3JtIiwibXNUcmFuc2Zvcm0iXSksX2U9c3QoWyJ3ZWJraXRUcmFuc2l0aW9uIiwidHJhbnNpdGlvbiIsIk9UcmFuc2l0aW9uIiwiTW96VHJhbnNpdGlvbiIsIm1zVHJhbnNpdGlvbiJdKSxkZT0id2Via2l0VHJhbnNpdGlvbiI9PT1fZXx8Ik9UcmFuc2l0aW9uIj09PV9lP19lKyJFbmQiOiJ0cmFuc2l0aW9uZW5kIjtpZigib25zZWxlY3RzdGFydCJpbiBkb2N1bWVudClmaT1mdW5jdGlvbigpe210KHdpbmRvdywic2VsZWN0c3RhcnQiLFB0KX0sZ2k9ZnVuY3Rpb24oKXtmdCh3aW5kb3csInNlbGVjdHN0YXJ0IixQdCl9O2Vsc2V7dmFyIHBlPXN0KFsidXNlclNlbGVjdCIsIldlYmtpdFVzZXJTZWxlY3QiLCJPVXNlclNlbGVjdCIsIk1velVzZXJTZWxlY3QiLCJtc1VzZXJTZWxlY3QiXSk7Zmk9ZnVuY3Rpb24oKXtpZihwZSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlO3ZpPXRbcGVdLHRbcGVdPSJub25lIn19LGdpPWZ1bmN0aW9uKCl7cGUmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGVbcGVdPXZpLHZpPXZvaWQgMCl9fXZhciBtZSxmZSxnZSx2ZT0oT2JqZWN0LmZyZWV6ZXx8T2JqZWN0KSh7VFJBTlNGT1JNOmNlLFRSQU5TSVRJT046X2UsVFJBTlNJVElPTl9FTkQ6ZGUsZ2V0OlYsZ2V0U3R5bGU6cSxjcmVhdGU6RyxyZW1vdmU6SyxlbXB0eTpZLHRvRnJvbnQ6WCx0b0JhY2s6SixoYXNDbGFzczokLGFkZENsYXNzOlEscmVtb3ZlQ2xhc3M6dHQsc2V0Q2xhc3M6aXQsZ2V0Q2xhc3M6ZXQsc2V0T3BhY2l0eTpudCx0ZXN0UHJvcDpzdCxzZXRUcmFuc2Zvcm06cnQsc2V0UG9zaXRpb246YXQsZ2V0UG9zaXRpb246aHQsZGlzYWJsZVRleHRTZWxlY3Rpb246ZmksZW5hYmxlVGV4dFNlbGVjdGlvbjpnaSxkaXNhYmxlSW1hZ2VEcmFnOnV0LGVuYWJsZUltYWdlRHJhZzpsdCxwcmV2ZW50T3V0bGluZTpjdCxyZXN0b3JlT3V0bGluZTpfdCxnZXRTaXplZFBhcmVudE5vZGU6ZHQsZ2V0U2NhbGU6cHR9KSx5ZT0iX2xlYWZsZXRfZXZlbnRzIix4ZT1PaSYmRWk/Mip3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzpraT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxLHdlPXt9LFBlPShPYmplY3QuZnJlZXplfHxPYmplY3QpKHtvbjptdCxvZmY6ZnQsc3RvcFByb3BhZ2F0aW9uOnl0LGRpc2FibGVTY3JvbGxQcm9wYWdhdGlvbjp4dCxkaXNhYmxlQ2xpY2tQcm9wYWdhdGlvbjp3dCxwcmV2ZW50RGVmYXVsdDpQdCxzdG9wOkx0LGdldE1vdXNlUG9zaXRpb246YnQsZ2V0V2hlZWxEZWx0YTpUdCxmYWtlU3RvcDp6dCxza2lwcGVkOk10LGlzRXh0ZXJuYWxUYXJnZXQ6Q3QsYWRkTGlzdGVuZXI6bXQscmVtb3ZlTGlzdGVuZXI6ZnR9KSxMZT1jaS5leHRlbmQoe3J1bjpmdW5jdGlvbih0LGksZSxuKXt0aGlzLnN0b3AoKSx0aGlzLl9lbD10LHRoaXMuX2luUHJvZ3Jlc3M9ITAsdGhpcy5fZHVyYXRpb249ZXx8LjI1LHRoaXMuX2Vhc2VPdXRQb3dlcj0xL01hdGgubWF4KG58fC41LC4yKSx0aGlzLl9zdGFydFBvcz1odCh0KSx0aGlzLl9vZmZzZXQ9aS5zdWJ0cmFjdCh0aGlzLl9zdGFydFBvcyksdGhpcy5fc3RhcnRUaW1lPStuZXcgRGF0ZSx0aGlzLmZpcmUoInN0YXJ0IiksdGhpcy5fYW5pbWF0ZSgpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5faW5Qcm9ncmVzcyYmKHRoaXMuX3N0ZXAoITApLHRoaXMuX2NvbXBsZXRlKCkpfSxfYW5pbWF0ZTpmdW5jdGlvbigpe3RoaXMuX2FuaW1JZD1mKHRoaXMuX2FuaW1hdGUsdGhpcyksdGhpcy5fc3RlcCgpfSxfc3RlcDpmdW5jdGlvbih0KXt2YXIgaT0rbmV3IERhdGUtdGhpcy5fc3RhcnRUaW1lLGU9MWUzKnRoaXMuX2R1cmF0aW9uO2k8ZT90aGlzLl9ydW5GcmFtZSh0aGlzLl9lYXNlT3V0KGkvZSksdCk6KHRoaXMuX3J1bkZyYW1lKDEpLHRoaXMuX2NvbXBsZXRlKCkpfSxfcnVuRnJhbWU6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9zdGFydFBvcy5hZGQodGhpcy5fb2Zmc2V0Lm11bHRpcGx5QnkodCkpO2kmJmUuX3JvdW5kKCksYXQodGhpcy5fZWwsZSksdGhpcy5maXJlKCJzdGVwIil9LF9jb21wbGV0ZTpmdW5jdGlvbigpe2codGhpcy5fYW5pbUlkKSx0aGlzLl9pblByb2dyZXNzPSExLHRoaXMuZmlyZSgiZW5kIil9LF9lYXNlT3V0OmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCx0aGlzLl9lYXNlT3V0UG93ZXIpfX0pLGJlPWNpLmV4dGVuZCh7b3B0aW9uczp7Y3JzOnlpLGNlbnRlcjp2b2lkIDAsem9vbTp2b2lkIDAsbWluWm9vbTp2b2lkIDAsbWF4Wm9vbTp2b2lkIDAsbGF5ZXJzOltdLG1heEJvdW5kczp2b2lkIDAscmVuZGVyZXI6dm9pZCAwLHpvb21BbmltYXRpb246ITAsem9vbUFuaW1hdGlvblRocmVzaG9sZDo0LGZhZGVBbmltYXRpb246ITAsbWFya2VyWm9vbUFuaW1hdGlvbjohMCx0cmFuc2Zvcm0zRExpbWl0OjgzODg2MDgsem9vbVNuYXA6MSx6b29tRGVsdGE6MSx0cmFja1Jlc2l6ZTohMH0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe2k9bCh0aGlzLGkpLHRoaXMuX2hhbmRsZXJzPVtdLHRoaXMuX2xheWVycz17fSx0aGlzLl96b29tQm91bmRMYXllcnM9e30sdGhpcy5fc2l6ZUNoYW5nZWQ9ITAsdGhpcy5faW5pdENvbnRhaW5lcih0KSx0aGlzLl9pbml0TGF5b3V0KCksdGhpcy5fb25SZXNpemU9ZSh0aGlzLl9vblJlc2l6ZSx0aGlzKSx0aGlzLl9pbml0RXZlbnRzKCksaS5tYXhCb3VuZHMmJnRoaXMuc2V0TWF4Qm91bmRzKGkubWF4Qm91bmRzKSx2b2lkIDAhPT1pLnpvb20mJih0aGlzLl96b29tPXRoaXMuX2xpbWl0Wm9vbShpLnpvb20pKSxpLmNlbnRlciYmdm9pZCAwIT09aS56b29tJiZ0aGlzLnNldFZpZXcoQyhpLmNlbnRlciksaS56b29tLHtyZXNldDohMH0pLHRoaXMuY2FsbEluaXRIb29rcygpLHRoaXMuX3pvb21BbmltYXRlZD1fZSYmamkmJiFHaSYmdGhpcy5vcHRpb25zLnpvb21BbmltYXRpb24sdGhpcy5fem9vbUFuaW1hdGVkJiYodGhpcy5fY3JlYXRlQW5pbVByb3h5KCksbXQodGhpcy5fcHJveHksZGUsdGhpcy5fY2F0Y2hUcmFuc2l0aW9uRW5kLHRoaXMpKSx0aGlzLl9hZGRMYXllcnModGhpcy5vcHRpb25zLmxheWVycyl9LHNldFZpZXc6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPXZvaWQgMD09PWU/dGhpcy5fem9vbTp0aGlzLl9saW1pdFpvb20oZSksdD10aGlzLl9saW1pdENlbnRlcihDKHQpLGUsdGhpcy5vcHRpb25zLm1heEJvdW5kcyksbj1ufHx7fSx0aGlzLl9zdG9wKCksdGhpcy5fbG9hZGVkJiYhbi5yZXNldCYmITAhPT1uJiYodm9pZCAwIT09bi5hbmltYXRlJiYobi56b29tPWkoe2FuaW1hdGU6bi5hbmltYXRlfSxuLnpvb20pLG4ucGFuPWkoe2FuaW1hdGU6bi5hbmltYXRlLGR1cmF0aW9uOm4uZHVyYXRpb259LG4ucGFuKSksdGhpcy5fem9vbSE9PWU/dGhpcy5fdHJ5QW5pbWF0ZWRab29tJiZ0aGlzLl90cnlBbmltYXRlZFpvb20odCxlLG4uem9vbSk6dGhpcy5fdHJ5QW5pbWF0ZWRQYW4odCxuLnBhbikpPyhjbGVhclRpbWVvdXQodGhpcy5fc2l6ZVRpbWVyKSx0aGlzKToodGhpcy5fcmVzZXRWaWV3KHQsZSksdGhpcyl9LHNldFpvb206ZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5fbG9hZGVkP3RoaXMuc2V0Vmlldyh0aGlzLmdldENlbnRlcigpLHQse3pvb206aX0pOih0aGlzLl96b29tPXQsdGhpcyl9LHpvb21JbjpmdW5jdGlvbih0LGkpe3JldHVybiB0PXR8fChqaT90aGlzLm9wdGlvbnMuem9vbURlbHRhOjEpLHRoaXMuc2V0Wm9vbSh0aGlzLl96b29tK3QsaSl9LHpvb21PdXQ6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdD10fHwoamk/dGhpcy5vcHRpb25zLnpvb21EZWx0YToxKSx0aGlzLnNldFpvb20odGhpcy5fem9vbS10LGkpfSxzZXRab29tQXJvdW5kOmZ1bmN0aW9uKHQsaSxlKXt2YXIgbj10aGlzLmdldFpvb21TY2FsZShpKSxvPXRoaXMuZ2V0U2l6ZSgpLmRpdmlkZUJ5KDIpLHM9KHQgaW5zdGFuY2VvZiB4P3Q6dGhpcy5sYXRMbmdUb0NvbnRhaW5lclBvaW50KHQpKS5zdWJ0cmFjdChvKS5tdWx0aXBseUJ5KDEtMS9uKSxyPXRoaXMuY29udGFpbmVyUG9pbnRUb0xhdExuZyhvLmFkZChzKSk7cmV0dXJuIHRoaXMuc2V0VmlldyhyLGkse3pvb206ZX0pfSxfZ2V0Qm91bmRzQ2VudGVyWm9vbTpmdW5jdGlvbih0LGkpe2k9aXx8e30sdD10LmdldEJvdW5kcz90LmdldEJvdW5kcygpOnoodCk7dmFyIGU9dyhpLnBhZGRpbmdUb3BMZWZ0fHxpLnBhZGRpbmd8fFswLDBdKSxuPXcoaS5wYWRkaW5nQm90dG9tUmlnaHR8fGkucGFkZGluZ3x8WzAsMF0pLG89dGhpcy5nZXRCb3VuZHNab29tKHQsITEsZS5hZGQobikpO2lmKChvPSJudW1iZXIiPT10eXBlb2YgaS5tYXhab29tP01hdGgubWluKGkubWF4Wm9vbSxvKTpvKT09PTEvMClyZXR1cm57Y2VudGVyOnQuZ2V0Q2VudGVyKCksem9vbTpvfTt2YXIgcz1uLnN1YnRyYWN0KGUpLmRpdmlkZUJ5KDIpLHI9dGhpcy5wcm9qZWN0KHQuZ2V0U291dGhXZXN0KCksbyksYT10aGlzLnByb2plY3QodC5nZXROb3J0aEVhc3QoKSxvKTtyZXR1cm57Y2VudGVyOnRoaXMudW5wcm9qZWN0KHIuYWRkKGEpLmRpdmlkZUJ5KDIpLmFkZChzKSxvKSx6b29tOm99fSxmaXRCb3VuZHM6ZnVuY3Rpb24odCxpKXtpZighKHQ9eih0KSkuaXNWYWxpZCgpKXRocm93IG5ldyBFcnJvcigiQm91bmRzIGFyZSBub3QgdmFsaWQuIik7dmFyIGU9dGhpcy5fZ2V0Qm91bmRzQ2VudGVyWm9vbSh0LGkpO3JldHVybiB0aGlzLnNldFZpZXcoZS5jZW50ZXIsZS56b29tLGkpfSxmaXRXb3JsZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5maXRCb3VuZHMoW1stOTAsLTE4MF0sWzkwLDE4MF1dLHQpfSxwYW5UbzpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLnNldFZpZXcodCx0aGlzLl96b29tLHtwYW46aX0pfSxwYW5CeTpmdW5jdGlvbih0LGkpe2lmKHQ9dyh0KS5yb3VuZCgpLGk9aXx8e30sIXQueCYmIXQueSlyZXR1cm4gdGhpcy5maXJlKCJtb3ZlZW5kIik7aWYoITAhPT1pLmFuaW1hdGUmJiF0aGlzLmdldFNpemUoKS5jb250YWlucyh0KSlyZXR1cm4gdGhpcy5fcmVzZXRWaWV3KHRoaXMudW5wcm9qZWN0KHRoaXMucHJvamVjdCh0aGlzLmdldENlbnRlcigpKS5hZGQodCkpLHRoaXMuZ2V0Wm9vbSgpKSx0aGlzO2lmKHRoaXMuX3BhbkFuaW18fCh0aGlzLl9wYW5BbmltPW5ldyBMZSx0aGlzLl9wYW5BbmltLm9uKHtzdGVwOnRoaXMuX29uUGFuVHJhbnNpdGlvblN0ZXAsZW5kOnRoaXMuX29uUGFuVHJhbnNpdGlvbkVuZH0sdGhpcykpLGkubm9Nb3ZlU3RhcnR8fHRoaXMuZmlyZSgibW92ZXN0YXJ0IiksITEhPT1pLmFuaW1hdGUpe1EodGhpcy5fbWFwUGFuZSwibGVhZmxldC1wYW4tYW5pbSIpO3ZhciBlPXRoaXMuX2dldE1hcFBhbmVQb3MoKS5zdWJ0cmFjdCh0KS5yb3VuZCgpO3RoaXMuX3BhbkFuaW0ucnVuKHRoaXMuX21hcFBhbmUsZSxpLmR1cmF0aW9ufHwuMjUsaS5lYXNlTGluZWFyaXR5KX1lbHNlIHRoaXMuX3Jhd1BhbkJ5KHQpLHRoaXMuZmlyZSgibW92ZSIpLmZpcmUoIm1vdmVlbmQiKTtyZXR1cm4gdGhpc30sZmx5VG86ZnVuY3Rpb24odCxpLGUpe2Z1bmN0aW9uIG4odCl7dmFyIGk9KGcqZy1tKm0rKHQ/LTE6MSkqeCp4KnYqdikvKDIqKHQ/ZzptKSp4KnYpLGU9TWF0aC5zcXJ0KGkqaSsxKS1pO3JldHVybiBlPDFlLTk/LTE4Ok1hdGgubG9nKGUpfWZ1bmN0aW9uIG8odCl7cmV0dXJuKE1hdGguZXhwKHQpLU1hdGguZXhwKC10KSkvMn1mdW5jdGlvbiBzKHQpe3JldHVybihNYXRoLmV4cCh0KStNYXRoLmV4cCgtdCkpLzJ9ZnVuY3Rpb24gcih0KXtyZXR1cm4gbyh0KS9zKHQpfWZ1bmN0aW9uIGEodCl7cmV0dXJuIG0qKHModykvcyh3K3kqdCkpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIG0qKHModykqcih3K3kqdCktbyh3KSkveH1mdW5jdGlvbiB1KHQpe3JldHVybiAxLU1hdGgucG93KDEtdCwxLjUpfWZ1bmN0aW9uIGwoKXt2YXIgZT0oRGF0ZS5ub3coKS1QKS9iLG49dShlKSpMO2U8PTE/KHRoaXMuX2ZseVRvRnJhbWU9ZihsLHRoaXMpLHRoaXMuX21vdmUodGhpcy51bnByb2plY3QoYy5hZGQoXy5zdWJ0cmFjdChjKS5tdWx0aXBseUJ5KGgobikvdikpLHApLHRoaXMuZ2V0U2NhbGVab29tKG0vYShuKSxwKSx7Zmx5VG86ITB9KSk6dGhpcy5fbW92ZSh0LGkpLl9tb3ZlRW5kKCEwKX1pZighMT09PShlPWV8fHt9KS5hbmltYXRlfHwhamkpcmV0dXJuIHRoaXMuc2V0Vmlldyh0LGksZSk7dGhpcy5fc3RvcCgpO3ZhciBjPXRoaXMucHJvamVjdCh0aGlzLmdldENlbnRlcigpKSxfPXRoaXMucHJvamVjdCh0KSxkPXRoaXMuZ2V0U2l6ZSgpLHA9dGhpcy5fem9vbTt0PUModCksaT12b2lkIDA9PT1pP3A6aTt2YXIgbT1NYXRoLm1heChkLngsZC55KSxnPW0qdGhpcy5nZXRab29tU2NhbGUocCxpKSx2PV8uZGlzdGFuY2VUbyhjKXx8MSx5PTEuNDIseD15Knksdz1uKDApLFA9RGF0ZS5ub3coKSxMPShuKDEpLXcpL3ksYj1lLmR1cmF0aW9uPzFlMyplLmR1cmF0aW9uOjFlMypMKi44O3JldHVybiB0aGlzLl9tb3ZlU3RhcnQoITAsZS5ub01vdmVTdGFydCksbC5jYWxsKHRoaXMpLHRoaXN9LGZseVRvQm91bmRzOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5fZ2V0Qm91bmRzQ2VudGVyWm9vbSh0LGkpO3JldHVybiB0aGlzLmZseVRvKGUuY2VudGVyLGUuem9vbSxpKX0sc2V0TWF4Qm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybih0PXoodCkpLmlzVmFsaWQoKT8odGhpcy5vcHRpb25zLm1heEJvdW5kcyYmdGhpcy5vZmYoIm1vdmVlbmQiLHRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcyksdGhpcy5vcHRpb25zLm1heEJvdW5kcz10LHRoaXMuX2xvYWRlZCYmdGhpcy5fcGFuSW5zaWRlTWF4Qm91bmRzKCksdGhpcy5vbigibW92ZWVuZCIsdGhpcy5fcGFuSW5zaWRlTWF4Qm91bmRzKSk6KHRoaXMub3B0aW9ucy5tYXhCb3VuZHM9bnVsbCx0aGlzLm9mZigibW92ZWVuZCIsdGhpcy5fcGFuSW5zaWRlTWF4Qm91bmRzKSl9LHNldE1pblpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5vcHRpb25zLm1pblpvb207cmV0dXJuIHRoaXMub3B0aW9ucy5taW5ab29tPXQsdGhpcy5fbG9hZGVkJiZpIT09dCYmKHRoaXMuZmlyZSgiem9vbWxldmVsc2NoYW5nZSIpLHRoaXMuZ2V0Wm9vbSgpPHRoaXMub3B0aW9ucy5taW5ab29tKT90aGlzLnNldFpvb20odCk6dGhpc30sc2V0TWF4Wm9vbTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnMubWF4Wm9vbTtyZXR1cm4gdGhpcy5vcHRpb25zLm1heFpvb209dCx0aGlzLl9sb2FkZWQmJmkhPT10JiYodGhpcy5maXJlKCJ6b29tbGV2ZWxzY2hhbmdlIiksdGhpcy5nZXRab29tKCk+dGhpcy5vcHRpb25zLm1heFpvb20pP3RoaXMuc2V0Wm9vbSh0KTp0aGlzfSxwYW5JbnNpZGVCb3VuZHM6ZnVuY3Rpb24odCxpKXt0aGlzLl9lbmZvcmNpbmdCb3VuZHM9ITA7dmFyIGU9dGhpcy5nZXRDZW50ZXIoKSxuPXRoaXMuX2xpbWl0Q2VudGVyKGUsdGhpcy5fem9vbSx6KHQpKTtyZXR1cm4gZS5lcXVhbHMobil8fHRoaXMucGFuVG8obixpKSx0aGlzLl9lbmZvcmNpbmdCb3VuZHM9ITEsdGhpc30scGFuSW5zaWRlOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dygoaT1pfHx7fSkucGFkZGluZ1RvcExlZnR8fGkucGFkZGluZ3x8WzAsMF0pLG49dyhpLnBhZGRpbmdCb3R0b21SaWdodHx8aS5wYWRkaW5nfHxbMCwwXSksbz10aGlzLmdldENlbnRlcigpLHM9dGhpcy5wcm9qZWN0KG8pLHI9dGhpcy5wcm9qZWN0KHQpLGE9dGhpcy5nZXRQaXhlbEJvdW5kcygpLGg9YS5nZXRTaXplKCkuZGl2aWRlQnkoMiksdT1iKFthLm1pbi5hZGQoZSksYS5tYXguc3VidHJhY3QobildKTtpZighdS5jb250YWlucyhyKSl7dGhpcy5fZW5mb3JjaW5nQm91bmRzPSEwO3ZhciBsPXMuc3VidHJhY3QociksYz13KHIueCtsLngsci55K2wueSk7KHIueDx1Lm1pbi54fHxyLng+dS5tYXgueCkmJihjLng9cy54LWwueCxsLng+MD9jLngrPWgueC1lLng6Yy54LT1oLngtbi54KSwoci55PHUubWluLnl8fHIueT51Lm1heC55KSYmKGMueT1zLnktbC55LGwueT4wP2MueSs9aC55LWUueTpjLnktPWgueS1uLnkpLHRoaXMucGFuVG8odGhpcy51bnByb2plY3QoYyksaSksdGhpcy5fZW5mb3JjaW5nQm91bmRzPSExfXJldHVybiB0aGlzfSxpbnZhbGlkYXRlU2l6ZTpmdW5jdGlvbih0KXtpZighdGhpcy5fbG9hZGVkKXJldHVybiB0aGlzO3Q9aSh7YW5pbWF0ZTohMSxwYW46ITB9LCEwPT09dD97YW5pbWF0ZTohMH06dCk7dmFyIG49dGhpcy5nZXRTaXplKCk7dGhpcy5fc2l6ZUNoYW5nZWQ9ITAsdGhpcy5fbGFzdENlbnRlcj1udWxsO3ZhciBvPXRoaXMuZ2V0U2l6ZSgpLHM9bi5kaXZpZGVCeSgyKS5yb3VuZCgpLHI9by5kaXZpZGVCeSgyKS5yb3VuZCgpLGE9cy5zdWJ0cmFjdChyKTtyZXR1cm4gYS54fHxhLnk/KHQuYW5pbWF0ZSYmdC5wYW4/dGhpcy5wYW5CeShhKToodC5wYW4mJnRoaXMuX3Jhd1BhbkJ5KGEpLHRoaXMuZmlyZSgibW92ZSIpLHQuZGVib3VuY2VNb3ZlZW5kPyhjbGVhclRpbWVvdXQodGhpcy5fc2l6ZVRpbWVyKSx0aGlzLl9zaXplVGltZXI9c2V0VGltZW91dChlKHRoaXMuZmlyZSx0aGlzLCJtb3ZlZW5kIiksMjAwKSk6dGhpcy5maXJlKCJtb3ZlZW5kIikpLHRoaXMuZmlyZSgicmVzaXplIix7b2xkU2l6ZTpuLG5ld1NpemU6b30pKTp0aGlzfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0Wm9vbSh0aGlzLl9saW1pdFpvb20odGhpcy5fem9vbSkpLHRoaXMub3B0aW9ucy56b29tU25hcHx8dGhpcy5maXJlKCJ2aWV3cmVzZXQiKSx0aGlzLl9zdG9wKCl9LGxvY2F0ZTpmdW5jdGlvbih0KXtpZih0PXRoaXMuX2xvY2F0ZU9wdGlvbnM9aSh7dGltZW91dDoxZTQsd2F0Y2g6ITF9LHQpLCEoImdlb2xvY2F0aW9uImluIG5hdmlnYXRvcikpcmV0dXJuIHRoaXMuX2hhbmRsZUdlb2xvY2F0aW9uRXJyb3Ioe2NvZGU6MCxtZXNzYWdlOiJHZW9sb2NhdGlvbiBub3Qgc3VwcG9ydGVkLiJ9KSx0aGlzO3ZhciBuPWUodGhpcy5faGFuZGxlR2VvbG9jYXRpb25SZXNwb25zZSx0aGlzKSxvPWUodGhpcy5faGFuZGxlR2VvbG9jYXRpb25FcnJvcix0aGlzKTtyZXR1cm4gdC53YXRjaD90aGlzLl9sb2NhdGlvbldhdGNoSWQ9bmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24obixvLHQpOm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24obixvLHQpLHRoaXN9LHN0b3BMb2NhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fbG9jYXRpb25XYXRjaElkKSx0aGlzLl9sb2NhdGVPcHRpb25zJiYodGhpcy5fbG9jYXRlT3B0aW9ucy5zZXRWaWV3PSExKSx0aGlzfSxfaGFuZGxlR2VvbG9jYXRpb25FcnJvcjpmdW5jdGlvbih0KXt2YXIgaT10LmNvZGUsZT10Lm1lc3NhZ2V8fCgxPT09aT8icGVybWlzc2lvbiBkZW5pZWQiOjI9PT1pPyJwb3NpdGlvbiB1bmF2YWlsYWJsZSI6InRpbWVvdXQiKTt0aGlzLl9sb2NhdGVPcHRpb25zLnNldFZpZXcmJiF0aGlzLl9sb2FkZWQmJnRoaXMuZml0V29ybGQoKSx0aGlzLmZpcmUoImxvY2F0aW9uZXJyb3IiLHtjb2RlOmksbWVzc2FnZToiR2VvbG9jYXRpb24gZXJyb3I6ICIrZSsiLiJ9KX0sX2hhbmRsZUdlb2xvY2F0aW9uUmVzcG9uc2U6ZnVuY3Rpb24odCl7dmFyIGk9bmV3IE0odC5jb29yZHMubGF0aXR1ZGUsdC5jb29yZHMubG9uZ2l0dWRlKSxlPWkudG9Cb3VuZHMoMip0LmNvb3Jkcy5hY2N1cmFjeSksbj10aGlzLl9sb2NhdGVPcHRpb25zO2lmKG4uc2V0Vmlldyl7dmFyIG89dGhpcy5nZXRCb3VuZHNab29tKGUpO3RoaXMuc2V0VmlldyhpLG4ubWF4Wm9vbT9NYXRoLm1pbihvLG4ubWF4Wm9vbSk6byl9dmFyIHM9e2xhdGxuZzppLGJvdW5kczplLHRpbWVzdGFtcDp0LnRpbWVzdGFtcH07Zm9yKHZhciByIGluIHQuY29vcmRzKSJudW1iZXIiPT10eXBlb2YgdC5jb29yZHNbcl0mJihzW3JdPXQuY29vcmRzW3JdKTt0aGlzLmZpcmUoImxvY2F0aW9uZm91bmQiLHMpfSxhZGRIYW5kbGVyOmZ1bmN0aW9uKHQsaSl7aWYoIWkpcmV0dXJuIHRoaXM7dmFyIGU9dGhpc1t0XT1uZXcgaSh0aGlzKTtyZXR1cm4gdGhpcy5faGFuZGxlcnMucHVzaChlKSx0aGlzLm9wdGlvbnNbdF0mJmUuZW5hYmxlKCksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7aWYodGhpcy5faW5pdEV2ZW50cyghMCksdGhpcy5fY29udGFpbmVySWQhPT10aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQpdGhyb3cgbmV3IEVycm9yKCJNYXAgY29udGFpbmVyIGlzIGJlaW5nIHJldXNlZCBieSBhbm90aGVyIGluc3RhbmNlIik7dHJ5e2RlbGV0ZSB0aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcklkfWNhdGNoKHQpe3RoaXMuX2NvbnRhaW5lci5fbGVhZmxldF9pZD12b2lkIDAsdGhpcy5fY29udGFpbmVySWQ9dm9pZCAwfXZvaWQgMCE9PXRoaXMuX2xvY2F0aW9uV2F0Y2hJZCYmdGhpcy5zdG9wTG9jYXRlKCksdGhpcy5fc3RvcCgpLEsodGhpcy5fbWFwUGFuZSksdGhpcy5fY2xlYXJDb250cm9sUG9zJiZ0aGlzLl9jbGVhckNvbnRyb2xQb3MoKSx0aGlzLl9yZXNpemVSZXF1ZXN0JiYoZyh0aGlzLl9yZXNpemVSZXF1ZXN0KSx0aGlzLl9yZXNpemVSZXF1ZXN0PW51bGwpLHRoaXMuX2NsZWFySGFuZGxlcnMoKSx0aGlzLl9sb2FkZWQmJnRoaXMuZmlyZSgidW5sb2FkIik7dmFyIHQ7Zm9yKHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5yZW1vdmUoKTtmb3IodCBpbiB0aGlzLl9wYW5lcylLKHRoaXMuX3BhbmVzW3RdKTtyZXR1cm4gdGhpcy5fbGF5ZXJzPVtdLHRoaXMuX3BhbmVzPVtdLGRlbGV0ZSB0aGlzLl9tYXBQYW5lLGRlbGV0ZSB0aGlzLl9yZW5kZXJlcix0aGlzfSxjcmVhdGVQYW5lOmZ1bmN0aW9uKHQsaSl7dmFyIGU9RygiZGl2IiwibGVhZmxldC1wYW5lIisodD8iIGxlYWZsZXQtIit0LnJlcGxhY2UoIlBhbmUiLCIiKSsiLXBhbmUiOiIiKSxpfHx0aGlzLl9tYXBQYW5lKTtyZXR1cm4gdCYmKHRoaXMuX3BhbmVzW3RdPWUpLGV9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGVja0lmTG9hZGVkKCksdGhpcy5fbGFzdENlbnRlciYmIXRoaXMuX21vdmVkKCk/dGhpcy5fbGFzdENlbnRlcjp0aGlzLmxheWVyUG9pbnRUb0xhdExuZyh0aGlzLl9nZXRDZW50ZXJMYXllclBvaW50KCkpfSxnZXRab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvb219LGdldEJvdW5kczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0UGl4ZWxCb3VuZHMoKTtyZXR1cm4gbmV3IFQodGhpcy51bnByb2plY3QodC5nZXRCb3R0b21MZWZ0KCkpLHRoaXMudW5wcm9qZWN0KHQuZ2V0VG9wUmlnaHQoKSkpfSxnZXRNaW5ab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMub3B0aW9ucy5taW5ab29tP3RoaXMuX2xheWVyc01pblpvb218fDA6dGhpcy5vcHRpb25zLm1pblpvb219LGdldE1heFpvb206ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zLm1heFpvb20/dm9pZCAwPT09dGhpcy5fbGF5ZXJzTWF4Wm9vbT8xLzA6dGhpcy5fbGF5ZXJzTWF4Wm9vbTp0aGlzLm9wdGlvbnMubWF4Wm9vbX0sZ2V0Qm91bmRzWm9vbTpmdW5jdGlvbih0LGksZSl7dD16KHQpLGU9dyhlfHxbMCwwXSk7dmFyIG49dGhpcy5nZXRab29tKCl8fDAsbz10aGlzLmdldE1pblpvb20oKSxzPXRoaXMuZ2V0TWF4Wm9vbSgpLHI9dC5nZXROb3J0aFdlc3QoKSxhPXQuZ2V0U291dGhFYXN0KCksaD10aGlzLmdldFNpemUoKS5zdWJ0cmFjdChlKSx1PWIodGhpcy5wcm9qZWN0KGEsbiksdGhpcy5wcm9qZWN0KHIsbikpLmdldFNpemUoKSxsPWppP3RoaXMub3B0aW9ucy56b29tU25hcDoxLGM9aC54L3UueCxfPWgueS91LnksZD1pP01hdGgubWF4KGMsXyk6TWF0aC5taW4oYyxfKTtyZXR1cm4gbj10aGlzLmdldFNjYWxlWm9vbShkLG4pLGwmJihuPU1hdGgucm91bmQobi8obC8xMDApKSoobC8xMDApLG49aT9NYXRoLmNlaWwobi9sKSpsOk1hdGguZmxvb3Iobi9sKSpsKSxNYXRoLm1heChvLE1hdGgubWluKHMsbikpfSxnZXRTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpemUmJiF0aGlzLl9zaXplQ2hhbmdlZHx8KHRoaXMuX3NpemU9bmV3IHgodGhpcy5fY29udGFpbmVyLmNsaWVudFdpZHRofHwwLHRoaXMuX2NvbnRhaW5lci5jbGllbnRIZWlnaHR8fDApLHRoaXMuX3NpemVDaGFuZ2VkPSExKSx0aGlzLl9zaXplLmNsb25lKCl9LGdldFBpeGVsQm91bmRzOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5fZ2V0VG9wTGVmdFBvaW50KHQsaSk7cmV0dXJuIG5ldyBQKGUsZS5hZGQodGhpcy5nZXRTaXplKCkpKX0sZ2V0UGl4ZWxPcmlnaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hlY2tJZkxvYWRlZCgpLHRoaXMuX3BpeGVsT3JpZ2lufSxnZXRQaXhlbFdvcmxkQm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmdldFByb2plY3RlZEJvdW5kcyh2b2lkIDA9PT10P3RoaXMuZ2V0Wm9vbSgpOnQpfSxnZXRQYW5lOmZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90aGlzLl9wYW5lc1t0XTp0fSxnZXRQYW5lczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYW5lc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sZ2V0Wm9vbVNjYWxlOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5vcHRpb25zLmNycztyZXR1cm4gaT12b2lkIDA9PT1pP3RoaXMuX3pvb206aSxlLnNjYWxlKHQpL2Uuc2NhbGUoaSl9LGdldFNjYWxlWm9vbTpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMub3B0aW9ucy5jcnM7aT12b2lkIDA9PT1pP3RoaXMuX3pvb206aTt2YXIgbj1lLnpvb20odCplLnNjYWxlKGkpKTtyZXR1cm4gaXNOYU4obik/MS8wOm59LHByb2plY3Q6ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT12b2lkIDA9PT1pP3RoaXMuX3pvb206aSx0aGlzLm9wdGlvbnMuY3JzLmxhdExuZ1RvUG9pbnQoQyh0KSxpKX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9dm9pZCAwPT09aT90aGlzLl96b29tOmksdGhpcy5vcHRpb25zLmNycy5wb2ludFRvTGF0TG5nKHcodCksaSl9LGxheWVyUG9pbnRUb0xhdExuZzpmdW5jdGlvbih0KXt2YXIgaT13KHQpLmFkZCh0aGlzLmdldFBpeGVsT3JpZ2luKCkpO3JldHVybiB0aGlzLnVucHJvamVjdChpKX0sbGF0TG5nVG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3QoQyh0KSkuX3JvdW5kKCkuX3N1YnRyYWN0KHRoaXMuZ2V0UGl4ZWxPcmlnaW4oKSl9LHdyYXBMYXRMbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5jcnMud3JhcExhdExuZyhDKHQpKX0sd3JhcExhdExuZ0JvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmNycy53cmFwTGF0TG5nQm91bmRzKHoodCkpfSxkaXN0YW5jZTpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmRpc3RhbmNlKEModCksQyhpKSl9LGNvbnRhaW5lclBvaW50VG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB3KHQpLnN1YnRyYWN0KHRoaXMuX2dldE1hcFBhbmVQb3MoKSl9LGxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB3KHQpLmFkZCh0aGlzLl9nZXRNYXBQYW5lUG9zKCkpfSxjb250YWluZXJQb2ludFRvTGF0TG5nOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQodyh0KSk7cmV0dXJuIHRoaXMubGF5ZXJQb2ludFRvTGF0TG5nKGkpfSxsYXRMbmdUb0NvbnRhaW5lclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50KHRoaXMubGF0TG5nVG9MYXllclBvaW50KEModCkpKX0sbW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIGJ0KHQsdGhpcy5fY29udGFpbmVyKX0sbW91c2VFdmVudFRvTGF5ZXJQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludCh0aGlzLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpKX0sbW91c2VFdmVudFRvTGF0TG5nOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxheWVyUG9pbnRUb0xhdExuZyh0aGlzLm1vdXNlRXZlbnRUb0xheWVyUG9pbnQodCkpfSxfaW5pdENvbnRhaW5lcjpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9jb250YWluZXI9Vih0KTtpZighaSl0aHJvdyBuZXcgRXJyb3IoIk1hcCBjb250YWluZXIgbm90IGZvdW5kLiIpO2lmKGkuX2xlYWZsZXRfaWQpdGhyb3cgbmV3IEVycm9yKCJNYXAgY29udGFpbmVyIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuIik7bXQoaSwic2Nyb2xsIix0aGlzLl9vblNjcm9sbCx0aGlzKSx0aGlzLl9jb250YWluZXJJZD1uKGkpfSxfaW5pdExheW91dDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lcjt0aGlzLl9mYWRlQW5pbWF0ZWQ9dGhpcy5vcHRpb25zLmZhZGVBbmltYXRpb24mJmppLFEodCwibGVhZmxldC1jb250YWluZXIiKyhxaT8iIGxlYWZsZXQtdG91Y2giOiIiKSsoWWk/IiBsZWFmbGV0LXJldGluYSI6IiIpKyhMaT8iIGxlYWZsZXQtb2xkaWUiOiIiKSsoQmk/IiBsZWFmbGV0LXNhZmFyaSI6IiIpKyh0aGlzLl9mYWRlQW5pbWF0ZWQ/IiBsZWFmbGV0LWZhZGUtYW5pbSI6IiIpKTt2YXIgaT1xKHQsInBvc2l0aW9uIik7ImFic29sdXRlIiE9PWkmJiJyZWxhdGl2ZSIhPT1pJiYiZml4ZWQiIT09aSYmKHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksdGhpcy5faW5pdFBhbmVzKCksdGhpcy5faW5pdENvbnRyb2xQb3MmJnRoaXMuX2luaXRDb250cm9sUG9zKCl9LF9pbml0UGFuZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wYW5lcz17fTt0aGlzLl9wYW5lUmVuZGVyZXJzPXt9LHRoaXMuX21hcFBhbmU9dGhpcy5jcmVhdGVQYW5lKCJtYXBQYW5lIix0aGlzLl9jb250YWluZXIpLGF0KHRoaXMuX21hcFBhbmUsbmV3IHgoMCwwKSksdGhpcy5jcmVhdGVQYW5lKCJ0aWxlUGFuZSIpLHRoaXMuY3JlYXRlUGFuZSgic2hhZG93UGFuZSIpLHRoaXMuY3JlYXRlUGFuZSgib3ZlcmxheVBhbmUiKSx0aGlzLmNyZWF0ZVBhbmUoIm1hcmtlclBhbmUiKSx0aGlzLmNyZWF0ZVBhbmUoInRvb2x0aXBQYW5lIiksdGhpcy5jcmVhdGVQYW5lKCJwb3B1cFBhbmUiKSx0aGlzLm9wdGlvbnMubWFya2VyWm9vbUFuaW1hdGlvbnx8KFEodC5tYXJrZXJQYW5lLCJsZWFmbGV0LXpvb20taGlkZSIpLFEodC5zaGFkb3dQYW5lLCJsZWFmbGV0LXpvb20taGlkZSIpKX0sX3Jlc2V0VmlldzpmdW5jdGlvbih0LGkpe2F0KHRoaXMuX21hcFBhbmUsbmV3IHgoMCwwKSk7dmFyIGU9IXRoaXMuX2xvYWRlZDt0aGlzLl9sb2FkZWQ9ITAsaT10aGlzLl9saW1pdFpvb20oaSksdGhpcy5maXJlKCJ2aWV3cHJlcmVzZXQiKTt2YXIgbj10aGlzLl96b29tIT09aTt0aGlzLl9tb3ZlU3RhcnQobiwhMSkuX21vdmUodCxpKS5fbW92ZUVuZChuKSx0aGlzLmZpcmUoInZpZXdyZXNldCIpLGUmJnRoaXMuZmlyZSgibG9hZCIpfSxfbW92ZVN0YXJ0OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQmJnRoaXMuZmlyZSgiem9vbXN0YXJ0IiksaXx8dGhpcy5maXJlKCJtb3Zlc3RhcnQiKSx0aGlzfSxfbW92ZTpmdW5jdGlvbih0LGksZSl7dm9pZCAwPT09aSYmKGk9dGhpcy5fem9vbSk7dmFyIG49dGhpcy5fem9vbSE9PWk7cmV0dXJuIHRoaXMuX3pvb209aSx0aGlzLl9sYXN0Q2VudGVyPXQsdGhpcy5fcGl4ZWxPcmlnaW49dGhpcy5fZ2V0TmV3UGl4ZWxPcmlnaW4odCksKG58fGUmJmUucGluY2gpJiZ0aGlzLmZpcmUoInpvb20iLGUpLHRoaXMuZmlyZSgibW92ZSIsZSl9LF9tb3ZlRW5kOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLmZpcmUoInpvb21lbmQiKSx0aGlzLmZpcmUoIm1vdmVlbmQiKX0sX3N0b3A6ZnVuY3Rpb24oKXtyZXR1cm4gZyh0aGlzLl9mbHlUb0ZyYW1lKSx0aGlzLl9wYW5BbmltJiZ0aGlzLl9wYW5BbmltLnN0b3AoKSx0aGlzfSxfcmF3UGFuQnk6ZnVuY3Rpb24odCl7YXQodGhpcy5fbWFwUGFuZSx0aGlzLl9nZXRNYXBQYW5lUG9zKCkuc3VidHJhY3QodCkpfSxfZ2V0Wm9vbVNwYW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRNYXhab29tKCktdGhpcy5nZXRNaW5ab29tKCl9LF9wYW5JbnNpZGVNYXhCb3VuZHM6ZnVuY3Rpb24oKXt0aGlzLl9lbmZvcmNpbmdCb3VuZHN8fHRoaXMucGFuSW5zaWRlQm91bmRzKHRoaXMub3B0aW9ucy5tYXhCb3VuZHMpfSxfY2hlY2tJZkxvYWRlZDpmdW5jdGlvbigpe2lmKCF0aGlzLl9sb2FkZWQpdGhyb3cgbmV3IEVycm9yKCJTZXQgbWFwIGNlbnRlciBhbmQgem9vbSBmaXJzdC4iKX0sX2luaXRFdmVudHM6ZnVuY3Rpb24odCl7dGhpcy5fdGFyZ2V0cz17fSx0aGlzLl90YXJnZXRzW24odGhpcy5fY29udGFpbmVyKV09dGhpczt2YXIgaT10P2Z0Om10O2kodGhpcy5fY29udGFpbmVyLCJjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2Vtb3ZlIGNvbnRleHRtZW51IGtleXByZXNzIix0aGlzLl9oYW5kbGVET01FdmVudCx0aGlzKSx0aGlzLm9wdGlvbnMudHJhY2tSZXNpemUmJmkod2luZG93LCJyZXNpemUiLHRoaXMuX29uUmVzaXplLHRoaXMpLGppJiZ0aGlzLm9wdGlvbnMudHJhbnNmb3JtM0RMaW1pdCYmKHQ/dGhpcy5vZmY6dGhpcy5vbikuY2FsbCh0aGlzLCJtb3ZlZW5kIix0aGlzLl9vbk1vdmVFbmQpfSxfb25SZXNpemU6ZnVuY3Rpb24oKXtnKHRoaXMuX3Jlc2l6ZVJlcXVlc3QpLHRoaXMuX3Jlc2l6ZVJlcXVlc3Q9ZihmdW5jdGlvbigpe3RoaXMuaW52YWxpZGF0ZVNpemUoe2RlYm91bmNlTW92ZWVuZDohMH0pfSx0aGlzKX0sX29uU2Nyb2xsOmZ1bmN0aW9uKCl7dGhpcy5fY29udGFpbmVyLnNjcm9sbFRvcD0wLHRoaXMuX2NvbnRhaW5lci5zY3JvbGxMZWZ0PTB9LF9vbk1vdmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRNYXBQYW5lUG9zKCk7TWF0aC5tYXgoTWF0aC5hYnModC54KSxNYXRoLmFicyh0LnkpKT49dGhpcy5vcHRpb25zLnRyYW5zZm9ybTNETGltaXQmJnRoaXMuX3Jlc2V0Vmlldyh0aGlzLmdldENlbnRlcigpLHRoaXMuZ2V0Wm9vbSgpKX0sX2ZpbmRFdmVudFRhcmdldHM6ZnVuY3Rpb24odCxpKXtmb3IodmFyIGUsbz1bXSxzPSJtb3VzZW91dCI9PT1pfHwibW91c2VvdmVyIj09PWkscj10LnRhcmdldHx8dC5zcmNFbGVtZW50LGE9ITE7cjspe2lmKChlPXRoaXMuX3RhcmdldHNbbihyKV0pJiYoImNsaWNrIj09PWl8fCJwcmVjbGljayI9PT1pKSYmIXQuX3NpbXVsYXRlZCYmdGhpcy5fZHJhZ2dhYmxlTW92ZWQoZSkpe2E9ITA7YnJlYWt9aWYoZSYmZS5saXN0ZW5zKGksITApKXtpZihzJiYhQ3Qocix0KSlicmVhaztpZihvLnB1c2goZSkscylicmVha31pZihyPT09dGhpcy5fY29udGFpbmVyKWJyZWFrO3I9ci5wYXJlbnROb2RlfXJldHVybiBvLmxlbmd0aHx8YXx8c3x8IUN0KHIsdCl8fChvPVt0aGlzXSksb30sX2hhbmRsZURPTUV2ZW50OmZ1bmN0aW9uKHQpe2lmKHRoaXMuX2xvYWRlZCYmIU10KHQpKXt2YXIgaT10LnR5cGU7Im1vdXNlZG93biIhPT1pJiYia2V5cHJlc3MiIT09aXx8Y3QodC50YXJnZXR8fHQuc3JjRWxlbWVudCksdGhpcy5fZmlyZURPTUV2ZW50KHQsaSl9fSxfbW91c2VFdmVudHM6WyJjbGljayIsImRibGNsaWNrIiwibW91c2VvdmVyIiwibW91c2VvdXQiLCJjb250ZXh0bWVudSJdLF9maXJlRE9NRXZlbnQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJjbGljayI9PT10LnR5cGUpe3ZhciBvPWkoe30sdCk7by50eXBlPSJwcmVjbGljayIsdGhpcy5fZmlyZURPTUV2ZW50KG8sby50eXBlLG4pfWlmKCF0Ll9zdG9wcGVkJiYobj0obnx8W10pLmNvbmNhdCh0aGlzLl9maW5kRXZlbnRUYXJnZXRzKHQsZSkpKS5sZW5ndGgpe3ZhciBzPW5bMF07ImNvbnRleHRtZW51Ij09PWUmJnMubGlzdGVucyhlLCEwKSYmUHQodCk7dmFyIHI9e29yaWdpbmFsRXZlbnQ6dH07aWYoImtleXByZXNzIiE9PXQudHlwZSl7dmFyIGE9cy5nZXRMYXRMbmcmJighcy5fcmFkaXVzfHxzLl9yYWRpdXM8PTEwKTtyLmNvbnRhaW5lclBvaW50PWE/dGhpcy5sYXRMbmdUb0NvbnRhaW5lclBvaW50KHMuZ2V0TGF0TG5nKCkpOnRoaXMubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCksci5sYXllclBvaW50PXRoaXMuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQoci5jb250YWluZXJQb2ludCksci5sYXRsbmc9YT9zLmdldExhdExuZygpOnRoaXMubGF5ZXJQb2ludFRvTGF0TG5nKHIubGF5ZXJQb2ludCl9Zm9yKHZhciBoPTA7aDxuLmxlbmd0aDtoKyspaWYobltoXS5maXJlKGUsciwhMCksci5vcmlnaW5hbEV2ZW50Ll9zdG9wcGVkfHwhMT09PW5baF0ub3B0aW9ucy5idWJibGluZ01vdXNlRXZlbnRzJiYtMSE9PWQodGhpcy5fbW91c2VFdmVudHMsZSkpcmV0dXJufX0sX2RyYWdnYWJsZU1vdmVkOmZ1bmN0aW9uKHQpe3JldHVybih0PXQuZHJhZ2dpbmcmJnQuZHJhZ2dpbmcuZW5hYmxlZCgpP3Q6dGhpcykuZHJhZ2dpbmcmJnQuZHJhZ2dpbmcubW92ZWQoKXx8dGhpcy5ib3hab29tJiZ0aGlzLmJveFpvb20ubW92ZWQoKX0sX2NsZWFySGFuZGxlcnM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxpPXRoaXMuX2hhbmRsZXJzLmxlbmd0aDt0PGk7dCsrKXRoaXMuX2hhbmRsZXJzW3RdLmRpc2FibGUoKX0sd2hlblJlYWR5OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX2xvYWRlZD90LmNhbGwoaXx8dGhpcyx7dGFyZ2V0OnRoaXN9KTp0aGlzLm9uKCJsb2FkIix0LGkpLHRoaXN9LF9nZXRNYXBQYW5lUG9zOmZ1bmN0aW9uKCl7cmV0dXJuIGh0KHRoaXMuX21hcFBhbmUpfHxuZXcgeCgwLDApfSxfbW92ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRNYXBQYW5lUG9zKCk7cmV0dXJuIHQmJiF0LmVxdWFscyhbMCwwXSl9LF9nZXRUb3BMZWZ0UG9pbnQ6ZnVuY3Rpb24odCxpKXtyZXR1cm4odCYmdm9pZCAwIT09aT90aGlzLl9nZXROZXdQaXhlbE9yaWdpbih0LGkpOnRoaXMuZ2V0UGl4ZWxPcmlnaW4oKSkuc3VidHJhY3QodGhpcy5fZ2V0TWFwUGFuZVBvcygpKX0sX2dldE5ld1BpeGVsT3JpZ2luOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5nZXRTaXplKCkuX2RpdmlkZUJ5KDIpO3JldHVybiB0aGlzLnByb2plY3QodCxpKS5fc3VidHJhY3QoZSkuX2FkZCh0aGlzLl9nZXRNYXBQYW5lUG9zKCkpLl9yb3VuZCgpfSxfbGF0TG5nVG9OZXdMYXllclBvaW50OmZ1bmN0aW9uKHQsaSxlKXt2YXIgbj10aGlzLl9nZXROZXdQaXhlbE9yaWdpbihlLGkpO3JldHVybiB0aGlzLnByb2plY3QodCxpKS5fc3VidHJhY3Qobil9LF9sYXRMbmdCb3VuZHNUb05ld0xheWVyQm91bmRzOmZ1bmN0aW9uKHQsaSxlKXt2YXIgbj10aGlzLl9nZXROZXdQaXhlbE9yaWdpbihlLGkpO3JldHVybiBiKFt0aGlzLnByb2plY3QodC5nZXRTb3V0aFdlc3QoKSxpKS5fc3VidHJhY3QobiksdGhpcy5wcm9qZWN0KHQuZ2V0Tm9ydGhXZXN0KCksaSkuX3N1YnRyYWN0KG4pLHRoaXMucHJvamVjdCh0LmdldFNvdXRoRWFzdCgpLGkpLl9zdWJ0cmFjdChuKSx0aGlzLnByb2plY3QodC5nZXROb3J0aEVhc3QoKSxpKS5fc3VidHJhY3QobildKX0sX2dldENlbnRlckxheWVyUG9pbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludCh0aGlzLmdldFNpemUoKS5fZGl2aWRlQnkoMikpfSxfZ2V0Q2VudGVyT2Zmc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxhdExuZ1RvTGF5ZXJQb2ludCh0KS5zdWJ0cmFjdCh0aGlzLl9nZXRDZW50ZXJMYXllclBvaW50KCkpfSxfbGltaXRDZW50ZXI6ZnVuY3Rpb24odCxpLGUpe2lmKCFlKXJldHVybiB0O3ZhciBuPXRoaXMucHJvamVjdCh0LGkpLG89dGhpcy5nZXRTaXplKCkuZGl2aWRlQnkoMikscz1uZXcgUChuLnN1YnRyYWN0KG8pLG4uYWRkKG8pKSxyPXRoaXMuX2dldEJvdW5kc09mZnNldChzLGUsaSk7cmV0dXJuIHIucm91bmQoKS5lcXVhbHMoWzAsMF0pP3Q6dGhpcy51bnByb2plY3Qobi5hZGQociksaSl9LF9saW1pdE9mZnNldDpmdW5jdGlvbih0LGkpe2lmKCFpKXJldHVybiB0O3ZhciBlPXRoaXMuZ2V0UGl4ZWxCb3VuZHMoKSxuPW5ldyBQKGUubWluLmFkZCh0KSxlLm1heC5hZGQodCkpO3JldHVybiB0LmFkZCh0aGlzLl9nZXRCb3VuZHNPZmZzZXQobixpKSl9LF9nZXRCb3VuZHNPZmZzZXQ6ZnVuY3Rpb24odCxpLGUpe3ZhciBuPWIodGhpcy5wcm9qZWN0KGkuZ2V0Tm9ydGhFYXN0KCksZSksdGhpcy5wcm9qZWN0KGkuZ2V0U291dGhXZXN0KCksZSkpLG89bi5taW4uc3VidHJhY3QodC5taW4pLHM9bi5tYXguc3VidHJhY3QodC5tYXgpO3JldHVybiBuZXcgeCh0aGlzLl9yZWJvdW5kKG8ueCwtcy54KSx0aGlzLl9yZWJvdW5kKG8ueSwtcy55KSl9LF9yZWJvdW5kOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQraT4wP01hdGgucm91bmQodC1pKS8yOk1hdGgubWF4KDAsTWF0aC5jZWlsKHQpKS1NYXRoLm1heCgwLE1hdGguZmxvb3IoaSkpfSxfbGltaXRab29tOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZ2V0TWluWm9vbSgpLGU9dGhpcy5nZXRNYXhab29tKCksbj1qaT90aGlzLm9wdGlvbnMuem9vbVNuYXA6MTtyZXR1cm4gbiYmKHQ9TWF0aC5yb3VuZCh0L24pKm4pLE1hdGgubWF4KGksTWF0aC5taW4oZSx0KSl9LF9vblBhblRyYW5zaXRpb25TdGVwOmZ1bmN0aW9uKCl7dGhpcy5maXJlKCJtb3ZlIil9LF9vblBhblRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXt0dCh0aGlzLl9tYXBQYW5lLCJsZWFmbGV0LXBhbi1hbmltIiksdGhpcy5maXJlKCJtb3ZlZW5kIil9LF90cnlBbmltYXRlZFBhbjpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMuX2dldENlbnRlck9mZnNldCh0KS5fdHJ1bmMoKTtyZXR1cm4hKCEwIT09KGkmJmkuYW5pbWF0ZSkmJiF0aGlzLmdldFNpemUoKS5jb250YWlucyhlKSkmJih0aGlzLnBhbkJ5KGUsaSksITApfSxfY3JlYXRlQW5pbVByb3h5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcHJveHk9RygiZGl2IiwibGVhZmxldC1wcm94eSBsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKTt0aGlzLl9wYW5lcy5tYXBQYW5lLmFwcGVuZENoaWxkKHQpLHRoaXMub24oInpvb21hbmltIixmdW5jdGlvbih0KXt2YXIgaT1jZSxlPXRoaXMuX3Byb3h5LnN0eWxlW2ldO3J0KHRoaXMuX3Byb3h5LHRoaXMucHJvamVjdCh0LmNlbnRlcix0Lnpvb20pLHRoaXMuZ2V0Wm9vbVNjYWxlKHQuem9vbSwxKSksZT09PXRoaXMuX3Byb3h5LnN0eWxlW2ldJiZ0aGlzLl9hbmltYXRpbmdab29tJiZ0aGlzLl9vblpvb21UcmFuc2l0aW9uRW5kKCl9LHRoaXMpLHRoaXMub24oImxvYWQgbW92ZWVuZCIsZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldENlbnRlcigpLGk9dGhpcy5nZXRab29tKCk7cnQodGhpcy5fcHJveHksdGhpcy5wcm9qZWN0KHQsaSksdGhpcy5nZXRab29tU2NhbGUoaSwxKSl9LHRoaXMpLHRoaXMuX29uKCJ1bmxvYWQiLHRoaXMuX2Rlc3Ryb3lBbmltUHJveHksdGhpcyl9LF9kZXN0cm95QW5pbVByb3h5OmZ1bmN0aW9uKCl7Syh0aGlzLl9wcm94eSksZGVsZXRlIHRoaXMuX3Byb3h5fSxfY2F0Y2hUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3RoaXMuX2FuaW1hdGluZ1pvb20mJnQucHJvcGVydHlOYW1lLmluZGV4T2YoInRyYW5zZm9ybSIpPj0wJiZ0aGlzLl9vblpvb21UcmFuc2l0aW9uRW5kKCl9LF9ub3RoaW5nVG9BbmltYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuX2NvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKS5sZW5ndGh9LF90cnlBbmltYXRlZFpvb206ZnVuY3Rpb24odCxpLGUpe2lmKHRoaXMuX2FuaW1hdGluZ1pvb20pcmV0dXJuITA7aWYoZT1lfHx7fSwhdGhpcy5fem9vbUFuaW1hdGVkfHwhMT09PWUuYW5pbWF0ZXx8dGhpcy5fbm90aGluZ1RvQW5pbWF0ZSgpfHxNYXRoLmFicyhpLXRoaXMuX3pvb20pPnRoaXMub3B0aW9ucy56b29tQW5pbWF0aW9uVGhyZXNob2xkKXJldHVybiExO3ZhciBuPXRoaXMuZ2V0Wm9vbVNjYWxlKGkpLG89dGhpcy5fZ2V0Q2VudGVyT2Zmc2V0KHQpLl9kaXZpZGVCeSgxLTEvbik7cmV0dXJuISghMCE9PWUuYW5pbWF0ZSYmIXRoaXMuZ2V0U2l6ZSgpLmNvbnRhaW5zKG8pKSYmKGYoZnVuY3Rpb24oKXt0aGlzLl9tb3ZlU3RhcnQoITAsITEpLl9hbmltYXRlWm9vbSh0LGksITApfSx0aGlzKSwhMCl9LF9hbmltYXRlWm9vbTpmdW5jdGlvbih0LGksbixvKXt0aGlzLl9tYXBQYW5lJiYobiYmKHRoaXMuX2FuaW1hdGluZ1pvb209ITAsdGhpcy5fYW5pbWF0ZVRvQ2VudGVyPXQsdGhpcy5fYW5pbWF0ZVRvWm9vbT1pLFEodGhpcy5fbWFwUGFuZSwibGVhZmxldC16b29tLWFuaW0iKSksdGhpcy5maXJlKCJ6b29tYW5pbSIse2NlbnRlcjp0LHpvb206aSxub1VwZGF0ZTpvfSksc2V0VGltZW91dChlKHRoaXMuX29uWm9vbVRyYW5zaXRpb25FbmQsdGhpcyksMjUwKSl9LF9vblpvb21UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW5nWm9vbSYmKHRoaXMuX21hcFBhbmUmJnR0KHRoaXMuX21hcFBhbmUsImxlYWZsZXQtem9vbS1hbmltIiksdGhpcy5fYW5pbWF0aW5nWm9vbT0hMSx0aGlzLl9tb3ZlKHRoaXMuX2FuaW1hdGVUb0NlbnRlcix0aGlzLl9hbmltYXRlVG9ab29tKSxmKGZ1bmN0aW9uKCl7dGhpcy5fbW92ZUVuZCghMCl9LHRoaXMpKX19KSxUZT12LmV4dGVuZCh7b3B0aW9uczp7cG9zaXRpb246InRvcHJpZ2h0In0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXtsKHRoaXMsdCl9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wb3NpdGlvbn0sc2V0UG9zaXRpb246ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwO3JldHVybiBpJiZpLnJlbW92ZUNvbnRyb2wodGhpcyksdGhpcy5vcHRpb25zLnBvc2l0aW9uPXQsaSYmaS5hZGRDb250cm9sKHRoaXMpLHRoaXN9LGdldENvbnRhaW5lcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9LGFkZFRvOmZ1bmN0aW9uKHQpe3RoaXMucmVtb3ZlKCksdGhpcy5fbWFwPXQ7dmFyIGk9dGhpcy5fY29udGFpbmVyPXRoaXMub25BZGQodCksZT10aGlzLmdldFBvc2l0aW9uKCksbj10Ll9jb250cm9sQ29ybmVyc1tlXTtyZXR1cm4gUShpLCJsZWFmbGV0LWNvbnRyb2wiKSwtMSE9PWUuaW5kZXhPZigiYm90dG9tIik/bi5pbnNlcnRCZWZvcmUoaSxuLmZpcnN0Q2hpbGQpOm4uYXBwZW5kQ2hpbGQoaSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcD8oSyh0aGlzLl9jb250YWluZXIpLHRoaXMub25SZW1vdmUmJnRoaXMub25SZW1vdmUodGhpcy5fbWFwKSx0aGlzLl9tYXA9bnVsbCx0aGlzKTp0aGlzfSxfcmVmb2N1c09uTWFwOmZ1bmN0aW9uKHQpe3RoaXMuX21hcCYmdCYmdC5zY3JlZW5YPjAmJnQuc2NyZWVuWT4wJiZ0aGlzLl9tYXAuZ2V0Q29udGFpbmVyKCkuZm9jdXMoKX19KSx6ZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFRlKHQpfTtiZS5pbmNsdWRlKHthZGRDb250cm9sOmZ1bmN0aW9uKHQpe3JldHVybiB0LmFkZFRvKHRoaXMpLHRoaXN9LHJlbW92ZUNvbnRyb2w6ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCksdGhpc30sX2luaXRDb250cm9sUG9zOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LG8pe3ZhciBzPWUrdCsiICIrZStvO2lbdCtvXT1HKCJkaXYiLHMsbil9dmFyIGk9dGhpcy5fY29udHJvbENvcm5lcnM9e30sZT0ibGVhZmxldC0iLG49dGhpcy5fY29udHJvbENvbnRhaW5lcj1HKCJkaXYiLGUrImNvbnRyb2wtY29udGFpbmVyIix0aGlzLl9jb250YWluZXIpO3QoInRvcCIsImxlZnQiKSx0KCJ0b3AiLCJyaWdodCIpLHQoImJvdHRvbSIsImxlZnQiKSx0KCJib3R0b20iLCJyaWdodCIpfSxfY2xlYXJDb250cm9sUG9zOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2NvbnRyb2xDb3JuZXJzKUsodGhpcy5fY29udHJvbENvcm5lcnNbdF0pO0sodGhpcy5fY29udHJvbENvbnRhaW5lciksZGVsZXRlIHRoaXMuX2NvbnRyb2xDb3JuZXJzLGRlbGV0ZSB0aGlzLl9jb250cm9sQ29udGFpbmVyfX0pO3ZhciBNZT1UZS5leHRlbmQoe29wdGlvbnM6e2NvbGxhcHNlZDohMCxwb3NpdGlvbjoidG9wcmlnaHQiLGF1dG9aSW5kZXg6ITAsaGlkZVNpbmdsZUJhc2U6ITEsc29ydExheWVyczohMSxzb3J0RnVuY3Rpb246ZnVuY3Rpb24odCxpLGUsbil7cmV0dXJuIGU8bj8tMTpuPGU/MTowfX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGksZSl7bCh0aGlzLGUpLHRoaXMuX2xheWVyQ29udHJvbElucHV0cz1bXSx0aGlzLl9sYXllcnM9W10sdGhpcy5fbGFzdFpJbmRleD0wLHRoaXMuX2hhbmRsaW5nQ2xpY2s9ITE7Zm9yKHZhciBuIGluIHQpdGhpcy5fYWRkTGF5ZXIodFtuXSxuKTtmb3IobiBpbiBpKXRoaXMuX2FkZExheWVyKGlbbl0sbiwhMCl9LG9uQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX2luaXRMYXlvdXQoKSx0aGlzLl91cGRhdGUoKSx0aGlzLl9tYXA9dCx0Lm9uKCJ6b29tZW5kIix0aGlzLl9jaGVja0Rpc2FibGVkTGF5ZXJzLHRoaXMpO2Zvcih2YXIgaT0wO2k8dGhpcy5fbGF5ZXJzLmxlbmd0aDtpKyspdGhpcy5fbGF5ZXJzW2ldLmxheWVyLm9uKCJhZGQgcmVtb3ZlIix0aGlzLl9vbkxheWVyQ2hhbmdlLHRoaXMpO3JldHVybiB0aGlzLl9jb250YWluZXJ9LGFkZFRvOmZ1bmN0aW9uKHQpe3JldHVybiBUZS5wcm90b3R5cGUuYWRkVG8uY2FsbCh0aGlzLHQpLHRoaXMuX2V4cGFuZElmTm90Q29sbGFwc2VkKCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLm9mZigiem9vbWVuZCIsdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycyx0aGlzKTtmb3IodmFyIHQ9MDt0PHRoaXMuX2xheWVycy5sZW5ndGg7dCsrKXRoaXMuX2xheWVyc1t0XS5sYXllci5vZmYoImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyl9LGFkZEJhc2VMYXllcjpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLl9hZGRMYXllcih0LGkpLHRoaXMuX21hcD90aGlzLl91cGRhdGUoKTp0aGlzfSxhZGRPdmVybGF5OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX2FkZExheWVyKHQsaSwhMCksdGhpcy5fbWFwP3RoaXMuX3VwZGF0ZSgpOnRoaXN9LHJlbW92ZUxheWVyOmZ1bmN0aW9uKHQpe3Qub2ZmKCJhZGQgcmVtb3ZlIix0aGlzLl9vbkxheWVyQ2hhbmdlLHRoaXMpO3ZhciBpPXRoaXMuX2dldExheWVyKG4odCkpO3JldHVybiBpJiZ0aGlzLl9sYXllcnMuc3BsaWNlKHRoaXMuX2xheWVycy5pbmRleE9mKGkpLDEpLHRoaXMuX21hcD90aGlzLl91cGRhdGUoKTp0aGlzfSxleHBhbmQ6ZnVuY3Rpb24oKXtRKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCIpLHRoaXMuX3NlY3Rpb24uc3R5bGUuaGVpZ2h0PW51bGw7dmFyIHQ9dGhpcy5fbWFwLmdldFNpemUoKS55LSh0aGlzLl9jb250YWluZXIub2Zmc2V0VG9wKzUwKTtyZXR1cm4gdDx0aGlzLl9zZWN0aW9uLmNsaWVudEhlaWdodD8oUSh0aGlzLl9zZWN0aW9uLCJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNjcm9sbGJhciIpLHRoaXMuX3NlY3Rpb24uc3R5bGUuaGVpZ2h0PXQrInB4Iik6dHQodGhpcy5fc2VjdGlvbiwibGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIiKSx0aGlzLl9jaGVja0Rpc2FibGVkTGF5ZXJzKCksdGhpc30sY29sbGFwc2U6ZnVuY3Rpb24oKXtyZXR1cm4gdHQodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIiksdGhpc30sX2luaXRMYXlvdXQ6ZnVuY3Rpb24oKXt2YXIgdD0ibGVhZmxldC1jb250cm9sLWxheWVycyIsaT10aGlzLl9jb250YWluZXI9RygiZGl2Iix0KSxlPXRoaXMub3B0aW9ucy5jb2xsYXBzZWQ7aS5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCEwKSx3dChpKSx4dChpKTt2YXIgbj10aGlzLl9zZWN0aW9uPUcoInNlY3Rpb24iLHQrIi1saXN0Iik7ZSYmKHRoaXMuX21hcC5vbigiY2xpY2siLHRoaXMuY29sbGFwc2UsdGhpcykseml8fG10KGkse21vdXNlZW50ZXI6dGhpcy5leHBhbmQsbW91c2VsZWF2ZTp0aGlzLmNvbGxhcHNlfSx0aGlzKSk7dmFyIG89dGhpcy5fbGF5ZXJzTGluaz1HKCJhIix0KyItdG9nZ2xlIixpKTtvLmhyZWY9IiMiLG8udGl0bGU9IkxheWVycyIscWk/KG10KG8sImNsaWNrIixMdCksbXQobywiY2xpY2siLHRoaXMuZXhwYW5kLHRoaXMpKTptdChvLCJmb2N1cyIsdGhpcy5leHBhbmQsdGhpcyksZXx8dGhpcy5leHBhbmQoKSx0aGlzLl9iYXNlTGF5ZXJzTGlzdD1HKCJkaXYiLHQrIi1iYXNlIixuKSx0aGlzLl9zZXBhcmF0b3I9RygiZGl2Iix0KyItc2VwYXJhdG9yIixuKSx0aGlzLl9vdmVybGF5c0xpc3Q9RygiZGl2Iix0KyItb3ZlcmxheXMiLG4pLGkuYXBwZW5kQ2hpbGQobil9LF9nZXRMYXllcjpmdW5jdGlvbih0KXtmb3IodmFyIGk9MDtpPHRoaXMuX2xheWVycy5sZW5ndGg7aSsrKWlmKHRoaXMuX2xheWVyc1tpXSYmbih0aGlzLl9sYXllcnNbaV0ubGF5ZXIpPT09dClyZXR1cm4gdGhpcy5fbGF5ZXJzW2ldfSxfYWRkTGF5ZXI6ZnVuY3Rpb24odCxpLG4pe3RoaXMuX21hcCYmdC5vbigiYWRkIHJlbW92ZSIsdGhpcy5fb25MYXllckNoYW5nZSx0aGlzKSx0aGlzLl9sYXllcnMucHVzaCh7bGF5ZXI6dCxuYW1lOmksb3ZlcmxheTpufSksdGhpcy5vcHRpb25zLnNvcnRMYXllcnMmJnRoaXMuX2xheWVycy5zb3J0KGUoZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5vcHRpb25zLnNvcnRGdW5jdGlvbih0LmxheWVyLGkubGF5ZXIsdC5uYW1lLGkubmFtZSl9LHRoaXMpKSx0aGlzLm9wdGlvbnMuYXV0b1pJbmRleCYmdC5zZXRaSW5kZXgmJih0aGlzLl9sYXN0WkluZGV4KyssdC5zZXRaSW5kZXgodGhpcy5fbGFzdFpJbmRleCkpLHRoaXMuX2V4cGFuZElmTm90Q29sbGFwc2VkKCl9LF91cGRhdGU6ZnVuY3Rpb24oKXtpZighdGhpcy5fY29udGFpbmVyKXJldHVybiB0aGlzO1kodGhpcy5fYmFzZUxheWVyc0xpc3QpLFkodGhpcy5fb3ZlcmxheXNMaXN0KSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHM9W107dmFyIHQsaSxlLG4sbz0wO2ZvcihlPTA7ZTx0aGlzLl9sYXllcnMubGVuZ3RoO2UrKyluPXRoaXMuX2xheWVyc1tlXSx0aGlzLl9hZGRJdGVtKG4pLGk9aXx8bi5vdmVybGF5LHQ9dHx8IW4ub3ZlcmxheSxvKz1uLm92ZXJsYXk/MDoxO3JldHVybiB0aGlzLm9wdGlvbnMuaGlkZVNpbmdsZUJhc2UmJih0PXQmJm8+MSx0aGlzLl9iYXNlTGF5ZXJzTGlzdC5zdHlsZS5kaXNwbGF5PXQ/IiI6Im5vbmUiKSx0aGlzLl9zZXBhcmF0b3Iuc3R5bGUuZGlzcGxheT1pJiZ0PyIiOiJub25lIix0aGlzfSxfb25MYXllckNoYW5nZTpmdW5jdGlvbih0KXt0aGlzLl9oYW5kbGluZ0NsaWNrfHx0aGlzLl91cGRhdGUoKTt2YXIgaT10aGlzLl9nZXRMYXllcihuKHQudGFyZ2V0KSksZT1pLm92ZXJsYXk/ImFkZCI9PT10LnR5cGU/Im92ZXJsYXlhZGQiOiJvdmVybGF5cmVtb3ZlIjoiYWRkIj09PXQudHlwZT8iYmFzZWxheWVyY2hhbmdlIjpudWxsO2UmJnRoaXMuX21hcC5maXJlKGUsaSl9LF9jcmVhdGVSYWRpb0VsZW1lbnQ6ZnVuY3Rpb24odCxpKXt2YXIgZT0nPGlucHV0IHR5cGU9InJhZGlvIiBjbGFzcz0ibGVhZmxldC1jb250cm9sLWxheWVycy1zZWxlY3RvciIgbmFtZT0iJyt0KyciJysoaT8nIGNoZWNrZWQ9ImNoZWNrZWQiJzoiIikrIi8+IixuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBuLmlubmVySFRNTD1lLG4uZmlyc3RDaGlsZH0sX2FkZEl0ZW06ZnVuY3Rpb24odCl7dmFyIGksZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsYWJlbCIpLG89dGhpcy5fbWFwLmhhc0xheWVyKHQubGF5ZXIpO3Qub3ZlcmxheT8oKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkudHlwZT0iY2hlY2tib3giLGkuY2xhc3NOYW1lPSJsZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlbGVjdG9yIixpLmRlZmF1bHRDaGVja2VkPW8pOmk9dGhpcy5fY3JlYXRlUmFkaW9FbGVtZW50KCJsZWFmbGV0LWJhc2UtbGF5ZXJzIixvKSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHMucHVzaChpKSxpLmxheWVySWQ9bih0LmxheWVyKSxtdChpLCJjbGljayIsdGhpcy5fb25JbnB1dENsaWNrLHRoaXMpO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtzLmlubmVySFRNTD0iICIrdC5uYW1lO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmFwcGVuZENoaWxkKHIpLHIuYXBwZW5kQ2hpbGQoaSksci5hcHBlbmRDaGlsZChzKSwodC5vdmVybGF5P3RoaXMuX292ZXJsYXlzTGlzdDp0aGlzLl9iYXNlTGF5ZXJzTGlzdCkuYXBwZW5kQ2hpbGQoZSksdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycygpLGV9LF9vbklucHV0Q2xpY2s6ZnVuY3Rpb24oKXt2YXIgdCxpLGU9dGhpcy5fbGF5ZXJDb250cm9sSW5wdXRzLG49W10sbz1bXTt0aGlzLl9oYW5kbGluZ0NsaWNrPSEwO2Zvcih2YXIgcz1lLmxlbmd0aC0xO3M+PTA7cy0tKXQ9ZVtzXSxpPXRoaXMuX2dldExheWVyKHQubGF5ZXJJZCkubGF5ZXIsdC5jaGVja2VkP24ucHVzaChpKTp0LmNoZWNrZWR8fG8ucHVzaChpKTtmb3Iocz0wO3M8by5sZW5ndGg7cysrKXRoaXMuX21hcC5oYXNMYXllcihvW3NdKSYmdGhpcy5fbWFwLnJlbW92ZUxheWVyKG9bc10pO2ZvcihzPTA7czxuLmxlbmd0aDtzKyspdGhpcy5fbWFwLmhhc0xheWVyKG5bc10pfHx0aGlzLl9tYXAuYWRkTGF5ZXIobltzXSk7dGhpcy5faGFuZGxpbmdDbGljaz0hMSx0aGlzLl9yZWZvY3VzT25NYXAoKX0sX2NoZWNrRGlzYWJsZWRMYXllcnM6ZnVuY3Rpb24oKXtmb3IodmFyIHQsaSxlPXRoaXMuX2xheWVyQ29udHJvbElucHV0cyxuPXRoaXMuX21hcC5nZXRab29tKCksbz1lLmxlbmd0aC0xO28+PTA7by0tKXQ9ZVtvXSxpPXRoaXMuX2dldExheWVyKHQubGF5ZXJJZCkubGF5ZXIsdC5kaXNhYmxlZD12b2lkIDAhPT1pLm9wdGlvbnMubWluWm9vbSYmbjxpLm9wdGlvbnMubWluWm9vbXx8dm9pZCAwIT09aS5vcHRpb25zLm1heFpvb20mJm4+aS5vcHRpb25zLm1heFpvb219LF9leHBhbmRJZk5vdENvbGxhcHNlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJiF0aGlzLm9wdGlvbnMuY29sbGFwc2VkJiZ0aGlzLmV4cGFuZCgpLHRoaXN9LF9leHBhbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5leHBhbmQoKX0sX2NvbGxhcHNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sbGFwc2UoKX19KSxDZT1UZS5leHRlbmQoe29wdGlvbnM6e3Bvc2l0aW9uOiJ0b3BsZWZ0Iix6b29tSW5UZXh0OiIrIix6b29tSW5UaXRsZToiWm9vbSBpbiIsem9vbU91dFRleHQ6IiYjeDIyMTI7Iix6b29tT3V0VGl0bGU6Ilpvb20gb3V0In0sb25BZGQ6ZnVuY3Rpb24odCl7dmFyIGk9ImxlYWZsZXQtY29udHJvbC16b29tIixlPUcoImRpdiIsaSsiIGxlYWZsZXQtYmFyIiksbj10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuX3pvb21JbkJ1dHRvbj10aGlzLl9jcmVhdGVCdXR0b24obi56b29tSW5UZXh0LG4uem9vbUluVGl0bGUsaSsiLWluIixlLHRoaXMuX3pvb21JbiksdGhpcy5fem9vbU91dEJ1dHRvbj10aGlzLl9jcmVhdGVCdXR0b24obi56b29tT3V0VGV4dCxuLnpvb21PdXRUaXRsZSxpKyItb3V0IixlLHRoaXMuX3pvb21PdXQpLHRoaXMuX3VwZGF0ZURpc2FibGVkKCksdC5vbigiem9vbWVuZCB6b29tbGV2ZWxzY2hhbmdlIix0aGlzLl91cGRhdGVEaXNhYmxlZCx0aGlzKSxlfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Lm9mZigiem9vbWVuZCB6b29tbGV2ZWxzY2hhbmdlIix0aGlzLl91cGRhdGVEaXNhYmxlZCx0aGlzKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNhYmxlZD0hMCx0aGlzLl91cGRhdGVEaXNhYmxlZCgpLHRoaXN9LGVuYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNhYmxlZD0hMSx0aGlzLl91cGRhdGVEaXNhYmxlZCgpLHRoaXN9LF96b29tSW46ZnVuY3Rpb24odCl7IXRoaXMuX2Rpc2FibGVkJiZ0aGlzLl9tYXAuX3pvb208dGhpcy5fbWFwLmdldE1heFpvb20oKSYmdGhpcy5fbWFwLnpvb21Jbih0aGlzLl9tYXAub3B0aW9ucy56b29tRGVsdGEqKHQuc2hpZnRLZXk/MzoxKSl9LF96b29tT3V0OmZ1bmN0aW9uKHQpeyF0aGlzLl9kaXNhYmxlZCYmdGhpcy5fbWFwLl96b29tPnRoaXMuX21hcC5nZXRNaW5ab29tKCkmJnRoaXMuX21hcC56b29tT3V0KHRoaXMuX21hcC5vcHRpb25zLnpvb21EZWx0YSoodC5zaGlmdEtleT8zOjEpKX0sX2NyZWF0ZUJ1dHRvbjpmdW5jdGlvbih0LGksZSxuLG8pe3ZhciBzPUcoImEiLGUsbik7cmV0dXJuIHMuaW5uZXJIVE1MPXQscy5ocmVmPSIjIixzLnRpdGxlPWkscy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJidXR0b24iKSxzLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksd3QocyksbXQocywiY2xpY2siLEx0KSxtdChzLCJjbGljayIsbyx0aGlzKSxtdChzLCJjbGljayIsdGhpcy5fcmVmb2N1c09uTWFwLHRoaXMpLHN9LF91cGRhdGVEaXNhYmxlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxpPSJsZWFmbGV0LWRpc2FibGVkIjt0dCh0aGlzLl96b29tSW5CdXR0b24saSksdHQodGhpcy5fem9vbU91dEJ1dHRvbixpKSwodGhpcy5fZGlzYWJsZWR8fHQuX3pvb209PT10LmdldE1pblpvb20oKSkmJlEodGhpcy5fem9vbU91dEJ1dHRvbixpKSwodGhpcy5fZGlzYWJsZWR8fHQuX3pvb209PT10LmdldE1heFpvb20oKSkmJlEodGhpcy5fem9vbUluQnV0dG9uLGkpfX0pO2JlLm1lcmdlT3B0aW9ucyh7em9vbUNvbnRyb2w6ITB9KSxiZS5hZGRJbml0SG9vayhmdW5jdGlvbigpe3RoaXMub3B0aW9ucy56b29tQ29udHJvbCYmKHRoaXMuem9vbUNvbnRyb2w9bmV3IENlLHRoaXMuYWRkQ29udHJvbCh0aGlzLnpvb21Db250cm9sKSl9KTt2YXIgU2U9VGUuZXh0ZW5kKHtvcHRpb25zOntwb3NpdGlvbjoiYm90dG9tbGVmdCIsbWF4V2lkdGg6MTAwLG1ldHJpYzohMCxpbXBlcmlhbDohMH0sb25BZGQ6ZnVuY3Rpb24odCl7dmFyIGk9RygiZGl2IiwibGVhZmxldC1jb250cm9sLXNjYWxlIiksZT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuX2FkZFNjYWxlcyhlLCJsZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSIsaSksdC5vbihlLnVwZGF0ZVdoZW5JZGxlPyJtb3ZlZW5kIjoibW92ZSIsdGhpcy5fdXBkYXRlLHRoaXMpLHQud2hlblJlYWR5KHRoaXMuX3VwZGF0ZSx0aGlzKSxpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Lm9mZih0aGlzLm9wdGlvbnMudXBkYXRlV2hlbklkbGU/Im1vdmVlbmQiOiJtb3ZlIix0aGlzLl91cGRhdGUsdGhpcyl9LF9hZGRTY2FsZXM6ZnVuY3Rpb24odCxpLGUpe3QubWV0cmljJiYodGhpcy5fbVNjYWxlPUcoImRpdiIsaSxlKSksdC5pbXBlcmlhbCYmKHRoaXMuX2lTY2FsZT1HKCJkaXYiLGksZSkpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLGk9dC5nZXRTaXplKCkueS8yLGU9dC5kaXN0YW5jZSh0LmNvbnRhaW5lclBvaW50VG9MYXRMbmcoWzAsaV0pLHQuY29udGFpbmVyUG9pbnRUb0xhdExuZyhbdGhpcy5vcHRpb25zLm1heFdpZHRoLGldKSk7dGhpcy5fdXBkYXRlU2NhbGVzKGUpfSxfdXBkYXRlU2NhbGVzOmZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5tZXRyaWMmJnQmJnRoaXMuX3VwZGF0ZU1ldHJpYyh0KSx0aGlzLm9wdGlvbnMuaW1wZXJpYWwmJnQmJnRoaXMuX3VwZGF0ZUltcGVyaWFsKHQpfSxfdXBkYXRlTWV0cmljOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldFJvdW5kTnVtKHQpLGU9aTwxZTM/aSsiIG0iOmkvMWUzKyIga20iO3RoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX21TY2FsZSxlLGkvdCl9LF91cGRhdGVJbXBlcmlhbDpmdW5jdGlvbih0KXt2YXIgaSxlLG4sbz0zLjI4MDgzOTkqdDtvPjUyODA/KGk9by81MjgwLGU9dGhpcy5fZ2V0Um91bmROdW0oaSksdGhpcy5fdXBkYXRlU2NhbGUodGhpcy5faVNjYWxlLGUrIiBtaSIsZS9pKSk6KG49dGhpcy5fZ2V0Um91bmROdW0obyksdGhpcy5fdXBkYXRlU2NhbGUodGhpcy5faVNjYWxlLG4rIiBmdCIsbi9vKSl9LF91cGRhdGVTY2FsZTpmdW5jdGlvbih0LGksZSl7dC5zdHlsZS53aWR0aD1NYXRoLnJvdW5kKHRoaXMub3B0aW9ucy5tYXhXaWR0aCplKSsicHgiLHQuaW5uZXJIVE1MPWl9LF9nZXRSb3VuZE51bTpmdW5jdGlvbih0KXt2YXIgaT1NYXRoLnBvdygxMCwoTWF0aC5mbG9vcih0KSsiIikubGVuZ3RoLTEpLGU9dC9pO3JldHVybiBlPWU+PTEwPzEwOmU+PTU/NTplPj0zPzM6ZT49Mj8yOjEsaSplfX0pLFplPVRlLmV4dGVuZCh7b3B0aW9uczp7cG9zaXRpb246ImJvdHRvbXJpZ2h0IixwcmVmaXg6JzxhIGhyZWY9Imh0dHA6Ly9sZWFmbGV0anMuY29tIiB0aXRsZT0iQSBKUyBsaWJyYXJ5IGZvciBpbnRlcmFjdGl2ZSBtYXBzIj5MZWFmbGV0PC9hPid9LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7bCh0aGlzLHQpLHRoaXMuX2F0dHJpYnV0aW9ucz17fX0sb25BZGQ6ZnVuY3Rpb24odCl7dC5hdHRyaWJ1dGlvbkNvbnRyb2w9dGhpcyx0aGlzLl9jb250YWluZXI9RygiZGl2IiwibGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIiksd3QodGhpcy5fY29udGFpbmVyKTtmb3IodmFyIGkgaW4gdC5fbGF5ZXJzKXQuX2xheWVyc1tpXS5nZXRBdHRyaWJ1dGlvbiYmdGhpcy5hZGRBdHRyaWJ1dGlvbih0Ll9sYXllcnNbaV0uZ2V0QXR0cmlidXRpb24oKSk7cmV0dXJuIHRoaXMuX3VwZGF0ZSgpLHRoaXMuX2NvbnRhaW5lcn0sc2V0UHJlZml4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucHJlZml4PXQsdGhpcy5fdXBkYXRlKCksdGhpc30sYWRkQXR0cmlidXRpb246ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHRoaXMuX2F0dHJpYnV0aW9uc1t0XXx8KHRoaXMuX2F0dHJpYnV0aW9uc1t0XT0wKSx0aGlzLl9hdHRyaWJ1dGlvbnNbdF0rKyx0aGlzLl91cGRhdGUoKSx0aGlzKTp0aGlzfSxyZW1vdmVBdHRyaWJ1dGlvbjpmdW5jdGlvbih0KXtyZXR1cm4gdD8odGhpcy5fYXR0cmlidXRpb25zW3RdJiYodGhpcy5fYXR0cmlidXRpb25zW3RdLS0sdGhpcy5fdXBkYXRlKCkpLHRoaXMpOnRoaXN9LF91cGRhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXApe3ZhciB0PVtdO2Zvcih2YXIgaSBpbiB0aGlzLl9hdHRyaWJ1dGlvbnMpdGhpcy5fYXR0cmlidXRpb25zW2ldJiZ0LnB1c2goaSk7dmFyIGU9W107dGhpcy5vcHRpb25zLnByZWZpeCYmZS5wdXNoKHRoaXMub3B0aW9ucy5wcmVmaXgpLHQubGVuZ3RoJiZlLnB1c2godC5qb2luKCIsICIpKSx0aGlzLl9jb250YWluZXIuaW5uZXJIVE1MPWUuam9pbigiIHwgIil9fX0pO2JlLm1lcmdlT3B0aW9ucyh7YXR0cmlidXRpb25Db250cm9sOiEwfSksYmUuYWRkSW5pdEhvb2soZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXR0cmlidXRpb25Db250cm9sJiYobmV3IFplKS5hZGRUbyh0aGlzKX0pO1RlLkxheWVycz1NZSxUZS5ab29tPUNlLFRlLlNjYWxlPVNlLFRlLkF0dHJpYnV0aW9uPVplLHplLmxheWVycz1mdW5jdGlvbih0LGksZSl7cmV0dXJuIG5ldyBNZSh0LGksZSl9LHplLnpvb209ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBDZSh0KX0semUuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTZSh0KX0semUuYXR0cmlidXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBaZSh0KX07dmFyIEVlPXYuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQpe3RoaXMuX21hcD10fSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW5hYmxlZD90aGlzOih0aGlzLl9lbmFibGVkPSEwLHRoaXMuYWRkSG9va3MoKSx0aGlzKX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbmFibGVkPyh0aGlzLl9lbmFibGVkPSExLHRoaXMucmVtb3ZlSG9va3MoKSx0aGlzKTp0aGlzfSxlbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9lbmFibGVkfX0pO0VlLmFkZFRvPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQuYWRkSGFuZGxlcihpLHRoaXMpLHRoaXN9O3ZhciBrZSxCZT17RXZlbnRzOmxpfSxBZT1xaT8idG91Y2hzdGFydCBtb3VzZWRvd24iOiJtb3VzZWRvd24iLEllPXttb3VzZWRvd246Im1vdXNldXAiLHRvdWNoc3RhcnQ6InRvdWNoZW5kIixwb2ludGVyZG93bjoidG91Y2hlbmQiLE1TUG9pbnRlckRvd246InRvdWNoZW5kIn0sT2U9e21vdXNlZG93bjoibW91c2Vtb3ZlIix0b3VjaHN0YXJ0OiJ0b3VjaG1vdmUiLHBvaW50ZXJkb3duOiJ0b3VjaG1vdmUiLE1TUG9pbnRlckRvd246InRvdWNobW92ZSJ9LFJlPWNpLmV4dGVuZCh7b3B0aW9uczp7Y2xpY2tUb2xlcmFuY2U6M30saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGksZSxuKXtsKHRoaXMsbiksdGhpcy5fZWxlbWVudD10LHRoaXMuX2RyYWdTdGFydFRhcmdldD1pfHx0LHRoaXMuX3ByZXZlbnRPdXRsaW5lPWV9LGVuYWJsZTpmdW5jdGlvbigpe3RoaXMuX2VuYWJsZWR8fChtdCh0aGlzLl9kcmFnU3RhcnRUYXJnZXQsQWUsdGhpcy5fb25Eb3duLHRoaXMpLHRoaXMuX2VuYWJsZWQ9ITApfSxkaXNhYmxlOmZ1bmN0aW9uKCl7dGhpcy5fZW5hYmxlZCYmKFJlLl9kcmFnZ2luZz09PXRoaXMmJnRoaXMuZmluaXNoRHJhZygpLGZ0KHRoaXMuX2RyYWdTdGFydFRhcmdldCxBZSx0aGlzLl9vbkRvd24sdGhpcyksdGhpcy5fZW5hYmxlZD0hMSx0aGlzLl9tb3ZlZD0hMSl9LF9vbkRvd246ZnVuY3Rpb24odCl7aWYoIXQuX3NpbXVsYXRlZCYmdGhpcy5fZW5hYmxlZCYmKHRoaXMuX21vdmVkPSExLCEkKHRoaXMuX2VsZW1lbnQsImxlYWZsZXQtem9vbS1hbmltIikmJiEoUmUuX2RyYWdnaW5nfHx0LnNoaWZ0S2V5fHwxIT09dC53aGljaCYmMSE9PXQuYnV0dG9uJiYhdC50b3VjaGVzfHwoUmUuX2RyYWdnaW5nPXRoaXMsdGhpcy5fcHJldmVudE91dGxpbmUmJmN0KHRoaXMuX2VsZW1lbnQpLHV0KCksZmkoKSx0aGlzLl9tb3ZpbmcpKSkpe3RoaXMuZmlyZSgiZG93biIpO3ZhciBpPXQudG91Y2hlcz90LnRvdWNoZXNbMF06dCxlPWR0KHRoaXMuX2VsZW1lbnQpO3RoaXMuX3N0YXJ0UG9pbnQ9bmV3IHgoaS5jbGllbnRYLGkuY2xpZW50WSksdGhpcy5fcGFyZW50U2NhbGU9cHQoZSksbXQoZG9jdW1lbnQsT2VbdC50eXBlXSx0aGlzLl9vbk1vdmUsdGhpcyksbXQoZG9jdW1lbnQsSWVbdC50eXBlXSx0aGlzLl9vblVwLHRoaXMpfX0sX29uTW92ZTpmdW5jdGlvbih0KXtpZighdC5fc2ltdWxhdGVkJiZ0aGlzLl9lbmFibGVkKWlmKHQudG91Y2hlcyYmdC50b3VjaGVzLmxlbmd0aD4xKXRoaXMuX21vdmVkPSEwO2Vsc2V7dmFyIGk9dC50b3VjaGVzJiYxPT09dC50b3VjaGVzLmxlbmd0aD90LnRvdWNoZXNbMF06dCxlPW5ldyB4KGkuY2xpZW50WCxpLmNsaWVudFkpLl9zdWJ0cmFjdCh0aGlzLl9zdGFydFBvaW50KTsoZS54fHxlLnkpJiYoTWF0aC5hYnMoZS54KStNYXRoLmFicyhlLnkpPHRoaXMub3B0aW9ucy5jbGlja1RvbGVyYW5jZXx8KGUueC89dGhpcy5fcGFyZW50U2NhbGUueCxlLnkvPXRoaXMuX3BhcmVudFNjYWxlLnksUHQodCksdGhpcy5fbW92ZWR8fCh0aGlzLmZpcmUoImRyYWdzdGFydCIpLHRoaXMuX21vdmVkPSEwLHRoaXMuX3N0YXJ0UG9zPWh0KHRoaXMuX2VsZW1lbnQpLnN1YnRyYWN0KGUpLFEoZG9jdW1lbnQuYm9keSwibGVhZmxldC1kcmFnZ2luZyIpLHRoaXMuX2xhc3RUYXJnZXQ9dC50YXJnZXR8fHQuc3JjRWxlbWVudCx3aW5kb3cuU1ZHRWxlbWVudEluc3RhbmNlJiZ0aGlzLl9sYXN0VGFyZ2V0IGluc3RhbmNlb2YgU1ZHRWxlbWVudEluc3RhbmNlJiYodGhpcy5fbGFzdFRhcmdldD10aGlzLl9sYXN0VGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxRKHRoaXMuX2xhc3RUYXJnZXQsImxlYWZsZXQtZHJhZy10YXJnZXQiKSksdGhpcy5fbmV3UG9zPXRoaXMuX3N0YXJ0UG9zLmFkZChlKSx0aGlzLl9tb3Zpbmc9ITAsZyh0aGlzLl9hbmltUmVxdWVzdCksdGhpcy5fbGFzdEV2ZW50PXQsdGhpcy5fYW5pbVJlcXVlc3Q9Zih0aGlzLl91cGRhdGVQb3NpdGlvbix0aGlzLCEwKSkpfX0sX3VwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9e29yaWdpbmFsRXZlbnQ6dGhpcy5fbGFzdEV2ZW50fTt0aGlzLmZpcmUoInByZWRyYWciLHQpLGF0KHRoaXMuX2VsZW1lbnQsdGhpcy5fbmV3UG9zKSx0aGlzLmZpcmUoImRyYWciLHQpfSxfb25VcDpmdW5jdGlvbih0KXshdC5fc2ltdWxhdGVkJiZ0aGlzLl9lbmFibGVkJiZ0aGlzLmZpbmlzaERyYWcoKX0sZmluaXNoRHJhZzpmdW5jdGlvbigpe3R0KGRvY3VtZW50LmJvZHksImxlYWZsZXQtZHJhZ2dpbmciKSx0aGlzLl9sYXN0VGFyZ2V0JiYodHQodGhpcy5fbGFzdFRhcmdldCwibGVhZmxldC1kcmFnLXRhcmdldCIpLHRoaXMuX2xhc3RUYXJnZXQ9bnVsbCk7Zm9yKHZhciB0IGluIE9lKWZ0KGRvY3VtZW50LE9lW3RdLHRoaXMuX29uTW92ZSx0aGlzKSxmdChkb2N1bWVudCxJZVt0XSx0aGlzLl9vblVwLHRoaXMpO2x0KCksZ2koKSx0aGlzLl9tb3ZlZCYmdGhpcy5fbW92aW5nJiYoZyh0aGlzLl9hbmltUmVxdWVzdCksdGhpcy5maXJlKCJkcmFnZW5kIix7ZGlzdGFuY2U6dGhpcy5fbmV3UG9zLmRpc3RhbmNlVG8odGhpcy5fc3RhcnRQb3MpfSkpLHRoaXMuX21vdmluZz0hMSxSZS5fZHJhZ2dpbmc9ITF9fSksTmU9KE9iamVjdC5mcmVlemV8fE9iamVjdCkoe3NpbXBsaWZ5Olp0LHBvaW50VG9TZWdtZW50RGlzdGFuY2U6RXQsY2xvc2VzdFBvaW50T25TZWdtZW50OmZ1bmN0aW9uKHQsaSxlKXtyZXR1cm4gRHQodCxpLGUpfSxjbGlwU2VnbWVudDpJdCxfZ2V0RWRnZUludGVyc2VjdGlvbjpPdCxfZ2V0Qml0Q29kZTpSdCxfc3FDbG9zZXN0UG9pbnRPblNlZ21lbnQ6RHQsaXNGbGF0Omp0LF9mbGF0Old0fSksRGU9KE9iamVjdC5mcmVlemV8fE9iamVjdCkoe2NsaXBQb2x5Z29uOkh0fSksamU9e3Byb2plY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB4KHQubG5nLHQubGF0KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTSh0LnksdC54KX0sYm91bmRzOm5ldyBQKFstMTgwLC05MF0sWzE4MCw5MF0pfSxXZT17Ujo2Mzc4MTM3LFJfTUlOT1I6NjM1Njc1Mi4zMTQyNDUxNzksYm91bmRzOm5ldyBQKFstMjAwMzc1MDguMzQyNzksLTE1NDk2NTcwLjczOTcyXSxbMjAwMzc1MDguMzQyNzksMTg3NjQ2NTYuMjMxMzhdKSxwcm9qZWN0OmZ1bmN0aW9uKHQpe3ZhciBpPU1hdGguUEkvMTgwLGU9dGhpcy5SLG49dC5sYXQqaSxvPXRoaXMuUl9NSU5PUi9lLHM9TWF0aC5zcXJ0KDEtbypvKSxyPXMqTWF0aC5zaW4obiksYT1NYXRoLnRhbihNYXRoLlBJLzQtbi8yKS9NYXRoLnBvdygoMS1yKS8oMStyKSxzLzIpO3JldHVybiBuPS1lKk1hdGgubG9nKE1hdGgubWF4KGEsMWUtMTApKSxuZXcgeCh0LmxuZyppKmUsbil9LHVucHJvamVjdDpmdW5jdGlvbih0KXtmb3IodmFyIGksZT0xODAvTWF0aC5QSSxuPXRoaXMuUixvPXRoaXMuUl9NSU5PUi9uLHM9TWF0aC5zcXJ0KDEtbypvKSxyPU1hdGguZXhwKC10LnkvbiksYT1NYXRoLlBJLzItMipNYXRoLmF0YW4ociksaD0wLHU9LjE7aDwxNSYmTWF0aC5hYnModSk+MWUtNztoKyspaT1zKk1hdGguc2luKGEpLGk9TWF0aC5wb3coKDEtaSkvKDEraSkscy8yKSxhKz11PU1hdGguUEkvMi0yKk1hdGguYXRhbihyKmkpLWE7cmV0dXJuIG5ldyBNKGEqZSx0LngqZS9uKX19LEhlPShPYmplY3QuZnJlZXplfHxPYmplY3QpKHtMb25MYXQ6amUsTWVyY2F0b3I6V2UsU3BoZXJpY2FsTWVyY2F0b3I6bWl9KSxGZT1pKHt9LHBpLHtjb2RlOiJFUFNHOjMzOTUiLHByb2plY3Rpb246V2UsdHJhbnNmb3JtYXRpb246ZnVuY3Rpb24oKXt2YXIgdD0uNS8oTWF0aC5QSSpXZS5SKTtyZXR1cm4gWih0LC41LC10LC41KX0oKX0pLFVlPWkoe30scGkse2NvZGU6IkVQU0c6NDMyNiIscHJvamVjdGlvbjpqZSx0cmFuc2Zvcm1hdGlvbjpaKDEvMTgwLDEsLTEvMTgwLC41KX0pLFZlPWkoe30sZGkse3Byb2plY3Rpb246amUsdHJhbnNmb3JtYXRpb246WigxLDAsLTEsMCksc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KDIsdCl9LHpvb206ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubG9nKHQpL01hdGguTE4yfSxkaXN0YW5jZTpmdW5jdGlvbih0LGkpe3ZhciBlPWkubG5nLXQubG5nLG49aS5sYXQtdC5sYXQ7cmV0dXJuIE1hdGguc3FydChlKmUrbipuKX0saW5maW5pdGU6ITB9KTtkaS5FYXJ0aD1waSxkaS5FUFNHMzM5NT1GZSxkaS5FUFNHMzg1Nz15aSxkaS5FUFNHOTAwOTEzPXhpLGRpLkVQU0c0MzI2PVVlLGRpLlNpbXBsZT1WZTt2YXIgcWU9Y2kuZXh0ZW5kKHtvcHRpb25zOntwYW5lOiJvdmVybGF5UGFuZSIsYXR0cmlidXRpb246bnVsbCxidWJibGluZ01vdXNlRXZlbnRzOiEwfSxhZGRUbzpmdW5jdGlvbih0KXtyZXR1cm4gdC5hZGRMYXllcih0aGlzKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZW1vdmVGcm9tKHRoaXMuX21hcHx8dGhpcy5fbWFwVG9BZGQpfSxyZW1vdmVGcm9tOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LnJlbW92ZUxheWVyKHRoaXMpLHRoaXN9LGdldFBhbmU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcC5nZXRQYW5lKHQ/dGhpcy5vcHRpb25zW3RdfHx0OnRoaXMub3B0aW9ucy5wYW5lKX0sYWRkSW50ZXJhY3RpdmVUYXJnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21hcC5fdGFyZ2V0c1tuKHQpXT10aGlzLHRoaXN9LHJlbW92ZUludGVyYWN0aXZlVGFyZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiBkZWxldGUgdGhpcy5fbWFwLl90YXJnZXRzW24odCldLHRoaXN9LGdldEF0dHJpYnV0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5hdHRyaWJ1dGlvbn0sX2xheWVyQWRkOmZ1bmN0aW9uKHQpe3ZhciBpPXQudGFyZ2V0O2lmKGkuaGFzTGF5ZXIodGhpcykpe2lmKHRoaXMuX21hcD1pLHRoaXMuX3pvb21BbmltYXRlZD1pLl96b29tQW5pbWF0ZWQsdGhpcy5nZXRFdmVudHMpe3ZhciBlPXRoaXMuZ2V0RXZlbnRzKCk7aS5vbihlLHRoaXMpLHRoaXMub25jZSgicmVtb3ZlIixmdW5jdGlvbigpe2kub2ZmKGUsdGhpcyl9LHRoaXMpfXRoaXMub25BZGQoaSksdGhpcy5nZXRBdHRyaWJ1dGlvbiYmaS5hdHRyaWJ1dGlvbkNvbnRyb2wmJmkuYXR0cmlidXRpb25Db250cm9sLmFkZEF0dHJpYnV0aW9uKHRoaXMuZ2V0QXR0cmlidXRpb24oKSksdGhpcy5maXJlKCJhZGQiKSxpLmZpcmUoImxheWVyYWRkIix7bGF5ZXI6dGhpc30pfX19KTtiZS5pbmNsdWRlKHthZGRMYXllcjpmdW5jdGlvbih0KXtpZighdC5fbGF5ZXJBZGQpdGhyb3cgbmV3IEVycm9yKCJUaGUgcHJvdmlkZWQgb2JqZWN0IGlzIG5vdCBhIExheWVyLiIpO3ZhciBpPW4odCk7cmV0dXJuIHRoaXMuX2xheWVyc1tpXT90aGlzOih0aGlzLl9sYXllcnNbaV09dCx0Ll9tYXBUb0FkZD10aGlzLHQuYmVmb3JlQWRkJiZ0LmJlZm9yZUFkZCh0aGlzKSx0aGlzLndoZW5SZWFkeSh0Ll9sYXllckFkZCx0KSx0aGlzKX0scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7dmFyIGk9bih0KTtyZXR1cm4gdGhpcy5fbGF5ZXJzW2ldPyh0aGlzLl9sb2FkZWQmJnQub25SZW1vdmUodGhpcyksdC5nZXRBdHRyaWJ1dGlvbiYmdGhpcy5hdHRyaWJ1dGlvbkNvbnRyb2wmJnRoaXMuYXR0cmlidXRpb25Db250cm9sLnJlbW92ZUF0dHJpYnV0aW9uKHQuZ2V0QXR0cmlidXRpb24oKSksZGVsZXRlIHRoaXMuX2xheWVyc1tpXSx0aGlzLl9sb2FkZWQmJih0aGlzLmZpcmUoImxheWVycmVtb3ZlIix7bGF5ZXI6dH0pLHQuZmlyZSgicmVtb3ZlIikpLHQuX21hcD10Ll9tYXBUb0FkZD1udWxsLHRoaXMpOnRoaXN9LGhhc0xheWVyOmZ1bmN0aW9uKHQpe3JldHVybiEhdCYmbih0KWluIHRoaXMuX2xheWVyc30sZWFjaExheWVyOmZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBlIGluIHRoaXMuX2xheWVycyl0LmNhbGwoaSx0aGlzLl9sYXllcnNbZV0pO3JldHVybiB0aGlzfSxfYWRkTGF5ZXJzOmZ1bmN0aW9uKHQpe2Zvcih2YXIgaT0wLGU9KHQ9dD9vaSh0KT90Olt0XTpbXSkubGVuZ3RoO2k8ZTtpKyspdGhpcy5hZGRMYXllcih0W2ldKX0sX2FkZFpvb21MaW1pdDpmdW5jdGlvbih0KXshaXNOYU4odC5vcHRpb25zLm1heFpvb20pJiZpc05hTih0Lm9wdGlvbnMubWluWm9vbSl8fCh0aGlzLl96b29tQm91bmRMYXllcnNbbih0KV09dCx0aGlzLl91cGRhdGVab29tTGV2ZWxzKCkpfSxfcmVtb3ZlWm9vbUxpbWl0OmZ1bmN0aW9uKHQpe3ZhciBpPW4odCk7dGhpcy5fem9vbUJvdW5kTGF5ZXJzW2ldJiYoZGVsZXRlIHRoaXMuX3pvb21Cb3VuZExheWVyc1tpXSx0aGlzLl91cGRhdGVab29tTGV2ZWxzKCkpfSxfdXBkYXRlWm9vbUxldmVsczpmdW5jdGlvbigpe3ZhciB0PTEvMCxpPS0xLzAsZT10aGlzLl9nZXRab29tU3BhbigpO2Zvcih2YXIgbiBpbiB0aGlzLl96b29tQm91bmRMYXllcnMpe3ZhciBvPXRoaXMuX3pvb21Cb3VuZExheWVyc1tuXS5vcHRpb25zO3Q9dm9pZCAwPT09by5taW5ab29tP3Q6TWF0aC5taW4odCxvLm1pblpvb20pLGk9dm9pZCAwPT09by5tYXhab29tP2k6TWF0aC5tYXgoaSxvLm1heFpvb20pfXRoaXMuX2xheWVyc01heFpvb209aT09PS0xLzA/dm9pZCAwOmksdGhpcy5fbGF5ZXJzTWluWm9vbT10PT09MS8wP3ZvaWQgMDp0LGUhPT10aGlzLl9nZXRab29tU3BhbigpJiZ0aGlzLmZpcmUoInpvb21sZXZlbHNjaGFuZ2UiKSx2b2lkIDA9PT10aGlzLm9wdGlvbnMubWF4Wm9vbSYmdGhpcy5fbGF5ZXJzTWF4Wm9vbSYmdGhpcy5nZXRab29tKCk+dGhpcy5fbGF5ZXJzTWF4Wm9vbSYmdGhpcy5zZXRab29tKHRoaXMuX2xheWVyc01heFpvb20pLHZvaWQgMD09PXRoaXMub3B0aW9ucy5taW5ab29tJiZ0aGlzLl9sYXllcnNNaW5ab29tJiZ0aGlzLmdldFpvb20oKTx0aGlzLl9sYXllcnNNaW5ab29tJiZ0aGlzLnNldFpvb20odGhpcy5fbGF5ZXJzTWluWm9vbSl9fSk7dmFyIEdlPXFlLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe2wodGhpcyxpKSx0aGlzLl9sYXllcnM9e307dmFyIGUsbjtpZih0KWZvcihlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXRoaXMuYWRkTGF5ZXIodFtlXSl9LGFkZExheWVyOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZ2V0TGF5ZXJJZCh0KTtyZXR1cm4gdGhpcy5fbGF5ZXJzW2ldPXQsdGhpcy5fbWFwJiZ0aGlzLl9tYXAuYWRkTGF5ZXIodCksdGhpc30scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7dmFyIGk9dCBpbiB0aGlzLl9sYXllcnM/dDp0aGlzLmdldExheWVySWQodCk7cmV0dXJuIHRoaXMuX21hcCYmdGhpcy5fbGF5ZXJzW2ldJiZ0aGlzLl9tYXAucmVtb3ZlTGF5ZXIodGhpcy5fbGF5ZXJzW2ldKSxkZWxldGUgdGhpcy5fbGF5ZXJzW2ldLHRoaXN9LGhhc0xheWVyOmZ1bmN0aW9uKHQpe3JldHVybiEhdCYmKHQgaW4gdGhpcy5fbGF5ZXJzfHx0aGlzLmdldExheWVySWQodClpbiB0aGlzLl9sYXllcnMpfSxjbGVhckxheWVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2hMYXllcih0aGlzLnJlbW92ZUxheWVyLHRoaXMpfSxpbnZva2U6ZnVuY3Rpb24odCl7dmFyIGksZSxuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IoaSBpbiB0aGlzLl9sYXllcnMpKGU9dGhpcy5fbGF5ZXJzW2ldKVt0XSYmZVt0XS5hcHBseShlLG4pO3JldHVybiB0aGlzfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLmVhY2hMYXllcih0LmFkZExheWVyLHQpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0aGlzLmVhY2hMYXllcih0LnJlbW92ZUxheWVyLHQpfSxlYWNoTGF5ZXI6ZnVuY3Rpb24odCxpKXtmb3IodmFyIGUgaW4gdGhpcy5fbGF5ZXJzKXQuY2FsbChpLHRoaXMuX2xheWVyc1tlXSk7cmV0dXJuIHRoaXN9LGdldExheWVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9sYXllcnNbdF19LGdldExheWVyczpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmVhY2hMYXllcih0LnB1c2gsdCksdH0sc2V0WkluZGV4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludm9rZSgic2V0WkluZGV4Iix0KX0sZ2V0TGF5ZXJJZDpmdW5jdGlvbih0KXtyZXR1cm4gbih0KX19KSxLZT1HZS5leHRlbmQoe2FkZExheWVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmhhc0xheWVyKHQpP3RoaXM6KHQuYWRkRXZlbnRQYXJlbnQodGhpcyksR2UucHJvdG90eXBlLmFkZExheWVyLmNhbGwodGhpcyx0KSx0aGlzLmZpcmUoImxheWVyYWRkIix7bGF5ZXI6dH0pKX0scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaGFzTGF5ZXIodCk/KHQgaW4gdGhpcy5fbGF5ZXJzJiYodD10aGlzLl9sYXllcnNbdF0pLHQucmVtb3ZlRXZlbnRQYXJlbnQodGhpcyksR2UucHJvdG90eXBlLnJlbW92ZUxheWVyLmNhbGwodGhpcyx0KSx0aGlzLmZpcmUoImxheWVycmVtb3ZlIix7bGF5ZXI6dH0pKTp0aGlzfSxzZXRTdHlsZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZva2UoInNldFN0eWxlIix0KX0sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW52b2tlKCJicmluZ1RvRnJvbnQiKX0sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnZva2UoImJyaW5nVG9CYWNrIil9LGdldEJvdW5kczpmdW5jdGlvbigpe3ZhciB0PW5ldyBUO2Zvcih2YXIgaSBpbiB0aGlzLl9sYXllcnMpe3ZhciBlPXRoaXMuX2xheWVyc1tpXTt0LmV4dGVuZChlLmdldEJvdW5kcz9lLmdldEJvdW5kcygpOmUuZ2V0TGF0TG5nKCkpfXJldHVybiB0fX0pLFllPXYuZXh0ZW5kKHtvcHRpb25zOntwb3B1cEFuY2hvcjpbMCwwXSx0b29sdGlwQW5jaG9yOlswLDBdfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2wodGhpcyx0KX0sY3JlYXRlSWNvbjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY3JlYXRlSWNvbigiaWNvbiIsdCl9LGNyZWF0ZVNoYWRvdzpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY3JlYXRlSWNvbigic2hhZG93Iix0KX0sX2NyZWF0ZUljb246ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9nZXRJY29uVXJsKHQpO2lmKCFlKXtpZigiaWNvbiI9PT10KXRocm93IG5ldyBFcnJvcigiaWNvblVybCBub3Qgc2V0IGluIEljb24gb3B0aW9ucyAoc2VlIHRoZSBkb2NzKS4iKTtyZXR1cm4gbnVsbH12YXIgbj10aGlzLl9jcmVhdGVJbWcoZSxpJiYiSU1HIj09PWkudGFnTmFtZT9pOm51bGwpO3JldHVybiB0aGlzLl9zZXRJY29uU3R5bGVzKG4sdCksbn0sX3NldEljb25TdHlsZXM6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLm9wdGlvbnMsbj1lW2krIlNpemUiXTsibnVtYmVyIj09dHlwZW9mIG4mJihuPVtuLG5dKTt2YXIgbz13KG4pLHM9dygic2hhZG93Ij09PWkmJmUuc2hhZG93QW5jaG9yfHxlLmljb25BbmNob3J8fG8mJm8uZGl2aWRlQnkoMiwhMCkpO3QuY2xhc3NOYW1lPSJsZWFmbGV0LW1hcmtlci0iK2krIiAiKyhlLmNsYXNzTmFtZXx8IiIpLHMmJih0LnN0eWxlLm1hcmdpbkxlZnQ9LXMueCsicHgiLHQuc3R5bGUubWFyZ2luVG9wPS1zLnkrInB4IiksbyYmKHQuc3R5bGUud2lkdGg9by54KyJweCIsdC5zdHlsZS5oZWlnaHQ9by55KyJweCIpfSxfY3JlYXRlSW1nOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9aXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIiksaS5zcmM9dCxpfSxfZ2V0SWNvblVybDpmdW5jdGlvbih0KXtyZXR1cm4gWWkmJnRoaXMub3B0aW9uc1t0KyJSZXRpbmFVcmwiXXx8dGhpcy5vcHRpb25zW3QrIlVybCJdfX0pLFhlPVllLmV4dGVuZCh7b3B0aW9uczp7aWNvblVybDoibWFya2VyLWljb24ucG5nIixpY29uUmV0aW5hVXJsOiJtYXJrZXItaWNvbi0yeC5wbmciLHNoYWRvd1VybDoibWFya2VyLXNoYWRvdy5wbmciLGljb25TaXplOlsyNSw0MV0saWNvbkFuY2hvcjpbMTIsNDFdLHBvcHVwQW5jaG9yOlsxLC0zNF0sdG9vbHRpcEFuY2hvcjpbMTYsLTI4XSxzaGFkb3dTaXplOls0MSw0MV19LF9nZXRJY29uVXJsOmZ1bmN0aW9uKHQpe3JldHVybiBYZS5pbWFnZVBhdGh8fChYZS5pbWFnZVBhdGg9dGhpcy5fZGV0ZWN0SWNvblBhdGgoKSksKHRoaXMub3B0aW9ucy5pbWFnZVBhdGh8fFhlLmltYWdlUGF0aCkrWWUucHJvdG90eXBlLl9nZXRJY29uVXJsLmNhbGwodGhpcyx0KX0sX2RldGVjdEljb25QYXRoOmZ1bmN0aW9uKCl7dmFyIHQ9RygiZGl2IiwibGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCIsZG9jdW1lbnQuYm9keSksaT1xKHQsImJhY2tncm91bmQtaW1hZ2UiKXx8cSh0LCJiYWNrZ3JvdW5kSW1hZ2UiKTtyZXR1cm4gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxpPW51bGw9PT1pfHwwIT09aS5pbmRleE9mKCJ1cmwiKT8iIjppLnJlcGxhY2UoL151cmxcKFsiJ10/LywiIikucmVwbGFjZSgvbWFya2VyLWljb25cLnBuZ1siJ10/XCkkLywiIil9fSksSmU9RWUuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQpe3RoaXMuX21hcmtlcj10fSxhZGRIb29rczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcmtlci5faWNvbjt0aGlzLl9kcmFnZ2FibGV8fCh0aGlzLl9kcmFnZ2FibGU9bmV3IFJlKHQsdCwhMCkpLHRoaXMuX2RyYWdnYWJsZS5vbih7ZHJhZ3N0YXJ0OnRoaXMuX29uRHJhZ1N0YXJ0LHByZWRyYWc6dGhpcy5fb25QcmVEcmFnLGRyYWc6dGhpcy5fb25EcmFnLGRyYWdlbmQ6dGhpcy5fb25EcmFnRW5kfSx0aGlzKS5lbmFibGUoKSxRKHQsImxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSIpfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe3RoaXMuX2RyYWdnYWJsZS5vZmYoe2RyYWdzdGFydDp0aGlzLl9vbkRyYWdTdGFydCxwcmVkcmFnOnRoaXMuX29uUHJlRHJhZyxkcmFnOnRoaXMuX29uRHJhZyxkcmFnZW5kOnRoaXMuX29uRHJhZ0VuZH0sdGhpcykuZGlzYWJsZSgpLHRoaXMuX21hcmtlci5faWNvbiYmdHQodGhpcy5fbWFya2VyLl9pY29uLCJsZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUiKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUuX21vdmVkfSxfYWRqdXN0UGFuOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcmtlcixlPWkuX21hcCxuPXRoaXMuX21hcmtlci5vcHRpb25zLmF1dG9QYW5TcGVlZCxvPXRoaXMuX21hcmtlci5vcHRpb25zLmF1dG9QYW5QYWRkaW5nLHM9aHQoaS5faWNvbikscj1lLmdldFBpeGVsQm91bmRzKCksYT1lLmdldFBpeGVsT3JpZ2luKCksaD1iKHIubWluLl9zdWJ0cmFjdChhKS5hZGQobyksci5tYXguX3N1YnRyYWN0KGEpLnN1YnRyYWN0KG8pKTtpZighaC5jb250YWlucyhzKSl7dmFyIHU9dygoTWF0aC5tYXgoaC5tYXgueCxzLngpLWgubWF4LngpLyhyLm1heC54LWgubWF4LngpLShNYXRoLm1pbihoLm1pbi54LHMueCktaC5taW4ueCkvKHIubWluLngtaC5taW4ueCksKE1hdGgubWF4KGgubWF4Lnkscy55KS1oLm1heC55KS8oci5tYXgueS1oLm1heC55KS0oTWF0aC5taW4oaC5taW4ueSxzLnkpLWgubWluLnkpLyhyLm1pbi55LWgubWluLnkpKS5tdWx0aXBseUJ5KG4pO2UucGFuQnkodSx7YW5pbWF0ZTohMX0pLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zLl9hZGQodSksdGhpcy5fZHJhZ2dhYmxlLl9zdGFydFBvcy5fYWRkKHUpLGF0KGkuX2ljb24sdGhpcy5fZHJhZ2dhYmxlLl9uZXdQb3MpLHRoaXMuX29uRHJhZyh0KSx0aGlzLl9wYW5SZXF1ZXN0PWYodGhpcy5fYWRqdXN0UGFuLmJpbmQodGhpcyx0KSl9fSxfb25EcmFnU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9vbGRMYXRMbmc9dGhpcy5fbWFya2VyLmdldExhdExuZygpLHRoaXMuX21hcmtlci5jbG9zZVBvcHVwKCkuZmlyZSgibW92ZXN0YXJ0IikuZmlyZSgiZHJhZ3N0YXJ0Iil9LF9vblByZURyYWc6ZnVuY3Rpb24odCl7dGhpcy5fbWFya2VyLm9wdGlvbnMuYXV0b1BhbiYmKGcodGhpcy5fcGFuUmVxdWVzdCksdGhpcy5fcGFuUmVxdWVzdD1mKHRoaXMuX2FkanVzdFBhbi5iaW5kKHRoaXMsdCkpKX0sX29uRHJhZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXJrZXIsZT1pLl9zaGFkb3csbj1odChpLl9pY29uKSxvPWkuX21hcC5sYXllclBvaW50VG9MYXRMbmcobik7ZSYmYXQoZSxuKSxpLl9sYXRsbmc9byx0LmxhdGxuZz1vLHQub2xkTGF0TG5nPXRoaXMuX29sZExhdExuZyxpLmZpcmUoIm1vdmUiLHQpLmZpcmUoImRyYWciLHQpfSxfb25EcmFnRW5kOmZ1bmN0aW9uKHQpe2codGhpcy5fcGFuUmVxdWVzdCksZGVsZXRlIHRoaXMuX29sZExhdExuZyx0aGlzLl9tYXJrZXIuZmlyZSgibW92ZWVuZCIpLmZpcmUoImRyYWdlbmQiLHQpfX0pLCRlPXFlLmV4dGVuZCh7b3B0aW9uczp7aWNvbjpuZXcgWGUsaW50ZXJhY3RpdmU6ITAsa2V5Ym9hcmQ6ITAsdGl0bGU6IiIsYWx0OiIiLHpJbmRleE9mZnNldDowLG9wYWNpdHk6MSxyaXNlT25Ib3ZlcjohMSxyaXNlT2Zmc2V0OjI1MCxwYW5lOiJtYXJrZXJQYW5lIixidWJibGluZ01vdXNlRXZlbnRzOiExLGRyYWdnYWJsZTohMSxhdXRvUGFuOiExLGF1dG9QYW5QYWRkaW5nOls1MCw1MF0sYXV0b1BhblNwZWVkOjEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7bCh0aGlzLGkpLHRoaXMuX2xhdGxuZz1DKHQpfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLl96b29tQW5pbWF0ZWQ9dGhpcy5fem9vbUFuaW1hdGVkJiZ0Lm9wdGlvbnMubWFya2VyWm9vbUFuaW1hdGlvbix0aGlzLl96b29tQW5pbWF0ZWQmJnQub24oInpvb21hbmltIix0aGlzLl9hbmltYXRlWm9vbSx0aGlzKSx0aGlzLl9pbml0SWNvbigpLHRoaXMudXBkYXRlKCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe3RoaXMuZHJhZ2dpbmcmJnRoaXMuZHJhZ2dpbmcuZW5hYmxlZCgpJiYodGhpcy5vcHRpb25zLmRyYWdnYWJsZT0hMCx0aGlzLmRyYWdnaW5nLnJlbW92ZUhvb2tzKCkpLGRlbGV0ZSB0aGlzLmRyYWdnaW5nLHRoaXMuX3pvb21BbmltYXRlZCYmdC5vZmYoInpvb21hbmltIix0aGlzLl9hbmltYXRlWm9vbSx0aGlzKSx0aGlzLl9yZW1vdmVJY29uKCksdGhpcy5fcmVtb3ZlU2hhZG93KCl9LGdldEV2ZW50czpmdW5jdGlvbigpe3JldHVybnt6b29tOnRoaXMudXBkYXRlLHZpZXdyZXNldDp0aGlzLnVwZGF0ZX19LGdldExhdExuZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYXRsbmd9LHNldExhdExuZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9sYXRsbmc7cmV0dXJuIHRoaXMuX2xhdGxuZz1DKHQpLHRoaXMudXBkYXRlKCksdGhpcy5maXJlKCJtb3ZlIix7b2xkTGF0TG5nOmksbGF0bG5nOnRoaXMuX2xhdGxuZ30pfSxzZXRaSW5kZXhPZmZzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy56SW5kZXhPZmZzZXQ9dCx0aGlzLnVwZGF0ZSgpfSxzZXRJY29uOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbj10LHRoaXMuX21hcCYmKHRoaXMuX2luaXRJY29uKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcG9wdXAmJnRoaXMuYmluZFBvcHVwKHRoaXMuX3BvcHVwLHRoaXMuX3BvcHVwLm9wdGlvbnMpLHRoaXN9LGdldEVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faWNvbn0sdXBkYXRlOmZ1bmN0aW9uKCl7aWYodGhpcy5faWNvbiYmdGhpcy5fbWFwKXt2YXIgdD10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2xhdGxuZykucm91bmQoKTt0aGlzLl9zZXRQb3ModCl9cmV0dXJuIHRoaXN9LF9pbml0SWNvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucyxpPSJsZWFmbGV0LXpvb20tIisodGhpcy5fem9vbUFuaW1hdGVkPyJhbmltYXRlZCI6ImhpZGUiKSxlPXQuaWNvbi5jcmVhdGVJY29uKHRoaXMuX2ljb24pLG49ITE7ZSE9PXRoaXMuX2ljb24mJih0aGlzLl9pY29uJiZ0aGlzLl9yZW1vdmVJY29uKCksbj0hMCx0LnRpdGxlJiYoZS50aXRsZT10LnRpdGxlKSwiSU1HIj09PWUudGFnTmFtZSYmKGUuYWx0PXQuYWx0fHwiIikpLFEoZSxpKSx0LmtleWJvYXJkJiYoZS50YWJJbmRleD0iMCIpLHRoaXMuX2ljb249ZSx0LnJpc2VPbkhvdmVyJiZ0aGlzLm9uKHttb3VzZW92ZXI6dGhpcy5fYnJpbmdUb0Zyb250LG1vdXNlb3V0OnRoaXMuX3Jlc2V0WkluZGV4fSk7dmFyIG89dC5pY29uLmNyZWF0ZVNoYWRvdyh0aGlzLl9zaGFkb3cpLHM9ITE7byE9PXRoaXMuX3NoYWRvdyYmKHRoaXMuX3JlbW92ZVNoYWRvdygpLHM9ITApLG8mJihRKG8saSksby5hbHQ9IiIpLHRoaXMuX3NoYWRvdz1vLHQub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksbiYmdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5faWNvbiksdGhpcy5faW5pdEludGVyYWN0aW9uKCksbyYmcyYmdGhpcy5nZXRQYW5lKCJzaGFkb3dQYW5lIikuYXBwZW5kQ2hpbGQodGhpcy5fc2hhZG93KX0sX3JlbW92ZUljb246ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMucmlzZU9uSG92ZXImJnRoaXMub2ZmKHttb3VzZW92ZXI6dGhpcy5fYnJpbmdUb0Zyb250LG1vdXNlb3V0OnRoaXMuX3Jlc2V0WkluZGV4fSksSyh0aGlzLl9pY29uKSx0aGlzLnJlbW92ZUludGVyYWN0aXZlVGFyZ2V0KHRoaXMuX2ljb24pLHRoaXMuX2ljb249bnVsbH0sX3JlbW92ZVNoYWRvdzpmdW5jdGlvbigpe3RoaXMuX3NoYWRvdyYmSyh0aGlzLl9zaGFkb3cpLHRoaXMuX3NoYWRvdz1udWxsfSxfc2V0UG9zOmZ1bmN0aW9uKHQpe2F0KHRoaXMuX2ljb24sdCksdGhpcy5fc2hhZG93JiZhdCh0aGlzLl9zaGFkb3csdCksdGhpcy5fekluZGV4PXQueSt0aGlzLm9wdGlvbnMuekluZGV4T2Zmc2V0LHRoaXMuX3Jlc2V0WkluZGV4KCl9LF91cGRhdGVaSW5kZXg6ZnVuY3Rpb24odCl7dGhpcy5faWNvbi5zdHlsZS56SW5kZXg9dGhpcy5fekluZGV4K3R9LF9hbmltYXRlWm9vbTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXAuX2xhdExuZ1RvTmV3TGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcsdC56b29tLHQuY2VudGVyKS5yb3VuZCgpO3RoaXMuX3NldFBvcyhpKX0sX2luaXRJbnRlcmFjdGlvbjpmdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmKFEodGhpcy5faWNvbiwibGVhZmxldC1pbnRlcmFjdGl2ZSIpLHRoaXMuYWRkSW50ZXJhY3RpdmVUYXJnZXQodGhpcy5faWNvbiksSmUpKXt2YXIgdD10aGlzLm9wdGlvbnMuZHJhZ2dhYmxlO3RoaXMuZHJhZ2dpbmcmJih0PXRoaXMuZHJhZ2dpbmcuZW5hYmxlZCgpLHRoaXMuZHJhZ2dpbmcuZGlzYWJsZSgpKSx0aGlzLmRyYWdnaW5nPW5ldyBKZSh0aGlzKSx0JiZ0aGlzLmRyYWdnaW5nLmVuYWJsZSgpfX0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm9wYWNpdHk9dCx0aGlzLl9tYXAmJnRoaXMuX3VwZGF0ZU9wYWNpdHkoKSx0aGlzfSxfdXBkYXRlT3BhY2l0eTpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5vcGFjaXR5O250KHRoaXMuX2ljb24sdCksdGhpcy5fc2hhZG93JiZudCh0aGlzLl9zaGFkb3csdCl9LF9icmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVaSW5kZXgodGhpcy5vcHRpb25zLnJpc2VPZmZzZXQpfSxfcmVzZXRaSW5kZXg6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVaSW5kZXgoMCl9LF9nZXRQb3B1cEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbi5vcHRpb25zLnBvcHVwQW5jaG9yfSxfZ2V0VG9vbHRpcEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbi5vcHRpb25zLnRvb2x0aXBBbmNob3J9fSksUWU9cWUuZXh0ZW5kKHtvcHRpb25zOntzdHJva2U6ITAsY29sb3I6IiMzMzg4ZmYiLHdlaWdodDozLG9wYWNpdHk6MSxsaW5lQ2FwOiJyb3VuZCIsbGluZUpvaW46InJvdW5kIixkYXNoQXJyYXk6bnVsbCxkYXNoT2Zmc2V0Om51bGwsZmlsbDohMSxmaWxsQ29sb3I6bnVsbCxmaWxsT3BhY2l0eTouMixmaWxsUnVsZToiZXZlbm9kZCIsaW50ZXJhY3RpdmU6ITAsYnViYmxpbmdNb3VzZUV2ZW50czohMH0sYmVmb3JlQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX3JlbmRlcmVyPXQuZ2V0UmVuZGVyZXIodGhpcyl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX2luaXRQYXRoKHRoaXMpLHRoaXMuX3Jlc2V0KCksdGhpcy5fcmVuZGVyZXIuX2FkZFBhdGgodGhpcyl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX3JlbW92ZVBhdGgodGhpcyl9LHJlZHJhdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJnRoaXMuX3JlbmRlcmVyLl91cGRhdGVQYXRoKHRoaXMpLHRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiBsKHRoaXMsdCksdGhpcy5fcmVuZGVyZXImJnRoaXMuX3JlbmRlcmVyLl91cGRhdGVTdHlsZSh0aGlzKSx0aGlzfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXImJnRoaXMuX3JlbmRlcmVyLl9icmluZ1RvRnJvbnQodGhpcyksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXImJnRoaXMuX3JlbmRlcmVyLl9icmluZ1RvQmFjayh0aGlzKSx0aGlzfSxnZXRFbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BhdGh9LF9yZXNldDpmdW5jdGlvbigpe3RoaXMuX3Byb2plY3QoKSx0aGlzLl91cGRhdGUoKX0sX2NsaWNrVG9sZXJhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMub3B0aW9ucy5zdHJva2U/dGhpcy5vcHRpb25zLndlaWdodC8yOjApK3RoaXMuX3JlbmRlcmVyLm9wdGlvbnMudG9sZXJhbmNlfX0pLHRuPVFlLmV4dGVuZCh7b3B0aW9uczp7ZmlsbDohMCxyYWRpdXM6MTB9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxpKXtsKHRoaXMsaSksdGhpcy5fbGF0bG5nPUModCksdGhpcy5fcmFkaXVzPXRoaXMub3B0aW9ucy5yYWRpdXN9LHNldExhdExuZzpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGF0bG5nPUModCksdGhpcy5yZWRyYXcoKSx0aGlzLmZpcmUoIm1vdmUiLHtsYXRsbmc6dGhpcy5fbGF0bG5nfSl9LGdldExhdExuZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYXRsbmd9LHNldFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLnJhZGl1cz10aGlzLl9yYWRpdXM9dCx0aGlzLnJlZHJhdygpfSxnZXRSYWRpdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmFkaXVzfSxzZXRTdHlsZTpmdW5jdGlvbih0KXt2YXIgaT10JiZ0LnJhZGl1c3x8dGhpcy5fcmFkaXVzO3JldHVybiBRZS5wcm90b3R5cGUuc2V0U3R5bGUuY2FsbCh0aGlzLHQpLHRoaXMuc2V0UmFkaXVzKGkpLHRoaXN9LF9wcm9qZWN0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9dGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpLHRoaXMuX3VwZGF0ZUJvdW5kcygpfSxfdXBkYXRlQm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmFkaXVzLGk9dGhpcy5fcmFkaXVzWXx8dCxlPXRoaXMuX2NsaWNrVG9sZXJhbmNlKCksbj1bdCtlLGkrZV07dGhpcy5fcHhCb3VuZHM9bmV3IFAodGhpcy5fcG9pbnQuc3VidHJhY3QobiksdGhpcy5fcG9pbnQuYWRkKG4pKX0sX3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX21hcCYmdGhpcy5fdXBkYXRlUGF0aCgpfSxfdXBkYXRlUGF0aDpmdW5jdGlvbigpe3RoaXMuX3JlbmRlcmVyLl91cGRhdGVDaXJjbGUodGhpcyl9LF9lbXB0eTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yYWRpdXMmJiF0aGlzLl9yZW5kZXJlci5fYm91bmRzLmludGVyc2VjdHModGhpcy5fcHhCb3VuZHMpfSxfY29udGFpbnNQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gdC5kaXN0YW5jZVRvKHRoaXMuX3BvaW50KTw9dGhpcy5fcmFkaXVzK3RoaXMuX2NsaWNrVG9sZXJhbmNlKCl9fSksZW49dG4uZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsZSxuKXtpZigibnVtYmVyIj09dHlwZW9mIGUmJihlPWkoe30sbix7cmFkaXVzOmV9KSksbCh0aGlzLGUpLHRoaXMuX2xhdGxuZz1DKHQpLGlzTmFOKHRoaXMub3B0aW9ucy5yYWRpdXMpKXRocm93IG5ldyBFcnJvcigiQ2lyY2xlIHJhZGl1cyBjYW5ub3QgYmUgTmFOIik7dGhpcy5fbVJhZGl1cz10aGlzLm9wdGlvbnMucmFkaXVzfSxzZXRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21SYWRpdXM9dCx0aGlzLnJlZHJhdygpfSxnZXRSYWRpdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbVJhZGl1c30sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9W3RoaXMuX3JhZGl1cyx0aGlzLl9yYWRpdXNZfHx0aGlzLl9yYWRpdXNdO3JldHVybiBuZXcgVCh0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMuX3BvaW50LnN1YnRyYWN0KHQpKSx0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMuX3BvaW50LmFkZCh0KSkpfSxzZXRTdHlsZTpRZS5wcm90b3R5cGUuc2V0U3R5bGUsX3Byb2plY3Q6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9sYXRsbmcubG5nLGk9dGhpcy5fbGF0bG5nLmxhdCxlPXRoaXMuX21hcCxuPWUub3B0aW9ucy5jcnM7aWYobi5kaXN0YW5jZT09PXBpLmRpc3RhbmNlKXt2YXIgbz1NYXRoLlBJLzE4MCxzPXRoaXMuX21SYWRpdXMvcGkuUi9vLHI9ZS5wcm9qZWN0KFtpK3MsdF0pLGE9ZS5wcm9qZWN0KFtpLXMsdF0pLGg9ci5hZGQoYSkuZGl2aWRlQnkoMiksdT1lLnVucHJvamVjdChoKS5sYXQsbD1NYXRoLmFjb3MoKE1hdGguY29zKHMqbyktTWF0aC5zaW4oaSpvKSpNYXRoLnNpbih1Km8pKS8oTWF0aC5jb3MoaSpvKSpNYXRoLmNvcyh1Km8pKSkvbzsoaXNOYU4obCl8fDA9PT1sKSYmKGw9cy9NYXRoLmNvcyhNYXRoLlBJLzE4MCppKSksdGhpcy5fcG9pbnQ9aC5zdWJ0cmFjdChlLmdldFBpeGVsT3JpZ2luKCkpLHRoaXMuX3JhZGl1cz1pc05hTihsKT8wOmgueC1lLnByb2plY3QoW3UsdC1sXSkueCx0aGlzLl9yYWRpdXNZPWgueS1yLnl9ZWxzZXt2YXIgYz1uLnVucHJvamVjdChuLnByb2plY3QodGhpcy5fbGF0bG5nKS5zdWJ0cmFjdChbdGhpcy5fbVJhZGl1cywwXSkpO3RoaXMuX3BvaW50PWUubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2xhdGxuZyksdGhpcy5fcmFkaXVzPXRoaXMuX3BvaW50LngtZS5sYXRMbmdUb0xheWVyUG9pbnQoYykueH10aGlzLl91cGRhdGVCb3VuZHMoKX19KSxubj1RZS5leHRlbmQoe29wdGlvbnM6e3Ntb290aEZhY3RvcjoxLG5vQ2xpcDohMX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe2wodGhpcyxpKSx0aGlzLl9zZXRMYXRMbmdzKHQpfSxnZXRMYXRMbmdzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhdGxuZ3N9LHNldExhdExuZ3M6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3NldExhdExuZ3ModCksdGhpcy5yZWRyYXcoKX0saXNFbXB0eTpmdW5jdGlvbigpe3JldHVybiF0aGlzLl9sYXRsbmdzLmxlbmd0aH0sY2xvc2VzdExheWVyUG9pbnQ6ZnVuY3Rpb24odCl7Zm9yKHZhciBpLGUsbj0xLzAsbz1udWxsLHM9RHQscj0wLGE9dGhpcy5fcGFydHMubGVuZ3RoO3I8YTtyKyspZm9yKHZhciBoPXRoaXMuX3BhcnRzW3JdLHU9MSxsPWgubGVuZ3RoO3U8bDt1Kyspe3ZhciBjPXModCxpPWhbdS0xXSxlPWhbdV0sITApO2M8biYmKG49YyxvPXModCxpLGUpKX1yZXR1cm4gbyYmKG8uZGlzdGFuY2U9TWF0aC5zcXJ0KG4pKSxvfSxnZXRDZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fbWFwKXRocm93IG5ldyBFcnJvcigiTXVzdCBhZGQgbGF5ZXIgdG8gbWFwIGJlZm9yZSB1c2luZyBnZXRDZW50ZXIoKSIpO3ZhciB0LGksZSxuLG8scyxyLGE9dGhpcy5fcmluZ3NbMF0saD1hLmxlbmd0aDtpZighaClyZXR1cm4gbnVsbDtmb3IodD0wLGk9MDt0PGgtMTt0KyspaSs9YVt0XS5kaXN0YW5jZVRvKGFbdCsxXSkvMjtpZigwPT09aSlyZXR1cm4gdGhpcy5fbWFwLmxheWVyUG9pbnRUb0xhdExuZyhhWzBdKTtmb3IodD0wLG49MDt0PGgtMTt0KyspaWYobz1hW3RdLHM9YVt0KzFdLGU9by5kaXN0YW5jZVRvKHMpLChuKz1lKT5pKXJldHVybiByPShuLWkpL2UsdGhpcy5fbWFwLmxheWVyUG9pbnRUb0xhdExuZyhbcy54LXIqKHMueC1vLngpLHMueS1yKihzLnktby55KV0pfSxnZXRCb3VuZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm91bmRzfSxhZGRMYXRMbmc6ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT1pfHx0aGlzLl9kZWZhdWx0U2hhcGUoKSx0PUModCksaS5wdXNoKHQpLHRoaXMuX2JvdW5kcy5leHRlbmQodCksdGhpcy5yZWRyYXcoKX0sX3NldExhdExuZ3M6ZnVuY3Rpb24odCl7dGhpcy5fYm91bmRzPW5ldyBULHRoaXMuX2xhdGxuZ3M9dGhpcy5fY29udmVydExhdExuZ3ModCl9LF9kZWZhdWx0U2hhcGU6ZnVuY3Rpb24oKXtyZXR1cm4ganQodGhpcy5fbGF0bG5ncyk/dGhpcy5fbGF0bG5nczp0aGlzLl9sYXRsbmdzWzBdfSxfY29udmVydExhdExuZ3M6ZnVuY3Rpb24odCl7Zm9yKHZhciBpPVtdLGU9anQodCksbj0wLG89dC5sZW5ndGg7bjxvO24rKyllPyhpW25dPUModFtuXSksdGhpcy5fYm91bmRzLmV4dGVuZChpW25dKSk6aVtuXT10aGlzLl9jb252ZXJ0TGF0TG5ncyh0W25dKTtyZXR1cm4gaX0sX3Byb2plY3Q6ZnVuY3Rpb24oKXt2YXIgdD1uZXcgUDt0aGlzLl9yaW5ncz1bXSx0aGlzLl9wcm9qZWN0TGF0bG5ncyh0aGlzLl9sYXRsbmdzLHRoaXMuX3JpbmdzLHQpO3ZhciBpPXRoaXMuX2NsaWNrVG9sZXJhbmNlKCksZT1uZXcgeChpLGkpO3RoaXMuX2JvdW5kcy5pc1ZhbGlkKCkmJnQuaXNWYWxpZCgpJiYodC5taW4uX3N1YnRyYWN0KGUpLHQubWF4Ll9hZGQoZSksdGhpcy5fcHhCb3VuZHM9dCl9LF9wcm9qZWN0TGF0bG5nczpmdW5jdGlvbih0LGksZSl7dmFyIG4sbyxzPXRbMF1pbnN0YW5jZW9mIE0scj10Lmxlbmd0aDtpZihzKXtmb3Iobz1bXSxuPTA7bjxyO24rKylvW25dPXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodFtuXSksZS5leHRlbmQob1tuXSk7aS5wdXNoKG8pfWVsc2UgZm9yKG49MDtuPHI7bisrKXRoaXMuX3Byb2plY3RMYXRsbmdzKHRbbl0saSxlKX0sX2NsaXBQb2ludHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZW5kZXJlci5fYm91bmRzO2lmKHRoaXMuX3BhcnRzPVtdLHRoaXMuX3B4Qm91bmRzJiZ0aGlzLl9weEJvdW5kcy5pbnRlcnNlY3RzKHQpKWlmKHRoaXMub3B0aW9ucy5ub0NsaXApdGhpcy5fcGFydHM9dGhpcy5fcmluZ3M7ZWxzZXt2YXIgaSxlLG4sbyxzLHIsYSxoPXRoaXMuX3BhcnRzO2ZvcihpPTAsbj0wLG89dGhpcy5fcmluZ3MubGVuZ3RoO2k8bztpKyspZm9yKGU9MCxzPShhPXRoaXMuX3JpbmdzW2ldKS5sZW5ndGg7ZTxzLTE7ZSsrKShyPUl0KGFbZV0sYVtlKzFdLHQsZSwhMCkpJiYoaFtuXT1oW25dfHxbXSxoW25dLnB1c2goclswXSksclsxXT09PWFbZSsxXSYmZSE9PXMtMnx8KGhbbl0ucHVzaChyWzFdKSxuKyspKX19LF9zaW1wbGlmeVBvaW50czpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl9wYXJ0cyxpPXRoaXMub3B0aW9ucy5zbW9vdGhGYWN0b3IsZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0W2VdPVp0KHRbZV0saSl9LF91cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJih0aGlzLl9jbGlwUG9pbnRzKCksdGhpcy5fc2ltcGxpZnlQb2ludHMoKSx0aGlzLl91cGRhdGVQYXRoKCkpfSxfdXBkYXRlUGF0aDpmdW5jdGlvbigpe3RoaXMuX3JlbmRlcmVyLl91cGRhdGVQb2x5KHRoaXMpfSxfY29udGFpbnNQb2ludDpmdW5jdGlvbih0LGkpe3ZhciBlLG4sbyxzLHIsYSxoPXRoaXMuX2NsaWNrVG9sZXJhbmNlKCk7aWYoIXRoaXMuX3B4Qm91bmRzfHwhdGhpcy5fcHhCb3VuZHMuY29udGFpbnModCkpcmV0dXJuITE7Zm9yKGU9MCxzPXRoaXMuX3BhcnRzLmxlbmd0aDtlPHM7ZSsrKWZvcihuPTAsbz0ocj0oYT10aGlzLl9wYXJ0c1tlXSkubGVuZ3RoKS0xO248cjtvPW4rKylpZigoaXx8MCE9PW4pJiZFdCh0LGFbb10sYVtuXSk8PWgpcmV0dXJuITA7cmV0dXJuITF9fSk7bm4uX2ZsYXQ9V3Q7dmFyIG9uPW5uLmV4dGVuZCh7b3B0aW9uczp7ZmlsbDohMH0saXNFbXB0eTpmdW5jdGlvbigpe3JldHVybiF0aGlzLl9sYXRsbmdzLmxlbmd0aHx8IXRoaXMuX2xhdGxuZ3NbMF0ubGVuZ3RofSxnZXRDZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fbWFwKXRocm93IG5ldyBFcnJvcigiTXVzdCBhZGQgbGF5ZXIgdG8gbWFwIGJlZm9yZSB1c2luZyBnZXRDZW50ZXIoKSIpO3ZhciB0LGksZSxuLG8scyxyLGEsaCx1PXRoaXMuX3JpbmdzWzBdLGw9dS5sZW5ndGg7aWYoIWwpcmV0dXJuIG51bGw7Zm9yKHM9cj1hPTAsdD0wLGk9bC0xO3Q8bDtpPXQrKyllPXVbdF0sbj11W2ldLG89ZS55Km4ueC1uLnkqZS54LHIrPShlLngrbi54KSpvLGErPShlLnkrbi55KSpvLHMrPTMqbztyZXR1cm4gaD0wPT09cz91WzBdOltyL3MsYS9zXSx0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKGgpfSxfY29udmVydExhdExuZ3M6ZnVuY3Rpb24odCl7dmFyIGk9bm4ucHJvdG90eXBlLl9jb252ZXJ0TGF0TG5ncy5jYWxsKHRoaXMsdCksZT1pLmxlbmd0aDtyZXR1cm4gZT49MiYmaVswXWluc3RhbmNlb2YgTSYmaVswXS5lcXVhbHMoaVtlLTFdKSYmaS5wb3AoKSxpfSxfc2V0TGF0TG5nczpmdW5jdGlvbih0KXtubi5wcm90b3R5cGUuX3NldExhdExuZ3MuY2FsbCh0aGlzLHQpLGp0KHRoaXMuX2xhdGxuZ3MpJiYodGhpcy5fbGF0bG5ncz1bdGhpcy5fbGF0bG5nc10pfSxfZGVmYXVsdFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIGp0KHRoaXMuX2xhdGxuZ3NbMF0pP3RoaXMuX2xhdGxuZ3NbMF06dGhpcy5fbGF0bG5nc1swXVswXX0sX2NsaXBQb2ludHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZW5kZXJlci5fYm91bmRzLGk9dGhpcy5vcHRpb25zLndlaWdodCxlPW5ldyB4KGksaSk7aWYodD1uZXcgUCh0Lm1pbi5zdWJ0cmFjdChlKSx0Lm1heC5hZGQoZSkpLHRoaXMuX3BhcnRzPVtdLHRoaXMuX3B4Qm91bmRzJiZ0aGlzLl9weEJvdW5kcy5pbnRlcnNlY3RzKHQpKWlmKHRoaXMub3B0aW9ucy5ub0NsaXApdGhpcy5fcGFydHM9dGhpcy5fcmluZ3M7ZWxzZSBmb3IodmFyIG4sbz0wLHM9dGhpcy5fcmluZ3MubGVuZ3RoO288cztvKyspKG49SHQodGhpcy5fcmluZ3Nbb10sdCwhMCkpLmxlbmd0aCYmdGhpcy5fcGFydHMucHVzaChuKX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24oKXt0aGlzLl9yZW5kZXJlci5fdXBkYXRlUG9seSh0aGlzLCEwKX0sX2NvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24odCl7dmFyIGksZSxuLG8scyxyLGEsaCx1PSExO2lmKCF0aGlzLl9weEJvdW5kc3x8IXRoaXMuX3B4Qm91bmRzLmNvbnRhaW5zKHQpKXJldHVybiExO2ZvcihvPTAsYT10aGlzLl9wYXJ0cy5sZW5ndGg7bzxhO28rKylmb3Iocz0wLHI9KGg9KGk9dGhpcy5fcGFydHNbb10pLmxlbmd0aCktMTtzPGg7cj1zKyspZT1pW3NdLG49aVtyXSxlLnk+dC55IT1uLnk+dC55JiZ0Lng8KG4ueC1lLngpKih0LnktZS55KS8obi55LWUueSkrZS54JiYodT0hdSk7cmV0dXJuIHV8fG5uLnByb3RvdHlwZS5fY29udGFpbnNQb2ludC5jYWxsKHRoaXMsdCwhMCl9fSksc249S2UuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7bCh0aGlzLGkpLHRoaXMuX2xheWVycz17fSx0JiZ0aGlzLmFkZERhdGEodCl9LGFkZERhdGE6ZnVuY3Rpb24odCl7dmFyIGksZSxuLG89b2kodCk/dDp0LmZlYXR1cmVzO2lmKG8pe2ZvcihpPTAsZT1vLmxlbmd0aDtpPGU7aSsrKSgobj1vW2ldKS5nZW9tZXRyaWVzfHxuLmdlb21ldHJ5fHxuLmZlYXR1cmVzfHxuLmNvb3JkaW5hdGVzKSYmdGhpcy5hZGREYXRhKG4pO3JldHVybiB0aGlzfXZhciBzPXRoaXMub3B0aW9ucztpZihzLmZpbHRlciYmIXMuZmlsdGVyKHQpKXJldHVybiB0aGlzO3ZhciByPUZ0KHQscyk7cmV0dXJuIHI/KHIuZmVhdHVyZT1ZdCh0KSxyLmRlZmF1bHRPcHRpb25zPXIub3B0aW9ucyx0aGlzLnJlc2V0U3R5bGUocikscy5vbkVhY2hGZWF0dXJlJiZzLm9uRWFjaEZlYXR1cmUodCxyKSx0aGlzLmFkZExheWVyKHIpKTp0aGlzfSxyZXNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm9wdGlvbnM9aSh7fSx0LmRlZmF1bHRPcHRpb25zKSx0aGlzLl9zZXRMYXllclN0eWxlKHQsdGhpcy5vcHRpb25zLnN0eWxlKSx0aGlzfSxzZXRTdHlsZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoTGF5ZXIoZnVuY3Rpb24oaSl7dGhpcy5fc2V0TGF5ZXJTdHlsZShpLHQpfSx0aGlzKX0sX3NldExheWVyU3R5bGU6ZnVuY3Rpb24odCxpKXsiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGk9aSh0LmZlYXR1cmUpKSx0LnNldFN0eWxlJiZ0LnNldFN0eWxlKGkpfX0pLHJuPXt0b0dlb0pTT046ZnVuY3Rpb24odCl7cmV0dXJuIEt0KHRoaXMse3R5cGU6IlBvaW50Iixjb29yZGluYXRlczpxdCh0aGlzLmdldExhdExuZygpLHQpfSl9fTskZS5pbmNsdWRlKHJuKSxlbi5pbmNsdWRlKHJuKSx0bi5pbmNsdWRlKHJuKSxubi5pbmNsdWRlKHt0b0dlb0pTT046ZnVuY3Rpb24odCl7dmFyIGk9IWp0KHRoaXMuX2xhdGxuZ3MpLGU9R3QodGhpcy5fbGF0bG5ncyxpPzE6MCwhMSx0KTtyZXR1cm4gS3QodGhpcyx7dHlwZTooaT8iTXVsdGkiOiIiKSsiTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6ZX0pfX0pLG9uLmluY2x1ZGUoe3RvR2VvSlNPTjpmdW5jdGlvbih0KXt2YXIgaT0hanQodGhpcy5fbGF0bG5ncyksZT1pJiYhanQodGhpcy5fbGF0bG5nc1swXSksbj1HdCh0aGlzLl9sYXRsbmdzLGU/MjppPzE6MCwhMCx0KTtyZXR1cm4gaXx8KG49W25dKSxLdCh0aGlzLHt0eXBlOihlPyJNdWx0aSI6IiIpKyJQb2x5Z29uIixjb29yZGluYXRlczpufSl9fSksR2UuaW5jbHVkZSh7dG9NdWx0aVBvaW50OmZ1bmN0aW9uKHQpe3ZhciBpPVtdO3JldHVybiB0aGlzLmVhY2hMYXllcihmdW5jdGlvbihlKXtpLnB1c2goZS50b0dlb0pTT04odCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXMpfSksS3QodGhpcyx7dHlwZToiTXVsdGlQb2ludCIsY29vcmRpbmF0ZXM6aX0pfSx0b0dlb0pTT046ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5mZWF0dXJlJiZ0aGlzLmZlYXR1cmUuZ2VvbWV0cnkmJnRoaXMuZmVhdHVyZS5nZW9tZXRyeS50eXBlO2lmKCJNdWx0aVBvaW50Ij09PWkpcmV0dXJuIHRoaXMudG9NdWx0aVBvaW50KHQpO3ZhciBlPSJHZW9tZXRyeUNvbGxlY3Rpb24iPT09aSxuPVtdO3JldHVybiB0aGlzLmVhY2hMYXllcihmdW5jdGlvbihpKXtpZihpLnRvR2VvSlNPTil7dmFyIG89aS50b0dlb0pTT04odCk7aWYoZSluLnB1c2goby5nZW9tZXRyeSk7ZWxzZXt2YXIgcz1ZdChvKTsiRmVhdHVyZUNvbGxlY3Rpb24iPT09cy50eXBlP24ucHVzaC5hcHBseShuLHMuZmVhdHVyZXMpOm4ucHVzaChzKX19fSksZT9LdCh0aGlzLHtnZW9tZXRyaWVzOm4sdHlwZToiR2VvbWV0cnlDb2xsZWN0aW9uIn0pOnt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiIsZmVhdHVyZXM6bn19fSk7dmFyIGFuPVh0LGhuPXFlLmV4dGVuZCh7b3B0aW9uczp7b3BhY2l0eToxLGFsdDoiIixpbnRlcmFjdGl2ZTohMSxjcm9zc09yaWdpbjohMSxlcnJvck92ZXJsYXlVcmw6IiIsekluZGV4OjEsY2xhc3NOYW1lOiIifSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSxlKXt0aGlzLl91cmw9dCx0aGlzLl9ib3VuZHM9eihpKSxsKHRoaXMsZSl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5faW1hZ2V8fCh0aGlzLl9pbml0SW1hZ2UoKSx0aGlzLm9wdGlvbnMub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCkpLHRoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmKFEodGhpcy5faW1hZ2UsImxlYWZsZXQtaW50ZXJhY3RpdmUiKSx0aGlzLmFkZEludGVyYWN0aXZlVGFyZ2V0KHRoaXMuX2ltYWdlKSksdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5faW1hZ2UpLHRoaXMuX3Jlc2V0KCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7Syh0aGlzLl9pbWFnZSksdGhpcy5vcHRpb25zLmludGVyYWN0aXZlJiZ0aGlzLnJlbW92ZUludGVyYWN0aXZlVGFyZ2V0KHRoaXMuX2ltYWdlKX0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm9wYWNpdHk9dCx0aGlzLl9pbWFnZSYmdGhpcy5fdXBkYXRlT3BhY2l0eSgpLHRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm9wYWNpdHkmJnRoaXMuc2V0T3BhY2l0eSh0Lm9wYWNpdHkpLHRoaXN9LGJyaW5nVG9Gcm9udDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJlgodGhpcy5faW1hZ2UpLHRoaXN9LGJyaW5nVG9CYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmSih0aGlzLl9pbWFnZSksdGhpc30sc2V0VXJsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl91cmw9dCx0aGlzLl9pbWFnZSYmKHRoaXMuX2ltYWdlLnNyYz10KSx0aGlzfSxzZXRCb3VuZHM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2JvdW5kcz16KHQpLHRoaXMuX21hcCYmdGhpcy5fcmVzZXQoKSx0aGlzfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD17em9vbTp0aGlzLl9yZXNldCx2aWV3cmVzZXQ6dGhpcy5fcmVzZXR9O3JldHVybiB0aGlzLl96b29tQW5pbWF0ZWQmJih0Lnpvb21hbmltPXRoaXMuX2FuaW1hdGVab29tKSx0fSxzZXRaSW5kZXg6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy56SW5kZXg9dCx0aGlzLl91cGRhdGVaSW5kZXgoKSx0aGlzfSxnZXRCb3VuZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYm91bmRzfSxnZXRFbGVtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ltYWdlfSxfaW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIHQ9IklNRyI9PT10aGlzLl91cmwudGFnTmFtZSxpPXRoaXMuX2ltYWdlPXQ/dGhpcy5fdXJsOkcoImltZyIpO1EoaSwibGVhZmxldC1pbWFnZS1sYXllciIpLHRoaXMuX3pvb21BbmltYXRlZCYmUShpLCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lJiZRKGksdGhpcy5vcHRpb25zLmNsYXNzTmFtZSksaS5vbnNlbGVjdHN0YXJ0PXIsaS5vbm1vdXNlbW92ZT1yLGkub25sb2FkPWUodGhpcy5maXJlLHRoaXMsImxvYWQiKSxpLm9uZXJyb3I9ZSh0aGlzLl9vdmVybGF5T25FcnJvcix0aGlzLCJlcnJvciIpLCh0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW58fCIiPT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luKSYmKGkuY3Jvc3NPcmlnaW49ITA9PT10aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4/IiI6dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luKSx0aGlzLm9wdGlvbnMuekluZGV4JiZ0aGlzLl91cGRhdGVaSW5kZXgoKSx0P3RoaXMuX3VybD1pLnNyYzooaS5zcmM9dGhpcy5fdXJsLGkuYWx0PXRoaXMub3B0aW9ucy5hbHQpfSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLmdldFpvb21TY2FsZSh0Lnpvb20pLGU9dGhpcy5fbWFwLl9sYXRMbmdCb3VuZHNUb05ld0xheWVyQm91bmRzKHRoaXMuX2JvdW5kcyx0Lnpvb20sdC5jZW50ZXIpLm1pbjtydCh0aGlzLl9pbWFnZSxlLGkpfSxfcmVzZXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9pbWFnZSxpPW5ldyBQKHRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fYm91bmRzLmdldE5vcnRoV2VzdCgpKSx0aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2JvdW5kcy5nZXRTb3V0aEVhc3QoKSkpLGU9aS5nZXRTaXplKCk7YXQodCxpLm1pbiksdC5zdHlsZS53aWR0aD1lLngrInB4Iix0LnN0eWxlLmhlaWdodD1lLnkrInB4In0sX3VwZGF0ZU9wYWNpdHk6ZnVuY3Rpb24oKXtudCh0aGlzLl9pbWFnZSx0aGlzLm9wdGlvbnMub3BhY2l0eSl9LF91cGRhdGVaSW5kZXg6ZnVuY3Rpb24oKXt0aGlzLl9pbWFnZSYmdm9pZCAwIT09dGhpcy5vcHRpb25zLnpJbmRleCYmbnVsbCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLl9pbWFnZS5zdHlsZS56SW5kZXg9dGhpcy5vcHRpb25zLnpJbmRleCl9LF9vdmVybGF5T25FcnJvcjpmdW5jdGlvbigpe3RoaXMuZmlyZSgiZXJyb3IiKTt2YXIgdD10aGlzLm9wdGlvbnMuZXJyb3JPdmVybGF5VXJsO3QmJnRoaXMuX3VybCE9PXQmJih0aGlzLl91cmw9dCx0aGlzLl9pbWFnZS5zcmM9dCl9fSksdW49aG4uZXh0ZW5kKHtvcHRpb25zOnthdXRvcGxheTohMCxsb29wOiEwfSxfaW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIHQ9IlZJREVPIj09PXRoaXMuX3VybC50YWdOYW1lLGk9dGhpcy5faW1hZ2U9dD90aGlzLl91cmw6RygidmlkZW8iKTtpZihRKGksImxlYWZsZXQtaW1hZ2UtbGF5ZXIiKSx0aGlzLl96b29tQW5pbWF0ZWQmJlEoaSwibGVhZmxldC16b29tLWFuaW1hdGVkIiksaS5vbnNlbGVjdHN0YXJ0PXIsaS5vbm1vdXNlbW92ZT1yLGkub25sb2FkZWRkYXRhPWUodGhpcy5maXJlLHRoaXMsImxvYWQiKSx0KXtmb3IodmFyIG49aS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic291cmNlIiksbz1bXSxzPTA7czxuLmxlbmd0aDtzKyspby5wdXNoKG5bc10uc3JjKTt0aGlzLl91cmw9bi5sZW5ndGg+MD9vOltpLnNyY119ZWxzZXtvaSh0aGlzLl91cmwpfHwodGhpcy5fdXJsPVt0aGlzLl91cmxdKSxpLmF1dG9wbGF5PSEhdGhpcy5vcHRpb25zLmF1dG9wbGF5LGkubG9vcD0hIXRoaXMub3B0aW9ucy5sb29wO2Zvcih2YXIgYT0wO2E8dGhpcy5fdXJsLmxlbmd0aDthKyspe3ZhciBoPUcoInNvdXJjZSIpO2guc3JjPXRoaXMuX3VybFthXSxpLmFwcGVuZENoaWxkKGgpfX19fSksbG49cWUuZXh0ZW5kKHtvcHRpb25zOntvZmZzZXQ6WzAsN10sY2xhc3NOYW1lOiIiLHBhbmU6InBvcHVwUGFuZSJ9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxpKXtsKHRoaXMsdCksdGhpcy5fc291cmNlPWl9LG9uQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX3pvb21BbmltYXRlZD10Ll96b29tQW5pbWF0ZWQsdGhpcy5fY29udGFpbmVyfHx0aGlzLl9pbml0TGF5b3V0KCksdC5fZmFkZUFuaW1hdGVkJiZudCh0aGlzLl9jb250YWluZXIsMCksY2xlYXJUaW1lb3V0KHRoaXMuX3JlbW92ZVRpbWVvdXQpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy51cGRhdGUoKSx0Ll9mYWRlQW5pbWF0ZWQmJm50KHRoaXMuX2NvbnRhaW5lciwxKSx0aGlzLmJyaW5nVG9Gcm9udCgpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Ll9mYWRlQW5pbWF0ZWQ/KG50KHRoaXMuX2NvbnRhaW5lciwwKSx0aGlzLl9yZW1vdmVUaW1lb3V0PXNldFRpbWVvdXQoZShLLHZvaWQgMCx0aGlzLl9jb250YWluZXIpLDIwMCkpOksodGhpcy5fY29udGFpbmVyKX0sZ2V0TGF0TG5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhdGxuZ30sc2V0TGF0TG5nOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9sYXRsbmc9Qyh0KSx0aGlzLl9tYXAmJih0aGlzLl91cGRhdGVQb3NpdGlvbigpLHRoaXMuX2FkanVzdFBhbigpKSx0aGlzfSxnZXRDb250ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRlbnR9LHNldENvbnRlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NvbnRlbnQ9dCx0aGlzLnVwZGF0ZSgpLHRoaXN9LGdldEVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSx1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJih0aGlzLl9jb250YWluZXIuc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLl91cGRhdGVDb250ZW50KCksdGhpcy5fdXBkYXRlTGF5b3V0KCksdGhpcy5fdXBkYXRlUG9zaXRpb24oKSx0aGlzLl9jb250YWluZXIuc3R5bGUudmlzaWJpbGl0eT0iIix0aGlzLl9hZGp1c3RQYW4oKSl9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PXt6b29tOnRoaXMuX3VwZGF0ZVBvc2l0aW9uLHZpZXdyZXNldDp0aGlzLl91cGRhdGVQb3NpdGlvbn07cmV0dXJuIHRoaXMuX3pvb21BbmltYXRlZCYmKHQuem9vbWFuaW09dGhpcy5fYW5pbWF0ZVpvb20pLHR9LGlzT3BlbjpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fbWFwJiZ0aGlzLl9tYXAuaGFzTGF5ZXIodGhpcyl9LGJyaW5nVG9Gcm9udDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJlgodGhpcy5fY29udGFpbmVyKSx0aGlzfSxicmluZ1RvQmFjazpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJkoodGhpcy5fY29udGFpbmVyKSx0aGlzfSxfdXBkYXRlQ29udGVudDpmdW5jdGlvbigpe2lmKHRoaXMuX2NvbnRlbnQpe3ZhciB0PXRoaXMuX2NvbnRlbnROb2RlLGk9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2NvbnRlbnQ/dGhpcy5fY29udGVudCh0aGlzLl9zb3VyY2V8fHRoaXMpOnRoaXMuX2NvbnRlbnQ7aWYoInN0cmluZyI9PXR5cGVvZiBpKXQuaW5uZXJIVE1MPWk7ZWxzZXtmb3IoO3QuaGFzQ2hpbGROb2RlcygpOyl0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCk7dC5hcHBlbmRDaGlsZChpKX10aGlzLmZpcmUoImNvbnRlbnR1cGRhdGUiKX19LF91cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXMuX21hcCl7dmFyIHQ9dGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpLGk9dyh0aGlzLm9wdGlvbnMub2Zmc2V0KSxlPXRoaXMuX2dldEFuY2hvcigpO3RoaXMuX3pvb21BbmltYXRlZD9hdCh0aGlzLl9jb250YWluZXIsdC5hZGQoZSkpOmk9aS5hZGQodCkuYWRkKGUpO3ZhciBuPXRoaXMuX2NvbnRhaW5lckJvdHRvbT0taS55LG89dGhpcy5fY29udGFpbmVyTGVmdD0tTWF0aC5yb3VuZCh0aGlzLl9jb250YWluZXJXaWR0aC8yKStpLng7dGhpcy5fY29udGFpbmVyLnN0eWxlLmJvdHRvbT1uKyJweCIsdGhpcy5fY29udGFpbmVyLnN0eWxlLmxlZnQ9bysicHgifX0sX2dldEFuY2hvcjpmdW5jdGlvbigpe3JldHVyblswLDBdfX0pLGNuPWxuLmV4dGVuZCh7b3B0aW9uczp7bWF4V2lkdGg6MzAwLG1pbldpZHRoOjUwLG1heEhlaWdodDpudWxsLGF1dG9QYW46ITAsYXV0b1BhblBhZGRpbmdUb3BMZWZ0Om51bGwsYXV0b1BhblBhZGRpbmdCb3R0b21SaWdodDpudWxsLGF1dG9QYW5QYWRkaW5nOls1LDVdLGtlZXBJblZpZXc6ITEsY2xvc2VCdXR0b246ITAsYXV0b0Nsb3NlOiEwLGNsb3NlT25Fc2NhcGVLZXk6ITAsY2xhc3NOYW1lOiIifSxvcGVuT246ZnVuY3Rpb24odCl7cmV0dXJuIHQub3BlblBvcHVwKHRoaXMpLHRoaXN9LG9uQWRkOmZ1bmN0aW9uKHQpe2xuLnByb3RvdHlwZS5vbkFkZC5jYWxsKHRoaXMsdCksdC5maXJlKCJwb3B1cG9wZW4iLHtwb3B1cDp0aGlzfSksdGhpcy5fc291cmNlJiYodGhpcy5fc291cmNlLmZpcmUoInBvcHVwb3BlbiIse3BvcHVwOnRoaXN9LCEwKSx0aGlzLl9zb3VyY2UgaW5zdGFuY2VvZiBRZXx8dGhpcy5fc291cmNlLm9uKCJwcmVjbGljayIseXQpKX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7bG4ucHJvdG90eXBlLm9uUmVtb3ZlLmNhbGwodGhpcyx0KSx0LmZpcmUoInBvcHVwY2xvc2UiLHtwb3B1cDp0aGlzfSksdGhpcy5fc291cmNlJiYodGhpcy5fc291cmNlLmZpcmUoInBvcHVwY2xvc2UiLHtwb3B1cDp0aGlzfSwhMCksdGhpcy5fc291cmNlIGluc3RhbmNlb2YgUWV8fHRoaXMuX3NvdXJjZS5vZmYoInByZWNsaWNrIix5dCkpfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD1sbi5wcm90b3R5cGUuZ2V0RXZlbnRzLmNhbGwodGhpcyk7cmV0dXJuKHZvaWQgMCE9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s/dGhpcy5vcHRpb25zLmNsb3NlT25DbGljazp0aGlzLl9tYXAub3B0aW9ucy5jbG9zZVBvcHVwT25DbGljaykmJih0LnByZWNsaWNrPXRoaXMuX2Nsb3NlKSx0aGlzLm9wdGlvbnMua2VlcEluVmlldyYmKHQubW92ZWVuZD10aGlzLl9hZGp1c3RQYW4pLHR9LF9jbG9zZTpmdW5jdGlvbigpe3RoaXMuX21hcCYmdGhpcy5fbWFwLmNsb3NlUG9wdXAodGhpcyl9LF9pbml0TGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9ImxlYWZsZXQtcG9wdXAiLGk9dGhpcy5fY29udGFpbmVyPUcoImRpdiIsdCsiICIrKHRoaXMub3B0aW9ucy5jbGFzc05hbWV8fCIiKSsiIGxlYWZsZXQtem9vbS1hbmltYXRlZCIpLGU9dGhpcy5fd3JhcHBlcj1HKCJkaXYiLHQrIi1jb250ZW50LXdyYXBwZXIiLGkpO2lmKHRoaXMuX2NvbnRlbnROb2RlPUcoImRpdiIsdCsiLWNvbnRlbnQiLGUpLHd0KGUpLHh0KHRoaXMuX2NvbnRlbnROb2RlKSxtdChlLCJjb250ZXh0bWVudSIseXQpLHRoaXMuX3RpcENvbnRhaW5lcj1HKCJkaXYiLHQrIi10aXAtY29udGFpbmVyIixpKSx0aGlzLl90aXA9RygiZGl2Iix0KyItdGlwIix0aGlzLl90aXBDb250YWluZXIpLHRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbil7dmFyIG49dGhpcy5fY2xvc2VCdXR0b249RygiYSIsdCsiLWNsb3NlLWJ1dHRvbiIsaSk7bi5ocmVmPSIjY2xvc2UiLG4uaW5uZXJIVE1MPSImIzIxNTsiLG10KG4sImNsaWNrIix0aGlzLl9vbkNsb3NlQnV0dG9uQ2xpY2ssdGhpcyl9fSxfdXBkYXRlTGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29udGVudE5vZGUsaT10LnN0eWxlO2kud2lkdGg9IiIsaS53aGl0ZVNwYWNlPSJub3dyYXAiO3ZhciBlPXQub2Zmc2V0V2lkdGg7ZT1NYXRoLm1pbihlLHRoaXMub3B0aW9ucy5tYXhXaWR0aCksZT1NYXRoLm1heChlLHRoaXMub3B0aW9ucy5taW5XaWR0aCksaS53aWR0aD1lKzErInB4IixpLndoaXRlU3BhY2U9IiIsaS5oZWlnaHQ9IiI7dmFyIG49dC5vZmZzZXRIZWlnaHQsbz10aGlzLm9wdGlvbnMubWF4SGVpZ2h0O28mJm4+bz8oaS5oZWlnaHQ9bysicHgiLFEodCwibGVhZmxldC1wb3B1cC1zY3JvbGxlZCIpKTp0dCh0LCJsZWFmbGV0LXBvcHVwLXNjcm9sbGVkIiksdGhpcy5fY29udGFpbmVyV2lkdGg9dGhpcy5fY29udGFpbmVyLm9mZnNldFdpZHRofSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLHQuem9vbSx0LmNlbnRlciksZT10aGlzLl9nZXRBbmNob3IoKTthdCh0aGlzLl9jb250YWluZXIsaS5hZGQoZSkpfSxfYWRqdXN0UGFuOmZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmF1dG9QYW4pe3RoaXMuX21hcC5fcGFuQW5pbSYmdGhpcy5fbWFwLl9wYW5BbmltLnN0b3AoKTt2YXIgdD10aGlzLl9tYXAsaT1wYXJzZUludChxKHRoaXMuX2NvbnRhaW5lciwibWFyZ2luQm90dG9tIiksMTApfHwwLGU9dGhpcy5fY29udGFpbmVyLm9mZnNldEhlaWdodCtpLG49dGhpcy5fY29udGFpbmVyV2lkdGgsbz1uZXcgeCh0aGlzLl9jb250YWluZXJMZWZ0LC1lLXRoaXMuX2NvbnRhaW5lckJvdHRvbSk7by5fYWRkKGh0KHRoaXMuX2NvbnRhaW5lcikpO3ZhciBzPXQubGF5ZXJQb2ludFRvQ29udGFpbmVyUG9pbnQobykscj13KHRoaXMub3B0aW9ucy5hdXRvUGFuUGFkZGluZyksYT13KHRoaXMub3B0aW9ucy5hdXRvUGFuUGFkZGluZ1RvcExlZnR8fHIpLGg9dyh0aGlzLm9wdGlvbnMuYXV0b1BhblBhZGRpbmdCb3R0b21SaWdodHx8ciksdT10LmdldFNpemUoKSxsPTAsYz0wO3MueCtuK2gueD51LngmJihsPXMueCtuLXUueCtoLngpLHMueC1sLWEueDwwJiYobD1zLngtYS54KSxzLnkrZStoLnk+dS55JiYoYz1zLnkrZS11LnkraC55KSxzLnktYy1hLnk8MCYmKGM9cy55LWEueSksKGx8fGMpJiZ0LmZpcmUoImF1dG9wYW5zdGFydCIpLnBhbkJ5KFtsLGNdKX19LF9vbkNsb3NlQnV0dG9uQ2xpY2s6ZnVuY3Rpb24odCl7dGhpcy5fY2xvc2UoKSxMdCh0KX0sX2dldEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB3KHRoaXMuX3NvdXJjZSYmdGhpcy5fc291cmNlLl9nZXRQb3B1cEFuY2hvcj90aGlzLl9zb3VyY2UuX2dldFBvcHVwQW5jaG9yKCk6WzAsMF0pfX0pO2JlLm1lcmdlT3B0aW9ucyh7Y2xvc2VQb3B1cE9uQ2xpY2s6ITB9KSxiZS5pbmNsdWRlKHtvcGVuUG9wdXA6ZnVuY3Rpb24odCxpLGUpe3JldHVybiB0IGluc3RhbmNlb2YgY258fCh0PW5ldyBjbihlKS5zZXRDb250ZW50KHQpKSxpJiZ0LnNldExhdExuZyhpKSx0aGlzLmhhc0xheWVyKHQpP3RoaXM6KHRoaXMuX3BvcHVwJiZ0aGlzLl9wb3B1cC5vcHRpb25zLmF1dG9DbG9zZSYmdGhpcy5jbG9zZVBvcHVwKCksdGhpcy5fcG9wdXA9dCx0aGlzLmFkZExheWVyKHQpKX0sY2xvc2VQb3B1cDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdCE9PXRoaXMuX3BvcHVwfHwodD10aGlzLl9wb3B1cCx0aGlzLl9wb3B1cD1udWxsKSx0JiZ0aGlzLnJlbW92ZUxheWVyKHQpLHRoaXN9fSkscWUuaW5jbHVkZSh7YmluZFBvcHVwOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQgaW5zdGFuY2VvZiBjbj8obCh0LGkpLHRoaXMuX3BvcHVwPXQsdC5fc291cmNlPXRoaXMpOih0aGlzLl9wb3B1cCYmIWl8fCh0aGlzLl9wb3B1cD1uZXcgY24oaSx0aGlzKSksdGhpcy5fcG9wdXAuc2V0Q29udGVudCh0KSksdGhpcy5fcG9wdXBIYW5kbGVyc0FkZGVkfHwodGhpcy5vbih7Y2xpY2s6dGhpcy5fb3BlblBvcHVwLGtleXByZXNzOnRoaXMuX29uS2V5UHJlc3MscmVtb3ZlOnRoaXMuY2xvc2VQb3B1cCxtb3ZlOnRoaXMuX21vdmVQb3B1cH0pLHRoaXMuX3BvcHVwSGFuZGxlcnNBZGRlZD0hMCksdGhpc30sdW5iaW5kUG9wdXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9wdXAmJih0aGlzLm9mZih7Y2xpY2s6dGhpcy5fb3BlblBvcHVwLGtleXByZXNzOnRoaXMuX29uS2V5UHJlc3MscmVtb3ZlOnRoaXMuY2xvc2VQb3B1cCxtb3ZlOnRoaXMuX21vdmVQb3B1cH0pLHRoaXMuX3BvcHVwSGFuZGxlcnNBZGRlZD0hMSx0aGlzLl9wb3B1cD1udWxsKSx0aGlzfSxvcGVuUG9wdXA6ZnVuY3Rpb24odCxpKXtpZih0IGluc3RhbmNlb2YgcWV8fChpPXQsdD10aGlzKSx0IGluc3RhbmNlb2YgS2UpZm9yKHZhciBlIGluIHRoaXMuX2xheWVycyl7dD10aGlzLl9sYXllcnNbZV07YnJlYWt9cmV0dXJuIGl8fChpPXQuZ2V0Q2VudGVyP3QuZ2V0Q2VudGVyKCk6dC5nZXRMYXRMbmcoKSksdGhpcy5fcG9wdXAmJnRoaXMuX21hcCYmKHRoaXMuX3BvcHVwLl9zb3VyY2U9dCx0aGlzLl9wb3B1cC51cGRhdGUoKSx0aGlzLl9tYXAub3BlblBvcHVwKHRoaXMuX3BvcHVwLGkpKSx0aGlzfSxjbG9zZVBvcHVwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BvcHVwJiZ0aGlzLl9wb3B1cC5fY2xvc2UoKSx0aGlzfSx0b2dnbGVQb3B1cDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9wdXAmJih0aGlzLl9wb3B1cC5fbWFwP3RoaXMuY2xvc2VQb3B1cCgpOnRoaXMub3BlblBvcHVwKHQpKSx0aGlzfSxpc1BvcHVwT3BlbjpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fcG9wdXAmJnRoaXMuX3BvcHVwLmlzT3BlbigpfSxzZXRQb3B1cENvbnRlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BvcHVwJiZ0aGlzLl9wb3B1cC5zZXRDb250ZW50KHQpLHRoaXN9LGdldFBvcHVwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BvcHVwfSxfb3BlblBvcHVwOmZ1bmN0aW9uKHQpe3ZhciBpPXQubGF5ZXJ8fHQudGFyZ2V0O3RoaXMuX3BvcHVwJiZ0aGlzLl9tYXAmJihMdCh0KSxpIGluc3RhbmNlb2YgUWU/dGhpcy5vcGVuUG9wdXAodC5sYXllcnx8dC50YXJnZXQsdC5sYXRsbmcpOnRoaXMuX21hcC5oYXNMYXllcih0aGlzLl9wb3B1cCkmJnRoaXMuX3BvcHVwLl9zb3VyY2U9PT1pP3RoaXMuY2xvc2VQb3B1cCgpOnRoaXMub3BlblBvcHVwKGksdC5sYXRsbmcpKX0sX21vdmVQb3B1cDpmdW5jdGlvbih0KXt0aGlzLl9wb3B1cC5zZXRMYXRMbmcodC5sYXRsbmcpfSxfb25LZXlQcmVzczpmdW5jdGlvbih0KXsxMz09PXQub3JpZ2luYWxFdmVudC5rZXlDb2RlJiZ0aGlzLl9vcGVuUG9wdXAodCl9fSk7dmFyIF9uPWxuLmV4dGVuZCh7b3B0aW9uczp7cGFuZToidG9vbHRpcFBhbmUiLG9mZnNldDpbMCwwXSxkaXJlY3Rpb246ImF1dG8iLHBlcm1hbmVudDohMSxzdGlja3k6ITEsaW50ZXJhY3RpdmU6ITEsb3BhY2l0eTouOX0sb25BZGQ6ZnVuY3Rpb24odCl7bG4ucHJvdG90eXBlLm9uQWRkLmNhbGwodGhpcyx0KSx0aGlzLnNldE9wYWNpdHkodGhpcy5vcHRpb25zLm9wYWNpdHkpLHQuZmlyZSgidG9vbHRpcG9wZW4iLHt0b29sdGlwOnRoaXN9KSx0aGlzLl9zb3VyY2UmJnRoaXMuX3NvdXJjZS5maXJlKCJ0b29sdGlwb3BlbiIse3Rvb2x0aXA6dGhpc30sITApfSxvblJlbW92ZTpmdW5jdGlvbih0KXtsbi5wcm90b3R5cGUub25SZW1vdmUuY2FsbCh0aGlzLHQpLHQuZmlyZSgidG9vbHRpcGNsb3NlIix7dG9vbHRpcDp0aGlzfSksdGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2UuZmlyZSgidG9vbHRpcGNsb3NlIix7dG9vbHRpcDp0aGlzfSwhMCl9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PWxuLnByb3RvdHlwZS5nZXRFdmVudHMuY2FsbCh0aGlzKTtyZXR1cm4gcWkmJiF0aGlzLm9wdGlvbnMucGVybWFuZW50JiYodC5wcmVjbGljaz10aGlzLl9jbG9zZSksdH0sX2Nsb3NlOmZ1bmN0aW9uKCl7dGhpcy5fbWFwJiZ0aGlzLl9tYXAuY2xvc2VUb29sdGlwKHRoaXMpfSxfaW5pdExheW91dDpmdW5jdGlvbigpe3ZhciB0PSJsZWFmbGV0LXRvb2x0aXAgIisodGhpcy5vcHRpb25zLmNsYXNzTmFtZXx8IiIpKyIgbGVhZmxldC16b29tLSIrKHRoaXMuX3pvb21BbmltYXRlZD8iYW5pbWF0ZWQiOiJoaWRlIik7dGhpcy5fY29udGVudE5vZGU9dGhpcy5fY29udGFpbmVyPUcoImRpdiIsdCl9LF91cGRhdGVMYXlvdXQ6ZnVuY3Rpb24oKXt9LF9hZGp1c3RQYW46ZnVuY3Rpb24oKXt9LF9zZXRQb3NpdGlvbjpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXAsZT10aGlzLl9jb250YWluZXIsbj1pLmxhdExuZ1RvQ29udGFpbmVyUG9pbnQoaS5nZXRDZW50ZXIoKSksbz1pLmxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50KHQpLHM9dGhpcy5vcHRpb25zLmRpcmVjdGlvbixyPWUub2Zmc2V0V2lkdGgsYT1lLm9mZnNldEhlaWdodCxoPXcodGhpcy5vcHRpb25zLm9mZnNldCksdT10aGlzLl9nZXRBbmNob3IoKTsidG9wIj09PXM/dD10LmFkZCh3KC1yLzIraC54LC1hK2gueSt1LnksITApKToiYm90dG9tIj09PXM/dD10LnN1YnRyYWN0KHcoci8yLWgueCwtaC55LCEwKSk6ImNlbnRlciI9PT1zP3Q9dC5zdWJ0cmFjdCh3KHIvMitoLngsYS8yLXUueStoLnksITApKToicmlnaHQiPT09c3x8ImF1dG8iPT09cyYmby54PG4ueD8ocz0icmlnaHQiLHQ9dC5hZGQodyhoLngrdS54LHUueS1hLzIraC55LCEwKSkpOihzPSJsZWZ0Iix0PXQuc3VidHJhY3QodyhyK3UueC1oLngsYS8yLXUueS1oLnksITApKSksdHQoZSwibGVhZmxldC10b29sdGlwLXJpZ2h0IiksdHQoZSwibGVhZmxldC10b29sdGlwLWxlZnQiKSx0dChlLCJsZWFmbGV0LXRvb2x0aXAtdG9wIiksdHQoZSwibGVhZmxldC10b29sdGlwLWJvdHRvbSIpLFEoZSwibGVhZmxldC10b29sdGlwLSIrcyksYXQoZSx0KX0sX3VwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpO3RoaXMuX3NldFBvc2l0aW9uKHQpfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5vcGFjaXR5PXQsdGhpcy5fY29udGFpbmVyJiZudCh0aGlzLl9jb250YWluZXIsdCl9LF9hbmltYXRlWm9vbTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXAuX2xhdExuZ1RvTmV3TGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcsdC56b29tLHQuY2VudGVyKTt0aGlzLl9zZXRQb3NpdGlvbihpKX0sX2dldEFuY2hvcjpmdW5jdGlvbigpe3JldHVybiB3KHRoaXMuX3NvdXJjZSYmdGhpcy5fc291cmNlLl9nZXRUb29sdGlwQW5jaG9yJiYhdGhpcy5vcHRpb25zLnN0aWNreT90aGlzLl9zb3VyY2UuX2dldFRvb2x0aXBBbmNob3IoKTpbMCwwXSl9fSk7YmUuaW5jbHVkZSh7b3BlblRvb2x0aXA6ZnVuY3Rpb24odCxpLGUpe3JldHVybiB0IGluc3RhbmNlb2YgX258fCh0PW5ldyBfbihlKS5zZXRDb250ZW50KHQpKSxpJiZ0LnNldExhdExuZyhpKSx0aGlzLmhhc0xheWVyKHQpP3RoaXM6dGhpcy5hZGRMYXllcih0KX0sY2xvc2VUb29sdGlwOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0aGlzLnJlbW92ZUxheWVyKHQpLHRoaXN9fSkscWUuaW5jbHVkZSh7YmluZFRvb2x0aXA6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdCBpbnN0YW5jZW9mIF9uPyhsKHQsaSksdGhpcy5fdG9vbHRpcD10LHQuX3NvdXJjZT10aGlzKToodGhpcy5fdG9vbHRpcCYmIWl8fCh0aGlzLl90b29sdGlwPW5ldyBfbihpLHRoaXMpKSx0aGlzLl90b29sdGlwLnNldENvbnRlbnQodCkpLHRoaXMuX2luaXRUb29sdGlwSW50ZXJhY3Rpb25zKCksdGhpcy5fdG9vbHRpcC5vcHRpb25zLnBlcm1hbmVudCYmdGhpcy5fbWFwJiZ0aGlzLl9tYXAuaGFzTGF5ZXIodGhpcykmJnRoaXMub3BlblRvb2x0aXAoKSx0aGlzfSx1bmJpbmRUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJih0aGlzLl9pbml0VG9vbHRpcEludGVyYWN0aW9ucyghMCksdGhpcy5jbG9zZVRvb2x0aXAoKSx0aGlzLl90b29sdGlwPW51bGwpLHRoaXN9LF9pbml0VG9vbHRpcEludGVyYWN0aW9uczpmdW5jdGlvbih0KXtpZih0fHwhdGhpcy5fdG9vbHRpcEhhbmRsZXJzQWRkZWQpe3ZhciBpPXQ/Im9mZiI6Im9uIixlPXtyZW1vdmU6dGhpcy5jbG9zZVRvb2x0aXAsbW92ZTp0aGlzLl9tb3ZlVG9vbHRpcH07dGhpcy5fdG9vbHRpcC5vcHRpb25zLnBlcm1hbmVudD9lLmFkZD10aGlzLl9vcGVuVG9vbHRpcDooZS5tb3VzZW92ZXI9dGhpcy5fb3BlblRvb2x0aXAsZS5tb3VzZW91dD10aGlzLmNsb3NlVG9vbHRpcCx0aGlzLl90b29sdGlwLm9wdGlvbnMuc3RpY2t5JiYoZS5tb3VzZW1vdmU9dGhpcy5fbW92ZVRvb2x0aXApLHFpJiYoZS5jbGljaz10aGlzLl9vcGVuVG9vbHRpcCkpLHRoaXNbaV0oZSksdGhpcy5fdG9vbHRpcEhhbmRsZXJzQWRkZWQ9IXR9fSxvcGVuVG9vbHRpcDpmdW5jdGlvbih0LGkpe2lmKHQgaW5zdGFuY2VvZiBxZXx8KGk9dCx0PXRoaXMpLHQgaW5zdGFuY2VvZiBLZSlmb3IodmFyIGUgaW4gdGhpcy5fbGF5ZXJzKXt0PXRoaXMuX2xheWVyc1tlXTticmVha31yZXR1cm4gaXx8KGk9dC5nZXRDZW50ZXI/dC5nZXRDZW50ZXIoKTp0LmdldExhdExuZygpKSx0aGlzLl90b29sdGlwJiZ0aGlzLl9tYXAmJih0aGlzLl90b29sdGlwLl9zb3VyY2U9dCx0aGlzLl90b29sdGlwLnVwZGF0ZSgpLHRoaXMuX21hcC5vcGVuVG9vbHRpcCh0aGlzLl90b29sdGlwLGkpLHRoaXMuX3Rvb2x0aXAub3B0aW9ucy5pbnRlcmFjdGl2ZSYmdGhpcy5fdG9vbHRpcC5fY29udGFpbmVyJiYoUSh0aGlzLl90b29sdGlwLl9jb250YWluZXIsImxlYWZsZXQtY2xpY2thYmxlIiksdGhpcy5hZGRJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl90b29sdGlwLl9jb250YWluZXIpKSksdGhpc30sY2xvc2VUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJih0aGlzLl90b29sdGlwLl9jbG9zZSgpLHRoaXMuX3Rvb2x0aXAub3B0aW9ucy5pbnRlcmFjdGl2ZSYmdGhpcy5fdG9vbHRpcC5fY29udGFpbmVyJiYodHQodGhpcy5fdG9vbHRpcC5fY29udGFpbmVyLCJsZWFmbGV0LWNsaWNrYWJsZSIpLHRoaXMucmVtb3ZlSW50ZXJhY3RpdmVUYXJnZXQodGhpcy5fdG9vbHRpcC5fY29udGFpbmVyKSkpLHRoaXN9LHRvZ2dsZVRvb2x0aXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJih0aGlzLl90b29sdGlwLl9tYXA/dGhpcy5jbG9zZVRvb2x0aXAoKTp0aGlzLm9wZW5Ub29sdGlwKHQpKSx0aGlzfSxpc1Rvb2x0aXBPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAuaXNPcGVuKCl9LHNldFRvb2x0aXBDb250ZW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90b29sdGlwJiZ0aGlzLl90b29sdGlwLnNldENvbnRlbnQodCksdGhpc30sZ2V0VG9vbHRpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90b29sdGlwfSxfb3BlblRvb2x0aXA6ZnVuY3Rpb24odCl7dmFyIGk9dC5sYXllcnx8dC50YXJnZXQ7dGhpcy5fdG9vbHRpcCYmdGhpcy5fbWFwJiZ0aGlzLm9wZW5Ub29sdGlwKGksdGhpcy5fdG9vbHRpcC5vcHRpb25zLnN0aWNreT90LmxhdGxuZzp2b2lkIDApfSxfbW92ZVRvb2x0aXA6ZnVuY3Rpb24odCl7dmFyIGksZSxuPXQubGF0bG5nO3RoaXMuX3Rvb2x0aXAub3B0aW9ucy5zdGlja3kmJnQub3JpZ2luYWxFdmVudCYmKGk9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQub3JpZ2luYWxFdmVudCksZT10aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQoaSksbj10aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKGUpKSx0aGlzLl90b29sdGlwLnNldExhdExuZyhuKX19KTt2YXIgZG49WWUuZXh0ZW5kKHtvcHRpb25zOntpY29uU2l6ZTpbMTIsMTJdLGh0bWw6ITEsYmdQb3M6bnVsbCxjbGFzc05hbWU6ImxlYWZsZXQtZGl2LWljb24ifSxjcmVhdGVJY29uOmZ1bmN0aW9uKHQpe3ZhciBpPXQmJiJESVYiPT09dC50YWdOYW1lP3Q6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT10aGlzLm9wdGlvbnM7aWYoaS5pbm5lckhUTUw9ITEhPT1lLmh0bWw/ZS5odG1sOiIiLGUuYmdQb3Mpe3ZhciBuPXcoZS5iZ1Bvcyk7aS5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb249LW4ueCsicHggIistbi55KyJweCJ9cmV0dXJuIHRoaXMuX3NldEljb25TdHlsZXMoaSwiaWNvbiIpLGl9LGNyZWF0ZVNoYWRvdzpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pO1llLkRlZmF1bHQ9WGU7dmFyIHBuPXFlLmV4dGVuZCh7b3B0aW9uczp7dGlsZVNpemU6MjU2LG9wYWNpdHk6MSx1cGRhdGVXaGVuSWRsZTpXaSx1cGRhdGVXaGVuWm9vbWluZzohMCx1cGRhdGVJbnRlcnZhbDoyMDAsekluZGV4OjEsYm91bmRzOm51bGwsbWluWm9vbTowLG1heFpvb206dm9pZCAwLG1heE5hdGl2ZVpvb206dm9pZCAwLG1pbk5hdGl2ZVpvb206dm9pZCAwLG5vV3JhcDohMSxwYW5lOiJ0aWxlUGFuZSIsY2xhc3NOYW1lOiIiLGtlZXBCdWZmZXI6Mn0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXtsKHRoaXMsdCl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5faW5pdENvbnRhaW5lcigpLHRoaXMuX2xldmVscz17fSx0aGlzLl90aWxlcz17fSx0aGlzLl9yZXNldFZpZXcoKSx0aGlzLl91cGRhdGUoKX0sYmVmb3JlQWRkOmZ1bmN0aW9uKHQpe3QuX2FkZFpvb21MaW1pdCh0aGlzKX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7dGhpcy5fcmVtb3ZlQWxsVGlsZXMoKSxLKHRoaXMuX2NvbnRhaW5lciksdC5fcmVtb3ZlWm9vbUxpbWl0KHRoaXMpLHRoaXMuX2NvbnRhaW5lcj1udWxsLHRoaXMuX3RpbGVab29tPXZvaWQgMH0sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmKFgodGhpcy5fY29udGFpbmVyKSx0aGlzLl9zZXRBdXRvWkluZGV4KE1hdGgubWF4KSksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYoSih0aGlzLl9jb250YWluZXIpLHRoaXMuX3NldEF1dG9aSW5kZXgoTWF0aC5taW4pKSx0aGlzfSxnZXRDb250YWluZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMub3BhY2l0eT10LHRoaXMuX3VwZGF0ZU9wYWNpdHkoKSx0aGlzfSxzZXRaSW5kZXg6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy56SW5kZXg9dCx0aGlzLl91cGRhdGVaSW5kZXgoKSx0aGlzfSxpc0xvYWRpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbG9hZGluZ30scmVkcmF3OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmKHRoaXMuX3JlbW92ZUFsbFRpbGVzKCksdGhpcy5fdXBkYXRlKCkpLHRoaXN9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PXt2aWV3cHJlcmVzZXQ6dGhpcy5faW52YWxpZGF0ZUFsbCx2aWV3cmVzZXQ6dGhpcy5fcmVzZXRWaWV3LHpvb206dGhpcy5fcmVzZXRWaWV3LG1vdmVlbmQ6dGhpcy5fb25Nb3ZlRW5kfTtyZXR1cm4gdGhpcy5vcHRpb25zLnVwZGF0ZVdoZW5JZGxlfHwodGhpcy5fb25Nb3ZlfHwodGhpcy5fb25Nb3ZlPW8odGhpcy5fb25Nb3ZlRW5kLHRoaXMub3B0aW9ucy51cGRhdGVJbnRlcnZhbCx0aGlzKSksdC5tb3ZlPXRoaXMuX29uTW92ZSksdGhpcy5fem9vbUFuaW1hdGVkJiYodC56b29tYW5pbT10aGlzLl9hbmltYXRlWm9vbSksdH0sY3JlYXRlVGlsZTpmdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX0sZ2V0VGlsZVNpemU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMudGlsZVNpemU7cmV0dXJuIHQgaW5zdGFuY2VvZiB4P3Q6bmV3IHgodCx0KX0sX3VwZGF0ZVpJbmRleDpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lciYmdm9pZCAwIT09dGhpcy5vcHRpb25zLnpJbmRleCYmbnVsbCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJih0aGlzLl9jb250YWluZXIuc3R5bGUuekluZGV4PXRoaXMub3B0aW9ucy56SW5kZXgpfSxfc2V0QXV0b1pJbmRleDpmdW5jdGlvbih0KXtmb3IodmFyIGksZT10aGlzLmdldFBhbmUoKS5jaGlsZHJlbixuPS10KC0xLzAsMS8wKSxvPTAscz1lLmxlbmd0aDtvPHM7bysrKWk9ZVtvXS5zdHlsZS56SW5kZXgsZVtvXSE9PXRoaXMuX2NvbnRhaW5lciYmaSYmKG49dChuLCtpKSk7aXNGaW5pdGUobikmJih0aGlzLm9wdGlvbnMuekluZGV4PW4rdCgtMSwxKSx0aGlzLl91cGRhdGVaSW5kZXgoKSl9LF91cGRhdGVPcGFjaXR5OmZ1bmN0aW9uKCl7aWYodGhpcy5fbWFwJiYhTGkpe250KHRoaXMuX2NvbnRhaW5lcix0aGlzLm9wdGlvbnMub3BhY2l0eSk7dmFyIHQ9K25ldyBEYXRlLGk9ITEsZT0hMTtmb3IodmFyIG4gaW4gdGhpcy5fdGlsZXMpe3ZhciBvPXRoaXMuX3RpbGVzW25dO2lmKG8uY3VycmVudCYmby5sb2FkZWQpe3ZhciBzPU1hdGgubWluKDEsKHQtby5sb2FkZWQpLzIwMCk7bnQoby5lbCxzKSxzPDE/aT0hMDooby5hY3RpdmU/ZT0hMDp0aGlzLl9vbk9wYXF1ZVRpbGUobyksby5hY3RpdmU9ITApfX1lJiYhdGhpcy5fbm9QcnVuZSYmdGhpcy5fcHJ1bmVUaWxlcygpLGkmJihnKHRoaXMuX2ZhZGVGcmFtZSksdGhpcy5fZmFkZUZyYW1lPWYodGhpcy5fdXBkYXRlT3BhY2l0eSx0aGlzKSl9fSxfb25PcGFxdWVUaWxlOnIsX2luaXRDb250YWluZXI6ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXJ8fCh0aGlzLl9jb250YWluZXI9RygiZGl2IiwibGVhZmxldC1sYXllciAiKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lfHwiIikpLHRoaXMuX3VwZGF0ZVpJbmRleCgpLHRoaXMub3B0aW9ucy5vcGFjaXR5PDEmJnRoaXMuX3VwZGF0ZU9wYWNpdHkoKSx0aGlzLmdldFBhbmUoKS5hcHBlbmRDaGlsZCh0aGlzLl9jb250YWluZXIpKX0sX3VwZGF0ZUxldmVsczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RpbGVab29tLGk9dGhpcy5vcHRpb25zLm1heFpvb207aWYodm9pZCAwIT09dCl7Zm9yKHZhciBlIGluIHRoaXMuX2xldmVscyl0aGlzLl9sZXZlbHNbZV0uZWwuY2hpbGRyZW4ubGVuZ3RofHxlPT09dD8odGhpcy5fbGV2ZWxzW2VdLmVsLnN0eWxlLnpJbmRleD1pLU1hdGguYWJzKHQtZSksdGhpcy5fb25VcGRhdGVMZXZlbChlKSk6KEsodGhpcy5fbGV2ZWxzW2VdLmVsKSx0aGlzLl9yZW1vdmVUaWxlc0F0Wm9vbShlKSx0aGlzLl9vblJlbW92ZUxldmVsKGUpLGRlbGV0ZSB0aGlzLl9sZXZlbHNbZV0pO3ZhciBuPXRoaXMuX2xldmVsc1t0XSxvPXRoaXMuX21hcDtyZXR1cm4gbnx8KChuPXRoaXMuX2xldmVsc1t0XT17fSkuZWw9RygiZGl2IiwibGVhZmxldC10aWxlLWNvbnRhaW5lciBsZWFmbGV0LXpvb20tYW5pbWF0ZWQiLHRoaXMuX2NvbnRhaW5lciksbi5lbC5zdHlsZS56SW5kZXg9aSxuLm9yaWdpbj1vLnByb2plY3Qoby51bnByb2plY3Qoby5nZXRQaXhlbE9yaWdpbigpKSx0KS5yb3VuZCgpLG4uem9vbT10LHRoaXMuX3NldFpvb21UcmFuc2Zvcm0obixvLmdldENlbnRlcigpLG8uZ2V0Wm9vbSgpKSxuLmVsLm9mZnNldFdpZHRoLHRoaXMuX29uQ3JlYXRlTGV2ZWwobikpLHRoaXMuX2xldmVsPW4sbn19LF9vblVwZGF0ZUxldmVsOnIsX29uUmVtb3ZlTGV2ZWw6cixfb25DcmVhdGVMZXZlbDpyLF9wcnVuZVRpbGVzOmZ1bmN0aW9uKCl7aWYodGhpcy5fbWFwKXt2YXIgdCxpLGU9dGhpcy5fbWFwLmdldFpvb20oKTtpZihlPnRoaXMub3B0aW9ucy5tYXhab29tfHxlPHRoaXMub3B0aW9ucy5taW5ab29tKXRoaXMuX3JlbW92ZUFsbFRpbGVzKCk7ZWxzZXtmb3IodCBpbiB0aGlzLl90aWxlcykoaT10aGlzLl90aWxlc1t0XSkucmV0YWluPWkuY3VycmVudDtmb3IodCBpbiB0aGlzLl90aWxlcylpZigoaT10aGlzLl90aWxlc1t0XSkuY3VycmVudCYmIWkuYWN0aXZlKXt2YXIgbj1pLmNvb3Jkczt0aGlzLl9yZXRhaW5QYXJlbnQobi54LG4ueSxuLnosbi56LTUpfHx0aGlzLl9yZXRhaW5DaGlsZHJlbihuLngsbi55LG4ueixuLnorMil9Zm9yKHQgaW4gdGhpcy5fdGlsZXMpdGhpcy5fdGlsZXNbdF0ucmV0YWlufHx0aGlzLl9yZW1vdmVUaWxlKHQpfX19LF9yZW1vdmVUaWxlc0F0Wm9vbTpmdW5jdGlvbih0KXtmb3IodmFyIGkgaW4gdGhpcy5fdGlsZXMpdGhpcy5fdGlsZXNbaV0uY29vcmRzLno9PT10JiZ0aGlzLl9yZW1vdmVUaWxlKGkpfSxfcmVtb3ZlQWxsVGlsZXM6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fdGlsZXMpdGhpcy5fcmVtb3ZlVGlsZSh0KX0sX2ludmFsaWRhdGVBbGw6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fbGV2ZWxzKUsodGhpcy5fbGV2ZWxzW3RdLmVsKSx0aGlzLl9vblJlbW92ZUxldmVsKHQpLGRlbGV0ZSB0aGlzLl9sZXZlbHNbdF07dGhpcy5fcmVtb3ZlQWxsVGlsZXMoKSx0aGlzLl90aWxlWm9vbT12b2lkIDB9LF9yZXRhaW5QYXJlbnQ6ZnVuY3Rpb24odCxpLGUsbil7dmFyIG89TWF0aC5mbG9vcih0LzIpLHM9TWF0aC5mbG9vcihpLzIpLHI9ZS0xLGE9bmV3IHgoK28sK3MpO2Euej0rcjt2YXIgaD10aGlzLl90aWxlQ29vcmRzVG9LZXkoYSksdT10aGlzLl90aWxlc1toXTtyZXR1cm4gdSYmdS5hY3RpdmU/KHUucmV0YWluPSEwLCEwKToodSYmdS5sb2FkZWQmJih1LnJldGFpbj0hMCkscj5uJiZ0aGlzLl9yZXRhaW5QYXJlbnQobyxzLHIsbikpfSxfcmV0YWluQ2hpbGRyZW46ZnVuY3Rpb24odCxpLGUsbil7Zm9yKHZhciBvPTIqdDtvPDIqdCsyO28rKylmb3IodmFyIHM9MippO3M8MippKzI7cysrKXt2YXIgcj1uZXcgeChvLHMpO3Iuej1lKzE7dmFyIGE9dGhpcy5fdGlsZUNvb3Jkc1RvS2V5KHIpLGg9dGhpcy5fdGlsZXNbYV07aCYmaC5hY3RpdmU/aC5yZXRhaW49ITA6KGgmJmgubG9hZGVkJiYoaC5yZXRhaW49ITApLGUrMTxuJiZ0aGlzLl9yZXRhaW5DaGlsZHJlbihvLHMsZSsxLG4pKX19LF9yZXNldFZpZXc6ZnVuY3Rpb24odCl7dmFyIGk9dCYmKHQucGluY2h8fHQuZmx5VG8pO3RoaXMuX3NldFZpZXcodGhpcy5fbWFwLmdldENlbnRlcigpLHRoaXMuX21hcC5nZXRab29tKCksaSxpKX0sX2FuaW1hdGVab29tOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFZpZXcodC5jZW50ZXIsdC56b29tLCEwLHQubm9VcGRhdGUpfSxfY2xhbXBab29tOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucztyZXR1cm4gdm9pZCAwIT09aS5taW5OYXRpdmVab29tJiZ0PGkubWluTmF0aXZlWm9vbT9pLm1pbk5hdGl2ZVpvb206dm9pZCAwIT09aS5tYXhOYXRpdmVab29tJiZpLm1heE5hdGl2ZVpvb208dD9pLm1heE5hdGl2ZVpvb206dH0sX3NldFZpZXc6ZnVuY3Rpb24odCxpLGUsbil7dmFyIG89dGhpcy5fY2xhbXBab29tKE1hdGgucm91bmQoaSkpOyh2b2lkIDAhPT10aGlzLm9wdGlvbnMubWF4Wm9vbSYmbz50aGlzLm9wdGlvbnMubWF4Wm9vbXx8dm9pZCAwIT09dGhpcy5vcHRpb25zLm1pblpvb20mJm88dGhpcy5vcHRpb25zLm1pblpvb20pJiYobz12b2lkIDApO3ZhciBzPXRoaXMub3B0aW9ucy51cGRhdGVXaGVuWm9vbWluZyYmbyE9PXRoaXMuX3RpbGVab29tO24mJiFzfHwodGhpcy5fdGlsZVpvb209byx0aGlzLl9hYm9ydExvYWRpbmcmJnRoaXMuX2Fib3J0TG9hZGluZygpLHRoaXMuX3VwZGF0ZUxldmVscygpLHRoaXMuX3Jlc2V0R3JpZCgpLHZvaWQgMCE9PW8mJnRoaXMuX3VwZGF0ZSh0KSxlfHx0aGlzLl9wcnVuZVRpbGVzKCksdGhpcy5fbm9QcnVuZT0hIWUpLHRoaXMuX3NldFpvb21UcmFuc2Zvcm1zKHQsaSl9LF9zZXRab29tVHJhbnNmb3JtczpmdW5jdGlvbih0LGkpe2Zvcih2YXIgZSBpbiB0aGlzLl9sZXZlbHMpdGhpcy5fc2V0Wm9vbVRyYW5zZm9ybSh0aGlzLl9sZXZlbHNbZV0sdCxpKX0sX3NldFpvb21UcmFuc2Zvcm06ZnVuY3Rpb24odCxpLGUpe3ZhciBuPXRoaXMuX21hcC5nZXRab29tU2NhbGUoZSx0Lnpvb20pLG89dC5vcmlnaW4ubXVsdGlwbHlCeShuKS5zdWJ0cmFjdCh0aGlzLl9tYXAuX2dldE5ld1BpeGVsT3JpZ2luKGksZSkpLnJvdW5kKCk7amk/cnQodC5lbCxvLG4pOmF0KHQuZWwsbyl9LF9yZXNldEdyaWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAsaT10Lm9wdGlvbnMuY3JzLGU9dGhpcy5fdGlsZVNpemU9dGhpcy5nZXRUaWxlU2l6ZSgpLG49dGhpcy5fdGlsZVpvb20sbz10aGlzLl9tYXAuZ2V0UGl4ZWxXb3JsZEJvdW5kcyh0aGlzLl90aWxlWm9vbSk7byYmKHRoaXMuX2dsb2JhbFRpbGVSYW5nZT10aGlzLl9weEJvdW5kc1RvVGlsZVJhbmdlKG8pKSx0aGlzLl93cmFwWD1pLndyYXBMbmcmJiF0aGlzLm9wdGlvbnMubm9XcmFwJiZbTWF0aC5mbG9vcih0LnByb2plY3QoWzAsaS53cmFwTG5nWzBdXSxuKS54L2UueCksTWF0aC5jZWlsKHQucHJvamVjdChbMCxpLndyYXBMbmdbMV1dLG4pLngvZS55KV0sdGhpcy5fd3JhcFk9aS53cmFwTGF0JiYhdGhpcy5vcHRpb25zLm5vV3JhcCYmW01hdGguZmxvb3IodC5wcm9qZWN0KFtpLndyYXBMYXRbMF0sMF0sbikueS9lLngpLE1hdGguY2VpbCh0LnByb2plY3QoW2kud3JhcExhdFsxXSwwXSxuKS55L2UueSldfSxfb25Nb3ZlRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbWFwJiYhdGhpcy5fbWFwLl9hbmltYXRpbmdab29tJiZ0aGlzLl91cGRhdGUoKX0sX2dldFRpbGVkUGl4ZWxCb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLGU9aS5fYW5pbWF0aW5nWm9vbT9NYXRoLm1heChpLl9hbmltYXRlVG9ab29tLGkuZ2V0Wm9vbSgpKTppLmdldFpvb20oKSxuPWkuZ2V0Wm9vbVNjYWxlKGUsdGhpcy5fdGlsZVpvb20pLG89aS5wcm9qZWN0KHQsdGhpcy5fdGlsZVpvb20pLmZsb29yKCkscz1pLmdldFNpemUoKS5kaXZpZGVCeSgyKm4pO3JldHVybiBuZXcgUChvLnN1YnRyYWN0KHMpLG8uYWRkKHMpKX0sX3VwZGF0ZTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXA7aWYoaSl7dmFyIGU9dGhpcy5fY2xhbXBab29tKGkuZ2V0Wm9vbSgpKTtpZih2b2lkIDA9PT10JiYodD1pLmdldENlbnRlcigpKSx2b2lkIDAhPT10aGlzLl90aWxlWm9vbSl7dmFyIG49dGhpcy5fZ2V0VGlsZWRQaXhlbEJvdW5kcyh0KSxvPXRoaXMuX3B4Qm91bmRzVG9UaWxlUmFuZ2Uobikscz1vLmdldENlbnRlcigpLHI9W10sYT10aGlzLm9wdGlvbnMua2VlcEJ1ZmZlcixoPW5ldyBQKG8uZ2V0Qm90dG9tTGVmdCgpLnN1YnRyYWN0KFthLC1hXSksby5nZXRUb3BSaWdodCgpLmFkZChbYSwtYV0pKTtpZighKGlzRmluaXRlKG8ubWluLngpJiZpc0Zpbml0ZShvLm1pbi55KSYmaXNGaW5pdGUoby5tYXgueCkmJmlzRmluaXRlKG8ubWF4LnkpKSl0aHJvdyBuZXcgRXJyb3IoIkF0dGVtcHRlZCB0byBsb2FkIGFuIGluZmluaXRlIG51bWJlciBvZiB0aWxlcyIpO2Zvcih2YXIgdSBpbiB0aGlzLl90aWxlcyl7dmFyIGw9dGhpcy5fdGlsZXNbdV0uY29vcmRzO2wuej09PXRoaXMuX3RpbGVab29tJiZoLmNvbnRhaW5zKG5ldyB4KGwueCxsLnkpKXx8KHRoaXMuX3RpbGVzW3VdLmN1cnJlbnQ9ITEpfWlmKE1hdGguYWJzKGUtdGhpcy5fdGlsZVpvb20pPjEpdGhpcy5fc2V0Vmlldyh0LGUpO2Vsc2V7Zm9yKHZhciBjPW8ubWluLnk7Yzw9by5tYXgueTtjKyspZm9yKHZhciBfPW8ubWluLng7Xzw9by5tYXgueDtfKyspe3ZhciBkPW5ldyB4KF8sYyk7aWYoZC56PXRoaXMuX3RpbGVab29tLHRoaXMuX2lzVmFsaWRUaWxlKGQpKXt2YXIgcD10aGlzLl90aWxlc1t0aGlzLl90aWxlQ29vcmRzVG9LZXkoZCldO3A/cC5jdXJyZW50PSEwOnIucHVzaChkKX19aWYoci5zb3J0KGZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQuZGlzdGFuY2VUbyhzKS1pLmRpc3RhbmNlVG8ocyl9KSwwIT09ci5sZW5ndGgpe3RoaXMuX2xvYWRpbmd8fCh0aGlzLl9sb2FkaW5nPSEwLHRoaXMuZmlyZSgibG9hZGluZyIpKTt2YXIgbT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKF89MDtfPHIubGVuZ3RoO18rKyl0aGlzLl9hZGRUaWxlKHJbX10sbSk7dGhpcy5fbGV2ZWwuZWwuYXBwZW5kQ2hpbGQobSl9fX19fSxfaXNWYWxpZFRpbGU6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLm9wdGlvbnMuY3JzO2lmKCFpLmluZmluaXRlKXt2YXIgZT10aGlzLl9nbG9iYWxUaWxlUmFuZ2U7aWYoIWkud3JhcExuZyYmKHQueDxlLm1pbi54fHx0Lng+ZS5tYXgueCl8fCFpLndyYXBMYXQmJih0Lnk8ZS5taW4ueXx8dC55PmUubWF4LnkpKXJldHVybiExfWlmKCF0aGlzLm9wdGlvbnMuYm91bmRzKXJldHVybiEwO3ZhciBuPXRoaXMuX3RpbGVDb29yZHNUb0JvdW5kcyh0KTtyZXR1cm4geih0aGlzLm9wdGlvbnMuYm91bmRzKS5vdmVybGFwcyhuKX0sX2tleVRvQm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aWxlQ29vcmRzVG9Cb3VuZHModGhpcy5fa2V5VG9UaWxlQ29vcmRzKHQpKX0sX3RpbGVDb29yZHNUb053U2U6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLGU9dGhpcy5nZXRUaWxlU2l6ZSgpLG49dC5zY2FsZUJ5KGUpLG89bi5hZGQoZSk7cmV0dXJuW2kudW5wcm9qZWN0KG4sdC56KSxpLnVucHJvamVjdChvLHQueildfSxfdGlsZUNvb3Jkc1RvQm91bmRzOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX3RpbGVDb29yZHNUb053U2UodCksZT1uZXcgVChpWzBdLGlbMV0pO3JldHVybiB0aGlzLm9wdGlvbnMubm9XcmFwfHwoZT10aGlzLl9tYXAud3JhcExhdExuZ0JvdW5kcyhlKSksZX0sX3RpbGVDb29yZHNUb0tleTpmdW5jdGlvbih0KXtyZXR1cm4gdC54KyI6Iit0LnkrIjoiK3Quen0sX2tleVRvVGlsZUNvb3JkczpmdW5jdGlvbih0KXt2YXIgaT10LnNwbGl0KCI6IiksZT1uZXcgeCgraVswXSwraVsxXSk7cmV0dXJuIGUuej0raVsyXSxlfSxfcmVtb3ZlVGlsZTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl90aWxlc1t0XTtpJiYoSyhpLmVsKSxkZWxldGUgdGhpcy5fdGlsZXNbdF0sdGhpcy5maXJlKCJ0aWxldW5sb2FkIix7dGlsZTppLmVsLGNvb3Jkczp0aGlzLl9rZXlUb1RpbGVDb29yZHModCl9KSl9LF9pbml0VGlsZTpmdW5jdGlvbih0KXtRKHQsImxlYWZsZXQtdGlsZSIpO3ZhciBpPXRoaXMuZ2V0VGlsZVNpemUoKTt0LnN0eWxlLndpZHRoPWkueCsicHgiLHQuc3R5bGUuaGVpZ2h0PWkueSsicHgiLHQub25zZWxlY3RzdGFydD1yLHQub25tb3VzZW1vdmU9cixMaSYmdGhpcy5vcHRpb25zLm9wYWNpdHk8MSYmbnQodCx0aGlzLm9wdGlvbnMub3BhY2l0eSksemkmJiFNaSYmKHQuc3R5bGUuV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5PSJoaWRkZW4iKX0sX2FkZFRpbGU6ZnVuY3Rpb24odCxpKXt2YXIgbj10aGlzLl9nZXRUaWxlUG9zKHQpLG89dGhpcy5fdGlsZUNvb3Jkc1RvS2V5KHQpLHM9dGhpcy5jcmVhdGVUaWxlKHRoaXMuX3dyYXBDb29yZHModCksZSh0aGlzLl90aWxlUmVhZHksdGhpcyx0KSk7dGhpcy5faW5pdFRpbGUocyksdGhpcy5jcmVhdGVUaWxlLmxlbmd0aDwyJiZmKGUodGhpcy5fdGlsZVJlYWR5LHRoaXMsdCxudWxsLHMpKSxhdChzLG4pLHRoaXMuX3RpbGVzW29dPXtlbDpzLGNvb3Jkczp0LGN1cnJlbnQ6ITB9LGkuYXBwZW5kQ2hpbGQocyksdGhpcy5maXJlKCJ0aWxlbG9hZHN0YXJ0Iix7dGlsZTpzLGNvb3Jkczp0fSl9LF90aWxlUmVhZHk6ZnVuY3Rpb24odCxpLG4pe2kmJnRoaXMuZmlyZSgidGlsZWVycm9yIix7ZXJyb3I6aSx0aWxlOm4sY29vcmRzOnR9KTt2YXIgbz10aGlzLl90aWxlQ29vcmRzVG9LZXkodCk7KG49dGhpcy5fdGlsZXNbb10pJiYobi5sb2FkZWQ9K25ldyBEYXRlLHRoaXMuX21hcC5fZmFkZUFuaW1hdGVkPyhudChuLmVsLDApLGcodGhpcy5fZmFkZUZyYW1lKSx0aGlzLl9mYWRlRnJhbWU9Zih0aGlzLl91cGRhdGVPcGFjaXR5LHRoaXMpKToobi5hY3RpdmU9ITAsdGhpcy5fcHJ1bmVUaWxlcygpKSxpfHwoUShuLmVsLCJsZWFmbGV0LXRpbGUtbG9hZGVkIiksdGhpcy5maXJlKCJ0aWxlbG9hZCIse3RpbGU6bi5lbCxjb29yZHM6dH0pKSx0aGlzLl9ub1RpbGVzVG9Mb2FkKCkmJih0aGlzLl9sb2FkaW5nPSExLHRoaXMuZmlyZSgibG9hZCIpLExpfHwhdGhpcy5fbWFwLl9mYWRlQW5pbWF0ZWQ/Zih0aGlzLl9wcnVuZVRpbGVzLHRoaXMpOnNldFRpbWVvdXQoZSh0aGlzLl9wcnVuZVRpbGVzLHRoaXMpLDI1MCkpKX0sX2dldFRpbGVQb3M6ZnVuY3Rpb24odCl7cmV0dXJuIHQuc2NhbGVCeSh0aGlzLmdldFRpbGVTaXplKCkpLnN1YnRyYWN0KHRoaXMuX2xldmVsLm9yaWdpbil9LF93cmFwQ29vcmRzOmZ1bmN0aW9uKHQpe3ZhciBpPW5ldyB4KHRoaXMuX3dyYXBYP3ModC54LHRoaXMuX3dyYXBYKTp0LngsdGhpcy5fd3JhcFk/cyh0LnksdGhpcy5fd3JhcFkpOnQueSk7cmV0dXJuIGkuej10LnosaX0sX3B4Qm91bmRzVG9UaWxlUmFuZ2U6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5nZXRUaWxlU2l6ZSgpO3JldHVybiBuZXcgUCh0Lm1pbi51bnNjYWxlQnkoaSkuZmxvb3IoKSx0Lm1heC51bnNjYWxlQnkoaSkuY2VpbCgpLnN1YnRyYWN0KFsxLDFdKSl9LF9ub1RpbGVzVG9Mb2FkOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX3RpbGVzKWlmKCF0aGlzLl90aWxlc1t0XS5sb2FkZWQpcmV0dXJuITE7cmV0dXJuITB9fSksbW49cG4uZXh0ZW5kKHtvcHRpb25zOnttaW5ab29tOjAsbWF4Wm9vbToxOCxzdWJkb21haW5zOiJhYmMiLGVycm9yVGlsZVVybDoiIix6b29tT2Zmc2V0OjAsdG1zOiExLHpvb21SZXZlcnNlOiExLGRldGVjdFJldGluYTohMSxjcm9zc09yaWdpbjohMX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe3RoaXMuX3VybD10LChpPWwodGhpcyxpKSkuZGV0ZWN0UmV0aW5hJiZZaSYmaS5tYXhab29tPjAmJihpLnRpbGVTaXplPU1hdGguZmxvb3IoaS50aWxlU2l6ZS8yKSxpLnpvb21SZXZlcnNlPyhpLnpvb21PZmZzZXQtLSxpLm1pblpvb20rKyk6KGkuem9vbU9mZnNldCsrLGkubWF4Wm9vbS0tKSxpLm1pblpvb209TWF0aC5tYXgoMCxpLm1pblpvb20pKSwic3RyaW5nIj09dHlwZW9mIGkuc3ViZG9tYWlucyYmKGkuc3ViZG9tYWlucz1pLnN1YmRvbWFpbnMuc3BsaXQoIiIpKSx6aXx8dGhpcy5vbigidGlsZXVubG9hZCIsdGhpcy5fb25UaWxlUmVtb3ZlKX0sc2V0VXJsOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX3VybD09PXQmJnZvaWQgMD09PWkmJihpPSEwKSx0aGlzLl91cmw9dCxpfHx0aGlzLnJlZHJhdygpLHRoaXN9LGNyZWF0ZVRpbGU6ZnVuY3Rpb24odCxpKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtyZXR1cm4gbXQobiwibG9hZCIsZSh0aGlzLl90aWxlT25Mb2FkLHRoaXMsaSxuKSksbXQobiwiZXJyb3IiLGUodGhpcy5fdGlsZU9uRXJyb3IsdGhpcyxpLG4pKSwodGhpcy5vcHRpb25zLmNyb3NzT3JpZ2lufHwiIj09PXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbikmJihuLmNyb3NzT3JpZ2luPSEwPT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luPyIiOnRoaXMub3B0aW9ucy5jcm9zc09yaWdpbiksbi5hbHQ9IiIsbi5zZXRBdHRyaWJ1dGUoInJvbGUiLCJwcmVzZW50YXRpb24iKSxuLnNyYz10aGlzLmdldFRpbGVVcmwodCksbn0sZ2V0VGlsZVVybDpmdW5jdGlvbih0KXt2YXIgZT17cjpZaT8iQDJ4IjoiIixzOnRoaXMuX2dldFN1YmRvbWFpbih0KSx4OnQueCx5OnQueSx6OnRoaXMuX2dldFpvb21Gb3JVcmwoKX07aWYodGhpcy5fbWFwJiYhdGhpcy5fbWFwLm9wdGlvbnMuY3JzLmluZmluaXRlKXt2YXIgbj10aGlzLl9nbG9iYWxUaWxlUmFuZ2UubWF4LnktdC55O3RoaXMub3B0aW9ucy50bXMmJihlLnk9biksZVsiLXkiXT1ufXJldHVybiBfKHRoaXMuX3VybCxpKGUsdGhpcy5vcHRpb25zKSl9LF90aWxlT25Mb2FkOmZ1bmN0aW9uKHQsaSl7TGk/c2V0VGltZW91dChlKHQsdGhpcyxudWxsLGkpLDApOnQobnVsbCxpKX0sX3RpbGVPbkVycm9yOmZ1bmN0aW9uKHQsaSxlKXt2YXIgbj10aGlzLm9wdGlvbnMuZXJyb3JUaWxlVXJsO24mJmkuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PW4mJihpLnNyYz1uKSx0KGUsaSl9LF9vblRpbGVSZW1vdmU6ZnVuY3Rpb24odCl7dC50aWxlLm9ubG9hZD1udWxsfSxfZ2V0Wm9vbUZvclVybDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RpbGVab29tLGk9dGhpcy5vcHRpb25zLm1heFpvb20sZT10aGlzLm9wdGlvbnMuem9vbVJldmVyc2Usbj10aGlzLm9wdGlvbnMuem9vbU9mZnNldDtyZXR1cm4gZSYmKHQ9aS10KSx0K259LF9nZXRTdWJkb21haW46ZnVuY3Rpb24odCl7dmFyIGk9TWF0aC5hYnModC54K3QueSkldGhpcy5vcHRpb25zLnN1YmRvbWFpbnMubGVuZ3RoO3JldHVybiB0aGlzLm9wdGlvbnMuc3ViZG9tYWluc1tpXX0sX2Fib3J0TG9hZGluZzpmdW5jdGlvbigpe3ZhciB0LGk7Zm9yKHQgaW4gdGhpcy5fdGlsZXMpdGhpcy5fdGlsZXNbdF0uY29vcmRzLnohPT10aGlzLl90aWxlWm9vbSYmKChpPXRoaXMuX3RpbGVzW3RdLmVsKS5vbmxvYWQ9cixpLm9uZXJyb3I9cixpLmNvbXBsZXRlfHwoaS5zcmM9c2ksSyhpKSxkZWxldGUgdGhpcy5fdGlsZXNbdF0pKX0sX3JlbW92ZVRpbGU6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fdGlsZXNbdF07aWYoaSlyZXR1cm4gU2l8fGkuZWwuc2V0QXR0cmlidXRlKCJzcmMiLHNpKSxwbi5wcm90b3R5cGUuX3JlbW92ZVRpbGUuY2FsbCh0aGlzLHQpfSxfdGlsZVJlYWR5OmZ1bmN0aW9uKHQsaSxlKXtpZih0aGlzLl9tYXAmJighZXx8ZS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09c2kpKXJldHVybiBwbi5wcm90b3R5cGUuX3RpbGVSZWFkeS5jYWxsKHRoaXMsdCxpLGUpfX0pLGZuPW1uLmV4dGVuZCh7ZGVmYXVsdFdtc1BhcmFtczp7c2VydmljZToiV01TIixyZXF1ZXN0OiJHZXRNYXAiLGxheWVyczoiIixzdHlsZXM6IiIsZm9ybWF0OiJpbWFnZS9qcGVnIix0cmFuc3BhcmVudDohMSx2ZXJzaW9uOiIxLjEuMSJ9LG9wdGlvbnM6e2NyczpudWxsLHVwcGVyY2FzZTohMX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGUpe3RoaXMuX3VybD10O3ZhciBuPWkoe30sdGhpcy5kZWZhdWx0V21zUGFyYW1zKTtmb3IodmFyIG8gaW4gZSlvIGluIHRoaXMub3B0aW9uc3x8KG5bb109ZVtvXSk7dmFyIHM9KGU9bCh0aGlzLGUpKS5kZXRlY3RSZXRpbmEmJllpPzI6MSxyPXRoaXMuZ2V0VGlsZVNpemUoKTtuLndpZHRoPXIueCpzLG4uaGVpZ2h0PXIueSpzLHRoaXMud21zUGFyYW1zPW59LG9uQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX2Nycz10aGlzLm9wdGlvbnMuY3JzfHx0Lm9wdGlvbnMuY3JzLHRoaXMuX3dtc1ZlcnNpb249cGFyc2VGbG9hdCh0aGlzLndtc1BhcmFtcy52ZXJzaW9uKTt2YXIgaT10aGlzLl93bXNWZXJzaW9uPj0xLjM/ImNycyI6InNycyI7dGhpcy53bXNQYXJhbXNbaV09dGhpcy5fY3JzLmNvZGUsbW4ucHJvdG90eXBlLm9uQWRkLmNhbGwodGhpcyx0KX0sZ2V0VGlsZVVybDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl90aWxlQ29vcmRzVG9Od1NlKHQpLGU9dGhpcy5fY3JzLG49YihlLnByb2plY3QoaVswXSksZS5wcm9qZWN0KGlbMV0pKSxvPW4ubWluLHM9bi5tYXgscj0odGhpcy5fd21zVmVyc2lvbj49MS4zJiZ0aGlzLl9jcnM9PT1VZT9bby55LG8ueCxzLnkscy54XTpbby54LG8ueSxzLngscy55XSkuam9pbigiLCIpLGE9bW4ucHJvdG90eXBlLmdldFRpbGVVcmwuY2FsbCh0aGlzLHQpO3JldHVybiBhK2ModGhpcy53bXNQYXJhbXMsYSx0aGlzLm9wdGlvbnMudXBwZXJjYXNlKSsodGhpcy5vcHRpb25zLnVwcGVyY2FzZT8iJkJCT1g9IjoiJmJib3g9Iikrcn0sc2V0UGFyYW1zOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodGhpcy53bXNQYXJhbXMsdCksZXx8dGhpcy5yZWRyYXcoKSx0aGlzfX0pO21uLldNUz1mbixKdC53bXM9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3IGZuKHQsaSl9O3ZhciBnbj1xZS5leHRlbmQoe29wdGlvbnM6e3BhZGRpbmc6LjEsdG9sZXJhbmNlOjB9LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7bCh0aGlzLHQpLG4odGhpcyksdGhpcy5fbGF5ZXJzPXRoaXMuX2xheWVyc3x8e319LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5fY29udGFpbmVyfHwodGhpcy5faW5pdENvbnRhaW5lcigpLHRoaXMuX3pvb21BbmltYXRlZCYmUSh0aGlzLl9jb250YWluZXIsImxlYWZsZXQtem9vbS1hbmltYXRlZCIpKSx0aGlzLmdldFBhbmUoKS5hcHBlbmRDaGlsZCh0aGlzLl9jb250YWluZXIpLHRoaXMuX3VwZGF0ZSgpLHRoaXMub24oInVwZGF0ZSIsdGhpcy5fdXBkYXRlUGF0aHMsdGhpcyl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5vZmYoInVwZGF0ZSIsdGhpcy5fdXBkYXRlUGF0aHMsdGhpcyksdGhpcy5fZGVzdHJveUNvbnRhaW5lcigpfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD17dmlld3Jlc2V0OnRoaXMuX3Jlc2V0LHpvb206dGhpcy5fb25ab29tLG1vdmVlbmQ6dGhpcy5fdXBkYXRlLHpvb21lbmQ6dGhpcy5fb25ab29tRW5kfTtyZXR1cm4gdGhpcy5fem9vbUFuaW1hdGVkJiYodC56b29tYW5pbT10aGlzLl9vbkFuaW1ab29tKSx0fSxfb25BbmltWm9vbTpmdW5jdGlvbih0KXt0aGlzLl91cGRhdGVUcmFuc2Zvcm0odC5jZW50ZXIsdC56b29tKX0sX29uWm9vbTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVRyYW5zZm9ybSh0aGlzLl9tYXAuZ2V0Q2VudGVyKCksdGhpcy5fbWFwLmdldFpvb20oKSl9LF91cGRhdGVUcmFuc2Zvcm06ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9tYXAuZ2V0Wm9vbVNjYWxlKGksdGhpcy5fem9vbSksbj1odCh0aGlzLl9jb250YWluZXIpLG89dGhpcy5fbWFwLmdldFNpemUoKS5tdWx0aXBseUJ5KC41K3RoaXMub3B0aW9ucy5wYWRkaW5nKSxzPXRoaXMuX21hcC5wcm9qZWN0KHRoaXMuX2NlbnRlcixpKSxyPXRoaXMuX21hcC5wcm9qZWN0KHQsaSkuc3VidHJhY3QocyksYT1vLm11bHRpcGx5QnkoLWUpLmFkZChuKS5hZGQobykuc3VidHJhY3Qocik7amk/cnQodGhpcy5fY29udGFpbmVyLGEsZSk6YXQodGhpcy5fY29udGFpbmVyLGEpfSxfcmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGUoKSx0aGlzLl91cGRhdGVUcmFuc2Zvcm0odGhpcy5fY2VudGVyLHRoaXMuX3pvb20pO2Zvcih2YXIgdCBpbiB0aGlzLl9sYXllcnMpdGhpcy5fbGF5ZXJzW3RdLl9yZXNldCgpfSxfb25ab29tRW5kOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0uX3Byb2plY3QoKX0sX3VwZGF0ZVBhdGhzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0uX3VwZGF0ZSgpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnBhZGRpbmcsaT10aGlzLl9tYXAuZ2V0U2l6ZSgpLGU9dGhpcy5fbWFwLmNvbnRhaW5lclBvaW50VG9MYXllclBvaW50KGkubXVsdGlwbHlCeSgtdCkpLnJvdW5kKCk7dGhpcy5fYm91bmRzPW5ldyBQKGUsZS5hZGQoaS5tdWx0aXBseUJ5KDErMip0KSkucm91bmQoKSksdGhpcy5fY2VudGVyPXRoaXMuX21hcC5nZXRDZW50ZXIoKSx0aGlzLl96b29tPXRoaXMuX21hcC5nZXRab29tKCl9fSksdm49Z24uZXh0ZW5kKHtnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD1nbi5wcm90b3R5cGUuZ2V0RXZlbnRzLmNhbGwodGhpcyk7cmV0dXJuIHQudmlld3ByZXJlc2V0PXRoaXMuX29uVmlld1ByZVJlc2V0LHR9LF9vblZpZXdQcmVSZXNldDpmdW5jdGlvbigpe3RoaXMuX3Bvc3Rwb25lVXBkYXRlUGF0aHM9ITB9LG9uQWRkOmZ1bmN0aW9uKCl7Z24ucHJvdG90eXBlLm9uQWRkLmNhbGwodGhpcyksdGhpcy5fZHJhdygpfSxfaW5pdENvbnRhaW5lcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbnRhaW5lcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTttdCh0LCJtb3VzZW1vdmUiLG8odGhpcy5fb25Nb3VzZU1vdmUsMzIsdGhpcyksdGhpcyksbXQodCwiY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgY29udGV4dG1lbnUiLHRoaXMuX29uQ2xpY2ssdGhpcyksbXQodCwibW91c2VvdXQiLHRoaXMuX2hhbmRsZU1vdXNlT3V0LHRoaXMpLHRoaXMuX2N0eD10LmdldENvbnRleHQoIjJkIil9LF9kZXN0cm95Q29udGFpbmVyOmZ1bmN0aW9uKCl7Zyh0aGlzLl9yZWRyYXdSZXF1ZXN0KSxkZWxldGUgdGhpcy5fY3R4LEsodGhpcy5fY29udGFpbmVyKSxmdCh0aGlzLl9jb250YWluZXIpLGRlbGV0ZSB0aGlzLl9jb250YWluZXJ9LF91cGRhdGVQYXRoczpmdW5jdGlvbigpe2lmKCF0aGlzLl9wb3N0cG9uZVVwZGF0ZVBhdGhzKXt0aGlzLl9yZWRyYXdCb3VuZHM9bnVsbDtmb3IodmFyIHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5fdXBkYXRlKCk7dGhpcy5fcmVkcmF3KCl9fSxfdXBkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX21hcC5fYW5pbWF0aW5nWm9vbXx8IXRoaXMuX2JvdW5kcyl7Z24ucHJvdG90eXBlLl91cGRhdGUuY2FsbCh0aGlzKTt2YXIgdD10aGlzLl9ib3VuZHMsaT10aGlzLl9jb250YWluZXIsZT10LmdldFNpemUoKSxuPVlpPzI6MTthdChpLHQubWluKSxpLndpZHRoPW4qZS54LGkuaGVpZ2h0PW4qZS55LGkuc3R5bGUud2lkdGg9ZS54KyJweCIsaS5zdHlsZS5oZWlnaHQ9ZS55KyJweCIsWWkmJnRoaXMuX2N0eC5zY2FsZSgyLDIpLHRoaXMuX2N0eC50cmFuc2xhdGUoLXQubWluLngsLXQubWluLnkpLHRoaXMuZmlyZSgidXBkYXRlIil9fSxfcmVzZXQ6ZnVuY3Rpb24oKXtnbi5wcm90b3R5cGUuX3Jlc2V0LmNhbGwodGhpcyksdGhpcy5fcG9zdHBvbmVVcGRhdGVQYXRocyYmKHRoaXMuX3Bvc3Rwb25lVXBkYXRlUGF0aHM9ITEsdGhpcy5fdXBkYXRlUGF0aHMoKSl9LF9pbml0UGF0aDpmdW5jdGlvbih0KXt0aGlzLl91cGRhdGVEYXNoQXJyYXkodCksdGhpcy5fbGF5ZXJzW24odCldPXQ7dmFyIGk9dC5fb3JkZXI9e2xheWVyOnQscHJldjp0aGlzLl9kcmF3TGFzdCxuZXh0Om51bGx9O3RoaXMuX2RyYXdMYXN0JiYodGhpcy5fZHJhd0xhc3QubmV4dD1pKSx0aGlzLl9kcmF3TGFzdD1pLHRoaXMuX2RyYXdGaXJzdD10aGlzLl9kcmF3Rmlyc3R8fHRoaXMuX2RyYXdMYXN0fSxfYWRkUGF0aDpmdW5jdGlvbih0KXt0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpfSxfcmVtb3ZlUGF0aDpmdW5jdGlvbih0KXt2YXIgaT10Ll9vcmRlcixlPWkubmV4dCxvPWkucHJldjtlP2UucHJldj1vOnRoaXMuX2RyYXdMYXN0PW8sbz9vLm5leHQ9ZTp0aGlzLl9kcmF3Rmlyc3Q9ZSxkZWxldGUgdC5fb3JkZXIsZGVsZXRlIHRoaXMuX2xheWVyc1tuKHQpXSx0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpfSxfdXBkYXRlUGF0aDpmdW5jdGlvbih0KXt0aGlzLl9leHRlbmRSZWRyYXdCb3VuZHModCksdC5fcHJvamVjdCgpLHQuX3VwZGF0ZSgpLHRoaXMuX3JlcXVlc3RSZWRyYXcodCl9LF91cGRhdGVTdHlsZTpmdW5jdGlvbih0KXt0aGlzLl91cGRhdGVEYXNoQXJyYXkodCksdGhpcy5fcmVxdWVzdFJlZHJhdyh0KX0sX3VwZGF0ZURhc2hBcnJheTpmdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQub3B0aW9ucy5kYXNoQXJyYXkpe3ZhciBpLGUsbj10Lm9wdGlvbnMuZGFzaEFycmF5LnNwbGl0KC9bLCBdKy8pLG89W107Zm9yKGU9MDtlPG4ubGVuZ3RoO2UrKyl7aWYoaT1OdW1iZXIobltlXSksaXNOYU4oaSkpcmV0dXJuO28ucHVzaChpKX10Lm9wdGlvbnMuX2Rhc2hBcnJheT1vfWVsc2UgdC5vcHRpb25zLl9kYXNoQXJyYXk9dC5vcHRpb25zLmRhc2hBcnJheX0sX3JlcXVlc3RSZWRyYXc6ZnVuY3Rpb24odCl7dGhpcy5fbWFwJiYodGhpcy5fZXh0ZW5kUmVkcmF3Qm91bmRzKHQpLHRoaXMuX3JlZHJhd1JlcXVlc3Q9dGhpcy5fcmVkcmF3UmVxdWVzdHx8Zih0aGlzLl9yZWRyYXcsdGhpcykpfSxfZXh0ZW5kUmVkcmF3Qm91bmRzOmZ1bmN0aW9uKHQpe2lmKHQuX3B4Qm91bmRzKXt2YXIgaT0odC5vcHRpb25zLndlaWdodHx8MCkrMTt0aGlzLl9yZWRyYXdCb3VuZHM9dGhpcy5fcmVkcmF3Qm91bmRzfHxuZXcgUCx0aGlzLl9yZWRyYXdCb3VuZHMuZXh0ZW5kKHQuX3B4Qm91bmRzLm1pbi5zdWJ0cmFjdChbaSxpXSkpLHRoaXMuX3JlZHJhd0JvdW5kcy5leHRlbmQodC5fcHhCb3VuZHMubWF4LmFkZChbaSxpXSkpfX0sX3JlZHJhdzpmdW5jdGlvbigpe3RoaXMuX3JlZHJhd1JlcXVlc3Q9bnVsbCx0aGlzLl9yZWRyYXdCb3VuZHMmJih0aGlzLl9yZWRyYXdCb3VuZHMubWluLl9mbG9vcigpLHRoaXMuX3JlZHJhd0JvdW5kcy5tYXguX2NlaWwoKSksdGhpcy5fY2xlYXIoKSx0aGlzLl9kcmF3KCksdGhpcy5fcmVkcmF3Qm91bmRzPW51bGx9LF9jbGVhcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3JlZHJhd0JvdW5kcztpZih0KXt2YXIgaT10LmdldFNpemUoKTt0aGlzLl9jdHguY2xlYXJSZWN0KHQubWluLngsdC5taW4ueSxpLngsaS55KX1lbHNlIHRoaXMuX2N0eC5jbGVhclJlY3QoMCwwLHRoaXMuX2NvbnRhaW5lci53aWR0aCx0aGlzLl9jb250YWluZXIuaGVpZ2h0KX0sX2RyYXc6ZnVuY3Rpb24oKXt2YXIgdCxpPXRoaXMuX3JlZHJhd0JvdW5kcztpZih0aGlzLl9jdHguc2F2ZSgpLGkpe3ZhciBlPWkuZ2V0U2l6ZSgpO3RoaXMuX2N0eC5iZWdpblBhdGgoKSx0aGlzLl9jdHgucmVjdChpLm1pbi54LGkubWluLnksZS54LGUueSksdGhpcy5fY3R4LmNsaXAoKX10aGlzLl9kcmF3aW5nPSEwO2Zvcih2YXIgbj10aGlzLl9kcmF3Rmlyc3Q7bjtuPW4ubmV4dCl0PW4ubGF5ZXIsKCFpfHx0Ll9weEJvdW5kcyYmdC5fcHhCb3VuZHMuaW50ZXJzZWN0cyhpKSkmJnQuX3VwZGF0ZVBhdGgoKTt0aGlzLl9kcmF3aW5nPSExLHRoaXMuX2N0eC5yZXN0b3JlKCl9LF91cGRhdGVQb2x5OmZ1bmN0aW9uKHQsaSl7aWYodGhpcy5fZHJhd2luZyl7dmFyIGUsbixvLHMscj10Ll9wYXJ0cyxhPXIubGVuZ3RoLGg9dGhpcy5fY3R4O2lmKGEpe2ZvcihoLmJlZ2luUGF0aCgpLGU9MDtlPGE7ZSsrKXtmb3Iobj0wLG89cltlXS5sZW5ndGg7bjxvO24rKylzPXJbZV1bbl0saFtuPyJsaW5lVG8iOiJtb3ZlVG8iXShzLngscy55KTtpJiZoLmNsb3NlUGF0aCgpfXRoaXMuX2ZpbGxTdHJva2UoaCx0KX19fSxfdXBkYXRlQ2lyY2xlOmZ1bmN0aW9uKHQpe2lmKHRoaXMuX2RyYXdpbmcmJiF0Ll9lbXB0eSgpKXt2YXIgaT10Ll9wb2ludCxlPXRoaXMuX2N0eCxuPU1hdGgubWF4KE1hdGgucm91bmQodC5fcmFkaXVzKSwxKSxvPShNYXRoLm1heChNYXRoLnJvdW5kKHQuX3JhZGl1c1kpLDEpfHxuKS9uOzEhPT1vJiYoZS5zYXZlKCksZS5zY2FsZSgxLG8pKSxlLmJlZ2luUGF0aCgpLGUuYXJjKGkueCxpLnkvbyxuLDAsMipNYXRoLlBJLCExKSwxIT09byYmZS5yZXN0b3JlKCksdGhpcy5fZmlsbFN0cm9rZShlLHQpfX0sX2ZpbGxTdHJva2U6ZnVuY3Rpb24odCxpKXt2YXIgZT1pLm9wdGlvbnM7ZS5maWxsJiYodC5nbG9iYWxBbHBoYT1lLmZpbGxPcGFjaXR5LHQuZmlsbFN0eWxlPWUuZmlsbENvbG9yfHxlLmNvbG9yLHQuZmlsbChlLmZpbGxSdWxlfHwiZXZlbm9kZCIpKSxlLnN0cm9rZSYmMCE9PWUud2VpZ2h0JiYodC5zZXRMaW5lRGFzaCYmdC5zZXRMaW5lRGFzaChpLm9wdGlvbnMmJmkub3B0aW9ucy5fZGFzaEFycmF5fHxbXSksdC5nbG9iYWxBbHBoYT1lLm9wYWNpdHksdC5saW5lV2lkdGg9ZS53ZWlnaHQsdC5zdHJva2VTdHlsZT1lLmNvbG9yLHQubGluZUNhcD1lLmxpbmVDYXAsdC5saW5lSm9pbj1lLmxpbmVKb2luLHQuc3Ryb2tlKCkpfSxfb25DbGljazpmdW5jdGlvbih0KXtmb3IodmFyIGksZSxuPXRoaXMuX21hcC5tb3VzZUV2ZW50VG9MYXllclBvaW50KHQpLG89dGhpcy5fZHJhd0ZpcnN0O287bz1vLm5leHQpKGk9by5sYXllcikub3B0aW9ucy5pbnRlcmFjdGl2ZSYmaS5fY29udGFpbnNQb2ludChuKSYmIXRoaXMuX21hcC5fZHJhZ2dhYmxlTW92ZWQoaSkmJihlPWkpO2UmJih6dCh0KSx0aGlzLl9maXJlRXZlbnQoW2VdLHQpKX0sX29uTW91c2VNb3ZlOmZ1bmN0aW9uKHQpe2lmKHRoaXMuX21hcCYmIXRoaXMuX21hcC5kcmFnZ2luZy5tb3ZpbmcoKSYmIXRoaXMuX21hcC5fYW5pbWF0aW5nWm9vbSl7dmFyIGk9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0xheWVyUG9pbnQodCk7dGhpcy5faGFuZGxlTW91c2VIb3Zlcih0LGkpfX0sX2hhbmRsZU1vdXNlT3V0OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2hvdmVyZWRMYXllcjtpJiYodHQodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5fZmlyZUV2ZW50KFtpXSx0LCJtb3VzZW91dCIpLHRoaXMuX2hvdmVyZWRMYXllcj1udWxsKX0sX2hhbmRsZU1vdXNlSG92ZXI6ZnVuY3Rpb24odCxpKXtmb3IodmFyIGUsbixvPXRoaXMuX2RyYXdGaXJzdDtvO289by5uZXh0KShlPW8ubGF5ZXIpLm9wdGlvbnMuaW50ZXJhY3RpdmUmJmUuX2NvbnRhaW5zUG9pbnQoaSkmJihuPWUpO24hPT10aGlzLl9ob3ZlcmVkTGF5ZXImJih0aGlzLl9oYW5kbGVNb3VzZU91dCh0KSxuJiYoUSh0aGlzLl9jb250YWluZXIsImxlYWZsZXQtaW50ZXJhY3RpdmUiKSx0aGlzLl9maXJlRXZlbnQoW25dLHQsIm1vdXNlb3ZlciIpLHRoaXMuX2hvdmVyZWRMYXllcj1uKSksdGhpcy5faG92ZXJlZExheWVyJiZ0aGlzLl9maXJlRXZlbnQoW3RoaXMuX2hvdmVyZWRMYXllcl0sdCl9LF9maXJlRXZlbnQ6ZnVuY3Rpb24odCxpLGUpe3RoaXMuX21hcC5fZmlyZURPTUV2ZW50KGksZXx8aS50eXBlLHQpfSxfYnJpbmdUb0Zyb250OmZ1bmN0aW9uKHQpe3ZhciBpPXQuX29yZGVyO2lmKGkpe3ZhciBlPWkubmV4dCxuPWkucHJldjtlJiYoZS5wcmV2PW4sbj9uLm5leHQ9ZTplJiYodGhpcy5fZHJhd0ZpcnN0PWUpLGkucHJldj10aGlzLl9kcmF3TGFzdCx0aGlzLl9kcmF3TGFzdC5uZXh0PWksaS5uZXh0PW51bGwsdGhpcy5fZHJhd0xhc3Q9aSx0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpKX19LF9icmluZ1RvQmFjazpmdW5jdGlvbih0KXt2YXIgaT10Ll9vcmRlcjtpZihpKXt2YXIgZT1pLm5leHQsbj1pLnByZXY7biYmKG4ubmV4dD1lLGU/ZS5wcmV2PW46biYmKHRoaXMuX2RyYXdMYXN0PW4pLGkucHJldj1udWxsLGkubmV4dD10aGlzLl9kcmF3Rmlyc3QsdGhpcy5fZHJhd0ZpcnN0LnByZXY9aSx0aGlzLl9kcmF3Rmlyc3Q9aSx0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpKX19fSkseW49ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGRvY3VtZW50Lm5hbWVzcGFjZXMuYWRkKCJsdm1sIiwidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiKSxmdW5jdGlvbih0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiPGx2bWw6Iit0KycgY2xhc3M9Imx2bWwiPicpfX1jYXRjaCh0KXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIjwiK3QrJyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LmNvbTp2bWwiIGNsYXNzPSJsdm1sIj4nKX19fSgpLHhuPXtfaW5pdENvbnRhaW5lcjpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lcj1HKCJkaXYiLCJsZWFmbGV0LXZtbC1jb250YWluZXIiKX0sX3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX21hcC5fYW5pbWF0aW5nWm9vbXx8KGduLnByb3RvdHlwZS5fdXBkYXRlLmNhbGwodGhpcyksdGhpcy5maXJlKCJ1cGRhdGUiKSl9LF9pbml0UGF0aDpmdW5jdGlvbih0KXt2YXIgaT10Ll9jb250YWluZXI9eW4oInNoYXBlIik7UShpLCJsZWFmbGV0LXZtbC1zaGFwZSAiKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lfHwiIikpLGkuY29vcmRzaXplPSIxIDEiLHQuX3BhdGg9eW4oInBhdGgiKSxpLmFwcGVuZENoaWxkKHQuX3BhdGgpLHRoaXMuX3VwZGF0ZVN0eWxlKHQpLHRoaXMuX2xheWVyc1tuKHQpXT10fSxfYWRkUGF0aDpmdW5jdGlvbih0KXt2YXIgaT10Ll9jb250YWluZXI7dGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKGkpLHQub3B0aW9ucy5pbnRlcmFjdGl2ZSYmdC5hZGRJbnRlcmFjdGl2ZVRhcmdldChpKX0sX3JlbW92ZVBhdGg6ZnVuY3Rpb24odCl7dmFyIGk9dC5fY29udGFpbmVyO0soaSksdC5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldChpKSxkZWxldGUgdGhpcy5fbGF5ZXJzW24odCldfSxfdXBkYXRlU3R5bGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5fc3Ryb2tlLGU9dC5fZmlsbCxuPXQub3B0aW9ucyxvPXQuX2NvbnRhaW5lcjtvLnN0cm9rZWQ9ISFuLnN0cm9rZSxvLmZpbGxlZD0hIW4uZmlsbCxuLnN0cm9rZT8oaXx8KGk9dC5fc3Ryb2tlPXluKCJzdHJva2UiKSksby5hcHBlbmRDaGlsZChpKSxpLndlaWdodD1uLndlaWdodCsicHgiLGkuY29sb3I9bi5jb2xvcixpLm9wYWNpdHk9bi5vcGFjaXR5LG4uZGFzaEFycmF5P2kuZGFzaFN0eWxlPW9pKG4uZGFzaEFycmF5KT9uLmRhc2hBcnJheS5qb2luKCIgIik6bi5kYXNoQXJyYXkucmVwbGFjZSgvKCAqLCAqKS9nLCIgIik6aS5kYXNoU3R5bGU9IiIsaS5lbmRjYXA9bi5saW5lQ2FwLnJlcGxhY2UoImJ1dHQiLCJmbGF0IiksaS5qb2luc3R5bGU9bi5saW5lSm9pbik6aSYmKG8ucmVtb3ZlQ2hpbGQoaSksdC5fc3Ryb2tlPW51bGwpLG4uZmlsbD8oZXx8KGU9dC5fZmlsbD15bigiZmlsbCIpKSxvLmFwcGVuZENoaWxkKGUpLGUuY29sb3I9bi5maWxsQ29sb3J8fG4uY29sb3IsZS5vcGFjaXR5PW4uZmlsbE9wYWNpdHkpOmUmJihvLnJlbW92ZUNoaWxkKGUpLHQuX2ZpbGw9bnVsbCl9LF91cGRhdGVDaXJjbGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5fcG9pbnQucm91bmQoKSxlPU1hdGgucm91bmQodC5fcmFkaXVzKSxuPU1hdGgucm91bmQodC5fcmFkaXVzWXx8ZSk7dGhpcy5fc2V0UGF0aCh0LHQuX2VtcHR5KCk/Ik0wIDAiOiJBTCAiK2kueCsiLCIraS55KyIgIitlKyIsIituKyIgMCwyMzU5MjYwMCIpfSxfc2V0UGF0aDpmdW5jdGlvbih0LGkpe3QuX3BhdGgudj1pfSxfYnJpbmdUb0Zyb250OmZ1bmN0aW9uKHQpe1godC5fY29udGFpbmVyKX0sX2JyaW5nVG9CYWNrOmZ1bmN0aW9uKHQpe0oodC5fY29udGFpbmVyKX19LHduPSRpP3luOkUsUG49Z24uZXh0ZW5kKHtnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD1nbi5wcm90b3R5cGUuZ2V0RXZlbnRzLmNhbGwodGhpcyk7cmV0dXJuIHQuem9vbXN0YXJ0PXRoaXMuX29uWm9vbVN0YXJ0LHR9LF9pbml0Q29udGFpbmVyOmZ1bmN0aW9uKCl7dGhpcy5fY29udGFpbmVyPXduKCJzdmciKSx0aGlzLl9jb250YWluZXIuc2V0QXR0cmlidXRlKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKSx0aGlzLl9yb290R3JvdXA9d24oImciKSx0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5fcm9vdEdyb3VwKX0sX2Rlc3Ryb3lDb250YWluZXI6ZnVuY3Rpb24oKXtLKHRoaXMuX2NvbnRhaW5lciksZnQodGhpcy5fY29udGFpbmVyKSxkZWxldGUgdGhpcy5fY29udGFpbmVyLGRlbGV0ZSB0aGlzLl9yb290R3JvdXAsZGVsZXRlIHRoaXMuX3N2Z1NpemV9LF9vblpvb21TdGFydDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZSgpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX21hcC5fYW5pbWF0aW5nWm9vbXx8IXRoaXMuX2JvdW5kcyl7Z24ucHJvdG90eXBlLl91cGRhdGUuY2FsbCh0aGlzKTt2YXIgdD10aGlzLl9ib3VuZHMsaT10LmdldFNpemUoKSxlPXRoaXMuX2NvbnRhaW5lcjt0aGlzLl9zdmdTaXplJiZ0aGlzLl9zdmdTaXplLmVxdWFscyhpKXx8KHRoaXMuX3N2Z1NpemU9aSxlLnNldEF0dHJpYnV0ZSgid2lkdGgiLGkueCksZS5zZXRBdHRyaWJ1dGUoImhlaWdodCIsaS55KSksYXQoZSx0Lm1pbiksZS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLFt0Lm1pbi54LHQubWluLnksaS54LGkueV0uam9pbigiICIpKSx0aGlzLmZpcmUoInVwZGF0ZSIpfX0sX2luaXRQYXRoOmZ1bmN0aW9uKHQpe3ZhciBpPXQuX3BhdGg9d24oInBhdGgiKTt0Lm9wdGlvbnMuY2xhc3NOYW1lJiZRKGksdC5vcHRpb25zLmNsYXNzTmFtZSksdC5vcHRpb25zLmludGVyYWN0aXZlJiZRKGksImxlYWZsZXQtaW50ZXJhY3RpdmUiKSx0aGlzLl91cGRhdGVTdHlsZSh0KSx0aGlzLl9sYXllcnNbbih0KV09dH0sX2FkZFBhdGg6ZnVuY3Rpb24odCl7dGhpcy5fcm9vdEdyb3VwfHx0aGlzLl9pbml0Q29udGFpbmVyKCksdGhpcy5fcm9vdEdyb3VwLmFwcGVuZENoaWxkKHQuX3BhdGgpLHQuYWRkSW50ZXJhY3RpdmVUYXJnZXQodC5fcGF0aCl9LF9yZW1vdmVQYXRoOmZ1bmN0aW9uKHQpe0sodC5fcGF0aCksdC5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0Ll9wYXRoKSxkZWxldGUgdGhpcy5fbGF5ZXJzW24odCldfSxfdXBkYXRlUGF0aDpmdW5jdGlvbih0KXt0Ll9wcm9qZWN0KCksdC5fdXBkYXRlKCl9LF91cGRhdGVTdHlsZTpmdW5jdGlvbih0KXt2YXIgaT10Ll9wYXRoLGU9dC5vcHRpb25zO2kmJihlLnN0cm9rZT8oaS5zZXRBdHRyaWJ1dGUoInN0cm9rZSIsZS5jb2xvciksaS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1vcGFjaXR5IixlLm9wYWNpdHkpLGkuc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLGUud2VpZ2h0KSxpLnNldEF0dHJpYnV0ZSgic3Ryb2tlLWxpbmVjYXAiLGUubGluZUNhcCksaS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1saW5lam9pbiIsZS5saW5lSm9pbiksZS5kYXNoQXJyYXk/aS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1kYXNoYXJyYXkiLGUuZGFzaEFycmF5KTppLnJlbW92ZUF0dHJpYnV0ZSgic3Ryb2tlLWRhc2hhcnJheSIpLGUuZGFzaE9mZnNldD9pLnNldEF0dHJpYnV0ZSgic3Ryb2tlLWRhc2hvZmZzZXQiLGUuZGFzaE9mZnNldCk6aS5yZW1vdmVBdHRyaWJ1dGUoInN0cm9rZS1kYXNob2Zmc2V0IikpOmkuc2V0QXR0cmlidXRlKCJzdHJva2UiLCJub25lIiksZS5maWxsPyhpLnNldEF0dHJpYnV0ZSgiZmlsbCIsZS5maWxsQ29sb3J8fGUuY29sb3IpLGkuc2V0QXR0cmlidXRlKCJmaWxsLW9wYWNpdHkiLGUuZmlsbE9wYWNpdHkpLGkuc2V0QXR0cmlidXRlKCJmaWxsLXJ1bGUiLGUuZmlsbFJ1bGV8fCJldmVub2RkIikpOmkuc2V0QXR0cmlidXRlKCJmaWxsIiwibm9uZSIpKX0sX3VwZGF0ZVBvbHk6ZnVuY3Rpb24odCxpKXt0aGlzLl9zZXRQYXRoKHQsayh0Ll9wYXJ0cyxpKSl9LF91cGRhdGVDaXJjbGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5fcG9pbnQsZT1NYXRoLm1heChNYXRoLnJvdW5kKHQuX3JhZGl1cyksMSksbj0iYSIrZSsiLCIrKE1hdGgubWF4KE1hdGgucm91bmQodC5fcmFkaXVzWSksMSl8fGUpKyIgMCAxLDAgIixvPXQuX2VtcHR5KCk/Ik0wIDAiOiJNIisoaS54LWUpKyIsIitpLnkrbisyKmUrIiwwICIrbisyKi1lKyIsMCAiO3RoaXMuX3NldFBhdGgodCxvKX0sX3NldFBhdGg6ZnVuY3Rpb24odCxpKXt0Ll9wYXRoLnNldEF0dHJpYnV0ZSgiZCIsaSl9LF9icmluZ1RvRnJvbnQ6ZnVuY3Rpb24odCl7WCh0Ll9wYXRoKX0sX2JyaW5nVG9CYWNrOmZ1bmN0aW9uKHQpe0oodC5fcGF0aCl9fSk7JGkmJlBuLmluY2x1ZGUoeG4pLGJlLmluY2x1ZGUoe2dldFJlbmRlcmVyOmZ1bmN0aW9uKHQpe3ZhciBpPXQub3B0aW9ucy5yZW5kZXJlcnx8dGhpcy5fZ2V0UGFuZVJlbmRlcmVyKHQub3B0aW9ucy5wYW5lKXx8dGhpcy5vcHRpb25zLnJlbmRlcmVyfHx0aGlzLl9yZW5kZXJlcjtyZXR1cm4gaXx8KGk9dGhpcy5fcmVuZGVyZXI9dGhpcy5fY3JlYXRlUmVuZGVyZXIoKSksdGhpcy5oYXNMYXllcihpKXx8dGhpcy5hZGRMYXllcihpKSxpfSxfZ2V0UGFuZVJlbmRlcmVyOmZ1bmN0aW9uKHQpe2lmKCJvdmVybGF5UGFuZSI9PT10fHx2b2lkIDA9PT10KXJldHVybiExO3ZhciBpPXRoaXMuX3BhbmVSZW5kZXJlcnNbdF07cmV0dXJuIHZvaWQgMD09PWkmJihpPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKHtwYW5lOnR9KSx0aGlzLl9wYW5lUmVuZGVyZXJzW3RdPWkpLGl9LF9jcmVhdGVSZW5kZXJlcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLnByZWZlckNhbnZhcyYmJHQodCl8fFF0KHQpfX0pO3ZhciBMbj1vbi5leHRlbmQoe2luaXRpYWxpemU6ZnVuY3Rpb24odCxpKXtvbi5wcm90b3R5cGUuaW5pdGlhbGl6ZS5jYWxsKHRoaXMsdGhpcy5fYm91bmRzVG9MYXRMbmdzKHQpLGkpfSxzZXRCb3VuZHM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc2V0TGF0TG5ncyh0aGlzLl9ib3VuZHNUb0xhdExuZ3ModCkpfSxfYm91bmRzVG9MYXRMbmdzOmZ1bmN0aW9uKHQpe3JldHVybiB0PXoodCksW3QuZ2V0U291dGhXZXN0KCksdC5nZXROb3J0aFdlc3QoKSx0LmdldE5vcnRoRWFzdCgpLHQuZ2V0U291dGhFYXN0KCldfX0pO1BuLmNyZWF0ZT13bixQbi5wb2ludHNUb1BhdGg9ayxzbi5nZW9tZXRyeVRvTGF5ZXI9RnQsc24uY29vcmRzVG9MYXRMbmc9VXQsc24uY29vcmRzVG9MYXRMbmdzPVZ0LHNuLmxhdExuZ1RvQ29vcmRzPXF0LHNuLmxhdExuZ3NUb0Nvb3Jkcz1HdCxzbi5nZXRGZWF0dXJlPUt0LHNuLmFzRmVhdHVyZT1ZdCxiZS5tZXJnZU9wdGlvbnMoe2JveFpvb206ITB9KTt2YXIgYm49RWUuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQpe3RoaXMuX21hcD10LHRoaXMuX2NvbnRhaW5lcj10Ll9jb250YWluZXIsdGhpcy5fcGFuZT10Ll9wYW5lcy5vdmVybGF5UGFuZSx0aGlzLl9yZXNldFN0YXRlVGltZW91dD0wLHQub24oInVubG9hZCIsdGhpcy5fZGVzdHJveSx0aGlzKX0sYWRkSG9va3M6ZnVuY3Rpb24oKXttdCh0aGlzLl9jb250YWluZXIsIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURvd24sdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7ZnQodGhpcy5fY29udGFpbmVyLCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEb3duLHRoaXMpfSxtb3ZlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb3ZlZH0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXtLKHRoaXMuX3BhbmUpLGRlbGV0ZSB0aGlzLl9wYW5lfSxfcmVzZXRTdGF0ZTpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0U3RhdGVUaW1lb3V0PTAsdGhpcy5fbW92ZWQ9ITF9LF9jbGVhckRlZmVycmVkUmVzZXRTdGF0ZTpmdW5jdGlvbigpezAhPT10aGlzLl9yZXNldFN0YXRlVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZXNldFN0YXRlVGltZW91dCksdGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQ9MCl9LF9vbk1vdXNlRG93bjpmdW5jdGlvbih0KXtpZighdC5zaGlmdEtleXx8MSE9PXQud2hpY2gmJjEhPT10LmJ1dHRvbilyZXR1cm4hMTt0aGlzLl9jbGVhckRlZmVycmVkUmVzZXRTdGF0ZSgpLHRoaXMuX3Jlc2V0U3RhdGUoKSxmaSgpLHV0KCksdGhpcy5fc3RhcnRQb2ludD10aGlzLl9tYXAubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCksbXQoZG9jdW1lbnQse2NvbnRleHRtZW51Okx0LG1vdXNlbW92ZTp0aGlzLl9vbk1vdXNlTW92ZSxtb3VzZXVwOnRoaXMuX29uTW91c2VVcCxrZXlkb3duOnRoaXMuX29uS2V5RG93bn0sdGhpcyl9LF9vbk1vdXNlTW92ZTpmdW5jdGlvbih0KXt0aGlzLl9tb3ZlZHx8KHRoaXMuX21vdmVkPSEwLHRoaXMuX2JveD1HKCJkaXYiLCJsZWFmbGV0LXpvb20tYm94Iix0aGlzLl9jb250YWluZXIpLFEodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNyb3NzaGFpciIpLHRoaXMuX21hcC5maXJlKCJib3h6b29tc3RhcnQiKSksdGhpcy5fcG9pbnQ9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpO3ZhciBpPW5ldyBQKHRoaXMuX3BvaW50LHRoaXMuX3N0YXJ0UG9pbnQpLGU9aS5nZXRTaXplKCk7YXQodGhpcy5fYm94LGkubWluKSx0aGlzLl9ib3guc3R5bGUud2lkdGg9ZS54KyJweCIsdGhpcy5fYm94LnN0eWxlLmhlaWdodD1lLnkrInB4In0sX2ZpbmlzaDpmdW5jdGlvbigpe3RoaXMuX21vdmVkJiYoSyh0aGlzLl9ib3gpLHR0KHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1jcm9zc2hhaXIiKSksZ2koKSxsdCgpLGZ0KGRvY3VtZW50LHtjb250ZXh0bWVudTpMdCxtb3VzZW1vdmU6dGhpcy5fb25Nb3VzZU1vdmUsbW91c2V1cDp0aGlzLl9vbk1vdXNlVXAsa2V5ZG93bjp0aGlzLl9vbktleURvd259LHRoaXMpfSxfb25Nb3VzZVVwOmZ1bmN0aW9uKHQpe2lmKCgxPT09dC53aGljaHx8MT09PXQuYnV0dG9uKSYmKHRoaXMuX2ZpbmlzaCgpLHRoaXMuX21vdmVkKSl7dGhpcy5fY2xlYXJEZWZlcnJlZFJlc2V0U3RhdGUoKSx0aGlzLl9yZXNldFN0YXRlVGltZW91dD1zZXRUaW1lb3V0KGUodGhpcy5fcmVzZXRTdGF0ZSx0aGlzKSwwKTt2YXIgaT1uZXcgVCh0aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xhdExuZyh0aGlzLl9zdGFydFBvaW50KSx0aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xhdExuZyh0aGlzLl9wb2ludCkpO3RoaXMuX21hcC5maXRCb3VuZHMoaSkuZmlyZSgiYm94em9vbWVuZCIse2JveFpvb21Cb3VuZHM6aX0pfX0sX29uS2V5RG93bjpmdW5jdGlvbih0KXsyNz09PXQua2V5Q29kZSYmdGhpcy5fZmluaXNoKCl9fSk7YmUuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJib3hab29tIixibiksYmUubWVyZ2VPcHRpb25zKHtkb3VibGVDbGlja1pvb206ITB9KTt2YXIgVG49RWUuZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe3RoaXMuX21hcC5vbigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLm9mZigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LF9vbkRvdWJsZUNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcCxlPWkuZ2V0Wm9vbSgpLG49aS5vcHRpb25zLnpvb21EZWx0YSxvPXQub3JpZ2luYWxFdmVudC5zaGlmdEtleT9lLW46ZStuOyJjZW50ZXIiPT09aS5vcHRpb25zLmRvdWJsZUNsaWNrWm9vbT9pLnNldFpvb20obyk6aS5zZXRab29tQXJvdW5kKHQuY29udGFpbmVyUG9pbnQsbyl9fSk7YmUuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJkb3VibGVDbGlja1pvb20iLFRuKSxiZS5tZXJnZU9wdGlvbnMoe2RyYWdnaW5nOiEwLGluZXJ0aWE6IU1pLGluZXJ0aWFEZWNlbGVyYXRpb246MzQwMCxpbmVydGlhTWF4U3BlZWQ6MS8wLGVhc2VMaW5lYXJpdHk6LjIsd29ybGRDb3B5SnVtcDohMSxtYXhCb3VuZHNWaXNjb3NpdHk6MH0pO3ZhciB6bj1FZS5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2RyYWdnYWJsZSl7dmFyIHQ9dGhpcy5fbWFwO3RoaXMuX2RyYWdnYWJsZT1uZXcgUmUodC5fbWFwUGFuZSx0Ll9jb250YWluZXIpLHRoaXMuX2RyYWdnYWJsZS5vbih7ZHJhZ3N0YXJ0OnRoaXMuX29uRHJhZ1N0YXJ0LGRyYWc6dGhpcy5fb25EcmFnLGRyYWdlbmQ6dGhpcy5fb25EcmFnRW5kfSx0aGlzKSx0aGlzLl9kcmFnZ2FibGUub24oInByZWRyYWciLHRoaXMuX29uUHJlRHJhZ0xpbWl0LHRoaXMpLHQub3B0aW9ucy53b3JsZENvcHlKdW1wJiYodGhpcy5fZHJhZ2dhYmxlLm9uKCJwcmVkcmFnIix0aGlzLl9vblByZURyYWdXcmFwLHRoaXMpLHQub24oInpvb21lbmQiLHRoaXMuX29uWm9vbUVuZCx0aGlzKSx0LndoZW5SZWFkeSh0aGlzLl9vblpvb21FbmQsdGhpcykpfVEodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtZ3JhYiBsZWFmbGV0LXRvdWNoLWRyYWciKSx0aGlzLl9kcmFnZ2FibGUuZW5hYmxlKCksdGhpcy5fcG9zaXRpb25zPVtdLHRoaXMuX3RpbWVzPVtdfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe3R0KHRoaXMuX21hcC5fY29udGFpbmVyLCJsZWFmbGV0LWdyYWIiKSx0dCh0aGlzLl9tYXAuX2NvbnRhaW5lciwibGVhZmxldC10b3VjaC1kcmFnIiksdGhpcy5fZHJhZ2dhYmxlLmRpc2FibGUoKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUuX21vdmVkfSxtb3Zpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUuX21vdmluZ30sX29uRHJhZ1N0YXJ0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwO2lmKHQuX3N0b3AoKSx0aGlzLl9tYXAub3B0aW9ucy5tYXhCb3VuZHMmJnRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kc1Zpc2Nvc2l0eSl7dmFyIGk9eih0aGlzLl9tYXAub3B0aW9ucy5tYXhCb3VuZHMpO3RoaXMuX29mZnNldExpbWl0PWIodGhpcy5fbWFwLmxhdExuZ1RvQ29udGFpbmVyUG9pbnQoaS5nZXROb3J0aFdlc3QoKSkubXVsdGlwbHlCeSgtMSksdGhpcy5fbWFwLmxhdExuZ1RvQ29udGFpbmVyUG9pbnQoaS5nZXRTb3V0aEVhc3QoKSkubXVsdGlwbHlCeSgtMSkuYWRkKHRoaXMuX21hcC5nZXRTaXplKCkpKSx0aGlzLl92aXNjb3NpdHk9TWF0aC5taW4oMSxNYXRoLm1heCgwLHRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kc1Zpc2Nvc2l0eSkpfWVsc2UgdGhpcy5fb2Zmc2V0TGltaXQ9bnVsbDt0LmZpcmUoIm1vdmVzdGFydCIpLmZpcmUoImRyYWdzdGFydCIpLHQub3B0aW9ucy5pbmVydGlhJiYodGhpcy5fcG9zaXRpb25zPVtdLHRoaXMuX3RpbWVzPVtdKX0sX29uRHJhZzpmdW5jdGlvbih0KXtpZih0aGlzLl9tYXAub3B0aW9ucy5pbmVydGlhKXt2YXIgaT10aGlzLl9sYXN0VGltZT0rbmV3IERhdGUsZT10aGlzLl9sYXN0UG9zPXRoaXMuX2RyYWdnYWJsZS5fYWJzUG9zfHx0aGlzLl9kcmFnZ2FibGUuX25ld1Bvczt0aGlzLl9wb3NpdGlvbnMucHVzaChlKSx0aGlzLl90aW1lcy5wdXNoKGkpLHRoaXMuX3BydW5lUG9zaXRpb25zKGkpfXRoaXMuX21hcC5maXJlKCJtb3ZlIix0KS5maXJlKCJkcmFnIix0KX0sX3BydW5lUG9zaXRpb25zOmZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5fcG9zaXRpb25zLmxlbmd0aD4xJiZ0LXRoaXMuX3RpbWVzWzBdPjUwOyl0aGlzLl9wb3NpdGlvbnMuc2hpZnQoKSx0aGlzLl90aW1lcy5zaGlmdCgpfSxfb25ab29tRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLmdldFNpemUoKS5kaXZpZGVCeSgyKSxpPXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQoWzAsMF0pO3RoaXMuX2luaXRpYWxXb3JsZE9mZnNldD1pLnN1YnRyYWN0KHQpLngsdGhpcy5fd29ybGRXaWR0aD10aGlzLl9tYXAuZ2V0UGl4ZWxXb3JsZEJvdW5kcygpLmdldFNpemUoKS54fSxfdmlzY291c0xpbWl0OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQtKHQtaSkqdGhpcy5fdmlzY29zaXR5fSxfb25QcmVEcmFnTGltaXQ6ZnVuY3Rpb24oKXtpZih0aGlzLl92aXNjb3NpdHkmJnRoaXMuX29mZnNldExpbWl0KXt2YXIgdD10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5zdWJ0cmFjdCh0aGlzLl9kcmFnZ2FibGUuX3N0YXJ0UG9zKSxpPXRoaXMuX29mZnNldExpbWl0O3QueDxpLm1pbi54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsaS5taW4ueCkpLHQueTxpLm1pbi55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksaS5taW4ueSkpLHQueD5pLm1heC54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsaS5tYXgueCkpLHQueT5pLm1heC55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksaS5tYXgueSkpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zPXRoaXMuX2RyYWdnYWJsZS5fc3RhcnRQb3MuYWRkKHQpfX0sX29uUHJlRHJhZ1dyYXA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93b3JsZFdpZHRoLGk9TWF0aC5yb3VuZCh0LzIpLGU9dGhpcy5faW5pdGlhbFdvcmxkT2Zmc2V0LG49dGhpcy5fZHJhZ2dhYmxlLl9uZXdQb3MueCxvPShuLWkrZSkldCtpLWUscz0obitpK2UpJXQtaS1lLHI9TWF0aC5hYnMobytlKTxNYXRoLmFicyhzK2UpP286czt0aGlzLl9kcmFnZ2FibGUuX2Fic1Bvcz10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5jbG9uZSgpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zLng9cn0sX29uRHJhZ0VuZDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXAsZT1pLm9wdGlvbnMsbj0hZS5pbmVydGlhfHx0aGlzLl90aW1lcy5sZW5ndGg8MjtpZihpLmZpcmUoImRyYWdlbmQiLHQpLG4paS5maXJlKCJtb3ZlZW5kIik7ZWxzZXt0aGlzLl9wcnVuZVBvc2l0aW9ucygrbmV3IERhdGUpO3ZhciBvPXRoaXMuX2xhc3RQb3Muc3VidHJhY3QodGhpcy5fcG9zaXRpb25zWzBdKSxzPSh0aGlzLl9sYXN0VGltZS10aGlzLl90aW1lc1swXSkvMWUzLHI9ZS5lYXNlTGluZWFyaXR5LGE9by5tdWx0aXBseUJ5KHIvcyksaD1hLmRpc3RhbmNlVG8oWzAsMF0pLHU9TWF0aC5taW4oZS5pbmVydGlhTWF4U3BlZWQsaCksbD1hLm11bHRpcGx5QnkodS9oKSxjPXUvKGUuaW5lcnRpYURlY2VsZXJhdGlvbipyKSxfPWwubXVsdGlwbHlCeSgtYy8yKS5yb3VuZCgpO18ueHx8Xy55PyhfPWkuX2xpbWl0T2Zmc2V0KF8saS5vcHRpb25zLm1heEJvdW5kcyksZihmdW5jdGlvbigpe2kucGFuQnkoXyx7ZHVyYXRpb246YyxlYXNlTGluZWFyaXR5OnIsbm9Nb3ZlU3RhcnQ6ITAsYW5pbWF0ZTohMH0pfSkpOmkuZmlyZSgibW92ZWVuZCIpfX19KTtiZS5hZGRJbml0SG9vaygiYWRkSGFuZGxlciIsImRyYWdnaW5nIix6biksYmUubWVyZ2VPcHRpb25zKHtrZXlib2FyZDohMCxrZXlib2FyZFBhbkRlbHRhOjgwfSk7dmFyIE1uPUVlLmV4dGVuZCh7a2V5Q29kZXM6e2xlZnQ6WzM3XSxyaWdodDpbMzldLGRvd246WzQwXSx1cDpbMzhdLHpvb21JbjpbMTg3LDEwNyw2MSwxNzFdLHpvb21PdXQ6WzE4OSwxMDksNTQsMTczXX0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXt0aGlzLl9tYXA9dCx0aGlzLl9zZXRQYW5EZWx0YSh0Lm9wdGlvbnMua2V5Ym9hcmRQYW5EZWx0YSksdGhpcy5fc2V0Wm9vbURlbHRhKHQub3B0aW9ucy56b29tRGVsdGEpfSxhZGRIb29rczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcC5fY29udGFpbmVyO3QudGFiSW5kZXg8PTAmJih0LnRhYkluZGV4PSIwIiksbXQodCx7Zm9jdXM6dGhpcy5fb25Gb2N1cyxibHVyOnRoaXMuX29uQmx1cixtb3VzZWRvd246dGhpcy5fb25Nb3VzZURvd259LHRoaXMpLHRoaXMuX21hcC5vbih7Zm9jdXM6dGhpcy5fYWRkSG9va3MsYmx1cjp0aGlzLl9yZW1vdmVIb29rc30sdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlSG9va3MoKSxmdCh0aGlzLl9tYXAuX2NvbnRhaW5lcix7Zm9jdXM6dGhpcy5fb25Gb2N1cyxibHVyOnRoaXMuX29uQmx1cixtb3VzZWRvd246dGhpcy5fb25Nb3VzZURvd259LHRoaXMpLHRoaXMuX21hcC5vZmYoe2ZvY3VzOnRoaXMuX2FkZEhvb2tzLGJsdXI6dGhpcy5fcmVtb3ZlSG9va3N9LHRoaXMpfSxfb25Nb3VzZURvd246ZnVuY3Rpb24oKXtpZighdGhpcy5fZm9jdXNlZCl7dmFyIHQ9ZG9jdW1lbnQuYm9keSxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlPXQuc2Nyb2xsVG9wfHxpLnNjcm9sbFRvcCxuPXQuc2Nyb2xsTGVmdHx8aS5zY3JvbGxMZWZ0O3RoaXMuX21hcC5fY29udGFpbmVyLmZvY3VzKCksd2luZG93LnNjcm9sbFRvKG4sZSl9fSxfb25Gb2N1czpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWQ9ITAsdGhpcy5fbWFwLmZpcmUoImZvY3VzIil9LF9vbkJsdXI6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkPSExLHRoaXMuX21hcC5maXJlKCJibHVyIil9LF9zZXRQYW5EZWx0YTpmdW5jdGlvbih0KXt2YXIgaSxlLG49dGhpcy5fcGFuS2V5cz17fSxvPXRoaXMua2V5Q29kZXM7Zm9yKGk9MCxlPW8ubGVmdC5sZW5ndGg7aTxlO2krKyluW28ubGVmdFtpXV09Wy0xKnQsMF07Zm9yKGk9MCxlPW8ucmlnaHQubGVuZ3RoO2k8ZTtpKyspbltvLnJpZ2h0W2ldXT1bdCwwXTtmb3IoaT0wLGU9by5kb3duLmxlbmd0aDtpPGU7aSsrKW5bby5kb3duW2ldXT1bMCx0XTtmb3IoaT0wLGU9by51cC5sZW5ndGg7aTxlO2krKyluW28udXBbaV1dPVswLC0xKnRdfSxfc2V0Wm9vbURlbHRhOmZ1bmN0aW9uKHQpe3ZhciBpLGUsbj10aGlzLl96b29tS2V5cz17fSxvPXRoaXMua2V5Q29kZXM7Zm9yKGk9MCxlPW8uem9vbUluLmxlbmd0aDtpPGU7aSsrKW5bby56b29tSW5baV1dPXQ7Zm9yKGk9MCxlPW8uem9vbU91dC5sZW5ndGg7aTxlO2krKyluW28uem9vbU91dFtpXV09LXR9LF9hZGRIb29rczpmdW5jdGlvbigpe210KGRvY3VtZW50LCJrZXlkb3duIix0aGlzLl9vbktleURvd24sdGhpcyl9LF9yZW1vdmVIb29rczpmdW5jdGlvbigpe2Z0KGRvY3VtZW50LCJrZXlkb3duIix0aGlzLl9vbktleURvd24sdGhpcyl9LF9vbktleURvd246ZnVuY3Rpb24odCl7aWYoISh0LmFsdEtleXx8dC5jdHJsS2V5fHx0Lm1ldGFLZXkpKXt2YXIgaSxlPXQua2V5Q29kZSxuPXRoaXMuX21hcDtpZihlIGluIHRoaXMuX3BhbktleXMpbi5fcGFuQW5pbSYmbi5fcGFuQW5pbS5faW5Qcm9ncmVzc3x8KGk9dGhpcy5fcGFuS2V5c1tlXSx0LnNoaWZ0S2V5JiYoaT13KGkpLm11bHRpcGx5QnkoMykpLG4ucGFuQnkoaSksbi5vcHRpb25zLm1heEJvdW5kcyYmbi5wYW5JbnNpZGVCb3VuZHMobi5vcHRpb25zLm1heEJvdW5kcykpO2Vsc2UgaWYoZSBpbiB0aGlzLl96b29tS2V5cyluLnNldFpvb20obi5nZXRab29tKCkrKHQuc2hpZnRLZXk/MzoxKSp0aGlzLl96b29tS2V5c1tlXSk7ZWxzZXtpZigyNyE9PWV8fCFuLl9wb3B1cHx8IW4uX3BvcHVwLm9wdGlvbnMuY2xvc2VPbkVzY2FwZUtleSlyZXR1cm47bi5jbG9zZVBvcHVwKCl9THQodCl9fX0pO2JlLmFkZEluaXRIb29rKCJhZGRIYW5kbGVyIiwia2V5Ym9hcmQiLE1uKSxiZS5tZXJnZU9wdGlvbnMoe3Njcm9sbFdoZWVsWm9vbTohMCx3aGVlbERlYm91bmNlVGltZTo0MCx3aGVlbFB4UGVyWm9vbUxldmVsOjYwfSk7dmFyIENuPUVlLmV4dGVuZCh7YWRkSG9va3M6ZnVuY3Rpb24oKXttdCh0aGlzLl9tYXAuX2NvbnRhaW5lciwibW91c2V3aGVlbCIsdGhpcy5fb25XaGVlbFNjcm9sbCx0aGlzKSx0aGlzLl9kZWx0YT0wfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe2Z0KHRoaXMuX21hcC5fY29udGFpbmVyLCJtb3VzZXdoZWVsIix0aGlzLl9vbldoZWVsU2Nyb2xsLHRoaXMpfSxfb25XaGVlbFNjcm9sbDpmdW5jdGlvbih0KXt2YXIgaT1UdCh0KSxuPXRoaXMuX21hcC5vcHRpb25zLndoZWVsRGVib3VuY2VUaW1lO3RoaXMuX2RlbHRhKz1pLHRoaXMuX2xhc3RNb3VzZVBvcz10aGlzLl9tYXAubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCksdGhpcy5fc3RhcnRUaW1lfHwodGhpcy5fc3RhcnRUaW1lPStuZXcgRGF0ZSk7dmFyIG89TWF0aC5tYXgobi0oK25ldyBEYXRlLXRoaXMuX3N0YXJ0VGltZSksMCk7Y2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVyKSx0aGlzLl90aW1lcj1zZXRUaW1lb3V0KGUodGhpcy5fcGVyZm9ybVpvb20sdGhpcyksbyksTHQodCl9LF9wZXJmb3JtWm9vbTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxpPXQuZ2V0Wm9vbSgpLGU9dGhpcy5fbWFwLm9wdGlvbnMuem9vbVNuYXB8fDA7dC5fc3RvcCgpO3ZhciBuPXRoaXMuX2RlbHRhLyg0KnRoaXMuX21hcC5vcHRpb25zLndoZWVsUHhQZXJab29tTGV2ZWwpLG89NCpNYXRoLmxvZygyLygxK01hdGguZXhwKC1NYXRoLmFicyhuKSkpKS9NYXRoLkxOMixzPWU/TWF0aC5jZWlsKG8vZSkqZTpvLHI9dC5fbGltaXRab29tKGkrKHRoaXMuX2RlbHRhPjA/czotcykpLWk7dGhpcy5fZGVsdGE9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCxyJiYoImNlbnRlciI9PT10Lm9wdGlvbnMuc2Nyb2xsV2hlZWxab29tP3Quc2V0Wm9vbShpK3IpOnQuc2V0Wm9vbUFyb3VuZCh0aGlzLl9sYXN0TW91c2VQb3MsaStyKSl9fSk7YmUuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJzY3JvbGxXaGVlbFpvb20iLENuKSxiZS5tZXJnZU9wdGlvbnMoe3RhcDohMCx0YXBUb2xlcmFuY2U6MTV9KTt2YXIgU249RWUuZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe210KHRoaXMuX21hcC5fY29udGFpbmVyLCJ0b3VjaHN0YXJ0Iix0aGlzLl9vbkRvd24sdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7ZnQodGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uRG93bix0aGlzKX0sX29uRG93bjpmdW5jdGlvbih0KXtpZih0LnRvdWNoZXMpe2lmKFB0KHQpLHRoaXMuX2ZpcmVDbGljaz0hMCx0LnRvdWNoZXMubGVuZ3RoPjEpcmV0dXJuIHRoaXMuX2ZpcmVDbGljaz0hMSx2b2lkIGNsZWFyVGltZW91dCh0aGlzLl9ob2xkVGltZW91dCk7dmFyIGk9dC50b3VjaGVzWzBdLG49aS50YXJnZXQ7dGhpcy5fc3RhcnRQb3M9dGhpcy5fbmV3UG9zPW5ldyB4KGkuY2xpZW50WCxpLmNsaWVudFkpLG4udGFnTmFtZSYmImEiPT09bi50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJlEobiwibGVhZmxldC1hY3RpdmUiKSx0aGlzLl9ob2xkVGltZW91dD1zZXRUaW1lb3V0KGUoZnVuY3Rpb24oKXt0aGlzLl9pc1RhcFZhbGlkKCkmJih0aGlzLl9maXJlQ2xpY2s9ITEsdGhpcy5fb25VcCgpLHRoaXMuX3NpbXVsYXRlRXZlbnQoImNvbnRleHRtZW51IixpKSl9LHRoaXMpLDFlMyksdGhpcy5fc2ltdWxhdGVFdmVudCgibW91c2Vkb3duIixpKSxtdChkb2N1bWVudCx7dG91Y2htb3ZlOnRoaXMuX29uTW92ZSx0b3VjaGVuZDp0aGlzLl9vblVwfSx0aGlzKX19LF9vblVwOmZ1bmN0aW9uKHQpe2lmKGNsZWFyVGltZW91dCh0aGlzLl9ob2xkVGltZW91dCksZnQoZG9jdW1lbnQse3RvdWNobW92ZTp0aGlzLl9vbk1vdmUsdG91Y2hlbmQ6dGhpcy5fb25VcH0sdGhpcyksdGhpcy5fZmlyZUNsaWNrJiZ0JiZ0LmNoYW5nZWRUb3VjaGVzKXt2YXIgaT10LmNoYW5nZWRUb3VjaGVzWzBdLGU9aS50YXJnZXQ7ZSYmZS50YWdOYW1lJiYiYSI9PT1lLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmdHQoZSwibGVhZmxldC1hY3RpdmUiKSx0aGlzLl9zaW11bGF0ZUV2ZW50KCJtb3VzZXVwIixpKSx0aGlzLl9pc1RhcFZhbGlkKCkmJnRoaXMuX3NpbXVsYXRlRXZlbnQoImNsaWNrIixpKX19LF9pc1RhcFZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25ld1Bvcy5kaXN0YW5jZVRvKHRoaXMuX3N0YXJ0UG9zKTw9dGhpcy5fbWFwLm9wdGlvbnMudGFwVG9sZXJhbmNlfSxfb25Nb3ZlOmZ1bmN0aW9uKHQpe3ZhciBpPXQudG91Y2hlc1swXTt0aGlzLl9uZXdQb3M9bmV3IHgoaS5jbGllbnRYLGkuY2xpZW50WSksdGhpcy5fc2ltdWxhdGVFdmVudCgibW91c2Vtb3ZlIixpKX0sX3NpbXVsYXRlRXZlbnQ6ZnVuY3Rpb24odCxpKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtlLl9zaW11bGF0ZWQ9ITAsaS50YXJnZXQuX3NpbXVsYXRlZENsaWNrPSEwLGUuaW5pdE1vdXNlRXZlbnQodCwhMCwhMCx3aW5kb3csMSxpLnNjcmVlblgsaS5zY3JlZW5ZLGkuY2xpZW50WCxpLmNsaWVudFksITEsITEsITEsITEsMCxudWxsKSxpLnRhcmdldC5kaXNwYXRjaEV2ZW50KGUpfX0pO3FpJiYhVmkmJmJlLmFkZEluaXRIb29rKCJhZGRIYW5kbGVyIiwidGFwIixTbiksYmUubWVyZ2VPcHRpb25zKHt0b3VjaFpvb206cWkmJiFNaSxib3VuY2VBdFpvb21MaW1pdHM6ITB9KTt2YXIgWm49RWUuZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe1EodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtdG91Y2gtem9vbSIpLG10KHRoaXMuX21hcC5fY29udGFpbmVyLCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQsdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dHQodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtdG91Y2gtem9vbSIpLGZ0KHRoaXMuX21hcC5fY29udGFpbmVyLCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoU3RhcnQsdGhpcyl9LF9vblRvdWNoU3RhcnQ6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwO2lmKHQudG91Y2hlcyYmMj09PXQudG91Y2hlcy5sZW5ndGgmJiFpLl9hbmltYXRpbmdab29tJiYhdGhpcy5fem9vbWluZyl7dmFyIGU9aS5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0LnRvdWNoZXNbMF0pLG49aS5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0LnRvdWNoZXNbMV0pO3RoaXMuX2NlbnRlclBvaW50PWkuZ2V0U2l6ZSgpLl9kaXZpZGVCeSgyKSx0aGlzLl9zdGFydExhdExuZz1pLmNvbnRhaW5lclBvaW50VG9MYXRMbmcodGhpcy5fY2VudGVyUG9pbnQpLCJjZW50ZXIiIT09aS5vcHRpb25zLnRvdWNoWm9vbSYmKHRoaXMuX3BpbmNoU3RhcnRMYXRMbmc9aS5jb250YWluZXJQb2ludFRvTGF0TG5nKGUuYWRkKG4pLl9kaXZpZGVCeSgyKSkpLHRoaXMuX3N0YXJ0RGlzdD1lLmRpc3RhbmNlVG8obiksdGhpcy5fc3RhcnRab29tPWkuZ2V0Wm9vbSgpLHRoaXMuX21vdmVkPSExLHRoaXMuX3pvb21pbmc9ITAsaS5fc3RvcCgpLG10KGRvY3VtZW50LCJ0b3VjaG1vdmUiLHRoaXMuX29uVG91Y2hNb3ZlLHRoaXMpLG10KGRvY3VtZW50LCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaEVuZCx0aGlzKSxQdCh0KX19LF9vblRvdWNoTW92ZTpmdW5jdGlvbih0KXtpZih0LnRvdWNoZXMmJjI9PT10LnRvdWNoZXMubGVuZ3RoJiZ0aGlzLl96b29taW5nKXt2YXIgaT10aGlzLl9tYXAsbj1pLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1swXSksbz1pLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1sxXSkscz1uLmRpc3RhbmNlVG8obykvdGhpcy5fc3RhcnREaXN0O2lmKHRoaXMuX3pvb209aS5nZXRTY2FsZVpvb20ocyx0aGlzLl9zdGFydFpvb20pLCFpLm9wdGlvbnMuYm91bmNlQXRab29tTGltaXRzJiYodGhpcy5fem9vbTxpLmdldE1pblpvb20oKSYmczwxfHx0aGlzLl96b29tPmkuZ2V0TWF4Wm9vbSgpJiZzPjEpJiYodGhpcy5fem9vbT1pLl9saW1pdFpvb20odGhpcy5fem9vbSkpLCJjZW50ZXIiPT09aS5vcHRpb25zLnRvdWNoWm9vbSl7aWYodGhpcy5fY2VudGVyPXRoaXMuX3N0YXJ0TGF0TG5nLDE9PT1zKXJldHVybn1lbHNle3ZhciByPW4uX2FkZChvKS5fZGl2aWRlQnkoMikuX3N1YnRyYWN0KHRoaXMuX2NlbnRlclBvaW50KTtpZigxPT09cyYmMD09PXIueCYmMD09PXIueSlyZXR1cm47dGhpcy5fY2VudGVyPWkudW5wcm9qZWN0KGkucHJvamVjdCh0aGlzLl9waW5jaFN0YXJ0TGF0TG5nLHRoaXMuX3pvb20pLnN1YnRyYWN0KHIpLHRoaXMuX3pvb20pfXRoaXMuX21vdmVkfHwoaS5fbW92ZVN0YXJ0KCEwLCExKSx0aGlzLl9tb3ZlZD0hMCksZyh0aGlzLl9hbmltUmVxdWVzdCk7dmFyIGE9ZShpLl9tb3ZlLGksdGhpcy5fY2VudGVyLHRoaXMuX3pvb20se3BpbmNoOiEwLHJvdW5kOiExfSk7dGhpcy5fYW5pbVJlcXVlc3Q9ZihhLHRoaXMsITApLFB0KHQpfX0sX29uVG91Y2hFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9tb3ZlZCYmdGhpcy5fem9vbWluZz8odGhpcy5fem9vbWluZz0hMSxnKHRoaXMuX2FuaW1SZXF1ZXN0KSxmdChkb2N1bWVudCwidG91Y2htb3ZlIix0aGlzLl9vblRvdWNoTW92ZSksZnQoZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kKSx0aGlzLl9tYXAub3B0aW9ucy56b29tQW5pbWF0aW9uP3RoaXMuX21hcC5fYW5pbWF0ZVpvb20odGhpcy5fY2VudGVyLHRoaXMuX21hcC5fbGltaXRab29tKHRoaXMuX3pvb20pLCEwLHRoaXMuX21hcC5vcHRpb25zLnpvb21TbmFwKTp0aGlzLl9tYXAuX3Jlc2V0Vmlldyh0aGlzLl9jZW50ZXIsdGhpcy5fbWFwLl9saW1pdFpvb20odGhpcy5fem9vbSkpKTp0aGlzLl96b29taW5nPSExfX0pO2JlLmFkZEluaXRIb29rKCJhZGRIYW5kbGVyIiwidG91Y2hab29tIixabiksYmUuQm94Wm9vbT1ibixiZS5Eb3VibGVDbGlja1pvb209VG4sYmUuRHJhZz16bixiZS5LZXlib2FyZD1NbixiZS5TY3JvbGxXaGVlbFpvb209Q24sYmUuVGFwPVNuLGJlLlRvdWNoWm9vbT1abixPYmplY3QuZnJlZXplPXRpLHQudmVyc2lvbj0iMS40LjArSEVBRC4zMzM3ZjM2Iix0LkNvbnRyb2w9VGUsdC5jb250cm9sPXplLHQuQnJvd3Nlcj1RaSx0LkV2ZW50ZWQ9Y2ksdC5NaXhpbj1CZSx0LlV0aWw9dWksdC5DbGFzcz12LHQuSGFuZGxlcj1FZSx0LmV4dGVuZD1pLHQuYmluZD1lLHQuc3RhbXA9bix0LnNldE9wdGlvbnM9bCx0LkRvbUV2ZW50PVBlLHQuRG9tVXRpbD12ZSx0LlBvc0FuaW1hdGlvbj1MZSx0LkRyYWdnYWJsZT1SZSx0LkxpbmVVdGlsPU5lLHQuUG9seVV0aWw9RGUsdC5Qb2ludD14LHQucG9pbnQ9dyx0LkJvdW5kcz1QLHQuYm91bmRzPWIsdC5UcmFuc2Zvcm1hdGlvbj1TLHQudHJhbnNmb3JtYXRpb249Wix0LlByb2plY3Rpb249SGUsdC5MYXRMbmc9TSx0LmxhdExuZz1DLHQuTGF0TG5nQm91bmRzPVQsdC5sYXRMbmdCb3VuZHM9eix0LkNSUz1kaSx0Lkdlb0pTT049c24sdC5nZW9KU09OPVh0LHQuZ2VvSnNvbj1hbix0LkxheWVyPXFlLHQuTGF5ZXJHcm91cD1HZSx0LmxheWVyR3JvdXA9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3IEdlKHQsaSl9LHQuRmVhdHVyZUdyb3VwPUtlLHQuZmVhdHVyZUdyb3VwPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgS2UodCl9LHQuSW1hZ2VPdmVybGF5PWhuLHQuaW1hZ2VPdmVybGF5PWZ1bmN0aW9uKHQsaSxlKXtyZXR1cm4gbmV3IGhuKHQsaSxlKX0sdC5WaWRlb092ZXJsYXk9dW4sdC52aWRlb092ZXJsYXk9ZnVuY3Rpb24odCxpLGUpe3JldHVybiBuZXcgdW4odCxpLGUpfSx0LkRpdk92ZXJsYXk9bG4sdC5Qb3B1cD1jbix0LnBvcHVwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBjbih0LGkpfSx0LlRvb2x0aXA9X24sdC50b29sdGlwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBfbih0LGkpfSx0Lkljb249WWUsdC5pY29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWWUodCl9LHQuRGl2SWNvbj1kbix0LmRpdkljb249ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBkbih0KX0sdC5NYXJrZXI9JGUsdC5tYXJrZXI9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3ICRlKHQsaSl9LHQuVGlsZUxheWVyPW1uLHQudGlsZUxheWVyPUp0LHQuR3JpZExheWVyPXBuLHQuZ3JpZExheWVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcG4odCl9LHQuU1ZHPVBuLHQuc3ZnPVF0LHQuUmVuZGVyZXI9Z24sdC5DYW52YXM9dm4sdC5jYW52YXM9JHQsdC5QYXRoPVFlLHQuQ2lyY2xlTWFya2VyPXRuLHQuY2lyY2xlTWFya2VyPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyB0bih0LGkpfSx0LkNpcmNsZT1lbix0LmNpcmNsZT1mdW5jdGlvbih0LGksZSl7cmV0dXJuIG5ldyBlbih0LGksZSl9LHQuUG9seWxpbmU9bm4sdC5wb2x5bGluZT1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgbm4odCxpKX0sdC5Qb2x5Z29uPW9uLHQucG9seWdvbj1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgb24odCxpKX0sdC5SZWN0YW5nbGU9TG4sdC5yZWN0YW5nbGU9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3IExuKHQsaSl9LHQuTWFwPWJlLHQubWFwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBiZSh0LGkpfTt2YXIgRW49d2luZG93Lkw7dC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5MPUVuLHRoaXN9LHdpbmRvdy5MPXR9KTs="}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":72,"receive":32,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/fontawesome-all.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.062Z","timestamp":1785139582062,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/fontawesome-all.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 246261\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":724110,"size_decoded":246500,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3398)","md5":"c1a78d5f2dace6b4afed837026183962","sha1":"d44b2b84aacf4fd71b90a60464823cff1919fa8a","sha256":"47e261b6100e626b462a7a1cc5d2ebd86df958e232d6eb18321bf385360706fd","sha512":"6e230e12e06d1bca9054c565ec4a843445c8aaeb841dc0ac51767691372c787a57e882fa59bd7b786ebec13322ecd9b9573b1137286b013c435b866d62427e9f","ssdeep":"6144:qgom2PrtcNDfrcBSCx+3/gu/QhJMurJM626Php:QPumx+4qO","tlshash":"73f4c8a8d764a3fc8d8597f8c7251474b84e51af21e0d724b2acc6e02b8b4dcd6ed8c5","first_seen":"2025-11-23T04:10:47.878386Z","last_seen":"2026-07-27T09:11:27.389383Z","times_seen":8,"resource_available":true,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMC42IGJ5IEBmb250YXdlc29tZSAtIGh0dHA6Ly9mb250YXdlc29tZS5jb20KICogTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSkKICovCihmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIHZhciBfV0lORE9XID0ge307CiAgICB0cnkgewogICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIF9XSU5ET1cgPSB3aW5kb3c7CiAgICAgIAogICAgfSBjYXRjaCAoZSkge30KICAgIAogICAgdmFyIF9yZWYgPSBfV0lORE9XLm5hdmlnYXRvciB8fCB7fTsKICAgIHZhciBfcmVmJHVzZXJBZ2VudCA9IF9yZWYudXNlckFnZW50OwogICAgdmFyIHVzZXJBZ2VudCA9IF9yZWYkdXNlckFnZW50ID09PSB1bmRlZmluZWQgPyAnJyA6IF9yZWYkdXNlckFnZW50OwogICAgCiAgICB2YXIgV0lORE9XID0gX1dJTkRPVzsKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICB2YXIgSVNfSUUgPSB+dXNlckFnZW50LmluZGV4T2YoJ01TSUUnKSB8fCB+dXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQvJyk7CiAgICAKICAgIHZhciBOQU1FU1BBQ0VfSURFTlRJRklFUiA9ICdfX19GT05UX0FXRVNPTUVfX18nOwogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICB2YXIgUFJPRFVDVElPTiA9IGZ1bmN0aW9uICgpIHsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gInByb2R1Y3Rpb24iID09PSAncHJvZHVjdGlvbic7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0oKTsKICAgIAogICAgdmFyIG9uZVRvVGVuID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXTsKICAgIHZhciBvbmVUb1R3ZW50eSA9IG9uZVRvVGVuLmNvbmNhdChbMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjBdKTsKICAgIAogICAgCiAgICAKICAgIHZhciBSRVNFUlZFRF9DTEFTU0VTID0gWyd4cycsICdzbScsICdsZycsICdmdycsICd1bCcsICdsaScsICdib3JkZXInLCAncHVsbC1sZWZ0JywgJ3B1bGwtcmlnaHQnLCAnc3BpbicsICdwdWxzZScsICdyb3RhdGUtOTAnLCAncm90YXRlLTE4MCcsICdyb3RhdGUtMjcwJywgJ2ZsaXAtaG9yaXpvbnRhbCcsICdmbGlwLXZlcnRpY2FsJywgJ3N0YWNrJywgJ3N0YWNrLTF4JywgJ3N0YWNrLTJ4JywgJ2ludmVyc2UnLCAnbGF5ZXJzJywgJ2xheWVycy10ZXh0JywgJ2xheWVycy1jb3VudGVyJ10uY29uY2F0KG9uZVRvVGVuLm1hcChmdW5jdGlvbiAobikgewogICAgICByZXR1cm4gbiArICd4JzsKICAgIH0pKS5jb25jYXQob25lVG9Ud2VudHkubWFwKGZ1bmN0aW9uIChuKSB7CiAgICAgIHJldHVybiAndy0nICsgbjsKICAgIH0pKTsKICAgIAogICAgZnVuY3Rpb24gYnVua2VyKGZuKSB7CiAgICAgIHRyeSB7CiAgICAgICAgZm4oKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmICghUFJPRFVDVElPTikgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgdmFyIHcgPSBXSU5ET1cgfHwge307CiAgICAKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0pIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5ob29rcyA9IHt9OwogICAgaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zaGltcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMgPSBbXTsKICAgIAogICAgdmFyIG5hbWVzcGFjZSA9IHdbTkFNRVNQQUNFX0lERU5USUZJRVJdOwogICAgCiAgICB2YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOwogICAgCiAgICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewogICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsKICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gdGFyZ2V0OwogICAgfTsKICAgIAogICAgZnVuY3Rpb24gZGVmaW5lKHByZWZpeCwgaWNvbnMpIHsKICAgICAgdmFyIG5vcm1hbGl6ZWQgPSBPYmplY3Qua2V5cyhpY29ucykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGljb25OYW1lKSB7CiAgICAgICAgdmFyIGljb24gPSBpY29uc1tpY29uTmFtZV07CiAgICAgICAgdmFyIGV4cGFuZGVkID0gISFpY29uLmljb247CiAgICAKICAgICAgICBpZiAoZXhwYW5kZWQpIHsKICAgICAgICAgIGFjY1tpY29uLmljb25OYW1lXSA9IGljb24uaWNvbjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYWNjW2ljb25OYW1lXSA9IGljb247CiAgICAgICAgfQogICAgICAgIHJldHVybiBhY2M7CiAgICAgIH0sIHt9KTsKICAgIAogICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZS5ob29rcy5hZGRQYWNrID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2socHJlZml4LCBub3JtYWxpemVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gPSBfZXh0ZW5kcyh7fSwgbmFtZXNwYWNlLnN0eWxlc1twcmVmaXhdIHx8IHt9LCBub3JtYWxpemVkKTsKICAgICAgfQogICAgCiAgICAgIC8qKgogICAgICAgKiBGb250IEF3ZXNvbWUgNCB1c2VkIHRoZSBwcmVmaXggb2YgYGZhYCBmb3IgYWxsIGljb25zLiBXaXRoIHRoZSBpbnRyb2R1Y3Rpb24KICAgICAgICogb2YgbmV3IHN0eWxlcyB3ZSBuZWVkZWQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZW0uIFByZWZpeCBgZmFgIGlzIG5vdyBhbiBhbGlhcwogICAgICAgKiBmb3IgYGZhc2Agc28gd2UnbGwgZWFzeSB0aGUgdXBncmFkZSBwcm9jZXNzIGZvciBvdXIgdXNlcnMgYnkgYXV0b21hdGljYWxseSBkZWZpbmluZwogICAgICAgKiB0aGlzIGFzIHdlbGwuCiAgICAgICAqLwogICAgICBpZiAocHJlZml4ID09PSAnZmFzJykgewogICAgICAgIGRlZmluZSgnZmEnLCBpY29ucyk7CiAgICAgIH0KICAgIH0KICAgIAogICAgdmFyIGljb25zID0gewogICAgICAiNTAwcHgiOiBbNDQ4LCA1MTIsIFtdLCAiZjI2ZSIsICJNMTAzLjMgMzQ0LjNjLTYuNS0xNC4yLTYuOS0xOC4zIDcuNC0yMy4xIDI1LjYtOCA4IDkuMiA0My4yIDQ5LjJoLjN2LTkzLjljMS4yLTUwLjIgNDQtOTIuMiA5Ny43LTkyLjIgNTMuOSAwIDk3LjcgNDMuNSA5Ny43IDk2LjggMCA2My40LTYwLjggMTEzLjItMTI4LjUgOTMuMy0xMC41LTQuMi0yLjEtMzEuNyA4LjUtMjguNiA1MyAwIDg5LjQtMTAuMSA4OS40LTY0LjQgMC02MS03Ny4xLTg5LjYtMTE2LjktNDQuNi0yMy41IDI2LjQtMTcuNiA0Mi4xLTE3LjYgMTU3LjYgNTAuNyAzMSAxMTguMyAyMiAxNjAuNC0yMC4xIDI0LjgtMjQuOCAzOC41LTU4IDM4LjUtOTMgMC0zNS4yLTEzLjgtNjguMi0zOC44LTkzLjMtMjQuOC0yNC44LTU3LjgtMzguNS05My4zLTM4LjVzLTY4LjggMTMuOC05My41IDM4LjVjLS4zLjMtMTYgMTYuNS0yMS4yIDIzLjlsLS41LjZjLTMuMyA0LjctNi4zIDkuMS0yMC4xIDYuMS02LjktMS43LTE0LjMtNS44LTE0LjMtMTEuOFYyMGMwLTUgMy45LTEwLjUgMTAuNS0xMC41aDI0MS4zYzguMyAwIDguMyAxMS42IDguMyAxNS4xIDAgMy45IDAgMTUuMS04LjMgMTUuMUgxMzAuM3YxMzIuOWguM2MxMDQuMi0xMDkuOCAyODIuOC0zNiAyODIuOCAxMDguOSAwIDE3OC4xLTI0NC44IDIyMC4zLTMxMC4xIDYyLjh6bTYzLjMtMjYwLjhjLS41IDQuMiA0LjYgMjQuNSAxNC42IDIwLjZDMzA2IDU2LjYgMzg0IDE0NC41IDM5MC42IDE0NC41YzQuOCAwIDIyLjgtMTUuMyAxNC4zLTIyLjgtOTMuMi04OS0yMzQuNS01Ny0yMzguMy0zOC4yek0zOTMgNDE0LjdDMjgzIDUyNC42IDk0IDQ3NS41IDYxIDMxMC41YzAtMTIuMi0zMC40LTcuNC0yOC45IDMuMyAyNCAxNzMuNCAyNDYgMjU2LjkgMzgxLjYgMTIxLjMgNi45LTcuOC0xMi42LTI4LjQtMjAuNy0yMC40ek0yMTMuNiAzMDYuNmMwIDQgNC4zIDcuMyA1LjUgOC41IDMgMyA2LjEgNC40IDguNSA0LjQgMy44IDAgMi42LjIgMjIuMy0xOS41IDE5LjYgMTkuMyAxOS4xIDE5LjUgMjIuMyAxOS41IDUuNCAwIDE4LjUtMTAuNCAxMC43LTE4LjJMMjY1LjYgMjg0bDE4LjItMTguMmM2LjMtNi44LTEwLjEtMjEuOC0xNi4yLTE1LjdMMjQ5LjcgMjY4Yy0xOC42LTE4LjgtMTguNC0xOS41LTIxLjUtMTkuNS01IDAtMTggMTEuNy0xMi40IDE3LjNMMjM0IDI4NGMtMTguMSAxNy45LTIwLjQgMTkuMi0yMC40IDIyLjZ6Il0sCiAgICAgICJhY2Nlc3NpYmxlLWljb24iOiBbNDQ4LCA1MTIsIFtdLCAiZjM2OCIsICJNNDIzLjkgMjU1LjhMNDExIDQxMy4xYy0zLjMgNDAuNy02My45IDM1LjEtNjAuNi00LjlsMTAtMTIyLjUtNDEuMSAyLjNjMTAuMSAyMC43IDE1LjggNDMuOSAxNS44IDY4LjUgMCA0MS4yLTE2LjEgNzguNy00Mi4zIDEwNi41bC0zOS4zLTM5LjNjNTcuOS02My43IDEzLjEtMTY3LjItNzQtMTY3LjItMjUuOSAwLTQ5LjUgOS45LTY3LjIgMjZMNzMgMjQzLjJjMjItMjAuNyA1MC4xLTM1LjEgODEuNC00MC4ybDc1LjMtODUuNy00Mi42LTI0LjgtNTEuNiA0NmMtMzAgMjYuOC03MC42LTE4LjUtNDAuNS00NS40bDY4LTYwLjdjOS44LTguOCAyNC4xLTEwLjIgMzUuNS0zLjYgMCAwIDEzOS4zIDgwLjkgMTM5LjUgODEuMSAxNi4yIDEwLjEgMjAuNyAzNiA2LjEgNTIuNkwyODUuNyAyMjlsMTA2LjEtNS45YzE4LjUtMS4xIDMzLjYgMTQuNCAzMi4xIDMyLjd6bS02NC45LTE1NGMyOC4xIDAgNTAuOS0yMi44IDUwLjktNTAuOUM0MDkuOSAyMi44IDM4Ny4xIDAgMzU5IDBjLTI4LjEgMC01MC45IDIyLjgtNTAuOSA1MC45IDAgMjguMSAyMi44IDUwLjkgNTAuOSA1MC45ek0xNzkuNiA0NTYuNWMtODAuNiAwLTEyNy40LTkwLjYtODIuNy0xNTYuMWwtMzkuNy0zOS43QzM2LjQgMjg3IDI0IDMyMC4zIDI0IDM1Ni40YzAgMTMwLjcgMTUwLjcgMjAxLjQgMjUxLjQgMTIyLjVsLTM5LjctMzkuN2MtMTYgMTAuOS0zNS4zIDE3LjMtNTYuMSAxNy4zeiJdLAogICAgICAiYWNjdXNvZnQiOiBbNjQwLCA1MTIsIFtdLCAiZjM2OSIsICJNNDgyLjIgMzcyLjFDNDc2LjUgMzY1LjIgMjUwIDc1IDI0Mi4zIDY1LjVjLTEzLjctMTcuMiAwLTE2LjggMTkuMi0xNi45IDkuNy0uMSAxMDYuMy0uNiAxMTYuNS0uNiAyNC4xLS4xIDI4LjcuNiAzOC40IDEyLjggMi4xIDIuNyAyMDUuMSAyNDUuOCAyMDcuMiAyNDguMyA1LjUgNi43IDE1LjIgMTkuMSA3LjIgMjMuNC0yLjQgMS4zLTExNC42IDQ3LjctMTE3LjggNDguOS0xMC4xIDQtMTcuNSA2LjgtMzAuOC05LjNtMTE0LjctNS42cy0xMTUgNTAuNC0xMTcuNSA1MS42Yy0xNiA3LjMtMjYuOS0zLjItMzYuNy0xNC42bC01Ny4xLTc0Yy01LjQtLjktNjAuNC05LjYtNjUuMy05LjMtMy4xLjItOS42LjgtMTQuNCAyLjktNC45IDIuMS0xNDUuMiA1Mi44LTE1MC4yIDU0LjctNS4xIDItMTEuNCAzLjYtMTEuMSA3LjYuMiAyLjUgMiAyLjYgNC42IDMuNSAyLjcuOCAzMDAuOSA2Ny42IDMwOCA2OS4xIDE1LjYgMy4zIDM4LjUgMTAuNSA1My42IDEuNyAyLjEtMS4yIDEyMy44LTc2LjQgMTI1LjgtNzcuOCA1LjQtNCA0LjMtNi44LTEuNy04LjItMi4zLS4zLTI0LjYtNC43LTM4LTcuMm0tMzI2LTE4MS4zcy0xMiAxLjYtMjUgMTUuMWMtOSA5LjMtMjQyLjEgMjM5LjEtMjQzLjQgMjQwLjktNyAxMCAxLjYgNi44IDE1LjcgMS43LjggMCAxMTQuNS0zNi42IDExNC41LTM2LjYuNS0uNi0uMS0uMS42LS42LS40LTUuMS0uOC0yNi4yLTEtMjcuNy0uNi01LjIgMi4yLTYuOSA3LTguOWw5Mi42LTMzLjhjLjYtLjggODguNS04MS43IDkwLjItODMuM3YtMWwtNTEuMi02NS44Il0sCiAgICAgICJhZG4iOiBbNDk2LCA1MTIsIFtdLCAiZjE3MCIsICJNMjQ4IDE2Ny41bDY0LjkgOTguOEgxODMuMWw2NC45LTk4Ljh6TTQ5NiAyNTZjMCAxMzYuOS0xMTEuMSAyNDgtMjQ4IDI0OFMwIDM5Mi45IDAgMjU2IDExMS4xIDggMjQ4IDhzMjQ4IDExMS4xIDI0OCAyNDh6bS05OS44IDgyLjdMMjQ4IDExNS41IDk5LjggMzM4LjdoMzAuNGwzMy42LTUxLjdoMTY4LjZsMzMuNiA1MS43aDMwLjJ6Il0sCiAgICAgICJhZHZlcnNhbCI6IFs1MTIsIDUxMiwgW10sICJmMzZhIiwgIk00ODIuMSAzMkgyOC43QzUuOCAzMiAwIDM3LjkgMCA2MC45djM5MC4yQzAgNDc0LjQgNS44IDQ4MCAyOC43IDQ4MGg0NTMuNGMyNC40IDAgMjkuOS01LjIgMjkuOS0yOS43VjYyLjJjMC0yNC42LTUuNC0zMC4yLTI5LjktMzAuMnpNMTc4LjQgMjIwLjNjLTI3LjUtMjAuMi03Mi4xLTguNy04NC4yIDIzLjQtNC4zIDExLjEtOS4zIDkuNS0xNy41IDguMy05LjctMS41LTE3LjItMy4yLTIyLjUtNS41LTI4LjgtMTEuNCA4LjYtNTUuMyAyNC45LTY0LjMgNDEuMS0yMS40IDgzLjQtMjIuMiAxMjUuMy00LjggNDAuOSAxNi44IDM0LjUgNTkuMiAzNC41IDEyOC41IDIuNyAyNS44LTQuMyA1OC4zIDkuMyA4OC44IDEuOSA0LjQuNCA3LjktMi43IDEwLjctOC40IDYuNy0zOS4zIDIuMi00Ni42LTcuNC0xLjktMi4yLTEuOC0zLjYtMy45LTYuMi0zLjYtMy45LTcuMy0yLjItMTEuOSAxLTU3LjQgMzYuNC0xNDAuMyAyMS40LTE0Ny00My4zLTMuMS0yOS4zIDEyLjQtNTcuMSAzOS42LTcxIDM4LjItMTkuNSAxMTIuMi0xMS44IDExNC0zMC45IDEuMS0xMC4yLTEuOS0yMC4xLTExLjMtMjcuM3ptMjg2LjcgMjIyYzAgMTUuMS0xMS4xIDkuOS0xNy44IDkuOUg1Mi40Yy03LjQgMC0xOC4yIDQuOC0xNy44LTEwLjcuNC0xMy45IDEwLjUtOS4xIDE3LjEtOS4xIDEzMi4zLS40IDI2NC41LS40IDM5Ni44IDAgNi44IDAgMTYuNi00LjQgMTYuNiA5Ljl6bTMuOC0zNDAuNXYyOTFjMCA1LjctLjcgMTMuOS04LjEgMTMuOS0xMi40LS40LTI3LjUgNy4xLTM2LjEtNS42LTUuOC04LjctNy44LTQtMTIuNC0xLjItNTMuNCAyOS43LTEyOC4xIDcuMS0xNDQuNC04NS4yLTYuMS0zMy40LS43LTY3LjEgMTUuNy0xMDAgMTEuOC0yMy45IDU2LjktNzYuMSAxMzYuMS0zMC41di03MWMwLTI2LjItLjEtMjYuMiAyNi0yNi4yIDMuMSAwIDYuNi40IDkuNyAwIDEwLjEtLjggMTMuNiA0LjQgMTMuNiAxNC4zLS4xLjItLjEuMy0uMS41em0tNTEuNSAyMzIuM2MtMTkuNSA0Ny42LTcyLjkgNDMuMy05MCA1LjItMTUuMS0zMy4zLTE1LjUtNjguMi40LTEwMS41IDE2LjMtMzQuMSA1OS43LTM1LjcgODEuNS00LjggMjAuNiAyOC44IDE0LjkgODQuNiA4LjEgMTAxLjF6bS0yOTQuOCAzNS4zYy03LjUtMS4zLTMzLTMuMy0zMy43LTI3LjgtLjQtMTMuOSA3LjgtMjMgMTkuOC0yNS44IDI0LjQtNS45IDQ5LjMtOS45IDczLjctMTQuNyA4LjktMiA3LjQgNC40IDcuOCA5LjUgMS40IDMzLTI2LjEgNTkuMi02Ny42IDU4Ljh6Il0sCiAgICAgICJhZmZpbGlhdGV0aGVtZSI6IFs1MTIsIDUxMiwgW10sICJmMzZiIiwgIk0xNTkuNyAyMzcuNEMxMDguNCAzMDguMyA0My4xIDM0OC4yIDE0IDMyNi42LTE1LjIgMzA0LjkgMi44IDIzMCA1NC4yIDE1OS4xYzUxLjMtNzAuOSAxMTYuNi0xMTAuOCAxNDUuNy04OS4yIDI5LjEgMjEuNiAxMS4xIDk2LjYtNDAuMiAxNjcuNXptMzUxLjItNTcuM0M0MzcuMSAzMDMuNSAzMTkgMzY3LjggMjQ2LjQgMzIzLjdjLTI1LTE1LjItNDEuMy00MS4yLTQ5LTczLjgtMzMuNiA2NC44LTkyLjggMTEzLjgtMTY0LjEgMTMzLjIgNDkuOCA1OS4zIDEyNC4xIDk2LjkgMjA3IDk2LjkgMTUwIDAgMjcxLjYtMTIzLjEgMjcxLjYtMjc0LjkuMS04LjUtLjMtMTYuOC0xLTI1eiJdLAogICAgICAiYWxnb2xpYSI6IFs0NDgsIDUxMiwgW10sICJmMzZjIiwgIk0yMjkuMyAxODIuNmMtNDkuMyAwLTg5LjIgMzkuOS04OS4yIDg5LjIgMCA0OS4zIDM5LjkgODkuMiA4OS4yIDg5LjJzODkuMi0zOS45IDg5LjItODkuMmMwLTQ5LjMtNDAtODkuMi04OS4yLTg5LjJ6bTYyLjcgNTYuNmwtNTguOSAzMC42Yy0xLjguOS0zLjgtLjQtMy44LTIuM1YyMDFjMC0xLjUgMS4zLTIuNyAyLjctMi42IDI2LjIgMSA0OC45IDE1LjcgNjEuMSAzNy4xLjcgMS4zLjIgMy0xLjEgMy43ek0zODkuMSAzMkg1OC45QzI2LjQgMzIgMCA1OC40IDAgOTAuOVY0MjFjMCAzMi42IDI2LjQgNTkgNTguOSA1OUgzODljMzIuNiAwIDU4LjktMjYuNCA1OC45LTU4LjlWOTAuOUM0NDggNTguNCA0MjEuNiAzMiAzODkuMSAzMnptLTIwMi42IDg0LjdjMC0xMC44IDguNy0xOS41IDE5LjUtMTkuNWg0NS4zYzEwLjggMCAxOS41IDguNyAxOS41IDE5LjV2MTUuNGMwIDEuOC0xLjcgMy0zLjMgMi41LTEyLjMtMy40LTI1LjEtNS4xLTM4LjEtNS4xLTEzLjUgMC0yNi43IDEuOC0zOS40IDUuNS0xLjcuNS0zLjQtLjgtMy40LTIuNXYtMTUuOHptLTg0LjQgMzdsOS4yLTkuMmM3LjYtNy42IDE5LjktNy42IDI3LjUgMGw3LjcgNy43YzEuMSAxLjEgMSAzLS4zIDQtNi4yIDQuNS0xMi4xIDkuNC0xNy42IDE0LjktNS40IDUuNC0xMC40IDExLjMtMTQuOCAxNy40LTEgMS4zLTIuOSAxLjUtNCAuM2wtNy43LTcuN2MtNy42LTcuNS03LjYtMTkuOCAwLTI3LjR6bTEyNy4yIDI0NC44Yy03MCAwLTEyNi42LTU2LjctMTI2LjYtMTI2LjZzNTYuNy0xMjYuNiAxMjYuNi0xMjYuNmM3MCAwIDEyNi42IDU2LjYgMTI2LjYgMTI2LjYgMCA2OS44LTU2LjcgMTI2LjYtMTI2LjYgMTI2LjZ6Il0sCiAgICAgICJhbWF6b24iOiBbNDQ4LCA1MTIsIFtdLCAiZjI3MCIsICJNMjU3LjIgMTYyLjdjLTQ4LjcgMS44LTE2OS41IDE1LjUtMTY5LjUgMTE3LjUgMCAxMDkuNSAxMzguMyAxMTQgMTgzLjUgNDMuMiA2LjUgMTAuMiAzNS40IDM3LjUgNDUuMyA0Ni44bDU2LjgtNTZTMzQxIDI4OC45IDM0MSAyNjEuNFYxMTQuM0MzNDEgODkgMzE2LjUgMzIgMjI4LjcgMzIgMTQwLjcgMzIgOTQgODcgOTQgMTM2LjNsNzMuNSA2LjhjMTYuMy00OS41IDU0LjItNDkuNSA1NC4yLTQ5LjUgNDAuNy0uMSAzNS41IDI5LjggMzUuNSA2OS4xem0wIDg2LjhjMCA4MC04NC4yIDY4LTg0LjIgMTcuMiAwLTQ3LjIgNTAuNS01Ni43IDg0LjItNTcuOHY0MC42em0xMzYgMTYzLjVjLTcuNyAxMC03MCA2Ny0xNzQuNSA2N1MzNC4yIDQwOC41IDkuNyAzNzljLTYuOC03LjcgMS0xMS4zIDUuNS04LjNDODguNSA0MTUuMiAyMDMgNDg4LjUgMzg3LjcgNDAxYzcuNS0zLjcgMTMuMyAyIDUuNSAxMnptMzkuOCAyLjJjLTYuNSAxNS44LTE2IDI2LjgtMjEuMiAzMS01LjUgNC41LTkuNSAyLjctNi41LTMuOHMxOS4zLTQ2LjUgMTIuNy01NWMtNi41LTguMy0zNy00LjMtNDgtMy4yLTEwLjggMS0xMyAyLTE0LS4zLTIuMy01LjcgMjEuNy0xNS41IDM3LjUtMTcuNSAxNS43LTEuOCA0MS0uOCA0NiA1LjcgMy43IDUuMSAwIDI3LjEtNi41IDQzLjF6Il0sCiAgICAgICJhbWF6b24tcGF5IjogWzYxMSwgNTEyLCBbXSwgImY0MmMiLCAiTTAgMzI1LjJjMi4zLTQuMiA1LjItNC45IDkuNy0yLjUgMTAuNCA1LjYgMjAuNiAxMS40IDMxLjIgMTYuNyA0MC43IDIwLjQgODMuMiAzNS42IDEyNy40IDQ2LjMgMjAuOSA1IDQxLjkgOSA2My4yIDExLjggMzEuNSA0LjIgNjMuMiA2IDk1IDUuMiAxNy40LS40IDM0LjgtMS44IDUyLjEtMy44IDU2LjQtNi43IDExMC45LTIwLjggMTYzLjMtNDIuOCAyLjktMS4yIDUuOS0yIDkuMS0xLjIgNi43IDEuOCA5IDkgNC4xIDEzLjktMi44IDIuOC02LjMgNS4xLTkuNiA3LjQtMzAuNyAyMS4xLTY0LjIgMzYuNC05OS42IDQ3LjktMjQuNiA3LjktNDkuNiAxMy44LTc1LjEgMTcuNi0xNy42IDIuNi0zNS40IDQuNC01My4yIDQuOC0uOCAwLTEuNy4yLTIuNS4zSDI5NGMtLjgtLjEtMS43LS4zLTIuNS0uMy0zLjYtLjItNy4yLS4zLTEwLjctLjQtMTYuOS0uNy0zMy43LTIuNi01MC40LTUuMy0yNy40LTQuNS01NC4yLTExLjQtODAuNC0yMC45LTU0LjEtMTkuNi0xMDIuNi00OC42LTE0NS42LTg3LTEuOC0xLjYtMy0zLjgtNC40LTUuN3YtMnpNMTU4IDY1Yy0xLjQuMi0yLjkuNC00LjMuNi0xNCAxLjctMjYuNiA2LjktMzggMTUuMS0yLjQgMS43LTQuNiAzLjUtNy4xIDUuNC0uMi0uNS0uNC0xLS40LTEuNC0uNC0yLjctLjgtNS41LTEuMy04LjItLjctNC42LTMtNi42LTcuNi02LjZIODcuOGMtNi45IDAtOC4yIDEuMy04LjIgOC4ydjIwOS4zYzAgMSAwIDIgLjEgMyAuMiAzIDIgNC45IDQuOSA1IDcgLjEgMTQuMS4xIDIxLjEgMCAyLjkgMCA0LjctMiA1LTUgLjEtMSAuMS0yIC4xLTNWMjE1YzEuMS45IDEuNyAxLjQgMi4yIDEuOSAxNy45IDE0LjkgMzguNSAxOS44IDYxIDE1LjQgMjAuNC00IDM0LjYtMTYuNSA0My44LTM0LjkgNy0xMy45IDkuOS0yOC43IDEwLjMtNDQuMS41LTE3LjEtMS4yLTMzLjktOC4xLTQ5LjgtOC41LTE5LjYtMjIuNi0zMi41LTQzLjktMzYuOS0zLjItLjctNi41LTEtOS44LTEuNS0yLjgtLjEtNS41LS4xLTguMy0uMXptLTQ3LjQgNDEuOWMwLTEuNS40LTIuNCAxLjctMy4zIDEzLjctOS41IDI4LjgtMTQuNSA0NS42LTEzLjIgMTQuOSAxLjEgMjcuMSA4LjQgMzMuNSAyNS45IDMuOSAxMC43IDQuOSAyMS44IDQuOSAzMyAwIDEwLjQtLjggMjAuNi00IDMwLjYtNi44IDIxLjMtMjIuNCAyOS40LTQyLjYgMjguNS0xNC0uNi0yNi4yLTYtMzcuNC0xMy45LTEuMi0uOS0xLjctMS43LTEuNy0zLjMuMS0xNC4xIDAtMjguMSAwLTQyLjIgMC0xNCAuMS0yOCAwLTQyLjF6TTMxNi4zIDY1Yy0xIC4xLTIgLjMtMi45LjQtOS44LjUtMTkuNCAxLjctMjguOSA0LjEtNi4xIDEuNi0xMiAzLjgtMTcuOSA1LjgtMy42IDEuMi01LjQgMy44LTUuMyA3LjcuMSAzLjMtLjEgNi42IDAgOS45LjEgNC44IDIuMSA2LjEgNi44IDQuOSA3LjgtMiAxNS42LTQuMiAyMy41LTUuNyAxMi4zLTIuMyAyNC43LTMuMyAzNy4yLTEuNCA2LjUgMSAxMi42IDIuOSAxNi44IDguNCAzLjcgNC44IDUuMSAxMC41IDUuMyAxNi40LjMgOC4zLjIgMTYuNi4zIDI0LjkgMCAuNC0uMS45LS4yIDEuNC0uNS0uMS0uOSAwLTEuMy0uMS0xMC41LTIuNS0yMS4xLTQuMy0zMi00LjktMTEuMy0uNi0yMi41LjEtMzMuMyAzLjktMTIuOSA0LjUtMjMuMyAxMi4zLTI5LjQgMjQuOS00LjcgOS44LTUuNCAyMC4yLTMuOSAzMC43IDIgMTQgOSAyNC44IDIxLjQgMzEuNyAxMS45IDYuNiAyNC44IDcuNCAzNy45IDUuNCAxNS4xLTIuMyAyOC41LTguNyA0MC4zLTE4LjQuNC0uNC45LS43IDEuNi0xLjEuNiAzLjggMS4xIDcuNCAxLjggMTEgLjYgMy4xIDIuNSA1LjEgNS40IDUuMiA1LjQuMSAxMC45LjEgMTYuMyAwIDIuNy0uMSA0LjUtMS45IDQuOC00LjcuMS0uOS4xLTEuOS4xLTIuOHYtMTA2YzAtNC4zLS4yLTguNi0uOS0xMi45LTEuOS0xMi45LTcuNC0yMy41LTE5LTMwLjQtNi43LTQtMTQuMS02LTIxLjgtNy4xLTMuNi0uNS03LjItLjgtMTAuOC0xLjMtMy45LjEtNy45LjEtMTEuOS4xem0zNSAxMjcuN2MwIDEuMy0uNCAyLjItMS41IDMtMTEuMiA4LjEtMjMuNSAxMy41LTM3LjQgMTQuOS01LjcuNi0xMS40LjQtMTYuOC0xLjgtNi4zLTIuNS0xMC40LTYuOS0xMi40LTEzLjNzLTItMTMtLjEtMTkuNGMyLjUtOC4zIDguNC0xMyAxNi40LTE1LjYgOC4xLTIuNiAxNi41LTMgMjQuOC0yLjIgOC40LjcgMTYuNiAyLjMgMjUgMy40IDEuNi4yIDIuMSAxIDIuMSAyLjYtLjEgNC44IDAgOS41IDAgMTQuMy0uMSA0LjctLjIgOS40LS4xIDE0LjF6bTI1OS45IDEyOS40Yy0xLTUtNC44LTYuOS05LjEtOC4zLTYuOC0yLjMtMTMuOS0zLjMtMjEtMy45LTEzLjEtMS4xLTI2LjItLjUtMzkuMiAxLjktMTQuMyAyLjctMjcuOSA3LjMtNDAgMTUuNi0xLjQgMS0yLjggMi4xLTMuNyAzLjUtLjcgMS4xLS45IDIuOC0uNSA0IC40IDEuNSAyLjEgMS45IDMuNiAxLjguNyAwIDEuNSAwIDIuMi0uMSA3LjgtLjggMTUuNS0xLjcgMjMuMy0yLjUgMTEuNC0xLjEgMjIuOS0xLjggMzQuMy0uOSA0LjguMyA5LjcgMS40IDE0LjQgMi43IDUuMSAxLjQgNy40IDUuMiA3LjYgMTAuNC40IDgtMS40IDE1LjctMy41IDIzLjMtNC4xIDE1LjQtMTAgMzAuMy0xNS44IDQ1LjEtLjQgMS0uOCAyLTEgMy0uNSAyLjkgMS4yIDQuOCA0LjEgNC4xIDEuNy0uNCAzLjYtMS4zIDQuOC0yLjUgNC40LTQuMyA4LjktOC42IDEyLjctMTMuNCAxMi44LTE2LjQgMjAuMy0zNS4zIDI0LjctNTUuNi44LTMuNiAxLjQtNy4zIDIuMS0xMC45di0xNy4zek00NzkuMSAxOTguOWMtMTIuOS0zNS43LTI1LjgtNzEuNS0zOC43LTEwNy4yLTItNS43LTQuMi0xMS4zLTYuMy0xNi45LTEuMS0yLjktMy4yLTQuOC02LjQtNC44LTcuNi0uMS0xNS4yLS4yLTIyLjktLjEtMi41IDAtMy43IDItMy4yIDQuNS41IDIuMSAxLjEgNC4xIDEuOSA2LjEgMTkuNiA0OC41IDM5LjMgOTcuMSA1OS4xIDE0NS41IDEuNyA0LjEgMi4xIDcuNi4yIDExLjgtMy4zIDcuMy01LjkgMTUtOS4zIDIyLjMtMyA2LjUtOCAxMS40LTE1LjIgMTMuMy01LjEgMS40LTEwLjIgMS42LTE1LjQgMS4xLTIuNS0uMi01LS44LTcuNS0xLTMuNC0uMi01LjEgMS4zLTUuMiA0LjgtLjEgMy4zLS4xIDYuNiAwIDkuOS4xIDUuNSAyIDggNy40IDguOSA1LjYgMSAxMS4zIDEuOSAxNi45IDIgMTcuMS40IDMwLjctNi41IDM5LjUtMjEuNCAzLjUtNS45IDYuNy0xMi4xIDkuMi0xOC40IDIzLjctNTkuOCA0Ny4xLTExOS43IDcwLjYtMTc5LjYuNy0xLjggMS4zLTMuNiAxLjYtNS41LjQtMi44LS45LTQuNC0zLjctNC40LTYuNi0uMS0xMy4zIDAtMTkuOSAwLTMuNyAwLTYuMyAxLjYtNy43IDUuMi0uNSAxLjQtMS4xIDIuNy0xLjYgNC4xLTExLjYgMzMuMy0yMy4yIDY2LjYtMzQuOCAxMDAtMi41IDcuMi01LjEgMTQuNS03LjcgMjIuMi0uNC0xLjEtLjYtMS43LS45LTIuNHoiXSwKICAgICAgImFtaWxpYSI6IFs0NDgsIDUxMiwgW10sICJmMzZkIiwgIk0yNDAuMSAzMmMtNjEuOSAwLTEzMS41IDE2LjktMTg0LjIgNTUuNC01LjEgMy4xLTkuMSA5LjItNy4yIDE5LjQgMS4xIDUuMSA1LjEgMjcuNCAxMC4yIDM5LjYgNC4xIDEwLjIgMTQuMiAxMC4yIDIwLjMgNi4xIDMyLjUtMjIuMyA5Ni41LTQ3LjcgMTUyLjMtNDcuNyA1Ny45IDAgNTguOSAyOC40IDU4LjkgNzMuMXYzOC41QzIwMyAyMjcuNyA3OC4yIDI1MSA0Ni43IDI2NC4yIDExLjIgMjgwLjUgMTYuMyAzNTcuNyAxNi4zIDM3NnMxNS4yIDEwNCAxMjQuOSAxMDRjNDcuOCAwIDExMy43LTIwLjcgMTUzLjMtNDIuMXYyNS40YzAgMyAyLjEgOC4yIDYuMSA5LjEgMy4xIDEgNTAuNyAyIDU5LjkgMnM2Mi41LjMgNjYuNS0uN2M0LjEtMSA1LjEtNi4xIDUuMS05LjFWMTY4Yy0uMS04MC4zLTU3LjktMTM2LTE5Mi0xMzZ6bS04Ny45IDMyNy43YzAtMTIuMi0zLTQyLjcgMTguMy01Mi45IDI0LjMtMTMuMiA3NS4xLTI5LjQgMTE5LjgtMzMuNVYzODBjLTIxLjQgMTMuMi00OC43IDI0LjQtNzkuMSAyNC40LTUyLjggMC01OC45LTMzLjUtNTktNDQuNyJdLAogICAgICAiYW5kcm9pZCI6IFs0NDgsIDUxMiwgW10sICJmMTdiIiwgIk04OS42IDIwNC41djExNS44YzAgMTUuNC0xMi4xIDI3LjctMjcuNSAyNy43LTE1LjMgMC0zMC4xLTEyLjQtMzAuMS0yNy43VjIwNC41YzAtMTUuMSAxNC44LTI3LjUgMzAuMS0yNy41IDE1LjEgMCAyNy41IDEyLjQgMjcuNSAyNy41em0xMC44IDE1N2MwIDE2LjQgMTMuMiAyOS42IDI5LjYgMjkuNmgxOS45bC4zIDYxLjFjMCAzNi45IDU1LjIgMzYuNiA1NS4yIDB2LTYxLjFoMzcuMnY2MS4xYzAgMzYuNyA1NS41IDM2LjggNTUuNSAwdi02MS4xaDIwLjJjMTYuMiAwIDI5LjQtMTMuMiAyOS40LTI5LjZWMTgyLjFIMTAwLjR2MTc5LjR6bTI0OC0xODkuMUg5OS4zYzAtNDIuOCAyNS42LTgwIDYzLjYtOTkuNGwtMTkuMS0zNS4zYy0yLjgtNC45IDQuMy04IDYuNy0zLjhsMTkuNCAzNS42YzM0LjktMTUuNSA3NS0xNC43IDEwOC4zIDBMMjk3LjUgMzRjMi41LTQuMyA5LjUtMS4xIDYuNyAzLjhMMjg1LjEgNzNjMzcuNyAxOS40IDYzLjMgNTYuNiA2My4zIDk5LjR6bS0xNzAuNy01NS41YzAtNS43LTQuNi0xMC41LTEwLjUtMTAuNS01LjcgMC0xMC4yIDQuOC0xMC4yIDEwLjVzNC42IDEwLjUgMTAuMiAxMC41YzUuOSAwIDEwLjUtNC44IDEwLjUtMTAuNXptMTEzLjQgMGMwLTUuNy00LjYtMTAuNS0xMC4yLTEwLjUtNS45IDAtMTAuNSA0LjgtMTAuNSAxMC41czQuNiAxMC41IDEwLjUgMTAuNWM1LjYgMCAxMC4yLTQuOCAxMC4yLTEwLjV6bTk0LjggNjAuMWMtMTUuMSAwLTI3LjUgMTIuMS0yNy41IDI3LjV2MTE1LjhjMCAxNS40IDEyLjQgMjcuNyAyNy41IDI3LjcgMTUuNCAwIDMwLjEtMTIuNCAzMC4xLTI3LjdWMjA0LjVjMC0xNS40LTE0LjgtMjcuNS0zMC4xLTI3LjV6Il0sCiAgICAgICJhbmdlbGxpc3QiOiBbNDQ4LCA1MTIsIFtdLCAiZjIwOSIsICJNMzQ3LjEgMjE1LjRjMTEuNy0zMi42IDQ1LjQtMTI2LjkgNDUuNC0xNTcuMSAwLTI2LjYtMTUuNy00OC45LTQzLjctNDguOS00NC42IDAtODQuNiAxMzEuNy05Ny4xIDE2My4xQzI0MiAxNDQgMTk2LjYgMCAxNTYuNiAwYy0zMS4xIDAtNDUuNyAyMi45LTQ1LjcgNTEuNyAwIDM1LjMgMzQuMiAxMjYuOCA0Ni42IDE2Mi02LjMtMi4zLTEzLjEtNC4zLTIwLTQuMy0yMy40IDAtNDguMyAyOS4xLTQ4LjMgNTIuNiAwIDguOSA0LjkgMjEuNCA4IDI5LjctMzYuOSAxMC01MS4xIDM0LjYtNTEuMSA3MS43QzQ2IDQzNS42IDExNC40IDUxMiAyMTAuNiA1MTJjMTE4IDAgMTkxLjQtODguNiAxOTEuNC0yMDIuOSAwLTQzLjEtNi45LTgyLTU0LjktOTMuN3pNMzExLjcgMTA4YzQtMTIuMyAyMS4xLTY0LjMgMzcuMS02NC4zIDguNiAwIDEwLjkgOC45IDEwLjkgMTYgMCAxOS4xLTM4LjYgMTI0LjYtNDcuMSAxNDhsLTM0LTYgMzMuMS05My43ek0xNDIuMyA0OC4zYzAtMTEuOSAxNC41LTQ1LjcgNDYuMyA0Ny4xbDM0LjYgMTAwLjNjLTE1LjYtMS4zLTI3LjctMy0zNS40IDEuNC0xMC45LTI4LjgtNDUuNS0xMTkuNy00NS41LTE0OC44ek0xNDAgMjQ0YzI5LjMgMCA2Ny4xIDk0LjYgNjcuMSAxMDcuNCAwIDUuMS00LjkgMTEuNC0xMC42IDExLjQtMjAuOSAwLTc2LjktNzYuOS03Ni45LTk3LjcuMS03LjcgMTIuNy0yMS4xIDIwLjQtMjEuMXptMTg0LjMgMTg2LjNjLTI5LjEgMzItNjYuMyA0OC42LTEwOS43IDQ4LjYtNTkuNCAwLTEwNi4zLTMyLjYtMTI4LjktODguMy0xNy4xLTQzLjQgMy44LTY4LjMgMjAuNi02OC4zIDExLjQgMCA1NC4zIDYwLjMgNTQuMyA3My4xIDAgNC45LTcuNyA4LjMtMTEuNyA4LjMtMTYuMSAwLTIyLjQtMTUuNS01MS4xLTUxLjQtMjkuNyAyOS43IDIwLjUgODYuOSA1OC4zIDg2LjkgMjYuMSAwIDQzLjEtMjQuMiAzOC00MiAzLjcgMCA4LjMuMyAxMS43LS42IDEuMSAyNy4xIDkuMSA1OS40IDQxLjcgNjEuNyAwLS45IDItNy4xIDItNy40IDAtMTcuNC0xMC42LTMyLjYtMTAuNi01MC4zIDAtMjguMyAyMS43LTU1LjcgNDMuNy03MS43IDgtNiAxNy43LTkuNyAyNy4xLTEzLjEgOS43LTMuNyAyMC04IDI3LjQtMTUuNC0xLjEtMTEuMi01LjctMjEuMS0xNi45LTIxLjEtMjcuNyAwLTEyMC42IDQtMTIwLjYtMzkuNyAwLTYuNy4xLTEzLjEgMTcuNC0xMy4xIDMyLjMgMCAxMTQuMyA4IDEzOC4zIDI5LjEgMTguMSAxNi4xIDI0LjMgMTEzLjItMzEgMTc0Ljd6bS05OC42LTEyNmM5LjcgMy4xIDE5LjcgNCAyOS43IDYtNy40IDUuNC0xNCAxMi0yMC4zIDE5LjEtMi44LTguNS02LjItMTYuOC05LjQtMjUuMXoiXSwKICAgICAgImFuZ3J5Y3JlYXRpdmUiOiBbNjQwLCA1MTIsIFtdLCAiZjM2ZSIsICJNNjQwIDIzOC4ybC0zLjIgMjguMi0zNC41IDIuMy0yIDE4LjEgMzQuNS0yLjMtMy4yIDI4LjItMzQuNCAyLjItMi4zIDIwLjEgMzQuNC0yLjItMyAyNi4xLTY0LjcgNC4xIDEyLjctMTEzLjJMNTI3IDM2NS4ybC0zMS45IDItMjMuOC0xMTcuOCAzMC4zLTIgMTMuNiA3OS40IDMxLjctODIuNCA5My4xLTYuMnpNNDI2LjggMzcxLjVsMjguMy0xLjhMNDY4IDI0OS42bC0yOC40IDEuOS0xMi44IDEyMHpNMTYyIDM4OC4xbC0xOS40LTM2LTMuNSAzNy40LTI4LjIgMS43IDIuNy0yOS4xYy0xMSAxOC0zMiAzNC4zLTU2LjkgMzUuOEMyMy45IDM5OS45LTMgMzc3IC4zIDMzOS43YzIuNi0yOS4zIDI2LjctNjIuOCA2Ny41LTY1LjQgMzcuNy0yLjQgNDcuNiAyMy4yIDUxLjMgMjguOGwyLjgtMzAuOCAzOC45LTIuNWMyMC4xLTEuMyAzOC43IDMuNyA0Mi41IDIzLjdsMi42LTI2LjYgNjQuOC00LjItMi43IDI3LjktMzYuNCAyLjQtMS43IDE3LjkgMzYuNC0yLjMtMi43IDI3LjktMzYuNCAyLjMtMS45IDE5LjkgMzYuMy0yLjMtMi4xIDIwLjggNTUtMTE3LjIgMjMuOC0xLjZMMzcwLjQgMzY5bDguOS04NS42LTIyLjMgMS40IDIuOS0yNy45IDc1LTQuOS0zIDI4LTI0LjMgMS42LTkuNyA5MS45LTU4IDMuNy00LjMtMTUuNi0zOS40IDIuNS04IDE2LjMtMTI2LjIgNy43em0tNDQuMy03MC4ybC0yNi40IDEuN0M4NC42IDMwNy4yIDc2LjkgMzAzIDY1IDMwMy44Yy0xOSAxLjItMzMuMyAxNy41LTM0LjYgMzMuMy0xLjQgMTYgNy4zIDMyLjUgMjguNyAzMS4yIDEyLjgtLjggMjEuMy04LjYgMjguOS0xOC45bDI3LTEuNyAyLjctMjkuOHptNTYuMS03LjdjMS4yLTEyLjktNy42LTEzLjYtMjYuMS0xMi40bC0yLjcgMjguNWMxNC4yLS45IDI3LjUtMi4xIDI4LjgtMTYuMXptMjEuMSA3MC44bDUuOC02MGMtNSAxMy41LTE0LjcgMjEuMS0yNy45IDI2LjZsMjIuMSAzMy40em0xMzUuNC00NWwtNy45LTM3LjgtMTUuOCAzOS4zIDIzLjctMS41em0tMTcwLjEtNzQuNmwtNC4zLTE3LjUtMzkuNiAyLjYtOC4xIDE4LjItMzEuOSAyLjEgNTctMTIxLjkgMjMuOS0xLjYgMzAuNyAxMDIgOS45LTEwNC43IDI3LTEuOCAzNy44IDYzLjYgNi41LTY2LjYgMjguNS0xLjktNCA0MS4yYzcuNC0xMy41IDIyLjktNDQuNyA2My42LTQ3LjUgNDAuNS0yLjggNTIuNCAyOS4zIDUzLjQgMzAuM2wzLjMtMzIgMzkuMy0yLjdjMTIuNy0uOSAyNy44LjMgMzYuMyA5LjdsLTQuNC0xMS45IDMyLjItMi4yIDEyLjkgNDMuMiAyMy00NS43IDMxLTIuMi00My42IDc4LjQtNC44IDQ0LjMtMjguNCAxLjkgNC44LTQ0LjMtMTUuOC00M2MxIDIyLjMtOS4yIDQwLjEtMzIgNDkuNmwyNS4yIDM4LjgtMzYuNCAyLjQtMTkuMi0zNi44LTQgMzguMy0yOC40IDEuOSAzLjMtMzEuNWMtNi43IDkuMy0xOS43IDM1LjQtNTkuNiAzOC0yNi4yIDEuNy00NS42LTEwLjMtNTUuNC0zOS4ybC00IDQwLjMtMjUgMS42LTM3LjYtNjMuMy02LjMgNjYuMi01Ni44IDMuN3ptMjc2LjYtODIuMWMxMC4yLS43IDE3LjUtMi4xIDIxLjYtNC4zIDQuNS0yLjQgNy02LjQgNy42LTEyLjEuNi01LjMtLjYtOC44LTMuNC0xMC40LTMuNi0yLjEtMTAuNi0yLjgtMjIuOS0ybC0yLjkgMjguOHpNMzI3LjcgMjE0YzUuNiA1LjkgMTIuNyA4LjUgMjEuMyA3LjkgNC43LS4zIDkuMS0xLjggMTMuMy00LjEgNS41LTMgMTAuNi04IDE1LjEtMTQuM2wtMzQuMiAyLjMgMi40LTIzLjkgNjMuMS00LjMgMS4yLTEyLTMxLjIgMi4xYy00LjEtMy43LTcuOC02LjYtMTEuMS04LjEtNC0xLjctOC4xLTIuOC0xMi4yLTIuNS04IC41LTE1LjMgMy42LTIyIDkuMi03LjcgNi40LTEyIDE0LjUtMTIuOSAyNC40LTEuMSA5LjYgMS40IDE3LjMgNy4yIDIzLjN6bS0yMDEuMyA4LjJsMjMuOC0xLjYtOC4zLTM3LjYtMTUuNSAzOS4yeiJdLAogICAgICAiYW5ndWxhciI6IFs0MTUsIDUxMiwgW10sICJmNDIwIiwgIk0xNjkuNyAyNjguMWg3Ni4ybC0zOC4xLTkxLjYtMzguMSA5MS42ek0yMDcuOCAzMkwwIDEwNi40bDMxLjggMjc1LjcgMTc2IDk3LjkgMTc2LTk3LjkgMzEuOC0yNzUuN0wyMDcuOCAzMnpNMzM4IDM3My44aC00OC42bC0yNi4yLTY1LjRIMTUyLjZsLTI2LjIgNjUuNEg3Ny43TDIwNy44IDgxLjUgMzM4IDM3My44eiJdLAogICAgICAiYXBwLXN0b3JlIjogWzUxMiwgNTEyLCBbXSwgImYzNmYiLCAiTTI1NS45IDEyMC45bDkuMS0xNS43YzUuNi05LjggMTguMS0xMy4xIDI3LjktNy41IDkuOCA1LjYgMTMuMSAxOC4xIDcuNSAyNy45bC04Ny41IDE1MS41aDYzLjNjMjAuNSAwIDMyIDI0LjEgMjMuMSA0MC44SDExMy44Yy0xMS4zIDAtMjAuNC05LjEtMjAuNC0yMC40IDAtMTEuMyA5LjEtMjAuNCAyMC40LTIwLjRoNTJsNjYuNi0xMTUuNC0yMC44LTM2LjFjLTUuNi05LjgtMi4zLTIyLjIgNy41LTI3LjkgOS44LTUuNiAyMi4yLTIuMyAyNy45IDcuNWw4LjkgMTUuN3ptLTc4LjcgMjE4bC0xOS42IDM0Yy01LjYgOS44LTE4LjEgMTMuMS0yNy45IDcuNS05LjgtNS42LTEzLjEtMTguMS03LjUtMjcuOWwxNC42LTI1LjJjMTYuNC01LjEgMjkuOC0xLjIgNDAuNCAxMS42em0xNjguOS02MS43aDUzLjFjMTEuMyAwIDIwLjQgOS4xIDIwLjQgMjAuNCAwIDExLjMtOS4xIDIwLjQtMjAuNCAyMC40aC0yOS41bDE5LjkgMzQuNWM1LjYgOS44IDIuMyAyMi4yLTcuNSAyNy45LTkuOCA1LjYtMjIuMiAyLjMtMjcuOS03LjUtMzMuNS01OC4xLTU4LjctMTAxLjYtNzUuNC0xMzAuNi0xNy4xLTI5LjUtNC45LTU5LjEgNy4yLTY5LjEgMTMuNCAyMyAzMy40IDU3LjcgNjAuMSAxMDR6TTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTIxNiAyNDhjMCAxMTguNy05Ni4xIDIxNi0yMTYgMjE2LTExOC43IDAtMjE2LTk2LjEtMjE2LTIxNiAwLTExOC43IDk2LjEtMjE2IDIxNi0yMTYgMTE4LjcgMCAyMTYgOTYuMSAyMTYgMjE2eiJdLAogICAgICAiYXBwLXN0b3JlLWlvcyI6IFs0NDgsIDUxMiwgW10sICJmMzcwIiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xMjcgMzg0LjVjLTUuNSA5LjYtMTcuOCAxMi44LTI3LjMgNy4zLTkuNi01LjUtMTIuOC0xNy44LTcuMy0yNy4zbDE0LjMtMjQuN2MxNi4xLTQuOSAyOS4zLTEuMSAzOS42IDExLjRMMTI3IDM4NC41em0xMzguOS01My45SDg0Yy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGg1MWw2NS40LTExMy4yLTIwLjUtMzUuNGMtNS41LTkuNi0yLjItMjEuOCA3LjMtMjcuMyA5LjYtNS41IDIxLjgtMi4yIDI3LjMgNy4zbDguOSAxNS40IDguOS0xNS40YzUuNS05LjYgMTcuOC0xMi44IDI3LjMtNy4zIDkuNiA1LjUgMTIuOCAxNy44IDcuMyAyNy4zbC04NS44IDE0OC42aDYyLjFjMjAuMiAwIDMxLjUgMjMuNyAyMi43IDQwem05OC4xIDBoLTI5bDE5LjYgMzMuOWM1LjUgOS42IDIuMiAyMS44LTcuMyAyNy4zLTkuNiA1LjUtMjEuOCAyLjItMjcuMy03LjMtMzIuOS01Ni45LTU3LjUtOTkuNy03NC0xMjguMS0xNi43LTI5LTQuOC01OCA3LjEtNjcuOCAxMy4xIDIyLjcgMzIuNyA1Ni43IDU4LjkgMTAyaDUyYzExIDAgMjAgOSAyMCAyMCAwIDExLjEtOSAyMC0yMCAyMHoiXSwKICAgICAgImFwcGVyIjogWzY0MCwgNTEyLCBbXSwgImYzNzEiLCAiTTQyLjEgMjM5LjFjMjIuMiAwIDI5IDIuOCAzMy41IDE0LjZoLjh2LTIyLjljMC0xMS4zLTQuOC0xNS40LTE3LjktMTUuNC0xMS4zIDAtMTQuNCAyLjUtMTUuMSAxMi44SDQuOGMuMy0xMy45IDEuNS0xOS4xIDUuOC0yNC40QzE3LjkgMTk1IDI5LjUgMTkyIDU2LjcgMTkyYzMzIDAgNDcuMSA1IDUzLjkgMTguOSAyIDQuMyA0IDE1LjYgNCAyMy43djc2LjNINzYuM2wxLjMtMTkuMWgtMWMtNS4zIDE1LjYtMTMuNiAyMC40LTM1LjUgMjAuNC0zMC4zIDAtNDEuMS0xMC4xLTQxLjEtMzcuMyAwLTI1LjIgMTIuMy0zNS44IDQyLjEtMzUuOHptMTcuMSA0OC4xYzEzLjEgMCAxNi45LTMgMTYuOS0xMy40IDAtOS4xLTQuMy0xMS42LTE5LjYtMTEuNi0xMy4xIDAtMTcuOSAzLTE3LjkgMTIuMS0uMSAxMC40IDMuNyAxMi45IDIwLjYgMTIuOXptNzcuOC05NC45aDM4LjNsLTEuNSAyMC42aC44YzkuMS0xNy4xIDE1LjktMjAuOSAzNy41LTIwLjkgMTQuNCAwIDI0LjcgMyAzMS41IDkuMSA5LjggOC42IDEyLjggMjAuNCAxMi44IDQ4LjEgMCAzMC0zIDQzLjEtMTIuMSA1Mi45LTYuOCA3LjMtMTYuNCAxMC4xLTMzLjIgMTAuMS0yMC40IDAtMjkuMi01LjUtMzMuOC0yMS4yaC0uOHY3MC4zSDEzN3YtMTY5em04MC45IDYwLjdjMC0yNy41LTMuMy0zMi41LTIwLjctMzIuNS0xNi45IDAtMjAuNyA1LTIwLjcgMjguNyAwIDI4IDMuNSAzMy41IDIxLjIgMzMuNSAxNi40IDAgMjAuMi01LjYgMjAuMi0yOS43em01Ny45LTYwLjdoMzguM2wtMS41IDIwLjZoLjhjOS4xLTE3LjEgMTUuOS0yMC45IDM3LjUtMjAuOSAxNC40IDAgMjQuNyAzIDMxLjUgOS4xIDkuOCA4LjYgMTIuOCAyMC40IDEyLjggNDguMSAwIDMwLTMgNDMuMS0xMi4xIDUyLjktNi44IDcuMy0xNi40IDEwLjEtMzMuMyAxMC4xLTIwLjQgMC0yOS4yLTUuNS0zMy44LTIxLjJoLS44djcwLjNoLTM5LjV2LTE2OXptODAuOSA2MC43YzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTMuOC0zLjhjMC0yNS40IDMuMy0zNy44IDEyLjMtNDUuOCA4LjgtOC4xIDIyLjItMTEuMyA0NS4xLTExLjMgNDIuOCAwIDU1LjcgMTIuOCA1NS43IDU1Ljd2MTEuMWgtNzUuM2MtLjMgMi0uMyA0LS4zIDQuOCAwIDE2LjkgNC41IDIxLjkgMjAuMSAyMS45IDEzLjkgMCAxNy45LTMgMTcuOS0xMy45aDM3LjV2Mi4zYzAgOS44LTIuNSAxOC45LTYuOCAyNC43LTcuMyA5LjgtMTkuNiAxMy42LTQ0LjMgMTMuNi0yNy41IDAtNDEuNi0zLjMtNTAuNi0xMi4zLTguNS04LjUtMTEuMy0yMS4zLTExLjMtNTAuOHptNzYuNC0xMS42Yy0uMy0xLjgtLjMtMy4zLS4zLTMuOCAwLTEyLjMtMy4zLTE0LjYtMTkuNi0xNC42LTE0LjQgMC0xNy4xIDMtMTguMSAxNS4xbC0uMyAzLjNoMzguM3ptNTUuNi00NS4zaDM4LjNsLTEuOCAxOS45aC43YzYuOC0xNC45IDE0LjQtMjAuMiAyOS43LTIwLjIgMTAuOCAwIDE5LjEgMy4zIDIzLjQgOS4zIDUuMyA3LjMgNi44IDE0LjQgNi44IDM0IDAgMS41IDAgNSAuMiA5LjNoLTM1Yy4zLTEuOC4zLTMuMy4zLTQgMC0xNS40LTItMTkuNC0xMC4zLTE5LjQtNi4zIDAtMTAuOCAzLjMtMTMuMSA5LjMtMSAzLTEgNC4zLTEgMTIuM3Y2OGgtMzguM1YxOTIuM3oiXSwKICAgICAgImFwcGxlIjogWzQ0OCwgNTEyLCBbXSwgImYxNzkiLCAiTTI0Ny4yIDEzNy42Yy02LjIgMS45LTE1LjMgMy41LTI3LjkgNC42IDEuMS01Ni43IDI5LjktOTYuNiA4OC0xMTAuMSA5LjMgNDEuNi0yNi4xIDk0LjEtNjAuMSAxMDUuNXptMTIxLjMgNzIuN2M2LjQtOS40IDE2LjYtMTkuOSAzMC42LTMxLjctMjIuMy0yNy42LTQ4LjEtNDQuMy04NS4xLTQ0LjMtMzUuNCAwLTY1LjIgMTguMi04NyAxOC4yLTE4LjUgMC01MS45LTE2LjEtODQuNS0xNi4xLTY5LjYgMC0xMDYuNSA2OC4xLTEwNi41IDEzOUMzNiAzNTQuMiA5NS43IDQ4MCAxNTYuMiA0ODBjMjMuOCAwIDQ1LjItMTggNzMuNS0xOCAyOS4zIDAgNTIuOCAxNy4yIDgwLjMgMTcuMiA0NiAwIDg4LjYtNzcuNSAxMDItMTE5LjctNDYuOC0xNC4zLTg0LjQtOTAuMi00My41LTE0OS4yeiJdLAogICAgICAiYXBwbGUtcGF5IjogWzY0MCwgNTEyLCBbXSwgImY0MTUiLCAiTTExNi45IDE1OC41Yy03LjUgOC45LTE5LjUgMTUuOS0zMS41IDE0LjktMS41LTEyIDQuNC0yNC44IDExLjMtMzIuNiA3LjUtOS4xIDIwLjYtMTUuNiAzMS4zLTE2LjEgMS4yIDEyLjQtMy43IDI0LjctMTEuMSAzMy44bTEwLjkgMTcuMmMtMTcuNC0xLTMyLjMgOS45LTQwLjUgOS45LTguNCAwLTIxLTkuNC0zNC44LTkuMS0xNy45LjMtMzQuNSAxMC40LTQzLjYgMjYuNS0xOC44IDMyLjMtNC45IDgwIDEzLjMgMTA2LjMgOC45IDEzIDE5LjUgMjcuMyAzMy41IDI2LjggMTMuMy0uNSAxOC41LTguNiAzNC41LTguNiAxNi4xIDAgMjAuOCA4LjYgMzQuOCA4LjQgMTQuNS0uMyAyMy42LTEzIDMyLjUtMjYgMTAuMS0xNC44IDE0LjMtMjkuMSAxNC41LTI5LjktLjMtLjMtMjgtMTAuOS0yOC4zLTQyLjktLjMtMjYuOCAyMS45LTM5LjUgMjIuOS00MC4zLTEyLjUtMTguNi0zMi0yMC42LTM4LjgtMjEuMW0xMDAuNC0zNi4ydjE5NC45aDMwLjN2LTY2LjZoNDEuOWMzOC4zIDAgNjUuMS0yNi4zIDY1LjEtNjQuM3MtMjYuNC02NC02NC4xLTY0aC03My4yem0zMC4zIDI1LjVoMzQuOWMyNi4zIDAgNDEuMyAxNCA0MS4zIDM4LjZzLTE1IDM4LjgtNDEuNCAzOC44aC0zNC44VjE2NXptMTYyLjIgMTcwLjljMTkgMCAzNi42LTkuNiA0NC42LTI0LjloLjZ2MjMuNGgyOHYtOTdjMC0yOC4xLTIyLjUtNDYuMy01Ny4xLTQ2LjMtMzIuMSAwLTU1LjkgMTguNC01Ni44IDQzLjZoMjcuM2MyLjMtMTIgMTMuNC0xOS45IDI4LjYtMTkuOSAxOC41IDAgMjguOSA4LjYgMjguOSAyNC41djEwLjhsLTM3LjggMi4zYy0zNS4xIDIuMS01NC4xIDE2LjUtNTQuMSA0MS41LjEgMjUuMiAxOS43IDQyIDQ3LjggNDJ6bTguMi0yMy4xYy0xNi4xIDAtMjYuNC03LjgtMjYuNC0xOS42IDAtMTIuMyA5LjktMTkuNCAyOC44LTIwLjVsMzMuNi0yLjF2MTFjMCAxOC4yLTE1LjUgMzEuMi0zNiAzMS4yem0xMDIuNSA3NC42YzI5LjUgMCA0My40LTExLjMgNTUuNS00NS40TDY0MCAxOTNoLTMwLjhsLTM1LjYgMTE1LjFoLS42TDUzNy40IDE5M2gtMzEuNkw1NTcgMzM0LjlsLTIuOCA4LjZjLTQuNiAxNC42LTEyLjEgMjAuMy0yNS41IDIwLjMtMi40IDAtNy0uMy04LjktLjV2MjMuNGMxLjguNCA5LjMuNyAxMS42Ljd6Il0sCiAgICAgICJhc3ltbWV0cmlrIjogWzU3NiwgNTEyLCBbXSwgImYzNzIiLCAiTTUxNy41IDMwOS4yYzM4LjgtNDAgNTguMS04MCA1OC41LTExNi4xLjgtNjUuNS01OS40LTExOC4yLTE2OS40LTEzNUMyNzcuOSAzOC40IDExOC4xIDczLjYgMCAxNDAuNSA1MiAxMTQgMTEwLjYgOTIuMyAxNzAuNyA4Mi4zYzc0LjUtMjAuNSAxNTMtMjUuNCAyMjEuMy0xNC44QzU0NC41IDkxLjMgNTg4LjggMTk1IDQ5MC44IDI5OS4yYy0xMC4yIDEwLjgtMjIgMjEuMS0zNSAzMC42TDMwNC45IDEwMy40IDExNC43IDM4OC45Yy02NS42LTI5LjQtNzYuNS05MC4yLTE5LjEtMTUxLjIgMjAuOC0yMi4yIDQ4LjMtNDEuOSA3OS41LTU4LjEgMjAtMTIuMiAzOS43LTIyLjYgNjItMzAuNy02NS4xIDIwLjMtMTIyLjcgNTIuOS0xNjEuNiA5Mi45LTI3LjcgMjguNi00MS40IDU3LjEtNDEuNyA4Mi45LS41IDM1LjEgMjMuNCA2NS4xIDY4LjQgODNsLTM0LjUgNTEuN2gxMDEuNmwyMi0zNC40YzIyLjIgMSA0NS4zIDAgNjguNi0yLjdsLTIyLjggMzcuMWgxMzUuNUwzNDAgNDA2LjNjMTguNi01LjMgMzYuOS0xMS41IDU0LjUtMTguN2w0NS45IDcxLjhINTQyTDQ2OC42IDM0OWMxOC41LTEyLjEgMzUtMjUuNSA0OC45LTM5Ljh6bS0xODcuNiA4MC41bC0yNS00MC42LTMyLjcgNTMuM2MtMjMuNCAzLjUtNDYuNyA1LjEtNjkuMiA0LjRsMTAxLjktMTU5LjMgNzguNyAxMjNjLTE3LjIgNy40LTM1LjMgMTMuOS01My43IDE5LjJ6Il0sCiAgICAgICJhdWRpYmxlIjogWzY0MCwgNTEyLCBbXSwgImYzNzMiLCAiTTY0MCAxOTkuOXY1NGwtMzIwIDIwMEwwIDI1NHYtNTRsMzIwIDIwMCAzMjAtMjAwLjF6bS0xOTQuNSA3Mmw0Ny4xLTI5LjRjLTM3LjItNTUuOC0xMDAuNy05Mi42LTE3Mi43LTkyLjYtNzIgMC0xMzUuNSAzNi43LTE3Mi42IDkyLjRoLjNjMi41LTIuMyA1LjEtNC41IDcuNy02LjcgODkuNy03NC40IDIxOS40LTU4LjEgMjkwLjIgMzYuM3ptLTIyMC4xIDE4LjhjMTYuOS0xMS45IDM2LjUtMTguNyA1Ny40LTE4LjcgMzQuNCAwIDY1LjIgMTguNCA4Ni40IDQ3LjZsNDUuNC0yOC40Yy0yMC45LTI5LjktNTUuNi00OS41LTk0LjgtNDkuNS0zOC45IDAtNzMuNCAxOS40LTk0LjQgNDl6TTEwMy42IDE2MS4xYzEzMS44LTEwNC4zIDMxOC4yLTc2LjQgNDE3LjUgNjIuMWwuNyAxIDQ4LjgtMzAuNEM1MTcuMSAxMTIuMSA0MjQuOCA1OC4xIDMxOS45IDU4LjFjLTEwMy41IDAtMTk2LjYgNTMuNS0yNTAuNSAxMzUuNiA5LjktMTAuNSAyMi43LTIzLjUgMzQuMi0zMi42em00NjcgMzIuN3oiXSwKICAgICAgImF1dG9wcmVmaXhlciI6IFs2NDAsIDUxMiwgW10sICJmNDFjIiwgIk0zMTguNCAxNmwtMTYxIDQ4MGg3Ny41bDI1LjQtODEuNGgxMTkuNUw0MDUgNDk2aDc3LjVMMzE4LjQgMTZ6bS00MC4zIDM0MS45bDQxLjItMTMwLjRoMS41bDQwLjkgMTMwLjRoLTgzLjZ6TTY0MCA0MDVsLTEwLTMxLjRMNDYyLjEgMzU4bDE5LjQgNTYuNUw2NDAgNDA1em0tNDYyLjEtNDdMMTAgMzczLjcgMCA0MDVsMTU4LjUgOS40IDE5LjQtNTYuNHoiXSwKICAgICAgImF2aWFuZXgiOiBbNTEyLCA1MTIsIFtdLCAiZjM3NCIsICJNNDUzLjEgMzJoLTMxMmMtMzguOSAwLTc2LjIgMzEuMi04My4zIDY5LjdMMS4yIDQxMC4zQy01LjkgNDQ4LjggMTkuOSA0ODAgNTguOSA0ODBoMzEyYzM4LjkgMCA3Ni4yLTMxLjIgODMuMy02OS43bDU2LjctMzA4LjVjNy0zOC42LTE4LjgtNjkuOC01Ny44LTY5Ljh6bS01OC4yIDM0Ny4zbC0zMiAxMy41LTExNS40LTExMGMtMTQuNyAxMC0yOS4yIDE5LjUtNDEuNyAyNy4xbDIyLjEgNjQuMi0xNy45IDEyLjctNDAuNi02MS01Mi40LTQ4LjEgMTUuNy0xNS40IDU4IDMxLjFjOS4zLTEwLjUgMjAuOC0yMi42IDMyLjgtMzQuOUwyMDMgMjI4LjlsLTY4LjgtOTkuOCAxOC44LTI4LjkgOC45LTQuOEwyNjUgMjA3LjhsNC45IDQuNWMxOS40LTE4LjggMzMuOC0zMi40IDMzLjgtMzIuNCA3LjctNi41IDIxLjUtMi45IDMwLjcgNy45IDkgMTAuNSAxMC42IDI0LjcgMi43IDMxLjMtMS44IDEuMy0xNS41IDExLjQtMzUuMyAyNS42bDQuNSA3LjMgOTQuOSAxMTkuNC02LjMgNy45eiJdLAogICAgICAiYXZpYXRvIjogWzY0MCwgNTEyLCBbXSwgImY0MjEiLCAiTTEwNy4yIDI4My41bC0xOS00MS44SDM2LjFsLTE5IDQxLjhIMGw2Mi4yLTEzMS40IDYyLjIgMTMxLjRoLTE3LjJ6bS00NS05OC4xbC0xOS42IDQyLjVoMzkuMmwtMTkuNi00Mi41em0xMTIuNyAxMDIuNGwtNjIuMi0xMzEuNGgxNy4xbDQ1LjEgOTYgNDUuMS05NmgxN2wtNjIuMSAxMzEuNHptODAuNi00LjNWMTU2LjRIMjcxdjEyNy4xaC0xNS41em0yMDkuMS0xMTUuNnYxMTUuNmgtMTcuM1YxNjcuOWgtNDEuMnYtMTEuNWg5OS42djExLjVoLTQxLjF6TTY0MCAyMTguOGMwIDkuMi0xLjcgMTcuOC01LjEgMjUuOC0zLjQgOC04LjIgMTUuMS0xNC4yIDIxLjEtNiA2LTEzLjEgMTAuOC0yMS4xIDE0LjItOCAzLjQtMTYuNiA1LjEtMjUuOCA1LjFzLTE3LjgtMS43LTI1LjgtNS4xYy04LTMuNC0xNS4xLTguMi0yMS4xLTE0LjItNi02LTEwLjgtMTMtMTQuMi0yMS4xLTMuNC04LTUuMS0xNi42LTUuMS0yNS44czEuNy0xNy44IDUuMS0yNS44YzMuNC04IDguMi0xNS4xIDE0LjItMjEuMSA2LTYgMTMtOC40IDIxLjEtMTEuOSA4LTMuNCAxNi42LTUuMSAyNS44LTUuMXMxNy44IDEuNyAyNS44IDUuMWM4IDMuNCAxNS4xIDUuOCAyMS4xIDExLjkgNiA2IDEwLjcgMTMuMSAxNC4yIDIxLjEgMy40IDggNS4xIDE2LjYgNS4xIDI1Ljh6bS0xNS41IDBjMC03LjMtMS4zLTE0LTMuOS0yMC4zLTIuNi02LjMtNi4yLTExLjctMTAuOC0xNi4zLTQuNi00LjYtMTAtOC4yLTE2LjItMTAuOS02LjItMi43LTEyLjgtNC0xOS44LTRzLTEzLjYgMS4zLTE5LjggNGMtNi4yIDIuNy0xMS42IDYuMy0xNi4yIDEwLjktNC42IDQuNi04LjIgMTAtMTAuOCAxNi4zLTIuNiA2LjMtMy45IDEzLjEtMy45IDIwLjMgMCA3LjMgMS4zIDE0IDMuOSAyMC4zIDIuNiA2LjMgNi4yIDExLjcgMTAuOCAxNi4zIDQuNiA0LjYgMTAgOC4yIDE2LjIgMTAuOSA2LjIgMi43IDEyLjggNCAxOS44IDRzMTMuNi0xLjMgMTkuOC00YzYuMi0yLjcgMTEuNi02LjMgMTYuMi0xMC45IDQuNi00LjYgOC4yLTEwIDEwLjgtMTYuMyAyLjYtNi4zIDMuOS0xMy4xIDMuOS0yMC4zem0tOTQuOCA5Ni43di02LjNsODguOS0xMC0yNDIuOSAxMy40Yy42LTIuMiAxLjEtNC42IDEuNC03LjIuMy0yIC41LTQuMi42LTYuNWw2NC44LTguMS02NC45IDEuOWMwLS40LS4xLS43LS4xLTEuMS0yLjgtMTcuMi0yNS41LTIzLjctMjUuNS0yMy43bC0xLjEtMjYuM2gyMy44bDE5IDQxLjhoMTcuMUwzNDguNiAxNTJsLTYyLjIgMTMxLjRoMTcuMWwxOS00MS44aDIzLjZMMzQ1IDI2OHMtMjIuNyA2LjUtMjUuNSAyMy43Yy0uMS4zLS4xLjctLjEgMS4xbC02NC45LTEuOSA2NC44IDguMWMuMSAyLjMuMyA0LjQuNiA2LjUuMyAyLjYuOCA1IDEuNCA3LjJMNzguNCAyOTkuMmw4OC45IDEwdjYuM2MtNS45LjktMTAuNSA2LTEwLjUgMTIuMiAwIDYuOCA1LjYgMTIuNCAxMi40IDEyLjQgNi44IDAgMTIuNC01LjYgMTIuNC0xMi40IDAtNi4yLTQuNi0xMS4zLTEwLjUtMTIuMnYtNS44bDgwLjMgOXY1LjRjLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjIgNi44IDAgMTIuNC0zLjQgMTIuNC0xMC4yIDAtNi00LjMtMTEtOS45LTEyLjF2LTQuOWwyOC40IDMuMnYyMy43aC01LjlWMzYwaDUuOXYtNi42aDV2Ni42aDUuOXYtMTMuOGgtNS45VjMyM2wzOC4zIDQuM2M4LjEgMTEuNCAxOSAxMy42IDE5IDEzLjZsLS4xIDYuNy01LjEuMi0uMSAxMi4xaDQuMWwuMS01aDUuMmwuMSA1aDQuMWwtLjEtMTIuMS01LjEtLjItLjEtNi43czEwLjktMi4xIDE5LTEzLjZsMzguMy00LjN2MjMuMmgtNS45VjM2MGg1Ljl2LTYuNmg1djYuNmg1Ljl2LTEzLjhoLTUuOXYtMjMuN2wyOC40LTMuMnY0LjljLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjIgNi44IDAgMTIuNC0zLjQgMTIuNC0xMC4yIDAtNi00LjMtMTEtOS45LTEyLjF2LTUuNGw4MC4zLTl2NS44Yy01LjkuOS0xMC41IDYtMTAuNSAxMi4yIDAgNi44IDUuNiAxMi40IDEyLjQgMTIuNCA2LjggMCAxMi40LTUuNiAxMi40LTEyLjQtLjItNi4zLTQuNy0xMS40LTEwLjctMTIuM3ptLTIwMC44LTg3LjZsMTkuNi00Mi41IDE5LjYgNDIuNWgtMTcuOWwtMS43LTQwLjMtMS43IDQwLjNoLTE3Ljl6Il0sCiAgICAgICJhd3MiOiBbNTEyLCA1MTIsIFtdLCAiZjM3NSIsICJNMjYxLjIgMTM2LjFjLTE0IDU3LjUtMTMuMSA1NC40LTI1LjggMTA3LTEuNiA2LjUtNC4xIDguNC0xMC43IDguNWgtMTQuNGMtNS44LS4xLTguMi0xLjYtOS45LTcuMy0xMi4zLTM5LjQtMjguOC05NC4xLTM5LjktMTMwLjctNC4xLTEzLjUtMS40LTEzLjIgOS4zLTEyLjkgMy43LjEgNy4zIDAgMTEgMCA1LjEuMSA3LjcgMiA5LjEgNy4xIDMuNiAxMi45IDYgMjIuOCAyNi42IDEwNC4xLjQgMS42LjkgMy4xIDEuNCA0LjZoMS4xYy41LTIgMS4xLTMuOSAxLjYtNS45IDcuOC0zMi45IDE1LjUtNjUuOSAyMy4zLTk4LjggMi40LTEwLjIgNi43LTExLjIgMTctMTEuMmg3LjZjNi45LjEgOSAxLjUgMTAuNyA4LjMgNiAyMy40IDIzLjUgMTAxLjggMjYuNyAxMTAuNCA1LjEtMTguMy0xLjggNy45IDI4LjUtMTA5IDIuMS04LjEgNC4xLTkuNyAxMi4zLTkuN2gxMi43YzUuNC4xIDcgMS44IDUuNyA3LjEtMi40IDkuNS0yLjkgOS45LTQxLjMgMTMyLjktMy4xIDkuOS00LjIgMTAuOC0xNC42IDEwLjhoLTEwLjZjLTcuMyAwLTkuMi0xLjMtMTEtOC40LTQuMy0xNi4yLTIzLjMtOTUuNy0yNi40LTEwNi45ek0xMjUuNCAyNDcuM2M0LjIgNS44IDguMSA2LjMgMTQuMSAyLjRsNi4zLTQuMmM2LjgtNC41IDcuMy02LjMgMy42LTEzLjUtNC4zLTguNC02LjQtMTcuMy02LjMtMjYuOSAwLTMuMS42LTU1LjctLjktNjYuOC0yLjctMTkuMy0xMi41LTMyLjgtMzEuNy0zOC43LTEwLjctMy40LTIxLjctMy4zLTMyLjctMy0xNS4xLjQtMjkuNCA0LjYtNDIuOCAxMS40LTEuOC45LTMuNyAzLjEtNC4xIDQuOS0uOCAzLjktMS4xIDguMS0uNyAxMi4xLjYgNS45IDIuNiA3IDguMiA1LjEgNS4xLTEuNyAxMC0zLjkgMTUuMS01LjQgMTQuNS00LjQgMjkuMi02LjQgNDQuMS0xLjcgNy4xIDIuMiAxMS43IDYuOSAxNC4zIDEzLjggMyA3LjkgMi40IDE2LjEgMi40IDI0LjIgMCA1LjUtLjEgNS41LTUuNSA0LjUtMTMuOS0yLjYtMjcuNy01LTQxLjktMy4xLTE1LjIgMi4xLTI4LjYgNy4zLTM4LjIgMjAtOS4xIDEyLTEwIDI1LjYtNy40IDM5LjUgMi44IDE1IDExLjggMjUuNyAyNi40IDMwLjQgMjAuNiA2LjcgNDAuMSAzLjMgNTcuNy05LjUgMy44LTIuOCA3LjItNi4yIDExLjEtOS41IDMuMSA1IDUuOCA5LjcgOC45IDE0em0tMTUuMy02MS42YzMgLjQgNC41IDEuOSA0LjMgNS4xLS4yIDMuOC4xIDcuNi0uMyAxMS40LTEuMiAxMS43LTcuNyAxOS43LTE3LjkgMjQuOS04LjIgNC4yLTE2LjkgNS44LTI2LjEgNS0xNS4yLTEuMy0yMS0xMy4xLTE5LjYtMjYuM0M1MS44IDE5My4yIDU5IDE4Ni4yIDcyIDE4NGMxMy44LTIuNCAxNi0xLjEgMzguMSAxLjd6bTM0OC44IDY1LjFjMjEuMy04LjYgMzIuOS0yNi4yIDI5LjItNTAtMi4yLTE0LjYtMTEuOC0yNC4yLTI1LjItMjkuNS0xNC43LTUuOS0zMy44LTEwLjMtNDguMS0xOC4yLTQuNC0yLjQtNy40LTYuMy03LjYtMTEuOS0uNC0xMS4xIDQuMi0xNy4yIDE1LjQtMTkuOCA5LjMtMi4xIDE4LjgtMi4yIDI4LjEtLjQgNy4zIDEuNCAxNC4zIDQuMiAyMS40IDYuMyAyLjguOSA1LjkgMi4xIDcuOC0xLjYgMy44LTcuMy40LTE4LjctNy4zLTIxLjgtMjIuNS05LTQ1LjUtMTEuNi02OC4yLTEuNi0xNC42IDYuNC0yNC42IDE3LjQtMjYgMzQuMi0xLjYgMTkuMyA2LjkgMzMuNCAyNC4xIDQxLjcgNy43IDMuNyAxNi4xIDUuOSAyNC4yIDguOSA4LjEgMyAxNi4yIDUuOCAyNC4xIDkuMSAxMi4zIDUuMyAxMS42IDI0LjIgMS4yIDMwLTI3LjcgMTUuMy02NC45LTIuNC02OS4yLTMuOC0zLjMtMS4xLTUuMy4yLTYuMyAzLjctMyAxMS4zLjcgMTguOCAxMS42IDIyLjcgMjEuNyA3LjkgNDkuNiAxMC41IDcwLjggMnpNMjk2IDQxMy41YzUwLjgtNS44IDk4LjctMjAuOCAxNDIuNy00NyA4LTQuNyAxNS41LTEwLjMgMjMuMS0xNS43IDcuMy01LjIgMy4yLTE4LjQtMTEuMy0xMi4yLTU0LjQgMjMuMi0xMTEuMiAzNi4xLTE3MC4yIDM4LjktMzAuNSAxLjUtNjAuOC0uMy05MS4xLTQuNy02My4xLTkuMi0xMjIuNC0yOS4yLTE3Ny42LTYxLjItMi4xLTEuMi00LjItMi41LTYuNS0zLTQuOS0xLjEtNy43IDQuNy0yLjQgOS43IDI0IDIyLjEgNTAuMyA0MC44IDc5LjEgNTUuNyA1My43IDI3LjcgMTEwLjUgNDIuNyAxNzEuMiA0MiAxNC40LS44IDI4LjgtLjkgNDMtMi41em0xNzQuNy05Mi4yYzE0LjguOCAxOS40IDUuOSAxNS43IDIwLjItMy44IDE0LjgtOS4zIDI5LjItMTMuOSA0My44LS45IDIuOS00LjIgNi4zLS44IDguOCAzLjcgMi42IDYuNS0xIDktMy4zIDEwLjItOS41IDE3LjQtMjEgMjIuNS0zMy44IDUuNC0xMy40IDkuMy0yNy4yIDguNy00MS45LS4yLTYuMi0xLjgtOC44LTcuOC0xMC41LTUuNC0xLjUtMTEtMi44LTE2LjUtMy4yLTIxLjYtMS44LTQyLjUuNS02MiAxMC42LTMuMSAxLjYtNiAzLjctOC43IDUuOS0xLjEuOS0zLjIgNS4zIDIuNCA2LjEgMS45LjMgMy45LS4xIDUuOS0uMyAxNi45LTEuNiAyOC42LTMuMyA0NS41LTIuNHoiXSwKICAgICAgImJhbmRjYW1wIjogWzQ5NiwgNTEyLCBbXSwgImYyZDUiLCAiTTI0OCA4QzExMSA4IDAgMTE5IDAgMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzg1IDggMjQ4IDh6bTQ4LjIgMzI2LjFoLTE4MUwxOTkuOSAxNzhoMTgxbC04NC43IDE1Ni4xeiJdLAogICAgICAiYmVoYW5jZSI6IFs1NzYsIDUxMiwgW10sICJmMWI0IiwgIk0yMzIgMjM3LjJjMzEuOC0xNS4yIDQ4LjQtMzguMiA0OC40LTc0IDAtNzAuNi01Mi42LTg3LjgtMTEzLjMtODcuOEgwdjM1NC40aDE3MS44YzY0LjQgMCAxMjQuOS0zMC45IDEyNC45LTEwMi45IDAtNDQuNS0yMS4xLTc3LjQtNjQuNy04OS43ek03Ny45IDEzNS45SDE1MWMyOC4xIDAgNTMuNCA3LjkgNTMuNCA0MC41IDAgMzAuMS0xOS43IDQyLjItNDcuNSA0Mi4yaC03OXYtODIuN3ptODMuMyAyMzMuN0g3Ny45VjI3Mmg4NC45YzM0LjMgMCA1NiAxNC4zIDU2IDUwLjYgMCAzNS44LTI1LjkgNDctNTcuNiA0N3ptMzU4LjUtMjQwLjdIMzc2Vjk0aDE0My43djM0Ljl6TTU3NiAzMDUuMmMwLTc1LjktNDQuNC0xMzkuMi0xMjQuOS0xMzkuMi03OC4yIDAtMTMxLjMgNTguOC0xMzEuMyAxMzUuOCAwIDc5LjkgNTAuMyAxMzQuNyAxMzEuMyAxMzQuNyA2MS4zIDAgMTAxLTI3LjYgMTIwLjEtODYuM0g1MDljLTYuNyAyMS45LTM0LjMgMzMuNS01NS43IDMzLjUtNDEuMyAwLTYzLTI0LjItNjMtNjUuM2gxODUuMWMuMy00LjIuNi04LjcuNi0xMy4yek0zOTAuNCAyNzRjMi4zLTMzLjcgMjQuNy01NC44IDU4LjUtNTQuOCAzNS40IDAgNTMuMiAyMC44IDU2LjIgNTQuOEgzOTAuNHoiXSwKICAgICAgImJlaGFuY2Utc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYxYjUiLCAiTTE4Ni41IDI5M2MwIDE5LjMtMTQgMjUuNC0zMS4yIDI1LjRoLTQ1LjF2LTUyLjloNDZjMTguNi4xIDMwLjMgNy44IDMwLjMgMjcuNXptLTcuNy04Mi4zYzAtMTcuNy0xMy43LTIxLjktMjguOS0yMS45aC0zOS42djQ0LjhIMTUzYzE1LjEgMCAyNS44LTYuNiAyNS44LTIyLjl6bTEzMi4zIDIzLjJjLTE4LjMgMC0zMC41IDExLjQtMzEuNyAyOS43aDYyLjJjLTEuNy0xOC41LTExLjMtMjkuNy0zMC41LTI5Ljd6TTQ0OCA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHpNMjcxLjcgMTg1aDc3Ljh2LTE4LjloLTc3LjhWMTg1em0tNDMgMTEwLjNjMC0yNC4xLTExLjQtNDQuOS0zNS01MS42IDE3LjItOC4yIDI2LjItMTcuNyAyNi4yLTM3IDAtMzguMi0yOC41LTQ3LjUtNjEuNC00Ny41SDY4djE5Mmg5My4xYzM0LjktLjIgNjcuNi0xNi45IDY3LjYtNTUuOXpNMzgwIDI4MC41YzAtNDEuMS0yNC4xLTc1LjQtNjcuNi03NS40LTQyLjQgMC03MS4xIDMxLjgtNzEuMSA3My42IDAgNDMuMyAyNy4zIDczIDcxLjEgNzMgMzMuMiAwIDU0LjctMTQuOSA2NS4xLTQ2LjhoLTMzLjdjLTMuNyAxMS45LTE4LjYgMTguMS0zMC4yIDE4LjEtMjIuNCAwLTM0LjEtMTMuMS0zNC4xLTM1LjNoMTAwLjJjLjEtMi4zLjMtNC44LjMtNy4yeiJdLAogICAgICAiYmltb2JqZWN0IjogWzQ0OCwgNTEyLCBbXSwgImYzNzgiLCAiTTQxNiAzMkgzMkMxNC40IDMyIDAgNDYuNCAwIDY0djM4NGMwIDE3LjYgMTQuNCAzMiAzMiAzMmgzODRjMTcuNiAwIDMyLTE0LjQgMzItMzJWNjRjMC0xNy42LTE0LjQtMzItMzItMzJ6bS02NCAyNTcuNGMwIDQ5LjQtMTEuNCA4Mi42LTEwMy44IDgyLjZoLTE2LjljLTQ0LjEgMC02Mi40LTE0LjktNzAuNC0zOC44aC0uOVYzNjhIOTZWMTM2aDY0djc0LjdoMS4xYzQuNi0zMC41IDM5LjctMzguOCA2OS43LTM4LjhoMTcuM2M5Mi40IDAgMTAzLjggMzMuMSAxMDMuOCA4Mi41djM1em0tNjQtMjguOXYyMi45YzAgMjEuNy0zLjQgMzMuOC0zOC40IDMzLjhoLTQ1LjNjLTI4LjkgMC00NC4xLTYuNS00NC4xLTM1Ljd2LTE5YzAtMjkuMyAxNS4yLTM1LjcgNDQuMS0zNS43aDQ1LjNjMzUtLjIgMzguNCAxMiAzOC40IDMzLjd6Il0sCiAgICAgICJiaXRidWNrZXQiOiBbNTEyLCA1MTIsIFtdLCAiZjE3MSIsICJNMjMuMSAzMkMxNC4yIDMxLjkgNyAzOC45IDYuOSA0Ny44YzAgLjkuMSAxLjguMiAyLjhMNzQuOSA0NjJjMS43IDEwLjQgMTAuNyAxOCAyMS4yIDE4LjFoMzI1LjFjNy45LjEgMTQuNy01LjYgMTYtMTMuNGw2Ny44LTQxNmMxLjQtOC43LTQuNS0xNi45LTEzLjItMTguMy0uOS0uMS0xLjgtLjItMi44LS4yTDIzLjEgMzJ6bTI4NS4zIDI5Ny4zSDIwNC42bC0yOC4xLTE0Ni44aDE1N2wtMjUuMSAxNDYuOHoiXSwKICAgICAgImJpdGNvaW4iOiBbNTEyLCA1MTIsIFtdLCAiZjM3OSIsICJNNTA0IDI1NmMwIDEzNi45NjctMTExLjAzMyAyNDgtMjQ4IDI0OFM4IDM5Mi45NjcgOCAyNTYgMTE5LjAzMyA4IDI1NiA4czI0OCAxMTEuMDMzIDI0OCAyNDh6bS0xNDEuNjUxLTM1LjMzYzQuOTM3LTMyLjk5OS0yMC4xOTEtNTAuNzM5LTU0LjU1LTYyLjU3M2wxMS4xNDYtNDQuNzAyLTI3LjIxMy02Ljc4MS0xMC44NTEgNDMuNTI0Yy03LjE1NC0xLjc4My0xNC41MDItMy40NjQtMjEuODAzLTUuMTNsMTAuOTI5LTQzLjgxLTI3LjE5OC02Ljc4MS0xMS4xNTMgNDQuNjg2Yy01LjkyMi0xLjM0OS0xMS43MzUtMi42ODItMTcuMzc3LTQuMDg0bC4wMzEtLjE0LTM3LjUzLTkuMzctNy4yMzkgMjkuMDYyczIwLjE5MSA0LjYyNyAxOS43NjUgNC45MTNjMTEuMDIyIDIuNzUxIDEzLjAxNCAxMC4wNDQgMTIuNjggMTUuODI1bC0xMi42OTYgNTAuOTI1Yy43Ni4xOTQgMS43NDQuNDczIDIuODI5LjkwNy0uOTA3LS4yMjUtMS44NzYtLjQ3My0yLjg3Ni0uNzEzbC0xNy43OTYgNzEuMzM4Yy0xLjM0OSAzLjM0OC00Ljc2NyA4LjM3LTEyLjQ3MSA2LjQ2NC4yNzEuMzk1LTE5Ljc4LTQuOTM3LTE5Ljc4LTQuOTM3bC0xMy41MSAzMS4xNDcgMzUuNDE0IDguODI3YzYuNTg4IDEuNjUxIDEzLjA0NSAzLjM3OSAxOS40IDUuMDA2bC0xMS4yNjIgNDUuMjEzIDI3LjE4MiA2Ljc4MSAxMS4xNTMtNDQuNzMzYTEwMzguMjA5IDEwMzguMjA5IDAgMCAwIDIxLjY4NyA1LjYyN2wtMTEuMTE1IDQ0LjUyMyAyNy4yMTMgNi43ODEgMTEuMjYyLTQ1LjEyOGM0Ni40MDQgOC43ODEgODEuMjk5IDUuMjM5IDk1Ljk4Ni0zNi43MjcgMTEuODM2LTMzLjc5LS41ODktNTMuMjgxLTI1LjAwNC02NS45OTEgMTcuNzgtNC4wOTggMzEuMTc0LTE1Ljc5MiAzNC43NDctMzkuOTQ5em0tNjIuMTc3IDg3LjE3OWMtOC40MSAzMy43OS02NS4zMDggMTUuNTIzLTgzLjc1NSAxMC45NDNsMTQuOTQ0LTU5Ljg5OWMxOC40NDYgNC42MDMgNzcuNiAxMy43MTcgNjguODExIDQ4Ljk1NnptOC40MTctODcuNjY3Yy03LjY3MyAzMC43MzYtNTUuMDMxIDE1LjEyLTcwLjM5MyAxMS4yOTJsMTMuNTQ4LTU0LjMyN2MxNS4zNjMgMy44MjggNjQuODM2IDEwLjk3MyA1Ni44NDUgNDMuMDM1eiJdLAogICAgICAiYml0eSI6IFs0OTYsIDUxMiwgW10sICJmMzdhIiwgIk03OC40IDY3LjJDMTczLjgtMjIgMzI0LjUtMjQgNDIxLjUgNzFjMTQuMyAxNC4xLTYuNCAzNy4xLTIyLjQgMjEuNS04NC44LTgyLjQtMjE1LjgtODAuMy0yOTguOS0zLjItMTYuMyAxNS4xLTM2LjUtOC4zLTIxLjgtMjIuMXptOTguOSA0MTguNmMxOS4zIDUuNyAyOS4zLTIzLjYgNy45LTMwQzczIDQyMS45IDkuNCAzMDYuMSAzNy43IDE5NC44YzUtMTkuNi0yNC45LTI4LjEtMzAuMi03LjEtMzIuMSAxMjcuNCA0MS4xIDI1OS44IDE2OS44IDI5OC4xem0xNDguMS0yYzEyMS45LTQwLjIgMTkyLjktMTY2LjkgMTY0LjQtMjkxLTQuNS0xOS43LTM0LjktMTMuOC0zMCA3LjkgMjQuMiAxMDcuNy0zNy4xIDIxNy45LTE0My4yIDI1My40LTIxLjIgNy0xMC40IDM2IDguOCAyOS43em0tNjIuOS03OWwuMi03MS44YzAtOC4yLTYuNi0xNC44LTE0LjgtMTQuOC04LjIgMC0xNC44IDYuNy0xNC44IDE0LjhsLS4yIDcxLjhjMCA4LjIgNi42IDE0LjggMTQuOCAxNC44czE0LjgtNi42IDE0LjgtMTQuOHptNzEtMjY5YzIuMSA5MC45IDQuNyAxMzEuOS04NS41IDEzMi41LTkyLjUtLjctODYuOS00NC4zLTg1LjUtMTMyLjUgMC0yMS44LTMyLjUtMTkuNi0zMi41IDB2NzEuNmMwIDY5LjMgNjAuNyA5MC45IDExOCA5MC4xIDU3LjMuOCAxMTgtMjAuOCAxMTgtOTAuMXYtNzEuNmMwLTE5LjYtMzIuNS0yMS44LTMyLjUgMHoiXSwKICAgICAgImJsYWNrLXRpZSI6IFs0NDgsIDUxMiwgW10sICJmMjdlIiwgIk0wIDMydjQ0OGg0NDhWMzJIMHptMzE2LjUgMzI1LjJMMjI0IDQ0NS45bC05Mi41LTg4LjcgNjQuNS0xODQtNjQuNS04Ni42aDE4NC45TDI1MiAxNzMuMmw2NC41IDE4NHoiXSwKICAgICAgImJsYWNrYmVycnkiOiBbNTEyLCA1MTIsIFtdLCAiZjM3YiIsICJNMTY2IDExNi45YzAgMjMuNC0xNi40IDQ5LjEtNzIuNSA0OS4xSDIzLjRsMjEtODguOGg2Ny44YzQyLjEgMCA1My44IDIzLjMgNTMuOCAzOS43em0xMjYuMi0zOS43aC02Ny44TDIwNS43IDE2Nmg3MC4xYzUzLjggMCA3MC4xLTI1LjcgNzAuMS00OS4xLjEtMTYuNC0xMS42LTM5LjctNTMuNy0zOS43ek04OC44IDIwOC4xSDIxTDAgMjk2LjloNzAuMWM1Ni4xIDAgNzIuNS0yMy40IDcyLjUtNDkuMSAwLTE2LjMtMTEuNy0zOS43LTUzLjgtMzkuN3ptMTgwLjEgMGgtNjcuOGwtMTguNyA4OC44aDcwLjFjNTMuOCAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjctMzkuNy01My43LTM5Ljd6bTE4OS4zLTUzLjhoLTY3LjhsLTE4LjcgODguOGg3MC4xYzUzLjggMCA3MC4xLTIzLjQgNzAuMS00OS4xLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43em0tMjggMTM3LjloLTY3LjhMMzQzLjcgMzgxaDcwLjFjNTYuMSAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6TTI0MC44IDM0NkgxNzNsLTE4LjcgODguOGg3MC4xYzU2LjEgMCA3MC4xLTI1LjcgNzAuMS00OS4xLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43eiJdLAogICAgICAiYmxvZ2dlciI6IFs0NDgsIDUxMiwgW10sICJmMzdjIiwgIk0xNjIuNCAxOTZjNC44LTQuOSA2LjItNS4xIDM2LjQtNS4xIDI3LjIgMCAyOC4xLjEgMzIuMSAyLjEgNS44IDIuOSA4LjMgNyA4LjMgMTMuNiAwIDUuOS0yLjQgMTAtNy42IDEzLjQtMi44IDEuOC00LjUgMS45LTMxLjEgMi4xLTE2LjQuMS0yOS41LS4yLTMxLjUtLjgtMTAuMy0yLjktMTQuMS0xNy43LTYuNi0yNS4zem02MS40IDk0LjVjLTUzLjkgMC01NS44LjItNjAuMiA0LjEtMy41IDMuMS01LjcgOS40LTUuMSAxMy45LjcgNC43IDQuOCAxMC4xIDkuMiAxMiAyLjIgMSAxNC4xIDEuNyA1Ni4zIDEuMmw0Ny45LS42IDkuMi0xLjVjOS01LjEgMTAuNS0xNy40IDMuMS0yNC40LTUuMy00LjctNS00LjctNjAuNC00Ljd6bTIyMy40IDEzMC4xYy0zLjUgMjguNC0yMyA1MC40LTUxLjEgNTcuNS03LjIgMS44LTkuNyAxLjktMTcyLjkgMS44LTE1Ny44IDAtMTY1LjktLjEtMTcyLTEuOC04LjQtMi4yLTE1LjYtNS41LTIyLjMtMTAtNS42LTMuOC0xMy45LTExLjgtMTctMTYuNC0zLjgtNS42LTguMi0xNS4zLTEwLTIyQy4xIDQyMyAwIDQyMC4zIDAgMjU2LjMgMCA5My4yIDAgODkuNyAxLjggODIuNiA4LjEgNTcuOSAyNy43IDM5IDUzIDMzLjRjNy4zLTEuNiAzMzIuMS0xLjkgMzQwLS4zIDIxLjIgNC4zIDM3LjkgMTcuMSA0Ny42IDM2LjQgNy43IDE1LjMgNy0xLjUgNy4zIDE4MC42LjIgMTE1LjggMCAxNjQuNS0uNyAxNzAuNXptLTg1LjQtMTg1LjJjLTEuMS01LTQuMi05LjYtNy43LTExLjUtMS4xLS42LTgtMS4zLTE1LjUtMS43LTEyLjQtLjYtMTMuOC0uOC0xNy44LTMuMS02LjItMy42LTcuOS03LjYtOC0xOC4zIDAtMjAuNC04LjUtMzkuNC0yNS4zLTU2LjUtMTItMTIuMi0yNS4zLTIwLjUtNDAuNi0yNS4xLTMuNi0xLjEtMTEuOC0xLjUtMzkuMi0xLjgtNDIuOS0uNS01Mi41LjQtNjcuMSA2LjItMjcgMTAuNy00Ni4zIDMzLjQtNTMuNCA2Mi40LTEuMyA1LjQtMS42IDE0LjItMS45IDY0LjMtLjQgNjIuOCAwIDcyLjEgNCA4NC41IDkuNyAzMC43IDM3LjEgNTMuNCA2NC42IDU4LjQgOS4yIDEuNyAxMjIuMiAyLjEgMTMzLjcuNSAyMC4xLTIuNyAzNS45LTEwLjggNTAuNy0yNS45IDEwLjctMTAuOSAxNy40LTIyLjggMjEuOC0zOC41IDMuMi0xMC45IDIuOS04OC40IDEuNy05My45eiJdLAogICAgICAiYmxvZ2dlci1iIjogWzQ0OCwgNTEyLCBbXSwgImYzN2QiLCAiTTQ0Ni42IDIyMi43Yy0xLjgtOC02LjgtMTUuNC0xMi41LTE4LjUtMS44LTEtMTMtMi4yLTI1LTIuNy0yMC4xLS45LTIyLjMtMS4zLTI4LjctNS0xMC4xLTUuOS0xMi44LTEyLjMtMTIuOS0yOS41LS4xLTMzLTEzLjgtNjMuNy00MC45LTkxLjMtMTkuMy0xOS43LTQwLjktMzMtNjUuNS00MC41LTUuOS0xLjgtMTkuMS0yLjQtNjMuMy0yLjktNjkuNC0uOC04NC44LjYtMTA4LjQgMTBDNDUuOSA1OS41IDE0LjcgOTYuMSAzLjMgMTQyLjkgMS4yIDE1MS43LjcgMTY1LjguMiAyNDYuOGMtLjYgMTAxLjUuMSAxMTYuNCA2LjQgMTM2LjUgMTUuNiA0OS42IDU5LjkgODYuMyAxMDQuNCA5NC4zIDE0LjggMi43IDE5Ny4zIDMuMyAyMTYgLjggMzIuNS00LjQgNTgtMTcuNSA4MS45LTQxLjkgMTcuMy0xNy43IDI4LjEtMzYuOCAzNS4yLTYyLjEgNC45LTE3LjYgNC41LTE0Mi44IDIuNS0xNTEuN3ptLTMyMi4xLTYzLjZjNy44LTcuOSAxMC04LjIgNTguOC04LjIgNDMuOSAwIDQ1LjQuMSA1MS44IDMuNCA5LjMgNC43IDEzLjQgMTEuMyAxMy40IDIxLjkgMCA5LjUtMy44IDE2LjItMTIuMyAyMS42LTQuNiAyLjktNy4zIDMuMS01MC4zIDMuMy0yNi41LjItNDcuNy0uNC01MC44LTEuMi0xNi42LTQuNy0yMi44LTI4LjUtMTAuNi00MC44em0xOTEuOCAxOTkuOGwtMTQuOSAyLjQtNzcuNS45Yy02OC4xLjgtODcuMy0uNC05MC45LTItNy4xLTMuMS0xMy44LTExLjctMTQuOS0xOS40LTEuMS03LjMgMi42LTE3LjMgOC4yLTIyLjQgNy4xLTYuNCAxMC4yLTYuNiA5Ny4zLTYuNyA4OS42LS4xIDg5LjEtLjEgOTcuNiA3LjggMTIuMSAxMS4zIDkuNSAzMS4yLTQuOSAzOS40eiJdLAogICAgICAiYmx1ZXRvb3RoIjogWzQ0OCwgNTEyLCBbXSwgImYyOTMiLCAiTTI5Mi42IDE3MS4xTDI0OS43IDIxNGwtLjMtODYgNDMuMiA0My4xbS00My4yIDIxOS44bDQzLjEtNDMuMS00Mi45LTQyLjktLjIgODZ6TTQxNiAyNTkuNEM0MTYgNDY1IDM0NC4xIDUxMiAyMzAuOSA1MTJTMzIgNDY1IDMyIDI1OS40IDExNS40IDAgMjI4LjYgMCA0MTYgNTMuOSA0MTYgMjU5LjR6bS0xNTguNSAwbDc5LjQtODguNkwyMTEuOCAzNi41djE3Ni45TDEzOCAxMzkuNmwtMjcgMjYuOSA5Mi43IDkzLTkyLjcgOTMgMjYuOSAyNi45IDczLjgtNzMuOCAyLjMgMTcwIDEyNy40LTEyNy41LTgzLjktODguN3oiXSwKICAgICAgImJsdWV0b290aC1iIjogWzMyMCwgNTEyLCBbXSwgImYyOTQiLCAiTTE5Ni40OCAyNjAuMDIzbDkyLjYyNi0xMDMuMzMzTDE0My4xMjUgMHYyMDYuMzNsLTg2LjExMS04Ni4xMTEtMzEuNDA2IDMxLjQwNSAxMDguMDYxIDEwOC4zOTlMMjUuNjA4IDM2OC40MjJsMzEuNDA2IDMxLjQwNSA4Ni4xMTEtODYuMTExTDE0NS44NCA1MTJsMTQ4LjU1Mi0xNDguNjQ0LTk3LjkxMi0xMDMuMzMzem00MC44Ni0xMDIuOTk2bC00OS45NzcgNDkuOTc4LS4zMzgtMTAwLjI5NSA1MC4zMTUgNTAuMzE3ek0xODcuMzYzIDMxMy4wNGw0OS45NzcgNDkuOTc4LTUwLjMxNSA1MC4zMTYuMzM4LTEwMC4yOTR6Il0sCiAgICAgICJidGMiOiBbMzg0LCA1MTIsIFtdLCAiZjE1YSIsICJNMzEwLjIwNCAyNDIuNjM4YzI3LjczLTE0LjE4IDQ1LjM3Ny0zOS4zOSA0MS4yOC04MS4zLTUuMzU4LTU3LjM1MS01Mi40NTgtNzYuNTczLTExNC44NS04MS45MjlWMGgtNDguNTI4djc3LjIwM2MtMTIuNjA1IDAtMjUuNTI1LjMxNS0zOC40NDQuNjNWMGgtNDguNTI4djc5LjQwOWMtMTcuODQyLjUzOS0zOC42MjIuMjc2LTk3LjM3IDB2NTEuNjc4YzM4LjMxNC0uNjc4IDU4LjQxNy0zLjE0IDYzLjAyMyAyMS40Mjd2MjE3LjQyOWMtMi45MjUgMTkuNDkyLTE4LjUyNCAxNi42ODUtNTMuMjU1IDE2LjA3MUwzLjc2NSA0NDMuNjhjODguNDgxIDAgOTcuMzcuMzE1IDk3LjM3LjMxNVY1MTJoNDguNTI4di02Ny4wNmMxMy4yMzQuMzE1IDI2LjE1NC4zMTUgMzguNDQ0LjMxNVY1MTJoNDguNTI4di02OC4wMDVjODEuMjk5LTQuNDEyIDEzNS42NDctMjQuODk0IDE0Mi44OTUtMTAxLjQ2NyA1LjY3MS02MS40NDYtMjMuMzItODguODYyLTY5LjMyNi05OS44OXpNMTUwLjYwOCAxMzQuNTUzYzI3LjQxNSAwIDExMy4xMjYtOC41MDcgMTEzLjEyNiA0OC41MjggMCA1NC41MTUtODUuNzEgNDguMjEyLTExMy4xMjYgNDguMjEydi05Ni43NHptMCAyNTEuNzc2VjI3OS44MjFjMzIuNzcyIDAgMTMzLjEyNy05LjEzOCAxMzMuMTI3IDUzLjI1NS0uMDAxIDYwLjE4Ni0xMDAuMzU1IDUzLjI1My0xMzMuMTI3IDUzLjI1M3oiXSwKICAgICAgImJ1cm9tb2JlbGV4cGVydGUiOiBbNDQ4LCA1MTIsIFtdLCAiZjM3ZiIsICJNMCAzMnYxMjhoMTI4VjMySDB6bTEyMCAxMjBIOFY0MGgxMTJ2MTEyem00MC0xMjB2MTI4aDEyOFYzMkgxNjB6bTEyMCAxMjBIMTY4VjQwaDExMnYxMTJ6bTQwLTEyMHYxMjhoMTI4VjMySDMyMHptMTIwIDEyMEgzMjhWNDBoMTEydjExMnpNMCAxOTJ2MTI4aDEyOFYxOTJIMHptMTIwIDEyMEg4VjIwMGgxMTJ2MTEyem00MC0xMjB2MTI4aDEyOFYxOTJIMTYwem0xMjAgMTIwSDE2OFYyMDBoMTEydjExMnptNDAtMTIwdjEyOGgxMjhWMTkySDMyMHptMTIwIDEyMEgzMjhWMjAwaDExMnYxMTJ6TTAgMzUydjEyOGgxMjhWMzUySDB6bTEyMCAxMjBIOFYzNjBoMTEydjExMnptNDAtMTIwdjEyOGgxMjhWMzUySDE2MHptMTIwIDEyMEgxNjhWMzYwaDExMnYxMTJ6bTQwLTEyMHYxMjhoMTI4VjM1MkgzMjB6Il0sCiAgICAgICJidXlzZWxsYWRzIjogWzQ0OCwgNTEyLCBbXSwgImYyMGQiLCAiTTIyNCAxNTAuN2w0Mi45IDE2MC43aC04NS44TDIyNCAxNTAuN3pNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNjUuMyAzMjUuM2wtOTQuNS0yOTguN0gxNTkuOEw2NS4zIDQwNS4zSDE1NmwxMTEuNy05MS42IDI0LjIgOTEuNmg5MC44eiJdLAogICAgICAiY2MtYW1hem9uLXBheSI6IFs1NzYsIDUxMiwgW10sICJmNDJkIiwgIk0xMjQuNyAyMDEuOGMuMS0xMS44IDAtMjMuNSAwLTM1LjN2LTM1LjNjMC0xLjMuNC0yIDEuNC0yLjcgMTEuNS04IDI0LjEtMTIuMSAzOC4yLTExLjEgMTIuNS45IDIyLjcgNyAyOC4xIDIxLjcgMy4zIDguOSA0LjEgMTguMiA0LjEgMjcuNyAwIDguNy0uNyAxNy4zLTMuNCAyNS42LTUuNyAxNy44LTE4LjcgMjQuNy0zNS43IDIzLjktMTEuNy0uNS0yMS45LTUtMzEuNC0xMS43LS45LS44LTEuNC0xLjYtMS4zLTIuOHptMTU0LjkgMTQuNmM0LjYgMS44IDkuMyAyIDE0LjEgMS41IDExLjYtMS4yIDIxLjktNS43IDMxLjMtMTIuNS45LS42IDEuMy0xLjMgMS4zLTIuNS0uMS0zLjkgMC03LjkgMC0xMS44IDAtNC0uMS04IDAtMTIgMC0xLjQtLjQtMi0xLjgtMi4yLTctLjktMTMuOS0yLjItMjAuOS0yLjktNy0uNi0xNC0uMy0yMC44IDEuOS02LjcgMi4yLTExLjcgNi4yLTEzLjcgMTMuMS0xLjYgNS40LTEuNiAxMC44LjEgMTYuMiAxLjYgNS41IDUuMiA5LjIgMTAuNCAxMS4yek01NzYgODB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGg0ODBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS0yMDcuNSAyMy45Yy40IDEuNy45IDMuNCAxLjYgNS4xIDE2LjUgNDAuNiAzMi45IDgxLjMgNDkuNSAxMjEuOSAxLjQgMy41IDEuNyA2LjQuMiA5LjktMi44IDYuMi00LjkgMTIuNi03LjggMTguNy0yLjYgNS41LTYuNyA5LjUtMTIuNyAxMS4yLTQuMiAxLjEtOC41IDEuMy0xMi45LjktMi4xLS4yLTQuMi0uNy02LjMtLjgtMi44LS4yLTQuMiAxLjEtNC4zIDQtLjEgMi44LS4xIDUuNiAwIDguMy4xIDQuNiAxLjYgNi43IDYuMiA3LjUgNC43LjggOS40IDEuNiAxNC4yIDEuNyAxNC4zLjMgMjUuNy01LjQgMzMuMS0xNy45IDIuOS00LjkgNS42LTEwLjEgNy43LTE1LjQgMTkuOC01MC4xIDM5LjUtMTAwLjMgNTkuMi0xNTAuNS42LTEuNSAxLjEtMyAxLjMtNC42LjQtMi40LS43LTMuNi0zLjEtMy43LTUuNi0uMS0xMS4xIDAtMTYuNyAwLTMuMSAwLTUuMyAxLjQtNi40IDQuMy0uNCAxLjEtLjkgMi4zLTEuMyAzLjRsLTI5LjEgODMuN2MtMi4xIDYuMS00LjIgMTIuMS02LjUgMTguNi0uNC0uOS0uNi0xLjQtLjgtMS45LTEwLjgtMjkuOS0yMS42LTU5LjktMzIuNC04OS44LTEuNy00LjctMy41LTkuNS01LjMtMTQuMi0uOS0yLjUtMi43LTQtNS40LTQtNi40LS4xLTEyLjgtLjItMTkuMi0uMS0yLjIgMC0zLjMgMS42LTIuOCAzLjd6TTI0Mi40IDIwNmMxLjcgMTEuNyA3LjYgMjAuOCAxOCAyNi42IDkuOSA1LjUgMjAuNyA2LjIgMzEuNyA0LjYgMTIuNy0xLjkgMjMuOS03LjMgMzMuOC0xNS41LjQtLjMuOC0uNiAxLjQtMSAuNSAzLjIuOSA2LjIgMS41IDkuMi41IDIuNiAyLjEgNC4zIDQuNSA0LjQgNC42LjEgOS4xLjEgMTMuNyAwIDIuMy0uMSAzLjgtMS42IDQtMy45LjEtLjguMS0xLjYuMS0yLjN2LTg4LjhjMC0zLjYtLjItNy4yLS43LTEwLjgtMS42LTEwLjgtNi4yLTE5LjctMTUuOS0yNS40LTUuNi0zLjMtMTEuOC01LTE4LjItNS45LTMtLjQtNi0uNy05LjEtMS4xaC0xMGMtLjguMS0xLjYuMy0yLjUuMy04LjIuNC0xNi4zIDEuNC0yNC4yIDMuNS01LjEgMS4zLTEwIDMuMi0xNSA0LjktMyAxLTQuNSAzLjItNC40IDYuNS4xIDIuOC0uMSA1LjYgMCA4LjMuMSA0LjEgMS44IDUuMiA1LjcgNC4xIDYuNS0xLjcgMTMuMS0zLjUgMTkuNy00LjggMTAuMy0xLjkgMjAuNy0yLjcgMzEuMS0xLjIgNS40LjggMTAuNSAyLjQgMTQuMSA3IDMuMSA0IDQuMiA4LjggNC40IDEzLjcuMyA2LjkuMiAxMy45LjMgMjAuOCAwIC40LS4xLjctLjIgMS4yLS40IDAtLjggMC0xLjEtLjEtOC44LTIuMS0xNy43LTMuNi0yNi44LTQuMS05LjUtLjUtMTguOS4xLTI3LjkgMy4yLTEwLjggMy44LTE5LjUgMTAuMy0yNC42IDIwLjgtNC4xIDguMy00LjYgMTctMy40IDI1Ljh6TTk4LjcgMTA2Ljl2MTc1LjNjMCAuOCAwIDEuNy4xIDIuNS4yIDIuNSAxLjcgNC4xIDQuMSA0LjIgNS45LjEgMTEuOC4xIDE3LjcgMCAyLjUgMCA0LTEuNyA0LjEtNC4xLjEtLjguMS0xLjcuMS0yLjV2LTYwLjdjLjkuNyAxLjQgMS4yIDEuOSAxLjYgMTUgMTIuNSAzMi4yIDE2LjYgNTEuMSAxMi45IDE3LjEtMy40IDI4LjktMTMuOSAzNi43LTI5LjIgNS44LTExLjYgOC4zLTI0LjEgOC43LTM3IC41LTE0LjMtMS0yOC40LTYuOC00MS43LTcuMS0xNi40LTE4LjktMjcuMy0zNi43LTMwLjktMi43LS42LTUuNS0uOC04LjItMS4yaC03Yy0xLjIuMi0yLjQuMy0zLjYuNS0xMS43IDEuNC0yMi4zIDUuOC0zMS44IDEyLjctMiAxLjQtMy45IDMtNS45IDQuNS0uMS0uNS0uMy0uOC0uNC0xLjItLjQtMi4zLS43LTQuNi0xLjEtNi45LS42LTMuOS0yLjUtNS41LTYuNC01LjZoLTkuN2MtNS45LS4xLTYuOSAxLTYuOSA2Ljh6TTQ5My42IDMzOWMtMi43LS43LTUuMSAwLTcuNiAxLTQzLjkgMTguNC04OS41IDMwLjItMTM2LjggMzUuOC0xNC41IDEuNy0yOS4xIDIuOC00My43IDMuMi0yNi42LjctNTMuMi0uOC03OS42LTQuMy0xNy44LTIuNC0zNS41LTUuNy01My05LjktMzctOC45LTcyLjctMjEuNy0xMDYuNy0zOC44LTguOC00LjQtMTcuNC05LjMtMjYuMS0xNC0zLjgtMi4xLTYuMi0xLjUtOC4yIDIuMXYxLjdjMS4yIDEuNiAyLjIgMy40IDMuNyA0LjggMzYgMzIuMiA3Ni42IDU2LjUgMTIyIDcyLjkgMjEuOSA3LjkgNDQuNCAxMy43IDY3LjMgMTcuNSAxNCAyLjMgMjggMy44IDQyLjIgNC41IDMgLjEgNiAuMiA5IC40LjcgMCAxLjQuMiAyLjEuM2gxNy43Yy43LS4xIDEuNC0uMyAyLjEtLjMgMTQuOS0uNCAyOS44LTEuOCA0NC42LTQgMjEuNC0zLjIgNDIuNC04LjEgNjIuOS0xNC43IDI5LjYtOS42IDU3LjctMjIuNCA4My40LTQwLjEgMi44LTEuOSA1LjctMy44IDgtNi4yIDQuMy00LjQgMi4zLTEwLjQtMy4zLTExLjl6bTUwLjQtMjcuN2MtLjgtNC4yLTQtNS44LTcuNi03LTUuNy0xLjktMTEuNi0yLjgtMTcuNi0zLjMtMTEtLjktMjItLjQtMzIuOCAxLjYtMTIgMi4yLTIzLjQgNi4xLTMzLjUgMTMuMS0xLjIuOC0yLjQgMS44LTMuMSAzLS42LjktLjcgMi4zLS41IDMuNC4zIDEuMyAxLjcgMS42IDMgMS41LjYgMCAxLjIgMCAxLjgtLjFsMTkuNS0yLjFjOS42LS45IDE5LjItMS41IDI4LjgtLjggNC4xLjMgOC4xIDEuMiAxMiAyLjIgNC4zIDEuMSA2LjIgNC40IDYuNCA4LjcuMyA2LjctMS4yIDEzLjEtMi45IDE5LjUtMy41IDEyLjktOC4zIDI1LjQtMTMuMyAzNy44LS4zLjgtLjcgMS43LS44IDIuNS0uNCAyLjUgMSA0IDMuNCAzLjUgMS40LS4zIDMtMS4xIDQtMi4xIDMuNy0zLjYgNy41LTcuMiAxMC42LTExLjIgMTAuNy0xMy44IDE3LTI5LjYgMjAuNy00Ni42LjctMyAxLjItNi4xIDEuNy05LjEuMi00LjcuMi05LjYuMi0xNC41eiJdLAogICAgICAiY2MtYW1leCI6IFs1NzYsIDUxMiwgW10sICJmMWYzIiwgIk01NzYgMjU1LjRjLTM3LjktLjItNDQuMi0uOS01NC41IDV2LTVjLTQ1LjMgMC01My41LTEuNy02NC45IDUuMnYtNS4yaC03OC4ydjUuMWMtMTEuNC02LjUtMjEuNC01LjEtNzUuNy01LjF2NS42Yy02LjMtMy43LTE0LjUtNS42LTI0LjMtNS42aC01OGMtMy41IDMuOC0xMi41IDEzLjctMTUuNyAxNy4yLTEyLjctMTQuMS0xMC41LTExLjYtMTUuNS0xNy4yaC04My4xdjkyLjNoODJjMy4zLTMuNSAxMi45LTEzLjkgMTYuMS0xNy40IDEyLjcgMTQuMyAxMC4zIDExLjcgMTUuNCAxNy40aDQ4LjljMC0xNC43LjEtOC4zLjEtMjMgMTEuNS4yIDI0LjMtLjIgMzQuMy02LjIgMCAxMy45LS4xIDE3LjEtLjEgMjkuMmgzOS42YzAtMTguNS4xLTcuNC4xLTI1LjMgNi4yIDAgNy43IDAgOS40LjEuMSAxLjMgMCAwIDAgMjUuMiAxNTIuOCAwIDE0NS45IDEuMSAxNTYuNy00LjV2NC41YzM0LjggMCA1NC44IDIuMiA2Ny41LTYuMVY0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjIyOC4zaDI2LjZjNC4yLTEwLjEgMi4yLTUuMyA2LjQtMTUuM2gxOS4yYzQuMiAxMCAyLjIgNS4yIDYuNCAxNS4zaDUyLjl2LTExLjRjMi4yIDUgMS4xIDIuNSA1LjEgMTEuNGgyOS41YzIuNC01LjUgMi42LTUuOCA1LjEtMTEuNHYxMS40aDEzNS41di0yNS4xYzYuNCAwIDgtLjEgOS44LjIgMCAwLS4yIDEwLjkuMSAyNC44aDY2LjV2LTguOWM3LjQgNS45IDE3LjQgOC45IDI5LjcgOC45aDI2LjhjNC4yLTEwLjEgMi4yLTUuMyA2LjQtMTUuM2gxOWM2LjUgMTUgLjIuNSA2LjYgMTUuM2g1Mi44di0yMS45YzExLjggMTkuNyA3LjggMTIuOSAxMy4yIDIxLjloNDEuNnYtOTJoLTM5Ljl2MTguNGMtMTIuMi0yMC4yLTYuMy0xMC40LTExLjItMTguNGgtNDMuM3YyMC42Yy02LjItMTQuNi00LjYtMTAuOC04LjgtMjAuNmgtMzIuNGMtLjQgMC0yLjMuMi0yLjMtLjNoLTI3LjZjLTEyLjggMC0yMy4xIDMuMi0zMC43IDkuM3YtOS4zaC0zOS45djUuM2MtMTAuOC02LjEtMjAuNy01LjEtNjQuNC01LjMtLjEgMC0xMS42LS4xLTExLjYgMGgtMTAzYy0yLjUgNi4xLTYuOCAxNi40LTEyLjYgMzAtMi44LTYtMTEtMjMuOC0xMy45LTMwaC00NlYxNTdjLTcuNC0xNy40LTQuNy0xMS05LTIxLjFIMjIuOWMtMy40IDcuOS0xMy43IDMyLTIzLjEgNTMuOVY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGg0ODBjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MTc1LjR6bS0xODYuNi04MC42Yy0uMy4yLTEuNCAyLjItMS40IDcuNiAwIDYgLjkgNy43IDEuMSA3LjkuMi4xIDEuMS41IDMuNC41bDcuMy0xNi45Yy0xLjEgMC0yLjEtLjEtMy4xLS4xLTUuNiAwLTcgLjctNy4zIDF6bS0xOS45IDEzMC45YzkuMiAzLjMgMTEgOS41IDExIDE4LjRsLS4xIDEzLjhoLTE2LjZsLjEtMTEuNWMwLTExLjgtMy44LTEzLjgtMTQuOC0xMy44aC0xNy42bC0uMSAyNS4zaC0xNi42bC4xLTY5LjNoMzkuNGMxMyAwIDI3LjEgMi4zIDI3LjEgMTguNy0uMSA3LjYtNC4yIDE1LjMtMTEuOSAxOC40em0tNi4zLTE1LjRjMC02LjQtNS42LTcuNC0xMC43LTcuNGgtMjF2MTUuNmgyMC43YzUuNiAwIDExLTEuMyAxMS04LjJ6bTE4MS43LTcuMUg1NzV2LTE0LjZoLTMyLjljLTEyLjggMC0yMy44IDYuNi0yMy44IDIwLjcgMCAzMyA0Mi43IDEyLjggNDIuNyAyNy40IDAgNS4xLTQuMyA2LjQtOC40IDYuNGgtMzJsLS4xIDE0LjhoMzJjOC40IDAgMTcuNi0xLjggMjIuNS04Ljl2LTI1LjhjLTEwLjUtMTMuOC0zOS4zLTEuMy0zOS4zLTEzLjUgMC01LjggNC42LTYuNSA5LjItNi41em0tOTkuMi0uM3YtMTQuM2gtNTUuMmwtLjEgNjkuM2g1NS4ybC4xLTE0LjMtMzguNi0uM3YtMTMuOEg0NDV2LTE0LjFoLTM3Ljh2LTEyLjVoMzguNXptNDIuMiA0MC4xaC0zMi4ybC0uMSAxNC44aDMyLjJjMTQuOCAwIDI2LjItNS42IDI2LjItMjIgMC0zMy4yLTQyLjktMTEuMi00Mi45LTI2LjMgMC01LjYgNC45LTYuNCA5LjItNi40aDMwLjR2LTE0LjZoLTMzLjJjLTEyLjggMC0yMy41IDYuNi0yMy41IDIwLjcgMCAzMyA0Mi43IDEyLjUgNDIuNyAyNy40LS4xIDUuNC00LjcgNi40LTguOCA2LjR6bS03OC4xLTE1OC43Yy0xNy40LS4zLTMzLjItNC4xLTMzLjIgMTkuNyAwIDExLjggMi44IDE5LjkgMTYuMSAxOS45aDcuNGwyMy41LTU0LjVoMjQuOGwyNy45IDY1LjR2LTY1LjRoMjUuM2wyOS4xIDQ4LjF2LTQ4LjFoMTYuOXY2OUg1MjRsLTMxLjItNTEuOXY1MS45aC0zMy43bC02LjYtMTUuM2gtMzQuM2wtNi40IDE1LjNoLTE5LjJjLTIyLjggMC0zMy0xMS44LTMzLTM0IDAtMjMuMyAxMC41LTM1LjMgMzQtMzUuM2gxNi4xdjE1LjJ6bTE0LjMgMjQuNWgyMi44bC0xMS4yLTI3LjYtMTEuNiAyNy42em0tNzIuNi0zOS42aC0xNi45djY5LjNoMTYuOXYtNjkuM3ptLTM4LjEgMzcuM2M5LjUgMy4zIDExIDkuMiAxMSAxOC40djEzLjVoLTE2LjZjLS4zLTE0LjggMy42LTI1LjEtMTQuOC0yNS4xaC0xOHYyNS4xaC0xNi40di02OS4zbDM5LjEuM2MxMy4zIDAgMjcuNCAyIDI3LjQgMTguNC4xIDgtNC4zIDE1LjctMTEuNyAxOC43em0tNi43LTE1LjNjMC02LjQtNS42LTcuNC0xMC43LTcuNGgtMjF2MTUuM2gyMC43YzUuNyAwIDExLTEuMyAxMS03Ljl6bS01OS41LTcuNHYtMTQuNmgtNTUuNXY2OS4zaDU1LjV2LTE0LjNoLTM4Ljl2LTEzLjhoMzcuOHYtMTQuMWgtMzcuOHYtMTIuNWgzOC45em0tODQuNiA1NC43di01NC4ybC0yNCA1NC4ySDEyNGwtMjQtNTQuMnY1NC4ySDY2LjJsLTYuNC0xNS4zSDI1LjNsLTYuNCAxNS4zSDFsMjkuNy02OS4zaDI0LjVsMjguMSA2NS43di02NS43aDI3LjFsMjEuNyA0NyAxOS43LTQ3aDI3LjZ2NjkuM2gtMTYuOHpNNTMuOSAxODguOGwtMTEuNS0yNy42LTExLjIgMjcuNmgyMi43em0yNTMgMTAyLjVjMCAyNy45LTMwLjQgMjMuMy00OS4zIDIzLjNsLS4xIDIzLjNoLTMyLjJsLTIwLjQtMjMtMjEuMyAyM2gtNjUuNGwuMS02OS4zaDY2LjVsMjAuNSAyMi44IDIxLTIyLjhIMjc5YzE1LjYgMCAyNy45IDUuNCAyNy45IDIyLjd6bS0xMTIuNyAxMS44bC0xNy45LTIwLjJoLTQxLjd2MTIuNWgzNi4zdjE0LjFoLTM2LjN2MTMuOGg0MC42bDE5LTIwLjJ6TTI0MSAyNzZsLTI1LjMgMjcuNCAyNS4zIDI4LjFWMjc2em00OC4zIDE1LjNjMC02LjEtNC42LTguNC0xMC4yLTguNGgtMjEuNXYxNy42aDIxLjJjNS45IDAgMTAuNS0yLjggMTAuNS05LjJ6Il0sCiAgICAgICJjYy1hcHBsZS1wYXkiOiBbNTc2LCA1MTIsIFtdLCAiZjQxNiIsICJNMzAyLjIgMjE4LjRjMCAxNy4yLTEwLjUgMjcuMS0yOSAyNy4xaC0yNC4zdi01NC4yaDI0LjRjMTguNCAwIDI4LjkgOS44IDI4LjkgMjcuMXptNDcuNSA2Mi42YzAgOC4zIDcuMiAxMy43IDE4LjUgMTMuNyAxNC40IDAgMjUuMi05LjEgMjUuMi0yMS45di03LjdsLTIzLjUgMS41Yy0xMy4zLjktMjAuMiA1LjgtMjAuMiAxNC40ek01NzYgNzl2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY3OWMwLTI2LjUgMjEuNS00OCA0OC00OGg0ODBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTEyNy44IDE5Ny4yYzguNC43IDE2LjgtNC4yIDIyLjEtMTAuNCA1LjItNi40IDguNi0xNSA3LjctMjMuNy03LjQuMy0xNi42IDQuOS0yMS45IDExLjMtNC44IDUuNS04LjkgMTQuNC03LjkgMjIuOHptNjAuNiA3NC41Yy0uMi0uMi0xOS42LTcuNi0xOS44LTMwLS4yLTE4LjcgMTUuMy0yNy43IDE2LTI4LjItOC44LTEzLTIyLjQtMTQuNC0yNy4xLTE0LjctMTIuMi0uNy0yMi42IDYuOS0yOC40IDYuOS01LjkgMC0xNC43LTYuNi0yNC4zLTYuNC0xMi41LjItMjQuMiA3LjMtMzAuNSAxOC42LTEzLjEgMjIuNi0zLjQgNTYgOS4zIDc0LjQgNi4yIDkuMSAxMy43IDE5LjEgMjMuNSAxOC43IDkuMy0uNCAxMy02IDI0LjItNiAxMS4zIDAgMTQuNSA2IDI0LjMgNS45IDEwLjItLjIgMTYuNS05LjEgMjIuOC0xOC4yIDYuOS0xMC40IDkuOC0yMC40IDEwLTIxem0xMzUuNC01My40YzAtMjYuNi0xOC41LTQ0LjgtNDQuOS00NC44aC01MS4ydjEzNi40aDIxLjJ2LTQ2LjZoMjkuM2MyNi44IDAgNDUuNi0xOC40IDQ1LjYtNDV6bTkwIDIzLjdjMC0xOS43LTE1LjgtMzIuNC00MC0zMi40LTIyLjUgMC0zOS4xIDEyLjktMzkuNyAzMC41aDE5LjFjMS42LTguNCA5LjQtMTMuOSAyMC0xMy45IDEzIDAgMjAuMiA2IDIwLjIgMTcuMnY3LjVsLTI2LjQgMS42Yy0yNC42IDEuNS0zNy45IDExLjYtMzcuOSAyOS4xIDAgMTcuNyAxMy43IDI5LjQgMzMuNCAyOS40IDEzLjMgMCAyNS42LTYuNyAzMS4yLTE3LjRoLjRWMzEwaDE5LjZ2LTY4ek01MTYgMjEwLjloLTIxLjVsLTI0LjkgODAuNmgtLjRsLTI0LjktODAuNkg0MjJsMzUuOSA5OS4zLTEuOSA2Yy0zLjIgMTAuMi04LjUgMTQuMi0xNy45IDE0LjItMS43IDAtNC45LS4yLTYuMi0uM3YxNi40YzEuMi40IDYuNS41IDguMS41IDIwLjcgMCAzMC40LTcuOSAzOC45LTMxLjhMNTE2IDIxMC45eiJdLAogICAgICAiY2MtZGluZXJzLWNsdWIiOiBbNTc2LCA1MTIsIFtdLCAiZjI0YyIsICJNMjM5LjcgNzkuOWMtOTYuOSAwLTE3NS44IDc4LjYtMTc1LjggMTc1LjggMCA5Ni45IDc4LjkgMTc1LjggMTc1LjggMTc1LjggOTcuMiAwIDE3NS44LTc4LjkgMTc1LjgtMTc1LjggMC05Ny4yLTc4LjYtMTc1LjgtMTc1LjgtMTc1Ljh6bS0zOS45IDI3OS42Yy00MS43LTE1LjktNzEuNC01Ni40LTcxLjQtMTAzLjhzMjkuNy04Ny45IDcxLjQtMTA0LjF2MjA3Ljl6bTc5LjguM1YxNTEuNmM0MS43IDE2LjIgNzEuNCA1Ni43IDcxLjQgMTA0LjFzLTI5LjcgODcuOS03MS40IDEwNC4xek01MjggMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoNDgwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0zMjkuNyA0NDhoLTkwLjNjLTEwNi4yIDAtMTkzLjgtODUuNS0xOTMuOC0xOTAuMkM0NS42IDE0My4yIDEzMy4yIDY0IDIzOS40IDY0aDkwLjNjMTA1IDAgMjAwLjcgNzkuMiAyMDAuNyAxOTMuOCAwIDEwNC43LTk1LjcgMTkwLjItMjAwLjcgMTkwLjJ6Il0sCiAgICAgICJjYy1kaXNjb3ZlciI6IFs1NzYsIDUxMiwgW10sICJmMWYyIiwgIk04MyAyMTIuMWMwIDcuOS0zLjIgMTUuNS04LjkgMjAuNy00LjkgNC40LTExLjYgNi40LTIxLjkgNi40SDQ4VjE4NWg0LjJjMTAuMyAwIDE2LjcgMS43IDIxLjkgNi42IDUuNyA1IDguOSAxMi42IDguOSAyMC41ek01MDQuOCAxODRoLTQuOXYyNC45aDQuN2MxMC4zIDAgMTUuOC00LjQgMTUuOC0xMi44IDAtNy45LTUuNS0xMi4xLTE1LjYtMTIuMXpNNTc2IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoNDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek00MjggMjUzaDQ1LjN2LTEzLjhINDQ0VjIxN2gyOC4zdi0xMy44SDQ0NFYxODVoMjkuM3YtMTRINDI4djgyem0tODYuMi04MmwzNSA4NC4yaDguNmwzNS41LTg0LjJoLTE3LjVsLTIyLjIgNTUuMi0yMS45LTU1LjJoLTE3LjV6bS04MyA0MS42YzAgMjQuNiAxOS45IDQ0LjYgNDQuNiA0NC42IDI0LjYgMCA0NC42LTE5LjkgNDQuNi00NC42IDAtMjQuNi0xOS45LTQ0LjYtNDQuNi00NC42LTI0LjYgMC00NC42IDE5LjktNDQuNiA0NC42em0tNjgtLjVjMCAzMi41IDMzLjYgNTIuNSA2My4zIDM4LjJ2LTE5Yy0xOS4zIDE5LjMtNDYuOCA1LjgtNDYuOC0xOS4yIDAtMjMuNyAyNi43LTM5LjEgNDYuOC0xOXYtMTljLTMwLjItMTUtNjMuMyA2LjgtNjMuMyAzOHptLTMzLjkgMjguM2MtNy42IDAtMTMuOC0zLjctMTcuNS0xMC44bC0xMC4zIDkuOWMxNy44IDI2LjEgNTYuNiAxOC4yIDU2LjYtMTEuMyAwLTEzLjEtNS40LTE5LTIzLjYtMjUuNi05LjYtMy40LTEyLjMtNS45LTEyLjMtMTAuMyAwLTguNyAxNC41LTE0LjEgMjQuOS0yLjVsOC40LTEwLjhjLTE5LjEtMTcuMS00OS43LTguOS00OS43IDE0LjMgMCAxMS4zIDUuMiAxNy4yIDIwLjIgMjIuNyAyNS43IDkuMSAxNC43IDI0LjQgMy4zIDI0LjR6bS01Ny40LTI4LjNjMC0yNC4xLTE4LTQxLjEtNDQuMS00MS4xSDMydjgyaDIzLjRjMzAuOSAwIDQ0LjEtMjIuNCA0NC4xLTQwLjl6bTIzLjQtNDEuMWgtMTZ2ODJoMTZ2LTgyek01NDQgMjg4Yy0zMy4zIDIwLjgtMjI2LjQgMTI0LjQtNDE2IDE2MGg0MDFjOC4yIDAgMTUtNi44IDE1LTE1VjI4OHptMC0zNWwtMjUuOS0zNC41YzEyLjEtMi41IDE4LjctMTAuNiAxOC43LTIzLjIgMC0yOC41LTMwLjMtMjQuNC01Mi45LTI0LjR2ODJoMTZ2LTMyLjhoMi4ybDIyLjIgMzIuOEg1NDR6Il0sCiAgICAgICJjYy1qY2IiOiBbNTc2LCA1MTIsIFtdLCAiZjI0YiIsICJNNDMxLjUgMjQ0LjNWMjEyYzQxLjIgMCAzOC41LjIgMzguNS4yIDcuMyAxLjMgMTMuMyA3LjMgMTMuMyAxNiAwIDguOC02IDE0LjUtMTMuMyAxNS44LTEuMi40LTMuMy4zLTM4LjUuM3ptNDIuOCAyMC4yYy0yLjgtLjctMy4zLS41LTQyLjgtLjV2MzVjMzkuNiAwIDQwIC4yIDQyLjgtLjUgNy41LTEuNSAxMy41LTggMTMuNS0xNyAwLTguNy02LTE1LjUtMTMuNS0xN3pNNTc2IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoNDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xODIgMTkyLjNoLTU3YzAgNjcuMSAxMC43IDEwOS43LTM1LjggMTA5LjctMTkuNSAwLTM4LjgtNS43LTU3LjItMTQuOHYyOGMzMCA4LjMgNjggOC4zIDY4IDguMyA5Ny45IDAgODItNDcuNyA4Mi0xMzEuMnptMTc4LjUgNC41Yy02My40LTE2LTE2NS0xNC45LTE2NSA1OS4zIDAgNzcuMSAxMDguMiA3My42IDE2NSA1OS4yVjI4N0MzMTIuOSAzMTEuNyAyNTMgMzA5IDI1MyAyNTZzNTkuOC01NS42IDEwNy41LTMxLjJ2LTI4ek01NDQgMjg2LjVjMC0xOC41LTE2LjUtMzAuNS0zOC0zMnYtLjhjMTkuNS0yLjcgMzAuMy0xNS41IDMwLjMtMzAuMiAwLTE5LTE1LjctMzAtMzctMzEgMCAwIDYuMy0uMy0xMjAuMy0uM3YxMjcuNWgxMjIuN2MyNC4zLjEgNDIuMy0xMi45IDQyLjMtMzMuMnoiXSwKICAgICAgImNjLW1hc3RlcmNhcmQiOiBbNTc2LCA1MTIsIFtdLCAiZjFmMSIsICJNNDgyLjkgNDEwLjNjMCA2LjgtNC42IDExLjctMTEuMiAxMS43LTYuOCAwLTExLjItNS4yLTExLjItMTEuNyAwLTYuNSA0LjQtMTEuNyAxMS4yLTExLjcgNi42IDAgMTEuMiA1LjIgMTEuMiAxMS43em0tMzEwLjgtMTEuN2MtNy4xIDAtMTEuMiA1LjItMTEuMiAxMS43IDAgNi41IDQuMSAxMS43IDExLjIgMTEuNyA2LjUgMCAxMC45LTQuOSAxMC45LTExLjctLjEtNi41LTQuNC0xMS43LTEwLjktMTEuN3ptMTE3LjUtLjNjLTUuNCAwLTguNyAzLjUtOS41IDguN2gxOS4xYy0uOS01LjctNC40LTguNy05LjYtOC43em0xMDcuOC4zYy02LjggMC0xMC45IDUuMi0xMC45IDExLjcgMCA2LjUgNC4xIDExLjcgMTAuOSAxMS43IDYuOCAwIDExLjItNC45IDExLjItMTEuNyAwLTYuNS00LjQtMTEuNy0xMS4yLTExLjd6bTEwNS45IDI2LjFjMCAuMy4zLjUuMyAxLjEgMCAuMy0uMy41LS4zIDEuMS0uMy4zLS4zLjUtLjUuOC0uMy4zLS41LjUtMS4xLjUtLjMuMy0uNS4zLTEuMS4zLS4zIDAtLjUgMC0xLjEtLjMtLjMgMC0uNS0uMy0uOC0uNS0uMy0uMy0uNS0uNS0uNS0uOC0uMy0uNS0uMy0uOC0uMy0xLjEgMC0uNSAwLS44LjMtMS4xIDAtLjUuMy0uOC41LTEuMS4zLS4zLjUtLjMuOC0uNS41LS4zLjgtLjMgMS4xLS4zLjUgMCAuOCAwIDEuMS4zLjUuMy44LjMgMS4xLjVzLjIuNi41IDEuMXptLTIuMiAxLjRjLjUgMCAuNS0uMy44LS4zLjMtLjMuMy0uNS4zLS44IDAtLjMgMC0uNS0uMy0uOC0uMyAwLS41LS4zLTEuMS0uM2gtMS42djMuNWguOFY0MjZoLjNsMS4xIDEuNGguOGwtMS4xLTEuM3pNNTc2IDgxdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODFjMC0yNi41IDIxLjUtNDggNDgtNDhoNDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek02NCAyMjAuNmMwIDc2LjUgNjIuMSAxMzguNSAxMzguNSAxMzguNSAyNy4yIDAgNTMuOS04LjIgNzYuNS0yMy4xLTcyLjktNTkuMy03Mi40LTE3MS4yIDAtMjMwLjUtMjIuNi0xNS00OS4zLTIzLjEtNzYuNS0yMy4xLTc2LjQtLjEtMTM4LjUgNjItMTM4LjUgMTM4LjJ6bTIyNCAxMDguOGM3MC41LTU1IDcwLjItMTYyLjIgMC0yMTcuNS03MC4yIDU1LjMtNzAuNSAxNjIuNiAwIDIxNy41em0tMTQyLjMgNzYuM2MwLTguNy01LjctMTQuNC0xNC43LTE0LjctNC42IDAtOS41IDEuNC0xMi44IDYuNS0yLjQtNC4xLTYuNS02LjUtMTIuMi02LjUtMy44IDAtNy42IDEuNC0xMC42IDUuNFYzOTJoLTguMnYzNi43aDguMmMwLTE4LjktMi41LTMwLjIgOS0zMC4yIDEwLjIgMCA4LjIgMTAuMiA4LjIgMzAuMmg3LjljMC0xOC4zLTIuNS0zMC4yIDktMzAuMiAxMC4yIDAgOC4yIDEwIDguMiAzMC4yaDguMnYtMjN6bTQ0LjktMTMuN2gtNy45djQuNGMtMi43LTMuMy02LjUtNS40LTExLjctNS40LTEwLjMgMC0xOC4yIDguMi0xOC4yIDE5LjMgMCAxMS4yIDcuOSAxOS4zIDE4LjIgMTkuMyA1LjIgMCA5LTEuOSAxMS43LTUuNHY0LjZoNy45VjM5MnptNDAuNSAyNS42YzAtMTUtMjIuOS04LjItMjIuOS0xNS4yIDAtNS43IDExLjktNC44IDE4LjUtMS4xbDMuMy02LjVjLTkuNC02LjEtMzAuMi02LTMwLjIgOC4yIDAgMTQuMyAyMi45IDguMyAyMi45IDE1IDAgNi4zLTEzLjUgNS44LTIwLjcuOGwtMy41IDYuM2MxMS4yIDcuNiAzMi42IDYgMzIuNi03LjV6bTM1LjQgOS4zbC0yLjItNi44Yy0zLjggMi4xLTEyLjIgNC40LTEyLjItNC4xdi0xNi42aDEzLjFWMzkyaC0xMy4xdi0xMS4yaC04LjJWMzkyaC03LjZ2Ny4zaDcuNlY0MTZjMCAxNy42IDE3LjMgMTQuNCAyMi42IDEwLjl6bTEzLjMtMTMuNGgyNy41YzAtMTYuMi03LjQtMjIuNi0xNy40LTIyLjYtMTAuNiAwLTE4LjIgNy45LTE4LjIgMTkuMyAwIDIwLjUgMjIuNiAyMy45IDMzLjggMTQuMmwtMy44LTZjLTcuOCA2LjQtMTkuNiA1LjgtMjEuOS00Ljl6bTU5LjEtMjEuNWMtNC42LTItMTEuNi0xLjgtMTUuMiA0LjRWMzkyaC04LjJ2MzYuN2g4LjJWNDA4YzAtMTEuNiA5LjUtMTAuMSAxMi44LTguNGwyLjQtNy42em0xMC42IDE4LjNjMC0xMS40IDExLjYtMTUuMSAyMC43LTguNGwzLjgtNi41Yy0xMS42LTkuMS0zMi43LTQuMS0zMi43IDE1IDAgMTkuOCAyMi40IDIzLjggMzIuNyAxNWwtMy44LTYuNWMtOS4yIDYuNS0yMC43IDIuNi0yMC43LTguNnptNjYuNy0xOC4zSDQwOHY0LjRjLTguMy0xMS0yOS45LTQuOC0yOS45IDEzLjkgMCAxOS4yIDIyLjQgMjQuNyAyOS45IDEzLjl2NC42aDguMlYzOTJ6bTMzLjcgMGMtMi40LTEuMi0xMS0yLjktMTUuMiA0LjRWMzkyaC03Ljl2MzYuN2g3LjlWNDA4YzAtMTEgOS0xMC4zIDEyLjgtOC40bDIuNC03LjZ6bTQwLjMtMTQuOWgtNy45djE5LjNjLTguMi0xMC45LTI5LjktNS4xLTI5LjkgMTMuOSAwIDE5LjQgMjIuNSAyNC42IDI5LjkgMTMuOXY0LjZoNy45di01MS43em03LjYtNzUuMXY0LjZoLjhWMzAyaDEuOXYtLjhoLTQuNnYuOGgxLjl6bTYuNiAxMjMuOGMwLS41IDAtMS4xLS4zLTEuNi0uMy0uMy0uNS0uOC0uOC0xLjEtLjMtLjMtLjgtLjUtMS4xLS44LS41IDAtMS4xLS4zLTEuNi0uMy0uMyAwLS44LjMtMS40LjMtLjUuMy0uOC41LTEuMS44LS41LjMtLjguOC0uOCAxLjEtLjMuNS0uMyAxLjEtLjMgMS42IDAgLjMgMCAuOC4zIDEuNCAwIC4zLjMuOC44IDEuMS4zLjMuNS41IDEuMS44LjUuMyAxLjEuMyAxLjQuMy41IDAgMS4xIDAgMS42LS4zLjMtLjMuOC0uNSAxLjEtLjguMy0uMy41LS44LjgtMS4xLjMtLjYuMy0xLjEuMy0xLjR6bTMuMi0xMjQuN2gtMS40bC0xLjYgMy41LTEuNi0zLjVoLTEuNHY1LjRoLjh2LTQuMWwxLjYgMy41aDEuMWwxLjQtMy41djQuMWgxLjF2LTUuNHptNC40LTgwLjVjMC03Ni4yLTYyLjEtMTM4LjMtMTM4LjUtMTM4LjMtMjcuMiAwLTUzLjkgOC4yLTc2LjUgMjMuMSA3Mi4xIDU5LjMgNzMuMiAxNzEuNSAwIDIzMC41IDIyLjYgMTUgNDkuNSAyMy4xIDc2LjUgMjMuMSA3Ni40LjEgMTM4LjUtNjEuOSAxMzguNS0xMzguNHoiXSwKICAgICAgImNjLXBheXBhbCI6IFs1NzYsIDUxMiwgW10sICJmMWY0IiwgIk0xODYuMyAyNTguMmMwIDEyLjItOS43IDIxLjUtMjIgMjEuNS05LjIgMC0xNi01LjItMTYtMTUgMC0xMi4yIDkuNS0yMiAyMS43LTIyIDkuMyAwIDE2LjMgNS43IDE2LjMgMTUuNXpNODAuNSAyMDkuN2gtNC43Yy0xLjUgMC0zIDEtMy4yIDIuN2wtNC4zIDI2LjcgOC4yLS4zYzExIDAgMTkuNS0xLjUgMjEuNS0xNC4yIDIuMy0xMy40LTYuMi0xNC45LTE3LjUtMTQuOXptMjg0IDBIMzYwYy0xLjggMC0zIDEtMy4yIDIuN2wtNC4yIDI2LjcgOC0uM2MxMyAwIDIyLTMgMjItMTgtLjEtMTAuNi05LjYtMTEuMS0xOC4xLTExLjF6TTU3NiA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDQ4MGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTI4LjMgMjE1LjRjMC0yMS0xNi4yLTI4LTM0LjctMjhoLTQwYy0yLjUgMC01IDItNS4yIDQuN0wzMiAyOTQuMmMtLjMgMiAxLjIgNCAzLjIgNGgxOWMyLjcgMCA1LjItMi45IDUuNS01LjdsNC41LTI2LjZjMS03LjIgMTMuMi00LjcgMTgtNC43IDI4LjYgMCA0Ni4xLTE3IDQ2LjEtNDUuOHptODQuMiA4LjhoLTE5Yy0zLjggMC00IDUuNS00LjIgOC4yLTUuOC04LjUtMTQuMi0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkgMCAyMC4yLTQuOSAyNi41LTExLjktLjUgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNEgyMDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXptNDAuNSA5Ny45bDYzLjctOTIuNmMuNS0uNS41LTEgLjUtMS43IDAtMS43LTEuNS0zLjUtMy4yLTMuNWgtMTkuMmMtMS43IDAtMy41IDEtNC41IDIuNWwtMjYuNSAzOS0xMS0zNy41Yy0uOC0yLjItMy00LTUuNS00aC0xOC43Yy0xLjcgMC0zLjIgMS44LTMuMiAzLjUgMCAxLjIgMTkuNSA1Ni44IDIxLjIgNjIuMS0yLjcgMy44LTIwLjUgMjguNi0yMC41IDMxLjYgMCAxLjggMS41IDMuMiAzLjIgMy4yaDE5LjJjMS44LS4xIDMuNS0xLjEgNC41LTIuNnptMTU5LjMtMTA2LjdjMC0yMS0xNi4yLTI4LTM0LjctMjhoLTM5LjdjLTIuNyAwLTUuMiAyLTUuNSA0LjdsLTE2LjIgMTAyYy0uMiAyIDEuMyA0IDMuMiA0aDIwLjVjMiAwIDMuNS0xLjUgNC0zLjJsNC41LTI5YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC40IDAgNDUuOS0xNyA0NS45LTQ1Ljh6bTg0LjIgOC44aC0xOWMtMy44IDAtNCA1LjUtNC4zIDguMi01LjUtOC41LTE0LTEwLTIzLjctMTAtMjQuNSAwLTQzLjIgMjEuNS00My4yIDQ1LjIgMCAxOS41IDEyLjIgMzIuMiAzMS43IDMyLjIgOS4zIDAgMjAuNS00LjkgMjYuNS0xMS45LS4zIDEuNS0xIDQuNy0xIDYuMiAwIDIuMyAxIDQgMy4yIDRINDg0YzIuNyAwIDUtMi45IDUuNS01LjdsMTAuMi02NC4zYy4zLTEuOS0xLjItMy45LTMuMi0zLjl6bTQ3LjUtMzMuM2MwLTItMS41LTMuNS0zLjItMy41aC0xOC41Yy0xLjUgMC0zIDEuMi0zLjIgMi43bC0xNi4yIDEwNC0uMy41YzAgMS44IDEuNSAzLjUgMy41IDMuNWgxNi41YzIuNSAwIDUtMi45IDUuMi01LjdMNTQ0IDE5MS4ydi0uM3ptLTkwIDUxLjhjLTEyLjIgMC0yMS43IDkuNy0yMS43IDIyIDAgOS43IDcgMTUgMTYuMiAxNSAxMiAwIDIxLjctOS4yIDIxLjctMjEuNS4xLTkuOC02LjktMTUuNS0xNi4yLTE1LjV6Il0sCiAgICAgICJjYy1zdHJpcGUiOiBbNTc2LCA1MTIsIFtdLCAiZjFmNSIsICJNMzk2LjkgMjU2LjVjMCAxOS4xLTguOCAzMy40LTIxLjkgMzMuNC04LjMgMC0xMy4zLTMtMTYuOC02LjdsLS4yLTUyLjhjMy43LTQuMSA4LjgtNyAxNy03IDEyLjktLjEgMjEuOSAxNC41IDIxLjkgMzMuMXpNNTc2IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoNDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xMjIuMiAyODEuMWMwLTQyLjMtNTQuMy0zNC43LTU0LjMtNTAuNyAwLTUuNSA0LjYtNy43IDEyLjEtNy43IDEwLjggMCAyNC41IDMuMyAzNS4zIDkuMXYtMzMuNGMtMTEuOC00LjctMjMuNS02LjUtMzUuMy02LjUtMjguOCAwLTQ4IDE1LTQ4IDQwLjIgMCAzOS4zIDU0IDMyLjkgNTQgNDkuOSAwIDYuNi01LjcgOC43LTEzLjYgOC43LTExLjggMC0yNi45LTQuOS0zOC45LTExLjN2MzMuOWMxMy4yIDUuNyAyNi42IDguMSAzOC44IDguMSAyOS42LS4yIDQ5LjktMTQuNyA0OS45LTQwLjN6bTY4LjktODYuOWgtMjd2LTMwLjhsLTM0LjcgNy40LS4yIDExMy45YzAgMjEgMTUuOCAzNi41IDM2LjkgMzYuNSAxMS42IDAgMjAuMi0yLjEgMjQuOS00Ljd2LTI4LjljLTQuNSAxLjgtMjcgOC4zLTI3LTEyLjZ2LTUwLjVoMjd2LTMwLjN6bTczLjggMGMtNC43LTEuNy0yMS4zLTQuOC0yOS42IDEwLjVsLTIuMi0xMC41aC0zMC43djEyNC41aDM1LjV2LTg0LjRjOC40LTExIDIyLjYtOC45IDI3LjEtNy40di0zMi43em00NC4yIDBoLTM1Ljd2MTI0LjVoMzUuN1YxOTQuMnptMC00Ny4zbC0zNS43IDcuNnYyOC45bDM1LjctNy42di0yOC45em0xMjIuNyAxMDguOGMwLTQxLjMtMjMuNS02My44LTQ4LjQtNjMuOC0xMy45IDAtMjIuOSA2LjYtMjcuOCAxMS4xbC0xLjgtOC44aC0zMS4zVjM2MGwzNS41LTcuNS4xLTQwLjJjNS4xIDMuNyAxMi43IDkgMjUuMSA5IDI1LjQtLjEgNDguNi0yMC41IDQ4LjYtNjUuNnptMTEyLjIgMS4yYzAtMzYuNC0xNy42LTY1LjEtNTEuMy02NS4xLTMzLjggMC01NC4zIDI4LjctNTQuMyA2NC45IDAgNDIuOCAyNC4yIDY0LjUgNTguOCA2NC41IDE3IDAgMjkuNy0zLjkgMzkuNC05LjJ2LTI4LjZjLTkuNyA0LjktMjAuOCA3LjktMzQuOSA3LjktMTMuOCAwLTI2LTQuOS0yNy42LTIxLjVoNjkuNWMuMS0yIC40LTkuNC40LTEyLjl6bS01MS42LTM2LjFjLTguOSAwLTE4LjcgNi43LTE4LjcgMjIuN2gzNi43YzAtMTYtOS4zLTIyLjctMTgtMjIuN3oiXSwKICAgICAgImNjLXZpc2EiOiBbNTc2LCA1MTIsIFtdLCAiZjFmMCIsICJNNDcwLjEgMjMxLjNzNy42IDM3LjIgOS4zIDQ1SDQ0NmMzLjMtOC45IDE2LTQzLjUgMTYtNDMuNS0uMi4zIDMuMy05LjEgNS4zLTE0LjlsMi44IDEzLjR6TTU3NiA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDQ4MGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTUyLjUgMzMxLjJMMjE1LjcgMTc2aC00Mi41bC0zOS4zIDEwNi00LjMtMjEuNS0xNC03MS40Yy0yLjMtOS45LTkuNC0xMi43LTE4LjItMTMuMUgzMi43bC0uNyAzLjFjMTUuOCA0IDI5LjkgOS44IDQyLjIgMTcuMWwzNS44IDEzNWg0Mi41em05NC40LjJMMjcyLjEgMTc2aC00MC4ybC0yNS4xIDE1NS40aDQwLjF6bTEzOS45LTUwLjhjLjItMTcuNy0xMC42LTMxLjItMzMuNy00Mi4zLTE0LjEtNy4xLTIyLjctMTEuOS0yMi43LTE5LjIuMi02LjYgNy4zLTEzLjQgMjMuMS0xMy40IDEzLjEtLjMgMjIuNyAyLjggMjkuOSA1LjlsMy42IDEuNyA1LjUtMzMuNmMtNy45LTMuMS0yMC41LTYuNi0zNi02LjYtMzkuNyAwLTY3LjYgMjEuMi02Ny44IDUxLjQtLjMgMjIuMyAyMCAzNC43IDM1LjIgNDIuMiAxNS41IDcuNiAyMC44IDEyLjYgMjAuOCAxOS4zLS4yIDEwLjQtMTIuNiAxNS4yLTI0LjEgMTUuMi0xNiAwLTI0LjYtMi41LTM3LjctOC4zbC01LjMtMi41LTUuNiAzNC45YzkuNCA0LjMgMjYuOCA4LjEgNDQuOCA4LjMgNDIuMi4xIDY5LjctMjAuOCA3MC01M3pNNTI4IDMzMS40TDQ5NS42IDE3NmgtMzEuMWMtOS42IDAtMTYuOSAyLjgtMjEgMTIuOWwtNTkuNyAxNDIuNUg0MjZzNi45LTE5LjIgOC40LTIzLjNINDg2YzEuMiA1LjUgNC44IDIzLjMgNC44IDIzLjNINTI4eiJdLAogICAgICAiY2VudGVyY29kZSI6IFs1MTIsIDUxMiwgW10sICJmMzgwIiwgIk0zMjkuMiAyNjguNmMtMy44IDM1LjItMzUuNCA2MC42LTcwLjYgNTYuOC0zNS4yLTMuOC02MC42LTM1LjQtNTYuOC03MC42IDMuOC0zNS4yIDM1LjQtNjAuNiA3MC42LTU2LjggMzUuMSAzLjggNjAuNiAzNS40IDU2LjggNzAuNnptLTg1LjggMjM1LjFDOTYuNyA0OTYtOC4yIDM2NS41IDEwLjEgMjI0LjNjMTEuMi04Ni42IDY1LjgtMTU2LjkgMTM5LjEtMTkyIDE2MS03Ny4xIDM0OS43IDM3LjQgMzU0LjcgMjE2LjYgNC4xIDE0Ny0xMTguNCAyNjIuMi0yNjAuNSAyNTQuOHptMTc5LjktMTgwYzI3LjktMTE4LTE2MC41LTIwNS45LTIzNy4yLTIzNC4yLTU3LjUgNTYuMy02OS4xIDE4OC42LTMzLjggMzQ0LjQgNjguOCAxNS44IDE2OS4xLTI2LjQgMjcxLTExMC4yeiJdLAogICAgICAiY2hyb21lIjogWzQ5NiwgNTEyLCBbXSwgImYyNjgiLCAiTTEzMS41IDIxNy41TDU1LjEgMTAwLjFjNDcuNi01OS4yIDExOS05MS44IDE5Mi05Mi4xIDQyLjMtLjMgODUuNSAxMC41IDEyNC44IDMzLjIgNDMuNCAyNS4yIDc2LjQgNjEuNCA5Ny40IDEwM0wyNjQgMTMzLjRjLTU4LjEtMy40LTExMy40IDI5LjMtMTMyLjUgODQuMXptMzIuOSAzOC41YzAgNDYuMiAzNy40IDgzLjYgODMuNiA4My42czgzLjYtMzcuNCA4My42LTgzLjYtMzcuNC04My42LTgzLjYtODMuNi04My42IDM3LjMtODMuNiA4My42em0zMTQuOS04OS4yTDMzOS42IDE3NGMzNy45IDQ0LjMgMzguNSAxMDguMiA2LjYgMTU3LjJMMjM0LjEgNTAzLjZjNDYuNSAyLjUgOTQuNC03LjcgMTM3LjgtMzIuOSAxMDcuNC02MiAxNTAuOS0xOTIgMTA3LjQtMzAzLjl6TTEzMy43IDMwMy42TDQwLjQgMTIwLjFDMTQuOSAxNTkuMSAwIDIwNS45IDAgMjU2YzAgMTI0IDkwLjggMjI2LjcgMjA5LjUgMjQ0LjlsNjMuNy0xMjQuOGMtNTcuNiAxMC44LTExMy4yLTIwLjgtMTM5LjUtNzIuNXoiXSwKICAgICAgImNsb3Vkc2NhbGUiOiBbNDQ4LCA1MTIsIFtdLCAiZjM4MyIsICJNMzE4LjEgMTU0bC05LjQgNy42Yy0yMi41LTE5LjMtNTEuNS0zMy42LTgzLjMtMzMuNkMxNTMuOCAxMjggOTYgMTg4LjggOTYgMjYwLjNjMCA2LjYuNCAxMy4xIDEuNCAxOS40LTItNTYgNDEuOC05Ny40IDkyLjYtOTcuNCAyNC4yIDAgNDYuMiA5LjQgNjIuNiAyNC43bC0yNS4yIDIwLjRjLTguMy0uOS0xNi44IDEuOC0yMy4xIDguMS0xMS4xIDExLTExLjEgMjguOSAwIDQwIDExLjEgMTEgMjguOSAxMSA0MCAwIDYuMy02LjMgOS0xNC45IDguMS0yMy4xbDc1LjItODguOGM2LjMtNi41LTMuMy0xNS45LTkuNS05LjZ6bS04My44IDExMS41Yy01LjYgNS41LTE0LjYgNS41LTIwLjIgMC01LjYtNS42LTUuNi0xNC42IDAtMjAuMnMxNC42LTUuNiAyMC4yIDAgNS42IDE0LjcgMCAyMC4yek0yMjQgMzJDMTAwLjUgMzIgMCAxMzIuNSAwIDI1NnMxMDAuNSAyMjQgMjI0IDIyNCAyMjQtMTAwLjUgMjI0LTIyNFMzNDcuNSAzMiAyMjQgMzJ6bTAgMzg0Yy04OC4yIDAtMTYwLTcxLjgtMTYwLTE2MFMxMzUuOCA5NiAyMjQgOTZzMTYwIDcxLjggMTYwIDE2MC03MS44IDE2MC0xNjAgMTYweiJdLAogICAgICAiY2xvdWRzbWl0aCI6IFszMzIsIDUxMiwgW10sICJmMzg0IiwgIk0zMzIuNSA0MTkuOWMwIDQ2LjQtMzcuNiA4NC4xLTg0IDg0LjFzLTg0LTM3LjctODQtODQuMSAzNy42LTg0IDg0LTg0IDg0IDM3LjYgODQgODR6bS04NC0yNDMuOWM0Ni40IDAgODAtMzcuNiA4MC04NHMtMzMuNi04NC04MC04NC04OCAzNy42LTg4IDg0LTI5LjYgNzYtNzYgNzYtODQgNDEuNi04NCA4OCAzNy42IDgwIDg0IDgwIDg0LTMzLjYgODQtODAgMzMuNi04MCA4MC04MHoiXSwKICAgICAgImNsb3VkdmVyc2lmeSI6IFs2MTYsIDUxMiwgW10sICJmMzg1IiwgIk0xNDguNiAzMDRjOC4yIDY4LjUgNjcuNCAxMTUuNSAxNDYgMTExLjMgNTEuMiA0My4zIDEzNi44IDQ1LjggMTg2LjQtNS42IDY5LjIgMS4xIDExOC41LTQ0LjYgMTMxLjUtOTkuNSAxNC44LTYyLjUtMTguMi0xMzIuNS05Mi4xLTE1NS4xLTMzLTg4LjEtMTMxLjQtMTAxLjUtMTg2LjUtODUtNTcuMyAxNy4zLTg0LjMgNTMuMi05OS4zIDEwOS43LTcuOCAyLjctMjYuNSA4LjktNDUgMjQuMSAxMS43IDAgMTUuMiA4LjkgMTUuMiAxOS41djIwLjRjMCAxMC43LTguNyAxOS41LTE5LjUgMTkuNWgtMjAuMmMtMTAuNyAwLTE5LjUtNi0xOS41LTE2LjdWMjQwSDk4LjhDOTUgMjQwIDg4IDI0NC4zIDg4IDI1MS45djQwLjRjMCA2LjQgNS4zIDExLjggMTEuNyAxMS44aDQ4Ljl6bTIyNy40IDhjLTEwLjcgNDYuMyAyMS43IDcyLjQgNTUuMyA4Ni44QzMyNC4xIDQzMi42IDI1OS43IDM0OCAyOTYgMjg4Yy0zMy4yIDIxLjYtMzMuNyA3MS4yLTI5LjIgOTIuOS0xNy45LTEyLjQtNTMuOC0zMi40LTU3LjQtNzkuOC0zLTM5LjkgMjEuNS03NS43IDU3LTkzLjlDMjk3IDE5MS40IDM2OS45IDE5OC43IDQwMCAyNDhjLTE0LjEtNDgtNTMuOC03MC4xLTEwMS44LTc0LjggMzAuOS0zMC43IDY0LjQtNTAuMyAxMTQuMi00My43IDY5LjggOS4zIDEzMy4yIDgyLjggNjcuNyAxNTAuNSAzNS0xNi4zIDQ4LjctNTQuNCA0Ny41LTc2LjlsMTAuNSAxOS42YzExLjggMjIgMTUuMiA0Ny42IDkuNCA3Mi05LjIgMzktNDAuNiA2OC44LTc5LjcgNzYuNS0zMi4xIDYuMy04My4xLTUuMS05MS44LTU5LjJ6TTEyOCAyMDhIODguMmMtOC45IDAtMTYuMi03LjMtMTYuMi0xNi4ydi0zOS42YzAtOC45IDcuMy0xNi4yIDE2LjItMTYuMkgxMjhjOC45IDAgMTYuMiA3LjMgMTYuMiAxNi4ydjM5LjZjMCA4LjktNy4zIDE2LjItMTYuMiAxNi4yek0xMC4xIDE2OEM0LjUgMTY4IDAgMTYzLjUgMCAxNTcuOXYtMjcuOGMwLTUuNiA0LjUtMTAuMSAxMC4xLTEwLjFoMjcuN2M1LjUgMCAxMC4xIDQuNSAxMC4xIDEwLjF2MjcuOGMwIDUuNi00LjUgMTAuMS0xMC4xIDEwLjFIMTAuMXpNMTY4IDE0Mi43di0yMS40YzAtNS4xIDQuMi05LjMgOS4zLTkuM2gyMS40YzUuMSAwIDkuMyA0LjIgOS4zIDkuM3YyMS40YzAgNS4xLTQuMiA5LjMtOS4zIDkuM2gtMjEuNGMtNS4xIDAtOS4zLTQuMi05LjMtOS4zek01NiAyMzUuNXYyNWMwIDYuMy01LjEgMTEuNS0xMS40IDExLjVIMTkuNEMxMy4xIDI3MiA4IDI2Ni44IDggMjYwLjV2LTI1YzAtNi4zIDUuMS0xMS41IDExLjQtMTEuNWgyNS4xYzYuNCAwIDExLjUgNS4yIDExLjUgMTEuNXoiXSwKICAgICAgImNvZGVwZW4iOiBbNTEyLCA1MTIsIFtdLCAiZjFjYiIsICJNNTAyLjI4NSAxNTkuNzA0bC0yMzQtMTU2Yy03Ljk4Ny00LjkxNS0xNi41MTEtNC45Ni0yNC41NzEgMGwtMjM0IDE1NkMzLjcxNCAxNjMuNzAzIDAgMTcwLjg0NyAwIDE3Ny45ODl2MTU1Ljk5OWMwIDcuMTQzIDMuNzE0IDE0LjI4NiA5LjcxNSAxOC4yODZsMjM0IDE1Ni4wMjJjNy45ODcgNC45MTUgMTYuNTExIDQuOTYgMjQuNTcxIDBsMjM0LTE1Ni4wMjJjNi0zLjk5OSA5LjcxNS0xMS4xNDMgOS43MTUtMTguMjg2VjE3Ny45ODljLS4wMDEtNy4xNDItMy43MTUtMTQuMjg2LTkuNzE2LTE4LjI4NXpNMjc4IDYzLjEzMWwxNzIuMjg2IDExNC44NTgtNzYuODU3IDUxLjQyOUwyNzggMTY1LjcwM1Y2My4xMzF6bS00NCAwdjEwMi41NzJsLTk1LjQyOSA2My43MTUtNzYuODU3LTUxLjQyOUwyMzQgNjMuMTMxek00NCAyMTkuMTMybDU1LjE0MyAzNi44NTdMNDQgMjkyLjg0NnYtNzMuNzE0em0xOTAgMjI5LjcxNUw2MS43MTQgMzMzLjk4OWw3Ni44NTctNTEuNDI5TDIzNCAzNDYuMjc1djEwMi41NzJ6bTIyLTE0MC44NThsLTc3LjcxNS01MiA3Ny43MTUtNTIgNzcuNzE1IDUyLTc3LjcxNSA1MnptMjIgMTQwLjg1OFYzNDYuMjc1bDk1LjQyOS02My43MTUgNzYuODU3IDUxLjQyOUwyNzggNDQ4Ljg0N3ptMTkwLTE1Ni4wMDFsLTU1LjE0My0zNi44NTdMNDY4IDIxOS4xMzJ2NzMuNzE0eiJdLAogICAgICAiY29kaWVwaWUiOiBbNDcyLCA1MTIsIFtdLCAiZjI4NCIsICJNNDIyLjUgMjAyLjljMzAuNyAwIDMzLjUgNTMuMS0uMyA1My4xaC0xMC44djQ0LjNoLTI2LjZ2LTk3LjRoMzcuN3pNNDcyIDM1Mi42QzQyOS45IDQ0NC41IDM1MC40IDUwNCAyNDggNTA0IDExMSA1MDQgMCAzOTMgMCAyNTZTMTExIDggMjQ4IDhjOTcuNCAwIDE3Mi44IDUzLjcgMjE4LjIgMTM4LjRsLTE4NiAxMDguOEw0NzIgMzUyLjZ6bS0zOC41IDEyLjVsLTYwLjMtMzAuN2MtMjcuMSA0NC4zLTcwLjQgNzEuNC0xMjIuNCA3MS40LTgyLjUgMC0xNDkuMi02Ni43LTE0OS4yLTE0OC45IDAtODIuNSA2Ni43LTE0OS4yIDE0OS4yLTE0OS4yIDQ4LjQgMCA4OC45IDIzLjUgMTE2LjkgNjMuNGw1OS41LTM0LjZjLTQwLjctNjIuNi0xMDQuNy0xMDAtMTc5LjItMTAwLTEyMS4yIDAtMjE5LjUgOTguMy0yMTkuNSAyMTkuNVMxMjYuOCA0NzUuNSAyNDggNDc1LjVjNzguNiAwIDE0Ni41LTQyLjEgMTg1LjUtMTEwLjR6Il0sCiAgICAgICJjb25uZWN0ZGV2ZWxvcCI6IFs1NzYsIDUxMiwgW10sICJmMjBlIiwgIk01NTAuNSAyNDFsLTUwLjA4OS04Ni43ODZjMS4wNzEtMi4xNDIgMS44NzUtNC41NTMgMS44NzUtNy4yMzIgMC04LjAzNi02LjY5Ni0xNC43MzMtMTQuNzMyLTE1LjAwMWwtNTUuNDQ3LTk1Ljg5M2MuNTM2LTEuNjA3IDEuMDcxLTMuMjE0IDEuMDcxLTQuODIxIDAtOC41NzEtNi45NjQtMTUuMjY4LTE1LjI2OC0xNS4yNjgtNC44MjEgMC04LjgzOSAyLjE0My0xMS43ODYgNS42MjVIMjk5LjUxOEMyOTYuODM5IDE4LjE0MyAyOTIuODIxIDE2IDI4OCAxNnMtOC44MzkgMi4xNDMtMTEuNTE4IDUuNjI1SDE3MC40MTFDMTY3LjQ2NCAxOC4xNDMgMTYzLjQ0NyAxNiAxNTguNjI1IDE2Yy04LjMwMyAwLTE1LjI2OCA2LjY5Ni0xNS4yNjggMTUuMjY4IDAgMS42MDcuNTM2IDMuNDgyIDEuMDcyIDQuODIxbC01NS45ODMgOTcuMjMzYy01LjM1NiAyLjQxLTkuMTA3IDcuNS05LjEwNyAxMy42NjEgMCAuNTM1LjI2OCAxLjA3MS4yNjggMS42MDdsLTUzLjMwNCA5Mi4xNDNjLTcuMjMyIDEuMzM5LTEyLjU5IDcuNS0xMi41OSAxNSAwIDcuMjMyIDUuMDg5IDEzLjM5MyAxMi4wNTQgMTVsNTUuMTc5IDk1LjM1OGMtLjUzNiAxLjYwNy0uODA0IDIuOTQ2LS44MDQgNC44MjEgMCA3LjIzMiA1LjA4OSAxMy4zOTMgMTIuMDU0IDE0LjczMmw1MS42OTcgODkuNzMyYy0uNTM2IDEuNjA3LTEuMDcxIDMuNDgyLTEuMDcxIDUuMzU3IDAgOC41NzEgNi45NjQgMTUuMjY4IDE1LjI2OCAxNS4yNjggNC44MjEgMCA4LjgzOS0yLjE0MyAxMS41MTgtNS4zNTdoMTA2Ljg3NUMyNzkuMTYxIDQ5My44NTcgMjgzLjQ0NyA0OTYgMjg4IDQ5NnM4LjgzOS0yLjE0MyAxMS41MTgtNS4zNTdoMTA3LjE0M2MyLjY3OCAyLjk0NiA2LjY5NiA0LjgyMSAxMC45ODIgNC44MjEgOC41NzEgMCAxNS4yNjgtNi45NjQgMTUuMjY4LTE1LjI2OCAwLTEuNjA3LS4yNjctMi45NDYtLjgwMy00LjI4NWw1MS42OTctOTAuMjY4YzYuOTY0LTEuMzM5IDEyLjA1NC03LjUgMTIuMDU0LTE0LjczMiAwLTEuNjA3LS4yNjgtMy4yMTQtLjgwNC00LjgyMWw1NC45MTEtOTUuMzU4YzYuOTY0LTEuMzM5IDEyLjMyMi03LjUgMTIuMzIyLTE1LS4wMDItNy4yMzItNS4wOTItMTMuMzkzLTExLjc4OC0xNC43MzJ6TTE1My41MzUgNDUwLjczMmwtNDMuNjYtNzUuODAzaDQzLjY2djc1LjgwM3ptMC04My44MzloLTQzLjY2Yy0uMjY4LTEuMDcxLS44MDQtMi4xNDItMS4zMzktMy4yMTRsNDQuOTk5LTQ3LjQxdjUwLjYyNHptMC02Mi40MTFsLTUwLjM1NyA1My4zMDRjLTEuMzM5LS41MzYtMi42NzktMS4zNC00LjAxOC0xLjYwN0w0My40NDcgMjU5Ljc1Yy41MzUtMS4zMzkuNTM1LTIuNjc5LjUzNS00LjAxOHMwLTIuNDEtLjI2OC0zLjQ4Mmw1MS45NjUtOTBjMi42NzktLjI2OCA1LjM1Ny0xLjA3MiA3Ljc2OC0yLjY3OWw1MC4wODkgNTEuOTY1djkyLjk0NnptMC0xMDIuMzIybC00NS44MDMtNDcuNDFjMS4zMzktMi4xNDMgMi4xNDMtNC44MjEgMi4xNDMtNy43NjcgMC0uMjY4LS4yNjgtLjgwNC0uMjY4LTEuMDcybDQzLjkyOC0xNS44MDR2NzIuMDUzem0wLTgwLjYyNWwtNDMuNjYgMTUuODA0IDQzLjY2LTc1LjUzNnY1OS43MzJ6bTMyNi41MTkgMzkuMTA4bC44MDQgMS4zMzlMNDQ1LjUgMzI5LjEyNWwtNjMuNzUtNjcuMjMyIDk4LjAzNi0xMDEuNTE4LjI2OC4yNjh6TTI5MS43NSAzNTUuMTA3bDExLjUxOCAxMS43ODZIMjgwLjVsMTEuMjUtMTEuNzg2em0tLjI2OC0xMS4yNWwtODMuMzAzLTg1LjQ0NiA3OS41NTMtODQuMzc1IDgzLjAzNiA4Ny41ODktNzkuMjg2IDgyLjIzMnptNS4zNTcgNS44OTNsNzkuMjg2LTgyLjIzMiA2Ny41IDcxLjI1LTUuODkyIDI4LjEyNUgzMTMuNzE0bC0xNi44NzUtMTcuMTQzek00MTAuNDExIDQ0LjM5M2MxLjA3MS41MzYgMi4xNDIgMS4wNzIgMy40ODIgMS4zNGw1Ny44NTcgMTAwLjcxNHYuNTM2YzAgMi45NDYuODAzIDUuNjI0IDIuMTQzIDcuNzY3TDM3Ni4zOTMgMjU2bC04My4wMzUtODcuNTg5TDQxMC40MTEgNDQuMzkzem0tOS4xMDctMi4xNDNMMjg3LjczMiAxNjIuNTE4bC01Ny4wNTQtNjAuMjY4IDE2Ni4zMzktNjBoNC4yODd6bS0xMjMuNDgzIDBjMi42NzggMi42NzggNi4xNiA0LjI4NSAxMC4xNzkgNC4yODVzNy41LTEuNjA3IDEwLjE3OS00LjI4NWg3NUwyMjQuNzg2IDk1LjgyMSAxNzMuODkzIDQyLjI1aDEwMy45Mjh6bS0xMTYuMjQ5IDUuNjI1bDEuMDcxLTIuMTQyYTMzLjgzNCAzMy44MzQgMCAwIDAgMi42NzktLjgwNGw1MS4xNjEgNTMuODQtNTQuOTExIDE5LjgyMVY0Ny44NzV6bTAgNzkuMjg2bDYwLjgwMy0yMS45NjQgNTkuNzMyIDYzLjIxNC03OS41NTMgODQuMTA3LTQwLjk4Mi00Mi4wNTN2LTgzLjMwNHptMCA5Mi42NzhMMTk4IDI1Ny42MDdsLTM2LjQyOCAzOC4zMDR2LTc2LjA3MnptMCA4Ny44NThsNDIuMDUzLTQ0LjQ2NCA4Mi43NjggODUuOTgyLTE3LjE0MyAxNy42NzhIMTYxLjU3MnYtNTkuMTk2em02Ljk2NCAxNjIuMDUzYy0xLjYwNy0xLjYwNy0zLjQ4Mi0yLjY3OC01Ljg5My0zLjQ4MmwtMS4wNzEtMS42MDd2LTg5LjczMmg5OS45MWwtOTEuNjA3IDk0LjgyMWgtMS4zMzl6bTEyOS45MTEgMGMtMi42NzktMi40MS02LjQyOC00LjI4NS0xMC40NDctNC4yODVzLTcuNzY3IDEuODc1LTEwLjQ0NyA0LjI4NWgtOTYuNDI5bDkxLjYwNy05NC44MjFoMzguMzA0bDkxLjYwNyA5NC44MjFIMjk4LjQ0N3ptMTIwLTExLjc4NmwtNC4yODYgNy41Yy0xLjMzOS4yNjgtMi40MS44MDMtMy40ODIgMS4zMzlsLTg5LjE5Ni05MS44NzVoMTE0LjM3NmwtMTcuNDEyIDgzLjAzNnptMTIuODU2LTIyLjIzMmwxMi44NTgtNjAuODAzaDIxLjk2NGwtMzQuODIyIDYwLjgwM3ptMzQuODIyLTY4LjgzOWgtMjAuMzU3bDQuNTUzLTIxLjE2IDE3LjE0MyAxOC4yMTRjLS41MzUuODAzLTEuMDcxIDEuODc0LTEuMzM5IDIuOTQ2em02Ni4xNjEtMTA3LjQxMWwtNTUuNDQ3IDk2LjY5N2MtMS4zMzkuNTM1LTIuNjc5IDEuMDcxLTQuMDE4IDEuODc0bC0yMC42MjUtMjEuOTY0IDM0LjU1NC0xNjMuOTI4IDQ1LjgwMyA3OS4yODZjLS4yNjcgMS4zMzktLjgwMyAyLjY3OC0uODAzIDQuMjg1IDAgMS4zMzkuMjY4IDIuNDExLjUzNiAzLjc1eiJdLAogICAgICAiY29udGFvIjogWzUxMiwgNTEyLCBbXSwgImYyNmQiLCAiTTQ1LjQgMzA1YzE0LjQgNjcuMSAyNi40IDEyOSA2OC4yIDE3NUgzNGMtMTguNyAwLTM0LTE1LjItMzQtMzRWNjZjMC0xOC43IDE1LjItMzQgMzQtMzRoNTcuN0M3Ny45IDQ0LjYgNjUuNiA1OS4yIDU0LjggNzUuNmMtNDUuNCA3MC0yNyAxNDYuOC05LjQgMjI5LjR6TTQ3OCAzMmgtOTAuMmMyMS40IDIxLjQgMzkuMiA0OS41IDUyLjcgODQuMWwtMTM3LjEgMjkuM2MtMTQuOS0yOS0zNy44LTUzLjMtODIuNi00My45LTI0LjYgNS4zLTQxIDE5LjMtNDguMyAzNC42LTguOCAxOC43LTEzLjIgMzkuOCA4LjIgMTQwLjMgMjEuMSAxMDAuMiAzMy43IDExNy43IDQ5LjUgMTMxLjIgMTIuOSAxMS4xIDMzLjQgMTcgNTguMyAxMS43IDQ0LjUtOS40IDU1LjctNDAuNyA1Ny40LTczLjJsMTM3LjQtMjkuNmMzLjIgNzEuNS0xOC43IDEyNS4yLTU3LjQgMTYzLjZINDc4YzE4LjcgMCAzNC0xNS4yIDM0LTM0VjY2YzAtMTguOC0xNS4yLTM0LTM0LTM0eiJdLAogICAgICAiY3BhbmVsIjogWzY0MCwgNTEyLCBbXSwgImYzODgiLCAiTTUyLjkgMjEzLjdoNDBsLTYuMiAyMy42Yy0xLjkgNi41LTcuNCAxMC45LTE0LjMgMTAuOUg1My44Yy0yNC45IDAtMjQuNyAzNy40IDAgMzcuNGgxMS4zYzQuMiAwIDcuNiAzLjkgNi40IDguM0w2NC40IDMyMEg1MmMtMzMuNSAwLTU5LTMxLjQtNTAuMy02NS4yIDcuMy0yNyAyOC4zLTQxLjEgNTEuMi00MS4xTTczLjEgMzIwTDEwOCAxODkuOWMxLjgtNi40IDcuMi0xMC45IDE0LjMtMTAuOWgzN2MyNC4xIDAgNDUuNCAxNi40IDUxIDQxLjIgNi42IDI5LjEtMTQuNSA2NS4zLTUxLjcgNjUuM2gtMzJsNi40LTIzLjhjMS44LTYuMiA3LjMtMTAuOCAxNC4zLTEwLjhoMTAuM2MxMi40IDAgMjAuOC0xMS43IDE4LjMtMjIuNi0yLjEtOS4yLTkuOS0xNC44LTE4LjMtMTQuOGgtMTkuOEwxMTIgMzA5LjJjLTEuOSA2LjItNy40IDEwLjctMTQuMiAxMC43bC0yNC43LjFtMjIwLjYtNjkuNGMuMy0xIDEuOS01LjMtMi4xLTUuM2gtNTcuNWMtOS43IDAtMTYuNi04LjktMTQuMi0xOC41bDMuNS0xMy40aDc3LjljMTguOCAwIDMzLjMgMTcuNiAyOC41IDM2LjhsLTE0IDUxLjhjLTIuOCAxMC42LTEyLjIgMTcuOC0yMy40IDE3LjhsLTU3LjUtLjJjLTQyLjkgMC0zOC41LTYzLjguNy02My44SDI4NGwtMy41IDEzLjJjLTEuOSA2LjItNy40IDEwLjgtMTQuMiAxMC44aC0yMS42Yy01LjMgMC01LjMgNy45IDAgNy45aDM0LjljNC42IDAgNS4xLTMuOSA1LjUtNS4zbDguNi0zMS44bTEwMy4xLTM2LjljMzQuNCAwIDU5LjMgMzIuMyA1MC4zIDY1LjRsLTguOCAzMy4xYy0xLjIgNC45LTUuNyA3LjgtMTAuMyA3LjhoLTE5LjFjLTQuNSAwLTcuNi00LTYuNC04LjNsMTAuNi00MGMzLjMtMTEuNi01LjYtMjMuNC0xOC4xLTIzLjRoLTE5LjhsLTE3LjIgNjRjLTEuMiA0LjgtNS42IDcuOC0xMC40IDcuOGgtMTguOWMtNC4yIDAtNy42LTMuOS02LjQtOC4zbDI2LjItOThoNDguM000OTggMjUxLjZsLTggMzBjLS45IDMuMyAxLjUgNi43IDUuMSA2LjdoNzMuM2wtNS43IDIxYy0xLjkgNi4yLTcuNCAxMC43LTE0LjIgMTAuN2gtNjYuN2MtMjAgMC0zMy4zLTE5LTI4LjMtMzYuN2wxMC44LTQwYzQuOC0xNy42IDIwLjctMjkuNiAzOC42LTI5LjZoNDcuM2MxOSAwIDMzLjIgMTcuNyAyOC4zIDM2LjhsLTMuMiAxMmMtMi45IDExLTEyLjcgMTcuNi0yMy4yIDE3LjZoLTUzLjRsMy41LTEzYzEuNi02LjIgNy4yLTEwLjggMTQuMi0xMC44SDUzOGMyIDAgMy4zLTEgMy45LTNsLjctMi42Yy43LTIuNy0xLjMtNS4xLTMuOS01LjFoLTMyLjljLTQuMSAwLTYuOSAyLjEtNy44IDZ6bTcwLjIgNjguNGwzNS42LTEzMy4xYzEuMi00LjcgNS41LTcuOSAxMC40LTcuOWgxOC45YzQuNSAwIDcuNyA0IDYuNSA4LjNsLTI2LjUgOTguMmMtNS4xIDIwLjctMjQuMiAzNC41LTQ0LjkgMzQuNSJdLAogICAgICAiY3JlYXRpdmUtY29tbW9ucyI6IFs1MTIsIDUxMiwgW10sICJmMjVlIiwgIk0yNTUuNTQ3IDhDMzkyLjg4NCA4IDUwNCAxMTQuNDM5IDUwNCAyNTYuMDA0IDUwNCA0MDUuOTc5IDM4MS4xMDYgNTA0IDI1NS41NjIgNTA0IDEyMi4zMTkgNTA0IDggMzk0LjU1NyA4IDI1Ni4wMDQgOCAxMjQuODI1IDExMy40ODYgOCAyNTUuNTQ3IDh6bS44OTkgNDQuNzM0Yy0xMjAuMzQxIDAtMjAzLjcyNyAxMDAuNTY4LTIwMy43MjcgMjAzLjI3OCAwIDEwNi41MTUgODguOTg0IDIwMi4zOTQgMjAzLjcyNyAyMDIuMzk0IDEwMS41MjggMCAyMDIuODIxLTc5LjQ0MiAyMDIuODIxLTIwMi4zODctLjAwMS0xMTQuNzczLTkxLjc3My0yMDMuMjg1LTIwMi44MjEtMjAzLjI4NXptLTMuMTA4IDE2Mi4wOTNsLTMzLjIyNSAxNy4yNzVjLTUuMzk1LTExLjIwMy0xNS4yNS0xOS45MjYtMjcuNDU5LTE5LjkyNi0yMi4xMzQgMC0zMy4yMTcgMTQuNjA5LTMzLjIxNyA0My44NDIgMCAyMy44NDIgOS40NDYgNDMuODQyIDMzLjIxNyA0My44NDIgMTQuNDY5IDAgMjQuNjUzLTcuMDkxIDMwLjU2Ni0yMS4yNTlsMzAuNTUxIDE1LjVjLTEyLjgxMyAyMy44OTktMzYuODg3IDM4Ljk3NS02NS4xMDEgMzguOTc1LTQzLjE2MiAwLTczLjk1OS0yNy4yNzItNzMuOTU5LTc3LjA1MiAwLTQ5LjU0MSAzMi43MDYtNzcuMDU5IDcyLjYzNC03Ny4wNTkgMzAuNzE0LS4wMTMgNTIuNzAxIDExLjk0NiA2NS45OTMgMzUuODYyem0xNDMuMDQ0IDBsLTMyLjc3NSAxNy4yNzVjLTUuNTE3LTExLjQ4Mi0xNS4zMjQtMTkuOTI2LTI3LjktMTkuOTI2LTIyLjE0MiAwLTMzLjIyNSAxNC42MDktMzMuMjI1IDQzLjg0MiAwIDIzLjkwNiA5LjUwMiA0My44NDIgMzMuMjI1IDQzLjg0MiAxNC40NTQgMCAyNC42NDUtNy4wOTEgMzAuNTQzLTIxLjI1OWwzMSAxNS41Yy0xMy4zNjMgMjMuODY5LTM3LjQ1MSAzOC45NzUtNjUuMDg2IDM4Ljk3NS00My40MzkgMC03My45NTktMjYuOTg4LTczLjk1OS03Ny4wNTIgMC00OS41MjMgMzIuNjk4LTc3LjA1OSA3Mi42MjYtNzcuMDU5IDMwLjcwNi0uMDEzIDUyLjU2OSAxMS45NDYgNjUuNTUxIDM1Ljg2MnoiXSwKICAgICAgImNzczMiOiBbNTEyLCA1MTIsIFtdLCAiZjEzYyIsICJNNDgwIDMybC02NCAzNjgtMjIzLjMgODBMMCA0MDBsMTkuNi05NC44aDgybC04IDQwLjZMMjEwIDM5MC4ybDEzNC4xLTQ0LjQgMTguOC05Ny4xSDI5LjVsMTYtODJoMzMzLjdsMTAuNS01Mi43SDU2LjNsMTYuMy04Mkg0ODB6Il0sCiAgICAgICJjc3MzLWFsdCI6IFszODQsIDUxMiwgW10sICJmMzhiIiwgIk0wIDMybDM0LjkgMzk1LjhMMTkyIDQ4MGwxNTcuMS01Mi4yTDM4NCAzMkgwem0zMTMuMSA4MGwtNC44IDQ3LjNMMTkzIDIwOC42bC0uMy4xaDExMS41bC0xMi44IDE0Ni42LTk4LjIgMjguNy05OC44LTI5LjItNi40LTczLjloNDguOWwzLjIgMzguMyA1Mi42IDEzLjMgNTQuNy0xNS40IDMuNy02MS42LTE2Ni4zLS41di0uMWwtLjIuMS0zLjYtNDYuM0wxOTMuMSAxNjJsNi41LTIuN0g3Ni43TDcwLjkgMTEyaDI0Mi4yeiJdLAogICAgICAiY3V0dGxlZmlzaCI6IFs0NDAsIDUxMiwgW10sICJmMzhjIiwgIk0zNDQgMzA1LjVjLTE3LjUgMzEuNi01Ny40IDU0LjUtOTYgNTQuNS01Ni42IDAtMTA0LTQ3LjQtMTA0LTEwNHM0Ny40LTEwNCAxMDQtMTA0YzM4LjYgMCA3OC41IDIyLjkgOTYgNTQuNSAxMy43LTUwLjkgNDEuNy05My4zIDg3LTExNy44QzM4NS43IDM5LjEgMzIwLjUgOCAyNDggOCAxMTEgOCAwIDExOSAwIDI1NnMxMTEgMjQ4IDI0OCAyNDhjNzIuNSAwIDEzNy43LTMxLjEgMTgzLTgwLjctNDUuMy0yNC41LTczLjMtNjYuOS04Ny0xMTcuOHoiXSwKICAgICAgImQtYW5kLWQiOiBbNTc2LCA1MTIsIFtdLCAiZjM4ZCIsICJNODIuNSA5OC45Yy0uNi0xNy4yIDItMzMuOCAxMi43LTQ4LjIuMyA3LjQgMS4yIDE0LjUgNC4yIDIxLjYgNS45LTI3LjUgMTkuNy00OS4zIDQyLjMtNjUuNS0xLjkgNS45LTMuNSAxMS44LTMgMTcuNyA4LjctNy40IDE4LjgtMTcuOCA0NC40LTIyLjcgMTQuNy0yLjggMjkuNy0yIDQyLjEgMSAzOC41IDkuMyA2MSAzNC4zIDY5LjcgNzIuMyA1LjMgMjMuMS43IDQ1LTguMyA2Ni40LTUuMiAxMi40LTEyIDI0LjQtMjAuNyAzNS4xLTItMS45LTMuOS0zLjgtNS44LTUuNi00Mi44LTQwLjgtMjYuOC0yNS4yLTM3LjQtMzcuNC0xLjEtMS4yLTEtMi4yLS4xLTMuNiA4LjMtMTMuNSAxMS44LTI4LjIgMTAtNDQtMS4xLTkuOC00LjMtMTguOS0xMS4zLTI2LjItMTQuNS0xNS4zLTM5LjItMTUtNTMuNS42LTExLjQgMTIuNS0xNC4xIDI3LjQtMTAuOSA0My42LjIgMS4zLjQgMi43IDAgMy45LTMuNCAxMy43LTQuNiAyNy42LTIuNSA0MS42LjEuNS4xIDEuMS4xIDEuNiAwIC4zLS4xLjUtLjIgMS4xLTIxLjgtMTEtMzYtMjguMy00My4yLTUyLjItOC4zIDE3LjgtMTEuMSAzNS41LTYuNiA1NC4xLTE1LjYtMTUuMi0yMS4zLTM0LjMtMjItNTUuMnptNDY5LjYgMTIzLjJjLTExLjYtMTEuNi0yNS0yMC40LTQwLjEtMjYuNi0xMi44LTUuMi0yNi03LjktMzkuOS03LjEtMTAgLjYtMTkuNiAzLjEtMjkgNi40LTIuNS45LTUuMSAxLjYtNy43IDIuMi00LjkgMS4yLTcuMy0zLjEtNC43LTYuOCAzLjItNC42IDMuNC00LjIgMTUtMTIgLjYtLjQgMS4yLS44IDIuMi0xLjVoLTIuNWMtLjYgMC0xLjIuMi0xLjkuMy0xOS4zIDMuMy0zMC43IDE1LjUtNDguOSAyOS42LTEwLjQgOC4xLTEzLjggMy44LTEyLS41IDEuNC0zLjUgMy4zLTYuNyA1LjEtMTAgMS0xLjggMi4zLTMuNCAzLjUtNS4xLS4yLS4yLS41LS4zLS43LS41LTI3IDE4LjMtNDYuNyA0Mi40LTU3LjcgNzMuMy4zLjMuNy42IDEgLjkuMy0uNi41LTEuMi45LTEuNyAxMC40LTEyLjEgMjIuOC0yMS44IDM2LjYtMjkuOCAxOC4yLTEwLjYgMzcuNS0xOC4zIDU4LjctMjAuMiA0LjMtLjQgOC43LS4xIDEzLjEtLjEtMS44LjctMy41LjktNS4zIDEuMS0xOC41IDIuNC0zNS41IDktNTEuNSAxOC41LTMwLjIgMTcuOS01NC41IDQyLjItNzUuMSA3MC40LS4zLjQtLjQuOS0uNyAxLjMgMTQuNSA1LjMgMjQgMTcuMyAzNi4xIDI1LjYuMi0uMS4zLS4yLjQtLjRsMS4yLTIuN2MxMi4yLTI2LjkgMjctNTIuMyA0Ni43LTc0LjUgMTYuNy0xOC44IDM4LTI1LjMgNjIuNS0yMCA1LjkgMS4zIDExLjQgNC40IDE3LjIgNi44IDIuMy0xLjQgNS4xLTMuMiA4LTQuNyA4LjQtNC4zIDE3LjQtNyAyNi43LTkgMTQuNy0zLjEgMjkuNS00LjkgNDQuNS0xLjN2LS41Yy0uNS0uNC0xLjItLjgtMS43LTEuNHpNMzE2LjcgMzk3LjZjLTM5LjQtMzMtMjIuOC0xOS41LTQyLjctMzUuNi0uOC45IDAtLjItMS45IDMtMTEuMiAxOS4xLTI1LjUgMzUuMy00NCA0Ny42LTEwLjMgNi44LTIxLjUgMTEuOC0zNC4xIDExLjgtMjEuNiAwLTM4LjItOS41LTQ5LjQtMjcuOC0xMi0xOS41LTEzLjMtNDAuNy04LjItNjIuNiA3LjgtMzMuOCAzMC4xLTU1LjIgMzguNi02NC4zLTE4LjctNi4yLTMzIDEuNy00Ni40IDEzLjkuOC0xMy45IDQuMy0yNi4yIDExLjgtMzcuMy0yNC4zIDEwLjYtNDUuOSAyNS02NC44IDQzLjktLjMtNS44IDUuNC00My43IDUuNi00NC43LjMtMi43LS42LTUuMy0zLTcuNC0yNC4yIDI0LjctNDQuNSA1MS44LTU2LjEgODQuNiA3LjQtNS45IDE0LjktMTEuNCAyMy42LTE2LjItOC4zIDIyLjMtMTkuNiA1Mi44LTcuOCAxMDEuMSA0LjYgMTkgMTEuOSAzNi44IDI0LjEgNTIuMyAyLjkgMy43IDYuMyA2LjkgOS41IDEwLjMuMi0uMi40LS4zLjYtLjUtMS40LTctMi4yLTE0LjEtMS41LTIxLjkgMi4yIDMuMiAzLjkgNiA1LjkgOC42IDEyLjYgMTYgMjguNyAyNy40IDQ3LjIgMzUuNiAyNSAxMS4zIDUxLjEgMTMuMyA3Ny45IDguNiA1NC45LTkuNyA5MC43LTQ4LjYgMTE2LTk4LjggMS0xLjguNi0yLjktLjktNC4yem0xNzItNDYuNGMtOS41LTMuMS0yMi4yLTQuMi0yOC43LTIuOSA5LjkgNCAxNC4xIDYuNiAxOC44IDEyIDEyLjYgMTQuNCAxMC40IDM0LjctNS40IDQ1LjYtMTEuNyA4LjEtMjQuOSAxMC41LTM4LjkgOS4xLTEuMi0uMS0yLjMtLjQtMy0uNiAyLjgtMy43IDYtNyA4LjEtMTAuOCA5LjQtMTYuOCA1LjQtNDIuMS04LjctNTYuMS0yLjEtMi4xLTQuNi0zLjktNy01LjktLjMgMS4zLS4xIDIuMS4xIDIuOCA0LjIgMTYuNi04LjEgMzIuNC0yNC44IDMxLjgtNy42LS4zLTEzLjktMy44LTE5LjYtOC41LTE5LjUtMTYuMS0zOS4xLTMyLjEtNTguNS00OC4zLTUuOS00LjktMTIuNS04LjEtMjAuMS04LjctNC42LS40LTkuMy0uNi0xMy45LS45LTUuOS0uNC04LjgtMi44LTEwLjQtOC40LS45LTMuNC0xLjUtNi44LTIuMi0xMC4yLTEuNS04LjEtNi4yLTEzLTE0LjMtMTQuMi00LjQtLjctOC45LTEtMTMuMy0xLjUtMTMtMS40LTE5LjgtNy40LTIyLjYtMjAuMy01IDExLTEuNiAyMi40IDcuMyAyOS45IDQuNSAzLjggOS4zIDcuMyAxMy44IDExLjIgNC42IDMuOCA3LjQgOC43IDcuOSAxNC44LjQgNC43LjggOS41IDEuOCAxNC4xIDIuMiAxMC42IDguOSAxOC40IDE3IDI1LjEgMTYuNSAxMy43IDMzIDI3LjMgNDkuNSA0MS4xIDE3LjkgMTUgMTMuOSAzMi44IDEzIDU2LS45IDIyLjkgMTIuMiA0Mi45IDMzLjUgNTEuMiAxIC40IDIgLjYgMy42IDEuMS0xNS43LTE4LjItMTAuMS00NC4xLjctNTIuMy4zIDIuMi40IDQuMy45IDYuNCA5LjQgNDQuMSA0NS40IDY0LjIgODUgNTYuOSAxNi0yLjkgMzAuNi04LjkgNDIuOS0xOS44IDItMS44IDMuNy00LjEgNS45LTYuNS0xOS4zIDQuNi0zNS44LjEtNTAuOS0xMC42LjctLjMgMS4zLS4zIDEuOS0uMyAyMS4zIDEuOCA0MC42LTMuNCA1Ny0xNy40IDE5LjUtMTYuNiAyNi42LTQyLjkgMTcuNC02Ni04LjMtMjAuMS0yMy42LTMyLjMtNDMuOC0zOC45ek05OS40IDE3OS4zYy01LjMtOS4yLTEzLjItMTUuNi0yMi4xLTIxLjMgMTMuNy0uNSAyNi42LjIgMzkuNiAzLjctNy0xMi4yLTguNS0yNC43LTUtMzguNyA1LjMgMTEuOSAxMy43IDIwLjEgMjMuNiAyNi44IDE5LjcgMTMuMiAzNS43IDE5LjYgNDYuNyAzMC4yIDMuNCAzLjMgNi4zIDcuMSA5LjYgMTAuOS0uOC0yLjEtMS40LTQuMS0yLjItNi01LTEwLjYtMTMtMTguNi0yMi42LTI1LTEuOC0xLjItMi44LTIuNS0zLjQtNC41LTMuMy0xMi41LTMtMjUuMS0uNy0zNy42IDEtNS41IDIuOC0xMC45IDQuNS0xNi4zLjgtMi40IDIuMy00LjYgNC02LjYuNiA2LjkgMCAyNS41IDE5LjYgNDYgMTAuOCAxMS4zIDIyLjQgMjEuOSAzMy45IDMyLjcgOSA4LjUgMTguMyAxNi43IDI1LjUgMjYuOCAxLjEgMS42IDIuMiAzLjMgMy44IDQuNy01LTEzLTE0LjItMjQuMS0yNC4yLTMzLjgtOS42LTkuMy0xOS40LTE4LjQtMjkuMi0yNy40LTMuMy0zLTQuNi02LjctNS4xLTEwLjktMS4yLTEwLjQgMC0yMC42IDQuMy0zMC4yLjUtMSAxLjEtMiAxLjktMy4zLjUgNC4yLjYgNy45IDEuNCAxMS42IDQuOCAyMy4xIDIwLjQgMzYuMyA0OS4zIDYzLjUgMTAgOS40IDE5LjMgMTkuMiAyNS42IDMxLjYgNC44IDkuMyA3LjMgMTkgNS43IDI5LjYtLjEuNi41IDEuNyAxLjEgMiA2LjIgMi42IDEwIDYuOSA5LjcgMTQuMyA3LjctMi42IDEyLjUtOCAxNi40LTE0LjUgNC4yIDIwLjItOS4xIDUwLjMtMjcuMiA1OC43LjQtNC41IDUtMjMuNC0xNi41LTI3LjctNi44LTEuMy0xMi44LTEuMy0yMi45LTIuMSA0LjctOSAxMC40LTIwLjYuNS0yMi40LTI0LjktNC42LTUyLjggMS45LTU3LjggNC42IDguMi40IDE2LjMgMSAyMy41IDMuMy0yIDYuNS00IDEyLjctNS44IDE4LjktMS45IDYuNSAyLjEgMTQuNiA5LjMgOS42IDEuMi0uOSAyLjMtMS45IDMuMy0yLjctMy4xIDE3LjktMi45IDE1LjktMi44IDE4LjMuMyAxMC4yIDkuNSA3LjggMTUuNyA3LjMtMi41IDExLjgtMjkuNSAyNy4zLTQ1LjQgMjUuOCA3LTQuNyAxMi43LTEwLjMgMTUuOS0xNy45LTYuNS44LTEyLjkgMS42LTE5LjIgMi40bC0uMy0uOWM0LjctMy40IDgtNy44IDEwLjItMTMuMSA4LjctMjEuMS0zLjYtMzgtMjUtMzkuOS05LjEtLjgtMTcuOC44LTI1LjkgNS41IDYuMi0xNS42IDE3LjItMjYuNiAzMi42LTM0LjUtMTUuMi00LjMtOC45LTIuNy0yNC42LTYuMyAxNC42LTkuMyAzMC4yLTEzLjIgNDYuNS0xNC42LTUuMi0zLjItNDguMS0zLjYtNzAuMiAyMC45IDcuOSAxLjQgMTUuNSAyLjggMjMuMiA0LjItMjMuOCA3LTQ0IDE5LjctNjIuNCAzNS42IDEuMS00LjggMi43LTkuNSAzLjMtMTQuMy42LTQuNS44LTkuMi4xLTEzLjYtMS41LTkuNC04LjktMTUuMS0xOS43LTE2LjMtNy45LS45LTE1LjYuMS0yMy4zIDEuMy0uOS4xLTEuNy4zLTIuOSAwIDE1LjgtMTQuOCAzNi0yMS43IDUzLjEtMzMuNSA2LTQuNSA2LjgtOC4yIDMtMTQuOXptMTI4LjQgMjYuOGMzLjMgMTYgMTIuNiAyNS41IDIzLjggMjQuMy00LjYtMTEuMy0xMi4xLTE5LjUtMjMuOC0yNC4zeiJdLAogICAgICAiZGFzaGN1YmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjIxMCIsICJNMzI2LjYgMTA0SDExMC40Yy01MS4xIDAtOTEuMiA0My4zLTkxLjIgOTMuNVY0MjdjMCA1MC41IDQwLjEgODUgOTEuMiA4NWgyMjcuMmM1MS4xIDAgOTEuMi0zNC41IDkxLjItODVWMEwzMjYuNiAxMDR6TTE1My45IDQxNi41Yy0xNy43IDAtMzIuNC0xNS4xLTMyLjQtMzIuOFYyNDAuOGMwLTE3LjcgMTQuNy0zMi41IDMyLjQtMzIuNWgxNDAuN2MxNy43IDAgMzIgMTQuOCAzMiAzMi41djEyMy41bDUxLjEgNTIuM0gxNTMuOXoiXSwKICAgICAgImRlbGljaW91cyI6IFs0NDgsIDUxMiwgW10sICJmMWE1IiwgIk00NDYuNSA2OGMtLjQtMS41LS45LTMtMS40LTQuNS0uOS0yLjUtMi00LjgtMy4zLTcuMS0xLjQtMi40LTMtNC44LTQuNy02LjktMi4xLTIuNS00LjQtNC44LTYuOS02LjgtMS4xLS45LTIuMi0xLjctMy4zLTIuNS0xLjMtLjktMi42LTEuNy00LTIuNC0xLjgtMS0zLjYtMS44LTUuNS0yLjUtMS43LS43LTMuNS0xLjMtNS40LTEuNy0zLjgtMS03LjktMS41LTEyLTEuNUg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDQuMS41IDguMiAxLjUgMTIgMiA3LjcgNS44IDE0LjYgMTEgMjAuMyAxIDEuMSAyLjEgMi4yIDMuMyAzLjMgNS43IDUuMiAxMi42IDkgMjAuMyAxMSAzLjggMSA3LjkgMS41IDEyIDEuNWgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjLS4xLTQuMS0uNi04LjItMS42LTEyek00MTYgNDMyYzAgOC44LTcuMiAxNi0xNiAxNkgyMjRWMjU2SDMyVjgwYzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTkyaDE5MnYxNzZ6Il0sCiAgICAgICJkZXBsb3lkb2ciOiBbNTEyLCA1MTIsIFtdLCAiZjM4ZSIsICJNMzgyLjIgMTM2aDUxLjd2MjM5LjZoLTUxLjd2LTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlWMTM2em0tNjQuNyAxNjEuOGMwIDE4LjIgMTMuNiAzMy41IDMzLjIgMzMuNSAxOS44IDAgMzMuMi0xNi40IDMzLjItMzIuOSAwLTE3LjEtMTMuNy0zMy4yLTMzLjItMzMuMi0xOS42IDAtMzMuMiAxNi40LTMzLjIgMzIuNnpNMTg4LjUgMTM2aDUxLjd2MjM5LjZoLTUxLjd2LTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlWMTM2em0tNjQuNyAxNjEuOGMwIDE4LjIgMTMuNiAzMy41IDMzLjIgMzMuNSAxOS44IDAgMzMuMi0xNi40IDMzLjItMzIuOSAwLTE3LjEtMTMuNy0zMy4yLTMzLjItMzMuMi0xOS43IDAtMzMuMiAxNi40LTMzLjIgMzIuNnpNNDQ4IDk2YzE3LjUgMCAzMiAxNC40IDMyIDMydjI1NmMwIDE3LjUtMTQuNCAzMi0zMiAzMkg2NGMtMTcuNSAwLTMyLTE0LjQtMzItMzJWMTI4YzAtMTcuNSAxNC40LTMyIDMyLTMyaDM4NG0wLTMySDY0QzI4LjggNjQgMCA5Mi44IDAgMTI4djI1NmMwIDM1LjIgMjguOCA2NCA2NCA2NGgzODRjMzUuMiAwIDY0LTI4LjggNjQtNjRWMTI4YzAtMzUuMi0yOC44LTY0LTY0LTY0eiJdLAogICAgICAiZGVza3BybyI6IFs0ODAsIDUxMiwgW10sICJmMzhmIiwgIk0yMDUuOSA1MTJsMzEuMS0zOC40YzEyLjMtLjIgMjUuNi0xLjQgMzYuNS02LjYgMzguOS0xOC42IDM4LjQtNjEuOSAzOC4zLTYzLjgtLjEtNS0uOC00LjQtMjguOS0zNy40SDM2MmMtLjIgNTAuMS03LjMgNjguNS0xMC4yIDc1LjctOS40IDIzLjctNDMuOSA2Mi44LTk1LjIgNjkuNC04LjcgMS4xLTMyLjggMS4yLTUwLjcgMS4xem0yMDAuNC0xNjcuN2MzOC42IDAgNTguNS0xMy42IDczLjctMzAuOWwtMTc1LjUtLjMtMTcuNCAzMS4zIDExOS4yLS4xem0tNDMuNi0yMjMuOXYxNjguM2gtNzMuNWwtMzIuNyA1NS41SDI1MGMtNTIuMyAwLTU4LjEtNTYuNS01OC4zLTU4LjktMS4yLTEzLjItMjEuMy0xMS42LTIwLjEgMS44IDEuNCAxNS44IDguOCA0MCAyNi40IDU3LjFoLTkxYy0yNS41IDAtMTEwLjgtMjYuOC0xMDctMTE0VjE2LjlDMCAuOSA5LjcuMyAxNSAuMWg4MmMuMiAwIC4zLjEuNS4xIDQuMy0uNCA1MC4xLTIuMSA1MC4xIDQzLjcgMCAxMy4zIDIwLjIgMTMuNCAyMC4yIDAgMC0xOC4yLTUuNS0zMi44LTE1LjgtNDMuN2g4NC4yYzEwOC43LS40IDEyNi41IDc5LjQgMTI2LjUgMTIwLjJ6bS0xMzIuNSA1Nmw2NCAyOS4zYzEzLjMtNDUuNS00Mi4yLTcxLjctNjQtMjkuM3oiXSwKICAgICAgImRldmlhbnRhcnQiOiBbMzIwLCA1MTIsIFtdLCAiZjFiZCIsICJNMzIwIDkzLjJsLTk4LjIgMTc5LjEgNy40IDkuNUgzMjB2MTI3LjdIMTU5LjFsLTEzLjUgOS4yLTQzLjcgODRjLS4zIDAtOC42IDguNi05LjIgOS4ySDB2LTkzLjJsOTMuMi0xNzkuNC03LjQtOS4ySDBWMTAyLjVoMTU2bDEzLjUtOS4yIDQzLjctODRjLjMgMCA4LjYtOC42IDkuMi05LjJIMzIwdjkzLjF6Il0sCiAgICAgICJkaWdnIjogWzUxMiwgNTEyLCBbXSwgImYxYTYiLCAiTTgxLjcgMTcyLjNIMHYxNzQuNGgxMzIuN1Y5NmgtNTF2NzYuM3ptMCAxMzMuNEg1MC45di05Mi4zaDMwLjh2OTIuM3ptMjk3LjItMTMzLjR2MTc0LjRoODEuOHYyOC41aC04MS44VjQxNkg1MTJWMTcyLjNIMzc4Ljl6bTgxLjggMTMzLjRoLTMwLjh2LTkyLjNoMzAuOHY5Mi4zem0tMjM1LjYgNDFoODIuMXYyOC41aC04Mi4xVjQxNmgxMzMuM1YxNzIuM0gyMjUuMXYxNzQuNHptNTEuMi0xMzMuM2gzMC44djkyLjNoLTMwLjh2LTkyLjN6TTE1My4zIDk2aDUxLjN2NTFoLTUxLjNWOTZ6bTAgNzYuM2g1MS4zdjE3NC40aC01MS4zVjE3Mi4zeiJdLAogICAgICAiZGlnaXRhbC1vY2VhbiI6IFs1MTIsIDUxMiwgW10sICJmMzkxIiwgIk0yNTYgNTA0di05Ni4xYzEwMS44IDAgMTgwLjgtMTAwLjkgMTQxLjctMjA4LTE0LjMtMzkuNi00Ni4xLTcxLjQtODUuOC04NS43LTEwNy4xLTM4LjgtMjA4LjEgMzkuOS0yMDguMSAxNDEuN0g4QzggOTMuNyAxNjQuOS0zMi44IDMzNSAyMC4zYzc0LjIgMjMuMyAxMzMuNiA4Mi40IDE1Ni42IDE1Ni42QzU0NC44IDM0Ny4yIDQxOC42IDUwNCAyNTYgNTA0em0uMy0xOTEuNGgtOTUuNnY5NS42aDk1LjZ2LTk1LjZ6bS05NS42IDk1LjZIODd2NzMuNmg3My43di03My42ek04NyAzNDYuNkgyNS40djYxLjZIODd2LTYxLjZ6Il0sCiAgICAgICJkaXNjb3JkIjogWzQ0OCwgNTEyLCBbXSwgImYzOTIiLCAiTTI5Ny4yMTYgMjQzLjJjMCAxNS42MTYtMTEuNTIgMjguNDE2LTI2LjExMiAyOC40MTYtMTQuMzM2IDAtMjYuMTEyLTEyLjgtMjYuMTEyLTI4LjQxNnMxMS41Mi0yOC40MTYgMjYuMTEyLTI4LjQxNmMxNC41OTIgMCAyNi4xMTIgMTIuOCAyNi4xMTIgMjguNDE2em0tMTE5LjU1Mi0yOC40MTZjLTE0LjU5MiAwLTI2LjExMiAxMi44LTI2LjExMiAyOC40MTZzMTEuNzc2IDI4LjQxNiAyNi4xMTIgMjguNDE2YzE0LjU5MiAwIDI2LjExMi0xMi44IDI2LjExMi0yOC40MTYuMjU2LTE1LjYxNi0xMS41Mi0yOC40MTYtMjYuMTEyLTI4LjQxNnpNNDQ4IDUyLjczNlY1MTJjLTY0LjQ5NC01Ni45OTQtNDMuODY4LTM4LjEyOC0xMTguNzg0LTEwNy43NzZsMTMuNTY4IDQ3LjM2SDUyLjQ4QzIzLjU1MiA0NTEuNTg0IDAgNDI4LjAzMiAwIDM5OC44NDhWNTIuNzM2QzAgMjMuNTUyIDIzLjU1MiAwIDUyLjQ4IDBoMzQzLjA0QzQyNC40NDggMCA0NDggMjMuNTUyIDQ0OCA1Mi43MzZ6bS03Mi45NiAyNDIuNjg4YzAtODIuNDMyLTM2Ljg2NC0xNDkuMjQ4LTM2Ljg2NC0xNDkuMjQ4LTM2Ljg2NC0yNy42NDgtNzEuOTM2LTI2Ljg4LTcxLjkzNi0yNi44OGwtMy41ODQgNC4wOTZjNDMuNTIgMTMuMzEyIDYzLjc0NCAzMi41MTIgNjMuNzQ0IDMyLjUxMi02MC44MTEtMzMuMzI5LTEzMi4yNDQtMzMuMzM1LTE5MS4yMzItNy40MjQtOS40NzIgNC4zNTItMTUuMTA0IDcuNDI0LTE1LjEwNCA3LjQyNHMyMS4yNDgtMjAuMjI0IDY3LjMyOC0zMy41MzZsLTIuNTYtMy4wNzJzLTM1LjA3Mi0uNzY4LTcxLjkzNiAyNi44OGMwIDAtMzYuODY0IDY2LjgxNi0zNi44NjQgMTQ5LjI0OCAwIDAgMjEuNTA0IDM3LjEyIDc4LjA4IDM4LjkxMiAwIDAgOS40NzItMTEuNTIgMTcuMTUyLTIxLjI0OC0zMi41MTItOS43MjgtNDQuOC0zMC4yMDgtNDQuOC0zMC4yMDggMy43NjYgMi42MzYgOS45NzYgNi4wNTMgMTAuNDk2IDYuNCA0My4yMSAyNC4xOTggMTA0LjU4OCAzMi4xMjYgMTU5Ljc0NCA4Ljk2IDguOTYtMy4zMjggMTguOTQ0LTguMTkyIDI5LjQ0LTE1LjEwNCAwIDAtMTIuOCAyMC45OTItNDYuMzM2IDMwLjQ2NCA3LjY4IDkuNzI4IDE2Ljg5NiAyMC43MzYgMTYuODk2IDIwLjczNiA1Ni41NzYtMS43OTIgNzguMzM2LTM4LjkxMiA3OC4zMzYtMzguOTEyeiJdLAogICAgICAiZGlzY291cnNlIjogWzQ0OCwgNTEyLCBbXSwgImYzOTMiLCAiTTIyNS45IDMyQzEwMy4zIDMyIDAgMTMwLjUgMCAyNTIuMSAwIDI1NiAuMSA0ODAgLjEgNDgwbDIyNS44LS4yYzEyMi43IDAgMjIyLjEtMTAyLjMgMjIyLjEtMjIzLjlDNDQ4IDEzNC4zIDM0OC42IDMyIDIyNS45IDMyek0yMjQgMzg0Yy0xOS40IDAtMzcuOS00LjMtNTQuNC0xMi4xTDg4LjUgMzkybDIyLjktNzVjLTkuOC0xOC4xLTE1LjQtMzguOS0xNS40LTYxIDAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4czEyOCA1Ny4zIDEyOCAxMjgtNTcuMyAxMjgtMTI4IDEyOHoiXSwKICAgICAgImRvY2h1YiI6IFs0MTYsIDUxMiwgW10sICJmMzk0IiwgIk0zOTcuOSAxNjBIMjU2VjE5LjZMMzk3LjkgMTYwek0zMDQgMTkydjEzMGMwIDY2LjgtMzYuNSAxMDAuMS0xMTMuMyAxMDAuMUg5NlY4NC44aDk0LjdjMTIgMCAyMy4xLjggMzMuMSAyLjV2LTg0QzIxMi45IDEuMSAyMDEuNCAwIDE4OS4yIDBIMHY1MTJoMTg5LjJDMzI5LjcgNTEyIDQwMCA0NDcuNCA0MDAgMzE4LjFWMTkyaC05NnoiXSwKICAgICAgImRvY2tlciI6IFs2NDAsIDUxMiwgW10sICJmMzk1IiwgIk0zNDkuOSAyMzYuM2gtNjYuMXYtNTkuNGg2Ni4xdjU5LjR6bTAtMjA0LjNoLTY2LjF2NjAuN2g2Ni4xVjMyem03OC4yIDE0NC44SDM2MnY1OS40aDY2LjF2LTU5LjR6bS0xNTYuMy03Mi4xaC02Ni4xdjYwLjFoNjYuMXYtNjAuMXptNzguMSAwaC02Ni4xdjYwLjFoNjYuMXYtNjAuMXptMjc2LjggMTAwYy0xNC40LTkuNy00Ny42LTEzLjItNzMuMS04LjQtMy4zLTI0LTE2LjctNDQuOS00MS4xLTYzLjdsLTE0LTkuMy05LjMgMTRjLTE4LjQgMjcuOC0yMy40IDczLjYtMy43IDEwMy44LTguNyA0LjctMjUuOCAxMS4xLTQ4LjQgMTAuN0gyLjRjLTguNyA1MC44IDUuOCAxMTYuOCA0NCAxNjIuMSAzNy4xIDQzLjkgOTIuNyA2Ni4yIDE2NS40IDY2LjIgMTU3LjQgMCAyNzMuOS03Mi41IDMyOC40LTIwNC4yIDIxLjQuNCA2Ny42LjEgOTEuMy00NS4yIDEuNS0yLjUgNi42LTEzLjIgOC41LTE3LjFsLTEzLjMtOC45em0tNTExLjEtMjcuOWgtNjZ2NTkuNGg2Ni4xdi01OS40em03OC4xIDBoLTY2LjF2NTkuNGg2Ni4xdi01OS40em03OC4xIDBoLTY2LjF2NTkuNGg2Ni4xdi01OS40em0tNzguMS03Mi4xaC02Ni4xdjYwLjFoNjYuMXYtNjAuMXoiXSwKICAgICAgImRyYWZ0MmRpZ2l0YWwiOiBbNDgwLCA1MTIsIFtdLCAiZjM5NiIsICJNMzY5LjkgNDI1LjRWMzcxbDQ3LjEgMjcuMi00Ny4xIDI3LjJ6TTgyLjQgMzgwLjZjMjUuNS0yNy4zIDk3LjctMTA0LjcgMTUwLjktMTcwIDM1LjEtNDMuMSA0MC4zLTgyLjQgMjguNC0xMTIuNy03LjQtMTguOC0xNy41LTMwLjItMjQuMy0zNS43IDQ1LjMgMi4xIDY4IDIzLjQgODIuMiAzOC4zIDAgMCA0Mi40IDQ4LjIgNS44IDExMy4zLTM3IDY1LjktMTEwLjkgMTQ3LjUtMTI4LjUgMTY2LjdIODIuNHptNTEuOC0yMTkuMmMwIDEyLjQtMTAgMjIuNC0yMi40IDIyLjQtMTIuNCAwLTIyLjQtMTAtMjIuNC0yMi40IDAtMTIuNCAxMC0yMi40IDIyLjQtMjIuNCAxMi40IDAgMjIuNCAxMC4xIDIyLjQgMjIuNE0zMzYgMzE1Ljl2NjQuN2gtOTEuM2MzMC44LTM1IDgxLjgtOTUuOSAxMTEuOC0xNDkuMyAzNS4yLTYyLjYgMTYuMS0xMjMuNC0xMi44LTE1My4zLTQuNC00LjYtNjIuMi02Mi45LTE2Ni00MS4yLTU5LjEgMTIuNC04OS40IDQzLjQtMTA0LjMgNjcuMy0xMy4xIDIwLjktMTcgMzkuOC0xOC4yIDQ3LjctNS41IDMzIDE5LjQgNjcuMSA1Ni43IDY3LjEgMzEuNyAwIDU3LjMtMjUuNyA1Ny4zLTU3LjQgMC0yNy4xLTE5LjctNTIuMS00OC01Ni44IDEuOC03LjMgMTcuNy0yMS4xIDI2LjMtMjQuNyA0MS4xLTE3LjMgNzggNS4yIDgzLjMgMzMuNSA4LjMgNDQuMy0zNy4xIDkwLjQtNjkuNyAxMjcuNkM4NC41IDMyOC4xIDE4LjMgMzk2LjggMCA0MTUuOWwzMzYtLjFWNDgwbDE0NC04MS45LTE0NC04Mi4yeiJdLAogICAgICAiZHJpYmJibGUiOiBbNTEyLCA1MTIsIFtdLCAiZjE3ZCIsICJNMjU2IDhDMTE5LjI1MiA4IDggMTE5LjI1MiA4IDI1NnMxMTEuMjUyIDI0OCAyNDggMjQ4IDI0OC0xMTEuMjUyIDI0OC0yNDhTMzkyLjc0OCA4IDI1NiA4em0xNjMuOTcgMTE0LjM2NmMyOS41MDMgMzYuMDQ2IDQ3LjM2OSA4MS45NTcgNDcuODM1IDEzMS45NTUtNi45ODQtMS40NzctNzcuMDE4LTE1LjY4Mi0xNDcuNTAyLTYuODE4LTUuNzUyLTE0LjA0MS0xMS4xODEtMjYuMzkzLTE4LjYxNy00MS42MTQgNzguMzIxLTMxLjk3NyAxMTMuODE4LTc3LjQ4MiAxMTguMjg0LTgzLjUyM3pNMzk2LjQyMSA5Ny44N2MtMy44MSA1LjQyNy0zNS42OTcgNDguMjg2LTExMS4wMjEgNzYuNTE5LTM0LjcxMi02My43NzYtNzMuMTg1LTExNi4xNjgtNzkuMDQtMTI0LjAwOCA2Ny4xNzYtMTYuMTkzIDEzNy45NjYgMS4yNyAxOTAuMDYxIDQ3LjQ4OXptLTIzMC40OC0zMy4yNWM1LjU4NSA3LjY1OSA0My40MzggNjAuMTE2IDc4LjUzNyAxMjIuNTA5LTk5LjA4NyAyNi4zMTMtMTg2LjM2IDI1LjkzNC0xOTUuODM0IDI1LjgwOUM2Mi4zOCAxNDcuMjA1IDEwNi42NzggOTIuNTczIDE2NS45NDEgNjQuNjJ6TTQ0LjE3IDI1Ni4zMjNjMC0yLjE2Ni4wNDMtNC4zMjIuMTA4LTYuNDczIDkuMjY4LjE5IDExMS45MiAxLjUxMyAyMTcuNzA2LTMwLjE0NiA2LjA2NCAxMS44NjggMTEuODU3IDIzLjkxNSAxNy4xNzQgMzUuOTQ5LTc2LjU5OSAyMS41NzUtMTQ2LjE5NCA4My41MjctMTgwLjUzMSAxNDIuMzA2QzY0Ljc5NCAzNjAuNDA1IDQ0LjE3IDMxMC43MyA0NC4xNyAyNTYuMzIzem04MS44MDcgMTY3LjExM2MyMi4xMjctNDUuMjMzIDgyLjE3OC0xMDMuNjIyIDE2Ny41NzktMTMyLjc1NiAyOS43NCA3Ny4yODMgNDIuMDM5IDE0Mi4wNTMgNDUuMTg5IDE2MC42MzgtNjguMTEyIDI5LjAxMy0xNTAuMDE1IDIxLjA1My0yMTIuNzY4LTI3Ljg4MnptMjQ4LjM4IDguNDg5Yy0yLjE3MS0xMi44ODYtMTMuNDQ2LTc0Ljg5Ny00MS4xNTItMTUxLjAzMyA2Ni4zOC0xMC42MjYgMTI0LjcgNi43NjggMTMxLjk0NyA5LjA1NS05LjQ0MiA1OC45NDEtNDMuMjczIDEwOS44NDQtOTAuNzk1IDE0MS45Nzh6Il0sCiAgICAgICJkcmliYmJsZS1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjM5NyIsICJNOTAuMiAyMjguMmM4LjktNDIuNCAzNy40LTc3LjcgNzUuNy05NS43IDMuNiA0LjkgMjggMzguOCA1MC43IDc5LTY0IDE3LTEyMC4zIDE2LjgtMTI2LjQgMTYuN3pNMzE0LjYgMTU0Yy0zMy42LTI5LjgtNzkuMy00MS4xLTEyMi42LTMwLjYgMy44IDUuMSAyOC42IDM4LjkgNTEgODAgNDguNi0xOC4zIDY5LjEtNDUuOSA3MS42LTQ5LjR6TTE0MC4xIDM2NGM0MC41IDMxLjYgOTMuMyAzNi43IDEzNy4zIDE4LTItMTItMTAtNTMuOC0yOS4yLTEwMy42LTU1LjEgMTguOC05My44IDU2LjQtMTA4LjEgODUuNnptOTguOC0xMDguMmMtMy40LTcuOC03LjItMTUuNS0xMS4xLTIzLjJDMTU5LjYgMjUzIDkzLjQgMjUyLjIgODcuNCAyNTJjMCAxLjQtLjEgMi44LS4xIDQuMiAwIDM1LjEgMTMuMyA2Ny4xIDM1LjEgOTEuNCAyMi4yLTM3LjkgNjcuMS03Ny45IDExNi41LTkxLjh6bTM0LjkgMTYuM2MxNy45IDQ5LjEgMjUuMSA4OS4xIDI2LjUgOTcuNCAzMC43LTIwLjcgNTIuNS01My42IDU4LjYtOTEuNi00LjYtMS41LTQyLjMtMTIuNy04NS4xLTUuOHptLTIwLjMtNDguNGM0LjggOS44IDguMyAxNy44IDEyIDI2LjggNDUuNS01LjcgOTAuNyAzLjQgOTUuMiA0LjQtLjMtMzIuMy0xMS44LTYxLjktMzAuOS04NS4xLTIuOSAzLjktMjUuOCAzMy4yLTc2LjMgNTMuOXpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNjQgMTc2YzAtODguMi03MS44LTE2MC0xNjAtMTYwUzY0IDE2Ny44IDY0IDI1NnM3MS44IDE2MCAxNjAgMTYwIDE2MC03MS44IDE2MC0xNjB6Il0sCiAgICAgICJkcm9wYm94IjogWzUyOCwgNTEyLCBbXSwgImYxNmIiLCAiTTI2NC40IDExNi4zbC0xMzIgODQuMyAxMzIgODQuMy0xMzIgODQuM0wwIDI4NC4xbDEzMi4zLTg0LjNMMCAxMTYuMyAxMzIuMyAzMmwxMzIuMSA4NC4zek0xMzEuNiAzOTUuN2wxMzItODQuMyAxMzIgODQuMy0xMzIgODQuMy0xMzItODQuM3ptMTMyLjgtMTExLjZsMTMyLTg0LjMtMTMyLTgzLjZMMzk1LjcgMzIgNTI4IDExNi4zbC0xMzIuMyA4NC4zTDUyOCAyODQuOGwtMTMyLjMgODQuMy0xMzEuMy04NXoiXSwKICAgICAgImRydXBhbCI6IFs0NDgsIDUxMiwgW10sICJmMWE5IiwgIk0zMTkuNSAxMTQuN2MtMjIuMi0xNC00My41LTE5LjUtNjQuNy0zMy41LTEzLTguOC0zMS4zLTMwLTQ2LjUtNDguMy0yLjcgMjkuMy0xMS41IDQxLjItMjIgNDkuNS0yMS4zIDE3LTM0LjggMjIuMi01My41IDMyLjNDMTE3IDEyMyAzMiAxODEuNSAzMiAyOTAuNSAzMiAzOTkuNyAxMjMuOCA0ODAgMjI1LjggNDgwIDMyNy41IDQ4MCA0MTYgNDA2IDQxNiAyOTRjMC0xMTIuMy04My0xNzEtOTYuNS0xNzkuM3ptMi41IDMyNS42Yy0yMC4xIDIwLjEtOTAuMSAyOC43LTExNi43IDQuMi00LjgtNC44LjMtMTIgNi41LTEyIDAgMCAxNyAxMy4zIDUxLjUgMTMuMyAyNyAwIDQ2LTcuNyA1NC41LTE0IDYuMS00LjYgOC40IDQuMyA0LjIgOC41em0tNTQuNS01Mi42YzguNy0zLjYgMjktMy44IDM2LjggMS4zIDQuMSAyLjggMTYuMSAxOC44IDYuMiAyMy43LTguNCA0LjItMS4yLTE1LjctMjYuNS0xNS43LTE0LjcgMC0xOS41IDUuMi0yNi43IDExLTcgNi05LjggOC0xMi4yIDQuNy02LTguMiAxNS45LTIyLjMgMjIuNC0yNXpNMzYwIDQwNWMtMTUuMi0xLTQ1LjUtNDguOC02NS00OS41LTMwLjktLjktMTA0LjEgODAuNy0xNjEuMyA0Mi0zOC44LTI2LjYtMTQuNi0xMDQuOCA1MS44LTEwNS4yIDQ5LjUtLjUgODMuOCA0OSAxMDguNSA0OC41IDIxLjMtLjMgNjEuOC00MS44IDgxLjgtNDEuOCA0OC43IDAgMjMuMyAxMDkuMy0xNS44IDEwNnoiXSwKICAgICAgImR5YWxvZyI6IFs0MTYsIDUxMiwgW10sICJmMzk5IiwgIk0wIDMydjExOS4yaDY0Vjk2aDEwNy4yQzI4NC42IDk2IDM1MiAxNzYuMiAzNTIgMjU1LjkgMzUyIDMzMiAyOTMuNCA0MTYgMTcxLjIgNDE2SDB2NjRoMTcxLjJDMzMxLjkgNDgwIDQxNiAzNjcuMyA0MTYgMjU1LjljMC01OC43LTIyLjEtMTEzLjQtNjIuMy0xNTQuM0MzMDguOSA1NiAyNDUuNyAzMiAxNzEuMiAzMkgweiJdLAogICAgICAiZWFybHliaXJkcyI6IFs0ODAsIDUxMiwgW10sICJmMzlhIiwgIk0zMTMuMiA0Ny41YzEuMi0xMyAyMS4zLTE0IDM2LjYtOC43LjkuMyAyNi4yIDkuNyAxOSAxNS4yLTI3LjktNy40LTU2LjQgMTguMi01NS42LTYuNXptLTIwMSA2LjljMzAuNy04LjEgNjIgMjAgNjEuMS03LjEtMS4zLTE0LjItMjMuNC0xNS4zLTQwLjItOS42LTEgLjMtMjguNyAxMC41LTIwLjkgMTYuN3pNMzE5LjQgMTYwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2IDE2LTcuMiAxNi0xNi03LjItMTYtMTYtMTZ6bS0xNTkuNyAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2IDE2LTcuMiAxNi0xNi03LjItMTYtMTYtMTZ6bTMxOC41IDE2My4yYy05LjkgMjQtNDAuNyAxMS02My45LTEuMi0xMy41IDY5LjEtNTguMSAxMTEuNC0xMjYuMyAxMjQuMi4zLjktMi0uMSAyNCAxIDMzLjYgMS40IDYzLjgtMy4xIDk3LjQtOC0xOS44LTEzLjgtMTEuNC0zNy4xLTkuOC0zOC4xIDEuNC0uOSAxNC43IDEuNyAyMS42IDExLjUgOC42LTEyLjUgMjguNC0xNC44IDMwLjItMTMuNiAxLjYgMS4xIDYuNiAyMC45LTYuOSAzNC42IDQuNy0uOSA4LjItMS42IDkuOC0yLjEgMi42LS44IDE3LjcgMTEuMyAzLjEgMTMuMy0xNC4zIDIuMy0yMi42IDUuMS00Ny4xIDEwLjgtNDUuOSAxMC43LTg1LjkgMTEuOC0xMTcuNyAxMi44bDEgMTEuNmMzLjggMTguMS0yMy40IDI0LjMtMjcuNiA2LjIuOCAxNy45LTI3LjEgMjEuOC0yOC40LTFsLS41IDUuM2MtLjcgMTguNC0yOC40IDE3LjktMjguMy0uNi03LjUgMTMuNS0yOC4xIDYuOC0yNi40LTguNWwxLjItMTIuNGMtMzYuNy45LTU5LjcgMy4xLTYxLjggMy4xLTIwLjkgMC0yMC45LTMxLjYgMC0zMS42IDIuNCAwIDI3LjcgMS4zIDYzLjIgMi44LTYxLjEtMTUuNS0xMDMuNy01NS0xMTQuOS0xMTguMi0yNSAxMi44LTU3LjUgMjYuOC02OC4yLjgtMTAuNS0yNS40IDIxLjUtNDIuNiA2Ni44LTczLjQuNy02LjYgMS42LTEzLjMgMi43LTE5LjgtMTQuNC0xOS42LTExLjYtMzYuMy0xNi4xLTYwLjQtMTYuOCAyLjQtMjMuMi05LjEtMjMuNi0yMy4xLjMtNy4zIDIuMS0xNC45IDIuNC0xNS40IDEuMS0xLjggMTAuMS0yIDEyLjctMi42IDYtMzEuNyA1MC42LTMzLjIgOTAuOS0zNC41IDE5LjctMjEuOCA0NS4yLTQxLjUgODAuOS00OC4zQzIwMy4zIDI5IDIxNS4yIDguNSAyMTYuMiA4YzEuNy0uOCAyMS4yIDQuMyAyNi4zIDIzLjIgNS4yLTguOCAxOC4zLTExLjQgMTkuNi0xMC43IDEuMS42IDYuNCAxNS00LjkgMjUuOSA0MC4zIDMuNSA3Mi4yIDI0LjcgOTYgNTAuNyAzNi4xIDEuNSA3MS44IDUuOSA3Ny4xIDM0IDIuNy42IDExLjYuOCAxMi43IDIuNi4zLjUgMi4xIDguMSAyLjQgMTUuNC0uNSAxMy45LTYuOCAyNS40LTIzLjYgMjMuMS0zLjIgMTcuMy0yLjcgMzIuOS04LjcgNDcuNyAyLjQgMTEuNyA0IDIzLjggNC44IDM2LjQgMzcgMjUuNCA3MC4zIDQyLjUgNjAuMyA2Ni45ek0yMDcuNCAxNTkuOWMuOS00NC0zNy45LTQyLjItNzguNi00MC4zLTIxLjcgMS0zOC45IDEuOS00NS41IDEzLjktMTEuNCAyMC45IDUuOSA5Mi45IDIzLjIgMTAxLjIgOS44IDQuNyA3My40IDcuOSA4Ni4zLTcuMSA4LjItOS40IDE1LTQ5LjQgMTQuNi02Ny43em01MiA1OC4zYy00LjMtMTIuNC02LTMwLjEtMTUuMy0zMi43LTItLjUtOS0uNS0xMSAwLTEwIDIuOC0xMC44IDIyLjEtMTcgMzcuMiAxNS40IDAgMTkuMyA5LjcgMjMuNyA5LjcgNC4zIDAgNi4zLTExLjMgMTkuNi0xNC4yem0xMzUuNy04NC43Yy02LjYtMTIuMS0yNC44LTEyLjktNDYuNS0xMy45LTQwLjItMS45LTc4LjItMy44LTc3LjMgNDAuMy0uNSAxOC4zIDUgNTguMyAxMy4yIDY3LjggMTMgMTQuOSA3Ni42IDExLjggODYuMyA3LjEgMTUuOC03LjYgMzYuNS03OC45IDI0LjMtMTAxLjN6Il0sCiAgICAgICJlZGdlIjogWzUxMiwgNTEyLCBbXSwgImYyODIiLCAiTTI1LjcxNCAyMjguMTYzYy4xMTEtLjE2Mi4yMy0uMzIzLjM0Mi0uNDg1LS4wMjEuMTYyLS4wNDUuMzIzLS4wNjUuNDg1aC0uMjc3em00NjAuNTcyIDE1LjUwOGMwLTQ0LjAzMi03Ljc1NC04NC40NjUtMjguODAxLTEyMi40MDVDNDE2LjQ5OCA0Ny44NzkgMzQzLjkxMiA4LjAwMSAyNTguODkzIDguMDAxIDExOC45NjIgNy43MjQgNDAuNjE3IDExMy4yMTQgMjYuMDU2IDIyNy42NzljNDIuNDI5LTYxLjMxMiAxMTcuMDczLTEyMS4zNzYgMjIwLjM3NS0xMjQuOTY2IDAgMCAxMDkuNjY2IDAgOTkuNDE5IDEwNC45NTdIMTY5Ljk5N2M2LjM2OS0zNy4zODYgMTguNTU0LTU4Ljk4NiAzNC4zMzktNzguOTI2LTc1LjA0OCAzNC44OTMtMTIxLjg1IDk2LjA5Ni0xMjAuNzQyIDE4OC4zMTUuODMgNzEuNDQ4IDUwLjEyNCAxNDQuODM2IDEyMC43NDMgMTcxLjk3NiA4My4zNTcgMzEuODQ3IDE5Mi43NzYgNy4yIDI0MC4xMzItMjEuMzI0VjM2My4zMDdjLTgwLjg2NCA1Ni40OTQtMjcwLjg3MSA2MC45MjUtMjcyLjI1NS02Ny41NzJoMzE0LjA3M3YtNTIuMDY0eiJdLAogICAgICAiZWxlbWVudG9yIjogWzQ0OCwgNTEyLCBbXSwgImY0MzAiLCAiTTQyNS42IDMySDIyLjRDMTAgMzIgMCA0MiAwIDU0LjR2NDAzLjJDMCA0NzAgMTAgNDgwIDIyLjQgNDgwaDQwMy4yYzEyLjQgMCAyMi40LTEwIDIyLjQtMjIuNFY1NC40QzQ0OCA0MiA0MzggMzIgNDI1LjYgMzJNMTY0LjMgMzU1LjVoLTM5Ljh2LTE5OWgzOS44djE5OXptMTU5LjMgMEgyMDQuMXYtMzkuOGgxMTkuNXYzOS44em0wLTc5LjZIMjA0LjF2LTM5LjhoMTE5LjV2MzkuOHptMC03OS43SDIwNC4xdi0zOS44aDExOS41djM5Ljh6Il0sCiAgICAgICJlbWJlciI6IFs2NDAsIDUxMiwgW10sICJmNDIzIiwgIk02MzkuOSAyNTQuNmMtMS4xLTEwLjctMTAuNy02LjgtMTAuNy02LjhzLTE1LjYgMTIuMS0yOS4zIDEwLjdjLTEzLjctMS4zLTkuNC0zMi05LjQtMzJzMy0yOC4xLTUuMS0zMC40Yy04LjEtMi40LTE4IDcuMy0xOCA3LjNzLTEyLjQgMTMuNy0xOC4zIDMxLjJsLTEuNi41czEuOS0zMC42LS4zLTM3LjZjLTEuNi0zLjUtMTYuNC0zLjItMTguOCAzcy0xNC4yIDQ5LjItMTUgNjcuMmMwIDAtMjMuMSAxOS42LTQzLjMgMjIuOHMtMjUtOS40LTI1LTkuNCA1NC44LTE1LjMgNTIuOS01OS4xYy0xLjktNDMuOC00NC4yLTI3LjYtNDktMjQtNC42IDMuNS0yOS40IDE4LjQtMzYuNiA1OS43LS4yIDEuNC0uNyA3LjUtLjcgNy41cy0yMS4yIDE0LjItMzMgMThjMCAwIDMzLTU1LjYtNy4zLTgwLjktMTguMy0xMS0zMi44IDEyLjEtMzIuOCAxMi4xczU0LjUtNjAuNyA0Mi41LTExMmMtNS44LTI0LjQtMTgtMjcuMS0yOS4yLTIzLjEtMTcgNi43LTIzLjUgMTYuNy0yMy41IDE2LjdzLTIyIDMyLTI3LjEgNzkuNS0xMi42IDEwNS4xLTEyLjYgMTA1LjEtMTAuNSAxMC4yLTIwLjIgMTAuNy01LjQtMjguNy01LjQtMjguNyA3LjUtNDQuNiA3LTUyLjEtMS4xLTExLjYtOS45LTE0LjJjLTguOS0yLjctMTguNSA4LjYtMTguNSA4LjZzLTI1LjUgMzguNy0yNy43IDQ0LjZsLTEuMyAyLjQtMS4zLTEuNnMxOC01Mi43LjgtNTMuNWMtMTcuMi0uOC0yOC41IDE4LjgtMjguNSAxOC44cy0xOS42IDMyLjgtMjAuNCAzNi41bC0xLjMtMS42czguMS0zOC4yIDYuNC00Ny42Yy0xLjYtOS40LTEwLjUtNy41LTEwLjUtNy41cy0xMS4zLTEuMy0xNC4yIDUuOS0xMy43IDU1LjMtMTUgNzAuN2MwIDAtMjguMiAyMC4yLTQ2LjggMjAuNC0xOC41LjMtMTYuNy0xMS44LTE2LjctMTEuOHM2OC0yMy4zIDQ5LjQtNjkuMmMtOC4zLTExLjgtMTgtMTUuNS0zMS43LTE1LjMtMTMuNy4zLTMwLjMgOC42LTQxLjMgMzMuMy01LjMgMTEuOC02LjggMjMtNy44IDMxLjUgMCAwLTEyLjMgMi40LTE4LjgtMi45cy0xMCAwLTEwIDAtMTEuMiAxNC0uMSAxOC4zIDI4LjEgNi4xIDI4LjEgNi4xYzEuNiA3LjUgNi4yIDE5LjUgMTkuNiAyOS43IDIwLjIgMTUuMyA1OC44LTEuMyA1OC44LTEuM2wxNS45LTguOHMuNSAxNC42IDEyLjEgMTYuN2MxMS42IDIuMSAxNi40IDEgMzYuNS00Ny45IDExLjgtMjUgMTIuNi0yMy42IDEyLjYtMjMuNmwxLjMtLjNzLTkuMSA0Ni44LTUuNiA1OS43QzE4Ny43IDMxOS40IDIwMyAzMTggMjAzIDMxOHM4LjMgMi40IDE1LTIxLjJjNi43LTIzLjYgMTkuNi00OS45IDE5LjYtNDkuOWgxLjZzLTUuNiA0OC4xIDMgNjMuN2M4LjYgMTUuNiAzMC45IDUuMyAzMC45IDUuM3MxNS42LTcuOCAxOC0xMC4yYzAgMCAxOC41IDE1LjggNDQuNiAxMi45IDU4LjMtMTEuNSA3OS4xLTI1LjkgNzkuMS0yNS45czEwIDI0LjQgNDEuMSAyNi43YzM1LjUgMi43IDU0LjgtMTguNiA1NC44LTE4LjZzLS4zIDEzLjUgMTIuMSAxOC42YzEyLjQgNS4xIDIwLjctMjIuOCAyMC43LTIyLjhsMjAuNy01Ny4yaDEuOXMxLjEgMzcuMyAyMS41IDQzLjIgNDctMTMuNyA0Ny0xMy43IDYuNC0zLjUgNS4zLTE0LjN6bS01NzggNS4zYy44LTMyIDIxLjgtNDUuOSAyOS0zOSA3LjMgNyA0LjYgMjItOS4xIDMxLjQtMTMuNyA5LjUtMTkuOSA3LjYtMTkuOSA3LjZ6bTI3Mi44LTEyMy44czE5LjEtNDkuNyAyMy42LTI1LjUtNDAgOTYuMi00MCA5Ni4yYy41LTE2LjIgMTYuNC03MC43IDE2LjQtNzAuN3ptMjIuOCAxMzguNGMtMTIuNiAzMy00My4zIDE5LjYtNDMuMyAxOS42cy0zLjUtMTEuOCA2LjQtNDQuOSAzMy4zLTIwLjIgMzMuMy0yMC4yIDE2LjIgMTIuNCAzLjYgNDUuNXptODQuNi0xNC42cy0zLTEwLjUgOC4xLTMwLjZjMTEtMjAuMiAxOS42LTkuMSAxOS42LTkuMXM5LjQgMTAuMi0xLjMgMjUuNS0yNi40IDE0LjItMjYuNCAxNC4yeiJdLAogICAgICAiZW1waXJlIjogWzQ5NiwgNTEyLCBbXSwgImYxZDEiLCAiTTI4Ny42IDU0LjJjLTEwLjgtMi4yLTIyLjEtMy4zLTMzLjUtMy42VjMyLjRjNzguMSAyLjIgMTQ2LjEgNDQgMTg0LjYgMTA2LjZsLTE1LjggOS4xYy02LjEtOS43LTEyLjctMTguOC0yMC4yLTI3LjFsLTE4IDE1LjVjLTI2LTI5LjYtNjEuNC01MC43LTEwMS45LTU4LjRsNC44LTIzLjl6TTUzLjQgMzIyLjRsMjMtNy43Yy02LjQtMTguMy0xMC0zOC4yLTEwLTU4LjdzMy4zLTQwLjQgOS43LTU4LjdsLTIyLjctNy43YzMuNi0xMC44IDguMy0yMS4zIDEzLjYtMzFsLTE1LjgtOS4xQzM0IDE4MSAyNC4xIDIxNy41IDI0LjEgMjU2czEwIDc1IDI3LjEgMTA2LjZsMTUuOC05LjFjLTUuMy0xMC05LjctMjAuMy0xMy42LTMxLjF6TTIxMy4xIDQzNGMtNDAuNC04LTc1LjgtMjkuMS0xMDEuOS01OC43bC0xOCAxNS44Yy03LjUtOC42LTE0LjQtMTcuNy0yMC4yLTI3LjRsLTE2IDkuNGMzOC41IDYyLjMgMTA2LjggMTA0LjMgMTg0LjkgMTA2LjZ2LTE4LjNjLTExLjMtLjMtMjIuNy0xLjctMzMuNS0zLjZsNC43LTIzLjh6TTkzLjMgMTIwLjlsMTggMTUuNWMyNi0yOS42IDYxLjQtNTAuNyAxMDEuOS01OC40bC00LjctMjMuOGMxMC44LTIuMiAyMi4xLTMuMyAzMy41LTMuNlYzMi40QzE2My45IDM0LjYgOTUuOSA3Ni40IDU3LjQgMTM5bDE1LjggOS4xYzYtOS43IDEyLjYtMTguOSAyMC4xLTI3LjJ6bTMwOS40IDI3MC4ybC0xOC0xNS44Yy0yNiAyOS42LTYxLjQgNTAuNy0xMDEuOSA1OC43bDQuNyAyMy44Yy0xMC44IDEuOS0yMi4xIDMuMy0zMy41IDMuNnYxOC4zYzc4LjEtMi4yIDE0Ni40LTQ0LjMgMTg0LjktMTA2LjZsLTE2LjEtOS40Yy01LjcgOS43LTEyLjYgMTguOC0yMC4xIDI3LjR6TTQ5NiAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4UzAgMzkzIDAgMjU2IDExMSA4IDI0OCA4czI0OCAxMTEgMjQ4IDI0OHptLTEyLjIgMGMwLTEzMC4xLTEwNS43LTIzNS44LTIzNS44LTIzNS44UzEyLjIgMTI1LjkgMTIuMiAyNTYgMTE3LjkgNDkxLjggMjQ4IDQ5MS44IDQ4My44IDM4Ni4xIDQ4My44IDI1NnptLTM5LTEwNi42bC0xNS44IDkuMWM1LjMgOS43IDEwIDIwLjIgMTMuNiAzMWwtMjIuNyA3LjdjNi40IDE4LjMgOS43IDM4LjIgOS43IDU4LjdzLTMuNiA0MC40LTEwIDU4LjdsMjMgNy43Yy0zLjkgMTAuOC04LjMgMjEtMTMuNiAzMWwxNS44IDkuMUM0NjIgMzMxIDQ3MS45IDI5NC41IDQ3MS45IDI1NnMtOS45LTc1LTI3LjEtMTA2LjZ6bS0xODMgMTc3LjdjMTYuMy0zLjMgMzAuNC0xMS42IDQwLjctMjMuNWw1MS4yIDQ0LjhjMTEuOS0xMy42IDIxLjMtMjkuMyAyNy4xLTQ2LjhsLTY0LjItMjIuMWMyLjUtNy41IDMuOS0xNS4yIDMuOS0yMy41cy0xLjQtMTYuMS0zLjktMjMuNWw2NC41LTIyLjFjLTYuMS0xNy40LTE1LjUtMzMuMi0yNy40LTQ2LjhsLTUxLjIgNDQuOGMtMTAuMi0xMS45LTI0LjQtMjAuNS00MC43LTIzLjhsMTMuMy02Ni40Yy04LjYtMS45LTE3LjctMi44LTI3LjEtMi44LTkuNCAwLTE4LjUuOC0yNy4xIDIuOGwxMy4zIDY2LjRjLTE2LjMgMy4zLTMwLjQgMTEuOS00MC43IDIzLjhsLTUxLjItNDQuOGMtMTEuOSAxMy42LTIxLjMgMjkuMy0yNy40IDQ2LjhsNjQuNSAyMi4xYy0yLjUgNy41LTMuOSAxNS4yLTMuOSAyMy41czEuNCAxNi4xIDMuOSAyMy41bC02NC4yIDIyLjFjNS44IDE3LjQgMTUuMiAzMy4yIDI3LjEgNDYuOGw1MS4yLTQ0LjhjMTAuMiAxMS45IDI0LjQgMjAuMiA0MC43IDIzLjVsLTEzLjMgNjYuN2M4LjYgMS43IDE3LjcgMi44IDI3LjEgMi44IDkuNCAwIDE4LjUtMS4xIDI3LjEtMi44bC0xMy4zLTY2Ljd6Il0sCiAgICAgICJlbnZpcmEiOiBbNDQ4LCA1MTIsIFtdLCAiZjI5OSIsICJNMCAzMmM0NzcuNiAwIDM2Ni42IDMxNy4zIDM2Ny4xIDM2Ni4zTDQ0OCA0ODBoLTI2bC03MC40LTcxLjJjLTM5IDQuMi0xMjQuNCAzNC41LTIxNC40LTM3QzQ3IDMwMC4zIDUyIDIxNC43IDAgMzJ6bTc5LjcgNDZjLTQ5LjctMjMuNS01LjIgOS4yLTUuMiA5LjIgNDUuMiAzMS4yIDY2IDczLjcgOTAuMiAxMTkuOSAzMS41IDYwLjIgNzkgMTM5LjcgMTQ0LjIgMTY3LjcgNjUgMjggMzQuMiAxMi41IDYtOC41LTI4LjItMjEuMi02OC4yLTg3LTkxLTEzMC4yLTMxLjctNjAtNjEtMTE4LjYtMTQ0LjItMTU4LjF6Il0sCiAgICAgICJlcmxhbmciOiBbNjQwLCA1MTIsIFtdLCAiZjM5ZCIsICJNMjEuNyAyNDYuNGMtLjEgODYuOCAyOSAxNTkuNSA3OC43IDIxMi4xSDB2LTQwNWg4Ny4yYy00MS41IDUwLjItNjUuNiAxMTYuMi02NS41IDE5Mi45ek02NDAgNTMuNmgtODMuNmMzMS40IDQyLjcgNDguNyA5Ny41IDQ2LjIgMTYyLjcuNSA2IC41IDExLjcgMCAyNC4xSDIzMC4yYy0uMiAxMDkuNyAzOC45IDE5NC45IDEzOC42IDE5NS4zIDY4LjUtLjMgMTE4LTUxIDE1MS45LTEwNi4xbDk2LjQgNDguMmMtMTcuNCAzMC45LTM2LjUgNTcuOC01Ny45IDgwLjhINjQwdi00MDV6bS04MC44IDQwNXMwLS4xIDAgMGgtLjIuMnptLTMuMS00MDVoLjNsLS4xLS4xLS4yLjF6bS0yMzAuNyA5LjZjLTQ1LjkuMS04NS4xIDMzLjUtODkuMiA4My4yaDE2OS45Yy0xLjEtNDkuNy0zNC41LTgzLjEtODAuNy04My4yeiJdLAogICAgICAiZXRoZXJldW0iOiBbMzIwLCA1MTIsIFtdLCAiZjQyZSIsICJNMzExLjkgMjYwLjhMMTYwIDM1My42IDggMjYwLjggMTYwIDBsMTUxLjkgMjYwLjh6TTE2MCAzODMuNEw4IDI5MC42IDE2MCA1MTJsMTUyLTIyMS40LTE1MiA5Mi44eiJdLAogICAgICAiZXRzeSI6IFszODQsIDUxMiwgW10sICJmMmQ3IiwgIk0zODQgMzQ4Yy0xLjc1IDEwLjc1LTEzLjc1IDExMC0xNS41IDEzMi0xMTcuODc5LTQuMjk5LTIxOS44OTUtNC43NDMtMzY4LjUgMHYtMjUuNWM0NS40NTctOC45NDggNjAuNjI3LTguMDE5IDYxLTM1LjI1IDEuNzkzLTcyLjMyMiAzLjUyNC0yNDQuMTQzIDAtMzIyLTEuMDI5LTI4LjQ2LTEyLjEzLTI2Ljc2NS02MS0zNnYtMjUuNWM3My44ODYgMi4zNTggMjU1LjkzMyA4LjU1MSAzNjIuOTk5LTMuNzUtMy41IDM4LjI1LTcuNzUgMTI2LjUtNy43NSAxMjYuNUgzMzJDMzIwLjk0NyAxMTUuNjY1IDMxMy4yNDEgNjggMjc3LjI1IDY4aC0xMzdjLTEwLjI1IDAtMTAuNzUgMy41LTEwLjc1IDkuNzVWMjQxLjVjNTggLjUgODguNS0yLjUgODguNS0yLjUgMjkuNzctLjk1MSAyNy41Ni04LjUwMiA0MC43NS02NS4yNTFoMjUuNzVjLTQuNDA3IDEwMS4zNTEtMy45MSA2MS44MjktMS43NSAxNjAuMjVIMjU3Yy05LjE1NS00MC4wODYtOS4wNjUtNjEuMDQ1LTM5LjUwMS02MS41IDAgMC0yMS41LTItODgtMnYxMzljMCAyNiAxNC4yNSAzOC4yNSA0NC4yNSAzOC4yNUgyNjNjNjMuNjM2IDAgNjYuNTY0LTI0Ljk5NiA5OC43NTEtOTkuNzVIMzg0eiJdLAogICAgICAiZXhwZWRpdGVkc3NsIjogWzQ5NiwgNTEyLCBbXSwgImYyM2UiLCAiTTI0OCA0My40QzEzMC42IDQzLjQgMzUuNCAxMzguNiAzNS40IDI1NlMxMzAuNiA0NjguNiAyNDggNDY4LjYgNDYwLjYgMzczLjQgNDYwLjYgMjU2IDM2NS40IDQzLjQgMjQ4IDQzLjR6bS05Ny40IDEzMi45YzAtNTMuNyA0My43LTk3LjQgOTcuNC05Ny40czk3LjQgNDMuNyA5Ny40IDk3LjR2MjYuNmMwIDUtMy45IDguOS04LjkgOC45aC0xNy43Yy01IDAtOC45LTMuOS04LjktOC45di0yNi42YzAtODIuMS0xMjQtODIuMS0xMjQgMHYyNi42YzAgNS0zLjkgOC45LTguOSA4LjloLTE3LjdjLTUgMC04LjktMy45LTguOS04Ljl2LTI2LjZ6TTM4OS43IDM4MGMwIDkuNy04IDE3LjctMTcuNyAxNy43SDEyNGMtOS43IDAtMTcuNy04LTE3LjctMTcuN1YyMzguM2MwLTkuNyA4LTE3LjcgMTcuNy0xNy43aDI0OGM5LjcgMCAxNy43IDggMTcuNyAxNy43VjM4MHptLTI0OC0xMzcuM3YxMzIuOWMwIDIuNS0xLjkgNC40LTQuNCA0LjRoLTguOWMtMi41IDAtNC40LTEuOS00LjQtNC40VjI0Mi43YzAtMi41IDEuOS00LjQgNC40LTQuNGg4LjljMi41IDAgNC40IDEuOSA0LjQgNC40em0xNDEuNyA0OC43YzAgMTMtNy4yIDI0LjQtMTcuNyAzMC40djMxLjZjMCA1LTMuOSA4LjktOC45IDguOWgtMTcuN2MtNSAwLTguOS0zLjktOC45LTguOXYtMzEuNmMtMTAuNS02LjEtMTcuNy0xNy40LTE3LjctMzAuNCAwLTE5LjcgMTUuOC0zNS40IDM1LjQtMzUuNHMzNS41IDE1LjggMzUuNSAzNS40ek0yNDggOEMxMTEgOCAwIDExOSAwIDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM4NSA4IDI0OCA4em0wIDQ3OC4zQzEyMSA0ODYuMyAxNy43IDM4MyAxNy43IDI1NlMxMjEgMjUuNyAyNDggMjUuNyA0NzguMyAxMjkgNDc4LjMgMjU2IDM3NSA0ODYuMyAyNDggNDg2LjN6Il0sCiAgICAgICJmYWNlYm9vayI6IFs0NDgsIDUxMiwgW10sICJmMDlhIiwgIk00NDggNTYuN3YzOTguNWMwIDEzLjctMTEuMSAyNC43LTI0LjcgMjQuN0gzMDkuMVYzMDYuNWg1OC4ybDguNy02Ny42aC02N3YtNDMuMmMwLTE5LjYgNS40LTMyLjkgMzMuNS0zMi45aDM1Ljh2LTYwLjVjLTYuMi0uOC0yNy40LTIuNy01Mi4yLTIuNy01MS42IDAtODcgMzEuNS04NyA4OS40djQ5LjloLTU4LjR2NjcuNmg1OC40VjQ4MEgyNC43QzExLjEgNDgwIDAgNDY4LjkgMCA0NTUuM1Y1Ni43QzAgNDMuMSAxMS4xIDMyIDI0LjcgMzJoMzk4LjVjMTMuNyAwIDI0LjggMTEuMSAyNC44IDI0Ljd6Il0sCiAgICAgICJmYWNlYm9vay1mIjogWzI2NCwgNTEyLCBbXSwgImYzOWUiLCAiTTc2LjcgNTEyVjI4M0gwdi05MWg3Ni43di03MS43Qzc2LjcgNDIuNCAxMjQuMyAwIDE5My44IDBjMzMuMyAwIDYxLjkgMi41IDcwLjIgMy42Vjg1aC00OC4yYy0zNy44IDAtNDUuMSAxOC00NS4xIDQ0LjNWMTkySDI1NmwtMTEuNyA5MWgtNzMuNnYyMjkiXSwKICAgICAgImZhY2Vib29rLW1lc3NlbmdlciI6IFs0NDgsIDUxMiwgW10sICJmMzlmIiwgIk0yMjQgMzJDMTUuOSAzMi03Ny41IDI3OCA4NC42IDQwMC42VjQ4MGw3NS43LTQyYzE0Mi4yIDM5LjggMjg1LjQtNTkuOSAyODUuNC0xOTguN0M0NDUuOCAxMjQuOCAzNDYuNSAzMiAyMjQgMzJ6bTIzLjQgMjc4LjFMMTkwIDI1MC41IDc5LjYgMzExLjZsMTIxLjEtMTI4LjUgNTcuNCA1OS42IDExMC40LTYxLjEtMTIxLjEgMTI4LjV6Il0sCiAgICAgICJmYWNlYm9vay1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjA4MiIsICJNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGgtODUuM1YzMDIuOGg2MC42bDguNy02Ny42aC02OS4zVjE5MmMwLTE5LjYgNS40LTMyLjkgMzMuNS0zMi45SDM4NFY5OC43Yy02LjItLjgtMjcuNC0yLjctNTIuMi0yLjctNTEuNiAwLTg3IDMxLjUtODcgODkuNHY0OS45SDE4NHY2Ny42aDYwLjlWNDgwSDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6Il0sCiAgICAgICJmaXJlZm94IjogWzQ4MCwgNTEyLCBbXSwgImYyNjkiLCAiTTQ3OC4xIDIzNS4zYy0uNy00LjUtMS40LTcuMS0xLjQtNy4xcy0xLjggMi00LjcgNS45Yy0uOS0xMC43LTIuOC0yMS4yLTUuOC0zMS42LTMuNy0xMi45LTguNS0yNS40LTE0LjUtMzcuNC0zLjgtOC04LjItMTUuNi0xMy4zLTIyLjgtMS44LTIuNy0zLjctNS40LTUuNi03LjktOC44LTE0LjQtMTktMjMuMy0zMC43LTQwLTcuNi0xMi44LTEyLjktMjYuOS0xNS40LTQxLjYtMy4yIDguOS01LjcgMTgtNy40IDI3LjMtMTIuMS0xMi4yLTIyLjUtMjAuOC0yOC45LTI2LjdDMzE5LjQgMjQuMiAzMjMgOS4xIDMyMyA5LjFTMjY0LjcgNzQuMiAyODkuOSAxNDJjOC43IDIzIDIzLjggNDMuMSA0My40IDU3LjkgMjQuNCAyMC4yIDUwLjggMzYgNjQuNyA3Ni42LTExLjItMjEuMy0yOC4xLTM5LjItNDguOC01MS41IDYuMiAxNC43IDkuNCAzMC42IDkuMyA0Ni41IDAgNjEtNDkuNiAxMTAuNS0xMTAuNiAxMTAuNC04LjMgMC0xNi41LS45LTI0LjUtMi44LTkuNS0xLjgtMTguNy00LjktMjcuNC05LjMtMTIuOS03LjgtMjQtMTguMS0zMi44LTMwLjNsLS4yLS4zIDIgLjdjNC42IDEuNiA5LjIgMi44IDE0IDMuNyAxOC43IDQgMzguMyAxLjcgNTUuNi02LjYgMTcuNS05LjcgMjgtMTYuOSAzNi42LTE0aC4yYzguNCAyLjcgMTUtNS41IDktMTQtMTAuNC0xMy40LTI3LjQtMjAtNDQuMi0xNy0xNy41IDIuNS0zMy41IDE1LTU2LjQgMi45LTEuNS0uOC0yLjktMS42LTQuMy0yLjUtMS42LS45IDQuOSAxLjMgMy40LjMtNS0yLjUtOS44LTUuNC0xNC40LTguNi0uMy0uMyAzLjUgMS4xIDMuMS44LTUuOS00LTExLTkuMi0xNS0xNS4yLTQuMS03LjQtNC41LTE2LjQtMS0yNC4xIDIuMS0zLjggNS40LTYuOSA5LjMtOC43IDMgMS41IDQuOCAyLjYgNC44IDIuNnMtMS4zLTIuNS0yLjEtMy44Yy4zLS4xLjUgMCAuOC0uMiAyLjYgMS4xIDguMyA0IDExLjQgNS44IDIuMSAxLjEgMy44IDIuNyA1LjIgNC43IDAgMCAxLS41LjMtMi43LTEuMS0yLjctMi45LTUtNS40LTYuNmguMmMyLjMgMS4yIDQuNSAyLjYgNi42IDQuMSAxLjktNC40IDIuOC05LjIgMi42LTE0IC4yLTIuNi0uMi01LjMtMS4xLTcuOC0uOC0xLjYuNS0yLjIgMS45LS41LS4yLTEuMy0uNy0yLjUtMS4yLTMuN3YtLjFzLjgtMS4xIDEuMi0xLjVjMS0xIDIuMS0xLjkgMy40LTIuNyA3LjItNC41IDE0LjgtOC40IDIyLjctMTEuNiA2LjQtMi44IDExLjctNC45IDEyLjgtNS42IDEuNi0xIDMuMS0yLjIgNC41LTMuNSA1LjMtNC41IDktMTAuOCAxMC4yLTE3LjcuMS0uOS4yLTEuOC4zLTIuOHYtMS41Yy0uOS0zLjUtNi45LTYuMS0zOC40LTkuMS0xMS4xLTEuOC0yMC0xMC4xLTIyLjUtMjEuMXYuMWMtLjQgMS4xLS45IDIuMy0xLjMgMy41LjQtMS4yLjgtMi4zIDEuMy0zLjV2LS4yYzYtMTUuNyAxNi44LTI5LjEgMzAuOC0zOC4zLjgtLjctMy4yLjItMi40LS41IDIuNy0xLjMgNS40LTIuNSA4LjItMy41IDEuNC0uNi02LTMuNC0xMi42LTIuNy00IC4yLTggMS4yLTExLjcgMi44IDEuNi0xLjMgNi4yLTMuMSA1LjEtMy4xLTguNCAxLjYtMTYuNSA0LjctMjMuOSA5IDAtLjguMS0xLjUuNS0yLjItNS45IDIuNS0xMSA2LjUtMTUgMTEuNS4xLS45LjItMS44LjItMi43LTIuNyAyLTUuMiA0LjMtNy4zIDYuOWwtLjEuMWMtMTcuNC02LjctMzYuMy04LjMtNTQuNi00LjdsLS4yLS4xaC4yYy0zLjgtMy4xLTcuMS02LjctOS43LTEwLjlsLS4yLjEtLjQtLjJjLTEuMi0xLjgtMi40LTMuOC0zLjctNi0uOS0xLjYtMS44LTMuNC0yLjctNS4yIDAtLjEtLjEtLjItLjItLjItLjQgMC0uNiAxLjctLjkgMS4zdi0uMWMtMy4yLTguMy00LjctMTcuMi00LjQtMjYuMmwtLjIuMWMtNS4xIDMuNS05IDguNi0xMS4xIDE0LjUtLjkgMi4xLTEuNiAzLjMtMi4yIDQuNXYtLjVjLjEtMS4xLjYtMy4zLjUtMy4xLS4xLjItLjIuMy0uMy40LTEuNSAxLjctMi45IDMuNy0zLjkgNS44LS45IDEuOS0xLjcgMy45LTIuMyA1LjktLjEuMyAwLS4zIDAtMXMuMS0yIDAtMS43bC0uMy43Yy02LjcgMTQuOS0xMC45IDMwLjgtMTIuNCA0Ny4xLS40IDIuOC0uNiA1LjYtLjUgOC4zdi4yYy00LjggNS4yLTkgMTEtMTIuNyAxNy4xLTEyLjEgMjAuNC0yMS4xIDQyLjUtMjYuOCA2NS42IDQtOC44IDguOC0xNy4yIDE0LjMtMjUuMUM1LjUgMjI4LjUgMCAyNTcuNCAwIDI4Ni42YzEuOC04LjYgNC4yLTE3IDctMjUuMy0xLjcgMzQuNSA0LjkgNjguOSAxOS40IDEwMC4zIDE5LjQgNDMuNSA1MS42IDgwIDkyLjMgMTA0LjcgMTYuNiAxMS4yIDM0LjcgMTkuOSA1My44IDI1LjggMi41LjkgNS4xIDEuOCA3LjcgMi43LS44LS4zLTEuNi0uNy0yLjQtMSAyMi42IDYuOCA0Ni4yIDEwLjMgNjkuOCAxMC4zIDgzLjcgMCAxMTEuMy0zMS45IDExMy44LTM1IDQuMS0zLjcgNy41LTguMiA5LjktMTMuMyAxLjYtLjcgMy4yLTEuNCA0LjktMi4xbDEtLjUgMS45LS45YzEyLjYtNS45IDI0LjUtMTMuNCAzNS4zLTIyLjEgMTYuMy0xMS43IDI3LjktMjguNyAzMi45LTQ4LjEgMy03LjEgMy4xLTE1IC40LTIyLjIuOS0xLjQgMS43LTIuOCAyLjctNC4zIDE4LTI4LjkgMjguMi02MS45IDI5LjYtOTUuOXYtMi44YzAtNy4zLS42LTE0LjUtMS45LTIxLjZ6Il0sCiAgICAgICJmaXJzdC1vcmRlciI6IFs0NDgsIDUxMiwgW10sICJmMmIwIiwgIk0xMi45IDIyOS4yYy4xLS4xLjItLjMuMy0uNCAwIC4xIDAgLjMtLjEuNGgtLjJ6TTIyNCA5Ni42Yy03LjEgMC0xNC42LjYtMjEuNCAxLjdsMy43IDY3LjQtMjItNjRjLTE0LjMgMy43LTI3LjcgOS40LTQwIDE2LjZsMjkuNCA2MS40LTQ1LjEtNTAuOWMtMTEuNCA4LjktMjEuNyAxOS4xLTMwLjYgMzAuOWw1MC42IDQ1LjQtNjEuMS0yOS43Yy03LjEgMTIuMy0xMi45IDI1LjctMTYuNiA0MGw2NC4zIDIyLjYtNjgtNGMtLjkgNy4xLTEuNCAxNC42LTEuNCAyMnMuNiAxNC42IDEuNCAyMS43bDY3LjctNC02NCAyMi42YzMuNyAxNC4zIDkuNCAyNy43IDE2LjYgNDAuM2w2MS4xLTI5LjdMOTcuNyAzNTJjOC45IDExLjcgMTkuMSAyMi4zIDMwLjkgMzAuOWw0NC45LTUwLjktMjkuNSA2MS40YzEyLjMgNy40IDI1LjcgMTMuMSA0MCAxNi45bDIyLjMtNjQuNi00IDY4YzcuMSAxLjEgMTQuNiAxLjcgMjEuNyAxLjcgNy40IDAgMTQuNi0uNiAyMS43LTEuN2wtNC02OC42IDIyLjYgNjUuMWMxNC4zLTQgMjcuNy05LjQgNDAtMTYuOUwyNzQuOSAzMzJsNDQuOSA1MC45YzExLjctOC45IDIyLTE5LjEgMzAuNi0zMC45bC01MC42LTQ1LjEgNjEuMSAyOS40YzcuMS0xMi4zIDEyLjktMjUuNyAxNi42LTQwLjNsLTY0LTIyLjMgNjcuNCA0YzEuMS03LjEgMS40LTE0LjMgMS40LTIxLjdzLS4zLTE0LjktMS40LTIybC02Ny43IDQgNjQtMjIuM2MtMy43LTE0LjMtOS4xLTI4LTE2LjYtNDAuM2wtNjAuOSAyOS43IDUwLjYtNDUuNGMtOC45LTExLjctMTkuMS0yMi0zMC42LTMwLjlsLTQ1LjEgNTAuOSAyOS40LTYxLjFjLTEyLjMtNy40LTI1LjctMTMuMS00MC0xNi45TDI0MS43IDE2Nmw0LTY3LjdjLTcuMS0xLjItMTQuMy0xLjctMjEuNy0xLjd6TTQ0My40IDEyOHYyNTZMMjI0IDUxMiA0LjYgMzg0VjEyOEwyMjQgMGwyMTkuNCAxMjh6bS0xNy4xIDEwLjNMMjI0IDIwLjkgMjEuNyAxMzguM3YyMzUuMUwyMjQgNDkxLjFsMjAyLjMtMTE3LjdWMTM4LjN6TTIyNCAzNy4xbDE4Ny43IDEwOS40djIxOC45TDIyNCA0NzQuOSAzNi4zIDM2NS40VjE0Ni42TDIyNCAzNy4xem0wIDUwLjljLTkyLjMgMC0xNjYuOSA3NS4xLTE2Ni45IDE2OCAwIDkyLjYgNzQuNiAxNjcuNyAxNjYuOSAxNjcuNyA5MiAwIDE2Ni45LTc1LjEgMTY2LjktMTY3LjcgMC05Mi45LTc0LjktMTY4LTE2Ni45LTE2OHoiXSwKICAgICAgImZpcnN0ZHJhZnQiOiBbMzg0LCA1MTIsIFtdLCAiZjNhMSIsICJNMzg0IDE5MmgtNjR2MTI4SDE5MnYxMjhIMHYtMjUuNmgxNjYuNHYtMTI4aDEyOHYtMTI4SDM4NFYxOTJ6bS0yNS42IDM4LjR2MTI4aC0xMjh2MTI4SDY0VjUxMmgxOTJWMzg0aDEyOFYyMzAuNGgtMjUuNnptMjUuNiAxOTJoLTg5LjZWNTEySDMyMHYtNjRoNjR2LTI1LjZ6TTAgMHYzODRoMTI4VjI1NmgxMjhWMTI4aDEyOFYwSDB6Il0sCiAgICAgICJmbGlja3IiOiBbNDQ4LCA1MTIsIFtdLCAiZjE2ZSIsICJNNDAwIDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHpNMTQ0LjUgMzE5Yy0zNS4xIDAtNjMuNS0yOC40LTYzLjUtNjMuNXMyOC40LTYzLjUgNjMuNS02My41IDYzLjUgMjguNCA2My41IDYzLjUtMjguNCA2My41LTYzLjUgNjMuNXptMTU5IDBjLTM1LjEgMC02My41LTI4LjQtNjMuNS02My41czI4LjQtNjMuNSA2My41LTYzLjUgNjMuNSAyOC40IDYzLjUgNjMuNS0yOC40IDYzLjUtNjMuNSA2My41eiJdLAogICAgICAiZmxpcGJvYXJkIjogWzQ0OCwgNTEyLCBbXSwgImY0NGQiLCAiTTAgMzJ2NDQ4aDQ0OFYzMkgwem0xNzUuNyAxNzUuN3YxODQuNEg4Ny44VjExOS45aDg3Ljh2ODcuOHptMTg0LjUgMGgtODcuOXY5Ni42aC04Ny44di04Ny44aDg3Ljh2LTguOGgtODcuOHYtODcuOGgxNzUuN3Y4Ny44eiJdLAogICAgICAiZmx5IjogWzM4NCwgNTEyLCBbXSwgImY0MTciLCAiTTE5Ny44IDQyNy44YzEyLjkgMTEuNyAzMy43IDMzLjMgMzMuMiA1MC43IDAgLjgtLjEgMS42LS4xIDIuNS0xLjggMTkuOC0xOC44IDMxLjEtMzkuMSAzMS0yNS0uMS0zOS45LTE2LjgtMzguNy0zNS44IDEtMTYuMiAyMC41LTM2LjcgMzIuNC00Ny42IDIuMy0yLjEgMi43LTIuNyA1LjYtMy42IDMuNCAwIDMuOS4zIDYuNyAyLjh6TTMzMS45IDY3LjNjLTE2LjMtMjUuNy0zOC42LTQwLjYtNjMuMy01Mi4xQzI0My4xIDQuNSAyMTQtLjIgMTkyIDBjLTQ0LjEgMC03MS4yIDEzLjItODEuMSAxNy4zQzU3LjMgNDUuMiAyNi41IDg3LjIgMjggMTU4LjZjNy4xIDgyLjIgOTcgMTc2IDE1NS44IDIzMy44IDEuNyAxLjYgNC41IDQuNSA2LjIgNS4xbDMuMy4xYzIuMS0uNyAxLjgtLjUgMy41LTIuMSA1Mi4zLTQ5LjIgMTQwLjctMTQ1LjggMTU1LjktMjE1LjcgNy0zOS4yIDMuMS03Mi41LTIwLjgtMTEyLjV6TTE4Ni44IDM1MS45Yy0yOC01MS4xLTY1LjItMTMwLjctNjkuMy0xODktMy40LTQ3LjUgMTEuNC0xMzEuMiA2OS4zLTEzNi43djMyNS43ek0zMjguNyAxODBjLTE2LjQgNTYuOC03Ny4zIDEyOC0xMTguOSAxNzAuM0MyMzcuNiAyOTguNCAyNzUgMjE3IDI3NyAxNTguNGMxLjYtNDUuOS05LjgtMTA1LjgtNDgtMTMxLjQgODguOCAxOC4zIDExNS41IDk4LjEgOTkuNyAxNTN6Il0sCiAgICAgICJmb250LWF3ZXNvbWUiOiBbNDQ4LCA1MTIsIFtdLCAiZjJiNCIsICJNMzk3LjggMzJINTAuMkMyMi43IDMyIDAgNTQuNyAwIDgyLjJ2MzQ3LjZDMCA0NTcuMyAyMi43IDQ4MCA1MC4yIDQ4MGgzNDcuNmMyNy41IDAgNTAuMi0yMi43IDUwLjItNTAuMlY4Mi4yYzAtMjcuNS0yMi43LTUwLjItNTAuMi01MC4yem0tNDUuNCAyODQuM2MwIDQuMi0zLjYgNi03LjggNy44LTE2LjcgNy4yLTM0LjYgMTMuNy01My44IDEzLjctMjYuOSAwLTM5LjQtMTYuNy03MS43LTE2LjctMjMuMyAwLTQ3LjggOC40LTY3LjUgMTcuMy0xLjIuNi0yLjQuNi0zLjYgMS4yVjM4NWMwIDEuOCAwIDMuNi0uNiA0Ljh2MS4yYy0yLjQgOC40LTEwLjIgMTQuMy0xOS4xIDE0LjMtMTEuMyAwLTIwLjMtOS0yMC4zLTIwLjNWMTY2LjRjLTcuOC02LTEzLjEtMTUuNS0xMy4xLTI2LjMgMC0xOC41IDE0LjktMzMuNSAzMy41LTMzLjUgMTguNSAwIDMzLjUgMTQuOSAzMy41IDMzLjUgMCAxMC44LTQuOCAyMC4zLTEzLjEgMjYuM3YxOC41YzEuOC0uNiAzLjYtMS4yIDUuNC0yLjQgMTguNS03LjggNDAuNi0xNC4zIDYxLjUtMTQuMyAyMi43IDAgNDAuNiA2IDYwLjkgMTMuNyA0LjIgMS44IDguNCAyLjQgMTMuMSAyLjQgMjIuNyAwIDQ3LjgtMTYuMSA1My44LTE2LjEgNC44IDAgOSAzLjYgOSA3Ljh2MTQwLjN6Il0sCiAgICAgICJmb250LWF3ZXNvbWUtYWx0IjogWzQ0OCwgNTEyLCBbXSwgImYzNWMiLCAiTTM5Ny44IDY3LjhjNy44IDAgMTQuMyA2LjYgMTQuMyAxNC4zdjM0Ny42YzAgNy44LTYuNiAxNC4zLTE0LjMgMTQuM0g1MC4yYy03LjggMC0xNC4zLTYuNi0xNC4zLTE0LjNWODIuMmMwLTcuOCA2LjYtMTQuMyAxNC4zLTE0LjNoMzQ3LjZtMC0zNS45SDUwLjJDMjIuNyAzMiAwIDU0LjcgMCA4Mi4ydjM0Ny42QzAgNDU3LjMgMjIuNyA0ODAgNTAuMiA0ODBoMzQ3LjZjMjcuNSAwIDUwLjItMjIuNyA1MC4yLTUwLjJWODIuMmMwLTI3LjUtMjIuNy01MC4yLTUwLjItNTAuMnptLTU4LjUgMTM5LjJjLTYgMC0yOS45IDE1LjUtNTIuNiAxNS41LTQuMiAwLTguNC0uNi0xMi41LTIuNC0xOS43LTcuOC0zNy0xMy43LTU5LjEtMTMuNy0yMC4zIDAtNDEuOCA2LjYtNTkuNyAxMy43LTEuOC42LTMuNiAxLjItNC44IDEuOHYtMTcuOWM3LjgtNiAxMi41LTE0LjkgMTIuNS0yNS43IDAtMTcuOS0xNC4zLTMyLjMtMzIuMy0zMi4zcy0zMi4zIDE0LjMtMzIuMyAzMi4zYzAgMTAuMiA0LjggMTkuNyAxMi41IDI1Ljd2MjEyLjFjMCAxMC44IDkgMTkuNyAxOS43IDE5LjcgOSAwIDE2LjEtNiAxOC41LTEzLjdWMzg1Yy42LTEuOC42LTMgLjYtNC44VjMzNmMxLjIgMCAyLjQtLjYgMy0xLjIgMTkuNy04LjQgNDMtMTYuNyA2NS43LTE2LjcgMzEuMSAwIDQzIDE2LjEgNjkuMyAxNi4xIDE4LjUgMCAzNi40LTYuNiA1Mi0xMy43IDQuMi0xLjggNy4yLTMuNiA3LjItNy44VjE3OC4zYzEuOC00LjEtMi4zLTcuMS03LjctNy4xeiJdLAogICAgICAiZm9udC1hd2Vzb21lLWZsYWciOiBbNDQ4LCA1MTIsIFtdLCAiZjQyNSIsICJNNDQ0LjM3MyAzNTkuNDI0YzAgNy4xNjgtNi4xNDQgMTAuMjQtMTMuMzEyIDEzLjMxMi0yOC42NzIgMTIuMjg4LTU5LjM5MiAyMy41NTItOTIuMTYgMjMuNTUyLTQ2LjA4IDAtNjcuNTg0LTI4LjY3Mi0xMjIuODgtMjguNjcyLTM5LjkzNiAwLTgxLjkyIDE0LjMzNi0xMTUuNzEyIDI5LjY5Ni0yLjA0OCAxLjAyNC00LjA5NiAxLjAyNC02LjE0NCAyLjA0OHY3Ny44MjRjMCAyMS40MDUtMTYuMTIyIDM0LjgxNi0zMy43OTIgMzQuODE2LTE5LjQ1NiAwLTM0LjgxNi0xNS4zNi0zNC44MTYtMzQuODE2VjEwMi40QzEyLjI0NSA5Mi4xNiAzLjAyOSA3NS43NzYgMy4wMjkgNTcuMzQ0IDMuMDI5IDI1LjYgMjguNjI5IDAgNjAuMzczIDBzNTcuMzQ0IDI1LjYgNTcuMzQ0IDU3LjM0NGMwIDE4LjQzMi04LjE5MiAzNC44MTYtMjIuNTI4IDQ1LjA1NnYzMS43NDRjNC4xMjQtMS4zNzQgNTguNzY4LTI4LjY3MiAxMTQuNjg4LTI4LjY3MiA2NS4yNyAwIDk3LjY3NiAyNy42NDggMTI2Ljk3NiAyNy42NDggMzguOTEyIDAgODEuOTItMjcuNjQ4IDkyLjE2LTI3LjY0OCA4LjE5MiAwIDE1LjM2IDYuMTQ0IDE1LjM2IDEzLjMxMnYyNDAuNjR6Il0sCiAgICAgICJmb250aWNvbnMiOiBbNDQ4LCA1MTIsIFtdLCAiZjI4MCIsICJNMCAzMnY0NDhoNDQ4VjMySDB6bTE2Ny40IDE5Nmg2Ny40bC0xMS4xIDM3LjNIMTY4djExMi45YzAgNS44LTIgNi43IDMuMiA3LjNsNDMuNSA0LjF2MjUuMUg4NFYzODlsMjEuMy0yYzUuMi0uNiA2LjctMi4zIDYuNy03LjlWMjY3LjdjMC0yLjMtMi45LTIuMy01LjgtMi4zSDg0VjIyOGgyOHYtMjFjMC00OS42IDI2LjUtNzAgNzcuMy03MCAzNC4xIDAgNjQuNyA4LjIgNjQuNyA1Mi44bC01MC43IDYuMWMuMy0xOC43LTQuNC0yMy0xNi4zLTIzLTE4LjQgMC0xOSA5LjktMTkgMjcuNHYyMy4zYzAgMi40LTMuNSA0LjQtLjYgNC40ek0zNjQgNDE0LjdIMjYxLjN2LTI1LjFsMjAuNC0yLjZjNS4yLS42IDcuNi0xLjcgNy42LTcuM1YyNzEuOGMwLTQuMS0yLjktNi43LTYuNy03LjlsLTI0LjItNi40IDYuNy0yOS41aDgwLjJ2MTUxLjdjMCA1LjgtMi42IDYuNCAyLjkgNy4zbDE1LjcgMi42djI1LjF6bS0yMS45LTI1NS41bDkgMzMuMi03LjMgNy4zLTMxLjItMTYuNi0zMS4yIDE2LjYtNy4zLTcuMyA5LTMzLjItMjEuOC0yNC4yIDMuNS05LjZoMjcuN2wxNS41LTI4aDkuM2wxNS41IDI4aDI3LjdsMy41IDkuNi0yMS45IDI0LjJ6Il0sCiAgICAgICJmb250aWNvbnMtZmkiOiBbMzg0LCA1MTIsIFtdLCAiZjNhMiIsICJNMTE0LjQgMjI0aDkyLjRsLTE1LjIgNTEuMmgtNzYuNFY0MzNjMCA4LTIuOCA5LjIgNC40IDEwbDU5LjYgNS42VjQ4M0gwdi0zNS4ybDI5LjItMi44YzcuMi0uOCA5LjItMy4yIDkuMi0xMC44VjI3OC40YzAtMy4yLTQtMy4yLTgtMy4ySDBWMjI0aDM4LjR2LTI4LjhjMC02OCAzNi40LTk2IDEwNi05NiA0Ni44IDAgODguOCAxMS4yIDg4LjggNzIuNGwtNjkuNiA4LjRjLjQtMjUuNi02LTMxLjYtMjIuNC0zMS42LTI1LjIgMC0yNiAxMy42LTI2IDM3LjZ2MzJjMCAzLjItNC44IDYtLjggNnpNMzg0IDQ4M0gyNDMuMnYtMzQuNGwyOC0zLjZjNy4yLS44IDEwLjQtMi40IDEwLjQtMTBWMjg3YzAtNS42LTQtOS4yLTkuMi0xMC44bC0zMy4yLTguOCA5LjItNDAuNGgxMTB2MjA4YzAgOC0zLjYgOC44IDQgMTBsMjEuNiAzLjZWNDgzem0tMzAtMzQ3LjJsMTIuNCA0NS42LTEwIDEwLTQyLjgtMjIuOC00Mi44IDIyLjgtMTAtMTAgMTIuNC00NS42LTMwLTM2LjQgNC44LTEwaDM4TDMwNy4yIDUxSDMyMGwyMS4yIDM4LjRoMzhsNC44IDEzLjItMzAgMzMuMnoiXSwKICAgICAgImZvcnQtYXdlc29tZSI6IFs1MTIsIDUxMiwgW10sICJmMjg2IiwgIk00ODkuMiAyODcuOWgtMjcuNGMtMi42IDAtNC42IDItNC42IDQuNnYzMmgtMzYuNlYxNDYuMmMwLTIuNi0yLTQuNi00LjYtNC42aC0yNy40Yy0yLjYgMC00LjYgMi00LjYgNC42djMyaC0zNi42di0zMmMwLTIuNi0yLTQuNi00LjYtNC42aC0yNy40Yy0yLjYgMC00LjYgMi00LjYgNC42djMyaC0zNi42di0zMmMwLTYtOC00LjYtMTEuNy00LjZ2LTM4YzguMy0yIDE3LjEtMy40IDI1LjctMy40IDEwLjkgMCAyMC45IDQuMyAzMS40IDQuMyA0LjYgMCAyNy43LTEuMSAyNy43LTh2LTYwYzAtMi42LTItNC42LTQuNi00LjYtNS4xIDAtMTUuMSA0LjMtMjQgNC4zLTkuNyAwLTIwLjktNC4zLTMyLjYtNC4zLTggMC0xNiAxLjEtMjMuNyAyLjl2LTQuOWM1LjQtMi42IDkuMS04LjMgOS4xLTE0LjMgMC0yMC43LTMxLjQtMjAuOC0zMS40IDAgMCA2IDMuNyAxMS43IDkuMSAxNC4zdjExMS43Yy0zLjcgMC0xMS43LTEuNC0xMS43IDQuNnYzMmgtMzYuNnYtMzJjMC0yLjYtMi00LjYtNC42LTQuNmgtMjcuNGMtMi42IDAtNC42IDItNC42IDQuNnYzMkgxMjh2LTMyYzAtMi42LTItNC42LTQuNi00LjZIOTZjLTIuNiAwLTQuNiAyLTQuNiA0LjZ2MTc4LjNINTQuOHYtMzJjMC0yLjYtMi00LjYtNC42LTQuNkgyMi44Yy0yLjYgMC00LjYgMi00LjYgNC42VjUxMmgxODIuOXYtOTZjMC03Mi42IDEwOS43LTcyLjYgMTA5LjcgMHY5NmgxODIuOVYyOTIuNWMuMS0yLjYtMS45LTQuNi00LjUtNC42em0tMjg4LjEtNC41YzAgMi42LTIgNC42LTQuNiA0LjZoLTI3LjRjLTIuNiAwLTQuNi0yLTQuNi00LjZ2LTY0YzAtMi42IDItNC42IDQuNi00LjZoMjcuNGMyLjYgMCA0LjYgMiA0LjYgNC42djY0em0xNDYuNCAwYzAgMi42LTIgNC42LTQuNiA0LjZoLTI3LjRjLTIuNiAwLTQuNi0yLTQuNi00LjZ2LTY0YzAtMi42IDItNC42IDQuNi00LjZoMjcuNGMyLjYgMCA0LjYgMiA0LjYgNC42djY0eiJdLAogICAgICAiZm9ydC1hd2Vzb21lLWFsdCI6IFs1MTIsIDUxMiwgW10sICJmM2EzIiwgIk0yMTEuNyAyNDEuMXY1MS43YzAgMi4xLTEuNiAzLjctMy43IDMuN2gtMjIuMmMtMi4xIDAtMy43LTEuNi0zLjctMy43di01MS43YzAtMi4xIDEuNi0zLjcgMy43LTMuN0gyMDhjMi4xIDAgMy43IDEuNiAzLjcgMy43em0xMTQuNS0zLjdIMzA0Yy0yLjEgMC0zLjcgMS42LTMuNyAzLjd2NTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdoMjIuMmMyLjEgMCAzLjctMS42IDMuNy0zLjd2LTUxLjdjLS4xLTIuMS0xLjctMy43LTMuNy0zLjd6bS0yOS4xIDI2My4yYy0uOS4xLTEuNy4zLTIuNi40LTEgLjItMi4xLjMtMy4xLjUtLjkuMS0xLjguMy0yLjguNC0xIC4xLTIgLjMtMyAuNC0xIC4xLTIgLjItMi45LjMtMSAuMS0xLjkuMi0yLjkuMy0xIC4xLTIuMS4yLTMuMS4zLS45LjEtMS44LjItMi43LjItMS4xLjEtMi4zLjEtMy40LjItLjggMC0xLjcuMS0yLjUuMS0xLjMuMS0yLjYuMS0zLjkuMS0uNyAwLTEuNC4xLTIuMS4xLTIgMC00IC4xLTYgLjFzLTQgMC02LS4xYy0uNyAwLTEuNCAwLTIuMS0uMS0xLjMgMC0yLjYtLjEtMy45LS4xLS44IDAtMS43LS4xLTIuNS0uMS0xLjEtLjEtMi4zLS4xLTMuNC0uMi0uOS0uMS0xLjgtLjEtMi43LS4yLTEtLjEtMi4xLS4yLTMuMS0uMy0xLS4xLTEuOS0uMi0yLjktLjMtMS0uMS0yLS4yLTIuOS0uMy0xLS4xLTItLjItMy0uNC0uOS0uMS0xLjgtLjMtMi44LS40LTEtLjEtMi4xLS4zLTMuMS0uNS0uOS0uMS0xLjctLjMtMi42LS40LTY1LjYtMTAuOS0xMjIuNS00Ny43LTE2MC05OS40LS4yLS4yLS4zLS41LS41LS43LS44LTEuMS0xLjYtMi4yLTIuMy0zLjMtLjMtLjQtLjYtLjgtLjgtMS4yLS43LTEuMS0xLjQtMi4xLTIuMS0zLjItLjMtLjUtLjYtLjktLjktMS40LS43LTEuMS0xLjQtMi4xLTItMy4yLS4zLS41LS42LS45LS45LTEuNC0uNy0xLjEtMS4zLTIuMi0yLTMuMy0uMi0uNC0uNS0uOC0uNy0xLjItMi40LTQtNC42LTguMS02LjgtMTIuMi0uMS0uMi0uMi0uMy0uMy0uNS0uNi0xLjEtMS4xLTIuMi0xLjctMy4zLS4zLS42LS42LTEuMS0uOC0xLjctLjUtMS0xLTIuMS0xLjUtMy4xLS4zLS43LS42LTEuMy0uOS0yLS41LTEtLjktMi0xLjQtM2wtLjktMi4xYy0uNC0xLS45LTItMS4zLTMtLjMtLjctLjYtMS41LS45LTIuMmwtMS4yLTNjLS4zLS44LS42LTEuNS0uOS0yLjMtLjQtMS0uOC0yLTEuMS0zLS4zLS45LS42LTEuOC0xLTIuOC0uNi0xLjYtMS4xLTMuMy0xLjctNC45LS4zLS45LS42LTEuOC0uOS0yLjgtLjMtLjktLjUtMS44LS44LTIuNy0uMy0uOS0uNi0xLjktLjgtMi44LS4zLS45LS41LTEuOC0uOC0yLjctLjMtMS0uNS0xLjktLjgtMi45LS4yLS45LS41LTEuOC0uNy0yLjctLjMtMS0uNS0yLS43LTMtLjItLjktLjQtMS43LS42LTIuNi0uMi0xLjEtLjUtMi4yLS43LTMuMi0uMi0uOC0uMy0xLjYtLjUtMi40LS4zLTEuMy0uNS0yLjctLjgtNC0uMS0uNi0uMi0xLjEtLjMtMS43bC0uOS01LjdjLS4xLS42LS4yLTEuMy0uMy0xLjktLjItMS4zLS40LTIuNi0uNS0zLjktLjEtLjgtLjItMS41LS4zLTIuMy0uMS0xLjItLjMtMi40LS40LTMuNi0uMS0uOC0uMi0xLjYtLjItMi40LS4xLTEuMi0uMi0yLjQtLjMtMy41LS4xLS44LS4xLTEuNi0uMi0yLjQtLjEtMS4yLS4yLTIuNC0uMi0zLjcgMC0uOC0uMS0xLjUtLjEtMi4zLS4xLTEuMy0uMS0yLjctLjItNCAwLS43IDAtMS4zLS4xLTIgMC0yLS4xLTQtLjEtNiAwLTUzLjUgMTYuOS0xMDMgNDUuOC0xNDMuNiAyLjMtMy4yIDQuNy02LjQgNy4xLTkuNSA0LjktNi4yIDEwLjEtMTIuMyAxNS42LTE4IDIuNy0yLjkgNS41LTUuNyA4LjQtOC40IDIuOS0yLjcgNS44LTUuNCA4LjgtOCA0LjUtMy45IDkuMS03LjYgMTMuOS0xMS4yIDEuNi0xLjIgMy4yLTIuNCA0LjgtMy41QzE0MCAzNC4yIDE3MS43IDIwLjEgMjA2IDEzYzE2LjEtMy4zIDMyLjktNSA1MC01czMzLjggMS43IDUwIDVjMzQuMyA3IDY2IDIxLjEgOTMuNiA0MC43IDEuNiAxLjIgMy4yIDIuMyA0LjggMy41IDQuOCAzLjYgOS40IDcuMyAxMy45IDExLjIgMTIgMTAuNCAyMyAyMS45IDMyLjggMzQuNCAyLjUgMy4xIDQuOCA2LjMgNy4xIDkuNUM0ODcuMSAxNTMgNTA0IDIwMi41IDUwNCAyNTZjMCAyIDAgNC0uMSA2IDAgLjcgMCAxLjMtLjEgMiAwIDEuMy0uMSAyLjctLjIgNCAwIC44LS4xIDEuNS0uMSAyLjMtLjEgMS4yLS4xIDIuNC0uMi43LS4xLjgtLjEgMS42LS4yIDIuNC0uMSAxLjItLjIgMi40LS4zIDMuNS0uMS44LS4yIDEuNi0uMiAyLjQtLjEgMS4yLS4zIDIuNC0uNCAzLjYtLjEuOC0uMiAxLjUtLjMgMi4zLS4yIDEuMy0uNCAyLjYtLjUgMy45LS4xLjYtLjIgMS4zLS4zIDEuOWwtLjkgNS43Yy0uMS42LS4yIDEuMS0uMyAxLjctLjIgMS4zLS41IDIuNy0uOCA0LS4yLjgtLjMgMS42LS41IDIuNC0uMiAxLjEtLjUgMi4yLS43IDMuMi0uMi45LS40IDEuNy0uNiAyLjYtLjIgMS0uNSAyLS43IDMtLjIuOS0uNSAxLjgtLjcgMi43LS4zIDEtLjUgMS45LS44IDIuOS0uMi45LS41IDEuOC0uOCAyLjctLjMuOS0uNiAxLjktLjggMi44LS4zLjktLjUgMS44LS44IDIuNy0uMy45LS42IDEuOC0uOSAyLjgtLjUgMS42LTEuMSAzLjMtMS43IDQuOS0uMy45LS42IDEuOC0xIDIuOC0uNCAxLS43IDItMS4xIDMtLjMuOC0uNiAxLjUtLjkgMi4zbC0xLjIgM2MtLjMuNy0uNiAxLjUtLjkgMi4yLS40IDEtLjggMi0xLjMgM2wtLjkgMi4xYy0uNCAxLS45IDItMS40IDMtLjMuNy0uNiAxLjMtLjkgMi0uNSAxLTEgMi4xLTEuNSAzLjEtLjMuNi0uNiAxLjEtLjggMS43LS42IDEuMS0xLjEgMi4yLTEuNyAzLjMtLjEuMi0uMi4zLS4zLjUtMi4yIDQuMS00LjQgOC4yLTYuOCAxMi4yLS4yLjQtLjUuOC0uNyAxLjItLjcgMS4xLTEuMyAyLjItMiAzLjMtLjMuNS0uNi45LS45IDEuNC0uNyAxLjEtMS40IDIuMS0yIDMuMi0uMy41LS42LjktLjkgMS40LS43IDEuMS0xLjQgMi4xLTIuMSAzLjItLjMuNC0uNi44LS44IDEuMi0uOCAxLjEtMS41IDIuMi0yLjMgMy4zLS4yLjItLjMuNS0uNS43LTM3LjYgNTQuNy05NC41IDkxLjQtMTYwLjEgMTAyLjR6bTExNy4zLTg2LjJjMTMtMTMgMjQuMi0yNy40IDMzLjYtNDIuOXYtNzEuM2MwLTIuMS0xLjYtMy43LTMuNy0zLjdoLTIyLjJjLTIuMSAwLTMuNyAxLjYtMy43IDMuN1YzMjZoLTI5LjVWMTgyYzAtMi4xLTEuNi0zLjctMy43LTMuN2gtMjIuMWMtMi4xIDAtMy43IDEuNi0zLjcgMy43djI1LjloLTI5LjVWMTgyYzAtMi4xLTEuNi0zLjctMy43LTMuN0gzMDRjLTIuMSAwLTMuNyAxLjYtMy43IDMuN3YyNS45aC0yOS41VjE4MmMwLTQuOC02LjUtMy43LTkuNS0zLjd2LTMwLjdjNi43LTEuNiAxMy44LTIuOCAyMC44LTIuOCA4LjggMCAxNi44IDMuNSAyNS40IDMuNSAzLjcgMCAyMi40LS45IDIyLjQtNi41VjkzLjRjMC0yLjEtMS42LTMuNy0zLjctMy43LTQuMiAwLTEyLjIgMy41LTE5LjQgMy41LTcuOSAwLTE2LjktMy41LTI2LjMtMy41LTYuNSAwLTEyLjkuOS0xOS4yIDIuM3YtMy45YzQuNC0yLjEgNy40LTYuNyA3LjQtMTEuNSAwLTE2LjgtMjUuNC0xNi44LTI1LjQgMCAwIDQuOCAzIDkuNSA3LjQgMTEuNXY5MC4yYy0zIDAtOS41LTEuMS05LjUgMy43djI1LjloLTI5LjVWMTgyYzAtMi4xLTEuNi0zLjctMy43LTMuN2gtMjIuMmMtMi4xIDAtMy43IDEuNi0zLjcgMy43djI1LjloLTI5LjVWMTgyYzAtMi4xLTEuNi0zLjctMy43LTMuN2gtMjIuMWMtMi4xIDAtMy43IDEuNi0zLjcgMy43djE0NEg5My41di0yNS44YzAtMi4xLTEuNi0zLjctMy43LTMuN0g2Ny43Yy0yLjEgMC0zLjcgMS42LTMuNyAzLjd2NzEuM2M5LjQgMTUuNSAyMC42IDI5LjkgMzMuNiA0Mi45IDIwLjYgMjAuNiA0NC41IDM2LjcgNzEuMiA0OCAxMy45IDUuOSAyOC4yIDEwLjMgNDIuOSAxMy4ydi03NS44YzAtNTguNiA4OC42LTU4LjYgODguNiAwdjc1LjhjMTQuNy0yLjkgMjktNy40IDQyLjktMTMuMiAyNi43LTExLjMgNTAuNi0yNy40IDcxLjItNDgiXSwKICAgICAgImZvcnVtYmVlIjogWzQ0OCwgNTEyLCBbXSwgImYyMTEiLCAiTTUuOCAzMDkuN0MyIDI5Mi43IDAgMjc1LjUgMCAyNTguMyAwIDEzNSA5OS44IDM1IDIyMy4xIDM1YzE2LjYgMCAzMy4zIDIgNDkuMyA1LjVDMTQ5IDg3LjUgNTEuOSAxODYgNS44IDMwOS43em0zOTIuOS0xODkuMkMzODUgMTAzIDM2OSA4Ny44IDM1MC45IDc1LjJjLTE0OS42IDQ0LjMtMjY2LjMgMTYyLjEtMzA5LjcgMzEyIDEyLjUgMTguMSAyOCAzNS42IDQ1LjIgNDkgNDMuMS0xNTEuMyAxNjEuMi0yNzEuNyAzMTIuMy0zMTUuN3ptMTUuOCAyNTIuN2MxNS4yLTI1LjEgMjUuNC01My43IDI5LjUtODIuOC03OS40IDQyLjktMTQ1IDExMC42LTE4Ny42IDE5MC4zIDMwLTQuNCA1OC45LTE1LjMgODQuNi0zMS4zIDM1IDEzLjEgNzAuOSAyNC4zIDEwNyAzMy42LTkuMy0zNi41LTIwLjQtNzQuNS0zMy41LTEwOS44em0yOS43LTE0NS41Yy0yLjYtMTkuNS03LjktMzguNy0xNS44LTU2LjhDMjkwLjUgMjE2LjcgMTgyIDMyNy41IDEzNy4xIDQ2NmMxOC4xIDcuNiAzNyAxMi41IDU2LjYgMTUuMkMyNDAgMzY3LjEgMzMwLjUgMjc0LjQgNDQ0LjIgMjI3Ljd6Il0sCiAgICAgICJmb3Vyc3F1YXJlIjogWzM2OCwgNTEyLCBbXSwgImYxODAiLCAiTTMyMy4xIDNINDkuOUMxMi40IDMgMCAzMS4zIDAgNDkuMXY0MzMuOGMwIDIwLjMgMTIuMSAyNy43IDE4LjIgMzAuMSA2LjIgMi41IDIyLjggNC42IDMyLjktNy4xQzE4MCAzNTYuNSAxODIuMiAzNTQgMTgyLjIgMzU0YzMuMS0zLjQgMy40LTMuMSA2LjgtMy4xaDgzLjRjMzUuMSAwIDQwLjYtMjUuMiA0NC4zLTM5LjdsNDguNi0yNDNDMzczLjggMjUuOCAzNjMuMSAzIDMyMy4xIDN6bS0xNi4zIDczLjhsLTExLjQgNTkuN2MtMS4yIDYuNS05LjUgMTMuMi0xNi45IDEzLjJIMTcyLjFjLTEyIDAtMjAuNiA4LjMtMjAuNiAyMC4zdjEzYzAgMTIgOC42IDIwLjYgMjAuNiAyMC42aDkwLjRjOC4zIDAgMTYuNiA5LjIgMTQuOCAxOC4yLTEuOCA4LjktMTAuNSA1My44LTExLjQgNTguOC0uOSA0LjktNi44IDEzLjUtMTYuOSAxMy41aC03My41Yy0xMy41IDAtMTcuMiAxLjgtMjYuNSAxMi42IDAgMC04LjkgMTEuNC04OS41IDEwOC4zLS45LjktMS44LjYtMS44LS4zVjc1LjljMC03LjcgNi44LTE2LjYgMTYuNi0xNi42aDIxOWM4LjIgMCAxNS42IDcuNyAxMy41IDE3LjV6Il0sCiAgICAgICJmcmVlLWNvZGUtY2FtcCI6IFs1NzYsIDUxMiwgW10sICJmMmM1IiwgIk02OS4zIDE0NC41Yy00MSA2OC41LTM2LjQgMTYzIDEgMjI3QzkyLjUgNDA5LjcgMTIwIDQyMy45IDEyMCA0MzhjMCA2LjgtNiAxMy0xMi44IDEzQzg3LjcgNDUxIDggMzc1LjUgOCAyNTMuMmMwLTExMS41IDc4LTE4NiA5Ny4xLTE4NiA2IDAgMTQuOSA0LjggMTQuOSAxMS4xIDAgMTIuNy0yOC4zIDI4LjYtNTAuNyA2Ni4yem0xOTUuOCAyMTMuOGM0LjUgMS44IDEyLjMgNS4yIDEyLjMtMS4yIDAtMi43LTIuMi0yLjktNC4zLTMuNi04LjUtMy40LTE0LTcuNy0xOS4xLTE1LjItOC4yLTEyLjEtMTAuMS0yNC4yLTEwLjEtMzguNiAwLTMyLjEgNDQuMi0zNy45IDQ0LjItNzAgMC0xMi4zLTcuNy0xNS45LTcuNy0xOS4zIDAtMi4yLjctMi4yIDIuOS0yLjIgOCAwIDE5LjEgMTMuMyAyMi41IDE5LjggMi4yIDQuNiAyLjQgNiAyLjQgMTEuMSAwIDctLjcgMTQuMi0uNyAyMS4zIDAgMjcgMzEuOSAxOS44IDMxLjkgNi44IDAtNi0zLjYtMTEuNi0zLjYtMTcuNCAwLS43IDAtMS4yLjctMS4yIDMuNCAwIDkuNCA3LjcgMTEuMSAxMC4xIDUuOCA4LjkgOC41IDIwLjggOC41IDMxLjQgMCAzMi40LTI5LjUgNDktMjkuNSA1NiAwIDEgMi45IDcuNyAxMi4xIDEuOSAyOS43LTE1LjEgNTMuMS00Ny42IDUzLjEtODkuOCAwLTMzLjYtOC43LTU3LjctMzIuMS04Mi42LTMuOS00LjEtMTYuNC0xNi45LTIyLjUtMTYuOS04LjIgMCA3LjIgMTguNiA3LjIgMzEuMiAwIDcuMi00LjggMTIuMy0xMi4zIDEyLjMtMTEuNiAwLTE0LjUtMjUuNC0xNS45LTMzLjMtNS44LTMzLjgtMTIuOC01OC4yLTQ2LjQtNzQuMS0xMC40LTUtMzYuNS0xMS44LTM2LjUtMi4yIDAgMi40IDIuNyA0LjEgNC42IDUuMSA5LjIgNS42IDE5LjYgMjEuNCAxOS42IDM4LjIgMCA0Ni4xLTU3LjcgODguMi01Ny43IDEzNi4yLS4yIDQwLjMgMjguMSA3Mi42IDY1LjMgODYuMnpNNDcwLjQgNjdjLTYgMC0xNC40IDYuNS0xNC40IDEyLjYgMCA4LjcgMTIuMSAxOS42IDE3LjYgMjUuNCA4MS42IDg1LjEgNzguNiAyMTQuMyAxNy42IDI5MS03IDguOS0zNS4zIDM1LjMtMzUuMyA0My41IDAgNS4xIDguMiAxMS40IDEzLjIgMTEuNCAyNS40IDAgOTguOC04MC44IDk4LjgtMTg1LjdDNTY4IDE0NS45IDQ5MS44IDY3IDQ3MC40IDY3em0tNDIuMyAzMjMuMUgxNjdjLTkuNCAwLTE1LjUgNy41LTE1LjUgMTYuNCAwIDguNSA3IDE1LjUgMTUuNSAxNS41aDI2MS4xYzkuNCAwIDExLjktNy41IDExLjktMTYuNCAwLTguNS0zLjUtMTUuNS0xMS45LTE1LjV6Il0sCiAgICAgICJmcmVlYnNkIjogWzQ0OCwgNTEyLCBbXSwgImYzYTQiLCAiTTMwMy43IDk2LjJjMTEuMS0xMS4xIDExNS41LTc3IDEzOS4yLTUzLjIgMjMuNyAyMy43LTQyLjEgMTI4LjEtNTMuMiAxMzkuMi0xMS4xIDExLjEtMzkuNC45LTYzLjEtMjIuOS0yMy44LTIzLjctMzQuMS01Mi0yMi45LTYzLjF6TTEwOS45IDY4LjFDNzMuNiA0Ny41IDIyIDI0LjYgNS42IDQxLjFjLTE2LjYgMTYuNiA3LjEgNjkuNCAyNy45IDEwNS43IDE4LjUtMzIuMiA0NC44LTU5LjMgNzYuNC03OC43ek00MDYuNyAxNzRjMy4zIDExLjMgMi43IDIwLjctMi43IDI2LjEtMjAuMyAyMC4zLTg3LjUtMjctMTA5LjMtNzAuMS0xOC0zMi4zLTExLjEtNTMuNCAxNC45LTQ4LjcgNS43LTMuNiAxMi4zLTcuNiAxOS42LTExLjYtMjkuOC0xNS41LTYzLjYtMjQuMy05OS41LTI0LjMtMTE5LjEgMC0yMTUuNiA5Ni41LTIxNS42IDIxNS42IDAgMTE5IDk2LjUgMjE1LjYgMjE1LjYgMjE1LjZTNDQ1LjMgMzgwLjEgNDQ1LjMgMjYxYzAtMzguNC0xMC4xLTc0LjUtMjcuNy0xMDUuOC0zLjkgNy03LjYgMTMuMy0xMC45IDE4Ljh6Il0sCiAgICAgICJnZXQtcG9ja2V0IjogWzQ0OCwgNTEyLCBbXSwgImYyNjUiLCAiTTQwNy42IDY0aC0zNjdDMTguNSA2NCAwIDgyLjUgMCAxMDQuNnYxMzUuMkMwIDM2NC41IDk5LjcgNDY0IDIyNC4yIDQ2NGMxMjQgMCAyMjMuOC05OS41IDIyMy44LTIyNC4yVjEwNC42YzAtMjIuNC0xNy43LTQwLjYtNDAuNC00MC42em0tMTYyIDI2OC41Yy0xMi40IDExLjgtMzEuNCAxMS4xLTQyLjQgMEM4OS41IDIyMy42IDg4LjMgMjI3LjQgODguMyAyMDkuM2MwLTE2LjkgMTMuOC0zMC43IDMwLjctMzAuNyAxNyAwIDE2LjEgMy44IDEwNS4yIDg5LjMgOTAuNi04Ni45IDg4LjYtODkuMyAxMDUuNS04OS4zIDE2LjkgMCAzMC43IDEzLjggMzAuNyAzMC43IDAgMTcuOC0yLjkgMTUuNy0xMTQuOCAxMjMuMnoiXSwKICAgICAgImdnIjogWzUxMiwgNTEyLCBbXSwgImYyNjAiLCAiTTE3OS4yIDIzMC40bDEwMi40IDEwMi40LTEwMi40IDEwMi40TDAgMjU2IDE3OS4yIDc2LjhsNDQuOCA0NC44LTI1LjYgMjUuNi0xOS4yLTE5LjItMTI4IDEyOCAxMjggMTI4IDUxLjUtNTEuNS03Ny4xLTc2LjUgMjUuNi0yNS42ek0zMzIuOCA3Ni44TDIzMC40IDE3OS4ybDEwMi40IDEwMi40IDI1LjYtMjUuNi03Ny4xLTc2LjUgNTEuNS01MS41IDEyOCAxMjgtMTI4IDEyOC0xOS4yLTE5LjItMjUuNiAyNS42IDQ0LjggNDQuOEw1MTIgMjU2IDMzMi44IDc2Ljh6Il0sCiAgICAgICJnZy1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjI2MSIsICJNMjU3IDhDMTIwIDggOSAxMTkgOSAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTQgOCAyNTcgOHptLTQ5LjUgMzc0LjhMODEuOCAyNTcuMWwxMjUuNy0xMjUuNyAzNS4yIDM1LjQtMjQuMiAyNC4yLTExLjEtMTEuMS03Ny4yIDc3LjIgNzcuMiA3Ny4yIDI2LjYtMjYuNi01My4xLTUyLjkgMjQuNC0yNC40IDc3LjIgNzcuMi03NSA3NS4yem05OS0yLjJsLTM1LjItMzUuMiAyNC4xLTI0LjQgMTEuMSAxMS4xIDc3LjItNzcuMi03Ny4yLTc3LjItMjYuNSAyNi41IDUzLjEgNTIuOS0yNC40IDI0LjQtNzcuMi03Ny4yIDc1LTc1TDQzMi4yIDI1NSAzMDYuNSAzODAuNnoiXSwKICAgICAgImdpdCI6IFs0NDgsIDUxMiwgW10sICJmMWQzIiwgIk0xOC44IDIyMS43YzAgMjUuMyAxNi4yIDYwIDQxLjUgNjguNXYxYy0xOC44IDguMy0yNCA1MC42IDEgNjUuOHYxQzM0IDM2NyAxNiAzODQuMyAxNiA0MTQuMmMwIDUxLjUgNDguOCA2NS44IDkxLjUgNjUuOCA1MiAwIDkwLjctMTguNyA5MC43LTc2IDAtNzAuNS0xMDEtNDQuNS0xMDEtODIuOCAwLTEzLjUgNy4yLTE4LjcgMTkuNy0yMS4zIDQxLjUtNy43IDY3LjUtNDAgNjcuNS04Mi4yIDAtNy4zLTEuNS0xNC4yLTQtMjEgNi43LTEuNSAxMy4yLTMuMyAxOS43LTUuNXYtNTAuNWMtMTcuMiA2LjgtMzUuNyAxMS44LTU0LjUgMTEuOC01My44LTMxLTEyNi44IDEuMy0xMjYuOCA2OS4yem04Ny43IDE2My44YzE3IDAgNDEuMiAzIDQxLjIgMjUgMCAyMS44LTE5LjUgMjYuMy0zNy43IDI2LjMtMTcuMyAwLTQzLjMtMi43LTQzLjMtMjUuMi4xLTIyLjMgMjIuMS0yNi4xIDM5LjgtMjYuMXpNMTAzLjMgMjU2Yy0yMiAwLTMxLjMtMTMtMzEuMy0zMy44IDAtNDkuMyA2MS00OC44IDYxLS41IDAgMjAuMy04IDM0LjMtMjkuNyAzNC4zek00MzIgMzA1LjV2NDljLTEzLjMgNy4zLTMwLjUgOS44LTQ1LjUgOS44LTUzLjUgMC01OS44LTQyLjItNTkuOC04NS43di04Ny43aC41di0xYy03IDAtNy4zLTEuNi0yNCAxdi00Ny41aDI0YzAtMjIuMy4zLTMxLTEuNS00MS4yaDU2LjdjLTIgMTMuOC0xLjUgMjcuNS0xLjUgNDEuMmg1MXY0Ny41cy0xOS4zLTEtNTEtMVYyODFjMCAxNC44IDMuMyAzMi44IDIxLjggMzIuOCA5LjggMCAyMS4zLTIuOCAyOS4zLTguM3pNMjg2IDY4LjdjMCAxOC43LTE0LjUgMzYuMi0zMy44IDM2LjItMTkuOCAwLTM0LjUtMTcuMi0zNC41LTM2LjIgMC0xOS4zIDE0LjUtMzYuNyAzNC41LTM2LjdDMjcyIDMyIDI4NiA1MCAyODYgNjguN3ptLTYuMiA3NC41Yy0xLjggMTQuNi0xLjYgMTk5LjggMCAyMTcuOGgtNTUuNWMxLjYtMTguMSAxLjgtMjAzIDAtMjE3LjhoNTUuNXoiXSwKICAgICAgImdpdC1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjFkMiIsICJNMTQwLjEgMzQ4LjVjMTIuMSAwIDI5LjUgMi4xIDI5LjUgMTcuOSAwIDE1LjUtMTMuOSAxOC44LTI3IDE4LjgtMTIuMyAwLTMwLjktMi0zMC45LTE4czE1LjctMTguNyAyOC40LTE4Ljd6bS0yNC43LTExNi42YzAgMTQuOCA2LjYgMjQuMSAyMi4zIDI0LjEgMTUuNSAwIDIxLjItMTAgMjEuMi0yNC41LjEtMzQuNC00My41LTM0LjgtNDMuNS40ek00NDggODB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS0yNDEgOTMuN2MtMTIuMyA0LjgtMjUuNSA4LjQtMzguOSA4LjQtMzguNS0yMi4xLTkwLjcuOS05MC43IDQ5LjUgMCAxOCAxMS42IDQyLjkgMjkuNiA0OC45di43Yy0xMy40IDUuOS0xNy4xIDM2LjEuNyA0N3YuN2MtMTkuNSA2LjQtMzIuMyAxOC44LTMyLjMgNDAuMiAwIDM2LjggMzQuOCA0NyA2NS40IDQ3IDM3LjEgMCA2NC44LTEzLjQgNjQuOC01NC4zIDAtNTAuNC03Mi4xLTMxLjgtNzIuMS01OS4xIDAtOS42IDUuMi0xMy40IDE0LjEtMTUuMiAyOS42LTUuNSA0OC4yLTI4LjYgNDguMi01OC43IDAtNS4yLTEuMS0xMC4yLTIuOS0xNSA0LjgtMS4xIDkuNS0yLjMgMTQuMS0zLjl2LTM2LjJ6bTU2LjggMS44aC0zOS42YzEuMyAxMC42IDEuMSAxNDIuNiAwIDE1NS41aDM5LjZjLTEuMS0xMi44LTEuMi0xNDUuMSAwLTE1NS41em00LjUtNTMuM2MwLTEzLjQtMTAtMjYuMi0yNC4xLTI2LjItMTQuMyAwLTI0LjYgMTIuNS0yNC42IDI2LjIgMCAxMy42IDEwLjUgMjUuOSAyNC42IDI1LjkgMTMuNyAwIDI0LjEtMTIuNSAyNC4xLTI1Ljl6bTEwNC4zIDUzLjNoLTM2LjRjMC05LjgtLjQtMTkuNiAxLjEtMjkuNWgtNDAuNWMxLjMgNy4zIDEuMSAxMy42IDEuMSAyOS41aC0xNy4xdjMzLjljMTEuOS0xLjkgMTIuMS0uNyAxNy4xLS43di43aC0uNHY2Mi43YzAgMzEuMSA0LjUgNjEuMiA0Mi43IDYxLjIgMTAuNyAwIDIzLTEuOCAzMi41LTd2LTM1Yy01LjcgMy45LTEzLjkgNS45LTIwLjkgNS45LTEzLjIgMC0xNS41LTEyLjktMTUuNS0yMy40di02NS4yYzIyLjcgMCAzNi40LjcgMzYuNC43di0zMy44eiJdLAogICAgICAiZ2l0aHViIjogWzQ5NiwgNTEyLCBbXSwgImYwOWIiLCAiTTE2NS45IDM5Ny40YzAgMi0yLjMgMy42LTUuMiAzLjYtMy4zLjMtNS42LTEuMy01LjYtMy42IDAtMiAyLjMtMy42IDUuMi0zLjYgMy0uMyA1LjYgMS4zIDUuNiAzLjZ6bS0zMS4xLTQuNWMtLjcgMiAxLjMgNC4zIDQuMyA0LjkgMi42IDEgNS42IDAgNi4yLTJzLTEuMy00LjMtNC4zLTUuMmMtMi42LS43LTUuNS4zLTYuMiAyLjN6bTQ0LjItMS43Yy0yLjkuNy00LjkgMi42LTQuNiA0LjkuMyAyIDIuOSAzLjMgNS45IDIuNiAyLjktLjcgNC45LTIuNiA0LjYtNC42LS4zLTEuOS0zLTMuMi01LjktMi45ek0yNDQuOCA4QzEwNi4xIDggMCAxMTMuMyAwIDI1MmMwIDExMC45IDY5LjggMjA1LjggMTY5LjUgMjM5LjIgMTIuOCAyLjMgMTcuMy01LjYgMTcuMy0xMi4xIDAtNi4yLS4zLTQwLjQtLjMtNjEuNCAwIDAtNzAgMTUtODQuNy0yOS44IDAgMC0xMS40LTI5LjEtMjcuOC0zNi42IDAgMC0yMi45LTE1LjcgMS42LTE1LjQgMCAwIDI0LjkgMiAzOC42IDI1LjggMjEuOSAzOC42IDU4LjYgMjcuNSA3Mi45IDIwLjkgMi4zLTE2IDguOC0yNy4xIDE2LTMzLjctNTUuOS02LjItMTEyLjMtMTQuMy0xMTIuMy0xMTAuNSAwLTI3LjUgNy42LTQxLjMgMjMuNi01OC45LTIuNi02LjUtMTEuMS0zMy4zIDIuNi02Ny45IDIwLjktNi41IDY5IDI3IDY5IDI3IDIwLTUuNiA0MS41LTguNSA2Mi44LTguNXM0Mi44IDIuOSA2Mi44IDguNWMwIDAgNDguMS0zMy42IDY5LTI3IDEzLjcgMzQuNyA1LjIgNjEuNCAyLjYgNjcuOSAxNiAxNy43IDI1LjggMzEuNSAyNS44IDU4LjkgMCA5Ni41LTU4LjkgMTA0LjItMTE0LjggMTEwLjUgOS4yIDcuOSAxNyAyMi45IDE3IDQ2LjQgMCAzMy43LS4zIDc1LjQtLjMgODMuNiAwIDYuNSA0LjYgMTQuNCAxNy4zIDEyLjFDNDI4LjIgNDU3LjggNDk2IDM2Mi45IDQ5NiAyNTIgNDk2IDExMy4zIDM4My41IDggMjQ0LjggOHpNOTcuMiAzNTIuOWMtMS4zIDEtMSAzLjMuNyA1LjIgMS42IDEuNiAzLjkgMi4zIDUuMiAxIDEuMy0xIDEtMy4zLS43LTUuMi0xLjYtMS42LTMuOS0yLjMtNS4yLTF6bS0xMC44LTguMWMtLjcgMS4zLjMgMi45IDIuMyAzLjkgMS42IDEgMy42LjcgNC4zLS43LjctMS4zLS4zLTIuOS0yLjMtMy45LTItLjYtMy42LS4zLTQuMy43em0zMi40IDM1LjZjLTEuNiAxLjMtMSA0LjMgMS4zIDYuMiAyLjMgMi4zIDUuMiAyLjYgNi41IDEgMS4zLTEuMy43LTQuMy0xLjMtNi4yLTIuMi0yLjMtNS4yLTIuNi02LjUtMXptLTExLjQtMTQuN2MtMS42IDEtMS42IDMuNiAwIDUuOSAxLjYgMi4zIDQuMyAzLjMgNS42IDIuMyAxLjYtMS4zIDEuNi0zLjkgMC02LjItMS40LTIuMy00LTMuMy01LjYtMnoiXSwKICAgICAgImdpdGh1Yi1hbHQiOiBbNDgwLCA1MTIsIFtdLCAiZjExMyIsICJNMTg2LjEgMzI4LjdjMCAyMC45LTEwLjkgNTUuMS0zNi43IDU1LjFzLTM2LjctMzQuMi0zNi43LTU1LjEgMTAuOS01NS4xIDM2LjctNTUuMSAzNi43IDM0LjIgMzYuNyA1NS4xek00ODAgMjc4LjJjMCAzMS45LTMuMiA2NS43LTE3LjUgOTUtMzcuOSA3Ni42LTE0Mi4xIDc0LjgtMjE2LjcgNzQuOC03NS44IDAtMTg2LjIgMi43LTIyNS42LTc0LjgtMTQuNi0yOS0yMC4yLTYzLjEtMjAuMi05NSAwLTQxLjkgMTMuOS04MS41IDQxLjUtMTEzLjYtNS4yLTE1LjgtNy43LTMyLjQtNy43LTQ4LjggMC0yMS41IDQuOS0zMi4zIDE0LjYtNTEuOCA0NS4zIDAgNzQuMyA5IDEwOC44IDM2IDI5LTYuOSA1OC44LTEwIDg4LjctMTAgMjcgMCA1NC4yIDIuOSA4MC40IDkuMiAzNC0yNi43IDYzLTM1LjIgMTA3LjgtMzUuMiA5LjggMTkuNSAxNC42IDMwLjMgMTQuNiA1MS44IDAgMTYuNC0yLjYgMzIuNy03LjcgNDguMiAyNy41IDMyLjQgMzkgNzIuMyAzOSAxMTQuMnptLTY0LjMgNTAuNWMwLTQzLjktMjYuNy04Mi42LTczLjUtODIuNi0xOC45IDAtMzcgMy40LTU2IDYtMTQuOSAyLjMtMjkuOCAzLjItNDUuMSAzLjItMTUuMiAwLTMwLjEtLjktNDUuMS0zLjItMTguNy0yLjYtMzctNi01Ni02LTQ2LjggMC03My41IDM4LjctNzMuNSA4Mi42IDAgODcuOCA4MC40IDEwMS4zIDE1MC40IDEwMS4zaDQ4LjJjNzAuMyAwIDE1MC42LTEzLjQgMTUwLjYtMTAxLjN6bS04Mi42LTU1LjFjLTI1LjggMC0zNi43IDM0LjItMzYuNyA1NS4xczEwLjkgNTUuMSAzNi43IDU1LjEgMzYuNy0zNC4yIDM2LjctNTUuMS0xMC45LTU1LjEtMzYuNy01NS4xeiJdLAogICAgICAiZ2l0aHViLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMDkyIiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0yNzcuMyA0MTUuN2MtOC40IDEuNS0xMS41LTMuNy0xMS41LTggMC01LjQuMi0zMyAuMi01NS4zIDAtMTUuNi01LjItMjUuNS0xMS4zLTMwLjcgMzctNC4xIDc2LTkuMiA3Ni03My4xIDAtMTguMi02LjUtMjcuMy0xNy4xLTM5IDEuNy00LjMgNy40LTIyLTEuNy00NS0xMy45LTQuMy00NS43IDE3LjktNDUuNyAxNy45LTEzLjItMy43LTI3LjUtNS42LTQxLjYtNS42LTE0LjEgMC0yOC40IDEuOS00MS42IDUuNiAwIDAtMzEuOC0yMi4yLTQ1LjctMTcuOS05LjEgMjIuOS0zLjUgNDAuNi0xLjcgNDUtMTAuNiAxMS43LTE1LjYgMjAuOC0xNS42IDM5IDAgNjMuNiAzNy4zIDY5IDc0LjMgNzMuMS00LjggNC4zLTkuMSAxMS43LTEwLjYgMjIuMy05LjUgNC4zLTMzLjggMTEuNy00OC4zLTEzLjktOS4xLTE1LjgtMjUuNS0xNy4xLTI1LjUtMTcuMS0xNi4yLS4yLTEuMSAxMC4yLTEuMSAxMC4yIDEwLjggNSAxOC40IDI0LjIgMTguNCAyNC4yIDkuNyAyOS43IDU2LjEgMTkuNyA1Ni4xIDE5LjcgMCAxMy45LjIgMzYuNS4yIDQwLjYgMCA0LjMtMyA5LjUtMTEuNSA4LTY2LTIyLjEtMTEyLjItODQuOS0xMTIuMi0xNTguMyAwLTkxLjggNzAuMi0xNjEuNSAxNjItMTYxLjVTMzg4IDE2NS42IDM4OCAyNTcuNGMuMSA3My40LTQ0LjcgMTM2LjMtMTEwLjcgMTU4LjN6bS05OC4xLTYxLjFjLTEuOS40LTMuNy0uNC0zLjktMS43LS4yLTEuNSAxLjEtMi44IDMtMy4yIDEuOS0uMiAzLjcuNiAzLjkgMS45LjMgMS4zLTEgMi42LTMgM3ptLTkuNS0uOWMwIDEuMy0xLjUgMi40LTMuNSAyLjQtMi4yLjItMy43LS45LTMuNy0yLjQgMC0xLjMgMS41LTIuNCAzLjUtMi40IDEuOS0uMiAzLjcuOSAzLjcgMi40em0tMTMuNy0xLjFjLS40IDEuMy0yLjQgMS45LTQuMSAxLjMtMS45LS40LTMuMi0xLjktMi44LTMuMi40LTEuMyAyLjQtMS45IDQuMS0xLjUgMiAuNiAzLjMgMi4xIDIuOCAzLjR6bS0xMi4zLTUuNGMtLjkgMS4xLTIuOC45LTQuMy0uNi0xLjUtMS4zLTEuOS0zLjItLjktNC4xLjktMS4xIDIuOC0uOSA0LjMuNiAxLjMgMS4zIDEuOCAzLjMuOSA0LjF6bS05LjEtOS4xYy0uOS42LTIuNiAwLTMuNy0xLjVzLTEuMS0zLjIgMC0zLjljMS4xLS45IDIuOC0uMiAzLjcgMS4zIDEuMSAxLjUgMS4xIDMuMyAwIDQuMXptLTYuNS05LjdjLS45LjktMi40LjQtMy41LS42LTEuMS0xLjMtMS4zLTIuOC0uNC0zLjUuOS0uOSAyLjQtLjQgMy41LjYgMS4xIDEuMyAxLjMgMi44LjQgMy41em0tNi43LTcuNGMtLjQuOS0xLjcgMS4xLTIuOC40LTEuMy0uNi0xLjktMS43LTEuNS0yLjYuNC0uNiAxLjUtLjkgMi44LS40IDEuMy43IDEuOSAxLjggMS41IDIuNnoiXSwKICAgICAgImdpdGtyYWtlbiI6IFs1OTIsIDUxMiwgW10sICJmM2E2IiwgIk01NjUuNyAxMTguMWMtMi4zLTYuMS05LjMtOS4yLTE1LjMtNi42LTUuNyAyLjQtOC41IDguOS02LjMgMTQuNiAxMC45IDI5IDE2LjkgNjAuNSAxNi45IDkzLjMgMCAxMzQuNi0xMDAuMyAyNDUuNy0yMzAuMiAyNjIuN1YzNTguNGM3LjktMS41IDE1LjUtMy42IDIzLTYuMnYxMDRjMTA2LjctMjUuOSAxODUuOS0xMjIuMSAxODUuOS0yMzYuOCAwLTkxLjgtNTAuOC0xNzEuOC0xMjUuOC0yMTMuMy01LjctMy4yLTEzLS45LTE1LjkgNS0yLjcgNS41LS42IDEyLjIgNC43IDE1LjEgNjcuOSAzNy42IDExMy45IDExMCAxMTMuOSAxOTMuMiAwIDkzLjMtNTcuOSAxNzMuMS0xMzkuOCAyMDUuNHYtOTIuMmMxNC4yLTQuNSAyNC45LTE3LjcgMjQuOS0zMy41IDAtMTMuMS02LjgtMjQuNC0xNy4zLTMwLjUgOC4zLTc5LjUgNDQuNS01OC42IDQ0LjUtODMuOVYxNzBjMC0zOC04Ny45LTE2MS44LTEyOS0xNjQuNy0yLjUtLjItNS0uMi03LjYgMEMyNTEuMSA4LjMgMTYzLjIgMTMyIDE2My4yIDE3MHYxNC44YzAgMjUuMyAzNi4zIDQuMyA0NC41IDgzLjktMTAuNiA2LjEtMTcuMyAxNy40LTE3LjMgMzAuNSAwIDE1LjggMTAuNiAyOSAyNC44IDMzLjV2OTIuMmMtODEuOS0zMi4yLTEzOS44LTExMi0xMzkuOC0yMDUuNCAwLTgzLjEgNDYtMTU1LjUgMTEzLjktMTkzLjIgNS40LTMgNy40LTkuNiA0LjctMTUuMS0yLjktNS45LTEwLjEtOC4yLTE1LjktNS03NSA0MS41LTEyNS44IDEyMS41LTEyNS44IDIxMy4zIDAgMTE0LjcgNzkuMiAyMTAuOCAxODUuOSAyMzYuOHYtMTA0YzcuNiAyLjUgMTUuMSA0LjYgMjMgNi4ydjEyMy43QzEzMS40IDQ2NS4yIDMxIDM1NC4xIDMxIDIxOS41YzAtMzIuOCA2LTY0LjMgMTYuOS05My4zIDIuMi01LjgtLjYtMTIuMi02LjMtMTQuNi02LTIuNi0xMyAuNC0xNS4zIDYuNkMxNC41IDE0OS43IDggMTgzLjggOCAyMTkuNWMwIDE1NS4xIDEyMi42IDI4MS42IDI3Ni4zIDI4Ny44VjM2MS40YzYuOC40IDE1IC41IDIzLjQgMHYxNDUuOEM0NjEuNCA1MDEuMSA1ODQgMzc0LjYgNTg0IDIxOS41YzAtMzUuNy02LjUtNjkuOC0xOC4zLTEwMS40ek0zNjUuOSAyNzUuNWMxMyAwIDIzLjcgMTAuNSAyMy43IDIzLjcgMCAxMy4xLTEwLjYgMjMuNy0yMy43IDIzLjctMTMgMC0yMy43LTEwLjUtMjMuNy0yMy43IDAtMTMuMSAxMC42LTIzLjcgMjMuNy0yMy43em0tMTM5LjggNDcuM2MtMTMuMiAwLTIzLjctMTAuNy0yMy43LTIzLjdzMTAuNS0yMy43IDIzLjctMjMuN2MxMy4xIDAgMjMuNyAxMC42IDIzLjcgMjMuNyAwIDEzLTEwLjUgMjMuNy0yMy43IDIzLjd6Il0sCiAgICAgICJnaXRsYWIiOiBbNTEyLCA1MTIsIFtdLCAiZjI5NiIsICJNMjkuNzgyIDE5OS43MzJMMjU2IDQ5My43MTQgOC4wNzQgMzA5LjY5OWMtNi44NTYtNS4xNDItOS43MTItMTMuOTk2LTcuMTQxLTIxLjk5M2wyOC44NDktODcuOTc0em03NS40MDUtMTc0LjgwNmMtMy4xNDItOC44NTQtMTUuNzA5LTguODU0LTE4Ljg1MSAwTDI5Ljc4MiAxOTkuNzMyaDEzMS45NjFMMTA1LjE4NyAyNC45MjZ6bTU2LjU1NiAxNzQuODA2TDI1NiA0OTMuNzE0bDk0LjI1Ny0yOTMuOTgySDE2MS43NDN6bTM0OS4zMjQgODcuOTc0bC0yOC44NDktODcuOTc0TDI1NiA0OTMuNzE0bDI0Ny45MjYtMTg0LjAxNWM2Ljg1NS01LjE0MiA5LjcxMS0xMy45OTYgNy4xNDEtMjEuOTkzem0tODUuNDA0LTI2Mi43OGMtMy4xNDItOC44NTQtMTUuNzA5LTguODU0LTE4Ljg1MSAwbC01Ni41NTUgMTc0LjgwNmgxMzEuOTYxTDQyNS42NjMgMjQuOTI2eiJdLAogICAgICAiZ2l0dGVyIjogWzM4NCwgNTEyLCBbXSwgImY0MjYiLCAiTTY2LjQgMzIyLjVIMTZWMGg1MC40djMyMi41ek0xNjYuOSA3Ni4xaC01MC40VjUxMmg1MC40Vjc2LjF6bTEwMC42IDBoLTUwLjRWNTEyaDUwLjRWNzYuMXpNMzY4IDc2aC01MC40djI0N0gzNjhWNzZ6Il0sCiAgICAgICJnbGlkZSI6IFs0NDgsIDUxMiwgW10sICJmMmE1IiwgIk0yNTIuOCAxNDguNmMwIDguOC0xLjYgMTcuNy0zLjQgMjYuNC01LjggMjcuOC0xMS42IDU1LjgtMTcuMyA4My42LTEuNCA2LjMtOC4zIDQuOS0xMy43IDQuOS0yMy44IDAtMzAuNS0yNi0zMC41LTQ1LjUgMC0yOS4zIDExLjItNjguMSAzOC41LTgzLjEgNC4zLTIuNSA5LjItNC4yIDE0LjEtNC4yIDExLjQgMCAxMi4zIDguMyAxMi4zIDE3Ljl6TTQ0OCA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHptLTY0IDE4N2MwLTUuMS0yMC44LTM3LjctMjUuNS0zOS41LTIuMi0uOS03LjItMi4zLTkuNi0yLjMtMjMuMSAwLTM4LjcgMTAuNS01OC4yIDIxLjVsLS41LS41YzQuMy0yOS40IDE0LjYtNTcuMiAxNC42LTg3LjQgMC00NC42LTIzLjgtNjIuNy02Ny41LTYyLjctNzEuNyAwLTEwOCA3MC44LTEwOCAxMjMuNSAwIDU0LjcgMzIgODUgODYuMyA4NSA3LjUgMCA2LjktLjYgNi45IDIuMy0xMC41IDgwLjMtNTYuNSA4Mi45LTU2LjUgNTguOSAwLTI0LjQgMjgtMzYuNSAyOC4zLTM4LS4yLTcuNi0yOS4zLTE3LjItMzYuNy0xNy4yLTIxLjEgMC0zMi43IDMzLTMyLjcgNTAuNiAwIDMyLjMgMjAuNCA1NC43IDUzLjMgNTQuNyA0OC4yIDAgODMuNC00OS43IDk0LjMtOTEuNyA5LjQtMzcuNyA3LTM5LjQgMTIuMy00Mi4xIDIwLTEwLjEgMzUuOC0xNi44IDU4LjQtMTYuOCAxMS4xIDAgMTkgMi4zIDM2LjcgNS4yIDEuOC4xIDQuMS0xLjcgNC4xLTMuNXoiXSwKICAgICAgImdsaWRlLWciOiBbNDQ4LCA1MTIsIFtdLCAiZjJhNiIsICJNNDA3LjEgMjExLjJjLTMuNS0xLjQtMTEuNi0zLjgtMTUuNC0zLjgtMzcuMSAwLTYyLjIgMTYuOC05My41IDM0LjVsLS45LS45YzctNDcuMyAyMy41LTkxLjkgMjMuNS0xNDAuNEMzMjAuOCAyOS4xIDI4Mi42IDAgMjEyLjQgMCA5Ny4zIDAgMzkgMTEzLjcgMzkgMTk4LjQgMzkgMjg2LjMgOTAuMyAzMzUgMTc3LjYgMzM1YzEyIDAgMTEtMSAxMSAzLjgtMTYuOSAxMjguOS05MC44IDEzMy4xLTkwLjggOTQuNiAwLTM5LjIgNDUtNTguNiA0NS41LTYxLS4zLTEyLjItNDctMjcuNi01OC45LTI3LjYtMzMuOS4xLTUyLjQgNTEuMi01Mi40IDc5LjNDMzIgNDc2IDY0LjggNTEyIDExNy41IDUxMmM3Ny40IDAgMTM0LTc3LjggMTUxLjQtMTQ1LjQgMTUuMS02MC41IDExLjItNjMuMyAxOS43LTY3LjYgMzIuMi0xNi4yIDU3LjUtMjcgOTMuOC0yNyAxNy44IDAgMzAuNSAzLjcgNTguOSA4LjQgMi45IDAgNi43LTIuOSA2LjctNS44IDAtOC0zMy40LTYwLjUtNDAuOS02My40em0tMTc1LjMtODQuNGMtOS4zIDQ0LjctMTguNiA4OS42LTI3LjggMTM0LjMtMi4zIDEwLjItMTMuMyA3LjgtMjIgNy44LTM4LjMgMC00OS00MS44LTQ5LTczLjEgMC00NyAxOC0xMDkuMyA2MS44LTEzMy40IDctNC4xIDE0LjgtNi43IDIyLjYtNi43IDE4LjYgMCAyMCAxMy4zIDIwIDI4LjctLjEgMTQuMy0yLjcgMjguNS01LjYgNDIuNHoiXSwKICAgICAgImdvZm9yZSI6IFs0MDAsIDUxMiwgW10sICJmM2E3IiwgIk0zMjQgMzE5LjhoLTEzLjJ2MzQuN2MtMjQuNSAyMy4xLTU2LjMgMzUuOC04OS45IDM1LjgtNzMuMiAwLTEzMi40LTYwLjItMTMyLjQtMTM0LjQgMC03NC4xIDU5LjItMTM0LjQgMTMyLjQtMTM0LjQgMzUuMyAwIDY4LjYgMTQgOTMuNiAzOS40bDYyLjMtNjMuM0MzMzUgNTUuMyAyNzkuNyAzMiAyMjAuNyAzMiA5OCAzMiAwIDEzMi42IDAgMjU2YzAgMTIyLjUgOTcgMjI0IDIyMC43IDIyNCA2My4yIDAgMTI0LjUtMjYuMiAxNzEtODIuNS0yLTI3LjYtMTMuNC03Ny43LTY3LjctNzcuN3ptLTEyLjEtMTEyLjVIMjA1LjZ2ODlIMzI0YzMzLjUgMCA2MC41IDE1LjEgNzYgNDEuOHYtMzAuNmMwLTY1LjItNDAuNC0xMDAuMi04OC4xLTEwMC4yeiJdLAogICAgICAiZ29vZHJlYWRzIjogWzQ0OCwgNTEyLCBbXSwgImYzYTgiLCAiTTI5OS45IDE5MS4yYzUuMSAzNy4zLTQuNyA3OS0zNS45IDEwMC43LTIyLjMgMTUuNS01Mi44IDE0LjEtNzAuOCA1LjctMzcuMS0xNy4zLTQ5LjUtNTguNi00Ni44LTk3LjIgNC4zLTYwLjkgNDAuOS04Ny45IDc1LjMtODcuNSA0Ni45LS4yIDcxLjggMzEuOCA3OC4yIDc4LjN6TTQ0OCA4OHYzMzZjMCAzMC45LTI1LjEgNTYtNTYgNTZINTZjLTMwLjkgMC01Ni0yNS4xLTU2LTU2Vjg4YzAtMzAuOSAyNS4xLTU2IDU2LTU2aDMzNmMzMC45IDAgNTYgMjUuMSA1NiA1NnpNMzMwIDMxMy4ycy0uMS0zNC0uMS0yMTcuM2gtMjl2NDAuM2MtLjguMy0xLjItLjUtMS42LTEuMi05LjYtMjAuNy0zNS45LTQ2LjMtNzYtNDYtNTEuOS40LTg3LjIgMzEuMi0xMDAuNiA3Ny44LTQuMyAxNC45LTUuOCAzMC4xLTUuNSA0NS42IDEuNyA3Ny45IDQ1LjEgMTE3LjggMTEyLjQgMTE1LjIgMjguOS0xLjEgNTQuNS0xNyA2OS00NS4yLjUtMSAxLjEtMS45IDEuNy0yLjkuMi4xLjQuMS42LjIuMyAzLjguMiAzMC43LjEgMzQuNS0uMiAxNC44LTIgMjkuNS03LjIgNDMuNS03LjggMjEtMjIuMyAzNC43LTQ0LjUgMzkuNS0xNy44IDMuOS0zNS42IDMuOC01My4yLTEuMi0yMS41LTYuMS0zNi41LTE5LTQxLjEtNDEuOC0uMy0xLjYtMS4zLTEuMy0yLjMtMS4zaC0yNi44Yy44IDEwLjYgMy4yIDIwLjMgOC41IDI5LjIgMjQuMiA0MC41IDgyLjcgNDguNSAxMjguMiAzNy40IDQ5LjktMTIuMyA2Ny4zLTU0LjkgNjcuNC0xMDYuM3oiXSwKICAgICAgImdvb2RyZWFkcy1nIjogWzM4NCwgNTEyLCBbXSwgImYzYTkiLCAiTTQyLjYgNDAzLjNoMi44YzEyLjcgMCAyNS41IDAgMzguMi4xIDEuNiAwIDMuMS0uNCAzLjYgMi4xIDcuMSAzNC45IDMwIDU0LjYgNjIuOSA2My45IDI2LjkgNy42IDU0LjEgNy44IDgxLjMgMS44IDMzLjgtNy40IDU2LTI4LjMgNjgtNjAuNCA4LTIxLjUgMTAuNy00My44IDExLTY2LjUuMS01LjguMy00Ny0uMi01Mi44bC0uOS0uM2MtLjggMS41LTEuNyAyLjktMi41IDQuNC0yMi4xIDQzLjEtNjEuMyA2Ny40LTEwNS40IDY5LjEtMTAzIDQtMTY5LjQtNTctMTcyLTE3Ni4yLS41LTIzLjcgMS44LTQ2LjkgOC4zLTY5LjdDNTguMyA0Ny43IDExMi4zLjYgMTkxLjYgMGM2MS4zLS40IDEwMS41IDM4LjcgMTE2LjIgNzAuMy41IDEuMSAxLjMgMi4zIDIuNCAxLjlWMTAuNmg0NC4zYzAgMjgwLjMuMSAzMzIuMi4xIDMzMi4yLS4xIDc4LjUtMjYuNyAxNDMuNy0xMDMgMTYyLjItNjkuNSAxNi45LTE1OSA0LjgtMTk2LTU3LjItOC0xMy41LTExLjgtMjguMy0xMy00NC41ek0xODguOSAzNi41Yy01Mi41LS41LTEwOC41IDQwLjctMTE1IDEzMy44LTQuMSA1OSAxNC44IDEyMi4yIDcxLjUgMTQ4LjYgMjcuNiAxMi45IDc0LjMgMTUgMTA4LjMtOC43IDQ3LjYtMzMuMiA2Mi43LTk3IDU0LjgtMTU0LTkuNy03MS4xLTQ3LjgtMTIwLTExOS42LTExOS43eiJdLAogICAgICAiZ29vZ2xlIjogWzQ4OCwgNTEyLCBbXSwgImYxYTAiLCAiTTQ4OCAyNjEuOEM0ODggNDAzLjMgMzkxLjEgNTA0IDI0OCA1MDQgMTEwLjggNTA0IDAgMzkzLjIgMCAyNTZTMTEwLjggOCAyNDggOGM2Ni44IDAgMTIzIDI0LjUgMTY2LjMgNjQuOWwtNjcuNSA2NC45QzI1OC41IDUyLjYgOTQuMyAxMTYuNiA5NC4zIDI1NmMwIDg2LjUgNjkuMSAxNTYuNiAxNTMuNyAxNTYuNiA5OC4yIDAgMTM1LTcwLjQgMTQwLjgtMTA2LjlIMjQ4di04NS4zaDIzNi4xYzIuMyAxMi43IDMuOSAyNC45IDMuOSA0MS40eiJdLAogICAgICAiZ29vZ2xlLWRyaXZlIjogWzUxMiwgNTEyLCBbXSwgImYzYWEiLCAiTTMzOSAzMTQuOUwxNzUuNCAzMmgxNjEuMmwxNjMuNiAyODIuOUgzMzl6bS0xMzcuNSAyMy42TDEyMC45IDQ4MGgzMTAuNUw1MTIgMzM4LjVIMjAxLjV6TTE1NC4xIDY3LjRMMCAzMzguNSA4MC42IDQ4MCAyMzcgMjA4LjggMTU0LjEgNjcuNHoiXSwKICAgICAgImdvb2dsZS1wbGF5IjogWzUxMiwgNTEyLCBbXSwgImYzYWIiLCAiTTMyNS4zIDIzNC4zTDEwNC42IDEzbDI4MC44IDE2MS4yLTYwLjEgNjAuMXpNNDcgMEMzNCA2LjggMjUuMyAxOS4yIDI1LjMgMzUuM3Y0NDEuM2MwIDE2LjEgOC43IDI4LjUgMjEuNyAzNS4zbDI1Ni42LTI1Nkw0NyAwem00MjUuMiAyMjUuNmwtNTguOS0zNC4xLTY1LjcgNjQuNSA2NS43IDY0LjUgNjAuMS0zNC4xYzE4LTE0LjMgMTgtNDYuNS0xLjItNjAuOHpNMTA0LjYgNDk5bDI4MC44LTE2MS4yLTYwLjEtNjAuMUwxMDQuNiA0OTl6Il0sCiAgICAgICJnb29nbGUtcGx1cyI6IFs0OTYsIDUxMiwgW10sICJmMmIzIiwgIk0yNDggOEMxMTEuMSA4IDAgMTE5LjEgMCAyNTZzMTExLjEgMjQ4IDI0OCAyNDggMjQ4LTExMS4xIDI0OC0yNDhTMzg0LjkgOCAyNDggOHptLTcwLjcgMzcyYy02OC44IDAtMTI0LTU1LjUtMTI0LTEyNHM1NS4yLTEyNCAxMjQtMTI0YzMxLjMgMCA2MC4xIDExIDgzIDMyLjNsLTMzLjYgMzIuNmMtMTMuMi0xMi45LTMxLjMtMTkuMS00OS40LTE5LjEtNDIuOSAwLTc3LjIgMzUuNS03Ny4yIDc4LjFzMzQuMiA3OC4xIDc3LjIgNzguMWMzMi42IDAgNjQuOS0xOS4xIDcwLjEtNTMuM2gtNzAuMXYtNDIuNmgxMTYuOWMxLjMgNi44IDEuOSAxMy42IDEuOSAyMC43IDAgNzAuOC00Ny41IDEyMS4yLTExOC44IDEyMS4yem0yMzAuMi0xMDYuMnYzNS41SDM3MnYtMzUuNWgtMzUuNXYtMzUuNUgzNzJ2LTM1LjVoMzUuNXYzNS41aDM1LjJ2MzUuNWgtMzUuMnoiXSwKICAgICAgImdvb2dsZS1wbHVzLWciOiBbNjQwLCA1MTIsIFtdLCAiZjBkNSIsICJNMzg2LjA2MSAyMjguNDk2YzEuODM0IDkuNjkyIDMuMTQzIDE5LjM4NCAzLjE0MyAzMS45NTZDMzg5LjIwNCAzNzAuMjA1IDMxNS41OTkgNDQ4IDIwNC44IDQ0OGMtMTA2LjA4NCAwLTE5Mi04NS45MTUtMTkyLTE5MnM4NS45MTYtMTkyIDE5Mi0xOTJjNTEuODY0IDAgOTUuMDgzIDE4Ljg1OSAxMjguNjExIDUwLjI5MmwtNTIuMTI2IDUwLjAzYy0xNC4xNDUtMTMuNjIxLTM5LjAyOC0yOS41OTktNzYuNDg1LTI5LjU5OS02NS40ODQgMC0xMTguOTIgNTQuMjIxLTExOC45MiAxMjEuMjc3IDAgNjcuMDU2IDUzLjQzNiAxMjEuMjc3IDExOC45MiAxMjEuMjc3IDc1Ljk2MSAwIDEwNC41MTMtNTQuNzQ1IDEwOC45NjUtODIuNzczSDIwNC44di02Ni4wMDloMTgxLjI2MXptMTg1LjQwNiA2LjQzN1YxNzkuMmgtNTYuMDAxdjU1LjczM2gtNTUuNzMzdjU2LjAwMWg1NS43MzN2NTUuNzMzaDU2LjAwMXYtNTUuNzMzSDYyNy4ydi01Ni4wMDFoLTU1LjczM3oiXSwKICAgICAgImdvb2dsZS1wbHVzLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMGQ0IiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xNjQgMzU2Yy01NS4zIDAtMTAwLTQ0LjctMTAwLTEwMHM0NC43LTEwMCAxMDAtMTAwYzI3IDAgNDkuNSA5LjggNjcgMjYuMmwtMjcuMSAyNi4xYy03LjQtNy4xLTIwLjMtMTUuNC0zOS44LTE1LjQtMzQuMSAwLTYxLjkgMjguMi02MS45IDYzLjIgMCAzNC45IDI3LjggNjMuMiA2MS45IDYzLjIgMzkuNiAwIDU0LjQtMjguNSA1Ni44LTQzLjFIMTY0di0zNC40aDk0LjRjMSA1IDEuNiAxMC4xIDEuNiAxNi42IDAgNTcuMS0zOC4zIDk3LjYtOTYgOTcuNnptMjIwLTgxLjhoLTI5djI5aC0yOS4ydi0yOWgtMjlWMjQ1aDI5di0yOUgzNTV2MjloMjl2MjkuMnoiXSwKICAgICAgImdvb2dsZS13YWxsZXQiOiBbNDQ4LCA1MTIsIFtdLCAiZjFlZSIsICJNMTU2LjggMTI2LjhjMzcuNiA2MC42IDY0LjIgMTEzLjEgODQuMyAxNjIuNS04LjMgMzMuOC0xOC44IDY2LjUtMzEuMyA5OC4zLTEzLjItNTIuMy0yNi41LTEwMS4zLTU2LTE0OC41IDYuNS0zNi40IDIuMy03My42IDMtMTEyLjN6TTEwOS4zIDIwMEgxNi4xYy02LjUgMC0xMC41IDcuNS02LjUgMTIuN0M1MS44IDI2NyA4MS4zIDMzMC41IDEwMS4zIDQwMGgxMDMuNWMtMTYuMi02OS43LTM4LjctMTMzLjctODIuNS0xOTMuNS0zLTQtOC02LjUtMTMtNi41em00Ny44LTg4YzY4LjUgMTA4IDEzMCAyMzQuNSAxMzguMiAzNjhINDA5Yy0xMi0xMzgtNjguNC0yNjUtMTQzLjItMzY4SDE1Ny4xem0yNTEuOC02OC41Yy0xLjgtNi44LTguMi0xMS41LTE1LjItMTEuNWgtODguM2MtNS4zIDAtOSA1LTcuOCAxMC4zIDEzLjIgNDYuNSAyMi4zIDk1LjUgMjYuNSAxNDYgNDguMiA4Ni4yIDc5LjcgMTc4LjMgOTAuNiAyNzAuOCAxNS44LTYwLjUgMjUuMy0xMzMuNSAyNS4zLTIwMyAwLTczLjYtMTIuMS0xNDUuMS0zMS4xLTIxMi42eiJdLAogICAgICAiZ3JhdGlwYXkiOiBbNDk2LCA1MTIsIFtdLCAiZjE4NCIsICJNMjQ4IDhDMTExLjEgOCAwIDExOS4xIDAgMjU2czExMS4xIDI0OCAyNDggMjQ4IDI0OC0xMTEuMSAyNDgtMjQ4UzM4NC45IDggMjQ4IDh6bTExNC42IDIyNi40bC0xMTMgMTUyLjctMTEyLjctMTUyLjdjLTguNy0xMS45LTE5LjEtNTAuNCAxMy42LTcyIDI4LjEtMTguMSA1NC42LTQuMiA2OC41IDExLjkgMTUuOSAxNy45IDQ2LjYgMTYuOSA2MS43IDAgMTMuOS0xNi4xIDQwLjQtMzAgNjguMS0xMS45IDMyLjkgMjEuNiAyMi42IDYwIDEzLjggNzJ6Il0sCiAgICAgICJncmF2IjogWzUxMiwgNTEyLCBbXSwgImYyZDYiLCAiTTMwMS4xIDIxMmM0LjQgNC40IDQuNCAxMS45IDAgMTYuM2wtOS43IDkuN2MtNC40IDQuNy0xMS45IDQuNy0xNi42IDBsLTEwLjUtMTAuNWMtNC40LTQuNy00LjQtMTEuOSAwLTE2LjZsOS43LTkuN2M0LjQtNC40IDExLjktNC40IDE2LjYgMGwxMC41IDEwLjh6bS0zMC4yLTE5LjdjMy0zIDMtNy44IDAtMTAuNS0yLjgtMy03LjUtMy0xMC41IDAtMi44IDIuOC0yLjggNy41IDAgMTAuNSAzLjEgMi44IDcuOCAyLjggMTAuNSAwem0tMjYgNS4zYy0zIDIuOC0zIDcuNSAwIDEwLjIgMi44IDMgNy41IDMgMTAuNSAwIDIuOC0yLjggMi44LTcuNSAwLTEwLjItMy0zLTcuNy0zLTEwLjUgMHptNzIuNS0xMy4zYy0xOS45LTE0LjQtMzMuOC00My4yLTExLjktNjguMSAyMS42LTI0LjkgNDAuNy0xNy4yIDU5LjguOCAxMS45IDExLjMgMjkuMyAyNC45IDE3LjIgNDguMi0xMi41IDIzLjUtNDUuMSAzMy4yLTY1LjEgMTkuMXptNDcuNy00NC41Yy04LjktMTAtMjMuMyA2LjktMTUuNSAxNi4xIDcuNCA5IDMyLjEgMi40IDE1LjUtMTYuMXpNNTA0IDI1NmMwIDEzNy0xMTEgMjQ4LTI0OCAyNDhTOCAzOTMgOCAyNTYgMTE5IDggMjU2IDhzMjQ4IDExMSAyNDggMjQ4em0tNjYuMiA0Mi42YzIuNS0xNi4xLTIwLjItMTYuNi0yNS4yLTI1LjctMTMuNi0yNC4xLTI3LjctMzYuOC01NC41LTMwLjQgMTEuNi04IDIzLjUtNi4xIDIzLjUtNi4xLjMtNi40IDAtMTMtOS40LTI0LjkgMy45LTEyLjUuMy0yMi40LjMtMjIuNCAxNS41LTguNiAyNi44LTI0LjQgMjkuMS00My4yIDMuNi0zMS0xOC44LTU5LjItNDkuOC02Mi44LTIyLjEtMi41LTQzLjcgNy43LTU0LjMgMjUuNy0yMy4yIDQwLjEgMS40IDcwLjkgMjIuNCA4MS40LTE0LjQtMS40LTM0LjMtMTEuOS00MC4xLTM0LjMtNi42LTI1LjcgMi44LTQ5LjggOC45LTYxLjQgMCAwLTQuNC01LjgtOC04LjkgMCAwLTEzLjggMC0yNC42IDUuMyAxMS45LTE1LjIgMjUuMi0xNC40IDI1LjItMTQuNCAwLTYuNC0uNi0xNC45LTMuNi0yMS42LTUuNC0xMS0yMy44LTEyLjktMzEuNyAyLjguMS0uMi4zLS40LjQtLjUtNSAxMS45LTEuMSA1NS45IDE2LjkgODcuMi0yLjUgMS40LTkuMSA2LjEtMTMgMTAtMjEuNiA5LjctNTYuMiA2MC4zLTU2LjIgNjAuMy0yOC4yIDEwLjgtNzcuMiA1MC45LTcwLjYgNzkuNy4zIDMgMS40IDUuNSAzIDcuNS0yLjggMi4yLTUuNSA1LTguMyA4LjMtMTEuOSAxMy44LTUuMyAzNS4yIDE3LjcgMjQuNCAxNS44LTcuMiAyOS42LTIwLjIgMzYuMy0zMC40IDAgMC01LjUtNS0xNi4zLTQuNCAyNy43LTYuNiAzNC4zLTkuNCA0Ni4yLTkuMSA4IDMuOSA4LTM0LjMgOC0zNC4zIDAtMTQuNy0yLjItMzEtMTEuMS00MS41IDEyLjUgMTIuMiAyOS4xIDMyLjcgMjggNjAuNi0uOCAxOC4zLTE1LjIgMjMtMTUuMiAyMy05LjEgMTYuNi00My4yIDY1LjktMzAuNCAxMDYgMCAwLTkuNy0xNC45LTEwLjItMjIuMS0xNy40IDE5LjQtNDYuNSA1Mi4zLTI0LjYgNjQuNSAyNi42IDE0LjcgMTA4LjgtODguNiAxMjYuMi0xNDIuMyAzNC42LTIwLjggNTUuNC00Ny4zIDYzLjktNjUgMjIgNDMuNSA5NS4zIDk0LjUgMTAxLjEgNTl6Il0sCiAgICAgICJncmlwZmlyZSI6IFszODQsIDUxMiwgW10sICJmM2FjIiwgIk0xNzEuOCA1MDMuOGMwLTUuMyA0LjgtMTIuMiA0LjgtMjIuMyAwLTE1LjItMTMtMzkuOS03OC4xLTg2LjZDNjQuMiAzNjUuOCAzMiAzMzYuNCAzMiAyODYuNiAzMiAxNzEuOSAxNzkuMSAxMTAuMSAxNzkuMSAxOGMwLTMuMy0uMi02LjctLjYtMTAgNS4xIDIuNCAzOS4xIDQzLjMgMzkuMSA5MC40IDAgODAuNS0xMDUuMSAxMjkuMi0xMDUuMSAyMDMgMCAyNi45IDE2LjYgNDcuMiAzMi42IDY5LjUgMjIuNSAzMC4yIDQ0LjIgNTYuOSA0NC4yIDg2LjUtLjEgMTQuNS00LjQgMjkuNy0xNy41IDQ2LjR6bTE0Ni0yNDEuNGMxLjUgOC40IDIuMiAxNi42IDIuMiAyNC42IDAgNTEuOC0yOS40IDk3LjUtNjcuMyAxMzYuOC0xIDEtMi4yIDIuNC0zLjIgMi40LTMuNiAwLTM1LjUtNDEuNi0zNS41LTUzLjIgMCAwIDQxLjgtNTUuNyA0MS44LTk2LjkgMC0xMC44LTIuNy0yMS43LTkuMS0zMy40LTEuNSAzMi4zLTU1LjcgODcuNy01OC4xIDg3LjctMi43IDAtMTcuOS0yMi0xNy45LTQyLjEgMC01LjMgMS0xMC43IDMuMi0xNS44IDIuNC01LjUgNTYuNi03MiA1Ni42LTExNi43IDAtNi4yLTEtMTItMy40LTE3LjFsLTQtNy4yYzE2LjcgNi41IDgyLjYgNjQuMSA5NC43IDEzMC45Il0sCiAgICAgICJncnVudCI6IFszODQsIDUxMiwgW10sICJmM2FkIiwgIk02MS4zIDE4OS4zYy0xLjEgMTAgNS4yIDE5LjEgNS4yIDE5LjEuNy03LjUgMi4yLTEyLjggNC0xNi42LjQgMTAuMyAzLjIgMjMuNSAxMi44IDM0LjEgNi45IDcuNiAzNS42IDIzLjMgNTQuOSA2LjEgMSAyLjQgMi4xIDUuMyAzIDguNSAyLjkgMTAuMy0yLjcgMjUuMy0yLjcgMjUuM3MxNS4xLTE3LjEgMTMuOS0zMi41YzEwLjgtLjUgMjEuNC04LjQgMjEuMS0xOS41IDAgMC0xOC45IDEwLjQtMzUuNS04LjgtOS43LTExLjItNDAuOS00Mi04My4xLTMxLjggNC4zIDEgOC45IDIuNCAxMy41IDQuMWgtLjFjLTQuMiAyLTYuNSA3LjEtNyAxMnptMjguMy0xLjhjMTkuNSAxMSAzNy40IDI1LjcgNDQuOSAzNy01LjcgMy4zLTIxLjcgMTAuNC0zOC0xLjctMTAuMy03LjYtOS44LTI2LjItNi45LTM1LjN6bTc5LjIgMjMzLjdjMi4yIDIuMyAxLjUgNS4zLjkgNi44LTEuMSAyLjctNS41IDExLjYtMTMgMTkuOC0yLjcgMi45LTYuNiA0LjYtMTEgNC42LTQuMyAwLTguNy0xLjYtMTEuOC00LjMtMi4zLTIuMS0xMC4yLTkuNS0xMy43LTE4LjYtMS4zLTMuNC0xLTYuMS45LTguMSAxLjMtMS4zIDQtMi45IDkuNS0yLjlIMTYwYzQuMSAwIDcgLjkgOC44IDIuN3ptNjIuOS0xODcuOWMtMS4yIDE1LjUgMTMuOSAzMi41IDEzLjkgMzIuNXMtNS42LTE1LTIuNy0yNS4zYy45LTMuMiAyLTYgMy04LjUgMTkuMyAxNy4zIDQ4IDEuNSA1NC44LTYuMSA5LjYtMTAuNiAxMi4zLTIzLjggMTIuOC0zNC4xIDEuOCAzLjggMy40IDkuMSA0IDE2LjYgMCAwIDYuNC05LjEgNS4yLTE5LjEtLjYtNS0yLjktMTAtNy0xMS44aC0uMWM0LjYtMS44IDkuMi0zLjIgMTMuNS00LjEtNDIuMy0xMC4yLTczLjQgMjAuNi04My4xIDMxLjgtMTYuNyAxOS4yLTM1LjUgOC44LTM1LjUgOC44LS4yIDEwLjkgMTAuNCAxOC45IDIxLjIgMTkuM3ptMTcuOC04LjhjNy41LTExLjQgMjUuNC0yNiA0NC45LTM3IDMgOS4xIDMuNCAyNy43LTcgMzUuNC0xNi4zIDEyLjEtMzIuMiA1LTM3LjkgMS42LS4xLjEgMCAwIDAgMHpNMjYzIDQyMS40YzEuOSAxLjkgMi4yIDQuNi45IDcuOS0zLjUgOC45LTExLjQgMTYuMS0xMy43IDE4LjEtMy4xIDIuNi03LjQgNC4yLTExLjggNC4ycy04LjMtMS42LTExLTQuNWMtNy41LTgtMTItMTYuNy0xMy0xOS4zLS42LTEuNS0xLjMtNC40LjktNi43IDEuNy0xLjggNC43LTIuNyA4LjktMi43aDI5LjRjNS40LjEgOC4xIDEuNyA5LjQgM3ptLTk4LjMtMjUxLjVjOS45IDYgMTguOCA4LjEgMjcuMyA4LjMgOC41LS4yIDE3LjQtMi4zIDI3LjMtOC4zIDAgMC0xNC41IDE3LjctMjcuMiAxNy44aC0uMmMtMTIuNy0uMi0yNy4yLTE3LjgtMjcuMi0xNy44em0xODQuNSAxNDcuNGMtMi40IDE3LjktMTMgMzMuOC0yNC42IDQzLjctMy4xLTIyLjctMy43LTU1LjUtMy43LTYyLjQgMC0xNC43IDkuNS0yNC41IDEyLjItMjYuMSAyLjUtMS41IDUuNC0zIDguMy00LjYgMTgtOS42IDQwLjQtMjEuNiA0MC40LTQzLjcgMC0xNi4yLTkuMy0yMy4yLTE1LjQtMjcuOC0uOC0uNi0xLjUtMS4xLTIuMi0xLjctMi4xLTEuNy0zLjctMy00LjMtNC40LTQuNC05LjgtMy42LTM0LjItMS43LTM3LjYuNi0uNiAxNi43LTIwLjkgMTEuOC0zOS4yLTItNy40LTYuOS0xMy4zLTE0LjEtMTctNS4zLTIuNy0xMS45LTQuMi0xOS41LTQuNS0uMS0yLS41LTMuOS0uOS01LjktLjYtMi42LTEuMS01LjMtLjktOC4xLjQtNC43LjgtOSAyLjItMTEuMyA4LjQtMTMuMyAyOC44LTE3LjYgMjktMTcuNmwxMi4zLTIuNC04LjEtOS41Yy0uMS0uMi0xNy4zLTE3LjUtNDYuMy0xNy41LTcuOSAwLTE2IDEuMy0yNC4xIDMuOS0yNC4yIDcuOC00Mi45IDMwLjUtNDkuNCAzOS4zLTMuMS0xLTYuMy0xLjktOS42LTIuNy00LjItMTUuOCA5LTM4LjUgOS0zOC41cy0xMy42LTMtMzMuNyAxNS4yYy0yLjYtNi41LTguMS0yMC41LTEuOC0zNy4yQzE4NC42IDEwLjEgMTc3LjIgMjYgMTc1IDQwLjRjLTcuNi01LjQtNi43LTIzLjEtNy4yLTI3LjYtNy41LjktMjkuMiAyMS45LTI4LjIgNDguMy0yIC41LTMuOSAxLjEtNS45IDEuNy02LjUtOC44LTI1LjEtMzEuNS00OS40LTM5LjMtNy45LTIuMi0xNi0zLjUtMjMuOS0zLjUtMjkgMC00Ni4xIDE3LjMtNDYuMyAxNy41TDYgNDYuOWwxMi4zIDIuNGMuMiAwIDIwLjYgNC4zIDI5IDE3LjYgMS40IDIuMiAxLjggNi42IDIuMiAxMS4zLjIgMi44LS40IDUuNS0uOSA4LjEtLjQgMS45LS44IDMuOS0uOSA1LjktNy43LjMtMTQuMiAxLjgtMTkuNSA0LjUtNy4yIDMuNy0xMi4xIDkuNi0xNC4xIDE3LTUgMTguMiAxMS4yIDM4LjUgMTEuOCAzOS4yIDEuOSAzLjQgMi43IDI3LjgtMS43IDM3LjYtLjYgMS40LTIuMiAyLjctNC4zIDQuNC0uNy41LTEuNCAxLjEtMi4yIDEuNy02LjEgNC42LTE1LjQgMTEuNy0xNS40IDI3LjggMCAyMi4xIDIyLjQgMzQuMSA0MC40IDQzLjcgMyAxLjYgNS44IDMuMSA4LjMgNC42IDIuNyAxLjYgMTIuMiAxMS40IDEyLjIgMjYuMSAwIDYuOS0uNiAzOS43LTMuNyA2Mi40LTExLjYtOS45LTIyLjItMjUuOS0yNC42LTQzLjggMCAwLTI5LjIgMjIuNi0yMC42IDcwLjggNS4yIDI5LjUgMjMuMiA0Ni4xIDQ3IDU0LjcgOC44IDE5LjEgMjkuNCA0NS43IDY3LjMgNDkuNkMxNDMgNTA0LjMgMTYzIDUxMiAxOTIuMiA1MTJoLjJjMjkuMSAwIDQ5LjEtNy43IDYzLjYtMTkuNSAzNy45LTMuOSA1OC41LTMwLjUgNjcuMy00OS42IDIzLjgtOC43IDQxLjctMjUuMiA0Ny01NC43IDguMi00OC40LTIxLjEtNzAuOS0yMS4xLTcwLjl6TTMwNS43IDM3LjdjNS42LTEuOCAxMS42LTIuNyAxNy43LTIuNyAxMSAwIDE5LjkgMyAyNC43IDUtMy4xIDEuNC02LjQgMy4yLTkuNyA1LjMtMi40LS40LTUuNi0uOC05LjItLjgtMTAuNSAwLTIwLjUgMy4xLTI4LjcgOC45LTEyLjMgOC43LTE4IDE2LjktMjAuNyAyMi40LTIuMi0xLjMtNC41LTIuNS03LjEtMy43LTEuNi0uOC0zLjEtMS41LTQuNy0yLjIgNi4xLTkuMSAxOS45LTI2LjUgMzcuNy0zMi4yem0yMSAxOC4yYy0uOCAxLTEuNiAyLjEtMi4zIDMuMi0zLjMgNS4yLTMuOSAxMS42LTQuNCAxNy44LS41IDYuNC0xLjEgMTIuNS00LjQgMTctNC4yLjgtOC4xIDEuNy0xMS41IDIuNy0yLjMtMy4xLTUuNi03LTEwLjUtMTEuMiAxLjQtNC44IDUuNS0xNi4xIDEzLjUtMjIuNSA1LjYtNC4zIDEyLjItNi43IDE5LjYtN3pNNDUuNiA0NS4zYy0zLjMtMi4yLTYuNi00LTkuNy01LjMgNC44LTIgMTMuNy01IDI0LjctNSA2LjEgMCAxMiAuOSAxNy43IDIuNyAxNy44IDUuOCAzMS42IDIzLjIgMzcuNyAzMi4xLTEuNi43LTMuMiAxLjQtNC44IDIuMi0yLjUgMS4yLTQuOSAyLjUtNy4xIDMuNy0yLjYtNS40LTguMy0xMy43LTIwLjctMjIuNC04LjMtNS44LTE4LjItOC45LTI4LjgtOC45LTMuNC4xLTYuNi41LTkgLjl6bTQ0LjcgNDAuMWMtNC45IDQuMi04LjMgOC0xMC41IDExLjItMy40LS45LTcuMy0xLjktMTEuNS0yLjdDNjUgODkuNSA2NC41IDgzLjQgNjQgNzdjLS41LTYuMi0xLjEtMTIuNi00LjQtMTcuOC0uNy0xLjEtMS41LTIuMi0yLjMtMy4yIDcuNC4zIDE0IDIuNiAxOS41IDcgOCA2LjMgMTIuMSAxNy42IDEzLjUgMjIuNHpNNTguMSAyNTkuOWMtMi43LTEuNi01LjYtMy4xLTguNC00LjYtMTQuOS04LTMwLjItMTYuMy0zMC4yLTMwLjUgMC0xMS4xIDQuMy0xNC42IDguOS0xOC4ybC41LS40Yy43LS42IDEuNC0xLjIgMi4yLTEuOC0uOSA3LjItMS45IDEzLjMtMi43IDE0LjkgMCAwIDEyLjEtMTUgMTUuNy00NC4zIDEuNC0xMS41LTEuMS0zNC4zLTUuMS00MyAuMiA0LjkgMCA5LjgtLjMgMTQuNC0uNC0uOC0uOC0xLjYtMS4zLTIuMi0zLjItNC0xMS44LTE3LjUtOS40LTI2LjYuOS0zLjUgMy4xLTYgNi43LTcuOCAzLjgtMS45IDguOC0yLjkgMTUuMS0yLjkgMTIuMyAwIDI1LjkgMy43IDMyLjkgNiAyNS4xIDggNTUuNCAzMC45IDY0LjEgMzcuNy4yLjIuNC4zLjQuM2w1LjYgMy45LTMuNS01LjhjLS4yLS4zLTE5LjEtMzEuNC01My4yLTQ2LjUgMi0yLjkgNy40LTguMSAyMS42LTE1LjEgMjEuNC0xMC41IDQ2LjUtMTUuOCA3NC4zLTE1LjggMjcuOSAwIDUyLjkgNS4zIDc0LjMgMTUuOCAxNC4yIDYuOSAxOS42IDEyLjIgMjEuNiAxNS4xLTM0IDE1LjEtNTIuOSA0Ni4yLTUzLjEgNDYuNWwtMy41IDUuOCA1LjYtMy45cy4yLS4xLjQtLjNjOC43LTYuOCAzOS0yOS44IDY0LjEtMzcuNyA3LTIuMiAyMC42LTYgMzIuOS02IDYuMyAwIDExLjMgMSAxNS4xIDIuOSAzLjUgMS44IDUuNyA0LjQgNi43IDcuOCAyLjUgOS4xLTYuMSAyMi42LTkuNCAyNi42LS41LjYtLjkgMS4zLTEuMyAyLjItLjMtNC42LS41LTkuNS0uMy0xNC40LTQgOC44LTYuNSAzMS41LTUuMSA0MyAzLjYgMjkuMyAxNS43IDQ0LjMgMTUuNyA0NC4zLS44LTEuNi0xLjgtNy43LTIuNy0xNC45LjcuNiAxLjUgMS4yIDIuMiAxLjhsLjUuNGM0LjYgMy43IDguOSA3LjEgOC45IDE4LjIgMCAxNC4yLTE1LjQgMjIuNS0zMC4yIDMwLjUtMi45IDEuNS01LjcgMy4xLTguNCA0LjYtOC43IDUtMTggMTYuNy0xOS4xIDM0LjItLjkgMTQuNi45IDQ5LjkgMy40IDc1LjktMTIuNCA0LjgtMjYuNyA2LjQtMzkuNyA2LjgtMi00LjEtMy45LTguNS01LjUtMTMuMS0uNy0yLTE5LjYtNTEuMS0yNi40LTYyLjIgNS41IDM5IDE3LjUgNzMuNyAyMy41IDg5LjYtMy41LS41LTcuMy0uNy0xMS43LS43aC0xMTdjLTQuNCAwLTguMy4zLTExLjcuNyA2LTE1LjkgMTguMS01MC42IDIzLjUtODkuNi02LjggMTEuMi0yNS43IDYwLjMtMjYuNCA2Mi4yLTEuNiA0LjYtMy41IDktNS41IDEzLjEtMTMtLjQtMjcuMi0yLTM5LjctNi44IDIuNS0yNiA0LjMtNjEuMiAzLjQtNzUuOS0uOS0xNy40LTEwLjMtMjkuMi0xOS0zNC4yek0zNC44IDQwNC42Yy0xMi4xLTIwLTguNy01NC4xLTMuNy01OS4xIDEwLjkgMzQuNCA0Ny4yIDQ0LjMgNzQuNCA0NS40LTIuNyA0LjItNS4yIDcuNi03IDEwbC0xLjQgMS40Yy03LjIgNy44LTguNiAxOC41LTQuMSAzMS44LTIyLjctLjEtNDYuMy05LjgtNTguMi0yOS41em00NS43IDQzLjVjNiAxLjEgMTIuMiAxLjkgMTguNiAyLjQgMy41IDggNy40IDE1LjkgMTIuMyAyMy4xLTE0LjQtNS45LTI0LjQtMTYtMzAuOS0yNS41ek0xOTIgNDk4LjJjLTYwLjYtLjEtNzguMy00NS44LTg0LjktNjQuNy0zLjctMTAuNS0zLjQtMTguMi45LTIzLjEgMi45LTMuMyA5LjUtNy4yIDI0LjYtNy4yaDExOC44YzE1LjEgMCAyMS44IDMuOSAyNC42IDcuMiA0LjIgNC44IDQuNSAxMi42LjkgMjMuMS02LjYgMTguOC0yNC4zIDY0LjYtODQuOSA2NC43em04MC42LTI0LjZjNC45LTcuMiA4LjgtMTUuMSAxMi4zLTIzLjEgNi40LS41IDEyLjYtMS4zIDE4LjYtMi40LTYuNSA5LjUtMTYuNSAxOS42LTMwLjkgMjUuNXptNzYuNi02OWMtMTIgMTkuNy0zNS42IDI5LjMtNTguMSAyOS43IDQuNS0xMy4zIDMuMS0yNC4xLTQuMS0zMS44LS40LS41LS45LTEtMS40LTEuNS0xLjgtMi40LTQuMy01LjgtNy0xMCAyNy4yLTEuMiA2My41LTExIDc0LjQtNDUuNCA1IDUgOC40IDM5LjEtMy44IDU5eiJdLAogICAgICAiZ3VscCI6IFsyNTYsIDUxMiwgW10sICJmM2FlIiwgIk0yMDkuOCAzOTEuMWwtMTQuMSAyNC42LTQuNiA4MC4yYzAgOC45LTI4LjMgMTYuMS02My4xIDE2LjFzLTYzLjEtNy4yLTYzLjEtMTYuMWwtNS44LTc5LjQtMTQuOS0yNS40YzQxLjIgMTcuMyAxMjYgMTYuNyAxNjUuNiAwem0tMTk2LTI1My4zbDEzLjYgMTI1LjVjNS45LTIwIDIwLjgtNDcgNDAtNTUuMiA2LjMtMi43IDEyLjctMi43IDE4LjcuOSA1LjIgMyA5LjYgOS4zIDEwLjEgMTEuOCAxLjIgNi41LTIgOS4xLTQuNSA5LjEtMyAwLTUuMy00LjYtNi44LTcuMy00LjEtNy4zLTEwLjMtNy42LTE2LjktMi44LTYuOSA1LTEyLjkgMTMuNC0xNy4xIDIwLjctNS4xIDguOC05LjQgMTguNS0xMiAyOC4yLTEuNSA1LjYtMi45IDE0LjYtLjYgMTkuOSAxIDIuMiAyLjUgMy42IDQuOSAzLjYgNSAwIDEyLjMtNi42IDE1LjgtMTAuMSA0LjUtNC41IDEwLjMtMTEuNSAxMi41LTE2bDUuMi0xNS41YzIuNi02LjggOS45LTUuNiA5LjkgMCAwIDEwLjItMy43IDEzLjYtMTAgMzQuNy01LjggMTkuNS03LjYgMjUuOC03LjYgMjUuOC0uNyAyLjgtMy40IDcuNS02LjMgNy41LTEuMiAwLTIuMS0uNC0yLjYtMS4yLTEtMS40LS45LTUuMy0uOC02LjMuMi0zLjIgNi4zLTIyLjIgNy4zLTI1LjItMiAyLjItNC4xIDQuNC02LjQgNi42LTUuNCA1LjEtMTQuMSAxMS44LTIxLjUgMTEuOC0zLjQgMC01LjYtLjktNy43LTIuNGw3LjYgNzkuNmMyIDUgMzkuMiAxNy4xIDg4LjIgMTcuMSA0OS4xIDAgODYuMy0xMi4yIDg4LjItMTcuMWwxMC45LTk0LjZjLTUuNyA1LjItMTIuMyAxMS42LTE5LjYgMTQuOC01LjQgMi4zLTE3LjQgMy44LTE3LjQtNS43IDAtNS4yIDkuMS0xNC44IDE0LjQtMjEuNSAxLjQtMS43IDQuNy01LjkgNC43LTguMSAwLTIuOS02LTIuMi0xMS43IDIuNS0zLjIgMi43LTYuMiA2LjMtOC43IDkuNy00LjMgNi02LjYgMTEuMi04LjUgMTUuNS02LjIgMTQuMi00LjEgOC42LTkuMSAyMi01IDEzLjMtNC4yIDExLjgtNS4yIDE0LS45IDEuOS0yLjIgMy41LTQgNC41LTEuOSAxLTQuNS45LTYuMS0uMy0uOS0uNi0xLjMtMS45LTEuMy0zLjcgMC0uOS4xLTEuOC4zLTIuNyAxLjUtNi4xIDcuOC0xOC4xIDE1LTM0LjMgMS42LTMuNyAxLTIuNi44LTIuMy02LjIgNi0xMC45IDguOS0xNC40IDEwLjUtNS44IDIuNi0xMyAyLjYtMTQuNS00LjEtLjEtLjQtLjEtLjgtLjItMS4yLTExLjggOS4yLTI0LjMgMTEuNy0yMC04LjEtNC42IDguMi0xMi42IDE0LjktMjIuNCAxNC45LTQuMSAwLTcuMS0xLjQtOC42LTUuMS0yLjMtNS41IDEuMy0xNC45IDQuNi0yMy44IDEuNy00LjUgNC05LjkgNy4xLTE2LjIgMS42LTMuNCA0LjItNS40IDcuNi00LjUuNi4yIDEuMS40IDEuNi43IDIuNiAxLjggMS42IDQuNS4zIDcuMi0zLjggNy41LTcuMSAxMy05LjMgMjAuOC0uOSAzLjMtMiA5IDEuNSA5IDIuNCAwIDQuNy0uOCA2LjktMi40IDQuNi0zLjQgOC4zLTguNSAxMS4xLTEzLjUgMi0zLjYgNC40LTguMyA1LjYtMTIuMy41LTEuNyAxLjEtMy4zIDEuOC00LjggMS4xLTIuNSAyLjYtNS4xIDUuMi01LjEgMS4zIDAgMi40LjUgMy4yIDEuNSAxLjcgMi4yIDEuMyA0LjUuNCA2LjktMiA1LjYtNC43IDEwLjYtNi45IDE2LjctMS4zIDMuNS0yLjcgOC0yLjcgMTEuNyAwIDMuNCAzLjcgMi42IDYuOCAxLjIgMi40LTEuMSA0LjgtMi44IDYuOC00LjUgMS4yLTQuOS45LTMuOCAyNi40LTY4LjIgMS4zLTMuMyAzLjctNC43IDYuMS00LjcgMS4yIDAgMi4yLjQgMy4yIDEuMSAxLjcgMS4zIDEuNyA0LjEgMSA2LjItLjcgMS45LS42IDEuMy00LjUgMTAuNS01LjIgMTIuMS04LjYgMjAuOC0xMy4yIDMxLjktMS45IDQuNi03LjcgMTguOS04LjcgMjIuMy0uNiAyLjItMS4zIDUuOCAxIDUuOCA1LjQgMCAxOS4zLTEzLjEgMjMuMS0xNyAuMi0uMy41LS40LjktLjYuNi0xLjkgMS4yLTMuNyAxLjctNS41IDEuNC0zLjggMi43LTguMiA1LjMtMTEuMy44LTEgMS43LTEuNiAyLjctMS42IDIuOCAwIDQuMiAxLjIgNC4yIDQgMCAxLjEtLjcgNS4xLTEuMSA2LjIgMS40LTEuNSAyLjktMyA0LjUtNC41IDE1LTEzLjkgMjUuNy02LjggMjUuNy4yIDAgNy40LTguOSAxNy43LTEzLjggMjMuNC0xLjYgMS45LTQuOSA1LjQtNSA2LjQgMCAxLjMuOSAxLjggMi4yIDEuOCAyIDAgNi40LTMuNSA4LTQuNyA1LTMuOSAxMS44LTkuOSAxNi42LTE0LjFsMTQuOC0xMzYuOGMtMzAuNSAxNy4xLTE5Ny42IDE3LjItMjI4LjMuMnptMjI5LjctOC41YzAgMjEtMjMxLjIgMjEtMjMxLjIgMCAwLTguOCA1MS44LTE1LjkgMTE1LjYtMTUuOSA5IDAgMTcuOC4xIDI2LjMuNGwxMi42LTQ4LjdMMjI4LjEuNmMxLjQtMS40IDUuOC0uMiA5LjkgMy41czYuNiA3LjkgNS4zIDkuM2wtLjEuMUwxODUuOSA3NGwtMTAgNDAuN2MzOS45IDIuNiA2Ny42IDguMSA2Ny42IDE0LjZ6bS02OS40IDQuNmMwLS44LS45LTEuNS0yLjUtMi4xbC0uMi44YzAgMS4zLTUgMi40LTExLjEgMi40cy0xMS4xLTEuMS0xMS4xLTIuNGMwLS4xIDAtLjIuMS0uM2wuMi0uN2MtMS44LjYtMyAxLjQtMyAyLjMgMCAyLjEgNi4yIDMuNyAxMy43IDMuNyA3LjcuMSAxMy45LTEuNiAxMy45LTMuN3oiXSwKICAgICAgImhhY2tlci1uZXdzIjogWzQ0OCwgNTEyLCBbXSwgImYxZDQiLCAiTTAgMzJ2NDQ4aDQ0OFYzMkgwem0yMS4yIDE5Ny4ySDIxYy4xLS4xLjItLjMuMy0uNCAwIC4xIDAgLjMtLjEuNHptMjE4IDUzLjlWMzg0aC0zMS40VjI4MS4zTDEyOCAxMjhoMzcuM2M1Mi41IDk4LjMgNDkuMiAxMDEuMiA1OS4zIDEyNS42IDEyLjMtMjcgNS44LTI0LjQgNjAuNi0xMjUuNkgzMjBsLTgwLjggMTU1LjF6Il0sCiAgICAgICJoYWNrZXItbmV3cy1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjNhZiIsICJNNDAwIDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHpNMjEuMiAyMjkuMkgyMWMuMS0uMS4yLS4zLjMtLjQgMCAuMSAwIC4zLS4xLjR6bTIxOCA1My45VjM4NGgtMzEuNFYyODEuM0wxMjggMTI4aDM3LjNjNTIuNSA5OC4zIDQ5LjIgMTAxLjIgNTkuMyAxMjUuNiAxMi4zLTI3IDUuOC0yNC40IDYwLjYtMTI1LjZIMzIwbC04MC44IDE1NS4xeiJdLAogICAgICAiaGlwcyI6IFs2NDAsIDUxMiwgW10sICJmNDUyIiwgIk0wIDgwLjJjMC0xLjguOS0yLjcgMi43LTIuN2g0MC45YzEuOSAwIDIuOC45IDIuOCAyLjd2ODEuMmMxNS4yLTcuNyAzMS43LTExLjUgNDkuOC0xMS40IDI0IC4xIDQ0LjIgNi4yIDYwLjMgMTggMTguNyAxMy41IDI4IDMxLjkgMjggNTUuM3YxMzYuMWMwIDEuOS0uOSAyLjgtMi43IDIuOGgtMjcuM2MtOS4xIDAtMTYuNC03LjMtMTYuNC0xNi4zVjIyMy4zYzAtLjkgMi43LTI3LTQ1LjgtMjctNDguNiAwLTQ1LjggMjYuMi00NS44IDI3djEzNi4xYzAgMS45LS45IDIuOC0yLjggMi44aC00MWMtMS44IDAtMi43LS45LTIuNy0yLjhWODAuMnptNDk3LjcgMjIxLjVjMTMuNyAxMC4yIDM0LjEgMTkuMSA1OC40IDE5LjEgMjMuMyAwIDMyLjgtNC41IDM2LjUtMTMuNiAzLTcuOS0uNi0xNi4xLTEyLjItMjEuMmwtNTMuNi0yMy41Yy0yMS40LTkuNC0zMy44LTI0LTM3LjItNDMuNi01LjctMzMuNyAyMi4yLTUzLjMgMjIuNy01My43IDEzLjItOS42IDMyLTE1LjQgNTguNS0xNS40IDE5IDAgMzcuNCAzLjMgNTUuMSA5LjkgMS4zLjUgMS45IDEuMyAxLjkgMi42VjIwN2MwIDIuMS0yLjMgMy40LTQgMi40LTM5LjctMjAuNy03Ni42LTEyLjMtODQtNi44LTYuNiA0LjktNiAxMi41IDIuNiAxNi4xTDYwMCAyNDRjMTYuNSA3LjEgMjguMSAxOC40IDM0LjkgMzQuMSA1LjUgMTIuNiA2LjYgMjUuNiAzLjEgMzkuMS05LjYgMzYuOS00NC45IDQ1LjUtNDUuNiA0NS44LTEwLjUgMy4xLTIzLjYgNC4zLTM2LjMgNC4zLTE2LjYgMC0zMi42LTIuNy00OC4yLTguMi05LjctMy40LTE0LjYtMTAuMy0xNC42LTIwLjdWMzA0YzAtMi4xIDIuMy0zLjcgNC40LTIuM3pNMzc2LjIgMTQ5LjhjLTMxLjcgMC0xMDQuMiAyMC4xLTEwNC4yIDEwMy41djE4My41YzAgLjguNiAyLjcgMi43IDIuN2g0MC45YzEuOSAwIDIuOC0uOSAyLjgtMi43VjM0OGMxNi41IDEyLjcgMzUuOCAxOS4xIDU3LjcgMTkuMSA2MC41IDAgMTA4LjctNDguNSAxMDguNy0xMDguNy4xLTYwLjMtNDguMi0xMDguNi0xMDguNi0xMDguNnptMCAxNzAuOWMtMTcuMiAwLTMxLjktNi4xLTQ0LTE4LjItMTIuMi0xMi4yLTE4LjItMjYuOC0xOC4yLTQ0IDAtMzQuNSAyNy42LTYyLjIgNjIuMi02Mi4yIDM0LjUgMCA2Mi4yIDI3LjYgNjIuMiA2Mi4yLjEgMzQuMy0yNy4zIDYyLjItNjIuMiA2Mi4yem0tMTI0LjYgMzguN2MwIDEuOS0uOSAyLjgtMi44IDIuOGgtNDAuOWMtMS42IDAtMi43LTEuNC0yLjctMi44VjE1Ny42YzAtMS40IDEuMS0yLjggMi43LTIuOGg0MC45YzEuOSAwIDIuOC45IDIuOCAyLjh2MjAxLjhNMjI4LjMgNzIuNWMxNS45IDAgMjguOSAxMi43IDI4LjkgMjguOSAwIDE1LjgtMTIuNyAyOC45LTI4LjkgMjguOXMtMjguOS0xMy4zLTI4LjktMjguOWMuMS0xNiAxMy0yOC45IDI4LjktMjguOSJdLAogICAgICAiaGlyZS1hLWhlbHBlciI6IFs1MTIsIDUxMiwgW10sICJmM2IwIiwgIk00NDMuMSAwSDcxLjlDNjcuOSAzNy4zIDM3LjQgNjcuOCAwIDcxLjd2MzcxLjVjMzcuNCA0LjkgNjYgMzIuNCA3MS45IDY4LjhoMzcyLjJjMy0zNi40IDMyLjUtNjUuOCA2Ny45LTY5LjhWNzEuN2MtMzYuNC01LjktNjUtMzUuMy02OC45LTcxLjd6bS0zNyA0MDQuOWMtMzYuMyAwLTE4LjgtMi01NS4xLTItMzUuOCAwLTIxIDItNTYuMSAyLTUuOSAwLTQuOS04LjIgMC05LjggMjIuOC03LjYgMjIuOS0xMC4yIDI0LjYtMTIuOCAxMC40LTE1LjYgNS45LTgzIDUuOS0xMTMgMC01LjMtNi40LTEyLjgtMTMuOC0xMi44SDIwMC40Yy03LjQgMC0xMy44IDcuNS0xMy44IDEyLjggMCAzMC00LjUgOTcuNCA1LjkgMTEzIDEuNyAyLjUgMS44IDUuMiAyNC42IDEyLjggNC45IDEuNiA2IDkuOCAwIDkuOC0zNS4xIDAtMjAuMy0yLTU2LjEtMi0zNi4zIDAtMTguOCAyLTU1LjEgMi03LjkgMC01LjgtMTAuOCAwLTEwLjggMTAuMi0zLjQgMTMuNS0zLjUgMjEuNy0xMy44IDcuNy0xMi45IDcuOS00NC40IDcuOS0xMjcuOFYxNTEuM2MwLTIyLjItMTIuMi0yOC4zLTI4LjYtMzIuNC04LjgtMi4yLTQtMTEuOCAxLTExLjggMzYuNSAwIDIwLjYgMiA1Ny4xIDIgMzIuNyAwIDE2LjUtMiA0OS4yLTIgMy4zIDAgOC41IDguMyAxIDEwLjgtNC45IDEuNi0yNy42IDMuNy0yNy42IDM5LjMgMCA0NS42LS4yIDU1LjggMSA2OC44IDAgMS4zIDIuMyAxMi44IDEyLjggMTIuOGgxMDkuMmMxMC41IDAgMTIuOC0xMS41IDEyLjgtMTIuOCAxLjItMTMgMS0yMy4yIDEtNjguOCAwLTM1LjYtMjIuNy0zNy43LTI3LjYtMzkuMy03LjUtMi41LTIuMy0xMC44IDEtMTAuOCAzMi43IDAgMTYuNSAyIDQ5LjIgMiAzNi41IDAgMjAuNi0yIDU3LjEtMiA0LjkgMCA5LjkgOS42IDEgMTEuOC0xNi40IDQuMS0yOC42IDEwLjMtMjguNiAzMi40djEwMS4yYzAgODMuNC4xIDExNC45IDcuOSAxMjcuOCA4LjIgMTAuMiAxMS40IDEwLjQgMjEuNyAxMy44IDUuOCAwIDcuOCAxMC44IDAgMTAuOHoiXSwKICAgICAgImhvb2xpIjogWzY0MCwgNTEyLCBbXSwgImY0MjciLCAiTTUwOC40IDM1Mmg1Ny45VjE1Ni43TDUwOC40IDE4NHYxNjh6bTczLjctMTEwLjVWMzUySDY0MFYyNDEuNWgtNTcuOXptLTI1MC43LTguOWMtMTguMi0xOC4yLTUwLjQtMTcuMS01MC40LTE3LjFzLTMyLjItMS4xLTUwLjQgMTcuMWMtMS45IDEuOS0zLjcgMy45LTUuMyA2LTM4LjItMjkuNi03Mi41LTQ2LjUtMTAyLjEtNjEuMXYtMjAuN2wtMjIuNSAxMC42Yy01NC40LTIyLjEtODktMTguMi05Ny4zLjEgMCAwLTI0LjkgMzIuOCA2MS45IDExMC45di0zMWMtNDguOC01NC42LTM5LTc2LjEtMzUuMy03OS4yIDEzLjUtMTEuNCAzNy41LTggNjQuNCAyLjFMNjUuMiAxODR2NjMuM2MxMy4xIDE0LjcgMzAuNSAzMS41IDUzLjUgNTAuNGw0LjUgMy42di0yOS44YzAtNi45IDEuNy0xOC4yIDEwLjgtMTguMnMxMC42IDYuOSAxMC42IDE1VjMxN2MxOCAxMi4yIDM3LjMgMjIuMSA1Ny43IDI5LjZ2LTkzLjljMC0xOC43LTEzLjQtMzcuNC00MC42LTM3LjQtMTUuOC0uMS0zMC41IDguMi0zOC41IDIxLjl2LTU0LjNjNDEuOSAyMC45IDgzLjkgNDYuNSA5OS45IDU4LjMtMTAuMiAxNC42LTkuMyAyOC4xLTkuMyA0My43IDAgMTguNy0xLjQgMzQuMyAxNi44IDUyLjUgMTguMiAxOC4yIDUwLjQgMTcuMSA1MC40IDE3LjFzMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi43LTMzLjggMTYuNy01Mi41IDAtMTguNSAxLjUtMzQuMi0xNi43LTUyLjN6bS0zOS43IDcxLjljMCAzLjYtMS44IDEyLjUtMTAuNyAxMi41LTguOSAwLTEwLjctOC45LTEwLjctMTIuNXYtNDAuNGMwLTguNyA3LjMtMTAuOSAxMC43LTEwLjkgMy40IDAgMTAuNyAyLjEgMTAuNyAxMC45djQwLjR6bTE4NS43LTcxLjljLTE4LjItMTguMi01MC40LTE3LjEtNTAuNC0xNy4xcy0zMi4zLTEuMS01MC40IDE3LjFjLTE4LjIgMTguMi0xNi44IDMzLjktMTYuOCA1Mi42IDAgMTguNy0xLjQgMzQuMyAxNi44IDUyLjUgMTguMiAxOC4yIDUwLjQgMTcuMSA1MC40IDE3LjFzMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi44LTMzLjggMTYuOC01Mi41LS4xLTE4LjggMS4zLTM0LjUtMTYuOC01Mi42em0tMzkuOCA3MS45YzAgMy42LTEuOCAxMi41LTEwLjcgMTIuNS04LjkgMC0xMC43LTguOS0xMC43LTEyLjV2LTQwLjRjMC04LjcgNy4zLTEwLjkgMTAuNy0xMC45IDMuNCAwIDEwLjcgMi4xIDEwLjcgMTAuOXY0MC40em0xNzMuNS03M2MxNS45IDAgMjguOS0xMi45IDI4LjktMjguOXMtMTIuOS0yNC41LTI4LjktMjQuNWMtMTUuOSAwLTI4LjkgOC42LTI4LjkgMjQuNXMxMi45IDI4LjkgMjguOSAyOC45ek0xNDQuNSAzNTJsMzguMy44Yy0xMy4yLTQuNi0yNi0xMC4yLTM4LjMtMTYuOHYxNnptLTIxLjQgMHYtMjguNmMtNi41LTQuMi0xMy04LjctMTkuNC0xMy42LTE0LjgtMTEuMi0yNy41LTIxLjctMzguNS0zMS41VjM1Mmg1Ny45em01OS43LjhjMzYuNSAxMi41IDY5LjkgMTQuMiA5NC43IDcuMi0xOS45LjItNDUuOC0yLjYtNzUuMy0xMy4zdjUuM2wtMTkuNC44eiJdLAogICAgICAiaG90amFyIjogWzQ0OCwgNTEyLCBbXSwgImYzYjEiLCAiTTQxNC45IDE2MS41QzM0MC4yIDI5IDEyMS4xIDAgMTIxLjEgMFMyMjIuMiAxMTAuNCA5MyAxOTcuN0MxMS4zIDI1Mi44LTIxIDMyNC40IDE0IDQwMi42YzI2LjggNTkuOSA4My41IDg0LjMgMTQ0LjYgOTMuNC0yOS4yLTU1LjEtNi42LTEyMi40LTQuMS0xMjkuNiA1Ny4xIDg2LjQgMTY1IDAgMTEwLjgtOTMuOSA3MSAxNS40IDgxLjYgMTM4LjYgMjcuMSAyMTUuNSA4MC41LTI1LjMgMTM0LjEtODguOSAxNDguOC0xNDUuNiAxNS41LTU5LjMgMy43LTEyNy45LTI2LjMtMTgwLjl6Il0sCiAgICAgICJob3V6eiI6IFszMjAsIDUxMiwgW10sICJmMjdjIiwgIk0xMi4yIDI1NkwxNjAgMzQxLjEgMTIuMiA0MjYuNlYyNTZNMTYwIDUxMmwxNDcuOC04NS40VjI1NkwxNjAgMzQxLjFWNTEyem0wLTUxMkwxMi4yIDg1LjRWMjU2TDE2MCAxNzAuNlYwem0wIDE3MC42TDMwNy44IDI1NlY4NS40TDE2MCAxNzAuNnoiXSwKICAgICAgImh0bWw1IjogWzM4NCwgNTEyLCBbXSwgImYxM2IiLCAiTTAgMzJsMzQuOSAzOTUuOEwxOTEuNSA0ODBsMTU3LjYtNTIuMkwzODQgMzJIMHptMzA4LjIgMTI3LjlIMTI0LjRsNC4xIDQ5LjRoMTc1LjZsLTEzLjYgMTQ4LjQtOTcuOSAyN3YuM2gtMS4xbC05OC43LTI3LjMtNi03NS44aDQ3LjdMMTM4IDMyMGw1My41IDE0LjUgNTMuNy0xNC41IDYtNjIuMkg4NC4zTDcxLjUgMTEyLjJoMjQxLjFsLTQuNCA0Ny43eiJdLAogICAgICAiaHVic3BvdCI6IFs1MTIsIDUxMiwgW10sICJmM2IyIiwgIk0yNjcuNCAyMTEuNmMtMjUuMSAyMy43LTQwLjggNTcuMy00MC44IDk0LjYgMCAyOS4zIDkuNyA1Ni4zIDI2IDc4TDIwMy4xIDQzNGMtNC40LTEuNi05LjEtMi41LTE0LTIuNS0xMC44IDAtMjAuOSA0LjItMjguNSAxMS44LTcuNiA3LjYtMTEuOCAxNy44LTExLjggMjguNnM0LjIgMjAuOSAxMS44IDI4LjVjNy42IDcuNiAxNy44IDExLjYgMjguNSAxMS42IDEwLjggMCAyMC45LTMuOSAyOC42LTExLjYgNy42LTcuNiAxMS44LTE3LjggMTEuOC0yOC41IDAtNC4yLS42LTguMi0xLjktMTIuMWw1MC01MC4yYzIyIDE2LjkgNDkuNCAyNi45IDc5LjMgMjYuOSA3MS45IDAgMTMwLTU4LjMgMTMwLTEzMC4yIDAtNjUuMi00Ny43LTExOS4yLTExMC4yLTEyOC43VjExNmMxNy41LTcuNCAyOC4yLTIzLjggMjguMi00Mi45IDAtMjYuMS0yMC45LTQ3LjktNDctNDcuOVMzMTEuMiA0NyAzMTEuMiA3My4xYzAgMTkuMSAxMC43IDM1LjUgMjguMiA0Mi45djYxLjJjLTE1LjIgMi4xLTI5LjYgNi43LTQyLjcgMTMuNi0yNy42LTIwLjktMTE3LjUtODUuNy0xNjguOS0xMjQuOCAxLjItNC40IDItOSAyLTEzLjhDMTI5LjggMjMuNCAxMDYuMyAwIDc3LjQgMCA0OC42IDAgMjUuMiAyMy40IDI1LjIgNTIuMmMwIDI4LjkgMjMuNCA1Mi4zIDUyLjIgNTIuMyA5LjggMCAxOC45LTIuOSAyNi44LTcuNmwxNjMuMiAxMTQuN3ptODkuNSAxNjMuNmMtMzguMSAwLTY5LTMwLjktNjktNjlzMzAuOS02OSA2OS02OSA2OSAzMC45IDY5IDY5LTMwLjkgNjktNjkgNjl6Il0sCiAgICAgICJpbWRiIjogWzQ0OCwgNTEyLCBbXSwgImYyZDgiLCAiTTM1MC41IDI4OC43YzAgNS40IDEuNiAxNC40LTYuMiAxNC40LTEuNiAwLTMtLjgtMy44LTIuNC0yLjItNS4xLTEuMS00NC4xLTEuMS00NC43IDAtMy44LTEuMS0xMi43IDQuOS0xMi43IDcuMyAwIDYuMiA3LjMgNi4yIDEyLjd2MzIuN3pNMjY1IDIyOS45YzAtOS43IDEuNi0xNi0xMC4zLTE2djgzLjdjMTIuMi4zIDEwLjMtOC43IDEwLjMtMTguNHYtNDkuM3pNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0yMS4zIDIyOC44Yy0uMS4xLS4yLjMtLjMuNGguM3YtLjR6TTk3IDE5Mkg2NHYxMjcuOGgzM1YxOTJ6bTExMy4zIDBoLTQzLjFsLTcuNiA1OS45Yy0yLjctMjAtNS40LTQwLjEtOC43LTU5LjloLTQyLjh2MTI3LjhoMjl2LTg0LjVsMTIuMiA4NC41aDIwLjZsMTEuNi04Ni40djg2LjRoMjguN1YxOTJ6bTg2LjMgNDUuM2MwLTguMS4zLTE2LjgtMS40LTI0LjQtNC4zLTIyLjUtMzEuNC0yMC45LTQ5LTIwLjloLTI0LjZ2MTI3LjhjODYuMS4xIDc1IDYgNzUtODIuNXptODUuOSAxNy4zYzAtMTcuMy0uOC0zMC4xLTIyLjItMzAuMS04LjkgMC0xNC45IDIuNy0yMC45IDkuMlYxOTJoLTMxLjd2MTI3LjhoMjkuOGwxLjktOC4xYzUuNyA2LjggMTEuOSA5LjggMjAuOSA5LjggMTkuOCAwIDIyLjItMTUuMiAyMi4yLTMwLjl2LTM2eiJdLAogICAgICAiaW5zdGFncmFtIjogWzQ0OCwgNTEyLCBbXSwgImYxNmQiLCAiTTIyNC4xIDE0MWMtNjMuNiAwLTExNC45IDUxLjMtMTE0LjkgMTE0LjlzNTEuMyAxMTQuOSAxMTQuOSAxMTQuOVMzMzkgMzE5LjUgMzM5IDI1NS45IDI4Ny43IDE0MSAyMjQuMSAxNDF6bTAgMTg5LjZjLTQxLjEgMC03NC43LTMzLjUtNzQuNy03NC43czMzLjUtNzQuNyA3NC43LTc0LjcgNzQuNyAzMy41IDc0LjcgNzQuNy0zMy42IDc0LjctNzQuNyA3NC43em0xNDYuNC0xOTQuM2MwIDE0LjktMTIgMjYuOC0yNi44IDI2LjgtMTQuOSAwLTI2LjgtMTItMjYuOC0yNi44czEyLTI2LjggMjYuOC0yNi44IDI2LjggMTIgMjYuOCAyNi44em03Ni4xIDI3LjJjLTEuNy0zNS45LTkuOS02Ny43LTM2LjItOTMuOS0yNi4yLTI2LjItNTgtMzQuNC05My45LTM2LjItMzctMi4xLTE0Ny45LTIuMS0xODQuOSAwLTM1LjggMS43LTY3LjYgOS45LTkzLjkgMzYuMXMtMzQuNCA1OC0zNi4yIDkzLjljLTIuMSAzNy0yLjEgMTQ3LjkgMCAxODQuOSAxLjcgMzUuOSA5LjkgNjcuNyAzNi4yIDkzLjlzNTggMzQuNCA5My45IDM2LjJjMzcgMi4xIDE0Ny45IDIuMSAxODQuOSAwIDM1LjktMS43IDY3LjctOS45IDkzLjktMzYuMiAyNi4yLTI2LjIgMzQuNC01OCAzNi4yLTkzLjkgMi4xLTM3IDIuMS0xNDcuOCAwLTE4NC44ek0zOTguOCAzODhjLTcuOCAxOS42LTIyLjkgMzQuNy00Mi42IDQyLjYtMjkuNSAxMS43LTk5LjUgOS0xMzIuMSA5cy0xMDIuNyAyLjYtMTMyLjEtOWMtMTkuNi03LjgtMzQuNy0yMi45LTQyLjYtNDIuNi0xMS43LTI5LjUtOS05OS41LTktMTMyLjFzLTIuNi0xMDIuNyA5LTEzMi4xYzcuOC0xOS42IDIyLjktMzQuNyA0Mi42LTQyLjYgMjkuNS0xMS43IDk5LjUtOSAxMzIuMS05czEwMi43LTIuNiAxMzIuMSA5YzE5LjYgNy44IDM0LjcgMjIuOSA0Mi42IDQyLjYgMTEuNyAyOS41IDkgOTkuNSA5IDEzMi4xczIuNyAxMDIuNy05IDEzMi4xeiJdLAogICAgICAiaW50ZXJuZXQtZXhwbG9yZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjI2YiIsICJNNDgzLjA0OSAxNTkuNzA2YzEwLjg1NS0yNC41NzUgMjEuNDI0LTYwLjQzOCAyMS40MjQtODcuODcxIDAtNzIuNzIyLTc5LjY0MS05OC4zNzEtMjA5LjY3My0zOC41NzctMTA3LjYzMi03LjE4MS0yMTEuMjIxIDczLjY3LTIzNy4wOTggMTg2LjQ1NyAzMC44NTItMzQuODYyIDc4LjI3MS04Mi4yOTggMTIxLjk3Ny0xMDEuMTU4QzEyNS40MDQgMTY2Ljg1IDc5LjEyOCAyMjguMDAyIDQzLjk5MiAyOTEuNzI1IDIzLjI0NiAzMjkuNjUxIDAgMzkwLjk0IDAgNDM2Ljc0N2MwIDk4LjU3NSA5Mi44NTQgODYuNSAxODAuMjUxIDQyLjAwNiAzMS40MjMgMTUuNDMgNjYuNTU5IDE1LjU3MyAxMDEuNjk1IDE1LjU3MyA5Ny4xMjQgMCAxODQuMjQ5LTU0LjI5NCAyMTYuODE0LTE0Ni4wMjJIMzc3LjkyN2MtNTIuNTA5IDg4LjU5My0xOTYuODE5IDUyLjk5Ni0xOTYuODE5LTQ3LjQzNkg1MDkuOWM2LjQwNy00My41ODEtMS42NTUtOTUuNzE1LTI2Ljg1MS0xNDEuMTYyek02NC41NTkgMzQ2Ljg3N2MxNy43MTEgNTEuMTUgNTMuNzAzIDk1Ljg3MSAxMDAuMjY2IDEyMy4zMDQtODguNzQxIDQ4Ljk0LTE3My4yNjcgMjkuMDk2LTEwMC4yNjYtMTIzLjMwNHptMTE1Ljk3Ny0xMDguODczYzItNTUuMTUxIDUwLjI3Ni05NC44NzEgMTAzLjk4LTk0Ljg3MSA1My40MTggMCAxMDEuOTgxIDM5LjcyIDEwMy45ODEgOTQuODcxSDE4MC41MzZ6bTE4NC41MzYtMTg3LjZjMjEuNDI1LTEwLjI4NyA0OC41NjMtMjIuMDAzIDcyLjU1OC0yMi4wMDMgMzEuNDIyIDAgNTQuMjc0IDIxLjcxNyA1NC4yNzQgNTMuNzIyIDAgMjAuMDAzLTcuNDI3IDQ5LjAwNy0xNC41NjkgNjcuODY3LTI2LjI4LTQyLjI5Mi02NS45ODYtODEuNTg0LTExMi4yNjMtOTkuNTg2eiJdLAogICAgICAiaW94aG9zdCI6IFs2NDAsIDUxMiwgW10sICJmMjA4IiwgIk02MTYgMTYwaC02Ny4zQzUxMS4yIDcwLjcgNDIyLjkgOCAzMjAgOCAxODMgOCA3MiAxMTkgNzIgMjU2YzAgMTYuNCAxLjYgMzIuNSA0LjcgNDhIMjRjLTEzLjMgMC0yNCAxMC44LTI0IDI0IDAgMTMuMyAxMC43IDI0IDI0IDI0aDY3LjNjMzcuNSA4OS4zIDEyNS44IDE1MiAyMjguNyAxNTIgMTM3IDAgMjQ4LTExMSAyNDgtMjQ4IDAtMTYuNC0xLjYtMzIuNS00LjctNDhINjE2YzEzLjMgMCAyNC0xMC44IDI0LTI0IDAtMTMuMy0xMC43LTI0LTI0LTI0em0tOTYgOTZjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwLTc1LjcgMC0xNDEuNi00Mi0xNzUuNS0xMDRINDI0YzEzLjMgMCAyNC0xMC44IDI0LTI0IDAtMTMuMy0xMC43LTI0LTI0LTI0SDEyNS44Yy0zLjgtMTUuNC01LjgtMzEuNC01LjgtNDggMC0xMTAuNSA4OS41LTIwMCAyMDAtMjAwIDc1LjcgMCAxNDEuNiA0MiAxNzUuNSAxMDRIMjE2Yy0xMy4zIDAtMjQgMTAuOC0yNCAyNCAwIDEzLjMgMTAuNyAyNCAyNCAyNGgyOTguMmMzLjggMTUuNCA1LjggMzEuNCA1LjggNDh6bS0zMDQtMjRoMjA4YzEzLjMgMCAyNCAxMC43IDI0IDI0IDAgMTMuMi0xMC43IDI0LTI0IDI0SDIxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMy4yIDEwLjctMjQgMjQtMjR6Il0sCiAgICAgICJpdHVuZXMiOiBbNDQ4LCA1MTIsIFtdLCAiZjNiNCIsICJNMjIzLjYgODAuM0MxMjkgODAuMyA1Mi41IDE1NyA1Mi41IDI1MS41UzEyOSA0MjIuOCAyMjMuNiA0MjIuOHMxNzEuMi03Ni43IDE3MS4yLTE3MS4yYzAtOTQuNi03Ni43LTE3MS4zLTE3MS4yLTE3MS4zem03OS40IDI0MGMtMy4yIDEzLjYtMTMuNSAyMS4yLTI3LjMgMjMuOC0xMi4xIDIuMi0yMi4yIDIuOC0zMS45LTUtMTEuOC0xMC0xMi0yNi40LTEuNC0zNi44IDguNC04IDIwLjMtOS42IDM4LTEyLjggMy0uNSA1LjYtMS4yIDcuNy0zLjcgMy4yLTMuNiAyLjItMiAyLjItODAuOCAwLTUuNi0yLjctNy4xLTguNC02LjEtNCAuNy05MS45IDE3LjEtOTEuOSAxNy4xLTUgMS4xLTYuNyAyLjYtNi43IDguMyAwIDExNi4xLjUgMTEwLjgtMS4yIDExOC41LTIuMSA5LTcuNiAxNS44LTE0LjkgMTkuNi04LjMgNC42LTIzLjQgNi42LTMxLjQgNS4yLTIxLjQtNC0yOC45LTI4LjctMTQuNC00Mi45IDguNC04IDIwLjMtOS42IDM4LTEyLjggMy0uNSA1LjYtMS4yIDcuNy0zLjcgNS01LjcuOS0xMjcgMi42LTEzMy43LjQtMi42IDEuNS00LjggMy41LTYuNCAyLjEtMS43IDUuOC0yLjcgNi43LTIuNyAxMDEtMTkgMTEzLjMtMjEuNCAxMTUuMS0yMS40IDUuNy0uNCA5IDMgOSA4LjctLjEgMTcwLjYuNCAxNjEuNC0xIDE2Ny42ek0zNDUuMiAzMkgxMDIuOEM0NS45IDMyIDAgNzcuOSAwIDEzNC44djI0Mi40QzAgNDM0LjEgNDUuOSA0ODAgMTAyLjggNDgwaDI0Mi40YzU3IDAgMTAyLjgtNDUuOSAxMDIuOC0xMDIuOFYxMzQuOEM0NDggNzcuOSA0MDIuMSAzMiAzNDUuMiAzMnpNMjIzLjYgNDQ0Yy0xMDYuMyAwLTE5Mi41LTg2LjItMTkyLjUtMTkyLjVTMTE3LjMgNTkgMjIzLjYgNTlzMTkyLjUgODYuMiAxOTIuNSAxOTIuNVMzMjkuOSA0NDQgMjIzLjYgNDQ0eiJdLAogICAgICAiaXR1bmVzLW5vdGUiOiBbMzg0LCA1MTIsIFtdLCAiZjNiNSIsICJNMzgxLjkgMzg4LjJjLTYuNCAyNy40LTI3LjIgNDIuOC01NS4xIDQ4LTI0LjUgNC41LTQ0LjkgNS42LTY0LjUtMTAuMi0yMy45LTIwLjEtMjQuMi01My40LTIuNy03NC40IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCA2LjQtNy4yIDQuNC00LjEgNC40LTE2My4yIDAtMTEuMi01LjUtMTQuMy0xNy0xMi4zLTguMiAxLjQtMTg1LjcgMzQuNi0xODUuNyAzNC42LTEwLjIgMi4yLTEzLjQgNS4yLTEzLjQgMTYuNyAwIDIzNC43IDEuMSAyMjMuOS0yLjUgMjM5LjUtNC4yIDE4LjItMTUuNCAzMS45LTMwLjIgMzkuNS0xNi44IDkuMy00Ny4yIDEzLjQtNjMuNCAxMC40LTQzLjItOC4xLTU4LjQtNTgtMjkuMS04Ni42IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCAxMC4xLTExLjUgMS44LTI1Ni42IDUuMi0yNzAuMi44LTUuMiAzLTkuNiA3LjEtMTIuOSA0LjItMy41IDExLjgtNS41IDEzLjQtNS41IDIwNC0zOC4yIDIyOC45LTQzLjEgMjMyLjQtNDMuMSAxMS41LS44IDE4LjEgNiAxOC4xIDE3LjYuMiAzNDQuNSAxLjEgMzI2LTEuOCAzMzguNXoiXSwKICAgICAgImplbmtpbnMiOiBbNTEyLCA1MTIsIFtdLCAiZjNiNiIsICJNNDg3LjEgNDI1Yy0xLjQtMTEuMi0xOS0yMy4xLTI4LjItMzEuOS01LjEtNS0yOS0yMy4xLTMwLjQtMjkuOS0xLjQtNi42IDkuNy0yMS41IDEzLjMtMjguOSA1LjEtMTAuNyA4LjgtMjMuNyAxMS4zLTMyLjYgMTguOC02Ni4xIDIwLjctMTU2LjktNi4yLTIxMS4yLTEwLjItMjAuNi0zOC42LTQ5LTU2LjQtNjIuNS00Mi0zMS43LTExOS42LTM1LjMtMTcwLjEtMTYuNi0xNC4xIDUuMi0yNy44IDkuOC00MC4xIDE3LjEtMzMuMSAxOS40LTY4LjMgMzIuNS03OC4xIDcxLjYtMjQuMiAxMC44LTMxLjUgNDEuOC0zMC4zIDc3LjguMiA3IDQuMSAxNS44IDIuNyAyMi40LS43IDMuMy01LjIgNy42LTYuMSA5LjgtMTEuNiAyNy43LTIuMyA2NCAxMS4xIDgzLjcgOC4xIDExLjkgMjEuNSAyMi40IDM5LjIgMjUuMi43IDEwLjYgMy4zIDE5LjcgOC4yIDMwLjQgMy4xIDYuOCAxNC43IDE5IDEwLjQgMjcuNy0yLjIgNC40LTIxIDEzLjgtMjcuMyAxNy42Qzg5IDQwNy4yIDczLjcgNDE1IDU0LjIgNDI5Yy0xMi42IDktMzIuMyAxMC4yLTI5LjIgMzEuMSAyLjEgMTQuMSAxMC4xIDMxLjYgMTQuNyA0NS44LjcgMiAxLjQgNC4xIDIuMSA2aDQyMmM0LjktMTUuMyA5LjctMzAuOSAxNC42LTQ3LjIgMy40LTExLjQgMTAuMi0yNy44IDguNy0zOS43ek0yMDUuOSAzMy43YzEuOC0uNSAzLjQuNyA0LjkgMi40LS4yIDUuMi01LjQgNS4xLTguOSA2LjgtNS40IDYuNy0xMy40IDkuOC0yMCAxNy4yLTYuOCA3LjUtMTQuNCAyNy43LTIzLjQgMzAtNC41IDEuMS05LjctLjgtMTMuNi0uNS0xMC40LjctMTcuNyA2LTI4LjMgNy41IDEzLjYtMjkuOSA1Ni4xLTU0IDg5LjMtNjMuNHptLTEwNC44IDkzLjZjMTMuNS0xNC45IDMyLjEtMjQuMSA1NC44LTI1LjkgMTEuNyAyOS43LTguNCA2NS0uOSA5Ny42IDIuMyA5LjkgMTAuMiAyNS40LTIuNCAyNS43LjMtMjguMy0zNC44LTQ2LjMtNjEuMy0yOS42LTEuOC0yMS41LTQuOS01MS43IDkuOC02Ny44em0zNi43IDIwMC4yYy0xLTQuMS0yLjctMTIuOS0yLjMtMTUuMSAxLjYtOC43IDE3LjEtMTIuNSAxMS0yNC43LTExLjMtLjEtMTMuOCAxMC4yLTI0LjEgMTEuMy0yNi43IDIuNi00NS42LTM1LjQtNDQuNC01OC40IDEtMTkuNSAxNy42LTM4LjIgNDAuMS0zNS44IDE2IDEuOCAyMS40IDE5LjIgMjQuNSAzNC43IDkuMi41IDIyLjUtLjQgMjYuOS03LjYtLjYtMTcuNS04LjgtMzEuNi04LjItNDcuNyAxLTMwLjMgMTcuNS01Ny42IDQuOC04Ny40IDEzLjYtMzAuOSA1My41LTU1LjMgODMuMS03MCAzNi42LTE4LjMgOTQuOS0zLjcgMTI5LjMgMTUuOCAxOS43IDExLjEgMzQuNCAzMi43IDQ4LjMgNTAuNy0xOS41LTUuOC0zNi4xIDQuMi0zMy4xIDIwLjMgMTYuMy0xNC45IDQ0LjItLjIgNTIuNSAxNi40IDcuOSAxNS44IDcuOCAzOS4zIDkgNjIuOCAyLjkgNTctMTAuNCAxMTUuOS0zOS4xIDE1Ny4xLTcuNyAxMS0xNC4xIDIzLTI0LjkgMzAuNi0yNiAxOC4yLTY1LjQgMzQuNy05OS4yIDIzLjQtNDQuNy0xNS02NS00NC44LTg5LjUtNzguOC43IDE4LjcgMTMuOCAzNC4xIDI2LjggNDguNCAxMS4zIDEyLjUgMjUgMjYuNiAzOS43IDMyLjQtMTIuMy0yLjktMzEuMS0zLjgtMzYuMiA3LjItMjguNi0xLjktNTUuMS00LjgtNjguNy0yNC4yLTEwLjYtMTUuNC0yMS40LTQxLjQtMjYuMy02MS40em0yMjIgMTI0LjFjNC4xLTMgMTEuMS0yLjkgMTcuNC0zLjYtNS40LTIuNy0xMy0zLjctMTkuMy0yLjItLjEtNC4yLTItNi44LTMuMi0xMC4yIDEwLjYtMy44IDM1LjUtMjguNSA0OS42LTIwLjMgNi43IDMuOSA5LjUgMjYuMiAxMC4xIDM3IC40IDktLjggMTgtNC41IDIyLjgtMTguOC0uNi0zNS44LTIuOC01MC43LTcgLjktNi4xLTEtMTIuMS42LTE2LjV6bS0xNy4yLTIwYy0xNi44LjgtMjYtMS4yLTM4LjMtMTAuOC4yLS44IDEuNC0uNSAxLjUtMS40IDE4IDggNDAuOC0zLjMgNTktNC45LTcuOSA1LjEtMTQuNiAxMS42LTIyLjIgMTcuMXptLTEyLjEgMzMuMmMtMS42LTkuNC0zLjUtMTItMi44LTIwLjIgMjUtMTYuNiAyOS43IDI4LjYgMi44IDIwLjJ6TTIyNiA0MzguNmMtMTEuNi0uNy00OC4xLTE0LTM4LjUtMjMuNyA5LjQgNi41IDI3LjUgNC45IDQxLjMgNy4zLjggNC40LTIuOCAxMC4yLTIuOCAxNi40ek01Ny43IDQ5Ny4xYy00LjMtMTIuNy05LjItMjUuMS0xNC44LTM2LjkgMzAuOC0yMy44IDY1LjMtNDguOSAxMDIuMi02My41IDIuOC0xLjEgMjMuMiAyNS40IDI2LjIgMjcuNiAxNi41IDExLjcgMzcgMjEgNTYuMiAzMC4yIDEuMiA4LjggMy45IDIwLjIgOC43IDM1LjUuNyAyLjMgMS40IDQuNyAyLjIgNy4ySDU3Ljd6bTI0MC42IDUuN2gtLjhjLjMtLjIuNS0uNC44LS41di41em03LjUtNS43YzIuMS0xLjQgNC4zLTIuOCA2LjQtNC4zIDEuMSAxLjQgMi4yIDIuOCAzLjIgNC4zaC05LjZ6bTE1LjEtMjQuN2MtMTAuOCA3LjMtMjAuNiAxOC4zLTMzLjMgMjUuMi02IDMuMy0yNyAxMS43LTMzLjQgMTAuMi0zLjYtLjgtMy45LTUuMy01LjQtOS41LTMuMS05LTEwLjEtMjMuNC0xMC44LTM3LS44LTE3LjItMi41LTQ2IDE2LTQyLjQgMTQuOSAyLjkgMzIuMyA5LjcgNDMuOSAxNi4xIDcuMSAzLjkgMTEuMSA4LjYgMjEuOSA5LjUtLjEgMS40LS4xIDIuOC0uMiA0LjMtNS45IDMuOS0xNS4zIDMuOC0yMS44IDcuMSA5LjUuNCAxNyAyLjcgMjMuNSA1LjktLjEgMy40LS4zIDctLjQgMTAuNnptNTMuNCAyNC43aC0xNGMtLjEtMy4yLTIuOC01LjgtNi4xLTUuOHMtNS45IDIuNi02LjEgNS44aC0xNy40Yy0yLjgtNC40LTUuNy04LjYtOC45LTEyLjUgMi4xLTIuMiA0LTQuNyA2LTYuOSA5IDMuNyAxNC44LTQuOSAyMS43LTQuMiA3LjkuOCAxNC4yIDExLjcgMjUuNCAxMWwtLjYgMTIuNnptOC43IDBjLjItNCAuNC03LjguNi0xMS41IDE1LjYtNy4zIDI5IDEuMyAzNS43IDExLjVIMzgzem04My40LTM3Yy0yLjMgMTEuMi01LjggMjQtOS45IDM3LjEtLjItLjEtLjQtLjEtLjYtLjFINDI4Yy42LTEuMSAxLjItMi4yIDEuOS0zLjMtMi42LTYuMS05LTguNy0xMC45LTE1LjUgMTIuMS0yMi43IDYuNS05My40LTI0LjItNzguNSA0LjMtNi4zIDE1LjYtMTEuNSAyMC44LTE5LjMgMTMgMTAuNCAyMC44IDIwLjMgMzMuMiAzMS40IDYuOCA2IDIwIDEzLjMgMjEuNCAyMy4xLjggNS41LTIuNiAxOC45LTMuOCAyNS4xek0yMjIuMiAxMzAuNWM1LjQtMTQuOSAyNy4yLTM0LjcgNDUtMzIgNy43IDEuMiAxOCA4LjIgMTIuMiAxNy43LTMwLjItNy00NS4yIDEyLjYtNTQuNCAzMy4xLTguMS0yLTQuOS0xMy4xLTIuOC0xOC44em0xODQuMSA2My4xYzguMi0zLjYgMjIuNC0uNyAyOS42LTUuMy00LjItMTEuNS0xMC4zLTIxLjQtOS4zLTM3LjcuNSAwIDEgMCAxLjQuMSA2LjggMTQuMiAxMi43IDI5LjIgMjEuNCA0MS43LTUuNyAxMy41LTQzLjYgMjUuNC00My4xIDEuMnptMjAuNC00M3ptLTExNy4yIDQ1LjdjLTYuOC0xMC45LTE5LTMyLjUtMTQuNS00NS4zIDYuNSAxMS45IDguNiAyNC40IDE3LjggMzMuMyA0LjEgNCAxMi4yIDkgOC4yIDIwLjItLjkgMi43LTcuOCA4LjYtMTEuNyA5LjctMTQuNCA0LjMtNDcuOS45LTM2LjYtMTcuMSAxMS45LjcgMjcuOSA3LjggMzYuOC0uOHptMjcuMyA3MGMzLjggNi42IDEuNCAxOC43IDEyLjEgMjAuNiAyMC4yIDMuNCA0My42LTEyLjMgNTguMS0xNy44IDktMTUuMi0uOC0yMC43LTguOS0zMC41LTE2LjYtMjAtMzguOC00NC44LTM4LTc0LjcgNi43LTQuOSA3LjMgNy40IDguMiA5LjcgOC43IDIwLjMgMzAuNCA0Ni4yIDQ2LjMgNjMuNSAzLjkgNC4zIDEwLjMgOC40IDExIDExLjIgMi4xIDguMi01LjQgMTgtNC41IDIzLjUtMjEuNyAxMy45LTQ1LjggMjkuMS04MS40IDI1LjYtNy40LTYuNy0xMC4zLTIxLjQtMi45LTMxLjF6bS0yMDEuMy05LjJjLTYuOC0zLjktOC40LTIxLTE2LjQtMjEuNC0xMS40LS43LTkuMyAyMi4yLTkuMyAzNS41LTcuOC03LjEtOS4yLTI5LjEtMy41LTQwLjMtNi42LTMuMi05LjUgMy42LTEzLjEgNS45IDQuNy0zNC4xIDQ5LjgtMTUuOCA0Mi4zIDIwLjN6bTI5OS42IDI4LjhjLTEwLjEgMTkuMi0yNC40IDQwLjQtNTQgNDEtLjYtNi4yLTEuMS0xNS42IDAtMTkuNCAyMi43LTIuMiAzNi42LTEzLjcgNTQtMjEuNnptLTE0MS45IDEyLjRjMTguOSA5LjkgNTMuNiAxMSA3OS4zIDEwLjIgMS40IDUuNiAxLjMgMTIuNiAxLjQgMTkuNC0zMyAxLjgtNzItNi40LTgwLjctMjkuNnptOTIuMiA0Ni43Yy0xLjcgNC4zLTUuMyA5LjMtOS44IDExLjEtMTIuMSA0LjktNDUuNiA4LjctNjIuNC0uMy0xMC43LTUuNy0xNy41LTE4LjUtMjMuNC0yNi0yLjgtMy42LTE2LjktMTIuOS0uMi0xMi45IDEzLjEgMzIuNyA1OCAyOSA5NS44IDI4LjF6Il0sCiAgICAgICJqb2dldCI6IFs0OTYsIDUxMiwgW10sICJmM2I3IiwgIk0yMjcuNSA0NjguN2MtOS0xMy42LTE5LjktMzMuMy0yMy43LTQyLjQtNS43LTEzLjctMjcuMi00NS42IDMxLjItNjcuMSA1MS43LTE5LjEgMTc2LjctMTYuNSAyMDguOC0xNy42LTQgOS04LjYgMTcuOS0xMy45IDI2LjYtNDAuNCA2NS41LTExMC40IDEwMS41LTE4MiAxMDEuNS02LjggMC0xMy42LS40LTIwLjQtMU02Ni4xIDE0My45QzEyOCA0My40IDI1OS42IDEyLjIgMzYwLjEgNzQuMWM3NC44IDQ2LjEgMTExLjIgMTMwLjkgOTkuMyAyMTIuNy0yNC45LS41LTE3OS4zLTMuNi0yMzAuMy00LjktNTUuNS0xLjQtODEuNy0yMC44LTU4LjUtNDguMiAyMy4yLTI3LjQgNTEuMS00MC43IDY4LjktNTEuMiAxNy45LTEwLjUgMjcuMy0zMy43LTIzLjYtMjkuN0M4Ny4zIDE2MS41IDQ4LjYgMjUyLjEgMzcuNiAyOTNjLTguOC00OS43LS4xLTEwMi43IDI4LjUtMTQ5LjFtLTI5LjItMThjLTcxLjkgMTE2LjYtMzUuNiAyNjkuMyA4MSAzNDEuMiAxMTYuNiA3MS45IDI2OS4zIDM1LjYgMzQxLjItODAuOSA3MS45LTExNi42IDM1LjYtMjY5LjQtODEtMzQxLjItNDAuNS0yNS4xLTg1LjUtMzctMTI5LjktMzdDMTY1IDggODMuOCA0OS45IDM2LjkgMTI1LjltMjQ0LjQgMTEwLjRjLTMxLjUgMjAuNS02NS4zIDMxLjMtNjUuMyAzMS4zbDE2OS41LTEuNiA0Ni41LTIzLjRzMy42LTkuNS0xOS4xLTE1LjVjLTIyLjctNi01NyAxMS4zLTg2LjcgMjcuMi0yOS43IDE1LjgtMzEuMSA4LjItMzEuMSA4LjJzNDAuMi0yOC4xIDUwLjctMzQuNWMxMC41LTYuNCAzMS45LTE0IDEzLjQtMjQuNi0zLjItMS44LTYuNy0yLjctMTAuNC0yLjctMTcuOCAwLTQxLjUgMTguNy02Ny41IDM1LjYiXSwKICAgICAgImpvb21sYSI6IFs0NDgsIDUxMiwgW10sICJmMWFhIiwgIk0uNiA5Mi4xQy42IDU4LjggMjcuNCAzMiA2MC40IDMyYzMwIDAgNTQuNSAyMS45IDU5LjIgNTAuMiAzMi42LTcuNiA2Ny4xLjYgOTYuNSAzMGwtNDQuMyA0NC4zYy0yMC41LTIwLjUtNDIuNi0xNi4zLTU1LjQtMy41LTE0LjMgMTQuMy0xNC4zIDM3LjkgMCA1Mi4ybDk5LjUgOTkuNS00NCA0NC4zYy04Ny43LTg3LjItNDkuNy00OS43LTk5LjgtOTkuNy0yNi44LTI2LjUtMzUtNjQuOC0yNC44LTk4LjlDMjAuNCAxNDQuNi42IDEyMC43LjYgOTIuMXptMTI5LjUgMTE2LjRsNDQuMyA0NC4zYzEwLTEwIDg5LjctODkuNyA5OS43LTk5LjggMTQuMy0xNC4zIDM3LjYtMTQuMyA1MS45IDAgMTIuOCAxMi44IDE3IDM1LTMuNSA1NS40bDQ0IDQ0LjNjMzEuMi0zMS4yIDM4LjUtNjcuNiAyOC45LTEwMS4yIDI5LjItNC4xIDUxLjktMjkuMiA1MS45LTU5LjUgMC0zMy4yLTI2LjgtNjAuMS01OS44LTYwLjEtMzAuMyAwLTU1LjQgMjIuNS01OS41IDUxLjYtMzMuOC05LjktNzEuNy0xLjUtOTguMyAyNS4xLTE4LjMgMTkuMS03MS4xIDcxLjUtOTkuNiA5OS45em0yNjYuMyAxNTIuMmM4LjItMzIuNy0uOS02OC41LTI2LjMtOTMuOS0xMS44LTEyLjIgNSA0LjctOTkuNS05OS43bC00NC4zIDQ0LjMgOTkuNyA5OS43YzE0LjMgMTQuMyAxNC4zIDM3LjYgMCA1MS45LTEyLjggMTIuOC0zNSAxNy01NS40LTMuNWwtNDQgNDQuM2MyNy42IDMwLjIgNjggMzguOCAxMDIuNyAyOCA1LjUgMjcuNCAyOS43IDQ4LjEgNTguOSA0OC4xIDMzIDAgNTkuOC0yNi44IDU5LjgtNjAuMSAwLTMwLjItMjIuNS01NS01MS42LTU5LjF6bS04NC4zLTUzLjFsLTQ0LTQ0LjNjLTg3IDg2LjQtNTAuNCA1MC40LTk5LjcgOTkuOC0xNC4zIDE0LjMtMzcuNiAxNC4zLTUxLjkgMC0xMy4xLTEzLjQtMTYuOS0zNS4zIDMuMi01NS40bC00NC00NC4zYy0zMC4yIDMwLjItMzggNjUuMi0yOS41IDk4LjMtMjYuNyA2LTQ2LjIgMjkuOS00Ni4yIDU4LjJDMCA0NTMuMiAyNi44IDQ4MCA1OS44IDQ4MGMyOC42IDAgNTIuNS0xOS44IDU4LjYtNDYuNyAzMi43IDguMiA2OC41LS42IDk0LjItMjYgMzIuMS0zMiAxMi4yLTEyLjQgOTkuNS05OS43eiJdLAogICAgICAianMiOiBbNDQ4LCA1MTIsIFtdLCAiZjNiOCIsICJNMCAzMnY0NDhoNDQ4VjMySDB6bTI0My44IDM0OS40YzAgNDMuNi0yNS42IDYzLjUtNjIuOSA2My41LTMzLjcgMC01My4yLTE3LjQtNjMuMi0zOC41bDM0LjMtMjAuN2M2LjYgMTEuNyAxMi42IDIxLjYgMjcuMSAyMS42IDEzLjggMCAyMi42LTUuNCAyMi42LTI2LjVWMjM3LjdoNDIuMXYxNDMuN3ptOTkuNiA2My41Yy0zOS4xIDAtNjQuNC0xOC42LTc2LjctNDNsMzQuMy0xOS44YzkgMTQuNyAyMC44IDI1LjYgNDEuNSAyNS42IDE3LjQgMCAyOC42LTguNyAyOC42LTIwLjggMC0xNC40LTExLjQtMTkuNS0zMC43LTI4bC0xMC41LTQuNWMtMzAuNC0xMi45LTUwLjUtMjkuMi01MC41LTYzLjUgMC0zMS42IDI0LjEtNTUuNiA2MS42LTU1LjYgMjYuOCAwIDQ2IDkuMyA1OS44IDMzLjdMMzY4IDI5MGMtNy4yLTEyLjktMTUtMTgtMjcuMS0xOC0xMi4zIDAtMjAuMSA3LjgtMjAuMSAxOCAwIDEyLjYgNy44IDE3LjcgMjUuOSAyNS42bDEwLjUgNC41YzM1LjggMTUuMyA1NS45IDMxIDU1LjkgNjYuMiAwIDM3LjgtMjkuOCA1OC42LTY5LjcgNTguNnoiXSwKICAgICAgImpzLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmM2I5IiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0yNDMuOCAzODEuNGMwIDQzLjYtMjUuNiA2My41LTYyLjkgNjMuNS0zMy43IDAtNTMuMi0xNy40LTYzLjItMzguNWwzNC4zLTIwLjdjNi42IDExLjcgMTIuNiAyMS42IDI3LjEgMjEuNiAxMy44IDAgMjIuNi01LjQgMjIuNi0yNi41VjIzNy43aDQyLjF2MTQzLjd6bTk5LjYgNjMuNWMtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzbDM0LjMtMTkuOGM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjZ6Il0sCiAgICAgICJqc2ZpZGRsZSI6IFs1NzYsIDUxMiwgW10sICJmMWNjIiwgIk01MTAuNjM0IDIzNy40NjJjLTQuNzI3LTIuNjIxLTUuNjY0LTUuNzQ4LTYuMzgxLTEwLjc3Ni0yLjM1Mi0xNi40ODgtMy41MzktMzMuNjE5LTkuMDk3LTQ5LjA5NS0zNS44OTUtOTkuOTU3LTE1My45OS0xNDMuMzg2LTI0Ni44NDktOTEuNjQ2LTI3LjM3IDE1LjI1LTQ4Ljk3MSAzNi4zNjktNjUuNDkzIDYzLjkwMy0zLjE4NC0xLjUwOC01LjQ1OC0yLjcxLTcuODI0LTMuNjg2LTMwLjEwMi0xMi40MjEtNTkuMDQ5LTEwLjEyMS04NS4zMzEgOS4xNjctMjUuNTMxIDE4LjczNy0zNi40MjIgNDQuNTQ4LTMyLjY3NiA3Ni40MDguMzU1IDMuMDI1LTEuOTY3IDcuNjIxLTQuNTE0IDkuNTQ1LTM5LjcxMiAyOS45OTItNTYuMDMxIDc4LjA2NS00MS45MDIgMTI0LjYxNSAxMy44MzEgNDUuNTY5IDU3LjUxNCA3OS43OTYgMTA1LjYwOCA4MS40MzMgMzAuMjkxIDEuMDMxIDYwLjYzNy41NDYgOTAuOTU5LjUzOSA4NC4wNDEtLjAyMSAxNjguMDkuNTMxIDI1Mi4xMi0uNDggNTIuNjY0LS42MzQgOTYuMTA4LTM2Ljg3MyAxMDguMjEyLTg3LjI5MyAxMS41NC00OC4wNzQtMTEuMTQ0LTk3LjMtNTYuODMyLTEyMi42MzR6bTIxLjEwNyAxNTYuODhjLTE4LjIzIDIyLjQzMi00Mi4zNDMgMzUuMjUzLTcxLjI4IDM1LjY1LTU2Ljg3NC43ODEtMTEzLjc2Ny4yMy0xNzAuNjUyLjIzIDAgLjctMTYzLjAyOC4xNTktMTYzLjcyOC4xNTQtNDMuODYxLS4zMzItNzYuNzM5LTE5Ljc2Ni05NS4xNzUtNTkuOTk1LTE4LjkwMi00MS4yNDUtNC4wMDQtOTAuODQ4IDM0LjE4Ni0xMTYuMTA2IDkuMTgyLTYuMDczIDEyLjUwNS0xMS41NjYgMTAuMDk2LTIzLjEzNi01LjQ5LTI2LjM2MSA0LjQ1My00Ny45NTYgMjYuNDItNjIuOTgxIDIyLjk4Ny0xNS43MjMgNDcuNDIyLTE2LjE0NiA3Mi4wMzQtMy4wODMgMTAuMjY5IDUuNDUgMTQuNjA3IDExLjU2NCAyMi4xOTgtMi41MjcgMTQuMjIyLTI2LjM5OSAzNC41NTctNDYuNzI3IDYwLjY3MS02MS4yOTQgOTcuNDYtNTQuMzY2IDIyOC4zNyA3LjU2OCAyMzAuMjQgMTMyLjY5Ny4xMjIgOC4xNSAyLjQxMiAxMi40MjggOS44NDggMTUuODk0IDU3LjU2IDI2LjgyOSA3NC40NTYgOTYuMTIyIDM1LjE0MiAxNDQuNDk3em0tODcuNzg5LTgwLjQ5OWMtNS44NDggMzEuMTU3LTM0LjYyMiA1NS4wOTYtNjYuNjY2IDU1LjA5NS0xNi45NTMtLjAwMS0zMi4wNTgtNi41NDUtNDQuMDc5LTE3LjcwNS0yNy42OTctMjUuNzEzLTcxLjE0MS03NC45OC05NS45MzctOTMuMzg3LTIwLjA1Ni0xNC44ODgtNDEuOTktMTIuMzMzLTYwLjI3MiAzLjc4Mi00OS45OTYgNDQuMDcxIDE1Ljg1OSAxMjEuNzc1IDY3LjA2MyA3Ny4xODggNC41NDgtMy45NiA3Ljg0LTkuNTQzIDEyLjc0NC0xMi44NDQgOC4xODQtNS41MDkgMjAuNzY2LS44ODQgMTMuMTY4IDEwLjYyMi0xNy4zNTggMjYuMjg0LTQ5LjMzIDM4LjE5Ny03OC44NjMgMjkuMzAxLTI4Ljg5Ny04LjcwNC00OC44NC0zNS45NjgtNDguNjI2LTcwLjE3OSAxLjIyNS0yMi40ODUgMTIuMzY0LTQzLjA2IDM1LjQxNC01NS45NjUgMjIuNTc1LTEyLjYzOCA0Ni4zNjktMTMuMTQ2IDY2Ljk5MSAyLjQ3NEMyOTUuNjggMjgwLjcgMzIwLjQ2NyAzMjMuOTcgMzUyLjE4NSAzNDMuNDdjMjQuNTU4IDE1LjA5OSA1NC4yNTQgNy4zNjMgNjguODIzLTE3LjUwNiAyOC44My00OS4yMDktMzQuNTkyLTEwNS4wMTYtNzguODY4LTYzLjQ2LTMuOTg5IDMuNzQ0LTYuOTE3IDguOTMyLTExLjQxIDExLjcyLTEwLjk3NSA2LjgxMS0xNy4zMzMtNC4xMTMtMTIuODA5LTEwLjM1MyAyMC43MDMtMjguNTU0IDUwLjQ2NC00MC40NCA4My4yNzEtMjguMjE0IDMxLjQyOSAxMS43MTQgNDkuMTA4IDQ0LjM2NiA0Mi43NiA3OC4xODZ6Il0sCiAgICAgICJrZXljZG4iOiBbNTEyLCA1MTIsIFtdLCAiZjNiYSIsICJNNjMuOCA0MDkuM2w2MC41LTU5YzMyLjEgNDIuOCA3MS4xIDY2IDEyNi42IDY3LjQgMzAuNS43IDYwLjMtNyA4Ni40LTIyLjQgNS4xIDUuMyAxOC41IDE5LjUgMjAuOSAyMi0zMi4yIDIwLjctNjkuNiAzMS4xLTEwOC4xIDMwLjItNDMuMy0xLjEtODQuNi0xNi43LTExNy43LTQ0LjQuMy0uNi0zOC4yIDM3LjUtMzguNiAzNy45IDkuNSAyOS44LTEzLjEgNjIuNC00Ni4zIDYyLjRDMjAuNyA1MDMuMyAwIDQ4MS43IDAgNDU0LjljMC0zNC4zIDMzLjEtNTYuNiA2My44LTQ1LjZ6bTM1NC45LTI1Mi40YzE5LjEgMzEuMyAyOS42IDY3LjQgMjguNyAxMDQtMS4xIDQ0LjgtMTkgODcuNS00OC42IDEyMSAuMy4zIDIzLjggMjUuMiAyNC4xIDI1LjUgOS42LTEuMyAxOS4yIDIgMjUuOSA5LjEgMTEuMyAxMiAxMC45IDMwLjktMS4xIDQyLjQtMTIgMTEuMy0zMC45IDEwLjktNDIuNC0xLjEtNi43LTctOS40LTE2LjgtNy42LTI2LjMtMjQuOS0yNi42LTQ0LjQtNDcuMi00NC40LTQ3LjIgNDIuNy0zNC4xIDYzLjMtNzkuNiA2NC40LTEyNC4yLjctMjguOS03LjItNTcuMi0yMS4xLTgyLjJsMjIuMS0yMXpNMTA0IDUzLjFjNi43IDcgOS40IDE2LjggNy42IDI2LjNsNDUuOSA0OC4xYy00LjcgMy44LTEzLjMgMTAuNC0yMi44IDIxLjMtMjUuNCAyOC41LTM5LjYgNjQuOC00MC43IDEwMi45LS43IDI4LjkgNi4xIDU3LjIgMjAgODIuNGwtMjIgMjEuNUM3Mi43IDMyNCA2My4xIDI4Ny45IDY0LjIgMjUwLjljMS00NC42IDE4LjMtODcuNiA0Ny41LTEyMS4xbC0yNS4zLTI2LjRjLTkuNiAxLjMtMTkuMi0yLTI1LjktOS4xLTExLjMtMTItMTAuOS0zMC45IDEuMS00Mi40QzczLjUgNDAuNyA5Mi4yIDQxIDEwNCA1My4xek00NjQuOSA4YzI2IDAgNDcuMSAyMi40IDQ3LjEgNDguM1M0OTAuOSAxMDQgNDY0LjkgMTA0Yy02LjMuMS0xNC0xLjEtMTUuOS0xLjhsLTYyLjkgNTkuN2MtMzIuNy00My42LTc2LjctNjUuOS0xMjYuOS02Ny4yLTMwLjUtLjctNjAuMyA2LjgtODYuMiAyMi40bC0yMS4xLTIyQzE4NC4xIDc0LjMgMjIxLjUgNjQgMjYwIDY0LjljNDMuMyAxLjEgODQuNiAxNi43IDExNy43IDQ0LjZsNDEuMS0zOC42Yy0xLjUtNC43LTIuMi05LjYtMi4yLTE0LjVDNDE2LjUgMjkuNyA0MzguOSA4IDQ2NC45IDh6TTI1Ni43IDExMy40YzUuNSAwIDEwLjkuNCAxNi40IDEuMSA3OC4xIDkuOCAxMzMuNCA4MS4xIDEyMy44IDE1OS4xLTkuOCA3OC4xLTgxLjEgMTMzLjQtMTU5LjEgMTIzLjgtNzguMS05LjgtMTMzLjQtODEuMS0xMjMuOC0xNTkuMiA5LjMtNzIuNCA3MC4xLTEyNC42IDE0Mi43LTEyNC44em0tNTkgMTE5LjRjLjYgMjIuNyAxMi4yIDQxLjggMzIuNCA1Mi4ybC0xMSA1MS43aDczLjdsLTExLTUxLjdjMjAuMS0xMC45IDMyLjEtMjkgMzIuNC01Mi4yLS40LTMyLjgtMjUuOC01Ny41LTU4LjMtNTguMy0zMi4xLjgtNTcuMyAyNC44LTU4LjIgNTguM3pNMjU2IDE2MCJdLAogICAgICAia2lja3N0YXJ0ZXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjNiYiIsICJNNDAwIDQ4MEg0OGMtMjYuNCAwLTQ4LTIxLjYtNDgtNDhWODBjMC0yNi40IDIxLjYtNDggNDgtNDhoMzUyYzI2LjQgMCA0OCAyMS42IDQ4IDQ4djM1MmMwIDI2LjQtMjEuNiA0OC00OCA0OHpNMTk5LjYgMTc4LjVjMC0zMC43LTE3LjYtNDUuMS0zOS43LTQ1LjEtMjUuOCAwLTQwIDE5LjgtNDAgNDQuNXYxNTQuOGMwIDI1LjggMTMuNyA0NS42IDQwLjUgNDUuNiAyMS41IDAgMzkuMi0xNCAzOS4yLTQ1LjZ2LTQxLjhsNjAuNiA3NS43YzEyLjMgMTQuOSAzOSAxNi44IDU1LjggMCAxNC42LTE1LjEgMTQuOC0zNi44IDQtNTAuNGwtNDkuMS02Mi44IDQwLjUtNTguN2M5LjQtMTMuNSA5LjUtMzQuNS01LjYtNDkuMS0xNi40LTE1LjktNDQuNi0xNy4zLTYxLjQgN2wtNDQuOCA2NC43di0zOC44eiJdLAogICAgICAia2lja3N0YXJ0ZXItayI6IFszODQsIDUxMiwgW10sICJmM2JjIiwgIk0xNDcuMyAxMTQuNGMwLTU2LjItMzIuNS04Mi40LTczLjQtODIuNEMyNi4yIDMyIDAgNjguMiAwIDExMy40djI4M2MwIDQ3LjMgMjUuMyA4My40IDc0LjkgODMuNCAzOS44IDAgNzIuNC0yNS42IDcyLjQtODMuNHYtNzYuNWwxMTIuMSAxMzguM2MyMi43IDI3LjIgNzIuMSAzMC43IDEwMy4yIDAgMjctMjcuNiAyNy4zLTY3LjQgNy40LTkyLjJsLTkwLjgtMTE0LjggNzQuOS0xMDcuNGMxNy40LTI0LjcgMTcuNS02My4xLTEwLjQtODkuOC0zMC4zLTI5LTgyLjQtMzEuNi0xMTMuNiAxMi44TDE0Ny4zIDE4NXYtNzAuNnoiXSwKICAgICAgImtvcnZ1ZSI6IFs0NDYsIDUxMiwgW10sICJmNDJmIiwgIk0zODYuNSAzNGgtMzI3QzI2LjggMzQgMCA2MC44IDAgOTMuNXYzMjcuMUMwIDQ1My4yIDI2LjggNDgwIDU5LjUgNDgwaDMyNy4xYzMzIDAgNTkuNS0yNi44IDU5LjUtNTkuNXYtMzI3QzQ0NiA2MC44IDQxOS4yIDM0IDM4Ni41IDM0ek04Ny4xIDEyMC44aDk2djExNmw2MS44LTExNmgxMTAuOWwtODEuMiAxMzJIODcuMXYtMTMyem0xNjEuOCAyNzIuMWwtNjUuNy0xMTMuNnYxMTMuNmgtOTZWMjYyLjFoMTkxLjVsODguNiAxMzAuOEgyNDguOXoiXSwKICAgICAgImxhcmF2ZWwiOiBbNjQwLCA1MTIsIFtdLCAiZjNiZCIsICJNNjM3LjUgMjQxLjZjLTQuMi00LjgtNjIuOC03OC4xLTczLjEtOTAuNS0xMC4zLTEyLjQtMTUuNC0xMC4yLTIxLjctOS4zLTYuNC45LTgwLjUgMTMuNC04OS4xIDE0LjgtOC42IDEuNS0xNCA0LjktOC43IDEyLjMgNC43IDYuNiA1My40IDc1LjcgNjQuMiA5MC45bC0xOTMuNyA0Ni40TDE2MS4yIDQ4LjdjLTYuMS05LjEtNy40LTEyLjMtMjEuNC0xMS42LTE0IC42LTEyMC45IDkuNS0xMjguNSAxMC4yLTcuNi42LTE2IDQtOC40IDIyczEyOSAyNzkuNiAxMzIuNCAyODcuMmMzLjQgNy42IDEyLjIgMjAgMzIuOCAxNSAyMS4xLTUuMSA5NC4zLTI0LjIgMTM0LjMtMzQuNyAyMS4xIDM4LjMgNjQuMiAxMTUuOSA3Mi4yIDEyNyAxMC42IDE0LjkgMTggMTIuNCAzNC4zIDcuNCAxMi44LTMuOSAxOTkuNi03MS4xIDIwOC03NC41IDguNC0zLjUgMTMuNi01LjkgNy45LTE0LjQtNC4yLTYuMi01My41LTcyLjItNzkuMy0xMDYuOCAxNy43LTQuNyA4MC42LTIxLjQgODcuMy0yMy4zIDcuOS0yIDktNS44IDQuNy0xMC42em0tMzUyLjIgNzJjLTIuMy41LTExMC44IDI2LjUtMTE2LjYgMjcuOC01LjggMS4zLTUuOC43LTYuNS0xLjMtLjctMi0xMjktMjY2LjctMTMwLjgtMjcwLTEuOC0zLjMtMS43LTUuOSAwLTUuOXMxMDIuNS05IDEwNi05LjJjMy42LS4yIDMuMi42IDQuNSAyLjggMCAwIDE0Mi4yIDI0NS40IDE0NC42IDI0OS43IDIuNiA0LjMgMS4xIDUuNi0xLjIgNi4xem0zMDYgNTcuNGMxLjcgMi43IDMuNSA0LjUtMiA2LjQtNS40IDItMTgzLjcgNjIuMS0xODcuMSA2My42LTMuNSAxLjUtNi4yIDItMTAuNi00LjVzLTYyLjQtMTA2LjgtNjIuNC0xMDYuOEw1MTggMjgwLjZjNC43LTEuNSA2LjItMi41IDkuMiAyLjIgMi45IDQuOCA2Mi40IDg1LjUgNjQuMSA4OC4yem0xMi4xLTEzNC4xYy00LjIuOS03My42IDE4LjEtNzMuNiAxOC4xbC01Ni43LTc3LjhjLTEuNi0yLjMtMi45LTQuNSAxLjEtNXM2OC40LTEyLjIgNzEuMy0xMi44YzIuOS0uNyA1LjQtMS41IDkgMy40IDMuNiA0LjkgNTIuNiA2NyA1NC41IDY5LjQgMS44IDIuMy0xLjQgMy43LTUuNiA0Ljd6Il0sCiAgICAgICJsYXN0Zm0iOiBbNTEyLCA1MTIsIFtdLCAiZjIwMiIsICJNMjI1LjggMzY3LjFsLTE4LjgtNTFzLTMwLjUgMzQtNzYuMiAzNGMtNDAuNSAwLTY5LjItMzUuMi02OS4yLTkxLjUgMC03Mi4xIDM2LjQtOTcuOSA3Mi4xLTk3LjkgNjYuNSAwIDc0LjggNTMuMyAxMDAuOSAxMzQuOSAxOC44IDU2LjkgNTQgMTAyLjYgMTU1LjQgMTAyLjYgNzIuNyAwIDEyMi0yMi4zIDEyMi04MC45IDAtNzIuOS02Mi43LTgwLjYtMTE1LTkyLjEtMjUuOC01LjktMzMuNC0xNi40LTMzLjQtMzQgMC0xOS45IDE1LjgtMzEuNyA0MS42LTMxLjcgMjguMiAwIDQzLjQgMTAuNiA0NS43IDM1LjhsNTguNi03Yy00LjctNTIuOC00MS4xLTc0LjUtMTAwLjktNzQuNS01Mi44IDAtMTA0LjQgMTkuOS0xMDQuNCA4My45IDAgMzkuOSAxOS40IDY1LjEgNjggNzYuOCA0NC45IDEwLjYgNzkuOCAxMy44IDc5LjggNDUuNyAwIDIxLjctMjEuMSAzMC41LTYxIDMwLjUtNTkuMiAwLTgzLjktMzEuMS05Ny45LTczLjktMzItOTYuOC00My42LTE2My0xNjEuMy0xNjNDNDUuNyAxMTMuOCAwIDE2OC4zIDAgMjYxYzAgODkuMSA0NS43IDEzNy4yIDEyNy45IDEzNy4yIDY2LjIgMCA5Ny45LTMxLjEgOTcuOS0zMS4xeiJdLAogICAgICAibGFzdGZtLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMjAzIiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0tOTIuMiAzMTIuOWMtNjMuNCAwLTg1LjQtMjguNi05Ny4xLTY0LjEtMTYuMy01MS0yMS41LTg0LjMtNjMtODQuMy0yMi40IDAtNDUuMSAxNi4xLTQ1LjEgNjEuMiAwIDM1LjIgMTggNTcuMiA0My4zIDU3LjIgMjguNiAwIDQ3LjYtMjEuMyA0Ny42LTIxLjNsMTEuNyAzMS45cy0xOS44IDE5LjQtNjEuMiAxOS40Yy01MS4zIDAtNzkuOS0zMC4xLTc5LjktODUuOCAwLTU3LjkgMjguNi05MiA4Mi41LTkyIDczLjUgMCA4MC44IDQxLjQgMTAwLjggMTAxLjkgOC44IDI2LjggMjQuMiA0Ni4yIDYxLjIgNDYuMiAyNC45IDAgMzguMS01LjUgMzguMS0xOS4xIDAtMTkuOS0yMS44LTIyLTQ5LjktMjguNi0zMC40LTcuMy00Mi41LTIzLjEtNDIuNS00OCAwLTQwIDMyLjMtNTIuNCA2NS4yLTUyLjQgMzcuNCAwIDYwLjEgMTMuNiA2MyA0Ni42bC0zNi43IDQuNGMtMS41LTE1LjgtMTEtMjIuNC0yOC42LTIyLjQtMTYuMSAwLTI2IDcuMy0yNiAxOS44IDAgMTEgNC44IDE3LjYgMjAuOSAyMS4zIDMyLjcgNy4xIDcxLjggMTIgNzEuOCA1Ny41LjEgMzYuNy0zMC43IDUwLjYtNzYuMSA1MC42eiJdLAogICAgICAibGVhbnB1YiI6IFs1NzYsIDUxMiwgW10sICJmMjEyIiwgIk0zODYuNTM5IDExMS40ODVsMTUuMDk2IDI0OC45NTUtMTAuOTc5LS4yNzVjLTM2LjIzMi0uODI0LTcxLjY0IDguNzgzLTEwMi42NTcgMjcuOTk3LTMxLjAxNi0xOS4yMTQtNjYuNDI0LTI3Ljk5Ny0xMDIuNjU3LTI3Ljk5Ny00NS41NjQgMC04Mi4wNyAxMC43MDUtMTIzLjUxNiAyNy43MjNMOTMuMTE3IDEyOS42YzI4LjU0Ni0xMS44MDMgNjEuNDg0LTE4LjExNSA5Mi4yMjYtMTguMTE1IDQxLjE3MyAwIDczLjgzNiAxMy4xNzUgMTAyLjY1NyA0Mi41NDQgMjcuNzIzLTI4LjI3MSA1OS4wMTMtNDEuNzIxIDk4LjUzOS00Mi41NDR6TTU2OS4wNyA0NDhjLTI1LjUyNiAwLTQ3LjQ4NS01LjIxNS03MC41NDItMTUuNjQ1LTM0LjMxLTE1LjY0NS02OS45OTMtMjQuOTc4LTEwNy44NzEtMjQuOTc4LTM4Ljk3NyAwLTc0LjkzNCAxMi45MDEtMTAyLjY1NyA0MC42MjMtMjcuNzIzLTI3LjcyMy02My42OC00MC42MjMtMTAyLjY1Ny00MC42MjMtMzcuODc4IDAtNzMuNTYxIDkuMzMzLTEwNy44NzEgMjQuOTc4QzU1LjIzOSA0NDIuMjM2IDMyLjczMSA0NDggOC4zMDMgNDQ4SDYuOTNMNDkuNDc1IDk4Ljg1OUM4OC43MjYgNzYuNjI2IDEzNi40ODYgNjQgMTgxLjc3NSA2NCAyMTguODMgNjQgMjU2Ljk4NCA3MS42ODUgMjg4IDkzLjA5NSAzMTkuMDE2IDcxLjY4NSAzNTcuMTcgNjQgMzk0LjIyNSA2NGM0NS4yODkgMCA5My4wNDkgMTIuNjI2IDEzMi4zIDM0Ljg1OUw1NjkuMDcgNDQ4em0tNDMuMzY4LTQ0Ljc0MWwtMzQuMDM2LTI4MC4yNDZjLTMwLjc0Mi0xMy45OTktNjcuMjQ4LTIxLjQxLTEwMS4wMDktMjEuNDEtMzguNDI4IDAtNzQuMzg1IDEyLjA3Ny0xMDIuNjU3IDM4LjcwMi0yOC4yNzItMjYuNjI1LTY0LjIyOC0zOC43MDItMTAyLjY1Ny0zOC43MDItMzMuNzYxIDAtNzAuMjY3IDcuNDExLTEwMS4wMDkgMjEuNDFMNTAuMjk4IDQwMy4yNTljNDcuMjExLTE5LjQ4NyA4Mi44OTQtMzMuNDg2IDEzNS4wNDUtMzMuNDg2IDM3LjYwNCAwIDcwLjgxNyA5LjYwNiAxMDIuNjU3IDI5LjY0NCAzMS44NC0yMC4wMzggNjUuMDUyLTI5LjY0NCAxMDIuNjU3LTI5LjY0NCA1Mi4xNTEgMCA4Ny44MzQgMTMuOTk5IDEzNS4wNDUgMzMuNDg2eiJdLAogICAgICAibGVzcyI6IFs2NDAsIDUxMiwgW10sICJmNDFkIiwgIk02MTIuNyAyMTljMC0yMC41IDMuMi0zMi42IDMuMi01NC42IDAtMzQuMi0xMi42LTQ1LjItNDAuNS00NS4yaC0yMC41djI0LjJoNi4zYzE0LjIgMCAxNy4zIDQuNyAxNy4zIDIyLjEgMCAxNi4zLTEuNiAzMi42LTEuNiA1MS41IDAgMjQuMiA3LjkgMzMuNiAyMy42IDM3LjN2MS42Yy0xNS44IDMuNy0yMy42IDEzLjEtMjMuNiAzNy4zIDAgMTguOSAxLjYgMzQuMiAxLjYgNTEuNSAwIDE3LjktMy43IDIyLjYtMTcuMyAyMi42di41aC02LjNWMzkzaDIwLjVjMjcuOCAwIDQwLjUtMTEgNDAuNS00NS4yIDAtMjIuNi0zLjItMzQuMi0zLjItNTQuNiAwLTExIDYuOC0yMi42IDI3LjMtMjMuNnYtMjcuM2MtMjAuNS0uNy0yNy4zLTEyLjMtMjcuMy0yMy4zem0tMTA1LjYgMzJjLTE1LjgtNi4zLTMwLjUtMTAtMzAuNS0yMC41IDAtNy45IDYuMy0xMi42IDE3LjktMTIuNnMyMi4xIDQuNyAzMy42IDEzLjFsMjEtMjcuOGMtMTMuMS0xMC0zMS0yMC41LTU1LjItMjAuNS0zNS43IDAtNTkuOSAyMC41LTU5LjkgNDkuNCAwIDI1LjcgMjIuNiAzOC45IDQxLjUgNDYuMiAxNi4zIDYuMyAzMi4xIDExLjYgMzIuMSAyMi4xIDAgNy45LTYuMyAxMy4xLTIwLjUgMTMuMS0xMy4xIDAtMjYuMy01LjMtNDAuNS0xNi4zbC0yMSAzMC41YzE1LjggMTMuMSAzOS45IDIyLjEgNTkuOSAyMi4xIDQyIDAgNjQuNi0yMi4xIDY0LjYtNTFzLTIyLjUtNDEtNDMtNDcuOHptLTM1OC45IDU5LjRjLTMuNyAwLTguNC0zLjItOC40LTEzLjFWMTE5LjFINjUuMmMtMjguNCAwLTQxIDExLTQxIDQ1LjIgMCAyMi42IDMuMiAzNS4yIDMuMiA1NC42IDAgMTEtNi44IDIyLjYtMjcuMyAyMy42djI3LjNjMjAuNS41IDI3LjMgMTIuMSAyNy4zIDIzLjEgMCAxOS40LTMuMiAzMS0zLjIgNTMuNiAwIDM0LjIgMTIuNiA0NS4yIDQwLjUgNDUuMmgyMC41di0yNC4yaC02LjNjLTEzLjEgMC0xNy4zLTUuMy0xNy4zLTIyLjZzMS42LTMyLjEgMS42LTUxLjVjMC0yNC4yLTcuOS0zMy42LTIzLjYtMzcuM3YtMS42YzE1LjgtMy43IDIzLjYtMTMuMSAyMy42LTM3LjMgMC0xOC45LTEuNi0zNC4yLTEuNi01MS41czMuNy0yMi4xIDE3LjMtMjIuMUg5M3YxNTAuOGMwIDMyLjEgMTEgNTMuMSA0My4xIDUzLjEgMTAgMCAxNy45LTEuNiAyMy42LTMuN2wtNS4zLTM0LjJjLTMuMS44LTQuNi44LTYuMi44ek0zNzkuOSAyNTFjLTE2LjMtNi4zLTMxLTEwLTMxLTIwLjUgMC03LjkgNi4zLTEyLjYgMTcuOS0xMi42IDExLjYgMCAyMi4xIDQuNyAzMy42IDEzLjFsMjEtMjcuOGMtMTMuMS0xMC0zMS0yMC41LTU1LjItMjAuNS0zNS43IDAtNTkuOSAyMC41LTU5LjkgNDkuNCAwIDI1LjcgMjIuNiAzOC45IDQxLjUgNDYuMiAxNi4zIDYuMyAzMi4xIDExLjYgMzIuMSAyMi4xIDAgNy45LTYuMyAxMy4xLTIwLjUgMTMuMS0xMy4xIDAtMjYuMy01LjMtNDAuNS0xNi4zbC0yMC41IDMwLjVjMTUuOCAxMy4xIDM5LjkgMjIuMSA1OS45IDIyLjEgNDIgMCA2NC42LTIyLjEgNjQuNi01MSAuMS0yOC45LTIyLjUtNDEtNDMtNDcuOHptLTE1NS02OC44Yy0zOC40IDAtNzUuMSAzMi4xLTc0LjEgODIuNSAwIDUyIDM0LjIgODIuNSA3OS4zIDgyLjUgMTguOSAwIDM5LjktNi44IDU2LjItMTcuOWwtMTUuOC0yNy44Yy0xMS42IDYuOC0yMi42IDEwLTM0LjIgMTAtMjEgMC0zNy4zLTEwLTQxLjUtMzQuMkgyOTBjLjUtMy43IDEuNi0xMSAxLjYtMTkuNC42LTQyLjYtMjIuNi03NS43LTY2LjctNzUuN3ptLTMwIDY2LjJjMy4yLTIxIDE1LjgtMzEgMzAuNS0zMSAxOC45IDAgMjYuMyAxMy4xIDI2LjMgMzFoLTU2Ljh6Il0sCiAgICAgICJsaW5lIjogWzQ0OCwgNTEyLCBbXSwgImYzYzAiLCAiTTI3Mi4xIDIwNC4ydjcxLjFjMCAxLjgtMS40IDMuMi0zLjIgMy4yaC0xMS40Yy0xLjEgMC0yLjEtLjYtMi42LTEuM2wtMzIuNi00NHY0Mi4yYzAgMS44LTEuNCAzLjItMy4yIDMuMmgtMTEuNGMtMS44IDAtMy4yLTEuNC0zLjItMy4ydi03MS4xYzAtMS44IDEuNC0zLjIgMy4yLTMuMkgyMTljMSAwIDIuMS41IDIuNiAxLjRsMzIuNiA0NHYtNDIuMmMwLTEuOCAxLjQtMy4yIDMuMi0zLjJoMTEuNGMxLjgtLjEgMy4zIDEuNCAzLjMgMy4xem0tODItMy4yaC0xMS40Yy0xLjggMC0zLjIgMS40LTMuMiAzLjJ2NzEuMWMwIDEuOCAxLjQgMy4yIDMuMiAzLjJoMTEuNGMxLjggMCAzLjItMS40IDMuMi0zLjJ2LTcxLjFjMC0xLjctMS40LTMuMi0zLjItMy4yem0tMjcuNSA1OS42aC0zMS4xdi01Ni40YzAtMS44LTEuNC0zLjItMy4yLTMuMmgtMTEuNGMtMS44IDAtMy4yIDEuNC0zLjIgMy4ydjcxLjFjMCAuOS4zIDEuNi45IDIuMi42LjUgMS4zLjkgMi4yLjloNDUuN2MxLjggMCAzLjItMS40IDMuMi0zLjJ2LTExLjRjMC0xLjctMS40LTMuMi0zLjEtMy4yek0zMzIuMSAyMDFoLTQ1LjdjLTEuNyAwLTMuMiAxLjQtMy4yIDMuMnY3MS4xYzAgMS43IDEuNCAzLjIgMy4yIDMuMmg0NS43YzEuOCAwIDMuMi0xLjQgMy4yLTMuMnYtMTEuNGMwLTEuOC0xLjQtMy4yLTMuMi0zLjJIMzAxdi0xMmgzMS4xYzEuOCAwIDMuMi0xLjQgMy4yLTMuMlYyMzRjMC0xLjgtMS40LTMuMi0zLjItMy4ySDMwMXYtMTJoMzEuMWMxLjggMCAzLjItMS40IDMuMi0zLjJ2LTExLjRjLS4xLTEuNy0xLjUtMy4yLTMuMi0zLjJ6TTQ0OCAxMTMuN1YzOTljLS4xIDQ0LjgtMzYuOCA4MS4xLTgxLjcgODFIODFjLTQ0LjgtLjEtODEuMS0zNi45LTgxLTgxLjdWMTEzYy4xLTQ0LjggMzYuOS04MS4xIDgxLjctODFIMzY3YzQ0LjguMSA4MS4xIDM2LjggODEgODEuN3ptLTYxLjYgMTIyLjZjMC03My03My4yLTEzMi40LTE2My4xLTEzMi40LTg5LjkgMC0xNjMuMSA1OS40LTE2My4xIDEzMi40IDAgNjUuNCA1OCAxMjAuMiAxMzYuNCAxMzAuNiAxOS4xIDQuMSAxNi45IDExLjEgMTIuNiAzNi44LS43IDQuMS0zLjMgMTYuMSAxNC4xIDguOCAxNy40LTcuMyA5My45LTU1LjMgMTI4LjItOTQuNyAyMy42LTI2IDM0LjktNTIuMyAzNC45LTgxLjV6Il0sCiAgICAgICJsaW5rZWRpbiI6IFs0NDgsIDUxMiwgW10sICJmMDhjIiwgIk00MTYgMzJIMzEuOUMxNC4zIDMyIDAgNDYuNSAwIDY0LjN2MzgzLjRDMCA0NjUuNSAxNC4zIDQ4MCAzMS45IDQ4MEg0MTZjMTcuNiAwIDMyLTE0LjUgMzItMzIuM1Y2NC4zYzAtMTcuOC0xNC40LTMyLjMtMzItMzIuM3pNMTM1LjQgNDE2SDY5VjIwMi4yaDY2LjVWNDE2em0tMzMuMi0yNDNjLTIxLjMgMC0zOC41LTE3LjMtMzguNS0zOC41UzgwLjkgOTYgMTAyLjIgOTZjMjEuMiAwIDM4LjUgMTcuMyAzOC41IDM4LjUgMCAyMS4zLTE3LjIgMzguNS0zOC41IDM4LjV6bTI4Mi4xIDI0M2gtNjYuNFYzMTJjMC0yNC44LS41LTU2LjctMzQuNS01Ni43LTM0LjYgMC0zOS45IDI3LTM5LjkgNTQuOVY0MTZoLTY2LjRWMjAyLjJoNjMuN3YyOS4yaC45YzguOS0xNi44IDMwLjYtMzQuNSA2Mi45LTM0LjUgNjcuMiAwIDc5LjcgNDQuMyA3OS43IDEwMS45VjQxNnoiXSwKICAgICAgImxpbmtlZGluLWluIjogWzQ0OCwgNTEyLCBbXSwgImYwZTEiLCAiTTEwMC4zIDQ4MEg3LjRWMTgwLjloOTIuOVY0ODB6TTUzLjggMTQwLjFDMjQuMSAxNDAuMSAwIDExNS41IDAgODUuOCAwIDU2LjEgMjQuMSAzMiA1My44IDMyYzI5LjcgMCA1My44IDI0LjEgNTMuOCA1My44IDAgMjkuNy0yNC4xIDU0LjMtNTMuOCA1NC4zek00NDggNDgwaC05Mi43VjMzNC40YzAtMzQuNy0uNy03OS4yLTQ4LjMtNzkuMi00OC4zIDAtNTUuNyAzNy43LTU1LjcgNzYuN1Y0ODBoLTkyLjhWMTgwLjloODkuMXY0MC44aDEuM2MxMi40LTIzLjUgNDIuNy00OC4zIDg3LjktNDguMyA5NCAwIDExMS4zIDYxLjkgMTExLjMgMTQyLjNWNDgweiJdLAogICAgICAibGlub2RlIjogWzQ0OCwgNTEyLCBbXSwgImYyYjgiLCAiTTQzNy40IDIyNi4zYy0uMy0uOS0uOS0xLjQtMS40LTJsLTcwLTM4LjZjLS45LS42LTItLjYtMy4xIDBsLTU4LjkgMzZjLS45LjYtMS40IDEuNy0xLjQgMi42bC0uOSAzMS40LTI0LTE2Yy0uOS0uNi0yLjMtLjYtMy4xIDBMMjQwIDI2MC45bC0xLjQtMzUuMWMwLS45LS42LTItMS40LTIuM2wtMzYtMjQuMyAzMy43LTE3LjRjMS4xLS42IDEuNy0xLjcgMS43LTIuOWwtNS43LTEzMi4zYzAtLjktLjktMi0xLjctMi42TDEzOC42LjNjLS45LS4zLTEuNy0uMy0yLjMtLjNMMTIuNiAzOC42Yy0xLjQuNi0yLjMgMi0yIDMuN0wzOCAxNzUuNGMuOSAzLjQgMzQgMjcuNCAzOC42IDMwLjlsLTI2LjkgMTIuOWMtMS40LjktMiAyLjMtMS43IDMuNGwyMC42IDEwMC4zYy42IDIuOSAyMy43IDIzLjEgMjcuMSAyNi4zbC0xNy40IDEwLjZjLS45LjYtMS43IDItMS40IDMuMSAxLjQgNy4xIDE1LjQgNzcuNyAxNi45IDc5LjFsNjUuMSA2OS4xYy42LjYgMS40LjYgMi4zLjkuNiAwIDEuMS0uMyAxLjctLjZsODMuNy02Ni45Yy45LS42IDEuMS0xLjQgMS4xLTIuM2wtMi00NiAyOCAyMy43YzEuMS45IDIuOS45IDQgMGw2Ni45LTUzLjRjLjktLjYgMS4xLTEuNCAxLjEtMi4zbDIuMy0zMy40IDIwLjMgMTRjMS4xLjkgMi42LjkgMy43IDBsNTQuNi00My43Yy42LS4zIDEuMS0xLjEgMS4xLTIgLjktNi41IDEwLjMtNzAuOCA5LjctNzIuOHptLTIwNC44IDQuOGw0IDkyLjYtOTAuNiA2MS4yLTE0LTk2LjYgMTAwLjYtNTcuMnptLTcuNy0xODBsNS40IDEyNi0xMDYuNiA1NS40TDEwNCA5Ny43bDEyMC45LTQ2LjZ6TTQ0IDE3My4xTDE4IDQ4bDc5LjcgNDkuNCAxOS40IDEzMi45TDQ0IDE3My4xem0zMC42IDE0Ny44TDU1LjcgMjMwbDcwIDU4LjMgMTMuNyA5My40LTY0LjgtNjAuOHptMjQuMyAxMTcuN2wtMTMuNy02Ny4xIDYxLjcgNjAuOSA5LjcgNjcuNC01Ny43LTYxLjJ6bTY0LjUgNjQuNWwtMTAuNi03MC45IDg1LjctNjEuNCAzLjEgNzAtNzguMiA2Mi4zem04Mi0xMTUuMWMwLTMuNC45LTIyLjktMi0yNS4xbC0yNC4zLTIwIDIyLjMtMTQuOWMyLjMtMS43IDEuMS01LjcgMS4xLThsMjkuNCAyMi42LjYgNjguMy0yNy4xLTIyLjl6bTk0LjMtMjUuNGwtNjAuOSA0OC42LS42LTY4LjYgNjUuNy00Ni45LTQuMiA2Ni45em0yNy43LTI1LjdsLTE5LjEtMTMuNCAyLTM0Yy4zLS45LS4zLTItMS4xLTIuNkwzMDggMjU5LjdsLjYtMzAgNjQuNiA0MC42LTUuOCA2Ni42em01NC42LTM5LjhsLTQ4LjMgMzguMyA1LjctNjUuMSA1MS4xLTM2LjYtOC41IDYzLjR6Il0sCiAgICAgICJsaW51eCI6IFs0NDgsIDUxMiwgW10sICJmMTdjIiwgIk0xOTYuMSAxMjMuNmMtLjItMS40IDEuOS0yLjMgMy4yLTIuOSAxLjctLjcgMy45LTEgNS41LS4xLjQuMi44LjcuNiAxLjEtLjQgMS4yLTIuNCAxLTMuNSAxLjYtMSAuNS0xLjggMS43LTMgMS43LTEgLjEtMi43LS40LTIuOC0xLjR6bTI0LjctLjNjMSAuNSAxLjggMS43IDMgMS43IDEuMSAwIDIuOC0uNCAyLjktMS41LjItMS40LTEuOS0yLjMtMy4yLTIuOS0xLjctLjctMy45LTEtNS41LS4xLS40LjItLjguNy0uNiAxLjEuMyAxLjMgMi4zIDEuMSAzLjQgMS43em0yMTQuNyAzMTAuMmMtLjUgOC4yLTYuNSAxMy44LTEzLjkgMTguMy0xNC45IDktMzcuMyAxNS44LTUwLjkgMzIuMmwtMi42LTIuMiAyLjYgMi4yYy0xNC4yIDE2LjktMzEuNyAyNi42LTQ4LjMgMjcuOS0xNi41IDEuMy0zMi02LjMtNDAuMy0yM3YtLjFjLTEuMS0yLjEtMS45LTQuNC0yLjUtNi43LTIxLjUgMS4yLTQwLjItNS4zLTU1LjEtNC4xLTIyIDEuMi0zNS44IDYuNS00OC4zIDYuNi00LjggMTAuNi0xNC4zIDE3LjYtMjUuOSAyMC4yLTE2IDMuNy0zNi4xIDAtNTUuOS0xMC40bDEuNi0zLTEuNiAzYy0xOC41LTkuOC00Mi04LjktNTkuMy0xMi41LTguNy0xLjgtMTYuMy01LTIwLjEtMTIuMy0zLjctNy4zLTMtMTcuMyAyLjItMzEuNyAxLjctNS4xLjQtMTIuNy0uOC0yMC44LS42LTMuOS0xLjItNy45LTEuMi0xMS44IDAtNC4zLjctOC41IDIuOC0xMi40IDQuNS04LjUgMTEuOC0xMi4xIDE4LjUtMTQuNSA2LjctMi40IDEyLjgtNCAxNy04LjMgNS4yLTUuNSAxMC4xLTE0LjQgMTYuNi0yMC4yLTIuNi0xNy4yLjItMzUuNCA2LjItNTMuMyAxMi42LTM3LjkgMzkuMi03NC4yIDU4LjEtOTYuNyAxNi4xLTIyLjkgMjAuOC00MS4zIDIyLjUtNjQuN0MxNTggMTAzLjQgMTMyLjQtLjIgMjM0LjggMGM4MC45LjEgNzYuMyA4NS40IDc1LjggMTMxLjMtLjMgMzAuMSAxNi4zIDUwLjUgMzMuNCA3MiAxNS4yIDE4IDM1LjEgNDQuMyA0Ni41IDc0LjQgOS4zIDI0LjYgMTIuOSA1MS44IDMuNyA3OS4xIDEuNC41IDIuOCAxLjIgNC4xIDIgMS40LjggMi43IDEuOCA0IDIuOSA2LjYgNS42IDguNyAxNC4zIDEwLjUgMjIuNCAxLjkgOC4xIDMuNiAxNS43IDcuMiAxOS43IDExLjEgMTIuNCAxNS45IDIxLjUgMTUuNSAyOS43ek0yMjAuOCAxMDkuMWMzLjYuOSA4LjkgMi40IDEzIDQuNC0yLjEtMTIuMiA0LjUtMjMuNSAxMS44LTIzIDguOS4zIDEzLjkgMTUuNSA5LjEgMjcuMy0uOCAxLjktMi44IDMuNC0zLjkgNC42IDYuNyAyLjMgMTEgNC4xIDEyLjYgNC45IDcuOS05LjUgMTAuOC0yNi4yIDQuMy00MC40LTkuOC0yMS40LTM0LjItMjEuOC00NCAuNC0zLjIgNy4yLTMuOSAxNC45LTIuOSAyMS44em0tNDYuMiAxOC44YzcuOC01LjcgNi45LTQuNyA1LjktNS41LTgtNi45LTYuNi0yNy40IDEuOC0yOC4xIDYuMy0uNSAxMC44IDEwLjcgOS42IDE5LjYgMy4xLTIuMSA2LjctMy42IDEwLjItNC42IDEuNy0xOS4zLTktMzMuNS0xOS4xLTMzLjUtMTguOSAwLTI0IDM3LjUtOC40IDUyLjF6bS05LjQgMjAuOWMxLjUgNC45IDYuMSAxMC41IDE0LjcgMTUuMyA3LjggNC42IDEyIDExLjUgMjAgMTUgMi42IDEuMSA1LjcgMS45IDkuNiAyLjEgMTguNCAxLjEgMjcuMS0xMS4zIDM4LjItMTQuOSAxMS43LTMuNyAyMC4xLTExIDIyLjctMTguMSAzLjItOC41LTIuMS0xNC43LTEwLjUtMTguMi0xMS4zLTQuOS0xNi4zLTUuMi0yMi42LTkuMy0xMC4zLTYuNi0xOC44LTguOS0yNS45LTguOS0xNC40IDAtMjMuMiA5LjgtMjcuOSAxNC4yLS41LjUtNy45IDUuOS0xNC4xIDEwLjUtNC4yIDMuMy01LjYgNy40LTQuMiAxMi4zem0tMzMuNSAyNTIuOEwxMTIuMSAzNjZjLTYuOC05LjItMTMuOC0xNC44LTIxLjktMTYtNy43LTEuMi0xMi42IDEuNC0xNy43IDYuOS00LjggNS4xLTguOCAxMi4zLTE0LjMgMTgtNy44IDYuNS05LjMgNi4yLTE5LjYgOS45LTYuMyAyLjItMTEuMyA0LjYtMTQuOCAxMS4zLTIuNyA1LTIuMSAxMi4yLS45IDIwIDEuMiA3LjkgMyAxNi4zLjYgMjMuOXYuMmMtNSAxMy43LTUgMjEuNy0yLjYgMjYuNCA3LjkgMTUuNCA0Ni42IDYuMSA3Ni41IDIxLjkgMzEuNCAxNi40IDcyLjYgMTcuMSA3NS4zLTE4IDIuMS0yMC41LTMxLjUtNDktNDEtNjguOXptMTUzLjkgMzUuOGMzLjItMTEgNi4zLTIxLjMgNi44LTI5IC44LTE1LjIgMS42LTI4LjcgNC40LTM5LjkgMy4xLTEyLjYgOS4zLTIzLjEgMjEuNC0yNy4zIDIuMy0yMS4xIDE4LjctMjEuMSAzOC4zLTEyLjUgMTguOSA4LjUgMjYgMTYgMjIuOCAyNi4xIDEgMCAyLS4xIDQuMiAwIDUuMi0xNi45LTE0LjMtMjgtMzAuNy0zNC44IDIuOS0xMiAyLjQtMjQuMS0uNC0zNS43LTYtMjUuMy0yMi42LTQ3LjgtMzUuMi01OS0yLjMtLjEtMi4xIDEuOSAyLjYgNi41IDExLjYgMTAuNyAzNy4xIDQ5LjIgMjMuMyA4NC45LTMuOS0xLTcuNi0xLjUtMTAuOS0xLjQtNS4zLTI5LjEtMTcuNS01My4yLTIzLjYtNjQuNi0xMS41LTIxLjQtMjkuNS02NS4zLTM3LjItOTUuNy00LjUgNi40LTEyLjQgMTEuOS0yMi4zIDE1LTQuNyAxLjUtOS43IDUuNS0xNS45IDktMTMuOSA4LTMwIDguOC00Mi40LTEuMi00LjUtMy42LTgtNy42LTEyLjYtMTAuMy0xLjYtLjktNS4xLTMuMy02LjItNC4xLTIgMzcuOC0yNy4zIDg1LjMtMzkuMyAxMTIuNy04LjMgMTkuNy0xMy4yIDQwLjgtMTMuOCA2MS41LTIxLjgtMjkuMS01LjktNjYuMyAyLjYtODIuNCA5LjUtMTcuNiAxMS0yMi41IDguNy0yMC44LTguNiAxNC0yMiAzNi4zLTI3LjIgNTkuMi0yLjcgMTEuOS0zLjIgMjQgLjMgMzUuMiAzLjUgMTEuMiAxMS4xIDIxLjUgMjQuNiAyOS45IDAgMCAyNC44IDE0LjMgMzguMyAzMi41IDcuNCAxMCA5LjcgMTguNyA3LjQgMjQuOS0yLjUgNi43LTkuNiA4LjktMTYuNyA4LjkgNC44IDYgMTAuMyAxMyAxNC40IDE5LjYgMzcuNiAyNS43IDgyLjIgMTUuNyAxMTQuMy03LjJ6TTQxNSA0MDguNWMtMTAtMTEuMy03LjItMzMuMS0xNy4xLTQxLjYtNi45LTYtMTMuNi01LjQtMjIuNi01LjEtNy43IDguOC0yNS44IDE5LjYtMzguNCAxNi4zLTExLjUtMi45LTE4LTE2LjMtMTguOC0yOS41LS4zLjItLjcuMy0xIC41LTcuMSAzLjktMTEuMSAxMC44LTEzLjcgMjEuMS0yLjUgMTAuMi0zLjQgMjMuNS00LjIgMzguNy0uNyAxMS44LTYuMiAyNi40LTkuOSA0MC42LTMuNSAxMy4yLTUuOCAyNS4yLTEuMSAzNi4zIDcuMiAxNC41IDE5LjUgMjAuNCAzMy43IDE5LjMgMTQuMi0xLjEgMzAuNC05LjggNDMuNi0yNS41IDIyLTI2LjYgNjIuMy0yOS43IDYzLjItNDYuNS4zLTUuMS0zLjEtMTMtMTMuNy0yNC42ek0xNzMuMyAxNDguN2MyIDEuOSA0LjcgNC41IDggNy4xIDYuNiA1LjIgMTUuOCAxMC42IDI3LjMgMTAuNiAxMS42IDAgMjIuNS01LjkgMzEuOC0xMC44IDQuOS0yLjYgMTAuOS03IDE0LjgtMTAuNCAzLjktMy40IDUuOS02LjMgMy4xLTYuNi0yLjgtLjMtMi42IDIuNi02IDUuMS00LjQgMy4yLTkuNyA3LjQtMTMuOSA5LjgtNy40IDQuMi0xOS41IDEwLjItMjkuOSAxMC4yLTEwLjQgMC0xOC43LTQuOC0yNC45LTkuNy0zLjEtMi41LTUuNy01LTcuNy02LjktMS41LTEuNC0xLjktNC42LTQuMy00LjktMS40LS4xLTEuOCAzLjcgMS43IDYuNXoiXSwKICAgICAgImx5ZnQiOiBbNTEyLCA1MTIsIFtdLCAiZjNjMyIsICJNMCA4MS4xaDc3Ljh2MjA4LjdjMCAzMy4xIDE1IDUyLjggMjcuMiA2MS0xMi43IDExLjEtNTEuMiAyMC45LTgwLjItMi44QzcuOCAzMzQgMCAzMTAuNyAwIDI4OVY4MS4xem00ODUuOSAxNzMuNXYtMjJoMjMuOHYtNzYuOGgtMjYuMWMtMTAuMS00Ni4zLTUxLjItODAuNy0xMDAuMy04MC43LTU2LjYgMC0xMDIuNyA0Ni0xMDIuNyAxMDIuN1YzNTdjMTYgMi4zIDM1LjQtLjMgNTEuNy0xNCAxNy4xLTE0IDI0LjgtMzcuMiAyNC44LTU5di02LjdoMzguOHYtNzYuOGgtMzguOHYtMjMuM2MwLTM0LjYgNTIuMi0zNC42IDUyLjIgMHY3Ny4xYzAgNTYuNiA0NiAxMDIuNyAxMDIuNyAxMDIuN3YtNzYuNWMtMTQuNSAwLTI2LjEtMTEuNy0yNi4xLTI1Ljl6bS0yOTQuMy05OXYxMTNjMCAxNS40LTIzLjggMTUuNC0yMy44IDB2LTExM0g5MXYxMzIuN2MwIDIzLjggOCA1NCA0NSA2My45IDM3IDkuOCA1OC4yLTEwLjYgNTguMi0xMC42LTIuMSAxMy40LTE0LjUgMjMuMy0zNC45IDI1LjMtMTUuNSAxLjYtMzUuMi0zLjYtNDUtNy44djcwLjNjMjUuMSA3LjUgNTEuNSA5LjggNzcuNiA0LjcgNDcuMS05LjEgNzYuOC00OC40IDc2LjgtMTAwLjhWMTU1LjFoLTc3LjF2LjV6Il0sCiAgICAgICJtYWdlbnRvIjogWzQ0OCwgNTEyLCBbXSwgImYzYzQiLCAiTTQ0NS43IDEyNy45VjM4NGwtNjMuNCAzNi41VjE2NC43TDIyMy44IDczLjEgNjUuMiAxNjQuN2wuNCAyNTUuOUwyLjMgMzg0VjEyOC4xTDIyNC4yIDBsMjIxLjUgMTI3Ljl6TTI1NS42IDQyMC41TDIyNCA0MzguOWwtMzEuOC0xOC4ydi0yNTZsLTYzLjMgMzYuNi4xIDI1NS45IDk0LjkgNTQuOSA5NS4xLTU0Ljl2LTI1NmwtNjMuNC0zNi42djI1NS45eiJdLAogICAgICAibWF4Y2RuIjogWzUxMiwgNTEyLCBbXSwgImYxMzYiLCAiTTQ2MS4xIDQ0Mi43aC05Ny40TDQxNS42IDIwMGMyLjMtMTAuMi45LTE5LjUtNC40LTI1LjctNS02LjEtMTMuNy05LjYtMjQuMi05LjZoLTQ5LjNsLTU5LjUgMjc4aC05Ny40bDU5LjUtMjc4aC04My40bC01OS41IDI3OEgwbDU5LjUtMjc4LTQ0LjYtOTUuNEgzODdjMzkuNCAwIDc1LjMgMTYuMyA5OC4zIDQ0LjkgMjMuMyAyOC42IDMxLjggNjcuNCAyMy42IDEwNS45bC00Ny44IDIyMi42eiJdLAogICAgICAibWVkYXBwcyI6IFszMjAsIDUxMiwgW10sICJmM2M2IiwgIk0xMTguMyAyMzguNGMzLjUtMTIuNSA2LjktMzMuNiAxMy4yLTMzLjYgOC4zIDEuOCA5LjYgMjMuNCAxOC42IDM2LjYgNC42LTIzLjUgNS4zLTg1LjEgMTQuMS04Ni43IDktLjcgMTkuNyA2Ni41IDIyIDc3LjUgOS45IDQuMSA0OC45IDYuNiA0OC45IDYuNiAxLjkgNy4zLTI0IDcuNi00MCA3LjgtNC42IDE0LjgtNS40IDI3LjctMTEuNCAyOC00LjcuMi04LjItMjguOC0xNy41LTQ5LjZsLTkuNCA2NS41Yy00LjQgMTMtMTUuNS0yMi41LTIxLjktMzkuMy0zLjMtLjEtNjIuNC0xLjYtNDcuNi03LjhsMzEtNXpNMjI4IDQ0OGMyMS4yIDAgMjEuMi0zMiAwLTMySDkyYy0yMS4yIDAtMjEuMiAzMiAwIDMyaDEzNnptLTI0IDY0YzIxLjIgMCAyMS4yLTMyIDAtMzJoLTg4Yy0yMS4yIDAtMjEuMiAzMiAwIDMyaDg4em0zNC4yLTE0MS41YzMuMi0xOC45IDUuMi0zNi40IDExLjktNDguOCA3LjktMTQuNyAxNi4xLTI4LjEgMjQtNDEgMjQuNi00MC40IDQ1LjktNzUuMiA0NS45LTEyNS41QzMyMCA2OS42IDI0OC4yIDAgMTYwIDBTMCA2OS42IDAgMTU1LjJjMCA1MC4yIDIxLjMgODUuMSA0NS45IDEyNS41IDcuOSAxMi45IDE2IDI2LjMgMjQgNDEgNi43IDEyLjUgOC43IDI5LjggMTEuOSA0OC45IDMuNSAyMSAzNi4xIDE1LjcgMzIuNi01LjEtMy42LTIxLjctNS42LTQwLjctMTUuMy01OC42QzY2LjUgMjQ2LjUgMzMgMjExLjMgMzMgMTU1LjIgMzMgODcuMyA5MCAzMiAxNjAgMzJzMTI3IDU1LjMgMTI3IDEyMy4yYzAgNTYuMS0zMy41IDkxLjMtNjYuMSAxNTEuNi05LjcgMTgtMTEuNyAzNy40LTE1LjMgNTguNi0zLjQgMjAuNiAyOSAyNi40IDMyLjYgNS4xeiJdLAogICAgICAibWVkaXVtIjogWzQ0OCwgNTEyLCBbXSwgImYyM2EiLCAiTTAgMzJ2NDQ4aDQ0OFYzMkgwem0zNzIuMiAxMDYuMWwtMjQgMjNjLTIuMSAxLjYtMy4xIDQuMi0yLjcgNi43djE2OS4zYy0uNCAyLjYuNiA1LjIgMi43IDYuN2wyMy41IDIzdjUuMWgtMTE4VjM2N2wyNC4zLTIzLjZjMi40LTIuNCAyLjQtMy4xIDIuNC02LjdWMTk5LjhsLTY3LjYgMTcxLjZoLTkuMUwxMjUgMTk5Ljh2MTE1Yy0uNyA0LjggMSA5LjcgNC40IDEzLjJsMzEuNiAzOC4zdjUuMUg3MS4ydi01LjFsMzEuNi0zOC4zYzMuNC0zLjUgNC45LTguNCA0LjEtMTMuMnYtMTMzYy40LTMuNy0xLTcuMy0zLjgtOS44TDc1IDEzOC4xVjEzM2g4Ny4zbDY3LjQgMTQ4TDI4OSAxMzMuMWg4My4ydjV6Il0sCiAgICAgICJtZWRpdW0tbSI6IFs1MTIsIDUxMiwgW10sICJmM2M3IiwgIk03MS41IDE0Mi4zYy42LTUuOS0xLjctMTEuOC02LjEtMTUuOEwyMC4zIDcyLjFWNjRoMTQwLjJsMTA4LjQgMjM3LjdMMzY0LjIgNjRoMTMzLjd2OC4xbC0zOC42IDM3Yy0zLjMgMi41LTUgNi43LTQuMyAxMC44djI3MmMtLjcgNC4xIDEgOC4zIDQuMyAxMC44bDM3LjcgMzd2OC4xSDMwNy4zdi04LjFsMzkuMS0zNy45YzMuOC0zLjggMy44LTUgMy44LTEwLjhWMTcxLjJMMjQxLjUgNDQ3LjFoLTE0LjdMMTAwLjQgMTcxLjJ2MTg0LjljLTEuMSA3LjggMS41IDE1LjYgNyAyMS4ybDUwLjggNjEuNnY4LjFoLTE0NHYtOEw2NSAzNzcuM2M1LjQtNS42IDcuOS0xMy41IDYuNS0yMS4yVjE0Mi4zeiJdLAogICAgICAibWVkcnQiOiBbNTQ0LCA1MTIsIFtdLCAiZjNjOCIsICJNMTEzLjcgMjU2YzAgMTIxLjggODMuOSAyMjIuOCAxOTMuNSAyNDEuMS0xOC43IDQuNS0zOC4yIDYuOS01OC4yIDYuOUMxMTEuNCA1MDQgMCAzOTMgMCAyNTZTMTExLjQgOCAyNDguOSA4YzIwLjEgMCAzOS42IDIuNCA1OC4yIDYuOUMxOTcuNSAzMy4yIDExMy43IDEzNC4yIDExMy43IDI1Nm0yOTcuNCAxMDAuM2MtNzcuNyA1NS40LTE3OS42IDQ3LjUtMjQwLjQtMTQuNiA1LjUgMTQuMSAxMi43IDI3LjcgMjEuNyA0MC41IDYxLjYgODguMiAxODIuNCAxMDkuMyAyNjkuNyA0NyA4Ny4zLTYyLjMgMTA4LjEtMTg0LjMgNDYuNS0yNzIuNi05LTEyLjktMTkuMy0yNC4zLTMwLjUtMzQuMiAzNy40IDc4LjggMTAuNyAxNzguNS02NyAyMzMuOW0tMjE4LjgtMjQ0Yy0xLjQgMS0yLjcgMi4xLTQgMy4xIDY0LjMtMTcuOCAxMzUuOSA0IDE3OC45IDYwLjUgMzUuNyA0NyA0Mi45IDEwNi42IDI0LjQgMTU4IDU2LjctNTYuMiA2Ny42LTE0Mi4xIDIyLjMtMjAxLjgtNTAtNjUuNS0xNDkuMS03NC40LTIyMS42LTE5LjhNMjk2IDIyNGMtNC40IDAtOC0zLjYtOC04di00MGMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2NDBjMCA0LjQtMy42IDgtOCA4aC00MGMtNC40IDAtOCAzLjYtOCA4djQ4YzAgNC40IDMuNiA4IDggOGg0MGM0LjQgMCA4IDMuNiA4IDh2NDBjMCA0LjQgMy42IDggOCA4aDQ4YzQuNCAwIDgtMy42IDgtOHYtNDBjMC00LjQgMy42LTggOC04aDQwYzQuNCAwIDgtMy42IDgtOHYtNDhjMC00LjQtMy42LTgtOC04aC00MHoiXSwKICAgICAgIm1lZXR1cCI6IFs1MTIsIDUxMiwgW10sICJmMmUwIiwgIk05OSA0MTQuM2MxLjEgNS43LTIuMyAxMS4xLTggMTIuMy01LjQgMS4xLTEwLjktMi4zLTEyLTgtMS4xLTUuNCAyLjMtMTEuMSA3LjctMTIuMyA1LjQtMS4yIDExLjEgMi4zIDEyLjMgOHptMTQzLjEgNzEuNGMtNi4zIDQuNi04IDEzLjQtMy43IDIwIDQuNiA2LjYgMTMuNCA4LjMgMjAgMy43IDYuMy00LjYgOC0xMy40IDMuNC0yMC00LjItNi41LTEzLjEtOC4zLTE5LjctMy43em0tODYtNDYyLjNjNi4zLTEuNCAxMC4zLTcuNyA4LjktMTQtMS4xLTYuNi03LjQtMTAuNi0xMy43LTkuMS02LjMgMS40LTEwLjMgNy43LTkuMSAxNCAxLjQgNi42IDcuNiAxMC42IDEzLjkgOS4xek0zNC40IDIyNi4zYy0xMC02LjktMjMuNy00LjMtMzAuNiA2LTYuOSAxMC00LjMgMjQgNS43IDMwLjkgMTAgNy4xIDIzLjcgNC42IDMwLjYtNS43IDYuOS0xMC40IDQuMy0yNC4xLTUuNy0zMS4yem0yNzItMTcwLjljMTAuNi02LjMgMTMuNy0yMCA3LjctMzAuMy02LjMtMTAuNi0xOS43LTE0LTMwLTcuN3MtMTMuNyAyMC03LjQgMzAuNmM2IDEwLjMgMTkuNCAxMy43IDI5LjcgNy40em0tMTkxLjEgNThjNy43LTUuNCA5LjQtMTYgNC4zLTIzLjdzLTE1LjctOS40LTIzLjEtNC4zYy03LjcgNS40LTkuNCAxNi00LjMgMjMuNyA1LjEgNy44IDE1LjYgOS41IDIzLjEgNC4zem0zNzIuMyAxNTZjLTcuNCAxLjctMTIuMyA5LjEtMTAuNiAxNi45IDEuNCA3LjQgOC45IDEyLjMgMTYuMyAxMC42IDcuNC0xLjQgMTIuMy04LjkgMTAuNi0xNi42LTEuNS03LjQtOC45LTEyLjMtMTYuMy0xMC45em0zOS43LTU2LjhjLTEuMS01LjctNi42LTkuMS0xMi04LTUuNyAxLjEtOS4xIDYuOS04IDEyLjYgMS4xIDUuNCA2LjYgOS4xIDEyLjMgOCA1LjQtMS41IDkuMS02LjkgNy43LTEyLjZ6TTQ0NyAxMzguOWMtOC42IDYtMTAuNiAxNy43LTQuOSAyNi4zIDUuNyA4LjYgMTcuNCAxMC42IDI2IDQuOSA4LjMtNiAxMC4zLTE3LjcgNC42LTI2LjMtNS43LTguNy0xNy40LTEwLjktMjUuNy00Ljl6bS02LjMgMTM5LjRjMjYuMyA0My4xIDE1LjEgMTAwLTI2LjMgMTI5LjEtMTcuNCAxMi4zLTM3LjEgMTcuNy01Ni45IDE3LjEtMTIgNDcuMS02OS40IDY0LjYtMTA1LjEgMzIuNi0xLjEuOS0yLjYgMS43LTMuNyAyLjktMzkuMSAyNy4xLTkyLjMgMTcuNC0xMTkuNC0yMi4zLTkuNy0xNC4zLTE0LjYtMzAuNi0xNS4xLTQ2LjktNjUuNC0xMC45LTkwLTk0LTQxLjEtMTM5LjctMjguMy00Ni45LjYtMTA3LjQgNTMuNC0xMTQuOUMxNTEuNiA3MCAyMzQuMSAzOC42IDI5MC4xIDgyYzY3LjQtMjIuMyAxMzYuMyAyOS40IDEzMC45IDEwMS4xIDQxLjEgMTIuNiA1Mi44IDY2LjkgMTkuNyA5NS4yem0tNzAgNzQuM2MtMy4xLTIwLjYtNDAuOS00LjYtNDMuMS0yNy4xLTMuMS0zMiA0My43LTEwMS4xIDQwLTEyOC0zLjQtMjQtMTkuNC0yOS4xLTMzLjQtMjkuNC0xMy40LS4zLTE2LjkgMi0yMS40IDQuNi0yLjkgMS43LTYuNiA0LjktMTEuNy0uMy02LjMtNi0xMS4xLTExLjctMTkuNC0xMi45LTEyLjMtMi0xNy43IDItMjYuNiA5LjctMy40IDIuOS0xMiAxMi45LTIwIDkuMS0zLjQtMS43LTE1LjQtNy43LTI0LTExLjQtMTYuMy03LjEtNDAgNC42LTQ4LjYgMjAtMTIuOSAyMi45LTM4IDExMy4xLTQxLjcgMTI1LjEtOC42IDI2LjYgMTAuOSA0OC42IDM2LjkgNDcuMSAxMS4xLS42IDE4LjMtNC42IDI1LjQtMTcuNCA0LTcuNCA0MS43LTEwNy43IDQ0LjYtMTEyLjYgMi0zLjQgOC45LTggMTQuNi01LjEgNS43IDMuMSA2LjkgOS40IDYgMTUuMS0xLjEgOS43LTI4IDcwLjktMjguOSA3Ny43LTMuNCAyMi45IDI2LjkgMjYuNiAzOC42IDQgMy43LTcuMSA0NS43LTkyLjYgNDkuNC05OC4zIDQuMy02LjMgNy40LTguMyAxMS43LTggMy4xIDAgOC4zLjkgNy4xIDEwLjktMS40IDkuNC0zNS4xIDcyLjMtMzguOSA4Ny43LTQuNiAyMC42IDYuNiA0MS40IDI0LjkgNTAuNiAxMS40IDUuNyA2Mi41IDE1LjcgNTguNS0xMS4xem01LjcgOTIuM2MtMTAuMyA3LjQtMTIuOSAyMi01LjcgMzIuNiA3LjEgMTAuNiAyMS40IDEzLjEgMzIgNiAxMC42LTcuNCAxMy4xLTIyIDYtMzIuNi03LjQtMTAuNi0yMS43LTEzLjUtMzIuMy02eiJdLAogICAgICAibWljcm9zb2Z0IjogWzQ0OCwgNTEyLCBbXSwgImYzY2EiLCAiTTAgMzJoMjE0LjZ2MjE0LjZIMFYzMnptMjMzLjQgMEg0NDh2MjE0LjZIMjMzLjRWMzJ6TTAgMjY1LjRoMjE0LjZWNDgwSDBWMjY1LjR6bTIzMy40IDBINDQ4VjQ4MEgyMzMuNFYyNjUuNHoiXSwKICAgICAgIm1peCI6IFs0NDgsIDUxMiwgW10sICJmM2NiIiwgIk0wIDY0djM0OC45YzAgNTYuMiA4OCA1OC4xIDg4IDBWMTc0LjNjNy45LTUyLjkgODgtNTAuNCA4OCA2LjV2MTc1LjNjMCA1Ny45IDk2IDU4IDk2IDBWMjQwYzUuMy01NC43IDg4LTUyLjUgODggNC4zdjIzLjhjMCA1OS45IDg4IDU2LjYgODggMFY2NEgweiJdLAogICAgICAibWl4Y2xvdWQiOiBbNjQwLCA1MTIsIFtdLCAiZjI4OSIsICJNNDI0LjQzIDIxOS43MjlDNDE2LjEyNCAxMzQuNzI3IDM0NC4xMzUgNjggMjU2LjkxOSA2OGMtNzIuMjY2IDAtMTM2LjIyNCA0Ni41MTYtMTU5LjIwNSAxMTQuMDc0LTU0LjU0NSA4LjAyOS05Ni42MyA1NC44MjItOTYuNjMgMTExLjU4MiAwIDYyLjI5OCA1MC42NjggMTEyLjk2NiAxMTMuMjQzIDExMi45NjZoMjg5LjYxNGM1Mi4zMjkgMCA5NC45NjktNDIuMzYyIDk0Ljk2OS05NC42OTMgMC00NS4xMzEtMzIuMTE4LTgzLjA2My03NC40OC05Mi4yem0tMjAuNDg5IDE0NC41M0gxMTQuMzI3Yy0zOS4wNCAwLTcwLjg4MS0zMS41NjQtNzAuODgxLTcwLjYwNHMzMS44NDEtNzAuNjA0IDcwLjg4MS03MC42MDRjMTguODI3IDAgMzYuNTQ4IDcuNDc1IDQ5LjgzOCAyMC43NjYgMTkuOTYzIDE5Ljk2MyA1MC4xMzMtMTAuMjI3IDMwLjE4LTMwLjE4LTE0LjY3NS0xNC4zOTgtMzIuNjcyLTI0LjM2NS01Mi4wNTMtMjkuMzQ5IDE5LjkzNS00NC4zIDY0Ljc5LTczLjkyNiAxMTQuNjI4LTczLjkyNiA2OS40OTYgMCAxMjUuOTc5IDU2LjQ4MyAxMjUuOTc5IDEyNS43MDIgMCAxMy41NjgtMi4yMTUgMjYuODU3LTYuMzY5IDM5LjU5NC04Ljk0MyAyNy41MTcgMzIuMTMzIDM4LjkzOSA0MC4xNDcgMTMuMjkgMi43NjktOC4zMDYgNC45ODQtMTYuODg5IDYuMzY5LTI1LjQ3MiAxOS4zODEgNy40NzYgMzMuNTAyIDI2LjMwMyAzMy41MDIgNDguNDUzIDAgMjguNzk1LTIzLjUzNSA1Mi4zMy01Mi42MDcgNTIuMzN6bTIzNS4wNjktNTIuMzNjMCA0NC4wMjQtMTIuNzM3IDg2LjM4Ni0zNy4xMDIgMTIyLjY1Ny00LjE1MyA2LjA5Mi0xMC43OTggOS40MTQtMTcuNzIgOS40MTQtMTYuMzE3IDAtMjcuMTI3LTE4LjgyNi0xNy40NDMtMzIuOTQ5IDE5LjM4MS0yOS4zNDkgMjkuOTAzLTYzLjY4MiAyOS45MDMtOTkuMTIycy0xMC41MjEtNjkuNzczLTI5LjkwMy05OC44NDVjLTE1LjY1NS0yMi44MzEgMTkuMzYxLTQ3LjI0IDM1LjE2My0yMy41MzQgMjQuMzY2IDM1Ljk5MyAzNy4xMDIgNzguMzU2IDM3LjEwMiAxMjIuMzc5em0tNzAuODggMGMwIDMxLjU2NS05LjEzNyA2Mi4wMjEtMjYuODU3IDg4LjMyNS00LjE1MyA2LjA5MS0xMC43OTggOS4xMzYtMTcuNzIgOS4xMzYtMTcuMjAxIDAtMjcuMDIyLTE4Ljk3OS0xNy40NDMtMzIuOTQ4IDEzLjAxMy0xOS4xMDQgMTkuNjU4LTQxLjI1NSAxOS42NTgtNjQuNTEzIDAtMjIuOTgxLTYuNjQ1LTQ1LjQwOC0xOS42NTgtNjQuNTEyLTE1Ljc2MS0yMi45ODYgMTkuMDA4LTQ3LjA5NSAzNS4xNjMtMjMuNTM1IDE3LjcxOSAyNi4wMjYgMjYuODU3IDU2LjQ4MyAyNi44NTcgODguMDQ3eiJdLAogICAgICAibWl6dW5pIjogWzQ5NiwgNTEyLCBbXSwgImYzY2MiLCAiTTI0OCA4QzExMSA4IDAgMTE5LjEgMCAyNTZjMCAxMzcgMTExIDI0OCAyNDggMjQ4czI0OC0xMTEgMjQ4LTI0OEM0OTYgMTE5LjEgMzg1IDggMjQ4IDh6bS04MCAzNTEuOWMtMzEuNCAxMC42LTU4LjggMjcuMy04MCA0OC4yVjEzNmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwdjIyMy45em0xMjAtOS45Yy0xMi45LTItMjYuMi0zLjEtMzkuOC0zLjEtMTMuOCAwLTI3LjIgMS4xLTQwLjIgMy4xVjEzNmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwdjIxNHptMTIwIDU3LjdjLTIxLjItMjAuOC00OC42LTM3LjQtODAtNDhWMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDB2MjcxLjd6Il0sCiAgICAgICJtb2R4IjogWzQ0OCwgNTEyLCBbXSwgImYyODUiLCAiTTM1NiAyNDEuOGwzNi43IDIzLjdWNDgwbC0xMzMtODMuOEwzNTYgMjQxLjh6TTQ0MCA3NUgyMjYuM2wtMjMgMzcuOCAxNTMuNSA5Ni41TDQ0MCA3NXptLTg5IDE0Mi44TDU1LjIgMzJ2MjE0LjVsNDYgMjlMMzUxIDIxNy44ek05NyAyOTQuMkw4IDQzN2gyMTMuN2wxMjUtMjAwLjVMOTcgMjk0LjJ6Il0sCiAgICAgICJtb25lcm8iOiBbNDk2LCA1MTIsIFtdLCAiZjNkMCIsICJNMzUyIDM4NGgxMDguNEM0MTcgNDU1LjkgMzM4LjEgNTA0IDI0OCA1MDRTNzkgNDU1LjkgMzUuNiAzODRIMTQ0VjI1Ni4yTDI0OCAzNjFsMTA0LTEwNXYxMjh6TTg4IDMzNlYxMjhsMTU5LjQgMTU5LjRMNDA4IDEyOHYyMDhoNzQuOGM4LjUtMjUuMSAxMy4yLTUyIDEzLjItODBDNDk2IDExOSAzODUgOCAyNDggOFMwIDExOSAwIDI1NmMwIDI4IDQuNiA1NC45IDEzLjIgODBIODh6Il0sCiAgICAgICJuYXBzdGVyIjogWzQ5NiwgNTEyLCBbXSwgImYzZDIiLCAiTTI5OC4zIDM3My42Yy0xNC4yIDEzLjYtMzEuMyAyNC4xLTUwLjQgMzAuNS0xOS02LjQtMzYuMi0xNi45LTUwLjMtMzAuNWgxMDAuN3ptNDQtMTk5LjZjMjAtMTYuOSA0My42LTI5LjIgNjkuNi0zNi4yVjI5OWMwIDIxOS40LTMyOCAyMTcuNi0zMjggLjNWMTM3LjdjMjUuOSA2LjkgNDkuNiAxOS42IDY5LjUgMzYuNCA1Ni44LTQwIDEzMi41LTM5LjkgMTg4LjktLjF6bS0yMDguOC01OC41YzY0LjQtNjAgMTY0LjMtNjAuMSAyMjguOS0uMi03LjEgMy41LTEzLjkgNy4zLTIwLjYgMTEuNS01OC43LTMwLjUtMTI5LjItMzAuNC0xODcuOS4xLTYuMy00LTEzLjktOC4yLTIwLjQtMTEuNHpNNDMuOCA5My4ydjY5LjNjLTU4LjQgMzYuNS01OC40IDEyMS4xLjEgMTU4LjMgMjYuNCAyNDUuMSAzODEuNyAyNDAuMyA0MDcuNiAxLjVsLjMtMS43YzU4LjctMzYuMyA1OC45LTEyMS43LjItMTU4LjJWOTMuMmMtMTcuMy41LTM0IDMtNTAuMSA3LjQtODItOTEuNS0yMjUuNS05MS41LTMwNy41LjEtMTYuMy00LjQtMzMuMS03LTUwLjYtNy41ek0yNTkuMiAzNTJzMzYtLjMgNjEuMy0xLjVjMTAuMi0uNSAyMS4xLTQgMjUuNS02LjUgMjYuMy0xNS4xIDI1LjQtMzkuMiAyNi4yLTQ3LjQtNzkuNS0uNi05OS45LTMuOS0xMTMgNTUuNHptLTEzNS41LTU1LjNjLjggOC4yLS4xIDMyLjMgMjYuMiA0Ny40IDQuNCAyLjUgMTUuMiA2IDI1LjUgNi41IDI1LjMgMS4xIDYxLjMgMS41IDYxLjMgMS41LTEzLjItNTkuNC0zMy43LTU2LjEtMTEzLTU1LjR6bTE2OS4xIDEyMy40Yy0zLjItNS4zLTYuOS03LjMtNi45LTcuMy0yNC44IDcuMy01Mi4yIDYuOS03NS45IDAgMCAwLTIuOSAxLjUtNi40IDYuNi0yLjggNC4xLTMuNyA5LjYtMy43IDkuNiAyOS4xIDE3LjYgNjcuMSAxNy42IDk2LjIgMC0uMS0uMS0uMy00LTMuMy04Ljl6Il0sCiAgICAgICJuaW50ZW5kby1zd2l0Y2giOiBbNDQ4LCA1MTIsIFtdLCAiZjQxOCIsICJNOTUuOSAzMy41Yy00NC42IDgtODAuNSA0MS05MS44IDg0LjRDMCAxMzMuNi0uMyAxNDIuOC4yIDI2NC40LjQgMzc2IC41IDM3OC42IDIuNCAzODcuM2MxMC4zIDQ2LjUgNDMuMyA3OS42IDkwLjMgOTAuNSA2LjEgMS40IDEzLjkgMS43IDY0LjEgMS45IDUxLjkuNCA1Ny4zLjMgNTguNy0xLjEgMS40LTEuNCAxLjUtMTkuMyAxLjUtMjIyLjIgMC0xNTAuNS0uMy0yMjEuMy0uOS0yMjIuNi0uOS0xLjctMi41LTEuOC01Ni45LTEuNy00NC4yLjEtNTcuNS40LTYzLjMgMS40em04My45IDIyMi42VjQ0NGwtMzcuOC0uNWMtMzQuOC0uNC0zOC41LS42LTQ1LjUtMi4zLTI5LjktNy43LTUyLTMwLjctNTguMy02MC43LTItOS40LTItMjQwLjEtLjEtMjQ5LjMgNS42LTI2LjEgMjMuNy00Ny43IDQ4LTU3LjQgMTIuMi00LjkgMTcuOS01LjUgNTcuNi01LjZsMzUuOS0uMXYxODh6bS03NS45LTEzMS4yYy01LjggMS4xLTE0LjcgNS42LTE5LjUgOS43LTkuNyA4LjQtMTQuNiAyMC40LTEzLjggMzQuNS40IDcuMy44IDkuMyAzLjggMTUuMiA0LjQgOSAxMC45IDE1LjYgMTkuOSAyMCA2LjIgMy4xIDcuOCAzLjQgMTUuOSAzLjcgNy4zLjMgOS45IDAgMTQuOC0xLjcgMjAuMS02LjggMzIuMy0yNi4zIDI4LjgtNDYuNC0zLjktMjMuNy0yNi42LTM5LjctNDkuOS0zNXptMTU4LjItOTIuM2MtLjQuMy0uNiAxMDAuOC0uNiAyMjMuNSAwIDIwMi4zLjEgMjIyLjggMS41IDIyMy40IDIuNS45IDc0LjUuNiA4My40LS40IDM3LjctNC4zIDcxLTI3LjIgODktNjEuMiAyLjMtNC40IDUuNC0xMS43IDctMTYuMiA1LjgtMTcuNCA1LjctMTIuOCA1LjctMTQ2LjEgMC0xMDYuNC0uMi0xMjIuMy0xLjUtMTI5LTkuMi00OC4zLTQ2LjEtODQuOC05NC41LTkzLjEtNi41LTEuMS0xNi41LTEuNC00OC44LTEuNC0yMi40LS4xLTQwLjkuMi00MS4yLjV6bTk5LjEgMjAyLjFjMTQuNSAzLjggMjYuMyAxNC44IDMxLjIgMjguOSAzLjEgOC43IDMgMjEuNS0uMSAyOS41LTUuNyAxNC43LTE2LjggMjUtMzEuMSAyOC44LTIzLjIgNi00Ny45LTgtNTQuNi0zMS0yLTctMS45LTE4LjkuNC0yNi4yIDYuOS0yMi43IDMxLTM2LjEgNTQuMi0zMHoiXSwKICAgICAgIm5vZGUiOiBbNjQwLCA1MTIsIFtdLCAiZjQxOSIsICJNMzE2LjMgNDUyYy0yLjEgMC00LjItLjYtNi4xLTEuNkwyOTEgNDM5Yy0yLjktMS42LTEuNS0yLjItLjUtMi41IDMuOC0xLjMgNC42LTEuNiA4LjctNCAuNC0uMiAxLS4xIDEuNC4xbDE0LjggOC44Yy41LjMgMS4zLjMgMS44IDBMMzc1IDQwOGMuNS0uMy45LS45LjktMS42di02Ni43YzAtLjctLjMtMS4zLS45LTEuNmwtNTcuOC0zMy4zYy0uNS0uMy0xLjItLjMtMS44IDBsLTU3LjggMzMuM2MtLjYuMy0uOSAxLS45IDEuNnY2Ni43YzAgLjYuNCAxLjIuOSAxLjVsMTUuOCA5LjFjOC42IDQuMyAxMy45LS44IDEzLjktNS44di02NS45YzAtLjkuNy0xLjcgMS43LTEuN2g3LjNjLjkgMCAxLjcuNyAxLjcgMS43djY1LjljMCAxMS41LTYuMiAxOC0xNy4xIDE4LTMuMyAwLTYgMC0xMy4zLTMuNmwtMTUuMi04LjdjLTMuNy0yLjItNi4xLTYuMi02LjEtMTAuNXYtNjYuN2MwLTQuMyAyLjMtOC40IDYuMS0xMC41bDU3LjgtMzMuNGMzLjctMi4xIDguNS0yLjEgMTIuMSAwbDU3LjggMzMuNGMzLjcgMi4yIDYuMSA2LjIgNi4xIDEwLjV2NjYuN2MwIDQuMy0yLjMgOC40LTYuMSAxMC41bC01Ny44IDMzLjRjLTEuNyAxLjEtMy44IDEuNy02IDEuN3ptNDYuNy02NS44YzAtMTIuNS04LjQtMTUuOC0yNi4yLTE4LjItMTgtMi40LTE5LjgtMy42LTE5LjgtNy44IDAtMy41IDEuNS04LjEgMTQuOC04LjEgMTEuOSAwIDE2LjMgMi42IDE4LjEgMTAuNi4yLjguOCAxLjMgMS42IDEuM2g3LjVjLjUgMCAuOS0uMiAxLjItLjUuMy0uNC41LS44LjQtMS4zLTEuMi0xMy44LTEwLjMtMjAuMi0yOC44LTIwLjItMTYuNSAwLTI2LjMgNy0yNi4zIDE4LjYgMCAxMi43IDkuOCAxNi4xIDI1LjYgMTcuNyAxOC45IDEuOSAyMC40IDQuNiAyMC40IDguMyAwIDYuNS01LjIgOS4yLTE3LjQgOS4yLTE1LjMgMC0xOC43LTMuOC0xOS44LTExLjQtLjEtLjgtLjgtMS40LTEuNy0xLjRoLTcuNWMtLjkgMC0xLjcuNy0xLjcgMS43IDAgOS43IDUuMyAyMS4zIDMwLjYgMjEuMyAxOC41IDAgMjktNy4yIDI5LTE5Ljh6bTU0LjUtNTAuMWMwIDYuMS01IDExLjEtMTEuMSAxMS4xcy0xMS4xLTUtMTEuMS0xMS4xYzAtNi4zIDUuMi0xMS4xIDExLjEtMTEuMSA2LS4xIDExLjEgNC44IDExLjEgMTEuMXptLTEuOCAwYzAtNS4yLTQuMi05LjMtOS40LTkuMy01LjEgMC05LjMgNC4xLTkuMyA5LjMgMCA1LjIgNC4yIDkuNCA5LjMgOS40IDUuMi0uMSA5LjQtNC4zIDkuNC05LjR6bS00LjUgNi4yaC0yLjZjLS4xLS42LS41LTMuOC0uNS0zLjktLjItLjctLjQtMS4xLTEuMy0xLjFoLTIuMnY1aC0yLjR2LTEyLjVoNC4zYzEuNSAwIDQuNCAwIDQuNCAzLjMgMCAyLjMtMS41IDIuOC0yLjQgMy4xIDEuNy4xIDEuOCAxLjIgMi4xIDIuOC4xIDEgLjMgMi43LjYgMy4zem0tMi44LTguOGMwLTEuNy0xLjItMS43LTEuOC0xLjdoLTJ2My41aDEuOWMxLjYgMCAxLjktMS4xIDEuOS0xLjh6TTEzNy4zIDE5MWMwLTIuNy0xLjQtNS4xLTMuNy02LjRsLTYxLjMtMzUuM2MtMS0uNi0yLjItLjktMy40LTFoLS42Yy0xLjIgMC0yLjMuNC0zLjQgMUwzLjcgMTg0LjZDMS40IDE4NS45IDAgMTg4LjQgMCAxOTFsLjEgOTVjMCAxLjMuNyAyLjUgMS44IDMuMiAxLjEuNyAyLjUuNyAzLjcgMEw0MiAyNjguM2MyLjMtMS40IDMuNy0zLjggMy43LTYuNHYtNDQuNGMwLTIuNiAxLjQtNS4xIDMuNy02LjRsMTUuNS04LjljMS4yLS43IDIuNC0xIDMuNy0xIDEuMyAwIDIuNi4zIDMuNyAxbDE1LjUgOC45YzIuMyAxLjMgMy43IDMuOCAzLjcgNi40djQ0LjRjMCAyLjYgMS40IDUuMSAzLjcgNi40bDM2LjQgMjAuOWMxLjEuNyAyLjYuNyAzLjcgMCAxLjEtLjYgMS44LTEuOSAxLjgtMy4ybC4yLTk1ek00NzIuNSA4Ny4zdjE3Ni40YzAgMi42LTEuNCA1LjEtMy43IDYuNGwtNjEuMyAzNS40Yy0yLjMgMS4zLTUuMSAxLjMtNy40IDBsLTYxLjMtMzUuNGMtMi4zLTEuMy0zLjctMy44LTMuNy02LjR2LTcwLjhjMC0yLjYgMS40LTUuMSAzLjctNi40bDYxLjMtMzUuNGMyLjMtMS4zIDUuMS0xLjMgNy40IDBsMTUuMyA4LjhjMS43IDEgMy45LS4zIDMuOS0yLjJ2LTk0YzAtMi44IDMtNC42IDUuNS0zLjJsMzYuNSAyMC40YzIuMyAxLjIgMy44IDMuNyAzLjggNi40em0tNDYgMTI4LjljMC0uNy0uNC0xLjMtLjktMS42bC0yMS0xMi4yYy0uNi0uMy0xLjMtLjMtMS45IDBsLTIxIDEyLjJjLS42LjMtLjkuOS0uOSAxLjZ2MjQuM2MwIC43LjQgMS4zLjkgMS42bDIxIDEyLjFjLjYuMyAxLjMuMyAxLjggMGwyMS0xMi4xYy42LS4zLjktLjkuOS0xLjZ2LTI0LjN6bTIwOS44LS43YzIuMy0xLjMgMy43LTMuOCAzLjctNi40VjE5MmMwLTIuNi0xLjQtNS4xLTMuNy02LjRsLTYwLjktMzUuNGMtMi4zLTEuMy01LjEtMS4zLTcuNCAwbC02MS4zIDM1LjRjLTIuMyAxLjMtMy43IDMuOC0zLjcgNi40djcwLjhjMCAyLjcgMS40IDUuMSAzLjcgNi40bDYwLjkgMzQuN2MyLjIgMS4zIDUgMS4zIDcuMyAwbDM2LjgtMjAuNWMyLjUtMS40IDIuNS01IDAtNi40TDU1MCAyNDEuNmMtMS4yLS43LTEuOS0xLjktMS45LTMuMnYtMjIuMmMwLTEuMy43LTIuNSAxLjktMy4ybDE5LjItMTEuMWMxLjEtLjcgMi42LS43IDMuNyAwbDE5LjIgMTEuMWMxLjEuNyAxLjkgMS45IDEuOSAzLjJ2MTcuNGMwIDIuOCAzLjEgNC42IDUuNiAzLjJsMzYuNy0yMS4zek01NTkgMjE5Yy0uNC4zLS43LjctLjcgMS4ydjEzLjZjMCAuNS4zIDEgLjcgMS4ybDExLjggNi44Yy40LjMgMSAuMyAxLjQgMEw1ODQgMjM1Yy40LS4zLjctLjcuNy0xLjJ2LTEzLjZjMC0uNS0uMy0xLS43LTEuMmwtMTEuOC02LjhjLS40LS4zLTEtLjMtMS40IDBMNTU5IDIxOXptLTI1NC4yIDQzLjV2LTcwLjRjMC0yLjYtMS42LTUuMS0zLjktNi40bC02MS4xLTM1LjJjLTIuMS0xLjItNS0xLjQtNy40IDBsLTYxLjEgMzUuMmMtMi4zIDEuMy0zLjkgMy43LTMuOSA2LjR2NzAuNGMwIDIuOCAxLjkgNS4yIDQgNi40bDYxLjIgMzUuMmMyLjQgMS40IDUuMiAxLjMgNy40IDBsNjEtMzUuMmMxLjgtMSAzLjEtMi43IDMuNi00LjcuMS0uNS4yLTEuMS4yLTEuN3ptLTc0LjMtMTI0LjlsLS44LjVoMS4xbC0uMy0uNXptNzYuMiAxMzAuMmwtLjQtLjd2LjlsLjQtLjJ6Il0sCiAgICAgICJub2RlLWpzIjogWzQ0OCwgNTEyLCBbXSwgImYzZDMiLCAiTTIyNCA1MDhjLTYuNyAwLTEzLjUtMS44LTE5LjQtNS4ybC02MS43LTM2LjVjLTkuMi01LjItNC43LTctMS43LTggMTIuMy00LjMgMTQuOC01LjIgMjcuOS0xMi43IDEuNC0uOCAzLjItLjUgNC42LjRsNDcuNCAyOC4xYzEuNyAxIDQuMSAxIDUuNyAwbDE4NC43LTEwNi42YzEuNy0xIDIuOC0zIDIuOC01VjE0OS4zYzAtMi4xLTEuMS00LTIuOS01LjFMMjI2LjggMzcuN2MtMS43LTEtNC0xLTUuNyAwTDM2LjYgMTQ0LjNjLTEuOCAxLTIuOSAzLTIuOSA1LjF2MjEzLjFjMCAyIDEuMSA0IDIuOSA0LjlsNTAuNiAyOS4yYzI3LjUgMTMuNyA0NC4zLTIuNCA0NC4zLTE4LjdWMTY3LjVjMC0zIDIuNC01LjMgNS40LTUuM2gyMy40YzIuOSAwIDUuNCAyLjMgNS40IDUuM1YzNzhjMCAzNi42LTIwIDU3LjYtNTQuNyA1Ny42LTEwLjcgMC0xOS4xIDAtNDIuNS0xMS42bC00OC40LTI3LjlDOC4xIDM4OS4yLjcgMzc2LjMuNyAzNjIuNFYxNDkuM2MwLTEzLjggNy40LTI2LjggMTkuNC0zMy43TDIwNC42IDljMTEuNy02LjYgMjcuMi02LjYgMzguOCAwbDE4NC43IDEwNi43YzEyIDYuOSAxOS40IDE5LjggMTkuNCAzMy43djIxMy4xYzAgMTMuOC03LjQgMjYuNy0xOS40IDMzLjdMMjQzLjQgNTAyLjhjLTUuOSAzLjQtMTIuNiA1LjItMTkuNCA1LjJ6bTE0OS4xLTIxMC4xYzAtMzkuOS0yNy01MC41LTgzLjctNTgtNTcuNC03LjYtNjMuMi0xMS41LTYzLjItMjQuOSAwLTExLjEgNC45LTI1LjkgNDcuNC0yNS45IDM3LjkgMCA1MS45IDguMiA1Ny43IDMzLjguNSAyLjQgMi43IDQuMiA1LjIgNC4yaDI0YzEuNSAwIDIuOS0uNiAzLjktMS43czEuNS0yLjYgMS40LTQuMWMtMy43LTQ0LjEtMzMtNjQuNi05Mi4yLTY0LjYtNTIuNyAwLTg0LjEgMjIuMi04NC4xIDU5LjUgMCA0MC40IDMxLjMgNTEuNiA4MS44IDU2LjYgNjAuNSA1LjkgNjUuMiAxNC44IDY1LjIgMjYuNyAwIDIwLjYtMTYuNiAyOS40LTU1LjUgMjkuNC00OC45IDAtNTkuNi0xMi4zLTYzLjItMzYuNi0uNC0yLjYtMi42LTQuNS01LjMtNC41aC0yMy45Yy0zIDAtNS4zIDIuNC01LjMgNS4zIDAgMzEuMSAxNi45IDY4LjIgOTcuOCA2OC4yIDU4LjQtLjEgOTItMjMuMiA5Mi02My40eiJdLAogICAgICAibnBtIjogWzU3NiwgNTEyLCBbXSwgImYzZDQiLCAiTTI4OCAyODhoLTMydi02NGgzMnY2NHptMjg4LTEyOHYxOTJIMjg4djMySDE2MHYtMzJIMFYxNjBoNTc2em0tNDE2IDMySDMydjEyOGg2NHYtOTZoMzJ2OTZoMzJWMTkyem0xNjAgMEgxOTJ2MTYwaDY0di0zMmg2NFYxOTJ6bTIyNCAwSDM1MnYxMjhoNjR2LTk2aDMydjk2aDMydi05NmgzMnY5NmgzMlYxOTJ6Il0sCiAgICAgICJuczgiOiBbNjQwLCA1MTIsIFtdLCAiZjNkNSIsICJNMTg3LjEgMTU5LjlsLTM0LjIgMTEzLjctNTQuNS0xMTMuN0g0OUwwIDMyMGg0NC45TDc2IDIxMy41IDEyNi42IDMyMGg1Ni45TDIzMiAxNTkuOWgtNDQuOXptNDUyLjUtLjljLTIuOS0xOC0yMy45LTI4LjEtNDIuMS0zMS4zLTQ0LjYtNy44LTEwMS45IDE2LjMtODguNSA1OC44di4xYy00My44IDguNy03NC4zIDI2LjgtOTQuMiA0OC4yLTMtOS44LTEzLjYtMTYuNi0zNC0xNi42aC04Ny42Yy05LjMgMC0xMi45LTIuMy0xMS41LTcuNCAxLjYtNS41IDEuOS02LjggMy43LTEyLjIgMi4xLTYuNCA3LjgtNy4xIDEzLjMtNy4xaDEzMy41bDkuNy0zMS41Yy0xMzkuNyAwLTE0NC41LS41LTE2MC4xIDEuMi0xMi4zIDEuMy0yMy41IDQuOC0zMC42IDE1LTYuOCA5LjktMTQuNCAzNS42LTE3LjYgNDcuMS01LjQgMTkuNC0uNiAyOC42IDMyLjggMjguNmg4Ny4zYzcuOCAwIDguOCAyLjcgNy43IDYuNi0xLjEgNC40LTIuOCAxMC00LjUgMTQuNi0xLjYgNC4yLTQuNyA3LjQtMTMuOCA3LjRIMjE2LjNMMjA0LjcgMzIwYzEzOS45IDAgMTQ1LjMtLjYgMTYwLjktMi4zIDYuNi0uNyAxMy0yLjEgMTguNS00LjkuMiAzLjcuNSA3LjMgMS4yIDEwLjggNS40IDMwLjUgMjcuNCA1Mi4zIDU2LjggNTkuNSA0OC42IDExLjkgMTA4LjctMTYuOCAxMzUuMS02OCAxOC43LTM2LjIgMTQuMS03Ni4yLTMuNC0xMDUuNWguMWMyOS42LTUuOSA3MC4zLTIyIDY1LjctNTAuNnpNNTMwLjcgMjYzLjdjLTUuOSAyOS41LTM2LjYgNDcuOC02MS42IDQzLjktMzAuOS00LjgtMzguNS0zOS41LTE0LjEtNjQuOCAxNi4yLTE2LjggNDUuMi0yNCA2OC41LTI2LjkgNi43IDE0LjEgMTAuMyAzMiA3LjIgNDcuOHptMjEuOC04My4xYy00LjItNi05LjgtMTguNS0yLjUtMjYuMyA2LjctNy4yIDIwLjktMTAuMSAzMS44LTcuNyAxNS4zIDMuNCAxOS43IDE1LjkgNC45IDI0LjQtMTAuNyA2LjEtMjMuNiA4LjEtMzQuMiA5LjZ6Il0sCiAgICAgICJudXRyaXRpb25peCI6IFs0MDAsIDUxMiwgW10sICJmM2Q2IiwgIk04OCA4LjFTMjIxLjQtLjEgMjA5IDExMi41YzAgMCAxOS4xLTc0LjkgMTAzLTQwLjYgMCAwLTE3LjcgNzQtODggNTYgMCAwIDE0LjYtNTQuNiA2Ni4xLTU2LjYgMCAwLTM5LjktMTAuMy04Mi4xIDQ4LjggMCAwLTE5LjgtOTQuNS05My42LTk5LjcgMCAwIDc1LjIgMTkuNCA3Ny42IDEwNy41IDAgLjEtMTA2LjQgNy0xMDQtMTE5Ljh6bTMxMiAzMTUuNmMwIDQ4LjUtOS43IDk1LjMtMzIgMTMyLjMtNDIuMiAzMC45LTEwNSA0OC0xNjggNDgtNjIuOSAwLTEyNS44LTE3LjEtMTY4LTQ4QzkuNyA0MTkgMCAzNzIuMiAwIDMyMy43IDAgMjc1LjMgMTcuNyAyMjkgNDAgMTkyYzQyLjItMzAuOSA5Ny4xLTQ4LjYgMTYwLTQ4LjYgNjMgMCAxMTcuOCAxNy42IDE2MCA0OC42IDIyLjMgMzcgNDAgODMuMyA0MCAxMzEuN3pNMTIwIDQyOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6bTAtNjYuMmMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6bTAtNjYuMmMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6TTE5MiA0MjhjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjggMTIuNSAyOCAyOCAyOCAyOC0xMi41IDI4LTI4em0wLTY2LjJjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjggMTIuNSAyOCAyOCAyOCAyOC0xMi41IDI4LTI4em0wLTY2LjJjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjggMTIuNSAyOCAyOCAyOCAyOC0xMi41IDI4LTI4ek0yNjQgNDI4YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4IDEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOHptMC02Ni4yYzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4IDEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOHptMC02Ni4yYzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4IDEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOHpNMzM2IDQyOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6bTAtNjYuMmMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6bTAtNjYuMmMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6bTI0LTM5LjZjLTQuOC0yMi4zLTcuNC0zNi45LTE2LTU2LTM4LjgtMTkuOS05MC41LTMyLTE0NC0zMlM5NC44IDE4MC4xIDU2IDIwMGMtOC44IDE5LjUtMTEuMiAzMy45LTE2IDU2IDQyLjItNy45IDk4LjctMTQuOCAxNjAtMTQuOHMxMTcuOCA2LjkgMTYwIDE0Ljh6Il0sCiAgICAgICJvZG5va2xhc3NuaWtpIjogWzMyMCwgNTEyLCBbXSwgImYyNjMiLCAiTTI3NS4xIDMzNGMtMjcuNCAxNy40LTY1LjEgMjQuMy05MCAyNi45bDIwLjkgMjAuNiA3Ni4zIDc2LjNjMjcuOSAyOC42LTE3LjUgNzMuMy00NS43IDQ1LjctMTkuMS0xOS40LTQ3LjEtNDcuNC03Ni4zLTc2LjZMODQgNTAzLjRjLTI4LjIgMjcuNS03My42LTE3LjYtNDUuNC00NS43IDE5LjQtMTkuNCA0Ny4xLTQ3LjQgNzYuMy03Ni4zbDIwLjYtMjAuNmMtMjQuNi0yLjYtNjIuOS05LjEtOTAuNi0yNi45LTMyLjYtMjEtNDYuOS0zMy4zLTM0LjMtNTkgNy40LTE0LjYgMjcuNy0yNi45IDU0LjYtNS43IDAgMCAzNi4zIDI4LjkgOTQuOSAyOC45czk0LjktMjguOSA5NC45LTI4LjljMjYuOS0yMS4xIDQ3LjEtOC45IDU0LjYgNS43IDEyLjQgMjUuNy0xLjkgMzgtMzQuNSA1OS4xek0zMC4zIDEyOS43QzMwLjMgNTggODguNiAwIDE2MCAwczEyOS43IDU4IDEyOS43IDEyOS43YzAgNzEuNC01OC4zIDEyOS40LTEyOS43IDEyOS40cy0xMjkuNy01OC0xMjkuNy0xMjkuNHptNjYgMGMwIDM1LjEgMjguNiA2My43IDYzLjcgNjMuN3M2My43LTI4LjYgNjMuNy02My43YzAtMzUuNC0yOC42LTY0LTYzLjctNjRzLTYzLjcgMjguNi02My43IDY0eiJdLAogICAgICAib2Rub2tsYXNzbmlraS1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjI2NCIsICJNMTg0LjIgMTc3LjFjMC0yMi4xIDE3LjktNDAgMzkuOC00MHMzOS44IDE3LjkgMzkuOCA0MGMwIDIyLTE3LjkgMzkuOC0zOS44IDM5LjhzLTM5LjgtMTcuOS0zOS44LTM5Ljh6TTQ0OCA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHptLTMwNS4xIDk3LjFjMCA0NC42IDM2LjQgODAuOSA4MS4xIDgwLjlzODEuMS0zNi4yIDgxLjEtODAuOWMwLTQ0LjgtMzYuNC04MS4xLTgxLjEtODEuMXMtODEuMSAzNi4yLTgxLjEgODEuMXptMTc0LjUgOTAuN2MtNC42LTkuMS0xNy4zLTE2LjgtMzQuMS0zLjYgMCAwLTIyLjcgMTgtNTkuMyAxOHMtNTkuMy0xOC01OS4zLTE4Yy0xNi44LTEzLjItMjkuNS01LjUtMzQuMSAzLjYtNy45IDE2LjEgMS4xIDIzLjcgMjEuNCAzNyAxNy4zIDExLjEgNDEuMiAxNS4yIDU2LjYgMTYuOGwtMTIuOSAxMi45Yy0xOC4yIDE4LTM1LjUgMzUuNS00Ny43IDQ3LjctMTcuNiAxNy42IDEwLjcgNDUuOCAyOC40IDI4LjZsNDcuNy00Ny45YzE4LjIgMTguMiAzNS43IDM1LjcgNDcuNyA0Ny45IDE3LjYgMTcuMiA0Ni0xMC43IDI4LjYtMjguNmwtNDcuNy00Ny43LTEzLTEyLjljMTUuNS0xLjYgMzkuMS01LjkgNTYuMi0xNi44IDIwLjQtMTMuMyAyOS4zLTIxIDIxLjUtMzd6Il0sCiAgICAgICJvcGVuY2FydCI6IFs2NDAsIDUxMiwgW10sICJmMjNkIiwgIk00MjMuMyA0NDAuN2MwIDI1LjMtMjAuMyA0NS42LTQ1LjYgNDUuNnMtNDUuOC0yMC4zLTQ1LjgtNDUuNiAyMC42LTQ1LjggNDUuOC00NS44YzI1LjQgMCA0NS42IDIwLjUgNDUuNiA0NS44em0tMjUzLjktNDUuOGMtMjUuMyAwLTQ1LjYgMjAuNi00NS42IDQ1LjhzMjAuMyA0NS42IDQ1LjYgNDUuNiA0NS44LTIwLjMgNDUuOC00NS42LTIwLjUtNDUuOC00NS44LTQ1Ljh6bTI5MS43LTI3MEMxNTguOSAxMjQuOSA4MS45IDExMi4xIDAgMjUuN2MzNC40IDUxLjcgNTMuMyAxNDguOSAzNzMuMSAxNDQuMiAzMzMuMy01IDEzMCA4Ni4xIDcwLjggMTg4LjkgMTg2LjctMTY2LjcgMzE5LjQtMjMzLjkgMTcuMi0yMzMuOXoiXSwKICAgICAgIm9wZW5pZCI6IFs0NDgsIDUxMiwgW10sICJmMTliIiwgIk0yNzEuNSA0MzJsLTY4IDMyQzg4LjUgNDUzLjcgMCAzOTIuNSAwIDMxOC4yYzAtNzEuNSA4Mi41LTEzMSAxOTEuNy0xNDQuM3Y0M2MtNzEuNSAxMi41LTEyNCA1My0xMjQgMTAxLjMgMCA1MSA1OC41IDkzLjMgMTM1LjcgMTAzdi0zNDBsNjgtMzMuMnYzODR6TTQ0OCAyOTFsLTEzMS4zLTI4LjUgMzYuOC0yMC43Yy0xOS41LTExLjUtNDMuNS0yMC03MC0yNC44di00M2M0Ni4yIDUuNSA4Ny43IDE5LjUgMTIwLjMgMzkuM2wzNS0xOS44TDQ0OCAyOTF6Il0sCiAgICAgICJvcGVyYSI6IFs0OTYsIDUxMiwgW10sICJmMjZhIiwgIk0zMTMuOSAzMi43Yy0xNzAuMiAwLTI1Mi42IDIyMy44LTE0Ny41IDM1NS4xIDM2LjUgNDUuNCA4OC42IDc1LjYgMTQ3LjUgNzUuNiAzNi4zIDAgNzAuMy0xMS4xIDk5LjQtMzAuNC00My44IDM5LjItMTAxLjkgNjMtMTY1LjMgNjMtMy45IDAtOCAwLTExLjktLjNDMTA0LjYgNDg5LjYgMCAzODEuMSAwIDI0OCAwIDExMSAxMTEgMCAyNDggMGguOGM2My4xLjMgMTIwLjcgMjQuMSAxNjQuNCA2My4xLTI5LTE5LjQtNjMuMS0zMC40LTk5LjMtMzAuNHptMTAxLjggMzk3LjdjLTQwLjkgMjQuNy05MC43IDIzLjYtMTMyLTUuOCA1Ni4yLTIwLjUgOTcuNy05MS42IDk3LjctMTc2LjYgMC04NC43LTQxLjItMTU1LjgtOTcuNC0xNzYuNiA0MS44LTI5LjIgOTEuMi0zMC4zIDEzMi45LTUgMTA1LjkgOTguNyAxMDUuNSAyNjUuNy0xLjIgMzY0eiJdLAogICAgICAib3B0aW4tbW9uc3RlciI6IFs1NzYsIDUxMiwgW10sICJmMjNjIiwgIk01NTAuNjcxIDQ1MC4zMDNjMCAxMS42Mi0xNS42NzMgMTkuNDU3LTMyLjE1OCAxNC44NjMtMTIuMTYtMy4yNDMtMzEuMzQ2LTE3LjU2NS0zNi4yMTEtMjcuMjk0LTUuNjc0LTExLjYyIDQuMDU0LTMyLjY5OCAxOC45MTYtMzAuODA2IDE1LjY3NCAxLjYyMSA0OS40NTMgMjUuNDAxIDQ5LjQ1MyA0My4yMzd6TTM3Mi44NiA3NS4yMjNjLTMuNzgzLTcyLjE1MS0xMDAuNzk2LTc5LjcxOC0xMjUuOTI4LTIzLjUxIDQ0LjU4OC0yNC4zMjEgOTAuMjU3LTE1LjY3MyAxMjUuOTI4IDIzLjUxek03NC43OTUgNDA3LjA2NmMtMTUuNjczIDEuNjIxLTQ5LjQ1MiAyNS40MDEtNDkuNDUyIDQzLjIzNyAwIDExLjYyIDE1LjY3MyAxOS40NTcgMzIuMTU3IDE0Ljg2MyAxMi4xNi0zLjI0MyAzMS4wNzYtMTcuNTY1IDM1Ljk0LTI3LjI5NCA1Ljk0Ni0xMS42Mi0zLjc4Mi0zMi42OTgtMTguNjQ1LTMwLjgwNnptNDk3Ljc2NSAxNC4zMjJjMS4wODEgMy41MTMgMS44OTIgNy4wMjYgMS44OTIgMTAuODA5LjgxIDMxLjYxNi00NC4zMTcgNjQuMDQ1LTczLjUwMyA2NS4xMjUtMTcuMjk1LjgxLTM0LjU5LTguMzc3LTQyLjY5Ni0yMy41MS0xMTMuNDk3IDQuMDUzLTIyNi45OTQgNC44NjQtMzQwLjIyIDAtOC4zNzcgMTUuMTMzLTI1LjY3MiAyNC4wNS00Mi45NjcgMjMuNTEtMjguOTE1LTEuMDgxLTc0LjA0My0zMy41MDktNzMuNTAzLTY1LjEyNS4yNy0zLjc4My44MTEtNy4yOTYgMS44OTItMTAuODA5LTUuNTY2LTkuNDYzLTQuODQ1LTE1LjI4MiA1LjQwNS0xMS42MiAzLjI0My01LjEzNCA3LjAyNi05LjQ1OCAxMS4wOC0xMy43ODItMi41Ny0xMC45MTcgMS4yNy0xNC4wOTQgMTEuMDc5LTkuMTg4IDQuNTk0LTMuMjQzIDkuOTk4LTYuNDg1IDE1Ljk0NC05LjE4OCAwLTE1Ljc1NyAxMS44MzktMTEuMTMxIDE3LjI5NS01LjY3NSAxMi40NjctMS43OCAyMC4xMjkuNzA5IDI2Ljc1MyA1LjY3NXYtMTkuNzI2Yy0xMi45ODcgMC00MC42NDEtMTEuMzc1LTQ1Ljk0LTM2LjIxMi00Ljk3NC0yMC43MjUgMi42MDctMzguMDc1IDI1LjEzMi00Ny41Ni44MS01Ljk0NSA4LjEwNy0xNC4wNTIgMTQuODYyLTE1Ljk0NCA3LjU2Ny0xLjg5MiAxMi40MzEgNC41OTQgMTQuMDUyIDEwLjI2OSA3LjQyNSAwIDE3Ljc1NyAxLjQ2NSAyMS4wNzggOC4xMDcgNS40MDUtLjU0MSAxMS4wNzktMS4zNTIgMTYuNDg0LTEuODkyLTIuNDMyLTEuODkyLTUuMTM0LTMuNTEzLTguMTA3LTQuNTk0LTUuMTM0LTguOTE3LTEzLjc4Mi0xMS4wNzktMjQuNTkxLTExLjYyIDAtLjgxIDAtMS42MjEuMjctMi43MDItMTkuNzI3LS41NDEtNDQuMDQ4LTUuNjc1LTU0Ljg1Ny0xNy44MzUtMjEuMzIxLTIzLjYzOC0xNS45MzUtODMuNTc3IDEyLjE2LTEwMy40OTggOC4zNzctNS42NzUgMjEuNjE4LS44MTEgMjIuNjk5IDkuNzI4IDIuNDI1IDIwLjU5OC4zOTkgMjYuODMzIDI2LjIxMiAyNS45NDIgOC4xMDctNy44MzYgMTYuNzU1LTE0LjU5MiAyNi40ODMtMTkuOTk3LTE0Ljg2Mi0xLjM1Mi0yOC45MTQgMS42MjEtNDMuNzc4IDMuNzgzIDEyLjc1Mi0xMi40OCAyMy45NTMtMjUuNDQyIDU2Ljc0OC00Mi40MjcgMjMuNTExLTExLjg5IDQ5Ljk5My0yMC44MDggNzYuMjA1LTIzLjIzOS0xOC42NDYtNy44MzctMzkuOTkzLTExLjg5MS01OS43MjEtMTYuNDg0IDc2LjQ3NS0xNi4yMTQgMTc0LjU2OS0yMi4xNTkgMjQ0LjI4OSAzNy41NjIgMTguMTA1IDE1LjQwMyAzMi40MjcgMzYuMjExIDQyLjY5NiA1OS45OTIgMzkuNzk5IDQuODUzIDM2LjQ3LTUuNTgxIDM4LjY0My0yNS4xMzIgMS4wODEtMTAuMjY5IDE0LjMyMi0xNS40MDMgMjIuNjk5LTkuNDU4IDE0Ljg2MiAxMC41MzkgMjIuMTU5IDMwLjgwNiAyNC41OSA0OC4xMDEgMi4xNjIgMTcuODM1LjI3IDQxLjM0NS0xMi40MyA1NS4xMjctMTAuODA5IDEyLjE2LTM0LjMyIDE3LjU2NS01My43NzYgMTguMTA1djIuNzAzYy0xMS4wOC4yNy0yMC4yNjggMi40MzItMjUuNjczIDExLjYyLTIuOTcyIDEuMDgxLTUuNjc0IDIuNzAzLTguMzc3IDQuNTk0IDUuNjc1LjU0IDExLjM1IDEuMzUxIDE2Ljc1NSAxLjg5MSAxLjg2OS01LjYxOSAxMi41MzUtOC4zNzcgMjEuMDc3LTguMzc3IDEuNjIxLTUuNDA1IDYuNzU2LTExLjg5IDE0LjA1Mi0xMC4yNjlzMTQuMDUyIDkuOTk4IDE0Ljg2MyAxNS45NDRjMTAuODA5IDQuMzI0IDIyLjE1OSAxMi4xNiAyNS4xMzEgMjUuNjcyIDEuODkyIDguMTA3IDEuNjIxIDE1LjEzMy4yNyAyMS44ODgtNS43MjYgMjUuMjYyLTMzLjM2MSAzNi4yMTItNDUuOTM5IDM2LjIxMiAwIDYuNzU2IDAgMTMuMjQxLS4yNyAxOS43MjYgOC4wMS02LjAwNiAxNi4zNjctNy4xNTggMjYuNzUyLTUuNjc1IDUuOTE5LTUuOTE5IDE3LjU2NS05LjQxIDE3LjU2NSA1LjY3NSA1LjY3NSAyLjcwMyAxMS4zNDkgNS45NDUgMTUuOTQ0IDkuMTg4IDEwLjEtNS4wNTEgMTMuNjY5LS41MzkgMTAuODA5IDkuMTg4IDQuMDUzIDQuMzIzIDguMTA3IDguOTE3IDExLjA3OSAxMy43ODIgMTAuMTM2LTMuNjIgMTEuMDIxIDIuMDc4IDUuNDA5IDExLjYyem0tNzMuNzczLTI1NC4wMTZjMTcuMjk1IDYuNzU2IDI2LjIxMiAyMi4xNTkgMzAuMjY1IDM1LjY3IDEuMDgxLTEwLjUzOS0yLjcwMi0zOS40NTMtMTMuNzgyLTUxLjA3My03LjI5Ni03LjI5Ni0xNC4wNTItNS4xMzQtMTQuMDUyLjgxLjAwMSA2LjIxNi0xLjM1IDExLjYyLTIuNDMxIDE0LjU5M3ptLTE4LjY0NiAxMi40M2MxMi45NzEgMTUuNjczIDE3LjAyNCA0MS42MTUgMTIuNyA2Mi45NjMgMTAuODA5LTIuMTYyIDIwLjUzNy02LjIxNSAyNi4yMTItMTIuMTYgMS44OTItMi4xNjIgMy43ODMtNC44NjQgNC44NjQtNy41NjYtMS4wODEtMjEuMzQ4LTEwLjI2OS00Mi42OTctMjkuNzI1LTQ4LjkxMi0zLjI0MiAzLjI0My05LjE4NyA0Ljg2NC0xNC4wNTEgNS42NzV6bS0yMS44ODkuODExYzcuNTY3IDIwLjUzNyAxMi40MzEgNDIuNjk2IDE0LjMyMiA2NC41ODUgMy41MTMgMCA3LjU2Ny0uMjcgMTEuNjItLjgxMSA1Ljk0NS0yNC4zMjEtLjI3LTUxLjYxNC0xNC4wNTItNjMuNTA0LTMuNzgzIDAtOC4xMDcgMC0xMS44OS0uMjd6TTc3Ljc2OCAxNjcuMzcyYy0xLjA4MS0yLjk3My0yLjQzMi04LjM3Ny0yLjQzMi0xNC41OTMgMC01Ljk0NS03LjAyNi04LjEwNy0xNC4wNTItLjgxLTExLjM1IDExLjYyLTE0Ljg2MyA0MC41MzQtMTMuNzgyIDUxLjA3MyA0LjA1My0xMy41MTIgMTIuOTcxLTI4LjkxNSAzMC4yNjYtMzUuNjd6bTUuNjc1IDc1LjM5NGMtNC4zMjQtMjEuMzQ4LS4yNy00Ny4yOTEgMTIuNzAxLTYyLjk2My00Ljg2NS0uODExLTEwLjgwOS0yLjQzMi0xNC4wNTItNS42NzUtMTkuNDU3IDYuMjE1LTI4LjM3NSAyNy41NjMtMjkuNzI2IDQ4LjkxMiAxLjM1MSAyLjcwMiAyLjk3MiA1LjQwNCA0Ljg2NCA3LjU2NiA1LjY3NSA2LjIxNSAxNS40MDMgOS45OTggMjYuMjEzIDEyLjE2em00MS4zNDUtNjEuMDczYy01LjEzNCAxLjA4MS05Ljk5OCAyLjk3My0xNC44NjIgNC44NjVsLTEyLjE2IDUuMTM0di0uMjdjLTcuMjk2IDE0LjA1Mi05Ljk5OSAzNC4zMTktNS40MDUgNTIuOTY1IDQuNTk0LjU0MSA4LjY0Ny44MTEgMTIuNy44MTEgMi40MzItMjIuMTU5IDkuMTg4LTQzLjc3OCAxOS43MjctNjMuNTA1em04OC4wOTUtMjMuMjM5YzAgNDIuMTU1IDM0LjMxOSA3Ni4yMDUgNzYuMjA1IDc2LjIwNXM3Ni4yMDUtMzQuMDUgNzYuMjA1LTc2LjIwNWMwLTQxLjg4Ni0zNC4zMTktNzUuOTM1LTc2LjIwNS03NS45MzVzLTc2LjIwNSAzNC4wNDktNzYuMjA1IDc1LjkzNXptMTUyLjQxIDk3LjI4M2M5Ljk2OSA1MC42MDggMy4yOTkgNjQuNjkyIDE2LjQ4NCA1OC4wOTkgMTUuOTQ0LTguMTA3IDIyLjY5OS0zOS4xODMgMjIuOTctNTcuMDE5LTEyLjk3MS0uODEtMjYuMjEzLS44MS0zOS40NTQtMS4wOHptLTcxLjYxMS0uNTQxdi0uMjdjLS4yNyA1LjEzNC4yNyAzOC4xMDMgNC4zMjQgNDEuMDc1IDExLjA3OSA1LjQwNSAzOS40NTMgNC41OTQgNTEuMDczIDEuMDgxIDUuNDA1LTEuNjIxIDIuNDMyLTM3LjAyMiAxLjYyMS00MS44ODYtMTguOTE2LS4yNy0zOC4xMDItLjI3LTU3LjAxOCAwem0tMTQuMDUzIDB2LS4yN2MtMTkuNDU2LjI3LTM4LjY0Mi4yNy01Ny44MjkuODExLTEuODkyIDkuMTg3LTQuNTk0IDQ4LjkxMSAxLjg5MiA1MS42MTQgMTIuOTcxIDUuNjc1IDQxLjYxNiA1LjEzNCA1NC41ODYgMS42MjEgNC41OTUtMi40MzIgMi40MzMtNDUuMzk5IDEuMzUxLTUzLjc3NnptLTg1LjY2MiA1Ny41NmM1LjQwNSAyLjQzMiA4LjY0NyAyLjQzMiA5LjcyOC00LjMyNCAxLjg5Mi04LjY0NyAyLjQzMi0zNi43NTIgNC44NjUtNTIuMTU1LTEyLjE2LjI3LTI0LjU5MS44MTEtMzYuNzUyIDEuNjIxLTUuNDA1IDE5LjcyNy4yNyA0NS4xMjkgMjIuMTU5IDU0Ljg1OHptLTY1LjY2Ni0xMS4wOGM0My43NzggNDcuMDIgOTIuNjg5IDg1LjY2MyAxNTUuOTIzIDEwNi40NyA2Ny41NTgtMTkuMTg2IDExNS42NTktNTkuOTkxIDE2My4yMTktMTA3LjAxMS0xMS4wOTUtNC4zMTUtNy43MTUtMTAuMzYzLTcuMjk2LTExLjYyLTguOTE4LS44MS0xNy44MzUtMS44OTItMjYuNDgzLTIuNzAyLTkuNDU4IDMyLjk2OC0zNS45NCA1Mi45NjUtNDYuNzUgMzEuNjE2LTIuNzAyLTUuMTM0LTMuNTEzLTExLjYyLTQuNTk0LTE2Ljc1NC0zLjc4MyA4LjM3Ny0xMy4yNDIgOC4xMDctMjQuNTkxIDguOTE4LTEzLjI0MSAxLjA4MS0zMS42MTcgMS4zNTEtNDQuMDQ4LTIuOTcyLTIuOTcyIDEyLjk3MS0xMS4wNzkgMTIuOTcxLTI2Ljc1MiAxNC4zMjItMTQuMDUyIDEuMzUyLTQ4LjY0MiA0LjA1NC01NC44NTctMTAuODA5LTEuMDgxIDI4LjY0NC0zNS4xMyA5Ljk5OC00NS4xMjktNy4wMjYtMy4yNDMtNS42NzUtNS40MDUtMTEuMzUtNy4wMjYtMTcuNTY1LTcuODM3LjgxLTE1LjY3MyAxLjYyMS0yMy41MTEgMi43MDIgMi40NDMgMy42NjMgMS41NDkgOS4wNTItOC4xMDUgMTIuNDMxek0xMTUuNiA0NTMuNTQ1Yy01LjY3NC0yMy4yMzktMTguNjQ2LTQ5LjcyMi0zMy41MDgtNTQuMDQ2LTIyLjQyOS02Ljc1Ni02OC45MDkgMjMuNTEtNjYuMjA3IDU0LjU4NiAxMi43MDEgMTkuNDU3IDM5Ljk5NCAzNS42NyA1OS4xODEgMzYuNDgxIDE3LjgzNS44MSAzNS45NC0xMS4wOCAzOS43MjQtMjguOTE0LjUzOS0yLjQzMi44MS01LjEzNC44MS04LjEwN3ptNy4yOTYtNS45NDRjMzMuNTA5LTE5LjQ1NyA2OS4xNzktMzUuNjcxIDEwNS45MzEtNDcuMDItMzguNjQzLTIwLjUzNy02OC4wOTgtNDcuODMxLTk3LjI4My03Ny4wMTYtMi4xNjIgMS4zNTItNS4xMzQgMi40MzItNy44MzYgMy41MTMtMS42MzcgNC45MSA4LjcxOCA1LjMzIDUuNDA1IDEyLjQzMS0yLjE2MiA0LjA1NC04LjY0OCA3LjU2Ny0xNS4xMzMgOS4xODgtMi4xNjEgMi43MDItNS4xMzQgNC44NjQtNy44MzYgNi40ODVoLS4yN2MtLjI3IDEzLjUxMS0uMjcgMjcuMDI0LjI3IDQwLjUzNSA4LjkzOSAxNS45NjQgMTUuNDI2IDMzLjMxNCAxNi43NTIgNTEuODg0em0zMjAuNzY0IDEyLjdjLTM2Ljc1Mi0yMS4zNDgtNzQuMDQ0LTQxLjM0NS0xMTUuNjU5LTUyLjk2NS0xMy43ODIgNi4yMTUtMjcuODMzIDExLjM0OS00Mi4xNTUgMTUuNDAzLTIuMTYyLjgxMS0yLjE2Mi44MTEtNC4zMjQgMC0xMS44OS0zLjc4My0yMy4yMzktOC4xMDctMzQuODU5LTEzLjI0MS00MC4yNjUgMTEuNjItNzcuMjg2IDI5LjE4NS0xMTIuNDE2IDUwLjgwM2gtLjI3di4yN2MuMjcgMCAuMjcgMCAuMjctLjI3IDEwMy4yMjcgNC4wNTQgMjA2LjQ1NSAzLjUxMyAzMDkuNDEzIDB6bTI3LjAyMy02NC4wNDVsLS4yNy4yN2MuNTQxLTEzLjc4Mi44MTEtMjcuNTYzLjgxMS00MS4zNDUtMi45NzMtMS42MjEtNS42NzUtNC4wNTQtOC4xMDctNi43NTYtNi40ODUtMS4zNTEtMTIuOTcxLTUuMTM0LTE1LjEzMy04LjkxOC0xLjg5Mi00LjA1MyAxLjM1MS03LjU2NiA1Ljk0NS0xMC4yNjktLjI3LS41NDEtLjU0MS0xLjYyMS0uNTQxLTIuNDMyLTIuOTcyLS44MTEtNS40MDUtMS44OTItNy41NjctMy4yNDMtMzEuNjE2IDI5LjQ1NS02NS4zOTYgNTYuNzQ5LTEwMy40OTggNzYuNzQ2IDM4LjkxNCAxMS42MiA3NS45MzUgMjguMTA0IDExMS44NzUgNDcuNTYxIDEuMDUtMTQuNjkyIDcuMjMxLTM1Ljc0OSAxNi40ODUtNTEuNjE0em0yMy4yNCAzLjI0NGMtMTQuNTkzIDQuMzIzLTI3LjgzNCAzMC44MDYtMzMuNTA5IDU0LjA0NiAwIDIzLjgyNiAyMS4yNzggMzcuODk3IDQwLjUzNCAzNy4wMjIgMTkuMTg2LS44MTEgNDYuNDgtMTcuMDI0IDU5LjE4MS0zNi40ODEgMi45NzMtMzEuMDc3LTQzLjUwNy02MS4zNDQtNjYuMjA2LTU0LjU4N3pNMjkwLjcwOSAxMzQuMTMzYy4wNDUgMCAuMDg5LjAwMy4xMzQuMDAzLjA0NiAwIC4wOS0uMDAzLjEzNi0uMDAzaC0uMjd6bTAgOTYuNzQzYzI4LjY0NSAwIDUxLjg4NC0yMS42MTggNTEuODg0LTQ4LjM3MSAwLTM2LjA5Mi00MC41MDctNTguMDc5LTcyLjE1MS00NC4zMTggOS40NTggMi45NzIgMTYuNDg0IDExLjYyIDE2LjQ4NCAyMS42MTggMCAyMy4yNTctMzMuMjkxIDMxLjk1NS00Ni40OCAxMS4zNS03LjI5NyAzNC4wNjcgMTkuMzY4IDU5LjcyMSA1MC4yNjMgNTkuNzIxek02OC4wMzkgNDc0LjA4M2MuNTQgNi40ODYgMTIuMTYgMTIuNzAxIDIxLjYxOCA5LjQ1OCA2Ljc1Ni0yLjcwMyAxNC41OTMtMTAuNTM5IDE3LjI5NS0xNi4yMTQgMi45NzMtNy4wMjYtMS4wODEtMTkuOTk3LTkuNzI4LTE4LjM3NS04LjkxNyAxLjYyMS0yOS43MjUgMTYuNzU0LTI5LjE4NSAyNS4xMzF6bTQxMC43NS0yNS4xMzFjLTguMzc3LTEuNjIxLTEyLjQzMSAxMS4zNDktOS40NTggMTguMzc1IDIuNDMyIDUuNjc1IDEwLjI2OSAxMy41MTEgMTcuMjk1IDE2LjIxNCA5LjE4NyAzLjI0MyAyMS4wNzgtMi45NzIgMjEuMzQ4LTkuNDU4LjgxMS04LjM3Ny0yMC4yNjctMjMuNTEtMjkuMTg1LTI1LjEzMXoiXSwKICAgICAgIm9zaSI6IFs0OTUsIDUxMiwgW10sICJmNDFhIiwgIk0wIDI1OS4yQzIuMyAxMjMuNCA5Ny40IDI2LjggMjEzLjggMTEuMWMxMzguOC0xOC42IDI1NS42IDc1LjggMjc4IDIwMS4xIDIxLjMgMTE4LjgtNDQgMjMwLTE1MS42IDI3NC05LjMgMy44LTE0LjQgMS43LTE4LTcuNy0xNy44LTQ2LjMtMzUuNi05Mi43LTUzLjQtMTM5LTMuMS04LjEtMS0xMy4yIDctMTYuOCAyNC4yLTExIDM5LjMtMjkuNCA0My4zLTU1LjggNi40LTQyLjQtMjQuNS03OC43LTY0LjUtODIuMi0zOS0zLjQtNzEuOCAyMy43LTc3LjUgNTkuNy01LjIgMzMgMTEuMSA2My43IDQxLjkgNzcuNyA5LjYgNC40IDExLjUgOC42IDcuOCAxOC40LTE3LjkgNDYuNi0zNS44IDkzLjItNTMuNyAxMzkuOS0yLjYgNi45LTguMyA5LjMtMTUuNSA2LjUtNTIuNi0yMC4zLTEwMS40LTYxLTEzMC44LTExOUMxLjkgMzE4LjcgMS42IDI4MC4yIDAgMjU5LjJ6bTIwLjktMS45Yy40IDYuNi42IDE0LjMgMS4zIDIyLjEgNi4zIDcxLjkgNDkuNiAxNDMuNSAxMzEgMTgzLjEgMy4yIDEuNSA0LjQuOCA1LjYtMi4zIDE0LjktMzkuMSAyOS45LTc4LjIgNDUtMTE3LjMgMS4zLTMuMy42LTQuOC0yLjQtNi43LTMxLjYtMTkuOS00Ny4zLTQ4LjUtNDUuNi04NiAxLTIxLjYgOS4zLTQwLjUgMjMuOC01Ni4zIDMwLTMyLjcgNzctMzkuOCAxMTUuNS0xNy42IDMxLjkgMTguNCA0OS41IDUzLjggNDUuMiA5MC40LTMuNiAzMC42LTE5LjMgNTMuOS00NS43IDY5LjgtMi43IDEuNi0zLjUgMi45LTIuMyA2IDE1LjIgMzkuMiAzMC4yIDc4LjQgNDUuMiAxMTcuNyAxLjIgMy4xIDIuNCAzLjggNS42IDIuMyAzNS41LTE2LjYgNjUuMi00MC4zIDg4LjEtNzIgMzQuOC00OC4yIDQ5LjEtMTAxLjkgNDIuMy0xNjFDNDU5LjggMTEyIDM1NC4xIDE0LjcgMjE4IDMxLjUgMTExLjkgNDQuNSAyMi43IDEzNCAyMC45IDI1Ny4zeiJdLAogICAgICAicGFnZTQiOiBbNDk2LCA1MTIsIFtdLCAiZjNkNyIsICJNMjQ4IDUwNEMxMTEgNTA0IDAgMzkzIDAgMjU2UzExMSA4IDI0OCA4YzIwLjkgMCA0MS4zIDIuNiA2MC43IDcuNUw0Mi4zIDM5MkgyNDh2MTEyem0wLTE0My42VjE0Ni44TDk4LjYgMzYwLjRIMjQ4em05NiAzMS42djkyLjdjNDUuNy0xOS4yIDg0LjUtNTEuNyAxMTEuNC05Mi43SDM0NHptNTcuNC0xMzguMmwtMjEuMiA4LjQgMjEuMiA4LjN2LTE2Ljd6bS0yMC4zIDU0LjVjLTYuNyAwLTggNi4zLTggMTIuOXY3LjdoMTYuMnYtMTBjMC01LjktMi4zLTEwLjYtOC4yLTEwLjZ6TTQ5NiAyNTZjMCAzNy4zLTguMiA3Mi43LTIzIDEwNC40SDM0NFYyNy4zQzQzMy4zIDY0LjggNDk2IDE1My4xIDQ5NiAyNTZ6TTM2MC40IDE0My42aDY4LjJWOTZoLTEzLjl2MzIuNmgtMTMuOVY5OWgtMTMuOXYyOS42aC0xMi43Vjk2aC0xMy45djQ3LjZ6bTY4LjEgMTg1LjNINDAydi0xMWMwLTE1LjQtNS42LTI1LjItMjAuOS0yNS4yLTE1LjQgMC0yMC43IDEwLjYtMjAuNyAyNS45djI1LjNoNjguMnYtMTV6bTAtMTAzbC02OC4yIDI5LjdWMjY4bDY4LjIgMjkuNXYtMTYuNmwtMTQuNC01Ljd2LTI2LjVsMTQuNC01Ljl2LTE2Ljl6bS00LjgtNjguNWgtMzUuNlYxODRINDAydi0xMi4yaDExYzguNiAxNS44IDEuMyAzNS4zLTE4LjYgMzUuMy0yMi41IDAtMjguMy0yNS4zLTE1LjUtMzcuN2wtMTEuNi0xMC42Yy0xNi4yIDE3LjUtMTIuMiA2My45IDI3LjEgNjMuOSAzNCAwIDQ0LjctMzUuOSAyOS4zLTY1LjN6Il0sCiAgICAgICJwYWdlbGluZXMiOiBbMzg0LCA1MTIsIFtdLCAiZjE4YyIsICJNMzg0IDMxMi43Yy01NS4xIDEzNi43LTE4Ny4xIDU0LTE4Ny4xIDU0LTQwLjUgODEuOC0xMDcuNCAxMzQuNC0xODQuNiAxMzQuNy0xNi4xIDAtMTYuNi0yNC40IDAtMjQuNCA2NC40LS4zIDEyMC41LTQyLjcgMTU3LjItMTEwLjEtNDEuMSAxNS45LTExOC42IDI3LjktMTYxLjYtODIuMiAxMDktNDQuOSAxNTkuMSAxMS4yIDE3OC4zIDQ1LjUgOS45LTI0LjQgMTctNTAuOSAyMS42LTc5LjcgMCAwLTEzOS43IDIxLjktMTQ5LjUtOTguMSAxMTkuMS00Ny45IDE1Mi42IDc2LjcgMTUyLjYgNzYuNyAxLjYtMTYuNyAzLjMtNTIuNiAzLjMtNTMuNCAwIDAtMTA2LjMtNzMuNy0zOC4xLTE2NS4yIDEyNC42IDQzIDYxLjQgMTYyLjQgNjEuNCAxNjIuNC41IDEuNi41IDIzLjggMCAzMy40IDAgMCA0NS4yLTg5IDEzNi40LTU3LjUtNC4yIDEzNC0xNDEuOSAxMDYuNC0xNDEuOSAxMDYuNC00LjQgMjcuNC0xMS4yIDUzLjQtMjAgNzcuNSAwIDAgODMtOTEuOCAxNzItMjB6Il0sCiAgICAgICJwYWxmZWQiOiBbNTc2LCA1MTIsIFtdLCAiZjNkOCIsICJNMzg0LjkgMTkzLjljMC00Ny40LTU1LjItNDQuMi05NS40LTI5LjgtMS4zIDM5LjQtMi41IDgwLjctMyAxMTkuOC43IDIuOCAyLjYgNi4yIDE1LjEgNi4yIDM2LjggMCA4My40LTQyLjggODMuMy05Ni4yem0tMTk0LjUgNzIuMmMuMiAwIDYuNS0yLjcgMTEuMi0yLjcgMjYuNiAwIDIwLjcgNDQuMS0xNC40IDQ0LjEtMjEuNSAwLTM3LjEtMTguMS0zNy4xLTQzIDAtNDIgNDIuOS05NS42IDEwMC43LTEyNi41IDEtMTIuNCAzLTIyIDEwLjUtMjguMiAxMS4yLTkgMjYuNi0zLjUgMjkuNSAxMS4xIDcyLjItMjIuMiAxMzUuMiAxIDEzNS4yIDcyIDAgNzcuOS03OS4zIDE1Mi42LTE0MC4xIDEzOC4yLS4xIDM5LjQuOSA3NC40IDIuNyAxMDB2LjJjLjIgMy40LjYgMTIuNS01LjMgMTkuMS05LjYgMTAuNi0zMy40IDEwLTM2LjQtMjIuMy00LjEtNDQuNC4yLTIwNi4xIDEuNC0yNDIuNS0yMS41IDE1LTU4LjUgNTAuMy01OC41IDc1LjkuMiAyLjUuNCA0IC42IDQuNnpNOCAxODEuMXMtLjEgMzcuNCAzOC40IDM3LjRoMzBsMjIuNCAyMTcuMnMwIDQ0LjMgNDQuNyA0NC4zaDI4OC45czQ0LjctLjQgNDQuNy00NC4zbDIyLjQtMjE3LjJoMzBzMzguNCAxLjIgMzguNC0zNy40YzAgMCAuMS0zNy40LTM4LjQtMzcuNGgtMzAuMWMtNy4zLTI1LjYtMzAuMi03NC4zLTExOS40LTc0LjNoLTI4VjUwLjNzLTIuNy0xOC40LTIxLjEtMTguNGgtODUuOHMtMjEuMSAwLTIxLjEgMTguNHYxOS4xaC0yOC4xcy0xMDUgNC4yLTEyMC41IDc0LjNoLTI5UzggMTQyLjUgOCAxODEuMXoiXSwKICAgICAgInBhdHJlb24iOiBbNTEyLCA1MTIsIFtdLCAiZjNkOSIsICJNNTEyIDE5NC44YzAgMTAxLjMtODIuNCAxODMuOC0xODMuOCAxODMuOC0xMDEuNyAwLTE4NC40LTgyLjQtMTg0LjQtMTgzLjggMC0xMDEuNiA4Mi43LTE4NC4zIDE4NC40LTE4NC4zQzQyOS42IDEwLjUgNTEyIDkzLjIgNTEyIDE5NC44ek0wIDUwMS41aDkwdi00OTFIMHY0OTF6Il0sCiAgICAgICJwYXlwYWwiOiBbMzg0LCA1MTIsIFtdLCAiZjFlZCIsICJNMTExLjQgMjk1LjljLTMuNSAxOS4yLTE3LjQgMTA4LjctMjEuNSAxMzQtLjMgMS44LTEgMi41LTMgMi41SDEyLjNjLTcuNiAwLTEzLjEtNi42LTEyLjEtMTMuOUw1OC44IDQ2LjZjMS41LTkuNiAxMC4xLTE2LjkgMjAtMTYuOSAxNTIuMyAwIDE2NS4xLTMuNyAyMDQgMTEuNCA2MC4xIDIzLjMgNjUuNiA3OS41IDQ0IDE0MC4zLTIxLjUgNjIuNi03Mi41IDg5LjUtMTQwLjEgOTAuMy00My40LjctNjkuNS03LTc1LjMgMjQuMnpNMzU3LjEgMTUyYy0xLjgtMS4zLTIuNS0xLjgtMyAxLjMtMiAxMS40LTUuMSAyMi41LTguOCAzMy42LTM5LjkgMTEzLjgtMTUwLjUgMTAzLjktMjA0LjUgMTAzLjktNi4xIDAtMTAuMSAzLjMtMTAuOSA5LjQtMjIuNiAxNDAuNC0yNy4xIDE2OS43LTI3LjEgMTY5LjctMSA3LjEgMy41IDEyLjkgMTAuNiAxMi45aDYzLjVjOC42IDAgMTUuNy02LjMgMTcuNC0xNC45LjctNS40LTEuMSA2LjEgMTQuNC05MS4zIDQuNi0yMiAxNC4zLTE5LjcgMjkuMy0xOS43IDcxIDAgMTI2LjQtMjguOCAxNDIuOS0xMTIuMyA2LjUtMzQuOCA0LjYtNzEuNC0yMy44LTkyLjZ6Il0sCiAgICAgICJwZXJpc2NvcGUiOiBbNDQ4LCA1MTIsIFtdLCAiZjNkYSIsICJNMzcwIDYzLjZDMzMxLjQgMjIuNiAyODAuNSAwIDIyNi42IDAgMTExLjkgMCAxOC41IDk2LjIgMTguNSAyMTQuNGMwIDc1LjEgNTcuOCAxNTkuOCA4Mi43IDE5Mi43QzEzNy44IDQ1NS41IDE5Mi42IDUxMiAyMjYuNiA1MTJjNDEuNiAwIDExMi45LTk0LjIgMTIwLjktMTA1IDI0LjYtMzMuMSA4Mi0xMTguMyA4Mi0xOTIuNiAwLTU2LjUtMjEuMS0xMTAuMS01OS41LTE1MC44ek0yMjYuNiA0OTMuOWMtNDIuNSAwLTE5MC0xNjcuMy0xOTAtMjc5LjQgMC0xMDcuNCA4My45LTE5Ni4zIDE5MC0xOTYuMyAxMDAuOCAwIDE4NC43IDg5IDE4NC43IDE5Ni4zLjEgMTEyLjEtMTQ3LjQgMjc5LjQtMTg0LjcgMjc5LjR6TTMzOCAyMDYuOGMwIDU5LjEtNTEuMSAxMDkuNy0xMTAuOCAxMDkuNy0xMDAuNiAwLTE1MC43LTEwOC4yLTkyLjktMTgxLjh2LjRjMCAyNC41IDIwLjEgNDQuNCA0NC44IDQ0LjQgMjQuNyAwIDQ0LjgtMTkuOSA0NC44LTQ0LjQgMC0xOC4yLTExLjEtMzMuOC0yNi45LTQwLjcgNzYuNi0xOS4yIDE0MSAzOS4zIDE0MSAxMTIuNHoiXSwKICAgICAgInBoYWJyaWNhdG9yIjogWzQ5NiwgNTEyLCBbXSwgImYzZGIiLCAiTTMyMyAyNjIuMWwtLjEtMTNzMjEuNy0xOS44IDIxLjEtMjEuMmwtOS41LTIwYy0uNi0xLjQtMjkuNS0uNS0yOS41LS41bC05LjQtOS4zcy4yLTI4LjUtMS4yLTI5LjFsLTIwLjEtOS4yYy0xLjQtLjYtMjAuNyAyMS0yMC43IDIxbC0xMy4xLS4ycy0yMC41LTIxLjQtMjEuOS0yMC44bC0yMCA4LjNjLTEuNC41LjIgMjguOS4yIDI4LjlsLTkuMSA5LjFzLTI5LjItLjktMjkuNy40bC04LjEgMTkuOGMtLjYgMS40IDIxIDIxIDIxIDIxbC4xIDEyLjlzLTIxLjcgMTkuOC0yMS4xIDIxLjJsOS41IDIwYy42IDEuNCAyOS41LjUgMjkuNS41bDkuNCA5LjNzLS4yIDMxLjggMS4yIDMyLjNsMjAuMSA4LjNjMS40LjYgMjAuNy0yMy41IDIwLjctMjMuNWwxMy4xLjJzMjAuNSAyMy44IDIxLjggMjMuM2wyMC03LjVjMS40LS42LS4yLTMyLjEtLjItMzIuMWw5LjEtOS4xczI5LjIuOSAyOS43LS41bDguMS0xOS44Yy43LTEuMS0yMC45LTIwLjctMjAuOS0yMC43em0tNDQuOS04LjdjLjcgMTcuMS0xMi44IDMxLjYtMzAuMSAzMi40LTE3LjMuOC0zMi4xLTEyLjUtMzIuOC0yOS42LS43LTE3LjEgMTIuOC0zMS42IDMwLjEtMzIuMyAxNy4zLS44IDMyLjEgMTIuNSAzMi44IDI5LjV6bTIwMS4yLTM3LjlsLTk3LTk3LS4xLjFjLTc1LjEtNzMuMy0xOTUuNC03Mi44LTI2OS44IDEuNi01MC45IDUxLTI3LjggMjcuOS05NS43IDk1LjMtMjIuMyAyMi4zLTIyLjMgNTguNyAwIDgxIDY5LjkgNjkuNCA0Ni40IDQ2IDk3LjQgOTdsLjEtLjFjNzUuMSA3My4zIDE5NS40IDcyLjkgMjY5LjgtMS42IDUxLTUwLjkgMjcuOS0yNy45IDk1LjMtOTUuMyAyMi4zLTIyLjMgMjIuMy01OC43IDAtODF6TTE0MC40IDM2My44Yy01OS42LTU5LjUtNTkuNi0xNTYgMC0yMTUuNSA1OS41LTU5LjYgMTU2LTU5LjUgMjE1LjYgMCA1OS41IDU5LjUgNTkuNiAxNTYgMCAyMTUuNi01OS42IDU5LjUtMTU2IDU5LjQtMjE1LjYtLjF6Il0sCiAgICAgICJwaG9lbml4LWZyYW1ld29yayI6IFs2NDAsIDUxMiwgW10sICJmM2RjIiwgIk0yMTIuOSAzNDQuM2MzLjgtLjEgMjIuOC0xLjQgMjUuNi0yLjItMi40LTIuNi00My42LTEtNjgtNDkuNi00LjMtOC42LTcuNS0xNy42LTYuNC0yNy42IDIuOS0yNS41IDMyLjktMzAgNTItMTguNSAzNiAyMS42IDYzLjMgOTEuMyAxMTMuNyA5Ny41IDM3IDQuNSA4NC42LTE3IDEwOC4yLTQ1LjQtLjYtLjEtLjgtLjItMS0uMS0uNC4xLS44LjItMS4xLjMtMzMuMyAxMi4xLTk0LjMgOS43LTEzNC43LTE0LjgtMzcuNi0yMi44LTUzLjEtNTguNy01MS44LTc0LjYgMS44LTIxLjMgMjIuOS0yMy4yIDM1LjktMTkuNiAxNC40IDMuOSAyNC40IDE3LjYgMzguOSAyNy40IDE1LjYgMTAuNCAzMi45IDEzLjcgNTEuMyAxMC4zIDE0LjktMi43IDM0LjQtMTIuMyAzNi41LTE0LjUtMS4xLS4xLTEuOC0uMS0yLjUtLjItNi4yLS42LTEyLjQtLjgtMTguNS0xLjdDMjc5LjggMTk0LjUgMjYyLjEgNDcuNCAxMzguNSAzNy45IDk0LjIgMzQuNSAzOS4xIDQ2IDIuMiA3Mi45Yy0uOC42LTEuNSAxLjItMi4yIDEuOC4xLjIuMS4zLjIuNS44IDAgMS42LS4xIDIuNC0uMiA2LjMtMSAxMi41LS44IDE4LjcuMyAyMy44IDQuMyA0Ny43IDIzLjEgNTUuOSA3Ni41IDUuMyAzNC4zLS43IDUwLjggOCA4Ni4xIDE5IDc3LjEgOTEgMTA3LjYgMTI3LjcgMTA2LjR6TTc1LjMgNjQuOWMtLjktMS0uOS0xLjItMS4zLTIgMTIuMS0yLjYgMjQuMi00LjEgMzYuNi00LjgtMS4xIDE0LjctMjIuMiAyMS4zLTM1LjMgNi44em0xOTYuOSAzNTAuNWMtNDIuOCAxLjItOTItMjYuNy0xMjMuNS02MS40LTQuNi01LTE2LjgtMjAuMi0xOC42LTIzLjRsLjQtLjRjNi42IDQuMSAyNS43IDE4LjYgNTQuOCAyNyAyNC4yIDcgNDguMSA2LjMgNzEuNi0zLjMgMjIuNy05LjMgNDEtLjUgNDMuMSAyLjktMTguNSAzLjgtMjAuMSA0LjQtMjQgNy45LTUuMSA0LjQtNC42IDExLjcgNyAxNy4yIDI2LjIgMTIuNCA2My0yLjggOTcuMiAyNS40IDIuNCAyIDguMSA3LjggMTAuMSAxMC43LS4xLjItLjMuMy0uNC41LTQuOC0xLjUtMTYuNC03LjUtNDAuMi05LjMtMjQuNy0yLTQ2LjMgNS4zLTc3LjUgNi4yem0xNzQuOC0yNTJjMTYuNC01LjIgNDEuMy0xMy40IDY2LjUtMy4zIDE2LjEgNi41IDI2LjIgMTguNyAzMi4xIDM0LjYgMy41IDkuNCA1LjEgMTkuNyA1LjEgMjguNy0uMiAwLS40IDAtLjYuMS0uMi0uNC0uNC0uOS0uNS0xLjMtNS0yMi0yOS45LTQzLjgtNjcuNi0yOS45LTUwLjIgMTguNi0xMzAuNCA5LjctMTc2LjktNDgtLjctLjktMi40LTEuNy0xLjMtMy4yLjEtLjIgMi4xLjYgMyAxLjMgMTguMSAxMy40IDM4LjMgMjEuOSA2MC4zIDI2LjIgMzAuNSA2LjEgNTQuNiAyLjkgNzkuOS01LjJ6bTEwMi43IDExNy41Yy0zMi40LjItMzMuOCA1MC4xLTEwMy42IDY0LjQtMTguMiAzLjctMzguNyA0LjYtNDQuOSA0LjJ2LS40YzIuOC0xLjUgMTQuNy0yLjYgMjkuNy0xNi42IDcuOS03LjMgMTUuMy0xNS4xIDIyLjgtMjIuOSAxOS41LTIwLjIgNDEuNC00Mi4yIDgxLjktMzkgMjMuMSAxLjggMjkuMyA4LjIgMzYuMSAxMi43LjMuMi40LjUuNy45LS41IDAtLjcuMS0uOSAwLTctMi43LTE0LjMtMy4zLTIxLjgtMy4zem0tMTIuMy0yNC4xYy0uMS4yLS4xLjQtLjIuNi0yOC45LTQuNC00OC03LjktNjguNSA0LTE3IDkuOS0zMS40IDIwLjUtNjIgMjQuNC0yNy4xIDMuNC00NS4xIDIuNC02Ni4xLTgtLjMtLjItLjYtLjQtMS0uNiAwLS4yLjEtLjMuMS0uNSAyNC45IDMuOCAzNi40IDUuMSA1NS41LTUuOCAyMi4zLTEyLjkgNDAuMS0yNi42IDcxLjMtMzEgMjkuNi00LjEgNTEuMyAyLjUgNzAuOSAxNi45ek0yNjguNiA5Ny4zYy0uNi0uNi0xLjEtMS4yLTIuMS0yLjMgNy42IDAgMjkuNy0xLjIgNTMuNCA4LjQgMTkuNyA4IDMyLjIgMjEgNTAuMiAzMi45IDExLjEgNy4zIDIzLjQgOS4zIDM2LjQgOC4xIDQuMy0uNCA4LjUtMS4yIDEyLjgtMS43LjQtLjEuOSAwIDEuNS4zLS42LjQtMS4yLjktMS44IDEuMi04LjEgNC0xNi43IDYuMy0yNS42IDcuMS0yNi4xIDIuNi01MC4zLTMuNy03My40LTE1LjQtMTkuMy05LjktMzYuNC0yMi45LTUxLjQtMzguNnpNNjQwIDMzNS43Yy0zLjUgMy4xLTIyLjcgMTEuNi00Mi43IDUuMy0xMi4zLTMuOS0xOS41LTE0LjktMzEuNi0yNC4xLTEwLTcuNi0yMC45LTcuOS0yOC4xLTguNC42LS44LjktMS4yIDEuMi0xLjQgMTQuOC05LjIgMzAuNS0xMi4yIDQ3LjMtNi41IDEyLjUgNC4yIDE5LjIgMTMuNSAzMC40IDI0LjIgMTAuOCAxMC40IDIxIDkuOSAyMy4xIDEwLjUuMS0uMS4yIDAgLjQuNHptLTIxMi41IDEzN2MyLjIgMS4yIDEuNiAxLjUgMS41IDItMTguNS0xLjQtMzMuOS03LjYtNDYuOC0yMi4yLTIxLjgtMjQuNy00MS43LTI3LjktNDguNi0yOS43LjUtLjIuOC0uNCAxLjEtLjQgMTMuMS4xIDI2LjEuNyAzOC45IDMuOSAyNS4zIDYuNCAzNSAyNS40IDQxLjYgMzUuMyAzLjIgNC44IDcuMyA4LjMgMTIuMyAxMS4xeiJdLAogICAgICAicGhwIjogWzY0MCwgNTEyLCBbXSwgImY0NTciLCAiTTMyMCAxMDQuNWMxNzEuNCAwIDMwMy4yIDcyLjIgMzAzLjIgMTUxLjVTNDkxLjMgNDA3LjUgMzIwIDQwNy41Yy0xNzEuNCAwLTMwMy4yLTcyLjItMzAzLjItMTUxLjVTMTQ4LjcgMTA0LjUgMzIwIDEwNC41bTAtMTYuOEMxNDMuMyA4Ny43IDAgMTYzIDAgMjU2czE0My4zIDE2OC4zIDMyMCAxNjguM1M2NDAgMzQ5IDY0MCAyNTYgNDk2LjcgODcuNyAzMjAgODcuN3pNMjE4LjIgMjQyLjVjLTcuOSA0MC41LTM1LjggMzYuMy03MC4xIDM2LjNsMTMuNy03MC42YzM4IDAgNjMuOC00LjEgNTYuNCAzNC4zek05Ny40IDM1MC4zaDM2LjdsOC43LTQ0LjhjNDEuMSAwIDY2LjYgMyA5MC4yLTE5LjEgMjYuMS0yNCAzMi45LTY2LjcgMTQuMy04OC4xLTkuNy0xMS4yLTI1LjMtMTYuNy00Ni41LTE2LjdoLTcwLjdMOTcuNCAzNTAuM3ptMTg1LjctMjEzLjZoMzYuNWwtOC43IDQ0LjhjMzEuNSAwIDYwLjctMi4zIDc0LjggMTAuNyAxNC44IDEzLjYgNy43IDMxLTguMyAxMTMuMWgtMzdjMTUuNC03OS40IDE4LjMtODYgMTIuNy05Mi01LjQtNS44LTE3LjctNC42LTQ3LjQtNC42bC0xOC44IDk2LjZoLTM2LjVsMzIuNy0xNjguNnpNNTA1IDI0Mi41Yy04IDQxLjEtMzYuNyAzNi4zLTcwLjEgMzYuM2wxMy43LTcwLjZjMzguMiAwIDYzLjgtNC4xIDU2LjQgMzQuM3pNMzg0LjIgMzUwLjNINDIxbDguNy00NC44YzQzLjIgMCA2Ny4xIDIuNSA5MC4yLTE5LjEgMjYuMS0yNCAzMi45LTY2LjcgMTQuMy04OC4xLTkuNy0xMS4yLTI1LjMtMTYuNy00Ni41LTE2LjdINDE3bC0zMi44IDE2OC43eiJdLAogICAgICAicGllZC1waXBlciI6IFs2NDAsIDUxMiwgW10sICJmMmFlIiwgIk02NDAgMjQuOWMtODAuOCA1My42LTg5LjQgOTIuNS05Ni40IDEwNC40LTYuNyAxMi4yLTExLjcgNjAuMy0yMy4zIDgzLjYtMTEuNyAyMy42LTU0LjIgNDIuMi02Ni4xIDUwLTExLjcgNy44LTI4LjMgMzguMS00MS45IDY0LjItMTA4LjEtNC40LTE2Ny40IDM4LjgtMjU5LjIgOTMuNiAyOS40LTkuNyA0My4zLTE2LjcgNDMuMy0xNi43IDk0LjItMzYgMTM5LjMtNjguMyAyODEuMS00OS4yIDEuMSAwIDEuOS42IDIuOC44IDMuOSAyLjIgNS4zIDYuOSAzLjEgMTAuOGwtNTMuOSA5NS44Yy0yLjUgNC43LTcuOCA3LjItMTMuMSA2LjEtMTI2LjgtMjMuOC0yMjYuOSAxNy4zLTMxOC45IDE4LjZDMjQuMSA0ODggMCA0NTMuNCAwIDQ1MS44YzAtMS4xLjYtMS43IDEuNy0xLjcgMCAwIDM4LjMgMCAxMDMuMS0xNS4zQzE3OC40IDI5NC41IDI0NCAyNDUuNCAzMTUuNCAyNDUuNGMwIDAgNzEuNyAwIDkwLjYgNjEuOSAyMi44LTM5LjcgMjguMy00OS4yIDI4LjMtNDkuMiA1LjMtOS40IDM1LTc3LjIgODYuNC0xNDEuNCA1MS41LTY0IDkwLjQtNzkuOSAxMTkuMy05MS44eiJdLAogICAgICAicGllZC1waXBlci1hbHQiOiBbNTc2LCA1MTIsIFtdLCAiZjFhOCIsICJNMjQyIDE4N2M2LjMtMTEuOCAxMy4yLTE3IDI1LjktMjEuOCAyNy4zLTEwLjMgNDAuMi0zMC41IDU4LjktNTEuMSAxMS45IDguNCAxMiAyNC42IDMxLjYgMjN2MjEuOGw2LjMuM2MzNy40LTE0LjQgNzQuNy0zMC4yIDEwNi42LTU0LjYgNDguMy0zNi44IDUyLjktNTAgODEuMy0xMDBsMi0yLjZjLS42IDE0LjEtNi4zIDI3LjMtMTIuNCAzOS45LTMwLjUgNjMuOC03OC43IDEwMC4zLTE0Ni44IDExNi43LTEyLjQgMi45LTI2LjQgMy4yLTM3LjYgOC45IDEuNCA5LjggMTMuMiAxOC4xIDEzLjIgMjMgMCAzLjQtNS41IDcuMi03LjUgOC42LTExLjItMTIuOS0xNi4xLTE5LjMtMjIuNy0yMi4xLTcuNi0zLjUtNjMuOS02LjQtOTguOCAxMHptMTM3LjkgMjU2LjljLTE5IDAtNjQuMSA5LjUtNzkuOSAxOS44bDYuOSA0NS4xYzM1LjcgNi4xIDcwLjEgMy42IDEwNi05LjgtNC44LTEwLTIzLjUtNTUuMS0zMy01NS4xek0yNDQgMjQ2Yy0zLjItMi02LjMtMi45LTEwLjEtMi45LTYuNiAwLTEyLjYgMy4yLTE5LjMgMy43bDEuNyA0LjlMMjQ0IDI0NnptLTEyLjYgMzEuOGwyNC4xIDYxLjIgMjEtMTMuOC0zMS4zLTUwLjktMTMuOCAzLjV6TTU1NS41IDBsLS42IDEuMS0uMy45LjYtLjYuMy0xLjR6bS01OS4yIDM4Mi4xYy0zMy45LTU2LjktNzUuMy0xMTguNC0xNTAtMTE1LjVsLS4zLTZjLTEuMS0xMy41IDMyLjggMy4yIDM1LjEtMzFsLTE0LjQgNy4yYy0xOS44LTQ1LjctOC42LTU0LjMtNjUuNS01NC4zLTE0LjcgMC0yNi43IDEuNy00MS40IDQuNiAyLjkgMTguNiAyLjIgMzYuNy0xMC45IDUwLjNsMTkuNSA1LjVjLTEuNyAzLjItMi45IDYuMy0yLjkgOS44IDAgMjEgNDIuOCAyLjkgNDIuOCAzMy42IDAgMTguNC0zNi44IDYwLjEtNTQuOSA2MC4xLTggMC01My43LTUwLTUzLjQtNjAuMWwuMy00LjYgNTIuMy0xMS41YzEzLTIuNiAxMi4zLTIyLjctMi45LTIyLjctMy43IDAtNDMuMSA5LjItNDkuNCAxMC42LTItNS4yLTcuNS0xNC4xLTEzLjgtMTQuMS0zLjIgMC02LjMgMy4yLTkuNSA0LTkuMiAyLjYtMzEgMi45LTIxLjUgMjAuMUwxNS45IDI5OC41Yy01LjUgMS4xLTguOSA2LjMtOC45IDExLjggMCA2IDUuNSAxMC45IDExLjUgMTAuOSA4IDAgMTMxLjMtMjguNCAxNDcuNC0zMi4yIDIuNiAzLjIgNC42IDYuMyA3LjggOC42IDIwLjEgMTQuNCA1OS44IDg1LjkgNzYuNCA4NS45IDI0LjEgMCA1OC0yMi40IDcxLjMtNDEuOSAzLjItNC4zIDYuOS03LjUgMTIuNC02LjkuNiAxMy44LTMxLjYgMzQuMi0zMyA0My43LTEuNCAxMC4yLTEgMzUuMi0uMyA0MS4xIDI2LjcgOC4xIDUyLTMuNiA3Ny45LTIuOSA0LjMtMjEgMTAuNi00MS45IDkuOC02My41bC0uMy05LjVjLTEuNC0zNC4yLTEwLjktMzguNS0zNC44LTU4LjYtMS4xLTEuMS0yLjYtMi42LTMuNy00IDIuMi0xLjQgMS4xLTEgNC42LTEuNyA4OC41IDAgNTYuMyAxODMuNiAxMTEuNSAyMjkuOSAzMy4xLTE1IDcyLjUtMjcuOSAxMDMuNS00Ny4yLTI5LTI1LjYtNTIuNi00NS43LTcyLjctNzkuOXptLTE5Ni4yIDQ2djI3LjNsMTEuOC0zLjQtMi45LTIzLjhoLTguOXptNzYuMSAyLjljMC0xLjQtLjYtMy4yLS45LTQuNi0yNi44IDAtMzYuOSAzLjgtNTkuNSA2LjNsMiAxMi40YzktMS41IDU4LjQtNi42IDU4LjQtMTQuMXoiXSwKICAgICAgInBpZWQtcGlwZXItcHAiOiBbNDQ4LCA1MTIsIFtdLCAiZjFhNyIsICJNMjA1LjMgMTc0LjZjMCAyMS4xLTE0LjIgMzguMS0zMS43IDM4LjEtNy4xIDAtMTIuOC0xLjItMTcuMi0zLjd2LTY4YzQuNC0yLjcgMTAuMS00LjIgMTcuMi00LjIgMTcuNSAwIDMxLjcgMTYuOSAzMS43IDM3Ljh6bTUyLjYgNjdjLTcuMSAwLTEyLjggMS41LTE3LjIgNC4ydjY4YzQuNCAyLjUgMTAuMSAzLjcgMTcuMiAzLjcgMTcuNCAwIDMxLjctMTYuOSAzMS43LTM3LjggMC0yMS4xLTE0LjMtMzguMS0zMS43LTM4LjF6TTQ0OCA4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDM1MmMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg1IDI1NS4xYzQxIDAgNzQuMi0zNS42IDc0LjItNzkuNiAwLTQ0LTMzLjItNzkuNi03NC4yLTc5LjYtMTIgMC0yNC4xIDMuMi0zNC42IDguOGgtNDUuN1YzMTFsNTEuOC0xMC4xdi01MC42YzguNiAzLjEgMTguMSA0LjggMjguNSA0Ljh6bTE1OC40IDI1LjNjMC00NC0zMy4yLTc5LjYtNzMuOS03OS42LTMuMiAwLTYuNC4yLTkuNi43LTMuNyAxMi41LTEwLjEgMjMuOC0xOS4yIDMzLjQtMTMuOCAxNS0zMi4yIDIzLjgtNTEuOCAyNC44VjQxNmw1MS44LTEwLjF2LTUwLjZjOC42IDMuMiAxOC4yIDQuNyAyOC43IDQuNyA0MC44IDAgNzQtMzUuNiA3NC03OS42eiJdLAogICAgICAicGludGVyZXN0IjogWzQ5NiwgNTEyLCBbXSwgImYwZDIiLCAiTTQ5NiAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4LTI1LjYgMC01MC4yLTMuOS03My40LTExLjEgMTAuMS0xNi41IDI1LjItNDMuNSAzMC44LTY1IDMtMTEuNiAxNS40LTU5IDE1LjQtNTkgOC4xIDE1LjQgMzEuNyAyOC41IDU2LjggMjguNSA3NC44IDAgMTI4LjctNjguOCAxMjguNy0xNTQuMyAwLTgxLjktNjYuOS0xNDMuMi0xNTIuOS0xNDMuMi0xMDcgMC0xNjMuOSA3MS44LTE2My45IDE1MC4xIDAgMzYuNCAxOS40IDgxLjcgNTAuMyA5Ni4xIDQuNyAyLjIgNy4yIDEuMiA4LjMtMy4zLjgtMy40IDUtMjAuMyA2LjktMjguMS42LTIuNS4zLTQuNy0xLjctNy4xLTEwLjEtMTIuNS0xOC4zLTM1LjMtMTguMy01Ni42IDAtNTQuNyA0MS40LTEwNy42IDExMi0xMDcuNiA2MC45IDAgMTAzLjYgNDEuNSAxMDMuNiAxMDAuOSAwIDY3LjEtMzMuOSAxMTMuNi03OCAxMTMuNi0yNC4zIDAtNDIuNi0yMC4xLTM2LjctNDQuOCA3LTI5LjUgMjAuNS02MS4zIDIwLjUtODIuNiAwLTE5LTEwLjItMzQuOS0zMS40LTM0LjktMjQuOSAwLTQ0LjkgMjUuNy00NC45IDYwLjIgMCAyMiA3LjQgMzYuOCA3LjQgMzYuOHMtMjQuNSAxMDMuOC0yOSAxMjMuMmMtNSAyMS40LTMgNTEuNi0uOSA3MS4yQzY1LjQgNDUwLjkgMCAzNjEuMSAwIDI1NiAwIDExOSAxMTEgOCAyNDggOHMyNDggMTExIDI0OCAyNDh6Il0sCiAgICAgICJwaW50ZXJlc3QtcCI6IFszODQsIDUxMiwgW10sICJmMjMxIiwgIk0yMDQgNi41QzEwMS40IDYuNSAwIDc0LjkgMCAxODUuNiAwIDI1NiAzOS42IDI5NiA2My42IDI5NmM5LjkgMCAxNS42LTI3LjYgMTUuNi0zNS40IDAtOS4zLTIzLjctMjkuMS0yMy43LTY3LjggMC04MC40IDYxLjItMTM3LjQgMTQwLjQtMTM3LjQgNjguMSAwIDExOC41IDM4LjcgMTE4LjUgMTA5LjggMCA1My4xLTIxLjMgMTUyLjctOTAuMyAxNTIuNy0yNC45IDAtNDYuMi0xOC00Ni4yLTQzLjggMC0zNy44IDI2LjQtNzQuNCAyNi40LTExMy40IDAtNjYuMi05My45LTU0LjItOTMuOSAyNS44IDAgMTYuOCAyLjEgMzUuNCA5LjYgNTAuNy0xMy44IDU5LjQtNDIgMTQ3LjktNDIgMjA5LjEgMCAxOC45IDIuNyAzNy41IDQuNSA1Ni40IDMuNCAzLjggMS43IDMuNCA2LjkgMS41IDUwLjQtNjkgNDguNi04Mi41IDcxLjQtMTcyLjggMTIuMyAyMy40IDQ0LjEgMzYgNjkuMyAzNiAxMDYuMiAwIDE1My45LTEwMy41IDE1My45LTE5Ni44QzM4NCA3MS4zIDI5OC4yIDYuNSAyMDQgNi41eiJdLAogICAgICAicGludGVyZXN0LXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMGQzIiwgIk00NDggODB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDE1NC40YzkuOC0xNi40IDIyLjQtNDAgMjcuNC01OS4zIDMtMTEuNSAxNS4zLTU4LjQgMTUuMy01OC40IDggMTUuMyAzMS40IDI4LjIgNTYuMyAyOC4yIDc0LjEgMCAxMjcuNC02OC4xIDEyNy40LTE1Mi43IDAtODEuMS02Ni4yLTE0MS44LTE1MS40LTE0MS44LTEwNiAwLTE2Mi4yIDcxLjEtMTYyLjIgMTQ4LjYgMCAzNiAxOS4yIDgwLjggNDkuOCA5NS4xIDQuNyAyLjIgNy4xIDEuMiA4LjItMy4zLjgtMy40IDUtMjAuMSA2LjgtMjcuOC42LTIuNS4zLTQuNi0xLjctNy0xMC4xLTEyLjMtMTguMy0zNC45LTE4LjMtNTYgMC01NC4yIDQxLTEwNi42IDExMC45LTEwNi42IDYwLjMgMCAxMDIuNiA0MS4xIDEwMi42IDk5LjkgMCA2Ni40LTMzLjUgMTEyLjQtNzcuMiAxMTIuNC0yNC4xIDAtNDIuMS0xOS45LTM2LjQtNDQuNCA2LjktMjkuMiAyMC4zLTYwLjcgMjAuMy04MS44IDAtNTMtNzUuNS00NS43LTc1LjUgMjUgMCAyMS43IDcuMyAzNi41IDcuMyAzNi41LTMxLjQgMTMyLjgtMzYuMSAxMzQuNS0yOS42IDE5Mi42bDIuMi44SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6Il0sCiAgICAgICJwbGF5c3RhdGlvbiI6IFs1NzYsIDUxMiwgW10sICJmM2RmIiwgIk01NzAuOSAzNzIuM2MtMTEuMyAxNC4yLTM4LjggMjQuMy0zOC44IDI0LjNMMzI3IDQ3MC4ydi01NC4zbDE1MC45LTUzLjhjMTcuMS02LjEgMTkuOC0xNC44IDUuOC0xOS40LTEzLjktNC42LTM5LjEtMy4zLTU2LjIgMi45TDMyNyAzODEuMXYtNTYuNGMyMy4yLTcuOCA0Ny4xLTEzLjYgNzUuNy0xNi44IDQwLjktNC41IDkwLjkuNiAxMzAuMiAxNS41IDQ0LjIgMTQgNDkuMiAzNC43IDM4IDQ4Ljl6bS0yMjQuNC05Mi41di0xMzljMC0xNi4zLTMtMzEuMy0xOC4zLTM1LjYtMTEuNy0zLjgtMTkgNy4xLTE5IDIzLjR2MzQ3LjlsLTkzLjgtMjkuOFYzMmMzOS45IDcuNCA5OCAyNC45IDEyOS4yIDM1LjRDNDI0LjEgOTQuNyA0NTEgMTI4LjcgNDUxIDIwNS4yYzAgNzQuNS00NiAxMDIuOC0xMDQuNSA3NC42ek00My4yIDQxMC4yYy00NS40LTEyLjgtNTMtMzkuNS0zMi4zLTU0LjggMTkuMS0xNC4yIDUxLjctMjQuOSA1MS43LTI0LjlsMTM0LjUtNDcuOHY1NC41bC05Ni44IDM0LjZjLTE3LjEgNi4xLTE5LjcgMTQuOC01LjggMTkuNCAxMy45IDQuNiAzOS4xIDMuMyA1Ni4yLTIuOWw0Ni40LTE2Ljl2NDguOGMtNTEuNiA5LjMtMTAxLjQgNy4zLTE1My45LTEweiJdLAogICAgICAicHJvZHVjdC1odW50IjogWzUxMiwgNTEyLCBbXSwgImYyODgiLCAiTTMyNi4zIDIxOC44YzAgMjAuNS0xNi43IDM3LjItMzcuMiAzNy4yaC03MC4zdi03NC40aDcwLjNjMjAuNSAwIDM3LjIgMTYuNyAzNy4yIDM3LjJ6TTUwNCAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4UzggMzkzIDggMjU2IDExOSA4IDI1NiA4czI0OCAxMTEgMjQ4IDI0OHptLTEyOC4xLTM3LjJjMC00Ny45LTM4LjktODYuOC04Ni44LTg2LjhIMTY5LjJ2MjQ4aDQ5LjZ2LTc0LjRoNzAuM2M0Ny45IDAgODYuOC0zOC45IDg2LjgtODYuOHoiXSwKICAgICAgInB1c2hlZCI6IFs0MzIsIDUxMiwgW10sICJmM2UxIiwgIk00MDcgMTExLjlsLTk4LjUtOSAxNC0zMy40YzEwLjQtMjMuNS0xMC44LTQwLjQtMjguNy0zN0wyMi41IDc2LjljLTE1LjEgMi43LTI2IDE4LjMtMjEuNCAzNi42bDEwNS4xIDM0OC4zYzYuNSAyMS4zIDM2LjcgMjQuMiA0Ny43IDdsMzUuMy04MC44IDIzNS4yLTIzMS4zYzE2LjQtMTYuOCA0LjMtNDIuOS0xNy40LTQ0Ljh6TTI5Ny42IDUzLjZjNS4xLS43IDcuNSAyLjUgNS4yIDcuNEwyODYgMTAwLjkgMTA4LjYgODQuNmwxODktMzF6TTIyLjcgMTA3LjljLTMuMS01LjEgMS0xMCA2LjEtOS4xbDI0OC43IDIyLjctOTYuOSAyMzAuN0wyMi43IDEwNy45ek0xMzYgNDU2LjRjLTIuNiA0LTcuOSAzLjEtOS40LTEuMkw0My41IDE3OS43bDEyNy43IDE5Ny42Yy03IDE1LTM1LjIgNzkuMS0zNS4yIDc5LjF6bTI3Mi44LTMxNC41TDIxMC4xIDMzNy4zbDg5LjctMjEzLjcgMTA2LjQgOS43YzQgMS4xIDUuNyA1LjMgMi42IDguNnoiXSwKICAgICAgInB5dGhvbiI6IFs0NDgsIDUxMiwgW10sICJmM2UyIiwgIk0xNjcuOCAzNi40Yy00NS4yIDgtNTMuNCAyNC43LTUzLjQgNTUuNnY0MC43aDEwNi45djEzLjZoLTE0N2MtMzEuMSAwLTU4LjMgMTguNy02Ni44IDU0LjItOS44IDQwLjctMTAuMiA2Ni4xIDAgMTA4LjYgNy42IDMxLjYgMjUuNyA1NC4yIDU2LjggNTQuMkgxMDF2LTQ4LjhjMC0zNS4zIDMwLjUtNjYuNCA2Ni44LTY2LjRoMTA2LjhjMjkuNyAwIDUzLjQtMjQuNSA1My40LTU0LjNWOTEuOWMwLTI5LTI0LjQtNTAuNy01My40LTU1LjYtMzUuOC01LjktNzQuNy01LjYtMTA2LjguMXptLTYuNyAyOC40YzExIDAgMjAuMSA5LjIgMjAuMSAyMC40cy05IDIwLjMtMjAuMSAyMC4zYy0xMS4xIDAtMjAuMS05LjEtMjAuMS0yMC4zLjEtMTEuMyA5LTIwLjQgMjAuMS0yMC40em0xODUuMiA4MS40djQ3LjVjMCAzNi44LTMxLjIgNjcuOC02Ni44IDY3LjhIMTcyLjdjLTI5LjIgMC01My40IDI1LTUzLjQgNTQuM3YxMDEuOGMwIDI5IDI1LjIgNDYgNTMuNCA1NC4zIDMzLjggOS45IDY2LjMgMTEuNyAxMDYuOCAwIDI2LjktNy44IDUzLjQtMjMuNSA1My40LTU0LjN2LTQwLjdIMjI2LjJ2LTEzLjZoMTYwLjJjMzEuMSAwIDQyLjYtMjEuNyA1My40LTU0LjIgMTEuMi0zMy41IDEwLjctNjUuNyAwLTEwOC42LTcuNy0zMC45LTIyLjMtNTQuMi01My40LTU0LjJoLTQwLjF6TTI4Ni4yIDQwNGMxMS4xIDAgMjAuMSA5LjEgMjAuMSAyMC4zIDAgMTEuMy05IDIwLjQtMjAuMSAyMC40LTExIDAtMjAuMS05LjItMjAuMS0yMC40LjEtMTEuMyA5LjEtMjAuMyAyMC4xLTIwLjN6Il0sCiAgICAgICJxcSI6IFs0NDgsIDUxMiwgW10sICJmMWQ2IiwgIk00MzMuNzU0IDQyMC40NDVjLTExLjUyNiAxLjM5My00NC44Ni01Mi43NDEtNDQuODYtNTIuNzQxIDAgMzEuMzQ1LTE2LjEzNiA3Mi4yNDctNTEuMDUxIDEwMS43ODYgMTYuODQyIDUuMTkyIDU0Ljg0MyAxOS4xNjcgNDUuODAzIDM0LjQyMS03LjMxNiAxMi4zNDMtMTI1LjUxIDcuODgxLTE1OS42MzIgNC4wMzctMzQuMTIyIDMuODQ0LTE1Mi4zMTYgOC4zMDYtMTU5LjYzMi00LjAzNy05LjA0NS0xNS4yNSAyOC45MTgtMjkuMjE0IDQ1Ljc4My0zNC40MTUtMzQuOTItMjkuNTM5LTUxLjA1OS03MC40NDUtNTEuMDU5LTEwMS43OTIgMCAwLTMzLjMzNCA1NC4xMzQtNDQuODU5IDUyLjc0MS01LjM3LS42NS0xMi40MjQtMjkuNjQ0IDkuMzQ3LTk5LjcwNCAxMC4yNjEtMzMuMDI0IDIxLjk5NS02MC40NzggNDAuMTQ0LTEwNS43NzlDNjAuNjgzIDk4LjA2MyAxMDguOTgyLjAwNiAyMjQgMGMxMTMuNzM3LjAwNiAxNjMuMTU2IDk2LjEzMyAxNjAuMjY0IDIxNC45NjMgMTguMTE4IDQ1LjIyMyAyOS45MTIgNzIuODUgNDAuMTQ0IDEwNS43NzggMjEuNzY4IDcwLjA2IDE0LjcxNiA5OS4wNTMgOS4zNDYgOTkuNzA0eiJdLAogICAgICAicXVpbnNjYXBlIjogWzQ4OSwgNTEyLCBbXSwgImY0NTkiLCAiTTMwMS45IDQ3NC42aC0xLjNjLTg3LjMgMC0xNTguMS03MC44LTE1OC4xLTE1OC4xczcwLjgtMTU4LjEgMTU4LjEtMTU4LjFjOTQuOSAwIDE2OC4yIDgzLjEgMTU3IDE3Ni42IDQgNS4xIDguMiA5LjYgMTEuMiAxNS4zIDEzLjQtMzAuMyAyMC4zLTYyLjQgMjAuMy05Ny43QzQ4OS4xIDExNy41IDM3OS42IDggMjQ0LjUgOCAxMDkuNSA4IDAgMTE3LjUgMCAyNTIuNnMxMDkuNSAyNDQuNiAyNDQuNSAyNDQuNmMyNC44IDAgNDcuOC0zLjIgNzAuNC0xMC4xLTUuMi0zLjUtOS04LjItMTMuNC0xMi42bC40LjF6bS0yMS4yLTY5LjhjMC01NC44IDQ0LjQtOTkuMiA5OS4yLTk5LjIgNTQuOCAwIDk5LjIgNDQuNCA5OS4yIDk5LjIgMCA1NC44LTQ0LjQgOTkuMi05OS4yIDk5LjItNTQuOCAwLTk5LjItNDQuNC05OS4yLTk5LjIiXSwKICAgICAgInF1b3JhIjogWzQ0OCwgNTEyLCBbXSwgImYyYzQiLCAiTTQ0MC41IDM4Ni43aC0yOS4zYy0xLjUgMTMuNS0xMC41IDMwLjgtMzMgMzAuOC0yMC41IDAtMzUuMy0xNC4yLTQ5LjUtMzUuOCA0NC4yLTM0LjIgNzQuNy04Ny41IDc0LjctMTUzQzQwMy41IDExMS4yIDMwNi44IDMyIDIwNSAzMiAxMDUuMyAzMiA3LjMgMTExLjcgNy4zIDIyOC43YzAgMTM0LjEgMTMxLjMgMjIxLjYgMjQ5IDE4OUMyNzYgNDUxLjMgMzAyIDQ4MCAzNTEuNSA0ODBjODEuOCAwIDkwLjgtNzUuMyA4OS05My4zek0yOTcgMzI5LjJDMjc3LjUgMzAwIDI1My4zIDI3NyAyMDUuNSAyNzdjLTMwLjUgMC01NC4zIDEwLTY5IDIyLjhsMTIuMiAyNC4zYzYuMi0zIDEzLTQgMTkuOC00IDM1LjUgMCA1My43IDMwLjggNjkuMiA2MS4zLTEwIDMtMjAuNyA0LjItMzIuNyA0LjItNzUgMC0xMDcuNS01My0xMDcuNS0xNTYuN0M5Ny41IDEyNC41IDEzMCA3MSAyMDUgNzFjNzYuMiAwIDEwOC43IDUzLjUgMTA4LjcgMTU3LjcuMSA0MS44LTUuNCA3NS42LTE2LjcgMTAwLjV6Il0sCiAgICAgICJyYXZlbHJ5IjogWzUxMiwgNTEyLCBbXSwgImYyZDkiLCAiTTQwNy40IDYxLjVDMzMxLjYgMjIuMSAyNTcuOCAzMSAxODIuOSA2NmMtMTEuMyA1LjItMTUuNSAxMC42LTE5LjkgMTktMTAuMyAxOS4yLTE2LjIgMzcuNC0xOS45IDUyLjctMjEuMiAyNS42LTM2LjQgNTYuMS00My4zIDg5LjktMTAuNiAxOC0yMC45IDQxLjQtMjMuMSA3MS40IDAgMC0uNyA3LjYtLjUgNy45LTM1LjMtNC42LTc2LjItMjctNzYuMi0yNyA5LjEgMTQuNSA2MS4zIDMyLjMgNzYuMyAzNy45IDAgMCAxLjcgOTggNjQuNSAxMzEuMi0xMS4zLTE3LjItMTMuMy0yMC4yLTEzLjMtMjAuMlM5NC44IDM2OSAxMDAuNCAzMjQuN2MuNyAwIDEuNS4yIDIuMi4yIDIzLjkgODcuNCAxMDMuMiAxNTEuNCAxOTYuOSAxNTEuNCA2LjIgMCAxMi4xLS4yIDE4LS43IDE0IDEuNSAyNy42LjUgNDAuMS0zLjkgNi45LTIuMiAxMy44LTYuNCAyMC4yLTEwLjggNzAuMi0zOS4xIDEwMC45LTgyIDEyMy4xLTE0Ny43IDUuNC0xNiA4LjEtMzUuNSA5LjgtNTIuMiA4LjctODIuMy0zMC42LTE2MS42LTEwMy4zLTE5OS41ek0xMzguOCAxNjMuMnMtMS4yIDEyLjMtLjcgMTkuN2MtMy40IDIuNS0xMC4xIDguMS0xOC4yIDE2LjcgNS4yLTEyLjggMTEuMy0yNS4xIDE4LjktMzYuNHptLTMxLjIgMTIxLjljNC40LTE3LjIgMTMuMy0zOS4xIDI5LjgtNTUuMSAwIDAgMS43IDQ4IDE1LjggOTAuMWwtNDEuNC02LjljLTIuMi05LjItMy41LTE4LjUtNC4yLTI4LjF6bTcuOSA0Mi44YzE0LjggMy4yIDM0IDcuNiA0My4xIDkuMSAyNy4zIDc2LjggMTA4LjMgMTI0LjMgMTA4LjMgMTI0LjMgMSAuNSAxLjcuNyAyLjcgMS03My4xLTExLjYtMTMyLjctNjQuNy0xNTQuMS0xMzQuNHpNMzg2IDQ0NC4xYy0xNC41IDQuNy0zNi4yIDguNC02NC43IDMuNyAwIDAtOTEuMS0yMy4xLTEyNy41LTEwNy44IDM4LjIuNyA1Mi40LS4yIDc4LTMuOSAzOS40LTUuNyA3OS0xNi4yIDExNS0zMyAxMS44LTUuNCAxMS4xLTE5LjQgOS42LTI5LjgtMi0xMi44LTExLjEtMTIuMS0yMS40LTQuNyAwIDAtODIgNTguNi0xODkuOCA1My43LTE4LjctMzItMjYuOC0xMTAuOC0yNi44LTExMC44IDQxLjQtMzUuMiA4My4yLTU5LjYgMTY4LjQtNTIuNC4yLTYuNCAzLTI3LjEtMjAuNC0yOC4xIDAgMC05My41LTExLjEtMTQ2IDMzLjUgMi41LTE2LjUgNS45LTI5LjMgMTEuMS0zOS40IDM0LjItMzAuOCA3OS00OS41IDEyOC4zLTQ5LjUgMTA2LjQgMCAxOTMgODcuMSAxOTMgMTk0LjUtLjIgNzYtNDMuOCAxNDItMTA2LjggMTc0eiJdLAogICAgICAicmVhY3QiOiBbNTEyLCA1MTIsIFtdLCAiZjQxYiIsICJNNDE4LjIgMTc3LjJjLTUuNC0xLjgtMTAuOC0zLjUtMTYuMi01LjEuOS0zLjcgMS43LTcuNCAyLjUtMTEuMSAxMi4zLTU5LjYgNC4yLTEwNy41LTIzLjEtMTIzLjMtMjYuMy0xNS4xLTY5LjIuNi0xMTIuNiAzOC40LTQuMyAzLjctOC41IDcuNi0xMi41IDExLjUtMi43LTIuNi01LjUtNS4yLTguMy03LjctNDUuNS00MC40LTkxLjEtNTcuNC0xMTguNC00MS41LTI2LjIgMTUuMi0zNCA2MC4zLTIzIDExNi43IDEuMSA1LjYgMi4zIDExLjEgMy43IDE2LjctNi40IDEuOC0xMi43IDMuOC0xOC42IDUuOUMzOC4zIDE5Ni4yIDAgMjI1LjQgMCAyNTUuNmMwIDMxLjIgNDAuOCA2Mi41IDk2LjMgODEuNSA0LjUgMS41IDkgMyAxMy42IDQuMy0xLjUgNi0yLjggMTEuOS00IDE4LTEwLjUgNTUuNS0yLjMgOTkuNSAyMy45IDExNC42IDI3IDE1LjYgNzIuNC0uNCAxMTYuNi0zOS4xIDMuNS0zLjEgNy02LjMgMTAuNS05LjcgNC40IDQuMyA5IDguNCAxMy42IDEyLjQgNDIuOCAzNi44IDg1LjEgNTEuNyAxMTEuMiAzNi42IDI3LTE1LjYgMzUuOC02Mi45IDI0LjQtMTIwLjUtLjktNC40LTEuOS04LjktMy0xMy41IDMuMi0uOSA2LjMtMS45IDkuNC0yLjkgNTcuNy0xOS4xIDk5LjUtNTAgOTkuNS04MS43IDAtMzAuMy0zOS40LTU5LjctOTMuOC03OC40ek0yODIuOSA5Mi4zYzM3LjItMzIuNCA3MS45LTQ1LjEgODcuNy0zNiAxNi45IDkuNyAyMy40IDQ4LjkgMTIuOCAxMDAuNC0uNyAzLjQtMS40IDYuNy0yLjMgMTAtMjIuMi01LTQ0LjctOC42LTY3LjMtMTAuNi0xMy0xOC42LTI3LjItMzYuNC00Mi42LTUzLjEgMy45LTMuNyA3LjctNy4yIDExLjctMTAuN3ptLTEzMCAxODkuMWM0LjYgOC44IDkuMyAxNy41IDE0LjMgMjYuMSA1LjEgOC43IDEwLjMgMTcuNCAxNS44IDI1LjktMTUuNi0xLjctMzEuMS00LjItNDYuNC03LjUgNC40LTE0LjQgOS45LTI5LjMgMTYuMy00NC41em0wLTUwLjZjLTYuMy0xNC45LTExLjYtMjkuNS0xNi00My42IDE0LjQtMy4yIDI5LjctNS44IDQ1LjYtNy44LTUuMyA4LjMtMTAuNSAxNi44LTE1LjQgMjUuNC00LjkgOC41LTkuNyAxNy4yLTE0LjIgMjZ6bTExLjQgMjUuM2M2LjYtMTMuOCAxMy44LTI3LjMgMjEuNC00MC42IDcuNi0xMy4zIDE1LjgtMjYuMiAyNC40LTM4LjkgMTUtMS4xIDMwLjMtMS43IDQ1LjktMS43IDE1LjYgMCAzMSAuNiA0NS45IDEuNyA4LjUgMTIuNiAxNi42IDI1LjUgMjQuMyAzOC43IDcuNyAxMy4yIDE0LjkgMjYuNyAyMS43IDQwLjQtNi43IDEzLjgtMTMuOSAyNy40LTIxLjYgNDAuOC03LjYgMTMuMy0xNS43IDI2LjItMjQuMiAzOS0xNC45IDEuMS0zMC40IDEuNi00Ni4xIDEuNi0xNS43IDAtMzAuOS0uNS00NS42LTEuNC04LjctMTIuNy0xNi45LTI1LjctMjQuNi0zOS03LjctMTMuMy0xNC44LTI2LjgtMjEuNS00MC42em0xODAuNiA1MS4yYzUuMS04LjggOS45LTE3LjcgMTQuNi0yNi43IDYuNCAxNC41IDEyIDI5LjIgMTYuOSA0NC4zLTE1LjUgMy41LTMxLjIgNi4yLTQ3IDggNS40LTguNCAxMC41LTE3IDE1LjUtMjUuNnptMTQuNC03Ni41Yy00LjctOC44LTkuNS0xNy42LTE0LjUtMjYuMi00LjktOC41LTEwLTE2LjktMTUuMy0yNS4yIDE2LjEgMiAzMS41IDQuNyA0NS45IDgtNC42IDE0LjgtMTAgMjkuMi0xNi4xIDQzLjR6TTI1Ni4yIDExOC4zYzEwLjUgMTEuNCAyMC40IDIzLjQgMjkuNiAzNS44LTE5LjgtLjktMzkuNy0uOS01OS41IDAgOS44LTEyLjkgMTkuOS0yNC45IDI5LjktMzUuOHpNMTQwLjIgNTdjMTYuOC05LjggNTQuMSA0LjIgOTMuNCAzOSAyLjUgMi4yIDUgNC42IDcuNiA3LTE1LjUgMTYuNy0yOS44IDM0LjUtNDIuOSA1My4xLTIyLjYgMi00NSA1LjUtNjcuMiAxMC40LTEuMy01LjEtMi40LTEwLjMtMy41LTE1LjUtOS40LTQ4LjQtMy4yLTg0LjkgMTIuNi05NHptLTI0LjUgMjYzLjZjLTQuMi0xLjItOC4zLTIuNS0xMi40LTMuOS0yMS4zLTYuNy00NS41LTE3LjMtNjMtMzEuMi0xMC4xLTctMTYuOS0xNy44LTE4LjgtMjkuOSAwLTE4LjMgMzEuNi00MS43IDc3LjItNTcuNiA1LjctMiAxMS41LTMuOCAxNy4zLTUuNSA2LjggMjEuNyAxNSA0MyAyNC41IDYzLjYtOS42IDIwLjktMTcuOSA0Mi41LTI0LjggNjQuNXptMTE2LjYgOThjLTE2LjUgMTUuMS0zNS42IDI3LjEtNTYuNCAzNS4zLTExLjEgNS4zLTIzLjkgNS44LTM1LjMgMS4zLTE1LjktOS4yLTIyLjUtNDQuNS0xMy41LTkyIDEuMS01LjYgMi4zLTExLjIgMy43LTE2LjcgMjIuNCA0LjggNDUgOC4xIDY3LjkgOS44IDEzLjIgMTguNyAyNy43IDM2LjYgNDMuMiA1My40LTMuMiAzLjEtNi40IDYuMS05LjYgOC45em0yNC41LTI0LjNjLTEwLjItMTEtMjAuNC0yMy4yLTMwLjMtMzYuMyA5LjYuNCAxOS41LjYgMjkuNS42IDEwLjMgMCAyMC40LS4yIDMwLjQtLjctOS4yIDEyLjctMTkuMSAyNC44LTI5LjYgMzYuNHptMTMwLjcgMzBjLS45IDEyLjItNi45IDIzLjYtMTYuNSAzMS4zLTE1LjkgOS4yLTQ5LjgtMi44LTg2LjQtMzQuMi00LjItMy42LTguNC03LjUtMTIuNy0xMS41IDE1LjMtMTYuOSAyOS40LTM0LjggNDIuMi01My42IDIyLjktMS45IDQ1LjctNS40IDY4LjItMTAuNSAxIDQuMSAxLjkgOC4yIDIuNyAxMi4yIDQuOSAyMS42IDUuNyA0NC4xIDIuNSA2Ni4zem0xOC4yLTEwNy41Yy0yLjguOS01LjYgMS44LTguNSAyLjYtNy0yMS44LTE1LjYtNDMuMS0yNS41LTYzLjggOS42LTIwLjQgMTcuNy00MS40IDI0LjUtNjIuOSA1LjIgMS41IDEwLjIgMy4xIDE1IDQuNyA0Ni42IDE2IDc5LjMgMzkuOCA3OS4zIDU4IDAgMTkuNi0zNC45IDQ0LjktODQuOCA2MS40ek0yNTYgMjEwLjJjMjUuMyAwIDQ1LjggMjAuNSA0NS44IDQ1LjggMCAyNS4zLTIwLjUgNDUuOC00NS44IDQ1LjgtMjUuMyAwLTQ1LjgtMjAuNS00NS44LTQ1LjggMC0yNS4zIDIwLjUtNDUuOCA0NS44LTQ1LjgiXSwKICAgICAgInJlYmVsIjogWzUxMiwgNTEyLCBbXSwgImYxZDAiLCAiTTI1Ni41IDUwNEMxMTcuMiA1MDQgOSAzODcuOCAxMy4yIDI0OS45IDE2IDE3MC43IDU2LjQgOTcuNyAxMjkuNyA0OS41Yy4zIDAgMS45LS42IDEuMS44LTUuOCA1LjUtMTExLjMgMTI5LjgtMTQuMSAyMjYuNCA0OS44IDQ5LjUgOTAgMi41IDkwIDIuNSAzOC41LTUwLjEtLjYtMTI1LjktLjYtMTI1LjktMTAtMjQuOS00NS43LTQwLjEtNDUuNy00MC4xbDI4LjgtMzEuOGMyNC40IDEwLjUgNDMuMiAzOC43IDQzLjIgMzguNy44LTI5LjYtMjEuOS02MS40LTIxLjktNjEuNEwyNTUuMSA4bDQ0LjMgNTAuMWMtMjAuNSAyOC44LTIxLjkgNjIuNi0yMS45IDYyLjYgMTMuOC0yMyA0My41LTM5LjMgNDMuNS0zOS4zbDI4LjUgMzEuOGMtMjcuNCA4LjktNDUuNCAzOS45LTQ1LjQgMzkuOS0xNS44IDI4LjUtMjcuMSA4OS40LjYgMTI3LjMgMzIuNCA0NC42IDg3LjctMi44IDg3LjctMi44IDEwMi43LTkxLjktMTAuNS0yMjUtMTAuNS0yMjUtNi4xLTUuNS44LTIuOC44LTIuOCA1MC4xIDM2LjUgMTE0LjYgODQuNCAxMTYuMiAyMDQuOEM1MDAuOSA0MDAuMiAzOTkgNTA0IDI1Ni41IDUwNHoiXSwKICAgICAgInJlZC1yaXZlciI6IFs0NDgsIDUxMiwgW10sICJmM2UzIiwgIk0zNTMuMiAzMkg5NC44QzQyLjQgMzIgMCA3NC40IDAgMTI2Ljh2MjU4LjRDMCA0MzcuNiA0Mi40IDQ4MCA5NC44IDQ4MGgyNTguNGM1Mi40IDAgOTQuOC00Mi40IDk0LjgtOTQuOFYxMjYuOGMwLTUyLjQtNDIuNC05NC44LTk0LjgtOTQuOHpNMTQ0LjkgMjAwLjl2NTYuM2MwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlWMTUxLjljMC0xMy4yIDEwLjctMjMuOSAyMy45LTIzLjloMTU0LjJjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45aC01Ni4zYy0xMi4zLS42LTI0LjYgMTEuNi0yNCAyNHptMTc2LjMgNzJoLTU2LjNjLTEyLjMtLjYtMjQuNiAxMS42LTI0IDI0djU2LjNjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45VjI0Ny45YzAtMTMuMiAxMC43LTIzLjkgMjMuOS0yMy45aDE1NC4yYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOXoiXSwKICAgICAgInJlZGRpdCI6IFs1MTIsIDUxMiwgW10sICJmMWExIiwgIk0yMDEuNSAzMDUuNWMtMTMuOCAwLTI0LjktMTEuMS0yNC45LTI0LjYgMC0xMy44IDExLjEtMjQuOSAyNC45LTI0LjkgMTMuNiAwIDI0LjYgMTEuMSAyNC42IDI0LjkgMCAxMy42LTExLjEgMjQuNi0yNC42IDI0LjZ6TTUwNCAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4UzggMzkzIDggMjU2IDExOSA4IDI1NiA4czI0OCAxMTEgMjQ4IDI0OHptLTEzMi4zLTQxLjJjLTkuNCAwLTE3LjcgMy45LTIzLjggMTAtMjIuNC0xNS41LTUyLjYtMjUuNS04Ni4xLTI2LjZsMTcuNC03OC4zIDU1LjQgMTIuNWMwIDEzLjYgMTEuMSAyNC42IDI0LjYgMjQuNiAxMy44IDAgMjQuOS0xMS4zIDI0LjktMjQuOXMtMTEuMS0yNC45LTI0LjktMjQuOWMtOS43IDAtMTggNS44LTIyLjEgMTMuOGwtNjEuMi0xMy42Yy0zLS44LTYuMSAxLjQtNi45IDQuNGwtMTkuMSA4Ni40Yy0zMy4yIDEuNC02My4xIDExLjMtODUuNSAyNi44LTYuMS02LjQtMTQuNy0xMC4yLTI0LjEtMTAuMi0zNC45IDAtNDYuMyA0Ni45LTE0LjQgNjIuOC0xLjEgNS0xLjcgMTAuMi0xLjcgMTUuNSAwIDUyLjYgNTkuMiA5NS4yIDEzMiA5NS4yIDczLjEgMCAxMzIuMy00Mi42IDEzMi4zLTk1LjIgMC01LjMtLjYtMTAuOC0xLjktMTUuOCAzMS4zLTE2IDE5LjgtNjIuNS0xNC45LTYyLjV6TTMwMi44IDMzMWMtMTguMiAxOC4yLTc2LjEgMTcuOS05My42IDAtMi4yLTIuMi02LjEtMi4yLTguMyAwLTIuNSAyLjUtMi41IDYuNCAwIDguNiAyMi44IDIyLjggODcuMyAyMi44IDExMC4yIDAgMi41LTIuMiAyLjUtNi4xIDAtOC42LTIuMi0yLjItNi4xLTIuMi04LjMgMHptNy43LTc1Yy0xMy42IDAtMjQuNiAxMS4xLTI0LjYgMjQuOSAwIDEzLjYgMTEuMSAyNC42IDI0LjYgMjQuNiAxMy44IDAgMjQuOS0xMS4xIDI0LjktMjQuNiAwLTEzLjgtMTEtMjQuOS0yNC45LTI0Ljl6Il0sCiAgICAgICJyZWRkaXQtYWxpZW4iOiBbNTEyLCA1MTIsIFtdLCAiZjI4MSIsICJNNDQwLjMgMjAzLjVjLTE1IDAtMjguMiA2LjItMzcuOSAxNS45LTM1LjctMjQuNy04My44LTQwLjYtMTM3LjEtNDIuM0wyOTMgNTIuM2w4OC4yIDE5LjhjMCAyMS42IDE3LjYgMzkuMiAzOS4yIDM5LjIgMjIgMCAzOS43LTE4LjEgMzkuNy0zOS43cy0xNy42LTM5LjctMzkuNy0zOS43Yy0xNS40IDAtMjguNyA5LjMtMzUuMyAyMmwtOTcuNC0yMS42Yy00LjktMS4zLTkuNyAyLjItMTEgNy4xTDI0Ni4zIDE3N2MtNTIuOSAyLjItMTAwLjUgMTguMS0xMzYuMyA0Mi44LTkuNy0xMC4xLTIzLjQtMTYuMy0zOC40LTE2LjMtNTUuNiAwLTczLjggNzQuNi0yMi45IDEwMC4xLTEuOCA3LjktMi42IDE2LjMtMi42IDI0LjcgMCA4My44IDk0LjQgMTUxLjcgMjEwLjMgMTUxLjcgMTE2LjQgMCAyMTAuOC02Ny45IDIxMC44LTE1MS43IDAtOC40LS45LTE3LjItMy4xLTI1LjEgNDkuOS0yNS42IDMxLjUtOTkuNy0yMy44LTk5Ljd6TTEyOS40IDMwOC45YzAtMjIgMTcuNi0zOS43IDM5LjctMzkuNyAyMS42IDAgMzkuMiAxNy42IDM5LjIgMzkuNyAwIDIxLjYtMTcuNiAzOS4yLTM5LjIgMzkuMi0yMiAuMS0zOS43LTE3LjYtMzkuNy0zOS4yem0yMTQuMyA5My41Yy0zNi40IDM2LjQtMTM5LjEgMzYuNC0xNzUuNSAwLTQtMy41LTQtOS43IDAtMTMuNyAzLjUtMy41IDkuNy0zLjUgMTMuMiAwIDI3LjggMjguNSAxMjAgMjkgMTQ5IDAgMy41LTMuNSA5LjctMy41IDEzLjIgMCA0LjEgNCA0LjEgMTAuMi4xIDEzLjd6bS0uOC01NC4yYy0yMS42IDAtMzkuMi0xNy42LTM5LjItMzkuMiAwLTIyIDE3LjYtMzkuNyAzOS4yLTM5LjcgMjIgMCAzOS43IDE3LjYgMzkuNyAzOS43LS4xIDIxLjUtMTcuNyAzOS4yLTM5LjcgMzkuMnoiXSwKICAgICAgInJlZGRpdC1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjFhMiIsICJNMjgzLjIgMzQ1LjVjMi43IDIuNyAyLjcgNi44IDAgOS4yLTI0LjUgMjQuNS05My44IDI0LjYtMTE4LjQgMC0yLjctMi40LTIuNy02LjUgMC05LjIgMi40LTIuNCA2LjUtMi40IDguOSAwIDE4LjcgMTkuMiA4MSAxOS42IDEwMC41IDAgMi40LTIuMyA2LjYtMi4zIDkgMHptLTkxLjMtNTMuOGMwLTE0LjktMTEuOS0yNi44LTI2LjUtMjYuOC0xNC45IDAtMjYuOCAxMS45LTI2LjggMjYuOCAwIDE0LjYgMTEuOSAyNi41IDI2LjggMjYuNSAxNC42IDAgMjYuNS0xMS45IDI2LjUtMjYuNXptOTAuNy0yNi44Yy0xNC42IDAtMjYuNSAxMS45LTI2LjUgMjYuOCAwIDE0LjYgMTEuOSAyNi41IDI2LjUgMjYuNSAxNC45IDAgMjYuOC0xMS45IDI2LjgtMjYuNSAwLTE0LjktMTEuOS0yNi44LTI2LjgtMjYuOHpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tOTkuNyAxNDAuNmMtMTAuMSAwLTE5IDQuMi0yNS42IDEwLjctMjQuMS0xNi43LTU2LjUtMjcuNC05Mi41LTI4LjZsMTguNy04NC4yIDU5LjUgMTMuNGMwIDE0LjYgMTEuOSAyNi41IDI2LjUgMjYuNSAxNC45IDAgMjYuOC0xMi4yIDI2LjgtMjYuOCAwLTE0LjYtMTEuOS0yNi44LTI2LjgtMjYuOC0xMC40IDAtMTkuMyA2LjItMjMuOCAxNC45bC02NS43LTE0LjZjLTMuMy0uOS02LjUgMS41LTcuNCA0LjhsLTIwLjUgOTIuOGMtMzUuNyAxLjUtNjcuOCAxMi4yLTkxLjkgMjguOS02LjUtNi44LTE1LjgtMTEtMjUuOS0xMS0zNy41IDAtNDkuOCA1MC40LTE1LjUgNjcuNS0xLjIgNS40LTEuOCAxMS0xLjggMTYuNyAwIDU2LjUgNjMuNyAxMDIuMyAxNDEuOSAxMDIuMyA3OC41IDAgMTQyLjItNDUuOCAxNDIuMi0xMDIuMyAwLTUuNy0uNi0xMS42LTIuMS0xNyAzMy42LTE3LjIgMjEuMi02Ny4yLTE2LjEtNjcuMnoiXSwKICAgICAgInJlbmRhY3QiOiBbNDk2LCA1MTIsIFtdLCAiZjNlNCIsICJNMjQ4IDhDMTExIDggMCAxMTkgMCAyNTZzMTExIDI0OCAyNDggMjQ4YzE4LjYgMCAzNi43LTIuMSA1NC4xLTUuOS01LjYtNy40LTEwLjgtMTQuNC0xNS45LTIxLjMtMTIuNCAyLjEtMjUuMiAzLjMtMzguMyAzLjNDMTI0LjMgNDgwIDI0IDM3OS43IDI0IDI1NlMxMjQuMyAzMiAyNDggMzJzMjI0IDEwMC4zIDIyNCAyMjRjMCA3MS0zMyAxMzQuMi04NC41IDE3NS4zLTI1LjkgMTguOC0zOS4xIDIxLjQtODMuNS00NC4yLTc4LjctMTEyLjktNDgtNzEuMS03My43LTEwOC4zIDcyLjggOC45IDIyOC41LTcyIDE2OC42LTE2OC42QzMxNC0yNi44IDE1IDkzLjggNTkuNyAyMjYuNGMzLjIgOS44IDE0LjQgMzguNiA0NS42IDM4LjYgMiAwIDIuNi0uNiAyLTEuNy00LjQtOC43LTIwLjEtOS44LTIwLjEtMzcuNCAwLTQwLjUgNDAuNS04OS42IDEwMC4zLTEyMCA2Ni4xLTMyLjMgMTMxLjktMzAuMiAxNTguMiA1LjQgMjcuMiAzOC4zLTIwLjkgMTE5LjItMTIwLjQgMTM2LjkgNy41LTkuNCA1Ny03NS4yIDYyLjgtODQgMjIuNy0zNC42IDIzLjYtNDkgMTQtNTkuMi0xNS41LTE2LjktMjkuNS0xMC4zLTUwLjctMTEuNy0xMC44LS45LTExMy43IDE4MS4yLTEzNi40IDIxNi45LTUuOSA5LTIxLjIgMzQuMS0yMS4yIDUwLjkgMCAyMS4zIDIuOCA1MS40IDIwLjYgNTEuNCAxMC42IDAgOC0xOC43IDgtMjYuNiAwLTEyLjkgMjcuNC00OS40IDc0LjgtMTA0LjYgMjAuNCAzNi4xIDU3LjcgMTE0LjMgMTMwLjIgMjA5LjcgOTgtMzMuMSAxNjguNS0xMjUuOCAxNjguNS0yMzVDNDk2IDExOSAzODUgOCAyNDggOHoiXSwKICAgICAgInJlbnJlbiI6IFs1MTIsIDUxMiwgW10sICJmMThiIiwgIk0yMTQgMTY5LjFjMCAxMTAuNC02MSAyMDUuNC0xNDcuNiAyNDcuNEMzMCAzNzMuMiA4IDMxNy43IDggMjU2LjYgOCAxMzMuOSA5Ny4xIDMyLjIgMjE0IDEyLjV2MTU2LjZ6TTI1NSA1MDRjLTQyLjkgMC04My4zLTExLTExOC41LTMwLjRDMTkzLjcgNDM3LjUgMjM5LjkgMzgyLjkgMjU1IDMxOWMxNS41IDYzLjkgNjEuNyAxMTguNSAxMTguOCAxNTQuN0MzMzguNyA0OTMgMjk4LjMgNTA0IDI1NSA1MDR6bTE5MC42LTg3LjVDMzU5IDM3NC41IDI5OCAyNzkuNiAyOTggMTY5LjFWMTIuNWMxMTYuOSAxOS43IDIwNiAxMjEuNCAyMDYgMjQ0LjEgMCA2MS4xLTIyIDExNi42LTU4LjQgMTU5Ljl6Il0sCiAgICAgICJyZXBseWQiOiBbNDQ4LCA1MTIsIFtdLCAiZjNlNiIsICJNMzIwIDQ4MEgxMjhDNTcuNiA0ODAgMCA0MjIuNCAwIDM1MlYxNjBDMCA4OS42IDU3LjYgMzIgMTI4IDMyaDE5MmM3MC40IDAgMTI4IDU3LjYgMTI4IDEyOHYxOTJjMCA3MC40LTU3LjYgMTI4LTEyOCAxMjh6TTE5My40IDI3My4yYy02LjEtMi0xMS42LTMuMS0xNi40LTMuMS03LjIgMC0xMy41IDEuOS0xOC45IDUuNi01LjQgMy43LTkuNiA5LTEyLjggMTUuOGgtMS4xbC00LjItMTguM2gtMjh2MTM4LjloMzYuMXYtODkuN2MxLjUtNS40IDQuNC05LjggOC43LTEzLjIgNC4zLTMuNCA5LjgtNS4xIDE2LjItNS4xIDQuNiAwIDkuOCAxIDE1LjYgMy4xbDQuOC0zNHptMTE1LjIgMTAzLjRjLTMuMiAyLjQtNy43IDQuOC0xMy43IDcuMS02IDIuMy0xMi44IDMuNS0yMC40IDMuNS0xMi4yIDAtMjEuMS0zLTI2LjUtOC45LTUuNS01LjktOC41LTE0LjctOS0yNi40aDgzLjNjLjktNC44IDEuNi05LjQgMi4xLTEzLjkuNS00LjQuNy04LjYuNy0xMi41IDAtMTAuNy0xLjYtMTkuNy00LjctMjYuOS0zLjItNy4yLTcuMy0xMy0xMi41LTE3LjItNS4yLTQuMy0xMS4xLTcuMy0xNy44LTkuMi02LjctMS44LTEzLjUtMi44LTIwLjYtMi44LTIxLjEgMC0zNy41IDYuMS00OS4yIDE4LjNzLTE3LjUgMzAuNS0xNy41IDU1YzAgMjIuOCA1LjIgNDAuNyAxNS42IDUzLjcgMTAuNCAxMy4xIDI2LjggMTkuNiA0OS4yIDE5LjYgMTAuNyAwIDIwLjktMS41IDMwLjQtNC42IDkuNS0zLjEgMTcuMS02LjggMjIuNi0xMS4ybC0xMi0yMy42em0tMjEuOC03MC4zYzMuOCA1LjQgNS4zIDEzLjEgNC42IDIzLjFoLTUxLjdjLjktOS40IDMuNy0xNyA4LjItMjIuNiA0LjUtNS42IDExLjUtOC41IDIxLTguNSA4LjItLjEgMTQuMSAyLjYgMTcuOSA4em03OS45IDIuNWM0LjEgMy45IDkuNCA1LjggMTYuMSA1LjggNyAwIDEyLjYtMS45IDE2LjctNS44czYuMS05LjEgNi4xLTE1LjYtMi0xMS42LTYuMS0xNS40Yy00LjEtMy44LTkuNi01LjctMTYuNy01LjctNi43IDAtMTIgMS45LTE2LjEgNS43LTQuMSAzLjgtNi4xIDguOS02LjEgMTUuNHMyIDExLjcgNi4xIDE1LjZ6bTAgMTAwLjVjNC4xIDMuOSA5LjQgNS44IDE2LjEgNS44IDcgMCAxMi42LTEuOSAxNi43LTUuOHM2LjEtOS4xIDYuMS0xNS42LTItMTEuNi02LjEtMTUuNGMtNC4xLTMuOC05LjYtNS43LTE2LjctNS43LTYuNyAwLTEyIDEuOS0xNi4xIDUuNy00LjEgMy44LTYuMSA4LjktNi4xIDE1LjQgMCA2LjYgMiAxMS43IDYuMSAxNS42eiJdLAogICAgICAicmVzb2x2aW5nIjogWzQ5NiwgNTEyLCBbXSwgImYzZTciLCAiTTI4MS4yIDI3OC4yYzQ2LTEzLjMgNDkuNi0yMy41IDQ0LTQzLjRMMzE0IDE5NS41Yy02LjEtMjAuOS0xOC40LTI4LjEtNzEuMS0xMi44TDU0LjcgMjM2LjhsMjguNiA5OC42IDE5Ny45LTU3LjJ6TTI0OC41IDhDMTMxLjQgOCAzMy4yIDg4LjcgNy4yIDE5Ny41bDIyMS45LTYzLjljMzQuOC0xMC4yIDU0LjItMTEuNyA3OS4zLTguMiAzNi4zIDYuMSA1Mi43IDI1IDYxLjQgNTUuMmwxMC43IDM3LjhjOC4yIDI4LjEgMSA1MC42LTIzLjUgNzMuNi0xOS40IDE3LjQtMzEuMiAyNC41LTYxLjQgMzMuMkwyMDMgMzUxLjhsMjIwLjQgMjcuMSA5LjcgMzQuMi00OC4xIDEzLjMtMjg2LjgtMzcuMyAyMyA4MC4yYzM2LjggMjIgODAuMyAzNC43IDEyNi4zIDM0LjcgMTM3IDAgMjQ4LjUtMTExLjQgMjQ4LjUtMjQ4LjNDNDk3IDExOS40IDM4NS41IDggMjQ4LjUgOHpNMzguMyAzODguNkwwIDI1Ni44YzAgNDguNSAxNC4zIDkzLjQgMzguMyAxMzEuOHoiXSwKICAgICAgInJvY2tldGNoYXQiOiBbNDQ4LCA1MTIsIFtdLCAiZjNlOCIsICJNNDQ4IDI1Ni4yYzAtODcuMi05OS42LTE1My4zLTIxOS44LTE1My4zLTE4LjggMC0zNy4zIDEuNi01NS4zIDQuOC0xMS4xLTEwLjUtMjQuMi0yMC0zOC0yNy40QzYxLjIgNDQuMiAwIDc5LjQgMCA3OS40czU2LjkgNDcuMSA0Ny42IDg4LjNjLTUyLjMgNTIuMy01Mi41IDEyNC4xIDAgMTc2LjZDNTYuOSAzODUuNiAwIDQzMi42IDAgNDMyLjZzNjEuMiAzNS4yIDEzNC45LS44YzEzLjgtNy41IDI2LjktMTYuOSAzOC0yNy40IDE4IDMuMiAzNi41IDQuOCA1NS4zIDQuOCAxMjAuMy0uMSAyMTkuOC02NS44IDIxOS44LTE1M3ptLTIxOS43IDEyNGMtMjMuNyAwLTQ2LjMtMi44LTY3LjMtNy44LTIxLjMgMjUuOC02OC4xIDYxLjctMTEzLjYgNTAuMSAxNC44LTE2IDM2LjctNDMuMSAzMi04Ny42LTI3LjMtMjEuNC00My42LTQ4LjctNDMuNi03OC41IDAtNjguNCA4Ni4yLTEyMy45IDE5Mi41LTEyMy45UzQyMC44IDE4OCA0MjAuOCAyNTYuNGMwIDY4LjMtODYuMiAxMjMuOC0xOTIuNSAxMjMuOHptMjUuNi0xMjMuOWMwIDE0LjItMTEuNSAyNS44LTI1LjYgMjUuOC0xNC4xIDAtMjUuNi0xMS41LTI1LjYtMjUuOCAwLTE0LjIgMTEuNS0yNS44IDI1LjYtMjUuOCAxNC4xIDAgMjUuNiAxMS42IDI1LjYgMjUuOHptODguOSAwYzAgMTQuMi0xMS40IDI1LjgtMjUuNiAyNS44LTE0LjEgMC0yNS42LTExLjUtMjUuNi0yNS44IDAtMTQuMiAxMS40LTI1LjggMjUuNi0yNS44IDE0LjEgMCAyNS42IDExLjYgMjUuNiAyNS44em0tMTc3LjkgMGMwIDE0LjItMTEuNCAyNS44LTI1LjYgMjUuOC0xNC4xIDAtMjUuNi0xMS41LTI1LjYtMjUuOCAwLTE0LjIgMTEuNC0yNS44IDI1LjYtMjUuOCAxNC4yIDAgMjUuNiAxMS42IDI1LjYgMjUuOHoiXSwKICAgICAgInJvY2tybXMiOiBbNDk2LCA1MTIsIFtdLCAiZjNlOSIsICJNMjQ4IDhDMTExIDggMCAxMTkgMCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzODUgOCAyNDggOHptMTU3LjQgNDE5LjVoLTkwbC0xMTItMTMxLjNjLTE3LjktMjAuNC0zLjktNTYuMSAyNi42LTU2LjFoNzUuM2wtODQuNi05OS4zLTg0LjMgOTguOWgtOTBMMTkzLjUgNjcuMmMxNC40LTE4LjQgNDEuMy0xNy4zIDU0LjUgMGwxNTcuNyAxODUuMWMxOSAyMi44IDIgNTcuMi0yNy42IDU2LjEtLjYgMC03NC4yLjItNzQuMi4ybDEwMS41IDExOC45eiJdLAogICAgICAic2FmYXJpIjogWzUxMiwgNTEyLCBbXSwgImYyNjciLCAiTTIzNi45IDI1Ni44YzAtOS4xIDYuNi0xNy43IDE2LjMtMTcuNyA4LjkgMCAxNy40IDYuNCAxNy40IDE2LjEgMCA5LjEtNi40IDE3LjctMTYuMSAxNy43LTkgMC0xNy42LTYuNy0xNy42LTE2LjF6TTUwNCAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4UzggMzkzIDggMjU2IDExOSA4IDI1NiA4czI0OCAxMTEgMjQ4IDI0OHptLTI2LjYgMGMwLTEyMi4zLTk5LjEtMjIxLjQtMjIxLjQtMjIxLjRTMzQuNiAxMzMuNyAzNC42IDI1NiAxMzMuNyA0NzcuNCAyNTYgNDc3LjQgNDc3LjQgMzc4LjMgNDc3LjQgMjU2em0tNzIuNSA5Ni42YzAgMy42IDEzIDEwLjIgMTYuMyAxMi4yLTI3LjQgNDEuNS02OS44IDcxLjQtMTE3LjkgODMuM2wtNC40LTE4LjVjLS4zLTIuNS0xLjktMi44LTQuMi0yLjgtMS45IDAtMyAyLjgtMi44IDQuMmw0LjQgMTguOGMtMTMuMyAyLjgtMjYuOCA0LjItNDAuNCA0LjItMzYuMyAwLTcyLTEwLjItMTAzLTI5LjEgMS43LTIuOCAxMi4yLTE4IDEyLjItMjAuMiAwLTEuOS0xLjctMy42LTMuNi0zLjYtMy45IDAtMTIuMiAxNi42LTE0LjcgMTkuOS00MS44LTI3LjctNzItNzAuNi04My42LTExOS42bDE5LjEtNC4yYzIuMi0uNiAyLjgtMi4yIDIuOC00LjIgMC0xLjktMi44LTMtNC40LTIuOEw2MiAyOTQuNWMtMi41LTEyLjctMy45LTI1LjUtMy45LTM4LjUgMC0zNy4xIDEwLjUtNzMuNiAzMC4yLTEwNC45IDIuOCAxLjcgMTYuMSAxMC44IDE4LjMgMTAuOCAxLjkgMCAzLjYtMS40IDMuNi0zLjMgMC0zLjktMTQuNy0xMS4zLTE4LTEzLjYgMjguMi00MS4yIDcxLjEtNzAuOSAxMTkuOC04MS45bDQuMiAxOC41Yy42IDIuMiAyLjIgMi44IDQuMiAyLjhzMy0yLjggMi44LTQuNEwyMTkgNjEuN2MxMi4yLTIuMiAyNC42LTMuNiAzNy4xLTMuNiAzNy4xIDAgNzMuMyAxMC41IDEwNC45IDMwLjItMS45IDIuOC0xMC44IDE1LjgtMTAuOCAxOCAwIDEuOSAxLjQgMy42IDMuMyAzLjYgMy45IDAgMTEuMy0xNC40IDEzLjMtMTcuNyA0MSAyNy43IDcwLjMgNzAgODEuNyAxMTguMmwtMTUuNSAzLjNjLTIuNS42LTIuOCAyLjItMi44IDQuNCAwIDEuOSAyLjggMyA0LjIgMi44bDE1LjgtMy42YzIuNSAxMi43IDMuOSAyNS43IDMuOSAzOC43IDAgMzYuMy0xMCA3Mi0yOC44IDEwMi43LTIuOC0xLjQtMTQuNC05LjctMTYuNi05LjctMi4xIDAtMy44IDEuNy0zLjggMy42em0tMzMuMi0yNDIuMmMtMTMgMTIuMi0xMzQuMiAxMjMuNy0xMzcuNiAxMjkuNWwtOTYuNiAxNjAuNWMxMi43LTExLjkgMTM0LjItMTI0IDEzNy4zLTEyOS4zbDk2LjktMTYwLjd6Il0sCiAgICAgICJzYXNzIjogWzY0MCwgNTEyLCBbXSwgImY0MWUiLCAiTTU1MS4xIDI5MS45Yy0yMi40LjEtNDEuOCA1LjUtNTggMTMuNS01LjktMTEuOS0xMi0yMi4zLTEzLTMwLjEtMS4yLTkuMS0yLjUtMTQuNS0xLjEtMjUuM3M3LjctMjYuMSA3LjYtMjcuMmMtLjEtMS4xLTEuNC02LjYtMTQuMy02LjctMTIuOS0uMS0yNCAyLjUtMjUuMyA1LjktMS4zIDMuNC0zLjggMTEuMS01LjMgMTkuMS0yLjMgMTEuNy0yNS44IDUzLjUtMzkuMSA3NS4zLTQuNC04LjUtOC4xLTE2LTguOS0yMi0xLjItOS4xLTIuNS0xNC41LTEuMS0yNS4zczcuNy0yNi4xIDcuNi0yNy4yYy0uMS0xLjEtMS40LTYuNi0xNC4zLTYuNy0xMi45LS4xLTI0IDIuNS0yNS4zIDUuOS0xLjMgMy40LTIuNyAxMS40LTUuMyAxOS4xLTIuNiA3LjctMzMuOSA3Ny4zLTQyLjEgOTUuNC00LjIgOS4yLTcuOCAxNi42LTEwLjQgMjEuNnMtLjIuMy0uNC45Yy0yLjIgNC4zLTMuNSA2LjctMy41IDYuN3YuMWMtMS43IDMuMi0zLjYgNi4xLTQuNSA2LjEtLjYgMC0xLjktOC40LjMtMTkuOSA0LjctMjQuMiAxNS44LTYxLjggMTUuNy02My4xLS4xLS43IDIuMS03LjItNy4zLTEwLjctOS4xLTMuMy0xMi40IDIuMi0xMy4yIDIuMi0uOCAwLTEuNCAyLTEuNCAyczEwLjEtNDIuNC0xOS40LTQyLjRjLTE4LjQgMC00NCAyMC4yLTU2LjYgMzguNS03LjkgNC4zLTI1IDEzLjYtNDMgMjMuNS02LjkgMy44LTE0IDcuNy0yMC43IDExLjQtLjUtLjUtLjktMS0xLjQtMS41LTM1LjgtMzguMi0xMDEuOS02NS4yLTk5LjEtMTE2LjUgMS0xOC43IDcuNS02Ny44IDEyNy4xLTEyNy40IDk4LTQ4LjggMTc2LjQtMzUuNCAxODkuOS01LjYgMTkuNCA0Mi41LTQxLjkgMTIxLjYtMTQzLjcgMTMzLTM4LjggNC4zLTU5LjItMTAuNy02NC4zLTE2LjMtNS4zLTUuOS02LjEtNi4yLTguMS01LjEtMy4zIDEuOC0xLjIgNyAwIDEwLjEgMyA3LjkgMTUuNSAyMS45IDM2LjggMjguOSAxOC43IDYuMSA2NC4yIDkuNSAxMTkuMi0xMS44QzM2NyAxOTYuNSA0MTUuMSAxMzAuMiA0MDEgNzQuNyAzODYuNiAxOC4zIDI5My4xLS4yIDIwNC42IDMxLjIgMTUxLjkgNDkuOSA5NC45IDc5LjMgNTMuOSAxMTcuNiA1LjIgMTYzLjItMi42IDIwMi45LjYgMjE5LjVjMTEuNCA1OC45IDkyLjYgOTcuMyAxMjUuMSAxMjUuNy0xLjYuOS0zLjEgMS43LTQuNSAyLjUtMTYuMyA4LjEtNzguMiA0MC41LTkzLjcgNzQuNy0xNy41IDM4LjggMi45IDY2LjYgMTYuMyA3MC40IDQxLjggMTEuNiA4NC42LTkuMyAxMDcuNi00My42czIwLjItNzkuMSA5LjYtOTkuNWMtLjEtLjMtLjMtLjUtLjQtLjggNC4yLTIuNSA4LjUtNSAxMi44LTcuNSA4LjMtNC45IDE2LjQtOS40IDIzLjUtMTMuMy00IDEwLjgtNi45IDIzLjgtOC40IDQyLjYtMS44IDIyIDcuMyA1MC41IDE5LjEgNjEuNyA1LjIgNC45IDExLjUgNSAxNS40IDUgMTMuOCAwIDIwLTExLjQgMjYuOS0yNSA4LjUtMTYuNiAxNi0zNS45IDE2LTM1LjlzLTkuNCA1Mi4yIDE2LjMgNTIuMmM5LjQgMCAxOC44LTEyLjEgMjMtMTguM3YuMXMuMi0uNC43LTEuMmMxLTEuNSAxLjUtMi40IDEuNS0yLjR2LS4zYzMuOC02LjUgMTIuMS0yMS40IDI0LjYtNDYgMTYuMi0zMS44IDMxLjctNzEuNSAzMS43LTcxLjVzMS40IDkuNyA2LjIgMjUuOGMyLjggOS41IDguNyAxOS45IDEzLjQgMzAtMy44IDUuMi02LjEgOC4yLTYuMSA4LjJzMCAuMS4xLjJjLTMgNC02LjQgOC4zLTkuOSAxMi41LTEyLjggMTUuMi0yOCAzMi42LTMwIDM3LjYtMi40IDUuOS0xLjggMTAuMyAyLjggMTMuNyAzLjQgMi42IDkuNCAzIDE1LjcgMi41IDExLjUtLjggMTkuNi0zLjYgMjMuNS01LjQgNi4yLTIuMiAxMy40LTUuNyAyMC4yLTEwLjYgMTIuNS05LjIgMjAuMS0yMi40IDE5LjQtMzkuOC0uNC05LjYtMy41LTE5LjItNy4zLTI4LjIgMS4xLTEuNiAyLjMtMy4zIDMuNC01IDE5LjgtMjguOSAzNS4xLTYwLjYgMzUuMS02MC42czEuNCA5LjcgNi4yIDI1LjhjMi40IDguMSA3LjEgMTcgMTEuNCAyNS43LTE4LjYgMTUuMS0zMC4xIDMyLjYtMzQuMSA0NC4xLTcuNCAyMS4zLTEuNiAzMC45IDkuMyAzMy4xIDQuOSAxIDExLjktMS4zIDE3LjEtMy41IDYuNS0yLjIgMTQuMy01LjcgMjEuNi0xMS4xIDEyLjUtOS4yIDI0LjYtMjIuMSAyMy44LTM5LjYtLjMtNy45LTIuNS0xNS44LTUuNC0yMy40IDE1LjctNi42IDM2LjEtMTAuMiA2Mi4xLTcuMiA1NS43IDYuNSA2Ni42IDQxLjMgNjQuNSA1NS44LTIuMSAxNC42LTEzLjggMjIuNi0xNy43IDI1LTMuOSAyLjQtNS4xIDMuMy00LjggNS4xLjUgMi42IDIuMyAyLjUgNS42IDEuOSA0LjYtLjggMjkuMi0xMS44IDMwLjMtMzguNyAxLjYtMzQtMzEuMS03MS40LTg5LTcxLjF6TTEyMS44IDQzNi42Yy0xOC40IDIwLjEtNDQuMiAyNy43LTU1LjMgMjEuM0M1NC42IDQ1MSA1OS4zIDQyMS40IDgyIDQwMGMxMy44LTEzIDMxLjYtMjUgNDMuNC0zMi40IDIuNy0xLjYgNi42LTQgMTEuNC02LjkuOC0uNSAxLjItLjcgMS4yLS43LjktLjYgMS45LTEuMSAyLjktMS43IDguMyAzMC40LjMgNTcuMi0xOS4xIDc4LjN6bTEzNC40LTkxLjRjLTYuNCAxNS43LTE5LjkgNTUuNy0yOC4xIDUzLjYtNy0xLjgtMTEuMy0zMi4zLTEuNC02Mi4zIDUtMTUuMSAxNS42LTMzLjEgMjEuOS00MC4xIDEwLjEtMTEuMyAyMS4yLTE0LjkgMjMuOC0xMC40IDMuNSA1LjktMTIuMiA0OS40LTE2LjIgNTkuMnptMTExIDUzYy0yLjcgMS40LTUuMiAyLjMtNi40IDEuNi0uOS0uNSAxLjEtMi40IDEuMS0yLjRzMTMuOS0xNC45IDE5LjQtMjEuN2MzLjItNCA2LjktOC43IDEwLjktMTMuOSAwIC41LjEgMSAuMSAxLjYtLjEgMTcuOS0xNy4zIDMwLTI1LjEgMzQuOHptODUuNi0xOS41Yy0yLTEuNC0xLjctNi4xIDUtMjAuNyAyLjYtNS43IDguNi0xNS4zIDE5LTI0LjUgMS4yIDMuOCAxLjkgNy40IDEuOSAxMC44LS4xIDIyLjUtMTYuMiAzMC45LTI1LjkgMzQuNHoiXSwKICAgICAgInNjaGxpeCI6IFs0NDgsIDUxMiwgW10sICJmM2VhIiwgIk0zNTAuNSAxNTcuN2wtNTQuMi00Ni4xIDczLjQtMzkgNzguMyA0NC4yLTk3LjUgNDAuOXpNMTkyIDEyMi4xbDQ1LjctMjguMiAzNC43IDM0LjYtNTUuNCAyOS0yNS0zNS40em0tNjUuMSA2LjZsMzEuOS0yMi4xTDE3NiAxMzVsLTM2LjcgMjIuNS0xMi40LTI4Ljh6bS0yMy4zIDg4LjJsLTguOC0zNC44IDI5LjYtMTguMyAxMy4xIDM1LjMtMzMuOSAxNy44em0tMjEuMi04My43bDIzLjktMTguMSA4LjkgMjQtMjYuNyAxOC4zLTYuMS0yNC4yek01OSAyMDYuNWwtMy42LTI4LjQgMjIuMy0xNS41IDYuMSAyOC43TDU5IDIwNi41em0tMzAuNiAxNi42bDIwLjgtMTIuOCAzLjMgMzMuNC0yMi45IDEyLTEuMi0zMi42ek0xLjQgMjY4bDE5LjItMTAuMi40IDM4LjItMjEgOC44TDEuNCAyNjh6bTU5LjEgNTkuM2wtMjguMyA4LjMtMS42LTQ2LjggMjUuMS0xMC43IDQuOCA0OS4yek05OSAyNjMuMmwtMzEuMSAxMy01LjItNDAuOEw5MC4xIDIyMWw4LjkgNDIuMnpNMTIzLjIgMzc3bC00MS42IDUuOS04LjEtNjMuNSAzNS4yLTEwLjggMTQuNSA2OC40em0yOC41LTEzOS45bDIxLjIgNTcuMS00Ni4yIDEzLjYtMTMuNy01NC4xIDM4LjctMTYuNnptODUuNyAyMzAuNWwtNzAuOS0zLjMtMjQuMy05NS44IDU1LjItOC42IDQwIDEwNy43em0tODQuOS0yNzkuN2w0Mi4yLTIyLjQgMjggNDUuOS01MC44IDIxLjMtMTkuNC00NC44em00MSA5NC45bDYxLjMtMTguNyA1Mi44IDg2LjYtNzkuOCAxMS4zLTM0LjMtNzkuMnptNTEuNC04NS42bDY3LjMtMjguOCA2NS41IDY1LjQtODguNiAyNi4yLTQ0LjItNjIuOHoiXSwKICAgICAgInNjcmliZCI6IFszODQsIDUxMiwgW10sICJmMjhhIiwgIk00Mi4zIDI1Mi43Yy0xNi4xLTE5LTI0LjctNDUuOS0yNC44LTc5LjkgMC0xMDAuNCA3NS4yLTE1My4xIDE2Ny4yLTE1My4xIDk4LjYtMS42IDE1Ni44IDQ5IDE4NC4zIDcwLjZsLTUwLjUgNzIuMS0zNy4zLTI0LjYgMjYuOS0zOC42Yy0zNi41LTI0LTc5LjQtMzYuNS0xMjMtMzUuOC01MC43LS44LTExMS43IDI3LjItMTExLjcgNzYuMiAwIDE4LjcgMTEuMiAyMC43IDI4LjYgMTUuNiAyMy4zLTUuMyA0MS45LjYgNTUuOCAxNCAyNi40IDI0LjMgMjMuMiA2Ny42LS43IDkxLjktMjkuMiAyOS41LTg1LjIgMjcuMy0xMTQuOC04LjR6bTMxNy43IDUuOWMtMTUuNS0xOC44LTM4LjktMjkuNC02My4yLTI4LjYtMzguMS0yLTcxLjEgMjgtNzAuNSA2Ny4yLS43IDE2LjggNiAzMyAxOC40IDQ0LjMgMTQuMSAxMy45IDMzIDE5LjcgNTYuMyAxNC40IDE3LjQtNS4xIDI4LjYtMy4xIDI4LjYgMTUuNiAwIDQuMy0uNSA4LjUtMS40IDEyLjctMTYuNyA0MC45LTU5LjUgNjQuNC0xMjEuNCA2NC40LTUxLjkuMi0xMDIuNC0xNi40LTE0NC4xLTQ3LjNsMzMuNy0zOS40LTM1LjYtMjcuNEwwIDQwNi4zbDE1LjQgMTMuOGM1Mi41IDQ2LjggMTIwLjQgNzIuNSAxOTAuNyA3Mi4yIDUxLjQgMCA5NC40LTEwLjUgMTMzLjYtNDQuMSA1Ny4xLTUxLjQgNTQuMi0xNDkuMiAyMC4zLTE4OS42eiJdLAogICAgICAic2VhcmNoZW5naW4iOiBbNDYwLCA1MTIsIFtdLCAiZjNlYiIsICJNMjIwLjYgMTMwLjNsLTY3LjIgMjguMlY0My4yTDk4LjcgMjMzLjVsNTQuNy0yNC4ydjEzMC4zbDY3LjItMjA5LjN6bS04My4yLTk2LjdsLTEuMyA0LjctMTUuMiA1Mi45QzgwLjYgMTA2LjcgNTIgMTQ1LjggNTIgMTkxLjVjMCA1Mi4zIDM0LjMgOTUuOSA4My40IDEwNS41djUzLjZDNTcuNSAzNDAuMSAwIDI3Mi40IDAgMTkxLjZjMC04MC41IDU5LjgtMTQ3LjIgMTM3LjQtMTU4em0zMTEuNCA0NDcuMmMtMTEuMiAxMS4yLTIzLjEgMTIuMy0yOC42IDEwLjUtNS40LTEuOC0yNy4xLTE5LjktNjAuNC00NC40LTMzLjMtMjQuNi0zMy42LTM1LjctNDMtNTYuNy05LjQtMjAuOS0zMC40LTQyLjYtNTcuNS01Mi40bC05LjctMTQuN2MtMjQuNyAxNi45LTUzIDI2LjktODEuMyAyOC43bDIuMS02LjYgMTUuOS00OS41YzQ2LjUtMTEuOSA4MC45LTU0IDgwLjktMTA0LjIgMC01NC41LTM4LjQtMTAyLjEtOTYtMTA3LjFWMzIuM0MyNTQuNCAzNy40IDMyMCAxMDYuOCAzMjAgMTkxLjZjMCAzMy42LTExLjIgNjQuNy0yOSA5MC40bDE0LjYgOS42YzkuOCAyNy4xIDMxLjUgNDggNTIuNCA1Ny40czMyLjIgOS43IDU2LjggNDNjMjQuNiAzMy4yIDQyLjcgNTQuOSA0NC41IDYwLjNzLjcgMTcuMy0xMC41IDI4LjV6bS05LjktMTcuOWMwLTQuNC0zLjYtOC04LThzLTggMy42LTggOCAzLjYgOCA4IDggOC0zLjYgOC04eiJdLAogICAgICAic2VsbGNhc3QiOiBbNDQ4LCA1MTIsIFtdLCAiZjJkYSIsICJNMzUzLjQgMzJIOTQuN0M0Mi42IDMyIDAgNzQuNiAwIDEyNi42djI1OC43QzAgNDM3LjQgNDIuNiA0ODAgOTQuNyA0ODBoMjU4LjdjNTIuMSAwIDk0LjctNDIuNiA5NC43LTk0LjZWMTI2LjZjMC01Mi00Mi42LTk0LjYtOTQuNy05NC42em0tNTAgMzE2LjRjLTI3LjkgNDguMi04OS45IDY0LjktMTM4LjIgMzcuMi0yMi45IDM5LjgtNTQuOSA4LjYtNDIuMy0xMy4ybDE1LjctMjcuMmM1LjktMTAuMyAxOS4yLTEzLjkgMjkuNS03LjkgMTguNiAxMC44LS4xLS4xIDE4LjUgMTAuNyAyNy42IDE1LjkgNjMuNCA2LjMgNzkuNC0yMS4zIDE1LjktMjcuNiA2LjMtNjMuNC0yMS4zLTc5LjQtMTcuOC0xMC4yLS42LS40LTE4LjYtMTAuNi0yNC42LTE0LjItMy40LTUxLjkgMjEuNi0zNy41IDE4LjYgMTAuOC0uMS0uMSAxOC41IDEwLjcgNDguNCAyOCA2NS4xIDkwLjMgMzcuMiAxMzguNXptMjEuOC0yMDguOGMtMTcgMjkuNS0xNi4zIDI4LjgtMTkgMzEuNS02LjUgNi41LTE2LjMgOC43LTI2LjUgMy42LTE4LjYtMTAuOC4xLjEtMTguNS0xMC43LTI3LjYtMTUuOS02My40LTYuMy03OS40IDIxLjNzLTYuMyA2My40IDIxLjMgNzkuNGMwIDAgMTguNSAxMC42IDE4LjYgMTAuNiAyNC42IDE0LjIgMy40IDUxLjktMjEuNiAzNy41LTE4LjYtMTAuOC4xLjEtMTguNS0xMC43LTQ4LjItMjcuOC02NC45LTkwLjEtMzcuMS0xMzguNCAyNy45LTQ4LjIgODkuOS02NC45IDEzOC4yLTM3LjJsNC44LTguNGMxNC4zLTI0LjkgNTItMy4zIDM3LjcgMjEuNXoiXSwKICAgICAgInNlbGxzeSI6IFs2NDAsIDUxMiwgW10sICJmMjEzIiwgIk01MzkuNzEgMjM3LjMwOGMzLjA2NC0xMi4yNTcgNC4yOS0yNC44MjEgNC4yOS0zNy4zODRDNTQ0IDEwNy4zODIgNDY4LjYxOCAzMiAzNzYuMDc2IDMyYy03Ny4yMiAwLTE0NC42MzQgNTMuMDEyLTE2My4wMiAxMjcuNzgxLTE1LjMyMi0xMy4xNzYtMzQuOTM0LTIwLjUzLTU1LjE1Ny0yMC41My00Ni4yNzEgMC04My45NjIgMzcuNjktODMuOTYyIDgzLjk2MSAwIDcuMzU0LjkyIDE1LjAxNSAzLjA2NSAyMi4zNjktNDIuOSAyMC4yMjUtNzAuNzg1IDYzLjczOC03MC43ODUgMTExLjIzNEM2LjIxNiA0MjQuODQzIDYxLjY4IDQ4MCAxMjkuNDAxIDQ4MGgzODEuMTk4YzY3LjcyIDAgMTIzLjE4NC01NS4xNTcgMTIzLjE4NC0xMjMuMTg0LjAwMS01Ni4zODQtMzguOTE2LTEwNi4wMjUtOTQuMDczLTExOS41MDh6TTE5OS44OCA0MDEuNTU0YzAgOC4yNzQtNy4wNDggMTUuMzIxLTE1LjMyMSAxNS4zMjFIMTUzLjYxYy04LjI3NCAwLTE1LjMyMS03LjA0OC0xNS4zMjEtMTUuMzIxVjI5MC42MjZjMC04LjI3MyA3LjA0OC0xNS4zMjEgMTUuMzIxLTE1LjMyMWgzMC45NDljOC4yNzQgMCAxNS4zMjEgNy4wNDggMTUuMzIxIDE1LjMyMXYxMTAuOTI4em04OS40NzcgMGMwIDguMjc0LTcuMDQ4IDE1LjMyMS0xNS4zMjIgMTUuMzIxaC0zMC45NDljLTguMjc0IDAtMTUuMzIxLTcuMDQ4LTE1LjMyMS0xNS4zMjFWMjcwLjA5NmMwLTguMjc0IDcuMDQ4LTE1LjMyMSAxNS4zMjEtMTUuMzIxaDMwLjk0OWM4LjI3NCAwIDE1LjMyMiA3LjA0OCAxNS4zMjIgMTUuMzIxdjEzMS40NTh6bTg5LjQ3NyAwYzAgOC4yNzQtNy4wNDcgMTUuMzIxLTE1LjMyMSAxNS4zMjFoLTMwLjk0OWMtOC4yNzQgMC0xNS4zMjItNy4wNDgtMTUuMzIyLTE1LjMyMVYyMzguODRjMC04LjI3NCA3LjA0OC0xNS4zMjEgMTUuMzIyLTE1LjMyMWgzMC45NDljOC4yNzQgMCAxNS4zMjEgNy4wNDggMTUuMzIxIDE1LjMyMXYxNjIuNzE0em04Ny4wMjcgMGMwIDguMjc0LTcuMDQ4IDE1LjMyMS0xNS4zMjIgMTUuMzIxaC0yOC40OTdjLTguMjc0IDAtMTUuMzIxLTcuMDQ4LTE1LjMyMS0xNS4zMjFWMTc2Ljk0MWMwLTguNTc5IDcuMDQ3LTE1LjYyOCAxNS4zMjEtMTUuNjI4aDI4LjQ5N2M4LjI3NCAwIDE1LjMyMiA3LjA0OCAxNS4zMjIgMTUuNjI4djIyNC42MTN6Il0sCiAgICAgICJzZXJ2aWNlc3RhY2siOiBbNDk2LCA1MTIsIFtdLCAiZjNlYyIsICJNODggMjE2YzgxLjcgMTAuMiAyNzMuNyAxMDIuMyAzMDQgMjMySDBjOTkuNS04LjEgMTg0LjUtMTM3IDg4LTIzMnptMzItMTUyYzMyLjMgMzUuNiA0Ny43IDgzLjkgNDYuNCAxMzMuNkMyNDkuMyAyMzEuMyAzNzMuNyAzMjEuMyA0MDAgNDQ4aDk2QzQ1NS4zIDIzMS45IDIyMi44IDc5LjUgMTIwIDY0eiJdLAogICAgICAic2hpcnRzaW5idWxrIjogWzQ0OCwgNTEyLCBbXSwgImYyMTQiLCAiTTM5NS4yMDggMjIxLjU4M0g0MDZ2MzMuNTQyaC0xMC43OTJ2LTMzLjU0MnptMC05LjYyNUg0MDZ2LTMzLjU0MmgtMTAuNzkydjMzLjU0MnptMCA4Ni4zMzNINDA2VjI2NC43NWgtMTAuNzkydjMzLjU0MXpNMzU4Ljc1IDEzNS4yNWgtMzMuNTQydjEwLjVoMzMuNTQydi0xMC41em0zNi40NTggMjA2LjIwOEg0MDZ2LTMzLjU0MmgtMTAuNzkydjMzLjU0MnpNMzExLjUgMTM1LjI1aC0zMy41NDJ2MTAuNUgzMTEuNXYtMTAuNXptLTQ3LjI1IDBIMjMxdjEwLjVoMzMuMjV2LTEwLjV6bS00Ny4yNSAwaC0zMy4yNXYxMC41SDIxN3YtMTAuNXptMTc4LjIwOCAzMy41NDJINDA2VjEzNS4yNWgtMzMuNTQydjEwLjVoMjIuNzV2MjMuMDQyem0tMjU1Ljc5MiAyNTlsMzAuNjI1IDEzLjQxNyA0LjM3NS05LjkxNy0zMC42MjUtMTMuNDE3LTQuMzc1IDkuOTE3ek0xNzkuMDgzIDQ0NWwzMC4zMzQgMTMuNzA4IDQuMzc0LTkuOTE2LTMwLjMzMy0xMy40MTctNC4zNzUgOS42MjV6bTIxNi4xMjUtNjAuMzc1SDQwNnYtMzMuNTQyaC0xMC43OTJ2MzMuNTQyem0tMzM0LjgzMyA4LjE2N0w5MSA0MDYuMjA4bDQuMzc1LTkuNjI0LTMwLjYyNS0xMy43MDktNC4zNzUgOS45MTd6bTM5LjY2NiAxNy40OTlsMzAuNjI1IDEzLjQxNyA0LjM3NS05LjkxNy0zMC42MjUtMTMuNDE2LTQuMzc1IDkuOTE2em0xMzIuNDE3IDM4LjUwMWw0LjM3NSA5LjkxNkwyNjcuNDU5IDQ0NWwtNC4zNzUtOS42MjUtMzAuNjI2IDEzLjQxN3ptMTE4LjQxNy01Mi4yMDhsNC4zNzUgOS42MjQgMzAuNjI0LTEzLjQxNi00LjM3NC05LjkxNy0zMC42MjUgMTMuNzA5ek0zMTEuNSA0MTMuNzkxbDQuMzc1IDkuOTE3IDMwLjYyNS0xMy40MTctNC4zNzQtOS45MTYtMzAuNjI2IDEzLjQxNnptLTM5LjY2NyAxNy41MDFsNC4zNzUgOS45MTcgMzAuNjI1LTEzLjQxNy00LjM3NS05LjkxNy0zMC42MjUgMTMuNDE3ek0zMTEuNSA0Ni41ODNoLTMzLjU0MnYxMC41SDMxMS41di0xMC41em05NC4yMDkgMGgtMzMuMjUxdjEwLjVoMzMuMjUxdi0xMC41em0tMTg4LjcwOSAwaC0zMy4yNXYxMC41SDIxN3YtMTAuNXptMTQxLjc1IDBoLTMzLjU0MnYxMC41aDMzLjU0MnYtMTAuNXptLTk0LjUgMEgyMzF2MTAuNWgzMy4yNXYtMTAuNXpNNDQ4IDMuNzA4djQwNmwtMjI2LjMzNCA5OC41ODRMMCA0MDkuNzA4di00MDZoNDQ4em0tMjkuMTY2IDExNi45NThIMjkuMTY2VjM5MC43NWwxOTIuNzkyIDg1Ljc1IDE5Ni44NzUtODUuNzVWMTIwLjY2NnptMC04Ny43OTFIMjkuMTY2VjkxLjVoMzg5LjY2N1YzMi44NzV6TTc1LjU0MiA0Ni41ODNINDIuMjkxdjEwLjVoMzMuMjUxdi0xMC41em05NC41IDBIMTM2LjV2MTAuNWgzMy41NDJ2LTEwLjV6bS00Ny4yNTEgMEg4OS4yNXYxMC41aDMzLjU0MnYtMTAuNXptNy41ODQgMjM2LjU0MmMwLTUwLjE2NyA0MS4xMjUtOTEuMjkyIDkxLjI5Mi05MS4yOTIgNTAuNDU4IDAgOTEuMjkyIDQxLjEyNSA5MS4yOTIgOTEuMjkyIDAgNTAuNDU4LTQwLjgzMyA5MS4yOTItOTEuMjkyIDkxLjI5Mi01MC4xNjctLjAwMS05MS4yOTItNDAuODM0LTkxLjI5Mi05MS4yOTJ6bTEyMC43NSAxOC4wODRjMCAxMy4xMjUtMjMuOTE3IDE0LjI5MS0zMi42NjYgMTQuMjkxLTEyLjI1IDAtMjkuNzUtMi42MjUtMzUuODc1LTE0Ljg3NWgtLjg3NUwxNzIuNjY2IDMxOWMxNC44NzYgOS4zMzMgMjkuMTY3IDEyLjI1IDQ3LjI1IDEyLjI1IDE5LjU0MiAwIDUxLjA0Mi01LjgzMyA1MS4wNDItMzEuMjA5IDAtNDguMTI1LTc4LjQ1OC0xNi4zMzMtNzguNDU4LTM3LjkxNiAwLTEzLjEyNSAyMC43MDgtMTQuODc1IDI5Ljc1LTE0Ljg3NSAxMC43OTEgMCAyOS4xNjYgMy4yMDggMzUuNTgzIDEzLjEyNGguODc1bDguNzUxLTE2LjkxNmMtMTUuMTY3LTYuMTI1LTI3LjQxNy0xMS45NTktNDQuMzM0LTExLjk1OS0yMC4xMjUgMC00OS41ODMgNi40MTctNDkuNTgzIDMxLjc5MiAwIDQ0LjMzNCA3Ny41ODMgMTEuOTU5IDc3LjU4MyAzNy45MTh6TTEyMi43OTEgMTM1LjI1SDg5LjI1djEwLjVoMzMuNTQydi0xMC41em0tNjkuOTk5IDEwLjVoMjIuNzV2LTEwLjVINDJ2MzMuNTQyaDEwLjc5MlYxNDUuNzV6bTAgMzIuNjY2SDQydjMzLjU0MmgxMC43OTJ2LTMzLjU0MnptMTE3LjI1LTQzLjE2NkgxMzYuNXYxMC41aDMzLjU0MnYtMTAuNXptLTExNy4yNSA4Ni4zMzNINDJ2MzMuNTQyaDEwLjc5MnYtMzMuNTQyem0wIDg2LjMzNEg0MnYzMy41NDJoMTAuNzkydi0zMy41NDJ6bTAtNDMuMTY3SDQydjMzLjU0MmgxMC43OTJWMjY0Ljc1em0wIDg2LjMzM0g0MnYzMy41NDJoMTAuNzkydi0zMy41NDJ6Il0sCiAgICAgICJzaW1wbHlidWlsdCI6IFs1MTIsIDUxMiwgW10sICJmMjE1IiwgIk00ODEuMiA2NGgtMTA2Yy0xNC41IDAtMjYuNiAxMS44LTI2LjYgMjYuM3YzOS42SDE2My4zVjkwLjNjMC0xNC41LTEyLTI2LjMtMjYuNi0yNi4zaC0xMDZDMTYuMSA2NCA0LjMgNzUuOCA0LjMgOTAuM3YzMzEuNGMwIDE0LjUgMTEuOCAyNi4zIDI2LjYgMjYuM2g0NTAuNGMxNC44IDAgMjYuNi0xMS44IDI2LjYtMjYuM1Y5MC4zYy0uMi0xNC41LTEyLTI2LjMtMjYuNy0yNi4zek0xNDkuOCAzNTUuOGMtMzYuNiAwLTY2LjQtMjkuNy02Ni40LTY2LjQgMC0zNi45IDI5LjctNjYuNiA2Ni40LTY2LjYgMzYuOSAwIDY2LjYgMjkuNyA2Ni42IDY2LjYgMCAzNi43LTI5LjcgNjYuNC02Ni42IDY2LjR6bTIxMi40IDBjLTM2LjkgMC02Ni42LTI5LjctNjYuNi02Ni42IDAtMzYuNiAyOS43LTY2LjQgNjYuNi02Ni40IDM2LjYgMCA2Ni40IDI5LjcgNjYuNCA2Ni40IDAgMzYuOS0yOS44IDY2LjYtNjYuNCA2Ni42eiJdLAogICAgICAic2lzdHJpeCI6IFs0NDgsIDUxMiwgW10sICJmM2VlIiwgIk00NDggNDQ5TDMwMS4yIDMwMC4yYzIwLTI3LjkgMzEuOS02Mi4yIDMxLjktOTkuMiAwLTkzLjEtNzQuNy0xNjguOS0xNjYuNS0xNjguOUM3NC43IDMyIDAgMTA3LjggMCAyMDAuOXM3NC43IDE2OC45IDE2Ni41IDE2OC45YzM5LjggMCA3Ni4zLTE0LjIgMTA1LTM3LjlsMTQ2IDE0OC4xIDMwLjUtMzF6TTE2Ni41IDMzMC44Yy03MC42IDAtMTI4LjEtNTguMy0xMjguMS0xMjkuOVM5NS45IDcxIDE2Ni41IDcxczEyOC4xIDU4LjMgMTI4LjEgMTI5LjktNTcuNCAxMjkuOS0xMjguMSAxMjkuOXoiXSwKICAgICAgInNreWF0bGFzIjogWzY0MCwgNTEyLCBbXSwgImYyMTYiLCAiTTY0MCAzMjkuM2MwIDY1LjktNTIuNSAxMTQuNC0xMTcuNSAxMTQuNC0xNjUuOSAwLTE5Ni42LTI0OS43LTM1OS43LTI0OS43LTE0Ni45IDAtMTQ3LjEgMjEyLjIgNS42IDIxMi4yIDQyLjUgMCA5MC45LTE3LjggMTI1LjMtNDIuNSA1LjYtNC4xIDE2LjktMTYuMyAyMi44LTE2LjNzMTAuOSA1IDEwLjkgMTAuOWMwIDcuOC0xMy4xIDE5LjEtMTguNyAyNC4xLTQwLjkgMzUuNi0xMDAuMyA2MS4yLTE1NC43IDYxLjItODMuNC4xLTE1NC01OS0xNTQtMTQ0LjlzNjcuNS0xNDkuMSAxNTIuOC0xNDkuMWMxODUuMyAwIDIyMi41IDI0NS45IDM2MS45IDI0NS45IDk5LjkgMCA5NC44LTEzOS43IDMuNC0xMzkuNy0xNy41IDAtMzUgMTEuNi00Ni45IDExLjYtOC40IDAtMTUuOS03LjItMTUuOS0xNS42IDAtMTEuNiA1LjMtMjMuNyA1LjMtMzYuMyAwLTY2LjYtNTAuOS0xMTQuNy0xMTYuOS0xMTQuNy01My4xIDAtODAgMzYuOS04OC44IDM2LjktNi4yIDAtMTEuMi01LTExLjItMTEuMiAwLTUuNiA0LjEtMTAuMyA3LjgtMTQuNCAyNS4zLTI4LjggNjQuNy00My43IDEwMi44LTQzLjcgNzkuNCAwIDEzOS4xIDU4LjQgMTM5LjEgMTM3LjggMCA2LjktLjMgMTMuNy0xLjIgMjAuNiAxMS45LTMuMSAyNC4xLTQuNyAzNS45LTQuNyA2MC43IDAgMTExLjkgNDUuMyAxMTEuOSAxMDcuMnoiXSwKICAgICAgInNreXBlIjogWzQ0OCwgNTEyLCBbXSwgImYxN2UiLCAiTTQyNC43IDI5OS44YzIuOS0xNCA0LjctMjguOSA0LjctNDMuOCAwLTExMy41LTkxLjktMjA1LjMtMjA1LjMtMjA1LjMtMTQuOSAwLTI5LjcgMS43LTQzLjggNC43QzE2MS4zIDQwLjcgMTM3LjcgMzIgMTEyIDMyIDUwLjIgMzIgMCA4Mi4yIDAgMTQ0YzAgMjUuNyA4LjcgNDkuMyAyMy4zIDY4LjItMi45IDE0LTQuNyAyOC45LTQuNyA0My44IDAgMTEzLjUgOTEuOSAyMDUuMyAyMDUuMyAyMDUuMyAxNC45IDAgMjkuNy0xLjcgNDMuOC00LjcgMTkgMTQuNiA0Mi42IDIzLjMgNjguMiAyMy4zIDYxLjggMCAxMTItNTAuMiAxMTItMTEyIC4xLTI1LjYtOC42LTQ5LjItMjMuMi02OC4xem0tMTk0LjYgOTEuNWMtNjUuNiAwLTEyMC41LTI5LjItMTIwLjUtNjUgMC0xNiA5LTMwLjYgMjkuNS0zMC42IDMxLjIgMCAzNC4xIDQ0LjkgODguMSA0NC45IDI1LjcgMCA0Mi4zLTExLjQgNDIuMy0yNi4zIDAtMTguNy0xNi0yMS42LTQyLTI4LTYyLjUtMTUuNC0xMTcuOC0yMi0xMTcuOC04Ny4yIDAtNTkuMiA1OC42LTgxLjEgMTA5LjEtODEuMSA1NS4xIDAgMTEwLjggMjEuOSAxMTAuOCA1NS40IDAgMTYuOS0xMS40IDMxLjgtMzAuMyAzMS44LTI4LjMgMC0yOS4yLTMzLjUtNzUtMzMuNS0yNS43IDAtNDIgNy00MiAyMi41IDAgMTkuOCAyMC44IDIxLjggNjkuMSAzMyA0MS40IDkuMyA5MC43IDI2LjggOTAuNyA3Ny42IDAgNTkuMS01Ny4xIDg2LjUtMTEyIDg2LjV6Il0sCiAgICAgICJzbGFjayI6IFs0NDgsIDUxMiwgW10sICJmMTk4IiwgIk0yNDQuMiAyMTcuNWwxOS4zIDU3LjctNTkuOCAyMC0xOS4zLTU3LjcgNTkuOC0yMHptNDEuNCAyNDMuN0MxMzEuNiA1MDcuNCA2NSA0NzEuNiAxOC44IDMxNy42UzguNCA5NyAxNjIuNCA1MC44QzMxNi40IDQuNiAzODMgNDAuNCA0MjkuMiAxOTQuNGM0Ni4yIDE1NCAxMC40IDIyMC42LTE0My42IDI2Ni44ek0zNjYuMiAyNjVjLTMuOS0xMi4yLTE3LjItMTguNi0yOS40LTE0LjdsLTI5IDkuNy0xOS4zLTU3LjcgMjktOS43YzEyLjItMy45IDE4LjYtMTcuMiAxNC43LTI5LjQtMy45LTEyLjItMTcuMi0xOC42LTI5LjQtMTQuN2wtMjkgOS43LTEwLTMwLjFjLTMuOS0xMi4yLTE3LjItMTguNi0yOS40LTE0LjctMTIuMiAzLjktMTguNiAxNy4yLTE0LjcgMjkuNGwxMCAzMC4xLTU5LjggMjAuMS0xMC0zMC4xYy0zLjktMTIuMi0xNy4yLTE4LjYtMjkuNC0xNC43LTEyLjIgMy45LTE4LjYgMTcuMi0xNC43IDI5LjRsMTAgMzAuMS0yOSA5LjdjLTEyLjIgMy45LTE4LjYgMTcuMi0xNC43IDI5LjQgMy4yIDkuMyAxMi4yIDE1LjQgMjEuNSAxNS44IDQuMy42IDcuNy0xIDM2LjktMTAuN2wxOS4zIDU3LjctMjkgOS43Yy0xMi4yIDMuOS0xOC42IDE3LjItMTQuNyAyOS40IDMuMiA5LjMgMTIuMiAxNS40IDIxLjUgMTUuOCA0LjMuNiA3LjctMSAzNi45LTEwLjdsMTAgMzAuMWMzLjcgMTAuOCAxNS44IDE4LjYgMjkuNCAxNC43IDEyLjItMy45IDE4LjYtMTcuMiAxNC43LTI5LjRsLTEwLTMwLjEgNTkuOC0yMC4xIDEwIDMwLjFjMy43IDEwLjggMTUuOCAxOC42IDI5LjQgMTQuNyAxMi4yLTMuOSAxOC42LTE3LjIgMTQuNy0yOS40bC0xMC0zMC4xIDI5LTkuN2MxMi4yLTQuMiAxOC42LTE3LjUgMTQuNy0yOS42eiJdLAogICAgICAic2xhY2staGFzaCI6IFs0NDgsIDUxMiwgW10sICJmM2VmIiwgIk00NDYuMiAyNzAuNGMtNi4yLTE5LTI2LjktMjkuMS00Ni0yMi45bC00NS40IDE1LjEtMzAuMy05MCA0NS40LTE1LjFjMTkuMS02LjIgMjkuMS0yNi44IDIzLTQ1LjktNi4yLTE5LTI2LjktMjkuMS00Ni0yMi45bC00NS40IDE1LjEtMTUuNy00N2MtNi4yLTE5LTI2LjktMjkuMS00Ni0yMi45LTE5LjEgNi4yLTI5LjEgMjYuOC0yMyA0NS45bDE1LjcgNDctOTMuNCAzMS4yLTE1LjctNDdjLTYuMi0xOS0yNi45LTI5LjEtNDYtMjIuOS0xOS4xIDYuMi0yOS4xIDI2LjgtMjMgNDUuOWwxNS43IDQ3LTQ1LjMgMTVjLTE5LjEgNi4yLTI5LjEgMjYuOC0yMyA0NS45IDUgMTQuNSAxOS4xIDI0IDMzLjYgMjQuNiA2LjggMSAxMi0xLjYgNTcuNy0xNi44bDMwLjMgOTBMNzggMzU0LjhjLTE5IDYuMi0yOS4xIDI2LjktMjMgNDUuOSA1IDE0LjUgMTkuMSAyNCAzMy42IDI0LjYgNi44IDEgMTItMS42IDU3LjctMTYuOGwxNS43IDQ3YzUuOSAxNi45IDI0LjcgMjkgNDYgMjIuOSAxOS4xLTYuMiAyOS4xLTI2LjggMjMtNDUuOWwtMTUuNy00NyA5My42LTMxLjMgMTUuNyA0N2M1LjkgMTYuOSAyNC43IDI5IDQ2IDIyLjkgMTkuMS02LjIgMjkuMS0yNi44IDIzLTQ1LjlsLTE1LjctNDcgNDUuNC0xNS4xYzE5LTYgMjkuMS0yNi43IDIyLjktNDUuN3ptLTI1NC4xIDQ3LjJsLTMwLjMtOTAuMiA5My41LTMxLjMgMzAuMyA5MC4yLTkzLjUgMzEuM3oiXSwKICAgICAgInNsaWRlc2hhcmUiOiBbNTEyLCA1MTIsIFtdLCAiZjFlNyIsICJNMjQ5LjQyOSAyMTEuNDM2YzAgMzEuNzE2LTI3LjcxNSA1Ny43MTctNjEuNzE3IDU3LjcxNy0zNC4wMDEgMC02MS43MTYtMjYuMDAxLTYxLjcxNi01Ny43MTcgMC0zMi4wMDEgMjcuNzE1LTU3LjcxNiA2MS43MTYtNTcuNzE2IDM0LjAwMSAwIDYxLjcxNyAyNS43MTUgNjEuNzE3IDU3LjcxNnptMjU0LjI5NCA1MC4wMDJjLTE4LjI4NiAyMi41NzMtNTMuMTQ0IDUwLjI4OC0xMDYuMjg5IDcyLjAwM0M0NTMuNzIyIDUyNS4xNjMgMjYwIDU1NS43MzUgMjYzLjE0MyA0NTcuNDQ2YzAgMS43MTQtLjI4Ni01Mi44NTktLjI4Ni05My40MzItNC4yODUtLjg1OC04LjU3MS0yLTEzLjcxNC0zLjE0MyAwIDQwLjg1OC0uMjg2IDk4LjI4OS0uMjg2IDk2LjU3NUMyNTIgNTU1LjczNSA1OC4yNzggNTI1LjE2MyAxMTQuNTY2IDMzMy40NDFjLTUzLjE0NS0yMS43MTUtODguMDAzLTQ5LjQzLTEwNi4yOS03Mi4wMDMtOS4xNDMtMTMuNzE0Ljg1OC0yOC4yODcgMTYuMDAxLTE3LjcxNSAyIDEuNDI4IDQuMjg1IDIuODU3IDYuMjg1IDQuMjg1VjQ5LjcxNkMzMC41NjMgMjIuMjg3IDUxLjEzNSAwIDc2LjU2NSAwaDM1OS4xNTdjMjUuNDI5IDAgNDYuMDAyIDIyLjI4NyA0Ni4wMDIgNDkuNzE2djE5OC4yOTNsNi00LjI4NWMxNS4xNDMtMTAuNTczIDI1LjE0MyA0IDE1Ljk5OSAxNy43MTR6bS00Ni41NzItMTg5LjE1YzAtMzIuODU4LTEwLjU3Mi00NS43MTYtNDAuODU5LTQ1LjcxNkg5OC41NjZjLTMxLjcxNiAwLTQwLjU3MyAxMC44NTgtNDAuNTczIDQ1LjcxNnYxOTIuMjkzYzY3LjcxNyAzNS40MyAxMjUuNzIgMjkuMTQ0IDE1Ny40MzUgMjguMDAxIDEzLjQyOS0uMjg2IDIyLjAwMSAyLjI4NiAyNy4xNDQgNy43MTUgMS42ODkgMS42ODcgMTAuMDIzIDkuNDQ2IDIwLjI4NyAxNy4xNDMgMS4xNDMtMTUuNzE1IDEwLjAwMS0yNS43MTUgMzMuNzE2LTI0Ljg1OCAzMi4yODcgMS40MjggOTEuNzE4IDcuNzE1IDE2MC41NzctMjkuNzE2VjcyLjI4OHpNMzMxLjE0NiAxNTMuNzJjLTM0LjAwMiAwLTYxLjcxNiAyNS43MTUtNjEuNzE2IDU3LjcxNiAwIDMxLjcxNiAyNy43MTUgNTcuNzE3IDYxLjcxNiA1Ny43MTcgMzQuMjg3IDAgNjEuNzE2LTI2LjAwMSA2MS43MTYtNTcuNzE3IDAtMzIuMDAxLTI3LjQyOS01Ny43MTYtNjEuNzE2LTU3LjcxNnoiXSwKICAgICAgInNuYXBjaGF0IjogWzQ5NiwgNTEyLCBbXSwgImYyYWIiLCAiTTI0OCA4QzExMSA4IDAgMTE5IDAgMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzg1IDggMjQ4IDh6bTE2OS41IDMzOC45Yy0zLjUgOC4xLTE4LjEgMTQtNDQuOCAxOC4yLTEuNCAxLjktMi41IDkuOC00LjMgMTUuOS0xLjEgMy43LTMuNyA1LjktOC4xIDUuOWgtLjJjLTYuMiAwLTEyLjgtMi45LTI1LjgtMi45LTE3LjYgMC0yMy43IDQtMzcuNCAxMy43LTE0LjUgMTAuMy0yOC40IDE5LjEtNDkuMiAxOC4yLTIxIDEuNi0zOC42LTExLjItNDguNS0xOC4yLTEzLjgtOS43LTE5LjgtMTMuNy0zNy40LTEzLjctMTIuNSAwLTIwLjQgMy4xLTI1LjggMy4xLTUuNCAwLTcuNS0zLjMtOC4zLTYtMS44LTYuMS0yLjktMTQuMS00LjMtMTYtMTMuOC0yLjEtNDQuOC03LjUtNDUuNS0yMS40LS4yLTMuNiAyLjMtNi44IDUuOS03LjQgNDYuMy03LjYgNjcuMS01NS4xIDY4LTU3LjEgMC0uMS4xLS4yLjItLjMgMi41LTUgMy05LjIgMS42LTEyLjUtMy40LTcuOS0xNy45LTEwLjctMjQtMTMuMi0xNS44LTYuMi0xOC0xMy40LTE3LTE4LjMgMS42LTguNSAxNC40LTEzLjggMjEuOS0xMC4zIDUuOSAyLjggMTEuMiA0LjIgMTUuNyA0LjIgMy4zIDAgNS41LS44IDYuNi0xLjQtMS40LTIzLjktNC43LTU4IDMuOC03Ny4xQzE4My4xIDEwMCAyMzAuNyA5NiAyNDQuNyA5NmMuNiAwIDYuMS0uMSA2LjctLjEgMzQuNyAwIDY4IDE3LjggODQuMyA1NC4zIDguNSAxOS4xIDUuMiA1My4xIDMuOCA3Ny4xIDEuMS42IDIuOSAxLjMgNS43IDEuNCA0LjMtLjIgOS4yLTEuNiAxNC43LTQuMiA0LTEuOSA5LjYtMS42IDEzLjYgMCA2LjMgMi4zIDEwLjMgNi44IDEwLjQgMTEuOS4xIDYuNS01LjcgMTIuMS0xNy4yIDE2LjYtMS40LjYtMy4xIDEuMS00LjkgMS43LTYuNSAyLjEtMTYuNCA1LjItMTkgMTEuNS0xLjQgMy4zLS44IDcuNSAxLjYgMTIuNS4xLjEuMS4yLjIuMy45IDIgMjEuNyA0OS41IDY4IDU3LjEgNCAxIDcuMSA1LjUgNC45IDEwLjh6Il0sCiAgICAgICJzbmFwY2hhdC1naG9zdCI6IFs1MTIsIDUxMiwgW10sICJmMmFjIiwgIk01MTAuODQ2IDM5Mi42NzNjLTUuMjExIDEyLjE1Ny0yNy4yMzkgMjEuMDg5LTY3LjM2IDI3LjMxOC0yLjA2NCAyLjc4Ni0zLjc3NSAxNC42ODYtNi41MDcgMjMuOTU2LTEuNjI1IDUuNTY2LTUuNjIzIDguODY5LTEyLjEyOCA4Ljg2OWwtLjI5Ny0uMDA1Yy05LjM5NSAwLTE5LjIwMy00LjMyMy0zOC44NTItNC4zMjMtMjYuNTIxIDAtMzUuNjYyIDYuMDQzLTU2LjI1NCAyMC41ODgtMjEuODMyIDE1LjQzOC00Mi43NzEgMjguNzY0LTc0LjAyNyAyNy4zOTktMzEuNjQ2IDIuMzM0LTU4LjAyNS0xNi45MDgtNzIuODcxLTI3LjQwNC0yMC43MTQtMTQuNjQzLTI5LjgyOC0yMC41ODItNTYuMjQxLTIwLjU4Mi0xOC44NjQgMC0zMC43MzYgNC43Mi0zOC44NTIgNC43Mi04LjA3MyAwLTExLjIxMy00LjkyMi0xMi40MjItOS4wNC0yLjcwMy05LjE4OS00LjQwNC0yMS4yNjMtNi41MjMtMjQuMTMtMjAuNjc5LTMuMjA5LTY3LjMxLTExLjM0NC02OC40OTgtMzIuMTVhMTAuNjI3IDEwLjYyNyAwIDAgMSA4Ljg3Ny0xMS4wNjljNjkuNTgzLTExLjQ1NSAxMDAuOTI0LTgyLjkwMSAxMDIuMjI3LTg1LjkzNC4wNzQtLjE3Ni4xNTUtLjM0NC4yMzctLjUxNSAzLjcxMy03LjUzNyA0LjU0NC0xMy44NDkgMi40NjMtMTguNzUzLTUuMDUtMTEuODk2LTI2Ljg3Mi0xNi4xNjQtMzYuMDUzLTE5Ljc5Ni0yMy43MTUtOS4zNjYtMjcuMDE1LTIwLjEyOC0yNS42MTItMjcuNTA0IDIuNDM3LTEyLjgzNiAyMS43MjUtMjAuNzM1IDMzLjAwMi0xNS40NTMgOC45MTkgNC4xODEgMTYuODQzIDYuMjk3IDIzLjU0NyA2LjI5NyA1LjAyMiAwIDguMjEyLTEuMjA0IDkuOTYtMi4xNzEtMi4wNDMtMzUuOTM2LTcuMTAxLTg3LjI5IDUuNjg3LTExNS45NjlDMTU4LjEyMiAyMS4zMDQgMjI5LjcwNSAxNS40MiAyNTAuODI2IDE1LjQyYy45NDQgMCA5LjE0MS0uMDg5IDEwLjExLS4wODkgNTIuMTQ4IDAgMTAyLjI1NCAyNi43OCAxMjYuNzIzIDgxLjY0MyAxMi43NzcgMjguNjUgNy43NDkgNzkuNzkyIDUuNjk1IDExNi4wMDkgMS41ODIuODcyIDQuMzU3IDEuOTQyIDguNTk5IDIuMTM5IDYuMzk3LS4yODYgMTMuODE1LTIuMzg5IDIyLjA2OS02LjI1NyA2LjA4NS0yLjg0NiAxNC40MDYtMi40NjEgMjAuNDguMDU4bC4wMjkuMDFjOS40NzYgMy4zODUgMTUuNDM5IDEwLjIxNSAxNS41ODkgMTcuODcuMTg0IDkuNzQ3LTguNTIyIDE4LjE2NS0yNS44NzggMjUuMDE4LTIuMTE4LjgzNS00LjY5NCAxLjY1NS03LjQzNCAyLjUyNS05Ljc5NyAzLjEwNi0yNC42IDcuODA1LTI4LjYxNiAxNy4yNzEtMi4wNzkgNC45MDQtMS4yNTYgMTEuMjExIDIuNDYgMTguNzQ4LjA4Ny4xNjguMTY2LjM0Mi4yMzkuNTE1IDEuMzAxIDMuMDMgMzIuNjE1IDc0LjQ2IDEwMi4yMyA4NS45MzQgNi40MjcgMS4wNTggMTEuMTYzIDcuODc3IDcuNzI1IDE1Ljg1OXoiXSwKICAgICAgInNuYXBjaGF0LXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMmFkIiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0tNi41IDMxNC45Yy0zLjUgOC4xLTE4LjEgMTQtNDQuOCAxOC4yLTEuNCAxLjktMi41IDkuOC00LjMgMTUuOS0xLjEgMy43LTMuNyA1LjktOC4xIDUuOWgtLjJjLTYuMiAwLTEyLjgtMi45LTI1LjgtMi45LTE3LjYgMC0yMy43IDQtMzcuNCAxMy43LTE0LjUgMTAuMy0yOC40IDE5LjEtNDkuMiAxOC4yLTIxIDEuNi0zOC42LTExLjItNDguNS0xOC4yLTEzLjgtOS43LTE5LjgtMTMuNy0zNy40LTEzLjctMTIuNSAwLTIwLjQgMy4xLTI1LjggMy4xLTUuNCAwLTcuNS0zLjMtOC4zLTYtMS44LTYuMS0yLjktMTQuMS00LjMtMTYtMTMuOC0yLjEtNDQuOC03LjUtNDUuNS0yMS40LS4yLTMuNiAyLjMtNi44IDUuOS03LjQgNDYuMy03LjYgNjcuMS01NS4xIDY4LTU3LjEgMC0uMS4xLS4yLjItLjMgMi41LTUgMy05LjIgMS42LTEyLjUtMy40LTcuOS0xNy45LTEwLjctMjQtMTMuMi0xNS44LTYuMi0xOC0xMy40LTE3LTE4LjMgMS42LTguNSAxNC40LTEzLjggMjEuOS0xMC4zIDUuOSAyLjggMTEuMiA0LjIgMTUuNyA0LjIgMy4zIDAgNS41LS44IDYuNi0xLjQtMS40LTIzLjktNC43LTU4IDMuOC03Ny4xQzE1OS4xIDEwMCAyMDYuNyA5NiAyMjAuNyA5NmMuNiAwIDYuMS0uMSA2LjctLjEgMzQuNyAwIDY4IDE3LjggODQuMyA1NC4zIDguNSAxOS4xIDUuMiA1My4xIDMuOCA3Ny4xIDEuMS42IDIuOSAxLjMgNS43IDEuNCA0LjMtLjIgOS4yLTEuNiAxNC43LTQuMiA0LTEuOSA5LjYtMS42IDEzLjYgMCA2LjMgMi4zIDEwLjMgNi44IDEwLjQgMTEuOS4xIDYuNS01LjcgMTIuMS0xNy4yIDE2LjYtMS40LjYtMy4xIDEuMS00LjkgMS43LTYuNSAyLjEtMTYuNCA1LjItMTkgMTEuNS0xLjQgMy4zLS44IDcuNSAxLjYgMTIuNS4xLjEuMS4yLjIuMy45IDIgMjEuNyA0OS41IDY4IDU3LjEgNCAxIDcuMSA1LjUgNC45IDEwLjh6Il0sCiAgICAgICJzb3VuZGNsb3VkIjogWzY0MCwgNTEyLCBbXSwgImYxYmUiLCAiTTExMS40IDI1Ni4zbDUuOCA2NS01LjggNjguM2MtLjMgMi41LTIuMiA0LjQtNC40IDQuNHMtNC4yLTEuOS00LjItNC40bC01LjYtNjguMyA1LjYtNjVjMC0yLjIgMS45LTQuMiA0LjItNC4yIDIuMiAwIDQuMSAyIDQuNCA0LjJ6bTIxLjQtNDUuNmMtMi44IDAtNC43IDIuMi01IDVsLTUgMTA1LjYgNSA2OC4zYy4zIDIuOCAyLjIgNSA1IDUgMi41IDAgNC43LTIuMiA0LjctNWw1LjgtNjguMy01LjgtMTA1LjZjMC0yLjgtMi4yLTUtNC43LTV6bTI1LjUtMjQuMWMtMy4xIDAtNS4zIDIuMi01LjYgNS4zbC00LjQgMTMwIDQuNCA2Ny44Yy4zIDMuMSAyLjUgNS4zIDUuNiA1LjMgMi44IDAgNS4zLTIuMiA1LjMtNS4zbDUuMy02Ny44LTUuMy0xMzBjMC0zLjEtMi41LTUuMy01LjMtNS4zek03LjIgMjgzLjJjLTEuNCAwLTIuMiAxLjEtMi41IDIuNUwwIDMyMS4zbDQuNyAzNWMuMyAxLjQgMS4xIDIuNSAyLjUgMi41czIuMi0xLjEgMi41LTIuNWw1LjYtMzUtNS42LTM1LjZjLS4zLTEuNC0xLjEtMi41LTIuNS0yLjV6bTIzLjYtMjEuOWMtMS40IDAtMi41IDEuMS0yLjUgMi41bC02LjQgNTcuNSA2LjQgNTYuMWMwIDEuNyAxLjEgMi44IDIuNSAyLjhzMi41LTEuMSAyLjgtMi41bDcuMi01Ni40LTcuMi01Ny41Yy0uMy0xLjQtMS40LTIuNS0yLjgtMi41em0yNS4zLTExLjRjLTEuNyAwLTMuMSAxLjQtMy4zIDMuM0w0NyAzMjEuM2w1LjggNjUuOGMuMyAxLjcgMS43IDMuMSAzLjMgMy4xIDEuNyAwIDMuMS0xLjQgMy4xLTMuMWw2LjktNjUuOC02LjktNjguMWMwLTEuOS0xLjQtMy4zLTMuMS0zLjN6bTI1LjMtMi4yYy0xLjkgMC0zLjYgMS40LTMuNiAzLjZsLTUuOCA3MCA1LjggNjcuOGMwIDIuMiAxLjcgMy42IDMuNiAzLjZzMy42LTEuNCAzLjktMy42bDYuNC02Ny44LTYuNC03MGMtLjMtMi4yLTItMy42LTMuOS0zLjZ6bTI0MS40LTExMC45Yy0xLjEtLjgtMi44LTEuNC00LjItMS40LTIuMiAwLTQuMi44LTUuNiAxLjktMS45IDEuNy0zLjEgNC4yLTMuMyA2Ljd2LjhsLTMuMyAxNzYuNyAxLjcgMzIuNSAxLjcgMzEuN2MuMyA0LjcgNC4yIDguNiA4LjkgOC42czguNi0zLjkgOC42LTguNmwzLjktNjQuMi0zLjktMTc3LjVjLS40LTMtMi01LjgtNC41LTcuMnptLTI2LjcgMTUuM2MtMS40LS44LTIuOC0xLjQtNC40LTEuNHMtMy4xLjYtNC40IDEuNGMtMi4yIDEuNC0zLjYgMy45LTMuNiA2LjdsLS4zIDEuNy0yLjggMTYwLjhzMCAuMyAzLjEgNjUuNnYuM2MwIDEuNy42IDMuMyAxLjcgNC43IDEuNyAxLjkgMy45IDMuMSA2LjQgMy4xIDIuMiAwIDQuMi0xLjEgNS42LTIuNSAxLjctMS40IDIuNS0zLjMgMi41LTUuNmwuMy02LjcgMy4xLTU4LjYtMy4zLTE2Mi44Yy0uMy0yLjgtMS43LTUuMy0zLjktNi43em0tMTExLjQgMjIuNWMtMy4xIDAtNS44IDIuOC01LjggNi4xbC00LjQgMTQwLjYgNC40IDY3LjJjLjMgMy4zIDIuOCA1LjggNS44IDUuOCAzLjMgMCA1LjgtMi41IDYuMS01LjhsNS02Ny4yLTUtMTQwLjZjLS4yLTMuMy0yLjctNi4xLTYuMS02LjF6bTM3Ni43IDYyLjhjLTEwLjggMC0yMS4xIDIuMi0zMC42IDYuMS02LjQtNzAuOC02NS44LTEyNi40LTEzOC4zLTEyNi40LTE3LjggMC0zNSAzLjMtNTAuMyA5LjQtNi4xIDIuMi03LjggNC40LTcuOCA5LjJ2MjQ5LjdjMCA1IDMuOSA4LjYgOC42IDkuMmgyMTguM2M0My4zIDAgNzguNi0zNSA3OC42LTc4LjMuMS00My42LTM1LjItNzguOS03OC41LTc4Ljl6bS0yOTYuNy02MC4zYy00LjIgMC03LjUgMy4zLTcuOCA3LjhsLTMuMyAxMzYuNyAzLjMgNjUuNmMuMyA0LjIgMy42IDcuNSA3LjggNy41IDQuMiAwIDcuNS0zLjMgNy41LTcuNWwzLjktNjUuNi0zLjktMTM2LjdjLS4zLTQuNS0zLjMtNy44LTcuNS03Ljh6bS01My42LTcuOGMtMy4zIDAtNi40IDMuMS02LjQgNi43bC0zLjkgMTQ1LjMgMy45IDY2LjljLjMgMy42IDMuMSA2LjQgNi40IDYuNCAzLjYgMCA2LjQtMi44IDYuNy02LjRsNC40LTY2LjktNC40LTE0NS4zYy0uMy0zLjYtMy4xLTYuNy02LjctNi43em0yNi43IDMuNGMtMy45IDAtNi45IDMuMS02LjkgNi45TDIyNyAzMjEuM2wzLjkgNjYuNGMuMyAzLjkgMy4xIDYuOSA2LjkgNi45czYuOS0zLjEgNi45LTYuOWw0LjItNjYuNC00LjItMTQxLjdjMC0zLjktMy02LjktNi45LTYuOXoiXSwKICAgICAgInNwZWFrYXAiOiBbNDQ4LCA1MTIsIFtdLCAiZjNmMyIsICJNMzUyIDMySDk2QzQzLjIgMzIgMCA3NS4yIDAgMTI4djI1NmMwIDUyLjggNDMuMiA5NiA5NiA5NmgyNTZjNTIuOCAwIDk2LTQzLjIgOTYtOTZWMTI4YzAtNTIuOC00My4yLTk2LTk2LTk2ek0yMjEgMzgyLjljLTM5LjYgMC04MS45LTE3LjgtODEuOS01My43VjMwMkgxNzl2MTcuOGMwIDE1LjEgMTkuNSAyNC41IDQxLjkgMjQuNSAyNC4yIDAgNDEuMy0xMC40IDQxLjMtMjkuNSAwLTIzLjgtMjcuMi0zMS45LTU0LjctNDIuNi0zMS45LTEyLjQtNjMuMS0yNi4yLTYzLjEtNjkuMSAwLTQ4IDM4LjYtNjYuNCA3OS45LTY2LjQgMzcuNiAwIDc1LjUgMTQuMSA3NS41IDQxLjl2MzEuMmgtMzkuOXYtMTYuMWMwLTEyLjEtMTcuOC0xOC41LTM1LjYtMTguNS0xOS41IDAtMzUuNiA4LjEtMzUuNiAyNi4yIDAgMjIuMSAyMi41IDI5LjIgNDcgMzguOSAzNS45IDEyLjQgNzEuMSAyNy4yIDcxLjEgNzEuNS4xIDQ4LjYtNDAuOCA3MS4xLTg1LjggNzEuMXoiXSwKICAgICAgInNwb3RpZnkiOiBbNDk2LCA1MTIsIFtdLCAiZjFiYyIsICJNMjQ4IDhDMTExLjEgOCAwIDExOS4xIDAgMjU2czExMS4xIDI0OCAyNDggMjQ4IDI0OC0xMTEuMSAyNDgtMjQ4UzM4NC45IDggMjQ4IDh6bTEwMC43IDM2NC45Yy00LjIgMC02LjgtMS4zLTEwLjctMy42LTYyLjQtMzcuNi0xMzUtMzkuMi0yMDYuNy0yNC41LTMuOSAxLTkgMi42LTExLjkgMi42LTkuNyAwLTE1LjgtNy43LTE1LjgtMTUuOCAwLTEwLjMgNi4xLTE1LjIgMTMuNi0xNi44IDgxLjktMTguMSAxNjUuNi0xNi41IDIzNyAyNi4yIDYuMSAzLjkgOS43IDcuNCA5LjcgMTYuNXMtNy4xIDE1LjQtMTUuMiAxNS40em0yNi45LTY1LjZjLTUuMiAwLTguNy0yLjMtMTIuMy00LjItNjIuNS0zNy0xNTUuNy01MS45LTIzOC42LTI5LjQtNC44IDEuMy03LjQgMi42LTExLjkgMi42LTEwLjcgMC0xOS40LTguNy0xOS40LTE5LjRzNS4yLTE3LjggMTUuNS0yMC43YzI3LjgtNy44IDU2LjItMTMuNiA5Ny44LTEzLjYgNjQuOSAwIDEyNy42IDE2LjEgMTc3IDQ1LjUgOC4xIDQuOCAxMS4zIDExIDExLjMgMTkuNy0uMSAxMC44LTguNSAxOS41LTE5LjQgMTkuNXptMzEtNzYuMmMtNS4yIDAtOC40LTEuMy0xMi45LTMuOS03MS4yLTQyLjUtMTk4LjUtNTIuNy0yODAuOS0yOS43LTMuNiAxLTguMSAyLjYtMTIuOSAyLjYtMTMuMiAwLTIzLjMtMTAuMy0yMy4zLTIzLjYgMC0xMy42IDguNC0yMS4zIDE3LjQtMjMuOSAzNS4yLTEwLjMgNzQuNi0xNS4yIDExNy41LTE1LjIgNzMgMCAxNDkuNSAxNS4yIDIwNS40IDQ3LjggNy44IDQuNSAxMi45IDEwLjcgMTIuOSAyMi42IDAgMTMuNi0xMSAyMy4zLTIzLjIgMjMuM3oiXSwKICAgICAgInN0YWNrLWV4Y2hhbmdlIjogWzQ0OCwgNTEyLCBbXSwgImYxOGQiLCAiTTE3LjcgMzMyLjNoNDEyLjd2MjJjMCAzNy43LTI5LjMgNjgtNjUuMyA2OGgtMTlMMjU5LjMgNTEydi04OS43SDgzYy0zNiAwLTY1LjMtMzAuMy02NS4zLTY4di0yMnptMC0yMy42aDQxMi43di04NUgxNy43djg1em0wLTEwOS40aDQxMi43di04NUgxNy43djg1ek0zNjUgMEg4M0M0NyAwIDE3LjcgMzAuMyAxNy43IDY3LjdWOTBoNDEyLjdWNjcuN0M0MzAuMyAzMC4zIDQwMSAwIDM2NSAweiJdLAogICAgICAic3RhY2stb3ZlcmZsb3ciOiBbMzg0LCA1MTIsIFtdLCAiZjE2YyIsICJNMjkzLjcgMzAwbC0xODEuMi04NC41IDE2LjctMzYuNSAxODEuMyA4NC43LTE2LjggMzYuM3ptNDgtNzZMMTg4LjIgOTUuN2wtMjUuNSAzMC44IDE1My41IDEyOC4zIDI1LjUtMzAuOHptMzkuNi0zMS43TDI2MiAzMmwtMzIgMjQgMTE5LjMgMTYwLjMgMzItMjR6TTI5MC43IDMxMUw5NSAyNjkuNyA4Ni44IDMwOWwxOTUuNyA0MSA4LjItMzl6bTMxLjYgMTI5SDQyLjdWMzIwaC00MHYxNjBoMzU5LjVWMzIwaC00MHYxMjB6bS0zOS44LTgwaC0yMDB2MzkuN2gyMDBWMzYweiJdLAogICAgICAic3RheWxpbmtlZCI6IFs0NDAsIDUxMiwgW10sICJmM2Y1IiwgIk0yMDEuNiAxMjcuNGM0LjEtMy4yIDEwLjMtMyAxMy44LjVsMTcwIDE2Ny4zLTIuNy0yLjcgNDQuMyA0MS4zYzMuNyAzLjUgMy4zIDktLjcgMTIuMmwtMTk4IDE2My45Yy05LjkgNy42LTE3LjMuOC0xNy4zLjhMMi4zIDMxNC42Yy0zLjUtMy41LTMtOSAxLjItMTIuMmw0NS44LTM0LjljNC4yLTMuMiAxMC40LTMgMTMuOS41bDE1MS45IDE0Ny41YzMuNyAzLjUgMTAgMy43IDE0LjIuNGw5My4yLTc0YzQuMS0zLjIgNC41LTguNy45LTEyLjJsLTg0LTgxLjNjLTMuNi0zLjUtOS45LTMuNy0xNC0uNWwtLjEuMWMtNC4xIDMuMi0xMC40IDMtMTQtLjVsLTY4LjEtNjQuM2MtMy41LTMuNS0zLjEtOSAxLjEtMTIuMmw1Ny4zLTQzLjZtMTQuOCAyNTcuM2MzLjcgMy41IDEwLjEgMy43IDE0LjMuNGw1MC4yLTM4LjgtLjMtLjMgNy43LTZjNC4yLTMuMiA0LjYtOC43LjktMTIuMmwtNTcuMS01NC40Yy0zLjYtMy41LTEwLTMuNy0xNC4yLS41bC0uMS4xYy00LjIgMy4yLTEwLjUgMy4xLTE0LjItLjRMMTA5IDE4MC44Yy0zLjYtMy41LTMuMS04LjkgMS4xLTEyLjJsOTIuMi03MS41YzQuMS0zLjIgMTAuMy0zIDEzLjkuNWwxNjAuNCAxNTljMy43IDMuNSAxMCAzLjcgMTQuMS41bDQ1LjgtMzUuOGM0LjEtMy4yIDQuNC04LjcuNy0xMi4yTDIyNi43IDIuNWMtMS41LTEuMi04LTUuNS0xNi4zIDEuMUwzLjYgMTY1LjdjLTQuMiAzLjItNC44IDguNy0xLjIgMTIuMmw0Mi4zIDQxLjciXSwKICAgICAgInN0ZWFtIjogWzQ5NiwgNTEyLCBbXSwgImYxYjYiLCAiTTQ5NiAyNTZjMCAxMzctMTExLjIgMjQ4LTI0OC40IDI0OC0xMTMuOCAwLTIwOS42LTc2LjMtMjM5LTE4MC40bDk1LjIgMzkuM2M2LjQgMzIuMSAzNC45IDU2LjQgNjguOSA1Ni40IDM5LjIgMCA3MS45LTMyLjQgNzAuMi03My41bDg0LjUtNjAuMmM1Mi4xIDEuMyA5NS44LTQwLjkgOTUuOC05My41IDAtNTEuNi00Mi05My41LTkzLjctOTMuNXMtOTMuNyA0Mi05My43IDkzLjV2MS4yTDE3Ni42IDI3OWMtMTUuNS0uOS0zMC43IDMuNC00My41IDEyLjFMMCAyMzYuMUMxMC4yIDEwOC40IDExNy4xIDggMjQ3LjYgOCAzODQuOCA4IDQ5NiAxMTkgNDk2IDI1NnpNMTU1LjcgMzg0LjNsLTMwLjUtMTIuNmE1Mi43OSA1Mi43OSAwIDAgMCAyNy4yIDI1LjhjMjYuOSAxMS4yIDU3LjgtMS42IDY5LTI4LjQgNS40LTEzIDUuNS0yNy4zLjEtNDAuMy01LjQtMTMtMTUuNS0yMy4yLTI4LjUtMjguNi0xMi45LTUuNC0yNi43LTUuMi0zOC45LS42bDMxLjUgMTNjMTkuOCA4LjIgMjkuMiAzMC45IDIwLjkgNTAuNy04LjMgMTkuOS0zMSAyOS4yLTUwLjggMjF6bTE3My44LTEyOS45Yy0zNC40IDAtNjIuNC0yOC02Mi40LTYyLjNzMjgtNjIuMyA2Mi40LTYyLjMgNjIuNCAyOCA2Mi40IDYyLjMtMjcuOSA2Mi4zLTYyLjQgNjIuM3ptLjEtMTUuNmMyNS45IDAgNDYuOS0yMSA0Ni45LTQ2LjggMC0yNS45LTIxLTQ2LjgtNDYuOS00Ni44cy00Ni45IDIxLTQ2LjkgNDYuOGMuMSAyNS44IDIxLjEgNDYuOCA0Ni45IDQ2Ljh6Il0sCiAgICAgICJzdGVhbS1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjFiNyIsICJNMTg1LjIgMzU2LjVjNy43LTE4LjUtMS0zOS43LTE5LjYtNDcuNGwtMjkuNS0xMi4yYzExLjQtNC4zIDI0LjMtNC41IDM2LjQuNSAxMi4yIDUuMSAyMS42IDE0LjYgMjYuNyAyNi43IDUgMTIuMiA1IDI1LjYtLjEgMzcuNy0xMC41IDI1LjEtMzkuNCAzNy02NC42IDI2LjUtMTEuNi00LjgtMjAuNC0xMy42LTI1LjQtMjQuMmwyOC41IDExLjhjMTguNiA3LjggMzkuOS0uOSA0Ny42LTE5LjR6TTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjE2MC43bDExNi42IDQ4LjFjMTItOC4yIDI2LjItMTIuMSA0MC43LTExLjNsNTUuNC04MC4ydi0xLjFjMC00OC4yIDM5LjMtODcuNSA4Ny42LTg3LjVzODcuNiAzOS4zIDg3LjYgODcuNWMwIDQ5LjItNDAuOSA4OC43LTg5LjYgODcuNWwtNzkgNTYuM2MxLjYgMzguNS0yOS4xIDY4LjgtNjUuNyA2OC44LTMxLjggMC01OC41LTIyLjctNjQuNS01Mi43TDAgMzE5LjJWNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHptLTk5LjcgMjIyLjVjLTMyLjIgMC01OC40LTI2LjEtNTguNC01OC4zczI2LjItNTguMyA1OC40LTU4LjMgNTguNCAyNi4yIDU4LjQgNTguMy0yNi4yIDU4LjMtNTguNCA1OC4zem0uMS0xNC42YzI0LjIgMCA0My45LTE5LjYgNDMuOS00My44IDAtMjQuMi0xOS42LTQzLjgtNDMuOS00My44LTI0LjIgMC00My45IDE5LjYtNDMuOSA0My44IDAgMjQuMiAxOS43IDQzLjggNDMuOSA0My44eiJdLAogICAgICAic3RlYW0tc3ltYm9sIjogWzQ0OCwgNTEyLCBbXSwgImYzZjYiLCAiTTM5NS41IDE3Ny41YzAgMzMuOC0yNy41IDYxLTYxIDYxLTMzLjggMC02MS0yNy4zLTYxLTYxczI3LjMtNjEgNjEtNjFjMzMuNSAwIDYxIDI3LjIgNjEgNjF6bTUyLjUuMmMwIDYzLTUxIDExMy44LTExMy43IDExMy44TDIyNSAzNzEuM2MtNCA0My00MC41IDc2LjgtODQuNSA3Ni44LTQwLjUgMC03NC43LTI4LjgtODMtNjdMMCAzNThWMjUwLjdMOTcuMiAyOTBjMTUuMS05LjIgMzIuMi0xMy4zIDUyLTExLjVsNzEtMTAxLjdjLjUtNjIuMyA1MS41LTExMi44IDExNC0xMTIuOEMzOTcgNjQgNDQ4IDExNSA0NDggMTc3Ljd6TTIwMyAzNjNjMC0zNC43LTI3LjgtNjIuNS02Mi41LTYyLjUtNC41IDAtOSAuNS0xMy41IDEuNWwyNiAxMC41YzI1LjUgMTAuMiAzOCAzOSAyNy43IDY0LjUtMTAuMiAyNS41LTM5LjIgMzgtNjQuNyAyNy41LTEwLjItNC0yMC41LTguMy0zMC43LTEyLjIgMTAuNSAxOS43IDMxLjIgMzMuMiA1NS4yIDMzLjIgMzQuNyAwIDYyLjUtMjcuOCA2Mi41LTYyLjV6bTIwNy41LTE4NS4zYzAtNDItMzQuMy03Ni4yLTc2LjItNzYuMi00Mi4zIDAtNzYuNSAzNC4yLTc2LjUgNzYuMiAwIDQyLjIgMzQuMyA3Ni4yIDc2LjUgNzYuMiA0MS45LjEgNzYuMi0zMy45IDc2LjItNzYuMnoiXSwKICAgICAgInN0aWNrZXItbXVsZSI6IFs1NzYsIDUxMiwgW10sICJmM2Y3IiwgIk0zNTMuMSA1MDkuOGMtNS45IDIuOS0zMi4xIDMuMi0zNi41LS41LTQuMS0zLTIuMi0xMS45LTEuNS0xNSAyLjItMTUtMi41LTcuOS05LjgtMTEuNS0zLjEtMS41LTQuMS01LjUtNC42LTEwLS41LTEuNS0xLTIuNS0xLjUtMy41LTEuNy0xMC43IDYuOC0zMy42IDguMi00My40IDQuOS0yMy43LS43LTM3LjIgMS41LTQ2LjkgMy43LTE2LjIgNC4xLTMuNSA0LjEtMjkuOS0xLjQtMjUuOSAzLjMtMzYuOS41LTM4LjktMTQuOCAwLTY0LjMgMTAuNy0xMTIuMiAyLTQ2LjEtOC45LTU5LjQtMjktNjUuNC0zMC45LTEwLjMtNC41LTIzLjIuNS0yNy4zIDctLjEuMS0zNSA3MC42LTM5LjYgODcuOC02LjIgMjAuNS0uNSA0Ny40IDQuMSA2Ni44IDAgLjEgNC41IDE0LjYgMTAuMyAxOS41IDIuMSAxLjUgNS4xIDIuNSA3LjIgNC41IDIuOCAyLjcgOS40IDE1LjIgOS44IDE2IDIuNiA0LjUgMy42IDgtMS41IDEwLjUtMy42IDItOS4zIDIuNS0xNC40IDIuNS0yLjYuNS0xLjUgMy41LTMuMSA1LTIuOSAyLjgtMjAuNyA2LjEtMjkuOSAyLjUtMi42LTEtNS43LTMtNi4yLTUtMS41LTQgMi4xLTktMS0xMi41LTQuNS0yLjktMTMuMS0yLTE3LTEyLTIuMi01LjQtMi42LTcuNi0yLjYtNDkuNCAwLTkuNy01LjktMzguNy04LjItNDYuOS0xLjUtNS41LTEuNS0xMS41IDAtMTYgLjMtLjkgNC4xLTQuNiA0LjEtMTMtMS0xLjUtNC42LS41LTUuMS0xLjUtMTAuNC04MC42LTUuOS03OS03LjctOTguMy0xLjUtMTYtMTAuOS00My45LTYuNy02NC4zLjUtMi40IDMuNC0yMSAyNC4yLTM4LjkgMzEtMjYuNyA0OC40LTM4LjMgMTU5LTExLjUgMS4xLjQgNjYuMyAyMS4xIDExMC43LTkgMTUuNS0xMS4zIDI4LjgtMTEuMyAzNS41LTE2IC4xLS4xIDYxLjctNTIuMSA4Ny02NS4zIDQ3LjItMjkuNCA2OS45LTE2LjcgNzUuMS0xOCA0LjctMSAxMy40LTI1LjggMTctMjUuOCA1LjUgMCAxLjYgMjAuMiAzLjYgMjUuOS41IDIgMy42IDUgNi4yIDUgMi4zIDAgMS43LS44IDEwLjMtNSA4LjQtNS40IDE0LjktMTcuNiAyMC42LTE3IDExLjcgMS42LTE5IDQxLjYtMTkgNDYuOSAwIDIgLjIuOCA0LjYgOS41IDIuNiA1LjUgNC42IDEzLjUgNi4yIDIwIDguMyAyOS43IDUuNyAxNC42IDEzLjQgMzYuOSAyMC4yIDUwLjEgMjAuNiA0NS4yIDIwLjYgNTIuOSAwIDcuNS00LjEgMTEtNy4yIDE2LjUtMS41IDMtNC42IDcuNS03LjIgOC0yLjcuNyA3LTEuNS0xMy40IDIuNS03LjIgMS0xMy40LTQuNS0xNC45LTkuNS0xLjYtNC43IDIuOC0xMC4xLTExLjgtMjIuOS0xMC4zLTEwLTIxLjEtMTEuMy0zMS45LTE3LTkuOC01LjctMTEuOSAxLTE4IDgtMTggMjIuOS0zNCA0Ni45LTUyIDY5LjgtMTEuOCAxNS0yNC4yIDMwLjQtMzMuNSA0Ny40LTMuOSA2LjgtOS41IDI4LjEtMTAuMyAyOS45LTYuMiAxNy43LTUuNSAyNS44LTE2LjUgNjguMy0zLjEgMTAtNS43IDIxLjQtOC43IDMyLjQtMi4yIDYuOC03LjQgNDkuMy0uNSA1OS40IDIuMSAzLjUgOC43IDQuNSAxMS4zIDggLjEuMSA5LjYgMTguMiA5LjMgMjAgMCA2LjEtOS40IDUuNi0xMS4zIDYuNS00LjggMi45LTMuOCA1LjktNi40IDcuNCJdLAogICAgICAic3RyYXZhIjogWzM2OSwgNTEyLCBbXSwgImY0MjgiLCAiTTMwMS42IDI5MmwtNDMuOSA4OC4yLTQ0LjYtODguMmgtNjcuNmwxMTIuMiAyMjAgMTExLjUtMjIwaC02Ny42ek0xNTEuNCAwTDAgMjkyaDg5LjJsNjIuMi0xMTYuMUwyMTMuMSAyOTJoODguNUwxNTEuNCAweiJdLAogICAgICAic3RyaXBlIjogWzY0MCwgNTEyLCBbXSwgImY0MjkiLCAiTTY0MCAyNjEuNmMwLTQ1LjUtMjItODEuNC02NC4yLTgxLjRzLTY3LjkgMzUuOS02Ny45IDgxLjFjMCA1My41IDMwLjMgNzguMiA3My41IDc4LjIgMjEuMiAwIDM3LjEtNC44IDQ5LjItMTEuNXYtMzMuNGMtMTIuMSA2LjEtMjYgOS44LTQzLjYgOS44LTE3LjMgMC0zMi41LTYuMS0zNC41LTI2LjloODYuOWMuMi0yLjMuNi0xMS42LjYtMTUuOW0tODcuOS0xNi44YzAtMjAgMTIuMy0yOC40IDIzLjQtMjguNCAxMC45IDAgMjIuNSA4LjQgMjIuNSAyOC40aC00NS45em0tMTEyLjktNjQuNmMtMTcuNCAwLTI4LjYgOC4yLTM0LjggMTMuOWwtMi4zLTExSDM2M3YyMDQuOGw0NC40LTkuNC4xLTUwLjJjNi40IDQuNyAxNS45IDExLjIgMzEuNCAxMS4yIDMxLjggMCA2MC44LTIzLjIgNjAuOC03OS42LjEtNTEuNi0yOS4zLTc5LjctNjAuNS03OS43bS0xMC42IDEyMi41Yy0xMC40IDAtMTYuNi0zLjgtMjAuOS04LjRsLS4zLTY2YzQuNi01LjEgMTEtOC44IDIxLjItOC44IDE2LjIgMCAyNy40IDE4LjIgMjcuNCA0MS40LjEgMjMuOS0xMC45IDQxLjgtMjcuNCA0MS44TTM0Ni40IDEyNHYzNi4ybC00NC42IDkuNXYtMzYuMmw0NC42LTkuNW0tNDQuNSA1OS4yaDQ0LjZ2MTUzLjJoLTQ0LjZWMTgzLjJ6bS00Ny44IDEzLjFjMTAuNC0xOS4xIDMxLjEtMTUuMiAzNy4xLTEzLjFWMjI0Yy01LjctMS44LTIzLjQtNC41LTMzLjkgOS4zdjEwMy4xSDIxM1YxODMuMmgzOC40bDIuNyAxMy4xbS04OS0xMy4xaDMzLjdWMjIxaC0zMy43djYzLjJjMCAyNi4yIDI4IDE4IDMzLjcgMTUuN3YzMy44Yy01LjkgMy4yLTE2LjYgNS45LTMxLjIgNS45LTI2LjMgMC00Ni4xLTE3LTQ2LjEtNDMuM2wuMi0xNDIuNCA0My4zLTkuMi4xIDM4LjV6TTQ0LjkgMjI4LjNjMCAyMCA2Ny45IDEwLjUgNjcuOSA2My40IDAgMzItMjUuNCA0Ny44LTYyLjMgNDcuOC0xNS4zIDAtMzItMy00OC41LTEwLjF2LTQwYzE0LjkgOC4xIDMzLjkgMTQuMiA0OC42IDE0LjIgOS45IDAgMTctMi43IDE3LTEwLjkgMC0yMS4yLTY3LjUtMTMuMi02Ny41LTYyLjQgMC0zMS40IDI0LTUwLjIgNjAtNTAuMiAxNC43IDAgMjkuNCAyLjMgNDQuMSA4LjFWMjMwYy0xMy41LTcuMy0zMC43LTExLjQtNDQuMi0xMS40LTkuMy4xLTE1LjEgMi44LTE1LjEgOS43Il0sCiAgICAgICJzdHJpcGUtcyI6IFszNjIsIDUxMiwgW10sICJmNDJhIiwgIk0xNDQuMyAxNTQuNmMwLTIyLjMgMTguNi0zMC45IDQ4LjQtMzAuOSA0My40IDAgOTguNSAxMy4zIDE0MS45IDM2LjdWMjYuMUMyODcuMyA3LjIgMjQwLjEgMCAxOTIuOCAwIDc3LjEgMCAwIDYwLjQgMCAxNjEuNGMwIDE1Ny45IDIxNi44IDEzMi4zIDIxNi44IDIwMC40IDAgMjYuNC0yMi45IDM0LjktNTQuNyAzNC45LTQ3LjIgMC0xMDguMi0xOS41LTE1Ni4xLTQ1LjV2MTI4LjVjNTMgMjIuOCAxMDYuOCAzMi40IDE1NiAzMi40IDExOC42IDAgMjAwLjMtNTEgMjAwLjMtMTUzLjYgMC0xNzAuMi0yMTgtMTM5LjctMjE4LTIwMy45Il0sCiAgICAgICJzdHVkaW92aW5hcmkiOiBbNTEyLCA1MTIsIFtdLCAiZjNmOCIsICJNNDgwLjMgMTg3LjdsNC4yIDI4djI4bC0yNS4xIDQ0LjEtMzkuOCA3OC40LTU2LjEgNjcuNS03OS4xIDM3LjgtMTcuNyAyNC41LTcuNyAxMi05LjYgNHMxNy4zLTYzLjYgMTkuNC02My42YzIuMSAwIDIwLjMuNyAyMC4zLjdsNjYuNy0zOC42LTkyLjUgMjYuMS01NS45IDM2LjgtMjIuOCAyOC02LjYgMS40IDIwLjgtNzMuNiA2LjktNS41IDIwLjcgMTIuOSA4OC4zLTQ1LjIgNTYuOC01MS41IDE0LjgtNjguNC0xMjUuNCAyMy4zIDE1LjItMTguMi0xNzMuNC01My4zIDgxLjktMTAuNS0xNjYtMTIyLjlMMTMzLjUgMTA4IDMyLjIgMGwyNTIuOSAxMjYuNi0zMS41LTM4TDM3OCAxNjMgMjM0LjcgNjRsMTguNyAzOC40LTQ5LjYtMTguMUwxNTguMyAwbDE5NC42IDEyMkwzMTAgNjYuMmwxMDggOTYuNCAxMi04LjktMjEtMTYuNCA0LjItMzcuOEw0NTEgODkuMWwyOS4yIDI0LjcgMTEuNSA0LjItNyA2LjIgOC41IDEyLTEzLjEgNy40LTEwLjMgMjAuMiAxMC41IDIzLjl6Il0sCiAgICAgICJzdHVtYmxldXBvbiI6IFs1MTIsIDUxMiwgW10sICJmMWE0IiwgIk01MDIuOSAyNjZ2NjkuN2MwIDYyLjEtNTAuMyAxMTIuNC0xMTIuNCAxMTIuNC02MS44IDAtMTEyLjQtNDkuOC0xMTIuNC0xMTEuM3YtNzAuMmwzNC4zIDE2IDUxLjEtMTUuMlYzMzhjMCAxNC43IDEyIDI2LjUgMjYuNyAyNi41UzQxNyAzNTIuNyA0MTcgMzM4di03Mmg4NS45em0tMjI0LjctNTguMmwzNC4zIDE2IDUxLjEtMTUuMlYxNzNjMC02MC41LTUxLjEtMTA5LTExMi4xLTEwOS02MC44IDAtMTEyLjEgNDguMi0xMTIuMSAxMDguMnYxNjIuNGMwIDE0LjktMTIgMjYuNy0yNi43IDI2LjdTODYgMzQ5LjUgODYgMzM0LjZWMjY2SDB2NjkuN0MwIDM5Ny43IDUwLjMgNDQ4IDExMi40IDQ0OGM2MS42IDAgMTEyLjQtNDkuNSAxMTIuNC0xMTAuOFYxNzYuOWMwLTE0LjcgMTItMjYuNyAyNi43LTI2LjdzMjYuNyAxMiAyNi43IDI2Ljd2MzAuOXoiXSwKICAgICAgInN0dW1ibGV1cG9uLWNpcmNsZSI6IFs0OTYsIDUxMiwgW10sICJmMWEzIiwgIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4em0wIDE3Ny41Yy05LjggMC0xNy44IDgtMTcuOCAxNy44djEwNi45YzAgNDAuOS0zMy45IDczLjktNzQuOSA3My45LTQxLjQgMC03NC45LTMzLjUtNzQuOS03NC45di00Ni41aDU3LjN2NDUuOGMwIDEwIDggMTcuOCAxNy44IDE3LjhzMTcuOC03LjkgMTcuOC0xNy44VjIwMC4xYzAtNDAgMzQuMi03Mi4xIDc0LjctNzIuMSA0MC43IDAgNzQuNyAzMi4zIDc0LjcgNzIuNnYyMy43bC0zNC4xIDEwLjEtMjIuOS0xMC43di0yMC42Yy4xLTkuNi03LjktMTcuNi0xNy43LTE3LjZ6bTE2Ny42IDEyMy42YzAgNDEuNC0zMy41IDc0LjktNzQuOSA3NC45LTQxLjIgMC03NC45LTMzLjItNzQuOS03NC4yVjI2M2wyMi45IDEwLjcgMzQuMS0xMC4xdjQ3LjFjMCA5LjggOCAxNy42IDE3LjggMTcuNnMxNy44LTcuOSAxNy44LTE3LjZ2LTQ4aDU3LjNjLS4xIDQ1LjktLjEgNDYuNC0uMSA0Ni40eiJdLAogICAgICAic3VwZXJwb3dlcnMiOiBbNDQ4LCA1MTIsIFtdLCAiZjJkZCIsICJNNDQ4IDMyYy04My4zIDExLTE2Ni44IDIyLTI1MCAzMy05MiAxMi41LTE2My4zIDg2LjctMTY5IDE4MC0zLjMgNTUuNSAxOCAxMDkuNSA1Ny44IDE0OC4yTDAgNDgwYzgzLjMtMTEgMTY2LjUtMjIgMjQ5LjgtMzMgOTEuOC0xMi41IDE2My4zLTg2LjggMTY4LjctMTc5LjggMy41LTU1LjUtMTgtMTA5LjUtNTcuNy0xNDguMkw0NDggMzJ6bS03OS43IDIzMi4zYy00LjIgNzkuNS03NCAxMzkuMi0xNTIuOCAxMzQuNS03OS41LTQuNy0xNDAuNy03MS0xMzYuMy0xNTEgNC41LTc5LjIgNzQuMy0xMzkuMyAxNTMtMTM0LjUgNzkuMyA0LjcgMTQwLjUgNzEgMTM2LjEgMTUxeiJdLAogICAgICAic3VwcGxlIjogWzY0MCwgNTEyLCBbXSwgImYzZjkiLCAiTTY0MCAyNjIuNWMwIDY0LjEtMTA5IDExNi4xLTI0My41IDExNi4xLTI0LjggMC00OC42LTEuOC03MS4xLTUgNy43LjQgMTUuNS42IDIzLjQuNiAxMzQuNSAwIDI0My41LTU2LjkgMjQzLjUtMTI3LjEgMC0yOS40LTE5LjEtNTYuNC01MS4yLTc4IDYwIDIxLjEgOTguOSA1NS4xIDk4LjkgOTMuNHpNNDcuNyAyMjcuOWMtLjEtNzAuMiAxMDguOC0xMjcuMyAyNDMuMy0xMjcuNiA3LjkgMCAxNS42LjIgMjMuMy41LTIyLjUtMy4yLTQ2LjMtNC45LTcxLTQuOUMxMDguOCA5Ni4zLS4xIDE0OC41IDAgMjEyLjZjLjEgMzguMyAzOS4xIDcyLjMgOTkuMyA5My4zLTMyLjMtMjEuNS01MS41LTQ4LjYtNTEuNi03OHptNjAuMiAzOS45czEwLjUgMTMuMiAyOS4zIDEzLjJjMTcuOSAwIDI4LjQtMTEuNSAyOC40LTI1LjEgMC0yOC00MC4yLTI1LjEtNDAuMi0zOS43IDAtNS40IDUuMy05LjEgMTIuNS05LjEgNS43IDAgMTEuMyAyLjYgMTEuMyA2LjZ2My45aDE0LjJ2LTcuOWMwLTEyLjEtMTUuNC0xNi44LTI1LjQtMTYuOC0xNi41IDAtMjguNSAxMC4yLTI4LjUgMjQuMSAwIDI2LjYgNDAuMiAyNS40IDQwLjIgMzkuOSAwIDYuNi01LjggMTAuMS0xMi4zIDEwLjEtMTEuOSAwLTIwLjctMTAuMS0yMC43LTEwLjFsLTguOCAxMC45em0xMjAuOC03My42djU0LjRjMCAxMS4zLTcuMSAxNy44LTE3LjggMTcuOC0xMC43IDAtMTcuOC02LjUtMTcuOC0xNy43di01NC41aC0xNS44djU1YzAgMTguOSAxMy40IDMxLjkgMzMuNyAzMS45IDIwLjEgMCAzMy40LTEzIDMzLjQtMzEuOXYtNTVoLTE1Ljd6bTM0LjQgODUuNGgxNS44di0yOS41aDE1LjVjMTYgMCAyNy4yLTExLjUgMjcuMi0yOC4xcy0xMS4yLTI3LjgtMjcuMi0yNy44aC0zOS4xdjEzLjRoNy44djcyem0xNS44LTQzdi0yOS4xaDEyLjljOC43IDAgMTMuNyA1LjcgMTMuNyAxNC40IDAgOC45LTUuMSAxNC43LTE0IDE0LjdoLTEyLjZ6bTU3IDQzaDE1Ljh2LTI5LjVoMTUuNWMxNiAwIDI3LjItMTEuNSAyNy4yLTI4LjFzLTExLjItMjcuOC0yNy4yLTI3LjhoLTM5LjF2MTMuNGg3Ljh2NzJ6bTE1LjctNDN2LTI5LjFoMTIuOWM4LjcgMCAxMy43IDUuNyAxMy43IDE0LjQgMCA4LjktNSAxNC43LTE0IDE0LjdoLTEyLjZ6bTU3LjEgMzQuOGMwIDUuOCAyLjQgOC4yIDguMiA4LjJoMzcuNmM1LjggMCA4LjItMi40IDguMi04LjJ2LTEzaC0xNC4zdjUuMmMwIDEuNy0xIDIuNi0yLjYgMi42aC0xOC42Yy0xLjcgMC0yLjYtMS0yLjYtMi42di02MS4yYzAtNS43LTIuNC04LjItOC4yLTguMkg0MDF2MTMuNGg1LjJjMS43IDAgMi42IDEgMi42IDIuNnY2MS4yem02My40IDBjMCA1LjggMi40IDguMiA4LjIgOC4ySDUxOWM1LjcgMCA4LjItMi40IDguMi04LjJ2LTEzaC0xNC4zdjUuMmMwIDEuNy0xIDIuNi0yLjYgMi42aC0xOS43Yy0xLjcgMC0yLjYtMS0yLjYtMi42di0yMC4zaDI3Ljd2LTEzLjRINDg4di0yMi40aDE5LjJjMS43IDAgMi42IDEgMi42IDIuNnY1LjJINTI0di0xM2MwLTUuNy0yLjUtOC4yLTguMi04LjJoLTUxLjZ2MTMuNGg3Ljh2NjMuOXptNTguOS03NnY1LjloMS42di01LjloMi43di0xLjJoLTd2MS4yaDIuN3ptNS43LTEuMnY3LjFoMS41di01LjdsMi4zIDUuN2gxLjNsMi4zLTUuN3Y1LjdoMS41di03LjFoLTIuM2wtMi4xIDUuMS0yLjEtNS4xaC0yLjR6Il0sCiAgICAgICJ0ZWxlZ3JhbSI6IFs0OTYsIDUxMiwgW10sICJmMmM2IiwgIk0yNDggOEMxMTEgOCAwIDExOSAwIDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM4NSA4IDI0OCA4em0xMjEuOCAxNjkuOWwtNDAuNyAxOTEuOGMtMyAxMy42LTExLjEgMTYuOS0yMi40IDEwLjVsLTYyLTQ1LjctMjkuOSAyOC44Yy0zLjMgMy4zLTYuMSA2LjEtMTIuNSA2LjFsNC40LTYzLjEgMTE0LjktMTAzLjhjNS00LjQtMS4xLTYuOS03LjctMi41bC0xNDIgODkuNC02MS4yLTE5LjFjLTEzLjMtNC4yLTEzLjYtMTMuMyAyLjgtMTkuN2wyMzkuMS05Mi4yYzExLjEtNCAyMC44IDIuNyAxNy4yIDE5LjV6Il0sCiAgICAgICJ0ZWxlZ3JhbS1wbGFuZSI6IFs0NDgsIDUxMiwgW10sICJmM2ZlIiwgIk00NDYuNyA5OC42bC02Ny42IDMxOC44Yy01LjEgMjIuNS0xOC40IDI4LjEtMzcuMyAxNy41bC0xMDMtNzUuOS00OS43IDQ3LjhjLTUuNSA1LjUtMTAuMSAxMC4xLTIwLjcgMTAuMWw3LjQtMTA0LjkgMTkwLjktMTcyLjVjOC4zLTcuNC0xLjgtMTEuNS0xMi45LTQuMUwxMTcuOCAyODQgMTYuMiAyNTIuMmMtMjIuMS02LjktMjIuNS0yMi4xIDQuNi0zMi43TDQxOC4yIDY2LjRjMTguNC02LjkgMzQuNSA0LjEgMjguNSAzMi4yeiJdLAogICAgICAidGVuY2VudC13ZWlibyI6IFszODQsIDUxMiwgW10sICJmMWQ1IiwgIk03Mi4zIDQ5NS44YzEuNCAxOS45LTI3LjYgMjIuMi0yOS43IDIuOUMzMSAzNjguOCA3My43IDI1OS4yIDE0NCAxODUuNWMtMTUuNi0zNCA5LjItNzcuMSA1MC42LTc3LjEgMzAuMyAwIDU1LjEgMjQuNiA1NS4xIDU1LjEgMCA0NC00OS41IDcwLjgtODYuOSA0NS4xLTY1LjcgNzEuMy0xMDEuNCAxNjkuOC05MC41IDI4Ny4yek0xOTIgLjFDNjYuMS4xLTEyLjMgMTM0LjMgNDMuNyAyNDIuNCA1Mi40IDI1OS44IDc5IDI0Ni45IDcwIDIyOSAyMy43IDEzNi40IDkxIDI5LjggMTkyIDI5LjhjNzUuNCAwIDEzNi45IDYxLjQgMTM2LjkgMTM2LjkgMCA5MC44LTg2LjkgMTUzLjktMTY3LjcgMTMzLjEtMTkuMS00LjEtMjUuNiAyNC40LTYuNiAyOS4xIDExMC43IDIzLjIgMjA0LTYwIDIwNC0xNjIuM0MzNTguNiA3NC43IDI4NCAuMSAxOTIgLjF6Il0sCiAgICAgICJ0aGVtZWlzbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjJiMiIsICJNMjA4IDg4LjI4NmMwLTEwIDYuMjg2LTIxLjcxNCAxNy43MTUtMjEuNzE0IDExLjE0MiAwIDE3LjcxNCAxMS43MTQgMTcuNzE0IDIxLjcxNCAwIDEwLjI4NS02LjU3MiAyMS43MTQtMTcuNzE0IDIxLjcxNEMyMTQuMjg2IDExMCAyMDggOTguNTcxIDIwOCA4OC4yODZ6bTMwNCAxNjBjMCAzNi4wMDEtMTEuNDI5IDEwMi4yODYtMzYuMjg2IDEyOS43MTQtMjIuODU4IDI0Ljg1OC04Ny40MjggNjEuMTQzLTEyMC44NTcgNzAuNTcybC0xLjE0My4yODZ2MzIuNTcxYzAgMTYuMjg2LTEyLjU3MiAzMC41NzEtMjkuMTQzIDMwLjU3MS0xMCAwLTE5LjQyOS01LjcxNC0yNC41NzItMTQuMjg2LTUuNDI3IDguNTcyLTE0Ljg1NiAxNC4yODYtMjQuODU2IDE0LjI4Ni0xMCAwLTE5LjQyOS01LjcxNC0yNC44NTgtMTQuMjg2LTUuMTQyIDguNTcyLTE0LjU3MSAxNC4yODYtMjQuNTcgMTQuMjg2LTEwLjI4NiAwLTE5LjQyOS01LjcxNC0yNC44NTgtMTQuMjg2LTUuMTQzIDguNTcyLTE0LjU3MSAxNC4yODYtMjQuNTcxIDE0LjI4Ni0xOC44NTcgMC0yOS40MjktMTUuNzE0LTI5LjQyOS0zMi44NTctMTYuMjg2IDEyLjI4NS0zNS43MTUgMTkuNDI4LTU2LjU3MSAxOS40MjgtMjIgMC00My40MjktOC4yODUtNjAuMjg2LTIyLjg1NyAxMC4yODUtLjI4NiAyMC41NzEtMi4yODYgMzAuMjg1LTUuNzE0LTIwLjg1Ny01LjcxNC0zOS40MjgtMTguODU3LTUyLTM2LjI4NiAyMS4zNyA0LjY0NSA0Ni4yMDkgMS42NzMgNjcuMTQzLTExLjE0My0yMi0yMi01Ni41NzEtNTguODU3LTY4LjU3Mi04Ny40MjhDMS4xNDMgMzIxLjcxNCAwIDMwMy43MTQgMCAyODkuNDI5YzAtNDkuNzE0IDIwLjI4Ni0xNjAgODYuMjg2LTE2MCAxMC41NzEgMCAxOC44NTcgNC44NTggMjMuMTQzIDE0Ljg1N2ExNTguNzkyIDE1OC43OTIgMCAwIDEgMTItMTUuNDI4YzItMi41NzIgNS43MTQtNS40MjkgNy4xNDMtOC4yODYgNy45OTktMTIuNTcxIDExLjcxNC0yMS4xNDIgMjEuNzE0LTM0QzE4Mi41NzEgNDUuNDI4IDIzMiAxNy4xNDMgMjg1LjE0MyAxNy4xNDNjNiAwIDEyIC4yODUgMTcuNzE0IDEuMTQzQzMxMy43MTQgNi41NzEgMzI4Ljg1NyAwIDM0NC41NzIgMGMxNC41NzEgMCAyOS43MTQgNiA0MCAxNi4yODYuODU3Ljg1OCAxLjQyOCAyLjI4NiAxLjQyOCAzLjQyOCAwIDMuNzE0LTEwLjI4NSAxMy40MjktMTIuODU3IDE2LjI4NiA0LjI4NiAxLjQyOSAxNS43MTQgNi44NTggMTUuNzE0IDEyIDAgMi44NTctMi44NTcgNS4xNDMtNC41NzEgNy4xNDMgMzEuNDI5IDI3LjcxNCA0OS40MjkgNjcuMTQzIDU2LjI4NiAxMDggNC4yODYtNS4xNDMgMTAuMjg1LTguNTcyIDE3LjE0My04LjU3MiAxMC41NzEgMCAyMC44NTcgNy4xNDQgMjguNTcxIDE0LjAwMUM1MDcuMTQzIDE4Ny4xNDMgNTEyIDIyMS43MTQgNTEyIDI0OC4yODZ6TTE4OCA4OS40MjhjMCAxOC4yODYgMTIuNTcxIDM3LjE0MyAzMi4yODYgMzcuMTQzIDE5LjcxNCAwIDMyLjI4NS0xOC44NTcgMzIuMjg1LTM3LjE0MyAwLTE4LTEyLjU3MS0zNi44NTctMzIuMjg1LTM2Ljg1Ny0xOS43MTUgMC0zMi4yODYgMTguODU4LTMyLjI4NiAzNi44NTd6TTIzNy43MTQgMTk0YzAtMTkuNzE0IDMuNzE0LTM5LjE0MyA4LjU3MS01OC4yODYtNTIuMDM5IDc5LjUzNC0xMy41MzEgMTg0LjU3MSA2OC44NTggMTg0LjU3MSAyMS40MjggMCA0Mi41NzEtNy43MTQgNjAtMjAgMi03LjQyOSAzLjcxNC0xNC44NTcgMy43MTQtMjIuNTcyIDAtMTQuMjg2LTYuMjg2LTIxLjQyOC0yMC41NzItMjEuNDI4LTQuNTcxIDAtOS4xNDMuODU3LTEzLjQyOSAxLjcxNC02My4zNDMgMTIuNjY4LTEwNy4xNDIgMy42NjktMTA3LjE0Mi02My45OTl6bS00MS4xNDIgMjU0Ljg1OGMwLTExLjE0My04Ljg1OC0yMC44NTctMjAuMjg2LTIwLjg1Ny0xMS40MjkgMC0yMCA5LjcxNS0yMCAyMC44NTd2MzIuNTcxYzAgMTEuMTQzIDguNTcxIDIxLjE0MiAyMCAyMS4xNDIgMTEuNDI4IDAgMjAuMjg2LTkuNzE1IDIwLjI4Ni0yMS4xNDJ2LTMyLjU3MXptNDkuMTQzIDBjMC0xMS4xNDMtOC41NzItMjAuODU3LTIwLTIwLjg1Ny0xMS40MjkgMC0yMC4yODYgOS43MTUtMjAuMjg2IDIwLjg1N3YzMi41NzFjMCAxMS4xNDMgOC44NTcgMjEuMTQyIDIwLjI4NiAyMS4xNDIgMTEuNDI4IDAgMjAtMTAgMjAtMjEuMTQydi0zMi41NzF6bTQ5LjcxMyAwYzAtMTEuMTQzLTguODU3LTIwLjg1Ny0yMC4yODUtMjAuODU3LTExLjQyOSAwLTIwLjI4NiA5LjcxNS0yMC4yODYgMjAuODU3djMyLjU3MWMwIDExLjE0MyA4Ljg1NyAyMS4xNDIgMjAuMjg2IDIxLjE0MiAxMS40MjggMCAyMC4yODUtOS43MTUgMjAuMjg1LTIxLjE0MnYtMzIuNTcxem00OS43MTUgMGMwLTExLjE0My04Ljg1Ny0yMC44NTctMjAuMjg2LTIwLjg1Ny0xMS40MjggMC0yMC4yODYgOS43MTUtMjAuMjg2IDIwLjg1N3YzMi41NzFjMCAxMS4xNDMgOC44NTggMjEuMTQyIDIwLjI4NiAyMS4xNDIgMTEuNDI5IDAgMjAuMjg2LTEwIDIwLjI4Ni0yMS4xNDJ2LTMyLjU3MXpNNDIxLjcxNCAyODZjLTMwLjg1NyA1OS4xNDItOTAuMjg1IDEwMi41NzItMTU4LjU3MSAxMDIuNTcyLTk2LjU3MSAwLTE2MC41NzEtODQuNTcyLTE2MC41NzEtMTc2LjU3MiAwLTE2Ljg1NyAyLTMzLjQyOSA2LTQ5LjcxNC0yMCAzMy43MTUtMjkuNzE0IDcyLjU3Mi0yOS43MTQgMTExLjQyOSAwIDYwLjI4NiAyNC44NTcgMTIxLjcxNSA3MS40MjkgMTYwLjg1NyA1LjE0My05LjcxNCAxNC44NTctMTYuMjg2IDI2LTE2LjI4NiAxMCAwIDE5LjQyOCA1LjcxNCAyNC41NzEgMTQuMjg2IDUuNDI5LTguNTcxIDE0LjU3MS0xNC4yODYgMjQuODU4LTE0LjI4NiAxMCAwIDE5LjQyOCA1LjcxNCAyNC41NzEgMTQuMjg2IDUuNDI5LTguNTcxIDE0Ljg1Ny0xNC4yODYgMjQuODU4LTE0LjI4NiAxMCAwIDE5LjQyOCA1LjcxNCAyNC44NTcgMTQuMjg2IDUuMTQzLTguNTcxIDE0LjU3MS0xNC4yODYgMjQuNTcyLTE0LjI4NiAxMC44NTcgMCAyMC44NTcgNi41NzIgMjUuNzE0IDE2IDQzLjQyNy0zNi4yODYgNjguNTY5LTkyIDcxLjQyNi0xNDguMjg2em0xMC41NzItOTkuNzE0YzAtNTMuNzE0LTM0LjU3MS0xMDUuNzE0LTkyLjU3Mi0xMDUuNzE0LTMwLjI4NSAwLTU4LjU3MSAxNS4xNDMtNzguODU3IDM2Ljg1N0MyNDAuODYyIDE4My44MTIgMjMzLjQxIDI1NCAzMDIuMjg2IDI1NGMyOC44MDUgMCA5Ny4zNTctMjguNTM4IDg0LjI4NiAzNi44NTcgMjguODU3LTI2IDQ1LjcxNC02NS43MTQgNDUuNzE0LTEwNC41NzF6Il0sCiAgICAgICJ0cmVsbG8iOiBbNDQ4LCA1MTIsIFtdLCAiZjE4MSIsICJNMzkyIDMySDU2QzI1LjEgMzIgMCA1Ny4xIDAgODh2MzM2YzAgMzAuOSAyNS4xIDU2IDU2IDU2aDMzNmMzMC45IDAgNTYtMjUuMSA1Ni01NlY4OGMwLTMwLjktMjUuMS01Ni01Ni01NnpNMTk0LjkgMzcxLjRjMCAxNC44LTEyIDI2LjktMjYuOSAyNi45SDg1LjFjLTE0LjggMC0yNi45LTEyLTI2LjktMjYuOVYxMTcuMWMwLTE0LjggMTItMjYuOSAyNi45LTI2LjlIMTY4YzE0LjggMCAyNi45IDEyIDI2LjkgMjYuOXYyNTQuM3ptMTk0LjktMTEyYzAgMTQuOC0xMiAyNi45LTI2LjkgMjYuOUgyODBjLTE0LjggMC0yNi45LTEyLTI2LjktMjYuOVYxMTcuMWMwLTE0LjggMTItMjYuOSAyNi45LTI2LjloODIuOWMxNC44IDAgMjYuOSAxMiAyNi45IDI2Ljl2MTQyLjN6Il0sCiAgICAgICJ0cmlwYWR2aXNvciI6IFs1NzYsIDUxMiwgW10sICJmMjYyIiwgIk0xNjYuNCAyODAuNTIxYzAgMTMuMjM2LTEwLjczIDIzLjk2Ni0yMy45NjYgMjMuOTY2cy0yMy45NjYtMTAuNzMtMjMuOTY2LTIzLjk2NiAxMC43My0yMy45NjYgMjMuOTY2LTIzLjk2NiAyMy45NjYgMTAuNzI5IDIzLjk2NiAyMy45NjZ6bTI2NC45NjItMjMuOTU2Yy0xMy4yMyAwLTIzLjk1NiAxMC43MjUtMjMuOTU2IDIzLjk1NiAwIDEzLjIzIDEwLjcyNSAyMy45NTYgMjMuOTU2IDIzLjk1NiAxMy4yMyAwIDIzLjk1Ni0xMC43MjUgMjMuOTU2LTIzLjk1Ni0uMDAxLTEzLjIzMS0xMC43MjYtMjMuOTU2LTIzLjk1Ni0yMy45NTZ6bTg5LjM4OCAxMzkuNDljLTYyLjY2NyA0OS4xMDQtMTUzLjI3NiAzOC4xMDktMjAyLjM3OS0yNC41NTlsLTMwLjk3OSA0Ni4zMjUtMzAuNjgzLTQ1LjkzOWMtNDguMjc3IDYwLjM5LTEzNS42MjIgNzEuODkxLTE5Ny44ODUgMjYuMDU1LTY0LjA1OC00Ny4xNTgtNzcuNzU5LTEzNy4zMTYtMzAuNjAxLTIwMS4zNzRBMTg2Ljc2MiAxODYuNzYyIDAgMCAwIDAgMTM5LjQxNmw5MC4yODYtLjA1YTM1OC40OCAzNTguNDggMCAwIDEgMTk3LjA2NS01NC4wMyAzNTAuMzgyIDM1MC4zODIgMCAwIDEgMTkyLjE4MSA1My4zNDlsOTYuMjE4LjA3NGExODUuNzEzIDE4NS43MTMgMCAwIDAtMjguMzUyIDU3LjY0OWM0Ni43OTMgNjIuNzQ3IDM0Ljk2NCAxNTEuMzctMjYuNjQ4IDE5OS42NDd6TTI1OS4zNjYgMjgxLjc2MWMtLjAwNy02My41NTctNTEuNTM1LTExNS4wNzUtMTE1LjA5Mi0xMTUuMDY4QzgwLjcxNyAxNjYuNyAyOS4yIDIxOC4yMjggMjkuMjA2IDI4MS43ODVjLjAwNyA2My41NTcgNTEuNTM1IDExNS4wNzUgMTE1LjA5MiAxMTUuMDY4IDYzLjUxMy0uMDc1IDExNC45ODQtNTEuNTM5IDExNS4wNjgtMTE1LjA1MnYtLjA0em0yOC41OTEtMTAuNDU1YzUuNDMzLTczLjQ0IDY1LjUxLTEzMC44ODQgMTM5LjEyLTEzMy4wMjJhMzM5LjE0NiAzMzkuMTQ2IDAgMCAwLTEzOS43MjctMjcuODEyIDM1Ni4zMSAzNTYuMzEgMCAwIDAtMTQwLjE2NCAyNy4yNTNjNzQuMzQ0IDEuNTgyIDEzNS4yOTkgNTkuNDI0IDE0MC43NzEgMTMzLjU4MXptMjUxLjcwNi0yOC43NjdjLTIxLjk5Mi01OS42MzQtODguMTYyLTkwLjE0OC0xNDcuNzk1LTY4LjE1Ny01OS42MzQgMjEuOTkyLTkwLjE0OCA4OC4xNjItNjguMTU3IDE0Ny43OTV2LjAzMmMyMi4wMzggNTkuNjA3IDg4LjE5OCA5MC4wOTEgMTQ3LjgyNyA2OC4xMTMgNTkuNjE1LTIyLjAwNCA5MC4xMTMtODguMTYyIDY4LjEyNS0xNDcuNzgzem0tMzI2LjAzOSAzNy45NzV2LjExNWMtLjA1NyAzOS4zMjgtMzEuOTg2IDcxLjE2My03MS4zMTQgNzEuMTA2LTM5LjMyOC0uMDU3LTcxLjE2My0zMS45ODYtNzEuMTA2LTcxLjMxNC4wNTctMzkuMzI4IDMxLjk4Ni03MS4xNjMgNzEuMzE0LTcxLjEwNiAzOS4yNTkuMTE2IDcxLjA0MiAzMS45NCA3MS4xMDYgNzEuMTk5em0tMjQuNTEyIDB2LS4wODRjLS4wNTEtMjUuNzg0LTIwLjk5NC00Ni42NDUtNDYuNzc4LTQ2LjU5NC0yNS43ODQuMDUxLTQ2LjY0NSAyMC45OTQtNDYuNTk0IDQ2Ljc3Ny4wNTEgMjUuNzg0IDIwLjk5NCA0Ni42NDUgNDYuNzc3IDQ2LjU5NCAyNS43MjYtLjExMyA0Ni41MzctMjAuOTY4IDQ2LjU5NS00Ni42OTN6bTMxMy40MjMgMHYuMDQ4Yy0uMDIgMzkuMzI4LTMxLjkxOCA3MS4xOTQtNzEuMjQ3IDcxLjE3M3MtNzEuMTk0LTMxLjkxOC03MS4xNzMtNzEuMjQ3Yy4wMi0zOS4zMjggMzEuOTE4LTcxLjE5NCA3MS4yNDctNzEuMTczIDM5LjI5LjA2NiA3MS4xMjEgMzEuOTA5IDcxLjE3MyA3MS4xOTl6bS0yNC41MDQtLjAwOGMtLjAwOS0yNS43ODQtMjAuOTE4LTQ2LjY3OS00Ni43MDItNDYuNjctMjUuNzg0LjAwOS00Ni42NzkgMjAuOTE4LTQ2LjY3IDQ2LjcwMi4wMDkgMjUuNzg0IDIwLjkxOCA0Ni42NzggNDYuNzAyIDQ2LjY3IDI1Ljc2NS0uMDQ2IDQ2LjYzNi0yMC45MjggNDYuNjctNDYuNjkzdi0uMDA5eiJdLAogICAgICAidHVtYmxyIjogWzMyMCwgNTEyLCBbXSwgImYxNzMiLCAiTTMwOS44IDQ4MC4zYy0xMy42IDE0LjUtNTAgMzEuNy05Ny40IDMxLjctMTIwLjggMC0xNDctODguOC0xNDctMTQwLjZ2LTE0NEgxNy45Yy01LjUgMC0xMC00LjUtMTAtMTB2LTY4YzAtNy4yIDQuNS0xMy42IDExLjMtMTYgNjItMjEuOCA4MS41LTc2IDg0LjMtMTE3LjEuOC0xMSA2LjUtMTYuMyAxNi4xLTE2LjNoNzAuOWM1LjUgMCAxMCA0LjUgMTAgMTB2MTE1LjJoODNjNS41IDAgMTAgNC40IDEwIDkuOXY4MS43YzAgNS41LTQuNSAxMC0xMCAxMGgtODMuNFYzNjBjMCAzNC4yIDIzLjcgNTMuNiA2OCAzNS44IDQuOC0xLjkgOS0zLjIgMTIuNy0yLjIgMy41LjkgNS44IDMuNCA3LjQgNy45bDIyIDY0LjNjMS44IDUgMy4zIDEwLjYtLjQgMTQuNXoiXSwKICAgICAgInR1bWJsci1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjE3NCIsICJNNDAwIDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHptLTgyLjMgMzY0LjJjLTguNSA5LjEtMzEuMiAxOS44LTYwLjkgMTkuOC03NS41IDAtOTEuOS01NS41LTkxLjktODcuOXYtOTBoLTI5LjdjLTMuNCAwLTYuMi0yLjgtNi4yLTYuMnYtNDIuNWMwLTQuNSAyLjgtOC41IDcuMS0xMCAzOC44LTEzLjcgNTAuOS00Ny41IDUyLjctNzMuMi41LTYuOSA0LjEtMTAuMiAxMC0xMC4yaDQ0LjNjMy40IDAgNi4yIDIuOCA2LjIgNi4ydjcyaDUxLjljMy40IDAgNi4yIDIuOCA2LjIgNi4ydjUxLjFjMCAzLjQtMi44IDYuMi02LjIgNi4yaC01Mi4xVjMyMWMwIDIxLjQgMTQuOCAzMy41IDQyLjUgMjIuNCAzLTEuMiA1LjYtMiA4LTEuNCAyLjIuNSAzLjYgMi4xIDQuNiA0LjlsMTMuOCA0MC4yYzEgMy4yIDIgNi43LS4zIDkuMXoiXSwKICAgICAgInR3aXRjaCI6IFs0NDgsIDUxMiwgW10sICJmMWU4IiwgIk00MC4xIDMyTDEwIDEwOC45djMxNC4zaDEwN1Y0ODBoNjAuMmw1Ni44LTU2LjhoODdsMTE3LTExN1YzMkg0MC4xem0zNTcuOCAyNTQuMUwzMzEgMzUzSDIyNGwtNTYuOCA1Ni44VjM1M0g3Ni45VjcyLjFoMzIxdjIxNHpNMzMxIDE0OXYxMTYuOWgtNDAuMVYxNDlIMzMxem0tMTA3IDB2MTE2LjloLTQwLjFWMTQ5SDIyNHoiXSwKICAgICAgInR3aXR0ZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjA5OSIsICJNNDU5LjM3IDE1MS43MTZjLjMyNSA0LjU0OC4zMjUgOS4wOTcuMzI1IDEzLjY0NSAwIDEzOC43Mi0xMDUuNTgzIDI5OC41NTgtMjk4LjU1OCAyOTguNTU4LTU5LjQ1MiAwLTExNC42OC0xNy4yMTktMTYxLjEzNy00Ny4xMDYgOC40NDcuOTc0IDE2LjU2OCAxLjI5OSAyNS4zNCAxLjI5OSA0OS4wNTUgMCA5NC4yMTMtMTYuNTY4IDEzMC4yNzQtNDQuODMyLTQ2LjEzMi0uOTc1LTg0Ljc5Mi0zMS4xODgtOTguMTEyLTcyLjc3MiA2LjQ5OC45NzQgMTIuOTk1IDEuNjI0IDE5LjgxOCAxLjYyNCA5LjQyMSAwIDE4Ljg0My0xLjMgMjcuNjE0LTMuNTczLTQ4LjA4MS05Ljc0Ny04NC4xNDMtNTEuOTgtODQuMTQzLTEwMi45ODV2LTEuMjk5YzEzLjk2OSA3Ljc5NyAzMC4yMTQgMTIuNjcgNDcuNDMxIDEzLjMxOS0yOC4yNjQtMTguODQzLTQ2Ljc4MS01MS4wMDUtNDYuNzgxLTg3LjM5MSAwLTE5LjQ5MiA1LjE5Ny0zNy4zNiAxNC4yOTQtNTIuOTU0IDUxLjY1NSA2My42NzUgMTI5LjMgMTA1LjI1OCAyMTYuMzY1IDEwOS44MDctMS42MjQtNy43OTctMi41OTktMTUuOTE4LTIuNTk5LTI0LjA0IDAtNTcuODI4IDQ2Ljc4Mi0xMDQuOTM0IDEwNC45MzQtMTA0LjkzNCAzMC4yMTMgMCA1Ny41MDIgMTIuNjcgNzYuNjcgMzMuMTM3IDIzLjcxNS00LjU0OCA0Ni40NTYtMTMuMzIgNjYuNTk5LTI1LjM0LTcuNzk4IDI0LjM2Ni0yNC4zNjYgNDQuODMzLTQ2LjEzMiA1Ny44MjcgMjEuMTE3LTIuMjczIDQxLjU4NC04LjEyMiA2MC40MjYtMTYuMjQzLTE0LjI5MiAyMC43OTEtMzIuMTYxIDM5LjMwOC01Mi42MjggNTQuMjUzeiJdLAogICAgICAidHdpdHRlci1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjA4MSIsICJNNDAwIDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHptLTQ4LjkgMTU4LjhjLjIgMi44LjIgNS43LjIgOC41IDAgODYuNy02NiAxODYuNi0xODYuNiAxODYuNi0zNy4yIDAtNzEuNy0xMC44LTEwMC43LTI5LjQgNS4zLjYgMTAuNC44IDE1LjguOCAzMC43IDAgNTguOS0xMC40IDgxLjQtMjgtMjguOC0uNi01My0xOS41LTYxLjMtNDUuNSAxMC4xIDEuNSAxOS4yIDEuNSAyOS42LTEuMi0zMC02LjEtNTIuNS0zMi41LTUyLjUtNjQuNHYtLjhjOC43IDQuOSAxOC45IDcuOSAyOS42IDguM2E2NS40NDcgNjUuNDQ3IDAgMCAxLTI5LjItNTQuNmMwLTEyLjIgMy4yLTIzLjQgOC45LTMzLjEgMzIuMyAzOS44IDgwLjggNjUuOCAxMzUuMiA2OC42LTkuMy00NC41IDI0LTgwLjYgNjQtODAuNiAxOC45IDAgMzUuOSA3LjkgNDcuOSAyMC43IDE0LjgtMi44IDI5LTguMyA0MS42LTE1LjgtNC45IDE1LjItMTUuMiAyOC0yOC44IDM2LjEgMTMuMi0xLjQgMjYtNS4xIDM3LjgtMTAuMi04LjkgMTMuMS0yMC4xIDI0LjctMzIuOSAzNHoiXSwKICAgICAgInR5cG8zIjogWzQzMywgNTEyLCBbXSwgImY0MmIiLCAiTTMzMC44IDM0MWMtNyAyLjMtMTEuNiAyLjMtMTguNSAyLjMtNTcuMiAwLTE0MC42LTE5OC41LTE0MC42LTI2NC45IDAtMjQuNyA1LjQtMzIuNCAxMy45LTM5LjQtNjkuNSA4LjUtMTQ5LjMgMzQtMTc2LjMgNjYuNC01LjQgNy43LTkuMyAyMC44LTkuMyAzNy4xQzAgMjQ2IDEwNi44IDQ4MCAxODQuMSA0ODBjMzYuMyAwIDk3LjMtNTkuNSAxNDYuNy0xMzlNMjk0LjUgMzJjNzEuOCAwIDEzOC44IDExLjYgMTM4LjggNTIuNSAwIDgyLjYtNTIuNSAxODIuMy03OC44IDE4Mi4zLTQ3LjkgMC0xMDEuNy0xMzIuMS0xMDEuNy0xOTguNSAwLTMwLjkgMTEuNi0zNi4zIDQxLjctMzYuMyJdLAogICAgICAidWJlciI6IFs0NDgsIDUxMiwgW10sICJmNDAyIiwgIk00MTQuMSAzMkgzMy45QzE1LjIgMzIgMCA0Ny4yIDAgNjUuOVY0NDZjMCAxOC44IDE1LjIgMzQgMzMuOSAzNEg0MTRjMTguNyAwIDMzLjktMTUuMiAzMy45LTMzLjlWNjUuOUM0NDggNDcuMiA0MzIuOCAzMiA0MTQuMSAzMnpNMjM3LjYgMzkxLjFDMTYzIDM5OC42IDk2LjQgMzQ0LjIgODguOSAyNjkuNmg5NC40VjI5MGMwIDMuNyAzIDYuOCA2LjggNi44SDI1OGMzLjcgMCA2LjgtMyA2LjgtNi44di02Ny45YzAtMy43LTMtNi44LTYuOC02LjhoLTY3LjljLTMuNyAwLTYuOCAzLTYuOCA2Ljh2MjAuNEg4OC45YzctNjkuNCA2NS40LTEyMi4yIDEzNS4xLTEyMi4yIDY5LjcgMCAxMjguMSA1Mi44IDEzNS4xIDEyMi4yIDcuNSA3NC41LTQ2LjkgMTQxLjEtMTIxLjUgMTQ4LjZ6Il0sCiAgICAgICJ1aWtpdCI6IFs0NDgsIDUxMiwgW10sICJmNDAzIiwgIk00NDMuOSAxMjh2MjU2TDIxOCA1MTIgMCAzODRWMTY5LjdsODcuNiA0NS4xdjExN2wxMzMuNSA3NS41IDEzNS44LTc1LjV2LTE1MWwtMTAxLjEtNTcuNiA4Ny42LTUzLjFMNDQzLjkgMTI4ek0zMDguNiA0OS4xTDIyMy44IDBsLTg4LjYgNTQuOCA4NiA0Ny4zIDg3LjQtNTN6Il0sCiAgICAgICJ1bmlyZWdpc3RyeSI6IFszODQsIDUxMiwgW10sICJmNDA0IiwgIk0yODEuMSAyMjAuMUgzODR2LTE0LjhIMjgxLjF2MTQuOHptMC0zNy4xSDM4NHYtMTIuNEgyODEuMVYxODN6bTAgNzQuMkgzODR2LTE3LjNIMjgxLjF2MTcuM3ptLTE1Ny43IDg2LjdIOC41YzIuNiA4LjUgNS44IDE2LjggOS42IDI0LjhoMTM4LjNjLTEyLjktNS43LTI0LjEtMTQuMi0zMy0yNC44bTE0NS43LTEyLjRoMTA5LjdjMS44LTcuMyAzLjEtMTQuNyAzLjktMjIuM0gyNzguM2MtMi4xIDcuOS01LjIgMTUuNC05LjIgMjIuM20tNDEuNSAzNy4xSDM2N2MzLjctOCA1LjgtMTYuMiA4LjUtMjQuOGgtMTE1Yy04LjggMTAuNy0yMC4xIDE5LjItMzIuOSAyNC44TTM4NCAzMkgyODEuMXYyLjVIMzg0VjMyek0xOTIgNDgwYzM5LjUgMCA3Ni4yLTExLjggMTA2LjgtMzIuMkg4NS4zQzExNS44IDQ2OC4yIDE1Mi41IDQ4MCAxOTIgNDgwbTg5LjEtMzM0LjJIMzg0VjEzNkgyODEuMXY5Ljh6bTAtMzcuMUgzODR2LTcuNEgyODEuMXY3LjR6bTAtMzcuMUgzODR2LTQuOUgyODEuMXY0Ljl6bS0xNzguMiA5OUgwVjE4M2gxMDIuOXYtMTIuNHpNMzguOCA0MDUuN2gzMDUuM2M2LjctOC41IDEyLjYtMTcuNiAxNy44LTI3LjJIMjNjNS4yIDkuNiA5LjIgMTguNyAxNS44IDI3LjJtNjQuMS0xMTguOHYtMTIuNEgwdjEyLjRjMCAyLjUgMCA1IC4xIDcuNGgxMDMuMWMtLjItMi40LS4zLTQuOS0uMy03LjRtMTc4LjIgMGMwIDIuNS0uMSA1LS40IDcuNGgxMDMuMWMuMS0yLjUuMi00LjkuMi03LjR2LTEyLjRIMjgxLjF2MTIuNHptLTIwMyAxNTZoMjI3LjdjMTEuOC04LjcgMjIuNy0xOC42IDMyLjItMjkuN0g0NC45YzkuNiAxMSAyMS40IDIxIDMzLjIgMjkuN20yNC44LTM3Ni4ySDB2NC45aDEwMi45di00Ljl6bTAtMzQuN0gwdjIuNWgxMDIuOVYzMnptMCAxNzMuM0gwdjE0LjhoMTAyLjl2LTE0Ljh6bTAgMzQuNkgwdjE3LjNoMTAyLjl2LTE3LjN6bTAtMTAzLjlIMHY5LjloMTAyLjlWMTM2em0wLTM0LjdIMHY3LjRoMTAyLjl2LTcuNHptMi44IDIwNy45SDEuM2MuOSA3LjYgMi4yIDE1IDMuOSAyMi4zaDEwOS43Yy00LTYuOS03LjItMTQuNC05LjItMjIuMyJdLAogICAgICAidW50YXBwZCI6IFs2NDAsIDUxMiwgW10sICJmNDA1IiwgIk00MDEuMyA0OS45Yy03OS44IDE2MC4xLTg0LjYgMTUyLjUtODcuOSAxNzMuMmwtNS4yIDMyLjhjLTEuOSAxMi02LjYgMjMuNS0xMy43IDMzLjRMMTQ1LjYgNDk3LjFjLTcuNiAxMC42LTIwLjQgMTYuMi0zMy40IDE0LjYtNDAuMy01LTc3LjgtMzIuMi05NS4zLTY4LjUtNS43LTExLjgtNC41LTI1LjggMy4xLTM2LjRsMTQ4LjktMjA3LjljNy4xLTkuOSAxNi40LTE4IDI3LjItMjMuN2wyOS4zLTE1LjVjMTguNS05LjggOS43LTExLjkgMTM1LjYtMTM4LjkgMS00LjggMS03LjMgMy42LTggMy0uNyA2LjYtMSA2LjMtNC42bC0uNC00LjZjLS4yLTEuOSAxLjMtMy42IDMuMi0zLjYgNC41LS4xIDEzLjIgMS4yIDI1LjYgMTAgMTIuMyA4LjkgMTYuNCAxNi44IDE3LjcgMjEuMS42IDEuOC0uNiAzLjctMi40IDQuMmwtNC41IDEuMWMtMy40LjktMi41IDQuNC0yLjMgNy40LjEgMi44LTIuMyAzLjYtNi41IDYuMXpNMjMwLjEgMzYuNGMzLjQuOSAyLjUgNC40IDIuMyA3LjQtLjIgMi43IDIuMSAzLjUgNi40IDYgNy45IDE1LjkgMTUuMyAzMC41IDIyLjIgNDQgLjcgMS4zIDIuMyAxLjUgMy4zLjUgMTEuMi0xMiAyNC42LTI2LjIgNDAuNS00Mi42IDEuMy0xLjQgMS40LTMuNS4xLTQuOS04LTguMi0xNi41LTE2LjktMjUuNi0yNi4xLTEtNC43LTEtNy4zLTMuNi04LTMtLjgtNi42LTEtNi4zLTQuNi4zLTMuMyAxLjQtOC4xLTIuOC04LjItNC41LS4xLTEzLjIgMS4xLTI1LjYgMTAtMTIuMyA4LjktMTYuNCAxNi44LTE3LjcgMjEuMS0xLjQgNC4yIDMuNiA0LjYgNi44IDUuNHpNNjIwIDQwNi43TDQ3MS4yIDE5OC44Yy0xMy4yLTE4LjUtMjYuNi0yMy40LTU2LjQtMzkuMS0xMS4yLTUuOS0xNC4yLTEwLjktMzAuNS0yOC45LTEtMS4xLTIuOS0uOS0zLjYuNS00Ni4zIDg4LjgtNDcuMSA4Mi44LTQ5IDk0LjgtMS43IDEwLjctMS4zIDIwIC4zIDI5LjggMS45IDEyIDYuNiAyMy41IDEzLjcgMzMuNGwxNDguOSAyMDcuOWM3LjYgMTAuNiAyMC4yIDE2LjIgMzMuMSAxNC43IDQwLjMtNC45IDc4LTMyIDk1LjctNjguNiA1LjQtMTEuOSA0LjMtMjUuOS0zLjQtMzYuNnoiXSwKICAgICAgInVzYiI6IFs2NDAsIDUxMiwgW10sICJmMjg3IiwgIk02NDEuNSAyNTZjMCAzLjEtMS43IDYuMS00LjUgNy41TDU0Ny45IDMxN2MtMS40LjgtMi44IDEuNC00LjUgMS40LTEuNCAwLTMuMS0uMy00LjUtMS4xLTIuOC0xLjctNC41LTQuNS00LjUtNy44di0zNS42SDI5NS43YzI1LjMgMzkuNiA0MC41IDEwNi45IDY5LjYgMTA2LjlIMzkyVjM1NGMwLTUgMy45LTguOSA4LjktOC45SDQ5MGM1IDAgOC45IDMuOSA4LjkgOC45djg5LjFjMCA1LTMuOSA4LjktOC45IDguOWgtODkuMWMtNSAwLTguOS0zLjktOC45LTguOXYtMjYuN2gtMjYuN2MtNzUuNCAwLTgxLjEtMTQyLjUtMTI0LjctMTQyLjVIMTQwLjNjLTguMSAzMC42LTM1LjkgNTMuNS02OSA1My41QzMyIDMyNy4zIDAgMjk1LjMgMCAyNTZzMzItNzEuMyA3MS4zLTcxLjNjMzMuMSAwIDYxIDIyLjggNjkgNTMuNSAzOS4xIDAgNDMuOSA5LjUgNzQuNi02MC40QzI1NSA4OC43IDI3MyA5NS43IDMyMy44IDk1LjdjNy41LTIwLjkgMjctMzUuNiA1MC40LTM1LjYgMjkuNSAwIDUzLjUgMjMuOSA1My41IDUzLjVzLTIzLjkgNTMuNS01My41IDUzLjVjLTIzLjQgMC00Mi45LTE0LjgtNTAuNC0zNS42SDI5NGMtMjkuMSAwLTQ0LjMgNjcuNC02OS42IDEwNi45aDMxMC4xdi0zNS42YzAtMy4zIDEuNy02LjEgNC41LTcuOCAyLjgtMS43IDYuNC0xLjQgOC45LjNsODkuMSA1My41YzIuOCAxLjEgNC41IDQuMSA0LjUgNy4yeiJdLAogICAgICAidXNzdW5uYWgiOiBbNTEyLCA1MTIsIFtdLCAiZjQwNyIsICJNMTU2LjggMjg1LjFsNS43IDE0LjRoLTguMmMtMS4zLTMuMi0zLjEtNy43LTMuOC05LjUtMi41LTYuMy0xLjEtOC40IDAtMTAgMS45LTIuNyAzLjItNC40IDMuNi01LjIgMCAyLjIuOCA1LjcgMi43IDEwLjN6bTI5Ny4zIDE4LjhjLTIuMSAxMy44LTUuNyAyNy4xLTEwLjUgMzkuN2w0MyAyMy40LTQ0LjgtMTguOGMtNS4zIDEzLjItMTIgMjUuNi0xOS45IDM3LjJsMzQuMiAzMC4yLTM2LjgtMjYuNGMtOC40IDExLjgtMTggMjIuNi0yOC43IDMyLjNsMjQuOSAzNC43LTI4LjEtMzEuOGMtMTEgOS42LTIzLjEgMTgtMzYuMSAyNS4xbDE1LjcgMzcuMi0xOS4zLTM1LjNjLTEzLjEgNi44LTI3IDEyLjEtNDEuNiAxNS45bDYuNyAzOC40LTEwLjUtMzcuNGMtMTQuMyAzLjQtMjkuMiA1LjMtNDQuNSA1LjRMMjU2IDUxMmwtMS45LTM4LjRjLTE1LjMtLjEtMzAuMi0yLTQ0LjUtNS4zTDE5OSA1MDUuNmw2LjctMzguMmMtMTQuNi0zLjctMjguNi05LjEtNDEuNy0xNS44bC0xOS4yIDM1LjEgMTUuNi0zN2MtMTMtNy0yNS4yLTE1LjQtMzYuMi0yNS4xbC0yNy45IDMxLjYgMjQuNy0zNC40Yy0xMC43LTkuNy0yMC40LTIwLjUtMjguOC0zMi4zbC0zNi41IDI2LjIgMzMuOS0yOS45Yy03LjktMTEuNi0xNC42LTI0LjEtMjAtMzcuM2wtNDQuNCAxOC43TDY3LjggMzQ0Yy00LjgtMTIuNy04LjQtMjYuMS0xMC41LTM5LjlsLTUxIDkgNTAuMy0xNC4yYy0xLjEtOC41LTEuNy0xNy4xLTEuNy0yNS45IDAtNC43LjItOS40LjUtMTQuMUwwIDI1Nmw1Ni0yLjhjMS4zLTEzLjEgMy44LTI1LjggNy41LTM4LjFMNi40IDE5OWw1OC45IDEwLjRjNC0xMiA5LjEtMjMuNSAxNS4yLTM0LjRsLTU1LjEtMzAgNTguMyAyNC42QzkwIDE1OSA5Ny4yIDE0OS4yIDEwNS4zIDE0MEw1NS44IDk2LjRsNTMuOSAzOC43YzguMS04LjYgMTctMTYuNSAyNi42LTIzLjZsLTQwLTU1LjYgNDUuNiA1MS42YzkuNS02LjYgMTkuNy0xMi4zIDMwLjMtMTcuMmwtMjcuMy02NC45IDMzLjggNjIuMWMxMC41LTQuNCAyMS40LTcuOSAzMi43LTEwLjRMMTk5IDYuNGwxOS41IDY5LjJjMTEtMi4xIDIyLjMtMy4yIDMzLjgtMy40TDI1NiAwbDMuNiA3Mi4yYzExLjUuMiAyMi44IDEuNCAzMy44IDMuNUwzMTMgNi40bC0xMi40IDcwLjdjMTEuMyAyLjYgMjIuMiA2LjEgMzIuNiAxMC41bDMzLjktNjIuMi0yNy40IDY1LjFjMTAuNiA0LjkgMjAuNyAxMC43IDMwLjIgMTcuMmw0NS44LTUxLjgtNDAuMSA1NS45YzkuNSA3LjEgMTguNCAxNSAyNi41IDIzLjZsNTQuMi0zOC45LTQ5LjcgNDMuOWM4IDkuMSAxNS4yIDE4LjkgMjEuNSAyOS40bDU4LjctMjQuNy01NS41IDMwLjJjNi4xIDEwLjkgMTEuMSAyMi4zIDE1LjEgMzQuM2w1OS4zLTEwLjQtNTcuNSAxNi4yYzMuNyAxMi4yIDYuMiAyNC45IDcuNSAzNy45TDUxMiAyNTZsLTU2IDIuOGMuMyA0LjYuNSA5LjMuNSAxNC4xIDAgOC43LS42IDE3LjMtMS42IDI1LjhsNTAuNyAxNC4zLTUxLjUtOS4xem0tMjEuOC0zMWMwLTk3LjUtNzktMTc2LjUtMTc2LjUtMTc2LjVzLTE3Ni41IDc5LTE3Ni41IDE3Ni41IDc5IDE3Ni41IDE3Ni41IDE3Ni41IDE3Ni41LTc5IDE3Ni41LTE3Ni41em0tMjQgMGMwIDg0LjMtNjguMyAxNTIuNi0xNTIuNiAxNTIuNnMtMTUyLjYtNjguMy0xNTIuNi0xNTIuNiA2OC4zLTE1Mi42IDE1Mi42LTE1Mi42IDE1Mi42IDY4LjMgMTUyLjYgMTUyLjZ6TTE5NSAyNDFjMCAyLjEgMS4zIDMuOCAzLjYgNS4xIDMuMyAxLjkgNi4yIDQuNiA4LjIgOC4yIDIuOC01LjcgNC4zLTkuNSA0LjMtMTEuMiAwLTIuMi0xLjEtNC40LTMuMi03LTIuMS0yLjUtMy4yLTUuMi0zLjMtNy43LTYuNSA2LjgtOS42IDEwLjktOS42IDEyLjZ6bS00MC43LTE5YzAgMi4xIDEuMyAzLjggMy42IDUuMSAzLjUgMS45IDYuMiA0LjYgOC4yIDguMiAyLjgtNS43IDQuMy05LjUgNC4zLTExLjIgMC0yLjItMS4xLTQuNC0zLjItNy0yLjEtMi41LTMuMi01LjItMy4zLTcuNy02LjUgNi44LTkuNiAxMC45LTkuNiAxMi42em0tMTkgMGMwIDIuMSAxLjMgMy44IDMuNiA1LjEgMy4zIDEuOSA2LjIgNC42IDguMiA4LjIgMi44LTUuNyA0LjMtOS41IDQuMy0xMS4yIDAtMi4yLTEuMS00LjQtMy4yLTctMi4xLTIuNS0zLjItNS4yLTMuMy03LjctNi40IDYuOC05LjYgMTAuOS05LjYgMTIuNnptMjA0LjkgODcuOWMtOC40LTMtOC43LTYuOC04LjctMTUuNlYxODJjLTguMiAxMi41LTE0LjIgMTguNi0xOCAxOC42IDYuMyAxNC40IDkuNSAyMy45IDkuNSAyOC4zdjY0LjNjMCAyLjItMi4yIDYuNS00LjcgNi41aC0xOGMtMi44LTcuNS0xMC4yLTI2LjktMTUuMy00MC4zLTIgMi41LTcuMiA5LjItMTAuNyAxMy43IDIuNCAxLjYgNC4xIDMuNiA1LjIgNi4zIDIuNiA2LjcgNi40IDE2LjUgNy45IDIwLjJoLTkuMmMtMy45LTEwLjQtOS42LTI1LjQtMTEuOC0zMS4xLTIgMi41LTcuMiA5LjItMTAuNyAxMy43IDIuNCAxLjYgNC4xIDMuNiA1LjIgNi4zLjggMiAyLjggNy4zIDQuMyAxMC45SDI1NmMtMS41LTQuMS01LjYtMTQuNi04LjQtMjItMiAyLjUtNy4yIDkuMi0xMC43IDEzLjcgMi41IDEuNiA0LjMgMy42IDUuMiA2LjMuMi42LjUgMS40LjYgMS43SDIyNWMtNC42LTEzLjktMTEuNC0yNy43LTExLjQtMzQuMSAwLTIuMi4zLTUuMSAxLjEtOC4yLTguOCAxMC44LTE0IDE1LjktMTQgMjUgMCA3LjUgMTAuNCAyOC4zIDEwLjQgMzMuMyAwIDEuNy0uNSAzLjMtMS40IDQuOS05LjYtMTIuNy0xNS41LTIwLjctMTguOC0yMC43aC0xMmwtMTEuMi0yOGMtMy44LTkuNi01LjctMTYtNS43LTE4LjggMC0zLjguNS03LjcgMS43LTEyLjItMSAxLjMtMy43IDQuNy01LjUgNy4xLS44LTIuMS0zLjEtNy43LTQuNi0xMS41LTIuMSAyLjUtNy41IDkuMS0xMS4yIDEzLjYuOSAyLjMgMy4zIDguMSA0LjkgMTIuMi0yLjUgMy4zLTkuMSAxMS44LTEzLjYgMTcuNy00IDUuMy01LjggMTMuMy0yLjcgMjEuOCAyLjUgNi43IDIgNy45LTEuNyAxNC4xSDE5MWM1LjUgMCAxNC4zIDE0IDE1LjUgMjIgMTMuMi0xNiAxNS40LTE5LjYgMTYuOC0yMS42aDEwN2MzLjkgMCA3LjItMS45IDkuOS01Ljh6bTIwLjEtMjYuNlYxODEuN2MtOSAxMi41LTE1LjkgMTguNi0yMC43IDE4LjYgNy4xIDE0LjQgMTAuNyAyMy45IDEwLjcgMjguM3Y2Ni4zYzAgMTcuNSA4LjYgMjAuNCAyNCAyMC40IDguMSAwIDEyLjUtLjggMTMuNy0yLjctNC4zLTEuNi03LjYtMi41LTkuOS0zLjMtOC4xLTMuMi0xNy44LTcuNC0xNy44LTI2eiJdLAogICAgICAidmFhZGluIjogWzQ0OCwgNTEyLCBbXSwgImY0MDgiLCAiTTIyNC41IDE0MC43YzEuNS0xNy42IDQuOS01Mi43IDQ5LjgtNTIuN2g5OC42YzIwLjcgMCAzMi4xLTcuOCAzMi4xLTIxLjZWNTQuMWMwLTEyLjIgOS4zLTIyLjEgMjEuNS0yMi4xUzQ0OCA0MS45IDQ0OCA1NC4xdjM2LjVjMCA0Mi45LTIxLjUgNjItNjYuOCA2MkgyODAuN2MtMzAuMSAwLTMzIDE0LjctMzMgMjcuMSAwIDEuMy0uMSAyLjUtLjIgMy43LS43IDEyLjMtMTAuOSAyMi4yLTIzLjQgMjIuMnMtMjIuNy05LjgtMjMuNC0yMi4yYy0uMS0xLjItLjItMi40LS4yLTMuNyAwLTEyLjMtMy0yNy4xLTMzLTI3LjFINjYuOGMtNDUuMyAwLTY2LjgtMTkuMS02Ni44LTYyVjU0LjFDMCA0MS45IDkuNCAzMiAyMS42IDMyczIxLjUgOS45IDIxLjUgMjIuMXYxMi4zQzQzLjEgODAuMiA1NC41IDg4IDc1LjIgODhoOTguNmM0NC44IDAgNDguMyAzNS4xIDQ5LjggNTIuN2guOXpNMjI0IDQ1NmMxMS41IDAgMjEuNC03IDI1LjctMTYuMyAxLjEtMS44IDk3LjEtMTY5LjYgOTguMi0xNzEuNCAxMS45LTE5LjYtMy4yLTQ0LjMtMjcuMi00NC4zLTEzLjkgMC0yMy4zIDYuNC0yOS44IDIwLjNMMjI0IDM2MmwtNjYuOS0xMTcuN2MtNi40LTEzLjktMTUuOS0yMC4zLTI5LjgtMjAuMy0yNCAwLTM5LjEgMjQuNi0yNy4yIDQ0LjMgMS4xIDEuOSA5Ny4xIDE2OS42IDk4LjIgMTcxLjQgNC4zIDkuMyAxNC4yIDE2LjMgMjUuNyAxNi4zeiJdLAogICAgICAidmlhY29pbiI6IFszODQsIDUxMiwgW10sICJmMjM3IiwgIk0zODQgMzJoLTY0bC04MC43IDE5MmgtOTQuNUw2NCAzMkgwbDQ4IDExMkgwdjQ4aDY4LjVsMTMuOCAzMkgwdjQ4aDEwMi44TDE5MiA0ODBsODkuMi0yMDhIMzg0di00OGgtODIuM2wxMy44LTMySDM4NHYtNDhoLTQ4bDQ4LTExMnpNMTkyIDMzNmwtMjctNjRoNTRsLTI3IDY0eiJdLAogICAgICAidmlhZGVvIjogWzQ0OCwgNTEyLCBbXSwgImYyYTkiLCAiTTI3Ni4yIDE1MC41di43QzI1OC4zIDk4LjYgMjMzLjYgNDcuOCAyMDUuNCAwYzQzLjMgMjkuMiA2NyAxMDAgNzAuOCAxNTAuNXptMzIuNyAxMjEuN2M3LjYgMTguMiAxMSAzNy41IDExIDU3IDAgNzcuNy01Ny44IDE0MS0xMzcuOCAxMzkuNGwzLjgtLjNjNzQuMi00Ni43IDEwOS4zLTExOC42IDEwOS4zLTIwNS4xIDAtMzguMS02LjUtNzUuOS0xOC45LTExMiAxIDExLjcgMSAyMy43IDEgMzUuNCAwIDkxLjgtMTguMSAyNDEuNi0xMTYuNiAyODBDOTUgNDU1LjIgNDkuNCAzOTggNDkuNCAzMjkuMmMwLTc1LjYgNTcuNC0xNDIuMyAxMzUuNC0xNDIuMyAxNi44IDAgMzMuNyAzLjEgNDkuMSA5LjYgMS43LTE1LjEgNi41LTI5LjkgMTMuNC00My4zLTE5LjktNy4yLTQxLjItMTAuNy02Mi41LTEwLjctMTYxLjUgMC0yMzguNyAxOTUuOS0xMjkuOSAzMTMuNyA2Ny45IDc0LjYgMTkyIDczLjkgMjU5LjggMCA1Ni42LTYxLjMgNjAuOS0xNDIuNCAzNi40LTIwMS0xMi43IDgtMjcuMSAxMy45LTQyLjIgMTd6TTQxOC4xIDExLjdjLTMxIDY2LjUtODEuMyA0Ny4yLTExNS44IDgwLjEtMTIuNCAxMi0yMC42IDM0LTIwLjYgNTAuNSAwIDE0LjEgNC41IDI3LjEgMTIgMzguOCA0Ny40LTExIDk4LjMtNDYgMTE4LjItOTAuNy0uNyA1LjUtNC44IDE0LjQtNy4yIDE5LjItMjAuMyAzNS43LTY0LjYgNjUuNi05OS43IDg0LjkgMTQuOCAxNC40IDMzLjcgMjUuOCA1NSAyNS44IDc5IDAgMTEwLjEtMTM0LjYgNTguMS0yMDguNnoiXSwKICAgICAgInZpYWRlby1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjJhYSIsICJNNDAwIDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHpNMjgwLjcgMzgxLjJjLTQyLjQgNDYuMi0xMjAgNDYuNi0xNjIuNCAwLTY4LTczLjYtMTkuOC0xOTYuMSA4MS4yLTE5Ni4xIDEzLjMgMCAyNi42IDIuMSAzOS4xIDYuNy00LjMgOC40LTcuMyAxNy42LTguNCAyNy4xLTkuNy00LjEtMjAuMi02LTMwLjctNi00OC44IDAtODQuNiA0MS43LTg0LjYgODguOSAwIDQzIDI4LjUgNzguNyA2OS41IDg1LjkgNjEuNS0yNCA3Mi45LTExNy42IDcyLjktMTc1IDAtNy4zIDAtMTQuOC0uNi0yMi4xLTExLjItMzIuOS0yNi42LTY0LjYtNDQuMi05NC41IDI3LjEgMTguMyA0MS45IDYyLjUgNDQuMiA5NC4xdi40YzcuNyAyMi41IDExLjggNDYuMiAxMS44IDcwIDAgNTQuMS0yMS45IDk5LTY4LjMgMTI4LjJsLTIuNC4yYzUwIDEgODYuMi0zOC42IDg2LjItODcuMiAwLTEyLjItMi4xLTI0LjMtNi45LTM1LjcgOS41LTEuOSAxOC41LTUuNiAyNi40LTEwLjUgMTUuMyAzNi42IDEyLjYgODcuMy0yMi44IDEyNS42ek0zMDkgMjMzLjdjLTEzLjMgMC0yNS4xLTcuMS0zNC40LTE2LjEgMjEuOS0xMiA0OS42LTMwLjcgNjIuMy01MyAxLjUtMyA0LjEtOC42IDQuNS0xMi0xMi41IDI3LjktNDQuMiA0OS44LTczLjkgNTYuNy00LjctNy4zLTcuNS0xNS41LTcuNS0yNC4zIDAtMTAuMyA1LjItMjQuMSAxMi45LTMxLjYgMjEuNi0yMC41IDUzLTguNSA3Mi40LTUwIDMyLjUgNDYuMiAxMy4xIDEzMC4zLTM2LjMgMTMwLjN6Il0sCiAgICAgICJ2aWJlciI6IFs1MTIsIDUxMiwgW10sICJmNDA5IiwgIk00NDQgNDkuOUM0MzEuMyAzOC4yIDM3OS45LjkgMjY1LjMuNGMwIDAtMTM1LjEtOC4xLTIwMC45IDUyLjNDMjcuOCA4OS4zIDE0LjkgMTQzIDEzLjUgMjA5LjVjLTEuNCA2Ni41LTMuMSAxOTEuMSAxMTcgMjI0LjloLjFsLS4xIDUxLjZzLS44IDIwLjkgMTMgMjUuMWMxNi42IDUuMiAyNi40LTEwLjcgNDIuMy0yNy44IDguNy05LjQgMjAuNy0yMy4yIDI5LjgtMzMuNyA4Mi4yIDYuOSAxNDUuMy04LjkgMTUyLjUtMTEuMiAxNi42LTUuNCAxMTAuNS0xNy40IDEyNS43LTE0MiAxNS44LTEyOC42LTcuNi0yMDkuOC00OS44LTI0Ni41ek00NTcuOSAyODdjLTEyLjkgMTA0LTg5IDExMC42LTEwMyAxMTUuMS02IDEuOS02MS41IDE1LjctMTMxLjIgMTEuMiAwIDAtNTIgNjIuNy02OC4yIDc5LTUuMyA1LjMtMTEuMSA0LjgtMTEtNS43IDAtNi45LjQtODUuNy40LTg1LjctLjEgMC0uMSAwIDAgMC0xMDEuOC0yOC4yLTk1LjgtMTM0LjMtOTQuNy0xODkuOCAxLjEtNTUuNSAxMS42LTEwMSA0Mi42LTEzMS42IDU1LjctNTAuNSAxNzAuNC00MyAxNzAuNC00MyA5Ni45LjQgMTQzLjMgMjkuNiAxNTQuMSAzOS40IDM1LjcgMzAuNiA1My45IDEwMy44IDQwLjYgMjExLjF6bS0xMzktODAuOGMuNCA4LjYtMTIuNSA5LjItMTIuOS42LTEuMS0yMi0xMS40LTMyLjctMzIuNi0zMy45LTguNi0uNS03LjgtMTMuNC43LTEyLjkgMjcuOSAxLjUgNDMuNCAxNy41IDQ0LjggNDYuMnptMjAuMyAxMS4zYzEtNDIuNC0yNS41LTc1LjYtNzUuOC03OS4zLTguNS0uNi03LjYtMTMuNS45LTEyLjkgNTggNC4yIDg4LjkgNDQuMSA4Ny44IDkyLjUtLjEgOC42LTEzLjEgOC4yLTEyLjktLjN6bTQ3IDEzLjRjLjEgOC42LTEyLjkgOC43LTEyLjkuMS0uNi04MS41LTU0LjktMTI1LjktMTIwLjgtMTI2LjQtOC41LS4xLTguNS0xMi45IDAtMTIuOSA3My43LjUgMTMzIDUxLjQgMTMzLjcgMTM5LjJ6TTM3NC45IDMyOXYuMmMtMTAuOCAxOS0zMSA0MC01MS44IDMzLjNsLS4yLS4zYy0yMS4xLTUuOS03MC44LTMxLjUtMTAyLjItNTYuNS0xNi4yLTEyLjgtMzEtMjcuOS00Mi40LTQyLjQtMTAuMy0xMi45LTIwLjctMjguMi0zMC44LTQ2LjYtMjEuMy0zOC41LTI2LTU1LjctMjYtNTUuNy02LjctMjAuOCAxNC4yLTQxIDMzLjMtNTEuOGguMmM5LjItNC44IDE4LTMuMiAyMy45IDMuOSAwIDAgMTIuNCAxNC44IDE3LjcgMjIuMSA1IDYuOCAxMS43IDE3LjcgMTUuMiAyMy44IDYuMSAxMC45IDIuMyAyMi0zLjcgMjYuNmwtMTIgOS42Yy02LjEgNC45LTUuMyAxNC01LjMgMTRzMTcuOCA2Ny4zIDg0LjMgODQuM2MwIDAgOS4xLjggMTQtNS4zbDkuNi0xMmM0LjYtNiAxNS43LTkuOCAyNi42LTMuNyAxNC43IDguMyAzMy40IDIxLjIgNDUuOCAzMi45IDcgNS43IDguNiAxNC40IDMuOCAyMy42eiJdLAogICAgICAidmltZW8iOiBbNDQ4LCA1MTIsIFtdLCAiZjQwYSIsICJNNDAzLjIgMzJINDQuOEMyMC4xIDMyIDAgNTIuMSAwIDc2Ljh2MzU4LjRDMCA0NTkuOSAyMC4xIDQ4MCA0NC44IDQ4MGgzNTguNGMyNC43IDAgNDQuOC0yMC4xIDQ0LjgtNDQuOFY3Ni44YzAtMjQuNy0yMC4xLTQ0LjgtNDQuOC00NC44ek0zNzcgMTgwLjhjLTEuNCAzMS41LTIzLjQgNzQuNy02NiAxMjkuNC00NCA1Ny4yLTgxLjMgODUuOC0xMTEuNyA4NS44LTE4LjkgMC0zNC44LTE3LjQtNDcuOS01Mi4zLTI1LjUtOTMuMy0zNi40LTE0OC01Ny40LTE0OC0yLjQgMC0xMC45IDUuMS0yNS40IDE1LjJsLTE1LjItMTkuNmMzNy4zLTMyLjggNzIuOS02OS4yIDk1LjItNzEuMiAyNS4yLTIuNCA0MC43IDE0LjggNDYuNSA1MS43IDIwLjcgMTMxLjIgMjkuOSAxNTEgNjcuNiA5MS42IDEzLjUtMjEuNCAyMC44LTM3LjcgMjEuOC00OC45IDMuNS0zMy4yLTI1LjktMzAuOS00NS44LTIyLjQgMTUuOS01Mi4xIDQ2LjMtNzcuNCA5MS4yLTc2IDMzLjMuOSA0OSAyMi41IDQ3LjEgNjQuN3oiXSwKICAgICAgInZpbWVvLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMTk0IiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0tMTYuMiAxNDkuNmMtMS40IDMxLjEtMjMuMiA3My44LTY1LjMgMTI3LjktNDMuNSA1Ni41LTgwLjMgODQuOC0xMTAuNCA4NC44LTE4LjcgMC0zNC40LTE3LjItNDcuMy01MS42LTI1LjItOTIuMy0zNS45LTE0Ni40LTU2LjctMTQ2LjQtMi40IDAtMTAuOCA1LTI1LjEgMTUuMUw2NCAxOTJjMzYuOS0zMi40IDcyLjEtNjguNCA5NC4xLTcwLjQgMjQuOS0yLjQgNDAuMiAxNC42IDQ2IDUxLjEgMjAuNSAxMjkuNiAyOS42IDE0OS4yIDY2LjggOTAuNSAxMy40LTIxLjIgMjAuNi0zNy4yIDIxLjUtNDguMyAzLjQtMzIuOC0yNS42LTMwLjYtNDUuMi0yMi4yIDE1LjctNTEuNSA0NS44LTc2LjUgOTAuMS03NS4xIDMyLjkgMSA0OC40IDIyLjQgNDYuNSA2NHoiXSwKICAgICAgInZpbWVvLXYiOiBbNDQ4LCA1MTIsIFtdLCAiZjI3ZCIsICJNNDQ3LjggMTUzLjZjLTIgNDMuNi0zMi40IDEwMy4zLTkxLjQgMTc5LjEtNjAuOSA3OS4yLTExMi40IDExOC44LTE1NC42IDExOC44LTI2LjEgMC00OC4yLTI0LjEtNjYuMy03Mi4zQzEwMC4zIDI1MCA4NS4zIDE3NC4zIDU2LjIgMTc0LjNjLTMuNCAwLTE1LjEgNy4xLTM1LjIgMjEuMUwwIDE2OC4yYzUxLjYtNDUuMyAxMDAuOS05NS43IDEzMS44LTk4LjUgMzQuOS0zLjQgNTYuMyAyMC41IDY0LjQgNzEuNSAyOC43IDE4MS41IDQxLjQgMjA4LjkgOTMuNiAxMjYuNyAxOC43LTI5LjYgMjguOC01Mi4xIDMwLjItNjcuNiA0LjgtNDUuOS0zNS44LTQyLjgtNjMuMy0zMSAyMi03Mi4xIDY0LjEtMTA3LjEgMTI2LjItMTA1LjEgNDUuOCAxLjIgNjcuNSAzMS4xIDY0LjkgODkuNHoiXSwKICAgICAgInZpbmUiOiBbMzg0LCA1MTIsIFtdLCAiZjFjYSIsICJNMzg0IDI1NC43djUyLjFjLTE4LjQgNC4yLTM2LjkgNi4xLTUyLjEgNi4xLTM2LjkgNzcuNC0xMDMgMTQzLjgtMTI1LjEgMTU2LjItMTQgNy45LTI3LjEgOC40LTQyLjctLjhDMTM3IDQ1MiAzNC4yIDM2Ny43IDAgMTAyLjdoNzQuNUM5My4yIDI2MS44IDEzOSAzNDMuNCAxODkuMyA0MDQuNWMyNy45LTI3LjkgNTQuOC02NS4xIDc1LjYtMTA2LjktNDkuOC0yNS4zLTgwLjEtODAuOS04MC4xLTE0NS42IDAtNjUuNiAzNy43LTExNS4xIDEwMi4yLTExNS4xIDExNC45IDAgMTA2LjIgMTI3LjkgODEuNiAxODEuNSAwIDAtNDYuNCA5LjItNjMuNS0yMC41IDMuNC0xMS4zIDguMi0zMC44IDguMi00OC41IDAtMzEuMy0xMS4zLTQ2LjYtMjguNC00Ni42LTE4LjIgMC0zMC44IDE3LjEtMzAuOCA1MCAuMSA3OS4yIDU5LjQgMTE4LjcgMTI5LjkgMTAxLjl6Il0sCiAgICAgICJ2ayI6IFs1NzYsIDUxMiwgW10sICJmMTg5IiwgIk01NDUgMTE3LjdjMy43LTEyLjUgMC0yMS43LTE3LjgtMjEuN2gtNTguOWMtMTUgMC0yMS45IDcuOS0yNS42IDE2LjcgMCAwLTMwIDczLjEtNzIuNCAxMjAuNS0xMy43IDEzLjctMjAgMTguMS0yNy41IDE4LjEtMy43IDAtOS40LTQuNC05LjQtMTYuOVYxMTcuN2MwLTE1LTQuMi0yMS43LTE2LjYtMjEuN2gtOTIuNmMtOS40IDAtMTUgNy0xNSAxMy41IDAgMTQuMiAyMS4yIDE3LjUgMjMuNCA1Ny41djg2LjhjMCAxOS0zLjQgMjIuNS0xMC45IDIyLjUtMjAgMC02OC42LTczLjQtOTcuNC0xNTcuNC01LjgtMTYuMy0xMS41LTIyLjktMjYuNi0yMi45SDM4LjhjLTE2LjggMC0yMC4yIDcuOS0yMC4yIDE2LjcgMCAxNS42IDIwIDkzLjEgOTMuMSAxOTUuNUMxNjAuNCAzNzguMSAyMjkgNDE2IDI5MS40IDQxNmMzNy41IDAgNDIuMS04LjQgNDIuMS0yMi45IDAtNjYuOC0zLjQtNzMuMSAxNS40LTczLjEgOC43IDAgMjMuNyA0LjQgNTguNyAzOC4xIDQwIDQwIDQ2LjYgNTcuOSA2OSA1Ny45aDU4LjljMTYuOCAwIDI1LjMtOC40IDIwLjQtMjUtMTEuMi0zNC45LTg2LjktMTA2LjctOTAuMy0xMTEuNS04LjctMTEuMi02LjItMTYuMiAwLTI2LjIuMS0uMSA3Mi0xMDEuMyA3OS40LTEzNS42eiJdLAogICAgICAidm52IjogWzY0MCwgNTEyLCBbXSwgImY0MGIiLCAiTTEwNC45IDM1MmMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRMMi42IDIxMC4xUy03LjggMTkyIDEzIDE5MmgzMi44YzEwLjQgMCAxMy4yIDguNyAxOC44IDE4LjFsMzYuNyA3NC41czUuMiAxMy4xIDIxLjEgMTMuMSAyMS4xLTEzLjEgMjEuMS0xMy4xbDM2LjctNzQuNWM1LjYtOS41IDguNC0xOC4xIDE4LjgtMTguMWgzMi44YzIwLjggMCAxMC40IDE4LjEgMTAuNCAxOC4xbC01NS44IDExMS41UzE3NC4yIDM1MiAxNDAgMzUyaC0zNS4xem0zOTUgMGMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRsLTU1LjktMTExLjVTMzg3LjIgMTkyIDQwOCAxOTJoMzIuOGMxMC40IDAgMTMuMiA4LjcgMTguOCAxOC4xbDM2LjcgNzQuNXM1LjIgMTMuMSAyMS4xIDEzLjEgMjEuMS0xMy4xIDIxLjEtMTMuMWwzNi44LTc0LjVjNS42LTkuNSA4LjQtMTguMSAxOC44LTE4LjFINjI3YzIwLjggMCAxMC40IDE4LjEgMTAuNCAxOC4xbC01NS45IDExMS41UzU2OS4zIDM1MiA1MzUuMSAzNTJoLTM1LjJ6TTMzNy42IDE5MmMzNC4xIDAgNDYuNCAzMC40IDQ2LjQgMzAuNGw1NS45IDExMS41czEwLjQgMTguMS0xMC40IDE4LjFoLTMyLjhjLTEwLjQgMC0xMy4yLTguNy0xOC44LTE4LjFsLTM2LjctNzQuNXMtNS4yLTEzLjEtMjEuMS0xMy4xYy0xNS45IDAtMjEuMSAxMy4xLTIxLjEgMTMuMWwtMzYuNyA3NC41Yy01LjYgOS40LTguNCAxOC4xLTE4LjggMTguMWgtMzIuOWMtMjAuOCAwLTEwLjQtMTguMS0xMC40LTE4LjFsNTUuOS0xMTEuNXMxMi4yLTMwLjQgNDYuNC0zMC40aDM1LjF6Il0sCiAgICAgICJ2dWVqcyI6IFs0NDgsIDUxMiwgW10sICJmNDFmIiwgIk0zNTYuOSA2NC4zSDI4MGwtNTYgODguNi00OC04OC42SDBMMjI0IDQ0OCA0NDggNjQuM2gtOTEuMXptLTMwMS4yIDMyaDUzLjhMMjI0IDI5NC41IDMzOC40IDk2LjNoNTMuOEwyMjQgMzg0LjUgNTUuNyA5Ni4zeiJdLAogICAgICAid2VpYm8iOiBbNTEyLCA1MTIsIFtdLCAiZjE4YSIsICJNNDA3IDE3Ny42YzcuNi0yNC0xMy40LTQ2LjgtMzcuNC00MS43LTIyIDQuOC0yOC44LTI4LjEtNy4xLTMyLjggNTAuMS0xMC45IDkyLjMgMzcuMSA3Ni41IDg0LjgtNi44IDIxLjItMzguOCAxMC44LTMyLTEwLjN6TTIxNC44IDQ0Ni43QzEwOC41IDQ0Ni43IDAgMzk1LjMgMCAzMTAuNGMwLTQ0LjMgMjgtOTUuNCA3Ni4zLTE0My43QzE3NiA2NyAyNzkuNSA2NS44IDI0OS45IDE2MWMtNCAxMy4xIDEyLjMgNS43IDEyLjMgNiA3OS41LTMzLjYgMTQwLjUtMTYuOCAxMTQgNTEuNC0zLjcgOS40IDEuMSAxMC45IDguMyAxMy4xIDEzNS43IDQyLjMgMzQuOCAyMTUuMi0xNjkuNyAyMTUuMnptMTQzLjctMTQ2LjNjLTUuNC01NS43LTc4LjUtOTQtMTYzLjQtODUuNy04NC44IDguNi0xNDguOCA2MC4zLTE0My40IDExNnM3OC41IDk0IDE2My40IDg1LjdjODQuOC04LjYgMTQ4LjgtNjAuMyAxNDMuNC0xMTZ6TTM0Ny45IDM1LjFjLTI1LjkgNS42LTE2LjggNDMuNyA4LjMgMzguMyA3Mi4zLTE1LjIgMTM0LjggNTIuOCAxMTEuNyAxMjQtNy40IDI0LjIgMjkuMSAzNyAzNy40IDEyIDMxLjktOTkuOC01NS4xLTE5NS45LTE1Ny40LTE3NC4zem0tNzguNSAzMTFjLTE3LjEgMzguOC02Ni44IDYwLTEwOS4xIDQ2LjMtNDAuOC0xMy4xLTU4LTUzLjQtNDAuMy04OS43IDE3LjctMzUuNCA2My4xLTU1LjQgMTAzLjQtNDUuMSA0MiAxMC44IDYzLjEgNTAuMiA0NiA4OC41em0tODYuMy0zMGMtMTIuOS01LjQtMzAgLjMtMzggMTIuOS04LjMgMTIuOS00LjMgMjggOC42IDM0IDEzLjEgNiAzMC44LjMgMzkuMS0xMi45IDgtMTMuMSAzLjctMjguMy05LjctMzR6bTMyLjYtMTMuNGMtNS4xLTEuNy0xMS40LjYtMTQuMyA1LjQtMi45IDUuMS0xLjQgMTAuNiAzLjcgMTIuOSA1LjEgMiAxMS43LS4zIDE0LjYtNS40IDIuOC01LjIgMS4xLTEwLjktNC0xMi45eiJdLAogICAgICAid2VpeGluIjogWzU3NiwgNTEyLCBbXSwgImYxZDciLCAiTTM4NS4yIDE2Ny42YzYuNCAwIDEyLjYuMyAxOC44IDEuMUMzODcuNCA5MC4zIDMwMy4zIDMyIDIwNy43IDMyIDEwMC41IDMyIDEzIDEwNC44IDEzIDE5Ny40YzAgNTMuNCAyOS4zIDk3LjUgNzcuOSAxMzEuNmwtMTkuMyA1OC42IDY4LTM0LjFjMjQuNCA0LjggNDMuOCA5LjcgNjguMiA5LjcgNi4yIDAgMTIuMS0uMyAxOC4zLS44LTQtMTIuOS02LjItMjYuNi02LjItNDAuOC0uMS04NC45IDcyLjktMTU0IDE2NS4zLTE1NHptLTEwNC41LTUyLjljMTQuNSAwIDI0LjIgOS43IDI0LjIgMjQuNCAwIDE0LjUtOS43IDI0LjItMjQuMiAyNC4yLTE0LjggMC0yOS4zLTkuNy0yOS4zLTI0LjIuMS0xNC43IDE0LjYtMjQuNCAyOS4zLTI0LjR6bS0xMzYuNCA0OC42Yy0xNC41IDAtMjkuMy05LjctMjkuMy0yNC4yIDAtMTQuOCAxNC44LTI0LjQgMjkuMy0yNC40IDE0LjggMCAyNC40IDkuNyAyNC40IDI0LjQgMCAxNC42LTkuNiAyNC4yLTI0LjQgMjQuMnpNNTYzIDMxOS40YzAtNzcuOS03Ny45LTE0MS4zLTE2NS40LTE0MS4zLTkyLjcgMC0xNjUuNCA2My40LTE2NS40IDE0MS4zUzMwNSA0NjAuNyAzOTcuNiA0NjAuN2MxOS4zIDAgMzguOS01LjEgNTguNi05LjlsNTMuNCAyOS4zLTE0LjgtNDguNkM1MzQgNDAyLjEgNTYzIDM2My4yIDU2MyAzMTkuNHptLTIxOS4xLTI0LjVjLTkuNyAwLTE5LjMtOS43LTE5LjMtMTkuNiAwLTkuNyA5LjctMTkuMyAxOS4zLTE5LjMgMTQuOCAwIDI0LjQgOS43IDI0LjQgMTkuMyAwIDEwLTkuNyAxOS42LTI0LjQgMTkuNnptMTA3LjEgMGMtOS43IDAtMTkuMy05LjctMTkuMy0xOS42IDAtOS43IDkuNy0xOS4zIDE5LjMtMTkuMyAxNC41IDAgMjQuNCA5LjcgMjQuNCAxOS4zLjEgMTAtOS45IDE5LjYtMjQuNCAxOS42eiJdLAogICAgICAid2hhdHNhcHAiOiBbNDQ4LCA1MTIsIFtdLCAiZjIzMiIsICJNMzgwLjkgOTcuMUMzMzkgNTUuMSAyODMuMiAzMiAyMjMuOSAzMmMtMTIyLjQgMC0yMjIgOTkuNi0yMjIgMjIyIDAgMzkuMSAxMC4yIDc3LjMgMjkuNiAxMTFMMCA0ODBsMTE3LjctMzAuOWMzMi40IDE3LjcgNjguOSAyNyAxMDYuMSAyN2guMWMxMjIuMyAwIDIyNC4xLTk5LjYgMjI0LjEtMjIyIDAtNTkuMy0yNS4yLTExNS02Ny4xLTE1N3ptLTE1NyAzNDEuNmMtMzMuMiAwLTY1LjctOC45LTk0LTI1LjdsLTYuNy00LTY5LjggMTguM0w3MiAzNTkuMmwtNC40LTdjLTE4LjUtMjkuNC0yOC4yLTYzLjMtMjguMi05OC4yIDAtMTAxLjcgODIuOC0xODQuNSAxODQuNi0xODQuNSA0OS4zIDAgOTUuNiAxOS4yIDEzMC40IDU0LjEgMzQuOCAzNC45IDU2LjIgODEuMiA1Ni4xIDEzMC41IDAgMTAxLjgtODQuOSAxODQuNi0xODYuNiAxODQuNnptMTAxLjItMTM4LjJjLTUuNS0yLjgtMzIuOC0xNi4yLTM3LjktMTgtNS4xLTEuOS04LjgtMi44LTEyLjUgMi44LTMuNyA1LjYtMTQuMyAxOC0xNy42IDIxLjgtMy4yIDMuNy02LjUgNC4yLTEyIDEuNC0zMi42LTE2LjMtNTQtMjkuMS03NS41LTY2LTUuNy05LjggNS43LTkuMSAxNi4zLTMwLjMgMS44LTMuNy45LTYuOS0uNS05LjctMS40LTIuOC0xMi41LTMwLjEtMTcuMS00MS4yLTQuNS0xMC44LTkuMS05LjMtMTIuNS05LjUtMy4yLS4yLTYuOS0uMi0xMC42LS4yLTMuNyAwLTkuNyAxLjQtMTQuOCA2LjktNS4xIDUuNi0xOS40IDE5LTE5LjQgNDYuMyAwIDI3LjMgMTkuOSA1My43IDIyLjYgNTcuNCAyLjggMy43IDM5LjEgNTkuNyA5NC44IDgzLjggMzUuMiAxNS4yIDQ5IDE2LjUgNjYuNiAxMy45IDEwLjctMS42IDMyLjgtMTMuNCAzNy40LTI2LjQgNC42LTEzIDQuNi0yNC4xIDMuMi0yNi40LTEuMy0yLjUtNS0zLjktMTAuNS02LjZ6Il0sCiAgICAgICJ3aGF0c2FwcC1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjQwYyIsICJNMjI0IDEyMi44Yy03Mi43IDAtMTMxLjggNTkuMS0xMzEuOSAxMzEuOCAwIDI0LjkgNyA0OS4yIDIwLjIgNzAuMWwzLjEgNS0xMy4zIDQ4LjYgNDkuOS0xMy4xIDQuOCAyLjljMjAuMiAxMiA0My40IDE4LjQgNjcuMSAxOC40aC4xYzcyLjYgMCAxMzMuMy01OS4xIDEzMy4zLTEzMS44IDAtMzUuMi0xNS4yLTY4LjMtNDAuMS05My4yLTI1LTI1LTU4LTM4LjctOTMuMi0zOC43em03Ny41IDE4OC40Yy0zLjMgOS4zLTE5LjEgMTcuNy0yNi43IDE4LjgtMTIuNiAxLjktMjIuNC45LTQ3LjUtOS45LTM5LjctMTcuMi02NS43LTU3LjItNjcuNy01OS44LTItMi42LTE2LjItMjEuNS0xNi4yLTQxczEwLjItMjkuMSAxMy45LTMzLjFjMy42LTQgNy45LTUgMTAuNi01IDIuNiAwIDUuMyAwIDcuNi4xIDIuNC4xIDUuNy0uOSA4LjkgNi44IDMuMyA3LjkgMTEuMiAyNy40IDEyLjIgMjkuNHMxLjcgNC4zLjMgNi45Yy03LjYgMTUuMi0xNS43IDE0LjYtMTEuNiAyMS42IDE1LjMgMjYuMyAzMC42IDM1LjQgNTMuOSA0Ny4xIDQgMiA2LjMgMS43IDguNi0xIDIuMy0yLjYgOS45LTExLjYgMTIuNS0xNS41IDIuNi00IDUuMy0zLjMgOC45LTIgMy42IDEuMyAyMy4xIDEwLjkgMjcuMSAxMi45czYuNiAzIDcuNiA0LjZjLjkgMS45LjkgOS45LTIuNCAxOS4xek00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0yMjMuOSA0MTMuMmMtMjYuNiAwLTUyLjctNi43LTc1LjgtMTkuM0w2NCA0MTZsMjIuNS04Mi4yYy0xMy45LTI0LTIxLjItNTEuMy0yMS4yLTc5LjNDNjUuNCAxNjcuMSAxMzYuNSA5NiAyMjMuOSA5NmM0Mi40IDAgODIuMiAxNi41IDExMi4yIDQ2LjUgMjkuOSAzMCA0Ny45IDY5LjggNDcuOSAxMTIuMiAwIDg3LjQtNzIuNyAxNTguNS0xNjAuMSAxNTguNXoiXSwKICAgICAgIndobWNzIjogWzQ0OCwgNTEyLCBbXSwgImY0MGQiLCAiTTQ0OCAxNjF2LTIxLjNsLTI4LjUtOC44LTIuMi0xMC40IDIwLjEtMjAuN0w0MjcgODAuNGwtMjkgNy41LTcuMi03LjUgNy41LTI4LjItMTkuMS0xMS42LTIxLjMgMjEtMTAuNy0zLjItNy0yNi40aC0yMi42bC02LjIgMjYuNC0xMi4xIDMuMi0xOS43LTIxLTE5LjQgMTEgOC4xIDI3LjctOC4xIDguNC0yOC41LTcuNS0xMSAxOS4xIDIwLjcgMjEtMi45IDEwLjQtMjguNSA3LjgtLjMgMjEuNyAyOC44IDcuNSAyLjQgMTIuMS0yMC4xIDE5LjkgMTAuNCAxOC41IDI5LjYtNy41IDcuMiA4LjYtOC4xIDI2LjkgMTkuOSAxMS42IDE5LjQtMjAuNCAxMS42IDIuOSA2LjcgMjguNSAyMi42LjMgNi43LTI4LjggMTEuNi0zLjUgMjAuNyAyMS42IDIwLjQtMTIuMS04LjgtMjggNy44LTguMSAyOC44IDguOCAxMC4zLTIwLjEtMjAuOS0xOC44IDIuMi0xMi4xIDI5LjEtN3ptLTExOS4yIDQ1LjJjLTMxLjMgMC01Ni44LTI1LjQtNTYuOC01Ni44czI1LjQtNTYuOCA1Ni44LTU2LjggNTYuOCAyNS40IDU2LjggNTYuOGMwIDMxLjUtMjUuNCA1Ni44LTU2LjggNTYuOHptNzIuMyAxNi40bDQ2LjkgMTQuNVYyNzdsLTU1LjEgMTMuNC00LjEgMjIuNyAzOC45IDM1LjMtMTkuMiAzNy45LTU0LTE2LjctMTQuNiAxNS4yIDE2LjcgNTIuNS0zOC4zIDIyLjctMzguOS00MC41LTIxLjcgNi42LTEyLjYgNTQtNDIuNC0uNS0xMi42LTUzLjYtMjEuNy01LjYtMzYuNCAzOC40LTM3LjQtMjEuNyAxNS4yLTUwLjUtMTMuNy0xNi4xLTU1LjUgMTQuMS0xOS43LTM0LjggMzcuOS0zNy40LTQuOC0yMi44LTU0LTE0LjEuNS00MC45TDU0IDIxOS45bDUuNy0xOS43LTM4LjktMzkuNEw0MS41IDEyNWw1My42IDE0LjEgMTUuMi0xNS43LTE1LjItNTIgMzYuNC0yMC43IDM2LjggMzkuNEwxOTEgODRsMTEuNi01MkgyNDVsMTEuNiA0NS45TDIzNCA3MmwtNi4zLTEuNy0zLjMgNS43LTExIDE5LjEtMy4zIDUuNiA0LjYgNC42IDE3LjIgMTcuNC0uMyAxLTIzLjggNi41LTYuMiAxLjctLjEgNi40LS4yIDEyLjlDMTUzLjggMTYxLjYgMTE4IDIwNCAxMTggMjU0LjdjMCA1OC4zIDQ3LjMgMTA1LjcgMTA1LjcgMTA1LjcgNTAuNSAwIDkyLjctMzUuNCAxMDMuMi04Mi44bDEzLjIuMiA2LjkuMSAxLjYtNi43IDUuNi0yNCAxLjktLjYgMTcuMSAxNy44IDQuNyA0LjkgNS44LTMuNCAyMC40LTEyLjEgNS44LTMuNS0yLTYuNS02LjgtMjEuMnoiXSwKICAgICAgIndpa2lwZWRpYS13IjogWzY0MCwgNTEyLCBbXSwgImYyNjYiLCAiTTY0MCA1MS4ybC0uMyAxMi4yYy0yOC4xLjgtNDUgMTUuOC01NS44IDQwLjMtMjUgNTcuOC0xMDMuMyAyNDAtMTU1LjMgMzU4LjZINDE1bC04MS45LTE5My4xYy0zMi41IDYzLjYtNjguMyAxMzAtOTkuMiAxOTMuMS0uMy4zLTE1IDAtMTUtLjNDMTcyIDM1Mi4zIDEyMi44IDI0My40IDc1LjggMTMzLjQgNjQuNCAxMDYuNyAyNi40IDYzLjQuMiA2My43YzAtMy4xLS4zLTEwLS4zLTE0LjJoMTYxLjl2MTMuOWMtMTkuMiAxLjEtNTIuOCAxMy4zLTQzLjMgMzQuMiAyMS45IDQ5LjcgMTAzLjYgMjQwLjMgMTI1LjYgMjg4LjYgMTUtMjkuNyA1Ny44LTEwOS4yIDc1LjMtMTQyLjgtMTMuOS0yOC4zLTU4LjYtMTMzLjktNzIuOC0xNjAtOS43LTE3LjgtMzYuMS0xOS40LTU1LjgtMTkuN1Y0OS44bDE0Mi41LjN2MTMuMWMtMTkuNC42LTM4LjEgNy44LTI5LjQgMjYuMSAxOC45IDQwIDMwLjYgNjguMSA0OC4xIDEwNC43IDUuNi0xMC44IDM0LjctNjkuNCA0OC4xLTEwMC44IDguOS0yMC42LTMuOS0yOC42LTM4LjYtMjkuNC4zLTMuNiAwLTEwLjMuMy0xMy42IDQ0LjQtLjMgMTExLjEtLjMgMTIzLjEtLjZ2MTMuNmMtMjIuNS44LTQ1LjggMTIuOC01OC4xIDMxLjdsLTU5LjIgMTIyLjhjNi40IDE2LjEgNjMuMyAxNDIuOCA2OS4yIDE1Ni43TDU1OS4yIDkxLjhjLTguNi0yMy4xLTM2LjQtMjguMS00Ny4yLTI4LjNWNDkuNmwxMjcuOCAxLjEuMi41eiJdLAogICAgICAid2luZG93cyI6IFs0NDgsIDUxMiwgW10sICJmMTdhIiwgIk0wIDkzLjdsMTgzLjYtMjUuM3YxNzcuNEgwVjkzLjd6bTAgMzI0LjZsMTgzLjYgMjUuM1YyNjguNEgwdjE0OS45em0yMDMuOCAyOEw0NDggNDgwVjI2OC40SDIwMy44djE3Ny45em0wLTM4MC42djE4MC4xSDQ0OFYzMkwyMDMuOCA2NS43eiJdLAogICAgICAid29yZHByZXNzIjogWzUxMiwgNTEyLCBbXSwgImYxOWEiLCAiTTYxLjcgMTY5LjRsMTAxLjUgMjc4QzkyLjIgNDEzIDQzLjMgMzQwLjIgNDMuMyAyNTZjMC0zMC45IDYuNi02MC4xIDE4LjQtODYuNnptMzM3LjkgNzUuOWMwLTI2LjMtOS40LTQ0LjUtMTcuNS01OC43LTEwLjgtMTcuNS0yMC45LTMyLjQtMjAuOS00OS45IDAtMTkuNiAxNC44LTM3LjggMzUuNy0zNy44LjkgMCAxLjguMSAyLjguMi0zNy45LTM0LjctODguMy01NS45LTE0My43LTU1LjktNzQuMyAwLTEzOS43IDM4LjEtMTc3LjggOTUuOSA1IC4yIDkuNy4zIDEzLjcuMyAyMi4yIDAgNTYuNy0yLjcgNTYuNy0yLjcgMTEuNS0uNyAxMi44IDE2LjIgMS40IDE3LjUgMCAwLTExLjUgMS4zLTI0LjMgMmw3Ny41IDIzMC40TDI0OS44IDI0N2wtMzMuMS05MC44Yy0xMS41LS43LTIyLjMtMi0yMi4zLTItMTEuNS0uNy0xMC4xLTE4LjIgMS4zLTE3LjUgMCAwIDM1LjEgMi43IDU2IDIuNyAyMi4yIDAgNTYuNy0yLjcgNTYuNy0yLjcgMTEuNS0uNyAxMi44IDE2LjIgMS40IDE3LjUgMCAwLTExLjUgMS4zLTI0LjMgMmw3Ni45IDIyOC43IDIxLjItNzAuOWM5LTI5LjQgMTYtNTAuNSAxNi02OC43em0tMTM5LjkgMjkuM2wtNjMuOCAxODUuNWMxOS4xIDUuNiAzOS4yIDguNyA2MC4xIDguNyAyNC44IDAgNDguNS00LjMgNzAuNi0xMi4xLS42LS45LTEuMS0xLjktMS41LTIuOWwtNjUuNC0xNzkuMnptMTgzLTEyMC43Yy45IDYuOCAxLjQgMTQgMS40IDIxLjkgMCAyMS42LTQgNDUuOC0xNi4yIDc2LjJsLTY1IDE4Ny45QzQyNi4yIDQwMyA0NjguNyAzMzQuNSA0NjguNyAyNTZjMC0zNy05LjQtNzEuOC0yNi0xMDIuMXpNNTA0IDI1NmMwIDEzNi44LTExMS4zIDI0OC0yNDggMjQ4QzExOS4yIDUwNCA4IDM5Mi43IDggMjU2IDggMTE5LjIgMTE5LjIgOCAyNTYgOGMxMzYuNyAwIDI0OCAxMTEuMiAyNDggMjQ4em0tMTEuNCAwYzAtMTMwLjUtMTA2LjItMjM2LjYtMjM2LjYtMjM2LjZDMTI1LjUgMTkuNCAxOS40IDEyNS41IDE5LjQgMjU2UzEyNS42IDQ5Mi42IDI1NiA0OTIuNmMxMzAuNSAwIDIzNi42LTEwNi4xIDIzNi42LTIzNi42eiJdLAogICAgICAid29yZHByZXNzLXNpbXBsZSI6IFs1MTIsIDUxMiwgW10sICJmNDExIiwgIk0yNTYgOEMxMTkuMyA4IDggMTE5LjIgOCAyNTZjMCAxMzYuNyAxMTEuMyAyNDggMjQ4IDI0OHMyNDgtMTExLjMgMjQ4LTI0OEM1MDQgMTE5LjIgMzkyLjcgOCAyNTYgOHpNMzMgMjU2YzAtMzIuMyA2LjktNjMgMTkuMy05MC43bDEwNi40IDI5MS40Qzg0LjMgNDIwLjUgMzMgMzQ0LjIgMzMgMjU2em0yMjMgMjIzYy0yMS45IDAtNDMtMy4yLTYzLTkuMWw2Ni45LTE5NC40IDY4LjUgMTg3LjhjLjUgMS4xIDEgMi4xIDEuNiAzLjEtMjMuMSA4LjEtNDggMTIuNi03NCAxMi42em0zMC43LTMyNy41YzEzLjQtLjcgMjUuNS0yLjEgMjUuNS0yLjEgMTItMS40IDEwLjYtMTkuMS0xLjQtMTguNCAwIDAtMzYuMSAyLjgtNTkuNCAyLjgtMjEuOSAwLTU4LjctMi44LTU4LjctMi44LTEyLS43LTEzLjQgMTcuNy0xLjQgMTguNCAwIDAgMTEuNCAxLjQgMjMuNCAyLjFsMzQuNyA5NS4yTDIwMC42IDM5M2wtODEuMi0yNDEuNWMxMy40LS43IDI1LjUtMi4xIDI1LjUtMi4xIDEyLTEuNCAxMC42LTE5LjEtMS40LTE4LjQgMCAwLTM2LjEgMi44LTU5LjQgMi44LTQuMiAwLTkuMS0uMS0xNC40LS4zQzEwOS42IDczIDE3OC4xIDMzIDI1NiAzM2M1OCAwIDExMC45IDIyLjIgMTUwLjYgNTguNS0xLS4xLTEuOS0uMi0yLjktLjItMjEuOSAwLTM3LjQgMTkuMS0zNy40IDM5LjYgMCAxOC40IDEwLjYgMzMuOSAyMS45IDUyLjMgOC41IDE0LjggMTguNCAzMy45IDE4LjQgNjEuNSAwIDE5LjEtNy4zIDQxLjItMTcgNzIuMWwtMjIuMiA3NC4zLTgwLjctMjM5LjZ6bTgxLjQgMjk3LjJsNjguMS0xOTYuOWMxMi43LTMxLjggMTctNTcuMiAxNy03OS45IDAtOC4yLS41LTE1LjgtMS41LTIyLjkgMTcuNCAzMS44IDI3LjMgNjguMiAyNy4zIDEwNyAwIDgyLjMtNDQuNiAxNTQuMS0xMTAuOSAxOTIuN3oiXSwKICAgICAgIndwYmVnaW5uZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjI5NyIsICJNNDYyLjc5OSAzMjIuMzc0QzUxOS4wMSAzODYuNjgyIDQ2Ni45NjEgNDgwIDM3MC45NDQgNDgwYy0zOS42MDIgMC03OC44MjQtMTcuNjg3LTEwMC4xNDItNTAuMDQtNi44ODcuMzU2LTIyLjcwMi4zNTYtMjkuNTkgMEMyMTkuODQ4IDQ2Mi4zODEgMTgwLjU4OCA0ODAgMTQxLjA2OSA0ODBjLTk1LjQ5IDAtMTQ4LjM0OC05Mi45OTYtOTEuODU1LTE1Ny42MjZDLTI5LjkyNSAxOTAuNTIzIDgwLjQ3OSAzMiAyNTYuMDA2IDMyYzE3NS42MzIgMCAyODUuODcgMTU4LjYyNiAyMDYuNzkzIDI5MC4zNzR6bS0zMzkuNjQ3LTgyLjk3Mmg0MS41Mjl2LTU4LjA3NWgtNDEuNTI5djU4LjA3NXptMjE3LjE4IDg2LjA3MnYtMjMuODM5Yy02MC41MDYgMjAuOTE1LTEzMi4zNTUgOS4xOTgtMTg3LjU4OS0zMy45NzFsLjI0NiAyNC44OTdjNTEuMTAxIDQ2LjM2NyAxMzEuNzQ2IDU3Ljg3NSAxODcuMzQzIDMyLjkxM3ptLTE1MC43NTMtODYuMDcyaDE2Ni4wNTh2LTU4LjA3NUgxODkuNTc5djU4LjA3NXoiXSwKICAgICAgIndwZXhwbG9yZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjJkZSIsICJNNTEyIDI1NmMwIDE0MS4yLTExNC43IDI1Ni0yNTYgMjU2QzExNC44IDUxMiAwIDM5Ny4zIDAgMjU2UzExNC43IDAgMjU2IDBzMjU2IDExNC43IDI1NiAyNTZ6bS0zMiAwYzAtMTIzLjItMTAwLjMtMjI0LTIyNC0yMjRDMTMyLjUgMzIgMzIgMTMyLjUgMzIgMjU2czEwMC41IDIyNCAyMjQgMjI0IDIyNC0xMDAuNSAyMjQtMjI0ek0xNjAuOSAxMjQuNmw4Ni45IDM3LjEtMzcuMSA4Ni45LTg2LjktMzcuMSAzNy4xLTg2Ljl6bTExMCAxNjkuMWw0Ni42IDk0aC0xNC42bC01MC0xMDAtNDguOSAxMDBoLTE0bDUxLjEtMTA2LjktMjIuMy05LjQgNi0xNCA2OC42IDI5LjEtNiAxNC4zLTE2LjUtNy4xem0tMTEuOC0xMTYuM2w2OC42IDI5LjQtMjkuNCA2OC4zTDIzMCAyNDZsMjkuMS02OC42em04MC4zIDQyLjlsNTQuNiAyMy4xLTIzLjQgNTQuMy01NC4zLTIzLjEgMjMuMS01NC4zeiJdLAogICAgICAid3Bmb3JtcyI6IFs0NDgsIDUxMiwgW10sICJmMjk4IiwgIk00NDggNzUuMnYzNjEuN2MwIDI0LjMtMTkgNDMuMi00My4yIDQzLjJINDMuMkMxOS4zIDQ4MCAwIDQ2MS40IDAgNDM2LjhWNzUuMkMwIDUxLjEgMTguOCAzMiA0My4yIDMyaDM2MS43YzI0IDAgNDMuMSAxOC44IDQzLjEgNDMuMnptLTM3LjMgMzYxLjZWNzUuMmMwLTMtMi42LTUuOC01LjgtNS44aC05LjNMMjg1LjMgMTQ0IDIyNCA5NC4xIDE2Mi44IDE0NCA1Mi41IDY5LjNoLTkuM2MtMy4yIDAtNS44IDIuOC01LjggNS44djM2MS43YzAgMyAyLjYgNS44IDUuOCA1LjhoMzYxLjdjMy4yLjEgNS44LTIuNyA1LjgtNS44ek0xNTAuMiAxODZ2MzdINzYuN3YtMzdoNzMuNXptMCA3NC40djM3LjNINzYuN3YtMzcuM2g3My41em0xMS4xLTE0Ny4zbDU0LTQzLjdIOTYuOGw2NC41IDQzLjd6bTIxMCA3Mi45djM3aC0xOTZ2LTM3aDE5NnptMCA3NC40djM3LjNoLTE5NnYtMzcuM2gxOTZ6bS04NC42LTE0Ny4zbDY0LjUtNDMuN0gyMzIuOGw1My45IDQzLjd6TTM3MS4zIDMzNXYzNy4zaC05OS40VjMzNWg5OS40eiJdLAogICAgICAieGJveCI6IFs1MTIsIDUxMiwgW10sICJmNDEyIiwgIk0zNjkuOSAzMTguMmM0NC4zIDU0LjMgNjQuNyA5OC44IDU0LjQgMTE4LjctNy45IDE1LjEtNTYuNyA0NC42LTkyLjYgNTUuOS0yOS42IDkuMy02OC40IDEzLjMtMTAwLjQgMTAuMi0zOC4yLTMuNy03Ni45LTE3LjQtMTEwLjEtMzlDOTMuMyA0NDUuOCA4NyA0MzguMyA4NyA0MjMuNGMwLTI5LjkgMzIuOS04Mi4zIDg5LjItMTQyLjEgMzItMzMuOSA3Ni41LTczLjcgODEuNC03Mi42IDkuNCAyLjEgODQuMyA3NS4xIDExMi4zIDEwOS41ek0xODguNiAxNDMuOGMtMjkuNy0yNi45LTU4LjEtNTMuOS04Ni40LTYzLjQtMTUuMi01LjEtMTYuMy00LjgtMjguNyA4LjEtMjkuMiAzMC40LTUzLjUgNzkuNy02MC4zIDEyMi40LTUuNCAzNC4yLTYuMSA0My44LTQuMiA2MC41IDUuNiA1MC41IDE3LjMgODUuNCA0MC41IDEyMC45IDkuNSAxNC42IDEyLjEgMTcuMyA5LjMgOS45LTQuMi0xMS0uMy0zNy41IDkuNS02NCAxNC4zLTM5IDUzLjktMTEyLjkgMTIwLjMtMTk0LjR6bTMxMS42IDYzLjVDNDgzLjMgMTI3LjMgNDMyLjcgNzcgNDI1LjYgNzdjLTcuMyAwLTI0LjIgNi41LTM2IDEzLjktMjMuMyAxNC41LTQxIDMxLjQtNjQuMyA1Mi44QzM2Ny43IDE5NyA0MjcuNSAyODMuMSA0NDguMiAzNDZjNi44IDIwLjcgOS43IDQxLjEgNy40IDUyLjMtMS43IDguNS0xLjcgOC41IDEuNCA0LjYgNi4xLTcuNyAxOS45LTMxLjMgMjUuNC00My41IDcuNC0xNi4yIDE1LTQwLjIgMTguNi01OC43IDQuMy0yMi41IDMuOS03MC44LS44LTkzLjR6TTE0MS4zIDQzQzE4OSA0MC41IDI1MSA3Ny41IDI1NS42IDc4LjRjLjcuMSAxMC40LTQuMiAyMS42LTkuNyA2My45LTMxLjEgOTQtMjUuOCAxMDcuNC0yNS4yLTYzLjktMzkuMy0xNTIuNy01MC0yMzMuOS0xMS43LTIzLjQgMTEuMS0yNCAxMS45LTkuNCAxMS4yeiJdLAogICAgICAieGluZyI6IFszODQsIDUxMiwgW10sICJmMTY4IiwgIk0xNjIuNyAyMTBjLTEuOCAzLjMtMjUuMiA0NC40LTcwLjEgMTIzLjUtNC45IDguMy0xMC44IDEyLjUtMTcuNyAxMi41SDkuOGMtNy43IDAtMTIuMS03LjUtOC41LTE0LjRsNjktMTIxLjNjLjIgMCAuMi0uMSAwLS4zbC00My45LTc1LjZjLTQuMy03LjguMy0xNC4xIDguNS0xNC4xSDEwMGM3LjMgMCAxMy4zIDQuMSAxOCAxMi4ybDQ0LjcgNzcuNXpNMzgyLjYgNDYuMWwtMTQ0IDI1M3YuM0wzMzAuMiA0NjZjMy45IDcuMS4yIDE0LjEtOC41IDE0LjFoLTY1LjJjLTcuNiAwLTEzLjYtNC0xOC0xMi4ybC05Mi40LTE2OC41YzMuMy01LjggNTEuNS05MC44IDE0NC44LTI1NS4yIDQuNi04LjEgMTAuNC0xMi4yIDE3LjUtMTIuMmg2NS43YzggMCAxMi4zIDYuNyA4LjUgMTQuMXoiXSwKICAgICAgInhpbmctc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYxNjkiLCAiTTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTE0MC40IDMyMC4ySDkzLjhjLTUuNSAwLTguNy01LjMtNi0xMC4zbDQ5LjMtODYuN2MuMSAwIC4xLS4xIDAtLjJsLTMxLjQtNTRjLTMtNS42LjItMTAuMSA2LTEwLjFoNDYuNmM1LjIgMCA5LjUgMi45IDEyLjkgOC43bDMxLjkgNTUuM2MtMS4zIDIuMy0xOCAzMS43LTUwLjEgODguMi0zLjUgNi4yLTcuNyA5LjEtMTIuNiA5LjF6bTIxOS43LTIxNC4xTDI1Ny4zIDI4Ni44di4ybDY1LjUgMTE5YzIuOCA1LjEuMSAxMC4xLTYgMTAuMWgtNDYuNmMtNS41IDAtOS43LTIuOS0xMi45LTguN2wtNjYtMTIwLjNjMi4zLTQuMSAzNi44LTY0LjkgMTAzLjQtMTgyLjMgMy4zLTUuOCA3LjQtOC43IDEyLjUtOC43aDQ2LjljNS43LS4xIDguOCA0LjcgNiAxMHoiXSwKICAgICAgInktY29tYmluYXRvciI6IFs0NDgsIDUxMiwgW10sICJmMjNiIiwgIk00NDggMzJ2NDQ4SDBWMzJoNDQ4ek0yMzYgMjg3LjVMMzEzLjUgMTQyaC0zMi43TDIzNSAyMzNjLTQuNyA5LjMtOSAxOC4zLTEyLjggMjYuOEwyMTAgMjMzbC00NS4yLTkxaC0zNWw3Ni43IDE0My44djk0LjVIMjM2di05Mi44eiJdLAogICAgICAieWFob28iOiBbNDQ4LCA1MTIsIFtdLCAiZjE5ZSIsICJNMjUyIDI5Mmw0IDIyMGMtMTIuNy0yLjItMjMuNS0zLjktMzIuMy0zLjktOC40IDAtMTkuMiAxLjctMzIuMyAzLjlsNC0yMjBDMTQwLjQgMTk3LjIgODUgOTUuMiAyMS40IDBjMTEuOSAzLjEgMjMgMy45IDMzLjIgMy45IDkgMCAyMC40LS44IDM0LjEtMy45IDQwLjkgNzIuMiA4Mi4xIDEzOC43IDEzNSAyMjUuNUMyNjEgMTYzLjkgMzE0LjggODEuNCAzNTguNiAwYzExLjEgMi45IDIyIDMuOSAzMi45IDMuOSAxMS41IDAgMjMuMi0xIDM1LTMuOUMzOTIuMSA0Ny45IDI5NC45IDIxNi45IDI1MiAyOTJ6Il0sCiAgICAgICJ5YW5kZXgiOiBbMjU2LCA1MTIsIFtdLCAiZjQxMyIsICJNMTUzLjEgMzE1LjhMNjUuNyA1MTJIMmw5Ni0yMDkuOGMtNDUuMS0yMi45LTc1LjItNjQuNC03NS4yLTE0MS4xQzIyLjcgNTMuNyA5MC44IDAgMTcxLjcgMEgyNTR2NTEyaC01NS4xVjMxNS44aC00NS44em00NS44LTI2OS4zaC0yOS40Yy00NC40IDAtODcuNCAyOS40LTg3LjQgMTE0LjYgMCA4Mi4zIDM5LjQgMTA4LjggODcuNCAxMDguOGgyOS40VjQ2LjV6Il0sCiAgICAgICJ5YW5kZXgtaW50ZXJuYXRpb25hbCI6IFszMjAsIDUxMiwgW10sICJmNDE0IiwgIk0xMjkuNSA1MTJWMzQ1LjlMMTguNSA0OGg1NS44bDgxLjggMjI5LjdMMjUwLjIgMGg1MS4zTDE4MC44IDM0Ny44VjUxMmgtNTEuM3oiXSwKICAgICAgInllbHAiOiBbMzg0LCA1MTIsIFtdLCAiZjFlOSIsICJNMTM2LjkgMzI4Yy0xIC4zLTEwOS4yIDM1LjctMTE1LjggMzUuNy0xNS4yLS45LTE4LjUtMTYuMi0xOS45LTMxLjItMS41LTE0LjItMS40LTI5LjguMy00Ni44IDEuOS0xOC44IDUuNS00NS4xIDI0LjItNDQgNC44IDAgNjcuMSAyNS45IDExMi43IDQ0LjQgMTcuMSA2LjggMTguNiAzNS44LTEuNSA0MS45em01Ny45LTExMy45YzEuOCAzOC4yLTI1LjUgNDguNS00Ny4yIDE0LjNMNDEuMyA2MC40Yy0xLjUtNi42LjMtMTIuNCA1LjMtMTcuNEM2Mi4yIDI2LjUgMTQ2IDMuMiAxNjguMSA4LjljNy41IDEuOSAxMi4xIDYuMSAxMy44IDEyLjYgMS4zIDguMyAxMS41IDE2Ny40IDEyLjkgMTkyLjZ6bS0xLjQgMTY0LjhjMCA0LjYuMiAxMTYuNC0xLjcgMTIxLjUtMi4zIDYtNyA5LjctMTQuMyAxMS4yLTEwLjEgMS43LTI3LjEtMS45LTUxLTEwLjctMjItOC4xLTU2LjctMjEuNS00OS4zLTQyLjUgMi44LTYuOSA1MS40LTYyLjggNzcuMy05My42IDEyLTE1LjIgMzkuOC01LjUgMzkgMTQuMXptMTgwLjItMTE3LjhjLTUuNiAzLjctMTEwLjggMjguMi0xMTguMSAzMC42bC4zLS42Yy0xOC4xIDQuNy0zNS40LTE4LjUtMjMuMy0zNC42IDMuNy0zLjcgNjUuOS05Mi40IDcyLjgtOTcgNS4yLTMuNiAxMS4zLTMuOCAxOC4zLS42IDE4LjQgOC44IDU1LjEgNjMuMSA1Ny40IDg0LjYtLjEgMi45IDEuMiAxMS43LTcuNCAxNy42em0xMC4xIDEzMC43Yy0yLjcgMjAuNi00NC41IDczLjQtNjMuOCA4MS02LjkgMi42LTEyLjkgMi0xNy43LTItNS0zLjUtNjEuOC05Ny4xLTY0LjktMTAyLjMtMTAuOS0xNi4yIDYuOC0zOS44IDI1LjYtMzMuMiAwIDAgMTEwLjUgMzUuNyAxMTQuNyAzOS40IDUuMiA0LjEgNy4yIDkuOCA2LjEgMTcuMXoiXSwKICAgICAgInlvYXN0IjogWzQ0OCwgNTEyLCBbXSwgImYyYjEiLCAiTTkxLjMgNzZoMTg2bC03IDE4LjloLTE3OWMtMzkuNyAwLTcxLjkgMzEuNi03MS45IDcwLjN2MjA1LjRjMCAzNS40IDI0LjkgNzAuMyA4NCA3MC4zVjQ2MEg5MS4zQzQxLjIgNDYwIDAgNDE5LjggMCAzNzAuNVYxNjUuMkMwIDExNS45IDQwLjcgNzYgOTEuMyA3NnptMjI5LjEtNTZoNjYuNUMyNDMuMSAzOTguMSAyNDEuMiA0MTguOSAyMDIuMiA0NTkuM2MtMjAuOCAyMS42LTQ5LjMgMzEuNy03OC4zIDMyLjd2LTUxLjFjNDkuMi03LjcgNjQuNi00OS45IDY0LjYtNzUuMyAwLTIwLjEuNi0xMi42LTgyLjEtMjIzLjJoNjEuNEwyMTguMiAyOTkgMzIwLjQgMjB6TTQ0OCAxNjEuNVY0NjBIMjM0YzYuNi05LjYgMTAuNy0xNi4zIDEyLjEtMTkuNGgxODIuNVYxNjEuNWMwLTMyLjUtMTcuMS01MS45LTQ4LjItNjIuOWw2LjctMTcuNmM0MS43IDEzLjYgNjAuOSA0My4xIDYwLjkgODAuNXoiXSwKICAgICAgInlvdXR1YmUiOiBbNTc2LCA1MTIsIFtdLCAiZjE2NyIsICJNNTQ5LjY1NSAxMjQuMDgzYy02LjI4MS0yMy42NS0yNC43ODctNDIuMjc2LTQ4LjI4NC00OC41OTdDNDU4Ljc4MSA2NCAyODggNjQgMjg4IDY0UzExNy4yMiA2NCA3NC42MjkgNzUuNDg2Yy0yMy40OTcgNi4zMjItNDIuMDAzIDI0Ljk0Ny00OC4yODQgNDguNTk3LTExLjQxMiA0Mi44NjctMTEuNDEyIDEzMi4zMDUtMTEuNDEyIDEzMi4zMDVzMCA4OS40MzggMTEuNDEyIDEzMi4zMDVjNi4yODEgMjMuNjUgMjQuNzg3IDQxLjUgNDguMjg0IDQ3LjgyMUMxMTcuMjIgNDQ4IDI4OCA0NDggMjg4IDQ0OHMxNzAuNzggMCAyMTMuMzcxLTExLjQ4NmMyMy40OTctNi4zMjEgNDIuMDAzLTI0LjE3MSA0OC4yODQtNDcuODIxIDExLjQxMi00Mi44NjcgMTEuNDEyLTEzMi4zMDUgMTEuNDEyLTEzMi4zMDVzMC04OS40MzgtMTEuNDEyLTEzMi4zMDV6bS0zMTcuNTEgMjEzLjUwOFYxNzUuMTg1bDE0Mi43MzkgODEuMjA1LTE0Mi43MzkgODEuMjAxeiJdLAogICAgICAieW91dHViZS1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjQzMSIsICJNMTg2LjggMjAyLjFsOTUuMiA1NC4xLTk1LjIgNTQuMVYyMDIuMXpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDIgMTc2LjNzMC01OS42LTcuNi04OC4yYy00LjItMTUuOC0xNi41LTI4LjItMzIuMi0zMi40QzMzNy45IDEyOCAyMjQgMTI4IDIyNCAxMjhzLTExMy45IDAtMTQyLjIgNy43Yy0xNS43IDQuMi0yOCAxNi42LTMyLjIgMzIuNC03LjYgMjguNS03LjYgODguMi03LjYgODguMnMwIDU5LjYgNy42IDg4LjJjNC4yIDE1LjggMTYuNSAyNy43IDMyLjIgMzEuOUMxMTAuMSAzODQgMjI0IDM4NCAyMjQgMzg0czExMy45IDAgMTQyLjItNy43YzE1LjctNC4yIDI4LTE2LjEgMzIuMi0zMS45IDcuNi0yOC41IDcuNi04OC4xIDcuNi04OC4xeiJdCiAgICB9OwogICAgCiAgICBidW5rZXIoZnVuY3Rpb24gKCkgewogICAgICBkZWZpbmUoJ2ZhYicsIGljb25zKTsKICAgIH0pOwogICAgCiAgICB9KCkpOwogICAgKGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgdmFyIF9XSU5ET1cgPSB7fTsKICAgIHRyeSB7CiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgX1dJTkRPVyA9IHdpbmRvdzsKICAgICAgCiAgICB9IGNhdGNoIChlKSB7fQogICAgCiAgICB2YXIgX3JlZiA9IF9XSU5ET1cubmF2aWdhdG9yIHx8IHt9OwogICAgdmFyIF9yZWYkdXNlckFnZW50ID0gX3JlZi51c2VyQWdlbnQ7CiAgICB2YXIgdXNlckFnZW50ID0gX3JlZiR1c2VyQWdlbnQgPT09IHVuZGVmaW5lZCA/ICcnIDogX3JlZiR1c2VyQWdlbnQ7CiAgICAKICAgIHZhciBXSU5ET1cgPSBfV0lORE9XOwogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIHZhciBJU19JRSA9IH51c2VyQWdlbnQuaW5kZXhPZignTVNJRScpIHx8IH51c2VyQWdlbnQuaW5kZXhPZignVHJpZGVudC8nKTsKICAgIAogICAgdmFyIE5BTUVTUEFDRV9JREVOVElGSUVSID0gJ19fX0ZPTlRfQVdFU09NRV9fXyc7CiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIHZhciBQUk9EVUNUSU9OID0gZnVuY3Rpb24gKCkgewogICAgICB0cnkgewogICAgICAgIHJldHVybiAicHJvZHVjdGlvbiIgPT09ICdwcm9kdWN0aW9uJzsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSgpOwogICAgCiAgICB2YXIgb25lVG9UZW4gPSBbMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTBdOwogICAgdmFyIG9uZVRvVHdlbnR5ID0gb25lVG9UZW4uY29uY2F0KFsxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5LCAyMF0pOwogICAgCiAgICAKICAgIAogICAgdmFyIFJFU0VSVkVEX0NMQVNTRVMgPSBbJ3hzJywgJ3NtJywgJ2xnJywgJ2Z3JywgJ3VsJywgJ2xpJywgJ2JvcmRlcicsICdwdWxsLWxlZnQnLCAncHVsbC1yaWdodCcsICdzcGluJywgJ3B1bHNlJywgJ3JvdGF0ZS05MCcsICdyb3RhdGUtMTgwJywgJ3JvdGF0ZS0yNzAnLCAnZmxpcC1ob3Jpem9udGFsJywgJ2ZsaXAtdmVydGljYWwnLCAnc3RhY2snLCAnc3RhY2stMXgnLCAnc3RhY2stMngnLCAnaW52ZXJzZScsICdsYXllcnMnLCAnbGF5ZXJzLXRleHQnLCAnbGF5ZXJzLWNvdW50ZXInXS5jb25jYXQob25lVG9UZW4ubWFwKGZ1bmN0aW9uIChuKSB7CiAgICAgIHJldHVybiBuICsgJ3gnOwogICAgfSkpLmNvbmNhdChvbmVUb1R3ZW50eS5tYXAoZnVuY3Rpb24gKG4pIHsKICAgICAgcmV0dXJuICd3LScgKyBuOwogICAgfSkpOwogICAgCiAgICBmdW5jdGlvbiBidW5rZXIoZm4pIHsKICAgICAgdHJ5IHsKICAgICAgICBmbigpOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgaWYgKCFQUk9EVUNUSU9OKSB7CiAgICAgICAgICB0aHJvdyBlOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgCiAgICB2YXIgdyA9IFdJTkRPVyB8fCB7fTsKICAgIAogICAgaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXSkgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0gPSB7fTsKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zdHlsZXMgPSB7fTsKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uaG9va3MpIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnNoaW1zKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zaGltcyA9IFtdOwogICAgCiAgICB2YXIgbmFtZXNwYWNlID0gd1tOQU1FU1BBQ0VfSURFTlRJRklFUl07CiAgICAKICAgIHZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgewogICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAKICAgICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7CiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkgewogICAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgCiAgICAgIHJldHVybiB0YXJnZXQ7CiAgICB9OwogICAgCiAgICBmdW5jdGlvbiBkZWZpbmUocHJlZml4LCBpY29ucykgewogICAgICB2YXIgbm9ybWFsaXplZCA9IE9iamVjdC5rZXlzKGljb25zKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgaWNvbk5hbWUpIHsKICAgICAgICB2YXIgaWNvbiA9IGljb25zW2ljb25OYW1lXTsKICAgICAgICB2YXIgZXhwYW5kZWQgPSAhIWljb24uaWNvbjsKICAgIAogICAgICAgIGlmIChleHBhbmRlZCkgewogICAgICAgICAgYWNjW2ljb24uaWNvbk5hbWVdID0gaWNvbi5pY29uOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBhY2NbaWNvbk5hbWVdID0gaWNvbjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFjYzsKICAgICAgfSwge30pOwogICAgCiAgICAgIGlmICh0eXBlb2YgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2sgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICBuYW1lc3BhY2UuaG9va3MuYWRkUGFjayhwcmVmaXgsIG5vcm1hbGl6ZWQpOwogICAgICB9IGVsc2UgewogICAgICAgIG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSA9IF9leHRlbmRzKHt9LCBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gfHwge30sIG5vcm1hbGl6ZWQpOwogICAgICB9CiAgICAKICAgICAgLyoqCiAgICAgICAqIEZvbnQgQXdlc29tZSA0IHVzZWQgdGhlIHByZWZpeCBvZiBgZmFgIGZvciBhbGwgaWNvbnMuIFdpdGggdGhlIGludHJvZHVjdGlvbgogICAgICAgKiBvZiBuZXcgc3R5bGVzIHdlIG5lZWRlZCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlbS4gUHJlZml4IGBmYWAgaXMgbm93IGFuIGFsaWFzCiAgICAgICAqIGZvciBgZmFzYCBzbyB3ZSdsbCBlYXN5IHRoZSB1cGdyYWRlIHByb2Nlc3MgZm9yIG91ciB1c2VycyBieSBhdXRvbWF0aWNhbGx5IGRlZmluaW5nCiAgICAgICAqIHRoaXMgYXMgd2VsbC4KICAgICAgICovCiAgICAgIGlmIChwcmVmaXggPT09ICdmYXMnKSB7CiAgICAgICAgZGVmaW5lKCdmYScsIGljb25zKTsKICAgICAgfQogICAgfQogICAgCiAgICB2YXIgaWNvbnMgPSB7CiAgICAgICJhZGRyZXNzLWJvb2siOiBbNDQ4LCA1MTIsIFtdLCAiZjJiOSIsICJNNDM2IDE2MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yMFY0OGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4SDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDMyMGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di00OGgyMGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yMHYtNjRoMjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjB2LTY0aDIwem0tNzQgMzA0SDU0YTYgNiAwIDAgMS02LTZWNTRhNiA2IDAgMCAxIDYtNmgzMDhhNiA2IDAgMCAxIDYgNnY0MDRhNiA2IDAgMCAxLTYgNnpNMTI4IDIwOGMwLTQ0LjE4MyAzNS44MTctODAgODAtODBzODAgMzUuODE3IDgwIDgwLTM1LjgxNyA4MC04MCA4MC04MC0zNS44MTctODAtODB6bTIwOCAxMzMuNDc3VjM2MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIMTA0Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjR2LTE4LjUyM2MwLTIyLjAyNiAxNC45OS00MS4yMjUgMzYuMzU4LTQ2LjU2N2wzNS42NTctOC45MTRjMjkuMTAxIDIwLjkzMiA3NC41MDkgMjYuOTQ1IDExMS45NyAwbDM1LjY1NyA4LjkxNEMzMjEuMDEgMzAwLjI1MiAzMzYgMzE5LjQ1MiAzMzYgMzQxLjQ3N3oiXSwKICAgICAgImFkZHJlc3MtY2FyZCI6IFs1MTIsIDUxMiwgW10sICJmMmJiIiwgIk00NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptLTYgMzM2SDU0YTYgNiAwIDAgMS02LTZWMTE4YTYgNiAwIDAgMSA2LTZoNDA0YTYgNiAwIDAgMSA2IDZ2Mjc2YTYgNiAwIDAgMS02IDZ6bS01NC0xNzZIMzAwYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0xNmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjE2YzAgNi42MjctNS4zNzMgMTItMTIgMTJ6bTAgNzJIMzAwYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0xNmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjE2YzAgNi42MjctNS4zNzMgMTItMTIgMTJ6TTE3NiAxNjBjMzMuMTM3IDAgNjAgMjYuODYzIDYwIDYwcy0yNi44NjMgNjAtNjAgNjAtNjAtMjYuODYzLTYwLTYwIDI2Ljg2My02MCA2MC02MHptNjguNzMxIDEyNS4xODNsLTI2Ljc0Mi02LjY4NmMtMjguMDk2IDIwLjIwOS02Mi4xNTIgMTUuNjk5LTgzLjk3OCAwbC0yNi43NDIgNi42ODZDOTEuMjQzIDI4OS4xODkgODAgMzAzLjU4OSA4MCAzMjAuMTA4VjMzNGMwIDkuOTQxIDguMDU5IDE4IDE4IDE4aDE1NmM5Ljk0MSAwIDE4LTguMDU5IDE4LTE4di0xMy44OTJjMC0xNi41MTktMTEuMjQzLTMwLjkxOS0yNy4yNjktMzQuOTI1eiJdLAogICAgICAiYXJyb3ctYWx0LWNpcmNsZS1kb3duIjogWzUxMiwgNTEyLCBbXSwgImYzNTgiLCAiTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTAgNDQ4Yy0xMTAuNSAwLTIwMC04OS41LTIwMC0yMDBTMTQ1LjUgNTYgMjU2IDU2czIwMCA4OS41IDIwMCAyMDAtODkuNSAyMDAtMjAwIDIwMHptLTMyLTMxNnYxMTZoLTY3Yy0xMC43IDAtMTYgMTIuOS04LjUgMjAuNWw5OSA5OWM0LjcgNC43IDEyLjMgNC43IDE3IDBsOTktOTljNy42LTcuNiAyLjItMjAuNS04LjUtMjAuNWgtNjdWMTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnoiXSwKICAgICAgImFycm93LWFsdC1jaXJjbGUtbGVmdCI6IFs1MTIsIDUxMiwgW10sICJmMzU5IiwgIk04IDI1NmMwIDEzNyAxMTEgMjQ4IDI0OCAyNDhzMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4IDggMTE5IDggMjU2em00NDggMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTNTYgMzY2LjUgNTYgMjU2IDE0NS41IDU2IDI1NiA1NnMyMDAgODkuNSAyMDAgMjAwem0tNzItMjB2NDBjMCA2LjYtNS40IDEyLTEyIDEySDI1NnY2N2MwIDEwLjctMTIuOSAxNi0yMC41IDguNWwtOTktOTljLTQuNy00LjctNC43LTEyLjMgMC0xN2w5OS05OWM3LjYtNy42IDIwLjUtMi4yIDIwLjUgOC41djY3aDExNmM2LjYgMCAxMiA1LjQgMTIgMTJ6Il0sCiAgICAgICJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0IjogWzUxMiwgNTEyLCBbXSwgImYzNWEiLCAiTTUwNCAyNTZDNTA0IDExOSAzOTMgOCAyNTYgOFM4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4em0tNDQ4IDBjMC0xMTAuNSA4OS41LTIwMCAyMDAtMjAwczIwMCA4OS41IDIwMCAyMDAtODkuNSAyMDAtMjAwIDIwMFM1NiAzNjYuNSA1NiAyNTZ6bTcyIDIwdi00MGMwLTYuNiA1LjQtMTIgMTItMTJoMTE2di02N2MwLTEwLjcgMTIuOS0xNiAyMC41LTguNWw5OSA5OWM0LjcgNC43IDQuNyAxMi4zIDAgMTdsLTk5IDk5Yy03LjYgNy42LTIwLjUgMi4yLTIwLjUtOC41di02N0gxNDBjLTYuNiAwLTEyLTUuNC0xMi0xMnoiXSwKICAgICAgImFycm93LWFsdC1jaXJjbGUtdXAiOiBbNTEyLCA1MTIsIFtdLCAiZjM1YiIsICJNMjU2IDUwNGMxMzcgMCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4em0wLTQ0OGMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDBzLTg5LjUgMjAwLTIwMCAyMDBTNTYgMzY2LjUgNTYgMjU2IDE0NS41IDU2IDI1NiA1NnptMjAgMzI4aC00MGMtNi42IDAtMTItNS40LTEyLTEyVjI1NmgtNjdjLTEwLjcgMC0xNi0xMi45LTguNS0yMC41bDk5LTk5YzQuNy00LjcgMTIuMy00LjcgMTcgMGw5OSA5OWM3LjYgNy42IDIuMiAyMC41LTguNSAyMC41aC02N3YxMTZjMCA2LjYtNS40IDEyLTEyIDEyeiJdLAogICAgICAiYmVsbCI6IFs0NDgsIDUxMiwgW10sICJmMGYzIiwgIk00MjUuNDAzIDMzMC45MzljLTE2Ljk4OS0xNi43ODUtMzQuNTQ2LTM0LjE0My0zNC41NDYtMTE2LjA4MyAwLTgzLjAyNi02MC45NTgtMTUyLjA3NC0xNDAuNDY3LTE2NC43NjJBMzEuODQzIDMxLjg0MyAwIDAgMCAyNTYgMzJjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiAxNC4zMjctMzIgMzJhMzEuODQ4IDMxLjg0OCAwIDAgMCA1LjYwOSAxOC4wOTVDMTE4LjEwMSA2Mi43ODMgNTcuMTQzIDEzMS44MzEgNTcuMTQzIDIxNC44NTdjMCA4MS45MzMtMTcuNTUxIDk5LjI5Mi0zNC41NDMgMTE2LjA3OEMtMjUuNDk2IDM3OC40NDEgOS43MjYgNDQ4IDY2LjkxOSA0NDhIMTYwYzAgMzUuMzQ2IDI4LjY1NCA2NCA2NCA2NCAzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjRoOTMuMDhjNTcuMTkgMCA5Mi40MTUtNjkuNTgzIDQ0LjMyMy0xMTcuMDYxek0yMjQgNDcyYy0xMy4yMzQgMC0yNC0xMC43NjYtMjQtMjRoNDhjMCAxMy4yMzQtMTAuNzY2IDI0LTI0IDI0em0xNTcuMDkyLTcySDY2LjljLTE2Ljc2MiAwLTI1LjEzNS0yMC4zOS0xMy4zMzQtMzIuMTkxIDI4LjU4NS0yOC41ODUgNTEuNTc3LTU1LjcyNCA1MS41NzctMTUyLjk1MkMxMDUuMTQzIDE0OS4zMTkgMTU4LjQ2MiA5NiAyMjQgOTZzMTE4Ljg1NyA1My4zMTkgMTE4Ljg1NyAxMTguODU3YzAgOTcuNjUgMjMuMjIxIDEyNC41NzQgNTEuNTY4IDE1Mi45NTJDNDA2LjI3OCAzNzkuNjYxIDM5Ny43ODMgNDAwIDM4MS4wOTIgNDAweiJdLAogICAgICAiYmVsbC1zbGFzaCI6IFs1NzYsIDUxMiwgW10sICJmMWY2IiwgIk0xMzAuOSA0MDBjLTE2Ljc2MiAwLTI1LjEzNS0yMC4zOS0xMy4zMzQtMzIuMTkxIDI1LjIyNi0yNS4yMjYgNDYuMDk0LTQ5LjMzOCA1MC42NDktMTIxLjQ4bC00Ni43NzctNDEuMjc0YTE2OC40OCAxNjguNDggMCAwIDAtLjI5NiA5LjgwMmMwIDgxLjkzMy0xNy41NTEgOTkuMjkyLTM0LjU0MyAxMTYuMDc4QzM4LjUwNCAzNzguNDQxIDczLjcyNiA0NDggMTMwLjkxOSA0NDhIMjI0YzAgMzUuMzQ2IDI4LjY1NCA2NCA2NCA2NHM2NC0yOC42NTQgNjQtNjRoNDQuNzc3bC01NC40LTQ4SDEzMC45ek0yODggNDcyYy0xMy4yMzQgMC0yNC0xMC43NjYtMjQtMjRoNDhjMCAxMy4yMzQtMTAuNzY2IDI0LTI0IDI0em0yODMuODY3LjU1M2wtNjcuOTMxLTU5LjU3MWMxMy4xMDQtMjQuMTE4IDExLjUyNC01Ni4zMTgtMTQuNTMyLTgyLjA0Mi0xNi45ODktMTYuNzg1LTM0LjU0Ni0zNC4xNDMtMzQuNTQ2LTExNi4wODMgMC04My4wMjYtNjAuOTU4LTE1Mi4wNzQtMTQwLjQ2Ny0xNjQuNzYyQTMxLjg0OCAzMS44NDggMCAwIDAgMzIwIDMyYzAtMTcuNjczLTE0LjMyNy0zMi0zMi0zMnMtMzIgMTQuMzI3LTMyIDMyYTMxLjg0OCAzMS44NDggMCAwIDAgNS42MDkgMTguMDk1Yy00MS40NzEgNi42MTgtNzcuODkxIDI4LjU3MS0xMDMuMjQ5IDU5Ljg0MUwzNi40NTkgMy4wMzdjLTUuMDU4LTQuNDM2LTEyLjc3Ny0zLjk1Ni0xNy4yNCAxLjA3MUwzLjA1NiAyMi4zMTNDLTEuNDA3IDI3LjM0LS45MjUgMzUuMDEyIDQuMTM0IDM5LjQ0N2w1MzUuNDA4IDQ2OS41MTZjNS4wNTggNC40MzYgMTIuNzc3IDMuOTU2IDE3LjI0LTEuMDcxbDE2LjE2My0xOC4yMDVjNC40NjItNS4wMjcgMy45OC0xMi42OTktMS4wNzgtMTcuMTM0ek0yODggOTZjNjUuNTM4IDAgMTE4Ljg1NyA1My4zMTkgMTE4Ljg1NyAxMTguODU3IDAgOTcuNjUgMjMuMjIxIDEyNC41NzQgNTEuNTY4IDE1Mi45NTIgMi45MDggMi45MDggNC41NzMgNi4zMjggNS4yMDkgOS44MzJMMTk0LjQ4MiAxNDEuNjEyQzIxNi4yNTggMTEzLjg2NyAyNTAuMDc1IDk2IDI4OCA5NnoiXSwKICAgICAgImJvb2ttYXJrIjogWzM4NCwgNTEyLCBbXSwgImYwMmUiLCAiTTMzNiAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQ2NGwxOTItMTEyIDE5MiAxMTJWNDhjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0MjguNDNsLTE0NC04NC0xNDQgODRWNTRhNiA2IDAgMCAxIDYtNmgyNzZjMy4zMTQgMCA2IDIuNjgzIDYgNS45OTZWNDI4LjQzeiJdLAogICAgICAiYnVpbGRpbmciOiBbNDQ4LCA1MTIsIFtdLCAiZjFhZCIsICJNMTI4IDE0OHYtNDBjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY0MGMwIDYuNi01LjQgMTItMTIgMTJoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ6bTE0MCAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJ6bS0xMjggOTZoNDBjNi42IDAgMTItNS40IDEyLTEydi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyem0xMjggMGg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJ6bS03NiA4NHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bTc2IDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMnptMTgwIDEyNHYzNkgwdi0zNmMwLTYuNiA1LjQtMTIgMTItMTJoMTkuNVYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGgzMzdjMTMuMyAwIDI0IDEwLjcgMjQgMjR2NDQwSDQzNmM2LjYgMCAxMiA1LjQgMTIgMTJ6TTc5LjUgNDYzSDE5MnYtNjdjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY2N2gxMTIuNVY0OUw4MCA0OGwtLjUgNDE1eiJdLAogICAgICAiY2FsZW5kYXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjEzMyIsICJNNDAwIDY0aC00OFYxMmMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NTJIMTYwVjEyYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY1Mkg0OEMyMS41IDY0IDAgODUuNSAwIDExMnYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjExMmMwLTI2LjUtMjEuNS00OC00OC00OHptLTYgNDAwSDU0Yy0zLjMgMC02LTIuNy02LTZWMTYwaDM1MnYyOThjMCAzLjMtMi43IDYtNiA2eiJdLAogICAgICAiY2FsZW5kYXItYWx0IjogWzQ0OCwgNTEyLCBbXSwgImYwNzMiLCAiTTE0OCAyODhoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyem0xMDgtMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem05NiAwdi00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDk2di00MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDB2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem0xOTIgMHYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ6bTk2LTI2MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2VjE2MEg0OHYyOThjMCAzLjMgMi43IDYgNiA2aDM0MGMzLjMgMCA2LTIuNyA2LTZ6Il0sCiAgICAgICJjYWxlbmRhci1jaGVjayI6IFs0NDgsIDUxMiwgW10sICJmMjc0IiwgIk00MDAgNjRoLTQ4VjEyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjUySDE2MFYxMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY1Mkg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjExMmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tNiA0MDBINTRhNiA2IDAgMCAxLTYtNlYxNjBoMzUydjI5OGE2IDYgMCAwIDEtNiA2em0tNTIuODQ5LTIwMC42NUwxOTguODQyIDQwNC41MTljLTQuNzA1IDQuNjY3LTEyLjMwMyA0LjYzNy0xNi45NzEtLjA2OGwtNzUuMDkxLTc1LjY5OWMtNC42NjctNC43MDUtNC42MzctMTIuMzAzLjA2OC0xNi45NzFsMjIuNzE5LTIyLjUzNmM0LjcwNS00LjY2NyAxMi4zMDMtNC42MzcgMTYuOTcuMDY5bDQ0LjEwNCA0NC40NjEgMTExLjA3Mi0xMTAuMTgxYzQuNzA1LTQuNjY3IDEyLjMwMy00LjYzNyAxNi45NzEuMDY4bDIyLjUzNiAyMi43MThjNC42NjcgNC43MDUgNC42MzYgMTIuMzAzLS4wNjkgMTYuOTd6Il0sCiAgICAgICJjYWxlbmRhci1taW51cyI6IFs0NDgsIDUxMiwgW10sICJmMjcyIiwgIk0xMjQgMzI4Yy02LjYgMC0xMi01LjQtMTItMTJ2LTI0YzAtNi42IDUuNC0xMiAxMi0xMmgyMDBjNi42IDAgMTIgNS40IDEyIDEydjI0YzAgNi42LTUuNCAxMi0xMiAxMkgxMjR6bTMyNC0yMTZ2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhoNDhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1MmgxMjhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1Mmg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHptLTQ4IDM0NlYxNjBINDh2Mjk4YzAgMy4zIDIuNyA2IDYgNmgzNDBjMy4zIDAgNi0yLjcgNi02eiJdLAogICAgICAiY2FsZW5kYXItcGx1cyI6IFs0NDgsIDUxMiwgW10sICJmMjcxIiwgIk0zMzYgMjkydjI0YzAgNi42LTUuNCAxMi0xMiAxMmgtNzZ2NzZjMCA2LjYtNS40IDEyLTEyIDEyaC0yNGMtNi42IDAtMTItNS40LTEyLTEydi03NmgtNzZjLTYuNiAwLTEyLTUuNC0xMi0xMnYtMjRjMC02LjYgNS40LTEyIDEyLTEyaDc2di03NmMwLTYuNiA1LjQtMTIgMTItMTJoMjRjNi42IDAgMTIgNS40IDEyIDEydjc2aDc2YzYuNiAwIDEyIDUuNCAxMiAxMnptMTEyLTE4MHYzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjExMmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2VjE2MEg0OHYyOThjMCAzLjMgMi43IDYgNiA2aDM0MGMzLjMgMCA2LTIuNyA2LTZ6Il0sCiAgICAgICJjYWxlbmRhci10aW1lcyI6IFs0NDgsIDUxMiwgW10sICJmMjczIiwgIk0zMTEuNyAzNzQuN2wtMTcgMTdjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyMjQgMzM3LjlsLTUzLjcgNTMuN2MtNC43IDQuNy0xMi4zIDQuNy0xNyAwbC0xNy0xN2MtNC43LTQuNy00LjctMTIuMyAwLTE3bDUzLjctNTMuNy01My43LTUzLjdjLTQuNy00LjctNC43LTEyLjMgMC0xN2wxNy0xN2M0LjctNC43IDEyLjMtNC43IDE3IDBsNTMuNyA1My43IDUzLjctNTMuN2M0LjctNC43IDEyLjMtNC43IDE3IDBsMTcgMTdjNC43IDQuNyA0LjcgMTIuMyAwIDE3TDI1Ny45IDMwNGw1My43IDUzLjdjNC44IDQuNyA0LjggMTIuMy4xIDE3ek00NDggMTEydjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDQ4VjEyYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NTJoMTI4VjEyYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NTJoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS00OCAzNDZWMTYwSDQ4djI5OGMwIDMuMyAyLjcgNiA2IDZoMzQwYzMuMyAwIDYtMi43IDYtNnoiXSwKICAgICAgImNhcmV0LXNxdWFyZS1kb3duIjogWzQ0OCwgNTEyLCBbXSwgImYxNTAiLCAiTTEyNS4xIDIwOGgxOTcuOGMxMC43IDAgMTYuMSAxMyA4LjUgMjAuNWwtOTguOSA5OC4zYy00LjcgNC43LTEyLjIgNC43LTE2LjkgMGwtOTguOS05OC4zYy03LjctNy41LTIuMy0yMC41IDguNC0yMC41ek00NDggODB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS00OCAzNDZWODZjMC0zLjMtMi43LTYtNi02SDU0Yy0zLjMgMC02IDIuNy02IDZ2MzQwYzAgMy4zIDIuNyA2IDYgNmgzNDBjMy4zIDAgNi0yLjcgNi02eiJdLAogICAgICAiY2FyZXQtc3F1YXJlLWxlZnQiOiBbNDQ4LCA1MTIsIFtdLCAiZjE5MSIsICJNMjcyIDE1Ny4xdjE5Ny44YzAgMTAuNy0xMyAxNi4xLTIwLjUgOC41bC05OC4zLTk4LjljLTQuNy00LjctNC43LTEyLjIgMC0xNi45bDk4LjMtOTguOWM3LjUtNy43IDIwLjUtMi4zIDIwLjUgOC40ek00NDggODB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS00OCAzNDZWODZjMC0zLjMtMi43LTYtNi02SDU0Yy0zLjMgMC02IDIuNy02IDZ2MzQwYzAgMy4zIDIuNyA2IDYgNmgzNDBjMy4zIDAgNi0yLjcgNi02eiJdLAogICAgICAiY2FyZXQtc3F1YXJlLXJpZ2h0IjogWzQ0OCwgNTEyLCBbXSwgImYxNTIiLCAiTTE3NiAzNTQuOVYxNTcuMWMwLTEwLjcgMTMtMTYuMSAyMC41LTguNWw5OC4zIDk4LjljNC43IDQuNyA0LjcgMTIuMiAwIDE2LjlsLTk4LjMgOTguOWMtNy41IDcuNy0yMC41IDIuMy0yMC41LTguNHpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2Vjg2YzAtMy4zLTIuNy02LTYtNkg1NGMtMy4zIDAtNiAyLjctNiA2djM0MGMwIDMuMyAyLjcgNiA2IDZoMzQwYzMuMyAwIDYtMi43IDYtNnoiXSwKICAgICAgImNhcmV0LXNxdWFyZS11cCI6IFs0NDgsIDUxMiwgW10sICJmMTUxIiwgIk0zMjIuOSAzMDRIMTI1LjFjLTEwLjcgMC0xNi4xLTEzLTguNS0yMC41bDk4LjktOTguM2M0LjctNC43IDEyLjItNC43IDE2LjkgMGw5OC45IDk4LjNjNy43IDcuNSAyLjMgMjAuNS04LjQgMjAuNXpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2Vjg2YzAtMy4zLTIuNy02LTYtNkg1NGMtMy4zIDAtNiAyLjctNiA2djM0MGMwIDMuMyAyLjcgNiA2IDZoMzQwYzMuMyAwIDYtMi43IDYtNnoiXSwKICAgICAgImNoYXJ0LWJhciI6IFs1MTIsIDUxMiwgW10sICJmMDgwIiwgIk01MDAgNDAwYzYuNiAwIDEyIDUuNCAxMiAxMnYyNGMwIDYuNi01LjQgMTItMTIgMTJIMTJjLTYuNiAwLTEyLTUuNC0xMi0xMlY3NmMwLTYuNiA1LjQtMTIgMTItMTJoMjRjNi42IDAgMTIgNS40IDEyIDEydjMyNGg0NTJ6bS0zNTYtNjB2LTcyYzAtNi42LTUuNC0xMi0xMi0xMmgtMjRjLTYuNiAwLTEyIDUuNC0xMiAxMnY3MmMwIDYuNiA1LjQgMTIgMTIgMTJoMjRjNi42IDAgMTItNS40IDEyLTEyem05NiAwVjE0MGMwLTYuNi01LjQtMTItMTItMTJoLTI0Yy02LjYgMC0xMiA1LjQtMTIgMTJ2MjAwYzAgNi42IDUuNCAxMiAxMiAxMmgyNGM2LjYgMCAxMi01LjQgMTItMTJ6bTk2IDBWMjA0YzAtNi42LTUuNC0xMi0xMi0xMmgtMjRjLTYuNiAwLTEyIDUuNC0xMiAxMnYxMzZjMCA2LjYgNS40IDEyIDEyIDEyaDI0YzYuNiAwIDEyLTUuNCAxMi0xMnptOTYgMFYxMDhjMC02LjYtNS40LTEyLTEyLTEyaC0yNGMtNi42IDAtMTIgNS40LTEyIDEydjIzMmMwIDYuNiA1LjQgMTIgMTIgMTJoMjRjNi42IDAgMTItNS40IDEyLTEyeiJdLAogICAgICAiY2hlY2stY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYwNTgiLCAiTTI1NiA4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptMCA0OGMxMTAuNTMyIDAgMjAwIDg5LjQ1MSAyMDAgMjAwIDAgMTEwLjUzMi04OS40NTEgMjAwLTIwMCAyMDAtMTEwLjUzMiAwLTIwMC04OS40NTEtMjAwLTIwMCAwLTExMC41MzIgODkuNDUxLTIwMCAyMDAtMjAwbTE0MC4yMDQgMTMwLjI2N2wtMjIuNTM2LTIyLjcxOGMtNC42NjctNC43MDUtMTIuMjY1LTQuNzM2LTE2Ljk3LS4wNjhMMjE1LjM0NiAzMDMuNjk3bC01OS43OTItNjAuMjc3Yy00LjY2Ny00LjcwNS0xMi4yNjUtNC43MzYtMTYuOTctLjA2OWwtMjIuNzE5IDIyLjUzNmMtNC43MDUgNC42NjctNC43MzYgMTIuMjY1LS4wNjggMTYuOTcxbDkwLjc4MSA5MS41MTZjNC42NjcgNC43MDUgMTIuMjY1IDQuNzM2IDE2Ljk3LjA2OGwxNzIuNTg5LTE3MS4yMDRjNC43MDQtNC42NjggNC43MzQtMTIuMjY2LjA2Ny0xNi45NzF6Il0sCiAgICAgICJjaGVjay1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjE0YSIsICJNNDAwIDMySDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYzNTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzNTJjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0wIDQwMEg0OFY4MGgzNTJ2MzUyem0tMzUuODY0LTI0MS43MjRMMTkxLjU0NyAzNjEuNDhjLTQuNzA1IDQuNjY3LTEyLjMwMyA0LjYzNy0xNi45Ny0uMDY4bC05MC43ODEtOTEuNTE2Yy00LjY2Ny00LjcwNS00LjYzNy0xMi4zMDMuMDY5LTE2Ljk3MWwyMi43MTktMjIuNTM2YzQuNzA1LTQuNjY3IDEyLjMwMy00LjYzNyAxNi45Ny4wNjlsNTkuNzkyIDYwLjI3NyAxNDEuMzUyLTE0MC4yMTZjNC43MDUtNC42NjcgMTIuMzAzLTQuNjM3IDE2Ljk3LjA2OGwyMi41MzYgMjIuNzE4YzQuNjY3IDQuNzA2IDQuNjM3IDEyLjMwNC0uMDY4IDE2Ljk3MXoiXSwKICAgICAgImNpcmNsZSI6IFs1MTIsIDUxMiwgW10sICJmMTExIiwgIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4em0wIDQ0OGMtMTEwLjUgMC0yMDAtODkuNS0yMDAtMjAwUzE0NS41IDU2IDI1NiA1NnMyMDAgODkuNSAyMDAgMjAwLTg5LjUgMjAwLTIwMCAyMDB6Il0sCiAgICAgICJjbGlwYm9hcmQiOiBbMzg0LCA1MTIsIFtdLCAiZjMyOCIsICJNMzM2IDY0aC04MGMwLTM1LjI5LTI4LjcxLTY0LTY0LTY0cy02NCAyOC43MS02NCA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjExMmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tNiA0MDBINTRhNiA2IDAgMCAxLTYtNlYxMThhNiA2IDAgMCAxIDYtNmg0MnYzNmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDE2OGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0zNmg0MmE2IDYgMCAwIDEgNiA2djM0MGE2IDYgMCAwIDEtNiA2ek0xOTIgNDBjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0cy0xMC43NDUgMjQtMjQgMjQtMjQtMTAuNzQ1LTI0LTI0IDEwLjc0NS0yNCAyNC0yNCJdLAogICAgICAiY2xvY2siOiBbNTEyLCA1MTIsIFtdLCAiZjAxNyIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptMCA0NDhjLTExMC41IDAtMjAwLTg5LjUtMjAwLTIwMFMxNDUuNSA1NiAyNTYgNTZzMjAwIDg5LjUgMjAwIDIwMC04OS41IDIwMC0yMDAgMjAwem02MS44LTEwNC40bC04NC45LTYxLjdjLTMuMS0yLjMtNC45LTUuOS00LjktOS43VjExNmMwLTYuNiA1LjQtMTIgMTItMTJoMzJjNi42IDAgMTIgNS40IDEyIDEydjE0MS43bDY2LjggNDguNmM1LjQgMy45IDYuNSAxMS40IDIuNiAxNi44TDMzNC42IDM0OWMtMy45IDUuMy0xMS40IDYuNS0xNi44IDIuNnoiXSwKICAgICAgImNsb25lIjogWzUxMiwgNTEyLCBbXSwgImYyNGQiLCAiTTQ2NCAwSDE0NGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHY0OEg0OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYzMjBjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzMjBjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtNDhoNDhjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY0OGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0zNjIgNDY0SDU0YTYgNiAwIDAgMS02LTZWMTUwYTYgNiAwIDAgMSA2LTZoNDJ2MjI0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0djQyYTYgNiAwIDAgMS02IDZ6bTk2LTk2SDE1MGE2IDYgMCAwIDEtNi02VjU0YTYgNiAwIDAgMSA2LTZoMzA4YTYgNiAwIDAgMSA2IDZ2MzA4YTYgNiAwIDAgMS02IDZ6Il0sCiAgICAgICJjbG9zZWQtY2FwdGlvbmluZyI6IFs1MTIsIDUxMiwgW10sICJmMjBhIiwgIk00NjQgNjRINDhDMjEuNSA2NCAwIDg1LjUgMCAxMTJ2Mjg4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6bS02IDMzNkg1NGMtMy4zIDAtNi0yLjctNi02VjExOGMwLTMuMyAyLjctNiA2LTZoNDA0YzMuMyAwIDYgMi43IDYgNnYyNzZjMCAzLjMtMi43IDYtNiA2em0tMjExLjEtODUuN2MxLjcgMi40IDEuNSA1LjYtLjUgNy43LTUzLjYgNTYuOC0xNzIuOCAzMi4xLTE3Mi44LTY3LjkgMC05Ny4zIDEyMS43LTExOS41IDE3Mi41LTcwLjEgMi4xIDIgMi41IDMuMiAxIDUuN2wtMTcuNSAzMC41Yy0xLjkgMy4xLTYuMiA0LTkuMSAxLjctNDAuOC0zMi05NC42LTE0LjktOTQuNiAzMS4yIDAgNDggNTEgNzAuNSA5Mi4yIDMyLjYgMi44LTIuNSA3LjEtMi4xIDkuMi45bDE5LjYgMjcuN3ptMTkwLjQgMGMxLjcgMi40IDEuNSA1LjYtLjUgNy43LTUzLjYgNTYuOS0xNzIuOCAzMi4xLTE3Mi44LTY3LjkgMC05Ny4zIDEyMS43LTExOS41IDE3Mi41LTcwLjEgMi4xIDIgMi41IDMuMiAxIDUuN0w0MjAgMjIwLjJjLTEuOSAzLjEtNi4yIDQtOS4xIDEuNy00MC44LTMyLTk0LjYtMTQuOS05NC42IDMxLjIgMCA0OCA1MSA3MC41IDkyLjIgMzIuNiAyLjgtMi41IDcuMS0yLjEgOS4yLjlsMTkuNiAyNy43eiJdLAogICAgICAiY29tbWVudCI6IFs1NzYsIDUxMiwgW10sICJmMDc1IiwgIk0yODggMzJDMTI5IDMyIDAgMTI1LjEgMCAyNDBjMCA0OS4zIDIzLjcgOTQuNSA2My4zIDEzMC4yLTguNyAyMy4zLTIyLjEgMzIuNy0zNy4xIDQzLjFDMTUuMSA0MjEtNiA0MzMgMS42IDQ1Ni41YzUuMSAxNS40IDIwLjkgMjQuNyAzOC4xIDIzLjMgNTcuNy00LjYgMTExLjItMTkuMiAxNTctNDIuNSAyOC43IDYuOSA1OS40IDEwLjcgOTEuMiAxMC43IDE1OS4xIDAgMjg4LTkzIDI4OC0yMDhDNTc2IDEyNS4xIDQ0Ny4xIDMyIDI4OCAzMnptMCAzNjhjLTMyLjUgMC02NS40LTQuNC05Ny4zLTE0LTMyLjMgMTktNzguNyA0Ni0xMzQuNyA1NCAzMi0yNCA1Ni44LTYxLjYgNjEuMi04OC40Qzc5LjEgMzI1LjYgNDggMjg2LjcgNDggMjQwYzAtNzAuOSA4Ni4zLTE2MCAyNDAtMTYwczI0MCA4OS4xIDI0MCAxNjBjMCA3MS04Ni4zIDE2MC0yNDAgMTYweiJdLAogICAgICAiY29tbWVudC1hbHQiOiBbNTc2LCA1MTIsIFtdLCAiZjI3YSIsICJNMjg4IDMyQzEyOSAzMiAwIDEyNS4xIDAgMjQwYzAgNDkuMyAyMy43IDk0LjUgNjMuMyAxMzAuMi04LjcgMjMuMy0yMi4xIDMyLjctMzcuMSA0My4xQzE1LjEgNDIxLTYgNDMzIDEuNiA0NTYuNWM1LjEgMTUuNCAyMC45IDI0LjcgMzguMSAyMy4zIDU3LjctNC42IDExMS4yLTE5LjIgMTU3LTQyLjUgMjguNyA2LjkgNTkuNCAxMC43IDkxLjIgMTAuNyAxNTkuMSAwIDI4OC05MyAyODgtMjA4QzU3NiAxMjUuMSA0NDcuMSAzMiAyODggMzJ6bTAgMzY4Yy0zMi41IDAtNjUuNC00LjQtOTcuMy0xNC0zMi4zIDE5LTc4LjcgNDYtMTM0LjcgNTQgMzItMjQgNTYuOC02MS42IDYxLjItODguNEM3OS4xIDMyNS42IDQ4IDI4Ni43IDQ4IDI0MGMwLTcwLjkgODYuMy0xNjAgMjQwLTE2MHMyNDAgODkuMSAyNDAgMTYwYzAgNzEtODYuMyAxNjAtMjQwIDE2MHptLTY0LTE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OCAyMS41LTQ4IDQ4LTQ4IDQ4IDIxLjUgNDggNDh6bTExMiAwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4IDIxLjUtNDggNDgtNDggNDggMjEuNSA0OCA0OHptMTEyIDBjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDggMjEuNS00OCA0OC00OCA0OCAyMS41IDQ4IDQ4eiJdLAogICAgICAiY29tbWVudHMiOiBbNTc2LCA1MTIsIFtdLCAiZjA4NiIsICJNNTc0LjUwNyA0NDMuODZjLTUuNDIxIDIxLjI2MS0yNC41NyAzNi4xNC00Ni41MTEgMzYuMTQtMzIuMjQ2IDAtNjYuNTExLTkuOTktMTAyLjEtMjkuNzM0LTUwLjY0IDExLjYyNi0xMDkuMTUxIDcuODc3LTE1Ny45Ni0xMy40MzcgNDEuMTQ0LTIuOTE5IDgwLjM2MS0xMi4zMzkgMTE2LjMzMS0yOC43MDUgMTYuMzIyLTEuMjIgMzIuNjc0LTQuMzIgNDguNjMxLTkuNTkzQzQ1NC40MDQgNDEyLjM2NSA0OTAuNjYzIDQzMiA1MjcuOTk2IDQzMmMtMzItMTcuNDU1LTQzLjIxOS0zOC45NTgtNDYuMTU5LTU4LjUwMiAyNS40NDMtMTguODQ4IDQ2LjE1OS00Ny4xODMgNDYuMTU5LTgxLjEzNSAwLTEwLjQ5NS0yLjM4My0yMS41MzYtNy4wNDEtMzIuNDY3IDcuNDA1LTI1LjkzIDguNjU2LTUwLjE5NCA1LjE4NS03My45MzggMzIuMTY0IDMwLjQ2MSA0OS44NTYgNjkuMTI4IDQ5Ljg1NiAxMDYuNDA1IDAgMzMuODkzLTEyLjkxMyA2NS4wNDctMzQuOTc2IDkxLjExOSAyLjY1MyAyLjAzOCA1LjkyNCA0LjE3NiA5Ljk2MiA2LjM3OCAxOS4yNjEgMTAuNTA4IDI4Ljk0NyAzMi43MzkgMjMuNTI1IDU0ek0yNDAuMDAyIDgwQzExNy4wNjggODAgNDguMDA0IDE1Mi44NzcgNDguMDA0IDIxMC45MDljMCAzOC4xOTYgMjQuODU5IDcwLjA3MiA1NS4zOTEgOTEuMjc2LTMuNTI3IDIxLjk4OC0xNi45OTEgNDYuMTc5LTU1LjM5MSA2NS44MTUgNDQuOCAwIDg4LjMxLTIyLjA4OSAxMTQuMTE5LTM3LjY1MyAyNS41MiA3LjkwNiA1MS44ODMgMTEuNDcxIDc3Ljg3OSAxMS40NzFDMzYyLjk5OCAzNDEuODE4IDQzMiAyNjguOTc2IDQzMiAyMTAuOTA5IDQzMiAxNTIuODgyIDM2Mi45NDMgODAgMjQwLjAwMiA4MG0wLTQ4QzM5MC4xOTMgMzIgNDgwIDEyNi4wMjYgNDgwIDIxMC45MDljMCAyMi43NDUtNi41MDYgNDYuMzk0LTE4LjgxNiA2OC4zOTEtMTEuODc4IDIxLjIyNi0yOC41MzkgNDAuMjk0LTQ5LjUyMyA1Ni42NzQtMjEuNTkzIDE2Ljg1Ny00Ni43OTggMzAuMDQ1LTc0LjkxMyAzOS4xOTctMjkuODU1IDkuNzE5LTYyLjQwNSAxNC42NDYtOTYuNzQ2IDE0LjY0Ni0yNC40NDkgMC00OC4zNC0yLjY4Ny03MS4yOTItOC4wMDRDMTI2LjMxMSA0MDQuNTEyIDg1Ljc4NSA0MTYgNDguMDA0IDQxNmMtMjIuMTggMC00MS40NzItMTUuMTk3LTQ2LjY2NS0zNi43NjEtNS4xOTQtMjEuNTYzIDUuMDY0LTQzLjg3OCAyNC44MTEtNTMuOTc2IDcuNjYzLTMuOTE4IDEzLjMyNC03LjczNyAxNy41MTktMTEuMjk0LTcuMzkzLTcuODI5LTEzLjk1Mi0xNi4xMjQtMTkuNjM0LTI0Ljg0NEM4LjA5IDI2NC42NTUuMDA1IDIzOC4zMzkuMDA1IDIxMC45MDkuMDA1IDEyNi4yNTkgODkuNTA4IDMyIDI0MC4wMDIgMzJ6Il0sCiAgICAgICJjb21wYXNzIjogWzUxMiwgNTEyLCBbXSwgImYxNGUiLCAiTTI1NiA4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptMCA0NDhjLTExMC41MzIgMC0yMDAtODkuNDUxLTIwMC0yMDAgMC0xMTAuNTMxIDg5LjQ1MS0yMDAgMjAwLTIwMCAxMTAuNTMyIDAgMjAwIDg5LjQ1MSAyMDAgMjAwIDAgMTEwLjUzMi04OS40NTEgMjAwLTIwMCAyMDB6bTkxLjMyNi0zMTIuMTMxbC0zMy4zNTkgMTM3Ljc3OWEyNC4wMDUgMjQuMDA1IDAgMCAxLTYuNzcyIDExLjcyOWwtMTAyLjY0IDk3Ljc3OWMtMTcuMTA0IDE2LjI5My00NS41Ni40MzQtMzkuODgtMjMuMDI0bDMzLjM1OS0xMzcuNzc5YTIzLjk5NyAyMy45OTcgMCAwIDEgNi43NzItMTEuNzI5bDEwMi42NDItOTcuNzc5YzE3LjI4NS0xNi40NyA0NS40OTQtLjE3NSAzOS44NzggMjMuMDI0ek0yNTYgMjI0Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6Il0sCiAgICAgICJjb3B5IjogWzQ0OCwgNTEyLCBbXSwgImYwYzUiLCAiTTQzMy45NDEgNjUuOTQxbC01MS44ODItNTEuODgyQTQ4IDQ4IDAgMCAwIDM0OC4xMTggMEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MzIwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTQ4aDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWOTkuODgyYTQ4IDQ4IDAgMCAwLTE0LjA1OS0zMy45NDF6TTI2NiA0NjRINTRhNiA2IDAgMCAxLTYtNlYxNTBhNiA2IDAgMCAxIDYtNmg3NHYyMjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg5NnY0MmE2IDYgMCAwIDEtNiA2em0xMjgtOTZIMTgyYTYgNiAwIDAgMS02LTZWNTRhNiA2IDAgMCAxIDYtNmgxMDZ2ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDg4djIwMmE2IDYgMCAwIDEtNiA2em02LTI1NmgtNjRWNDhoOS42MzJjMS41OTEgMCAzLjExNy42MzIgNC4yNDMgMS43NTdsNDguMzY4IDQ4LjM2OGE2IDYgMCAwIDEgMS43NTcgNC4yNDNWMTEyeiJdLAogICAgICAiY29weXJpZ2h0IjogWzUxMiwgNTEyLCBbXSwgImYxZjkiLCAiTTI1NiA4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptMCA0NDhjLTExMC41MzIgMC0yMDAtODkuNDUxLTIwMC0yMDAgMC0xMTAuNTMxIDg5LjQ1MS0yMDAgMjAwLTIwMCAxMTAuNTMyIDAgMjAwIDg5LjQ1MSAyMDAgMjAwIDAgMTEwLjUzMi04OS40NTEgMjAwLTIwMCAyMDB6bTEwNy4zNTEtMTAxLjA2NGMtOS42MTQgOS43MTItNDUuNTMgNDEuMzk2LTEwNC4wNjUgNDEuMzk2LTgyLjQzIDAtMTQwLjQ4NC02MS40MjUtMTQwLjQ4NC0xNDEuNTY3IDAtNzkuMTUyIDYwLjI3NS0xMzkuNDAxIDEzOS43NjItMTM5LjQwMSA1NS41MzEgMCA4OC43MzggMjYuNjIgOTcuNTkzIDM0Ljc3OWExMS45NjUgMTEuOTY1IDAgMCAxIDEuOTM2IDE1LjMyMmwtMTguMTU1IDI4LjExM2MtMy44NDEgNS45NS0xMS45NjYgNy4yODItMTcuNDk5IDIuOTIxLTguNTk1LTYuNzc2LTMxLjgxNC0yMi41MzgtNjEuNzA4LTIyLjUzOC00OC4zMDMgMC03Ny45MTYgMzUuMzMtNzcuOTE2IDgwLjA4MiAwIDQxLjU4OSAyNi44ODggODMuNjkyIDc4LjI3NyA4My42OTIgMzIuNjU3IDAgNTYuODQzLTE5LjAzOSA2NS43MjYtMjcuMjI1IDUuMjctNC44NTcgMTMuNTk2LTQuMDM5IDE3LjgyIDEuNzM4bDE5Ljg2NSAyNy4xN2ExMS45NDcgMTEuOTQ3IDAgMCAxLTEuMTUyIDE1LjUxOHoiXSwKICAgICAgImNyZWRpdC1jYXJkIjogWzU3NiwgNTEyLCBbXSwgImYwOWQiLCAiTTUyNy45IDMySDQ4LjFDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDguMSA0OGg0NzkuOGMyNi42IDAgNDguMS0yMS41IDQ4LjEtNDhWODBjMC0yNi41LTIxLjUtNDgtNDguMS00OHpNNTQuMSA4MGg0NjcuOGMzLjMgMCA2IDIuNyA2IDZ2NDJINDguMVY4NmMwLTMuMyAyLjctNiA2LTZ6bTQ2Ny44IDM1Mkg1NC4xYy0zLjMgMC02LTIuNy02LTZWMjU2aDQ3OS44djE3MGMwIDMuMy0yLjcgNi02IDZ6TTE5MiAzMzJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyaC03MmMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNzJjNi42IDAgMTIgNS40IDEyIDEyem0xOTIgMHY0MGMwIDYuNi01LjQgMTItMTIgMTJIMjM2Yy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmgxMzZjNi42IDAgMTIgNS40IDEyIDEyeiJdLAogICAgICAiZG90LWNpcmNsZSI6IFs1MTIsIDUxMiwgW10sICJmMTkyIiwgIk0yNTYgNTZjMTEwLjUzMiAwIDIwMCA4OS40NTEgMjAwIDIwMCAwIDExMC41MzItODkuNDUxIDIwMC0yMDAgMjAwLTExMC41MzIgMC0yMDAtODkuNDUxLTIwMC0yMDAgMC0xMTAuNTMyIDg5LjQ1MS0yMDAgMjAwLTIwMG0wLTQ4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptMCAxNjhjLTQ0LjE4MyAwLTgwIDM1LjgxNy04MCA4MHMzNS44MTcgODAgODAgODAgODAtMzUuODE3IDgwLTgwLTM1LjgxNy04MC04MC04MHoiXSwKICAgICAgImVkaXQiOiBbNTc2LCA1MTIsIFtdLCAiZjA0NCIsICJNNDAyLjMgMzQ0LjlsMzItMzJjNS01IDEzLjctMS41IDEzLjcgNS43VjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDI3My41YzcuMSAwIDEwLjcgOC42IDUuNyAxMy43bC0zMiAzMmMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNINDh2MzUyaDM1MlYzNTAuNWMwLTIuMS44LTQuMSAyLjMtNS42em0xNTYuNi0yMDEuOEwyOTYuMyA0MDUuN2wtOTAuNCAxMGMtMjYuMiAyLjktNDguNS0xOS4yLTQ1LjYtNDUuNmwxMC05MC40TDQzMi45IDE3LjFjMjIuOS0yMi45IDU5LjktMjIuOSA4Mi43IDBsNDMuMiA0My4yYzIyLjkgMjIuOSAyMi45IDYwIC4xIDgyLjh6TTQ2MC4xIDE3NEw0MDIgMTE1LjkgMjE2LjIgMzAxLjhsLTcuMyA2NS4zIDY1LjMtNy4zTDQ2MC4xIDE3NHptNjQuOC03OS43bC00My4yLTQzLjJjLTQuMS00LjEtMTAuOC00LjEtMTQuOCAwTDQzNiA4Mmw1OC4xIDU4LjEgMzAuOS0zMC45YzQtNC4yIDQtMTAuOC0uMS0xNC45eiJdLAogICAgICAiZW52ZWxvcGUiOiBbNTEyLCA1MTIsIFtdLCAiZjBlMCIsICJNNDY0IDY0SDQ4QzIxLjQ5IDY0IDAgODUuNDkgMCAxMTJ2Mjg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTEyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTAgNDh2NDAuODA1Yy0yMi40MjIgMTguMjU5LTU4LjE2OCA0Ni42NTEtMTM0LjU4NyAxMDYuNDktMTYuODQxIDEzLjI0Ny01MC4yMDEgNDUuMDcyLTczLjQxMyA0NC43MDEtMjMuMjA4LjM3NS01Ni41NzktMzEuNDU5LTczLjQxMy00NC43MDFDMTA2LjE4IDE5OS40NjUgNzAuNDI1IDE3MS4wNjcgNDggMTUyLjgwNVYxMTJoNDE2ek00OCA0MDBWMjE0LjM5OGMyMi45MTQgMTguMjUxIDU1LjQwOSA0My44NjIgMTA0LjkzOCA4Mi42NDYgMjEuODU3IDE3LjIwNSA2MC4xMzQgNTUuMTg2IDEwMy4wNjIgNTQuOTU1IDQyLjcxNy4yMzEgODAuNTA5LTM3LjE5OSAxMDMuMDUzLTU0Ljk0NyA0OS41MjgtMzguNzgzIDgyLjAzMi02NC40MDEgMTA0Ljk0Ny04Mi42NTNWNDAwSDQ4eiJdLAogICAgICAiZW52ZWxvcGUtb3BlbiI6IFs1MTIsIDUxMiwgW10sICJmMmI2IiwgIk00OTQuNTg2IDE2NC41MTZjLTQuNjk3LTMuODgzLTExMS43MjMtODkuOTUtMTM1LjI1MS0xMDguNjU3QzMzNy4yMzEgMzguMTkxIDI5OS40MzcgMCAyNTYgMGMtNDMuMjA1IDAtODAuNjM2IDM3LjcxNy0xMDMuMzM1IDU1Ljg1OS0yNC40NjMgMTkuNDUtMTMxLjA3IDEwNS4xOTUtMTM1LjE1IDEwOC41NDlBNDguMDA0IDQ4LjAwNCAwIDAgMCAwIDIwMS40ODVWNDY0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMjAxLjUwOWE0OCA0OCAwIDAgMC0xNy40MTQtMzYuOTkzek00NjQgNDU4YTYgNiAwIDAgMS02IDZINTRhNiA2IDAgMCAxLTYtNlYyMDQuMzQ3YzAtMS44MTMuODE2LTMuNTI2IDIuMjI2LTQuNjY1IDE1Ljg3LTEyLjgxNCAxMDguNzkzLTg3LjU1NCAxMzIuMzY0LTEwNi4yOTNDMjAwLjc1NSA3OC44OCAyMzIuMzk4IDQ4IDI1NiA0OGMyMy42OTMgMCA1NS44NTcgMzEuMzY5IDczLjQxIDQ1LjM4OSAyMy41NzMgMTguNzQxIDExNi41MDMgOTMuNDkzIDEzMi4zNjYgMTA2LjMxNmE1Ljk5IDUuOTkgMCAwIDEgMi4yMjQgNC42NjNWNDU4em0tMzEuOTkxLTE4Ny43MDRjNC4yNDkgNS4xNTkgMy40NjUgMTIuNzk1LTEuNzQ1IDE2Ljk4MS0yOC45NzUgMjMuMjgzLTU5LjI3NCA0Ny41OTctNzAuOTI5IDU2Ljg2M0MzMzYuNjM2IDM2Mi4yODMgMjk5LjIwNSA0MDAgMjU2IDQwMGMtNDMuNDUyIDAtODEuMjg3LTM4LjIzNy0xMDMuMzM1LTU1Ljg2LTExLjI3OS04Ljk2Ny00MS43NDQtMzMuNDEzLTcwLjkyNy01Ni44NjUtNS4yMS00LjE4Ny01Ljk5My0xMS44MjItMS43NDUtMTYuOTgxbDE1LjI1OC0xOC41MjhjNC4xNzgtNS4wNzMgMTEuNjU3LTUuODQzIDE2Ljc3OS0xLjcyNiAyOC42MTggMjMuMDAxIDU4LjU2NiA0Ny4wMzUgNzAuNTYgNTYuNTcxQzIwMC4xNDMgMzIwLjYzMSAyMzIuMzA3IDM1MiAyNTYgMzUyYzIzLjYwMiAwIDU1LjI0Ni0zMC44OCA3My40MS00NS4zODkgMTEuOTk0LTkuNTM1IDQxLjk0NC0zMy41NyA3MC41NjMtNTYuNTY4IDUuMTIyLTQuMTE2IDEyLjYwMS0zLjM0NiAxNi43NzggMS43MjdsMTUuMjU4IDE4LjUyNnoiXSwKICAgICAgImV5ZS1zbGFzaCI6IFs1NzYsIDUxMiwgW10sICJmMDcwIiwgIk0yNzIuNzAyIDM1OS4xMzljLTgwLjQ4My05LjAxMS0xMzYuMjEyLTg2Ljg4Ni0xMTYuOTMtMTY3LjA0MmwxMTYuOTMgMTY3LjA0MnpNMjg4IDM5MmMtMTAyLjU1NiAwLTE5Mi4wOTItNTQuNzAxLTI0MC0xMzYgMjEuNzU1LTM2LjkxNyA1Mi4xLTY4LjM0MiA4OC4zNDQtOTEuNjU4bC0yNy41NDEtMzkuMzQzQzY3LjAwMSAxNTIuMjM0IDMxLjkyMSAxODguNzQxIDYuNjQ2IDIzMS42MzFhNDcuOTk5IDQ3Ljk5OSAwIDAgMCAwIDQ4LjczOUM2My4wMDQgMzc2LjAwNiAxNjguMTQgNDQwIDI4OCA0NDBhMzMyLjg5IDMzMi44OSAwIDAgMCAzOS42NDgtMi4zNjdsLTMyLjAyMS00NS43NDRBMjg0LjE2IDI4NC4xNiAwIDAgMSAyODggMzkyem0yODEuMzU0LTExMS42MzFjLTMzLjIzMiA1Ni4zOTQtODMuNDIxIDEwMS43NDItMTQzLjU1NCAxMjkuNDkybDQ4LjExNiA2OC43NGMzLjgwMSA1LjQyOSAyLjQ4IDEyLjkxMi0yLjk0OSAxNi43MTJMNDUwLjIzIDUwOS44M2MtNS40MjkgMy44MDEtMTIuOTEyIDIuNDgtMTYuNzEyLTIuOTQ5TDEwMi4wODQgMzMuMzk5Yy0zLjgwMS01LjQyOS0yLjQ4LTEyLjkxMiAyLjk0OS0xNi43MTJMMTI1Ljc3IDIuMTdjNS40MjktMy44MDEgMTIuOTEyLTIuNDggMTYuNzEyIDIuOTQ5bDU1LjUyNiA3OS4zMjVDMjI2LjYxMiA3Ni4zNDMgMjU2LjgwOCA3MiAyODggNzJjMTE5Ljg2IDAgMjI0Ljk5NiA2My45OTQgMjgxLjM1NCAxNTkuNjMxYTQ4LjAwMiA0OC4wMDIgMCAwIDEgMCA0OC43Mzh6TTUyOCAyNTZjLTQ0LjE1Ny03NC45MzMtMTIzLjY3Ny0xMjcuMjctMjE2LjE2Mi0xMzUuMDA3QzMwMi4wNDIgMTMxLjA3OCAyOTYgMTQ0LjgzIDI5NiAxNjBjMCAzMC45MjggMjUuMDcyIDU2IDU2IDU2czU2LTI1LjA3MiA1Ni01NmwtLjAwMS0uMDQyYzMwLjYzMiA1Ny4yNzcgMTYuNzM5IDEzMC4yNi0zNi45MjggMTcxLjcxOWwyNi42OTUgMzguMTM1QzQ1Mi42MjYgMzQ2LjU1MSA0OTguMzA4IDMwNi4zODYgNTI4IDI1NnoiXSwKICAgICAgImZpbGUiOiBbMzg0LCA1MTIsIFtdLCAiZjE1YiIsICJNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4eiJdLAogICAgICAiZmlsZS1hbHQiOiBbMzg0LCA1MTIsIFtdLCAiZjE1YyIsICJNMjg4IDI0OHYyOGMwIDYuNi01LjQgMTItMTIgMTJIMTA4Yy02LjYgMC0xMi01LjQtMTItMTJ2LTI4YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0tMTIgNzJIMTA4Yy02LjYgMC0xMiA1LjQtMTIgMTJ2MjhjMCA2LjYgNS40IDEyIDEyIDEyaDE2OGM2LjYgMCAxMi01LjQgMTItMTJ2LTI4YzAtNi42LTUuNC0xMi0xMi0xMnptMTA4LTE4OC4xVjQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNDhDMCAyMS41IDIxLjUgMCA0OCAwaDIwNC4xQzI2NC44IDAgMjc3IDUuMSAyODYgMTQuMUwzNjkuOSA5OGM5IDguOSAxNC4xIDIxLjIgMTQuMSAzMy45em0tMTI4LTgwVjEyOGg3Ni4xTDI1NiA1MS45ek0zMzYgNDY0VjE3NkgyMzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjQ4SDQ4djQxNmgyODh6Il0sCiAgICAgICJmaWxlLWFyY2hpdmUiOiBbMzg0LCA1MTIsIFtdLCAiZjFjNiIsICJNMzY5Ljk0MSA5Ny45NDFsLTgzLjg4Mi04My44ODJBNDggNDggMCAwIDAgMjUyLjExOCAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjEzMS44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMjU2IDUxLjg4MkwzMzIuMTE4IDEyOEgyNTZWNTEuODgyek0zMzYgNDY0SDQ4VjQ4aDc5LjcxNHYxNmgzMlY0OEgyMDh2MTA0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDR2Mjg4ek0xOTIuMjcgOTZoLTMyVjY0aDMydjMyem0tMzIgMHYzMmgtMzJWOTZoMzJ6bTAgNjR2MzJoLTMydi0zMmgzMnptMzIgMGgtMzJ2LTMyaDMydjMyem0xLjkwOSAxMDUuNjc4QTEyIDEyIDAgMCAwIDE4Mi40MDYgMjU2SDE2MC4yN3YtMzJoLTMydjMybC0xOS42OSA5Ny4xMDZDMTAxLjk4OSAzODUuNjExIDEyNi44MzQgNDE2IDE2MCA0MTZjMzMuMDUyIDAgNTcuODcxLTMwLjE5MiA1MS40NzYtNjIuNjJsLTE3LjI5Ny04Ny43MDJ6TTE2MC4yNyAzOTAuMDczYy0xNy45MTggMC0zMi40NDQtMTIuMTA1LTMyLjQ0NC0yNy4wMzYgMC0xNC45MzIgMTQuNTI1LTI3LjAzNiAzMi40NDQtMjcuMDM2czMyLjQ0NCAxMi4xMDUgMzIuNDQ0IDI3LjAzNmMwIDE0LjkzMS0xNC41MjYgMjcuMDM2LTMyLjQ0NCAyNy4wMzZ6bTMyLTE2Ni4wNzNoLTMydi0zMmgzMnYzMnoiXSwKICAgICAgImZpbGUtYXVkaW8iOiBbMzg0LCA1MTIsIFtdLCAiZjFjNyIsICJNMzY5Ljk0MSA5Ny45NDFsLTgzLjg4Mi04My44ODJBNDggNDggMCAwIDAgMjUyLjExOCAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjEzMS44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMzMyLjExOCAxMjhIMjU2VjUxLjg4MkwzMzIuMTE4IDEyOHpNNDggNDY0VjQ4aDE2MHYxMDRjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEwNHYyODhINDh6bTE0NC03Ni4wMjRjMCAxMC42OTEtMTIuOTI2IDE2LjA0NS0yMC40ODUgOC40ODVMMTM2IDM2MC40ODZoLTI4Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi01NmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDI4bDM1LjUxNS0zNi45NDdjNy41Ni03LjU2IDIwLjQ4NS0yLjIwNiAyMC40ODUgOC40ODV2MTM1Ljk1MnptNDEuMjAxLTQ3LjEzYzkuMDUxLTkuMjk3IDkuMDYtMjQuMTMzLjAwMS0zMy40MzktMjIuMTQ5LTIyLjc1MiAxMi4yMzUtNTYuMjQ2IDM0LjM5NS0zMy40ODEgMjcuMTk4IDI3Ljk0IDI3LjIxMiA3Mi40NDQuMDAxIDEwMC40MDEtMjEuNzkzIDIyLjM4Ni01Ni45NDctMTAuMzE1LTM0LjM5Ny0zMy40ODF6Il0sCiAgICAgICJmaWxlLWNvZGUiOiBbMzg0LCA1MTIsIFtdLCAiZjFjOSIsICJNMzY5Ljk0MSA5Ny45NDFsLTgzLjg4Mi04My44ODJBNDggNDggMCAwIDAgMjUyLjExOCAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjEzMS44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMzMyLjExOCAxMjhIMjU2VjUxLjg4MkwzMzIuMTE4IDEyOHpNNDggNDY0VjQ4aDE2MHYxMDRjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEwNHYyODhINDh6bTEwMS42NzctMTE1LjExNUwxMTYuODU0IDMyMGwzMi44MjItMjguODg1YTguNzkzIDguNzkzIDAgMCAwIC42MDUtMTIuNjI0bC0xNy40MDMtMTguNTY0Yy0zLjM4NC0zLjYxMy04Ljk2NC0zLjY2Mi0xMi40MzgtLjQwMUw2Mi43OCAzMTMuNThjLTMuNzAzIDMuNDc0LTMuNzA0IDkuMzY3LjAwMSAxMi44NGw1Ny42NTkgNTQuMDU1YTguNzM4IDguNzM4IDAgMCAwIDYuMDEyIDIuMzgxIDguNzQ2IDguNzQ2IDAgMCAwIDYuNDI3LTIuNzgybDE3LjQwMy0xOC41NjNhOC43OTUgOC43OTUgMCAwIDAtLjYwNS0xMi42MjZ6bTg0LjI4NC0xMjcuODVsLTI0LjQwMS03LjA4NGE4Ljc5NiA4Ljc5NiAwIDAgMC0xMC45MDUgNS45OThMMTQ0LjA0IDQwOC4wNjFjLTEuMzUzIDQuNjYgMS4zMzggOS41NTIgNS45OTggMTAuOTA1bDI0LjQwMyA3LjA4NGM0LjY4IDEuMzU1IDkuNTU3LTEuMzU0IDEwLjkwNS01Ljk5OGw1NC42MTItMTg4LjExMmMxLjM1NC00LjY2LTEuMzM3LTkuNTUyLTUuOTk3LTEwLjkwNXptODcuMjU4IDkyLjU0NWwtNTcuNjU4LTU0LjA1NWMtMy41MjYtMy4zMDctOS4wOTktMy4xNjUtMTIuNDM5LjQwMWwtMTcuNDAzIDE4LjU2M2E4Ljc5NSA4Ljc5NSAwIDAgMCAuNjA1IDEyLjYyNUwyNjcuMTQ2IDMyMGwtMzIuODIyIDI4Ljg4NWE4Ljc5MyA4Ljc5MyAwIDAgMC0uNjA1IDEyLjYyNGwxNy40MDMgMTguNTY0YTguNzk3IDguNzk3IDAgMCAwIDEyLjQzOS40MDFoLS4wMDFsNTcuNjYtNTQuMDU1YzMuNzAzLTMuNDczIDMuNzAzLTkuMzY2LS4wMDEtMTIuODM5eiJdLAogICAgICAiZmlsZS1leGNlbCI6IFszODQsIDUxMiwgW10sICJmMWMzIiwgIk0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6TTMzMi4xIDEyOEgyNTZWNTEuOWw3Ni4xIDc2LjF6TTQ4IDQ2NFY0OGgxNjB2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYyODhINDh6bTIxMi0yNDBoLTI4LjhjLTQuNCAwLTguNCAyLjQtMTAuNSA2LjMtMTggMzMuMS0yMi4yIDQyLjQtMjguNiA1Ny43LTEzLjktMjkuMS02LjktMTcuMy0yOC42LTU3LjctMi4xLTMuOS02LjItNi4zLTEwLjYtNi4zSDEyNGMtOS4zIDAtMTUgMTAtMTAuNCAxOGw0Ni4zIDc4LTQ2LjMgNzhjLTQuNyA4IDEuMSAxOCAxMC40IDE4aDI4LjljNC40IDAgOC40LTIuNCAxMC41LTYuMyAyMS43LTQwIDIzLTQ1IDI4LjYtNTcuNyAxNC45IDMwLjIgNS45IDE1LjkgMjguNiA1Ny43IDIuMSAzLjkgNi4yIDYuMyAxMC42IDYuM0gyNjBjOS4zIDAgMTUtMTAgMTAuNC0xOEwyMjQgMzIwYy43LTEuMSAzMC4zLTUwLjUgNDYuMy03OCA0LjctOC0xLjEtMTgtMTAuMy0xOHoiXSwKICAgICAgImZpbGUtaW1hZ2UiOiBbMzg0LCA1MTIsIFtdLCAiZjFjNSIsICJNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4em0zMi00OGgyMjRWMjg4bC0yMy41LTIzLjVjLTQuNy00LjctMTIuMy00LjctMTcgMEwxNzYgMzUybC0zOS41LTM5LjVjLTQuNy00LjctMTIuMy00LjctMTcgMEw4MCAzNTJ2NjR6bTQ4LTI0MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OCA0OC0yMS41IDQ4LTQ4LTIxLjUtNDgtNDgtNDh6Il0sCiAgICAgICJmaWxlLXBkZiI6IFszODQsIDUxMiwgW10sICJmMWMxIiwgIk0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6TTMzMi4xIDEyOEgyNTZWNTEuOWw3Ni4xIDc2LjF6TTQ4IDQ2NFY0OGgxNjB2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYyODhINDh6bTI1MC4yLTE0My43Yy0xMi4yLTEyLTQ3LTguNy02NC40LTYuNS0xNy4yLTEwLjUtMjguNy0yNS0zNi44LTQ2LjMgMy45LTE2LjEgMTAuMS00MC42IDUuNC01Ni00LjItMjYuMi0zNy44LTIzLjYtNDIuNi01LjktNC40IDE2LjEtLjQgMzguNSA3IDY3LjEtMTAgMjMuOS0yNC45IDU2LTM1LjQgNzQuNC0yMCAxMC4zLTQ3IDI2LjItNTEgNDYuMi0zLjMgMTUuOCAyNiA1NS4yIDc2LjEtMzEuMiAyMi40LTcuNCA0Ni44LTE2LjUgNjguNC0yMC4xIDE4LjkgMTAuMiA0MSAxNyA1NS44IDE3IDI1LjUgMCAyOC0yOC4yIDE3LjUtMzguN3ptLTE5OC4xIDc3LjhjNS4xLTEzLjcgMjQuNS0yOS41IDMwLjQtMzUtMTkgMzAuMy0zMC40IDM1LjctMzAuNCAzNXptODEuNi0xOTAuNmM3LjQgMCA2LjcgMzIuMSAxLjggNDAuOC00LjQtMTMuOS00LjMtNDAuOC0xLjgtNDAuOHptLTI0LjQgMTM2LjZjOS43LTE2LjkgMTgtMzcgMjQuNy01NC43IDguMyAxNS4xIDE4LjkgMjcuMiAzMC4xIDM1LjUtMjAuOCA0LjMtMzguOSAxMy4xLTU0LjggMTkuMnptMTMxLjYtNXMtNSA2LTM3LjMtNy44YzM1LjEtMi42IDQwLjkgNS40IDM3LjMgNy44eiJdLAogICAgICAiZmlsZS1wb3dlcnBvaW50IjogWzM4NCwgNTEyLCBbXSwgImYxYzQiLCAiTTM2OS45IDk3LjlMMjg2IDE0QzI3NyA1IDI2NC44LS4xIDI1Mi4xLS4xSDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHY0MTZjMCAyNi41IDIxLjUgNDggNDggNDhoMjg4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjEzMS45YzAtMTIuNy01LjEtMjUtMTQuMS0zNHpNMzMyLjEgMTI4SDI1NlY1MS45bDc2LjEgNzYuMXpNNDggNDY0VjQ4aDE2MHYxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTA0djI4OEg0OHptNzItNjBWMjM2YzAtNi42IDUuNC0xMiAxMi0xMmg2OS4yYzM2LjcgMCA2Mi44IDI3IDYyLjggNjYuMyAwIDc0LjMtNjguNyA2Ni41LTk1LjUgNjYuNVY0MDRjMCA2LjYtNS40IDEyLTEyIDEySDEzMmMtNi42IDAtMTItNS40LTEyLTEyem00OC41LTg3LjRoMjNjNy45IDAgMTMuOS0yLjQgMTguMS03LjIgOC41LTkuOCA4LjQtMjguNS4xLTM3LjgtNC4xLTQuNi05LjktNy0xNy40LTdoLTIzLjl2NTJ6Il0sCiAgICAgICJmaWxlLXZpZGVvIjogWzM4NCwgNTEyLCBbXSwgImYxYzgiLCAiTTM2OS45NDEgOTcuOTQxbC04My44ODItODMuODgyQTQ4IDQ4IDAgMCAwIDI1Mi4xMTggMEg0OEMyMS40OSAwIDAgMjEuNDkgMCA0OHY0MTZjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgyODhjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMzEuODgyYTQ4IDQ4IDAgMCAwLTE0LjA1OS0zMy45NDF6TTMzMi4xMTggMTI4SDI1NlY1MS44ODJMMzMyLjExOCAxMjh6TTQ4IDQ2NFY0OGgxNjB2MTA0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDR2Mjg4SDQ4em0yMjguNjg3LTIxMS4zMDNMMjI0IDMwNS4zNzRWMjY4YzAtMTEuMDQ2LTguOTU0LTIwLTIwLTIwSDEwMGMtMTEuMDQ2IDAtMjAgOC45NTQtMjAgMjB2MTA0YzAgMTEuMDQ2IDguOTU0IDIwIDIwIDIwaDEwNGMxMS4wNDYgMCAyMC04Ljk1NCAyMC0yMHYtMzcuMzc0bDUyLjY4NyA1Mi42NzRDMjg2LjcwNCAzOTcuMzE4IDMwNCAzOTAuMjggMzA0IDM3NS45ODZWMjY0LjAxMWMwLTE0LjMxMS0xNy4zMDktMjEuMzE5LTI3LjMxMy0xMS4zMTR6Il0sCiAgICAgICJmaWxlLXdvcmQiOiBbMzg0LCA1MTIsIFtdLCAiZjFjMiIsICJNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4em0yMjAuMS0yMDhjLTUuNyAwLTEwLjYgNC0xMS43IDkuNS0yMC42IDk3LjctMjAuNCA5NS40LTIxIDEwMy41LS4yLTEuMi0uNC0yLjYtLjctNC4zLS44LTUuMS4zLjItMjMuNi05OS41LTEuMy01LjQtNi4xLTkuMi0xMS43LTkuMmgtMTMuM2MtNS41IDAtMTAuMyAzLjgtMTEuNyA5LjEtMjQuNCA5OS0yNCA5Ni4yLTI0LjggMTAzLjctLjEtMS4xLS4yLTIuNS0uNS00LjItLjctNS4yLTE0LjEtNzMuMy0xOS4xLTk5LTEuMS01LjYtNi05LjctMTEuOC05LjdoLTE2LjhjLTcuOCAwLTEzLjUgNy4zLTExLjcgMTQuOCA4IDMyLjYgMjYuNyAxMDkuNSAzMy4yIDEzNiAxLjMgNS40IDYuMSA5LjEgMTEuNyA5LjFoMjUuMmM1LjUgMCAxMC4zLTMuNyAxMS42LTkuMWwxNy45LTcxLjRjMS41LTYuMiAyLjUtMTIgMy0xNy4zbDIuOSAxNy4zYy4xLjQgMTIuNiA1MC41IDE3LjkgNzEuNCAxLjMgNS4zIDYuMSA5LjEgMTEuNiA5LjFoMjQuN2M1LjUgMCAxMC4zLTMuNyAxMS42LTkuMSAyMC44LTgxLjkgMzAuMi0xMTkgMzQuNS0xMzYgMS45LTcuNi0zLjgtMTQuOS0xMS42LTE0LjloLTE1Ljh6Il0sCiAgICAgICJmbGFnIjogWzUxMiwgNTEyLCBbXSwgImYwMjQiLCAiTTMzNi4xNzQgODBjLTQ5LjEzMiAwLTkzLjMwNS0zMi0xNjEuOTEzLTMyLTMxLjMwMSAwLTU4LjMwMyA2LjQ4Mi04MC43MjEgMTUuMTY4YTQ4LjA0IDQ4LjA0IDAgMCAwIDIuMTQyLTIwLjcyN0M5My4wNjcgMTkuNTc1IDc0LjE2NyAxLjU5NCA1MS4yMDEuMTA0IDIzLjI0Mi0xLjcxIDAgMjAuNDMxIDAgNDhjMCAxNy43NjQgOS42NTcgMzMuMjYyIDI0IDQxLjU2MlY0OTZjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmgxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di04My40NDNDMTA5Ljg2OSAzOTUuMjggMTQzLjI1OSAzODQgMTk5LjgyNiAzODRjNDkuMTMyIDAgOTMuMzA1IDMyIDE2MS45MTMgMzIgNTguNDc5IDAgMTAxLjk3Mi0yMi42MTcgMTI4LjU0OC0zOS45ODFDNTAzLjg0NiAzNjcuMTYxIDUxMiAzNTIuMDUxIDUxMiAzMzUuODU1Vjk1LjkzN2MwLTM0LjQ1OS0zNS4yNjQtNTcuNzY4LTY2LjkwNC00NC4xMTdDNDA5LjE5MyA2Ny4zMDkgMzcxLjY0MSA4MCAzMzYuMTc0IDgwek00NjQgMzM2Yy0yMS43ODMgMTUuNDEyLTYwLjgyNCAzMi0xMDIuMjYxIDMyLTU5Ljk0NSAwLTEwMi4wMDItMzItMTYxLjkxMy0zMi00My4zNjEgMC05Ni4zNzkgOS40MDMtMTI3LjgyNiAyNFYxMjhjMjEuNzg0LTE1LjQxMiA2MC44MjQtMzIgMTAyLjI2MS0zMiA1OS45NDUgMCAxMDIuMDAyIDMyIDE2MS45MTMgMzIgNDMuMjcxIDAgOTYuMzItMTcuMzY2IDEyNy44MjYtMzJ2MjQweiJdLAogICAgICAiZm9sZGVyIjogWzUxMiwgNTEyLCBbXSwgImYwN2IiLCAiTTQ2NCAxMjhIMjcybC02NC02NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQxNmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjE3NmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tNiAyNzJINTRjLTMuMzE0IDAtNi0yLjY3OC02LTUuOTkyVjExNy45OTJBNS45OTMgNS45OTMgMCAwIDEgNTQgMTEyaDEzNC4xMThsNjQgNjRINDU4YTYgNiAwIDAgMSA2IDZ2MjEyYTYgNiAwIDAgMS02IDZ6Il0sCiAgICAgICJmb2xkZXItb3BlbiI6IFs1NzYsIDUxMiwgW10sICJmMDdjIiwgIk01MjcuOTQzIDIyNEg0ODB2LTQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhIMjcybC02NC02NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQwMGE0OC4wMDEgNDguMDAxIDAgMCAwIDQwLjcwNC0yMi41Nmw3OS45NDItMTI4YzE5Ljk0OC0zMS45MTctMy4wMzgtNzMuNDQtNDAuNzAzLTczLjQ0ek01NCAxMTJoMTM0LjExOGw2NCA2NEg0MjZhNiA2IDAgMCAxIDYgNnY0MkgxNTJhNDggNDggMCAwIDAtNDEuMDk4IDIzLjIwMkw0OCAzNTEuNDQ5VjExNy45OTNBNS45OTMgNS45OTMgMCAwIDEgNTQgMTEyem0zOTQgMjg4SDcybDc3LjIzNC0xMjhINTI4bC04MCAxMjh6Il0sCiAgICAgICJmcm93biI6IFs1MTIsIDUxMiwgW10sICJmMTE5IiwgIk0yNTYgNTZjMTEwLjUzMiAwIDIwMCA4OS40NTEgMjAwIDIwMCAwIDExMC41MzItODkuNDUxIDIwMC0yMDAgMjAwLTExMC41MzIgMC0yMDAtODkuNDUxLTIwMC0yMDAgMC0xMTAuNTMyIDg5LjQ1MS0yMDAgMjAwLTIwMG0wLTQ4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptNjQgMTM2Yy05LjUzNSAwLTE4LjUxMiAyLjM4Ni0yNi4zNyA2LjU4OWguMDE3YzEyLjczNSAwIDIzLjA1OSAxMC4zMjQgMjMuMDU5IDIzLjA1OSAwIDEyLjczNS0xMC4zMjQgMjMuMDU5LTIzLjA1OSAyMy4wNTlzLTIzLjA1OS0xMC4zMjQtMjMuMDU5LTIzLjA1OXYtLjAxN0MyNjYuMzg2IDE4MS40ODggMjY0IDE5MC40NjUgMjY0IDIwMGMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZzNTYtMjUuMDcyIDU2LTU2LTI1LjA3Mi01Ni01Ni01NnptLTEyOCAwYy05LjUzNSAwLTE4LjUxMiAyLjM4Ni0yNi4zNyA2LjU4OWguMDE3YzEyLjczNSAwIDIzLjA1OSAxMC4zMjQgMjMuMDU5IDIzLjA1OSAwIDEyLjczNS0xMC4zMjQgMjMuMDU5LTIzLjA1OSAyMy4wNTktMTIuNzM1IDAtMjMuMDU5LTEwLjMyNC0yMy4wNTktMjMuMDU5di0uMDE3QzEzOC4zODYgMTgxLjQ4OCAxMzYgMTkwLjQ2NSAxMzYgMjAwYzAgMzAuOTI4IDI1LjA3MiA1NiA1NiA1NnM1Ni0yNS4wNzIgNTYtNTYtMjUuMDcyLTU2LTU2LTU2em0xNzEuNTQ3IDIwMS43ODJjLTU2LjU5NS03Ni45NjQtMTU4LjM4My03Ny4wNjUtMjE1LjA1Ny0uMDAxLTE4LjgyIDI1LjU5MyAxOS44NTggNTQuMDE4IDM4LjY3IDI4LjQzOCAzNy41MTEtNTEuMDEgMTAwLjM2NS01MC43OTYgMTM3LjcxNy0uMDAxIDE4LjUwOSAyNS4xNzIgNTcuODIxLTIuMzk1IDM4LjY3LTI4LjQzNnoiXSwKICAgICAgImZ1dGJvbCI6IFs0OTYsIDUxMiwgW10sICJmMWUzIiwgIk00ODMuOCAxNzkuNEM0NDkuOCA3NC42IDM1Mi42IDggMjQ4LjEgOGMtMjUuNCAwLTUxLjIgMy45LTc2LjcgMTIuMkM0MS4yIDYyLjUtMzAuMSAyMDIuNCAxMi4yIDMzMi42IDQ2LjIgNDM3LjQgMTQzLjQgNTA0IDI0Ny45IDUwNGMyNS40IDAgNTEuMi0zLjkgNzYuNy0xMi4yIDEzMC4yLTQyLjMgMjAxLjUtMTgyLjIgMTU5LjItMzEyLjR6bS03NC41IDE5My43bC01Mi4yIDYuNC00My43LTYwLjkgMjQuNC03NS4yIDcxLjEtMjIuMSAzOC45IDM2LjRjLS4yIDMwLjctNy40IDYxLjEtMjEuNyA4OS4yLTQuNyA5LjMtMTAuNyAxNy44LTE2LjggMjYuMnptMC0yMzUuNGwtMTAuNCA1My4xLTcwLjcgMjItNjQuMi00Ni41VjkyLjVsNDcuNC0yNi4yYzM5LjIgMTMgNzMuNCAzOCA5Ny45IDcxLjR6TTE4NC45IDY2LjRMMjMyIDkyLjV2NzMuOGwtNjQuMiA0Ni41LTcwLjYtMjItMTAuMS01Mi41YzI0LjMtMzMuNCA1Ny45LTU4LjYgOTcuOC03MS45ek0xMzkgMzc5LjVMODUuOSAzNzNjLTE0LjQtMjAuMS0zNy4zLTU5LjYtMzcuOC0xMTUuM2wzOS0zNi40IDcxLjEgMjIuMiAyNC4zIDc0LjMtNDMuNSA2MS43em00OC4yIDY3bC0yMi40LTQ4LjEgNDMuNi02MS43SDI4N2w0NC4zIDYxLjctMjIuNCA0OC4xYy02LjIgMS44LTU3LjYgMjAuNC0xMjEuNyAweiJdLAogICAgICAiZ2VtIjogWzU3NiwgNTEyLCBbXSwgImYzYTUiLCAiTTQ2NCAwSDExMmMtNCAwLTcuOCAyLTEwIDUuNEwyIDE1Mi42Yy0yLjkgNC40LTIuNiAxMC4yLjcgMTQuMmwyNzYgMzQwLjhjNC44IDUuOSAxMy44IDUuOSAxOC42IDBsMjc2LTM0MC44YzMuMy00LjEgMy42LTkuOC43LTE0LjJMNDc0LjEgNS40QzQ3MS44IDIgNDY4LjEgMCA0NjQgMHptLTE5LjMgNDhsNjMuMyA5NmgtNjguNGwtNTEuNy05Nmg1Ni44em0tMjAyLjEgMGg5MC43bDUxLjcgOTZIMTkxbDUxLjYtOTZ6bS0xMTEuMyAwaDU2LjhsLTUxLjcgOTZINjhsNjMuMy05NnptLTQzIDE0NGg1MS40TDIwOCAzNTIgODguMyAxOTJ6bTEwMi45IDBoMTkzLjZMMjg4IDQzNS4zIDE5MS4yIDE5MnpNMzY4IDM1Mmw2OC4yLTE2MGg1MS40TDM2OCAzNTJ6Il0sCiAgICAgICJoYW5kLWxpemFyZCI6IFs1NzYsIDUxMiwgW10sICJmMjU4IiwgIk01NTYuNjg2IDI5MC41NDJMNDEwLjMyOCA2NC44MjlDMzk3LjAwMSA0NC4yNzIgMzc0LjQxNyAzMiAzNDkuOTE3IDMySDU2QzI1LjEyMSAzMiAwIDU3LjEyMiAwIDg4djhjMCA0NC4xMTIgMzUuODg4IDgwIDgwIDgwaDE5Ni4wNDJsLTE4LjMzMyA0OEgxNDRjLTQ4LjUyMyAwLTg4IDM5LjQ3Ny04OCA4OCAwIDMwLjg3OSAyNS4xMjEgNTYgNTYgNTZoMTMxLjU1MmMyLjk4NyAwIDUuOTE0LjU0OSA4LjY5NyAxLjYzMUwzNTIgNDA4LjQxOFY0ODBoMjI0VjM1NS44MjljMC0yMy4yMjUtNi42NzktNDUuODAxLTE5LjMxNC02NS4yODd6TTUyOCA0MzJINDAwdi0yMy41ODJjMC0xOS45NDgtMTIuMDE0LTM3LjUwOC0zMC42MDQtNDQuNzM2bC05OS43NTEtMzguNzg4QTcxLjczMyA3MS43MzMgMCAwIDAgMjQzLjU1MiAzMjBIMTEyYy00LjQxMSAwLTgtMy41ODktOC04IDAtMjIuMDU2IDE3Ljk0NC00MCA0MC00MGgxMTMuNzA5YzE5Ljc2NyAwIDM3Ljc4Ni0xMi40MDcgNDQuODQtMzAuODczbDI0LjU1Mi02NC4yODFjOC45OTYtMjMuNTUzLTguNDI4LTQ4Ljg0Ni0zMy42My00OC44NDZIODBjLTE3LjY0NSAwLTMyLTE0LjM1NS0zMi0zMnYtOGMwLTQuNDExIDMuNTg5LTggOC04aDI5My45MTdjOC4xNjYgMCAxNS42OTMgNC4wOSAyMC4xMzcgMTAuOTQybDE0Ni4zNTggMjI1LjcxNUE3MS44NCA3MS44NCAwIDAgMSA1MjggMzU1LjgyOVY0MzJ6Il0sCiAgICAgICJoYW5kLXBhcGVyIjogWzQ0OCwgNTEyLCBbXSwgImYyNTYiLCAiTTM3Mi41NyAxMTIuNjQxdi0xMC44MjVjMC00My42MTItNDAuNTItNzYuNjkxLTgzLjAzOS02NS41NDYtMjUuNjI5LTQ5LjUtOTQuMDktNDcuNDUtMTE3Ljk4Mi43NDdDMTMwLjI2OSAyNi40NTYgODkuMTQ0IDU3Ljk0NSA4OS4xNDQgMTAydjEyNi4xM2MtMTkuOTUzLTcuNDI3LTQzLjMwOC01LjA2OC02Mi4wODMgOC44NzEtMjkuMzU1IDIxLjc5Ni0zNS43OTQgNjMuMzMzLTE0LjU1IDkzLjE1M0wxMzIuNDggNDk4LjU2OWEzMiAzMiAwIDAgMCAyNi4wNjIgMTMuNDMyaDIyMi44OTdjMTQuOTA0IDAgMjcuODM1LTEwLjI4OSAzMS4xODItMjQuODEzbDMwLjE4NC0xMzAuOTU4QTIwMy42MzcgMjAzLjYzNyAwIDAgMCA0NDggMzEwLjU2NFYxNzljMC00MC42Mi0zNS41MjMtNzEuOTkyLTc1LjQzLTY2LjM1OXptMjcuNDI3IDE5Ny45MjJjMCAxMS43MzEtMS4zMzQgMjMuNDY5LTMuOTY1IDM0Ljg4NkwzNjguNzA3IDQ2NGgtMjAxLjkyTDUxLjU5MSAzMDIuMzAzYy0xNC40MzktMjAuMjcgMTUuMDIzLTQyLjc3NiAyOS4zOTQtMjIuNjA1bDI3LjEyOCAzOC4wNzljOC45OTUgMTIuNjI2IDI5LjAzMSA2LjI4NyAyOS4wMzEtOS4yODNWMTAyYzAtMjUuNjQ1IDM2LjU3MS0yNC44MSAzNi41NzEuNjkxVjI1NmMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDYuODU2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNjdjMC0yNS42NjMgMzYuNTcxLTI0LjgxIDM2LjU3MS42OTFWMjU2YzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoNi44NTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNlYxMDEuMTI1YzAtMjUuNjcyIDM2LjU3LTI0LjgxIDM2LjU3LjY5MVYyNTZjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmg2Ljg1N2M4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di03Ni4zMDljMC0yNi4yNDIgMzYuNTctMjUuNjQgMzYuNTctLjY5MXYxMzEuNTYzeiJdLAogICAgICAiaGFuZC1wZWFjZSI6IFs0NDgsIDUxMiwgW10sICJmMjViIiwgIk0zNjIuMTQ2IDE5MS45NzZjLTEzLjcxLTIxLjY0OS0zOC43NjEtMzQuMDE2LTY1LjAwNi0zMC4zNDFWNzRjMC00MC44MDQtMzIuODExLTc0LTczLjE0MS03NC00MC4zMyAwLTczLjE0IDMzLjE5Ni03My4xNCA3NEwxNjAgMTY4bC0xOC42NzktNzguODVDMTI2LjU3OCA1MC44NDMgODMuODUgMzIuMTEgNDYuMjA5IDQ3LjIwOCA4LjczNSA2Mi4yMzgtOS41NzEgMTA0Ljk2MyA1LjAwOCAxNDIuODVsNTUuNzU3IDE0NC45MjdjLTMwLjU1NyAyNC45NTYtNDMuOTk0IDU3LjgwOS0yNC43MzMgOTIuMjE4bDU0Ljg1MyA5Ny45OTlDMTAyLjYyNSA0OTguOTcgMTI0LjczIDUxMiAxNDguNTc1IDUxMmgyMDUuNzAyYzMwLjc0NCAwIDU3LjU1OC0yMS40NCA2NC41NTUtNTEuNzk3bDI3LjQyNy0xMTguOTk5YTY3LjgwMSA2Ny44MDEgMCAwIDAgMS43MjktMTUuMjAzTDQ0OCAyNTZjMC00NC45NTYtNDMuMjYzLTc3LjM0My04NS44NTQtNjQuMDI0ek0zOTkuOTg3IDMyNmMwIDEuNDg4LS4xNjkgMi45NzctLjUwMiA0LjQyM2wtMjcuNDI3IDExOS4wMDFjLTEuOTc4IDguNTgyLTkuMjkgMTQuNTc2LTE3Ljc4MiAxNC41NzZIMTQ4LjU3NWMtNi40ODYgMC0xMi41NDItMy42MjEtMTUuODA1LTkuNDQ5bC01NC44NTQtOThjLTQuNTU3LTguMTQxLTIuNjE5LTE4LjY2OCA0LjUwOC0yNC40ODhsMjYuNjQ3LTIxLjc2NGExNiAxNiAwIDAgMCA0LjgxMi0xOC4xMzlsLTY0LjA5LTE2Ni41NDlDMzcuMjI2IDkyLjk1NiA4NC4zNyA3NC44MzcgOTYuNTEgMTA2LjM4OWw1OS43ODQgMTU1LjM1N0ExNiAxNiAwIDAgMCAxNzEuMjI3IDI3MmgxMS42MzJjOC44MzcgMCAxNi03LjE2MyAxNi0xNlY3NGMwLTM0LjM3NSA1MC4yODEtMzQuNDMgNTAuMjgxIDB2MTgyYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoNi44NTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMjhjMC0yNS4xMjIgMzYuNTY3LTI1LjE1OSAzNi41NjcgMHYyOGMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDYuODU2YzguODM3IDAgMTYtNy4xNjMgMTYtMTYgMC0yNS4xMiAzNi41NjctMjUuMTYgMzYuNTY3IDB2NzB6Il0sCiAgICAgICJoYW5kLXBvaW50LWRvd24iOiBbNDQ4LCA1MTIsIFtdLCAiZjBhNyIsICJNMTg4LjggNTEyYzQ1LjYxNiAwIDgzLjItMzcuNzY1IDgzLjItODMuMnYtMzUuNjQ3YTkzLjE0OCA5My4xNDggMCAwIDAgMjIuMDY0LTcuOTI5YzIyLjAwNiAyLjUwNyA0NC45NzgtMy41MDMgNjIuNzkxLTE1Ljk4NUM0MDkuMzQyIDM2OC4xIDQ0OCAzMzEuODQxIDQ0OCAyNjkuMjk5VjI0OGMwLTYwLjA2My00MC05OC41MTItNDAtMTI3LjJ2LTIuNjc5YzQuOTUyLTUuNzQ3IDgtMTMuNTM2IDgtMjIuMTJWMzJjMC0xNy42NzMtMTIuODk0LTMyLTI4LjgtMzJIMTU2LjhDMTQwLjg5NCAwIDEyOCAxNC4zMjcgMTI4IDMydjY0YzAgOC41ODQgMy4wNDggMTYuMzczIDggMjIuMTJ2Mi42NzljMCA2Ljk2NC02LjE5MyAxNC44NjItMjMuNjY4IDMwLjE4M2wtLjE0OC4xMjktLjE0Ni4xMzFjLTkuOTM3IDguODU2LTIwLjg0MSAxOC4xMTYtMzMuMjUzIDI1Ljg1MUM0OC41MzcgMTk1Ljc5OCAwIDIwNy40ODYgMCAyNTIuOGMwIDU2LjkyOCAzNS4yODYgOTIgODMuMiA5MiA4LjAyNiAwIDE1LjQ4OS0uODE0IDIyLjQtMi4xNzZWNDI4LjhjMCA0NS4wOTkgMzguMTAxIDgzLjIgODMuMiA4My4yem0wLTQ4Yy0xOC43IDAtMzUuMi0xNi43NzUtMzUuMi0zNS4yVjI3MC40Yy0xNy4zMjUgMC0zNS4yIDI2LjQtNzAuNCAyNi40LTI2LjQgMC0zNS4yLTIwLjYyNS0zNS4yLTQ0IDAtOC43OTQgMzIuNzEyLTIwLjQ0NSA1Ni4xLTM0LjkyNiAxNC41NzUtOS4wNzQgMjcuMjI1LTE5LjUyNCAzOS44NzUtMzAuNzk5IDE4LjM3NC0xNi4xMDkgMzYuNjMzLTMzLjgzNiAzOS41OTYtNTkuMDc1aDE3Ni43NTJDMzY0LjA4NyAxNzAuNzkgNDAwIDIwMi41MDkgNDAwIDI0OHYyMS4yOTljMCA0MC41MjQtMjIuMTk3IDU3LjEyNC02MS4zMjUgNTAuNjAxLTguMDAxIDE0LjYxMi0zMy45NzkgMjQuMTUxLTUzLjYyNSAxMi45MjUtMTguMjI1IDE5LjM2NS00Ni4zODEgMTcuNzg3LTYxLjA1IDQuOTVWNDI4LjhjMCAxOC45NzUtMTYuMjI1IDM1LjItMzUuMiAzNS4yek0zMjggNjRjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0czI0IDEwLjc0NSAyNCAyNC0xMC43NDUgMjQtMjQgMjQtMjQtMTAuNzQ1LTI0LTI0eiJdLAogICAgICAiaGFuZC1wb2ludC1sZWZ0IjogWzUxMiwgNTEyLCBbXSwgImYwYTUiLCAiTTAgMjIwLjhDMCAyNjYuNDE2IDM3Ljc2NSAzMDQgODMuMiAzMDRoMzUuNjQ3YTkzLjE0OCA5My4xNDggMCAwIDAgNy45MjkgMjIuMDY0Yy0yLjUwNyAyMi4wMDYgMy41MDMgNDQuOTc4IDE1Ljk4NSA2Mi43OTFDMTQzLjkgNDQxLjM0MiAxODAuMTU5IDQ4MCAyNDIuNzAxIDQ4MEgyNjRjNjAuMDYzIDAgOTguNTEyLTQwIDEyNy4yLTQwaDIuNjc5YzUuNzQ3IDQuOTUyIDEzLjUzNiA4IDIyLjEyIDhoNjRjMTcuNjczIDAgMzItMTIuODk0IDMyLTI4LjhWMTg4LjhjMC0xNS45MDYtMTQuMzI3LTI4LjgtMzItMjguOGgtNjRjLTguNTg0IDAtMTYuMzczIDMuMDQ4LTIyLjEyIDhIMzkxLjJjLTYuOTY0IDAtMTQuODYyLTYuMTkzLTMwLjE4My0yMy42NjhsLS4xMjktLjE0OC0uMTMxLS4xNDZjLTguODU2LTkuOTM3LTE4LjExNi0yMC44NDEtMjUuODUxLTMzLjI1M0MzMTYuMjAyIDgwLjUzNyAzMDQuNTE0IDMyIDI1OS4yIDMyYy01Ni45MjggMC05MiAzNS4yODYtOTIgODMuMiAwIDguMDI2LjgxNCAxNS40ODkgMi4xNzYgMjIuNEg4My4yQzM4LjEwMSAxMzcuNiAwIDE3NS43MDEgMCAyMjAuOHptNDggMGMwLTE4LjcgMTYuNzc1LTM1LjIgMzUuMi0zNS4yaDE1OC40YzAtMTcuMzI1LTI2LjQtMzUuMi0yNi40LTcwLjQgMC0yNi40IDIwLjYyNS0zNS4yIDQ0LTM1LjIgOC43OTQgMCAyMC40NDUgMzIuNzEyIDM0LjkyNiA1Ni4xIDkuMDc0IDE0LjU3NSAxOS41MjQgMjcuMjI1IDMwLjc5OSAzOS44NzUgMTYuMTA5IDE4LjM3NCAzMy44MzYgMzYuNjMzIDU5LjA3NSAzOS41OTZ2MTc2Ljc1MkMzNDEuMjEgMzk2LjA4NyAzMDkuNDkxIDQzMiAyNjQgNDMyaC0yMS4yOTljLTQwLjUyNCAwLTU3LjEyNC0yMi4xOTctNTAuNjAxLTYxLjMyNS0xNC42MTItOC4wMDEtMjQuMTUxLTMzLjk3OS0xMi45MjUtNTMuNjI1LTE5LjM2NS0xOC4yMjUtMTcuNzg3LTQ2LjM4MS00Ljk1LTYxLjA1SDgzLjJDNjQuMjI1IDI1NiA0OCAyMzkuNzc1IDQ4IDIyMC44ek00NDggMzYwYzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHMtMTAuNzQ1IDI0LTI0IDI0LTI0LTEwLjc0NS0yNC0yNCAxMC43NDUtMjQgMjQtMjR6Il0sCiAgICAgICJoYW5kLXBvaW50LXJpZ2h0IjogWzUxMiwgNTEyLCBbXSwgImYwYTQiLCAiTTQyOC44IDEzNy42aC04Ni4xNzdhMTE1LjUyIDExNS41MiAwIDAgMCAyLjE3Ni0yMi40YzAtNDcuOTE0LTM1LjA3Mi04My4yLTkyLTgzLjItNDUuMzE0IDAtNTcuMDAyIDQ4LjUzNy03NS43MDcgNzguNzg0LTcuNzM1IDEyLjQxMy0xNi45OTQgMjMuMzE3LTI1Ljg1MSAzMy4yNTNsLS4xMzEuMTQ2LS4xMjkuMTQ4QzEzNS42NjIgMTYxLjgwNyAxMjcuNzY0IDE2OCAxMjAuOCAxNjhoLTIuNjc5Yy01Ljc0Ny00Ljk1Mi0xMy41MzYtOC0yMi4xMi04SDMyYy0xNy42NzMgMC0zMiAxMi44OTQtMzIgMjguOHYyMzAuNEMwIDQzNS4xMDYgMTQuMzI3IDQ0OCAzMiA0NDhoNjRjOC41ODQgMCAxNi4zNzMtMy4wNDggMjIuMTItOGgyLjY3OWMyOC42ODggMCA2Ny4xMzcgNDAgMTI3LjIgNDBoMjEuMjk5YzYyLjU0MiAwIDk4LjgtMzguNjU4IDk5Ljk0LTkxLjE0NSAxMi40ODItMTcuODEzIDE4LjQ5MS00MC43ODUgMTUuOTg1LTYyLjc5MUE5My4xNDggOTMuMTQ4IDAgMCAwIDM5My4xNTIgMzA0SDQyOC44YzQ1LjQzNSAwIDgzLjItMzcuNTg0IDgzLjItODMuMiAwLTQ1LjA5OS0zOC4xMDEtODMuMi04My4yLTgzLjJ6bTAgMTE4LjRoLTkxLjAyNmMxMi44MzcgMTQuNjY5IDE0LjQxNSA0Mi44MjUtNC45NSA2MS4wNSAxMS4yMjcgMTkuNjQ2IDEuNjg3IDQ1LjYyNC0xMi45MjUgNTMuNjI1IDYuNTI0IDM5LjEyOC0xMC4wNzYgNjEuMzI1LTUwLjYgNjEuMzI1SDI0OGMtNDUuNDkxIDAtNzcuMjEtMzUuOTEzLTEyMC0zOS42NzZWMjE1LjU3MWMyNS4yMzktMi45NjQgNDIuOTY2LTIxLjIyMiA1OS4wNzUtMzkuNTk2IDExLjI3NS0xMi42NSAyMS43MjUtMjUuMyAzMC43OTktMzkuODc1QzIzMi4zNTUgMTEyLjcxMiAyNDQuMDA2IDgwIDI1Mi44IDgwYzIzLjM3NSAwIDQ0IDguOCA0NCAzNS4yIDAgMzUuMi0yNi40IDUzLjA3NS0yNi40IDcwLjRoMTU4LjRjMTguNDI1IDAgMzUuMiAxNi41IDM1LjIgMzUuMiAwIDE4Ljk3NS0xNi4yMjUgMzUuMi0zNS4yIDM1LjJ6TTg4IDM4NGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRzLTI0LTEwLjc0NS0yNC0yNCAxMC43NDUtMjQgMjQtMjQgMjQgMTAuNzQ1IDI0IDI0eiJdLAogICAgICAiaGFuZC1wb2ludC11cCI6IFs0NDgsIDUxMiwgW10sICJmMGE2IiwgIk0xMDUuNiA4My4ydjg2LjE3N2ExMTUuNTIgMTE1LjUyIDAgMCAwLTIyLjQtMi4xNzZjLTQ3LjkxNCAwLTgzLjIgMzUuMDcyLTgzLjIgOTIgMCA0NS4zMTQgNDguNTM3IDU3LjAwMiA3OC43ODQgNzUuNzA3IDEyLjQxMyA3LjczNSAyMy4zMTcgMTYuOTk0IDMzLjI1MyAyNS44NTFsLjE0Ni4xMzEuMTQ4LjEyOUMxMjkuODA3IDM3Ni4zMzggMTM2IDM4NC4yMzYgMTM2IDM5MS4ydjIuNjc5Yy00Ljk1MiA1Ljc0Ny04IDEzLjUzNi04IDIyLjEydjY0YzAgMTcuNjczIDEyLjg5NCAzMiAyOC44IDMyaDIzMC40YzE1LjkwNiAwIDI4LjgtMTQuMzI3IDI4LjgtMzJ2LTY0YzAtOC41ODQtMy4wNDgtMTYuMzczLTgtMjIuMTJWMzkxLjJjMC0yOC42ODggNDAtNjcuMTM3IDQwLTEyNy4ydi0yMS4yOTljMC02Mi41NDItMzguNjU4LTk4LjgtOTEuMTQ1LTk5Ljk0LTE3LjgxMy0xMi40ODItNDAuNzg1LTE4LjQ5MS02Mi43OTEtMTUuOTg1QTkzLjE0OCA5My4xNDggMCAwIDAgMjcyIDExOC44NDdWODMuMkMyNzIgMzcuNzY1IDIzNC40MTYgMCAxODguOCAwYy00NS4wOTkgMC04My4yIDM4LjEwMS04My4yIDgzLjJ6bTExOC40IDB2OTEuMDI2YzE0LjY2OS0xMi44MzcgNDIuODI1LTE0LjQxNSA2MS4wNSA0Ljk1IDE5LjY0Ni0xMS4yMjcgNDUuNjI0LTEuNjg3IDUzLjYyNSAxMi45MjUgMzkuMTI4LTYuNTI0IDYxLjMyNSAxMC4wNzYgNjEuMzI1IDUwLjZWMjY0YzAgNDUuNDkxLTM1LjkxMyA3Ny4yMS0zOS42NzYgMTIwSDE4My41NzFjLTIuOTY0LTI1LjIzOS0yMS4yMjItNDIuOTY2LTM5LjU5Ni01OS4wNzUtMTIuNjUtMTEuMjc1LTI1LjMtMjEuNzI1LTM5Ljg3NS0zMC43OTlDODAuNzEyIDI3OS42NDUgNDggMjY3Ljk5NCA0OCAyNTkuMmMwLTIzLjM3NSA4LjgtNDQgMzUuMi00NCAzNS4yIDAgNTMuMDc1IDI2LjQgNzAuNCAyNi40VjgzLjJjMC0xOC40MjUgMTYuNS0zNS4yIDM1LjItMzUuMiAxOC45NzUgMCAzNS4yIDE2LjIyNSAzNS4yIDM1LjJ6TTM1MiA0MjRjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0cy0xMC43NDUgMjQtMjQgMjQtMjQtMTAuNzQ1LTI0LTI0IDEwLjc0NS0yNCAyNC0yNHoiXSwKICAgICAgImhhbmQtcG9pbnRlciI6IFs0NDgsIDUxMiwgW10sICJmMjVhIiwgIk0zNTguMTgyIDE3OS4zNjFjLTE5LjQ5My0yNC43NjgtNTIuNjc5LTMxLjk0NS03OS44NzItMTkuMDk4LTE1LjEyNy0xNS42ODctMzYuMTgyLTIyLjQ4Ny01Ni41OTUtMTkuNjI5VjY3YzAtMzYuOTQ0LTI5LjczNi02Ny02Ni4yODYtNjdTODkuMTQzIDMwLjA1NiA4OS4xNDMgNjd2MTYxLjEyOWMtMTkuOTA5LTcuNDEtNDMuMjcyLTUuMDk0LTYyLjA4MyA4Ljg3Mi0yOS4zNTUgMjEuNzk1LTM1Ljc5MyA2My4zMzMtMTQuNTUgOTMuMTUybDEwOS42OTkgMTU0LjAwMUMxMzQuNjMyIDUwMS41OSAxNTQuNzQxIDUxMiAxNzYgNTEyaDE3OC4yODZjMzAuODAyIDAgNTcuNTc0LTIxLjUgNjQuNTU3LTUxLjc5N2wyNy40MjktMTE4Ljk5OUE2Ny44NzMgNjcuODczIDAgMCAwIDQ0OCAzMjZ2LTg0YzAtNDYuODQ0LTQ2LjYyNS03OS4yNzMtODkuODE4LTYyLjYzOXpNODAuOTg1IDI3OS42OTdsMjcuMTI2IDM4LjA3OWM4Ljk5NSAxMi42MjYgMjkuMDMxIDYuMjg3IDI5LjAzMS05LjI4M1Y2N2MwLTI1LjEyIDM2LjU3MS0yNS4xNiAzNi41NzEgMHYxNzVjMCA4LjgzNiA3LjE2MyAxNiAxNiAxNmg2Ljg1N2M4LjgzNyAwIDE2LTcuMTY0IDE2LTE2di0zNWMwLTI1LjEyIDM2LjU3MS0yNS4xNiAzNi41NzEgMHYzNWMwIDguODM2IDcuMTYzIDE2IDE2IDE2SDI3MmM4LjgzNyAwIDE2LTcuMTY0IDE2LTE2di0yMWMwLTI1LjEyIDM2LjU3MS0yNS4xNiAzNi41NzEgMHYyMWMwIDguODM2IDcuMTYzIDE2IDE2IDE2aDYuODU3YzguODM3IDAgMTYtNy4xNjQgMTYtMTYgMC0yNS4xMjEgMzYuNTcxLTI1LjE2IDM2LjU3MSAwdjg0YzAgMS40ODgtLjE2OSAyLjk3Ny0uNTAyIDQuNDIzbC0yNy40MyAxMTkuMDAxYy0xLjk3OCA4LjU4Mi05LjI5IDE0LjU3Ni0xNy43ODIgMTQuNTc2SDE3NmMtNS43NjkgMC0xMS4yNjMtMi44NzgtMTQuNjk3LTcuNjk3bC0xMDkuNzEyLTE1NGMtMTQuNDA2LTIwLjIyMyAxNC45OTQtNDIuODE4IDI5LjM5NC0yMi42MDZ6TTE3Ni4xNDMgNDAwdi05NmMwLTguODM3IDYuMjY4LTE2IDE0LTE2aDZjNy43MzIgMCAxNCA3LjE2MyAxNCAxNnY5NmMwIDguODM3LTYuMjY4IDE2LTE0IDE2aC02Yy03LjczMyAwLTE0LTcuMTYzLTE0LTE2em03NS40MjggMHYtOTZjMC04LjgzNyA2LjI2OC0xNiAxNC0xNmg2YzcuNzMyIDAgMTQgNy4xNjMgMTQgMTZ2OTZjMCA4LjgzNy02LjI2OCAxNi0xNCAxNmgtNmMtNy43MzIgMC0xNC03LjE2My0xNC0xNnpNMzI3IDQwMHYtOTZjMC04LjgzNyA2LjI2OC0xNiAxNC0xNmg2YzcuNzMyIDAgMTQgNy4xNjMgMTQgMTZ2OTZjMCA4LjgzNy02LjI2OCAxNi0xNCAxNmgtNmMtNy43MzIgMC0xNC03LjE2My0xNC0xNnoiXSwKICAgICAgImhhbmQtcm9jayI6IFs1MTIsIDUxMiwgW10sICJmMjU1IiwgIk00MDguODY0IDc5LjA1MmMtMjIuNDAxLTMzLjg5OC02Ni4xMDgtNDIuMjczLTk4LjgxMy0yMy41ODgtMjkuNDc0LTMxLjQ2OS03OS4xNDUtMzEuMDkzLTEwOC4zMzQtLjAyMi00Ny4xNi0yNy4wMi0xMDguNzEgNS4wNTUtMTEwLjY3MSA2MC44MDZDNDQuODQ2IDEwNS40MDcgMCAxNDAuMDAxIDAgMTg3LjQyOXY1Ni45NTNjMCAzMi43NDEgMTQuMjggNjMuOTU0IDM5LjE4IDg1LjYzNGw5Ny43MSA4NS4wODFjNC4yNTIgMy43MDIgMy4xMSA1LjU3MyAzLjExIDMyLjkwMyAwIDE3LjY3MyAxNC4zMjcgMzIgMzIgMzJoMjUyYzE3LjY3MyAwIDMyLTE0LjMyNyAzMi0zMiAwLTIzLjUxMy0xLjAxNS0zMC43NDUgMy45ODItNDIuMzdsNDIuODM1LTk5LjY1NmM2LjA5NC0xNC4xNzcgOS4xODMtMjkuMTcyIDkuMTgzLTQ0LjU2OFYxNDYuOTYzYzAtNTIuODM5LTU0LjMxNC04OC42NjItMTAzLjEzNi02Ny45MTF6TTQ2NCAyNjEuNDA2YTY0LjUwNSA2NC41MDUgMCAwIDEtNS4yODIgMjUuNjEzbC00Mi44MzUgOTkuNjU1Yy01LjIzIDEyLjE3MS03Ljg4MyAyNS4wNC03Ljg4MyAzOC4yNVY0MzJIMTg4di0xMC4yODZjMC0xNi4zNy03LjE0LTMxLjk3Ny0xOS41OS00Mi44MTdsLTk3LjcxLTg1LjA4QzU2LjI3NCAyODEuMjU1IDQ4IDI2My4yMzYgNDggMjQ0LjM4MXYtNTYuOTUzYzAtMzMuMjA4IDUyLTMzLjUzNyA1MiAuNjc3djQxLjIyOGExNiAxNiAwIDAgMCA1LjQ5MyAxMi4wNjdsNyA2LjA5NUExNiAxNiAwIDAgMCAxMzkgMjM1LjQyOVYxMTguODU3YzAtMzMuMDk3IDUyLTMzLjcyNSA1MiAuNjc3djI2Ljc1MWMwIDguODM2IDcuMTY0IDE2IDE2IDE2aDdjOC44MzYgMCAxNi03LjE2NCAxNi0xNnYtNDEuMTQzYzAtMzMuMTM0IDUyLTMzLjY3NSA1MiAuNjc3djQwLjQ2NmMwIDguODM2IDcuMTYzIDE2IDE2IDE2aDdjOC44MzcgMCAxNi03LjE2NCAxNi0xNnYtMjcuNDI5YzAtMzMuMDMgNTItMzMuNzggNTIgLjY3N3YyNi43NTFjMCA4LjgzNiA3LjE2MyAxNiAxNiAxNmg3YzguODM3IDAgMTYtNy4xNjQgMTYtMTYgMC0zMy4xNDYgNTItMzMuNjEzIDUyIC42Nzd2MTE0LjQ0NXoiXSwKICAgICAgImhhbmQtc2Npc3NvcnMiOiBbNTEyLCA1MTIsIFtdLCAiZjI1NyIsICJNMjU2IDQ4MGw3MC0uMDEzYzUuMTE0IDAgMTAuMjMxLS41ODMgMTUuMjAzLTEuNzI5bDExOC45OTktMjcuNDI3QzQ5MC41NiA0NDMuODM1IDUxMiA0MTcuMDIgNTEyIDM4Ni4yNzdWMTgwLjU3NWMwLTIzLjg0NS0xMy4wMy00NS45NTEtMzQuMDA1LTU3LjY5bC05Ny45OTktNTQuODUzYy0zNC40MDktMTkuMjYxLTY3LjI2My01LjgyNC05Mi4yMTggMjQuNzMzTDE0Mi44NSAzNy4wMDhjLTM3Ljg4Ny0xNC41NzktODAuNjEyIDMuNzI3LTk1LjY0MiA0MS4yMDEtMTUuMDk4IDM3LjY0MiAzLjYzNSA4MC4zNyA0MS45NDIgOTUuMTEyTDE2OCAxOTJsLTk0LTkuMTQxYy00MC44MDQgMC03NCAzMi44MTEtNzQgNzMuMTQgMCA0MC4zMyAzMy4xOTYgNzMuMTQxIDc0IDczLjE0MWg4Ny42MzVjLTMuNjc1IDI2LjI0NSA4LjY5MiA1MS4yOTcgMzAuMzQxIDY1LjAwNkMxNzguNjU3IDQzNi43MzcgMjExLjA0NCA0ODAgMjU2IDQ4MHptMC00OC4wMTNjLTI1LjE2IDAtMjUuMTItMzYuNTY3IDAtMzYuNTY3IDguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTYuODU2YzAtOC44MzctNy4xNjMtMTYtMTYtMTZoLTI4Yy0yNS4xNTkgMC0yNS4xMjItMzYuNTY3IDAtMzYuNTY3aDI4YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTYuODU2YzAtOC44MzctNy4xNjMtMTYtMTYtMTZINzRjLTM0LjQzIDAtMzQuMzc1LTUwLjI4MSAwLTUwLjI4MWgxODJjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMTEuNjMyYTE2IDE2IDAgMCAwLTEwLjI1NC0xNC45MzNMMTA2LjM4OSAxMjguNTFjLTMxLjU1Mi0xMi4xNC0xMy40MzItNTkuMjgzIDE5LjIyMi00Ni43MTdsMTY2LjU0OSA2NC4wOTFhMTYuMDAxIDE2LjAwMSAwIDAgMCAxOC4xMzktNC44MTJsMjEuNzY0LTI2LjY0N2M1LjgyLTcuMTI3IDE2LjM0OC05LjA2NCAyNC40ODgtNC41MDhsOTggNTQuODU0YzUuODI4IDMuMjYzIDkuNDQ5IDkuMzE4IDkuNDQ5IDE1LjgwNXYyMDUuNzAxYzAgOC40OTEtNS45OTQgMTUuODA0LTE0LjU3NiAxNy43ODJsLTExOS4wMDEgMjcuNDI3YTE5Ljc0MyAxOS43NDMgMCAwIDEtNC40MjMuNTAyaC03MHoiXSwKICAgICAgImhhbmQtc3BvY2siOiBbNTEyLCA1MTIsIFtdLCAiZjI1OSIsICJNMjEuMDk2IDM4MS43OWwxMjkuMDkyIDEyMS41MTNhMzIgMzIgMCAwIDAgMjEuOTMyIDguNjk4aDIzNy42YzE0LjE3IDAgMjYuNjUzLTkuMzE5IDMwLjY4LTIyLjkwNGwzMS44MTUtMTA3LjMxM0ExMTUuOTU1IDExNS45NTUgMCAwIDAgNDc3IDM0OC44MTF2LTM2LjgzOWMwLTQuMDUxLjQ3Ni04LjEwNCAxLjQxNC0xMi4wNDVsMzEuNzMtMTMzLjQxYzEwLjA5OS00Mi40MTItMjIuMzE2LTgyLjczOC02NS41NDQtODIuNTI1LTQuMTQ0LTI0Ljg1Ni0yMi41NDMtNDcuMTY1LTQ5Ljg1LTUzLjk5Mi0zNS44MDMtOC45NTItNzIuMjI3IDEyLjY1NS04MS4yNSA0OC43NUwyOTYuNTk5IDE4NCAyNzQuOTI0IDUyLjAxYy04LjI4Ni0zNi4wNy00NC4zMDMtNTguNTcyLTgwLjMwNC01MC4yOTYtMjkuNjE2IDYuODA0LTUwLjEzOCAzMi4zODktNTEuODgyIDYxLjI5NS00Mi42MzcuODMxLTczLjQ1NSA0MC41NjMtNjQuMDcxIDgxLjg0NGwzMS4wNCAxMzYuNTA4Yy0yNy4xOTQtMjIuNTE1LTY3LjI4NC0xOS45OTItOTEuNDgyIDUuNzIyLTI1LjM3NiAyNi45NjEtMjQuMDk4IDY5LjMyNSAyLjg3MSA5NC43MDd6bTMyLjA2OC02MS44MTFsLjAwMi0uMDAxYzcuMjE5LTcuNjcyIDE5LjI0MS03Ljk4IDI2Ljg1Ni0uODEzbDUzLjAxMiA0OS44OTRDMTQzLjIyNSAzNzguNjQ5IDE2MCAzNzEuNCAxNjAgMzU3LjQwNnYtNjkuNDc5YzAtMS4xOTMtLjEzNC0yLjM4My0uMzk3LTMuNTQ2bC0zNC4xMy0xNTAuMTcyYy01LjU5Ni0yNC42MTcgMzEuNTAyLTMyLjg2IDM3LjA1NC04LjQyMWwzMC4zOTkgMTMzLjc1N2ExNiAxNiAwIDAgMCAxNS42MDMgMTIuNDU0aDguNjA0YzEwLjI3NiAwIDE3Ljg5NC05LjU2NyAxNS41OTQtMTkuNTgzbC00MS42Mi0xODEuMTUzYy01LjYyMy0yNC40NjkgMzEuMzktMzMuMDc2IDM3LjAzNS04LjUwOGw0NS4yMiAxOTYuODI4QTE2IDE2IDAgMCAwIDI4OC45NTYgMjcyaDEzLjIxN2ExNiAxNiAwIDAgMCAxNS41MjItMTIuMTE5bDQyLjM3Mi0xNjkuNDljNi4xMDQtMjQuNDIyIDQyLjk2Mi0xNS4xNTkgMzYuODY1IDkuMjE3TDM1OC44MDUgMjUyLjEyYy0yLjUyMSAxMC4wODggNS4xMTUgMTkuODggMTUuNTIyIDE5Ljg4aDkuNjk0YTE2IDE2IDAgMCAwIDE1LjU2NS0xMi4yOTVMNDI2LjUwOSAxNDYuNmM1LjgyMS0yNC40NDggNDIuNzk3LTE1LjY4NyAzNi45NjYgOC44MDJMNDMxLjcyIDI4OC44MWExMDAuMDk0IDEwMC4wOTQgMCAwIDAtMi43MiAyMy4xNjJ2MzYuODM5YzAgNi41NDgtLjk0MyAxMy4wNTEtMi44MDUgMTkuMzI4TDM5Ny43NzUgNDY0aC0yMTkuMzFMNTMuOTc4IDM0Ni44MzZjLTcuNjI5LTcuMTgtNy45OTQtMTkuMjI5LS44MTQtMjYuODU3eiJdLAogICAgICAiaGFuZHNoYWtlIjogWzY0MCwgNTEyLCBbXSwgImYyYjUiLCAiTTYxNiA5NmgtNDhjLTcuMTA3IDAtMTMuNDkgMy4wOTEtMTcuODg0IDhINTI2LjU5bC0zMS4xMy0zNi4zLS4xNi0uMThBMTAzLjk3NCAxMDMuOTc0IDAgMCAwIDQxNy4wMyAzMmgtNDYuNTVjLTE3Ljc1IDAtMzQuOSA0Ljk0LTQ5LjY5IDE0LjAxQzMwNC4zMyAzNi45MyAyODUuNjcgMzIgMjY2LjYyIDMyaC0zMi4xMWMtMjguOTAzIDAtNTcuNTk5IDExLjIxOS03OS4yIDMyLjhMMTE2LjEyIDEwNEg4OS44ODRDODUuNDkgOTkuMDkxIDc5LjEwNyA5NiA3MiA5NkgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djI0MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNDhjMTAuNDQ5IDAgMTkuMzM0LTYuNjggMjIuNjI5LTE2aDE4LjgwMWw3NS4zNSA2Ny41N2MyNS41NDIgMjYuNDUgNTkuOTI1IDQ0LjQzIDk2LjU4IDQ0LjQzIDE2LjM5IDAgMzIuMjgtMy44NSA0Ni4xLTEwLjkzIDI0LjkzNi40OTYgNTEuMTAxLTEwLjM2OCA2OS4wNy0zMS40MSAxOS42ODQtNS41NzkgMzcuNTAzLTE3LjQyNiA1MC43Mi0zNC42IDIwLjk4OS00LjQwMSA0MC43MjgtMTYuNDkyIDUzLjQyLTM1LjA2aDQwLjcwMWMzLjI5NSA5LjMyIDEyLjE4IDE2IDIyLjYyOSAxNmg0OGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMTIwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHpNNDggMzUyYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2czcuMTYzLTE2IDE2LTE2IDE2IDcuMTYzIDE2IDE2LTcuMTYzIDE2LTE2IDE2em00MTIuNTItNS43NmMtMTUuMzUgMTQuMjk1LTM2Ljg4NCAxMS4zMjgtMzkuOTUgOCAxLjQxNCAxMy4zODItMTguMjU3IDQxLjA0My00OS4wOCAzOC44OC01LjU0MSAxOC41MjMtMjguMjE4IDMzLjgyNi01MS40OSAyNS43NS04Ljg5IDguODktMjIuNDYgMTMuMTMtMzQuNjQgMTMuMTMtMjQuOTUgMC00Ny43Ny0xNC41NC02My4xNC0zMC45MWwtODEuMy03Mi45MWEzMS45NzYgMzEuOTc2IDAgMCAwLTIxLjM2LTguMThIOTZWMTUyaDI2Ljc1YzguNDggMCAxNi42Mi0zLjM3IDIyLjYyLTkuMzdsNDMuODgtNDMuODhBNjQuMDA0IDY0LjAwNCAwIDAgMSAyMzQuNTEgODBoMzIuMTFjNS44IDAgMTEuNTEuNzkgMTcgMi4zbC00My4yNyA1MC40OWMtMjMuNTYgMjcuNDgtMjMuODQgNjcuNjItLjY2IDk1LjQ0IDMyLjM4OCAzOC44NjYgOTEuMzc4IDM5LjIyOCAxMjQuNDggMS45OGwyNS45OC0zMC4wOEw0NjIuNTkgMjk2YzEzLjQ0IDE0LjYgMTAuOTUgMzguMTMtMi4wNyA1MC4yNHpNNTQ0IDMyMGgtMjQuNDU4Yy4xMDQtMjAuMjYxLTYuNzk5LTM5LjMzLTE5Ljc2Mi01NC40TDQyMS43IDE2Mi4yOGM0LjUxLTkuNTEgMi4zNC0yMS4yMy02LjAxLTI4LjQ1LTEwLjA3NS04LjY5MS0yNS4yMy03LjQ5OS0zMy44NiAyLjQ4bC01My42MyA2Mi4xMmMtMTMuODI4IDE1LjQxLTM4LjIyMyAxNS4xNDUtNTEuNjQtLjkzYTI1Ljg1NyAyNS44NTcgMCAwIDEgLjIzLTMzLjQ3bDU3LjkyLTY3LjU4QTQ3LjA5IDQ3LjA5IDAgMCAxIDM3MC40OCA4MGg0Ni41NWMxNi4xMSAwIDMxLjQ0IDYuOTQgNDIuMDcgMTkuMDRMNTA0LjUyIDE1Mkg1NDR2MTY4em00OCAzMmMtOC44MzcgMC0xNi03LjE2My0xNi0xNnM3LjE2My0xNiAxNi0xNiAxNiA3LjE2MyAxNiAxNi03LjE2MyAxNi0xNiAxNnoiXSwKICAgICAgImhkZCI6IFs1NzYsIDUxMiwgW10sICJmMGEwIiwgIk01NjcuNDAzIDIzNS42NDJMNDYyLjMyMyA4NC41ODlBNDggNDggMCAwIDAgNDIyLjkxOSA2NEgxNTMuMDgxYTQ4IDQ4IDAgMCAwLTM5LjQwNCAyMC41ODlMOC41OTcgMjM1LjY0MkE0OC4wMDEgNDguMDAxIDAgMCAwIDAgMjYzLjA1NFY0MDBjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0ODBjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYyNjMuMDU0YzAtOS44MDEtMy0xOS4zNjYtOC41OTctMjcuNDEyek0xNTMuMDgxIDExMmgyNjkuODM4bDc3LjkxMyAxMTJINzUuMTY4bDc3LjkxMy0xMTJ6TTUyOCA0MDBINDhWMjcyaDQ4MHYxMjh6bS0zMi02NGMwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJzLTMyLTE0LjMyNy0zMi0zMiAxNC4zMjctMzIgMzItMzIgMzIgMTQuMzI3IDMyIDMyem0tOTYgMGMwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJzLTMyLTE0LjMyNy0zMi0zMiAxNC4zMjctMzIgMzItMzIgMzIgMTQuMzI3IDMyIDMyeiJdLAogICAgICAiaGVhcnQiOiBbNTc2LCA1MTIsIFtdLCAiZjAwNCIsICJNMjU3LjMgNDc1LjRMOTIuNSAzMTMuNkM4NS40IDMwNyAyNCAyNDguMSAyNCAxNzQuOCAyNCA4NC4xIDgwLjggMjQgMTc2IDI0YzQxLjQgMCA4MC42IDIyLjggMTEyIDQ5LjggMzEuMy0yNyA3MC42LTQ5LjggMTEyLTQ5LjggOTEuNyAwIDE1MiA1Ni41IDE1MiAxNTAuOCAwIDUyLTMxLjggMTAzLjUtNjguMSAxMzguN2wtLjQuNC0xNjQuOCAxNjEuNWE0My43IDQzLjcgMCAwIDEtNjEuNCAwek0xMjUuOSAyNzkuMUwyODggNDM4LjNsMTYxLjgtMTU4LjdjMjcuMy0yNyA1NC4yLTY2LjMgNTQuMi0xMDQuOEM1MDQgMTA3LjkgNDY1LjggNzIgNDAwIDcyYy00Ny4yIDAtOTIuOCA0OS4zLTExMiA2OC40LTE3LTE3LTY0LTY4LjQtMTEyLTY4LjQtNjUuOSAwLTEwNCAzNS45LTEwNCAxMDIuOCAwIDM3LjMgMjYuNyA3OC45IDUzLjkgMTA0LjN6Il0sCiAgICAgICJob3NwaXRhbCI6IFs0NDgsIDUxMiwgW10sICJmMGY4IiwgIk0xMjggMjQ0di00MGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDQwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NDBjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtNDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTE0MCAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyem0tNzYgODR2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptNzYgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMnptMTgwIDEyNHYzNkgwdi0zNmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE5LjVWODUuMDM1QzMxLjUgNzMuNDE4IDQyLjI0NSA2NCA1NS41IDY0SDE0NFYyNGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMTEyYzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHY0MGg4OC41YzEzLjI1NSAwIDI0IDkuNDE4IDI0IDIxLjAzNVY0NjRINDM2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6TTc5LjUgNDYzSDE5MnYtNjdjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0MGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjY3aDExMi41VjExMkgzMDR2MjRjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDE2OGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di0yNEg3OS41djM1MXpNMjY2IDY0aC0yNlYzOGE2IDYgMCAwIDAtNi02aC0yMGE2IDYgMCAwIDAtNiA2djI2aC0yNmE2IDYgMCAwIDAtNiA2djIwYTYgNiAwIDAgMCA2IDZoMjZ2MjZhNiA2IDAgMCAwIDYgNmgyMGE2IDYgMCAwIDAgNi02Vjk2aDI2YTYgNiAwIDAgMCA2LTZWNzBhNiA2IDAgMCAwLTYtNnoiXSwKICAgICAgImhvdXJnbGFzcyI6IFszODQsIDUxMiwgW10sICJmMjU0IiwgIk0zNjggNDhoNGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyVjEyYzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJDNS4zNzMgMCAwIDUuMzczIDAgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0YzAgODAuNTY0IDMyLjE4OCAxNjUuODA3IDk3LjE4IDIwOEM0Ny44OTkgMjk4LjM4MSAxNiAzODMuOSAxNiA0NjRoLTRjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgzNjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMjRjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNGMwLTgwLjU2NC0zMi4xODgtMTY1LjgwNy05Ny4xOC0yMDhDMzM2LjEwMiAyMTMuNjE5IDM2OCAxMjguMSAzNjggNDh6TTY0IDQ4aDI1NmMwIDEwMS42Mi01Ny4zMDcgMTg0LTEyOCAxODRTNjQgMTQ5LjYyMSA2NCA0OHptMjU2IDQxNkg2NGMwLTEwMS42MiA1Ny4zMDgtMTg0IDEyOC0xODRzMTI4IDgyLjM4IDEyOCAxODR6Il0sCiAgICAgICJpZC1iYWRnZSI6IFszODQsIDUxMiwgW10sICJmMmMxIiwgIk0wIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhINDhDMjEuNDkgMCAwIDIxLjQ5IDAgNDh6bTMzNiAzMnYzNzhhNiA2IDAgMCAxLTYgNkg1NGE2IDYgMCAwIDEtNi02VjgwaDI4OHptLTE0NCA4MGMzOC42NiAwIDcwIDMxLjM0IDcwIDcwcy0zMS4zNCA3MC03MCA3MC03MC0zMS4zNC03MC03MCAzMS4zNC03MCA3MC03MHptODAuMTg3IDE0Ni4wNDdsLTMxLjItNy44Yy0zMi43NzkgMjMuNTc3LTcyLjUxIDE4LjMxNi05Ny45NzQgMGwtMzEuMiA3LjhDOTMuMTE2IDMxMC43MjEgODAgMzI3LjUyIDgwIDM0Ni43OTNWMzYzYzAgMTEuNTk4IDkuNDAyIDIxIDIxIDIxaDE4MmMxMS41OTggMCAyMS05LjQwMiAyMS0yMXYtMTYuMjA3YzAtMTkuMjczLTEzLjExNi0zNi4wNzItMzEuODEzLTQwLjc0NnoiXSwKICAgICAgImlkLWNhcmQiOiBbNTEyLCA1MTIsIFtdLCAiZjJjMiIsICJNNDA0IDI1NkgzMDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTE2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTZjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnptMTIgNjB2LTE2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMzAwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjE2YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTA0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2LTIwNHYyODhjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxMTJjMC0yNi41MSAyMS40OS00OCA0OC00OGg0MTZjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHptLTQ4IDI4MlYxNDRINDh2MjUwYTYgNiAwIDAgMCA2IDZoNDA0YTYgNiAwIDAgMCA2LTZ6TTE3NiAxOTJjMjcuNjE0IDAgNTAgMjIuMzg2IDUwIDUwcy0yMi4zODYgNTAtNTAgNTAtNTAtMjIuMzg2LTUwLTUwIDIyLjM4Ni01MCA1MC01MHptNTcuMjc2IDEwNC4zMTlsLTIyLjI4NS01LjU3MWMtMjMuNDEzIDE2Ljg0MS01MS43OTMgMTMuMDgzLTY5Ljk4MSAwbC0yMi4yODUgNS41NzFDMTA1LjM2OSAyOTkuNjU4IDk2IDMxMS42NTcgOTYgMzI1LjQyM1YzMzdjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNWgxMzBjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtMTEuNTc3YzAtMTMuNzY2LTkuMzY5LTI1Ljc2NS0yMi43MjQtMjkuMTA0eiJdLAogICAgICAiaW1hZ2UiOiBbNTEyLCA1MTIsIFtdLCAiZjAzZSIsICJNNDY0IDY0SDQ4QzIxLjQ5IDY0IDAgODUuNDkgMCAxMTJ2Mjg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTEyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bS02IDMzNkg1NGE2IDYgMCAwIDEtNi02VjExOGE2IDYgMCAwIDEgNi02aDQwNGE2IDYgMCAwIDEgNiA2djI3NmE2IDYgMCAwIDEtNiA2ek0xMjggMTUyYy0yMi4wOTEgMC00MCAxNy45MDktNDAgNDBzMTcuOTA5IDQwIDQwIDQwIDQwLTE3LjkwOSA0MC00MC0xNy45MDktNDAtNDAtNDB6TTk2IDM1MmgzMjB2LTgwbC04Ny41MTUtODcuNTE1Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcxIDBMMTkyIDMwNGwtMzkuNTE1LTM5LjUxNWMtNC42ODYtNC42ODYtMTIuMjg0LTQuNjg2LTE2Ljk3MSAwTDk2IDMwNHY0OHoiXSwKICAgICAgImltYWdlcyI6IFs1NzYsIDUxMiwgW10sICJmMzAyIiwgIk00ODAgNDE2djE2YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWMTc2YzAtMjYuNTEgMjEuNDktNDggNDgtNDhoMTZ2NDhINTRhNiA2IDAgMCAwLTYgNnYyNDRhNiA2IDAgMCAwIDYgNmgzNzJhNiA2IDAgMCAwIDYtNnYtMTBoNDh6bTQyLTMzNkgxNTBhNiA2IDAgMCAwLTYgNnYyNDRhNiA2IDAgMCAwIDYgNmgzNzJhNiA2IDAgMCAwIDYtNlY4NmE2IDYgMCAwIDAtNi02em02LTQ4YzI2LjUxIDAgNDggMjEuNDkgNDggNDh2MjU2YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhIMTQ0Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjgwYzAtMjYuNTEgMjEuNDktNDggNDgtNDhoMzg0ek0yNjQgMTQ0YzAgMjIuMDkxLTE3LjkwOSA0MC00MCA0MHMtNDAtMTcuOTA5LTQwLTQwIDE3LjkwOS00MCA0MC00MCA0MCAxNy45MDkgNDAgNDB6bS03MiA5NmwzOS41MTUtMzkuNTE1YzQuNjg2LTQuNjg2IDEyLjI4NC00LjY4NiAxNi45NzEgMEwyODggMjQwbDEwMy41MTUtMTAzLjUxNWM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBMNDgwIDIwOHY4MEgxOTJ2LTQ4eiJdLAogICAgICAia2V5Ym9hcmQiOiBbNTc2LCA1MTIsIFtdLCAiZjExYyIsICJNNTI4IDY0SDQ4QzIxLjQ5IDY0IDAgODUuNDkgMCAxMTJ2Mjg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTEyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTggMzM2YzAgNC40MTEtMy41ODkgOC04IDhINDhjLTQuNDExIDAtOC0zLjU4OS04LThWMTEyYzAtNC40MTEgMy41ODktOCA4LThoNDgwYzQuNDExIDAgOCAzLjU4OSA4IDh2Mjg4ek0xNzAgMjcwdi0yOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yOGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyOGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTI4YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTI4Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI4YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMjhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi0yOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yOGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyOGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0zMzYgODJ2LTI4YzAtNi42MjctNS4zNzMtMTItMTItMTJIODJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0zODQgMHYtMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyek0xMjIgMTg4di0yOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDgyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI4YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMjhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi0yOGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yOGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyOGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTI4YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTI4Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI4YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMjhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0tOTggMTU4di0xNmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDE4MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxNmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIxNmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyeiJdLAogICAgICAibGVtb24iOiBbNTEyLCA1MTIsIFtdLCAiZjA5NCIsICJNNDg0LjExMiAyNy44ODlDNDU1Ljk4OS0uMjMzIDQxNi4xMDgtOC4wNTcgMzg3LjA1OSA4Ljg2NSAzNDcuNjA0IDMxLjg0OCAyMjMuNTA0LTQxLjExMSA5MS4xOTYgOTEuMTk3LTQxLjI3NyAyMjMuNjcyIDMxLjkyMyAzNDcuNDcyIDguODY2IDM4Ny4wNThjLTE2LjkyMiAyOS4wNTEtOS4xIDY4LjkzMiAxOS4wMjIgOTcuMDU0IDI4LjEzNSAyOC4xMzUgNjguMDExIDM1LjkzOCA5Ny4wNTcgMTkuMDIxIDM5LjQyMy0yMi45NyAxNjMuNTU3IDQ5Ljk2OSAyOTUuODU4LTgyLjMyOSAxMzIuNDc0LTEzMi40NzcgNTkuMjczLTI1Ni4yNzcgODIuMzMxLTI5NS44NjEgMTYuOTIyLTI5LjA1IDkuMS02OC45MzEtMTkuMDIyLTk3LjA1NHptLTIyLjQwNSA3Mi44OTRjLTM4LjggNjYuNjA5IDQ1LjYgMTY1LjYzNS03NC44NDUgMjg2LjA4LTEyMC40NCAxMjAuNDQzLTIxOS40NzUgMzYuMDQ4LTI4Ni4wNzYgNzQuODQzLTIyLjY3OSAxMy4yMDctNjQuMDM1LTI3LjI0MS01MC40OTMtNTAuNDg4IDM4LjgtNjYuNjA5LTQ1LjYtMTY1LjYzNSA3NC44NDUtMjg2LjA4QzI0NS41NzMgNC43MDIgMzQ0LjYxNiA4OS4wODYgNDExLjIxOSA1MC4yOTJjMjIuNzMtMTMuMjQgNjQuMDA1IDI3LjI4OCA1MC40ODggNTAuNDkxem0tMTY5Ljg2MSA4LjczNmMxLjM3IDEwLjk2LTYuNDA0IDIwLjk1Ny0xNy4zNjUgMjIuMzI3LTU0Ljg0NiA2Ljg1NS0xMzUuNzc5IDg3Ljc4Ny0xNDIuNjM1IDE0Mi42MzUtMS4zNzMgMTAuOTg5LTExLjM5OSAxOC43MzQtMjIuMzI2IDE3LjM2NS0xMC45NjEtMS4zNy0xOC43MzUtMTEuMzY2LTE3LjM2NS0yMi4zMjYgOS4xNjItNzMuMjg2IDEwNC4xNjctMTY4LjIxNSAxNzcuMzY1LTE3Ny4zNjUgMTAuOTUzLTEuMzY4IDIwLjk1NiA2LjQwMyAyMi4zMjYgMTcuMzY0eiJdLAogICAgICAibGlmZS1yaW5nIjogWzUxMiwgNTEyLCBbXSwgImYxY2QiLCAiTTI1NiA1MDRjMTM2Ljk2NyAwIDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4em0tMTAzLjM5OC03Ni43Mmw1My40MTEtNTMuNDExYzMxLjgwNiAxMy41MDYgNjguMTI4IDEzLjUyMiA5OS45NzQgMGw1My40MTEgNTMuNDExYy02My4yMTcgMzguMzE5LTE0My41NzkgMzguMzE5LTIwNi43OTYgMHpNMzM2IDI1NmMwIDQ0LjExMi0zNS44ODggODAtODAgODBzLTgwLTM1Ljg4OC04MC04MCAzNS44ODgtODAgODAtODAgODAgMzUuODg4IDgwIDgwem05MS4yOCAxMDMuMzk4bC01My40MTEtNTMuNDExYzEzLjUwNS0zMS44MDYgMTMuNTIyLTY4LjEyOCAwLTk5Ljk3NGw1My40MTEtNTMuNDExYzM4LjMxOSA2My4yMTcgMzguMzE5IDE0My41NzkgMCAyMDYuNzk2ek0zNTkuMzk3IDg0LjcybC01My40MTEgNTMuNDExYy0zMS44MDYtMTMuNTA1LTY4LjEyOC0xMy41MjItOTkuOTczIDBMMTUyLjYwMiA4NC43MmM2My4yMTctMzguMzE5IDE0My41NzktMzguMzE5IDIwNi43OTUgMHpNODQuNzIgMTUyLjYwMmw1My40MTEgNTMuNDExYy0xMy41MDYgMzEuODA2LTEzLjUyMiA2OC4xMjggMCA5OS45NzRMODQuNzIgMzU5LjM5OGMtMzguMzE5LTYzLjIxNy0zOC4zMTktMTQzLjU3OSAwLTIwNi43OTZ6Il0sCiAgICAgICJsaWdodGJ1bGIiOiBbMzg0LCA1MTIsIFtdLCAiZjBlYiIsICJNMjcyIDQyOHYyOGMwIDEwLjQ0OS02LjY4IDE5LjMzNC0xNiAyMi42MjlWNDg4YzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNGgtODBjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNHYtOS4zNzFjLTkuMzItMy4yOTUtMTYtMTIuMTgtMTYtMjIuNjI5di0yOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEzNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEyek0xMjggMTc2YzAtMzUuMjkgMjguNzEtNjQgNjQtNjQgOC44MzcgMCAxNi03LjE2NCAxNi0xNnMtNy4xNjMtMTYtMTYtMTZjLTUyLjkzNSAwLTk2IDQzLjA2NS05NiA5NiAwIDguODM2IDcuMTY0IDE2IDE2IDE2czE2LTcuMTY0IDE2LTE2em02NC0xMjhjNzAuNzM0IDAgMTI4IDU3LjI1NCAxMjggMTI4IDAgNzcuNjAyLTM3LjM4MyA2MC40NzctODAuOTggMTYwaC05NC4wNEMxMDEuMzE4IDIzNi4zMyA2NCAyNTMuODY5IDY0IDE3NmMwLTcwLjczNSA1Ny4yNTQtMTI4IDEyOC0xMjhtMC00OEM5NC44MDUgMCAxNiA3OC44MDMgMTYgMTc2YzAgMTAxLjczMSA1MS42OTcgOTEuNTQxIDkwLjUxNiAxOTIuNjc0IDMuNTUgOS4yNDkgMTIuNDcgMTUuMzI2IDIyLjM3NiAxNS4zMjZoMTI2LjIxNWM5LjkwNiAwIDE4LjgyNi02LjA3OCAyMi4zNzYtMTUuMzI2QzMxNi4zMDMgMjY3LjU0MSAzNjggMjc3LjczMSAzNjggMTc2IDM2OCA3OC44MDMgMjg5LjE5NSAwIDE5MiAweiJdLAogICAgICAibGlzdC1hbHQiOiBbNTEyLCA1MTIsIFtdLCAiZjAyMiIsICJNNDY0IDMySDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYzNTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tNiA0MDBINTRhNiA2IDAgMCAxLTYtNlY4NmE2IDYgMCAwIDEgNi02aDQwNGE2IDYgMCAwIDEgNiA2djM0MGE2IDYgMCAwIDEtNiA2em0tNDItOTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgyMDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjAwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6bTAtOTZ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgyMDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjAwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6bTAtOTZ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgyMDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjAwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6bS0yNTIgMTJjMCAxOS44ODItMTYuMTE4IDM2LTM2IDM2cy0zNi0xNi4xMTgtMzYtMzYgMTYuMTE4LTM2IDM2LTM2IDM2IDE2LjExOCAzNiAzNnptMCA5NmMwIDE5Ljg4Mi0xNi4xMTggMzYtMzYgMzZzLTM2LTE2LjExOC0zNi0zNiAxNi4xMTgtMzYgMzYtMzYgMzYgMTYuMTE4IDM2IDM2em0wIDk2YzAgMTkuODgyLTE2LjExOCAzNi0zNiAzNnMtMzYtMTYuMTE4LTM2LTM2IDE2LjExOC0zNiAzNi0zNiAzNiAxNi4xMTggMzYgMzZ6Il0sCiAgICAgICJtYXAiOiBbNTc2LCA1MTIsIFtdLCAiZjI3OSIsICJNNTA4LjUwNSAzNi4xN0wzODEuNTE3IDkyLjU3NiAyMDcuMTc5IDM0LjQ2M2E0Ny45OTIgNDcuOTkyIDAgMCAwLTM0LjY3NCAxLjY3NGwtMTQ0IDY0QTQ4IDQ4IDAgMCAwIDAgMTQ0djI4Ny45NjdjMCAzNC45MzggMzUuOTkxIDU3Ljg2NCA2Ny40OTUgNDMuODYzbDEyNi45ODgtNTYuNDA2IDE3NC4zMzkgNTguMTEzYTQ3Ljk5MiA0Ny45OTIgMCAwIDAgMzQuNjc0LTEuNjc0bDE0NC02NEE0OCA0OCAwIDAgMCA1NzYgMzY4VjgwLjAzM2MwLTM0LjkzOC0zNS45OTEtNTcuODY0LTY3LjQ5NS00My44NjN6TTM2MCA0MjRsLTE0NC00OFY4OGwxNDQgNDh2Mjg4em0tMzEyIDhWMTQ0bDEyMC01My4zMzN2Mjg4TDQ4IDQzMnptNDgwLTY0bC0xMjAgNTMuMzMzdi0yODhMNTI4IDgwdjI4OHoiXSwKICAgICAgIm1laCI6IFs1MTIsIDUxMiwgW10sICJmMTFhIiwgIk0yNTYgNTZjMTEwLjUzMiAwIDIwMCA4OS40NTEgMjAwIDIwMCAwIDExMC41MzItODkuNDUxIDIwMC0yMDAgMjAwLTExMC41MzIgMC0yMDAtODkuNDUxLTIwMC0yMDAgMC0xMTAuNTMyIDg5LjQ1MS0yMDAgMjAwLTIwMG0wLTQ4QzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptNjQgMTM2Yy05LjUzNSAwLTE4LjUxMiAyLjM4Ni0yNi4zNyA2LjU4OWguMDE3YzEyLjczNSAwIDIzLjA1OSAxMC4zMjQgMjMuMDU5IDIzLjA1OSAwIDEyLjczNS0xMC4zMjQgMjMuMDU5LTIzLjA1OSAyMy4wNTlzLTIzLjA1OS0xMC4zMjQtMjMuMDU5LTIzLjA1OXYtLjAxN0MyNjYuMzg2IDE4MS40ODggMjY0IDE5MC40NjUgMjY0IDIwMGMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZzNTYtMjUuMDcyIDU2LTU2LTI1LjA3Mi01Ni01Ni01NnptLTEyOCAwYy05LjUzNSAwLTE4LjUxMiAyLjM4Ni0yNi4zNyA2LjU4OWguMDE3YzEyLjczNSAwIDIzLjA1OSAxMC4zMjQgMjMuMDU5IDIzLjA1OSAwIDEyLjczNS0xMC4zMjQgMjMuMDU5LTIzLjA1OSAyMy4wNTktMTIuNzM1IDAtMjMuMDU5LTEwLjMyNC0yMy4wNTktMjMuMDU5di0uMDE3QzEzOC4zODYgMTgxLjQ4OCAxMzYgMTkwLjQ2NSAxMzYgMjAwYzAgMzAuOTI4IDI1LjA3MiA1NiA1NiA1NnM1Ni0yNS4wNzIgNTYtNTYtMjUuMDcyLTU2LTU2LTU2em0xMzYgMTg0SDE4NGMtMzEuNzc2IDAtMzEuNzQ5IDQ4IDAgNDhoMTQ0YzMxLjc3NiAwIDMxLjc0OS00OCAwLTQ4eiJdLAogICAgICAibWludXMtc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYxNDYiLCAiTTEwOCAyODRjLTYuNiAwLTEyLTUuNC0xMi0xMnYtMzJjMC02LjYgNS40LTEyIDEyLTEyaDIzMmM2LjYgMCAxMiA1LjQgMTIgMTJ2MzJjMCA2LjYtNS40IDEyLTEyIDEySDEwOHpNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNDggMzQ2Vjg2YzAtMy4zLTIuNy02LTYtNkg1NGMtMy4zIDAtNiAyLjctNiA2djM0MGMwIDMuMyAyLjcgNiA2IDZoMzQwYzMuMyAwIDYtMi43IDYtNnoiXSwKICAgICAgIm1vbmV5LWJpbGwtYWx0IjogWzY0MCwgNTEyLCBbXSwgImYzZDEiLCAiTTMyMCAxNDRjLTUzLjAyMSAwLTk2IDUwLjE0My05NiAxMTIgMCA2MS44NDcgNDIuOTc3IDExMiA5NiAxMTIgNTMgMCA5Ni01MC4xMyA5Ni0xMTIgMC02MS44NTctNDIuOTc5LTExMi05Ni0xMTJ6bTQ4IDE2NC40MjhjMCA3LjQ3Ny0zLjkxNyAxMS41NzItMTEuNTcyIDExLjU3MmgtNjcuMjkzYy03LjY1NiAwLTExLjU3My00LjA5NS0xMS41NzMtMTEuNTcydi04LjkwMWMwLTcuNDc3IDMuOTE3LTExLjU3MiAxMS41NzMtMTEuNTcyaDE1LjEzMXYtMzkuODc4YzAtNS4xNjMuNTM0LTEwLjUwMy41MzQtMTAuNTAzaC0uMzU2cy0xLjc3OSAyLjY3LTIuODQ4IDMuNzM4Yy00LjQ1MSA0LjI3My0xMC41MDQgNC40NTEtMTUuNjY2LTEuMDY4bC01LjUxOC02LjIzMWMtNS4zNDItNS4zNDEtNC45ODQtMTEuMjE2LjUzNC0xNi4zNzlsMjEuNzItMTkuOTM5YzQuNDQ5LTQuMDk1IDguMzY2LTUuNjk3IDE0LjQyLTUuNjk3aDEyLjEwNWM3LjY1NiAwIDExLjc1IDMuOTE2IDExLjc1IDExLjU3MnY4NC4zODRoMTUuNDg4YzcuNjU1IDAgMTEuNTcyIDQuMDk0IDExLjU3MiAxMS41NzJ2OC45MDJ6TTYxNiA2NEgyNEMxMC43NDUgNjQgMCA3NC43NDUgMCA4OHYzMzVjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDU5MmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWODhjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0ek01MTIgNDAwSDEyOGMwLTQ0LjE4My0zNS44MTctODAtODAtODBWMTkyYzQ0LjE4MyAwIDgwLTM1LjgxNyA4MC04MGgzODRjMCA0NC4xODMgMzUuODE3IDgwIDgwIDgwdjEyOGMtNDQuMTgzIDAtODAgMzUuODE3LTgwIDgweiJdLAogICAgICAibW9vbiI6IFs1MTIsIDUxMiwgW10sICJmMTg2IiwgIk0yNzkuMTM1IDUxMmM3OC43NTYgMCAxNTAuOTgyLTM1LjgwNCAxOTguODQ0LTk0Ljc3NSAyOC4yNy0zNC44MzEtMi41NTgtODUuNzIyLTQ2LjI0OS03Ny40MDEtODIuMzQ4IDE1LjY4My0xNTguMjcyLTQ3LjI2OC0xNTguMjcyLTEzMC43OTIgMC00OC40MjQgMjYuMDYtOTIuMjkyIDY3LjQzNC0xMTUuODM2IDM4Ljc0NS0yMi4wNSAyOC45OTktODAuNzg4LTE1LjAyMi04OC45MTlBMjU3LjkzNiAyNTcuOTM2IDAgMCAwIDI3OS4xMzUgMGMtMTQxLjM2IDAtMjU2IDExNC41NzUtMjU2IDI1NiAwIDE0MS4zNiAxMTQuNTc2IDI1NiAyNTYgMjU2em0wLTQ2NGMxMi45ODUgMCAyNS42ODkgMS4yMDEgMzguMDE2IDMuNDc4LTU0Ljc2IDMxLjE2My05MS42OTMgOTAuMDQyLTkxLjY5MyAxNTcuNTU0IDAgMTEzLjg0OCAxMDMuNjQxIDE5OS4yIDIxNS4yNTIgMTc3Ljk0NEM0MDIuNTc0IDQzMy45NjQgMzQ0LjM2NiA0NjQgMjc5LjEzNSA0NjRjLTExNC44NzUgMC0yMDgtOTMuMTI1LTIwOC0yMDhzOTMuMTI1LTIwOCAyMDgtMjA4eiJdLAogICAgICAibmV3c3BhcGVyIjogWzU3NiwgNTEyLCBbXSwgImYxZWEiLCAiTTU1MiA2NEgxMTJjLTIwLjg1OCAwLTM4LjY0MyAxMy4zNzctNDUuMjQ4IDMySDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MjcyYzAgMzAuOTI4IDI1LjA3MiA1NiA1NiA1Nmg0OTZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0Vjg4YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHpNNDggMzkyVjE0NGgxNnYyNDhjMCA0LjQxMS0zLjU4OSA4LTggOHMtOC0zLjU4OS04LTh6bTQ4MCA4SDExMS40MjJjLjM3NC0yLjYxNC41NzgtNS4yODMuNTc4LThWMTEyaDQxNnYyODh6TTE3MiAyODBoMTM2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTk2YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTcyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjk2YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJ6bTI4LTgwaDgwdjQwaC04MHYtNDB6bS00MCAxNDB2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTM2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgxNzJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTE5MiAwdi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzY0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEyem0wLTE0NHYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDM2NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnptMCA3MnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDM2NGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnoiXSwKICAgICAgIm9iamVjdC1ncm91cCI6IFs1MTIsIDUxMiwgW10sICJmMjQ3IiwgIk01MDAgMTI4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJWNDRjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNzJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MTJIOTZWNDRjMC02LjYyNy01LjM3My0xMi0xMi0xMkgxMkM1LjM3MyAzMiAwIDM3LjM3MyAwIDQ0djcyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTJ2MjU2SDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjcyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNzJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMTJoMzIwdjEyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNzJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNzJjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMTJWMTI4aDEyem0tNTItNjRoMzJ2MzJoLTMyVjY0ek0zMiA2NGgzMnYzMkgzMlY2NHptMzIgMzg0SDMydi0zMmgzMnYzMnptNDE2IDBoLTMydi0zMmgzMnYzMnptLTQwLTY0aC0xMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxMkg5NnYtMTJjMC02LjYyNy01LjM3My0xMi0xMi0xMkg3MlYxMjhoMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMTJoMzIwdjEyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTJ2MjU2em0tMzYtMTkyaC04NHYtNTJjMC02LjYyOC01LjM3My0xMi0xMi0xMkgxMDhjLTYuNjI3IDAtMTIgNS4zNzItMTIgMTJ2MTY4YzAgNi42MjggNS4zNzMgMTIgMTIgMTJoODR2NTJjMCA2LjYyOCA1LjM3MyAxMiAxMiAxMmgyMDBjNi42MjcgMCAxMi01LjM3MiAxMi0xMlYyMDRjMC02LjYyOC01LjM3My0xMi0xMi0xMnptLTI2OC0yNGgxNDR2MTEySDEzNlYxNjh6bTI0MCAxNzZIMjMydi0yNGg3NmM2LjYyNyAwIDEyLTUuMzcyIDEyLTEydi03Nmg1NnYxMTJ6Il0sCiAgICAgICJvYmplY3QtdW5ncm91cCI6IFs1NzYsIDUxMiwgW10sICJmMjQ4IiwgIk01NjQgMjI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTcyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTcyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjEyaC04OHYtMjRoMTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMlY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC03MmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxMkg5NlY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDEyQzUuMzczIDMyIDAgMzcuMzczIDAgNDR2NzJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMnYxNjBIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NzJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg3MmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0xMmg4OHYyNGgtMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NzJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg3MmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0xMmgyMjR2MTJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg3MmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi03MmMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0xMlYyMjRoMTJ6TTM1MiA2NGgzMnYzMmgtMzJWNjR6bTAgMjU2aDMydjMyaC0zMnYtMzJ6TTY0IDM1MkgzMnYtMzJoMzJ2MzJ6bTAtMjU2SDMyVjY0aDMydjMyem0zMiAyMTZ2LTEyYzAtNi42MjctNS4zNzMtMTItMTItMTJINzJWMTI4aDEyYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTEyaDIyNHYxMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDEydjE2MGgtMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MTJIOTZ6bTEyOCAxMzZoLTMydi0zMmgzMnYzMnptMjgwLTY0aC0xMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxMkgyNTZ2LTEyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTEydi0yNGg4OHYxMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDcyYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTcyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTEydi04OGg4OHYxMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDEydjE2MHptNDAgNjRoLTMydi0zMmgzMnYzMnptMC0yNTZoLTMydi0zMmgzMnYzMnoiXSwKICAgICAgInBhcGVyLXBsYW5lIjogWzUxMiwgNTEyLCBbXSwgImYxZDgiLCAiTTQ0MCA2LjVMMjQgMjQ2LjRjLTM0LjQgMTkuOS0zMS4xIDcwLjggNS43IDg1LjlMMTQ0IDM3OS42VjQ2NGMwIDQ2LjQgNTkuMiA2NS41IDg2LjYgMjguNmw0My44LTU5LjEgMTExLjkgNDYuMmM1LjkgMi40IDEyLjEgMy42IDE4LjMgMy42IDguMiAwIDE2LjMtMi4xIDIzLjYtNi4yIDEyLjgtNy4yIDIxLjYtMjAgMjMuOS0zNC41bDU5LjQtMzg3LjJjNi4xLTQwLjEtMzYuOS02OC44LTcxLjUtNDguOXpNMTkyIDQ2NHYtNjQuNmwzNi42IDE1LjFMMTkyIDQ2NHptMjEyLjYtMjguN2wtMTUzLjgtNjMuNUwzOTEgMTY5LjVjMTAuNy0xNS41LTkuNS0zMy41LTIzLjctMjEuMkwxNTUuOCAzMzIuNiA0OCAyODggNDY0IDQ4bC01OS40IDM4Ny4zeiJdLAogICAgICAicGF1c2UtY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYyOGIiLCAiTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTAgNDQ4Yy0xMTAuNSAwLTIwMC04OS41LTIwMC0yMDBTMTQ1LjUgNTYgMjU2IDU2czIwMCA4OS41IDIwMCAyMDAtODkuNSAyMDAtMjAwIDIwMHptOTYtMjgwdjE2MGMwIDguOC03LjIgMTYtMTYgMTZoLTQ4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmg0OGM4LjggMCAxNiA3LjIgMTYgMTZ6bS0xMTIgMHYxNjBjMCA4LjgtNy4yIDE2LTE2IDE2aC00OGMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZoNDhjOC44IDAgMTYgNy4yIDE2IDE2eiJdLAogICAgICAicGxheS1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjE0NCIsICJNMzcxLjcgMjM4bC0xNzYtMTA3Yy0xNS44LTguOC0zNS43IDIuNS0zNS43IDIxdjIwOGMwIDE4LjQgMTkuOCAyOS44IDM1LjcgMjFsMTc2LTEwMWMxNi40LTkuMSAxNi40LTMyLjggMC00MnpNNTA0IDI1NkM1MDQgMTE5IDM5MyA4IDI1NiA4UzggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDh6bS00NDggMGMwLTExMC41IDg5LjUtMjAwIDIwMC0yMDBzMjAwIDg5LjUgMjAwIDIwMC04OS41IDIwMC0yMDAgMjAwUzU2IDM2Ni41IDU2IDI1NnoiXSwKICAgICAgInBsdXMtc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYwZmUiLCAiTTM1MiAyNDB2MzJjMCA2LjYtNS40IDEyLTEyIDEyaC04OHY4OGMwIDYuNi01LjQgMTItMTIgMTJoLTMyYy02LjYgMC0xMi01LjQtMTItMTJ2LTg4aC04OGMtNi42IDAtMTItNS40LTEyLTEydi0zMmMwLTYuNiA1LjQtMTIgMTItMTJoODh2LTg4YzAtNi42IDUuNC0xMiAxMi0xMmgzMmM2LjYgMCAxMiA1LjQgMTIgMTJ2ODhoODhjNi42IDAgMTIgNS40IDEyIDEyem05Ni0xNjB2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFY4MGMwLTI2LjUgMjEuNS00OCA0OC00OGgzNTJjMjYuNSAwIDQ4IDIxLjUgNDggNDh6bS00OCAzNDZWODZjMC0zLjMtMi43LTYtNi02SDU0Yy0zLjMgMC02IDIuNy02IDZ2MzQwYzAgMy4zIDIuNyA2IDYgNmgzNDBjMy4zIDAgNi0yLjcgNi02eiJdLAogICAgICAicXVlc3Rpb24tY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYwNTkiLCAiTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgNDQ4Yy0xMTAuNTMyIDAtMjAwLTg5LjQzMS0yMDAtMjAwIDAtMTEwLjQ5NSA4OS40NzItMjAwIDIwMC0yMDAgMTEwLjQ5MSAwIDIwMCA4OS40NzEgMjAwIDIwMCAwIDExMC41My04OS40MzEgMjAwLTIwMCAyMDB6bTEwNy4yNDQtMjU1LjJjMCA2Ny4wNTItNzIuNDIxIDY4LjA4NC03Mi40MjEgOTIuODYzVjMwMGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC00NS42NDdjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTguNjU5YzAtMzUuNzQ1IDI3LjEtNTAuMDM0IDQ3LjU3OS02MS41MTYgMTcuNTYxLTkuODQ1IDI4LjMyNC0xNi41NDEgMjguMzI0LTI5LjU3OSAwLTE3LjI0Ni0yMS45OTktMjguNjkzLTM5Ljc4NC0yOC42OTMtMjMuMTg5IDAtMzMuODk0IDEwLjk3Ny00OC45NDIgMjkuOTY5LTQuMDU3IDUuMTItMTEuNDYgNi4wNzEtMTYuNjY2IDIuMTI0bC0yNy44MjQtMjEuMDk4Yy01LjEwNy0zLjg3Mi02LjI1MS0xMS4wNjYtMi42NDQtMTYuMzYzQzE4NC44NDYgMTMxLjQ5MSAyMTQuOTQgMTEyIDI2MS43OTQgMTEyYzQ5LjA3MSAwIDEwMS40NSAzOC4zMDQgMTAxLjQ1IDg4Ljh6TTI5OCAzNjhjMCAyMy4xNTktMTguODQxIDQyLTQyIDQycy00Mi0xOC44NDEtNDItNDIgMTguODQxLTQyIDQyLTQyIDQyIDE4Ljg0MSA0MiA0MnoiXSwKICAgICAgInJlZ2lzdGVyZWQiOiBbNTEyLCA1MTIsIFtdLCAiZjI1ZCIsICJNMjU2IDhDMTE5LjAzMyA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4em0wIDQ0OGMtMTEwLjUzMiAwLTIwMC04OS40NTEtMjAwLTIwMCAwLTExMC41MzEgODkuNDUxLTIwMCAyMDAtMjAwIDExMC41MzIgMCAyMDAgODkuNDUxIDIwMCAyMDAgMCAxMTAuNTMyLTg5LjQ1MSAyMDAtMjAwIDIwMHptMTEwLjQ0Mi04MS43OTFjLTUzLjA0Ni05Ni4yODQtNTAuMjUtOTEuNDY4LTUzLjI3MS05Ni4wODUgMjQuMjY3LTEzLjg3OSAzOS40ODItNDEuNTYzIDM5LjQ4Mi03My4xNzYgMC01Mi41MDMtMzAuMjQ3LTg1LjI1Mi0xMDEuNDk4LTg1LjI1MmgtNzguNjY3Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyVjM4MGMwIDYuNjE3IDUuMzgzIDEyIDEyIDEyaDM4LjU2OGM2LjYxNyAwIDEyLTUuMzgzIDEyLTEydi04My42NjNoMzEuOTU4bDQ3LjUxNSA4OS4zMDNhMTEuOTggMTEuOTggMCAwIDAgMTAuNTkzIDYuMzZoNDIuODFjOS4xNCAwIDE0LjkxNC05Ljc5OSAxMC41MS0xNy43OTF6TTI1Ni45MzMgMjM5LjkwNmgtMzMuODc1di02NC4xNGgyNy4zNzdjMzIuNDE3IDAgMzguOTI5IDEyLjEzMyAzOC45MjkgMzEuNzA5LS4wMDEgMjAuOTEzLTExLjUxOCAzMi40MzEtMzIuNDMxIDMyLjQzMXoiXSwKICAgICAgInNhdmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjBjNyIsICJNNDMzLjk0MSAxMjkuOTQxbC04My44ODItODMuODgyQTQ4IDQ4IDAgMCAwIDMxNi4xMTggMzJINDhDMjEuNDkgMzIgMCA1My40OSAwIDgwdjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjE2My44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMjcyIDgwdjgwSDE0NFY4MGgxMjh6bTEyMiAzNTJINTRhNiA2IDAgMCAxLTYtNlY4NmE2IDYgMCAwIDEgNi02aDQydjEwNGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTc2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY4My44ODJsNzguMjQzIDc4LjI0M2E2IDYgMCAwIDEgMS43NTcgNC4yNDNWNDI2YTYgNiAwIDAgMS02IDZ6TTIyNCAyMzJjLTQ4LjUyMyAwLTg4IDM5LjQ3Ny04OCA4OHMzOS40NzcgODggODggODggODgtMzkuNDc3IDg4LTg4LTM5LjQ3Ny04OC04OC04OHptMCAxMjhjLTIyLjA1NiAwLTQwLTE3Ljk0NC00MC00MHMxNy45NDQtNDAgNDAtNDAgNDAgMTcuOTQ0IDQwIDQwLTE3Ljk0NCA0MC00MCA0MHoiXSwKICAgICAgInNoYXJlLXNxdWFyZSI6IFs1NzYsIDUxMiwgW10sICJmMTRkIiwgIk01NjEuOTM4IDE1OC4wNkw0MTcuOTQgMTQuMDkyQzM4Ny45MjYtMTUuOTIyIDMzNiA1LjA5NyAzMzYgNDguMDMydjU3LjE5OGMtNDIuNDUgMS44OC04NC4wMyA2LjU1LTEyMC43NiAxNy45OS0zNS4xNyAxMC45NS02My4wNyAyNy41OC04Mi45MSA0OS40MkMxMDguMjIgMTk5LjIgOTYgMjMyLjYgOTYgMjcxLjk0YzAgNjEuNjk3IDMzLjE3OCAxMTIuNDU1IDg0Ljg3IDE0NC43NiAzNy41NDYgMjMuNTA4IDg1LjI0OC0xMi42NTEgNzEuMDItNTUuNzQtMTUuNTE1LTQ3LjExOS0xNy4xNTYtNzAuOTIzIDg0LjExLTc4Ljc2VjMzNmMwIDQyLjk5MyA1MS45NjggNjMuOTEzIDgxLjk0IDMzLjk0bDE0My45OTgtMTQ0YzE4Ljc1LTE4Ljc0IDE4Ljc1LTQ5LjE0IDAtNjcuODh6TTM4NCAzMzZWMjMyLjE2QzI1NS4zMDkgMjM0LjA4MiAxNjYuNDkyIDI1NS4zNSAyMDYuMzEgMzc2IDE3Ni43OSAzNTcuNTUgMTQ0IDMyNC4wOCAxNDQgMjcxLjk0YzAtMTA5LjMzNCAxMjkuMTQtMTE4Ljk0NyAyNDAtMTE5Ljg1VjQ4bDE0NCAxNDQtMTQ0IDE0NHptMjQuNzQgODQuNDkzYTgyLjY1OCA4Mi42NTggMCAwIDAgMjAuOTc0LTkuMzAzYzcuOTc2LTQuOTUyIDE4LjI4Ni44MjYgMTguMjg2IDEwLjIxNFY0NjRjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxMTJjMC0yNi41MSAyMS40OS00OCA0OC00OGgxMzJjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY0LjQ4NmMwIDQuOTE3LTIuOTg3IDkuMzY5LTcuNTY5IDExLjE1Mi0xMy43MDIgNS4zMzEtMjYuMzk2IDExLjUzNy0zOC4wNSAxOC41ODVhMTIuMTM4IDEyLjEzOCAwIDAgMS02LjI4IDEuNzc3SDU0YTYgNiAwIDAgMC02IDZ2MzQwYTYgNiAwIDAgMCA2IDZoMzQwYTYgNiAwIDAgMCA2LTZ2LTI1Ljk2NmMwLTUuMzcgMy41NzktMTAuMDU5IDguNzQtMTEuNTQxeiJdLAogICAgICAic21pbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjExOCIsICJNMjU2IDU2YzExMC41MzIgMCAyMDAgODkuNDUxIDIwMCAyMDAgMCAxMTAuNTMyLTg5LjQ1MSAyMDAtMjAwIDIwMC0xMTAuNTMyIDAtMjAwLTg5LjQ1MS0yMDAtMjAwIDAtMTEwLjUzMiA4OS40NTEtMjAwIDIwMC0yMDBtMC00OEMxMTkuMDMzIDggOCAxMTkuMDMzIDggMjU2czExMS4wMzMgMjQ4IDI0OCAyNDggMjQ4LTExMS4wMzMgMjQ4LTI0OFMzOTIuOTY3IDggMjU2IDh6bTY0IDEzNmMtOS41MzUgMC0xOC41MTIgMi4zODYtMjYuMzcgNi41ODloLjAxN2MxMi43MzUgMCAyMy4wNTkgMTAuMzI0IDIzLjA1OSAyMy4wNTkgMCAxMi43MzUtMTAuMzI0IDIzLjA1OS0yMy4wNTkgMjMuMDU5cy0yMy4wNTktMTAuMzI0LTIzLjA1OS0yMy4wNTl2LS4wMTdDMjY2LjM4NiAxODEuNDg4IDI2NCAxOTAuNDY1IDI2NCAyMDBjMCAzMC45MjggMjUuMDcyIDU2IDU2IDU2czU2LTI1LjA3MiA1Ni01Ni0yNS4wNzItNTYtNTYtNTZ6bS0xMjggMGMtOS41MzUgMC0xOC41MTIgMi4zODYtMjYuMzcgNi41ODloLjAxN2MxMi43MzUgMCAyMy4wNTkgMTAuMzI0IDIzLjA1OSAyMy4wNTkgMCAxMi43MzUtMTAuMzI0IDIzLjA1OS0yMy4wNTkgMjMuMDU5LTEyLjczNSAwLTIzLjA1OS0xMC4zMjQtMjMuMDU5LTIzLjA1OXYtLjAxN0MxMzguMzg2IDE4MS40ODggMTM2IDE5MC40NjUgMTM2IDIwMGMwIDMwLjkyOCAyNS4wNzIgNTYgNTYgNTZzNTYtMjUuMDcyIDU2LTU2LTI1LjA3Mi01Ni01Ni01NnptMTk1LjM3MiAxODIuMjE5YzE4LjgxOS0yNS41OTItMTkuODU2LTU0LjAxNy0zOC42Ny0yOC40MzgtNTAuMTM1IDY4LjE3Ny0xMzUuMjI5IDY4LjE4LTE4NS4zNjcgMC0xOC44MjgtMjUuNjAxLTU3LjQ3OCAyLjg2MS0zOC42NyAyOC40MzggNjkuMjk4IDk0LjIzMSAxOTMuMzIzIDk0LjM1MSAyNjIuNzA3IDB6Il0sCiAgICAgICJzbm93Zmxha2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjJkYyIsICJNNDM4LjIzNyAzNTUuOTI3bC02Ni41NzQtMzguNTQgNTkuNDQ4LTEwLjMyN2M1Ljg0Ni0xLjM3NSAxMC42MDktNS4xODMgMTMuNDU4LTEwLjEzIDIuNDgtNC4zMDcgMy41MDYtOS40NzggMi41MjQtMTQuNjUxLTIuMTEtMTEuMTE1LTEyLjY4Ni0xOC4wMzktMjMuNjIxLTE1LjQ2N2wtODUuNDIzIDMxLjExNUwyNTUuOTE0IDI1Nmw4Mi4xMzYtNDEuOTI2IDg1LjQyMyAzMS4xMTVjMTAuOTM2IDIuNTcyIDIxLjUxMi00LjM1MiAyMy42MjEtMTUuNDY3IDIuMTExLTExLjExNS01LjA0Ni0yMi4yMDktMTUuOTgxLTI0Ljc4MWwtNTkuNDQ4LTEwLjMyNyA2Ni41NzMtMzguNTRjOS41NC01LjUyMyAxMi42MTUtMTguMDkyIDYuODY3LTI4LjA3NC01Ljc0OC05Ljk4Mi0xOC4xNC0xMy41OTYtMjcuNjgtOC4wNzRsLTY2LjU3NCAzOC41NCAyMC44MDUtNTYuNzg3YzMuMjQ2LTEwLjc4Mi0yLjc1OC0yMi41NDItMTMuNDEzLTI2LjI2OC0xMC42NTQtMy43MjUtMjEuOTIyIDEuOTk3LTI1LjE2OCAxMi43NzlsLTE1LjgzOCA4OS43MzUtNzIuNDIzIDQxLjkyNlYxMzZsNjkuNTg1LTU4LjYyMWM3LjY4OS04LjIxIDYuOTk3LTIwLjg1Ni0xLjU0OC0yOC4yNDUtOC41NDUtNy4zOTEtMjEuNzA1LTYuNzIzLTI5LjM5NCAxLjQ4NmwtMzguNjQ0IDQ2LjQ2VjIwYzAtMTEuMDQ2LTkuMzE4LTIwLTIwLjgxMy0yMHMtMjAuODEzIDguOTU0LTIwLjgxMyAyMHY3Ny4wOGwtMzguNjQ0LTQ2LjQ2Yy03LjY4OS04LjIxLTIwLjg0OS04Ljg3Ni0yOS4zOTQtMS40ODYtOC41NDQgNy4zODktOS4yMzYgMjAuMDM1LTEuNTQ3IDI4LjI0NUwyMDMuMTg3IDEzNnY4My44NTNsLTcyLjQyMy00MS45MjYtMTUuODM4LTg5LjczNmMtMy4yNDctMTAuNzgyLTE0LjUxNS0xNi41MDQtMjUuMTY5LTEyLjc3OS0xMC42NTYgMy43MjUtMTYuNjU5IDE1LjQ4Ni0xMy40MTMgMjYuMjY4bDIwLjgwNSA1Ni43ODctNjYuNTczLTM4LjU0Yy05LjU0LTUuNTIzLTIxLjkzMy0xLjkwOC0yNy42OCA4LjA3NHMtMi42NzMgMjIuNTUxIDYuODY3IDI4LjA3NGw2Ni41NzQgMzguNTQtNTkuNDQ5IDEwLjMyOEM1Ljk1MyAyMDcuNTE1LTEuMjAyIDIxOC42MDkuOTA3IDIyOS43MjRjMi4xMSAxMS4xMTQgMTIuNjg2IDE4LjAzOCAyMy42MjIgMTUuNDY2bDg1LjQyMi0zMS4xMTVMMTkyLjA4NiAyNTZsLTgyLjEzNiA0MS45MjYtODUuNDIzLTMxLjExNWMtMTAuOTM2LTIuNTcyLTIxLjUxMSA0LjM1Mi0yMy42MjIgMTUuNDY2LTIuMTA5IDExLjExMyA1LjA0NiAyMi4yMDkgMTUuOTgxIDI0Ljc4MWw1OS40NDkgMTAuMzI4LTY2LjU3NCAzOC41NEMuMjIzIDM2MS40NDktMi44NTIgMzc0LjAxOCAyLjg5NiAzODRzMTguMTQgMTMuNTk3IDI3LjY4IDguMDc0bDY2LjU3NC0zOC41NC0yMC44MDUgNTYuNzg2Yy0xLjczNSA1Ljc2NC0uODI4IDExLjgwNSAyLjAyIDE2Ljc1MSAyLjQ4IDQuMzA3IDYuNDMzIDcuNzg0IDExLjM5MiA5LjUxNyAxMC42NTUgMy43MjUgMjEuOTIzLTEuOTk3IDI1LjE2OS0xMi43NzlsMTUuODM4LTg5LjczNiA3Mi40MjMtNDEuOTI2VjM3NmwtNjkuNTg1IDU4LjYyMWMtNy42OSA4LjIxLTYuOTk3IDIwLjg1NSAxLjU0NyAyOC4yNDUgOC41NDQgNy4zODggMjEuNzA1IDYuNzIzIDI5LjM5NC0xLjQ4N2wzOC42NDQtNDYuNDZWNDkyYzAgMTEuMDQ2IDkuMzE4IDIwIDIwLjgxMyAyMHMyMC44MTMtOC45NTQgMjAuODEzLTIwdi03Ny4wODFsMzguNjQ0IDQ2LjQ2YzQuMTExIDQuMzg5IDkuNzgyIDYuNjIxIDE1LjQ3OCA2LjYyMSA0Ljk2IDAgOS45MzktMS42OTQgMTMuOTE2LTUuMTM0IDguNTQ1LTcuMzkgOS4yMzctMjAuMDM1IDEuNTQ4LTI4LjI0NUwyNDQuODEzIDM3NnYtODMuODUzbDcyLjQyMyA0MS45MjYgMTUuODM4IDg5LjczNmMzLjI0NiAxMC43ODIgMTQuNTE0IDE2LjUwNCAyNS4xNjggMTIuNzc5IDEwLjY1My0zLjcyNiAxNi42NTktMTUuNDg3IDEzLjQxMi0yNi4yNjhsLTIwLjgwNS01Ni43ODcgNjYuNTc0IDM4LjU0YzkuNTQgNS41MjMgMjEuOTMzIDEuOTA4IDI3LjY4LTguMDc0IDUuNzQ5LTkuOTgxIDIuNjc1LTIyLjU1LTYuODY2LTI4LjA3MnoiXSwKICAgICAgInNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMGM4IiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0tNiA0MDBINTRjLTMuMyAwLTYtMi43LTYtNlY4NmMwLTMuMyAyLjctNiA2LTZoMzQwYzMuMyAwIDYgMi43IDYgNnYzNDBjMCAzLjMtMi43IDYtNiA2eiJdLAogICAgICAic3RhciI6IFs1NzYsIDUxMiwgW10sICJmMDA1IiwgIk01MjguMSAxNzEuNUwzODIgMTUwLjIgMzE2LjcgMTcuOGMtMTEuNy0yMy42LTQ1LjYtMjMuOS01Ny40IDBMMTk0IDE1MC4yIDQ3LjkgMTcxLjVjLTI2LjIgMy44LTM2LjcgMzYuMS0xNy43IDU0LjZsMTA1LjcgMTAzLTI1IDE0NS41Yy00LjUgMjYuMyAyMy4yIDQ2IDQ2LjQgMzMuN0wyODggNDM5LjZsMTMwLjcgNjguN2MyMy4yIDEyLjIgNTAuOS03LjQgNDYuNC0zMy43bC0yNS0xNDUuNSAxMDUuNy0xMDNjMTktMTguNSA4LjUtNTAuOC0xNy43LTU0LjZ6TTM4OC42IDMxMi4zbDIzLjcgMTM4LjRMMjg4IDM4NS40bC0xMjQuMyA2NS4zIDIzLjctMTM4LjQtMTAwLjYtOTggMTM5LTIwLjIgNjIuMi0xMjYgNjIuMiAxMjYgMTM5IDIwLjItMTAwLjYgOTh6Il0sCiAgICAgICJzdGFyLWhhbGYiOiBbNTc2LCA1MTIsIFtdLCAiZjA4OSIsICJNMjg4IDM4NS4zbC0xMjQuMyA2NS40IDIzLjctMTM4LjQtMTAwLjYtOTggMTM5LTIwLjIgNjIuMi0xMjZWMGMtMTEuNCAwLTIyLjggNS45LTI4LjcgMTcuOEwxOTQgMTUwLjIgNDcuOSAxNzEuNGMtMjYuMiAzLjgtMzYuNyAzNi4xLTE3LjcgNTQuNmwxMDUuNyAxMDMtMjUgMTQ1LjVjLTQuNSAyNi4xIDIzIDQ2IDQ2LjQgMzMuN0wyODggNDM5LjZ2LTU0LjN6Il0sCiAgICAgICJzdGlja3ktbm90ZSI6IFs0NDgsIDUxMiwgW10sICJmMjQ5IiwgIk00NDggMzQ4LjEwNlY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4SDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYzNTEuOTg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjY4LjExOGE0OCA0OCAwIDAgMCAzMy45NDEtMTQuMDU5bDgzLjg4Mi04My44ODJBNDggNDggMCAwIDAgNDQ4IDM0OC4xMDZ6bS0xMjggODB2LTc2LjExOGg3Ni4xMThMMzIwIDQyOC4xMDZ6TTQwMCA4MHYyMjMuOTg4SDI5NmMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djEwNEg0OFY4MGgzNTJ6Il0sCiAgICAgICJzdG9wLWNpcmNsZSI6IFs1MTIsIDUxMiwgW10sICJmMjhkIiwgIk01MDQgMjU2QzUwNCAxMTkgMzkzIDggMjU2IDhTOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OHptLTQ0OCAwYzAtMTEwLjUgODkuNS0yMDAgMjAwLTIwMHMyMDAgODkuNSAyMDAgMjAwLTg5LjUgMjAwLTIwMCAyMDBTNTYgMzY2LjUgNTYgMjU2em0yOTYtODB2MTYwYzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ6Il0sCiAgICAgICJzdW4iOiBbNTEyLCA1MTIsIFtdLCAiZjE4NSIsICJNMjIwLjExNiA0ODcuOTM2bC0yMC4yMTMtNDkuNDI1YTMuOTkyIDMuOTkyIDAgMCAwLTUuODA4LTEuODg2bC00NS40MDQgMjguMTA0Yy0yOS40NjYgMTguMjQtNjYuMjk1LTguNTE5LTU4LjA1NC00Mi4xNzlsMTIuNjk5LTUxLjg2NWEzLjk5MyAzLjk5MyAwIDAgMC0zLjU5LTQuOTQxbC01My4yNTEtMy45NTFjLTM0LjU1NC0yLjU2Mi00OC42MzItNDUuODU1LTIyLjE3NC02OC4yNDdMNjUuMDggMjU5LjA1YTMuOTkyIDMuOTkyIDAgMCAwIDAtNi4xMDZsLTQwLjc2LTM0LjQ5N2MtMjYuNDUtMjIuMzg0LTEyLjM5LTY1LjY4MiAyMi4xNzQtNjguMjQ2bDUzLjI1MS0zLjk1MWEzLjk5MyAzLjk5MyAwIDAgMCAzLjU5LTQuOTQxTDkwLjYzNyA4OS40NDNjLTguMjM5LTMzLjY1NiAyOC41ODEtNjAuNDIgNTguMDU0LTQyLjE3OWw0NS40MDMgMjguMTA0YTMuOTkzIDMuOTkzIDAgMCAwIDUuODA4LTEuODg3bDIwLjIxMy00OS40MjVjMTMuMTE2LTMyLjA3MSA1OC42MzgtMzIuMDgxIDcxLjc1OCAwbDIwLjIxMiA0OS40MjRhMy45OTQgMy45OTQgMCAwIDAgNS44MDkgMS44ODdsNDUuNDAzLTI4LjEwNGMyOS40NjQtMTguMjM2IDY2LjI5NyA4LjUxMyA1OC4wNTQgNDIuMTc5bC0xMi42OTkgNTEuODY1YTMuOTk1IDMuOTk1IDAgMCAwIDMuNTkgNC45NDFsNTMuMjUxIDMuOTUxYzM0LjU1MyAyLjU2MyA0OC42MzMgNDUuODU0IDIyLjE3NSA2OC4yNDZsLTQwLjc2IDM0LjQ5N2EzLjk5MyAzLjk5MyAwIDAgMCAwIDYuMTA3bDQwLjc2IDM0LjQ5NmMyNi41MTEgMjIuNDQxIDEyLjMyMiA2NS42ODktMjIuMTc1IDY4LjI0N2wtNTMuMjUxIDMuOTUxYTMuOTkzIDMuOTkzIDAgMCAwLTMuNTg5IDQuOTQybDEyLjY5OCA1MS44NjRjOC4yNDEgMzMuNjU4LTI4LjU4MyA2MC40MjEtNTguMDU0IDQyLjE4bC00NS40MDMtMjguMTA0YTMuOTk0IDMuOTk0IDAgMCAwLTUuODA5IDEuODg3bC0yMC4yMTIgNDkuNDI0Yy0xMy4xNTkgMzIuMTc4LTU4LjY3NSAzMS45OTMtNzEuNzU3IDB6bTE2LjgxNC02NC41NjhsMTkuMDY0IDQ2LjYxNiAxOS4wNjQtNDYuNjE1YzEwLjMwOC0yNS4yIDQwLjc3OC0zNS4wNjYgNjMuODkyLTIwLjc1OWw0Mi44MjIgMjYuNTA3LTExLjk3Ni00OC45MTljLTYuNDc1LTI2LjQ0NCAxMi4zOC01Mi4zMzkgMzkuNDg3LTU0LjM0OWw1MC4yMjYtMy43MjYtMzguNDQ0LTMyLjUzNmMtMjAuNzgyLTE3LjU5MS0yMC43NDctNDkuNjIxLjAwMS02Ny4xOGwzOC40NDItMzIuNTM2LTUwLjIyNS0zLjcyN2MtMjcuMTUxLTIuMDE1LTQ1Ljk1LTI3Ljk0OC0zOS40ODgtNTQuMzQ5bDExLjk3OC00OC45MTktNDIuODIzIDI2LjUwN2MtMjMuMTUxIDE0LjMyNy01My42MDMgNC40LTYzLjg5Mi0yMC43NmwtMTkuMDY0LTQ2LjYxNS0xOS4wNjQgNDYuNjE3Yy0xMC4zMDUgMjUuMTk4LTQwLjc3OCAzNS4wNjYtNjMuODkxIDIwLjc2bC00Mi44MjMtMjYuNTA4IDExLjk3NyA0OC45MThjNi40NzQgMjYuNDQ2LTEyLjM4MSA1Mi4zMzgtMzkuNDg4IDU0LjM1bC01MC4yMjQgMy43MjYgMzguNDQzIDMyLjUzN2MyMC43ODIgMTcuNTg4IDIwLjc0NyA0OS42MTkgMCA2Ny4xNzhMNTIuNDggMzIyLjEyM2w1MC4yMjYgMy43MjZjMjcuMTUxIDIuMDE0IDQ1Ljk1IDI3Ljk0NyAzOS40ODcgNTQuMzQ5bC0xMS45NzcgNDguOTE5IDQyLjgyMy0yNi41MDdjMjMuMTg4LTE0LjM1NSA1My42MjItNC4zNTIgNjMuODkxIDIwLjc1OHpNMjU2IDM4NGMtNzAuNTggMC0xMjgtNTcuNDIxLTEyOC0xMjggMC03MC41OCA1Ny40Mi0xMjggMTI4LTEyOCA3MC41NzkgMCAxMjggNTcuNDIgMTI4IDEyOCAwIDcwLjU3OS01Ny40MjEgMTI4LTEyOCAxMjh6bTAtMjA4Yy00NC4xMTIgMC04MCAzNS44ODgtODAgODBzMzUuODg4IDgwIDgwIDgwIDgwLTM1Ljg4OCA4MC04MC0zNS44ODgtODAtODAtODB6Il0sCiAgICAgICJ0aHVtYnMtZG93biI6IFs1MTIsIDUxMiwgW10sICJmMTY1IiwgIk00NjYuMjcgMjI1LjMxYzQuNjc0LTIyLjY0Ny44NjQtNDQuNTM4LTguOTktNjIuOTkgMi45NTgtMjMuODY4LTQuMDIxLTQ4LjU2NS0xNy4zNC02Ni45OUM0MzguOTg2IDM5LjQyMyA0MDQuMTE3IDAgMzI3IDBjLTcgMC0xNSAuMDEtMjIuMjIuMDFDMjAxLjE5NS4wMSAxNjguOTk3IDQwIDEyOCA0MGgtMTAuODQ1Yy01LjY0LTQuOTc1LTEzLjA0Mi04LTIxLjE1NS04SDMyQzE0LjMyNyAzMiAwIDQ2LjMyNyAwIDY0djI0MGMwIDE3LjY3MyAxNC4zMjcgMzIgMzIgMzJoNjRjMTEuODQyIDAgMjIuMTc1LTYuNDM4IDI3LjcwOC0xNmg3LjA1MmMxOS4xNDYgMTYuOTUzIDQ2LjAxMyA2MC42NTMgNjguNzYgODMuNCAxMy42NjcgMTMuNjY3IDEwLjE1MyAxMDguNiA3MS43NiAxMDguNiA1Ny41OCAwIDk1LjI3LTMxLjkzNiA5NS4yNy0xMDQuNzMgMC0xOC40MS0zLjkzLTMzLjczLTguODUtNDYuNTRoMzYuNDhjNDguNjAyIDAgODUuODItNDEuNTY1IDg1LjgyLTg1LjU4IDAtMTkuMTUtNC45Ni0zNC45OS0xMy43My00OS44NHpNNjQgMjk2Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRzMTAuNzQ1LTI0IDI0LTI0IDI0IDEwLjc0NSAyNCAyNC0xMC43NDUgMjQtMjQgMjR6bTMzMC4xOCAxNi43M0gyOTAuMTljMCAzNy44MiAyOC4zNiA1NS4zNyAyOC4zNiA5NC41NCAwIDIzLjc1IDAgNTYuNzMtNDcuMjcgNTYuNzMtMTguOTEtMTguOTEtOS40Ni02Ni4xOC0zNy44Mi05NC41NEMyMDYuOSAzNDIuODkgMTY3LjI4IDI3MiAxMzguOTIgMjcySDEyOFY4NS44M2M1My42MTEgMCAxMDAuMDAxLTM3LjgyIDE3MS42NC0zNy44MmgzNy44MmMzNS41MTIgMCA2MC44MiAxNy4xMiA1My4xMiA2NS45IDE1LjIgOC4xNiAyNi41IDM2LjQ0IDEzLjk0IDU3LjU3IDIxLjU4MSAyMC4zODQgMTguNjk5IDUxLjA2NSA1LjIxIDY1LjYyIDkuNDUgMCAyMi4zNiAxOC45MSAyMi4yNyAzNy44MS0uMDkgMTguOTEtMTYuNzEgMzcuODItMzcuODIgMzcuODJ6Il0sCiAgICAgICJ0aHVtYnMtdXAiOiBbNTEyLCA1MTIsIFtdLCAiZjE2NCIsICJNNDY2LjI3IDI4Ni42OUM0NzUuMDQgMjcxLjg0IDQ4MCAyNTYgNDgwIDIzNi44NWMwLTQ0LjAxNS0zNy4yMTgtODUuNTgtODUuODItODUuNThIMzU3LjdjNC45Mi0xMi44MSA4Ljg1LTI4LjEzIDguODUtNDYuNTRDMzY2LjU1IDMxLjkzNiAzMjguODYgMCAyNzEuMjggMGMtNjEuNjA3IDAtNTguMDkzIDk0LjkzMy03MS43NiAxMDguNi0yMi43NDcgMjIuNzQ3LTQ5LjYxNSA2Ni40NDctNjguNzYgODMuNEgzMmMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMydjI0MGMwIDE3LjY3MyAxNC4zMjcgMzIgMzIgMzJoNjRjMTQuODkzIDAgMjcuNDA4LTEwLjE3NCAzMC45NzgtMjMuOTUgNDQuNTA5IDEuMDAxIDc1LjA2IDM5Ljk0IDE3Ny44MDIgMzkuOTQgNy4yMiAwIDE1LjIyLjAxIDIyLjIyLjAxIDc3LjExNyAwIDExMS45ODYtMzkuNDIzIDExMi45NC05NS4zMyAxMy4zMTktMTguNDI1IDIwLjI5OS00My4xMjIgMTcuMzQtNjYuOTkgOS44NTQtMTguNDUyIDEzLjY2NC00MC4zNDMgOC45OS02Mi45OXptLTYxLjc1IDUzLjgzYzEyLjU2IDIxLjEzIDEuMjYgNDkuNDEtMTMuOTQgNTcuNTcgNy43IDQ4Ljc4LTE3LjYwOCA2NS45LTUzLjEyIDY1LjloLTM3LjgyYy03MS42MzkgMC0xMTguMDI5LTM3LjgyLTE3MS42NC0zNy44MlYyNDBoMTAuOTJjMjguMzYgMCA2Ny45OC03MC44OSA5NC41NC05Ny40NiAyOC4zNi0yOC4zNiAxOC45MS03NS42MyAzNy44Mi05NC41NCA0Ny4yNyAwIDQ3LjI3IDMyLjk4IDQ3LjI3IDU2LjczIDAgMzkuMTctMjguMzYgNTYuNzItMjguMzYgOTQuNTRoMTAzLjk5YzIxLjExIDAgMzcuNzMgMTguOTEgMzcuODIgMzcuODIuMDkgMTguOS0xMi44MiAzNy44MS0yMi4yNyAzNy44MSAxMy40ODkgMTQuNTU1IDE2LjM3MSA0NS4yMzYtNS4yMSA2NS42MnpNODggNDMyYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNHMtMjQtMTAuNzQ1LTI0LTI0IDEwLjc0NS0yNCAyNC0yNCAyNCAxMC43NDUgMjQgMjR6Il0sCiAgICAgICJ0aW1lcy1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjA1NyIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptMCA0NDhjLTExMC41IDAtMjAwLTg5LjUtMjAwLTIwMFMxNDUuNSA1NiAyNTYgNTZzMjAwIDg5LjUgMjAwIDIwMC04OS41IDIwMC0yMDAgMjAwem0xMDEuOC0yNjIuMkwyOTUuNiAyNTZsNjIuMiA2Mi4yYzQuNyA0LjcgNC43IDEyLjMgMCAxN2wtMjIuNiAyMi42Yy00LjcgNC43LTEyLjMgNC43LTE3IDBMMjU2IDI5NS42bC02Mi4yIDYyLjJjLTQuNyA0LjctMTIuMyA0LjctMTcgMGwtMjIuNi0yMi42Yy00LjctNC43LTQuNy0xMi4zIDAtMTdsNjIuMi02Mi4yLTYyLjItNjIuMmMtNC43LTQuNy00LjctMTIuMyAwLTE3bDIyLjYtMjIuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjIuMiA2Mi4yIDYyLjItNjIuMmM0LjctNC43IDEyLjMtNC43IDE3IDBsMjIuNiAyMi42YzQuNyA0LjcgNC43IDEyLjMgMCAxN3oiXSwKICAgICAgInRyYXNoLWFsdCI6IFs0NDgsIDUxMiwgW10sICJmMmVkIiwgIk0xOTIgMTg4djIxNmMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC0yNGMtNi42MjcgMC0xMi01LjM3My0xMi0xMlYxODhjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgyNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyem0xMDAtMTJoLTI0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjIxNmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJWMTg4YzAtNi42MjctNS4zNzMtMTItMTItMTJ6bTEzMi05NmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MTJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtMjB2MzM2YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhIODBjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWMTI4SDEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0xMmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoNzQuNDExbDM0LjAxOC01Ni42OTZBNDggNDggMCAwIDEgMTczLjU4OSAwaDEwMC44MjNhNDggNDggMCAwIDEgNDEuMTYgMjMuMzA0TDM0OS41ODkgODBINDI0em0tMjY5LjYxMSAwaDEzOS4yMjNMMjc2LjE2IDUwLjkxM0E2IDYgMCAwIDAgMjcxLjAxNSA0OGgtOTQuMDI4YTYgNiAwIDAgMC01LjE0NSAyLjkxM0wxNTQuMzg5IDgwek0zNjggMTI4SDgwdjMzMGE2IDYgMCAwIDAgNiA2aDI3NmE2IDYgMCAwIDAgNi02VjEyOHoiXSwKICAgICAgInVzZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjAwNyIsICJNNDIzLjMwOSAyOTEuMDI1TDQwMi4yMjEgMjg1QzQzMS43OTggMjQzLjg5IDQzNiAyMDIuMjk0IDQzNiAxODAgNDM2IDgwLjY0OSAzNTUuNDg0IDAgMjU2IDAgMTU2LjY0OSAwIDc2IDgwLjUxNiA3NiAxODBjMCAyMi4yOTkgNC4xOTggNjMuODg0IDMzLjc3OSAxMDVsLTIxLjA4OCA2LjAyNUMyMS4yOCAzMTAuMjg1IDAgMzcxLjU5IDAgNDA4LjYwNXYyNS42ODFDMCA0NzcuMTM4IDM0Ljg2MiA1MTIgNzcuNzE0IDUxMmgzNTYuNTcxQzQ3Ny4xMzggNTEyIDUxMiA0NzcuMTM4IDUxMiA0MzQuMjg2di0yNS42ODFjMC0zNi4yNDctMjAuNzI1LTk4LjE2MS04OC42OTEtMTE3LjU4ek0yNTYgNDhjNzIuOTAyIDAgMTMyIDU5LjA5OSAxMzIgMTMycy01OS4wOTggMTMyLTEzMiAxMzItMTMyLTU5LjA5OS0xMzItMTMyUzE4My4wOTggNDggMjU2IDQ4em0yMDggMzg2LjI4NmMwIDE2LjQxLTEzLjMwNCAyOS43MTQtMjkuNzE0IDI5LjcxNEg3Ny43MTRDNjEuMzA0IDQ2NCA0OCA0NTAuNjk2IDQ4IDQzNC4yODZ2LTI1LjY4MWMwLTMzLjE2NyAyMS45ODctNjIuMzE2IDUzLjg3OC03MS40MjdsNDYuMTAzLTEzLjE3MkMxNjIuNjgzIDMzNS4wNTggMjAwLjQyNyAzNjAgMjU2IDM2MHM5My4zMTctMjQuOTQyIDEwOC4wMTktMzUuOTk0bDQ2LjEwMyAxMy4xNzJDNDQyLjAxMyAzNDYuMjkgNDY0IDM3NS40MzggNDY0IDQwOC42MDV2MjUuNjgxeiJdLAogICAgICAidXNlci1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjJiZCIsICJNMjU2IDhDMTE5LjAzMyA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4em0wIDQ4YzExMC40NTcgMCAyMDAgODkuNTQzIDIwMCAyMDAgMCAzNi45ODItMTAuMDQ5IDcxLjYxMS0yNy41NDggMTAxLjMyOC03LjA3Mi0yNS40NDQtMjUuNjYzLTU0LjIwOC02My45My02NS4zNzRDMzc3LjIwNyAyNzEuNzgyIDM4NCAyNDguNDE0IDM4NCAyMjRjMC03MC42ODktNTcuMTg5LTEyOC0xMjgtMTI4LTcwLjY4OSAwLTEyOCA1Ny4xOS0xMjggMTI4IDAgMjQuNDE0IDYuNzkzIDQ3Ljc4MyAxOS40NzggNjcuOTU0LTM4LjI5OSAxMS4xNzUtNTYuODc2IDM5LjkxMy02My45MzggNjUuMzYyQzY2LjA0NiAzMjcuNjAxIDU2IDI5Mi45NzYgNTYgMjU2YzAtMTEwLjQ1NyA4OS41NDMtMjAwIDIwMC0yMDB6bTgwIDE2OGMwIDQ0LjE4My0zNS44MTcgODAtODAgODBzLTgwLTM1LjgxNy04MC04MCAzNS44MTctODAgODAtODAgODAgMzUuODE3IDgwIDgwek0xMjggNDA5LjY2OXYtMjcuNzU4YzAtMjAuNDEgMTMuNTMtMzguMzQ4IDMzLjE1Ni00My45NTVsMjQuNDc2LTYuOTkzQzIwNi4zNDIgMzQ0LjY0OCAyMzAuNjA1IDM1MiAyNTYgMzUyczQ5LjY1OC03LjM1MiA3MC4zNjktMjEuMDM4bDI0LjQ3NiA2Ljk5M0MzNzAuNDcgMzQzLjU2MyAzODQgMzYxLjUgMzg0IDM4MS45MTF2MjcuNzU4QzM0OS4zMTUgNDM4LjU5MiAzMDQuNjkzIDQ1NiAyNTYgNDU2cy05My4zMTUtMTcuNDA4LTEyOC00Ni4zMzF6Il0sCiAgICAgICJ3aW5kb3ctY2xvc2UiOiBbNTEyLCA1MTIsIFtdLCAiZjQxMCIsICJNNDY0IDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHptMCAzOTRjMCAzLjMtMi43IDYtNiA2SDU0Yy0zLjMgMC02LTIuNy02LTZWODZjMC0zLjMgMi43LTYgNi02aDQwNGMzLjMgMCA2IDIuNyA2IDZ2MzQwek0zNTYuNSAxOTQuNkwyOTUuMSAyNTZsNjEuNCA2MS40YzQuNiA0LjYgNC42IDEyLjEgMCAxNi44bC0yMi4zIDIyLjNjLTQuNiA0LjYtMTIuMSA0LjYtMTYuOCAwTDI1NiAyOTUuMWwtNjEuNCA2MS40Yy00LjYgNC42LTEyLjEgNC42LTE2LjggMGwtMjIuMy0yMi4zYy00LjYtNC42LTQuNi0xMi4xIDAtMTYuOGw2MS40LTYxLjQtNjEuNC02MS40Yy00LjYtNC42LTQuNi0xMi4xIDAtMTYuOGwyMi4zLTIyLjNjNC42LTQuNiAxMi4xLTQuNiAxNi44IDBsNjEuNCA2MS40IDYxLjQtNjEuNGM0LjYtNC42IDEyLjEtNC42IDE2LjggMGwyMi4zIDIyLjNjNC43IDQuNiA0LjcgMTIuMSAwIDE2Ljh6Il0sCiAgICAgICJ3aW5kb3ctbWF4aW1pemUiOiBbNTEyLCA1MTIsIFtdLCAiZjJkMCIsICJNNDY0IDMySDQ4QzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OHptMCAzOTRjMCAzLjMtMi43IDYtNiA2SDU0Yy0zLjMgMC02LTIuNy02LTZWMTkyaDQxNnYyMzR6Il0sCiAgICAgICJ3aW5kb3ctbWluaW1pemUiOiBbNTEyLCA1MTIsIFtdLCAiZjJkMSIsICJNNDgwIDQ4MEgzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmg0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJ6Il0sCiAgICAgICJ3aW5kb3ctcmVzdG9yZSI6IFs1MTIsIDUxMiwgW10sICJmMmQyIiwgIk00NjQgMEgxNDRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djQ4SDQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHYzMjBjMCAyNi41IDIxLjUgNDggNDggNDhoMzIwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4di00OGg0OGMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OHptLTk2IDQ2NEg0OFYyNTZoMzIwdjIwOHptOTYtOTZoLTQ4VjE0NGMwLTI2LjUtMjEuNS00OC00OC00OEgxNDRWNDhoMzIwdjMyMHoiXQogICAgfTsKICAgIAogICAgYnVua2VyKGZ1bmN0aW9uICgpIHsKICAgICAgZGVmaW5lKCdmYXInLCBpY29ucyk7CiAgICB9KTsKICAgIAogICAgfSgpKTsKICAgIChmdW5jdGlvbiAoKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIHZhciBfV0lORE9XID0ge307CiAgICB0cnkgewogICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIF9XSU5ET1cgPSB3aW5kb3c7CiAgICAgIAogICAgfSBjYXRjaCAoZSkge30KICAgIAogICAgdmFyIF9yZWYgPSBfV0lORE9XLm5hdmlnYXRvciB8fCB7fTsKICAgIHZhciBfcmVmJHVzZXJBZ2VudCA9IF9yZWYudXNlckFnZW50OwogICAgdmFyIHVzZXJBZ2VudCA9IF9yZWYkdXNlckFnZW50ID09PSB1bmRlZmluZWQgPyAnJyA6IF9yZWYkdXNlckFnZW50OwogICAgCiAgICB2YXIgV0lORE9XID0gX1dJTkRPVzsKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICB2YXIgSVNfSUUgPSB+dXNlckFnZW50LmluZGV4T2YoJ01TSUUnKSB8fCB+dXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQvJyk7CiAgICAKICAgIHZhciBOQU1FU1BBQ0VfSURFTlRJRklFUiA9ICdfX19GT05UX0FXRVNPTUVfX18nOwogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgIAogICAgCiAgICB2YXIgUFJPRFVDVElPTiA9IGZ1bmN0aW9uICgpIHsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gInByb2R1Y3Rpb24iID09PSAncHJvZHVjdGlvbic7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0oKTsKICAgIAogICAgdmFyIG9uZVRvVGVuID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXTsKICAgIHZhciBvbmVUb1R3ZW50eSA9IG9uZVRvVGVuLmNvbmNhdChbMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjBdKTsKICAgIAogICAgCiAgICAKICAgIHZhciBSRVNFUlZFRF9DTEFTU0VTID0gWyd4cycsICdzbScsICdsZycsICdmdycsICd1bCcsICdsaScsICdib3JkZXInLCAncHVsbC1sZWZ0JywgJ3B1bGwtcmlnaHQnLCAnc3BpbicsICdwdWxzZScsICdyb3RhdGUtOTAnLCAncm90YXRlLTE4MCcsICdyb3RhdGUtMjcwJywgJ2ZsaXAtaG9yaXpvbnRhbCcsICdmbGlwLXZlcnRpY2FsJywgJ3N0YWNrJywgJ3N0YWNrLTF4JywgJ3N0YWNrLTJ4JywgJ2ludmVyc2UnLCAnbGF5ZXJzJywgJ2xheWVycy10ZXh0JywgJ2xheWVycy1jb3VudGVyJ10uY29uY2F0KG9uZVRvVGVuLm1hcChmdW5jdGlvbiAobikgewogICAgICByZXR1cm4gbiArICd4JzsKICAgIH0pKS5jb25jYXQob25lVG9Ud2VudHkubWFwKGZ1bmN0aW9uIChuKSB7CiAgICAgIHJldHVybiAndy0nICsgbjsKICAgIH0pKTsKICAgIAogICAgZnVuY3Rpb24gYnVua2VyKGZuKSB7CiAgICAgIHRyeSB7CiAgICAgICAgZm4oKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmICghUFJPRFVDVElPTikgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgdmFyIHcgPSBXSU5ET1cgfHwge307CiAgICAKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0pIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnN0eWxlcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5ob29rcyA9IHt9OwogICAgaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zaGltcykgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc2hpbXMgPSBbXTsKICAgIAogICAgdmFyIG5hbWVzcGFjZSA9IHdbTkFNRVNQQUNFX0lERU5USUZJRVJdOwogICAgCiAgICB2YXIgX2V4dGVuZHMgPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsKICAgICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOwogICAgCiAgICAgICAgZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewogICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsKICAgICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gdGFyZ2V0OwogICAgfTsKICAgIAogICAgZnVuY3Rpb24gZGVmaW5lKHByZWZpeCwgaWNvbnMpIHsKICAgICAgdmFyIG5vcm1hbGl6ZWQgPSBPYmplY3Qua2V5cyhpY29ucykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGljb25OYW1lKSB7CiAgICAgICAgdmFyIGljb24gPSBpY29uc1tpY29uTmFtZV07CiAgICAgICAgdmFyIGV4cGFuZGVkID0gISFpY29uLmljb247CiAgICAKICAgICAgICBpZiAoZXhwYW5kZWQpIHsKICAgICAgICAgIGFjY1tpY29uLmljb25OYW1lXSA9IGljb24uaWNvbjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgYWNjW2ljb25OYW1lXSA9IGljb247CiAgICAgICAgfQogICAgICAgIHJldHVybiBhY2M7CiAgICAgIH0sIHt9KTsKICAgIAogICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZS5ob29rcy5hZGRQYWNrID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2socHJlZml4LCBub3JtYWxpemVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gPSBfZXh0ZW5kcyh7fSwgbmFtZXNwYWNlLnN0eWxlc1twcmVmaXhdIHx8IHt9LCBub3JtYWxpemVkKTsKICAgICAgfQogICAgCiAgICAgIC8qKgogICAgICAgKiBGb250IEF3ZXNvbWUgNCB1c2VkIHRoZSBwcmVmaXggb2YgYGZhYCBmb3IgYWxsIGljb25zLiBXaXRoIHRoZSBpbnRyb2R1Y3Rpb24KICAgICAgICogb2YgbmV3IHN0eWxlcyB3ZSBuZWVkZWQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZW0uIFByZWZpeCBgZmFgIGlzIG5vdyBhbiBhbGlhcwogICAgICAgKiBmb3IgYGZhc2Agc28gd2UnbGwgZWFzeSB0aGUgdXBncmFkZSBwcm9jZXNzIGZvciBvdXIgdXNlcnMgYnkgYXV0b21hdGljYWxseSBkZWZpbmluZwogICAgICAgKiB0aGlzIGFzIHdlbGwuCiAgICAgICAqLwogICAgICBpZiAocHJlZml4ID09PSAnZmFzJykgewogICAgICAgIGRlZmluZSgnZmEnLCBpY29ucyk7CiAgICAgIH0KICAgIH0KICAgIAogICAgdmFyIGljb25zID0gewogICAgICAiYWRkcmVzcy1ib29rIjogWzQ0OCwgNTEyLCBbXSwgImYyYjkiLCAiTTQzNiAxNjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjBWNDhjMC0yNi41MS0yMS40OS00OC00OC00OEg0OEMyMS40OSAwIDAgMjEuNDkgMCA0OHY0MTZjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzMjBjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtNDhoMjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtMjB2LTY0aDIwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTIwdi02NGgyMHptLTIyOC0zMmM0NC4xODMgMCA4MCAzNS44MTcgODAgODBzLTM1LjgxNyA4MC04MCA4MC04MC0zNS44MTctODAtODAgMzUuODE3LTgwIDgwLTgwem0xMjggMjMyYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgxMDRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNHYtMTguNTIzYzAtMjIuMDI2IDE0Ljk5LTQxLjIyNSAzNi4zNTgtNDYuNTY3bDM1LjY1Ny04LjkxNGMyOS4xMDEgMjAuOTMyIDc0LjUwOSAyNi45NDUgMTExLjk3IDBsMzUuNjU3IDguOTE0QzMyMS4wMSAzMDAuMjUyIDMzNiAzMTkuNDUyIDMzNiAzNDEuNDc3VjM2MHoiXSwKICAgICAgImFkZHJlc3MtY2FyZCI6IFs1MTIsIDUxMiwgW10sICJmMmJiIiwgIk00NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptLTI4OCA4MGMzOC42NiAwIDcwIDMxLjM0IDcwIDcwcy0zMS4zNCA3MC03MCA3MC03MC0zMS4zNC03MC03MCAzMS4zNC03MCA3MC03MHptMTEyIDIwM2MwIDExLjU5OC05LjQwMiAyMS0yMSAyMUg4NWMtMTEuNTk4IDAtMjEtOS40MDItMjEtMjF2LTE2LjIwN2MwLTE5LjI3MiAxMy4xMTYtMzYuMDcyIDMxLjgxMy00MC43NDZsMzEuMi03LjhjMjUuNDY0IDE4LjMxNiA2NS4xOTUgMjMuNTc3IDk3Ljk3NCAwbDMxLjIgNy44QzI3NC44ODQgMjk0LjcyMSAyODggMzExLjUyIDI4OCAzMzAuNzkzVjM0N3ptMTYwLTM5YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzMyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi04YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTA0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2OHptMC02NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDMzMmMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjh6bTAtNjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzMzJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LThjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMDRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY4eiJdLAogICAgICAiYWRqdXN0IjogWzUxMiwgNTEyLCBbXSwgImYwNDIiLCAiTTggMjU2YzAgMTM2Ljk2NiAxMTEuMDMzIDI0OCAyNDggMjQ4czI0OC0xMTEuMDM0IDI0OC0yNDhTMzkyLjk2NiA4IDI1NiA4IDggMTE5LjAzMyA4IDI1NnptMjQ4IDE4NFY3MmMxMDEuNzA1IDAgMTg0IDgyLjMxMSAxODQgMTg0IDAgMTAxLjcwNS04Mi4zMTEgMTg0LTE4NCAxODR6Il0sCiAgICAgICJhbGlnbi1jZW50ZXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjAzNyIsICJNMzUyIDQ0djQwYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMTEyYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjQ0YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMjI0YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ6TTE2IDIyOGg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0wIDI1Nmg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0zMjAtMjAwSDExMmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDIyNGM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2eiJdLAogICAgICAiYWxpZ24tanVzdGlmeSI6IFs0NDgsIDUxMiwgW10sICJmMDM5IiwgIk0wIDg0VjQ0YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoNDE2YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2NDBjMCA4LjgzNy03LjE2MyAxNi0xNiAxNkgxNmMtOC44MzcgMC0xNi03LjE2My0xNi0xNnptMTYgMTQ0aDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMjU2aDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAtMTI4aDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6Il0sCiAgICAgICJhbGlnbi1sZWZ0IjogWzQ0OCwgNTEyLCBbXSwgImYwMzYiLCAiTTI4OCA0NHY0MGMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDE2Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjQ0YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMjU2YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ6TTAgMTcydjQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ6bTE2IDMxMmg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0yNTYtMjAwSDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMjU2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZ6Il0sCiAgICAgICJhbGlnbi1yaWdodCI6IFs0NDgsIDUxMiwgW10sICJmMDM4IiwgIk0xNjAgODRWNDRjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgyNTZjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnY0MGMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDE3NmMtOC44MzcgMC0xNi03LjE2My0xNi0xNnpNMTYgMjI4aDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMjU2aDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTE2MC0xMjhoMjU2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTc2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6Il0sCiAgICAgICJhbWJ1bGFuY2UiOiBbNjQwLCA1MTIsIFtdLCAiZjBmOSIsICJNNTkyIDBIMjcyYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djQ4aC00NC4xMThhNDggNDggMCAwIDAtMzMuOTQxIDE0LjA1OWwtOTkuODgyIDk5Ljg4MkE0OCA0OCAwIDAgMCAzMiAyNDMuODgyVjM1MmgtOGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE2YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg0MGMwIDUzLjAxOSA0Mi45ODEgOTYgOTYgOTZzOTYtNDIuOTgxIDk2LTk2aDEyOGMwIDUzLjAxOSA0Mi45ODEgOTYgOTYgOTZzOTYtNDIuOTgxIDk2LTk2aDQwYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY0OGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0xNjAgNDY0Yy0yNi40NjcgMC00OC0yMS41MzMtNDgtNDhzMjEuNTMzLTQ4IDQ4LTQ4IDQ4IDIxLjUzMyA0OCA0OC0yMS41MzMgNDgtNDggNDh6bTY0LTIwOEg4MHYtMTIuMTE4TDE3OS44ODIgMTQ0SDIyNHYxMTJ6bTI1NiAyMDhjLTI2LjQ2NyAwLTQ4LTIxLjUzMy00OC00OHMyMS41MzMtNDggNDgtNDggNDggMjEuNTMzIDQ4IDQ4LTIxLjUzMyA0OC00OCA0OHptMzItMjg4djMyYzAgNi42MjctNS4zNzMgMTItMTIgMTJoLTU2djU2YzAgNi42MjctNS4zNzMgMTItMTIgMTJoLTMyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi01NmgtNTZjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTMyYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoNTZ2LTU2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMzJjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY1Nmg1NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEyeiJdLAogICAgICAiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciOiBbNjQwLCA1MTIsIFtdLCAiZjJhMyIsICJNMjkwLjU0NyAxODkuMDM5Yy0yMC4yOTUtMTAuMTQ5LTQ0LjE0Ny0xMS4xOTktNjQuNzM5LTMuODkgNDIuNjA2IDAgNzEuMjA4IDIwLjQ3NSA4NS41NzggNTAuNTc2IDguNTc2IDE3Ljg5OS01LjE0OCAzOC4wNzEtMjMuNjE3IDM4LjA3MSAxOC40MjkgMCAzMi4yMTEgMjAuMTM2IDIzLjYxNyAzOC4wNzEtMTQuNzI1IDMwLjg0Ni00Ni4xMjMgNTAuODU0LTgwLjI5OCA1MC44NTQtLjU1NyAwLTk0LjQ3MS04LjYxNS05NC40NzEtOC42MTVsLTY2LjQwNiAzMy4zNDdjLTkuMzg0IDQuNjkzLTE5LjgxNS4zNzktMjMuODk1LTcuNzgxTDEuODYgMjkwLjc0N2MtNC4xNjctOC42MTUtMS4xMTEtMTguODk3IDYuOTQ2LTIzLjYyMWw1OC4wNzItMzMuMDY5TDEwOCAxNTkuODYxYzYuMzktNTcuMjQ1IDM0LjczMS0xMDkuNzY3IDc5Ljc0My0xNDYuNzI2IDExLjM5MS05LjQ0OCAyOC4zNDEtNy43ODEgMzcuNTEgMy42MTMgOS40NDYgMTEuMzk0IDcuNzggMjguMDY3LTMuNjEyIDM3LjUxNi0xMi41MDMgMTAuNTU5LTIzLjYxOCAyMi41MDktMzIuNTA5IDM1LjU3IDIxLjY3Mi0xNC43MjkgNDYuNjc5LTI0LjczMiA3NC4xODYtMjguMDY3IDE0LjcyNS0xLjk0NSAyOC4wNjMgOC4zMzYgMjkuNzMgMjMuMDY1IDEuOTQ1IDE0LjcyOC04LjMzNiAyOC4wNjctMjMuMDYyIDI5LjczNC0xNi4xMTYgMS45NDUtMzEuMTIgNy41MDMtNDQuMTc4IDE1LjI4NCAyNi4xMTQtNS43MTMgNTguNzEyLTMuMTM4IDg4LjA3OSAxMS4xMTUgMTMuMzM2IDYuNjY5IDE4Ljg5MyAyMi41MDkgMTIuMjI0IDM1Ljg0OC02LjM4OSAxMy4wNi0yMi41MDQgMTguNjE3LTM1LjU2NCAxMi4yMjZ6bS0yNy4yMjkgNjkuNDcyYy02LjExMi0xMi41MDUtMTguMzM4LTIwLjI4Ni0zMi4yMzEtMjAuMjg2YTM1LjQ2IDM1LjQ2IDAgMCAwLTM1LjU2NSAzNS41N2MwIDIxLjQyOCAxNy44MDggMzUuNTcgMzUuNTY1IDM1LjU3IDEzLjg5MyAwIDI2LjExOS03Ljc4MSAzMi4yMzEtMjAuMjg2IDQuNDQ2LTkuNDQ5IDEzLjYxNC0xNS4wMDYgMjMuMzM5LTE1LjI4NC05LjcyNS0uMjc3LTE4Ljg5My01LjgzNS0yMy4zMzktMTUuMjg0em0zNzQuODIxLTM3LjIzN2M0LjE2OCA4LjYxNSAxLjExMSAxOC44OTctNi45NDYgMjMuNjIxbC01OC4wNzEgMzMuMDY5TDUzMiAzNTIuMTZjLTYuMzkgNTcuMjQ1LTM0LjczMSAxMDkuNzY3LTc5Ljc0MyAxNDYuNzI2LTEwLjkzMiA5LjExMi0yNy43OTkgOC4xNDQtMzcuNTEtMy42MTMtOS40NDYtMTEuMzk0LTcuNzgtMjguMDY3IDMuNjEzLTM3LjUxNiAxMi41MDMtMTAuNTU5IDIzLjYxNy0yMi41MDkgMzIuNTA4LTM1LjU3LTIxLjY3MiAxNC43MjktNDYuNjc5IDI0LjczMi03NC4xODYgMjguMDY3LTEwLjAyMSAyLjUwNi0yNy41NTItNS42NDMtMjkuNzMtMjMuMDY1LTEuOTQ1LTE0LjcyOCA4LjMzNi0yOC4wNjcgMjMuMDYyLTI5LjczNCAxNi4xMTYtMS45NDYgMzEuMTItNy41MDMgNDQuMTc4LTE1LjI4NC0yNi4xMTQgNS43MTMtNTguNzEyIDMuMTM4LTg4LjA3OS0xMS4xMTUtMTMuMzM2LTYuNjY5LTE4Ljg5My0yMi41MDktMTIuMjI0LTM1Ljg0OCA2LjM4OS0xMy4wNjEgMjIuNTA1LTE4LjYxOSAzNS41NjUtMTIuMjI3IDIwLjI5NSAxMC4xNDkgNDQuMTQ3IDExLjE5OSA2NC43MzkgMy44OS00Mi42MDYgMC03MS4yMDgtMjAuNDc1LTg1LjU3OC01MC41NzYtOC41NzYtMTcuODk5IDUuMTQ4LTM4LjA3MSAyMy42MTctMzguMDcxLTE4LjQyOSAwLTMyLjIxMS0yMC4xMzYtMjMuNjE3LTM4LjA3MSAxNC4wMzMtMjkuMzk2IDQ0LjAzOS01MC44ODcgODEuOTY2LTUwLjg1NGw5Mi44MDMgOC42MTUgNjYuNDA2LTMzLjM0N2M5LjQwOC00LjcwNCAxOS44MjgtLjM1NCAyMy44OTQgNy43ODFsNDQuNDU1IDg4LjkyNnptLTIyOS4yMjctMTguNjE4Yy0xMy44OTMgMC0yNi4xMTkgNy43ODEtMzIuMjMxIDIwLjI4Ni00LjQ0NiA5LjQ0OS0xMy42MTQgMTUuMDA2LTIzLjMzOSAxNS4yODQgOS43MjUuMjc4IDE4Ljg5MyA1LjgzNiAyMy4zMzkgMTUuMjg0IDYuMTEyIDEyLjUwNSAxOC4zMzggMjAuMjg2IDMyLjIzMSAyMC4yODZhMzUuNDYgMzUuNDYgMCAwIDAgMzUuNTY1LTM1LjU3YzAtMjEuNDI5LTE3LjgwOC0zNS41Ny0zNS41NjUtMzUuNTd6Il0sCiAgICAgICJhbmNob3IiOiBbNTc2LCA1MTIsIFtdLCAiZjEzZCIsICJNMTIuOTcxIDM1MmgzMi4zOTRDNjcuMTcyIDQ1NC43MzUgMTgxLjk0NCA1MTIgMjg4IDUxMmMxMDYuMjI5IDAgMjIwLjg1My01Ny4zOCAyNDIuNjM1LTE2MGgzMi4zOTRjMTAuNjkxIDAgMTYuMDQ1LTEyLjkyNiA4LjQ4NS0yMC40ODVsLTY3LjAyOS02Ny4wMjljLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NzEgMGwtNjcuMDI5IDY3LjAyOWMtNy41NiA3LjU2LTIuMjA2IDIwLjQ4NSA4LjQ4NSAyMC40ODVoMzUuMTQ2Yy0yMC4yOSA1NC4zMTctODQuOTYzIDg2LjU4OC0xNDQuMTE3IDk0LjAxNVYyNTZoNTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNTJ2LTUuNDdjMzcuMjgxLTEzLjE3OCA2My45OTUtNDguNzI1IDY0LTkwLjUxOEMzODQuMDA1IDQzLjc3MiAzNDEuNjA1LjczOCAyODkuMzcuMDEgMjM1LjcyMy0uNzM5IDE5MiA0Mi41MjUgMTkyIDk2YzAgNDEuNzk4IDI2LjcxNiA3Ny4zNSA2NCA5MC41M1YxOTJoLTUyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTJ2MTkwLjAxNWMtNTguOTM2LTcuMzk5LTEyMy44Mi0zOS42NzktMTQ0LjExNy05NC4wMTVoMzUuMTQ2YzEwLjY5MSAwIDE2LjA0NS0xMi45MjYgOC40ODUtMjAuNDg1bC02Ny4wMjktNjcuMDI5Yy00LjY4Ni00LjY4Ni0xMi4yODQtNC42ODYtMTYuOTcxIDBMNC40ODUgMzMxLjUxNUMtMy4wNzQgMzM5LjA3NCAyLjI4IDM1MiAxMi45NzEgMzUyek0yODggNjRjMTcuNjQ1IDAgMzIgMTQuMzU1IDMyIDMycy0xNC4zNTUgMzItMzIgMzItMzItMTQuMzU1LTMyLTMyIDE0LjM1NS0zMiAzMi0zMnoiXSwKICAgICAgImFuZ2xlLWRvdWJsZS1kb3duIjogWzMyMCwgNTEyLCBbXSwgImYxMDMiLCAiTTE0MyAyNTYuM0w3IDEyMC4zYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWwyMi42LTIyLjZjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsOTYuNCA5Ni40IDk2LjQtOTYuNGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzMTMgODYuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtMTM2IDEzNmMtOS40IDkuNS0yNC42IDkuNS0zNCAuMXptMzQgMTkybDEzNi0xMzZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTIyLjYtMjIuNmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMMTYwIDM1Mi4xbC05Ni40LTk2LjRjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDcgMjc4LjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDEzNiAxMzZjOS40IDkuNSAyNC42IDkuNSAzNCAuMXoiXSwKICAgICAgImFuZ2xlLWRvdWJsZS1sZWZ0IjogWzQ0OCwgNTEyLCBbXSwgImYxMDAiLCAiTTIyMy43IDIzOWwxMzYtMTM2YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDIyLjYgMjIuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwzMTkuOSAyNTZsOTYuNCA5Ni40YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDM5My43IDQwOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTEzNi0xMzZjLTkuNS05LjQtOS41LTI0LjYtLjEtMzR6bS0xOTIgMzRsMTM2IDEzNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGwyMi42LTIyLjZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMTI3LjkgMjU2bDk2LjQtOTYuNGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwyMDEuNyAxMDNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0xMzYgMTM2Yy05LjUgOS40LTkuNSAyNC42LS4xIDM0eiJdLAogICAgICAiYW5nbGUtZG91YmxlLXJpZ2h0IjogWzQ0OCwgNTEyLCBbXSwgImYxMDEiLCAiTTIyNC4zIDI3M2wtMTM2IDEzNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTIyLjYtMjIuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsOTYuNC05Ni40LTk2LjQtOTYuNGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMNTQuMyAxMDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTM2IDEzNmM5LjUgOS40IDkuNSAyNC42LjEgMzR6bTE5Mi0zNGwtMTM2LTEzNmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTIyLjYgMjIuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsOTYuNCA5Ni40LTk2LjQgOTYuNGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMjIuNiAyMi42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDEzNi0xMzZjOS40LTkuMiA5LjQtMjQuNCAwLTMzLjh6Il0sCiAgICAgICJhbmdsZS1kb3VibGUtdXAiOiBbMzIwLCA1MTIsIFtdLCAiZjEwMiIsICJNMTc3IDI1NS43bDEzNiAxMzZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTIyLjYgMjIuNmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTYwIDM1MS45bC05Ni40IDk2LjRjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDcgNDI1LjdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDEzNi0xMzZjOS40LTkuNSAyNC42LTkuNSAzNC0uMXptLTM0LTE5Mkw3IDE5OS43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwyMi42IDIyLjZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsOTYuNC05Ni40IDk2LjQgOTYuNGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGwyMi42LTIyLjZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTEzNi0xMzZjLTkuMi05LjQtMjQuNC05LjQtMzMuOCAweiJdLAogICAgICAiYW5nbGUtZG93biI6IFszMjAsIDUxMiwgW10sICJmMTA3IiwgIk0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiXSwKICAgICAgImFuZ2xlLWxlZnQiOiBbMjU2LCA1MTIsIFtdLCAiZjEwNCIsICJNMzEuNyAyMzlsMTM2LTEzNmM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwyMi42IDIyLjZjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMMTI3LjkgMjU2bDk2LjQgOTYuNGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyMDEuNyA0MDljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC0xMzYtMTM2Yy05LjUtOS40LTkuNS0yNC42LS4xLTM0eiJdLAogICAgICAiYW5nbGUtcmlnaHQiOiBbMjU2LCA1MTIsIFtdLCAiZjEwNSIsICJNMjI0LjMgMjczbC0xMzYgMTM2Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMjIuNi0yMi42Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw5Ni40LTk2LjQtOTYuNC05Ni40Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUw1NC4zIDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxMzYgMTM2YzkuNSA5LjQgOS41IDI0LjYuMSAzNHoiXSwKICAgICAgImFuZ2xlLXVwIjogWzMyMCwgNTEyLCBbXSwgImYxMDYiLCAiTTE3NyAxNTkuN2wxMzYgMTM2YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0yMi42IDIyLjZjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDE2MCAyNTUuOWwtOTYuNCA5Ni40Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEw3IDMyOS43Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWwxMzYtMTM2YzkuNC05LjUgMjQuNi05LjUgMzQtLjF6Il0sCiAgICAgICJhcmNoaXZlIjogWzUxMiwgNTEyLCBbXSwgImYxODciLCAiTTQ4OCAxMjhIMjRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFY1NmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoNDY0YzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHY0OGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjR6bS04IDMyOFYxODRjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDU2Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MjcyYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg0MDBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0ek0zMDggMjU2SDIwNGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjhjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnoiXSwKICAgICAgImFycm93LWFsdC1jaXJjbGUtZG93biI6IFs1MTIsIDUxMiwgW10sICJmMzU4IiwgIk01MDQgMjU2YzAgMTM3LTExMSAyNDgtMjQ4IDI0OFM4IDM5MyA4IDI1NiAxMTkgOCAyNTYgOHMyNDggMTExIDI0OCAyNDh6TTIxMiAxNDB2MTE2aC03MC45Yy0xMC43IDAtMTYuMSAxMy04LjUgMjAuNWwxMTQuOSAxMTQuM2M0LjcgNC43IDEyLjIgNC43IDE2LjkgMGwxMTQuOS0xMTQuM2M3LjYtNy42IDIuMi0yMC41LTguNS0yMC41SDMwMFYxNDBjMC02LjYtNS40LTEyLTEyLTEyaC02NGMtNi42IDAtMTIgNS40LTEyIDEyeiJdLAogICAgICAiYXJyb3ctYWx0LWNpcmNsZS1sZWZ0IjogWzUxMiwgNTEyLCBbXSwgImYzNTkiLCAiTTI1NiA1MDRDMTE5IDUwNCA4IDM5MyA4IDI1NlMxMTkgOCAyNTYgOHMyNDggMTExIDI0OCAyNDgtMTExIDI0OC0yNDggMjQ4em0xMTYtMjkySDI1NnYtNzAuOWMwLTEwLjctMTMtMTYuMS0yMC41LTguNUwxMjEuMiAyNDcuNWMtNC43IDQuNy00LjcgMTIuMiAwIDE2LjlsMTE0LjMgMTE0LjljNy42IDcuNiAyMC41IDIuMiAyMC41LTguNVYzMDBoMTE2YzYuNiAwIDEyLTUuNCAxMi0xMnYtNjRjMC02LjYtNS40LTEyLTEyLTEyeiJdLAogICAgICAiYXJyb3ctYWx0LWNpcmNsZS1yaWdodCI6IFs1MTIsIDUxMiwgW10sICJmMzVhIiwgIk0yNTYgOGMxMzcgMCAyNDggMTExIDI0OCAyNDhTMzkzIDUwNCAyNTYgNTA0IDggMzkzIDggMjU2IDExOSA4IDI1NiA4ek0xNDAgMzAwaDExNnY3MC45YzAgMTAuNyAxMyAxNi4xIDIwLjUgOC41bDExNC4zLTExNC45YzQuNy00LjcgNC43LTEyLjIgMC0xNi45bC0xMTQuMy0xMTVjLTcuNi03LjYtMjAuNS0yLjItMjAuNSA4LjVWMjEySDE0MGMtNi42IDAtMTIgNS40LTEyIDEydjY0YzAgNi42IDUuNCAxMiAxMiAxMnoiXSwKICAgICAgImFycm93LWFsdC1jaXJjbGUtdXAiOiBbNTEyLCA1MTIsIFtdLCAiZjM1YiIsICJNOCAyNTZDOCAxMTkgMTE5IDggMjU2IDhzMjQ4IDExMSAyNDggMjQ4LTExMSAyNDgtMjQ4IDI0OFM4IDM5MyA4IDI1NnptMjkyIDExNlYyNTZoNzAuOWMxMC43IDAgMTYuMS0xMyA4LjUtMjAuNUwyNjQuNSAxMjEuMmMtNC43LTQuNy0xMi4yLTQuNy0xNi45IDBsLTExNSAxMTQuM2MtNy42IDcuNi0yLjIgMjAuNSA4LjUgMjAuNUgyMTJ2MTE2YzAgNi42IDUuNCAxMiAxMiAxMmg2NGM2LjYgMCAxMi01LjQgMTItMTJ6Il0sCiAgICAgICJhcnJvdy1jaXJjbGUtZG93biI6IFs1MTIsIDUxMiwgW10sICJmMGFiIiwgIk01MDQgMjU2YzAgMTM3LTExMSAyNDgtMjQ4IDI0OFM4IDM5MyA4IDI1NiAxMTkgOCAyNTYgOHMyNDggMTExIDI0OCAyNDh6bS0xNDMuNi0yOC45TDI4OCAzMDIuNlYxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRoLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxODIuNmwtNzIuNC03NS41Yy05LjMtOS43LTI0LjgtOS45LTM0LjMtLjRsLTEwLjkgMTFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45TDIzOSA0MDQuM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMGwxMzIuNy0xMzIuN2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtMTAuOS0xMWMtOS41LTkuNS0yNS05LjMtMzQuMy40eiJdLAogICAgICAiYXJyb3ctY2lyY2xlLWxlZnQiOiBbNTEyLCA1MTIsIFtdLCAiZjBhOCIsICJNMjU2IDUwNEMxMTkgNTA0IDggMzkzIDggMjU2UzExOSA4IDI1NiA4czI0OCAxMTEgMjQ4IDI0OC0xMTEgMjQ4LTI0OCAyNDh6bTI4LjktMTQzLjZMMjA5LjQgMjg4SDM5MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHYtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRIMjA5LjRsNzUuNS03Mi40YzkuNy05LjMgOS45LTI0LjguNC0zNC4zbC0xMS0xMC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwxMDcuNyAyMzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDEzMi43IDEzMi43YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDExLTEwLjljOS41LTkuNSA5LjMtMjUtLjQtMzQuM3oiXSwKICAgICAgImFycm93LWNpcmNsZS1yaWdodCI6IFs1MTIsIDUxMiwgW10sICJmMGE5IiwgIk0yNTYgOGMxMzcgMCAyNDggMTExIDI0OCAyNDhTMzkzIDUwNCAyNTYgNTA0IDggMzkzIDggMjU2IDExOSA4IDI1NiA4em0tMjguOSAxNDMuNmw3NS41IDcyLjRIMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxODIuNmwtNzUuNSA3Mi40Yy05LjcgOS4zLTkuOSAyNC44LS40IDM0LjNsMTEgMTAuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMEw0MDQuMyAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjcxLjYgMTA2LjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0xMSAxMC45Yy05LjUgOS42LTkuMyAyNS4xLjQgMzQuNHoiXSwKICAgICAgImFycm93LWNpcmNsZS11cCI6IFs1MTIsIDUxMiwgW10sICJmMGFhIiwgIk04IDI1NkM4IDExOSAxMTkgOCAyNTYgOHMyNDggMTExIDI0OCAyNDgtMTExIDI0OC0yNDggMjQ4UzggMzkzIDggMjU2em0xNDMuNiAyOC45bDcyLjQtNzUuNVYzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMjA5LjRsNzIuNCA3NS41YzkuMyA5LjcgMjQuOCA5LjkgMzQuMy40bDEwLjktMTFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjczIDEwNy43Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwxMDYuMyAyNDAuNGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMTAuOSAxMWM5LjYgOS41IDI1LjEgOS4zIDM0LjQtLjR6Il0sCiAgICAgICJhcnJvdy1kb3duIjogWzQ0OCwgNTEyLCBbXSwgImYwNjMiLCAiTTQxMy4xIDIyMi41bDIyLjIgMjIuMmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgNDczYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwxMi43IDI3OC42Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWwyMi4yLTIyLjJjOS41LTkuNSAyNS05LjMgMzQuMy40TDE4NCAzNDMuNFY1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHYyODcuNGwxMTQuOC0xMjAuNWM5LjMtOS44IDI0LjgtMTAgMzQuMy0uNHoiXSwKICAgICAgImFycm93LWxlZnQiOiBbNDQ4LCA1MTIsIFtdLCAiZjA2MCIsICJNMjU3LjUgNDQ1LjFsLTIyLjIgMjIuMmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDIwMS40IDQ0LjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuMiAyMi4yYzkuNSA5LjUgOS4zIDI1LS40IDM0LjNMMTM2LjYgMjE2SDQyNGMxMy4zIDAgMjQgMTAuNyAyNCAyNHYzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNEgxMzYuNmwxMjAuNSAxMTQuOGM5LjggOS4zIDEwIDI0LjguNCAzNC4zeiJdLAogICAgICAiYXJyb3ctcmlnaHQiOiBbNDQ4LCA1MTIsIFtdLCAiZjA2MSIsICJNMTkwLjUgNjYuOWwyMi4yLTIyLjJjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMNDQxIDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDYuNiA0NjcuM2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBsLTIyLjItMjIuMmMtOS41LTkuNS05LjMtMjUgLjQtMzQuM0wzMTEuNCAyOTZIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0di0zMmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgyODcuNEwxOTAuOSAxMDEuMmMtOS44LTkuMy0xMC0yNC44LS40LTM0LjN6Il0sCiAgICAgICJhcnJvdy11cCI6IFs0NDgsIDUxMiwgW10sICJmMDYyIiwgIk0zNC45IDI4OS41bC0yMi4yLTIyLjJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDIwNyAzOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxOTQuMyAxOTQuM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOUw0MTMgMjg5LjRjLTkuNSA5LjUtMjUgOS4zLTM0LjMtLjRMMjY0IDE2OC42VjQ1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNGgtMzJjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjE2OC42TDY5LjIgMjg5LjFjLTkuMyA5LjgtMjQuOCAxMC0zNC4zLjR6Il0sCiAgICAgICJhcnJvd3MtYWx0IjogWzUxMiwgNTEyLCBbXSwgImYwYjIiLCAiTTM1Mi4yMDEgNDI1Ljc3NWwtNzkuMTk2IDc5LjE5NmMtOS4zNzMgOS4zNzMtMjQuNTY4IDkuMzczLTMzLjk0MSAwbC03OS4xOTYtNzkuMTk2Yy0xNS4xMTktMTUuMTE5LTQuNDExLTQwLjk3MSAxNi45NzEtNDAuOTdoNTEuMTYyTDIyOCAyODRIMTI3LjE5NnY1MS4xNjJjMCAyMS4zODItMjUuODUxIDMyLjA5LTQwLjk3MSAxNi45NzFMNy4wMjkgMjcyLjkzN2MtOS4zNzMtOS4zNzMtOS4zNzMtMjQuNTY5IDAtMzMuOTQxTDg2LjIyNSAxNTkuOGMxNS4xMTktMTUuMTE5IDQwLjk3MS00LjQxMSA0MC45NzEgMTYuOTcxVjIyOEgyMjhWMTI3LjE5NmgtNTEuMjNjLTIxLjM4MiAwLTMyLjA5LTI1Ljg1MS0xNi45NzEtNDAuOTcxbDc5LjE5Ni03OS4xOTZjOS4zNzMtOS4zNzMgMjQuNTY4LTkuMzczIDMzLjk0MSAwbDc5LjE5NiA3OS4xOTZjMTUuMTE5IDE1LjExOSA0LjQxMSA0MC45NzEtMTYuOTcxIDQwLjk3MWgtNTEuMTYyVjIyOGgxMDAuODA0di01MS4xNjJjMC0yMS4zODIgMjUuODUxLTMyLjA5IDQwLjk3LTE2Ljk3MWw3OS4xOTYgNzkuMTk2YzkuMzczIDkuMzczIDkuMzczIDI0LjU2OSAwIDMzLjk0MUw0MjUuNzczIDM1Mi4yYy0xNS4xMTkgMTUuMTE5LTQwLjk3MSA0LjQxMS00MC45Ny0xNi45NzFWMjg0SDI4NHYxMDAuODA0aDUxLjIzYzIxLjM4MiAwIDMyLjA5IDI1Ljg1MSAxNi45NzEgNDAuOTcxeiJdLAogICAgICAiYXJyb3dzLWFsdC1oIjogWzUxMiwgNTEyLCBbXSwgImYzMzciLCAiTTM3Ny45NDEgMTY5Ljk0MVYyMTZIMTM0LjA1OXYtNDYuMDU5YzAtMjEuMzgyLTI1Ljg1MS0zMi4wOS00MC45NzEtMTYuOTcxTDcuMDI5IDIzOS4wMjljLTkuMzczIDkuMzczLTkuMzczIDI0LjU2OCAwIDMzLjk0MWw4Ni4wNTkgODYuMDU5YzE1LjExOSAxNS4xMTkgNDAuOTcxIDQuNDExIDQwLjk3MS0xNi45NzFWMjk2aDI0My44ODJ2NDYuMDU5YzAgMjEuMzgyIDI1Ljg1MSAzMi4wOSA0MC45NzEgMTYuOTcxbDg2LjA1OS04Ni4wNTljOS4zNzMtOS4zNzMgOS4zNzMtMjQuNTY4IDAtMzMuOTQxbC04Ni4wNTktODYuMDU5Yy0xNS4xMTktMTUuMTItNDAuOTcxLTQuNDEyLTQwLjk3MSAxNi45N3oiXSwKICAgICAgImFycm93cy1hbHQtdiI6IFsyNTYsIDUxMiwgW10sICJmMzM4IiwgIk0yMTQuMDU5IDM3Ny45NDFIMTY4VjEzNC4wNTloNDYuMDU5YzIxLjM4MiAwIDMyLjA5LTI1Ljg1MSAxNi45NzEtNDAuOTcxTDE0NC45NzEgNy4wMjljLTkuMzczLTkuMzczLTI0LjU2OC05LjM3My0zMy45NDEgMEwyNC45NzEgOTMuMDg4Yy0xNS4xMTkgMTUuMTE5LTQuNDExIDQwLjk3MSAxNi45NzEgNDAuOTcxSDg4djI0My44ODJINDEuOTQxYy0yMS4zODIgMC0zMi4wOSAyNS44NTEtMTYuOTcxIDQwLjk3MWw4Ni4wNTkgODYuMDU5YzkuMzczIDkuMzczIDI0LjU2OCA5LjM3MyAzMy45NDEgMGw4Ni4wNTktODYuMDU5YzE1LjEyLTE1LjExOSA0LjQxMi00MC45NzEtMTYuOTctNDAuOTcxeiJdLAogICAgICAiYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zIjogWzUxMiwgNTEyLCBbXSwgImYyYTIiLCAiTTIxNiAyNjBjMCAxNS40NjQtMTIuNTM2IDI4LTI4IDI4cy0yOC0xMi41MzYtMjgtMjhjMC00NC4xMTIgMzUuODg4LTgwIDgwLTgwczgwIDM1Ljg4OCA4MCA4MGMwIDE1LjQ2NC0xMi41MzYgMjgtMjggMjhzLTI4LTEyLjUzNi0yOC0yOGMwLTEzLjIzNC0xMC43NjctMjQtMjQtMjRzLTI0IDEwLjc2Ni0yNCAyNHptMjQtMTc2Yy05Ny4wNDcgMC0xNzYgNzguOTUzLTE3NiAxNzYgMCAxNS40NjQgMTIuNTM2IDI4IDI4IDI4czI4LTEyLjUzNiAyOC0yOGMwLTY2LjE2OCA1My44MzItMTIwIDEyMC0xMjBzMTIwIDUzLjgzMiAxMjAgMTIwYzAgNzUuMTY0LTcxLjAwOSA3MC4zMTEtNzEuOTk3IDE0My42MjJMMjg4IDQwNGMwIDI4LjY3My0yMy4zMjcgNTItNTIgNTItMTUuNDY0IDAtMjggMTIuNTM2LTI4IDI4czEyLjUzNiAyOCAyOCAyOGM1OS40NzUgMCAxMDcuODc2LTQ4LjMyOCAxMDgtMTA3Ljc3NC41OTUtMzQuNDI4IDcyLTQ4LjI0IDcyLTE0NC4yMjYgMC05Ny4wNDctNzguOTUzLTE3Ni0xNzYtMTc2em0tODAgMjM2Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6TTMyIDQ0OGMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMyczE0LjMyNyAzMiAzMiAzMiAzMi0xNC4zMjcgMzItMzItMTQuMzI3LTMyLTMyLTMyem00ODAtMTg3Ljk5M2MwLTEuNTE4LS4wMTItMy4wMjUtLjA0NS00LjUzMUM1MTAuMDc2IDE0MC41MjUgNDM2LjE1NyAzOC40NyAzMjcuOTk0IDEuNTExYy0xNC42MzMtNC45OTgtMzAuNTQ5IDIuODA5LTM1LjU1IDE3LjQ0Mi01IDE0LjYzMyAyLjgxIDMwLjU0OSAxNy40NDIgMzUuNTUgODUuOTA2IDI5LjM1NCAxNDQuNjEgMTEwLjUxMyAxNDYuMDc3IDIwMS45NTNsLjAwMy4xODhjLjAyNiAxLjExOC4wMzMgMi4yMzYuMDMzIDMuMzYzIDAgMTUuNDY0IDEyLjUzNiAyOCAyOCAyOHMyOC4wMDEtMTIuNTM2IDI4LjAwMS0yOHpNMTUyLjk3MSA0MzkuMDI5bC04MC04MEwzOS4wMyAzOTIuOTdsODAgODAgMzMuOTQxLTMzLjk0MXoiXSwKICAgICAgImFzdGVyaXNrIjogWzUxMiwgNTEyLCBbXSwgImYwNjkiLCAiTTQ3OC4yMSAzMzQuMDkzTDMzNiAyNTZsMTQyLjIxLTc4LjA5M2MxMS43OTUtNi40NzcgMTUuOTYxLTIxLjM4NCA5LjIzMi0zMy4wMzdsLTE5LjQ4LTMzLjc0MWMtNi43MjgtMTEuNjUzLTIxLjcyLTE1LjQ5OS0zMy4yMjctOC41MjNMMjk2IDE4Ni43MThsMy40NzUtMTYyLjIwNEMyOTkuNzYzIDExLjA2MSAyODguOTM3IDAgMjc1LjQ4IDBoLTM4Ljk2Yy0xMy40NTYgMC0yNC4yODMgMTEuMDYxLTIzLjk5NCAyNC41MTRMMjE2IDE4Ni43MTggNzcuMjY1IDEwMi42MDdjLTExLjUwNi02Ljk3Ni0yNi40OTktMy4xMy0zMy4yMjcgOC41MjNsLTE5LjQ4IDMzLjc0MWMtNi43MjggMTEuNjUzLTIuNTYyIDI2LjU2IDkuMjMzIDMzLjAzN0wxNzYgMjU2IDMzLjc5IDMzNC4wOTNjLTExLjc5NSA2LjQ3Ny0xNS45NjEgMjEuMzg0LTkuMjMyIDMzLjAzN2wxOS40OCAzMy43NDFjNi43MjggMTEuNjUzIDIxLjcyMSAxNS40OTkgMzMuMjI3IDguNTIzTDIxNiAzMjUuMjgybC0zLjQ3NSAxNjIuMjA0QzIxMi4yMzcgNTAwLjkzOSAyMjMuMDY0IDUxMiAyMzYuNTIgNTEyaDM4Ljk2MWMxMy40NTYgMCAyNC4yODMtMTEuMDYxIDIzLjk5NS0yNC41MTRMMjk2IDMyNS4yODJsMTM4LjczNSA4NC4xMTFjMTEuNTA2IDYuOTc2IDI2LjQ5OSAzLjEzIDMzLjIyNy04LjUyM2wxOS40OC0zMy43NDFjNi43MjgtMTEuNjUzIDIuNTYzLTI2LjU1OS05LjIzMi0zMy4wMzZ6Il0sCiAgICAgICJhdCI6IFs1MTIsIDUxMiwgW10sICJmMWZhIiwgIk0yNTYgOEMxMTguOTQxIDggOCAxMTguOTE5IDggMjU2YzAgMTM3LjA1OSAxMTAuOTE5IDI0OCAyNDggMjQ4IDQ4LjE1NCAwIDk1LjM0Mi0xNC4xNCAxMzUuNDA4LTQwLjIyMyAxMi4wMDUtNy44MTUgMTQuNjI1LTI0LjI4OCA1LjU1Mi0zNS4zNzJsLTEwLjE3Ny0xMi40MzNjLTcuNjcxLTkuMzcxLTIxLjE3OS0xMS42NjctMzEuMzczLTUuMTI5QzMyNS45MiA0MjkuNzU3IDI5MS4zMTQgNDQwIDI1NiA0NDBjLTEwMS40NTggMC0xODQtODIuNTQyLTE4NC0xODRTMTU0LjU0MiA3MiAyNTYgNzJjMTAwLjEzOSAwIDE4NCA1Ny42MTkgMTg0IDE2MCAwIDM4Ljc4Ni0yMS4wOTMgNzkuNzQyLTU4LjE3IDgzLjY5My0xNy4zNDktLjQ1NC0xNi45MS0xMi44NTctMTMuNDc2LTMwLjAyNGwyMy40MzMtMTIxLjExQzM5NC42NTMgMTQ5Ljc1IDM4My4zMDggMTM2IDM2OC4yMjUgMTM2aC00NC45ODFhMTMuNTE4IDEzLjUxOCAwIDAgMC0xMy40MzIgMTEuOTkzbC0uMDEuMDkyYy0xNC42OTctMTcuOTAxLTQwLjQ0OC0yMS43NzUtNTkuOTcxLTIxLjc3NS03NC41OCAwLTEzNy44MzEgNjIuMjM0LTEzNy44MzEgMTUxLjQ2IDAgNjUuMzAzIDM2Ljc4NSAxMDUuODcgOTYgMTA1Ljg3IDI2Ljk4NCAwIDU3LjM2OS0xNS42MzcgNzQuOTkxLTM4LjMzMyA5LjUyMiAzNC4xMDQgNDAuNjEzIDM0LjEwMyA3MC43MSAzNC4xMDNDNDYyLjYwOSAzNzkuNDEgNTA0IDMwNy43OTggNTA0IDIzMiA1MDQgOTUuNjUzIDM5NC4wMjMgOCAyNTYgOHptLTIxLjY4IDMwNC40M2MtMjIuMjQ5IDAtMzYuMDctMTUuNjIzLTM2LjA3LTQwLjc3MSAwLTQ0Ljk5MyAzMC43NzktNzIuNzI5IDU4LjYzLTcyLjcyOSAyMi4yOTIgMCAzNS42MDEgMTUuMjQxIDM1LjYwMSA0MC43NyAwIDQ1LjA2MS0zMy44NzUgNzIuNzMtNTguMTYxIDcyLjczeiJdLAogICAgICAiYXVkaW8tZGVzY3JpcHRpb24iOiBbNTEyLCA1MTIsIFtdLCAiZjI5ZSIsICJNMTYyLjkyNSAyMzguNzA5bDguODIyIDMwLjY1NWgtMjUuNjA2bDkuMDQxLTMwLjY1MmMxLjI3Ny00LjQyMSAyLjY1MS05Ljk5NCAzLjg3Mi0xNS4yNDUgMS4yMiA1LjI1MSAyLjU5NCAxMC44MjMgMy44NzEgMTUuMjQyem0xNjYuNDc0LTMyLjA5OWgtMTQuNTIzdjk4Ljc4MWgxNC41MjNjMjkuNzc2IDAgNDYuMTc1LTE3LjY3OCA0Ni4xNzUtNDkuNzc2IDAtMzIuMjM5LTE3LjQ5LTQ5LjAwNS00Ni4xNzUtNDkuMDA1ek01MTIgMTEydjI4OGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjExMmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDQxNmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4ek0yNDUuNDU5IDMzNi4xMzlsLTU3LjA5Ny0xNjhBMTIuMDAxIDEyLjAwMSAwIDAgMCAxNzcgMTYwaC0zNS44OTRhMTIuMDAxIDEyLjAwMSAwIDAgMC0xMS4zNjIgOC4xMzlsLTU3LjA5NyAxNjhDNzAuMDAzIDM0My45MjIgNzUuNzg5IDM1MiA4NC4wMDkgMzUyaDI5LjEzM2ExMiAxMiAwIDAgMCAxMS41MzUtOC42OTNsOC41NzQtMjkuOTA2aDUxLjM2N2w4Ljc5MyAyOS45NzdBMTIgMTIgMCAwIDAgMjA0LjkyNiAzNTJoMjkuMTcyYzguMjIgMCAxNC4wMDYtOC4wNzggMTEuMzYxLTE1Ljg2MXptMTg0LjcwMS04MC41MjVjMC01OC45NzctMzcuOTE5LTk1LjYxNC05OC45Ni05NS42MTRoLTU3LjM2NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxNjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMkgzMzEuMmM2MS4wNDEgMCA5OC45Ni0zNi45MzMgOTguOTYtOTYuMzg2eiJdLAogICAgICAiYmFja3dhcmQiOiBbNTEyLCA1MTIsIFtdLCAiZjA0YSIsICJNMTEuNSAyODAuNmwxOTIgMTYwYzIwLjYgMTcuMiA1Mi41IDIuOCA1Mi41LTI0LjZWOTZjMC0yNy40LTMxLjktNDEuOC01Mi41LTI0LjZsLTE5MiAxNjBjLTE1LjMgMTIuOC0xNS4zIDM2LjQgMCA0OS4yem0yNTYgMGwxOTIgMTYwYzIwLjYgMTcuMiA1Mi41IDIuOCA1Mi41LTI0LjZWOTZjMC0yNy40LTMxLjktNDEuOC01Mi41LTI0LjZsLTE5MiAxNjBjLTE1LjMgMTIuOC0xNS4zIDM2LjQgMCA0OS4yeiJdLAogICAgICAiYmFsYW5jZS1zY2FsZSI6IFs2NDAsIDUxMiwgW10sICJmMjRlIiwgIk0zNTIgNDQ4aDE2OGMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MTZjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDEyMGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di0xNmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMTY4VjE1My4zMjRDMjY0LjQ2OSAxNDMuMDQgMjQ2LjgzNiAxMjEuNzc4IDI0MS42MDMgOTZIMTIwYy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWNTZjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDEzNS45OTlDMjcwLjU5NCAxMi41NyAyOTMuODI4IDAgMzIwIDBzNDkuNDA2IDEyLjU3IDY0LjAwMSAzMkg1MjBjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djE2YzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgzOTguMzk3Yy01LjIzMyAyNS43NzgtMjIuODY2IDQ3LjA0LTQ2LjM5NyA1Ny4zMjRWNDQ4em0yODcuOTgxLTExMmMuMDAxLTE2LjE4MiAxLjM0Mi04LjcyNi04NS4wNDgtMTgxLjUwNi0xNy42NDctMzUuMjk0LTY4LjE4Ni0zNS4zNTgtODUuODY1IDBDMzgxLjk0IDMyOC43NSAzODQuMDE5IDMyMC4zMzEgMzg0LjAxOSAzMzZIMzg0YzAgNDQuMTgzIDU3LjMwOCA4MCAxMjggODBzMTI4LTM1LjgxNyAxMjgtODBoLS4wMTl6TTUxMiAxNzZsNzIgMTQ0SDQ0MGw3Mi0xNDR6TTI1NS45ODEgMzM2Yy4wMDEtMTYuMTgyIDEuMzQyLTguNzI2LTg1LjA0OC0xODEuNTA2LTE3LjY0Ny0zNS4yOTQtNjguMTg2LTM1LjM1OC04NS44NjUgMEMtMi4wNiAzMjguNzUuMDE5IDMyMC4zMzEuMDE5IDMzNkgwYzAgNDQuMTgzIDU3LjMwOCA4MCAxMjggODBzMTI4LTM1LjgxNyAxMjgtODBoLS4wMTl6TTEyOCAxNzZsNzIgMTQ0SDU2bDcyLTE0NHoiXSwKICAgICAgImJhbiI6IFs1MTIsIDUxMiwgW10sICJmMDVlIiwgIk0yNTYgOEMxMTkuMDM0IDggOCAxMTkuMDMzIDggMjU2czExMS4wMzQgMjQ4IDI0OCAyNDggMjQ4LTExMS4wMzQgMjQ4LTI0OFMzOTIuOTY3IDggMjU2IDh6bTEzMC4xMDggMTE3Ljg5MmM2NS40NDggNjUuNDQ4IDcwIDE2NS40ODEgMjAuNjc3IDIzNS42MzdMMTUwLjQ3IDEwNS4yMTZjNzAuMjA0LTQ5LjM1NiAxNzAuMjI2LTQ0LjczNSAyMzUuNjM4IDIwLjY3NnpNMTI1Ljg5MiAzODYuMTA4Yy02NS40NDgtNjUuNDQ4LTcwLTE2NS40ODEtMjAuNjc3LTIzNS42MzdMMzYxLjUzIDQwNi43ODRjLTcwLjIwMyA0OS4zNTYtMTcwLjIyNiA0NC43MzYtMjM1LjYzOC0yMC42NzZ6Il0sCiAgICAgICJiYXJjb2RlIjogWzUxMiwgNTEyLCBbXSwgImYwMmEiLCAiTTAgNDQ4VjY0aDE4djM4NEgwem0yNi44NTctLjI3M1Y2NEgzNnYzODMuNzI3aC05LjE0M3ptMjcuMTQzIDBWNjRoOC44NTd2MzgzLjcyN0g1NHptNDQuODU3IDBWNjRoOC44NTd2MzgzLjcyN2gtOC44NTd6bTM2IDBWNjRoMTcuNzE0djM4My43MjdoLTE3LjcxNHptNDQuODU3IDBWNjRoOC44NTd2MzgzLjcyN2gtOC44NTd6bTE4IDBWNjRoOC44NTd2MzgzLjcyN2gtOC44NTd6bTE4IDBWNjRoOC44NTd2MzgzLjcyN2gtOC44NTd6bTM1LjcxNSAwVjY0aDE4djM4My43MjdoLTE4em00NC44NTcgMFY2NGgxOHYzODMuNzI3aC0xOHptMzUuOTk5IDBWNjRoMTguMDAxdjM4My43MjdoLTE4LjAwMXptMzYuMDAxIDBWNjRoMTguMDAxdjM4My43MjdoLTE4LjAwMXptMjYuODU3IDBWNjRoMTh2MzgzLjcyN2gtMTh6bTQ1LjE0MyAwVjY0aDI2Ljg1N3YzODMuNzI3aC0yNi44NTd6bTM1LjcxNCAwVjY0aDkuMTQzdjM4My43MjdINDc2em0xOCAuMjczVjY0aDE4djM4NGgtMTh6Il0sCiAgICAgICJiYXJzIjogWzQ0OCwgNTEyLCBbXSwgImYwYzkiLCAiTTE2IDEzMmg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNlY3NmMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2QzcuMTYzIDYwIDAgNjcuMTYzIDAgNzZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnoiXSwKICAgICAgImJhc2ViYWxsLWJhbGwiOiBbNDk2LCA1MTIsIFtdLCAiZjQzMyIsICJNMzY4LjUgMzYzLjlsMjguOC0xMy45YzExLjEgMjIuOSAyNiA0My4yIDQ0LjEgNjAuOSAzNC00Mi41IDU0LjUtOTYuMyA1NC41LTE1NC45IDAtNTguNS0yMC40LTExMi4yLTU0LjItMTU0LjYtMTcuOCAxNy4zLTMyLjYgMzcuMS00My42IDU5LjVsLTI4LjctMTQuMWMxMi44LTI2IDMwLTQ5IDUwLjgtNjlDMzc1LjYgMzQuNyAzMTUgOCAyNDggOCAxODEuMSA4IDEyMC41IDM0LjYgNzUuOSA3Ny43YzIwLjcgMTkuOSAzNy45IDQyLjkgNTAuNyA2OC44bC0yOC43IDE0LjFjLTExLTIyLjMtMjUuNy00Mi4xLTQzLjUtNTkuNEMyMC40IDE0My43IDAgMTk3LjQgMCAyNTZjMCA1OC42IDIwLjQgMTEyLjMgNTQuNCAxNTQuNyAxOC4yLTE3LjcgMzMuMi0zOCA0NC4zLTYxbDI4LjggMTMuOWMtMTIuOSAyNi43LTMwLjMgNTAuMy01MS41IDcwLjcgNDQuNSA0My4xIDEwNS4xIDY5LjcgMTcyIDY5LjcgNjYuOCAwIDEyNy4zLTI2LjUgMTcxLjktNjkuNS0yMS4xLTIwLjQtMzguNS00My45LTUxLjQtNzAuNnptLTIyOC4zLTMybC0zMC41LTkuOGMxNC45LTQ2LjQgMTIuNy05My44LS42LTEzNGwzMC40LTEwYzE1IDQ1LjYgMTggOTkuOS43IDE1My44em0yMTYuMy0xNTMuNGwzMC40IDEwYy0xMy4yIDQwLjEtMTUuNSA4Ny41LS42IDEzNGwtMzAuNSA5LjhjLTE3LjMtNTQtMTQuMy0xMDguMy43LTE1My44eiJdLAogICAgICAiYmFza2V0YmFsbC1iYWxsIjogWzQ5NiwgNTEyLCBbXSwgImY0MzQiLCAiTTIxMi4zIDEwLjNjLTQzLjggNi4zLTg2LjIgMjQuMS0xMjIuMiA1My44bDc3LjQgNzcuNGMyNy44LTM1LjggNDMuMy04MS4yIDQ0LjgtMTMxLjJ6TTI0OCAyMjJMNDA1LjkgNjQuMWMtNDIuNC0zNS05My42LTUzLjUtMTQ1LjUtNTYuMS0xLjIgNjMuOS0yMS41IDEyMi4zLTU4LjcgMTY3LjdMMjQ4IDIyMnpNNTYuMSA5OC4xYy0yOS43IDM2LTQ3LjUgNzguNC01My44IDEyMi4yIDUwLTEuNSA5NS41LTE3IDEzMS4yLTQ0LjhMNTYuMSA5OC4xem0yNzIuMiAyMDQuMmM0NS4zLTM3LjEgMTAzLjctNTcuNCAxNjcuNy01OC43LTIuNi01MS45LTIxLjEtMTAzLjEtNTYuMS0xNDUuNUwyODIgMjU2bDQ2LjMgNDYuM3pNMjQ4IDI5MEw5MC4xIDQ0Ny45YzQyLjQgMzQuOSA5My42IDUzLjUgMTQ1LjUgNTYuMSAxLjMtNjQgMjEuNi0xMjIuNCA1OC43LTE2Ny43TDI0OCAyOTB6bTE5MS45IDEyMy45YzI5LjctMzYgNDcuNS03OC40IDUzLjgtMTIyLjItNTAuMSAxLjYtOTUuNSAxNy4xLTEzMS4yIDQ0LjhsNzcuNCA3Ny40ek0xNjcuNyAyMDkuN0MxMjIuMyAyNDYuOSA2My45IDI2Ny4zIDAgMjY4LjRjMi42IDUxLjkgMjEuMSAxMDMuMSA1Ni4xIDE0NS41TDIxNCAyNTZsLTQ2LjMtNDYuM3ptMTE2IDI5MmM0My44LTYuMyA4Ni4yLTI0LjEgMTIyLjItNTMuOGwtNzcuNC03Ny40Yy0yNy43IDM1LjctNDMuMiA4MS4yLTQ0LjggMTMxLjJ6Il0sCiAgICAgICJiYXRoIjogWzUxMiwgNTEyLCBbXSwgImYyY2QiLCAiTTQ4OCAyNTZIODBWMTEyYzAtMTcuNjQ1IDE0LjM1NS0zMiAzMi0zMiAxMS4zNTEgMCAyMS4zMzIgNS45NDUgMjcuMDE1IDE0Ljg4LTE2LjQ5MiAyNS4yMDctMTQuNjg3IDU5LjU3NiA2LjgzOCA4My4wMzUtNC4xNzYgNC43MTMtNC4wMjEgMTEuOTE2LjQ5MSAxNi40MjhsMTEuMzE0IDExLjMxNGM0LjY4NiA0LjY4NiAxMi4yODQgNC42ODYgMTYuOTcxIDBsOTUuMDMtOTUuMDI5YzQuNjg2LTQuNjg2IDQuNjg2LTEyLjI4NCAwLTE2Ljk3MWwtMTEuMzE0LTExLjMxNGMtNC41MTItNC41MTItMTEuNzE1LTQuNjY2LTE2LjQyOC0uNDkxLTE3Ljk0OS0xNi40NjktNDIuMjk0LTIxLjQyOS02NC4xNzgtMTUuMzY1QzE2My4yODEgNDUuNjY3IDEzOS4yMTIgMzIgMTEyIDMyYy00NC4xMTIgMC04MCAzNS44ODgtODAgODB2MTQ0aC04Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDh2MzJjMCAyOC40MyAxMi4zNjIgNTMuOTY5IDMyIDcxLjU0N1Y0NTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDE2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtOGgyNTZ2OGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di0zMi40NTNjMTkuNjM4LTE3LjU3OCAzMi00My4xMTcgMzItNzEuNTQ3di0zMmg4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtMTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0eiJdLAogICAgICAiYmF0dGVyeS1lbXB0eSI6IFs2NDAsIDUxMiwgW10sICJmMjQ0IiwgIk01NDQgMTYwdjY0aDMydjY0aC0zMnY2NEg2NFYxNjBoNDgwbTE2LTY0SDQ4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djIyNGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDUxMmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di0xNmg4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxODRjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0aC04di0xNmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4eiJdLAogICAgICAiYmF0dGVyeS1mdWxsIjogWzY0MCwgNTEyLCBbXSwgImYyNDAiLCAiTTU0NCAxNjB2NjRoMzJ2NjRoLTMydjY0SDY0VjE2MGg0ODBtMTYtNjRINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MjI0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNTEyYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTE2aDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE4NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTh2LTE2YzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bS00OCA5Nkg5NnYxMjhoNDE2VjE5MnoiXSwKICAgICAgImJhdHRlcnktaGFsZiI6IFs2NDAsIDUxMiwgW10sICJmMjQyIiwgIk01NDQgMTYwdjY0aDMydjY0aC0zMnY2NEg2NFYxNjBoNDgwbTE2LTY0SDQ4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djIyNGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDUxMmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di0xNmg4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxODRjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0aC04di0xNmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tMjQwIDk2SDk2djEyOGgyMjRWMTkyeiJdLAogICAgICAiYmF0dGVyeS1xdWFydGVyIjogWzY0MCwgNTEyLCBbXSwgImYyNDMiLCAiTTU0NCAxNjB2NjRoMzJ2NjRoLTMydjY0SDY0VjE2MGg0ODBtMTYtNjRINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MjI0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNTEyYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTE2aDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE4NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTh2LTE2YzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bS0zMzYgOTZIOTZ2MTI4aDEyOFYxOTJ6Il0sCiAgICAgICJiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzIjogWzY0MCwgNTEyLCBbXSwgImYyNDEiLCAiTTU0NCAxNjB2NjRoMzJ2NjRoLTMydjY0SDY0VjE2MGg0ODBtMTYtNjRINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MjI0YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNTEyYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTE2aDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE4NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTh2LTE2YzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bS0xNDQgOTZIOTZ2MTI4aDMyMFYxOTJ6Il0sCiAgICAgICJiZWQiOiBbNTc2LCA1MTIsIFtdLCAiZjIzNiIsICJNNTUyIDI4OGMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MTM2aC05NnYtNjRIOTZ2NjRIMFY4OGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoNDhjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djIwMGg0NTZ6TTE5MiA5NmMtNDQuMTgzIDAtODAgMzUuODE3LTgwIDgwczM1LjgxNyA4MCA4MCA4MCA4MC0zNS44MTcgODAtODAtMzUuODE3LTgwLTgwLTgwem0zODQgMTI4YzAtNTMuMDE5LTQyLjk4MS05Ni05Ni05NkgzMTJjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYxMDRoMjg4di0zMnoiXSwKICAgICAgImJlZXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjBmYyIsICJNMzY4IDk2aC00OFY1NmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMjRDMTAuNzQ1IDMyIDAgNDIuNzQ1IDAgNTZ2NDAwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgyNzJjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di00Mi4xMWw4MC42MDYtMzUuOTc3QzQyOS4zOTYgMzY1LjA2MyA0NDggMzM2LjM4OCA0NDggMzA0Ljg2VjE3NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODB6bTE2IDIwOC44NmExNi4wMTggMTYuMDE4IDAgMCAxLTkuNDc5IDE0LjYxMUwzMjAgMzQzLjgwNVYxNjBoNDhjOC44MjIgMCAxNiA3LjE3OCAxNiAxNnYxMjguODZ6TTIwOCAzODRjLTguODM2IDAtMTYtNy4xNjQtMTYtMTZWMTQ0YzAtOC44MzYgNy4xNjQtMTYgMTYtMTZzMTYgNy4xNjQgMTYgMTZ2MjI0YzAgOC44MzYtNy4xNjQgMTYtMTYgMTZ6bS05NiAwYy04LjgzNiAwLTE2LTcuMTY0LTE2LTE2VjE0NGMwLTguODM2IDcuMTY0LTE2IDE2LTE2czE2IDcuMTY0IDE2IDE2djIyNGMwIDguODM2LTcuMTY0IDE2LTE2IDE2eiJdLAogICAgICAiYmVsbCI6IFs0NDgsIDUxMiwgW10sICJmMGYzIiwgIk00MzMuODg0IDM2Ni4wNTlDNDExLjYzNCAzNDMuODA5IDM4NCAzMTYuMTE4IDM4NCAyMDhjMC03OS4zOTQtNTcuODMxLTE0NS4yNjktMTMzLjY2My0xNTcuODNBMzEuODQ1IDMxLjg0NSAwIDAgMCAyNTYgMzJjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiAxNC4zMjctMzIgMzJjMCA2Ljc1IDIuMDk1IDEzLjAwOCA1LjY2MyAxOC4xN0MxMjEuODMxIDYyLjczMSA2NCAxMjguNjA2IDY0IDIwOGMwIDEwOC4xMTgtMjcuNjQzIDEzNS44MDktNDkuODkzIDE1OC4wNTlDLTE2LjA0MiAzOTYuMjA4IDUuMzI1IDQ0OCA0OC4wNDggNDQ4SDE2MGMwIDM1LjM0NiAyOC42NTQgNjQgNjQgNjRzNjQtMjguNjU0IDY0LTY0aDExMS45NDNjNDIuNjM4IDAgNjQuMTUxLTUxLjczMSAzMy45NDEtODEuOTQxek0yMjQgNDcyYTggOCAwIDAgMSAwIDE2Yy0yMi4wNTYgMC00MC0xNy45NDQtNDAtNDBoMTZjMCAxMy4yMzQgMTAuNzY2IDI0IDI0IDI0eiJdLAogICAgICAiYmVsbC1zbGFzaCI6IFs1NzYsIDUxMiwgW10sICJmMWY2IiwgIk03OC4xMDcgMzY2LjA1OUM0Ny45NTggMzk2LjIwOCA2OS4zMjUgNDQ4IDExMi4wNDggNDQ4SDIyNGMwIDM1LjM0NiAyOC42NTQgNjQgNjQgNjQgMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0aDMyLjY4NUwxMjcuODQ4IDIyMS4zNzljLTIuMTk4IDk3LjA3OC0yOC40MzkgMTIzLjM3OC00OS43NDEgMTQ0LjY4ek0yNjQgNDQ4YzAgMTMuMjM0IDEwLjc2NiAyNCAyNCAyNGE4IDggMCAwIDEgMCAxNmMtMjIuMDU2IDAtNDAtMTcuOTQ0LTQwLTQwaDE2em0zMDUuODk2IDQzLjczM2wtMTAuNzYyIDEyLjA4NmMtOC45MTUgMTAuMDEyLTI0LjMzMyAxMC45NjctMzQuNDM3IDIuMTMzTDguMjU2IDU0LjM5M0MtMS44NDggNDUuNTU4LTIuODExIDMwLjI4IDYuMTA0IDIwLjI2N0wxNi44NjUgOC4xODFDMjUuNzgxLTEuODMxIDQxLjE5OS0yLjc4NiA1MS4zMDMgNi4wNDlsMTEzLjgxIDk5LjUxMmMyNC4wMTctMjguNzc4IDU3Ljk0Ni00OC45OTYgOTYuNTUtNTUuMzlBMzEuODUgMzEuODUgMCAwIDEgMjU2IDMyYzAtMTcuNjczIDE0LjMyNy0zMiAzMi0zMnMzMiAxNC4zMjcgMzIgMzJjMCA2Ljc1LTIuMDk1IDEzLjAwOC01LjY2MyAxOC4xN0MzOTAuMTY5IDYyLjczMSA0NDggMTI4LjYwNiA0NDggMjA4YzAgMTA4LjExOCAyNy42MzQgMTM1LjgwOSA0OS44ODQgMTU4LjA1OSAxMi4xNDkgMTIuMTQ5IDE1LjkyMyAyNy43NzYgMTMuMzMgNDIuMTIxbDU2LjUzIDQ5LjQyN2MxMC4xMDQgOC44MzUgMTEuMDY3IDI0LjExMyAyLjE1MiAzNC4xMjZ6Il0sCiAgICAgICJiaWN5Y2xlIjogWzY0MCwgNTEyLCBbXSwgImYyMDYiLCAiTTUxMi41MDkgMTkyLjAwMWMtMTYuMzczLS4wNjQtMzIuMDMgMi45NTUtNDYuNDM2IDguNDk1bC03Ny42OC0xMjUuMTUzQTI0IDI0IDAgMCAwIDM2OC4wMDEgNjRoLTY0Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djE2YzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoNTAuNjQ5bDE0Ljg5NiAyNEgyNTYuMDAydi0xNmMwLTguODM3LTcuMTYzLTE2LTE2LTE2aC04Ny40NTljLTEzLjQ0MSAwLTI0Ljc3NyAxMC45OTktMjQuNTM2IDI0LjQzNy4yMzIgMTMuMDQ0IDEwLjg3NiAyMy41NjMgMjMuOTk1IDIzLjU2M2g0OC43MjZsLTI5LjQxNyA0Ny41MmMtMTMuNDMzLTQuODMtMjcuOTA0LTcuNDgzLTQyLjk5Mi03LjUyQzU4LjA5NCAxOTEuODMuNDEyIDI0OS4wMTIuMDAyIDMxOS4yMzYtLjQxMyAzOTAuMjc5IDU3LjA1NSA0NDggMTI4LjAwMiA0NDhjNTkuNjQyIDAgMTA5Ljc1OC00MC43OTMgMTIzLjk2Ny05Nmg1Mi4wMzNhMjQgMjQgMCAwIDAgMjAuNDA2LTExLjM2N0w0MTAuMzcgMjAxLjc3bDE0LjkzOCAyNC4wNjdjLTI1LjQ1NSAyMy40NDgtNDEuMzg1IDU3LjA4MS00MS4zMDcgOTQuNDM3LjE0NSA2OC44MzMgNTcuODk5IDEyNy4wNTEgMTI2LjcyOSAxMjcuNzE5IDcwLjYwNi42ODUgMTI4LjE4MS01NS44MDMgMTI5LjI1NS0xMjUuOTk2IDEuMDg2LTcwLjk0MS01Ni41MjYtMTI5LjcyLTEyNy40NzYtMTI5Ljk5NnpNMTg2Ljc1IDI2NS43NzJjOS43MjcgMTAuNTI5IDE2LjY3MyAyMy42NjEgMTkuNjQyIDM4LjIyOGgtNDMuMzA2bDIzLjY2NC0zOC4yMjh6TTEyOC4wMDIgNDAwYy00NC4xMTIgMC04MC0zNS44ODgtODAtODBzMzUuODg4LTgwIDgwLTgwYzUuODY5IDAgMTEuNTg2LjY1MyAxNy4wOTkgMS44NTlsLTQ1LjUwNSA3My41MDlDODkuNzE1IDMzMS4zMjcgMTAxLjIxMyAzNTIgMTIwLjAwMiAzNTJoODEuM2MtMTIuMzcgMjguMjI1LTQwLjU2MiA0OC03My4zIDQ4em0xNjIuNjMtOTZoLTM1LjYyNGMtMy45Ni0zMS43NTYtMTkuNTU2LTU5Ljg5NC00Mi4zODMtODAuMDI2TDIzNy4zNzEgMTg0aDEyNy41NDdsLTc0LjI4NiAxMjB6bTIxNy4wNTcgOTUuODg2Yy00MS4wMzYtMi4xNjUtNzQuMDQ5LTM1LjY5Mi03NS42MjctNzYuNzU1LS44MTItMjEuMTIxIDYuNjMzLTQwLjUxOCAxOS4zMzUtNTUuMjYzbDQ0LjQzMyA3MS41ODZjNC42NiA3LjUwOCAxNC41MjQgOS44MTYgMjIuMDMyIDUuMTU2bDEzLjU5NC04LjQzN2M3LjUwOC00LjY2IDkuODE3LTE0LjUyNCA1LjE1Ni0yMi4wMzJsLTQ0LjQ2OC03MS42NDNhNzkuOTAxIDc5LjkwMSAwIDAgMSAxOS44NTgtMi40OTdjNDQuMTEyIDAgODAgMzUuODg4IDgwIDgwLS4wMDEgNDUuNTQtMzguMjUyIDgyLjMxNi04NC4zMTMgNzkuODg1eiJdLAogICAgICAiYmlub2N1bGFycyI6IFs1MTIsIDUxMiwgW10sICJmMWU1IiwgIk0xOTIgMTA0SDk2VjU2YzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNGg0OGMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2NDh6bTIyNC00OGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTQ4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2NDhoOTZWNTZ6TTAgNDU2YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMjBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di0xNkgwdjE2em04OC0zMjhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNEM2NCAyNTYgMCAyNzIgMCA0MTZoMTY4VjMxMmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRWMTI4SDg4em0yNTYgMzI4YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMjBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di0xNkgzNDR2MTZ6TTIxNiAxMjh2MTYwaDgwVjEyOGgtODB6bTEyOCAyODhoMTY4YzAtMTQ0LTY0LTE2MC02NC0yNjQgMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDMyMHYxNjBjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djEwNHoiXSwKICAgICAgImJpcnRoZGF5LWNha2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjFmZCIsICJNNDQ4IDM4NGMtMjguMDIgMC0zMS4yNi0zMi03NC41LTMyLTQzLjQzIDAtNDYuODI1IDMyLTc0Ljc1IDMyLTI3LjY5NSAwLTMxLjQ1NC0zMi03NC43NS0zMi00Mi44NDIgMC00Ny4yMTggMzItNzQuNSAzMi0yOC4xNDggMC0zMS4yMDItMzItNzQuNzUtMzItNDMuNTQ3IDAtNDYuNjUzIDMyLTc0Ljc1IDMydi04MGMwLTI2LjUgMjEuNS00OCA0OC00OGgxNlYxMTJoNjR2MTQ0aDY0VjExMmg2NHYxNDRoNjRWMTEyaDY0djE0NGgxNmMyNi41IDAgNDggMjEuNSA0OCA0OHY4MHptMCAxMjhIMHYtOTZjNDMuMzU2IDAgNDYuNzY3LTMyIDc0Ljc1LTMyIDI3Ljk1MSAwIDMxLjI1MyAzMiA3NC43NSAzMiA0Mi44NDMgMCA0Ny4yMTctMzIgNzQuNS0zMiAyOC4xNDggMCAzMS4yMDEgMzIgNzQuNzUgMzIgNDMuMzU3IDAgNDYuNzY3LTMyIDc0Ljc1LTMyIDI3LjQ4OCAwIDMxLjI1MiAzMiA3NC41IDMydjk2ek05NiA5NmMtMTcuNzUgMC0zMi0xNC4yNS0zMi0zMiAwLTMxIDMyLTIzIDMyLTY0IDEyIDAgMzIgMjkuNSAzMiA1NnMtMTQuMjUgNDAtMzIgNDB6bTEyOCAwYy0xNy43NSAwLTMyLTE0LjI1LTMyLTMyIDAtMzEgMzItMjMgMzItNjQgMTIgMCAzMiAyOS41IDMyIDU2cy0xNC4yNSA0MC0zMiA0MHptMTI4IDBjLTE3Ljc1IDAtMzItMTQuMjUtMzItMzIgMC0zMSAzMi0yMyAzMi02NCAxMiAwIDMyIDI5LjUgMzIgNTZzLTE0LjI1IDQwLTMyIDQweiJdLAogICAgICAiYmxpbmQiOiBbMzg0LCA1MTIsIFtdLCAiZjI5ZCIsICJNMzgwLjE1IDUxMC44MzdhOCA4IDAgMCAxLTEwLjk4OS0yLjY4N2wtMTI1LjMzLTIwNi40MjdhMzEuOTIzIDMxLjkyMyAwIDAgMCAxMi45NTgtOS40ODVsMTI2LjA0OCAyMDcuNjA4YTggOCAwIDAgMS0yLjY4NyAxMC45OTF6TTE0Mi44MDMgMzE0LjMzOGwtMzIuNTQgODkuNDg1IDM2LjEyIDg4LjI4NWM2LjY5MyAxNi4zNiAyNS4zNzcgMjQuMTkyIDQxLjczMyAxNy41MDEgMTYuMzU3LTYuNjkyIDI0LjE5My0yNS4zNzYgMTcuNTAxLTQxLjczNGwtNjIuODE0LTE1My41Mzd6TTk2IDg4YzI0LjMwMSAwIDQ0LTE5LjY5OSA0NC00NFMxMjAuMzAxIDAgOTYgMCA1MiAxOS42OTkgNTIgNDRzMTkuNjk5IDQ0IDQ0IDQ0em0xNTQuODM3IDE2OS4xMjhsLTEyMC0xNTJjLTQuNzMzLTUuOTk1LTExLjc1LTkuMTA4LTE4LjgzNy05LjExMlY5Nkg4MHYuMDI2Yy03LjE0Ni4wMDMtMTQuMjE3IDMuMTYxLTE4Ljk0NCA5LjI0TDAgMTgzLjc2NnY5NS42OTRjMCAxMy40NTUgMTEuMDExIDI0Ljc5MSAyNC40NjQgMjQuNTM2QzM3LjUwNSAzMDMuNzQ4IDQ4IDI5My4xIDQ4IDI4MHYtNzkuNzY2bDE2LTIwLjU3MXYxNDAuNjk4TDkuOTI3IDQ2OS4wNTVjLTYuMDQgMTYuNjA5IDIuNTI4IDM0Ljk2OSAxOS4xMzggNDEuMDA5IDE2LjYwMiA2LjAzOSAzNC45NjgtMi41MjQgNDEuMDA5LTE5LjEzOEwxMzYgMzA5LjYzOFYyMDIuNDQxbC0zMS40MDYtMzkuODE2YTQgNCAwIDEgMSA2LjI2OS00Ljk3MWwxMDIuMyAxMjkuMjE3YzkuMTQ1IDExLjU4NCAyNC4zNjggMTEuMzM5IDMzLjcwOCAzLjk2NSAxMC40MS04LjIxNiAxMi4xNTktMjMuMzM0IDMuOTY2LTMzLjcwOHoiXSwKICAgICAgImJvbGQiOiBbMzg0LCA1MTIsIFtdLCAiZjAzMiIsICJNMzA0Ljc5MyAyNDMuODkxYzMzLjYzOS0xOC41MzcgNTMuNjU3LTU0LjE2IDUzLjY1Ny05NS42OTMgMC00OC4yMzYtMjYuMjUtODcuNjI2LTY4LjYyNi0xMDQuMTc5QzI2NS4xMzggMzQuMDEgMjQwLjg0OSAzMiAyMDkuNjYxIDMySDI0Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djMzLjA0OWMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDMzLjExM3YzMTguNTNIMjRjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZWNDY0YzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMTk1LjY5YzI0LjIwMyAwIDQ0LjgzNC0xLjI4OSA2Ni44NjYtNy41ODRDMzM3LjUyIDQ1Ny4xOTMgMzc2IDQxMC42NDcgMzc2IDM1MC4wMTRjMC01Mi4xNjgtMjYuNTczLTkxLjY4NC03MS4yMDctMTA2LjEyM3pNMTQyLjIxNyAxMDAuODA5aDY3LjQ0NGMxNi4yOTQgMCAyNy41MzYgMi4wMTkgMzcuNTI1IDYuNzE3IDE1LjgyOCA4LjQ3OSAyNC45MDYgMjYuNTAyIDI0LjkwNiA0OS40NDYgMCAzNS4wMjktMjAuMzIgNTYuNzktNTMuMDI5IDU2Ljc5aC03Ni44NDZWMTAwLjgwOXptMTEyLjY0MiAzMDUuNDc1Yy0xMC4xNCA0LjA1Ni0yMi42NzcgNC45MDctMzEuNDA5IDQuOTA3aC04MS4yMzNWMjgxLjk0M2g4NC4zNjdjMzkuNjQ1IDAgNjMuMDU3IDI1LjM4IDYzLjA1NyA2My4wNTcuMDAxIDI4LjQyNS0xMy42NiA1Mi40ODMtMzQuNzgyIDYxLjI4NHoiXSwKICAgICAgImJvbHQiOiBbMzIwLCA1MTIsIFtdLCAiZjBlNyIsICJNMjk1Ljk3MyAxNjBIMTgwLjU3MkwyMTUuMTkgMzAuMTg0QzIxOS4yNSAxNC45NTYgMjA3Ljc1NiAwIDE5MiAwSDU2QzQzLjk3MSAwIDMzLjggOC45MDUgMzIuMjExIDIwLjgyOGwtMzEuOTk2IDI0MEMtMS43MDQgMjc1LjIxNyA5LjUwNCAyODggMjQuMDA0IDI4OGgxMTguNzAxTDk2LjY0NiA0ODIuNDY2QzkzLjA1IDQ5Ny42NDkgMTA0LjY1OSA1MTIgMTE5Ljk5MiA1MTJjOC4zNSAwIDE2LjM3Ni00LjM3NCAyMC43NzgtMTEuOTc4bDE3NS45NzMtMzAzLjk5N2M5LjI0NC0xNS45NjctMi4yODgtMzYuMDI1LTIwLjc3LTM2LjAyNXoiXSwKICAgICAgImJvbWIiOiBbNTEyLCA1MTIsIFtdLCAiZjFlMiIsICJNNDQwLjUgODguNWwtNTIgNTJMNDE1IDE2N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtMTcuNCAxNy40YzExLjggMjYuMSAxOC40IDU1LjEgMTguNCA4NS42IDAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFMwIDQxOC45IDAgMzA0IDkzLjEgOTYgMjA4IDk2YzMwLjUgMCA1OS41IDYuNiA4NS42IDE4LjRMMzExIDk3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDI2LjUgMjYuNSA1Mi01MiAxNy4xIDE3ek01MDAgNjBoLTI0Yy02LjYgMC0xMiA1LjQtMTIgMTJzNS40IDEyIDEyIDEyaDI0YzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyek00NDAgMGMtNi42IDAtMTIgNS40LTEyIDEydjI0YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJWMTJjMC02LjYtNS40LTEyLTEyLTEyem0zMy45IDU1bDE3LTE3YzQuNy00LjcgNC43LTEyLjMgMC0xNy00LjctNC43LTEyLjMtNC43LTE3IDBsLTE3IDE3Yy00LjcgNC43LTQuNyAxMi4zIDAgMTcgNC44IDQuNyAxMi40IDQuNyAxNyAwem0tNjcuOCAwYzQuNyA0LjcgMTIuMyA0LjcgMTcgMCA0LjctNC43IDQuNy0xMi4zIDAtMTdsLTE3LTE3Yy00LjctNC43LTEyLjMtNC43LTE3IDAtNC43IDQuNy00LjcgMTIuMyAwIDE3bDE3IDE3em02Ny44IDM0Yy00LjctNC43LTEyLjMtNC43LTE3IDAtNC43IDQuNy00LjcgMTIuMyAwIDE3bDE3IDE3YzQuNyA0LjcgMTIuMyA0LjcgMTcgMCA0LjctNC43IDQuNy0xMi4zIDAtMTdsLTE3LTE3ek0xMTIgMjcyYzAtMzUuMyAyOC43LTY0IDY0LTY0IDguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2Yy01Mi45IDAtOTYgNDMuMS05NiA5NiAwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2eiJdLAogICAgICAiYm9vayI6IFs0NDgsIDUxMiwgW10sICJmMDJkIiwgIk00NDggMzYwVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0SDk2QzQzIDAgMCA0MyAwIDk2djMyMGMwIDUzIDQzIDk2IDk2IDk2aDMyOGMxMy4zIDAgMjQtMTAuNyAyNC0yNHYtMTZjMC03LjUtMy41LTE0LjMtOC45LTE4LjctNC4yLTE1LjQtNC4yLTU5LjMgMC03NC43IDUuNC00LjMgOC45LTExLjEgOC45LTE4LjZ6TTEyOCAxMzRjMC0zLjMgMi43LTYgNi02aDIxMmMzLjMgMCA2IDIuNyA2IDZ2MjBjMCAzLjMtMi43IDYtNiA2SDEzNGMtMy4zIDAtNi0yLjctNi02di0yMHptMCA2NGMwLTMuMyAyLjctNiA2LTZoMjEyYzMuMyAwIDYgMi43IDYgNnYyMGMwIDMuMy0yLjcgNi02IDZIMTM0Yy0zLjMgMC02LTIuNy02LTZ2LTIwem0yNTMuNCAyNTBIOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtMTcuNiAxNC40LTMyIDMyLTMyaDI4NS40Yy0xLjkgMTcuMS0xLjkgNDYuOSAwIDY0eiJdLAogICAgICAiYm9va21hcmsiOiBbMzg0LCA1MTIsIFtdLCAiZjAyZSIsICJNMCA1MTJWNDhDMCAyMS40OSAyMS40OSAwIDQ4IDBoMjg4YzI2LjUxIDAgNDggMjEuNDkgNDggNDh2NDY0TDE5MiA0MDAgMCA1MTJ6Il0sCiAgICAgICJib3dsaW5nLWJhbGwiOiBbNDk2LCA1MTIsIFtdLCAiZjQzNiIsICJNMjQ4IDhDMTExIDggMCAxMTkgMCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzODUgOCAyNDggOHpNMTIwIDE5MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMiAzMiAxNC4zIDMyIDMyLTE0LjMgMzItMzIgMzJ6bTY0LTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMi0zMi0xNC4zLTMyLTMyem00OCAxNDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyeiJdLAogICAgICAiYnJhaWxsZSI6IFs2NDAsIDUxMiwgW10sICJmMmExIiwgIk0xMjggMjU2YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NFMwIDI5MS4zNDYgMCAyNTZzMjguNjU0LTY0IDY0LTY0IDY0IDI4LjY1NCA2NCA2NHpNNjQgMzg0Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6bTAtMzUyQzI4LjY1NCAzMiAwIDYwLjY1NCAwIDk2czI4LjY1NCA2NCA2NCA2NCA2NC0yOC42NTQgNjQtNjQtMjguNjU0LTY0LTY0LTY0em0xNjAgMTkyYy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6bTAgMTYwYy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6bTAtMzUyYy0zNS4zNDYgMC02NCAyOC42NTQtNjQgNjRzMjguNjU0IDY0IDY0IDY0IDY0LTI4LjY1NCA2NC02NC0yOC42NTQtNjQtNjQtNjR6bTIyNCAxOTJjLTE3LjY3MyAwLTMyIDE0LjMyNy0zMiAzMnMxNC4zMjcgMzIgMzIgMzIgMzItMTQuMzI3IDMyLTMyLTE0LjMyNy0zMi0zMi0zMnptMCAxNjBjLTE3LjY3MyAwLTMyIDE0LjMyNy0zMiAzMnMxNC4zMjcgMzIgMzIgMzIgMzItMTQuMzI3IDMyLTMyLTE0LjMyNy0zMi0zMi0zMnptMC0zNTJjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTQgNjQgNjQgNjQgNjQtMjguNjU0IDY0LTY0LTI4LjY1NC02NC02NC02NHptMTYwIDE5MmMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMyczE0LjMyNyAzMiAzMiAzMiAzMi0xNC4zMjcgMzItMzItMTQuMzI3LTMyLTMyLTMyem0wIDE2MGMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMyczE0LjMyNyAzMiAzMiAzMiAzMi0xNC4zMjcgMzItMzItMTQuMzI3LTMyLTMyLTMyem0wLTMyMGMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMyczE0LjMyNyAzMiAzMiAzMiAzMi0xNC4zMjcgMzItMzItMTQuMzI3LTMyLTMyLTMyeiJdLAogICAgICAiYnJpZWZjYXNlIjogWzUxMiwgNTEyLCBbXSwgImYwYjEiLCAiTTMyMCAyODhoMTkydjE0NGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjI4OGgxOTJ2MjBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMDRjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMjB6bTE5Mi0xMTJ2ODBIMHYtODBjMC0yNi41MSAyMS40OS00OCA0OC00OGg4MFY4MGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDE2MGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djQ4aDgwYzI2LjUxIDAgNDggMjEuNDkgNDggNDh6TTMyMCA5NkgxOTJ2MzJoMTI4Vjk2eiJdLAogICAgICAiYnVnIjogWzUxMiwgNTEyLCBbXSwgImYxODgiLCAiTTUxMS45ODggMjg4LjljLS40NzggMTcuNDMtMTUuMjE3IDMxLjEtMzIuNjUzIDMxLjFINDI0djE2YzAgMjEuODY0LTQuODgyIDQyLjU4NC0xMy42IDYxLjE0NWw2MC4yMjggNjAuMjI4YzEyLjQ5NiAxMi40OTcgMTIuNDk2IDMyLjc1OCAwIDQ1LjI1NS0xMi40OTggMTIuNDk3LTMyLjc1OSAxMi40OTYtNDUuMjU2IDBsLTU0LjczNi01NC43MzZDMzQ1Ljg4NiA0NjcuOTY1IDMxNC4zNTEgNDgwIDI4MCA0ODBWMjM2YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTI0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI0NGMtMzQuMzUxIDAtNjUuODg2LTEyLjAzNS05MC42MzYtMzIuMTA4bC01NC43MzYgNTQuNzM2Yy0xMi40OTggMTIuNDk3LTMyLjc1OSAxMi40OTYtNDUuMjU2IDAtMTIuNDk2LTEyLjQ5Ny0xMi40OTYtMzIuNzU4IDAtNDUuMjU1bDYwLjIyOC02MC4yMjhDOTIuODgyIDM3OC41ODQgODggMzU3Ljg2NCA4OCAzMzZ2LTE2SDMyLjY2NkMxNS4yMyAzMjAgLjQ5MSAzMDYuMzMuMDEzIDI4OC45LS40ODQgMjcwLjgxNiAxNC4wMjggMjU2IDMyIDI1Nmg1NnYtNTguNzQ1bC00Ni42MjgtNDYuNjI4Yy0xMi40OTYtMTIuNDk3LTEyLjQ5Ni0zMi43NTggMC00NS4yNTUgMTIuNDk4LTEyLjQ5NyAzMi43NTgtMTIuNDk3IDQ1LjI1NiAwTDE0MS4yNTUgMTYwaDIyOS40ODlsNTQuNjI3LTU0LjYyN2MxMi40OTgtMTIuNDk3IDMyLjc1OC0xMi40OTcgNDUuMjU2IDAgMTIuNDk2IDEyLjQ5NyAxMi40OTYgMzIuNzU4IDAgNDUuMjU1TDQyNCAxOTcuMjU1VjI1Nmg1NmMxNy45NzIgMCAzMi40ODQgMTQuODE2IDMxLjk4OCAzMi45ek0yNTcgMGMtNjEuODU2IDAtMTEyIDUwLjE0NC0xMTIgMTEyaDIyNEMzNjkgNTAuMTQ0IDMxOC44NTYgMCAyNTcgMHoiXSwKICAgICAgImJ1aWxkaW5nIjogWzQ0OCwgNTEyLCBbXSwgImYxYWQiLCAiTTQzNiA0ODBoLTIwVjI0YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEg1NkM0Mi43NDUgMCAzMiAxMC43NDUgMzIgMjR2NDU2SDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjIwaDQ0OHYtMjBjMC02LjYyNy01LjM3My0xMi0xMi0xMnpNMTI4IDc2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoNDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY0MGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC00MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMlY3NnptMCA5NmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDQwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NDBjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtNDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTQwem01MiAxNDhoLTQwYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi00MGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDQwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NDBjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnptNzYgMTYwaC02NHYtODRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0MGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjg0em02NC0xNzJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtNDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTQwYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoNDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY0MHptMC05NmMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC00MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtNDBjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0MGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjQwem0wLTk2YzAgNi42MjctNS4zNzMgMTItMTIgMTJoLTQwYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyVjc2YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoNDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY0MHoiXSwKICAgICAgImJ1bGxob3JuIjogWzU3NiwgNTEyLCBbXSwgImYwYTEiLCAiTTU3NiAyMjRjMC0yMC44OTYtMTMuMzYtMzguNjY2LTMyLTQ1LjI1OFY2NGMwLTM1LjM0Ni0yOC42NTQtNjQtNjQtNjQtNjQuOTg1IDU2LTE0Mi4wMzEgMTI4LTI3MiAxMjhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2OTZjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0My4yNjNjLTE4Ljc0MiA2NC42NSAyLjQ3OSAxMTYuMzc5IDE4LjgxNCAxNjcuNDQgMS43MDIgNS4zMiA1LjIwMyA5Ljg5MyA5LjkyMiAxMi44OCAyMC43OCAxMy4xNTUgNjguMzU1IDE1LjY1NyA5My43NzMgNS4xNTEgMTYuMDQ2LTYuNjMzIDE5Ljk2LTI3LjQyMyA3LjUyMi0zOS41MzctMTguNTA4LTE4LjAyNi0zMC4xMzYtMzYuOTEtMTkuNzk1LTYwLjg1OGExMi4yNzggMTIuMjc4IDAgMCAwLTEuMDQ1LTExLjY3M2MtMTYuMzA5LTI0LjY3OS0zLjU4MS02Mi4xMDcgMjguNTE3LTcyLjc1MkMzNDYuNDAzIDMyNy44ODcgNDE4LjU5MSAzOTUuMDgxIDQ4MCA0NDhjMzUuMzQ2IDAgNjQtMjguNjU0IDY0LTY0VjI2OS4yNThjMTguNjQtNi41OTIgMzItMjQuMzYyIDMyLTQ1LjI1OHptLTk2IDEzOS44NTVjLTU0LjYwOS00NC45NzktMTI1LjAzMy05Mi45NC0yMjQtMTA0Ljk4MnYtNjkuNzQ3Yzk4Ljk2Ny0xMi4wNDIgMTY5LjM5MS02MC4wMDIgMjI0LTEwNC45ODJ2Mjc5LjcxMXoiXSwKICAgICAgImJ1bGxzZXllIjogWzUxMiwgNTEyLCBbXSwgImYxNDAiLCAiTTI1NiA3MmMxMDEuNjg5IDAgMTg0IDgyLjI5NSAxODQgMTg0IDAgMTAxLjY4OS04Mi4yOTUgMTg0LTE4NCAxODQtMTAxLjY4OSAwLTE4NC04Mi4yOTUtMTg0LTE4NCAwLTEwMS42ODkgODIuMjk1LTE4NCAxODQtMTg0bTAtNjRDMTE5LjAzMyA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4em0wIDE4NGMzNS4yOSAwIDY0IDI4LjcxIDY0IDY0cy0yOC43MSA2NC02NCA2NC02NC0yOC43MS02NC02NCAyOC43MS02NCA2NC02NG0wLTY0Yy03MC42OTIgMC0xMjggNTcuMzA4LTEyOCAxMjhzNTcuMzA4IDEyOCAxMjggMTI4IDEyOC01Ny4zMDggMTI4LTEyOC01Ny4zMDgtMTI4LTEyOC0xMjh6Il0sCiAgICAgICJidXMiOiBbNTEyLCA1MTIsIFtdLCAiZjIwNyIsICJNNTEyIDE1MnY4MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRoLTh2MTY4YzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNGgtOHY0MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRoLTQ4Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjR2LTQwSDE2MHY0MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIODhjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNHYtNDBoLThjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYyNTZoLThjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNHYtODBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDhWODBDMzIgMzUuODE3IDEzMi4yODggMCAyNTYgMHMyMjQgMzUuODE3IDIyNCA4MHY0OGg4YzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHpNMTEyIDMyMGMtMjIuMDkxIDAtNDAgMTcuOTA5LTQwIDQwczE3LjkwOSA0MCA0MCA0MCA0MC0xNy45MDkgNDAtNDAtMTcuOTA5LTQwLTQwLTQwem0yODggMGMtMjIuMDkxIDAtNDAgMTcuOTA5LTQwIDQwczE3LjkwOSA0MCA0MCA0MCA0MC0xNy45MDkgNDAtNDAtMTcuOTA5LTQwLTQwLTQwem0zMi01NlYxMjBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDEwNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE0NGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzA0YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHoiXSwKICAgICAgImNhbGN1bGF0b3IiOiBbNDQ4LCA1MTIsIFtdLCAiZjFlYyIsICJNMCA0NjRWNDhDMCAyMS40OSAyMS40OSAwIDQ4IDBoMzUyYzI2LjUxIDAgNDggMjEuNDkgNDggNDh2NDE2YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDh6bTM4NC0yODRWNzZjMC02LjYyNy01LjM3My0xMi0xMi0xMkg3NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxMDRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyOTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnpNMTI4IDMwOHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkg3NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTI1NiAxMjhWMjY4YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjE2OGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0yNTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkg3NmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTEyOC0xMjh2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptMCAxMjh2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnoiXSwKICAgICAgImNhbGVuZGFyIjogWzQ0OCwgNTEyLCBbXSwgImYxMzMiLCAiTTEyIDE5Mmg0MjRjNi42IDAgMTIgNS40IDEyIDEydjI2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjA0YzAtNi42IDUuNC0xMiAxMi0xMnptNDM2LTQ0di0zNmMwLTI2LjUtMjEuNS00OC00OC00OGgtNDhWMTJjMC02LjYtNS40LTEyLTEyLTEyaC00MGMtNi42IDAtMTIgNS40LTEyIDEydjUySDE2MFYxMmMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NTJINDhDMjEuNSA2NCAwIDg1LjUgMCAxMTJ2MzZjMCA2LjYgNS40IDEyIDEyIDEyaDQyNGM2LjYgMCAxMi01LjQgMTItMTJ6Il0sCiAgICAgICJjYWxlbmRhci1hbHQiOiBbNDQ4LCA1MTIsIFtdLCAiZjA3MyIsICJNNDM2IDE2MEgxMmMtNi42IDAtMTItNS40LTEyLTEydi0zNmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djM2YzAgNi42LTUuNCAxMi0xMiAxMnpNMTIgMTkyaDQyNGM2LjYgMCAxMiA1LjQgMTIgMTJ2MjYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYyMDRjMC02LjYgNS40LTEyIDEyLTEyem0xMTYgMjA0YzAtNi42LTUuNC0xMi0xMi0xMkg3NmMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTQwem0wLTEyOGMwLTYuNi01LjQtMTItMTItMTJINzZjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEydi00MHptMTI4IDEyOGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtNDB6bTAtMTI4YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEydi00MHptMTI4IDEyOGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtNDB6bTAtMTI4YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEydi00MHoiXSwKICAgICAgImNhbGVuZGFyLWNoZWNrIjogWzQ0OCwgNTEyLCBbXSwgImYyNzQiLCAiTTQzNiAxNjBIMTJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTM2YzAtMjYuNTEgMjEuNDktNDggNDgtNDhoNDhWMTJjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0MGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjUyaDEyOFYxMmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDQwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NTJoNDhjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHYzNmMwIDYuNjI3LTUuMzczIDEyLTEyIDEyek0xMiAxOTJoNDI0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjYwYzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWMjA0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJ6bTMzMy4yOTYgOTUuOTQ3bC0yOC4xNjktMjguMzk4Yy00LjY2Ny00LjcwNS0xMi4yNjUtNC43MzYtMTYuOTctLjA2OEwxOTQuMTIgMzY0LjY2NWwtNDUuOTgtNDYuMzUyYy00LjY2Ny00LjcwNS0xMi4yNjYtNC43MzYtMTYuOTcxLS4wNjhsLTI4LjM5NyAyOC4xN2MtNC43MDUgNC42NjctNC43MzYgMTIuMjY1LS4wNjggMTYuOTdsODIuNjAxIDgzLjI2OWM0LjY2NyA0LjcwNSAxMi4yNjUgNC43MzYgMTYuOTcuMDY4bDE0Mi45NTMtMTQxLjgwNWM0LjcwNS00LjY2NyA0LjczNi0xMi4yNjUuMDY4LTE2Ljk3eiJdLAogICAgICAiY2FsZW5kYXItbWludXMiOiBbNDQ4LCA1MTIsIFtdLCAiZjI3MiIsICJNNDM2IDE2MEgxMmMtNi42IDAtMTItNS40LTEyLTEydi0zNmMwLTI2LjUgMjEuNS00OCA0OC00OGg0OFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDEyOFYxMmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDQ4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4djM2YzAgNi42LTUuNCAxMi0xMiAxMnpNMTIgMTkyaDQyNGM2LjYgMCAxMiA1LjQgMTIgMTJ2MjYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYyMDRjMC02LjYgNS40LTEyIDEyLTEyem0zMDQgMTkyYzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEySDEzMmMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmgxODR6Il0sCiAgICAgICJjYWxlbmRhci1wbHVzIjogWzQ0OCwgNTEyLCBbXSwgImYyNzEiLCAiTTQzNiAxNjBIMTJjLTYuNiAwLTEyLTUuNC0xMi0xMnYtMzZjMC0yNi41IDIxLjUtNDggNDgtNDhoNDhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1MmgxMjhWMTJjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY1Mmg0OGMyNi41IDAgNDggMjEuNSA0OCA0OHYzNmMwIDYuNi01LjQgMTItMTIgMTJ6TTEyIDE5Mmg0MjRjNi42IDAgMTIgNS40IDEyIDEydjI2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMjA0YzAtNi42IDUuNC0xMiAxMi0xMnptMzE2IDE0MGMwLTYuNi01LjQtMTItMTItMTJoLTYwdi02MGMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NjBoLTYwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDYwdjYwYzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTYwaDYwYzYuNiAwIDEyLTUuNCAxMi0xMnYtNDB6Il0sCiAgICAgICJjYWxlbmRhci10aW1lcyI6IFs0NDgsIDUxMiwgW10sICJmMjczIiwgIk00MzYgMTYwSDEyYy02LjYgMC0xMi01LjQtMTItMTJ2LTM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDQ4VjEyYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NTJoMTI4VjEyYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NTJoNDhjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MzZjMCA2LjYtNS40IDEyLTEyIDEyek0xMiAxOTJoNDI0YzYuNiAwIDEyIDUuNCAxMiAxMnYyNjBjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjIwNGMwLTYuNiA1LjQtMTIgMTItMTJ6bTI1Ny4zIDE2MGw0OC4xLTQ4LjFjNC43LTQuNyA0LjctMTIuMyAwLTE3bC0yOC4zLTI4LjNjLTQuNy00LjctMTIuMy00LjctMTcgMEwyMjQgMzA2LjdsLTQ4LjEtNDguMWMtNC43LTQuNy0xMi4zLTQuNy0xNyAwbC0yOC4zIDI4LjNjLTQuNyA0LjctNC43IDEyLjMgMCAxN2w0OC4xIDQ4LjEtNDguMSA0OC4xYy00LjcgNC43LTQuNyAxMi4zIDAgMTdsMjguMyAyOC4zYzQuNyA0LjcgMTIuMyA0LjcgMTcgMGw0OC4xLTQ4LjEgNDguMSA0OC4xYzQuNyA0LjcgMTIuMyA0LjcgMTcgMGwyOC4zLTI4LjNjNC43LTQuNyA0LjctMTIuMyAwLTE3TDI2OS4zIDM1MnoiXSwKICAgICAgImNhbWVyYSI6IFs1MTIsIDUxMiwgW10sICJmMDMwIiwgIk01MTIgMTQ0djI4OGMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWMTQ0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4aDg4bDEyLjMtMzIuOWM3LTE4LjcgMjQuOS0zMS4xIDQ0LjktMzEuMWgxMjUuNWMyMCAwIDM3LjkgMTIuNCA0NC45IDMxLjFMMzc2IDk2aDg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zNzYgMjg4YzAtNjYuMi01My44LTEyMC0xMjAtMTIwcy0xMjAgNTMuOC0xMjAgMTIwIDUzLjggMTIwIDEyMCAxMjAgMTIwLTUzLjggMTIwLTEyMHptLTMyIDBjMCA0OC41LTM5LjUgODgtODggODhzLTg4LTM5LjUtODgtODggMzkuNS04OCA4OC04OCA4OCAzOS41IDg4IDg4eiJdLAogICAgICAiY2FtZXJhLXJldHJvIjogWzUxMiwgNTEyLCBbXSwgImYwODMiLCAiTTQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODB2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OFY4MGMwLTI2LjUtMjEuNS00OC00OC00OEg0OHptMCAzMmgxMDZjMy4zIDAgNiAyLjcgNiA2djIwYzAgMy4zLTIuNyA2LTYgNkgzOGMtMy4zIDAtNi0yLjctNi02VjgwYzAtOC44IDcuMi0xNiAxNi0xNnptNDI2IDk2SDM4Yy0zLjMgMC02LTIuNy02LTZ2LTM2YzAtMy4zIDIuNy02IDYtNmgxMzhsMzAuMi00NS4zYzEuMS0xLjcgMy0yLjcgNS0yLjdINDY0YzguOCAwIDE2IDcuMiAxNiAxNnY3NGMwIDMuMy0yLjcgNi02IDZ6TTI1NiA0MjRjLTY2LjIgMC0xMjAtNTMuOC0xMjAtMTIwczUzLjgtMTIwIDEyMC0xMjAgMTIwIDUzLjggMTIwIDEyMC01My44IDEyMC0xMjAgMTIwem0wLTIwOGMtNDguNSAwLTg4IDM5LjUtODggODhzMzkuNSA4OCA4OCA4OCA4OC0zOS41IDg4LTg4LTM5LjUtODgtODgtODh6bS00OCAxMDRjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTM1LjMgMjguNy02NCA2NC02NCA4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmMtMTcuNiAwLTMyIDE0LjQtMzIgMzIgMCA4LjgtNy4yIDE2LTE2IDE2eiJdLAogICAgICAiY2FyIjogWzUxMiwgNTEyLCBbXSwgImYxYjkiLCAiTTQ5OS45OTEgMTY4aC01NC44MTVsLTcuODU0LTIwLjk0NGMtOS4xOTItMjQuNTEzLTI1LjQyNS00NS4zNTEtNDYuOTQyLTYwLjI2M1MzNDMuNjUxIDY0IDMxNy40NzIgNjRIMTk0LjUyOGMtMjYuMTggMC01MS4zOTEgNy44ODItNzIuOTA4IDIyLjc5My0yMS41MTggMTQuOTEyLTM3Ljc1IDM1Ljc1LTQ2Ljk0MiA2MC4yNjNMNjYuODI0IDE2OEgxMi4wMDljLTguMTkxIDAtMTMuOTc0IDguMDI0LTExLjM4NCAxNS43OTVsOCAyNEExMiAxMiAwIDAgMCAyMC4wMDkgMjE2aDI4LjgxNWwtLjA1Mi4xNEMyOS4yMjIgMjI3LjA5MyAxNiAyNDcuOTk3IDE2IDI3MnY0OGMwIDE2LjIyNSA2LjA0OSAzMS4wMjkgMTYgNDIuMzA5VjQyNGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di00MGgyNTZ2NDBjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtNjEuNjkxYzkuOTUxLTExLjI4MSAxNi0yNi4wODUgMTYtNDIuMzA5di00OGMwLTI0LjAwMy0xMy4yMjItNDQuOTA3LTMyLjc3Mi01NS44NmwtLjA1Mi0uMTRoMjguODE1YTEyIDEyIDAgMCAwIDExLjM4NC04LjIwNWw4LTI0YzIuNTktNy43NzEtMy4xOTMtMTUuNzk1LTExLjM4NC0xNS43OTV6bS0zNjUuMzg4IDEuNTI4QzE0My45MTggMTQ0LjY4OSAxNjggMTI4IDE5NC41MjggMTI4aDEyMi45NDRjMjYuNTI4IDAgNTAuNjEgMTYuNjg5IDU5LjkyNSA0MS41MjhMMzkxLjgyNCAyMDhIMTIwLjE3NmwxNC40MjctMzguNDcyek04OCAzMjhjLTE3LjY3MyAwLTMyLTE0LjMyNy0zMi0zMiAwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJzNDggMzAuMzI3IDQ4IDQ4LTMwLjMyNyAxNi00OCAxNnptMzM2IDBjLTE3LjY3MyAwLTQ4IDEuNjczLTQ4LTE2IDAtMTcuNjczIDMwLjMyNy00OCA0OC00OHMzMiAxNC4zMjcgMzIgMzJjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMyeiJdLAogICAgICAiY2FyZXQtZG93biI6IFszMjAsIDUxMiwgW10sICJmMGQ3IiwgIk0zMS4zIDE5MmgyNTcuM2MxNy44IDAgMjYuNyAyMS41IDE0LjEgMzQuMUwxNzQuMSAzNTQuOGMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBMMTcuMiAyMjYuMUM0LjYgMjEzLjUgMTMuNSAxOTIgMzEuMyAxOTJ6Il0sCiAgICAgICJjYXJldC1sZWZ0IjogWzE5MiwgNTEyLCBbXSwgImYwZDkiLCAiTTE5MiAxMjcuMzM4djI1Ny4zMjRjMCAxNy44MTgtMjEuNTQzIDI2Ljc0MS0zNC4xNDIgMTQuMTQyTDI5LjE5NiAyNzAuMTQyYy03LjgxLTcuODEtNy44MS0yMC40NzQgMC0yOC4yODRsMTI4LjY2Mi0xMjguNjYyYzEyLjU5OS0xMi42IDM0LjE0Mi0zLjY3NiAzNC4xNDIgMTQuMTQyeiJdLAogICAgICAiY2FyZXQtcmlnaHQiOiBbMTkyLCA1MTIsIFtdLCAiZjBkYSIsICJNMCAzODQuNjYyVjEyNy4zMzhjMC0xNy44MTggMjEuNTQzLTI2Ljc0MSAzNC4xNDItMTQuMTQybDEyOC42NjIgMTI4LjY2MmM3LjgxIDcuODEgNy44MSAyMC40NzQgMCAyOC4yODRMMzQuMTQyIDM5OC44MDRDMjEuNTQzIDQxMS40MDQgMCA0MDIuNDggMCAzODQuNjYyeiJdLAogICAgICAiY2FyZXQtc3F1YXJlLWRvd24iOiBbNDQ4LCA1MTIsIFtdLCAiZjE1MCIsICJNNDQ4IDgwdjM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek05Mi41IDIyMC41bDEyMyAxMjNjNC43IDQuNyAxMi4zIDQuNyAxNyAwbDEyMy0xMjNjNy42LTcuNiAyLjItMjAuNS04LjUtMjAuNUgxMDFjLTEwLjcgMC0xNi4xIDEyLjktOC41IDIwLjV6Il0sCiAgICAgICJjYXJldC1zcXVhcmUtbGVmdCI6IFs0NDgsIDUxMiwgW10sICJmMTkxIiwgIk00MDAgNDgwSDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjgwYzAtMjYuNTEgMjEuNDktNDggNDgtNDhoMzUyYzI2LjUxIDAgNDggMjEuNDkgNDggNDh2MzUyYzAgMjYuNTEtMjEuNDkgNDgtNDggNDh6TTI1OS41MTUgMTI0LjQ4NWwtMTIzLjAzIDEyMy4wM2MtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxbDEyMy4wMjkgMTIzLjAyOWM3LjU2IDcuNTYgMjAuNDg1IDIuMjA2IDIwLjQ4NS04LjQ4NVYxMzIuOTcxYy4wMDEtMTAuNjkxLTEyLjkyNS0xNi4wNDUtMjAuNDg0LTguNDg2eiJdLAogICAgICAiY2FyZXQtc3F1YXJlLXJpZ2h0IjogWzQ0OCwgNTEyLCBbXSwgImYxNTIiLCAiTTQ4IDMyaDM1MmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djM1MmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjgwYzAtMjYuNTEgMjEuNDktNDggNDgtNDh6bTE0MC40ODUgMzU1LjUxNWwxMjMuMDI5LTEyMy4wMjljNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC0xMjMuMDI5LTEyMy4wM2MtNy41Ni03LjU2LTIwLjQ4NS0yLjIwNi0yMC40ODUgOC40ODV2MjQ2LjA1OWMwIDEwLjY5MSAxMi45MjYgMTYuMDQ1IDIwLjQ4NSA4LjQ4NnoiXSwKICAgICAgImNhcmV0LXNxdWFyZS11cCI6IFs0NDgsIDUxMiwgW10sICJmMTUxIiwgIk0wIDQzMlY4MGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDM1MmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djM1MmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4em0zNTUuNTE1LTE0MC40ODVsLTEyMy4wMy0xMjMuMDNjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NzEgMEw5Mi40ODUgMjkxLjUxNWMtNy41NiA3LjU2LTIuMjA2IDIwLjQ4NSA4LjQ4NSAyMC40ODVoMjQ2LjA1OWMxMC42OTEgMCAxNi4wNDUtMTIuOTI2IDguNDg2LTIwLjQ4NXoiXSwKICAgICAgImNhcmV0LXVwIjogWzMyMCwgNTEyLCBbXSwgImYwZDgiLCAiTTI4OC42NjIgMzUySDMxLjMzOGMtMTcuODE4IDAtMjYuNzQxLTIxLjU0My0xNC4xNDItMzQuMTQybDEyOC42NjItMTI4LjY2MmM3LjgxLTcuODEgMjAuNDc0LTcuODEgMjguMjg0IDBsMTI4LjY2MiAxMjguNjYyYzEyLjYgMTIuNTk5IDMuNjc2IDM0LjE0Mi0xNC4xNDIgMzQuMTQyeiJdLAogICAgICAiY2FydC1hcnJvdy1kb3duIjogWzU3NiwgNTEyLCBbXSwgImYyMTgiLCAiTTUwNC43MTcgMzIwSDIxMS41NzJsNi41NDUgMzJoMjY4LjQxOGMxNS40MDEgMCAyNi44MTYgMTQuMzAxIDIzLjQwMyAyOS4zMTlsLTUuNTE3IDI0LjI3NkM1MjMuMTEyIDQxNC42NjggNTM2IDQzMy44MjggNTM2IDQ1NmMwIDMxLjIwMi0yNS41MTkgNTYuNDQ0LTU2LjgyNCA1NS45OTQtMjkuODIzLS40MjktNTQuMzUtMjQuNjMxLTU1LjE1NS01NC40NDctLjQ0LTE2LjI4NyA2LjA4NS0zMS4wNDkgMTYuODAzLTQxLjU0OEgyMzEuMTc2QzI0MS41NTMgNDI2LjE2NSAyNDggNDQwLjMyNiAyNDggNDU2YzAgMzEuODEzLTI2LjUyOCA1Ny40MzEtNTguNjcgNTUuOTM4LTI4LjU0LTEuMzI1LTUxLjc1MS0yNC4zODUtNTMuMjUxLTUyLjkxNy0xLjE1OC0yMi4wMzQgMTAuNDM2LTQxLjQ1NSAyOC4wNTEtNTEuNTg2TDkzLjg4MyA2NEgyNEMxMC43NDUgNjQgMCA1My4yNTUgMCA0MFYyNEMwIDEwLjc0NSAxMC43NDUgMCAyNCAwaDEwMi41MjljMTEuNDAxIDAgMjEuMjI4IDguMDIxIDIzLjUxMyAxOS4xOUwxNTkuMjA4IDY0SDU1MS45OWMxNS40MDEgMCAyNi44MTYgMTQuMzAxIDIzLjQwMyAyOS4zMTlsLTQ3LjI3MyAyMDhDNTI1LjYzNyAzMTIuMjQ2IDUxNS45MjMgMzIwIDUwNC43MTcgMzIwek00MDMuMDI5IDE5MkgzNjB2LTYwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTI0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjYwaC00My4wMjljLTEwLjY5MSAwLTE2LjA0NSAxMi45MjYtOC40ODUgMjAuNDg1bDY3LjAyOSA2Ny4wMjljNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3MSAwbDY3LjAyOS02Ny4wMjljNy41NTktNy41NTkgMi4yMDUtMjAuNDg1LTguNDg2LTIwLjQ4NXoiXSwKICAgICAgImNhcnQtcGx1cyI6IFs1NzYsIDUxMiwgW10sICJmMjE3IiwgIk01MDQuNzE3IDMyMEgyMTEuNTcybDYuNTQ1IDMyaDI2OC40MThjMTUuNDAxIDAgMjYuODE2IDE0LjMwMSAyMy40MDMgMjkuMzE5bC01LjUxNyAyNC4yNzZDNTIzLjExMiA0MTQuNjY4IDUzNiA0MzMuODI4IDUzNiA0NTZjMCAzMS4yMDItMjUuNTE5IDU2LjQ0NC01Ni44MjQgNTUuOTk0LTI5LjgyMy0uNDI5LTU0LjM1LTI0LjYzMS01NS4xNTUtNTQuNDQ3LS40NC0xNi4yODcgNi4wODUtMzEuMDQ5IDE2LjgwMy00MS41NDhIMjMxLjE3NkMyNDEuNTUzIDQyNi4xNjUgMjQ4IDQ0MC4zMjYgMjQ4IDQ1NmMwIDMxLjgxMy0yNi41MjggNTcuNDMxLTU4LjY3IDU1LjkzOC0yOC41NC0xLjMyNS01MS43NTEtMjQuMzg1LTUzLjI1MS01Mi45MTctMS4xNTgtMjIuMDM0IDEwLjQzNi00MS40NTUgMjguMDUxLTUxLjU4Nkw5My44ODMgNjRIMjRDMTAuNzQ1IDY0IDAgNTMuMjU1IDAgNDBWMjRDMCAxMC43NDUgMTAuNzQ1IDAgMjQgMGgxMDIuNTI5YzExLjQwMSAwIDIxLjIyOCA4LjAyMSAyMy41MTMgMTkuMTlMMTU5LjIwOCA2NEg1NTEuOTljMTUuNDAxIDAgMjYuODE2IDE0LjMwMSAyMy40MDMgMjkuMzE5bC00Ny4yNzMgMjA4QzUyNS42MzcgMzEyLjI0NiA1MTUuOTIzIDMyMCA1MDQuNzE3IDMyMHpNNDA4IDE2OGgtNDh2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZoLTE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwaC00OGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnYxNmMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDQ4djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBoNDhjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMTZjMC04LjgzNy03LjE2My0xNi0xNi0xNnoiXSwKICAgICAgImNlcnRpZmljYXRlIjogWzUxMiwgNTEyLCBbXSwgImYwYTMiLCAiTTQ1OC42MjIgMjU1LjkybDQ1Ljk4NS00NS4wMDVjMTMuNzA4LTEyLjk3NyA3LjMxNi0zNi4wMzktMTAuNjY0LTQwLjMzOWwtNjIuNjUtMTUuOTkgMTcuNjYxLTYyLjAxNWM0Ljk5MS0xNy44MzgtMTEuODI5LTM0LjY2My0yOS42NjEtMjkuNjcxbC02MS45OTQgMTcuNjY3LTE1Ljk4NC02Mi42NzFDMzM3LjA4NS4xOTcgMzEzLjc2NS02LjI3NiAzMDAuOTkgNy4yMjhMMjU2IDUzLjU3IDIxMS4wMTEgNy4yMjljLTEyLjYzLTEzLjM1MS0zNi4wNDctNy4yMzQtNDAuMzI1IDEwLjY2OGwtMTUuOTg0IDYyLjY3MS02MS45OTUtMTcuNjY3Qzc0Ljg3IDU3LjkwNyA1OC4wNTYgNzQuNzM4IDYzLjA0NiA5Mi41NzJsMTcuNjYxIDYyLjAxNS02Mi42NSAxNS45OUMuMDY5IDE3NC44NzgtNi4zMSAxOTcuOTQ0IDcuMzkyIDIxMC45MTVsNDUuOTg1IDQ1LjAwNS00NS45ODUgNDUuMDA0Yy0xMy43MDggMTIuOTc3LTcuMzE2IDM2LjAzOSAxMC42NjQgNDAuMzM5bDYyLjY1IDE1Ljk5LTE3LjY2MSA2Mi4wMTVjLTQuOTkxIDE3LjgzOCAxMS44MjkgMzQuNjYzIDI5LjY2MSAyOS42NzFsNjEuOTk0LTE3LjY2NyAxNS45ODQgNjIuNjcxYzQuNDM5IDE4LjU3NSAyNy42OTYgMjQuMDE4IDQwLjMyNSAxMC42NjhMMjU2IDQ1OC42MWw0NC45ODkgNDYuMDAxYzEyLjUgMTMuNDg4IDM1Ljk4NyA3LjQ4NiA0MC4zMjUtMTAuNjY4bDE1Ljk4NC02Mi42NzEgNjEuOTk0IDE3LjY2N2MxNy44MzYgNC45OTQgMzQuNjUxLTExLjgzNyAyOS42NjEtMjkuNjcxbC0xNy42NjEtNjIuMDE1IDYyLjY1LTE1Ljk5YzE3Ljk4Ny00LjMwMiAyNC4zNjYtMjcuMzY3IDEwLjY2NC00MC4zMzlsLTQ1Ljk4NC00NS4wMDR6Il0sCiAgICAgICJjaGFydC1hcmVhIjogWzUxMiwgNTEyLCBbXSwgImYxZmUiLCAiTTUwMCAzODRjNi42IDAgMTIgNS40IDEyIDEydjQwYzAgNi42LTUuNCAxMi0xMiAxMkgxMmMtNi42IDAtMTItNS40LTEyLTEyVjc2YzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2MzA4aDQzNnpNMzcyLjcgMTU5LjVMMjg4IDIxNmwtODUuMy0xMTMuN2MtNS4xLTYuOC0xNS41LTYuMy0xOS45IDFMOTYgMjQ4djEwNGgzODRsLTg5LjktMTg3LjhjLTMuMi02LjUtMTEuNC04LjctMTcuNC00Ljd6Il0sCiAgICAgICJjaGFydC1iYXIiOiBbNTEyLCA1MTIsIFtdLCAiZjA4MCIsICJNNTAwIDM4NGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEySDEyYy02LjYgMC0xMi01LjQtMTItMTJWNzZjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnYzMDhoNDM2em0tMzA4LTQ0di03MmMwLTYuNi01LjQtMTItMTItMTJoLTQwYy02LjYgMC0xMiA1LjQtMTIgMTJ2NzJjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptMTkyIDBWMjA0YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnYxMzZjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptLTk2IDBWMTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnYyMDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnptMTkyIDBWMTA4YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnYyMzJjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnoiXSwKICAgICAgImNoYXJ0LWxpbmUiOiBbNTEyLCA1MTIsIFtdLCAiZjIwMSIsICJNNTAwIDM4NGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEySDEyYy02LjYgMC0xMi01LjQtMTItMTJWNzZjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnYzMDhoNDM2ek00NTYgOTZIMzQ0Yy0yMS40IDAtMzIuMSAyNS45LTE3IDQxbDMyLjkgMzIuOS03MiA3Mi45LTU1LjYtNTUuNmMtNC43LTQuNy0xMi4yLTQuNy0xNi45IDBMOTYuNCAzMDVjLTQuNyA0LjYtNC44IDEyLjItLjIgMTYuOWwyOC41IDI5LjRjNC43IDQuOCAxMi40IDQuOSAxNy4xLjFsODIuMS04Mi4xIDU1LjUgNTUuNWM0LjcgNC43IDEyLjMgNC43IDE3IDBsMTA5LjItMTA5LjJMNDM5IDI0OWMxNS4xIDE1LjEgNDEgNC40IDQxLTE3VjEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXSwKICAgICAgImNoYXJ0LXBpZSI6IFs1NzYsIDUxMiwgW10sICJmMjAwIiwgIk0yODggMTIuM1YyNDBoMjI3LjdjNi45IDAgMTIuMy01LjggMTItMTIuNy02LjQtMTIyLjQtMTA0LjUtMjIwLjYtMjI3LTIyNy02LjktLjMtMTIuNyA1LjEtMTIuNyAxMnpNNTUyLjcgMjg4YzYuOSAwIDEyLjMgNS44IDEyIDEyLjctMi44IDUzLjItMjMuMiAxMDUuNi02MS4yIDE0Ny44LTQuNiA1LjEtMTIuNiA1LjQtMTcuNS41TDMyNSAyODhoMjI3Ljd6TTQwMSA0MzNjNC44IDQuOCA0LjcgMTIuOC0uNCAxNy4zLTQyLjYgMzguNC05OSA2MS43LTE2MC44IDYxLjdDMTA3LjYgNTExLjktLjIgNDAzLjggMCAyNzEuNS4yIDE0My40IDEwMC44IDM4LjkgMjI3LjMgMzIuM2M2LjktLjQgMTIuNyA1LjEgMTIuNyAxMlYyNzJsMTYxIDE2MXoiXSwKICAgICAgImNoZWNrIjogWzUxMiwgNTEyLCBbXSwgImYwMGMiLCAiTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeiJdLAogICAgICAiY2hlY2stY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYwNTgiLCAiTTUwNCAyNTZjMCAxMzYuOTY3LTExMS4wMzMgMjQ4LTI0OCAyNDhTOCAzOTIuOTY3IDggMjU2IDExOS4wMzMgOCAyNTYgOHMyNDggMTExLjAzMyAyNDggMjQ4ek0yMjcuMzE0IDM4Ny4zMTRsMTg0LTE4NGM2LjI0OC02LjI0OCA2LjI0OC0xNi4zNzkgMC0yMi42MjdsLTIyLjYyNy0yMi42MjdjLTYuMjQ4LTYuMjQ5LTE2LjM3OS02LjI0OS0yMi42MjggMEwyMTYgMzA4LjExOGwtNzAuMDU5LTcwLjA1OWMtNi4yNDgtNi4yNDgtMTYuMzc5LTYuMjQ4LTIyLjYyOCAwbC0yMi42MjcgMjIuNjI3Yy02LjI0OCA2LjI0OC02LjI0OCAxNi4zNzkgMCAyMi42MjdsMTA0IDEwNGM2LjI0OSA2LjI0OSAxNi4zNzkgNi4yNDkgMjIuNjI4LjAwMXoiXSwKICAgICAgImNoZWNrLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMTRhIiwgIk00MDAgNDgwSDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjgwYzAtMjYuNTEgMjEuNDktNDggNDgtNDhoMzUyYzI2LjUxIDAgNDggMjEuNDkgNDggNDh2MzUyYzAgMjYuNTEtMjEuNDkgNDgtNDggNDh6bS0yMDQuNjg2LTk4LjA1OWwxODQtMTg0YzYuMjQ4LTYuMjQ4IDYuMjQ4LTE2LjM3OSAwLTIyLjYyN2wtMjIuNjI3LTIyLjYyN2MtNi4yNDgtNi4yNDgtMTYuMzc5LTYuMjQ5LTIyLjYyOCAwTDE4NCAzMDIuNzQ1bC03MC4wNTktNzAuMDU5Yy02LjI0OC02LjI0OC0xNi4zNzktNi4yNDgtMjIuNjI4IDBsLTIyLjYyNyAyMi42MjdjLTYuMjQ4IDYuMjQ4LTYuMjQ4IDE2LjM3OSAwIDIyLjYyN2wxMDQgMTA0YzYuMjQ5IDYuMjUgMTYuMzc5IDYuMjUgMjIuNjI4LjAwMXoiXSwKICAgICAgImNoZXNzIjogWzUxMiwgNTEyLCBbXSwgImY0MzkiLCAiTTE5OS44MjEgMjE3LjYzM2E2IDYgMCAwIDEgNiA2bC0uMDAxIDIwLjc2NmE2IDYgMCAwIDEtNiA2aC0yNS44MDVjMCAzMS43MTUtMi4xNTMgOTYuMjAxIDE3LjM5OCAxNTMuMjI5SDY0LjU5N0M4NC41NCAzNDUuNDUyIDgyLjAyIDI3OS4yNDUgODIuMDIgMjUwLjM5OUg1Ni4xODNhNiA2IDAgMCAxLTYtNmwuMDAyLTIwLjc2NmE2IDYgMCAwIDEgNi02aDE0My42MzZ6TTQxLjU1NCAxMTUuMDg4bDM0LjU4IDk1LjA3MWgxMDMuNzM0bDM0LjU3Mi05NS4wNzJjMi44NDYtNy44MjYtMi45NS0xNi4xMDEtMTEuMjc4LTE2LjEwMUgxNTJ2LTMwLjIyaDIxLjU3YTYgNiAwIDAgMCA2LTZWNDAuMzgzYTYgNiAwIDAgMC02LTZoLTI4LjM2N1Y2YTYgNiAwIDAgMC02LTZIMTE2LjgyYTYgNiAwIDAgMC02IDZ2MjguMzgzSDgyLjQyMWE2IDYgMCAwIDAtNiA2djIyLjM4M2E2IDYgMCAwIDAgNiA2SDEwNHYzMC4yMTlINTIuODMxYy04LjMyOC4wMDEtMTQuMTI0IDguMjc2LTExLjI3NyAxNi4xMDN6TTIyMi42NzggNDQ1LjE3di0yOC4wNjdhNiA2IDAgMCAwLTYtNkgzOS4zMjJhNiA2IDAgMCAwLTYgNnYyOC4wNjdsLTIyLjE0OCAxNC4xNjRhNiA2IDAgMCAwLTIuNzY3IDUuMDU1VjUwNmE2IDYgMCAwIDAgNiA2aDIyNy4xODdhNiA2IDAgMCAwIDYtNnYtNDEuNjEyYTYgNiAwIDAgMC0yLjc2Ny01LjA1NWwtMjIuMTQ5LTE0LjE2M3ptOTAuNTc4LTE0NC4yMjVsMjQuODggMTYuOTYzYy4wOSAxOC4xMjQtLjE2NyA2My45MDQtMTEuOTA1IDExNC41MjJoMTQ3LjUyNmMtMTEuNzEzLTUwLjQ3NS0xMS45NjktOTYuMzI0LTExLjg4Mi0xMTQuNTM3bDI0Ljg1OS0xNi45NDlhMy44NTYgMy44NTYgMCAwIDAgMS42ODQtMy4xODd2LTY5LjkwMWEzLjg1NyAzLjg1NyAwIDAgMC0zLjg1Ny0zLjg1N2gtMjcuNjU1YTMuODU3IDMuODU3IDAgMCAwLTMuODU3IDMuODU3djMxLjUxNGgtMjIuNzM3di0zMS41MTRhMy44NTcgMy44NTcgMCAwIDAtMy44NTgtMy44NTdoLTUyLjkxOGEzLjg1NyAzLjg1NyAwIDAgMC0zLjg1NyAzLjg1N3YzMS41MTRoLTIyLjczN3YtMzEuNTE0YTMuODU3IDMuODU3IDAgMCAwLTMuODU3LTMuODU3SDMxNS40M2EzLjg1NyAzLjg1NyAwIDAgMC0zLjg1NyAzLjg1N3Y2OS45MDFhMy44NTUgMy44NTUgMCAwIDAgMS42ODMgMy4xODh6bTcxLjU4NSA1MS45MDZjMC04LjM3MiA2Ljc4Ny0xNS4xNTggMTUuMTU5LTE1LjE1OHMxNS4xNTggNi43ODcgMTUuMTU4IDE1LjE1OHYzMC4zMThoLTMwLjMxN3YtMzAuMzE4ek01MDQuNjIgNDcwLjA1OWwtMTMuNjY0LTEwLjYzOXYtMTUuNTUyYTMuODU3IDMuODU3IDAgMCAwLTMuODU3LTMuODU3SDMxMi45MTVhMy44NTcgMy44NTcgMCAwIDAtMy44NTcgMy44NTd2MTUuNTUybC0xMy42NzcgMTAuNjM5YTMuODU3IDMuODU3IDAgMCAwLTEuNDg4IDMuMDQ0djM1LjAzOWEzLjg1NyAzLjg1NyAwIDAgMCAzLjg1NyAzLjg1N2gyMDQuNWEzLjg1NyAzLjg1NyAwIDAgMCAzLjg1Ny0zLjg1N3YtMzUuMDRhMy44NTkgMy44NTkgMCAwIDAtMS40ODctMy4wNDN6Il0sCiAgICAgICJjaGVzcy1iaXNob3AiOiBbMzIwLCA1MTIsIFtdLCAiZjQzYSIsICJNMTIzLjE1OCA3Ny44ODFDMTA3LjM2OSA3Mi41MyA5NiA1Ny41OTcgOTYgNDBjMC0yMi4wOTEgMTcuOTA5LTQwIDQwLTQwaDQ3Ljc5NmMyMi4wOTEgMCA0MCAxNy45MDkgNDAgNDAgMCAxNy41NDEtMTEuMjk1IDMyLjQzNC0yNy4wMDUgMzcuODI5IDIzLjk5MyAxNi42NTcgNDguNTc3IDQ2LjgzOSA2OC43MDMgODIuMDVMMTQ0LjkyOSAyODAuNDQzYTYgNiAwIDAgMCAwIDguNDg1bDE0LjE0MiAxNC4xNDJhNiA2IDAgMCAwIDguNDg1IDBMMjgwLjkgMTg5LjcyNmMxNy43NTggMzguMjk3IDI5LjM3MSA3OS40NDMgMjkuMzcxIDExNC4yNzMgMCA1My43ODYtMjIuODk3IDc1Ljc4OC01OC40NDYgODYuMDMzVjQ0OEg2OC4xNzR2LTU3Ljk3QzMyLjYzMSAzNzkuNzg0IDkuNzM5IDM1Ny43ODEgOS43MzkgMzA0YzAtNzguMDI5IDU4LjI4MS0xODcuNzY2IDExMy40MTktMjI2LjExOXpNMzIwIDUwMHYtMjRjMC02LjYyNy01LjM3My0xMi0xMi0xMkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyNGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI5NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyeiJdLAogICAgICAiY2hlc3MtYm9hcmQiOiBbNTEyLCA1MTIsIFtdLCAiZjQzYyIsICJNMjU2IDI1NnY2NGgtNjR2LTY0aDY0em0wLTI1NmgtNjR2NjRoNjRWMHptMCAyNTZoNjR2LTY0aC02NHY2NHpNMzg0IDBoLTY0djY0aDY0VjB6bTAgNTEyaDY0di02NGgtNjR2NjR6bTEyOC02NHYtNjRoLTY0djY0aDY0em0tMzg0IDY0aDY0di02NGgtNjR2NjR6bTAtNTEySDY0djY0aDY0VjB6bTM4NCAxOTJ2LTY0aC02NHY2NGg2NHptMCAxMjh2LTY0aC02NHY2NGg2NHpNMCA1MTJoNjR2LTY0SDB2NjR6TTAgNjR2NjRoNjRWNjRIMHptMCAxMjh2NjRoNjR2LTY0SDB6bTAgMTI4djY0aDY0di02NEgwem0yNTYgMTkyaDY0di02NGgtNjR2NjR6bS02NC0xMjh2NjRoNjR2LTY0aC02NHptNjQtMTkydi02NGgtNjR2NjRoNjR6TTY0IDM4NHY2NGg2NHYtNjRINjR6bTY0LTEyOEg2NHY2NGg2NHYtNjR6bTI1NiAxMjhoNjR2LTY0aC02NHY2NHpNNTEyIDBoLTY0djY0aDY0VjB6TTM4NCAyNTZoNjR2LTY0aC02NHY2NHptMC0xOTJ2NjRoNjRWNjRoLTY0em0tNjQgMzIwdjY0aDY0di02NGgtNjR6bS0xOTItNjR2NjRoNjR2LTY0aC02NHptMTI4IDB2NjRoNjR2LTY0aC02NHptLTY0LTEyOGgtNjR2NjRoNjR2LTY0em0tNjQtNjRINjR2NjRoNjR2LTY0em0xOTIgMTkyaDY0di02NGgtNjR2NjR6TTE5MiAxMjhWNjRoLTY0djY0aDY0em0xMjggMFY2NGgtNjR2NjRoNjR6bTAgNjRoNjR2LTY0aC02NHY2NHoiXSwKICAgICAgImNoZXNzLWtpbmciOiBbNDQ4LCA1MTIsIFtdLCAiZjQzZiIsICJNNDE2IDQ3NnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDQ0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDM2MGM2LjYyNyAwIDEyIDUuMzczIDEyIDEyem0tOC4wMzMtMzI0SDI0OHYtNDhoNTBhNiA2IDAgMCAwIDYtNlY2MmE2IDYgMCAwIDAtNi02aC01MFY2YTYgNiAwIDAgMC02LTZoLTM2YTYgNiAwIDAgMC02IDZ2NTBoLTUwYTYgNiAwIDAgMC02IDZ2MzZhNiA2IDAgMCAwIDYgNmg1MHY0OEg0MC4wMzNjLTI3LjU3NCAwLTQ2Ljg3OSAyNy4yNDQtMzcuNzM4IDUzLjI1OUw4Ny41ODIgNDQ4aDI3Mi44MzZsODUuMjg3LTI0Mi43NDFDNDU0Ljg0NiAxNzkuMjQ0IDQzNS41NDEgMTUyIDQwNy45NjcgMTUyeiJdLAogICAgICAiY2hlc3Mta25pZ2h0IjogWzM4NCwgNTEyLCBbXSwgImY0NDEiLCAiTTM1MiAyMjR2MjI0SDMydi00Ni41NTdjMC0zMC4zMDIgMTcuMTItNTguMDAzIDQ0LjIyMy03MS41NTRsNTcuMjQzLTI4LjYyMkE0OCA0OCAwIDAgMCAxNjAgMjU4LjMzNFYyMDhsLTIyLjEyNyAxMS4wNjNhMjMuOTk2IDIzLjk5NiAwIDAgMC0xMi41NSAxNS42NDVsLTExLjgzNSA0Ny4zMzhhMTIgMTIgMCAwIDEtNy4xODUgOC4yMzFsLTI5LjYwMSAxMS44NGExMS45OTggMTEuOTk4IDAgMCAxLTkuMzMtLjE3Nkw3LjEyNiAyNzUuMTY3QTEyIDEyIDAgMCAxIDAgMjY0LjIwMXYtMTU4LjI2YzAtNi4zNjUgMi41MjktMTIuNDcgNy4wMy0xNi45NzFMMTYgODAgMS43ODkgNTEuNTc4QTE2LjkzNyAxNi45MzcgMCAwIDEgMCA0NGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE0OGMxMDYuMDM5IDAgMTkyIDg1Ljk2MSAxOTIgMTkyem0yMCAyNDBIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgzNjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMjRjMC02LjYyNy01LjM3My0xMi0xMi0xMnpNNTIgMTI4Yy0xMS4wNDYgMC0yMCA4Ljk1NC0yMCAyMHM4Ljk1NCAyMCAyMCAyMCAyMC04Ljk1NCAyMC0yMC04Ljk1NC0yMC0yMC0yMHoiXSwKICAgICAgImNoZXNzLXBhd24iOiBbMzIwLCA1MTIsIFtdLCAiZjQ0MyIsICJNMjY0IDQ0OEg1NnM2MC00Mi43NDMgNjAtMTc2SDg0Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDQwLjIwOUM5NS43MjEgMjEwLjU2IDc2IDE4MS41ODggNzYgMTQ4YzAtNDYuMzkyIDM3LjYwOC04NCA4NC04NHM4NCAzNy42MDggODQgODRjMCAzMy41ODgtMTkuNzIxIDYyLjU2LTQ4LjIwOSA3NkgyMzZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC0zMmMwIDEzMy4yNTcgNjAgMTc2IDYwIDE3NnptMjggMTZIMjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyNjRjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMjRjMC02LjYyNy01LjM3My0xMi0xMi0xMnoiXSwKICAgICAgImNoZXNzLXF1ZWVuIjogWzUxMiwgNTEyLCBbXSwgImY0NDUiLCAiTTQzNiA1MTJINzZjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMzYwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnpNMjU1LjU3OSAwYy0zMC45MjggMC01NiAyNS4wNzItNTYgNTZzMjUuMDcyIDU2IDU2IDU2IDU2LTI1LjA3MiA1Ni01Ni0yNS4wNzItNTYtNTYtNTZ6bTIwNC41NjggMTU0LjYzNGMtNS43NjgtMy4wNDUtMTIuOTE2LS45MzItMTYuMDgyIDQuNzctOC42MTYgMTUuNTE2LTIyLjc0NyAzNy44MDEtNDQuMDY1IDM3LjgwMS0yOC43MTQgMC0zMC42MjUtMTkuODA0LTMxLjY4Ni01Ny41NDItLjE4My02LjQ5Mi01LjUwMS0xMS42NjQtMTEuOTk1LTExLjY2NGgtNDEuMDA2Yy01LjE3NSAwLTkuNzU0IDMuMzI4LTExLjM4OCA4LjIzOC04Ljg5IDI2LjcwOS0yNi4wNzMgNDAuOTkyLTQ3LjkyNSA0MC45OTJzLTM5LjAzNC0xNC4yODMtNDcuOTI1LTQwLjk5MmMtMS42MzQtNC45MS02LjIxMy04LjIzOC0xMS4zODgtOC4yMzhoLTQxLjAwNWMtNi40OTUgMC0xMS44MTMgNS4xNzQtMTEuOTk1IDExLjY2Ny0xLjA1MiAzNy42NDItMi45MzQgNTcuNTM5LTMxLjY4OCA1Ny41MzktMjAuNjkxIDAtMzMuODE3LTIwLjIyNC00NC40MjUtMzguMDI1LTMuMjY2LTUuNDgtMTAuMjU4LTcuNDMxLTE1Ljg5OS00LjQ1M2wtMzkuMTc5IDIwLjY3OWExMiAxMiAwIDAgMC01LjUxIDE1LjE0NUwxMTIgNDQ4aDI4OGwxMDUuMDE0LTI1Ny40NDhhMTIgMTIgMCAwIDAtNS41MS0xNS4xNDVsLTM5LjM1Ny0yMC43NzN6Il0sCiAgICAgICJjaGVzcy1yb29rIjogWzM4NCwgNTEyLCBbXSwgImY0NDciLCAiTTgxLjI0MSAyMTUuMDI3QzgwLjk1NyAyNTguOTIgNzcuNDExIDM0OC4wNzYgNDggNDQ4aDI4Ny45ODJjLTI5LjQtOTkuNjA0LTMyLjkzNi0xODguOTEyLTMzLjIyMS0yMzIuOTc1bDQ1LjQxOC00Mi4zMTJhMTEuOTk4IDExLjk5OCAwIDAgMCAzLjgyLTguNzhWNDRjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDRoLTQ4VjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTcyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQ0SDk2VjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJINDRjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MTE5LjkzMmMwIDMuMzMgMS4zODQgNi41MSAzLjgyIDguNzhsNDUuNDIxIDQyLjMxNXpNMTYwIDI1NmMwLTE3LjY3MyAxNC4zMjctMzIgMzItMzIgMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjY0LjAwNGgtNjRWMjU2em0yMjQgMjIwdjI0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMTJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMzYwYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6Il0sCiAgICAgICJjaGV2cm9uLWNpcmNsZS1kb3duIjogWzUxMiwgNTEyLCBbXSwgImYxM2EiLCAiTTUwNCAyNTZjMCAxMzctMTExIDI0OC0yNDggMjQ4UzggMzkzIDggMjU2IDExOSA4IDI1NiA4czI0OCAxMTEgMjQ4IDI0OHpNMjczIDM2OS45bDEzNS41LTEzNS41YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC0xNy0xN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMMjU2IDI4NS4xIDE1NC40IDE4My41Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMTcgMTdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45TDIzOSAzNjkuOWM5LjQgOS40IDI0LjYgOS40IDM0IDB6Il0sCiAgICAgICJjaGV2cm9uLWNpcmNsZS1sZWZ0IjogWzUxMiwgNTEyLCBbXSwgImYxMzciLCAiTTI1NiA1MDRDMTE5IDUwNCA4IDM5MyA4IDI1NlMxMTkgOCAyNTYgOHMyNDggMTExIDI0OCAyNDgtMTExIDI0OC0yNDggMjQ4ek0xNDIuMSAyNzNsMTM1LjUgMTM1LjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsMTctMTdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjI2LjkgMjU2bDEwMS42LTEwMS42YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC0xNy0xN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMMTQyLjEgMjM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzR6Il0sCiAgICAgICJjaGV2cm9uLWNpcmNsZS1yaWdodCI6IFs1MTIsIDUxMiwgW10sICJmMTM4IiwgIk0yNTYgOGMxMzcgMCAyNDggMTExIDI0OCAyNDhTMzkzIDUwNCAyNTYgNTA0IDggMzkzIDggMjU2IDExOSA4IDI1NiA4em0xMTMuOSAyMzFMMjM0LjQgMTAzLjVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0xNyAxN2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlMMjg1LjEgMjU2IDE4My41IDM1Ny42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwxNyAxN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwzNjkuOSAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTM0eiJdLAogICAgICAiY2hldnJvbi1jaXJjbGUtdXAiOiBbNTEyLCA1MTIsIFtdLCAiZjEzOSIsICJNOCAyNTZDOCAxMTkgMTE5IDggMjU2IDhzMjQ4IDExMSAyNDggMjQ4LTExMSAyNDgtMjQ4IDI0OFM4IDM5MyA4IDI1NnptMjMxLTExMy45TDEwMy41IDI3Ny42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwxNyAxN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwyNTYgMjI2LjlsMTAxLjYgMTAxLjZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsMTctMTdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjczIDE0Mi4xYy05LjQtOS40LTI0LjYtOS40LTM0IDB6Il0sCiAgICAgICJjaGV2cm9uLWRvd24iOiBbNDQ4LCA1MTIsIFtdLCAiZjA3OCIsICJNMjA3LjAyOSAzODEuNDc2TDEyLjY4NiAxODcuMTMyYy05LjM3My05LjM3My05LjM3My0yNC41NjkgMC0zMy45NDFsMjIuNjY3LTIyLjY2N2M5LjM1Ny05LjM1NyAyNC41MjItOS4zNzUgMzMuOTAxLS4wNEwyMjQgMjg0LjUwNWwxNTQuNzQ1LTE1NC4wMjFjOS4zNzktOS4zMzUgMjQuNTQ0LTkuMzE3IDMzLjkwMS4wNGwyMi42NjcgMjIuNjY3YzkuMzczIDkuMzczIDkuMzczIDI0LjU2OSAwIDMzLjk0MUwyNDAuOTcxIDM4MS40NzZjLTkuMzczIDkuMzcyLTI0LjU2OSA5LjM3Mi0zMy45NDIgMHoiXSwKICAgICAgImNoZXZyb24tbGVmdCI6IFszMjAsIDUxMiwgW10sICJmMDUzIiwgIk0zNC41MiAyMzkuMDNMMjI4Ljg3IDQ0LjY5YzkuMzctOS4zNyAyNC41Ny05LjM3IDMzLjk0IDBsMjIuNjcgMjIuNjdjOS4zNiA5LjM2IDkuMzcgMjQuNTIuMDQgMzMuOUwxMzEuNDkgMjU2bDE1NC4wMiAxNTQuNzVjOS4zNCA5LjM4IDkuMzIgMjQuNTQtLjA0IDMzLjlsLTIyLjY3IDIyLjY3Yy05LjM3IDkuMzctMjQuNTcgOS4zNy0zMy45NCAwTDM0LjUyIDI3Mi45N2MtOS4zNy05LjM3LTkuMzctMjQuNTcgMC0zMy45NHoiXSwKICAgICAgImNoZXZyb24tcmlnaHQiOiBbMzIwLCA1MTIsIFtdLCAiZjA1NCIsICJNMjg1LjQ3NiAyNzIuOTcxTDkxLjEzMiA0NjcuMzE0Yy05LjM3MyA5LjM3My0yNC41NjkgOS4zNzMtMzMuOTQxIDBsLTIyLjY2Ny0yMi42NjdjLTkuMzU3LTkuMzU3LTkuMzc1LTI0LjUyMi0uMDQtMzMuOTAxTDE4OC41MDUgMjU2IDM0LjQ4NCAxMDEuMjU1Yy05LjMzNS05LjM3OS05LjMxNy0yNC41NDQuMDQtMzMuOTAxbDIyLjY2Ny0yMi42NjdjOS4zNzMtOS4zNzMgMjQuNTY5LTkuMzczIDMzLjk0MSAwTDI4NS40NzUgMjM5LjAzYzkuMzczIDkuMzcyIDkuMzczIDI0LjU2OC4wMDEgMzMuOTQxeiJdLAogICAgICAiY2hldnJvbi11cCI6IFs0NDgsIDUxMiwgW10sICJmMDc3IiwgIk0yNDAuOTcxIDEzMC41MjRsMTk0LjM0MyAxOTQuMzQzYzkuMzczIDkuMzczIDkuMzczIDI0LjU2OSAwIDMzLjk0MWwtMjIuNjY3IDIyLjY2N2MtOS4zNTcgOS4zNTctMjQuNTIyIDkuMzc1LTMzLjkwMS4wNEwyMjQgMjI3LjQ5NSA2OS4yNTUgMzgxLjUxNmMtOS4zNzkgOS4zMzUtMjQuNTQ0IDkuMzE3LTMzLjkwMS0uMDRsLTIyLjY2Ny0yMi42NjdjLTkuMzczLTkuMzczLTkuMzczLTI0LjU2OSAwLTMzLjk0MUwyMDcuMDMgMTMwLjUyNWM5LjM3Mi05LjM3MyAyNC41NjgtOS4zNzMgMzMuOTQxLS4wMDF6Il0sCiAgICAgICJjaGlsZCI6IFszODQsIDUxMiwgW10sICJmMWFlIiwgIk0xMjAgNzJjMC0zOS43NjUgMzIuMjM1LTcyIDcyLTcyczcyIDMyLjIzNSA3MiA3MmMwIDM5Ljc2NC0zMi4yMzUgNzItNzIgNzJzLTcyLTMyLjIzNi03Mi03MnptMjU0LjYyNyAxLjM3M2MtMTIuNDk2LTEyLjQ5Ny0zMi43NTgtMTIuNDk3LTQ1LjI1NCAwTDI0Mi43NDUgMTYwSDE0MS4yNTRMNTQuNjI3IDczLjM3M2MtMTIuNDk2LTEyLjQ5Ny0zMi43NTgtMTIuNDk3LTQ1LjI1NCAwLTEyLjQ5NyAxMi40OTctMTIuNDk3IDMyLjc1OCAwIDQ1LjI1NUwxMDQgMjEzLjI1NFY0ODBjMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyaDE2YzE3LjY3MyAwIDMyLTE0LjMyNyAzMi0zMlYzNjhoMTZ2MTEyYzAgMTcuNjczIDE0LjMyNyAzMiAzMiAzMmgxNmMxNy42NzMgMCAzMi0xNC4zMjcgMzItMzJWMjEzLjI1NGw5NC42MjctOTQuNjI3YzEyLjQ5Ny0xMi40OTcgMTIuNDk3LTMyLjc1NyAwLTQ1LjI1NHoiXSwKICAgICAgImNpcmNsZSI6IFs1MTIsIDUxMiwgW10sICJmMTExIiwgIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4eiJdLAogICAgICAiY2lyY2xlLW5vdGNoIjogWzUxMiwgNTEyLCBbXSwgImYxY2UiLCAiTTI4OCAzOS4wNTZ2MTYuNjU5YzAgMTAuODA0IDcuMjgxIDIwLjE1OSAxNy42ODYgMjMuMDY2QzM4My4yMDQgMTAwLjQzNCA0NDAgMTcxLjUxOCA0NDAgMjU2YzAgMTAxLjY4OS04Mi4yOTUgMTg0LTE4NCAxODQtMTAxLjY4OSAwLTE4NC04Mi4yOTUtMTg0LTE4NCAwLTg0LjQ3IDU2Ljc4Ni0xNTUuNTY0IDEzNC4zMTItMTc3LjIxOUMyMTYuNzE5IDc1Ljg3NCAyMjQgNjYuNTE3IDIyNCA1NS43MTJWMzkuMDY0YzAtMTUuNzA5LTE0LjgzNC0yNy4xNTMtMzAuMDQ2LTIzLjIzNEM4Ni42MDMgNDMuNDgyIDcuMzk0IDE0MS4yMDYgOC4wMDMgMjU3LjMzMmMuNzIgMTM3LjA1MiAxMTEuNDc3IDI0Ni45NTYgMjQ4LjUzMSAyNDYuNjY3QzM5My4yNTUgNTAzLjcxMSA1MDQgMzkyLjc4OCA1MDQgMjU2YzAtMTE1LjYzMy03OS4xNC0yMTIuNzc5LTE4Ni4yMTEtMjQwLjIzNkMzMDIuNjc4IDExLjg4OSAyODggMjMuNDU2IDI4OCAzOS4wNTZ6Il0sCiAgICAgICJjbGlwYm9hcmQiOiBbMzg0LCA1MTIsIFtdLCAiZjMyOCIsICJNMzg0IDExMnYzNTJjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxMTJjMC0yNi41MSAyMS40OS00OCA0OC00OGg4MGMwLTM1LjI5IDI4LjcxLTY0IDY0LTY0czY0IDI4LjcxIDY0IDY0aDgwYzI2LjUxIDAgNDggMjEuNDkgNDggNDh6TTE5MiA0MGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0czEwLjc0NSAyNCAyNCAyNCAyNC0xMC43NDUgMjQtMjQtMTAuNzQ1LTI0LTI0LTI0bTk2IDExNHYtMjBhNiA2IDAgMCAwLTYtNkgxMDJhNiA2IDAgMCAwLTYgNnYyMGE2IDYgMCAwIDAgNiA2aDE4MGE2IDYgMCAwIDAgNi02eiJdLAogICAgICAiY2xvY2siOiBbNTEyLCA1MTIsIFtdLCAiZjAxNyIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptNTcuMSAzNTAuMUwyMjQuOSAyOTRjLTMuMS0yLjMtNC45LTUuOS00LjktOS43VjExNmMwLTYuNiA1LjQtMTIgMTItMTJoNDhjNi42IDAgMTIgNS40IDEyIDEydjEzNy43bDYzLjUgNDYuMmM1LjQgMy45IDYuNSAxMS40IDIuNiAxNi44bC0yOC4yIDM4LjhjLTMuOSA1LjMtMTEuNCA2LjUtMTYuOCAyLjZ6Il0sCiAgICAgICJjbG9uZSI6IFs1MTIsIDUxMiwgW10sICJmMjRkIiwgIk00NjQgMGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djI4OGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDE3NmMtMjYuNTEgMC00OC0yMS40OS00OC00OFY0OGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDI4OE0xNzYgNDE2Yy00NC4xMTIgMC04MC0zNS44ODgtODAtODBWMTI4SDQ4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di00OEgxNzZ6Il0sCiAgICAgICJjbG9zZWQtY2FwdGlvbmluZyI6IFs1MTIsIDUxMiwgW10sICJmMjBhIiwgIk00NjQgNjRINDhDMjEuNSA2NCAwIDg1LjUgMCAxMTJ2Mjg4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDQxNmMyNi41IDAgNDgtMjEuNSA0OC00OFYxMTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTIxOC4xIDI4Ny43YzIuOC0yLjUgNy4xLTIuMSA5LjIuOWwxOS41IDI3LjdjMS43IDIuNCAxLjUgNS42LS41IDcuNy01My42IDU2LjgtMTcyLjggMzIuMS0xNzIuOC02Ny45IDAtOTcuMyAxMjEuNy0xMTkuNSAxNzIuNS03MC4xIDIuMSAyIDIuNSAzLjIgMSA1LjdsLTE3LjUgMzAuNWMtMS45IDMuMS02LjIgNC05LjEgMS43LTQwLjgtMzItOTQuNi0xNC45LTk0LjYgMzEuMi4xIDQ4IDUxLjEgNzAuNSA5Mi4zIDMyLjZ6bTE5MC40IDBjMi44LTIuNSA3LjEtMi4xIDkuMi45bDE5LjUgMjcuN2MxLjcgMi40IDEuNSA1LjYtLjUgNy43LTUzLjUgNTYuOS0xNzIuNyAzMi4xLTE3Mi43LTY3LjkgMC05Ny4zIDEyMS43LTExOS41IDE3Mi41LTcwLjEgMi4xIDIgMi41IDMuMiAxIDUuN0w0MjAgMjIyLjJjLTEuOSAzLjEtNi4yIDQtOS4xIDEuNy00MC44LTMyLTk0LjYtMTQuOS05NC42IDMxLjIgMCA0OCA1MSA3MC41IDkyLjIgMzIuNnoiXSwKICAgICAgImNsb3VkIjogWzY0MCwgNTEyLCBbXSwgImYwYzIiLCAiTTUzNy41ODUgMjI2LjU2QzU0MS43MjUgMjE1LjgzNiA1NDQgMjA0LjE4NCA1NDQgMTkyYzAtNTMuMDE5LTQyLjk4MS05Ni05Ni05Ni0xOS43MjkgMC0zOC4wNjUgNS45NTQtNTMuMzE2IDE2LjE1OUMzNjcuMDQyIDY0LjI0OCAzMTUuMjg4IDMyIDI1NiAzMmMtODguMzY2IDAtMTYwIDcxLjYzNC0xNjAgMTYwIDAgMi43MjguMDcgNS40MzkuMjA0IDguMTMzQzQwLjE3MSAyMTkuODQ1IDAgMjczLjIyNyAwIDMzNmMwIDc5LjUyOSA2NC40NzEgMTQ0IDE0NCAxNDRoMzY4YzcwLjY5MiAwIDEyOC01Ny4zMDggMTI4LTEyOCAwLTYxLjkzLTQzLjk4My0xMTMuNTg2LTEwMi40MTUtMTI1LjQ0eiJdLAogICAgICAiY2xvdWQtZG93bmxvYWQtYWx0IjogWzY0MCwgNTEyLCBbXSwgImYzODEiLCAiTTY0MCAzNTJjMCA3MC42OTItNTcuMzA4IDEyOC0xMjggMTI4SDE0NEM2NC40NzEgNDgwIDAgNDE1LjUyOSAwIDMzNmMwLTYyLjc3MyA0MC4xNzEtMTE2LjE1NSA5Ni4yMDQtMTM1Ljg2N0ExNjMuNjggMTYzLjY4IDAgMCAxIDk2IDE5MmMwLTg4LjM2NiA3MS42MzQtMTYwIDE2MC0xNjAgNTkuMjg4IDAgMTExLjA0MiAzMi4yNDggMTM4LjY4NCA4MC4xNTlDNDA5LjkzNSAxMDEuOTU0IDQyOC4yNzEgOTYgNDQ4IDk2YzUzLjAxOSAwIDk2IDQyLjk4MSA5NiA5NiAwIDEyLjE4NC0yLjI3NSAyMy44MzYtNi40MTUgMzQuNTZDNTk2LjAxNyAyMzguNDE0IDY0MCAyOTAuMDcgNjQwIDM1MnptLTI0Ni42MjctNjRIMzI4VjE3NmMwLTguODM3LTcuMTY0LTE2LTE2LTE2aC00OGMtOC44MzYgMC0xNiA3LjE2My0xNiAxNnYxMTJoLTY1LjM3M2MtMTQuMjU0IDAtMjEuMzkzIDE3LjIzNC0xMS4zMTQgMjcuMzE0bDEwNS4zNzMgMTA1LjM3M2M2LjI0OCA2LjI0OCAxNi4zNzkgNi4yNDggMjIuNjI3IDBsMTA1LjM3My0xMDUuMzczYzEwLjA4LTEwLjA4IDIuOTQxLTI3LjMxNC0xMS4zMTMtMjcuMzE0eiJdLAogICAgICAiY2xvdWQtdXBsb2FkLWFsdCI6IFs2NDAsIDUxMiwgW10sICJmMzgyIiwgIk02NDAgMzUyYzAgNzAuNjkyLTU3LjMwOCAxMjgtMTI4IDEyOEgxNDRDNjQuNDcxIDQ4MCAwIDQxNS41MjkgMCAzMzZjMC02Mi43NzMgNDAuMTcxLTExNi4xNTUgOTYuMjA0LTEzNS44NjdBMTYzLjY4IDE2My42OCAwIDAgMSA5NiAxOTJjMC04OC4zNjYgNzEuNjM0LTE2MCAxNjAtMTYwIDU5LjI4OCAwIDExMS4wNDIgMzIuMjQ4IDEzOC42ODQgODAuMTU5QzQwOS45MzUgMTAxLjk1NCA0MjguMjcxIDk2IDQ0OCA5NmM1My4wMTkgMCA5NiA0Mi45ODEgOTYgOTYgMCAxMi4xODQtMi4yNzUgMjMuODM2LTYuNDE1IDM0LjU2QzU5Ni4wMTcgMjM4LjQxNCA2NDAgMjkwLjA3IDY0MCAzNTJ6bS0yMzUuMzE0LTkxLjMxNEwyOTkuMzE0IDE1NS4zMTRjLTYuMjQ4LTYuMjQ4LTE2LjM3OS02LjI0OC0yMi42MjcgMEwxNzEuMzE0IDI2MC42ODZjLTEwLjA4IDEwLjA4LTIuOTQxIDI3LjMxNCAxMS4zMTMgMjcuMzE0SDI0OHYxMTJjMCA4LjgzNyA3LjE2NCAxNiAxNiAxNmg0OGM4LjgzNiAwIDE2LTcuMTYzIDE2LTE2VjI4OGg2NS4zNzNjMTQuMjU0IDAgMjEuMzkzLTE3LjIzNCAxMS4zMTMtMjcuMzE0eiJdLAogICAgICAiY29kZSI6IFs2NDAsIDUxMiwgW10sICJmMTIxIiwgIk0yNzguOSA1MTEuNWwtNjEtMTcuN2MtNi40LTEuOC0xMC04LjUtOC4yLTE0LjlMMzQ2LjIgOC43YzEuOC02LjQgOC41LTEwIDE0LjktOC4ybDYxIDE3LjdjNi40IDEuOCAxMCA4LjUgOC4yIDE0LjlMMjkzLjggNTAzLjNjLTEuOSA2LjQtOC41IDEwLjEtMTQuOSA4LjJ6bS0xMTQtMTEyLjJsNDMuNS00Ni40YzQuNi00LjkgNC4zLTEyLjctLjgtMTcuMkwxMTcgMjU2bDkwLjYtNzkuN2M1LjEtNC41IDUuNS0xMi4zLjgtMTcuMmwtNDMuNS00Ni40Yy00LjUtNC44LTEyLjEtNS4xLTE3LS41TDMuOCAyNDcuMmMtNS4xIDQuNy01LjEgMTIuOCAwIDE3LjVsMTQ0LjEgMTM1LjFjNC45IDQuNiAxMi41IDQuNCAxNy0uNXptMzI3LjIuNmwxNDQuMS0xMzUuMWM1LjEtNC43IDUuMS0xMi44IDAtMTcuNUw0OTIuMSAxMTIuMWMtNC44LTQuNS0xMi40LTQuMy0xNyAuNUw0MzEuNiAxNTljLTQuNiA0LjktNC4zIDEyLjcuOCAxNy4yTDUyMyAyNTZsLTkwLjYgNzkuN2MtNS4xIDQuNS01LjUgMTIuMy0uOCAxNy4ybDQzLjUgNDYuNGM0LjUgNC45IDEyLjEgNS4xIDE3IC42eiJdLAogICAgICAiY29kZS1icmFuY2giOiBbMzg0LCA1MTIsIFtdLCAiZjEyNiIsICJNMzg0IDE0NGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDM2LjQgMjQuMyA2Ny4xIDU3LjUgNzYuOC0uNiAxNi4xLTQuMiAyOC41LTExIDM2LjktMTUuNCAxOS4yLTQ5LjMgMjIuNC04NS4yIDI1LjctMjguMiAyLjYtNTcuNCA1LjQtODEuMyAxNi45di0xNDRjMzIuNS0xMC4yIDU2LTQwLjUgNTYtNzYuMyAwLTQ0LjItMzUuOC04MC04MC04MFMwIDM1LjggMCA4MGMwIDM1LjggMjMuNSA2Ni4xIDU2IDc2LjN2MTk5LjNDMjMuNSAzNjUuOSAwIDM5Ni4yIDAgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zNC0yMS4yLTYzLjEtNTEuMi03NC42IDMuMS01LjIgNy44LTkuOCAxNC45LTEzLjQgMTYuMi04LjIgNDAuNC0xMC40IDY2LjEtMTIuOCA0Mi4yLTMuOSA5MC04LjQgMTE4LjItNDMuNCAxNC0xNy40IDIxLjEtMzkuOCAyMS42LTY3LjkgMzEuNi0xMC44IDU0LjQtNDAuNyA1NC40LTc1Ljl6TTgwIDY0YzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2LTE2LTcuMi0xNi0xNiA3LjItMTYgMTYtMTZ6bTAgMzg0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2IDE2IDcuMiAxNiAxNi03LjIgMTYtMTYgMTZ6bTIyNC0zMjBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTYtMTYtNy4yLTE2LTE2IDcuMi0xNiAxNi0xNnoiXSwKICAgICAgImNvZmZlZSI6IFs2NDAsIDUxMiwgW10sICJmMGY0IiwgIk0xOTIgMzg0aDE5MmM1MyAwIDk2LTQzIDk2LTk2aDMyYzcwLjYgMCAxMjgtNTcuNCAxMjgtMTI4UzU4Mi42IDMyIDUxMiAzMkgxMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0djIzMmMwIDUzIDQzIDk2IDk2IDk2ek01MTIgOTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRoLTMyVjk2aDMyem00Ny43IDM4NEg0OC4zYy00Ny42IDAtNjEtNjQtMzYtNjRoNTgzLjNjMjUgMCAxMS44IDY0LTM1LjkgNjR6Il0sCiAgICAgICJjb2ciOiBbNTEyLCA1MTIsIFtdLCAiZjAxMyIsICJNNDQ0Ljc4OCAyOTEuMWw0Mi42MTYgMjQuNTk5YzQuODY3IDIuODA5IDcuMTI2IDguNjE4IDUuNDU5IDEzLjk4NS0xMS4wNyAzNS42NDItMjkuOTcgNjcuODQyLTU0LjY4OSA5NC41ODZhMTIuMDE2IDEyLjAxNiAwIDAgMS0xNC44MzIgMi4yNTRsLTQyLjU4NC0yNC41OTVhMTkxLjU3NyAxOTEuNTc3IDAgMCAxLTYwLjc1OSAzNS4xM3Y0OS4xODJhMTIuMDEgMTIuMDEgMCAwIDEtOS4zNzcgMTEuNzE4Yy0zNC45NTYgNy44NS03Mi40OTkgOC4yNTYtMTA5LjIxOS4wMDctNS40OS0xLjIzMy05LjQwMy02LjA5Ni05LjQwMy0xMS43MjN2LTQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEtNjAuNzU5LTM1LjEzbC00Mi41ODQgMjQuNTk1YTEyLjAxNiAxMi4wMTYgMCAwIDEtMTQuODMyLTIuMjU0Yy0yNC43MTgtMjYuNzQ0LTQzLjYxOS01OC45NDQtNTQuNjg5LTk0LjU4Ni0xLjY2Ny01LjM2Ni41OTItMTEuMTc1IDUuNDU5LTEzLjk4NUw2Ny4yMTIgMjkxLjFhMTkzLjQ4IDE5My40OCAwIDAgMSAwLTcwLjE5OWwtNDIuNjE2LTI0LjU5OWMtNC44NjctMi44MDktNy4xMjYtOC42MTgtNS40NTktMTMuOTg1IDExLjA3LTM1LjY0MiAyOS45Ny02Ny44NDIgNTQuNjg5LTk0LjU4NmExMi4wMTYgMTIuMDE2IDAgMCAxIDE0LjgzMi0yLjI1NGw0Mi41ODQgMjQuNTk1YTE5MS41NzcgMTkxLjU3NyAwIDAgMSA2MC43NTktMzUuMTNWMjUuNzU5YTEyLjAxIDEyLjAxIDAgMCAxIDkuMzc3LTExLjcxOGMzNC45NTYtNy44NSA3Mi40OTktOC4yNTYgMTA5LjIxOS0uMDA3IDUuNDkgMS4yMzMgOS40MDMgNi4wOTYgOS40MDMgMTEuNzIzdjQ5LjE4NGExOTEuNTU1IDE5MS41NTUgMCAwIDEgNjAuNzU5IDM1LjEzbDQyLjU4NC0yNC41OTVhMTIuMDE2IDEyLjAxNiAwIDAgMSAxNC44MzIgMi4yNTRjMjQuNzE4IDI2Ljc0NCA0My42MTkgNTguOTQ0IDU0LjY4OSA5NC41ODYgMS42NjcgNS4zNjYtLjU5MiAxMS4xNzUtNS40NTkgMTMuOTg1TDQ0NC43ODggMjIwLjlhMTkzLjQ4NSAxOTMuNDg1IDAgMCAxIDAgNzAuMnpNMzM2IDI1NmMwLTQ0LjExMi0zNS44ODgtODAtODAtODBzLTgwIDM1Ljg4OC04MCA4MCAzNS44ODggODAgODAgODAgODAtMzUuODg4IDgwLTgweiJdLAogICAgICAiY29ncyI6IFs2NDAsIDUxMiwgW10sICJmMDg1IiwgIk01MTIuMSAxOTFsLTguMiAxNC4zYy0zIDUuMy05LjQgNy41LTE1LjEgNS40LTExLjgtNC40LTIyLjYtMTAuNy0zMi4xLTE4LjYtNC42LTMuOC01LjgtMTAuNS0yLjgtMTUuN2w4LjItMTQuM2MtNi45LTgtMTIuMy0xNy4zLTE1LjktMjcuNGgtMTYuNWMtNiAwLTExLjItNC4zLTEyLjItMTAuMy0yLTEyLTIuMS0yNC42IDAtMzcuMSAxLTYgNi4yLTEwLjQgMTIuMi0xMC40aDE2LjVjMy42LTEwLjEgOS0xOS40IDE1LjktMjcuNGwtOC4yLTE0LjNjLTMtNS4yLTEuOS0xMS45IDIuOC0xNS43IDkuNS03LjkgMjAuNC0xNC4yIDMyLjEtMTguNiA1LjctMi4xIDEyLjEuMSAxNS4xIDUuNGw4LjIgMTQuM2MxMC41LTEuOSAyMS4yLTEuOSAzMS43IDBMNTUyIDYuM2MzLTUuMyA5LjQtNy41IDE1LjEtNS40IDExLjggNC40IDIyLjYgMTAuNyAzMi4xIDE4LjYgNC42IDMuOCA1LjggMTAuNSAyLjggMTUuN2wtOC4yIDE0LjNjNi45IDggMTIuMyAxNy4zIDE1LjkgMjcuNGgxNi41YzYgMCAxMS4yIDQuMyAxMi4yIDEwLjMgMiAxMiAyLjEgMjQuNiAwIDM3LjEtMSA2LTYuMiAxMC40LTEyLjIgMTAuNGgtMTYuNWMtMy42IDEwLjEtOSAxOS40LTE1LjkgMjcuNGw4LjIgMTQuM2MzIDUuMiAxLjkgMTEuOS0yLjggMTUuNy05LjUgNy45LTIwLjQgMTQuMi0zMi4xIDE4LjYtNS43IDIuMS0xMi4xLS4xLTE1LjEtNS40bC04LjItMTQuM2MtMTAuNCAxLjktMjEuMiAxLjktMzEuNyAwem0tMTAuNS01OC44YzM4LjUgMjkuNiA4Mi40LTE0LjMgNTIuOC01Mi44LTM4LjUtMjkuNy04Mi40IDE0LjMtNTIuOCA1Mi44ek0zODYuMyAyODYuMWwzMy43IDE2LjhjMTAuMSA1LjggMTQuNSAxOC4xIDEwLjUgMjkuMS04LjkgMjQuMi0yNi40IDQ2LjQtNDIuNiA2NS44LTcuNCA4LjktMjAuMiAxMS4xLTMwLjMgNS4zbC0yOS4xLTE2LjhjLTE2IDEzLjctMzQuNiAyNC42LTU0LjkgMzEuN3YzMy42YzAgMTEuNi04LjMgMjEuNi0xOS43IDIzLjYtMjQuNiA0LjItNTAuNCA0LjQtNzUuOSAwLTExLjUtMi0yMC0xMS45LTIwLTIzLjZWNDE4Yy0yMC4zLTcuMi0zOC45LTE4LTU0LjktMzEuN0w3NCA0MDNjLTEwIDUuOC0yMi45IDMuNi0zMC4zLTUuMy0xNi4yLTE5LjQtMzMuMy00MS42LTQyLjItNjUuNy00LTEwLjkuNC0yMy4yIDEwLjUtMjkuMWwzMy4zLTE2LjhjLTMuOS0yMC45LTMuOS00Mi40IDAtNjMuNEwxMiAyMDUuOGMtMTAuMS01LjgtMTQuNi0xOC4xLTEwLjUtMjkgOC45LTI0LjIgMjYtNDYuNCA0Mi4yLTY1LjggNy40LTguOSAyMC4yLTExLjEgMzAuMy01LjNsMjkuMSAxNi44YzE2LTEzLjcgMzQuNi0yNC42IDU0LjktMzEuN1Y1Ny4xYzAtMTEuNSA4LjItMjEuNSAxOS42LTIzLjUgMjQuNi00LjIgNTAuNS00LjQgNzYtLjEgMTEuNSAyIDIwIDExLjkgMjAgMjMuNnYzMy42YzIwLjMgNy4yIDM4LjkgMTggNTQuOSAzMS43bDI5LjEtMTYuOGMxMC01LjggMjIuOS0zLjYgMzAuMyA1LjMgMTYuMiAxOS40IDMzLjIgNDEuNiA0Mi4xIDY1LjggNCAxMC45LjEgMjMuMi0xMCAyOS4xbC0zMy43IDE2LjhjMy45IDIxIDMuOSA0Mi41IDAgNjMuNXptLTExNy42IDIxLjFjNTkuMi03Ny0yOC43LTE2NC45LTEwNS43LTEwNS43LTU5LjIgNzcgMjguNyAxNjQuOSAxMDUuNyAxMDUuN3ptMjQzLjQgMTgyLjdsLTguMiAxNC4zYy0zIDUuMy05LjQgNy41LTE1LjEgNS40LTExLjgtNC40LTIyLjYtMTAuNy0zMi4xLTE4LjYtNC42LTMuOC01LjgtMTAuNS0yLjgtMTUuN2w4LjItMTQuM2MtNi45LTgtMTIuMy0xNy4zLTE1LjktMjcuNGgtMTYuNWMtNiAwLTExLjItNC4zLTEyLjItMTAuMy0yLTEyLTIuMS0yNC42IDAtMzcuMSAxLTYgNi4yLTEwLjQgMTIuMi0xMC40aDE2LjVjMy42LTEwLjEgOS0xOS40IDE1LjktMjcuNGwtOC4yLTE0LjNjLTMtNS4yLTEuOS0xMS45IDIuOC0xNS43IDkuNS03LjkgMjAuNC0xNC4yIDMyLjEtMTguNiA1LjctMi4xIDEyLjEuMSAxNS4xIDUuNGw4LjIgMTQuM2MxMC41LTEuOSAyMS4yLTEuOSAzMS43IDBsOC4yLTE0LjNjMy01LjMgOS40LTcuNSAxNS4xLTUuNCAxMS44IDQuNCAyMi42IDEwLjcgMzIuMSAxOC42IDQuNiAzLjggNS44IDEwLjUgMi44IDE1LjdsLTguMiAxNC4zYzYuOSA4IDEyLjMgMTcuMyAxNS45IDI3LjRoMTYuNWM2IDAgMTEuMiA0LjMgMTIuMiAxMC4zIDIgMTIgMi4xIDI0LjYgMCAzNy4xLTEgNi02LjIgMTAuNC0xMi4yIDEwLjRoLTE2LjVjLTMuNiAxMC4xLTkgMTkuNC0xNS45IDI3LjRsOC4yIDE0LjNjMyA1LjIgMS45IDExLjktMi44IDE1LjctOS41IDcuOS0yMC40IDE0LjItMzIuMSAxOC42LTUuNyAyLjEtMTIuMS0uMS0xNS4xLTUuNGwtOC4yLTE0LjNjLTEwLjQgMS45LTIxLjIgMS45LTMxLjcgMHpNNTAxLjYgNDMxYzM4LjUgMjkuNiA4Mi40LTE0LjMgNTIuOC01Mi44LTM4LjUtMjkuNi04Mi40IDE0LjMtNTIuOCA1Mi44eiJdLAogICAgICAiY29sdW1ucyI6IFs1MTIsIDUxMiwgW10sICJmMGRiIiwgIk00NjQgMzJINDhDMjEuNDkgMzIgMCA1My40OSAwIDgwdjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQxNmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjgwYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6TTIyNCA0MTZINjRWMTYwaDE2MHYyNTZ6bTIyNCAwSDI4OFYxNjBoMTYwdjI1NnoiXSwKICAgICAgImNvbW1lbnQiOiBbNTc2LCA1MTIsIFtdLCAiZjA3NSIsICJNNTc2IDI0MGMwIDExNS0xMjkgMjA4LTI4OCAyMDgtNDguMyAwLTkzLjktOC42LTEzMy45LTIzLjgtNDAuMyAzMS4yLTg5LjggNTAuMy0xNDIuNCA1NS43LTUuMi42LTEwLjItMi44LTExLjUtNy43LTEuMy01IDIuNy04LjEgNi42LTExLjggMTkuMy0xOC40IDQyLjctMzIuOCA1MS45LTk0LjZDMjEuOSAzMzAuOSAwIDI4Ny4zIDAgMjQwIDAgMTI1LjEgMTI5IDMyIDI4OCAzMnMyODggOTMuMSAyODggMjA4eiJdLAogICAgICAiY29tbWVudC1hbHQiOiBbNTc2LCA1MTIsIFtdLCAiZjI3YSIsICJNNTc2IDI0MGMwIDExNS0xMjkgMjA4LTI4OCAyMDgtNDguMyAwLTkzLjktOC42LTEzMy45LTIzLjgtNDAuMyAzMS4yLTg5LjggNTAuMy0xNDIuNCA1NS43LTUuMi42LTEwLjItMi44LTExLjUtNy43LTEuMy01IDIuNy04LjEgNi42LTExLjggMTkuMy0xOC40IDQyLjctMzIuOCA1MS45LTk0LjZDMjEuOSAzMzAuOSAwIDI4Ny4zIDAgMjQwIDAgMTI1LjEgMTI5IDMyIDI4OCAzMnMyODggOTMuMSAyODggMjA4em0tNDE2LTQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4IDQ4LTIxLjUgNDgtNDgtMjEuNS00OC00OC00OHptMTI4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4czIxLjUgNDggNDggNDggNDgtMjEuNSA0OC00OC0yMS41LTQ4LTQ4LTQ4em0xMjggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OCA0OC0yMS41IDQ4LTQ4LTIxLjUtNDgtNDgtNDh6Il0sCiAgICAgICJjb21tZW50cyI6IFs1NzYsIDUxMiwgW10sICJmMDg2IiwgIk0yMjQgMzU4Ljg1N2MtMzcuNTk5IDAtNzMuMDI3LTYuNzYzLTEwNC4xNDMtMTguNy0zMS4zNzUgMjQuNTQ5LTY5Ljg2OSAzOS41MDgtMTEwLjc2NCA0My43OTZhOC42MzIgOC42MzIgMCAwIDEtLjg5LjA0N2MtMy43MzYgMC03LjExMS0yLjQ5OC04LjAxNy02LjA2MS0uOTgtMy45NjEgMi4wODgtNi4zOTkgNS4xMjYtOS4zMDUgMTUuMDE3LTE0LjQzOSAzMy4yMjItMjUuNzkgNDAuMzQyLTc0LjI5N0MxNy4wMTUgMjY2Ljg4NiAwIDIzMi42MjIgMCAxOTUuNDI5IDAgMTA1LjE2IDEwMC4yOTcgMzIgMjI0IDMyczIyNCA3My4xNTkgMjI0IDE2My40MjljLS4wMDEgOTAuMzMyLTEwMC4yOTcgMTYzLjQyOC0yMjQgMTYzLjQyOHptMzQ3LjA2NyAxMDcuMTc0Yy0xMy45NDQtMTMuMTI3LTMwLjg0OS0yMy40NDYtMzcuNDYtNjcuNTQzIDY4LjgwOC02NC41NjggNTIuMTcxLTE1Ni45MzUtMzcuNjc0LTIwNy4wNjUuMDMxIDEuMzM0LjA2NiAyLjY2Ny4wNjYgNC4wMDYgMCAxMjIuNDkzLTEyOS41ODMgMjE2LjM5NC0yODQuMjUyIDIxMS4yMjIgMzguMTIxIDMwLjk2MSA5My45ODkgNTAuNDkyIDE1Ni4yNTIgNTAuNDkyIDM0LjkxNCAwIDY3LjgxMS02LjE0OCA5Ni43MDQtMTcgMjkuMTM0IDIyLjMxNyA2NC44NzggMzUuOTE2IDEwMi44NTMgMzkuODE0IDMuNzg2LjM5NSA3LjM2My0xLjk3MyA4LjI3LTUuNDY3LjkxMS0zLjYwMS0xLjkzOC01LjgxNy00Ljc1OS04LjQ1OXoiXSwKICAgICAgImNvbXBhc3MiOiBbNTEyLCA1MTIsIFtdLCAiZjE0ZSIsICJNNTA0IDI1NmMwIDEzNi45NjctMTExLjAzMyAyNDgtMjQ4IDI0OFM4IDM5Mi45NjcgOCAyNTYgMTE5LjAzMyA4IDI1NiA4czI0OCAxMTEuMDMzIDI0OCAyNDh6TTMwNy40NDYgMTIwLjg0NGwtMTAyLjY0MiA5Ny43NzlhMjMuOTk3IDIzLjk5NyAwIDAgMC02Ljc3MiAxMS43MjlsLTMzLjM1OSAxMzcuNzc5Yy01LjY4IDIzLjQ1OSAyMi43NzcgMzkuMzE4IDM5Ljg4IDIzLjAyNGwxMDIuNjQtOTcuNzc5YTIzLjk5IDIzLjk5IDAgMCAwIDYuNzcyLTExLjcyOWwzMy4zNTktMTM3Ljc3OWM1LjYxOC0yMy4xOTgtMjIuNTkxLTM5LjQ5My0zOS44NzgtMjMuMDI0ek0yNTYgMjI0Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6Il0sCiAgICAgICJjb21wcmVzcyI6IFs0NDgsIDUxMiwgW10sICJmMDY2IiwgIk00MzYgMTkySDMxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWNDRjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY4NGg4NGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyem0tMjc2LTI0VjQ0YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnY4NEgxMmMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmgxMjRjMTMuMyAwIDI0LTEwLjcgMjQtMjR6bTAgMzAwVjM0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgxMmMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmg4NHY4NGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyem0xOTIgMHYtODRoODRjNi42IDAgMTItNS40IDEyLTEydi00MGMwLTYuNi01LjQtMTItMTItMTJIMzEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxMjRjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnoiXSwKICAgICAgImNvcHkiOiBbNDQ4LCA1MTIsIFtdLCAiZjBjNSIsICJNMzIwIDQ0OHY0MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIMjRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYxMjBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDcydjI5NmMwIDMwLjg3OSAyNS4xMjEgNTYgNTYgNTZoMTY4em0wLTM0NFYwSDE1MmMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djM2OGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMjcyYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxMjhIMzQ0Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNHptMTIwLjk3MS0zMS4wMjlMMzc1LjAyOSA3LjAyOUEyNCAyNCAwIDAgMCAzNTguMDU5IDBIMzUydjk2aDk2di02LjA1OWEyNCAyNCAwIDAgMC03LjAyOS0xNi45N3oiXSwKICAgICAgImNvcHlyaWdodCI6IFs1MTIsIDUxMiwgW10sICJmMWY5IiwgIk0yNTYgOEMxMTkuMDMzIDggOCAxMTkuMDMzIDggMjU2czExMS4wMzMgMjQ4IDI0OCAyNDggMjQ4LTExMS4wMzMgMjQ4LTI0OFMzOTIuOTY3IDggMjU2IDh6bTExNy4xMzQgMzQ2Ljc1M2MtMS41OTIgMS44NjctMzkuNzc2IDQ1LjczMS0xMDkuODUxIDQ1LjczMS04NC42OTIgMC0xNDQuNDg0LTYzLjI2LTE0NC40ODQtMTQ1LjU2NyAwLTgxLjMwMyA2Mi4wMDQtMTQzLjQwMSAxNDMuNzYyLTE0My40MDEgNjYuOTU3IDAgMTAxLjk2NSAzNy4zMTUgMTAzLjQyMiAzOC45MDRhMTIgMTIgMCAwIDEgMS4yMzggMTQuNjIzbC0yMi4zOCAzNC42NTVjLTQuMDQ5IDYuMjY3LTEyLjc3NCA3LjM1MS0xOC4yMzQgMi4yOTUtLjIzMy0uMjE0LTI2LjUyOS0yMy44OC02MS44OC0yMy44OC00Ni4xMTYgMC03My45MTYgMzMuNTc1LTczLjkxNiA3Ni4wODIgMCAzOS42MDIgMjUuNTE0IDc5LjY5MiA3NC4yNzcgNzkuNjkyIDM4LjY5NyAwIDY1LjI4LTI4LjMzOCA2NS41NDQtMjguNjI1IDUuMTMyLTUuNTY1IDE0LjA1OS01LjAzMyAxOC41MDggMS4wNTNsMjQuNTQ3IDMzLjU3MmExMi4wMDEgMTIuMDAxIDAgMCAxLS41NTMgMTQuODY2eiJdLAogICAgICAiY3JlZGl0LWNhcmQiOiBbNTc2LCA1MTIsIFtdLCAiZjA5ZCIsICJNMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhoNDgwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjI1NkgwdjE3NnptMTkyLTY4YzAtNi42IDUuNC0xMiAxMi0xMmgxMzZjNi42IDAgMTIgNS40IDEyIDEydjQwYzAgNi42LTUuNCAxMi0xMiAxMkgyMDRjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNDB6bS0xMjggMGMwLTYuNiA1LjQtMTIgMTItMTJoNzJjNi42IDAgMTIgNS40IDEyIDEydjQwYzAgNi42LTUuNCAxMi0xMiAxMkg3NmMtNi42IDAtMTItNS40LTEyLTEydi00MHpNNTc2IDgwdjQ4SDBWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoNDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4eiJdLAogICAgICAiY3JvcCI6IFs1MTIsIDUxMiwgW10sICJmMTI1IiwgIk00ODggMzUyaC00MFYxMDkuM2w1Ny01N2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0OTMuNyA3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNTcgNTdIMTYwVjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0SDg4Qzc0LjcgMCA2NCAxMC43IDY0IDI0djQwSDI0QzEwLjcgNjQgMCA3NC43IDAgODh2NDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRoNDB2MjY0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDI2NHY0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNHYtNDBoNDBjMTMuMyAwIDI0LTEwLjcgMjQtMjR2LTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zMDYuNyAxNjBMMTYwIDMwNi43VjE2MGgxNDYuN3pNMjA1LjMgMzUyTDM1MiAyMDUuM1YzNTJIMjA1LjN6Il0sCiAgICAgICJjcm9zc2hhaXJzIjogWzUxMiwgNTEyLCBbXSwgImYwNWIiLCAiTTUwMCAyMjRoLTMwLjM2NEM0NTUuNzI0IDEzMC4zMjUgMzgxLjY3NSA1Ni4yNzYgMjg4IDQyLjM2NFYxMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYzMC4zNjRDMTMwLjMyNSA1Ni4yNzYgNTYuMjc2IDEzMC4zMjUgNDIuMzY0IDIyNEgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDMwLjM2NEM1Ni4yNzYgMzgxLjY3NSAxMzAuMzI1IDQ1NS43MjQgMjI0IDQ2OS42MzZWNTAwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMzAuMzY0QzM4MS42NzUgNDU1LjcyNCA0NTUuNzI0IDM4MS42NzUgNDY5LjYzNiAyODhINTAwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJ6TTI4OCA0MDQuNjM0VjM2NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MC42MzRDMTY1LjgyNiAzOTIuMjMyIDExOS43ODMgMzQ2LjI0MyAxMDcuMzY2IDI4OEgxNDhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDAuNjM0QzExOS43NjggMTY1LjgyNiAxNjUuNzU3IDExOS43ODMgMjI0IDEwNy4zNjZWMTQ4YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDAuNjM0QzM0Ni4xNzQgMTE5Ljc2OCAzOTIuMjE3IDE2NS43NTcgNDA0LjYzNCAyMjRIMzY0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDAuNjM0QzM5Mi4yMzIgMzQ2LjE3NCAzNDYuMjQzIDM5Mi4yMTcgMjg4IDQwNC42MzR6TTI4OCAyNTZjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMycy0zMi0xNC4zMjctMzItMzJjMC0xNy42NzMgMTQuMzI3LTMyIDMyLTMyczMyIDE0LjMyNyAzMiAzMnoiXSwKICAgICAgImN1YmUiOiBbNTEyLCA1MTIsIFtdLCAiZjFiMiIsICJNMjM5LjEgNi4zbC0yMDggNzhjLTE4LjcgNy0zMS4xIDI1LTMxLjEgNDV2MjI1LjFjMCAxOC4yIDEwLjMgMzQuOCAyNi41IDQyLjlsMjA4IDEwNGMxMy41IDYuOCAyOS40IDYuOCA0Mi45IDBsMjA4LTEwNGMxNi4zLTguMSAyNi41LTI0LjggMjYuNS00Mi45VjEyOS4zYzAtMjAtMTIuNC0zNy45LTMxLjEtNDQuOWwtMjA4LTc4QzI2MiAyLjIgMjUwIDIuMiAyMzkuMSA2LjN6TTI1NiA2OC40bDE5MiA3MnYxLjFsLTE5MiA3OC0xOTItNzh2LTEuMWwxOTItNzJ6bTMyIDM1NlYyNzUuNWwxNjAtNjV2MTMzLjlsLTE2MCA4MHoiXSwKICAgICAgImN1YmVzIjogWzUxMiwgNTEyLCBbXSwgImYxYjMiLCAiTTQ4OC42IDI1MC4yTDM5MiAyMTRWMTA1LjVjMC0xNS05LjMtMjguNC0yMy40LTMzLjdsLTEwMC0zNy41Yy04LjEtMy4xLTE3LjEtMy4xLTI1LjMgMGwtMTAwIDM3LjVjLTE0LjEgNS4zLTIzLjQgMTguNy0yMy40IDMzLjdWMjE0bC05Ni42IDM2LjJDOS4zIDI1NS41IDAgMjY4LjkgMCAyODMuOVYzOTRjMCAxMy42IDcuNyAyNi4xIDE5LjkgMzIuMmwxMDAgNTBjMTAuMSA1LjEgMjIuMSA1LjEgMzIuMiAwbDEwMy45LTUyIDEwMy45IDUyYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDAtNTBjMTIuMi02LjEgMTkuOS0xOC42IDE5LjktMzIuMlYyODMuOWMwLTE1LTkuMy0yOC40LTIzLjQtMzMuN3pNMzU4IDIxNC44bC04NSAzMS45di02OC4ybDg1LTM3djczLjN6TTE1NCAxMDQuMWwxMDItMzguMiAxMDIgMzguMnYuNmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42em04NCAyOTEuMWwtODUgNDIuNXYtNzkuMWw4NS0zOC44djc1LjR6bTAtMTEybC0xMDIgNDEuNC0xMDItNDEuNHYtLjZsMTAyLTM4LjIgMTAyIDM4LjJ2LjZ6bTI0MCAxMTJsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42eiJdLAogICAgICAiY3V0IjogWzQ0OCwgNTEyLCBbXSwgImYwYzQiLCAiTTQ0NC40ODUgNDIyLjQyNmM0LjY4OSA0LjY4OSA0LjY4NCAxMi4yODcgMCAxNi45NzEtMzIuODA0IDMyLjgwNC04NS45OTEgMzIuODA0LTExOC43OTUgMEwyMTAuMTc2IDMyMy44ODNsLTI0Ljg1OSAyNC44NTlDMTg5LjYzIDM1OS42NTcgMTkyIDM3MS41NTIgMTkyIDM4NGMwIDUzLjAxOS00Mi45ODEgOTYtOTYgOTZTMCA0MzcuMDE5IDAgMzg0czQyLjk4MS05NiA5Ni05NmM0LjUzNiAwIDguOTk1LjMyMiAxMy4zNjMuOTNsMzIuOTMtMzIuOTMtMzIuOTMtMzIuOTNjLTQuMzY4LjYwOC04LjgyNy45My0xMy4zNjMuOTMtNTMuMDE5IDAtOTYtNDIuOTgxLTk2LTk2czQyLjk4MS05NiA5Ni05NiA5NiA0Mi45ODEgOTYgOTZjMCAxMi40NDgtMi4zNyAyNC4zNDMtNi42ODIgMzUuMjU4bDI0Ljg1OSAyNC44NTlMMzI1LjY5IDcyLjYwM2MzMi44MDQtMzIuODA0IDg1Ljk5MS0zMi44MDQgMTE4Ljc5NSAwIDQuNjg0IDQuNjg0IDQuNjg5IDEyLjI4MiAwIDE2Ljk3MUwyNzguMDU5IDI1NmwxNjYuNDI2IDE2Ni40MjZ6TTk2IDk2Yy0xNy42NDUgMC0zMiAxNC4zNTUtMzIgMzJzMTQuMzU1IDMyIDMyIDMyIDMyLTE0LjM1NSAzMi0zMi0xNC4zNTUtMzItMzItMzJtMCAyNTZjLTE3LjY0NSAwLTMyIDE0LjM1NS0zMiAzMnMxNC4zNTUgMzIgMzIgMzIgMzItMTQuMzU1IDMyLTMyLTE0LjM1NS0zMi0zMi0zMm0xMTItMTA4Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEyczUuMzczIDEyIDEyIDEyIDEyLTUuMzczIDEyLTEyLTUuMzczLTEyLTEyLTEyeiJdLAogICAgICAiZGF0YWJhc2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjFjMCIsICJNNDQ4IDczLjE0M3Y0NS43MTRDNDQ4IDE1OS4xNDMgMzQ3LjY2NyAxOTIgMjI0IDE5MlMwIDE1OS4xNDMgMCAxMTguODU3VjczLjE0M0MwIDMyLjg1NyAxMDAuMzMzIDAgMjI0IDBzMjI0IDMyLjg1NyAyMjQgNzMuMTQzek00NDggMTc2djEwMi44NTdDNDQ4IDMxOS4xNDMgMzQ3LjY2NyAzNTIgMjI0IDM1MlMwIDMxOS4xNDMgMCAyNzguODU3VjE3NmM0OC4xMjUgMzMuMTQzIDEzNi4yMDggNDguNTcyIDIyNCA0OC41NzJTMzk5Ljg3NCAyMDkuMTQzIDQ0OCAxNzZ6bTAgMTYwdjEwMi44NTdDNDQ4IDQ3OS4xNDMgMzQ3LjY2NyA1MTIgMjI0IDUxMlMwIDQ3OS4xNDMgMCA0MzguODU3VjMzNmM0OC4xMjUgMzMuMTQzIDEzNi4yMDggNDguNTcyIDIyNCA0OC41NzJTMzk5Ljg3NCAzNjkuMTQzIDQ0OCAzMzZ6Il0sCiAgICAgICJkZWFmIjogWzUxMiwgNTEyLCBbXSwgImYyYTQiLCAiTTIxNiAyNjBjMCAxNS40NjQtMTIuNTM2IDI4LTI4IDI4cy0yOC0xMi41MzYtMjgtMjhjMC00NC4xMTIgMzUuODg4LTgwIDgwLTgwczgwIDM1Ljg4OCA4MCA4MGMwIDE1LjQ2NC0xMi41MzYgMjgtMjggMjhzLTI4LTEyLjUzNi0yOC0yOGMwLTEzLjIzNC0xMC43NjctMjQtMjQtMjRzLTI0IDEwLjc2Ni0yNCAyNHptMjQtMTc2Yy05Ny4wNDcgMC0xNzYgNzguOTUzLTE3NiAxNzYgMCAxNS40NjQgMTIuNTM2IDI4IDI4IDI4czI4LTEyLjUzNiAyOC0yOGMwLTY2LjE2OCA1My44MzItMTIwIDEyMC0xMjBzMTIwIDUzLjgzMiAxMjAgMTIwYzAgNzUuMTY0LTcxLjAwOSA3MC4zMTEtNzEuOTk3IDE0My42MjJMMjg4IDQwNGMwIDI4LjY3My0yMy4zMjcgNTItNTIgNTItMTUuNDY0IDAtMjggMTIuNTM2LTI4IDI4czEyLjUzNiAyOCAyOCAyOGM1OS40NzUgMCAxMDcuODc2LTQ4LjMyOCAxMDgtMTA3Ljc3NC41OTUtMzQuNDI4IDcyLTQ4LjI0IDcyLTE0NC4yMjYgMC05Ny4wNDctNzguOTUzLTE3Ni0xNzYtMTc2em0yNjguNDg1LTUyLjIwMUw0ODAuMiAzLjUxNWMtNC42ODctNC42ODYtMTIuMjg0LTQuNjg2LTE2Ljk3MSAwTDM3Ni4yIDkwLjU0NGMtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxbDI4LjI4NSAyOC4yODVjNC42ODYgNC42ODYgMTIuMjg0IDQuNjg2IDE2Ljk3IDBsODcuMDMtODcuMDI5YzQuNjg3LTQuNjg4IDQuNjg3LTEyLjI4NiAwLTE2Ljk3MnpNMTY4Ljk3IDMxNC43NDVjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NyAwTDMuNTE1IDQ2My4yM2MtNC42ODYgNC42ODYtNC42ODYgMTIuMjg0IDAgMTYuOTcxTDMxLjggNTA4LjQ4NWM0LjY4NyA0LjY4NiAxMi4yODQgNC42ODYgMTYuOTcxIDBMMTk3LjI1NiAzNjBjNC42ODYtNC42ODYgNC42ODYtMTIuMjg0IDAtMTYuOTcxbC0yOC4yODYtMjguMjg0eiJdLAogICAgICAiZGVza3RvcCI6IFs1NzYsIDUxMiwgW10sICJmMTA4IiwgIk01MjggMEg0OEMyMS41IDAgMCAyMS41IDAgNDh2MzIwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDE5MmwtMTYgNDhoLTcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0aDI3MmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGgtNzJsLTE2LTQ4aDE5MmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OHptLTE2IDM1Mkg2NFY2NGg0NDh2Mjg4eiJdLAogICAgICAiZG9sbGFyLXNpZ24iOiBbMzIwLCA1MTIsIFtdLCAiZjE1NSIsICJNMTEzLjQxMSAxNjkuMzc1YzAtMjMuMzM3IDIxLjUzNi0zOC40MTcgNTQuODY1LTM4LjQxNyAyNi43MjYgMCA1NC4xMTYgMTIuMjYzIDc2LjQ2MSAyOC4zMzMgNS44OCA0LjIyOSAxNC4xMyAyLjM1NCAxNy41NzUtNC4wMTdsMjMuNTUyLTQzLjU0OWMyLjY0OS00Ljg5OCAxLjU5Ni0xMC45OTEtMi41NzUtMTQuNjgtMjQuMjgxLTIxLjQ3Ny01OS4xMzUtMzQuMDktOTEuMjg5LTM3LjgwNlYxMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0OS44MzJjLTU4LjYyNyAxMy4yOS05Ny4yOTkgNTUuOTE3LTk3LjI5OSAxMDguNjM5IDAgMTIzLjUzMyAxODQuNzY1IDExMC44MSAxODQuNzY1IDE2OS40MTQgMCAxOS44MjMtMTYuMzExIDQxLjE1OC01Mi4xMjQgNDEuMTU4LTMwLjc1MSAwLTYyLjkzMi0xNS44OC04Ny44NDgtMzUuODg3LTUuMzEtNC4yNjQtMTMuMDgyLTMuMzE1LTE3LjE1OSAyLjE0bC0zMC4zODkgNDAuNjY3Yy0zLjYyNyA0Ljg1NC0zLjA3NSAxMS42NTcgMS4zMDIgMTUuODQ3IDI0LjA0OSAyMy4wMiA1OS4yNDkgNDEuMjU1IDk4Ljc1MSA0Ny45NzNWNTAwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDcuNDM4YzY1LjcyLTEwLjIxNSAxMDYuMTc2LTU5LjE4NiAxMDYuMTc2LTExNi41MTYuMDAxLTExOS42ODgtMTg0Ljc2NC0xMDMuNzA3LTE4NC43NjQtMTY2LjY3MXoiXSwKICAgICAgImRvdC1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjE5MiIsICJNMjU2IDhDMTE5LjAzMyA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4em04MCAyNDhjMCA0NC4xMTItMzUuODg4IDgwLTgwIDgwcy04MC0zNS44ODgtODAtODAgMzUuODg4LTgwIDgwLTgwIDgwIDM1Ljg4OCA4MCA4MHoiXSwKICAgICAgImRvd25sb2FkIjogWzUxMiwgNTEyLCBbXSwgImYwMTkiLCAiTTIxNiAwaDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0djE2OGg4Ny43YzE3LjggMCAyNi43IDIxLjUgMTQuMSAzNC4xTDI2OS43IDM3OC4zYy03LjUgNy41LTE5LjggNy41LTI3LjMgMEw5MC4xIDIyNi4xYy0xMi42LTEyLjYtMy43LTM0LjEgMTQuMS0zNC4xSDE5MlYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMjk2IDM3NnYxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjM3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNDYuN2w0OSA0OWMyMC4xIDIwLjEgNTIuNSAyMC4xIDcyLjYgMGw0OS00OUg0ODhjMTMuMyAwIDI0IDEwLjcgMjQgMjR6bS0xMjQgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwIDkgMjAgMjAgMjAgMjAtOSAyMC0yMHptNjQgMGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjAgOSAyMCAyMCAyMCAyMC05IDIwLTIweiJdLAogICAgICAiZWRpdCI6IFs1NzYsIDUxMiwgW10sICJmMDQ0IiwgIk00MDIuNiA4My4ybDkwLjIgOTAuMmMzLjggMy44IDMuOCAxMCAwIDEzLjhMMjc0LjQgNDA1LjZsLTkyLjggMTAuM2MtMTIuNCAxLjQtMjIuOS05LjEtMjEuNS0yMS41bDEwLjMtOTIuOEwzODguOCA4My4yYzMuOC0zLjggMTAtMy44IDEzLjggMHptMTYyLTIyLjlsLTQ4LjgtNDguOGMtMTUuMi0xNS4yLTM5LjktMTUuMi01NS4yIDBsLTM1LjQgMzUuNGMtMy44IDMuOC0zLjggMTAgMCAxMy44bDkwLjIgOTAuMmMzLjggMy44IDEwIDMuOCAxMy44IDBsMzUuNC0zNS40YzE1LjItMTUuMyAxNS4yLTQwIDAtNTUuMnpNMzg0IDM0Ni4yVjQ0OEg2NFYxMjhoMjI5LjhjMy4yIDAgNi4yLTEuMyA4LjUtMy41bDQwLTQwYzcuNi03LjYgMi4yLTIwLjUtOC41LTIwLjVINDhDMjEuNSA2NCAwIDg1LjUgMCAxMTJ2MzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFYzMDYuMmMwLTEwLjctMTIuOS0xNi0yMC41LTguNWwtNDAgNDBjLTIuMiAyLjMtMy41IDUuMy0zLjUgOC41eiJdLAogICAgICAiZWplY3QiOiBbNDQ4LCA1MTIsIFtdLCAiZjA1MiIsICJNNDQ4IDM4NHY2NGMwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJIMzJjLTE3LjY3MyAwLTMyLTE0LjMyNy0zMi0zMnYtNjRjMC0xNy42NzMgMTQuMzI3LTMyIDMyLTMyaDM4NGMxNy42NzMgMCAzMiAxNC4zMjcgMzIgMzJ6TTQ4LjA1MyAzMjBoMzUxLjg4NmM0MS42NTEgMCA2My41ODEtNDkuNjc0IDM1LjM4My04MC40MzVMMjU5LjM4MyA0Ny41NThjLTE5LjAxNC0yMC43NDMtNTEuNzUxLTIwLjc0NC03MC43NjcgMEwxMi42NyAyMzkuNTY1Qy0xNS40NzUgMjcwLjI2OCA2LjMyNCAzMjAgNDguMDUzIDMyMHoiXSwKICAgICAgImVsbGlwc2lzLWgiOiBbNTEyLCA1MTIsIFtdLCAiZjE0MSIsICJNMzI4IDI1NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnMtNzItMzIuMi03Mi03MiAzMi4yLTcyIDcyLTcyIDcyIDMyLjIgNzIgNzJ6bTEwNC03MmMtMzkuOCAwLTcyIDMyLjItNzIgNzJzMzIuMiA3MiA3MiA3MiA3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJ6bS0zNTIgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJzMzIuMiA3MiA3MiA3MiA3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJ6Il0sCiAgICAgICJlbGxpcHNpcy12IjogWzE5MiwgNTEyLCBbXSwgImYxNDIiLCAiTTk2IDE4NGMzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3Mi03Mi0zMi4yLTcyLTcyIDMyLjItNzIgNzItNzJ6TTI0IDgwYzAgMzkuOCAzMi4yIDcyIDcyIDcyczcyLTMyLjIgNzItNzJTMTM1LjggOCA5NiA4IDI0IDQwLjIgMjQgODB6bTAgMzUyYzAgMzkuOCAzMi4yIDcyIDcyIDcyczcyLTMyLjIgNzItNzItMzIuMi03Mi03Mi03Mi03MiAzMi4yLTcyIDcyeiJdLAogICAgICAiZW52ZWxvcGUiOiBbNTEyLCA1MTIsIFtdLCAiZjBlMCIsICJNNTAyLjMgMTkwLjhjMy45LTMuMSA5LjctLjIgOS43IDQuN1Y0MDBjMCAyNi41LTIxLjUgNDgtNDggNDhINDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE5NS42YzAtNSA1LjctNy44IDkuNy00LjcgMjIuNCAxNy40IDUyLjEgMzkuNSAxNTQuMSAxMTMuNiAyMS4xIDE1LjQgNTYuNyA0Ny44IDkyLjIgNDcuNiAzNS43LjMgNzItMzIuOCA5Mi4zLTQ3LjYgMTAyLTc0LjEgMTMxLjYtOTYuMyAxNTQtMTEzLjd6TTI1NiAzMjBjMjMuMi40IDU2LjYtMjkuMiA3My40LTQxLjQgMTMyLjctOTYuMyAxNDIuOC0xMDQuNyAxNzMuNC0xMjguNyA1LjgtNC41IDkuMi0xMS41IDkuMi0xOC45di0xOWMwLTI2LjUtMjEuNS00OC00OC00OEg0OEMyMS41IDY0IDAgODUuNSAwIDExMnYxOWMwIDcuNCAzLjQgMTQuMyA5LjIgMTguOSAzMC42IDIzLjkgNDAuNyAzMi40IDE3My40IDEyOC43IDE2LjggMTIuMiA1MC4yIDQxLjggNzMuNCA0MS40eiJdLAogICAgICAiZW52ZWxvcGUtb3BlbiI6IFs1MTIsIDUxMiwgW10sICJmMmI2IiwgIk01MTIgNDY0YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWMjAwLjcyNGE0OCA0OCAwIDAgMSAxOC4zODctMzcuNzc2YzI0LjkxMy0xOS41MjkgNDUuNTAxLTM1LjM2NSAxNjQuMi0xMjEuNTExQzE5OS40MTIgMjkuMTcgMjMyLjc5Ny0uMzQ3IDI1NiAuMDAzYzIzLjE5OC0uMzU0IDU2LjU5NiAyOS4xNzIgNzMuNDEzIDQxLjQzMyAxMTguNjg3IDg2LjEzNyAxMzkuMzAzIDEwMS45OTUgMTY0LjIgMTIxLjUxMkE0OCA0OCAwIDAgMSA1MTIgMjAwLjcyNFY0NjR6bS02NS42NjYtMTk2LjYwNWMtMi41NjMtMy43MjgtNy43LTQuNTk1LTExLjMzOS0xLjkwNy0yMi44NDUgMTYuODczLTU1LjQ2MiA0MC43MDUtMTA1LjU4MiA3Ny4wNzktMTYuODI1IDEyLjI2Ni01MC4yMSA0MS43ODEtNzMuNDEzIDQxLjQzLTIzLjIxMS4zNDQtNTYuNTU5LTI5LjE0My03My40MTMtNDEuNDMtNTAuMTE0LTM2LjM3LTgyLjczNC02MC4yMDQtMTA1LjU4Mi03Ny4wNzktMy42MzktMi42ODgtOC43NzYtMS44MjEtMTEuMzM5IDEuOTA3bC05LjA3MiAxMy4xOTZhNy45OTggNy45OTggMCAwIDAgMS44MzkgMTAuOTY3YzIyLjg4NyAxNi44OTkgNTUuNDU0IDQwLjY5IDEwNS4zMDMgNzYuODY4IDIwLjI3NCAxNC43ODEgNTYuNTI0IDQ3LjgxMyA5Mi4yNjQgNDcuNTczIDM1LjcyNC4yNDIgNzEuOTYxLTMyLjc3MSA5Mi4yNjMtNDcuNTczIDQ5Ljg1LTM2LjE3OSA4Mi40MTgtNTkuOTcgMTA1LjMwMy03Ni44NjhhNy45OTggNy45OTggMCAwIDAgMS44MzktMTAuOTY3bC05LjA3MS0xMy4xOTZ6Il0sCiAgICAgICJlbnZlbG9wZS1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjE5OSIsICJNNDAwIDMySDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYzNTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzNTJjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0xNzguMTE3IDI2Mi4xMDRDODcuNDI5IDE5Ni4yODcgODguMzUzIDE5Ni4xMjEgNjQgMTc3LjE2N1YxNTJjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDI3MmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MjUuMTY3Yy0yNC4zNzEgMTguOTY5LTIzLjQzNCAxOS4xMjQtMTE0LjExNyA4NC45MzgtMTAuNSA3LjY1NS0zMS4zOTIgMjYuMTItNDUuODgzIDI1Ljg5NC0xNC41MDMuMjE4LTM1LjM2Ny0xOC4yMjctNDUuODgzLTI1Ljg5NXpNMzg0IDIxNy43NzVWMzYwYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEg4OGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0VjIxNy43NzVjMTMuOTU4IDEwLjc5NCAzMy4zMjkgMjUuMjM2IDk1LjMwMyA3MC4yMTQgMTQuMTYyIDEwLjM0MSAzNy45NzUgMzIuMTQ1IDY0LjY5NCAzMi4wMSAyNi44ODcuMTM0IDUxLjAzNy0yMi4wNDEgNjQuNzItMzIuMDI1IDYxLjk1OC00NC45NjUgODEuMzI1LTU5LjQwNiA5NS4yODMtNzAuMTk5eiJdLAogICAgICAiZXJhc2VyIjogWzUxMiwgNTEyLCBbXSwgImYxMmQiLCAiTTQ5Ny45NDEgMjczLjk0MWMxOC43NDUtMTguNzQ1IDE4Ljc0NS00OS4xMzcgMC02Ny44ODJsLTE2MC0xNjBjLTE4Ljc0NS0xOC43NDUtNDkuMTM2LTE4Ljc0Ni02Ny44ODMgMGwtMjU2IDI1NmMtMTguNzQ1IDE4Ljc0NS0xOC43NDUgNDkuMTM3IDAgNjcuODgybDk2IDk2QTQ4LjAwNCA0OC4wMDQgMCAwIDAgMTQ0IDQ4MGgzNTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzNTUuODgzbDE0Mi4wNTgtMTQyLjA1OXptLTMwMi42MjctNjIuNjI3bDEzNy4zNzMgMTM3LjM3M0wyNjUuMzczIDQxNkgxNTAuNjI4bC04MC04MCAxMjQuNjg2LTEyNC42ODZ6Il0sCiAgICAgICJldXJvLXNpZ24iOiBbMzIwLCA1MTIsIFtdLCAiZjE1MyIsICJNMzEwLjcwNiA0MTMuNzY1Yy0xLjMxNC02LjYzLTcuODM1LTEwLjg3Mi0xNC40MjQtOS4zNjktMTAuNjkyIDIuNDM5LTI3LjQyMiA1LjQxMy00NS40MjYgNS40MTMtNTYuNzYzIDAtMTAxLjkyOS0zNC43OS0xMjEuNDYxLTg1LjQ0OWgxMTMuNjg5YTEyIDEyIDAgMCAwIDExLjcwOC05LjM2OWw2LjM3My0yOC4zNmMxLjY4Ni03LjUwMi00LjAxOS0xNC42MzEtMTEuNzA4LTE0LjYzMUgxMTUuMjJjLTEuMjEtMTQuMzI4LTEuNDE0LTI4LjI4Ny4xMzctNDIuMjQ1SDI2MS45NWExMiAxMiAwIDAgMCAxMS43MjMtOS40MzRsNi41MTItMjkuNzU1YzEuNjM4LTcuNDg0LTQuMDYxLTE0LjU2Ni0xMS43MjMtMTQuNTY2SDEzMC4xODRjMjAuNjMzLTQ0Ljk5MSA2Mi42OS03NS4wMyAxMTcuNjE5LTc1LjAzIDE0LjQ4NiAwIDI4LjU2NCAyLjI1IDM3Ljg1MSA0LjE0NSA2LjIxNiAxLjI2OCAxMi4zNDctMi40OTggMTQuMDAyLTguNjIzbDExLjk5MS00NC4zNjhjMS44MjItNi43NDEtMi40NjUtMTMuNjE2LTkuMzI2LTE0LjkxN0MyOTAuMjE3IDM0LjkxMiAyNzAuNzEgMzIgMjQ5LjYzNSAzMiAxNTIuNDUxIDMyIDc0LjAzIDkyLjI1MiA0NS4wNzUgMTc2SDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI5Ljc1NWMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIxLjU2OWMtMS4wMDkgMTMuNjA3LTEuMTgxIDI5LjI4Ny0uMTgxIDQyLjI0NUgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyOC4zNmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDMwLjExNEM2Ny4xMzkgNDE0LjY5MiAxNDUuMjY0IDQ4MCAyNDkuNjM1IDQ4MGMyNi4zMDEgMCA0OC41NjItNC41NDQgNjEuMTAxLTcuNzg4IDYuMTY3LTEuNTk1IDEwLjAyNy03LjcwOCA4Ljc4OC0xMy45NTdsLTguODE4LTQ0LjQ5eiJdLAogICAgICAiZXhjaGFuZ2UtYWx0IjogWzUxMiwgNTEyLCBbXSwgImYzNjIiLCAiTTAgMTY4di0xNmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMzYwVjgwYzAtMjEuMzY3IDI1Ljg5OS0zMi4wNDIgNDAuOTcxLTE2Ljk3MWw4MCA4MGM5LjM3MiA5LjM3MyA5LjM3MiAyNC41NjkgMCAzMy45NDFsLTgwIDgwQzQwOS45NTYgMjcxLjk4MiAzODQgMjYxLjQ1NiAzODQgMjQwdi00OEgyNGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0em00ODggMTUySDEyOHYtNDhjMC0yMS4zMTQtMjUuODYyLTMyLjA4LTQwLjk3MS0xNi45NzFsLTgwIDgwYy05LjM3MiA5LjM3My05LjM3MiAyNC41NjkgMCAzMy45NDFsODAgODBDMTAyLjA1NyA0NjMuOTk3IDEyOCA0NTMuNDM3IDEyOCA0MzJ2LTQ4aDM2MGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTE2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHoiXSwKICAgICAgImV4Y2xhbWF0aW9uIjogWzE5MiwgNTEyLCBbXSwgImYxMmEiLCAiTTE3NiA0MzJjMCA0NC4xMTItMzUuODg4IDgwLTgwIDgwcy04MC0zNS44ODgtODAtODAgMzUuODg4LTgwIDgwLTgwIDgwIDM1Ljg4OCA4MCA4MHpNMjUuMjYgMjUuMTk5bDEzLjYgMjcyQzM5LjQ5OSAzMDkuOTcyIDUwLjA0MSAzMjAgNjIuODMgMzIwaDY2LjM0YzEyLjc4OSAwIDIzLjMzMS0xMC4wMjggMjMuOTctMjIuODAxbDEzLjYtMjcyQzE2Ny40MjUgMTEuNDkgMTU2LjQ5NiAwIDE0Mi43NyAwSDQ5LjIzQzM1LjUwNCAwIDI0LjU3NSAxMS40OSAyNS4yNiAyNS4xOTl6Il0sCiAgICAgICJleGNsYW1hdGlvbi1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjA2YSIsICJNNTA0IDI1NmMwIDEzNi45OTctMTExLjA0MyAyNDgtMjQ4IDI0OFM4IDM5Mi45OTcgOCAyNTZDOCAxMTkuMDgzIDExOS4wNDMgOCAyNTYgOHMyNDggMTExLjA4MyAyNDggMjQ4em0tMjQ4IDUwYy0yNS40MDUgMC00NiAyMC41OTUtNDYgNDZzMjAuNTk1IDQ2IDQ2IDQ2IDQ2LTIwLjU5NSA0Ni00Ni0yMC41OTUtNDYtNDYtNDZ6bS00My42NzMtMTY1LjM0Nmw3LjQxOCAxMzZjLjM0NyA2LjM2NCA1LjYwOSAxMS4zNDYgMTEuOTgyIDExLjM0Nmg0OC41NDZjNi4zNzMgMCAxMS42MzUtNC45ODIgMTEuOTgyLTExLjM0Nmw3LjQxOC0xMzZjLjM3NS02Ljg3NC01LjA5OC0xMi42NTQtMTEuOTgyLTEyLjY1NGgtNjMuMzgzYy02Ljg4NCAwLTEyLjM1NiA1Ljc4LTExLjk4MSAxMi42NTR6Il0sCiAgICAgICJleGNsYW1hdGlvbi10cmlhbmdsZSI6IFs1NzYsIDUxMiwgW10sICJmMDcxIiwgIk01NjkuNTE3IDQ0MC4wMTNDNTg3Ljk3NSA0NzIuMDA3IDU2NC44MDYgNTEyIDUyNy45NCA1MTJINDguMDU0Yy0zNi45MzcgMC01OS45OTktNDAuMDU1LTQxLjU3Ny03MS45ODdMMjQ2LjQyMyAyMy45ODVjMTguNDY3LTMyLjAwOSA2NC43Mi0zMS45NTEgODMuMTU0IDBsMjM5Ljk0IDQxNi4wMjh6TTI4OCAzNTRjLTI1LjQwNSAwLTQ2IDIwLjU5NS00NiA0NnMyMC41OTUgNDYgNDYgNDYgNDYtMjAuNTk1IDQ2LTQ2LTIwLjU5NS00Ni00Ni00NnptLTQzLjY3My0xNjUuMzQ2bDcuNDE4IDEzNmMuMzQ3IDYuMzY0IDUuNjA5IDExLjM0NiAxMS45ODIgMTEuMzQ2aDQ4LjU0NmM2LjM3MyAwIDExLjYzNS00Ljk4MiAxMS45ODItMTEuMzQ2bDcuNDE4LTEzNmMuMzc1LTYuODc0LTUuMDk4LTEyLjY1NC0xMS45ODItMTIuNjU0aC02My4zODNjLTYuODg0IDAtMTIuMzU2IDUuNzgtMTEuOTgxIDEyLjY1NHoiXSwKICAgICAgImV4cGFuZCI6IFs0NDgsIDUxMiwgW10sICJmMDY1IiwgIk0wIDE4MFY1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxMjRjNi42IDAgMTIgNS40IDEyIDEydjQwYzAgNi42LTUuNCAxMi0xMiAxMkg2NHY4NGMwIDYuNi01LjQgMTItMTIgMTJIMTJjLTYuNiAwLTEyLTUuNC0xMi0xMnpNMjg4IDQ0djQwYzAgNi42IDUuNCAxMiAxMiAxMmg4NHY4NGMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEyVjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDMwMGMtNi42IDAtMTIgNS40LTEyIDEyem0xNDggMjc2aC00MGMtNi42IDAtMTIgNS40LTEyIDEydjg0aC04NGMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmgxMjRjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzMyYzAtNi42LTUuNC0xMi0xMi0xMnpNMTYwIDQ2OHYtNDBjMC02LjYtNS40LTEyLTEyLTEySDY0di04NGMwLTYuNi01LjQtMTItMTItMTJIMTJjLTYuNiAwLTEyIDUuNC0xMiAxMnYxMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTI0YzYuNiAwIDEyLTUuNCAxMi0xMnoiXSwKICAgICAgImV4cGFuZC1hcnJvd3MtYWx0IjogWzQ0OCwgNTEyLCBbXSwgImYzMWUiLCAiTTQ0OC4xIDM0NHYxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRoLTExMmMtMjEuNCAwLTMyLjEtMjUuOS0xNy00MWwzNi4yLTM2LjJMMjI0IDI5NS42IDExNi44IDQwMi45IDE1MyA0MzljMTUuMSAxNS4xIDQuNCA0MS0xNyA0MUgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMzQ0YzAtMjEuNCAyNS45LTMyLjEgNDEtMTdsMzYuMiAzNi4yTDE4NC41IDI1NiA3Ny4yIDE0OC43IDQxIDE4NWMtMTUuMSAxNS4xLTQxIDQuNC00MS0xN1Y1NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxMTJjMjEuNCAwIDMyLjEgMjUuOSAxNyA0MWwtMzYuMiAzNi4yTDIyNCAyMTYuNGwxMDcuMy0xMDcuM0wyOTUuMSA3M2MtMTUuMS0xNS4xLTQuNC00MSAxNy00MWgxMTJjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MTEyYzAgMjEuNC0yNS45IDMyLjEtNDEgMTdsLTM2LjItMzYuMkwyNjMuNiAyNTZsMTA3LjMgMTA3LjMgMzYuMi0zNi4yYzE1LjEtMTUuMiA0MS00LjUgNDEgMTYuOXoiXSwKICAgICAgImV4dGVybmFsLWxpbmstYWx0IjogWzU3NiwgNTEyLCBbXSwgImYzNWQiLCAiTTU3NiAyNHYxMjcuOTg0YzAgMjEuNDYxLTI1Ljk2IDMxLjk4LTQwLjk3MSAxNi45NzFsLTM1LjcwNy0zNS43MDktMjQzLjUyMyAyNDMuNTIzYy05LjM3MyA5LjM3My0yNC41NjggOS4zNzMtMzMuOTQxIDBsLTIyLjYyNy0yMi42MjdjLTkuMzczLTkuMzczLTkuMzczLTI0LjU2OSAwLTMzLjk0MUw0NDIuNzU2IDc2LjY3NmwtMzUuNzAzLTM1LjcwNUMzOTEuOTgyIDI1LjkgNDAyLjY1NiAwIDQyNC4wMjQgMEg1NTJjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0ek00MDcuMDI5IDI3MC43OTRsLTE2IDE2QTIzLjk5OSAyMy45OTkgMCAwIDAgMzg0IDMwMy43NjVWNDQ4SDY0VjEyOGgyNjRhMjQuMDAzIDI0LjAwMyAwIDAgMCAxNi45Ny03LjAyOWwxNi0xNkMzNzYuMDg5IDg5Ljg1MSAzNjUuMzgxIDY0IDM0NCA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjI4Ny43NjRjMC0yMS4zODItMjUuODUyLTMyLjA5LTQwLjk3MS0xNi45N3oiXSwKICAgICAgImV4dGVybmFsLWxpbmstc3F1YXJlLWFsdCI6IFs0NDgsIDUxMiwgW10sICJmMzYwIiwgIk00NDggODB2MzUyYzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWODBjMC0yNi41MSAyMS40OS00OCA0OC00OGgzNTJjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHptLTg4IDE2SDI0OC4wMjljLTIxLjMxMyAwLTMyLjA4IDI1Ljg2MS0xNi45NzEgNDAuOTcxbDMxLjk4NCAzMS45ODdMNjcuNTE1IDM2NC40ODVjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwzMS4wMjkgMzEuMDI5YzQuNjg3IDQuNjg2IDEyLjI4NSA0LjY4NiAxNi45NzEgMGwxOTUuNTI2LTE5NS41MjYgMzEuOTg4IDMxLjk5MUMzNTguMDU4IDI2My45NzcgMzg0IDI1My40MjUgMzg0IDIzMS45NzlWMTIwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHoiXSwKICAgICAgImV5ZSI6IFs1NzYsIDUxMiwgW10sICJmMDZlIiwgIk01NjkuMzU0IDIzMS42MzFDNTEyLjk2OSAxMzUuOTQ5IDQwNy44MSA3MiAyODggNzIgMTY4LjE0IDcyIDYzLjAwNCAxMzUuOTk0IDYuNjQ2IDIzMS42MzFhNDcuOTk5IDQ3Ljk5OSAwIDAgMCAwIDQ4LjczOUM2My4wMzEgMzc2LjA1MSAxNjguMTkgNDQwIDI4OCA0NDBjMTE5Ljg2IDAgMjI0Ljk5Ni02My45OTQgMjgxLjM1NC0xNTkuNjMxYTQ3Ljk5NyA0Ny45OTcgMCAwIDAgMC00OC43Mzh6TTI4OCAzOTJjLTc1LjE2MiAwLTEzNi02MC44MjctMTM2LTEzNiAwLTc1LjE2MiA2MC44MjYtMTM2IDEzNi0xMzYgNzUuMTYyIDAgMTM2IDYwLjgyNiAxMzYgMTM2IDAgNzUuMTYyLTYwLjgyNiAxMzYtMTM2IDEzNnptMTA0LTEzNmMwIDU3LjQzOC00Ni41NjIgMTA0LTEwNCAxMDRzLTEwNC00Ni41NjItMTA0LTEwNGMwLTE3LjcwOCA0LjQzMS0zNC4zNzkgMTIuMjM2LTQ4Ljk3M2wtLjAwMS4wMzJjMCAyMy42NTEgMTkuMTczIDQyLjgyMyA0Mi44MjQgNDIuODIzczQyLjgyNC0xOS4xNzMgNDIuODI0LTQyLjgyM2MwLTIzLjY1MS0xOS4xNzMtNDIuODI0LTQyLjgyNC00Mi44MjRsLS4wMzIuMDAxQzI1My42MjEgMTU2LjQzMSAyNzAuMjkyIDE1MiAyODggMTUyYzU3LjQzOCAwIDEwNCA0Ni41NjIgMTA0IDEwNHoiXSwKICAgICAgImV5ZS1kcm9wcGVyIjogWzUxMiwgNTEyLCBbXSwgImYxZmIiLCAiTTE3Ny4zOCAyMDYuNjRMMzkuMDMgMzQ0Ljk3QTI0LjAxIDI0LjAxIDAgMCAwIDMyIDM2MS45NFY0MjRMMCA0ODBsMzIgMzIgNTYtMzJoNjIuMDZjNi4zNiAwIDEyLjQ3LTIuNTMgMTYuOTctNy4wM2wxMzguMzUtMTM4LjMzLTEyOC0xMjh6bTIyNS41NTIgMzAuNDdsMTYuOTUyIDE2Ljk1YzkuMzcgOS4zNyA5LjM3IDI0LjU3IDAgMzMuOTRsLTQwLjk3MyA0MC45N2MtOS4yOTIgOS4zMTItMjQuNTA2IDkuNDM0LTMzLjk0IDBMMTgzLjAyOCAxNjcuMDNjLTkuMzctOS4zNy05LjM3LTI0LjU3IDAtMzMuOTRMMjI0IDkyLjEyYzkuMjg5LTkuMzA5IDI0LjUwMi05LjQzOCAzMy45NCAwbDE2Ljk5MiAxNi45OSA4Mi42MDYtODIuNjAxYzM1LjE5LTM1LjE5IDkyLjUtMzUuNSAxMjggMCA0MC40OSA0OC4wOCAyOS42NiA5OC4zNCAwIDEyOGwtODIuNjA2IDgyLjYwMXoiXSwKICAgICAgImV5ZS1zbGFzaCI6IFs1NzYsIDUxMiwgW10sICJmMDcwIiwgIk0yODYuNjkzIDM5MS45ODRsMzIuNTc5IDQ2LjU0MkEzMzMuOTU4IDMzMy45NTggMCAwIDEgMjg4IDQ0MEMxNjguMTkgNDQwIDYzLjAzMSAzNzYuMDUxIDYuNjQ2IDI4MC4zNjlhNDcuOTk5IDQ3Ljk5OSAwIDAgMSAwLTQ4LjczOWMyNC4wMjMtNDAuNzY2IDU2LjkxMy03NS43NzUgOTYuMDI0LTEwMi41MzdsNTcuMDc3IDgxLjUzOUMxNTQuNzM2IDIyNC44MiAxNTIgMjQwLjA4NyAxNTIgMjU2YzAgNzQuNzM2IDYwLjEzNSAxMzUuMjgyIDEzNC42OTMgMTM1Ljk4NHptMjgyLjY2MS0xMTEuNjE1Yy0zMS42NjcgNTMuNzM3LTc4Ljc0NyA5Ny40Ni0xMzUuMTc1IDEyNS40NzVsLjAxMS4wMTUgNDEuNDcgNTkuMmM3LjYgMTAuODYgNC45NiAyNS44Mi01LjkgMzMuNDJsLTEzLjExIDkuMThjLTEwLjg2IDcuNi0yNS44MiA0Ljk2LTMzLjQyLTUuOUwxMDAuMzQgNDYuOTRjLTcuNi0xMC44Ni00Ljk2LTI1LjgyIDUuOS0zMy40MmwxMy4xMS05LjE4YzEwLjg2LTcuNiAyNS44Mi00Ljk2IDMzLjQyIDUuOWw1MS4wMzggNzIuNjE3QzIzMC42OCA3NS43NzYgMjU4LjkwNSA3MiAyODggNzJjMTE5LjgxIDAgMjI0Ljk2OSA2My45NDkgMjgxLjM1NCAxNTkuNjMxYTQ4LjAwMiA0OC4wMDIgMCAwIDEgMCA0OC43Mzh6TTQyNCAyNTZjMC03NS4xNzQtNjAuODM4LTEzNi0xMzYtMTM2LTE3LjkzOSAwLTM1LjA1NiAzLjQ3My01MC43MjkgOS43NzJsMTkuMjk5IDI3LjA1OGMyNS44NjktOC4xNzEgNTUuMDQ0LTYuMTYzIDgwLjQgNy40MWgtLjAzYy0yMy42NSAwLTQyLjgyIDE5LjE3LTQyLjgyIDQyLjgyIDAgMjMuNjI2IDE5LjE0NyA0Mi44MiA0Mi44MiA0Mi44MiAyMy42NSAwIDQyLjgyLTE5LjE3IDQyLjgyLTQyLjgydi0uMDNjMTguNDYyIDM0LjQ5IDE2LjMxMiA3Ny45MTQtOC4yNSAxMTAuOTV2LjAxbDE5LjMxNCAyNy4wNjFDNDExLjQ5NiAzMjEuMiA0MjQgMjkwLjA3NCA0MjQgMjU2ek0yNjIuMDE0IDM1Ni43MjdsLTc3LjUzLTExMC43NTdjLTUuMDE0IDUyLjM4NyAyOS4zMTQgOTguMzU0IDc3LjUzIDExMC43NTd6Il0sCiAgICAgICJmYXN0LWJhY2t3YXJkIjogWzUxMiwgNTEyLCBbXSwgImYwNDkiLCAiTTAgNDM2Vjc2YzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2MTUxLjlMMjM1LjUgNzEuNEMyNTYuMSA1NC4zIDI4OCA2OC42IDI4OCA5NnYxMzEuOUw0NTkuNSA3MS40QzQ4MC4xIDU0LjMgNTEyIDY4LjYgNTEyIDk2djMyMGMwIDI3LjQtMzEuOSA0MS43LTUyLjUgMjQuNkwyODggMjg1LjNWNDE2YzAgMjcuNC0zMS45IDQxLjctNTIuNSAyNC42TDY0IDI4NS4zVjQzNmMwIDYuNi01LjQgMTItMTIgMTJIMTJjLTYuNiAwLTEyLTUuNC0xMi0xMnoiXSwKICAgICAgImZhc3QtZm9yd2FyZCI6IFs1MTIsIDUxMiwgW10sICJmMDUwIiwgIk01MTIgNzZ2MzYwYzAgNi42LTUuNCAxMi0xMiAxMmgtNDBjLTYuNiAwLTEyLTUuNC0xMi0xMlYyODQuMUwyNzYuNSA0NDAuNmMtMjAuNiAxNy4yLTUyLjUgMi44LTUyLjUtMjQuNlYyODQuMUw1Mi41IDQ0MC42QzMxLjkgNDU3LjggMCA0NDMuNCAwIDQxNlY5NmMwLTI3LjQgMzEuOS00MS43IDUyLjUtMjQuNkwyMjQgMjI2LjhWOTZjMC0yNy40IDMxLjktNDEuNyA1Mi41LTI0LjZMNDQ4IDIyNi44Vjc2YzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ6Il0sCiAgICAgICJmYXgiOiBbNTEyLCA1MTIsIFtdLCAiZjFhYyIsICJNMTI4IDE0NHYzMjBjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxNDRjMC0yNi41MSAyMS40OS00OCA0OC00OGgzMmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4em0zODQgNjR2MjU2YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhIMTkyYy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjQwYzAtMjIuMDkxIDE3LjkwOS00MCA0MC00MGgyMDcuNDMyYTM5Ljk5NiAzOS45OTYgMCAwIDEgMjguMjg0IDExLjcxNmw0OC41NjkgNDguNTY5QTM5Ljk5OSAzOS45OTkgMCAwIDEgNDgwIDg4LjU2OHY3NC4xNzRjMTguNjQxIDYuNTkxIDMyIDI0LjM2IDMyIDQ1LjI1OHptLTMyMC0xNmgyNDBWOTZoLTI0Yy0xMy4yMDMgMC0yNC0xMC43OTctMjQtMjRWNDhIMTkydjE0NHptOTYgMjA0YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDB6bTAtMTI4YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDB6bTEyOCAxMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MHptMC0xMjhjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MHoiXSwKICAgICAgImZlbWFsZSI6IFsyNTYsIDUxMiwgW10sICJmMTgyIiwgIk0xMjggMGMzNS4zNDYgMCA2NCAyOC42NTQgNjQgNjRzLTI4LjY1NCA2NC02NCA2NGMtMzUuMzQ2IDAtNjQtMjguNjU0LTY0LTY0UzkyLjY1NCAwIDEyOCAwbTExOS4yODMgMzU0LjE3OWwtNDgtMTkyQTI0IDI0IDAgMCAwIDE3NiAxNDRoLTExLjM2Yy0yMi43MTEgMTAuNDQzLTQ5LjU5IDEwLjg5NC03My4yOCAwSDgwYTI0IDI0IDAgMCAwLTIzLjI4MyAxOC4xNzlsLTQ4IDE5MkM0LjkzNSAzNjkuMzA1IDE2LjM4MyAzODQgMzIgMzg0aDU2djEwNGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzJjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM4NGg1NmMxNS41OTEgMCAyNy4wNzEtMTQuNjcxIDIzLjI4My0yOS44MjF6Il0sCiAgICAgICJmaWdodGVyLWpldCI6IFs2NDAsIDUxMiwgW10sICJmMGZiIiwgIk01NDQgMjI0bC0xMjgtMTYtNDgtMTZoLTI0TDIyNy4xNTggNDRoMzkuNTA5QzI3OC4zMzMgNDQgMjg4IDQxLjM3NSAyODggMzhzLTkuNjY3LTYtMjEuMzMzLTZIMTUydjEyaDE2djE2NGgtNDhsLTY2LjY2Ny04MEgxOC42NjdMOCAxMzguNjY3VjIwOGg4djE2aDQ4djIuNjY2bC02NCA4djQyLjY2N2w2NCA4VjI4OEgxNnYxNkg4djY5LjMzM0wxOC42NjcgMzg0aDM0LjY2N0wxMjAgMzA0aDQ4djE2NGgtMTZ2MTJoMTE0LjY2N2MxMS42NjcgMCAyMS4zMzMtMi42MjUgMjEuMzMzLTZzLTkuNjY3LTYtMjEuMzMzLTZoLTM5LjUwOUwzNDQgMzIwaDI0bDQ4LTE2IDEyOC0xNmM5Ni0yMS4zMzMgOTYtMjYuNTgzIDk2LTMyIDAtNS40MTcgMC0xMC42NjctOTYtMzJ6Il0sCiAgICAgICJmaWxlIjogWzM4NCwgNTEyLCBbXSwgImYxNWIiLCAiTTIyNCAxMzZWMEgyNEMxMC43IDAgMCAxMC43IDAgMjR2NDY0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDMzNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNjBIMjQ4Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNHptMTYwLTE0LjF2Ni4xSDI1NlYwaDYuMWM2LjQgMCAxMi41IDIuNSAxNyA3bDk3LjkgOThjNC41IDQuNSA3IDEwLjYgNyAxNi45eiJdLAogICAgICAiZmlsZS1hbHQiOiBbMzg0LCA1MTIsIFtdLCAiZjE1YyIsICJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em02NCAyMzZjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEydjh6bTAtNjRjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEydjh6bTAtNzJ2OGMwIDYuNi01LjQgMTItMTIgMTJIMTA4Yy02LjYgMC0xMi01LjQtMTItMTJ2LThjMC02LjYgNS40LTEyIDEyLTEyaDE2OGM2LjYgMCAxMiA1LjQgMTIgMTJ6bTk2LTExNC4xdjYuMUgyNTZWMGg2LjFjNi40IDAgMTIuNSAyLjUgMTcgN2w5Ny45IDk4YzQuNSA0LjUgNyAxMC42IDcgMTYuOXoiXSwKICAgICAgImZpbGUtYXJjaGl2ZSI6IFszODQsIDUxMiwgW10sICJmMWM2IiwgIk0yMjQgMTM2VjBoLTYzLjZ2MzJoLTMyVjBIMjRDMTAuNyAwIDAgMTAuNyAwIDI0djQ2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgzMzZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMTYwSDI0OGMtMTMuMiAwLTI0LTEwLjgtMjQtMjR6TTk1LjkgMzJoMzJ2MzJoLTMyVjMyem0zMi4zIDM4NGMtMzMuMiAwLTU4LTMwLjQtNTEuNC02Mi45TDk2LjQgMjU2di0zMmgzMnYtMzJoLTMydi0zMmgzMnYtMzJoLTMyVjk2aDMyVjY0aDMydjMyaC0zMnYzMmgzMnYzMmgtMzJ2MzJoMzJ2MzJoLTMydjMyaDIyLjFjNS43IDAgMTAuNyA0LjEgMTEuOCA5LjdsMTcuMyA4Ny43YzYuNCAzMi40LTE4LjQgNjIuNi01MS40IDYyLjZ6bTMyLjctNTNjMCAxNC45LTE0LjUgMjctMzIuNCAyN1M5NiAzNzggOTYgMzYzYzAtMTQuOSAxNC41LTI3IDMyLjQtMjdzMzIuNSAxMi4xIDMyLjUgMjd6TTM4NCAxMjEuOXY2LjFIMjU2VjBoNi4xYzYuNCAwIDEyLjUgMi41IDE3IDdsOTcuOSA5OGM0LjUgNC41IDcgMTAuNiA3IDE2Ljl6Il0sCiAgICAgICJmaWxlLWF1ZGlvIjogWzM4NCwgNTEyLCBbXSwgImYxYzciLCAiTTIyNCAxMzZWMEgyNEMxMC43IDAgMCAxMC43IDAgMjR2NDY0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDMzNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNjBIMjQ4Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNHptLTY0IDI2OGMwIDEwLjctMTIuOSAxNi0yMC41IDguNUwxMDQgMzc2SDc2Yy02LjYgMC0xMi01LjQtMTItMTJ2LTU2YzAtNi42IDUuNC0xMiAxMi0xMmgyOGwzNS41LTM2LjVjNy42LTcuNiAyMC41LTIuMiAyMC41IDguNXYxMzZ6bTMzLjItNDcuNmM5LjEtOS4zIDkuMS0yNC4xIDAtMzMuNC0yMi4xLTIyLjggMTIuMi01Ni4yIDM0LjQtMzMuNSAyNy4yIDI3LjkgMjcuMiA3Mi40IDAgMTAwLjQtMjEuOCAyMi4zLTU2LjktMTAuNC0zNC40LTMzLjV6bTg2LTExNy4xYzU0LjQgNTUuOSA1NC40IDE0NC44IDAgMjAwLjgtMjEuOCAyMi40LTU3LTEwLjMtMzQuNC0zMy41IDM2LjItMzcuMiAzNi4zLTk2LjUgMC0xMzMuOC0yMi4xLTIyLjggMTIuMy01Ni4zIDM0LjQtMzMuNXpNMzg0IDEyMS45djYuMUgyNTZWMGg2LjFjNi40IDAgMTIuNSAyLjUgMTcgN2w5Ny45IDk4YzQuNSA0LjUgNyAxMC42IDcgMTYuOXoiXSwKICAgICAgImZpbGUtY29kZSI6IFszODQsIDUxMiwgW10sICJmMWM5IiwgIk0zODQgMTIxLjk0MVYxMjhIMjU2VjBoNi4wNTljNi4zNjUgMCAxMi40NyAyLjUyOSAxNi45NzEgNy4wMjlsOTcuOTQxIDk3Ljk0MUEyNC4wMDUgMjQuMDA1IDAgMCAxIDM4NCAxMjEuOTQxek0yNDggMTYwYy0xMy4yIDAtMjQtMTAuOC0yNC0yNFYwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2NDY0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE2MEgyNDh6TTEyMy4yMDYgNDAwLjUwNWE1LjQgNS40IDAgMCAxLTcuNjMzLjI0NmwtNjQuODY2LTYwLjgxMmE1LjQgNS40IDAgMCAxIDAtNy44NzlsNjQuODY2LTYwLjgxMmE1LjQgNS40IDAgMCAxIDcuNjMzLjI0NmwxOS41NzkgMjAuODg1YTUuNCA1LjQgMCAwIDEtLjM3MiA3Ljc0N0wxMDEuNjUgMzM2bDQwLjc2MyAzNS44NzRhNS40IDUuNCAwIDAgMSAuMzcyIDcuNzQ3bC0xOS41NzkgMjAuODg0em01MS4yOTUgNTAuNDc5bC0yNy40NTMtNy45N2E1LjQwMiA1LjQwMiAwIDAgMS0zLjY4MS02LjY5Mmw2MS40NC0yMTEuNjI2YTUuNDAyIDUuNDAyIDAgMCAxIDYuNjkyLTMuNjgxbDI3LjQ1MiA3Ljk3YTUuNCA1LjQgMCAwIDEgMy42OCA2LjY5MmwtNjEuNDQgMjExLjYyNmE1LjM5NyA1LjM5NyAwIDAgMS02LjY5IDMuNjgxem0xNjAuNzkyLTExMS4wNDVsLTY0Ljg2NiA2MC44MTJhNS40IDUuNCAwIDAgMS03LjYzMy0uMjQ2bC0xOS41OC0yMC44ODVhNS40IDUuNCAwIDAgMSAuMzcyLTcuNzQ3TDI4NC4zNSAzMzZsLTQwLjc2My0zNS44NzRhNS40IDUuNCAwIDAgMS0uMzcyLTcuNzQ3bDE5LjU4LTIwLjg4NWE1LjQgNS40IDAgMCAxIDcuNjMzLS4yNDZsNjQuODY2IDYwLjgxMmE1LjQgNS40IDAgMCAxLS4wMDEgNy44Nzl6Il0sCiAgICAgICJmaWxlLWV4Y2VsIjogWzM4NCwgNTEyLCBbXSwgImYxYzMiLCAiTTIyNCAxMzZWMEgyNEMxMC43IDAgMCAxMC43IDAgMjR2NDY0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDMzNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNjBIMjQ4Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNHptNjAuMSAxMDYuNUwyMjQgMzM2bDYwLjEgOTMuNWM1LjEgOC0uNiAxOC41LTEwLjEgMTguNWgtMzQuOWMtNC40IDAtOC41LTIuNC0xMC42LTYuM0MyMDguOSA0MDUuNSAxOTIgMzczIDE5MiAzNzNjLTYuNCAxNC44LTEwIDIwLTM2LjYgNjguOC0yLjEgMy45LTYuMSA2LjMtMTAuNSA2LjNIMTEwYy05LjUgMC0xNS4yLTEwLjUtMTAuMS0xOC41bDYwLjMtOTMuNS02MC4zLTkzLjVjLTUuMi04IC42LTE4LjUgMTAuMS0xOC41aDM0LjhjNC40IDAgOC41IDIuNCAxMC42IDYuMyAyNi4xIDQ4LjggMjAgMzMuNiAzNi42IDY4LjUgMCAwIDYuMS0xMS43IDM2LjYtNjguNSAyLjEtMy45IDYuMi02LjMgMTAuNi02LjNIMjc0YzkuNS0uMSAxNS4yIDEwLjQgMTAuMSAxOC40ek0zODQgMTIxLjl2Ni4xSDI1NlYwaDYuMWM2LjQgMCAxMi41IDIuNSAxNyA3bDk3LjkgOThjNC41IDQuNSA3IDEwLjYgNyAxNi45eiJdLAogICAgICAiZmlsZS1pbWFnZSI6IFszODQsIDUxMiwgW10sICJmMWM1IiwgIk0zODQgMTIxLjk0MVYxMjhIMjU2VjBoNi4wNTlhMjQgMjQgMCAwIDEgMTYuOTcgNy4wMjlsOTcuOTQxIDk3Ljk0MWEyNC4wMDIgMjQuMDAyIDAgMCAxIDcuMDMgMTYuOTcxek0yNDggMTYwYy0xMy4yIDAtMjQtMTAuOC0yNC0yNFYwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2NDY0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE2MEgyNDh6bS0xMzUuNDU1IDE2YzI2LjUxIDAgNDggMjEuNDkgNDggNDhzLTIxLjQ5IDQ4LTQ4IDQ4LTQ4LTIxLjQ5LTQ4LTQ4IDIxLjQ5MS00OCA0OC00OHptMjA4IDI0MGgtMjU2bC40ODUtNDguNDg1TDEwNC41NDUgMzI4YzQuNjg2LTQuNjg2IDExLjc5OS00LjIwMSAxNi40ODUuNDg1TDE2MC41NDUgMzY4IDI2NC4wNiAyNjQuNDg1YzQuNjg2LTQuNjg2IDEyLjI4NC00LjY4NiAxNi45NzEgMEwzMjAuNTQ1IDMwNHYxMTJ6Il0sCiAgICAgICJmaWxlLXBkZiI6IFszODQsIDUxMiwgW10sICJmMWMxIiwgIk0xODEuOSAyNTYuMWMtNS0xNi00LjktNDYuOS0yLTQ2LjkgOC40IDAgNy42IDM2LjkgMiA0Ni45em0tMS43IDQ3LjJjLTcuNyAyMC4yLTE3LjMgNDMuMy0yOC40IDYyLjcgMTguMy03IDM5LTE3LjIgNjIuOS0yMS45LTEyLjctOS42LTI0LjktMjMuNC0zNC41LTQwLjh6TTg2LjEgNDI4LjFjMCAuOCAxMy4yLTUuNCAzNC45LTQwLjItNi43IDYuMy0yOS4xIDI0LjUtMzQuOSA0MC4yek0yNDggMTYwaDEzNnYzMjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjI0QzAgMTAuNyAxMC43IDAgMjQgMGgyMDB2MTM2YzAgMTMuMiAxMC44IDI0IDI0IDI0em0tOCAxNzEuOGMtMjAtMTIuMi0zMy4zLTI5LTQyLjctNTMuOCA0LjUtMTguNSAxMS42LTQ2LjYgNi4yLTY0LjItNC43LTI5LjQtNDIuNC0yNi41LTQ3LjgtNi44LTUgMTguMy0uNCA0NC4xIDguMSA3Ny0xMS42IDI3LjYtMjguNyA2NC42LTQwLjggODUuOC0uMSAwLS4xLjEtLjIuMS0yNy4xIDEzLjktNzMuNiA0NC41LTU0LjUgNjggNS42IDYuOSAxNiAxMCAyMS41IDEwIDE3LjkgMCAzNS43LTE4IDYxLjEtNjEuOCAyNS44LTguNSA1NC4xLTE5LjEgNzktMjMuMiAyMS43IDExLjggNDcuMSAxOS41IDY0IDE5LjUgMjkuMiAwIDMxLjItMzIgMTkuNy00My40LTEzLjktMTMuNi01NC4zLTkuNy03My42LTcuMnpNMzc3IDEwNUwyNzkgN2MtNC41LTQuNS0xMC42LTctMTctN2gtNnYxMjhoMTI4di02LjFjMC02LjMtMi41LTEyLjQtNy0xNi45em0tNzQuMSAyNTUuM2M0LjEtMi43LTIuNS0xMS45LTQyLjgtOSAzNy4xIDE1LjggNDIuOCA5IDQyLjggOXoiXSwKICAgICAgImZpbGUtcG93ZXJwb2ludCI6IFszODQsIDUxMiwgW10sICJmMWM0IiwgIk0xOTMuNyAyNzEuMmM4LjggMCAxNS41IDIuNyAyMC4zIDguMSA5LjYgMTAuOSA5LjggMzIuNy0uMiA0NC4xLTQuOSA1LjYtMTEuOSA4LjUtMjEuMSA4LjVoLTI2Ljl2LTYwLjdoMjcuOXpNMzc3IDEwNUwyNzkgN2MtNC41LTQuNS0xMC42LTctMTctN2gtNnYxMjhoMTI4di02LjFjMC02LjMtMi41LTEyLjQtNy0xNi45em0tMTUzIDMxVjBIMjRDMTAuNyAwIDAgMTAuNyAwIDI0djQ2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgzMzZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMTYwSDI0OGMtMTMuMiAwLTI0LTEwLjgtMjQtMjR6bTUzIDE2NS4yYzAgOTAuMy04OC44IDc3LjYtMTExLjEgNzcuNlY0MzZjMCA2LjYtNS40IDEyLTEyIDEyaC0zMC44Yy02LjYgMC0xMi01LjQtMTItMTJWMjM2LjJjMC02LjYgNS40LTEyIDEyLTEyaDgxYzQ0LjUgMCA3Mi45IDMyLjggNzIuOSA3N3oiXSwKICAgICAgImZpbGUtdmlkZW8iOiBbMzg0LCA1MTIsIFtdLCAiZjFjOCIsICJNMzg0IDEyMS45NDFWMTI4SDI1NlYwaDYuMDU5YzYuMzY1IDAgMTIuNDcgMi41MjkgMTYuOTcxIDcuMDI5bDk3Ljk0MSA5Ny45NDFBMjQuMDA1IDI0LjAwNSAwIDAgMSAzODQgMTIxLjk0MXpNMjI0IDEzNlYwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2NDY0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em05NiAxNDQuMDE2djExMS45NjNjMCAyMS40NDUtMjUuOTQzIDMxLjk5OC00MC45NzEgMTYuOTcxTDIyNCAzNTMuOTQxVjM5MmMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIODhjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYyODBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDExMmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MzguMDU5bDU1LjAyOS01NS4wMTNjMTUuMDExLTE1LjAxIDQwLjk3MS00LjQ5MSA0MC45NzEgMTYuOTd6Il0sCiAgICAgICJmaWxlLXdvcmQiOiBbMzg0LCA1MTIsIFtdLCAiZjFjMiIsICJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em01Ny4xIDEyMEgzMDVjNy43IDAgMTMuNCA3LjEgMTEuNyAxNC43bC0zOCAxNjhjLTEuMiA1LjUtNi4xIDkuMy0xMS43IDkuM2gtMzhjLTUuNSAwLTEwLjMtMy44LTExLjYtOS4xLTI1LjgtMTAzLjUtMjAuOC04MS4yLTI1LjYtMTEwLjVoLS41Yy0xLjEgMTQuMy0yLjQgMTcuNC0yNS42IDExMC41LTEuMyA1LjMtNi4xIDkuMS0xMS42IDkuMUgxMTdjLTUuNiAwLTEwLjUtMy45LTExLjctOS40bC0zNy44LTE2OGMtMS43LTcuNSA0LTE0LjYgMTEuNy0xNC42aDI0LjVjNS43IDAgMTAuNyA0IDExLjggOS43IDE1LjYgNzggMjAuMSAxMDkuNSAyMSAxMjIuMiAxLjYtMTAuMiA3LjMtMzIuNyAyOS40LTEyMi43IDEuMy01LjQgNi4xLTkuMSAxMS43LTkuMWgyOS4xYzUuNiAwIDEwLjQgMy44IDExLjcgOS4yIDI0IDEwMC40IDI4LjggMTI0IDI5LjYgMTI5LjQtLjItMTEuMi0yLjYtMTcuOCAyMS42LTEyOS4yIDEtNS42IDUuOS05LjUgMTEuNS05LjV6TTM4NCAxMjEuOXY2LjFIMjU2VjBoNi4xYzYuNCAwIDEyLjUgMi41IDE3IDdsOTcuOSA5OGM0LjUgNC41IDcgMTAuNiA3IDE2Ljl6Il0sCiAgICAgICJmaWxtIjogWzUxMiwgNTEyLCBbXSwgImYwMDgiLCAiTTQ4OCA2NGgtOHYyMGMwIDYuNi01LjQgMTItMTIgMTJoLTQwYy02LjYgMC0xMi01LjQtMTItMTJWNjRIOTZ2MjBjMCA2LjYtNS40IDEyLTEyIDEySDQ0Yy02LjYgMC0xMi01LjQtMTItMTJWNjRoLThDMTAuNyA2NCAwIDc0LjcgMCA4OHYzMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoOHYtMjBjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnYyMGgzMjB2LTIwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2MjBoOGMxMy4zIDAgMjQtMTAuNyAyNC0yNFY4OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNOTYgMzcyYzAgNi42LTUuNCAxMi0xMiAxMkg0NGMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjQwem0wLTk2YzAgNi42LTUuNCAxMi0xMiAxMkg0NGMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjQwem0wLTk2YzAgNi42LTUuNCAxMi0xMiAxMkg0NGMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjQwem0yNzIgMjA4YzAgNi42LTUuNCAxMi0xMiAxMkgxNTZjLTYuNiAwLTEyLTUuNC0xMi0xMnYtOTZjMC02LjYgNS40LTEyIDEyLTEyaDIwMGM2LjYgMCAxMiA1LjQgMTIgMTJ2OTZ6bTAtMTY4YzAgNi42LTUuNCAxMi0xMiAxMkgxNTZjLTYuNiAwLTEyLTUuNC0xMi0xMnYtOTZjMC02LjYgNS40LTEyIDEyLTEyaDIwMGM2LjYgMCAxMiA1LjQgMTIgMTJ2OTZ6bTExMiAxNTJjMCA2LjYtNS40IDEyLTEyIDEyaC00MGMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjQwem0wLTk2YzAgNi42LTUuNCAxMi0xMiAxMmgtNDBjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNDBjMC02LjYgNS40LTEyIDEyLTEyaDQwYzYuNiAwIDEyIDUuNCAxMiAxMnY0MHptMC05NmMwIDYuNi01LjQgMTItMTIgMTJoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTQwYzAtNi42IDUuNC0xMiAxMi0xMmg0MGM2LjYgMCAxMiA1LjQgMTIgMTJ2NDB6Il0sCiAgICAgICJmaWx0ZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjBiMCIsICJNNDg3Ljk3NiAwSDI0LjAyOEMyLjcxIDAtOC4wNDcgMjUuODY2IDcuMDU4IDQwLjk3MUwxOTIgMjI1Ljk0MVY0MzJjMCA3LjgzMSAzLjgyMSAxNS4xNyAxMC4yMzcgMTkuNjYybDgwIDU1Ljk4QzI5OC4wMiA1MTguNjkgMzIwIDUwNy40OTMgMzIwIDQ4Ny45OFYyMjUuOTQxbDE4NC45NDctMTg0Ljk3QzUyMC4wMjEgMjUuODk2IDUwOS4zMzggMCA0ODcuOTc2IDB6Il0sCiAgICAgICJmaXJlIjogWzM4NCwgNTEyLCBbXSwgImYwNmQiLCAiTTIxNiAyMy44NThjMC0yMy44MDItMzAuNjUzLTMyLjc2NS00NC4xNDktMTMuMDM4QzQ4IDE5MS44NTEgMjI0IDIwMCAyMjQgMjg4YzAgMzUuNjI5LTI5LjExNCA2NC40NTgtNjQuODUgNjMuOTk0QzEyMy45OCAzNTEuNTM4IDk2IDMyMi4yMiA5NiAyODcuMDQ2di04NS41MWMwLTIxLjcwMy0yNi40NzEtMzIuMjI1LTQxLjQzMi0xNi41MDRDMjcuODAxIDIxMy4xNTggMCAyNjEuMzMyIDAgMzIwYzAgMTA1Ljg2OSA4Ni4xMzEgMTkyIDE5MiAxOTJzMTkyLTg2LjEzMSAxOTItMTkyYzAtMTcwLjI5LTE2OC0xOTMuMDAzLTE2OC0yOTYuMTQyeiJdLAogICAgICAiZmlyZS1leHRpbmd1aXNoZXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjEzNCIsICJNNDM0LjAyNyAyNi4zMjlsLTE2OCAyOEMyNTQuNjkzIDU2LjIxOCAyNTYgNjcuOCAyNTYgNzJoLTU4LjMzMkMyMDguMzUzIDM2LjEwOCAxODEuNDQ2IDAgMTQ0IDBjLTM5LjQzNSAwLTY2LjM2OCAzOS42NzYtNTIuMjI4IDc2LjIwMy01Mi4wMzkgMTMuMDUxLTc1LjM4MSA1NC4yMTMtOTAuMDQ5IDkwLjg4NC00LjkyMyAxMi4zMDcgMS4wNjMgMjYuMjc0IDEzLjM3IDMxLjE5NyAxMi4zMTcgNC45MjYgMjYuMjc5LTEuMDc1IDMxLjE5Ni0xMy4zN0M3NS4wNTggMTEyLjk5IDEwNi45NjQgMTIwIDE2OCAxMjB2MjcuMDc2Yy00MS41NDMgMTAuODYyLTcyIDQ5LjIzNS03MiA5NC4xMjlWNDg4YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxNDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjI0MGMwLTQ0LjczMS0zMC41OTYtODIuMzEyLTcyLTkyLjk3VjEyMGg0MGMwIDIuOTc0LTEuNzAzIDE1LjcxNiAxMC4wMjcgMTcuNjcxbDE2OCAyOEM0NDEuMzQyIDE2Ni44OSA0NDggMTYxLjI1IDQ0OCAxNTMuODM0VjM4LjE2NmMwLTcuNDE2LTYuNjU4LTEzLjA1Ni0xMy45NzMtMTEuODM3ek0xNDQgNzJjLTguODIyIDAtMTYtNy4xNzgtMTYtMTZzNy4xNzgtMTYgMTYtMTYgMTYgNy4xNzggMTYgMTYtNy4xNzggMTYtMTYgMTZ6Il0sCiAgICAgICJmbGFnIjogWzUxMiwgNTEyLCBbXSwgImYwMjQiLCAiTTM0OS41NjUgOTguNzgzQzI5NS45NzggOTguNzgzIDI1MS43MjEgNjQgMTg0LjM0OCA2NGMtMjQuOTU1IDAtNDcuMzA5IDQuMzg0LTY4LjA0NSAxMi4wMTNhNTUuOTQ3IDU1Ljk0NyAwIDAgMCAzLjU4Ni0yMy41NjJDMTE4LjExNyAyNC4wMTUgOTQuODA2IDEuMjA2IDY2LjMzOC4wNDggMzQuMzQ1LTEuMjU0IDggMjQuMjk2IDggNTZjMCAxOS4wMjYgOS40OTcgMzUuODI1IDI0IDQ1Ljk0NVY0ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDE2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtOTQuNGMyOC4zMTEtMTIuMDY0IDYzLjU4Mi0yMi4xMjIgMTE0LjQzNS0yMi4xMjIgNTMuNTg4IDAgOTcuODQ0IDM0Ljc4MyAxNjUuMjE3IDM0Ljc4MyA0OC4xNjkgMCA4Ni42NjctMTYuMjk0IDEyMi41MDUtNDAuODU4QzUwNi44NCAzNTkuNDUyIDUxMiAzNDkuNTcxIDUxMiAzMzkuMDQ1di0yNDMuMWMwLTIzLjM5My0yNC4yNjktMzguODctNDUuNDg1LTI5LjAxNi0zNC4zMzggMTUuOTQ4LTc2LjQ1NCAzMS44NTQtMTE2Ljk1IDMxLjg1NHoiXSwKICAgICAgImZsYWctY2hlY2tlcmVkIjogWzUxMiwgNTEyLCBbXSwgImYxMWUiLCAiTTQ2Ni41MTUgNjYuOTI4QzQ4Ny43MzEgNTcuMDc0IDUxMiA3Mi41NTEgNTEyIDk1Ljk0NHYyNDMuMWMwIDEwLjUyNi01LjE2MSAyMC40MDctMTMuODQzIDI2LjM1OC0zNS44MzcgMjQuNTY0LTc0LjMzNSA0MC44NTgtMTIyLjUwNSA0MC44NTgtNjcuMzczIDAtMTExLjYzLTM0Ljc4My0xNjUuMjE3LTM0Ljc4My01MC44NTMgMC04Ni4xMjQgMTAuMDU4LTExNC40MzUgMjIuMTIyVjQ4OGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRINTZjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYxMDEuOTQ1QzE3LjQ5NyA5MS44MjUgOCA3NS4wMjYgOCA1NiA4IDI0LjI5NiAzNC4zNDUtMS4yNTQgNjYuMzM4LjA0OGMyOC40NjggMS4xNTggNTEuNzc5IDIzLjk2OCA1My41NTEgNTIuNDA0LjUyIDguMzQyLS44MSAxNi4zMS0zLjU4NiAyMy41NjJDMTM3LjAzOSA2OC4zODQgMTU5LjM5MyA2NCAxODQuMzQ4IDY0YzY3LjM3MyAwIDExMS42MyAzNC43ODMgMTY1LjIxNyAzNC43ODMgNDAuNDk2IDAgODIuNjEyLTE1LjkwNiAxMTYuOTUtMzEuODU1ek05NiAxMzQuNjN2NzAuNDljMjktMTAuNjcgNTEuMTgtMTcuODMgNzMuNi0yMC45MXYtNzEuNTdjLTIzLjUgMi4xNy00MC40NCA5Ljc5LTczLjYgMjEuOTl6bTIyMC44IDkuMTljLTI2LjQxNy00LjY3Mi00OS44ODYtMTMuOTc5LTczLjYtMjEuMzR2NjcuNDJjMjQuMTc1IDYuNzA2IDQ3LjU2NiAxNi40NDQgNzMuNiAyMi4zMXYtNjguMzl6bS0xNDcuMiA0MC4zOXY3MC4wNGMzMi43OTYtMi45NzggNTMuOTEtLjYzNSA3My42IDMuOFYxODkuOWMtMjUuMjQ3LTcuMDM1LTQ2LjU4MS05LjQyMy03My42LTUuNjl6bTczLjYgMTQyLjIzYzI2LjMzOCA0LjY1MiA0OS43MzIgMTMuOTI3IDczLjYgMjEuMzR2LTY3LjQxYy0yNC4yNzctNi43NDYtNDcuNTQtMTYuNDUtNzMuNi0yMi4zMnY2OC4zOXpNOTYgMzQyLjFjMjMuNjItOC4zOSA0Ny43OS0xMy44NCA3My42LTE2LjU2di03MS4yOWMtMjYuMTEgMi4zNS00Ny4zNiA4LjA0LTczLjYgMTcuMzZ2NzAuNDl6bTM2OC0yMjEuNmMtMjEuMyA4Ljg1LTQ2LjU5IDE3LjY0LTczLjYgMjIuNDd2NzEuOTFjMjcuMzEtNC4zNiA1MC4wMy0xNC4xIDczLjYtMjMuODlWMTIwLjV6bTAgMjA5Ljk2di03MC40OWMtMjIuMTkgMTQuMi00OC43OCAyMi42MS03My42IDI2LjAydjcxLjU4YzI1LjA3LTIuMzggNDguNDktMTEuMDQgNzMuNi0yNy4xMXpNMzE2LjggMjEyLjIxdjY4LjE2YzI1LjY2NCA3LjEzNCA0Ni42MTYgOS4zNDIgNzMuNiA1LjYydi03MS4xMWMtMjUuOTk5IDQuMTg3LTQ5Ljk0MyAyLjY3Ni03My42LTIuNjd6Il0sCiAgICAgICJmbGFzayI6IFs0NDgsIDUxMiwgW10sICJmMGMzIiwgIk00MzcuMiA0MDMuNUwzMjAgMjE1VjY0aDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRIMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGg4djE1MUwxMC44IDQwMy41Qy0xOC41IDQ1MC42IDE1LjMgNTEyIDcwLjkgNTEyaDMwNi4yYzU1LjcgMCA4OS40LTYxLjUgNjAuMS0xMDguNXpNMTM3LjkgMzIwbDQ4LjItNzcuNmMzLjctNS4yIDUuOC0xMS42IDUuOC0xOC40VjY0aDY0djE2MGMwIDYuOSAyLjIgMTMuMiA1LjggMTguNGw0OC4yIDc3LjZoLTE3MnoiXSwKICAgICAgImZvbGRlciI6IFs1MTIsIDUxMiwgW10sICJmMDdiIiwgIk00NjQgMTI4SDI3MmwtNjQtNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxNzZjMC0yNi41MS0yMS40OS00OC00OC00OHoiXSwKICAgICAgImZvbGRlci1vcGVuIjogWzU3NiwgNTEyLCBbXSwgImYwN2MiLCAiTTU3Mi42OTQgMjkyLjA5M0w1MDAuMjcgNDE2LjI0OEE2My45OTcgNjMuOTk3IDAgMCAxIDQ0NC45ODkgNDQ4SDQ1LjAyNWMtMTguNTIzIDAtMzAuMDY0LTIwLjA5My0yMC43MzEtMzYuMDkzbDcyLjQyNC0xMjQuMTU1QTY0IDY0IDAgMCAxIDE1MiAyNTZoMzk5Ljk2NGMxOC41MjMgMCAzMC4wNjQgMjAuMDkzIDIwLjczIDM2LjA5M3pNMTUyIDIyNGgzMjh2LTQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhIMjcybC02NC02NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI3OC4wNDZsNjkuMDc3LTExOC40MThDODYuMjE0IDI0Mi4yNSAxMTcuOTg5IDIyNCAxNTIgMjI0eiJdLAogICAgICAiZm9udCI6IFs0NDgsIDUxMiwgW10sICJmMDMxIiwgIk0xNTIgNDE2aC0yNC4wMTNsMjYuNTg2LTgwLjc4MkgyOTIuOEwzMTkuMzg2IDQxNkgyOTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2MzJjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmgxMzZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMzJjMC04LjgzNy03LjE2My0xNi0xNi0xNmgtMjYuNzM5TDI3NS40OTUgNDIuNzQ2QTE2IDE2IDAgMCAwIDI2MC4zODIgMzJoLTcyLjc2NmExNiAxNiAwIDAgMC0xNS4xMTMgMTAuNzQ2TDQyLjczOSA0MTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2MzJjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmgxMzZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMzJjMC04LjgzNy03LjE2My0xNi0xNi0xNnptNjQuMzUzLTI3MS43NzhjNC4zNDgtMTUuMjE2IDYuNjEtMjguMTU2IDcuNTg2LTM0LjY0NC44MzkgNi41MjEgMi45MzkgMTkuNDc2IDcuNzI3IDM0LjcwNmw0MS4zMzUgMTI0LjAwNmgtOTguNjE5bDQxLjk3MS0xMjQuMDY4eiJdLAogICAgICAiZm9vdGJhbGwtYmFsbCI6IFs0OTYsIDUxMiwgW10sICJmNDRlIiwgIk00ODEuNSA2MC4zYy00LjgtMTguMi0xOS4xLTMyLjUtMzcuMy0zNy40QzQyMC4zIDE2LjUgMzgzIDguOSAzMzkuNCA4TDQ5NiAxNjQuOGMtLjgtNDMuNS04LjItODAuNi0xNC41LTEwNC41em0tNDY3IDM5MS40YzQuOCAxOC4yIDE5LjEgMzIuNSAzNy4zIDM3LjQgMjMuOSA2LjQgNjEuMiAxNCAxMDQuOCAxNC45TDAgMzQ3LjJjLjggNDMuNSA4LjIgODAuNiAxNC41IDEwNC41ek00LjIgMjgzLjRMMjIwLjQgNTAwYzEzMi41LTE5LjQgMjQ4LjgtMTE4LjcgMjcxLjUtMjcxLjRMMjc1LjYgMTJDMTQzLjEgMzEuNCAyNi44IDEzMC43IDQuMiAyODMuNHptMzE3LjMtMTIzLjZjMy4xLTMuMSA4LjItMy4xIDExLjMgMGwxMS4zIDExLjNjMy4xIDMuMSAzLjEgOC4yIDAgMTEuM2wtMjguMyAyOC4zIDI4LjMgMjguM2MzLjEgMy4xIDMuMSA4LjIgMCAxMS4zbC0xMS4zIDExLjNjLTMuMSAzLjEtOC4yIDMuMS0xMS4zIDBsLTI4LjMtMjguMy0yMi42IDIyLjcgMjguMyAyOC4zYzMuMSAzLjEgMy4xIDguMiAwIDExLjNsLTExLjMgMTEuM2MtMy4xIDMuMS04LjIgMy4xLTExLjMgMEwyNDggMjc4LjZsLTIyLjYgMjIuNiAyOC4zIDI4LjNjMy4xIDMuMSAzLjEgOC4yIDAgMTEuM2wtMTEuMyAxMS4zYy0zLjEgMy4xLTguMiAzLjEtMTEuMyAwbC0yOC4zLTI4LjMtMjguMyAyOC4zYy0zLjEgMy4xLTguMiAzLjEtMTEuMyAwbC0xMS4zLTExLjNjLTMuMS0zLjEtMy4xLTguMiAwLTExLjNsMjguMy0yOC4zLTI4LjMtMjguMmMtMy4xLTMuMS0zLjEtOC4yIDAtMTEuM2wxMS4zLTExLjNjMy4xLTMuMSA4LjItMy4xIDExLjMgMGwyOC4zIDI4LjMgMjIuNi0yMi42LTI4LjMtMjguM2MtMy4xLTMuMS0zLjEtOC4yIDAtMTEuM2wxMS4zLTExLjNjMy4xLTMuMSA4LjItMy4xIDExLjMgMGwyOC4zIDI4LjMgMjIuNi0yMi42LTI4LjMtMjguM2MtMy4xLTMuMS0zLjEtOC4yIDAtMTEuM2wxMS4zLTExLjNjMy4xLTMuMSA4LjItMy4xIDExLjMgMGwyOC4zIDI4LjMgMjguMy0yOC41eiJdLAogICAgICAiZm9yd2FyZCI6IFs1MTIsIDUxMiwgW10sICJmMDRlIiwgIk01MDAuNSAyMzEuNGwtMTkyLTE2MEMyODcuOSA1NC4zIDI1NiA2OC42IDI1NiA5NnYzMjBjMCAyNy40IDMxLjkgNDEuOCA1Mi41IDI0LjZsMTkyLTE2MGMxNS4zLTEyLjggMTUuMy0zNi40IDAtNDkuMnptLTI1NiAwbC0xOTItMTYwQzMxLjkgNTQuMyAwIDY4LjYgMCA5NnYzMjBjMCAyNy40IDMxLjkgNDEuOCA1Mi41IDI0LjZsMTkyLTE2MGMxNS4zLTEyLjggMTUuMy0zNi40IDAtNDkuMnoiXSwKICAgICAgImZyb3duIjogWzUxMiwgNTEyLCBbXSwgImYxMTkiLCAiTTUwNCAyNTZjMCAxMzYuOTY3LTExMS4wMzMgMjQ4LTI0OCAyNDhTOCAzOTIuOTY3IDggMjU2IDExOS4wMzMgOCAyNTYgOHMyNDggMTExLjAzMyAyNDggMjQ4em0tMzk2LTY0YzAgMzcuNDk3IDMwLjUwMyA2OCA2OCA2OHM2OC0zMC41MDMgNjgtNjgtMzAuNTAzLTY4LTY4LTY4LTY4IDMwLjUwMy02OCA2OHptMTYwLjUgMGMwIDM3LjIyMSAzMC4yNzkgNjcuNSA2Ny41IDY3LjVzNjcuNS0zMC4yNzkgNjcuNS02Ny41LTMwLjI3OS02Ny41LTY3LjUtNjcuNS02Ny41IDMwLjI3OS02Ny41IDY3LjV6bTY3LjUtNDhhNDcuNzg5IDQ3Ljc4OSAwIDAgMC0yMi42MDMgNS42NDdoLjAxNWMxMC45MTYgMCAxOS43NjUgOC44NDkgMTkuNzY1IDE5Ljc2NXMtOC44NDkgMTkuNzY1LTE5Ljc2NSAxOS43NjUtMTkuNzY1LTguODQ5LTE5Ljc2NS0xOS43NjV2LS4wMTVBNDcuNzg5IDQ3Ljc4OSAwIDAgMCAyODggMTkyYzAgMjYuNTEgMjEuNDkgNDggNDggNDhzNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6bS0xNjAgMGE0Ny43ODkgNDcuNzg5IDAgMCAwLTIyLjYwMyA1LjY0N2guMDE1YzEwLjkxNiAwIDE5Ljc2NSA4Ljg0OSAxOS43NjUgMTkuNzY1cy04Ljg0OSAxOS43NjUtMTkuNzY1IDE5Ljc2NS0xOS43NjUtOC44NDktMTkuNzY1LTE5Ljc2NXYtLjAxNUE0Ny43ODkgNDcuNzg5IDAgMCAwIDEyOCAxOTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OHM0OC0yMS40OSA0OC00OC0yMS40OS00OC00OC00OHptMTkyLjU1MSAyMTIuNjZjLTU5LjEyOC05MS40NTUtMTY1Ljg0Ni05MS41OTQtMjI1LjA2NCAwLTExLjUwMiAxNy43OSAxNS4zODMgMzUuMTQ4IDI2Ljg3MyAxNy4zNzQgNDYuNjI2LTcyLjExOCAxMjQuODYyLTcxLjg1NSAxNzEuMzE4IDAgMTEuMzI4IDE3LjUyNCAzOC41NDguNjg0IDI2Ljg3My0xNy4zNzR6Il0sCiAgICAgICJmdXRib2wiOiBbNTEyLCA1MTIsIFtdLCAiZjFlMyIsICJNNTA0IDI1NmMwIDEzNi45NjctMTExLjAzMyAyNDgtMjQ4IDI0OFM4IDM5Mi45NjcgOCAyNTYgMTE5LjAzMyA4IDI1NiA4czI0OCAxMTEuMDMzIDI0OCAyNDh6bS00OCAwbC0uMDAzLS4yODItMjYuMDY0IDIyLjc0MS02Mi42NzktNTguNSAxNi40NTQtODQuMzU1IDM0LjMwMyAzLjA3MmMtMjQuODg5LTM0LjIxNi02MC4wMDQtNjAuMDg5LTEwMC43MDktNzMuMTQxbDEzLjY1MSAzMS45MzlMMjU2IDEzOWwtNzQuOTUzLTQxLjUyNSAxMy42NTEtMzEuOTM5Yy00MC42MzEgMTMuMDI4LTc1Ljc4IDM4Ljg3LTEwMC43MDkgNzMuMTQxbDM0LjU2NS0zLjA3MyAxNi4xOTIgODQuMzU1LTYyLjY3OCA1OC41LTI2LjA2NC0yMi43NDEtLjAwMy4yODJjMCA0My4wMTUgMTMuNDk3IDgzLjk1MiAzOC40NzIgMTE3Ljk5MWw3LjcwNC0zMy44OTcgODUuMTM4IDEwLjQ0NyAzNi4zMDEgNzcuODI2LTI5LjkwMiAxNy43ODZjNDAuMjAyIDEzLjEyMiA4NC4yOSAxMy4xNDggMTI0LjU3MiAwbC0yOS45MDItMTcuNzg2IDM2LjMwMS03Ny44MjYgODUuMTM4LTEwLjQ0NyA3LjcwNCAzMy44OTdDNDQyLjUwMyAzMzkuOTUyIDQ1NiAyOTkuMDE1IDQ1NiAyNTZ6bS0yNDguMTAyIDY5LjU3MWwtMjkuODk0LTkxLjMxMkwyNTYgMTc3LjczMmw3Ny45OTYgNTYuNTI3LTI5LjYyMiA5MS4zMTJoLTk2LjQ3NnoiXSwKICAgICAgImdhbWVwYWQiOiBbNjQwLCA1MTIsIFtdLCAiZjExYiIsICJNNDgwIDk2SDE2MEM3MS42IDk2IDAgMTY3LjYgMCAyNTZzNzEuNiAxNjAgMTYwIDE2MGM0NC44IDAgODUuMi0xOC40IDExNC4yLTQ4aDkxLjVjMjkgMjkuNiA2OS41IDQ4IDExNC4yIDQ4IDg4LjQgMCAxNjAtNzEuNiAxNjAtMTYwUzU2OC40IDk2IDQ4MCA5NnpNMjU2IDI3NmMwIDYuNi01LjQgMTItMTIgMTJoLTUydjUyYzAgNi42LTUuNCAxMi0xMiAxMmgtNDBjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNTJINzZjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNDBjMC02LjYgNS40LTEyIDEyLTEyaDUydi01MmMwLTYuNiA1LjQtMTIgMTItMTJoNDBjNi42IDAgMTIgNS40IDEyIDEydjUyaDUyYzYuNiAwIDEyIDUuNCAxMiAxMnY0MHptMTg0IDY4Yy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4IDQ4IDIxLjUgNDggNDgtMjEuNSA0OC00OCA0OHptODAtODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDggNDggMjEuNSA0OCA0OC0yMS41IDQ4LTQ4IDQ4eiJdLAogICAgICAiZ2F2ZWwiOiBbNTEyLCA1MTIsIFtdLCAiZjBlMyIsICJNNTA0Ljk3MSAxOTkuMzYybC0yMi42MjctMjIuNjI3Yy05LjM3My05LjM3My0yNC41NjktOS4zNzMtMzMuOTQxIDBsLTUuNjU3IDUuNjU3TDMyOS42MDggNjkuMjU1bDUuNjU3LTUuNjU3YzkuMzczLTkuMzczIDkuMzczLTI0LjU2OSAwLTMzLjk0MUwzMTIuNjM4IDcuMDI5Yy05LjM3My05LjM3My0yNC41NjktOS4zNzMtMzMuOTQxIDBMMTU0LjI0NiAxMzEuNDhjLTkuMzczIDkuMzczLTkuMzczIDI0LjU2OSAwIDMzLjk0MWwyMi42MjcgMjIuNjI3YzkuMzczIDkuMzczIDI0LjU2OSA5LjM3MyAzMy45NDEgMGw1LjY1Ny01LjY1NyAzOS41OTggMzkuNTk4LTgxLjA0IDgxLjA0LTUuNjU3LTUuNjU3Yy0xMi40OTctMTIuNDk3LTMyLjc1OC0xMi40OTctNDUuMjU1IDBMOS4zNzMgNDEyLjExOGMtMTIuNDk3IDEyLjQ5Ny0xMi40OTcgMzIuNzU4IDAgNDUuMjU1bDQ1LjI1NSA0NS4yNTVjMTIuNDk3IDEyLjQ5NyAzMi43NTggMTIuNDk3IDQ1LjI1NSAwbDExNC43NDUtMTE0Ljc0NWMxMi40OTctMTIuNDk3IDEyLjQ5Ny0zMi43NTggMC00NS4yNTVsLTUuNjU3LTUuNjU3IDgxLjA0LTgxLjA0IDM5LjU5OCAzOS41OTgtNS42NTcgNS42NTdjLTkuMzczIDkuMzczLTkuMzczIDI0LjU2OSAwIDMzLjk0MWwyMi42MjcgMjIuNjI3YzkuMzczIDkuMzczIDI0LjU2OSA5LjM3MyAzMy45NDEgMGwxMjQuNDUxLTEyNC40NTFjOS4zNzItOS4zNzIgOS4zNzItMjQuNTY4IDAtMzMuOTQxeiJdLAogICAgICAiZ2VtIjogWzU3NiwgNTEyLCBbXSwgImYzYTUiLCAiTTQ4NS41IDBMNTc2IDE2MEg0NzQuOUw0MDUuNyAwaDc5Ljh6bS0xMjggMGw2OS4yIDE2MEgxNDkuM0wyMTguNSAwaDEzOXptLTI2NyAwaDc5LjhsLTY5LjIgMTYwSDBMOTAuNSAwek0wIDE5MmgxMDAuN2wxMjMgMjUxLjdjMS41IDMuMS0yLjcgNS45LTUgMy4zTDAgMTkyem0xNDguMiAwaDI3OS42bC0xMzcgMzE4LjJjLTEgMi40LTQuNSAyLjQtNS41IDBMMTQ4LjIgMTkyem0yMDQuMSAyNTEuN2wxMjMtMjUxLjdINTc2TDM1Ny4zIDQ0Ni45Yy0yLjMgMi43LTYuNS0uMS01LTMuMnoiXSwKICAgICAgImdlbmRlcmxlc3MiOiBbMjg4LCA1MTIsIFtdLCAiZjIyZCIsICJNMTQ0IDE3NmM0NC4xIDAgODAgMzUuOSA4MCA4MHMtMzUuOSA4MC04MCA4MC04MC0zNS45LTgwLTgwIDM1LjktODAgODAtODBtMC02NEM2NC41IDExMiAwIDE3Ni41IDAgMjU2czY0LjUgMTQ0IDE0NCAxNDQgMTQ0LTY0LjUgMTQ0LTE0NC02NC41LTE0NC0xNDQtMTQ0eiJdLAogICAgICAiZ2lmdCI6IFs1MTIsIDUxMiwgW10sICJmMDZiIiwgIk00ODggMTkyaC02NC41MTJDNDM4LjcyIDE3NS4wMDMgNDQ4IDE1Mi41NjYgNDQ4IDEyOGMwLTUyLjkzNS00My4wNjUtOTYtOTYtOTYtNDEuOTk3IDAtNjguNzQyIDIwLjY5My05NS45OTIgNTQuMTVDMjI2LjY3MSA1MC4xOTIgMTk5LjYxMyAzMiAxNjAgMzJjLTUyLjkzNSAwLTk2IDQzLjA2NS05NiA5NiAwIDI0LjU2NiA5LjI4IDQ3LjAwMyAyNC41MTIgNjRIMjRjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHY4MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoOHYxMTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzNTJjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYzMjBoOGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHptLTIwOC0zMmMyNC01NiA1NS4zMjQtNjQgNzItNjQgMTcuNjQ1IDAgMzIgMTQuMzU1IDMyIDMycy0xNC4zNTUgMzItMzIgMzJoLTcyek0xNjAgOTZjMTYuNjc2IDAgNDggOCA3MiA2NGgtNzJjLTE3LjY0NSAwLTMyLTE0LjM1NS0zMi0zMnMxNC4zNTUtMzIgMzItMzJ6bTQ4IDEyOGg5NnYxODRjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0aC00OGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0VjIyNHoiXSwKICAgICAgImdsYXNzLW1hcnRpbmkiOiBbNTEyLCA1MTIsIFtdLCAiZjAwMCIsICJNNTA3LjMgMjcuM2MxMC0xMCAyLjktMjcuMy0xMS4zLTI3LjNIMTZDMS44IDAtNS40IDE3LjIgNC43IDI3LjNMMjE2IDIzOC42VjQ3MmgtOTJjLTE1LjUgMC0yOCAxMi41LTI4IDI4IDAgNi42IDUuNCAxMiAxMiAxMmgyOTZjNi42IDAgMTItNS40IDEyLTEyIDAtMTUuNS0xMi41LTI4LTI4LTI4aC05MlYyMzguNkw1MDcuMyAyNy4zeiJdLAogICAgICAiZ2xvYmUiOiBbNTEyLCA1MTIsIFtdLCAiZjBhYyIsICJNMzY0LjIxNSAxOTJoMTMxLjQzYzUuNDM5IDIwLjQxOSA4LjM1NCA0MS44NjggOC4zNTQgNjRzLTIuOTE1IDQzLjU4MS04LjM1NCA2NGgtMTMxLjQzYzUuMTU0LTQzLjA0OSA0LjkzOS04Ni43NDYgMC0xMjh6TTE4NS4yMTQgMzUyYzEwLjY3OCA1My42OCAzMy4xNzMgMTEyLjUxNCA3MC4xMjUgMTUxLjk5Mi4yMjEuMDAxLjQ0LjAwOC42NjEuMDA4cy40NC0uMDA4LjY2MS0uMDA4YzM3LjAxMi0zOS41NDMgNTkuNDY3LTk4LjQxNCA3MC4xMjUtMTUxLjk5MkgxODUuMjE0em0xNzQuMTMtMTkyaDEyNS4zODVDNDUyLjgwMiA4NC4wMjQgMzg0LjEyOCAyNy4zMDUgMzAwLjk1IDEyLjA3NWMzMC4yMzggNDMuMTIgNDguODIxIDk2LjMzMiA1OC4zOTQgMTQ3LjkyNXptLTI3LjM1IDMySDE4MC4wMDZjLTUuMzM5IDQxLjkxNC01LjM0NSA4Ni4wMzcgMCAxMjhoMTUxLjk4OWM1LjMzOS00MS45MTUgNS4zNDUtODYuMDM3LS4wMDEtMTI4ek0xNTIuNjU2IDM1MkgyNy4yNzFjMzEuOTI2IDc1Ljk3NiAxMDAuNiAxMzIuNjk1IDE4My43NzggMTQ3LjkyNS0zMC4yNDYtNDMuMTM2LTQ4LjgyMy05Ni4zNS01OC4zOTMtMTQ3LjkyNXptMjA2LjY4OCAwYy05LjU3NSA1MS42MDUtMjguMTYzIDEwNC44MTQtNTguMzk0IDE0Ny45MjUgODMuMTc4LTE1LjIzIDE1MS44NTItNzEuOTQ5IDE4My43NzgtMTQ3LjkyNUgzNTkuMzQ0em0tMzIuNTU4LTE5MmMtMTAuNjc4LTUzLjY4LTMzLjE3NC0xMTIuNTE0LTcwLjEyNS0xNTEuOTkyLS4yMjEgMC0uNDQtLjAwOC0uNjYxLS4wMDhzLS40NC4wMDgtLjY2MS4wMDhDMjE4LjMyNyA0Ny41NTEgMTk1Ljg3MiAxMDYuNDIyIDE4NS4yMTQgMTYwaDE0MS41NzJ6TTE2LjM1NSAxOTJDMTAuOTE1IDIxMi40MTkgOCAyMzMuODY4IDggMjU2czIuOTE1IDQzLjU4MSA4LjM1NSA2NGgxMzEuNDNjLTQuOTM5LTQxLjI1NC01LjE1NC04NC45NTEgMC0xMjhIMTYuMzU1em0xMzYuMzAxLTMyYzkuNTc1LTUxLjYwMiAyOC4xNjEtMTA0LjgxIDU4LjM5NC0xNDcuOTI1QzEyNy44NzIgMjcuMzA1IDU5LjE5OCA4NC4wMjQgMjcuMjcxIDE2MGgxMjUuMzg1eiJdLAogICAgICAiZ29sZi1iYWxsIjogWzQxNiwgNTEyLCBbXSwgImY0NTAiLCAiTTk2IDQxNmgyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJoLTE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnYyMGMwIDYuNi01LjQgMTItMTIgMTJoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTIwYzAtMTcuNy0xNC4zLTMyLTMyLTMyaC0xNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyMC0yMDhjMCA3NC4yLTM5IDEzOS4yLTk3LjUgMTc2aC0yMjFDMzkgMzQ3LjIgMCAyODIuMiAwIDIwOCAwIDkzLjEgOTMuMSAwIDIwOCAwczIwOCA5My4xIDIwOCAyMDh6bS0xODAuMSA0My45YzE4LjMgMCAzMy4xLTE0LjggMzMuMS0zMy4xIDAtMTQuNC05LjMtMjYuMy0yMi4xLTMwLjkgOS42IDI2LjgtMTUuNiA1MS4zLTQxLjkgNDEuOSA0LjYgMTIuOCAxNi41IDIyLjEgMzAuOSAyMi4xem00OS4xIDQ2LjljMC0xNC40LTkuMy0yNi4zLTIyLjEtMzAuOSA5LjYgMjYuOC0xNS42IDUxLjMtNDEuOSA0MS45IDQuNiAxMi44IDE2LjUgMjIuMSAzMC45IDIyLjEgMTguMyAwIDMzLjEtMTQuOSAzMy4xLTMzLjF6bTY0LTY0YzAtMTQuNC05LjMtMjYuMy0yMi4xLTMwLjkgOS42IDI2LjgtMTUuNiA1MS4zLTQxLjkgNDEuOSA0LjYgMTIuOCAxNi41IDIyLjEgMzAuOSAyMi4xIDE4LjMgMCAzMy4xLTE0LjkgMzMuMS0zMy4xeiJdLAogICAgICAiZ3JhZHVhdGlvbi1jYXAiOiBbNjQwLCA1MTIsIFtdLCAiZjE5ZCIsICJNNjIyLjg4NCAxOTkuMDA1bC0yNzUuODE3IDg1LjFhOTYgOTYgMCAwIDEtNTQuMTM0IDBMOTIuMzk4IDIyMi4yMzJjLTguNTY0IDExLjQzOC0xMS4wMTggMjMuMDUtMTEuOTE4IDM4LjMzNUM4OS43NzggMjY2LjE2NSA5NiAyNzYuMzU1IDk2IDI4OGMwIDExLjk1Mi02LjU1NyAyMi4zNjYtMTYuMjY1IDI3Ljg2MWwxNi4xOTcgMTIzLjA5NmMuNjMgNC43ODYtMy4xIDkuMDQzLTcuOTMyIDkuMDQzSDQwYy00LjgyOCAwLTguNTYyLTQuMjUzLTcuOTMyLTkuMDQ0TDQ4LjI2NSAzMTUuODZDMzguNTU3IDMxMC4zNjYgMzIgMjk5Ljk1MiAzMiAyODhjMC0xMi4wMzQgNi42NDYtMjIuNTExIDE2LjQ2NS0yNy45NzYuOTQ3LTE3Ljk1MSAzLjk3NC0zMy4yMzEgMTIuMTUyLTQ3LjU5N2wtNDMuNTAyLTEzLjQyMmMtMjIuODc2LTYuODAxLTIyLjc2Ni0zOS4yNDEgMC00Ni4wMWwyNzUuODE3LTg1LjFhOTYgOTYgMCAwIDEgNTQuMTM0IDBsMjc1LjgxNyA4NS4xYzIyLjg3NyA2LjgwMSAyMi43NjcgMzkuMjQxLjAwMSA0Ni4wMXpNMzU2LjUwMyAzMTQuNjgybC0uMjA3LjA2NC0uMjA3LjA2MWExMjcuOTk4IDEyNy45OTggMCAwIDEtNzIuMTc3IDBsLS4yMDctLjA2MS0uMjA3LS4wNjQtMTUwLjkxNC00Ni41N0wxMjAgMzUyYzAgMzUuMzQ2IDg5LjU0MyA2NCAyMDAgNjRzMjAwLTI4LjY1NCAyMDAtNjRsLTEyLjU4My04My44ODgtMTUwLjkxNCA0Ni41N3oiXSwKICAgICAgImgtc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYwZmQiLCAiTTQ0OCA4MHYzNTJjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFY4MGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDM1MmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4em0tMTEyIDQ4aC0zMmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY4MEgxNjB2LTgwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZoLTMyYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djIyNGMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDMyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTgwaDEyOHY4MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDMyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZWMTQ0YzAtOC44MzctNy4xNjMtMTYtMTYtMTZ6Il0sCiAgICAgICJoYW5kLWxpemFyZCI6IFs1NzYsIDUxMiwgW10sICJmMjU4IiwgIk0zODQgNDgwaDE5MlYzNjMuNzc4YTk1Ljk5OCA5NS45OTggMCAwIDAtMTQuODMzLTUxLjI2M0wzOTguMTI3IDU0LjM2OEE0OCA0OCAwIDAgMCAzNTcuNTQ0IDMySDI0QzEwLjc0NSAzMiAwIDQyLjc0NSAwIDU2djE2YzAgMzAuOTI4IDI1LjA3MiA1NiA1NiA1NmgyMjkuOTgxYzEyLjg0NCAwIDIxLjU1NiAxMy4wNjcgMTYuNjE1IDI0LjkyM2wtMjEuNDEgNTEuMzg1QTMyIDMyIDAgMCAxIDI1MS42NDggMjI0SDEyOGMtMzUuMzQ2IDAtNjQgMjguNjU0LTY0IDY0djhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDE0Ny40MDZhNDcuOTk1IDQ3Ljk5NSAwIDAgMSAyNS42OTIgNy40NTVsMTExLjc0OCA3MC44MTFBMjQuMDAxIDI0LjAwMSAwIDAgMSAzODQgNDE4LjUzOVY0ODB6Il0sCiAgICAgICJoYW5kLXBhcGVyIjogWzQ0OCwgNTEyLCBbXSwgImYyNTYiLCAiTTQwOC43ODEgMTI4LjAwN0MzODYuMzU2IDEyNy41NzggMzY4IDE0Ni4zNiAzNjggMTY4Ljc5VjI1NmgtOFY3OS43OWMwLTIyLjQzLTE4LjM1Ni00MS4yMTItNDAuNzgxLTQwLjc4M0MyOTcuNDg4IDM5LjQyMyAyODAgNTcuMTY5IDI4MCA3OXYxNzdoLThWNDAuNzlDMjcyIDE4LjM2IDI1My42NDQtLjQyMiAyMzEuMjE5LjAwNyAyMDkuNDg4LjQyMyAxOTIgMTguMTY5IDE5MiA0MHYyMTZoLThWODAuNzljMC0yMi40My0xOC4zNTYtNDEuMjEyLTQwLjc4MS00MC43ODNDMTIxLjQ4OCA0MC40MjMgMTA0IDU4LjE2OSAxMDQgODB2MjM1Ljk5MmwtMzEuNjQ4LTQzLjUxOWMtMTIuOTkzLTE3Ljg2Ni0zOC4wMDktMjEuODE3LTU1Ljg3Ny04LjgyMy0xNy44NjUgMTIuOTk0LTIxLjgxNSAzOC4wMS04LjgyMiA1NS44NzdsMTI1LjYwMSAxNzIuNzA1QTQ4IDQ4IDAgMCAwIDE3Mi4wNzMgNTEyaDE5Ny41OWMyMi4yNzQgMCA0MS42MjItMTUuMzI0IDQ2LjcyNC0zNy4wMDZsMjYuNTA4LTExMi42NmExOTIuMDExIDE5Mi4wMTEgMCAwIDAgNS4xMDQtNDMuOTc1VjE2OGMuMDAxLTIxLjgzMS0xNy40ODctMzkuNTc3LTM5LjIxOC0zOS45OTN6Il0sCiAgICAgICJoYW5kLXBlYWNlIjogWzQ0OCwgNTEyLCBbXSwgImYyNWIiLCAiTTQwOCAyMTZjLTIyLjA5MiAwLTQwIDE3LjkwOS00MCA0MGgtOHYtMzJjMC0yMi4wOTEtMTcuOTA4LTQwLTQwLTQwcy00MCAxNy45MDktNDAgNDB2MzJoLThWNDhjMC0yNi41MS0yMS40OS00OC00OC00OHMtNDggMjEuNDktNDggNDh2MjA4aC0xMy41NzJMOTIuNjg4IDc4LjQ0OUM4Mi45OTQgNTMuNzc0IDU1LjEzNCA0MS42MyAzMC40NjEgNTEuMzI0IDUuNzg3IDYxLjAxNy02LjM1NiA4OC44NzcgMy4zMzcgMTEzLjU1MWw3NC43NjUgMTkwLjM0Mi0zMS4wOSAyNC44NzJjLTE1LjM4MSAxMi4zMDYtMTkuNTE1IDMzLjk3OC05Ljc0MSA1MS4wODFsNjQgMTEyQTM5Ljk5OCAzOS45OTggMCAwIDAgMTM2IDUxMmgyNDBjMTguNTYyIDAgMzQuNjg2LTEyLjc3IDM4LjkzNy0zMC44MzhsMzItMTM2QTM5Ljk3IDM5Ljk3IDAgMCAwIDQ0OCAzMzZ2LTgwYzAtMjIuMDkxLTE3LjkwOC00MC00MC00MHoiXSwKICAgICAgImhhbmQtcG9pbnQtZG93biI6IFszODQsIDUxMiwgW10sICJmMGE3IiwgIk05MS44MjYgNDY3LjJWMzE3Ljk2NmMtOC4yNDggNS44NDEtMTYuNTU4IDEwLjU3LTI0LjkxOCAxNC4xNTNDMzUuMDk4IDM0NS43NTItLjAxNCAzMjIuMjIyIDAgMjg4Yy4wMDgtMTguNjE2IDEwLjg5Ny0zMi4yMDMgMjkuMDkyLTQwIDI4LjI4Ni0xMi4xMjIgNjQuMzI5LTc4LjY0OCA3Ny4zMjMtMTA3LjUzNCA3Ljk1Ni0xNy44NTcgMjUuNDc5LTI4LjQ1MyA0My44NDUtMjguNDY0bC4wMDEtLjAwMmgxNzEuNTI2YzExLjgxMiAwIDIxLjg5NyA4LjU5NiAyMy43MDMgMjAuMjY5IDcuMjUgNDYuODM3IDM4LjQ4MyA2MS43NiAzOC4zMTUgMTIzLjczMS0uMDA3IDIuNzI0LjE5NSAxMy4yNTQuMTk1IDE2IDAgNTAuNjU0LTIyLjEyMiA4MS41NzQtNzEuMjYzIDcyLjYtOS4yOTcgMTguNTk3LTM5LjQ4NiAzMC43MzgtNjIuMzE1IDE2LjQ1LTIxLjE3NyAyNC42NDUtNTMuODk2IDIyLjYzOS03MC45NDQgNi4yOTlWNDY3LjJjMCAyNC4xNS0yMC4yMDEgNDQuOC00My44MjYgNDQuOC0yMy4yODMgMC00My44MjYtMjEuMzUtNDMuODI2LTQ0Ljh6TTExMiA3MlYyNGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMTkyYzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHY0OGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIMTM2Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjR6bTIxMi0yNGMwLTExLjA0Ni04Ljk1NC0yMC0yMC0yMHMtMjAgOC45NTQtMjAgMjAgOC45NTQgMjAgMjAgMjAgMjAtOC45NTQgMjAtMjB6Il0sCiAgICAgICJoYW5kLXBvaW50LWxlZnQiOiBbNTEyLCA1MTIsIFtdLCAiZjBhNSIsICJNNDQuOCAxNTUuODI2aDE0OS4yMzRjLTUuODQxLTguMjQ4LTEwLjU3LTE2LjU1OC0xNC4xNTMtMjQuOTE4QzE2Ni4yNDggOTkuMDk4IDE4OS43NzggNjMuOTg2IDIyNCA2NGMxOC42MTYuMDA4IDMyLjIwMyAxMC44OTcgNDAgMjkuMDkyIDEyLjEyMiAyOC4yODYgNzguNjQ4IDY0LjMyOSAxMDcuNTM0IDc3LjMyMyAxNy44NTcgNy45NTYgMjguNDUzIDI1LjQ3OSAyOC40NjQgNDMuODQ1bC4wMDIuMDAxdjE3MS41MjZjMCAxMS44MTItOC41OTYgMjEuODk3LTIwLjI2OSAyMy43MDMtNDYuODM3IDcuMjUtNjEuNzYgMzguNDgzLTEyMy43MzEgMzguMzE1LTIuNzI0LS4wMDctMTMuMjU0LjE5NS0xNiAuMTk1LTUwLjY1NCAwLTgxLjU3NC0yMi4xMjItNzIuNi03MS4yNjMtMTguNTk3LTkuMjk3LTMwLjczOC0zOS40ODYtMTYuNDUtNjIuMzE1LTI0LjY0NS0yMS4xNzctMjIuNjM5LTUzLjg5Ni02LjI5OS03MC45NDRINDQuOGMtMjQuMTUgMC00NC44LTIwLjIwMS00NC44LTQzLjgyNiAwLTIzLjI4MyAyMS4zNS00My44MjYgNDQuOC00My44MjZ6TTQ0MCAxNzZoNDhjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djE5MmMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRoLTQ4Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWMjAwYzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNHptMjQgMjEyYzExLjA0NiAwIDIwLTguOTU0IDIwLTIwcy04Ljk1NC0yMC0yMC0yMC0yMCA4Ljk1NC0yMCAyMCA4Ljk1NCAyMCAyMCAyMHoiXSwKICAgICAgImhhbmQtcG9pbnQtcmlnaHQiOiBbNTEyLCA1MTIsIFtdLCAiZjBhNCIsICJNNTEyIDE5OS42NTJjMCAyMy42MjUtMjAuNjUgNDMuODI2LTQ0LjggNDMuODI2aC05OS44NTFjMTYuMzQgMTcuMDQ4IDE4LjM0NiA0OS43NjYtNi4yOTkgNzAuOTQ0IDE0LjI4OCAyMi44MjkgMi4xNDcgNTMuMDE3LTE2LjQ1IDYyLjMxNUMzNTMuNTc0IDQyNS44NzggMzIyLjY1NCA0NDggMjcyIDQ0OGMtMi43NDYgMC0xMy4yNzYtLjIwMy0xNi0uMTk1LTYxLjk3MS4xNjgtNzYuODk0LTMxLjA2NS0xMjMuNzMxLTM4LjMxNUMxMjAuNTk2IDQwNy42ODMgMTEyIDM5Ny41OTkgMTEyIDM4NS43ODZWMjE0LjI2MWwuMDAyLS4wMDFjLjAxMS0xOC4zNjYgMTAuNjA3LTM1Ljg4OSAyOC40NjQtNDMuODQ1IDI4Ljg4Ni0xMi45OTQgOTUuNDEzLTQ5LjAzOCAxMDcuNTM0LTc3LjMyMyA3Ljc5Ny0xOC4xOTQgMjEuMzg0LTI5LjA4NCA0MC0yOS4wOTIgMzQuMjIyLS4wMTQgNTcuNzUyIDM1LjA5OCA0NC4xMTkgNjYuOTA4LTMuNTgzIDguMzU5LTguMzEyIDE2LjY3LTE0LjE1MyAyNC45MThINDY3LjJjMjMuNDUgMCA0NC44IDIwLjU0MyA0NC44IDQzLjgyNnpNOTYgMjAwdjE5MmMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIMjRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYyMDBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDQ4YzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHpNNjggMzY4YzAtMTEuMDQ2LTguOTU0LTIwLTIwLTIwcy0yMCA4Ljk1NC0yMCAyMCA4Ljk1NCAyMCAyMCAyMCAyMC04Ljk1NCAyMC0yMHoiXSwKICAgICAgImhhbmQtcG9pbnQtdXAiOiBbMzg0LCA1MTIsIFtdLCAiZjBhNiIsICJNMTM1LjY1MiAwYzIzLjYyNSAwIDQzLjgyNiAyMC42NSA0My44MjYgNDQuOHY5OS44NTFjMTcuMDQ4LTE2LjM0IDQ5Ljc2Ni0xOC4zNDYgNzAuOTQ0IDYuMjk5IDIyLjgyOS0xNC4yODggNTMuMDE3LTIuMTQ3IDYyLjMxNSAxNi40NUMzNjEuODc4IDE1OC40MjYgMzg0IDE4OS4zNDYgMzg0IDI0MGMwIDIuNzQ2LS4yMDMgMTMuMjc2LS4xOTUgMTYgLjE2OCA2MS45NzEtMzEuMDY1IDc2Ljg5NC0zOC4zMTUgMTIzLjczMUMzNDMuNjgzIDM5MS40MDQgMzMzLjU5OSA0MDAgMzIxLjc4NiA0MDBIMTUwLjI2MWwtLjAwMS0uMDAyYy0xOC4zNjYtLjAxMS0zNS44ODktMTAuNjA3LTQzLjg0NS0yOC40NjRDOTMuNDIxIDM0Mi42NDggNTcuMzc3IDI3Ni4xMjIgMjkuMDkyIDI2NCAxMC44OTcgMjU2LjIwMy4wMDggMjQyLjYxNiAwIDIyNGMtLjAxNC0zNC4yMjIgMzUuMDk4LTU3Ljc1MiA2Ni45MDgtNDQuMTE5IDguMzU5IDMuNTgzIDE2LjY3IDguMzEyIDI0LjkxOCAxNC4xNTNWNDQuOGMwLTIzLjQ1IDIwLjU0My00NC44IDQzLjgyNi00NC44ek0xMzYgNDE2aDE5MmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2NDhjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDEzNmMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di00OGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjR6bTE2OCAyOGMtMTEuMDQ2IDAtMjAgOC45NTQtMjAgMjBzOC45NTQgMjAgMjAgMjAgMjAtOC45NTQgMjAtMjAtOC45NTQtMjAtMjAtMjB6Il0sCiAgICAgICJoYW5kLXBvaW50ZXIiOiBbNDQ4LCA1MTIsIFtdLCAiZjI1YSIsICJNNDQ4IDI0MHY5NmMwIDMuMDg0LS4zNTYgNi4xNTktMS4wNjMgOS4xNjJsLTMyIDEzNkM0MTAuNjg2IDQ5OS4yMyAzOTQuNTYyIDUxMiAzNzYgNTEySDE2OGE0MC4wMDQgNDAuMDA0IDAgMCAxLTMyLjM1LTE2LjQ3M2wtMTI3Ljk5Ny0xNzZjLTEyLjk5My0xNy44NjYtOS4wNDMtNDIuODgzIDguODIyLTU1Ljg3NiAxNy44NjctMTIuOTk0IDQyLjg4NC05LjA0MyA1NS44NzcgOC44MjNMMTA0IDMxNS45OTJWNDBjMC0yMi4wOTEgMTcuOTA4LTQwIDQwLTQwczQwIDE3LjkwOSA0MCA0MHYyMDBoOHYtNDBjMC0yMi4wOTEgMTcuOTA4LTQwIDQwLTQwczQwIDE3LjkwOSA0MCA0MHY0MGg4di0yNGMwLTIyLjA5MSAxNy45MDgtNDAgNDAtNDBzNDAgMTcuOTA5IDQwIDQwdjI0aDhjMC0yMi4wOTEgMTcuOTA4LTQwIDQwLTQwczQwIDE3LjkwOSA0MCA0MHptLTI1NiA4MGgtOHY5Nmg4di05NnptODggMGgtOHY5Nmg4di05NnptODggMGgtOHY5Nmg4di05NnoiXSwKICAgICAgImhhbmQtcm9jayI6IFs1MTIsIDUxMiwgW10sICJmMjU1IiwgIk01MTIgMTI4Ljc5YzAtMjYuMzIyLTIwLjg2MS00OC4zNDQtNDcuMTgtNDguNzgzQzQzNy45MzUgNzkuNTU4IDQxNiAxMDEuMjE3IDQxNiAxMjhoLThWOTYuNzljMC0yNi4zMjItMjAuODYxLTQ4LjM0NC00Ny4xOC00OC43ODNDMzMzLjkzNSA0Ny41NTggMzEyIDY5LjIxNyAzMTIgOTZ2MzJoLThWODAuNzljMC0yNi4zMjItMjAuODYxLTQ4LjM0NC00Ny4xOC00OC43ODNDMjI5LjkzNSAzMS41NTggMjA4IDUzLjIxNyAyMDggODB2NDhoLThWOTYuNzljMC0yNi4zMjItMjAuODYxLTQ4LjM0NC00Ny4xOC00OC43ODNDMTI1LjkzNSA0Ny41NTggMTA0IDY5LjIxNyAxMDQgOTZ2MTM2bC04LTcuMTExVjE3Ni43OWMwLTI2LjMyMi0yMC44NjEtNDguMzQ0LTQ3LjE4LTQ4Ljc4M0MyMS45MzUgMTI3LjU1OCAwIDE0OS4yMTcgMCAxNzZ2NjYuNDQ1YTk1Ljk5OCA5NS45OTggMCAwIDAgMzIuMjIxIDcxLjc1MWwxMTEuNjY4IDk5LjI2MUE0Ny45OTkgNDcuOTk5IDAgMCAxIDE2MCA0NDkuMzMzVjQ1NmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMjQwYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtMi45MjFhOTYuMDEgOTYuMDEgMCAwIDEgNy41MjMtMzcuMjU0bDQ4Ljk1NC0xMTYuMjY1QTk2LjAwMiA5Ni4wMDIgMCAwIDAgNTEyIDI2Mi4zMDZWMTI4Ljc5eiJdLAogICAgICAiaGFuZC1zY2lzc29ycyI6IFs1MTIsIDUxMiwgW10sICJmMjU3IiwgIk0yMTYgNDQwYzAtMjIuMDkyIDE3LjkwOS00MCA0MC00MHYtOGgtMzJjLTIyLjA5MSAwLTQwLTE3LjkwOC00MC00MHMxNy45MDktNDAgNDAtNDBoMzJ2LThINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhzMjEuNDktNDggNDgtNDhoMjA4di0xMy41NzJsLTE3Ny41NTEtNjkuNzRjLTI0LjY3NC05LjY5NC0zNi44MTgtMzcuNTU1LTI3LjEyNS02Mi4yMjggOS42OTMtMjQuNjc0IDM3LjU1NC0zNi44MTcgNjIuMjI4LTI3LjEyNGwxOTAuMzQyIDc0Ljc2NSAyNC44NzItMzEuMDljMTIuMzA2LTE1LjM4MSAzMy45NzgtMTkuNTE1IDUxLjA4MS05Ljc0MWwxMTIgNjRBNDAuMDAyIDQwLjAwMiAwIDAgMSA1MTIgMTY4djI0MGMwIDE4LjU2Mi0xMi43NyAzNC42ODYtMzAuODM4IDM4LjkzN2wtMTM2IDMyQTM5Ljk4MiAzOS45ODIgMCAwIDEgMzM2IDQ4MGgtODBjLTIyLjA5MSAwLTQwLTE3LjkwOC00MC00MHoiXSwKICAgICAgImhhbmQtc3BvY2siOiBbNTEyLCA1MTIsIFtdLCAiZjI1OSIsICJNMTAuODcyIDMxNi41ODVjMTUuMTM5LTE2LjA4NiA0MC40NTQtMTYuODU0IDU2LjU0My0xLjcxM0wxMjggMzcxLjg5M3YtNzkuNDA1TDg4Ljk5NSAxMjAuODY1Yy00Ljg5Ni0yMS41NDIgOC41OTgtNDIuOTc0IDMwLjE0LTQ3Ljg3IDIxLjU0OS00Ljg5NCA0Mi45NzUgOC41OTkgNDcuODcgMzAuMTQxTDIwMS43NDcgMjU2aDkuODMzTDE2NC4wMTYgNDguOTY2Yy00Ljk0Ni0yMS41MzEgOC40OTgtNDIuOTk0IDMwLjAyOC00Ny45NCAyMS41MzItNC45NSA0Mi45OTQgOC40OTggNDcuOTQgMzAuMDI4TDI5My42NjQgMjU2aDE1LjEwNWw0OC40MjUtMTkzLjcwMmM1LjM1Ny0yMS40MzIgMjcuMDc1LTM0LjQ2MiA0OC41MDctMjkuMTA0IDIxLjQzMiA1LjM1OCAzNC40NjMgMjcuMDc1IDI5LjEwNCA0OC41MDdMMzkxLjIzMSAyNTZoMTEuMDhsMzAuNzY4LTEyOS4yNjVjNS4xMTctMjEuNDkxIDI2LjY4NS0zNC43NjggNDguMTc3LTI5LjY0NyAyMS40OTEgNS4xMTcgMzQuNzY1IDI2LjY4NiAyOS42NDcgNDguMTc3bC0zNi4yOTIgMTUyLjQ2N0E5Ni4wMjQgOTYuMDI0IDAgMCAwIDQ3MiAzMTkuOTY3djQyLjEwMmE5Ni4wMDIgOTYuMDAyIDAgMCAxLTMuOTYgMjcuMjg3bC0yNi4xNzQgODguMjg3QzQzNS44MjUgNDk4LjAyMiA0MTcuMTAxIDUxMiAzOTUuODQ2IDUxMkgxNzkuMTcyYTQ4LjAwMiA0OC4wMDIgMCAwIDEtMzIuODk4LTEzLjA0NkwxMi41ODUgMzczLjEyOGMtMTYuMDg3LTE1LjE0MS0xNi44NTMtNDAuNDU2LTEuNzEzLTU2LjU0M3oiXSwKICAgICAgImhhbmRzaGFrZSI6IFs2NDAsIDUxMiwgW10sICJmMmI1IiwgIk03MiAxMTJIMjRjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYyMDhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxMzZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0ek00OCAzNDBjLTExLjA0NiAwLTIwLTguOTU0LTIwLTIwczguOTU0LTIwIDIwLTIwIDIwIDguOTU0IDIwIDIwLTguOTU0IDIwLTIwIDIwem01NjgtMjI4aC00OGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djIwOGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjEzNmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6bS0yNCAyMjhjLTExLjA0NiAwLTIwLTguOTU0LTIwLTIwczguOTU0LTIwIDIwLTIwIDIwIDguOTU0IDIwIDIwLTguOTU0IDIwLTIwIDIwek00ODUuOTQgOTIuNjdMNTI4IDE0MC43NFYzMjBoLTE5LjE3Yy41Ni0xNC45Ni00LjM4LTI4Ljk4LTE0LTM5LjcxbC04MC45Mi05OC45MWMyLjkzLTMuMiAyLjc2LTguMTYtLjM4LTExLjE2LTIuODItMi43LTcuMDgtMi45Mi0xMC4xNC0uNzYtLjQyLjMtNjAuMzUgNjIuOTMtNjAuMzUgNjIuOTNsLS4yLjIxYy0yMy45MDQgMjYuOTA1LTY2LjEyNyAyNi4yMDQtODkuMTUtMS40Mi0xNS40OC0xOC41OC0xNS4yOS00NS4zOS40NS02My43Nmw2Ni41Ny03Ny42N0MzMzQuMzA0IDczLjg4IDM1NC41MzQgNjQgMzc2LjcgNjRoNDYuMDVhODMuOTggODMuOTggMCAwIDEgNjMuMTkgMjguNjd6bS0zLjM3IDE5Ny45MmMxNS40NiAxNi43OCAxMi41OSA0My44My0yLjM3IDU3Ljc1LTE3LjcxMSAxNi40NjItNDIuNDMzIDEzLjAwNC00NS45MyA5LjIgMS42NTMgMTUuNjU4LTIxLjM4OSA0Ny4yNDktNTYuNDIgNDQuNjgtNi4zMjUgMjEuMTg1LTMyLjI5OCAzOC45MDktNTkuMTggMjkuNjEtMTAuMjIgMTAuMjEtMjUuODIgMTQuOTctMzkuODEgMTQuOTctMjguNjkgMC01NC45Mi0xMS45OS03Mi41OC0zMC44TDExMiAzMjBWMTM1LjUybDYxLjM2LTUwLjU3QTcxLjUyIDcxLjUyIDAgMCAxIDIyMy45MyA2NGgzNy40MmMxNi43MyAwIDMyLjY4IDYuODQgNDQuMjEgMTguODVsLTYzLjU3IDc0LjE2Yy0yMC44NCAyNC4zMS0yMS4wOSA1OS44MS0uNTkgODQuNDIgMjkuMzc1IDM1LjI0NyA4My4wMDcgMzUuODUzIDExMy4zMSAxLjkyTDQwMi44MiAxOTNsNzkuNzUgOTcuNTl6Il0sCiAgICAgICJoYXNodGFnIjogWzQ0OCwgNTEyLCBbXSwgImYyOTIiLCAiTTQ0MC42NjcgMTgyLjEwOWw3LjE0My00MGMxLjMxMy03LjM1NS00LjM0Mi0xNC4xMDktMTEuODEzLTE0LjEwOWgtNzQuODFsMTQuNjIzLTgxLjg5MUMzNzcuMTIzIDM4Ljc1NCAzNzEuNDY4IDMyIDM2My45OTcgMzJoLTQwLjYzMmExMiAxMiAwIDAgMC0xMS44MTMgOS44OTFMMjk2LjE3NSAxMjhIMTk3LjU0bDE0LjYyMy04MS44OTFDMjEzLjQ3NyAzOC43NTQgMjA3LjgyMiAzMiAyMDAuMzUgMzJoLTQwLjYzMmExMiAxMiAwIDAgMC0xMS44MTMgOS44OTFMMTMyLjUyOCAxMjhINTMuNDMyYTEyIDEyIDAgMCAwLTExLjgxMyA5Ljg5MWwtNy4xNDMgNDBDMzMuMTYzIDE4NS4yNDYgMzguODE4IDE5MiA0Ni4yODkgMTkyaDc0LjgxTDk4LjI0MiAzMjBIMTkuMTQ2YTEyIDEyIDAgMCAwLTExLjgxMyA5Ljg5MWwtNy4xNDMgNDBDLTEuMTIzIDM3Ny4yNDYgNC41MzIgMzg0IDEyLjAwMyAzODRoNzQuODFMNzIuMTkgNDY1Ljg5MUM3MC44NzcgNDczLjI0NiA3Ni41MzIgNDgwIDg0LjAwMyA0ODBoNDAuNjMyYTEyIDEyIDAgMCAwIDExLjgxMy05Ljg5MUwxNTEuODI2IDM4NGg5OC42MzRsLTE0LjYyMyA4MS44OTFDMjM0LjUyMyA0NzMuMjQ2IDI0MC4xNzggNDgwIDI0Ny42NSA0ODBoNDAuNjMyYTEyIDEyIDAgMCAwIDExLjgxMy05Ljg5MUwzMTUuNDcyIDM4NGg3OS4wOTZhMTIgMTIgMCAwIDAgMTEuODEzLTkuODkxbDcuMTQzLTQwYzEuMzEzLTcuMzU1LTQuMzQyLTE0LjEwOS0xMS44MTMtMTQuMTA5aC03NC44MWwyMi44NTctMTI4aDc5LjA5NmExMiAxMiAwIDAgMCAxMS44MTMtOS44OTF6TTI2MS44ODkgMzIwaC05OC42MzRsMjIuODU3LTEyOGg5OC42MzRsLTIyLjg1NyAxMjh6Il0sCiAgICAgICJoZGQiOiBbNTc2LCA1MTIsIFtdLCAiZjBhMCIsICJNNTc2IDMwNHY5NmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4di05NmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDQ4MGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4em0tNDgtODBhNzkuNTU3IDc5LjU1NyAwIDAgMSAzMC43NzcgNi4xNjVMNDYyLjI1IDg1LjM3NEE0OC4wMDMgNDguMDAzIDAgMCAwIDQyMi4zMTEgNjRIMTUzLjY4OWE0OCA0OCAwIDAgMC0zOS45MzggMjEuMzc0TDE3LjIyMyAyMzAuMTY1QTc5LjU1NyA3OS41NTcgMCAwIDEgNDggMjI0aDQ4MHptLTQ4IDk2Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6bS05NiAwYy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzJzMTQuMzI3IDMyIDMyIDMyIDMyLTE0LjMyNyAzMi0zMi0xNC4zMjctMzItMzItMzJ6Il0sCiAgICAgICJoZWFkaW5nIjogWzUxMiwgNTEyLCBbXSwgImYxZGMiLCAiTTQ5NiA4MFY0OGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDMyMGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnYzMmMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDM3LjYyMXYxMjhIMTU0LjM3OVY5NkgxOTJjOC44MzcgMCAxNi03LjE2MyAxNi0xNlY0OGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDMyYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djMyYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMzcuMjc1djMyMEgzMmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnYzMmMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDE2MGM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di0zMmMwLTguODM3LTcuMTYzLTE2LTE2LTE2aC0zNy42MjFWMjg4SDM1Ny42MnYxMjhIMzIwYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djMyYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZoMTYwYzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTMyYzAtOC44MzctNy4xNjMtMTYtMTYtMTZoLTM3LjI3NVY5Nkg0ODBjOC44MzcgMCAxNi03LjE2MyAxNi0xNnoiXSwKICAgICAgImhlYWRwaG9uZXMiOiBbNTEyLCA1MTIsIFtdLCAiZjAyNSIsICJNMjU2IDMyQzExNC41MiAzMiAwIDE0Ni40OTYgMCAyODh2NDhhMzIgMzIgMCAwIDAgMTcuNjg5IDI4LjYyMmwxNC4zODMgNy4xOTFDMzQuMDgzIDQzMS45MDMgODMuNDIxIDQ4MCAxNDQgNDgwaDI0YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYyODBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0aC0yNGMtMzEuMzQyIDAtNTkuNjcxIDEyLjg3OS04MCAzMy42MjdWMjg4YzAtMTA1Ljg2OSA4Ni4xMzEtMTkyIDE5Mi0xOTJzMTkyIDg2LjEzMSAxOTIgMTkydjEuNjI3QzQyNy42NzEgMjY4Ljg3OSAzOTkuMzQyIDI1NiAzNjggMjU2aC0yNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE3NmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMjRjNjAuNTc5IDAgMTA5LjkxNy00OC4wOTggMTExLjkyOC0xMDguMTg3bDE0LjM4Mi03LjE5MUEzMiAzMiAwIDAgMCA1MTIgMzM2di00OGMwLTE0MS40NzktMTE0LjQ5Ni0yNTYtMjU2LTI1NnoiXSwKICAgICAgImhlYXJ0IjogWzU3NiwgNTEyLCBbXSwgImYwMDQiLCAiTTQxNC45IDI0QzM2MS44IDI0IDMxMiA2NS43IDI4OCA4OS4zIDI2NCA2NS43IDIxNC4yIDI0IDE2MS4xIDI0IDcwLjMgMjQgMTYgNzYuOSAxNiAxNjUuNWMwIDcyLjYgNjYuOCAxMzMuMyA2OS4yIDEzNS40bDE4NyAxODAuOGM4LjggOC41IDIyLjggOC41IDMxLjYgMGwxODYuNy0xODAuMmMyLjctMi43IDY5LjUtNjMuNSA2OS41LTEzNkM1NjAgNzYuOSA1MDUuNyAyNCA0MTQuOSAyNHoiXSwKICAgICAgImhlYXJ0YmVhdCI6IFs1NzYsIDUxMiwgW10sICJmMjFlIiwgIk00Ny45IDI1N0MzMS42IDIzMi43IDE2IDIwMC41IDE2IDE2NS41IDE2IDc2LjkgNzAuMyAyNCAxNjEuMSAyNCAyMTQuMiAyNCAyNjQgNjUuNyAyODggODkuMyAzMTIgNjUuNyAzNjEuOCAyNCA0MTQuOSAyNCA1MDUuNyAyNCA1NjAgNzYuOSA1NjAgMTY1LjVjMCAzNS0xNS41IDY3LjItMzEuOSA5MS41SDQwOGwtMjYuNC01OC42Yy00LjctOC45LTE3LjYtOC41LTIxLjYuN2wtNTMuMyAxMzQuNkwyMzUuNCAxMjBjLTMuNy0xMC42LTE4LjctMTAuNy0yMi42LS4ybC00OCAxMzcuMkg0Ny45em0zNDggMzJjLTQuNSAwLTguNi0yLjUtMTAuNi02LjRsLTEyLjgtMzIuNS01Ni45IDE0Mi44Yy00LjQgOS45LTE4LjcgOS40LTIyLjMtLjlsLTY5LjctMjA5LjItMzMuNiA5OC40Yy0xLjcgNC43LTYuMiA3LjgtMTEuMiA3LjhINzMuNGM1LjMgNS43LTEyLjgtMTIgMTk4LjkgMTkyLjYgOC44IDguNSAyMi44IDguNSAzMS42IDAgMjA0LjMtMTk3LjIgMTkxLTE4NCAxOTktMTkyLjZoLTEwN3oiXSwKICAgICAgImhpc3RvcnkiOiBbNTEyLCA1MTIsIFtdLCAiZjFkYSIsICJNNTA0IDI1NS41MzFjLjI1MyAxMzYuNjQtMTExLjE4IDI0OC4zNzItMjQ3LjgyIDI0OC40NjgtNTkuMDE1LjA0Mi0xMTMuMjIzLTIwLjUzLTE1NS44MjItNTQuOTExLTExLjA3Ny04Ljk0LTExLjkwNS0yNS41NDEtMS44MzktMzUuNjA3bDExLjI2Ny0xMS4yNjdjOC42MDktOC42MDkgMjIuMzUzLTkuNTUxIDMxLjg5MS0xLjk4NEMxNzMuMDYyIDQyNS4xMzUgMjEyLjc4MSA0NDAgMjU2IDQ0MGMxMDEuNzA1IDAgMTg0LTgyLjMxMSAxODQtMTg0IDAtMTAxLjcwNS04Mi4zMTEtMTg0LTE4NC0xODQtNDguODE0IDAtOTMuMTQ5IDE4Ljk2OS0xMjYuMDY4IDQ5LjkzMmw1MC43NTQgNTAuNzU0YzEwLjA4IDEwLjA4IDIuOTQxIDI3LjMxNC0xMS4zMTMgMjcuMzE0SDI0Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjM4LjYyN2MwLTE0LjI1NCAxNy4yMzQtMjEuMzkzIDI3LjMxNC0xMS4zMTRsNDkuMzcyIDQ5LjM3MkMxMjkuMjA5IDM0LjEzNiAxODkuNTUyIDggMjU2IDhjMTM2LjgxIDAgMjQ3Ljc0NyAxMTAuNzggMjQ4IDI0Ny41MzF6bS0xODAuOTEyIDc4Ljc4NGw5LjgyMy0xMi42M2M4LjEzOC0xMC40NjMgNi4yNTMtMjUuNTQyLTQuMjEtMzMuNjc5TDI4OCAyNTYuMzQ5VjE1MmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTE2Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTM1LjY1MWw2NS40MDkgNTAuODc0YzEwLjQ2MyA4LjEzNyAyNS41NDEgNi4yNTMgMzMuNjc5LTQuMjF6Il0sCiAgICAgICJob2NrZXktcHVjayI6IFs1MTIsIDUxMiwgW10sICJmNDUzIiwgIk0wIDE2MGMwLTUzIDExNC42LTk2IDI1Ni05NnMyNTYgNDMgMjU2IDk2LTExNC42IDk2LTI1NiA5NlMwIDIxMyAwIDE2MHptMCA4Mi4yVjM1MmMwIDUzIDExNC42IDk2IDI1NiA5NnMyNTYtNDMgMjU2LTk2VjI0Mi4yYy0xMTMuNCA4Mi4zLTM5OC41IDgyLjQtNTEyIDB6Il0sCiAgICAgICJob21lIjogWzU3NiwgNTEyLCBbXSwgImYwMTUiLCAiTTQ4OCAzMTIuN1Y0NTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMzQ4Yy02LjYgMC0xMi01LjQtMTItMTJWMzU2YzAtNi42LTUuNC0xMi0xMi0xMmgtNzJjLTYuNiAwLTEyIDUuNC0xMiAxMnYxMTJjMCA2LjYtNS40IDEyLTEyIDEySDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMzEyLjdjMC0zLjYgMS42LTcgNC40LTkuM2wxODgtMTU0LjhjNC40LTMuNiAxMC44LTMuNiAxNS4zIDBsMTg4IDE1NC44YzIuNyAyLjMgNC4zIDUuNyA0LjMgOS4zem04My42LTYwLjlMNDg4IDE4Mi45VjQ0LjRjMC02LjYtNS40LTEyLTEyLTEyaC01NmMtNi42IDAtMTIgNS40LTEyIDEyVjExN2wtODkuNS03My43Yy0xNy43LTE0LjYtNDMuMy0xNC42LTYxIDBMNC40IDI1MS44Yy01LjEgNC4yLTUuOCAxMS44LTEuNiAxNi45bDI1LjUgMzFjNC4yIDUuMSAxMS44IDUuOCAxNi45IDEuNmwyMzUuMi0xOTMuN2M0LjQtMy42IDEwLjgtMy42IDE1LjMgMGwyMzUuMiAxOTMuN2M1LjEgNC4yIDEyLjcgMy41IDE2LjktMS42bDI1LjUtMzFjNC4yLTUuMiAzLjQtMTIuNy0xLjctMTYuOXoiXSwKICAgICAgImhvc3BpdGFsIjogWzQ0OCwgNTEyLCBbXSwgImYwZjgiLCAiTTQ0OCA0OTJ2MjBIMHYtMjBjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgyMFYxMjBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDg4VjI0YzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNGgxMTJjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djcyaDg4YzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHYzNjBoMjBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnpNMzA4IDE5MmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyem0tMTY4IDY0aDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJ6bTEwNCAxMjhoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjg0aDY0di04NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyem02NC05NmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyem0tMTE2IDEyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDB6TTE4MiA5NmgyNnYyNmE2IDYgMCAwIDAgNiA2aDIwYTYgNiAwIDAgMCA2LTZWOTZoMjZhNiA2IDAgMCAwIDYtNlY3MGE2IDYgMCAwIDAtNi02aC0yNlYzOGE2IDYgMCAwIDAtNi02aC0yMGE2IDYgMCAwIDAtNiA2djI2aC0yNmE2IDYgMCAwIDAtNiA2djIwYTYgNiAwIDAgMCA2IDZ6Il0sCiAgICAgICJob3VyZ2xhc3MiOiBbMzg0LCA1MTIsIFtdLCAiZjI1NCIsICJNMzYwIDY0YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYyNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMjRDMTAuNzQ1IDAgMCAxMC43NDUgMCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjQgMCA5MC45NjUgNTEuMDE2IDE2Ny43MzQgMTIwLjg0MiAxOTJDNzUuMDE2IDI4MC4yNjYgMjQgMzU3LjAzNSAyNCA0NDhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtMTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0IDAtOTAuOTY1LTUxLjAxNi0xNjcuNzM0LTEyMC44NDItMTkyQzMwOC45ODQgMjMxLjczNCAzNjAgMTU0Ljk2NSAzNjAgNjR6Il0sCiAgICAgICJob3VyZ2xhc3MtZW5kIjogWzM4NCwgNTEyLCBbXSwgImYyNTMiLCAiTTM2MCA2NGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMjRjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2MTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0IDAgOTAuOTY1IDUxLjAxNiAxNjcuNzM0IDEyMC44NDIgMTkyQzc1LjAxNiAyODAuMjY2IDI0IDM1Ny4wMzUgMjQgNDQ4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDMzNmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTE2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNCAwLTkwLjk2NS01MS4wMTYtMTY3LjczNC0xMjAuODQyLTE5MkMzMDguOTg0IDIzMS43MzQgMzYwIDE1NC45NjUgMzYwIDY0ek0xOTIgMjA4Yy01Ny43ODcgMC0xMDQtNjYuNTE4LTEwNC0xNDRoMjA4YzAgNzcuOTQ1LTQ2LjUxIDE0NC0xMDQgMTQ0eiJdLAogICAgICAiaG91cmdsYXNzLWhhbGYiOiBbMzg0LCA1MTIsIFtdLCAiZjI1MiIsICJNMzYwIDBIMjRDMTAuNzQ1IDAgMCAxMC43NDUgMCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjQgMCA5MC45NjUgNTEuMDE2IDE2Ny43MzQgMTIwLjg0MiAxOTJDNzUuMDE2IDI4MC4yNjYgMjQgMzU3LjAzNSAyNCA0NDhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtMTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0IDAtOTAuOTY1LTUxLjAxNi0xNjcuNzM0LTEyMC44NDItMTkyQzMwOC45ODQgMjMxLjczNCAzNjAgMTU0Ljk2NSAzNjAgNjRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjI0YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHptLTc1LjA3OCAzODRIOTkuMDhjMTcuMDU5LTQ2Ljc5NyA1Mi4wOTYtODAgOTIuOTItODAgNDAuODIxIDAgNzUuODYyIDMzLjE5NiA5Mi45MjIgODB6bS4wMTktMjU2SDk5LjA3OEM5MS45ODggMTA4LjU0OCA4OCA4Ni43NDggODggNjRoMjA4YzAgMjIuODA1LTMuOTg3IDQ0LjU4Ny0xMS4wNTkgNjR6Il0sCiAgICAgICJob3VyZ2xhc3Mtc3RhcnQiOiBbMzg0LCA1MTIsIFtdLCAiZjI1MSIsICJNMzYwIDBIMjRDMTAuNzQ1IDAgMCAxMC43NDUgMCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjQgMCA5MC45NjUgNTEuMDE2IDE2Ny43MzQgMTIwLjg0MiAxOTJDNzUuMDE2IDI4MC4yNjYgMjQgMzU3LjAzNSAyNCA0NDhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYxNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtMTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0IDAtOTAuOTY1LTUxLjAxNi0xNjcuNzM0LTEyMC44NDItMTkyQzMwOC45ODQgMjMxLjczNCAzNjAgMTU0Ljk2NSAzNjAgNjRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjI0YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHptLTY0IDQ0OEg4OGMwLTc3LjQ1OCA0Ni4yMDQtMTQ0IDEwNC0xNDQgNTcuNzg2IDAgMTA0IDY2LjUxNyAxMDQgMTQ0eiJdLAogICAgICAiaS1jdXJzb3IiOiBbMjU2LCA1MTIsIFtdLCAiZjI0NiIsICJNMjU2IDUyLjA0OFYxMi4wNjVDMjU2IDUuNDk2IDI1MC43MjYuMTQ4IDI0NC4xNTguMDY2IDIxMS42MjEtLjM0NCAxNjYuNDY5LjAxMSAxMjggMzcuOTU5IDkwLjI2Ni43MzYgNDYuOTc5LS4xMTQgMTEuOTEzLjExNCA1LjMxOC4xNTcgMCA1LjUxOSAwIDEyLjExNHYzOS42NDVjMCA2LjY4NyA1LjQ1OCAxMi4wNzggMTIuMTQ1IDExLjk5OEMzOC4xMTEgNjMuNDQ3IDk2IDY3LjI0MyA5NiAxMTIuMTgyVjIyNEg2MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDM2djExMmMwIDQ0LjkzMi01Ni4wNzUgNDguMDMxLTgzLjk1IDQ3Ljk1OUM1LjQwNCA0NDcuOTQyIDAgNDUzLjMwNiAwIDQ1OS45NTJ2MzkuOTgzYzAgNi41NjkgNS4yNzQgMTEuOTE3IDExLjg0MiAxMS45OTkgMzIuNTM3LjQwOSA3Ny42ODkuMDU0IDExNi4xNTgtMzcuODk0IDM3LjczNCAzNy4yMjMgODEuMDIxIDM4LjA3MyAxMTYuMDg3IDM3Ljg0NSA2LjU5NS0uMDQzIDExLjkxMy01LjQwNSAxMS45MTMtMTJWNDYwLjI0YzAtNi42ODctNS40NTgtMTIuMDc4LTEyLjE0NS0xMS45OThDMjE3Ljg4OSA0NDguNTUzIDE2MCA0NDQuOTM5IDE2MCA0MDBWMjg4aDM2YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTM2VjExMi4xODJjMC00NC45MzIgNTYuMDc1LTQ4LjIxMyA4My45NS00OC4xNDIgNi42NDYuMDE4IDEyLjA1LTUuMzQ2IDEyLjA1LTExLjk5MnoiXSwKICAgICAgImlkLWJhZGdlIjogWzM4NCwgNTEyLCBbXSwgImYyYzEiLCAiTTMzNiAwSDQ4QzIxLjQ5IDAgMCAyMS40OSAwIDQ4djQxNmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6TTEyOCA0NGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEwNGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjhjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgxNDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTh6bTY0IDExNmM0NC4xODMgMCA4MCAzNS44MTcgODAgODBzLTM1LjgxNyA4MC04MCA4MC04MC0zNS44MTctODAtODAgMzUuODE3LTgwIDgwLTgwem0xMjggMjMyYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEg4OGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di0xOC41MjNjMC0yMi4wMjYgMTQuOTktNDEuMjI1IDM2LjM1OC00Ni41NjdsMzUuNjU2LTguOTE0YzI5LjEwMSAyMC45MzIgNzQuNTA5IDI2Ljk0NSAxMTEuOTcgMGwzNS42NTYgOC45MTRjMjEuMzcgNS4zNDIgMzYuMzYgMjQuNTQyIDM2LjM2IDQ2LjU2N1YzOTJ6Il0sCiAgICAgICJpZC1jYXJkIjogWzUxMiwgNTEyLCBbXSwgImYyYzIiLCAiTTQ2NCA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQxNmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjExMmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0yNTYgMzUwYzAgOS45NDEtOC4wNTkgMTgtMTggMThIODJjLTkuOTQxIDAtMTgtOC4wNTktMTgtMTh2LTEzLjg5MmMwLTE2LjUxOSAxMS4yNDMtMzAuOTE5IDI3LjI2OS0zNC45MjVsMjYuNzQyLTYuNjg2YzIxLjgyNiAxNS42OTkgNTUuODgyIDIwLjIwOSA4My45NzggMGwyNi43NDMgNi42ODZDMjQ0Ljc1NyAzMDUuMTg5IDI1NiAzMTkuNTg5IDI1NiAzMzYuMTA4VjM1MHpNMTAwIDIzNmMwLTMzLjEzNyAyNi44NjMtNjAgNjAtNjBzNjAgMjYuODYzIDYwIDYwLTI2Ljg2MyA2MC02MCA2MC02MC0yNi44NjMtNjAtNjB6bTM0OCAxMDRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgzMDBjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LThjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMzZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY4em0wLTY0YzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzAwYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi04YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTM2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2OHptMC02NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDMwMGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEzNmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjh6bTMyLTk2YzAgNi42MjctNS4zNzMgMTItMTIgMTJINDRjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LThjMC02LjYyNyA1LjM3My0xMiAxMi0xMmg0MjRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY4eiJdLAogICAgICAiaW1hZ2UiOiBbNTEyLCA1MTIsIFtdLCAiZjAzZSIsICJNNDY0IDQ0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxMTJjMC0yNi41MSAyMS40OS00OCA0OC00OGg0MTZjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHYyODhjMCAyNi41MS0yMS40OSA0OC00OCA0OHpNMTEyIDEyMGMtMzAuOTI4IDAtNTYgMjUuMDcyLTU2IDU2czI1LjA3MiA1NiA1NiA1NiA1Ni0yNS4wNzIgNTYtNTYtMjUuMDcyLTU2LTU2LTU2ek02NCAzODRoMzg0VjI3MmwtODcuNTE1LTg3LjUxNWMtNC42ODYtNC42ODYtMTIuMjg0LTQuNjg2LTE2Ljk3MSAwTDIwOCAzMjBsLTU1LjUxNS01NS41MTVjLTQuNjg2LTQuNjg2LTEyLjI4NC00LjY4Ni0xNi45NzEgMEw2NCAzMzZ2NDh6Il0sCiAgICAgICJpbWFnZXMiOiBbNTc2LCA1MTIsIFtdLCAiZjMwMiIsICJNNDgwIDQxNnYxNmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjE3NmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDE2djIwOGMwIDQ0LjExMiAzNS44ODggODAgODAgODBoMzM2em05Ni04MFY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4SDE0NGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYyNTZjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzODRjMjYuNTEgMCA0OC0yMS40OSA0OC00OHpNMjU2IDEyOGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4cy00OC0yMS40OS00OC00OCAyMS40OS00OCA0OC00OCA0OCAyMS40OSA0OCA0OHptLTk2IDE0NGw1NS41MTUtNTUuNTE1YzQuNjg2LTQuNjg2IDEyLjI4NC00LjY4NiAxNi45NzEgMEwyNzIgMjU2bDEzNS41MTUtMTM1LjUxNWM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBMNTEyIDIwOHYxMTJIMTYwdi00OHoiXSwKICAgICAgImluYm94IjogWzU3NiwgNTEyLCBbXSwgImYwMWMiLCAiTTU2Ny45MzggMjQzLjkwOEw0NjIuMjUgODUuMzc0QTQ4LjAwMyA0OC4wMDMgMCAwIDAgNDIyLjMxMSA2NEgxNTMuNjg5YTQ4IDQ4IDAgMCAwLTM5LjkzOCAyMS4zNzRMOC4wNjIgMjQzLjkwOEE0Ny45OTQgNDcuOTk0IDAgMCAwIDAgMjcwLjUzM1Y0MDBjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0ODBjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYyNzAuNTMzYTQ3Ljk5NCA0Ny45OTQgMCAwIDAtOC4wNjItMjYuNjI1ek0xNjIuMjUyIDEyOGgyNTEuNDk3bDg1LjMzMyAxMjhIMzc2bC0zMiA2NEgyMzJsLTMyLTY0SDc2LjkxOGw4NS4zMzQtMTI4eiJdLAogICAgICAiaW5kZW50IjogWzQ0OCwgNTEyLCBbXSwgImYwM2MiLCAiTTAgODRWNDRjMC04LjgzNyA3LjE2My0xNiAxNi0xNmg0MTZjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnY0MGMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDE2Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2em0xNzYgMTQ0aDI1NmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE3NmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2ek0xNiA0ODRoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMTYwLTEyOGgyNTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNzZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptLTUyLjY4Ny0xMTEuMzEzbC05Ni05NS45ODRDMTcuMjY2IDEzOC42NTIgMCAxNDUuNzc2IDAgMTYwLjAxNnYxOTEuOTc1YzAgMTQuMzI5IDE3LjMyNSAyMS4zMDQgMjcuMzEzIDExLjMxM2w5Ni05NS45OTJjNi4yNDktNi4yNDcgNi4yNDktMTYuMzc3IDAtMjIuNjI1eiJdLAogICAgICAiaW5kdXN0cnkiOiBbNTEyLCA1MTIsIFtdLCAiZjI3NSIsICJNNDc1LjExNSAxNjMuNzgxTDMzNiAyNTIuMzA5di02OC4yOGMwLTE4LjkxNi0yMC45MzEtMzAuMzk5LTM2Ljg4NS0yMC4yNDhMMTYwIDI1Mi4zMDlWNTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI0QzEwLjc0NSAzMiAwIDQyLjc0NSAwIDU2djQwMGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNDY0YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxODQuMDI5YzAtMTguOTE3LTIwLjkzMS0zMC4zOTktMzYuODg1LTIwLjI0OHoiXSwKICAgICAgImluZm8iOiBbMTkyLCA1MTIsIFtdLCAiZjEyOSIsICJNMjAgNDI0LjIyOWgyMFYyNzkuNzcxSDIwYy0xMS4wNDYgMC0yMC04Ljk1NC0yMC0yMFYyMTJjMC0xMS4wNDYgOC45NTQtMjAgMjAtMjBoMTEyYzExLjA0NiAwIDIwIDguOTU0IDIwIDIwdjIxMi4yMjloMjBjMTEuMDQ2IDAgMjAgOC45NTQgMjAgMjBWNDkyYzAgMTEuMDQ2LTguOTU0IDIwLTIwIDIwSDIwYy0xMS4wNDYgMC0yMC04Ljk1NC0yMC0yMHYtNDcuNzcxYzAtMTEuMDQ2IDguOTU0LTIwIDIwLTIwek05NiAwQzU2LjIzNSAwIDI0IDMyLjIzNSAyNCA3MnMzMi4yMzUgNzIgNzIgNzIgNzItMzIuMjM1IDcyLTcyUzEzNS43NjQgMCA5NiAweiJdLAogICAgICAiaW5mby1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjA1YSIsICJNMjU2IDhDMTE5LjA0MyA4IDggMTE5LjA4MyA4IDI1NmMwIDEzNi45OTcgMTExLjA0MyAyNDggMjQ4IDI0OHMyNDgtMTExLjAwMyAyNDgtMjQ4QzUwNCAxMTkuMDgzIDM5Mi45NTcgOCAyNTYgOHptMCAxMTBjMjMuMTk2IDAgNDIgMTguODA0IDQyIDQycy0xOC44MDQgNDItNDIgNDItNDItMTguODA0LTQyLTQyIDE4LjgwNC00MiA0Mi00MnptNTYgMjU0YzAgNi42MjctNS4zNzMgMTItMTIgMTJoLTg4Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDEydi02NGgtMTJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI0YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoNjRjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYxMDBoMTJjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyNHoiXSwKICAgICAgIml0YWxpYyI6IFszMjAsIDUxMiwgW10sICJmMDMzIiwgIk0yMDQuNzU4IDQxNmgtMzMuODQ5bDYyLjA5Mi0zMjBoNDAuNzI1YTE2IDE2IDAgMCAwIDE1LjcwNC0xMi45MzdsNi4yNDItMzJDMjk3LjU5OSA0MS4xODQgMjkwLjAzNCAzMiAyNzkuOTY4IDMySDEyMC4yMzVhMTYgMTYgMCAwIDAtMTUuNzA0IDEyLjkzN2wtNi4yNDIgMzJDOTYuMzYyIDg2LjgxNiAxMDMuOTI3IDk2IDExMy45OTMgOTZoMzMuODQ2bC02Mi4wOSAzMjBINDYuMjc4YTE2IDE2IDAgMCAwLTE1LjcwNCAxMi45MzVsLTYuMjQ1IDMyQzIyLjQwMiA0NzAuODE1IDI5Ljk2NyA0ODAgNDAuMDM0IDQ4MGgxNTguNDc5YTE2IDE2IDAgMCAwIDE1LjcwNC0xMi45MzVsNi4yNDUtMzJjMS45MjctOS44OC01LjYzOC0xOS4wNjUtMTUuNzA0LTE5LjA2NXoiXSwKICAgICAgImtleSI6IFs1MTIsIDUxMiwgW10sICJmMDg0IiwgIk01MTIgMTc2LjAwMUM1MTIgMjczLjIwMyA0MzMuMjAyIDM1MiAzMzYgMzUyYy0xMS4yMiAwLTIyLjE5LTEuMDYyLTMyLjgyNy0zLjA2OWwtMjQuMDEyIDI3LjAxNEEyMy45OTkgMjMuOTk5IDAgMCAxIDI2MS4yMjMgMzg0SDIyNHY0MGMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRoLTQwdjQwYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgyNGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di03OC4wNTljMC02LjM2NSAyLjUyOS0xMi40NyA3LjAyOS0xNi45NzFsMTYxLjgwMi0xNjEuODAyQzE2My4xMDggMjEzLjgxNCAxNjAgMTk1LjI3MSAxNjAgMTc2IDE2MCA3OC43OTggMjM4Ljc5Ny4wMDEgMzM1Ljk5OSAwIDQzMy40ODgtLjAwMSA1MTIgNzguNTExIDUxMiAxNzYuMDAxek0zMzYgMTI4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhzNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDgtNDggMjEuNDktNDggNDh6Il0sCiAgICAgICJrZXlib2FyZCI6IFs1NzYsIDUxMiwgW10sICJmMTFjIiwgIk01MjggNDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjExMmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDQ4MGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djI4OGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4ek0xMjggMTgwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDc2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0tMzM2IDk2di00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bS0zMzYgOTZ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJINzZjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0yODggMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkgxNzJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyMzJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyeiJdLAogICAgICAibGFuZ3VhZ2UiOiBbNjQwLCA1MTIsIFtdLCAiZjFhYiIsICJNMzA0IDQxNkgyNGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0VjEyMGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMjgwdjMyMHptLTEyMC42NzYtNzIuNjIyQTEyIDEyIDAgMCAwIDE5NC44MzkgMzUyaDIyLjg2M2M4LjIyIDAgMTQuMDA3LTguMDc4IDExLjM2Mi0xNS44NjFMMTcxLjYxIDE2Ny4wODVhMTIgMTIgMCAwIDAtMTEuMzYyLTguMTM5aC0zMi40ODlhMTIuMDAxIDEyLjAwMSAwIDAgMC0xMS4zNjIgOC4xMzlMNTguOTQyIDMzNi4xMzlDNTYuMjk3IDM0My45MjIgNjIuMDg0IDM1MiA3MC4zMDQgMzUyaDIyLjgwNWExMiAxMiAwIDAgMCAxMS41MzUtOC42OTNsOS4xMTgtMzEuODA3aDYwLjIxMWw5LjM1MSAzMS44Nzh6bS0zOS4wNTEtMTQwLjQyczQuMzIgMjEuMDYxIDcuODMgMzMuMjFsMTAuOCAzNy41MzFoLTM4LjA3bDExLjA3LTM3LjUzMWMzLjUxLTEyLjE1IDcuODMtMzMuMjEgNy44My0zMy4yMWguNTR6TTYxNiA0MTZIMzM2Vjk2aDI4MGMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MjcyYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNHptLTM2LTIyOGgtNjR2LTE2YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTE2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjE2aC02NGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYxNmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExNC4xMDZjLTYuMjYzIDE0LjI5OS0xNi41MTggMjguOTcyLTMwLjAyMyA0My4yMDYtNi41Ni02Ljg5OC0xMi4zOTctMTMuOTEtMTcuMzY1LTIwLjkzMy0zLjYzOS01LjE0NC0xMC41ODUtNi42NzUtMTUuOTk1LTMuNDQ2bC03LjI4IDQuMzQ2LTYuNDk4IDMuODc5Yy01Ljk1NiAzLjU1Ni03LjY5MyAxMS40MjEtMy43MzUgMTcuMTE3IDYuMDY1IDguNzI5IDEzLjA5OCAxNy4zMzYgMjAuOTg0IDI1LjcyNi04LjEyMiA2LjIyNi0xNi44NDEgMTIuMjQ0LTI2LjEwMyAxNy45NjQtNS41MjEgMy40MS03LjM4MSAxMC41NTYtNC4xNjIgMTYuMTlsNy45NDEgMTMuODk2YzMuMzYyIDUuODgzIDEwLjkzNSA3LjgyNiAxNi43MDYgNC4yNzYgMTIuNzMyLTcuODMxIDI0LjU3MS0xNi4xNzUgMzUuNDQzLTI0Ljg5MSAxMC45MTcgOC43NjEgMjIuNzY2IDE3LjEwMiAzNS4zOTYgMjQuODgxIDUuNzc0IDMuNTU2IDEzLjM1MyAxLjYxOCAxNi43MTctNC4yN2w3Ljk0NC0xMy45MDNjMy4yMTMtNS42MjMgMS4zNy0xMi43Ni00LjEzNS0xNi4xNzFhMzEyLjczNyAzMTIuNzM3IDAgMCAxLTI2LjA2LTE4LjAxOWMyMS4wMjQtMjIuNDI1IDM1Ljc2OC00Ni4yODkgNDIuNzEzLTY5Ljg1SDU4MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0xNmMwLTYuNjI1LTUuMzczLTExLjk5OC0xMi0xMS45OTh6Il0sCiAgICAgICJsYXB0b3AiOiBbNjQwLCA1MTIsIFtdLCAiZjEwOSIsICJNNTEyIDY0djI1NkgxMjhWNjRoMzg0bTE2LTY0SDExMkM4NS41IDAgNjQgMjEuNSA2NCA0OHYyODhjMCAyNi41IDIxLjUgNDggNDggNDhoNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0xMDAgNDE2SDM4OS41Yy0zIDAtNS41IDIuMS01LjkgNS4xQzM4MS4yIDQzNi4zIDM2OCA0NDggMzUyIDQ0OGgtNjRjLTE2IDAtMjkuMi0xMS43LTMxLjYtMjYuOS0uNS0yLjktMy01LjEtNS45LTUuMUgxMmMtNi42IDAtMTIgNS40LTEyIDEydjM2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDU0NGMyNi41IDAgNDgtMjEuNSA0OC00OHYtMzZjMC02LjYtNS40LTEyLTEyLTEyeiJdLAogICAgICAibGVhZiI6IFs1NzYsIDUxMiwgW10sICJmMDZjIiwgIk0zOTUuNCA0MjAuOGMtNDMuNCAyMS42LTkxLjkgMzQuNC0xNDAuOCAzNC40LTgyLjIgMC0xNTEuMS00MC4xLTE1MS4xLTQwLjEtMTYuMSAwLTM1LjQgNjQuOS02My4zIDY0LjktMjcgMC00MC4yLTI0LTQwLjItMzguNSAwLTMzLjEgNjMuNi01OC45IDYzLjYtNzcuMyAwIDAtMTIuNS0yMS4yLTEyLjUtNTkuMiAwLTEwMS4yIDgxLjMtMTczLjQgMTcyLjYtMjAzLjMgNjUuOS0yMS42IDIwNiAzLjUgMjUwLjctMzguNUM0OTIuMSA0NyA1MDAuOCAzMiA1MjcuOCAzMmMzNi4zIDAgNDguMiA5My4yIDQ4LjIgMTIwLjMgMCAxMTAuOS01NC41IDIwNi41LTE4MC42IDI2OC41em0tMjU0LjMtNzUuNmM2My41LTg5LjkgMTQ0LjUtMTI4LjggMjU3LjctMTIwIDguOC43IDE2LjUtNS45IDE3LjItMTQuNy43LTguOC01LjktMTYuNS0xNC43LTE3LjItMTI0LTkuNi0yMTUuOSAzMy45LTI4Ni4zIDEzMy41LTUuMSA3LjItMy40IDE3LjIgMy44IDIyLjMgNy4yIDUuMSAxNy4yIDMuNCAyMi4zLTMuOXoiXSwKICAgICAgImxlbW9uIjogWzUxMiwgNTEyLCBbXSwgImYwOTQiLCAiTTQ4OS4wMzggMjIuOTYzQzQ2NS45NDQtLjEzIDQzNC42NDgtNS45MyA0MTMuOTQ3IDYuMTI5Yy01OC45MDYgMzQuMzEyLTE4MS4yNS01My4wNzctMzIxLjA3MyA4Ni43NDZTNDAuNDQxIDM1NS4wNDEgNi4xMjkgNDEzLjk0NWMtMTIuMDU5IDIwLjcwMi02LjI2IDUxLjk5OSAxNi44MzMgNzUuMDkzIDIzLjA5NSAyMy4wOTUgNTQuMzkyIDI4Ljg5MSA3NS4wOTUgMTYuODMyIDU4LjkwMS0zNC4zMSAxODEuMjQ2IDUzLjA3OSAzMjEuMDY4LTg2Ljc0M1M0NzEuNTYgMTU2Ljk2IDUwNS44NzEgOTguMDU2YzEyLjA1OS0yMC43MDIgNi4yNjEtNTEuOTk5LTE2LjgzMy03NS4wOTN6TTI0My44ODEgOTUuNTIyYy01OC4xODkgMTQuNTQ3LTEzMy44MDggOTAuMTU1LTE0OC4zNTggMTQ4LjM1OC0xLjgxNyA3LjI3LTguMzQyIDEyLjEyNC0xNS41MTEgMTIuMTI0LTEuMjg0IDAtMi41OS0uMTU2LTMuODkzLS40ODEtOC41NzItMi4xNDQtMTMuNzg0LTEwLjgzLTExLjY0Mi0xOS40MDNDODEuOTAxIDE2Ni40MjcgMTY2LjMxNiA4MS45MyAyMzYuMTE5IDY0LjQ3OGM4LjU3NS0yLjE0MyAxNy4yNjEgMy4wNjkgMTkuNDAzIDExLjY0MnMtMy4wNjkgMTcuMjU5LTExLjY0MSAxOS40MDJ6Il0sCiAgICAgICJsZXZlbC1kb3duLWFsdCI6IFszMjAsIDUxMiwgW10sICJmM2JlIiwgIk0zMTMuNTUzIDM5Mi4zMzFMMjA5LjU4NyA1MDQuMzM0Yy05LjQ4NSAxMC4yMTQtMjUuNjc2IDEwLjIyOS0zNS4xNzQgMEw3MC40MzggMzkyLjMzMUM1Ni4yMzIgMzc3LjAzMSA2Ny4wNjIgMzUyIDg4LjAyNSAzNTJIMTUyVjgwSDY4LjAyNGExMS45OTYgMTEuOTk2IDAgMCAxLTguNDg1LTMuNTE1bC01Ni01NkMtNC4wMjEgMTIuOTI2IDEuMzMzIDAgMTIuMDI0IDBIMjA4YzEzLjI1NSAwIDI0IDEwLjc0NSAyNCAyNHYzMjhoNjMuOTY2YzIwLjg3OCAwIDMxLjg1MSAyNC45NjkgMTcuNTg3IDQwLjMzMXoiXSwKICAgICAgImxldmVsLXVwLWFsdCI6IFszMjAsIDUxMiwgW10sICJmM2JmIiwgIk0zMTMuNTUzIDExOS42NjlMMjA5LjU4NyA3LjY2NmMtOS40ODUtMTAuMjE0LTI1LjY3Ni0xMC4yMjktMzUuMTc0IDBMNzAuNDM4IDExOS42NjlDNTYuMjMyIDEzNC45NjkgNjcuMDYyIDE2MCA4OC4wMjUgMTYwSDE1MnYyNzJINjguMDI0YTExLjk5NiAxMS45OTYgMCAwIDAtOC40ODUgMy41MTVsLTU2IDU2Qy00LjAyMSA0OTkuMDc0IDEuMzMzIDUxMiAxMi4wMjQgNTEySDIwOGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMTYwaDYzLjk2NmMyMC44NzggMCAzMS44NTEtMjQuOTY5IDE3LjU4Ny00MC4zMzF6Il0sCiAgICAgICJsaWZlLXJpbmciOiBbNTEyLCA1MTIsIFtdLCAiZjFjZCIsICJNMjU2IDhDMTE5LjAzMyA4IDggMTE5LjAzMyA4IDI1NnMxMTEuMDMzIDI0OCAyNDggMjQ4IDI0OC0xMTEuMDMzIDI0OC0yNDhTMzkyLjk2NyA4IDI1NiA4em0xNzMuNjk2IDExOS41NTlsLTYzLjM5OSA2My4zOTljLTEwLjk4Ny0xOC41NTktMjYuNjctMzQuMjUyLTQ1LjI1NS00NS4yNTVsNjMuMzk5LTYzLjM5OWEyMTguMzk2IDIxOC4zOTYgMCAwIDEgNDUuMjU1IDQ1LjI1NXpNMjU2IDM1MmMtNTMuMDE5IDAtOTYtNDIuOTgxLTk2LTk2czQyLjk4MS05NiA5Ni05NiA5NiA0Mi45ODEgOTYgOTYtNDIuOTgxIDk2LTk2IDk2ek0xMjcuNTU5IDgyLjMwNGw2My4zOTkgNjMuMzk5Yy0xOC41NTkgMTAuOTg3LTM0LjI1MiAyNi42Ny00NS4yNTUgNDUuMjU1bC02My4zOTktNjMuMzk5YTIxOC4zNzIgMjE4LjM3MiAwIDAgMSA0NS4yNTUtNDUuMjU1ek04Mi4zMDQgMzg0LjQ0MWw2My4zOTktNjMuMzk5YzEwLjk4NyAxOC41NTkgMjYuNjcgMzQuMjUyIDQ1LjI1NSA0NS4yNTVsLTYzLjM5OSA2My4zOTlhMjE4LjM5NiAyMTguMzk2IDAgMCAxLTQ1LjI1NS00NS4yNTV6bTMwMi4xMzcgNDUuMjU1bC02My4zOTktNjMuMzk5YzE4LjU1OS0xMC45ODcgMzQuMjUyLTI2LjY3IDQ1LjI1NS00NS4yNTVsNjMuMzk5IDYzLjM5OWEyMTguNDAzIDIxOC40MDMgMCAwIDEtNDUuMjU1IDQ1LjI1NXoiXSwKICAgICAgImxpZ2h0YnVsYiI6IFszODQsIDUxMiwgW10sICJmMGViIiwgIk0yNzIgNDI4djI4YzAgMTAuNDQ5LTYuNjggMTkuMzM0LTE2IDIyLjYyOVY0ODhjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0aC04MGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di05LjM3MWMtOS4zMi0zLjI5NS0xNi0xMi4xOC0xNi0yMi42Mjl2LTI4YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTM2YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ6bS0xNDMuMTA3LTQ0Yy05LjkwNyAwLTE4LjgyNi02LjA3OC0yMi4zNzYtMTUuMzI3QzY3LjY5NyAyNjcuNTQxIDE2IDI3Ny43MzEgMTYgMTc2IDE2IDc4LjgwMyA5NC44MDUgMCAxOTIgMHMxNzYgNzguODAzIDE3NiAxNzZjMCAxMDEuNzMxLTUxLjY5NyA5MS41NDEtOTAuNTE2IDE5Mi42NzMtMy41NSA5LjI0OS0xMi40NyAxNS4zMjctMjIuMzc2IDE1LjMyN0gxMjguODkzek0xMTIgMTc2YzAtNDQuMTEyIDM1Ljg4OC04MCA4MC04MCA4LjgzNyAwIDE2LTcuMTY0IDE2LTE2cy03LjE2My0xNi0xNi0xNmMtNjEuNzU3IDAtMTEyIDUwLjI0My0xMTIgMTEyIDAgOC44MzYgNy4xNjQgMTYgMTYgMTZzMTYtNy4xNjQgMTYtMTZ6Il0sCiAgICAgICJsaW5rIjogWzUxMiwgNTEyLCBbXSwgImYwYzEiLCAiTTMyNi42MTIgMTg1LjM5MWM1OS43NDcgNTkuODA5IDU4LjkyNyAxNTUuNjk4LjM2IDIxNC41OS0uMTEuMTItLjI0LjI1LS4zNi4zN2wtNjcuMiA2Ny4yYy01OS4yNyA1OS4yNy0xNTUuNjk5IDU5LjI2Mi0yMTQuOTYgMC01OS4yNy01OS4yNi01OS4yNy0xNTUuNyAwLTIxNC45NmwzNy4xMDYtMzcuMTA2YzkuODQtOS44NCAyNi43ODYtMy4zIDI3LjI5NCAxMC42MDYuNjQ4IDE3LjcyMiAzLjgyNiAzNS41MjcgOS42OSA1Mi43MjEgMS45ODYgNS44MjIuNTY3IDEyLjI2Mi0zLjc4MyAxNi42MTJsLTEzLjA4NyAxMy4wODdjLTI4LjAyNiAyOC4wMjYtMjguOTA1IDczLjY2LTEuMTU1IDEwMS45NiAyOC4wMjQgMjguNTc5IDc0LjA4NiAyOC43NDkgMTAyLjMyNS41MWw2Ny4yLTY3LjE5YzI4LjE5MS0yOC4xOTEgMjguMDczLTczLjc1NyAwLTEwMS44My0zLjcwMS0zLjY5NC03LjQyOS02LjU2NC0xMC4zNDEtOC41NjlhMTYuMDM3IDE2LjAzNyAwIDAgMS02Ljk0Ny0xMi42MDZjLS4zOTYtMTAuNTY3IDMuMzQ4LTIxLjQ1NiAxMS42OTgtMjkuODA2bDIxLjA1NC0yMS4wNTVjNS41MjEtNS41MjEgMTQuMTgyLTYuMTk5IDIwLjU4NC0xLjczMWExNTIuNDgyIDE1Mi40ODIgMCAwIDEgMjAuNTIyIDE3LjE5N3pNNDY3LjU0NyA0NC40NDljLTU5LjI2MS01OS4yNjItMTU1LjY5LTU5LjI3LTIxNC45NiAwbC02Ny4yIDY3LjJjLS4xMi4xMi0uMjUuMjUtLjM2LjM3LTU4LjU2NiA1OC44OTItNTkuMzg3IDE1NC43ODEuMzYgMjE0LjU5YTE1Mi40NTQgMTUyLjQ1NCAwIDAgMCAyMC41MjEgMTcuMTk2YzYuNDAyIDQuNDY4IDE1LjA2NCAzLjc4OSAyMC41ODQtMS43MzFsMjEuMDU0LTIxLjA1NWM4LjM1LTguMzUgMTIuMDk0LTE5LjIzOSAxMS42OTgtMjkuODA2YTE2LjAzNyAxNi4wMzcgMCAwIDAtNi45NDctMTIuNjA2Yy0yLjkxMi0yLjAwNS02LjY0LTQuODc1LTEwLjM0MS04LjU2OS0yOC4wNzMtMjguMDczLTI4LjE5MS03My42MzkgMC0xMDEuODNsNjcuMi02Ny4xOWMyOC4yMzktMjguMjM5IDc0LjMtMjguMDY5IDEwMi4zMjUuNTEgMjcuNzUgMjguMyAyNi44NzIgNzMuOTM0LTEuMTU1IDEwMS45NmwtMTMuMDg3IDEzLjA4N2MtNC4zNSA0LjM1LTUuNzY5IDEwLjc5LTMuNzgzIDE2LjYxMiA1Ljg2NCAxNy4xOTQgOS4wNDIgMzQuOTk5IDkuNjkgNTIuNzIxLjUwOSAxMy45MDYgMTcuNDU0IDIwLjQ0NiAyNy4yOTQgMTAuNjA2bDM3LjEwNi0zNy4xMDZjNTkuMjcxLTU5LjI1OSA1OS4yNzEtMTU1LjY5OS4wMDEtMjE0Ljk1OXoiXSwKICAgICAgImxpcmEtc2lnbiI6IFszODQsIDUxMiwgW10sICJmMTk1IiwgIk0zNzEuOTk0IDI1NmgtNDguMDE5QzMxNy42NCAyNTYgMzEyIDI2MC45MTIgMzEyIDI2Ny4yNDYgMzEyIDM2OCAyMzAuMTc5IDQxNiAxNDQgNDE2VjI1Ni43ODFsMTM0LjYwMy0yOS45MTJBMTIgMTIgMCAwIDAgMjg4IDIxNS4xNTV2LTQwLjk3NmMwLTcuNjc3LTcuMTA5LTEzLjM4LTE0LjYwMy0xMS43MTRMMTQ0IDE5MS4yMTlWMTYwLjc4bDEzNC42MDMtMjkuOTEyQTEyIDEyIDAgMCAwIDI4OCAxMTkuMTU0Vjc4LjE3OWMwLTcuNjc3LTcuMTA5LTEzLjM4LTE0LjYwMy0xMS43MTRMMTQ0IDk1LjIxOVY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDc2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjY4Ljk5N0w5LjM5NyAxMjUuMTMxQTEyIDEyIDAgMCAwIDAgMTM2Ljg0NXY0MC45NzZjMCA3LjY3NyA3LjEwOSAxMy4zOCAxNC42MDMgMTEuNzE0TDY0IDE3OC41NTh2MzAuNDM5TDkuMzk3IDIyMS4xMzFBMTIgMTIgMCAwIDAgMCAyMzIuODQ1djQwLjk3NmMwIDcuNjc3IDcuMTA5IDEzLjM4IDE0LjYwMyAxMS43MTRMNjQgMjc0LjU1OFY0NjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg3OS41ODNjMTM0LjA5MSAwIDIyMy4yNTUtNzcuODM0IDIyOC40MDgtMjExLjU5Mi4yNjEtNi43ODItNS4yMTEtMTIuNDA4LTExLjk5Ny0xMi40MDh6Il0sCiAgICAgICJsaXN0IjogWzUxMiwgNTEyLCBbXSwgImYwM2EiLCAiTTEyOCAxMTZWNzZjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgzNTJjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnY0MGMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDE0NGMtOC44MzcgMC0xNi03LjE2My0xNi0xNnptMTYgMTc2aDM1MmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE0NGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0wIDE2MGgzNTJjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNDRjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnpNMTYgMTQ0aDY0YzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNjRjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNkM3LjE2MyA0OCAwIDU1LjE2MyAwIDY0djY0YzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDY0YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTY0YzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NjRjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoNjRjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNjRjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY2NGMwIDguODM3IDcuMTYzIDE2IDE2IDE2eiJdLAogICAgICAibGlzdC1hbHQiOiBbNTEyLCA1MTIsIFtdLCAiZjAyMiIsICJNNDY0IDQ4MEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFY4MGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDQxNmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djM1MmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4ek0xMjggMTIwYy0yMi4wOTEgMC00MCAxNy45MDktNDAgNDBzMTcuOTA5IDQwIDQwIDQwIDQwLTE3LjkwOSA0MC00MC0xNy45MDktNDAtNDAtNDB6bTAgOTZjLTIyLjA5MSAwLTQwIDE3LjkwOS00MCA0MHMxNy45MDkgNDAgNDAgNDAgNDAtMTcuOTA5IDQwLTQwLTE3LjkwOS00MC00MC00MHptMCA5NmMtMjIuMDkxIDAtNDAgMTcuOTA5LTQwIDQwczE3LjkwOSA0MCA0MCA0MCA0MC0xNy45MDkgNDAtNDAtMTcuOTA5LTQwLTQwLTQwem0yODgtMTM2di0zMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDIwNGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYzMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIwMGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2di0zMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDIwNGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYzMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIwMGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem0wIDk2di0zMmMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDIwNGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYzMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIwMGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyeiJdLAogICAgICAibGlzdC1vbCI6IFs1MTIsIDUxMiwgW10sICJmMGNiIiwgIk0zLjI2MyAxMzkuNTI3YzAtNy40NzcgMy45MTctMTEuNTcyIDExLjU3My0xMS41NzJoMTUuMTMxVjg4LjA3OGMwLTUuMTYzLjUzNC0xMC41MDMuNTM0LTEwLjUwM2gtLjM1NnMtMS43NzkgMi42Ny0yLjg0OCAzLjczOGMtNC40NTEgNC4yNzMtMTAuNTA0IDQuNDUxLTE1LjY2Ni0xLjA2OGwtNS41MTgtNi4yMzFjLTUuMzQyLTUuMzQxLTQuOTg0LTExLjIxNi41MzQtMTYuMzc5bDIxLjcyLTE5LjkzOEMzMi44MTUgMzMuNjAyIDM2LjczMiAzMiA0Mi43ODUgMzJINTQuODljNy42NTYgMCAxMS43NDkgMy45MTYgMTEuNzQ5IDExLjU3MnY4NC4zODRoMTUuNDg4YzcuNjU1IDAgMTEuNTcyIDQuMDk0IDExLjU3MiAxMS41NzJ2OC45MDFjMCA3LjQ3Ny0zLjkxNyAxMS41NzItMTEuNTcyIDExLjU3MkgxNC44MzZjLTcuNjU2IDAtMTEuNTczLTQuMDk1LTExLjU3My0xMS41NzJ2LTguOTAyek0yLjIxMSAzMDQuNTkxYzAtNDcuMjc4IDUwLjk1NS01Ni4zODMgNTAuOTU1LTY5LjE2NSAwLTcuMTgtNS45NTQtOC43NTUtOS4yOC04Ljc1NS0zLjE1MyAwLTYuNDc5IDEuMDUxLTkuNDU1IDMuODUyLTUuMDc5IDQuOTAzLTEwLjUwNyA3LjAwNC0xNi4xMTEgMi40NTFsLTguNTc5LTYuODI5Yy01Ljc3OS00LjU1My03LjE4LTkuODA1LTIuODAzLTE1LjQwOUMxMy41OTIgMjAxLjk4MSAyNi4wMjUgMTkyIDQ3LjM4NyAxOTJjMTkuNDM3IDAgNDQuNDc2IDEwLjUwNiA0NC40NzYgMzkuNTczIDAgMzguMzQ3LTQ2Ljc1MyA0Ni40MDItNDguNjc5IDU2LjkwOWgzOS4wNDljNy41MjkgMCAxMS41NTcgNC4wMjcgMTEuNTU3IDExLjM4MnY4Ljc1NWMwIDcuMzU0LTQuMDI4IDExLjM4Mi0xMS41NTcgMTEuMzgyaC02Ny45NGMtNy4wMDUgMC0xMi4wODMtNC4wMjgtMTIuMDgzLTExLjM4MnYtNC4wMjh6TTUuNjU0IDQ1NC42MWw1LjYwMy05LjI4YzMuODUzLTYuNjU0IDkuMTA1LTcuMDA0IDE1LjU4NC0zLjE1MiA0LjkwMyAyLjEwMSA5LjYzIDMuMTUyIDE0LjM1OSAzLjE1MiAxMC4xNTUgMCAxNC4zNTgtMy41MDIgMTQuMzU4LTguMjMgMC02LjY1NC01LjYwNC05LjEwNi0xNS45MzQtOS4xMDZoLTQuNzI4Yy01Ljk1NCAwLTkuMjgtMi4xMDEtMTIuMjU4LTcuODhsLTEuMDUtMS45MjZjLTIuNDUxLTQuNzI4LTEuMjI2LTkuODA2IDIuODAxLTE0Ljg4NGw1LjYwNC03LjAwNGM2LjgyOS04LjQwNSAxMi4yNTctMTMuNDgzIDEyLjI1Ny0xMy40ODN2LS4zNXMtNC4yMDMgMS4wNTEtMTIuNjA4IDEuMDUxSDE2LjY4NWMtNy41MyAwLTExLjM4My00LjAyOC0xMS4zODMtMTEuMzgydi04Ljc1NWMwLTcuNTMgMy44NTMtMTEuMzgyIDExLjM4My0xMS4zODJoNTguNDg0YzcuNTI5IDAgMTEuMzgyIDQuMDI3IDExLjM4MiAxMS4zODJ2My4zMjdjMCA1Ljc3OC0xLjQwMSA5LjgwNi01LjA3OSAxNC4xODNsLTE3LjUwOSAyMC4xMzdjMTkuNjExIDUuMDc4IDI4LjcxNiAyMC40ODcgMjguNzE2IDM0Ljg0NSAwIDIxLjM2My0xNC4zNTggNDQuMTI2LTQ4LjUwMyA0NC4xMjYtMTYuNjM2IDAtMjguMTkyLTQuNzI4LTM1Ljg5Ni05LjQ1NS01Ljc3OS00LjIwMi02LjMwNC05LjgwNS0yLjYyNi0xNS45MzR6TTE0NCAxMzJoMzUyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNzZjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNDRjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoMzUyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTQ0Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDM1MmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE0NGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2eiJdLAogICAgICAibGlzdC11bCI6IFs1MTIsIDUxMiwgW10sICJmMGNhIiwgIk05NiA5NmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4UzAgMTIyLjUxIDAgOTZzMjEuNDktNDggNDgtNDggNDggMjEuNDkgNDggNDh6TTQ4IDIwOGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OC0yMS40OS00OC00OC00OHptMCAxNjBjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6bTk2LTIzNmgzNTJjOC44MzcgMCAxNi03LjE2MyAxNi0xNlY3NmMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE0NGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0wIDE2MGgzNTJjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNDRjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoMzUyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTQ0Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6Il0sCiAgICAgICJsb2NhdGlvbi1hcnJvdyI6IFs1MTIsIDUxMiwgW10sICJmMTI0IiwgIk00NDMuNjgzIDQuNTI5TDI3LjgxOCAxOTYuNDE4Qy0xOC43MDIgMjE3Ljg4OS0zLjM5IDI4OCA0Ny45MzMgMjg4SDIyNHYxNzUuOTkzYzAgNTEuNzI3IDcwLjE2MSA2Ni41MjYgOTEuNTgyIDIwLjExNUw1MDcuMzggNjguMjI1YzE4LjkwNS00MC45NjEtMjMuNzUyLTgyLjEzMy02My42OTctNjMuNjk2eiJdLAogICAgICAibG9jayI6IFs0NDgsIDUxMiwgW10sICJmMDIzIiwgIk00MDAgMjI0aC0yNHYtNzJDMzc2IDY4LjIgMzA3LjggMCAyMjQgMFM3MiA2OC4yIDcyIDE1MnY3Mkg0OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh2MTkyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDM1MmMyNi41IDAgNDgtMjEuNSA0OC00OFYyNzJjMC0yNi41LTIxLjUtNDgtNDgtNDh6bS0xMDQgMEgxNTJ2LTcyYzAtMzkuNyAzMi4zLTcyIDcyLTcyczcyIDMyLjMgNzIgNzJ2NzJ6Il0sCiAgICAgICJsb2NrLW9wZW4iOiBbNTc2LCA1MTIsIFtdLCAiZjNjMSIsICJNNDIzLjUgMEMzMzkuNS4zIDI3MiA2OS41IDI3MiAxNTMuNVYyMjRINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djE5MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMjcyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4aC00OHYtNzEuMWMwLTM5LjYgMzEuNy03Mi41IDcxLjMtNzIuOSA0MC0uNCA3Mi43IDMyLjEgNzIuNyA3MnY4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgzMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHYtODBDNTc2IDY4IDUwNy41LS4zIDQyMy41IDB6Il0sCiAgICAgICJsb25nLWFycm93LWFsdC1kb3duIjogWzI1NiwgNTEyLCBbXSwgImYzMDkiLCAiTTE2OCAzNDUuOTQxVjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJoLTU2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjMwMS45NDFINDEuOTQxYy0yMS4zODIgMC0zMi4wOSAyNS44NTEtMTYuOTcxIDQwLjk3MWw4Ni4wNTkgODYuMDU5YzkuMzczIDkuMzczIDI0LjU2OSA5LjM3MyAzMy45NDEgMGw4Ni4wNTktODYuMDU5YzE1LjExOS0xNS4xMTkgNC40MTEtNDAuOTcxLTE2Ljk3MS00MC45NzFIMTY4eiJdLAogICAgICAibG9uZy1hcnJvdy1hbHQtbGVmdCI6IFs0NDgsIDUxMiwgW10sICJmMzBhIiwgIk0xMzQuMDU5IDI5Nkg0MzZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNTZjMC02LjYyNy01LjM3My0xMi0xMi0xMkgxMzQuMDU5di00Ni4wNTljMC0yMS4zODItMjUuODUxLTMyLjA5LTQwLjk3MS0xNi45NzFMNy4wMjkgMjM5LjAyOWMtOS4zNzMgOS4zNzMtOS4zNzMgMjQuNTY5IDAgMzMuOTQxbDg2LjA1OSA4Ni4wNTljMTUuMTE5IDE1LjExOSA0MC45NzEgNC40MTEgNDAuOTcxLTE2Ljk3MVYyOTZ6Il0sCiAgICAgICJsb25nLWFycm93LWFsdC1yaWdodCI6IFs0NDgsIDUxMiwgW10sICJmMzBiIiwgIk0zMTMuOTQxIDIxNkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY1NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDMwMS45NDF2NDYuMDU5YzAgMjEuMzgyIDI1Ljg1MSAzMi4wOSA0MC45NzEgMTYuOTcxbDg2LjA1OS04Ni4wNTljOS4zNzMtOS4zNzMgOS4zNzMtMjQuNTY5IDAtMzMuOTQxbC04Ni4wNTktODYuMDU5Yy0xNS4xMTktMTUuMTE5LTQwLjk3MS00LjQxMS00MC45NzEgMTYuOTcxVjIxNnoiXSwKICAgICAgImxvbmctYXJyb3ctYWx0LXVwIjogWzI1NiwgNTEyLCBbXSwgImYzMGMiLCAiTTg4IDE2Ni4wNTlWNDY4YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMlYxNjYuMDU5aDQ2LjA1OWMyMS4zODIgMCAzMi4wOS0yNS44NTEgMTYuOTcxLTQwLjk3MWwtODYuMDU5LTg2LjA1OWMtOS4zNzMtOS4zNzMtMjQuNTY5LTkuMzczLTMzLjk0MSAwbC04Ni4wNTkgODYuMDU5Yy0xNS4xMTkgMTUuMTE5LTQuNDExIDQwLjk3MSAxNi45NzEgNDAuOTcxSDg4eiJdLAogICAgICAibG93LXZpc2lvbiI6IFs1NzYsIDUxMiwgW10sICJmMmE4IiwgIk01NjkuMzQ0IDIzMS42MzFDNTEyLjk2IDEzNS45NDkgNDA3LjgxIDcyIDI4OCA3MmMtMjguNDY4IDAtNTYuMTAyIDMuNjE5LTgyLjQ1MSAxMC40MDlMMTUyLjc3OCAxMC4yNGMtNy42MDEtMTAuODU4LTIyLjU2NC0xMy41LTMzLjQyMy01LjlsLTEzLjExNCA5LjE3OGMtMTAuODYgNy42MDEtMTMuNTAyIDIyLjU2Ni01LjkgMzMuNDI2bDQzLjEzMSA1OC4zOTVDODkuNDQ5IDEzMS43MyA0MC4yMjggMTc0LjY4MyA2LjY4MiAyMzEuNTgxYy0uMDEuMDE3LS4wMjMuMDMzLS4wMzQuMDUtOC43NjUgMTQuODc1LTguOTY0IDMzLjUyOCAwIDQ4LjczOSAzOC41IDY1LjMzMiA5OS43NDIgMTE1Ljg2MiAxNzIuODU5IDE0MS4zNDlMNTUuMzE2IDI0NC4zMDJBMjcyLjE5NCAyNzIuMTk0IDAgMCAxIDgzLjYxIDIwOC4zOWwxMTkuNCAxNzAuNThoLjAxbDQwLjYzIDU4LjA0YTMzMC4wNTUgMzMwLjA1NSAwIDAgMCA3OC45NCAxLjE3bC0xODkuOTgtMjcxLjRhMjc3LjYyOCAyNzcuNjI4IDAgMCAxIDM4Ljc3Ny0yMS41NjNsMjUxLjgzNiAzNTYuNTQ0YzcuNjAxIDEwLjg1OCAyMi41NjQgMTMuNDk5IDMzLjQyMyA1LjlsMTMuMTE0LTkuMTc4YzEwLjg2LTcuNjAxIDEzLjUwMi0yMi41NjcgNS45LTMzLjQyNmwtNDMuMTItNTguMzc3LS4wMDctLjAwOWM1Ny4xNjEtMjcuOTc4IDEwNC44MzUtNzIuMDQgMTM2LjgxLTEyNi4zMDFhNDcuOTM4IDQ3LjkzOCAwIDAgMCAuMDAxLTQ4LjczOXpNMzkwLjAyNiAzNDUuOTRsLTE5LjA2Ni0yNy4yM2MyNC42ODItMzIuNTY3IDI3LjcxMS03Ni4zNTMgOC44LTExMS42OHYuMDNjMCAyMy42NS0xOS4xNyA0Mi44Mi00Mi44MiA0Mi44Mi0yMy44MjggMC00Mi44Mi0xOS4zNDktNDIuODItNDIuODIgMC0yMy42NSAxOS4xNy00Mi44MiA0Mi44Mi00Mi44MmguMDNjLTI0Ljc1LTEzLjI0OS01My41MjItMTUuNjQzLTc5LjUxLTcuNjhsLTE5LjA2OC0yNy4yMzdDMjUzLjc1OCAxMjMuMzA2IDI3MC40ODggMTIwIDI4OCAxMjBjNzUuMTYyIDAgMTM2IDYwLjgyNiAxMzYgMTM2IDAgMzQuNTA0LTEyLjgzMyA2NS45NzUtMzMuOTc0IDg5Ljk0eiJdLAogICAgICAibWFnaWMiOiBbNTEyLCA1MTIsIFtdLCAiZjBkMCIsICJNMTAxLjEgNTA1TDcgNDEwLjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDM3NyA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk0LjEgOTQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwxMzUgNTA1Yy05LjMgOS4zLTI0LjUgOS4zLTMzLjkgMHpNMzA0IDE1OS4ybDQ4LjggNDguOCA4OS45LTg5LjktNDguOC00OC44LTg5LjkgODkuOXpNMTM4LjkgMzkuM2wtMTEuNyAyMy44LTI2LjIgMy44Yy00LjcuNy02LjYgNi41LTMuMiA5LjhsMTkgMTguNS00LjUgMjYuMWMtLjggNC43IDQuMSA4LjMgOC4zIDYuMUwxNDQgMTE1bDIzLjQgMTIuM2M0LjIgMi4yIDkuMS0xLjQgOC4zLTYuMWwtNC41LTI2LjEgMTktMTguNWMzLjQtMy4zIDEuNS05LjEtMy4yLTkuOEwxNjAuOCA2M2wtMTEuNy0yMy44Yy0yLTQuMS04LjEtNC4xLTEwLjIuMXptOTcuNy0yMC43bC03LjggMTUuOC0xNy41IDIuNmMtMy4xLjUtNC40IDQuMy0yLjEgNi41bDEyLjYgMTIuMy0zIDE3LjRjLS41IDMuMSAyLjggNS41IDUuNiA0TDI0MCA2OWwxNS42IDguMmMyLjggMS41IDYuMS0uOSA1LjYtNGwtMy0xNy40IDEyLjYtMTIuM2MyLjMtMi4yIDEtNi4xLTIuMS02LjVsLTE3LjUtMi41LTcuOC0xNS44Yy0xLjQtMy01LjQtMy02LjgtLjF6bS0xOTIgMGwtNy44IDE1LjhMMTkuMyAzN2MtMy4xLjUtNC40IDQuMy0yLjEgNi41bDEyLjYgMTIuMy0zIDE3LjRjLS41IDMuMSAyLjggNS41IDUuNiA0TDQ4IDY5bDE1LjYgOC4yYzIuOCAxLjUgNi4xLS45IDUuNi00bC0zLTE3LjQgMTIuNi0xMi4zYzIuMy0yLjIgMS02LjEtMi4xLTYuNWwtMTcuNS0yLjUtNy44LTE1LjhjLTEuNC0zLTUuNC0zLTYuOC0uMXptNDE2IDIyMy41bC03LjggMTUuOC0xNy41IDIuNWMtMy4xLjUtNC40IDQuMy0yLjEgNi41bDEyLjYgMTIuMy0zIDE3LjRjLS41IDMuMSAyLjggNS41IDUuNiA0bDE1LjYtOC4yIDE1LjYgOC4yYzIuOCAxLjUgNi4xLS45IDUuNi00bC0zLTE3LjQgMTIuNi0xMi4zYzIuMy0yLjIgMS02LjEtMi4xLTYuNWwtMTcuNS0yLjUtNy44LTE1LjhjLTEuNC0yLjgtNS40LTIuOC02LjggMHoiXSwKICAgICAgIm1hZ25ldCI6IFs1MTIsIDUxMiwgW10sICJmMDc2IiwgIk0xNjQuMSAxNjBIMTJjLTYuNiAwLTEyLTUuNC0xMi0xMlY2OGMwLTE5LjkgMTYuMS0zNiAzNi0zNmgxMDRjMTkuOSAwIDM2IDE2LjEgMzYgMzZ2ODBjLjEgNi42LTUuMyAxMi0xMS45IDEyem0zNDgtMTJWNjcuOWMwLTE5LjktMTYuMS0zNi0zNi0zNmgtMTA0Yy0xOS45IDAtMzYgMTYuMS0zNiAzNnY4MGMwIDYuNiA1LjQgMTIgMTIgMTJoMTUyYzYuNi4xIDEyLTUuMyAxMi0xMS45em0tMTY0IDQ0Yy02LjYgMC0xMiA1LjQtMTIgMTJ2NTJjMCAxMjguMS0xNjAgMTI3LjktMTYwIDB2LTUyYzAtNi42LTUuNC0xMi0xMi0xMmgtMTUyYy02LjcgMC0xMiA1LjQtMTIgMTIuMS4xIDIxLjQuNiA0MC4zIDAgNTMuM0MuMSA0MDggMTM2LjMgNTA0IDI1Ni45IDUwNCAzNzcuNSA1MDQgNTEyIDQwOCA1MTIgMjU3LjNjLS42LTEyLjgtLjItMzMgMC01My4yIDAtNi43LTUuMy0xMi4xLTEyLTEyLjFIMzQ4LjF6Il0sCiAgICAgICJtYWxlIjogWzE5MiwgNTEyLCBbXSwgImYxODMiLCAiTTk2IDBjMzUuMzQ2IDAgNjQgMjguNjU0IDY0IDY0cy0yOC42NTQgNjQtNjQgNjQtNjQtMjguNjU0LTY0LTY0UzYwLjY1NCAwIDk2IDBtNDggMTQ0aC0xMS4zNmMtMjIuNzExIDEwLjQ0My00OS41OSAxMC44OTQtNzMuMjggMEg0OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYxMzZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDE2djEzNmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNjRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM1MmgxNmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMTkyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6Il0sCiAgICAgICJtYXAiOiBbNTc2LCA1MTIsIFtdLCAiZjI3OSIsICJNNTc2IDU2LjAxNXYzMzUuOTdhMjMuOTk4IDIzLjk5OCAwIDAgMS0xMy4yNjcgMjEuNDY2bC0xMjggNjRDNDE4Ljk0OCA0ODUuMzQ0IDQwMCA0NzMuOTkyIDQwMCA0NTUuOTg1di0zMzUuOTdhMjMuOTk4IDIzLjk5OCAwIDAgMSAxMy4yNjctMjEuNDY2bDEyOC02NEM1NTcuMDUyIDI2LjY1NiA1NzYgMzguMDA4IDU3NiA1Ni4wMTV6bS0yMDYuMjUzIDQyLjA3bC0xNDQtNjRjLTE1Ljc1MS03LTMzLjc0NyA0LjQ2MS0zMy43NDcgMjEuOTMydjMzNS45NjdhMjQgMjQgMCAwIDAgMTQuMjUzIDIxLjkzMWwxNDQgNjRjMTUuNzUxIDcgMzMuNzQ3LTQuNDYxIDMzLjc0Ny0yMS45MzFWMTIwLjAxN2EyNCAyNCAwIDAgMC0xNC4yNTMtMjEuOTMyem0tMjI4LjQ4LTYzLjUzNmwtMTI4IDYzLjk4NUEyMy45OTggMjMuOTk4IDAgMCAwIDAgMTIwdjMzNS45ODVjMCAxOC4wMDcgMTguOTQ4IDI5LjM1OSAzNC43MzMgMjEuNDY2bDEyOC02My45ODVBMjMuOTk4IDIzLjk5OCAwIDAgMCAxNzYgMzkyVjU2LjAxNWMwLTE4LjAwNy0xOC45NDgtMjkuMzU5LTM0LjczMy0yMS40NjZ6Il0sCiAgICAgICJtYXAtbWFya2VyIjogWzM4NCwgNTEyLCBbXSwgImYwNDEiLCAiTTE3Mi4yNjggNTAxLjY3QzI2Ljk3IDI5MS4wMzEgMCAyNjkuNDEzIDAgMTkyIDAgODUuOTYxIDg1Ljk2MSAwIDE5MiAwczE5MiA4NS45NjEgMTkyIDE5MmMwIDc3LjQxMy0yNi45NyA5OS4wMzEtMTcyLjI2OCAzMDkuNjctOS41MzUgMTMuNzc0LTI5LjkzIDEzLjc3My0zOS40NjQgMHoiXSwKICAgICAgIm1hcC1tYXJrZXItYWx0IjogWzM4NCwgNTEyLCBbXSwgImYzYzUiLCAiTTE3Mi4yNjggNTAxLjY3QzI2Ljk3IDI5MS4wMzEgMCAyNjkuNDEzIDAgMTkyIDAgODUuOTYxIDg1Ljk2MSAwIDE5MiAwczE5MiA4NS45NjEgMTkyIDE5MmMwIDc3LjQxMy0yNi45NyA5OS4wMzEtMTcyLjI2OCAzMDkuNjctOS41MzUgMTMuNzc0LTI5LjkzIDEzLjc3My0zOS40NjQgMHpNMTkyIDI3MmM0NC4xODMgMCA4MC0zNS44MTcgODAtODBzLTM1LjgxNy04MC04MC04MC04MCAzNS44MTctODAgODAgMzUuODE3IDgwIDgwIDgweiJdLAogICAgICAibWFwLXBpbiI6IFszMjAsIDUxMiwgW10sICJmMjc2IiwgIk0xOTIgMzAwLjgxM3YxNzIuODJsLTIyLjAxNSAzMy4wMjNjLTQuNzUgNy4xMjUtMTUuMjE5IDcuMTI1LTE5Ljk2OSAwTDEyOCA0NzMuNjMzdi0xNzIuODJhMTYyLjIyMSAxNjIuMjIxIDAgMCAwIDY0IDB6TTE2MCAwYzc5LjUyOSAwIDE0NCA2NC40NzEgMTQ0IDE0NHMtNjQuNDcxIDE0NC0xNDQgMTQ0UzE2IDIyMy41MjkgMTYgMTQ0IDgwLjQ3MSAwIDE2MCAwTTgwIDEzNmMwLTM5LjcwMSAzMi4yOTktNzIgNzItNzJhOCA4IDAgMCAwIDAtMTZjLTQ4LjUyMyAwLTg4IDM5LjQ3Ny04OCA4OGE4IDggMCAwIDAgMTYgMHoiXSwKICAgICAgIm1hcC1zaWducyI6IFs1MTIsIDUxMiwgW10sICJmMjc3IiwgIk00ODcuNTE1IDEwNC40ODVMNDM5LjAzIDE1Mi45N2EyMy45OTggMjMuOTk4IDAgMCAxLTE2Ljk3IDcuMDI5SDU2Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWNTZjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDE2MHYtOGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMzJjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djhoMTI2LjA1OWEyNCAyNCAwIDAgMSAxNi45NyA3LjAyOWw0OC40ODUgNDguNDg1YzQuNjg3IDQuNjg3IDQuNjg3IDEyLjI4NS4wMDEgMTYuOTcxek0yMTYgMzY4djEyMGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzJjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM2OGgtODB6bTI0MC0xNDRIMjk2di00OGgtODB2NDhIODkuOTQxYTI0IDI0IDAgMCAwLTE2Ljk3IDcuMDI5bC00OC40ODUgNDguNDg1Yy00LjY4NiA0LjY4Ni00LjY4NiAxMi4yODQgMCAxNi45NzFsNDguNDg1IDQ4LjQ4NWEyMy45OTggMjMuOTk4IDAgMCAwIDE2Ljk3IDcuMDI5SDQ1NmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTgwQzQ4MCAyMzQuNzQ1IDQ2OS4yNTUgMjI0IDQ1NiAyMjR6Il0sCiAgICAgICJtYXJzIjogWzM4NCwgNTEyLCBbXSwgImYyMjIiLCAiTTM3MiA2NGgtNzljLTEwLjcgMC0xNiAxMi45LTguNSAyMC41bDE2LjkgMTYuOS04MC43IDgwLjdjLTIyLjItMTQtNDguNS0yMi4xLTc2LjctMjIuMUM2NC41IDE2MCAwIDIyNC41IDAgMzA0czY0LjUgMTQ0IDE0NCAxNDQgMTQ0LTY0LjUgMTQ0LTE0NGMwLTI4LjItOC4xLTU0LjUtMjIuMS03Ni43bDgwLjctODAuNyAxNi45IDE2LjljNy42IDcuNiAyMC41IDIuMiAyMC41LTguNVY3NmMwLTYuNi01LjQtMTItMTItMTJ6TTE0NCAzODRjLTQ0LjEgMC04MC0zNS45LTgwLTgwczM1LjktODAgODAtODAgODAgMzUuOSA4MCA4MC0zNS45IDgwLTgwIDgweiJdLAogICAgICAibWFycy1kb3VibGUiOiBbNTEyLCA1MTIsIFtdLCAiZjIyNyIsICJNMzQwIDBoLTc5Yy0xMC43IDAtMTYgMTIuOS04LjUgMjAuNWwxNi45IDE2LjktNDguNyA0OC43QzE5OC41IDcyLjEgMTcyLjIgNjQgMTQ0IDY0IDY0LjUgNjQgMCAxMjguNSAwIDIwOHM2NC41IDE0NCAxNDQgMTQ0IDE0NC02NC41IDE0NC0xNDRjMC0yOC4yLTguMS01NC41LTIyLjEtNzYuN2w0OC43LTQ4LjcgMTYuOSAxNi45YzIuNCAyLjQgNS41IDMuNSA4LjQgMy41IDYuMiAwIDEyLjEtNC44IDEyLjEtMTJWMTJjMC02LjYtNS40LTEyLTEyLTEyek0xNDQgMjg4Yy00NC4xIDAtODAtMzUuOS04MC04MHMzNS45LTgwIDgwLTgwIDgwIDM1LjkgODAgODAtMzUuOSA4MC04MCA4MHptMzU2LTEyOC4xaC03OWMtMTAuNyAwLTE2IDEyLjktOC41IDIwLjVsMTYuOSAxNi45LTQ4LjcgNDguN2MtMTguMi0xMS40LTM5LTE4LjktNjEuNS0yMS4zLTIuMSAyMS44LTguMiA0My4zLTE4LjQgNjMuMyAxLjEgMCAyLjItLjEgMy4yLS4xIDQ0LjEgMCA4MCAzNS45IDgwIDgwcy0zNS45IDgwLTgwIDgwLTgwLTM1LjktODAtODBjMC0xLjEgMC0yLjIuMS0zLjItMjAgMTAuMi00MS41IDE2LjQtNjMuMyAxOC40QzE2OC40IDQ1NS42IDIyOS42IDUxMiAzMDQgNTEyYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0IDAtMjguMi04LjEtNTQuNS0yMi4xLTc2LjdsNDguNy00OC43IDE2LjkgMTYuOWMyLjQgMi40IDUuNCAzLjUgOC40IDMuNSA2LjIgMCAxMi4xLTQuOCAxMi4xLTEydi03OWMwLTYuNy01LjQtMTIuMS0xMi0xMi4xeiJdLAogICAgICAibWFycy1zdHJva2UiOiBbMzg0LCA1MTIsIFtdLCAiZjIyOSIsICJNMzcyIDY0aC03OWMtMTAuNyAwLTE2IDEyLjktOC41IDIwLjVsMTYuOSAxNi45LTE3LjUgMTcuNS0xNC4xLTE0LjFjLTQuNy00LjctMTIuMy00LjctMTcgMEwyMjQuNSAxMzNjLTQuNyA0LjctNC43IDEyLjMgMCAxN2wxNC4xIDE0LjEtMTggMThjLTIyLjItMTQtNDguNS0yMi4xLTc2LjctMjIuMUM2NC41IDE2MCAwIDIyNC41IDAgMzA0czY0LjUgMTQ0IDE0NCAxNDQgMTQ0LTY0LjUgMTQ0LTE0NGMwLTI4LjItOC4xLTU0LjUtMjIuMS03Ni43bDE4LTE4IDE0LjEgMTQuMWM0LjcgNC43IDEyLjMgNC43IDE3IDBsMjguMy0yOC4zYzQuNy00LjcgNC43LTEyLjMgMC0xN0wzMjkuMiAxNjRsMTcuNS0xNy41IDE2LjkgMTYuOWM3LjYgNy42IDIwLjUgMi4yIDIwLjUtOC41Vjc2Yy0uMS02LjYtNS41LTEyLTEyLjEtMTJ6TTE0NCAzODRjLTQ0LjEgMC04MC0zNS45LTgwLTgwczM1LjktODAgODAtODAgODAgMzUuOSA4MCA4MC0zNS45IDgwLTgwIDgweiJdLAogICAgICAibWFycy1zdHJva2UtaCI6IFs0ODAsIDUxMiwgW10sICJmMjJiIiwgIk00NzYuMiAyNDcuNWwtNTUuOS01NS45Yy03LjYtNy42LTIwLjUtMi4yLTIwLjUgOC41VjIyNEgzNzZ2LTIwYzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMnYyMGgtMjcuNmMtNS44LTI1LjYtMTguNy00OS45LTM4LjYtNjkuOEMxODkuNiA5OCA5OC40IDk4IDQyLjIgMTU0LjJjLTU2LjIgNTYuMi01Ni4yIDE0Ny40IDAgMjAzLjYgNTYuMiA1Ni4yIDE0Ny40IDU2LjIgMjAzLjYgMCAxOS45LTE5LjkgMzIuOC00NC4yIDM4LjYtNjkuOEgzMTJ2MjBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtMjBoMjMuOXYyMy45YzAgMTAuNyAxMi45IDE2IDIwLjUgOC41bDU1LjktNTUuOWM0LjYtNC43IDQuNi0xMi4zLS4xLTE3em0tMjc1LjYgNjUuMWMtMzEuMiAzMS4yLTgxLjkgMzEuMi0xMTMuMSAwLTMxLjItMzEuMi0zMS4yLTgxLjkgMC0xMTMuMSAzMS4yLTMxLjIgODEuOS0zMS4yIDExMy4xIDAgMzEuMiAzMS4xIDMxLjIgODEuOSAwIDExMy4xeiJdLAogICAgICAibWFycy1zdHJva2UtdiI6IFsyODgsIDUxMiwgW10sICJmMjJhIiwgIk0yNDUuOCAyMzQuMmMtMTkuOS0xOS45LTQ0LjItMzIuOC02OS44LTM4LjZ2LTI1LjRoMjBjNi42IDAgMTItNS40IDEyLTEydi00MGMwLTYuNi01LjQtMTItMTItMTJoLTIwVjgxLjRoMjMuOWMxMC43IDAgMTYtMTIuOSA4LjUtMjAuNUwxNTIuNSA1LjFjLTQuNy00LjctMTIuMy00LjctMTcgMEw3OS42IDYxYy03LjYgNy42LTIuMiAyMC41IDguNSAyMC41SDExMnYyNC43SDkyYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDIwdjI1LjRjLTI1LjYgNS44LTQ5LjkgMTguNy02OS44IDM4LjYtNTYuMiA1Ni4yLTU2LjIgMTQ3LjQgMCAyMDMuNiA1Ni4yIDU2LjIgMTQ3LjQgNTYuMiAyMDMuNiAwIDU2LjMtNTYuMiA1Ni4zLTE0Ny40IDAtMjAzLjZ6bS00NS4yIDE1OC40Yy0zMS4yIDMxLjItODEuOSAzMS4yLTExMy4xIDAtMzEuMi0zMS4yLTMxLjItODEuOSAwLTExMy4xIDMxLjItMzEuMiA4MS45LTMxLjIgMTEzLjEgMCAzMS4yIDMxLjEgMzEuMiA4MS45IDAgMTEzLjF6Il0sCiAgICAgICJtZWRraXQiOiBbNTEyLCA1MTIsIFtdLCAiZjBmYSIsICJNOTYgNDgwaDMyMFYxMjhoLTMyVjgwYzAtMjYuNTEtMjEuNDktNDgtNDgtNDhIMTc2Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djQ4SDk2djM1MnptOTYtMzg0aDEyOHYzMkgxOTJWOTZ6bTMyMCA4MHYyNTZjMCAyNi41MS0yMS40OSA0OC00OCA0OGgtMTZWMTI4aDE2YzI2LjUxIDAgNDggMjEuNDkgNDggNDh6TTY0IDQ4MEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxNzZjMC0yNi41MSAyMS40OS00OCA0OC00OGgxNnYzNTJ6bTI4OC0yMDh2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtNDh2NDhjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtMzJjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ2LTQ4aC00OGMtOC44MzcgMC0xNi03LjE2My0xNi0xNnYtMzJjMC04LjgzNyA3LjE2My0xNiAxNi0xNmg0OHYtNDhjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgzMmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djQ4aDQ4YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ6Il0sCiAgICAgICJtZWgiOiBbNTEyLCA1MTIsIFtdLCAiZjExYSIsICJNNTA0IDI1NmMwIDEzNi45NjctMTExLjAzMyAyNDgtMjQ4IDI0OFM4IDM5Mi45NjcgOCAyNTYgMTE5LjAzMyA4IDI1NiA4czI0OCAxMTEuMDMzIDI0OCAyNDh6bS0zOTYtNjRjMCAzNy40OTcgMzAuNTAzIDY4IDY4IDY4czY4LTMwLjUwMyA2OC02OC0zMC41MDMtNjgtNjgtNjgtNjggMzAuNTAzLTY4IDY4em0xNjAuNSAwYzAgMzcuMjIxIDMwLjI3OSA2Ny41IDY3LjUgNjcuNXM2Ny41LTMwLjI3OSA2Ny41LTY3LjUtMzAuMjc5LTY3LjUtNjcuNS02Ny41LTY3LjUgMzAuMjc5LTY3LjUgNjcuNXptNjcuNS00OGE0Ny43ODkgNDcuNzg5IDAgMCAwLTIyLjYwMyA1LjY0N2guMDE1YzEwLjkxNiAwIDE5Ljc2NSA4Ljg0OSAxOS43NjUgMTkuNzY1cy04Ljg0OSAxOS43NjUtMTkuNzY1IDE5Ljc2NS0xOS43NjUtOC44NDktMTkuNzY1LTE5Ljc2NXYtLjAxNUE0Ny43ODkgNDcuNzg5IDAgMCAwIDI4OCAxOTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OHM0OC0yMS40OSA0OC00OC0yMS40OS00OC00OC00OHptLTE2MCAwYTQ3Ljc4OSA0Ny43ODkgMCAwIDAtMjIuNjAzIDUuNjQ3aC4wMTVjMTAuOTE2IDAgMTkuNzY1IDguODQ5IDE5Ljc2NSAxOS43NjVzLTguODQ5IDE5Ljc2NS0xOS43NjUgMTkuNzY1LTE5Ljc2NS04Ljg0OS0xOS43NjUtMTkuNzY1di0uMDE1QTQ3Ljc4OSA0Ny43ODkgMCAwIDAgMTI4IDE5MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4czQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0xNjAgMjA4SDE3NmMtMjEuMTc4IDAtMjEuMTY5IDMyIDAgMzJoMTYwYzIxLjE3OCAwIDIxLjE2OS0zMiAwLTMyeiJdLAogICAgICAibWVyY3VyeSI6IFsyODgsIDUxMiwgW10sICJmMjIzIiwgIk0yODggMjA4YzAtNDQuMi0xOS45LTgzLjctNTEuMi0xMTAuMSAyLjUtMS44IDQuOS0zLjggNy4yLTUuOCAyNC43LTIxLjIgMzkuOC00OC44IDQzLjItNzguOC45LTcuMS00LjctMTMuMy0xMS45LTEzLjNoLTQwLjVDMjI5IDAgMjI0LjEgNC4xIDIyMyA5LjhjLTIuNCAxMi41LTkuNiAyNC4zLTIwLjcgMzMuOEMxODcgNTYuOCAxNjYuMyA2NCAxNDQgNjRzLTQzLTcuMi01OC40LTIwLjRDNzQuNSAzNC4xIDY3LjQgMjIuMyA2NC45IDkuOCA2My44IDQuMSA1OC45IDAgNTMuMiAwSDEyLjdDNS41IDAtLjEgNi4yLjggMTMuMyA0LjIgNDMuNCAxOS4yIDcxIDQ0IDkyLjJjMi4zIDIgNC43IDMuOSA3LjIgNS44QzE5LjkgMTI0LjMgMCAxNjMuOCAwIDIwOGMwIDY4LjUgNDcuOSAxMjUuOSAxMTIgMTQwLjRWNDAwSDc2Yy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDM2djM2YzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTM2aDM2YzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC0zNnYtNTEuNmM2NC4xLTE0LjUgMTEyLTcxLjkgMTEyLTE0MC40em0tMjI0IDBjMC00NC4xIDM1LjktODAgODAtODBzODAgMzUuOSA4MCA4MC0zNS45IDgwLTgwIDgwLTgwLTM1LjktODAtODB6Il0sCiAgICAgICJtaWNyb2NoaXAiOiBbNTEyLCA1MTIsIFtdLCAiZjJkYiIsICJNNDE2IDQ4djQxNmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDE0NGMtMjYuNTEgMC00OC0yMS40OS00OC00OFY0OGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDIyNGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4em05NiA1OHYxMmE2IDYgMCAwIDEtNiA2aC0xOHY2YTYgNiAwIDAgMS02IDZoLTQyVjg4aDQyYTYgNiAwIDAgMSA2IDZ2NmgxOGE2IDYgMCAwIDEgNiA2em0wIDk2djEyYTYgNiAwIDAgMS02IDZoLTE4djZhNiA2IDAgMCAxLTYgNmgtNDJ2LTQ4aDQyYTYgNiAwIDAgMSA2IDZ2NmgxOGE2IDYgMCAwIDEgNiA2em0wIDk2djEyYTYgNiAwIDAgMS02IDZoLTE4djZhNiA2IDAgMCAxLTYgNmgtNDJ2LTQ4aDQyYTYgNiAwIDAgMSA2IDZ2NmgxOGE2IDYgMCAwIDEgNiA2em0wIDk2djEyYTYgNiAwIDAgMS02IDZoLTE4djZhNiA2IDAgMCAxLTYgNmgtNDJ2LTQ4aDQyYTYgNiAwIDAgMSA2IDZ2NmgxOGE2IDYgMCAwIDEgNiA2ek0zMCAzNzZoNDJ2NDhIMzBhNiA2IDAgMCAxLTYtNnYtNkg2YTYgNiAwIDAgMS02LTZ2LTEyYTYgNiAwIDAgMSA2LTZoMTh2LTZhNiA2IDAgMCAxIDYtNnptMC05Nmg0MnY0OEgzMGE2IDYgMCAwIDEtNi02di02SDZhNiA2IDAgMCAxLTYtNnYtMTJhNiA2IDAgMCAxIDYtNmgxOHYtNmE2IDYgMCAwIDEgNi02em0wLTk2aDQydjQ4SDMwYTYgNiAwIDAgMS02LTZ2LTZINmE2IDYgMCAwIDEtNi02di0xMmE2IDYgMCAwIDEgNi02aDE4di02YTYgNiAwIDAgMSA2LTZ6bTAtOTZoNDJ2NDhIMzBhNiA2IDAgMCAxLTYtNnYtNkg2YTYgNiAwIDAgMS02LTZ2LTEyYTYgNiAwIDAgMSA2LTZoMTh2LTZhNiA2IDAgMCAxIDYtNnoiXSwKICAgICAgIm1pY3JvcGhvbmUiOiBbMzg0LCA1MTIsIFtdLCAiZjEzMCIsICJNOTYgMjU2Vjk2YzAtNTMuMDE5IDQyLjk4MS05NiA5Ni05NnM5NiA0Mi45ODEgOTYgOTZ2MTYwYzAgNTMuMDE5LTQyLjk4MSA5Ni05NiA5NnMtOTYtNDIuOTgxLTk2LTk2em0yNTItNTZoLTI0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQyLjY4YzAgNjYuMjE3LTUzLjA4MiAxMjAuOTM4LTExOS4yOTggMTIxLjMxOEMxMjYuMjEzIDM3Ni4zOCA3MiAzMjIuNDAyIDcyIDI1NnYtNDRjMC02LjYyNy01LjM3My0xMi0xMi0xMkgzNmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0NGMwIDg0LjQ4OCA2Mi42OTMgMTU0LjU5NyAxNDQgMTY2LjI3OFY0NjhoLTY4Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjIwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTg0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTIwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTY4di00NS43MjJjODEuMzA3LTExLjY4MSAxNDQtODEuNzkgMTQ0LTE2Ni4yNzh2LTQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJ6Il0sCiAgICAgICJtaWNyb3Bob25lLXNsYXNoIjogWzUxMiwgNTEyLCBbXSwgImYxMzEiLCAiTTQyMS40NSAyODUuMTk1TDM3NiAyMzkuNzQ2VjIxMmMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDI0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NDRjMCA5Ljk1Ny0uODgxIDE5LjcxLTIuNTUgMjkuMTk1ek0zNTIgOTZjMC01My4wMTktNDIuOTgxLTk2LTk2LTk2LTMyLjU3NCAwLTYxLjM1NCAxNi4yMjctNzguNzEgNDEuMDM1TDM1MiAyMTUuNzQ2Vjk2em0xNTIuOTcxIDM2My43MTZMNTIuMjg0IDcuMDI5Yy05LjM3My05LjM3My0yNC41NjktOS4zNzMtMzMuOTQxIDBMNy4wMjkgMTguMzQzYy05LjM3MiA5LjM3My05LjM3MiAyNC41NjggMCAzMy45NDFMMTYwIDIwNS4yNTR2NDkuNTc3YzAgNTMuMDg5IDQzLjQzNiA5Ny40NTIgOTYuNTI0IDk3LjE2NyAxNC42MjYtLjA3OCAyOC40NzEtMy40NCA0MC44NTQtOS4zNjZsMTcuNzQ2IDE3Ljc0NmMtMTcuNTI5IDkuOTcxLTM3Ljc5NCAxNS42NjYtNTkuMzcyIDE1LjYyMkMxODkuMzU1IDM3NS44NjQgMTM2IDMyMS4wNTMgMTM2IDI1NC42NTZWMjEyYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTI0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQ0YzAgODQuNDg4IDYyLjY5MyAxNTQuNTk3IDE0NCAxNjYuMjc4VjQ2OGgtNjhjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxODRjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMjBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNjh2LTQ1LjcyMmMyNS42MjUtMy42ODIgNDkuMzk2LTEzLjE3MiA2OS45NDItMjcuMDgzTDQ1OS43MTcgNTA0Ljk3YzkuMzczIDkuMzczIDI0LjU2OSA5LjM3MyAzMy45NDEgMGwxMS4zMTMtMTEuMzEzYzkuMzcyLTkuMzczIDkuMzcyLTI0LjU2OCAwLTMzLjk0MXoiXSwKICAgICAgIm1pbnVzIjogWzQ0OCwgNTEyLCBbXSwgImYwNjgiLCAiTTQyNCAzMTguMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHYtNzYuNGMwLTEzLjMtMTAuNy0yNC0yNC0yNEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NzYuNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGg0MDB6Il0sCiAgICAgICJtaW51cy1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjA1NiIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHpNMTI0IDI5NmMtNi42IDAtMTItNS40LTEyLTEydi01NmMwLTYuNiA1LjQtMTIgMTItMTJoMjY0YzYuNiAwIDEyIDUuNCAxMiAxMnY1NmMwIDYuNi01LjQgMTItMTIgMTJIMTI0eiJdLAogICAgICAibWludXMtc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYxNDYiLCAiTTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTkyIDI5NmMtNi42IDAtMTItNS40LTEyLTEydi01NmMwLTYuNiA1LjQtMTIgMTItMTJoMjY0YzYuNiAwIDEyIDUuNCAxMiAxMnY1NmMwIDYuNi01LjQgMTItMTIgMTJIOTJ6Il0sCiAgICAgICJtb2JpbGUiOiBbMzIwLCA1MTIsIFtdLCAiZjEwYiIsICJNMjcyIDBINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyMjRjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTE2MCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyeiJdLAogICAgICAibW9iaWxlLWFsdCI6IFszMjAsIDUxMiwgW10sICJmM2NkIiwgIk0yNzIgMEg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDIyNGMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OHpNMTYwIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMiAzMiAxNC4zIDMyIDMyLTE0LjMgMzItMzIgMzJ6bTExMi0xMDhjMCA2LjYtNS40IDEyLTEyIDEySDYwYy02LjYgMC0xMi01LjQtMTItMTJWNjBjMC02LjYgNS40LTEyIDEyLTEyaDIwMGM2LjYgMCAxMiA1LjQgMTIgMTJ2MzEyeiJdLAogICAgICAibW9uZXktYmlsbC1hbHQiOiBbNjQwLCA1MTIsIFtdLCAiZjNkMSIsICJNNjQwIDEyMHYyNzJjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDI0Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWMTIwYzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNGg1OTJjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0ek05NiAzODRjMC0zNS4zNDYtMjguNjU0LTY0LTY0LTY0djY0aDY0em0wLTI1NkgzMnY2NGMzNS4zNDYgMCA2NC0yOC42NTQgNjQtNjR6bTMwNCAxMjhjMC01My4wMjEtMzUuODE2LTk2LTgwLTk2cy04MCA0Mi45NzktODAgOTZjMCA1My4wMTIgMzUuODE0IDk2IDgwIDk2IDQ0LjE2NyAwIDgwLTQyLjk2OSA4MC05NnptMjA4IDY0Yy0zNS4zNDYgMC02NCAyOC42NTQtNjQgNjRoNjR2LTY0em0wLTE5MmgtNjRjMCAzNS4zNDYgMjguNjU0IDY0IDY0IDY0di02NHpNMjc3LjU2MyAyOTkuNTI3YzAtNy40NzcgMy45MTctMTEuNTcyIDExLjU3My0xMS41NzJoMTUuMTMxdi0zOS44NzhjMC01LjE2My41MzQtMTAuNTAzLjUzNC0xMC41MDNoLS4zNTZzLTEuNzc5IDIuNjctMi44NDggMy43MzhjLTQuNDUxIDQuMjczLTEwLjUwNCA0LjQ1MS0xNS42NjYtMS4wNjhsLTUuNTE4LTYuMjMxYy01LjM0Mi01LjM0MS00Ljk4NC0xMS4yMTYuNTM0LTE2LjM3OWwyMS43Mi0xOS45MzljNC40NDktNC4wOTUgOC4zNjYtNS42OTcgMTQuNDItNS42OTdoMTIuMTA1YzcuNjU2IDAgMTEuNzQ5IDMuOTE2IDExLjc0OSAxMS41NzJ2ODQuMzg0aDE1LjQ4OGM3LjY1NSAwIDExLjU3MiA0LjA5NCAxMS41NzIgMTEuNTcydjguOTAxYzAgNy40NzctMy45MTcgMTEuNTcyLTExLjU3MiAxMS41NzJoLTY3LjI5M2MtNy42NTYgMC0xMS41NzMtNC4wOTUtMTEuNTczLTExLjU3MnYtOC45eiJdLAogICAgICAibW9vbiI6IFs1MTIsIDUxMiwgW10sICJmMTg2IiwgIk0yODMuMjExIDUxMmM3OC45NjIgMCAxNTEuMDc5LTM1LjkyNSAxOTguODU3LTk0Ljc5MiA3LjA2OC04LjcwOC0uNjM5LTIxLjQzLTExLjU2Mi0xOS4zNS0xMjQuMjAzIDIzLjY1NC0yMzguMjYyLTcxLjU3Ni0yMzguMjYyLTE5Ni45NTQgMC03Mi4yMjIgMzguNjYyLTEzOC42MzUgMTAxLjQ5OC0xNzQuMzk0IDkuNjg2LTUuNTEyIDcuMjUtMjAuMTk3LTMuNzU2LTIyLjIzQTI1OC4xNTYgMjU4LjE1NiAwIDAgMCAyODMuMjExIDBjLTE0MS4zMDkgMC0yNTYgMTE0LjUxMS0yNTYgMjU2IDAgMTQxLjMwOSAxMTQuNTExIDI1NiAyNTYgMjU2eiJdLAogICAgICAibW90b3JjeWNsZSI6IFs2NDAsIDUxMiwgW10sICJmMjFjIiwgIk01MTIuOTQ5IDE5Mi4wMDNjLTE0Ljg2Mi0uMTA4LTI5LjE0IDIuMzIyLTQyLjQzNCA2Ljg3NEw0MzcuNTg5IDE0NEg1MjBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0Vjg4YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNGgtNDUuMzExYTI0IDI0IDAgMCAwLTE3LjgzOSA3Ljk0NWwtMzcuNDk2IDQxLjY2My0yMi43NzQtMzcuOTU2QTI0IDI0IDAgMCAwIDM3NiA2NGgtODBjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2MTZjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmg2Ni40MTFsMTkuMiAzMkgyMjcuOTA0Yy0xNy43MjctMjMuMDczLTQ0LjkyNC00MC05OS45MDQtNDBINzIuNTRjLTEzLjQ1NSAwLTI0Ljc5MSAxMS4wMTEtMjQuNTM2IDI0LjQ2NEM0OC4yNTIgMTQxLjUwNSA1OC45IDE1MiA3MiAxNTJoNTZjMjQuNTA0IDAgMzguNjg2IDEwLjkxOSA0Ny43ODcgMjQuNzY5bC0xMS4yOTEgMjAuNTI5Yy0xMy4wMDYtMy44NjUtMjYuODcxLTUuNzM2LTQxLjI1MS01LjIxQzU1Ljg1NyAxOTQuNTQ5IDEuNTY1IDI0OS42MDUuMDM0IDMxNy4wMjEtMS42MDMgMzg5LjA3NiA1Ni4zMTcgNDQ4IDEyOCA0NDhjNTkuNjQyIDAgMTA5Ljc0NC00MC43OTQgMTIzLjk1My05Nmg4NC4yMzZjMTMuNjczIDAgMjQuNTg5LTExLjQyMSAyMy45NzYtMjUuMDc3LTIuMTE4LTQ3LjEyIDE3LjUyMi05My42NjUgNTYuMTg1LTEyNS4wMjZsMTIuNDg1IDIwLjgwOGMtMjcuNjQ2IDIzLjY1NC00NS4wOTcgNTguODgtNDQuODMxIDk4LjE3OS40NyA2OS41NTYgNTcuMjAzIDEyNi40NTIgMTI2Ljc1OCAxMjcuMTEgNzEuNjI5LjY3OCAxMjkuODM5LTU3LjQ4NyAxMjkuMjM0LTEyOS4wOTktLjU4OC02OS41OTEtNTcuNDU1LTEyNi4zODYtMTI3LjA0Ny0xMjYuODkyek0xMjggNDAwYy00NC4xMTIgMC04MC0zNS44ODgtODAtODBzMzUuODg4LTgwIDgwLTgwYzQuMjQyIDAgOC40MDUuMzQxIDEyLjQ2OS45ODJMOTguOTcgMzE2LjQzNEM5MC4xODcgMzMyLjQwNyAxMDEuNzYyIDM1MiAxMjAgMzUyaDgxLjI5N2MtMTIuMzcgMjguMjI1LTQwLjU2IDQ4LTczLjI5NyA0OHptMzg4LjM1MS0uMTE2QzQ3MC4yNzIgNDAyLjMzNyA0MzIgMzY1LjU1NCA0MzIgMzIwYzAtMjEuMzYzIDguNDM0LTQwLjc4MSAyMi4xMjUtNTUuMTQ0bDQ5LjQxMiA4Mi4zNTJjNC41NDYgNy41NzcgMTQuMzc1IDEwLjAzNCAyMS45NTIgNS40ODhsMTMuNzItOC4yMzJjNy41NzctNC41NDYgMTAuMDM0LTE0LjM3NSA1LjQ4OC0yMS45NTJsLTQ4LjU1Ni04MC45MjdBODAuMDA1IDgwLjAwNSAwIDAgMSA1MTIgMjQwYzQ1LjU1NCAwIDgyLjMzOCAzOC4yNzMgNzkuODg0IDg0LjM1Mi0yLjE2IDQwLjU1OC0zNC45NzQgNzMuMzcyLTc1LjUzMyA3NS41MzJ6Il0sCiAgICAgICJtb3VzZS1wb2ludGVyIjogWzMyMCwgNTEyLCBbXSwgImYyNDUiLCAiTTMwMi4xODkgMzI5LjEyNkgxOTYuMTA1bDU1LjgzMSAxMzUuOTkzYzMuODg5IDkuNDI4LS41NTUgMTkuOTk5LTkuNDQ0IDIzLjk5OWwtNDkuMTY1IDIxLjQyN2MtOS4xNjUgNC0xOS40NDMtLjU3MS0yMy4zMzItOS43MTRsLTUzLjA1My0xMjkuMTM2LTg2LjY2NCA4OS4xMzhDMTguNzI5IDQ3Mi43MSAwIDQ2My41NTQgMCA0NDcuOTc3VjE4LjI5OUMwIDEuODk5IDE5LjkyMS02LjA5NiAzMC4yNzcgNS40NDNsMjg0LjQxMiAyOTIuNTQyYzExLjQ3MiAxMS4xNzkgMy4wMDcgMzEuMTQxLTEyLjUgMzEuMTQxeiJdLAogICAgICAibXVzaWMiOiBbNTEyLCA1MTIsIFtdLCAiZjAwMSIsICJNNDcwLjQgMS41bC0zMDQgOTZDMTUzLjEgMTAxLjcgMTQ0IDExNCAxNDQgMTI4djI2NC42Yy0xNC4xLTUuNC0zMC41LTguNi00OC04LjYtNTMgMC05NiAyOC43LTk2IDY0czQzIDY0IDk2IDY0IDk2LTI4LjcgOTYtNjRWMjIwLjVsMjcyLTg1Ljl2MTk0Yy0xNC4xLTUuNC0zMC41LTguNi00OC04LjYtNTMgMC05NiAyOC43LTk2IDY0czQzIDY0IDk2IDY0IDk2LTI4LjcgOTYtNjRWMzJjMC0yMS43LTIxLjEtMzctNDEuNi0zMC41eiJdLAogICAgICAibmV1dGVyIjogWzI4OCwgNTEyLCBbXSwgImYyMmMiLCAiTTI4OCAxNzZjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCA5Ni41IDAgMTc2YzAgNjguNSA0Ny45IDEyNS45IDExMiAxNDAuNFY0NjhjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMlYzMTYuNGM2NC4xLTE0LjUgMTEyLTcxLjkgMTEyLTE0MC40em0tMTQ0IDgwYy00NC4xIDAtODAtMzUuOS04MC04MHMzNS45LTgwIDgwLTgwIDgwIDM1LjkgODAgODAtMzUuOSA4MC04MCA4MHoiXSwKICAgICAgIm5ld3NwYXBlciI6IFs1NzYsIDUxMiwgW10sICJmMWVhIiwgIk01NTIgNjRIODhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHY4SDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MjcyYzAgMzAuOTI4IDI1LjA3MiA1NiA1NiA1Nmg0NzJjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY4OGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6TTU2IDQwMGE4IDggMCAwIDEtOC04VjE0NGgxNnYyNDhhOCA4IDAgMCAxLTggOHptMjM2LTE2SDE0MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE1MmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjhjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnptMjA4IDBIMzQ4Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi04YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTUyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2OGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyem0tMjA4LTk2SDE0MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtOGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE1MmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjhjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnptMjA4IDBIMzQ4Yy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi04YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMTUyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2OGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyem0wLTk2SDE0MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtNDBjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgzNjBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnY0MGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyeiJdLAogICAgICAib2JqZWN0LWdyb3VwIjogWzUxMiwgNTEyLCBbXSwgImYyNDciLCAiTTQ4MCAxMjhWOTZoMjBjNi42MjcgMCAxMi01LjM3MyAxMi0xMlY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyMEg2NFY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDEyQzUuMzczIDMyIDAgMzcuMzczIDAgNDR2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyMHYzMjBIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0yMGgzODR2MjBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0yMFYxMjh6TTk2IDI3NlYxNDBjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxNjhjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYxMzZjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgxMDhjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ6bTMyMCA5NmMwIDYuNjI3LTUuMzczIDEyLTEyIDEySDIzNmMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtNTJoNzJjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di03Mmg4NGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjEzNnoiXSwKICAgICAgIm9iamVjdC11bmdyb3VwIjogWzU3NiwgNTEyLCBbXSwgImYyNDgiLCAiTTY0IDMyMHYyNmE2IDYgMCAwIDEtNiA2SDZhNiA2IDAgMCAxLTYtNnYtNTJhNiA2IDAgMCAxIDYtNmgyNlY5Nkg2YTYgNiAwIDAgMS02LTZWMzhhNiA2IDAgMCAxIDYtNmg1MmE2IDYgMCAwIDEgNiA2djI2aDI4OFYzOGE2IDYgMCAwIDEgNi02aDUyYTYgNiAwIDAgMSA2IDZ2NTJhNiA2IDAgMCAxLTYgNmgtMjZ2MTkyaDI2YTYgNiAwIDAgMSA2IDZ2NTJhNiA2IDAgMCAxLTYgNmgtNTJhNiA2IDAgMCAxLTYtNnYtMjZINjR6bTQ4MC02NHYtMzJoMjZhNiA2IDAgMCAwIDYtNnYtNTJhNiA2IDAgMCAwLTYtNmgtNTJhNiA2IDAgMCAwLTYgNnYyNkg0MDh2NzJoOGMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2NjRjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0aC02NGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di04SDE5MnY3MmgtMjZhNiA2IDAgMCAwLTYgNnY1MmE2IDYgMCAwIDAgNiA2aDUyYTYgNiAwIDAgMCA2LTZ2LTI2aDI4OHYyNmE2IDYgMCAwIDAgNiA2aDUyYTYgNiAwIDAgMCA2LTZ2LTUyYTYgNiAwIDAgMC02LTZoLTI2VjI1NnoiXSwKICAgICAgIm91dGRlbnQiOiBbNDQ4LCA1MTIsIFtdLCAiZjAzYiIsICJNMCA4NFY0NGMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDQxNmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djQwYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMTZjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ6bTIwOCAxNDRoMjI0YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMjA4Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6TTE2IDQ4NGg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0xOTItMTI4aDIyNGM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDIwOGMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2ek00LjY4NyAyNjcuMzEzbDk2IDk1Ljk4NEMxMTAuNzM0IDM3My4zNDggMTI4IDM2Ni4yMjQgMTI4IDM1MS45ODRWMTYwLjAwOGMwLTE0LjMyOS0xNy4zMjUtMjEuMzA0LTI3LjMxMy0xMS4zMTNsLTk2IDk1Ljk5MmMtNi4yNDkgNi4yNDgtNi4yNDkgMTYuMzc4IDAgMjIuNjI2eiJdLAogICAgICAicGFpbnQtYnJ1c2giOiBbNTEyLCA1MTIsIFtdLCAiZjFmYyIsICJNMjY5LjkgMzY0LjZjMS40IDYuNCAyLjEgMTMgMi4xIDE5LjcgMCA4MS4yLTU0LjIgMTI3LjctMTM0LjggMTI3LjdDNDEuNSA1MTIgMCA0MzUuMSAwIDM0Ny42YzEwLjQgNy4xIDQ2LjkgMzYuNSA1OC43IDM2LjUgNyAwIDEzLTQgMTUuNS0xMC42IDIzLjYtNjIuMiA2Ni41LTc2LjUgMTEyLjktNzcuNCAxNS42IDMzLjggNDYuMSA1OS42IDgyLjggNjguNXpNNDYwLjYgMGMtMTQuNCAwLTI3LjkgNi40LTM4LjIgMTUuN0MyMjguMiAxOTAgMjA4IDE5NC4xIDIwOCAyNDUuNGMwIDQ4LjggNDAuNSA5MC42IDkwLjIgOTAuNiA1OSAwIDkzLjItNDMuNCAyMDAuNi0yNDQuOCA3LTEzLjcgMTMuMi0yOC41IDEzLjItNDMuOUM1MTIgMTkuNyA0ODcuMyAwIDQ2MC42IDB6Il0sCiAgICAgICJwYXBlci1wbGFuZSI6IFs1MTIsIDUxMiwgW10sICJmMWQ4IiwgIk00NzYgMy4yTDEyLjUgMjcwLjZjLTE4LjEgMTAuNC0xNS44IDM1LjYgMi4yIDQzLjJMMTIxIDM1OC40bDI4Ny4zLTI1My4yYzUuNS00LjkgMTMuMyAyLjYgOC42IDguM0wxNzYgNDA3djgwLjVjMCAyMy42IDI4LjUgMzIuOSA0Mi41IDE1LjhMMjgyIDQyNmwxMjQuNiA1Mi4yYzE0LjIgNiAzMC40LTIuOSAzMy0xOC4ybDcyLTQzMkM1MTUgNy44IDQ5My4zLTYuOCA0NzYgMy4yeiJdLAogICAgICAicGFwZXJjbGlwIjogWzQ0OCwgNTEyLCBbXSwgImYwYzYiLCAiTTQzLjI0NiA0NjYuMTQyYy01OC40My02MC4yODktNTcuMzQxLTE1Ny41MTEgMS4zODYtMjE3LjU4MUwyNTQuMzkyIDM0YzQ0LjMxNi00NS4zMzIgMTE2LjM1MS00NS4zMzYgMTYwLjY3MSAwIDQzLjg5IDQ0Ljg5NCA0My45NDMgMTE3LjMyOSAwIDE2Mi4yNzZMMjMyLjIxNCAzODMuMTI4Yy0yOS44NTUgMzAuNTM3LTc4LjYzMyAzMC4xMTEtMTA3Ljk4Mi0uOTk4LTI4LjI3NS0yOS45Ny0yNy4zNjgtNzcuNDczIDEuNDUyLTEwNi45NTNsMTQzLjc0My0xNDYuODM1YzYuMTgyLTYuMzE0IDE2LjMxMi02LjQyMiAyMi42MjYtLjI0MWwyMi44NjEgMjIuMzc5YzYuMzE1IDYuMTgyIDYuNDIyIDE2LjMxMi4yNDEgMjIuNjI2TDE3MS40MjcgMzE5LjkyN2MtNC45MzIgNS4wNDUtNS4yMzYgMTMuNDI4LS42NDggMTguMjkyIDQuMzcyIDQuNjM0IDExLjI0NSA0LjcxMSAxNS42ODguMTY1bDE4Mi44NDktMTg2Ljg1MWMxOS42MTMtMjAuMDYyIDE5LjYxMy01Mi43MjUtLjAxMS03Mi43OTgtMTkuMTg5LTE5LjYyNy00OS45NTctMTkuNjM3LTY5LjE1NCAwTDkwLjM5IDI5My4yOTVjLTM0Ljc2MyAzNS41Ni0zNS4yOTkgOTMuMTItMS4xOTEgMTI4LjMxMyAzNC4wMSAzNS4wOTMgODguOTg1IDM1LjEzNyAxMjMuMDU4LjI4NmwxNzIuMDYtMTc1Ljk5OWM2LjE3Ny02LjMxOSAxNi4zMDctNi40MzMgMjIuNjI2LS4yNTZsMjIuODc3IDIyLjM2NGM2LjMxOSA2LjE3NyA2LjQzNCAxNi4zMDcuMjU2IDIyLjYyNmwtMTcyLjA2IDE3NS45OThjLTU5LjU3NiA2MC45MzgtMTU1Ljk0MyA2MC4yMTYtMjE0Ljc3LS40ODV6Il0sCiAgICAgICJwYXJhZ3JhcGgiOiBbNDQ4LCA1MTIsIFtdLCAiZjFkZCIsICJNNDA4IDMySDE3Ny41MzFDODguOTQ4IDMyIDE2LjA0NSAxMDMuMzM1IDE2IDE5MS45MTggMTUuOTU2IDI4MC4zMjEgODcuNjA3IDM1MiAxNzYgMzUydjEwNGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzJjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjExMmgzMnYzNDRjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDMyYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxMTJoNDBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjU2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHoiXSwKICAgICAgInBhc3RlIjogWzQ0OCwgNTEyLCBbXSwgImYwZWEiLCAiTTEyOCAxODRjMC0zMC44NzkgMjUuMTIyLTU2IDU2LTU2aDEzNlY1NmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTgwLjYxQzIwNC4zMDYgMTIuODkgMTgzLjYzNyAwIDE2MCAwcy00NC4zMDYgMTIuODktNTUuMzkgMzJIMjRDMTAuNzQ1IDMyIDAgNDIuNzQ1IDAgNTZ2MzM2YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDRWMTg0em0zMi0xNDRjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0cy0xMC43NDUgMjQtMjQgMjQtMjQtMTAuNzQ1LTI0LTI0IDEwLjc0NS0yNCAyNC0yNHptMTg0IDI0OGgxMDR2MjAwYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgxODRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYxODRjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDEzNnYxMDRjMCAxMy4yIDEwLjggMjQgMjQgMjR6bTEwNC0zOC4wNTlWMjU2aC05NnYtOTZoNi4wNTlhMjQgMjQgMCAwIDEgMTYuOTcgNy4wMjlsNjUuOTQxIDY1Ljk0MWEyNC4wMDIgMjQuMDAyIDAgMCAxIDcuMDMgMTYuOTcxeiJdLAogICAgICAicGF1c2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjA0YyIsICJNMTQ0IDQ3OUg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWNzljMC0yNi41IDIxLjUtNDggNDgtNDhoOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDh2MzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0zMDQtNDhWNzljMC0yNi41LTIxLjUtNDgtNDgtNDhoLTk2Yy0yNi41IDAtNDggMjEuNS00OCA0OHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoOTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDh6Il0sCiAgICAgICJwYXVzZS1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjI4YiIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptLTE2IDMyOGMwIDguOC03LjIgMTYtMTYgMTZoLTQ4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYwem0xMTIgMGMwIDguOC03LjIgMTYtMTYgMTZoLTQ4Yy04LjggMC0xNi03LjItMTYtMTZWMTc2YzAtOC44IDcuMi0xNiAxNi0xNmg0OGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiJdLAogICAgICAicGF3IjogWzUxMiwgNTEyLCBbXSwgImYxYjAiLCAiTTg1LjIzMSAzMzAuOTU4QzM2IDMzMC45NTggMCAyNzMuNzkyIDAgMjMxLjVjMC0yOC4yOTIgMTYtNTguMDQyIDQ5LjUzOC01OC4wNDIgNDkuMjMxIDAgODUuMjMxIDU3LjQ1OCA4NS4yMzEgOTkuNzUgMCAyOC4yOTItMTUuNjkyIDU3Ljc1LTQ5LjUzOCA1Ny43NXptMzQ4IDEwNi4xNjdjMCAzNy4wNDItMzIgNDIuODc1LTYzLjM4NSA0Mi44NzUtNDEuMjMxIDAtNzQuNDYyLTI2LjI1LTExMy44NDYtMjYuMjUtNDEuMjMxIDAtNzYuMzA4IDI1Ljk1OC0xMjAuOTIzIDI1Ljk1OC0yOS44NDcgMC01Ni4zMDgtOS42MjUtNTYuMzA4LTQyLjU4M0M3OC43NjkgMzY4IDE4MC42MTYgMjY1LjMzMyAyNTYgMjY1LjMzM3MxNzcuMjMxIDEwMi45NTkgMTc3LjIzMSAxNzEuNzkyek0xODIuNDYyIDIwMy43OTJjLTQ5Ljg0NyAwLTgwLTU5LjUtODAtMTAwLjMzM0MxMDIuNDYyIDcwLjc5MiAxMjAuMzA4IDMyIDE2MCAzMmM1MC4xNTQgMCA4MCA1OS41IDgwIDEwMC4zMzMgMCAzMi42NjctMTcuODQ2IDcxLjQ1OS01Ny41MzggNzEuNDU5ek0yNzIgMTMyLjMzM0MyNzIgOTEuNSAzMDEuODQ2IDMyIDM1MiAzMmMzOS42OTIgMCA1Ny41MzkgMzguNzkyIDU3LjUzOSA3MS40NTggMCA0MC44MzMtMzAuMTU0IDEwMC4zMzMtODAuMDAxIDEwMC4zMzNDMjg5Ljg0NiAyMDMuNzkyIDI3MiAxNjUgMjcyIDEzMi4zMzN6TTUxMiAyMzEuNWMwIDQyLjI5Mi0zNiA5OS40NTgtODUuMjMxIDk5LjQ1OC0zMy44NDcgMC00OS41MzgtMjkuNDU4LTQ5LjUzOC01Ny43NSAwLTQyLjI5MSAzNS45OTktOTkuNzUgODUuMjMxLTk5Ljc1QzQ5NiAxNzMuNDU4IDUxMiAyMDMuMjA4IDUxMiAyMzEuNXoiXSwKICAgICAgInBlbi1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjE0YiIsICJNNDAwIDQ4MEg0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhWODBjMC0yNi41IDIxLjUtNDggNDgtNDhoMzUyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4djM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OHpNMjM4LjEgMTc3LjlMMTAyLjQgMzEzLjZsLTYuMyA1Ny4xYy0uOCA3LjYgNS42IDE0LjEgMTMuMyAxMy4zbDU3LjEtNi4zTDMwMi4yIDI0MmMyLjMtMi4zIDIuMy02LjEgMC04LjVMMjQ2LjcgMTc4Yy0yLjUtMi40LTYuMy0yLjQtOC42LS4xek0zNDUgMTY1LjFMMzE0LjkgMTM1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMjMuMSAyMy4xYy0yLjMgMi4zLTIuMyA2LjEgMCA4LjVsNTUuNSA1NS41YzIuMyAyLjMgNi4xIDIuMyA4LjUgMEwzNDUgMTk5YzkuMy05LjMgOS4zLTI0LjUgMC0zMy45eiJdLAogICAgICAicGVuY2lsLWFsdCI6IFs1MTIsIDUxMiwgW10sICJmMzAzIiwgIk00OTcuOSAxNDIuMWwtNDYuMSA0Ni4xYy00LjcgNC43LTEyLjMgNC43LTE3IDBsLTExMS0xMTFjLTQuNy00LjctNC43LTEyLjMgMC0xN2w0Ni4xLTQ2LjFjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsNjAuMSA2MC4xYzE4LjggMTguNyAxOC44IDQ5LjEgMCA2Ny45ek0yODQuMiA5OS44TDIxLjYgMzYyLjQuNCA0ODMuOWMtMi45IDE2LjQgMTEuNCAzMC42IDI3LjggMjcuOGwxMjEuNS0yMS4zIDI2Mi42LTI2Mi42YzQuNy00LjcgNC43LTEyLjMgMC0xN2wtMTExLTExMWMtNC44LTQuNy0xMi40LTQuNy0xNy4xIDB6TTEyNC4xIDMzOS45Yy01LjUtNS41LTUuNS0xNC4zIDAtMTkuOGwxNTQtMTU0YzUuNS01LjUgMTQuMy01LjUgMTkuOCAwczUuNSAxNC4zIDAgMTkuOGwtMTU0IDE1NGMtNS41IDUuNS0xNC4zIDUuNS0xOS44IDB6TTg4IDQyNGg0OHYzNi4zbC02NC41IDExLjMtMzEuMS0zMS4xTDUxLjcgMzc2SDg4djQ4eiJdLAogICAgICAicGVyY2VudCI6IFs0NDgsIDUxMiwgW10sICJmMjk1IiwgIk0xMTIgMjI0YzYxLjkgMCAxMTItNTAuMSAxMTItMTEyUzE3My45IDAgMTEyIDAgMCA1MC4xIDAgMTEyczUwLjEgMTEyIDExMiAxMTJ6bTAtMTYwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4LTQ4LTIxLjUtNDgtNDggMjEuNS00OCA0OC00OHptMjI0IDIyNGMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTJzNTAuMSAxMTIgMTEyIDExMiAxMTItNTAuMSAxMTItMTEyLTUwLjEtMTEyLTExMi0xMTJ6bTAgMTYwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4IDQ4IDIxLjUgNDggNDgtMjEuNSA0OC00OCA0OHpNMzkyLjMuMmwzMS42LS4xYzE5LjQtLjEgMzAuOSAyMS44IDE5LjcgMzcuOEw3Ny40IDUwMS42YTIzLjk1IDIzLjk1IDAgMCAxLTE5LjYgMTAuMmwtMzMuNC4xYy0xOS41IDAtMzAuOS0yMS45LTE5LjctMzcuOGwzNjgtNDYzLjdDMzc3LjIgNCAzODQuNS4yIDM5Mi4zLjJ6Il0sCiAgICAgICJwaG9uZSI6IFs1MTIsIDUxMiwgW10sICJmMDk1IiwgIk00OTMuMzk3IDI0LjYxNWwtMTA0LTIzLjk5N2MtMTEuMzE0LTIuNjExLTIyLjg3OSAzLjI1Mi0yNy40NTYgMTMuOTMxbC00OCAxMTEuOTk3YTI0IDI0IDAgMCAwIDYuODYyIDI4LjAyOWw2MC42MTcgNDkuNTk2Yy0zNS45NzMgNzYuNjc1LTk4LjkzOCAxNDAuNTA4LTE3Ny4yNDkgMTc3LjI0OGwtNDkuNTk2LTYwLjYxNmEyNCAyNCAwIDAgMC0yOC4wMjktNi44NjJsLTExMS45OTcgNDhDMy44NzMgMzY2LjUxNi0xLjk5NCAzNzguMDguNjE4IDM4OS4zOTdsMjMuOTk3IDEwNEMyNy4xMDkgNTA0LjIwNCAzNi43NDggNTEyIDQ4IDUxMmMyNTYuMDg3IDAgNDY0LTIwNy41MzIgNDY0LTQ2NCAwLTExLjE3Ni03LjcxNC0yMC44NzMtMTguNjAzLTIzLjM4NXoiXSwKICAgICAgInBob25lLXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMDk4IiwgIk00MDAgMzJINDhDMjEuNDkgMzIgMCA1My40OSAwIDgwdjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjgwYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6TTk0IDQxNmMtNy4wMzMgMC0xMy4wNTctNC44NzMtMTQuNjE2LTExLjYyN2wtMTQuOTk4LTY1YTE1IDE1IDAgMCAxIDguNzA3LTE3LjE2bDY5Ljk5OC0yOS45OTlhMTUgMTUgMCAwIDEgMTcuNTE4IDQuMjg5bDMwLjk5NyAzNy44ODVjNDguOTQ0LTIyLjk2MyA4OC4yOTctNjIuODU4IDExMC43ODEtMTEwLjc4bC0zNy44ODYtMzAuOTk3YTE1LjAwMSAxNS4wMDEgMCAwIDEtNC4yODktMTcuNTE4bDMwLTY5Ljk5OGExNSAxNSAwIDAgMSAxNy4xNi04LjcwN2w2NSAxNC45OThBMTQuOTk3IDE0Ljk5NyAwIDAgMSAzODQgMTI2YzAgMTYwLjI5Mi0xMjkuOTQ1IDI5MC0yOTAgMjkweiJdLAogICAgICAicGhvbmUtdm9sdW1lIjogWzM4NCwgNTEyLCBbXSwgImYyYTAiLCAiTTk3LjMzMyA1MDYuOTY2Yy0xMjkuODc0LTEyOS44NzQtMTI5LjY4MS0zNDAuMjUyIDAtNDY5LjkzMyA1LjY5OC01LjY5OCAxNC41MjctNi42MzIgMjEuMjYzLTIuNDIybDY0LjgxNyA0MC41MTNhMTcuMTg3IDE3LjE4NyAwIDAgMSA2Ljg0OSAyMC45NThsLTMyLjQwOCA4MS4wMjFhMTcuMTg4IDE3LjE4OCAwIDAgMS0xNy42NjkgMTAuNzE5bC01NS44MS01LjU4Yy0yMS4wNTEgNTguMjYxLTIwLjYxMiAxMjIuNDcxIDAgMTc5LjUxNWw1NS44MTEtNS41ODFhMTcuMTg4IDE3LjE4OCAwIDAgMSAxNy42NjkgMTAuNzE5bDMyLjQwOCA4MS4wMjJhMTcuMTg4IDE3LjE4OCAwIDAgMS02Ljg0OSAyMC45NThsLTY0LjgxNyA0MC41MTNhMTcuMTkgMTcuMTkgMCAwIDEtMjEuMjY0LTIuNDIyek0yNDcuMTI2IDk1LjQ3M2MxMS44MzIgMjAuMDQ3IDExLjgzMiA0NS4wMDggMCA2NS4wNTUtMy45NSA2LjY5My0xMy4xMDggNy45NTktMTguNzE4IDIuNTgxbC01Ljk3NS01LjcyNmMtMy45MTEtMy43NDgtNC43OTMtOS42MjItMi4yNjEtMTQuNDFhMzIuMDYzIDMyLjA2MyAwIDAgMCAwLTI5Ljk0NWMtMi41MzMtNC43ODgtMS42NS0xMC42NjIgMi4yNjEtMTQuNDFsNS45NzUtNS43MjZjNS42MS01LjM3OCAxNC43NjgtNC4xMTIgMTguNzE4IDIuNTgxem05MS43ODctOTEuMTg3YzYwLjE0IDcxLjYwNCA2MC4wOTIgMTc1Ljg4MiAwIDI0Ny40MjgtNC40NzQgNS4zMjctMTIuNTMgNS43NDYtMTcuNTUyLjkzM2wtNS43OTgtNS41NTdjLTQuNTYtNC4zNzEtNC45NzctMTEuNTI5LS45My0xNi4zNzkgNDkuNjg3LTU5LjUzOCA0OS42NDYtMTQ1LjkzMyAwLTIwNS40MjItNC4wNDctNC44NS0zLjYzMS0xMi4wMDguOTMtMTYuMzc5bDUuNzk4LTUuNTU3YzUuMDIyLTQuODEzIDEzLjA3OC00LjM5NCAxNy41NTIuOTMzem0tNDUuOTcyIDQ0Ljk0MWMzNi4wNSA0Ni4zMjIgMzYuMTA4IDExMS4xNDkgMCAxNTcuNTQ2LTQuMzkgNS42NDEtMTIuNjk3IDYuMjUxLTE3Ljg1NiAxLjMwNGwtNS44MTgtNS41NzljLTQuNC00LjIxOS00Ljk5OC0xMS4wOTUtMS4yODUtMTUuOTMxIDI2LjUzNi0zNC41NjQgMjYuNTM0LTgyLjU3MiAwLTExNy4xMzQtMy43MTMtNC44MzYtMy4xMTUtMTEuNzExIDEuMjg1LTE1LjkzMWw1LjgxOC01LjU3OWM1LjE1OS00Ljk0NyAxMy40NjYtNC4zMzcgMTcuODU2IDEuMzA0eiJdLAogICAgICAicGxhbmUiOiBbNTc2LCA1MTIsIFtdLCAiZjA3MiIsICJNNDcyIDIwMEgzNjAuMjExTDI1Ni4wMTMgNS43MTFBMTIgMTIgMCAwIDAgMjQ1Ljc5MyAwaC01Ny43ODdjLTcuODUgMC0xMy41ODYgNy40MTMtMTEuNjE2IDE1LjAxMUwyMDkuNjI0IDIwMEg5OS43NjZsLTM0LjkwNC01OC4xNzRBMTIgMTIgMCAwIDAgNTQuNTcyIDEzNkgxMi4wMDRjLTcuNTcyIDAtMTMuMjUyIDYuOTI4LTExLjc2NyAxNC4zNTNsMjEuMTI5IDEwNS42NDhMLjIzNyAzNjEuNjQ2Yy0xLjQ4NSA3LjQyNiA0LjE5NSAxNC4zNTQgMTEuNzY4IDE0LjM1M2w0Mi41NjgtLjAwMmM0LjIxNSAwIDguMTIxLTIuMjEyIDEwLjI4OS01LjgyNkw5OS43NjYgMzEyaDEwOS44NThMMTc2LjM5IDQ5Ni45ODljLTEuOTcgNy41OTkgMy43NjYgMTUuMDExIDExLjYxNiAxNS4wMTFoNTcuNzg3YTEyIDEyIDAgMCAwIDEwLjIyLTUuNzExTDM2MC4yMTIgMzEySDQ3MmM1Ny40MzggMCAxMDQtMjUuMDcyIDEwNC01NnMtNDYuNTYyLTU2LTEwNC01NnoiXSwKICAgICAgInBsYXkiOiBbNDQ4LCA1MTIsIFtdLCAiZjA0YiIsICJNNDI0LjQgMjE0LjdMNzIuNCA2LjZDNDMuOC0xMC4zIDAgNi4xIDAgNDcuOVY0NjRjMCAzNy41IDQwLjcgNjAuMSA3Mi40IDQxLjNsMzUyLTIwOGMzMS40LTE4LjUgMzEuNS02NC4xIDAtODIuNnoiXSwKICAgICAgInBsYXktY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYxNDQiLCAiTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTExNS43IDI3MmwtMTc2IDEwMWMtMTUuOCA4LjgtMzUuNy0yLjUtMzUuNy0yMVYxNTJjMC0xOC40IDE5LjgtMjkuOCAzNS43LTIxbDE3NiAxMDdjMTYuNCA5LjIgMTYuNCAzMi45IDAgNDJ6Il0sCiAgICAgICJwbHVnIjogWzM4NCwgNTEyLCBbXSwgImYxZTYiLCAiTTI1NiAxNDRWMzJjMC0xNy42NzMgMTQuMzI3LTMyIDMyLTMyczMyIDE0LjMyNyAzMiAzMnYxMTJoLTY0em0xMTIgMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2MzJjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNmgxNnYzMmMwIDc3LjQwNiA1NC45NjkgMTQxLjk3MSAxMjggMTU2Ljc5NlY1MTJoNjR2LTk5LjIwNGM3My4wMzEtMTQuODI1IDEyOC03OS4zOSAxMjgtMTU2Ljc5NnYtMzJoMTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMzJjMC04LjgzNy03LjE2My0xNi0xNi0xNnptLTI0MC0xNlYzMmMwLTE3LjY3My0xNC4zMjctMzItMzItMzJTNjQgMTQuMzI3IDY0IDMydjExMmg2NHoiXSwKICAgICAgInBsdXMiOiBbNDQ4LCA1MTIsIFtdLCAiZjA2NyIsICJNNDQ4IDI5NC4ydi03Ni40YzAtMTMuMy0xMC43LTI0LTI0LTI0SDI4Ni4yVjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0aC03Ni40Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHYxMzcuOEgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2NzYuNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMzcuOFY0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoNzYuNGMxMy4zIDAgMjQtMTAuNyAyNC0yNFYzMTguMkg0MjRjMTMuMyAwIDI0LTEwLjcgMjQtMjR6Il0sCiAgICAgICJwbHVzLWNpcmNsZSI6IFs1MTIsIDUxMiwgW10sICJmMDU1IiwgIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4em0xNDQgMjc2YzAgNi42LTUuNCAxMi0xMiAxMmgtOTJ2OTJjMCA2LjYtNS40IDEyLTEyIDEyaC01NmMtNi42IDAtMTItNS40LTEyLTEydi05MmgtOTJjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNTZjMC02LjYgNS40LTEyIDEyLTEyaDkydi05MmMwLTYuNiA1LjQtMTIgMTItMTJoNTZjNi42IDAgMTIgNS40IDEyIDEydjkyaDkyYzYuNiAwIDEyIDUuNCAxMiAxMnY1NnoiXSwKICAgICAgInBsdXMtc3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYwZmUiLCAiTTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6bS0zMiAyNTJjMCA2LjYtNS40IDEyLTEyIDEyaC05MnY5MmMwIDYuNi01LjQgMTItMTIgMTJoLTU2Yy02LjYgMC0xMi01LjQtMTItMTJ2LTkySDkyYy02LjYgMC0xMi01LjQtMTItMTJ2LTU2YzAtNi42IDUuNC0xMiAxMi0xMmg5MnYtOTJjMC02LjYgNS40LTEyIDEyLTEyaDU2YzYuNiAwIDEyIDUuNCAxMiAxMnY5Mmg5MmM2LjYgMCAxMiA1LjQgMTIgMTJ2NTZ6Il0sCiAgICAgICJwb2RjYXN0IjogWzQ0OCwgNTEyLCBbXSwgImYyY2UiLCAiTTI2Ny40MjkgNDg4LjU2M0MyNjIuMjg2IDUwNy41NzMgMjQyLjg1OCA1MTIgMjI0IDUxMmMtMTguODU3IDAtMzguMjg2LTQuNDI3LTQzLjQyOC0yMy40MzdDMTcyLjkyNyA0NjAuMTM0IDE2MCAzODguODk4IDE2MCAzNTUuNzVjMC0zNS4xNTYgMzEuMTQyLTQzLjc1IDY0LTQzLjc1czY0IDguNTk0IDY0IDQzLjc1YzAgMzIuOTQ5LTEyLjg3MSAxMDQuMTc5LTIwLjU3MSAxMzIuODEzek0xNTYuODY3IDI4OC41NTRjLTE4LjY5My0xOC4zMDgtMjkuOTU4LTQ0LjE3My0yOC43ODQtNzIuNTk5IDIuMDU0LTQ5LjcyNCA0Mi4zOTUtODkuOTU2IDkyLjEyNC05MS44ODFDMjc0Ljg2MiAxMjEuOTU4IDMyMCAxNjUuODA3IDMyMCAyMjBjMCAyNi44MjctMTEuMDY0IDUxLjExNi0yOC44NjYgNjguNTUyLTIuNjc1IDIuNjItMi40MDEgNi45ODYuNjI4IDkuMTg3IDkuMzEyIDYuNzY1IDE2LjQ2IDE1LjM0MyAyMS4yMzQgMjUuMzYzIDEuNzQxIDMuNjU0IDYuNDk3IDQuNjYgOS40NDkgMS44OTEgMjguODI2LTI3LjA0MyA0Ni41NTMtNjUuNzgzIDQ1LjUxMS0xMDguNTY1LTEuODU1LTc2LjIwNi02My41OTUtMTM4LjIwOC0xMzkuNzkzLTE0MC4zNjlDMTQ2Ljg2OSA3My43NTMgODAgMTM5LjIxNSA4MCAyMjBjMCA0MS4zNjEgMTcuNTMyIDc4LjcgNDUuNTUgMTA0Ljk4OSAyLjk1MyAyLjc3MSA3LjcxMSAxLjc3IDkuNDUzLTEuODg3IDQuNzc0LTEwLjAyMSAxMS45MjMtMTguNTk4IDIxLjIzNS0yNS4zNjMgMy4wMjktMi4yIDMuMzA0LTYuNTY2LjYyOS05LjE4NXpNMjI0IDBDMTAwLjIwNCAwIDAgMTAwLjE4NSAwIDIyNGMwIDg5Ljk5MiA1Mi42MDIgMTY1LjY0NyAxMjUuNzM5IDIwMS40MDggNC4zMzMgMi4xMTggOS4yNjctMS41NDQgOC41MzUtNi4zMS0yLjM4Mi0xNS41MTItNC4zNDItMzAuOTQ2LTUuNDA2LTQ0LjMzOS0uMTQ2LTEuODM2LTEuMTQ5LTMuNDg2LTIuNjc4LTQuNTEyLTQ3LjQtMzEuODA2LTc4LjU2NC04Ni4wMTYtNzguMTg3LTE0Ny4zNDcuNTkyLTk2LjIzNyA3OS4yOS0xNzQuNjQ4IDE3NS41MjktMTc0Ljg5OUMzMjAuNzkzIDQ3Ljc0NyA0MDAgMTI2Ljc5NyA0MDAgMjI0YzAgNjEuOTMyLTMyLjE1OCAxMTYuNDktODAuNjUgMTQ3Ljg2Ny0uOTk5IDE0LjAzNy0zLjA2OSAzMC41ODgtNS42MjQgNDcuMjMtLjczMiA0Ljc2NyA0LjIwMyA4LjQyOSA4LjUzNSA2LjMxQzM5NS4yMjcgMzg5LjcyNyA0NDggMzE0LjE4NyA0NDggMjI0IDQ0OCAxMDAuMjA1IDM0Ny44MTUgMCAyMjQgMHptMCAxNjBjLTM1LjM0NiAwLTY0IDI4LjY1NC02NCA2NHMyOC42NTQgNjQgNjQgNjQgNjQtMjguNjU0IDY0LTY0LTI4LjY1NC02NC02NC02NHoiXSwKICAgICAgInBvdW5kLXNpZ24iOiBbMzIwLCA1MTIsIFtdLCAiZjE1NCIsICJNMzA4IDM1MmgtNDUuNDk1Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjUwLjg0OEgxMjhWMjg4aDg0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTg0di02My41NTZjMC0zMi4yNjYgMjQuNTYyLTU3LjA4NiA2MS43OTItNTcuMDg2IDIzLjY1OCAwIDQ1Ljg3OCAxMS41MDUgNTcuNjUyIDE4Ljg0OSA1LjE1MSAzLjIxMyAxMS44ODggMi4wNTEgMTUuNjg4LTIuNjg1bDI4LjQ5My0zNS41MTNjNC4yMzMtNS4yNzYgMy4yNzktMTMuMDA1LTIuMTE5LTE3LjA4MUMyNzMuMTI0IDU0LjU2IDIzNi41NzYgMzIgMTg3LjkzMSAzMiAxMDYuMDI2IDMyIDQ4IDg0Ljc0MiA0OCAxNTcuOTYxVjIyNEgyMGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI4djEyOEgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDI5NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyVjM2NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyeiJdLAogICAgICAicG93ZXItb2ZmIjogWzUxMiwgNTEyLCBbXSwgImYwMTEiLCAiTTQwMCA1NC4xYzYzIDQ1IDEwNCAxMTguNiAxMDQgMjAxLjkgMCAxMzYuOC0xMTAuOCAyNDcuNy0yNDcuNSAyNDhDMTIwIDUwNC4zIDguMiAzOTMgOCAyNTYuNCA3LjkgMTczLjEgNDguOSA5OS4zIDExMS44IDU0LjJjMTEuNy04LjMgMjgtNC44IDM1IDcuN0wxNjIuNiA5MGM1LjkgMTAuNSAzLjEgMjMuOC02LjYgMzEtNDEuNSAzMC44LTY4IDc5LjYtNjggMTM0LjktLjEgOTIuMyA3NC41IDE2OC4xIDE2OCAxNjguMSA5MS42IDAgMTY4LjYtNzQuMiAxNjgtMTY5LjEtLjMtNTEuOC0yNC43LTEwMS44LTY4LjEtMTM0LTkuNy03LjItMTIuNC0yMC41LTYuNS0zMC45bDE1LjgtMjguMWM3LTEyLjQgMjMuMi0xNi4xIDM0LjgtNy44ek0yOTYgMjY0VjI0YzAtMTMuMy0xMC43LTI0LTI0LTI0aC0zMmMtMTMuMyAwLTI0IDEwLjctMjQgMjR2MjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0aDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0eiJdLAogICAgICAicHJpbnQiOiBbNTEyLCA1MTIsIFtdLCAiZjAyZiIsICJNNDY0IDE5MmgtMTZWODEuOTQxYTI0IDI0IDAgMCAwLTcuMDI5LTE2Ljk3TDM4My4wMjkgNy4wMjlBMjQgMjQgMCAwIDAgMzY2LjA1OSAwSDg4Qzc0Ljc0NSAwIDY0IDEwLjc0NSA2NCAyNHYxNjhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MTMyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTJ2MTA0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM4NGg1MmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyVjI0MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0tODAgMjU2SDEyOHYtOTZoMjU2djk2ek0xMjggMjI0VjY0aDE5MnY0MGMwIDEzLjIgMTAuOCAyNCAyNCAyNGg0MHY5NkgxMjh6bTMwNCA3MmMtMTMuMjU0IDAtMjQtMTAuNzQ2LTI0LTI0czEwLjc0Ni0yNCAyNC0yNCAyNCAxMC43NDYgMjQgMjQtMTAuNzQ2IDI0LTI0IDI0eiJdLAogICAgICAicHV6emxlLXBpZWNlIjogWzU3NiwgNTEyLCBbXSwgImYxMmUiLCAiTTUxOS40NDIgMjg4LjY1MWMtNDEuNTE5IDAtNTkuNSAzMS41OTMtODIuMDU4IDMxLjU5M0MzNzcuNDA5IDMyMC4yNDQgNDMyIDE0NCA0MzIgMTQ0cy0xOTYuMjg4IDgwLTE5Ni4yODgtMy4yOTdjMC0zNS44MjcgMzYuMjg4LTQ2LjI1IDM2LjI4OC04NS45ODVDMjcyIDE5LjIxNiAyNDMuODg1IDAgMjEwLjUzOSAwYy0zNC42NTQgMC02Ni4zNjYgMTguODkxLTY2LjM2NiA1Ni4zNDYgMCA0MS4zNjQgMzEuNzExIDU5LjI3NyAzMS43MTEgODEuNzVDMTc1Ljg4NSAyMDcuNzE5IDAgMTY2Ljc1OCAwIDE2Ni43NTh2MzMzLjIzN3MxNzguNjM1IDQxLjA0NyAxNzguNjM1LTI4LjY2MmMwLTIyLjQ3My00MC00MC4xMDctNDAtODEuNDcxIDAtMzcuNDU2IDI5LjI1LTU2LjM0NiA2My41NzctNTYuMzQ2IDMzLjY3MyAwIDYxLjc4OCAxOS4yMTYgNjEuNzg4IDU0LjcxNyAwIDM5LjczNS0zNi4yODggNTAuMTU4LTM2LjI4OCA4NS45ODUgMCA2MC44MDMgMTI5LjY3NSAyNS43MyAxODEuMjMgMjUuNzMgMCAwLTM0LjcyNS0xMjAuMTAxIDI1LjgyNy0xMjAuMTAxIDM1Ljk2MiAwIDQ2LjQyMyAzNi4xNTIgODYuMzA4IDM2LjE1MkM1NTYuNzEyIDQxNiA1NzYgMzg3Ljk5IDU3NiAzNTQuNDQzYzAtMzQuMTk5LTE4Ljk2Mi02NS43OTItNTYuNTU4LTY1Ljc5MnoiXSwKICAgICAgInFyY29kZSI6IFs0NDgsIDUxMiwgW10sICJmMDI5IiwgIk0wIDIyNGgxOTJWMzJIMHYxOTJ6TTY0IDk2aDY0djY0SDY0Vjk2em0xOTItNjR2MTkyaDE5MlYzMkgyNTZ6bTEyOCAxMjhoLTY0Vjk2aDY0djY0ek0wIDQ4MGgxOTJWMjg4SDB2MTkyem02NC0xMjhoNjR2NjRINjR2LTY0em0zNTItNjRoMzJ2MTI4aC05NnYtMzJoLTMydjk2aC02NFYyODhoOTZ2MzJoNjR2LTMyem0wIDE2MGgzMnYzMmgtMzJ2LTMyem0tNjQgMGgzMnYzMmgtMzJ2LTMyeiJdLAogICAgICAicXVlc3Rpb24iOiBbMzg0LCA1MTIsIFtdLCAiZjEyOCIsICJNMjAyLjAyMSAwQzEyMi4yMDIgMCA3MC41MDMgMzIuNzAzIDI5LjkxNCA5MS4wMjZjLTcuMzYzIDEwLjU4LTUuMDkzIDI1LjA4NiA1LjE3OCAzMi44NzRsNDMuMTM4IDMyLjcwOWMxMC4zNzMgNy44NjUgMjUuMTMyIDYuMDI2IDMzLjI1My00LjE0OCAyNS4wNDktMzEuMzgxIDQzLjYzLTQ5LjQ0OSA4Mi43NTctNDkuNDQ5IDMwLjc2NCAwIDY4LjgxNiAxOS43OTkgNjguODE2IDQ5LjYzMSAwIDIyLjU1Mi0xOC42MTcgMzQuMTM0LTQ4Ljk5MyA1MS4xNjQtMzUuNDIzIDE5Ljg2LTgyLjI5OSA0NC41NzYtODIuMjk5IDEwNi40MDVWMzIwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg3Mi40NzFjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di01Ljc3M2MwLTQyLjg2IDEyNS4yNjgtNDQuNjQ1IDEyNS4yNjgtMTYwLjYyN0MzNzcuNTA0IDY2LjI1NiAyODYuOTAyIDAgMjAyLjAyMSAwek0xOTIgMzczLjQ1OWMtMzguMTk2IDAtNjkuMjcxIDMxLjA3NS02OS4yNzEgNjkuMjcxIDAgMzguMTk1IDMxLjA3NSA2OS4yNyA2OS4yNzEgNjkuMjdzNjkuMjcxLTMxLjA3NSA2OS4yNzEtNjkuMjcxLTMxLjA3NS02OS4yNy02OS4yNzEtNjkuMjd6Il0sCiAgICAgICJxdWVzdGlvbi1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjA1OSIsICJNNTA0IDI1NmMwIDEzNi45OTctMTExLjA0MyAyNDgtMjQ4IDI0OFM4IDM5Mi45OTcgOCAyNTZDOCAxMTkuMDgzIDExOS4wNDMgOCAyNTYgOHMyNDggMTExLjA4MyAyNDggMjQ4ek0yNjIuNjU1IDkwYy01NC40OTcgMC04OS4yNTUgMjIuOTU3LTExNi41NDkgNjMuNzU4LTMuNTM2IDUuMjg2LTIuMzUzIDEyLjQxNSAyLjcxNSAxNi4yNThsMzQuNjk5IDI2LjMxYzUuMjA1IDMuOTQ3IDEyLjYyMSAzLjAwOCAxNi42NjUtMi4xMjIgMTcuODY0LTIyLjY1OCAzMC4xMTMtMzUuNzk3IDU3LjMwMy0zNS43OTcgMjAuNDI5IDAgNDUuNjk4IDEzLjE0OCA0NS42OTggMzIuOTU4IDAgMTQuOTc2LTEyLjM2MyAyMi42NjctMzIuNTM0IDMzLjk3NkMyNDcuMTI4IDIzOC41MjggMjE2IDI1NC45NDEgMjE2IDI5NnY0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMS4zMzNjMC0yOC40NjIgODMuMTg2LTI5LjY0NyA4My4xODYtMTA2LjY2NyAwLTU4LjAwMi02MC4xNjUtMTAyLTExNi41MzEtMTAyek0yNTYgMzM4Yy0yNS4zNjUgMC00NiAyMC42MzUtNDYgNDYgMCAyNS4zNjQgMjAuNjM1IDQ2IDQ2IDQ2czQ2LTIwLjYzNiA0Ni00NmMwLTI1LjM2NS0yMC42MzUtNDYtNDYtNDZ6Il0sCiAgICAgICJxdWlkZGl0Y2giOiBbNjQwLCA1MTIsIFtdLCAiZjQ1OCIsICJNMjU2LjUgMjE2LjhMMzQzLjIgMzI2cy0xNi42IDEwMi40LTc2LjYgMTUwLjFDMjA2LjcgNTIzLjggMCA1MTAuMiAwIDUxMC4yczMuOC0yMy4xIDExLTU1LjRsOTQuNi0xMTIuMmM0LTQuNy0uOS0xMS42LTYuNi05LjVsLTYwLjQgMjIuMWMxNC40LTQxLjcgMzIuNy04MCA1NC42LTk3LjUgNTkuOS00Ny44IDE2My4zLTQwLjkgMTYzLjMtNDAuOXptMjM4IDEzNWMtNDQgMC03OS44IDM1LjgtNzkuOCA3OS45IDAgNDQuMSAzNS43IDc5LjkgNzkuOCA3OS45IDQ0LjEgMCA3OS44LTM1LjggNzkuOC03OS45IDAtNDQuMi0zNS44LTc5LjktNzkuOC03OS45ek02MzYuNSAzMUw2MTYuNyA2Yy01LjUtNi45LTE1LjUtOC0yMi40LTIuNkwzNjEuOCAxODEuM2wtMzQuMS00M2MtNS4xLTYuNC0xNS4xLTUuMi0xOC42IDIuMmwtMjUuMyA1NC42IDg2LjcgMTA5LjIgNTguOC0xMi40YzgtMS43IDExLjQtMTEuMiA2LjMtMTcuNmwtMzQuMS00Mi45TDYzNCA1My41YzYuOS01LjUgOC0xNS42IDIuNS0yMi41eiJdLAogICAgICAicXVvdGUtbGVmdCI6IFs1MTIsIDUxMiwgW10sICJmMTBkIiwgIk0wIDQzMlYzMDRDMCAxNjYuOTgyIDYzLjc3MiA2Ny42NzYgMTkzLjgyNyAzMi44MjggMjA5LjA1MiAyOC43NDggMjI0IDQwLjI2NSAyMjQgNTYuMDI3djMzLjg5NWMwIDEwLjA1Ny02LjIyOCAxOS4xMzMtMTUuNjg3IDIyLjU1QzE0Mi4zMTYgMTM2LjMxMiAxMDQgMTgxLjk0NiAxMDQgMjU2aDcyYzI2LjUxIDAgNDggMjEuNDkgNDggNDh2MTI4YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDh6bTMzNiA0OGgxMjhjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYzMDRjMC0yNi41MS0yMS40OS00OC00OC00OGgtNzJjMC03NC4wNTQgMzguMzE2LTExOS42ODggMTA0LjMxMy0xNDMuNTI4QzUwNS43NzIgMTA5LjA1NSA1MTIgOTkuOTc5IDUxMiA4OS45MjJWNTYuMDI3YzAtMTUuNzYyLTE0Ljk0OC0yNy4yNzktMzAuMTczLTIzLjE5OUMzNTEuNzcyIDY3LjY3NiAyODggMTY2Ljk4MiAyODggMzA0djEyOGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4eiJdLAogICAgICAicXVvdGUtcmlnaHQiOiBbNTEyLCA1MTIsIFtdLCAiZjEwZSIsICJNNTEyIDgwdjEyOGMwIDEzNy4wMTgtNjMuNzcyIDIzNi4zMjQtMTkzLjgyNyAyNzEuMTcyLTE1LjIyNSA0LjA4LTMwLjE3My03LjQzNy0zMC4xNzMtMjMuMTk5di0zMy44OTVjMC0xMC4wNTcgNi4yMjgtMTkuMTMzIDE1LjY4Ny0yMi41NUMzNjkuNjg0IDM3NS42ODggNDA4IDMzMC4wNTQgNDA4IDI1NmgtNzJjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWODBjMC0yNi41MSAyMS40OS00OCA0OC00OGgxMjhjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHpNMTc2IDMySDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYxMjhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg3MmMwIDc0LjA1NC0zOC4zMTYgMTE5LjY4OC0xMDQuMzEzIDE0My41MjhDNi4yMjggNDAyLjk0NSAwIDQxMi4wMjEgMCA0MjIuMDc4djMzLjg5NWMwIDE1Ljc2MiAxNC45NDggMjcuMjc5IDMwLjE3MyAyMy4xOTlDMTYwLjIyOCA0NDQuMzI0IDIyNCAzNDUuMDE4IDIyNCAyMDhWODBjMC0yNi41MS0yMS40OS00OC00OC00OHoiXSwKICAgICAgInJhbmRvbSI6IFs1MTIsIDUxMiwgW10sICJmMDc0IiwgIk01MDQuOTcxIDM1OS4wMjljOS4zNzMgOS4zNzMgOS4zNzMgMjQuNTY5IDAgMzMuOTQxbC04MCA3OS45ODRjLTE1LjAxIDE1LjAxLTQwLjk3MSA0LjQ5LTQwLjk3MS0xNi45NzFWNDE2aC01OC43ODVhMTIuMDA0IDEyLjAwNCAwIDAgMS04Ljc3My0zLjgxMmwtNzAuNTU2LTc1LjU5NiA1My4zMzMtNTcuMTQzTDM1MiAzMzZoMzJ2LTM5Ljk4MWMwLTIxLjQzOCAyNS45NDMtMzEuOTk4IDQwLjk3MS0xNi45NzFsODAgNzkuOTgxek0xMiAxNzZoODRsNTIuNzgxIDU2LjU1MSA1My4zMzMtNTcuMTQzLTcwLjU1Ni03NS41OTZBMTEuOTk5IDExLjk5OSAwIDAgMCAxMjIuNzg1IDk2SDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjU2YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJ6bTM3MiAwdjM5Ljk4NGMwIDIxLjQ2IDI1Ljk2MSAzMS45OCA0MC45NzEgMTYuOTcxbDgwLTc5Ljk4NGM5LjM3My05LjM3MyA5LjM3My0yNC41NjkgMC0zMy45NDFsLTgwLTc5Ljk4MUM0MDkuOTQzIDI0LjAyMSAzODQgMzQuNTgyIDM4NCA1Ni4wMTlWOTZoLTU4Ljc4NWExMi4wMDQgMTIuMDA0IDAgMCAwLTguNzczIDMuODEyTDk2IDMzNkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY1NmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDExMC43ODVjMy4zMjYgMCA2LjUwMy0xLjM4MSA4Ljc3My0zLjgxMkwzNTIgMTc2aDMyeiJdLAogICAgICAicmVjeWNsZSI6IFs1MTIsIDUxMiwgW10sICJmMWI4IiwgIk0xODQuNTYxIDI2MS45MDNjMy4yMzIgMTMuOTk3LTEyLjEyMyAyNC42MzUtMjQuMDY4IDE3LjE2OGwtNDAuNzM2LTI1LjQ1NS01MC44NjcgODEuNDAyQzU1LjYwNiAzNTYuMjczIDcwLjk2IDM4NCA5Ni4wMTIgMzg0SDE0OGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjQwYzAgNi42MjctNS4zNzMgMTItMTIgMTJIOTYuMTE1Yy03NS4zMzQgMC0xMjEuMzAyLTgzLjA0OC04MS40MDgtMTQ2Ljg4bDUwLjgyMi04MS4zODgtNDAuNzI1LTI1LjQ0OGMtMTIuMDgxLTcuNTQ3LTguOTY2LTI1Ljk2MSA0Ljg3OS0yOS4xNThsMTEwLjIzNy0yNS40NWM4LjYxMS0xLjk4OCAxNy4yMDEgMy4zODEgMTkuMTg5IDExLjk5bDI1LjQ1MiAxMTAuMjM3em05OC41NjEtMTgyLjkxNWw0MS4yODkgNjYuMDc2LTQwLjc0IDI1LjQ1N2MtMTIuMDUxIDcuNTI4LTkgMjUuOTUzIDQuODc5IDI5LjE1OGwxMTAuMjM3IDI1LjQ1YzguNjcyIDEuOTk5IDE3LjIxNS0zLjQzOCAxOS4xODktMTEuOTlsMjUuNDUtMTEwLjIzN2MzLjE5Ny0xMy44NDQtMTEuOTktMjQuNzE5LTI0LjA2OC0xNy4xNjhsLTQwLjY4NyAyNS40MjQtNDEuMjYzLTY2LjA4MmMtMzcuNTIxLTYwLjAzMy0xMjUuMjA5LTYwLjE3MS0xNjIuODE2IDBsLTE3Ljk2MyAyOC43NjZjLTMuNTEgNS42Mi0xLjggMTMuMDIxIDMuODIgMTYuNTMzbDMzLjkxOSAyMS4xOTVjNS42MiAzLjUxMiAxMy4wMjQgMS44MDMgMTYuNTM2LTMuODE3bDE3Ljk2MS0yOC43NDNjMTIuNzEyLTIwLjM0MSA0MS45NzMtMTkuNjc2IDU0LjI1Ny0uMDIyek00OTcuMjg4IDMwMS4xMmwtMjcuNTE1LTQ0LjA2NWMtMy41MTEtNS42MjMtMTAuOTE2LTcuMzM0LTE2LjUzOC0zLjgyMWwtMzMuODYxIDIxLjE1OWMtNS42MiAzLjUxMi03LjMzIDEwLjkxNS0zLjgxOCAxNi41MzZsMjcuNTY0IDQ0LjExMmMxMy4yNTcgMjEuMjExLTIuMDU3IDQ4Ljk2LTI3LjEzNiA0OC45NkgzMjBWMzM2LjAyYzAtMTQuMjEzLTE3LjI0Mi0yMS4zODMtMjcuMzEzLTExLjMxM2wtODAgNzkuOTgxYy02LjI0OSA2LjI0OC02LjI0OSAxNi4zNzkgMCAyMi42MjdsODAgNzkuOTg5QzMwMi42ODkgNTE3LjMwOCAzMjAgNTEwLjMgMzIwIDQ5NS45ODlWNDQ4aDk1Ljg4Yzc1LjI3NCAwIDEyMS4zMzUtODIuOTk3IDgxLjQwOC0xNDYuODh6Il0sCiAgICAgICJyZWRvIjogWzUxMiwgNTEyLCBbXSwgImYwMWUiLCAiTTUwMC4zMzMgMGgtNDcuNDExYy02Ljg1MyAwLTEyLjMxNCA1LjcyOS0xMS45ODYgMTIuNTc0bDMuOTY2IDgyLjc1OUMzOTkuNDE2IDQxLjg5OSAzMzEuNjcyIDggMjU2LjAwMSA4IDExOS4zNCA4IDcuODk5IDExOS41MjYgOCAyNTYuMTg3IDguMTAxIDM5My4wNjggMTE5LjA5NiA1MDQgMjU2IDUwNGM2My45MjYgMCAxMjIuMjAyLTI0LjE4NyAxNjYuMTc4LTYzLjkwOCA1LjExMy00LjYxOCA1LjM1NC0xMi41NjEuNDgyLTE3LjQzM2wtMzMuOTcxLTMzLjk3MWMtNC40NjYtNC40NjYtMTEuNjQtNC43MTctMTYuMzgtLjU0M0MzNDEuMzA4IDQxNS40NDggMzAwLjYwNiA0MzIgMjU2IDQzMmMtOTcuMjY3IDAtMTc2LTc4LjcxNi0xNzYtMTc2IDAtOTcuMjY3IDc4LjcxNi0xNzYgMTc2LTE3NiA2MC44OTIgMCAxMTQuNTA2IDMwLjg1OCAxNDYuMDk5IDc3LjhsLTEwMS41MjUtNC44NjVjLTYuODQ1LS4zMjgtMTIuNTc0IDUuMTMzLTEyLjU3NCAxMS45ODZ2NDcuNDExYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMjAwLjMzM2M2LjYyNyAwIDEyLTUuMzczIDEyLTEyVjEyYzAtNi42MjctNS4zNzMtMTItMTItMTJ6Il0sCiAgICAgICJyZWRvLWFsdCI6IFs1MTIsIDUxMiwgW10sICJmMmY5IiwgIk0yNTYuNDU1IDhjNjYuMjY5LjExOSAxMjYuNDM3IDI2LjIzMyAxNzAuODU5IDY4LjY4NWwzNS43MTUtMzUuNzE1QzQ3OC4xNDkgMjUuODUxIDUwNCAzNi41NTkgNTA0IDU3Ljk0MVYxOTJjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDM0NS45NDFjLTIxLjM4MiAwLTMyLjA5LTI1Ljg1MS0xNi45NzEtNDAuOTcxbDQxLjc1LTQxLjc1Yy0zMC44NjQtMjguODk5LTcwLjgwMS00NC45MDctMTEzLjIzLTQ1LjI3My05Mi4zOTgtLjc5OC0xNzAuMjgzIDczLjk3Ny0xNjkuNDg0IDE2OS40NDJDODguNzY0IDM0OC4wMDkgMTYyLjE4NCA0MjQgMjU2IDQyNGM0MS4xMjcgMCA3OS45OTctMTQuNjc4IDExMC42MjktNDEuNTU2IDQuNzQzLTQuMTYxIDExLjkwNi0zLjkwOCAxNi4zNjguNTUzbDM5LjY2MiAzOS42NjJjNC44NzIgNC44NzIgNC42MzEgMTIuODE1LS40ODIgMTcuNDMzQzM3OC4yMDIgNDc5LjgxMyAzMTkuOTI2IDUwNCAyNTYgNTA0IDExOS4wMzQgNTA0IDguMDAxIDM5Mi45NjcgOCAyNTYuMDAyIDcuOTk5IDExOS4xOTMgMTE5LjY0NiA3Ljc1NSAyNTYuNDU1IDh6Il0sCiAgICAgICJyZWdpc3RlcmVkIjogWzUxMiwgNTEyLCBbXSwgImYyNWQiLCAiTTI4NS4zNjMgMjA3LjQ3NWMwIDE4LjYtOS44MzEgMjguNDMxLTI4LjQzMSAyOC40MzFoLTI5Ljg3NnYtNTYuMTRoMjMuMzc4YzI4LjY2OCAwIDM0LjkyOSA4Ljc3MyAzNC45MjkgMjcuNzA5ek01MDQgMjU2YzAgMTM2Ljk2Ny0xMTEuMDMzIDI0OC0yNDggMjQ4UzggMzkyLjk2NyA4IDI1NiAxMTkuMDMzIDggMjU2IDhzMjQ4IDExMS4wMzMgMjQ4IDI0OHpNMzYzLjQxMSAzNjAuNDE0Yy00Ni43MjktODQuODI1LTQzLjI5OS03OC42MzYtNDQuNzAyLTgwLjk4IDIzLjQzMi0xNS4xNzIgMzcuOTQ1LTQyLjk3OSAzNy45NDUtNzQuNDg2IDAtNTQuMjQ0LTMxLjUtODkuMjUyLTEwNS40OTgtODkuMjUyaC03MC42NjdjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNFYzNzJjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDIyLjU2N2MxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTcxLjY2M2gyNS41NTZsNDQuMTI5IDgyLjkzN2EyNC4wMDEgMjQuMDAxIDAgMCAwIDIxLjE4OCAxMi43MjdoMjQuNDY0YzE4LjI2MS0uMDAxIDI5LjgyOS0xOS41OTEgMjEuMDE4LTM1LjU4N3oiXSwKICAgICAgInJlcGx5IjogWzUxMiwgNTEyLCBbXSwgImYzZTUiLCAiTTguMzA5IDE4OS44MzZMMTg0LjMxMyAzNy44NTFDMTk5LjcxOSAyNC41NDYgMjI0IDM1LjM0NyAyMjQgNTYuMDE1djgwLjA1M2MxNjAuNjI5IDEuODM5IDI4OCAzNC4wMzIgMjg4IDE4Ni4yNTggMCA2MS40NDEtMzkuNTgxIDEyMi4zMDktODMuMzMzIDE1NC4xMzItMTMuNjUzIDkuOTMxLTMzLjExMS0yLjUzMy0yOC4wNzctMTguNjMxIDQ1LjM0NC0xNDUuMDEyLTIxLjUwNy0xODMuNTEtMTc2LjU5LTE4NS43NDJWMzYwYzAgMjAuNy0yNC4zIDMxLjQ1My0zOS42ODcgMTguMTY0bC0xNzYuMDA0LTE1MmMtMTEuMDcxLTkuNTYyLTExLjA4Ni0yNi43NTMgMC0zNi4zMjh6Il0sCiAgICAgICJyZXBseS1hbGwiOiBbNTc2LCA1MTIsIFtdLCAiZjEyMiIsICJNMTM2LjMwOSAxODkuODM2TDMxMi4zMTMgMzcuODUxQzMyNy43MiAyNC41NDYgMzUyIDM1LjM0OCAzNTIgNTYuMDE1djgyLjc2M2MxMjkuMTgyIDEwLjIzMSAyMjQgNTIuMjEyIDIyNCAxODMuNTQ4IDAgNjEuNDQxLTM5LjU4MiAxMjIuMzA5LTgzLjMzMyAxNTQuMTMyLTEzLjY1MyA5LjkzMS0zMy4xMTEtMi41MzMtMjguMDc3LTE4LjYzMSAzOC41MTItMTIzLjE2Mi0zLjkyMi0xNjkuNDgyLTExMi41OS0xODIuMDE1djg0LjE3NWMwIDIwLjcwMS0yNC4zIDMxLjQ1My0zOS42ODcgMTguMTY0TDEzNi4zMDkgMjI2LjE2NGMtMTEuMDcxLTkuNTYxLTExLjA4Ni0yNi43NTMgMC0zNi4zMjh6bS0xMjggMzYuMzI4TDE4NC4zMTMgMzc4LjE1QzE5OS43IDM5MS40MzkgMjI0IDM4MC42ODcgMjI0IDM1OS45ODZ2LTE1LjgxOGwtMTA4LjYwNi05My43ODVBNTUuOTYgNTUuOTYgMCAwIDEgOTYgMjA3Ljk5OGE1NS45NTMgNTUuOTUzIDAgMCAxIDE5LjM5My00Mi4zOEwyMjQgNzEuODMyVjU2LjAxNWMwLTIwLjY2Ny0yNC4yOC0zMS40NjktMzkuNjg3LTE4LjE2NEw4LjMwOSAxODkuODM2Yy0xMS4wODYgOS41NzUtMTEuMDcxIDI2Ljc2NyAwIDM2LjMyOHoiXSwKICAgICAgInJldHdlZXQiOiBbNjQwLCA1MTIsIFtdLCAiZjA3OSIsICJNNjI5LjY1NyAzNDMuNTk4TDUyOC45NzEgNDQ0LjI4NGMtOS4zNzMgOS4zNzItMjQuNTY4IDkuMzcyLTMzLjk0MSAwTDM5NC4zNDMgMzQzLjU5OGMtOS4zNzMtOS4zNzMtOS4zNzMtMjQuNTY5IDAtMzMuOTQxbDEwLjgyMy0xMC44MjNjOS41NjItOS41NjIgMjUuMTMzLTkuMzQgMzQuNDE5LjQ5Mkw0ODAgMzQyLjExOFYxNjBIMjkyLjQ1MWEyNC4wMDUgMjQuMDA1IDAgMCAxLTE2Ljk3MS03LjAyOWwtMTYtMTZDMjQ0LjM2MSAxMjEuODUxIDI1NS4wNjkgOTYgMjc2LjQ1MSA5Nkg1MjBjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0djIyMi4xMThsNDAuNDE2LTQyLjc5MmM5LjI4NS05LjgzMSAyNC44NTYtMTAuMDU0IDM0LjQxOS0uNDkybDEwLjgyMyAxMC44MjNjOS4zNzIgOS4zNzIgOS4zNzIgMjQuNTY5LS4wMDEgMzMuOTQxem0tMjY1LjEzOCAxNS40MzFBMjMuOTk5IDIzLjk5OSAwIDAgMCAzNDcuNTQ4IDM1MkgxNjBWMTY5Ljg4MWw0MC40MTYgNDIuNzkyYzkuMjg2IDkuODMxIDI0Ljg1NiAxMC4wNTQgMzQuNDE5LjQ5MWwxMC44MjItMTAuODIyYzkuMzczLTkuMzczIDkuMzczLTI0LjU2OSAwLTMzLjk0MUwxNDQuOTcxIDY3LjcxNmMtOS4zNzMtOS4zNzMtMjQuNTY5LTkuMzczLTMzLjk0MSAwTDEwLjM0MyAxNjguNDAyYy05LjM3MyA5LjM3My05LjM3MyAyNC41NjkgMCAzMy45NDFsMTAuODIyIDEwLjgyMmM5LjU2MiA5LjU2MiAyNS4xMzMgOS4zNCAzNC40MTktLjQ5MUw5NiAxNjkuODgxVjM5MmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMjQzLjU0OWMyMS4zODIgMCAzMi4wOS0yNS44NTEgMTYuOTcxLTQwLjk3MWwtMTYuMDAxLTE2eiJdLAogICAgICAicm9hZCI6IFs1NzYsIDUxMiwgW10sICJmMDE4IiwgIk01NjcuMyAzODMuNkw0MjkuOSA3OC4yQzQyNiA2OS41IDQxNy40IDY0IDQwOCA2NGgtOTYuMWwxLjkgMTguOGMuNyA3LjEtNC44IDEzLjItMTEuOSAxMy4ySDI3NGMtNy4xIDAtMTIuNy02LjItMTEuOS0xMy4yTDI2NCA2NGgtOTZjLTkuNCAwLTE4IDUuNS0yMS45IDE0LjJMOC43IDM4My42QzMuMiAzOTUuOCAwIDQwOS42IDAgNDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDIxMy42Yy03LjEgMC0xMi43LTYuMi0xMS45LTEzLjJsMTAuOC0xMDRjLjYtNi4xIDUuOC0xMC44IDExLjktMTAuOGg3OS4yYzYuMSAwIDExLjMgNC42IDExLjkgMTAuOGwxMC44IDEwNGMuNyA3LjEtNC44IDEzLjItMTEuOSAxMy4ySDU1MmMxMy4yIDAgMjQtMTAuNyAyNC0yNCAwLTEzLjktMy0yNy43LTguNy00MC40ek0yNTQuNyAxNTQuOGwzLjMtMzJjLjYtNi4xIDUuOC0xMC44IDExLjktMTAuOGgzNi4yYzYuMSAwIDExLjMgNC42IDExLjkgMTAuOGwzLjMgMzJjLjcgNy4xLTQuOCAxMy4yLTExLjkgMTMuMmgtNDIuOGMtNy4xIDAtMTIuNy02LjItMTEuOS0xMy4yek0zMjEuOCAyODhoLTY3LjZjLTcuMSAwLTEyLjctNi4yLTExLjktMTMuMmw3LjQtNzJjLjYtNi4xIDUuOC0xMC44IDExLjktMTAuOGg1Mi43YzYuMSAwIDExLjMgNC42IDExLjkgMTAuOGw3LjQgNzJjLjkgNy00LjcgMTMuMi0xMS44IDEzLjJ6Il0sCiAgICAgICJyb2NrZXQiOiBbNTEyLCA1MTIsIFtdLCAiZjEzNSIsICJNNTA1LjEgMTkuMUM1MDMuOCAxMyA0OTkgOC4yIDQ5Mi45IDYuOSA0NjAuNyAwIDQzNS41IDAgNDEwLjQgMCAzMDcuMiAwIDI0NS4zIDU1LjIgMTk5LjEgMTI4SDk0LjljLTE4LjIgMC0zNC44IDEwLjMtNDIuOSAyNi41TDIuNiAyNTMuM2MtOCAxNiAzLjYgMzQuNyAyMS41IDM0LjdoOTUuMWMtNS45IDEyLjgtMTEuOSAyNS41LTE4IDM3LjctMy4xIDYuMi0xLjkgMTMuNiAzIDE4LjVsNjMuNiA2My42YzQuOSA0LjkgMTIuMyA2LjEgMTguNSAzIDEyLjItNi4xIDI0LjktMTIgMzcuNy0xNy45VjQ4OGMwIDE3LjggMTguOCAyOS40IDM0LjcgMjEuNWw5OC43LTQ5LjRjMTYuMy04LjEgMjYuNS0yNC44IDI2LjUtNDIuOVYzMTIuOGM3Mi42LTQ2LjMgMTI4LTEwOC40IDEyOC0yMTEuMS4xLTI1LjIuMS01MC40LTYuOC04Mi42ek00MDAgMTYwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4IDQ4IDIxLjUgNDggNDgtMjEuNSA0OC00OCA0OHoiXSwKICAgICAgInJzcyI6IFs0NDgsIDUxMiwgW10sICJmMDllIiwgIk0xMjguMDgxIDQxNS45NTljMCAzNS4zNjktMjguNjcyIDY0LjA0MS02NC4wNDEgNjQuMDQxUzAgNDUxLjMyOCAwIDQxNS45NTlzMjguNjcyLTY0LjA0MSA2NC4wNDEtNjQuMDQxIDY0LjA0IDI4LjY3MyA2NC4wNCA2NC4wNDF6bTE3NS42NiA0Ny4yNWMtOC4zNTQtMTU0LjYtMTMyLjE4NS0yNzguNTg3LTI4Ni45NS0yODYuOTVDNy42NTYgMTc1Ljc2NSAwIDE4My4xMDUgMCAxOTIuMjUzdjQ4LjA2OWMwIDguNDE1IDYuNDkgMTUuNDcyIDE0Ljg4NyAxNi4wMTggMTExLjgzMiA3LjI4NCAyMDEuNDczIDk2LjcwMiAyMDguNzcyIDIwOC43NzIuNTQ3IDguMzk3IDcuNjA0IDE0Ljg4NyAxNi4wMTggMTQuODg3aDQ4LjA2OWM5LjE0OS4wMDEgMTYuNDg5LTcuNjU1IDE1Ljk5NS0xNi43OXptMTQ0LjI0OS4yODhDNDM5LjU5NiAyMjkuNjc3IDI1MS40NjUgNDAuNDQ1IDE2LjUwMyAzMi4wMSA3LjQ3MyAzMS42ODYgMCAzOC45ODEgMCA0OC4wMTZ2NDguMDY4YzAgOC42MjUgNi44MzUgMTUuNjQ1IDE1LjQ1MyAxNS45OTkgMTkxLjE3OSA3LjgzOSAzNDQuNjI3IDE2MS4zMTYgMzUyLjQ2NSAzNTIuNDY1LjM1MyA4LjYxOCA3LjM3MyAxNS40NTMgMTUuOTk5IDE1LjQ1M2g0OC4wNjhjOS4wMzQtLjAwMSAxNi4zMjktNy40NzQgMTYuMDA1LTE2LjUwNHoiXSwKICAgICAgInJzcy1zcXVhcmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjE0MyIsICJNNDAwIDMySDQ4QzIxLjQ5IDMyIDAgNTMuNDkgMCA4MHYzNTJjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzNTJjMjYuNTEgMCA0OC0yMS40OSA0OC00OFY4MGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0xMTIgNDE2Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4czIxLjQ5LTQ4IDQ4LTQ4IDQ4IDIxLjQ5IDQ4IDQ4LTIxLjQ5IDQ4LTQ4IDQ4em0xNTcuNTMzIDBoLTM0LjMzNWMtNi4wMTEgMC0xMS4wNTEtNC42MzYtMTEuNDQyLTEwLjYzNC01LjIxNC04MC4wNS02OS4yNDMtMTQzLjkyLTE0OS4xMjMtMTQ5LjEyMy01Ljk5Ny0uMzktMTAuNjMzLTUuNDMxLTEwLjYzMy0xMS40NDF2LTM0LjMzNWMwLTYuNTM1IDUuNDY4LTExLjc3NyAxMS45OTQtMTEuNDI1IDExMC41NDYgNS45NzQgMTk4Ljk5NyA5NC41MzYgMjA0Ljk2NCAyMDQuOTY0LjM1MiA2LjUyNi00Ljg5IDExLjk5NC0xMS40MjUgMTEuOTk0em0xMDMuMDI3IDBoLTM0LjMzNGMtNi4xNjEgMC0xMS4xNzUtNC44ODItMTEuNDI3LTExLjAzOC01LjU5OC0xMzYuNTM1LTExNS4yMDQtMjQ2LjE2MS0yNTEuNzYtMjUxLjc2QzY4Ljg4MiAxNTIuOTQ5IDY0IDE0Ny45MzUgNjQgMTQxLjc3NFYxMDcuNDRjMC02LjQ1NCA1LjMzOC0xMS42NjQgMTEuNzg3LTExLjQzMiAxNjcuODMgNi4wMjUgMzAyLjIxIDE0MS4xOTEgMzA4LjIwNSAzMDguMjA1LjIzMiA2LjQ0OS00Ljk3OCAxMS43ODctMTEuNDMyIDExLjc4N3oiXSwKICAgICAgInJ1YmxlLXNpZ24iOiBbMzg0LCA1MTIsIFtdLCAiZjE1OCIsICJNMjM5LjM2IDMyMEMzMjQuNDggMzIwIDM4NCAyNjAuNTQyIDM4NCAxNzUuMDcxUzMyNC40OCAzMiAyMzkuMzYgMzJINzZjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MjA2LjYzMkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMlYzMDhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg1MnYzMkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDUydjUyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTguNTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNTJIMzA4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJIMTQ2LjU2di0zMmg5Mi44em0tOTIuOC0yMTkuMjUyaDc4LjcyYzQ2LjcyIDAgNzQuODggMjkuMTEgNzQuODggNzQuMzIzIDAgNDUuODMyLTI4LjE2IDc1LjU2MS03Ni4xNiA3NS41NjFoLTc3LjQ0VjEwMC43NDh6Il0sCiAgICAgICJydXBlZS1zaWduIjogWzMyMCwgNTEyLCBbXSwgImYxNTYiLCAiTTMwOCA5NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyVjQ0YzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJDNS4zNzMgMzIgMCAzNy4zNzMgMCA0NHY0NC43NDhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg4NS4yOGMyNy4zMDggMCA0OC4yNjEgOS45NTggNjAuOTcgMjcuMjUySDEyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMTU4Ljc1N2MtNi4yMTcgMzYuMDg2LTMyLjk2MSA1OC42MzItNzQuNzU3IDU4LjYzMkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY1My4wMTJjMCAzLjM0OSAxLjQgNi41NDYgMy44NjEgOC44MThsMTY1LjA1MiAxNTIuMzU2YTEyLjAwMSAxMi4wMDEgMCAwIDAgOC4xMzkgMy4xODJoODIuNTYyYzEwLjkyNCAwIDE2LjE2Ni0xMy40MDggOC4xMzktMjAuODE4TDExNi44NzEgMzE5LjkwNmM3Ni40OTktMi4zNCAxMzEuMTQ0LTUzLjM5NSAxMzguMzE4LTEyNy45MDZIMzA4YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTU4LjY5Yy0zLjQ4Ni0xMS41NDEtOC4yOC0yMi4yNDYtMTQuMjUyLTMySDMwOHoiXSwKICAgICAgInNhdmUiOiBbNDQ4LCA1MTIsIFtdLCAiZjBjNyIsICJNNDMzLjk0MSAxMjkuOTQxbC04My44ODItODMuODgyQTQ4IDQ4IDAgMCAwIDMxNi4xMTggMzJINDhDMjEuNDkgMzIgMCA1My40OSAwIDgwdjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjE2My44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMjI0IDQxNmMtMzUuMzQ2IDAtNjQtMjguNjU0LTY0LTY0IDAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0em05Ni0zMDQuNTJWMjEyYzAgNi42MjctNS4zNzMgMTItMTIgMTJINzZjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJWMTA4YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjI4LjUyYzMuMTgzIDAgNi4yMzUgMS4yNjQgOC40ODUgMy41MTVsMy40OCAzLjQ4QTExLjk5NiAxMS45OTYgMCAwIDEgMzIwIDExMS40OHoiXSwKICAgICAgInNlYXJjaCI6IFs1MTIsIDUxMiwgW10sICJmMDAyIiwgIk01MDUgNDQyLjdMNDA1LjMgMzQzYy00LjUtNC41LTEwLjYtNy0xNy03SDM3MmMyNy42LTM1LjMgNDQtNzkuNyA0NC0xMjhDNDE2IDkzLjEgMzIyLjkgMCAyMDggMFMwIDkzLjEgMCAyMDhzOTMuMSAyMDggMjA4IDIwOGM0OC4zIDAgOTIuNy0xNi40IDEyOC00NHYxNi4zYzAgNi40IDIuNSAxMi41IDcgMTdsOTkuNyA5OS43YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDI4LjMtMjguM2M5LjQtOS40IDkuNC0yNC42LjEtMzR6TTIwOCAzMzZjLTcwLjcgMC0xMjgtNTcuMi0xMjgtMTI4IDAtNzAuNyA1Ny4yLTEyOCAxMjgtMTI4IDcwLjcgMCAxMjggNTcuMiAxMjggMTI4IDAgNzAuNy01Ny4yIDEyOC0xMjggMTI4eiJdLAogICAgICAic2VhcmNoLW1pbnVzIjogWzUxMiwgNTEyLCBbXSwgImYwMTAiLCAiTTMwNCAxOTJ2MzJjMCA2LjYtNS40IDEyLTEyIDEySDEyNGMtNi42IDAtMTItNS40LTEyLTEydi0zMmMwLTYuNiA1LjQtMTIgMTItMTJoMTY4YzYuNiAwIDEyIDUuNCAxMiAxMnptMjAxIDI4NC43TDQ3Ni43IDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzQzIDQwNS4zYy00LjUtNC41LTctMTAuNi03LTE3VjM3MmMtMzUuMyAyNy42LTc5LjcgNDQtMTI4IDQ0QzkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwczIwOCA5My4xIDIwOCAyMDhjMCA0OC4zLTE2LjQgOTIuNy00NCAxMjhoMTYuM2M2LjQgMCAxMi41IDIuNSAxNyA3bDk5LjcgOTkuN2M5LjMgOS40IDkuMyAyNC42IDAgMzR6TTM0NCAyMDhjMC03NS4yLTYwLjgtMTM2LTEzNi0xMzZTNzIgMTMyLjggNzIgMjA4czYwLjggMTM2IDEzNiAxMzYgMTM2LTYwLjggMTM2LTEzNnoiXSwKICAgICAgInNlYXJjaC1wbHVzIjogWzUxMiwgNTEyLCBbXSwgImYwMGUiLCAiTTMwNCAxOTJ2MzJjMCA2LjYtNS40IDEyLTEyIDEyaC01NnY1NmMwIDYuNi01LjQgMTItMTIgMTJoLTMyYy02LjYgMC0xMi01LjQtMTItMTJ2LTU2aC01NmMtNi42IDAtMTItNS40LTEyLTEydi0zMmMwLTYuNiA1LjQtMTIgMTItMTJoNTZ2LTU2YzAtNi42IDUuNC0xMiAxMi0xMmgzMmM2LjYgMCAxMiA1LjQgMTIgMTJ2NTZoNTZjNi42IDAgMTIgNS40IDEyIDEyem0yMDEgMjg0LjdMNDc2LjcgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwzNDMgNDA1LjNjLTQuNS00LjUtNy0xMC42LTctMTdWMzcyYy0zNS4zIDI3LjYtNzkuNyA0NC0xMjggNDRDOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDBzMjA4IDkzLjEgMjA4IDIwOGMwIDQ4LjMtMTYuNCA5Mi43LTQ0IDEyOGgxNi4zYzYuNCAwIDEyLjUgMi41IDE3IDdsOTkuNyA5OS43YzkuMyA5LjQgOS4zIDI0LjYgMCAzNHpNMzQ0IDIwOGMwLTc1LjItNjAuOC0xMzYtMTM2LTEzNlM3MiAxMzIuOCA3MiAyMDhzNjAuOCAxMzYgMTM2IDEzNiAxMzYtNjAuOCAxMzYtMTM2eiJdLAogICAgICAic2VydmVyIjogWzUxMiwgNTEyLCBbXSwgImYyMzMiLCAiTTQ4MCAxNjBIMzJjLTE3LjY3MyAwLTMyLTE0LjMyNy0zMi0zMlY2NGMwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJoNDQ4YzE3LjY3MyAwIDMyIDE0LjMyNyAzMiAzMnY2NGMwIDE3LjY3My0xNC4zMjcgMzItMzIgMzJ6bS00OC04OGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0czEwLjc0NSAyNCAyNCAyNCAyNC0xMC43NDUgMjQtMjQtMTAuNzQ1LTI0LTI0LTI0em0tNjQgMGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0czEwLjc0NSAyNCAyNCAyNCAyNC0xMC43NDUgMjQtMjQtMTAuNzQ1LTI0LTI0LTI0em0xMTIgMjQ4SDMyYy0xNy42NzMgMC0zMi0xNC4zMjctMzItMzJ2LTY0YzAtMTcuNjczIDE0LjMyNy0zMiAzMi0zMmg0NDhjMTcuNjczIDAgMzIgMTQuMzI3IDMyIDMydjY0YzAgMTcuNjczLTE0LjMyNyAzMi0zMiAzMnptLTQ4LTg4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjRzMTAuNzQ1IDI0IDI0IDI0IDI0LTEwLjc0NSAyNC0yNC0xMC43NDUtMjQtMjQtMjR6bS02NCAwYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjRzMTAuNzQ1IDI0IDI0IDI0IDI0LTEwLjc0NSAyNC0yNC0xMC43NDUtMjQtMjQtMjR6bTExMiAyNDhIMzJjLTE3LjY3MyAwLTMyLTE0LjMyNy0zMi0zMnYtNjRjMC0xNy42NzMgMTQuMzI3LTMyIDMyLTMyaDQ0OGMxNy42NzMgMCAzMiAxNC4zMjcgMzIgMzJ2NjRjMCAxNy42NzMtMTQuMzI3IDMyLTMyIDMyem0tNDgtODhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHMxMC43NDUgMjQgMjQgMjQgMjQtMTAuNzQ1IDI0LTI0LTEwLjc0NS0yNC0yNC0yNHptLTY0IDBjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHMxMC43NDUgMjQgMjQgMjQgMjQtMTAuNzQ1IDI0LTI0LTEwLjc0NS0yNC0yNC0yNHoiXSwKICAgICAgInNoYXJlIjogWzUxMiwgNTEyLCBbXSwgImYwNjQiLCAiTTUwMy42OTEgMTg5LjgzNkwzMjcuNjg3IDM3Ljg1MUMzMTIuMjgxIDI0LjU0NiAyODggMzUuMzQ3IDI4OCA1Ni4wMTV2ODAuMDUzQzEyNy4zNzEgMTM3LjkwNyAwIDE3MC4xIDAgMzIyLjMyNmMwIDYxLjQ0MSAzOS41ODEgMTIyLjMwOSA4My4zMzMgMTU0LjEzMiAxMy42NTMgOS45MzEgMzMuMTExLTIuNTMzIDI4LjA3Ny0xOC42MzFDNjYuMDY2IDMxMi44MTQgMTMyLjkxNyAyNzQuMzE2IDI4OCAyNzIuMDg1VjM2MGMwIDIwLjcgMjQuMyAzMS40NTMgMzkuNjg3IDE4LjE2NGwxNzYuMDA0LTE1MmMxMS4wNzEtOS41NjIgMTEuMDg2LTI2Ljc1MyAwLTM2LjMyOHoiXSwKICAgICAgInNoYXJlLWFsdCI6IFs0NDgsIDUxMiwgW10sICJmMWUwIiwgIk0zNTIgMzIwYy0yMi42MDggMC00My4zODcgNy44MTktNTkuNzkgMjAuODk1bC0xMDIuNDg2LTY0LjA1NGE5Ni41NTEgOTYuNTUxIDAgMCAwIDAtNDEuNjgzbDEwMi40ODYtNjQuMDU0QzMwOC42MTMgMTg0LjE4MSAzMjkuMzkyIDE5MiAzNTIgMTkyYzUzLjAxOSAwIDk2LTQyLjk4MSA5Ni05NlM0MDUuMDE5IDAgMzUyIDBzLTk2IDQyLjk4MS05NiA5NmMwIDcuMTU4Ljc5IDE0LjEzIDIuMjc2IDIwLjg0MUwxNTUuNzkgMTgwLjg5NUMxMzkuMzg3IDE2Ny44MTkgMTE4LjYwOCAxNjAgOTYgMTYwYy01My4wMTkgMC05NiA0Mi45ODEtOTYgOTZzNDIuOTgxIDk2IDk2IDk2YzIyLjYwOCAwIDQzLjM4Ny03LjgxOSA1OS43OS0yMC44OTVsMTAyLjQ4NiA2NC4wNTRBOTYuMzAxIDk2LjMwMSAwIDAgMCAyNTYgNDE2YzAgNTMuMDE5IDQyLjk4MSA5NiA5NiA5NnM5Ni00Mi45ODEgOTYtOTYtNDIuOTgxLTk2LTk2LTk2eiJdLAogICAgICAic2hhcmUtYWx0LXNxdWFyZSI6IFs0NDgsIDUxMiwgW10sICJmMWUxIiwgIk00NDggODB2MzUyYzAgMjYuNTEtMjEuNDkgNDgtNDggNDhINDhjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWODBjMC0yNi41MSAyMS40OS00OCA0OC00OGgzNTJjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHpNMzA0IDI5NmMtMTQuNTYyIDAtMjcuODIzIDUuNTYxLTM3Ljc4MyAxNC42NzFsLTY3Ljk1OC00MC43NzVhNTYuMzM5IDU2LjMzOSAwIDAgMCAwLTI3Ljc5M2w2Ny45NTgtNDAuNzc1QzI3Ni4xNzcgMjEwLjQzOSAyODkuNDM4IDIxNiAzMDQgMjE2YzMwLjkyOCAwIDU2LTI1LjA3MiA1Ni01NnMtMjUuMDcyLTU2LTU2LTU2LTU2IDI1LjA3Mi01NiA1NmMwIDQuNzk3LjYwNSA5LjQ1MyAxLjc0IDEzLjg5N2wtNjcuOTU4IDQwLjc3NUMxNzEuODIzIDIwNS41NjEgMTU4LjU2MiAyMDAgMTQ0IDIwMGMtMzAuOTI4IDAtNTYgMjUuMDcyLTU2IDU2czI1LjA3MiA1NiA1NiA1NmMxNC41NjIgMCAyNy44MjMtNS41NjEgMzcuNzgzLTE0LjY3MWw2Ny45NTggNDAuNzc1YTU2LjA4OCA1Ni4wODggMCAwIDAtMS43NCAxMy44OTdjMCAzMC45MjggMjUuMDcyIDU2IDU2IDU2czU2LTI1LjA3MiA1Ni01NkMzNjAgMzIxLjA3MiAzMzQuOTI4IDI5NiAzMDQgMjk2eiJdLAogICAgICAic2hhcmUtc3F1YXJlIjogWzU3NiwgNTEyLCBbXSwgImYxNGQiLCAiTTU2OC40ODIgMTc3LjQ0OEw0MjQuNDc5IDMxMy40MzNDNDA5LjMgMzI3Ljc2OCAzODQgMzE3LjE0IDM4NCAyOTUuOTg1di03MS45NjNjLTE0NC41NzUuOTctMjA1LjU2NiAzNS4xMTMtMTY0Ljc3NSAxNzEuMzUzIDQuNDgzIDE0Ljk3My0xMi44NDYgMjYuNTY3LTI1LjAwNiAxNy4zM0MxNTUuMjUyIDM4My4xMDUgMTIwIDMyNi40ODggMTIwIDI2OS4zMzljMC0xNDMuOTM3IDExNy41OTktMTcyLjUgMjY0LTE3My4zMTJWMjQuMDEyYzAtMjEuMTc0IDI1LjMxNy0zMS43NjggNDAuNDc5LTE3LjQ0OGwxNDQuMDAzIDEzNS45ODhjMTAuMDIgOS40NjMgMTAuMDI4IDI1LjQyNSAwIDM0Ljg5NnpNMzg0IDM3OS4xMjhWNDQ4SDY0VjEyOGg1MC45MTZhMTEuOTkgMTEuOTkgMCAwIDAgOC42NDgtMy42OTNjMTQuOTUzLTE1LjU2OCAzMi4yMzctMjcuODkgNTEuMDE0LTM3LjY3NkMxODUuNzA4IDgwLjgzIDE4MS41ODQgNjQgMTY5LjAzMyA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di04OC44MDZjMC04LjI4OC04LjE5Ny0xNC4wNjYtMTYuMDExLTExLjMwMmE3MS44MyA3MS44MyAwIDAgMS0zNC4xODkgMy4zNzdjLTcuMjctMS4wNDYtMTMuOCA0LjUxNC0xMy44IDExLjg1OXoiXSwKICAgICAgInNoZWtlbC1zaWduIjogWzQ0OCwgNTEyLCBbXSwgImYyMGIiLCAiTTE3MC4xMiA5Nkg4MHYzNzJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkgxMmMtNi42MjcgMC0xMi01LjM3My0xMi0xMlY0NGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDE2OC4zNkMyNjUuNDggMzIgMzI1IDg5LjYgMzI1IDE3NS4wNzFWMzU5YzAgNi42MjctNS4zNzMgMTItMTIgMTJoLTQ0Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWMTcwLjMyM0MyNDUgMTI1LjExIDIxNi44MzkgOTYgMTcwLjEyIDk2ek00MzYgMzJoLTU2Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjM3MmgtOTAuMTJjLTQ2LjcyIDAtNzQuODgtMjkuMTEtNzQuODgtNzQuMzIzVjE2NWMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTQ0Yy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjE4My45MjlDMTIzIDQyMi40IDE4Mi41MiA0ODAgMjY3LjY0IDQ4MEg0MzZjNi42MjcgMCAxMi01LjM3MyAxMi0xMlY0NGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyeiJdLAogICAgICAic2hpZWxkLWFsdCI6IFs1MTIsIDUxMiwgW10sICJmM2VkIiwgIk00OTYgMTI4YzAgMjIxLjI4Mi0xMzUuOTM0IDM0NC42NDUtMjIxLjUzOSAzODAuMzA4YTQ4IDQ4IDAgMCAxLTM2LjkyMyAwQzEzMC40OTUgNDYzLjcxMyAxNiAzMjYuNDg3IDE2IDEyOGE0OCA0OCAwIDAgMSAyOS41MzktNDQuMzA4bDE5Mi04MGE0OCA0OCAwIDAgMSAzNi45MjMgMGwxOTIgODBBNDggNDggMCAwIDEgNDk2IDEyOHpNMjU2IDQ0Ni4zMTNsLjA2Ni4wMzRjOTMuNzM1LTQ2LjY4OSAxNzIuNDk3LTE1Ni4zMDggMTc1LjgxNy0zMDcuNzI5TDI1NiA2NS4zMzN2MzgwLjk4eiJdLAogICAgICAic2hpcCI6IFs2NDAsIDUxMiwgW10sICJmMjFhIiwgIk00OTYuNjE2IDM3Mi42MzlsNzAuMDEyLTcwLjAxMmMxNi44OTktMTYuOSA5Ljk0Mi00NS43NzEtMTIuODM2LTUzLjA5Mkw1MTIgMjM2LjEwMlY5NmMwLTE3LjY3My0xNC4zMjctMzItMzItMzJoLTY0VjI0YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyNDhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHY0MGgtNjRjLTE3LjY3MyAwLTMyIDE0LjMyNy0zMiAzMnYxNDAuMTAybC00MS43OTIgMTMuNDMzYy0yMi43NTMgNy4zMTMtMjkuNzU0IDM2LjE3My0xMi44MzYgNTMuMDkybDcwLjAxMiA3MC4wMTJDMTI1LjgyOCA0MTYuMjg3IDg1LjU4NyA0NDggMjQgNDQ4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0IDYxLjAyMyAwIDEwNy40OTktMjAuNjEgMTQzLjI1OC01OS4zOTZDMTgxLjY3NyA0ODcuNDMyIDIxNi4wMjEgNTEyIDI1NiA1MTJoMTI4YzM5Ljk3OSAwIDc0LjMyMy0yNC41NjggODguNzQyLTU5LjM5NkM1MDguNDk1IDQ5MS4zODQgNTU0Ljk2OCA1MTIgNjE2IDUxMmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTE2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNC02MC44MTcgMC0xMDEuNTQyLTMxLjAwMS0xMTkuMzg0LTc1LjM2MXpNMTkyIDEyOGgyNTZ2ODcuNTMxbC0xMTguMjA4LTM3Ljk5NWEzMS45OTUgMzEuOTk1IDAgMCAwLTE5LjU4NCAwTDE5MiAyMTUuNTMxVjEyOHoiXSwKICAgICAgInNob3BwaW5nLWJhZyI6IFs0NDgsIDUxMiwgW10sICJmMjkwIiwgIk0zNTIgMTYwdi0zMkMzNTIgNTcuNDIgMjk0LjU3OSAwIDIyNCAwIDE1My40MiAwIDk2IDU3LjQyIDk2IDEyOHYzMkgwdjI3MmMwIDQ0LjE4MyAzNS44MTcgODAgODAgODBoMjg4YzQ0LjE4MyAwIDgwLTM1LjgxNyA4MC04MFYxNjBoLTk2em0tMTkyLTMyYzAtMzUuMjkgMjguNzEtNjQgNjQtNjRzNjQgMjguNzEgNjQgNjR2MzJIMTYwdi0zMnptMTYwIDEyMGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCAyNC0yNCAyNCAxMC43NDUgMjQgMjQtMTAuNzQ1IDI0LTI0IDI0em0tMTkyIDBjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNHMxMC43NDUtMjQgMjQtMjQgMjQgMTAuNzQ1IDI0IDI0LTEwLjc0NSAyNC0yNCAyNHoiXSwKICAgICAgInNob3BwaW5nLWJhc2tldCI6IFs1NzYsIDUxMiwgW10sICJmMjkxIiwgIk01NzYgMjE2djE2YzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNGgtOGwtMjYuMTEzIDE4Mi43ODhDNTE0LjUwOSA0NjIuNDM1IDQ5NC4yNTcgNDgwIDQ3MC4zNyA0ODBIMTA1LjYzYy0yMy44ODcgMC00NC4xMzktMTcuNTY1LTQ3LjUxOC00MS4yMTJMMzIgMjU2aC04Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjR2LTE2YzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNGg2Ny4zNDFsMTA2Ljc4LTE0Ni44MjFjMTAuMzk1LTE0LjI5MiAzMC40MDctMTcuNDUzIDQ0LjcwMS03LjA1OCAxNC4yOTMgMTAuMzk1IDE3LjQ1MyAzMC40MDggNy4wNTggNDQuNzAxTDE3MC40NzcgMTkyaDIzNS4wNDZMMzI2LjEyIDgyLjgyMWMtMTAuMzk1LTE0LjI5Mi03LjIzNC0zNC4zMDYgNy4wNTktNDQuNzAxIDE0LjI5MS0xMC4zOTUgMzQuMzA2LTcuMjM1IDQ0LjcwMSA3LjA1OEw0ODQuNjU5IDE5Mkg1NTJjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0ek0zMTIgMzkyVjI4MGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRzLTI0IDEwLjc0NS0yNCAyNHYxMTJjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0czI0LTEwLjc0NSAyNC0yNHptMTEyIDBWMjgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHMtMjQgMTAuNzQ1LTI0IDI0djExMmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRzMjQtMTAuNzQ1IDI0LTI0em0tMjI0IDBWMjgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHMtMjQgMTAuNzQ1LTI0IDI0djExMmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRzMjQtMTAuNzQ1IDI0LTI0eiJdLAogICAgICAic2hvcHBpbmctY2FydCI6IFs1NzYsIDUxMiwgW10sICJmMDdhIiwgIk01MjguMTIgMzAxLjMxOWw0Ny4yNzMtMjA4QzU3OC44MDYgNzguMzAxIDU2Ny4zOTEgNjQgNTUxLjk5IDY0SDE1OS4yMDhsLTkuMTY2LTQ0LjgxQzE0Ny43NTggOC4wMjEgMTM3LjkzIDAgMTI2LjUyOSAwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2MTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDY5Ljg4M2w3MC4yNDggMzQzLjQzNUMxNDcuMzI1IDQxNy4xIDEzNiA0MzUuMjIyIDEzNiA0NTZjMCAzMC45MjggMjUuMDcyIDU2IDU2IDU2czU2LTI1LjA3MiA1Ni01NmMwLTE1LjY3NC02LjQ0Ny0yOS44MzUtMTYuODI0LTQwaDIwOS42NDdDNDMwLjQ0NyA0MjYuMTY1IDQyNCA0NDAuMzI2IDQyNCA0NTZjMCAzMC45MjggMjUuMDcyIDU2IDU2IDU2czU2LTI1LjA3MiA1Ni01NmMwLTIyLjE3Mi0xMi44ODgtNDEuMzMyLTMxLjU3OS01MC40MDVsNS41MTctMjQuMjc2YzMuNDEzLTE1LjAxOC04LjAwMi0yOS4zMTktMjMuNDAzLTI5LjMxOUgyMTguMTE3bC02LjU0NS0zMmgyOTMuMTQ1YzExLjIwNiAwIDIwLjkyLTcuNzU0IDIzLjQwMy0xOC42ODF6Il0sCiAgICAgICJzaG93ZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjJjYyIsICJNMzg5LjY2IDEzNS42TDIzMS42IDI5My42NmMtOS4zNyA5LjM3LTI0LjU3IDkuMzctMzMuOTQgMGwtMTEuMzItMTEuMzJjLTkuMzctOS4zNy05LjM3LTI0LjU3IDAtMzMuOTRsLjExLS4xMWMtMzQuMDMtNDAuMjEtMzUuMTYtOTguOTQtMy4zOS0xNDAuMzgtMTEuOTctNy41NS0yNi4xNC0xMS45MS00MS4zLTExLjkxQzk4Ljg4IDk2IDY0IDEzMC44OCA2NCAxNzMuNzZWNDgwSDBWMTczLjc2QzAgOTUuNTkgNjMuNTkgMzIgMTQxLjc2IDMyYzM2LjkzIDAgNzAuNjEgMTQuMiA5NS44NiAzNy40MiAzNS45LTExLjUxIDc2LjUtNC41IDEwNi42NyAyMS4wM2wuMTEtLjExYzkuMzctOS4zNyAyNC41Ny05LjM3IDMzLjk0IDBsMTEuMzIgMTEuMzJjOS4zNyA5LjM3IDkuMzcgMjQuNTcgMCAzMy45NHpNMzg0IDIwOGMwIDguODM3LTcuMTYzIDE2LTE2IDE2cy0xNi03LjE2My0xNi0xNiA3LjE2My0xNiAxNi0xNiAxNiA3LjE2MyAxNiAxNnptMzIgMGMwLTguODM3IDcuMTYzLTE2IDE2LTE2czE2IDcuMTYzIDE2IDE2LTcuMTYzIDE2LTE2IDE2LTE2LTcuMTYzLTE2LTE2em05NiAwYzAgOC44MzctNy4xNjMgMTYtMTYgMTZzLTE2LTcuMTYzLTE2LTE2IDcuMTYzLTE2IDE2LTE2IDE2IDcuMTYzIDE2IDE2em0tMTYwIDMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZzLTE2LTcuMTYzLTE2LTE2IDcuMTYzLTE2IDE2LTE2IDE2IDcuMTYzIDE2IDE2em00OC0xNmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2cy03LjE2MyAxNi0xNiAxNi0xNi03LjE2My0xNi0xNiA3LjE2My0xNiAxNi0xNnptODAgMTZjMCA4LjgzNy03LjE2MyAxNi0xNiAxNnMtMTYtNy4xNjMtMTYtMTYgNy4xNjMtMTYgMTYtMTYgMTYgNy4xNjMgMTYgMTZ6bS0xNjAgMzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNnMtMTYtNy4xNjMtMTYtMTYgNy4xNjMtMTYgMTYtMTYgMTYgNy4xNjMgMTYgMTZ6bTMyIDBjMC04LjgzNyA3LjE2My0xNiAxNi0xNnMxNiA3LjE2MyAxNiAxNi03LjE2MyAxNi0xNiAxNi0xNi03LjE2My0xNi0xNnptOTYgMGMwIDguODM3LTcuMTYzIDE2LTE2IDE2cy0xNi03LjE2My0xNi0xNiA3LjE2My0xNiAxNi0xNiAxNiA3LjE2MyAxNiAxNnptLTEyOCAzMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2czE2IDcuMTYzIDE2IDE2LTcuMTYzIDE2LTE2IDE2LTE2LTcuMTYzLTE2LTE2em05NiAwYzAgOC44MzctNy4xNjMgMTYtMTYgMTZzLTE2LTcuMTYzLTE2LTE2IDcuMTYzLTE2IDE2LTE2IDE2IDcuMTYzIDE2IDE2em0tOTYgMzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNnMtMTYtNy4xNjMtMTYtMTYgNy4xNjMtMTYgMTYtMTYgMTYgNy4xNjMgMTYgMTZ6bTY0IDBjMCA4LjgzNy03LjE2MyAxNi0xNiAxNnMtMTYtNy4xNjMtMTYtMTYgNy4xNjMtMTYgMTYtMTYgMTYgNy4xNjMgMTYgMTZ6bS0zMiAzMmMwIDguODM3LTcuMTYzIDE2LTE2IDE2cy0xNi03LjE2My0xNi0xNiA3LjE2My0xNiAxNi0xNiAxNiA3LjE2MyAxNiAxNnptLTMyIDMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZzLTE2LTcuMTYzLTE2LTE2IDcuMTYzLTE2IDE2LTE2IDE2IDcuMTYzIDE2IDE2eiJdLAogICAgICAic2lnbi1pbi1hbHQiOiBbNTEyLCA1MTIsIFtdLCAiZjJmNiIsICJNNDE2IDQ0OGgtODRjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNDBjMC02LjYgNS40LTEyIDEyLTEyaDg0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMmgtODRjLTYuNiAwLTEyLTUuNC0xMi0xMlY3NmMwLTYuNiA1LjQtMTIgMTItMTJoODRjNTMgMCA5NiA0MyA5NiA5NnYxOTJjMCA1My00MyA5Ni05NiA5NnptLTQ3LTIwMUwyMDEgNzljLTE1LTE1LTQxLTQuNS00MSAxN3Y5NkgyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjR2OTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMTM2djk2YzAgMjEuNSAyNiAzMiA0MSAxN2wxNjgtMTY4YzkuMy05LjQgOS4zLTI0LjYgMC0zNHoiXSwKICAgICAgInNpZ24tbGFuZ3VhZ2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjJhNyIsICJNOTEuNDM0IDQ4My45ODdjLS4zMDctMTYuMDE4IDEzLjEwOS0yOS4xMjkgMjkuMTMtMjkuMTI5aDYyLjI5M3YtNS43MTRINTYuOTkzYy0xNi4wMjEgMC0yOS40MzctMTMuMTExLTI5LjEzLTI5LjEyOUMyOC4xNiA0MDQuNDkxIDQwLjgzNSAzOTIgNTYuNDI4IDM5MmgxMjYuNDI5di01LjcxNEgyOS4xMzZjLTE2LjAyMSAwLTI5LjQzNy0xMy4xMTEtMjkuMTMtMjkuMTI5LjI5Ny0xNS41MjIgMTIuOTczLTI4LjAxMyAyOC41NjYtMjguMDEzaDE1NC4yODZ2LTUuNzE0SDU3LjcwN2MtMTYuMDIxIDAtMjkuNDM3LTEzLjExMS0yOS4xMy0yOS4xMjkuMjk3LTE1LjUyMiAxMi45NzMtMjguMDEzIDI4LjU2Ni0yOC4wMTNoMTY4LjU2NmwtMzEuMDg1LTIyLjYwNmMtMTIuNzYyLTkuMjgxLTE1LjU4My0yNy4xNDktNi4zMDItMzkuOTEyIDkuMjgxLTEyLjc2MSAyNy4xNS0xNS41ODIgMzkuOTEyLTYuMzAybDEyMy4zNjEgODkuNzE1YTM0LjI4NyAzNC4yODcgMCAwIDEgMTQuMTIgMjcuNzI4djE0MS4xMzZjMCAxNS45MS0xMC45NDYgMjkuNzMtMjYuNDMzIDMzLjM3NGwtODAuNDcxIDE4LjkzNGExMzcuMTYgMTM3LjE2IDAgMCAxLTMxLjQxMSAzLjY0NkgxMjBjLTE1LjU5My0uMDAxLTI4LjI2OS0xMi40OTItMjguNTY2LTI4LjAxNHptNzMuMjQ5LTIyNS43MDFoMzYuNDIzbC0xMS4xODctOC4xMzZjLTE4LjU3OS0xMy41MTEtMjAuMzEzLTQwLjg4Ny0zLjE3LTU2LjUzNmwtMTMuMDA0LTE2LjdjLTkuODQzLTEyLjY0MS0yOC40My0xNS4xNzEtNDAuODgtNS4wODgtMTIuMDY1IDkuNzcxLTE0LjEzMyAyNy40NDctNC41NTMgMzkuNzVsMzYuMzcxIDQ2Ljcxem0yODMuMjk4LTIuMTAzbC01LjAwMy0xNTIuNDUyYy0uNTE4LTE1Ljc3MS0xMy43MjItMjguMTM2LTI5LjQ5My0yNy42MTktMTUuNzczLjUxOC0yOC4xMzcgMTMuNzIyLTI3LjYxOSAyOS40OTNsMS4yNjIgMzguNDE1TDI4My41NjUgMTEuMDE5Yy05LjU4LTEyLjMwMy0yNy4yMjMtMTQuNjMtMzkuNjUzLTUuMzI4LTEyLjgyNyA5LjU5OS0xNC45MjkgMjguMjQtNS4wODYgNDAuODgxbDc2Ljg4OSA5OC43NDUtNC41MDkgMy41MTEtOTQuNzktMTIxLjczNGMtOS41OC0xMi4zMDMtMjcuMjIzLTE0LjYzLTM5LjY1My01LjMyOC0xMi44MjcgOS41OTktMTQuOTI5IDI4LjI0LTUuMDg2IDQwLjg4MWw5NC40NDMgMTIxLjI4OC00LjUwOSAzLjUxMS03Ny42NzUtOTkuNzU0Yy05LjU4LTEyLjMwMy0yNy4yMjMtMTQuNjMtMzkuNjUzLTUuMzI4LTEyLjgyNyA5LjU5OS0xNC45MjkgMjguMjQtNS4wODYgNDAuODgxbDUyLjA1MyA2Ni44NDljMTIuNDk3LTguMjU3IDI5LjA1NS04LjI4NSA0MS42OS45MDRsMTIzLjM2IDg5LjcxNGMxMC45MDQgNy45MyAxNy40MTUgMjAuNzE1IDE3LjQxNSAzNC4xOTh2MTYuOTk5bDYxLjA2NC00Ny41NDlhMzQuMjg1IDM0LjI4NSAwIDAgMCAxMy4yMDItMjguMTc3eiJdLAogICAgICAic2lnbi1vdXQtYWx0IjogWzUxMiwgNTEyLCBbXSwgImYyZjUiLCAiTTQ5NyAyNzNMMzI5IDQ0MWMtMTUgMTUtNDEgNC41LTQxLTE3di05NkgxNTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0di05NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxMzZWODhjMC0yMS40IDI1LjktMzIgNDEtMTdsMTY4IDE2OGM5LjMgOS40IDkuMyAyNC42IDAgMzR6TTE5MiA0MzZ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMkg5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJWMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyaDg0YzYuNiAwIDEyLTUuNCAxMi0xMlY3NmMwLTYuNi01LjQtMTItMTItMTJIOTZjLTUzIDAtOTYgNDMtOTYgOTZ2MTkyYzAgNTMgNDMgOTYgOTYgOTZoODRjNi42IDAgMTItNS40IDEyLTEyeiJdLAogICAgICAic2lnbmFsIjogWzY0MCwgNTEyLCBbXSwgImYwMTIiLCAiTTM2IDM4NGg1NmM2LjYgMCAxMiA1LjQgMTIgMTJ2MTA0YzAgNi42LTUuNCAxMi0xMiAxMkgzNmMtNi42IDAtMTItNS40LTEyLTEyVjM5NmMwLTYuNiA1LjQtMTIgMTItMTJ6bTExNi0zNnYxNTJjMCA2LjYgNS40IDEyIDEyIDEyaDU2YzYuNiAwIDEyLTUuNCAxMi0xMlYzNDhjMC02LjYtNS40LTEyLTEyLTEyaC01NmMtNi42IDAtMTIgNS40LTEyIDEyem0xMjgtODB2MjMyYzAgNi42IDUuNCAxMiAxMiAxMmg1NmM2LjYgMCAxMi01LjQgMTItMTJWMjY4YzAtNi42LTUuNC0xMi0xMi0xMmgtNTZjLTYuNiAwLTEyIDUuNC0xMiAxMnptMTI4LTExMnYzNDRjMCA2LjYgNS40IDEyIDEyIDEyaDU2YzYuNiAwIDEyLTUuNCAxMi0xMlYxNTZjMC02LjYtNS40LTEyLTEyLTEyaC01NmMtNi42IDAtMTIgNS40LTEyIDEyek01MzYgMTJ2NDg4YzAgNi42IDUuNCAxMiAxMiAxMmg1NmM2LjYgMCAxMi01LjQgMTItMTJWMTJjMC02LjYtNS40LTEyLTEyLTEyaC01NmMtNi42IDAtMTIgNS40LTEyIDEyeiJdLAogICAgICAic2l0ZW1hcCI6IFs2NDAsIDUxMiwgW10sICJmMGU4IiwgIk02MTYgMzIwaC00OHYtNDhjMC0yMi4wNTYtMTcuOTQ0LTQwLTQwLTQwSDM0NHYtNDBoNDhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjI0YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyNDhjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHYxNDRjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDQ4djQwSDExMmMtMjIuMDU2IDAtNDAgMTcuOTQ0LTQwIDQwdjQ4SDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTQ0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxNDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM0NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTQ4di00MGgxNzZ2NDBoLTQ4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTQ0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxNDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM0NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTQ4di00MGgxNzZ2NDBoLTQ4Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTQ0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxNDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjM0NGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6Il0sCiAgICAgICJzbGlkZXJzLWgiOiBbNTc2LCA1MTIsIFtdLCAiZjFkZSIsICJNNTc2IDgwdjQwYzAgNi42LTUuNCAxMi0xMiAxMkgxNjB2OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGgtMTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0di04SDEyYy02LjYgMC0xMi01LjQtMTItMTJWODBjMC02LjYgNS40LTEyIDEyLTEyaDg0di04YzAtMTMuMyAxMC43LTI0IDI0LTI0aDE2YzEzLjMgMCAyNCAxMC43IDI0IDI0djhoNDA0YzYuNiAwIDEyIDUuNCAxMiAxMnptLTEyIDE0OGgtODR2LThjMC0xMy4zLTEwLjctMjQtMjQtMjRoLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY4SDEyYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwNHY4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0di04aDg0YzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEyem0wIDE2MEgyODh2LThjMC0xMy4zLTEwLjctMjQtMjQtMjRoLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY4SDEyYy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDIxMnY4YzAgMTMuMyAxMC43IDI0IDI0IDI0aDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0di04aDI3NmM2LjYgMCAxMi01LjQgMTItMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMnoiXSwKICAgICAgInNtaWxlIjogWzUxMiwgNTEyLCBbXSwgImYxMTgiLCAiTTUwNCAyNTZjMCAxMzYuOTY3LTExMS4wMzMgMjQ4LTI0OCAyNDhTOCAzOTIuOTY3IDggMjU2IDExOS4wMzMgOCAyNTYgOHMyNDggMTExLjAzMyAyNDggMjQ4em0tMTIyLjUyNiA3NS4zNGMxMS40NzktMTcuNzU1LTE1LjM0OS0zNS4xOTQtMjYuODczLTE3LjM3NC01My40MTggODIuNjI3LTE0My43MSA4Mi42ODEtMTk3LjE2NCAwLTExLjUwMi0xNy43OS0zOC4zNjQtLjQwMS0yNi44NzMgMTcuMzc0IDY2LjAxNCAxMDIuMTA3IDE4NC43OTUgMTAyLjI2NSAyNTAuOTEgMHpNMTA4IDE5MmMwIDM3LjQ5NyAzMC41MDMgNjggNjggNjhzNjgtMzAuNTAzIDY4LTY4LTMwLjUwMy02OC02OC02OC02OCAzMC41MDMtNjggNjh6bTE2MC41IDBjMCAzNy4yMjEgMzAuMjc5IDY3LjUgNjcuNSA2Ny41czY3LjUtMzAuMjc5IDY3LjUtNjcuNS0zMC4yNzktNjcuNS02Ny41LTY3LjUtNjcuNSAzMC4yNzktNjcuNSA2Ny41em02Ny41LTQ4YTQ3Ljc4OSA0Ny43ODkgMCAwIDAtMjIuNjAzIDUuNjQ3aC4wMTVjMTAuOTE2IDAgMTkuNzY1IDguODQ5IDE5Ljc2NSAxOS43NjVzLTguODQ5IDE5Ljc2NS0xOS43NjUgMTkuNzY1LTE5Ljc2NS04Ljg0OS0xOS43NjUtMTkuNzY1di0uMDE1QTQ3Ljc4OSA0Ny43ODkgMCAwIDAgMjg4IDE5MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4czQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0tMTYwIDBhNDcuNzg5IDQ3Ljc4OSAwIDAgMC0yMi42MDMgNS42NDdoLjAxNWMxMC45MTYgMCAxOS43NjUgOC44NDkgMTkuNzY1IDE5Ljc2NXMtOC44NDkgMTkuNzY1LTE5Ljc2NSAxOS43NjUtMTkuNzY1LTguODQ5LTE5Ljc2NS0xOS43NjV2LS4wMTVBNDcuNzg5IDQ3Ljc4OSAwIDAgMCAxMjggMTkyYzAgMjYuNTEgMjEuNDkgNDggNDggNDhzNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6Il0sCiAgICAgICJzbm93Zmxha2UiOiBbNDQ4LCA1MTIsIFtdLCAiZjJkYyIsICJNNDQ0LjgxNiAzMDEuNjM5YTI0LjEyIDI0LjEyIDAgMCAwIDIuNjYxLTE2Ljk3OGMtMi43MjUtMTIuOTY2LTE1LjMzOS0yMS4yNDUtMjguMTc0LTE4LjQ5MmwtODcuNDA3IDI1LjA0NkwyNjQgMjU2bDY3Ljg5Ni0zNS4yMTUgODcuNDA3IDI1LjA0NmMxMi44MzUgMi43NTMgMjUuNDQ5LTUuNTI2IDI4LjE3NC0xOC40OTIgMi43MjUtMTIuOTY2LTUuNDcxLTI1LjcwOC0xOC4zMDUtMjguNDYxbC00Ny40NzctNy4xMzcgNTMuMDc3LTMwLjk1NmMxMS4zNjMtNi42MjcgMTUuMjU3LTIxLjMwNiA4LjY5Ni0zMi43ODUtNi41NjEtMTEuNDc5LTIxLjA5MS0xNS40MTItMzIuNDU0LTguNzg1bC01My4wNzcgMzAuOTU2IDE3LjYyMS00NS4xMDRjNC4wNTctMTIuNjA2LTIuNzY4LTI2LjE0Ni0xNS4yNDctMzAuMjQ1LTEyLjQ3OC00LjA5OS0yNS44ODMgMi43OTctMjkuOTQgMTUuNDAybC0yMi4yMzIgODguOTktNjAuMzggMzUuMjE1VjE0NGw2NS4xNzUtNjMuOTQ1YzguNzc4LTkuODUyIDcuOTg3LTI1LjAyNy0xLjc2Ni0zMy44OTQtOS43NTMtOC44NjctMjQuNzc1LTguMDY4LTMzLjU1MiAxLjc4NGwtMjkuODU3IDM3Ljk2N1YyNGMwLTEzLjI1NS0xMC42MzctMjQtMjMuNzU4LTI0cy0yMy43NTggMTAuNzQ1LTIzLjc1OCAyNHY2MS45MTJsLTI5Ljg1Ny0zNy45NjdjLTguNzc5LTkuODUyLTIzLjc5OS0xMC42NTItMzMuNTUyLTEuNzg0LTkuNzUzIDguODY3LTEwLjU0MyAyNC4wNDItMS43NjYgMzMuODk0TDIwMC4yNDIgMTQ0djcwLjQzMWwtNjAuMzgtMzUuMjE1LTIyLjIzMi04OC45OWMtNC4wNTctMTIuNjA1LTE3LjQ2Mi0xOS41MDEtMjkuOTQtMTUuNDAyLTEyLjQ3OCA0LjA5OS0xOS4zMDQgMTcuNjQtMTUuMjQ3IDMwLjI0NWwxNy42MiA0NS4xMDQtNTMuMDc3LTMwLjk1NmMtMTEuMzYzLTYuNjI3LTI1Ljg5My0yLjY5NC0zMi40NTQgOC43ODVzLTIuNjY3IDI2LjE1NyA4LjY5NiAzMi43ODVsNTMuMDc3IDMwLjk1Ni00Ny40NzcgNy4xMzdDNS45OTMgMjAxLjYzNC0yLjIwMyAyMTQuMzc1LjUyMyAyMjcuMzQxYzIuNzI1IDEyLjk2NSAxNS4zMzkgMjEuMjQ1IDI4LjE3NCAxOC40OTJsODcuNDA3LTI1LjA0NkwxODQgMjU2bC02Ny44OTYgMzUuMjE1LTg3LjQwNi0yNS4wNDVjLTEyLjgzNS0yLjc1My0yNS40NDkgNS41MjYtMjguMTc0IDE4LjQ5Mi0yLjcyNSAxMi45NjcgNS40NyAyNS43MDggMTguMzA1IDI4LjQ2MWw0Ny40NzcgNy4xMzctNTMuMDc3IDMwLjk1NkMxLjg2NiAzNTcuODQzLTIuMDI3IDM3Mi41MjEgNC41MzMgMzg0czIxLjA5MSAxNS40MTIgMzIuNDU0IDguNzg1bDUzLjA3Ny0zMC45NTYtMTcuNjIgNDUuMTA0YTI0LjE1NyAyNC4xNTcgMCAwIDAgMi4wMjIgMTkuNDI4YzIuODMxIDQuOTUzIDcuNDE2IDguOTA5IDEzLjIyNCAxMC44MTYgMTIuNDc4IDQuMDk5IDI1Ljg4My0yLjc5NyAyOS45NC0xNS40MDJsMjIuMjMyLTg4Ljk5IDYwLjM4LTM1LjIxNVYzNjhsLTY1LjE3NSA2My45NDVjLTguNzc4IDkuODUyLTcuOTg3IDI1LjAyNyAxLjc2NiAzMy44OTQgOS43NTQgOC44NjggMjQuNzc0IDguMDY4IDMzLjU1Mi0xLjc4NGwyOS44NTctMzcuOTY3VjQ4OGMwIDEzLjI1NSAxMC42MzcgMjQgMjMuNzU4IDI0czIzLjc1OC0xMC43NDUgMjMuNzU4LTI0di02MS45MTJsMjkuODU3IDM3Ljk2N0EyMy41OSAyMy41OSAwIDAgMCAyOTUuMjgyIDQ3MmEyMy41MzQgMjMuNTM0IDAgMCAwIDE1Ljg4NS02LjE2MWM5Ljc1My04Ljg2NyAxMC41NDQtMjQuMDQyIDEuNzY2LTMzLjg5NEwyNDcuNzU4IDM2OHYtNzAuNDMxbDYwLjM4IDM1LjIxNSAyMi4yMzIgODguOTljNC4wNTcgMTIuNjA1IDE3LjQ2MiAxOS41MDEgMjkuOTQgMTUuNDAyIDEyLjQ3OS00LjA5OSAxOS4zMDQtMTcuNjQgMTUuMjQ3LTMwLjI0NWwtMTcuNjIxLTQ1LjEwNCA1My4wNzcgMzAuOTU2YzExLjM2MyA2LjYyNyAyNS44OTMgMi42OTQgMzIuNDU0LTguNzg1czIuNjY3LTI2LjE1Ny04LjY5Ni0zMi43ODVsLTUzLjA3Ny0zMC45NTYgNDcuNDc3LTcuMTM3YzYuODYtMS40NjkgMTIuMzk0LTUuNzkzIDE1LjY0NS0xMS40ODF6Il0sCiAgICAgICJzb3J0IjogWzMyMCwgNTEyLCBbXSwgImYwZGMiLCAiTTQxIDI4OGgyMzhjMjEuNCAwIDMyLjEgMjUuOSAxNyA0MUwxNzcgNDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwyNCAzMjljLTE1LjEtMTUuMS00LjQtNDEgMTctNDF6bTI1NS0xMDVMMTc3IDY0Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEwyNCAxODNjLTE1LjEgMTUuMS00LjQgNDEgMTcgNDFoMjM4YzIxLjQgMCAzMi4xLTI1LjkgMTctNDF6Il0sCiAgICAgICJzb3J0LWFscGhhLWRvd24iOiBbNDQ4LCA1MTIsIFtdLCAiZjE1ZCIsICJNMTg3LjI5OCAzOTUuMzE0bC03OS45ODQgODAuMDAyYy02LjI0OCA2LjI0Ny0xNi4zODMgNi4yNDUtMjIuNjI3IDBMNC43MDUgMzk1LjMxNEMtNS4zNjUgMzg1LjI0NCAxLjgwNyAzNjggMTYuMDE5IDM2OEg2NFY0OGMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDMyYzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzIwaDQ3Ljk4NGMxNC4yNDEgMCAyMS4zNjMgMTcuMjY0IDExLjMxNCAyNy4zMTR6bTExOS4wNzUtMTgwLjAwN0ExMiAxMiAwIDAgMSAyOTQuODM4IDIyNGgtMzUuNzE3Yy04LjIyIDAtMTQuMDA3LTguMDc4LTExLjM2Mi0xNS44NjFsNTcuMDk2LTE2OEExMiAxMiAwIDAgMSAzMTYuMjE3IDMyaDM5LjU2NmM1LjEzOSAwIDkuNzA4IDMuMjczIDExLjM2MiA4LjEzOWw1Ny4wOTYgMTY4QzQyNi44ODYgMjE1LjkyMiA0MjEuMSAyMjQgNDEyLjg3OSAyMjRoLTM1LjczNWExMiAxMiAwIDAgMS0xMS41MTUtOC42MjJsLTguMzAxLTI4LjI5OWgtNDIuODYzbC04LjA5MiAyOC4yMjh6bTIyLjg1Ny03OC42OTdoMTMuMzY3bC02LjYtMjIuOTM3LTYuNzY3IDIyLjkzN3ptMTIuNTc1IDI4Ny4zMjNsNjcuNDUxLTk1LjY5OGExMiAxMiAwIDAgMCAyLjE5Mi02LjkxM1YzMDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkgyNzQuNTIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI4LjkzYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTYuNDY5Yy0uNzM5Ljk5MS0xLjQ5NyAyLjAzNi0yLjI3IDMuMTMzbC02Ny4yMDMgOTUuMjA1YTEyLjAwMSAxMi4wMDEgMCAwIDAtMi4xOTYgNi45MlY0NjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMjkuMzU1YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTI4LjkzYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTYxLjE0NmMuNzQtLjk5MyAxLjUtMi4wMzkgMi4yNzQtMy4xMzd6Il0sCiAgICAgICJzb3J0LWFscGhhLXVwIjogWzQ0OCwgNTEyLCBbXSwgImYxNWUiLCAiTTQuNzAyIDExNi42ODZsNzkuOTg0LTgwLjAwMmM2LjI0OC02LjI0NyAxNi4zODMtNi4yNDUgMjIuNjI3IDBsNzkuOTgxIDgwLjAwMmMxMC4wNyAxMC4wNyAyLjg5OSAyNy4zMTQtMTEuMzE0IDI3LjMxNEgxMjh2MzIwYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIODBjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZWMTQ0SDE2LjAxNmMtMTQuMjQxIDAtMjEuMzYzLTE3LjI2NC0xMS4zMTQtMjcuMzE0em0zMDEuNjcxIDk4LjYyMUExMiAxMiAwIDAgMSAyOTQuODM4IDIyNGgtMzUuNzE3Yy04LjIyIDAtMTQuMDA3LTguMDc4LTExLjM2Mi0xNS44NjFsNTcuMDk2LTE2OEExMiAxMiAwIDAgMSAzMTYuMjE3IDMyaDM5LjU2NmM1LjEzOSAwIDkuNzA4IDMuMjczIDExLjM2MiA4LjEzOWw1Ny4wOTYgMTY4QzQyNi44ODYgMjE1LjkyMiA0MjEuMSAyMjQgNDEyLjg3OSAyMjRoLTM1LjczNWExMiAxMiAwIDAgMS0xMS41MTUtOC42MjJsLTguMzAxLTI4LjI5OWgtNDIuODYzbC04LjA5MiAyOC4yMjh6bTIyLjg1Ny03OC42OTdoMTMuMzY3bC02LjYtMjIuOTM3LTYuNzY3IDIyLjkzN3ptMTIuNTc1IDI4Ny4zMjNsNjcuNDUxLTk1LjY5OGExMiAxMiAwIDAgMCAyLjE5Mi02LjkxM1YzMDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkgyNzQuNTIyYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjI4LjkzYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTYuNDY5Yy0uNzM5Ljk5MS0xLjQ5NyAyLjAzNi0yLjI3IDMuMTMzbC02Ny4yMDMgOTUuMjA1YTEyLjAwMSAxMi4wMDEgMCAwIDAtMi4xOTYgNi45MlY0NjhjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMjkuMzU1YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTI4LjkzYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTYxLjE0NmMuNzQtLjk5MyAxLjUtMi4wMzkgMi4yNzQtMy4xMzd6Il0sCiAgICAgICJzb3J0LWFtb3VudC1kb3duIjogWzUxMiwgNTEyLCBbXSwgImYxNjAiLCAiTTE4Ny4yOTggMzk1LjMxNGwtNzkuOTg0IDgwLjAwMmMtNi4yNDggNi4yNDctMTYuMzgzIDYuMjQ1LTIyLjYyNyAwTDQuNzA1IDM5NS4zMTRDLTUuMzY1IDM4NS4yNDQgMS44MDcgMzY4IDE2LjAxOSAzNjhINjRWNDhjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgzMmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyMGg0Ny45ODRjMTQuMjQxIDAgMjEuMzYzIDE3LjI2NCAxMS4zMTQgMjcuMzE0ek0yNDAgOTZoMjU2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNDhjMC04LjgzNy03LjE2My0xNi0xNi0xNkgyNDBjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2MzJjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptLTE2IDExMnYtMzJjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgxOTJjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnYzMmMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDI0MGMtOC44MzcgMC0xNi03LjE2My0xNi0xNnptMCAyNTZ2LTMyYzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoNjRjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnYzMmMwIDguODM3LTcuMTYzIDE2LTE2IDE2aC02NGMtOC44MzcgMC0xNi03LjE2My0xNi0xNnptMC0xMjh2LTMyYzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMTI4YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNkgyNDBjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ6Il0sCiAgICAgICJzb3J0LWFtb3VudC11cCI6IFs1MTIsIDUxMiwgW10sICJmMTYxIiwgIk00LjcwMiAxMTYuNjg2bDc5Ljk4NC04MC4wMDJjNi4yNDgtNi4yNDcgMTYuMzgzLTYuMjQ1IDIyLjYyNyAwbDc5Ljk4MSA4MC4wMDJjMTAuMDcgMTAuMDcgMi44OTkgMjcuMzE0LTExLjMxNCAyNy4zMTRIMTI4djMyMGMwIDguODM3LTcuMTYzIDE2LTE2IDE2SDgwYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjE0NEgxNi4wMTZjLTE0LjI0MSAwLTIxLjM2My0xNy4yNjQtMTEuMzE0LTI3LjMxNHpNMjQwIDk2aDI1NmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2VjQ4YzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMjQwYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djMyYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bS0xNiAxMTJ2LTMyYzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMTkyYzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNkgyNDBjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ6bTAgMjU2di0zMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDY0YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtNjRjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ6bTAtMTI4di0zMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDEyOGM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMjQwYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2eiJdLAogICAgICAic29ydC1kb3duIjogWzMyMCwgNTEyLCBbXSwgImYwZGQiLCAiTTQxIDI4OGgyMzhjMjEuNCAwIDMyLjEgMjUuOSAxNyA0MUwxNzcgNDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMEwyNCAzMjljLTE1LjEtMTUuMS00LjQtNDEgMTctNDF6Il0sCiAgICAgICJzb3J0LW51bWVyaWMtZG93biI6IFs0NDgsIDUxMiwgW10sICJmMTYyIiwgIk0zMDguODExIDExMy43ODdsLTE5LjQ0OC0yMC43OTVjLTQuNTIyLTQuODM2LTQuMjc0LTEyLjQyMS41NTYtMTYuOTVsNDMuNDQzLTQwLjc0MWExMS45OTkgMTEuOTk5IDAgMCAxIDguMjA5LTMuMjQ3aDMxLjU5MWM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjEyNy4wN2gyNS42NmM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjI4LjkzYzAgNi42MjctNS4zNzMgMTItMTIgMTJIMzAxLjY0OWMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjguOTNjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgyNS40MTR2LTU3LjkzOGMtNy4yNTQgNi41OC0xNC4yMTEgNC45MjEtMTguMjUyLjYwMXptLTMwLjU3IDIzOC41NjljMC0zMi42NTMgMjMuODY1LTY3LjM1NiA2OC4wOTQtNjcuMzU2IDM4LjI1MyAwIDc5LjQyNCAyOC44NjEgNzkuNDI0IDkyLjIyOCAwIDUxLjI3Ni0zMi4yMzcgMTA1Ljc3Mi05MS45ODMgMTA1Ljc3Mi0xNy44MzYgMC0zMC41NDYtMy41NTctMzguNTQ4LTYuNzgxLTUuNzktMi4zMzMtOC43ODktOC43NDYtNi45MjItMTQuNzAzbDkuMjM3LTI5LjQ4YzIuMDM1LTYuNDk2IDkuMDQ5LTkuOTgzIDE1LjQ2Ny03LjcxNiAxMy4wMjkgNC42MDIgMjcuODc4IDUuMjc1IDM4LjEwMy00LjEzOC0zOC43NDIgNS4wNzItNzIuODcyLTI1LjM2LTcyLjg3Mi02Ny44MjZ6bTkyLjI3MyAxOS4zMzhjMC0yMi4yODUtMTUuMzAyLTM2LjUwNS0yNS44MzUtMzYuNTA1LTguNjQyIDAtMTMuMTY0IDcuOTY1LTEzLjE2NCAxNS44MzIgMCA1LjY2OSAxLjgxNSAyNC4xNjggMjUuMTY4IDI0LjE2OCA5Ljk3MyAwIDEzLjM3Ny0yLjE1NCAxMy43NDQtMi43MzEuMDIxLS4wNDYuMDg3LS4yOTEuMDg3LS43NjR6TTE3NS45ODQgMzY4SDEyOFY0OGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDgwYy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djMyMEgxNi4wMTljLTE0LjIxMiAwLTIxLjM4NCAxNy4yNDQtMTEuMzE0IDI3LjMxNGw3OS45ODEgODAuMDAyYzYuMjQ1IDYuMjQ1IDE2LjM4IDYuMjQ3IDIyLjYyNyAwbDc5Ljk4NC04MC4wMDJjMTAuMDUtMTAuMDUgMi45MjgtMjcuMzE0LTExLjMxMy0yNy4zMTR6Il0sCiAgICAgICJzb3J0LW51bWVyaWMtdXAiOiBbNDQ4LCA1MTIsIFtdLCAiZjE2MyIsICJNMzA4LjgxMSAxMTMuNzg3bC0xOS40NDgtMjAuNzk1Yy00LjUyMi00LjgzNi00LjI3NC0xMi40MjEuNTU2LTE2Ljk1bDQzLjQ0My00MC43NDFhMTEuOTk5IDExLjk5OSAwIDAgMSA4LjIwOS0zLjI0N2gzMS41OTFjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYxMjcuMDdoMjUuNjZjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnYyOC45M2MwIDYuNjI3LTUuMzczIDEyLTEyIDEySDMwMS42NDljLTYuNjI3IDAtMTItNS4zNzMtMTItMTJ2LTI4LjkzYzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjUuNDE0di01Ny45MzhjLTcuMjU0IDYuNTgtMTQuMjExIDQuOTIxLTE4LjI1Mi42MDF6bS0zMC41NyAyMzguNTY5YzAtMzIuNjUzIDIzLjg2NS02Ny4zNTYgNjguMDk0LTY3LjM1NiAzOC4yNTMgMCA3OS40MjQgMjguODYxIDc5LjQyNCA5Mi4yMjggMCA1MS4yNzYtMzIuMjM3IDEwNS43NzItOTEuOTgzIDEwNS43NzItMTcuODM2IDAtMzAuNTQ2LTMuNTU3LTM4LjU0OC02Ljc4MS01Ljc5LTIuMzMzLTguNzg5LTguNzQ2LTYuOTIyLTE0LjcwM2w5LjIzNy0yOS40OGMyLjAzNS02LjQ5NiA5LjA0OS05Ljk4MyAxNS40NjctNy43MTYgMTMuMDI5IDQuNjAyIDI3Ljg3OCA1LjI3NSAzOC4xMDMtNC4xMzgtMzguNzQyIDUuMDcyLTcyLjg3Mi0yNS4zNi03Mi44NzItNjcuODI2em05Mi4yNzMgMTkuMzM4YzAtMjIuMjg1LTE1LjMwMi0zNi41MDUtMjUuODM1LTM2LjUwNS04LjY0MiAwLTEzLjE2NCA3Ljk2NS0xMy4xNjQgMTUuODMyIDAgNS42NjkgMS44MTUgMjQuMTY4IDI1LjE2OCAyNC4xNjggOS45NzMgMCAxMy4zNzctMi4xNTQgMTMuNzQ0LTIuNzMxLjAyMS0uMDQ2LjA4Ny0uMjkxLjA4Ny0uNzY0ek0xNi4wMTYgMTQ0SDY0djMyMGMwIDguODM3IDcuMTYzIDE2IDE2IDE2aDMyYzguODM3IDAgMTYtNy4xNjMgMTYtMTZWMTQ0aDQ3Ljk4MWMxNC4yMTIgMCAyMS4zODQtMTcuMjQ0IDExLjMxNC0yNy4zMTRsLTc5Ljk4MS04MC4wMDJjLTYuMjQ1LTYuMjQ1LTE2LjM4LTYuMjQ3LTIyLjYyNyAwTDQuNzAyIDExNi42ODZDLTUuMzQ3IDEyNi43MzYgMS43NzUgMTQ0IDE2LjAxNiAxNDR6Il0sCiAgICAgICJzb3J0LXVwIjogWzMyMCwgNTEyLCBbXSwgImYwZGUiLCAiTTI3OSAyMjRINDFjLTIxLjQgMC0zMi4xLTI1LjktMTctNDFMMTQzIDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDExOSAxMTljMTUuMiAxNS4xIDQuNSA0MS0xNi45IDQxeiJdLAogICAgICAic3BhY2Utc2h1dHRsZSI6IFs2NDAsIDUxMiwgW10sICJmMTk3IiwgIk01OTIuNjA0IDIwOC4yNDRDNTU5LjczNSAxOTIuODM2IDUxNS43NzcgMTg0IDQ3MiAxODRIMTg2LjMyN2MtNC45NTItNi41NTUtMTAuNTg1LTExLjk3OC0xNi43Mi0xNkgzNzZDMjI5LjE1NyAxMzcuNzQ3IDIxOS40MDMgMzIgOTYuMDAzIDMySDk2djEyOEg4MFYzMmMtMjYuNTEgMC00OCAyOC42NTQtNDggNjR2NjRjLTIzLjE5NyAwLTMyIDEwLjAzMi0zMiAyNHY0MGMwIDEzLjk4MyA4LjgxOSAyNCAzMiAyNHYxNmMtMjMuMTk3IDAtMzIgMTAuMDMyLTMyIDI0djQwYzAgMTMuOTgzIDguODE5IDI0IDMyIDI0djY0YzAgMzUuMzQ2IDIxLjQ5IDY0IDQ4IDY0VjM1MmgxNnYxMjhoLjAwM2MxMjMuNCAwIDEzMy4xNTQtMTA1Ljc0NyAyNzkuOTk3LTEzNkgxNjkuNjA2YzYuMTM1LTQuMDIyIDExLjc2OC05LjQ0NSAxNi43Mi0xNkg0NzJjNDMuNzc3IDAgODcuNzM1LTguODM2IDEyMC42MDQtMjQuMjQ0QzYyMi4yODIgMjg5Ljg0NSA2NDAgMjcxLjk5MiA2NDAgMjU2cy0xNy43MTgtMzMuODQ1LTQ3LjM5Ni00Ny43NTZ6TTQ4OCAyOTZhOCA4IDAgMCAxLTgtOHYtNjRhOCA4IDAgMCAxIDgtOGMzMS45MDkgMCAzMS45NDIgODAgMCA4MHoiXSwKICAgICAgInNwaW5uZXIiOiBbNTEyLCA1MTIsIFtdLCAiZjExMCIsICJNMzA0IDQ4YzAgMjYuNTEtMjEuNDkgNDgtNDggNDhzLTQ4LTIxLjQ5LTQ4LTQ4IDIxLjQ5LTQ4IDQ4LTQ4IDQ4IDIxLjQ5IDQ4IDQ4em0tNDggMzY4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0yMDgtMjA4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4ek05NiAyNTZjMC0yNi41MS0yMS40OS00OC00OC00OFMwIDIyOS40OSAwIDI1NnMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OHptMTIuOTIyIDk5LjA3OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OTEtNDgtNDgtNDh6bTI5NC4xNTYgMGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHMyMS40OSA0OCA0OCA0OCA0OC0yMS40OSA0OC00OGMwLTI2LjUwOS0yMS40OS00OC00OC00OHpNMTA4LjkyMiA2MC45MjJjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDkxLTQ4LTQ4LTQ4eiJdLAogICAgICAic3F1YXJlIjogWzQ0OCwgNTEyLCBbXSwgImYwYzgiLCAiTTQwMCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6Il0sCiAgICAgICJzcXVhcmUtZnVsbCI6IFs1MTIsIDUxMiwgW10sICJmNDVjIiwgIk01MTIgNTEySDBWMGg1MTJ2NTEyeiJdLAogICAgICAic3RhciI6IFs1NzYsIDUxMiwgW10sICJmMDA1IiwgIk0yNTkuMyAxNy44TDE5NCAxNTAuMiA0Ny45IDE3MS41Yy0yNi4yIDMuOC0zNi43IDM2LjEtMTcuNyA1NC42bDEwNS43IDEwMy0yNSAxNDUuNWMtNC41IDI2LjMgMjMuMiA0NiA0Ni40IDMzLjdMMjg4IDQzOS42bDEzMC43IDY4LjdjMjMuMiAxMi4yIDUwLjktNy40IDQ2LjQtMzMuN2wtMjUtMTQ1LjUgMTA1LjctMTAzYzE5LTE4LjUgOC41LTUwLjgtMTcuNy01NC42TDM4MiAxNTAuMiAzMTYuNyAxNy44Yy0xMS43LTIzLjYtNDUuNi0yMy45LTU3LjQgMHoiXSwKICAgICAgInN0YXItaGFsZiI6IFs1NzYsIDUxMiwgW10sICJmMDg5IiwgIk0yODggMGMtMTEuNCAwLTIyLjggNS45LTI4LjcgMTcuOEwxOTQgMTUwLjIgNDcuOSAxNzEuNGMtMjYuMiAzLjgtMzYuNyAzNi4xLTE3LjcgNTQuNmwxMDUuNyAxMDMtMjUgMTQ1LjVjLTQuNSAyNi4xIDIzIDQ2IDQ2LjQgMzMuN0wyODggNDM5LjZWMHoiXSwKICAgICAgInN0ZXAtYmFja3dhcmQiOiBbNDQ4LCA1MTIsIFtdLCAiZjA0OCIsICJNNjQgNDY4VjQ0YzAtNi42IDUuNC0xMiAxMi0xMmg0OGM2LjYgMCAxMiA1LjQgMTIgMTJ2MTc2LjRsMTk1LjUtMTgxQzM1Mi4xIDIyLjMgMzg0IDM2LjYgMzg0IDY0djM4NGMwIDI3LjQtMzEuOSA0MS43LTUyLjUgMjQuNkwxMzYgMjkyLjdWNDY4YzAgNi42LTUuNCAxMi0xMiAxMkg3NmMtNi42IDAtMTItNS40LTEyLTEyeiJdLAogICAgICAic3RlcC1mb3J3YXJkIjogWzQ0OCwgNTEyLCBbXSwgImYwNTEiLCAiTTM4NCA0NHY0MjRjMCA2LjYtNS40IDEyLTEyIDEyaC00OGMtNi42IDAtMTItNS40LTEyLTEyVjI5MS42bC0xOTUuNSAxODFDOTUuOSA0ODkuNyA2NCA0NzUuNCA2NCA0NDhWNjRjMC0yNy40IDMxLjktNDEuNyA1Mi41LTI0LjZMMzEyIDIxOS4zVjQ0YzAtNi42IDUuNC0xMiAxMi0xMmg0OGM2LjYgMCAxMiA1LjQgMTIgMTJ6Il0sCiAgICAgICJzdGV0aG9zY29wZSI6IFs1MTIsIDUxMiwgW10sICJmMGYxIiwgIk01MTIgMTc2YzAtMzUuNjU5LTI5LjE2NC02NC41MDctNjQuOTQxLTYzLjk5My0zNC4yMS40OTItNjIuMjk2IDI4LjM1Ny02My4wNDMgNjIuNTYyLS41MzEgMjQuMjgyIDEyLjQ3NiA0NS41NTggMzEuOTg0IDU2Ljg0OFYzNDRjMCA1Ny4zNDYtNTAuMjQzIDEwNC0xMTIgMTA0LTYwLjAzOSAwLTEwOS4xODktNDQuMDk2LTExMS44NzgtOTkuMjRDMjY1LjAwNSAzMzMuODQ3IDMyMCAyNjkuMjI1IDMyMCAxOTJWMzYuNTg0YzAtMTEuNDQtOC4wNzUtMjEuMjktMTkuMjkzLTIzLjUzNEwyMzcuODEuNDcxYy0xMi45OTctMi41OTktMjUuNjQxIDUuODMtMjguMjQxIDE4LjgyN2wtMy4xMzggMTUuNjg5Yy0yLjYgMTIuOTk3IDUuODMgMjUuNjQxIDE4LjgyNyAyOC4yNDFMMjU2IDY5LjM3NnYxMjEuNGMwIDUyLjg1Mi00Mi4yMDMgOTYuNzA3LTk1LjA1MyA5Ny4yMkMxMDcuNTggMjg4LjUxMyA2NCAyNDUuMjUgNjQgMTkyVjY5LjM3NmwzMC43NDItNi4xNDljMTIuOTk3LTIuNiAyMS40MjctMTUuMjQzIDE4LjgyNy0yOC4yNDFsLTMuMTM4LTE1LjY4OUMxMDcuODMxIDYuMyA5NS4xODgtMi4xMjkgODIuMTkuNDcxTDE5LjI5MyAxMy4wNUM4LjA3NSAxNS4yOTQgMCAyNS4xNDQgMCAzNi41ODRWMTkyYzAgNzcuMjk1IDU1LjA5NiAxNDEuOTYxIDEyOC4wNzYgMTU2Ljc5OEMxMzAuNzQ3IDQzOS4yMjMgMjA4LjYzNCA1MTIgMzA0IDUxMmM5Ny4wNDcgMCAxNzYtNzUuMzY0IDE3Ni0xNjhWMjMxLjQxN2MxOS4xMjQtMTEuMDY4IDMyLTMxLjczMiAzMi01NS40MTd6bS02NC0xNmM4LjgyMiAwIDE2IDcuMTc4IDE2IDE2cy03LjE3OCAxNi0xNiAxNi0xNi03LjE3OC0xNi0xNiA3LjE3OC0xNiAxNi0xNnoiXSwKICAgICAgInN0aWNreS1ub3RlIjogWzQ0OCwgNTEyLCBbXSwgImYyNDkiLCAiTTMxMiAzMjBoMTM2VjU2YzAtMTMuMy0xMC43LTI0LTI0LTI0SDI0QzEwLjcgMzIgMCA0Mi43IDAgNTZ2NDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0aDI2NFYzNDRjMC0xMy4yIDEwLjgtMjQgMjQtMjR6bTEyOSA1NWwtOTggOThjLTQuNSA0LjUtMTAuNiA3LTE3IDdoLTZWMzUyaDEyOHY2LjFjMCA2LjMtMi41IDEyLjQtNyAxNi45eiJdLAogICAgICAic3RvcCI6IFs0NDgsIDUxMiwgW10sICJmMDRkIiwgIk00MDAgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4eiJdLAogICAgICAic3RvcC1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjI4ZCIsICJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiJdLAogICAgICAic3RvcHdhdGNoIjogWzQ0OCwgNTEyLCBbXSwgImYyZjIiLCAiTTQzMiAzMDRjMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzE2IDQxOC45IDE2IDMwNGMwLTEwNCA3Ni4zLTE5MC4yIDE3Ni0yMDUuNVY2NGgtMjhjLTYuNiAwLTEyLTUuNC0xMi0xMlYxMmMwLTYuNiA1LjQtMTIgMTItMTJoMTIwYzYuNiAwIDEyIDUuNCAxMiAxMnY0MGMwIDYuNi01LjQgMTItMTIgMTJoLTI4djM0LjVjMzcuNSA1LjggNzEuNyAyMS42IDk5LjcgNDQuNmwyNy41LTI3LjVjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDI4LjMgMjguM2M0LjcgNC43IDQuNyAxMi4zIDAgMTdsLTI5LjQgMjkuNC0uNi42QzQxOS43IDIyMy4zIDQzMiAyNjIuMiA0MzIgMzA0em0tMTc2IDM2VjE4OC41YzAtNi42LTUuNC0xMi0xMi0xMmgtNDBjLTYuNiAwLTEyIDUuNC0xMiAxMlYzNDBjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnoiXSwKICAgICAgInN0cmVldC12aWV3IjogWzUxMiwgNTEyLCBbXSwgImYyMWQiLCAiTTE5MiA2NGMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0em0xMTIgODBoLTExLjM2Yy0yMi43MTEgMTAuNDQzLTQ5LjU5IDEwLjg5NC03My4yOCAwSDIwOGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYxMDRjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDE2djEwNGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoNjRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjMyMGgxNmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMTkyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTg1LjY0MiAxODkuMTUyYTcyLjUwMyA3Mi41MDMgMCAwIDEtMjkuMDEgMjcuMDA5QzM5MS4xMzMgMzY1LjI1MSA0ODAgMzg1Ljg1NCA0ODAgNDE2YzAgNDYuMzA0LTE2Ny42NTYgNjQtMjI0IDY0LTcwLjMwMyAwLTIyNC0yMC44NTktMjI0LTY0IDAtMzAuMTIzIDg4LjM2MS01MC42NjUgMTE5LjM2Ny01NS44MzlhNzIuNTE2IDcyLjUxNiAwIDAgMS0yOS4wMS0yNy4wMDlDNzQuOTU5IDM0My4zOTUgMCAzNjcuNTk5IDAgNDE2YzAgNzcuMTExIDE3OC42NTggOTYgMjU2IDk2IDc3LjI0OSAwIDI1Ni0xOC44NjUgMjU2LTk2IDAtNDguNDAzLTc0Ljk2Ny03Mi42MDYtMTIyLjM1OC04Mi44NDh6Il0sCiAgICAgICJzdHJpa2V0aHJvdWdoIjogWzUxMiwgNTEyLCBbXSwgImYwY2MiLCAiTTQ5NiAyODhIMTZjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ2LTMyYzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoNDgwYzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNnptLTIxNC42NjYgMTZjMjcuMjU4IDEyLjkzNyA0Ni41MjQgMjguNjgzIDQ2LjUyNCA1Ni4yNDMgMCAzMy4xMDgtMjguOTc3IDUzLjY3Ni03NS42MjEgNTMuNjc2LTMyLjMyNSAwLTc2Ljg3NC0xMi4wOC03Ni44NzQtNDQuMjcxVjM2OGMwLTguODM3LTcuMTY0LTE2LTE2LTE2SDExMy43NWMtOC44MzYgMC0xNiA3LjE2My0xNiAxNnYxOS4yMDRjMCA2Ni44NDUgNzcuNzE3IDEwMS44MiAxNTQuNDg3IDEwMS44MiA4OC41NzggMCAxNjIuMDEzLTQ1LjQzOCAxNjIuMDEzLTEzNC40MjQgMC0xOS44MTUtMy42MTgtMzYuNDE3LTEwLjE0My01MC42SDI4MS4zMzR6bS0zMC45NTItOTZjLTMyLjQyMi0xMy41MDUtNTYuODM2LTI4Ljk0Ni01Ni44MzYtNTkuNjgzIDAtMzMuOTIgMzAuOTAxLTQ3LjQwNiA2NC45NjItNDcuNDA2IDQyLjY0NyAwIDY0Ljk2MiAxNi41OTMgNjQuOTYyIDMyLjk4NVYxMzZjMCA4LjgzNyA3LjE2NCAxNiAxNiAxNmg0NS42MTNjOC44MzYgMCAxNi03LjE2MyAxNi0xNnYtMzAuMzE4YzAtNTIuNDM4LTcxLjcyNS03OS44NzUtMTQyLjU3NS03OS44NzUtODUuMjAzIDAtMTUwLjcyNiA0MC45NzItMTUwLjcyNiAxMjUuNjQ2IDAgMjIuNzEgNC42NjUgNDEuMTc2IDEyLjc3NyA1Ni41NDdoMTI5LjgyM3oiXSwKICAgICAgInN1YnNjcmlwdCI6IFs1MTIsIDUxMiwgW10sICJmMTJjIiwgIk0zOTUuMTk4IDQxNmMzLjQ2MS0xMC41MjYgMTguNzk2LTIxLjI4IDM2LjI2NS0zMi40MjUgMTYuNjI1LTEwLjYwNSAzNS40NjctMjIuNjI2IDUwLjM0MS0zOC44NjIgMTcuNDU4LTE5LjA1NCAyNS45NDQtNDAuMTc1IDI1Ljk0NC02NC41NjcgMC02MC41NjItNTAuNzAyLTg4LjE0Ni05Ny44MS04OC4xNDYtNDIuNDkxIDAtNzYuMzc4IDIyLjAxNi05NC40MzIgNTAuNDQ3LTQuNjU0IDcuMzI5LTIuNTkyIDE3LjAzNiA0LjYyMyAyMS44NjVsMzAuMzI4IDIwLjI5NmM3LjAzMiA0LjcwNiAxNi40NiAzLjA4NCAyMS42My0zLjYxNCA4LjAyMi0xMC4zOTQgMTguODE4LTE4LjIyNSAzMS42NjctMTguMjI1IDE5LjM4NyAwIDI2LjI2NiAxMi45MDEgMjYuMjY2IDIzLjk0OCAwIDM2LjE1OS0xMTkuNDM3IDU3LjAyMy0xMTkuNDM3IDE2MC4wMjQgMCA2LjY1NC41NjEgMTMuMDE0IDEuNDE1IDE5LjMzMSAxLjA3NiA3Ljk2NCA3LjgzNCAxMy45MjggMTUuODcgMTMuOTI4SDQ5NmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di0zMmMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDM5NS4xOTh6TTI3MiAyNTZjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnYzMmMwIDguODM3LTcuMTYzIDE2LTE2IDE2aC02Mi4zOTlhMTYgMTYgMCAwIDEtMTMuNTQxLTcuNDc4bC00NS43MDEtNzIuNjE1Yy0yLjI5Ny0zLjM1Mi00LjQyMi02Ljk2OS02LjE5NS0xMC4yMDktMS42NSAzLjI0NC0zLjY0NyA2LjkzNy01Ljg3NCAxMC41ODJsLTQ0LjcxMiA3Mi4xNDdhMTUuOTk5IDE1Ljk5OSAwIDAgMS0xMy42IDcuNTcySDE2Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2di0zMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDI2LjMyNWw1Ni41NTItODIuNzA5TDQ2LjExMSA5NkgxNkM3LjE2MyA5NiAwIDg4LjgzNyAwIDgwVjQ4YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoNjguODA2YTE2IDE2IDAgMCAxIDEzLjY0NSA3LjY0NGwzOS44ODIgNjUuMTI2YzIuMDcyIDMuNTIzIDQuMDUzIDcuMTcxIDUuNzI3IDEwLjM3IDEuNzc3LTMuMjQ0IDMuOTItNi45NTQgNi4yMzctMTAuNTM3bDQwLjMzMi02NS4wMzVBMTUuOTk5IDE1Ljk5OSAwIDAgMSAyMDQuMjI2IDMySDI3MmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZoLTI3Ljk3OWwtNTIuNjkgNzUuNjcxTDI0OS45NzQgMjU2SDI3MnoiXSwKICAgICAgInN1YndheSI6IFs0NDgsIDUxMiwgW10sICJmMjM5IiwgIk00NDggOTZ2MjU2YzAgNTEuODE1LTYxLjYyNCA5Ni0xMzAuMDIyIDk2bDYyLjk4IDQ5LjcyMUMzODYuOTA1IDUwMi40MTcgMzgzLjU2MiA1MTIgMzc2IDUxMkg3MmMtNy41NzggMC0xMC44OTItOS41OTQtNC45NTctMTQuMjc5TDEzMC4wMjIgNDQ4QzYxLjgyIDQ0OCAwIDQwMy45NTQgMCAzNTJWOTZDMCA0Mi45ODEgNjQgMCAxMjggMGgxOTJjNjUgMCAxMjggNDIuOTgxIDEyOCA5NnpNMjAwIDIzMlYxMjBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDcyYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTEyYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0em0yMDAgMFYxMjBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI3MmMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djExMmMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTA0YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHptLTQ4IDU2Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4czIxLjQ5IDQ4IDQ4IDQ4IDQ4LTIxLjQ5IDQ4LTQ4LTIxLjQ5LTQ4LTQ4LTQ4em0tMjU2IDBjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6Il0sCiAgICAgICJzdWl0Y2FzZSI6IFs1MTIsIDUxMiwgW10sICJmMGYyIiwgIk05NiA0ODBoMzIwVjEyOGgtMzJWODBjMC0yNi41MS0yMS40OS00OC00OC00OEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhIOTZ2MzUyem05Ni0zODRoMTI4djMySDE5MlY5NnptMzIwIDgwdjI1NmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4aC0xNlYxMjhoMTZjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHpNNjQgNDgwSDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjE3NmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDE2djM1MnoiXSwKICAgICAgInN1biI6IFs1MTIsIDUxMiwgW10sICJmMTg1IiwgIk0yNzQuODM1IDEyLjY0NmwyNS41MTYgNjIuMzkzYzQuMjEzIDEwLjMwMSAxNi42NzEgMTQuMzQ5IDI2LjEzNCA4LjQ5Mmw1Ny4zMTYtMzUuNDc5YzE1LjQ5LTkuNTg4IDM0LjgwOCA0LjQ0NyAzMC40NzUgMjIuMTQybC0xNi4wMyA2NS40NzVjLTIuNjQ3IDEwLjgxIDUuMDUzIDIxLjQwOCAxNi4xNTIgMjIuMjMxbDY3LjIyNCA0Ljk4N2MxOC4xNjcgMS4zNDggMjUuNTQ2IDI0LjA1NyAxMS42NDEgMzUuODI2TDQ0MS44MSAyNDIuMjZjLTguNDk1IDcuMTktOC40OTUgMjAuMjg5IDAgMjcuNDc5bDUxLjQ1NCA0My41NDhjMTMuOTA2IDExLjc2OSA2LjUyNyAzNC40NzgtMTEuNjQxIDM1LjgyNmwtNjcuMjI0IDQuOTg3Yy0xMS4wOTkuODIzLTE4Ljc5OSAxMS40MjEtMTYuMTUyIDIyLjIzMWwxNi4wMyA2NS40NzVjNC4zMzIgMTcuNjk1LTE0Ljk4NiAzMS43My0zMC40NzUgMjIuMTQybC01Ny4zMTYtMzUuNDc5Yy05LjQ2My01Ljg1OC0yMS45MjItMS44MS0yNi4xMzQgOC40OTJsLTI1LjUxNiA2Mi4zOTNjLTYuODk2IDE2Ljg2Mi0zMC43NzQgMTYuODYyLTM3LjY3IDBsLTI1LjUxNi02Mi4zOTNjLTQuMjEzLTEwLjMwMS0xNi42NzEtMTQuMzQ5LTI2LjEzNC04LjQ5MmwtNTcuMzE3IDM1LjQ3OWMtMTUuNDkgOS41ODgtMzQuODA4LTQuNDQ3LTMwLjQ3NS0yMi4xNDJsMTYuMDMtNjUuNDc1YzIuNjQ3LTEwLjgxLTUuMDUzLTIxLjQwOC0xNi4xNTItMjIuMjMxbC02Ny4yMjQtNC45ODdjLTE4LjE2Ny0xLjM0OC0yNS41NDYtMjQuMDU3LTExLjY0MS0zNS44MjZMNzAuMTkgMjY5Ljc0YzguNDk1LTcuMTkgOC40OTUtMjAuMjg5IDAtMjcuNDc5bC01MS40NTQtNDMuNTQ4Yy0xMy45MDYtMTEuNzY5LTYuNTI3LTM0LjQ3OCAxMS42NDEtMzUuODI2bDY3LjIyNC00Ljk4N2MxMS4wOTktLjgyMyAxOC43OTktMTEuNDIxIDE2LjE1Mi0yMi4yMzFsLTE2LjAzLTY1LjQ3NWMtNC4zMzItMTcuNjk1IDE0Ljk4Ni0zMS43MyAzMC40NzUtMjIuMTQybDU3LjMxNyAzNS40NzljOS40NjMgNS44NTggMjEuOTIxIDEuODEgMjYuMTM0LTguNDkybDI1LjUxNi02Mi4zOTNjNi44OTYtMTYuODYxIDMwLjc3NC0xNi44NjEgMzcuNjcgMHpNMzkyIDI1NmMwLTc0Ljk5MS02MS4wMS0xMzYtMTM2LTEzNi03NC45OTEgMC0xMzYgNjEuMDA5LTEzNiAxMzZzNjEuMDA5IDEzNiAxMzYgMTM2Yzc0Ljk5IDAgMTM2LTYxLjAwOSAxMzYtMTM2em0tMzIgMGMwIDU3LjM0Ni00Ni42NTQgMTA0LTEwNCAxMDRzLTEwNC00Ni42NTQtMTA0LTEwNCA0Ni42NTQtMTA0IDEwNC0xMDQgMTA0IDQ2LjY1NCAxMDQgMTA0eiJdLAogICAgICAic3VwZXJzY3JpcHQiOiBbNTEyLCA1MTIsIFtdLCAiZjEyYiIsICJNMzk1LjE5OCAyNTZjMy40NjEtMTAuNTI2IDE4Ljc5Ni0yMS4yOCAzNi4yNjUtMzIuNDI1IDE2LjYyNS0xMC42MDUgMzUuNDY3LTIyLjYyNiA1MC4zNDEtMzguODYyIDE3LjQ1OC0xOS4wNTQgMjUuOTQ0LTQwLjE3NSAyNS45NDQtNjQuNTY3IDAtNjAuNTYyLTUwLjcwMi04OC4xNDYtOTcuODEtODguMTQ2LTQyLjQ5MSAwLTc2LjM3OCAyMi4wMTYtOTQuNDMyIDUwLjQ0Ny00LjY1NCA3LjMyOS0yLjU5MiAxNy4wMzYgNC42MjMgMjEuODY1bDMwLjMyOCAyMC4yOTZjNy4wMzIgNC43MDYgMTYuNDYgMy4wODQgMjEuNjMtMy42MTQgOC4wMjItMTAuMzk0IDE4LjgxOC0xOC4yMjUgMzEuNjY3LTE4LjIyNSAxOS4zODcgMCAyNi4yNjYgMTIuOTAxIDI2LjI2NiAyMy45NDggMCAzNi4xNTktMTE5LjQzNyA1Ny4wMjMtMTE5LjQzNyAxNjAuMDI0IDAgNi42NTQuNTYxIDEzLjAxNCAxLjQxNSAxOS4zMzEgMS4wNzYgNy45NjQgNy44MzQgMTMuOTI4IDE1Ljg3IDEzLjkyOEg0OTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtMzJjMC04LjgzNy03LjE2My0xNi0xNi0xNkgzOTUuMTk4ek0yNzIgNDE2YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtNjIuMzk5YTE2IDE2IDAgMCAxLTEzLjU0MS03LjQ3OGwtNDUuNzAxLTcyLjYxNWMtMi4yOTctMy4zNTItNC40MjItNi45NjktNi4xOTUtMTAuMjA5LTEuNjUgMy4yNDQtMy42NDcgNi45MzctNS44NzQgMTAuNTgybC00NC43MTIgNzIuMTQ3YTE1Ljk5OSAxNS45OTkgMCAwIDEtMTMuNiA3LjU3MkgxNmMtOC44MzcgMC0xNi03LjE2My0xNi0xNnYtMzJjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgyNi4zMjVsNTYuNTUyLTgyLjcwOUw0Ni4xMTEgMjU2SDE2Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2di0zMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDY4LjgwNmExNiAxNiAwIDAgMSAxMy42NDUgNy42NDRsMzkuODgyIDY1LjEyNmMyLjA3MiAzLjUyMyA0LjA1MyA3LjE3MSA1LjcyNyAxMC4zNyAxLjc3Ny0zLjI0NCAzLjkyLTYuOTU0IDYuMjM3LTEwLjUzN2w0MC4zMzItNjUuMDM1YTE2IDE2IDAgMCAxIDEzLjU5OC03LjU2N0gyNzJjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnYzMmMwIDguODM3LTcuMTYzIDE2LTE2IDE2aC0yNy45NzlsLTUyLjY5IDc1LjY3MUwyNDkuOTc0IDQxNkgyNzJ6Il0sCiAgICAgICJzeW5jIjogWzUxMiwgNTEyLCBbXSwgImYwMjEiLCAiTTQ0MC45MzUgMTIuNTc0bDMuOTY2IDgyLjc2NkMzOTkuNDE2IDQxLjkwNCAzMzEuNjc0IDggMjU2IDggMTM0LjgxMyA4IDMzLjkzMyA5NC45MjQgMTIuMjk2IDIwOS44MjQgMTAuOTA4IDIxNy4xOTMgMTYuNjA0IDIyNCAyNC4xMDMgMjI0aDQ5LjA4NGM1LjU3IDAgMTAuMzc3LTMuODQyIDExLjY3Ni05LjI1OUMxMDMuNDA3IDEzNy40MDggMTcyLjkzMSA4MCAyNTYgODBjNjAuODkzIDAgMTE0LjUxMiAzMC44NTYgMTQ2LjEwNCA3Ny44MDFsLTEwMS41My00Ljg2NWMtNi44NDUtLjMyOC0xMi41NzQgNS4xMzMtMTIuNTc0IDExLjk4NnY0Ny40MTFjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgyMDAuMzMzYzYuNjI3IDAgMTItNS4zNzMgMTItMTJWMTJjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDcuNDExYy02Ljg1MyAwLTEyLjMxNSA1LjcyOS0xMS45ODcgMTIuNTc0ek0yNTYgNDMyYy02MC44OTUgMC0xMTQuNTE3LTMwLjg1OC0xNDYuMTA5LTc3LjgwNWwxMDEuODY4IDQuODcxYzYuODQ1LjMyNyAxMi41NzMtNS4xMzQgMTIuNTczLTExLjk4NnYtNDcuNDEyYzAtNi42MjctNS4zNzMtMTItMTItMTJIMTJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJWNTAwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDcuMzg1YzYuODYzIDAgMTIuMzI4LTUuNzQ1IDExLjk4NS0xMi41OTlsLTQuMTI5LTgyLjU3NUMxMTIuNzI1IDQ3MC4xNjYgMTgwLjQwNSA1MDQgMjU2IDUwNGMxMjEuMTg3IDAgMjIyLjA2Ny04Ni45MjQgMjQzLjcwNC0yMDEuODI0IDEuMzg4LTcuMzY5LTQuMzA4LTE0LjE3Ni0xMS44MDctMTQuMTc2aC00OS4wODRjLTUuNTcgMC0xMC4zNzcgMy44NDItMTEuNjc2IDkuMjU5QzQwOC41OTMgMzc0LjU5MiAzMzkuMDY5IDQzMiAyNTYgNDMyeiJdLAogICAgICAic3luYy1hbHQiOiBbNTEyLCA1MTIsIFtdLCAiZjJmMSIsICJNMzcwLjcyIDEzMy4yOEMzMzkuNDU4IDEwNC4wMDggMjk4Ljg4OCA4Ny45NjIgMjU1Ljg0OCA4OGMtNzcuNDU4LjA2OC0xNDQuMzI4IDUzLjE3OC0xNjIuNzkxIDEyNi44NS0xLjM0NCA1LjM2My02LjEyMiA5LjE1LTExLjY1MSA5LjE1SDI0LjEwM2MtNy40OTggMC0xMy4xOTQtNi44MDctMTEuODA3LTE0LjE3NkMzMy45MzMgOTQuOTI0IDEzNC44MTMgOCAyNTYgOGM2Ni40NDggMCAxMjYuNzkxIDI2LjEzNiAxNzEuMzE1IDY4LjY4NUw0NjMuMDMgNDAuOTdDNDc4LjE0OSAyNS44NTEgNTA0IDM2LjU1OSA1MDQgNTcuOTQxVjE5MmMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIMzQ1Ljk0MWMtMjEuMzgyIDAtMzIuMDktMjUuODUxLTE2Ljk3MS00MC45NzFsNDEuNzUtNDEuNzQ5ek0zMiAyOTZoMTM0LjA1OWMyMS4zODIgMCAzMi4wOSAyNS44NTEgMTYuOTcxIDQwLjk3MWwtNDEuNzUgNDEuNzVjMzEuMjYyIDI5LjI3MyA3MS44MzUgNDUuMzE5IDExNC44NzYgNDUuMjggNzcuNDE4LS4wNyAxNDQuMzE1LTUzLjE0NCAxNjIuNzg3LTEyNi44NDkgMS4zNDQtNS4zNjMgNi4xMjItOS4xNSAxMS42NTEtOS4xNWg1Ny4zMDRjNy40OTggMCAxMy4xOTQgNi44MDcgMTEuODA3IDE0LjE3NkM0NzguMDY3IDQxNy4wNzYgMzc3LjE4NyA1MDQgMjU2IDUwNGMtNjYuNDQ4IDAtMTI2Ljc5MS0yNi4xMzYtMTcxLjMxNS02OC42ODVMNDguOTcgNDcxLjAzQzMzLjg1MSA0ODYuMTQ5IDggNDc1LjQ0MSA4IDQ1NC4wNTlWMzIwYzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNHoiXSwKICAgICAgInRhYmxlIjogWzUxMiwgNTEyLCBbXSwgImYwY2UiLCAiTTQ2NCAzMkg0OEMyMS40OSAzMiAwIDUzLjQ5IDAgODB2MzUyYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWODBjMC0yNi41MS0yMS40OS00OC00OC00OHpNMjI0IDQxNkg2NHYtOTZoMTYwdjk2em0wLTE2MEg2NHYtOTZoMTYwdjk2em0yMjQgMTYwSDI4OHYtOTZoMTYwdjk2em0wLTE2MEgyODh2LTk2aDE2MHY5NnoiXSwKICAgICAgInRhYmxlLXRlbm5pcyI6IFs1MTIsIDUxMiwgW10sICJmNDVkIiwgIk00OTYuMiAyOTYuNUM1MjcuNyAyMTguNyA1MTIgMTI2LjIgNDQ5IDYzLjEgMzY1LjEtMjEgMjI5LTIxIDE0NS4xIDYzLjFsLTU2IDU2LjEgMjExLjUgMjExLjVjNDYuMS02Mi4xIDEzMS41LTc3LjQgMTk1LjYtMzQuMnptLTIxNy45IDc5LjdMNTcuOSAxNTUuOWMtMjcuMyA0NS4zLTIxLjcgMTA1IDE3LjMgMTQ0LjFsMzQuNSAzNC42TDYuNyA0MjRjLTguNiA3LjUtOS4xIDIwLjctMSAyOC44bDUzLjQgNTMuNWM4IDguMSAyMS4yIDcuNiAyOC43LTFMMTc3LjEgNDAybDM1LjcgMzUuN2MxOS43IDE5LjcgNDQuNiAzMC41IDcwLjMgMzMuMy03LjEtMTctMTEtMzUuNi0xMS01NS4xLS4xLTEzLjggMi41LTI3IDYuMi0zOS43ek00MTYgMzIwYy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2IDk2LTQzIDk2LTk2LTQzLTk2LTk2LTk2eiJdLAogICAgICAidGFibGV0IjogWzQ0OCwgNTEyLCBbXSwgImYxMGEiLCAiTTQwMCAwSDQ4QzIxLjUgMCAwIDIxLjUgMCA0OHY0MTZjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0yMjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnoiXSwKICAgICAgInRhYmxldC1hbHQiOiBbNDQ4LCA1MTIsIFtdLCAiZjNmYSIsICJNNDAwIDBINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWNDhjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTIyNCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyem0xNzYtMTA4YzAgNi42LTUuNCAxMi0xMiAxMkg2MGMtNi42IDAtMTItNS40LTEyLTEyVjYwYzAtNi42IDUuNC0xMiAxMi0xMmgzMjhjNi42IDAgMTIgNS40IDEyIDEydjMxMnoiXSwKICAgICAgInRhY2hvbWV0ZXItYWx0IjogWzU3NiwgNTEyLCBbXSwgImYzZmQiLCAiTTc1LjY5NCA0ODBhNDguMDIgNDguMDIgMCAwIDEtNDIuNDQ4LTI1LjU3MUMxMi4wMjMgNDE0LjMgMCAzNjguNTU2IDAgMzIwIDAgMTYwLjk0MiAxMjguOTQyIDMyIDI4OCAzMnMyODggMTI4Ljk0MiAyODggMjg4YzAgNDguNTU2LTEyLjAyMyA5NC4zLTMzLjI0NiAxMzQuNDI5QTQ4LjAxOCA0OC4wMTggMCAwIDEgNTAwLjMwNiA0ODBINzUuNjk0ek01MTIgMjg4Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzIgMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMmMwLTE3LjY3My0xNC4zMjctMzItMzItMzJ6TTI4OCAxMjhjMTcuNjczIDAgMzItMTQuMzI3IDMyLTMyIDAtMTcuNjczLTE0LjMyNy0zMi0zMi0zMnMtMzIgMTQuMzI3LTMyIDMyYzAgMTcuNjczIDE0LjMyNyAzMiAzMiAzMnpNNjQgMjg4Yy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzIgMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMmMwLTE3LjY3My0xNC4zMjctMzItMzItMzJ6bTY1LjYwOC0xNTguMzkyYy0xNy42NzMgMC0zMiAxNC4zMjctMzIgMzIgMCAxNy42NzMgMTQuMzI3IDMyIDMyIDMyczMyLTE0LjMyNyAzMi0zMmMwLTE3LjY3My0xNC4zMjctMzItMzItMzJ6bTMxNi43ODQgMGMtMTcuNjczIDAtMzIgMTQuMzI3LTMyIDMyIDAgMTcuNjczIDE0LjMyNyAzMiAzMiAzMnMzMi0xNC4zMjcgMzItMzJjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMyem0tODcuMDc4IDMxLjUzNGMtMTIuNjI3LTQuMDQtMjYuMTMzIDIuOTItMzAuMTczIDE1LjU0NGwtNDUuOTIzIDE0My41MTFDMjUwLjEwOCAzMjIuNjQ1IDIyNCAzNTAuMjY0IDIyNCAzODRjMCAzNS4zNDYgMjguNjU0IDY0IDY0IDY0IDM1LjM0NiAwIDY0LTI4LjY1NCA2NC02NCAwLTE5Ljc3My04Ljk3MS0zNy40NDctMjMuMDYxLTQ5LjE4N2w0NS45MTktMTQzLjQ5OGM0LjAzOS0xMi42MjUtMi45Mi0yNi4xMzMtMTUuNTQ0LTMwLjE3M3oiXSwKICAgICAgInRhZyI6IFs1MTIsIDUxMiwgW10sICJmMDJiIiwgIk0wIDI1Mi4xMThWNDhDMCAyMS40OSAyMS40OSAwIDQ4IDBoMjA0LjExOGE0OCA0OCAwIDAgMSAzMy45NDEgMTQuMDU5bDIxMS44ODIgMjExLjg4MmMxOC43NDUgMTguNzQ1IDE4Ljc0NSA0OS4xMzcgMCA2Ny44ODJMMjkzLjgyMyA0OTcuOTQxYy0xOC43NDUgMTguNzQ1LTQ5LjEzNyAxOC43NDUtNjcuODgyIDBMMTQuMDU5IDI4Ni4wNTlBNDggNDggMCAwIDEgMCAyNTIuMTE4ek0xMTIgNjRjLTI2LjUxIDAtNDggMjEuNDktNDggNDhzMjEuNDkgNDggNDggNDggNDgtMjEuNDkgNDgtNDgtMjEuNDktNDgtNDgtNDh6Il0sCiAgICAgICJ0YWdzIjogWzY0MCwgNTEyLCBbXSwgImYwMmMiLCAiTTQ5Ny45NDEgMjI1Ljk0MUwyODYuMDU5IDE0LjA1OUE0OCA0OCAwIDAgMCAyNTIuMTE4IDBINDhDMjEuNDkgMCAwIDIxLjQ5IDAgNDh2MjA0LjExOGE0OCA0OCAwIDAgMCAxNC4wNTkgMzMuOTQxbDIxMS44ODIgMjExLjg4MmMxOC43NDQgMTguNzQ1IDQ5LjEzNiAxOC43NDYgNjcuODgyIDBsMjA0LjExOC0yMDQuMTE4YzE4Ljc0NS0xOC43NDUgMTguNzQ1LTQ5LjEzNyAwLTY3Ljg4MnpNMTEyIDE2MGMtMjYuNTEgMC00OC0yMS40OS00OC00OHMyMS40OS00OCA0OC00OCA0OCAyMS40OSA0OCA0OC0yMS40OSA0OC00OCA0OHptNTEzLjk0MSAxMzMuODIzTDQyMS44MjMgNDk3Ljk0MWMtMTguNzQ1IDE4Ljc0NS00OS4xMzcgMTguNzQ1LTY3Ljg4MiAwbC0uMzYtLjM2TDUyNy42NCAzMjMuNTIyYzE2Ljk5OS0xNi45OTkgMjYuMzYtMzkuNiAyNi4zNi02My42NHMtOS4zNjItNDYuNjQxLTI2LjM2LTYzLjY0TDMzMS4zOTcgMGg0OC43MjFhNDggNDggMCAwIDEgMzMuOTQxIDE0LjA1OWwyMTEuODgyIDIxMS44ODJjMTguNzQ1IDE4Ljc0NSAxOC43NDUgNDkuMTM3IDAgNjcuODgyeiJdLAogICAgICAidGFza3MiOiBbNTEyLCA1MTIsIFtdLCAiZjBhZSIsICJNMjA4IDEzMmgyODhjOC44IDAgMTYtNy4yIDE2LTE2Vjc2YzAtOC44LTcuMi0xNi0xNi0xNkgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnY0MGMwIDguOCA3LjIgMTYgMTYgMTZ6bTAgMTYwaDI4OGM4LjggMCAxNi03LjIgMTYtMTZ2LTQwYzAtOC44LTcuMi0xNi0xNi0xNkgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnY0MGMwIDguOCA3LjIgMTYgMTYgMTZ6bTAgMTYwaDI4OGM4LjggMCAxNi03LjIgMTYtMTZ2LTQwYzAtOC44LTcuMi0xNi0xNi0xNkgyMDhjLTguOCAwLTE2IDcuMi0xNiAxNnY0MGMwIDguOCA3LjIgMTYgMTYgMTZ6TTY0IDM2OGMtMjYuNSAwLTQ4LjYgMjEuNS00OC42IDQ4czIyLjEgNDggNDguNiA0OCA0OC0yMS41IDQ4LTQ4LTIxLjUtNDgtNDgtNDh6bTkyLjUtMjk5bC03Mi4yIDcyLjItMTUuNiAxNS42Yy00LjcgNC43LTEyLjkgNC43LTE3LjYgMEwzLjUgMTA5LjRjLTQuNy00LjctNC43LTEyLjMgMC0xN2wxNS43LTE1LjdjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDIyLjcgMjIuMSA2My43LTYzLjNjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDE3IDE2LjVjNC42IDQuNyA0LjYgMTIuMy0uMSAxN3ptMCAxNTkuNmwtNzIuMiA3Mi4yLTE1LjcgMTUuN2MtNC43IDQuNy0xMi45IDQuNy0xNy42IDBMMy41IDI2OWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDE1LjctMTUuN2M0LjctNC43IDEyLjMtNC43IDE3IDBsMjIuNyAyMi4xIDYzLjctNjMuN2M0LjctNC43IDEyLjMtNC43IDE3IDBsMTcgMTdjNC42IDQuNiA0LjYgMTIuMi0uMSAxNi45eiJdLAogICAgICAidGF4aSI6IFs1MTIsIDUxMiwgW10sICJmMWJhIiwgIk00NjEuOTUxIDI0My44NjVsLTIxLjgxNi04Ny4yNjhBNzkuODg1IDc5Ljg4NSAwIDAgMCAzNjIuNTIyIDk2SDM1MlY1NmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMTg0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2NDBoLTEwLjUyMmE3OS44ODUgNzkuODg1IDAgMCAwLTc3LjYxMiA2MC41OTdMNTAuMDUgMjQzLjg2NUMyNS41MTUgMjUyLjgyMyA4IDI3Ni4zNjYgOCAzMDR2NDhjMCAyMC4yMDcgOS4zNzQgMzguMjE0IDI0IDQ5Ljk0M1Y0NTZjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDQ4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtNDBoMjU2djQwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg0OGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTU0LjA1N2MxNC42MjYtMTEuNzI5IDI0LTI5LjczNyAyNC00OS45NDN2LTQ4YzAtMjcuNjM0LTE3LjUxNS01MS4xNzctNDIuMDQ5LTYwLjEzNXpNMTQ5LjQ3OCAxNjBoMjEzLjA0NWExNS45NzUgMTUuOTc1IDAgMCAxIDE1LjUyMiAxMi4xMmwxNi45NyA2Ny44OGgtMjc4LjAzbDE2Ljk3LTY3Ljg4MUExNS45NzYgMTUuOTc2IDAgMCAxIDE0OS40NzggMTYwek0xMzIgMzM2YzAgMTkuODgyLTE2LjExOCAzNi0zNiAzNnMtMzYtMTYuMTE4LTM2LTM2IDE2LjExOC0zNiAzNi0zNiAzNiAxNi4xMTggMzYgMzZ6bTMyMCAwYzAgMTkuODgyLTE2LjExOCAzNi0zNiAzNnMtMzYtMTYuMTE4LTM2LTM2IDE2LjExOC0zNiAzNi0zNiAzNiAxNi4xMTggMzYgMzZ6Il0sCiAgICAgICJ0ZXJtaW5hbCI6IFs2NDAsIDUxMiwgW10sICJmMTIwIiwgIk0yNTcuOTgxIDI3Mi45NzFMNjMuNjM4IDQ2Ny4zMTRjLTkuMzczIDkuMzczLTI0LjU2OSA5LjM3My0zMy45NDEgMEw3LjAyOSA0NDQuNjQ3Yy05LjM1Ny05LjM1Ny05LjM3NS0yNC41MjItLjA0LTMzLjkwMUwxNjEuMDExIDI1NiA2Ljk5IDEwMS4yNTVjLTkuMzM1LTkuMzc5LTkuMzE3LTI0LjU0NC4wNC0zMy45MDFsMjIuNjY3LTIyLjY2N2M5LjM3My05LjM3MyAyNC41NjktOS4zNzMgMzMuOTQxIDBMMjU3Ljk4MSAyMzkuMDNjOS4zNzMgOS4zNzIgOS4zNzMgMjQuNTY4IDAgMzMuOTQxek02NDAgNDU2di0zMmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMzEyYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MzJjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDMwNGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR6Il0sCiAgICAgICJ0ZXh0LWhlaWdodCI6IFs1NzYsIDUxMiwgW10sICJmMDM0IiwgIk0xNiAzMmgyODhjOC44MzcgMCAxNiA3LjE2MyAxNiAxNnY5NmMwIDguODM3LTcuMTYzIDE2LTE2IDE2aC0zNS40OTZjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZWOTZoLTU0Ljc2MXYzMjBIMjMyYzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNkg4OGMtOC44MzcgMC0xNi03LjE2My0xNi0xNnYtMzJjMC04LjgzNyA3LjE2My0xNiAxNi0xNmgzNC4yNTdWOTZINjcuNDk2djQ4YzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMTZjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZWNDhjMC04LjgzNyA3LjE2My0xNiAxNi0xNnptNDc1LjMwOCA0LjY4NWw3OS45OTUgODAuMDAxQzU4MS4zMDkgMTI2LjY5MyA1NzQuMjk3IDE0NCA1NTkuOTkgMTQ0SDUxMnYyMjRoNDhjMTUuNjM5IDAgMjAuNjM1IDE3Ljk5MSAxMS4zMTMgMjcuMzE0bC03OS45OTUgODAuMDAxYy02LjI0NyA2LjI0Ny0xNi4zODEgNi4yNDUtMjIuNjI2IDBsLTc5Ljk5NS04MC4wMDFDMzc4LjY5MSAzODUuMzA3IDM4NS43MDMgMzY4IDQwMC4wMSAzNjhINDQ4VjE0NGgtNDhjLTE1LjYzOSAwLTIwLjYzNS0xNy45OTEtMTEuMzEzLTI3LjMxNGw3OS45OTUtODAuMDAxYzYuMjQ3LTYuMjQ4IDE2LjM4MS02LjI0NSAyMi42MjYgMHoiXSwKICAgICAgInRleHQtd2lkdGgiOiBbNDQ4LCA1MTIsIFtdLCAiZjAzNSIsICJNMTYgMzJoNDE2YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2OTZjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtMzUuNDk2Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2Vjk2SDI2MS43NDN2MTI4SDI5NmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMTUyYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2di0zMmMwLTguODM3IDcuMTYzLTE2IDE2LTE2aDM0LjI1N1Y5Nkg2Ny40OTZ2NDhjMCA4LjgzNy03LjE2MyAxNi0xNiAxNkgxNmMtOC44MzcgMC0xNi03LjE2My0xNi0xNlY0OGMwLTguODM3IDcuMTYzLTE2IDE2LTE2em00MjcuMzE1IDM0MC42ODJsLTgwLjAwMS03OS45OTVDMzUzLjk5MSAyODMuMzY1IDMzNiAyODguMzYyIDMzNiAzMDR2NDhIMTEydi00Ny45OWMwLTE0LjMwNy0xNy4zMDctMjEuMzE5LTI3LjMxNC0xMS4zMTNMNC42ODUgMzcyLjY5MmMtNi4yNDUgNi4yNDUtNi4yNDcgMTYuMzc5IDAgMjIuNjI2bDgwLjAwMSA3OS45OTVDOTQuMDA5IDQ4NC42MzUgMTEyIDQ3OS42MzggMTEyIDQ2NHYtNDhoMjI0djQ3Ljk5YzAgMTQuMzA3IDE3LjMwNyAyMS4zMTkgMjcuMzE0IDExLjMxM2w4MC4wMDEtNzkuOTk1YzYuMjQ1LTYuMjQ1IDYuMjQ4LTE2LjM3OSAwLTIyLjYyNnoiXSwKICAgICAgInRoIjogWzUxMiwgNTEyLCBbXSwgImYwMGEiLCAiTTE0OS4zMzMgNTZ2ODBjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDI0Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWNTZjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDEwMS4zMzNjMTMuMjU1IDAgMjQgMTAuNzQ1IDI0IDI0em0xODEuMzM0IDI0MHYtODBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDIwNS4zMzNjLTEzLjI1NSAwLTI0IDEwLjc0NS0yNCAyNHY4MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTAxLjMzM2MxMy4yNTYgMCAyNC4wMDEtMTAuNzQ1IDI0LjAwMS0yNHptMzItMjQwdjgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNEg0ODhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjU2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgzODYuNjY3Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR6bS0zMiA4MFY1NmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMjA1LjMzM2MtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDEuMzMzYzEzLjI1NiAwIDI0LjAwMS0xMC43NDUgMjQuMDAxLTI0em0tMjA1LjMzNCA1NkgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDEuMzMzYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtODBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0ek0wIDM3NnY4MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTAxLjMzM2MxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyNGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0em0zODYuNjY3LTU2SDQ4OGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgzODYuNjY3Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2ODBjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0em0wIDE2MEg0ODhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di04MGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMzg2LjY2N2MtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNHpNMTgxLjMzMyAzNzZ2ODBjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEwMS4zMzNjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di04MGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMjA1LjMzM2MtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0eiJdLAogICAgICAidGgtbGFyZ2UiOiBbNTEyLCA1MTIsIFtdLCAiZjAwOSIsICJNMjk2IDMyaDE5MmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MTYwYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgyOTZjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFY1NmMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjR6bS04MCAwSDI0QzEwLjc0NSAzMiAwIDQyLjc0NSAwIDU2djE2MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTkyYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY1NmMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjR6TTAgMjk2djE2MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMTkyYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYyOTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR6bTI5NiAxODRoMTkyYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYyOTZjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI5NmMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE2MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjR6Il0sCiAgICAgICJ0aC1saXN0IjogWzUxMiwgNTEyLCBbXSwgImYwMGIiLCAiTTE0OS4zMzMgMjE2djgwYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgyNGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0di04MGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMTAxLjMzM2MxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR6TTAgMzc2djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMDEuMzMzYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNHYtODBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR6TTEyNS4zMzMgMzJIMjRDMTAuNzQ1IDMyIDAgNDIuNzQ1IDAgNTZ2ODBjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEwMS4zMzNjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjU2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHptODAgNDQ4SDQ4OGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTgwYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyMDUuMzMzYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2ODBjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0em0tMjQtNDI0djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNEg0ODhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjU2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyMDUuMzMzYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR6bTI0IDI2NEg0ODhjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0di04MGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMjA1LjMzM2MtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djgwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNHoiXSwKICAgICAgInRoZXJtb21ldGVyLWVtcHR5IjogWzI1NiwgNTEyLCBbXSwgImYyY2IiLCAiTTE5MiAzODRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjRjMC0zNS4zNDYgMjguNjU0LTY0IDY0LTY0czY0IDI4LjY1NCA2NCA2NHptMzItODQuNjUzYzE5LjkxMiAyMi41NjMgMzIgNTIuMTk0IDMyIDg0LjY1MyAwIDcwLjY5Ni01Ny4zMDMgMTI4LTEyOCAxMjgtLjI5OSAwLS42MDktLjAwMS0uOTA5LS4wMDNDNTYuNzg5IDUxMS41MDktLjM1NyA0NTMuNjM2LjAwMiAzODMuMzMzLjE2NiAzNTEuMTM1IDEyLjIyNSAzMjEuNzU1IDMyIDI5OS4zNDdWOTZjMC01My4wMTkgNDIuOTgxLTk2IDk2LTk2czk2IDQyLjk4MSA5NiA5NnYyMDMuMzQ3ek0yMDggMzg0YzAtMzQuMzM5LTE5LjM3LTUyLjE5LTMyLTY2LjUwMlY5NmMwLTI2LjQ2Ny0yMS41MzMtNDgtNDgtNDhTODAgNjkuNTMzIDgwIDk2djIyMS40OThjLTEyLjczMiAxNC40MjgtMzEuODI1IDMyLjEtMzEuOTk5IDY2LjA4LS4yMjQgNDMuODc2IDM1LjU2MyA4MC4xMTYgNzkuNDIzIDgwLjQyTDEyOCA0NjRjNDQuMTEyIDAgODAtMzUuODg4IDgwLTgweiJdLAogICAgICAidGhlcm1vbWV0ZXItZnVsbCI6IFsyNTYsIDUxMiwgW10sICJmMmM3IiwgIk0yMjQgOTZjMC01My4wMTktNDIuOTgxLTk2LTk2LTk2UzMyIDQyLjk4MSAzMiA5NnYyMDMuMzQ3QzEyLjIyNSAzMjEuNzU2LjE2NiAzNTEuMTM2LjAwMiAzODMuMzMzYy0uMzU5IDcwLjMwMyA1Ni43ODcgMTI4LjE3NiAxMjcuMDg5IDEyOC42NjQuMjk5LjAwMi42MS4wMDMuOTA5LjAwMyA3MC42OTggMCAxMjgtNTcuMzA0IDEyOC0xMjggMC0zMi40NTktMTIuMDg4LTYyLjA5LTMyLTg0LjY1M1Y5NnptLTk2IDM2OGwtLjU3Ni0uMDAyYy00My44Ni0uMzA0LTc5LjY0Ny0zNi41NDQtNzkuNDIzLTgwLjQyLjE3My0zMy45OCAxOS4yNjYtNTEuNjUyIDMxLjk5OS02Ni4wOFY5NmMwLTI2LjQ2NyAyMS41MzMtNDggNDgtNDhzNDggMjEuNTMzIDQ4IDQ4djIyMS40OThjMTIuNjMgMTQuMzEyIDMyIDMyLjE2NCAzMiA2Ni41MDIgMCA0NC4xMTItMzUuODg4IDgwLTgwIDgwem02NC04MGMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjRzLTY0LTI4LjY1NC02NC02NGMwLTIzLjY4NSAxMi44NzYtNDQuMzQ5IDMyLTU1LjQxN1Y5NmMwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJzMzIgMTQuMzI3IDMyIDMydjIzMi41ODNjMTkuMTI0IDExLjA2OCAzMiAzMS43MzIgMzIgNTUuNDE3eiJdLAogICAgICAidGhlcm1vbWV0ZXItaGFsZiI6IFsyNTYsIDUxMiwgW10sICJmMmM5IiwgIk0xOTIgMzg0YzAgMzUuMzQ2LTI4LjY1NCA2NC02NCA2NHMtNjQtMjguNjU0LTY0LTY0YzAtMjMuNjg1IDEyLjg3Ni00NC4zNDkgMzItNTUuNDE3VjIyNGMwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJzMzIgMTQuMzI3IDMyIDMydjEwNC41ODNjMTkuMTI0IDExLjA2OCAzMiAzMS43MzIgMzIgNTUuNDE3em0zMi04NC42NTNjMTkuOTEyIDIyLjU2MyAzMiA1Mi4xOTQgMzIgODQuNjUzIDAgNzAuNjk2LTU3LjMwMyAxMjgtMTI4IDEyOC0uMjk5IDAtLjYwOS0uMDAxLS45MDktLjAwM0M1Ni43ODkgNTExLjUwOS0uMzU3IDQ1My42MzYuMDAyIDM4My4zMzMuMTY2IDM1MS4xMzUgMTIuMjI1IDMyMS43NTUgMzIgMjk5LjM0N1Y5NmMwLTUzLjAxOSA0Mi45ODEtOTYgOTYtOTZzOTYgNDIuOTgxIDk2IDk2djIwMy4zNDd6TTIwOCAzODRjMC0zNC4zMzktMTkuMzctNTIuMTktMzItNjYuNTAyVjk2YzAtMjYuNDY3LTIxLjUzMy00OC00OC00OFM4MCA2OS41MzMgODAgOTZ2MjIxLjQ5OGMtMTIuNzMyIDE0LjQyOC0zMS44MjUgMzIuMS0zMS45OTkgNjYuMDgtLjIyNCA0My44NzYgMzUuNTYzIDgwLjExNiA3OS40MjMgODAuNDJMMTI4IDQ2NGM0NC4xMTIgMCA4MC0zNS44ODggODAtODB6Il0sCiAgICAgICJ0aGVybW9tZXRlci1xdWFydGVyIjogWzI1NiwgNTEyLCBbXSwgImYyY2EiLCAiTTE5MiAzODRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0cy02NC0yOC42NTQtNjQtNjRjMC0yMy42ODUgMTIuODc2LTQ0LjM0OSAzMi01NS40MTdWMjg4YzAtMTcuNjczIDE0LjMyNy0zMiAzMi0zMnMzMiAxNC4zMjcgMzIgMzJ2NDAuNTgzYzE5LjEyNCAxMS4wNjggMzIgMzEuNzMyIDMyIDU1LjQxN3ptMzItODQuNjUzYzE5LjkxMiAyMi41NjMgMzIgNTIuMTk0IDMyIDg0LjY1MyAwIDcwLjY5Ni01Ny4zMDMgMTI4LTEyOCAxMjgtLjI5OSAwLS42MDktLjAwMS0uOTA5LS4wMDNDNTYuNzg5IDUxMS41MDktLjM1NyA0NTMuNjM2LjAwMiAzODMuMzMzLjE2NiAzNTEuMTM1IDEyLjIyNSAzMjEuNzU1IDMyIDI5OS4zNDdWOTZjMC01My4wMTkgNDIuOTgxLTk2IDk2LTk2czk2IDQyLjk4MSA5NiA5NnYyMDMuMzQ3ek0yMDggMzg0YzAtMzQuMzM5LTE5LjM3LTUyLjE5LTMyLTY2LjUwMlY5NmMwLTI2LjQ2Ny0yMS41MzMtNDgtNDgtNDhTODAgNjkuNTMzIDgwIDk2djIyMS40OThjLTEyLjczMiAxNC40MjgtMzEuODI1IDMyLjEtMzEuOTk5IDY2LjA4LS4yMjQgNDMuODc2IDM1LjU2MyA4MC4xMTYgNzkuNDIzIDgwLjQyTDEyOCA0NjRjNDQuMTEyIDAgODAtMzUuODg4IDgwLTgweiJdLAogICAgICAidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMiOiBbMjU2LCA1MTIsIFtdLCAiZjJjOCIsICJNMTkyIDM4NGMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjQtMzUuMzQ2IDAtNjQtMjguNjU0LTY0LTY0IDAtMjMuNjg1IDEyLjg3Ni00NC4zNDkgMzItNTUuNDE3VjE2MGMwLTE3LjY3MyAxNC4zMjctMzIgMzItMzJzMzIgMTQuMzI3IDMyIDMydjE2OC41ODNjMTkuMTI0IDExLjA2OCAzMiAzMS43MzIgMzIgNTUuNDE3em0zMi04NC42NTNjMTkuOTEyIDIyLjU2MyAzMiA1Mi4xOTQgMzIgODQuNjUzIDAgNzAuNjk2LTU3LjMwMyAxMjgtMTI4IDEyOC0uMjk5IDAtLjYwOS0uMDAxLS45MDktLjAwM0M1Ni43ODkgNTExLjUwOS0uMzU3IDQ1My42MzYuMDAyIDM4My4zMzMuMTY2IDM1MS4xMzUgMTIuMjI1IDMyMS43NTUgMzIgMjk5LjM0N1Y5NmMwLTUzLjAxOSA0Mi45ODEtOTYgOTYtOTZzOTYgNDIuOTgxIDk2IDk2djIwMy4zNDd6TTIwOCAzODRjMC0zNC4zMzktMTkuMzctNTIuMTktMzItNjYuNTAyVjk2YzAtMjYuNDY3LTIxLjUzMy00OC00OC00OFM4MCA2OS41MzMgODAgOTZ2MjIxLjQ5OGMtMTIuNzMyIDE0LjQyOC0zMS44MjUgMzIuMS0zMS45OTkgNjYuMDgtLjIyNCA0My44NzYgMzUuNTYzIDgwLjExNiA3OS40MjMgODAuNDJMMTI4IDQ2NGM0NC4xMTIgMCA4MC0zNS44ODggODAtODB6Il0sCiAgICAgICJ0aHVtYnMtZG93biI6IFs1MTIsIDUxMiwgW10sICJmMTY1IiwgIk0wIDU2djI0MGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoODBjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjU2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNEgyNEMxMC43NDUgMzIgMCA0Mi43NDUgMCA1NnptNDAgMjAwYzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNHMyNCAxMC43NDUgMjQgMjQtMTAuNzQ1IDI0LTI0IDI0LTI0LTEwLjc0NS0yNC0yNHptMjcyIDI1NmMtMjAuMTgzIDAtMjkuNDg1LTM5LjI5My0zMy45MzEtNTcuNzk1LTUuMjA2LTIxLjY2Ni0xMC41ODktNDQuMDctMjUuMzkzLTU4LjkwMi0zMi40NjktMzIuNTI0LTQ5LjUwMy03My45NjctODkuMTE3LTExMy4xMTFhMTEuOTggMTEuOTggMCAwIDEtMy41NTgtOC41MjFWNTkuOTAxYzAtNi41NDEgNS4yNDMtMTEuODc4IDExLjc4My0xMS45OTggMTUuODMxLS4yOSAzNi42OTQtOS4wNzkgNTIuNjUxLTE2LjE3OEMyNTYuMTg5IDE3LjU5OCAyOTUuNzA5LjAxNyAzNDMuOTk1IDBoMi44NDRjNDIuNzc3IDAgOTMuMzYzLjQxMyAxMTMuNzc0IDI5LjczNyA4LjM5MiAxMi4wNTcgMTAuNDQ2IDI3LjAzNCA2LjE0OCA0NC42MzIgMTYuMzEyIDE3LjA1MyAyNS4wNjMgNDguODYzIDE2LjM4MiA3NC43NTcgMTcuNTQ0IDIzLjQzMiAxOS4xNDMgNTYuMTMyIDkuMzA4IDc5LjQ2OWwuMTEuMTFjMTEuODkzIDExLjk0OSAxOS41MjMgMzEuMjU5IDE5LjQzOSA0OS4xOTctLjE1NiAzMC4zNTItMjYuMTU3IDU4LjA5OC01OS41NTMgNTguMDk4SDM1MC43MjNDMzU4LjAzIDM2NC4zNCAzODQgMzg4LjEzMiAzODQgNDMwLjU0OCAzODQgNTA0IDMzNiA1MTIgMzEyIDUxMnoiXSwKICAgICAgInRodW1icy11cCI6IFs1MTIsIDUxMiwgW10sICJmMTY0IiwgIk0xMDQgMjI0SDI0Yy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MjQwYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg4MGMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjRWMjQ4YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHpNNjQgNDcyYy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRzMTAuNzQ1LTI0IDI0LTI0IDI0IDEwLjc0NSAyNCAyNC0xMC43NDUgMjQtMjQgMjR6TTM4NCA4MS40NTJjMCA0Mi40MTYtMjUuOTcgNjYuMjA4LTMzLjI3NyA5NC41NDhoMTAxLjcyM2MzMy4zOTcgMCA1OS4zOTcgMjcuNzQ2IDU5LjU1MyA1OC4wOTguMDg0IDE3LjkzOC03LjU0NiAzNy4yNDktMTkuNDM5IDQ5LjE5N2wtLjExLjExYzkuODM2IDIzLjMzNyA4LjIzNyA1Ni4wMzctOS4zMDggNzkuNDY5IDguNjgxIDI1Ljg5NS0uMDY5IDU3LjcwNC0xNi4zODIgNzQuNzU3IDQuMjk4IDE3LjU5OCAyLjI0NCAzMi41NzUtNi4xNDggNDQuNjMyQzQ0MC4yMDIgNTExLjU4NyAzODkuNjE2IDUxMiAzNDYuODM5IDUxMmwtMi44NDUtLjAwMWMtNDguMjg3LS4wMTctODcuODA2LTE3LjU5OC0xMTkuNTYtMzEuNzI1LTE1Ljk1Ny03LjA5OS0zNi44MjEtMTUuODg3LTUyLjY1MS0xNi4xNzgtNi41NC0uMTItMTEuNzgzLTUuNDU3LTExLjc4My0xMS45OTh2LTIxMy43N2MwLTMuMiAxLjI4Mi02LjI3MSAzLjU1OC04LjUyMSAzOS42MTQtMzkuMTQ0IDU2LjY0OC04MC41ODcgODkuMTE3LTExMy4xMTEgMTQuODA0LTE0LjgzMiAyMC4xODgtMzcuMjM2IDI1LjM5My01OC45MDJDMjgyLjUxNSAzOS4yOTMgMjkxLjgxNyAwIDMxMiAwYzI0IDAgNzIgOCA3MiA4MS40NTJ6Il0sCiAgICAgICJ0aHVtYnRhY2siOiBbMzg0LCA1MTIsIFtdLCAiZjA4ZCIsICJNMjk4LjAyOCAyMTQuMjY3TDI4NS43OTMgOTZIMzI4YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYyNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRINTZDNDIuNzQ1IDAgMzIgMTAuNzQ1IDMyIDI0djQ4YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg0Mi4yMDdMODUuOTcyIDIxNC4yNjdDMzcuNDY1IDIzNi44MiAwIDI3Ny4yNjEgMCAzMjhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEzNnYxMDQuMDA3YzAgMS4yNDIuMjg5IDIuNDY3Ljg0NSAzLjU3OGwyNCA0OGMyLjk0MSA1Ljg4MiAxMS4zNjQgNS44OTMgMTQuMzExIDBsMjQtNDhhOC4wMDggOC4wMDggMCAwIDAgLjg0NS0zLjU3OFYzNTJoMTM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNC0uMDAxLTUxLjE4My0zNy45ODMtOTEuNDItODUuOTczLTExMy43MzN6Il0sCiAgICAgICJ0aWNrZXQtYWx0IjogWzU3NiwgNTEyLCBbXSwgImYzZmYiLCAiTTEyOCAxNjBoMzIwdjE5MkgxMjhWMTYwem00MDAgOTZjMCAyNi41MSAyMS40OSA0OCA0OCA0OHY5NmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4di05NmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4cy0yMS40OS00OC00OC00OHYtOTZjMC0yNi41MSAyMS40OS00OCA0OC00OGg0ODBjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHY5NmMtMjYuNTEgMC00OCAyMS40OS00OCA0OHptLTQ4LTEwNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRIMTIwYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MjA4YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE1MnoiXSwKICAgICAgInRpbWVzIjogWzM4NCwgNTEyLCBbXSwgImYwMGQiLCAiTTMyMy4xIDQ0MWw1My45LTUzLjljOS40LTkuNCA5LjQtMjQuNSAwLTMzLjlMMjc5LjggMjU2bDk3LjItOTcuMmM5LjQtOS40IDkuNC0yNC41IDAtMzMuOUwzMjMuMSA3MWMtOS40LTkuNC0yNC41LTkuNC0zMy45IDBMMTkyIDE2OC4yIDk0LjggNzFjLTkuNC05LjQtMjQuNS05LjQtMzMuOSAwTDcgMTI0LjljLTkuNCA5LjQtOS40IDI0LjUgMCAzMy45bDk3LjIgOTcuMkw3IDM1My4yYy05LjQgOS40LTkuNCAyNC41IDAgMzMuOUw2MC45IDQ0MWM5LjQgOS40IDI0LjUgOS40IDMzLjkgMGw5Ny4yLTk3LjIgOTcuMiA5Ny4yYzkuMyA5LjMgMjQuNSA5LjMgMzMuOSAweiJdLAogICAgICAidGltZXMtY2lyY2xlIjogWzUxMiwgNTEyLCBbXSwgImYwNTciLCAiTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Il0sCiAgICAgICJ0aW50IjogWzM4NCwgNTEyLCBbXSwgImYwNDMiLCAiTTE5MiA1MTJjLTk4LjQzNSAwLTE3OC4wODctNzkuNjUyLTE3OC4wODctMTc4LjA4NyAwLTExMS4xOTYgMTAxLjE5NC0xNTQuMDY1IDE0OC41MjItMzExLjgyNSA5LjEwNC0zMC4xMTYgNTEuMDk5LTI4Ljc3OCA1OS4xMyAwIDQ3LjU0NiAxNTguNDg2IDE0OC41MjIgMjAwLjA2OSAxNDguNTIyIDMxMS44MjVDMzcwLjA4NyA0MzIuMzQ4IDI5MC40MzUgNTEyIDE5MiA1MTJ6bS00Mi41MjItMTcxLjgyNmMtMS41MDktNS41MzMtOS40NDctNS41MzItMTAuOTU2IDAtOS4yMjMgMjkuNDI1LTI3LjkxMyAzNy42NDUtMjcuOTEzIDU4LjQzNUMxMTAuNjA5IDQxNy4xMyAxMjUuNDc4IDQzMiAxNDQgNDMyczMzLjM5MS0xNC44NyAzMy4zOTEtMzMuMzkxYzAtMjAuODM5LTE4LjY3My0yOC45NTYtMjcuOTEzLTU4LjQzNXoiXSwKICAgICAgInRvZ2dsZS1vZmYiOiBbNTc2LCA1MTIsIFtdLCAiZjIwNCIsICJNMzg0IDY0SDE5MkM4NS45NjEgNjQgMCAxNDkuOTYxIDAgMjU2czg1Ljk2MSAxOTIgMTkyIDE5MmgxOTJjMTA2LjAzOSAwIDE5Mi04NS45NjEgMTkyLTE5MlM0OTAuMDM5IDY0IDM4NCA2NHpNNjQgMjU2YzAtNzAuNzQxIDU3LjI0OS0xMjggMTI4LTEyOCA3MC43NDEgMCAxMjggNTcuMjQ5IDEyOCAxMjggMCA3MC43NDEtNTcuMjQ5IDEyOC0xMjggMTI4LTcwLjc0MSAwLTEyOC01Ny4yNDktMTI4LTEyOHptMzIwIDEyOGgtNDguOTA1YzY1LjIxNy03Mi44NTggNjUuMjM2LTE4My4xMiAwLTI1NkgzODRjNzAuNzQxIDAgMTI4IDU3LjI0OSAxMjggMTI4IDAgNzAuNzQtNTcuMjQ5IDEyOC0xMjggMTI4eiJdLAogICAgICAidG9nZ2xlLW9uIjogWzU3NiwgNTEyLCBbXSwgImYyMDUiLCAiTTU3NiAyNTZjMCAxMDYuMDM5LTg1Ljk2MSAxOTItMTkyIDE5MkgxOTJDODUuOTYxIDQ0OCAwIDM2Mi4wMzkgMCAyNTZTODUuOTYxIDY0IDE5MiA2NGgxOTJjMTA2LjAzOSAwIDE5MiA4NS45NjEgMTkyIDE5MnpNMzg0IDEyOGMtNzAuNzQxIDAtMTI4IDU3LjI0OS0xMjggMTI4IDAgNzAuNzQxIDU3LjI0OSAxMjggMTI4IDEyOCA3MC43NDEgMCAxMjgtNTcuMjQ5IDEyOC0xMjggMC03MC43NDEtNTcuMjQ5LTEyOC0xMjgtMTI4Il0sCiAgICAgICJ0cmFkZW1hcmsiOiBbNjQwLCA1MTIsIFtdLCAiZjI1YyIsICJNOTcuMTE5IDE2My4xMzNIMTJjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJWMTA4YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjQ4LjU1OWM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjQzLjEzM2MwIDYuNjI3LTUuMzczIDEyLTEyIDEySDE3NS40NFY0MDRjMCA2LjYyNy01LjM3MyAxMi0xMiAxMmgtNTQuMzIyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEyVjE2My4xMzN6TTMyOS44MjUgOTZoNjUuNDI1YTEyIDEyIDAgMCAxIDExLjM0NiA4LjA5M2w0My43NTkgMTI3LjA2OGM3LjE2MSAyMC41ODggMTYuMTExIDUyLjgxMiAxNi4xMTEgNTIuODEyaC44OTZzOC45NS0zMi4yMjQgMTYuMTExLTUyLjgxMmw0My43NTgtMTI3LjA2OEExMiAxMiAwIDAgMSA1MzguNTc3IDk2aDY1LjQxYTEyIDEyIDAgMCAxIDExLjk2MSAxMS4wM2wyNC4wMTIgMjk2Yy41NjcgNi45ODctNC45NTEgMTIuOTctMTEuOTYxIDEyLjk3aC01NC4xMDFhMTIgMTIgMCAwIDEtMTEuOTcyLTExLjE4MmwtOS4wODItMTMyLjkzYy0xLjc5LTI0LjE2OCAwLTUzLjcwNiAwLTUzLjcwNmgtLjg5NnMtMTAuNzQxIDMzLjU2Ni0xNy45MDIgNTMuNzA2bC0zMC43IDg0LjczMWExMiAxMiAwIDAgMS0xMS4yODIgNy45MTJoLTUwLjMwMmExMiAxMiAwIDAgMS0xMS4yODItNy45MTJsLTMwLjctODQuNzMxYy03LjE2MS0yMC4xNC0xNy45MDMtNTMuNzA2LTE3LjkwMy01My43MDZoLS44OTVzMS43OSAyOS41MzggMCA1My43MDZsLTkuMDgyIDEzMi45M2MtLjQyOCA2LjI5NS01LjY2IDExLjE4Mi0xMS45NyAxMS4xODJIMzA1LjRjLTcuMDE3IDAtMTIuNTM2LTUuOTk0LTExLjk1OS0xMi45ODdsMjQuNDI1LTI5NkExMS45OTkgMTEuOTk5IDAgMCAxIDMyOS44MjUgOTZ6Il0sCiAgICAgICJ0cmFpbiI6IFs0NDgsIDUxMiwgW10sICJmMjM4IiwgIk00NDggOTZ2MjU2YzAgNTEuODE1LTYxLjYyNCA5Ni0xMzAuMDIyIDk2bDYyLjk4IDQ5LjcyMUMzODYuOTA1IDUwMi40MTcgMzgzLjU2MiA1MTIgMzc2IDUxMkg3MmMtNy41NzggMC0xMC44OTItOS41OTQtNC45NTctMTQuMjc5TDEzMC4wMjIgNDQ4QzYxLjgyIDQ0OCAwIDQwMy45NTQgMCAzNTJWOTZDMCA0Mi45ODEgNjQgMCAxMjggMGgxOTJjNjUgMCAxMjggNDIuOTgxIDEyOCA5NnptLTQ4IDEzNlYxMjBjMC0xMy4yNTUtMTAuNzQ1LTI0LTI0LTI0SDcyYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjR2MTEyYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMDRjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0em0tMTc2IDY0Yy0zMC45MjggMC01NiAyNS4wNzItNTYgNTZzMjUuMDcyIDU2IDU2IDU2IDU2LTI1LjA3MiA1Ni01Ni0yNS4wNzItNTYtNTYtNTZ6Il0sCiAgICAgICJ0cmFuc2dlbmRlciI6IFszODQsIDUxMiwgW10sICJmMjI0IiwgIk0zNzIgMGgtNzljLTEwLjcgMC0xNiAxMi45LTguNSAyMC41bDE2LjkgMTYuOS04MC43IDgwLjdDMTk4LjUgMTA0LjEgMTcyLjIgOTYgMTQ0IDk2IDY0LjUgOTYgMCAxNjAuNSAwIDI0MGMwIDY4LjUgNDcuOSAxMjUuOSAxMTIgMTQwLjRWNDA4SDc2Yy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDM2djI4YzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTI4aDM2YzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC0zNnYtMjcuNmM2NC4xLTE0LjYgMTEyLTcxLjkgMTEyLTE0MC40IDAtMjguMi04LjEtNTQuNS0yMi4xLTc2LjdsODAuNy04MC43IDE2LjkgMTYuOWM3LjYgNy42IDIwLjUgMi4yIDIwLjUtOC41VjEyYzAtNi42LTUuNC0xMi0xMi0xMnpNMTQ0IDMyMGMtNDQuMSAwLTgwLTM1LjktODAtODBzMzUuOS04MCA4MC04MCA4MCAzNS45IDgwIDgwLTM1LjkgODAtODAgODB6Il0sCiAgICAgICJ0cmFuc2dlbmRlci1hbHQiOiBbNDgwLCA1MTIsIFtdLCAiZjIyNSIsICJNNDY4IDBoLTc5Yy0xMC43IDAtMTYgMTIuOS04LjUgMjAuNWwxNi45IDE2LjktODAuNyA4MC43QzI5NC41IDEwNC4xIDI2OC4yIDk2IDI0MCA5NmMtMjguMiAwLTU0LjUgOC4xLTc2LjcgMjIuMWwtMTYuNS0xNi41IDE5LjgtMTkuOGM0LjctNC43IDQuNy0xMi4zIDAtMTdsLTI4LjMtMjguM2MtNC43LTQuNy0xMi4zLTQuNy0xNyAwbC0xOS44IDE5LjgtMTktMTkgMTYuOS0xNi45QzEwNy4xIDEyLjkgMTAxLjcgMCA5MSAwSDEyQzUuNCAwIDAgNS40IDAgMTJ2NzljMCAxMC43IDEyLjkgMTYgMjAuNSA4LjVsMTYuOS0xNi45IDE5IDE5LTE5LjggMTkuOGMtNC43IDQuNy00LjcgMTIuMyAwIDE3bDI4LjMgMjguM2M0LjcgNC43IDEyLjMgNC43IDE3IDBsMTkuOC0xOS44IDE2LjUgMTYuNUMxMDQuMSAxODUuNSA5NiAyMTEuOCA5NiAyNDBjMCA2OC41IDQ3LjkgMTI1LjkgMTEyIDE0MC40VjQwOGgtMzZjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoMzZ2MjhjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtMjhoMzZjNi42IDAgMTItNS40IDEyLTEydi00MGMwLTYuNi01LjQtMTItMTItMTJoLTM2di0yNy42YzY0LjEtMTQuNiAxMTItNzEuOSAxMTItMTQwLjQgMC0yOC4yLTguMS01NC41LTIyLjEtNzYuN2w4MC43LTgwLjcgMTYuOSAxNi45YzcuNiA3LjYgMjAuNSAyLjIgMjAuNS04LjVWMTJjMC02LjYtNS40LTEyLTEyLTEyek0yNDAgMzIwYy00NC4xIDAtODAtMzUuOS04MC04MHMzNS45LTgwIDgwLTgwIDgwIDM1LjkgODAgODAtMzUuOSA4MC04MCA4MHoiXSwKICAgICAgInRyYXNoIjogWzQ0OCwgNTEyLCBbXSwgImYxZjgiLCAiTTAgODRWNTZjMC0xMy4zIDEwLjctMjQgMjQtMjRoMTEybDkuNC0xOC43YzQtOC4yIDEyLjMtMTMuMyAyMS40LTEzLjNoMTE0LjNjOS4xIDAgMTcuNCA1LjEgMjEuNSAxMy4zTDMxMiAzMmgxMTJjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MjhjMCA2LjYtNS40IDEyLTEyIDEySDEyQzUuNCA5NiAwIDkwLjYgMCA4NHptNDE1LjIgNTYuN0wzOTQuOCA0NjdjLTEuNiAyNS4zLTIyLjYgNDUtNDcuOSA0NUgxMDEuMWMtMjUuMyAwLTQ2LjMtMTkuNy00Ny45LTQ1TDMyLjggMTQwLjdjLS40LTYuOSA1LjEtMTIuNyAxMi0xMi43aDM1OC41YzYuOCAwIDEyLjMgNS44IDExLjkgMTIuN3oiXSwKICAgICAgInRyYXNoLWFsdCI6IFs0NDgsIDUxMiwgW10sICJmMmVkIiwgIk0wIDg0VjU2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDExMmw5LjQtMTguN2M0LTguMiAxMi4zLTEzLjMgMjEuNC0xMy4zaDExNC4zYzkuMSAwIDE3LjQgNS4xIDIxLjUgMTMuM0wzMTIgMzJoMTEyYzEzLjMgMCAyNCAxMC43IDI0IDI0djI4YzAgNi42LTUuNCAxMi0xMiAxMkgxMkM1LjQgOTYgMCA5MC42IDAgODR6bTQxNiA1NnYzMjRjMCAyNi41LTIxLjUgNDgtNDggNDhIODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4VjE0MGMwLTYuNiA1LjQtMTIgMTItMTJoMzYwYzYuNiAwIDEyIDUuNCAxMiAxMnptLTI3MiA2OGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnYyMjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNlYyMDh6bTk2IDBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZ2MjI0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZWMjA4em05NiAwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2djIyNGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2VjIwOHoiXSwKICAgICAgInRyZWUiOiBbMzg0LCA1MTIsIFtdLCAiZjFiYiIsICJNMzc3LjMzIDM3NS40MjlMMjkzLjkwNiAyODhIMzI4YzIxLjAxNyAwIDMxLjg3Mi0yNS4yMDcgMTcuNDQ4LTQwLjQ3OUwyNjIuNzkgMTYwSDI5NmMyMC44NzggMCAzMS44NTEtMjQuOTY5IDE3LjU4Ny00MC4zMzFsLTEwNC0xMTIuMDAzYy05LjQ4NS0xMC4yMTQtMjUuNjc2LTEwLjIyOS0zNS4xNzQgMGwtMTA0IDExMi4wMDNDNTYuMjA2IDEzNC45NjkgNjcuMDM3IDE2MCA4OCAxNjBoMzMuMjFsLTgyLjY1OSA4Ny41MjFDMjQuMTIxIDI2Mi44MDEgMzQuOTkzIDI4OCA1NiAyODhoMzQuMDk0TDYuNjY1IDM3NS40MjlDLTcuODY5IDM5MC42NTUgMi45MjUgNDE2IDI0LjAyNSA0MTZIMTQ0YzAgMzIuNzgxLTExLjE4OCA0OS4yNi0zMy45OTUgNjcuNTA2Qzk4LjIyNSA0OTIuOTMgMTA0LjkxNCA1MTIgMTIwIDUxMmgxNDRjMTUuMDg2IDAgMjEuNzc2LTE5LjA2OSA5Ljk5NS0yOC40OTQtMTkuNzY4LTE1LjgxNC0zMy45OTItMzEuNjY1LTMzLjk5NS02Ny40OTZWNDE2aDExOS45N2MyMS4wNSAwIDMxLjkyOS0yNS4zMDkgMTcuMzYtNDAuNTcxeiJdLAogICAgICAidHJvcGh5IjogWzU3NiwgNTEyLCBbXSwgImYwOTEiLCAiTTU1MiA2NEg0NDhWMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRIMTUyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHY0MEgyNEMxMC43IDY0IDAgNzQuNyAwIDg4djU2YzAgMzUuNyAyMi41IDcyLjQgNjEuOSAxMDAuNyAzMS41IDIyLjcgNjkuOCAzNy4xIDExMCA0MS43QzIwMy4zIDMzOC41IDI0MCAzNjAgMjQwIDM2MHY3MmgtNDhjLTM1LjMgMC02NCAyMC43LTY0IDU2djEyYzAgNi42IDUuNCAxMiAxMiAxMmgyOTZjNi42IDAgMTItNS40IDEyLTEydi0xMmMwLTM1LjMtMjguNy01Ni02NC01NmgtNDh2LTcyczM2LjctMjEuNSA2OC4xLTczLjZjNDAuMy00LjYgNzguNi0xOSAxMTAtNDEuNyAzOS4zLTI4LjMgNjEuOS02NSA2MS45LTEwMC43Vjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0ek05OS4zIDE5Mi44Qzc0LjkgMTc1LjIgNjQgMTU1LjYgNjQgMTQ0di0xNmg2NC4yYzEgMzIuNiA1LjggNjEuMiAxMi44IDg2LjItMTUuMS01LjItMjkuMi0xMi40LTQxLjctMjEuNHpNNTEyIDE0NGMwIDE2LjEtMTcuNyAzNi4xLTM1LjMgNDguOC0xMi41IDktMjYuNyAxNi4yLTQxLjggMjEuNCA3LTI1IDExLjgtNTMuNiAxMi44LTg2LjJINTEydjE2eiJdLAogICAgICAidHJ1Y2siOiBbNjQwLCA1MTIsIFtdLCAiZjBkMSIsICJNNTkyIDBIMjcyYy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djQ4aC00NC4xMThhNDggNDggMCAwIDAtMzMuOTQxIDE0LjA1OWwtOTkuODgyIDk5Ljg4MkE0OCA0OCAwIDAgMCAzMiAyNDMuODgyVjM1MmgtOGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE2YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGg0MGMwIDUzLjAxOSA0Mi45ODEgOTYgOTYgOTZzOTYtNDIuOTgxIDk2LTk2aDEyOGMwIDUzLjAxOSA0Mi45ODEgOTYgOTYgOTZzOTYtNDIuOTgxIDk2LTk2aDQwYzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFY0OGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4ek0xNjAgNDY0Yy0yNi40NjcgMC00OC0yMS41MzMtNDgtNDhzMjEuNTMzLTQ4IDQ4LTQ4IDQ4IDIxLjUzMyA0OCA0OC0yMS41MzMgNDgtNDggNDh6bTY0LTIwOEg4MHYtMTIuMTE4TDE3OS44ODIgMTQ0SDIyNHYxMTJ6bTI1NiAyMDhjLTI2LjQ2NyAwLTQ4LTIxLjUzMy00OC00OHMyMS41MzMtNDggNDgtNDggNDggMjEuNTMzIDQ4IDQ4LTIxLjUzMyA0OC00OCA0OHoiXSwKICAgICAgInR0eSI6IFs1MTIsIDUxMiwgW10sICJmMWU0IiwgIk01LjM3IDEwMy44MjJjMTM4LjUzMi0xMzguNTMyIDM2Mi45MzYtMTM4LjMyNiA1MDEuMjYyIDAgNi4wNzggNi4wNzggNy4wNzQgMTUuNDk2IDIuNTgzIDIyLjY4MWwtNDMuMjE0IDY5LjEzOGExOC4zMzIgMTguMzMyIDAgMCAxLTIyLjM1NiA3LjMwNWwtODYuNDIyLTM0LjU2OWExOC4zMzUgMTguMzM1IDAgMCAxLTExLjQzNC0xOC44NDZMMzUxLjc0MSA5MGMtNjIuMTQ1LTIyLjQ1NC0xMzAuNjM2LTIxLjk4Ni0xOTEuNDgzIDBsNS45NTMgNTkuNTMyYTE4LjMzMSAxOC4zMzEgMCAwIDEtMTEuNDM0IDE4Ljg0NmwtODYuNDIzIDM0LjU2OGExOC4zMzQgMTguMzM0IDAgMCAxLTIyLjM1Ni03LjMwNUwyLjc4NyAxMjYuNTAyYTE4LjMzMyAxOC4zMzMgMCAwIDEgMi41ODMtMjIuNjh6TTk2IDMwOHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkg0NGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptLTMzNiA5NnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkg5MmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTk2IDB2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTQwYy02LjYyNyAwLTEyIDUuMzczLTEyIDEydjQwYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnptOTYgMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDBjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2NDBjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg0MGM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6TTk2IDUwMHYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMkg0NGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6bTI4OCAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEySDE0MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDIzMmM2LjYyNyAwIDEyLTUuMzczIDEyLTEyem05NiAwdi00MGMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC00MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDQwYzYuNjI3IDAgMTItNS4zNzMgMTItMTJ6Il0sCiAgICAgICJ0diI6IFs2NDAsIDUxMiwgW10sICJmMjZjIiwgIk01OTIgMEg0OEMyMS41IDAgMCAyMS41IDAgNDh2MzIwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI0NS4xdjMyaC0xNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJoMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyaC0xNjB2LTMySDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OFY0OGMwLTI2LjUtMjEuNS00OC00OC00OHptLTE2IDM1Mkg2NFY2NGg1MTJ2Mjg4eiJdLAogICAgICAidW1icmVsbGEiOiBbNTc2LCA1MTIsIFtdLCAiZjBlOSIsICJNNTU3LjAxMSAyNjcuNjMxYy01MS40MzItNDUuMjE3LTEwNy41NzItNDMuNjk4LTE1OC41NjcgMzAuNzMxLTUuMjk4IDcuODYxLTE0LjkwNiA3LjE2NS0xOS43MzYgMC0yLjQ4My0zLjYyNC0zMi4yMTgtNjAuODA4LTkwLjcwOC02MC44MDgtNDUuNzY2IDAtNzAuNTQyIDMxLjM3OC05MC43MDkgNjAuODA4LTQuODI5IDcuMTY1LTE0LjQzNiA3Ljg2MS0xOS43MzQgMC01MC45MDQtNzQuMjg1LTEwNi42MTMtNzYuNDA2LTE1OC41NjctMzAuNzMxLTEwLjIxIDguMjY0LTIwLjkxMi0xLjEwOS0xOC42OTYtOS40ODFDMzIuMTQ2IDEzNC41NzMgMTU4LjUxNiA2NC42MTIgMjg4LjAwMSA2NC42MTJjMTI4Ljc5MyAwIDI1Ni41NDYgNjkuOTYxIDI4Ny43MDYgMTkzLjUzOCAyLjIwNiA4LjMyMi04LjQyNiAxNy43OTMtMTguNjk2IDkuNDgxek0yNTYgMjYxLjAwMVY0MTZjMCAxNy42NDUtMTQuMzU1IDMyLTMyIDMycy0zMi0xNC4zNTUtMzItMzJjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiAxNC4zMjctMzIgMzJjMCA1Mi45MzUgNDMuMDY1IDk2IDk2IDk2czk2LTQzLjA2NSA5Ni05NlYyNjEuMjg4Yy0yMS44MzYtMTAuODA2LTQ1LjQyNS05LjczNy02NC0uMjg3em02NC0yMTEuMDA3VjMyYzAtMTcuNjczLTE0LjMyNy0zMi0zMi0zMnMtMzIgMTQuMzI3LTMyIDMydjE3Ljk4N2EzNzIuMTA1IDM3Mi4xMDUgMCAwIDEgNjQgLjAwN3oiXSwKICAgICAgInVuZGVybGluZSI6IFs0NDgsIDUxMiwgW10sICJmMGNkIiwgIk0yMjQuMjY0IDM4OC4yNGMtOTEuNjY5IDAtMTU2LjYwMy01MS4xNjUtMTU2LjYwMy0xNTEuMzkyVjY0SDM5LjM3Yy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjE2YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMTM3LjM5YzguODM3IDAgMTYgNy4xNjMgMTYgMTZ2MzJjMCA4LjgzNy03LjE2MyAxNi0xNiAxNmgtMjguODEzdjE3Mi44NDhjMCA1My42OTkgMjguMzE0IDc5LjQ0NCA3Ni4zMTcgNzkuNDQ0IDQ2Ljk2NiAwIDc1Ljc5Ni0yNS40MzQgNzUuNzk2LTc5Ljk2NVY2NGgtMjguMjkxYy04LjgzNyAwLTE2LTcuMTYzLTE2LTE2VjE2YzAtOC44MzcgNy4xNjMtMTYgMTYtMTZoMTM2Ljg2OGM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZoLTI4LjI5MXYxNzIuODQ4YzAgOTkuNDA1LTY0Ljg4MSAxNTEuMzkyLTE1Ni4wODIgMTUxLjM5MnpNMTYgNDQ4aDQxNmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMTZjLTguODM3IDAtMTYtNy4xNjMtMTYtMTZ2LTMyYzAtOC44MzcgNy4xNjMtMTYgMTYtMTZ6Il0sCiAgICAgICJ1bmRvIjogWzUxMiwgNTEyLCBbXSwgImYwZTIiLCAiTTIxMi4zMzMgMjI0LjMzM0gxMmMtNi42MjcgMC0xMi01LjM3My0xMi0xMlYxMkMwIDUuMzczIDUuMzczIDAgMTIgMGg0OGM2LjYyNyAwIDEyIDUuMzczIDEyIDEydjc4LjExMkMxMTcuNzczIDM5LjI3OSAxODQuMjYgNy40NyAyNTguMTc1IDguMDA3YzEzNi45MDYuOTk0IDI0Ni40NDggMTExLjYyMyAyNDYuMTU3IDI0OC41MzJDNTA0LjA0MSAzOTMuMjU4IDM5My4xMiA1MDQgMjU2LjMzMyA1MDRjLTY0LjA4OSAwLTEyMi40OTYtMjQuMzEzLTE2Ni41MS02NC4yMTUtNS4wOTktNC42MjItNS4zMzQtMTIuNTU0LS40NjctMTcuNDJsMzMuOTY3LTMzLjk2N2M0LjQ3NC00LjQ3NCAxMS42NjItNC43MTcgMTYuNDAxLS41MjVDMTcwLjc2IDQxNS4zMzYgMjExLjU4IDQzMiAyNTYuMzMzIDQzMmM5Ny4yNjggMCAxNzYtNzguNzE2IDE3Ni0xNzYgMC05Ny4yNjctNzguNzE2LTE3Ni0xNzYtMTc2LTU4LjQ5NiAwLTExMC4yOCAyOC40NzYtMTQyLjI3NCA3Mi4zMzNoOTguMjc0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2NDhjMCA2LjYyNy01LjM3MyAxMi0xMiAxMnoiXSwKICAgICAgInVuZG8tYWx0IjogWzUxMiwgNTEyLCBbXSwgImYyZWEiLCAiTTI1NS41NDUgOGMtNjYuMjY5LjExOS0xMjYuNDM4IDI2LjIzMy0xNzAuODYgNjguNjg1TDQ4Ljk3MSA0MC45NzFDMzMuODUxIDI1Ljg1MSA4IDM2LjU1OSA4IDU3Ljk0MVYxOTJjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEzNC4wNTljMjEuMzgyIDAgMzIuMDktMjUuODUxIDE2Ljk3MS00MC45NzFsLTQxLjc1LTQxLjc1YzMwLjg2NC0yOC44OTkgNzAuODAxLTQ0LjkwNyAxMTMuMjMtNDUuMjczIDkyLjM5OC0uNzk4IDE3MC4yODMgNzMuOTc3IDE2OS40ODQgMTY5LjQ0MkM0MjMuMjM2IDM0OC4wMDkgMzQ5LjgxNiA0MjQgMjU2IDQyNGMtNDEuMTI3IDAtNzkuOTk3LTE0LjY3OC0xMTAuNjMtNDEuNTU2LTQuNzQzLTQuMTYxLTExLjkwNi0zLjkwOC0xNi4zNjguNTUzTDg5LjM0IDQyMi42NTljLTQuODcyIDQuODcyLTQuNjMxIDEyLjgxNS40ODIgMTcuNDMzQzEzMy43OTggNDc5LjgxMyAxOTIuMDc0IDUwNCAyNTYgNTA0YzEzNi45NjYgMCAyNDcuOTk5LTExMS4wMzMgMjQ4LTI0Ny45OThDNTA0LjAwMSAxMTkuMTkzIDM5Mi4zNTQgNy43NTUgMjU1LjU0NSA4eiJdLAogICAgICAidW5pdmVyc2FsLWFjY2VzcyI6IFs1MTIsIDUxMiwgW10sICJmMjlhIiwgIk0yNTYgNDhjMTE0Ljk1MyAwIDIwOCA5My4wMjkgMjA4IDIwOCAwIDExNC45NTMtOTMuMDI5IDIwOC0yMDggMjA4LTExNC45NTMgMC0yMDgtOTMuMDI5LTIwOC0yMDggMC0xMTQuOTUzIDkzLjAyOS0yMDggMjA4LTIwOG0wLTQwQzExOS4wMzMgOCA4IDExOS4wMzMgOCAyNTZzMTExLjAzMyAyNDggMjQ4IDI0OCAyNDgtMTExLjAzMyAyNDgtMjQ4UzM5Mi45NjcgOCAyNTYgOHptMCA1NkMxNDkuOTYxIDY0IDY0IDE0OS45NjEgNjQgMjU2czg1Ljk2MSAxOTIgMTkyIDE5MiAxOTItODUuOTYxIDE5Mi0xOTJTMzYyLjAzOSA2NCAyNTYgNjR6bTAgNDRjMTkuODgyIDAgMzYgMTYuMTE4IDM2IDM2cy0xNi4xMTggMzYtMzYgMzYtMzYtMTYuMTE4LTM2LTM2IDE2LjExOC0zNiAzNi0zNnptMTE3Ljc0MSA5OC4wMjNjLTI4LjcxMiA2Ljc3OS01NS41MTEgMTIuNzQ4LTgyLjE0IDE1LjgwNy44NTEgMTAxLjAyMyAxMi4zMDYgMTIzLjA1MiAyNS4wMzcgMTU1LjYyMSAzLjYxNyA5LjI2LS45NTcgMTkuNjk4LTEwLjIxNyAyMy4zMTUtOS4yNjEgMy42MTctMTkuNjk5LS45NTctMjMuMzE2LTEwLjIxNy04LjcwNS0yMi4zMDgtMTcuMDg2LTQwLjYzNi0yMi4yNjEtNzguNTQ5aC05LjY4NmMtNS4xNjcgMzcuODUxLTEzLjUzNCA1Ni4yMDgtMjIuMjYyIDc4LjU0OS0zLjYxNSA5LjI1NS0xNC4wNSAxMy44MzYtMjMuMzE1IDEwLjIxNy05LjI2LTMuNjE3LTEzLjgzNC0xNC4wNTYtMTAuMjE3LTIzLjMxNSAxMi43MTMtMzIuNTQxIDI0LjE4NS01NC41NDEgMjUuMDM3LTE1NS42MjEtMjYuNjI5LTMuMDU4LTUzLjQyOC05LjAyNy04Mi4xNDEtMTUuODA3LTguNi0yLjAzMS0xMy45MjYtMTAuNjQ4LTExLjg5NS0xOS4yNDlzMTAuNjQ3LTEzLjkyNiAxOS4yNDktMTEuODk1Yzk2LjY4NiAyMi44MjkgMTI0LjI4MyAyMi43ODMgMjIwLjc3NSAwIDguNTk5LTIuMDMgMTcuMjE4IDMuMjk0IDE5LjI0OSAxMS44OTUgMi4wMjkgOC42MDEtMy4yOTcgMTcuMjE5LTExLjg5NyAxOS4yNDl6Il0sCiAgICAgICJ1bml2ZXJzaXR5IjogWzUxMiwgNTEyLCBbXSwgImYxOWMiLCAiTTQ5NiAxMjh2MTZhOCA4IDAgMCAxLTggOGgtMjR2MTJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg2MGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMTJIMjRhOCA4IDAgMCAxLTgtOHYtMTZhOCA4IDAgMCAxIDQuOTQxLTcuMzkybDIzMi04OGE3Ljk5NiA3Ljk5NiAwIDAgMSA2LjExOCAwbDIzMiA4OEE4IDggMCAwIDEgNDk2IDEyOHptLTI0IDMwNEg0MGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0djE2YTggOCAwIDAgMCA4IDhoNDY0YTggOCAwIDAgMCA4LTh2LTE2YzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHpNOTYgMTkydjE5Mkg2MGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYyMGg0MTZ2LTIwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTM2VjE5MmgtNjR2MTkyaC02NFYxOTJoLTY0djE5MmgtNjRWMTkySDk2eiJdLAogICAgICAidW5saW5rIjogWzUxMiwgNTEyLCBbXSwgImYxMjciLCAiTTMwNC4wODMgNDA1LjkwN2M0LjY4NiA0LjY4NiA0LjY4NiAxMi4yODQgMCAxNi45NzFsLTQ0LjY3NCA0NC42NzRjLTU5LjI2MyA1OS4yNjItMTU1LjY5MyA1OS4yNjYtMjE0Ljk2MSAwLTU5LjI2NC01OS4yNjUtNTkuMjY0LTE1NS42OTYgMC0yMTQuOTZsNDQuNjc1LTQ0LjY3NWM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBsMzkuNTk4IDM5LjU5OGM0LjY4NiA0LjY4NiA0LjY4NiAxMi4yODQgMCAxNi45NzFsLTQ0LjY3NSA0NC42NzRjLTI4LjA3MiAyOC4wNzMtMjguMDcyIDczLjc1IDAgMTAxLjgyMyAyOC4wNzIgMjguMDcyIDczLjc1IDI4LjA3MyAxMDEuODI0IDBsNDQuNjc0LTQ0LjY3NGM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBsMzkuNTk3IDM5LjU5OHptLTU2LjU2OC0yNjAuMjE2YzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45NzEgMGw0NC42NzQtNDQuNjc0YzI4LjA3Mi0yOC4wNzUgNzMuNzUtMjguMDczIDEwMS44MjQgMCAyOC4wNzIgMjguMDczIDI4LjA3MiA3My43NSAwIDEwMS44MjNsLTQ0LjY3NSA0NC42NzRjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwzOS41OTggMzkuNTk4YzQuNjg2IDQuNjg2IDEyLjI4NCA0LjY4NiAxNi45NzEgMGw0NC42NzUtNDQuNjc1YzU5LjI2NS01OS4yNjUgNTkuMjY1LTE1NS42OTUgMC0yMTQuOTYtNTkuMjY2LTU5LjI2NC0xNTUuNjk1LTU5LjI2NC0yMTQuOTYxIDBsLTQ0LjY3NCA0NC42NzRjLTQuNjg2IDQuNjg2LTQuNjg2IDEyLjI4NCAwIDE2Ljk3MWwzOS41OTcgMzkuNTk4em0yMzQuODI4IDM1OS4yOGwyMi42MjctMjIuNjI3YzkuMzczLTkuMzczIDkuMzczLTI0LjU2OSAwLTMzLjk0MUw2My41OTggNy4wMjljLTkuMzczLTkuMzczLTI0LjU2OS05LjM3My0zMy45NDEgMEw3LjAyOSAyOS42NTdjLTkuMzczIDkuMzczLTkuMzczIDI0LjU2OSAwIDMzLjk0MWw0NDEuMzczIDQ0MS4zNzNjOS4zNzMgOS4zNzIgMjQuNTY5IDkuMzcyIDMzLjk0MSAweiJdLAogICAgICAidW5sb2NrIjogWzQ0OCwgNTEyLCBbXSwgImYwOWMiLCAiTTQwMCAyNTZIMTUyVjE1Mi45YzAtMzkuNiAzMS43LTcyLjUgNzEuMy03Mi45IDQwLS40IDcyLjcgMzIuMSA3Mi43IDcydjE2YzAgMTMuMyAxMC43IDI0IDI0IDI0aDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0di0xNkMzNzYgNjggMzA3LjUtLjMgMjIzLjUgMCAxMzkuNS4zIDcyIDY5LjUgNzIgMTUzLjVWMjU2SDQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHYxNjBjMCAyNi41IDIxLjUgNDggNDggNDhoMzUyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjMwNGMwLTI2LjUtMjEuNS00OC00OC00OHoiXSwKICAgICAgInVubG9jay1hbHQiOiBbNDQ4LCA1MTIsIFtdLCAiZjEzZSIsICJNNDAwIDI1NkgxNTJWMTUyLjljMC0zOS42IDMxLjctNzIuNSA3MS4zLTcyLjkgNDAtLjQgNzIuNyAzMi4xIDcyLjcgNzJ2MTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzJjMTMuMyAwIDI0LTEwLjcgMjQtMjR2LTE2QzM3NiA2OCAzMDcuNS0uMyAyMjMuNSAwIDEzOS41LjMgNzIgNjkuNSA3MiAxNTMuNVYyNTZINDhjLTI2LjUgMC00OCAyMS41LTQ4IDQ4djE2MGMwIDI2LjUgMjEuNSA0OCA0OCA0OGgzNTJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMzA0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0yNjQgNDA4YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwdi00OGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwdjQ4eiJdLAogICAgICAidXBsb2FkIjogWzUxMiwgNTEyLCBbXSwgImYwOTMiLCAiTTI5NiAzODRoLTgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYxOTJoLTg3LjdjLTE3LjggMC0yNi43LTIxLjUtMTQuMS0zNC4xTDI0Mi4zIDUuN2M3LjUtNy41IDE5LjgtNy41IDI3LjMgMGwxNTIuMiAxNTIuMmMxMi42IDEyLjYgMy43IDM0LjEtMTQuMSAzNC4xSDMyMHYxNjhjMCAxMy4zLTEwLjcgMjQtMjQgMjR6bTIxNi04djExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDEzNnY4YzAgMzAuOSAyNS4xIDU2IDU2IDU2aDgwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2di04aDEzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHptLTEyNCA4OGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjAgOSAyMCAyMCAyMCAyMC05IDIwLTIwem02NCAwYzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMCA5IDIwIDIwIDIwIDIwLTkgMjAtMjB6Il0sCiAgICAgICJ1c2VyIjogWzUxMiwgNTEyLCBbXSwgImYwMDciLCAiTTI1NiAwYzg4LjM2NiAwIDE2MCA3MS42MzQgMTYwIDE2MHMtNzEuNjM0IDE2MC0xNjAgMTYwUzk2IDI0OC4zNjYgOTYgMTYwIDE2Ny42MzQgMCAyNTYgMHptMTgzLjI4MyAzMzMuODIxbC03MS4zMTMtMTcuODI4Yy03NC45MjMgNTMuODktMTY1LjczOCA0MS44NjQtMjIzLjk0IDBsLTcxLjMxMyAxNy44MjhDMjkuOTgxIDM0NC41MDUgMCAzODIuOTAzIDAgNDI2Ljk1NVY0NjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtMzcuMDQ1YzAtNDQuMDUyLTI5Ljk4MS04Mi40NS03Mi43MTctOTMuMTM0eiJdLAogICAgICAidXNlci1jaXJjbGUiOiBbNTEyLCA1MTIsIFtdLCAiZjJiZCIsICJNOCAyNTZDOCAxMTkuMDMzIDExOS4wMzMgOCAyNTYgOHMyNDggMTExLjAzMyAyNDggMjQ4LTExMS4wMzMgMjQ4LTI0OCAyNDhTOCAzOTIuOTY3IDggMjU2em03Mi40NTUgMTI1Ljg2OEMxMTkuNjU3IDQzNi40NDYgMTgzLjY3MyA0NzIgMjU2IDQ3MnMxMzYuMzQzLTM1LjU1NCAxNzUuNTQ1LTkwLjEzMmMtMy4xNDEtMjYuOTktMjIuNjY3LTQ5LjY0OC00OS41MzgtNTYuMzY2bC0zMi4zNzQtOC4wOTNDMzIzLjU2NSAzMzkuNzkgMjkwLjcyMiAzNTIgMjU2IDM1MnMtNjcuNTY1LTEyLjIxLTkzLjYzNC0zNC41OTFsLTMyLjM3NCA4LjA5M2MtMjYuODcgNi43MTgtNDYuMzk2IDI5LjM3Ni00OS41MzcgNTYuMzY2ek0xNDQgMjA4YzAgNjEuODU2IDUwLjE0NCAxMTIgMTEyIDExMnMxMTItNTAuMTQ0IDExMi0xMTJTMzE3Ljg1NiA5NiAyNTYgOTZzLTExMiA1MC4xNDQtMTEyIDExMnoiXSwKICAgICAgInVzZXItbWQiOiBbNDQ4LCA1MTIsIFtdLCAiZjBmMCIsICJNMjI0IDBjNzcuMzIgMCAxNDAgNjIuNjggMTQwIDE0MHMtNjIuNjggMTQwLTE0MCAxNDBTODQgMjE3LjMyIDg0IDE0MCAxNDYuNjggMCAyMjQgMHpNODAgNDE2YzAgMTcuNjQ1IDE0LjM1NSAzMiAzMiAzMnMzMi0xNC4zNTUgMzItMzItMTQuMzU1LTMyLTMyLTMyLTMyIDE0LjM1NS0zMiAzMnptMjk1LjI4My0xMjYuMTc5TDM1MiAyODR2MzcuNjFjMzYuNDcxIDcuNDMzIDY0IDM5Ljc1NiA2NCA3OC4zOXY1OS4yNzlhMTIgMTIgMCAwIDEtOS42NDYgMTEuNzY3bC0zMS40NDkgNi4yOWMtNi40OTkgMS4zLTEyLjgyMS0yLjkxNS0xNC4xMi05LjQxNGwtMS41NjktNy44NDVjLTEuMy02LjQ5OSAyLjkxNS0xMi44MjEgOS40MTQtMTQuMTJsMTUuMzctMy4wNzRWNDAwYzAtMjYuNzc2LTIyLjAzOS00OC41MDItNDguOTI5LTQ3Ljk5MS0yNi4yNzguNDk5LTQ3LjA3MSAyMi41MTMtNDcuMDcxIDQ4Ljc5N3Y0Mi4wNzhsMTUuMzcxIDMuMDc0YzYuNDk5IDEuMyAxMC43MTMgNy42MjIgOS40MTQgMTQuMTJsLTEuNTY5IDcuODQ1Yy0xLjMgNi40OTktNy42MjIgMTAuNzEzLTE0LjEyIDkuNDE0bC0zMS40NDktNi4yOUExMiAxMiAwIDAgMSAyNTYgNDU5LjI4VjQwMGMwLTM4LjYzNCAyNy41MjktNzAuOTU3IDY0LTc4LjM5di00My43MjhjLTY0LjMzIDQ0Ljk1My0xNDEuNTI3IDM1LjE0MS0xOTIgLjAwNHY3Ni4xNGMyOC40OTUgNy4zNjEgNDkuMzU5IDMzLjkwNiA0Ny45MzEgNjQuOTc3LTEuNTA2IDMyLjc3OC0yOC4wOTcgNTkuMzkyLTYwLjg3NCA2MC45MjZDNzguMzgzIDQ4MS42NDQgNDggNDUyLjMwMyA0OCA0MTZjMC0yOS43NjcgMjAuNDI3LTU0Ljg1MiA0OC02MS45NzVWMjg0bC0yMy4yODMgNS44MjFDMjkuOTgxIDMwMC41MDUgMCAzMzguOTAzIDAgMzgyLjk1NVY0NjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgzNTJjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtODEuMDQ1YzAtNDQuMDUyLTI5Ljk4MS04Mi40NS03Mi43MTctOTMuMTM0eiJdLAogICAgICAidXNlci1wbHVzIjogWzY0MCwgNTEyLCBbXSwgImYyMzQiLCAiTTIyNCAzMmM3Ny4zMiAwIDE0MCA2Mi42OCAxNDAgMTQwcy02Mi42OCAxNDAtMTQwIDE0MFM4NCAyNDkuMzIgODQgMTcyIDE0Ni42OCAzMiAyMjQgMzJ6bTE2MC4zNzMgMjkyLjA5M2wtNjIuMzk5LTE1LjZjLTY1LjU1NyA0Ny4xNTQtMTQ1LjAyMSAzNi42MzEtMTk1Ljk0OCAwbC02Mi4zOTkgMTUuNkMyNi4yMzMgMzMzLjQ0MiAwIDM2Ny4wNCAwIDQwNS41ODVWNDM4YzAgMjMuMTk2IDE4LjgwNCA0MiA0MiA0MmgzNjRjMjMuMTk2IDAgNDItMTguODA0IDQyLTQydi0zMi40MTVjMC0zOC41NDUtMjYuMjMzLTcyLjE0My02My42MjctODEuNDkyek02MjggMjI0Ljg4OWgtNjguODg5VjE1NmMwLTYuNjI3LTUuMzczLTEyLTEyLTEyaC0zOC4yMjJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJsLS4wMDIgNjguODg3LTY4Ljg4Ny4wMDJjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MzguMjIyYzAgNi42MjcgNS4zNzMgMTIgMTIgMTJsNjguODg3LjAwMi4wMDIgNjguODg3YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoMzguMjIyYzYuNjI3IDAgMTItNS4zNzMgMTItMTJsLjAwMi02OC44ODcgNjguODg3LS4wMDJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMzguMjIyYzAtNi42MjctNS4zNzMtMTItMTItMTJ6Il0sCiAgICAgICJ1c2VyLXNlY3JldCI6IFs0NDgsIDUxMiwgW10sICJmMjFiIiwgIk0zODguODI5IDI5NS4zMjRsMjAuOTcyLTU1LjA1MmMyLjk5Mi03Ljg1NC0yLjgwOS0xNi4yNzItMTEuMjE0LTE2LjI3MkgzNDAuMzljNy40NS0xNi4yMzYgMTEuNjEtMzQuMjk3IDExLjYxLTUzLjMzMyAwLTMuNjMxLS4xNi03LjIyNC0uNDU2LTEwLjc3OEMzOTEuMDgzIDE1Mi4wNzQgNDE2IDE0MC42ODQgNDE2IDEyOGMwLTEzLjI2My0yNy4yMzEtMjUuMTEyLTY5Ljk0Ny0zMi45MzctOS4xODUtMzIuODA1LTI3LjE3OC02NS43OTctNDAuNzE0LTgyLjg1LTkuNDUyLTExLjkwOC0yNS44NzMtMTUuNjM0LTM5LjQ3MS04LjgzNGwtMjcuNTU3IDEzLjc3OWEzMS45OTcgMzEuOTk3IDAgMCAxLTI4LjYyMiAwbC0yNy41NTctMTMuNzhjLTEzLjU5OS02Ljc5OS0zMC4wMi0zLjA3NC0zOS40NzEgOC44MzQtMTMuNTM2IDE3LjA1My0zMS41MjkgNTAuMDQ1LTQwLjcxNCA4Mi44NUM1OS4yMzEgMTAyLjg4OCAzMiAxMTQuNzM3IDMyIDEyOGMwIDEyLjY4NCAyNC45MTcgMjQuMDc0IDY0LjQ1NiAzMS44ODlBMTI5LjM2MiAxMjkuMzYyIDAgMCAwIDk2IDE3MC42NjdjMCAxOS4wMzcgNC4xNTkgMzcuMDk4IDExLjYwOCA1My4zMzNoLTU3LjQxYy04LjYxNSAwLTE0LjQyMyA4LjgwOC0xMS4wMjkgMTYuNzI3bDIyLjkwNiA1My40NDdDMjUuNzk5IDMwNy44ODIgMCAzNDIuOTI1IDAgMzg0djgwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMzUyYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTgwYzAtMzkuOTctMjQuNDMtNzQuMjMxLTU5LjE3MS04OC42NzZ6TTE4NCA0ODhsLTQ4LTE5MiA0OCAyNCAyNCA0MC0yNCAxMjh6bTgwIDBsLTI0LTEyOCAyNC00MCA0OC0yNC00OCAxOTJ6bTU0Ljc3OC0zMDMuNzQ2Yy0uMDA4LjA0My00LjI5OSAzLjIzMS01LjEyNSA1Ljc3MS0zLjg2MSAxMS44NjQtNy4wMjYgMjQuNTcyLTE2LjUxNCAzMy4zNTktMTAuMDcxIDkuMzI3LTQ3Ljk1NyAyMi40MDUtNjMuOTk2LTI1LjAyOS0yLjgzNy04LjM5NS0xNS40NDctOC4zOTgtMTguMjg1IDAtMTYuOTYzIDUwLjE2OC01Ni4wMTkgMzIuNDE3LTYzLjk5NiAyNS4wMjktOS40ODgtOC43ODYtMTIuNjUzLTIxLjQ5NS0xNi41MTQtMzMuMzU5LS44MjYtMi41NC01LjExOC01LjcyOC01LjEyNS01Ljc3MS0uNTU0LTIuOTI1LS45ODEtNS44ODQtMS4yMi04Ljg1LS4zMDktMy44NDggMTAuMDc4LTMuNjU4IDExLjA3OC0zLjc0NyAyNi4zMDMtMi4zMjYgNTIuMzAzLS41NzkgNzguMDIzIDUuNDk3IDIuNTYzLjYwNiAxMS41NTMuNTI5IDEzLjc5MyAwIDI1LjcyLTYuMDc2IDUxLjcyLTcuODI0IDc4LjAyMy01LjQ5NyAxLjAwMi4wODkgMTEuMzg3LS4xMDIgMTEuMDc4IDMuNzQ3LS4yMzkgMi45NjYtLjY2NiA1LjkyNS0xLjIyIDguODV6Il0sCiAgICAgICJ1c2VyLXRpbWVzIjogWzY0MCwgNTEyLCBbXSwgImYyMzUiLCAiTTIyNCAzMmM3Ny4zMiAwIDE0MCA2Mi42OCAxNDAgMTQwcy02Mi42OCAxNDAtMTQwIDE0MFM4NCAyNDkuMzIgODQgMTcyIDE0Ni42OCAzMiAyMjQgMzJ6bTE2MC4zNzMgMjkyLjA5M2wtNjIuMzk5LTE1LjZjLTY1LjU1NyA0Ny4xNTQtMTQ1LjAyMSAzNi42MzEtMTk1Ljk0OCAwbC02Mi4zOTkgMTUuNkMyNi4yMzMgMzMzLjQ0MiAwIDM2Ny4wNCAwIDQwNS41ODVWNDM4YzAgMjMuMTk2IDE4LjgwNCA0MiA0MiA0MmgzNjRjMjMuMTk2IDAgNDItMTguODA0IDQyLTQydi0zMi40MTVjMC0zOC41NDUtMjYuMjMzLTcyLjE0My02My42MjctODEuNDkyek01ODcuODk3IDI1Nmw0OC41OTYtNDguNTk4YzQuNjc1LTQuNjc1IDQuNjc1LTEyLjI1NiAwLTE2LjkzMWwtMjYuOTY0LTI2Ljk2NGMtNC42NzUtNC42NzUtMTIuMjU2LTQuNjc1LTE2LjkzMSAwTDU0NCAyMTIuMTA1bC00OC41OTgtNDguNTk4Yy00LjY3NS00LjY3NS0xMi4yNTYtNC42NzUtMTYuOTMxIDBsLTI2Ljk2NCAyNi45NjRjLTQuNjc1IDQuNjc1LTQuNjc1IDEyLjI1NiAwIDE2LjkzMUw1MDAuMTAzIDI1NmwtNDguNTk2IDQ4LjU5OGMtNC42NzUgNC42NzUtNC42NzUgMTIuMjU2IDAgMTYuOTMxbDI2Ljk2NCAyNi45NjRjNC42NzUgNC42NzUgMTIuMjU2IDQuNjc1IDE2LjkzMSAwTDU0NCAyOTkuODk3bDQ4LjU5OCA0OC41OTZjNC42NzUgNC42NzUgMTIuMjU2IDQuNjc1IDE2LjkzMSAwbDI2Ljk2NC0yNi45NjRjNC42NzUtNC42NzUgNC42NzUtMTIuMjU2IDAtMTYuOTMxTDU4Ny44OTcgMjU2eiJdLAogICAgICAidXNlcnMiOiBbNjQwLCA1MTIsIFtdLCAiZjBjMCIsICJNMzIwIDY0YzU3Ljk5IDAgMTA1IDQ3LjAxIDEwNSAxMDVzLTQ3LjAxIDEwNS0xMDUgMTA1LTEwNS00Ny4wMS0xMDUtMTA1UzI2Mi4wMSA2NCAzMjAgNjR6bTExMy40NjMgMjE3LjM2NmwtMzkuOTgyLTkuOTk2Yy00OS4xNjggMzUuMzY1LTEwOC43NjYgMjcuNDczLTE0Ni45NjEgMGwtMzkuOTgyIDkuOTk2QzE3NC40ODUgMjg5LjM3OSAxNTIgMzE4LjE3NyAxNTIgMzUxLjIxNlY0MTJjMCAxOS44ODIgMTYuMTE4IDM2IDM2IDM2aDI2NGMxOS44ODIgMCAzNi0xNi4xMTggMzYtMzZ2LTYwLjc4NGMwLTMzLjAzOS0yMi40ODUtNjEuODM3LTU0LjUzNy02OS44NXpNNTI4IDMwMGMzOC42NiAwIDcwLTMxLjM0IDcwLTcwcy0zMS4zNC03MC03MC03MC03MCAzMS4zNC03MCA3MCAzMS4zNCA3MCA3MCA3MHptLTQxNiAwYzM4LjY2IDAgNzAtMzEuMzQgNzAtNzBzLTMxLjM0LTcwLTcwLTcwLTcwIDMxLjM0LTcwIDcwIDMxLjM0IDcwIDcwIDcwem0yNCAxMTJ2LTYwLjc4NGMwLTE2LjU1MSA0LjU5My0zMi4yMDQgMTIuNzAzLTQ1LjU5OS0yOS45ODggMTQuNzItNjMuMzM2IDguNzA4LTg1LjY5LTcuMzdsLTI2LjY1NSA2LjY2NEMxNC45OSAzMTAuMjUyIDAgMzI5LjQ1MiAwIDM1MS40NzdWMzkyYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMTIuMTY5YTUyLjQxNyA1Mi40MTcgMCAwIDEtLjE2OS00em00NjcuNjQyLTEwNy4wOWwtMjYuNjU1LTYuNjY0Yy0yNy45MjUgMjAuMDg2LTYwLjg5IDE5LjIzMy04NS43ODYgNy4yMThDNDk5LjM2OSAzMTguODkzIDUwNCAzMzQuNjAxIDUwNCAzNTEuMjE2VjQxMmMwIDEuMzQ3LS4wNjggMi42NzgtLjE2OSA0SDYxNmMxMy4yNTUgMCAyNC0xMC43NDUgMjQtMjR2LTQwLjUyM2MwLTIyLjAyNS0xNC45OS00MS4yMjUtMzYuMzU4LTQ2LjU2N3oiXSwKICAgICAgInV0ZW5zaWwtc3Bvb24iOiBbNTEyLCA1MTIsIFtdLCAiZjJlNSIsICJNNDgwLjEgMzEuOWMtNTUtNTUuMS0xNjQuOS0zNC41LTIyNy44IDI4LjUtNDkuMyA0OS4zLTU1LjEgMTEwLTI4LjggMTYwLjRMOSA0MTMuMmMtMTEuNiAxMC41LTEyLjEgMjguNS0xIDM5LjVMNTkuMyA1MDRjMTEgMTEgMjkuMSAxMC41IDM5LjUtMS4xbDE5Mi40LTIxNC40YzUwLjQgMjYuMyAxMTEuMSAyMC41IDE2MC40LTI4LjggNjMtNjIuOSA4My42LTE3Mi44IDI4LjUtMjI3Ljh6Il0sCiAgICAgICJ1dGVuc2lscyI6IFs0MTYsIDUxMiwgW10sICJmMmU3IiwgIk0yMDcuOSAxNS4yYy44IDQuNyAxNi4xIDk0LjUgMTYuMSAxMjguOCAwIDUyLjMtMjcuOCA4OS42LTY4LjkgMTA0LjZMMTY4IDQ4Ni43Yy43IDEzLjctMTAuMiAyNS4zLTI0IDI1LjNIODBjLTEzLjcgMC0yNC43LTExLjUtMjQtMjUuM2wxMi45LTIzOC4xQzI3LjcgMjMzLjYgMCAxOTYuMiAwIDE0NCAwIDEwOS42IDE1LjMgMTkuOSAxNi4xIDE1LjIgMTkuMy01LjEgNjEuNC01LjQgNjQgMTYuM3YxNDEuMmMxLjMgMy40IDE1LjEgMy4yIDE2IDAgMS40LTI1LjMgNy45LTEzOS4yIDgtMTQxLjggMy4zLTIwLjggNDQuNy0yMC44IDQ3LjkgMCAuMiAyLjcgNi42IDExNi41IDggMTQxLjguOSAzLjIgMTQuOCAzLjQgMTYgMFYxNi4zYzIuNi0yMS42IDQ0LjgtMjEuNCA0OC0xLjF6bTExOS4yIDI4NS43bC0xNSAxODUuMWMtMS4yIDE0IDkuOSAyNiAyMy45IDI2aDU2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjI0YzAtMTMuMi0xMC43LTI0LTI0LTI0LTgyLjUgMC0yMjEuNCAxNzguNS02NC45IDMwMC45eiJdLAogICAgICAidmVudXMiOiBbMjg4LCA1MTIsIFtdLCAiZjIyMSIsICJNMjg4IDE3NmMwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFMwIDk2LjUgMCAxNzZjMCA2OC41IDQ3LjkgMTI1LjkgMTEyIDE0MC40VjM2OEg3NmMtNi42IDAtMTIgNS40LTEyIDEydjQwYzAgNi42IDUuNCAxMiAxMiAxMmgzNnYzNmMwIDYuNiA1LjQgMTIgMTIgMTJoNDBjNi42IDAgMTItNS40IDEyLTEydi0zNmgzNmM2LjYgMCAxMi01LjQgMTItMTJ2LTQwYzAtNi42LTUuNC0xMi0xMi0xMmgtMzZ2LTUxLjZjNjQuMS0xNC41IDExMi03MS45IDExMi0xNDAuNHptLTIyNCAwYzAtNDQuMSAzNS45LTgwIDgwLTgwczgwIDM1LjkgODAgODAtMzUuOSA4MC04MCA4MC04MC0zNS45LTgwLTgweiJdLAogICAgICAidmVudXMtZG91YmxlIjogWzUxMiwgNTEyLCBbXSwgImYyMjYiLCAiTTI4OCAxNzZjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCA5Ni41IDAgMTc2YzAgNjguNSA0Ny45IDEyNS45IDExMiAxNDAuNFYzNjhINzZjLTYuNiAwLTEyIDUuNC0xMiAxMnY0MGMwIDYuNiA1LjQgMTIgMTIgMTJoMzZ2MzZjMCA2LjYgNS40IDEyIDEyIDEyaDQwYzYuNiAwIDEyLTUuNCAxMi0xMnYtMzZoMzZjNi42IDAgMTItNS40IDEyLTEydi00MGMwLTYuNi01LjQtMTItMTItMTJoLTM2di01MS42YzY0LjEtMTQuNSAxMTItNzEuOSAxMTItMTQwLjR6bS0yMjQgMGMwLTQ0LjEgMzUuOS04MCA4MC04MHM4MCAzNS45IDgwIDgwLTM1LjkgODAtODAgODAtODAtMzUuOS04MC04MHptMzM2IDE0MC40VjM2OGgzNmM2LjYgMCAxMiA1LjQgMTIgMTJ2NDBjMCA2LjYtNS40IDEyLTEyIDEyaC0zNnYzNmMwIDYuNi01LjQgMTItMTIgMTJoLTQwYy02LjYgMC0xMi01LjQtMTItMTJ2LTM2aC0zNmMtNi42IDAtMTItNS40LTEyLTEydi00MGMwLTYuNiA1LjQtMTIgMTItMTJoMzZ2LTUxLjZjLTIxLjItNC44LTQwLjYtMTQuMy01Ny4yLTI3LjMgMTQtMTYuNyAyNS0zNiAzMi4xLTU3LjEgMTQuNSAxNC44IDM0LjcgMjQgNTcuMSAyNCA0NC4xIDAgODAtMzUuOSA4MC04MHMtMzUuOS04MC04MC04MGMtMjIuMyAwLTQyLjYgOS4yLTU3LjEgMjQtNy4xLTIxLjEtMTgtNDAuNC0zMi4xLTU3LjFDMzAzLjQgNDMuNiAzMzQuMyAzMiAzNjggMzJjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA2OC41LTQ3LjkgMTI1LjktMTEyIDE0MC40eiJdLAogICAgICAidmVudXMtbWFycyI6IFs1NzYsIDUxMiwgW10sICJmMjI4IiwgIk01NjQgMGgtNzljLTEwLjcgMC0xNiAxMi45LTguNSAyMC41bDE2LjkgMTYuOS00OC43IDQ4LjdDNDIyLjUgNzIuMSAzOTYuMiA2NCAzNjggNjRjLTMzLjcgMC02NC42IDExLjYtODkuMiAzMC45IDE0IDE2LjcgMjUgMzYgMzIuMSA1Ny4xIDE0LjUtMTQuOCAzNC43LTI0IDU3LjEtMjQgNDQuMSAwIDgwIDM1LjkgODAgODBzLTM1LjkgODAtODAgODBjLTIyLjMgMC00Mi42LTkuMi01Ny4xLTI0LTcuMSAyMS4xLTE4IDQwLjQtMzIuMSA1Ny4xIDI0LjUgMTkuNCA1NS41IDMwLjkgODkuMiAzMC45IDc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0IDAtMjguMi04LjEtNTQuNS0yMi4xLTc2LjdsNDguNy00OC43IDE2LjkgMTYuOWMyLjQgMi40IDUuNCAzLjUgOC40IDMuNSA2LjIgMCAxMi4xLTQuOCAxMi4xLTEyVjEyYzAtNi42LTUuNC0xMi0xMi0xMnpNMTQ0IDY0QzY0LjUgNjQgMCAxMjguNSAwIDIwOGMwIDY4LjUgNDcuOSAxMjUuOSAxMTIgMTQwLjRWNDAwSDc2Yy02LjYgMC0xMiA1LjQtMTIgMTJ2NDBjMCA2LjYgNS40IDEyIDEyIDEyaDM2djM2YzAgNi42IDUuNCAxMiAxMiAxMmg0MGM2LjYgMCAxMi01LjQgMTItMTJ2LTM2aDM2YzYuNiAwIDEyLTUuNCAxMi0xMnYtNDBjMC02LjYtNS40LTEyLTEyLTEyaC0zNnYtNTEuNmM2NC4xLTE0LjYgMTEyLTcxLjkgMTEyLTE0MC40IDAtNzkuNS02NC41LTE0NC0xNDQtMTQ0em0wIDIyNGMtNDQuMSAwLTgwLTM1LjktODAtODBzMzUuOS04MCA4MC04MCA4MCAzNS45IDgwIDgwLTM1LjkgODAtODAgODB6Il0sCiAgICAgICJ2aWRlbyI6IFs1NzYsIDUxMiwgW10sICJmMDNkIiwgIk01MjggNjRoLTEyLjExOGE0OCA0OCAwIDAgMC0zMy45NDEgMTQuMDU5TDM4NCAxNzZ2LTY0YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgyODhjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtNjRsOTcuOTQxIDk3Ljk0MUE0OCA0OCAwIDAgMCA1MTUuODgyIDQ0OEg1MjhjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHoiXSwKICAgICAgInZvbGxleWJhbGwtYmFsbCI6IFs0OTUsIDUxMiwgW10sICJmNDVmIiwgIk0yMjMuMyAyNDMuNGMtLjktMzctOC42LTcyLjgtMjIuNy0xMDUuNy05MC44IDQyLjQtMTU3LjUgMTIyLjQtMTgwLjMgMjE2LjggMTMuNCAzMC44IDMyLjkgNTguMyA1Ni45IDgxLjEgMjIuNy03OS4yIDc0LjItMTQ3LjggMTQ2LjEtMTkyLjJ6TTE4Ni40IDEwOWMtMTUtMjYuNC0zNC41LTUwLjEtNTcuNC03MC43QzM4IDg4LjEtMTUuOCAxOTEuMiA0IDMwMC41YzMzLjQtODMuMSA5OC40LTE1MiAxODIuNC0xOTEuNXpNMzc0IDI3NC4xYzguNi05OS44LTI3LjMtMTk3LjUtOTcuNS0yNjQuNC0xNC43LTEuNy01MS42LTUuNS05OC45IDguNSA1Ny4zIDU5LjMgOTEgMTM4LjIgOTMuNSAyMjIuNyAzMi41IDE3LjcgNjcuMyAyOSAxMDIuOSAzMy4yem0tMTI0LjcgOS41Yy0zMS42IDE5LjMtNTguNyA0My45LTgwLjIgNzIuNiA4MiA1Ny4zIDE4NC41IDc1LjEgMjc3LjUgNDcuOCAxOS43LTI2LjQgMzQuMi01Ni44IDQyLjItODkuOS0yNi42IDYuNi01My43IDEwLjQtODAuOSAxMC40LTU0LjYtLjEtMTA4LjktMTQuMS0xNTguNi00MC45ek0xNTEgMzgzLjNjLTE1LjIgMjYtMjUuNyA1NC40LTMyLjEgODQuMiAzNy42IDIzIDgxLjcgMzYuNSAxMjkuMSAzNi41IDYxIDAgMTE2LjctMjIuMSAxNTkuOS01OC42QzI5NSA0NjEuNSAyMDQuNiA0MjAuNiAxNTEgMzgzLjN6TTMzMS4zIDIyLjdjNTUuMyA3MC40IDgyLjUgMTYxLjIgNzQuNiAyNTMuNiAzMC4zLjIgNjAuNS00LjggODkuNy0xNC4yIDAtMiAuMy00IC4zLTYgMC0xMDcuOC02OC43LTE5OS4xLTE2NC42LTIzMy40eiJdLAogICAgICAidm9sdW1lLWRvd24iOiBbMzg0LCA1MTIsIFtdLCAiZjAyNyIsICJNMjU2IDg4LjAxN3YzMzUuOTY0YzAgMjEuNDM4LTI1Ljk0MyAzMS45OTgtNDAuOTcxIDE2Ljk3MUwxMjYuMDU5IDM1MkgyNGMtMTMuMjU1IDAtMjQtMTAuNzQ1LTI0LTI0VjE4NGMwLTEzLjI1NSAxMC43NDUtMjQgMjQtMjRoMTAyLjA1OWw4OC45NzEtODguOTU0YzE1LjAxLTE1LjAxIDQwLjk3LTQuNDkgNDAuOTcgMTYuOTcxek0zODQgMjU2YzAtMzMuNzE3LTE3LjE4Ni02NC4zNS00NS45NzItODEuOTQ0LTE1LjA3OS05LjIxNC0zNC43NzUtNC40NjMtNDMuOTkyIDEwLjYxNnMtNC40NjQgMzQuNzc1IDEwLjYxNSA0My45OTJDMzE0LjI2MyAyMzQuNTM4IDMyMCAyNDQuNzU3IDMyMCAyNTZhMzIuMDU2IDMyLjA1NiAwIDAgMS0xMy44MDIgMjYuMzMyYy0xNC41MjQgMTAuMDY5LTE4LjEzNiAzMC4wMDYtOC4wNjcgNDQuNTMgMTAuMDcgMTQuNTI1IDMwLjAwOCAxOC4xMzYgNDQuNTMgOC4wNjdDMzY4LjU0NiAzMTYuOTgzIDM4NCAyODcuNDc4IDM4NCAyNTZ6Il0sCiAgICAgICJ2b2x1bWUtb2ZmIjogWzI1NiwgNTEyLCBbXSwgImYwMjYiLCAiTTI1NiA4OC4wMTd2MzM1Ljk2NGMwIDIxLjQzOC0yNS45NDMgMzEuOTk4LTQwLjk3MSAxNi45NzFMMTI2LjA1OSAzNTJIMjRjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYxODRjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDEwMi4wNTlsODguOTcxLTg4Ljk1NGMxNS4wMS0xNS4wMSA0MC45Ny00LjQ5IDQwLjk3IDE2Ljk3MXoiXSwKICAgICAgInZvbHVtZS11cCI6IFs1NzYsIDUxMiwgW10sICJmMDI4IiwgIk0yNTYgODguMDE3djMzNS45NjRjMCAyMS40MzgtMjUuOTQzIDMxLjk5OC00MC45NzEgMTYuOTcxTDEyNi4wNTkgMzUySDI0Yy0xMy4yNTUgMC0yNC0xMC43NDUtMjQtMjRWMTg0YzAtMTMuMjU1IDEwLjc0NS0yNCAyNC0yNGgxMDIuMDU5bDg4Ljk3MS04OC45NTRjMTUuMDEtMTUuMDEgNDAuOTctNC40OSA0MC45NyAxNi45NzF6bTE4Mi4wNTYtNzcuODc2QzQyMi45ODIuOTIgNDAzLjI4MyA1LjY2OCAzOTQuMDYxIDIwLjc0NWMtOS4yMjEgMTUuMDc3LTQuNDczIDM0Ljc3NCAxMC42MDQgNDMuOTk1QzQ2OC45NjcgMTA0LjA2MyA1MTIgMTc0Ljk4MyA1MTIgMjU2YzAgNzMuNDMxLTM2LjA3NyAxNDIuMjkyLTk2LjUwNyAxODQuMjA2LTE0LjUyMiAxMC4wNzItMTguMTI5IDMwLjAxLTguMDU3IDQ0LjUzMiAxMC4wNzYgMTQuNTI4IDMwLjAxNiAxOC4xMjYgNDQuNTMxIDguMDU3QzUyOS42MzMgNDM4LjkyNyA1NzYgMzUwLjQwNiA1NzYgMjU2YzAtMTAzLjI0NC01NC41NzktMTk0Ljg3Ny0xMzcuOTQ0LTI0NS44NTl6TTQ4MCAyNTZjMC02OC41NDctMzYuMTUtMTI5Ljc3Ny05MS45NTctMTYzLjkwMS0xNS4wNzYtOS4yMi0zNC43NzQtNC40NzEtNDMuOTk0IDEwLjYwNy05LjIyIDE1LjA3OC00LjQ3MSAzNC43NzQgMTAuNjA3IDQzLjk5NEMzOTMuMDY3IDE3MC4xODggNDE2IDIxMS4wNDggNDE2IDI1NmMwIDQxLjk2NC0yMC42MiA4MS4zMTktNTUuMTU4IDEwNS4yNzYtMTQuNTIxIDEwLjA3My0xOC4xMjggMzAuMDEtOC4wNTYgNDQuNTMyIDYuMjE2IDguOTYgMTYuMTg1IDEzLjc2NSAyNi4zMjIgMTMuNzY1YTMxLjg2MiAzMS44NjIgMCAwIDAgMTguMjEtNS43MDlDNDQ5LjA5MSAzNzcuOTUzIDQ4MCAzMTguOTM4IDQ4MCAyNTZ6bS05NiAwYzAtMzMuNzE3LTE3LjE4Ni02NC4zNS00NS45NzItODEuOTQ0LTE1LjA3OS05LjIxNC0zNC43NzUtNC40NjMtNDMuOTkyIDEwLjYxNnMtNC40NjQgMzQuNzc1IDEwLjYxNSA0My45OTJDMzE0LjI2MyAyMzQuNTM4IDMyMCAyNDQuNzU3IDMyMCAyNTZhMzIuMDU2IDMyLjA1NiAwIDAgMS0xMy44MDIgMjYuMzMyYy0xNC41MjQgMTAuMDY5LTE4LjEzNiAzMC4wMDYtOC4wNjcgNDQuNTMgMTAuMDcgMTQuNTI1IDMwLjAwOCAxOC4xMzYgNDQuNTMgOC4wNjdDMzY4LjU0NiAzMTYuOTgzIDM4NCAyODcuNDc4IDM4NCAyNTZ6Il0sCiAgICAgICJ3aGVlbGNoYWlyIjogWzUxMiwgNTEyLCBbXSwgImYxOTMiLCAiTTQ5Ni4xMDEgMzg1LjY2OWwxNC4yMjcgMjguNjYzYzMuOTI5IDcuOTE1LjY5NyAxNy41MTYtNy4yMTggMjEuNDQ1bC02NS40NjUgMzIuODg2Yy0xNi4wNDkgNy45NjctMzUuNTU2IDEuMTk0LTQzLjE4OS0xNS4wNTVMMzMxLjY3OSAzMjBIMTkyYy0xNS45MjUgMC0yOS40MjYtMTEuNzEtMzEuNjc5LTI3LjQ3NUMxMjYuNDMzIDU1LjMwOCAxMjguMzggNzAuMDQ0IDEyOCA2NGMwLTM2LjM1OCAzMC4zMTgtNjUuNjM1IDY3LjA1Mi02My45MjkgMzMuMjcxIDEuNTQ1IDYwLjA0OCAyOC45MDUgNjAuOTI1IDYyLjIwMS44NjggMzIuOTMzLTIzLjE1MiA2MC40MjMtNTQuNjA4IDY1LjAzOWw0LjY3IDMyLjY5SDMzNmM4LjgzNyAwIDE2IDcuMTYzIDE2IDE2djMyYzAgOC44MzctNy4xNjMgMTYtMTYgMTZIMjE1LjE4Mmw0LjU3MiAzMkgzNTJhMzIgMzIgMCAwIDEgMjguOTYyIDE4LjM5Mkw0MzguNDc3IDM5Ni44bDM2LjE3OC0xOC4zNDljNy45MTUtMy45MjkgMTcuNTE3LS42OTcgMjEuNDQ2IDcuMjE4ek0zMTEuMzU4IDM1MmgtMjQuNTA2Yy03Ljc4OCA1NC4yMDQtNTQuNTI4IDk2LTExMC44NTIgOTYtNjEuNzU3IDAtMTEyLTUwLjI0My0xMTItMTEyIDAtNDEuNTA1IDIyLjY5NC03Ny44MDkgNTYuMzI0LTk3LjE1Ni0zLjcxMi0yNS45NjUtNi44NDQtNDcuODYtOS40ODgtNjYuMzMzQzQ1Ljk1NiAxOTguNDY0IDAgMjYxLjk2MyAwIDMzNmMwIDk3LjA0NyA3OC45NTMgMTc2IDE3NiAxNzYgNzEuODcgMCAxMzMuODA2LTQzLjMwOCAxNjEuMTEtMTA1LjE5MkwzMTEuMzU4IDM1MnoiXSwKICAgICAgIndpZmkiOiBbNjQwLCA1MTIsIFtdLCAiZjFlYiIsICJNMzg0IDQxNmMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjRzLTY0LTI4LjY1NC02NC02NGMwLTM1LjM0NiAyOC42NTQtNjQgNjQtNjRzNjQgMjguNjU0IDY0IDY0em0xMzYuNjU5LTEyNC40NDNjNi40NjUtNi40NjUgNi4yNDUtMTcuMDY1LS41NjQtMjMuMTY3LTExMy43OTMtMTAxLjk4NS0yODYuNTI2LTEwMS44NjktNDAwLjE5IDAtNi44MDkgNi4xMDItNy4wMjkgMTYuNzAyLS41NjQgMjMuMTY3bDM0LjAwNiAzNC4wMDZjNS45MjcgNS45MjcgMTUuNDY0IDYuMzIgMjEuNzY5Ljc5NiA4Mi44OC03Mi42MDkgMjA3LjA3NC03Mi40NDcgMjg5Ljc2OCAwIDYuMzA1IDUuNTI0IDE1Ljg0MiA1LjEzMiAyMS43NjktLjc5NmwzNC4wMDYtMzQuMDA2em0xMTIuMTEtMTEzLjcxOGM2LjM4NS02LjM4NSA2LjI1NC0xNi44MTYtLjM1LTIyLjk3My0xNzUuNzY4LTE2My44Ni00NDkuMTM0LTE2My44LTYyNC44MzcgMC02LjYwNCA2LjE1Ny02LjczNSAxNi41ODktLjM1IDIyLjk3M2wzMy45NjYgMzMuOTY2YzYuMDk1IDYuMDk1IDE1Ljg5MSA2LjIzMSAyMi4yMjQuMzgzIDE0NC43NjMtMTMzLjY2OCAzNjguMzU2LTEzMy43MDIgNTEzLjE1NiAwIDYuMzMzIDUuODQ4IDE2LjEyOSA1LjcxMiAyMi4yMjQtLjM4M2wzMy45NjctMzMuOTY2eiJdLAogICAgICAid2luZG93LWNsb3NlIjogWzUxMiwgNTEyLCBbXSwgImY0MTAiLCAiTTQ2NCAzMkg0OEMyMS41IDMyIDAgNTMuNSAwIDgwdjM1MmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWODBjMC0yNi41LTIxLjUtNDgtNDgtNDh6bS04My42IDI5MC41YzQuOCA0LjggNC44IDEyLjYgMCAxNy40bC00MC41IDQwLjVjLTQuOCA0LjgtMTIuNiA0LjgtMTcuNCAwTDI1NiAzMTMuM2wtNjYuNSA2Ny4xYy00LjggNC44LTEyLjYgNC44LTE3LjQgMGwtNDAuNS00MC41Yy00LjgtNC44LTQuOC0xMi42IDAtMTcuNGw2Ny4xLTY2LjUtNjcuMS02Ni41Yy00LjgtNC44LTQuOC0xMi42IDAtMTcuNGw0MC41LTQwLjVjNC44LTQuOCAxMi42LTQuOCAxNy40IDBsNjYuNSA2Ny4xIDY2LjUtNjcuMWM0LjgtNC44IDEyLjYtNC44IDE3LjQgMGw0MC41IDQwLjVjNC44IDQuOCA0LjggMTIuNiAwIDE3LjRMMzEzLjMgMjU2bDY3LjEgNjYuNXoiXSwKICAgICAgIndpbmRvdy1tYXhpbWl6ZSI6IFs1MTIsIDUxMiwgW10sICJmMmQwIiwgIk00NjQgMzJINDhDMjEuNSAzMiAwIDUzLjUgMCA4MHYzNTJjMCAyNi41IDIxLjUgNDggNDggNDhoNDE2YzI2LjUgMCA0OC0yMS41IDQ4LTQ4VjgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4em0tMTYgMTYwSDY0di04NGMwLTYuNiA1LjQtMTIgMTItMTJoMzYwYzYuNiAwIDEyIDUuNCAxMiAxMnY4NHoiXSwKICAgICAgIndpbmRvdy1taW5pbWl6ZSI6IFs1MTIsIDUxMiwgW10sICJmMmQxIiwgIk00NjQgMzUySDQ4Yy0yNi41IDAtNDggMjEuNS00OCA0OHYzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGg0MTZjMjYuNSAwIDQ4LTIxLjUgNDgtNDh2LTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4eiJdLAogICAgICAid2luZG93LXJlc3RvcmUiOiBbNTEyLCA1MTIsIFtdLCAiZjJkMiIsICJNNTEyIDQ4djI4OGMwIDI2LjUtMjEuNSA0OC00OCA0OGgtNDhWMTc2YzAtNDQuMS0zNS45LTgwLTgwLTgwSDEyOFY0OGMwLTI2LjUgMjEuNS00OCA0OC00OGgyODhjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTM4NCAxNzZ2Mjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4SDQ4Yy0yNi41IDAtNDgtMjEuNS00OC00OFYxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhoMjg4YzI2LjUgMCA0OCAyMS41IDQ4IDQ4em0tNjggMjhjMC02LjYtNS40LTEyLTEyLTEySDc2Yy02LjYgMC0xMiA1LjQtMTIgMTJ2NTJoMjUydi01MnoiXSwKICAgICAgIndvbi1zaWduIjogWzU3NiwgNTEyLCBbXSwgImYxNTkiLCAiTTU2NCAxOTJjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtNDBjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNDguMDI4bDE4LjU3Mi04MC42MWMxLjczMi03LjUxOC0zLjk3OC0xNC42OTQtMTEuNjkzLTE0LjY5NGgtNDYuMTA3YTExLjk5OCAxMS45OTggMCAwIDAtMTEuNzM2IDkuNUw0NTAuNzMgMTI4SDM0MC44MzlsLTE5LjcyNS04NS45ODdhMTIgMTIgMCAwIDAtMTEuNjk2LTkuMzE3SDI2NS40M2ExMiAxMiAwIDAgMC0xMS42ODcgOS4yNzdMMjMzLjY5NiAxMjhIMTI0Ljk3NUwxMDcuNSA0Mi4yOTlhMTIgMTIgMCAwIDAtMTEuNzU4LTkuNjAySDUzLjYyOGMtNy42ODYgMC0xMy4zOSA3LjEyNC0xMS43MDkgMTQuNjI0TDYwIDEyOEgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDYyLjM0Mmw3LjE3MSAzMkgxMmMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnY0MGMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDgzLjg1Nmw0MC45MjcgMTgyLjYyNEExMiAxMiAwIDAgMCAxNDguNDkyIDQ4MGg1Ni43NjdjNS41ODMgMCAxMC40MjgtMy44NSAxMS42ODktOS4yODhMMjU5LjMzNSAyODhoNTUuMDg2bDQyLjM4NiAxODIuNzEyQTEyIDEyIDAgMCAwIDM2OC40OTYgNDgwaDU2LjgyNmExMiAxMiAwIDAgMCAxMS42OTQtOS4zMDZMNDc5LjEwOCAyODhINTY0YzYuNjI3IDAgMTItNS4zNzMgMTItMTJ2LTQwYzAtNi42MjctNS4zNzMtMTItMTItMTJoLTcwLjE0Nmw3LjM3My0zMkg1NjR6bS00MjUuOTc2IDBoODAuNzU3bC03LjQ1NyAzMmgtNjYuNzc2bC02LjUyNC0zMnptNDUuNzk2IDE1MC4wMjljLTYuMTk0IDI1LjgzMS02Ljc1OCA0Ny4yNS03LjMyMSA0Ny4yNWgtMS4xMjZzLTEuNjg5LTIyLjA1LTYuNzU4LTQ3LjI1TDE1Ny41OTkgMjg4aDM4LjgxMmwtMTIuNTkxIDU0LjAyOXpNMjc0LjE4MiAyMjRsMS45OTYtOC42MDJjMS44NTYtNy45NjIgMy40NTctMTUuOTY4IDQuODAzLTIzLjM5OGgxMS43OTRjMS4zNDcgNy40MyAyLjk0NyAxNS40MzYgNC44MDMgMjMuMzk4bDEuOTk2IDguNjAyaC0yNS4zOTJ6bTEzMC45NTkgMTE4LjAyOWMtNS4wNjggMjUuMi02Ljc1OCA0Ny4yNS02Ljc1OCA0Ny4yNWgtMS4xMjZjLS41NjMgMC0xLjEyNi0yMS40Mi03LjMyMS00Ny4yNUwzNzcuNTQyIDI4OGgzOS4xMDdsLTExLjUwOCA1NC4wMjl6TTQzMC4yODEgMjI0aC02Ny40MmwtNy4zNC0zMmg4MS41NzdsLTYuODE3IDMyeiJdLAogICAgICAid3JlbmNoIjogWzUxMiwgNTEyLCBbXSwgImYwYWQiLCAiTTQ4MS4xNTYgMjAwYzkuMyAwIDE1LjEyIDEwLjE1NSAxMC4zMjUgMTguMTI0QzQ2Ni4yOTUgMjU5Ljk5MiA0MjAuNDE5IDI4OCAzNjggMjg4Yy03OS4yMjIgMC0xNDMuNTAxLTYzLjk3NC0xNDMuOTk3LTE0My4wNzlDMjIzLjUwNSA2NS40NjkgMjg4LjU0OC0uMDAxIDM2OC4wMDIgMGM1Mi4zNjIuMDAxIDk4LjE5NiAyNy45NDkgMTIzLjQgNjkuNzQzQzQ5Ni4yNCA3Ny43NjYgNDkwLjUyMyA4OCA0ODEuMTU0IDg4SDM3NmwtNDAgNTYgNDAgNTZoMTA1LjE1NnptLTE3MS42NDkgOTMuMDAzTDEwOS4yNTUgNDkzLjI1NWMtMjQuOTk0IDI0Ljk5My02NS41MTUgMjQuOTk0LTkwLjUxIDAtMjQuOTkzLTI0Ljk5NC0yNC45OTMtNjUuNTE2IDAtOTAuNTFMMjE4Ljk5MSAyMDIuNWMxNi4xNiA0MS4xOTcgNDkuMzAzIDc0LjMzNSA5MC41MTYgOTAuNTAzek0xMDQgNDMyYzAtMTMuMjU1LTEwLjc0NS0yNC0yNC0yNHMtMjQgMTAuNzQ1LTI0IDI0IDEwLjc0NSAyNCAyNCAyNCAyNC0xMC43NDUgMjQtMjR6Il0sCiAgICAgICJ5ZW4tc2lnbiI6IFszODQsIDUxMiwgW10sICJmMTU3IiwgIk0zNTEuMjA4IDMyaC02NS4yNzdhMTIgMTIgMCAwIDAtMTAuNzc4IDYuNzI0bC01NS4zOSAxMTMuMTYzYy0xNC41MTMgMzQuNzA0LTI3LjEzMyA3MS45MzItMjcuMTMzIDcxLjkzMmgtMS4yNjJzLTEyLjYyLTM3LjIyOC0yNy4xMzMtNzEuOTMybC01NS4zOS0xMTMuMTYzQTExLjk5NyAxMS45OTcgMCAwIDAgOTguMDY4IDMySDMyLjc5MmMtOS4wNTcgMC0xNC44NSA5LjY1LTEwLjU5IDE3LjY0M0wxMDIuMzIyIDIwMEg0NGMtNi42MjcgMC0xMiA1LjM3My0xMiAxMnYzMmMwIDYuNjI3IDUuMzczIDEyIDEyIDEyaDg4LjE2MkwxNTIgMjkzLjIyOFYzMjBINDRjLTYuNjI3IDAtMTIgNS4zNzMtMTIgMTJ2MzJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmgxMDh2OTJjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg1NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi05MmgxMDhjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMzJjMC02LjYyNy01LjM3My0xMi0xMi0xMkgyMzJ2LTI2Ljc3MkwyNTEuODM4IDI1NkgzNDBjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMzJjMC02LjYyNy01LjM3My0xMi0xMi0xMmgtNTguMzIybDgwLjEyLTE1MC4zNTdDMzY2LjA1OCA0MS42NSAzNjAuMjY2IDMyIDM1MS4yMDggMzJ6Il0KICAgIH07CiAgICAKICAgIGJ1bmtlcihmdW5jdGlvbiAoKSB7CiAgICAgIGRlZmluZSgnZmFzJywgaWNvbnMpOwogICAgfSk7CiAgICAKICAgIH0oKSk7CiAgICAoZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgCiAgICB2YXIgbm9vcCA9IGZ1bmN0aW9uIG5vb3AoKSB7fTsKICAgIAogICAgdmFyIF9XSU5ET1cgPSB7fTsKICAgIHZhciBfRE9DVU1FTlQgPSB7fTsKICAgIHZhciBfTVVUQVRJT05fT0JTRVJWRVIkMSA9IG51bGw7CiAgICB2YXIgX1BFUkZPUk1BTkNFID0geyBtYXJrOiBub29wLCBtZWFzdXJlOiBub29wIH07CiAgICAKICAgIHRyeSB7CiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgX1dJTkRPVyA9IHdpbmRvdzsKICAgICAgaWYgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcpIF9ET0NVTUVOVCA9IGRvY3VtZW50OwogICAgICBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSBfTVVUQVRJT05fT0JTRVJWRVIkMSA9IE11dGF0aW9uT2JzZXJ2ZXI7CiAgICAgIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnKSBfUEVSRk9STUFOQ0UgPSBwZXJmb3JtYW5jZTsKICAgIH0gY2F0Y2ggKGUpIHt9CiAgICAKICAgIHZhciBfcmVmID0gX1dJTkRPVy5uYXZpZ2F0b3IgfHwge307CiAgICB2YXIgX3JlZiR1c2VyQWdlbnQgPSBfcmVmLnVzZXJBZ2VudDsKICAgIHZhciB1c2VyQWdlbnQgPSBfcmVmJHVzZXJBZ2VudCA9PT0gdW5kZWZpbmVkID8gJycgOiBfcmVmJHVzZXJBZ2VudDsKICAgIAogICAgdmFyIFdJTkRPVyA9IF9XSU5ET1c7CiAgICB2YXIgRE9DVU1FTlQgPSBfRE9DVU1FTlQ7CiAgICB2YXIgTVVUQVRJT05fT0JTRVJWRVIgPSBfTVVUQVRJT05fT0JTRVJWRVIkMTsKICAgIHZhciBQRVJGT1JNQU5DRSA9IF9QRVJGT1JNQU5DRTsKICAgIHZhciBJU19CUk9XU0VSID0gISFXSU5ET1cuZG9jdW1lbnQ7CiAgICB2YXIgSVNfRE9NID0gISFET0NVTUVOVC5kb2N1bWVudEVsZW1lbnQgJiYgISFET0NVTUVOVC5oZWFkICYmIHR5cGVvZiBET0NVTUVOVC5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBET0NVTUVOVC5jcmVhdGVFbGVtZW50ID09PSAnZnVuY3Rpb24nOwogICAgdmFyIElTX0lFID0gfnVzZXJBZ2VudC5pbmRleE9mKCdNU0lFJykgfHwgfnVzZXJBZ2VudC5pbmRleE9mKCdUcmlkZW50LycpOwogICAgCiAgICB2YXIgTkFNRVNQQUNFX0lERU5USUZJRVIgPSAnX19fRk9OVF9BV0VTT01FX19fJzsKICAgIHZhciBVTklUU19JTl9HUklEID0gMTY7CiAgICB2YXIgREVGQVVMVF9GQU1JTFlfUFJFRklYID0gJ2ZhJzsKICAgIHZhciBERUZBVUxUX1JFUExBQ0VNRU5UX0NMQVNTID0gJ3N2Zy1pbmxpbmUtLWZhJzsKICAgIHZhciBEQVRBX0ZBX0kyU1ZHID0gJ2RhdGEtZmEtaTJzdmcnOwogICAgdmFyIERBVEFfRkFfUFNFVURPX0VMRU1FTlQgPSAnZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCc7CiAgICB2YXIgSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTID0gJ2ZvbnRhd2Vzb21lLWkyc3ZnJzsKICAgIAogICAgdmFyIFBST0RVQ1RJT04gPSBmdW5jdGlvbiAoKSB7CiAgICAgIHRyeSB7CiAgICAgICAgcmV0dXJuICJwcm9kdWN0aW9uIiA9PT0gJ3Byb2R1Y3Rpb24nOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9KCk7CiAgICAKICAgIHZhciBvbmVUb1RlbiA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMF07CiAgICB2YXIgb25lVG9Ud2VudHkgPSBvbmVUb1Rlbi5jb25jYXQoWzExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgMTksIDIwXSk7CiAgICAKICAgIHZhciBBVFRSSUJVVEVTX1dBVENIRURfRk9SX01VVEFUSU9OID0gWydjbGFzcycsICdkYXRhLXByZWZpeCcsICdkYXRhLWljb24nLCAnZGF0YS1mYS10cmFuc2Zvcm0nLCAnZGF0YS1mYS1tYXNrJ107CiAgICAKICAgIHZhciBSRVNFUlZFRF9DTEFTU0VTID0gWyd4cycsICdzbScsICdsZycsICdmdycsICd1bCcsICdsaScsICdib3JkZXInLCAncHVsbC1sZWZ0JywgJ3B1bGwtcmlnaHQnLCAnc3BpbicsICdwdWxzZScsICdyb3RhdGUtOTAnLCAncm90YXRlLTE4MCcsICdyb3RhdGUtMjcwJywgJ2ZsaXAtaG9yaXpvbnRhbCcsICdmbGlwLXZlcnRpY2FsJywgJ3N0YWNrJywgJ3N0YWNrLTF4JywgJ3N0YWNrLTJ4JywgJ2ludmVyc2UnLCAnbGF5ZXJzJywgJ2xheWVycy10ZXh0JywgJ2xheWVycy1jb3VudGVyJ10uY29uY2F0KG9uZVRvVGVuLm1hcChmdW5jdGlvbiAobikgewogICAgICByZXR1cm4gbiArICd4JzsKICAgIH0pKS5jb25jYXQob25lVG9Ud2VudHkubWFwKGZ1bmN0aW9uIChuKSB7CiAgICAgIHJldHVybiAndy0nICsgbjsKICAgIH0pKTsKICAgIAogICAgdmFyIGNsYXNzQ2FsbENoZWNrID0gZnVuY3Rpb24gKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgewogICAgICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgewogICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpOwogICAgICB9CiAgICB9OwogICAgCiAgICB2YXIgY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7CiAgICAgIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgewogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07CiAgICAgICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7CiAgICAgICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7CiAgICAgICAgICBpZiAoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsKICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsKICAgICAgICB9CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgewogICAgICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7CiAgICAgICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7CiAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yOwogICAgICB9OwogICAgfSgpOwogICAgCiAgICAKICAgIAogICAgdmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7CiAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTsKICAgIAogICAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsKICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7CiAgICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAKICAgICAgcmV0dXJuIHRhcmdldDsKICAgIH07CiAgICAKICAgIAogICAgCiAgICB2YXIgdG9Db25zdW1hYmxlQXJyYXkgPSBmdW5jdGlvbiAoYXJyKSB7CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFycikpIHsKICAgICAgICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IEFycmF5KGFyci5sZW5ndGgpOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSBhcnIyW2ldID0gYXJyW2ldOwogICAgCiAgICAgICAgcmV0dXJuIGFycjI7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oYXJyKTsKICAgICAgfQogICAgfTsKICAgIAogICAgdmFyIGluaXRpYWwgPSBXSU5ET1cuRm9udEF3ZXNvbWVDb25maWcgfHwge307CiAgICB2YXIgaW5pdGlhbEtleXMgPSBPYmplY3Qua2V5cyhpbml0aWFsKTsKICAgIAogICAgdmFyIF9kZWZhdWx0ID0gX2V4dGVuZHMoewogICAgICBmYW1pbHlQcmVmaXg6IERFRkFVTFRfRkFNSUxZX1BSRUZJWCwKICAgICAgcmVwbGFjZW1lbnRDbGFzczogREVGQVVMVF9SRVBMQUNFTUVOVF9DTEFTUywKICAgICAgYXV0b1JlcGxhY2VTdmc6IHRydWUsCiAgICAgIGF1dG9BZGRDc3M6IHRydWUsCiAgICAgIGF1dG9BMTF5OiB0cnVlLAogICAgICBzZWFyY2hQc2V1ZG9FbGVtZW50czogZmFsc2UsCiAgICAgIG9ic2VydmVNdXRhdGlvbnM6IHRydWUsCiAgICAgIGtlZXBPcmlnaW5hbFNvdXJjZTogdHJ1ZSwKICAgICAgbWVhc3VyZVBlcmZvcm1hbmNlOiBmYWxzZSwKICAgICAgc2hvd01pc3NpbmdJY29uczogdHJ1ZQogICAgfSwgaW5pdGlhbCk7CiAgICAKICAgIGlmICghX2RlZmF1bHQuYXV0b1JlcGxhY2VTdmcpIF9kZWZhdWx0Lm9ic2VydmVNdXRhdGlvbnMgPSBmYWxzZTsKICAgIAogICAgdmFyIGNvbmZpZyA9IF9leHRlbmRzKHt9LCBfZGVmYXVsdCk7CiAgICAKICAgIFdJTkRPVy5Gb250QXdlc29tZUNvbmZpZyA9IGNvbmZpZzsKICAgIAogICAgZnVuY3Rpb24gdXBkYXRlKG5ld0NvbmZpZykgewogICAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTsKICAgICAgdmFyIF9wYXJhbXMkYXNOZXdEZWZhdWx0ID0gcGFyYW1zLmFzTmV3RGVmYXVsdCwKICAgICAgICAgIGFzTmV3RGVmYXVsdCA9IF9wYXJhbXMkYXNOZXdEZWZhdWx0ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wYXJhbXMkYXNOZXdEZWZhdWx0OwogICAgCiAgICAgIHZhciB2YWxpZEtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpOwogICAgICB2YXIgb2sgPSBhc05ld0RlZmF1bHQgPyBmdW5jdGlvbiAoaykgewogICAgICAgIHJldHVybiB+dmFsaWRLZXlzLmluZGV4T2YoaykgJiYgIX5pbml0aWFsS2V5cy5pbmRleE9mKGspOwogICAgICB9IDogZnVuY3Rpb24gKGspIHsKICAgICAgICByZXR1cm4gfnZhbGlkS2V5cy5pbmRleE9mKGspOwogICAgICB9OwogICAgCiAgICAgIE9iamVjdC5rZXlzKG5ld0NvbmZpZykuZm9yRWFjaChmdW5jdGlvbiAoY29uZmlnS2V5KSB7CiAgICAgICAgaWYgKG9rKGNvbmZpZ0tleSkpIGNvbmZpZ1tjb25maWdLZXldID0gbmV3Q29uZmlnW2NvbmZpZ0tleV07CiAgICAgIH0pOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBhdXRvKHZhbHVlKSB7CiAgICAgIHVwZGF0ZSh7CiAgICAgICAgYXV0b1JlcGxhY2VTdmc6IHZhbHVlLAogICAgICAgIG9ic2VydmVNdXRhdGlvbnM6IHZhbHVlCiAgICAgIH0pOwogICAgfQogICAgCiAgICB2YXIgdyA9IFdJTkRPVyB8fCB7fTsKICAgIAogICAgaWYgKCF3W05BTUVTUEFDRV9JREVOVElGSUVSXSkgd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0gPSB7fTsKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uc3R5bGVzKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zdHlsZXMgPSB7fTsKICAgIGlmICghd1tOQU1FU1BBQ0VfSURFTlRJRklFUl0uaG9va3MpIHdbTkFNRVNQQUNFX0lERU5USUZJRVJdLmhvb2tzID0ge307CiAgICBpZiAoIXdbTkFNRVNQQUNFX0lERU5USUZJRVJdLnNoaW1zKSB3W05BTUVTUEFDRV9JREVOVElGSUVSXS5zaGltcyA9IFtdOwogICAgCiAgICB2YXIgbmFtZXNwYWNlID0gd1tOQU1FU1BBQ0VfSURFTlRJRklFUl07CiAgICAKICAgIHZhciBmdW5jdGlvbnMgPSBbXTsKICAgIHZhciBsaXN0ZW5lciA9IGZ1bmN0aW9uIGxpc3RlbmVyKCkgewogICAgICBET0NVTUVOVC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbGlzdGVuZXIpOwogICAgICBsb2FkZWQgPSAxOwogICAgICBmdW5jdGlvbnMubWFwKGZ1bmN0aW9uIChmbikgewogICAgICAgIHJldHVybiBmbigpOwogICAgICB9KTsKICAgIH07CiAgICAKICAgIHZhciBsb2FkZWQgPSBmYWxzZTsKICAgIAogICAgaWYgKElTX0RPTSkgewogICAgICBsb2FkZWQgPSAoRE9DVU1FTlQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsID8gL15sb2FkZWR8XmMvIDogL15sb2FkZWR8Xml8XmMvKS50ZXN0KERPQ1VNRU5ULnJlYWR5U3RhdGUpOwogICAgCiAgICAgIGlmICghbG9hZGVkKSBET0NVTUVOVC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgbGlzdGVuZXIpOwogICAgfQogICAgCiAgICB2YXIgZG9tcmVhZHkgPSBmdW5jdGlvbiAoZm4pIHsKICAgICAgaWYgKCFJU19ET00pIHJldHVybjsKICAgICAgbG9hZGVkID8gc2V0VGltZW91dChmbiwgMCkgOiBmdW5jdGlvbnMucHVzaChmbik7CiAgICB9OwogICAgCiAgICB2YXIgZCA9IFVOSVRTX0lOX0dSSUQ7CiAgICAKICAgIHZhciBtZWFuaW5nbGVzc1RyYW5zZm9ybSA9IHsKICAgICAgc2l6ZTogMTYsCiAgICAgIHg6IDAsCiAgICAgIHk6IDAsCiAgICAgIHJvdGF0ZTogMCwKICAgICAgZmxpcFg6IGZhbHNlLAogICAgICBmbGlwWTogZmFsc2UKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uIGlzUmVzZXJ2ZWQobmFtZSkgewogICAgICByZXR1cm4gflJFU0VSVkVEX0NMQVNTRVMuaW5kZXhPZihuYW1lKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gYnVua2VyKGZuKSB7CiAgICAgIHRyeSB7CiAgICAgICAgZm4oKTsKICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIGlmICghUFJPRFVDVElPTikgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIAogICAgZnVuY3Rpb24gaW5zZXJ0Q3NzKGNzcykgewogICAgICBpZiAoIWNzcyB8fCAhSVNfRE9NKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAKICAgICAgdmFyIHN0eWxlID0gRE9DVU1FTlQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTsKICAgICAgc3R5bGUuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvY3NzJyk7CiAgICAgIHN0eWxlLmlubmVySFRNTCA9IGNzczsKICAgIAogICAgICB2YXIgaGVhZENoaWxkcmVuID0gRE9DVU1FTlQuaGVhZC5jaGlsZE5vZGVzOwogICAgICB2YXIgYmVmb3JlQ2hpbGQgPSBudWxsOwogICAgCiAgICAgIGZvciAodmFyIGkgPSBoZWFkQ2hpbGRyZW4ubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHsKICAgICAgICB2YXIgY2hpbGQgPSBoZWFkQ2hpbGRyZW5baV07CiAgICAgICAgdmFyIHRhZ05hbWUgPSAoY2hpbGQudGFnTmFtZSB8fCAnJykudG9VcHBlckNhc2UoKTsKICAgICAgICBpZiAoWydTVFlMRScsICdMSU5LJ10uaW5kZXhPZih0YWdOYW1lKSA+IC0xKSB7CiAgICAgICAgICBiZWZvcmVDaGlsZCA9IGNoaWxkOwogICAgICAgIH0KICAgICAgfQogICAgCiAgICAgIERPQ1VNRU5ULmhlYWQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBiZWZvcmVDaGlsZCk7CiAgICAKICAgICAgcmV0dXJuIGNzczsKICAgIH0KICAgIAogICAgdmFyIF91bmlxdWVJZCA9IDA7CiAgICAKICAgIGZ1bmN0aW9uIG5leHRVbmlxdWVJZCgpIHsKICAgICAgX3VuaXF1ZUlkKys7CiAgICAKICAgICAgcmV0dXJuIF91bmlxdWVJZDsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gdG9BcnJheShvYmopIHsKICAgICAgdmFyIGFycmF5ID0gW107CiAgICAKICAgICAgZm9yICh2YXIgaSA9IChvYmogfHwgW10pLmxlbmd0aCA+Pj4gMDsgaS0tOykgewogICAgICAgIGFycmF5W2ldID0gb2JqW2ldOwogICAgICB9CiAgICAKICAgICAgcmV0dXJuIGFycmF5OwogICAgfQogICAgCiAgICBmdW5jdGlvbiBjbGFzc0FycmF5KG5vZGUpIHsKICAgICAgaWYgKG5vZGUuY2xhc3NMaXN0KSB7CiAgICAgICAgcmV0dXJuIHRvQXJyYXkobm9kZS5jbGFzc0xpc3QpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAobm9kZS5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgJycpLnNwbGl0KCcgJykuZmlsdGVyKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICByZXR1cm4gaTsKICAgICAgICB9KTsKICAgICAgfQogICAgfQogICAgCiAgICBmdW5jdGlvbiBnZXRJY29uTmFtZShmYW1pbHlQcmVmaXgsIGNscykgewogICAgICB2YXIgcGFydHMgPSBjbHMuc3BsaXQoJy0nKTsKICAgICAgdmFyIHByZWZpeCA9IHBhcnRzWzBdOwogICAgICB2YXIgaWNvbk5hbWUgPSBwYXJ0cy5zbGljZSgxKS5qb2luKCctJyk7CiAgICAKICAgICAgaWYgKHByZWZpeCA9PT0gZmFtaWx5UHJlZml4ICYmIGljb25OYW1lICE9PSAnJyAmJiAhaXNSZXNlcnZlZChpY29uTmFtZSkpIHsKICAgICAgICByZXR1cm4gaWNvbk5hbWU7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgIH0KICAgIAogICAgZnVuY3Rpb24gaHRtbEVzY2FwZShzdHIpIHsKICAgICAgcmV0dXJuICgnJyArIHN0cikucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC8iL2csICcmcXVvdDsnKS5yZXBsYWNlKC8nL2csICcmIzM5OycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGpvaW5BdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpIHsKICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMgfHwge30pLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBhdHRyaWJ1dGVOYW1lKSB7CiAgICAgICAgcmV0dXJuIGFjYyArIChhdHRyaWJ1dGVOYW1lICsgJz0iJyArIGh0bWxFc2NhcGUoYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXSkgKyAnIiAnKTsKICAgICAgfSwgJycpLnRyaW0oKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gam9pblN0eWxlcyhzdHlsZXMpIHsKICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHN0eWxlcyB8fCB7fSkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHN0eWxlTmFtZSkgewogICAgICAgIHJldHVybiBhY2MgKyAoc3R5bGVOYW1lICsgJzogJyArIHN0eWxlc1tzdHlsZU5hbWVdICsgJzsnKTsKICAgICAgfSwgJycpOwogICAgfQogICAgCiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSB7CiAgICAgIHJldHVybiB0cmFuc2Zvcm0uc2l6ZSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0uc2l6ZSB8fCB0cmFuc2Zvcm0ueCAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueCB8fCB0cmFuc2Zvcm0ueSAhPT0gbWVhbmluZ2xlc3NUcmFuc2Zvcm0ueSB8fCB0cmFuc2Zvcm0ucm90YXRlICE9PSBtZWFuaW5nbGVzc1RyYW5zZm9ybS5yb3RhdGUgfHwgdHJhbnNmb3JtLmZsaXBYIHx8IHRyYW5zZm9ybS5mbGlwWTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gdHJhbnNmb3JtRm9yU3ZnKF9yZWYpIHsKICAgICAgdmFyIHRyYW5zZm9ybSA9IF9yZWYudHJhbnNmb3JtLAogICAgICAgICAgY29udGFpbmVyV2lkdGggPSBfcmVmLmNvbnRhaW5lcldpZHRoLAogICAgICAgICAgaWNvbldpZHRoID0gX3JlZi5pY29uV2lkdGg7CiAgICAKICAgICAgdmFyIG91dGVyID0gewogICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgnICsgY29udGFpbmVyV2lkdGggLyAyICsgJyAyNTYpJwogICAgICB9OwogICAgICB2YXIgaW5uZXJUcmFuc2xhdGUgPSAndHJhbnNsYXRlKCcgKyB0cmFuc2Zvcm0ueCAqIDMyICsgJywgJyArIHRyYW5zZm9ybS55ICogMzIgKyAnKSAnOwogICAgICB2YXIgaW5uZXJTY2FsZSA9ICdzY2FsZSgnICsgdHJhbnNmb3JtLnNpemUgLyAxNiAqICh0cmFuc2Zvcm0uZmxpcFggPyAtMSA6IDEpICsgJywgJyArIHRyYW5zZm9ybS5zaXplIC8gMTYgKiAodHJhbnNmb3JtLmZsaXBZID8gLTEgOiAxKSArICcpICc7CiAgICAgIHZhciBpbm5lclJvdGF0ZSA9ICdyb3RhdGUoJyArIHRyYW5zZm9ybS5yb3RhdGUgKyAnIDAgMCknOwogICAgICB2YXIgaW5uZXIgPSB7CiAgICAgICAgdHJhbnNmb3JtOiBpbm5lclRyYW5zbGF0ZSArICcgJyArIGlubmVyU2NhbGUgKyAnICcgKyBpbm5lclJvdGF0ZQogICAgICB9OwogICAgICB2YXIgcGF0aCA9IHsKICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoJyArIGljb25XaWR0aCAvIDIgKiAtMSArICcgLTI1NiknCiAgICAgIH07CiAgICAgIHJldHVybiB7CiAgICAgICAgb3V0ZXI6IG91dGVyLAogICAgICAgIGlubmVyOiBpbm5lciwKICAgICAgICBwYXRoOiBwYXRoCiAgICAgIH07CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUZvckNzcyhfcmVmMikgewogICAgICB2YXIgdHJhbnNmb3JtID0gX3JlZjIudHJhbnNmb3JtLAogICAgICAgICAgX3JlZjIkd2lkdGggPSBfcmVmMi53aWR0aCwKICAgICAgICAgIHdpZHRoID0gX3JlZjIkd2lkdGggPT09IHVuZGVmaW5lZCA/IFVOSVRTX0lOX0dSSUQgOiBfcmVmMiR3aWR0aCwKICAgICAgICAgIF9yZWYyJGhlaWdodCA9IF9yZWYyLmhlaWdodCwKICAgICAgICAgIGhlaWdodCA9IF9yZWYyJGhlaWdodCA9PT0gdW5kZWZpbmVkID8gVU5JVFNfSU5fR1JJRCA6IF9yZWYyJGhlaWdodCwKICAgICAgICAgIF9yZWYyJHN0YXJ0Q2VudGVyZWQgPSBfcmVmMi5zdGFydENlbnRlcmVkLAogICAgICAgICAgc3RhcnRDZW50ZXJlZCA9IF9yZWYyJHN0YXJ0Q2VudGVyZWQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3JlZjIkc3RhcnRDZW50ZXJlZDsKICAgIAogICAgICB2YXIgdmFsID0gJyc7CiAgICAKICAgICAgaWYgKHN0YXJ0Q2VudGVyZWQgJiYgSVNfSUUpIHsKICAgICAgICB2YWwgKz0gJ3RyYW5zbGF0ZSgnICsgKHRyYW5zZm9ybS54IC8gZCAtIHdpZHRoIC8gMikgKyAnZW0sICcgKyAodHJhbnNmb3JtLnkgLyBkIC0gaGVpZ2h0IC8gMikgKyAnZW0pICc7CiAgICAgIH0gZWxzZSBpZiAoc3RhcnRDZW50ZXJlZCkgewogICAgICAgIHZhbCArPSAndHJhbnNsYXRlKGNhbGMoLTUwJSArICcgKyB0cmFuc2Zvcm0ueCAvIGQgKyAnZW0pLCBjYWxjKC01MCUgKyAnICsgdHJhbnNmb3JtLnkgLyBkICsgJ2VtKSkgJzsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YWwgKz0gJ3RyYW5zbGF0ZSgnICsgdHJhbnNmb3JtLnggLyBkICsgJ2VtLCAnICsgdHJhbnNmb3JtLnkgLyBkICsgJ2VtKSAnOwogICAgICB9CiAgICAKICAgICAgdmFsICs9ICdzY2FsZSgnICsgdHJhbnNmb3JtLnNpemUgLyBkICogKHRyYW5zZm9ybS5mbGlwWCA/IC0xIDogMSkgKyAnLCAnICsgdHJhbnNmb3JtLnNpemUgLyBkICogKHRyYW5zZm9ybS5mbGlwWSA/IC0xIDogMSkgKyAnKSAnOwogICAgICB2YWwgKz0gJ3JvdGF0ZSgnICsgdHJhbnNmb3JtLnJvdGF0ZSArICdkZWcpICc7CiAgICAKICAgICAgcmV0dXJuIHZhbDsKICAgIH0KICAgIAogICAgdmFyIEFMTF9TUEFDRSA9IHsKICAgICAgeDogMCwKICAgICAgeTogMCwKICAgICAgd2lkdGg6ICcxMDAlJywKICAgICAgaGVpZ2h0OiAnMTAwJScKICAgIH07CiAgICAKICAgIHZhciBtYWtlSWNvbk1hc2tpbmcgPSBmdW5jdGlvbiAoX3JlZikgewogICAgICB2YXIgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLAogICAgICAgICAgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcywKICAgICAgICAgIG1haW4gPSBfcmVmLm1haW4sCiAgICAgICAgICBtYXNrID0gX3JlZi5tYXNrLAogICAgICAgICAgdHJhbnNmb3JtID0gX3JlZi50cmFuc2Zvcm07CiAgICAgIHZhciBtYWluV2lkdGggPSBtYWluLndpZHRoLAogICAgICAgICAgbWFpblBhdGggPSBtYWluLmljb247CiAgICAgIHZhciBtYXNrV2lkdGggPSBtYXNrLndpZHRoLAogICAgICAgICAgbWFza1BhdGggPSBtYXNrLmljb247CiAgICAKICAgIAogICAgICB2YXIgdHJhbnMgPSB0cmFuc2Zvcm1Gb3JTdmcoeyB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udGFpbmVyV2lkdGg6IG1hc2tXaWR0aCwgaWNvbldpZHRoOiBtYWluV2lkdGggfSk7CiAgICAKICAgICAgdmFyIG1hc2tSZWN0ID0gewogICAgICAgIHRhZzogJ3JlY3QnLAogICAgICAgIGF0dHJpYnV0ZXM6IF9leHRlbmRzKHt9LCBBTExfU1BBQ0UsIHsKICAgICAgICAgIGZpbGw6ICd3aGl0ZScKICAgICAgICB9KQogICAgICB9OwogICAgICB2YXIgbWFza0lubmVyR3JvdXAgPSB7CiAgICAgICAgdGFnOiAnZycsCiAgICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIHRyYW5zLmlubmVyKSwKICAgICAgICBjaGlsZHJlbjogW3sgdGFnOiAncGF0aCcsIGF0dHJpYnV0ZXM6IF9leHRlbmRzKHt9LCBtYWluUGF0aC5hdHRyaWJ1dGVzLCB0cmFucy5wYXRoLCB7IGZpbGw6ICdibGFjaycgfSkgfV0KICAgICAgfTsKICAgICAgdmFyIG1hc2tPdXRlckdyb3VwID0gewogICAgICAgIHRhZzogJ2cnLAogICAgICAgIGF0dHJpYnV0ZXM6IF9leHRlbmRzKHt9LCB0cmFucy5vdXRlciksCiAgICAgICAgY2hpbGRyZW46IFttYXNrSW5uZXJHcm91cF0KICAgICAgfTsKICAgICAgdmFyIG1hc2tJZCA9ICdtYXNrLScgKyBuZXh0VW5pcXVlSWQoKTsKICAgICAgdmFyIGNsaXBJZCA9ICdjbGlwLScgKyBuZXh0VW5pcXVlSWQoKTsKICAgICAgdmFyIG1hc2tUYWcgPSB7CiAgICAgICAgdGFnOiAnbWFzaycsCiAgICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIEFMTF9TUEFDRSwgewogICAgICAgICAgaWQ6IG1hc2tJZCwKICAgICAgICAgIG1hc2tVbml0czogJ3VzZXJTcGFjZU9uVXNlJywKICAgICAgICAgIG1hc2tDb250ZW50VW5pdHM6ICd1c2VyU3BhY2VPblVzZScKICAgICAgICB9KSwKICAgICAgICBjaGlsZHJlbjogW21hc2tSZWN0LCBtYXNrT3V0ZXJHcm91cF0KICAgICAgfTsKICAgICAgdmFyIGRlZnMgPSB7CiAgICAgICAgdGFnOiAnZGVmcycsCiAgICAgICAgY2hpbGRyZW46IFt7IHRhZzogJ2NsaXBQYXRoJywgYXR0cmlidXRlczogeyBpZDogY2xpcElkIH0sIGNoaWxkcmVuOiBbbWFza1BhdGhdIH0sIG1hc2tUYWddCiAgICAgIH07CiAgICAKICAgICAgY2hpbGRyZW4ucHVzaChkZWZzLCB7IHRhZzogJ3JlY3QnLCBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7IGZpbGw6ICdjdXJyZW50Q29sb3InLCAnY2xpcC1wYXRoJzogJ3VybCgjJyArIGNsaXBJZCArICcpJywgbWFzazogJ3VybCgjJyArIG1hc2tJZCArICcpJyB9LCBBTExfU1BBQ0UpIH0pOwogICAgCiAgICAgIHJldHVybiB7CiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLAogICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMKICAgICAgfTsKICAgIH07CiAgICAKICAgIHZhciBtYWtlSWNvblN0YW5kYXJkID0gZnVuY3Rpb24gKF9yZWYpIHsKICAgICAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbiwKICAgICAgICAgIGF0dHJpYnV0ZXMgPSBfcmVmLmF0dHJpYnV0ZXMsCiAgICAgICAgICBtYWluID0gX3JlZi5tYWluLAogICAgICAgICAgdHJhbnNmb3JtID0gX3JlZi50cmFuc2Zvcm0sCiAgICAgICAgICBzdHlsZXMgPSBfcmVmLnN0eWxlczsKICAgIAogICAgICB2YXIgc3R5bGVTdHJpbmcgPSBqb2luU3R5bGVzKHN0eWxlcyk7CiAgICAKICAgICAgaWYgKHN0eWxlU3RyaW5nLmxlbmd0aCA+IDApIHsKICAgICAgICBhdHRyaWJ1dGVzWydzdHlsZSddID0gc3R5bGVTdHJpbmc7CiAgICAgIH0KICAgIAogICAgICBpZiAodHJhbnNmb3JtSXNNZWFuaW5nZnVsKHRyYW5zZm9ybSkpIHsKICAgICAgICB2YXIgdHJhbnMgPSB0cmFuc2Zvcm1Gb3JTdmcoeyB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udGFpbmVyV2lkdGg6IG1haW4ud2lkdGgsIGljb25XaWR0aDogbWFpbi53aWR0aCB9KTsKICAgICAgICBjaGlsZHJlbi5wdXNoKHsKICAgICAgICAgIHRhZzogJ2cnLAogICAgICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIHRyYW5zLm91dGVyKSwKICAgICAgICAgIGNoaWxkcmVuOiBbewogICAgICAgICAgICB0YWc6ICdnJywKICAgICAgICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIHRyYW5zLmlubmVyKSwKICAgICAgICAgICAgY2hpbGRyZW46IFt7CiAgICAgICAgICAgICAgdGFnOiBtYWluLmljb24udGFnLAogICAgICAgICAgICAgIGNoaWxkcmVuOiBtYWluLmljb24uY2hpbGRyZW4sCiAgICAgICAgICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIG1haW4uaWNvbi5hdHRyaWJ1dGVzLCB0cmFucy5wYXRoKQogICAgICAgICAgICB9XQogICAgICAgICAgfV0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjaGlsZHJlbi5wdXNoKG1haW4uaWNvbik7CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gewogICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbiwKICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzCiAgICAgIH07CiAgICB9OwogICAgCiAgICB2YXIgYXNJY29uID0gZnVuY3Rpb24gKF9yZWYpIHsKICAgICAgdmFyIGNoaWxkcmVuID0gX3JlZi5jaGlsZHJlbiwKICAgICAgICAgIG1haW4gPSBfcmVmLm1haW4sCiAgICAgICAgICBtYXNrID0gX3JlZi5tYXNrLAogICAgICAgICAgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcywKICAgICAgICAgIHN0eWxlcyA9IF9yZWYuc3R5bGVzLAogICAgICAgICAgdHJhbnNmb3JtID0gX3JlZi50cmFuc2Zvcm07CiAgICAKICAgICAgaWYgKHRyYW5zZm9ybUlzTWVhbmluZ2Z1bCh0cmFuc2Zvcm0pICYmIG1haW4uZm91bmQgJiYgIW1hc2suZm91bmQpIHsKICAgICAgICB2YXIgd2lkdGggPSBtYWluLndpZHRoLAogICAgICAgICAgICBoZWlnaHQgPSBtYWluLmhlaWdodDsKICAgIAogICAgICAgIHZhciBvZmZzZXQgPSB7CiAgICAgICAgICB4OiB3aWR0aCAvIGhlaWdodCAvIDIsCiAgICAgICAgICB5OiAwLjUKICAgICAgICB9OwogICAgICAgIGF0dHJpYnV0ZXNbJ3N0eWxlJ10gPSBqb2luU3R5bGVzKF9leHRlbmRzKHt9LCBzdHlsZXMsIHsKICAgICAgICAgICd0cmFuc2Zvcm0tb3JpZ2luJzogb2Zmc2V0LnggKyB0cmFuc2Zvcm0ueCAvIDE2ICsgJ2VtICcgKyAob2Zmc2V0LnkgKyB0cmFuc2Zvcm0ueSAvIDE2KSArICdlbScKICAgICAgICB9KSk7CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gW3sKICAgICAgICB0YWc6ICdzdmcnLAogICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsCiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuCiAgICAgIH1dOwogICAgfTsKICAgIAogICAgdmFyIGFzU3ltYm9sID0gZnVuY3Rpb24gKF9yZWYpIHsKICAgICAgdmFyIHByZWZpeCA9IF9yZWYucHJlZml4LAogICAgICAgICAgaWNvbk5hbWUgPSBfcmVmLmljb25OYW1lLAogICAgICAgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuLAogICAgICAgICAgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcywKICAgICAgICAgIHN5bWJvbCA9IF9yZWYuc3ltYm9sOwogICAgCiAgICAgIHZhciBpZCA9IHN5bWJvbCA9PT0gdHJ1ZSA/IHByZWZpeCArICctJyArIGNvbmZpZy5mYW1pbHlQcmVmaXggKyAnLScgKyBpY29uTmFtZSA6IHN5bWJvbDsKICAgIAogICAgICByZXR1cm4gW3sKICAgICAgICB0YWc6ICdzdmcnLAogICAgICAgIGF0dHJpYnV0ZXM6IHsKICAgICAgICAgIHN0eWxlOiAnZGlzcGxheTogbm9uZTsnCiAgICAgICAgfSwKICAgICAgICBjaGlsZHJlbjogW3sKICAgICAgICAgIHRhZzogJ3N5bWJvbCcsCiAgICAgICAgICBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgYXR0cmlidXRlcywgeyBpZDogaWQgfSksCiAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4KICAgICAgICB9XQogICAgICB9XTsKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uIG1ha2VJbmxpbmVTdmdBYnN0cmFjdChwYXJhbXMpIHsKICAgICAgdmFyIF9wYXJhbXMkaWNvbnMgPSBwYXJhbXMuaWNvbnMsCiAgICAgICAgICBtYWluID0gX3BhcmFtcyRpY29ucy5tYWluLAogICAgICAgICAgbWFzayA9IF9wYXJhbXMkaWNvbnMubWFzaywKICAgICAgICAgIHByZWZpeCA9IHBhcmFtcy5wcmVmaXgsCiAgICAgICAgICBpY29uTmFtZSA9IHBhcmFtcy5pY29uTmFtZSwKICAgICAgICAgIHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sCiAgICAgICAgICBzeW1ib2wgPSBwYXJhbXMuc3ltYm9sLAogICAgICAgICAgdGl0bGUgPSBwYXJhbXMudGl0bGUsCiAgICAgICAgICBleHRyYSA9IHBhcmFtcy5leHRyYSwKICAgICAgICAgIF9wYXJhbXMkd2F0Y2hhYmxlID0gcGFyYW1zLndhdGNoYWJsZSwKICAgICAgICAgIHdhdGNoYWJsZSA9IF9wYXJhbXMkd2F0Y2hhYmxlID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wYXJhbXMkd2F0Y2hhYmxlOwogICAgCiAgICAgIHZhciBfcmVmID0gbWFzay5mb3VuZCA/IG1hc2sgOiBtYWluLAogICAgICAgICAgd2lkdGggPSBfcmVmLndpZHRoLAogICAgICAgICAgaGVpZ2h0ID0gX3JlZi5oZWlnaHQ7CiAgICAKICAgICAgdmFyIHdpZHRoQ2xhc3MgPSAnZmEtdy0nICsgTWF0aC5jZWlsKHdpZHRoIC8gaGVpZ2h0ICogMTYpOwogICAgICB2YXIgYXR0ckNsYXNzID0gW2NvbmZpZy5yZXBsYWNlbWVudENsYXNzLCBpY29uTmFtZSA/IGNvbmZpZy5mYW1pbHlQcmVmaXggKyAnLScgKyBpY29uTmFtZSA6ICcnLCB3aWR0aENsYXNzXS5jb25jYXQoZXh0cmEuY2xhc3Nlcykuam9pbignICcpOwogICAgCiAgICAgIHZhciBjb250ZW50ID0gewogICAgICAgIGNoaWxkcmVuOiBbXSwKICAgICAgICBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgZXh0cmEuYXR0cmlidXRlcywgewogICAgICAgICAgJ2RhdGEtcHJlZml4JzogcHJlZml4LAogICAgICAgICAgJ2RhdGEtaWNvbic6IGljb25OYW1lLAogICAgICAgICAgJ2NsYXNzJzogYXR0ckNsYXNzLAogICAgICAgICAgJ3JvbGUnOiAnaW1nJywKICAgICAgICAgICd4bWxucyc6ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsCiAgICAgICAgICAndmlld0JveCc6ICcwIDAgJyArIHdpZHRoICsgJyAnICsgaGVpZ2h0CiAgICAgICAgfSkKICAgICAgfTsKICAgIAogICAgICBpZiAod2F0Y2hhYmxlKSB7CiAgICAgICAgY29udGVudC5hdHRyaWJ1dGVzW0RBVEFfRkFfSTJTVkddID0gJyc7CiAgICAgIH0KICAgIAogICAgICBpZiAodGl0bGUpIGNvbnRlbnQuY2hpbGRyZW4ucHVzaCh7IHRhZzogJ3RpdGxlJywgYXR0cmlidXRlczogeyBpZDogY29udGVudC5hdHRyaWJ1dGVzWydhcmlhLWxhYmVsbGVkYnknXSB8fCAndGl0bGUtJyArIG5leHRVbmlxdWVJZCgpIH0sIGNoaWxkcmVuOiBbdGl0bGVdIH0pOwogICAgCiAgICAgIHZhciBhcmdzID0gX2V4dGVuZHMoe30sIGNvbnRlbnQsIHsKICAgICAgICBwcmVmaXg6IHByZWZpeCwKICAgICAgICBpY29uTmFtZTogaWNvbk5hbWUsCiAgICAgICAgbWFpbjogbWFpbiwKICAgICAgICBtYXNrOiBtYXNrLAogICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLAogICAgICAgIHN5bWJvbDogc3ltYm9sLAogICAgICAgIHN0eWxlczogZXh0cmEuc3R5bGVzCiAgICAgIH0pOwogICAgCiAgICAgIHZhciBfcmVmMiA9IG1hc2suZm91bmQgJiYgbWFpbi5mb3VuZCA/IG1ha2VJY29uTWFza2luZyhhcmdzKSA6IG1ha2VJY29uU3RhbmRhcmQoYXJncyksCiAgICAgICAgICBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuLAogICAgICAgICAgYXR0cmlidXRlcyA9IF9yZWYyLmF0dHJpYnV0ZXM7CiAgICAKICAgICAgYXJncy5jaGlsZHJlbiA9IGNoaWxkcmVuOwogICAgICBhcmdzLmF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzOwogICAgCiAgICAgIGlmIChzeW1ib2wpIHsKICAgICAgICByZXR1cm4gYXNTeW1ib2woYXJncyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGFzSWNvbihhcmdzKTsKICAgICAgfQogICAgfQogICAgCiAgICBmdW5jdGlvbiBtYWtlTGF5ZXJzVGV4dEFic3RyYWN0KHBhcmFtcykgewogICAgICB2YXIgY29udGVudCA9IHBhcmFtcy5jb250ZW50LAogICAgICAgICAgd2lkdGggPSBwYXJhbXMud2lkdGgsCiAgICAgICAgICBoZWlnaHQgPSBwYXJhbXMuaGVpZ2h0LAogICAgICAgICAgdHJhbnNmb3JtID0gcGFyYW1zLnRyYW5zZm9ybSwKICAgICAgICAgIHRpdGxlID0gcGFyYW1zLnRpdGxlLAogICAgICAgICAgZXh0cmEgPSBwYXJhbXMuZXh0cmEsCiAgICAgICAgICBfcGFyYW1zJHdhdGNoYWJsZTIgPSBwYXJhbXMud2F0Y2hhYmxlLAogICAgICAgICAgd2F0Y2hhYmxlID0gX3BhcmFtcyR3YXRjaGFibGUyID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wYXJhbXMkd2F0Y2hhYmxlMjsKICAgIAogICAgCiAgICAgIHZhciBhdHRyaWJ1dGVzID0gX2V4dGVuZHMoe30sIGV4dHJhLmF0dHJpYnV0ZXMsIHRpdGxlID8geyAndGl0bGUnOiB0aXRsZSB9IDoge30sIHsKICAgICAgICAnY2xhc3MnOiBleHRyYS5jbGFzc2VzLmpvaW4oJyAnKQogICAgICB9KTsKICAgIAogICAgICBpZiAod2F0Y2hhYmxlKSB7CiAgICAgICAgYXR0cmlidXRlc1tEQVRBX0ZBX0kyU1ZHXSA9ICcnOwogICAgICB9CiAgICAKICAgICAgdmFyIHN0eWxlcyA9IF9leHRlbmRzKHt9LCBleHRyYS5zdHlsZXMpOwogICAgCiAgICAgIGlmICh0cmFuc2Zvcm1Jc01lYW5pbmdmdWwodHJhbnNmb3JtKSkgewogICAgICAgIHN0eWxlc1sndHJhbnNmb3JtJ10gPSB0cmFuc2Zvcm1Gb3JDc3MoeyB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgc3RhcnRDZW50ZXJlZDogdHJ1ZSwgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9KTsKICAgICAgICBzdHlsZXNbJy13ZWJraXQtdHJhbnNmb3JtJ10gPSBzdHlsZXNbJ3RyYW5zZm9ybSddOwogICAgICB9CiAgICAKICAgICAgdmFyIHN0eWxlU3RyaW5nID0gam9pblN0eWxlcyhzdHlsZXMpOwogICAgCiAgICAgIGlmIChzdHlsZVN0cmluZy5sZW5ndGggPiAwKSB7CiAgICAgICAgYXR0cmlidXRlc1snc3R5bGUnXSA9IHN0eWxlU3RyaW5nOwogICAgICB9CiAgICAKICAgICAgdmFyIHZhbCA9IFtdOwogICAgCiAgICAgIHZhbC5wdXNoKHsKICAgICAgICB0YWc6ICdzcGFuJywKICAgICAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLAogICAgICAgIGNoaWxkcmVuOiBbY29udGVudF0KICAgICAgfSk7CiAgICAKICAgICAgaWYgKHRpdGxlKSB7CiAgICAgICAgdmFsLnB1c2goeyB0YWc6ICdzcGFuJywgYXR0cmlidXRlczogeyBjbGFzczogJ3NyLW9ubHknIH0sIGNoaWxkcmVuOiBbdGl0bGVdIH0pOwogICAgICB9CiAgICAKICAgICAgcmV0dXJuIHZhbDsKICAgIH0KICAgIAogICAgdmFyIG5vb3AkMiA9IGZ1bmN0aW9uIG5vb3AoKSB7fTsKICAgIHZhciBwID0gY29uZmlnLm1lYXN1cmVQZXJmb3JtYW5jZSAmJiBQRVJGT1JNQU5DRSAmJiBQRVJGT1JNQU5DRS5tYXJrICYmIFBFUkZPUk1BTkNFLm1lYXN1cmUgPyBQRVJGT1JNQU5DRSA6IHsgbWFyazogbm9vcCQyLCBtZWFzdXJlOiBub29wJDIgfTsKICAgIHZhciBwcmVhbWJsZSA9ICdGQSAiNS4wLjYiJzsKICAgIAogICAgdmFyIGJlZ2luID0gZnVuY3Rpb24gYmVnaW4obmFtZSkgewogICAgICBwLm1hcmsocHJlYW1ibGUgKyAnICcgKyBuYW1lICsgJyBiZWdpbnMnKTsKICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gZW5kKG5hbWUpOwogICAgICB9OwogICAgfTsKICAgIAogICAgdmFyIGVuZCA9IGZ1bmN0aW9uIGVuZChuYW1lKSB7CiAgICAgIHAubWFyayhwcmVhbWJsZSArICcgJyArIG5hbWUgKyAnIGVuZHMnKTsKICAgICAgcC5tZWFzdXJlKHByZWFtYmxlICsgJyAnICsgbmFtZSwgcHJlYW1ibGUgKyAnICcgKyBuYW1lICsgJyBiZWdpbnMnLCBwcmVhbWJsZSArICcgJyArIG5hbWUgKyAnIGVuZHMnKTsKICAgIH07CiAgICAKICAgIHZhciBwZXJmID0geyBiZWdpbjogYmVnaW4sIGVuZDogZW5kIH07CiAgICAKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgLyoqCiAgICAgKiBJbnRlcm5hbCBoZWxwZXIgdG8gYmluZCBhIGZ1bmN0aW9uIGtub3duIHRvIGhhdmUgNCBhcmd1bWVudHMKICAgICAqIHRvIGEgZ2l2ZW4gY29udGV4dC4KICAgICAqLwogICAgdmFyIGJpbmRJbnRlcm5hbDQgPSBmdW5jdGlvbiBiaW5kSW50ZXJuYWw0IChmdW5jLCB0aGlzQ29udGV4dCkgewogICAgICByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMsIGQpIHsKICAgICAgICByZXR1cm4gZnVuYy5jYWxsKHRoaXNDb250ZXh0LCBhLCBiLCBjLCBkKTsKICAgICAgfTsKICAgIH07CiAgICAKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgCiAgICAKICAgIC8qKgogICAgICogIyBSZWR1Y2UKICAgICAqCiAgICAgKiBBIGZhc3Qgb2JqZWN0IGAucmVkdWNlKClgIGltcGxlbWVudGF0aW9uLgogICAgICoKICAgICAqIEBwYXJhbSAge09iamVjdH0gICBzdWJqZWN0ICAgICAgVGhlIG9iamVjdCB0byByZWR1Y2Ugb3Zlci4KICAgICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBmbiAgICAgICAgICAgVGhlIHJlZHVjZXIgZnVuY3Rpb24uCiAgICAgKiBAcGFyYW0gIHttaXhlZH0gICAgaW5pdGlhbFZhbHVlIFRoZSBpbml0aWFsIHZhbHVlIGZvciB0aGUgcmVkdWNlciwgZGVmYXVsdHMgdG8gc3ViamVjdFswXS4KICAgICAqIEBwYXJhbSAge09iamVjdH0gICB0aGlzQ29udGV4dCAgVGhlIGNvbnRleHQgZm9yIHRoZSByZWR1Y2VyLgogICAgICogQHJldHVybiB7bWl4ZWR9ICAgICAgICAgICAgICAgICBUaGUgZmluYWwgcmVzdWx0LgogICAgICovCiAgICB2YXIgcmVkdWNlID0gZnVuY3Rpb24gZmFzdFJlZHVjZU9iamVjdCAoc3ViamVjdCwgZm4sIGluaXRpYWxWYWx1ZSwgdGhpc0NvbnRleHQpIHsKICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhzdWJqZWN0KSwKICAgICAgICAgIGxlbmd0aCA9IGtleXMubGVuZ3RoLAogICAgICAgICAgaXRlcmF0b3IgPSB0aGlzQ29udGV4dCAhPT0gdW5kZWZpbmVkID8gYmluZEludGVybmFsNChmbiwgdGhpc0NvbnRleHQpIDogZm4sCiAgICAgICAgICBpLCBrZXksIHJlc3VsdDsKICAgIAogICAgICBpZiAoaW5pdGlhbFZhbHVlID09PSB1bmRlZmluZWQpIHsKICAgICAgICBpID0gMTsKICAgICAgICByZXN1bHQgPSBzdWJqZWN0W2tleXNbMF1dOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgIGkgPSAwOwogICAgICAgIHJlc3VsdCA9IGluaXRpYWxWYWx1ZTsKICAgICAgfQogICAgCiAgICAgIGZvciAoOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICBrZXkgPSBrZXlzW2ldOwogICAgICAgIHJlc3VsdCA9IGl0ZXJhdG9yKHJlc3VsdCwgc3ViamVjdFtrZXldLCBrZXksIHN1YmplY3QpOwogICAgICB9CiAgICAKICAgICAgcmV0dXJuIHJlc3VsdDsKICAgIH07CiAgICAKICAgIHZhciBzdHlsZXMkMiA9IG5hbWVzcGFjZS5zdHlsZXM7CiAgICB2YXIgc2hpbXMgPSBuYW1lc3BhY2Uuc2hpbXM7CiAgICAKICAgIAogICAgdmFyIF9ieVVuaWNvZGUgPSB7fTsKICAgIHZhciBfYnlMaWdhdHVyZSA9IHt9OwogICAgdmFyIF9ieU9sZE5hbWUgPSB7fTsKICAgIAogICAgdmFyIGJ1aWxkID0gZnVuY3Rpb24gYnVpbGQoKSB7CiAgICAgIHZhciBsb29rdXAgPSBmdW5jdGlvbiBsb29rdXAocmVkdWNlcikgewogICAgICAgIHJldHVybiByZWR1Y2Uoc3R5bGVzJDIsIGZ1bmN0aW9uIChvLCBzdHlsZSwgcHJlZml4KSB7CiAgICAgICAgICBvW3ByZWZpeF0gPSByZWR1Y2Uoc3R5bGUsIHJlZHVjZXIsIHt9KTsKICAgICAgICAgIHJldHVybiBvOwogICAgICAgIH0sIHt9KTsKICAgICAgfTsKICAgIAogICAgICBfYnlVbmljb2RlID0gbG9va3VwKGZ1bmN0aW9uIChhY2MsIGljb24sIGljb25OYW1lKSB7CiAgICAgICAgYWNjW2ljb25bM11dID0gaWNvbk5hbWU7CiAgICAKICAgICAgICByZXR1cm4gYWNjOwogICAgICB9KTsKICAgIAogICAgICBfYnlMaWdhdHVyZSA9IGxvb2t1cChmdW5jdGlvbiAoYWNjLCBpY29uLCBpY29uTmFtZSkgewogICAgICAgIHZhciBsaWdhdHVyZXMgPSBpY29uWzJdOwogICAgCiAgICAgICAgYWNjW2ljb25OYW1lXSA9IGljb25OYW1lOwogICAgCiAgICAgICAgbGlnYXR1cmVzLmZvckVhY2goZnVuY3Rpb24gKGxpZ2F0dXJlKSB7CiAgICAgICAgICBhY2NbbGlnYXR1cmVdID0gaWNvbk5hbWU7CiAgICAgICAgfSk7CiAgICAKICAgICAgICByZXR1cm4gYWNjOwogICAgICB9KTsKICAgIAogICAgICB2YXIgaGFzUmVndWxhciA9ICdmYXInIGluIHN0eWxlcyQyOwogICAgCiAgICAgIF9ieU9sZE5hbWUgPSByZWR1Y2Uoc2hpbXMsIGZ1bmN0aW9uIChhY2MsIHNoaW0pIHsKICAgICAgICB2YXIgb2xkTmFtZSA9IHNoaW1bMF07CiAgICAgICAgdmFyIHByZWZpeCA9IHNoaW1bMV07CiAgICAgICAgdmFyIGljb25OYW1lID0gc2hpbVsyXTsKICAgIAogICAgICAgIGlmIChwcmVmaXggPT09ICdmYXInICYmICFoYXNSZWd1bGFyKSB7CiAgICAgICAgICBwcmVmaXggPSAnZmFzJzsKICAgICAgICB9CiAgICAKICAgICAgICBhY2Nbb2xkTmFtZV0gPSB7IHByZWZpeDogcHJlZml4LCBpY29uTmFtZTogaWNvbk5hbWUgfTsKICAgIAogICAgICAgIHJldHVybiBhY2M7CiAgICAgIH0sIHt9KTsKICAgIH07CiAgICAKICAgIGJ1aWxkKCk7CiAgICAKICAgIGZ1bmN0aW9uIGJ5VW5pY29kZShwcmVmaXgsIHVuaWNvZGUpIHsKICAgICAgcmV0dXJuIF9ieVVuaWNvZGVbcHJlZml4XVt1bmljb2RlXTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gYnlMaWdhdHVyZShwcmVmaXgsIGxpZ2F0dXJlKSB7CiAgICAgIHJldHVybiBfYnlMaWdhdHVyZVtwcmVmaXhdW2xpZ2F0dXJlXTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gYnlPbGROYW1lKG5hbWUpIHsKICAgICAgcmV0dXJuIF9ieU9sZE5hbWVbbmFtZV0gfHwgeyBwcmVmaXg6IG51bGwsIGljb25OYW1lOiBudWxsIH07CiAgICB9CiAgICAKICAgIHZhciBzdHlsZXMkMSA9IG5hbWVzcGFjZS5zdHlsZXM7CiAgICAKICAgIAogICAgdmFyIGVtcHR5Q2Fub25pY2FsSWNvbiA9IGZ1bmN0aW9uIGVtcHR5Q2Fub25pY2FsSWNvbigpIHsKICAgICAgcmV0dXJuIHsgcHJlZml4OiBudWxsLCBpY29uTmFtZTogbnVsbCwgcmVzdDogW10gfTsKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uIGdldENhbm9uaWNhbEljb24odmFsdWVzKSB7CiAgICAgIHJldHVybiB2YWx1ZXMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGNscykgewogICAgICAgIHZhciBpY29uTmFtZSA9IGdldEljb25OYW1lKGNvbmZpZy5mYW1pbHlQcmVmaXgsIGNscyk7CiAgICAKICAgICAgICBpZiAoc3R5bGVzJDFbY2xzXSkgewogICAgICAgICAgYWNjLnByZWZpeCA9IGNsczsKICAgICAgICB9IGVsc2UgaWYgKGljb25OYW1lKSB7CiAgICAgICAgICB2YXIgc2hpbSA9IGFjYy5wcmVmaXggPT09ICdmYScgPyBieU9sZE5hbWUoaWNvbk5hbWUpIDoge307CiAgICAKICAgICAgICAgIGFjYy5pY29uTmFtZSA9IHNoaW0uaWNvbk5hbWUgfHwgaWNvbk5hbWU7CiAgICAgICAgICBhY2MucHJlZml4ID0gc2hpbS5wcmVmaXggfHwgYWNjLnByZWZpeDsKICAgICAgICB9IGVsc2UgaWYgKGNscyAhPT0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgJiYgY2xzLmluZGV4T2YoJ2ZhLXctJykgIT09IDApIHsKICAgICAgICAgIGFjYy5yZXN0LnB1c2goY2xzKTsKICAgICAgICB9CiAgICAKICAgICAgICByZXR1cm4gYWNjOwogICAgICB9LCBlbXB0eUNhbm9uaWNhbEljb24oKSk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGljb25Gcm9tTWFwcGluZyhtYXBwaW5nLCBwcmVmaXgsIGljb25OYW1lKSB7CiAgICAgIGlmIChtYXBwaW5nICYmIG1hcHBpbmdbcHJlZml4XSAmJiBtYXBwaW5nW3ByZWZpeF1baWNvbk5hbWVdKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHByZWZpeDogcHJlZml4LAogICAgICAgICAgaWNvbk5hbWU6IGljb25OYW1lLAogICAgICAgICAgaWNvbjogbWFwcGluZ1twcmVmaXhdW2ljb25OYW1lXQogICAgICAgIH07CiAgICAgIH0KICAgIH0KICAgIAogICAgZnVuY3Rpb24gdG9IdG1sKGFic3RyYWN0Tm9kZXMpIHsKICAgICAgdmFyIHRhZyA9IGFic3RyYWN0Tm9kZXMudGFnLAogICAgICAgICAgX2Fic3RyYWN0Tm9kZXMkYXR0cmliID0gYWJzdHJhY3ROb2Rlcy5hdHRyaWJ1dGVzLAogICAgICAgICAgYXR0cmlidXRlcyA9IF9hYnN0cmFjdE5vZGVzJGF0dHJpYiA9PT0gdW5kZWZpbmVkID8ge30gOiBfYWJzdHJhY3ROb2RlcyRhdHRyaWIsCiAgICAgICAgICBfYWJzdHJhY3ROb2RlcyRjaGlsZHIgPSBhYnN0cmFjdE5vZGVzLmNoaWxkcmVuLAogICAgICAgICAgY2hpbGRyZW4gPSBfYWJzdHJhY3ROb2RlcyRjaGlsZHIgPT09IHVuZGVmaW5lZCA/IFtdIDogX2Fic3RyYWN0Tm9kZXMkY2hpbGRyOwogICAgCiAgICAKICAgICAgaWYgKHR5cGVvZiBhYnN0cmFjdE5vZGVzID09PSAnc3RyaW5nJykgewogICAgICAgIHJldHVybiBodG1sRXNjYXBlKGFic3RyYWN0Tm9kZXMpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAnPCcgKyB0YWcgKyAnICcgKyBqb2luQXR0cmlidXRlcyhhdHRyaWJ1dGVzKSArICc+JyArIGNoaWxkcmVuLm1hcCh0b0h0bWwpLmpvaW4oJycpICsgJzwvJyArIHRhZyArICc+JzsKICAgICAgfQogICAgfQogICAgCiAgICB2YXIgbm9vcCQxID0gZnVuY3Rpb24gbm9vcCgpIHt9OwogICAgCiAgICBmdW5jdGlvbiBpc1dhdGNoZWQobm9kZSkgewogICAgICB2YXIgaTJzdmcgPSBub2RlLmdldEF0dHJpYnV0ZSA/IG5vZGUuZ2V0QXR0cmlidXRlKERBVEFfRkFfSTJTVkcpIDogbnVsbDsKICAgIAogICAgICByZXR1cm4gdHlwZW9mIGkyc3ZnID09PSAnc3RyaW5nJzsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZ2V0TXV0YXRvcigpIHsKICAgICAgaWYgKGNvbmZpZy5hdXRvUmVwbGFjZVN2ZyA9PT0gdHJ1ZSkgewogICAgICAgIHJldHVybiBtdXRhdG9ycy5yZXBsYWNlOwogICAgICB9CiAgICAKICAgICAgdmFyIG11dGF0b3IgPSBtdXRhdG9yc1tjb25maWcuYXV0b1JlcGxhY2VTdmddOwogICAgCiAgICAgIHJldHVybiBtdXRhdG9yIHx8IG11dGF0b3JzLnJlcGxhY2U7CiAgICB9CiAgICAKICAgIHZhciBtdXRhdG9ycyA9IHsKICAgICAgcmVwbGFjZTogZnVuY3Rpb24gcmVwbGFjZShtdXRhdGlvbikgewogICAgICAgIHZhciBub2RlID0gbXV0YXRpb25bMF07CiAgICAgICAgdmFyIGFic3RyYWN0ID0gbXV0YXRpb25bMV07CiAgICAgICAgdmFyIG5ld091dGVySFRNTCA9IGFic3RyYWN0Lm1hcChmdW5jdGlvbiAoYSkgewogICAgICAgICAgcmV0dXJuIHRvSHRtbChhKTsKICAgICAgICB9KS5qb2luKCdcbicpOwogICAgCiAgICAgICAgaWYgKG5vZGUucGFyZW50Tm9kZSAmJiBub2RlLm91dGVySFRNTCkgewogICAgICAgICAgbm9kZS5vdXRlckhUTUwgPSBuZXdPdXRlckhUTUwgKyAoY29uZmlnLmtlZXBPcmlnaW5hbFNvdXJjZSAmJiBub2RlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ3N2ZycgPyAnPCEtLSAnICsgbm9kZS5vdXRlckhUTUwgKyAnIC0tPicgOiAnJyk7CiAgICAgICAgfSBlbHNlIGlmIChub2RlLnBhcmVudE5vZGUpIHsKICAgICAgICAgIHZhciBuZXdOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOwogICAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChuZXdOb2RlLCBub2RlKTsKICAgICAgICAgIG5ld05vZGUub3V0ZXJIVE1MID0gbmV3T3V0ZXJIVE1MOwogICAgICAgIH0KICAgICAgfSwKICAgICAgbmVzdDogZnVuY3Rpb24gbmVzdChtdXRhdGlvbikgewogICAgICAgIHZhciBub2RlID0gbXV0YXRpb25bMF07CiAgICAgICAgdmFyIGFic3RyYWN0ID0gbXV0YXRpb25bMV07CiAgICAKICAgICAgICAvLyBJZiB3ZSBhbHJlYWR5IGhhdmUgYSByZXBsYWNlZCBub2RlIHdlIGRvIG5vdCB3YW50IHRvIGNvbnRpbnVlIG5lc3Rpbmcgd2l0aGluIGl0LgogICAgICAgIC8vIFNob3J0LWNpcmN1aXQgdG8gdGhlIHN0YW5kYXJkIHJlcGxhY2VtZW50CiAgICAgICAgaWYgKH5jbGFzc0FycmF5KG5vZGUpLmluZGV4T2YoY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MpKSB7CiAgICAgICAgICByZXR1cm4gbXV0YXRvcnMucmVwbGFjZShtdXRhdGlvbik7CiAgICAgICAgfQogICAgCiAgICAgICAgdmFyIGZvclN2ZyA9IG5ldyBSZWdFeHAoY29uZmlnLmZhbWlseVByZWZpeCArICctLionKTsKICAgIAogICAgICAgIGRlbGV0ZSBhYnN0cmFjdFswXS5hdHRyaWJ1dGVzLnN0eWxlOwogICAgCiAgICAgICAgdmFyIHNwbGl0Q2xhc3NlcyA9IGFic3RyYWN0WzBdLmF0dHJpYnV0ZXMuY2xhc3Muc3BsaXQoJyAnKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgY2xzKSB7CiAgICAgICAgICBpZiAoY2xzID09PSBjb25maWcucmVwbGFjZW1lbnRDbGFzcyB8fCBjbHMubWF0Y2goZm9yU3ZnKSkgewogICAgICAgICAgICBhY2MudG9TdmcucHVzaChjbHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYWNjLnRvTm9kZS5wdXNoKGNscyk7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIHJldHVybiBhY2M7CiAgICAgICAgfSwgeyB0b05vZGU6IFtdLCB0b1N2ZzogW10gfSk7CiAgICAKICAgICAgICBhYnN0cmFjdFswXS5hdHRyaWJ1dGVzLmNsYXNzID0gc3BsaXRDbGFzc2VzLnRvU3ZnLmpvaW4oJyAnKTsKICAgIAogICAgICAgIHZhciBuZXdJbm5lckhUTUwgPSBhYnN0cmFjdC5tYXAoZnVuY3Rpb24gKGEpIHsKICAgICAgICAgIHJldHVybiB0b0h0bWwoYSk7CiAgICAgICAgfSkuam9pbignXG4nKTsKICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCBzcGxpdENsYXNzZXMudG9Ob2RlLmpvaW4oJyAnKSk7CiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoREFUQV9GQV9JMlNWRywgJycpOwogICAgICAgIG5vZGUuaW5uZXJIVE1MID0gbmV3SW5uZXJIVE1MOwogICAgICB9CiAgICB9OwogICAgCiAgICBmdW5jdGlvbiBwZXJmb3JtKG11dGF0aW9ucywgY2FsbGJhY2spIHsKICAgICAgdmFyIGNhbGxiYWNrRnVuY3Rpb24gPSB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicgPyBjYWxsYmFjayA6IG5vb3AkMTsKICAgIAogICAgICBpZiAobXV0YXRpb25zLmxlbmd0aCA9PT0gMCkgewogICAgICAgIGNhbGxiYWNrRnVuY3Rpb24oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgZnJhbWUgPSBXSU5ET1cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8IGZ1bmN0aW9uIChvcCkgewogICAgICAgICAgcmV0dXJuIG9wKCk7CiAgICAgICAgfTsKICAgIAogICAgICAgIGZyYW1lKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHZhciBtdXRhdG9yID0gZ2V0TXV0YXRvcigpOwogICAgICAgICAgdmFyIG1hcmsgPSBwZXJmLmJlZ2luKCdtdXRhdGUnKTsKICAgIAogICAgICAgICAgbXV0YXRpb25zLm1hcChtdXRhdG9yKTsKICAgIAogICAgICAgICAgbWFyaygpOwogICAgCiAgICAgICAgICBjYWxsYmFja0Z1bmN0aW9uKCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgdmFyIGRpc2FibGVkID0gZmFsc2U7CiAgICAKICAgIGZ1bmN0aW9uIGRpc2FibGVPYnNlcnZhdGlvbihvcGVyYXRpb24pIHsKICAgICAgZGlzYWJsZWQgPSB0cnVlOwogICAgICBvcGVyYXRpb24oKTsKICAgICAgZGlzYWJsZWQgPSBmYWxzZTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gb2JzZXJ2ZShvcHRpb25zKSB7CiAgICAgIGlmICghTVVUQVRJT05fT0JTRVJWRVIpIHJldHVybjsKICAgIAogICAgICB2YXIgdHJlZUNhbGxiYWNrID0gb3B0aW9ucy50cmVlQ2FsbGJhY2ssCiAgICAgICAgICBub2RlQ2FsbGJhY2sgPSBvcHRpb25zLm5vZGVDYWxsYmFjaywKICAgICAgICAgIHBzZXVkb0VsZW1lbnRzQ2FsbGJhY2sgPSBvcHRpb25zLnBzZXVkb0VsZW1lbnRzQ2FsbGJhY2s7CiAgICAKICAgIAogICAgICB2YXIgbW8gPSBuZXcgTVVUQVRJT05fT0JTRVJWRVIoZnVuY3Rpb24gKG9iamVjdHMpIHsKICAgICAgICBpZiAoZGlzYWJsZWQpIHJldHVybjsKICAgIAogICAgICAgIHRvQXJyYXkob2JqZWN0cykuZm9yRWFjaChmdW5jdGlvbiAobXV0YXRpb25SZWNvcmQpIHsKICAgICAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnY2hpbGRMaXN0JyAmJiBtdXRhdGlvblJlY29yZC5hZGRlZE5vZGVzLmxlbmd0aCA+IDAgJiYgIWlzV2F0Y2hlZChtdXRhdGlvblJlY29yZC5hZGRlZE5vZGVzWzBdKSkgewogICAgICAgICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7CiAgICAgICAgICAgICAgcHNldWRvRWxlbWVudHNDYWxsYmFjayhtdXRhdGlvblJlY29yZC50YXJnZXQpOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgdHJlZUNhbGxiYWNrKG11dGF0aW9uUmVjb3JkLnRhcmdldCk7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIGlmIChtdXRhdGlvblJlY29yZC50eXBlID09PSAnYXR0cmlidXRlcycgJiYgbXV0YXRpb25SZWNvcmQudGFyZ2V0LnBhcmVudE5vZGUgJiYgY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7CiAgICAgICAgICAgIHBzZXVkb0VsZW1lbnRzQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0LnBhcmVudE5vZGUpOwogICAgICAgICAgfQogICAgCiAgICAgICAgICBpZiAobXV0YXRpb25SZWNvcmQudHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIGlzV2F0Y2hlZChtdXRhdGlvblJlY29yZC50YXJnZXQpICYmIH5BVFRSSUJVVEVTX1dBVENIRURfRk9SX01VVEFUSU9OLmluZGV4T2YobXV0YXRpb25SZWNvcmQuYXR0cmlidXRlTmFtZSkpIHsKICAgICAgICAgICAgaWYgKG11dGF0aW9uUmVjb3JkLmF0dHJpYnV0ZU5hbWUgPT09ICdjbGFzcycpIHsKICAgICAgICAgICAgICB2YXIgX2dldENhbm9uaWNhbEljb24gPSBnZXRDYW5vbmljYWxJY29uKGNsYXNzQXJyYXkobXV0YXRpb25SZWNvcmQudGFyZ2V0KSksCiAgICAgICAgICAgICAgICAgIHByZWZpeCA9IF9nZXRDYW5vbmljYWxJY29uLnByZWZpeCwKICAgICAgICAgICAgICAgICAgaWNvbk5hbWUgPSBfZ2V0Q2Fub25pY2FsSWNvbi5pY29uTmFtZTsKICAgIAogICAgICAgICAgICAgIGlmIChwcmVmaXgpIG11dGF0aW9uUmVjb3JkLnRhcmdldC5zZXRBdHRyaWJ1dGUoJ2RhdGEtcHJlZml4JywgcHJlZml4KTsKICAgICAgICAgICAgICBpZiAoaWNvbk5hbWUpIG11dGF0aW9uUmVjb3JkLnRhcmdldC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaWNvbicsIGljb25OYW1lKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBub2RlQ2FsbGJhY2sobXV0YXRpb25SZWNvcmQudGFyZ2V0KTsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9KTsKICAgIAogICAgICBpZiAoIUlTX0RPTSkgcmV0dXJuOwogICAgCiAgICAgIG1vLm9ic2VydmUoRE9DVU1FTlQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSwgewogICAgICAgIGNoaWxkTGlzdDogdHJ1ZSwgYXR0cmlidXRlczogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgc3VidHJlZTogdHJ1ZQogICAgICB9KTsKICAgIH0KICAgIAogICAgdmFyIHN0eWxlUGFyc2VyID0gZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgdmFyIHN0eWxlID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ3N0eWxlJyk7CiAgICAKICAgICAgdmFyIHZhbCA9IFtdOwogICAgCiAgICAgIGlmIChzdHlsZSkgewogICAgICAgIHZhbCA9IHN0eWxlLnNwbGl0KCc7JykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHN0eWxlKSB7CiAgICAgICAgICB2YXIgc3R5bGVzID0gc3R5bGUuc3BsaXQoJzonKTsKICAgICAgICAgIHZhciBwcm9wID0gc3R5bGVzWzBdOwogICAgICAgICAgdmFyIHZhbHVlID0gc3R5bGVzLnNsaWNlKDEpOwogICAgCiAgICAgICAgICBpZiAocHJvcCAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIGFjY1twcm9wXSA9IHZhbHVlLmpvaW4oJzonKS50cmltKCk7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIHJldHVybiBhY2M7CiAgICAgICAgfSwge30pOwogICAgICB9CiAgICAKICAgICAgcmV0dXJuIHZhbDsKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uIHRvSGV4KHVuaWNvZGUpIHsKICAgICAgdmFyIHJlc3VsdCA9ICcnOwogICAgCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdW5pY29kZS5sZW5ndGg7IGkrKykgewogICAgICAgIHZhciBoZXggPSB1bmljb2RlLmNoYXJDb2RlQXQoaSkudG9TdHJpbmcoMTYpOwogICAgICAgIHJlc3VsdCArPSAoJzAwMCcgKyBoZXgpLnNsaWNlKC00KTsKICAgICAgfQogICAgCiAgICAgIHJldHVybiByZXN1bHQ7CiAgICB9CiAgICAKICAgIHZhciBjbGFzc1BhcnNlciA9IGZ1bmN0aW9uIChub2RlKSB7CiAgICAgIHZhciBleGlzdGluZ1ByZWZpeCA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXByZWZpeCcpOwogICAgICB2YXIgZXhpc3RpbmdJY29uTmFtZSA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWljb24nKTsKICAgICAgdmFyIGlubmVyVGV4dCA9IG5vZGUuaW5uZXJUZXh0ICE9PSB1bmRlZmluZWQgPyBub2RlLmlubmVyVGV4dC50cmltKCkgOiAnJzsKICAgIAogICAgICB2YXIgdmFsID0gZ2V0Q2Fub25pY2FsSWNvbihjbGFzc0FycmF5KG5vZGUpKTsKICAgIAogICAgICBpZiAoZXhpc3RpbmdQcmVmaXggJiYgZXhpc3RpbmdJY29uTmFtZSkgewogICAgICAgIHZhbC5wcmVmaXggPSBleGlzdGluZ1ByZWZpeDsKICAgICAgICB2YWwuaWNvbk5hbWUgPSBleGlzdGluZ0ljb25OYW1lOwogICAgICB9CiAgICAKICAgICAgaWYgKHZhbC5wcmVmaXggJiYgaW5uZXJUZXh0Lmxlbmd0aCA+IDEpIHsKICAgICAgICB2YWwuaWNvbk5hbWUgPSBieUxpZ2F0dXJlKHZhbC5wcmVmaXgsIG5vZGUuaW5uZXJUZXh0KTsKICAgICAgfSBlbHNlIGlmICh2YWwucHJlZml4ICYmIGlubmVyVGV4dC5sZW5ndGggPT09IDEpIHsKICAgICAgICB2YWwuaWNvbk5hbWUgPSBieVVuaWNvZGUodmFsLnByZWZpeCwgdG9IZXgobm9kZS5pbm5lclRleHQpKTsKICAgICAgfQogICAgCiAgICAgIHJldHVybiB2YWw7CiAgICB9OwogICAgCiAgICB2YXIgcGFyc2VUcmFuc2Zvcm1TdHJpbmcgPSBmdW5jdGlvbiBwYXJzZVRyYW5zZm9ybVN0cmluZyh0cmFuc2Zvcm1TdHJpbmcpIHsKICAgICAgdmFyIHRyYW5zZm9ybSA9IHsKICAgICAgICBzaXplOiAxNiwKICAgICAgICB4OiAwLAogICAgICAgIHk6IDAsCiAgICAgICAgZmxpcFg6IGZhbHNlLAogICAgICAgIGZsaXBZOiBmYWxzZSwKICAgICAgICByb3RhdGU6IDAKICAgICAgfTsKICAgIAogICAgICBpZiAoIXRyYW5zZm9ybVN0cmluZykgewogICAgICAgIHJldHVybiB0cmFuc2Zvcm07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybVN0cmluZy50b0xvd2VyQ2FzZSgpLnNwbGl0KCcgJykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIG4pIHsKICAgICAgICAgIHZhciBwYXJ0cyA9IG4udG9Mb3dlckNhc2UoKS5zcGxpdCgnLScpOwogICAgICAgICAgdmFyIGZpcnN0ID0gcGFydHNbMF07CiAgICAgICAgICB2YXIgcmVzdCA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oJy0nKTsKICAgIAogICAgICAgICAgaWYgKGZpcnN0ICYmIHJlc3QgPT09ICdoJykgewogICAgICAgICAgICBhY2MuZmxpcFggPSB0cnVlOwogICAgICAgICAgICByZXR1cm4gYWNjOwogICAgICAgICAgfQogICAgCiAgICAgICAgICBpZiAoZmlyc3QgJiYgcmVzdCA9PT0gJ3YnKSB7CiAgICAgICAgICAgIGFjYy5mbGlwWSA9IHRydWU7CiAgICAgICAgICAgIHJldHVybiBhY2M7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIHJlc3QgPSBwYXJzZUZsb2F0KHJlc3QpOwogICAgCiAgICAgICAgICBpZiAoaXNOYU4ocmVzdCkpIHsKICAgICAgICAgICAgcmV0dXJuIGFjYzsKICAgICAgICAgIH0KICAgIAogICAgICAgICAgc3dpdGNoIChmaXJzdCkgewogICAgICAgICAgICBjYXNlICdncm93JzoKICAgICAgICAgICAgICBhY2Muc2l6ZSA9IGFjYy5zaXplICsgcmVzdDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnc2hyaW5rJzoKICAgICAgICAgICAgICBhY2Muc2l6ZSA9IGFjYy5zaXplIC0gcmVzdDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnbGVmdCc6CiAgICAgICAgICAgICAgYWNjLnggPSBhY2MueCAtIHJlc3Q7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzoKICAgICAgICAgICAgICBhY2MueCA9IGFjYy54ICsgcmVzdDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAndXAnOgogICAgICAgICAgICAgIGFjYy55ID0gYWNjLnkgLSByZXN0OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICdkb3duJzoKICAgICAgICAgICAgICBhY2MueSA9IGFjYy55ICsgcmVzdDsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAncm90YXRlJzoKICAgICAgICAgICAgICBhY2Mucm90YXRlID0gYWNjLnJvdGF0ZSArIHJlc3Q7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIHJldHVybiBhY2M7CiAgICAgICAgfSwgdHJhbnNmb3JtKTsKICAgICAgfQogICAgfTsKICAgIAogICAgdmFyIHRyYW5zZm9ybVBhcnNlciA9IGZ1bmN0aW9uIChub2RlKSB7CiAgICAgIHJldHVybiBwYXJzZVRyYW5zZm9ybVN0cmluZyhub2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1mYS10cmFuc2Zvcm0nKSk7CiAgICB9OwogICAgCiAgICB2YXIgc3ltYm9sUGFyc2VyID0gZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgdmFyIHN5bWJvbCA9IG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLWZhLXN5bWJvbCcpOwogICAgCiAgICAgIHJldHVybiBzeW1ib2wgPT09IG51bGwgPyBmYWxzZSA6IHN5bWJvbCA9PT0gJycgPyB0cnVlIDogc3ltYm9sOwogICAgfTsKICAgIAogICAgdmFyIGF0dHJpYnV0ZXNQYXJzZXIgPSBmdW5jdGlvbiAobm9kZSkgewogICAgICB2YXIgZXh0cmFBdHRyaWJ1dGVzID0gdG9BcnJheShub2RlLmF0dHJpYnV0ZXMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBhdHRyKSB7CiAgICAgICAgaWYgKGFjYy5uYW1lICE9PSAnY2xhc3MnICYmIGFjYy5uYW1lICE9PSAnc3R5bGUnKSB7CiAgICAgICAgICBhY2NbYXR0ci5uYW1lXSA9IGF0dHIudmFsdWU7CiAgICAgICAgfQogICAgICAgIHJldHVybiBhY2M7CiAgICAgIH0sIHt9KTsKICAgIAogICAgICB2YXIgdGl0bGUgPSBub2RlLmdldEF0dHJpYnV0ZSgndGl0bGUnKTsKICAgIAogICAgICBpZiAoY29uZmlnLmF1dG9BMTF5KSB7CiAgICAgICAgaWYgKHRpdGxlKSB7CiAgICAgICAgICBleHRyYUF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgKyAnLXRpdGxlLScgKyBuZXh0VW5pcXVlSWQoKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZXh0cmFBdHRyaWJ1dGVzWydhcmlhLWhpZGRlbiddID0gJ3RydWUnOwogICAgICAgIH0KICAgICAgfQogICAgCiAgICAgIHJldHVybiBleHRyYUF0dHJpYnV0ZXM7CiAgICB9OwogICAgCiAgICB2YXIgbWFza1BhcnNlciA9IGZ1bmN0aW9uIChub2RlKSB7CiAgICAgIHZhciBtYXNrID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtZmEtbWFzaycpOwogICAgCiAgICAgIGlmICghbWFzaykgewogICAgICAgIHJldHVybiBlbXB0eUNhbm9uaWNhbEljb24oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gZ2V0Q2Fub25pY2FsSWNvbihtYXNrLnNwbGl0KCcgJykubWFwKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICByZXR1cm4gaS50cmltKCk7CiAgICAgICAgfSkpOwogICAgICB9CiAgICB9OwogICAgCiAgICBmdW5jdGlvbiBwYXJzZU1ldGEobm9kZSkgewogICAgICB2YXIgX2NsYXNzUGFyc2VyID0gY2xhc3NQYXJzZXIobm9kZSksCiAgICAgICAgICBpY29uTmFtZSA9IF9jbGFzc1BhcnNlci5pY29uTmFtZSwKICAgICAgICAgIHByZWZpeCA9IF9jbGFzc1BhcnNlci5wcmVmaXgsCiAgICAgICAgICBleHRyYUNsYXNzZXMgPSBfY2xhc3NQYXJzZXIucmVzdDsKICAgIAogICAgICB2YXIgZXh0cmFTdHlsZXMgPSBzdHlsZVBhcnNlcihub2RlKTsKICAgICAgdmFyIHRyYW5zZm9ybSA9IHRyYW5zZm9ybVBhcnNlcihub2RlKTsKICAgICAgdmFyIHN5bWJvbCA9IHN5bWJvbFBhcnNlcihub2RlKTsKICAgICAgdmFyIGV4dHJhQXR0cmlidXRlcyA9IGF0dHJpYnV0ZXNQYXJzZXIobm9kZSk7CiAgICAgIHZhciBtYXNrID0gbWFza1BhcnNlcihub2RlKTsKICAgIAogICAgICByZXR1cm4gewogICAgICAgIGljb25OYW1lOiBpY29uTmFtZSwKICAgICAgICB0aXRsZTogbm9kZS5nZXRBdHRyaWJ1dGUoJ3RpdGxlJyksCiAgICAgICAgcHJlZml4OiBwcmVmaXgsCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sCiAgICAgICAgc3ltYm9sOiBzeW1ib2wsCiAgICAgICAgbWFzazogbWFzaywKICAgICAgICBleHRyYTogewogICAgICAgICAgY2xhc3NlczogZXh0cmFDbGFzc2VzLAogICAgICAgICAgc3R5bGVzOiBleHRyYVN0eWxlcywKICAgICAgICAgIGF0dHJpYnV0ZXM6IGV4dHJhQXR0cmlidXRlcwogICAgICAgIH0KICAgICAgfTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gTWlzc2luZ0ljb24oZXJyb3IpIHsKICAgICAgdGhpcy5uYW1lID0gJ01pc3NpbmdJY29uJzsKICAgICAgdGhpcy5tZXNzYWdlID0gZXJyb3IgfHwgJ0ljb24gdW5hdmFpbGFibGUnOwogICAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKCkuc3RhY2s7CiAgICB9CiAgICAKICAgIE1pc3NpbmdJY29uLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTsKICAgIE1pc3NpbmdJY29uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE1pc3NpbmdJY29uOwogICAgCiAgICB2YXIgRklMTCA9IHsgZmlsbDogJ2N1cnJlbnRDb2xvcicgfTsKICAgIHZhciBBTklNQVRJT05fQkFTRSA9IHsKICAgICAgYXR0cmlidXRlVHlwZTogJ1hNTCcsCiAgICAgIHJlcGVhdENvdW50OiAnaW5kZWZpbml0ZScsCiAgICAgIGR1cjogJzJzJwogICAgfTsKICAgIHZhciBSSU5HID0gewogICAgICB0YWc6ICdwYXRoJywKICAgICAgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIEZJTEwsIHsKICAgICAgICBkOiAnTTE1Ni41LDQ0Ny43bC0xMi42LDI5LjVjLTE4LjctOS41LTM1LjktMjEuMi01MS41LTM0LjlsMjIuNy0yMi43QzEyNy42LDQzMC41LDE0MS41LDQ0MCwxNTYuNSw0NDcuN3ogTTQwLjYsMjcySDguNSBjMS40LDIxLjIsNS40LDQxLjcsMTEuNyw2MS4xTDUwLDMyMS4yQzQ1LjEsMzA1LjUsNDEuOCwyODksNDAuNiwyNzJ6IE00MC42LDI0MGMxLjQtMTguOCw1LjItMzcsMTEuMS01NC4xbC0yOS41LTEyLjYgQzE0LjcsMTk0LjMsMTAsMjE2LjcsOC41LDI0MEg0MC42eiBNNjQuMywxNTYuNWM3LjgtMTQuOSwxNy4yLTI4LjgsMjguMS00MS41TDY5LjcsOTIuM2MtMTMuNywxNS42LTI1LjUsMzIuOC0zNC45LDUxLjUgTDY0LjMsMTU2LjV6IE0zOTcsNDE5LjZjLTEzLjksMTItMjkuNCwyMi4zLTQ2LjEsMzAuNGwxMS45LDI5LjhjMjAuNy05LjksMzkuOC0yMi42LDU2LjktMzcuNkwzOTcsNDE5LjZ6IE0xMTUsOTIuNCBjMTMuOS0xMiwyOS40LTIyLjMsNDYuMS0zMC40bC0xMS45LTI5LjhjLTIwLjcsOS45LTM5LjgsMjIuNi01Ni44LDM3LjZMMTE1LDkyLjR6IE00NDcuNywzNTUuNWMtNy44LDE0LjktMTcuMiwyOC44LTI4LjEsNDEuNSBsMjIuNywyMi43YzEzLjctMTUuNiwyNS41LTMyLjksMzQuOS01MS41TDQ0Ny43LDM1NS41eiBNNDcxLjQsMjcyYy0xLjQsMTguOC01LjIsMzctMTEuMSw1NC4xbDI5LjUsMTIuNiBjNy41LTIxLjEsMTIuMi00My41LDEzLjYtNjYuOEg0NzEuNHogTTMyMS4yLDQ2MmMtMTUuNyw1LTMyLjIsOC4yLTQ5LjIsOS40djMyLjFjMjEuMi0xLjQsNDEuNy01LjQsNjEuMS0xMS43TDMyMS4yLDQ2MnogTTI0MCw0NzEuNGMtMTguOC0xLjQtMzctNS4yLTU0LjEtMTEuMWwtMTIuNiwyOS41YzIxLjEsNy41LDQzLjUsMTIuMiw2Ni44LDEzLjZWNDcxLjR6IE00NjIsMTkwLjhjNSwxNS43LDguMiwzMi4yLDkuNCw0OS4yaDMyLjEgYy0xLjQtMjEuMi01LjQtNDEuNy0xMS43LTYxLjFMNDYyLDE5MC44eiBNOTIuNCwzOTdjLTEyLTEzLjktMjIuMy0yOS40LTMwLjQtNDYuMWwtMjkuOCwxMS45YzkuOSwyMC43LDIyLjYsMzkuOCwzNy42LDU2LjkgTDkyLjQsMzk3eiBNMjcyLDQwLjZjMTguOCwxLjQsMzYuOSw1LjIsNTQuMSwxMS4xbDEyLjYtMjkuNUMzMTcuNywxNC43LDI5NS4zLDEwLDI3Miw4LjVWNDAuNnogTTE5MC44LDUwIGMxNS43LTUsMzIuMi04LjIsNDkuMi05LjRWOC41Yy0yMS4yLDEuNC00MS43LDUuNC02MS4xLDExLjdMMTkwLjgsNTB6IE00NDIuMyw5Mi4zTDQxOS42LDExNWMxMiwxMy45LDIyLjMsMjkuNCwzMC41LDQ2LjEgbDI5LjgtMTEuOUM0NzAsMTI4LjUsNDU3LjMsMTA5LjQsNDQyLjMsOTIuM3ogTTM5Nyw5Mi40bDIyLjctMjIuN2MtMTUuNi0xMy43LTMyLjgtMjUuNS01MS41LTM0LjlsLTEyLjYsMjkuNSBDMzcwLjQsNzIuMSwzODQuNCw4MS41LDM5Nyw5Mi40eicKICAgICAgfSkKICAgIH07CiAgICB2YXIgT1BBQ0lUWV9BTklNQVRFID0gX2V4dGVuZHMoe30sIEFOSU1BVElPTl9CQVNFLCB7CiAgICAgIGF0dHJpYnV0ZU5hbWU6ICdvcGFjaXR5JwogICAgfSk7CiAgICB2YXIgRE9UID0gewogICAgICB0YWc6ICdjaXJjbGUnLAogICAgICBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgRklMTCwgewogICAgICAgIGN4OiAnMjU2JywKICAgICAgICBjeTogJzM2NCcsCiAgICAgICAgcjogJzI4JwogICAgICB9KSwKICAgICAgY2hpbGRyZW46IFt7IHRhZzogJ2FuaW1hdGUnLCBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgQU5JTUFUSU9OX0JBU0UsIHsgYXR0cmlidXRlTmFtZTogJ3InLCB2YWx1ZXM6ICcyODsxNDsyODsyODsxNDsyODsnIH0pIH0sIHsgdGFnOiAnYW5pbWF0ZScsIGF0dHJpYnV0ZXM6IF9leHRlbmRzKHt9LCBPUEFDSVRZX0FOSU1BVEUsIHsgdmFsdWVzOiAnMTswOzE7MTswOzE7JyB9KSB9XQogICAgfTsKICAgIHZhciBRVUVTVElPTiA9IHsKICAgICAgdGFnOiAncGF0aCcsCiAgICAgIGF0dHJpYnV0ZXM6IF9leHRlbmRzKHt9LCBGSUxMLCB7CiAgICAgICAgb3BhY2l0eTogJzEnLAogICAgICAgIGQ6ICdNMjYzLjcsMzEyaC0xNmMtNi42LDAtMTItNS40LTEyLTEyYzAtNzEsNzcuNC02My45LDc3LjQtMTA3LjhjMC0yMC0xNy44LTQwLjItNTcuNC00MC4yYy0yOS4xLDAtNDQuMyw5LjYtNTkuMiwyOC43IGMtMy45LDUtMTEuMSw2LTE2LjIsMi40bC0xMy4xLTkuMmMtNS42LTMuOS02LjktMTEuOC0yLjYtMTcuMmMyMS4yLTI3LjIsNDYuNC00NC43LDkxLjItNDQuN2M1Mi4zLDAsOTcuNCwyOS44LDk3LjQsODAuMiBjMCw2Ny42LTc3LjQsNjMuNS03Ny40LDEwNy44QzI3NS43LDMwNi42LDI3MC4zLDMxMiwyNjMuNywzMTJ6JwogICAgICB9KSwKICAgICAgY2hpbGRyZW46IFt7IHRhZzogJ2FuaW1hdGUnLCBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgT1BBQ0lUWV9BTklNQVRFLCB7IHZhbHVlczogJzE7MDswOzA7MDsxOycgfSkgfV0KICAgIH07CiAgICB2YXIgRVhDTEFNQVRJT04gPSB7CiAgICAgIHRhZzogJ3BhdGgnLAogICAgICBhdHRyaWJ1dGVzOiBfZXh0ZW5kcyh7fSwgRklMTCwgewogICAgICAgIG9wYWNpdHk6ICcwJywKICAgICAgICBkOiAnTTIzMi41LDEzNC41bDcsMTY4YzAuMyw2LjQsNS42LDExLjUsMTIsMTEuNWg5YzYuNCwwLDExLjctNS4xLDEyLTExLjVsNy0xNjhjMC4zLTYuOC01LjItMTIuNS0xMi0xMi41aC0yMyBDMjM3LjcsMTIyLDIzMi4yLDEyNy43LDIzMi41LDEzNC41eicKICAgICAgfSksCiAgICAgIGNoaWxkcmVuOiBbeyB0YWc6ICdhbmltYXRlJywgYXR0cmlidXRlczogX2V4dGVuZHMoe30sIE9QQUNJVFlfQU5JTUFURSwgeyB2YWx1ZXM6ICcwOzA7MTsxOzA7MDsnIH0pIH1dCiAgICB9OwogICAgCiAgICB2YXIgbWlzc2luZyA9IHsgdGFnOiAnZycsIGNoaWxkcmVuOiBbUklORywgRE9ULCBRVUVTVElPTiwgRVhDTEFNQVRJT05dIH07CiAgICAKICAgIHZhciBzdHlsZXMgPSBuYW1lc3BhY2Uuc3R5bGVzOwogICAgCiAgICB2YXIgTEFZRVJTX1RFWFRfQ0xBU1NOQU1FID0gJ2ZhLWxheWVycy10ZXh0JzsKICAgIHZhciBGT05UX0ZBTUlMWV9QQVRURVJOID0gL0ZvbnQgQXdlc29tZSA1IChTb2xpZHxSZWd1bGFyfExpZ2h0fEJyYW5kcykvOwogICAgdmFyIFNUWUxFX1RPX1BSRUZJWCA9IHsKICAgICAgJ1NvbGlkJzogJ2ZhcycsCiAgICAgICdSZWd1bGFyJzogJ2ZhcicsCiAgICAgICdMaWdodCc6ICdmYWwnLAogICAgICAnQnJhbmRzJzogJ2ZhYicKICAgIH07CiAgICAKICAgIGZ1bmN0aW9uIGZpbmRJY29uKGljb25OYW1lLCBwcmVmaXgpIHsKICAgICAgdmFyIHZhbCA9IHsKICAgICAgICBmb3VuZDogZmFsc2UsCiAgICAgICAgd2lkdGg6IDUxMiwKICAgICAgICBoZWlnaHQ6IDUxMiwKICAgICAgICBpY29uOiBtaXNzaW5nCiAgICAgIH07CiAgICAKICAgICAgaWYgKGljb25OYW1lICYmIHByZWZpeCAmJiBzdHlsZXNbcHJlZml4XSAmJiBzdHlsZXNbcHJlZml4XVtpY29uTmFtZV0pIHsKICAgICAgICB2YXIgaWNvbiA9IHN0eWxlc1twcmVmaXhdW2ljb25OYW1lXTsKICAgICAgICB2YXIgd2lkdGggPSBpY29uWzBdOwogICAgICAgIHZhciBoZWlnaHQgPSBpY29uWzFdOwogICAgICAgIHZhciB2ZWN0b3JEYXRhID0gaWNvbi5zbGljZSg0KTsKICAgIAogICAgICAgIHZhbCA9IHsKICAgICAgICAgIGZvdW5kOiB0cnVlLAogICAgICAgICAgd2lkdGg6IHdpZHRoLAogICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsCiAgICAgICAgICBpY29uOiB7IHRhZzogJ3BhdGgnLCBhdHRyaWJ1dGVzOiB7IGZpbGw6ICdjdXJyZW50Q29sb3InLCBkOiB2ZWN0b3JEYXRhWzBdIH0gfQogICAgICAgIH07CiAgICAgIH0gZWxzZSBpZiAoaWNvbk5hbWUgJiYgcHJlZml4ICYmICFjb25maWcuc2hvd01pc3NpbmdJY29ucykgewogICAgICAgIHRocm93IG5ldyBNaXNzaW5nSWNvbignSWNvbiBpcyBtaXNzaW5nIGZvciBwcmVmaXggJyArIHByZWZpeCArICcgd2l0aCBpY29uIG5hbWUgJyArIGljb25OYW1lKTsKICAgICAgfQogICAgCiAgICAgIHJldHVybiB2YWw7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGdlbmVyYXRlU3ZnUmVwbGFjZW1lbnRNdXRhdGlvbihub2RlLCBub2RlTWV0YSkgewogICAgICB2YXIgaWNvbk5hbWUgPSBub2RlTWV0YS5pY29uTmFtZSwKICAgICAgICAgIHRpdGxlID0gbm9kZU1ldGEudGl0bGUsCiAgICAgICAgICBwcmVmaXggPSBub2RlTWV0YS5wcmVmaXgsCiAgICAgICAgICB0cmFuc2Zvcm0gPSBub2RlTWV0YS50cmFuc2Zvcm0sCiAgICAgICAgICBzeW1ib2wgPSBub2RlTWV0YS5zeW1ib2wsCiAgICAgICAgICBtYXNrID0gbm9kZU1ldGEubWFzaywKICAgICAgICAgIGV4dHJhID0gbm9kZU1ldGEuZXh0cmE7CiAgICAKICAgIAogICAgICByZXR1cm4gW25vZGUsIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7CiAgICAgICAgaWNvbnM6IHsKICAgICAgICAgIG1haW46IGZpbmRJY29uKGljb25OYW1lLCBwcmVmaXgpLAogICAgICAgICAgbWFzazogZmluZEljb24obWFzay5pY29uTmFtZSwgbWFzay5wcmVmaXgpCiAgICAgICAgfSwKICAgICAgICBwcmVmaXg6IHByZWZpeCwKICAgICAgICBpY29uTmFtZTogaWNvbk5hbWUsCiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sCiAgICAgICAgc3ltYm9sOiBzeW1ib2wsCiAgICAgICAgbWFzazogbWFzaywKICAgICAgICB0aXRsZTogdGl0bGUsCiAgICAgICAgZXh0cmE6IGV4dHJhLAogICAgICAgIHdhdGNoYWJsZTogdHJ1ZQogICAgICB9KV07CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGdlbmVyYXRlTGF5ZXJzVGV4dChub2RlLCBub2RlTWV0YSkgewogICAgICB2YXIgdGl0bGUgPSBub2RlTWV0YS50aXRsZSwKICAgICAgICAgIHRyYW5zZm9ybSA9IG5vZGVNZXRhLnRyYW5zZm9ybSwKICAgICAgICAgIGV4dHJhID0gbm9kZU1ldGEuZXh0cmE7CiAgICAKICAgIAogICAgICB2YXIgd2lkdGggPSBudWxsOwogICAgICB2YXIgaGVpZ2h0ID0gbnVsbDsKICAgIAogICAgICBpZiAoSVNfSUUpIHsKICAgICAgICB2YXIgY29tcHV0ZWRGb250U2l6ZSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUobm9kZSkuZm9udFNpemUsIDEwKTsKICAgICAgICB2YXIgYm91bmRpbmdDbGllbnRSZWN0ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICB3aWR0aCA9IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCAvIGNvbXB1dGVkRm9udFNpemU7CiAgICAgICAgaGVpZ2h0ID0gYm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCAvIGNvbXB1dGVkRm9udFNpemU7CiAgICAgIH0KICAgIAogICAgICBpZiAoY29uZmlnLmF1dG9BMTF5ICYmICF0aXRsZSkgewogICAgICAgIGV4dHJhLmF0dHJpYnV0ZXNbJ2FyaWEtaGlkZGVuJ10gPSAndHJ1ZSc7CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gW25vZGUsIG1ha2VMYXllcnNUZXh0QWJzdHJhY3QoewogICAgICAgIGNvbnRlbnQ6IG5vZGUuaW5uZXJIVE1MLAogICAgICAgIHdpZHRoOiB3aWR0aCwKICAgICAgICBoZWlnaHQ6IGhlaWdodCwKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zZm9ybSwKICAgICAgICB0aXRsZTogdGl0bGUsCiAgICAgICAgZXh0cmE6IGV4dHJhLAogICAgICAgIHdhdGNoYWJsZTogdHJ1ZQogICAgICB9KV07CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGdlbmVyYXRlTXV0YXRpb24obm9kZSkgewogICAgICB2YXIgbm9kZU1ldGEgPSBwYXJzZU1ldGEobm9kZSk7CiAgICAKICAgICAgaWYgKH5ub2RlTWV0YS5leHRyYS5jbGFzc2VzLmluZGV4T2YoTEFZRVJTX1RFWFRfQ0xBU1NOQU1FKSkgewogICAgICAgIHJldHVybiBnZW5lcmF0ZUxheWVyc1RleHQobm9kZSwgbm9kZU1ldGEpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBnZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24obm9kZSwgbm9kZU1ldGEpOwogICAgICB9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHJlbW92ZShub2RlKSB7CiAgICAgIGlmICh0eXBlb2Ygbm9kZS5yZW1vdmUgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICBub2RlLnJlbW92ZSgpOwogICAgICB9IGVsc2UgaWYgKG5vZGUgJiYgbm9kZS5wYXJlbnROb2RlKSB7CiAgICAgICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpOwogICAgICB9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHNlYXJjaFBzZXVkb0VsZW1lbnRzKHJvb3QpIHsKICAgICAgaWYgKCFJU19ET00pIHJldHVybjsKICAgIAogICAgICB2YXIgZW5kID0gcGVyZi5iZWdpbignc2VhcmNoUHNldWRvRWxlbWVudHMnKTsKICAgIAogICAgICBkaXNhYmxlT2JzZXJ2YXRpb24oZnVuY3Rpb24gKCkgewogICAgICAgIHRvQXJyYXkocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJykpLmZvckVhY2goZnVuY3Rpb24gKG5vZGUpIHsKICAgICAgICAgIFsnOmJlZm9yZScsICc6YWZ0ZXInXS5mb3JFYWNoKGZ1bmN0aW9uIChwb3MpIHsKICAgICAgICAgICAgdmFyIHN0eWxlcyA9IFdJTkRPVy5nZXRDb21wdXRlZFN0eWxlKG5vZGUsIHBvcyk7CiAgICAgICAgICAgIHZhciBmb250RmFtaWx5ID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ2ZvbnQtZmFtaWx5JykubWF0Y2goRk9OVF9GQU1JTFlfUEFUVEVSTik7CiAgICAgICAgICAgIHZhciBjaGlsZHJlbiA9IHRvQXJyYXkobm9kZS5jaGlsZHJlbik7CiAgICAgICAgICAgIHZhciBwc2V1ZG9FbGVtZW50ID0gY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uIChjKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGMuZ2V0QXR0cmlidXRlKERBVEFfRkFfUFNFVURPX0VMRU1FTlQpID09PSBwb3M7CiAgICAgICAgICAgIH0pWzBdOwogICAgCiAgICAgICAgICAgIGlmIChwc2V1ZG9FbGVtZW50KSB7CiAgICAgICAgICAgICAgaWYgKHBzZXVkb0VsZW1lbnQubmV4dFNpYmxpbmcgJiYgcHNldWRvRWxlbWVudC5uZXh0U2libGluZy50ZXh0Q29udGVudC5pbmRleE9mKERBVEFfRkFfUFNFVURPX0VMRU1FTlQpID4gLTEpIHsKICAgICAgICAgICAgICAgIHJlbW92ZShwc2V1ZG9FbGVtZW50Lm5leHRTaWJsaW5nKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmVtb3ZlKHBzZXVkb0VsZW1lbnQpOwogICAgICAgICAgICAgIHBzZXVkb0VsZW1lbnQgPSBudWxsOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaWYgKGZvbnRGYW1pbHkgJiYgIXBzZXVkb0VsZW1lbnQpIHsKICAgICAgICAgICAgICB2YXIgY29udGVudCA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50Jyk7CiAgICAgICAgICAgICAgdmFyIGkgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50KCdpJyk7CiAgICAgICAgICAgICAgaS5zZXRBdHRyaWJ1dGUoJ2NsYXNzJywgJycgKyBTVFlMRV9UT19QUkVGSVhbZm9udEZhbWlseVsxXV0pOwogICAgICAgICAgICAgIGkuc2V0QXR0cmlidXRlKERBVEFfRkFfUFNFVURPX0VMRU1FTlQsIHBvcyk7CiAgICAgICAgICAgICAgaS5pbm5lclRleHQgPSBjb250ZW50Lmxlbmd0aCA9PT0gMyA/IGNvbnRlbnQuc3Vic3RyKDEsIDEpIDogY29udGVudDsKICAgICAgICAgICAgICBpZiAocG9zID09PSAnOmJlZm9yZScpIHsKICAgICAgICAgICAgICAgIG5vZGUuaW5zZXJ0QmVmb3JlKGksIG5vZGUuZmlyc3RDaGlsZCk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG5vZGUuYXBwZW5kQ2hpbGQoaSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAKICAgICAgZW5kKCk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIG9uVHJlZShyb290KSB7CiAgICAgIHZhciBjYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDsKICAgIAogICAgICBpZiAoIUlTX0RPTSkgcmV0dXJuOwogICAgCiAgICAgIHZhciBodG1sQ2xhc3NMaXN0ID0gRE9DVU1FTlQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdDsKICAgICAgdmFyIGhjbEFkZCA9IGZ1bmN0aW9uIGhjbEFkZChzdWZmaXgpIHsKICAgICAgICByZXR1cm4gaHRtbENsYXNzTGlzdC5hZGQoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTICsgJy0nICsgc3VmZml4KTsKICAgICAgfTsKICAgICAgdmFyIGhjbFJlbW92ZSA9IGZ1bmN0aW9uIGhjbFJlbW92ZShzdWZmaXgpIHsKICAgICAgICByZXR1cm4gaHRtbENsYXNzTGlzdC5yZW1vdmUoSFRNTF9DTEFTU19JMlNWR19CQVNFX0NMQVNTICsgJy0nICsgc3VmZml4KTsKICAgICAgfTsKICAgICAgdmFyIHByZWZpeGVzID0gT2JqZWN0LmtleXMoc3R5bGVzKTsKICAgICAgdmFyIHByZWZpeGVzRG9tUXVlcnkgPSBbJy4nICsgTEFZRVJTX1RFWFRfQ0xBU1NOQU1FICsgJzpub3QoWycgKyBEQVRBX0ZBX0kyU1ZHICsgJ10pJ10uY29uY2F0KHByZWZpeGVzLm1hcChmdW5jdGlvbiAocCkgewogICAgICAgIHJldHVybiAnLicgKyBwICsgJzpub3QoWycgKyBEQVRBX0ZBX0kyU1ZHICsgJ10pJzsKICAgICAgfSkpLmpvaW4oJywgJyk7CiAgICAKICAgICAgaWYgKHByZWZpeGVzRG9tUXVlcnkubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAKICAgICAgdmFyIGNhbmRpZGF0ZXMgPSB0b0FycmF5KHJvb3QucXVlcnlTZWxlY3RvckFsbChwcmVmaXhlc0RvbVF1ZXJ5KSk7CiAgICAKICAgICAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkgewogICAgICAgIGhjbEFkZCgncGVuZGluZycpOwogICAgICAgIGhjbFJlbW92ZSgnY29tcGxldGUnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgIAogICAgICB2YXIgbWFyayA9IHBlcmYuYmVnaW4oJ29uVHJlZScpOwogICAgCiAgICAgIHZhciBtdXRhdGlvbnMgPSBjYW5kaWRhdGVzLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBub2RlKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciBtdXRhdGlvbiA9IGdlbmVyYXRlTXV0YXRpb24obm9kZSk7CiAgICAKICAgICAgICAgIGlmIChtdXRhdGlvbikgewogICAgICAgICAgICBhY2MucHVzaChtdXRhdGlvbik7CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKCFQUk9EVUNUSU9OKSB7CiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgTWlzc2luZ0ljb24pIHsKICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgCiAgICAgICAgcmV0dXJuIGFjYzsKICAgICAgfSwgW10pOwogICAgCiAgICAgIG1hcmsoKTsKICAgIAogICAgICBwZXJmb3JtKG11dGF0aW9ucywgZnVuY3Rpb24gKCkgewogICAgICAgIGhjbEFkZCgnYWN0aXZlJyk7CiAgICAgICAgaGNsQWRkKCdjb21wbGV0ZScpOwogICAgICAgIGhjbFJlbW92ZSgncGVuZGluZycpOwogICAgCiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgY2FsbGJhY2soKTsKICAgICAgfSk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIG9uTm9kZShub2RlKSB7CiAgICAgIHZhciBjYWxsYmFjayA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDsKICAgIAogICAgICB2YXIgbXV0YXRpb24gPSBnZW5lcmF0ZU11dGF0aW9uKG5vZGUpOwogICAgCiAgICAgIGlmIChtdXRhdGlvbikgewogICAgICAgIHBlcmZvcm0oW211dGF0aW9uXSwgY2FsbGJhY2spOwogICAgICB9CiAgICB9CiAgICAKICAgIHZhciBiYXNlU3R5bGVzID0gInN2Zzpub3QoOnJvb3QpLnN2Zy1pbmxpbmUtLWZhe292ZXJmbG93OnZpc2libGV9LnN2Zy1pbmxpbmUtLWZhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTppbmhlcml0O2hlaWdodDoxZW07b3ZlcmZsb3c6dmlzaWJsZTt2ZXJ0aWNhbC1hbGlnbjotLjEyNWVtfS5zdmctaW5saW5lLS1mYS5mYS1sZ3t2ZXJ0aWNhbC1hbGlnbjotLjIyNWVtfS5zdmctaW5saW5lLS1mYS5mYS13LTF7d2lkdGg6LjA2MjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0ye3dpZHRoOi4xMjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0ze3dpZHRoOi4xODc1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctNHt3aWR0aDouMjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy01e3dpZHRoOi4zMTI1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctNnt3aWR0aDouMzc1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctN3t3aWR0aDouNDM3NWVtfS5zdmctaW5saW5lLS1mYS5mYS13LTh7d2lkdGg6LjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy05e3dpZHRoOi41NjI1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTB7d2lkdGg6LjYyNWVtfS5zdmctaW5saW5lLS1mYS5mYS13LTExe3dpZHRoOi42ODc1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTJ7d2lkdGg6Ljc1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTN7d2lkdGg6LjgxMjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0xNHt3aWR0aDouODc1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTV7d2lkdGg6LjkzNzVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0xNnt3aWR0aDoxZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTd7d2lkdGg6MS4wNjI1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXctMTh7d2lkdGg6MS4xMjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0xOXt3aWR0aDoxLjE4NzVlbX0uc3ZnLWlubGluZS0tZmEuZmEtdy0yMHt3aWR0aDoxLjI1ZW19LnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbTt3aWR0aDphdXRvfS5zdmctaW5saW5lLS1mYS5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW07d2lkdGg6YXV0b30uc3ZnLWlubGluZS0tZmEuZmEtYm9yZGVye2hlaWdodDoxLjVlbX0uc3ZnLWlubGluZS0tZmEuZmEtbGl7d2lkdGg6MmVtfS5zdmctaW5saW5lLS1mYS5mYS1md3t3aWR0aDoxLjI1ZW19LmZhLWxheWVycyBzdmcuc3ZnLWlubGluZS0tZmF7Ym90dG9tOjA7bGVmdDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmZhLWxheWVyc3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MWVtO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOi0uMTI1ZW07d2lkdGg6MWVtfS5mYS1sYXllcnMgc3ZnLnN2Zy1pbmxpbmUtLWZhey13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcn0uZmEtbGF5ZXJzLWNvdW50ZXIsLmZhLWxheWVycy10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyfS5mYS1sYXllcnMtdGV4dHtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXJ9LmZhLWxheWVycy1jb3VudGVye2JhY2tncm91bmQtY29sb3I6I2ZmMjUzYTtib3JkZXItcmFkaXVzOjFlbTtjb2xvcjojZmZmO2hlaWdodDoxLjVlbTtsaW5lLWhlaWdodDoxO21heC13aWR0aDo1ZW07bWluLXdpZHRoOjEuNWVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOi4yNWVtO3JpZ2h0OjA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0b3A6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMjUpO3RyYW5zZm9ybTpzY2FsZSguMjUpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgcmlnaHQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgcmlnaHR9LmZhLWxheWVycy1ib3R0b20tcmlnaHR7Ym90dG9tOjA7cmlnaHQ6MDt0b3A6YXV0bzstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMjUpO3RyYW5zZm9ybTpzY2FsZSguMjUpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpib3R0b20gcmlnaHQ7dHJhbnNmb3JtLW9yaWdpbjpib3R0b20gcmlnaHR9LmZhLWxheWVycy1ib3R0b20tbGVmdHtib3R0b206MDtsZWZ0OjA7cmlnaHQ6YXV0bzt0b3A6YXV0bzstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMjUpO3RyYW5zZm9ybTpzY2FsZSguMjUpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpib3R0b20gbGVmdDt0cmFuc2Zvcm0tb3JpZ2luOmJvdHRvbSBsZWZ0fS5mYS1sYXllcnMtdG9wLXJpZ2h0e3JpZ2h0OjA7dG9wOjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjI1KTt0cmFuc2Zvcm06c2NhbGUoLjI1KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIHJpZ2h0O3RyYW5zZm9ybS1vcmlnaW46dG9wIHJpZ2h0fS5mYS1sYXllcnMtdG9wLWxlZnR7bGVmdDowO3JpZ2h0OmF1dG87dG9wOjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjI1KTt0cmFuc2Zvcm06c2NhbGUoLjI1KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdH0uZmEtbGd7Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDouNzVlbTt2ZXJ0aWNhbC1hbGlnbjotLjA2NjdlbX0uZmEteHN7Zm9udC1zaXplOi43NWVtfS5mYS1zbXtmb250LXNpemU6Ljg3NWVtfS5mYS0xeHtmb250LXNpemU6MWVtfS5mYS0yeHtmb250LXNpemU6MmVtfS5mYS0zeHtmb250LXNpemU6M2VtfS5mYS00eHtmb250LXNpemU6NGVtfS5mYS01eHtmb250LXNpemU6NWVtfS5mYS02eHtmb250LXNpemU6NmVtfS5mYS03eHtmb250LXNpemU6N2VtfS5mYS04eHtmb250LXNpemU6OGVtfS5mYS05eHtmb250LXNpemU6OWVtfS5mYS0xMHh7Zm9udC1zaXplOjEwZW19LmZhLWZ3e3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEuMjVlbX0uZmEtdWx7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luLWxlZnQ6Mi41ZW07cGFkZGluZy1sZWZ0OjB9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtsZWZ0Oi0yZW07cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MmVtO2xpbmUtaGVpZ2h0OmluaGVyaXR9LmZhLWJvcmRlcntib3JkZXI6c29saWQgLjA4ZW0gI2VlZTtib3JkZXItcmFkaXVzOi4xZW07cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtfS5mYS1wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEtcHVsbC1yaWdodHtmbG9hdDpyaWdodH0uZmEuZmEtcHVsbC1sZWZ0LC5mYWIuZmEtcHVsbC1sZWZ0LC5mYWwuZmEtcHVsbC1sZWZ0LC5mYXIuZmEtcHVsbC1sZWZ0LC5mYXMuZmEtcHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5mYS1wdWxsLXJpZ2h0LC5mYWIuZmEtcHVsbC1yaWdodCwuZmFsLmZhLXB1bGwtcmlnaHQsLmZhci5mYS1wdWxsLXJpZ2h0LC5mYXMuZmEtcHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcn0uZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTthbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uZmEtcm90YXRlLTkwey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9LmZhLXJvdGF0ZS0xODB7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5mYS1yb3RhdGUtMjcwey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwxKX0uZmEtZmxpcC12ZXJ0aWNhbHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLC0xKTt0cmFuc2Zvcm06c2NhbGUoMSwtMSl9LmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2Fsey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLC0xKTt0cmFuc2Zvcm06c2NhbGUoLTEsLTEpfTpyb290IC5mYS1mbGlwLWhvcml6b250YWwsOnJvb3QgLmZhLWZsaXAtdmVydGljYWwsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzAsOnJvb3QgLmZhLXJvdGF0ZS05MHstd2Via2l0LWZpbHRlcjpub25lO2ZpbHRlcjpub25lfS5mYS1zdGFja3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MmVtO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjJlbX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e2JvdHRvbTowO2xlZnQ6MDttYXJnaW46YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowfS5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0xeHtoZWlnaHQ6MWVtO3dpZHRoOjFlbX0uc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMnh7aGVpZ2h0OjJlbTt3aWR0aDoyZW19LmZhLWludmVyc2V7Y29sb3I6I2ZmZn0uc3Itb25seXtib3JkZXI6MDtjbGlwOnJlY3QoMCwwLDAsMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3tjbGlwOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0b30iOwogICAgCiAgICB2YXIgY3NzID0gZnVuY3Rpb24gKCkgewogICAgICB2YXIgZGZwID0gREVGQVVMVF9GQU1JTFlfUFJFRklYOwogICAgICB2YXIgZHJjID0gREVGQVVMVF9SRVBMQUNFTUVOVF9DTEFTUzsKICAgICAgdmFyIGZwID0gY29uZmlnLmZhbWlseVByZWZpeDsKICAgICAgdmFyIHJjID0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3M7CiAgICAgIHZhciBzID0gYmFzZVN0eWxlczsKICAgIAogICAgICBpZiAoZnAgIT09IGRmcCB8fCByYyAhPT0gZHJjKSB7CiAgICAgICAgdmFyIGRQYXR0ID0gbmV3IFJlZ0V4cCgnXFwuJyArIGRmcCArICdcXC0nLCAnZycpOwogICAgICAgIHZhciByUGF0dCA9IG5ldyBSZWdFeHAoJ1xcLicgKyBkcmMsICdnJyk7CiAgICAKICAgICAgICBzID0gcy5yZXBsYWNlKGRQYXR0LCAnLicgKyBmcCArICctJykucmVwbGFjZShyUGF0dCwgJy4nICsgcmMpOwogICAgICB9CiAgICAKICAgICAgcmV0dXJuIHM7CiAgICB9OwogICAgCiAgICBmdW5jdGlvbiBkZWZpbmUocHJlZml4LCBpY29ucykgewogICAgICB2YXIgbm9ybWFsaXplZCA9IE9iamVjdC5rZXlzKGljb25zKS5yZWR1Y2UoZnVuY3Rpb24gKGFjYywgaWNvbk5hbWUpIHsKICAgICAgICB2YXIgaWNvbiA9IGljb25zW2ljb25OYW1lXTsKICAgICAgICB2YXIgZXhwYW5kZWQgPSAhIWljb24uaWNvbjsKICAgIAogICAgICAgIGlmIChleHBhbmRlZCkgewogICAgICAgICAgYWNjW2ljb24uaWNvbk5hbWVdID0gaWNvbi5pY29uOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBhY2NbaWNvbk5hbWVdID0gaWNvbjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFjYzsKICAgICAgfSwge30pOwogICAgCiAgICAgIGlmICh0eXBlb2YgbmFtZXNwYWNlLmhvb2tzLmFkZFBhY2sgPT09ICdmdW5jdGlvbicpIHsKICAgICAgICBuYW1lc3BhY2UuaG9va3MuYWRkUGFjayhwcmVmaXgsIG5vcm1hbGl6ZWQpOwogICAgICB9IGVsc2UgewogICAgICAgIG5hbWVzcGFjZS5zdHlsZXNbcHJlZml4XSA9IF9leHRlbmRzKHt9LCBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gfHwge30sIG5vcm1hbGl6ZWQpOwogICAgICB9CiAgICAKICAgICAgLyoqCiAgICAgICAqIEZvbnQgQXdlc29tZSA0IHVzZWQgdGhlIHByZWZpeCBvZiBgZmFgIGZvciBhbGwgaWNvbnMuIFdpdGggdGhlIGludHJvZHVjdGlvbgogICAgICAgKiBvZiBuZXcgc3R5bGVzIHdlIG5lZWRlZCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlbS4gUHJlZml4IGBmYWAgaXMgbm93IGFuIGFsaWFzCiAgICAgICAqIGZvciBgZmFzYCBzbyB3ZSdsbCBlYXN5IHRoZSB1cGdyYWRlIHByb2Nlc3MgZm9yIG91ciB1c2VycyBieSBhdXRvbWF0aWNhbGx5IGRlZmluaW5nCiAgICAgICAqIHRoaXMgYXMgd2VsbC4KICAgICAgICovCiAgICAgIGlmIChwcmVmaXggPT09ICdmYXMnKSB7CiAgICAgICAgZGVmaW5lKCdmYScsIGljb25zKTsKICAgICAgfQogICAgfQogICAgCiAgICB2YXIgTGlicmFyeSA9IGZ1bmN0aW9uICgpIHsKICAgICAgZnVuY3Rpb24gTGlicmFyeSgpIHsKICAgICAgICBjbGFzc0NhbGxDaGVjayh0aGlzLCBMaWJyYXJ5KTsKICAgIAogICAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTsKICAgICAgfQogICAgCiAgICAgIGNyZWF0ZUNsYXNzKExpYnJhcnksIFt7CiAgICAgICAga2V5OiAnYWRkJywKICAgICAgICB2YWx1ZTogZnVuY3Rpb24gYWRkKCkgewogICAgICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgIAogICAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGRlZmluaXRpb25zID0gQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgICAgICAgIGRlZmluaXRpb25zW19rZXldID0gYXJndW1lbnRzW19rZXldOwogICAgICAgICAgfQogICAgCiAgICAgICAgICB2YXIgYWRkaXRpb25zID0gZGVmaW5pdGlvbnMucmVkdWNlKHRoaXMuX3B1bGxEZWZpbml0aW9ucywge30pOwogICAgCiAgICAgICAgICBPYmplY3Qua2V5cyhhZGRpdGlvbnMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgICAgICBfdGhpcy5kZWZpbml0aW9uc1trZXldID0gX2V4dGVuZHMoe30sIF90aGlzLmRlZmluaXRpb25zW2tleV0gfHwge30sIGFkZGl0aW9uc1trZXldKTsKICAgICAgICAgICAgZGVmaW5lKGtleSwgYWRkaXRpb25zW2tleV0pOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAga2V5OiAncmVzZXQnLAogICAgICAgIHZhbHVlOiBmdW5jdGlvbiByZXNldCgpIHsKICAgICAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSB7fTsKICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBrZXk6ICdfcHVsbERlZmluaXRpb25zJywKICAgICAgICB2YWx1ZTogZnVuY3Rpb24gX3B1bGxEZWZpbml0aW9ucyhhZGRpdGlvbnMsIGRlZmluaXRpb24pIHsKICAgICAgICAgIHZhciBub3JtYWxpemVkID0gZGVmaW5pdGlvbi5wcmVmaXggJiYgZGVmaW5pdGlvbi5pY29uTmFtZSAmJiBkZWZpbml0aW9uLmljb24gPyB7IDA6IGRlZmluaXRpb24gfSA6IGRlZmluaXRpb247CiAgICAKICAgICAgICAgIE9iamVjdC5rZXlzKG5vcm1hbGl6ZWQpLm1hcChmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAgICAgIHZhciBfbm9ybWFsaXplZCRrZXkgPSBub3JtYWxpemVkW2tleV0sCiAgICAgICAgICAgICAgICBwcmVmaXggPSBfbm9ybWFsaXplZCRrZXkucHJlZml4LAogICAgICAgICAgICAgICAgaWNvbk5hbWUgPSBfbm9ybWFsaXplZCRrZXkuaWNvbk5hbWUsCiAgICAgICAgICAgICAgICBpY29uID0gX25vcm1hbGl6ZWQka2V5Lmljb247CiAgICAKICAgIAogICAgICAgICAgICBpZiAoIWFkZGl0aW9uc1twcmVmaXhdKSBhZGRpdGlvbnNbcHJlZml4XSA9IHt9OwogICAgCiAgICAgICAgICAgIGFkZGl0aW9uc1twcmVmaXhdW2ljb25OYW1lXSA9IGljb247CiAgICAgICAgICB9KTsKICAgIAogICAgICAgICAgcmV0dXJuIGFkZGl0aW9uczsKICAgICAgICB9CiAgICAgIH1dKTsKICAgICAgcmV0dXJuIExpYnJhcnk7CiAgICB9KCk7CiAgICAKICAgIGZ1bmN0aW9uIHByZXBJY29uKGljb24pIHsKICAgICAgdmFyIHdpZHRoID0gaWNvblswXTsKICAgICAgdmFyIGhlaWdodCA9IGljb25bMV07CiAgICAgIHZhciB2ZWN0b3JEYXRhID0gaWNvbi5zbGljZSg0KTsKICAgIAogICAgICByZXR1cm4gewogICAgICAgIGZvdW5kOiB0cnVlLAogICAgICAgIHdpZHRoOiB3aWR0aCwKICAgICAgICBoZWlnaHQ6IGhlaWdodCwKICAgICAgICBpY29uOiB7IHRhZzogJ3BhdGgnLCBhdHRyaWJ1dGVzOiB7IGZpbGw6ICdjdXJyZW50Q29sb3InLCBkOiB2ZWN0b3JEYXRhWzBdIH0gfQogICAgICB9OwogICAgfQogICAgCiAgICB2YXIgX2Nzc0luc2VydGVkID0gZmFsc2U7CiAgICAKICAgIGZ1bmN0aW9uIGVuc3VyZUNzcygpIHsKICAgICAgaWYgKCFjb25maWcuYXV0b0FkZENzcykgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgCiAgICAgIGlmICghX2Nzc0luc2VydGVkKSB7CiAgICAgICAgaW5zZXJ0Q3NzKGNzcygpKTsKICAgICAgfQogICAgCiAgICAgIF9jc3NJbnNlcnRlZCA9IHRydWU7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGFwaU9iamVjdCh2YWwsIGFic3RyYWN0Q3JlYXRvcikgewogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnYWJzdHJhY3QnLCB7CiAgICAgICAgZ2V0OiBhYnN0cmFjdENyZWF0b3IKICAgICAgfSk7CiAgICAKICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbCwgJ2h0bWwnLCB7CiAgICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7CiAgICAgICAgICByZXR1cm4gdmFsLmFic3RyYWN0Lm1hcChmdW5jdGlvbiAoYSkgewogICAgICAgICAgICByZXR1cm4gdG9IdG1sKGEpOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIAogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsLCAnbm9kZScsIHsKICAgICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICAgIGlmICghSVNfRE9NKSByZXR1cm47CiAgICAKICAgICAgICAgIHZhciBjb250YWluZXIgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgIGNvbnRhaW5lci5pbm5lckhUTUwgPSB2YWwuaHRtbDsKICAgICAgICAgIHJldHVybiBjb250YWluZXIuY2hpbGRyZW47CiAgICAgICAgfQogICAgICB9KTsKICAgIAogICAgICByZXR1cm4gdmFsOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBmaW5kSWNvbkRlZmluaXRpb24ocGFyYW1zKSB7CiAgICAgIHZhciBfcGFyYW1zJHByZWZpeCA9IHBhcmFtcy5wcmVmaXgsCiAgICAgICAgICBwcmVmaXggPSBfcGFyYW1zJHByZWZpeCA9PT0gdW5kZWZpbmVkID8gJ2ZhJyA6IF9wYXJhbXMkcHJlZml4LAogICAgICAgICAgaWNvbk5hbWUgPSBwYXJhbXMuaWNvbk5hbWU7CiAgICAKICAgIAogICAgICBpZiAoIWljb25OYW1lKSByZXR1cm47CiAgICAKICAgICAgcmV0dXJuIGljb25Gcm9tTWFwcGluZyhsaWJyYXJ5LmRlZmluaXRpb25zLCBwcmVmaXgsIGljb25OYW1lKSB8fCBpY29uRnJvbU1hcHBpbmcobmFtZXNwYWNlLnN0eWxlcywgcHJlZml4LCBpY29uTmFtZSk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIHJlc29sdmVJY29ucyhuZXh0KSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiAobWF5YmVJY29uRGVmaW5pdGlvbikgewogICAgICAgIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OwogICAgCiAgICAgICAgdmFyIGljb25EZWZpbml0aW9uID0gKG1heWJlSWNvbkRlZmluaXRpb24gfHwge30pLmljb24gPyBtYXliZUljb25EZWZpbml0aW9uIDogZmluZEljb25EZWZpbml0aW9uKG1heWJlSWNvbkRlZmluaXRpb24gfHwge30pOwogICAgCiAgICAgICAgdmFyIG1hc2sgPSBwYXJhbXMubWFzazsKICAgIAogICAgCiAgICAgICAgaWYgKG1hc2spIHsKICAgICAgICAgIG1hc2sgPSAobWFzayB8fCB7fSkuaWNvbiA/IG1hc2sgOiBmaW5kSWNvbkRlZmluaXRpb24obWFzayB8fCB7fSk7CiAgICAgICAgfQogICAgCiAgICAgICAgcmV0dXJuIG5leHQoaWNvbkRlZmluaXRpb24sIF9leHRlbmRzKHt9LCBwYXJhbXMsIHsgbWFzazogbWFzayB9KSk7CiAgICAgIH07CiAgICB9CiAgICAKICAgIHZhciBsaWJyYXJ5ID0gbmV3IExpYnJhcnkoKTsKICAgIHZhciBub0F1dG8gPSBmdW5jdGlvbiBub0F1dG8oKSB7CiAgICAgIHJldHVybiBhdXRvKGZhbHNlKTsKICAgIH07CiAgICAKICAgIHZhciBkb20gPSB7CiAgICAgIGkyc3ZnOiBmdW5jdGlvbiBpMnN2ZygpIHsKICAgICAgICB2YXIgcGFyYW1zID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTsKICAgIAogICAgICAgIGlmIChJU19ET00pIHsKICAgICAgICAgIGVuc3VyZUNzcygpOwogICAgCiAgICAgICAgICB2YXIgX3BhcmFtcyRub2RlID0gcGFyYW1zLm5vZGUsCiAgICAgICAgICAgICAgbm9kZSA9IF9wYXJhbXMkbm9kZSA9PT0gdW5kZWZpbmVkID8gRE9DVU1FTlQgOiBfcGFyYW1zJG5vZGUsCiAgICAgICAgICAgICAgX3BhcmFtcyRjYWxsYmFjayA9IHBhcmFtcy5jYWxsYmFjaywKICAgICAgICAgICAgICBjYWxsYmFjayA9IF9wYXJhbXMkY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IGZ1bmN0aW9uICgpIHt9IDogX3BhcmFtcyRjYWxsYmFjazsKICAgIAogICAgCiAgICAgICAgICBpZiAoY29uZmlnLnNlYXJjaFBzZXVkb0VsZW1lbnRzKSB7CiAgICAgICAgICAgIHNlYXJjaFBzZXVkb0VsZW1lbnRzKG5vZGUpOwogICAgICAgICAgfQogICAgCiAgICAgICAgICBvblRyZWUobm9kZSwgY2FsbGJhY2spOwogICAgICAgIH0KICAgICAgfSwKICAgIAogICAgICBjc3M6IGNzcywKICAgIAogICAgICBpbnNlcnRDc3M6IGZ1bmN0aW9uIGluc2VydENzcyQkMSgpIHsKICAgICAgICBpbnNlcnRDc3MoY3NzKCkpOwogICAgICB9CiAgICB9OwogICAgCiAgICB2YXIgcGFyc2UgPSB7CiAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24gdHJhbnNmb3JtKHRyYW5zZm9ybVN0cmluZykgewogICAgICAgIHJldHVybiBwYXJzZVRyYW5zZm9ybVN0cmluZyh0cmFuc2Zvcm1TdHJpbmcpOwogICAgICB9CiAgICB9OwogICAgCiAgICB2YXIgaWNvbiA9IHJlc29sdmVJY29ucyhmdW5jdGlvbiAoaWNvbkRlZmluaXRpb24pIHsKICAgICAgdmFyIHBhcmFtcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307CiAgICAgIHZhciBfcGFyYW1zJHRyYW5zZm9ybSA9IHBhcmFtcy50cmFuc2Zvcm0sCiAgICAgICAgICB0cmFuc2Zvcm0gPSBfcGFyYW1zJHRyYW5zZm9ybSA9PT0gdW5kZWZpbmVkID8gbWVhbmluZ2xlc3NUcmFuc2Zvcm0gOiBfcGFyYW1zJHRyYW5zZm9ybSwKICAgICAgICAgIF9wYXJhbXMkc3ltYm9sID0gcGFyYW1zLnN5bWJvbCwKICAgICAgICAgIHN5bWJvbCA9IF9wYXJhbXMkc3ltYm9sID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wYXJhbXMkc3ltYm9sLAogICAgICAgICAgX3BhcmFtcyRtYXNrID0gcGFyYW1zLm1hc2ssCiAgICAgICAgICBtYXNrID0gX3BhcmFtcyRtYXNrID09PSB1bmRlZmluZWQgPyBudWxsIDogX3BhcmFtcyRtYXNrLAogICAgICAgICAgX3BhcmFtcyR0aXRsZSA9IHBhcmFtcy50aXRsZSwKICAgICAgICAgIHRpdGxlID0gX3BhcmFtcyR0aXRsZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IF9wYXJhbXMkdGl0bGUsCiAgICAgICAgICBfcGFyYW1zJGNsYXNzZXMgPSBwYXJhbXMuY2xhc3NlcywKICAgICAgICAgIGNsYXNzZXMgPSBfcGFyYW1zJGNsYXNzZXMgPT09IHVuZGVmaW5lZCA/IFtdIDogX3BhcmFtcyRjbGFzc2VzLAogICAgICAgICAgX3BhcmFtcyRhdHRyaWJ1dGVzID0gcGFyYW1zLmF0dHJpYnV0ZXMsCiAgICAgICAgICBhdHRyaWJ1dGVzID0gX3BhcmFtcyRhdHRyaWJ1dGVzID09PSB1bmRlZmluZWQgPyB7fSA6IF9wYXJhbXMkYXR0cmlidXRlcywKICAgICAgICAgIF9wYXJhbXMkc3R5bGVzID0gcGFyYW1zLnN0eWxlcywKICAgICAgICAgIHN0eWxlcyA9IF9wYXJhbXMkc3R5bGVzID09PSB1bmRlZmluZWQgPyB7fSA6IF9wYXJhbXMkc3R5bGVzOwogICAgCiAgICAKICAgICAgaWYgKCFpY29uRGVmaW5pdGlvbikgcmV0dXJuOwogICAgCiAgICAgIHZhciBwcmVmaXggPSBpY29uRGVmaW5pdGlvbi5wcmVmaXgsCiAgICAgICAgICBpY29uTmFtZSA9IGljb25EZWZpbml0aW9uLmljb25OYW1lLAogICAgICAgICAgaWNvbiA9IGljb25EZWZpbml0aW9uLmljb247CiAgICAKICAgIAogICAgICByZXR1cm4gYXBpT2JqZWN0KF9leHRlbmRzKHsgdHlwZTogJ2ljb24nIH0sIGljb25EZWZpbml0aW9uKSwgZnVuY3Rpb24gKCkgewogICAgICAgIGVuc3VyZUNzcygpOwogICAgCiAgICAgICAgaWYgKGNvbmZpZy5hdXRvQTExeSkgewogICAgICAgICAgaWYgKHRpdGxlKSB7CiAgICAgICAgICAgIGF0dHJpYnV0ZXNbJ2FyaWEtbGFiZWxsZWRieSddID0gY29uZmlnLnJlcGxhY2VtZW50Q2xhc3MgKyAnLXRpdGxlLScgKyBuZXh0VW5pcXVlSWQoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGF0dHJpYnV0ZXNbJ2FyaWEtaGlkZGVuJ10gPSAndHJ1ZSc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgCiAgICAgICAgcmV0dXJuIG1ha2VJbmxpbmVTdmdBYnN0cmFjdCh7CiAgICAgICAgICBpY29uczogewogICAgICAgICAgICBtYWluOiBwcmVwSWNvbihpY29uKSwKICAgICAgICAgICAgbWFzazogbWFzayA/IHByZXBJY29uKG1hc2suaWNvbikgOiB7IGZvdW5kOiBmYWxzZSwgd2lkdGg6IG51bGwsIGhlaWdodDogbnVsbCwgaWNvbjoge30gfQogICAgICAgICAgfSwKICAgICAgICAgIHByZWZpeDogcHJlZml4LAogICAgICAgICAgaWNvbk5hbWU6IGljb25OYW1lLAogICAgICAgICAgdHJhbnNmb3JtOiBfZXh0ZW5kcyh7fSwgbWVhbmluZ2xlc3NUcmFuc2Zvcm0sIHRyYW5zZm9ybSksCiAgICAgICAgICBzeW1ib2w6IHN5bWJvbCwKICAgICAgICAgIHRpdGxlOiB0aXRsZSwKICAgICAgICAgIGV4dHJhOiB7CiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsCiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzLAogICAgICAgICAgICBjbGFzc2VzOiBjbGFzc2VzCiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSk7CiAgICAKICAgIHZhciB0ZXh0ID0gZnVuY3Rpb24gdGV4dChjb250ZW50KSB7CiAgICAgIHZhciBwYXJhbXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9OwogICAgICB2YXIgX3BhcmFtcyR0cmFuc2Zvcm0yID0gcGFyYW1zLnRyYW5zZm9ybSwKICAgICAgICAgIHRyYW5zZm9ybSA9IF9wYXJhbXMkdHJhbnNmb3JtMiA9PT0gdW5kZWZpbmVkID8gbWVhbmluZ2xlc3NUcmFuc2Zvcm0gOiBfcGFyYW1zJHRyYW5zZm9ybTIsCiAgICAgICAgICBfcGFyYW1zJHRpdGxlMiA9IHBhcmFtcy50aXRsZSwKICAgICAgICAgIHRpdGxlID0gX3BhcmFtcyR0aXRsZTIgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBfcGFyYW1zJHRpdGxlMiwKICAgICAgICAgIF9wYXJhbXMkY2xhc3NlczIgPSBwYXJhbXMuY2xhc3NlcywKICAgICAgICAgIGNsYXNzZXMgPSBfcGFyYW1zJGNsYXNzZXMyID09PSB1bmRlZmluZWQgPyBbXSA6IF9wYXJhbXMkY2xhc3NlczIsCiAgICAgICAgICBfcGFyYW1zJGF0dHJpYnV0ZXMyID0gcGFyYW1zLmF0dHJpYnV0ZXMsCiAgICAgICAgICBhdHRyaWJ1dGVzID0gX3BhcmFtcyRhdHRyaWJ1dGVzMiA9PT0gdW5kZWZpbmVkID8ge30gOiBfcGFyYW1zJGF0dHJpYnV0ZXMyLAogICAgICAgICAgX3BhcmFtcyRzdHlsZXMyID0gcGFyYW1zLnN0eWxlcywKICAgICAgICAgIHN0eWxlcyA9IF9wYXJhbXMkc3R5bGVzMiA9PT0gdW5kZWZpbmVkID8ge30gOiBfcGFyYW1zJHN0eWxlczI7CiAgICAKICAgIAogICAgICByZXR1cm4gYXBpT2JqZWN0KHsgdHlwZTogJ3RleHQnLCBjb250ZW50OiBjb250ZW50IH0sIGZ1bmN0aW9uICgpIHsKICAgICAgICBlbnN1cmVDc3MoKTsKICAgIAogICAgICAgIHJldHVybiBtYWtlTGF5ZXJzVGV4dEFic3RyYWN0KHsKICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnQsCiAgICAgICAgICB0cmFuc2Zvcm06IF9leHRlbmRzKHt9LCBtZWFuaW5nbGVzc1RyYW5zZm9ybSwgdHJhbnNmb3JtKSwKICAgICAgICAgIHRpdGxlOiB0aXRsZSwKICAgICAgICAgIGV4dHJhOiB7CiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMsCiAgICAgICAgICAgIHN0eWxlczogc3R5bGVzLAogICAgICAgICAgICBjbGFzc2VzOiBbY29uZmlnLmZhbWlseVByZWZpeCArICctbGF5ZXJzLXRleHQnXS5jb25jYXQodG9Db25zdW1hYmxlQXJyYXkoY2xhc3NlcykpCiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfTsKICAgIAogICAgdmFyIGxheWVyID0gZnVuY3Rpb24gbGF5ZXIoYXNzZW1ibGVyKSB7CiAgICAgIHJldHVybiBhcGlPYmplY3QoeyB0eXBlOiAnbGF5ZXInIH0sIGZ1bmN0aW9uICgpIHsKICAgICAgICBlbnN1cmVDc3MoKTsKICAgIAogICAgICAgIHZhciBjaGlsZHJlbiA9IFtdOwogICAgCiAgICAgICAgYXNzZW1ibGVyKGZ1bmN0aW9uIChhcmdzKSB7CiAgICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpID8gY2hpbGRyZW4gPSBhcmdzLm1hcChmdW5jdGlvbiAoYSkgewogICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChhLmFic3RyYWN0KTsKICAgICAgICAgIH0pIDogY2hpbGRyZW4gPSBjaGlsZHJlbi5jb25jYXQoYXJncy5hYnN0cmFjdCk7CiAgICAgICAgfSk7CiAgICAKICAgICAgICByZXR1cm4gW3sKICAgICAgICAgIHRhZzogJ3NwYW4nLAogICAgICAgICAgYXR0cmlidXRlczogeyBjbGFzczogY29uZmlnLmZhbWlseVByZWZpeCArICctbGF5ZXJzJyB9LAogICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuCiAgICAgICAgfV07CiAgICAgIH0pOwogICAgfTsKICAgIAogICAgdmFyIGFwaSA9IHsKICAgICAgbm9BdXRvOiBub0F1dG8sCiAgICAgIGRvbTogZG9tLAogICAgICBsaWJyYXJ5OiBsaWJyYXJ5LAogICAgICBwYXJzZTogcGFyc2UsCiAgICAgIGZpbmRJY29uRGVmaW5pdGlvbjogZmluZEljb25EZWZpbml0aW9uLAogICAgICBpY29uOiBpY29uLAogICAgICB0ZXh0OiB0ZXh0LAogICAgICBsYXllcjogbGF5ZXIKICAgIH07CiAgICAKICAgIHZhciBhdXRvUmVwbGFjZSA9IGZ1bmN0aW9uIGF1dG9SZXBsYWNlKCkgewogICAgICBpZiAoSVNfRE9NICYmIGNvbmZpZy5hdXRvUmVwbGFjZVN2ZykgYXBpLmRvbS5pMnN2Zyh7IG5vZGU6IERPQ1VNRU5UIH0pOwogICAgfTsKICAgIAogICAgZnVuY3Rpb24gYm9vdHN0cmFwKCkgewogICAgICBpZiAoSVNfQlJPV1NFUikgewogICAgICAgIGlmICghV0lORE9XLkZvbnRBd2Vzb21lKSB7CiAgICAgICAgICBXSU5ET1cuRm9udEF3ZXNvbWUgPSBhcGk7CiAgICAgICAgfQogICAgCiAgICAgICAgZG9tcmVhZHkoZnVuY3Rpb24gKCkgewogICAgICAgICAgaWYgKE9iamVjdC5rZXlzKG5hbWVzcGFjZS5zdHlsZXMpLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgYXV0b1JlcGxhY2UoKTsKICAgICAgICAgIH0KICAgIAogICAgICAgICAgaWYgKGNvbmZpZy5vYnNlcnZlTXV0YXRpb25zICYmIHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgIG9ic2VydmUoewogICAgICAgICAgICAgIHRyZWVDYWxsYmFjazogb25UcmVlLAogICAgICAgICAgICAgIG5vZGVDYWxsYmFjazogb25Ob2RlLAogICAgICAgICAgICAgIHBzZXVkb0VsZW1lbnRzQ2FsbGJhY2s6IHNlYXJjaFBzZXVkb0VsZW1lbnRzCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICAKICAgICAgbmFtZXNwYWNlLmhvb2tzID0gX2V4dGVuZHMoe30sIG5hbWVzcGFjZS5ob29rcywgewogICAgCiAgICAgICAgYWRkUGFjazogZnVuY3Rpb24gYWRkUGFjayhwcmVmaXgsIGljb25zKSB7CiAgICAgICAgICBuYW1lc3BhY2Uuc3R5bGVzW3ByZWZpeF0gPSBfZXh0ZW5kcyh7fSwgbmFtZXNwYWNlLnN0eWxlc1twcmVmaXhdIHx8IHt9LCBpY29ucyk7CiAgICAKICAgICAgICAgIGJ1aWxkKCk7CiAgICAgICAgICBhdXRvUmVwbGFjZSgpOwogICAgICAgIH0sCiAgICAKICAgICAgICBhZGRTaGltczogZnVuY3Rpb24gYWRkU2hpbXMoc2hpbXMpIHsKICAgICAgICAgIHZhciBfbmFtZXNwYWNlJHNoaW1zOwogICAgCiAgICAgICAgICAoX25hbWVzcGFjZSRzaGltcyA9IG5hbWVzcGFjZS5zaGltcykucHVzaC5hcHBseShfbmFtZXNwYWNlJHNoaW1zLCB0b0NvbnN1bWFibGVBcnJheShzaGltcykpOwogICAgCiAgICAgICAgICBidWlsZCgpOwogICAgICAgICAgYXV0b1JlcGxhY2UoKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogICAgCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBpLCAnY29uZmlnJywgewogICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKICAgICAgICByZXR1cm4gY29uZmlnOwogICAgICB9LAogICAgCiAgICAgIHNldDogZnVuY3Rpb24gc2V0KG5ld0NvbmZpZykgewogICAgICAgIHVwZGF0ZShuZXdDb25maWcpOwogICAgICB9CiAgICB9KTsKICAgIAogICAgYnVua2VyKGJvb3RzdHJhcCk7CiAgICAKICAgIH0oKSk7"}},"time_used":89,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":72,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.788Z","timestamp":1785139582788,"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-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 08:06:22 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: 2d83720aaab2c30edecc23fa4a0c882e\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-08-12T17:55:33.100273Z","times_seen":6443,"resource_available":false,"data":"aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbn1odG1sW2xhbmc9dmldIGJvZHl7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZn1ib2R5LGh0bWx7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlfWJvZHksZGlyLGgxLGgyLGgzLGg0LGg1LGg2LGh0bWwsbGksbWVudSxvbCxwLHVse21hcmdpbjowO3BhZGRpbmc6MH1he3RleHQtZGVjb3JhdGlvbjpub25lfWE6YWN0aXZle291dGxpbmU6MH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7YTpob3ZlcntvdXRsaW5lOjB9fWgxe2ZvbnQtc2l6ZToyZW19c3ViLHN1cHtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246aW5pdGlhbH1zdXB7dG9wOi0uMjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1maWd1cmV7bWFyZ2luOjB9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Y29sb3I6aW5oZXJpdDtmb250OmluaGVyaXQ7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOmRlZmF1bHR9aW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDtib3gtc2l6aW5nOmluaXRpYWx9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9dGQsdGh7cGFkZGluZzowfTpyb290ey0tY29sb3Itd2hpdGU6I2ZmZjstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci10cmFuc3BhcmVudDojMDAwMDstLWNvbG9yLWNvbGQtZ3JheS01MDojZjlmOWY5Oy0tY29sb3ItY29sZC1ncmF5LTEwMDojZjJmMmYyOy0tY29sb3ItY29sZC1ncmF5LTE1MDojZWJlYmViOy0tY29sb3ItY29sZC1ncmF5LTIwMDojZGJkYmRiOy0tY29sb3ItY29sZC1ncmF5LTI1MDojYzljOWM5Oy0tY29sb3ItY29sZC1ncmF5LTMwMDojYjhiOGI4Oy0tY29sb3ItY29sZC1ncmF5LTM1MDojYThhOGE4Oy0tY29sb3ItY29sZC1ncmF5LTQwMDojOWM5YzljOy0tY29sb3ItY29sZC1ncmF5LTQ1MDojOGM4YzhjOy0tY29sb3ItY29sZC1ncmF5LTUwMDpncmV5Oy0tY29sb3ItY29sZC1ncmF5LTU1MDojNzA3MDcwOy0tY29sb3ItY29sZC1ncmF5LTYwMDojNjM2MzYzOy0tY29sb3ItY29sZC1ncmF5LTY1MDojNTc1NzU3Oy0tY29sb3ItY29sZC1ncmF5LTcwMDojNGE0YTRhOy0tY29sb3ItY29sZC1ncmF5LTc1MDojM2QzZDNkOy0tY29sb3ItY29sZC1ncmF5LTgwMDojMmUyZTJlOy0tY29sb3ItY29sZC1ncmF5LTg1MDojMWYxZjFmOy0tY29sb3ItY29sZC1ncmF5LTkwMDojMGYwZjBmOy0tY29sb3ItY29sZC1ncmF5LTk1MDojMDAwOy0tY29sb3ItcmlwZS1yZWQtNTA6I2ZmZWJlYzstLWNvbG9yLXJpcGUtcmVkLTEwMDojZmNjYmNkOy0tY29sb3ItcmlwZS1yZWQtMjAwOiNmYWExYTQ7LS1jb2xvci1yaXBlLXJlZC0zMDA6I2Y3N2M4MDstLWNvbG9yLXJpcGUtcmVkLTQwMDojZjc1MjVmOy0tY29sb3ItcmlwZS1yZWQtNTAwOiNmMjM2NDU7LS1jb2xvci1yaXBlLXJlZC02MDA6I2NjMmYzYzstLWNvbG9yLXJpcGUtcmVkLTcwMDojYjIyODMzOy0tY29sb3ItcmlwZS1yZWQtODAwOiM5OTFmMjk7LS1jb2xvci1yaXBlLXJlZC05MDA6IzgwMTkyMjstLWNvbG9yLXJpcGUtcmVkLWExMDA6I2ZmODA4MDstLWNvbG9yLXJpcGUtcmVkLWEyMDA6I2ZmNTI1MjstLWNvbG9yLXJpcGUtcmVkLWE0MDA6I2YzMzstLWNvbG9yLXJpcGUtcmVkLWE2MDA6I2NjMjkyOTstLWNvbG9yLXJpcGUtcmVkLWE3MDA6IzgwMjAyODstLWNvbG9yLXJpcGUtcmVkLWE4MDA6IzRkMTkxZDstLWNvbG9yLXJpcGUtcmVkLWE5MDA6IzMzMWYyMDstLWNvbG9yLXRhbi1vcmFuZ2UtNTA6I2ZmZjNlMDstLWNvbG9yLXRhbi1vcmFuZ2UtMTAwOiNmZmUwYjI7LS1jb2xvci10YW4tb3JhbmdlLTIwMDojZmZjYzgwOy0tY29sb3ItdGFuLW9yYW5nZS0zMDA6I2ZmYjc0ZDstLWNvbG9yLXRhbi1vcmFuZ2UtNDAwOiNmZmE3MjY7LS1jb2xvci10YW4tb3JhbmdlLTUwMDojZmY5ODAwOy0tY29sb3ItdGFuLW9yYW5nZS02MDA6I2ZiOGMwMDstLWNvbG9yLXRhbi1vcmFuZ2UtNzAwOiNmNTdjMDA7LS1jb2xvci10YW4tb3JhbmdlLTgwMDojZWY2YzAwOy0tY29sb3ItdGFuLW9yYW5nZS05MDA6I2U2NTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTEwMDojZmZkMTgwOy0tY29sb3ItdGFuLW9yYW5nZS1hMjAwOiNmZmFiNDA7LS1jb2xvci10YW4tb3JhbmdlLWE0MDA6I2ZmOTEwMDstLWNvbG9yLXRhbi1vcmFuZ2UtYTUwMDojZTU3ZTE3Oy0tY29sb3ItdGFuLW9yYW5nZS1hNjAwOiNjYzcwMTQ7LS1jb2xvci10YW4tb3JhbmdlLWE3MDA6IzhjNTQxYzstLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMDojNTkzYTFiOy0tY29sb3ItdGFuLW9yYW5nZS1hOTAwOiMzMzI2MWE7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tNTA6I2U4ZjVlOTstLWNvbG9yLWlndWFuYS1ncmVlbi0xMDA6I2M4ZTZjOTstLWNvbG9yLWlndWFuYS1ncmVlbi0yMDA6I2E1ZDZhNzstLWNvbG9yLWlndWFuYS1ncmVlbi0zMDA6IzgxYzc4NDstLWNvbG9yLWlndWFuYS1ncmVlbi00MDA6IzY2YmI2YTstLWNvbG9yLWlndWFuYS1ncmVlbi01MDA6IzRjYWY1MDstLWNvbG9yLWlndWFuYS1ncmVlbi02MDA6IzQzYTA0NzstLWNvbG9yLWlndWFuYS1ncmVlbi03MDA6IzM4OGUzYzstLWNvbG9yLWlndWFuYS1ncmVlbi04MDA6IzJlN2QzMjstLWNvbG9yLWlndWFuYS1ncmVlbi05MDA6IzFiNWUyMDstLWNvbG9yLWlndWFuYS1ncmVlbi1hMTAwOiNiOWY2Y2E7LS1jb2xvci1pZ3VhbmEtZ3JlZW4tYTIwMDojNjlmMGFlOy0tY29sb3ItaWd1YW5hLWdyZWVuLWE0MDA6IzAwZTY3NjstLWNvbG9yLWlndWFuYS1ncmVlbi1hNzAwOiMwMGM4NTM7LS1jb2xvci1iYW5hbmEteWVsbG93LTUwOiNmZmZkZTc7LS1jb2xvci1iYW5hbmEteWVsbG93LTEwMDojZmZmOWM0Oy0tY29sb3ItYmFuYW5hLXllbGxvdy0yMDA6I2ZmZjU5ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctMzAwOiNmZmYxNzY7LS1jb2xvci1iYW5hbmEteWVsbG93LTQwMDojZmZlZTU4Oy0tY29sb3ItYmFuYW5hLXllbGxvdy01MDA6I2ZmZWIzYjstLWNvbG9yLWJhbmFuYS15ZWxsb3ctNjAwOiNmZGQ4MzU7LS1jb2xvci1iYW5hbmEteWVsbG93LTcwMDojZmJjMDJkOy0tY29sb3ItYmFuYW5hLXllbGxvdy04MDA6I2Y5YTgyNTstLWNvbG9yLWJhbmFuYS15ZWxsb3ctOTAwOiNmNTdmMTc7LS1jb2xvci1iYW5hbmEteWVsbG93LWExMDA6I2ZmZmY4ZDstLWNvbG9yLWJhbmFuYS15ZWxsb3ctYTIwMDojZmYwOy0tY29sb3ItYmFuYW5hLXllbGxvdy1hNDAwOiNmZmVhMDA7LS1jb2xvci1iYW5hbmEteWVsbG93LWE3MDA6I2VlZGEwMTstLWNvbG9yLXR2LWJsdWUtNTA6I2UzZWZmZDstLWNvbG9yLXR2LWJsdWUtMTAwOiNiYmQ5ZmI7LS1jb2xvci10di1ibHVlLTIwMDojOTBiZmY5Oy0tY29sb3ItdHYtYmx1ZS0zMDA6IzViOWNmNjstLWNvbG9yLXR2LWJsdWUtNDAwOiMzMTc5ZjU7LS1jb2xvci10di1ibHVlLTUwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS02MDA6IzFlNTNlNTstLWNvbG9yLXR2LWJsdWUtNzAwOiMxODQ4Y2M7LS1jb2xvci10di1ibHVlLTgwMDojMTQzZWIyOy0tY29sb3ItdHYtYmx1ZS05MDA6IzBjMzI5OTstLWNvbG9yLXR2LWJsdWUtYTEwMDojODJiMWZmOy0tY29sb3ItdHYtYmx1ZS1hMjAwOiM0NDhhZmY7LS1jb2xvci10di1ibHVlLWE0MDA6IzI5NzlmZjstLWNvbG9yLXR2LWJsdWUtYTYwMDojMjk2MmZmOy0tY29sb3ItdHYtYmx1ZS1hNzAwOiMxNDNhODc7LS1jb2xvci10di1ibHVlLWE4MDA6IzE0MmU2MTstLWNvbG9yLXR2LWJsdWUtYTkwMDojMTMyMDQyOy0tY29sb3ItZGVlcC1ibHVlLTUwOiNlZGU3ZjY7LS1jb2xvci1kZWVwLWJsdWUtMTAwOiNkMWM0ZTk7LS1jb2xvci1kZWVwLWJsdWUtMjAwOiNiMzlkZGI7LS1jb2xvci1kZWVwLWJsdWUtMzAwOiM5NTc1Y2Q7LS1jb2xvci1kZWVwLWJsdWUtNDAwOiM3ZTU3YzI7LS1jb2xvci1kZWVwLWJsdWUtNTAwOiM2NzNhYjc7LS1jb2xvci1kZWVwLWJsdWUtNjAwOiM1ZTM1YjE7LS1jb2xvci1kZWVwLWJsdWUtNzAwOiM1MTJkYTg7LS1jb2xvci1kZWVwLWJsdWUtODAwOiM0NTI3YTA7LS1jb2xvci1kZWVwLWJsdWUtOTAwOiMzMTFiOTI7LS1jb2xvci1kZWVwLWJsdWUtYTEwMDojYjM4OGZmOy0tY29sb3ItZGVlcC1ibHVlLWEyMDA6IzdjNGRmZjstLWNvbG9yLWRlZXAtYmx1ZS1hNDAwOiM2NTFmZmY7LS1jb2xvci1kZWVwLWJsdWUtYTcwMDojNjIwMGVhOy0tY29sb3ItbWludHktZ3JlZW4tNTA6I2RhZjJlZTstLWNvbG9yLW1pbnR5LWdyZWVuLTEwMDojYWNlNWRjOy0tY29sb3ItbWludHktZ3JlZW4tMjAwOiM3MGNjYmQ7LS1jb2xvci1taW50eS1ncmVlbi0zMDA6IzQyYmRhODstLWNvbG9yLW1pbnR5LWdyZWVuLTQwMDojMjJhYjk0Oy0tY29sb3ItbWludHktZ3JlZW4tNTAwOiMwODk5ODE7LS1jb2xvci1taW50eS1ncmVlbi02MDA6IzA2ODA2YjstLWNvbG9yLW1pbnR5LWdyZWVuLTcwMDojMDU2NjU2Oy0tY29sb3ItbWludHktZ3JlZW4tODAwOiMwMDRkNDA7LS1jb2xvci1taW50eS1ncmVlbi05MDA6IzAwMzMyYTstLWNvbG9yLW1pbnR5LWdyZWVuLWExMDA6I2E3ZmZmMDstLWNvbG9yLW1pbnR5LWdyZWVuLWEyMDA6IzQ1ZTVjYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE0MDA6IzJiZDliYzstLWNvbG9yLW1pbnR5LWdyZWVuLWE2MDA6IzI0YjI5YjstLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDA6IzFiNzY2NzstLWNvbG9yLW1pbnR5LWdyZWVuLWE4MDA6IzEwNDQzYjstLWNvbG9yLW1pbnR5LWdyZWVuLWE5MDA6IzA4MjYyMTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTA6I2YzZTVmNTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtMTAwOiNlMWJlZTc7LS1jb2xvci1ncmFwZXMtcHVycGxlLTIwMDojY2U5M2Q4Oy0tY29sb3ItZ3JhcGVzLXB1cnBsZS0zMDA6I2JhNjhjODstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNDAwOiNhYjQ3YmM7LS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMDojOWMyN2IwOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS02MDA6IzhlMjRhYTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwOiM3YjFmYTI7LS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMDojNmExYjlhOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS05MDA6IzRhMTQ4YzstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTEwMDojZWE4MGZjOy0tY29sb3ItZ3JhcGVzLXB1cnBsZS1hMjAwOiNlMDQwZmI7LS1jb2xvci1ncmFwZXMtcHVycGxlLWE0MDA6I2Q1MDBmOTstLWNvbG9yLWdyYXBlcy1wdXJwbGUtYTcwMDojYTBmOy0tY29sb3ItYmVycnktcGluay01MDojZmNlNGVjOy0tY29sb3ItYmVycnktcGluay0xMDA6I2Y4YmJkMDstLWNvbG9yLWJlcnJ5LXBpbmstMjAwOiNmNDhmYjE7LS1jb2xvci1iZXJyeS1waW5rLTMwMDojZjA2MjkyOy0tY29sb3ItYmVycnktcGluay00MDA6I2VjNDA3YTstLWNvbG9yLWJlcnJ5LXBpbmstNTAwOiNlOTFlNjM7LS1jb2xvci1iZXJyeS1waW5rLTYwMDojZDgxYjYwOy0tY29sb3ItYmVycnktcGluay03MDA6I2MyMTg1YjstLWNvbG9yLWJlcnJ5LXBpbmstODAwOiNhZDE0NTc7LS1jb2xvci1iZXJyeS1waW5rLTkwMDojODgwZTRmOy0tY29sb3ItYmVycnktcGluay1hMTAwOiNmZjgwYWI7LS1jb2xvci1iZXJyeS1waW5rLWEyMDA6I2ZmNDA4MTstLWNvbG9yLWJlcnJ5LXBpbmstYTQwMDojZjUwMDU3Oy0tY29sb3ItYmVycnktcGluay1hNzAwOiNjNTExNjI7LS1jb2xvci1za3ktYmx1ZS01MDojZTBmN2ZhOy0tY29sb3Itc2t5LWJsdWUtMTAwOiNiMmViZjI7LS1jb2xvci1za3ktYmx1ZS0yMDA6IzgwZGVlYTstLWNvbG9yLXNreS1ibHVlLTMwMDojNGRkMGUxOy0tY29sb3Itc2t5LWJsdWUtNDAwOiMyNmM2ZGE7LS1jb2xvci1za3ktYmx1ZS01MDA6IzAwYmNkNDstLWNvbG9yLXNreS1ibHVlLTYwMDojMDBhY2MxOy0tY29sb3Itc2t5LWJsdWUtNzAwOiMwMDk3YTc7LS1jb2xvci1za3ktYmx1ZS04MDA6IzAwODM4ZjstLWNvbG9yLXNreS1ibHVlLTkwMDojMDA2MDY0Oy0tY29sb3Itc2t5LWJsdWUtYTEwMDojODRmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTIwMDojMThmZmZmOy0tY29sb3Itc2t5LWJsdWUtYTQwMDojMDBlNWZmOy0tY29sb3Itc2t5LWJsdWUtYTcwMDojMDBiOGQ0Oy0tY29sb3ItZm9yZXN0LWdyZWVuLTUwOiNkYWYyZTY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMTAwOiNhY2U1Yzk7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwOiM3MGNjOWU7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwOiM0MmJkN2Y7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwOiMyMmFiNjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwOiMwODk5NTA7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNjAwOiMwNjgwNDM7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwOiMwNTY2MzY7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwOiMwMDRkMjc7LS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwOiMxYTMzMjY7LS1jb2xvci1mYWNlYm9vazojMTg3N2YyOy0tY29sb3ItZGVlcC1mYWNlYm9vazojMTU2NGNhOy0tY29sb3ItdHdpdHRlcjojMWRhMWYyOy0tY29sb3ItZGVlcC10d2l0dGVyOiMxODhjZDM7LS1jb2xvci15b3V0dWJlOnJlZDstLWNvbG9yLWxpbmtlZGluOiMwMDdiYjU7LS1jb2xvci1zZWVraW5nLWFscGhhLWJyYW5kOiNmZjcyMDB9W2RhdGEtdGhlbWU9bGlnaHRdey0tY29sb3ItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvZHktYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9keS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmctaGlnaGxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItdGV4dC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApOy0tY29sb3ItdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWFjY2VudC1jb250ZW50OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm94LXNoYWRvdzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWRpdmlkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kaXZpZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItZGl2aWRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnJhbmQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGlnaGxpZ2h0LW5ldzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWlucHV0LXB1Ymxpc2gtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBhbmUtc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItcG9wdXAtbWVudS1zZXBhcmF0b3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wcmltYXJ5LXN5bWJvbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3Itc2NyZWVuZXItZGVzY3JpcHRpb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0LWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWljb246dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWludGVyYWN0aXZlLWVsZW1lbnQtdGV4dC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItdG9vbGJhci1kaXZpZGVyLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtc2Vjb25kYXJ5LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWhpbnQtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10di1kaWFsb2ctY2FwdGlvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXR2LWRyb3Bkb3duLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci11bmRlcmxpbmVkLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci13aWRnZXQtcGFnZXMtYmc6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItbGlzdC1pdGVtLWFjdGl2ZS1iZzp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1saXN0LWl0ZW0tdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtYmFjazp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXByaWNlLWF4aXMtbGFiZWwtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXByaWNlLWF4aXMtZ2Vhci1ob3Zlcjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1idXR0b24taG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1kZXB0aHJlbmRlcmVyLWZpbGwtc3R5bGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1kaXNhYmxlZC1ib3JkZXItYW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGlzYWJsZWQtaW5wdXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1lbXB0eS1jb250YWluZXItbWVzc2FnZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWljb25zOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaXRlbS1ob3Zlci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWl0ZW0tc2VsZWN0ZWQtYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItcGxhY2Vob2xkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1yb3ctaG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Itc2Nyb2xsYmFyLWJvZHktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1zZWN0aW9uLXNlcGFyYXRvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1zZXBhcmF0b3ItdGFibGUtY2hhdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXNjcm9sbC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLXNjcm9sbC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci13aWRnZXQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itc2Nyb2xsLWJ1dHRvbnMtYXJyb3c6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXByaW1hcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWdvdG8tbGFiZWwtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXByZS1tYXJrZXQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItcG9zdC1tYXJrZXQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3Itbm90YWNjdXJhdGUtbW9kZTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTYwMCk7LS1jb2xvci1kZWxheS1tb2RlOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWRlbGF5LW1vZGUtYmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS00MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItbGlzdC1pdGVtLWJnLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1oaWdobGlnaHRlZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2NyZWVuZXItaGVhZGVyLWJnOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1tYXJrZXItZmxhZ2dlZC1ob3ZlcmVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hc2s6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLXNlbGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWJ1eTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItcHJvOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1wcm8taG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXByby1wbHVzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXByby1wbHVzLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXByby1wcmVtaXVtOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXByby1wcmVtaXVtLWhvdmVyOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLXRyaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdHJpYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1tb2Q6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1vZC1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYnJva2VyLWZlYXR1cmVkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy1zdG9wcGVkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1hbGVydC1zdGF0dXMtdHJpZ2dlcmVkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1zZWFyY2gtYnV0dG9uLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWNvbnRlbnQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jYXJkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWNhcmQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3Itc3Ryb2tlLXNwZWNpYWwtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNlbGVjdGlvbi1iZzp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1kZWZhdWx0LWdyYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXNwZWNpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXBsYXRmb3JtOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtcGFnZS1wcm9tbzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2Utc29jaWFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXNpbXBsZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1wcm9tbzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1mdWxsc2NyZWVuOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1pY29ucy10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1wcmltYXJ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1wcm9tby1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvbnRlbnQtdGV4dC1zb2NpYWwtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtcHJpbWFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeS1zcGVjaWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItbGluay1zZWNvbmRhcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3Itc3RhdGljLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1zdGF0aWMtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1pcy1zZWxlY3RlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktZGFuZ2VyLWFjdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLWZvY3VzLW5vdC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXJlYWQtb25seTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRleHQtZmllbGQtYm9yZGVyLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2l0aC12YWx1ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZGVzY3JpcHRpb24tc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtZm9jdXMtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWVycm9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLWxpbms6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWxhYmVsLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1sZWZ0LXNsb3QtaWNvbi1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXRleHQtZmllbGQtcGxhY2Vob2xkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1hcnJvd3MtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWljb25zLWFuZC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItdGV4dC1maWVsZC12YWx1ZS1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1kYW5nZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1maWxsLWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1ib3JkZXItdGVydGlhcnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaXNPcGVuZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1jaGVja2VkLW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1pc09wZW5lZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtY29udGVudC1ub3QtY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLXN5bWJvbC1jaGFuZ2UtbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctcG9zaXRpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLXN5bWJvbC1yYXRpbmctbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLW90aGVyLXRyYW5zcGFyZW50OiNmZmYwOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQtNjA6I2ZmZjk7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDAzOy0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLW90aGVyLW1vZGFsLWJhY2tncm91bmQ6I2QxZDFkMTRkOy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTojMDAwMzstLWNvbG9yLW90aGVyLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1zaGFkb3ctc2Vjb25kYXJ5LW5ldXRyYWwtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktcHJpbWFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItYmxhY2stZnJpZGF5LXRlcnRpYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktcHJpbWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hNDAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1zZWNvbmRhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTIwMCk7LS1jb2xvci1vdGhlci1jeWJlci1tb25kYXktdGVydGlhcnk6dmFyKC0tY29sb3Itc2t5LWJsdWUtYTEwMCk7LS1jb2xvci1zZWFyY2gtaGlnaGxpZ2h0LXByaW1hcnktbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsYWNrOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3Itd2hpdGU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDEtbm9ybWFsOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWFsdDItYm9sZDp2YXIoLS1jb2xvci1za3ktYmx1ZS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLWxpZ2h0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1ub3JtYWw6dmFyKC0tY29sb3ItcmlwZS1yZWQtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC10aGluOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1saWdodDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLW5vcm1hbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVhdGVybmFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktZGFuZ2VyLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE2MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1aW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTgwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmVnYXRpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTYwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTgwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXdhcm5pbmctYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE3MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay04MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1pZ3VhbmEtZ3JlZW4tODAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLWE0MDApOy0tY29sb3ItY29udGVudC1xdWF0ZXJuYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1jb250ZW50LXF1aW5hcnktYWNjZW50LWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItYm9yZGVyLXNlY29uZGFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1saWdodDojMjk2MmZmMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLW5vcm1hbDojMjk2MmZmNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQ6IzI5NjJmZjY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMi1saWdodDojMDBhY2MxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLW5vcm1hbDojMDBhY2MxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWJvbGQ6IzAwYWNjMTY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodDojOWMyN2IwMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbDojOWMyN2IwNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQ6IzljMjdiMDY2Oy0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1saWdodDojNWUzNWIxMjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LW5vcm1hbDojNWUzNWIxNGQ7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWJvbGQ6IzVlMzViMTY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0OiNjYzJmM2MyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWw6I2NjMmYzYzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQ6I2NjMmYzYzY2Oy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWxpZ2h0OiNlOTFlNjMyNjstLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWw6I2U5MWU2MzRkOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLWJvbGQ6I2U5MWU2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQ6IzYzNjM2MzI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbm9ybWFsOiM2MzYzNjM0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQ6IzYzNjM2MzY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbGlnaHQ6IzAwMDAwMDI2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTItbm9ybWFsOiMwMDAwMDA0ZDstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLWJvbGQ6IzAwMDY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbGlnaHQ6IzA4OTk4MTI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLW5vcm1hbDojMDg5OTgxNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZDojMDg5OTgxNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItbGlnaHQ6IzA4OTk1MDI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLW5vcm1hbDojMDg5OTUwNGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTItYm9sZDojMDg5OTUwNjY7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtbGlnaHQ6IzQzYTA0NzI2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLW5vcm1hbDojNDNhMDQ3NGQ7LS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTMtYm9sZDojNDNhMDQ3NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1saWdodDojZmRkODM1MjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMi1ub3JtYWw6I2ZkZDgzNTRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItYm9sZDojZmRkODM1NjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1saWdodDojZmY5ODAwMjY7LS1jb2xvci1vdmVybGF5LXdhcm5pbmctMy1ub3JtYWw6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtYm9sZDojZmY5ODAwNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1saWdodDojNjM2MzYzMjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMy1ub3JtYWw6IzYzNjM2MzRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtYm9sZDojNjM2MzYzNjY7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtODAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czItZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLW06dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXJpcGUtcmVkLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmV1dHJhbDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTEwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC1taW51czItZGVmYXVsdDojZGU4MTJmOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTM1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtemVyby1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czItZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYxLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjItZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjMtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXY3LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNDAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS00MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLXM6dmFyKC0tY29sb3Itc2t5LWJsdWUtMTAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXM6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0zMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14eGw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS05MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLWJvcmRlcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLXhzOnZhcigtLWNvbG9yLXNreS1ibHVlLTUwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtczp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1tOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUteHhsOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3Itc2t5LWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXhzOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS01MCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtNTApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXM6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWw6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhsOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14eGw6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHM6dmFyKC0tY29sb3ItYmVycnktcGluay01MCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstczp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbTp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstbDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTUwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteGw6dmFyKC0tY29sb3ItYmVycnktcGluay03MDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXh4bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTkwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmstYm9yZGVyOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXhzOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXM6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1sOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXhsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHM6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS01MCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtczp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbTp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtbDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTUwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteGw6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS03MDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXh4bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUtYm9yZGVyOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLWNvbG9yLWhlYWRlci1iZzp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib2R5LWJnOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJvZHktc2Vjb25kYXJ5LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYmctcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJnLXByaW1hcnktaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iZy1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxlZ2FjeS1iZy1zY3JvbGwtYnV0dG9uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLWxlZ2FjeS1iZy13aWRnZXQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci10ZXh0LXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci10ZXh0LWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItYWNjZW50LWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZGl2aWRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWRpdmlkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1kaXZpZGVyLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJveC1zaGFkb3c6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1hY3RpdmUtaG92ZXItdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWFsZXJ0LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItY2hhdC1maWVsZHM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGFibGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1icmFuZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1icmFuZC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1icmFuZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS03MDApOy0tY29sb3ItYnV0dG9uLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItY2hhcnQtcGFnZS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbW1vbi10b29sdGlwLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItZmlsbC1zdHlsZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTstLWNvbG9yLWRlcHRocmVuZGVyZXItc3Ryb2tlLXN0eWxlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGlzYWJsZWQtYm9yZGVyLWFuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWRpc2FibGVkLWlucHV0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZW1wdHktY29udGFpbmVyLW1lc3NhZ2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1oaWdobGlnaHQtbmV3OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pY29uczp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWlucHV0LWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaW5wdXQtdGV4dGFyZWEtcmVhZG9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlci10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItaW5wdXQtcHVibGlzaC1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWl0ZW0tYWN0aXZlLWJsdWU6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWl0ZW0taG92ZXItYWN0aXZlLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWl0ZW0taG92ZXItYmx1ZTp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaXRlbS1zZWxlY3RlZC1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGluazp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1saW5rLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWxpbmstYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWxpc3QtaXRlbTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWxpc3QtbnRoLWNoaWxkLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItbmV3cy1oaWdobGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wYW5lLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItcGFuZS1zZWNvbmRhcnktYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wbGFjZWhvbGRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXBvcHVwLW1lbnUtaXRlbS1ob3Zlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXBvcHVwLW1lbnUtc2VwYXJhdG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItcHJpbWFyeS1zeW1ib2w6dmFyKC0tY29sb3Itc2t5LWJsdWUtNTAwKTstLWNvbG9yLXJvdy1ob3Zlci1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zYi1zY3JvbGxiYXItYm9keS1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXNjcmVlbmVyLWRlc2NyaXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc2VjdGlvbi1zZXBhcmF0b3ItYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2VhcmNoLWJ1dHRvbi1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXNlcGFyYXRvci10YWJsZS1jaGF0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3Itc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3Itc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLXRhZy1hY3RpdmUtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10YWctaG92ZXItYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LXJlZ3VsYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLXNlY29uZGFyeS1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRvb2xiYXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24taWNvbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10b29sYmFyLWRpdmlkZXItYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLXBvcHVwLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTI1MCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXNlY29uZGFyeS10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1oaW50LXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLXRvb2x0aXAtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10di1idXR0b24tY2hlY2tlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXR2LWRpYWxvZy1jYXB0aW9uOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci10di1kcm9wZG93bi1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdW5kZXJsaW5lZC10ZXh0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itd2lkZ2V0LXBhZ2VzLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3Itd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTcwMCk7LS1jb2xvci1mb3JleC1pY29uOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWxpc3QtaXRlbS1hY3RpdmUtYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItbGlzdC1pdGVtLWhvdmVyLWJnOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItbGlzdC1pdGVtLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLWJhY2s6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1wcmljZS1heGlzLWxhYmVsLXRleHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1wcmljZS1heGlzLWdlYXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCk7LS1jb2xvci1wcmljZS1heGlzLWhpZ2hsaWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJpZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zY3JvbGwtYmc6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1zY3JvbGwtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3Itd2lkZ2V0LWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXNjcm9sbC1idXR0b25zLWFycm93OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250cm9sLWludGVudC1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1jb250cm9sLWludGVudC1wcmltYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWNvbnRyb2wtaW50ZW50LXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29udHJvbC1pbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1ncm93aW5nOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1mYWxsaW5nOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1nb3RvLWxhYmVsLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1wcmUtbWFya2V0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLXBvc3QtbWFya2V0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5vdGFjY3VyYXRlLW1vZGU6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWRlbGF5LW1vZGU6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItZGVsYXktbW9kZS1iZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctaGlnaGxpZ2h0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hOTAwKTstLWNvbG9yLWxpc3QtaXRlbS1iZy1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItbGlzdC1pdGVtLWJnLWhpZ2hsaWdodGVkLWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1saXN0LWl0ZW0tYmctc2VsZWN0ZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZzp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLXNjcmVlbmVyLWhlYWRlci1iZy1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLW92ZXJsYXk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTk1MCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1zZWxlY3RlZDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1ib29zdC1idXR0b24tY29udGVudC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1ib29zdC1idXR0b24tYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1ib29zdC1idXR0b24tYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYm9vc3QtYnV0dG9uLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3IteC10d2l0dGVyLWNvbnRlbnQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY2FyZC1ib3JkZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jYXJkLWJvcmRlci1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWJhY2tncm91bmQtc3BlY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLXN0cm9rZS1zcGVjaWFsLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1zZWxlY3Rpb24tYmc6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWRlZmF1bHQtZ3JheTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWZlYXR1cmVkLWJyb2tlci1iYWRnZS1iZzp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtYmctaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1mZWF0dXJlZC1icm9rZXItYmFkZ2UtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRhcmstcHJpbWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJhY2tncm91bmQtZGFyay1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXNlY29uZGFyeTp2YXIoLS1jb2xvci10di1ibHVlLWE5MDApOy0tY29sb3ItYmFja2dyb3VuZC1zcGVjaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcGxhdGZvcm06dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXBhZ2UtcHJvbW86dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wYWdlLXNvY2lhbDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1zaW1wbGU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLWRpYWxvZy1jb21wbGljYXRlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJhY2tncm91bmQtZGlhbG9nLXByb21vOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItYmFja2dyb3VuZC1kaWFsb2ctZnVsbHNjcmVlbjp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb250ZW50LWljb25zLXByaW1hcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250ZW50LWljb25zLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRlbnQtaWNvbnMtdGVydGlhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tcHJpbWFyeTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250ZW50LXRleHQtcHJvbW8tc2Vjb25kYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXByb21vLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC10ZXh0LXNvY2lhbC1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXRleHQtc29jaWFsLXRlcnRpYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXByaW1hcnktc3BlY2lhbDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1kaXZpZGVyLWxpbmUtc2Vjb25kYXJ5LXNwZWNpYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWRpdmlkZXItbGluZS1wcmltYXJ5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItZGl2aWRlci1saW5lLXNlY29uZGFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWxpbmstcHJpbWFyeS1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMjAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKTstLWNvbG9yLWxpbmstc2Vjb25kYXJ5LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1zdGF0aWMtd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1zdGF0aWMtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1zdGF0aWMtaGlnaGxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1zdGF0aWMtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXN0YXRpYy1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1naG9zdC1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LWdob3N0LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtcXVpZXQtcHJpbWFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtaG92ZXI6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItYnV0dG9uLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWhvdmVyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1jb250ZW50LXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudDp2YXIoLS1jb2xvci10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ib2xkLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci1zdGF0aWMtdHJhbnNwYXJlbnQpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLWdob3N0LWFjY2VudC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItZ2hvc3QtYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1naG9zdC1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktc3VjY2Vzcy1kZWZhdWx0OnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1zdWNjZXNzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi03MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1hY2NlbnQtbGlnaHQtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtYm9sZC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWJvbGQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktbmV1dHJhbC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1zdWNjZXNzLWRlZmF1bHQ6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktc3VjY2Vzcy1hY3RpdmU6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXF1aWV0LXByaW1hcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItZGVmYXVsdDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItcXVpZXQtcHJpbWFyeS1kYW5nZXItaG92ZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1xdWlldC1wcmltYXJ5LWRhbmdlci1hY3RpdmU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtYm9sZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWhvdmVyOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LW5ldXRyYWwtaXMtc2VsZWN0ZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtZGVmYXVsdDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1zdWNjZXNzLWhvdmVyOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTYwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LXN1Y2Nlc3MtYWN0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWFjY2VudC1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLWE3MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1hY2NlbnQtbGlnaHQtYWN0aXZlOnZhcigtLWNvbG9yLXR2LWJsdWUtOTAwKTstLWNvbG9yLWJ1dHRvbi1maWxsX2JvcmRlci1zZWNvbmRhcnktYWNjZW50LWxpZ2h0LWlzLXNlbGVjdGVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1idXR0b24tZmlsbF9ib3JkZXItc2Vjb25kYXJ5LWRhbmdlci1ob3Zlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItYnV0dG9uLWZpbGxfYm9yZGVyLXNlY29uZGFyeS1kYW5nZXItYWN0aXZlOnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItZm9jdXMtbm90LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1ib3JkZXItd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWJvcmRlci13aXRoLXZhbHVlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1kZXNjcmlwdGlvbi1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci10ZXh0LWZpZWxkLWRlc2NyaXB0aW9uLXdhcm5pbmc6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItdGV4dC1maWVsZC1maWxsLWRlZmF1bHQ6dmFyKC0tY29sb3Itc3RhdGljLXRyYW5zcGFyZW50KTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLXRleHQtZmllbGQtZmlsbC1mb2N1cy1yZWFkLW9ubHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci10ZXh0LWZpZWxkLWZpbGwtcmVhZC1vbmx5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1lcnJvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC1saW5rOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGFiZWwtc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItdGV4dC1maWVsZC1sYWJlbC13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtbGVmdC1zbG90LWljb24tZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXBsYWNlaG9sZGVyLWRpc2FibGVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1kZWZhdWx0OnZhcigtLWNvbG9yLXN0YXRpYy10cmFuc3BhcmVudCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtYXJyb3dzLWJnLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItdGV4dC1maWVsZC1yaWdodC1zbG90LWFycm93cy1iZy1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1kaXNhYmxlZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci10ZXh0LWZpZWxkLXJpZ2h0LXNsb3QtaWNvbnMtYW5kLXRleHQtZXJyb3I6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLXRleHQtZmllbGQtcmlnaHQtc2xvdC1pY29ucy1hbmQtdGV4dC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLWNvbG9yLXRleHQtZmllbGQtdmFsdWUtZGlzYWJsZWQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudDp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb3VudGVyLWZpbGwtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb3VudGVyLWNvbnRlbnQtYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKTstLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY291bnRlci1jb250ZW50LW5ldXRyYWwtYm9sZDp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvdW50ZXItY29udGVudC1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY291bnRlci1ib3JkZXItcHJpbWFyeTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1jb3VudGVyLWJvcmRlci1zZWNvbmRhcnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWZpbHRlci1zZWxlY3QtZmlsbF9ib3JkZXItY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItdHYtYmx1ZS05MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1hY2NlbnQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtYWNjZW50LWFjdGl2ZTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWRlZmF1bHQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LWNoZWNrZWQtbmV1dHJhbC1ob3Zlcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtY2hlY2tlZC1uZXV0cmFsLWFjdGl2ZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1maWxsX2JvcmRlci1ub3QtY2hlY2tlZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWZpbGxfYm9yZGVyLW5vdC1jaGVja2VkLWlzT3BlbmVkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItZmlsdGVyLXNlbGVjdC1jb250ZW50LW5vdC1jaGVja2VkLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1maWx0ZXItc2VsZWN0LWNvbnRlbnQtbm90LWNoZWNrZWQtYWN0aXZlOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3Itc3ltYm9sLWNoYW5nZS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1wb3NpdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi00MDApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3Itc3ltYm9sLXJhdGluZy1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itb3RoZXItdHJhbnNwYXJlbnQ6IzAwMDA7LS1jb2xvci1vdGhlci10cmFuc3BhcmVudC02MDojMDAwOTstLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6IzAwMDY7LS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3Itc2hhZG93LXNlY29uZGFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3Itb3RoZXItbW9kYWwtYmFja2dyb3VuZDojMDAwMDAwNGQ7LS1jb2xvci1vdGhlci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OiMwMDA2Oy0tY29sb3Itb3RoZXItc2hhZG93LXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLW90aGVyLXNoYWRvdy1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLW90aGVyLWJsYWNrLWZyaWRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktc2Vjb25kYXJ5OnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCk7LS1jb2xvci1vdGhlci1ibGFjay1mcmlkYXktdGVydGlhcnk6dmFyKC0tY29sb3ItcmlwZS1yZWQtMzAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS1wcmltYXJ5OnZhcigtLWNvbG9yLXNreS1ibHVlLWE0MDApOy0tY29sb3Itb3RoZXItY3liZXItbW9uZGF5LXNlY29uZGFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMjAwKTstLWNvbG9yLW90aGVyLWN5YmVyLW1vbmRheS10ZXJ0aWFyeTp2YXIoLS1jb2xvci1za3ktYmx1ZS1hMTAwKTstLWNvbG9yLXNlYXJjaC1oaWdobGlnaHQtcHJpbWFyeS1ub3JtYWw6dmFyKC0tY29sb3ItdHYtYmx1ZS0yMDApOy0tY29sb3Itc2VhcmNoLWhpZ2hsaWdodC1wcmltYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmxhY2s6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci13aGl0ZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1iYWNrZ3JvdW5kLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7LS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTg1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtbm9ybWFsOnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0MS1ub3JtYWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLWExMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1hY2NlbnQtYWx0Mi1ib2xkOnZhcigtLWNvbG9yLXNreS1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1kYW5nZXItZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LWRhbmdlci1saWdodDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLW5vcm1hbDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWhlYXZ5OnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtdGhpbjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1tZWRpdW06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktc3VjY2Vzcy1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3MtbGlnaHQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXN1Y2Nlc3Mtbm9ybWFsOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLWE3MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1zdWNjZXNzLXNlbWktYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktd2FybmluZy1leHRyYS1saWdodDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE5MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS13YXJuaW5nLWxpZ2h0OnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctbm9ybWFsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LXdhcm5pbmctc2VtaS1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXF1YXRlcm5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci13aGl0ZSk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50OnZhcigtLWNvbG9yLXR2LWJsdWUtYTEwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXRoaW46dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5OnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LW5ldXRyYWwtaGVhdnk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLW5vcm1hbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLXNlbWktYm9sZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtc2Vjb25kYXJ5LWRhbmdlci1ib2xkOnZhcigtLWNvbG9yLXJpcGUtcmVkLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZWNvbmRhcnktc3VjY2Vzcy1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWNvbnRhaW5lci1maWxsLXRlcnRpYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tY29sb3ItY29udGFpbmVyLWZpbGwtdGVydGlhcnktbmV1dHJhbC1oZWF2eTp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2U6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1jb250YWluZXItZmlsbC1zZW5hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWExMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1oZWF2eTp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW5vcm1hbDp2YXIoLS1jb2xvci10di1ibHVlLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLW5vcm1hbDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQ6dmFyKC0tY29sb3Itc2t5LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtYTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktYXR0ZW50aW9uOnZhcigtLWNvbG9yLWJhbmFuYS15ZWxsb3ctODAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXI6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1yaXBlLXJlZC1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZWdhdGl2ZTp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1leHRyYS1saWdodDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS02NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXBvc2l0aXZlOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZzp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMzAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNDAwKTstLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTQwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LXNlbWktYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtYm9sZDp2YXIoLS1jb2xvci10di1ibHVlLWEyMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItZXh0cmEtYm9sZDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLWExMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsLWJvbGQ6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LWV4dHJhLWxpZ2h0OnZhcigtLWNvbG9yLXR2LWJsdWUtNjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LW5ldXRyYWwtbWVkaXVtOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLXNlbWktYm9sZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS13YXJuaW5nLWJvbGQ6dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApOy0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItYmVycnktcGluay1hMjAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3M6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKTstLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTEwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1zdWNjZXNzLWV4dHJhLWJvbGQ6dmFyKC0tY29sb3ItaWd1YW5hLWdyZWVuLTQwMCk7LS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItY29udGVudC10ZXJ0aWFyeS1pbnZlcnNlOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hMTAwKTstLWNvbG9yLWNvbnRlbnQtcXVhdGVybmFyeS1hY2NlbnQtc2VtaS1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtMzAwKTstLWNvbG9yLWNvbnRlbnQtcXVpbmFyeS1hY2NlbnQ6dmFyKC0tY29sb3ItdHYtYmx1ZS0zMDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApOy0tY29sb3ItY29udGVudC1xdWluYXJ5LWFjY2VudC1ib2xkOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWFjY2VudDp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1hY2NlbnQtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LWRhbmdlcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktaW52ZXJzZTp2YXIoLS1jb2xvci1ibGFjayk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1ib2xkOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkOnZhcigtLWNvbG9yLXdoaXRlKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnk6dmFyKC0tY29sb3Itd2hpdGUpOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1saWdodDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsOnZhcigtLWNvbG9yLWNvbGQtZ3JheS02MDApOy0tY29sb3ItYm9yZGVyLXByaW1hcnktbmV1dHJhbC1zZW1pLWJvbGQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTUwMCk7LS1jb2xvci1ib3JkZXItcHJpbWFyeS13YXJuaW5nOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKTstLWNvbG9yLWJvcmRlci1zZWNvbmRhcnktbmV1dHJhbC1ub3JtYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1ib3JkZXItdGVydGlhcnktaW52ZXJzZTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODUwKTstLWNvbG9yLWJvcmRlci1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtbGlnaHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0OiM0NDhhZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsOiM0NDhhZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtYm9sZDojNDQ4YWZmNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0yLWxpZ2h0OiMwMGJjZDQzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsOiMwMGJjZDQ0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZDojMDBiY2Q0NjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWxpZ2h0OiNlYTgwZmMzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsOiNlYTgwZmM0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZDojZWE4MGZjNjY7LS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0OiNiMzg4ZmYzMzstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtbm9ybWFsOiNiMzg4ZmY0ZDstLWNvbG9yLW92ZXJsYXktYWNjZW50LTQtYm9sZDojYjM4OGZmNjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQ6I2YyMzY0NTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbDojZjIzNjQ1NGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZDojZjIzNjQ1NjY7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQ6I2ZmNDA4MTMzOy0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0yLW5vcm1hbDojZmY0MDgxNGQ7LS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZDojZmY0MDgxNjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodDojYjhiOGI4MzM7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWw6I2I4YjhiODRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZDojYjhiOGI4NjY7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1saWdodDojZmZmMzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0yLW5vcm1hbDojZmZmZmZmNGQ7LS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMi1ib2xkOiNmZmY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0OiMyMmFiOTQzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1ub3JtYWw6IzIyYWI5NDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQ6IzIyYWI5NDY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWxpZ2h0OiMyMmFiNjczMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMi1ub3JtYWw6IzIyYWI2NzRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0yLWJvbGQ6IzIyYWI2NzY2Oy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWxpZ2h0OiM0Y2FmNTAzMzstLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWw6IzRjYWY1MDRkOy0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQ6IzRjYWY1MDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbGlnaHQ6I2ZmOTgwMDMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsOiNmZjk4MDA0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQ6I2ZmOTgwMDY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbGlnaHQ6I2ZkZDgzNTMzOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTItbm9ybWFsOiNmZGQ4MzU0ZDstLWNvbG9yLW92ZXJsYXktd2FybmluZy0yLWJvbGQ6I2ZkZDgzNTY2Oy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbGlnaHQ6I2ZmOTgwMDFhOy0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTMtbm9ybWFsOiNmZjk4MDAzMzstLWNvbG9yLW92ZXJsYXktd2FybmluZy0zLWJvbGQ6I2ZmOTgwMDRkOy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbGlnaHQ6IzJlMmUyZTY2Oy0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTMtbm9ybWFsOiMyZTJlMmVjYzstLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0zLWJvbGQ6IzJlMmUyZTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1taW51czMtZGVmYXVsdDp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLXJpcGUtcmVkLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1wbHVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUteGw6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZWdhdGl2ZS1sOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci1yaXBlLXJlZC03MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LW5lZ2F0aXZlLXM6dmFyKC0tY29sb3ItcmlwZS1yZWQtOTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1uZXV0cmFsOnZhcigtLWNvbG9yLWJsYWNrKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi05MDApOy0tY29sb3ItaGVhdG1hcC1jbGFzc2ljLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTcwMCk7LS1jb2xvci1oZWF0bWFwLWNsYXNzaWMtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNTAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNDAwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtY2xhc3NpYy1saWdodC1ob3Zlcjp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLW1pbnVzMi1kZWZhdWx0OiNhYTYzMjQ7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtbWludXMxLWRlZmF1bHQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtY29sb3JibGluZC16ZXJvLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1jb2xvci1oZWF0bWFwLWNvbG9yYmxpbmQtcGx1czEtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC1jb2xvcmJsaW5kLXBsdXMzLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMy1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMi1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLW1pbnVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zNTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXplcm8tZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKTstLWNvbG9yLWhlYXRtYXAtbW9ub2Nocm9tZS1wbHVzMS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tY29sb3ItaGVhdG1hcC1tb25vY2hyb21lLXBsdXMyLWRlZmF1bHQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCk7LS1jb2xvci1oZWF0bWFwLW1vbm9jaHJvbWUtcGx1czMtZGVmYXVsdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12MS1kZWZhdWx0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApOy0tY29sb3ItaGVhdG1hcC1wb3NpdGl2ZS1vbmx5LXYyLWRlZmF1bHQ6dmFyKC0tY29sb3ItdHYtYmx1ZS1hODAwKTstLWNvbG9yLWhlYXRtYXAtcG9zaXRpdmUtb25seS12My1kZWZhdWx0OnZhcigtLWNvbG9yLXR2LWJsdWUtYTcwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjQtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjUtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTYwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjYtZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXBvc2l0aXZlLW9ubHktdjctZGVmYXVsdDp2YXIoLS1jb2xvci10di1ibHVlLTIwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLXhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTYwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5lZ2F0aXZlLWw6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtbmVnYXRpdmUtbTp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1uZWdhdGl2ZS1zOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LW5ldXRyYWw6dmFyKC0tY29sb3ItYmxhY2spOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLXJhbmdlLWxpZ2h0LXBvc2l0aXZlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtcG9zaXRpdmUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS02MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1wb3NpdGl2ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1yYW5nZS1saWdodC1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKTstLWNvbG9yLWhlYXRtYXAtcmFuZ2UtbGlnaHQtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS04MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLXhzOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2Utczp2YXIoLS1jb2xvci10YW4tb3JhbmdlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10YW4tb3JhbmdlLW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1sOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtNTAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS14bDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXRhbi1vcmFuZ2UteHhsOnZhcigtLWNvbG9yLXRhbi1vcmFuZ2UtMjAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdGFuLW9yYW5nZS1ib3JkZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS0xMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14czp2YXIoLS1jb2xvci1za3ktYmx1ZS05MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS1zOnZhcigtLWNvbG9yLXNreS1ibHVlLTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLW06dmFyKC0tY29sb3Itc2t5LWJsdWUtNzAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtbDp2YXIoLS1jb2xvci1za3ktYmx1ZS01MDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14bDp2YXIoLS1jb2xvci1za3ktYmx1ZS0zMDApOy0tY29sb3ItaGVhdG1hcC1za3ktYmx1ZS14eGw6dmFyKC0tY29sb3Itc2t5LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtc2t5LWJsdWUtZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLXNreS1ibHVlLWJvcmRlcjp2YXIoLS1jb2xvci1za3ktYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUteHM6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTkwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS1zOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS03MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtbTp2YXIoLS1jb2xvci1kZWVwLWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWw6dmFyKC0tY29sb3ItZGVlcC1ibHVlLTQwMCk7LS1jb2xvci1oZWF0bWFwLWRlZXAtYmx1ZS14bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMzAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLXh4bDp2YXIoLS1jb2xvci1kZWVwLWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZGVlcC1ibHVlLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1kZWVwLWJsdWUtYm9yZGVyOnZhcigtLWNvbG9yLWRlZXAtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLXhzOnZhcigtLWNvbG9yLXR2LWJsdWUtYTkwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUtczp2YXIoLS1jb2xvci10di1ibHVlLWE4MDApOy0tY29sb3ItaGVhdG1hcC10di1ibHVlLW06dmFyKC0tY29sb3ItdHYtYmx1ZS1hNzAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1sOnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS14bDp2YXIoLS1jb2xvci10di1ibHVlLTMwMCk7LS1jb2xvci1oZWF0bWFwLXR2LWJsdWUteHhsOnZhcigtLWNvbG9yLXR2LWJsdWUtMjAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtdHYtYmx1ZS1ib3JkZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS0xMDApOy0tY29sb3ItaGVhdG1hcC1iZXJyeS1waW5rLXhzOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstOTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1zOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1tOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNzAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1sOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstNTAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay14bDp2YXIoLS1jb2xvci1iZXJyeS1waW5rLTMwMCk7LS1jb2xvci1oZWF0bWFwLWJlcnJ5LXBpbmsteHhsOnZhcigtLWNvbG9yLWJlcnJ5LXBpbmstMjAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtYmVycnktcGluay1ib3JkZXI6dmFyKC0tY29sb3ItYmVycnktcGluay0xMDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4teHM6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTkwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi1zOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tbTp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tNzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWw6dmFyKC0tY29sb3ItZm9yZXN0LWdyZWVuLTUwMCk7LS1jb2xvci1oZWF0bWFwLWZvcmVzdC1ncmVlbi14bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMzAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLXh4bDp2YXIoLS1jb2xvci1mb3Jlc3QtZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtZm9yZXN0LWdyZWVuLWVtcHR5OnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tY29sb3ItaGVhdG1hcC1mb3Jlc3QtZ3JlZW4tYm9yZGVyOnZhcigtLWNvbG9yLWZvcmVzdC1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14czp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hOTAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tczp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hODAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi1hNzAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tbDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14bDp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApOy0tY29sb3ItaGVhdG1hcC1taW50eS1ncmVlbi14eGw6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMjAwKTstLWNvbG9yLWhlYXRtYXAtbWludHktZ3JlZW4tZW1wdHk6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1jb2xvci1oZWF0bWFwLW1pbnR5LWdyZWVuLWJvcmRlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0xMDApOy0tY29sb3ItaGVhdG1hcC1ncmFwZXMtcHVycGxlLXhzOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtOTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1zOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1tOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNzAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1sOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtNTAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS14bDp2YXIoLS1jb2xvci1ncmFwZXMtcHVycGxlLTMwMCk7LS1jb2xvci1oZWF0bWFwLWdyYXBlcy1wdXJwbGUteHhsOnZhcigtLWNvbG9yLWdyYXBlcy1wdXJwbGUtMjAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1lbXB0eTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLWNvbG9yLWhlYXRtYXAtZ3JhcGVzLXB1cnBsZS1ib3JkZXI6dmFyKC0tY29sb3ItZ3JhcGVzLXB1cnBsZS0xMDApOy0tY29sb3ItbWFya2VyLWZsYWdnZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLW1hcmtlci1mbGFnZ2VkLWhvdmVyZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNjAwKTstLWNvbG9yLWFzazp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3Itc2VsbDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItYnV5OnZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKTstLWNvbG9yLW5ldXRyYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci1wcm86dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLXByby1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItcHJvLXBsdXM6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApOy0tY29sb3ItcHJvLXBsdXMtaG92ZXI6dmFyKC0tY29sb3ItdHYtYmx1ZS02MDApOy0tY29sb3ItcHJvLXByZW1pdW06dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItcHJvLXByZW1pdW0taG92ZXI6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS03MDApOy0tY29sb3ItdHJpYWw6dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCk7LS1jb2xvci10cmlhbC1ob3Zlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLWNvbG9yLW1vZDp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApOy0tY29sb3ItbW9kLWhvdmVyOnZhcigtLWNvbG9yLXJpcGUtcmVkLTYwMCk7LS1jb2xvci1hZDp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1jb2xvci1icm9rZXItZmVhdHVyZWQ6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tNDAwKTstLWNvbG9yLWJyb2tlci1mZWF0dXJlZC1ob3Zlcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi02MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLWFjdGl2ZTp2YXIoLS1jb2xvci1taW50eS1ncmVlbi01MDApOy0tY29sb3ItYWxlcnQtc3RhdHVzLXN0b3BwZWQ6dmFyKC0tY29sb3ItcmlwZS1yZWQtNTAwKTstLWNvbG9yLWFsZXJ0LXN0YXR1cy10cmlnZ2VyZWQ6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXJlcGxheS1kYXRhLW1vZGU6dmFyKC0tY29sb3ItcmlwZS1yZWQtNDAwKTstLWNvbG9yLWxlZ2FjeS1zdWNjZXNzOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCk7LS1jb2xvci1jb2xsYXBzZS10YWJzLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLWNvbG9yLXNpdGUtd2lkZ2V0LWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01MCk7LS1jb2xvci1hdHRlbnRpb246dmFyKC0tY29sb3ItYmFuYW5hLXllbGxvdy03MDApfQ=="}},"time_used":35,"timings":{"blocked":24,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.794Z","timestamp":1785139582794,"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-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 08:06:22 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: 701a1a8bd3f99e14e710a32693d4523e\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-28T06:17:53.496825Z","times_seen":305,"resource_available":false,"data":"OnJvb3QsW2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1waG9uZTo1NnB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtdGFibGV0OjgwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3A6MTAwcHg7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmU6MTZweDstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLXRhYmxldDoyNHB4Oy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wOjMycHg7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1kZXNrdG9wOjQwcHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0OjE2cHg7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1sYXB0b3A6MjRweDstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWRlc2t0b3A6MjRweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXBob25lOjU2cHg7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQ6ODBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcDoxMDBweDstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3A6MTIwcHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1waG9uZToxNnB4Oy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0OjI0cHg7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3A6MzJweDstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3A6NDBweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXBob25lOjE2cHg7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZS10YWJsZXQ6MTZweDstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcDoyNHB4Oy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcDoyNHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLXBob25lOjgwcHg7LS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0OjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcDoxNjBweDstLXYtcmh5dGhtLXNwYWNpbmctMS1kZXNrdG9wOjIwMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0Ojg4cHg7LS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3A6MTYwcHg7LS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmU6NDhweDstLXYtcmh5dGhtLXNwYWNpbmctMy10YWJsZXQ6NjRweDstLXYtcmh5dGhtLXNwYWNpbmctMy1sYXB0b3A6ODhweDstLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wOjEyMHB4Oy0tdi1yaHl0aG0tc3BhY2luZy00LXBob25lOjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0OjQ4cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wOjY0cHg7LS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcDo4MHB4Oy0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lOjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0OjMycHg7LS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wOjQwcHg7LS12LXJoeXRobS1zcGFjaW5nLTUtZGVza3RvcDo0OHB4Oy0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTEtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy0xOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMS1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXBob25lKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtcGhvbmUpOy0tdi1yaHl0aG0tc3BhY2luZy00OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNC1waG9uZSk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXBob25lKX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fUBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOmlubGluZS1zaXplKXtAbWVkaWEgKG1pbi13aWR0aDo3MDJweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LXRhYmxldCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LXRhYmxldCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDcwMnB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLXRhYmxldCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS10YWJsZXQpOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtdGFibGV0KTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtdGFibGV0KX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KXs6cm9vdHstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1oZWFkZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMi1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMi1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMjp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTItbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtbGFwdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTUtbGFwdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fX1AY29udGFpbmVyIGNvbnRlbnQtY29udGFpbmVyIChtaW4td2lkdGg6IDEyMTRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1sYXB0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtbGFwdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0zLXNwYWNlLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTM6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0zLWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWxhcHRvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWxhcHRvcCl9fUBtZWRpYSAobWluLXdpZHRoOjE0NDBweCl7OnJvb3R7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19QHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUpe0BtZWRpYSAobWluLXdpZHRoOjEzNzRweCl7W2RhdGEtcXVlcnktdHlwZT1jb250YWluZXJdPip7LS12LXJoeXRobS1oZWFkZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMS1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMS1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0yLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTMtc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTE6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0xLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0yOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMi1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMzp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTMtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTQ6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy00LWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy01OnZhcigtLXYtcmh5dGhtLXNwYWNpbmctNS1kZXNrdG9wKX19fUBjb250YWluZXIgY29udGVudC1jb250YWluZXIgKG1pbi13aWR0aDogMTM3NHB4KXtbZGF0YS1xdWVyeS10eXBlPWNvbnRhaW5lcl0+KnstLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWhlYWRlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0taGVhZGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1oZWFkZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1oZWFkZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlOnZhcigtLXYtcmh5dGhtLWZvb3Rlci0xLXNwYWNlLWRlc2t0b3ApOy0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2U6dmFyKC0tdi1yaHl0aG0tZm9vdGVyLTItc3BhY2UtZGVza3RvcCk7LS12LXJoeXRobS1mb290ZXItMy1zcGFjZTp2YXIoLS12LXJoeXRobS1mb290ZXItMy1zcGFjZS1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctMTp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTEtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTI6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy0yLWRlc2t0b3ApOy0tdi1yaHl0aG0tc3BhY2luZy0zOnZhcigtLXYtcmh5dGhtLXNwYWNpbmctMy1kZXNrdG9wKTstLXYtcmh5dGhtLXNwYWNpbmctNDp2YXIoLS12LXJoeXRobS1zcGFjaW5nLTQtZGVza3RvcCk7LS12LXJoeXRobS1zcGFjaW5nLTU6dmFyKC0tdi1yaHl0aG0tc3BhY2luZy01LWRlc2t0b3ApfX0udHYtdGV4dCBvbCwudHYtdGV4dCBwLC50di10ZXh0IHVse2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTJweH0udHYtdGV4dCBoMXtmb250LXNpemU6NDVweDttYXJnaW4tYm90dG9tOjMwcHg7bWFyZ2luLXRvcDozMHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDF7Zm9udC1zaXplOjM4cHh9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudHYtdGV4dCBoMXtmb250LXNpemU6MzJweH19QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey50di10ZXh0IGgxe2ZvbnQtc2l6ZToyOHB4fX0udHYtdGV4dCBoMntmb250LXNpemU6MzFweH1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di10ZXh0IGgye2ZvbnQtc2l6ZToyNnB4fX1AbWVkaWEgKG1heC13aWR0aDo0NzlweCl7LnR2LXRleHQgaDJ7Zm9udC1zaXplOjI0cHh9fS50di10ZXh0IGgze2ZvbnQtc2l6ZToxN3B4fUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LXRleHQgaDN7Zm9udC1zaXplOjE2cHh9fS50di10ZXh0IGg0e2ZvbnQtc2l6ZToxNXB4fS50di10ZXh0IGgyLC50di10ZXh0IGgzLC50di10ZXh0IGg0e21hcmdpbi1ib3R0b206MjBweDttYXJnaW4tdG9wOjIwcHh9LnR2LXRleHQgaDE6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDI6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDM6Zmlyc3QtY2hpbGQsLnR2LXRleHQgaDQ6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfS50di10ZXh0IG9sLC50di10ZXh0IHVse2xpc3Qtc3R5bGUtcG9zaXRpb246aW5zaWRlfS50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIG9sLC50di10ZXh0LS1wb3NpdGlvbi1vdXRzaWRlIHVse2xpc3Qtc3R5bGUtcG9zaXRpb246b3V0c2lkZTtwYWRkaW5nLWlubGluZS1zdGFydDoxN3B4fS50di10ZXh0IGE6bm90KC50di1idXR0b24pOm5vdCgudHYtY2hhcnQtdmlld19fZGVzY3JpcHRpb25fX3RhZyksLnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KTtmaWxsOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1kZWZhdWx0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTphY3RpdmV7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSk7ZmlsbDp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktYWN0aXZlKX0udHYtdGV4dCBhOm5vdCgudHYtYnV0dG9uKTpub3QoLnR2LWNoYXJ0LXZpZXdfX2Rlc2NyaXB0aW9uX190YWcpOmZvY3Vze291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LnR2LXRleHQgYTpub3QoLnR2LWJ1dHRvbik6bm90KC50di1jaGFydC12aWV3X19kZXNjcmlwdGlvbl9fdGFnKTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0udHYtdGV4dC0tZGFya2JnLC50di10ZXh0LS1kYXJrYmcgb2wsLnR2LXRleHQtLWRhcmtiZyBwLC50di10ZXh0LS1kYXJrYmcgdWx7Y29sb3I6I2ZmZn0uYXJpYS1saXZlLXJlZ2lvbnMtd3JhcHBlcntib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAsMCwwLDApO292ZXJmbG93LXg6aGlkZGVufWh0bWx7Y29sb3Itc2NoZW1lOmxpZ2h0fWh0bWwudGhlbWUtZGFya3tjb2xvci1zY2hlbWU6ZGFya31odG1sLnRoZW1lLWRhcmsgaWZyYW1le2NvbG9yLXNjaGVtZTpub3JtYWx9Ym9keXtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLXdpZHRoOjMyMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5Lmktbm8tc2Nyb2xse292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Ym9keS5pLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH06OnNlbGVjdGlvbntiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXNlbGVjdGlvbi1iZyl9LnNjcmVlbi1pd3I5T3Rwc3tib3R0b206MDtkaXNwbGF5Om5vbmU7aW5zZXQtaW5saW5lLWVuZDowO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6LjU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDo4fS5zY3JlZW4taXdyOU90cHMuZmFkZS1pd3I5T3Rwc3thbmltYXRpb246c2NyZWVuZmFkZS1pd3I5T3RwcyAuM3MgZWFzZSBiYWNrd2FyZHM7ZGlzcGxheTpibG9ja31Aa2V5ZnJhbWVzIHNjcmVlbmZhZGUtaXdyOU90cHN7MCV7b3BhY2l0eTowfX0ucGFuZVNlcGFyYXRvci1haTlNWEo5a3ttYXJnaW46MDtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5a3toZWlnaHQ6N3B4O2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotM3B4O3dpZHRoOjEwMCU7ei1pbmRleDo1MH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLm1vYmlsZS1haTlNWEo5a3toZWlnaHQ6MTFweDt0b3A6LTVweH0ucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmFjdGl2ZS1haTlNWEo5aywucGFuZVNlcGFyYXRvci1haTlNWEo5ayAuaGFuZGxlLWFpOU1YSjlrLmhvdmVyZWQtYWk5TVhKOWssLnBhbmVTZXBhcmF0b3ItYWk5TVhKOWsgLmhhbmRsZS1haTlNWEo5ay5zZWxlY3RlZC1haTlNWEo5a3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpO2N1cnNvcjpyb3ctcmVzaXplfS5wYW5lU2VwYXJhdG9yLWFpOU1YSjlrIC5oYW5kbGUtYWk5TVhKOWsuYWN0aXZlLWFpOU1YSjlrOmJlZm9yZXtiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtjb250ZW50OiIiO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO29wYWNpdHk6MDtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlfS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGp7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjN9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtd3JhcHBlci1iVENUUkNUai5oaWRkZW4tYlRDVFJDVGp7dmlzaWJpbGl0eTpoaWRkZW59LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7d2lkdGg6MTAwJX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1Rqe2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtjb2x1bW4tZ2FwOjJweDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6MCAzcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtY2hpbGQoMSBvZiA6bm90KC5qcy1oaWRkZW4pKXtib3JkZXItc3RhcnQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czozcHh9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUajpudGgtbGFzdC1jaGlsZCgtbisxIG9mIDpub3QoLmpzLWhpZGRlbikpe2JvcmRlci1lbmQtZW5kLXJhZGl1czozcHg7Ym9yZGVyLWVuZC1zdGFydC1yYWRpdXM6M3B4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqOmhvdmVyOm5vdCgucmVhZG9ubHkpe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCl9fS5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX0ucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC1iVENUUkNUaiAucm93LWJUQ1RSQ1RqLmV4cGFuZGVkLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWFycm93LWRvd24tYlRDVFJDVGp7dHJhbnNmb3JtOnNjYWxlWSgtMSl9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogZGl2e3BvaW50ZXItZXZlbnRzOmF1dG99LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtdGV4dC1iVENUUkNUant3aGl0ZS1zcGFjZTpub3dyYXB9LnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYXJyb3ctZG93bi1iVENUUkNUanthbGlnbi1zZWxmOmNlbnRlcjtkaXNwbGF5OmZsZXh9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1Rqe2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLXdyYXBwZXItYlRDVFJDVGogLnByaWNlLWF4aXMtY3VycmVuY3ktbGFiZWwtYlRDVFJDVGogLnJvdy1iVENUUkNUantjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGo6aG92ZXI6bm90KC5yZWFkb25seSl7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAucHJpY2UtYXhpcy1jdXJyZW5jeS1sYWJlbC13cmFwcGVyLWJUQ1RSQ1RqIC5wcmljZS1heGlzLWN1cnJlbmN5LWxhYmVsLWJUQ1RSQ1RqIC5yb3ctYlRDVFJDVGouZXhwYW5kZWQtYlRDVFJDVGp7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0ucHJpY2UtYXhpc3tjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGV9LnByaWNlLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnByaWNlLWF4aXMtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wcmljZS1heGlzLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnByaWNlLWF4aXNfX21vZGVCdXR0b25ze2JvdHRvbTowO21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZToxcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmNhbGMoMTAwJSAtIDJweCk7ei1pbmRleDozfS5wcmljZS1heGlzX19tb2RlQnV0dG9uc19oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59LnBhbmV7Y3Vyc29yOmNyb3NzaGFpcjtvdmVyZmxvdzpoaWRkZW59LnBhbmUtLWN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5wYW5lLS1jdXJzb3ItZXJhc2Vye2N1cnNvcjp1cmwoZXJhc2VyLmM4MDYxMGEwNGE5MmQyNDY1YjAzLmN1ciksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRvdHtjdXJzb3I6dXJsKGRvdC4zZDYxN2I2YjAxZWRiYTgzYTdmNC5jdXIpLGRlZmF1bHR9LnBhbmUtLWN1cnNvci1wZXJmb3JtYW5jZXtjdXJzb3I6dXJsKHBlcmZvcm1hbmNlLjc2OWNmOWRkYTJlZGU3ZDEyYjc0LnN2ZyksZGVmYXVsdH0ucGFuZS0tY3Vyc29yLWRlZmF1bHQsLnBhbmUtLWN1cnNvci1kZW1vbnN0cmF0aW9ue2N1cnNvcjpkZWZhdWx0fS5wYW5lLS1jdXJzb3ItZ3JhYmJpbmd7Y3Vyc29yOmdyYWJiaW5nfS5wYW5lLS1jdXJzb3Item9vbS1pbntjdXJzb3I6em9vbS1pbn0ucGFuZS0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5wYW5lLS1jdXJzb3ItbnMtcmVzaXple2N1cnNvcjpucy1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci1ud3NlLXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZXtjdXJzb3I6bmVzdy1yZXNpemV9LnBhbmUtLWN1cnNvci1uZXN3LXJlc2l6ZTpkaXIocnRsKXtjdXJzb3I6bndzZS1yZXNpemV9LnBhbmUtLWN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5wYW5lLS1jdXJzb3Itbm9uZXtjdXJzb3I6bm9uZX0udGltZS1heGlze2N1cnNvcjpkZWZhdWx0fS50aW1lLWF4aXMtLWN1cnNvci1ncmFiYmluZ3tjdXJzb3I6Z3JhYmJpbmd9LnRpbWUtYXhpcy0tY3Vyc29yLWV3LXJlc2l6ZXtjdXJzb3I6ZXctcmVzaXplfS5pY29uLWlyQTBvYUg4ey0tdWktbGliLWluLWluZm9ybWVyLWljb24tY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktZGFuZ2VyLWV4dHJhLWJvbGQpOy0taWNvbi1iYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1saWdodCl9W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtLWpHSTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC0takdJOnZhcigtLWNvbG9yLXR2LWJsdWUtODAwKX0uY2hhcnQtd2lkZ2V0e2JvcmRlci1zdHlsZTpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MjU2cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo1MTJweH0uY2hhcnQtbWFya3VwLXRhYmxle2JvcmRlcjpub25lO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDowcHh9LmNoYXJ0LW1hcmt1cC10YWJsZTpkaXIocnRsKXtkaXJlY3Rpb246bHRyfS5jaGFydC1ndWktd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2x1bW4tZ2FwOjRweDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXgtaGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctYmxvY2s6NHB4IDA7cGFkZGluZy1pbmxpbmU6NHB4IDRweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS5jaGFydC1ndWktd3JhcHBlcl9fbGVnZW5ke2ZsZXg6MSAxIGF1dG87bWF4LXdpZHRoOjEwMCV9LmNoYXJ0LWd1aS13cmFwcGVyX19wYW5lQ29udHJvbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21hcmdpbi1pbmxpbmUtc3RhcnQ6YXV0b30uYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXN7LS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXNlY29uZGFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXM6NHB4fS5jaGFydC1wYWdle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSl9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lcntjb250YWluOnN0cmljdDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXBhbmUtYmcpO2JvcmRlcjpub25lO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3otaW5kZXg6MH0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLWNvbG9yLHZhcigtLV8wLS1qR0kpKTtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6MDtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jaGFydC1wYWdlIC5jaGFydC1jb250YWluZXIuaW5hY3RpdmUgLmJhY2stdG8tcHJlc2VudHtkaXNwbGF5Om5vbmV9LmNoYXJ0LXBhZ2UgLmNoYXJ0LWNvbnRhaW5lci5uby1oZWFkZXItdG9vbGJhciAuY2hhcnQtY29udGFpbmVyLWJvcmRlcntib3JkZXItc3RhcnQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1zdGFydC1zdGFydC1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4KX0uY2hhcnQtcGFnZSAuY2hhcnQtY29udGFpbmVyLm5vLWJvdHRvbS10b29sYmFyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci1lbmQtZW5kLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpO2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCl9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1sZWZ0LWNoYXJ0IC5jaGFydC1jb250YWluZXItYm9yZGVyLC5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWxlZnQtY2hhcnQubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci1yYWRpdXM6dmFyKC0tY2hhcnQtd2lkZ2V0LWJvcmRlci1yYWRpdXMsNHB4IDAgMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydCAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1yaWdodC1jaGFydC5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cywwIDRweCAwIDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIudG9wLWZ1bGwtd2lkdGgtY2hhcnQgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXJ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLnRvcC1mdWxsLXdpZHRoLWNoYXJ0Lm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDRweCA0cHggMCAwKX0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlcntib3JkZXItdG9wLWxlZnQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzIC5uby1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyIC5jaGFydC1jb250YWluZXItYm9yZGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUuYWN0aXZlOmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhcigtLWNoYXJ0LXdpZGdldC1ib3JkZXItcmFkaXVzLDApfS5sYXlvdXQtd2l0aC1ib3JkZXItcmFkaXVzLmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250YWluZXIubXVsdGlwbGUgLmNoYXJ0LWNvbnRhaW5lci1ib3JkZXIsLmxheW91dC13aXRoLWJvcmRlci1yYWRpdXMuYmxhY2stYm9yZGVyLWJpZ2dlci1yYWRpdXMgLm5vLWJvcmRlci10b3AtbGVmdC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyAuY2hhcnQtY29udGFpbmVyLm11bHRpcGxlLmFjdGl2ZTphZnRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZSAuY2hhcnQtY29udGFpbmVyLWJvcmRlciwubGF5b3V0LXdpdGgtYm9yZGVyLXJhZGl1cy5ibGFjay1ib3JkZXItYmlnZ2VyLXJhZGl1cyAubm8tYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMgLmNoYXJ0LWNvbnRhaW5lci5tdWx0aXBsZS5hY3RpdmU6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czp2YXIoLS1jaGFydC13aWRnZXQtYm9yZGVyLXJhZGl1cyw0cHgpfS5jaGFydHNTcGxpdHRlci14cXNhT3g5Q3tiYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCI7cG9zaXRpb246YWJzb2x1dGV9LmNoYXJ0c1NwbGl0dGVyLXhxc2FPeDlDLmhvdmVyZWQteHFzYU94OUN7YmFja2dyb3VuZDp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX0uY2hhcnQtY29udHJvbHMtYmFye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcGFuZS1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBhbmUtYmcpKTtib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tdHYtY29sb3ItcGxhdGZvcm0tYmFja2dyb3VuZCx2YXIoLS1jb2xvci1jaGFydC1wYWdlLWJnKSk7Ym9yZGVyLXJhZGl1czowIDAgNHB4IDRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGFpbjpzdHJpY3Q7aGVpZ2h0OjM5cHg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlfS5uby1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXJ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uby1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyAuY2hhcnQtY29udHJvbHMtYmFye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJsYWNrLWJvcmRlci1iaWdnZXItcmFkaXVzIC5jaGFydC1jb250cm9scy1iYXIubXVsdGlwbGUtbGF5b3V0e2JvcmRlci1yYWRpdXM6NHB4fQ=="}},"time_used":36,"timings":{"blocked":25,"dns":0,"connect":0,"send":0,"wait":11,"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.637Z","timestamp":1785139583637,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 1597\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 30 Jun 2023 18:58:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 413765\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597,"size_decoded":2271,"mime_type":"image/png","magic":"PNG image data, 68 x 28, 8-bit/color RGBA, non-interlaced","md5":"c4a931d597decd2553aac6634b766cf2","sha1":"6ec84fb4a2745b4b71520241be77db1fd1013830","sha256":"f56402b127698db4b4dc611a97a6f081d04c4691c60522c5912d189e37c94a9e","sha512":"4932e0f7f38085a7c52539bdd5c7f470740e560a4471bea30d12ef9e3efe77f6bbfac28d26c62a245c43d98ebf74c824b2b414843080a27edf1563a5f874ac84","ssdeep":"","tlshash":"7c310afff39e8cec419e764069ba5965a362cd68233e928f14499592e4d007710f5f41","first_seen":"2023-04-05T08:27:37Z","last_seen":"2026-08-12T17:58:50.175309Z","times_seen":20107,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.697Z","timestamp":1785139583697,"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-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 08:06:23 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: 730c4dd7b62b61b0b4bd23720ad4d151\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-28T06:17:53.441118Z","times_seen":328,"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":"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.642Z","timestamp":1785139583642,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 702\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 21:36:56 GMT\r\nexpires: Sat, 24 Jul 2027 21:36:56 GMT\r\ncache-control: public, max-age=31536000\r\nage: 210567\r\nlast-modified: Thu, 03 Oct 2019 10:15:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":702,"size_decoded":1361,"mime_type":"image/gif","magic":"GIF image data, version 89a, 16 x 16","md5":"eefaa072b284a305c12c06608333abc2","sha1":"58272721ccc1efda26eaa22354022c7c793edbb6","sha256":"fb6b7bcc1ab09f27db17bcbdf5239ce1d52af34f1fc5125b3fc8528a07848d21","sha512":"c5ccfdcd9ce76de85f043a1733c9f0b620e15babbaf2a5639684c7b2bb8e5a66473c9a83f14cb48d9cb6c6a1c6b36f2c5a28e25abaf131fb85ec5eedecbae4ac","ssdeep":"","tlshash":"5d01dd13f3d50473f66d0075a20cc57f010635daaadad7089a48117cfe1983c5239b82","first_seen":"2023-04-05T11:18:23Z","last_seen":"2026-08-12T17:58:50.237439Z","times_seen":19732,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.768Z","timestamp":1785139583768,"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-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 08:06:23 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: ccf2bf5471437ffd06a4e427c38c0e70\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-08-03T09:16:28.399983Z","times_seen":2410,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.859Z","timestamp":1785139583859,"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-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 08:06:23 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: 75035c249f630b39e98cc58624907137\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-08-12T17:55:33.107963Z","times_seen":3082,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.223Z","timestamp":1785139584223,"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-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 08:06:24 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: f3c9ed937de0cd006b788c4255a3d12c\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-08-12T05:10:43.247958Z","times_seen":212,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.393Z","timestamp":1785139584393,"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-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 08:06:24 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: 1c0b9e110b3d672aee6d38c98072db90\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-08-12T05:10:43.077415Z","times_seen":133,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.907Z","timestamp":1785139583907,"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-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 08:06:23 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: c28ecb9820c3f7eafaf8f202721185c0\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-08-12T05:10:43.172785Z","times_seen":632,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s4OTYxOF0sezQxNDAxOChlKXtlLmV4cG9ydHM9WyJDaGFydCBieSBUcmFkaW5nVmlldyJdfSwzMDA3ODgoZSl7ZS5leHBvcnRzPVsiQnkgVHJhZGluZ1ZpZXciXX0sNTE3NzIoZSl7ZS5leHBvcnRzPVsiYnkgVHJhZGluZ1ZpZXciXX0sNjE4MzU5KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkiXX0sNjMzOTA2KGUpe2UuZXhwb3J0cz1bInBvd2VyZWQgYnkgVHJhZGluZ1ZpZXciXX0sMjk3OTQ4KGUpe2UuZXhwb3J0cz1bIntzeW1ib2x9IGZpbmFuY2lhbHMgYnkgVHJhZGluZ1ZpZXciXX19XSk7"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.812Z","timestamp":1785139583812,"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-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 08:06:23 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: cefa304a8944d58db0ad0cba0085e7b5\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-08-12T05:10:43.32086Z","times_seen":278,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.829Z","timestamp":1785139583829,"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-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 08:06:23 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: fc9fd266e271e8c61c51e8dae4447dfa\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-08-12T05:10:43.282333Z","times_seen":273,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.852Z","timestamp":1785139583852,"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-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 08:06:23 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: a67c70295b2abe2eff02dd2cb92ab321\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-28T06:17:53.573859Z","times_seen":121,"resource_available":false,"data":"LnBhbmVDb250cm9scy1FeHp4OUlBWntwb2ludGVyLWV2ZW50czphbGw7cG9zaXRpb246c3RhdGljO3RyYW5zaXRpb246b3BhY2l0eSAuNHMsdmlzaWJpbGl0eSAuNHM7ei1pbmRleDo3fS5wYW5lQ29udHJvbHNfaGlkZGVuLUV4eng5SUFae29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO3Zpc2liaWxpdHk6aGlkZGVufS5wYW5lQ29udHJvbHNfZm9yY2VIaWRkZW4tRXh6eDlJQVp7aGVpZ2h0OjA7bGluZS1oZWlnaHQ6MDt3aWR0aDowfS5wYW5lQ29udHJvbHNfcmVtb3ZlLUV4eng5SUFae2Rpc3BsYXk6bm9uZX0uYnV0dG9ucy1FeHp4OUlBWntjb2x1bW4tZ2FwOjRweDtmbGV4LXdyYXA6bm93cmFwfS5idXR0b24tRXh6eDlJQVosLmJ1dHRvbnMtRXh6eDlJQVp7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjAgMCBhdXRvfS5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKTtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjRweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApfS5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFae2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfX0uYnV0dG9uLUV4eng5SUFaOmFjdGl2ZSwuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntib3JkZXItd2lkdGg6MH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1FeHp4OUlBWjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tRXh6eDlJQVo6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuYnV0dG9uX2FjdGl2YXRlZC1FeHp4OUlBWntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b25fYWN0aXZhdGVkLUV4eng5SUFaOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9fS50b3VjaE1vZGUtRXh6eDlJQVogLmJ1dHRvbi1FeHp4OUlBWntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtdXAsLm1heGltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptYXhpbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0uY29sbGFwc2UtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwubWF4aW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93bnthbmltYXRpb246bWF4aW1pemUtYW5pbWF0aW9uLWRvd24tYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX19LmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LWRvd24sLmNvbGxhcHNlLUV4eng5SUFaIC5icmFja2V0LXVwLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC1kb3duLC5tYXhpbWl6ZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1Aa2V5ZnJhbWVzIG1heGltaXplLWFuaW1hdGlvbi1kb3duLWJyYWNrZXQtRXh6eDlJQVp7NTAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwLC5yZXN0b3JlLUV4eng5SUFaOmhvdmVyIC5icmFja2V0LXVwe2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tdXAtYnJhY2tldC1FeHp4OUlBWiAuNnMgZWFzZX0ubWluaW1pemUtRXh6eDlJQVo6aG92ZXIgLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWjpob3ZlciAuYnJhY2tldC1kb3due2FuaW1hdGlvbjptaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaIC42cyBlYXNlfX0ubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwubWluaW1pemUtRXh6eDlJQVogLmJyYWNrZXQtdXAsLnJlc3RvcmUtRXh6eDlJQVogLmJyYWNrZXQtZG93biwucmVzdG9yZS1FeHp4OUlBWiAuYnJhY2tldC11cHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX1Aa2V5ZnJhbWVzIG1pbmltaXplLWFuaW1hdGlvbi11cC1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KX19QGtleWZyYW1lcyBtaW5pbWl6ZS1hbmltYXRpb24tZG93bi1icmFja2V0LUV4eng5SUFaezUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnVwLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjp1cC1hbmltYXRpb24tRXh6eDlJQVogLjZzIGVhc2V9fUBrZXlmcmFtZXMgdXAtYW5pbWF0aW9uLUV4eng5SUFaezAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX19QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5kb3duLUV4eng5SUFaOmhvdmVyIC5idXR0b25JY29uLUV4eng5SUFae2FuaW1hdGlvbjpkb3duLWFuaW1hdGlvbi1FeHp4OUlBWiAuNnMgZWFzZX19QGtleWZyYW1lcyBkb3duLWFuaW1hdGlvbi1FeHp4OUlBWnswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX19LmJsb2NrSGlkZGVuLUxjWWRvMk42e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnBhbmUtYnV0dG9uLUxjWWRvMk42e2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7Ym9yZGVyLXJhZGl1czozcHg7Y3Vyc29yOmRlZmF1bHR9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wYW5lLWJ1dHRvbi1MY1lkbzJONjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWxpZ2h0KTtib3JkZXItcmFkaXVzOjNweDtib3R0b206MDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ei1pbmRleDowfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5wYW5lLWJ1dHRvbi1MY1lkbzJONntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnBhbmUtYnV0dG9uLUxjWWRvMk42OmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfX0uY29udHJvbC1iYXItd3JhcHBlcntkaXJlY3Rpb246bHRyO2hlaWdodDoyNHB4O3BhZGRpbmc6NXB4IDA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjF9LmNvbnRyb2wtYmFyLXdyYXBwZXItLWJhY2stcHJlc2VudHtyaWdodDoycHh9LmNvbnRyb2wtYmFye2Rpc3BsYXk6ZmxleDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgLjNzO3Zpc2liaWxpdHk6dmlzaWJsZX0uY29udHJvbC1iYXItLWhpZGRlbiwuY29udHJvbC1iYXItLWhpZGRlbiAuY29udHJvbC1iYXJfX2J0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59LmNvbnRyb2wtYmFyX19ncm91cHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbjowIDRweH0uY29udHJvbC1iYXJfX2J0bnthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1xdWluYXJ5LWludmVyc2UpO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpO2NvbG9yOnZhcigtLWNvbG9yLWJ1dHRvbi1jb250ZW50LXF1aWV0LXByaW1hcnktbmV1dHJhbC1ib2xkLWRlZmF1bHQpO2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjI0cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCA0cHg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNpdGlvbjpjb2xvciAuM3MsdmlzaWJpbGl0eSAuNHMsb3BhY2l0eSAuNHM7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3dpZHRoOjI0cHg7ei1pbmRleDoxfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udHJvbC1iYXJfX2J0bjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCl9fS5jb250cm9sLWJhcl9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1saWdodCk7dHJhbnNpdGlvbjpub25lfS5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jb250cm9sLWJhcl9fYnRuLS1hY3RpdmF0ZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtYm9sZCk7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSl9fS5jb250cm9sLWJhcl9fYnRuLS1idG4taGlkZGVue29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0uY29udHJvbC1iYXJfX2J0bi0tbW92ZS1sZWZ0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmNvbnRyb2wtYmFyX19idG4tLW1vdmUtbGVmdCBzdmc6ZGlyKHJ0bCl7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKX0uY29udHJvbC1iYXJfX2J0biBzdmcsLmxlZ2VuZC1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5sZWdlbmQtWVRGSUo2Mmh7Y29sb3I6IzAwMDA7Y29udGFpbjpjb250ZW50O2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6bm9ybWFsO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3otaW5kZXg6Nn0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9uLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0ubGVnZW5kX3dpdGhIaWRkZW5BY3Rpb25zLVlURklKNjJoIC5pdGVtLVlURklKNjJoOm5vdCguaGlkZUludmlzaWJsZUhvdmVyLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czphdXRvfS5pdGVtLVlURklKNjJoe2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2ZsZXgtd3JhcDp3cmFwO2ZvbnQtc2l6ZToxM3B4O21heC13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MjRweDt6LWluZGV4OjF9Lml0ZW0tWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2MmgsLml0ZW0tWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaHt6LWluZGV4OjJ9Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWNvbG9yOiMwMDAwO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MCAxcHg7Y29sdW1uLWdhcDo4cHg7Y3Vyc29yOmRlZmF1bHQ7bWF4LXdpZHRoOmZpdC1jb250ZW50O29yZGVyOjEwMDAwMDtwYWRkaW5nOjAgNHB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lml0ZW0tWVRGSUo2MmgubGFzdC1ZVEZJSjYyaCAuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQ6bm9uZX0uaXRlbS1ZVEZJSjYyaC5sYXN0LVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbjowfS5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9Lml0ZW0tWVRGSUo2MmggLm5vV3JhcFdyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7bWF4LXdpZHRoOjEwMCV9Lm5vV3JhcC1ZVEZJSjYyaCAuaXRlbS1ZVEZJSjYyaHtmbGV4LXdyYXA6bm93cmFwfS5ub1dyYXAtWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24tc2VsZjphdXRvO2Rpc3BsYXk6YmxvY2t9Lm5vV3JhcC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmhpZGVVbmlwb3J0YW50VmFsdWVJdGVtcy1ZVEZJSjYyaCAubm9XcmFwLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc0FkZGl0aW9uYWxXcmFwcGVyLVlURklKNjJoLnVuaW1wb3J0YW50LVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcn0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmF1dG87Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCk7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LndyYXBwYWJsZS1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLml0ZW0tWVRGSUo2Mmh7ZmxleC13cmFwOndyYXB9LmRpcmVjdGlvbkNvbHVtbi1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoe2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaXJlY3Rpb25Db2x1bW4tWVRGSUo2MmggLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7bWF4LXdpZHRoOjEwMCV9LmJ1dHRvbi1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmJ1dHRvbnMtWVRGSUo2MmgsLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5pdGVtLVlURklKNjJoLC5sb2dvV3JhcHBlci1ZVEZJSjYyaCwuc3RhdHVzZXNXcmFwcGVyLVlURklKNjJoLC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmgsLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1pbmxpbmUtZW5kOjRweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmlnaHQtd2lkdGg6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOmRlZmF1bHQ7ZmxleDoxIDE7bWF4LXdpZHRoOmZpdC1jb250ZW50O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgNHB4IDAgMXB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDotM30ubG9nb1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjE4cHh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5wYWlyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6aW5saW5lLWZsZXh9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5sb2dvLVlURklKNjJoe2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDpub25lO292ZXJmbG93OmhpZGRlbn0ubG9nb1dyYXBwZXItWVRGSUo2MmggLmxvZ28tWVRGSUo2MmggaW1ne2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmxvZ29XcmFwcGVyLVlURklKNjJoIC5oaWRkZW4tWVRGSUo2MmgsLmxvZ29XcmFwcGVyLVlURklKNjJoLmhpZGRlbi1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS50aXRsZXNHcm91cFdyYXBwZXItWVRGSUo2Mmh7Y29sdW1uLWdhcDo0cHg7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfS50aXRsZVdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2NvbHVtbi1nYXA6NHB4O2Rpc3BsYXk6ZmxleDttaW4taGVpZ2h0OjIwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3doaXRlLXNwYWNlOm5vd3JhcH0udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaHthbGw6dW5zZXQ7ZGlyZWN0aW9uOmx0cjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udGl0bGVXcmFwcGVyLVlURklKNjJoIC50aXRsZS1ZVEZJSjYyaDpkaXIocnRsKXtkaXJlY3Rpb246cnRsfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2JvcmRlci1yYWRpdXM6M3B4O2NvbnRlbnQ6IiI7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt2aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4Oi0yfS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpmaXJzdC1jaGlsZDphZnRlcntyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTphZnRlcntsZWZ0OjhweDtyaWdodDotNHB4fS50aXRsZVdyYXBwZXItWVRGSUo2Mmg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjNweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDpob3Zlci53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LnRpdGxlV3JhcHBlci1ZVEZJSjYyaDphY3RpdmUud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlciwudGl0bGVXcmFwcGVyX19hY3RpdmUtWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApO3Zpc2liaWxpdHk6dmlzaWJsZX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1c3tib3JkZXItcmFkaXVzOjJweCFpbXBvcnRhbnQ7b3V0bGluZToycHggc29saWQgdmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5hY2Nlc3NpYmxlLVlURklKNjJoOmZvY3VzLXZpc2libGV7Ym9yZGVyLXJhZGl1czoycHghaW1wb3J0YW50O291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLXR2LWJsdWUtNTAwKX0uYWNjZXNzaWJsZS1ZVEZJSjYyaDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6bm9uZX0uZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCl9LmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmgud2l0aERvdC1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMSBhdXRvO21pbi13aWR0aDoxNXB4fS5zdHVkeS1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLm1haW5UaXRsZS1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpe2ZsZXg6MCAzIGF1dG87cGFkZGluZy1sZWZ0OjEycHh9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKX0uc3R1ZHktWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoLC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC5pbnB1dFRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0zMDApfS5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLnN0dWR5LVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTMwMCkhaW1wb3J0YW50fS5zdHVkeS1ZVEZJSjYyaC5oaWRlVmFsdWVzLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0ubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zdHVkeS1ZVEZJSjYyaC5oYXM1QnV0dG9ucy1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqNSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnN0dWR5LVlURklKNjJoLmhhczVCdXR0b25zLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjUpfX0ubm9XcmFwLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3I7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzAwMDA7Ym9yZGVyLXRvcDoxcHggc29saWQgIzAwMDB9LmxvYWRlci1ZVEZJSjYyaHttYXJnaW4tbGVmdDo0cHh9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7Ym9yZGVyLWxlZnQtY29sb3I6IzAwMDB9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWx9Lm5vV3JhcC1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwubm9XcmFwLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7ZGlzcGxheTppbmxpbmUtZmxleH0uaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5ub1dyYXAtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaCwuaGlkZVVuaXBvcnRhbnRWYWx1ZUl0ZW1zLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlSXRlbS1ZVEZJSjYyaC51bmltcG9ydGFudC1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi1oZWlnaHQ6MjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmh7bWluLXdpZHRoOjIzcHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjEycHh9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3Jle2NvbG9yOnZhcigtLWxlZ2VuZC10aXRsZS1kb3QtY29sb3IsdmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCkpO2NvbnRlbnQ6IlxiNyI7Zm9udC1zaXplOjE2cHg7aGVpZ2h0OjEwMCU7bGVmdDowO2xpbmUtaGVpZ2h0OmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOjFweDt3aWR0aDoxMnB4O3otaW5kZXg6LTF9LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmRlc2NUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgubWFpblRpdGxlLVlURklKNjJoe2ZsZXg6MCAxIGF1dG99LnNlcmllcy1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmludGVydmFsVGl0bGUtWVRGSUo2Mmh7ZmxleDowIDEgYXV0bzttaW4td2lkdGg6YXV0b30uc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguZXhjaGFuZ2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJpY2VTb3VyY2VUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgucHJvdmlkZXJUaXRsZS1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2Mmguc3R5bGVUaXRsZS1ZVEZJSjYyaHtmbGV4OjAgMyBhdXRvfS5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaHttaW4td2lkdGg6MjNweH0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2Mmguc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc2VyaWVzLVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmxlZ2VuZC1ZVEZJSjYyaDpob3ZlciAuc2VyaWVzLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjMpfX0ubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwubGVnZW5kLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmguZmxhZ2dlZC1ZVEZJSjYyaC5zdGF5SW5Ib3ZlcmVkTW9kZS1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLnNlcmllcy1ZVEZJSjYyaC5mbGFnZ2VkLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7bGVmdDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpfX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoLC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmh7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsfS5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjRweCAwIDAgNHB4fS5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5tZWRpdW0tWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1lZGl1bS1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyl9fS5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnNlbGVjdGVkLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVyLC5taW5pbWl6ZWQtWVRGSUo2MmgubGVnZW5kLVlURklKNjJoIC5pdGVtLVlURklKNjJoLnN0dWR5LVlURklKNjJoLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoLndpdGhUYWlsLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSoyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lm1pbmltaXplZC1ZVEZJSjYyaC5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLml0ZW0tWVRGSUo2Mmguc3R1ZHktWVRGSUo2Mmgud2l0aEFjdGlvbi1ZVEZJSjYyaC53aXRoVGFpbC1ZVEZJSjYyaCAudmFsdWVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntsZWZ0OmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9fS52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOmRlZmF1bHQ7ZmxleC13cmFwOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24tc2VsZjpzdHJldGNoO2JvcmRlci1sZWZ0OjRweCBzb2xpZDtkaXJlY3Rpb246bHRyO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udmFsdWVzQWRkaXRpb25hbFdyYXBwZXItWVRGSUo2Mmg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmRpc2FibGVkLVlURklKNjJoIC52YWx1ZXNXcmFwcGVyLVlURklKNjJoe2Rpc3BsYXk6bm9uZX0udmFsdWVJdGVtLVlURklKNjJoe2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246bGVmdH0udmFsdWVJdGVtLVlURklKNjJoOmJlZm9yZXtjb250ZW50OnZhcigtLW5vdC1hdmFpbGFibGUtY29udGVudCwiMCIpO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDowfS52YWx1ZUl0ZW0tWVRGSUo2Mmg6bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjZweH0udmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo0cHh9LnZhbHVlSXRlbS1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaHtwYWRkaW5nLXJpZ2h0OjFweH0udmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTkwMCl9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDo2cHh9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoOmxhc3QtY2hpbGQgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaHtkaXNwbGF5Om5vbmV9LnNlcmllcy1ZVEZJSjYyaCAudmFsdWVJdGVtLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6MDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDowO3otaW5kZXg6Mn0ubWljcm8tWVRGSUo2MmggLml0ZW0tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoW2RhdGEtcWEtaWQ9bGVnZW5kLXNlcmllcy1pdGVtXSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOjA7d2lkdGg6MH0uZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zV3JhcHBlci1ZVEZJSjYyaHttYXgtd2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCl9LmxpbmtlZC1ZVEZJSjYyaC5zZXJpZXMtWVRGSUo2Mmg6bm90KC5vbmx5T25lQnV0dG9uQ2FuQmVTdGljay1ZVEZJSjYyaCkgLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoe21heC13aWR0aDpjYWxjKHZhcigtLWxlZ2VuZC1zb3VyY2UtaXRlbS1idXR0b24td2lkdGgpKjIpO3dpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMil9LmRpc2FibGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaDpub3QoLm9ubHlPbmVCdXR0b25DYW5CZVN0aWNrLVlURklKNjJoKSAuYnV0dG9uc1dyYXBwZXItWVRGSUo2Mmh7bWF4LXdpZHRoOmNhbGModmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCkqMyk7d2lkdGg6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSozKX0uYnV0dG9ucy1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtc2hyaW5rOjA7b3BhY2l0eTowO3BhZGRpbmc6MDtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLnRvdWNoTW9kZS1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtvcGFjaXR5OjF9Lm5vQWN0aW9ucy1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtwb2ludGVyLWV2ZW50czpub25lfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaHtib3JkZXItcmFkaXVzOjAgNHB4IDRweCAwfS5sZWdlbmQtWVRGSUo2MmggLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLnN0YXlJbkhvdmVyZWRNb2RlLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5sZWdlbmQtWVRGSUo2MmggLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmxlZ2VuZC1ZVEZJSjYyaCAuc2VsZWN0ZWQtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmxlZ2VuZC1ZVEZJSjYyaCAuc3RheUluSG92ZXJlZE1vZGUtWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5sZWdlbmQtWVRGSUo2Mmg6aG92ZXIgLndpdGhBY3Rpb24tWVRGSUo2Mmgud2l0aFRhaWwtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoMTBweCBhdCAwIDUwJSxjdXJyZW50Q29sb3IgMCwjMDAwMCAxMDAlKTtjb250ZW50OiIiO2hlaWdodDoxOHB4O2xlZnQ6Y2FsYyh2YXIoLS1sZWdlbmQtc291cmNlLWl0ZW0tYnV0dG9uLXdpZHRoKSo0KTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6M3B4O3dpZHRoOjE2cHh9fS5idXR0b24tWVRGSUo2Mmh7YWxsOnVuc2V0O2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6dmFyKC0tbGVnZW5kLXNvdXJjZS1pdGVtLWJ1dHRvbi13aWR0aCk7ei1pbmRleDowfS5idXR0b25JY29uLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLVlURklKNjJoOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDRweCA0cHggMDttYXJnaW4tcmlnaHQ6MXB4fS5idXR0b24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTtib3JkZXItcmFkaXVzOjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQ6MXB4IDA7cG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDotMX0uYnV0dG9uLVlURklKNjJoOmFjdGl2ZTphZnRlciwuYnV0dG9uX19hY3RpdmUtWVRGSUo2Mmg6YWZ0ZXJ7dmlzaWJpbGl0eTp2aXNpYmxlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLVlURklKNjJoOmhvdmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZX19LmJ1dHRvbi1ZVEZJSjYyaDphY3RpdmU6YWZ0ZXIsLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9LmJ1dHRvbi1ZVEZJSjYyaC5mbGFnLVlURklKNjJoPnNwYW57bWFyZ2luLXRvcDotMXB4fS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKX0ud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuYnV0dG9uLVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpLC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLndpdGhBY3Rpb24tWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX0uc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2Mmh7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTtib3JkZXItbGVmdDowfS5zZWxlY3RlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpub3QoOmZpcnN0LWNoaWxkKSwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfS5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAubG9hZGluZy1leWUsLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWUsLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMiksLm1lZGl1bS1ZVEZJSjYyaCAuc3R1ZHktWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyl7ZGlzcGxheTpub25lfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtkaXNwbGF5OmJsb2NrfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmNyb3NzZWQtZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLm5vcm1hbC1leWV7ZGlzcGxheTpub25lfS5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmFuaW1hdGVkLWxvYWRpbmctZXllLC5leWVMb2FkaW5nLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5leWUtWVRGSUo2MmggLmxvYWRpbmctZXlle2Rpc3BsYXk6YmxvY2t9LmV5ZUxvYWRpbmctWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCAuYW5pbWF0ZWQtbG9hZGluZy1leWV7YW5pbWF0aW9uOmV5ZS1hbmltYXRpb24tWVRGSUo2MmggLjk2cyBsaW5lYXIgaW5maW5pdGU7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9LmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmV5ZS1ZVEZJSjYyaCwuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2Mmg6bm90KC5zZWxlY3RlZC1ZVEZJSjYyaCk6bm90KC53aXRoQWN0aW9uLVlURklKNjJoKSAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoOm5vdCguc2VsZWN0ZWQtWVRGSUo2MmgpOm5vdCgud2l0aEFjdGlvbi1ZVEZJSjYyaCkgLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaDpub3QoLnNlbGVjdGVkLVlURklKNjJoKTpub3QoLndpdGhBY3Rpb24tWVRGSUo2MmgpIC5idXR0b25zLVlURklKNjJoIC5saW5raW5nLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfS5kaXNhYmxlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAuZXllLVlURklKNjJoLC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoLC5mbGFnZ2VkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5saW5rZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmZsYWctWVRGSUo2MmgsLmxpbmtlZC1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCAubGlua2luZy1ZVEZJSjYyaCwuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5mbGFnLVlURklKNjJoLC5zZXJpZXMtWVRGSUo2MmguZGlzYWJsZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmxpbmtpbmctWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmggLmJ1dHRvbi1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5hbmltYXRlZC1sb2FkaW5nLWV5ZSwuYnV0dG9ucy1ZVEZJSjYyaCAuaW50ZXJ2YWxFeWUtWVRGSUo2MmggLmxvYWRpbmctZXllLC5idXR0b25zLVlURklKNjJoIC5pbnRlcnZhbEV5ZS1ZVEZJSjYyaCAubm9ybWFsLWV5ZXtkaXNwbGF5Om5vbmV9LmJ1dHRvbnMtWVRGSUo2MmggLmludGVydmFsRXllLVlURklKNjJoIC5jcm9zc2VkLWV5ZXtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTYwMCl9LnNlbGVjdGVkLVlURklKNjJoLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAuZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaCwuc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoLmZsYWdnZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLnNlcmllcy1ZVEZJSjYyaC5saW5rZWQtWVRGSUo2MmggLmZsYWctWVRGSUo2MmggLmJ1dHRvbkljb24tWVRGSUo2MmgsLndpdGhBY3Rpb24tWVRGSUo2Mmguc2VyaWVzLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC5mbGFnLVlURklKNjJoIC5idXR0b25JY29uLVlURklKNjJoe3Zpc2liaWxpdHk6dmlzaWJsZX0uZmxhZy1ZVEZJSjYyaCAuYnV0dG9uSWNvbi1ZVEZJSjYyaHthbGlnbi1zZWxmOnN0cmV0Y2g7ZmxleDoxfS5mbGFnV3JhcHBlci1ZVEZJSjYyaCwubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubWFya2VyQ29udGFpbmVyLVlURklKNjJoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9LmZsYWdXcmFwcGVyLVlURklKNjJoe3dpZHRoOjEycHh9LmZsYWdXcmFwcGVyLVlURklKNjJoIHN2Z3toZWlnaHQ6MTJweH0uc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2U7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LmxlZ2VuZE1haW5Tb3VyY2VXcmFwcGVyLVlURklKNjJoe3RleHQtYWxpZ246bGVmdH0uc291cmNlcy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6MTAwJX0udG9nZ2xlcldyYXBwZXItWVRGSUo2Mmh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbHVtbi1nYXA6OHB4O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWJsb2NrOjNweCAzcHg7cGFkZGluZy1pbmxpbmU6NXB4IDVweH0udG9nZ2xlcldyYXBwZXItWVRGSUo2MmggLnN0YXR1c2VzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kOm5vbmV9LnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXJfX3N0YXR1c2VzLVlURklKNjJoOm5vdCg6ZW1wdHkpe21hcmdpbi1ibG9jazowIDA7bWFyZ2luLWlubGluZTo4cHggMH0udG9nZ2xlci1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6MCAwIGF1dG87cGFkZGluZzowO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZX0udG9nZ2xlci1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpub25lfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudG9nZ2xlci1ZVEZJSjYyaDpob3ZlcjphZnRlcnt6LWluZGV4OjB9LnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmNvdW50ZXItWVRGSUo2MmgsLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXIgLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1ibGFjayl9fS50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2NvbG9yOmluaGVyaXQ7ZGlzcGxheTpub25lO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE2cHg7cGFkZGluZy1yaWdodDo0cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaHtkaXNwbGF5OmZsZXg7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNiwuNTIsMSwuNTQpO3dpZHRoOjI3cHh9LnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7ZGlzcGxheTpub25lO3dpZHRoOjE5cHh9LnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjE5cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwudG9nZ2xlci1ZVEZJSjYyaCAuaWNvbkFycm93LVlURklKNjJoLC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0uY2xvc2VkLVlURklKNjJoLnNvdXJjZXNXcmFwcGVyLVlURklKNjJoe3BhZGRpbmctYm90dG9tOjRweH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoe2Rpc3BsYXk6ZmxleH0uY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2Mmh7dHJhbnNmb3JtOnJvdGF0ZSgwKX0uY2xvc2VkLVlURklKNjJoOm5vdCguc2F2ZUFycm93V2lkdGgtWVRGSUo2MmgpIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNsb3NlZC1ZVEZJSjYyaDpub3QoLnNhdmVBcnJvd1dpZHRoLVlURklKNjJoKSAub2JqZWN0VHJlZS1ZVEZJSjYyaHt3aWR0aDoxOXB4fS5jbG9zZWQtWVRGSUo2MmggLnNvdXJjZXMtWVRGSUo2Mmh7ZGlzcGxheTpub25lfS5taWNyby1ZVEZJSjYyaCAuc291cmNlc1dyYXBwZXItWVRGSUo2Mmh7cGFkZGluZy1ib3R0b206NHB4fS5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaC5vYmplY3RzVHJlZUNhbkJlU2hvd24tWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoLm9iamVjdHNUcmVlQ2FuQmVTaG93bi1ZVEZJSjYyaC5vbmx5T25lU291cmNlU2hvd24tWVRGSUo2Mmh7ZGlzcGxheTpmbGV4fS5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5jb3VudGVyLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAuY2xvc2VkLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnZhbHVlc1dyYXBwZXItWVRGSUo2MmgsLm1pY3JvLVlURklKNjJoIC5zb3VyY2VzLVlURklKNjJoLC5taWNyby1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwubWljcm8tWVRGSUo2MmggLnRvZ2dsZXJXcmFwcGVyLVlURklKNjJoIC5zdGF0dXNlc1dyYXBwZXItWVRGSUo2Mmh7ZGlzcGxheTpub25lfS50b3VjaE1vZGUtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7aGVpZ2h0OjI2cHg7bGluZS1oZWlnaHQ6MjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlciwudG91Y2hNb2RlLVlURklKNjJoIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoOmFmdGVye2JvdHRvbTo1cHg7dG9wOjVweH0udG91Y2hNb2RlLVlURklKNjJoIC5zZXJpZXMtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmh7bWluLWhlaWdodDoyNnB4fS50b3VjaE1vZGUtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLmljb25BcnJvdy1ZVEZJSjYyaCwudG91Y2hNb2RlLVlURklKNjJoIC50b2dnbGVyLVlURklKNjJoIC5vYmplY3RUcmVlLVlURklKNjJoe2hlaWdodDoyNHB4O3dpZHRoOjMwcHh9LnRvdWNoTW9kZS1ZVEZJSjYyaCAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaHtmb250LXNpemU6MTRweH0udG91Y2hNb2RlLVlURklKNjJoIC5pdGVtLVlURklKNjJoe21pbi1oZWlnaHQ6MjZweH0udG91Y2hNb2RlLVlURklKNjJoIC5jbG9zZWQtWVRGSUo2MmggLnRvZ2dsZXItWVRGSUo2MmggLm9iamVjdFRyZWUtWVRGSUo2Mmh7d2lkdGg6MjRweH0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrey0tbGVnZW5kLXRpdGxlLWRvdC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5pdGVtLVlURklKNjJoLmxhc3QtWVRGSUo2MmggLnRleHQtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAubm9XcmFwLVlURklKNjJoIC52YWx1ZXNBZGRpdGlvbmFsV3JhcHBlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC52YWx1ZVZhbHVlLVlURklKNjJoe2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudGl0bGVXcmFwcGVyLVlURklKNjJoOmFjdGl2ZS53aXRoQWN0aW9uLVlURklKNjJoOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRpdGxlV3JhcHBlcl9fYWN0aXZlLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVRpdGxlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZE9uSW50ZXJ2YWwtWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2MmggLnRpdGxlV3JhcHBlci1ZVEZJSjYyaC53aXRoRG90LVlURklKNjJoOm5vdCg6Zmlyc3QtY2hpbGQpOmJlZm9yZSwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWQtWVRGSUo2Mmgud2l0aEN1c3RvbVRleHRDb2xvci1ZVEZJSjYyaCAudmFsdWVUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5kaXNhYmxlZC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC52YWx1ZVZhbHVlLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhEb3QtWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoLndpdGhDdXN0b21UZXh0Q29sb3ItWVRGSUo2MmggLnZhbHVlVmFsdWUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnN0dWR5LVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC5kaXNhYmxlZC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc3R1ZHktWVRGSUo2MmguZGlzYWJsZWRPbkludGVydmFsLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjUwKX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkLVlURklKNjJoIC50aXRsZVdyYXBwZXItWVRGSUo2MmguaW5wdXRUaXRsZS1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5zdHVkeS1ZVEZJSjYyaC53aXRoQ3VzdG9tVGV4dENvbG9yLVlURklKNjJoLmRpc2FibGVkT25JbnRlcnZhbC1ZVEZJSjYyaCAudGl0bGVXcmFwcGVyLVlURklKNjJoLmlucHV0VGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTY1MCkhaW1wb3J0YW50fS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbkljb24tWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VyaWVzLVlURklKNjJoIC52YWx1ZUl0ZW0tWVRGSUo2MmggLnZhbHVlVGl0bGUtWVRGSUo2Mmh7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbi1ZVEZJSjYyaDpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApfX0uY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC5idXR0b24tWVRGSUo2Mmg6YWN0aXZlOmFmdGVyLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLmJ1dHRvbl9fYWN0aXZlLVlURklKNjJoOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAuYnV0dG9ucy1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC53aXRoQWN0aW9uLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLnRpdGxlc1dyYXBwZXItWVRGSUo2Mmg6YWZ0ZXIsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaDphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAud2l0aEFjdGlvbi1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfS5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC5idXR0b25zLVlURklKNjJoIC5idXR0b24tWVRGSUo2Mmg6bm90KDpmaXJzdC1jaGlsZCksLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnNXcmFwcGVyLVlURklKNjJoLC5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnNlbGVjdGVkLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTcwMCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaHtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5jaGFydC13aWRnZXRfX3RvcC0tdGhlbWVkLWRhcmsgLnRvZ2dsZXItWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoOmhvdmVyIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaDpob3ZlciAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX19LmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAuY291bnRlci1ZVEZJSjYyaCwuY2hhcnQtd2lkZ2V0X190b3AtLXRoZW1lZC1kYXJrIC50b2dnbGVyLVlURklKNjJoIC5pY29uQXJyb3ctWVRGSUo2MmgsLmNoYXJ0LXdpZGdldF9fdG9wLS10aGVtZWQtZGFyayAudG9nZ2xlci1ZVEZJSjYyaCAub2JqZWN0VHJlZS1ZVEZJSjYyaHtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKX1Aa2V5ZnJhbWVzIGV5ZS1hbmltYXRpb24tWVRGSUo2Mmh7dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fTpyb290LnRoZW1lLWN1c3RvbSAudGl0bGVXcmFwcGVyLVlURklKNjJoLndpdGhBY3Rpb24tWVRGSUo2Mmg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfTpyb290LnRoZW1lLWN1c3RvbSAuc2VsZWN0ZWQtWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC5zZWxlY3RlZC1ZVEZJSjYyaCAudGl0bGVzV3JhcHBlci1ZVEZJSjYyaCw6cm9vdC50aGVtZS1jdXN0b20gLndpdGhBY3Rpb24tWVRGSUo2MmggLmJ1dHRvbnMtWVRGSUo2MmgsOnJvb3QudGhlbWUtY3VzdG9tIC53aXRoQWN0aW9uLVlURklKNjJoIC50aXRsZXNXcmFwcGVyLVlURklKNjJoe2JhY2tncm91bmQtY29sb3I6dmFyKC0tdGhlbWVkLWNvbG9yLWxlZ2VuZC1iYWNrZ3JvdW5kLXNlY29uZGFyeS1pbnZlcnNlKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7OnJvb3QudGhlbWUtY3VzdG9tIC5idXR0b24tWVRGSUo2Mmg6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10aGVtZWQtY29sb3ItbGVnZW5kLWJhY2tncm91bmQtdGVydGlhcnkpfX0ubGVnZW5kQWN0aW9uQnV0dG9uLXEzTzZ6eklIe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfQ=="}},"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-symbol-logo.tradingview.com/crypto/XTVCETH.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.501Z","timestamp":1785139584501,"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/XTVCETH.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 08:06:24 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: \"6c8b94d554caad39b40a6f7147fdc6a5\"\r\nlast-modified: Wed, 26 Feb 2025 20:02:22 GMT\r\ncdn-cachedat: 08/09/2025 14:29:13\r\nx-amz-id-2: cjxB+0rsJO+G+g9GS4iIDBwPWU8gDfAMJoEjErDTv2wKdTYX9BsP2jwaadSiv0iWhu6SXJksiTE=\r\nx-amz-request-id: WYQ4X71VWYX7W99T\r\nx-amz-server-side-encryption: AES256\r\nx-amz-meta-hash: 6c8b94d554caad39b40a6f7147fdc6a5\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: 75af86f6fc79d795f7091c4acc3b1212\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"data":{"size":1163,"size_decoded":1548,"mime_type":"image/svg+xml","magic":"exported SGML document, ASCII text, with very long lines (1163), with no line terminators","md5":"6c8b94d554caad39b40a6f7147fdc6a5","sha1":"66d27f915603d3286cf7257c467fa70e1422a462","sha256":"de92a8cf9812de5a645ec6e45df7843458c106187045b6f94f431bbc2d1a703b","sha512":"ec6c9900e3c43c736df89e4140184f5bcc7d328843ddcabd17bcce25f1d5c4e0841c503f5d6927419340be7336574244f7675f9d90158284bc8348f0d3161ea4","ssdeep":"","tlshash":"2f212ea8e25db92b884783fccb2d54633a5460ee578443e6b056d63a3490bdbec00bc0","first_seen":"2025-04-10T12:22:36.097854Z","last_seen":"2026-08-12T03:31:21.121497Z","times_seen":5934,"resource_available":false,"data":"PCEtLSBieSBUcmFkaW5nVmlldyAtLT48c3ZnIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGw9InVybCgjYSkiIGQ9Ik0wIDBoMTh2MThIMHoiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMkw1LjExIDkuMWwzLjg2LTUuOTZaIiBmaWxsPSIjRTdGMEZGIi8+PHBhdGggZD0ibTUuMSA5LjEtLjAxLjA0IDMuODkgMi4yMVY3LjJMNS4xIDkuMVoiIGZpbGw9IiNBNUI5RUUiLz48cGF0aCBkPSJNOC45NyAzLjE0VjcuMmwzLjk0IDEuOTVMOSAzLjFsLS4wMi4wM1oiIGZpbGw9IiNBNUI4RjAiLz48cGF0aCBkPSJNMTIuOSA5LjE0IDkgMTEuMzZoLS4wM1Y3LjE4bDMuOTQgMS45NVoiIGZpbGw9IiM2ODdGQ0IiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im05IDMgNCA2LjE1LTQgMi4yOC00LTIuMjhMOSAzWm0tLjA3LjMyTDUuMjYgOC45OGwzLjY3LTEuODRWMy4zMlptMCAzLjk0TDUuMjEgOS4xNGwzLjcyIDIuMTJ2LTRabS4xMyA0di00bDMuNzMgMS44OC0zLjczIDIuMTJabTMuNjgtMi4yN0w5LjA2IDcuMTRWMy4zMkwxMi43NCA5WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik05IDE0LjkgNS4wNSA5Ljc2IDkgMTEuOTJsMy45NS0yLjE2TDkgMTQuOVoiIGZpbGw9IiNBOEI5RUYiLz48cGF0aCBkPSJNOSAxMS45MiA1LjA1IDkuNzYgOSAxNC45di0yLjk4WiIgZmlsbD0iI0U4RjFGRiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0ibTUgOS44LjA5LS4wOEw5IDExLjg2bDMuOTEtMi4xNC4wOS4wOEw5IDE1IDUgOS44Wm0zLjk0IDIuMTUtMy42Ny0yIDMuNjcgNC43N3YtMi43N1ptLjEyIDIuNzd2LTIuNzdsMy42Ny0yLTMuNjcgNC43N1oiIGZpbGw9IiNmZmYiLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSI5IiB5MT0iMCIgeDI9IjkiIHkyPSIxOCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM0NjUxOTEiLz48c3RvcCBvZmZzZXQ9Ii4zNiIgc3RvcC1jb2xvcj0iIzMyNDk4RiIvPjxzdG9wIG9mZnNldD0iLjciIHN0b3AtY29sb3I9IiM1NTVFOTkiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0RjU3OTUiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4="}},"time_used":6,"timings":{"blocked":-1,"dns":3,"connect":1,"send":0,"wait":3,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/fonts/fontawesome-webfont.woff2?v=4.6.3","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.626Z","timestamp":1785139582626,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/fonts/fontawesome-webfont.woff2?v=4.6.3 HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/styles.min.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 990\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]}],"data":{"size":990,"size_decoded":1182,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"5e6f2f1a813ab5a08d8285cdaeb5e41e","sha1":"092f863565b307cd1f557bf5b916c893a6ed310f","sha256":"47d6aa11143d57bc85dec45bbaa4bf135edf0ace0a6228e8028b47179ba267ed","sha512":"2cc85f21166652cd2407ccf06afef5f5081f14ce2fff10b94c8e2622966677b1764be521e489ea17e5b0e6a444cca89066b919f34b222449925f56475c64aea9","ssdeep":"","tlshash":"f411143b08050b6e121082a3b410736cd0dfaf16ae96a4b0d0b31b6b7ad4a86c5399ac","first_seen":"2026-07-27T05:09:49.357984Z","last_seen":"2026-07-27T08:08:22.752082Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9zdHlsZXMubWluLmNzcyIgY2xhc3M9ImhvbWUtYnRuIj5HbyBCYWNrPC9hPgoJCTwvZGl2PgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgoK"}},"time_used":364,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":364,"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"translate.googleapis.com/element/log?format=json\u0026hasfast=true\u0026authuser=0","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:33.477Z","timestamp":1785139593477,"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://nanoquantumstellarsledger.com/\r\nOrigin: https://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: https://nanoquantumstellarsledger.com\r\naccess-control-allow-methods: GET, POST, OPTIONS\r\naccess-control-max-age: 86400\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: X-Playlog-Web,authorization,content-encoding,content-type,x-goog-authuser,origin\r\ncontent-type: text/plain; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 08:06:33 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":537,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":""}},"time_used":33,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":33,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.7.1/dist/leaflet.css","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.994Z","timestamp":1785139581994,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /leaflet@1.7.1/dist/leaflet.css HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.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/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: text/css\r\ncf-ray: a21a24f39b5256ba-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 10651\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Wed, 01 Jul 2026 06:31:30 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:BPfK9M5v34c2XP6p0cxVz1mUQLst0gTLk0mlc7kuodA=:\r\nfly-request-id: 01KW5E53R0CFBMEBPDRS616SQJ-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":14272,"size_decoded":4135,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"5c761a156eea82263d8bacf1718fe04d","sha1":"716e68587cc5720af3b8ab81b4c8b16df3e39ade","sha256":"04f7caf4ce6fdf87365cfea9d1cc55cf599440bb2dd204cb9349a573b92ea1d0","sha512":"c6875904d4c2e67d7b5edd9ab533ee1351f18d5312bcb556f6872a50a2ec082e425dd6ea0a66e502c84e3004bafe47aaabfb0c64c675f6c711e0fb190a1491ec","ssdeep":"192:6zzo0Oh9SVx1lvqrC04i11mdsHnLtcOEAY0x4m8yT2OMhnVhPl4d+yEcBLDLatM3:CUjh9SVB2HLtcpAVnTShnVh5mLDLU8","tlshash":"bc52d017b73a33a8d2257619f7b08a33bd2a506191a7c7fdb9cce714839885d2c530e9","first_seen":"2023-04-05T14:41:17Z","last_seen":"2026-08-12T15:23:27.352226Z","times_seen":3671,"resource_available":false,"data":"LyogcmVxdWlyZWQgc3R5bGVzICovDQoNCi5sZWFmbGV0LXBhbmUsDQoubGVhZmxldC10aWxlLA0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93LA0KLmxlYWZsZXQtdGlsZS1jb250YWluZXIsDQoubGVhZmxldC1wYW5lID4gc3ZnLA0KLmxlYWZsZXQtcGFuZSA+IGNhbnZhcywNCi5sZWFmbGV0LXpvb20tYm94LA0KLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsDQoubGVhZmxldC1sYXllciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDA7DQoJdG9wOiAwOw0KCX0NCi5sZWFmbGV0LWNvbnRhaW5lciB7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl9DQoubGVhZmxldC10aWxlLA0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93IHsNCgktd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KCSAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQoJICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsNCgkgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOw0KCX0NCi8qIFByZXZlbnRzIElFMTEgZnJvbSBoaWdobGlnaHRpbmcgdGlsZXMgaW4gYmx1ZSAqLw0KLmxlYWZsZXQtdGlsZTo6c2VsZWN0aW9uIHsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCn0NCi8qIFNhZmFyaSByZW5kZXJzIG5vbi1yZXRpbmEgdGlsZSBvbiByZXRpbmEgYmV0dGVyIHdpdGggdGhpcywgYnV0IENocm9tZSBpcyB3b3JzZSAqLw0KLmxlYWZsZXQtc2FmYXJpIC5sZWFmbGV0LXRpbGUgew0KCWltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsNCgl9DQovKiBoYWNrIHRoYXQgcHJldmVudHMgaHcgbGF5ZXJzICJzdHJldGNoaW5nIiB3aGVuIGxvYWRpbmcgbmV3IHRpbGVzICovDQoubGVhZmxldC1zYWZhcmkgLmxlYWZsZXQtdGlsZS1jb250YWluZXIgew0KCXdpZHRoOiAxNjAwcHg7DQoJaGVpZ2h0OiAxNjAwcHg7DQoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7DQoJfQ0KLmxlYWZsZXQtbWFya2VyLWljb24sDQoubGVhZmxldC1tYXJrZXItc2hhZG93IHsNCglkaXNwbGF5OiBibG9jazsNCgl9DQovKiAubGVhZmxldC1jb250YWluZXIgc3ZnOiByZXNldCBzdmcgbWF4LXdpZHRoIGRlY2xlcmF0aW9uIHNoaXBwZWQgaW4gSm9vbWxhISAoam9vbWxhLm9yZykgMy54ICovDQovKiAubGVhZmxldC1jb250YWluZXIgaW1nOiBtYXAgaXMgYnJva2VuIGluIEZGIGlmIHlvdSBoYXZlIG1heC13aWR0aDogMTAwJSBvbiB0aWxlcyAqLw0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBzdmcsDQoubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtbWFya2VyLXBhbmUgaW1nLA0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXNoYWRvdy1wYW5lIGltZywNCi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC10aWxlLXBhbmUgaW1nLA0KLmxlYWZsZXQtY29udGFpbmVyIGltZy5sZWFmbGV0LWltYWdlLWxheWVyLA0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LXRpbGUgew0KCW1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50Ow0KCW1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDsNCgl9DQoNCi5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LXRvdWNoLXpvb20gew0KCS1tcy10b3VjaC1hY3Rpb246IHBhbi14IHBhbi15Ow0KCXRvdWNoLWFjdGlvbjogcGFuLXggcGFuLXk7DQoJfQ0KLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtZHJhZyB7DQoJLW1zLXRvdWNoLWFjdGlvbjogcGluY2gtem9vbTsNCgkvKiBGYWxsYmFjayBmb3IgRkYgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHBpbmNoLXpvb20gKi8NCgl0b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOw0KfQ0KLmxlYWZsZXQtY29udGFpbmVyLmxlYWZsZXQtdG91Y2gtZHJhZy5sZWFmbGV0LXRvdWNoLXpvb20gew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLmxlYWZsZXQtY29udGFpbmVyIHsNCgktd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KLmxlYWZsZXQtY29udGFpbmVyIGEgew0KCS13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSg1MSwgMTgxLCAyMjksIDAuNCk7DQp9DQoubGVhZmxldC10aWxlIHsNCglmaWx0ZXI6IGluaGVyaXQ7DQoJdmlzaWJpbGl0eTogaGlkZGVuOw0KCX0NCi5sZWFmbGV0LXRpbGUtbG9hZGVkIHsNCgl2aXNpYmlsaXR5OiBpbmhlcml0Ow0KCX0NCi5sZWFmbGV0LXpvb20tYm94IHsNCgl3aWR0aDogMDsNCgloZWlnaHQ6IDA7DQoJLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCSAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCgl6LWluZGV4OiA4MDA7DQoJfQ0KLyogd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg4MzE5ICovDQoubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnIHsNCgktbW96LXVzZXItc2VsZWN0OiBub25lOw0KCX0NCg0KLmxlYWZsZXQtcGFuZSAgICAgICAgIHsgei1pbmRleDogNDAwOyB9DQoNCi5sZWFmbGV0LXRpbGUtcGFuZSAgICB7IHotaW5kZXg6IDIwMDsgfQ0KLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHsgei1pbmRleDogNDAwOyB9DQoubGVhZmxldC1zaGFkb3ctcGFuZSAgeyB6LWluZGV4OiA1MDA7IH0NCi5sZWFmbGV0LW1hcmtlci1wYW5lICB7IHotaW5kZXg6IDYwMDsgfQ0KLmxlYWZsZXQtdG9vbHRpcC1wYW5lICAgeyB6LWluZGV4OiA2NTA7IH0NCi5sZWFmbGV0LXBvcHVwLXBhbmUgICB7IHotaW5kZXg6IDcwMDsgfQ0KDQoubGVhZmxldC1tYXAtcGFuZSBjYW52YXMgeyB6LWluZGV4OiAxMDA7IH0NCi5sZWFmbGV0LW1hcC1wYW5lIHN2ZyAgICB7IHotaW5kZXg6IDIwMDsgfQ0KDQoubGVhZmxldC12bWwtc2hhcGUgew0KCXdpZHRoOiAxcHg7DQoJaGVpZ2h0OiAxcHg7DQoJfQ0KLmx2bWwgew0KCWJlaGF2aW9yOiB1cmwoI2RlZmF1bHQjVk1MKTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCX0NCg0KDQovKiBjb250cm9sIHBvc2l0aW9uaW5nICovDQoNCi5sZWFmbGV0LWNvbnRyb2wgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl6LWluZGV4OiA4MDA7DQoJcG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkOyAvKiBJRSA5LTEwIGRvZXNuJ3QgaGF2ZSBhdXRvICovDQoJcG9pbnRlci1ldmVudHM6IGF1dG87DQoJfQ0KLmxlYWZsZXQtdG9wLA0KLmxlYWZsZXQtYm90dG9tIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJei1pbmRleDogMTAwMDsNCglwb2ludGVyLWV2ZW50czogbm9uZTsNCgl9DQoubGVhZmxldC10b3Agew0KCXRvcDogMDsNCgl9DQoubGVhZmxldC1yaWdodCB7DQoJcmlnaHQ6IDA7DQoJfQ0KLmxlYWZsZXQtYm90dG9tIHsNCglib3R0b206IDA7DQoJfQ0KLmxlYWZsZXQtbGVmdCB7DQoJbGVmdDogMDsNCgl9DQoubGVhZmxldC1jb250cm9sIHsNCglmbG9hdDogbGVmdDsNCgljbGVhcjogYm90aDsNCgl9DQoubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHsNCglmbG9hdDogcmlnaHQ7DQoJfQ0KLmxlYWZsZXQtdG9wIC5sZWFmbGV0LWNvbnRyb2wgew0KCW1hcmdpbi10b3A6IDEwcHg7DQoJfQ0KLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wgew0KCW1hcmdpbi1ib3R0b206IDEwcHg7DQoJfQ0KLmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9sIHsNCgltYXJnaW4tbGVmdDogMTBweDsNCgl9DQoubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sIHsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQoJfQ0KDQoNCi8qIHpvb20gYW5kIGZhZGUgYW5pbWF0aW9ucyAqLw0KDQoubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtdGlsZSB7DQoJd2lsbC1jaGFuZ2U6IG9wYWNpdHk7DQoJfQ0KLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXBvcHVwIHsNCglvcGFjaXR5OiAwOw0KCS13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjsNCgkgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7DQoJICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyOw0KCX0NCi5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC1tYXAtcGFuZSAubGVhZmxldC1wb3B1cCB7DQoJb3BhY2l0eTogMTsNCgl9DQoubGVhZmxldC16b29tLWFuaW1hdGVkIHsNCgktd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDsNCgkgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDsNCgkgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsNCgl9DQoubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7DQoJd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsNCgl9DQoubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZCB7DQoJLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7DQoJICAgLW1vei10cmFuc2l0aW9uOiAgICAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7DQoJICAgICAgICB0cmFuc2l0aW9uOiAgICAgICAgIHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwwLDAuMjUsMSk7DQoJfQ0KLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUsDQoubGVhZmxldC1wYW4tYW5pbSAubGVhZmxldC10aWxlIHsNCgktd2Via2l0LXRyYW5zaXRpb246IG5vbmU7DQoJICAgLW1vei10cmFuc2l0aW9uOiBub25lOw0KCSAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsNCgl9DQoNCi5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC16b29tLWhpZGUgew0KCXZpc2liaWxpdHk6IGhpZGRlbjsNCgl9DQoNCg0KLyogY3Vyc29ycyAqLw0KDQoubGVhZmxldC1pbnRlcmFjdGl2ZSB7DQoJY3Vyc29yOiBwb2ludGVyOw0KCX0NCi5sZWFmbGV0LWdyYWIgew0KCWN1cnNvcjogLXdlYmtpdC1ncmFiOw0KCWN1cnNvcjogICAgLW1vei1ncmFiOw0KCWN1cnNvcjogICAgICAgICBncmFiOw0KCX0NCi5sZWFmbGV0LWNyb3NzaGFpciwNCi5sZWFmbGV0LWNyb3NzaGFpciAubGVhZmxldC1pbnRlcmFjdGl2ZSB7DQoJY3Vyc29yOiBjcm9zc2hhaXI7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtcGFuZSwNCi5sZWFmbGV0LWNvbnRyb2wgew0KCWN1cnNvcjogYXV0bzsNCgl9DQoubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1ncmFiLA0KLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtZ3JhYiAubGVhZmxldC1pbnRlcmFjdGl2ZSwNCi5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUgew0KCWN1cnNvcjogbW92ZTsNCgljdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7DQoJY3Vyc29yOiAgICAtbW96LWdyYWJiaW5nOw0KCWN1cnNvcjogICAgICAgICBncmFiYmluZzsNCgl9DQoNCi8qIG1hcmtlciAmIG92ZXJsYXlzIGludGVyYWN0aXZpdHkgKi8NCi5sZWFmbGV0LW1hcmtlci1pY29uLA0KLmxlYWZsZXQtbWFya2VyLXNoYWRvdywNCi5sZWFmbGV0LWltYWdlLWxheWVyLA0KLmxlYWZsZXQtcGFuZSA+IHN2ZyBwYXRoLA0KLmxlYWZsZXQtdGlsZS1jb250YWluZXIgew0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCX0NCg0KLmxlYWZsZXQtbWFya2VyLWljb24ubGVhZmxldC1pbnRlcmFjdGl2ZSwNCi5sZWFmbGV0LWltYWdlLWxheWVyLmxlYWZsZXQtaW50ZXJhY3RpdmUsDQoubGVhZmxldC1wYW5lID4gc3ZnIHBhdGgubGVhZmxldC1pbnRlcmFjdGl2ZSwNCnN2Zy5sZWFmbGV0LWltYWdlLWxheWVyLmxlYWZsZXQtaW50ZXJhY3RpdmUgcGF0aCB7DQoJcG9pbnRlci1ldmVudHM6IHZpc2libGVQYWludGVkOyAvKiBJRSA5LTEwIGRvZXNuJ3QgaGF2ZSBhdXRvICovDQoJcG9pbnRlci1ldmVudHM6IGF1dG87DQoJfQ0KDQovKiB2aXN1YWwgdHdlYWtzICovDQoNCi5sZWFmbGV0LWNvbnRhaW5lciB7DQoJYmFja2dyb3VuZDogI2RkZDsNCglvdXRsaW5lOiAwOw0KCX0NCi5sZWFmbGV0LWNvbnRhaW5lciBhIHsNCgljb2xvcjogIzAwNzhBODsNCgl9DQoubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LWFjdGl2ZSB7DQoJb3V0bGluZTogMnB4IHNvbGlkIG9yYW5nZTsNCgl9DQoubGVhZmxldC16b29tLWJveCB7DQoJYm9yZGVyOiAycHggZG90dGVkICMzOGY7DQoJYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjUpOw0KCX0NCg0KDQovKiBnZW5lcmFsIHR5cG9ncmFwaHkgKi8NCi5sZWFmbGV0LWNvbnRhaW5lciB7DQoJZm9udDogMTJweC8xLjUgIkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgl9DQoNCg0KLyogZ2VuZXJhbCB0b29sYmFyIHN0eWxlcyAqLw0KDQoubGVhZmxldC1iYXIgew0KCWJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuNjUpOw0KCWJvcmRlci1yYWRpdXM6IDRweDsNCgl9DQoubGVhZmxldC1iYXIgYSwNCi5sZWFmbGV0LWJhciBhOmhvdmVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOw0KCXdpZHRoOiAyNnB4Ow0KCWhlaWdodDogMjZweDsNCglsaW5lLWhlaWdodDogMjZweDsNCglkaXNwbGF5OiBibG9jazsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCWNvbG9yOiBibGFjazsNCgl9DQoubGVhZmxldC1iYXIgYSwNCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KCWRpc3BsYXk6IGJsb2NrOw0KCX0NCi5sZWFmbGV0LWJhciBhOmhvdmVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0Ow0KCX0NCi5sZWFmbGV0LWJhciBhOmZpcnN0LWNoaWxkIHsNCglib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7DQoJYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsNCgl9DQoubGVhZmxldC1iYXIgYTpsYXN0LWNoaWxkIHsNCglib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7DQoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsNCglib3JkZXItYm90dG9tOiBub25lOw0KCX0NCi5sZWFmbGV0LWJhciBhLmxlYWZsZXQtZGlzYWJsZWQgew0KCWN1cnNvcjogZGVmYXVsdDsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0Ow0KCWNvbG9yOiAjYmJiOw0KCX0NCg0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGEgew0KCXdpZHRoOiAzMHB4Ow0KCWhlaWdodDogMzBweDsNCglsaW5lLWhlaWdodDogMzBweDsNCgl9DQoubGVhZmxldC10b3VjaCAubGVhZmxldC1iYXIgYTpmaXJzdC1jaGlsZCB7DQoJYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4Ow0KCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7DQoJfQ0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIGE6bGFzdC1jaGlsZCB7DQoJYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4Ow0KCWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7DQoJfQ0KDQovKiB6b29tIGNvbnRyb2wgKi8NCg0KLmxlYWZsZXQtY29udHJvbC16b29tLWluLA0KLmxlYWZsZXQtY29udHJvbC16b29tLW91dCB7DQoJZm9udDogYm9sZCAxOHB4ICdMdWNpZGEgQ29uc29sZScsIE1vbmFjbywgbW9ub3NwYWNlOw0KCXRleHQtaW5kZW50OiAxcHg7DQoJfQ0KDQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLXpvb20taW4sIC5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXQgIHsNCglmb250LXNpemU6IDIycHg7DQoJfQ0KDQoNCi8qIGxheWVycyBjb250cm9sICovDQoNCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHsNCglib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLDAsMCwwLjQpOw0KCWJhY2tncm91bmQ6ICNmZmY7DQoJYm9yZGVyLXJhZGl1czogNXB4Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMucG5nKTsNCgl3aWR0aDogMzZweDsNCgloZWlnaHQ6IDM2cHg7DQoJfQ0KLmxlYWZsZXQtcmV0aW5hIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9sYXllcnMtMngucG5nKTsNCgliYWNrZ3JvdW5kLXNpemU6IDI2cHggMjZweDsNCgl9DQoubGVhZmxldC10b3VjaCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUgew0KCXdpZHRoOiA0NHB4Ow0KCWhlaWdodDogNDRweDsNCgl9DQoubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LA0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlIHsNCglkaXNwbGF5OiBub25lOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl9DQoubGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCB7DQoJcGFkZGluZzogNnB4IDEwcHggNnB4IDZweDsNCgljb2xvcjogIzMzMzsNCgliYWNrZ3JvdW5kOiAjZmZmOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNjcm9sbGJhciB7DQoJb3ZlcmZsb3cteTogc2Nyb2xsOw0KCW92ZXJmbG93LXg6IGhpZGRlbjsNCglwYWRkaW5nLXJpZ2h0OiA1cHg7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Igew0KCW1hcmdpbi10b3A6IDJweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdG9wOiAxcHg7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1sYXllcnMgbGFiZWwgew0KCWRpc3BsYXk6IGJsb2NrOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvciB7DQoJaGVpZ2h0OiAwOw0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KCW1hcmdpbjogNXB4IC0xMHB4IDVweCAtNnB4Ow0KCX0NCg0KLyogRGVmYXVsdCBpY29uIFVSTHMgKi8NCi5sZWFmbGV0LWRlZmF1bHQtaWNvbi1wYXRoIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL21hcmtlci1pY29uLnBuZyk7DQoJfQ0KDQoNCi8qIGF0dHJpYnV0aW9uIGFuZCBzY2FsZSBjb250cm9scyAqLw0KDQoubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiB7DQoJYmFja2dyb3VuZDogI2ZmZjsNCgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7DQoJbWFyZ2luOiAwOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sDQoubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmUgew0KCXBhZGRpbmc6IDAgNXB4Ow0KCWNvbG9yOiAjMzMzOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSB7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpob3ZlciB7DQoJdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQoJfQ0KLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sDQoubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7DQoJZm9udC1zaXplOiAxMXB4Ow0KCX0NCi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7DQoJbWFyZ2luLWxlZnQ6IDVweDsNCgl9DQoubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7DQoJbWFyZ2luLWJvdHRvbTogNXB4Ow0KCX0NCi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7DQoJYm9yZGVyOiAycHggc29saWQgIzc3NzsNCglib3JkZXItdG9wOiBub25lOw0KCWxpbmUtaGVpZ2h0OiAxLjE7DQoJcGFkZGluZzogMnB4IDVweCAxcHg7DQoJZm9udC1zaXplOiAxMXB4Ow0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KDQoJYmFja2dyb3VuZDogI2ZmZjsNCgliYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCglib3JkZXItdG9wOiAycHggc29saWQgIzc3NzsNCglib3JkZXItYm90dG9tOiBub25lOw0KCW1hcmdpbi10b3A6IC0ycHg7DQoJfQ0KLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgew0KCWJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzc3Ow0KCX0NCg0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiwNCi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLA0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHsNCglib3gtc2hhZG93OiBub25lOw0KCX0NCi5sZWFmbGV0LXRvdWNoIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLA0KLmxlYWZsZXQtdG91Y2ggLmxlYWZsZXQtYmFyIHsNCglib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMik7DQoJYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCgl9DQoNCg0KLyogcG9wdXAgKi8NCg0KLmxlYWZsZXQtcG9wdXAgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJbWFyZ2luLWJvdHRvbTogMjBweDsNCgl9DQoubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIgew0KCXBhZGRpbmc6IDFweDsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtY29udGVudCB7DQoJbWFyZ2luOiAxM3B4IDE5cHg7DQoJbGluZS1oZWlnaHQ6IDEuNDsNCgl9DQoubGVhZmxldC1wb3B1cC1jb250ZW50IHAgew0KCW1hcmdpbjogMThweCAwOw0KCX0NCi5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIgew0KCXdpZHRoOiA0MHB4Ow0KCWhlaWdodDogMjBweDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi1sZWZ0OiAtMjBweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCX0NCi5sZWFmbGV0LXBvcHVwLXRpcCB7DQoJd2lkdGg6IDE3cHg7DQoJaGVpZ2h0OiAxN3B4Ow0KCXBhZGRpbmc6IDFweDsNCg0KCW1hcmdpbjogLTEwcHggYXV0byAwOw0KDQoJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLA0KLmxlYWZsZXQtcG9wdXAtdGlwIHsNCgliYWNrZ3JvdW5kOiB3aGl0ZTsNCgljb2xvcjogIzMzMzsNCglib3gtc2hhZG93OiAwIDNweCAxNHB4IHJnYmEoMCwwLDAsMC40KTsNCgl9DQoubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglyaWdodDogMDsNCglwYWRkaW5nOiA0cHggNHB4IDAgMDsNCglib3JkZXI6IG5vbmU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXdpZHRoOiAxOHB4Ow0KCWhlaWdodDogMTRweDsNCglmb250OiAxNnB4LzE0cHggVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmOw0KCWNvbG9yOiAjYzNjM2MzOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCglmb250LXdlaWdodDogYm9sZDsNCgliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsNCgl9DQoubGVhZmxldC1jb250YWluZXIgYS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlciB7DQoJY29sb3I6ICM5OTk7DQoJfQ0KLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQgew0KCW92ZXJmbG93OiBhdXRvOw0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KCX0NCg0KLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHsNCgktbXMtem9vbTogMTsNCgl9DQoubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC10aXAgew0KCXdpZHRoOiAyNHB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KDQoJLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgsIE0xMj0wLjcwNzEwNjc4LCBNMjE9LTAuNzA3MTA2NzgsIE0yMj0wLjcwNzEwNjc4KSI7DQoJZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4LCBNMTI9MC43MDcxMDY3OCwgTTIxPS0wLjcwNzEwNjc4LCBNMjI9MC43MDcxMDY3OCk7DQoJfQ0KLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7DQoJbWFyZ2luLXRvcDogLTFweDsNCgl9DQoNCi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtem9vbSwNCi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLA0KLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLA0KLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtcG9wdXAtdGlwIHsNCglib3JkZXI6IDFweCBzb2xpZCAjOTk5Ow0KCX0NCg0KDQovKiBkaXYgaWNvbiAqLw0KDQoubGVhZmxldC1kaXYtaWNvbiB7DQoJYmFja2dyb3VuZDogI2ZmZjsNCglib3JkZXI6IDFweCBzb2xpZCAjNjY2Ow0KCX0NCg0KDQovKiBUb29sdGlwICovDQovKiBCYXNlIHN0eWxlcyBmb3IgdGhlIGVsZW1lbnQgdGhhdCBoYXMgYSB0b29sdGlwICovDQoubGVhZmxldC10b29sdGlwIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJcGFkZGluZzogNnB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmY7DQoJYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCglib3JkZXItcmFkaXVzOiAzcHg7DQoJY29sb3I6ICMyMjI7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCgktd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KCS1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQoJLW1zLXVzZXItc2VsZWN0OiBub25lOw0KCXVzZXItc2VsZWN0OiBub25lOw0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCWJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNCk7DQoJfQ0KLmxlYWZsZXQtdG9vbHRpcC5sZWFmbGV0LWNsaWNrYWJsZSB7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBvaW50ZXItZXZlbnRzOiBhdXRvOw0KCX0NCi5sZWFmbGV0LXRvb2x0aXAtdG9wOmJlZm9yZSwNCi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSwNCi5sZWFmbGV0LXRvb2x0aXAtbGVmdDpiZWZvcmUsDQoubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KCWJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KCWNvbnRlbnQ6ICIiOw0KCX0NCg0KLyogRGlyZWN0aW9ucyAqLw0KDQoubGVhZmxldC10b29sdGlwLWJvdHRvbSB7DQoJbWFyZ2luLXRvcDogNnB4Ow0KfQ0KLmxlYWZsZXQtdG9vbHRpcC10b3Agew0KCW1hcmdpbi10b3A6IC02cHg7DQp9DQoubGVhZmxldC10b29sdGlwLWJvdHRvbTpiZWZvcmUsDQoubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUgew0KCWxlZnQ6IDUwJTsNCgltYXJnaW4tbGVmdDogLTZweDsNCgl9DQoubGVhZmxldC10b29sdGlwLXRvcDpiZWZvcmUgew0KCWJvdHRvbTogMDsNCgltYXJnaW4tYm90dG9tOiAtMTJweDsNCglib3JkZXItdG9wLWNvbG9yOiAjZmZmOw0KCX0NCi5sZWFmbGV0LXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7DQoJdG9wOiAwOw0KCW1hcmdpbi10b3A6IC0xMnB4Ow0KCW1hcmdpbi1sZWZ0OiAtNnB4Ow0KCWJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQoJfQ0KLmxlYWZsZXQtdG9vbHRpcC1sZWZ0IHsNCgltYXJnaW4tbGVmdDogLTZweDsNCn0NCi5sZWFmbGV0LXRvb2x0aXAtcmlnaHQgew0KCW1hcmdpbi1sZWZ0OiA2cHg7DQp9DQoubGVhZmxldC10b29sdGlwLWxlZnQ6YmVmb3JlLA0KLmxlYWZsZXQtdG9vbHRpcC1yaWdodDpiZWZvcmUgew0KCXRvcDogNTAlOw0KCW1hcmdpbi10b3A6IC02cHg7DQoJfQ0KLmxlYWZsZXQtdG9vbHRpcC1sZWZ0OmJlZm9yZSB7DQoJcmlnaHQ6IDA7DQoJbWFyZ2luLXJpZ2h0OiAtMTJweDsNCglib3JkZXItbGVmdC1jb2xvcjogI2ZmZjsNCgl9DQoubGVhZmxldC10b29sdGlwLXJpZ2h0OmJlZm9yZSB7DQoJbGVmdDogMDsNCgltYXJnaW4tbGVmdDogLTEycHg7DQoJYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOw0KCX0NCg=="}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":13,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.827Z","timestamp":1785139582827,"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-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 08:06:22 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: 6aea1e190cc43bd59b0edf6ef0cf2b38\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-29T11:04:57.494393Z","times_seen":755,"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":20,"timings":{"blocked":12,"dns":0,"connect":0,"send":0,"wait":8,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.829Z","timestamp":1785139582829,"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-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 08:06:22 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: 80ea720278e9d822615d92545e98d246\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-08-12T17:51:36.588399Z","times_seen":1485,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1sxMjE4MV0sezcxMjE4MShlKXtlLmV4cG9ydHMudHpEYXRhPXsiQWZyaWNhL0NhaXJvIjp7dGltZTpbLTIxODU0MDE2MDAsLTkyOTgzNjgwMCwtOTIzMDk3NjAwLC05MDYxNjMyMDAsLTg5Mjg1NzYwMCwtODc1ODM2ODAwLC04NTc3NzkyMDAsLTg0NDMwMDgwMCwtODI1ODExMjAwLC04MTI2Nzg0MDAsLTc5NDE4ODgwMCwtNzc5ODQ2NDAwLC03NjI2NTI4MDAsLTM5OTA4MTYwMCwtMzg2NjRlNCwtMzY4MzIzMjAwLC0zNTUxMDRlMywtMzM2NzgzNjAwLC0zMjM2NDM2MDAsLTMwNTE2MTIwMCwtMjkyMDIxMjAwLC0yNzM2MjUyMDAsLTI2MDQ4NTIwMCwtMjQyMDg5MjAwLC0yMjg5NDkyMDAsLTIxMDU1MzIwMCwtMTk3NDEzMjAwLC0xNzg5MzA4MDAsLTE2NTc5MDgwMCwtMTQ3Mzk0ODAwLC0xMzQyNTQ4MDAsLTExNTg1ODgwMCwtMTAyNjMyNDAwLC04NDMyMjgwMCwtNzEwOTY0MDAsLTUyNzAwNDAwLC0zOTQ3NGUzLC0yMTE2NDQwMCwtNzkzOGUzLDEwMzcxNjAwLDIzNTk4ZTMsNDE5MDc2MDAsNTUxMzRlMyw3MzUzZTQsODY3NTY0MDAsMTA1MDY2ZTMsMTE4MjkyNDAwLDEzNjYwMmUzLDE0OTgyODQwMCwxNjgxMzhlMywxODEzNjQ0MDAsMTk5NzYwNDAwLDIxMjk4NjgwMCwyMzEyOTY0MDAsMjQ0NTIyODAwLDI2MjgzMjQwMCwyNzYwNTg4MDAsMjk0MzY4NDAwLDMwNzU5NDgwMCwzMjU5OTA4MDAsMzM5MjE3MjAwLDM1NzUyNjgwMCwzNzA3NTMyMDAsMzk2NDA2ODAwLDQwMjI4OTIwMCw0MjY4MTk2MDAsNDMzODI1MjAwLDQ1MjIyMTIwMCw0NjU0NDc2MDAsNDgzNzU3MjAwLDQ5Njk4MzYwMCw1MTUyOTMyMDAsNTI4NTE5NjAwLDU0NjgyOTIwMCw1NjAwNTU2MDAsNTc4NDUxNjAwLDU5MTY3OGUzLDYxMDQxOTYwMCw2MjMyMTRlMyw2NDE1MjM2MDAsNjU0NzVlNCw2NzMwNTk2MDAsNjg2Mjg2ZTMsNzA0NjgyZTMsNzE3OTA4NDAwLDczNjIxOGUzLDc0OTQ0NDQwMCw3Njc3NTRlMyw3ODA5ODA0MDAsNzk5MDI3MjAwLDgxMjMzMjgwMCw4MzA0NzY4MDAsODQzNzgyNDAwLDg2MTkyNjQwMCw4NzUyMzJlMyw4OTMzNzZlMyw5MDY2ODE2MDAsOTI1NDMwNDAwLDkzODczNmUzLDk1Njg4ZTQsOTcwMTg1NjAwLDk4ODMyOTYwMCwxMDAxNjM1MjAwLDEwMTk3NzkyMDAsMTAzMzA4NDgwMCwxMDUxMjI4ODAwLDEwNjQ1MzQ0MDAsMTA4MzI4MzIwMCwxMDk2NTg4ODAwLDExMTQ3MzI4MDAsMTEyODAzODQwMCwxMTQ2MTgyNDAwLDExNTg4ODMyMDAsMTE3NzYzMmUzLDExODkxMjMyMDAsMTIwOTA4MTYwMCwxMjE5OTY4ZTMsMTI0MDUzMTIwMCwxMjUwODEyODAwLDEyNzI1ODU2MDAsMTI4MTQ4NDgwMCwxMjg0MDc2ODAwLDEyODU4OTEyMDAsMTQwMDE5ODQwMCwxNDAzODI3MjAwLDE0MDY4NTEyMDAsMTQxMTY4OTYwMCwxNjgyNjRlNCwxNjk4MzY0ODAwLDE3MTQwODk2MDAsMTczMDQxOTIwMCwxNzQ1NTM5MjAwLDE3NjE4Njg4MDAsMTc3Njk4ODgwMCwxNzkzMzE4NDAwLDE4MDkwNDMyMDAsMTgyNDc2OGUzLDE4NDA0OTI4MDAsMTg1NjIxNzYwMCwxODcxOTQyNDAwLDE4ODc2NjcyMDAsMTkwMzM5MmUzLDE5MTk3MjE2MDAsMTkzNDg0MTYwMF0sb2Zmc2V0Ols3NTA5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkFmcmljYS9DYXNhYmxhbmNhIjp7CnRpbWU6Wy0xNzczMDE0NDAwLC05NTYzNjE2MDAsLTk1MDQ4NjQwMCwtOTQyMDE5MjAwLC03NjExODRlMywtNjE3MjQxNjAwLC02MDUxNDU2MDAsLTgxNDMyZTMsLTcxMTA3MjAwLDE0MTI2NGUzLDE0NzIyNTYwMCwxOTk3NTY4MDAsMjA3NzA1NjAwLDIzMTI5MjgwMCwyNDQyNTI4MDAsMjY1NTA3MjAwLDI3MTAzNjgwMCw0NDgyNDMyMDAsNTA0OTIxNjAwLDEyMTIyNzg0MDAsMTIyMDIyNzIwMCwxMjQzODE0NDAwLDEyNTA4MTI4MDAsMTI3Mjc1ODQwMCwxMjgxMjI1NjAwLDEzMDE3ODg4MDAsMTMxMjA3MDQwMCwxMzM1NjY0ODAwLDEzNDI3NTMyMDAsMTM0NTQyOGUzLDEzNDg5NzRlMywxMzY3MTE0NDAwLDEzNzMxNjZlMywxMzc2MWU1LDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDAzOTI0NDAwLDE0MDY5NDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0MzQyNTA4MDAsMTQzNzI3MTIwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0NjUwOTU2MDAsMTQ2ODExNmUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNDk1MzM1NjAwLDE0OTg5NjA4MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTUyNjE4MDQwMCwxNTI5MjAwODAwLDE1NDA2OTU2MDAsMTU1NzAyNTIwMCwxNTYwMDQ1NjAwLDE1ODcyNjUyMDAsMTU5MDg5MDQwMCwxNjE4MTFlNCwxNjIxMTMwNDAwLDE2NDgzNWU0LDE2NTE5NzUyMDAsMTY3OTE5NDgwMCwxNjgyMjE1MjAwLDE3MTAwMzk2MDAsMTcxMzA2ZTQsMTc0MDI3OTYwMCwxNzQzOTA0ODAwLDE3NzExMjQ0MDAsMTc3NDE0NDgwMCwxODAxOTY5MjAwLDE4MDQ5ODk2MDAsMTgzMjIwOTIwMCwxODM1ODM0NDAwLDE4NjMwNTRlMywxODY2MDc0NDAwLDE4OTMyOTRlMywxODk2OTE5MjAwLDE5MjQxMzg4MDAsMTkyNzE1OTIwMF0sb2Zmc2V0OlstMTgyMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiQWZyaWNhL0pvaGFubmVzYnVyZyI6e3RpbWU6Wy0yNDU4MTY2NDAwLC0yMTA5MjgzMjAwLC04NjA5Njg4MDAsLTg0NTI0NGUzLC04Mjk1MTkyMDAsLTgxMzc5NDQwMCwxOTI0OTk5MjAwXSxvZmZzZXQ6WzY3MjAsNTQwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBZnJpY2EvTGFnb3MiOnt0aW1lOlstMjAzNTU4NGUzLC0xOTQwODg5NjAwLC0xNzY3MjI1NjAwLC0xNTg4NDY0ZTMsMTkyNDk5NTYwMF0sb2Zmc2V0Ols4MTUsMCw4MTUsMTgwMCwzNjAwXX0sIkFmcmljYS9OYWlyb2JpIjp7dGltZTpbLTE5NDYxNmU0LC0xMzA5NzM3NjAwLC0xMjYxOTU4NDAwLC0xMDQxMzc5MjAwLC04NjUyOTZlMywxOTI1MDAyODAwXSxvZmZzZXQ6Wzg4MzYsOWUzLDEwODAwLDllMyw5OTAwLDEwODAwXX0sIkFmcmljYS9UdW5pcyI6e3RpbWU6Wy0yNzk3MmU1LC0xODU1OTU4NDAwLC05NjkyMzg4MDAsLTk1MDQ4NjQwMCwtOTQxOTM2NDAwLC04OTExMjk2MDAsLTg3NzgyNGUzLC04NTcyNWU0LC04NDQ1NTI4MDAsLTg0MjkxMTIwMCwtODQyMjJlNCwtODI4MjIzMjAwLC04MTI0OTg0MDAsLTc5NjI2MjQwMCwtNzgxMDQ4ODAwLC03NjY2MjcyMDAsMjMxMjA2NDAwLDI0MzkxMDgwMCwyNjI4Mjg4MDAsMjc2MDUxNjAwLDU4MTEyNjQwMCw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDY0MTUyZTQsNjU0NjU2NDAwLDExMTQ5MDU2MDAsMTEyODA0NTYwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxOTI0OTk1NjAwXSxvZmZzZXQ6WzI0NDQsNTYxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkFtZXJpY2EvQW5jaG9yYWdlIjp7CnRpbWU6Wy0zMjI1MTczMzAzLC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDI4ZTMsLTc2NTQxMDQwMCwtODY5MTg0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLG9mZnNldDpbNTA0MjQsLTM1OTc2LC0zNmUzLC0zMjQwMCwtMzI0MDAsLTM2ZTMsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTM2ZTMsLTMyNDAwLC0zNmUzLC0zMjQwMCwtMzZlMywtMzI0MDAsLTMyNDAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDBdfSwiQW1lcmljYS9BcmdlbnRpbmEvQnVlbm9zX0FpcmVzIjp7dGltZTpbLTIzNzIxMTJlMywtMTU2NzQ2ODgwMCwtMTIzMzQ0NjQwMCwtMTIyMjk5MmUzLC0xMjA1OTcxMjAwLC0xMTk0MDQ4ZTMsLTExNzI4OGU0LC0xMTYyNTEyZTMsLTExNDEzNDRlMywtMTEzMDk3NmUzLC0xMTA5ODA4ZTMsLTEwOTk0NGU0LC0xMDc4MjcyZTMsLTEwNjc4MTc2MDAsLTEwNDY2NDk2MDAsLTEwMzYyODE2MDAsLTEwMTUxMTM2MDAsLTEwMDQ3NDU2MDAsLTk4MzU3NzYwMCwtOTczMjA5NjAwLC05NTIwNDE2MDAsLTk0MTU4NzIwMCwtOTMxMDQ2NDAwLC05MDA4OTI4MDAsLTg5MDM1MmUzLC04MzM3NmU0LC04MjcyOGU0LC03NTIyODQ4MDAsLTczMzc5NTIwMCwtMTk3MzM3NjAwLC0xOTA4NTc2MDAsLTE4NDIwNDgwMCwtMTY0NTA1NjAwLC0xNTI2Njg4MDAsLTEzMjk2OTYwMCwtMTIxMTMyODAwLC0xMDE0MzM2MDAsLTg2ODMyZTMsLTcxMTA3MjAwLC01NDc3NzYwMCwtMzkwNTI4MDAsLTIzMzI4ZTMsLTc2MDMyMDAsMTI4MTMxMjAwLDEzNjU5ODQwMCw1OTY5Mzc2MDAsNjA1MDU5MjAwLDYyNDQxMjgwMCw2MzY1MDg4MDAsNjU2NDY3MjAwLDY2Nzk1ODQwMCw2ODc5MTY4MDAsNjk5NDA4ZTMsNzE5MzY2NDAwLDczMTQ2MjQwMCw5Mzg5MDg4MDAsOTUyMDQxNjAwLDExOTg5NzI4MDAsMTIwNTYyNTYwMCwxMjI0Mzc0NDAwLDEyMzcwNzUyMDAsMTkyNDk4MTIwMF0sCm9mZnNldDpbLTE0MDI4LC0xNTQwOCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtMTA4MDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDBdfSwiQW1lcmljYS9Cb2dvdGEiOnt0aW1lOlstMjcwNzY4OTYwMCwtMTczOTA1OTIwMCw3MDQ4NTEyMDAsNzI5MDQzMjAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTc3NzYsLTE3Nzc2LC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0NhcmFjYXMiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTgyNjc1NTIwMCwtMTU3NzY2NDAwLDExOTcxNjkyMDAsMTQ2MjA2OTgwMCwxOTI0OTc3NjAwXSxvZmZzZXQ6Wy0xNjA2NCwtMTYwNjAsLTE2MjAwLC0xNDQwMCwtMTYyMDAsLTE0NDAwXX0sIkFtZXJpY2EvQ2hpY2FnbyI6ewp0aW1lOlstMjcxNzY2ODIzNiwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtMTU2Mzc0NjQwMCwtMTU1MTY1MDQwMCwtMTUzODk0OTYwMCwtMTUyMDIwMDgwMCwtMTUwNDQ3NmUzLC0xNDkxNzc1MjAwLC0xNDczMDI2NDAwLC0xNDU5NzIwODAwLC0xNDQxNTc2ODAwLC0xNDI4MjcxMjAwLC0xNDEwMTI3MjAwLC0xMzk2ODIxNjAwLC0xMzc4Njc3NjAwLC0xMzY1MzcyZTMsLTEzNDcyMjhlMywtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODkzNzUyMDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQ2MmU0LC0xMTI1ODcxMjAwLC0xMTEyNTY1NjAwLC0xMDk0NDIxNjAwLC0xMDgxMTE2ZTMsLTEwNjc4MTA0MDAsLTEwNDU0MzI4MDAsLTEwMzE1MjI0MDAsLTEwMTgyMTY4MDAsLTEwMDAwNzI4MDAsLTk4Njc2NzIwMCwtOTY4MDE4NDAwLC05NTUzMTc2MDAsLTkzNjU2ODgwMCwtOTIzMjYzMjAwLC05MDUxMTkyMDAsLTg5MTgxMzYwMCwtODgwMjM2ZTMsLTc2OTQxMzYwMCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzOTYxMmUzLC02MjA4NjMyMDAsLTYwODE2MjQwMCwtNTg5NDEzNjAwLC01NzYxMDhlMywtNTU3OTY0ZTMsLTU0NDY1ODQwMCwtNTI2NTE0NDAwLC01MTMyMDg4MDAsLTQ5NTA2NDgwMCwtNDgxNzU5MjAwLC00NjM2MTUyMDAsLTQ0NzI4NTYwMCwtNDMxNTYwODAwLC00MTU4MzZlMywtNDAwMTExMjAwLC0zODQzODY0MDAsLTM2ODY2MTYwMCwtMzUyOTM2ODAwLC0zMzcyMTJlMywtMzIxNDg3MjAwLC0zMDU3NjI0MDAsLTI4OTQzMjgwMCwtMjczNzA4ZTMsLTI1Nzk4MzIwMCwtMjQyMjU4NDAwLC0yMjY1MzM2MDAsLTIxMDgwODgwMCwtMTk1MDg0ZTMsLTE3OTM1OTIwMCwtMTYzNjM0NDAwLC0xNDc5MDk2MDAsLTEzMTU4ZTQsLTExNjQ2ZTQsLTEwMDEzMDQwMCwtODQ0MDU2MDAsLTY4NjgwODAwLC01Mjk1NmUzLC0zNzIzMTIwMCwtMjE1MDY0MDAsLTU3ODE2MDAsOTk0MzIwMCwyNTY2OGUzLDQxMzkyODAwLDU3NzIyNDAwLDczNDQ3MjAwLDg5MTcyZTMsMTA0ODk2ODAwLDEyMDYyMTYwMCwxMjY2Njk2MDAsMTUyMDcxMjAwLDE2MjM1MjgwMCwxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjEwMzYsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDBdfSwiQW1lcmljYS9FbF9TYWx2YWRvciI6e3RpbWU6Wy0xNTQ2MzAwODAwLDU0Njk5ODQwMCw1NTk2OTkyMDAsNTc4NDQ4ZTMsNTkxMTQ4ODAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIxNDA4LC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwXX0sIkFtZXJpY2EvSGFsaWZheCI6ewp0aW1lOlstMjEzMTY2MDgwMCwtMTY5NjI5MTIwMCwtMTY4MDQ4ZTQsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTE1NjY3Nzc2MDAsLTE1NTcxMDA4MDAsLTE1MzU1MDA4MDAsLTE1MjQ5NmU0LC0xNTA0NDgzMjAwLC0xNDkzNDI0ZTMsLTE0NzI0Mjg4MDAsLTE0NjE5NzQ0MDAsLTE0NDA5NzkyMDAsLTE0Mjk0MDE2MDAsLTE0MDk1Mjk2MDAsLTEzOTY3NDI0MDAsLTEzNzY4NzA0MDAsLTEzNjY1MDI0MDAsLTEzNDY2MzA0MDAsLTEzMzM4NDMyMDAsLTEzMTM5NzEyMDAsLTEzMDM2ODk2MDAsLTEyODI1MjE2MDAsLTEyNzI2NzJlMywtMTI1MTA3MmUzLC0xMjQwMDk5MjAwLC0xMjE5NjIyNDAwLC0xMjA3NDRlNCwtMTE4ODc3NzYwMCwtMTE3NTk5MDQwMCwtMTE1NzMyOGUzLC0xMTQzOTM2ZTMsLTExMjQwNjRlMywtMTExMzc4MjQwMCwtMTA5MTQwNDgwMCwtMTA4MTAzNjgwMCwtMTA1OTg2ODgwMCwtMTA1MDc5NjgwMCwtMTAzMDkyNDgwMCwtMTAxODEzNzYwMCwtOTk5NDc1MjAwLC05ODY2ODhlMywtOTY1NjA2NDAwLC05NTUyMzg0MDAsLTkzNTk3MTIwMCwtOTIzMTg0ZTMsLTkwNDUyMTYwMCwtODkxNzM0NDAwLC04ODAyMzZlMywtNzY5NDA2NDAwLC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDMxNTYwODAwLC00MTgyNTUyMDAsLTQwMDExMTIwMCwtMzg2ODA1NjAwLC0zNjg2NjE2MDAsLTM1NTM1NmUzLC0zMzcyMTJlMywtMzIzOTA2NDAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE1MjY0LC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMF19LCJBbWVyaWNhL0p1bmVhdSI6e3RpbWU6Wy0zMjI1MTY5NTg4LC0yMTg4OTg3MjAwLC04ODAyMzZlMywtNzY5NDIwODAwLC03NjU0MTA0MDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDM4OTk4NDAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6WzU0MTM5LC0zMjI2MSwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yODgwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMzI0MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMCwtMjg4MDAsLTMyNDAwLC0yODgwMCwtMzI0MDAsLTI4ODAwLC0zMjQwMF19LCJBbWVyaWNhL0xpbWEiOnt0aW1lOlstMjUyNDUyMTYwMCwtMTkzODU1NjgwMCwtMTAwOTg0MzIwMCwtMTAwMjA2NzIwMCwtOTg2Nzc0NDAwLC05NzEwNDk2MDAsLTk1NTMyNDgwMCwtOTM5NmU1LDUwNDkyMTYwMCw1MTI2OTc2MDAsNTM2NDU3NjAwLDU0NDIzMzYwMCw2MzExNTJlMyw2Mzg5MjhlMyw3NTczODI0MDAsNzY1MTU4NDAwLDE5MjQ5NzRlM10sb2Zmc2V0OlstMTg0OTIsLTE4NTE2LC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL0xvc19BbmdlbGVzIjp7dGltZTpbLTI3MTc2NjgzNzgsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNjg3OTk1OTQwLC02NjI2ODA4MDAsLTYyMDg2NjgwMCwtNjA4MTYyNDAwLC01ODk0MTcyMDAsLTU3NjEwOGUzLC01NTc5Njc2MDAsLTU0NDY1ODQwMCwtNTI2NTE4ZTMsLTUxMzIwODgwMCwtNDk1MDY4NDAwLC00ODE3NTkyMDAsLTQ2MzYxODgwMCwtNDUwMzA5NjAwLC00MzE1NjQ0MDAsLTQxODI1NTIwMCwtNDAwMTE0ODAwLC0zODY4MDU2MDAsLTM2ODY2NTIwMCwtMzU1MzU2ZTMsLTMzNzIxNTYwMCwtMzIzOTA2NDAwLC0zMDU3NjZlMywtMjkyNDU2ODAwLC0yNzM3MTE2MDAsLTI2MTAwNzIwMCwtMjQyMjYyZTMsLTIyNjUzMzYwMCwtMjEwODEyNDAwLC0xOTUwODRlMywtMTc5MzYyODAwLC0xNjM2MzQ0MDAsLTE0NzkxMzIwMCwtMTMxNThlNCwtMTE2NDYzNjAwLC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTI4Mzc4LC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBbWVyaWNhL01leGljb19DaXR5Ijp7dGltZTpbLTE1MTQ3NjMzOTYsLTEzNDMxNzQ0MDAsLTEyMzQ4Mjg4MDAsLTEyMjA0ODY0MDAsLTEyMDcxODA4MDAsLTExOTEzNjk2MDAsLTk3NTI4MzIwMCwtOTYzMTg3MjAwLC05MTcxMzZlMywtOTA3MzcyODAwLC04MjE5MjMyMDAsLTgxMDA4NjQwMCwtNjI3NTIzMjAwLC02MTMwMDhlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODkxMTQ0MDAsMTAwMTgxNTIwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzUzOTI4MDAsMTE5MzUzNjgwMCwxMjA3NDQ3MjAwLDEyMjQ5ODY0MDAsMTIzODg5NjgwMCwxMjU2NDM2ZTMsMTI3MDM0NjQwMCwxMjg4NDkwNDAwLDEzMDE3OTZlMywxMzE5OTRlNCwxMzMzMjQ1NjAwLDEzNTEzODk2MDAsMTM2NTNlNSwxMzgyODM5MjAwLDEzOTY3NDk2MDAsMTQxNDI4ODgwMCwxNDI4MTk5MjAwLDE0NDU3Mzg0MDAsMTQ1OTY0ODgwMCwxNDc3NzkyODAwLDE0OTEwOTg0MDAsMTUwOTI0MjQwMCwxNTIyNTQ4ZTMsMTU0MDY5MmUzLDE1NTQ2MDI0MDAsMTU3MjE0MTYwMCwxNTg2MDUyZTMsMTYwMzU5MTIwMCwxNjE3NTAxNjAwLDE2MzU2NDU2MDAsMTY0ODk1MTIwMCwxNjY3MDk1MjAwLDE5MjQ5NzA0MDBdLG9mZnNldDpbLTIzNzk2LC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMCwtMThlMywtMjE2MDAsLTE4ZTMsLTIxNjAwLC0xOGUzLC0yMTYwMF19LCJBbWVyaWNhL05ld19Zb3JrIjp7CnRpbWU6Wy0yNzE3NjY4NTYyLC0xNjMzMjk4NDAwLC0xNjE1MTU0NDAwLC0xNjAxODQ4ODAwLC0xNTgzNzA0ODAwLC0xNTcwMzk5MjAwLC0xNTUxNjUwNDAwLC0xNTM2NTMwNDAwLC0xNTIzMjI0ODAwLC0xNTA0NDc2ZTMsLTE0OTE3NzUyMDAsLTE0NzMwMjY0MDAsLTE0NTk3MjA4MDAsLTE0NDE1NzY4MDAsLTE0MjgyNzEyMDAsLTE0MTAxMjcyMDAsLTEzOTY4MjE2MDAsLTEzNzg2Nzc2MDAsLTEzNjUzNzJlMywtMTM0NzIyOGUzLC0xMzMzOTIyNDAwLC0xMzE1MTczNjAwLC0xMzAxODY4ZTMsLTEyODM3MjRlMywtMTI3MDQxODQwMCwtMTI1MjI3NDQwMCwtMTIzODk2ODgwMCwtMTIyMDgyNDgwMCwtMTIwNzUxOTIwMCwtMTE4OTM3NTIwMCwtMTE3NjA2OTYwMCwtMTE1NzMyMDgwMCwtMTE0NDYyZTQsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtOTA1MTE5MjAwLC04OTE4MTM2MDAsLTg4MDIzNmUzLC03Njk0MWU0LC03NjU0MTA0MDAsLTc0NzI2NjQwMCwtNzMzOTYwODAwLC03MTU4MTY4MDAsLTcwMjUxMTIwMCwtNjg0MzY3MjAwLC02NzEwNjE2MDAsLTY1MjkxNzYwMCwtNjM5NjEyZTMsLTYyMDg2MzIwMCwtNjA4MTYyNDAwLC01ODk0MTM2MDAsLTU3NjEwOGUzLC01NTc5NjRlMywtNTQ0NjU4NDAwLC01MjY1MTQ0MDAsLTUxMzIwODgwMCwtNDk1MDY0ODAwLC00ODE3NTkyMDAsLTQ2MzYxNTIwMCwtNDQ3Mjg1NjAwLC00MzE1NjA4MDAsLTQxNTgzNmUzLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEyNjY2OTYwMCwxNTIwNzEyMDAsMTYyMzUyODAwLDE4MzUyMDgwMCwxOTkyNDU2MDAsMjE1NTc1MjAwLDIzMDY5NTIwMCwyNDcwMjQ4MDAsMjYyNzQ5NjAwLDI3ODQ3NDQwMCwyOTQxOTkyMDAsMzA5OTI0ZTMsMzI1NjQ4ODAwLDM0MTM3MzYwMCwzNTcwOTg0MDAsMzcyODIzMjAwLDM4ODU0OGUzLDQwNDg3NzYwMCw0MTk5OTc2MDAsNDM2MzI3MjAwLDQ1MjA1MmUzLDQ2Nzc3NjgwMCw0ODM1MDE2MDAsNDk5MjI2NDAwLDUxNDk1MTIwMCw1MzA2NzZlMyw1NDQ1ODY0MDAsNTYyMTI1NjAwLDU3NjAzNmUzLDU5NDE4ZTQsNjA3NDg1NjAwLDYyNTYyOTYwMCw2Mzg5MzUyMDAsNjU3MDc5MjAwLDY3MDk4OTYwMCw2ODg1Mjg4MDAsNzAyNDM5MjAwLDcxOTk3ODQwMCw3MzM4ODg4MDAsNzUyMDMyODAwLDc2NTMzODQwMCw3ODM0ODI0MDAsNzk2Nzg4ZTMsODE0OTMyZTMsODI4ODQyNDAwLDg0NjM4MTYwMCw4NjAyOTJlMyw4Nzc4MzEyMDAsODkxNzQxNjAwLDkwOTI4MDgwMCw5MjMxOTEyMDAsOTQxMzM1MjAwLDk1NDY0MDgwMCw5NzI3ODQ4MDAsOTg2MDkwNDAwLDEwMDQyMzQ0MDAsMTAxODE0NDgwMCwxMDM1Njg0ZTMsMTA0OTU5NDQwMCwxMDY3MTMzNjAwLDEwODEwNDRlMywxMDk5MTg4ZTMsMTExMjQ5MzYwMCwxMTMwNjM3NjAwLDExNDM5NDMyMDAsMTE2MjA4NzIwMCwxMTczNTc4NDAwLDExOTQxNDE2MDAsMTIwNTAyOGUzLDEyMjU1OTEyMDAsMTIzNjQ3NzYwMCwxMjU3MDQwODAwLDEyNjg1MzJlMywxMjg5MDk1MjAwLDEyOTk5ODE2MDAsMTMyMDU0NDgwMCwxMzMxNDMxMjAwLDEzNTE5OTQ0MDAsMTM2Mjg4MDgwMCwxMzgzNDQ0ZTMsMTM5NDMzMDQwMCwxNDE0ODkzNjAwLDE0MjU3OGU0LDE0NDYzNDMyMDAsMTQ1NzgzNDQwMCwxNDc4Mzk3NjAwLDE0ODkyODRlMywxNTA5ODQ3MjAwLDE1MjA3MzM2MDAsMTU0MTI5NjgwMCwxNTUyMTgzMjAwLDE1NzI3NDY0MDAsMTU4MzYzMjgwMCwxNjA0MTk2ZTMsMTYxNTY4NzIwMCwxNjM2MjUwNDAwLDE2NDcxMzY4MDAsMTY2NzdlNSwxNjc4NTg2NDAwLDE2OTkxNDk2MDAsMTcxMDAzNmUzLDE3MzA1OTkyMDAsMTc0MTQ4NTYwMCwxNzYyMDQ4ODAwLDE3NzI5MzUyMDAsMTc5MzQ5ODQwMCwxODA0OTg5NjAwLDE4MjU1NTI4MDAsMTgzNjQzOTIwMCwxODU3MDAyNDAwLDE4Njc4ODg4MDAsMTg4ODQ1MmUzLDE4OTkzMzg0MDAsMTkxOTkwMTYwMCwxOTMwNzg4ZTNdLApvZmZzZXQ6Wy0xNzc2MiwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlM119LCJBbWVyaWNhL1Bob2VuaXgiOnt0aW1lOlstMjcxNzY3MDQ5OCwtMTYzMzI5ODQwMCwtMTYxNTE1NDQwMCwtMTYwMTg0ODgwMCwtMTU4MzcwNDgwMCwtODgwMjM2ZTMsLTgyMDU0MDc0MCwtODEyNjc4MzQwLC03OTY4NjcxNDAsLTg0NDA1NjAwLC02ODY4MDgwMCwxOTI0OTY2ODAwXSxvZmZzZXQ6Wy0yNjg5OCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwXX0sIkFtZXJpY2EvU2FudGlhZ28iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTE4OTI2Nzg0MDAsLTE2ODg0Mjg4MDAsLTE2MTkyMjI0MDAsLTE1OTM4MjA4MDAsLTEzMzYwMDMyMDAsLTEzMTc2ZTUsLTEzMDQzODA4MDAsLTEyODYwNjRlMywtMTI3Mjg0NDgwMCwtMTI1NDUyOGUzLC0xMjQxMzA4ODAwLC0xMjIyOTkyZTMsLTEyMDk3NzI4MDAsLTExOTEzNjk2MDAsLTExNzgxNTA0MDAsLTg3MDU2NjQwMCwtODY1Mjk2ZTMsLTc0MDUzNDQwMCwtNzM2NjQ2NDAwLC03MTgwNzA0MDAsLTcxMzY2NzYwMCwtMzY2MzM2MDAsLTIzOTMyODAwLC0zMzY5NjAwLDc1MTY4MDAsMjQ0NTEyMDAsMzc3NTY4MDAsNTU5MDA4MDAsNjkyMDY0MDAsODc5NTUyMDAsMTAwNjU2ZTMsMTE4MTk1MjAwLDEzMjEwNTYwMCwxNTA4NTQ0MDAsMTYzNTU1MjAwLDE4MjMwNGUzLDE5NTYwOTYwMCwyMTM3NTM2MDAsMjI3MDU5MjAwLDI0NTIwMzIwMCwyNTg1MDg4MDAsMjc3MjU3NjAwLDI4OTk1ODQwMCwzMDg3MDcyMDAsMzIxNDA4ZTMsMzQwMTU2ODAwLDM1MzQ2MjQwMCwzNzE2MDY0MDAsMzg0OTEyZTMsNDAzMDU2ZTMsNDE2MzYxNjAwLDQzNDUwNTYwMCw0NDc4MTEyMDAsNDY2NTZlNCw0NzkyNjA4MDAsNDk4MDA5NjAwLDUxMDcxMDQwMCw1Mjk0NTkyMDAsNTQ1MTg0ZTMsNTYwOTA4ODAwLDU3NDIxNDQwMCw1OTIzNTg0MDAsNjA1NjY0ZTMsNjI0NDEyODAwLDYzNzExMzYwMCw2NTM0NDMyMDAsNjY4NTYzMjAwLDY4NzMxMmUzLDcwMDYxNzYwMCw3MTg3NjE2MDAsNzMyMDY3MjAwLDc1MDIxMTIwMCw3NjM1MTY4MDAsNzgxNjYwODAwLDc5NDk2NjQwMCw4MTM3MTUyMDAsODI2NDE2ZTMsODQ1MTY0ODAwLDg1OTY4ZTQsODc2NjE0NDAwLDg4OTkyZTQsOTA2ODU0NDAwLDkyMzE4NGUzLDkzOTUxMzYwMCw5NTI4MTkyMDAsOTcxNTY4ZTMsOTg0MjY4ODAwLDEwMDMwMTc2MDAsMTAxNTcxODQwMCwxMDM0NDY3MjAwLDEwNDcxNjhlMywxMDY1OTE2ODAwLDEwNzkyMjI0MDAsMTA5NzM2NjQwMCwxMTEwNjcyZTMsMTEyODgxNmUzLDExNDIxMjE2MDAsMTE2MDg3MDQwMCwxMTczNTcxMjAwLDExOTIzMmU0LDEyMDY4MzUyMDAsMTIyMzc2OTYwMCwxMjM3MDc1MjAwLDEyNTUyMTkyMDAsMTI3MDMzOTIwMCwxMjg2NjY4ODAwLDEzMDQ4MTI4MDAsMTMxMzg4NDgwMCwxMzM1NjU3NjAwLDEzNDY1NDRlMywxMzY3MTA3MjAwLDEzNzg1OTg0MDAsMTM5ODU1NjgwMCwxNDEwMDQ4ZTMsMTQ2MzI3MDQwMCwxNDcxMTMyODAwLDE0OTQ3MmU0LDE1MDI1ODI0MDAsMTUyNjE2OTYwMCwxNTM0MDMyZTMsMTU1NDU5NTIwMCwxNTY3OTAwODAwLDE1ODYwNDQ4MDAsMTU5OTM1MDQwMCwxNjE3NDk0NDAwLDE2MzA4ZTUsMTY0ODk0NGUzLDE2NjI4NTQ0MDAsMTY4MDM5MzYwMCwxNjkzNjk5MjAwLDE3MTI0NDhlMywxNzI1NzUzNjAwLDE3NDM4OTc2MDAsMTc1NzIwMzIwMCwxNzc1MzQ3MjAwLDE3ODg2NTI4MDAsMTgwNjc5NjgwMCwxODIwMTAyNDAwLDE4MzgyNDY0MDAsMTg1MTU1MmUzLDE4NzAzMDA4MDAsMTg4MzAwMTYwMCwxOTAxNzUwNDAwLDE5MTUwNTZlMywxOTMzMmU1XSxvZmZzZXQ6Wy0xNjk2NSwtMTY5NjUsLTE4ZTMsLTE2OTY1LC0xNDQwMCwtMTY5NjUsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwLC0xNDQwMCwtMTA4MDAsLTE0NDAwLC0xMDgwMCwtMTQ0MDAsLTEwODAwXX0sIkFtZXJpY2EvU2FvX1BhdWxvIjp7CnRpbWU6Wy0xNzY3MjI1NjAwLC0xMjA2OTY4NDAwLC0xMTkxMzY5NjAwLC0xMTc1Mzg1NjAwLC0xMTU5ODMzNjAwLC02MzM4MzA0MDAsLTYyMjA3NjQwMCwtNjAyMjk0NDAwLC01OTE4NGU0LC01NzA3NTg0MDAsLTU2MDIxNzYwMCwtNTM5MTM2ZTMsLTUzMTM2ZTQsLTE5NTQzNjgwMCwtMTg0MjA0ODAwLC0xNTUxNzQ0MDAsLTE1MDA3NjgwMCwtMTI4OTA4ODAwLC0xMjExMzI4MDAsLTk5OTY0ODAwLC04OTU5NjgwMCwtNjg0Mjg4MDAsLTU3OTc0NDAwLDQ5OTczNzYwMCw1MTEyMjg4MDAsNTMwNTgyNDAwLDU0MDI1OTIwMCw1NjIxMTg0MDAsNTcxMTkwNDAwLDU5Mjk2MzIwMCw2MDIwMzUyMDAsNjI0NDEyODAwLDYzNDY5NDQwMCw2NTY0NjcyMDAsNjY2NzQ4ODAwLDY4NzkxNjgwMCw2OTc1OTM2MDAsNzE5OTcxMjAwLDcyODQzODQwMCw3NTA4MTZlMyw3NjE3MDI0MDAsNzgyMjY1NjAwLDc5MzE1MmUzLDgxMzcxNTIwMCw4MjM5OTY4MDAsODQ0NTZlNCw4NTYwNTEyMDAsODc2MDk2ZTMsODg4NzEwNDAwLDkwODA2NGUzLDkxOTU1NTIwMCw5Mzg5MDg4MDAsOTUxNjA5NjAwLDk3MDk2MzIwMCw5ODI0NTQ0MDAsMTAwMzAxNzYwMCwxMDEzOTA0ZTMsMTAzNjI4MTYwMCwxMDQ1MzUzNjAwLDEwNjY1MjE2MDAsMTA3NjgwMzIwMCwxMDk5MzUzNjAwLDExMDg4NTc2MDAsMTEyOTQyMDgwMCwxMTQwMzA3MjAwLDExNjI2ODQ4MDAsMTE3MjM2MTYwMCwxMTkyMzJlNCwxMjAzMjA2NDAwLDEyMjQzNzQ0MDAsMTIzNDY1NmUzLDEyNTU4MjRlMywxMjY2NzEwNDAwLDEyODcyNzM2MDAsMTI5ODE2ZTQsMTMxODcyMzIwMCwxMzMwMjE0NDAwLDEzNTA3Nzc2MDAsMTM2MTA1OTIwMCwxMzgyMjI3MjAwLDEzOTI1MDg4MDAsMTQxMzY3NjgwMCwxNDI0NTYzMjAwLDE0NDUxMjY0MDAsMTQ1NjAxMjgwMCwxNDc2NTc2ZTMsMTQ4NzQ2MjQwMCwxNTA4MDI1NjAwLDE1MTg5MTJlMywxNTQxMjg5NjAwLDE1NTAzNjE2MDAsMTkyNDk4MTIwMF0sb2Zmc2V0OlstMTExODgsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwLC03MjAwLC0xMDgwMCwtNzIwMCwtMTA4MDAsLTcyMDAsLTEwODAwXX0sIkFtZXJpY2EvVG9yb250byI6ewp0aW1lOlstMjM2Njc1NTIwMCwtMTYzMjA4ODgwMCwtMTYxNTE1NDQwMCwtMTYwMTc3MTQwMCwtMTU4MzcxMmUzLC0xNTY3Mzc1MjAwLC0xNTU0NjgxNjAwLC0xNTM0NzE2ZTMsLTE1MjQwODg4MDAsLTE1MDMyNjY0MDAsLTE0OTIzOGU0LC0xNDcxODE2ODAwLC0xNDYwOTMwNDAwLC0xNDQwOTcyZTMsLTE0Mjg4NzZlMywtMTQwOTUyMjQwMCwtMTM5NzQyNjQwMCwtMTM3ODA3MjgwMCwtMTM2NTk3NjgwMCwtMTM0NjYyMzIwMCwtMTMzMzkyMjQwMCwtMTMxNTE3MzYwMCwtMTMwMTg2OGUzLC0xMjgzNzI0ZTMsLTEyNzA0MTg0MDAsLTEyNTIyNzQ0MDAsLTEyMzg5Njg4MDAsLTEyMjA4MjQ4MDAsLTEyMDc1MTkyMDAsLTExODg3NzA0MDAsLTExNzYwNjk2MDAsLTExNTczMjA4MDAsLTExNDQwMTUyMDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTg4MDIzMjQwMCwtNzY5NDFlNCwtNzY1NDEwNDAwLC03NDcyNjY0MDAsLTczMzk2MDgwMCwtNzE1ODE2ODAwLC03MDI1MTEyMDAsLTY4NDM2NzIwMCwtNjcxMDYxNjAwLC02NTI5MTc2MDAsLTYzNDE2ODgwMCwtNjIwODYzMjAwLC02MDI3MTkyMDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NDM4NjQwMCwtMzY4NjYxNjAwLC0zNTI5MzY4MDAsLTMzNzIxMmUzLC0zMjE0ODcyMDAsLTMwNTc2MjQwMCwtMjg5NDMyODAwLC0yNzM3MDhlMywtMjU3OTgzMjAwLC0yNDIyNTg0MDAsLTIyNjUzMzYwMCwtMjEwODA4ODAwLC0xOTUwODRlMywtMTc5MzU5MjAwLC0xNjM2MzQ0MDAsLTE0NzkwOTYwMCwtMTMxNThlNCwtMTE2NDZlNCwtMTAwMTMwNDAwLC04NDQwNTYwMCwtNjg2ODA4MDAsLTUyOTU2ZTMsLTM3MjMxMjAwLC0yMTUwNjQwMCwtNTc4MTYwMCw5OTQzMjAwLDI1NjY4ZTMsNDEzOTI4MDAsNTc3MjI0MDAsNzM0NDcyMDAsODkxNzJlMywxMDQ4OTY4MDAsMTIwNjIxNjAwLDEzNjM0NjQwMCwxNTIwNzEyMDAsMTY3Nzk2ZTMsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sCm9mZnNldDpbLTE5MDUyLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE0NDAwLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTMsLTE0NDAwLC0xOGUzLC0xNDQwMCwtMThlMywtMTQ0MDAsLTE4ZTNdfSwiQW1lcmljYS9WYW5jb3V2ZXIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTE2MzIwODg4MDAsLTE2MTUxNTQ0MDAsLTg4MDIzNmUzLC03Njk0MjA4MDAsLTc2NTQxMDQwMCwtNzQ3MjY2NDAwLC03MzM5NjA4MDAsLTcxNTgxNjgwMCwtNzAyNTExMjAwLC02ODQzNjcyMDAsLTY3MTA2MTYwMCwtNjUyOTE3NjAwLC02Mzk2MTJlMywtNjIwODYzMjAwLC02MDgxNjI0MDAsLTU4OTQxMzYwMCwtNTc2MTA4ZTMsLTU1Nzk2NGUzLC01NDQ2NTg0MDAsLTUyNjUxNDQwMCwtNTEzMjA4ODAwLC00OTUwNjQ4MDAsLTQ4MTc1OTIwMCwtNDYzNjE1MjAwLC00NTAzMDk2MDAsLTQzMTU2MDgwMCwtNDE4MjU1MjAwLC00MDAxMTEyMDAsLTM4NjgwNTYwMCwtMzY4NjYxNjAwLC0zNTUzNTZlMywtMzM3MjEyZTMsLTMyMzkwNjQwMCwtMzA1NzYyNDAwLC0yOTI0NTY4MDAsLTI3MzcwOGUzLC0yNjEwMDcyMDAsLTI0MjI1ODQwMCwtMjI2NTMzNjAwLC0yMTA4MDg4MDAsLTE5NTA4NGUzLC0xNzkzNTkyMDAsLTE2MzYzNDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTM2MzQ2NDAwLDE1MjA3MTIwMCwxNjc3OTZlMywxODM1MjA4MDAsMTk5MjQ1NjAwLDIxNTU3NTIwMCwyMzA2OTUyMDAsMjQ3MDI0ODAwLDI2Mjc0OTYwMCwyNzg0NzQ0MDAsMjk0MTk5MjAwLDMwOTkyNGUzLDMyNTY0ODgwMCwzNDEzNzM2MDAsMzU3MDk4NDAwLDM3MjgyMzIwMCwzODg1NDhlMyw0MDQ4Nzc2MDAsNDE5OTk3NjAwLDQzNjMyNzIwMCw0NTIwNTJlMyw0Njc3NzY4MDAsNDgzNTAxNjAwLDQ5OTIyNjQwMCw1MTQ5NTEyMDAsNTMwNjc2ZTMsNTQ0NTg2NDAwLDU2MjEyNTYwMCw1NzYwMzZlMyw1OTQxOGU0LDYwNzQ4NTYwMCw2MjU2Mjk2MDAsNjM4OTM1MjAwLDY1NzA3OTIwMCw2NzA5ODk2MDAsNjg4NTI4ODAwLDcwMjQzOTIwMCw3MTk5Nzg0MDAsNzMzODg4ODAwLDc1MjAzMjgwMCw3NjUzMzg0MDAsNzgzNDgyNDAwLDc5Njc4OGUzLDgxNDkzMmUzLDgyODg0MjQwMCw4NDYzODE2MDAsODYwMjkyZTMsODc3ODMxMjAwLDg5MTc0MTYwMCw5MDkyODA4MDAsOTIzMTkxMjAwLDk0MTMzNTIwMCw5NTQ2NDA4MDAsOTcyNzg0ODAwLDk4NjA5MDQwMCwxMDA0MjM0NDAwLDEwMTgxNDQ4MDAsMTAzNTY4NGUzLDEwNDk1OTQ0MDAsMTA2NzEzMzYwMCwxMDgxMDQ0ZTMsMTA5OTE4OGUzLDExMTI0OTM2MDAsMTEzMDYzNzYwMCwxMTQzOTQzMjAwLDExNjIwODcyMDAsMTE3MzU3ODQwMCwxMTk0MTQxNjAwLDEyMDUwMjhlMywxMjI1NTkxMjAwLDEyMzY0Nzc2MDAsMTI1NzA0MDgwMCwxMjY4NTMyZTMsMTI4OTA5NTIwMCwxMjk5OTgxNjAwLDEzMjA1NDQ4MDAsMTMzMTQzMTIwMCwxMzUxOTk0NDAwLDEzNjI4ODA4MDAsMTM4MzQ0NGUzLDEzOTQzMzA0MDAsMTQxNDg5MzYwMCwxNDI1NzhlNCwxNDQ2MzQzMjAwLDE0NTc4MzQ0MDAsMTQ3ODM5NzYwMCwxNDg5Mjg0ZTMsMTUwOTg0NzIwMCwxNTIwNzMzNjAwLDE1NDEyOTY4MDAsMTU1MjE4MzIwMCwxNTcyNzQ2NDAwLDE1ODM2MzI4MDAsMTYwNDE5NmUzLDE2MTU2ODcyMDAsMTYzNjI1MDQwMCwxNjQ3MTM2ODAwLDE2Njc3ZTUsMTY3ODU4NjQwMCwxNjk5MTQ5NjAwLDE3MTAwMzZlMywxNzMwNTk5MjAwLDE3NDE0ODU2MDAsMTc2MjA0ODgwMCwxNzcyOTM1MjAwLDE3OTM0OTg0MDAsMTgwNDk4OTYwMCwxODI1NTUyODAwLDE4MzY0MzkyMDAsMTg1NzAwMjQwMCwxODY3ODg4ODAwLDE4ODg0NTJlMywxODk5MzM4NDAwLDE5MTk5MDE2MDAsMTkzMDc4OGUzXSwKb2Zmc2V0OlstMjk1NDgsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMCwtMjUyMDAsLTI4ODAwLC0yNTIwMCwtMjg4MDAsLTI1MjAwLC0yODgwMF19LCJBc2lhL0FsbWF0eSI6e3RpbWU6Wy0xNDQxMTUyZTMsLTEyNDc1Mjk2MDAsMzU0OTMxMjAwLDM3MDc0MjQwMCwzODY0NjcyMDAsNDAyMjc4NDAwLDQxODAwMzIwMCw0MzM4MTQ0MDAsNDQ5NjI1NjAwLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDY5NTc4NjQwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxNzA5MjUxMjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE4NDY4LDE4ZTMsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjUyMDAsMjE2MDAsMjE2MDAsMThlMywyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwyNTIwMCwyMTYwMCwxOGUzXX0sIkFzaWEvQXNoa2hhYmFkIjp7dGltZTpbLTE0NDExNTJlMywtMTI0NzUyOTYwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNjk1Nzg2NDAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE0MDEyLDE0NDAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlMywxOGUzLDE0NDAwLDE4ZTNdfSwiQXNpYS9CYWhyYWluIjp7dGltZTpbLTg5Nzg2ODgwMCwtODIwNTQwODAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIxNDAsMTI2MDAsMTQ0MDAsMTA4MDBdfSwiQXNpYS9CYW5na29rIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE1NzAwNjA4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNDEyNCwyNDEyNCwyNTIwMF19LCJBc2lhL0Nob25ncWluZyI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9Db2xvbWJvIjp7dGltZTpbLTI4NDAxNDA4MDAsLTIwMTk2ODY0MDAsLTg4MzI2NzIwMCwtODYyNjE3NjAwLC03NjQwMjhlMyw4MzI5ODI0MDAsODQ2Mjg5ODAwLDExNDUwNjFlMywxOTI1MDExODAwXSxvZmZzZXQ6WzE5MTY0LDE5MTcyLDE5ODAwLDIxNjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDE5ODAwXX0sIkFzaWEvRGhha2EiOnt0aW1lOlstMjUyNDUyMTYwMCwtODkxNTYxNjAwLC04NzIwMzUyMDAsLTg2MjYxNzYwMCwtNTc2MTE1MjAwLDEyNDU0NTI0MDAsMTI2MjMwMzk5OSwxOTI1MDEzNjAwXSxvZmZzZXQ6WzIxNzAwLDIxMjAwLDIzNDAwLDE5ODAwLDIzNDAwLDIxNjAwLDI1MjAwLDIxNjAwXX0sIkFzaWEvRHViYWkiOnt0aW1lOlstMTU3NzkyMzIwMCwxOTI1MDA2NDAwXSxvZmZzZXQ6WzEzMjcyLDE0NDAwXX0sIkFzaWEvSG9fQ2hpX01pbmgiOnt0aW1lOlstMjAwNDA0OGUzLC0xODUxNTUyZTMsLTg1MjA4MDQwMCwtNzgyNjE0ODAwLC03Njc4MzY4MDAsLTcxODA3MDQwMCwtNDU3NzQzNjAwLC0zMTU2MjI4MDAsMTcxODQ5NjAwLDE5MjUwMTcyMDBdLG9mZnNldDpbMjU1OTAsMjU1OTAsMjUyMDAsMjg4MDAsMzI0MDAsMjUyMDAsMjg4MDAsMjUyMDAsMjg4MDAsMjUyMDBdfSwiQXNpYS9Ib25nX0tvbmciOnt0aW1lOlstMjA1NjY2MzM5OCwtOTAwODgyZTMsLTg5MTU0NzIwMCwtODg0MjE3NjAwLC03NjExNzY4MDAsLTc0Nzg3ODQwMCwtNzI4NTA4NjAwLC03MTcwMjFlMywtNjk3MDU5ZTMsLTY4Mzc1N2UzLC02NjgwMjg2MDAsLTY1NDcyNjYwMCwtNjM2NTc5ZTMsLTYyMzI3N2UzLC02MDUxMjk0MDAsLTU5MTgyNzQwMCwtNTczNjc5ODAwLC01NTk3NzNlMywtNTQxNjI1NDAwLC01MjgzMjM0MDAsLTUxMDE3OTQwMCwtNDk4MDgzNDAwLC00Nzg3Mjk4MDAsLTQ2NjYzMzgwMCwtNDQ2Njc1NDAwLC00MzUxODQyMDAsLTQxNTIyNTgwMCwtNDAzMTI5ODAwLC0zODM3NzYyMDAsLTM3MTY4MDIwMCwtMzUyMzI2NjAwLC0zNDAyMzA2MDAsLTMyMDg3N2UzLC0zMDg3ODFlMywtMjg4ODIyNjAwLC0yNzczMzE0MDAsLTI1NzM3M2UzLC0yNDU4ODE4MDAsLTIyNTkyMzQwMCwtMjEzODI3NDAwLC0xOTQ0NzM4MDAsLTE4MjM3NzgwMCwtMTYzMDI0MjAwLC0xNDg1MDllMywtMTMyNzg0MjAwLC0xMTcwNTk0MDAsLTEwMTMzNDYwMCwtODU2MDk4MDAsLTY5MjgwMjAwLC01MzU1NTQwMCwtMzc4MzA2MDAsLTIyMTA1ODAwLC02MzgxZTMsOTM0MzgwMCwyNTA2ODYwMCw0MDc5MzQwMCw1NjUxODIwMCw3MjI0M2UzLDg4NTcyNjAwLDEwNDI5NzQwMCwxMjAwMjIyMDAsMTI2MDcwMjAwLDE1MTQ3MTgwMCwxNjcxOTY2MDAsMTgyOTIxNDAwLDE5ODY0NjIwMCwyMTQzNzFlMywyOTU0MTQyMDAsMzA5MzI0NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc0MDIsMjg4MDAsMzI0MDAsMzA2MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9KYWthcnRhIjp7dGltZTpbLTMyMzEyNzM2MDAsLTE0NTE2OTM1NjgsLTExNzI4OGU0LC04NzY2MTQ0MDAsLTc2NjAyMjQwMCwtNjgzODU2ZTMsLTYyMDc4NGUzLC0xODkzODg4MDAsMTkyNTAxNzIwMF0sb2Zmc2V0OlsyNTYzMiwyNTYzMiwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDAsMjdlMywyNTIwMF19LCJBc2lhL0plcnVzYWxlbSI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY0MDk5NTIwMCwtOTMzNjMxMjAwLC05MjMwODY4MDAsLTkxOTAyOTYwMCwtODU3MzM2NDAwLC04NDQyOTM2MDAsLTgyNTgwMDQwMCwtODEyNjcxMjAwLC03OTQxNzhlMywtNzc5ODM5MjAwLC03NjI2NDJlMywtNzQ4MzAzMjAwLC03MzExMDZlMywtNjgxOTQ4ZTMsLTY3MzIxNDQwMCwtNjY3OTQ3NjAwLC02NTIzMTI4MDAsLTYzNjQxMTYwMCwtNjIyMDcyODAwLC02MDg5MzY0MDAsLTU5MTgzMjgwMCwtNTcyNDc1NjAwLC01NTg1Njg4MDAsLTU0Mjg0MDQwMCwtNTI3NzI0ZTMsLTUxNDQxNDgwMCwtNDkwODMxMjAwLC00ODI5NjUyMDAsLTQ1OTM4MTYwMCwtNDUxNTE1NjAwLC00Mjg1MzY4MDAsLTQxODI1MTYwMCwtNDAwMTExMjAwLC0zODc0MDY4MDAsMTQyMzg3MjAwLDE1MDg1NDQwMCwxNjcxODRlMywxNzg2NzUyMDAsMzM0MTA4ODAwLDMzNzc0MTIwMCw0NTI2NDk2MDAsNDYyMzNlNCw0ODIyODQ4MDAsNDk0MzgwODAwLDUxNjc1ODQwMCw1MjY0MzUyMDAsNTQ1NDQzMjAwLDU1ODQ4OTYwMCw1NzY2MzM2MDAsNTg5MzM0NDAwLDYwOTg5NzYwMCw2MjA3ODRlMyw2MzgzMjMyMDAsNjUxNjI4ODAwLDY2OTc3MjgwMCw2ODM2ODMyMDAsNzAxODI3MjAwLDcxNTczNzYwMCw3MzM3MDg4MDAsNzQ3MTg3MjAwLDc2NTE1ODQwMCw3NzgwMzJlMyw3OTY2MDhlMyw4MTAwODY0MDAsODI2ODQ4ZTMsODQyODMyZTMsODU4OTAyNDAwLDg3NDE5NTIwMCw4OTAzNTJlMyw5MDUwNGU0LDkyMzAxODQwMCw5MzYzMjRlMyw5NTU2Nzc2MDAsOTcwNzk0ZTMsOTg2Nzc4ZTMsMTAwMTI5MzIwMCwxMDE3MzYzNjAwLDEwMzM5NTI0MDAsMTA0ODgxMzIwMCwxMDY1MTQyODAwLDEwODEyOTk2MDAsMTA5NTgxNDgwMCwxMTEyMzIwODAwLDExMjg4MjMyMDAsMTE0Mzc3MDQwMCwxMTU5NjY4ZTMsMTE3NTIyZTQsMTE4OTkwOGUzLDEyMDY2Njk2MDAsMTIyMzE3MmUzLDEyMzgxMTkyMDAsMTI1NDAxNjgwMCwxMjY5NTY4ODAwLDEyODQyNTY4MDAsMTMwMTYyMzIwMCwxMzE3NTIwODAwLDEzMzMwNzI4MDAsMTM0ODM2NTYwMCwxMzY0NTIyNDAwLDEzODI4MzkyMDAsMTM5NTk3MmUzLDE0MTQyODg4MDAsMTQyNzQyMTYwMCwxNDQ1NzM4NDAwLDE0NTg4NzEyMDAsMTQ3Nzc5MjgwMCwxNDkwMzIwODAwLDE1MDkyNDI0MDAsMTUyMTc3MDQwMCwxNTQwNjkyZTMsMTU1MzgyNDgwMCwxNTcyMTQxNjAwLDE1ODUyNzQ0MDAsMTYwMzU5MTIwMCwxNjE2NzI0ZTMsMTYzNTY0NTYwMCwxNjQ4MTczNjAwLDE2NjcwOTUyMDAsMTY3OTYyMzIwMCwxNjk4NTQ0ODAwLDE3MTE2Nzc2MDAsMTcyOTk5NDQwMCwxNzQzMTI3MjAwLDE3NjE0NDRlMywxNzc0NTc2ODAwLDE3OTI4OTM2MDAsMTgwNjAyNjQwMCwxODI0OTQ4ZTMsMTgzNzQ3NmUzLDE4NTYzOTc2MDAsMTg2ODkyNTYwMCwxODg3ODQ3MjAwLDE5MDA5OGU0LDE5MTkyOTY4MDAsMTkzMjQyOTYwMF0sb2Zmc2V0Ols4NDU0LDg0NDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJBc2lhL0thYnVsIjp7dGltZTpbLTI1MjQ1MjE2MDAsLTc4ODkxODQwMCwxOTI1MDA4MjAwXSxvZmZzZXQ6WzE2NjA4LDE0NDAwLDE2MjAwXX0sIkFzaWEvS2FyYWNoaSI6e3RpbWU6Wy0xOTg4MTUwNDAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwtNTc2MTE1MjAwLDM4NzkzNjAwLDEwMTgxMzc2MDAsMTAzMzg2MjQwMCwxMjEyMjc4NDAwLDEyMjU0OTc2MDAsMTIzOTc1MzYwMCwxMjU3MDMzNjAwLDE5MjUwMWU0XSxvZmZzZXQ6WzE2MDkyLDE5ODAwLDIzNDAwLDE5ODAwLDE4ZTMsMThlMywyMTYwMCwxOGUzLDIxNjAwLDE4ZTMsMjE2MDAsMThlM119LCJBc2lhL0thdGhtYW5kdSI6e3RpbWU6Wy0xNTc3OTIzMjAwLDUwNDkyMTYwMCwxOTI1MDEyNzAwXSxvZmZzZXQ6WzIwNDc2LDE5ODAwLDIwNzAwXX0sIkFzaWEvS29sa2F0YSI6e3RpbWU6Wy0zNjQ1MjE2ZTMsLTMxNTU2NzM2MDAsLTIwMTk2ODY0MDAsLTg5MTU2MTYwMCwtODcyMDM1MjAwLC04NjI2MTc2MDAsLTc2NDEyMTYwMCwxOTI1MDExODAwXSxvZmZzZXQ6WzIxMjA4LDIxMjAwLDE5MjcwLDE5ODAwLDIzNDAwLDE5ODAwLDIzNDAwLDE5ODAwXX0sIkFzaWEvS3VhbGFfTHVtcHVyIjp7dGltZTpbLTIxNzc0NTI4MDAsLTIwMzgxNzZlMywtMTE2NzYwOTYwMCwtMTA3MzAwMTYwMCwtODk0MTUzNjAwLC04Nzk2Mzg0MDAsLTc2Njk3MjgwMCwzNzg2ODk0MDAsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyNDQwNiwyNDkyNSwyNTIwMCwyNjQwMCwyNjQwMCwyN2UzLDMyNDAwLDI3ZTMsMjg4MDBdfSwiQXNpYS9LdXdhaXQiOnt0aW1lOlstNjMxMTUyZTMsMTkyNTAwMjgwMF0sb2Zmc2V0OlsxMTUxNiwxMDgwMF19LCJBc2lhL01hbmlsYSI6ewp0aW1lOlstMzk0NDY3ODQwMCwtMjIxOTA1NDE2OCwtMTA0NjY0OTYwMCwtMTA0MDA4MzIwMCwtODg0OTk1MjAwLC04Nzk5ODRlMywtNzgzNTYxNjAwLC03NjAwNjA4MDAsLTQ5NjE5NTIwMCwtNDkxNTI5NjAwLDIyODM1NTIwMCwyNDM3MzQ0MDAsNjQzMjQ4ZTMsNjQ5MjA5NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbLTU3MzY4LDI5MDMyLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDMyNDAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwLDMyNDAwLDI4ODAwXX0sIkFzaWEvTXVzY2F0Ijp7dGltZTpbLTE1Nzc5MjMyMDAsMTkyNTAwNjQwMF0sb2Zmc2V0OlsxNDA2NCwxNDQwMF19LCJBc2lhL05pY29zaWEiOnt0aW1lOlstMTUxODkxMmUzLDE2NjU3OTIwMCwxODIzMDRlMywyMDA5NjY0MDAsMjEzODRlNCwyMjg4NzM2MDAsMjQzOTkzNjAwLDI2MDMyMzIwMCwyNzYxMzQ0MDAsMjkxNzcyODAwLDMwNzQ5NzYwMCwzMjM4MjcyMDAsMzM4OTQ3MjAwLDM1NDY3MmUzLDM3MDM5NjgwMCwzODYxMjE2MDAsNDAxODQ2NDAwLDQxNzU3MTIwMCw0MzMyOTZlMyw0NDkwMjA4MDAsNDY1MzUwNDAwLDQ4MTA3NTIwMCw0OTY4ZTUsNTEyNTI0ODAwLDUyODI0OTYwMCw1NDM5NzQ0MDAsNTU5Njk5MjAwLDU3NTQyNGUzLDU5MTE0ODgwMCw2MDY4NzM2MDAsNjIyNTk4NDAwLDYzODMyMzIwMCw2NTQ2NTI4MDAsNjcwMzc3NjAwLDY4NjEwMjQwMCw3MDE4MjcyMDAsNzE3NTUyZTMsNzMzMjc2ODAwLDc0OTAwMTYwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQzOTU1MjAwLDg1OTY4ZTQsODc1NDA0ODAwLDg5MTEyOTYwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzgwMDgsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiQXNpYS9RYXRhciI6e3RpbWU6Wy0xNTc3OTIzMjAwLDc2MjA0ODAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTIzNjgsMTQ0MDAsMTA4MDBdfSwiQXNpYS9SaXlhZGgiOnt0aW1lOlstNzE5NjI1NjAwLDE5MjUwMDI4MDBdLG9mZnNldDpbMTEyMTIsMTA4MDBdfSwiQXNpYS9TZW91bCI6e3RpbWU6Wy0xOTQ4NzUyZTMsLTE4MzAzODRlMywtNzY3MzE4NDAwLC02ODExNzc2MDAsLTY3MjE5MmUzLC02NTQ3MzkyMDAsLTY0MDgyODgwMCwtNjIzMzc2ZTMsLTYwOTM3OTIwMCwtNTg4ODE2ZTMsLTU3NzkyOTYwMCwtNDk4MDk2ZTMsLTQ2MjY3MmUzLC00NTE2OTkyMDAsLTQyOTc1MzYwMCwtNDE4MjYyNDAwLC0zOTk1MTM2MDAsLTM4NzQxNzYwMCwtMzY4MDY0ZTMsLTM1NTk2OGUzLC0zMzY2MTQ0MDAsLTMyNDUxODQwMCwtMzA1MTY0ODAwLC0yOTMwNjg4MDAsLTI2NDkwMjQwMCw1NDc2MTA0MDAsNTYwOTE5NjAwLDU3OTA2ZTQsNTkyMzY5MjAwLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzA0NzIsMzA2MDAsMzI0MDAsMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzNDIwMCwzMDYwMCwzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDBdfSwiQXNpYS9TaGFuZ2hhaSI6ewp0aW1lOlstMjE3NzQ1MjgwMCwtMTYwMDY0NjQwMCwtMTU4NTg3MmUzLC05MzM2Mzg0MDAsLTkyMjA2MDgwMCwtOTA4ODQxNjAwLC04ODg3OTY4MDAsLTg4MTAyMDgwMCwtNzY3ODM2ODAwLC03NDU4MDQ4MDAsLTczMzc5NTIwMCwtNzE2ODYwODAwLC02OTk1ODA4MDAsLTY4Mzg1NmUzLC02NzA2MzY4MDAsLTY1MjMyZTQsLTY0OTk4NzIwMCw1MTU1NTZlMyw1MjcwNDcyMDAsNTQ1MTkxMjAwLDU1ODQ5NjgwMCw1NzcyNDU2MDAsNTg5OTQ2NDAwLDYwODY5NTIwMCw2MjIwMDA4MDAsNjQwMTQ0ODAwLDY1MzQ1MDQwMCw2NzE1OTQ0MDAsNjg0OWU1LDE5MjUwMjA4MDBdLG9mZnNldDpbMjkxNDMsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXNpYS9TaW5nYXBvcmUiOnt0aW1lOlstMjE3NzQ1MjgwMCwtMjAzODE3NmUzLC0xMTY3NjA5NjAwLC0xMDczMDAxNjAwLC04OTQxNTM2MDAsLTg3OTYzODQwMCwtNzY2OTcyODAwLDM3ODY4OTQwMCwxOTI1MDIwODAwXSxvZmZzZXQ6WzI0OTI1LDI0OTI1LDI1MjAwLDI2NDAwLDI2NDAwLDI3ZTMsMzI0MDAsMjdlMywyODgwMF19LCJBc2lhL1RhaXBlaSI6e3RpbWU6Wy0yMzM1MjE5MjAwLC0xMDE3NzkyZTMsLTc2NjE5MTYwMCwtNzQ1ODA0ODAwLC03MzM3OTUyMDAsLTcxNjg2MDgwMCwtNjk5NTgwODAwLC02ODM4NTZlMywtNjcwNjM2ODAwLC02NTIzMmU0LC02MzkxMDA4MDAsLTYyMDc4NGUzLC02MDc1NjQ4MDAsLTU4OTI0OGUzLC01NzYwMjg4MDAsLTU2Mjg5NmUzLC01NDE3MjhlMywtNTI4NjgxNjAwLC01MTAxOTJlMywtNDk3MTQ1NjAwLC00Nzg2NTZlMywtNDY1NjA5NjAwLC00NDk3OTg0MDAsLTQzMzk4NzIwMCwtNDE4MTc2ZTMsLTQwMjQ1MTIwMCwtMzg2NjRlNCwtMzcwOTE1MjAwLC0zNTUxMDRlMywtMzM5Mzc5MjAwLC0zMjM1NjhlMywtMzAyNDg2NDAwLC0yOTE5NDU2MDAsLTI3MDk1MDQwMCwtMjYwNDA5NjAwLDEzNDAwNjQwMCwxNDk4MTc2MDAsMTY1NTQyNDAwLDE4MTM1MzYwMCwyOTk2MzUyMDAsMzA3NTg0ZTMsMTkyNTAyMDgwMF0sb2Zmc2V0OlsyOTE2MCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMCwzMjQwMCwyODgwMF19LCJBc2lhL1RlaHJhbiI6e3RpbWU6Wy0xNzA0MTUzNjAwLC0xMDkwNDU0NDAwLDIyNzgzMzIwMCwyNDYyNGU0LDI1OTYzMmUzLDI3MTEyNjgwMCwyNzk1OTA0MDAsMjk2NjExMjAwLDMwNjU0NzIwMCwzMjI0NDQ4MDAsMzM4NTE1MjAwLDY3MzIyODgwMCw2ODU0OTc2MDAsNzAxMjIyNDAwLDcxNzEyZTQsNzMyNzU4NDAwLDc0ODY1NmUzLDc2NDI5NDQwMCw3ODAxOTJlMyw3OTU4MzA0MDAsODExNzI4ZTMsODI3MzY2NDAwLDg0MzI2NGUzLDg1ODk4ODgwMCw4NzQ4ODY0MDAsODkwNTI0ODAwLDkwNjQyMjQwMCw5MjIwNjA4MDAsOTM3OTU4NDAwLDk1MzU5NjgwMCw5Njk0OTQ0MDAsOTg1MjE5MjAwLDEwMDExMTY4MDAsMTAxNjc1NTIwMCwxMDMyNjUyODAwLDEwNDgyOTEyMDAsMTA2NDE4ODgwMCwxMDc5ODI3MjAwLDEwOTU3MjQ4MDAsMTExMTQ0OTYwMCwxMTI3MzQ3MjAwLDEyMDYwNTc2MDAsMTIyMTk1NTIwMCwxMjM3NjhlNCwxMjUzNTc3NjAwLDEyNjkyMTZlMywxMjg1MTEzNjAwLDEzMDA3NTJlMywxMzE2NjQ5NjAwLDEzMzIyODhlMywxMzQ4MTg1NjAwLDEzNjM5MTA0MDAsMTM3OTgwOGUzLDEzOTU0NDY0MDAsMTQxMTM0NGUzLDE0MjY5ODI0MDAsMTQ0Mjg4ZTQsMTQ1ODUxODQwMCwxNDc0NDE2ZTMsMTQ5MDE0MDgwMCwxNTA2MDM4NDAwLDE1MjE2NzY4MDAsMTUzNzU3NDQwMCwxNTUzMjEyODAwLDE1NjkxMTA0MDAsMTU4NDc0ODgwMCwxNjAwNjQ2NDAwLDE2MTYzNzEyMDAsMTYzMjI2ODgwMCwxNjQ3OTA3MjAwLDE2NjM4MDQ4MDAsMTkyNTAwNDYwMF0sb2Zmc2V0OlsxMjM0NCwxMjM0NCwxMjYwMCwxNjIwMCwxNDQwMCwxOGUzLDE0NDAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwLDE2MjAwLDEyNjAwXX0sIkFzaWEvVG9reW8iOnt0aW1lOlstMjU4NzY3ODg2MSwtNjgzNzY5NjAwLC02NzIyNzQ4MDAsLTY1NDczOTIwMCwtNjQwODI1MjAwLC02MjAyNjU2MDAsLTYwOTM3NTYwMCwtNTg4ODE2ZTMsLTU3NzkyNmUzLDE5MjUwMjQ0MDBdLG9mZnNldDpbMzM1MzksMzI0MDAsMzZlMywzMjQwMCwzNmUzLDMyNDAwLDM2ZTMsMzI0MDAsMzZlMywzMjQwMF19LCJBc2lhL1lhbmdvbiI6e3RpbWU6Wy0yODQwMTQwODAwLC0xNTc3OTIzMjAwLC04NzMyNDQ4MDAsLTc3ODM3NzYwMCwxOTI1MDE1NDAwXSxvZmZzZXQ6WzIzMDg3LDIzMDg3LDIzNDAwLDMyNDAwLDIzNDAwXX0sIkF0bGFudGljL0F6b3JlcyI6ewp0aW1lOlstMjcxMzkxMDQwMCwtMTgzMDM4MzY3MiwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywzODYxMjE2MDAsNDAxODVlNCw0MTc1NzEyMDAsNDMzMjk5NjAwLDQ0OTAyMDgwMCw0NjUzNTRlMyw0ODEwNzUyMDAsNDk2ODAzNjAwLDUxMjUyNDgwMCw1MjgyNTMyMDAsNTQzOTc0NDAwLDU1OTcwMjgwMCw1NzU0MjRlMyw1OTExNTI0MDAsNjA2ODczNjAwLDYyMjYwMmUzLDYzODMyMzIwMCw2NTQ2NTY0MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzI1NDE4ZTMsNzMzMjgwNDAwLDc0MDI4MjQwMCw3NDkwMDUyMDAsNzY0NzI2NDAwLDc4MDQ1NDgwMCw3OTYxNzZlMyw4MTE5MDQ0MDAsODI4MjMwNDAwLDg0NjM3OGUzLDg1OTY4ZTQsODc3ODI3NjAwLDg5MTEyOTYwMCw5MDkyNzcyMDAsOTIyNTc5MjAwLDk0MTMzMTYwMCw5NTQwMjg4MDAsOTcyNzgxMjAwLDk4NTQ3ODQwMCwxMDA0MjMwODAwLDEwMTc1MzI4MDAsMTAzNTY4MDQwMCwxMDQ4OTgyNDAwLDEwNjcxM2U0LDEwODA0MzJlMywxMDk5MTg0NDAwLDExMTE4ODE2MDAsMTEzMDYzNGUzLDExNDMzMzEyMDAsMTE2MjA4MzYwMCwxMTc0NzgwODAwLDExOTM1MzMyMDAsMTIwNjgzNTIwMCwxMjI0OTgyODAwLDEyMzgyODQ4MDAsMTI1NjQzMjQwMCwxMjY5NzM0NDAwLDEyODg0ODY4MDAsMTMwMTE4NGUzLDEzMTk5MzY0MDAsMTMzMjYzMzYwMCwxMzUxMzg2ZTMsMTM2NDY4OGUzLDEzODI4MzU2MDAsMTM5NjEzNzYwMCwxNDE0Mjg1MjAwLDE0Mjc1ODcyMDAsMTQ0NTczNDgwMCwxNDU5MDM2ODAwLDE0Nzc3ODkyMDAsMTQ5MDQ4NjQwMCwxNTA5MjM4ODAwLDE1MjE5MzZlMywxNTQwNjg4NDAwLDE1NTM5OTA0MDAsMTU3MjEzOGUzLDE1ODU0NGU0LDE2MDM1ODc2MDAsMTYxNjg4OTYwMCwxNjM1NjQyZTMsMTY0ODMzOTIwMCwxNjY3MDkxNjAwLDE2Nzk3ODg4MDAsMTY5ODU0MTIwMCwxNzExODQzMjAwLDE3Mjk5OTA4MDAsMTc0MzI5MjgwMCwxNzYxNDQwNDAwLDE3NzQ3NDI0MDAsMTc5Mjg5ZTQsMTgwNjE5MmUzLDE4MjQ5NDQ0MDAsMTgzNzY0MTYwMCwxODU2Mzk0ZTMsMTg2OTA5MTIwMCwxODg3ODQzNjAwLDE5MDExNDU2MDAsMTkxOTI5MzIwMCwxOTMyNTk1MjAwXSwKb2Zmc2V0OlstNjE2MCwtNjg3MiwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLDAsLTM2MDAsLTcyMDAsLTM2MDAsMCwtMzYwMCwtNzIwMCwtMzYwMCwwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC03MjAwLC0zNjAwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLDM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwXX0sIkF0bGFudGljL1JleWtqYXZpayI6e3RpbWU6Wy0xOTU2NjE0NDAwLC0xNjY4MjE0ODAwLC0xNjQ3MjEyNDAwLC0xNjM2Njc4ODAwLC0xNjEzNDNlNCwtMTYwNTE0MjgwMCwtMTU4MTg5NGUzLC0xNTM5NTY1MjAwLC0xNTMxMzVlNCwtOTY4MDI5MjAwLC05NTIyOTM2MDAsLTk0MjAxMmUzLC05MjAyMzkyMDAsLTkwOTk2MTIwMCwtODg4Nzg5NjAwLC04Nzc5MDY4MDAsLTg1Nzk0NDgwMCwtODQ2NDU3MjAwLC04MjY0OTUyMDAsLTgxNTAwNzYwMCwtNzk1MDQ1NjAwLC03ODM1NThlMywtNzYyOTkxMjAwLC03NTIxMDg0MDAsLTczMTU0MTYwMCwtNzE3NjM0ODAwLC03MDAwOTJlMywtNjg2MTg1MjAwLC02Njg2NDI0MDAsLTY1NDczNTYwMCwtNjM2NTg4ZTMsLTYyMzI4NmUzLC02MDU3NDMyMDAsLTU5MTgzNjQwMCwtNTczNjg4ODAwLC01NTk3ODJlMywtNTQyMjM5MjAwLC01MjgzMzI0MDAsLTUxMDc4OTYwMCwtNDk2ODgyODAwLC00NzkzNGU0LC00NjU0MzMyMDAsLTQ0Nzg5MDQwMCwtNDMzOTgzNjAwLC00MTU4MzZlMywtNDAxOTI5MjAwLC0zODQzODY0MDAsLTM3MDQ3OTYwMCwtMzUyOTM2ODAwLC0zMzkwM2U0LC0zMjE0ODcyMDAsLTMwNzU4MDQwMCwtMjkwMDM3NjAwLC0yNzYxMzA4MDAsLTI1ODU4OGUzLC0yNDQ2ODEyMDAsLTIyNjUzMzYwMCwtMjEyNjI2ODAwLC0xOTUwODRlMywtMTgxMTc3MjAwLC0xNjM2MzQ0MDAsLTE0OTcyNzYwMCwtMTMyMTg0ODAwLC0xMTgyNzhlMywtMTAwNzM1MjAwLC04NjgyODQwMCwtNjg2ODA4MDAsLTU0Nzc0ZTMsMTkyNDk5MmUzXSxvZmZzZXQ6Wy01MjgwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDAsLTM2MDAsMCwtMzYwMCwwLC0zNjAwLDBdfSwiQXVzdHJhbGlhL0FDVCI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkF1c3RyYWxpYS9BZGVsYWlkZSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMjIzMDE1NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTEzMjZlMyw1MzAwNzEyMDAsNTQyNzc1NjAwLDU2MjEyNTYwMCw1NzQ4M2U0LDU5NDE4ZTQsNjA2Mjc5NjAwLDYyNTYyOTYwMCw2Mzc3MjkyMDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNzAxMjMzMjAwLDcxOTk3ODQwMCw3MzE0NzMyMDAsNzUyMDMyODAwLDc2NDEzMjQwMCw3ODM0ODI0MDAsNzk2MTg2ODAwLDgxNDkzMmUzLDgyODI0MTIwMCw4NDYzODE2MDAsODU5NjkwODAwLDg3NzgzMTIwMCw4OTExNDA0MDAsOTA5MjgwODAwLDkyMjU5ZTQsOTQxMzM1MjAwLDk1NDAzOTYwMCw5NzI3ODQ4MDAsOTg1NDg5MjAwLDEwMDQyMzQ0MDAsMTAxNzU0MzYwMCwxMDM1Njg0ZTMsMTA0ODk5MzIwMCwxMDY3MTMzNjAwLDEwODA0NDI4MDAsMTA5OTE4OGUzLDExMTE4OTI0MDAsMTEzMDYzNzYwMCwxMTQzOTQ2ODAwLDExNjIwODcyMDAsMTE3NDc5MTYwMCwxMTkzNTM2ODAwLDEyMDc0NTA4MDAsMTIyMzE3MmUzLDEyMzg5MDA0MDAsMTI1NDYyMTYwMCwxMjcwMzVlNCwxMjg2MDcxMjAwLDEzMDE3OTk2MDAsMTMxNzUyMDgwMCwxMzMzMjQ5MjAwLDEzNDk1NzUyMDAsMTM2NTMwMzYwMCwxMzgxMDI0ODAwLDEzOTY3NTMyMDAsMTQxMjQ3NDQwMCwxNDI4MjAyODAwLDE0NDM5MjRlMywxNDU5NjUyNDAwLDE0NzUzNzM2MDAsMTQ5MTEwMmUzLDE1MDY4MjMyMDAsMTUyMjU1MTYwMCwxNTM4ODc3NjAwLDE1NTQ2MDZlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzMzMjYwLDMyNDAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwLDM0MjAwLDM3ODAwXX0sIkF1c3RyYWxpYS9CcmlzYmFuZSI6e3RpbWU6Wy0yMzY2NzU1MjAwLC0xNjcyNTI0ZTMsLTE2NjUzNDkyMDAsLTg4MzYwNTYwMCwtODc2MDg1MjAwLC04NjAzNjRlMywtODQ0NjM1NjAwLC04MjgzMDk2MDAsLTgxMzE4NmUzLDU3NzIyNDAwLDY4MDA3NjAwLDYyNTYyOTYwMCw2MzY1MTk2MDAsNjU3MDc5MjAwLDY2Nzk2OTIwMCw2ODg1Mjg4MDAsNjk5NDE4ODAwLDE5MjUwMjhlM10sb2Zmc2V0OlszNjcyOCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlM119LCJBdXN0cmFsaWEvUGVydGgiOnt0aW1lOlstMjMzNzg5NzYwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwxNTIwNzEyMDAsMTYyOTYxMjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNjkwMzQzMjAwLDY5OTQxODgwMCwxMTY1MTExMjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA2ODQ2ZTMsMTIyNDk4NjQwMCwxMjM4Mjk1NjAwLDE5MjUwMjA4MDBdLG9mZnNldDpbMjc4MDQsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDAsMzI0MDAsMjg4MDBdfSwiQXVzdHJhbGlhL1N5ZG5leSI6ewp0aW1lOlstMjM2NDA3NjgwMCwtMTY3MjUyNGUzLC0xNjY1MzQ5MjAwLC04ODM2MDU2MDAsLTg3NjA4NTIwMCwtODYwMzY0ZTMsLTg0NDYzNTYwMCwtODI4MzA5NjAwLC04MTMxODZlMyw1NzcyMjQwMCw2ODAwNzYwMCw4OTE3MmUzLDEwMDA2MmUzLDEyMDYyMTYwMCwxMzE1MTE2MDAsMTUyMDcxMjAwLDE2Mjk2MTIwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NjczNzIwMCw0MDQ4Nzc2MDAsNDE1NzY3NjAwLDQzNjMyNzIwMCw0NDcyMTcyMDAsNDY3Nzc2ODAwLDQ3ODY2NjgwMCw0OTkyMjY0MDAsNTExMzI2ZTMsNTMwMDcxMjAwLDU0Mjc3NTYwMCw1NjIxMjU2MDAsNTc0ODNlNCw1OTQxOGU0LDYwNjI3OTYwMCw2MjU2Mjk2MDAsNjM2NTE5NjAwLDY1NzA3OTIwMCw2Njc5NjkyMDAsNjg4NTI4ODAwLDY5OTQxODgwMCw3MTk5Nzg0MDAsNzMxNDczMjAwLDc1MjAzMjgwMCw3NjI5MjI4MDAsNzgzNDgyNDAwLDc5NDM3MjQwMCw4MTQ5MzJlMyw4MjgyNDEyMDAsODQ2MzgxNjAwLDg1OTY5MDgwMCw4Nzc4MzEyMDAsODkxMTQwNDAwLDkwOTI4MDgwMCw5MjI1OWU0LDk0MTMzNTIwMCw5NTQwMzk2MDAsOTY3MzQxNjAwLDk4NTQ4OTIwMCwxMDA0MjM0NDAwLDEwMTc1NDM2MDAsMTAzNTY4NGUzLDEwNDg5OTMyMDAsMTA2NzEzMzYwMCwxMDgwNDQyODAwLDEwOTkxODhlMywxMTExODkyNDAwLDExMzA2Mzc2MDAsMTE0Mzk0NjgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzUzNjgwMCwxMjA3NDUwODAwLDEyMjMxNzJlMywxMjM4OTAwNDAwLDEyNTQ2MjE2MDAsMTI3MDM1ZTQsMTI4NjA3MTIwMCwxMzAxNzk5NjAwLDEzMTc1MjA4MDAsMTMzMzI0OTIwMCwxMzQ5NTc1MjAwLDEzNjUzMDM2MDAsMTM4MTAyNDgwMCwxMzk2NzUzMjAwLDE0MTI0NzQ0MDAsMTQyODIwMjgwMCwxNDQzOTI0ZTMsMTQ1OTY1MjQwMCwxNDc1MzczNjAwLDE0OTExMDJlMywxNTA2ODIzMjAwLDE1MjI1NTE2MDAsMTUzODg3NzYwMCwxNTU0NjA2ZTMsMTU3MDMyNzIwMCwxNTg2MDU1NjAwLDE2MDE3NzY4MDAsMTYxNzUwNTIwMCwxNjMzMjI2NDAwLDE2NDg5NTQ4MDAsMTY2NDY3NmUzLDE2ODA0MDQ0MDAsMTY5NjEyNTYwMCwxNzEyNDU4ODAwLDE3MjgxOGU0LDE3NDM5MDg0MDAsMTc1OTYyOTYwMCwxNzc1MzU4ZTMsMTc5MTA3OTIwMCwxODA2ODA3NjAwLDE4MjI1Mjg4MDAsMTgzODI1NzIwMCwxODUzOTc4NDAwLDE4Njk3MDY4MDAsMTg4NjAzMjgwMCwxOTAxNzYxMjAwLDE5MTc0ODI0MDAsMTkzMzIxMDgwMF0sb2Zmc2V0OlszNjI5MiwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwLDM2ZTMsMzk2MDAsMzZlMywzOTYwMCwzNmUzLDM5NjAwXX0sIkV1cm9wZS9BbXN0ZXJkYW0iOnsKdGltZTpbLTQyNjAyMTEyMDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNjYzNDUyZTMsLTE2NTAxNDI4MDAsLTE2MzMyMTJlMywtMTYxNzQ4MzYwMCwtMTYwMTE1NzYwMCwtMTU4NjAzNGUzLC0xNTY5NzA4ZTMsLTE1NTQ1ODQ0MDAsLTE1MzgyNTg0MDAsLTE1MjMxMzQ4MDAsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MDE3NTIwMCwtMTQ1OTExMjQwMCwtMTQ0Mzk5NmUzLC0xNDI3NjYyODAwLC0xNDA2NjcxMjAwLC0xMzk2MjEzMjAwLC0xMzc2OTQ5NjAwLC0xMzY0NzYzNjAwLC0xMzQ1NDEzNjAwLC0xMzMzMzE0ZTMsLTEzMTM3OTEyMDAsLTEzMDEyNTk2MDAsLTEyODIyNTUyMDAsLTEyNjk4MWU0LC0xMjUwNzE5MjAwLC0xMjM4MzYwNDAwLC0xMjE5MTgzMjAwLC0xMjA2OTEwODAwLC0xMTg2OTU2ZTMsLTExNzU0NjEyMDAsLTExNTYwMjQ4MDAsLTExNDM0MDY4MDAsLTExMjQ0ODg4MDAsLTExMTE5NTcyMDAsLTEwOTI5NTI4MDAsLTEwODA1MDc2MDAsLTEwNjEzMzA0MDAsLTEwNDkwNThlMywtMTAyOTE4OTYwMCwtMTAyNTc0MDgwMCwtMTAxNzYwODQwMCwtOTk4MjU4NDAwLC05ODYxNTg4MDAsLTk2NjcyMjQwMCwtOTU0MTA0NDAwLC05MzUwMjA4MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDIyODg4MDgwMCwyNDQwMDQ0MDAsMjYwMzMwNDAwLDI3NjA1ODgwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMTE3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsMTE3Miw0NzcyLDExNzIsNDc3MiwxMTcyLDQ3NzIsNDgwMCwxMjAwLDQ4MDAsMTIwMCw0ODAwLDEyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9BdGhlbnMiOnsKdGltZTpbLTIzNDQ2MzY4MDAsLTE2ODYwOTU5NDAsLTExODI5ODg4MDAsLTExNzgxNTA0MDAsLTkwNjg1NDQwMCwtOTA0ODY3MjAwLC04NTcyNWU0LC04NDQ0NzM2MDAsLTgyODIzMDQwMCwtODEyNDE5MjAwLC01NTIzNTUyMDAsLTU0MTY0MTYwMCwxNjY0OTI4MDAsMTg2MTk1NjAwLDE5ODAzNmUzLDIxMzc2NDQwMCwyMjg4ODA4MDAsMjQ0MDkwODAwLDI2MDMzMDQwMCwyNzU0NTc2MDAsMjkxODA1MjAwLDMwNzQxODQwMCwzMjMzOTUyMDAsMzM4OTQ3MjAwLDM1NDY4MjgwMCwzNzA0MTEyMDAsMzg2MTMyNDAwLDQwMTg2MDgwMCw0MTc1ODJlMyw0MzMzMTA0MDAsNDQ5MDMxNjAwLDQ2NTM2NDgwMCw0ODEwODZlMyw0OTY4MTQ0MDAsNTEyNTM1NjAwLDUyODI2NGUzLDU0Mzk4NTIwMCw1NTk3MTM2MDAsNTc1NDM0ODAwLDU5MTE2MzIwMCw2MDY4ODQ0MDAsNjIyNjEyODAwLDYzODMzNGUzLDY1NDY2NzIwMCw2NzAzODg0MDAsNjg2MTE2ODAwLDcwMTgzOGUzLDcxNzU2NjQwMCw3MzMyODc2MDAsNzQ5MDE2ZTMsNzY0NzM3MjAwLDc4MDQ2NTYwMCw3OTYxODY4MDAsODExOTE1MjAwLDgyODI0MTIwMCw4NDYzODg4MDAsODU5NjkwODAwLDg3NzgzODQwMCw4OTExNDA0MDAsOTA5Mjg4ZTMsOTIyNTllNCw5NDEzNDI0MDAsOTU0MDM5NjAwLDk3Mjc5MmUzLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1NjkyLDU2OTIsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvQmVsZ3JhZGUiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzc3OTM4NDAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols0OTIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CZXJsaW4iOnt0aW1lOlstMjQyMjA1MTIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzc2NTU2ZTMsLTc2NTkyNTIwMCwtNzYxMTczMjAwLC03NDg0NzZlMywtNzMzMjY2ZTMsLTcxNzYyNzYwMCwtNzE0NjAzNjAwLC03MTAzN2U0LC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMzIwOCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMTA4MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CcmF0aXNsYXZhIjp7dGltZTpbLTM3ODY4MjU2MDAsLTI0NjkzOTg0MDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtOTM4OTAxNjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NTMyMDQwMCwtNzQ2NTc1MjAwLC03MzMzNTI0MDAsLTcyODUxNGUzLC03MjEyNmU0LC03MTY0MjE2MDAsLTcwMTkwMjgwMCwtNjg0OTcyZTMsLTY3MDQ1MzIwMCwtNjU0MjEzNjAwLC02MzkwMDM2MDAsMjkxNzhlNCwzMDc1MDg0MDAsMzIzODM0NDAwLDMzODk1OGUzLDM1NDY3OTIwMCwzNzA0MDc2MDAsMzg2MTI4ODAwLDQwMTg1NzIwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0NjQsMzQ2NCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvQnJ1c3NlbHMiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTI0NTA5OTQxNTAsLTE3NDAzNTUyMDAsLTE2OTM2OTkyMDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMzgyMjQwMCwtMTYwNDI3ODgwMCwtMTU4NTUyNjQwMCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MzY0MmUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI1OTYwMCwtMTI4NDMyODgwMCwtMTI2OTgxZTQsLTEyNTM0ODRlMywtMTIzODM2MDQwMCwtMTIyMTQyOTYwMCwtMTIwNjkxMDgwMCwtMTE5MTE4OTYwMCwtMTE3NTQ2MTIwMCwtMTE2MDM0NDgwMCwtMTE0MzQwNjgwMCwtMTEyNzY4NTYwMCwtMTExMTk1NzIwMCwtMTA5Njg0MDgwMCwtMTA4MDUwNzYwMCwtMTA2MzU3NjgwMCwtMTA0OTA1OGUzLC0xMDMzMzM2ODAwLC0xMDE3NjA4NDAwLC0xMDAyNDkyZTMsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkzNDY2NDQwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk4MDY2ZTMsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlsxMDUwLDEwNTAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9CdWNoYXJlc3QiOnsKdGltZTpbLTI0NjkzOTg0MDAsLTEyMTMxNDI0MDAsLTExODcwNDk2MDAsLTExNzU0Njg0MDAsLTExNTk3NDcyMDAsLTExNDQwMTg4MDAsLTExMjc2OTI4MDAsLTExMTE5NjQ0MDAsLTEwOTYyNDMyMDAsLTEwODA1MTQ4MDAsLTEwNjQ3OTM2MDAsLTEwNDkwNjUyMDAsLTEwMzMzNDRlMywtMTAxNzYxNTYwMCwtMTAwMTg5NDQwMCwtOTg2MTY2ZTMsLTk3MDQ0NDgwMCwtOTU0NzE2NDAwLDI5NjYxMTIwMCwzMDc0OTc2MDAsMzIzODIzNjAwLDMzODk1MDgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzc3NjAwLDY4NjEwNmUzLDcwMTgyNzIwMCw3MTc1NTU2MDAsNzMzMjc2ODAwLDc0OTAwNTIwMCw3NjQ3MjY0MDAsNzgwNDUxMjAwLDc5NjE3NmUzLDgxMTkwMDgwMCw4MjgyMzA0MDAsODQ2Mzc0NDAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNjI2NCw2MjY0LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0J1ZGFwZXN0Ijp7CnRpbWU6Wy0yNDk4MjU2ZTMsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYwMDQ2NjQwMCwtMTU4NzI0MzYwMCwtMTU2OTcwOGUzLC0xNTU1MTg5MjAwLC05MDY3NzE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc3ODQ2NzYwMCwtNzYyNjQ5MjAwLC03NDk2ODU2MDAsLTczMzI2OTYwMCwtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NjE4MTYwMCwtNjcwNDUzMjAwLC02NTQxMjcyMDAsLTYzOTAwMzYwMCwtNDkyNjUyODAwLC00ODExNjE2MDAsLTQ2MTE5NmUzLC00NDk3MDEyMDAsLTQyODUzNjgwMCwtNDE4MjUxNjAwLC0zOTcwODcyMDAsLTM4NjgwMmUzLDMyMzgyNzIwMCwzMzg5NTA4MDAsMzU0NjcyZTMsMzcwNDAwNDAwLDM4NjEyMTYwMCw0MDE4NWU0LDQxNzU3MTIwMCw0MzMyOTk2MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbNDU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0NvcGVuaGFnZW4iOnsKdGltZTpbLTI1MjQ1MjE2MDAsLTIzOTgyOTEyMDAsLTE2OTI0OTMyMDAsLTE2ODA0ODM2MDAsLTkzNTEwNzIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjkzODEyMDAsLTc0NzAwNzIwMCwtNzM2Mzc2NDAwLC03MTUyMTJlMywtNzA2NzQxMjAwLC02ODMxNTc2MDAsLTY3NTI5MTYwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzAyMCwzMDIwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvRHVibGluIjp7CnRpbWU6Wy0yODIxNjUxMjAwLC0xNjkxOTY0ZTMsLTE2ODA0NjkyMDAsLTE2NjQxNDMyMDAsLTE2NTAxNDI4MDAsLTE2MzM5MDMyMDAsLTE2MTc0ODM2MDAsLTE2MDE4NDg4MDAsLTE1ODYwMzRlMywtMTU3MDM5OTIwMCwtMTU1MjE2NTIwMCwtMTUzODM0NDgwMCwtMTUyMjUzZTQsLTE1MDc1ZTUsLTE0OTA1NjJlMywtMTQ3MzYzMTIwMCwtMTQ2MDkyNjgwMCwtMTQ0Mjc4NjQwMCwtMTQyODg3MjQwMCwtMTQxMDczMmUzLC0xMzk2MjEzMjAwLC0xMzc5MjgyNDAwLC0xMzY0NzYzNjAwLC0xMzQ4NDM3NjAwLC0xMzMzMzE0ZTMsLTEzMTU3Nzg0MDAsLTEzMDEyNTk2MDAsLTEyODQzMjg4MDAsLTEyNjk4MWU0LC0xMjUzNDg0ZTMsLTEyMzgzNjA0MDAsLTEyMjE0Mjk2MDAsLTEyMDY5MTA4MDAsLTExODk5OGU0LC0xMTc1NDYxMjAwLC0xMTU5MTM1MjAwLC0xMTQzNDA2ODAwLC0xMTI2NDc2ZTMsLTExMTE5NTcyMDAsLTEwOTU2MzEyMDAsLTEwODA1MDc2MDAsLTEwNjM1NzY4MDAsLTEwNDkwNThlMywtMTAzMjEyNzIwMCwtMTAxNzYwODQwMCwtMTAwMTI4MjQwMCwtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtNzMzMzUyNDAwLC03MTk0NDU2MDAsLTY5OTQ4MzYwMCwtNjg0OTcyZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsNTc3MjZlMyw2OTgxODQwMCw4OTE3NTYwMCwxMDEyNjhlMywxMjA2MjUyMDAsMTMyNzE3NjAwLDE1MjA3NDgwMCwxNjQxNjcyMDAsMTgzNTI0NDAwLDE5NjIyMTYwMCwyMTQ5NzRlMywyMjc2NzEyMDAsMjQ2NDIzNjAwLDI1OTEyMDgwMCwyNzg0NzhlMywyOTA1NzA0MDAsMzA5OTI3NjAwLDMyMjAyZTQsMzQxMzc3MjAwLDM1NDY3NTYwMCwzNzI4MjMyMDAsMzg2MTI1MjAwLDQwNDI3MjgwMCw0MTc1NzQ4MDAsNDM1NzIyNDAwLDQ0OTAyNDQwMCw0Njc3NzY4MDAsNDgxMDc4ODAwLDQ5OTIyNjQwMCw1MTI1Mjg0MDAsNTMwNjc2ZTMsNTQzOTc4ZTMsNTYyMTI1NjAwLDU3NTQyNzYwMCw1OTM1NzUyMDAsNjA2ODc3MjAwLDYyNTYyOTYwMCw2MzgzMjY4MDAsNjU3MDc5MjAwLDY3MDM4MTIwMCw2ODg1Mjg4MDAsNzAxODMwODAwLDcxOTk3ODQwMCw3MzMyODA0MDAsNzUxNDI4ZTMsNzY0NzNlNCw3ODI4Nzc2MDAsNzk2MTc5NjAwLDgxNDMyNzIwMCw4MjgyMzRlMyw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLG9mZnNldDpbLTE1MjEsLTE1MjEsMjA3OSwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9IZWxzaW5raSI6ewp0aW1lOlstMjg5MDI1MjgwMCwtMTUzNTkzMjgwMCwtODc1NjY0ZTMsLTg1OTc2MjgwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTgyZTMsNDMzMzEwNDAwLDQ0OTAzMTYwMCw0NjUzNjQ4MDAsNDgxMDg2ZTMsNDk2ODE0NDAwLDUxMjUzNTYwMCw1MjgyNjRlMyw1NDM5ODUyMDAsNTU5NzEzNjAwLDU3NTQzNDgwMCw1OTExNjMyMDAsNjA2ODg0NDAwLDYyMjYxMjgwMCw2MzgzMzRlMyw2NTQ2NjcyMDAsNjcwMzg4NDAwLDY4NjExNjgwMCw3MDE4MzhlMyw3MTc1NjY0MDAsNzMzMjg3NjAwLDc0OTAxNmUzLDc2NDczNzIwMCw3ODA0NjU2MDAsNzk2MTg2ODAwLDgxMTkxNTIwMCw4MjgyNDEyMDAsODQ2Mzg4ODAwLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk1NDAzOTYwMCw5NzI3OTJlMyw5ODU0ODkyMDAsMTAwNDI0MTYwMCwxMDE3NTQzNjAwLDEwMzU2OTEyMDAsMTA0ODk5MzIwMCwxMDY3MTQwODAwLDEwODA0NDI4MDAsMTA5OTE5NTIwMCwxMTExODkyNDAwLDExMzA2NDQ4MDAsMTE0MzM0MmUzLDExNjIwOTQ0MDAsMTE3NDc5MTYwMCwxMTkzNTQ0ZTMsMTIwNjg0NmUzLDEyMjQ5OTM2MDAsMTIzODI5NTYwMCwxMjU2NDQzMjAwLDEyNjk3NDUyMDAsMTI4ODQ5NzYwMCwxMzAxMTk0ODAwLDEzMTk5NDcyMDAsMTMzMjY0NDQwMCwxMzUxMzk2ODAwLDEzNjQ2OTg4MDAsMTM4Mjg0NjQwMCwxMzk2MTQ4NDAwLDE0MTQyOTZlMywxNDI3NTk4ZTMsMTQ0NTc0NTYwMCwxNDU5MDQ3NjAwLDE0Nzc4ZTUsMTQ5MDQ5NzIwMCwxNTA5MjQ5NjAwLDE1MjE5NDY4MDAsMTU0MDY5OTIwMCwxNTU0MDAxMjAwLDE1NzIxNDg4MDAsMTU4NTQ1MDgwMCwxNjAzNTk4NDAwLDE2MTY5MDA0MDAsMTYzNTY1MjgwMCwxNjQ4MzVlNCwxNjY3MTAyNDAwLDE2Nzk3OTk2MDAsMTY5ODU1MmUzLDE3MTE4NTRlMywxNzMwMDAxNjAwLDE3NDMzMDM2MDAsMTc2MTQ1MTIwMCwxNzc0NzUzMjAwLDE3OTI5MDA4MDAsMTgwNjIwMjgwMCwxODI0OTU1MjAwLDE4Mzc2NTI0MDAsMTg1NjQwNDgwMCwxODY5MTAyZTMsMTg4Nzg1NDQwMCwxOTAxMTU2NDAwLDE5MTkzMDRlMywxOTMyNjA2ZTNdLG9mZnNldDpbNTk4OSw1OTg5LDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL0lzdGFuYnVsIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE4Njk4Njg4MDAsLTE2OTM2OTkyMDAsLTE2ODA0OGU0LC0xNTcwNDA2NDAwLC0xNTUyMTc2ZTMsLTE1MzgzNTJlMywtMTUyMjU0MDgwMCwtMTUwNzUwNzIwMCwtMTQ5MDU3MjgwMCwtMTQ0MDIwMTYwMCwtMTQyODAxOTIwMCwtMTQwOTcwMjQwMCwtMTM5NjQ4MzIwMCwtOTMxMDQ2NDAwLC05MjI2NjU2MDAsLTkxNzgyNzIwMCwtODkyNDI1NjAwLC04NzU4MzY4MDAsLTc2NDcyNjQwMCwtNzQ0MzM2ZTMsLTczMzc5NTIwMCwtNzE2NDI4ODAwLC03MDE5MTM2MDAsLTY4NDk3OTIwMCwtNjcwNDY0ZTMsLTY1NDEzNDQwMCwtNjM5MDE0NDAwLC02MjIwOGU0LC02MDY5NmU0LC01OTAwMjU2MDAsLTU3NTUxMDQwMCwtMjM1NjEyODAwLC0xOTQ4MzJlMywtMTc3NzI0ODAwLC0xNjU3MTUyMDAsMTA3OTE3MjAwLDEyMTIyNjQwMCwxMzM5MjcyMDAsMTUyNjc2ZTMsMTY0Njg1NjAwLDE4NDEyNTYwMCwxOTYyMjE2MDAsMjE1NTc1MjAwLDIyODg4MDgwMCwyNDU4MTUyMDAsMjYwMzMwNDAwLDI2NzkyNjQwMCw0Mjg0NjQ4MDAsNDMzOTA4ZTMsNDY4MTIyNDAwLDQ4MjgwNjgwMCw0OTY3MjA4MDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDI3NjAwLDU5MTE1NmUzLDYwNjg3NzIwMCw2MjI2MDU2MDAsNjM4MzI2ODAwLDY1NDY2ZTQsNjcwMzgxMjAwLDY4NjEwOTYwMCw3MDE4MzA4MDAsNzE3NTU5MjAwLDczMzI4MDQwMCw3NDkwMDg4MDAsNzY0MTI1MjAwLDc4MDQ1ODQwMCw3OTYxNzk2MDAsODExOTA4ZTMsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTI4MTIwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjIzNDgwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDY5NTUyMDAsMTQ1OTA0NzYwMCwxNDczMjA2NDAwLDE5MjUwMDI4MDBdLApvZmZzZXQ6WzY5NTIsNzAxNiw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsMTA4MDAsMTQ0MDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDEwODAwXX0sIkV1cm9wZS9MaXNib24iOnt0aW1lOlstMTgzMDM4NjIwNSwtMTY4OTU1NTYwMCwtMTY3Nzc5OGUzLC0xNjY3NDMzNjAwLC0xNjQ3NzM0NDAwLC0xNjM1ODk3NjAwLC0xNjE2MTk4NDAwLC0xNjA0MzYxNjAwLC0xNTg0NjYyNDAwLC0xNTcyNzM5MjAwLC0xNTUzMDRlNCwtMTU0MTIwMzIwMCwtMTUyMTUwNGUzLC0xNDQyNDUxNjAwLC0xNDI3NjczNjAwLC0xMzc5MjkzMjAwLC0xMzY0Nzc0NDAwLC0xMzQ4NDQ4NDAwLC0xMzMzMzI0ODAwLC0xMzE2Mzk0ZTMsLTEzMDEyNzA0MDAsLTEyODQzMzk2MDAsLTEyNjk4MjA4MDAsLTEyMjE0NDA0MDAsLTEyMDY5MjE2MDAsLTExOTEyMDA0MDAsLTExNzU0NzJlMywtMTEyNzY5NjQwMCwtMTExMTk2OGUzLC0xMDk2ODUxNjAwLC0xMDgwNTE4NDAwLC0xMDYzNTg3NjAwLC0xMDQ5MDY4ODAwLC0xMDMzMzQ3NjAwLC0xMDE3NjE5MjAwLC0xMDAyNTAyODAwLC05ODYxNjk2MDAsLTk2OTIzODgwMCwtOTUwNDg2NDAwLC05NDIwMjI4MDAsLTkyMjQ5MjgwMCwtOTA2OTQ0NDAwLC04OTExMjk2MDAsLTg3NzMwOTIwMCwtODczNjgwNDAwLC04NjRlNiwtODU3OTUyZTMsLTg0NTg1OTYwMCwtODQyODM1NjAwLC04MzEzNDA4MDAsLTgyNTg5NzYwMCwtODE0NDFlNCwtODEwNzgxMjAwLC03OTk4OTEyMDAsLTc5NDQ0OGUzLC03ODI5NjA0MDAsLTc3OTMzMTYwMCwtNzY4NDQxNjAwLC03NjI5OTg0MDAsLTc0OTA5MTYwMCwtNzMzMzYzMjAwLC03MTc2MzEyMDAsLTcwMTkwMjgwMCwtNjg2MTgxNjAwLC02NzA0NTMyMDAsLTY1NDczMmUzLC02MzkwMDM2MDAsLTYyMzI4MjQwMCwtNjA3NTU0ZTMsLTU5MTgzMjgwMCwtNTc1NDk5NjAwLC01NTk3Nzg0MDAsLTU0NDA1ZTQsLTUyODMyODgwMCwtNTEyNjAwNDAwLC00OTY4NzkyMDAsLTQ4MTE1MDgwMCwtNDY1NDI5NjAwLC00NDk3MDEyMDAsLTQzMzk4ZTQsLTQxNzY0NjgwMCwtNDAxOTI1NjAwLC0zODYxOTcyMDAsLTM3MDQ3NmUzLC0zNTQ3NDc2MDAsLTMzOTAyNjQwMCwtMzIzMjk4ZTMsLTMwNzU3NjgwMCwtMjkxODQ4NDAwLC0yNzYxMjcyMDAsLTI2MDM5ODgwMCwtMjQ0Njc3NjAwLC0yMjgzNDQ0MDAsLTIxMjYyMzIwMCwtMTk2ODk0ODAwLC0xODExNzM2MDAsLTE2NTQ0NTIwMCwtMTQ5NzI0ZTMsLTEzMzk5NTYwMCwtMTE4Mjc0NDAwLC0xMDI1NDZlMywyMTI1NDc2MDAsMjI4MjY4ODAwLDI0Mzk5NzIwMCwyNjAzMjY4MDAsMjc2MDU1MjAwLDI5MTc3NjQwMCwzMDc1MDQ4MDAsMzIzODMwODAwLDMzODk1NDQwMCwzNTQ2NzJlMywzNzA0MDA0MDAsMzg2MTIxNjAwLDQwMTg1ZTQsNDE3NTcxMjAwLDQzMzI5OTYwMCw0NDkwMjA4MDAsNDY1MzU0ZTMsNDgxMDc1MjAwLDQ5NjgwMzYwMCw1MTI1Mjg0MDAsNTI4MjU2ODAwLDU0Mzk3OGUzLDU1OTcwNjQwMCw1NzU0Mjc2MDAsNTkxMTU2ZTMsNjA2ODc3MjAwLDYyMjYwNTYwMCw2MzgzMjY4MDAsNjU0NjZlNCw2NzAzODEyMDAsNjg2MTA5NjAwLDcwMTgzMDgwMCw3MTc1NTkyMDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODE2MDAsODU5NjgzNjAwLDg3NzgzMTIwMCw4OTExMzMyMDAsOTA5MjgwODAwLDkyMjU4MjgwMCw5NDEzMzUyMDAsOTU0MDMyNDAwLDk3Mjc4NDgwMCw5ODU0ODJlMywxMDA0MjM0NDAwLDEwMTc1MzY0MDAsMTAzNTY4NGUzLDEwNDg5ODZlMywxMDY3MTMzNjAwLDEwODA0MzU2MDAsMTA5OTE4OGUzLDExMTE4ODUyMDAsMTEzMDYzNzYwMCwxMTQzMzM0ODAwLDExNjIwODcyMDAsMTE3NDc4NDQwMCwxMTkzNTM2ODAwLDEyMDY4Mzg4MDAsMTIyNDk4NjQwMCwxMjM4Mjg4NDAwLDEyNTY0MzZlMywxMjY5NzM4ZTMsMTI4ODQ5MDQwMCwxMzAxMTg3NjAwLDEzMTk5NGU0LDEzMzI2MzcyMDAsMTM1MTM4OTYwMCwxMzY0NjkxNjAwLDEzODI4MzkyMDAsMTM5NjE0MTIwMCwxNDE0Mjg4ODAwLDE0Mjc1OTA4MDAsMTQ0NTczODQwMCwxNDU5MDQwNDAwLDE0Nzc3OTI4MDAsMTQ5MDQ5ZTQsMTUwOTI0MjQwMCwxNTIxOTM5NjAwLDE1NDA2OTJlMywxNTUzOTk0ZTMsMTU3MjE0MTYwMCwxNTg1NDQzNjAwLDE2MDM1OTEyMDAsMTYxNjg5MzIwMCwxNjM1NjQ1NjAwLDE2NDgzNDI4MDAsMTY2NzA5NTIwMCwxNjc5NzkyNDAwLDE2OTg1NDQ4MDAsMTcxMTg0NjgwMCwxNzI5OTk0NDAwLDE3NDMyOTY0MDAsMTc2MTQ0NGUzLDE3NzQ3NDZlMywxNzkyODkzNjAwLDE4MDYxOTU2MDAsMTgyNDk0OGUzLDE4Mzc2NDUyMDAsMTg1NjM5NzYwMCwxODY5MDk0ODAwLDE4ODc4NDcyMDAsMTkwMTE0OTIwMCwxOTE5Mjk2ODAwLDE5MzI1OTg4MDBdLApvZmZzZXQ6Wy0yMjA1LDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwXX0sIkV1cm9wZS9ManVibGphbmEiOnt0aW1lOlstMjcxMzkxMDQwMCwtOTA1ODIxMjAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDg4MDAsLTc2NjYxNjQwMCw0MTc1Nzg0MDAsNDMzMzA2ODAwLDQ0OTAyOGUzLDQ2NTM2MTIwMCw0ODEwODI0MDAsNDk2ODEwODAwLDUxMjUzMmUzLDUyODI2MDQwMCw1NDM5ODE2MDAsNTU5NzFlNCw1NzU0MzEyMDAsNTkxMTU5NjAwLDYwNjg4MDgwMCw2MjI2MDkyMDAsNjM4MzMwNDAwLDY1NDY2MzYwMCw2NzAzODQ4MDAsNjg2MTEzMjAwLDcwMTgzNDQwMCw3MTc1NjI4MDAsNzMzMjg0ZTMsNzQ5MDEyNDAwLDc2NDczMzYwMCw3ODA0NjJlMyw3OTYxODMyMDAsODExOTExNjAwLDgyODIzNzYwMCw4NDYzODUyMDAsODU5Njg3MjAwLDg3NzgzNDgwMCw4OTExMzY4MDAsOTA5Mjg0NDAwLDkyMjU4NjQwMCw5NDEzMzg4MDAsOTU0MDM2ZTMsOTcyNzg4NDAwLDk4NTQ4NTYwMCwxMDA0MjM4ZTMsMTAxNzU0ZTQsMTAzNTY4NzYwMCwxMDQ4OTg5NjAwLDEwNjcxMzcyMDAsMTA4MDQzOTIwMCwxMDk5MTkxNjAwLDExMTE4ODg4MDAsMTEzMDY0MTIwMCwxMTQzMzM4NDAwLDExNjIwOTA4MDAsMTE3NDc4OGUzLDExOTM1NDA0MDAsMTIwNjg0MjQwMCwxMjI0OTllNCwxMjM4MjkyZTMsMTI1NjQzOTYwMCwxMjY5NzQxNjAwLDEyODg0OTRlMywxMzAxMTkxMjAwLDEzMTk5NDM2MDAsMTMzMjY0MDgwMCwxMzUxMzkzMjAwLDEzNjQ2OTUyMDAsMTM4Mjg0MjgwMCwxMzk2MTQ0ODAwLDE0MTQyOTI0MDAsMTQyNzU5NDQwMCwxNDQ1NzQyZTMsMTQ1OTA0NGUzLDE0Nzc3OTY0MDAsMTQ5MDQ5MzYwMCwxNTA5MjQ2ZTMsMTUyMTk0MzIwMCwxNTQwNjk1NjAwLDE1NTM5OTc2MDAsMTU3MjE0NTIwMCwxNTg1NDQ3MjAwLDE2MDM1OTQ4MDAsMTYxNjg5NjgwMCwxNjM1NjQ5MjAwLDE2NDgzNDY0MDAsMTY2NzA5ODgwMCwxNjc5Nzk2ZTMsMTY5ODU0ODQwMCwxNzExODUwNDAwLDE3Mjk5OThlMywxNzQzM2U1LDE3NjE0NDc2MDAsMTc3NDc0OTYwMCwxNzkyODk3MjAwLDE4MDYxOTkyMDAsMTgyNDk1MTYwMCwxODM3NjQ4ODAwLDE4NTY0MDEyMDAsMTg2OTA5ODQwMCwxODg3ODUwODAwLDE5MDExNTI4MDAsMTkxOTMwMDQwMCwxOTMyNjAyNDAwXSxvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL0xvbmRvbiI6ewp0aW1lOlstMzg1MjY2MjQwMCwtMTY5MTk2NGUzLC0xNjgwNDY5MjAwLC0xNjY0MTQzMjAwLC0xNjUwMTQyODAwLC0xNjMzOTAzMjAwLC0xNjE3NDgzNjAwLC0xNjAxODQ4ODAwLC0xNTg2MDM0ZTMsLTE1NzAzOTkyMDAsLTE1NTIxNjUyMDAsLTE1MzgzNDQ4MDAsLTE1MjI1M2U0LC0xNTA3NWU1LC0xNDkwNTYyZTMsLTE0NzM2MzEyMDAsLTE0NjA5MjY4MDAsLTE0NDI3ODY0MDAsLTE0Mjg4NzI0MDAsLTE0MTA3MzJlMywtMTM5NjIxMzIwMCwtMTM3OTI4MjQwMCwtMTM2NDc2MzYwMCwtMTM0ODQzNzYwMCwtMTMzMzMxNGUzLC0xMzE1Nzc4NDAwLC0xMzAxMjU5NjAwLC0xMjg0MzI4ODAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTg5OThlNCwtMTE3NTQ2MTIwMCwtMTE1OTEzNTIwMCwtMTE0MzQwNjgwMCwtMTEyNjQ3NmUzLC0xMTExOTU3MjAwLC0xMDk1NjMxMjAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzIxMjcyMDAsLTEwMTc2MDg0MDAsLTEwMDEyODI0MDAsLTk4NjE1ODgwMCwtOTY5MjI4ZTMsLTk1MDQ3NTYwMCwtOTQyMDEyZTMsLTkwNDUxNDQwMCwtODk2MDQzNjAwLC04NzU0ODRlMywtODY0NTk0ZTMsLTg0NDAzNDQwMCwtODMyNTM5NjAwLC04MTI1ODQ4MDAsLTc5ODA2NmUzLC03ODEwNDg4MDAsLTc3MjA1OTYwMCwtNzY0ODAyZTMsLTc0ODQ3NmUzLC03MzMzNTI0MDAsLTcxOTQ0NTYwMCwtNzE3MDI2NDAwLC03MDY3NDEyMDAsLTY5OTQ4MzYwMCwtNjg3OTk2ZTMsLTY2ODAzNGUzLC02NTQ3MzJlMywtNjM2NTg0NDAwLC02MjIwNzI4MDAsLTYwNTczOTYwMCwtNTkwNjIzMjAwLC01NzQyOWU0LC01NTg1Njg4MDAsLTU0MjIzNTYwMCwtNTI3MTE5MjAwLC01MTI2MDA0MDAsLTQ5NjI3NDQwMCwtNDgxMTUwODAwLC00NjQyMmU0LC00NDk3MDEyMDAsLTQzMjE2NTYwMCwtNDE3NjQ2ODAwLC00MDEzMjA4MDAsLTM4NjE5NzIwMCwtMzY5MjY2NDAwLC0zNTQ3NDc2MDAsLTMzNzgxNjgwMCwtMzIzMjk4ZTMsLTMwNjk3MmUzLC0yOTE4NDg0MDAsLTI3NjczMmUzLC0yNTc5Nzk2MDAsLTI0NTI4MjQwMCwtMjI2NTNlNCwtMjEzMjI4ZTMsLTE5NTA4MDQwMCwtMTgyMzgzMjAwLC0xNjM2MzA4MDAsLTE1MDkzMzYwMCwtMTMyMTgxMjAwLC0xMTk0ODRlMywtMTAwNzMxNjAwLC04ODAzNDQwMCwtNjg2NzcyMDAsLTU5MDA0ZTMsLTM3MjM4NDAwLDU3NzI2ZTMsNjk4MTg0MDAsODkxNzU2MDAsMTAxMjY4ZTMsMTIwNjI1MjAwLDEzMjcxNzYwMCwxNTIwNzQ4MDAsMTY0MTY3MjAwLDE4MzUyNDQwMCwxOTYyMjE2MDAsMjE0OTc0ZTMsMjI3NjcxMjAwLDI0NjQyMzYwMCwyNTkxMjA4MDAsMjc4NDc4ZTMsMjkwNTcwNDAwLDMwOTkyNzYwMCwzMjIwMmU0LDM0MTM3NzIwMCwzNTQ2NzU2MDAsMzcyODIzMjAwLDM4NjEyNTIwMCw0MDQyNzI4MDAsNDE3NTc0ODAwLDQzNTcyMjQwMCw0NDkwMjQ0MDAsNDY3Nzc2ODAwLDQ4MTA3ODgwMCw0OTkyMjY0MDAsNTEyNTI4NDAwLDUzMDY3NmUzLDU0Mzk3OGUzLDU2MjEyNTYwMCw1NzU0Mjc2MDAsNTkzNTc1MjAwLDYwNjg3NzIwMCw2MjU2Mjk2MDAsNjM4MzI2ODAwLDY1NzA3OTIwMCw2NzAzODEyMDAsNjg4NTI4ODAwLDcwMTgzMDgwMCw3MTk5Nzg0MDAsNzMzMjgwNDAwLDc1MTQyOGUzLDc2NDczZTQsNzgyODc3NjAwLDc5NjE3OTYwMCw4MTQzMjcyMDAsODI4MjM0ZTMsODQ2MzgxNjAwLDg1OTY4MzYwMCw4Nzc4MzEyMDAsODkxMTMzMjAwLDkwOTI4MDgwMCw5MjI1ODI4MDAsOTQxMzM1MjAwLDk1NDAzMjQwMCw5NzI3ODQ4MDAsOTg1NDgyZTMsMTAwNDIzNDQwMCwxMDE3NTM2NDAwLDEwMzU2ODRlMywxMDQ4OTg2ZTMsMTA2NzEzMzYwMCwxMDgwNDM1NjAwLDEwOTkxODhlMywxMTExODg1MjAwLDExMzA2Mzc2MDAsMTE0MzMzNDgwMCwxMTYyMDg3MjAwLDExNzQ3ODQ0MDAsMTE5MzUzNjgwMCwxMjA2ODM4ODAwLDEyMjQ5ODY0MDAsMTIzODI4ODQwMCwxMjU2NDM2ZTMsMTI2OTczOGUzLDEyODg0OTA0MDAsMTMwMTE4NzYwMCwxMzE5OTRlNCwxMzMyNjM3MjAwLDEzNTEzODk2MDAsMTM2NDY5MTYwMCwxMzgyODM5MjAwLDEzOTYxNDEyMDAsMTQxNDI4ODgwMCwxNDI3NTkwODAwLDE0NDU3Mzg0MDAsMTQ1OTA0MDQwMCwxNDc3NzkyODAwLDE0OTA0OWU0LDE1MDkyNDI0MDAsMTUyMTkzOTYwMCwxNTQwNjkyZTMsMTU1Mzk5NGUzLDE1NzIxNDE2MDAsMTU4NTQ0MzYwMCwxNjAzNTkxMjAwLDE2MTY4OTMyMDAsMTYzNTY0NTYwMCwxNjQ4MzQyODAwLDE2NjcwOTUyMDAsMTY3OTc5MjQwMCwxNjk4NTQ0ODAwLDE3MTE4NDY4MDAsMTcyOTk5NDQwMCwxNzQzMjk2NDAwLDE3NjE0NDRlMywxNzc0NzQ2ZTMsMTc5Mjg5MzYwMCwxODA2MTk1NjAwLDE4MjQ5NDhlMywxODM3NjQ1MjAwLDE4NTYzOTc2MDAsMTg2OTA5NDgwMCwxODg3ODQ3MjAwLDE5MDExNDkyMDAsMTkxOTI5NjgwMCwxOTMyNTk4ODAwXSwKb2Zmc2V0OlstNzUsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDBdfSwiRXVyb3BlL0x1eGVtYm91cmciOnt0aW1lOlstMjA2OTcxMmUzLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLC0xNjYyMzM5NjAwLC0xNjUwMTVlNCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTYxMjY1NmUzLC0xNjA0Mjc4ODAwLC0xNTg1NTE1NjAwLC0xNTc0MDM4ODAwLC0xNTUyMjU1MjAwLC0xNTM5OTk3MjAwLC0xNTIwNTQ2NDAwLC0xNTA3NTEwODAwLC0xNDkwNTY5MjAwLC0xNDczNjQyZTMsLTE0NTkxMTZlMywtMTQ0NDAwNjgwMCwtMTQyNzY3ZTQsLTE0MTE4NjZlMywtMTM5NjIyMDQwMCwtMTM3OTI5MzIwMCwtMTM2NDc3MDgwMCwtMTM0ODQ0ODQwMCwtMTMzMzMyMTIwMCwtMTMxNjM5NGUzLC0xMzAxMjY2ODAwLC0xMjg0MzM5NjAwLC0xMjY5ODFlNCwtMTI1MzQ4NGUzLC0xMjM4MzYwNDAwLC0xMjIxNDI5NjAwLC0xMjA2OTEwODAwLC0xMTkxMTg5NjAwLC0xMTc1NDYxMjAwLC0xMTYwMzQ0ODAwLC0xMTQzNDA2ODAwLC0xMTI3Njg1NjAwLC0xMTExOTU3MjAwLC0xMDk2ODQwODAwLC0xMDgwNTA3NjAwLC0xMDYzNTc2ODAwLC0xMDQ5MDU4ZTMsLTEwMzMzMzY4MDAsLTEwMTc2MDg0MDAsLTEwMDI0OTJlMywtOTg2MTU4ODAwLC05NjkyMjhlMywtOTUwNDc1NjAwLC05NDIwMTJlMywtOTM1MTgyODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTc5Nzk2MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLC03NDU0NTJlMywtNzMzMjY2ZTMsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbMTQ3NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWRyaWQiOnt0aW1lOlstMjE3NzQ1MzY4NCwtMTYzMTkyNjgwMCwtMTYxNjg4NmUzLC0xNjAxMTY4NDAwLC0xNTg1MzVlNCwtMTQ0MjQ1MTYwMCwtMTQyNzY3ZTQsLTEzNzkyOTMyMDAsLTEzNjQ3NzA4MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjEyMDAsLTEzMTYzOTA0MDAsLTEzMDEyNjY4MDAsLTEyODQzMzk2MDAsLTEyNjk4MTcyMDAsLTEwMjY5NTRlMywtMTAxNzYxNTYwMCwtMTAwMTg5OGUzLC05OTk0Nzg4MDAsLTk4NjA4MzIwMCwtOTU0MTExNjAwLC05NDAyMDg0MDAsLTg3MzA3NTYwMCwtODYyNjE0ZTMsLTg0MjgzNTYwMCwtODI4MzEzMjAwLC04MTEzODZlMywtNzk2ODYzNjAwLC03Nzk5MzY0MDAsLTc2NTQxNGUzLC03NDg0ODY4MDAsLTczMzk2NDQwMCwtNjUyMzIzNjAwLC02MzkwMTA4MDAsMTM1MTI2ZTMsMTUwMjUzMjAwLDE2NjU3NTYwMCwxODE3MDI4MDAsMTk2ODE1NjAwLDIxMjU0NzYwMCwyMjg4N2U0LDI0Mzk5NzIwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbLTg4NCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9NYWx0YSI6e3RpbWU6Wy0yNDAzNDc1MjAwLC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNTg0ODAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwMjM4NGUzLDExODExMjQwMCwxMzU3MzQ0MDAsMTQ4NTI1MjAwLDE2NzE5MTIwMCwxODA0OTY4MDAsMTk4NjQwODAwLDIxMTk0NjQwMCwyMzAwOTA0MDAsMjQzMzk2ZTMsMjYxNTRlNCwyNzQ4NDU2MDAsMjkyOTg5NjAwLDMwNjI5NTIwMCwzMjMzMTZlMywzMzgzNDk2MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzM0ODQsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9Nb3Njb3ciOnt0aW1lOlstMjg0MDE0MDgwMCwtMTY4ODI1NmUzLC0xNjU2ODFlNCwtMTY0MTM0MDgwMCwtMTYyNzk1NmUzLC0xNjE4NzAwNDAwLC0xNTk2NDE2NDAwLC0xNTkzODA0NTIxLC0xNTg5ODQ2NDAwLC0xNTQyNDE2NDAwLC0xNTM5NDc4ODAwLC0xNTI1MzA1NjAwLC0xNTIyNzEzNjAwLC0xNDkxMTc3NjAwLC0xMjQ3NTI5NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw2OTU3ODY0MDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTQxNDI4ODgwMCwxOTI1MDAyODAwXSxvZmZzZXQ6WzkwMTcsOTAxNyw5MDc5LDEyNjc5LDkwNzksMTYyNzksMTI2NzksMTYyNzksMTQ0MDAsMTA4MDAsMTQ0MDAsMThlMywxNDQwMCwxMDgwMCw3MjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDAsMTQ0MDAsMTA4MDBdfSwiRXVyb3BlL09zbG8iOnsKdGltZTpbLTIzNjY3NTUyMDAsLTE2OTE4ODEyMDAsLTE2ODA1NjY0MDAsLTkyNzUwNzYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjUzMjA0MDAsLTM0MDg0MDgwMCwtMzI0NTA3NjAwLC0zMDg3ODY0MDAsLTI5MzA1OGUzLC0yNzczMzY4MDAsLTI2MTYwODQwMCwtMjQ1ODg3MjAwLC0yMzAxNTg4MDAsLTIxNDQzNzYwMCwtMTk4NzA5MjAwLC0xODI5ODhlMywtMTY2NjU0ODAwLC0xNDc5MDk2MDAsLTEzNTIwNTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjU4MCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9QYXJpcyI6ewp0aW1lOlstMjQ4NjU5MmUzLC0xODU1OTU4NDAwLC0xNjg5ODE0ODAwLC0xNjgwMzkzNjAwLC0xNjY1MzYzNjAwLC0xNjQ4MzM5MjAwLC0xNjM1MTIzNjAwLC0xNjE2ODg5NjAwLC0xNjA0Mjc4ODAwLC0xNTg1NDRlNCwtMTU3NDAzODgwMCwtMTU1MjI2MjQwMCwtMTUzOTk5NzIwMCwtMTUyMDU1MzYwMCwtMTUwNzUxMDgwMCwtMTQ5MDU3MjgwMCwtMTQ3MDYxOGUzLC0xNDU5MTIzMjAwLC0xNDQ0MDA2ODAwLC0xNDI3NjczNjAwLC0xNDExOTUyNDAwLC0xMzk2MjI0ZTMsLTEzNzkyOTMyMDAsLTEzNjQ3NzQ0MDAsLTEzNDg0NDg0MDAsLTEzMzMzMjQ4MDAsLTEzMTYzOTRlMywtMTMwMTI3MDQwMCwtMTI4NDMzOTYwMCwtMTI2OTgyMDgwMCwtMTI1MzQ5NDgwMCwtMTIzODM3MTIwMCwtMTIyMTQ0MDQwMCwtMTIwNjkyMTYwMCwtMTE5MTIwMDQwMCwtMTE3NTQ3MmUzLC0xMTYwMzU1NjAwLC0xMTQzNDE3NjAwLC0xMTI3Njk2NDAwLC0xMTExOTY4ZTMsLTEwOTY4NTE2MDAsLTEwODA1MTg0MDAsLTEwNjM1ODc2MDAsLTEwNDkwNjg4MDAsLTEwMzMzNDc2MDAsLTEwMTc2MTkyMDAsLTEwMDI1MDI4MDAsLTk4NjE2OTYwMCwtOTY5MjM4ODAwLC05NTA0ODY0MDAsLTk0MjAxMmUzLC05MzI0MzI0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTgwMDA2NGUzLC03OTYyNTg4MDAsLTc4MTA0ODgwMCwtNzY2NjE2NDAwLDE5NjgyMjgwMCwyMTI1NDc2MDAsMjI4ODgwODAwLDI0NDAwNDQwMCwyNjAzMzA0MDAsMjc2MDU4ODAwLDI5MTc4ZTQsMzA3NTA4NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1NjEsNTYxLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCwwLDM2MDAsMCwzNjAwLDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDBdfSwiRXVyb3BlL1ByYWd1ZSI6ewp0aW1lOlstMzc4NjgyNTYwMCwtMjQ2OTM5ODQwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC05Mzg5MDE2MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc4MTA0ODgwMCwtNzY1MzIwNDAwLC03NDY1NzUyMDAsLTczMzM1MjQwMCwtNzI4NTE0ZTMsLTcyMTI2ZTQsLTcxNjQyMTYwMCwtNzAxOTAyODAwLC02ODQ5NzJlMywtNjcwNDUzMjAwLC02NTQyMTM2MDAsLTYzOTAwMzYwMCwyOTE3OGU0LDMwNzUwODQwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMzQ2NCwzNDY0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCwwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9SaWdhIjp7CnRpbWU6Wy0yODQwMTQwODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAxNjc2ZTMsLTE1OTcyNjZlMywtMTM3NzMwMjQwMCwtOTI4MDIyNDAwLC04OTk1MTA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5Njc3ZTQsLTc5NTgzMDQwMCwzNTQ5MzEyMDAsMzcwNzQyNDAwLDM4NjQ2NzIwMCw0MDIyNzg0MDAsNDE4MDAzMjAwLDQzMzgxNDQwMCw0NDk2MjU2MDAsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0Mzk2NmUzLDg1OTY5MDgwMCw4Nzc4Mzg0MDAsODkxMTQwNDAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDk4NTQ4OTIwMCwxMDA0MjQxNjAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1Nzk0LDU3OTQsOTM5NCw1Nzk0LDkzOTQsNTc5NCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDE0NDAwLDEwODAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMF19LCJFdXJvcGUvUm9tZSI6ewp0aW1lOlstMzI1MjA5NmUzLC0yNDAzNTYyMjA0LC0xNjkwNzYxNjAwLC0xNjgwNDhlNCwtMTY2NDc1NTIwMCwtMTY0ODk0NGUzLC0xNjM1MTJlNCwtMTYxNjg4OTYwMCwtMTYwNDI3NTIwMCwtMTU4NTUyNjQwMCwtMTU3MTAxMTIwMCwtMTU1NTI4NjQwMCwtOTMyNDI4ODAwLC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTgwNjZlMywtNzgxMDQ4ODAwLC03NjY3MWU0LC03NTA4OTUyMDAsLTczMzM1MjQwMCwtNzE5NDUyODAwLC03MDE5MWU0LC02ODkyMDU2MDAsLTY3MDQ1MzIwMCwtMTE0MDQ4ZTMsLTEwMzE2MTYwMCwtODE5OTM2MDAsLTcxNzA4NDAwLC01MDU0NGUzLC00MDI1ODgwMCwtMTg0ODk2MDAsLTgyMDQ0MDAsMTI5NmU0LDIzMjQ1MjAwLDQzODA0ODAwLDU0Njk0ODAwLDc1ODU5MjAwLDg2NzQ5MjAwLDEwNzkxMzYwMCwxMTgxOTg4MDAsMTM4NzU4NDAwLDE0OTY0ODQwMCwxNzA4MTI4MDAsMTgxMDk4ZTMsMjAyMjYyNDAwLDIxMjU0NzYwMCwyMzMxMDcyMDAsMjQzOTk3MjAwLDI2NTE2MTYwMCwyNzYwNTE2MDAsMjk2NjExMjAwLDMwNzUwMTIwMCwzMjM4MzQ0MDAsMzM4OTU4ZTMsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLG9mZnNldDpbMjk5NiwyOTk2LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvU29maWEiOnsKdGltZTpbLTI4NDAxNDA4MDAsLTIzNjk1MmU0LC04NTcyNWU0LC04NDQ1NTI4MDAsLTgyODIxOTYwMCwtODEyNDk4NDAwLC03OTY3N2U0LC03ODEwNDUyMDAsMjkxNzY5MjAwLDMwNzU4NzYwMCwzMjM4MjM2MDAsMzM5MDM3MjAwLDM1NTI3MzIwMCwzNzA0MDRlMywzODY3MjI4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM3NzYwMCw2ODYxMDI0MDAsNzAxODI3MjAwLDcxNzU1MmUzLDczMzI3NjgwMCw3NDkwMDE2MDAsNzY0NzI2NDAwLDc4MDQ1MTIwMCw3OTYxNzZlMyw4MTE5MDA4MDAsODI4MjMwNDAwLDg0NjM3NDQwMCw4NTk2OTA4MDAsODc3ODM4NDAwLDg5MTE0MDQwMCw5MDkyODhlMyw5MjI1OWU0LDk0MTM0MjQwMCw5NTQwMzk2MDAsOTcyNzkyZTMsOTg1NDg5MjAwLDEwMDQyNDE2MDAsMTAxNzU0MzYwMCwxMDM1NjkxMjAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzU1OTYsNzAxNiw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1N0b2NraG9sbSI6e3RpbWU6Wy0yODcxNjc2ODAwLC0yMjA4OTg4ODAwLC0xNjkyNDkzMjAwLC0xNjgwNDc2NDAwLDMyMzgzNDQwMCwzMzg5NThlMywzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sCm9mZnNldDpbNDMzMiwzNjE0LDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9UYWxsaW5uIjp7dGltZTpbLTI4NDAxNDA4MDAsLTE2MzgzMTY4MDAsLTE2MzIwMDI0MDAsLTE2MTg2OTMyMDAsLTE1OTM4MjA4MDAsLTE1MzU5MzI4MDAsLTkyNzkzNmUzLC04OTI5NDRlMywtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk3NjQ0ODAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4OGUzLDkyMjU5ZTQsOTQxMzQyNDAwLDEwMTc1NDM2MDAsMTAzNTY5MTIwMCwxMDQ4OTkzMjAwLDEwNjcxNDA4MDAsMTA4MDQ0MjgwMCwxMDk5MTk1MjAwLDExMTE4OTI0MDAsMTEzMDY0NDgwMCwxMTQzMzQyZTMsMTE2MjA5NDQwMCwxMTc0NzkxNjAwLDExOTM1NDRlMywxMjA2ODQ2ZTMsMTIyNDk5MzYwMCwxMjM4Mjk1NjAwLDEyNTY0NDMyMDAsMTI2OTc0NTIwMCwxMjg4NDk3NjAwLDEzMDExOTQ4MDAsMTMxOTk0NzIwMCwxMzMyNjQ0NDAwLDEzNTEzOTY4MDAsMTM2NDY5ODgwMCwxMzgyODQ2NDAwLDEzOTYxNDg0MDAsMTQxNDI5NmUzLDE0Mjc1OThlMywxNDQ1NzQ1NjAwLDE0NTkwNDc2MDAsMTQ3NzhlNSwxNDkwNDk3MjAwLDE1MDkyNDk2MDAsMTUyMTk0NjgwMCwxNTQwNjk5MjAwLDE1NTQwMDEyMDAsMTU3MjE0ODgwMCwxNTg1NDUwODAwLDE2MDM1OTg0MDAsMTYxNjkwMDQwMCwxNjM1NjUyODAwLDE2NDgzNWU0LDE2NjcxMDI0MDAsMTY3OTc5OTYwMCwxNjk4NTUyZTMsMTcxMTg1NGUzLDE3MzAwMDE2MDAsMTc0MzMwMzYwMCwxNzYxNDUxMjAwLDE3NzQ3NTMyMDAsMTc5MjkwMDgwMCwxODA2MjAyODAwLDE4MjQ5NTUyMDAsMTgzNzY1MjQwMCwxODU2NDA0ODAwLDE4NjkxMDJlMywxODg3ODU0NDAwLDE5MDExNTY0MDAsMTkxOTMwNGUzLDE5MzI2MDZlM10sb2Zmc2V0Ols1OTQwLDU5NDAsMzYwMCw3MjAwLDM2MDAsNTk0MCw3MjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwXX0sIkV1cm9wZS9WaWVubmEiOnsKdGltZTpbLTI0MjIwNTEyMDAsLTE2OTM3MDI4MDAsLTE2ODA0NzY0MDAsLTE2NjM0NTJlMywtMTY1MDE0MjgwMCwtMTYzMjAwMjQwMCwtMTYxODY5MzIwMCwtMTU2OTcwOGUzLC0xNTU1Nzk0ZTMsLTkzODkwMTYwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03ODAxODEyMDAsLTc0ODQ3NmUzLC03MzMyNjZlMywtNzE3NjMxMjAwLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsMzIzODI3MjAwLDMzODk0NzIwMCwzNTQ2NzkyMDAsMzcwNDA3NjAwLDM4NjEyODgwMCw0MDE4NTcyMDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszOTIxLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJFdXJvcGUvVmlsbml1cyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTY3MjUzMTIwMCwtMTU4NTA5NDQwMCwtMTU2MTI0OGUzLC0xNTUzNTU4NDAwLC05MjgxOTUyMDAsLTkwMDExNTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtODAyMTM3NjAwLDM1NDkzMTIwMCwzNzA3NDI0MDAsMzg2NDY3MjAwLDQwMjI3ODQwMCw0MTgwMDMyMDAsNDMzODE0NDAwLDQ0OTYyNTYwMCw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTQwNDAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDEwNDg5OTMyMDAsMTA2NzE0MDgwMCwxMDgwNDQyODAwLDEwOTkxOTUyMDAsMTExMTg5MjQwMCwxMTMwNjQ0ODAwLDExNDMzNDJlMywxMTYyMDk0NDAwLDExNzQ3OTE2MDAsMTE5MzU0NGUzLDEyMDY4NDZlMywxMjI0OTkzNjAwLDEyMzgyOTU2MDAsMTI1NjQ0MzIwMCwxMjY5NzQ1MjAwLDEyODg0OTc2MDAsMTMwMTE5NDgwMCwxMzE5OTQ3MjAwLDEzMzI2NDQ0MDAsMTM1MTM5NjgwMCwxMzY0Njk4ODAwLDEzODI4NDY0MDAsMTM5NjE0ODQwMCwxNDE0Mjk2ZTMsMTQyNzU5OGUzLDE0NDU3NDU2MDAsMTQ1OTA0NzYwMCwxNDc3OGU1LDE0OTA0OTcyMDAsMTUwOTI0OTYwMCwxNTIxOTQ2ODAwLDE1NDA2OTkyMDAsMTU1NDAwMTIwMCwxNTcyMTQ4ODAwLDE1ODU0NTA4MDAsMTYwMzU5ODQwMCwxNjE2OTAwNDAwLDE2MzU2NTI4MDAsMTY0ODM1ZTQsMTY2NzEwMjQwMCwxNjc5Nzk5NjAwLDE2OTg1NTJlMywxNzExODU0ZTMsMTczMDAwMTYwMCwxNzQzMzAzNjAwLDE3NjE0NTEyMDAsMTc3NDc1MzIwMCwxNzkyOTAwODAwLDE4MDYyMDI4MDAsMTgyNDk1NTIwMCwxODM3NjUyNDAwLDE4NTY0MDQ4MDAsMTg2OTEwMmUzLDE4ODc4NTQ0MDAsMTkwMTE1NjQwMCwxOTE5MzA0ZTMsMTkzMjYwNmUzXSxvZmZzZXQ6WzYwNzYsNTA0MCw1NzM2LDM2MDAsNzIwMCwzNjAwLDEwODAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxNDQwMCwxMDgwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCw3MjAwLDM2MDAsNzIwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDAsMTA4MDAsNzIwMCwxMDgwMCw3MjAwLDEwODAwLDcyMDBdfSwiRXVyb3BlL1dhcnNhdyI6ewp0aW1lOlstMjg0MDE0MDgwMCwtMTcxNzAyNzIwMCwtMTY5MzcwMjgwMCwtMTY4MDQ3NjQwMCwtMTY2MzQ1MmUzLC0xNjUwMTQyODAwLC0xNjMyMDAyNDAwLC0xNjE4NjkzMjAwLC0xNjAwNDY2NDAwLC0xNTg3MTU3MjAwLC0xNTAxNzE4NDAwLC05MzE3MzA0MDAsLTg1NzI1ZTQsLTg0NDU1MjgwMCwtODI4MjE5NjAwLC04MTI0OTg0MDAsLTc5NjYwMDgwMCwtNzc4NzIzMjAwLC03NjI2NTI4MDAsLTc0ODQ4MzIwMCwtNzMzMjY2ZTMsLTcxNTIxMmUzLC03MDE5MDI4MDAsLTY4NDk3MmUzLC02NzA0NTMyMDAsLTY1NDEyNzIwMCwtNjM5MDAzNjAwLC0zOTcwOTA4MDAsLTM4NjgwNTYwMCwtMzcxMDg0NDAwLC0zNTUzNTZlMywtMzM0MTkxNjAwLC0zMjMzMDE2MDAsLTMwNzU4MDQwMCwtMjkxODUyZTMsLTI3MTI5MjQwMCwtMjYwNDAyNDAwLC0yMzk4NDI4MDAsLTIyODk1MjgwMCwtMjA4MzkzMjAwLC0xOTc1MDMyMDAsLTE3NjMzODgwMCwtMTY2MDUzNjAwLDIyODg3NzIwMCwyNDQwMDA4MDAsMjYwMzI2ODAwLDI3NjA1NTIwMCwyOTE3NzY0MDAsMzA3NTA0ODAwLDMyMzgzMDgwMCwzMzg5NTQ0MDAsMzU0Njc1NjAwLDM3MDQwNGUzLDM4NjEyNTIwMCw0MDE4NTM2MDAsNDE3NTc0ODAwLDQzMzMwMzIwMCw0NDkwMjQ0MDAsNDY1MzU3NjAwLDQ4MTA3ODgwMCw0OTY4MDcyMDAsNTEyNTI4NDAwLDUyODI1NjgwMCw1NDM5NzhlMyw1NTk3MDY0MDAsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0Ols1MDQwLDUwNDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsNzIwMCwxMDgwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9aYWdyZWIiOnsKdGltZTpbLTI3MTM5MTA0MDAsLTkwNTgyMTIwMCwtODU3MjVlNCwtODQ0NTUyODAwLC04MjgyMTk2MDAsLTgxMjQ5ODQwMCwtNzk2NzdlNCwtNzgxMDQ4ODAwLC03NjY2MTY0MDAsNDE3NTc4NDAwLDQzMzMwNjgwMCw0NDkwMjhlMyw0NjUzNjEyMDAsNDgxMDgyNDAwLDQ5NjgxMDgwMCw1MTI1MzJlMyw1MjgyNjA0MDAsNTQzOTgxNjAwLDU1OTcxZTQsNTc1NDMxMjAwLDU5MTE1OTYwMCw2MDY4ODA4MDAsNjIyNjA5MjAwLDYzODMzMDQwMCw2NTQ2NjM2MDAsNjcwMzg0ODAwLDY4NjExMzIwMCw3MDE4MzQ0MDAsNzE3NTYyODAwLDczMzI4NGUzLDc0OTAxMjQwMCw3NjQ3MzM2MDAsNzgwNDYyZTMsNzk2MTgzMjAwLDgxMTkxMTYwMCw4MjgyMzc2MDAsODQ2Mzg1MjAwLDg1OTY4NzIwMCw4Nzc4MzQ4MDAsODkxMTM2ODAwLDkwOTI4NDQwMCw5MjI1ODY0MDAsOTQxMzM4ODAwLDk1NDAzNmUzLDk3Mjc4ODQwMCw5ODU0ODU2MDAsMTAwNDIzOGUzLDEwMTc1NGU0LDEwMzU2ODc2MDAsMTA0ODk4OTYwMCwxMDY3MTM3MjAwLDEwODA0MzkyMDAsMTA5OTE5MTYwMCwxMTExODg4ODAwLDExMzA2NDEyMDAsMTE0MzMzODQwMCwxMTYyMDkwODAwLDExNzQ3ODhlMywxMTkzNTQwNDAwLDEyMDY4NDI0MDAsMTIyNDk5ZTQsMTIzODI5MmUzLDEyNTY0Mzk2MDAsMTI2OTc0MTYwMCwxMjg4NDk0ZTMsMTMwMTE5MTIwMCwxMzE5OTQzNjAwLDEzMzI2NDA4MDAsMTM1MTM5MzIwMCwxMzY0Njk1MjAwLDEzODI4NDI4MDAsMTM5NjE0NDgwMCwxNDE0MjkyNDAwLDE0Mjc1OTQ0MDAsMTQ0NTc0MmUzLDE0NTkwNDRlMywxNDc3Nzk2NDAwLDE0OTA0OTM2MDAsMTUwOTI0NmUzLDE1MjE5NDMyMDAsMTU0MDY5NTYwMCwxNTUzOTk3NjAwLDE1NzIxNDUyMDAsMTU4NTQ0NzIwMCwxNjAzNTk0ODAwLDE2MTY4OTY4MDAsMTYzNTY0OTIwMCwxNjQ4MzQ2NDAwLDE2NjcwOTg4MDAsMTY3OTc5NmUzLDE2OTg1NDg0MDAsMTcxMTg1MDQwMCwxNzI5OTk4ZTMsMTc0MzNlNSwxNzYxNDQ3NjAwLDE3NzQ3NDk2MDAsMTc5Mjg5NzIwMCwxODA2MTk5MjAwLDE4MjQ5NTE2MDAsMTgzNzY0ODgwMCwxODU2NDAxMjAwLDE4NjkwOTg0MDAsMTg4Nzg1MDgwMCwxOTAxMTUyODAwLDE5MTkzMDA0MDAsMTkzMjYwMjQwMF0sb2Zmc2V0OlszODMyLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwXX0sIkV1cm9wZS9adXJpY2giOnt0aW1lOlstMzY3NTE5NjgwMCwtMjM4NTI0NDgwMCwtOTA0NDMxNjAwLC04OTExMjI0MDAsLTg3Mjk4MmUzLC04NTk2NzI4MDAsMzU0Njc5MjAwLDM3MDQwNzYwMCwzODYxMjg4MDAsNDAxODU3MjAwLDQxNzU3ODQwMCw0MzMzMDY4MDAsNDQ5MDI4ZTMsNDY1MzYxMjAwLDQ4MTA4MjQwMCw0OTY4MTA4MDAsNTEyNTMyZTMsNTI4MjYwNDAwLDU0Mzk4MTYwMCw1NTk3MWU0LDU3NTQzMTIwMCw1OTExNTk2MDAsNjA2ODgwODAwLDYyMjYwOTIwMCw2MzgzMzA0MDAsNjU0NjYzNjAwLDY3MDM4NDgwMCw2ODYxMTMyMDAsNzAxODM0NDAwLDcxNzU2MjgwMCw3MzMyODRlMyw3NDkwMTI0MDAsNzY0NzMzNjAwLDc4MDQ2MmUzLDc5NjE4MzIwMCw4MTE5MTE2MDAsODI4MjM3NjAwLDg0NjM4NTIwMCw4NTk2ODcyMDAsODc3ODM0ODAwLDg5MTEzNjgwMCw5MDkyODQ0MDAsOTIyNTg2NDAwLDk0MTMzODgwMCw5NTQwMzZlMyw5NzI3ODg0MDAsOTg1NDg1NjAwLDEwMDQyMzhlMywxMDE3NTRlNCwxMDM1Njg3NjAwLDEwNDg5ODk2MDAsMTA2NzEzNzIwMCwxMDgwNDM5MjAwLDEwOTkxOTE2MDAsMTExMTg4ODgwMCwxMTMwNjQxMjAwLDExNDMzMzg0MDAsMTE2MjA5MDgwMCwxMTc0Nzg4ZTMsMTE5MzU0MDQwMCwxMjA2ODQyNDAwLDEyMjQ5OWU0LDEyMzgyOTJlMywxMjU2NDM5NjAwLDEyNjk3NDE2MDAsMTI4ODQ5NGUzLDEzMDExOTEyMDAsMTMxOTk0MzYwMCwxMzMyNjQwODAwLDEzNTEzOTMyMDAsMTM2NDY5NTIwMCwxMzgyODQyODAwLDEzOTYxNDQ4MDAsMTQxNDI5MjQwMCwxNDI3NTk0NDAwLDE0NDU3NDJlMywxNDU5MDQ0ZTMsMTQ3Nzc5NjQwMCwxNDkwNDkzNjAwLDE1MDkyNDZlMywxNTIxOTQzMjAwLDE1NDA2OTU2MDAsMTU1Mzk5NzYwMCwxNTcyMTQ1MjAwLDE1ODU0NDcyMDAsMTYwMzU5NDgwMCwxNjE2ODk2ODAwLDE2MzU2NDkyMDAsMTY0ODM0NjQwMCwxNjY3MDk4ODAwLDE2Nzk3OTZlMywxNjk4NTQ4NDAwLDE3MTE4NTA0MDAsMTcyOTk5OGUzLDE3NDMzZTUsMTc2MTQ0NzYwMCwxNzc0NzQ5NjAwLDE3OTI4OTcyMDAsMTgwNjE5OTIwMCwxODI0OTUxNjAwLDE4Mzc2NDg4MDAsMTg1NjQwMTIwMCwxODY5MDk4NDAwLDE4ODc4NTA4MDAsMTkwMTE1MjgwMCwxOTE5MzAwNDAwLDE5MzI2MDI0MDBdLApvZmZzZXQ6WzIwNDgsMTc4NiwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMCw3MjAwLDM2MDAsNzIwMCwzNjAwLDcyMDAsMzYwMF19LCJQYWNpZmljL0F1Y2tsYW5kIjp7dGltZTpbLTMxOTIzOTM2MDAsLTEzMzAyOTM2MDAsLTEzMjAwMTJlMywtMTMwMDY1ODQwMCwtMTI4NzM1MjgwMCwtMTI2OTIwODgwMCwtMTI1NTkwMzIwMCwtMTIzNzc1OTIwMCwtMTIyNDQ1MzYwMCwtMTIwNjMwOTYwMCwtMTE5MjM5OTIwMCwtMTE3NDg2ZTQsLTExNjA5NDk2MDAsLTExNDM0MTA0MDAsLTExMjU4NzEyMDAsLTExMTI1NjU2MDAsLTEwOTQ0MjE2MDAsLTEwODExMTZlMywtMTA2Mjk3MmUzLC0xMDQ5NjY2NDAwLC0xMDMxNTIyNDAwLC0xMDE4MjE2ODAwLC0xMDAwMDcyODAwLC05ODY3NjcyMDAsLTk2ODAxODQwMCwtOTU1MzE3NjAwLC05MzY1Njg4MDAsLTkyMzI2MzIwMCwtNzU3MzgyNDAwLDE1MjY3NmUzLDE2MjM1NjQwMCwxODM1MjA4MDAsMTk1MDE1NjAwLDIxNTU3NTIwMCwyMjY0NjUyMDAsMjQ3MDI0ODAwLDI1NzkxNDgwMCwyNzg0NzQ0MDAsMjg5MzY0NDAwLDMwOTkyNGUzLDMyMDgxNGUzLDM0MTM3MzYwMCwzNTIyNjM2MDAsMzcyODIzMjAwLDM4NDMxOGUzLDQwNDg3NzYwMCw0MTU3Njc2MDAsNDM2MzI3MjAwLDQ0NzIxNzIwMCw0Njc3NzY4MDAsNDc4NjY2ODAwLDQ5OTIyNjQwMCw1MTAxMTY0MDAsNTMwNjc2ZTMsNTQxNTY2ZTMsNTYyMTI1NjAwLDU3MzYyMDQwMCw1OTQxOGU0LDYwNTA3ZTQsNjIzODE1MjAwLDYzNzcyOTIwMCw2NTUyNjQ4MDAsNjY5MTc4ODAwLDY4NjcxNDQwMCw3MDA2Mjg0MDAsNzE4MTY0ZTMsNzMyNjgyODAwLDc0OTYxMzYwMCw3NjQxMzI0MDAsNzgxMDYzMjAwLDc5NTU4MmUzLDgxMjUxMjgwMCw4MjcwMzE2MDAsODQ0NTY3MjAwLDg1ODQ4MTIwMCw4NzYwMTY4MDAsODg5OTMwODAwLDkwNzQ2NjQwMCw5MjE5ODUyMDAsOTM4OTE2ZTMsOTUzNDM0ODAwLDk3MDM2NTYwMCw5ODQ4ODQ0MDAsMTAwMjQyZTQsMTAxNjMzNGUzLDEwMzM4Njk2MDAsMTA0Nzc4MzYwMCwxMDY1MzE5MjAwLDEwNzk4MzhlMywxMDk2NzY4ODAwLDExMTEyODc2MDAsMTEyODIxODQwMCwxMTQyNzM3MjAwLDExNTk2NjhlMywxMTc0MTg2ODAwLDExOTExMTc2MDAsMTIwNzQ1MDgwMCwxMjIyNTY3MjAwLDEyMzg5MDA0MDAsMTI1NDAxNjgwMCwxMjcwMzVlNCwxMjg1NDY2NDAwLDEzMDE3OTk2MDAsMTMxNjkxNmUzLDEzMzMyNDkyMDAsMTM0ODk3MDQwMCwxMzY1MzAzNjAwLDEzODA0MmU0LDEzOTY3NTMyMDAsMTQxMTg2OTYwMCwxNDI4MjAyODAwLDE0NDMzMTkyMDAsMTQ1OTY1MjQwMCwxNDc0NzY4ODAwLDE0OTExMDJlMywxNTA2MjE4NDAwLDE1MjI1NTE2MDAsMTUzODI3MjgwMCwxNTU0NjA2ZTMsMTU2OTcyMjQwMCwxNTg2MDU1NjAwLDE2MDExNzJlMywxNjE3NTA1MjAwLDE2MzI2MjE2MDAsMTY0ODk1NDgwMCwxNjY0MDcxMjAwLDE2ODA0MDQ0MDAsMTY5NTUyMDgwMCwxNzEyNDU4ODAwLDE3Mjc1NzUyMDAsMTc0MzkwODQwMCwxNzU5MDI0ODAwLDE3NzUzNThlMywxNzkwNDc0NDAwLDE4MDY4MDc2MDAsMTgyMTkyNGUzLDE4MzgyNTcyMDAsMTg1MzM3MzYwMCwxODY5NzA2ODAwLDE4ODU0MjhlMywxOTAxNzYxMjAwLDE5MTY4Nzc2MDAsMTkzMzIxMDgwMF0sb2Zmc2V0Ols0MTk0NCw0MTQwMCw0NWUzLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQxNDAwLDQzMjAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwLDQzMjAwLDQ2ODAwXX0sIlBhY2lmaWMvQ2hhdGhhbSI6ewp0aW1lOlstMzE5MjM5MzYwMCwtNzU3MzgyNDAwLDE1MjY3ODcwMCwxNjIzNTkxMDAsMTgzNTIzNTAwLDE5NTAxODMwMCwyMTU1Nzc5MDAsMjI2NDY3OTAwLDI0NzAyNzUwMCwyNTc5MTc1MDAsMjc4NDc3MTAwLDI4OTM2NzEwMCwzMDk5MjY3MDAsMzIwODE2NzAwLDM0MTM3NjMwMCwzNTIyNjYzMDAsMzcyODI1OTAwLDM4NDMyMDcwMCw0MDQ4ODAzMDAsNDE1NzcwMzAwLDQzNjMyOTkwMCw0NDcyMTk5MDAsNDY3Nzc5NTAwLDQ3ODY2OTUwMCw0OTkyMjkxMDAsNTEwMTE5MTAwLDUzMDY3ODcwMCw1NDE1Njg3MDAsNTYyMTI4MzAwLDU3MzYyMzEwMCw1OTQxODI3MDAsNjA1MDcyNzAwLDYyMzgxNzkwMCw2Mzc3MzE5MDAsNjU1MjY3NTAwLDY2OTE4MTUwMCw2ODY3MTcxMDAsNzAwNjMxMTAwLDcxODE2NjcwMCw3MzI2ODU1MDAsNzQ5NjE2MzAwLDc2NDEzNTEwMCw3ODEwNjU5MDAsNzk1NTg0NzAwLDgxMjUxNTUwMCw4MjcwMzQzMDAsODQ0NTY5OTAwLDg1ODQ4MzkwMCw4NzYwMTk1MDAsODg5OTMzNTAwLDkwNzQ2OTEwMCw5MjE5ODc5MDAsOTM4OTE4NzAwLDk1MzQzNzUwMCw5NzAzNjgzMDAsOTg0ODg3MTAwLDEwMDI0MjI3MDAsMTAxNjMzNjcwMCwxMDMzODcyMzAwLDEwNDc3ODYzMDAsMTA2NTMyMTkwMCwxMDc5ODQwNzAwLDEwOTY3NzE1MDAsMTExMTI5MDMwMCwxMTI4MjIxMTAwLDExNDI3Mzk5MDAsMTE1OTY3MDcwMCwxMTc0MTg5NTAwLDExOTExMjAzMDAsMTIwNzQ1MzUwMCwxMjIyNTY5OTAwLDEyMzg5MDMxMDAsMTI1NDAxOTUwMCwxMjcwMzUyNzAwLDEyODU0NjkxMDAsMTMwMTgwMjMwMCwxMzE2OTE4NzAwLDEzMzMyNTE5MDAsMTM0ODk3MzEwMCwxMzY1MzA2MzAwLDEzODA0MjI3MDAsMTM5Njc1NTkwMCwxNDExODcyMzAwLDE0MjgyMDU1MDAsMTQ0MzMyMTkwMCwxNDU5NjU1MTAwLDE0NzQ3NzE1MDAsMTQ5MTEwNDcwMCwxNTA2MjIxMTAwLDE1MjI1NTQzMDAsMTUzODI3NTUwMCwxNTU0NjA4NzAwLDE1Njk3MjUxMDAsMTU4NjA1ODMwMCwxNjAxMTc0NzAwLDE2MTc1MDc5MDAsMTYzMjYyNDMwMCwxNjQ4OTU3NTAwLDE2NjQwNzM5MDAsMTY4MDQwNzEwMCwxNjk1NTIzNTAwLDE3MTI0NjE1MDAsMTcyNzU3NzkwMCwxNzQzOTExMTAwLDE3NTkwMjc1MDAsMTc3NTM2MDcwMCwxNzkwNDc3MTAwLDE4MDY4MTAzMDAsMTgyMTkyNjcwMCwxODM4MjU5OTAwLDE4NTMzNzYzMDAsMTg2OTcwOTUwMCwxODg1NDMwNzAwLDE5MDE3NjM5MDAsMTkxNjg4MDMwMCwxOTMzMjEzNTAwXSxvZmZzZXQ6WzQ0MDI4LDQ0MTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwLDQ1OTAwLDQ5NTAwXX0sIlBhY2lmaWMvRmFrYW9mbyI6e3RpbWU6Wy0yMTc3NDUyODAwLDEzMjUyMDMyMDAsMTkyNTAzODgwMF0sb2Zmc2V0OlstNDEwOTYsLTM5NjAwLDQ2ODAwXX0sIlBhY2lmaWMvSG9ub2x1bHUiOnt0aW1lOlstMjMzNDEzOTIwMCwtMTE1NzMyMDgwMCwtMTE1NTQ3MDQwMCwtODgwMjM2ZTMsLTc2OTQyOTgwMCwtNzY1NDEwNDAwLC03MTIxODhlMywxOTI0OTU2ZTNdLG9mZnNldDpbLTM3ODg2LC0zNzgwMCwtMzQyMDAsLTM3ODAwLC0zNDIwMCwtMzQyMDAsLTM3ODAwLC0zNmUzXX0sIlBhY2lmaWMvTm9yZm9sayI6e3RpbWU6Wy0yMTc3NDUyODAwLC01OTk2MTZlMywxNTIwNzEyMDAsMTYyOTYxMjAwLDE0NDM5MjRlMywxNTcwMzI3MjAwLDE1ODYwNTU2MDAsMTYwMTc3NjgwMCwxNjE3NTA1MjAwLDE2MzMyMjY0MDAsMTY0ODk1NDgwMCwxNjY0Njc2ZTMsMTY4MDQwNDQwMCwxNjk2MTI1NjAwLDE3MTI0NTg4MDAsMTcyODE4ZTQsMTc0MzkwODQwMCwxNzU5NjI5NjAwLDE3NzUzNThlMywxNzkxMDc5MjAwLDE4MDY4MDc2MDAsMTgyMjUyODgwMCwxODM4MjU3MjAwLDE4NTM5Nzg0MDAsMTg2OTcwNjgwMCwxODg2MDMyODAwLDE5MDE3NjEyMDAsMTkxNzQ4MjQwMCwxOTMzMjEwODAwXSxvZmZzZXQ6WzQwMzEyLDQwMzIwLDQxNDAwLDQ1ZTMsNDE0MDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDAsMzk2MDAsNDMyMDBdfSwiVVMvTW91bnRhaW4iOnsKdGltZTpbLTI3MTc2Njg3OTYsLTE2MzMyOTg0MDAsLTE2MTUxNTQ0MDAsLTE2MDE4NDg4MDAsLTE1ODM3MDQ4MDAsLTE1NzAzOTkyMDAsLTE1NTE2NTA0MDAsLTE1Mzg5NDk2MDAsLTE1MzQxMTEyMDAsLTg4MDIzNmUzLC03Njk0MTcyMDAsLTc2NTQxMDQwMCwtMTQ3OTA5NjAwLC0xMzE1OGU0LC0xMTY0NmU0LC0xMDAxMzA0MDAsLTg0NDA1NjAwLC02ODY4MDgwMCwtNTI5NTZlMywtMzcyMzEyMDAsLTIxNTA2NDAwLC01NzgxNjAwLDk5NDMyMDAsMjU2NjhlMyw0MTM5MjgwMCw1NzcyMjQwMCw3MzQ0NzIwMCw4OTE3MmUzLDEwNDg5NjgwMCwxMjA2MjE2MDAsMTI2NjY5NjAwLDE1MjA3MTIwMCwxNjIzNTI4MDAsMTgzNTIwODAwLDE5OTI0NTYwMCwyMTU1NzUyMDAsMjMwNjk1MjAwLDI0NzAyNDgwMCwyNjI3NDk2MDAsMjc4NDc0NDAwLDI5NDE5OTIwMCwzMDk5MjRlMywzMjU2NDg4MDAsMzQxMzczNjAwLDM1NzA5ODQwMCwzNzI4MjMyMDAsMzg4NTQ4ZTMsNDA0ODc3NjAwLDQxOTk5NzYwMCw0MzYzMjcyMDAsNDUyMDUyZTMsNDY3Nzc2ODAwLDQ4MzUwMTYwMCw0OTkyMjY0MDAsNTE0OTUxMjAwLDUzMDY3NmUzLDU0NDU4NjQwMCw1NjIxMjU2MDAsNTc2MDM2ZTMsNTk0MThlNCw2MDc0ODU2MDAsNjI1NjI5NjAwLDYzODkzNTIwMCw2NTcwNzkyMDAsNjcwOTg5NjAwLDY4ODUyODgwMCw3MDI0MzkyMDAsNzE5OTc4NDAwLDczMzg4ODgwMCw3NTIwMzI4MDAsNzY1MzM4NDAwLDc4MzQ4MjQwMCw3OTY3ODhlMyw4MTQ5MzJlMyw4Mjg4NDI0MDAsODQ2MzgxNjAwLDg2MDI5MmUzLDg3NzgzMTIwMCw4OTE3NDE2MDAsOTA5MjgwODAwLDkyMzE5MTIwMCw5NDEzMzUyMDAsOTU0NjQwODAwLDk3Mjc4NDgwMCw5ODYwOTA0MDAsMTAwNDIzNDQwMCwxMDE4MTQ0ODAwLDEwMzU2ODRlMywxMDQ5NTk0NDAwLDEwNjcxMzM2MDAsMTA4MTA0NGUzLDEwOTkxODhlMywxMTEyNDkzNjAwLDExMzA2Mzc2MDAsMTE0Mzk0MzIwMCwxMTYyMDg3MjAwLDExNzM1Nzg0MDAsMTE5NDE0MTYwMCwxMjA1MDI4ZTMsMTIyNTU5MTIwMCwxMjM2NDc3NjAwLDEyNTcwNDA4MDAsMTI2ODUzMmUzLDEyODkwOTUyMDAsMTI5OTk4MTYwMCwxMzIwNTQ0ODAwLDEzMzE0MzEyMDAsMTM1MTk5NDQwMCwxMzYyODgwODAwLDEzODM0NDRlMywxMzk0MzMwNDAwLDE0MTQ4OTM2MDAsMTQyNTc4ZTQsMTQ0NjM0MzIwMCwxNDU3ODM0NDAwLDE0NzgzOTc2MDAsMTQ4OTI4NGUzLDE1MDk4NDcyMDAsMTUyMDczMzYwMCwxNTQxMjk2ODAwLDE1NTIxODMyMDAsMTU3Mjc0NjQwMCwxNTgzNjMyODAwLDE2MDQxOTZlMywxNjE1Njg3MjAwLDE2MzYyNTA0MDAsMTY0NzEzNjgwMCwxNjY3N2U1LDE2Nzg1ODY0MDAsMTY5OTE0OTYwMCwxNzEwMDM2ZTMsMTczMDU5OTIwMCwxNzQxNDg1NjAwLDE3NjIwNDg4MDAsMTc3MjkzNTIwMCwxNzkzNDk4NDAwLDE4MDQ5ODk2MDAsMTgyNTU1MjgwMCwxODM2NDM5MjAwLDE4NTcwMDI0MDAsMTg2Nzg4ODgwMCwxODg4NDUyZTMsMTg5OTMzODQwMCwxOTE5OTAxNjAwLDE5MzA3ODhlM10sb2Zmc2V0OlstMjUxOTYsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDAsLTIxNjAwLC0yNTIwMCwtMjE2MDAsLTI1MjAwLC0yMTYwMCwtMjUyMDBdfX19fV0pOw=="}},"time_used":23,"timings":{"blocked":12,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.798Z","timestamp":1785139583798,"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-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 08:06:23 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: 9b280c9b0eae355b8367270f1b645524\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-08-12T17:55:33.151156Z","times_seen":2562,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtODRvdDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLTg0b3Q6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBhaXIteHdHc1NYUjB7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDoxNHB4O3dpZHRoOjE0cHh9LnBhaXIteHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ucGFpci14d0dzU1hSMC54eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyMHB4O3dpZHRoOjIwcHh9LnBhaXIteHdHc1NYUjAueHNtYWxsLXh3R3NTWFIwe2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9LnBhaXIteHdHc1NYUjAuc21hbGwteHdHc1NYUjB7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucGFpci14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ucGFpci14d0dzU1hSMC5sYXJnZS14d0dzU1hSMHtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5wYWlyLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NTZweDt3aWR0aDo1NnB4fS5wYWlyLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjB7aGVpZ2h0OjExMnB4O3dpZHRoOjExMnB4fS5wYWlyLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxNjhweDt3aWR0aDoxNjhweH0ucGFpci14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjB7aGVpZ2h0OjEycHh9LnBhaXIteHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHh9LmxvZ28teHdHc1NYUjB7Ym9yZGVyLXJhZGl1czo1MCV9LmxvZ28teHdHc1NYUjA6bm90KGltZyl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC04NG90KX0ubG9nby14d0dzU1hSMDpmaXJzdC1jaGlsZCwubG9nby14d0dzU1hSMDpsYXN0LWNoaWxke3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwe2hlaWdodDo4cHg7d2lkdGg6OHB4fS5sb2dvLXh3R3NTWFIwLnh4Y2VwdGlvbmFsbHlzbWFsbGRvbm90dXNlYnJ2MTAyMy14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCl9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwe2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmxvZ28teHdHc1NYUjAueHh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOHB4KX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4eHNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9LmxvZ28teHdHc1NYUjAueHhzbWFsbC14d0dzU1hSMHtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjB7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubG9nby14d0dzU1hSMC54c21hbGwteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC04cHgsOHB4KX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5sb2dvLXh3R3NTWFIwLnNtYWxsLXh3R3NTWFIwOmxhc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTBweCwxMHB4KX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjB7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LDEycHgpfS5sb2dvLXh3R3NTWFIwLmxhcmdlLXh3R3NTWFIwe2hlaWdodDozMnB4O3dpZHRoOjMycHh9LmxvZ28teHdHc1NYUjAubGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6MzhweDt3aWR0aDozOHB4fS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMHtoZWlnaHQ6NzZweDt3aWR0aDo3NnB4fS5sb2dvLXh3R3NTWFIwLnh4bGFyZ2UteHdHc1NYUjA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlKC0zNnB4LDM2cHgpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwe2hlaWdodDoxMTRweDt3aWR0aDoxMTRweH0ubG9nby14d0dzU1hSMC54eHhsYXJnZS14d0dzU1hSMDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGUoLTU0cHgsNTRweCl9LmxvZ28teHdHc1NYUjAueHhjZXB0aW9uYWxseXNtYWxsZG9ub3R1c2VicnYxMDIzLXh3R3NTWFIwOmxhc3QtY2hpbGR7b3V0bGluZToxcHggc29saWQgdmFyKC0tdWktbGliLWJhZGdlLWFjdHVhbC1iYWNrZ3JvdW5kKX0ubG9nby14d0dzU1hSMC54eHh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0zLjc0ODgyIDExLjU2MzRDNS4xNDIzOSAxMC4xMjM2IDYgOC4xNjE5OCA2IDZDNiAzLjgzODAyIDUuMTQyMzkgMS44NzYzNSAzLjc0ODgyIDAuNDM2NjE3QzQuNDQzOTYgMC4xNTUwNTYgNS4yMDM4NyAtNS45NDEzNmUtMDcgNiAtNS4yNDUzN2UtMDdDOS4zMTM3MSAtMi4zNDg0M2UtMDcgMTIgMi42ODYyOSAxMiA2QzEyIDkuMzEzNzEgOS4zMTM3MSAxMiA2IDEyQzUuMjAzODcgMTIgNC40NDM5NiAxMS44NDQ5IDMuNzQ4ODIgMTEuNTYzNFoiKX0ubG9nby14d0dzU1hSMC54eHhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTEyIDBIMHY0YTggOCAwIDAgMSA4IDhoNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4c21hbGwteHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0xMiAwSDB2Ni4yNTRBOCA4IDAgMCAxIDUuNzQ2IDEySDEyWiIpfS5sb2dvLXh3R3NTWFIwLnhzbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE2IDhBOCA4IDAgMCAwIC4zIDZhMTAgMTAgMCAwIDEgOS43IDkuN0E4IDggMCAwIDAgMTYgOFoiKX0ubG9nby14d0dzU1hSMC5zbWFsbC14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTE4IDBIMHY4LjA0QTExIDExIDAgMCAxIDkuOTYgMThIMThWMFoiKX0ubG9nby14d0dzU1hSMC5tZWRpdW0teHdHc1NYUjA6Zmlyc3QtY2hpbGR7Y2xpcC1wYXRoOnBhdGgoIk0yNCAwSDB2MTBjOCAwIDE0IDYgMTQgMTRoMTBWMFoiKX0ubG9nby14d0dzU1hSMC5sYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTMyIDBIMHYxNGExOCAxOCAwIDAgMSAxOCAxOGgxNFYwWiIpfS5sb2dvLXh3R3NTWFIwLnhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTM4IDBIMHYxNi4wMkwxIDE2YTIxIDIxIDAgMCAxIDIwLjk4IDIySDM4VjBaIil9LmxvZ28teHdHc1NYUjAueHhsYXJnZS14d0dzU1hSMDpmaXJzdC1jaGlsZHtjbGlwLXBhdGg6cGF0aCgiTTc2IDBIMHYzMi4wNUE0MiA0MiAwIDAgMSA0My45NSA3Nkg3NlYwWiIpfS5sb2dvLXh3R3NTWFIwLnh4eGxhcmdlLXh3R3NTWFIwOmZpcnN0LWNoaWxke2NsaXAtcGF0aDpwYXRoKCJNMTEzIDBIMFY0OGMzNS0xIDY2IDI2IDY2IDY2djBoNDhWMFoiKX0uc2tlbGV0b24teHdHc1NYUjB7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9LmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tbGlnaHQuNmQwYjczMWFjNmY0ODlmMDZlNjUuc3ZnKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbn1odG1sLnRoZW1lLWRhcmsgLmVtcHR5LXh3R3NTWFIwe2JhY2tncm91bmQtaW1hZ2U6dXJsKGVtcHR5LWNvaW4tZGFyay5kNmQwN2JmZjkyZDdlNGRmZjVhZC5zdmcpfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.295Z","timestamp":1785139584295,"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-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 08:06:24 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: f68ed1bae2741d8e40e62faacf065cc9\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-08-12T05:10:43.317166Z","times_seen":185,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV8xLW1aQUg6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1tWkFIOnZhcigtLWNvbG9yLWNvbGQtZ3JheS04MDApOy0tXzEtbVpBSDp2YXIoLS1jb2xvci1jb2xkLWdyYXktNzAwKX0uZGl2aWRlci1Db0EyZDVDN3tib3JkZXI6bm9uZTtib3JkZXItY29sb3I6dmFyKC0tdWktbGliLWRpdmlkZXItY29sb3IsdmFyKC0tdWktbGliLWJ1dHRvbi1kZWZhdWx0LWNvbG9yLWJvcmRlcikpO21hcmdpbjowfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDt3aWR0aDoxMDAlfS5kaXZpZGVyLUNvQTJkNUM3Lm9yaWVudGF0aW9uLXZlcnRpY2FsLUNvQTJkNUM3e2JvcmRlci1pbmxpbmUtc3RhcnQtc3R5bGU6c29saWQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoyY2g7dmVydGljYWwtYWxpZ246c3VifS5kaXZpZGVyLUNvQTJkNUM3LmZpdC1jb250ZW50LUNvQTJkNUM3Lm9yaWVudGF0aW9uLWhvcml6b250YWwtQ29BMmQ1Qzd7d2lkdGg6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5maXQtY29udGVudC1Db0EyZDVDNy5vcmllbnRhdGlvbi12ZXJ0aWNhbC1Db0EyZDVDN3toZWlnaHQ6YXV0b30uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhzbWFsbC1Db0EyZDVDN3tib3JkZXItd2lkdGg6MXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtc21hbGwtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjJweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLW1lZGl1bS1Db0EyZDVDN3tib3JkZXItd2lkdGg6M3B4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUtbGFyZ2UtQ29BMmQ1Qzd7Ym9yZGVyLXdpZHRoOjRweH0uZGl2aWRlci1Db0EyZDVDNy5zaXplLXhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NXB4fS5kaXZpZGVyLUNvQTJkNUM3LnNpemUteHhsYXJnZS1Db0EyZDVDN3tib3JkZXItd2lkdGg6NnB4fS5kaXZpZGVyLUNvQTJkNUM3LnR5cGUtcHJpbWFyeS1Db0EyZDVDN3stLXVpLWxpYi1idXR0b24tZGVmYXVsdC1jb2xvci1ib3JkZXI6dmFyKC0tXzEtbVpBSCl9LmRpdmlkZXItQ29BMmQ1QzcudHlwZS1zZWNvbmRhcnktQ29BMmQ1Qzd7LS11aS1saWItYnV0dG9uLWRlZmF1bHQtY29sb3ItYm9yZGVyOnZhcigtLV8wLW1aQUgpfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.828Z","timestamp":1785139584828,"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-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 08:06:24 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: 6c2ef3ffce046497af05e0d9afab9c78\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-28T06:17:53.601272Z","times_seen":82,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.803Z","timestamp":1785139582803,"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-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 08:06:22 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: 5c4c6979e9cc62ffc7d26a03172d1ffd\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-08-11T04:45:48.816224Z","times_seen":528,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s5NTExNF0sezgxOTA3OCh0KXt0LmV4cG9ydHM9WyIzTSJdfSwyNzIwOTgodCl7dC5leHBvcnRzPVsiM1kiXX0sOTk1MDY2KHQpe3QuZXhwb3J0cz1bIjEwWSJdfSw4MzI3MzModCl7dC5leHBvcnRzPVsiMU0iXX0sOTM4MTAwKHQpe3QuZXhwb3J0cz1bIjFEIl19LDQ5MjEzNSh0KXt0LmV4cG9ydHM9WyIxVyJdfSw3NzAzMDModCl7dC5leHBvcnRzPVsiMVkiXX0sOTM0Nzc3KHQpe3QuZXhwb3J0cz1bIjJZIl19LDgyODU1KHQpe3QuZXhwb3J0cz1bIjVEIl19LDQ0NjU2MCh0KXt0LmV4cG9ydHM9WyI1WSJdfSw2ODA3Nih0KXt0LmV4cG9ydHM9WyI2TSJdfSwzODg3NzAodCl7dC5leHBvcnRzPVsiQ2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDgzNDgyMih0KXt0LmV4cG9ydHM9WyJDaGFydCBpbWFnZSBlbWJlZCBjb2RlIGNvcGllZCB0byBjbGlwYm9hcmQge2Vtb2ppfSJdfSwxNjE1MjgodCl7dC5leHBvcnRzPVsiQ2xpY2sgdG8gc2V0IGEgcG9pbnQiXX0sMjMzNjkwKHQpe3QuZXhwb3J0cz1bIkFsbCJdfSwyOTY0NzEodCl7dC5leHBvcnRzPVsiRG91YmxlLWNsaWNrIGFueSBlZGdlIHRvIHJlc2V0IGxheW91dCBncmlkIl19LDY0MTE2MSh0KXt0LmV4cG9ydHM9WyJEb3VibGUtY2xpY2sgdG8gZmluaXNoIHBhdGgiXX0sNTgwOTg1KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS1jbGljayB0byBmaW5pc2ggcG9seWxpbmUiXX0sMTM3MTQ5KHQpe3QuZXhwb3J0cz1bIkRvdWJsZS10YXAgYW55IGVkZ2UgdG8gcmVzZXQgbGF5b3V0IGdyaWQiXX0sODIxMjQ4KHQpe3QuZXhwb3J0cz1bIkhvdGxpc3RzIl19LDU4MjMwMyh0KXt0LmV4cG9ydHM9WyJIb2xkIHtrZXl9IGZvciB0ZW1wb3JhcnkgZHJhd2luZyJdfSw5NDQ3MDgodCl7dC5leHBvcnRzPVsiSGVhZHMgdXAg4oCUIHRoZSBhbmNob3JlZCB0ZXh0IHRvb2wgd2lsbCBiZSByZW1vdmVkIHNvb24uIFVzZSB0aGUgdGV4dCB0b29sIHdpdGggdGhlIGFuY2hvciBvcHRpb24gc3dpdGNoZWQgb24gdG8gZ2V0IHRoZSBzYW1lIHJlc3VsdHMuIl19LDIyMjkodCl7dC5leHBvcnRzPVsiTGluayB0byB0aGUgY2hhcnQgaW1hZ2UgY29waWVkIHRvIGNsaXBib2FyZCB7ZW1vaml9Il19LDczMDkzNSh0KXt0LmV4cG9ydHM9WyJNb3ZlIHRoZSBwb2ludCB0byBwb3NpdGlvbiB0aGUgYW5jaG9yIHRoZW4gdGFwIHRvIHBsYWNlIl19LDQ3NTI5OSh0KXt0LmV4cG9ydHM9WyJQcmVzcyBhbmQgaG9sZCB7a2V5fSB3aGlsZSB6b29taW5nIHRvIG1haW50YWluIHRoZSBjaGFydCBwb3NpdGlvbiJdfSwzOTc3ODgodCl7dC5leHBvcnRzPVsiV2F0Y2hsaXN0Il19LDcxNjA2Nih0KXt0LmV4cG9ydHM9WyJXaWRnZXRzIl19LDQyMjM2OSh0KXt0LmV4cG9ydHM9WyJZVEQiXX0sNDg1NDIwKHQpe3QuZXhwb3J0cz1bIlllYXIgdG8gZGF0ZSJdfSwxMDMwMzAodCl7dC5leHBvcnRzPVsie3N0cn0gZGF5Iiwie3N0cn0gZGF5cyJdfSwyMTA1NzQodCl7dC5leHBvcnRzPVsie3N0cn0gaG91ciIsIntzdHJ9IGhvdXJzIl19LDY5NDYxNyh0KXt0LmV4cG9ydHM9WyJ7c3RyfSBtb250aCIsIntzdHJ9IG1vbnRocyJdfSw0MzkwKHQpe3QuZXhwb3J0cz1bIntzdHJ9IG1pbnV0ZSIsIntzdHJ9IG1pbnV0ZXMiXX0sNjQ0NjI1KHQpe3QuZXhwb3J0cz1bIntzdHJ9IHdlZWsiLCJ7c3RyfSB3ZWVrcyJdfSwyMTY0MDIodCl7dC5leHBvcnRzPVsie3N0cn0geWVhciIsIntzdHJ9IHllYXJzIl19fV0pOw=="}},"time_used":65,"timings":{"blocked":-1,"dns":1,"connect":4,"send":0,"wait":3,"receive":-1,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.805Z","timestamp":1785139582805,"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-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 08:06:22 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: 383891f69c3ac4114b378377e0256e46\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-08-12T17:55:33.081233Z","times_seen":5358,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbMTMxNDhdLHs3MzU5ODModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7Y29uc3Qgbz1mdW5jdGlvbigpe3RoaXMuX19kYXRhX189W10sdGhpcy5zaXplPTB9O3ZhciByPW4oOTEwNzc4KTtjb25zdCBhPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoKDAsci5kZWZhdWx0KSh0W25dWzBdLGUpKXJldHVybiBuO3JldHVybi0xfTt2YXIgcz1BcnJheS5wcm90b3R5cGUuc3BsaWNlO2NvbnN0IGM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4hKG48MCkmJihuPT1lLmxlbmd0aC0xP2UucG9wKCk6cy5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwhMCl9O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPWEoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybiBhKHRoaXMuX19kYXRhX18sdCk+LTF9O2NvbnN0IGw9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLG89YShuLHQpO3JldHVybiBvPDA/KCsrdGhpcy5zaXplLG4ucHVzaChbdCxlXSkpOm5bb11bMV09ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPW8sZi5wcm90b3R5cGUuZGVsZXRlPWMsZi5wcm90b3R5cGUuZ2V0PWksZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mfSw2OTQyMSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE2MjMxNikscj1uKDk4MTUyMyk7Y29uc3QgYT0oMCxvLmRlZmF1bHQpKHIuZGVmYXVsdCwiTWFwIil9LDcxMzE0OCh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pnp9KTtjb25zdCBvPSgwLG4oMTYyMzE2KS5kZWZhdWx0KShPYmplY3QsImNyZWF0ZSIpO2NvbnN0IHI9ZnVuY3Rpb24oKXt0aGlzLl9fZGF0YV9fPW8/byhudWxsKTp7fSx0aGlzLnNpemU9MH07Y29uc3QgYT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX07dmFyIHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCBjPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187aWYobyl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBzLmNhbGwoZSx0KT9lW3RdOnZvaWQgMH07dmFyIGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtjb25zdCB1PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIG8/dm9pZCAwIT09ZVt0XTppLmNhbGwoZSx0KX07Y29uc3QgbD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX19kYXRhX187cmV0dXJuIHRoaXMuc2l6ZSs9dGhpcy5oYXModCk/MDoxLG5bdF09byYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiBmKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgbz10W2VdO3RoaXMuc2V0KG9bMF0sb1sxXSl9fWYucHJvdG90eXBlLmNsZWFyPXIsZi5wcm90b3R5cGUuZGVsZXRlPWEsZi5wcm90b3R5cGUuZ2V0PWMsZi5wcm90b3R5cGUuaGFzPXUsZi5wcm90b3R5cGUuc2V0PWw7Y29uc3QgZD1mO3ZhciBfPW4oNzM1OTgzKSxoPW4oNjk0MjEpO2NvbnN0IHA9ZnVuY3Rpb24oKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBkLG1hcDpuZXcoaC5kZWZhdWx0fHxfLmRlZmF1bHQpLHN0cmluZzpuZXcgZH19O2NvbnN0IHY9ZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX19kYXRhX187cmV0dXJuIHYoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH07Y29uc3QgZz1mdW5jdGlvbih0KXt2YXIgZT15KHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9O2NvbnN0IGI9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5nZXQodCl9O2NvbnN0IGo9ZnVuY3Rpb24odCl7cmV0dXJuIHkodGhpcyx0KS5oYXModCl9O2NvbnN0IE89ZnVuY3Rpb24odCxlKXt2YXIgbj15KHRoaXMsdCksbz1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PW8/MDoxLHRoaXN9O2Z1bmN0aW9uIHcodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19dy5wcm90b3R5cGUuY2xlYXI9cCx3LnByb3RvdHlwZS5kZWxldGU9Zyx3LnByb3RvdHlwZS5nZXQ9Yix3LnByb3RvdHlwZS5oYXM9aix3LnByb3RvdHlwZS5zZXQ9Tztjb25zdCB6PXd9LDg3Mjk5OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPW4oOTgxNTIzKS5kZWZhdWx0LlN5bWJvbH0sMTc4NDk3KHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+ZH0pO3ZhciBvPW4oODcyOTk5KSxyPU9iamVjdC5wcm90b3R5cGUsYT1yLmhhc093blByb3BlcnR5LHM9ci50b1N0cmluZyxjPW8uZGVmYXVsdD9vLmRlZmF1bHQudG9TdHJpbmdUYWc6dm9pZCAwO2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9YS5jYWxsKHQsYyksbj10W2NdO3RyeXt0W2NdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaCh0KXt9dmFyIHI9cy5jYWxsKHQpO3JldHVybiBvJiYoZT90W2NdPW46ZGVsZXRlIHRbY10pLHJ9O3ZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3QgbD1mdW5jdGlvbih0KXtyZXR1cm4gdS5jYWxsKHQpfQo7dmFyIGY9by5kZWZhdWx0P28uZGVmYXVsdC50b1N0cmluZ1RhZzp2b2lkIDA7Y29uc3QgZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD92b2lkIDA9PT10PyJbb2JqZWN0IFVuZGVmaW5lZF0iOiJbb2JqZWN0IE51bGxdIjpmJiZmIGluIE9iamVjdCh0KT9pKHQpOmwodCl9fSw2MDI5NDIodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz0ib2JqZWN0Ij09dHlwZW9mIG4uZyYmbi5nJiZuLmcuT2JqZWN0PT09T2JqZWN0JiZuLmd9LDE2MjMxNih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmd9KTt2YXIgbz1uKDkyODEzMik7Y29uc3Qgcj1uKDk4MTUyMykuZGVmYXVsdFsiX19jb3JlLWpzX3NoYXJlZF9fIl07dmFyIGEscz0oYT0vW14uXSskLy5leGVjKHImJnIua2V5cyYmci5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIrYToiIjtjb25zdCBjPWZ1bmN0aW9uKHQpe3JldHVybiEhcyYmcyBpbiB0fTt2YXIgaT1uKDg4MDExNSksdT1uKDczMDUwMyksbD0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxmPUZ1bmN0aW9uLnByb3RvdHlwZSxkPU9iamVjdC5wcm90b3R5cGUsXz1mLnRvU3RyaW5nLGg9ZC5oYXNPd25Qcm9wZXJ0eSxwPVJlZ0V4cCgiXiIrXy5jYWxsKGgpLnJlcGxhY2UoL1tcXF4kLiorPygpW1xde318XS9nLCJcXCQmIikucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXCgpfCBmb3IgLis/KD89XFxcXSkvZywiJDEuKj8iKSsiJCIpO2NvbnN0IHY9ZnVuY3Rpb24odCl7cmV0dXJuISghKDAsaS5kZWZhdWx0KSh0KXx8Yyh0KSkmJigoMCxvLmRlZmF1bHQpKHQpP3A6bCkudGVzdCgoMCx1LmRlZmF1bHQpKHQpKX07Y29uc3QgeT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTtjb25zdCBnPWZ1bmN0aW9uKHQsZSl7dmFyIG49eSh0LGUpO3JldHVybiB2KG4pP246dm9pZCAwfX0sOTgxNTIzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+YX0pO3ZhciBvPW4oNjAyOTQyKSxyPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGY7Y29uc3QgYT1vLmRlZmF1bHR8fHJ8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9LDczMDUwMyh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnJ9KTt2YXIgbz1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Y29uc3Qgcj1mdW5jdGlvbih0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIG8uY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9fSw5MTA3NzgodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5vfSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8dCE9dCYmZSE9ZX19LDkyODEzMih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgbz1uKDE3ODQ5Nykscj1uKDg4MDExNSk7Y29uc3QgYT1mdW5jdGlvbih0KXtpZighKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4hMTt2YXIgZT0oMCxvLmRlZmF1bHQpKHQpO3JldHVybiJbb2JqZWN0IEZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IEFzeW5jRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgUHJveHldIj09ZX19LDg4MDExNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTtjb25zdCBvPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBudWxsIT10JiYoIm9iamVjdCI9PWV8fCJmdW5jdGlvbiI9PWUpfX19XSk7"}},"time_used":64,"timings":{"blocked":-1,"dns":1,"connect":4,"send":0,"wait":3,"receive":-1,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.894Z","timestamp":1785139583894,"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-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 08:06:23 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: 7dd735ac3b9ff945826c45c849815934\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-28T06:17:53.587399Z","times_seen":119,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.963Z","timestamp":1785139583963,"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-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 08:06:23 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: 81cbd2099610a408feed198992845ff2\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":965,"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-08-12T17:58:50.13251Z","times_seen":1317,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.157Z","timestamp":1785139584157,"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-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 08:06:24 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: dde6701cc698ec31a6ca0d881f7d7688\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-28T06:17:53.475158Z","times_seen":97,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s2NDY0NCw3MTMwMCw3MTM3NV0sezkxNDQ4NyhlLHQpe3ZhciByOyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgcj1hcmd1bWVudHNbdF07aWYocil7dmFyIHU9dHlwZW9mIHI7aWYoInN0cmluZyI9PT11fHwibnVtYmVyIj09PXUpZS5wdXNoKHIpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSYmci5sZW5ndGgpe3ZhciBhPW8uYXBwbHkobnVsbCxyKTthJiZlLnB1c2goYSl9ZWxzZSBpZigib2JqZWN0Ij09PXUpZm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJnJbaV0mJmUucHVzaChpKX19cmV0dXJuIGUuam9pbigiICIpfWUuZXhwb3J0cz8oby5kZWZhdWx0PW8sZS5leHBvcnRzPW8pOnZvaWQgMD09PShyPWZ1bmN0aW9uKCl7cmV0dXJuIG99LmFwcGx5KHQsW10pKXx8KGUuZXhwb3J0cz1yKX0oKX0sMzM0Njg1KGUpe2UuZXhwb3J0cz17cHJpY2VTY2FsZU1vZGVCdXR0b246InByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlIixwcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQ6InByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZSJ9fSw5MDA1MzAoZSl7ZS5leHBvcnRzPXtwcmljZVNjYWxlTW9kZUJ1dHRvbnM6InByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYSIscHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWEiLHByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uOiJwcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbi1hYUtYNksxYSJ9fSw4NjU1NjAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7VFZBcHBDb250ZXh0OigpPT5zLFRWQXBwQ29udGV4dFByb3ZpZGVyOigpPT5jfSk7dmFyIG49cig3Nzk0NzQpLG89cigxMTUyOTMpLHU9cig5OTk1MSksYT1yKDExNzMxMyk7Y29uc3QgaT17aU9zOiJvbGQiLGFuZHJvaWQ6Im5ldyIsb2xkOiJvbGQiLG5ldzoibmV3Iixhbnk6ImFueSJ9O2Z1bmN0aW9uIGMoZSl7Y29uc3RbdF09KDAsbi51c2VTdGF0ZSkoe2lzT25Nb2JpbGVBcHBQYWdlOmU9PigwLGEuaXNPbk1vYmlsZUFwcFBhZ2UpKGlbZV0pLGlzUnRsOigwLG8uaXNSdGwpKCksbG9jYWxlOndpbmRvdy5sb2NhbGUscmVuZGVyTW9kZTplLnJlbmRlck1vZGU/PyJsZWdhY3kifSk7cmV0dXJuIG4uY3JlYXRlRWxlbWVudCh1LkFwcENvbnRleHQuUHJvdmlkZXIse3ZhbHVlOnR9LGUuY2hpbGRyZW4pfWNvbnN0IHM9dS5BcHBDb250ZXh0fSw1NzEzMDAoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLnIodCksci5kKHQse2NyZWF0ZVJlYWN0Um9vdDooKT0+aX0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTI5MzY1KSx1PXIoMzM2MzM0KSxhPXIoODY1NTYwKTtmdW5jdGlvbiBpKGUsdCxyPSJsZWdhY3kiKXtjb25zdCBpPW4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LGUpO2lmKCJtb2Rlcm4iPT09cil7Y29uc3QgZT0oMCx1LmNyZWF0ZVJvb3QpKHQpO3JldHVybiBlLnJlbmRlcihpKSx7cmVuZGVyKHQpe2UucmVuZGVyKG4uY3JlYXRlRWxlbWVudChhLlRWQXBwQ29udGV4dFByb3ZpZGVyLHtyZW5kZXJNb2RlOnJ9LHQpKX0sdW5tb3VudCgpe2UudW5tb3VudCgpfX19cmV0dXJuIG8ucmVuZGVyKGksdCkse3JlbmRlcihlKXtvLnJlbmRlcihuLmNyZWF0ZUVsZW1lbnQoYS5UVkFwcENvbnRleHRQcm92aWRlcix7cmVuZGVyTW9kZTpyfSxlKSx0KX0sdW5tb3VudCgpe28udW5tb3VudENvbXBvbmVudEF0Tm9kZSh0KX19fX0sOTk5NTEoZSx0LHIpeyJ1c2Ugc3RyaWN0IjtyLmQodCx7QXBwQ29udGV4dDooKT0+bn0pO2NvbnN0IG49KDAscig3Nzk0NzQpLmNyZWF0ZUNvbnRleHQpKHtpc09uTW9iaWxlQXBwUGFnZTooKT0+ITEsaXNSdGw6ITEsbG9jYWxlOiJlbiIscmVuZGVyTW9kZToibGVnYWN5In0pfSwzMzYzMzQoZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDEyOTM2NSk7dC5jcmVhdGVSb290PW4uY3JlYXRlUm9vdCxuLmh5ZHJhdGVSb290fSwxMjkzNjUoZSx0LHIpeyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksZS5leHBvcnRzPXIoNTMyMzg3KX0sMTIyNzQ5KGUsdCl7InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKSxuPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLG89U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSx1PVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksYT1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLGk9U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKSxjPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxzPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksbD1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLHA9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLGY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLGQ9U3ltYm9sLml0ZXJhdG9yO3ZhciBfPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx5PU9iamVjdC5hc3NpZ24saD17fTtmdW5jdGlvbiB2KGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsdGhpcy5yZWZzPWgsdGhpcy51cGRhdGVyPXJ8fF99ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBiKGUsdCxyKXt0aGlzLnByb3BzPWUsdGhpcy5jb250ZXh0PXQsCnRoaXMucmVmcz1oLHRoaXMudXBkYXRlcj1yfHxffXYucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sdi5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sbS5wcm90b3R5cGU9di5wcm90b3R5cGU7dmFyIFM9Yi5wcm90b3R5cGU9bmV3IG07Uy5jb25zdHJ1Y3Rvcj1iLHkoUyx2LnByb3RvdHlwZSksUy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgTT1BcnJheS5pc0FycmF5LEU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxnPXtjdXJyZW50Om51bGx9LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiBSKGUsdCxuKXt2YXIgbyx1PXt9LGE9bnVsbCxpPW51bGw7aWYobnVsbCE9dClmb3IobyBpbiB2b2lkIDAhPT10LnJlZiYmKGk9dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYoYT0iIit0LmtleSksdClFLmNhbGwodCxvKSYmIUMuaGFzT3duUHJvcGVydHkobykmJih1W29dPXRbb10pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09Yyl1LmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgcz1BcnJheShjKSxsPTA7bDxjO2wrKylzW2xdPWFyZ3VtZW50c1tsKzJdO3UuY2hpbGRyZW49c31pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IobyBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXVbb10mJih1W29dPWNbb10pO3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZSxrZXk6YSxyZWY6aSxwcm9wczp1LF9vd25lcjpnLmN1cnJlbnR9fWZ1bmN0aW9uIHcoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PXJ9dmFyIGs9L1wvKy9nO2Z1bmN0aW9uIE8oZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitlLnJlcGxhY2UoL1s9Ol0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9KCIiK2Uua2V5KTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxvLHUsYSl7dmFyIGk9dHlwZW9mIGU7InVuZGVmaW5lZCIhPT1pJiYiYm9vbGVhbiIhPT1pfHwoZT1udWxsKTt2YXIgYz0hMTtpZihudWxsPT09ZSljPSEwO2Vsc2Ugc3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjpjYXNlIm51bWJlciI6Yz0hMDticmVhaztjYXNlIm9iamVjdCI6c3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgcjpjYXNlIG46Yz0hMH19aWYoYylyZXR1cm4gYT1hKGM9ZSksZT0iIj09PXU/Ii4iK08oYywwKTp1LE0oYSk/KG89IiIsbnVsbCE9ZSYmKG89ZS5yZXBsYWNlKGssIiQmLyIpKyIvIikseChhLHQsbywiIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSkpOm51bGwhPWEmJih3KGEpJiYoYT1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpyLHR5cGU6ZS50eXBlLGtleTp0LHJlZjplLnJlZixwcm9wczplLnByb3BzLF9vd25lcjplLl9vd25lcn19KGEsbysoIWEua2V5fHxjJiZjLmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShrLCIkJi8iKSsiLyIpK2UpKSx0LnB1c2goYSkpLDE7aWYoYz0wLHU9IiI9PT11PyIuIjp1KyI6IixNKGUpKWZvcih2YXIgcz0wO3M8ZS5sZW5ndGg7cysrKXt2YXIgbD11K08oaT1lW3NdLHMpO2MrPXgoaSx0LG8sbCxhKX1lbHNlIGlmKGw9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1kJiZlW2RdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH0oZSksImZ1bmN0aW9uIj09dHlwZW9mIGwpZm9yKGU9bC5jYWxsKGUpLHM9MDshKGk9ZS5uZXh0KCkpLmRvbmU7KWMrPXgoaT1pLnZhbHVlLHQsbyxsPXUrTyhpLHMrKyksYSk7ZWxzZSBpZigib2JqZWN0Ij09PWkpdGhyb3cgdD1TdHJpbmcoZSksRXJyb3IoIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogIisoIltvYmplY3QgT2JqZWN0XSI9PT10PyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKGUpLmpvaW4oIiwgIikrIn0iOnQpKyIpLiBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5IGluc3RlYWQuIik7cmV0dXJuIGN9ZnVuY3Rpb24gQShlLHQscil7aWYobnVsbD09ZSlyZXR1cm4gZTt2YXIgbj1bXSxvPTA7cmV0dXJuIHgoZSxuLCIiLCIiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jYWxsKHIsZSxvKyspfSkpLG59ZnVuY3Rpb24gUChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbigoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MSxlLl9yZXN1bHQ9dCl9KSwoZnVuY3Rpb24odCl7MCE9PWUuX3N0YXR1cyYmLTEhPT1lLl9zdGF0dXN8fChlLl9zdGF0dXM9MixlLl9yZXN1bHQ9dCl9KSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBMPXtjdXJyZW50Om51bGx9LEI9e3RyYW5zaXRpb246bnVsbH0sJD17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpMLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOkIsUmVhY3RDdXJyZW50T3duZXI6Z307dC5DaGlsZHJlbj17bWFwOkEsZm9yRWFjaDpmdW5jdGlvbihlLHQscil7QShlLChmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkscil9LGNvdW50OmZ1bmN0aW9uKGUpewp2YXIgdD0wO3JldHVybiBBKGUsKGZ1bmN0aW9uKCl7dCsrfSkpLHR9LHRvQXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIEEoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCF3KGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LHQuQ29tcG9uZW50PXYsdC5GcmFnbWVudD1vLHQuUHJvZmlsZXI9YSx0LlB1cmVDb21wb25lbnQ9Yix0LlN0cmljdE1vZGU9dSx0LlN1c3BlbnNlPWwsdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD0kLHQuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCAiK2UrIi4iKTt2YXIgbz15KHt9LGUucHJvcHMpLHU9ZS5rZXksYT1lLnJlZixpPWUuX293bmVyO2lmKG51bGwhPXQpe2lmKHZvaWQgMCE9PXQucmVmJiYoYT10LnJlZixpPWcuY3VycmVudCksdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSxlLnR5cGUmJmUudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGM9ZS50eXBlLmRlZmF1bHRQcm9wcztmb3IocyBpbiB0KUUuY2FsbCh0LHMpJiYhQy5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109dm9pZCAwPT09dFtzXSYmdm9pZCAwIT09Yz9jW3NdOnRbc10pfXZhciBzPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09cylvLmNoaWxkcmVuPW47ZWxzZSBpZigxPHMpe2M9QXJyYXkocyk7Zm9yKHZhciBsPTA7bDxzO2wrKyljW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49Y31yZXR1cm57JCR0eXBlb2Y6cix0eXBlOmUudHlwZSxrZXk6dSxyZWY6YSxwcm9wczpvLF9vd25lcjppfX0sdC5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbCxfZGVmYXVsdFZhbHVlOm51bGwsX2dsb2JhbE5hbWU6bnVsbH0pLlByb3ZpZGVyPXskJHR5cGVvZjppLF9jb250ZXh0OmV9LGUuQ29uc3VtZXI9ZX0sdC5jcmVhdGVFbGVtZW50PVIsdC5jcmVhdGVGYWN0b3J5PWZ1bmN0aW9uKGUpe3ZhciB0PVIuYmluZChudWxsLGUpO3JldHVybiB0LnR5cGU9ZSx0fSx0LmNyZWF0ZVJlZj1mdW5jdGlvbigpe3JldHVybntjdXJyZW50Om51bGx9fSx0LmZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMscmVuZGVyOmV9fSx0LmlzVmFsaWRFbGVtZW50PXcsdC5sYXp5PWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6ZX0sX2luaXQ6UH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC5zdGFydFRyYW5zaXRpb249ZnVuY3Rpb24oZSl7dmFyIHQ9Qi50cmFuc2l0aW9uO0IudHJhbnNpdGlvbj17fTt0cnl7ZSgpfWZpbmFsbHl7Qi50cmFuc2l0aW9uPXR9fSx0LnVuc3RhYmxlX2FjdD1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJhY3QoLi4uKSBpcyBub3Qgc3VwcG9ydGVkIGluIHByb2R1Y3Rpb24gYnVpbGRzIG9mIFJlYWN0LiIpfSx0LnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VDYWxsYmFjayhlLHQpfSx0LnVzZUNvbnRleHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VDb250ZXh0KGUpfSx0LnVzZURlYnVnVmFsdWU9ZnVuY3Rpb24oKXt9LHQudXNlRGVmZXJyZWRWYWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gTC5jdXJyZW50LnVzZURlZmVycmVkVmFsdWUoZSl9LHQudXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VFZmZlY3QoZSx0KX0sdC51c2VJZD1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlSWQoKX0sdC51c2VJbXBlcmF0aXZlSGFuZGxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gTC5jdXJyZW50LnVzZUltcGVyYXRpdmVIYW5kbGUoZSx0LHIpfSx0LnVzZUluc2VydGlvbkVmZmVjdD1mdW5jdGlvbihlLHQpe3JldHVybiBMLmN1cnJlbnQudXNlSW5zZXJ0aW9uRWZmZWN0KGUsdCl9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEwuY3VycmVudC51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VSZWR1Y2VyKGUsdCxyKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEwuY3VycmVudC51c2VTdGF0ZShlKX0sdC51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQscil7cmV0dXJuIEwuY3VycmVudC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQscil9LHQudXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBMLmN1cnJlbnQudXNlVHJhbnNpdGlvbigpfSx0LnZlcnNpb249IjE4LjIuMCJ9LDc3OTQ3NChlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1yKDEyMjc0OSl9LDkzMTg3MChlLHQscil7InVzZSBzdHJpY3QiO3IuZCh0LHtQcmljZVNjYWxlTW9kZUJ1dHRvbnNSZW5kZXJlcjooKT0+ZH0pO3ZhciBuPXIoNzc5NDc0KSxvPXIoMTM4NjM4KSx1PXIoMTg1MjcxKSxhPXIoMzE4OTc0KSxpPXIoNTcxMzAwKSxjPXIoOTE0NDg3KSxzPXIubihjKSxsPXIoMzM0Njg1KTtmdW5jdGlvbiBwKGUpe2NvbnN0e2FjdGl2YXRlZDp0LG9uQ2xpY2s6cixjb250ZW50Om8sdG9vbHRpcDp1LGFyaWFMYWJlbDphLGNsYXNzTmFtZTppfT1lO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIsewpjbGFzc05hbWU6cygpKGwucHJpY2VTY2FsZU1vZGVCdXR0b24sdCYmbC5wcmljZVNjYWxlTW9kZUJ1dHRvbl9hY3RpdmF0ZWQsaSx1JiYiYXBwbHktY29tbW9uLXRvb2x0aXAiKSxvbkNsaWNrOnIsImRhdGEtdG9vbHRpcCI6dSwiYXJpYS1sYWJlbCI6YX0sbyl9dmFyIGY9cig5MDA1MzApO2NsYXNzIGR7Y29uc3RydWN0b3Ioe3NldE1vZGU6ZSxnZXRNb2RlOnQsY2xhc3NOYW1lOnI9IiJ9KXt0aGlzLl9yZWFjdFJvb3Q9bnVsbCx0aGlzLl9zZXRBdXRvTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJhdXRvIiksdGhpcy5fc2V0TG9nYXJpdGhtTW9kZT0oKT0+KDAsby5lbnN1cmVOb3ROdWxsKSh0aGlzLl9zZXRNb2RlRnVuY3Rpb24pKCJsb2ciKSx0aGlzLl9zZXRNb2RlRnVuY3Rpb249ZSx0aGlzLl9nZXRNb2RlRnVuY3Rpb249dDtjb25zdCBuPXRoaXMuX3dyYXBwZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7bi5jbGFzc0xpc3QuYWRkKHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbix7Y2FwdHVyZTohMH0pLG4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fc3RvcFByb3BhZ2F0aW9uLHtjYXB0dXJlOiEwfSksdGhpcy5fcmVuZGVyKCl9ZGVzdHJveSgpe3RoaXMuX3JlYWN0Um9vdD8udW5tb3VudCgpLHRoaXMuX3dyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLHRoaXMuX3N0b3BQcm9wYWdhdGlvbiksdGhpcy5fd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9zdG9wUHJvcGFnYXRpb24pLHRoaXMuX3dyYXBwZXIucmVtb3ZlKCksdGhpcy5fc2V0TW9kZUZ1bmN0aW9uPW51bGwsdGhpcy5fZ2V0TW9kZUZ1bmN0aW9uPW51bGx9ZWxlbWVudCgpe3JldHVybiB0aGlzLl93cmFwcGVyfXdpZHRoKCl7cmV0dXJuIDUyfXVwZGF0ZSgpe3RoaXMuX3JlbmRlcigpfV9yZW5kZXIoKXtjb25zdCBlPWEuQ2hlY2tNb2JpbGUuYW55KCkse2F1dG9TY2FsZTp0PSExLGxvZzpjPSExfT0oMCxvLmVuc3VyZU5vdE51bGwpKHRoaXMuX2dldE1vZGVGdW5jdGlvbikoKXx8e30scz1uLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc30sbi5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXIsb25DbGljazplP3RoaXMuX3NldEF1dG9Nb2RlOnZvaWQgMCwiYXJpYS1sYWJlbCI6ZT91LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKTp2b2lkIDB9LG4uY3JlYXRlRWxlbWVudChwLHthY3RpdmF0ZWQ6dCxjb250ZW50OnUudChudWxsLHtjb250ZXh0OidUaGUgZmlyc3QgbGV0dGVyIG9mIHRoZSAiYXV0byIgd29yZCd9LHIoNDk5MzkyKSksdG9vbHRpcDp1LnQobnVsbCx2b2lkIDAscig2MzM3NTIpKSxvbkNsaWNrOmU/dm9pZCAwOnRoaXMuX3NldEF1dG9Nb2RlLGFyaWFMYWJlbDplP3ZvaWQgMDp1LnQobnVsbCx2b2lkIDAscigzNzI3MTkpKSxjbGFzc05hbWU6Zi5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbn0pKSxuLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZTpmLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uV3JhcHBlcixvbkNsaWNrOmU/dGhpcy5fc2V0TG9nYXJpdGhtTW9kZTp2b2lkIDAsImFyaWEtbGFiZWwiOmU/dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSk6dm9pZCAwfSxuLmNyZWF0ZUVsZW1lbnQocCx7YWN0aXZhdGVkOmMsY29udGVudDp1LnQobnVsbCx7Y29udGV4dDonVGhlIGZpcnN0IGxldHRlciBvZiB0aGUgImxvZ2FyaXRobWljIiB3b3JkJ30scig0MjAxODYpKSx0b29sdGlwOnUudChudWxsLHZvaWQgMCxyKDUwMzU1OCkpLG9uQ2xpY2s6ZT92b2lkIDA6dGhpcy5fc2V0TG9nYXJpdGhtTW9kZSxhcmlhTGFiZWw6ZT92b2lkIDA6dS50KG51bGwsdm9pZCAwLHIoMjA2NDUxKSksY2xhc3NOYW1lOmYucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b259KSkpO3RoaXMuX3JlYWN0Um9vdD90aGlzLl9yZWFjdFJvb3QucmVuZGVyKHMpOnRoaXMuX3JlYWN0Um9vdD0oMCxpLmNyZWF0ZVJlYWN0Um9vdCkocyx0aGlzLl93cmFwcGVyLCJtb2Rlcm4iKX1fc3RvcFByb3BhZ2F0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9fX19XSk7"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.340Z","timestamp":1785139584340,"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-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 08:06:24 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: fbf954f9853f0eb65bdd3da5d319b1e8\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-08-12T05:10:43.290157Z","times_seen":135,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.411Z","timestamp":1785139584411,"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-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 08:06:24 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: 642dbbad15a7d9bcd2ecc964d1a76d4f\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-29T11:04:57.500007Z","times_seen":319,"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":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":"nanoquantumstellarsledger.com/frontcss/assets/segment.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.024Z","timestamp":1785139582024,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/segment.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1618\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4671,"size_decoded":1855,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (2864)","md5":"2f110572622d7127c75f66801665ed08","sha1":"3fa4ea0c351a4d74e3ebeed7d54c582b04faf957","sha256":"661c64e3060fbaa8a6eb02ab3a017bafa1906adabf9e43ff467c3fe10bae6250","sha512":"12389aa150b5450085b6260a40e1e31d4d3931c55ef889d13b03defbb67dd8336a382a47d82a33a78d5b5b8c8585d8948e568e77eb80ff6f73d86710ce5218c9","ssdeep":"96:nGj783vwnWGqAj9SZ5HlfyDJbF6RgZngsna:CxCo5a","tlshash":"e1a12f8878d3ba0572a60360856f124b933d5cad191d045aea05e6ec3c7493d4a7fcfe","first_seen":"2025-09-24T19:55:08.000564Z","last_seen":"2026-07-27T09:11:27.34049Z","times_seen":8,"resource_available":true,"data":"LyoqCiAqIHNlZ21lbnQgLSBBIGxpdHRsZSBKYXZhU2NyaXB0IGNsYXNzICh3aXRob3V0IGRlcGVuZGVuY2llcykgdG8gZHJhdyBhbmQgYW5pbWF0ZSBTVkcgcGF0aCBzdHJva2VzCiAqIEB2ZXJzaW9uIHYwLjAuMgogKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbG1nb256YWx2ZXMvc2VnbWVudAogKiBAbGljZW5zZSBNSVQKICovCmZ1bmN0aW9uIFNlZ21lbnQodCxlLG4pe3RoaXMucGF0aD10LHRoaXMubGVuZ3RoPXQuZ2V0VG90YWxMZW5ndGgoKSx0aGlzLnBhdGguc3R5bGUuc3Ryb2tlRGFzaG9mZnNldD0yKnRoaXMubGVuZ3RoLHRoaXMuYmVnaW49ZT90aGlzLnZhbHVlT2YoZSk6MCx0aGlzLmVuZD1uP3RoaXMudmFsdWVPZihuKTp0aGlzLmxlbmd0aCx0aGlzLnRpbWVyPW51bGwsdGhpcy5kcmF3KHRoaXMuYmVnaW4sdGhpcy5lbmQpfVNlZ21lbnQucHJvdG90eXBlPXtkcmF3OmZ1bmN0aW9uKHQsZSxuLGkpe2lmKG4pe3ZhciBzPWkuaGFzT3duUHJvcGVydHkoImRlbGF5Iik/MWUzKnBhcnNlRmxvYXQoaS5kZWxheSk6MCxhPWkuaGFzT3duUHJvcGVydHkoImVhc2luZyIpP2kuZWFzaW5nOm51bGwsaD1pLmhhc093blByb3BlcnR5KCJjYWxsYmFjayIpP2kuY2FsbGJhY2s6bnVsbCxyPXRoaXM7aWYodGhpcy5zdG9wKCkscylyZXR1cm4gZGVsZXRlIGkuZGVsYXksdGhpcy50aW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5kcmF3KHQsZSxuLGkpfSxzKSx0aGlzLnRpbWVyO3ZhciBsPW5ldyBEYXRlLG89MWUzLzYwLGc9dGhpcy5iZWdpbixmPXRoaXMuZW5kLHU9dGhpcy52YWx1ZU9mKHQpLGQ9dGhpcy52YWx1ZU9mKGUpOyFmdW5jdGlvbiBwKCl7dmFyIHQ9bmV3IERhdGUsZT0odC1sKS8xZTMsaT1lL3BhcnNlRmxvYXQobikscz1pO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhJiYocz1hKHMpKSxpPjE/KHIuc3RvcCgpLHM9MSk6ci50aW1lcj1zZXRUaW1lb3V0KHAsbyksci5iZWdpbj1nKyh1LWcpKnMsci5lbmQ9ZisoZC1mKSpzLHIuYmVnaW48MCYmKHIuYmVnaW49MCksci5lbmQ+ci5sZW5ndGgmJihyLmVuZD1yLmxlbmd0aCksci5iZWdpbjxyLmVuZD9yLmRyYXcoci5iZWdpbixyLmVuZCk6ci5kcmF3KHIuYmVnaW4rKHIuZW5kLXIuYmVnaW4pLHIuZW5kLShyLmVuZC1yLmJlZ2luKSksaT4xJiYiZnVuY3Rpb24iPT10eXBlb2YgaD9oLmNhbGwoci5jb250ZXh0KTp2b2lkIDB9KCl9ZWxzZSB0aGlzLnBhdGguc3R5bGUuc3Ryb2tlRGFzaGFycmF5PXRoaXMuc3Ryb2tlRGFzaGFycmF5KHQsZSl9LHN0cm9rZURhc2hhcnJheTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmJlZ2luPXRoaXMudmFsdWVPZih0KSx0aGlzLmVuZD10aGlzLnZhbHVlT2YoZSksW3RoaXMubGVuZ3RoLHRoaXMubGVuZ3RoK3RoaXMuYmVnaW4sdGhpcy5lbmQtdGhpcy5iZWdpbl0uam9pbigiICIpfSx2YWx1ZU9mOmZ1bmN0aW9uKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7aWYoKCJzdHJpbmciPT10eXBlb2YgdHx8dCBpbnN0YW5jZW9mIFN0cmluZykmJn50LmluZGV4T2YoIiUiKSl7dmFyIG47fnQuaW5kZXhPZigiKyIpPyhuPXQuc3BsaXQoIisiKSxlPXRoaXMucGVyY2VudChuWzBdKStwYXJzZUZsb2F0KG5bMV0pKTp+dC5pbmRleE9mKCItIik/KG49dC5zcGxpdCgiLSIpLGU9dGhpcy5wZXJjZW50KG5bMF0pLXBhcnNlRmxvYXQoblsxXSkpOmU9dGhpcy5wZXJjZW50KHQpfXJldHVybiBlfSxzdG9wOmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9bnVsbH0scGVyY2VudDpmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KS8xMDAqdGhpcy5sZW5ndGh9fTsKCiFmdW5jdGlvbihuLHQpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/dChleHBvcnRzKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImV4cG9ydHMiXSx0KTp0KG4uZWFzZT17fSl9KHRoaXMsZnVuY3Rpb24obil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQobix0KXtyZXR1cm4gbnVsbD09bnx8aXNOYU4obik/dDorbn1mdW5jdGlvbiB1KG4sdSl7bj1NYXRoLm1heCgxLHQobiwxKSksdT10KHUsLjMpKkE7dmFyIGk9dSpNYXRoLmFzaW4oMS9uKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4qTWF0aC5wb3coMiwxMCotLXQpKk1hdGguc2luKChpLXQpL3UpfX1mdW5jdGlvbiBpKG4sdSl7bj1NYXRoLm1heCgxLHQobiwxKSksdT10KHUsLjMpKkE7dmFyIGk9dSpNYXRoLmFzaW4oMS9uKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4qTWF0aC5wb3coMiwtMTAqdCkqTWF0aC5zaW4oKHQtaSkvdSkrMX19ZnVuY3Rpb24gcihuLHUpe249TWF0aC5tYXgoMSx0KG4sMSkpLHU9MS41KnQodSwuMykqQTt2YXIgaT11Kk1hdGguYXNpbigxL24pO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbiooKHQ9Mip0LTEpPDA/TWF0aC5wb3coMiwxMCp0KSpNYXRoLnNpbigoaS10KS91KTpNYXRoLnBvdygyLC0xMCp0KSpNYXRoLnNpbigodC1pKS91KSsyKS8yfX1mdW5jdGlvbiBvKG4pe3JldHVybiBuPXQobiwxLjcwMTU4KSxmdW5jdGlvbih0KXtyZXR1cm4gdCp0KigobisxKSp0LW4pfX1mdW5jdGlvbiBlKG4pe3JldHVybiBuPXQobiwxLjcwMTU4KSxmdW5jdGlvbih0KXtyZXR1cm4tLXQqdCooKG4rMSkqdCtuKSsxfX1mdW5jdGlvbiBjKG4pe3JldHVybiBuPTEuNTI1KnQobiwxLjcwMTU4KSxmdW5jdGlvbih0KXtyZXR1cm4oKHQqPTIpPDE/dCp0KigobisxKSp0LW4pOih0LT0yKSp0KigobisxKSp0K24pKzIpLzJ9fWZ1bmN0aW9uIGEobil7cmV0dXJuIDEtZigxLW4pfWZ1bmN0aW9uIGYobil7cmV0dXJuIEI+bj9MKm4qbjpEPm4/TCoobi09QykqbitFOkc+bj9MKihuLT1GKSpuK0g6TCoobi09SikqbitLfWZ1bmN0aW9uIGgobil7cmV0dXJuKChuKj0yKTw9MT8xLWYoMS1uKTpmKG4tMSkrMSkvMn1mdW5jdGlvbiBzKG4pe3JldHVybiAxLU1hdGguc3FydCgxLW4qbil9ZnVuY3Rpb24gTShuKXtyZXR1cm4gTWF0aC5zcXJ0KDEtIC0tbipuKX1mdW5jdGlvbiBwKG4pe3JldHVybigobio9Mik8PTE/MS1NYXRoLnNxcnQoMS1uKm4pOk1hdGguc3FydCgxLShuLT0yKSpuKSsxKS8yfWZ1bmN0aW9uIGwobil7cmV0dXJuIE1hdGgucG93KDIsMTAqbi0xMCl9ZnVuY3Rpb24gdyhuKXtyZXR1cm4gMS1NYXRoLnBvdygyLC0xMCpuKX1mdW5jdGlvbiBiKG4pe3JldHVybigobio9Mik8PTE/TWF0aC5wb3coMiwxMCpuLTEwKToyLU1hdGgucG93KDIsMTAtMTAqbikpLzJ9ZnVuY3Rpb24gZChuKXtyZXR1cm4gMS1NYXRoLmNvcyhuKlIpfWZ1bmN0aW9uIHkobil7cmV0dXJuIE1hdGguc2luKG4qUil9ZnVuY3Rpb24geChuKXtyZXR1cm4oMS1NYXRoLmNvcyhRKm4pKS8yfWZ1bmN0aW9uIHEobil7cmV0dXJuIG4qbipufWZ1bmN0aW9uIGsobil7cmV0dXJuLS1uKm4qbisxfWZ1bmN0aW9uIG0obil7cmV0dXJuKChuKj0yKTw9MT9uKm4qbjoobi09MikqbipuKzIpLzJ9ZnVuY3Rpb24gdihuKXtyZXR1cm4gbipufWZ1bmN0aW9uIFAobil7cmV0dXJuIG4qKDItbil9ZnVuY3Rpb24gTyhuKXtyZXR1cm4oKG4qPTIpPD0xP24qbjotLW4qKDItbikrMSkvMn1mdW5jdGlvbiBnKG4pe3JldHVybitufWZ1bmN0aW9uIEkobil7cmV0dXJuIG49dChuLDMpLGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnBvdyh0LG4pfX1mdW5jdGlvbiBOKG4pe3JldHVybiBuPXQobiwzKSxmdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLnBvdygxLXQsbil9fWZ1bmN0aW9uIGoobil7cmV0dXJuIG49dChuLDMpLGZ1bmN0aW9uKHQpe3JldHVybigodCo9Mik8PTE/TWF0aC5wb3codCxuKToyLU1hdGgucG93KDItdCxuKSkvMn19ZnVuY3Rpb24geihuLHQsdSl7dmFyIGk9KG4rPSIiKS5pbmRleE9mKCItIik7cmV0dXJuIDA+aSYmKG4rPSItaW4iKSxhcmd1bWVudHMubGVuZ3RoPjEmJlQuaGFzT3duUHJvcGVydHkobik/VFtuXSh0LHUpOlMuaGFzT3duUHJvcGVydHkobik/U1tuXTpnfXZhciBBPTEvKDIqTWF0aC5QSSksQj00LzExLEM9Ni8xMSxEPTgvMTEsRT0uNzUsRj05LzExLEc9MTAvMTEsSD0uOTM3NSxKPTIxLzIyLEs9NjMvNjQsTD0xL0IvQixRPU1hdGguUEksUj1RLzIsUz17ImxpbmVhci1pbiI6ZywibGluZWFyLW91dCI6ZywibGluZWFyLWluLW91dCI6ZywicXVhZC1pbiI6diwicXVhZC1vdXQiOlAsInF1YWQtaW4tb3V0IjpPLCJjdWJpYy1pbiI6cSwiY3ViaWMtb3V0IjprLCJjdWJpYy1pbi1vdXQiOm0sInBvbHktaW4iOnEsInBvbHktb3V0IjprLCJwb2x5LWluLW91dCI6bSwic2luLWluIjpkLCJzaW4tb3V0Ijp5LCJzaW4taW4tb3V0Ijp4LCJleHAtaW4iOmwsImV4cC1vdXQiOncsImV4cC1pbi1vdXQiOmIsImNpcmNsZS1pbiI6cywiY2lyY2xlLW91dCI6TSwiY2lyY2xlLWluLW91dCI6cCwiYm91bmNlLWluIjphLCJib3VuY2Utb3V0IjpmLCJib3VuY2UtaW4tb3V0IjpoLCJiYWNrLWluIjpvKCksImJhY2stb3V0IjplKCksImJhY2staW4tb3V0IjpjKCksImVsYXN0aWMtaW4iOnUoKSwiZWxhc3RpYy1vdXQiOmkoKSwiZWxhc3RpYy1pbi1vdXQiOnIoKX0sVD17InBvbHktaW4iOkksInBvbHktb3V0IjpOLCJwb2x5LWluLW91dCI6aiwiYmFjay1pbiI6bywiYmFjay1vdXQiOmUsImJhY2staW4tb3V0IjpjLCJlbGFzdGljLWluIjp1LCJlbGFzdGljLW91dCI6aSwiZWxhc3RpYy1pbi1vdXQiOnJ9O24uZWFzZT16fSk7"}},"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/fonts/webfonts/fa-solid-900.woff2","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.421Z","timestamp":1785139582421,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/fonts/webfonts/fa-solid-900.woff2 HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/font-awesome.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 992\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":992,"size_decoded":1184,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"a43b88e4b72637f2a5acfea58c826e1f","sha1":"c6add540d2787ae63d002cff6212f40434041e7f","sha256":"7ca60edbce791d6b8be17039078ce376a1b632dada224aae3a91fd2ee5a80161","sha512":"8d036fd9027aa460cc5b010f2f527cbb395015a7797619c0a6807a549c8c5a1bfb3f469d366bab0a5a8e453090d12a89bef3db8511631ff42d5832f7c9f73dc7","ssdeep":"","tlshash":"c011183b0805077e11108263b410735cd0dfaf156e567460d063175736c4d85c5395ac","first_seen":"2026-07-27T05:09:49.528683Z","last_seen":"2026-07-27T08:08:22.733371Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9mb250LWF3ZXNvbWUuY3NzIiBjbGFzcz0iaG9tZS1idG4iPkdvIEJhY2s8L2E+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cgo="}},"time_used":370,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":370,"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":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.700Z","timestamp":1785139583700,"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-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 08:06:23 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: eacae31e50616947f387ef577b418459\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-08-12T05:10:43.219576Z","times_seen":724,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.975Z","timestamp":1785139583975,"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-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 08:06:23 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: 4ff1555b9cfa44b8e8e8c7020f65b394\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-28T06:17:53.607588Z","times_seen":228,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.013Z","timestamp":1785139584013,"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-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 08:06:24 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: 738734b243eb50764ebd48c36fc17569\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-28T06:17:53.619977Z","times_seen":108,"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":"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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:24.213Z","timestamp":1785139584213,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 848\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:11:17 GMT\r\nexpires: Fri, 23 Jul 2027 10:11:17 GMT\r\ncache-control: public, max-age=31536000\r\nage: 338107\r\nlast-modified: Sun, 25 Jun 2023 02:58:00 GMT\r\ncontent-type: image/gif\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":848,"size_decoded":1507,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 59","md5":"daf9b48977041ac85a62dc9b7c16b38d","sha1":"049dcb061470572d06fd83b287ebd1d96e6bb870","sha256":"cb1fd0e051209c32622e91cdeda967e50d80a184b185ac6a656a807986e8eb75","sha512":"99f5f27990b6b5559c751a92c04037f5d42e848a966893484af66d3f66828c29a2dddc8788d7dd4cd835e8ab6d834e74fb3eaa4e2cd72d55b2813d7aab990af2","ssdeep":"","tlshash":"1c018c0cc8700a19e3422fb0ca5b6e0429675b465d88b20fb6aa22c27d04ba48049b1c","first_seen":"2023-04-05T23:29:53Z","last_seen":"2026-08-12T17:58:50.245727Z","times_seen":11789,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":18,"timings":{"blocked":-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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.234Z","timestamp":1785139584234,"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-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 08:06:24 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: 2c9bebff9d6d1ac82e13418f0b0dcb54\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-28T06:17:53.408658Z","times_seen":80,"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-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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.409Z","timestamp":1785139584409,"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-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 08:06:24 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: 4916fa421109e5aa1d225565de2031d4\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-08-12T05:10:43.293214Z","times_seen":161,"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":"nanoquantumstellarsledger.com/frontcss/assets/sweetalert.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.013Z","timestamp":1785139582013,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/sweetalert.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 8607\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":39515,"size_decoded":8844,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (484)","md5":"018669b85c6174a3857796237bddf283","sha1":"076d76f03345596da667056f360a4cc30485030d","sha256":"4d52b9504e2d96546ed724fb7a4d5655bf5b5950e50e44cf31eef531e2c2aeec","sha512":"deefecea63ee2ff5bbabee1283f6aa5f9347462239efa26df8679c7998acb17d0e265c56b440b79188ed66fa693f31c9f3955147366d543e0852cc99e7b4c392","ssdeep":"384:If0wnPZ3L0ffNumY5FKWmaTWGsGnrvpBLXX1oDXqPtmeVlfZOIX9m+iSVCJ6ejQm:If13wfmf7rvp1XKDehX9mSp6","tlshash":"100372497dfb70b71a6720b6575f6845ba308027a004ec507dada7a00fa0f254fe5fea","first_seen":"2025-09-07T19:58:35.450764Z","last_seen":"2026-07-27T09:11:27.249302Z","times_seen":10,"resource_available":true,"data":"OyhmdW5jdGlvbih3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIAogICAgKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbysiJyIpO3Rocm93IGYuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT0iZnVuY3Rpb24iJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSh7MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICAgICAgdmFsdWU6IHRydWUKICAgIH0pOwogICAgdmFyIGRlZmF1bHRQYXJhbXMgPSB7CiAgICAgIHRpdGxlOiAnJywKICAgICAgdGV4dDogJycsCiAgICAgIHR5cGU6IG51bGwsCiAgICAgIGFsbG93T3V0c2lkZUNsaWNrOiBmYWxzZSwKICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsCiAgICAgIHNob3dDYW5jZWxCdXR0b246IGZhbHNlLAogICAgICBjbG9zZU9uQ29uZmlybTogdHJ1ZSwKICAgICAgY2xvc2VPbkNhbmNlbDogdHJ1ZSwKICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdPSycsCiAgICAgIGNvbmZpcm1CdXR0b25DbGFzczogJ2J0bi1wcmltYXJ5JywKICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsCiAgICAgIGNhbmNlbEJ1dHRvbkNsYXNzOiAnYnRuLWRlZmF1bHQnLAogICAgICBjb250YWluZXJDbGFzczogJycsCiAgICAgIHRpdGxlQ2xhc3M6ICcnLAogICAgICB0ZXh0Q2xhc3M6ICcnLAogICAgICBpbWFnZVVybDogbnVsbCwKICAgICAgaW1hZ2VTaXplOiBudWxsLAogICAgICB0aW1lcjogbnVsbCwKICAgICAgY3VzdG9tQ2xhc3M6ICcnLAogICAgICBodG1sOiBmYWxzZSwKICAgICAgYW5pbWF0aW9uOiB0cnVlLAogICAgICBhbGxvd0VzY2FwZUtleTogdHJ1ZSwKICAgICAgaW5wdXRUeXBlOiAndGV4dCcsCiAgICAgIGlucHV0UGxhY2Vob2xkZXI6ICcnLAogICAgICBpbnB1dFZhbHVlOiAnJywKICAgICAgc2hvd0xvYWRlck9uQ29uZmlybTogZmFsc2UKICAgIH07CiAgICAKICAgIGV4cG9ydHMuZGVmYXVsdCA9IGRlZmF1bHRQYXJhbXM7CiAgICAKICAgIH0se31dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwogICAgCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgICAgIHZhbHVlOiB0cnVlCiAgICB9KTsKICAgIGV4cG9ydHMuaGFuZGxlQ2FuY2VsID0gZXhwb3J0cy5oYW5kbGVDb25maXJtID0gZXhwb3J0cy5oYW5kbGVCdXR0b24gPSB1bmRlZmluZWQ7CiAgICAKICAgIHZhciBfaGFuZGxlU3dhbERvbSA9IHJlcXVpcmUoJy4vaGFuZGxlLXN3YWwtZG9tJyk7CiAgICAKICAgIHZhciBfaGFuZGxlRG9tID0gcmVxdWlyZSgnLi9oYW5kbGUtZG9tJyk7CiAgICAKICAgIC8qCiAgICAgKiBVc2VyIGNsaWNrZWQgb24gIkNvbmZpcm0iLyJPSyIgb3IgIkNhbmNlbCIKICAgICAqLwogICAgdmFyIGhhbmRsZUJ1dHRvbiA9IGZ1bmN0aW9uIGhhbmRsZUJ1dHRvbihldmVudCwgcGFyYW1zLCBtb2RhbCkgewogICAgICB2YXIgZSA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsKICAgICAgdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsKICAgIAogICAgICB2YXIgdGFyZ2V0ZWRDb25maXJtID0gdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdjb25maXJtJykgIT09IC0xOwogICAgICB2YXIgdGFyZ2V0ZWRPdmVybGF5ID0gdGFyZ2V0LmNsYXNzTmFtZS5pbmRleE9mKCdzd2VldC1vdmVybGF5JykgIT09IC0xOwogICAgICB2YXIgbW9kYWxJc1Zpc2libGUgPSAoMCwgX2hhbmRsZURvbS5oYXNDbGFzcykobW9kYWwsICd2aXNpYmxlJyk7CiAgICAgIHZhciBkb25lRnVuY3Rpb25FeGlzdHMgPSBwYXJhbXMuZG9uZUZ1bmN0aW9uICYmIG1vZGFsLmdldEF0dHJpYnV0ZSgnZGF0YS1oYXMtZG9uZS1mdW5jdGlvbicpID09PSAndHJ1ZSc7CiAgICAKICAgICAgLy8gU2luY2UgdGhlIHVzZXIgY2FuIGNoYW5nZSB0aGUgYmFja2dyb3VuZC1jb2xvciBvZiB0aGUgY29uZmlybSBidXR0b24gcHJvZ3JhbW1hdGljYWxseSwKICAgICAgLy8gd2UgbXVzdCBjYWxjdWxhdGUgd2hhdCB0aGUgY29sb3Igc2hvdWxkIGJlIG9uIGhvdmVyL2FjdGl2ZQogICAgICB2YXIgbm9ybWFsQ29sb3IsIGhvdmVyQ29sb3IsIGFjdGl2ZUNvbG9yOwogICAgICBpZiAodGFyZ2V0ZWRDb25maXJtICYmIHBhcmFtcy5jb25maXJtQnV0dG9uQ29sb3IpIHsKICAgICAgICBub3JtYWxDb2xvciA9IHBhcmFtcy5jb25maXJtQnV0dG9uQ29sb3I7CiAgICAgICAgaG92ZXJDb2xvciA9IGNvbG9yTHVtaW5hbmNlKG5vcm1hbENvbG9yLCAtMC4wNCk7CiAgICAgICAgYWN0aXZlQ29sb3IgPSBjb2xvckx1bWluYW5jZShub3JtYWxDb2xvciwgLTAuMTQpOwogICAgICB9CiAgICAKICAgICAgZnVuY3Rpb24gc2hvdWxkU2V0Q29uZmlybUJ1dHRvbkNvbG9yKGNvbG9yKSB7CiAgICAgICAgaWYgKHRhcmdldGVkQ29uZmlybSAmJiBwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKSB7CiAgICAgICAgICB0YXJnZXQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gY29sb3I7CiAgICAgICAgfQogICAgICB9CiAgICAKICAgICAgc3dpdGNoIChlLnR5cGUpIHsKICAgICAgICBjYXNlICdjbGljayc6CiAgICAgICAgICB2YXIgY2xpY2tlZE9uTW9kYWwgPSBtb2RhbCA9PT0gdGFyZ2V0OwogICAgICAgICAgdmFyIGNsaWNrZWRPbk1vZGFsQ2hpbGQgPSAoMCwgX2hhbmRsZURvbS5pc0Rlc2NlbmRhbnQpKG1vZGFsLCB0YXJnZXQpOwogICAgCiAgICAgICAgICAvLyBJZ25vcmUgY2xpY2sgb3V0c2lkZSBpZiBhbGxvd091dHNpZGVDbGljayBpcyBmYWxzZQogICAgICAgICAgaWYgKCFjbGlja2VkT25Nb2RhbCAmJiAhY2xpY2tlZE9uTW9kYWxDaGlsZCAmJiBtb2RhbElzVmlzaWJsZSAmJiAhcGFyYW1zLmFsbG93T3V0c2lkZUNsaWNrKSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgCiAgICAgICAgICBpZiAodGFyZ2V0ZWRDb25maXJtICYmIGRvbmVGdW5jdGlvbkV4aXN0cyAmJiBtb2RhbElzVmlzaWJsZSkgewogICAgICAgICAgICBoYW5kbGVDb25maXJtKG1vZGFsLCBwYXJhbXMpOwogICAgICAgICAgfSBlbHNlIGlmIChkb25lRnVuY3Rpb25FeGlzdHMgJiYgbW9kYWxJc1Zpc2libGUgfHwgdGFyZ2V0ZWRPdmVybGF5KSB7CiAgICAgICAgICAgIGhhbmRsZUNhbmNlbChtb2RhbCwgcGFyYW1zKTsKICAgICAgICAgIH0gZWxzZSBpZiAoKDAsIF9oYW5kbGVEb20uaXNEZXNjZW5kYW50KShtb2RhbCwgdGFyZ2V0KSAmJiB0YXJnZXQudGFnTmFtZSA9PT0gJ0JVVFRPTicpIHsKICAgICAgICAgICAgc3dlZXRBbGVydC5jbG9zZSgpOwogICAgICAgICAgfQogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH07CiAgICAKICAgIC8qCiAgICAgKiAgVXNlciBjbGlja2VkIG9uICJDb25maXJtIi8iT0siCiAgICAgKi8KICAgIHZhciBoYW5kbGVDb25maXJtID0gZnVuY3Rpb24gaGFuZGxlQ29uZmlybShtb2RhbCwgcGFyYW1zKSB7CiAgICAgIHZhciBjYWxsYmFja1ZhbHVlID0gdHJ1ZTsKICAgIAogICAgICBpZiAoKDAsIF9oYW5kbGVEb20uaGFzQ2xhc3MpKG1vZGFsLCAnc2hvdy1pbnB1dCcpKSB7CiAgICAgICAgY2FsbGJhY2tWYWx1ZSA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykudmFsdWU7CiAgICAKICAgICAgICBpZiAoIWNhbGxiYWNrVmFsdWUpIHsKICAgICAgICAgIGNhbGxiYWNrVmFsdWUgPSAnJzsKICAgICAgICB9CiAgICAgIH0KICAgIAogICAgICBwYXJhbXMuZG9uZUZ1bmN0aW9uKGNhbGxiYWNrVmFsdWUpOwogICAgCiAgICAgIGlmIChwYXJhbXMuY2xvc2VPbkNvbmZpcm0pIHsKICAgICAgICBzd2VldEFsZXJ0LmNsb3NlKCk7CiAgICAgIH0KICAgICAgLy8gRGlzYWJsZSBjYW5jZWwgYW5kIGNvbmZpcm0gYnV0dG9uIGlmIHRoZSBwYXJhbWV0ZXIgaXMgdHJ1ZQogICAgICBpZiAocGFyYW1zLnNob3dMb2FkZXJPbkNvbmZpcm0pIHsKICAgICAgICBzd2VldEFsZXJ0LmRpc2FibGVCdXR0b25zKCk7CiAgICAgIH0KICAgIH07CiAgICAKICAgIC8qCiAgICAgKiAgVXNlciBjbGlja2VkIG9uICJDYW5jZWwiCiAgICAgKi8KICAgIHZhciBoYW5kbGVDYW5jZWwgPSBmdW5jdGlvbiBoYW5kbGVDYW5jZWwobW9kYWwsIHBhcmFtcykgewogICAgICAvLyBDaGVjayBpZiBjYWxsYmFjayBmdW5jdGlvbiBleHBlY3RzIGEgcGFyYW1ldGVyICh0byB0cmFjayBjYW5jZWwgYWN0aW9ucykKICAgICAgdmFyIGZ1bmN0aW9uQXNTdHIgPSBTdHJpbmcocGFyYW1zLmRvbmVGdW5jdGlvbikucmVwbGFjZSgvXHMvZywgJycpOwogICAgICB2YXIgZnVuY3Rpb25IYW5kbGVzQ2FuY2VsID0gZnVuY3Rpb25Bc1N0ci5zdWJzdHJpbmcoMCwgOSkgPT09ICdmdW5jdGlvbignICYmIGZ1bmN0aW9uQXNTdHIuc3Vic3RyaW5nKDksIDEwKSAhPT0gJyknOwogICAgCiAgICAgIGlmIChmdW5jdGlvbkhhbmRsZXNDYW5jZWwpIHsKICAgICAgICBwYXJhbXMuZG9uZUZ1bmN0aW9uKGZhbHNlKTsKICAgICAgfQogICAgCiAgICAgIGlmIChwYXJhbXMuY2xvc2VPbkNhbmNlbCkgewogICAgICAgIHN3ZWV0QWxlcnQuY2xvc2UoKTsKICAgICAgfQogICAgfTsKICAgIAogICAgZXhwb3J0cy5oYW5kbGVCdXR0b24gPSBoYW5kbGVCdXR0b247CiAgICBleHBvcnRzLmhhbmRsZUNvbmZpcm0gPSBoYW5kbGVDb25maXJtOwogICAgZXhwb3J0cy5oYW5kbGVDYW5jZWwgPSBoYW5kbGVDYW5jZWw7CiAgICAKICAgIH0seyIuL2hhbmRsZS1kb20iOjMsIi4vaGFuZGxlLXN3YWwtZG9tIjo1fV0sMzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICAgICAgdmFsdWU6IHRydWUKICAgIH0pOwogICAgdmFyIGhhc0NsYXNzID0gZnVuY3Rpb24gaGFzQ2xhc3MoZWxlbSwgY2xhc3NOYW1lKSB7CiAgICAgIHJldHVybiBuZXcgUmVnRXhwKCcgJyArIGNsYXNzTmFtZSArICcgJykudGVzdCgnICcgKyBlbGVtLmNsYXNzTmFtZSArICcgJyk7CiAgICB9OwogICAgCiAgICB2YXIgYWRkQ2xhc3MgPSBmdW5jdGlvbiBhZGRDbGFzcyhlbGVtLCBjbGFzc05hbWUpIHsKICAgICAgaWYgKCFoYXNDbGFzcyhlbGVtLCBjbGFzc05hbWUpKSB7CiAgICAgICAgZWxlbS5jbGFzc05hbWUgKz0gJyAnICsgY2xhc3NOYW1lOwogICAgICB9CiAgICB9OwogICAgCiAgICB2YXIgcmVtb3ZlQ2xhc3MgPSBmdW5jdGlvbiByZW1vdmVDbGFzcyhlbGVtLCBjbGFzc05hbWUpIHsKICAgICAgdmFyIG5ld0NsYXNzID0gJyAnICsgZWxlbS5jbGFzc05hbWUucmVwbGFjZSgvW1x0XHJcbl0vZywgJyAnKSArICcgJzsKICAgICAgaWYgKGhhc0NsYXNzKGVsZW0sIGNsYXNzTmFtZSkpIHsKICAgICAgICB3aGlsZSAobmV3Q2xhc3MuaW5kZXhPZignICcgKyBjbGFzc05hbWUgKyAnICcpID49IDApIHsKICAgICAgICAgIG5ld0NsYXNzID0gbmV3Q2xhc3MucmVwbGFjZSgnICcgKyBjbGFzc05hbWUgKyAnICcsICcgJyk7CiAgICAgICAgfQogICAgICAgIGVsZW0uY2xhc3NOYW1lID0gbmV3Q2xhc3MucmVwbGFjZSgvXlxzK3xccyskL2csICcnKTsKICAgICAgfQogICAgfTsKICAgIAogICAgdmFyIGVzY2FwZUh0bWwgPSBmdW5jdGlvbiBlc2NhcGVIdG1sKHN0cikgewogICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIpKTsKICAgICAgcmV0dXJuIGRpdi5pbm5lckhUTUw7CiAgICB9OwogICAgCiAgICB2YXIgX3Nob3cgPSBmdW5jdGlvbiBfc2hvdyhlbGVtKSB7CiAgICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9ICcnOwogICAgICBlbGVtLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgfTsKICAgIAogICAgdmFyIHNob3cgPSBmdW5jdGlvbiBzaG93KGVsZW1zKSB7CiAgICAgIGlmIChlbGVtcyAmJiAhZWxlbXMubGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIF9zaG93KGVsZW1zKTsKICAgICAgfQogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgKytpKSB7CiAgICAgICAgX3Nob3coZWxlbXNbaV0pOwogICAgICB9CiAgICB9OwogICAgCiAgICB2YXIgX2hpZGUgPSBmdW5jdGlvbiBfaGlkZShlbGVtKSB7CiAgICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9ICcnOwogICAgICBlbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICB9OwogICAgCiAgICB2YXIgaGlkZSA9IGZ1bmN0aW9uIGhpZGUoZWxlbXMpIHsKICAgICAgaWYgKGVsZW1zICYmICFlbGVtcy5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gX2hpZGUoZWxlbXMpOwogICAgICB9CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyArK2kpIHsKICAgICAgICBfaGlkZShlbGVtc1tpXSk7CiAgICAgIH0KICAgIH07CiAgICAKICAgIHZhciBpc0Rlc2NlbmRhbnQgPSBmdW5jdGlvbiBpc0Rlc2NlbmRhbnQocGFyZW50LCBjaGlsZCkgewogICAgICB2YXIgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7CiAgICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7CiAgICAgICAgaWYgKG5vZGUgPT09IHBhcmVudCkgewogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7CiAgICAgIH0KICAgICAgcmV0dXJuIGZhbHNlOwogICAgfTsKICAgIAogICAgdmFyIGdldFRvcE1hcmdpbiA9IGZ1bmN0aW9uIGdldFRvcE1hcmdpbihlbGVtKSB7CiAgICAgIGVsZW0uc3R5bGUubGVmdCA9ICctOTk5OXB4JzsKICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgIAogICAgICB2YXIgaGVpZ2h0ID0gZWxlbS5jbGllbnRIZWlnaHQsCiAgICAgICAgICBwYWRkaW5nOwogICAgICBpZiAodHlwZW9mIGdldENvbXB1dGVkU3R5bGUgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAgICAgLy8gSUUgOAogICAgICAgIHBhZGRpbmcgPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGVsZW0pLmdldFByb3BlcnR5VmFsdWUoJ3BhZGRpbmctdG9wJyksIDEwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBwYWRkaW5nID0gcGFyc2VJbnQoZWxlbS5jdXJyZW50U3R5bGUucGFkZGluZyk7CiAgICAgIH0KICAgIAogICAgICBlbGVtLnN0eWxlLmxlZnQgPSAnJzsKICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICByZXR1cm4gJy0nICsgcGFyc2VJbnQoKGhlaWdodCArIHBhZGRpbmcpIC8gMikgKyAncHgnOwogICAgfTsKICAgIAogICAgdmFyIGZhZGVJbiA9IGZ1bmN0aW9uIGZhZGVJbihlbGVtLCBpbnRlcnZhbCkgewogICAgICBpZiAoK2VsZW0uc3R5bGUub3BhY2l0eSA8IDEpIHsKICAgICAgICBpbnRlcnZhbCA9IGludGVydmFsIHx8IDE2OwogICAgICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9IDA7CiAgICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICB2YXIgbGFzdCA9ICtuZXcgRGF0ZSgpOwogICAgICAgIHZhciB0aWNrID0gZnVuY3Rpb24gdGljaygpIHsKICAgICAgICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9ICtlbGVtLnN0eWxlLm9wYWNpdHkgKyAobmV3IERhdGUoKSAtIGxhc3QpIC8gMTAwOwogICAgICAgICAgbGFzdCA9ICtuZXcgRGF0ZSgpOwogICAgCiAgICAgICAgICBpZiAoK2VsZW0uc3R5bGUub3BhY2l0eSA8IDEpIHsKICAgICAgICAgICAgc2V0VGltZW91dCh0aWNrLCBpbnRlcnZhbCk7CiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgICB0aWNrKCk7CiAgICAgIH0KICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsgLy9mYWxsYmFjayBJRTgKICAgIH07CiAgICAKICAgIHZhciBmYWRlT3V0ID0gZnVuY3Rpb24gZmFkZU91dChlbGVtLCBpbnRlcnZhbCkgewogICAgICBpbnRlcnZhbCA9IGludGVydmFsIHx8IDE2OwogICAgICBlbGVtLnN0eWxlLm9wYWNpdHkgPSAxOwogICAgICB2YXIgbGFzdCA9ICtuZXcgRGF0ZSgpOwogICAgICB2YXIgdGljayA9IGZ1bmN0aW9uIHRpY2soKSB7CiAgICAgICAgZWxlbS5zdHlsZS5vcGFjaXR5ID0gK2VsZW0uc3R5bGUub3BhY2l0eSAtIChuZXcgRGF0ZSgpIC0gbGFzdCkgLyAxMDA7CiAgICAgICAgbGFzdCA9ICtuZXcgRGF0ZSgpOwogICAgCiAgICAgICAgaWYgKCtlbGVtLnN0eWxlLm9wYWNpdHkgPiAwKSB7CiAgICAgICAgICBzZXRUaW1lb3V0KHRpY2ssIGludGVydmFsKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIH0KICAgICAgfTsKICAgICAgdGljaygpOwogICAgfTsKICAgIAogICAgdmFyIGZpcmVDbGljayA9IGZ1bmN0aW9uIGZpcmVDbGljayhub2RlKSB7CiAgICAgIC8vIFRha2VuIGZyb20gaHR0cDovL3d3dy5ub25vYnRydXNpdmUuY29tLzIwMTEvMTEvMjkvcHJvZ3JhbWF0aWNhbGx5LWZpcmUtY3Jvc3Nicm93c2VyLWNsaWNrLWV2ZW50LXdpdGgtamF2YXNjcmlwdC8KICAgICAgLy8gVGhlbiBmaXhlZCBmb3IgdG9kYXkncyBDaHJvbWUgYnJvd3Nlci4KICAgICAgaWYgKHR5cGVvZiBNb3VzZUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgLy8gVXAtdG8tZGF0ZSBhcHByb2FjaAogICAgICAgIHZhciBtZXZ0ID0gbmV3IE1vdXNlRXZlbnQoJ2NsaWNrJywgewogICAgICAgICAgdmlldzogd2luZG93LAogICAgICAgICAgYnViYmxlczogZmFsc2UsCiAgICAgICAgICBjYW5jZWxhYmxlOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgbm9kZS5kaXNwYXRjaEV2ZW50KG1ldnQpOwogICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmNyZWF0ZUV2ZW50KSB7CiAgICAgICAgLy8gRmFsbGJhY2sKICAgICAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ01vdXNlRXZlbnRzJyk7CiAgICAgICAgZXZ0LmluaXRFdmVudCgnY2xpY2snLCBmYWxzZSwgZmFsc2UpOwogICAgICAgIG5vZGUuZGlzcGF0Y2hFdmVudChldnQpOwogICAgICB9IGVsc2UgaWYgKGRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KSB7CiAgICAgICAgbm9kZS5maXJlRXZlbnQoJ29uY2xpY2snKTsKICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygbm9kZS5vbmNsaWNrID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgbm9kZS5vbmNsaWNrKCk7CiAgICAgIH0KICAgIH07CiAgICAKICAgIHZhciBzdG9wRXZlbnRQcm9wYWdhdGlvbiA9IGZ1bmN0aW9uIHN0b3BFdmVudFByb3BhZ2F0aW9uKGUpIHsKICAgICAgLy8gSW4gcGFydGljdWxhciwgbWFrZSBzdXJlIHRoZSBzcGFjZSBiYXIgZG9lc24ndCBzY3JvbGwgdGhlIG1haW4gd2luZG93LgogICAgICBpZiAodHlwZW9mIGUuc3RvcFByb3BhZ2F0aW9uID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIH0gZWxzZSBpZiAod2luZG93LmV2ZW50ICYmIHdpbmRvdy5ldmVudC5oYXNPd25Qcm9wZXJ0eSgnY2FuY2VsQnViYmxlJykpIHsKICAgICAgICB3aW5kb3cuZXZlbnQuY2FuY2VsQnViYmxlID0gdHJ1ZTsKICAgICAgfQogICAgfTsKICAgIAogICAgZXhwb3J0cy5oYXNDbGFzcyA9IGhhc0NsYXNzOwogICAgZXhwb3J0cy5hZGRDbGFzcyA9IGFkZENsYXNzOwogICAgZXhwb3J0cy5yZW1vdmVDbGFzcyA9IHJlbW92ZUNsYXNzOwogICAgZXhwb3J0cy5lc2NhcGVIdG1sID0gZXNjYXBlSHRtbDsKICAgIGV4cG9ydHMuX3Nob3cgPSBfc2hvdzsKICAgIGV4cG9ydHMuc2hvdyA9IHNob3c7CiAgICBleHBvcnRzLl9oaWRlID0gX2hpZGU7CiAgICBleHBvcnRzLmhpZGUgPSBoaWRlOwogICAgZXhwb3J0cy5pc0Rlc2NlbmRhbnQgPSBpc0Rlc2NlbmRhbnQ7CiAgICBleHBvcnRzLmdldFRvcE1hcmdpbiA9IGdldFRvcE1hcmdpbjsKICAgIGV4cG9ydHMuZmFkZUluID0gZmFkZUluOwogICAgZXhwb3J0cy5mYWRlT3V0ID0gZmFkZU91dDsKICAgIGV4cG9ydHMuZmlyZUNsaWNrID0gZmlyZUNsaWNrOwogICAgZXhwb3J0cy5zdG9wRXZlbnRQcm9wYWdhdGlvbiA9IHN0b3BFdmVudFByb3BhZ2F0aW9uOwogICAgCiAgICB9LHt9XSw0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICAKICAgIHZhciBfaGFuZGxlRG9tID0gcmVxdWlyZSgnLi9oYW5kbGUtZG9tJyk7CiAgICAKICAgIHZhciBfaGFuZGxlU3dhbERvbSA9IHJlcXVpcmUoJy4vaGFuZGxlLXN3YWwtZG9tJyk7CiAgICAKICAgIHZhciBoYW5kbGVLZXlEb3duID0gZnVuY3Rpb24gaGFuZGxlS2V5RG93bihldmVudCwgcGFyYW1zLCBtb2RhbCkgewogICAgICB2YXIgZSA9IGV2ZW50IHx8IHdpbmRvdy5ldmVudDsKICAgICAgdmFyIGtleUNvZGUgPSBlLmtleUNvZGUgfHwgZS53aGljaDsKICAgIAogICAgICB2YXIgJG9rQnV0dG9uID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNvbmZpcm0nKTsKICAgICAgdmFyICRjYW5jZWxCdXR0b24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY2FuY2VsJyk7CiAgICAgIHZhciAkbW9kYWxCdXR0b25zID0gbW9kYWwucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uW3RhYmluZGV4XScpOwogICAgCiAgICAgIGlmIChbOSwgMTMsIDMyLCAyN10uaW5kZXhPZihrZXlDb2RlKSA9PT0gLTEpIHsKICAgICAgICAvLyBEb24ndCBkbyB3b3JrIG9uIGtleXMgd2UgZG9uJ3QgY2FyZSBhYm91dC4KICAgICAgICByZXR1cm47CiAgICAgIH0KICAgIAogICAgICB2YXIgJHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7CiAgICAKICAgICAgdmFyIGJ0bkluZGV4ID0gLTE7IC8vIEZpbmQgdGhlIGJ1dHRvbiAtIG5vdGUsIHRoaXMgaXMgYSBub2RlbGlzdCwgbm90IGFuIGFycmF5LgogICAgICBmb3IgKHZhciBpID0gMDsgaSA8ICRtb2RhbEJ1dHRvbnMubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAoJHRhcmdldEVsZW1lbnQgPT09ICRtb2RhbEJ1dHRvbnNbaV0pIHsKICAgICAgICAgIGJ0bkluZGV4ID0gaTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgCiAgICAgIGlmIChrZXlDb2RlID09PSA5KSB7CiAgICAgICAgLy8gVEFCCiAgICAgICAgaWYgKGJ0bkluZGV4ID09PSAtMSkgewogICAgICAgICAgLy8gTm8gYnV0dG9uIGZvY3VzZWQuIEp1bXAgdG8gdGhlIGNvbmZpcm0gYnV0dG9uLgogICAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkb2tCdXR0b247CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIEN5Y2xlIHRvIHRoZSBuZXh0IGJ1dHRvbgogICAgICAgICAgaWYgKGJ0bkluZGV4ID09PSAkbW9kYWxCdXR0b25zLmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkbW9kYWxCdXR0b25zWzBdOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkbW9kYWxCdXR0b25zW2J0bkluZGV4ICsgMV07CiAgICAgICAgICB9CiAgICAgICAgfQogICAgCiAgICAgICAgKDAsIF9oYW5kbGVEb20uc3RvcEV2ZW50UHJvcGFnYXRpb24pKGUpOwogICAgICAgICR0YXJnZXRFbGVtZW50LmZvY3VzKCk7CiAgICAKICAgICAgICBpZiAocGFyYW1zLmNvbmZpcm1CdXR0b25Db2xvcikgewogICAgICAgICAgKDAsIF9oYW5kbGVTd2FsRG9tLnNldEZvY3VzU3R5bGUpKCR0YXJnZXRFbGVtZW50LCBwYXJhbXMuY29uZmlybUJ1dHRvbkNvbG9yKTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKGtleUNvZGUgPT09IDEzKSB7CiAgICAgICAgICBpZiAoJHRhcmdldEVsZW1lbnQudGFnTmFtZSA9PT0gJ0lOUFVUJykgewogICAgICAgICAgICAkdGFyZ2V0RWxlbWVudCA9ICRva0J1dHRvbjsKICAgICAgICAgICAgJG9rQnV0dG9uLmZvY3VzKCk7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIGlmIChidG5JbmRleCA9PT0gLTEpIHsKICAgICAgICAgICAgLy8gRU5URVIvU1BBQ0UgY2xpY2tlZCBvdXRzaWRlIG9mIGEgYnV0dG9uLgogICAgICAgICAgICAkdGFyZ2V0RWxlbWVudCA9ICRva0J1dHRvbjsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIERvIG5vdGhpbmcgLSBsZXQgdGhlIGJyb3dzZXIgaGFuZGxlIGl0LgogICAgICAgICAgICAkdGFyZ2V0RWxlbWVudCA9IHVuZGVmaW5lZDsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IDI3ICYmIHBhcmFtcy5hbGxvd0VzY2FwZUtleSA9PT0gdHJ1ZSkgewogICAgICAgICAgJHRhcmdldEVsZW1lbnQgPSAkY2FuY2VsQnV0dG9uOwogICAgICAgICAgKDAsIF9oYW5kbGVEb20uZmlyZUNsaWNrKSgkdGFyZ2V0RWxlbWVudCwgZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIEZhbGxiYWNrIC0gbGV0IHRoZSBicm93c2VyIGhhbmRsZSBpdC4KICAgICAgICAgICR0YXJnZXRFbGVtZW50ID0gdW5kZWZpbmVkOwogICAgICAgIH0KICAgICAgfQogICAgfTsKICAgIAogICAgZXhwb3J0cy5kZWZhdWx0ID0gaGFuZGxlS2V5RG93bjsKICAgIAogICAgfSx7Ii4vaGFuZGxlLWRvbSI6MywiLi9oYW5kbGUtc3dhbC1kb20iOjV9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICBleHBvcnRzLmZpeFZlcnRpY2FsUG9zaXRpb24gPSBleHBvcnRzLnJlc2V0SW5wdXRFcnJvciA9IGV4cG9ydHMucmVzZXRJbnB1dCA9IGV4cG9ydHMub3Blbk1vZGFsID0gZXhwb3J0cy5nZXRJbnB1dCA9IGV4cG9ydHMuZ2V0T3ZlcmxheSA9IGV4cG9ydHMuZ2V0TW9kYWwgPSBleHBvcnRzLnN3ZWV0QWxlcnRJbml0aWFsaXplID0gdW5kZWZpbmVkOwogICAgCiAgICB2YXIgX2hhbmRsZURvbSA9IHJlcXVpcmUoJy4vaGFuZGxlLWRvbScpOwogICAgCiAgICB2YXIgX2RlZmF1bHRQYXJhbXMgPSByZXF1aXJlKCcuL2RlZmF1bHQtcGFyYW1zJyk7CiAgICAKICAgIHZhciBfZGVmYXVsdFBhcmFtczIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZhdWx0UGFyYW1zKTsKICAgIAogICAgdmFyIF9pbmplY3RlZEh0bWwgPSByZXF1aXJlKCcuL2luamVjdGVkLWh0bWwnKTsKICAgIAogICAgdmFyIF9pbmplY3RlZEh0bWwyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfaW5qZWN0ZWRIdG1sKTsKICAgIAogICAgZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH0KICAgIAogICAgdmFyIG1vZGFsQ2xhc3MgPSAnLnN3ZWV0LWFsZXJ0JzsKICAgIHZhciBvdmVybGF5Q2xhc3MgPSAnLnN3ZWV0LW92ZXJsYXknOwogICAgCiAgICAvKgogICAgICogQWRkIG1vZGFsICsgb3ZlcmxheSB0byBET00KICAgICAqLwogICAgCiAgICAKICAgIHZhciBzd2VldEFsZXJ0SW5pdGlhbGl6ZSA9IGZ1bmN0aW9uIHN3ZWV0QWxlcnRJbml0aWFsaXplKCkgewogICAgICB2YXIgc3dlZXRXcmFwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgIHN3ZWV0V3JhcC5pbm5lckhUTUwgPSBfaW5qZWN0ZWRIdG1sMi5kZWZhdWx0OwogICAgCiAgICAgIC8vIEFwcGVuZCBlbGVtZW50cyB0byBib2R5CiAgICAgIHdoaWxlIChzd2VldFdyYXAuZmlyc3RDaGlsZCkgewogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3dlZXRXcmFwLmZpcnN0Q2hpbGQpOwogICAgICB9CiAgICB9OwogICAgCiAgICAvKgogICAgICogR2V0IERPTSBlbGVtZW50IG9mIG1vZGFsCiAgICAgKi8KICAgIHZhciBnZXRNb2RhbCA9IGZ1bmN0aW9uIGdldE1vZGFsKCkgewogICAgICB2YXIgJG1vZGFsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihtb2RhbENsYXNzKTsKICAgIAogICAgICBpZiAoISRtb2RhbCkgewogICAgICAgIHN3ZWV0QWxlcnRJbml0aWFsaXplKCk7CiAgICAgICAgJG1vZGFsID0gZ2V0TW9kYWwoKTsKICAgICAgfQogICAgCiAgICAgIHJldHVybiAkbW9kYWw7CiAgICB9OwogICAgCiAgICAvKgogICAgICogR2V0IERPTSBlbGVtZW50IG9mIGlucHV0IChpbiBtb2RhbCkKICAgICAqLwogICAgdmFyIGdldElucHV0ID0gZnVuY3Rpb24gZ2V0SW5wdXQoKSB7CiAgICAgIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpOwogICAgICBpZiAoJG1vZGFsKSB7CiAgICAgICAgcmV0dXJuICRtb2RhbC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpOwogICAgICB9CiAgICB9OwogICAgCiAgICAvKgogICAgICogR2V0IERPTSBlbGVtZW50IG9mIG92ZXJsYXkKICAgICAqLwogICAgdmFyIGdldE92ZXJsYXkgPSBmdW5jdGlvbiBnZXRPdmVybGF5KCkgewogICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihvdmVybGF5Q2xhc3MpOwogICAgfTsKICAgIAogICAgLyoKICAgICAqIEFuaW1hdGlvbiB3aGVuIG9wZW5pbmcgbW9kYWwKICAgICAqLwogICAgdmFyIG9wZW5Nb2RhbCA9IGZ1bmN0aW9uIG9wZW5Nb2RhbChjYWxsYmFjaykgewogICAgICB2YXIgJG1vZGFsID0gZ2V0TW9kYWwoKTsKICAgICAgKDAsIF9oYW5kbGVEb20uZmFkZUluKShnZXRPdmVybGF5KCksIDEwKTsKICAgICAgKDAsIF9oYW5kbGVEb20uc2hvdykoJG1vZGFsKTsKICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKCRtb2RhbCwgJ3Nob3dTd2VldEFsZXJ0Jyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKSgkbW9kYWwsICdoaWRlU3dlZXRBbGVydCcpOwogICAgCiAgICAgIHdpbmRvdy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogICAgICB2YXIgJG9rQnV0dG9uID0gJG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jb25maXJtJyk7CiAgICAgICRva0J1dHRvbi5mb2N1cygpOwogICAgCiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkbW9kYWwsICd2aXNpYmxlJyk7CiAgICAgIH0sIDUwMCk7CiAgICAKICAgICAgdmFyIHRpbWVyID0gJG1vZGFsLmdldEF0dHJpYnV0ZSgnZGF0YS10aW1lcicpOwogICAgCiAgICAgIGlmICh0aW1lciAhPT0gJ251bGwnICYmIHRpbWVyICE9PSAnJykgewogICAgICAgIHZhciB0aW1lckNhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgICAgJG1vZGFsLnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgIHZhciBkb25lRnVuY3Rpb25FeGlzdHMgPSAodGltZXJDYWxsYmFjayB8fCBudWxsKSAmJiAkbW9kYWwuZ2V0QXR0cmlidXRlKCdkYXRhLWhhcy1kb25lLWZ1bmN0aW9uJykgPT09ICd0cnVlJzsKICAgICAgICAgIGlmIChkb25lRnVuY3Rpb25FeGlzdHMpIHsKICAgICAgICAgICAgdGltZXJDYWxsYmFjayhudWxsKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHN3ZWV0QWxlcnQuY2xvc2UoKTsKICAgICAgICAgIH0KICAgICAgICB9LCB0aW1lcik7CiAgICAgIH0KICAgIH07CiAgICAKICAgIC8qCiAgICAgKiBSZXNldCB0aGUgc3R5bGluZyBvZiB0aGUgaW5wdXQKICAgICAqIChmb3IgZXhhbXBsZSBpZiBlcnJvcnMgaGF2ZSBiZWVuIHNob3duKQogICAgICovCiAgICB2YXIgcmVzZXRJbnB1dCA9IGZ1bmN0aW9uIHJlc2V0SW5wdXQoKSB7CiAgICAgIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpOwogICAgICB2YXIgJGlucHV0ID0gZ2V0SW5wdXQoKTsKICAgIAogICAgICAoMCwgX2hhbmRsZURvbS5yZW1vdmVDbGFzcykoJG1vZGFsLCAnc2hvdy1pbnB1dCcpOwogICAgICAkaW5wdXQudmFsdWUgPSBfZGVmYXVsdFBhcmFtczIuZGVmYXVsdC5pbnB1dFZhbHVlOwogICAgICAkaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHQuaW5wdXRUeXBlKTsKICAgICAgJGlucHV0LnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCBfZGVmYXVsdFBhcmFtczIuZGVmYXVsdC5pbnB1dFBsYWNlaG9sZGVyKTsKICAgIAogICAgICByZXNldElucHV0RXJyb3IoKTsKICAgIH07CiAgICAKICAgIHZhciByZXNldElucHV0RXJyb3IgPSBmdW5jdGlvbiByZXNldElucHV0RXJyb3IoZXZlbnQpIHsKICAgICAgLy8gSWYgcHJlc3MgZW50ZXIgPT4gaWdub3JlCiAgICAgIGlmIChldmVudCAmJiBldmVudC5rZXlDb2RlID09PSAxMykgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAgIHZhciAkbW9kYWwgPSBnZXRNb2RhbCgpOwogICAgCiAgICAgIHZhciAkZXJyb3JJY29uID0gJG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pbnB1dC1lcnJvcicpOwogICAgICAoMCwgX2hhbmRsZURvbS5yZW1vdmVDbGFzcykoJGVycm9ySWNvbiwgJ3Nob3cnKTsKICAgIAogICAgICB2YXIgJGVycm9yQ29udGFpbmVyID0gJG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5mb3JtLWdyb3VwJyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKSgkZXJyb3JDb250YWluZXIsICdoYXMtZXJyb3InKTsKICAgIH07CiAgICAKICAgIC8qCiAgICAgKiBTZXQgIm1hcmdpbi10b3AiLXByb3BlcnR5IG9uIG1vZGFsIGJhc2VkIG9uIGl0cyBjb21wdXRlZCBoZWlnaHQKICAgICAqLwogICAgdmFyIGZpeFZlcnRpY2FsUG9zaXRpb24gPSBmdW5jdGlvbiBmaXhWZXJ0aWNhbFBvc2l0aW9uKCkgewogICAgICB2YXIgJG1vZGFsID0gZ2V0TW9kYWwoKTsKICAgICAgJG1vZGFsLnN0eWxlLm1hcmdpblRvcCA9ICgwLCBfaGFuZGxlRG9tLmdldFRvcE1hcmdpbikoZ2V0TW9kYWwoKSk7CiAgICB9OwogICAgCiAgICBleHBvcnRzLnN3ZWV0QWxlcnRJbml0aWFsaXplID0gc3dlZXRBbGVydEluaXRpYWxpemU7CiAgICBleHBvcnRzLmdldE1vZGFsID0gZ2V0TW9kYWw7CiAgICBleHBvcnRzLmdldE92ZXJsYXkgPSBnZXRPdmVybGF5OwogICAgZXhwb3J0cy5nZXRJbnB1dCA9IGdldElucHV0OwogICAgZXhwb3J0cy5vcGVuTW9kYWwgPSBvcGVuTW9kYWw7CiAgICBleHBvcnRzLnJlc2V0SW5wdXQgPSByZXNldElucHV0OwogICAgZXhwb3J0cy5yZXNldElucHV0RXJyb3IgPSByZXNldElucHV0RXJyb3I7CiAgICBleHBvcnRzLmZpeFZlcnRpY2FsUG9zaXRpb24gPSBmaXhWZXJ0aWNhbFBvc2l0aW9uOwogICAgCiAgICB9LHsiLi9kZWZhdWx0LXBhcmFtcyI6MSwiLi9oYW5kbGUtZG9tIjozLCIuL2luamVjdGVkLWh0bWwiOjZ9XSw2OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICJ1c2Ugc3RyaWN0IjsKICAgIAogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICB2YXIgaW5qZWN0ZWRIVE1MID0KICAgIAogICAgLy8gRGFyayBvdmVybGF5CiAgICAiPGRpdiBjbGFzcz1cInN3ZWV0LW92ZXJsYXlcIiB0YWJJbmRleD1cIi0xXCI+PC9kaXY+IiArCiAgICAKICAgIC8vIE1vZGFsCiAgICAiPGRpdiBjbGFzcz1cInN3ZWV0LWFsZXJ0XCIgdGFiSW5kZXg9XCItMVwiPiIgKwogICAgCiAgICAvLyBFcnJvciBpY29uCiAgICAiPGRpdiBjbGFzcz1cInNhLWljb24gc2EtZXJyb3JcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EteC1tYXJrXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2EtbGluZSBzYS1sZWZ0XCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNhLWxpbmUgc2EtcmlnaHRcIj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+IiArCiAgICAKICAgIC8vIFdhcm5pbmcgaWNvbgogICAgIjxkaXYgY2xhc3M9XCJzYS1pY29uIHNhLXdhcm5pbmdcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EtYm9keVwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EtZG90XCI+PC9zcGFuPlxuICAgIDwvZGl2PiIgKwogICAgCiAgICAvLyBJbmZvIGljb24KICAgICI8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS1pbmZvXCI+PC9kaXY+IiArCiAgICAKICAgIC8vIFN1Y2Nlc3MgaWNvbgogICAgIjxkaXYgY2xhc3M9XCJzYS1pY29uIHNhLXN1Y2Nlc3NcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EtbGluZSBzYS10aXBcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNhLWxpbmUgc2EtbG9uZ1wiPjwvc3Bhbj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNhLXBsYWNlaG9sZGVyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2EtZml4XCI+PC9kaXY+XG4gICAgPC9kaXY+IiArICI8ZGl2IGNsYXNzPVwic2EtaWNvbiBzYS1jdXN0b21cIj48L2Rpdj4iICsKICAgIAogICAgLy8gVGl0bGUsIHRleHQgYW5kIGlucHV0CiAgICAiPGgyPlRpdGxlPC9oMj5cbiAgICA8cCBjbGFzcz1cImxlYWQgdGV4dC1tdXRlZFwiPlRleHQ8L3A+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdGFiSW5kZXg9XCIzXCIgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwic2EtaW5wdXQtZXJyb3IgaGVscC1ibG9ja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tZXhjbGFtYXRpb24tc2lnblwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJzYS1oZWxwLXRleHRcIj5Ob3QgdmFsaWQ8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+IiArCiAgICAKICAgIC8vIENhbmNlbCBhbmQgY29uZmlybSBidXR0b25zCiAgICAiPGRpdiBjbGFzcz1cInNhLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWwgYnRuIGJ0bi1sZ1wiIHRhYkluZGV4PVwiMlwiPkNhbmNlbDwvYnV0dG9uPlxuICAgICAgPGRpdiBjbGFzcz1cInNhLWNvbmZpcm0tYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29uZmlybSBidG4gYnRuLWxnXCIgdGFiSW5kZXg9XCIxXCI+T0s8L2J1dHRvbj4iICsKICAgIAogICAgLy8gTG9hZGluZyBhbmltYXRpb24KICAgICI8ZGl2IGNsYXNzPVwibGEtYmFsbC1mYWxsXCI+XG4gICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+IiArCiAgICAKICAgIC8vIEVuZCBvZiBtb2RhbAogICAgIjwvZGl2PiI7CiAgICAKICAgIGV4cG9ydHMuZGVmYXVsdCA9IGluamVjdGVkSFRNTDsKICAgIAogICAgfSx7fV0sNzpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICAgICAgdmFsdWU6IHRydWUKICAgIH0pOwogICAgCiAgICB2YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gInN5bWJvbCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgPyAic3ltYm9sIiA6IHR5cGVvZiBvYmo7IH07CiAgICAKICAgIHZhciBfdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7CiAgICAKICAgIHZhciBfaGFuZGxlU3dhbERvbSA9IHJlcXVpcmUoJy4vaGFuZGxlLXN3YWwtZG9tJyk7CiAgICAKICAgIHZhciBfaGFuZGxlRG9tID0gcmVxdWlyZSgnLi9oYW5kbGUtZG9tJyk7CiAgICAKICAgIHZhciBhbGVydFR5cGVzID0gWydlcnJvcicsICd3YXJuaW5nJywgJ2luZm8nLCAnc3VjY2VzcycsICdpbnB1dCcsICdwcm9tcHQnXTsKICAgIAogICAgLyoKICAgICAqIFNldCB0eXBlLCB0ZXh0IGFuZCBhY3Rpb25zIG9uIG1vZGFsCiAgICAgKi8KICAgIHZhciBzZXRQYXJhbWV0ZXJzID0gZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbXMpIHsKICAgICAgdmFyIG1vZGFsID0gKDAsIF9oYW5kbGVTd2FsRG9tLmdldE1vZGFsKSgpOwogICAgCiAgICAgIHZhciAkdGl0bGUgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdoMicpOwogICAgICB2YXIgJHRleHQgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdwJyk7CiAgICAgIHZhciAkY2FuY2VsQnRuID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNhbmNlbCcpOwogICAgICB2YXIgJGNvbmZpcm1CdG4gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY29uZmlybScpOwogICAgCiAgICAgIC8qCiAgICAgICAqIFRpdGxlCiAgICAgICAqLwogICAgICAkdGl0bGUuaW5uZXJIVE1MID0gcGFyYW1zLmh0bWwgPyBwYXJhbXMudGl0bGUgOiAoMCwgX2hhbmRsZURvbS5lc2NhcGVIdG1sKShwYXJhbXMudGl0bGUpLnNwbGl0KCdcbicpLmpvaW4oJzxicj4nKTsKICAgIAogICAgICAvKgogICAgICAgKiBUZXh0CiAgICAgICAqLwogICAgICAkdGV4dC5pbm5lckhUTUwgPSBwYXJhbXMuaHRtbCA/IHBhcmFtcy50ZXh0IDogKDAsIF9oYW5kbGVEb20uZXNjYXBlSHRtbCkocGFyYW1zLnRleHQgfHwgJycpLnNwbGl0KCdcbicpLmpvaW4oJzxicj4nKTsKICAgICAgaWYgKHBhcmFtcy50ZXh0KSAoMCwgX2hhbmRsZURvbS5zaG93KSgkdGV4dCk7CiAgICAKICAgICAgLyoKICAgICAgICogQ3VzdG9tIGNsYXNzCiAgICAgICAqLwogICAgICBpZiAocGFyYW1zLmN1c3RvbUNsYXNzKSB7CiAgICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKG1vZGFsLCBwYXJhbXMuY3VzdG9tQ2xhc3MpOwogICAgICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1jdXN0b20tY2xhc3MnLCBwYXJhbXMuY3VzdG9tQ2xhc3MpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIEZpbmQgcHJldmlvdXNseSBzZXQgY2xhc3NlcyBhbmQgcmVtb3ZlIHRoZW0KICAgICAgICB2YXIgY3VzdG9tQ2xhc3MgPSBtb2RhbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtY3VzdG9tLWNsYXNzJyk7CiAgICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKG1vZGFsLCBjdXN0b21DbGFzcyk7CiAgICAgICAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLWN1c3RvbS1jbGFzcycsICcnKTsKICAgICAgfQogICAgCiAgICAgIC8qCiAgICAgICAqIEljb24KICAgICAgICovCiAgICAgICgwLCBfaGFuZGxlRG9tLmhpZGUpKG1vZGFsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zYS1pY29uJykpOwogICAgCiAgICAgIGlmIChwYXJhbXMudHlwZSAmJiAhKDAsIF91dGlscy5pc0lFOCkoKSkgewogICAgICAgIHZhciBfcmV0ID0gZnVuY3Rpb24gKCkgewogICAgCiAgICAgICAgICB2YXIgdmFsaWRUeXBlID0gZmFsc2U7CiAgICAKICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWxlcnRUeXBlcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBpZiAocGFyYW1zLnR5cGUgPT09IGFsZXJ0VHlwZXNbaV0pIHsKICAgICAgICAgICAgICB2YWxpZFR5cGUgPSB0cnVlOwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIGlmICghdmFsaWRUeXBlKSB7CiAgICAgICAgICAgIGxvZ1N0cignVW5rbm93biBhbGVydCB0eXBlOiAnICsgcGFyYW1zLnR5cGUpOwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIHY6IGZhbHNlCiAgICAgICAgICAgIH07CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIHZhciB0eXBlc1dpdGhJY29ucyA9IFsnc3VjY2VzcycsICdlcnJvcicsICd3YXJuaW5nJywgJ2luZm8nXTsKICAgICAgICAgIHZhciAkaWNvbiA9IHZvaWQgMDsKICAgIAogICAgICAgICAgaWYgKHR5cGVzV2l0aEljb25zLmluZGV4T2YocGFyYW1zLnR5cGUpICE9PSAtMSkgewogICAgICAgICAgICAkaWNvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pY29uLicgKyAnc2EtJyArIHBhcmFtcy50eXBlKTsKICAgICAgICAgICAgKDAsIF9oYW5kbGVEb20uc2hvdykoJGljb24pOwogICAgICAgICAgfQogICAgCiAgICAgICAgICB2YXIgJGlucHV0ID0gKDAsIF9oYW5kbGVTd2FsRG9tLmdldElucHV0KSgpOwogICAgCiAgICAgICAgICAvLyBBbmltYXRlIGljb24KICAgICAgICAgIHN3aXRjaCAocGFyYW1zLnR5cGUpIHsKICAgIAogICAgICAgICAgICBjYXNlICdzdWNjZXNzJzoKICAgICAgICAgICAgICAoMCwgX2hhbmRsZURvbS5hZGRDbGFzcykoJGljb24sICdhbmltYXRlJyk7CiAgICAgICAgICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKCRpY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS10aXAnKSwgJ2FuaW1hdGVTdWNjZXNzVGlwJyk7CiAgICAgICAgICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKCRpY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS1sb25nJyksICdhbmltYXRlU3VjY2Vzc0xvbmcnKTsKICAgICAgICAgICAgICBicmVhazsKICAgIAogICAgICAgICAgICBjYXNlICdlcnJvcic6CiAgICAgICAgICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKCRpY29uLCAnYW5pbWF0ZUVycm9ySWNvbicpOwogICAgICAgICAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EteC1tYXJrJyksICdhbmltYXRlWE1hcmsnKTsKICAgICAgICAgICAgICBicmVhazsKICAgIAogICAgICAgICAgICBjYXNlICd3YXJuaW5nJzoKICAgICAgICAgICAgICAoMCwgX2hhbmRsZURvbS5hZGRDbGFzcykoJGljb24sICdwdWxzZVdhcm5pbmcnKTsKICAgICAgICAgICAgICAoMCwgX2hhbmRsZURvbS5hZGRDbGFzcykoJGljb24ucXVlcnlTZWxlY3RvcignLnNhLWJvZHknKSwgJ3B1bHNlV2FybmluZ0lucycpOwogICAgICAgICAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkaWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtZG90JyksICdwdWxzZVdhcm5pbmdJbnMnKTsKICAgICAgICAgICAgICBicmVhazsKICAgIAogICAgICAgICAgICBjYXNlICdpbnB1dCc6CiAgICAgICAgICAgIGNhc2UgJ3Byb21wdCc6CiAgICAgICAgICAgICAgJGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsIHBhcmFtcy5pbnB1dFR5cGUpOwogICAgICAgICAgICAgICRpbnB1dC52YWx1ZSA9IHBhcmFtcy5pbnB1dFZhbHVlOwogICAgICAgICAgICAgICRpbnB1dC5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgcGFyYW1zLmlucHV0UGxhY2Vob2xkZXIpOwogICAgICAgICAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKShtb2RhbCwgJ3Nob3ctaW5wdXQnKTsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICRpbnB1dC5mb2N1cygpOwogICAgICAgICAgICAgICAgJGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgc3dhbC5yZXNldElucHV0RXJyb3IpOwogICAgICAgICAgICAgIH0sIDQwMCk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfSgpOwogICAgCiAgICAgICAgaWYgKCh0eXBlb2YgX3JldCA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoX3JldCkpID09PSAib2JqZWN0IikgcmV0dXJuIF9yZXQudjsKICAgICAgfQogICAgCiAgICAgIC8qCiAgICAgICAqIEN1c3RvbSBpbWFnZQogICAgICAgKi8KICAgICAgaWYgKHBhcmFtcy5pbWFnZVVybCkgewogICAgICAgIHZhciAkY3VzdG9tSWNvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pY29uLnNhLWN1c3RvbScpOwogICAgCiAgICAgICAgJGN1c3RvbUljb24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gJ3VybCgnICsgcGFyYW1zLmltYWdlVXJsICsgJyknOwogICAgICAgICgwLCBfaGFuZGxlRG9tLnNob3cpKCRjdXN0b21JY29uKTsKICAgIAogICAgICAgIHZhciBfaW1nV2lkdGggPSA4MDsKICAgICAgICB2YXIgX2ltZ0hlaWdodCA9IDgwOwogICAgCiAgICAgICAgaWYgKHBhcmFtcy5pbWFnZVNpemUpIHsKICAgICAgICAgIHZhciBkaW1lbnNpb25zID0gcGFyYW1zLmltYWdlU2l6ZS50b1N0cmluZygpLnNwbGl0KCd4Jyk7CiAgICAgICAgICB2YXIgaW1nV2lkdGggPSBkaW1lbnNpb25zWzBdOwogICAgICAgICAgdmFyIGltZ0hlaWdodCA9IGRpbWVuc2lvbnNbMV07CiAgICAKICAgICAgICAgIGlmICghaW1nV2lkdGggfHwgIWltZ0hlaWdodCkgewogICAgICAgICAgICBsb2dTdHIoJ1BhcmFtZXRlciBpbWFnZVNpemUgZXhwZWN0cyB2YWx1ZSB3aXRoIGZvcm1hdCBXSURUSHhIRUlHSFQsIGdvdCAnICsgcGFyYW1zLmltYWdlU2l6ZSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBfaW1nV2lkdGggPSBpbWdXaWR0aDsKICAgICAgICAgICAgX2ltZ0hlaWdodCA9IGltZ0hlaWdodDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAKICAgICAgICAkY3VzdG9tSWNvbi5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJGN1c3RvbUljb24uZ2V0QXR0cmlidXRlKCdzdHlsZScpICsgJ3dpZHRoOicgKyBfaW1nV2lkdGggKyAncHg7IGhlaWdodDonICsgX2ltZ0hlaWdodCArICdweCcpOwogICAgICB9CiAgICAKICAgICAgLyoKICAgICAgICogU2hvdyBjYW5jZWwgYnV0dG9uPwogICAgICAgKi8KICAgICAgbW9kYWwuc2V0QXR0cmlidXRlKCdkYXRhLWhhcy1jYW5jZWwtYnV0dG9uJywgcGFyYW1zLnNob3dDYW5jZWxCdXR0b24pOwogICAgICBpZiAocGFyYW1zLnNob3dDYW5jZWxCdXR0b24pIHsKICAgICAgICAkY2FuY2VsQnRuLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJzsKICAgICAgfSBlbHNlIHsKICAgICAgICAoMCwgX2hhbmRsZURvbS5oaWRlKSgkY2FuY2VsQnRuKTsKICAgICAgfQogICAgCiAgICAgIC8qCiAgICAgICAqIFNob3cgY29uZmlybSBidXR0b24/CiAgICAgICAqLwogICAgICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaGFzLWNvbmZpcm0tYnV0dG9uJywgcGFyYW1zLnNob3dDb25maXJtQnV0dG9uKTsKICAgICAgaWYgKHBhcmFtcy5zaG93Q29uZmlybUJ1dHRvbikgewogICAgICAgICRjb25maXJtQnRuLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJzsKICAgICAgfSBlbHNlIHsKICAgICAgICAoMCwgX2hhbmRsZURvbS5oaWRlKSgkY29uZmlybUJ0bik7CiAgICAgIH0KICAgIAogICAgICAvKgogICAgICAgKiBDdXN0b20gdGV4dCBvbiBjYW5jZWwvY29uZmlybSBidXR0b25zCiAgICAgICAqLwogICAgICBpZiAocGFyYW1zLmNhbmNlbEJ1dHRvblRleHQpIHsKICAgICAgICAkY2FuY2VsQnRuLmlubmVySFRNTCA9ICgwLCBfaGFuZGxlRG9tLmVzY2FwZUh0bWwpKHBhcmFtcy5jYW5jZWxCdXR0b25UZXh0KTsKICAgICAgfQogICAgICBpZiAocGFyYW1zLmNvbmZpcm1CdXR0b25UZXh0KSB7CiAgICAgICAgJGNvbmZpcm1CdG4uaW5uZXJIVE1MID0gKDAsIF9oYW5kbGVEb20uZXNjYXBlSHRtbCkocGFyYW1zLmNvbmZpcm1CdXR0b25UZXh0KTsKICAgICAgfQogICAgCiAgICAgIC8qCiAgICAgICAqIFJlc2V0IGNvbmZpcm0gYnV0dG9ucyB0byBkZWZhdWx0IGNsYXNzIChVZ2x5IGZpeCkKICAgICAgICovCiAgICAgICRjb25maXJtQnRuLmNsYXNzTmFtZSA9ICdjb25maXJtIGJ0biBidG4tbGcnOwogICAgCiAgICAgIC8qCiAgICAgICAqIEF0dGFjaCBzZWxlY3RlZCBjbGFzcyB0byB0aGUgc3dlZXQgYWxlcnQgbW9kYWwKICAgICAgICovCiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKShtb2RhbCwgcGFyYW1zLmNvbnRhaW5lckNsYXNzKTsKICAgIAogICAgICAvKgogICAgICAgKiBTZXQgY29uZmlybSBidXR0b24gdG8gc2VsZWN0ZWQgY2xhc3MKICAgICAgICovCiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkY29uZmlybUJ0biwgcGFyYW1zLmNvbmZpcm1CdXR0b25DbGFzcyk7CiAgICAKICAgICAgLyoKICAgICAgICogU2V0IGNhbmNlbCBidXR0b24gdG8gc2VsZWN0ZWQgY2xhc3MKICAgICAgICovCiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkY2FuY2VsQnRuLCBwYXJhbXMuY2FuY2VsQnV0dG9uQ2xhc3MpOwogICAgCiAgICAgIC8qCiAgICAgICAqIFNldCB0aXRsZSB0byBzZWxlY3RlZCBjbGFzcwogICAgICAgKi8KICAgICAgKDAsIF9oYW5kbGVEb20uYWRkQ2xhc3MpKCR0aXRsZSwgcGFyYW1zLnRpdGxlQ2xhc3MpOwogICAgCiAgICAgIC8qCiAgICAgICAqIFNldCB0ZXh0IHRvIHNlbGVjdGVkIGNsYXNzCiAgICAgICAqLwogICAgICAoMCwgX2hhbmRsZURvbS5hZGRDbGFzcykoJHRleHQsIHBhcmFtcy50ZXh0Q2xhc3MpOwogICAgCiAgICAgIC8qCiAgICAgICAqIEFsbG93IG91dHNpZGUgY2xpY2sKICAgICAgICovCiAgICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1hbGxvdy1vdXRzaWRlLWNsaWNrJywgcGFyYW1zLmFsbG93T3V0c2lkZUNsaWNrKTsKICAgIAogICAgICAvKgogICAgICAgKiBDYWxsYmFjayBmdW5jdGlvbgogICAgICAgKi8KICAgICAgdmFyIGhhc0RvbmVGdW5jdGlvbiA9IHBhcmFtcy5kb25lRnVuY3Rpb24gPyB0cnVlIDogZmFsc2U7CiAgICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1oYXMtZG9uZS1mdW5jdGlvbicsIGhhc0RvbmVGdW5jdGlvbik7CiAgICAKICAgICAgLyoKICAgICAgICogQW5pbWF0aW9uCiAgICAgICAqLwogICAgICBpZiAoIXBhcmFtcy5hbmltYXRpb24pIHsKICAgICAgICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYW5pbWF0aW9uJywgJ25vbmUnKTsKICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFyYW1zLmFuaW1hdGlvbiA9PT0gJ3N0cmluZycpIHsKICAgICAgICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtYW5pbWF0aW9uJywgcGFyYW1zLmFuaW1hdGlvbik7IC8vIEN1c3RvbSBhbmltYXRpb24KICAgICAgfSBlbHNlIHsKICAgICAgICAgIG1vZGFsLnNldEF0dHJpYnV0ZSgnZGF0YS1hbmltYXRpb24nLCAncG9wJyk7CiAgICAgICAgfQogICAgCiAgICAgIC8qCiAgICAgICAqIFRpbWVyCiAgICAgICAqLwogICAgICBtb2RhbC5zZXRBdHRyaWJ1dGUoJ2RhdGEtdGltZXInLCBwYXJhbXMudGltZXIpOwogICAgfTsKICAgIAogICAgZXhwb3J0cy5kZWZhdWx0ID0gc2V0UGFyYW1ldGVyczsKICAgIAogICAgfSx7Ii4vaGFuZGxlLWRvbSI6MywiLi9oYW5kbGUtc3dhbC1kb20iOjUsIi4vdXRpbHMiOjh9XSw4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKICAgIAogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogICAgICB2YWx1ZTogdHJ1ZQogICAgfSk7CiAgICAvKgogICAgICogQWxsb3cgdXNlciB0byBwYXNzIHRoZWlyIG93biBwYXJhbXMKICAgICAqLwogICAgdmFyIGV4dGVuZCA9IGZ1bmN0aW9uIGV4dGVuZChhLCBiKSB7CiAgICAgIGZvciAodmFyIGtleSBpbiBiKSB7CiAgICAgICAgaWYgKGIuaGFzT3duUHJvcGVydHkoa2V5KSkgewogICAgICAgICAgYVtrZXldID0gYltrZXldOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gYTsKICAgIH07CiAgICAKICAgIC8qCiAgICAgKiBDaGVjayBpZiB0aGUgdXNlciBpcyB1c2luZyBJbnRlcm5ldCBFeHBsb3JlciA4IChmb3IgZmFsbGJhY2tzKQogICAgICovCiAgICB2YXIgaXNJRTggPSBmdW5jdGlvbiBpc0lFOCgpIHsKICAgICAgcmV0dXJuIHdpbmRvdy5hdHRhY2hFdmVudCAmJiAhd2luZG93LmFkZEV2ZW50TGlzdGVuZXI7CiAgICB9OwogICAgCiAgICAvKgogICAgICogSUUgY29tcGF0aWJsZSBsb2dnaW5nIGZvciBkZXZlbG9wZXJzCiAgICAgKi8KICAgIHZhciBsb2dTdHIgPSBmdW5jdGlvbiBsb2dTdHIoc3RyaW5nKSB7CiAgICAgIGlmICh3aW5kb3cuY29uc29sZSkgewogICAgICAgIC8vIElFLi4uCiAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKCdTd2VldEFsZXJ0OiAnICsgc3RyaW5nKTsKICAgICAgfQogICAgfTsKICAgIAogICAgZXhwb3J0cy5leHRlbmQgPSBleHRlbmQ7CiAgICBleHBvcnRzLmlzSUU4ID0gaXNJRTg7CiAgICBleHBvcnRzLmxvZ1N0ciA9IGxvZ1N0cjsKICAgIAogICAgfSx7fV0sOTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CiAgICAKICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICAgICAgdmFsdWU6IHRydWUKICAgIH0pOwogICAgCiAgICB2YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gInN5bWJvbCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgPyAic3ltYm9sIiA6IHR5cGVvZiBvYmo7IH07IC8vIFN3ZWV0QWxlcnQKICAgIC8vIDIwMTQtMjAxNSAoYykgLSBUcmlzdGFuIEVkd2FyZHMKICAgIC8vIGdpdGh1Yi5jb20vdDR0NS9zd2VldGFsZXJ0CiAgICAKICAgIC8qCiAgICAgKiBqUXVlcnktbGlrZSBmdW5jdGlvbnMgZm9yIG1hbmlwdWxhdGluZyB0aGUgRE9NCiAgICAgKi8KICAgIAogICAgCiAgICAvKgogICAgICogSGFuZHkgdXRpbGl0aWVzCiAgICAgKi8KICAgIAogICAgCiAgICAvKgogICAgICogIEhhbmRsZSBzd2VldEFsZXJ0J3MgRE9NIGVsZW1lbnRzCiAgICAgKi8KICAgIAogICAgCiAgICAvLyBIYW5kbGUgYnV0dG9uIGV2ZW50cyBhbmQga2V5Ym9hcmQgZXZlbnRzCiAgICAKICAgIAogICAgLy8gRGVmYXVsdCB2YWx1ZXMKICAgIAogICAgCiAgICB2YXIgX2hhbmRsZURvbSA9IHJlcXVpcmUoJy4vbW9kdWxlcy9oYW5kbGUtZG9tJyk7CiAgICAKICAgIHZhciBfdXRpbHMgPSByZXF1aXJlKCcuL21vZHVsZXMvdXRpbHMnKTsKICAgIAogICAgdmFyIF9oYW5kbGVTd2FsRG9tID0gcmVxdWlyZSgnLi9tb2R1bGVzL2hhbmRsZS1zd2FsLWRvbScpOwogICAgCiAgICB2YXIgX2hhbmRsZUNsaWNrID0gcmVxdWlyZSgnLi9tb2R1bGVzL2hhbmRsZS1jbGljaycpOwogICAgCiAgICB2YXIgX2hhbmRsZUtleSA9IHJlcXVpcmUoJy4vbW9kdWxlcy9oYW5kbGUta2V5Jyk7CiAgICAKICAgIHZhciBfaGFuZGxlS2V5MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX2hhbmRsZUtleSk7CiAgICAKICAgIHZhciBfZGVmYXVsdFBhcmFtcyA9IHJlcXVpcmUoJy4vbW9kdWxlcy9kZWZhdWx0LXBhcmFtcycpOwogICAgCiAgICB2YXIgX2RlZmF1bHRQYXJhbXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfZGVmYXVsdFBhcmFtcyk7CiAgICAKICAgIHZhciBfc2V0UGFyYW1zID0gcmVxdWlyZSgnLi9tb2R1bGVzL3NldC1wYXJhbXMnKTsKICAgIAogICAgdmFyIF9zZXRQYXJhbXMyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChfc2V0UGFyYW1zKTsKICAgIAogICAgZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH0KICAgIAogICAgLyoKICAgICAqIFJlbWVtYmVyIHN0YXRlIGluIGNhc2VzIHdoZXJlIG9wZW5pbmcgYW5kIGhhbmRsaW5nIGEgbW9kYWwgd2lsbCBmaWRkbGUgd2l0aCBpdC4KICAgICAqIChXZSBhbHNvIHVzZSB3aW5kb3cucHJldmlvdXNBY3RpdmVFbGVtZW50IGFzIGEgZ2xvYmFsIHZhcmlhYmxlKQogICAgICovCiAgICB2YXIgcHJldmlvdXNXaW5kb3dLZXlEb3duOwogICAgdmFyIGxhc3RGb2N1c2VkQnV0dG9uOwogICAgCiAgICAvKgogICAgICogR2xvYmFsIHN3ZWV0QWxlcnQgZnVuY3Rpb24KICAgICAqICh0aGlzIGlzIHdoYXQgdGhlIHVzZXIgY2FsbHMpCiAgICAgKi8KICAgIHZhciBzd2VldEFsZXJ0LCBfc3dhbDsKICAgIAogICAgZXhwb3J0cy5kZWZhdWx0ID0gc3dlZXRBbGVydCA9IF9zd2FsID0gZnVuY3Rpb24gc3dhbCgpIHsKICAgICAgdmFyIGN1c3RvbWl6YXRpb25zID0gYXJndW1lbnRzWzBdOwogICAgCiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKShkb2N1bWVudC5ib2R5LCAnc3RvcC1zY3JvbGxpbmcnKTsKICAgICAgKDAsIF9oYW5kbGVTd2FsRG9tLnJlc2V0SW5wdXQpKCk7CiAgICAKICAgICAgLyoKICAgICAgICogVXNlIGFyZ3VtZW50IGlmIGRlZmluZWQgb3IgZGVmYXVsdCB2YWx1ZSBmcm9tIHBhcmFtcyBvYmplY3Qgb3RoZXJ3aXNlLgogICAgICAgKiBTdXBwb3J0cyB0aGUgY2FzZSB3aGVyZSBhIGRlZmF1bHQgdmFsdWUgaXMgYm9vbGVhbiB0cnVlIGFuZCBzaG91bGQgYmUKICAgICAgICogb3ZlcnJpZGRlbiBieSBhIGNvcnJlc3BvbmRpbmcgZXhwbGljaXQgYXJndW1lbnQgd2hpY2ggaXMgYm9vbGVhbiBmYWxzZS4KICAgICAgICovCiAgICAgIGZ1bmN0aW9uIGFyZ3VtZW50T3JEZWZhdWx0KGtleSkgewogICAgICAgIHZhciBhcmdzID0gY3VzdG9taXphdGlvbnM7CiAgICAgICAgcmV0dXJuIGFyZ3Nba2V5XSA9PT0gdW5kZWZpbmVkID8gX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHRba2V5XSA6IGFyZ3Nba2V5XTsKICAgICAgfQogICAgCiAgICAgIGlmIChjdXN0b21pemF0aW9ucyA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgKDAsIF91dGlscy5sb2dTdHIpKCdTd2VldEFsZXJ0IGV4cGVjdHMgYXQgbGVhc3QgMSBhdHRyaWJ1dGUhJyk7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAKICAgICAgdmFyIHBhcmFtcyA9ICgwLCBfdXRpbHMuZXh0ZW5kKSh7fSwgX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHQpOwogICAgCiAgICAgIHN3aXRjaCAodHlwZW9mIGN1c3RvbWl6YXRpb25zID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZihjdXN0b21pemF0aW9ucykpIHsKICAgIAogICAgICAgIC8vIEV4OiBzd2FsKCJIZWxsbyIsICJKdXN0IHRlc3RpbmciLCAiaW5mbyIpOwogICAgICAgIGNhc2UgJ3N0cmluZyc6CiAgICAgICAgICBwYXJhbXMudGl0bGUgPSBjdXN0b21pemF0aW9uczsKICAgICAgICAgIHBhcmFtcy50ZXh0ID0gYXJndW1lbnRzWzFdIHx8ICcnOwogICAgICAgICAgcGFyYW1zLnR5cGUgPSBhcmd1bWVudHNbMl0gfHwgJyc7CiAgICAgICAgICBicmVhazsKICAgIAogICAgICAgIC8vIEV4OiBzd2FsKHsgdGl0bGU6IkhlbGxvIiwgdGV4dDogIkp1c3QgdGVzdGluZyIsIHR5cGU6ICJpbmZvIiB9KTsKICAgICAgICBjYXNlICdvYmplY3QnOgogICAgICAgICAgaWYgKGN1c3RvbWl6YXRpb25zLnRpdGxlID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgKDAsIF91dGlscy5sb2dTdHIpKCdNaXNzaW5nICJ0aXRsZSIgYXJndW1lbnQhJyk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgIH0KICAgIAogICAgICAgICAgcGFyYW1zLnRpdGxlID0gY3VzdG9taXphdGlvbnMudGl0bGU7CiAgICAKICAgICAgICAgIGZvciAodmFyIGN1c3RvbU5hbWUgaW4gX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHQpIHsKICAgICAgICAgICAgcGFyYW1zW2N1c3RvbU5hbWVdID0gYXJndW1lbnRPckRlZmF1bHQoY3VzdG9tTmFtZSk7CiAgICAgICAgICB9CiAgICAKICAgICAgICAgIC8vIFNob3cgIkNvbmZpcm0iIGluc3RlYWQgb2YgIk9LIiBpZiBjYW5jZWwgYnV0dG9uIGlzIHZpc2libGUKICAgICAgICAgIHBhcmFtcy5jb25maXJtQnV0dG9uVGV4dCA9IHBhcmFtcy5zaG93Q2FuY2VsQnV0dG9uID8gJ0NvbmZpcm0nIDogX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHQuY29uZmlybUJ1dHRvblRleHQ7CiAgICAgICAgICBwYXJhbXMuY29uZmlybUJ1dHRvblRleHQgPSBhcmd1bWVudE9yRGVmYXVsdCgnY29uZmlybUJ1dHRvblRleHQnKTsKICAgIAogICAgICAgICAgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gd2hlbiBjbGlja2luZyBvbiAiT0siLyJDYW5jZWwiCiAgICAgICAgICBwYXJhbXMuZG9uZUZ1bmN0aW9uID0gYXJndW1lbnRzWzFdIHx8IG51bGw7CiAgICAKICAgICAgICAgIGJyZWFrOwogICAgCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICgwLCBfdXRpbHMubG9nU3RyKSgnVW5leHBlY3RlZCB0eXBlIG9mIGFyZ3VtZW50ISBFeHBlY3RlZCAic3RyaW5nIiBvciAib2JqZWN0IiwgZ290ICcgKyAodHlwZW9mIGN1c3RvbWl6YXRpb25zID09PSAndW5kZWZpbmVkJyA/ICd1bmRlZmluZWQnIDogX3R5cGVvZihjdXN0b21pemF0aW9ucykpKTsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgIAogICAgICB9CiAgICAKICAgICAgKDAsIF9zZXRQYXJhbXMyLmRlZmF1bHQpKHBhcmFtcyk7CiAgICAgICgwLCBfaGFuZGxlU3dhbERvbS5maXhWZXJ0aWNhbFBvc2l0aW9uKSgpOwogICAgICAoMCwgX2hhbmRsZVN3YWxEb20ub3Blbk1vZGFsKShhcmd1bWVudHNbMV0pOwogICAgCiAgICAgIC8vIE1vZGFsIGludGVyYWN0aW9ucwogICAgICB2YXIgbW9kYWwgPSAoMCwgX2hhbmRsZVN3YWxEb20uZ2V0TW9kYWwpKCk7CiAgICAKICAgICAgLyoKICAgICAgICogTWFrZSBzdXJlIGFsbCBtb2RhbCBidXR0b25zIHJlc3BvbmQgdG8gYWxsIGV2ZW50cwogICAgICAgKi8KICAgICAgdmFyICRidXR0b25zID0gbW9kYWwucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uJyk7CiAgICAgIHZhciBidXR0b25FdmVudHMgPSBbJ29uY2xpY2snXTsKICAgICAgdmFyIG9uQnV0dG9uRXZlbnQgPSBmdW5jdGlvbiBvbkJ1dHRvbkV2ZW50KGUpIHsKICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVDbGljay5oYW5kbGVCdXR0b24pKGUsIHBhcmFtcywgbW9kYWwpOwogICAgICB9OwogICAgCiAgICAgIGZvciAodmFyIGJ0bkluZGV4ID0gMDsgYnRuSW5kZXggPCAkYnV0dG9ucy5sZW5ndGg7IGJ0bkluZGV4KyspIHsKICAgICAgICBmb3IgKHZhciBldnRJbmRleCA9IDA7IGV2dEluZGV4IDwgYnV0dG9uRXZlbnRzLmxlbmd0aDsgZXZ0SW5kZXgrKykgewogICAgICAgICAgdmFyIGJ0bkV2dCA9IGJ1dHRvbkV2ZW50c1tldnRJbmRleF07CiAgICAgICAgICAkYnV0dG9uc1tidG5JbmRleF1bYnRuRXZ0XSA9IG9uQnV0dG9uRXZlbnQ7CiAgICAgICAgfQogICAgICB9CiAgICAKICAgICAgLy8gQ2xpY2tpbmcgb3V0c2lkZSB0aGUgbW9kYWwgZGlzbWlzc2VzIGl0IChpZiBhbGxvd2VkIGJ5IHVzZXIpCiAgICAgICgwLCBfaGFuZGxlU3dhbERvbS5nZXRPdmVybGF5KSgpLm9uY2xpY2sgPSBvbkJ1dHRvbkV2ZW50OwogICAgCiAgICAgIHByZXZpb3VzV2luZG93S2V5RG93biA9IHdpbmRvdy5vbmtleWRvd247CiAgICAKICAgICAgdmFyIG9uS2V5RXZlbnQgPSBmdW5jdGlvbiBvbktleUV2ZW50KGUpIHsKICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVLZXkyLmRlZmF1bHQpKGUsIHBhcmFtcywgbW9kYWwpOwogICAgICB9OwogICAgICB3aW5kb3cub25rZXlkb3duID0gb25LZXlFdmVudDsKICAgIAogICAgICB3aW5kb3cub25mb2N1cyA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBXaGVuIHRoZSB1c2VyIGhhcyBmb2N1c2VkIGF3YXkgYW5kIGZvY3VzZWQgYmFjayBmcm9tIHRoZSB3aG9sZSB3aW5kb3cuCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAvLyBQdXQgaW4gYSB0aW1lb3V0IHRvIGp1bXAgb3V0IG9mIHRoZSBldmVudCBzZXF1ZW5jZS4KICAgICAgICAgIC8vIENhbGxpbmcgZm9jdXMoKSBpbiB0aGUgZXZlbnQgc2VxdWVuY2UgY29uZnVzZXMgdGhpbmdzLgogICAgICAgICAgaWYgKGxhc3RGb2N1c2VkQnV0dG9uICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgbGFzdEZvY3VzZWRCdXR0b24uZm9jdXMoKTsKICAgICAgICAgICAgbGFzdEZvY3VzZWRCdXR0b24gPSB1bmRlZmluZWQ7CiAgICAgICAgICB9CiAgICAgICAgfSwgMCk7CiAgICAgIH07CiAgICAKICAgICAgLy8gU2hvdyBhbGVydCB3aXRoIGVuYWJsZWQgYnV0dG9ucyBhbHdheXMKICAgICAgX3N3YWwuZW5hYmxlQnV0dG9ucygpOwogICAgfTsKICAgIAogICAgLyoKICAgICAqIFNldCBkZWZhdWx0IHBhcmFtcyBmb3IgZWFjaCBwb3B1cAogICAgICogQHBhcmFtIHtPYmplY3R9IHVzZXJQYXJhbXMKICAgICAqLwogICAgCiAgICAKICAgIHN3ZWV0QWxlcnQuc2V0RGVmYXVsdHMgPSBfc3dhbC5zZXREZWZhdWx0cyA9IGZ1bmN0aW9uICh1c2VyUGFyYW1zKSB7CiAgICAgIGlmICghdXNlclBhcmFtcykgewogICAgICAgIHRocm93IG5ldyBFcnJvcigndXNlclBhcmFtcyBpcyByZXF1aXJlZCcpOwogICAgICB9CiAgICAgIGlmICgodHlwZW9mIHVzZXJQYXJhbXMgPT09ICd1bmRlZmluZWQnID8gJ3VuZGVmaW5lZCcgOiBfdHlwZW9mKHVzZXJQYXJhbXMpKSAhPT0gJ29iamVjdCcpIHsKICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZXJQYXJhbXMgaGFzIHRvIGJlIGEgb2JqZWN0Jyk7CiAgICAgIH0KICAgIAogICAgICAoMCwgX3V0aWxzLmV4dGVuZCkoX2RlZmF1bHRQYXJhbXMyLmRlZmF1bHQsIHVzZXJQYXJhbXMpOwogICAgfTsKICAgIAogICAgLyoKICAgICAqIEFuaW1hdGlvbiB3aGVuIGNsb3NpbmcgbW9kYWwKICAgICAqLwogICAgc3dlZXRBbGVydC5jbG9zZSA9IF9zd2FsLmNsb3NlID0gZnVuY3Rpb24gKCkgewogICAgICB2YXIgbW9kYWwgPSAoMCwgX2hhbmRsZVN3YWxEb20uZ2V0TW9kYWwpKCk7CiAgICAKICAgICAgKDAsIF9oYW5kbGVEb20uZmFkZU91dCkoKDAsIF9oYW5kbGVTd2FsRG9tLmdldE92ZXJsYXkpKCksIDUpOwogICAgICAoMCwgX2hhbmRsZURvbS5mYWRlT3V0KShtb2RhbCwgNSk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKShtb2RhbCwgJ3Nob3dTd2VldEFsZXJ0Jyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKShtb2RhbCwgJ2hpZGVTd2VldEFsZXJ0Jyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKShtb2RhbCwgJ3Zpc2libGUnKTsKICAgIAogICAgICAvKgogICAgICAgKiBSZXNldCBpY29uIGFuaW1hdGlvbnMKICAgICAgICovCiAgICAgIHZhciAkc3VjY2Vzc0ljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi5zYS1zdWNjZXNzJyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKSgkc3VjY2Vzc0ljb24sICdhbmltYXRlJyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKSgkc3VjY2Vzc0ljb24ucXVlcnlTZWxlY3RvcignLnNhLXRpcCcpLCAnYW5pbWF0ZVN1Y2Nlc3NUaXAnKTsKICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKCRzdWNjZXNzSWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtbG9uZycpLCAnYW5pbWF0ZVN1Y2Nlc3NMb25nJyk7CiAgICAKICAgICAgdmFyICRlcnJvckljb24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuc2EtaWNvbi5zYS1lcnJvcicpOwogICAgICAoMCwgX2hhbmRsZURvbS5yZW1vdmVDbGFzcykoJGVycm9ySWNvbiwgJ2FuaW1hdGVFcnJvckljb24nKTsKICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKCRlcnJvckljb24ucXVlcnlTZWxlY3RvcignLnNhLXgtbWFyaycpLCAnYW5pbWF0ZVhNYXJrJyk7CiAgICAKICAgICAgdmFyICR3YXJuaW5nSWNvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJy5zYS1pY29uLnNhLXdhcm5pbmcnKTsKICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKCR3YXJuaW5nSWNvbiwgJ3B1bHNlV2FybmluZycpOwogICAgICAoMCwgX2hhbmRsZURvbS5yZW1vdmVDbGFzcykoJHdhcm5pbmdJY29uLnF1ZXJ5U2VsZWN0b3IoJy5zYS1ib2R5JyksICdwdWxzZVdhcm5pbmdJbnMnKTsKICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKCR3YXJuaW5nSWNvbi5xdWVyeVNlbGVjdG9yKCcuc2EtZG90JyksICdwdWxzZVdhcm5pbmdJbnMnKTsKICAgIAogICAgICAvLyBSZXNldCBjdXN0b20gY2xhc3MgKGRlbGF5IHNvIHRoYXQgVUkgY2hhbmdlcyBhcmVuJ3QgdmlzaWJsZSkKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIGN1c3RvbUNsYXNzID0gbW9kYWwuZ2V0QXR0cmlidXRlKCdkYXRhLWN1c3RvbS1jbGFzcycpOwogICAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKShtb2RhbCwgY3VzdG9tQ2xhc3MpOwogICAgICB9LCAzMDApOwogICAgCiAgICAgIC8vIE1ha2UgcGFnZSBzY3JvbGxhYmxlIGFnYWluCiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKShkb2N1bWVudC5ib2R5LCAnc3RvcC1zY3JvbGxpbmcnKTsKICAgIAogICAgICAvLyBSZXNldCB0aGUgcGFnZSB0byBpdHMgcHJldmlvdXMgc3RhdGUKICAgICAgd2luZG93Lm9ua2V5ZG93biA9IHByZXZpb3VzV2luZG93S2V5RG93bjsKICAgICAgaWYgKHdpbmRvdy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQpIHsKICAgICAgICB3aW5kb3cucHJldmlvdXNBY3RpdmVFbGVtZW50LmZvY3VzKCk7CiAgICAgIH0KICAgICAgbGFzdEZvY3VzZWRCdXR0b24gPSB1bmRlZmluZWQ7CiAgICAgIGNsZWFyVGltZW91dChtb2RhbC50aW1lb3V0KTsKICAgIAogICAgICByZXR1cm4gdHJ1ZTsKICAgIH07CiAgICAKICAgIC8qCiAgICAgKiBWYWxpZGF0aW9uIG9mIHRoZSBpbnB1dCBmaWVsZCBpcyBkb25lIGJ5IHVzZXIKICAgICAqIElmIHNvbWV0aGluZyBpcyB3cm9uZyA9PiBjYWxsIHNob3dJbnB1dEVycm9yIHdpdGggZXJyb3JNZXNzYWdlCiAgICAgKi8KICAgIHN3ZWV0QWxlcnQuc2hvd0lucHV0RXJyb3IgPSBfc3dhbC5zaG93SW5wdXRFcnJvciA9IGZ1bmN0aW9uIChlcnJvck1lc3NhZ2UpIHsKICAgICAgdmFyIG1vZGFsID0gKDAsIF9oYW5kbGVTd2FsRG9tLmdldE1vZGFsKSgpOwogICAgCiAgICAgIHZhciAkZXJyb3JJY29uID0gbW9kYWwucXVlcnlTZWxlY3RvcignLnNhLWlucHV0LWVycm9yJyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLmFkZENsYXNzKSgkZXJyb3JJY29uLCAnc2hvdycpOwogICAgCiAgICAgIHZhciAkZXJyb3JDb250YWluZXIgPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCcuZm9ybS1ncm91cCcpOwogICAgICAoMCwgX2hhbmRsZURvbS5hZGRDbGFzcykoJGVycm9yQ29udGFpbmVyLCAnaGFzLWVycm9yJyk7CiAgICAKICAgICAgJGVycm9yQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5zYS1oZWxwLXRleHQnKS5pbm5lckhUTUwgPSBlcnJvck1lc3NhZ2U7CiAgICAKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgc3dlZXRBbGVydC5lbmFibGVCdXR0b25zKCk7CiAgICAgIH0sIDEpOwogICAgCiAgICAgIG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0JykuZm9jdXMoKTsKICAgIH07CiAgICAKICAgIC8qCiAgICAgKiBSZXNldCBpbnB1dCBlcnJvciBET00gZWxlbWVudHMKICAgICAqLwogICAgc3dlZXRBbGVydC5yZXNldElucHV0RXJyb3IgPSBfc3dhbC5yZXNldElucHV0RXJyb3IgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgLy8gSWYgcHJlc3MgZW50ZXIgPT4gaWdub3JlCiAgICAgIGlmIChldmVudCAmJiBldmVudC5rZXlDb2RlID09PSAxMykgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgCiAgICAgIHZhciAkbW9kYWwgPSAoMCwgX2hhbmRsZVN3YWxEb20uZ2V0TW9kYWwpKCk7CiAgICAKICAgICAgdmFyICRlcnJvckljb24gPSAkbW9kYWwucXVlcnlTZWxlY3RvcignLnNhLWlucHV0LWVycm9yJyk7CiAgICAgICgwLCBfaGFuZGxlRG9tLnJlbW92ZUNsYXNzKSgkZXJyb3JJY29uLCAnc2hvdycpOwogICAgCiAgICAgIHZhciAkZXJyb3JDb250YWluZXIgPSAkbW9kYWwucXVlcnlTZWxlY3RvcignLmZvcm0tZ3JvdXAnKTsKICAgICAgKDAsIF9oYW5kbGVEb20ucmVtb3ZlQ2xhc3MpKCRlcnJvckNvbnRhaW5lciwgJ2hhcy1lcnJvcicpOwogICAgfTsKICAgIAogICAgLyoKICAgICAqIERpc2FibGUgY29uZmlybSBhbmQgY2FuY2VsIGJ1dHRvbnMKICAgICAqLwogICAgc3dlZXRBbGVydC5kaXNhYmxlQnV0dG9ucyA9IF9zd2FsLmRpc2FibGVCdXR0b25zID0gZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgIHZhciBtb2RhbCA9ICgwLCBfaGFuZGxlU3dhbERvbS5nZXRNb2RhbCkoKTsKICAgICAgdmFyICRjb25maXJtQnV0dG9uID0gbW9kYWwucXVlcnlTZWxlY3RvcignYnV0dG9uLmNvbmZpcm0nKTsKICAgICAgdmFyICRjYW5jZWxCdXR0b24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY2FuY2VsJyk7CiAgICAgICRjb25maXJtQnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKICAgICAgJGNhbmNlbEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7CiAgICB9OwogICAgCiAgICAvKgogICAgICogRW5hYmxlIGNvbmZpcm0gYW5kIGNhbmNlbCBidXR0b25zCiAgICAgKi8KICAgIHN3ZWV0QWxlcnQuZW5hYmxlQnV0dG9ucyA9IF9zd2FsLmVuYWJsZUJ1dHRvbnMgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgdmFyIG1vZGFsID0gKDAsIF9oYW5kbGVTd2FsRG9tLmdldE1vZGFsKSgpOwogICAgICB2YXIgJGNvbmZpcm1CdXR0b24gPSBtb2RhbC5xdWVyeVNlbGVjdG9yKCdidXR0b24uY29uZmlybScpOwogICAgICB2YXIgJGNhbmNlbEJ1dHRvbiA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5jYW5jZWwnKTsKICAgICAgJGNvbmZpcm1CdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgJGNhbmNlbEJ1dHRvbi5kaXNhYmxlZCA9IGZhbHNlOwogICAgfTsKICAgIAogICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgIC8vIFRoZSAnaGFuZGxlLWNsaWNrJyBtb2R1bGUgcmVxdWlyZXMKICAgICAgLy8gdGhhdCAnc3dlZXRBbGVydCcgd2FzIHNldCBhcyBnbG9iYWwuCiAgICAgIHdpbmRvdy5zd2VldEFsZXJ0ID0gd2luZG93LnN3YWwgPSBzd2VldEFsZXJ0OwogICAgfSBlbHNlIHsKICAgICAgKDAsIF91dGlscy5sb2dTdHIpKCdTd2VldEFsZXJ0IGlzIGEgZnJvbnRlbmQgbW9kdWxlIScpOwogICAgfQogICAgCiAgICB9LHsiLi9tb2R1bGVzL2RlZmF1bHQtcGFyYW1zIjoxLCIuL21vZHVsZXMvaGFuZGxlLWNsaWNrIjoyLCIuL21vZHVsZXMvaGFuZGxlLWRvbSI6MywiLi9tb2R1bGVzL2hhbmRsZS1rZXkiOjQsIi4vbW9kdWxlcy9oYW5kbGUtc3dhbC1kb20iOjUsIi4vbW9kdWxlcy9zZXQtcGFyYW1zIjo3LCIuL21vZHVsZXMvdXRpbHMiOjh9XX0se30sWzldKTsKICAgIAogICAgLyoKICAgICAqIFVzZSBTd2VldEFsZXJ0IHdpdGggUmVxdWlyZUpTCiAgICAgKi8KICAgIAogICAgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkgewogICAgICBkZWZpbmUoZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiBzd2VldEFsZXJ0OwogICAgICB9KTsKICAgIH0gZWxzZSBpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHsKICAgICAgbW9kdWxlLmV4cG9ydHMgPSBzd2VldEFsZXJ0OwogICAgfQogICAgCiAgICB9KSh3aW5kb3csIGRvY3VtZW50KTs="}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":65,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.785Z","timestamp":1785139582785,"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-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 08:06:22 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: 2f5ca5b3725a8054b3fb40c362b69856\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-08-12T17:55:33.12561Z","times_seen":1664,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtdWdzMTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLXVnczE6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnR2LXNwaW5uZXJ7YW5pbWF0aW9uOnR2LXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUtajRKbHJZVkggLjlzIGxpbmVhciBpbmZpbml0ZTtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXI6MCBzb2xpZCB2YXIoLS10di1zcGlubmVyLWNvbG9yLHZhcigtLWNvbG9yLWJyYW5kKSk7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC11Z3MxKTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Om5vbmU7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjphYnNvbHV0ZX0udHYtc3Bpbm5lci0tc2hvd257ZGlzcGxheTpibG9ja30udHYtc3Bpbm5lci0tc2l6ZV94eHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjEwcHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gN3B4KTt0b3A6Y2FsYyg1MCUgLSA3cHgpO3dpZHRoOjEwcHh9LnR2LXNwaW5uZXItLXNpemVfeHNtYWxse2JvcmRlci13aWR0aDoycHg7aGVpZ2h0OjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OmNhbGMoNTAlIC0gOXB4KTt0b3A6Y2FsYyg1MCUgLSA5cHgpO3dpZHRoOjE0cHh9LnR2LXNwaW5uZXItLXNpemVfc21hbGx7Ym9yZGVyLXdpZHRoOjJweDtoZWlnaHQ6MjBweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAxMnB4KTt0b3A6Y2FsYyg1MCUgLSAxMnB4KTt3aWR0aDoyMHB4fS50di1zcGlubmVyLS1zaXplX21lZGl1bXtib3JkZXItd2lkdGg6M3B4O2hlaWdodDoyOHB4O2luc2V0LWlubGluZS1zdGFydDpjYWxjKDUwJSAtIDE3cHgpO3RvcDpjYWxjKDUwJSAtIDE3cHgpO3dpZHRoOjI4cHh9LnR2LXNwaW5uZXItLXNpemVfbGFyZ2V7Ym9yZGVyLXdpZHRoOjRweDtoZWlnaHQ6NTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6Y2FsYyg1MCUgLSAzMnB4KTt0b3A6Y2FsYyg1MCUgLSAzMnB4KTt3aWR0aDo1NnB4fS50di1zcGlubmVyOmRpcihydGwpe2FuaW1hdGlvbjp0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSCAuOXMgbGluZWFyIGluZmluaXRlfUBrZXlmcmFtZXMgdHYtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZS1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB0di1zcGlubmVyX19jb250YWluZXItcm90YXRlLXJ0bC1qNEpscllWSHt0b3t0cmFuc2Zvcm06cm90YXRlKC0xdHVybil9fQ=="}},"time_used":145,"timings":{"blocked":-1,"dns":41,"connect":43,"send":0,"wait":4,"receive":-1,"ssl":36},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.801Z","timestamp":1785139582801,"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-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 08:06:22 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: 61dfc15d06b9b125e32ae23e1325ad6b\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-08-07T05:09:59.550994Z","times_seen":4614,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1s1ODY2N10sezI1ODY2NyhvKXtvLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxvLmV4cG9ydHNbIiNBQVBMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXBwbGUgSW5jIl0sby5leHBvcnRzWyIjQU1FWDpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nod2FiIFNob3J0LVRlcm0gVS5TLiBUcmVhc3VyeSBFVEYiXSxvLmV4cG9ydHNbIiNBTUVYOlNIWUctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFyZXMgMC01IFlFQVIgSGlnaCBZaWVsZCBDb3Jwb3JhdGUgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNBU1g6WEFGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBBbGwgQXVzdHJhbGlhbiA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYQVQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIEFsbCBBdXN0cmFsaWFuIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FTWDpYSk8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvQVNYIDIwMCBJbmRleCJdLG8uZXhwb3J0c1siI0FVRENBRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyL0NhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0FVRENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gU3dpc3MgRnJhbmMiXSxvLmV4cG9ydHNbIiNBVURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWFuIERvbGxhciAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0FVRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjQVVEUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQVVEVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQXVzdHJhbGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JDQkE6SU1WLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIE1FUlZBTCBJbmRleCJdLG8uZXhwb3J0c1siI0JDSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gQ2FzaCAvIEV1cm8iXSxvLmV4cG9ydHNbIiNCQ0hVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIENhc2ggLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JFTEVYOkJFTEVYMTUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUxFWCAxNSBJbmRleCJdLG8uZXhwb3J0c1siI0JJU1Q6WFUxMDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCSVNUIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0JJVE1FWDpYQlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUU6SUJDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSUJFWCAzNSBJbmRleCJdLG8uZXhwb3J0c1siI0JNRkJPVkVTUEE6SUJPVi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJvdmVzcGEgSW5kZXgiXSxvLmV4cG9ydHNbIiNCTUZCT1ZFU1BBOklCUkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJQnJhc2lsIEluZGV4Il0sby5leHBvcnRzWyIjQk1GQk9WRVNQQTpJQlhMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJhemlsIDUwIEluZGV4Il0sby5leHBvcnRzWyIjQk1WOkNULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgU1gyMCBSVCJdLG8uZXhwb3J0c1siI0JNVjpGLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRm9yZCBNb3RvciBDb21wYW55Il0sby5leHBvcnRzWyIjQk1WOk1FLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0JNViBJUEMgSW5kZXgiXSxvLmV4cG9ydHNbIiNCUkxKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWxpYW4gUmVhbCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JTRTpJVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJVEkgTHRkIl0sby5leHBvcnRzWyIjQlNFOlNFTlNFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCBCU0UgU2Vuc2V4IEluZGV4Il0sby5leHBvcnRzWyIjQlRDQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjQlRDQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUQ0NOWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNCVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gRXVybyJdLG8uZXhwb3J0c1siI0JUQ0dCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjQlRDSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0JUQ0tSVy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjQlRDUExOLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI0JUQ1JVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBSdXNzaWFuIFJ1YmxlIl0sby5leHBvcnRzWyIjQlRDVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiAvIFRoYWkgQmFodCJdLG8uZXhwb3J0c1siI0JUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0JUR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJpdGNvaW4gR29sZCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQlZMOlNQQkxQR1BULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gQlZMIFBlcnUgR2VuZXJhbCBJbmRleCAoUEVOKSJdLG8uZXhwb3J0c1siI0JWU1Atc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmF6aWwgQm92ZXNwYSBJbmRleCJdLApvLmV4cG9ydHNbIiNDQURKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDQURVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDYW5hZGlhbiBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0NCT0U6T0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDEwMCBJbmRleCJdLG8uZXhwb3J0c1siI0NCT0U6VklYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVm9sYXRpbGl0eSBTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjQ0JPVDpaQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVC1Cb25kIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpDMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3JuIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpNMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTb3liZWFuIE1lYWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6Wk4xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjEwIFllYXIgVC1Ob3RlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UOlpPMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJPYXQgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIjMwIERheSBGZWRlcmFsIEZ1bmRzIEludGVyZXN0IFJhdGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJpY2UgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlMxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NCT1Q6WlcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIldoZWF0IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WEsxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNveWJlYW4gTWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0JPVF9NSU5JOlhXMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJXaGVhdCBNaW5pIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDQk9UX01JTkk6WU0xIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBEb3cgSm9uZXMgKCQ1KSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ0hGSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgRnJhbmMgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNDSEZVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTd2lzcyBGcmFuYyAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjQ01FOkJUQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQml0Y29pbiBDTUUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpDQjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnV0dGVyIEZ1dHVyZXMtQ2FzaCAoQ29udGludW91czogQ3VycmVudCBjb250cmFjdCBpbiBmcm9udCkiXSxvLmV4cG9ydHNbIiNDTUU6R0YxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZlZWRlciBDYXR0bGUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRTpIRTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGVhbiBIb2dzIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUU6TEUxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdmUgQ2F0dGxlIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDTUVfTUlOSTpFNzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOkVTMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6SjcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiBFLW1pbmkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NNRV9NSU5JOk5RMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOQVNEQVEgMTAwIEUtbWluaSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ01FX01JTkk6UlRZMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFLU1pbmkgUnVzc2VsbCAyMDAwIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBRVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbml1bSBFdXJvcGVhbiBQcmVtaXVtIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpBVVAxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkFsdW1pbnVtIE1XIFUuUy4gVHJhbnNhY3Rpb24gUHJlbWl1bSBQbGF0dHMgKDI1TVQpIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNDT01FWDpHQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6SEcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVg6U0kxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRQzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIENvcHBlciBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRSTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2lsdmVyIChNaW5pKSBGdXR1cmVzIl0sby5leHBvcnRzWyIjQ09NRVhfTUlOSTpRTzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCAoTWluaSkgRnV0dXJlcyJdLG8uZXhwb3J0c1siI0NPUFBFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29wcGVyIl0sby5leHBvcnRzWyIjQ09STlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ29ybiJdLG8uZXhwb3J0c1siI0NPVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ290dG9uIl0sby5leHBvcnRzWyIjQ1JZUFRPQ0FQOlRPVEFMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ3J5cHRvIFRvdGFsIE1hcmtldCBDYXAsICQiXSxvLmV4cG9ydHNbIiNERk06REZNR0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJERk0gSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tcG9zaXRlIEF2ZXJhZ2UgSW5kZXgiXSwKby5leHBvcnRzWyIjREo6REpDSUFHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQWdyaWN1bHR1cmUgQ2FwcGVkIENvbXBvbmVudCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lDQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggQ29jb2EiXSxvLmV4cG9ydHNbIiNESjpESkNJRU4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IEVuZXJneSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR29sZCJdLG8uZXhwb3J0c1siI0RKOkRKQ0lHUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggR3JhaW5zIl0sby5leHBvcnRzWyIjREo6REpDSUlLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIENvbW1vZGl0eSBJbmRleCBOaWNrZWwiXSxvLmV4cG9ydHNbIiNESjpESkNJS0Mtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IENvZmZlZSJdLG8uZXhwb3J0c1siI0RKOkRKQ0lTQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBDb21tb2RpdHkgSW5kZXggU3VnYXIiXSxvLmV4cG9ydHNbIiNESjpESkNJU0ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgQ29tbW9kaXR5IEluZGV4IFNpbHZlciJdLG8uZXhwb3J0c1siI0RKOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVHJhbnNwb3J0YXRpb24gQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI0RKOkRKVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBVdGlsaXR5IEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNESjpESlVTQ0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgVS5TLiBDb2FsIEluZGV4Il0sby5leHBvcnRzWyIjRUdYOkVHWDMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRUdYIDMwIEluZGV4Il0sby5leHBvcnRzWyIjRVRDQlRDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gQ2xhc3NpYyAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNFVENFVVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSBDbGFzc2ljIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUQ1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIENsYXNzaWMgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI0VUSEJUQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQml0Y29pbiJdLG8uZXhwb3J0c1siI0VUSEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gRXVybyJdLG8uZXhwb3J0c1siI0VUSEdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gQnJpdGlzaCBQb3VuZCJdLG8uZXhwb3J0c1siI0VUSEpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV0aGVyZXVtIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjRVRIS1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjRVRIVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXRoZXJldW0gLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNFVEhVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdGhlcmV1bSAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVCVU5ELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBCdW5kIl0sby5leHBvcnRzWyIjRVVSQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjRVVSQlJMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjRVVSQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0VVUkNIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0VVUkdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBCcml0aXNoIFBvdW5kIl0sby5leHBvcnRzWyIjRVVSSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0VVUk5PSy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBOb3J3ZWdpYW4gS3JvbmUiXSxvLmV4cG9ydHNbIiNFVVJOWkQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjRVVST05FWFQ6QUVYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQUVYIEluZGV4Il0sby5leHBvcnRzWyIjRVVST05FWFQ6QkVMMjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCRUwgMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJPTkVYVDpQWDEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDQUMgNDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNFVVJSVUItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0VVUlJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gUnVzc2lhbiBSdWJsZSBUT00iXSxvLmV4cG9ydHNbIiNFVVJTRUstc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gU3dlZGlzaCBLcm9uYSJdLG8uZXhwb3J0c1siI0VVUlRSWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gLyBUdXJraXNoIExpcmEiXSxvLmV4cG9ydHNbIiNFVVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNFVVNUWDUwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRXVybyBTdG94eCA1MCBJbmRleCJdLG8uZXhwb3J0c1siI0ZPUkVYQ09NOlVTMjAwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIFNtYWxsIENhcCAyMDAwIl0sCm8uZXhwb3J0c1siI0ZSQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0FDIDQwIEluZGV4Il0sby5leHBvcnRzWyIjRlJFRDpHRFAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHcm9zcyBEb21lc3RpYyBQcm9kdWN0LCAxIERlY2ltYWwiXSxvLmV4cG9ydHNbIiNGUkVEOlBPUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRvdGFsIFBvcHVsYXRpb246IEFsbCBBZ2VzIEluY2x1ZGluZyBBcm1lZCBGb3JjZXMgT3ZlcnNlYXMiXSxvLmV4cG9ydHNbIiNGUkVEOlVOUkFURS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNpdmlsaWFuIFVuZW1wbG95bWVudCBSYXRlIl0sby5leHBvcnRzWyIjRlRTRU1ZWDpGQk1LTENJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSBCdXJzYSBNYWxheXNpYSBLTENJIEluZGV4Il0sby5leHBvcnRzWyIjRldCOktUMS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIktleSBUcm9uaWMgQ29y0YAuIl0sby5leHBvcnRzWyIjRlg6QVVTMjAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL0FTWCBJbmRleCJdLG8uZXhwb3J0c1siI0ZYOlVTMzAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIEluZGV4Il0sby5leHBvcnRzWyIjR0JQQVVELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEF1c3RyYWxpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjR0JQQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIENhbmFkaWFuIERvbGxhciJdLG8uZXhwb3J0c1siI0dCUENIRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBTd2lzcyBGcmFuYyJdLG8uZXhwb3J0c1siI0dCUEVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBFdXJvIl0sby5leHBvcnRzWyIjR0JQSlBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIEphcGFuZXNlIFllbiJdLG8uZXhwb3J0c1siI0dCUE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgLyBOZXcgWmVhbGFuZCBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHQlBQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gUG9saXNoIFpsb3R5Il0sby5leHBvcnRzWyIjR0JQUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnJpdGlzaCBQb3VuZCAvIFJ1c3NpYW4gUnVibGUiXSxvLmV4cG9ydHNbIiNHQlBVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcml0aXNoIFBvdW5kIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNHRVIzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRBWCBJbmRleCJdLG8uZXhwb3J0c1siI0dPT0ctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQyJdLG8uZXhwb3J0c1siI0dPT0dMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEEiXSxvLmV4cG9ydHNbIiNHUFc6QUNHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWNhdXRvZ2F6Il0sby5leHBvcnRzWyIjR1BXOldJRzIwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiV0lHMjAgSW5kZXgiXSxvLmV4cG9ydHNbIiNIU0k6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjSUNFVVM6RFgxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNJRFg6Q09NUE9TSVRFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSURYIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOkhTQ0Utc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJIYW5nIFNlbmcgQ2hpbmEgRW50ZXJwcmlzZXMgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpKS1NFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFrYXJ0YSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJTkRFWDpLTFNFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQnVyc2EgTWFsYXlzaWEgS0xDSSBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1JQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQiBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOk1PWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6U1RJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU1RJIEluZGV4Il0sby5leHBvcnRzWyIjSU5ERVg6VFdJSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBXZWlnaHRlZCBJbmRleCJdLG8uZXhwb3J0c1siI0lOREVYOlhMWTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTaGFuZ2hhaSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNJT1RVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJT1RBIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNKUE4yMjUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNKUFlLUlctc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbmVzZSBZZW4gLyBTb3V0aCBLb3JlYW4gV29uIl0sby5leHBvcnRzWyIjSlBZUlVCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI0pQWVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuZXNlIFllbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTEtPSC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxVS09JTCJdLG8uZXhwb3J0c1siI0xTRTpTQ0hPLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2Nob2xpdW0gR3JvdXAgUGxjIE9yZCAxUCJdLG8uZXhwb3J0c1siI0xUQ0JSTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkxpdGVjb2luIC8gQnJhemlsaWFuIFJlYWwiXSxvLmV4cG9ydHNbIiNMVENCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIEJpdGNvaW4iXSxvLmV4cG9ydHNbIiNMVENVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMaXRlY29pbiAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjTFVOQVVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkx1bmEgLyBVLlMuIERvbGxhciJdLApvLmV4cG9ydHNbIiNNT0VYOkJSMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCcmVudCBPaWwgRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6R0FaUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdBWlBST00iXSxvLmV4cG9ydHNbIiNNT0VYOklNT0VYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTU9FWCBSdXNzaWEgSW5kZXgiXSxvLmV4cG9ydHNbIiNNT0VYOk1HTlQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNQUdOSVQiXSxvLmV4cG9ydHNbIiNNT0VYOk1JQ0VYSU5ERVhDRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1PRVggUnVzc2lhIEluZGV4Il0sby5leHBvcnRzWyIjTU9FWDpNWDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTUlDRVggSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6TVgyIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1JQ0VYIEluZGV4IEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNNT0VYOlJJMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSVFMgSW5kZXggRnV0dXJlcyJdLG8uZXhwb3J0c1siI01PRVg6UlRTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJUUyBJbmRleCJdLG8uZXhwb3J0c1siI01PRVg6UlVBTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVuaXRlZCBDb21wYW55IFJVU0FMIFBMQyJdLG8uZXhwb3J0c1siI01PRVg6U0JFUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNCRVJCQU5LIl0sby5leHBvcnRzWyIjTU9FWDpWVEJSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVlRCIl0sby5leHBvcnRzWyIjTVNGVC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1pY3Jvc29mdCBDb3JwLiJdLG8uZXhwb3J0c1siI05BUzEwMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIDEwMCBDYXNoIENGRCJdLG8uZXhwb3J0c1siI05BU0RBUTpBTUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBZHZhbmNlZCBNaWNybyBEZXZpY2VzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpHT09HLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQWxwaGFiZXQgSW5jIChHb29nbGUpIENsYXNzIEMiXSxvLmV4cG9ydHNbIiNOQVNEQVE6R09PR0wtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbHBoYWJldCBJbmMgKEdvb2dsZSkgQ2xhc3MgQSJdLG8uZXhwb3J0c1siI05BU0RBUTpIR1gtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIEhvdXNpbmcgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROklFRi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgNy0xMCBZZWFyIFRyZWFzdXJ5IEJvbmQgRVRGIl0sby5leHBvcnRzWyIjTkFTREFROklFSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMy03IFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRlcmlzIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpJWElDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmFzZGFxIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpMQ0lELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTHVjaWQgR3JvdXAsIEluYy4iXSxvLmV4cG9ydHNbIiNOQVNEQVE6TEUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJMYW5kcycgRW5kIEluYyJdLG8uZXhwb3J0c1siI05BU0RBUTpORFgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXNkYXEgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROk9TWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggT2lsIFNlcnZpY2UgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlNIWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklzaGFyZXMgMS0zIFllYXIgVHJlYXN1cnkgQm9uZCBFVEYiXSxvLmV4cG9ydHNbIiNOQVNEQVE6U09YLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUGhpbGFkZWxwaGlhIFNlbWljb25kdWN0b3IgSW5kZXgiXSxvLmV4cG9ydHNbIiNOQVNEQVE6VExULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXNoYXJlcyAyMCsgWWVhciBUcmVhc3VyeSBCb25kIEVURiJdLG8uZXhwb3J0c1siI05BU0RBUTpVVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQSExYIFV0aWxpdHkgU2VjdG9yIEluZGV4Il0sby5leHBvcnRzWyIjTkFTREFROlhBVS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBITFggR29sZCBhbmQgU2lsdmVyIFNlY3RvciBJbmRleCJdLG8uZXhwb3J0c1siI05BU0RBUTpaUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlpzY2FsZXIgSW5jIl0sby5leHBvcnRzWyIjTkVPVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTkVPIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNOR0FTLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmF0dXJhbCBHYXMgKEhlbnJ5IEh1YikiXSxvLmV4cG9ydHNbIiNOS1ktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJKYXBhbiAyMjUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOU0U6SVRJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kaWFuIFRlbGVwaG9uZSBJbmR1c3RyaWVzIExpbWl0ZWQiXSxvLmV4cG9ydHNbIiNOU0U6TklGVFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOaWZ0eSA1MCBJbmRleCJdLG8uZXhwb3J0c1siI05ZTUVYOkFFWjEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgRXRoYW5vbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6Q0oxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNvY29hIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpDTDEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTGlnaHQgQ3J1ZGUgT2lsIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWU1FWDpITzEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTlkgSGFyYm9yIFVMU0QgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOktUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb2ZmZWUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOk5HMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEExIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBhbGxhZGl1bSBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVg6UEwxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIEZ1dHVyZXMiXSwKby5leHBvcnRzWyIjTllNRVg6UkIxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJCT0IgR2Fzb2xpbmUgRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYOlRUMSEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDb3R0b24gRnV0dXJlcyJdLG8uZXhwb3J0c1siI05ZTUVYX01JTkk6UUcxIS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkUtbWluaSBOYXR1cmFsIEdhcyBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRTTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIExpZ2h0IENydWRlIE9pbCBGdXR1cmVzIl0sby5leHBvcnRzWyIjTllNRVhfTUlOSTpRVTEhLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRS1taW5pIEdhc29saW5lIEZ1dHVyZXMiXSxvLmV4cG9ydHNbIiNOWVNFOkJBQkEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBbGliYWJhIEdyb3VwIEhvbGRpbmdzIEx0ZC4iXSxvLmV4cG9ydHNbIiNOWVNFOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGT1JEIE1UUiBDTyBERUwiXSxvLmV4cG9ydHNbIiNOWVNFOkhFLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGF3YWlpYW4gRWxlY3RyaWMgSW5kdXN0cmllcyJdLG8uZXhwb3J0c1siI05ZU0U6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlBCUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBFVFJPTEVPIEJSQVNJTEVJUk8gU0EgUEVUUk9CUiJdLG8uZXhwb3J0c1siI05ZU0U6WEFYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQU1FWCBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWVNFOlhNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ZU0UgQVJDQSBNYWpvciBNYXJrZXQgSW5kZXgiXSxvLmV4cG9ydHNbIiNOWkRKUFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBKYXBhbmVzZSBZZW4iXSxvLmV4cG9ydHNbIiNOWkRVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI05aWDpBTExDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQL05aWCBBbGwgSW5kZXggKENhcGl0YWwgSW5kZXgpIl0sby5leHBvcnRzWyIjTlpYOk5aNTBHLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIC8gTlpYIDUwIEluZGV4IEdyb3NzIl0sby5leHBvcnRzWyIjT0FOREE6TkFUR0FTVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBOYXR1cmFsIEdhcyJdLG8uZXhwb3J0c1siI09BTkRBOlNQWDUwMFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPQU5EQTpYQ1VVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENvcHBlciAoVVMkIC8gbGIpIl0sby5leHBvcnRzWyIjT01YQ09QOk9NWEMyNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBDb3BlbmhhZ2VuIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YQ09QOlNDSE8tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTY2hvdXcgJiBDbyBBL1MiXSxvLmV4cG9ydHNbIiNPTVhIRVg6T01YSDI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIEhlbHNpbmtpIDI1IEluZGV4Il0sby5leHBvcnRzWyIjT01YUlNFOk9NWFJHSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBSaWdhIEdyb3NzIEluZGV4Il0sby5leHBvcnRzWyIjT01YU1RPOk9NWFMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk9NWCBTdG9ja2hvbG0gMzAgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhUU0U6T01YVEdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFRhbGxpbm4gR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPTVhWU0U6T01YVkdJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiT01YIFZpbG5pdXMgR3Jvc3MgSW5kZXgiXSxvLmV4cG9ydHNbIiNPVEM6SUhSTUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJc2hhcmVzIE1TQ0kgSmFwYW4gU0hTIl0sby5leHBvcnRzWyIjUVNFOkdOUkktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJRRSBJbmRleCJdLG8uZXhwb3J0c1siI1JUUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NpYW4gUlRTIEluZGV4Il0sby5leHBvcnRzWyIjUlVTU0VMTDpSVUEtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJSdXNzZWxsIDMwMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNSVVNTRUxMOlJVSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlJ1c3NlbGwgMTAwMCBJbmRleCJdLG8uZXhwb3J0c1siI1JVU1NFTEw6UlVULXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUnVzc2VsbCAyMDAwIEluZGV4Il0sby5leHBvcnRzWyIjU0VUOkdDLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR2xvYmFsIENvbm5lY3Rpb25zIFB1YmxpYyBDb21wYW55Il0sby5leHBvcnRzWyIjU0lYOkYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGb3JkIE1vdG9yIENvbXBhbnkiXSxvLmV4cG9ydHNbIiNTSVg6U01JLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU3dpc3MgTWFya2V0IEluZGV4Il0sby5leHBvcnRzWyIjU09MVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU29sYW5hIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNTT1lCTlVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gU295YmVhbnMiXSxvLmV4cG9ydHNbIiNTUDpPRVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BHU0NJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIEdvbGRtYW4gU2FjaHMgQ29tbW9kaXR5IEluZGV4Il0sby5leHBvcnRzWyIjU1A6U1BYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1NQOlNWWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgVmFsdWUgSW5kZXgiXSxvLmV4cG9ydHNbIiNTUFg1MDAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAgNTAwIEluZGV4Il0sby5leHBvcnRzWyIjU1VHQVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFN1Z2FyIl0sCm8uZXhwb3J0c1siI1NaU0U6Mzk5MDAxLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU2hlbnpoZW4gQ29tcG9uZW50IEluZGV4Il0sby5leHBvcnRzWyIjVEFEQVdVTDoyMzcwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlkZGxlIEVhc3QgU3BlY2lhbGl6ZWQgQ2FibGVzIENvLiJdLG8uZXhwb3J0c1siI1RBREFXVUw6VEFTSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhZGF3dWwgQWxsIFNoYXJlcyBJbmRleCJdLG8uZXhwb3J0c1siI1RBU0U6VEEzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRBLTM1IEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRTWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUC9UU1ggQ29tcG9zaXRlIEluZGV4Il0sby5leHBvcnRzWyIjVFNYOlRYNjAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTJlAvVFNYIDYwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkFVMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJBdXN0cmFsaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpBVTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkFYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkF1c3RyYWxpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkJYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkJyaXRpc2ggUG91bmQgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6Q0ExMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNhbmFkaWFuIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkNBMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpDQUM0MC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNBQyA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpDTjEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2hpbmEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpDTjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNoaW5hIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6Q1hZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ2FuYWRpYW4gRG9sbGFyIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRFMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJHZXJtYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpERTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkdlcm1hbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkRFVTMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiREFYIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkRKSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkRvdyBKb25lcyBJbmR1c3RyaWFsIEF2ZXJhZ2UgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RFhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNwYWluIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6RVMxMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTcGFpbiBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkVVQlVORC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkV1cm8gQnVuZCJdLG8uZXhwb3J0c1siI1RWQzpFWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOkZSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJGcmFuY2UgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpGUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkZyYW5jZSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOkZUTUlCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWlsYW5vIEl0YWxpYSBCb3JzYSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpHQjAyLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAyIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVSyBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOkdCMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpHT0xELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBHb2xkIChVUyQgLyBPWikiXSxvLmV4cG9ydHNbIiNUVkM6SFNJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSGFuZyBTZW5nIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOklCRVgzNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIklCRVggMzUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6SUQwMy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDMgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SUQxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZG9uZXNpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklEMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSW5kb25lc2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkluZGlhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6SU4xMFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJbmRpYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOklUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJJdGFseSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOklUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSXRhbHkgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLApvLmV4cG9ydHNbIiNUVkM6SVhJQy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIENvbXBvc2l0ZSBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpKUDEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpKUDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkphcGFuIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6SlhZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW5lc2UgWWVuIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktPU1BJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgQ29tcG9zaXRlIFN0b2NrIFByaWNlIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOktSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJLb3JlYSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOktSMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiS29yZWEgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpNWTEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTWFsYXlzaWEgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpNWTEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk1hbGF5c2lhIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TkRYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5JMjI1LXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiSmFwYW4gMjI1IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOk5MMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXRoZXJsYW5kcyBHb3Zlcm5tZW50IEJvbmRzLCAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpOTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldGhlcmxhbmRzIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6TllBLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTllTRSBDb21wb3NpdGUgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6TloxMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIk5ldyBaZWFsYW5kIEdvdmVybm1lbnQgQm9uZHMsIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOk5aMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiTmV3IFplYWxhbmQgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQQUxMQURJVU0tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFBhbGxhZGl1bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBMMDVZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9sYW5kIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpQTDEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBvbGFuZCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlBMQVRJTlVNLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBQbGF0aW51bSAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlBUMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJQb3J0dWdhbCBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIl0sby5leHBvcnRzWyIjVFZDOlBUMTBZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiUG9ydHVnYWwgR292ZXJubWVudCBCb25kcyAxMCBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpTQTQwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiU291dGggQWZyaWNhIFRvcCA0MCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTSUxWRVItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFNpbHZlciAoVVMkIC8gT1opIl0sby5leHBvcnRzWyIjVFZDOlNQWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlMmUCA1MDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNUVkM6U1NNSS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIE1hcmtldCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpTVEktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJTdHJhaXRzIFRpbWVzIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYNUUtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJFdXJvIFN0b3h4IDUwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlNYWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlN3aXNzIEZyYW5jIEN1cnJlbmN5IEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlRSMTAtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUdXJrZXkgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpUUjEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlR1cmtleSBHb3Zlcm5tZW50IEJvbmRzIDEwIFlSIFlpZWxkIl0sby5leHBvcnRzWyIjVFZDOlVLT0lMLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBCcmVudCBDcnVkZSBPaWwiXSxvLmV4cG9ydHNbIiNUVkM6VUtYLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVUsgMTAwIEluZGV4Il0sby5leHBvcnRzWyIjVFZDOlVTMDItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVMwMlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVUyBHb3Zlcm5tZW50IEJvbmRzIDIgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMwNS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzA1WS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgNSBZUiBZaWVsZCJdLG8uZXhwb3J0c1siI1RWQzpVUzEwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVVMgR292ZXJubWVudCBCb25kcyAxMCBZUiJdLG8uZXhwb3J0c1siI1RWQzpVUzEwWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMTAgWVIgWWllbGQiXSxvLmV4cG9ydHNbIiNUVkM6VVMzMC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlVTIEdvdmVybm1lbnQgQm9uZHMgMzAgWVIiXSxvLmV4cG9ydHNbIiNUVkM6VVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIFdUSSBDcnVkZSBPaWwiXSwKby5leHBvcnRzWyIjVFZDOlZJWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlZvbGF0aWxpdHkgUyZQIDUwMCBJbmRleCJdLG8uZXhwb3J0c1siI1RWQzpaWFktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJOZXcgWmVhbGFuZCBEb2xsYXIgQ3VycmVuY3kgSW5kZXgiXSxvLmV4cG9ydHNbIiNUV0lJLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVGFpd2FuIFdlaWdodGVkIEluZGV4Il0sby5leHBvcnRzWyIjVFdTRTpUQUlFWC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlRhaXdhbiBDYXBpdGFsaXphdGlvbiBXZWlnaHRlZCBTdG9jayBJbmRleCJdLG8uZXhwb3J0c1siI1RXVFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJUd2l0dGVyIEluYyJdLG8uZXhwb3J0c1siI1VLMTAwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRlRTRSAxMDAgSW5kZXgiXSxvLmV4cG9ydHNbIiNVS09JTC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gQ3J1ZGUgT2lsIChCcmVudCkiXSxvLmV4cG9ydHNbIiNVTklVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVbmlzd2FwIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVUzMwLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiRG93IEpvbmVzIEluZHVzdHJpYWwgQXZlcmFnZSBJbmRleCJdLG8uZXhwb3J0c1siI1VTREFVRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gQXVzdHJhbGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RCUkwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEJyYXppbGlhbiBSZWFsIl0sby5leHBvcnRzWyIjVVNEQ0FELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDYW5hZGlhbiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RDSEYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFN3aXNzIEZyYW5jIl0sby5leHBvcnRzWyIjVVNEQ05ZLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBDaGluZXNlIFl1YW4iXSxvLmV4cG9ydHNbIiNVU0RES0stc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIERhbmlzaCBLcm9uZSJdLG8uZXhwb3J0c1siI1VTREVVUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gRXVybyJdLG8uZXhwb3J0c1siI1VTREdCUC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUG91bmQgU3RlcmxpbmciXSxvLmV4cG9ydHNbIiNVU0RIS0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEhvbmcgS29uZyBEb2xsYXIiXSxvLmV4cG9ydHNbIiNVU0RIVUYtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEh1bmdhcmlhbiBGb3JpbnQiXSxvLmV4cG9ydHNbIiNVU0RJRFItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1cGlhaCJdLG8uZXhwb3J0c1siI1VTRElMUy1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSXNyYWVsaSBTaGVrZWwiXSxvLmV4cG9ydHNbIiNVU0RJTlItc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIEluZGlhbiBSdXBlZSJdLG8uZXhwb3J0c1siI1VTREpQWS1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gSmFwYW5lc2UgWWVuIl0sby5leHBvcnRzWyIjVVNES1JXLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTb3V0aCBLb3JlYW4iXSxvLmV4cG9ydHNbIiNVU0RNWE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIE1leGljYW4gUGVzbyJdLG8uZXhwb3J0c1siI1VTRE5aRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gTmV3IFplYWxhbmQgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEUEhQLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBQaGlsaXBwaW5lIHBlc28iXSxvLmV4cG9ydHNbIiNVU0RQTE4tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFBvbGlzaCBabG90eSJdLG8uZXhwb3J0c1siI1VTRFJVQi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gUnVzc2lhbiBSdWJsZSJdLG8uZXhwb3J0c1siI1VTRFJVQl9UT00tc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFJ1c3NpYW4gUnVibGUgVE9NIl0sby5leHBvcnRzWyIjVVNEU0VLLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTd2VkaXNoIEtyb25hIl0sby5leHBvcnRzWyIjVVNEU0dELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBTaW5nYXBvcmUgRG9sbGFyIl0sby5leHBvcnRzWyIjVVNEVEhCLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiVS5TLiBEb2xsYXIgLyBUaGFpIEJhaHQiXSxvLmV4cG9ydHNbIiNVU0RUUlktc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJVLlMuIERvbGxhciAvIFR1cmtpc2ggTGlyYSJdLG8uZXhwb3J0c1siI1VTRFpBUi1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlUuUy4gRG9sbGFyIC8gU291dGggQWZyaWNhbiBSYW5kIl0sby5leHBvcnRzWyIjVVNPSUwtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJDRkRzIG9uIENydWRlIE9pbCAoV1RJKSJdLG8uZXhwb3J0c1siI1dIRUFUVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiQ0ZEcyBvbiBXaGVhdCJdLG8uZXhwb3J0c1siI1hBR1VTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlNpbHZlciAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEFVVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiR29sZCBTcG90IC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYQlRDQUQtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJCaXRjb2luIC8gQ2FuYWRpYW4gRG9sbGFyIl0sby5leHBvcnRzWyIjWEVUUjpEQVgtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJEQVggSW5kZXgiXSxvLmV4cG9ydHNbIiNYTVJVU0Qtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJNb25lcm8gLyBVLlMuIERvbGxhciJdLG8uZXhwb3J0c1siI1hQRFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIkNGRHMgb24gUGFsbGFkaXVtIl0sCm8uZXhwb3J0c1siI1hQVFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlBsYXRpbnVtIC8gVS5TLiBEb2xsYXIiXSxvLmV4cG9ydHNbIiNYUlBCVEMtc3ltYm9sLWRlc2NyaXB0aW9uIl09WyJYUlAgLyBCaXRjb2luIl0sby5leHBvcnRzWyIjWFJQRVVSLXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWFJQIC8gRXVybyJdLG8uZXhwb3J0c1siI1hSUFVTRC1zeW1ib2wtZGVzY3JpcHRpb24iXT1bIlhSUCAvIFUuUy4gRG9sbGFyIl0sby5leHBvcnRzWyIjWkVDVVNELXN5bWJvbC1kZXNjcmlwdGlvbiJdPVsiWmNhc2ggLyBVLlMuIERvbGxhciJdfX1dKTs="}},"time_used":67,"timings":{"blocked":-1,"dns":2,"connect":3,"send":0,"wait":4,"receive":-1,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.820Z","timestamp":1785139583820,"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-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 08:06:23 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: 75afe99620baf92c9a2fccb6c730408c\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-28T06:17:53.407807Z","times_seen":381,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.841Z","timestamp":1785139583841,"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-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 08:06:23 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: bbf2a94d8116a60827888187d84a38f4\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-28T06:17:53.427008Z","times_seen":441,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtTjVoMzp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLU41aDM6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCl9LnBvcHVwV2lkZ2V0V3JhcHBlci1BNHYwZGwxN3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWJhY2tncm91bmQsdmFyKC0tY29sb3ItcG9wdXAtYmFja2dyb3VuZCkpO2JvcmRlci1yYWRpdXM6NnB4O2JveC1zaGFkb3c6MCAycHggNHB4IHZhcigtLWNvbG9yLXNoYWRvdy1wcmltYXJ5LW5ldXRyYWwtZXh0cmEtaGVhdnkpfS5wb3B1cFdpZGdldFdpZHRoLUE0djBkbDE3ey0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGg6MzgwcHg7LS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aDptaW4oMzgwcHgsdmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcldpZHRoLDBweCkpfS5wb3B1cFdpZGdldC1BNHYwZGwxN3tib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtZW5kOmNhbGModmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcsIDBweCkqLTEpO21hcmdpbi1pbmxpbmUtc3RhcnQ6Y2FsYyh2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZywgMHB4KSotMSk7b3V0bGluZTpub25lO3BhZGRpbmc6MTZweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTc6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbToxMHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNzpmaXJzdC1jaGlsZHtwYWRkaW5nLXRvcDoxMXB4fUBtZWRpYSAobWluLXdpZHRoOjQ0MHB4KXsucG9wdXBXaWRnZXQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7bWF4LXdpZHRoOjM1NHB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNy5tb2JpbGUtQTR2MGRsMTd7bWF4LXdpZHRoOjEwMCV9LnBvcHVwV2lkZ2V0LUE0djBkbDE3e21heC13aWR0aDozNDRweH19LnBvcHVwV2lkZ2V0LUE0djBkbDE3Om5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tXzAtTjVoMyl9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5kZXNjLUE0djBkbDE3e2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJTt3aWR0aDpjYWxjKDEwMCUgLSAxNnB4KTt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3e2ZsZXg6MCAwIGF1dG87bWFyZ2luLWJsb2NrOjJweCAycHg7bWFyZ2luLWlubGluZTowIDZweDtvdmVyZmxvdzpoaWRkZW59LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3LnNtYWxsLUE0djBkbDE3e2JvcmRlci1yYWRpdXM6OXB4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5pY29uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tib3JkZXItcmFkaXVzOjExcHg7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmljb24tQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Ym9yZGVyLXJhZGl1czo4cHg7aGVpZ2h0OjI4cHg7d2lkdGg6MjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtjb2x1bW4tZ2FwOjZweDtkaXNwbGF5OmZsZXg7Zm9udC13ZWlnaHQ6NjAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6MjJweDttYXJnaW4tYm90dG9tOjRweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRpdGxlLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNnB4O21hcmdpbi1ib3R0b206MnB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGl0bGUtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTd7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjJweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcuc21hbGwtQTR2MGRsMTd7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjFweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLnRleHQtQTR2MGRsMTcubGFyZ2UtQTR2MGRsMTcsLnBvcHVwV2lkZ2V0LUE0djBkbDE3IC50ZXh0LUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuaXRlbS1BNHYwZGwxNzpub3QoOmxhc3QtY2hpbGQpOmFmdGVye2NvbnRlbnQ6IiAifS5wb3B1cFdpZGdldC1BNHYwZGwxNyAudGV4dC1BNHYwZGwxNyAuYm9sZEl0ZW0tQTR2MGRsMTd7Zm9udC13ZWlnaHQ6NzAwfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3e2NvbG9yOnZhcigtLWNvbG9yLWJyYW5kKTttYXJnaW4tdG9wOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbi1BNHYwZGwxNy5zbWFsbC1BNHYwZGwxN3tmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3LC5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3Lm1lZGl1bS1BNHYwZGwxN3tmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyNXB4fS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uLUE0djBkbDE3LmxhcmdlLUE0djBkbDE3e2N1cnNvcjpwb2ludGVyfS5wb3B1cFdpZGdldC1BNHYwZGwxNyAuYWN0aW9uQnRuLUE0djBkbDE3e2FsaWduLXNlbGY6c3RhcnQ7bWFyZ2luLXRvcDo4cHh9LnBvcHVwV2lkZ2V0LUE0djBkbDE3IC5hY3Rpb25zLUE0djBkbDE3e2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjhweH0ucG9wdXBXaWRnZXQtQTR2MGRsMTcgLmFjdGlvbnMtQTR2MGRsMTcgLmFjdGlvbkJ0bi1BNHYwZGwxN3ttYXJnaW4tdG9wOjhweH0uYWRkaXRpb25hbFdpZGdldC1BNHYwZGwxN3ttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDoxMnB4fS5hZGRpdGlvbmFsV2lkZ2V0LUE0djBkbDE3Omxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.323Z","timestamp":1785139584323,"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-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 08:06:24 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: 033054c949ddfd9692cc645b389c38ea\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-08-12T17:58:50.085598Z","times_seen":728,"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":"nanoquantumstellarsledger.com/frontcss/assets/perfect-scrollbar.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.036Z","timestamp":1785139582036,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/perfect-scrollbar.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9140\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57209,"size_decoded":9377,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (480)","md5":"69012988f5c8ba22794daa240a6ae3fb","sha1":"7f16ef30ba58b46231579bdc382b5b08bd3073cb","sha256":"2fba2008daaf2cec017c5ac1dd654f0136fa6ae254a7eeb82efd24f4f2367e13","sha512":"a910eef639fe4f500812f17dd1935e6dab728ec7ae4094020913293b111d2d637d1fe90e7fb6f31bba06b9ab0bf3607aa530bd0817b033500f0ebd24bde4e79b","ssdeep":"768:gVG/naLpsXdno3hq8Y4HCm6eCz7/edJ5QzuN1lQIwxRYXh7bBZ/YWnLNsr+8t:Upednota","tlshash":"c243004d66f3306956afb06edb9f420e327a8003120dd9907c5c9fa55fa0a741be1bed","first_seen":"2025-11-23T04:10:47.864724Z","last_seen":"2026-07-27T09:11:27.345888Z","times_seen":7,"resource_available":true,"data":"LyogcGVyZmVjdC1zY3JvbGxiYXIgdjAuNy4wICovCihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBwcyA9IHJlcXVpcmUoJy4uL21haW4nKTsKICAgIHZhciBwc0luc3RhbmNlcyA9IHJlcXVpcmUoJy4uL3BsdWdpbi9pbnN0YW5jZXMnKTsKCiAgICBmdW5jdGlvbiBtb3VudEpRdWVyeShqUXVlcnkpIHsKICAgICAgICBqUXVlcnkuZm4ucGVyZmVjdFNjcm9sbGJhciA9IGZ1bmN0aW9uIChzZXR0aW5nT3JDb21tYW5kKSB7CiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBzZXR0aW5nT3JDb21tYW5kID09PSAnb2JqZWN0JyB8fAogICAgICAgICAgICAgICAgICAgIHR5cGVvZiBzZXR0aW5nT3JDb21tYW5kID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgICAgIC8vIElmIGl0J3MgYW4gb2JqZWN0IG9yIG5vbmUsIGluaXRpYWxpemUuCiAgICAgICAgICAgICAgICAgICAgdmFyIHNldHRpbmdzID0gc2V0dGluZ09yQ29tbWFuZDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCFwc0luc3RhbmNlcy5nZXQodGhpcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHMuaW5pdGlhbGl6ZSh0aGlzLCBzZXR0aW5ncyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBVbmxlc3MsIGl0IG1heSBiZSBhIGNvbW1hbmQuCiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbW1hbmQgPSBzZXR0aW5nT3JDb21tYW5kOwoKICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWFuZCA9PT0gJ3VwZGF0ZScpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcHMudXBkYXRlKHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29tbWFuZCA9PT0gJ2Rlc3Ryb3knKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBzLmRlc3Ryb3kodGhpcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9OwogICAgfQoKICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKICAgICAgICAvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCiAgICAgICAgZGVmaW5lKFsnanF1ZXJ5J10sIG1vdW50SlF1ZXJ5KTsKICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIGpxID0gd2luZG93LmpRdWVyeSA/IHdpbmRvdy5qUXVlcnkgOiB3aW5kb3cuJDsKICAgICAgICBpZiAodHlwZW9mIGpxICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICBtb3VudEpRdWVyeShqcSk7CiAgICAgICAgfQogICAgfQoKICAgIG1vZHVsZS5leHBvcnRzID0gbW91bnRKUXVlcnk7Cgp9LHsiLi4vbWFpbiI6NywiLi4vcGx1Z2luL2luc3RhbmNlcyI6MTh9XSwyOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBmdW5jdGlvbiBvbGRBZGQoZWxlbWVudCwgY2xhc3NOYW1lKSB7CiAgICAgICAgdmFyIGNsYXNzZXMgPSBlbGVtZW50LmNsYXNzTmFtZS5zcGxpdCgnICcpOwogICAgICAgIGlmIChjbGFzc2VzLmluZGV4T2YoY2xhc3NOYW1lKSA8IDApIHsKICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGNsYXNzTmFtZSk7CiAgICAgICAgfQogICAgICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3Nlcy5qb2luKCcgJyk7CiAgICB9CgogICAgZnVuY3Rpb24gb2xkUmVtb3ZlKGVsZW1lbnQsIGNsYXNzTmFtZSkgewogICAgICAgIHZhciBjbGFzc2VzID0gZWxlbWVudC5jbGFzc05hbWUuc3BsaXQoJyAnKTsKICAgICAgICB2YXIgaWR4ID0gY2xhc3Nlcy5pbmRleE9mKGNsYXNzTmFtZSk7CiAgICAgICAgaWYgKGlkeCA+PSAwKSB7CiAgICAgICAgICAgIGNsYXNzZXMuc3BsaWNlKGlkeCwgMSk7CiAgICAgICAgfQogICAgICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3Nlcy5qb2luKCcgJyk7CiAgICB9CgogICAgZXhwb3J0cy5hZGQgPSBmdW5jdGlvbiAoZWxlbWVudCwgY2xhc3NOYW1lKSB7CiAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0KSB7CiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG9sZEFkZChlbGVtZW50LCBjbGFzc05hbWUpOwogICAgICAgIH0KICAgIH07CgogICAgZXhwb3J0cy5yZW1vdmUgPSBmdW5jdGlvbiAoZWxlbWVudCwgY2xhc3NOYW1lKSB7CiAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0KSB7CiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG9sZFJlbW92ZShlbGVtZW50LCBjbGFzc05hbWUpOwogICAgICAgIH0KICAgIH07CgogICAgZXhwb3J0cy5saXN0ID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QpIHsKICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseShlbGVtZW50LmNsYXNzTGlzdCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQuY2xhc3NOYW1lLnNwbGl0KCcgJyk7CiAgICAgICAgfQogICAgfTsKCn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBET00gPSB7fTsKCiAgICBET00uZSA9IGZ1bmN0aW9uICh0YWdOYW1lLCBjbGFzc05hbWUpIHsKICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7CiAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CiAgICB9OwoKICAgIERPTS5hcHBlbmRUbyA9IGZ1bmN0aW9uIChjaGlsZCwgcGFyZW50KSB7CiAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKGNoaWxkKTsKICAgICAgICByZXR1cm4gY2hpbGQ7CiAgICB9OwoKICAgIGZ1bmN0aW9uIGNzc0dldChlbGVtZW50LCBzdHlsZU5hbWUpIHsKICAgICAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudClbc3R5bGVOYW1lXTsKICAgIH0KCiAgICBmdW5jdGlvbiBjc3NTZXQoZWxlbWVudCwgc3R5bGVOYW1lLCBzdHlsZVZhbHVlKSB7CiAgICAgICAgaWYgKHR5cGVvZiBzdHlsZVZhbHVlID09PSAnbnVtYmVyJykgewogICAgICAgICAgICBzdHlsZVZhbHVlID0gc3R5bGVWYWx1ZS50b1N0cmluZygpICsgJ3B4JzsKICAgICAgICB9CiAgICAgICAgZWxlbWVudC5zdHlsZVtzdHlsZU5hbWVdID0gc3R5bGVWYWx1ZTsKICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgIH0KCiAgICBmdW5jdGlvbiBjc3NNdWx0aVNldChlbGVtZW50LCBvYmopIHsKICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7CiAgICAgICAgICAgIHZhciB2YWwgPSBvYmpba2V5XTsKICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7CiAgICAgICAgICAgICAgICB2YWwgPSB2YWwudG9TdHJpbmcoKSArICdweCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudC5zdHlsZVtrZXldID0gdmFsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZWxlbWVudDsKICAgIH0KCiAgICBET00uY3NzID0gZnVuY3Rpb24gKGVsZW1lbnQsIHN0eWxlTmFtZU9yT2JqZWN0LCBzdHlsZVZhbHVlKSB7CiAgICAgICAgaWYgKHR5cGVvZiBzdHlsZU5hbWVPck9iamVjdCA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgLy8gbXVsdGlwbGUgc2V0IHdpdGggb2JqZWN0CiAgICAgICAgICAgIHJldHVybiBjc3NNdWx0aVNldChlbGVtZW50LCBzdHlsZU5hbWVPck9iamVjdCk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBzdHlsZVZhbHVlID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgcmV0dXJuIGNzc0dldChlbGVtZW50LCBzdHlsZU5hbWVPck9iamVjdCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3NzU2V0KGVsZW1lbnQsIHN0eWxlTmFtZU9yT2JqZWN0LCBzdHlsZVZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgRE9NLm1hdGNoZXMgPSBmdW5jdGlvbiAoZWxlbWVudCwgcXVlcnkpIHsKICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQubWF0Y2hlcyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQubWF0Y2hlcyhxdWVyeSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50Lm1hdGNoZXNTZWxlY3RvciAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50Lm1hdGNoZXNTZWxlY3RvcihxdWVyeSk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVsZW1lbnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQud2Via2l0TWF0Y2hlc1NlbGVjdG9yKHF1ZXJ5KTsKICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZWxlbWVudC5tb3pNYXRjaGVzU2VsZWN0b3IgIT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5tb3pNYXRjaGVzU2VsZWN0b3IocXVlcnkpOwogICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbGVtZW50Lm1zTWF0Y2hlc1NlbGVjdG9yICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQubXNNYXRjaGVzU2VsZWN0b3IocXVlcnkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBET00ucmVtb3ZlID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICBpZiAodHlwZW9mIGVsZW1lbnQucmVtb3ZlICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH07CgogICAgRE9NLnF1ZXJ5Q2hpbGRyZW4gPSBmdW5jdGlvbiAoZWxlbWVudCwgc2VsZWN0b3IpIHsKICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGVsZW1lbnQuY2hpbGROb2RlcywgZnVuY3Rpb24gKGNoaWxkKSB7CiAgICAgICAgICAgIHJldHVybiBET00ubWF0Y2hlcyhjaGlsZCwgc2VsZWN0b3IpOwogICAgICAgIH0pOwogICAgfTsKCiAgICBtb2R1bGUuZXhwb3J0cyA9IERPTTsKCn0se31dLDQ6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBFdmVudEVsZW1lbnQgPSBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7CiAgICAgICAgdGhpcy5ldmVudHMgPSB7fTsKICAgIH07CgogICAgRXZlbnRFbGVtZW50LnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIGlmICh0eXBlb2YgdGhpcy5ldmVudHNbZXZlbnROYW1lXSA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdGhpcy5ldmVudHNbZXZlbnROYW1lXSA9IFtdOwogICAgICAgIH0KICAgICAgICB0aGlzLmV2ZW50c1tldmVudE5hbWVdLnB1c2goaGFuZGxlcik7CiAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyLCBmYWxzZSk7CiAgICB9OwoKICAgIEV2ZW50RWxlbWVudC5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24gKGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIHZhciBpc0hhbmRsZXJQcm92aWRlZCA9ICh0eXBlb2YgaGFuZGxlciAhPT0gJ3VuZGVmaW5lZCcpOwogICAgICAgIHRoaXMuZXZlbnRzW2V2ZW50TmFtZV0gPSB0aGlzLmV2ZW50c1tldmVudE5hbWVdLmZpbHRlcihmdW5jdGlvbiAoaGRscikgewogICAgICAgICAgICBpZiAoaXNIYW5kbGVyUHJvdmlkZWQgJiYgaGRsciAhPT0gaGFuZGxlcikgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoZGxyLCBmYWxzZSk7CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9LCB0aGlzKTsKICAgIH07CgogICAgRXZlbnRFbGVtZW50LnByb3RvdHlwZS51bmJpbmRBbGwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgZm9yICh2YXIgbmFtZSBpbiB0aGlzLmV2ZW50cykgewogICAgICAgICAgICB0aGlzLnVuYmluZChuYW1lKTsKICAgICAgICB9CiAgICB9OwoKICAgIHZhciBFdmVudE1hbmFnZXIgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy5ldmVudEVsZW1lbnRzID0gW107CiAgICB9OwoKICAgIEV2ZW50TWFuYWdlci5wcm90b3R5cGUuZXZlbnRFbGVtZW50ID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICB2YXIgZWUgPSB0aGlzLmV2ZW50RWxlbWVudHMuZmlsdGVyKGZ1bmN0aW9uIChldmVudEVsZW1lbnQpIHsKICAgICAgICAgICAgcmV0dXJuIGV2ZW50RWxlbWVudC5lbGVtZW50ID09PSBlbGVtZW50OwogICAgICAgIH0pWzBdOwogICAgICAgIGlmICh0eXBlb2YgZWUgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIGVlID0gbmV3IEV2ZW50RWxlbWVudChlbGVtZW50KTsKICAgICAgICAgICAgdGhpcy5ldmVudEVsZW1lbnRzLnB1c2goZWUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZWU7CiAgICB9OwoKICAgIEV2ZW50TWFuYWdlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIChlbGVtZW50LCBldmVudE5hbWUsIGhhbmRsZXIpIHsKICAgICAgICB0aGlzLmV2ZW50RWxlbWVudChlbGVtZW50KS5iaW5kKGV2ZW50TmFtZSwgaGFuZGxlcik7CiAgICB9OwoKICAgIEV2ZW50TWFuYWdlci5wcm90b3R5cGUudW5iaW5kID0gZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIHRoaXMuZXZlbnRFbGVtZW50KGVsZW1lbnQpLnVuYmluZChldmVudE5hbWUsIGhhbmRsZXIpOwogICAgfTsKCiAgICBFdmVudE1hbmFnZXIucHJvdG90eXBlLnVuYmluZEFsbCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZXZlbnRFbGVtZW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB0aGlzLmV2ZW50RWxlbWVudHNbaV0udW5iaW5kQWxsKCk7CiAgICAgICAgfQogICAgfTsKCiAgICBFdmVudE1hbmFnZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbiAoZWxlbWVudCwgZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgdmFyIGVlID0gdGhpcy5ldmVudEVsZW1lbnQoZWxlbWVudCk7CiAgICAgICAgdmFyIG9uY2VIYW5kbGVyID0gZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZWUudW5iaW5kKGV2ZW50TmFtZSwgb25jZUhhbmRsZXIpOwogICAgICAgICAgICBoYW5kbGVyKGUpOwogICAgICAgIH07CiAgICAgICAgZWUuYmluZChldmVudE5hbWUsIG9uY2VIYW5kbGVyKTsKICAgIH07CgogICAgbW9kdWxlLmV4cG9ydHMgPSBFdmVudE1hbmFnZXI7Cgp9LHt9XSw1OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICBtb2R1bGUuZXhwb3J0cyA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgZnVuY3Rpb24gczQoKSB7CiAgICAgICAgICAgIHJldHVybiBNYXRoLmZsb29yKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKQogICAgICAgICAgICAgICAgLnRvU3RyaW5nKDE2KQogICAgICAgICAgICAgICAgLnN1YnN0cmluZygxKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIHM0KCkgKyBzNCgpICsgJy0nICsgczQoKSArICctJyArIHM0KCkgKyAnLScgKwogICAgICAgICAgICAgICAgczQoKSArICctJyArIHM0KCkgKyBzNCgpICsgczQoKTsKICAgICAgICB9OwogICAgfSkoKTsKCn0se31dLDY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBjbHMgPSByZXF1aXJlKCcuL2NsYXNzJyk7CiAgICB2YXIgZG9tID0gcmVxdWlyZSgnLi9kb20nKTsKCiAgICB2YXIgdG9JbnQgPSBleHBvcnRzLnRvSW50ID0gZnVuY3Rpb24gKHgpIHsKICAgICAgICByZXR1cm4gcGFyc2VJbnQoeCwgMTApIHx8IDA7CiAgICB9OwoKICAgIHZhciBjbG9uZSA9IGV4cG9ydHMuY2xvbmUgPSBmdW5jdGlvbiAob2JqKSB7CiAgICAgICAgaWYgKCFvYmopIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHsKICAgICAgICAgICAgcmV0dXJuIG9iai5tYXAoY2xvbmUpOwogICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHt9OwogICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7CiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGNsb25lKG9ialtrZXldKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiBvYmo7CiAgICAgICAgfQogICAgfTsKCiAgICBleHBvcnRzLmV4dGVuZCA9IGZ1bmN0aW9uIChvcmlnaW5hbCwgc291cmNlKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGNsb25lKG9yaWdpbmFsKTsKICAgICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7CiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gY2xvbmUoc291cmNlW2tleV0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfTsKCiAgICBleHBvcnRzLmlzRWRpdGFibGUgPSBmdW5jdGlvbiAoZWwpIHsKICAgICAgICByZXR1cm4gZG9tLm1hdGNoZXMoZWwsICJpbnB1dCxbY29udGVudGVkaXRhYmxlXSIpIHx8CiAgICAgICAgICAgIGRvbS5tYXRjaGVzKGVsLCAic2VsZWN0LFtjb250ZW50ZWRpdGFibGVdIikgfHwKICAgICAgICAgICAgZG9tLm1hdGNoZXMoZWwsICJ0ZXh0YXJlYSxbY29udGVudGVkaXRhYmxlXSIpIHx8CiAgICAgICAgICAgIGRvbS5tYXRjaGVzKGVsLCAiYnV0dG9uLFtjb250ZW50ZWRpdGFibGVdIik7CiAgICB9OwoKICAgIGV4cG9ydHMucmVtb3ZlUHNDbGFzc2VzID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICB2YXIgY2xzTGlzdCA9IGNscy5saXN0KGVsZW1lbnQpOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2xzTGlzdC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gY2xzTGlzdFtpXTsKICAgICAgICAgICAgaWYgKGNsYXNzTmFtZS5pbmRleE9mKCdwcy0nKSA9PT0gMCkgewogICAgICAgICAgICAgICAgY2xzLnJlbW92ZShlbGVtZW50LCBjbGFzc05hbWUpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBleHBvcnRzLm91dGVyV2lkdGggPSBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgIHJldHVybiB0b0ludChkb20uY3NzKGVsZW1lbnQsICd3aWR0aCcpKSArCiAgICAgICAgICAgIHRvSW50KGRvbS5jc3MoZWxlbWVudCwgJ3BhZGRpbmdMZWZ0JykpICsKICAgICAgICAgICAgdG9JbnQoZG9tLmNzcyhlbGVtZW50LCAncGFkZGluZ1JpZ2h0JykpICsKICAgICAgICAgICAgdG9JbnQoZG9tLmNzcyhlbGVtZW50LCAnYm9yZGVyTGVmdFdpZHRoJykpICsKICAgICAgICAgICAgdG9JbnQoZG9tLmNzcyhlbGVtZW50LCAnYm9yZGVyUmlnaHRXaWR0aCcpKTsKICAgIH07CgogICAgZXhwb3J0cy5zdGFydFNjcm9sbGluZyA9IGZ1bmN0aW9uIChlbGVtZW50LCBheGlzKSB7CiAgICAgICAgY2xzLmFkZChlbGVtZW50LCAncHMtaW4tc2Nyb2xsaW5nJyk7CiAgICAgICAgaWYgKHR5cGVvZiBheGlzICE9PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICBjbHMuYWRkKGVsZW1lbnQsICdwcy0nICsgYXhpcyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY2xzLmFkZChlbGVtZW50LCAncHMteCcpOwogICAgICAgICAgICBjbHMuYWRkKGVsZW1lbnQsICdwcy15Jyk7CiAgICAgICAgfQogICAgfTsKCiAgICBleHBvcnRzLnN0b3BTY3JvbGxpbmcgPSBmdW5jdGlvbiAoZWxlbWVudCwgYXhpcykgewogICAgICAgIGNscy5yZW1vdmUoZWxlbWVudCwgJ3BzLWluLXNjcm9sbGluZycpOwogICAgICAgIGlmICh0eXBlb2YgYXhpcyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgY2xzLnJlbW92ZShlbGVtZW50LCAncHMtJyArIGF4aXMpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNscy5yZW1vdmUoZWxlbWVudCwgJ3BzLXgnKTsKICAgICAgICAgICAgY2xzLnJlbW92ZShlbGVtZW50LCAncHMteScpOwogICAgICAgIH0KICAgIH07CgogICAgZXhwb3J0cy5lbnYgPSB7CiAgICAgICAgaXNXZWJLaXQ6ICdXZWJraXRBcHBlYXJhbmNlJyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsCiAgICAgICAgc3VwcG9ydHNUb3VjaDogKCgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHx8IHdpbmRvdy5Eb2N1bWVudFRvdWNoICYmIGRvY3VtZW50IGluc3RhbmNlb2Ygd2luZG93LkRvY3VtZW50VG91Y2gpLAogICAgICAgIHN1cHBvcnRzSWVQb2ludGVyOiB3aW5kb3cubmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHMgIT09IG51bGwKICAgIH07Cgp9LHsiLi9jbGFzcyI6MiwiLi9kb20iOjN9XSw3OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgZGVzdHJveSA9IHJlcXVpcmUoJy4vcGx1Z2luL2Rlc3Ryb3knKTsKICAgIHZhciBpbml0aWFsaXplID0gcmVxdWlyZSgnLi9wbHVnaW4vaW5pdGlhbGl6ZScpOwogICAgdmFyIHVwZGF0ZSA9IHJlcXVpcmUoJy4vcGx1Z2luL3VwZGF0ZScpOwoKICAgIG1vZHVsZS5leHBvcnRzID0gewogICAgICAgIGluaXRpYWxpemU6IGluaXRpYWxpemUsCiAgICAgICAgdXBkYXRlOiB1cGRhdGUsCiAgICAgICAgZGVzdHJveTogZGVzdHJveQogICAgfTsKCn0seyIuL3BsdWdpbi9kZXN0cm95Ijo5LCIuL3BsdWdpbi9pbml0aWFsaXplIjoxNywiLi9wbHVnaW4vdXBkYXRlIjoyMX1dLDg6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIG1vZHVsZS5leHBvcnRzID0gewogICAgICAgIGhhbmRsZXJzOiBbJ2NsaWNrLXJhaWwnLCAnZHJhZy1zY3JvbGxiYXInLCAna2V5Ym9hcmQnLCAnd2hlZWwnLCAndG91Y2gnXSwKICAgICAgICBtYXhTY3JvbGxiYXJMZW5ndGg6IG51bGwsCiAgICAgICAgbWluU2Nyb2xsYmFyTGVuZ3RoOiBudWxsLAogICAgICAgIHNjcm9sbFhNYXJnaW5PZmZzZXQ6IDAsCiAgICAgICAgc2Nyb2xsWU1hcmdpbk9mZnNldDogMCwKICAgICAgICBzdXBwcmVzc1Njcm9sbFg6IGZhbHNlLAogICAgICAgIHN1cHByZXNzU2Nyb2xsWTogZmFsc2UsCiAgICAgICAgc3dpcGVQcm9wYWdhdGlvbjogdHJ1ZSwKICAgICAgICBzd2lwZUVhc2luZzogdHJ1ZSwKICAgICAgICB1c2VCb3RoV2hlZWxBeGVzOiBmYWxzZSwKICAgICAgICB3aGVlbFByb3BhZ2F0aW9uOiBmYWxzZSwKICAgICAgICB3aGVlbFNwZWVkOiAxLAogICAgICAgIHRoZW1lOiAnZGVmYXVsdCcKICAgIH07Cgp9LHt9XSw5OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgXyA9IHJlcXVpcmUoJy4uL2xpYi9oZWxwZXInKTsKICAgIHZhciBkb20gPSByZXF1aXJlKCcuLi9saWIvZG9tJyk7CiAgICB2YXIgaW5zdGFuY2VzID0gcmVxdWlyZSgnLi9pbnN0YW5jZXMnKTsKCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgdmFyIGkgPSBpbnN0YW5jZXMuZ2V0KGVsZW1lbnQpOwoKICAgICAgICBpZiAoIWkpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgaS5ldmVudC51bmJpbmRBbGwoKTsKICAgICAgICBkb20ucmVtb3ZlKGkuc2Nyb2xsYmFyWCk7CiAgICAgICAgZG9tLnJlbW92ZShpLnNjcm9sbGJhclkpOwogICAgICAgIGRvbS5yZW1vdmUoaS5zY3JvbGxiYXJYUmFpbCk7CiAgICAgICAgZG9tLnJlbW92ZShpLnNjcm9sbGJhcllSYWlsKTsKICAgICAgICBfLnJlbW92ZVBzQ2xhc3NlcyhlbGVtZW50KTsKCiAgICAgICAgaW5zdGFuY2VzLnJlbW92ZShlbGVtZW50KTsKICAgIH07Cgp9LHsiLi4vbGliL2RvbSI6MywiLi4vbGliL2hlbHBlciI6NiwiLi9pbnN0YW5jZXMiOjE4fV0sMTA6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBpbnN0YW5jZXMgPSByZXF1aXJlKCcuLi9pbnN0YW5jZXMnKTsKICAgIHZhciB1cGRhdGVHZW9tZXRyeSA9IHJlcXVpcmUoJy4uL3VwZGF0ZS1nZW9tZXRyeScpOwogICAgdmFyIHVwZGF0ZVNjcm9sbCA9IHJlcXVpcmUoJy4uL3VwZGF0ZS1zY3JvbGwnKTsKCiAgICBmdW5jdGlvbiBiaW5kQ2xpY2tSYWlsSGFuZGxlcihlbGVtZW50LCBpKSB7CiAgICAgICAgZnVuY3Rpb24gcGFnZU9mZnNldChlbCkgewogICAgICAgICAgICByZXR1cm4gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgfQogICAgICAgIHZhciBzdG9wUHJvcGFnYXRpb24gPSBmdW5jdGlvbiAoZSkgeyBlLnN0b3BQcm9wYWdhdGlvbigpOyB9OwoKICAgICAgICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJZLCAnY2xpY2snLCBzdG9wUHJvcGFnYXRpb24pOwogICAgICAgIGkuZXZlbnQuYmluZChpLnNjcm9sbGJhcllSYWlsLCAnY2xpY2snLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB2YXIgcG9zaXRpb25Ub3AgPSBlLnBhZ2VZIC0gd2luZG93LnBhZ2VZT2Zmc2V0IC0gcGFnZU9mZnNldChpLnNjcm9sbGJhcllSYWlsKS50b3A7CiAgICAgICAgICAgIHZhciBkaXJlY3Rpb24gPSBwb3NpdGlvblRvcCA+IGkuc2Nyb2xsYmFyWVRvcCA/IDEgOiAtMTsKCiAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAndG9wJywgZWxlbWVudC5zY3JvbGxUb3AgKyBkaXJlY3Rpb24gKiBpLmNvbnRhaW5lckhlaWdodCk7CiAgICAgICAgICAgIHVwZGF0ZUdlb21ldHJ5KGVsZW1lbnQpOwoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICB9KTsKCiAgICAgICAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWCwgJ2NsaWNrJywgc3RvcFByb3BhZ2F0aW9uKTsKICAgICAgICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJYUmFpbCwgJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgdmFyIHBvc2l0aW9uTGVmdCA9IGUucGFnZVggLSB3aW5kb3cucGFnZVhPZmZzZXQgLSBwYWdlT2Zmc2V0KGkuc2Nyb2xsYmFyWFJhaWwpLmxlZnQ7CiAgICAgICAgICAgIHZhciBkaXJlY3Rpb24gPSBwb3NpdGlvbkxlZnQgPiBpLnNjcm9sbGJhclhMZWZ0ID8gMSA6IC0xOwoKICAgICAgICAgICAgdXBkYXRlU2Nyb2xsKGVsZW1lbnQsICdsZWZ0JywgZWxlbWVudC5zY3JvbGxMZWZ0ICsgZGlyZWN0aW9uICogaS5jb250YWluZXJXaWR0aCk7CiAgICAgICAgICAgIHVwZGF0ZUdlb21ldHJ5KGVsZW1lbnQpOwoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICB9KTsKICAgIH0KCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgdmFyIGkgPSBpbnN0YW5jZXMuZ2V0KGVsZW1lbnQpOwogICAgICAgIGJpbmRDbGlja1JhaWxIYW5kbGVyKGVsZW1lbnQsIGkpOwogICAgfTsKCn0seyIuLi9pbnN0YW5jZXMiOjE4LCIuLi91cGRhdGUtZ2VvbWV0cnkiOjE5LCIuLi91cGRhdGUtc2Nyb2xsIjoyMH1dLDExOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgXyA9IHJlcXVpcmUoJy4uLy4uL2xpYi9oZWxwZXInKTsKICAgIHZhciBkb20gPSByZXF1aXJlKCcuLi8uLi9saWIvZG9tJyk7CiAgICB2YXIgaW5zdGFuY2VzID0gcmVxdWlyZSgnLi4vaW5zdGFuY2VzJyk7CiAgICB2YXIgdXBkYXRlR2VvbWV0cnkgPSByZXF1aXJlKCcuLi91cGRhdGUtZ2VvbWV0cnknKTsKICAgIHZhciB1cGRhdGVTY3JvbGwgPSByZXF1aXJlKCcuLi91cGRhdGUtc2Nyb2xsJyk7CgogICAgZnVuY3Rpb24gYmluZE1vdXNlU2Nyb2xsWEhhbmRsZXIoZWxlbWVudCwgaSkgewogICAgICAgIHZhciBjdXJyZW50TGVmdCA9IG51bGw7CiAgICAgICAgdmFyIGN1cnJlbnRQYWdlWCA9IG51bGw7CgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNjcm9sbExlZnQoZGVsdGFYKSB7CiAgICAgICAgICAgIHZhciBuZXdMZWZ0ID0gY3VycmVudExlZnQgKyAoZGVsdGFYICogaS5yYWlsWFJhdGlvKTsKICAgICAgICAgICAgdmFyIG1heExlZnQgPSBNYXRoLm1heCgwLCBpLnNjcm9sbGJhclhSYWlsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpICsgKGkucmFpbFhSYXRpbyAqIChpLnJhaWxYV2lkdGggLSBpLnNjcm9sbGJhclhXaWR0aCkpOwoKICAgICAgICAgICAgaWYgKG5ld0xlZnQgPCAwKSB7CiAgICAgICAgICAgICAgICBpLnNjcm9sbGJhclhMZWZ0ID0gMDsKICAgICAgICAgICAgfSBlbHNlIGlmIChuZXdMZWZ0ID4gbWF4TGVmdCkgewogICAgICAgICAgICAgICAgaS5zY3JvbGxiYXJYTGVmdCA9IG1heExlZnQ7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpLnNjcm9sbGJhclhMZWZ0ID0gbmV3TGVmdDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIHNjcm9sbExlZnQgPSBfLnRvSW50KGkuc2Nyb2xsYmFyWExlZnQgKiAoaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoKSAvIChpLmNvbnRhaW5lcldpZHRoIC0gKGkucmFpbFhSYXRpbyAqIGkuc2Nyb2xsYmFyWFdpZHRoKSkpIC0gaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQ7CiAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAnbGVmdCcsIHNjcm9sbExlZnQpOwogICAgICAgIH0KCiAgICAgICAgdmFyIG1vdXNlTW92ZUhhbmRsZXIgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICB1cGRhdGVTY3JvbGxMZWZ0KGUucGFnZVggLSBjdXJyZW50UGFnZVgpOwogICAgICAgICAgICB1cGRhdGVHZW9tZXRyeShlbGVtZW50KTsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIH07CgogICAgICAgIHZhciBtb3VzZVVwSGFuZGxlciA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgXy5zdG9wU2Nyb2xsaW5nKGVsZW1lbnQsICd4Jyk7CiAgICAgICAgICAgIGkuZXZlbnQudW5iaW5kKGkub3duZXJEb2N1bWVudCwgJ21vdXNlbW92ZScsIG1vdXNlTW92ZUhhbmRsZXIpOwogICAgICAgIH07CgogICAgICAgIGkuZXZlbnQuYmluZChpLnNjcm9sbGJhclgsICdtb3VzZWRvd24nLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBjdXJyZW50UGFnZVggPSBlLnBhZ2VYOwogICAgICAgICAgICBjdXJyZW50TGVmdCA9IF8udG9JbnQoZG9tLmNzcyhpLnNjcm9sbGJhclgsICdsZWZ0JykpICogaS5yYWlsWFJhdGlvOwogICAgICAgICAgICBfLnN0YXJ0U2Nyb2xsaW5nKGVsZW1lbnQsICd4Jyk7CgogICAgICAgICAgICBpLmV2ZW50LmJpbmQoaS5vd25lckRvY3VtZW50LCAnbW91c2Vtb3ZlJywgbW91c2VNb3ZlSGFuZGxlcik7CiAgICAgICAgICAgIGkuZXZlbnQub25jZShpLm93bmVyRG9jdW1lbnQsICdtb3VzZXVwJywgbW91c2VVcEhhbmRsZXIpOwoKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIGJpbmRNb3VzZVNjcm9sbFlIYW5kbGVyKGVsZW1lbnQsIGkpIHsKICAgICAgICB2YXIgY3VycmVudFRvcCA9IG51bGw7CiAgICAgICAgdmFyIGN1cnJlbnRQYWdlWSA9IG51bGw7CgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNjcm9sbFRvcChkZWx0YVkpIHsKICAgICAgICAgICAgdmFyIG5ld1RvcCA9IGN1cnJlbnRUb3AgKyAoZGVsdGFZICogaS5yYWlsWVJhdGlvKTsKICAgICAgICAgICAgdmFyIG1heFRvcCA9IE1hdGgubWF4KDAsIGkuc2Nyb2xsYmFyWVJhaWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKSArIChpLnJhaWxZUmF0aW8gKiAoaS5yYWlsWUhlaWdodCAtIGkuc2Nyb2xsYmFyWUhlaWdodCkpOwoKICAgICAgICAgICAgaWYgKG5ld1RvcCA8IDApIHsKICAgICAgICAgICAgICAgIGkuc2Nyb2xsYmFyWVRvcCA9IDA7CiAgICAgICAgICAgIH0gZWxzZSBpZiAobmV3VG9wID4gbWF4VG9wKSB7CiAgICAgICAgICAgICAgICBpLnNjcm9sbGJhcllUb3AgPSBtYXhUb3A7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpLnNjcm9sbGJhcllUb3AgPSBuZXdUb3A7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBzY3JvbGxUb3AgPSBfLnRvSW50KGkuc2Nyb2xsYmFyWVRvcCAqIChpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodCkgLyAoaS5jb250YWluZXJIZWlnaHQgLSAoaS5yYWlsWVJhdGlvICogaS5zY3JvbGxiYXJZSGVpZ2h0KSkpOwogICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ3RvcCcsIHNjcm9sbFRvcCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgbW91c2VNb3ZlSGFuZGxlciA9IGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIHVwZGF0ZVNjcm9sbFRvcChlLnBhZ2VZIC0gY3VycmVudFBhZ2VZKTsKICAgICAgICAgICAgdXBkYXRlR2VvbWV0cnkoZWxlbWVudCk7CiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICB9OwoKICAgICAgICB2YXIgbW91c2VVcEhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIF8uc3RvcFNjcm9sbGluZyhlbGVtZW50LCAneScpOwogICAgICAgICAgICBpLmV2ZW50LnVuYmluZChpLm93bmVyRG9jdW1lbnQsICdtb3VzZW1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTsKICAgICAgICB9OwoKICAgICAgICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJZLCAnbW91c2Vkb3duJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgY3VycmVudFBhZ2VZID0gZS5wYWdlWTsKICAgICAgICAgICAgY3VycmVudFRvcCA9IF8udG9JbnQoZG9tLmNzcyhpLnNjcm9sbGJhclksICd0b3AnKSkgKiBpLnJhaWxZUmF0aW87CiAgICAgICAgICAgIF8uc3RhcnRTY3JvbGxpbmcoZWxlbWVudCwgJ3knKTsKCiAgICAgICAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdtb3VzZW1vdmUnLCBtb3VzZU1vdmVIYW5kbGVyKTsKICAgICAgICAgICAgaS5ldmVudC5vbmNlKGkub3duZXJEb2N1bWVudCwgJ21vdXNldXAnLCBtb3VzZVVwSGFuZGxlcik7CgogICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgfSk7CiAgICB9CgogICAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgIHZhciBpID0gaW5zdGFuY2VzLmdldChlbGVtZW50KTsKICAgICAgICBiaW5kTW91c2VTY3JvbGxYSGFuZGxlcihlbGVtZW50LCBpKTsKICAgICAgICBiaW5kTW91c2VTY3JvbGxZSGFuZGxlcihlbGVtZW50LCBpKTsKICAgIH07Cgp9LHsiLi4vLi4vbGliL2RvbSI6MywiLi4vLi4vbGliL2hlbHBlciI6NiwiLi4vaW5zdGFuY2VzIjoxOCwiLi4vdXBkYXRlLWdlb21ldHJ5IjoxOSwiLi4vdXBkYXRlLXNjcm9sbCI6MjB9XSwxMjpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIF8gPSByZXF1aXJlKCcuLi8uLi9saWIvaGVscGVyJyk7CiAgICB2YXIgZG9tID0gcmVxdWlyZSgnLi4vLi4vbGliL2RvbScpOwogICAgdmFyIGluc3RhbmNlcyA9IHJlcXVpcmUoJy4uL2luc3RhbmNlcycpOwogICAgdmFyIHVwZGF0ZUdlb21ldHJ5ID0gcmVxdWlyZSgnLi4vdXBkYXRlLWdlb21ldHJ5Jyk7CiAgICB2YXIgdXBkYXRlU2Nyb2xsID0gcmVxdWlyZSgnLi4vdXBkYXRlLXNjcm9sbCcpOwoKICAgIGZ1bmN0aW9uIGJpbmRLZXlib2FyZEhhbmRsZXIoZWxlbWVudCwgaSkgewogICAgICAgIHZhciBob3ZlcmVkID0gZmFsc2U7CiAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdtb3VzZWVudGVyJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBob3ZlcmVkID0gdHJ1ZTsKICAgICAgICB9KTsKICAgICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ21vdXNlbGVhdmUnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGhvdmVyZWQgPSBmYWxzZTsKICAgICAgICB9KTsKCiAgICAgICAgdmFyIHNob3VsZFByZXZlbnQgPSBmYWxzZTsKICAgICAgICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkgewogICAgICAgICAgICB2YXIgc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxUb3A7CiAgICAgICAgICAgIGlmIChkZWx0YVggPT09IDApIHsKICAgICAgICAgICAgICAgIGlmICghaS5zY3JvbGxiYXJZQWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKChzY3JvbGxUb3AgPT09IDAgJiYgZGVsdGFZID4gMCkgfHwgKHNjcm9sbFRvcCA+PSBpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodCAmJiBkZWx0YVkgPCAwKSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAhaS5zZXR0aW5ncy53aGVlbFByb3BhZ2F0aW9uOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgc2Nyb2xsTGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDsKICAgICAgICAgICAgaWYgKGRlbHRhWSA9PT0gMCkgewogICAgICAgICAgICAgICAgaWYgKCFpLnNjcm9sbGJhclhBY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoKHNjcm9sbExlZnQgPT09IDAgJiYgZGVsdGFYIDwgMCkgfHwgKHNjcm9sbExlZnQgPj0gaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoICYmIGRlbHRhWCA+IDApKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb247CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICBpLmV2ZW50LmJpbmQoaS5vd25lckRvY3VtZW50LCAna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIGlmICgoZS5pc0RlZmF1bHRQcmV2ZW50ZWQgJiYgZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkgfHwgZS5kZWZhdWx0UHJldmVudGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBmb2N1c2VkID0gZG9tLm1hdGNoZXMoaS5zY3JvbGxiYXJYLCAnOmZvY3VzJykgfHwKICAgICAgICAgICAgICAgIGRvbS5tYXRjaGVzKGkuc2Nyb2xsYmFyWSwgJzpmb2N1cycpOwoKICAgICAgICAgICAgaWYgKCFob3ZlcmVkICYmICFmb2N1c2VkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA/IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgOiBpLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgICAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGlmIChhY3RpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdJRlJBTUUnKSB7CiAgICAgICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudCA9IGFjdGl2ZUVsZW1lbnQuY29udGVudERvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIGdvIGRlZXBlciBpZiBlbGVtZW50IGlzIGEgd2ViY29tcG9uZW50CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCkgewogICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVFbGVtZW50ID0gYWN0aXZlRWxlbWVudC5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKF8uaXNFZGl0YWJsZShhY3RpdmVFbGVtZW50KSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgdmFyIGRlbHRhWCA9IDA7CiAgICAgICAgICAgIHZhciBkZWx0YVkgPSAwOwoKICAgICAgICAgICAgc3dpdGNoIChlLndoaWNoKSB7CiAgICAgICAgICAgICAgICBjYXNlIDM3OiAvLyBsZWZ0CiAgICAgICAgICAgICAgICAgICAgaWYgKGUubWV0YUtleSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAtaS5jb250ZW50V2lkdGg7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLmFsdEtleSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAtaS5jb250YWluZXJXaWR0aDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSAtMzA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAzODogLy8gdXAKICAgICAgICAgICAgICAgICAgICBpZiAoZS5tZXRhS2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IGkuY29udGVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUuYWx0S2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IGkuY29udGFpbmVySGVpZ2h0OwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IDMwOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMzk6IC8vIHJpZ2h0CiAgICAgICAgICAgICAgICAgICAgaWYgKGUubWV0YUtleSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVggPSBpLmNvbnRlbnRXaWR0aDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUuYWx0S2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWCA9IGkuY29udGFpbmVyV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFYID0gMzA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSA0MDogLy8gZG93bgogICAgICAgICAgICAgICAgICAgIGlmIChlLm1ldGFLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gLWkuY29udGVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUuYWx0S2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IC1pLmNvbnRhaW5lckhlaWdodDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtMzA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAzMzogLy8gcGFnZSB1cAogICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IDkwOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAzMjogLy8gc3BhY2UgYmFyCiAgICAgICAgICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gOTA7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gLTkwOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMzQ6IC8vIHBhZ2UgZG93bgogICAgICAgICAgICAgICAgICAgIGRlbHRhWSA9IC05MDsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMzU6IC8vIGVuZAogICAgICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gLWkuY29udGVudEhlaWdodDsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBkZWx0YVkgPSAtaS5jb250YWluZXJIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAzNjogLy8gaG9tZQogICAgICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gZWxlbWVudC5zY3JvbGxUb3A7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsdGFZID0gaS5jb250YWluZXJIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAndG9wJywgZWxlbWVudC5zY3JvbGxUb3AgLSBkZWx0YVkpOwogICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ2xlZnQnLCBlbGVtZW50LnNjcm9sbExlZnQgKyBkZWx0YVgpOwogICAgICAgICAgICB1cGRhdGVHZW9tZXRyeShlbGVtZW50KTsKCiAgICAgICAgICAgIHNob3VsZFByZXZlbnQgPSBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSk7CiAgICAgICAgICAgIGlmIChzaG91bGRQcmV2ZW50KSB7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgdmFyIGkgPSBpbnN0YW5jZXMuZ2V0KGVsZW1lbnQpOwogICAgICAgIGJpbmRLZXlib2FyZEhhbmRsZXIoZWxlbWVudCwgaSk7CiAgICB9OwoKfSx7Ii4uLy4uL2xpYi9kb20iOjMsIi4uLy4uL2xpYi9oZWxwZXIiOjYsIi4uL2luc3RhbmNlcyI6MTgsIi4uL3VwZGF0ZS1nZW9tZXRyeSI6MTksIi4uL3VwZGF0ZS1zY3JvbGwiOjIwfV0sMTM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBpbnN0YW5jZXMgPSByZXF1aXJlKCcuLi9pbnN0YW5jZXMnKTsKICAgIHZhciB1cGRhdGVHZW9tZXRyeSA9IHJlcXVpcmUoJy4uL3VwZGF0ZS1nZW9tZXRyeScpOwogICAgdmFyIHVwZGF0ZVNjcm9sbCA9IHJlcXVpcmUoJy4uL3VwZGF0ZS1zY3JvbGwnKTsKCiAgICBmdW5jdGlvbiBiaW5kTW91c2VXaGVlbEhhbmRsZXIoZWxlbWVudCwgaSkgewogICAgICAgIHZhciBzaG91bGRQcmV2ZW50ID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIHNob3VsZFByZXZlbnREZWZhdWx0KGRlbHRhWCwgZGVsdGFZKSB7CiAgICAgICAgICAgIHZhciBzY3JvbGxUb3AgPSBlbGVtZW50LnNjcm9sbFRvcDsKICAgICAgICAgICAgaWYgKGRlbHRhWCA9PT0gMCkgewogICAgICAgICAgICAgICAgaWYgKCFpLnNjcm9sbGJhcllBY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoKHNjcm9sbFRvcCA9PT0gMCAmJiBkZWx0YVkgPiAwKSB8fCAoc2Nyb2xsVG9wID49IGkuY29udGVudEhlaWdodCAtIGkuY29udGFpbmVySGVpZ2h0ICYmIGRlbHRhWSA8IDApKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpLnNldHRpbmdzLndoZWVsUHJvcGFnYXRpb247CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBzY3JvbGxMZWZ0ID0gZWxlbWVudC5zY3JvbGxMZWZ0OwogICAgICAgICAgICBpZiAoZGVsdGFZID09PSAwKSB7CiAgICAgICAgICAgICAgICBpZiAoIWkuc2Nyb2xsYmFyWEFjdGl2ZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmICgoc2Nyb2xsTGVmdCA9PT0gMCAmJiBkZWx0YVggPCAwKSB8fCAoc2Nyb2xsTGVmdCA+PSBpLmNvbnRlbnRXaWR0aCAtIGkuY29udGFpbmVyV2lkdGggJiYgZGVsdGFYID4gMCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWkuc2V0dGluZ3Mud2hlZWxQcm9wYWdhdGlvbjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGdldERlbHRhRnJvbUV2ZW50KGUpIHsKICAgICAgICAgICAgdmFyIGRlbHRhWCA9IGUuZGVsdGFYOwogICAgICAgICAgICB2YXIgZGVsdGFZID0gLTEgKiBlLmRlbHRhWTsKCiAgICAgICAgICAgIGlmICh0eXBlb2YgZGVsdGFYID09PSAidW5kZWZpbmVkIiB8fCB0eXBlb2YgZGVsdGFZID09PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICAgICAgLy8gT1MgWCBTYWZhcmkKICAgICAgICAgICAgICAgIGRlbHRhWCA9IC0xICogZS53aGVlbERlbHRhWCAvIDY7CiAgICAgICAgICAgICAgICBkZWx0YVkgPSBlLndoZWVsRGVsdGFZIC8gNjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKGUuZGVsdGFNb2RlICYmIGUuZGVsdGFNb2RlID09PSAxKSB7CiAgICAgICAgICAgICAgICAvLyBGaXJlZm94IGluIGRlbHRhTW9kZSAxOiBMaW5lIHNjcm9sbGluZwogICAgICAgICAgICAgICAgZGVsdGFYICo9IDEwOwogICAgICAgICAgICAgICAgZGVsdGFZICo9IDEwOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoZGVsdGFYICE9PSBkZWx0YVggJiYgZGVsdGFZICE9PSBkZWx0YVkvKiBOYU4gY2hlY2tzICovKSB7CiAgICAgICAgICAgICAgICAvLyBJRSBpbiBzb21lIG1vdXNlIGRyaXZlcnMKICAgICAgICAgICAgICAgIGRlbHRhWCA9IDA7CiAgICAgICAgICAgICAgICBkZWx0YVkgPSBlLndoZWVsRGVsdGE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChlLnNoaWZ0S2V5KSB7CiAgICAgICAgICAgICAgICAvLyByZXZlcnNlIGF4aXMgd2l0aCBzaGlmdCBrZXkKICAgICAgICAgICAgICAgIHJldHVybiBbLWRlbHRhWSwgLWRlbHRhWF07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtkZWx0YVgsIGRlbHRhWV07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBzaG91bGRCZUNvbnN1bWVkQnlDaGlsZChkZWx0YVgsIGRlbHRhWSkgewogICAgICAgICAgICB2YXIgY2hpbGQgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHRhcmVhOmhvdmVyLCBzZWxlY3RbbXVsdGlwbGVdOmhvdmVyLCAucHMtY2hpbGQ6aG92ZXInKTsKICAgICAgICAgICAgaWYgKGNoaWxkKSB7CiAgICAgICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjaGlsZCk7CiAgICAgICAgICAgICAgICB2YXIgb3ZlcmZsb3cgPSBbCiAgICAgICAgICAgICAgICAgICAgc3R5bGUub3ZlcmZsb3csCiAgICAgICAgICAgICAgICAgICAgc3R5bGUub3ZlcmZsb3dYLAogICAgICAgICAgICAgICAgICAgIHN0eWxlLm92ZXJmbG93WQogICAgICAgICAgICAgICAgXS5qb2luKCcnKTsKCiAgICAgICAgICAgICAgICBpZiAoIW92ZXJmbG93Lm1hdGNoKC8oc2Nyb2xsfGF1dG8pLykpIHsKICAgICAgICAgICAgICAgICAgICAvLyBpZiBub3Qgc2Nyb2xsYWJsZQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB2YXIgbWF4U2Nyb2xsVG9wID0gY2hpbGQuc2Nyb2xsSGVpZ2h0IC0gY2hpbGQuY2xpZW50SGVpZ2h0OwogICAgICAgICAgICAgICAgaWYgKG1heFNjcm9sbFRvcCA+IDApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIShjaGlsZC5zY3JvbGxUb3AgPT09IDAgJiYgZGVsdGFZID4gMCkgJiYgIShjaGlsZC5zY3JvbGxUb3AgPT09IG1heFNjcm9sbFRvcCAmJiBkZWx0YVkgPCAwKSkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgbWF4U2Nyb2xsTGVmdCA9IGNoaWxkLnNjcm9sbExlZnQgLSBjaGlsZC5jbGllbnRXaWR0aDsKICAgICAgICAgICAgICAgIGlmIChtYXhTY3JvbGxMZWZ0ID4gMCkgewogICAgICAgICAgICAgICAgICAgIGlmICghKGNoaWxkLnNjcm9sbExlZnQgPT09IDAgJiYgZGVsdGFYIDwgMCkgJiYgIShjaGlsZC5zY3JvbGxMZWZ0ID09PSBtYXhTY3JvbGxMZWZ0ICYmIGRlbHRhWCA+IDApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBtb3VzZXdoZWVsSGFuZGxlcihlKSB7CiAgICAgICAgICAgIHZhciBkZWx0YSA9IGdldERlbHRhRnJvbUV2ZW50KGUpOwoKICAgICAgICAgICAgdmFyIGRlbHRhWCA9IGRlbHRhWzBdOwogICAgICAgICAgICB2YXIgZGVsdGFZID0gZGVsdGFbMV07CgogICAgICAgICAgICBpZiAoc2hvdWxkQmVDb25zdW1lZEJ5Q2hpbGQoZGVsdGFYLCBkZWx0YVkpKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNob3VsZFByZXZlbnQgPSBmYWxzZTsKICAgICAgICAgICAgaWYgKCFpLnNldHRpbmdzLnVzZUJvdGhXaGVlbEF4ZXMpIHsKICAgICAgICAgICAgICAgIC8vIGRlbHRhWCB3aWxsIG9ubHkgYmUgdXNlZCBmb3IgaG9yaXpvbnRhbCBzY3JvbGxpbmcgYW5kIGRlbHRhWSB3aWxsCiAgICAgICAgICAgICAgICAvLyBvbmx5IGJlIHVzZWQgZm9yIHZlcnRpY2FsIHNjcm9sbGluZyAtIHRoaXMgaXMgdGhlIGRlZmF1bHQKICAgICAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAndG9wJywgZWxlbWVudC5zY3JvbGxUb3AgLSAoZGVsdGFZICogaS5zZXR0aW5ncy53aGVlbFNwZWVkKSk7CiAgICAgICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ2xlZnQnLCBlbGVtZW50LnNjcm9sbExlZnQgKyAoZGVsdGFYICogaS5zZXR0aW5ncy53aGVlbFNwZWVkKSk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoaS5zY3JvbGxiYXJZQWN0aXZlICYmICFpLnNjcm9sbGJhclhBY3RpdmUpIHsKICAgICAgICAgICAgICAgIC8vIG9ubHkgdmVydGljYWwgc2Nyb2xsYmFyIGlzIGFjdGl2ZSBhbmQgdXNlQm90aFdoZWVsQXhlcyBvcHRpb24gaXMKICAgICAgICAgICAgICAgIC8vIGFjdGl2ZSwgc28gbGV0J3Mgc2Nyb2xsIHZlcnRpY2FsIGJhciB1c2luZyBib3RoIG1vdXNlIHdoZWVsIGF4ZXMKICAgICAgICAgICAgICAgIGlmIChkZWx0YVkpIHsKICAgICAgICAgICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ3RvcCcsIGVsZW1lbnQuc2Nyb2xsVG9wIC0gKGRlbHRhWSAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZCkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ3RvcCcsIGVsZW1lbnQuc2Nyb2xsVG9wICsgKGRlbHRhWCAqIGkuc2V0dGluZ3Mud2hlZWxTcGVlZCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc2hvdWxkUHJldmVudCA9IHRydWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoaS5zY3JvbGxiYXJYQWN0aXZlICYmICFpLnNjcm9sbGJhcllBY3RpdmUpIHsKICAgICAgICAgICAgICAgIC8vIHVzZUJvdGhXaGVlbEF4ZXMgYW5kIG9ubHkgaG9yaXpvbnRhbCBiYXIgaXMgYWN0aXZlLCBzbyB1c2UgYm90aAogICAgICAgICAgICAgICAgLy8gd2hlZWwgYXhlcyBmb3IgaG9yaXpvbnRhbCBiYXIKICAgICAgICAgICAgICAgIGlmIChkZWx0YVgpIHsKICAgICAgICAgICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ2xlZnQnLCBlbGVtZW50LnNjcm9sbExlZnQgKyAoZGVsdGFYICogaS5zZXR0aW5ncy53aGVlbFNwZWVkKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAnbGVmdCcsIGVsZW1lbnQuc2Nyb2xsTGVmdCAtIChkZWx0YVkgKiBpLnNldHRpbmdzLndoZWVsU3BlZWQpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHNob3VsZFByZXZlbnQgPSB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1cGRhdGVHZW9tZXRyeShlbGVtZW50KTsKCiAgICAgICAgICAgIHNob3VsZFByZXZlbnQgPSAoc2hvdWxkUHJldmVudCB8fCBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkpOwogICAgICAgICAgICBpZiAoc2hvdWxkUHJldmVudCkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cub253aGVlbCAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd3aGVlbCcsIG1vdXNld2hlZWxIYW5kbGVyKTsKICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cub25tb3VzZXdoZWVsICE9PSAidW5kZWZpbmVkIikgewogICAgICAgICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ21vdXNld2hlZWwnLCBtb3VzZXdoZWVsSGFuZGxlcik7CiAgICAgICAgfQogICAgfQoKICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICB2YXIgaSA9IGluc3RhbmNlcy5nZXQoZWxlbWVudCk7CiAgICAgICAgYmluZE1vdXNlV2hlZWxIYW5kbGVyKGVsZW1lbnQsIGkpOwogICAgfTsKCn0seyIuLi9pbnN0YW5jZXMiOjE4LCIuLi91cGRhdGUtZ2VvbWV0cnkiOjE5LCIuLi91cGRhdGUtc2Nyb2xsIjoyMH1dLDE0OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgaW5zdGFuY2VzID0gcmVxdWlyZSgnLi4vaW5zdGFuY2VzJyk7CiAgICB2YXIgdXBkYXRlR2VvbWV0cnkgPSByZXF1aXJlKCcuLi91cGRhdGUtZ2VvbWV0cnknKTsKCiAgICBmdW5jdGlvbiBiaW5kTmF0aXZlU2Nyb2xsSGFuZGxlcihlbGVtZW50LCBpKSB7CiAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdzY3JvbGwnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHVwZGF0ZUdlb21ldHJ5KGVsZW1lbnQpOwogICAgICAgIH0pOwogICAgfQoKICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICB2YXIgaSA9IGluc3RhbmNlcy5nZXQoZWxlbWVudCk7CiAgICAgICAgYmluZE5hdGl2ZVNjcm9sbEhhbmRsZXIoZWxlbWVudCwgaSk7CiAgICB9OwoKfSx7Ii4uL2luc3RhbmNlcyI6MTgsIi4uL3VwZGF0ZS1nZW9tZXRyeSI6MTl9XSwxNTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIF8gPSByZXF1aXJlKCcuLi8uLi9saWIvaGVscGVyJyk7CiAgICB2YXIgaW5zdGFuY2VzID0gcmVxdWlyZSgnLi4vaW5zdGFuY2VzJyk7CiAgICB2YXIgdXBkYXRlR2VvbWV0cnkgPSByZXF1aXJlKCcuLi91cGRhdGUtZ2VvbWV0cnknKTsKICAgIHZhciB1cGRhdGVTY3JvbGwgPSByZXF1aXJlKCcuLi91cGRhdGUtc2Nyb2xsJyk7CgogICAgZnVuY3Rpb24gYmluZFNlbGVjdGlvbkhhbmRsZXIoZWxlbWVudCwgaSkgewogICAgICAgIGZ1bmN0aW9uIGdldFJhbmdlTm9kZSgpIHsKICAgICAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24gPyB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkgOgogICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uID8gZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkgOiAnJzsKICAgICAgICAgICAgaWYgKHNlbGVjdGlvbi50b1N0cmluZygpLmxlbmd0aCA9PT0gMCkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuY29tbW9uQW5jZXN0b3JDb250YWluZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHZhciBzY3JvbGxpbmdMb29wID0gbnVsbDsKICAgICAgICB2YXIgc2Nyb2xsRGlmZiA9IHt0b3A6IDAsIGxlZnQ6IDB9OwogICAgICAgIGZ1bmN0aW9uIHN0YXJ0U2Nyb2xsaW5nKCkgewogICAgICAgICAgICBpZiAoIXNjcm9sbGluZ0xvb3ApIHsKICAgICAgICAgICAgICAgIHNjcm9sbGluZ0xvb3AgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCFpbnN0YW5jZXMuZ2V0KGVsZW1lbnQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nTG9vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAndG9wJywgZWxlbWVudC5zY3JvbGxUb3AgKyBzY3JvbGxEaWZmLnRvcCk7CiAgICAgICAgICAgICAgICAgICAgdXBkYXRlU2Nyb2xsKGVsZW1lbnQsICdsZWZ0JywgZWxlbWVudC5zY3JvbGxMZWZ0ICsgc2Nyb2xsRGlmZi5sZWZ0KTsKICAgICAgICAgICAgICAgICAgICB1cGRhdGVHZW9tZXRyeShlbGVtZW50KTsKICAgICAgICAgICAgICAgIH0sIDUwKTsgLy8gZXZlcnkgLjEgc2VjCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gc3RvcFNjcm9sbGluZygpIHsKICAgICAgICAgICAgaWYgKHNjcm9sbGluZ0xvb3ApIHsKICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nTG9vcCk7CiAgICAgICAgICAgICAgICBzY3JvbGxpbmdMb29wID0gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBfLnN0b3BTY3JvbGxpbmcoZWxlbWVudCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaXNTZWxlY3RlZCA9IGZhbHNlOwogICAgICAgIGkuZXZlbnQuYmluZChpLm93bmVyRG9jdW1lbnQsICdzZWxlY3Rpb25jaGFuZ2UnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmIChlbGVtZW50LmNvbnRhaW5zKGdldFJhbmdlTm9kZSgpKSkgewogICAgICAgICAgICAgICAgaXNTZWxlY3RlZCA9IHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICBzdG9wU2Nyb2xsaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICBpLmV2ZW50LmJpbmQod2luZG93LCAnbW91c2V1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHsKICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHN0b3BTY3JvbGxpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGkuZXZlbnQuYmluZCh3aW5kb3csICdrZXl1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHsKICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHN0b3BTY3JvbGxpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICBpLmV2ZW50LmJpbmQod2luZG93LCAnbW91c2Vtb3ZlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgaWYgKGlzU2VsZWN0ZWQpIHsKICAgICAgICAgICAgICAgIHZhciBtb3VzZVBvc2l0aW9uID0ge3g6IGUucGFnZVgsIHk6IGUucGFnZVl9OwogICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckdlb21ldHJ5ID0gewogICAgICAgICAgICAgICAgICAgIGxlZnQ6IGVsZW1lbnQub2Zmc2V0TGVmdCwKICAgICAgICAgICAgICAgICAgICByaWdodDogZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVudC5vZmZzZXRXaWR0aCwKICAgICAgICAgICAgICAgICAgICB0b3A6IGVsZW1lbnQub2Zmc2V0VG9wLAogICAgICAgICAgICAgICAgICAgIGJvdHRvbTogZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50Lm9mZnNldEhlaWdodAogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICBpZiAobW91c2VQb3NpdGlvbi54IDwgY29udGFpbmVyR2VvbWV0cnkubGVmdCArIDMpIHsKICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaWZmLmxlZnQgPSAtNTsKICAgICAgICAgICAgICAgICAgICBfLnN0YXJ0U2Nyb2xsaW5nKGVsZW1lbnQsICd4Jyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1vdXNlUG9zaXRpb24ueCA+IGNvbnRhaW5lckdlb21ldHJ5LnJpZ2h0IC0gMykgewogICAgICAgICAgICAgICAgICAgIHNjcm9sbERpZmYubGVmdCA9IDU7CiAgICAgICAgICAgICAgICAgICAgXy5zdGFydFNjcm9sbGluZyhlbGVtZW50LCAneCcpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaWZmLmxlZnQgPSAwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChtb3VzZVBvc2l0aW9uLnkgPCBjb250YWluZXJHZW9tZXRyeS50b3AgKyAzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lckdlb21ldHJ5LnRvcCArIDMgLSBtb3VzZVBvc2l0aW9uLnkgPCA1KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbERpZmYudG9wID0gLTU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlmZi50b3AgPSAtMjA7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIF8uc3RhcnRTY3JvbGxpbmcoZWxlbWVudCwgJ3knKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobW91c2VQb3NpdGlvbi55ID4gY29udGFpbmVyR2VvbWV0cnkuYm90dG9tIC0gMykgewogICAgICAgICAgICAgICAgICAgIGlmIChtb3VzZVBvc2l0aW9uLnkgLSBjb250YWluZXJHZW9tZXRyeS5ib3R0b20gKyAzIDwgNSkgewogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaWZmLnRvcCA9IDU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlmZi50b3AgPSAyMDsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgXy5zdGFydFNjcm9sbGluZyhlbGVtZW50LCAneScpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaWZmLnRvcCA9IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHNjcm9sbERpZmYudG9wID09PSAwICYmIHNjcm9sbERpZmYubGVmdCA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIHN0b3BTY3JvbGxpbmcoKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgc3RhcnRTY3JvbGxpbmcoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICB2YXIgaSA9IGluc3RhbmNlcy5nZXQoZWxlbWVudCk7CiAgICAgICAgYmluZFNlbGVjdGlvbkhhbmRsZXIoZWxlbWVudCwgaSk7CiAgICB9OwoKfSx7Ii4uLy4uL2xpYi9oZWxwZXIiOjYsIi4uL2luc3RhbmNlcyI6MTgsIi4uL3VwZGF0ZS1nZW9tZXRyeSI6MTksIi4uL3VwZGF0ZS1zY3JvbGwiOjIwfV0sMTY6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBfID0gcmVxdWlyZSgnLi4vLi4vbGliL2hlbHBlcicpOwogICAgdmFyIGluc3RhbmNlcyA9IHJlcXVpcmUoJy4uL2luc3RhbmNlcycpOwogICAgdmFyIHVwZGF0ZUdlb21ldHJ5ID0gcmVxdWlyZSgnLi4vdXBkYXRlLWdlb21ldHJ5Jyk7CiAgICB2YXIgdXBkYXRlU2Nyb2xsID0gcmVxdWlyZSgnLi4vdXBkYXRlLXNjcm9sbCcpOwoKICAgIGZ1bmN0aW9uIGJpbmRUb3VjaEhhbmRsZXIoZWxlbWVudCwgaSwgc3VwcG9ydHNUb3VjaCwgc3VwcG9ydHNJZVBvaW50ZXIpIHsKICAgICAgICBmdW5jdGlvbiBzaG91bGRQcmV2ZW50RGVmYXVsdChkZWx0YVgsIGRlbHRhWSkgewogICAgICAgICAgICB2YXIgc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxUb3A7CiAgICAgICAgICAgIHZhciBzY3JvbGxMZWZ0ID0gZWxlbWVudC5zY3JvbGxMZWZ0OwogICAgICAgICAgICB2YXIgbWFnbml0dWRlWCA9IE1hdGguYWJzKGRlbHRhWCk7CiAgICAgICAgICAgIHZhciBtYWduaXR1ZGVZID0gTWF0aC5hYnMoZGVsdGFZKTsKCiAgICAgICAgICAgIGlmIChtYWduaXR1ZGVZID4gbWFnbml0dWRlWCkgewogICAgICAgICAgICAgICAgLy8gdXNlciBpcyBwZXJoYXBzIHRyeWluZyB0byBzd2lwZSB1cC9kb3duIHRoZSBwYWdlCgogICAgICAgICAgICAgICAgaWYgKCgoZGVsdGFZIDwgMCkgJiYgKHNjcm9sbFRvcCA9PT0gaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQpKSB8fAogICAgICAgICAgICAgICAgICAgICgoZGVsdGFZID4gMCkgJiYgKHNjcm9sbFRvcCA9PT0gMCkpKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFpLnNldHRpbmdzLnN3aXBlUHJvcGFnYXRpb247CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAobWFnbml0dWRlWCA+IG1hZ25pdHVkZVkpIHsKICAgICAgICAgICAgICAgIC8vIHVzZXIgaXMgcGVyaGFwcyB0cnlpbmcgdG8gc3dpcGUgbGVmdC9yaWdodCBhY3Jvc3MgdGhlIHBhZ2UKCiAgICAgICAgICAgICAgICBpZiAoKChkZWx0YVggPCAwKSAmJiAoc2Nyb2xsTGVmdCA9PT0gaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoKSkgfHwKICAgICAgICAgICAgICAgICAgICAoKGRlbHRhWCA+IDApICYmIChzY3JvbGxMZWZ0ID09PSAwKSkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWkuc2V0dGluZ3Muc3dpcGVQcm9wYWdhdGlvbjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBhcHBseVRvdWNoTW92ZShkaWZmZXJlbmNlWCwgZGlmZmVyZW5jZVkpIHsKICAgICAgICAgICAgdXBkYXRlU2Nyb2xsKGVsZW1lbnQsICd0b3AnLCBlbGVtZW50LnNjcm9sbFRvcCAtIGRpZmZlcmVuY2VZKTsKICAgICAgICAgICAgdXBkYXRlU2Nyb2xsKGVsZW1lbnQsICdsZWZ0JywgZWxlbWVudC5zY3JvbGxMZWZ0IC0gZGlmZmVyZW5jZVgpOwoKICAgICAgICAgICAgdXBkYXRlR2VvbWV0cnkoZWxlbWVudCk7CiAgICAgICAgfQoKICAgICAgICB2YXIgc3RhcnRPZmZzZXQgPSB7fTsKICAgICAgICB2YXIgc3RhcnRUaW1lID0gMDsKICAgICAgICB2YXIgc3BlZWQgPSB7fTsKICAgICAgICB2YXIgZWFzaW5nTG9vcCA9IG51bGw7CiAgICAgICAgdmFyIGluR2xvYmFsVG91Y2ggPSBmYWxzZTsKICAgICAgICB2YXIgaW5Mb2NhbFRvdWNoID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIGdsb2JhbFRvdWNoU3RhcnQoKSB7CiAgICAgICAgICAgIGluR2xvYmFsVG91Y2ggPSB0cnVlOwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBnbG9iYWxUb3VjaEVuZCgpIHsKICAgICAgICAgICAgaW5HbG9iYWxUb3VjaCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZ2V0VG91Y2goZSkgewogICAgICAgICAgICBpZiAoZS50YXJnZXRUb3VjaGVzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZS50YXJnZXRUb3VjaGVzWzBdOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8gTWF5YmUgSUUgcG9pbnRlcgogICAgICAgICAgICAgICAgcmV0dXJuIGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gc2hvdWxkSGFuZGxlKGUpIHsKICAgICAgICAgICAgaWYgKGUudGFyZ2V0VG91Y2hlcyAmJiBlLnRhcmdldFRvdWNoZXMubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZS5wb2ludGVyVHlwZSAmJiBlLnBvaW50ZXJUeXBlICE9PSAnbW91c2UnICYmIGUucG9pbnRlclR5cGUgIT09IGUuTVNQT0lOVEVSX1RZUEVfTU9VU0UpIHsKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gdG91Y2hTdGFydChlKSB7CiAgICAgICAgICAgIGlmIChzaG91bGRIYW5kbGUoZSkpIHsKICAgICAgICAgICAgICAgIGluTG9jYWxUb3VjaCA9IHRydWU7CgogICAgICAgICAgICAgICAgdmFyIHRvdWNoID0gZ2V0VG91Y2goZSk7CgogICAgICAgICAgICAgICAgc3RhcnRPZmZzZXQucGFnZVggPSB0b3VjaC5wYWdlWDsKICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0LnBhZ2VZID0gdG91Y2gucGFnZVk7CgogICAgICAgICAgICAgICAgc3RhcnRUaW1lID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCiAgICAgICAgICAgICAgICBpZiAoZWFzaW5nTG9vcCAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoZWFzaW5nTG9vcCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiB0b3VjaE1vdmUoZSkgewogICAgICAgICAgICBpZiAoIWluTG9jYWxUb3VjaCAmJiBpLnNldHRpbmdzLnN3aXBlUHJvcGFnYXRpb24pIHsKICAgICAgICAgICAgICAgIHRvdWNoU3RhcnQoZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCFpbkdsb2JhbFRvdWNoICYmIGluTG9jYWxUb3VjaCAmJiBzaG91bGRIYW5kbGUoZSkpIHsKICAgICAgICAgICAgICAgIHZhciB0b3VjaCA9IGdldFRvdWNoKGUpOwoKICAgICAgICAgICAgICAgIHZhciBjdXJyZW50T2Zmc2V0ID0ge3BhZ2VYOiB0b3VjaC5wYWdlWCwgcGFnZVk6IHRvdWNoLnBhZ2VZfTsKCiAgICAgICAgICAgICAgICB2YXIgZGlmZmVyZW5jZVggPSBjdXJyZW50T2Zmc2V0LnBhZ2VYIC0gc3RhcnRPZmZzZXQucGFnZVg7CiAgICAgICAgICAgICAgICB2YXIgZGlmZmVyZW5jZVkgPSBjdXJyZW50T2Zmc2V0LnBhZ2VZIC0gc3RhcnRPZmZzZXQucGFnZVk7CgogICAgICAgICAgICAgICAgYXBwbHlUb3VjaE1vdmUoZGlmZmVyZW5jZVgsIGRpZmZlcmVuY2VZKTsKICAgICAgICAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gY3VycmVudE9mZnNldDsKCiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFRpbWUgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpOwoKICAgICAgICAgICAgICAgIHZhciB0aW1lR2FwID0gY3VycmVudFRpbWUgLSBzdGFydFRpbWU7CiAgICAgICAgICAgICAgICBpZiAodGltZUdhcCA+IDApIHsKICAgICAgICAgICAgICAgICAgICBzcGVlZC54ID0gZGlmZmVyZW5jZVggLyB0aW1lR2FwOwogICAgICAgICAgICAgICAgICAgIHNwZWVkLnkgPSBkaWZmZXJlbmNlWSAvIHRpbWVHYXA7CiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKHNob3VsZFByZXZlbnREZWZhdWx0KGRpZmZlcmVuY2VYLCBkaWZmZXJlbmNlWSkpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiB0b3VjaEVuZCgpIHsKICAgICAgICAgICAgaWYgKCFpbkdsb2JhbFRvdWNoICYmIGluTG9jYWxUb3VjaCkgewogICAgICAgICAgICAgICAgaW5Mb2NhbFRvdWNoID0gZmFsc2U7CgogICAgICAgICAgICAgICAgaWYgKGkuc2V0dGluZ3Muc3dpcGVFYXNpbmcpIHsKICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApOwogICAgICAgICAgICAgICAgICAgIGVhc2luZ0xvb3AgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5zdGFuY2VzLmdldChlbGVtZW50KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChlYXNpbmdMb29wKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzcGVlZC54ICYmICFzcGVlZC55KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGVhc2luZ0xvb3ApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoc3BlZWQueCkgPCAwLjAxICYmIE1hdGguYWJzKHNwZWVkLnkpIDwgMC4wMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChlYXNpbmdMb29wKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlUb3VjaE1vdmUoc3BlZWQueCAqIDMwLCBzcGVlZC55ICogMzApOwoKICAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQueCAqPSAwLjg7CiAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkLnkgKj0gMC44OwogICAgICAgICAgICAgICAgICAgIH0sIDEwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKHN1cHBvcnRzVG91Y2gpIHsKICAgICAgICAgICAgaS5ldmVudC5iaW5kKHdpbmRvdywgJ3RvdWNoc3RhcnQnLCBnbG9iYWxUb3VjaFN0YXJ0KTsKICAgICAgICAgICAgaS5ldmVudC5iaW5kKHdpbmRvdywgJ3RvdWNoZW5kJywgZ2xvYmFsVG91Y2hFbmQpOwogICAgICAgICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3RvdWNoc3RhcnQnLCB0b3VjaFN0YXJ0KTsKICAgICAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICd0b3VjaG1vdmUnLCB0b3VjaE1vdmUpOwogICAgICAgICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ3RvdWNoZW5kJywgdG91Y2hFbmQpOwogICAgICAgIH0gZWxzZSBpZiAoc3VwcG9ydHNJZVBvaW50ZXIpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5Qb2ludGVyRXZlbnQpIHsKICAgICAgICAgICAgICAgIGkuZXZlbnQuYmluZCh3aW5kb3csICdwb2ludGVyZG93bicsIGdsb2JhbFRvdWNoU3RhcnQpOwogICAgICAgICAgICAgICAgaS5ldmVudC5iaW5kKHdpbmRvdywgJ3BvaW50ZXJ1cCcsIGdsb2JhbFRvdWNoRW5kKTsKICAgICAgICAgICAgICAgIGkuZXZlbnQuYmluZChlbGVtZW50LCAncG9pbnRlcmRvd24nLCB0b3VjaFN0YXJ0KTsKICAgICAgICAgICAgICAgIGkuZXZlbnQuYmluZChlbGVtZW50LCAncG9pbnRlcm1vdmUnLCB0b3VjaE1vdmUpOwogICAgICAgICAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdwb2ludGVydXAnLCB0b3VjaEVuZCk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAod2luZG93Lk1TUG9pbnRlckV2ZW50KSB7CiAgICAgICAgICAgICAgICBpLmV2ZW50LmJpbmQod2luZG93LCAnTVNQb2ludGVyRG93bicsIGdsb2JhbFRvdWNoU3RhcnQpOwogICAgICAgICAgICAgICAgaS5ldmVudC5iaW5kKHdpbmRvdywgJ01TUG9pbnRlclVwJywgZ2xvYmFsVG91Y2hFbmQpOwogICAgICAgICAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJEb3duJywgdG91Y2hTdGFydCk7CiAgICAgICAgICAgICAgICBpLmV2ZW50LmJpbmQoZWxlbWVudCwgJ01TUG9pbnRlck1vdmUnLCB0b3VjaE1vdmUpOwogICAgICAgICAgICAgICAgaS5ldmVudC5iaW5kKGVsZW1lbnQsICdNU1BvaW50ZXJVcCcsIHRvdWNoRW5kKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgaWYgKCFfLmVudi5zdXBwb3J0c1RvdWNoICYmICFfLmVudi5zdXBwb3J0c0llUG9pbnRlcikgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgaSA9IGluc3RhbmNlcy5nZXQoZWxlbWVudCk7CiAgICAgICAgYmluZFRvdWNoSGFuZGxlcihlbGVtZW50LCBpLCBfLmVudi5zdXBwb3J0c1RvdWNoLCBfLmVudi5zdXBwb3J0c0llUG9pbnRlcik7CiAgICB9OwoKfSx7Ii4uLy4uL2xpYi9oZWxwZXIiOjYsIi4uL2luc3RhbmNlcyI6MTgsIi4uL3VwZGF0ZS1nZW9tZXRyeSI6MTksIi4uL3VwZGF0ZS1zY3JvbGwiOjIwfV0sMTc6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBfID0gcmVxdWlyZSgnLi4vbGliL2hlbHBlcicpOwogICAgdmFyIGNscyA9IHJlcXVpcmUoJy4uL2xpYi9jbGFzcycpOwogICAgdmFyIGluc3RhbmNlcyA9IHJlcXVpcmUoJy4vaW5zdGFuY2VzJyk7CiAgICB2YXIgdXBkYXRlR2VvbWV0cnkgPSByZXF1aXJlKCcuL3VwZGF0ZS1nZW9tZXRyeScpOwoKLy8gSGFuZGxlcnMKICAgIHZhciBoYW5kbGVycyA9IHsKICAgICAgICAnY2xpY2stcmFpbCc6IHJlcXVpcmUoJy4vaGFuZGxlci9jbGljay1yYWlsJyksCiAgICAgICAgJ2RyYWctc2Nyb2xsYmFyJzogcmVxdWlyZSgnLi9oYW5kbGVyL2RyYWctc2Nyb2xsYmFyJyksCiAgICAgICAgJ2tleWJvYXJkJzogcmVxdWlyZSgnLi9oYW5kbGVyL2tleWJvYXJkJyksCiAgICAgICAgJ3doZWVsJzogcmVxdWlyZSgnLi9oYW5kbGVyL21vdXNlLXdoZWVsJyksCiAgICAgICAgJ3RvdWNoJzogcmVxdWlyZSgnLi9oYW5kbGVyL3RvdWNoJyksCiAgICAgICAgJ3NlbGVjdGlvbic6IHJlcXVpcmUoJy4vaGFuZGxlci9zZWxlY3Rpb24nKQogICAgfTsKICAgIHZhciBuYXRpdmVTY3JvbGxIYW5kbGVyID0gcmVxdWlyZSgnLi9oYW5kbGVyL25hdGl2ZS1zY3JvbGwnKTsKCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50LCB1c2VyU2V0dGluZ3MpIHsKICAgICAgICB1c2VyU2V0dGluZ3MgPSB0eXBlb2YgdXNlclNldHRpbmdzID09PSAnb2JqZWN0JyA/IHVzZXJTZXR0aW5ncyA6IHt9OwoKICAgICAgICBjbHMuYWRkKGVsZW1lbnQsICdwcycpOwoKICAgICAgICAvLyBDcmVhdGUgYSBwbHVnaW4gaW5zdGFuY2UuCiAgICAgICAgdmFyIGkgPSBpbnN0YW5jZXMuYWRkKGVsZW1lbnQpOwoKICAgICAgICBpLnNldHRpbmdzID0gXy5leHRlbmQoaS5zZXR0aW5ncywgdXNlclNldHRpbmdzKTsKICAgICAgICBjbHMuYWRkKGVsZW1lbnQsICdwcy0tdGhlbWVfJyArIGkuc2V0dGluZ3MudGhlbWUpOwoKICAgICAgICBpLnNldHRpbmdzLmhhbmRsZXJzLmZvckVhY2goZnVuY3Rpb24gKGhhbmRsZXJOYW1lKSB7CiAgICAgICAgICAgIGhhbmRsZXJzW2hhbmRsZXJOYW1lXShlbGVtZW50KTsKICAgICAgICB9KTsKCiAgICAgICAgbmF0aXZlU2Nyb2xsSGFuZGxlcihlbGVtZW50KTsKCiAgICAgICAgdXBkYXRlR2VvbWV0cnkoZWxlbWVudCk7CiAgICB9OwoKfSx7Ii4uL2xpYi9jbGFzcyI6MiwiLi4vbGliL2hlbHBlciI6NiwiLi9oYW5kbGVyL2NsaWNrLXJhaWwiOjEwLCIuL2hhbmRsZXIvZHJhZy1zY3JvbGxiYXIiOjExLCIuL2hhbmRsZXIva2V5Ym9hcmQiOjEyLCIuL2hhbmRsZXIvbW91c2Utd2hlZWwiOjEzLCIuL2hhbmRsZXIvbmF0aXZlLXNjcm9sbCI6MTQsIi4vaGFuZGxlci9zZWxlY3Rpb24iOjE1LCIuL2hhbmRsZXIvdG91Y2giOjE2LCIuL2luc3RhbmNlcyI6MTgsIi4vdXBkYXRlLWdlb21ldHJ5IjoxOX1dLDE4OltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgXyA9IHJlcXVpcmUoJy4uL2xpYi9oZWxwZXInKTsKICAgIHZhciBjbHMgPSByZXF1aXJlKCcuLi9saWIvY2xhc3MnKTsKICAgIHZhciBkZWZhdWx0U2V0dGluZ3MgPSByZXF1aXJlKCcuL2RlZmF1bHQtc2V0dGluZycpOwogICAgdmFyIGRvbSA9IHJlcXVpcmUoJy4uL2xpYi9kb20nKTsKICAgIHZhciBFdmVudE1hbmFnZXIgPSByZXF1aXJlKCcuLi9saWIvZXZlbnQtbWFuYWdlcicpOwogICAgdmFyIGd1aWQgPSByZXF1aXJlKCcuLi9saWIvZ3VpZCcpOwoKICAgIHZhciBpbnN0YW5jZXMgPSB7fTsKCiAgICBmdW5jdGlvbiBJbnN0YW5jZShlbGVtZW50KSB7CiAgICAgICAgdmFyIGkgPSB0aGlzOwoKICAgICAgICBpLnNldHRpbmdzID0gXy5jbG9uZShkZWZhdWx0U2V0dGluZ3MpOwogICAgICAgIGkuY29udGFpbmVyV2lkdGggPSBudWxsOwogICAgICAgIGkuY29udGFpbmVySGVpZ2h0ID0gbnVsbDsKICAgICAgICBpLmNvbnRlbnRXaWR0aCA9IG51bGw7CiAgICAgICAgaS5jb250ZW50SGVpZ2h0ID0gbnVsbDsKCiAgICAgICAgaS5pc1J0bCA9IGRvbS5jc3MoZWxlbWVudCwgJ2RpcmVjdGlvbicpID09PSAicnRsIjsKICAgICAgICBpLmlzTmVnYXRpdmVTY3JvbGwgPSAoZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgb3JpZ2luYWxTY3JvbGxMZWZ0ID0gZWxlbWVudC5zY3JvbGxMZWZ0OwogICAgICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDsKICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gLTE7CiAgICAgICAgICAgIHJlc3VsdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdCA8IDA7CiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IG9yaWdpbmFsU2Nyb2xsTGVmdDsKICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICB9KSgpOwogICAgICAgIGkubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ID0gaS5pc05lZ2F0aXZlU2Nyb2xsID8gZWxlbWVudC5zY3JvbGxXaWR0aCAtIGVsZW1lbnQuY2xpZW50V2lkdGggOiAwOwogICAgICAgIGkuZXZlbnQgPSBuZXcgRXZlbnRNYW5hZ2VyKCk7CiAgICAgICAgaS5vd25lckRvY3VtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50OwoKICAgICAgICBmdW5jdGlvbiBmb2N1cygpIHsKICAgICAgICAgICAgY2xzLmFkZChlbGVtZW50LCAncHMtLWZvY3VzJyk7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBibHVyKCkgewogICAgICAgICAgICBjbHMucmVtb3ZlKGVsZW1lbnQsICdwcy0tZm9jdXMnKTsKICAgICAgICB9CgogICAgICAgIGkuc2Nyb2xsYmFyWFJhaWwgPSBkb20uYXBwZW5kVG8oZG9tLmUoJ2RpdicsICdwc19fc2Nyb2xsYmFyLXgtcmFpbCcpLCBlbGVtZW50KTsKICAgICAgICBpLnNjcm9sbGJhclggPSBkb20uYXBwZW5kVG8oZG9tLmUoJ2RpdicsICdwc19fc2Nyb2xsYmFyLXgnKSwgaS5zY3JvbGxiYXJYUmFpbCk7CiAgICAgICAgaS5zY3JvbGxiYXJYLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAwKTsKICAgICAgICBpLmV2ZW50LmJpbmQoaS5zY3JvbGxiYXJYLCAnZm9jdXMnLCBmb2N1cyk7CiAgICAgICAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWCwgJ2JsdXInLCBibHVyKTsKICAgICAgICBpLnNjcm9sbGJhclhBY3RpdmUgPSBudWxsOwogICAgICAgIGkuc2Nyb2xsYmFyWFdpZHRoID0gbnVsbDsKICAgICAgICBpLnNjcm9sbGJhclhMZWZ0ID0gbnVsbDsKICAgICAgICBpLnNjcm9sbGJhclhCb3R0b20gPSBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2JvdHRvbScpKTsKICAgICAgICBpLmlzU2Nyb2xsYmFyWFVzaW5nQm90dG9tID0gaS5zY3JvbGxiYXJYQm90dG9tID09PSBpLnNjcm9sbGJhclhCb3R0b207IC8vICFpc05hTgogICAgICAgIGkuc2Nyb2xsYmFyWFRvcCA9IGkuaXNTY3JvbGxiYXJYVXNpbmdCb3R0b20gPyBudWxsIDogXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWFJhaWwsICd0b3AnKSk7CiAgICAgICAgaS5yYWlsQm9yZGVyWFdpZHRoID0gXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWFJhaWwsICdib3JkZXJMZWZ0V2lkdGgnKSkgKyBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2JvcmRlclJpZ2h0V2lkdGgnKSk7CiAgICAgICAgLy8gU2V0IHJhaWwgdG8gZGlzcGxheTpibG9jayB0byBjYWxjdWxhdGUgbWFyZ2lucwogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2Rpc3BsYXknLCAnYmxvY2snKTsKICAgICAgICBpLnJhaWxYTWFyZ2luV2lkdGggPSBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ21hcmdpbkxlZnQnKSkgKyBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ21hcmdpblJpZ2h0JykpOwogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2Rpc3BsYXknLCAnJyk7CiAgICAgICAgaS5yYWlsWFdpZHRoID0gbnVsbDsKICAgICAgICBpLnJhaWxYUmF0aW8gPSBudWxsOwoKICAgICAgICBpLnNjcm9sbGJhcllSYWlsID0gZG9tLmFwcGVuZFRvKGRvbS5lKCdkaXYnLCAncHNfX3Njcm9sbGJhci15LXJhaWwnKSwgZWxlbWVudCk7CiAgICAgICAgaS5zY3JvbGxiYXJZID0gZG9tLmFwcGVuZFRvKGRvbS5lKCdkaXYnLCAncHNfX3Njcm9sbGJhci15JyksIGkuc2Nyb2xsYmFyWVJhaWwpOwogICAgICAgIGkuc2Nyb2xsYmFyWS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgMCk7CiAgICAgICAgaS5ldmVudC5iaW5kKGkuc2Nyb2xsYmFyWSwgJ2ZvY3VzJywgZm9jdXMpOwogICAgICAgIGkuZXZlbnQuYmluZChpLnNjcm9sbGJhclksICdibHVyJywgYmx1cik7CiAgICAgICAgaS5zY3JvbGxiYXJZQWN0aXZlID0gbnVsbDsKICAgICAgICBpLnNjcm9sbGJhcllIZWlnaHQgPSBudWxsOwogICAgICAgIGkuc2Nyb2xsYmFyWVRvcCA9IG51bGw7CiAgICAgICAgaS5zY3JvbGxiYXJZUmlnaHQgPSBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ3JpZ2h0JykpOwogICAgICAgIGkuaXNTY3JvbGxiYXJZVXNpbmdSaWdodCA9IGkuc2Nyb2xsYmFyWVJpZ2h0ID09PSBpLnNjcm9sbGJhcllSaWdodDsgLy8gIWlzTmFOCiAgICAgICAgaS5zY3JvbGxiYXJZTGVmdCA9IGkuaXNTY3JvbGxiYXJZVXNpbmdSaWdodCA/IG51bGwgOiBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ2xlZnQnKSk7CiAgICAgICAgaS5zY3JvbGxiYXJZT3V0ZXJXaWR0aCA9IGkuaXNSdGwgPyBfLm91dGVyV2lkdGgoaS5zY3JvbGxiYXJZKSA6IG51bGw7CiAgICAgICAgaS5yYWlsQm9yZGVyWVdpZHRoID0gXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWVJhaWwsICdib3JkZXJUb3BXaWR0aCcpKSArIF8udG9JbnQoZG9tLmNzcyhpLnNjcm9sbGJhcllSYWlsLCAnYm9yZGVyQm90dG9tV2lkdGgnKSk7CiAgICAgICAgZG9tLmNzcyhpLnNjcm9sbGJhcllSYWlsLCAnZGlzcGxheScsICdibG9jaycpOwogICAgICAgIGkucmFpbFlNYXJnaW5IZWlnaHQgPSBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ21hcmdpblRvcCcpKSArIF8udG9JbnQoZG9tLmNzcyhpLnNjcm9sbGJhcllSYWlsLCAnbWFyZ2luQm90dG9tJykpOwogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ2Rpc3BsYXknLCAnJyk7CiAgICAgICAgaS5yYWlsWUhlaWdodCA9IG51bGw7CiAgICAgICAgaS5yYWlsWVJhdGlvID0gbnVsbDsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRJZChlbGVtZW50KSB7CiAgICAgICAgcmV0dXJuIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBzLWlkJyk7CiAgICB9CgogICAgZnVuY3Rpb24gc2V0SWQoZWxlbWVudCwgaWQpIHsKICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1wcy1pZCcsIGlkKTsKICAgIH0KCiAgICBmdW5jdGlvbiByZW1vdmVJZChlbGVtZW50KSB7CiAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtcHMtaWQnKTsKICAgIH0KCiAgICBleHBvcnRzLmFkZCA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgdmFyIG5ld0lkID0gZ3VpZCgpOwogICAgICAgIHNldElkKGVsZW1lbnQsIG5ld0lkKTsKICAgICAgICBpbnN0YW5jZXNbbmV3SWRdID0gbmV3IEluc3RhbmNlKGVsZW1lbnQpOwogICAgICAgIHJldHVybiBpbnN0YW5jZXNbbmV3SWRdOwogICAgfTsKCiAgICBleHBvcnRzLnJlbW92ZSA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgZGVsZXRlIGluc3RhbmNlc1tnZXRJZChlbGVtZW50KV07CiAgICAgICAgcmVtb3ZlSWQoZWxlbWVudCk7CiAgICB9OwoKICAgIGV4cG9ydHMuZ2V0ID0gZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2VzW2dldElkKGVsZW1lbnQpXTsKICAgIH07Cgp9LHsiLi4vbGliL2NsYXNzIjoyLCIuLi9saWIvZG9tIjozLCIuLi9saWIvZXZlbnQtbWFuYWdlciI6NCwiLi4vbGliL2d1aWQiOjUsIi4uL2xpYi9oZWxwZXIiOjYsIi4vZGVmYXVsdC1zZXR0aW5nIjo4fV0sMTk6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIHZhciBfID0gcmVxdWlyZSgnLi4vbGliL2hlbHBlcicpOwogICAgdmFyIGNscyA9IHJlcXVpcmUoJy4uL2xpYi9jbGFzcycpOwogICAgdmFyIGRvbSA9IHJlcXVpcmUoJy4uL2xpYi9kb20nKTsKICAgIHZhciBpbnN0YW5jZXMgPSByZXF1aXJlKCcuL2luc3RhbmNlcycpOwogICAgdmFyIHVwZGF0ZVNjcm9sbCA9IHJlcXVpcmUoJy4vdXBkYXRlLXNjcm9sbCcpOwoKICAgIGZ1bmN0aW9uIGdldFRodW1iU2l6ZShpLCB0aHVtYlNpemUpIHsKICAgICAgICBpZiAoaS5zZXR0aW5ncy5taW5TY3JvbGxiYXJMZW5ndGgpIHsKICAgICAgICAgICAgdGh1bWJTaXplID0gTWF0aC5tYXgodGh1bWJTaXplLCBpLnNldHRpbmdzLm1pblNjcm9sbGJhckxlbmd0aCk7CiAgICAgICAgfQogICAgICAgIGlmIChpLnNldHRpbmdzLm1heFNjcm9sbGJhckxlbmd0aCkgewogICAgICAgICAgICB0aHVtYlNpemUgPSBNYXRoLm1pbih0aHVtYlNpemUsIGkuc2V0dGluZ3MubWF4U2Nyb2xsYmFyTGVuZ3RoKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRodW1iU2l6ZTsKICAgIH0KCiAgICBmdW5jdGlvbiB1cGRhdGVDc3MoZWxlbWVudCwgaSkgewogICAgICAgIHZhciB4UmFpbE9mZnNldCA9IHt3aWR0aDogaS5yYWlsWFdpZHRofTsKICAgICAgICBpZiAoaS5pc1J0bCkgewogICAgICAgICAgICB4UmFpbE9mZnNldC5sZWZ0ID0gaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgKyBlbGVtZW50LnNjcm9sbExlZnQgKyBpLmNvbnRhaW5lcldpZHRoIC0gaS5jb250ZW50V2lkdGg7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgeFJhaWxPZmZzZXQubGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDsKICAgICAgICB9CiAgICAgICAgaWYgKGkuaXNTY3JvbGxiYXJYVXNpbmdCb3R0b20pIHsKICAgICAgICAgICAgeFJhaWxPZmZzZXQuYm90dG9tID0gaS5zY3JvbGxiYXJYQm90dG9tIC0gZWxlbWVudC5zY3JvbGxUb3A7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgeFJhaWxPZmZzZXQudG9wID0gaS5zY3JvbGxiYXJYVG9wICsgZWxlbWVudC5zY3JvbGxUb3A7CiAgICAgICAgfQogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgeFJhaWxPZmZzZXQpOwoKICAgICAgICB2YXIgeVJhaWxPZmZzZXQgPSB7dG9wOiBlbGVtZW50LnNjcm9sbFRvcCwgaGVpZ2h0OiBpLnJhaWxZSGVpZ2h0fTsKICAgICAgICBpZiAoaS5pc1Njcm9sbGJhcllVc2luZ1JpZ2h0KSB7CiAgICAgICAgICAgIGlmIChpLmlzUnRsKSB7CiAgICAgICAgICAgICAgICB5UmFpbE9mZnNldC5yaWdodCA9IGkuY29udGVudFdpZHRoIC0gKGkubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ICsgZWxlbWVudC5zY3JvbGxMZWZ0KSAtIGkuc2Nyb2xsYmFyWVJpZ2h0IC0gaS5zY3JvbGxiYXJZT3V0ZXJXaWR0aDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHlSYWlsT2Zmc2V0LnJpZ2h0ID0gaS5zY3JvbGxiYXJZUmlnaHQgLSBlbGVtZW50LnNjcm9sbExlZnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoaS5pc1J0bCkgewogICAgICAgICAgICAgICAgeVJhaWxPZmZzZXQubGVmdCA9IGkubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ICsgZWxlbWVudC5zY3JvbGxMZWZ0ICsgaS5jb250YWluZXJXaWR0aCAqIDIgLSBpLmNvbnRlbnRXaWR0aCAtIGkuc2Nyb2xsYmFyWUxlZnQgLSBpLnNjcm9sbGJhcllPdXRlcldpZHRoOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgeVJhaWxPZmZzZXQubGVmdCA9IGkuc2Nyb2xsYmFyWUxlZnQgKyBlbGVtZW50LnNjcm9sbExlZnQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZG9tLmNzcyhpLnNjcm9sbGJhcllSYWlsLCB5UmFpbE9mZnNldCk7CgogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYLCB7bGVmdDogaS5zY3JvbGxiYXJYTGVmdCwgd2lkdGg6IGkuc2Nyb2xsYmFyWFdpZHRoIC0gaS5yYWlsQm9yZGVyWFdpZHRofSk7CiAgICAgICAgZG9tLmNzcyhpLnNjcm9sbGJhclksIHt0b3A6IGkuc2Nyb2xsYmFyWVRvcCwgaGVpZ2h0OiBpLnNjcm9sbGJhcllIZWlnaHQgLSBpLnJhaWxCb3JkZXJZV2lkdGh9KTsKICAgIH0KCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgdmFyIGkgPSBpbnN0YW5jZXMuZ2V0KGVsZW1lbnQpOwoKICAgICAgICBpLmNvbnRhaW5lcldpZHRoID0gZWxlbWVudC5jbGllbnRXaWR0aDsKICAgICAgICBpLmNvbnRhaW5lckhlaWdodCA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0OwogICAgICAgIGkuY29udGVudFdpZHRoID0gZWxlbWVudC5zY3JvbGxXaWR0aDsKICAgICAgICBpLmNvbnRlbnRIZWlnaHQgPSBlbGVtZW50LnNjcm9sbEhlaWdodDsKCiAgICAgICAgdmFyIGV4aXN0aW5nUmFpbHM7CiAgICAgICAgaWYgKCFlbGVtZW50LmNvbnRhaW5zKGkuc2Nyb2xsYmFyWFJhaWwpKSB7CiAgICAgICAgICAgIGV4aXN0aW5nUmFpbHMgPSBkb20ucXVlcnlDaGlsZHJlbihlbGVtZW50LCAnLnBzX19zY3JvbGxiYXIteC1yYWlsJyk7CiAgICAgICAgICAgIGlmIChleGlzdGluZ1JhaWxzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIGV4aXN0aW5nUmFpbHMuZm9yRWFjaChmdW5jdGlvbiAocmFpbCkgewogICAgICAgICAgICAgICAgICAgIGRvbS5yZW1vdmUocmFpbCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkb20uYXBwZW5kVG8oaS5zY3JvbGxiYXJYUmFpbCwgZWxlbWVudCk7CiAgICAgICAgfQogICAgICAgIGlmICghZWxlbWVudC5jb250YWlucyhpLnNjcm9sbGJhcllSYWlsKSkgewogICAgICAgICAgICBleGlzdGluZ1JhaWxzID0gZG9tLnF1ZXJ5Q2hpbGRyZW4oZWxlbWVudCwgJy5wc19fc2Nyb2xsYmFyLXktcmFpbCcpOwogICAgICAgICAgICBpZiAoZXhpc3RpbmdSYWlscy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICBleGlzdGluZ1JhaWxzLmZvckVhY2goZnVuY3Rpb24gKHJhaWwpIHsKICAgICAgICAgICAgICAgICAgICBkb20ucmVtb3ZlKHJhaWwpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZG9tLmFwcGVuZFRvKGkuc2Nyb2xsYmFyWVJhaWwsIGVsZW1lbnQpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCFpLnNldHRpbmdzLnN1cHByZXNzU2Nyb2xsWCAmJiBpLmNvbnRhaW5lcldpZHRoICsgaS5zZXR0aW5ncy5zY3JvbGxYTWFyZ2luT2Zmc2V0IDwgaS5jb250ZW50V2lkdGgpIHsKICAgICAgICAgICAgaS5zY3JvbGxiYXJYQWN0aXZlID0gdHJ1ZTsKICAgICAgICAgICAgaS5yYWlsWFdpZHRoID0gaS5jb250YWluZXJXaWR0aCAtIGkucmFpbFhNYXJnaW5XaWR0aDsKICAgICAgICAgICAgaS5yYWlsWFJhdGlvID0gaS5jb250YWluZXJXaWR0aCAvIGkucmFpbFhXaWR0aDsKICAgICAgICAgICAgaS5zY3JvbGxiYXJYV2lkdGggPSBnZXRUaHVtYlNpemUoaSwgXy50b0ludChpLnJhaWxYV2lkdGggKiBpLmNvbnRhaW5lcldpZHRoIC8gaS5jb250ZW50V2lkdGgpKTsKICAgICAgICAgICAgaS5zY3JvbGxiYXJYTGVmdCA9IF8udG9JbnQoKGkubmVnYXRpdmVTY3JvbGxBZGp1c3RtZW50ICsgZWxlbWVudC5zY3JvbGxMZWZ0KSAqIChpLnJhaWxYV2lkdGggLSBpLnNjcm9sbGJhclhXaWR0aCkgLyAoaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoKSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgaS5zY3JvbGxiYXJYQWN0aXZlID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoIWkuc2V0dGluZ3Muc3VwcHJlc3NTY3JvbGxZICYmIGkuY29udGFpbmVySGVpZ2h0ICsgaS5zZXR0aW5ncy5zY3JvbGxZTWFyZ2luT2Zmc2V0IDwgaS5jb250ZW50SGVpZ2h0KSB7CiAgICAgICAgICAgIGkuc2Nyb2xsYmFyWUFjdGl2ZSA9IHRydWU7CiAgICAgICAgICAgIGkucmFpbFlIZWlnaHQgPSBpLmNvbnRhaW5lckhlaWdodCAtIGkucmFpbFlNYXJnaW5IZWlnaHQ7CiAgICAgICAgICAgIGkucmFpbFlSYXRpbyA9IGkuY29udGFpbmVySGVpZ2h0IC8gaS5yYWlsWUhlaWdodDsKICAgICAgICAgICAgaS5zY3JvbGxiYXJZSGVpZ2h0ID0gZ2V0VGh1bWJTaXplKGksIF8udG9JbnQoaS5yYWlsWUhlaWdodCAqIGkuY29udGFpbmVySGVpZ2h0IC8gaS5jb250ZW50SGVpZ2h0KSk7CiAgICAgICAgICAgIGkuc2Nyb2xsYmFyWVRvcCA9IF8udG9JbnQoZWxlbWVudC5zY3JvbGxUb3AgKiAoaS5yYWlsWUhlaWdodCAtIGkuc2Nyb2xsYmFyWUhlaWdodCkgLyAoaS5jb250ZW50SGVpZ2h0IC0gaS5jb250YWluZXJIZWlnaHQpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpLnNjcm9sbGJhcllBY3RpdmUgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIGlmIChpLnNjcm9sbGJhclhMZWZ0ID49IGkucmFpbFhXaWR0aCAtIGkuc2Nyb2xsYmFyWFdpZHRoKSB7CiAgICAgICAgICAgIGkuc2Nyb2xsYmFyWExlZnQgPSBpLnJhaWxYV2lkdGggLSBpLnNjcm9sbGJhclhXaWR0aDsKICAgICAgICB9CiAgICAgICAgaWYgKGkuc2Nyb2xsYmFyWVRvcCA+PSBpLnJhaWxZSGVpZ2h0IC0gaS5zY3JvbGxiYXJZSGVpZ2h0KSB7CiAgICAgICAgICAgIGkuc2Nyb2xsYmFyWVRvcCA9IGkucmFpbFlIZWlnaHQgLSBpLnNjcm9sbGJhcllIZWlnaHQ7CiAgICAgICAgfQoKICAgICAgICB1cGRhdGVDc3MoZWxlbWVudCwgaSk7CgogICAgICAgIGlmIChpLnNjcm9sbGJhclhBY3RpdmUpIHsKICAgICAgICAgICAgY2xzLmFkZChlbGVtZW50LCAncHMtLWFjdGl2ZS14Jyk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY2xzLnJlbW92ZShlbGVtZW50LCAncHMtLWFjdGl2ZS14Jyk7CiAgICAgICAgICAgIGkuc2Nyb2xsYmFyWFdpZHRoID0gMDsKICAgICAgICAgICAgaS5zY3JvbGxiYXJYTGVmdCA9IDA7CiAgICAgICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAnbGVmdCcsIDApOwogICAgICAgIH0KICAgICAgICBpZiAoaS5zY3JvbGxiYXJZQWN0aXZlKSB7CiAgICAgICAgICAgIGNscy5hZGQoZWxlbWVudCwgJ3BzLS1hY3RpdmUteScpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNscy5yZW1vdmUoZWxlbWVudCwgJ3BzLS1hY3RpdmUteScpOwogICAgICAgICAgICBpLnNjcm9sbGJhcllIZWlnaHQgPSAwOwogICAgICAgICAgICBpLnNjcm9sbGJhcllUb3AgPSAwOwogICAgICAgICAgICB1cGRhdGVTY3JvbGwoZWxlbWVudCwgJ3RvcCcsIDApOwogICAgICAgIH0KICAgIH07Cgp9LHsiLi4vbGliL2NsYXNzIjoyLCIuLi9saWIvZG9tIjozLCIuLi9saWIvaGVscGVyIjo2LCIuL2luc3RhbmNlcyI6MTgsIi4vdXBkYXRlLXNjcm9sbCI6MjB9XSwyMDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7CiAgICAndXNlIHN0cmljdCc7CgogICAgdmFyIGluc3RhbmNlcyA9IHJlcXVpcmUoJy4vaW5zdGFuY2VzJyk7CgogICAgdmFyIGNyZWF0ZURPTUV2ZW50ID0gZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKICAgICAgICBldmVudC5pbml0RXZlbnQobmFtZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgcmV0dXJuIGV2ZW50OwogICAgfTsKCiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChlbGVtZW50LCBheGlzLCB2YWx1ZSkgewogICAgICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdGhyb3cgJ1lvdSBtdXN0IHByb3ZpZGUgYW4gZWxlbWVudCB0byB0aGUgdXBkYXRlLXNjcm9sbCBmdW5jdGlvbic7CiAgICAgICAgfQoKICAgICAgICBpZiAodHlwZW9mIGF4aXMgPT09ICd1bmRlZmluZWQnKSB7CiAgICAgICAgICAgIHRocm93ICdZb3UgbXVzdCBwcm92aWRlIGFuIGF4aXMgdG8gdGhlIHVwZGF0ZS1zY3JvbGwgZnVuY3Rpb24nOwogICAgICAgIH0KCiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgdGhyb3cgJ1lvdSBtdXN0IHByb3ZpZGUgYSB2YWx1ZSB0byB0aGUgdXBkYXRlLXNjcm9sbCBmdW5jdGlvbic7CiAgICAgICAgfQoKICAgICAgICBpZiAoYXhpcyA9PT0gJ3RvcCcgJiYgdmFsdWUgPD0gMCkgewogICAgICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IHZhbHVlID0gMDsgLy8gZG9uJ3QgYWxsb3cgbmVnYXRpdmUgc2Nyb2xsCiAgICAgICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVET01FdmVudCgncHMteS1yZWFjaC1zdGFydCcpKTsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAnbGVmdCcgJiYgdmFsdWUgPD0gMCkgewogICAgICAgICAgICBlbGVtZW50LnNjcm9sbExlZnQgPSB2YWx1ZSA9IDA7IC8vIGRvbid0IGFsbG93IG5lZ2F0aXZlIHNjcm9sbAogICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoY3JlYXRlRE9NRXZlbnQoJ3BzLXgtcmVhY2gtc3RhcnQnKSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgaSA9IGluc3RhbmNlcy5nZXQoZWxlbWVudCk7CgogICAgICAgIGlmIChheGlzID09PSAndG9wJyAmJiB2YWx1ZSA+PSBpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodCkgewogICAgICAgICAgICAvLyBkb24ndCBhbGxvdyBzY3JvbGwgcGFzdCBjb250YWluZXIKICAgICAgICAgICAgdmFsdWUgPSBpLmNvbnRlbnRIZWlnaHQgLSBpLmNvbnRhaW5lckhlaWdodDsKICAgICAgICAgICAgaWYgKHZhbHVlIC0gZWxlbWVudC5zY3JvbGxUb3AgPD0gMSkgewogICAgICAgICAgICAgICAgLy8gbWl0aWdhdGVzIHJvdW5kaW5nIGVycm9ycyBvbiBub24tc3VicGl4ZWwgc2Nyb2xsIHZhbHVlcwogICAgICAgICAgICAgICAgdmFsdWUgPSBlbGVtZW50LnNjcm9sbFRvcDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZURPTUV2ZW50KCdwcy15LXJlYWNoLWVuZCcpKTsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAnbGVmdCcgJiYgdmFsdWUgPj0gaS5jb250ZW50V2lkdGggLSBpLmNvbnRhaW5lcldpZHRoKSB7CiAgICAgICAgICAgIC8vIGRvbid0IGFsbG93IHNjcm9sbCBwYXN0IGNvbnRhaW5lcgogICAgICAgICAgICB2YWx1ZSA9IGkuY29udGVudFdpZHRoIC0gaS5jb250YWluZXJXaWR0aDsKICAgICAgICAgICAgaWYgKHZhbHVlIC0gZWxlbWVudC5zY3JvbGxMZWZ0IDw9IDEpIHsKICAgICAgICAgICAgICAgIC8vIG1pdGlnYXRlcyByb3VuZGluZyBlcnJvcnMgb24gbm9uLXN1YnBpeGVsIHNjcm9sbCB2YWx1ZXMKICAgICAgICAgICAgICAgIHZhbHVlID0gZWxlbWVudC5zY3JvbGxMZWZ0OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZURPTUV2ZW50KCdwcy14LXJlYWNoLWVuZCcpKTsKICAgICAgICB9CgogICAgICAgIGlmIChpLmxhc3RUb3AgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBpLmxhc3RUb3AgPSBlbGVtZW50LnNjcm9sbFRvcDsKICAgICAgICB9CgogICAgICAgIGlmIChpLmxhc3RMZWZ0ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgaS5sYXN0TGVmdCA9IGVsZW1lbnQuc2Nyb2xsTGVmdDsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAndG9wJyAmJiB2YWx1ZSA8IGkubGFzdFRvcCkgewogICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoY3JlYXRlRE9NRXZlbnQoJ3BzLXNjcm9sbC11cCcpKTsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAndG9wJyAmJiB2YWx1ZSA+IGkubGFzdFRvcCkgewogICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoY3JlYXRlRE9NRXZlbnQoJ3BzLXNjcm9sbC1kb3duJykpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGF4aXMgPT09ICdsZWZ0JyAmJiB2YWx1ZSA8IGkubGFzdExlZnQpIHsKICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZURPTUV2ZW50KCdwcy1zY3JvbGwtbGVmdCcpKTsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAnbGVmdCcgJiYgdmFsdWUgPiBpLmxhc3RMZWZ0KSB7CiAgICAgICAgICAgIGVsZW1lbnQuZGlzcGF0Y2hFdmVudChjcmVhdGVET01FdmVudCgncHMtc2Nyb2xsLXJpZ2h0JykpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGF4aXMgPT09ICd0b3AnICYmIHZhbHVlICE9PSBpLmxhc3RUb3ApIHsKICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBpLmxhc3RUb3AgPSB2YWx1ZTsKICAgICAgICAgICAgZWxlbWVudC5kaXNwYXRjaEV2ZW50KGNyZWF0ZURPTUV2ZW50KCdwcy1zY3JvbGwteScpKTsKICAgICAgICB9CgogICAgICAgIGlmIChheGlzID09PSAnbGVmdCcgJiYgdmFsdWUgIT09IGkubGFzdExlZnQpIHsKICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxMZWZ0ID0gaS5sYXN0TGVmdCA9IHZhbHVlOwogICAgICAgICAgICBlbGVtZW50LmRpc3BhdGNoRXZlbnQoY3JlYXRlRE9NRXZlbnQoJ3BzLXNjcm9sbC14JykpOwogICAgICAgIH0KCiAgICB9OwoKfSx7Ii4vaW5zdGFuY2VzIjoxOH1dLDIxOltmdW5jdGlvbihyZXF1aXJlLG1vZHVsZSxleHBvcnRzKXsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICB2YXIgXyA9IHJlcXVpcmUoJy4uL2xpYi9oZWxwZXInKTsKICAgIHZhciBkb20gPSByZXF1aXJlKCcuLi9saWIvZG9tJyk7CiAgICB2YXIgaW5zdGFuY2VzID0gcmVxdWlyZSgnLi9pbnN0YW5jZXMnKTsKICAgIHZhciB1cGRhdGVHZW9tZXRyeSA9IHJlcXVpcmUoJy4vdXBkYXRlLWdlb21ldHJ5Jyk7CiAgICB2YXIgdXBkYXRlU2Nyb2xsID0gcmVxdWlyZSgnLi91cGRhdGUtc2Nyb2xsJyk7CgogICAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgIHZhciBpID0gaW5zdGFuY2VzLmdldChlbGVtZW50KTsKCiAgICAgICAgaWYgKCFpKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIC8vIFJlY2FsY3VhdGUgbmVnYXRpdmUgc2Nyb2xsTGVmdCBhZGp1c3RtZW50CiAgICAgICAgaS5uZWdhdGl2ZVNjcm9sbEFkanVzdG1lbnQgPSBpLmlzTmVnYXRpdmVTY3JvbGwgPyBlbGVtZW50LnNjcm9sbFdpZHRoIC0gZWxlbWVudC5jbGllbnRXaWR0aCA6IDA7CgogICAgICAgIC8vIFJlY2FsY3VsYXRlIHJhaWwgbWFyZ2lucwogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2Rpc3BsYXknLCAnYmxvY2snKTsKICAgICAgICBkb20uY3NzKGkuc2Nyb2xsYmFyWVJhaWwsICdkaXNwbGF5JywgJ2Jsb2NrJyk7CiAgICAgICAgaS5yYWlsWE1hcmdpbldpZHRoID0gXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWFJhaWwsICdtYXJnaW5MZWZ0JykpICsgXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWFJhaWwsICdtYXJnaW5SaWdodCcpKTsKICAgICAgICBpLnJhaWxZTWFyZ2luSGVpZ2h0ID0gXy50b0ludChkb20uY3NzKGkuc2Nyb2xsYmFyWVJhaWwsICdtYXJnaW5Ub3AnKSkgKyBfLnRvSW50KGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ21hcmdpbkJvdHRvbScpKTsKCiAgICAgICAgLy8gSGlkZSBzY3JvbGxiYXJzIG5vdCB0byBhZmZlY3Qgc2Nyb2xsV2lkdGggYW5kIHNjcm9sbEhlaWdodAogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2Rpc3BsYXknLCAnbm9uZScpOwogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJZUmFpbCwgJ2Rpc3BsYXknLCAnbm9uZScpOwoKICAgICAgICB1cGRhdGVHZW9tZXRyeShlbGVtZW50KTsKCiAgICAgICAgLy8gVXBkYXRlIHRvcC9sZWZ0IHNjcm9sbCB0byB0cmlnZ2VyIGV2ZW50cwogICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAndG9wJywgZWxlbWVudC5zY3JvbGxUb3ApOwogICAgICAgIHVwZGF0ZVNjcm9sbChlbGVtZW50LCAnbGVmdCcsIGVsZW1lbnQuc2Nyb2xsTGVmdCk7CgogICAgICAgIGRvbS5jc3MoaS5zY3JvbGxiYXJYUmFpbCwgJ2Rpc3BsYXknLCAnJyk7CiAgICAgICAgZG9tLmNzcyhpLnNjcm9sbGJhcllSYWlsLCAnZGlzcGxheScsICcnKTsKICAgIH07Cgp9LHsiLi4vbGliL2RvbSI6MywiLi4vbGliL2hlbHBlciI6NiwiLi9pbnN0YW5jZXMiOjE4LCIuL3VwZGF0ZS1nZW9tZXRyeSI6MTksIi4vdXBkYXRlLXNjcm9sbCI6MjB9XX0se30sWzFdKTs="}},"time_used":85,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":49,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"plus.unsplash.com/premium_photo-1661371241897-3202947ace30?fm=jpg\u0026q=60\u0026w=3000\u0026ixlib=rb-4.0.3\u0026ixid=M3wxMjA3fDB8MHxzZWFyY2h8OXx8dHJhZGluZ3xlbnwwfHwwfHx8MA%3D%3D","fqdn":"plus.unsplash.com","domain":"unsplash.com","tld":"com"},"ip":{"addr":"151.101.2.208","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.428Z","timestamp":1785139582428,"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":"plus.unsplash.com","organization":""},"issuer":{"commonName":"Certainly Intermediate R1","organization":"Certainly"},"validity":{"start":"Tue, 14 Jul 2026 23:53:03 GMT","end":"Thu, 13 Aug 2026 23:53:02 GMT"},"fingerprint":{"sha1":"5A:87:87:55:33:04:CA:87:49:4B:F8:CE:75:9F:56:81:63:7E:99:D8","sha256":"74:2A:B5:9E:BA:99:17:2F:3D:05:4B:5A:7A:B7:66:A9:B0:FB:19:4F:84:41:B8:4A:FA:18:D7:94:2A:BD:A4:07"}}},"request":{"raw":"GET /premium_photo-1661371241897-3202947ace30?fm=jpg\u0026q=60\u0026w=3000\u0026ixlib=rb-4.0.3\u0026ixid=M3wxMjA3fDB8MHxzZWFyY2h8OXx8dHJhZGluZ3xlbnwwfHwwfHx8MA%3D%3D HTTP/1.1\r\nHost: plus.unsplash.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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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\nx-imgix-id: 8f9f411f2fe3d5619fc70d46342844c348f0861d\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 10 Jul 2026 05:23:25 GMT\r\nserver: imgix\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nage: 1478577\r\naccept-ranges: bytes\r\ncontent-type: image/jpeg\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nx-served-by: cache-fra-eddf8230090-FRA, cache-bma-essb1270074-BMA\r\nx-cache: HIT, HIT\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 376156\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":376156,"size_decoded":376762,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.02, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 3000x1687, components 3","md5":"8668527c509c6dba723fe028645efb32","sha1":"a7cd40731a024b4c55efbda2a2313a3e372b03bf","sha256":"e408e3e68d06dc40ab0cd185bb35a88c815c44dfd1665be7fb509bd6abe8893d","sha512":"10fb4a188f8db64e8160ee100aa8b885f98eb034a6eaf91f8979e6c554d6b37747e0af840270dd800ebb23c7340489596c7f1ccde7ba1efe8f19c890933a048c","ssdeep":"6144:6sHaQIeThhbaLKukRbpdKeuBf61YNU+0ej87URhsdoKqc4rJI5v3MM:6s6QI0hhba/kdTh12pfj0UR+4JI5/MM","tlshash":"ec842340fb407710d1c87b3830d91ba75797ee2a75969a8f966fda005b1c2f98bcc4c6","first_seen":"2026-07-27T05:09:49.573505Z","last_seen":"2026-07-27T08:08:22.710834Z","times_seen":3,"resource_available":false,"data":"/9j/4AAQSkZJRgABAgEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////2wBDAAYEBAUEBAYFBQUGBgYHCQ4JCQgICRINDQoOFRIWFhUSFBQXGiEcFxgfGRQUHScdHyIjJSUlFhwpLCgkKyEkJST/2wBDAQYGBgkICREJCREkGBQYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCT/wgARCAaXC7gDASIAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAAAAECAwQFBgcI/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECAwQFBv/aAAwDAQACEQMRAAAB7bHcgANMAKYmDTgYhgDEw63J6yaMezGirtrFJTAAaEbOhg3y3ANgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFNAAAA67K4iCza01NAKJtFMQTi4oW0XF7T6ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAENCTQQnCHZXYMCo03U5hXZWtaaCMoywTSOUZGiyuyybToAGgAAAAQwEAAgBQAAAJoWXVljJKMlAAYAAAAAAhiAAASasAAAEACYJNAmhJohGUZRpjAAAGFgwAAAY5RmDAE0AAJoGAMBMEGnYAAMAAQwQ0CYIAQwTAAAAAAAAAAAAAAAAFJCABNAAIaBMENAmCGgABMEDEAJgIaBNAAJgAAgBJgkwipKkmgTQhoQAgDOBNDTAGAFDAYEAMAAaYdfkddLsmrKhXZSSnCYCYJxN2zHsXQ6pyyEKxMAQwFAAAAEMAAAEwAAAAAAAAAAAAAAAAAAAABDAAEMAAAAAAAAAIpqQE7QAdVlcJCza01NAiJuLoaCUXBkuourS09wAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAAAAAAAAECBNBCcIdldiMTtjRfTmFVla1gCTiRTUOUZGiyu2yTToBggAEMEDRYAACGAAACYJoWTXkjLJNQAYAAAAAAJoBAAWAAJoAATQJgkwSaEpRIRkpVJMAYAADsBMAAaZKUZDAAAQIaaGAMTACxjETAAAAAAABDQJggAAAAAABgAAIAYhgAAmCABNAmCABMEACGIAAATBDBAAmCGERgkwQAAANAmgTQAgi1STQACTQJoADOgmhpg0wAAAJIGJgxDBEuryesluXVmkee7NV867AQAnE37MWxbpRkAEoAFdlRISHJRJOASEiwrS2lbCyATlRMsAUAAAAAAAAACIIQmMSJIROKByrYyLHZGJKVFpIAAAAAAimpBMAC2uLjEEOK4pZ1OKksnCSDrkSrnGw0ZrTZOi/cAAAAAAAAAAACsQSQEkkMSiQRLIpVODmNQiXkJgAAAAAAAAABXZWSrnATQJEYldVJJIVrz205jrsgKKgtsWiCCHZXYaLK7LJNOgGIaCq2onBxHJRsJQYxwJoiTEEZoJOpksmvHLQ0waYAAAAAACjKIgLAENAMTE4sQApCBwkA0JNFalGUYAwAAAdkZJkRg0mTcZjIsBAIYpIHKuwAYAWDTQAAABghhBoUTAQhoBgAIGmDEiZGSAAAAAAAACGgjKIRlFQABNE0KAklFxGDGkiYmIaAAEwQAgAACMojTiDIgAIcRxlEE1SGgQhpgkwzNE0wAYABQMgBibCMgBNi7PH7SSybMiLNoymicJgmCjKJv15NZdJNROI3EJRblhJglIIKwISYQJhBsAYKSYIYmIYgkRCREWREJCYQmCGKlIIwtBDCDkEJMEwEwAAAAAAEJBICBgCz6aljGcYojMzutyCQwhIaKM4ItFF9aZJ7gAAAAAAAAAAARJEIYRJBVKYRUwiplIYRJEAAAAAAFAAAAAABVKSkiporjbEhfGYlMtqo005iquqIJpUnEgmolbVbV9kJpJp0ADQBGSISZYlIIKwIOQRUwiSBKQIaI49mKWlpg0wAAAAAACE0IZZEbIxmCGERhFsEpIQ0CaEnEimpQGAAAA07CMmIYJSAkTBSCDYRJITAGAwYhlgAgDEwAAABKQRbQozCBNCJIQ2RbBDBDQAAAA0AAAAmgTRFsIjBDCEmhKQJSCLAEwBoABAAmCGgAEDEpIi5ISkiJIINhGMwgpKojBJhEYJMMwiaYAxMAKYAMIYANMQAdvid1Hk15Ehm0ZV1SjJGAEJwN+vLpNDTmiMo2IBG4tZASoCgAYgaCEBTEEhEMAAAAAAAABDEwAAAGgYCsRDEDEDAtAAAAAAATREakQAxMKraRRlHNqQTaAJgA0I67K7C+i81SjLcAAAAAAIAAAAAAAAAQMTACgAAAAgAAAAAAoAAAAAAEmpBNChOJKcJjAtrqtqzCqysggVRlAgBErqbqvnCxG06AAABBYAAAAAAAAAAAAmiGLbilqYA0wAAYIaAaBNABYJghggATBAAmgTQJoUZRIpqUYAAAANOxiYAA0yUoyGACaBNAAMGAMALBpoAAAAMQ0A0CYIAAAAAAAYgAABME0wTAQAACaBNAAAAJoABAAAIAYmAAgAABMEAIaAAABMBDQhoQ0CaIqcaQ0CcRAyLAyoJpgDEwaKBgA4GIbiwBh3eF3kMezGlOTTlXdOE0Bgoyib9ObQaWnNEWiI1YAExOVAUAkYgYgYgAQ3EJOLJCcoAJiGAIaAAGgYgbjIAJWmCGCGAAAAJoYmAAJoSaEAMAKLqIcJRlqBTQIWwBE0wrsrsNGe81yjLcAUMABA0MTQMQNAAEAyk0QADA0AAAACEEYkQZIHQBQAAAAAAJNSCaFCcCdldgAW1021ZhXZUQAVRlEggJX0XpfOExtOgAAQAWAAAAAAAAAAAAJohh24pa2mDTAAaYIYIaBBYAAAAIAAAENAmgAEAKE4EU1KwYJghoGFjEwABpkpKQAAAIAQMGmMAALBpoAAxAwEwAAQAJoAAAAAAAAAAEwAAQAAAAJoABDQAAgAAQ0AAJoGmAIYAJggBDQACGCAAAE0CaBAIYIcRDVJNAmgQjMmTQ0DExgqGANOGAAAAw7/B76Rx7MSZ82nMu6cJowBRlE6GjPoL5JzSjJESSENDaYCBpoAQNMAATQhqiSCQiJEWMQMTAAAAiRJEGTlCUshCyEUwAAAAAATUgBTAgi0EWgABpiouohwnBahGdJoW1AgJjrsqsd9F5scZbiGQJghghoAAAgAAAAAAE0xgUAUAABCjNCbAAoAAAAAAAASZIkAoTgTsrsAC2qqyuQqsriAAoTgVOMlnfRoS6cJ02mAAILAAAAAAAAAAAAAAQFeLbhiDGoADTAAABACAsAAAAAQAAAmgBAAIAUJwIgSjQMEAFjAGADQNpkpRkNMEAIAAAaYxNACwYA0wAAAAAABNAmCBgmCYCGCAAAAAAAEAAAAmgABMEACYIaBMEMENCYAAAAKSENAmgGgAEAA0CYJNAmCAEmqQ0IaENERhkAmhpgANAMChhAxDEwAJd/wA/30WLZjTNnvoXdKMkbQEZROjoz6C8CaABAAAJgAmAFJSSICUaLGmSiYRYAAA0MTBoGkWSSFcWQpOQNjSGCYAmCYCYAAEWkYgYAKUYSaAAAZHPozxKucJahOai0FgANOx1W1Dvz6DXKMtwAQAgAtAAAAAEwQwEwQyEMACgAAAAAAAAAAAAAAAAAESagQChOBZOEwAtprsrkVdlcRQCrsrKpRktl9F6XThOm0wEDQWAAAAJgAAAAAAAAgCvDuwxFoVgAwAAEAAWIGIYIAAAEAACaAAQ0CaFCcCIEo0wQUNNBpgAAA2mSlGQwATQhoAEYANFjAGADAAAAAAAATBAAAAAAAmCBiGgAAAQ0MAQAJgmIBoABDQAgAAAAAQAAAAAAmgGgAEAJgAAhoQAJoQ0JMpACTQJoEwxjU00MAYmnQAAwGnAAAA+/wADvpDJryJkpsrl3SjKxggTidLTm1FqlGaAQwAAAYIAGmJMsSaE0IxNQHKhgAAAAAKSpDSAA2pSyacoBaAAAAAAAAAARkpEMpMIE0JNCYA0yOfRnh121S1ATUWmWCBidjrsqHoz6DXKMtZAKAIAAAAAAAEwAAAAAAtAAAAAAAEwAAAAAAAAAAAkSaEAKE4Fk4TAFbTCcJFVbURTSqucCqcJxZfRoS6UZU2mICwAAAQAAAMAAAABDQAAV4N2ETCUGAACYICwAAAE0AAAAmCAEAAAJgk0KE4kBkoAICwaYMAAAaCSZNqQDQJoE0ACMAGnYAwAGmAANNAMEAAAgAAAAAAAAAEwQMQMQAACGCGgABNAACaAAQAAACAAAYhghoABDBACGgAAAEwSaBMECGmhJqkpRBNCAMgE0xMGAmimKQJgNOAAACXf4HoEqya8iYYyjLuadjAEmHQ1ZtBemppJoHCQxMAAAAAEFgMliSVkWAxKWQpCAAAAiTBiUo0gYTjKJASgFoAAAAAAAACYIJEMAAERGmgEiQBHPozxKq2pahEoJy2EXY3GQ6rah6M+g1yhLeWghiBgARYxAwiMaAAGgYAAAAAACBoQxBIC0AAABMAAEwAkSAQIUZRLJwmCaKYSjCpuppISqE6yqyuyS2+jQWyi6kJgBYEZACAAABiBoAaAAAAAiQw7cQASsTAABwGBYhgnFEgAAAAABDQCAABACaFGUSIEoAICxgDAGmCGA0ycoyAGJNAmgaYCaMTsGANAxMGAAhgAmCABMEwAAAAAAAQIYAgYhoAYgAEAAAAIATAQAAIaBMENAxDABAAACYgAQwABMEAJACaAAE0JNUJoQIBhiGpoGhgDQDaKaZADAEMAn6DgegSjNpzJzkEu1p2DERaZv1ZtC3wcJZoiJtEnALhAxMABAWNxcrTBJoVdlQ3FjaBpAxMJVyG4SFKUB20WlgEoBaAAAAAAAAV2QCMZKRxcSaUgiICIDrnYW1ylhW4xKq2paQJQi5bALG4yHXZUS05tKW2VvUaJBEiTQDcUSUZEoNjIotddgAAAAAxA0AAgi4goskDtHEBxY04FkSJNKwIkJLSMhJoUJwLZwmCaKIyjCptqqNdkB0W1LVdCUk9ObQWTi6kkrLEQJDCcCJaAAAAAAAAAAAFVtJDHqywpCVRhMcSRCTYnAFOis50dHm49pf8APu1L6gw5NZ7SxX1a6mWCYJoBAmgSYKEoAglYITTsTTHJAShIYASiycoyGmgTQJoAEjKLAHTQiQmNxYOLGhg0iThNAAQ0AAAAAAAJhABRMAEg0DTiSi0rTYhJJiYJoEwQMEAJoAAjKI0AmIHEGCGhEk4jUkSiImJiGhACABNAmhJqkpRBAqGjIwlEwAYAABQwhoYmAOLLPQef9AmfNpzJzZxsl0zTsBhAkG/Vn0FkZRmmiYiwWssCssCssCssRWrRKnNrByEgSCEbUVk0RbAhMBMEwFJFkkiVuAWuqcsgLQAAAAAAAAjICMlIlJCGxKUSKkrIsAaZCi+jNlTdStIEqcWWNMJRkOqyslpzak0jNQABMISkERghghghgAAAAACBiBiATBMkQky0AEwK7ABMBMAAE1IgBJojGUbLZwnKRlEoTURqtqEmiELKqhZXZFl1WgnJOmDsQwQwE0AAAAAAAAAAAARkijJrygjPLmxw5Gb2Dz1uddmHHqOzdxsp36/OwTp14Zlu7i6zqvBjs6C50V9vLwmlPokuZ0t5koupIkRTYhojCyBFSJUMENWJsBgJgAASjIlJMYAk0CYIBAZYMAGCbAGCYAMEMEAA0AAhoAAGCBgAJSQJghhCTBKQJSQiSEpIQ0CYIYIAE0AAhoAZFsENCTZFjEmAmAmCAATBCAAQ0CaEwEmiI1SAEpIyATQAMAAAAoacAMAAAJ+h896FM+bTmTnW0Xy6mpWAITTOjfReTTU07K7JZAWgAAAAAAAAAAAAAACYJSJIqUSI4I1CVSi6yRVEtjSkv0YtRoAbAAAAAAAAAAE1IACYCTQk1YgAaCNF1Oa6bqVpAlTjItTAaY6rKyerLrTS0agAAAwATBAAAAAAAAAAJggAAAGMC0AAAAAAAAAAABNSIAUWhRastnCcpGUShBEarahJojXZXVdldhdfRoibCm07AAAATQAAAAAAAAAIYIAyE8PB5ONeuycjsWeeopz5s40151qWWMuuqkstriwlAE4qtFIkCATSkX+o8jbX0G3ga9Z6d3NK6cubtLitWWQIjESsAALAAYAAAAEoyJtMYAk0ACIBGBTAGAMAGmAAwAAAAEwQwQAAAAAMQAACGCGCGAmgABNAAIAQ0AAJggBAAAAAAAmgBDQxAAgGIGmhAAACaBNAmgAEmhJqkNAmjIBNDQMAAAB0AiQnCYAAWeh8/wCgTNm0Z05mjNpl0sLGgFKMzfdTcTSjNTspnLbKoW0qC0qC0qC0rCwrCwgEyJUhAxAxAyIOJGQrlAgSLCE0V12xShzgWacuo0ShKaYFoAAAAAAAAJkgAABGM4BGUbBoAAhTbTmypvzlQEsZQktoCNxkFdlS2a8myzQBYAAAMAE0AAAAmAAAAAAAAIAAaYwLQAAAAAAAAAAAE1IgCKasimi6UZSkZQKAIjVbVSTRGuyohbVaW6M+gnKMrGAAAACGgAAAAAAAQMrrjRDhYZrqYOTnip01ZvWw40KFMZZRUVBiRJQBRRMkWOvQjNdbOqwikb8thpWaVXbuWo79HGlXalwL831W7yV9nsjxvU09BLPOy0ixgWDTAABghoJJk2pAAJMECZAKYMGmDQMAGmDAAAAAAAATBAAADAAAABMEAAAAAmgAEAAAgATBAAAIAE0AAAAACYIAABACGAIGgBMEAIAE0CaBNAmCTCI1STDG05pMAAAaAapiYNOAAACz0Pn/AECZc+jOnK1ZNkukHYgBThYbrarhVWxzqyxWLEmLAmECYVlgVqwK1aFRYECaRKaIkkRbBKQRUggrArLBKlcFC0BmjrFyX2gSixuDJkAmRCZAWZF0wAAAAABQlGQjKNgAApFVVtObLPozlYEsJRktoCEoyCq2sntxbavAsAQwAaBoAAAAAAAAQMAAATQAA0xgWgAAAAAAAAAAAJqRAhILIpoulGUpCcCgTiNVtNCaI1W1ELarS3RRek5RlTAAAABAAAAAAAnzI1QlWVeO3cnGrNmUo5+mnNyQ11ZtMLYFcJRqKIjSEkkK5qZOeV2aJZXV0KIpOMCWdYIOst0OiQW54JphBnR2cDXL6OnF0qxelx8NPcvz3otRtLUm4TGmgYAmgkpEpRkAAgESasABgwaYAwBgADTAAYAhggAAAAAABiAAAAATBDQAAmCGhAxDQJoABAxAAmgABNAAAAACAAAE0AAhghoABDQgATQIBDQIZEaBNCTVZAc0mAAwABMAAGIYMQBd3+B6BMmfRnTk68e2XSBYAyNldptvpvUcpZ0SGoAAAAUAAAAECYIYIYIYIYJSCJIIkgiphEkESQRJBEkECYQJBAkECYQJAmhJkWNCJEQkRYQkqSaQAFKMiqm2rNlnvzkEEsZwms2hHKEwrsrJ7sW2rWFgmgABotYAASAAAAAAAmIYgBIaiicqmWuuRITtAAAAAAAAAAE1Ik0RAsiAWyjKUhOspE4hVbTTi0Kq2ojZXbFt9F9k5RlTAAAAATQAAAAAuB2eHGSHNjz3swVwNBzKZdeSNZKpkQUlUWMUJCKTCKaocQRFjUQCKGCAQJOJOVdlViYOAlkZQOrZyNC7+35ms7ejl3nu5eR9brJIWpJpgACYKcZEpRkA0iTSIChpg0wYDAGAAAwAaYAAAJpiAAGAgYgYmIAAAEDQAAAAIYgQAAmCAAAQAhoAAAAAABAAmgABNAAAIBoABDQJoQAIAQACBNCApAzE05oAGmgBg0AAAAwABl/e4PeTHn0Z05G7Dvl0AWMAjbXabb6L5bJRc1MC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwQyEwpDCJIiJJJGMo2CaAAUoyKaras159GYrE1jOEosApzhMITrizdi22WgUJoABgAAAAAACGAAAACTiJKBKDjAoxLbM8zTZTdQBaAAAAAAAACakSaIgWQaZbKMpSuyopacldVtVA1Ua7apY2QmW30XpOUZUwAAAAQAAhiyGvP5PJi+s8z6Xx+pirhDl0spSh1qIVzRBWKoNgkwjIAi66aIoxIYkJoGhCaQ0IIyjRZVMScRxlFHZTIJlZqrhequx2G71njbI+mvFt64bixgAmBKMibTRpoSasQANMYA2mAMAYAADAAAAAAAABDBAAADQAAACAAAAATQAAAIaAAQAACABMEAAAAAACaAAQ0CYIaBNDTQACGhKSEmgAENANCTVRGCYGMamgAGIYAAA0A06AIADR3uH3UxZtFCcfo87pRcwoAFbTcbbqLpZyg5qxwIsKwsK1VxU1sIMkRCRGJYIGIpkJgAAAAAAAAAAAAACBkZAAAABEkAARJAAAAAAAAQjKKCaQAE0ymuUIlmvzy1gLGcJlgmOcJhXZSX7cW5JjKSYJgAACBiCSQMSJFYWCBiATRCLZCNgV13QiubdX202jAtAAAAAAAACMq5JIgMFZFplzRK6pRKQEhW1QmhVW1EbITLb6bickxgAACaAKCnNzeHjXruIYbILo8OX0HEpriNCrxqboROLiEWhCjUkANISIhFxsaASaHGQQHEGgIzQgmVplRcbCMZxEICLLJOuwjdUSknEstpmdv3fy72Nno5RlvIJgIHKMibTRoSEZKkCG0xgDaBtMGmAANMAAGgEDAAAAASkIaAEMAQwQAACAAABggABACGmCGgAERkCYIAAAAAAE0AAgBDBCYJxGAIAE0IEMQAIaAQIQFCGYxqaYAAACGAAACYNMARp7XG7CZc+iiTmb8O9bgLAAV1N5qupvllIlnQMIkgjVfUKMmQdkSASISJEQBTiCmgJ1yLSATdbJkAsIFTIMkRFkRYhVk4jBNVODiTEClCRGcJBMRGyu0AAAAAhGUWRNAAJgZB1Q82rNLWnFSddhY0IrKrhVzitu/DvHbVboAABAmCGESQRJBFTRQwErAgTgIYJWVhC2IoWySpWIlbXJZkQmQZMgEyDJEQkJoVW1jqAg2rK5wlFsoyUouoIpxRVWRpwnAlXZWKcZF19F5NpjAAAQAcHseHl09DjZ8XdzCpdGaClsrjKIOdQ64KLK4xpxiiEhKIiOIkaFYhoi0AgCyu0hGdaTdLqdlc5UmqSlEdc4JZXGRKqdKiZZEcC1IJijLfGIS7HG0p9F6Pl/Sbk5RLEpACZY00YgiBSFIU4yCddgNNBgDAAAYA0wAK2kNNiTiSTQwQJg4tiAHKMhDQAAAAAAAmCTQRAQ0JoE0wi0NOJJNiBEwAABAAAgAAIsAhOA0mRJQBxYCBxaGgBSiNCJAERlYwc0AADE0wAGhiAAAaA2dvi9pnDn0ZjmdLm9OLFKNMQLRn0Gq6m+WySlNANUNAMEAAAQmIAQACGCGCGCGCGCUgiSCJIIkgiSCJIIkkJgEZIbiEhAxA3EtkIGIGIGIqMWmRNAAJgZ4yhDy6c0sACq+q0mAOcJDqtqW/fh3pIDVAAAAAAAAAAAAAAAACEwAAAATIQwiSCKmECYQJhAkESQDBEmhJqxJoi1InNOVVW1FQnZXCcATRGq2oc4TLb6LybTGAIAM9HKl1eP7HnMauy3ZsW11VlkIwLq6mOLQhIcVMaI2iEEXBJISIFQCBNAgHFoEJKycaLKmTlW1nXJChKCOVc6lCUQcJBGQQcLBpSFKuwdlV8vrPR+A+hal8oy1kACUZEpJoDSJNUgAYwaYNMGAMAAGAAMAAABMENEZAAAAAmCGCAE0DQA0xDBAAAIYIAQ0CYRbQACGgAEMEMENAmCTBDBAAmgTQACBBGSBNCJIQA4tAAIYJMrEwmgYAIYAAAAA0A0DTNna4vaZw5tOWOZ1OV1ixBSAFpzajRpz6ZqxhNAFAAAAAAAAQAAAAAmAACGAmCGCGCGCGCGCGCGCGCGgGSIZSAUBiGCGCUkIYQTVyJoAAAM8JxhZdWVYgRC2q0kBa7KrUKrao0b+ftLRFrEDAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACRRlEE1Yk0QnCZa05VTdSVNOyuEkCaI1W1BOEy6+i8k0wColz8/MxqzLz9UZ+Nopzq3KRi3POsEojiMlCVYxyIyUFaChJI4WRK2RslEBNIaAAAEyMWkEK2LcUmlIAKUZIgwJwcRxUiThMgpwSQgcLqVudUzR735/2Y+huE+mQAJwmSaaNNIk1SABpjYDAGAMTAAGAAwAAAAQ00AAAAMEAAAJoEwAAAAAABDBDBDQhoEwSYIYIAEwQ0AAJoABDQACGgTQJggBAhNMSYCaEMECBoBMEBWMHNAmAAAAMEwENDAEAb+xx+wzhya8cvO63J6ySTKQAtWbUaNOfTNWANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmFaaZE0AAAGZNQsurIIRLG2q0kItLarUdNtUaN2HeSAAAQwAAAAABAxAxBIRTEDEKxAxAwAAoAAAAAAAAAAARRlGBNWJNEJwmWtOVU3UFbTsqTQJhCm6sJxkW303EmgOXp4ebh5pTz3txU0luWdcIUyqKATQwBSdyxjormqKdFFygLCMokZRjZOuQQUogIAAZFjjKARRYBEkRkRHEtinRCUSRGRGUZFTcEk0FkR1W5RHbmulqtijSQlH1XTw+3vLAonGRMGgmkipRoEDaY2mMAYANMAYAA0wAAAAQAAADTAAABAAmgAAYIGIaAYIYCaBMENCGgTBACAAAE0AAhoABDBAhoATQAhoBACABNAACEAAJhFhSAMbRNMAAYmAmIYmAAAACOh1+T12cGLbhlw9XmdNJIdIANeTWaNObTnU2m0AUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVppkjKIwAAMyCFk1ZSIDUbarZJJgWV2UVW1Rp3Yd5IC0AAAQwQwQwQwQwQwQwQAASJgAAAAAAAAABTEKxAxAwEUZRBNWJNEJwsLGnKqLqStosrTQAEKraiU4TLbqbiVU+NC4vQ4GN01wqxY1EQcIkpQCBJEWApFqy0S1460Z+nna5dGvLvjAiWDSSMbK7AiElFkVOIhoESSLiWxU4iEIDQwKU4ocZwE0xqVZOE4onGdIGJxmUkolkCRO2m2X13rvF+1skBqOUZkmmgmrIgCABpjaYxMYAwYAAAMAAAAAAEMTATAAAABAAAACGCYAAAwQwQwSkhDCIAgAQCAAAABAAAIAEwQAgQ0MQAJoQAhoQwQAhoEADBAgEVjYTQADTAAAAaAABgIaOl1eX1GcGDdgly9Lm9NG06QwWzHtLtObTnU2F0AAAAEAgYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWmmSMojAAAygRHLqykQFhdTdEgAsrspV2Vxq34d1MC0AAAAAAAAAAAAAAAAAAAIAAAoAgAEMBMBMEMEMABFGUQTViTRCyuwsacsaL6EgNVWmgAIVW1E5RmWXVWGbzHe4Gbr8t6Xy/PcK5Vylc4CQkE0CQEi9TSa8dZaVdnrGjZScjB1+ZvjjUo75CESiSKozjZFMBxYJCAIlFyqA0KMgg2qEwi0hoQDiScZDSklU4SqUJxJRACUSE4sNWTTL2Ponyf6fZraeo5wmSaaClGxJoQ0MGDTGJjaYNAwAABgAAAAAAAAAAAAAACAAAAAAYAwTGIYIYJSCKaEmhAgBAAAAIAGgAAEAAgBAACAAE0CAQ0AAkwE0IYJNUAACMiZNAAAwBiGAAAmAAIDqdPm9Jnn87o83Np6XO6NjadJpi24txbqzaZqYDQAAAAAmQmmAFAAAAAAAAQAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWmMqMojAAAyNOI5dWUiBLC6i8kAE4ToqtqNm7DuGBaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASKMogmrEmiFldpNpyxovosimFSaRoFhXZWTlGRa1KOVw+zxMawc/pc/G6IERKSEhIRAUi1Xrjrx2NBbnpK6uU1KudaYuZ1ebvlzYX0dOEURsbii2MJlamiA0IcUaCnODGnGhCCJaVvsGenHjfTrnU5wGDITTEBZEnEcXAsUok65hBCC+i2Lvf8Az/1a+ylXZvLnCZJpoJqxJoQA2mDTG0waYADAAAYAAAAAAAAAAAAAAAIBoAYmANMGMTbESCKYJNCi4hFxBAAIYgYAAAmCABNACGgENAmCAAQCAQAAAgENAmqQ0AIADIJzSkmAAAAwAABghggDq9HndFnn8vqcrNj0Ofv1JtAxMNuHcXac12dXCd0AAQmAAAABABQAAAAAAARJEJgJgAAQJgAJEiMgAAAAAAAAAAAAACEwISGCGnEiKLMotDFAsBGVxmV5dWWENSwvouGBYW1W1GuyuXbuxbQIO2QgYIYAEJgAAVlgAAAAAAAAAAAAACGRRMAAAEwISGCGQcji4jTViTRC2uwsAljRdRYk0VgAnWEJ1FsoSLZwkcnidvk89c3n6suN5YXQKVfUlcZxEyavTDTjpdphox3LIympNBKi6pM3P6GLfPBl2U9OGVW1axFTiIYIbIIESaAtNSuW/tanmp9DASpq6mdy75yPL9DvWeW0TfoeJ09Fz88q+geD9HhrE9cxzijjoopOMxV3Uk4TAZAlF2meRE0dXm2S/VpV27zKddhJp3ImhJoQA2mNwkNxY2gYAyMgAGESQAAxAAAAA05ZsCyuUIveQYITGSZBzCLkA4SpghiSCdcrUYkoxiSjCJaUyLCIScWSEDCJISGACAAQ0mIaAQNACYRAEAAIABDQJoE40wQJhkQTTBEhMQwYADQxADQ00dTpYtjODldXkZstmXXqSSkA0R3Yd0W6M+malGQ0Eo0EgiWIkAAAAAAAAAAAFdlQ0SIOQRTQ2pEGMhNMTkiu1TAAAAAAAAAAAArsjAFMIxmgTiRGmYNhCQxSJHPvquIZNeSEAsLqbgadhbXYRrsrl3bcexapxVBJkIzQAA2iI2EZMipsjYmAAAAAAAAAAEZBGKYiQQkBFqQQmgjNApSkrrujTGIk0RsrtJgSwoupsSYVAkK7IBRNDkCu2u+KOD1sMvnM3a4/PeSMq4IEajKuRC+N+dT0Rv597bq7M9XJMHAJ1yRlx7smueGu6rpworuq3iERJJwkTUUOM5WVu/p6zg71fl9T0Hm1HGmp2TUPU8bv8PZz48y9vdn06MdOVu1Yl73Gp9BcfOZSh6vm2xjfZGdDCcIl0SRFQsHXKBaoocYyNlUdJ9J1036kpwsG07kTQk0IQScGEqwk1IE2AwBsrk5EHJkCxlVjkQJhAmEHICcJeXtZXKUuC2MO/PQM684kWNMENAJkoyirjJDTklVGjISUILONcCyNUYusy2ml1yJyrmSaCUJIcVIiSRCQgBkYyAjJDTAjOIxoQAJoABDQJxGgohOIRYCaMwE0NMABgANDEwAAGIEdvVl1s8/kdfkZtuzLq1G1IABbcW8t059GdSAugAAAAAAAIAKAAAAAAAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAABKUUiAiTQDQ4ygZbK7Erya8ipNQrarQadOyu0hCcI3a8utQC0AAATAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAACSKasQAoyRG2q1JpqahRdTYDRUmrkTRGEoLZFkaLMuxcnM7OaPOYepmxvztOrPm1Pf07PN+g3djU8XR6rg8uxKRy9E3FzVjiyKcSREFn1U1gx9PNvjzqtuffHNXoq1mBJMxuldqRm9W86MvOyyxkPGh3EsbY7JvV2uR1vP7uLn7uHcx9PNtxvbWtMvne5nVvL857zzffw8WRDp57K27BEiMlEmAERkJQkSnEF2eF2o+nShPclZCaNhYJxCLgEMHEPUnj4R7Q8Hnr6Rf4P0Z3JY5miWVLreGJ0Dno6K54dAwTNhnsSyIrEosslB50Tg/J2uIlZs7j0ztlE9HGQCAhWIQYKwEAFACOLbiKIkVjB1qRSJXZ7jS4yknOuZNxkNpgACAE0CaAAEAACAATIgAmgAEmhMKEAIBDQ0BkAmmJgAMAGAAAwAAQ0drVm0s8/k9bl5turNq1CUZDQh78G8t05tOdsC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyikQESaGmkcJwXLZXYleTXkVJhG2u2AHRbXYQhOB0NWbTNAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkU1YgBRlFFbVaTTU1XVbVYJxSsCxDRCMkKSnLj22tZZbomHn9+MeZPQWnG3bbLKrJWnO8v63hce/Gr0UcPUmpS2EJKRlARGSyCZXXoac/P2MmscnDdn7eWNzj05yVNRpy1KW2LslqGy/qcno53q16J8vVhtefHXbwvQeb1i1cqWufa7XkO7nr1ub2ONnp0cW6O+flMHsOT08vnVvxdOEZwssglMU4MddlRKMoFxVYV9Pn9KPqU6rdyc4TSQFhFxIcnoeFI8yvmRpyv28vE9xtGrlWFhnqXTDOi0pZY6irFBkrKGaJZ3Jrv50k6l3GlXZOZoNM67fN1lF5MsevPt9PObrh0xfCmJoKpWTlRcTTQ2nAAgALHszW4IuE1CEoEYOMsrs9yapwmk5wmSkmNpgAJNAAAIAATQAgAExCGgTBACQUJgk0AAJoARlQ5oAGAMTGJg0wAAAFKJ29ObSzg53RxSvRVZYKHlY9a/BXHud3gOsvr9PmuznW0oa3FEi0rZMiVIixiBiBgABQAAAAAAAAAAAAAAAAAAAAAAAAQAUAAAAAAAACaSACJMQTQ4TguayuaVZdWZUmhXVWwDKLIWFcZwOhpzaZQC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSJBYgBRlFFbVcSTU1XVbVYKUUqGrENEYtDlCZfZVdKNNQYRUhBgqYGbjd/i8+nGy9Wjh6edKyrPRIUrTCEm1bARg4W+XS5A+3kk6+hbi1dKfLvz8nbyHDq35OnnhONlELYxtVnQz20dHndLn6Kawx0LMvLubsOyreMXWx9aa6fL187HXp349euZl11ax5vjei4HTzZLIS6cYMQwBKLIzqmSZAv6PO7Uv0S+Fm8ynCZIBlVzrrL8+938nKm/W5vS9DEmmwUrlCoEkRJIiSBCdMECYNhIwAApsInqxM6ccPTRxtXTNErXFcpFihZWQuptJgDacACAAqL6q5ULKpqEJ1yxhKCu6i81WVWM2ThMlJMbTAAQACAAEmCGERggBACGgTBACTVAAgATQACAMbFNMAYAMBiYADAGhiUkdvRn0M4MurJFkoSrN84+i/Os6ygtGANojRZjeW67mEdm/gOX0l/lA9jf4gPf6PnAfT9Hydn1+741I+zz+MWn2SXx+5frb+U3J9RPmt6/RDwNye4fjNC+rPN3ndOTbXRMc60mdl5VKpgUAAAAAAAAAAAAAAAAAnFIgIhCNNDrsrXNbXNmrNpzKlJKrqbgAHZXYQhOJ0NFF8oBaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJqSIFgmhRnBC2q1ZJqWuq2qxxlFK0yxKSIRnEU1IttrtlYCgwAABiADjdnn51ky9TjcuvOqtq4+mDlNYNpUnxmenwcJ28yI375Ubt+rl6Kb5z5+imdklqhsSef5/oub18/IslRvjeoWmnucT0HP0a4aK+fbBpz356cDk+i8x38m+G/q5683vZa+XatQ0tXbMenfJV3Z7nl+e9D5zr5szF04JCJQEhJBGUZFlGjMavS+Z9Ovv5J6kpwmkk0kYSprxnib6I3/T+L3M7GNRERJlJNCYCTjCaKkBQMAZIAUNSAThgD6HP3azrA1kBDFWWRyyzZy4d3l33HTf6sAO5AABKQnGuVRqyywrsrlrjKCu6i41W1WM2WV2E2pAxiTBJoGgEwQ0JpiTBAAgBNCGCHEE1QCAAAQJggDGJzTEEhMYgbTBpiaYMATindvovTBzujzMtNkJ6Y/nX0T53nWUHommMCAAJRIkIJCJWIGCGADiDcQtIBYVsk4hIiyRBkhOG4hbZnJdtvODr6fPuPW7PDh9Av+cs+l3/Lg+r3fIw+wz+O2V9gfyO4+rny+4+lnzq49+eGuPZnkLD1Z5q09BDhx1O6ca256ZzrK2rKzVXGsjPPMWedBYoiu6i4YmOyuwgmzdfTdNAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACakiBYJoITiitrsWScZYVW1WOMopWMsSYQTQSjMusrslbTUAAAGAABl1US4OB0uH5/VAhPn1tdmTWbOfy+drnfS6+vnkatuelPQhby9E7KrM9JzhbKTJqNyTJi6+DWeFm6lfTz8q1rfPf6Di93l6boWRz05clLHTN5fp0dvN6C2p8PXKGlGd2UVovz275aM1+O55HE7XP6+bnQ05t8YpuypjQi0NgWUWRW70fmfVnv2nqTlCaNNWR8b7H5Gc7p8722b6ZqU2wQk1QmhCQ0EJNEWokyDqx1SSwgyRFkhAwBsLDfh3Wak46yqVTFsYaiMrkY9MZy2tOwaBiYIKE0YMXQ561121Z1XCcAuptNdtNrNs4WEpRkNoAASYIaAECAABNAJoBoE0AIAKSYJSQhoE0CAARkSc0wBiCQA2gYgbTBphFpO7fRcmDjdfiZvVsqt1MHzr6L85zqgDUAFbiEhEMTAQMAZFxIRDE1YgGgYgkgJEWNoGJgANxYxBIQNoJkXEiLqREJkSJutrN1sm62TcAmRCZEJkQkkDEEp1MvnlE3vAG27mC9Jc4jqS5Qdi/gFeks8uHrtHime1t8Mz6nr+VdOPoZ4O09ueOtPWHmLa9EcK465zJHRObYbjJM0FEqtK3UyDJCBgABQAAAAAAAAAAAAAAAmpIgWCAIyihZXYsoyjLXCcLHCcEgDsSkiCaCSkW2V2StpqAxDAAAAM2nJL5rl9HD5fbXOXktY7fAF185CW+MfQunz7xmRz0snTZnVtlV03K2MpZzhKrBNCm9WcevdzN8+aa8nTzv0Xle1N+hVUuXoyF+Sb5a62ax2qzHWco1CxRr1jbfh1mydFjGXzPqOB048aG/V18/Py9Dm3ImrlDQ0IE0HvfDe1X2zT1JyhNGhWc34/7nxcP6r4T6FnYxqACUioqUagpKIhEahyjp87xXIZ97n8XOPXz8lrX1OzyZL7jX4L1VddhZITGwo6PP6FzpyyquJ6JO2LaBNFUoyLWmAAAAACaM3M63KK67K86rrsgqtpuNdlVrNltVhOUWOUWAAIQ0AkwQAJoAQAAJiGgQUJoQwQAJoE0CYJMMQE0ADcWMAYmMTG4sbiwBJ3rabE53D7XJzepbCepz/nH0b5xnVIGgJg0EknDEDEEmrStyCB7bo5vzg+hcKXzZbfZif0HzZwjp3Lxj0+eOCdjn2UGhFD20FJbWAMTQMQScQkMAnEAYmMQTIjirbZFiiQkTIBNwCZBkiITIhMiEnEJDiNsEKQmpCGSg0ElMi0DaCTgEyATIhJwcSIMsnQGqWMjfZzw6dnGZ3bfOM9Pb5MPZWeLinutHz1n0+75VbX1GXyy2vpz+aWH0d/PLD354W09qePtr1Z5m09CcKNd5cCbPbONKuucws6UcQbbMF5qjSSyhVGtEIQSwrlZIEQGgfI5Mezn5S+X0x5qR6Q83E9MeZD0x5hHqDyyPV4OFumuXyb/ACnPrRGyOuUdmbtZ6KWenn21UZatY0xdy3a6dHPtO2Fmek5wnLJplkq5WTrlXZlwdPhdOUsHR52+Ne3B0k7mzk9Pn6baNNcclRnntoioy24jNZXNz1l6qrc6utqmzGm2Os5OX0/Pb4ZqLIdfPAasBggQRk0s9J5/cv1WXjvWal865JIVNny7mQsl9n6bFtzptCyFKkMqMZRIxlEjVZ5KSfiUrlDSAwVsbzpbOPbnXS6vLlNe8v8AO9/UkWFnAWHgx7/p+P8AYWOdxrNgKmCGiBByaTaFYAAAACcSHL6nMM9dlc1XCyuWN1VhrtqsS2yuxJuLJNAAAmgTQACGgEAIAIjaQ0FNIGJDEAACTEAJiAAwiSycXDE1YIkIRgA01YmgnE704WSczk9Hk5125D3nnfOfofzrNgg0AAAViBgQ3Fl13c9DL4GXtsMcLXlwr38d1Mc2xSs9Nx8EJehq4yPby8Mz2fm+eq9NZ5Yj6hk8DKPcfP8ATkq76J837BrzYJS7tfI6VdDPqhHkoudnbw+x89LyDq3Vw7PYbTwOf6T87SkUam4Ik4BbWIGgYANAwAaYADALIqROMXEyLJRYSUGWRSJuATIpbYRCREiTiEiISIhMiEiISIhaQCZWE3WyZFEyDLFBkiAWOoJKISIhIiEiIkiJTEhpASgDshFLnQGq7AHUlyoHXjyg7D4pZ9G3c3qbzGNsSKlE8h4/2Hj+egRNAKG4gyIMiVKyiSS9n4zsy4NEIW0V2bk5e3P014yg5Z68vTmroxXPtdpy6M9LZQsz0lKDibhIslB2SzTz6zVztGXfGt35NYy7szuej2eF0c9upKmed4uL6bMcmzYNYy6uWEyyUvrnLOUBHBxsy8Hu4d8eHV0c/XzZXbVcwGqRORSXonbTrNH0r5n9Ms0tSsOF3fIWeN0Y+tm+/knNklIY3UJAkYziRhPOcT55rx3ImkEwGWRNzvWJruXJs9J6ez536DDypr6Dd5T0MWeS9nDUj0cm65kC1HC1ArEJECwzRjY6rKkJgAAAQkEOb0cJhhZXNVwsrljZCZrsquZslGwlJSEpoGAJoEwQIAAEACHCcRxTEpxqLAEwSkgUkCYRUkMAQBzwFbiEhOG4sbixuINoG0Ekmd+yuxONy+py8a7MoS3nk/O/oXzzNiC1ABRoViBtENxZ3e34hy+6o8YR0sVbPac/zRLfqwOy/NJCGCYDEEhIm62WOsLHUFrpZcUheUhe87NBnZe6Bdc8RHQy1MnFOmhibBEgiTZWWBWWMqdgVlgVuYQJhEkESQIYDTgABpgAMQNxYNAxOUAsGgYgYgYACJWIAAABiYAAJ2DQMiEiISIhIiiREJKIMRTEIyISIgxIkkDIg2mfSOlz+jvCGiEJxPG+Q9d5HnpNPOkAAgAQAgTCMkzeotbLLbZvL6jgEuPlfRvn1zbuw24633LXjorlPPVWRlLFsG0ExKxZ559YyvLu6ccjcjISLmG/FqXVr5enPXqmKua3wz251RHTDO80pg2wYCKMq7KoXVaxy8fVzb487PsydONc9EUousSkLbpefbdVrG/6R85+j6zplCdh83+k/J7OV6rzHtM69MJzTlGZIZYlJEFOJV5T1ny+zkpjMRoAZPZRpWcl0JavoWvp6yJrUr8H7xp8i6+3zXPp9A3/AD/1cvU2ZI6nXVb1iagqlEBQtkZ53SiEwoaYAgaYgAxbcycqFlc3XVbXLCyuZsupuZttqtJNMAAACMkCYIAE1QNQhqhMEACAABDQgATBJoEwQAAjnCFkJEnFjcWMTkYAxBIQMTPQ2V2HF5fUzZ1tklrPI+e++8BmoFqMQrEDEK2iGJjEDEwAAAlKEpUIhiYxAxBNCGIJkQmRCUq5EiATIMmQZMgFhEJEQkRY3FjFIBAwBgAAMBWIG0EiLJOdcMgVY6guKguKWXFIXOkLioLStlhD2UeQfpPPS1nosBzFf2q88bGYjvchKF1InNLrZchaWVK5FRalgWKIEnUCQkSSEMEAAAIQxFAIYgYhGgAAQIaEMQAglOu0+lb8W3eBMIQnA8Z5D1vkeehozoBDQACBNACDq1X12/N0XR1Y2jfb8t28LUdeHqY15DoF+da5p47yacrcJSySZJNii69R4deLWIVao6556lLWHEZFzypuu5Ul368m/PS9UasdWk87pU4q1KKCcEcJRuYQlXrMc19dzy6Ojh6cHVbRZbEaQ10WS7Q2Z6c/6P8AP/oHbzaWpayfHPsPxWyv6J86+k512HGU07K7SSZYhhGE6zP8i+p/KLkBIJgpxuNNxoas+kcj11yA9QBCjVXJp+e+7Uvybbs42enu+t899lLv6PP0bxqcqtZsVcJblmF1OqdzJwsAAAAAGgCi+pORVdVN1V2VyxnCRsupuZusrsJNMYAJgk0AIAKABDQhggQAAmAgEACAEwQAhoE0MSOYJqxMGgkIG0iTQSIuGJo3FnopxlHKnTesqrqk8/4L3PhZoA1kEDEKxNRohuLJEQkIGIGIJShOVCIYAAAMGpRAAGADAkpEUwAYAANE4tAAMTGIHKLATGIGJjcWMQMQNk5Y2VWJ3+R2eKuYRTcRJOIScWMiLMgyTgE3Bkurx3HSx0h3MnOZs7fmQ2dXzwes85mcvrMfCDp1Yoh6rymk9n4u/EgKyn1+Lrl9X57XyDubeNuOFltzWa9Wbd6cUdrnevzfCZ90fPqiv196+Hj63kpx11OTUlAJs3ds4T0GDTmEocLGLiMQAgHFjvz6U+mbMmveRAQhOB4nyPrPJ40AsaYgAAQAgAQdR49284Y9HFNelO5xOXojuydbWPK9bk787eXs8bHS5TMdIgK3FrKUGWCSSjCuyudlVlWcjvnnjZl1y0XZbFCyhNE6LlsZKa3rIZ675UXY6RhOE0yLRJpIQnHWFXZVZCq2tIZ76tZz1ajWM10iIk6y7Rlumuh7PwfsenHotPrwj8V+1fFLK/pvzD6djXWabTtqtJg7EpIjCcTkfKvq/wAouRMRMA15eit3W53sT1V4bywYJhW5oCqI/ln1DmHzXt8SfPp9Iv8AN+kOjSat4pLiq5NI4tCsrmMAAAAAAITinIo1ZpuquyuWEos2X59DN1lVhNpjAEACYIAEykmgGgTBAAIBNAAAIEwQAIBDQACTDlOLVkWMAbixuISEwaBiYTrsPRsWZx9OPVLZVbVZ5nxHtPFStBqAgYJWArEQ2gYgYgYgYA2mBFysThoBiZKLQADEEhBKVchiCREJOISIsmkiRFkiITIMlKuQyISEDcQk4sYgc62er9b8u3y9Xzlwdrh97gGYCwAGANgIAYAAwaYgAAViBtMQANAxBISJESJEWber5+5VVOpBoqREJXZ7JrVGyvHoVtZZVCVd4XdLj789b8duFPV5dPYvLxGP0HBs6+jr9LV8jh73A3nHCdeCTiNCGIBoHqy7E+mas2neRNEITgeE8t6jy/PSBTTQoYIAAQAgLOlyLbOth6/I099530fD8/trtzW53KtyOlw92BNjg87iDUGxSGhXNFVUpazVGqy5zUaqdc1XONkLM0rmwnUXOqQi0L51LPTqWc7XjvNRlnREQwVkYTVzGq2mymNkGa6bYazFNICVSINJX0Tlt6nIsPo5yOv6PGvi/wBq+N6zz/pHzf6BjXpHGTTtqsLQLBMIxnEx/HvtXx7WcoEgDH1uV2qt+heD+jL0WnrI0wBAgKnYyDYeK8h9g+Tyz9v8/wC/z37XfyulvMgNZRIEpRIW1WjEwAAAAATRzcXQwLVXbXnUADXozaUtsrtSTUqAATUAFCaBNAmgAAAQAJoAQAAmgTAQCABNAACEcoTUaBgDQDaYCCQgbix2VzPTRlDM4ezFulnVZTZ5XxnsPHytBqAIYANCgANNWMhDBDBMAYCaIYEDTUAJJxGJgADAJRkIQSIsbixiCaIkhA2gYmNxkITBoGIHKLGhEhAxMt1ZNUdrgd7gLSIsYmMQTEDIsbiEiLJOLAixiCREJSgxkQkRCRFmmzIS3UONjEFltdq1QlBAQSQhuLN9c6+fskRdzVVZVrzy05tGessevMnpu/h2Ofm+D2OLXt+ty+pL57heg4FmFxjrJW4jEACG4se7B0U+l6KL95E0QhKB4LzHpfNc9JOM0wIEACAEUAgnBHe6PlPqmpj4/c43n91GbTTjpV0eQaxfDPOXbKq7OmNqpSaQbZCEq7MrVWsTquouYqVVisKrIK/HcaJ4rkWmE1dMNJV0apzpYQnjrc4PG5A1E42EJQuYV2VWVwnBmEJQsiNWKLEQFNoLXXNdvvfm/pd8fUfJ/rPzXt5vJ+z8b6POvoDTlc4SNAnQAKMlZD5l9O8jZ4ACRMCXc4ndrV9F+dfRF6DT1kaYACiwxSKonry3lnlvVxr4/fO7G/W97yHdOycmOs9iHKgdSXHM3dHLs827tVVno5sDpAAAATDFzOry1rrsrzqtirXozaZLrK7UlKMqaAABDQJoQ0AIaAABAAmCBAAIABAAAmgTBAhoDjg1HFjExuLGIJIBiBiY512HqKracuB0edviym6hPI+R9X5RWg1AAAAAABSUWshEMQMQMQTIgxBIg5ZkSSTiFkSKycQkRCTiEpQkIQMTBoGASjKIMBiYDAakRBiYAADGIaAAYBbpza46/F7WDPXlw05tYZJXKaCQIYgYAxBJxYCBiYxA3FgIGIG0EkIYgbiy2yFq01zgggGIGIN8HHHsYhmqqyrXnnpy6s9TJrknY7tw5+U4nb4dnu+ly+jNcTz/AF+MmMS3mMJRAEMQMTDp8zq3P0q6m/UUJ1EYSR88896HzvPTi1KAlaCBNUJoABDQ/tPzv2LXK51y83vqq0wazrUrOdl6vLuOpo5/SxqMrIrGTkkI2IohKu5zU2594JZbLm2NNxBVxuZOuxLKLYWZ5S12BDNLsjJzZqg8dLnCWekrKpyuDVFbhYq3CyMJ1MwjKNyouFgREkIoEkm4a6pv6NmufqfK5ed28/nt+FZfYXl0zUnEt1TrsQTLEmEMutV8Vr9b5JkGQ+7w+1Wn6D889tL6RhvLEwAEKKSUmtOPpZydmfQeOlsyTRGeeWVOPm5dzfTkt1YvNrF9rt8H6Kz1+7z/AFt51gtZYmAAAGbldjkFNdlWdxTRp1ZNSXXU3JKUJDAoABNCABAAIAABAACaAENAIGIAQIaYJMEAIA440rQBJAxMABiYNAxA7arT1FN1GXC3YN8Tpuzp47y3qPOLUroaQLUVymypTklTmLEugsRkJANAMQSExAA0DcXDatIxuhLAsSRJSK3Nlcm1rcwgW1icoDEyUZRBgAA0A5IAQMsrAtRBuRAciDbIOSNOqrTmT9L5T13D6vF876TzW+Wmp9nXl88+tzrXXdRcpxNc5EZEnOEDTqJdWRJoiOREkyCsiRLJFLdhGdnRlxx9rhjxTFqWWF5lRrizf6bqTXzHH7DyNkALNpXp5+yhyVmeq6vXmevNpz2WHdjufZdHh9yc/McLtcizveq8h6+XzvG7nCrGRWsxi0AgaAYmHZ43bufo11N+pGrTnCM+eeI812uPjRKeuXEujOuWtKTOaEUyssOnyezirkrdmj39KzcfXGVM+XpkiJMqVtnG6PGuNnV5/RzbQlImxIxnEqxbsGs5smijpygrgybMtthTdFIF2cspujZOUUIUDdXmJrbfz9eOumVU8dbJRUs4TjYVWwsqjOFlddsbKIzLmksrSDlsuefP0uzpy89v2075zrqr1kyWUWV03Kzz2Xdkw+gei+efQs7bRbffj1o0nYCQ4yiY/kf2jx1z4RXwIdbn7Do9/ibF+kvBuuW4yoAIUX59Y1NPOyEwxbMszBwfU+Ml3YNnKzrnldub6rxftvFVjh0auWu3hx7LPX9Pk7+s7hU985kUWCRIAq5PX5JmrsrzuCFWnVk1SX202pY4yGEamiBIiElFjUWMiiaSJEQYIYIABDQJggBAAAJOJJIGRRyRCyQDEwcWNDEwAAYAXU3HqM+jPlxdmPZEs2jOnjfPd3zls50urXWxW1RJ2UMk62WOmwscCWssCssRAmESYVkwgTCDkCuqnFkSMSSCTjNURElOtjFEc6xbqkgYDUogMAAABtMQBbCNhIqZY6pjipEioLXWG3Vj3ZlvpeZbx+nk8563NOvE9h5Xbrz9Py/Yyy8/P6ji7xzxHXxOcJGjNozSNotulnkXxpkWy0+j5+ryUe5wdc5xVt422KUZYa8N3YVq4uhWQxOp3U2Ed/PcfRt/z7ZNbPJacdgIsejMS9SOLZn05oOrfmu05NOOxl04rj1Xc4famfMcfqcnU7XsPF+2zfMcjr8KygjHUURIxAxAwB9bkdqz6Jpz6NR1WxIcXr8g+eZrsnPWrvef16d2/wA2jVXTKzfTlZQ7Lk6lt0s7jwrsFz2LuF3eXorjOvl6+TzfQ0748PRKq89jr2Z6dHTzJc+vVsyXlsHEEQK8W7BrGOm7HvlddilZYQqsZGqzoV0bJaUAoO1M1V07FFQl1a+dsx202UTx2vdUpbYxdjjFU4kUVajckYWXNWntbuvDHtqn04xptrqFFlCRplSQzuqxtRMfJ7vHiH1f5H7vOvUNNo05pppaKTYijNEFJHzTifXPlOsp0mXpHnv09R6j5x7uXZYnrLAK8+vNrGlp50DS1YOnQHjfbeQiPJ7HMzvj13Y832uXj+nrxdXuq48519llTuzFdrdxujc6ZJ6zFTAkhI8rq8sxVyrz0SRWjXj1yX21WpY06cJoIjIkkRGBFsipIFJAMIqyIwATQJggBAAIAEOEogmyKnE44OgAAIGCjTATAAGgLqb09Rm0Z83h7cmvKWfRms8N5/u8K1pqwAAAYgYATg1tdRLaVBa6gtKkaHnIvM4aTM10PMGl5mao0ovKGXFLLillsqZE1WyZALCDJCZKMkOZpz0xKRecSTIuVpTHq5DKr4rUWiVSmyktCqVmiTPfdfFGrLrXo8D1nns9tfQ8/HHt10YbN+TodDzu2X2nB6vO4fV8ourZ6PlcOeo1wry9HKlJYtSBJCbZ0fW+R9J5/qYfNel5OuFFlkunhhtjpx36nlPT4+X1PLrsHo+Txz2POuPPuLssnCwrhO4yno9EvlVtxWAIYgezFomyqypmzVjvnV5NcGfS9zjdCZ8xx+vjs3e28B7KXk+f7HFszoWpFCRiBghgB6Pznp7PeW12ajTRXw+558+e5NWXGtGvJs3i169Ws8x9hy8OHV5lzCqzFnfe1+X62drFbhuehFpYaeRsi2eOsnT1uPz6z1YJzW23mWTXV6HLt59e4+bszuZXUZsmjlb5bMdsdZxuVWudlZISV1pooslnVdiS6FashJIThJNd1NmO+m3Pdz7WSpa2OAN1sIKFkTrd/r5+P1XV38yhJayrCUtWfRmKMluRFCUIrinTjOMUcntZzjbMlMv2KXnvQZ0wVuu3HrRgWAAlJEeL21Z8Wh9K+bp0er5z0Q+7wp2/Tp+b9Ig0WKiyLNqYrUhYtRR+W9P5pacfRqzvzvP9NTm+W2+o1Jyr+3o1PNWdrOZ3kxr1uhxr5fQ6/O77nrLHTrPRjyqU6/NyVK4KM2NSL9eTZJddTck5J0AAIBMAQAAJoAAAEAAAgBDQAgABNAAIASkgAOMCptMAAGCGAAAADUF9Gg9Nn05suRqzas0ya8Vng+L2ONawVjBDEDBDABpq2CgEAAADAEADQMAGmNNA0DEwaYSjIQIYmDTDZj35au7yfX+f6vDj3aOft+fV78Hr+EA9cnq36Ofrx+m8367n343lfceKtrcZdvmkraFBFzLXj1Zk4lcs+5yLnXu+W7nnblkZazLTlU1pMqPT9XxfoeH1ely+hHHfz+rKu/x+90+L6Dj9DzPL7vO6eXnR6mLfmz2y0opXWZ6UW1wTUudRcdmvmI6fqfDe15fTxGTja4fS8XlV08XBqlDU7ZicuXVjhZ7Pf89JevykrG4hIiEraNAqrKgctcdHv+LUv0/k5as3f1PBXVPj6epZ500UWVojQhI0A0AxMPV+U9dZ7iyE9QAKfO+i82fP82jPjW30fnO/7vna7c13bzaoqOdxg1vnx+R1eR4fqVdPl7+XWvLqyLqtqs5enEnHp5pRkJ6PnbOrz7eNXbqz15VnQlGPRTls6ezhdfOtKxzlt52inWYVQNYnmnKyMGE9WXZNVqoScVYZlZXYU6MqDjcX20Tx20XUTx1udTaujWE4w9JrnyfR7Ienxlbr6cowmLCdjzY12VFWXXjrLVZREab6ooc8pcuZkOrmyTM5bTGr6h8i9pNercW09GcN7qsuWAAAkwj5z0iPi3S9385ue5PHfWv2XhNcv0w5HXuQCmAIGZ69ZJl4npuAuUHndHf5HRs6pkp1noLkZzuQ89RHpMfEFzczvKXNu89bNeujzOimFdSnUxvZKMMtzMMtzM2iU0LYyJNOgAAQ0AAACAAAAAEAAAhoEwQAgATQCYgATQxI44OkDAAGmAAADBDExaM+g9Nm05sXla8evJYtuGzwXH63ItkgsAAAAAAAlGStxayCMSIhIiEyIMixuN0sC9pUmqlXYiDQMQMTHKLEADTBphuz6st/rvE9Tz/U9DT53Xj3YeL9A8z08nn5B6Pk+0l5J+f6tfo/MWdPJ7M4fc8/1fJ0ej19vmedye05Dr51dOe/Fg0bNkxhzaeXdLo4OpvPQ856LzKCRYmShEpCc61snnU1eqRnveo8X6nzfZ5vG28/r82qWfob4b9G9ef7HnKDN3+OJGiALmiSXsfDace3q8G2GuMSyOuMZRZ3s+UXPCUEGhGCAAAA15NZTXOst1ZNEU1zvPbz0Zs9PI8ns8bWfTen5nUzfLcTtcSzPGUdZSAaAaAGin7Lxntrn2koyoAKPNek8weCz3UY1q2ZenvGZ30bwSrZN1sMOzDjcOnzOvNHI73DL7K7OXpxJx6+aVlTTR7j573OfoaKOXreerPrmzR1E566XOmNFMIXDlXfZVVbIzSUbFOq8NFBNSptdlFk6iEXmSdUy5jqpnN2W0356WW02Y6TUYrPpdTt9vPRel38xBxsjCYQsk5VGUJY1W02VZ70Yajz0vU5WeyM0ekGW2xEYSgLBtgZYqyPpm35r9Hm7BNZ68Fya3F2MTEMEmEef0Q+WWfS/HWceykTo+0+f6ZfqJ5rvamhY6rOiuRSduHAqO/xM2eXoOM86ni347KI7J1z59KyObZ0pJz7d8zDPazH5z2AfPO9n5s163Tx+maG53NbsCCsKg2xNgmAACAAEDQAAAACGgAAEwQAACAEACaAAQwQAAjjDKAABgJgAAA0wEwWjPoPTZtObDla82mWODfz08Byupy7WJ2AAAgaAYA1oWl2QmroVNLG9sc02UFRfVUC1ENmXXnpUCcqJReq5RRZKpjVkSJZEUoyItAwBuN5qTjiSWPXeuTq8rpZ7e18z6Dgeb63nr+r6Ht4PB3dfBvzixwvLYZHZ0vT+H249HuvJnKz6N+rlWb8uypUXzV0unafT5PWl3+d9BwStzVjIxJqLJIiMQSIhO7M5roQyxmZX5WdG3BHPbVlitcWMItssRCIOJbt7vl7Y+kePw45apQlqdGMUuaEooCEkhDEDEE9dN0maDjbZoz6JKL8/RX3OTfzc78tzOnzdT6NZXbz15Xh9ribzTCUNZEACKABidP3XhPes+uknQNGby/p/KnhKLqca6PpfMdqc93I6tTPEfWOl5R2c1vNxdDnyw6XN7683F2uLLpsrny9OJC6+ZgkJRF9VzqMfn+hZo7lesUOzDz66sjHLFG6vpxpuhOypX1DhZEjASXVxkShBDshIqrsjZUSRYEZq6/NdnpZOntS4/Y6Zd/NJD6cknGlCQKbBBCEiJGNmSpcCjYee2eosOHZuxTUKqc2W5czKdWnJpK4a4nMzdbmEPT+ZjL9afnfQzTAL9PN0GsTsYgAATCJJHP8t7lHzG73XAs5Hb4wevp8/wBosWmVmSWyRkzdfky6LKrpbB3WSnokmeV4VO0IObIOQQJhX4P3+SvIdnynocb7evm7tZtAsBoQwQAAAgAAE0AAAhggBiAAAEwQAhoABAAAIYJMENAgTjgWjTAABoBgmAAAAGjNqj0uXVlzebpzaYhzejzZPAc3oc/VALAAAAAAAfU5XYz19Xy/Q8vw/o/ER2Zfd+bukiZ6NHoLOH1/G17V2+dlfRyVRro1FEbIOFDb1UpAhgpIJWUsnKEiKuiVO1ENGu/n6Msb8t82bdIdiWSk7FPNa9CXOdW02LXKLjGywrCyzPbLfnsqW0paaqrM0w4DtOzyOyungd/ziiEywYm3SjaFRa5KS5lDuKqL0UloQJkQtgE0kSdQuyNCknBNYRlGUAVuMjWaqJccZQsGhGgAAYg1SIyUwlC22/Pokzo6a+tq6/Lxvy3P15N5+jtRxvy/E7PG3miLhcgigRTAGJwfQfn30S59TJOkNGTyvqfKJ4WqyrG+n6Xy/rM89uTRwU6UuJX0ep5vLWtV8vfgiPV5O5b+ZbRGucJcvViBdfLKMlSAJRlE91zsU+HspwY7pnrQjHOoVyq3zrsK7nVmdKScHSk0TULZakJLIQktdc42DUlcBS2Wr25i9Ol24jRrEhKnFoTGOJUThAJSJy5cnbClWZ7KadNNmHn9fLXGz9qvnvj6dUCCUIdcKxxgzlR6fKLfoHzm+X6ucfrzQmF+nm3G51zsYEoBQmIhoAQud0medp9QHmeh06bC/MiWBgrs10um+qVnTbETYIaAAAAAIqUa8ni9f4WX0vR4/Sl6JGWsgAIAAEAAIAATAAE0AAAAAAACYIAQwQAhoABDBAhoAAOMwoABpgAAAJgAhgC1Zdcekya8mbztOfRJDmdPlnz7n7sNNBTEDEDTBMQ+py9+d+q5mfDw+rLBuydvn2udriWatnL3btWiXn+xT5b1lNz4LR2+N6fkUwnXvw1uL1XKOuayE1cxFKgcSTixuEo0bMs859LDhVcfpmmB18foK/ZeC3zp5nf6dnij28TxJ7HlHDjqxJILSEosshWFtuWZNQaWEJIMlUe1yO4S4Hf8+Dril5nS6DOGmFcZblUFqrazIETSStIGIGJkhEAiG0EpVs3+j81ZNfQvMZedHOIy1myee1YwlFAQSQhiYNBthOqZqi43VunNfFGnJ3F9py+7xM68hn0rWfoObXkxvynJ7HG3mmLjrKEDQUxA2gf0f5v9LZ9K06E0YfKeq8onh6p1430+7xvaannM3pIWebPV6zxJ6+pPIc/qcoW7D0Fy068hrlCXH1Y0HbyycumnKNN5z4a9Zy99VkvMj0dWOlNuvJz7Zh0XFtcC5i6rNS3NcpaZOuyaIEkIEojREJJyvs1e91K9OW3pytcDUkRYFUC90yLFVWWxjoWu65yxlIiKasqrujZTDRAzV6oGOjfSvJz9XGY6tWfNohKEQhbAhTdE5Eenzy73Pz3ZH1I8p6ubIyRPVgDqvFqLBMAVjEDABNiAEAIAjVcjHXuRCq6J0L+R17kAAABMQAAUk0R8N7nzhR0eN1c76l+XVcCHQmgTQAhoYgAABAAAAAAAACYhggABAAIGIAE0AAhoAE44FrEwAAAaHAgAAAKNePVHpcmjLm4rqLZDk9bjnz7Hrx0xFMAAAAGJhfRavR3c70fD6WTD7fiY6YMm7m9PmTz259bTrhrOjveXsz19hq53f831/Kcjv8rv8nBX3Z75+c29/qY9XjrPQ4b4+buOlPTzOH9Gnj1/Mp+nw9vncy7rdKcfOa+jVNc505tauhXbvn9H+SfX/kmGdysK7YSq7scBntOh8+uPcS8TnPY87ndO55VXr9Vnh5e0qrxy9BykxEK1uVZLPucHvKcLucMFbWgrktTmyEbQgrYEHYiEictatrIk4AIGIJCBpENxCQnDQEiZVUnOKroXmeOiRmXXpOerUVuUiqyOhLKbK5KoWV3Vt+e6Sj0HnfSNe4876TzmdeUvzatT6Fh3czOvM8fq87WccZPWaldGoFkYiWxpRtCr6b82+lM+ilUVbF1mPyfqvKWeIrnDnvpeh85v3noPjFz3tHmRfRR5Vph5vS50L0fG9C1R5rvcSS12yx25qtW+M/Q8HqzPPr6E88+Pb0YtcxdVW8n3nl/bzp5Cjr+cx2hGMblwDUKLVY5VylajEmQqLZRtKo3FZXfYZevq9ikKirrzutpuJEWk0qaiRiXVxujNt13rVZIliSCIwipKyClEhGYVQugU16K7M+bdVXLy9jIcenqYs3JG2ObmdkCqrXnOfV0aSXT8/vj6Po+U+wa9LEZCyMDo38a+XqGa4k4OyREJCRIiEhIYkNEBoiCcSvqczTZ0QEAAAARQAKMoBzOlmTyXW5PVz06ezn7rmRB2MiiYokiKJhEkCAAAAAAAAATBBAmnEZFjIsaixiRISG4BIENNAAnIA1QAAAGoaTGgATgExacu87uTfkzefbXbJHj9rinz7Hqy0AUAA0wEwAHpyyOj6nxfq+P0vRee7PkuPpnTjxer4fahz5XrqqxxvPfLnFe47Xle94f0XN51eH0fD7Ha+f8ARdvc3fPa8ez1vM5NXX5XYo5Ve8e39L819P5vtasXKyb+d2Iczn783SfG16jliemxY7D6p8u+ieFxvlyzWkpZmaVQRqlkkbY1WLDPKpL9GS8hbJL0ep5SDPvs3i3VpCzUPQcD0S0cPu8MsUGk4xC2VDLoFa3KoL64BaqxbYxUW0gIaAAalEQwQwGrIgavRS+ZPfeIjO6Jak9WG6LNvPrPbY/KSmvQnQ6Uvmsfr+Qnmb8cdZ2QhIriRLLM4S9B50Pp/nvKRl17OOH1Xn+J0TVuGeS5IxjuTKkXlJFrrgaJZmW/Svl/1W57MmUqr4nN8p6rylniYyjz12OvyPQ55eeh6e658r2elYsa555eLy9vK6WfpfLdy708DocmOjOBjnlhVPfS/t+f6ecMo+gzPK62lz1ZcfdzHi+t0qY8/wCZ9Bw2qa7qbgsFVZONkYzQlORFRQ7qmWxrjc39k9fYqlTuMrnZonGWaOpVOOroHO0alm1ljIEiokkJSRFScQJxqJIKycStWxsphfEzw0V2Z6dlVmDD1s9cXH2sGbgrupxqzPKJCNtBOcPoJ8yj9X8rZwPQee5kv1OXyzqy+7q87qrsa/OUS+2v8JsX2UvNbU7CxWmh0TLCINCGCFGSIjiRlFV2yE2QAAKTQAJCEgrhMXxfU5nTzrZv5/RsQSsipoUZoTYRUwTAAATQwABDEDEDhJBGTIqSItoE2RUgSnEBoRIBMSLFXJBWsTAAGIBggIAAAFv5/SjvZtObLBZXZC4nb4R8+y6c1AFDQMTAAGgk4sn7DxftOH1Oz4/1/juPqyYtuL1/CsVatnFqwASzRjc6bYZRiWvHsnWmqyu41QITEBGk+hzrp03EI55ywW06Eo31U2iwrD3XIn0M6+fbsHXMlfUI5NfZgcmXSDFddEyxuBqWdddRIytxSSHTvz32S9D570NZuP1uQNCRuLBxY00AgYgYgkhKxENAoANOIyISEDlAi/q8MX1nncpDlCVjuoujX2F6vO/I3djzJ1ODQqzF9FJS9Ex52XvfNy8USs1BfnfP05Zax67hd7n53wq7s+sbPQ8j3Odea4H0DwJljKO8xE6AAAG4sf1n5N9cueswCE4HK8t6jy1niYyjz13PTeM254eu1+HlJ7l+GLfY5vMqZjxunzevVeh896DW6uJ0OdJ1Iyjy58xC69L93O3Zz1fZ+b0cfX2dXAvz26nIsrNdcOXbHh9WE6eWh6jznTyxVc9cYonRZVWSspms5x6EtF/V5F80OlZ6G6vhXHpXXOjUWnNsi2uebOs/Wj2UBRlGwQ1SiwSmiI0IaBNIJqkpIipIgpqyuF0CmN0TNVrrswYutn1OFz/Q4ZeLHXk56I12y1b8UD7PPynqx5NTs8xy/difOOb9ZF+OUfa2fC5fach8jl9H5h5PVp4svc2eFcv0bb8vtPq1vy7afR5eG6B6g42y3YUSLEg6t+TWyAUAhoATEiCEml8d0cG/OtfQ5/QsYFgAAIBoAQxAAACGANAAAAAACBABQENAAgaBABQAQCICuSBaAADExANDQACGJxHpc3px3cmvLlz7qrYPPeg4C/PaLqLBooAoaCSCGJg1IXt/Fdnj9D2fFj2effi8L6V5Xt8vxhOPTLjOIhiAMAYtWac2QkrkBohgAyQIQwGAmANSrp+1+d/Us6+PdHBqjoJqENA3IgSBynauGOihJWQ0GXH3MZzIdSBzL892pP0XnvSVz+V1OUAFiaBtMcZRgAEwBASTiMRKAAArjKIAAAAMFKcVGnOKUZUXUXxv7fH9DjXKx9iteFV6Tg1mrirJ9fiWM+u43PrlihWXzrc60BdeXpqvRcDG/NV20bx6303ifY43n8L7zwVlEJR3mIimIGJjEyf175F9fuekAFdlZyfK+o8tZ4pNc9b9OXT15to1lgAAPnbefjUu95/uNYcPR50nTjOPLHLQdelvofPdo9rwe757y+9Wc+nn27RybDoVVXXU9mDo7xh53Qyzp5arfR2+fklbErlbOdK7Jzm5X219POqIPr5vZW0XNQsrlYs8+hZzuz1bsaxapwlhGyJCTjTSiSiojEDQCYCGCTVgNIJqkDIxmiKkiMLYFdd0TNDTXZgy9XNqcfn97JXnM/dxc9ZIDxrR9Y+QeoPfgWMGiYADEpIQwQwzcD04fNvN/bWv57f3XzMfMp+j86tmrlEej3+P+pnJ3+j11HWiwKaJdpjlWootJJpEmlScTyPQwdGa09DBvQAsBME0AAJoAAAAABMBAwQNAAICBiYIABAAA0oDRIYgFALOQBaAxADTQAIAKAgAhdPmdWO3Ropy5s4yg4Pe4J86oupoAoE6AAaBgQ2mAANAxAxMknEaAYgbQOUJqgEYgbTAAkJDEVIiyRFw5QlS+q/KfokvgKO1wM3uBJmKuzLeChoFloy61M20jnTkrmyDkuZEDnTnTZo9L5n0mrzuX0ebYxJJEQk4hNJEklEiISIskkhiBiJWIWcRAIGIJWUuOj7H59dNfTvmrxoOMtQuptj1fp/nXTxv1Ph9Ezg39vhVdjEtnrfHXXH07xvIqlpTWs3hLHozdHm79cPonlvSeYxrz1VtO8dT1Hnvb51m8D7jwpRFx6ZEAxAxMYBd9g+QfYbjcApVbScjy3p/L2eLBc9b9Oa/tyk09QBgmFWDfgxqXb4fVmsuS6mTqxdfLHMOn9J6dfJe5M2emTxnv48+3zWj2XHz084+jUk9/Irm/Q6PN6p06lfJy75nvPFek6efy9Djz9EpwsJaqNtmaXHO/wA/RnFZ6rs/P/aVut7PSXJshXK4KKKmLCu0WuQA4uywzxNZRaMCUAARTTUCCwEIAUgQJoSkiEbIlcbIlFWquzFl6OfU5eTr5dTj83vZc3ljfLfvfUfH/qsbCLskJg0DEAAMAEwQwiMEmHL5XqBfL+oAGVpZzaPMr3beXzpr0r8/pOusFq6pUWRbKoLlVUc/p1XmjZydNm0qtQEU0AJggAAAQAAJoYAAAACBBopkXAIGCViEBOgRAAAhWmHIA1EwAABoAAAEAoAR6/I6+Xbrsry5rTQ4HoPPS/OqraaaCgCmIBoG04cod84Z66cvjnuzJUtOg557fI15Rer6sfP363ydiAsAYNSEAAAwBgDTVAMAAGA1Ij7Lx3fXX4r6T81xe7ox7mVm01xGNyWqrU1z7Kg36MuuXm5uhybnZqwaZY8/s80yYuhz7NfoOX3NOHg6HP0QCAANMBoQyENAANNCGgAUGSikhKSEMEywrW3uZvlj3/mDjyurshdTad30nm+9jZ5z0fjjbzarLYU7MlPoYeyxfyfX+bl44jWbxRlq9L5n0h63yvrvI415+qdfTHY9T5PpY11PGd7z9VJx3kQDABoG0Gr7B8h+v3GwBSi/Ocby/p/LWeOQY10L6NHXk2PUGAAFXP34Mal0ub3WuLDXkk6Xoub9E5W3Hm5GPX0VydmOnV1ZH14X4pVS5+d0+dz9HG53o6MdvNPp5+nHJg6tPTz97j9/ymeiUnNxuhoNGfreV6edDj18zi/Qmz6OmsqAllWZ6dJIbQSg4koiGiNSQEKdUUr005zoLPaSGhoAQI0KmCGhAAJSiJSiRUokIWwsqqvhWTNvpueXl62PU5PN7mPOsfY4l3PX11+M9nLITQAGgGIG0wAAAAQIBOryNer8x4+mzq8sdU+h5EM63+U005tc0Rt6PA7S+h62jKu9fPu3Neldc7ASJaMtxo2c/o3ICsYmCAAQwQAA0AIAaRiFYmiGhDKQwQOEAAmIaABQEAAIE5QGoAKNA0AAIAKgATSrrcfsZdyE68ua6bkfnvQ+cj53VZXqgIGnQAAAxMfp/MSj6Pb8zM66uLO7NerlCfRsvgya9x2vl8T2HkE7EMsQ2KSkRGCYxDKACSkiLGIYAASUiO3Gz6h8j+y/IMa3dLj9hkrnCIz5+5ZADrnWu3Vg0Grm9XmxVPNdZ1efrJrh83s8a56fo/Nemt87g34N5AAABpgNAmoBoAYRkhAAAoDlcZRAAE0FtWiLfR8L1udavJ/Q/AxhxZ3vLtptOp1p+gxvyG/0nz47nlpq5yrZk1E7PTS+Wf0Xxpymiy+M3Jk7/C9m16Tx3sPG4156E4dMeh9h5D1/PfF8d7fw+pUnHeQEMBGIG0G/678j+u3OsBTNpyJx/Leo8rZ49p430NFGjrybi9SSAaGQ527DjVnd4+xunDKrM+k348nm9t2Rw5eiWnEk6T5zs3mCuXpV4xbo543Sz6ad4yw1V3D4XZwWUTpuSzdl6upR5zq8rt4kBcz+w+N+iKlFy10RjTrIrJxCSQAkSQkBBJCJxCpUXVlmbTBIas1FnQTBAhxlEYmEWERoEAJAIBRlFIRnHSqq+CZc2+jU5eLsYrORR0MuNw994OzF+rPDtlYmjQAASEDAAQNKku4Pn/MamzISsiwERzy3c5LGkCldnovcr5v1tjWNEMlvm1vxYvodFF1JSVivpvLN+LZcsFYAACAAAAAAAQANNEAoAgIpiZFsEBAACBQABIkJDEAAnKEajEwAAAAAAECVxaI9ni9qO3XZXi8m2u1DzXpfMR8+qsr1QAAKYmAANA5RlA0xADAAAlGUQAGADQOUJiAGIJCBiCacaGgYmDQOULCAB9O+e+w4eNed7/mvRMtojDbdBZEkRVFcvSu5vQTfCGxrgz057m/bzWV8Xrcwv9T5H6Jb4bD6jFpxTstOKdoOK+zevnz0FJxTtEnFO0HEO2LxV08yZC2FkW5S2S9bZ5/reGWqnv8ALqLiylaJS5brFE+/5/0cve8V7vw+XFlCXXLsrmbtfCUek4VATnSVfVEJ9Pkkel4+KQmg2TqMdafe+A9hcdrynp/M5vAi10x6T13ivQc9w8V3eBrNacdwAQAGISQg6f1z5L9bs0gKY9mFOR5T1XlNTyLRz6dOeIudbxPU2Ry1m4ws001kvY1edF2ZFFPf5/SZvN7uGtlHLtlo2U1gU6NcyBGxyprOjdxXNd54dbU1NazRVfWnNzdbJrMu9we9Z5GiD7eF3Z/eWe0cqmrc08wISoGNACEAIaEMQMENp2EWiUJwLKrEZttNNzujCwSaE4yExkSURKSIxmkipogNVCM4kYTVUwtimPLvz6nLx9fHXOjojnXb9v8AKvcc73hOGIGIGAMSGjimz5zlz6klGSSI0LpzZISyijOg63uJfG+47DaRHLGnBUrdPK9BwLmrn66c67tkJWMTHfTdV+rPoYAKAAQAAAAJpGmlAEAAAUBWAAABFgJoYACJWIGgAQAmCYclosYFAEAOkAgAIBSLRDs8fsx26L6MXk6cmtDyvqvJR4OFktXOaIlLvVU2SkUKy0zl0To+h811ee+lo46z7OxTyC+bsWcGF59/Dz656u4+OXHbfDc36S7zOnHToY+fl6eDubvLXu/qDzDm/R2eXL5vVnk5zr3p+bbt6Srz6vi9XTwKl727yEmvax8hVOntp+ELx9vV4xT0/QuHzfSXl8v7/C615blJRXVbIrg0ubTprK9NWglozMljvpFGIk8PQzS8v6n8u9dq9nN57Fn1epj55Xj6I88z0XS8bCa9ng8xTOvrV5COsewPHjl7avxpOnqDy6vn9ld46S+vs8cTX0G35sY9XtIeOW/J7aXh4nttXgTPb33m+FZO8va+D2b8f035xZyUoezLqRshKq00ACAmAmo1IJxsKXa4demmR/UPmH0TO7/Hey8dHnbSzpn1mzB6Hn08XwvY+U1jKpQ3kAQAGJjAOv8AWvk31mzSgU5+/mJzfKeq8rqeRL1z6Uu+MVSsZVG2wzlqFXeFBOwo14/Vn0Xj1YePr3S5t+d7VjVz0K8sF0UwU1RRpzTpRn3Vnmr+jyenn6t/H3LopnFaLYq5Ovk1WeDlY+nk3fYOVt1HfDLQCUEwBDSQxACQxMQIbiicq3YxInBom4MjKDKtMarNSrtSslAnKtkooJIBNAJojGUUgnGknClCcUrpujZkxdLDqc+jo4Wsne8z0cX6dLzHpOerCEkaAYgaOZWf5wQscCgvqyxzZwRNTOv62XxftPRSaTjkXVRljEoSgR9Hjz6xytGfS1w7M/QxrpST1kaZO6q2tV1dlwACGgABOBIIkiDJEGSIMbiiaUUk4qpiQxoEwQ0MCVDQACABOI3FEiDOYBYJlMAEwAEABJoExa+1xu1HapupxeZbXYh5H1/jI8bXCvVsnQGozTqx5w0SyhdPOGn6j8n6eb9U5/gKc691q+dyPf8AgqslmueCTLnStXZ2fNyPqXZ+N2Y16Hx11esrVmnZZGsLCtlzomTVYaYVotKQlOoq2tATLzO7kT+nfLvqOdfJtcsydtNZlc4hXn00rrnVFJXZrS6dOkhm34lz3ZNSaM9lq+d9Z47tW9nFgw6egq4QnZOKHcnwWegjwpHZqwWLfTZcc6rtSjgx72eznvRREYuBZPOGiMai50Nb4RZK3PONvU5np86y+W9/4RL8FUtxyjIrTSACAAAKNBe88ltdEpNUYVxZ6/xXrmvReR9X4zN5kss959Z6jyXp+fTi+R9F5fWIxcd5AEGgbQMA7n1f5T9WsvAVcvp8xOZ5T1fkdTzMqVz6ajNMtecjRLMi2zOi4qROdRS9z4X6znWXN0eVw9pGEMbm8waZ5pGuNbqKVVt+S3DYVSjvlyX0uNefYs4u5dMaWvSguVvnzPp/nvom/PXG7DqVqSVAACJIBACABOIwQJoBsgyViaYJsjIkUSbG4yKbpUWaIqaVuSItA1BFpXIZERRIURaIko1WnBFGdNVU6aLM3P0Zl5GmccXpe2+d9mX3E0ZshCCBa/lvc8jrM6qaM2yuUZqUNPtzyPuPRWzVMzNNX580CVbBMAuo9Fcx8P1aLNdV+Nvidfid7LY07AGW2QsrZJlwgAGgBDiwiSCIwg5BEkyCsRFTQhliUgGgBAAA0KAQmgAAhIIjYozDlCesgAwABDAAAiNAAQ7XF7cvZptpzebbnvkl4v2fio8RCUdVMQ2ihoGAMTLrrff5nzmn6z57N8K/ZVa15OXqrk8lb6jUePn6qqPPU+ry2+Zh6WTXlo+rR5V+mE8welhL509K180emDzJ34WcaPeRwj0NTPDPTaE8nf66+PL7vQ5IxdHL0szrS6OaT53wfX+U667BCzMVVkCWfREHGRXbWF9+eRsrkLy7RpLRksXlLZzj0fP+g154/OKvoPkLeavW2p4p97Jrry10E64Ja5GJ9bfn0ecs0dJOVPume3JnGOuFrOznpx49midIQlz9ee95Xrz69nL7Gc0cLpUztyZeh9rrn8wyfafFnhZI3JNMghIAIxA0AADabRKEpLq7Kor9n4v2zXY8f6/xubx5ws3npeo8x6fG8XkfV+UuYRlHeRAjEwaYxB6D6p8s+p6zeImo8rqcmzD5D13jrPMiOfQaCQiJIAAACgEei+h46sdseDfr4+vzOD32jXL5jb9OrufAy91TNeEl6XhZ6qzhSuezTXKxpq5KrFZw9G7lXG67NbbvnZ6vpy7E58y8SKLQTEAAMQwiNAgEmhoAAoBpGSBiBuIOddhAYJpkhSrNcq2dMYWEERFGxWRFGrCDgrlVU1BJOVSClxslGWejJZAx5N/MallvhlTbneb9G63zf6NmyIofM0/KLKcacrrNkuT0/pfSTWLY6ZbctFSzrEAIAQREUej8FbrnZ3sW5uPO38s5noeD6HNtaVknFmiyFtmtouQAAAQDQAAIAAAE0E0rQWIYIAAABEkIYEogsAJQQAAIAaDlAayNMGmCYAAACQACI9zh9yOvnvz4vM0UWkvB+4+dx5pC1WgBoGBQ0DaDoey+fPE+icLzDk9BTxS9eycYuOn2fJyk9dh8/GZ6q5hddq3hvPs7tnn216a7ykl+jR+fV8/R72rwUd8fex8IXn7d+Hese+fhIS+85/ky8vU1+aLz9BRx0nSrxSNN3OE7/U8Zvk9n436D4G7vuo0Zkce1Gc0IpVwU3oJOEh3V6zDXuoM1yZPg+g4TWmOQ1z101FuiWYjRLLJdlvNJ26cuW5v03Y8DLn6+v3/E2XPvq/DV479qjkrr4+x1fIxmu5j57vPRQR155ES5lKAk503TW33Xzvv517jgU+XjBBPpmTQQQkaBAAABoByjJYzhOS6q2mWv2/iPYTXa8l7Dxedci2m7pjqep5Xp+e/MeV9X5TeYRlHWBAMTACm0HovqXy/6hc3NE1Dkdbj3OLx3sfGV5xNc9jQrcWMTAEMTC6nUfUeHpxeX6F+nE5epVhWs666ZS3SoaxyaufbVh6EdY4ujfzbz2nM3VYopJ5rtdnE1z36z2fX56unBVtWIbkTnIqjdXbAAEAkwQ0AmIGJDsTQMEMATAjbVIYkMgy11SJICqcqLm2LnY4SjEVN1QW1ka512Sg6KnBCNxzq4DWmtV2R5e7FLU6DNjC2mJ/QPnnRzfp3G43hrNGKEM6kpe7OL9D1SmnXRkmrs6FExEgCLBCyGSro22X/P/dxs42+bls5nQ55DvcPXHTWN1sMlx0bM+mzSJ3IJgCAAAQAACGCAAExEBQNAAAIBoGgAQxCtBAmAmgGgAOUI1ltMGmAAAACBNAmiPb4ncjrZ78+LzrKGR+bfQPnUvKTWgJgJg0UwAaCUoygGCYAAEoyBNAAAmAA5RYhMHEGAMQWREMQNxCREJyrkBEJOCPrfzj3vipY68HYkxJ4Y2LHYt7x6RlOVN7xQOno5us01TkZo2VlvL6GFcMktyREqQgcoSASiREJEQkRY0IaEMQNxZKIhiBiCV1Dl2+m8WS/RvJcVwMNSYJYJpABAAAAEEpRksZwnF1NtMR+i/PvqGd0eM9j42ONdRf0z7Dv8Hv8ALp5LzXofPdMVrRn1mIFgDAGAM9N9O+ZfTbi0Caq43Y4tmXxnsfF1wAMbAUrAGIGIGIpgR76vnafN7trqlndpS7L4ZqzTTRC27KlqSlXK5nASZ+b2ONeeuzBps0dXB1N55Xr+F7q4hna3zTYOVUosTiig1ak4gIAQIAYmJMsQAAApRJAAIAIjUgiCpoCRCRKLCN1FtzKE4I3ECCCOezNqSRNCpVq1KpYOmwxVqBDPOmXEivF0VCI5YmbS5QFr1/S5cPoXmmp4YwaQEogGhWEWIkdA4FHer1nmWaoLXJImq4xfLI12KqZJxCy7NpSe3NrssEXLEDQACABAEoAAAmgaBFJFAAAAAAiVoATQ0AAhiAABAA0cpi1kkgbQMABoACI0CaF2+J246mbRnxeV5D2HgM3lYaZaSAoAAAGFDQMAk7N0c0khMABilt68vm16rzZSBYAAEyL9T0prwZ2eNcgANAw9zL4iP1DzUvlGjWWIGLpnPf17zmdeDXp/MWAiz33MNsvmPR+d9Ecrn9vHlxn2UcrZoDPj6gnLnumZNcglbljKqihehi003OBSN2JIsQ2duPoNGN+Z4nt/G2UEi5iSZf6fzvt865HlPd+JMpYtZgTFPS+d9Nm9DxvsvIy4S1bzU7CI7M2kwFoVFqIObBTFoLUlZYFZaFRaFRaFcpMrmOLKLoRT9F+f9hr1nkL+dm4NEJ7z2ep50zqfPsr1nbzbKLEIsYmNoGAeq+l/NvpNxYBLTxOzw6z+J9n4o4onnaAAAASsAYgaEnW73kfY8fQVxr5951U1al0KYXOmOXPc9ePKsOjLBe1ojUjXxtuO4hprus6Orm+y3nrxlTrhJQis4xammOtKKbaaHFDQAhCABoAABFMQgANNANCGCTAUogwpEiEpKk1Esrik0Rz33I4qlGMEhGxWFBNao255VFZxWZbDHCNcqonTFdGjJLLLCGa46M4u/f8AR5qvZDHNWY0KIJRAAIQ1YN9i5joDXMAppoAAAHCSM2Pp80+abbe1y65fRw7Gs5dQayAACGgAABAAgAAABMTEMQAIYgYIaAAAEwBAAAIYgAQ0yzlNFjBg0wABgIaEAIAXa43Zjp5dOPF5vhfU4svB0/QPGaYU1aNAxMABiKkJnpvY/L7c6rhMuYEwg5B6L3HyW3OvqfzPLGgC5BA51h7jp/NZZ12uLAsmVllhWFvpvKOX3vB4MZbik1m4oDRbiZ7LD5szrqYs71nQZw7/AKr599Ol+fdnjdA38vo8bK6GWZas9wRaK52WJXqhMNOeZfnvFxU6KrOTOoqwpNLioLZ5iL1Ui5VhYVha6QujBFigEyATdYWKATUQkRRMgyRFEhIkRSzIiSIkSEDEiRFjIhISGJEiLqRFw0AxAxAxA0FAgYA3FjAPX/R/nP0a4sES5+B3fOVX4z2HGPHnoYy+fPQULxjqwjmm5mFdYOSuqjlnTic71fD62d9Knfg8/soqjVuFVs9Zpy7c7NZaJXC5VFolRKVKxXnV93THr54oTJFpSxayxXYkhWK0QAOI4iJIYgAQwQUJpGCG4sEANIYmA0SEqlFRJxUCca4FhGZXdDLc9CE6rIRkrFSyGOpYZ5ZizHbjJzqJckFGWNUqojzpyzYmdD9Xt9rNEoZJoqCaAQACAEAKb62sSsRvmxAxAwAEwABCFwe95Y53b53Wx01bcurWQEgCGCGgAEMQAIAAAAEMQAAJoYmAgaAAABA0AAAIaAE0NNJzAeoNMGANAwATCI0RY1Ovx+xJ0uX0vO83kYYrOV6nlupyelygbAANAwAAGIGIG0DEwAAAYgYgYFDQAAAQAA0DAGIGIAAYmAAxAwA+s/JfpEvkrNGCz1HP6WbF5eXdlHVfnSyu/KWXUWljTG4s2Tp0LzqNeSzkRtqqLRTAoE4ABiKBENxYxAxAAAAAAAhiBiBiBiAAATGIhiBiBiBiBiABUxMYiGIGIG4sGgAKBAwRJxCTiHsfonyn6BnHafL12w8z3POSFdWU2S5xq9JcxL06Koyc67JK30FnKmdA5irqR51J058GWdej5W/B5/XmHDVYnZGm6tCN8SgtEzqyISnKq/X+e+i75Qocd8iJGWU4bQ2EEqxuu1AhpIkRBgA0AnEbTECpoEGgTAEwaASlEkRiTrcaItCjNCbmRcmQo01Jn04rtZnXC0jEQq60tGe3OLJfklvUHGMipY4r+ZF2adUHs+V9Kzu5RzzSi0qBDQAgAATWyzZajpxbQAA0AxAxMBME4i8Z7Pwh1Oji3Y6a76rdYABAAIBoAENAAIAAEDEDEDIgxA0IkgGIAAABA7E0StACAABoE5gzUGMGAmOUQxACTBNMXW5XTTpeR9P43m87up3cXJ5Hf5PTXMA6E0DABoGJgCGJhbVeQU5lC0BSrwotmigumZzRXTq0RKTTVFQAADEDBEhANAxBMaJQtZSXMoc7DP7nxnoV2+f9d5iPRGe+MnO7fLiqrTQPNorQaiahAxMnsw6SOTVlOZl382r67qNLI2oqdsjOWoULoEDRUQtjIqLIkVdmJkAmQImQKmohNRImohIiFzBayyRQ7ArLkKuwKnbIpkMqdkzOOCNxCREJEQkRCREJEQlZVcV2VXFRelqWmsrLQVdszR6vyPT4572zyJh6rDxQ34MMO10QzJdTzRN8uSVuWNxuWUjRCmBeZrtVOq078uL6Dn2ywti3VNqoN2rWWBCvRBKVpsszK0s9V155+vnUXEG9ES2xtSPPlmoiRVpIJQZJxCSSJxQSISGoyVOMkQnTQ0AAEACHCUacZBEkEZEojIAZAlErHRKqyDLdZlRdSVwVRROlLHPLPKqJUZaEoLnUaIyRqWS05vdzXd3VvPQiKmhUAQJoE0AKx9Pn9O4scDeJuEgAAQMTGIGIGhC8F7357L6Ldh353snVLWJEGSUQYokyKJOKJEUTEACAAAQxAxANMItDCJIixkJDSYOKqQiG4hIiiQAIDnCestqQAAMEMlQwiNCbSnU5XYZs8N7T51yG/jbOSfA6nG6XMkdKyISIhJxCRAJkGSIhK/MGqNAWukNLyzLo0M0GcLygLikLYRBiYCBiY0ANAxANBK7OFyqC0qC6zLIs38qR9Q8Z7z5/L1enwe7D5vTyHLgSkiq7SDiy9xkFdlIrqbRUdWprn8Xu8S50KqGlsYMtdAaY0ouKGX1wC6NZFlYxwkESbIFhVZbIoNDMxqZlNYZDYylaAzLWVknpEzrYjFLWGM2swx6LOcunI4x2pHDfckcE78jzx6JnnT0kjzJ6WZ5d+qR5az1Fp5aPqmeVPWJPKy9TI8rL1HS1PBnqnm+Rn60zfJL1kLPJy9VcviD2xm+JXt2eIftw8Me4ieJPaQPIHsJnjT2bPGWeysrxa9xI8N3+9rmvIwszc+9ipS6Hmkt86GtrqaW2UwubOx5/2m+fYzyhviSnoWvW9MRwSw04JKRkhKTISbEmhDVA1EZCE2AAJhYCYOINoGmBGYRU0Jt1ByIinEIyrCoqpAWRLabJ16caZa5ZVcCMtWa7HK6UstFU85XzdGOHCwl630fm9XPSLaVJggQJggBACTZr2039OMSRYNMBIbixiBgDEDQh/N/oXzzN9Tux7pvUSNYgSRFgJSBKQRYCTAAAQNCGgGgAAaAEwi2CGEWwQwiSBKQIYIaGgABOa09RtMbTABQAYlEkgaUZTt8buXObw/0Dmc3z7P7PkZ1w8PY49YxrRAwApgAAAAADEDEDExiBiBiCSABghgDBEgiTZWWMqLWVK5lJezOaGZzSzKagyvSGY1I+jeQ7/Klyeh8x6ZJxrvl4K1Zoy303JlkpF067AjKIPPfZrtw6JrLxe/xyvs4vt28/AqfU+ZE5SWDCJNWEXdMzG6RgOizmS6Npyl3J2cF97Qebn6jSnkJ+wK8i/YKvKWevus8c/ZTl8LL2Dl8lL2M9Z8c/ZCeNfsRfIWetlHlLPUNfNz9CzhT7bOM+wzlPphzpbwwvcGN6wyy0BQXhSWksCwsqLFUI2iVOcSpzCKsURViWBNEVNEVNEFMK1aitWJYOQRbcQckgAPzvo+Fbx6MW3h6c0baZpzrZZKpljpdltVWS4s+sfJvsnTllvttuY3TslWGfPqMCKggAAYDBAh2EZRUEDQAAjISBoGCGCJRlEkADQSIyoQiUYolW6ydTqCDYOTI031XMabs2pmw7MUttc6M6y55V5VuLi/Dv5RmrcYPUcD6dN7GKbTAiNCGhDQhoQIVkdNm5o6cWJgAAIYgbQMQMQNNHP8h6Th513duLdLqQaygQAhiABDQAIGkDQAJggATAAaAABiYAhgkAapgCBAAAFAQJic5p6kiIScWraSsAEKIhAnCNUbvQee9KhDSpMOXrVnk/n32Xycvzhe4pPGv0uSa4p06axGmorJEiAoTgTKwsKpkypFxSFxUFxSFpSi8oDQUBe6GXPPMsVbJpBJORWXMpNKM5qkY5bZRgOhI5h2rDgrvNdmunqL5D0flfQ3O3Tmvlzczsc2ME0kihkraLhwmjDokEtNCLudfWcn6X8xu3JwTV2V2p3+jb1dZ5du9mJbUuWy6RmNDiid0qhOcrKbJuIyJApAMajHYpAqARjaIbEMVMBpksXIEMEAA0AAADQAADQAIaSGIoABNCbAQERqAQCaAASaVACTQAhuJEkhGhLPy/qeFZ4u/m3cu+1VGOk1CKWql1aqqrmWZ69Y7n1Dieg3zrthcPJPKtFUoLFNAmCbZFsCLQJlii0owiLRQAgAAmNNDExoAlFjaRIUQiimiI6p0rKLEG2JyRXCddzmIx1OcoTljjvyY1TVbnyTjYHH1Z4pRtl9P7DPpz1EykAIAQ0JMFFgk0HQw9LWJtG+Y0DBDQhtAxBJADQNCPN5TRnXQ25di3JlykIAQAACGgE0hggAAQNAAAADEDEDAAAAAAAQjEKxAxA0AJqzlyz2VaQcTcGSQlkgEmRCNsjLn7Ooweiz2s3yzM0RpRbWokc+iqOZyPR5ZfI872PPmvLY/V0HlV6aNnmj00jzB6pnlZeoK8u/Us8s/UyPLS9S08seqivm5+kZ5s9LI8y/TlnmZ+jZ51+iZ51+gVnCn22cW/pTOeurA5r3BkWxGaVxSsdiVNocqwkidLdi6nPfy/ucPfHpLqLJbcO3OcvJ1eXI4zpLbsukYBCq2Fl2DVWVK+Mca+D3W0x2V2ns+zyOv05oYJkliyURGxyJUSJSKQ1TGIGNqYA0E2sCTE2ImJQQNoG4tQCE0DEDQDEiSQMiiREqRBRNQjVhWyZEJEUScQbiDIomookQImoBOMYrMrCagixQRYqwsK0WOoLVW4v5u/PZ80r6nLzu6zNZy6XRQ0RcUjW9+8ZPZUek7ce9dGzGjJTnlvzKNrSBuEhpBITAaEIpoEScVYIaAYkjAUcWjQDcZAAJhQRBxEDSCIh1ySjbRSGEWkhToz2YII3nGpwzrPm0Zcapz35spOOYzQFC935T6fndrabaaENAmgTQgCI0RTiXdHDu3zYGsAmMQAgYgkIGJjEAIPE9fhegzvZrzaySauUNCBDEAIGhDQAIGhDEDQAAAmNJjEDAAAAAEDQIxCtAAIYKwAODrzarJNsRIUG4iTCLYJisslSi6NSiaris4wjLKMYk4xRKBEdc4WRbkVqwqlWiVu1y0O4spdrK3Yyp2MpL5Gc0Iod4Uu5mcvRTK5lEdAlBezOaEUFoVFoUu0Ko3xKnKVVq4KZWOoTk5Ibct+deBydzzON+5eSUnQonEhxu9yJas2ipI2QDQAVtFlKV46rajBRsw22NFTsqsPcdfkdfrzAJSUZCkgbi4scGTlWFpALCDGKJbLPItdUi0gicq2TKwsUAmVotKwtKkXFSLSoW1UpLzPGXWsZWsw0nTXJSdc41a9uPAqj0S8zSerfkpHrH5Ir1i8lGPXnj0evXi4HtV4iJ7leHR7eHh6pfdR8JA95DwaPdR8KHuDw6l9wvEI9s/EyPZx8gHsF4+B7BePkev73zD6NZ5zy30X5+1XPPPnu906orOxv6Y5vaqv78Ye14frM2eCrPz6WVpK0IAQwABjAGCAHZGMoiQKJpW00SYgIVgCaaSQDQhpoBxoBijIIxtgQBqpxaMYJAQzaOfc4bqdHTOOjZmxrLl04caqoccnzdmOHB75fW+np0Z6ikqEAACAIjCI0JNEYTVm3TXPfJtAAWAIYkSEDEDEEhMQ2eA9J5j1GN7NWfTYArAQCAQAIAQAAAIAQxANANACBuLGIGCGAAimmkAFGgAIAKBA0BxdDncymmAMABiBiZEkhKSIqSIqalhGxFStUtSsLKVaiqN8St2OypXRKZWMrLQqdjKiwIOUiskBMkRJMiSZEmhKYRJMgpoQwipohGxJCQxDRFTRW5qkDqMkEiLkc4NeP4b6P8449PSaOV1LNWnDrizHsrl49d+cIsSyddlhVZWKxQJ1qJXy+zxbbwVSsqme47Hl+j159ZciiX0C4UDvrhQO+vPU5vql5Go9hn8lSe5XilHtF4iK+4y+Riey6vz7antpeHR7leFR7yXgpHvIeJie0r8TWe3j4es90vCRPdR8MS+1r8bE9lV5KJ6evzgehq4QvYjyQ6NORRoeYNNdaGgIxsREkyBIiKmECxlRaFTsZUrmtBoaZlrkYlvdc86UjlHXnLxX252cGfdmcE9DYvmV6qZ5OfrJnkfc5u5c5uL2MHTNU+F16hbGGsydZqWdrne8xbMU48umeF1TUAYQsRFgCmhMYpMERBoVEJQAQoJjaEAEEwEwTGCYJgICgJCUkISIggYDEwAGnEo5u2jWY2qq5z83oceWvDswct1wdEV1X0D935L6fnd0020DEAIaEACAScQTRC2vRc6mjpykRCQgaABOwEwAGIlkIGjKeK9V5z0mOmzRRfrKUkkRoEAgAQACGhDEDQhoAEwEDEDEwcWMTARTEUxENBQChpoYgYimgMUiTIxEhMYAKSE0DEDQCAEBKlJSqM0QJllamFZJkCSpDESkgAGIBoGIACJSgVOKjEytF5B1IjEsVYWFUTQ84XRpC1U1Jrlz0u9c+s6S5Ua65x0dqPGgdmriUx6A84j055lHtfmH0v59y2u75v0Fmjdm1Q3m0rz8HUyRz51ySy2i2x570VWSBJuyvkd3mrlUo2uUJHRun0N45S7AcmPbkcOXckcKfcZxJd6RwD0DTgT78jgHoXXnz0UJeCuu5rjS67OOdcXkvqs5J1A5j6KOZDqROZHqwjmnSDnHSDmnUZyl2GnFO4zhR9Czzy9IzzS9RI8svWM8meukeRPXCeSPXs8e/XyPHz9czyT9dI8jL1rPJy9XI8rP1DPMS9M683P0InAl3WcOXaF477AcmXVZypdMOZLpBzjokvOfRRzn0aLONzu1xtTzOrRzt568YGsudPt863QdfLoRlCajCURDBtME2JSBCCcSIxFgJkYuCtJqNMbQgNIhoaAYACCQAm1QDIgCEEQapqZFNI2pChKhM84LUlnsz2YMHT5EU4dWDltZbc8ShLSvrfWZteOrAoAEMECBMsSkiKkiKlEjsy7dYbT1gYhiBiYIVkiISEDcQmRcr5XT4Rzu9yexjpqupu1hJoQIQAgAQACAAQAAgAAQMQMRTEDEDcQYimAAANOECpoBiBoAAMpAkkRiXutlhWFigixVFWlYsytFpTEvKFGgzhoKJxMqRaqAvVBVhmnF5Q7LShl0a4lypRcsmU6hyYHZhwqz0B56cdxcOB3VwkvojzsI9JDzYeghwUver4sY7S47Ou+Ojp58iNNatshTtnZzo9ZHKXYnZxX3Jp59+hnXnH7joR8+X1NHkvN/Q/G46eR9LwfTpbopuiNiFzV3Rk40rYFOlWWQjeyqybStSpJc3pZV5S0rVou07tY6PZydLtyreqyMs91kvOl0ZnLl03HNfRkvNfQDEboxkNoY1sF5PSs6MvGy+mhNeWh6us8seoZ5d+liedfoEcE7wcJ9xnEfaDjS7AnIl1UvMfTUYHtdYpa2Y5amZXqjFBpjVDvEoL0VF8ig0BQaAzmhmY0hnNAuc0BRHTArjogVuxRAbIk0RJxoJRiLkrRU81nsHmKq9WvM2WaOdvxLyuF6TjbzJ16d59H6e7Pw60lsZaadFEtZJKpCAgEkMJRAExoQyJU0RSIIiwUYwaEaaAAQNQQNOJNAMEMhISQAFJgKcJIkwJRqFnqks6NWTWOfOMpcnK2cqSzBpyc9QjfStXsfOfSM62SUm2nGxoBoABDEwjJEQZGEkS1U3a5txdyxKmAgkKyATIBN1hOUEWEUT816PyMvR6mLZneqyuesCaBCBACaAEAIcWhxAHEGRBiYyKJpKppAxAxOmIhidAAAgaYCABQxAyMjgryxHqY+ZZ6aXl5L6SHnmnoI8IOzHkRl7cuEHdfCkdbNjibjnh0FzoHXv88o9PLy8q9Q/PXJ2YcqJ0KedQdU40Ze1PhSruR4onVhzmac7mVR0Eudagyz0MzvQ7MZrctEtLMttqWCm4gTZXNhUrERo0IyWLFc9fd5i/pn1uny3V6c+1bV1NYyT6erN5HV22Y3GyLmpODKfAfRfFY6fPOtztybteRZbDFTHSrzwCi2qyO2jTY6ZUFlbslonu2WYrtNtear317bN2rR14PWaM6jc7ZVdK6IWWzms8riXOtYZnpDItgYlsDItaMmtWDJk1UwsZJSqMlZAkyLaAEMjEsKFZoMkTTLFE3nLoO2cGo9BPL0JaY6CWhaGZ5XRK1aJAsCBNrWWBWWBBWBAmRBsCNjXPO0Kc27LZUWBVKwKlckqVsSFFPzqz0Hk+NUvTlyZR3N/lNWp9KwaM+ocrdCzkd/zPs9T1madfHrIQOm1S5q9kDGtFS1tockxEmRckQUlSY0UWhRlBQGKSYA0SlEYmAAA6SkQmCxYyKlGxJijAQ0KUGkoyiLFo5yyMsV20KNzUp5zl823JiShVDOhRkeo9vzernqDaIYsSQkWykNIAgTCIBGMkaJI3zYKmIsYhBMlQIGmAMAYAD8X7PxMvpNeXZnd8ovWBACAEIAQAAhAmhAAmCAAAQykAMAEwBMGnQAAIYIaaGIBNAACCPnztZTKxEZMVMQyKixVqLHWyaQAMRJmaOtGVbQxQ6DOYdSUcp9TLWd2tKi+2sS3swPejHLWJleorMamuU1sxm0ML2hiNoZZapJjW5GN7GYnsdmU2s55vLOZHTmDJstPPVepy41wbOr3Y8/7nr9XpzrvZNIYIYAwPM+l4eN/K7bedL6NUVZmrHbUtlF2UurkJHRLbZQuk7OZda7U8iL9HKkaJ8uNfVY2qoJVJfZkt1z3X4b5ds8s5u95oxsMNJ1ThUHpDyWc9ovCZk+hx+a5z6fX8uxV9efxqs+yQ+PB9kh8YpPtFHyMPp+f5gz6PT4iK+tx+TjHps/BlHTq54utZ5FkaxZE1EVJnZ+m/ILtZ+3S+eew1Om6pS2KDWbrJLFWlsK2lhAWbrCZBFjqC0qC11RLyplme2BQ5RsFBRYoBLNZ4iuJ5lxzUMVKQRvp1n0vL0MHXnkzbOXZyvoPzv6UdJROXWRFE1FE1EJIRGq4M5dWqaBwlGk0Ixoi0ChKKjQrlFowaRAE0DTBjKTTCM4SpoBBYhg2mQaQk0W1SoMmPQ1osnClW5JXyOt59ObUQ5aplVIh3uF9Fl701KdAAABSCxNCIYJSiOLAjKInGyyxC1iSRYxFMQjEAhKxCScWMiyRFrLw3uPD5vqNuTZndojWGhAACENAIAEIABAgAAEDRQIRiBgrWJgIG0DBDBDBDEDAEAJNEITgeNlotjG9zML3yOfLfI576MjmvpOOZLpM5z6TOa+iznHSZzH0w5j6cjmT6LTny3ROdxPQ8AobKe7D0bEWRSBNKiQRGCYCaCTixpgm2JiG00GimIqQJJyhdZm53c5hknVKa9B3/GfQ7mOuxYsiKWbrRaUxNBmgbDBA6XKWWXwnm/Y+N577kK75JRlYtT06DFp132VXsqmuusv059lVolZFPLVfD62KOvT5Wcveo5lKdifC1V0liyR1Ycyw6McU1Ka7DYU1DjVpjdRDLUnTtLsmqC43qglFhUXQr0FJbUWquwrdtJqqrmV2X0llVdxRdKBKNWgpujWaaFYQnOgv0YLU9p7D43o1n7XL556xevGllk6JlhWLMqkTdQWFYWEEWFQWxqxJ05cWw665MTry4cbO5VyYnTXEzne+X+y8pHlQM7ZIIjQrag+n18npdudfntfI1nZ9J8d6/O7JVS5bm4sBoGMEwiTCKI04ERVzgqCSClEQ0QTirakAxGmhACaFHGVSItG4onEjK040AIDQyMiI0IcRYtGS2LZZGuyJUSiZPN9PhZKmzNzsZwE6P07zPq89ZgKAxAABY0NENCGgTBRlEjdVdrKA1kQhiLG4sBAIAcQkRaNxatxZT5Xu8jGvQa82mWYGsggABAAgBCGgEACFTEhiYgAAEMpAADEASEDEDaAEDEDEAmhpBGLicG6+1M8tU0yy1ylyS1tMr1MzGlmY0tc70Bnehmc0MzPSGeV8ozu8M0NdacrzfrPKLnEtSXR5m6tJVJJxIxJQS2KASdbJEAtdTLHUFjpC4qRcqQvKQtVasvKCrymSWqE7MCvxzV2/lcrL3NXgzN9rDxt56inJnrZRzKc3qVYJGiNUZdurmXV7TwX0fwObb0svbTLqssIyaG0VIg6jdCBac/HXVxYnVhVEuqhTHMV9cX02RKZqyL6LVVNlVhqz2RM9sLC2i2BVdUy6phXpqCdZIhfGsujnuFVfAjOtDrmolKt04SmARCDUS2c91qpNBnsIFlcrCq6qBoqcyuTrLrsdx6v03yyy4+t6vnnsk61ZNvJosJtxYxRZMJREVSkiHh/cc6vFasWWzrQzT1m1VxLil1YQZOiUDic30fN56583XnU1Bkkkes63nO32xj4fS6Os+m0yq5db50WRdKmZMRUlELFGsnCESxVosKmTQADENBCysiIWbjIExATEAEWKNOmBIAUk0ogABAACSFGUQhOlaaRWOJGxNzWrLr81HNz25OVKkg0ZvVx6/dXZOrQAADTQAsTQNAAmIAinEc4y3zBKmgARTEIAlYkMi0YmDTVtNOFm6vFxr0ery3o5dAjWWIAENAIAEAAgQAgpAAIGIGJDaKBAwBiAaBoCRFgIBpgkwQiUUChKBC2ybNcrHFcptYE2QcmQJsg5srlJkHMIObIOUiDlIgWCVV6Kzm+O9t4mXIoupdDm6rOjRTRZrjkhLtMCl6C54dA5wdFc4Okuao6ZzEdRctHWXKVdVcojrLkh1lyVZ1zkI7M+GztxWgy4+s15FPdlL5ezucaHi7nLMu/BI3Kq8dRA2Z4RK3DUe88f6PkS5e9530FlkoEWKIMjjN1XKprdkrgXGONaoUXImRsIpR7Xq8b02s8rle6sl+T8f7dCX4kvr3Bl8NV3OOtUJIviBCEolzkiqLgaItEG6zVCKHG2AgQOu4rhbAjKIJaKxypCyMohbnZJTjD0YrKuigYgKrkElIqhqCp3TKNBFPT+y+S6j6+crqEiLViY0whCyBTVdUYvM+wpPm9/qvLJYc+/U0PO6vM4miNBV9SDPm3xl5VPWpzeZDoVS6PVeM9N159D22SBRKuXPrbOqZZOtlhCVjcWEHEUWhDATQ2mNMENChKACZITGpIQ1QCgAqQmAwSaEAA0AmIGDSHGcCOPRgqLFZIbCRklyealiyrpupwtosqls+neL+jTcpMaQwTTACwAQEAMECAEKLdSNVeuWcthbFCoEIAICQxJWJLNwaScWNpjaCTi4kIlBMABAAIAQAIE0AKgi0AQxK2QgYgAAAAAAAAG4okgBoAAEIaERTgbJKTIwgYKNA2gYgkRCZEJuEiREJOJE3B1NqSKNoc7xHv/A5ubRkkut41W2XPjXQ830uTlBScQLGUlzM5okZTXIxLfI5x03XKOxI4x22cM9BI86ela+ZPUNPLT9TauC3qWHFXbkcPf0dFafLeugz80h0+dLRC6ERupK3GbSRjbSRFA9NdyPRS+a7fD6mpvePFHVxc4LIwrL6qAUbt2pz9tma5uoglZBZslb69PMe77k9QWLyp6Pz3Frrf0F2I9Jx/F8Y+i8Xyvo45vJ936qX4nR9a4Uvh7ujyVdSBSjGNdUJUoWBCRMgrQzmhlSvZnjqDO9AZ1pCh3BUWog5IHEJupFrpReUI0LOF5nRoVDLSuQ42Wx6b6B4f21k3BrNwmNgRhZAprtrKoWRKsm6B4/gfS+JL5CU81zcQKnKt1N1SJJA0BGFpZl6/P97HTyMmoyJSk4uputlk6rLG4gRaEAIENASAAAaAhFxGAEoyAGIAFKIAU0wGgaAEwBMQIUgCMohCecpzN7zGZNVMriPl9POly1W0c7Vntqiddm2Pa+gp0TqwAAEwQAoTEQ0AMiwIjjRfn6CXky4qhejLXuRza+pCuZHo1VijbVYmmAgbQSlCQ5QkScWNxYxEo04E0AAJoAQ0AIBJqgEACIC1oAAAEMTAEMTBoGJDEEhRJpAJoE0VxsRqlRNm51yJCJWJEhIkRCREJOEom4yGJEnGQ5KY7FahKVpk8X7/AJU14av2bjxR7RHjLvWOvJ5vYYl87LtxOTLpMwWawzzsCLlYVGq0wvpW1y31Wco6qTmz3i43tZhe5mSWtmWWkM70NM7vCq5ROX5L39KfLs3vPIy85XVxXNFao5rgUlE/ffPPoy+IlF6klCuLKY3Ge7o6NZwaDJrOvIhUVwzqSl6mTy/rfZ31TbT5uz0Pk8EdSmnR6iXgeizeZTscG2WpTY8hZP0WvFXP4FK7t3Fvs9d0fnXqZexw7vM5T5HseyvzGf0vlL4o7PFhmcXQqEXqkLlSFpUi1QRYohJIGhwlZYZzZYc86lhx33Lzzr9PaeUr9m68XZ7W2Xxuv1tlnA62qyy3Zmvjbbm1qNBOUJkmMjCyBVXbWVRmitTRXG1HP8p7qlfl57byaZnmRqMrrVLGzYY0bVjE7H0nyvr6wx11S0qyKxUkEkE5VyJtFgmEFKIkIk4TJCkIYRAqEWoYMJIBioAgABEqjJMBAJoJRY00KEok3FjhKBXluyVGUjWVKNMs+NbQZ8Wjm4tdEqsarRJmHtfIfUZvdYpTaABgiGqBpAaAAQwQKkmh9LnbrLlWMzUESIoaEEXFcue/PrKaVjaBuIs3BpOUGTcWNxYxMHElkgAFDBDQAgENUgQCABDBABTEAAAAmgYgkIAQMQNoAQCAEAgC2cJMylFxIiKwQ0IbipW4olKEi1wlEkIc4TLJ1TL7armbLYWqOcykuChXxM9WukwY+jiXFRqolphdAqViWBIIsZCNrM60yMr1oouVZsu41Sejl5hnpzz11ds8+zvnKsOiuXWdeHN2JGjq708xZ6+48nH2EZfj3H955g4U7ZGWG2VZJaWZPb+P9LLxsPd59lM8uGz1V/kepvHRwTisVCnNnC/15431XubTLqo4Nnb4XJp1mmVHal4fod/DO556GfWddNtNPOvTZ1wvT4/NS7uTrhcyhblljq7+vN0eU5RUs1uiMeff6+Xneg4/krPV9f5wV9H5Pk/WRxeT9krmvjFn1TNHzS36DVL4ez27Xxz9kq8nb6lJ523uteHb1yOZZvdmOeoXNLQFDvCkuCkvaUF4VO1LW7WlLtmS2U2EpRCU65lxFhGSI1WUhGcSCmiKmiCsiV59gcHN6YPKHq4nmbPRRPPy76ODPuWEy+iyEbIrVXdApJJWADhIscZWDTESCuu6ojNMk0AmqERhCFbjIYCNAqaYgAaAcWMCwBiYAmFScgaZGqeQrolZqNGQs5umMuOi/l5tebZlxas+qEZ5DTue+4ndnSYMTAGigBEAAAAAnEBOogF2mi5mSToQgEhoAiRM2a6nWRIsYmDTVuLJyrkk3BknFw3FqyISIhIiDEiSEMRAgACxAlABMKEAAAAAEDiwEDEDEDEDEDQCAGhUwRa0MycXLJxY0EqYCAEAOUZk5xsiKkBJSJzhMutpuS66m8slGagyWMbI2V0aM5kx7MUZs99LVcJwIpoQIAAGA1IJJkpRkTnCwFfcnPfY1nCo9bbHhLPbyXzHW6ZZVaCnP0eUjVk4tNnU5mfFHOm8y52U2aI5RNkMwaOtwrl9T5b1vjZen7rx/wBR6c9WTqkeX899IVfIvTe2oBU8Wzs8fiW9MBgtTPs7dGd7PO232YBK5jDMpa+x3uHnXY8nC/UxytzGurJ6PN5Xsl4qXrcG92IAk+l6XNXkMCqEVoK6d/oI5Xq8uKuF1t3Gj2fhOdkl9d6r5v8ATbJUdKC8ursqXjHUpML0VywJMg5BEmyBYyouZQaGZ3oZmekMz0hTbORVKbIuQQmMJqwkOZBTRXVdWQjOJBSCIwipBEkhEggrEQVgVOxlemrYlFV9elRNFcLoy0QvrWuQEJQsCUJ2SaBoQoOIxMmmERhGE4EWASUhMYkwQykNDAlAKAaA0ABEAi2gTrK8F1NSIcstr51+daM+xanNo2YMs1NlOKqa7ZIb+X7hfUaYWTomCA1Q0IACGCAAAE0JN1BgapjuUNAhCGqQKCLiY6Lad4CIshBIQScWSlBpNwkSEwacrEUxOE0AACYAgE0AgBFNAAgYgaAGgAAEDSBoIGnQCGAAgBMaQMQWtORtEraYNIYmCAGglKMosnCQwAlGROyqwtuouNF2fQls4TlYDRGUUhmvzpkx6sa56balhGSIKSIqQIYIbExg0EpRZZOqwuvzWps1YdVm6/HeXuqUsyAs61z0zee15ZaVc6yZ+lE4eL01UeSyexpPGv2E7PGy9nbZ4qft7V85w/ZeT57fueN2dZfR5jmu11Ph3Q3j7OfLutc6eX6fs9MfOrPoNkecwGLUqnXo3iJXx16vM7/S56zy4E9SqPRvs4rv58ttnT7eNLz2LMU6bY2DhCWn2PS8hL2fGXakz7cU1nGr6CY+bzOAaZYZVpgWFPVs+k5QuapDCKmiJJEVNFVeklxrYoyvQLRK2UtTtCt2BW5hWrEQU0JgIaBoG0yU4WE5xmKMkQrsgQjKIkwiMIjBDBDBDQhgAw2577M9coUJkqUgqhbCqYyrljdTpKpwnZIiwTRWNCEyxxYCQoyiNMBgAAgKbTiI2JMoTYhsTGKMoiGhxcRZbcSquGGnntcuWnoVZZboZTTglnSvPZlxapwLLfqniPoOd2tpQZQAiYgAENAAAAgKItBOsTcudHWelHmQOpHlqunDnxToRxBrhnCUUUnEJODJOEhuEiUoSSTiyTixyg1kRZIiEkgYgkkAACAE1AJ0IBoABDEDEACGRBoBoRJCJCAAAAEACYCC6UZZMAYAmmAAAA04bjInZBkwQ3Fk7Kpl1tFpp0ZLzTOmZYRJZQIkct2ZMuTRlapqsrIoQgQJghggBiYNMbjIlOuRbbTYadGTQm2/HdWmWdxoKGS5e+k5VHaR59dzOvLNVJUWBBWsqLWUysKrlMIuQHE7pHhtHsubm+eWjlxpqp3L5z2vP9DWjPf4u5913vkUd4+wcTLsXkel5vc1nwMfofE3jy1Hb5u5TVD0GXD9dZxIp4/bo1nLR06JceS72Od8Xs4/KxbTfo1Mk7c0aXu9JnUvD05tSmq9S55a5Gbt6voMKTBc9aUGIsnmiuozyLSFhEkiJJERghgmiWREiRFqJqVACGgAAAJJkpwmWSjIFKJCEoCiqyxU1mow1nROVXXZOHWd887A9JDzaPRw84j0NfAjZ7HVg2lEZAhuWIwhXajPTtrKL67zJJNZILCMqwECYyaAERoTIUkxNBJAAAJqhgAOVSi0bToaBRlETiwreYpxwLale7KC5EIXQMuTdjk5+XVj5bpx6KJGl0T3Hdq0ToMKAEAABDQAmCYgTQJlEZQJZ78VzFQW8TjEVkQkohNwCaQNCGIJEWNxY5QkSlCQ5REmRZJwZIQshImkiRFjEDQAJiAAAAQADQhiAQA0hkWAIYIYgaAYgYgBMBAAjS08hpgAMQMAEwAIcoSLJwmNADiE51SLrKLDVfkvNNlFhaQInGMBZbcy0Zb86012wK1NEFNEWwQwiSKQ2JtxFyBTUxzjMstqtL7aLC51yJODCqyJFykVw0KXHV0EcuvrwOQ+lTZjL4lZdIzu+wyPVGs7vjFSsVkHIKeX3HHjOZ9JcvzLX7zkHm9uHk539Dx+U6hx7tVGsdn1HB3r193zLlax9rzfM+7qXcv0vc1n5jp+jcTWPMWdnrTWXzHLqssy2RL511kvS9DnZu35/ejLOcFk6Jmnua/dEG1kcyWqyLkhKSIqSIjBRmhSiFtmVLqVDLiFhEYRbQhghkROLGa7i4EF9EvNQPTLy8T08PMlnoo+fid+PDDs5+cLrqpSWQiVJIBoGIJCSycQkRRIihxHJ7eU4FanETAE3KpSjYufbmLNGfRLmCQAUoygKMohIRMEJNAADTEwEDIyATToBwgFbBEx0gIIuNCIEOHbzLdts46ySSJwTiNcs61YLubhDLLNjUabakPb+O+pTW62MpoGUhiIAE0A0AAJgk0JioiwfL6HM1hkVvMlFSyIhIixuISEDQhiCSAbixyhIm4Mm4MmRaScQk4iycGSSCSQNxCSQMQMQMQMiDcQkhDQAIAENIGgGgBoGkiQgYgaAaSJIRrAybCgCBgJpgAIZBJSJzhMABAhuDLZUzNN2O02WZJmkzBohTCWzO6SFM61hGSIqSIqRURgiQRJCRbFTYKQwkpDnGcStrsLJwsJuLJOLGhhIcqGCBkSSIqaKlcissLKyxFULoFULayEZqyJIRSGDbIE0eM876vy/n9yr1VzWSVy1y0dPzcbj0eLlW3M8fXvuJ+q43Xtupt+baz9f6Hh+inqeNj12cXje/26z8s9t6PnHjeJ6fk9Mc5OFiU4y1ew3eoxpQZCGCjMK4XBnWhFCtjVZISEbEQJIi2ERhBTBSSLbMqXUZrx493kIyaUXTQlEIHFgIQEiSSWSSRkUTSRIiiREG4Es3BknBjSBuISto2J7Wq2kiiIxBKUJQ8s81Ri2srqbiuOjPEZRlUUAoTiDTJJoSGJgApAmgBA0DBiGAwVoAE7BOIQnAWPTwFwEYHYnh16mmqUEUDKrwSyYtOW/Ni057s8l+ecD0P0Pg+inSbCkwQTBAAACaAAABRZSaBCZn5+vFvEklY0kMixuDJEQmQZIiEiISExuLHKDJuDJuDJOLJODJODJODGIG4MbiEiISIhIiDcQYgYgkhDBDEAgBAAIYAACAAEAgYokkRJCDeDyBgmMQwABMYgIJxkTkpAmhJoiCHKEiydci6VUi0rksklCrnWtddlZGMlZEYsSQkRtUpBEkIiQibFTYDGOSa2TrnFsq5FjrkScGTIhNwZJwIk4OpEQkRIkRKkRBoBQlAjXKNiTSAA2MbTBMKvn30ZZ6fK4eq8vx9KrqmsESQUksVYrlMkzt6fAVns+h87dx9IPC9Oz0y5fRsv1ZFZ2Nnm4Weo4uXVc8Tr79ms6a2ESQkRghoAAAEAEZBXC8My0xKFdCqyaSAwSYIYR1V8Fer42noq0JRCUEAIGJDSRJJDiJGoyGJElEJERZJRiZFFhAJqtk3Bkupye4nqKp0iSQ0NZRdUV1ShTaCdtWgnj1YoYihCARQ1IcRxEZScWSAHFggUMQMAbBQAAEAQ0FFdmVcfC6GSqo2xDTXrlEQqrNZQleW7Hi05Lc+Fdciw2YfYy+u1QtmwCxMAExAAAAIaAE0CCkCE0HMoIdOckkNCGQkNwZIiEnEJCRJJjcQmRZJwZNxZJxCbgE3BkiLJEQkRCTiEiISIsYgkRCREGIGJEyLAAEAIAAAEMQCENwkCABAIAQhtB0hmQMAGCYCYIYAOHJSHOMxKSIxnEipRBgSlGROUGTcGsiKCDiRrnEiMIkgiMESSIkESQIkEW2IbExgxrKUJk5RcsmgkIJCYwBiYADEDIomVwNBjqOgcuqOvHiUnej5+k9KvLVHrTx0F9lDxxHra/KNfTVednL2YccTq04CWjB11Nedj6WE1599TFOmdiWYSgaksXJEFaFRYtY09TgRvP2fQ+ePWfox4joWemXN6BZqzK56uzzsLPVvy2rWe8cvZc6ECAAAgAAAE0AIIzCqF4Z1oiUxtLLPnv0Lx0uDU43QolSUXACGkKCAQgSSNECZVGW9ZK03HNhL1TjQXuLgKO7Vxox24cgXqRwo2xyOL/X+J+g6noaLc+shEWbhGHU4UkA2BLTnuimhlAmEZRAENxkRlGQgVNDBhCB1FjISTBpyjQsk0gCGgsEqlXJlzzXnslqZoWqDTGxaatETNm3Yk52Tbi53NG6jNzClcv6j4b6TnpdJO0FJEACYAAmmIAEMScQTVCcRKWazlKL3hkQaQMiDaCRFkiLJJAyIScWNoJOITcGTcGScQmRCZEJCCREJEQkRCZFjcQkRCQgYIYIkRCQgAAEDSAABIGhiBDIgxACAEAIOsBkwAGAAAwTTBqUOSkOSYKSIxnEjGSAAcoscotXKISSAi4iTBIAGIhghgmMQMQwTbWJJACJOuJfLLGXe+bFeq+NCO2uFE7q4CXux4cDtQ5Cjp189GyrOLZXEIwsjECQQUwULYgmEHIitzREkEVJKm0FdkUSsgCYJoJCa8o0Z8dqq9hNYHriVOMpq2FqIDhYlZKylzTMar1ZXOcbnV1fPK59ht8HZZ72PjN9no4c7dZfpyqzr6/OQufWnltdz3jma7NAhHFoSErAAQJoCLiU+H14l6EOdnXrPiKO2vO0np6/NRl9HX58Xt18hx0q8QaoUEtkYgWV2RTfCYouRGNsSLVhXMmVsmAMrmWl/1TndbpjJROmxpRVxEJIpsIbTLa7M0QYrW0CAEwGERuLBiBoGCsGACBgKNEMYoAJMRRELLo4a4lGRdox21a4WFlisSuvTCzJi6PNrm49OXmhi0ZM2AaT23qMu3PSQOwQxACcWCYAgcWAgBCBMpRlAeHby7MTg94ZEJEGMixiCTixiCbRA4lSQ4kgJCYNBJxCTiwcSpEWNpEiLJEQkJjEEnEhuLGCJCYOIMBWgRoAIsEFAgaSG0gBAJDEDdclGnInG1ekNyIbEMAAGAAxSUhyjKJNSEmEU0RUkRYwaYMAcRZEYk1CJYq0WlKLzOl0mZGpZg0GdS6FnZcqQsjFEooVRkCBQKSWKkoipogpoipogMIqQQJogpiwjbEhGxJWWEUlsSskitTREkhDIgSCKaUGgiwTAYAAIJorxdPPNZgfP0Vk2Rq0Ncj0ZZQVi1uasUJxuYqaSKkrIpplRkiCnXczsyw3z7HS8lZZ7fd4kr3Z47oWegXM3mjXiZ19nnDWfTy81pZ7Zz9dloxK5SRHLr8Uvk60cuqYAhiGCABMEwtAaAnAmCBE4jBCG4IkkxygyUoVmivFVZp+gcT6prMs2rBc5YCulGUKEmIGNjhSjMM84ADENCBA0xxaUaYxOxMQxMAAHFRhAwUGhiYoziKudRi8/ZkLZxSuVLjVbluNujFfrNsVDUz8/byox5rMvK013Zxeq8v9Nl690JzY0WNMEAJSQMBKSEMEpIipFRGiMZIOF3PN6ynF6jEI0Ibi1YhJERZkWkkgYmMQWKLG4sbQScGSEEiLJEWSIhJxCRFjcQmRYxMGiGRdNxCZFg0DEDQACGIBACEMENCAQNIGgUQAAdljzAAGksnVEvKEaHmRreNRvfPivTOYzoLAzZHKGmNKLlS1sUHEkgYIYAwAQgBqmAAAAAAhggBJghoQ0CHCTQJglIIqSVRmiJJRAmiJIIKYQUwrViIE0VqyJWTRXGxEFNRBTRBSRFhCTFiMEpAgQ0NAAIyDA4R5euTgyyVLLarJS4q91ZnmIsdc1UbolKthc1qyFzXGcGYKyu5qpszb5kUayJg9GUs6mvguz1O/xmo9vt8DoPeHlOgvceDeat2K7Wb6KeLvn0vAbOZjYBz2AACBgAAJghlqYIDITAiMAaEpIiAJgDMhKumWsXeol9S1I2NouVv46tBqqMggME1KGDBSqiCChqQk4gANMEDUABpiE6GiGJgmlYAMAEwEwikHJ3ecOeTM120zoUlErITNF2K3TWVrWcvK6PIjLluyczqvpTqfTfK+vz1tYUDSNAAAAAAIGIAQIAVCcRICvzfd4G8yIuxuIMEMQNxCTQMTRkQkIVuLJOEhuLJEWjcWSIsk4obiyRFkiLGIJOISExkWMQSEiTixiBtAxAxA0gYgBIYgYkNIGhDIigwSAEBuVTxqwg1mkwYDEwkmMTCUQkJyMAGmAAAAxDAAGAMQ0IGomAAgNkRpQAE0AwiMENCGCUkIaBNAmgQiSiokQasCBMEmESSEmEVNEI2IrU4kE6ySz1GxYqo6JyajsrhVp6CPnor6CPAR3quKHXhzBN0MgaYVFTiglbQZ6aHQ+fbUs7XTZknGhVOalEgMiWWzolNWwmRXXZG5qjZRrEKnl1zgrIbxEk7IFmlMct19nNlvLORu0K5y1dHMX3YdWd324g7e/yxqewx+cLNGdrnoAUBok0DCmIhidomADRDITAQAACTRFNA1IfM6fKSr3EvqPTBZXBL6s3NtnTBrYkwaKE4hKBEpVSHTKIMBtMimgBqgAcWMixgWgmgBKADEwBDSBiCSGQrlgOVnw9Cqa9FcVSHKhod0JihZWSsyKx8jbzZKc1tWEiHePcdKnROkgLAENMEAAAACAHFoE1QmEUwgCTn8Xp8veZIKYgYgYmjE1YANAxAxMYgbQSEyTgyQmjItWIJCCSBG4g2gk4MkIJJMbiEhAwYOISEDEDEAIGhDECYAhDSBkWMiKJoAQ0g1MeNkosbAbTBpjABjAUkAIYADATABiYAADTGACAExQAGgbiI4tKyDG4gxIkohIiDIgyIMSGoImoQS1ZqzZDDUdSXCrPRS83XL6iXkKY9pHxFZ7irxUT2VHlA9LRwQ7FPNE11UhJIAGqGAAAMTATAAAGAAAAAxDBKSgnFY72QjKac4wLjORolmktxUGi7HdNXQujnWWrTz+nHKtFPTlGTlELOl09Z5910988hvr6Yyl1VRSUOiUparbbUz17764Z3MeN89zrxqQnAAAAhlIbVDQDBDAG0SkgGoiMBNBFoiCCSY+7yfsGs6cMefvGqvNFZxgLKVYXTqsGwoTCNdkIi4hJpiGAOIkwBpRNA0xNMAFGmAAAAJiEhpA2gkKJTx9mHU4+7HtzSrRUVOcVrJqJTU6iJo8enEYsOnFiUSrsK/ofh/qmdaLoTugBATENANACGhiGhNOkCHFgoyiRATz2OyreZEXZIQrEIxA2gkIJIBiBiYAKxBJwZJxY2gbixiYwEZEJODJCCQmNxCQgYmMQNxY2gZFjEA0hiBoAQDQAIGkxBFZJA0IYkSSDY1LGxpgxgDCSYAwaaDTgaBuITUWMQMQSEDABoJJIkkKxAOLAQNESSryJ0FxGdo89SemPI5z2y+fYz6ZD5lUn02n5vM99n8Y19Xm88k7dXDSdajAGmNAWlQTIM6bTzoGCGCGgAEMEMBNAwVMABiBgAAADAAAAAYAAAAMQwUomdxi4Y6WWU2LITmgmEJSaoAtsy2Zqy19Dr59fF7vntZh1er0d5pLo6xTDZHeebZ2Kjj19ihOYbrF51upWUO56zCcpWVl7Kc3Tni+Rr9pxOXXjHoas3iHUxLncWN7+xXl37e9PAr6BQeHfr8p5s9JeeUPXyPHL2aPGHrq48oeh5pzo29ReLL6L1NY+WV/WL7OP6KzFZnquhWau+mWCklTgydtFhe67BplKE1FJOIOMgAENUgcIAECsEDGqAGgAGDSGpIjGcAaSsSR5buVTpjbrPH103Z1OIytWxiBYhJzqBOspwaublmx35cyMhnqPdcntZ6WAWAAJoBgAgGgABAIbqIAIBRlEjGWdPMOJ0xITAAYgYgkIJCBuLGIBpjcQkJqNMGmMQNxY2gkRaMTATBgMTGIG0EhIk0KxMYhJIAEDEKAAkwEDEA4iMQoIEmAJDCIxBvB42MBgDaYxMYgbi0YiJJFMEsiMEtM1B0HyKI755yB6d+QpPbPwOc+iU/O4L9Bo8KR7TP5MPS08FnTyZM6acipsnBCWXZtJJCVxlWVpplDQrK2uiVNqyi4lQAAACGgBpnUlGWaDBDQAAmCGCAAAAFAYAADEwAAAAaYJgAAADAAAAAGJSIrVxNVScM7slQTel0ymppIcCm5hqy275S6HE97rN7kdOdOiU9SKnGymFriuOlWZ69kDHLZDUxz1U3MKqrVldOqA07Yx6roEiq4elWyxhKObfprvsQssaoc527YZUXwjICVpRLbZGbRGkdLdivupKM92fWZ9fLfKsmjPLXGcSmq6uaqjOK1qcBTqkui3NYXuudjQRGFkSJKBKMognG1scJAIGAAACaaiYJgMTAaCEqxJxGjOVwy7N5xzlExQ2ZZWQmTjbAhGQRYoVF+KM/P04sWmi6iRdTme3X1Wqm+baCwAAAEwQwSYAAgKTEAAIBRlEjh38qzgyg9YkJ03FjEA0DcWMTBoGIJCBtA2gkJjEDaBgKxMYhJEQkIGANxZJJjcQbQshNRoRiCSESSBiFYkSSBpAxAxIYIGgTQiBDQgBHRdFXPe18yk7T89SeofkKz2Z4Os99V4BR7qnxgnraPMyXu08iMb8Wamy+mVNjQAEzTdGWaAAmERq0AAAYpkM2vOlNN1SQAslop0lNlF4q7KyKsrRJggYrINb1CS1pghgIBhYVSutjTKUZQAAATmVjQBMgAIGqYADEMAAAAGAABKIEogDAACcRADCZAAAYADAhV3Jcz0U51KeaWetma7PcuUDWZ/RPHez3zjNrebXI1iEJohKQqU4pF2FlTlTZXC7PGPpQTUds7EtjVGLCVqtximh1WC00biyKpI5ZWmY6Mznad84zWzlCEqFCIoapmewgV0yrsjRJ6nTgqs2dM4EIyS11WQK4WQWEbIS1xsgpZS41WZrrLXXIlFRCIlkJkQasAItA0wBI0xUNDTQAwaYwQq7IEYtEOZr52pPTzttlkZhmza8pTKEpbVFo04q65wirDowxmyX5MWFe3Elv1Pxf0DO7pp2gCAIBggAAAATEAFAAgATQoSiLidzzlzzWGskoiycQkRYxqxpMbjMQmNJjcWMTG4sbQSEDaBiYNMZFjEEiLVghtAxqG4upCFkkDaBiY0gYIkkDEAAJpDEDaATQCEacUAQIFBI8kw49AYRGkd9FpVegaUhwsCIMhJoyQdllaSSq6q6s19GwtAzpgIAhDVomhiB3U6CELqyiqSSotglrlCyndl0lWe+A62CpvpK2CEoyJMaxJiwjKIgB9Lm7o1itaGiQaZCwZAbIqyAE4iqkEqrqVQMAAGCYAAAAAF1VoMUSUlMrcojhYhxsqCbiEJxHXbUDTAABoBgqrSMdemibUWl7vpvN+q3zlOmzWdCT1lSUyMLIhKFgIilSCq4Siq6IIUStK9CiTdZLN12k4uyy++skllsmLUkTnULYQCxRrLqnAsnBJbFYDU4RsK5VmXVh6FltSql1FNootLXCcCMLIrCFkJYRsgVKyMpbS10OqdklFhJCggckxpoSAaGAmCAAYgAACSYJoUJRiFVmCyFVq3MWiiUu2VRZDNpzmWSJbZRsK67KpXWURVg0Y8qsl+bM1Y9Vx7nvZtk6SEWNMAQDiwEwYCcWNCGJ0mAJoE4hCUQ8r6rx9zAUtQaSyFMTTBKSDEKcWDQJAMTsGgkJq3EJCCTixuLJSShiCSGNNLJDAUgEhyixCKkRY3EJCYJoYIYgbhKFJIZFjTQNAmAk2ghCcWQTKQI8oM49BgRAQAAGIYinFLKICpuzJAFUROwAJbsuyAHKhoAVomgTQADABMM0Lakptrdl0LKyF9c0hFpEAJNAAE4yJSTUYlrQgAHpzTOm05oYA00JRIQ0CYIaAAEwAFGADBMAAAAAAAAAACcGAAAwEwAAaYAADEwAAEwz4upmzqmDnN1+7+fe/3z1W5p6mpQVk9WWyzVCM7mu6sqWbTiLIlcS3hZGM0ThCMtihYSHElfXbDtrnZbKpFuiho7oWCaRKVQTUIkpQBlciXM01VtqnUjrdSrXzOglVM6au183oykWiMJogpxIRsS1RtitVd8Izq2uandRbZYDBTREAbjJUCAABgJoYgYIaYJjAAcWhRnnM+O43iNdsFyQ10hYgULAxqyrNsvotpUac5RmuyZubJdlwpK3JH1Xlfpq9e+FjYCQGAmCAAaAENBQAAAAAgCLQoyii8V7PxNjE9G0wAJxQjEEiLJEQkJqxBIRZITGJjaBgDExuLVgkYA2hZJENopiYxBIRDcQkRZIRUhA0mNAAgaEDQJoBpDEwQAmCBDEACASPLsfHYAQGANINNBMEAqAIZbqbCMoCYWASTVfCedAAJlqTBDQhoTAAAaZTTpzpVInYAxKUEigRABdHotcg15UcozRyUlK7KVSATABo6luXVKNNQAAAAkQwQAmAhoGmoDAABghggAGCGCGAAAAAwAAAAYmAADAATAAGmHT5izb+R9R5PLt4rqT4vbj7dqepbdm06KyhprdT1m8jUjxSpW/Tn2RNQrqcIgSLRWhBBo0TrmjkpFkqCzUs0y9Vzsm4ETIImqwsjGNWEIld+TWSgRRVulY7cekrpuoso63F6UuqLQhJWgEpJYQtiVxmiqrRXLVZGUtk67LGgRRlFptA00DQDAQAAxCY0wHFjBCcYkcFkd4zlqsgOCqKaOUZqo2qXNm20S02VuLqbM9mXDp5/O05rM+bXbCVz0fpnmPWZ6WyCgAABDBAAAOIABSBgDEAIAQIUZJM3jvW+RskBTEUwAaBghgIA1ABiYxBJxCTi7JCBtCyExiYNMGgYmMQMTGIhuLGIJCYNAxMaQNxYCBiAEDSBuIMRQAAgYkNNDSAAEAeaA47TAiAAxENAACYRTgUQasUZRsAEL6Nhe05tDBDQhghhEaENANDExZtWdK2FgMCuypEmkADTspvbMmwORPVlZlJNVRZWAAmAAGjo8jrSyAUGCGCAABACENAAACsGAAAAAAAAAAAAAADEwAAAYAAADTBMAAAAaYAD6/Hjjenz3br59Y+p8f2OvHv35LemdWexUOqSWaI5kqWbYbL0VCLCM3cQsIo4pilBGtUBbFBZOErLJ1tLJVMsK0WxjEsUETVbJxihaM1llyEkKba1ybsGhdFF9DOXXmmdRAsYTrWRW1sdchgEFZEqhcjMrqs2VlcrZg0UJxVNMaENxY0wEwTQCbBSQNAEYDySyay247xGdE5bcriEwCTFYSiuvRExU7KZaMtvOzacU6edhTZSjsr757jo0aZ0YFgACaGhiGgBABSBgmAAAIABJoimk53lvTeYskJ0xA3F0ADEDaBiBiBtAxMYgk4tG0EnF2txcNxZIQNxdMTATBiiQgYmMAABiBuIMQSQAIGgAAQAAgaQxOhANAAIaENAIA84M47QwrkpAmIJghpUmhUX5UiCsjFq5Gmkt+XY0wc0hglJABQmCUkRGoEwAB03VpnYrGAKuUEAEE5nQmnNg2LPpDly2Y7KoNAAAAAB1OXtNrTmgAAATBDBAABIAAAowBgAAJggAGgBiGAAAAAA0wAAAAAGAAAAAAAMTAATDOrp49HD1WdnxMvT5Pd38vXqXWVBO2ulM+/m9CuhZh1WDnFCURZIikoCENyucXZNwCbqZc6nZaq0XFQWRgFiiEiKJwKDRIrudiEV1ygtSlnXpU3Vs5o2U2dWdF01Gu6orIizdRLfOidliQEWFdVtcqaFucWKLVRakICBoGJgCG0ADGhhCVZGiNVkiM+nOmF1Ms87qWU00k0EnEibz1roqy0y6sWTDm3YiGLCMq5YV352X9D8N9Ta02xk0wEEwQwQAACBUDABDEDQDAENCTRFSinH856Lztg0VIQMAAVSEDAAAYgYmMTGIG0DaCQgkJjEE3BknF0xMGmAEMTAAYgYA0A0AAA0A0AgAEMQMQAgBANAAAIGJUxIYmeeGctCkiucLIBgk0JMVRlEhmtpZIyhUQLlimmy5Tm0MVDBDKQwQ0iGRFMtiMhADi4JnAsGghFxZaGLTm3roY5oBgmBTcGKvo1HNJFkFKKACFtQvYcZTTAUAEMEAIaAAYEiGKNMAABiAAAAAAAAAAAAGAAAADATAAAABDEwEDBDBDAHEDNzezmTN67xnV1PWS5Wtq2UEG3B0UuhbnrpmLfZXF1lirZOKIcoyqcRE1FkmmAhAESSBkWNwZIiqlntynVxbeZrHXIuK6L8ymTThl7SjZc56NNJquoulnXONUQuqWCcJqdlEjRKixmxJ0qrYxTIbU0IERqSaBqUCAYmIYDTEwGJEccuZZZbCjedzxaUdCoqZdAU0Q5U55dGeivOtFOTPm6MldcOuNea4EYUJKyMLabPVe743czu0ChME0DQAACaACkwATENA0wBACCMoAmk4nnvQeeskIpgDaAAARUhAxMYgYANBITBoG4hJxY2gbQOUQk06GmMQSIkNoGIG0DExiAEDBDEDEDQAmgcQbiDQhiAEDEhiRISG4BJIOGDxpKSiuyFkA0JSRFNKQdZRCSuVVZXYAMmjPvXQDmgHahkiAEMEMEMIxkiLC1JkKi/KiAsIyikE0gDF1ed01bTaYAAwTBKQcyGjOihZBEAgmHQ1c7otgyVDBAAmCAAAAJABWADTAAABMBDBDQDBAxMAAAAAAAAAYAIpLlizp04cqFnWjy0dQ5YdV8kOs+Qzrvjh18eVGjpcWyu3p89Yeiu5F0vV6nk+/XUjXNa+lgdnRqshYJKWSUSwiiZFpKyEqmookoETUQkQKscAkRCRAHkvyHb5HU4usd2dc0jnvqWrBvxzW3Zx+uirvjYpVkt5CdRrtiUVXVS1og1bdkuTRKiaWpCJA00RJJOgAkIhMQ0SATGpIAQY5cmyydOjUnZhnczry2VYpgFGfN2ZcledX0k5aVpgmSnTTGeu6rNqhZXLCMoxC7O7mrfg9ivr9dVzbBIwBAxAAJiAoTBADEAwEAAAhocJREnFOH5/wBB5+xgUNBJADQAgbAAKYgYAxA2gYAxBIAYA3FjaY2mMQMESEDExiCSAAYCBiYCBiBiAEDSYmgYgEAyKJIAEEogCABIlEZxS6vnqKnAhaMSYJOIk4wqLsxFNWVxauQBJdLHvaYWSwJMgNANAnMrTKABK6qIjVqUlEM11CAFhXZUiAQANW7PoabJrAsgiYKAAOZjw9PnEYyklJOtkYizrcbqtXANA1AmCAENAADlGAnAGmAADkQGgCwrAAAAAAAAAAABoAACcRV1c5L8sS5EOwLagABO4pAAAAAAAAGgfQ56Xv8AT8j2F9hfjTWyFdxbPJYk1WybrnU2mOTkCK0lCmua0SokWup2WlTLJUMuIxSxQipluzHd8/3PP75+lnRaOqdZDJsyzXP7/nOvL0nnhczhS11W5bkvSdV1XRjNRrzzdYol9mewvlVOxTiyUXEABuLGAAmDTG0iSSJZTiWThXLUuhZZZsxmSyuyNOdX01RzSM75c12hEVKFQp0UWU0ac2VNVtObXCcM2EJiUO7Gj+oeD+mTWixO6BCNMBAAAJoEyhNDEAMAQAwTEAISaFGUU4XnvQ+eskIG0UwAaAAG4sYAAASdRAGJgwAnEGgY2ITG0xuLG0iQmMAABiYNMSbEICSBgAAJoAlABANAAAhDSY0gaAcWgTYhIGgwShdz3VGYlNlchWSsswwuplSairPoz2KE4FYK4YBu1UXtO6i9YWV2AV2DVlQOq8ptq0lMbIEkIRoS4FJRmrnCxAIq7K0Q0gDOpZCbbtqtRsBikQnFqIAwdLAV06cqEFahRvzmTfg2m9ptgAgIEAACBltVtRbKJDnXeUSiiyMopON1SonWSrlYKjZkIiYAAAAMQMQAAFuLZzErg6dZtZIgKBZXbWWqxGe6mYSjrMVO/AACAADQADcblukonsrMWtrfZGaldtRfCaQkpUrIWjAKc12XOoSjOVtJLZVzsaaE4hfCUNERIiK6zd5/v+f1ju68O8hFxFTfQvOnEzroxkrIOE1nbTYl92e6ycZKyum+pctWinOo3U2lsoyscoslXZWNxkAMAUDCm4yhDjUYSqXm5ra9Zcrlc4+nw+pVGWeLGrIxnnUtFW3UgxUknFSlAKbaUVVlMVwkYuVqEpRfQk6dWZPZep4XfnSxisYA1KI04jExxkhAUACaZFgITGmBGcBiBJoiEjg8Hv8AGuaqteUGgYFMAAAYA0wAJsYOLpqSGRYxsU42lLSJSc4oLKqYMAYAxMAExgBOFhXOExoUSjZUTEBOFpWmyLi6hNzM8ZwGnEYITTEIGKQgBWV2EZRmQto0n//EADIQAAIBAwEGBgEEAwEBAQEAAAABAgMEERIFEBMgITEUIjAyQEFQFTNCYAYjNHBDFiT/2gAIAQEAAQUC+Hb+2QwZzUSHf+js3M9KJ+WRvYwZzoR8qZ/5lb+2RuYjlo9o9/6Ozcz0on5ZG9n2M50I+VM/8yt/ZM3MRy0RGT+jM3M9KJ+WRvZ9jOdCPksmf+ZW/tmbmI5aII5snPk5M5PlZyb84Phs3M9KJ8jJ81AuoM+2xnOhHwM4OTJvZM/8yoPy1DJuRy0gRzR7y7ZwtQ5YNY5YesfdyFI1CeRMTySeD15do9v56hSNQpZNQnkiajPTUyXbUGfN68vdIXZyMmoyah9s4WozgyN9UxEeq9eBMcsGobwKXXUKR/PUJ5NRnMU+ieRvB68+30vdqE8mo1dFITyo9I6mOXTUSHIMnKhHofzl2ziOoz01Dlg1EhvBqGxMzgTyPokMmeqh98mTJkyZPvIZPrJ8Fm7IZMmT6+smTJ95BHrruwyGTJkMhkyCGeuxH3kyZMmTIZDIzJ8TIZDJuyfMo50z7sYI5aXZHOvdIl2l2+uqH7pD7tvK932mQ7Lu+gkz1pdovp/Je7+f2mQF7kdRe3qh9VLtjKw8roetLvJn8f4/Q+31/FsY+/U/l9pMimevEkS90xmWn/KXf+eW3HvgzlR7R7NMSaPWn2z0j3ifywZ6Q7RE8R64ft6oZM50I9D+Un0/j/H+PVDJdn2b6/b7p9Y9/wCTTEmMmeqj7+2bkff3v+vr6+Azcjd9Lsj63/bPg/bGPtu+2bvsQj4LD7+/vcj73fW5nw/r8JQXlmhn0I5aQhHM1k0jWRrJg0ofu0owOOTSaUxLAlgwNZPgaBLBjrjq45MYIrKSwYNKMGhGMncMdfXayOIfWDSSNJgwaTGTB9kRdD13HIo4MDWRrIopHeSjgx10oxg0ox0XQSwYyfA0GMCWDHXShrCjHKSMdNKGumkaJdQwcsRHoNZNI1kMdNKJd9KGsjWTShxyJYMYMddzJnq4MGDBgwdzAYMGDB8PBvwfWAwYMGD4eDB3DBg+8BgwYMHw8G/AdzdgMHxMG7BgZg3YPmUPZMGCOWl2Qj+jMGenE/LI3s3M54iPksmf+ZUPZMH2Qjlp9kI/PM52DPRYRPyyN7NzN7N8RHyWTP8AzKj7JhLshHLT7IR/RmDPTiI/Ko3s3M3s3xEfJZM/8yo+2Yyp7YiOWn2R/R2DPRYQEflUb2bmc8RHyWTP/MqXtmMq+2Ijlp9on9GYwZvRzIiI/Ko3s3M54iPksmf+ZUvbMZV9sBHLDtE/ozH3Gb0c8RH5VG+RuZvZuQhHyZEj/wAype2YVvbARyw7RP6Mx9xm9HPAR+VRvkbmb2CEIR8lkj/zFd6ftmFb2wEcn3DtE/E4PmMfcZvRysICPyqN8jczewQhHypEj/zFd6ftqBX7UxHJ9x7RP6Mz7GbmI5WIgI/Ko3yNzN7BCEfKkS7/APmVP21Ar9qYjk+49on9GZ9jNzEcyICPyqN8gYzewQhHypEu/wD5iu9P2zCv2piORd49on9GZ9jN6OZEBH5VG+QMZvYIQj5Uh9//ADFd4e2oFcpnKu8e0D+jM+xm9HPA/LI3yBjN7BCInypD7/8AmMfdD2zCuUzlXePZPByZ6/CTyZObPXez4TeAyc2cm/PXcz7JG9HMiAmdjmbwcieT4WcmevNk3t4PRRvkDGGQYIQg7HJnr8LOSbwPvy5OTJ/5ND3R9tQLgph9dQ6i7rJ/FmWhsWT7TeW+ifT14Eu7fXLQ2LJl5y8/y6iZls/j1wn0z1R60wj3y2RZlsy9OZMzlL2+Yb6dR98tBk3SPSRAj7pds4jmQ5dPMN4eZIkPIm8tvKyLJFkn0yetLtHt/LLym8tvKyZbE+q7+YUumZD9vUT6Z83MjfIGMJd93UT6LJnp1M5j/Hqhs6j92WmJnrxKnZnUyN4Ms1YNXVuTEZPrJE2hOpb1o7URCtCocuTnYj79HqfD+z66mTqHUfY6jNyGI9dDOTIffU3fXUR8BgjqbvrqH11MnUZuR+Fh749qgXHemZPr63Lun5V7ZHQljK7r3fycRRPXTwPq37pDwLvnDfV/y7kTofxXtSysdYrB60zUiJAXu6H8VLou38eh/HsPvI05MZN0j0kQO0pMftft/j2H3lLIx9/t4zHvAXuccCies+0Wd5fzfueMx7xeDvJd+hHt0P4v2pZjjqlg3sEb5AxhIyfSIiP46un8X2eBnZ/zl3cRRyev2dR5Jd2Eu/28SHE3dwb0nE0FSdO6g0qc/wDbaOhtI42od5Kg6d7SqEaimN6RHMzJ9o++b634PgfeT6+t+T6YMF3+8GD10ff2w+/v7+xB9fSMGD1mZEI3fWQ+j63MwYPiYPgU/fHtMLjvTMG/B9pEQwCRg0mDB67Rg34EuuDBhBhHxNKN+EPsl03YQYRvZukb0b0bkQDCN+ENebCDBgxk+JpRg3YCKN2EGEekjcyQMZuwhghJH1g3YQYPh4JLBvupKlVd6pyVxKnJ16rHdzpqO0pzPGyco7RwUtoqVSdchdPNWfFhRrunOrb01Hz26d1GRPGIXUqU1e0akaFTEkc2k34OTAYPiYN+BmDdg+Lgwc+AwfEwb8HJgMHxMHxKfvj2qBX91M5Y90RN6PTwc2DBgwYPTyZMiPmM3SN6OZED8sjcxgzkZuQj5UgyTkU7nxVKonTlxJkZzYNC4c48R0z71NGt5fZlC4dNxU+FUlkhU0SkzPSjczgWt3CvA1dMm77/APFKfvj2qBX91M5Y90RPweTJkyZNRE+YzdI3o5kQPyyNzGDORm5CPlTHVgiddMr/AOx+eE+PKLlUWdRrHM1jZk3J9MhCtKk3IyZMn3Tqypytb9TMk+ihV1LWakxM/wDE6fvXaYVvfTOWPdET8BkQMMmTIiJ8xm6RvRzIgflkbmMGcjNyEfJrVuGr2+SIynXhCjUptuneQq5hLiyHM1GoybsmTcxMNOTe8yEhPRKjdaFGqqz4lEXAqPVUoC0yOprMn/iFP3rtMK3vpnLDuiJ89m7JuZuRER8tm6RuYjmRA/LI3MYM5GbkI+O5JFzewiOorxV46pZ/0WlZ1HWUYTnOcm4vGTkyZN2RdTSFPKIR87gsNEBOMamEUqrpHESPEwxrVwQrKmcXhFK8m1G+pt6jWZP/AA6l+4u0wq++mcsO6Ihk5MmTJkyZMmTJkyZMmQyZMmTJk3ZOfBgwIiI+XI3SNzEc0SB+WRuYwZyM3IR8TWidaNNVdpFeTqQqVVTITdIq1eJKNSUBsqV3UMo9Fmgpoxg04cI5ipCkSeGqg2aic2TeDWSeo4kokK2DHDn1I1bm2KW1KcyMoSX/AIdS967TCp76Zyw7iGIRy4MGDBgwepkyehgwYNJpEfMkbpG5iOaJA/KoRuYwZyMQIR8KVUVJsuLiFtGrXlJ06mqpbvEJvXB5RqMhgwzBgMmTJk3JilgpvEpYxrylPyZ6knkNRkTJMzgT1GrJktpwZGEOJ4R6eBcSVOvUoTtb2ldLTg3ZP7rg+HS/cXaYVP3KZy0+5EZFCPXwYDBgwYMGD0cGDBgwfNkIJG5iOaJA/Ko3sYM5GbkI+DcXUKKpR8tavpKzqSFHiys/9rnrp1PNJNRG4GTWkOZqMnMhmTJkcjJkMnIiQJjYdiP+whd1qSo3dKrKpThcSuLWdCVntQMBg/8ACKX7i7TCf7lM5afciCR/RJCCRuYjmiRPyqN7NzORiBCPg3unizuIHjPDy4sriqqUablOnTnO5UybHJjmzJv6nps9H6yMEMi8OjpmvCOoRrXFoUbyhXjdWjgWO0HQEHY/8Io/uLtMJ/uUzlp9xH9GkIJG9HNEifMyZMnxWI3s3M5GbkI+BUbUazVWlKWk4nl4j1VZ6zsSeTU0ssyZN+D5bIyNR4qqhyhIo3k4KSp3C2dfcM/8Ko/ufUwl+5TOWmCP6NIQSN6OaJE+ZkyajUJnxEb2bmc6EevOvTgXbajUqSnCcmJkpdH1H0bObJ8L63/XJk3KR0mmsCTxFxmT1RezbxVY/wDhND9wmMf7lM5aYI/PM55CCRvRvRugRPmM3xPhsRvZuZyM3IR6eQr3EaKutoVaisaUJ1XUTLmqtTYZEzJy9Ddg+AwZu+uVM3JjfTVhkKnlhKVCpa3Ebil/4Rb/ALn1Mfb/AOlM5aYI/PM55CCRvRvRugRPmYGjdE+GxG+RuZyM3IR6VWvplxqo7hoqVWrmvQUK9JU0SucxuKuuprgNxOg8YyjJk52fIZuTDsJmAjIybOuvDV0f+D237hU7vt/OBy0wRyZMmRSy28GTlcuvJF5Pgt4F1M9eZPJvk8HpM55sM5JG9HIz7gRPgJ5G8HN972dzBgR60ngM9dzEbk8pm6TORiBCPRqVNBWr4jUSnUeKdWPR32ZJqdI1PGriEjc02OKS35OZnMiSw9PTmcfLvh1bWHzdzkcckJEZZNl3nEhu7HqffwsjPTR8P79Jn5ih7yp3YvfA5aYI5cGCPeXZ9mmhvoPOrrEfdifXOWhdSLJSyaketLtHt/Pu10k+rQssj3iGfKS7NMz0z5s5OZnPPv8AX8ZH0MR9fXY3fdPo89E8L14EyXdpokLv/L2v+b7o7n1pyLsxM9afZdl7l1F37i7JNqLI+2RnoTOxkTORCPRnVUrirJylxaOivPXKcpKXiJSoxya8td+74cmlHCkN4UnlJMlFnrLvU7r2rpBPVGPtbG8J+aL9nUkSyiPv1eaUfNpelxwb10Gb4MktLkRk5qzulc0hm9B9YPr6GbuwI9dd2MGwffsDECBDMnrPsu339/YgQg+hm779d9z63sPrcz5PQt/eT90+y90EctMEc/tbeokS7fXcfufmH3fde5kUQ7JdZRNJzZMnM+qUsC6te7+bZETwR6tAvb0H7ZdksrHmxg5mc9Q1H8X2XboMTPpm/wC4d9KxFdPX9p7iXumM+/5e5/z+49xLpFdIocTTg9aXbWRIn8mR7J4UT+LProSJGDByIR6FV6YOqpVLitibryqjkT7+0zk6IiKpFLWZQ5dJPpnyxfV9/XeJDwk/ZB9Fgb8rxjtF+2XUm0GpcT+Unlp+TnR2EdyJQnodvLrGWUzIIR0PrJ9fXQ3fbMCR6/Z5yMfb6H3zk+33XdiIi7tGD1mZF3+/tiE8CN310Pp9j79dmT63dAyfW5h9/eDB8W19/wBTJdo+6By0wR6uOvz49D4DOeQhkjcyJyMKYj42Ovz49FuZuZyoEI55VYoq1dUKlXo5Zi3pWSpPr3IyNSMnzdWTJyM3vob2I3SEw+2bPnGs6fZH4X7+euh85nz7X3/UyXtj3gctMIn9GkDJG9G9AymI/Ko3s3M3sECEcucFat0qVMFSrmk3qIL/AGN5cBil1ZkycqR81nodjuIOz7iPrZ9Xg3eOv/gtr7vqZP2w7w7ctMIn9GkDJG9G9DGUxH5VG9m5m9m9COSU1BVa3S4rf6ZTc6M/NCfRzeKR2WQybvoybuy+EjdgEzlYI5mskWNHcfZMEx+Y2VdeItv/AAW0931Mqe2n3j25aYRP6NIGSN6N6GMpiPyqN7NzN7BAhG+csK4r4jUrqZOu5RpdFORVesk+iJHJg3YMHLk9dnJk9LuLobmjIIawRYd1sqvw7lH/AIJad/qZV9tIj25aYI/o0gYzejehjKYj8qjezmYIEI3Mr1fLUqaic/I5U+DOq4ub1IZEcsvmwKIx9t7O4xMZ6bOZM5vtjOXGAT6y6rdAi9MqM9cP/BLTu+0yt7KRHty0z7R/RpAyRvRvQxlMR+VRvZuZvZvQgzgqSem5lqUXgqexY0t9d/aHPGJgkNdN6Gjkwegz0Eb0b2ehGRIRHofezKvEtP8AwS0H2mV/ZSI9uWn2XdH9GkIZI3o3oYUxH5VG9nMwQI3TaR4mVwp1FOEWnOqZN2QkcqRFCjkVPpKIM3/W7JkyfC7nJIRzs3dwiGxZn/gloPtMr+ykI5aYu6P6KyQMZvRvQwpiPyqNzGczBAgbwqtaMptKjQnInjLlqG+vJ3OVIhEjAa6NElhyORnxuxy9jnR9sixkR9tirNX/AMEtB9plf20hHLT7Luj+iskDGb0c1MR+VRuYzmYIEFy/9dDVWqbRX+nWD7s9BIUSMSMekUNZJLBUiT7/AAWb8HJk54jRuZ2BdHI3oXU2ZV4d0j/wO07PtMuPbSEctPsu6P6KyQMZvRzUxH5VG5jBnIzegrNyVWcYTrXCuYdhjPQSIoUSMRISCSJrrVRyZwDPhtHKupufUEbuwd0hiPuDE3GdvNVaf/gdp2faZce2kI5YdkI/orJdxjN6OamI/Ko3MYM5Gb0S7TqKMLqMWUm4FT3ZPQQokYiQkR6G6RPtPqMMhkO5g+G0cnYZukb2CJdBm6J3NnP/AEI/8CtPa+0y57UhHLDshH9FZLuSGb0crKZ+WRuYwZyM3oZNaCtPRCpRdKE1lejFCRGIkcjJkiRzZPS7mTdkp0alZw2VValsqsVKNWiZGeiw+kD6x+t1PvH3bIrYqdj/AMCtPa+0y57UhHLDshH9FZLuSGbvtHIwpn5ZG5jBjN7BMEPtcPSRpwiVlobGjnSIohEwI5GS7SJDObJ6KpyFQkzw1QdFlvYayCjTSkDimXOzIzKkZU36L7HaGQ7kfMMI94+7Z9TFzGWpdj89k/oVr7ZdplyUhHLAiPsZNyfX4UXkbwGTk/luyPsn0+DJ4BPrkMg2fUe2QyPuMfckM9BhTDPmfRZ6ZDIZJHJFnwX2XVZ83JkF3yGSXbJzo3MZytjECEMuYF3TdFdYJsGsH8WDBISIoiYOVjJIKkRLLMBgwYMeQ6nVn3KPmVNlK2lVbs7azVTaVOI9oXbHcVyxpzqupJQjUqyZxJJwu5RIVoySeS6tYXUJwlRnugst9HhaMM7CTZgaeWVFhpNpe7SyPmMMRFFrPhXMeiEen9iOVnJ9+pgZyLqM5vve+2ehkyZMmTJkyZOdnoI3/f4i09r7TLkpn2fWD6F2UT+LOhLusZxmXaTkKR68CXd+5rBLusZxmXtf8+hEP4qPRPEdXVSyetMI94rJHufx05S7fx6D9vQl3awSlgzhokM9BhTBe6XZ+1x6fx6Eu7jgZLuu77xEsi6NyyKR60u0ez92MyxiT7xwJZF0ku/QXboP26emcRz1TyciNzGcsu7PpLJEyS8sKkMqt/8A01KkHSm0snXH8c9MElliQkREczGTJFQj3iRbbi0n5sJ4hF6hezDxL2e5aHlU5yn4KjQhX2rlOJup09crZYJ1tc+5w8kqQtUCndtFOpqW17bXBBT90u//AM5+2XWCeVLOareX1hV90dWX0qebMO8ZNyUcymvJSi5VaEtS9X7Z9YProMwfTBi74y+zbEzdgwciCSH0a6m6Ix930JC7932f8ugg/jjpno5ddRkyZMmTImc7BCQg+sB9H0MMmT8LbLEH2kXHemHU+vrcuyyY8rR1Y8iXVd8eZ9l29frEw28eaSHkSeeucNv+XVCTOpjyrtHs119eSyeYisEVgS6+YxiPXCXTHl64646sa6sZ9okM3I5WEAaeerJLo+3XHVj7+ZjQ089cvOUusRLzSXT4HVCTzjzNdXnKXVZEnnAsoSeOpjy/xXbHm5UbmM5Wh5MdERI5Zjy16rtoUbanVJWuHOlw21gykaumeg/M8LUkJCQjnkSGjI2kJ4E8PKMqIvZqSM+XUmu8UolvaTuHVv6NgV687iUXg3YRRp5cIaYdURmyE8iwzhIqUC2qOE1icK9N0K2ckXgzBk5ZNeU/YnE1ZJYblIlJGYjabzFOM+sXh/dSXlsIuVxGKR62WfX0k8dRo6mOjRhnUS6pdcdWhI9Osimzd1R3Ptjyff31b/l1QjqY6fX1LvkyZMmTJkRzsyxCPvqfXUPo+tzBH4Wh7Zdplx3pnMllRPnY6/OfU7LnZ9khm5HKwgc+Ovz0sHwWM5mbpdIx7NZK8YzjKnKk3duMJzpyJvLawzhtmkp28IU69HQRQkCOXIxklkkiSGM356Cjk04MFGhFK72nKrHlislPoUupUpYnoF0KEchJZK0dE6UtS2pQzUa0hkYZGdjOWLs+yN/1J+bZOPFenqRqRrRrRxERlkSMGDSYPTyajUb0bqz6Umehg52TOdH5239su0yv7qZzR7RPzzOeR9khnoMIH5ZG5jBnIzINZVCpxaZVXlb1KtTgStbbFRJy0kI04lKxrVZW1vCdeFooxvLdK3UDBvRzOJJMaySiOJgwGkSEsBFwpqvcSrveo5WjAokaZCGHTLmH+xwFTIeUU0zBc004Wks07qOunWoDjh8v0fS7D7DPr6XfZktNyuh6DeCtcKBPaKR+oj2mkPa6Htstdp3U3Tur6QqtTHFZxWcVnFZxWcVnFZxZHFZxWKscWIpJm7Bg3IEMrsonwGVDnifnbf2y7SK3vpnNHtAR+dZzyPskeiz7pn5RiEbmMGcjDB1J0qkKlOupmonHpUpOaqWdJQha0acKdrqKWz6cW6SkqdPA+peJcFwwNYNyEc+nJKlkdIdIdAl0Esijg3OqoDk5vAzdSlpcacZqFucJDWCEi4TqUY3qx4uIrpMVUoT1RqLy2vRz6xlDKuKJKBg3fSNy9pIGN9DGJWX7/c528Fe40lxXdVySgTrmssdkVrst9n21ssmTJk1HEOIazUajUajUajUahVGhVmKshSTOREio9UqSwt+oyGT0qgM5YiPzlv7ZdpFX3wOX7j2gfnmc8j7JG9HKz7gflGIRuYwZzoRKnCocNoxXHxmSp5iqSTUJIXQ0mDBcL/VJdZDOVgjlrVqdIq3E6wsA5JGpseo3ZPcsYI9/ulJopeaLRJHYpPKvaHDq4MCNnzbJ+yl+8+ziToqTqUMOdLowXtGcn0MXZll+/TeYCOWq+m0Kr1utw1Obm1DUbO2NGkcjkZOfBy5NRqI1WhVxNSEaipIhDLXQ1GoyCNyPRqG5nJER+coe2XaRV90Tdk1IyIiQPzzOeR9kjnQM+4H5RiEbmM9FCOXBpMG+sv8AU49Jrq0YObBvclFVr7JnLSHJREp1SNukcEnDBKJuRIXfTlRTi6EkYGaUzRpGo1oVLJRJUsGnBYd5eyH7rBlWGY1I9JrqL28jYNgxBZdKtPpDnrdtoSSqSeTSbL2arSHI2fEyQrs1ZMZEsDMGk0mAYI9GY+4wZuiI/Nsoe2RIn7kE5aY3W0tEltWYtrEdsRKe2aDVHalvJxuYSOKjio4sTiI1o1IyZMn5RnPI+yRvRys+4H5RiN7GDOdCPTmsx+pRciVJJYPRr3kKZUqzqvDZnAtVR07VIUTSYKkScRoEGCiOjkp02gmyn5pXFbQRuusq+Rzydy1p6Y1J9KXWfdroMZXWkqDOxv8Ar73IPtGzOtzHtz3c1So1akqs9OIbEsDkZ8dSaIPVHnYI9GRLvvZuiI/Nsoe2XaQ+6C4/buf3OVdBVqiPE1hXlwhbRukLa12hbaukLbtwL/IKov8AIZC/yKIv8hoi29bsjtq2YtrW7FtCixXdNniIHGicWJrRqRqRkyfhWc8jdI3o5WLvA/KMRvYwZzoR6jiaCvhLOTAYMGDAVKsKKr3k6pg6Iy5OnaZIwSEjSJGMkoZU4dZLq+jj1GdyPWNu+IKJIZb+7a0tNaPmPrqW1BzlPESqyksEfcNkmV+pPu++5A315omxY6qy7c+371JRi5uwtXd3KSivm2/t5sjDWhPJ6Eip33s3RECPzVH2y7SG+qC5/buf3Pi5Yqs0K5rIV9coW07pC2vdIW2rlC29WF/kExf5AL/IIC2/RFty3Ftm3Ytq27FtCixXlNiuYM40TixOKjiI1I+OznkbpG9G9Axd4H5RiN7NzOdCPUkv9tTCVbzKUgwb21FVr8cnJjkU7eVQpUlTWnIo4DBpEgqwyVKfWcMHYyRKWW7ZJBJEu9I2rQ1U6D606Tm4UYUzOHOTMZa6EBBIuPLBjPrdI5UEDYbxc89SapwuK7uK+ppbJtPDW3zrftytmvq5dJ1ZN04zZBYPQZVBnJEQj83R9siQ/dELr9u4/c/C5YpzR4ishXlwhbQuULalyiO2riJD/IJoj/kMRf5BRFt22YttWrFtW1YtoW7Fd0WKtBnEia0akZMnos55G6RvRvRuXeB+UYjezcznQj1J++s0V5uT3I3V7qFEq151jBnBGEqrp20YkVgEGDkqIlFNVFglEgstFvBylCOAZUKbL6pijSXnoR0wZgcRRGRIhOWC6eSbwYN7OVBE2H/18/8AkVdxpRxqsaPjL359v23N4OIcUzkjA0nCjmKR6LKoM5IiEfm6PtkSP5xC6/buP3PymWhVZoV1WQr+5QtqXaFte6Qtt3KFt2sLb0j9eR+u0xbcoi2zbi2vbMe1bc/VKAtoUWeMpnioHHicZHFFUJVEcRHERKojWjWjUhNGUbkbl3gflUb2bmc6EepPvXn0mwRFFatTpla8lUDojLk4WwlgQYBCOT6qUyrElT8kekmsStJaSISKxSiX0sztYZnnAnljQfeRSMkoZK1KRwlAkbn0PrnybAjm55n0W07vxl24JUthW/DofAyGTJk9K39pnBJ5NDYqYoAwR6VUGM3xEIR+ape2RMT88Au/ZX/c/o2TXJHGqI8TWFe3CHe12K8qoV/WHfVGeNmeOkeOYr9i2ifqCFfxI38TxsTxkSF5DNGrGRk/KI3s3M9BHqVCvLq+5FNlxfqJKTm8DkQoSmKKiJAjJvRyyRNaX00aesynJltUzHI2Vl0oMvqDVS1g4hDoGSUjUKRFiYVStJ5bNORU9Kmc2Td/j8MHNtGsrezIxlUqUaapUvWckire06ZLaKHfTZ42oK/miO0SF/CRG5jIUsnPb+xkhREjByI9Kp2YM3xECPzVLtIq9oPzQC79lf8Ac/rGWZZTuKtNx2vcoW2q4tt1BbcYtuRFtukLbNAW17di2pbM8fQPG0TxtIV1TZ4iJxonFRxEa0a0akajJk+cjmZ6CPUqd6/uKsI29Opc1KskkNpEYSqFOiomDAZMgjcjl7FdZF0dePWT1EX57R9dzWUsxJvKRgwDKk8tCIiCqulWi88CTcaOCsx9+eQkbBq4qc3+SVmUZ8Oex6XHvfVyXd/TtVc7Tr3AZFUkhXNRFOvxDBpZTcou1nlYMHLQ6U5TIy1NHKxHpTJdxm+IhCPzVLtIr+2l3gF57K37n9nyamcWZ4iqjxVY8bXQr+4P1K4P1WuLa9U/WZi2yLbURbZpn6vRFtaiQ2lQkRuacjiRNaNSNSMmTJ8BHMznyI9St7q2W7i/jYudSVWchNtU6CEjoOokOsOtI4pTBCOeTwVH5auNMV/r7TS88HwpwlmSWDBKBIRjp2MlWZviJmRmEyp0Ks9JUkegll/exH//AEZRy7ZuPEX0qcY0NhUdFt6u0dqqiSk5y5YRy1UUTuFpVw6UsrBgwXd9GjUp30ZkaikQ9mnURhg5mI9KRPvyxEIR+Z+6faUiv2pLrHsXnsrfuerL20/djL2ZbU3QqWFu3+m2zL6xp0jS0W8OJOOybfTf2caDo2nFVTZ7gLZEqiq7JqU1DZtSaq0ZUpRoTkcGefBVyVCpAdKaW7DOaPd9/wCGljTRgxg0sawSNLDSyHfSw+vXXtH30sNLDDI9/vB3MH8cYPgyEGDdgwfxwYMC6PVLPFqIVzXFfXCFtK5Qtq3KFtiuLbVUW25i24LbcBbaoi2zbn6vbD2tbn6pQFtKgzx9E8ZTYrqArhZ8RE46FXQqqOKjiIU+nFRxEcRGTIZN11dKgltaJDasGfqlJH6tQFtSiz9Von6vQP1egfq9A/V6B+sUD9ZoH6xRP1miRrxr0to3LoUqNtKop0pRIrKipRlE1kmzOSWoVFyXB0kEIQI5MmejJY01WUn/AK6i6w/cfmdtPomDK74covJqJSwnJyJGlkfdgSEDOxOoys2YGc6KZaVOAUNo6pwlmKMhVnppd6tXW52lPhW/qbU2nwzmRnBN+W3qyjJNVCOYu0uckJqS3bWouFaKZYxqzkuiQuhy5DB6L7fVXvuYwiIEZGZPg/e7IZDJ837h7ZFw+lBiC99lX3+mjCJJaaceqXW2u6tAe1K2pbUqMr3cq8aaeaMnSlHbGFd3XiFb3Sgql4m6G0KOK17S00r2lJXdWNSpbVaahSqQdeDjpqKm6l1GmqNT328FUrUrWlo2nQpxdvawlB2cXUWy4yf6LTaq7HjCLhoqNZlR2TOrTurSVsU6E6kHQkh21Qla1mStayhJDSzLpLo3H3R93TPTT0PWXtH7n3ffoyPf7/kRwJn1/Fe1YHjPryIi7REw/jHt/EfbKZ9y7yFg6HrR7jbw6kziz0q4qCvbiJ+pXCP1KuPaNYW0Kmf1OohbRk3RnrjJHU3Pttf27sno/wAI+7ZNXXRrzdxexnwyXmai4FH9zVpll4XVU2jRl4xH+McZ6HKjIMnInLQVepnSq0U0+kk8lOTRCacUzJXp6oy10yM5OOltMkdGJebHX7+tz7MqRzKQYOekf/O1/eoe1B9barcGwhjj0o+I2j6bNqX3haXc5lhGUSfkpSlqpupqpybcKmiVrdJkZagrUY3FNWE6dW1oKnTUcCIhlibN2Ayei+31V77mboiEIPrB8F9z6wb8H1uZ8n7gukky79tsREX3sqe71Nm2UbiP6TRx+kUy42UqRVoKi1PrS2fOrB2c4QctJBak/Ka+mobyN5M9E8G9XFWJ4iqSuak1gjmLhtOtAr3M67p3M6a8XNThtPS1tiBX2pCcJy1ShPEra9paNpXMakra4hGPHg6tOpDMHFlfTGnWlmo5GrrqFLqngzkz09dPBqM9TPXUR76hPrk1CZkz0yGcnr6jUZE8GTUZ8uoz0yZNRkyZyZPgajORvJnpqM5bfXJq66jV1z1tV5H1DAPttf2eopYNZsevounHhXTfWUynhqpF03cbOqWltnApEXlwWCUsiI9/RYzOpVI6HoUk8qnpITw41CnLRLUJjWSdNM4Y49Bgu+9g+pMlS6TgYH0MG7AkaDQRehwmWWeNQ9iOp9f5DV0U6adSWxo8S83/AHz1JqnC6uHdV+ZIjTFSI6YimWWya9Qhs22hDaGz52MlUwW130p1dSJw1lCXXqYEhIccm7I5Go1EWejhlVAzfEiCOpjpu+/XaOpuwdQwz5v3T7SLv2W4uxf+yfu9Sy2h4ZPbsSG3KZc7XhIrXKqtd7baFFUK95TqQm9TpTUY1Hk35MmWZZqZqNRqNRqNRqNRkyZMm/JnJu1yFWmiVzVksGk0mk0mDBgwYP6wvda+zkfba/s9ZPBcy/2PoToij5V32fcRlC/sJWNwUI9W8CEiMTnwZBnTiVlgTwVURWqOlC9qm1FV4sjUTMh0GNGDAjlZgfUqLVKUTQT7pGDGXpEPLHgg+tr/ANFH2b/8heb2FRwX+PwN6OZm3bnRS5sCWDdRt51pbP2VTtFumlOO0dmO2Ey2u3Ao11ITySjkoz1rdkyZMhg0GgSPSqgzfEiIR+ZXen2kXfstxBtD2z93rZDJkMmQyfIyZMmTUajUajUajJkyZMmT0MGDBgwYMGDBgwYMH9Dj77b28j7bX9vrLB+5b271qkJZU6bgKWlyjDatk4uMoSwdWQiJCOfuM/jKXSqtLn5jSS74dJyHHUUp+WUZ5pJ4dZIVwKbZkaMGBHIxncZKGXWXSfQ0iQyPQ7vJpySprMVpdp+9R9m/bFXi7QX7Gwo4tt6OVjNqVuNec1NAi3tpVp2VlCzhvwJG1dleHChcOm7e5U0nkfRwqcSO/BgwYMHqVOzBm5ERCPzP3T7SLv2UBBtD2y934HJk+fkyZMmTJkyajJkyZMmTJkyehgwYMGkwYMGDBgwYPx1P9y39vJLttj2+tR2VfVyhZ1NnzuKXg7iUGziJSqxVSnLMHQrSpva1CNemimskUej2Mkn0x0mswhJ8PV0nIk9UabzD2PPmVbJxzPEajpFFIQM9HIySyVV1SOwIyZItEUkq9FuFp/0UPZvvnm80vRsdYs96OatLTTm9U+VEV0SKNJzez7JW1Plyajamz/DSKNd03bXGtLqRfCn3OTJqMnqVCQM3IiIR+Z+6faRcrKpUsGA2j7Zd/wArk+IqTGsHqZMmTJk2fa0+DeUKUE+9Oyhw69CNIhFzk9nJRqU+G6FCdzOrs5wJR0lG1dYrW/CF1cqbibsBgwaTBgwYMGDBgwYPlUf3aHt5Jdtse31ba4hap7X2i5Ruair3VeVy7S4hO3rRgi2r+W4pYlTplvPQ6lvwqtNYEeixxHjDzGcyXaLw6iwyHulBNS6mli1FLoOUUotyk+ghnMwbGPqE4DWDIReTGTQQgyHaEtIqfCuqPt3S9tbMqzl5dl/8e9HNfy02nNDq0iEcvZVmm+RjbMM0jpqS2ls52My2runK3ral3VvMNRqNR1EmI9SfaffcwiREI/M/dLtPtU7xRu2l7X3/AKTDvCK0Vuj+Db386Eat5KqZFfeSrccQo1eHUnfwKlTW9nV40S4vIOM2WFaMYX1VTdu1Arz65LCnDh1401Cr7sifXJY26qktn0NNShCMrexhUUtm0VG4pqlLJTp6zwjPCyKeyP8AXcUXQqRi5Dt6iOFUHCSMHJg0mk0mkwM9Ch+/Q7cku22O3q2igqt5JSrVaa028lnZVrw7Ktbx07Ok3OVDi0pf/wAtxHqXkeqRy5N6DpIm/LnLeG5D9kJmcPoOUckYRknKMROWI/7J011zlqSBnKzkYOKHE0kYdcHYI5ZEjiTpe3dP2Vf3GvLs3/j3o5tp/wDDzUkJFpS1So01SpcuDSYCtShXpXdrOyrlpcaXSnqXtfuWk0mk0mD1ZFTuM3IiIR+Zj7qfafaXePbdtL2vv/RtLOHMw0Q90PZX93xMhkMmTJkjNxHNyFNoyFO4nSJX1WSbyzRJDLa5du5bVypXGqVDaHDUtqQlGtU4kilPSeIRx1lXEHS2jVVStZySdOcWsxLnTjyp1miT65MkBJFOjHFaCQ2ZGehbf9FHtyS7bYPVg/I4qUI0tVGnShxpRVLZtKrgcHTq0pcalcWzo1LWfSazTpvMfRycQby/LllV9emlDhpMiekeJHDNIlFLPlVZJa2x1NJSTBnOwZu7mkwbmCTE+kX1sKvFpbp+yaxUZsvrZ70c20VqsuaivKjZdHM/Q1GoybQs1fUGmnGWl2VxlJ6lQfT4TKvcYwREQj8zD30+1TtL3R7btp9n3/ose9nSpylGlT07UhDMY4lD9ut7vwlvji1poZzUxoMEZyipd84FVmnCpNlarLFHM5Qs4zjV2fFE7fSNdbex1p2LieemVJNjPStP+mj25JdtsHqwLSom1Pw9biZd3HRbzIVehOWoisScswp+5HP1Gm1p8rzGUpDY/wB2fRokd1HGGmjJGZlnE1NOUgpQQmen1Bj6G9DDuILStwa25+24/efbZDzZ70c1zHVQawctJYhTWZ7MhiPoaTSaTBt6x0soVNErarrUHpl8JlYGbkREI/Mw99PtV7S90e27aXZ9/wCjQrzgLaldJ3E60l7ov/XWfm/C6pDOaD68kgRTngrSyQnolZXSqFRrTXwS99k4uEowxcQiiosDPSsv+ml25JdtsHq5w86ZXUFOnRWa20e5KJCrqTwEZFPvk5MG7qJk3pecku8vbnJNZMDIGcBqyRUjVkysdcZhhTlJwbQmc2DezcwRuybsgmbNr8WluvY6bn62HLNtviczWVdQ4dxyIivLb/uWP7XpZCcY1IXFvK0uCxr4IvUo9Y8rPUrAzfAQj8zT98O1Xs/fE3bT7f0mHde5ft1e/wA6BBJuob0ZGcy78jBESZ3ez7SUSqpKNwyXusU9E30uH1qm5noWP/VS7cku22O/rRlgsZ8Snsu04m0LzzzYyaIVsKhbu4VWWkh0WTnw8zeCSbeoqe5zyZ6sj1l3c44lqUlCXSXlO7hTy51acTW6hpdRpKMYx6yzlMyc7PVyW9d0asJqpA2zHRfmwJ+XfE59t0uFe8iF7bb92y/Z52OeHr6KfVBt+010ClLTK0q6o0je2axsdU45TnqPRqgzfEQj8zT/AHIdq3Z++PbdtPt6iPzkO693/wA6vf52cGpjeTfGOp6D0Eb2CIkyEtM7OtGary6XHU/nZfty9twmVhmT0dn/APVS7bmE/btj3evCbhLZempb14Nk+5JGOuDsRFEwGDkzh1fbq6fyb6I0ajqRWCTw2SXXOkjLImS7KnHOYp5ydhSIeZ/SORgzez1Nl3Oln+QQ03aNh1NNxvRz/wCQUNVDkRH22/SpY/t+hUp5I0zTghIJRU4+FlSreHZaJ0yN2onjzxx45ju2zxDFcSYpQZCEGRhg9GqMGboCEfmaX7kO1bt/OPYZtPt/SafePu/+cl1Z+Di8PUegu29hEiTFFyez7epErLy18H87P2S7XBVDAz0Nnf8AVS7bmE/btZ+f14xc5QhCytK1d1JfY0KA4komdLpvKwYOTTkcSS6GfN/JdpH1k7kXgcRKI6WgflIKRqWE4QUZahrBFeWHRGTmZk9BG7IZNRCel2lyq9H/ACNQmGzp8O83oRzXFFV6FSDpT3op9adP37PllejpJIWYuLyG0YcLaWlG7USrpFOUqrXQqV6dIW0rbNOrCqoVMFOqejUJd2b4CEfmaP7sO1bt/KIM2mf0mn3gvM/ZwJMq05QDSYPwEFkaR6C7b2CIdSoWkoqdD23DeLhs/nZVMwqvy1Z5KozI2ehsz/qp9t0hE102usVPX/x+149/tCtlmDBgwYJRK0S3flRzVMolmUZMymLu5GvJp8uTPR4yKWU6kiOVLOocpMlHSrf2Z11JYiQBHIzcwZuZ6FO1rVCFhCJmlSJVpF23Km+rjLRO3nxKO+Jz7es+HV5KHWkbMmc+TfOJANuQ/wBKepEmVauDOuVKOmN5dcBS8zSpErapQjZXfiYUZFGR6Eyfdm+AhH5mj+7DtW7fziDNpnNjJyYPlYPn9jdTQkUamqagsXsElDuTRuihnJgwJDR6GDkwKLZGlKbjZVplWzq0TcjIxLU6VlOqfo9TFW2nRN8ezNzBECr2zh2FTXCv2uCXfZdSROLcK0Wiqbmehsr/AKafYwNCJ9ts+8RuwcmCEcuNpTcK1LQ93+PwVGxqz1S+92D7Y+1ctPZE3YN8+hreKmcyQiQuj19JIwEWSyanF8VtZnM1aTg6m8aY9DVkj0WQRzM3MfQ3pBCMqhDZ1aRGwoxI8OkSqtkpkmFTrGa8rNi1uJbb4s57u3V1b1aTo1EshktX5TZ9RoTyuVn3vkLozakddhQlqpMqywVZFp5q0S4nxas8mZGxq0Y3VFeG2hDo4PD9CZU7s3xEI/M0P3Ydq/b+UQZtHvJZqaDT10oUcmgp+5LJpFHKcej6xccJdW1h+sifePZRytPRRyNdNPRx6f8Az0jWDSJYk11awJZXrwCXbRgccGnBp66TGJS6y0oivN0xDrC3j/uXa/8AZT7/AMoWepV7TQnHBDtLvvQzPRMbH7I98ZlgS64QlkwREYNI0SO0bOpFK3r08bSqxcX3KeNTGWkddW1pwScY6do01iXfdGQiS6/xwNdIoiVBo2Z2ruOLju0s7M6SclpuJIq9mDPQ2T/0U+26XdlSeI7QnxKrjhqPVWs2eCmQsaualKUZKlqFQmx0mjHkgiEqjjWpVG/B1mTpygWVTGypPpkNQpGtGonVWKssltHTFHN3KvSU8unF5hElEmsDJS80ukox6yj1VVj0sT0jczVIlUbFKTSlk7EH0MiBB/HAzA0SWBon30ox1wi2talYpWVGkasDkNjGxjZuq0/9rNiV+HX3xEfe7IZDbdhxSn70tRo6WnuaKEtDs6munys+0b5ojIktaselKZWZW72L/wBsO9elodOeIXDdxUT4Jb0nOuhSyQlqjqM9Mhk3SKvfkiIQjewRkTMhk3ZDI++T4TDJ8Gh+7DtX7fyQM2h7v/o/fLOvpJwWHFPUv3EkRE8LCcZexftxaJNZ9eaI9Ir2QE2lhNP2R6R/+eFEl7WzGJS90/cn0byetDvgkTH7cmMSl7n3azNd1nX0kqKzTtqOKv1fe2HeMczpY0XWNNQh2l33x7yN+cwgR6z+8PKpuYotKPdCj0pxyTjhShhTH7Yy68VjnJm/qMsP36EoslKOnaEoNS774TwDWIy9q9sX0iVjtDZnas5abgl7tndJy/buHhzfRvqM9DZjxXp9t0u8u1z+3d/uS70356U9MuKs8ZMuWpypCkVMSJLyUe1Gr5J1UcRaLxpmzKsXSkDK9aoNVWYkiM6pmTUKeqUegjmkmVMThTfkl1FhDfkbNOCqvNPtRlrUmJ5MRPrGRvCRk1YaZFnIgfaR/FkuhMftn1fZ07erXnSsqNIyMY+zGNkmZMhcrA+rpT4VWjPi0t8WfZ9fW9pSjtCydpcxiiHalNwMJp9tn1wWTfIXdG+aOqlTRjh3sysVkUZcN0Z6o3drxCNJ01FaxUG4WtB00iMutOeGfS7Lt1FkJdqwzfEQhG+QIRu+kH11PrczqfD+vg2/7sO1ft/JBI2jJ5Tw89dTzrZBmtibQpNGtik0OTZnou2DBgwaTSYMCRgwzBgwYMApNDbZnongTaG2xvyttmempjeTUzPUfU+DrYN5MmpifmcsPPXLzrZF+aUni2HimK5WNPFKlsoKXQo3MipNzOC5uNliNzQ4b3x7yN6eDUxPSJ9YLVOnQWLumojkzsQ7KWk15KkZYZnpypiYyFR05Q2jKBLa+qNW44hk5I1HEzqJGSLwReSqxvJsrqriPlrjkzZ3vafDuk81BnpbKjmvT7bmskol5+3c+/OSEmRMs6h1Op1ZgpQy4WlNp2cCvS4ZjIk4yjXhcKUQaJQZU6OMsOMnIh5TitKFZsVQyb2ZyTWHU7vtGWFq1GpmXmp1E2ym8N6ZEtLFUghzTfTGI56JSelZwR6tMTDJu1GTOTJqMkpPLeSnSq13SsIQHLp1BgyQ2NkjfUWqGnMGbEuddLfE7mDdgwMwXVtG6o16NSzra2RlpKdTiQLerw5WtXi0+Rn2jkcSJdrTtSSKsSWYk22WV1oITySipHBQoJBk7FKeSmzALoYNzK4M3REIRyaTdgwdlgMGDBg+HgwM+Fb/ALsO1ft/JDJdto9/UTNRqNRqNRqMmoTRkyZMnq4MGDBgwYMGk0mDAo5HTaMGDBgwYNLMHo6cip5FSHEoLrcft5Za1ulWpmM2inJCqIt5rWX8NSdNo0NBHvM5l3pfuU+18GCMek10sqamToLTcU8S50M9Km+kgRAqBsl+W4xpuBmzpaZdNF1jNU9PYy/2Q7b5F77Lj3kAVOUjgzOBM4Ex05IGKrodK+6eKyV5OQnk0ZJRwKvNPVORJyRSrTgXSlxftdXxGidXJTmRm5OE3ETyH21kqPQ+Jqc1ldzDF1WrBMXb7I+Vtxy9BlIbTO52GR7oIm/JvYNkac6kqOzFE6RTZvYyTJSGzJu7mDOCvHE5JwNn3Hh7lPUt8WehtPZ8b6lOnKlMtJ9d1jcaXCSnHfk+zJyYNprF+ycSpTJRGsFG8nTKd/CQ7uKPGJkZOYgzpdOrkjVaFJSN2TUOoVpGTciIhCPzFv8Auw7VzHmQyXt2h7vn5MmTLMmpmo1Go1Go1Go1Go1Go1GoyQl5qrMmTJkIrJoWmUDDPQ6JRG1hSLaOqdSnHRNLOcEqg5ZKaH0dvL/bF9LnzHCZKn0dEjReZ0ZHCmaWYMGAXeD0yp11puZpmjII06yhiiSrKRK11la0VNULRVI09kU2X1jCgbkDKNF1pU9kuZLYmFWt3RfNBkgTIzwOLmoW9SZY0qtFXFSWKinUfhKxa5pVVcR4dzVi3UeT09i94dt8i+9lx7ymJFMyKRqKhJPLJlORGUcVZIUusZomzPmhUSJzFIqUnK00nYUjPXJSkiUiFbD4iNaKlTQ60hvqpLPST+8ncg8rGDSxlOfWo4ksZMjeQbbFEXQ3Jm/IMyNlDZ06hGEKMWzeogyRNjTBhkO444LiGuEp6g2Pd8ehvi8CPQ2rstXkJRcJU56JJ5RGWl2N2b2YEYN2TUazaXmvMGnJVpYKez6lwR2DUZHYECGxbaJ+lWjX6LakthwJWV/RFdzg4XFOodiFYjM4rHXQ7lDuDjMcsnJEQhH5i2/dh2rH8kPtP27Q935CESlS4ko2MNPgIZr2cdNSOiXJTI5coWy03duoxfR5MnUyZMiY+y7SmQyy1kolzW8k6jb1moyU2SazGel07ry08VFWo9J0pJasOEo4toxqN28cXNuot02aWjdBZbRFtKalMjT6aMHREZk5ot6idSOMXmlQsMKjT0pX0IOnVjpmWUIyLhJDLatwZUdpU4KW0qLjd11VlzQGb6enh2nD0+XF61pt4QHThp2lGMGrqok6smZPT2IR7b5l97bj3lBZdOj0VAjbnhUStsHBJUOlaOkqC7xxip3IDH337KdOpSr0nxGjBhmnBHCaZkj1UF5p4kS6El1cknJiakSPrSQ6kehnKktUFJ4cUdRxy98H1z1yGQyb8lvZ1Lgo2lK3Gxm7AkDGTJDBmHnCFkyiVxCBK6yJ6Z1VHNhcu1uIy1x3wkejtTZUbtShKnO2rCYU6jpysrtSXoM0mg2hH/8AoEXC8tj1tN+Ua0cVDrlbg11XsYEa1Wg6VxCqRm4kKmoq0tZpaMGDBpNJoNAoiQj8za/uw7Vj+SJFT23/ALvyEfbYP/buq+y4j599tZcRVLPhEXidN+W89k4yyR7zjg3ofb6UNT6RKE8uv7H3wbtRkyRnhW10lHxUWTrR01cNpli8S1Fy8tYJqOGkzhop0eiijpGPGSJXCHcMdZkKnWc2W0v90O19PEaN5KkR2w0Vdr8WE5amiiqhUchnpQ7SCKFHo5uBC5nAs5VJwvU2o3U6J+rSxHVe1J7OgoToaW1gZ6Ww/bHtvmX/ALa/vKDwQr4XiCNyjxaHdJniESuFivPUTCHUqJhAY++7BsnHiqto40HQRwcCopDgsSwTnghWI1MpzakpI4mFUaxJeWXVro5I+oi6Cl0n0IzaWvq9Mk2askpjH0UVhfYhBkyZFmTtdm6Bs3MMGAYMmMw2YH3fQqV6cCV7IzOZwzhkqeVTim5wcHsW91w35IvJ6O0dmQvo1KdS1q0pqotQUazpys7tVI8+DAbS/fI96q8tlU02zrDuEO6Q7xDu2O4mzXNnVmklQVRV7SdAo3eCMsEKmSUVM4ZoNBoNBoNJpMH5q1/ch2rH8kSKntv/AHfMwaRLrJYPgL27O/d3VfbWt5sqQcGLvZ1Iqnd1IuDl57a8WlS45O1WLinpnTXnrIUejBGlsjTSjKWByyWsetx7Jd8mTkwRyamOpIUzXh2EszRevBJ4HUYtRRoNqdPhw4hOqzU2b6ZMoS01KddaL2rqORFpUjwq7yM9KPaQIUioR91hnh3XUuEM2XAq9I3GCoM9LYn7ce2+Zf8Atre8pmWZZqZqZqZqZqYyYUEVotBAYzfSqujW2rWjKGocx1GSmyUynRdRzpKJrcR9nPqRlmMuhjA2e5ZyI6oz0Y8oRrw35h9E2CWpkTAjc2N4LfZ1auUbelbLJyYEjewknI04JFWtCmTvMkpVJipMVJCjgcTdUjpcYyrOnUlb1bW5jc0d8XgTPRvLKle07qyrbOnGaqLODJRrum7O+VRcmTUaziIdYuqnEuyPefbiSgcSbOrNBwzhCpipHCOGcM4Ze7N0FvccMjIhPIjSYMGDBg/OWv7kO1Y/kiRV9l/7/Xwz0tPSisyqmron1kzHT1oxEsqk+E/G9P1HrSulWehNbQgom6FacCdxOQKMi0m4HHyVKKqOhYxKtpmLoYXhtcvB4I0erwitVH1MFr3un5Jd9+BIZ9ZGb7OeicbiJe1NcpdvuJQqR03c48MkclMmEa0kpNyFFs4cmNNAilSclOLR6a7MEImWlHi1LeioxuS5O72ZS00rjKjXJ92elsT9pdt8y/7VveUlkVrUa8LUHFxORkgt3guJZH3iSH33ZCjW10Zx0tk6iQpOoRo5cYaSS6SiOY+sjyob6JpklgjkccHTBkw0axxOp2JSydgyCBA2JObs9nKkZOXBgGbmNBc3EKJVu6lU4WSNI04MM8x5h5Q5SMsl1Sbpyk5V3sy9drWTTW+Ej0pxjUjd7FlSedQuginVdN2e0TiDqjrodyh3Q7ljrTNcmU+t0Q7yNGoVM4YqYqZoNBoNJpMGDBtKw4Za19DjLS4yyR6n9Btf3Idqx/JEit7L73+v9Lq2aHjAI5P40+9Rm/ULvI0npJZIx8q6Ocxe199n/uI2kJNnAqGGiNLJhI1I4iONgjdFncxlGrVioVblZpV1qddM1M1NkzJktO9y/K++9MyZObJGrJGrJKQa+lKtKJKs5rPSRyUyZu+ranT0Rp0lHaKip7qNZRjUnlM9FAwQiZa1XTnb1MwupIuMFP8Acs9Oi4xiukVO/p7F/YXbfUL/ALVveW7wQqxxKosVpJnIyfdd6cSq5BEkPvyRbTppThW0xlKimqdHQqcOkngckTHDU30X3LosZDukurZE+8mrA/OcRobyN5GsCMiCIRZkt7epcytbSnaR5sHNgm0lcbQNEpunaTmKxaPCwQ6NJGmkjyDnBEq8RzTMJmmJVpJlKq6Mq2mctj7QOSEz07mxo3SuNmVqJ2ERbiW984mrWjBg0mk0FFf7SBIpLK0Gk0mkwYMGDkxk2hZeGq2tXXGlPBFn9Btf3Idqx9kiv7L33+pGOR05GGgzgh1aaxJdZEPa+7QlkwPtT7zObPTu2jBz0++rBMbI+x97J6aiqeW887tqWJcOOmvGKlOeBzbDBg0lvUdN1rltdyn3k8NzWIzyTfXdad7r2uJEZk9NMbN0Bs1MwJAwgSN2WQrzgK/rJVKsqj3U6eVNYGejTH2YIRM2eo66K8t11Lgpdatr0jX7XD6z7+nsX/nXbfUL4q+8oRyQtnIVgOywO0I2Wols9xJWzSmsExd7XDV1TCJIZy07jSqk9ctiWNOrSqeeWUirU8yfWp1JpwB4MijhSQmSG8nYydRnYxkbDoD6m6Idiy2fK5IwjTjyM5Wb69xToRqVKt7OnsybIWlKiMkyUicxzJVcDnJkYMVNnDY6Y4Falh0aig6uIT2XtBXMOSEz1K1lRuCtsmpAlCdN4KdWdN07uMxJM0mk0Gkoftspki36mDBgwYPQuaCuKPmoVoyyoSyoPp/QLX3x7VhdyRcey89/qWa11Faxxe26SfRlI+/CzqErGpFdYhqyKWDu32p95nOmZyZ6Lq5IwclM0ZKgQi8aEhPD8VIdfJ4jB4yRKrKYYN2TJB+aozJCWHKWW/bBkjdZLLvFhNnwMGDqYMGBIwYCmTBnNCbSk8npQ7SGCETIScZWkpSp3JcMofvUPbWbLnOZ9/T2N/zo31C+7VfeW8sFGbOLhSuUcYp3MUSuI4qV0yq8kgoVNBXq6j7iSH359kTxsybwTq4E9Ul1U8nuM+Zp57vLUXMTMhkbTOqR3E8AxGTehFjszJ6WTIzdNVJKGy6alGEYJkhkyZJDiKlkVKKOiMjkOQ2dJKrDQ6enVnw9TZ1/G8p8kZieT1JRUlU2fQmS2ZJDtZxI5gQqsjKLEi7ei3S0xZTJFt7vW2xb4lZzzGjIg8P+gWnvj2rC7ki59l3+56mzv3vq87VIhTP5W1aGK9aGip5nC3lUHYzS4RjDl2pkz0kN5PrGW0aGULSUyraSpmcL3yVNRHPA6h1Zhmk0mkSGZOSn7qhgPuXbfpLLo719Gb8GDSaTSaTSYMHPkyajUajUaiMzORnPSjFwqpHpR7SGCF2kWFGNSVKMVC7wVy3/AHqONNfBcvzT7+nsf/mRvql92q+8olvpxU04q9xiJEiQu8SfciSPQ2VW0yvJaHKTzSYpYjPzGTq5NmRyyYEzVkZDvI4ikPo495dxo5aNKdadls2FselkZ2EacigbmMaGiUR0x0jhDjgYwYzdJaicdDjjKm7apYbQheQ5IzE8no4MHI4pnAgcExNFeU51MjZTfVlF6anrXFLj0KL4dZdHFkXlfn7T3x7VyPcZc+y7/c9S2kqTjex03V0plQKR/LPmgnUqQtFphQUScFprLDful2pkzfg9HOCHmaLerFK7rx06tbjiBS2Jd3MJ/wCOXRU2Re0icZUjJqNRqMm9DWBds4G8n0hmoifbEyziy7j00GkwjdkyajUajUZMmTJk9ZdSVLCt7KlphZUEtqW9OBuVRocsnpIZuQu0y0lNVKOrRd5K5arVWo+y5Zcd5d/T2R/zclUve1T3lAjqUZTmPUzEjEjEjDJEu67xJ9yBI5cG6EpQlUuOOpQZTeJRTOkX7nLyOchtiWRZQ4rGgXRJkme4yzIwcjJk3WOzZ3RQo0raOTlycjNQotipo5GGDBgcRxJRJxMDRgYYN046lJaGdbeWz9pQulyKeCMzJ8Jwix28GK30saKNTiR9baNLhXUHqjSfSm+n5+098e1Yj3GXXsuvf6kO1OCcKlPEqnaKyU4kaXmjCOui1CcbhY8RElWi0raFQu7KKdWLiUyZv/jpZpYJZGsHLTR11Z0tpzIw0C81SdZ0qFbb93mn/kd3Ej/k0ZLxmxbk/TNj3JP/ABiZU2Bf0ypZ3NEz1awLt2bZkMMwzDNLNJgwbrNl3MczUajJk+Fk5k8Eq2VTv6kFDbdWKub6dyb/AK9Fdxm5C7TNlxTlBJRuy4LFZqUvZc5K/Vy7s9LZP/PyVS+7VPcWizKEI6Z0VngIhbxHbU8K1hmvbR01lhy7rvTi5FSm4hAkbod408xkkJLGFqjTjicERjHDWHRssueINpKOnriSjJpufbOGquSTwOeU1hDjky0LqDDJk3bPsneVekI5OVsyZMms4hq1EKZjByswGDBgaGiUCUBoaN7Bk4qROOhk6XCjs/a6mcieCNQTPispy0T9ba9PKtXmlSZT7/n7T3R7Vhdxl57Ln3+opMpyajTous6tg5FOycXG30xclGevzTqSFXqIVaqK6qp0dpeSnUVy6llFxlZxiVKPXgM4cjS0Y6aTh5HQLfZ+ouLDSnRmjGBRycMjSwKJGhJp0urxEnPpbv8A/o2h/wAUmGTI20U7mpSKW3L2mU/8luELbVncmNhXB+g2lUqf43cRJ7HvKZOjUpmUGTJk1Go1Goyy0LwMdBrBypZOTHT4TWBLJzY6cjWAgssZuR9TNk+5e27LjBs392klpuksViXWQ105msG7ZX/Pk3Mql72qe4oS0uF7iLusniSN5g/UMpX3Wte6lUeSfeCy7WKLlRw+kokjdT7086KsG5Zml588SaJuQqjRqk27aUaVSk9VRxa1McmnUjhp9JYyRyga6fXYYjSaWD6iQWGzp3coU4UKcnkRuyDYzJkchapONHJGmkGDB6TRgaJRJUyUSURoMdNzJLJKngJ0Y8Kx2vUtijXp3Ed2AjUwRqZMnxaMtUPV2hHVbWneHeHf8/avzJ9KuRdxl57Lj3+rD2WK8vQuaihJVdcFDz/coNrRlRT0qJp8uzYtU5SeK82nPLaplOhKRCyc2rCBXt9BpeJakW1cX+0dpFl3YdaVnIjb+Z28CUFFSlpjxHrm5N6fJSgozufPaSiojwNRiSXSZ5DT5vLml3WBtxdPaNzRjT/yK8gU/wDJcn6lsu4PB7HuCX+PU5FT/HruJU2ZeUiUJQOS0LwF7F3l7/Km4+bypxSb8pFYn0zhSIrp5cfwwtJJdfXmQIrKSixI8uHFYjR1qFhVnCdnKkThgwkdNTxmSw6S6MGCPqRsjOeum8yXBsz9yGcXc2iqz+TJe1pIkljCR0y1FNrDn7vKafNs3pQZlhkrF97Z+4oxyOngMmQjR1Dt8KcGTj1olPOm4znGalNInDr5cxWSnpzSqNLys0prQsOMRxQ6axw0auJRul0RIYpYH0Fpk2kJtGrKzgJNmWR71H517VBadCcYx6WNgriWVFSlkEbkZGzIaZMhbEYJGD0mYN7BocSUOsoJmjq9IvbhNFRG6dLoKNKpSo16lvK121CoKSkt+cEapGpkyIMmTJuyenby83pvsu1daqdv0nHumJmRMRlmTLGZD79d9z6yGTJkMmTJk+Ra+5e2qLuxovPbce/00IU/LYvNJF6/NCWE6nmhPU204roJ9F7dXk2f+19XOlOTihVot0HHCqxi/ExLuspjnFKclinNJ2NTL1dLmskKvEdw9Ur1oqXLmOXkTWqS6tqMXLyUHxravGVOpImsuXSEh5Tl7lqzD3w7yeJOT0uWSIOTIVqkCntW8plP/IbmJH/Iaci7uNmXdHfadrwI9UoPP85e6XuWrMfcoPP813jkjk/i/YvYpMlJp+u/MJaVH20yOT+L6xozUY0b2npua8ZkLCdxH9Kqoey6ma9nOkT6OE+mvUMbDJkZs6vGB4uOm6uk3Vlk2fVVOpTrpxuqpVlk1dZReZ9pj9nmQ/dKLbkP39cv37P6UCXbGTBV6K+9s/cWrKksxkuuCKKMULQirOGKrWajKcmnaT6XLyR61KfuqZcurcSjDzU4rDWCKnMttjNCs7WJ4G2ZW2bSkVrW4oO2xUsr3zjXT6WTsNGnqvdydh4PucZN4xD/AOce2z7OVU6Qi2MEbsjZplIjbipRRgweozkwGBocRxJU+soDXkiKbRKbQMTOFGo7jZdzQpU6iieWU6daraFDbcZFOvCtHUOQ5ir4IXJGsmazJ6uDdB6Z+m+2TuU+lVCEI+930fTDB67Mn1y/W5h9/eDB8SzQl0qxMdRl77bj3+rjy2C/1I2i/wDY/a31pt5lLy5Zk1MyzZ9ZKnxol5JynPtkoVpqM7mpnxVQhUcipM19MlpccKXjFpqz1vsdlUl1Rq8pqYLqbIlqstqwdK8JPLMmQ1MTIsJAhdTShoZkMkWCLPted92Tfki8GTdk+FFZehOVHZ1OTey6EYXVPhz5H1jhnUSkWF3FQle0UeNol7XpzUnlkCRza5GpsOxTr1EOtKQ5ZJGWb8ifVvruyGz1/pwdwZWL7tL3FrHIqMmlaZPAHgDwriuFMq05IrrDkR726LlMj3gVBtkXhQbI1npcjZlirOi5aiHV9ipUiidXTGKU3WpuLkfUWS6vGVqIscuokNHYYZaHkNnbP4xhIYwiJHYMlOhqIwUTAYPWwb8GDBgaHElAlAnTHHBgwbmJmwrriUrvYlndlb/GLiJcbNvLUzhxm4OltS4pkNrUpkbiFUk5HEaFdOJDaGCO0YsjewkKvFnFia0xNHqReY+ngH0uhdl2wGDAYPiYN+BmAwYDB8dlmR7VDcy+9tf3+rreNn/sm0P3H7WQeCTOSM5QFc1DiZJTyFLtPuUiobkIyfUn03dRLJgx0izYNTNP/IKeK54fKdvI4MzRJG9MySFHJoOxkkzkXu3Wna77/OTwcQp7SlA/W3prVuLLkoJMjSjipTjmEIHCplwsPJk3ZMgiMckohbw4tSVjT0ToqLksBShqlGwiyrZxgTWl+nYftb5FYv8A2y9xaS0kbhYhcxFcQPEQHXiOvErVlpuXlyI97TtdvpHvTKhugfWyqUbi+urnVLXki0VKnSc8upAlONKMnHTUt+s4ygIn5hVMLuC92TJ3EhLWRoNnCQ6KZZbPU59hyBhAJSwSmWtDJjBuwGD4mDA0NEokoE6ZKOAyDQWVy7W4jNVIbq1pb3Kq/wCOWFQl/itMf+KVs1P8cv6bVltSgTleU34tp+JizjwFcIjdTRG/qohtSSI7WRHacGRvoMVzFnFQpmoyZOSi80/Vn/2C7Lt+dZZke1UQMv8A21vd61h+yX/7ku3qUu0+5Bkmb9ZGWSchzNz7JjNQbBqYuf8AIKeaRSeYcmiJwYHAicFjozFCSG2jJEaGjmte133/AA+y6MZE6MVDhR03c3CSuZkpOZoQ1gitUrawhVlHZNDF7aRosRCRN9H3pzdOVG81Ua8ir3LX302i5ccVv3PSXey/a3yKxf8Atl7ik8HFZxmcdnHkeIkeIZx2yfUn3j3oeWNyyPemVBhEjCUzZNtOia+vEFWOJkp++tXPc31ao1JyrWy0VreVMUsiR7SMXNPozuI0tlGOlOXlqVOtnR4ippRUpCBsIDY6dSq6FhiXRGTJz5PXwbsDRglAlAnTJ0xxOxGWSSwGwrvXD0alvRqktmWMyr/jmz6hP/FKDKv+L3kCrsy/oDlOD4rOKKuRu5ohtGoiG1iG1IMhfQYq8WazUjIW3s9Wp/2i7Lt+dZZ9l2qiBm0PbV93rWP7MY6i62dUnUlsWu1cWFW3PTpvpLvzpjPQ2ZU4d9tenxLJ97Z+X0EjAzCNETgpkrUdBodKRpaNy72vtu+/4X7LWtOk/H15LxVeLq06lY8JMknA4g3kTw6N/wAIW3EldXviHuQ2brOnJULrJU7rvaJITZdTeKrzMZ6EPfZ/t75dqxf+2XcpnO+0+9PvS9tdEe9MqG6JZyiU2uBUfVTOIazidW9R9Ul0isFXqq0CvT0TGxVGjGRQNIkQjkl0euQ45LWGKGTuyTGQi5OFs8Qt4o0pBgwYwfLaGjBKJKBKmVKRKGBrBGWRrBb1pUKtCtG4o+tVt6Ncr/47YViv/itVFxsq+tgyamcQVdojdziQ2lOJHapT2lDMdo02Wyapeq+t4hH55lp2XaqfYzaHtq+71ra7VONDaUI1P1ClxFtC3xtW7pVB9/SR8KlLRVrLi2s1iVs+voIxklE3QY+0kEkMQu9qvJd9/n4ZwpjtqqWMG5d2WkJVBW80pUJuXFjA8RBq4fXBu0SPD1RxcTciQUI6qlOi40rvU3U7lnVlGVOo27pSxV9/pU/3LX2b5lbvf9n3IHPJ9Jd4d6L6XGCPemVDdHvb0Z3ElbRtLOp3kzXgVRmsUzvGk/NJ4i2VOpfdC3s693F27g9GDdgSKccLgk/IUZaqtCpmLH0Prq3RsJVCFCFJHYwDeDUZPmYMDQ4kokoE6ZKkSjpIyGsGxtocGfwrixtrouP8XtZlx/jd/RKtGrQOhu2Ls2hLZ36bYlO3o0TdOooHiDxMTxNMVamzUmc0OtyhH55lp2XaobmbQ9tX3fAyZMnzUFlPjWd7Dh3NF4qciOSI4k4AjJIyMn0cSPe29l2/N86Helji2ypaq6hwbnCnuXdmyqkFGc4aXODhfNa02bpFL9y0UMxUNG0YxUtyJBYLNbT/AK7pdancoRcnbUpxlcxemr7/AEqP71r7N8yr3v8A2vuUznmPvDvSxprsh3plTsLLdj/j9aqU6VK3hcQqaK9bRJ3ER1kOtgVxMp3BGoa+rrahzCvU4lSgls7ZFV5luQU4anUrR4niIlWeozgtq/FjCpmOHinbzqujawpA6iOINsdSUh5NMjSdTLNaMnyMBgwNEokokoEok4ZJwcCLyY0mxdoceHxH1VXZljWJf43s5lD/ABuxo1OS7u+AQmcRGtHQwjQjDRrqo49Y8VM8akO/opW3WSRHv+ftOy7TH3GbQ9tX3fkth1NVntynovIvD3YJy0uLym023g1IRAJw6YMC7zJdDOSsiJHvb+y593z8sVeaPGVmm2zcu7KMGKlUZKMoyhacV1LGMVUWk1MM4FXmhXlZE6sqgIRILOemq3Hh3OM1e6LJZqQjAvHFKp7vSofv23t3zKvfaHZ9yBzzGQ7xn5ajyQ70yqyy2bcX8rHZdvs6M6pqFFMqWtKoquyqJV2dGA7U4A6R1gK4YqmV4tFW4lUWzrfxV7tm511WbkJEnwaPJCpKnLZ8al0qdmkJKK1IZpHNRHlnYwM5NI5yiRqJnymNDRKJKJKJKOSpT0kZZKc529W1uI3VD5MpxiVdr2VEhW8Vcuek/UbfKu6MhVUxTYqjOIazUakZROlSqKFCFMRU4klT1qKkfnbTsiZLuM2h7Knu/Jf4/M/yKn5in1jgJR1kVpWjDmsmhkUUwa6VPKKqiXaEisZKq8se8V1o+y5934Vdy1oNxp2nSvZqKdy6Enf6lLznDCEdThaOZDY8pRr27oyYhEmGzbaMirpjC4azV7rvbS0uhcQm7twan39K1/6Lf276hU920Oz7rvA55j7w7xh5aiwQ7wNnbJ8ULTCNWqOoRqEGDJ0VJ+CUivbxgSpFSmcMw4k4cQNgR0FzPXUMCEilDLv6nm5Nk7G8SoQjTiSlqaSiZJzPTcExqcGqxnJ8loaJRJQJRJRKkNLi8mzb52VZPK+LVr06Ea3+QU0Vdr3lUlKpOWgtXiG0rjRS9pgTaKd7cUyntqsnDa9BOld29Y5cmpkZGo+vzbLT2omS7jNo+2p7vUstmO7jL/H5o/8Azs8VrV0JaDhFraO5q/8A5+OmlsOU3PYv+yn/AI5Tav8AZELWL6HydiVNF7t6nqtC3eYbvvkxkppxF1EysjhGOkBwZJYJHZ0lkhHy3Pu+dCOohR4lSjsritbCpYvbTgSVN4ksC7ltdqMYbUplXaVKUa/+yWiSM4HNYZTemVK6jAo7To6L6vGpIQiQbJrYnWbcLl9andd6RT1wdeu8NnpWn/TQ9u+oVPdtDsxEDnmPvDvTjqjXhgh32bau7uJT0qdfBOua9RSWT2nEHVRxSdfJPq3EdJMlDBKJgq09ZThOy2O3l7sEUQ/1UW23v2Ps3xlVJRWTrI6IbJM9VkllaNL1tCkmfFYNGBokiUScSUdS6xfc2NtDSfDqVIUld7dJ1Z1njruhjPiMKrUdWpyWGyqt5KFnShCtsm1qxpqtbVqF5Vi4yU1yRPzrLT2xJku6GbR9lT3eps3aUbWP63bn63aabq6VWprOKsWV14et+uW+mjtmlFy2xT48duWyjtPa0Lhdz5NjU4V3tGHFsvu0NzE8rki3qTIMkk1JCI9GuqrweZJ4ZbC9lz7vnQlghV0TobR4ZHaixtC64s4TWioyPcoxTSoxJ0vPShTK0Iaavfk6m5CJBsn92rq0XWrNTuu9gs1IUi9o4Uj0rL/qoe3fUJ99o9mIgc8iRS705xUa80Q77Fjw7KrW6ykMXQjV0nGZxjXk1GRs1DfSXUaHEwVbmrVob0ilA2jLRb74QdWdnbK1t8GCcjI2CPVYd1w8EK58djQ0SiSiSjgqQyRPa9l3vHh8G92tSti4u6t1JdD7ZuciXffSpVK87HYUaYohORGnxK1Jf7KfbkRH3fnGWntj2n2fdBtL2T7/AJJPS1/ttq8dFW1f+zczqJ5RkHPDRBkSu9M1NMUinMrrMWujLRi9lz7vnUigourZ0qQqdPTtSEYyyEe5aUI6YUo6rijHh3NSVOarzZ3HHoyksysbKFUez6Oi7pKEhESSEtT2XZygV8qFznM+8e9hnXT1l8paJHpWHW7oe3fUJd9o9hd6ZzzY+pSpNjoySnHAi2np2dKQ2ZMmo1Go4hxTijqGo1HcYYGitSExES3jl7Tqarrf/j9i5VOw5GdKcsmT4KN0oKRCo6bTyfHaGiSJxJIlEKVSVKVpcq6oetWrQoQvtsyrCBh9ZwSrDbZu7uy2HVrlva0rWGAq1lBXDdC1UVTo0ffT7ciKfv8AzjLT2omfyQbS9k+/5PZVTiWW1afDvKLxPfVxF06nTiI1xNaMxYhFMuKf+tISRHBqioylqKvSpZv/AGfwuPd8WFGcyVCcDnhHJGLcrShWqita6jfxmp7o9yleTpJbWrIltqrKM6jqNPBrOICel0b6dI/WamK1d1WIpLLqrBTloqWl5TlG4lGauCfePfZ6zOnDBfYUJHpbO/7KPt31SRtEEUxvBqNRqNZrNZKWT7o1YolXgypJMKf/AAtNG5kso4mDjHHHXOOccjVyJiYYMDMFaiRIItl1rz1191Gk69W3oRtqEpZIonLL+PpyLNJxkpL4rBoaJInAcTBjrsq6jbT9W6vKdpC8vql7Pk7Eqw5ORvtNkV7otNmULMwdhzwVK5Z2/HncVfGXtx0hb+6PbkRS7/nGWntRU7faDaftn3/A5MmTJkyej1N2wambfb9PTcx7rrHc4qR2mMU4te2FGeWQZnKqQ0P7ycQyXK89q/8Af4Naa+z+v6efp5+nn6efp5+nkdlyZLZbifp5+nn6efp5+nn6ez9PJWmB28kOnJGlmGaJFlb/AOu7tm4TpTUuFM4Uzg1DgVBW9Vjt6qI5gKpiVlfcM/UIado3Cqz3RPWRB4Kk8kVqlZ2MSrShFXGCfePe1qKnJXkErq4Ukz0tmf8AZR7b6vZm0e26NTA6mTWazUZMmTJkyZMjZa2mLSrSRKiYYySJW9SZ+n3LP065P06seBqjtayNFaArlpwrJilkyMJCeCrSwU2W7yt/+O2OXUmQWp1JnyEPu04OE1M+PJEkSROIzB2Nk3Mq9H09obShZxrV6leW76ySq4HJs32mzK927PZFC2NzlglVJTyUqLr1L+v4W1oU9ELtlquqN6CkfnGWntRV7J9UG0/a+spLD5Yx1PktbeFQWzLaS/TLYWzbUezbU/TrUWz7Y/T7YezrXHgKGr9Otj9NthbOth7PtkU7K3PA2xUsrfEbOgeDoNxsrc8Fbng7c8LQI2tA8LQJWlDCtKGZWlAVvSUY21Fvw1AdrRI0KWY0KR4eicCkjhUzRAlSpnCplqoxl/kNPNNFB6qe5LBVjqUOsKstMVRczT5IU9IIVXBcLVHOpE+iSRddoPEoXkJU5XtIle0h31I8dTPHUx31I8fSKV9RaqXtId9SPG0jxtId9SPH0hX1IlfUid1TkKrSZHQzRBnDpjjTKdaCU60MS0N/6yPDPIS4ZCVMnoxdqJRS17Oo0tE6MNG0KahU3R7s9FdW1hpdBBIt1mraY0XUli5aJ96C1VKFCEn4WJdUtIz0tl/9lLtvrMZtHtyxWW+j348vJZ0PE3daelOWToYRpR5TohjaJYNGpzST0le3jNOlKlKnWI1DUNjGR7aNMqC8uTJZ2bu7qMY21GKdRzlpXypA4OLjLUfEYMaHEkhobwYlmyu/CzTUl6O0doxs4TnKpLe6uBybCS0tR1Frs6vdO02LRoCSQOWCVUcshjU6FHgwuanirwun5rZHJEKXb84y09qKvZLqhm1Pb/L/AOmUpaVxH0KeGKSzFYnHGfcoLyyfSlXdBLaNw4K9u2O/vE3tK7HtC5S8fdn6pcn6pcM8dWz+qVj9VrH6pXP1G5mRu73PF2kVL66iK/qo8fVbntGvEhtK4wtpXDito15KG0LjS9p3A9pV1FX9bEtoV3BX9fErytEltG4P1Cs5O9qKUr64Ulf3WPH3SP1G5Z4+4PH3B464Nm31V3e2Ya7J97R+TdLuQZU6kA1ZH0GT6LOWnh1yX+tyRKPlyWktVrUl1/2SHGoxU6pwqjHQmcCeOFVHCqPiGqaNcjiM4kjiSNcjWziM4s1CNzVyrio5+KqNqrPVxqhGpLCrSkQqTQq0xzk4qpNRlWkTqMbKN1WpOW1bonUlWlwekuhEZ6MfdP3L9vpo6SjH21GZ0S2fX1wupPFeTKiWuL0Tsa7k4uTL9ScXHytYPR2T/wBlLtuZXH22gSai5JZfQjhy1JPGKnTWvMRQ30X7fSUVFk4vJ/jlLVd3VbM9bFJ5UmOqKocU1mTJq0rBjBJmMt0uG6NXUU5ZGz+PuI+2PmU3wrbGmMKbrVdmbPVjRy6jbVOLlk+EjnZuktLjLJ8Rgwl0NPSUckJI6KOx7nVFsTOa+vIWdGrVlXqDZKoOTZu7uls2vdStNjUrcUdJ2JSJVByNzZaUdJtK7dvTt6emMi461LaPTkiEPb6DBAg+t31u6jPwzLT2oqH2M2n204ec1H75Yc1lEO6iiLzOBHoRQ35frZ9KlwJUqRwqTk6NHjVqNLTVpUuHXUcxwPAI6GytDla8NGYY2zp17n5z2JeymRWR+3vH2R/+b6qfbDM+eXvn7oy8uWb8Mt3w69yuLa1Ilo/Numw9s6mrVGRpJTWZH1pEOP8AtnUXFlFSn2KkcizE2Ppnb1VGM8jmjio4yQ68TxMCNeDNcGYTNCODFjtkO1Y6EkaGjALzRUdJD3L3dHJdBe1JRIkfb/FIn2cdRSt3WVDZU5lTYumE4cKfGWmby4jPRXRtah4jF/tw9sSo+klk2VOWm5c9NzllXGqCedn+6GdO0JPQ5eXJ6OyP+ul23Mrj7bQZU90xZQutTSs5zNPzR6NdX2X/AM4+3LJy6mwINWsqOkeDUNhkRnruZkaTJ9VjAOlwp055FPpny9iPtp9TalXRaxi2bJ2craEsyOlNMwevk9H6YM7mMOLyeszczcx9smkl0Git5COXCjLhq1uFcUkjlq1I0oXt3K8rkqiQ5th2Gy12dWunabFo0CKUQcknKqOWTeyhS4snKMIqbvbpFR9KnWpb+3kgEfb6DMiEbvrIfXQ+tzBdT4GQ+vgMtfau0x9921u0u/JGWk56W0LijH9UuWO+rSfjao9oV5HjKrTk2amamGTJGpKDV1WR464J1Z1D0HLK9JdTSb7eXEtrmnpqW701d0o5S7T9sHraJDisiEspdFVTJx1MiOOY1I6amy7h0XcXE3LiSNTMnJk1iqyOPIVwKvE4kWeVjpxY7eI7YdGSNEkYZu1YW/SzQzTIjLBbXKpSobUpQVXa1u4XVVVZoIjPVQSJS1GyPbcry3A+8O9jU0FN6obQTUWelsb/AK6XbcyuPttHtvi9L9PZVv4PZ1aZIHI1nENRqFMchs1Dl0m+u6SyVabpOExT8u6C8m08o/x/Z+oj0i2qabyfPQS8rjLJzZMm9nKwfbutPSXSNR5GTiEZFhc8GtzbbvNc86SVTIZwFC3q3MrLYcKZCmoIbRKoOWTlhB1ZQgoR25ceS2pKMCs8R7yoe3kifn7X2rtM+921u0u/pxjk4Y4M5MHDbI0JsdtUI2VWR+nVx2dVHAqHCmaJGGfAw2KkylQbI2tSTdhpLXZ9KR4CCjSjw1tOnovPbPfHsQi4m6cckexBi91SOSn3EU10vI4q2j/3S2bOoVbGdN+GqHDOFIdOSOXJkyCk0caQrgVeLNaZ0NKZwUK3i3G0p4nbU0KjE4KHSRRt+lxTShoHTcnG1qzPAXBOlKmbojPVQSDZEcxuoxSuMEu9PvE2f1p7S0qLPS2L/wBVPtukVx9tonrbEsPGXdxUyVG2PJOVQnVqI4tRkPEMUbo03KHVqQFdpir5OIOQzfKOonTdKUJGSmskW6k7i1d7expRhCctA3k/BM7NSyesmEzIzGHOWlvqVAfZ9DIpGzLlXFvybQvY2dCrWcpN6jAdZOw2LOsULWnbxM4J1Bzyc2SltmytXa3dG8owbvLtdEy4flp+6l25Ii7/AJ1lt7UVO32g2syR6drT1u22bT01Nn0lGtY0tXgqRO1pojbROAscMp2mp1rTQUlgdakhzgzKOHk4LPDs8MOyyfpuR7MkfpLI7HlIexpD2K0v0mbHsuaP0uYtkVpH6NVR+lSIbKR+l00Q2bTy7ajAjoUdcIzubqBsy5yOqsSwzbUMV6q603mG5J53IJe2nnAmLvUZjEt0G9d7HJRfDrUa1NxnOlJ19Gipp1WvDxcQgyUI4dJDoio5OH1dJIt7TiD2csTpaJULPUnYI8AirRUJcNYo0eJLwmFw9JJ6XO6lFSvJsVxMdxIhcPMa2Y1arZH27PSm6FBRXB6bXssL7IjPVQSDZDSjeTjpr4H3p944xs/TwtpYwz0ti/8AVT7bpFcl22getsq28Fs6tVMaiFKAqFMVKnE1RRxkcVMlNFRqRXtqcidOpRKdfIpHLOGpftyh5hyy7eGDZ1vwiUtEZPJ+EaMEZZOfJkGb9Q2KOQqTwMZPqmE+xk2fdeGuN9xc07Wne3072uzoFta1LmVhsinbrB2JVMEptnoUq0FOrsWOmyr6NhW1PTAZdPpR90O3IiPu/OstuyKvb7H22rIZ6dvV4Zb7YSjX2ynF7Rrt/qFdEr6tI8XUPFTOM8297CKr31KRx6bJVIilETRlEJxRxTj9IXfmp3SxUu4pvaEUltOmiW1aWZbWotR2nSP1Giz9So4W0qBLatsT2lRYtqwRLauT9UZPaM5ni5nFHWyUrt0n+rVDZe0ZVa+24f6KiyqH7e7tJKWNLxjz6WaWb28PQxwlhwNJBaSstVKaw/E1IrxVQd1UZxGKtOJ4iozjzOMzjEapxOsp5LO4UR3UdNaac7WvHQ68R3McXNVSnxOlG44b/UI4qX/WV3KQ60mamamamama5HEkKpIsq/Cr0b6J42GnaN1TqU59ZkRnqoJBsnGm7fSux96fePUscxpbTllM9LYn/TT7bpFcl7doHq0YcStcV8DeWmRqDrDryFVY5kJNuctQ+hN5GipbRkZnSIVUzJyV6WqMcopR62NHjVOkCUtT5MGD4+T0MDRF5GYN+DewY30SyYwNjmEmSJFTvkyPobtkXXHoF9tKlaQvL2reTSiMLDZFS4dva07eJKaRKpkyehe16kIbIhLFx/zUJVYRp7YgR2jQmeIoyLmSZbx80e29BD3fnrbsiqfZN4jtKeWz4iOTUzWziM4jOKzisVzURKvORqZy5Z6lhPh3m0ocSy7xtu27B6CF2+mCH1p1EellmpmpnEma2RrTiSuKjOLM1M1Myz0lDpSoOrUp7KlOX6L5bu3dCSCIz1UEg2NqLpy03DYU+9nDUqMXGntTOlnpbE/6KfbdIrEvbtA9W0em6upf7EajJ9t4EMRqJT6aurCSyVLYjUlBqZk3QjmEF0pQcna0FaUJz1PfgwbmfNyGQflfc52GRsfaK0jeBvU+x9SfWTJMqmTJI3Wd14WvtDbkYk5VK82sBCEqstm7G0kYqKbwTqmcnozqEZYNZnJpgx21uxW9FDoUpEtk0Ji2bWpkYX1NKpdHGmK4iQr021Uiyl1Pz1v2RVPsuP2r33M+Ij58Xpl+7a9i2/ckuvNnBlCZriKSaixm9MmhHzoz6Ua/DqUtq04H63b6b+7jcSQRGeqgkRWXs2g4wu9WLhDKXfZ9OTjpkobSzhnpbD/ep9t0yt3n7doHq5wVKnESYIGsg5Gs1DkN9cm5lSnrUZaWpGSPV04lNGybbrVqanzs+Ej1sjWSDOdjZkxk7Ep4Oswfd9pPqxsl1WTJkZnBOrkMsyW9tO5ns/ZcLaJKeCU2z0WVKwhAmZObJqZqYvOlCKKft/PW/ZFQ++IkXNeCpXc1KTPiI5cm7J8fZlTi2VxHh3NF4q1Yg9Wr/aVEzDCfVPSKpFRzAg1hC6mkZuqPFT7/AAsRnqoJFGWmpZpOndxLhDKXexqRUG48PaTWfvhjPQ2F+7DtumVu8+1+etaVeJaJiZqwazWOY5mTLGzkbF1KqxUixMpIj/rhs+0dzUlinHkyI/DMTybsm9sbIoJSwYM9DPmb6N+ZsbCfcTJvBJtkdJLAWWz53c7Syp2sSdTA3k9HuRsoyh+kWx+jxHsmofpt0jwV6jw16jRdI1VYnHSFdUjjU2aom+HYh7fz1v2RVC/u50pTv6k05uR+QwGGjfsGpm22rDRe9pS81ORUk03OQsiyR7PqcOTODI8OyNPAsjbShNjlOQtWor+59+W02VUuoVtm1KM6mzZU6bWHyW9Hj1JbEwVtjKnSnHRLkisuns1Sg9jU40q9Phz5I9XOCRyIIjPSRuQSDZlRcG7lFlxgwUimljjRVO5nrl956TfX0NhfuQ7bplb3VPbfnrbNqaa+MGRzOISqjqo4pxSVxg4ikZEzJk1EMIfmfYh1edLmnMt6EbOg2GTJkEh9Bn4XOkycjGJBqNPWbM9Mn230b8zY2Ew1YJVMjkbtn7NndSt7aFvDOCdQZ6KTk6VFUl6TSZK3oSKtnaxp0biu1G6uC3qXFacbevEjQPz9DsiqSNqe8R6lOnKo6lhXpR5rW0qXcpbDrwHsGsoVKbpy5YrU6WyNdOjsCDV/Zq1nyrq9n7Mo1KNLY9sbXs6dGXLs+lGtcOyoKnTsqfE2nSUHv2BUxV23HrMt3roVYYMI34N33vcunFkT1sSkLJce2RgwYMGDZV9SjSu7uhqr3lKdGp1lgwYMFrV4FVbWoONbatGdOq1OeDBgwR6O22koR/WYaK9TjTwYMAug6uVgwciPWyajIW17wlUvlInW1BGWBXGB3GSU8mTIz0Ng+6HbdUKvuq+2+PWpvDm1JDbJYMjYdx90Kcji4I1ExsinJ15rCMFPEWqml7JtOFCc9T5YxMYUmfhcmSEup2MjY2LoSY8yEkh+6oz6lITG+jfVsYzuN4JSyGIqJs3ZkriVKlGjBywTqZPSjB1HTpqmvV2lLRs+wpZpU7eLdCmlU/oNHsiqSZtGEpzdtNGnB6mw5xhX2rUh4efWWlmlmk0mk2LcRt61W8oIq7Qt+Dcy4tTSaTSaTSRWHa7Sp8KG2aEVtG6hdVNJpNJgwjBZbV8PD9d0u+2g7x4OSnN0pR2/W0y2jV1VrqdY37KqaL3bMNVo+qsJZp1hyRrRxEcU4jHUwcUy2LJF+YSIYiT7YGVetP8Ajk1Go1Go1HENZqNRqNRqNQp4HPJqNRqNRqNRqNZqNRqNRqNRqMmTUajJkyZMmTJkyZMmTJkyb8mT4mwe8O26oVX56ntve/rZNny4ttowmhjG8HuMYXIuhlo4ksb8GzLLxVeo0jliiESbGfg8mTdIpzytzPtsfV7pPzTZnpNkR9m+rGMcsEpZdJRzUmmdzZuypVXTpxpRlLBKeT0oQdRwgoL1tuT07NsI4t6SKS8/9Boi7V2Va+mS01JXVCCp115vUjJxJVZSMmo1Go1I1I1EaqQ6mTUajUajUazWKpgdXJrNZrNZrNRqNZxGamajUamamajUzUzUzJkyZLeo6de7XFs11jYPE7qJgkmYY6bNDHTFCJiKNCNKNyEsmCQ+qPr+lbBIdt1Uqvzt5Ve31Hgzwh4Qdozwo7YdEjQyeFPCHhTwp4U8KeGZsyDp16nQnLBKqapSFAwS7YMGAaN2AwQg6krahGzt2ciRCI+ikz5+QyZMm5MMDfCmuwz2ndj7JlR9ZMyTfVEmfbCTwVJ5FiKk8uKcnszZJFKClPA5ZPShBzcIKC9f/IZYtLRYt6ZS7/0GiLtdywrmt56NZoua2adV5f5e2lxrRx0TtZYr1O0orDFJ6p9op5ksqMcGgXRckcEiQT6T+v6VsJ4IvpkKpVfnyORkMnQ8pLBV70cEMHlPKYiaYGmBiBDSp3HSUjkZgSGgx0wbsBsa0Jy1PkSyRgJYJyGfgMmTJuwYMBUWqNCbGN4PcPsib6J9JvrIJd0SfT7YVZmjythsnZuoXROWCUsnpJZcIKC+B/kUutJYp0+1I/oNE+toTxGXmlGLKr6VD8vsWpqsr6PDvYvTU7p6cTQ3pZrYJSy4sgsLkgzuTQyv0qI/pWy63DlC58sa5xEVqhUeZNjqDqHGOOcbIqpKfSo+tOWBVjjnHOOcclcHiDxA58WgyRvYIayNGOmDAomC3ocerpVGkzelkhEjEnIbyfgsGDSYMG5jJeWbkYyxhUkfUhsbG+qZLtuqT0rq25vBsyydepCKpxyN5PToR6/B249d+u0PbT9v9A+6R9bTl0jAx0rFXv68o4jBan98sV5eSaw/gxWW+jx5ObYUsLa8MXMijLVTjTw6sSaQuzkkLqpTkhtkNWeSLIvpMZcoRjyklh8sOsn3348nwprBBJnNhaN67y93wYLLGsR5p9GWrw4VfLGvgjddJ3GSVQlWKkziGs1Cng4xxiUhSNZrNZrOIN+SLy5d9nVNdGRviGBBOPQwKHXB97Ht1GM5Ze/BCJFE5YJyPxTY2S7Q6p9hjZJ+Zy6SZkbM9UTfQbKssvViJb0XWqWlBW9LI2epSWI/Bv8A/Ztr7XaHt9Fn5ekTfl2lJ4p9YR6qtDJXhl+vP2UvdD3Qm244UnrxF4pwlqI+2OrD9i6xnknJpz6qEcOUML1oe6fu/wDlnEM6qa9ssk54cvNDY9TTd7Xi+HU91pJuHXXIqQyKOITisx7OSRq6asvlh1JjZcLMEfwXd/uSm1KWNfmzD3Ko8rpUWdUckH0lqxnFPOqEYko5fr1CmQ9sJaiA9WM4pp61/wDJatM/b1a665TalNZlGOBx0nrUvcS9kpYJdYd111ym05dSfv8ANmk1GpxpIjWIXLyqzZKplSqYfEyajUZHI1Go1Go1GoyNmTP+qD8yf+y2uHSuJ4U3kiKRHvHJ9L2vJJ9H1jGPXSMpw4tTSqVLekRiRiN6VOR+KY2DKXaYOQzvJkmZJMyRZUYVZYXcYur2TZ6I+tBZkl0MmT1n/s2yu5E/Ds+Qil2qvyXtRaqLWKeC5xiu8v11JOOYwISwQeJZjlSjEj+2pRiRl5VJOOqOjytSksTllyktMJaX66eG9EiUlhy8il5PK1KRPTmUlizq6bvaMddpNpqxcSU8Puq6IvyzjqIx0kkjy41RRvnLQRqapUqmZzIpoksxEzyI1ZnJ5lKSclpTg8yWjKl51JEXGItJlKLfkT8i7yeX6+VJZUVF+WHRrSZSXTh5UVnydJKTWnEWOWZT6ubyR6GDBgwYMGDBg0mk0mlmk0simnoiySySWTT5NETGZSgsulJjXn0LL9y6CyQyniRLOMMxIwzEjEjRI0SNEjSzSzSzSzTI0SOHIUHhUdJGlLUqEtVGM5U3hEWZQmJ9MpCwZ6N5PqPR5DY9LiXVR5e5IUSET2qcxn4TJvZkbMm6MsSzkbM+aq8LORskzJJiEVGZwTll7tm2rr1YxUI+tQQj4Nj57yPcR9/Myc318td6RXflvJf7ITwcVIqz1FXv8XV0+e3qCD0z/etF7bF4qyxhe2sjX559oZzJZIwwaUI3TWtKGGu68ylAxgl0l9cqk0cmDBgwYMGDBpNJpNJoNBw2cI4RwWcI4JwTgnAOCcE4JwThdOCcE4JwUcA4BwDw54Y8MeFPCs8IzwjPBs8EzwTPAs8CzwDFs9n6efpzFs4/Tj9OP04/Tj9OP04/T8CsPO7LJUsfOrBH6ej9PR+nj2eKwPAI/T0fp6P09HgEeAPAHgUeAR4A8CeBPAngTwQrJHgkeDR4KIrSJUjG3s/fHODJkyIybkZHLJKeFsaHDs2wURRIwPaVKg2fiWNjZvaWqWEpvoiq8iGTfTI2IRVfWpLpupwdSez7bgUfXprEfgzlpp7IId0f0BkPdTK/tuaLcpQwMzkqn5LBgwYMGDZk+JZ1Y8O4t5aaslkisElkqKNORreX2innRkitK5abGOOJV1ipQoyuJ/oN2lUpSpswaTBgwYMGDAYMHNg0s0sUGaWaWKnJioSOAzw7OGKk2eHZ4ZnhWeFPCs8KzwrPCMVoK0PCCtDwh4U8KeGPDHhkeHOAjgI4COAjgo4KOEjho4aNCNKNKNCNKNKNKNKNKDSjSYMGDSjSjBg5cG7Bg3YMG9G3ZSLSaUKkTkyZMmTI5k55KcOFbqJGAoiidirUGz8Nk3ZGxnJU7QjqKqSB9ZDKrN6Krw3IGbItNcvXgstHwdoT0WOyo/66fePf89kGUvdBdJxyTtkyrZFSyJ0NJVPl4MGDBgwYMGk0mk0mDSYMGDBgwYMGDBg39DYk80NprRer3LrGGdRcUsszFCJSeXnMO2/iAp4IzJrMrtebZM1T2lVitO2lCNbfhmmRokKlNnh5nhpCtpHhWK1Z4Vis2KzYrLJ4EViRsBWArFHgUeCR4JHgkQtIo8NEVtE8PElaRI20Tw8TgxOFE4SOFE4SOGjho0I0owYMH5OPu23UiqkJaakpZOXJkySmSmWkONdtdcCQonYqTG8n4bJuyM3YN8lkpSSJvUVHpUQmyXVsEFR5lLuUKXFqWtFUaXr0l1+FtmWnZ2zVi3pkO/8AQGy36uC6YNBKmSoJl3a+W4j5tLNLNJpNJpNJg0mkwYMGDBg9PJkyZMmTJkyajUajUajWazWazWazWazWazUzLMsyzLNg1P8AbtuPXVh0JaqWvzFeGqOMKUeq7SmomsjLJuZOLUorUkkQZU8xdLyRbjK929Dws5yqy3R6uha60rFHg4itYnh4nh4ioxOFE4URUonDQqaFBGlGkwfAwfm4e/bKcrio8VVLJkyGTJkyORKQz/H7R1bvARQ3glJksgz8czcvfNorPLj2ZMJAipLTF5N2yLQ+BSXT4W35Ys7JYtqRT7/0CUsFpLMoG7BgqU1ONzsmNST2OkPZeCVlpHQwOng0jQzJk1Go1GTJkyZMmTJkyZMnoYZhmGYZpZoZw2cJnBZwGcBnh2eHZ4dnhmeFZ4VnhWeFFaHgjwQrMsaPBuNsQ1WkX0spZptxQiecPqVEQWlSis+VJSWd8o6iAaiU8ub1Uxm+HusvbyYMGD+qUnie0linnU4yMm7JubGxst7V3D2Pb8CgLqdhyyTmZMn4PJ6bB9n7qnljjzDZIGCLieRvylpR41WhT4VP4Ee3wv8AIZeWgtNGn2pn5HJkyZMmTJkyZMmoyNjZKnKZZ0XAiZMmTc0OJKBUo5KtsVLdjpMlAlBmhmlmhnDZw5HCkcFnAZwGcCR4dnhmeGZ4U8MeGFbCtjwp4U8KeFPCnhTwh4U8KeFPCnhjwwrU8IeFR4dHARwEcBHBRwkKkjgxOHE4cTSjymEYRHpK7jxLWPR2EvM45EDeXV6EGya1ChhdEcjWmRKUnJPiFOLH0f1vh7rL2/mMnw8mTJz5OSksz2mlNQj1EzJzUaEq7trfTCjHQdZjagpVBzHIyZMn4dnMwkVGTyxjGSGbpPEfdJhse00R+BDq/h7deq6gsRh2h2/Io5sGAwaTQcMjSRGnEWEakaka0a0a0cRHERxEOohzROSJpMnSQ6B4bJ4U8KeGPDnhjwx4c8OeHR4dHh0eHRwEcFHBRwkcNHDRw0aEaEaEaEaUaUaTSYMGDAjIzkwCMhk3I3LzU6y0VrOeKsuqh0RpiirE1+aXaKedBvfQl1in0jgS0ke9VYqR7b4e6z9v5TJkyZMmTJz5MmTJzZMhkyZMmTJkyZMmTJSf+yS4s6q0XUvcmZN7GyhZuqoU404bPp5dFZjKaiSmOR+NRzyKr6yqdBkiQxiK0wZZUHWq0qap0/VZuoo+HtL/AGbXRHtHt+RgI58HJqOIzis4zOPI48jxEjxEjxEzjzOPM40jiSNbMsyb8HJgSMGDBgwYMGDSaTBgwYMGDBgwaTBgwYMGDBgwYMGAwYMGDBgwFJ9NqQ0XVGWJKXSEsg4tuoiWmLMvL1ZgsG6YfxpeUP5XK80DfD3WXt+Zk9HJkyGTJk58mTJkyakajUajUa0a0a0cRHFRxUcZHGRxkcdHiEeJR4qJ4pHi0eLR4tHjDxaPFo8Yjxh4w8Yjxh4w8YeNPGkb5a6vkhtClmk2ZMhkFGU3RssPGYZ8tnQ027ahGUkNo/F4PRZMl5pOGE2MkNk2EnhN5f0bHtdEPg0lhfDqefbSF2Xb8jTPh4MGDBzYN2AwYMGDBgwYMBgwYMGDBgwYMGDBgwYMGDBgwbsGDANG7BgwYN8GbchirFlGeqmpxUkyfbvGtT8yG9I5EW290+yKvQQSLldId98PdZe30shkyZN7eBSNRk5smTJkyZMmTJkyZNRrRxEcRHFRx0cdDuEO6R4xHjEeMQ71DvkePQ9oRHtA/UD9QP1A8eePPHn6gfqA9oH6gePPHnjzx475jvWeMkeLkeKkeJkeIkeIkceRx5HHkceRxpHFkcRnEZxGOqziM1s1sdTj2t1GFSFek6FTdkpUatYp2KiRhGCEWVm6znLSpyyfjMHpMrSEstqUiSME2SY2EmPuWVDjVqcFTh8BEei+Ha/7Norv+TjEQj4mDBgMGDBgwYDBgwYPTwYMGDdgwYOfBzYPQibahqolnLNJx6wZqwovUXEMpJolgyhzIvK3R7VI6o7pdqvWmu++Husn5cmTJqNRqNZrNZxEcVDro8UjxKPFI8WjxiPGRKt6ihd6jioVVHGRxkcdHGRxkcZHGQ7hHioni0eMieMieNR46J46I79H6ih7RQ9pIe0j9SP1Ie0WfqEjx8h30mO7meImeIkeIkOtI4kjXIyzLNTMs1M1M1MyzJ8XqdTqaWaWaWaGbLTls+cc1Lhxp1dFszMCUKMjV0ybtn2rrvpTjKR6mDB+KkS80sGVpfmKtQkyTBvA8m7Y9toj8GCy/ht4jsnzTj3/AKdgwYMG7BgwYMGDBgMGD8FkyC77QhrtPuxkTTbQuqjgq+3qyccijheVEZJm77NSM9cMksx5I97Ssop3SPFod2jxaPGI8WjxY7sd2x3jPFsdzJnGkceZxZnEma5muZmTKdWUDxkjxszxkzxczxVQ8XUPGVDxszxcx15s4kx1JnEma6hrmapmZnnMSMSNEjQzQzQzQzSzSzSzSzSzSzSzSzSzSzQzQzQzQzQzQzQzQzQzQzQzQzQzhs4bOEzhM4LOAzgM8OzwzPDM8IzwjPBs8GzwTPBM8CeBPAngDwJ4E8CeBLSnwqLzGpcQ4sKNZp9zfks7aV3USjQhkyhsbOTB+HZ6NVkYjRpyVlhOJMkE2avKWdHjVqVNU4fBpI+HdS0WuyI/6qfdd/6VgwYPm5DJvyZDJkMmTUajUajJqHM4pxEcQ4pxUVFroVFido8VNfSn1IiWHPGJvJVTxBM0C0o3ZerQ8YN844n/AB3IptjbOp1OphmlmiRw5HBbPDnAPDnhzw54c8MeGPCnhTwh4Q8IeEPCHhDwh4Q8IeFPCnhTwp4U8KeGPDnhzw54c8OeHPDnhzw54c8OeGPDHhjwx4Y8KeFPCnhTwp4U8IeEPCHgzwZ4I8EeCPBHgDwJ4A8AeBR4FCsUeCR4NHhEeFR4VHhkeGR4dHh0cBHARwEcE4RwjhHDOGcIktNOsjJc0+FWoVDcylTlXqUKMbSi2DPVZ+AZ6MushocsE9Tc2SJMH1clgNjW2lfCh7fh7UljZ+zFi2pke/8AW8hk3ZMmTI2ajJkMmTJk1Go1moyajWcZHHOMOueIR4hHiUeKR4od0O5HXPEHiGeIZx2Wk+Lb3sNFxSeKiZTeoQs65dU1GJUQpttqWdGHux134NJXjipvRQp5OCcA4AqBwDgnBOEcE4JwjhHCOEcI4Rwzhjp4OxkyZN2TJkyHU6nUwzDNLNLNDNDNDOGzhs4TOCzgs4LOAzgM8OeHPDnhzw54Y8MeHPDnhzw54c8OcA4BwTgnCOEcM4ZwzhnDOGaDQaDQaDQaDQaDQaTSaTSaTSaTSaStTzTjDyTWJX0NUKYpGTu9nWataUpZe7B+XkxGRzRr616pJkmMkwbyW1Li1aFPhUvgrv8AE21LFjYrFrTIH9GyejkTOfJkyajUaziHFOIcQ4pxTiHFRxjxBK4SPEHiR3B4jI7ho8QzxGB3Xl47ZK4aOJJiqy1Ocm3NmZMyzqeYxI0s0M4bOGzhEbSpIdtNGzfLS2zDTcpdYxyqEdIVJaUiVPrODabw3qEpZl30sNDIry6MBLoXAu+6EetrHpoNAoHDOEcI4RwjhnDOGcM0Gg0Gg0GgdM8Pmato4dlFkrI8EzwskeHkcBnBOAcA4B4c8OcA8OjgHAOAcA4BwRUThHCRwkcNHDOGjhnDNCNBpRpNJoNJpNJoNJpNJpNJpNJpNJg0mBowIMHQwDXTHQwH3ydDKG1i5eKVShpoTXEpx6NMybJseIVDAZNTMnLk9Jnqo+AjejJKY3kS6TeCTy0VYkmS9n8qi86gxrrse0wfCguvxNuZdG1WKFPtE/LI3ZMmTUajUajUZNRrNZrNZrFIyajV1cjWakajV11o1mtHERqHLpq6a0Ooh1SVwccdweJHcHHOOcY4pxjjnHOMzisqTeYt4i3og2RfTDw86I509eHpeJ9vLMUPM6fmlR80aKxwEcA8OKgeHPDkbXUUdmIjs6mnG1WHaRZWtuEbagIt+tKC85PtnJVbO6nBKpOeHqzJ51xXXtLAukYyMolhlanmEoaYqGSNIp0SjTwRRpFAUDQaDhnDOGcPq4GjpwzR00mkcDSOIo+ZISQoJmjq4mg4RwTgnBOCcI4RwjhnDOGcM4ZoHDoodNHXR10YbgKIoZNOGkYFHpgx00dPoSMGDBgwYMGDBgwYMGBrrgS6KAkH1p6fX0NHQx1aw6lTSSu1EltFI/Ucnjinea6lXzyxKJKOHXhpnEo0+LWjFUqTDA4mBm5s/IzlgbyxdqjJd0y4rDkP9te6X7rb1wjquLakqdP0snMyB8Tbcv8AdFYjDtA/JO6R4tHi0eKR4pHi0O7R4xHjDxh4s8YK7PFnizxRO6PFM8SeJPEniRXQrs8SjjmvJqHMUx1cHHweKPFiuTxI7np4np4kdzkddjmzWzUzLOp1Ms3dRI0mg0h9fUegj67Rb6Z8urJUeTWhXHmVfqqqkRaYqaYqIqJwjhELXJTt0hQSN9zHVR2rDValpPyOpJNVUOWoUkSl0jPUVIuc2kjV1peYeEa+us19IkaRGlkdHMKkP9NtDXCFEhSIQFEURREhRFE0mk0jgaGxwNHTR00MceuhjgaDS8pMSEsGOrWTmwYMGDBgwYMGDS0KBp6uPXSKAoigaDQxQNDNHTT0UTR10mk0mk0mk0mk0mk0mk0mk0jhk0M0dNOFgwxrCwzT00mGNGGfdSoom0NpRgSv9Q7nIrrArstrlOtLupPVNJQu44SZsaGu7qM5HEcWNHo4PnM9Ko8mcCkOoNjPqvIbNek1JmcTby9k0eLUR8JdvibUeraJHsu35LLMsyzLOplnUwzDNLNDNDNLMMwzDNJpMGAZk1M4jFWYrk8SeIOOOqOZlnUyzUajdg0mg0Gg0Gg0Gg0mk0iRuwYMGDBg0mDSaTSaSdMl0FIjUaIXOCleIpXUWQmmRhkjRFDByvqrunqt/qz7zSQu0u0NSHPpGqs1GKGThohKKJPJg0ipkaRGkN4I+ZSRsqGsVFkYMihISEJCEjBvwYMGDBpMGDBgR6eTJqRrRxEcaJx4niInioni4HjYEtoUkfqlFD2vQR+t22be5hWj8tkg7nNcXEaUb7a06rlNyMmQyW8v91V4oKDG8z2gui6H+Px6SfXmaHAcTnZ+FRum8KUxyOokMaJvCrTy2yRGWB94R1ysKHBoI+D9/Fr/AOza6F2R+SwYMGDBgwbsmo1GoyZNRqNRuYaTQaDhnDNBpZg0mk0mg0Gg0Gg0mDByYN2DBgSMGDBgwYMGk0mk0mkYdypSJQaOqMimW8K1V2NnOBCGF6FxH/ZNaZW0sVZ9RdBik22JKLk8KNRtrOYGDAkxMU8DuUcTBSrFSa4mxZKO0uGjho0IwCEIR6eUaka0cVHGRxkOvEVzA8VAd5THf0kS2nQRLbNvElt2gj/9DRJf5FTJf5ES/wAgqj27cD2zdSHtO5Y7+4Z4qseJrHGqHEmamb9nX9Szna38K8VLIZMmT40wyZMmTJkrVVCO1NoOvNs5aP7te3lpqy6yw3fPy5NiLFmzdkyZN+DSaTB6bPnI3VZBpMDN1zU0jeRkmY8psq34tZHwo9/i0P8AZtOPf8mzdg58MwaTSaTQaDQaDQcM0Gg0Gg4ZwjhDpdGjcjSaDQaDQaDQaDQaDQaDQaDQaDQaTSaTSaTQaTSaTSJGDBpJrBuSyeF1E7Nkdn1KjtdiFvZxpqMEj0bxYr30dF1GWJSeVF4MjlpBxeWJEYEKQqY6aGkTpdHQmeHw3SmRhNFxlSsqnC2hkyh1EjjROLEVaIq0RVoirRONE48TxMB3dNDv6SHtSgiW2rZD2/aof+RW5L/I6RL/ACNEv8jkfr9eRLbN0S2pcs/VLoe0blniq8zVVJVKhxJC6jgMTPKSwM3YMG7SbksjiYEZKdzOlK024ULynWSkmcmTJkyZMmQyZMmTJkyZNRkyDMDQZNzeFtm90Rbyc1pjxNWpJ1K2mJHyl5U1DTNmLRYZPTwYMH4VnJOWDuYOSbwV3ltgzrhdXsqhwqKPhR7fE7GzPNcR7/k2YMGk0Gg0Gg4ZwzhnDOGcM4ZwzhnDOGcI4ZwzhnCOEcI4RwjhlSPlmboiMGDBgwfHwaSdPJKOHutcTIWkWRtkhQSPTv0bYjitki8wUnkayGBQI0iFM7LiPV1U9UURllbkjQi5pZjXhoP1ro9sSZLak2fqUz9RqHj6x+oXCP1O5P1O6P1G6Yrq4mSlWHOZkhBSJU0hieHDQ1PSMhLS+ImpMNIso4zM6hxOqNbNOTQPKIsUUSQRZ0Y4nYUjGRxE2jVk0jgdhYZgpXFSi7TbhQvIVUpZDJz5PTyGQaGgyVPbteL4vPSemrUutCX+5XNRRG9TUdUoLRS+Gj8Awwbp9TezAV5dK0jBMGywo8avCOmPw12+JcS0W+yEQ7/k2KJpNJoNJoNJoNBoNBoNBoNBoNJpNBpNBpNBoNBoNI0VO0++6PeJ8jJkMiYpGpFYyZLatw6lvNSjkyZNSNSNaOIjixONE8RE8TA8ZAd/TRXu6daG2IZpPtbvNMwKIqYqYqYkD7Oo0KM5kaAsIUQckiVclNyLjrSZFjDJTmSkhsXU0i1RJVWOZFajDiSlIyQSY44JCIOJiJ5TobmhNxNZ3HETaNeTA0ZaFLJpRJGcCkmYyOIpNGvJgaFJo15O44mpo1JhSuJ0Xa7cwUb2nWSnk1GoyZNRqMmTJqMmTJqMjlgndxgeOieMieMgeOgeOgfqED9RgfqFMntCJ+oId+jaEuINYfPb6q1GkpxVxmZTmbLt+NWlLqj4SPnoYMJM57ur1curkNiDY1tpij4Xd/F2nLTZbJ/ap9/v8kxRFE0Gk0mg0Gg0Gk0mk0mk0mk0mk0mk0mk0mk0mk0jRVXSp33LvHt8DJkMmTJkyZMmTJkyZGskoiH2t9rcBPb8B7fifr7Ht6bP1uqPbVce2bge1rhj2ncsd/cMd3WZx6jMTkWuYXG0oarTHS0XRQFTFTNJyxpxRvlWjElcSkZybp9YyRE05HEwR6HRjQLKNfSRgjBoyMFAeRiaMIGKR0OhgwNCkagZGRk3ZBgqmBSUiURoUmjOTSOIpNCeRxNJnAnkKdadJ2222ilfQqpVMkZGSWTEiOQZhkQZhiyT6q/jOM4XBrNRqMmTJkMmSa1KtTGZMnJs+o3b+JqYbXDp97Gh4W1yCZy5DJqNRkyZMnPk+YzfJnNWnw41Z65YGySC3p8WrQp8Kmj4DCJ8XbD/ANGzpKFGnJH5RQFA0mk0mk0mkwYMGDBgwYMGDBgwYMGDBgwNFVdK3u3wZkyZMmTJkyGTfkyZMmTJkyZMmTJkyZMm5FVA30qLrvpSSeaWJuJJ5MGlmhmhmBVnEjVeqa4trpLSP+xREjnyOWCVykSqzkGTUajI6qJvIlkxpGEWmaTAyEzKBpkKjQ55M5HAi2hyE8jpiGyLyOKDLQpnoZEsmDfgXQVQymOI0Rm0N5DApM1ZMZHHApYNSYyFWVN2m1nAoXdOqk8npZGy4pxqxurWVKUamBSycmTIZCpHJOkOmYDJkNlyC7j02Ls516laXmR8dnzGbpMyb+5gfQvKut9icwbyGxbbMkfCYj4t7bO5p+AuYEKd1TdJylH8kxIwYMGDBuwGDBgwYMGDBgwYMGDBgwYGisulf3b6ayaBmTJkyZMmTUZMmo1Go1Go1Go1Gs1Go1ms1ms1ms4iOMjxCHXTHUNZJZHEjSyOh0ksCkyGJDgjCJY0wqLOUyWBrIk0WU+JbTjpqUnpqehKrGBO6bHJyDI5mszgzJmCFJ1altsCCX6HZMn/AI/byKv+OVCrse7pEqM4PqjULEk49TLQpJnQZ1FIyMUTLMjEjBgwaTnwNCyjUYGgTMZHE7CmZTOaMxs5adWdN2u2JRKF1CsvSYyrSU1dbPwPVTcauTUajUZMmo1GQaySgSpjpjiYDZ89NwUbV3VTEbai319Fn46ozkwF3W0qciUshTwPvCOuVjQ4NFH9gwYMGD47K/a56TyZMojWSPEjrZOIcU4pxTinFOKcU4pxTinFOMcU4xxjjHGOMcY4xxTinFOKcU4oquXSoa14RHhEeFieEieGRWtHjLpyi1KNVdRPBGYaTSDM4cZI2TPVQvo6Lzs0cjeCVzFEq85hkcziGpsFTljyRHJs3bO2xPTC/oshUjUBywSp05lTZlnXLj/G4SKuxbugTp1IMTMGCSIywdGYGKTRqyYHE7PUajk1HRjNyngzkGRlgzkGRbNzQgwYDBpFA0mg0Gk6HQyZLe7nbzs7pXFP0WDHHJcWUahXtZUmpmoyZMmTJkyb3EcBwHAj/rlQu4VFZ0lb0as8n5H65WNknl78BWqqnGtWdSTQM0+U2Tb8WskfDisy0Gg0GD+kM+ZX9t1DM42+TwyPDo4ETgxOFAnSjoqyw9bNbNbNbNRqNRkyZMmTJkyelHvSruMfEs8QzjyFWkynqkUaSnDaFnol1gSeo3xkI0mkwYDYs/8AZtaOKxReae6VSMCV0SnKYZHMcxKUxRQqLxqhAcnI3ZO5QhOpK22V0jGnRWWy6v6NoVr65u4wuatBW217qpVbUIeNsazqbJsLkrf4yVdjXlElTnTGMhJHQZujM1m5ikZMgxG/BgwYNJg0mg0Gk0mk0mDkyajUajJkyZMmTJsKqxHOxm9lSiplzs/BLVBqRkyejg0jibIs+Pd1amT8kzlZUZuwbpzUFc1nVbQxjHLp3NlUOFQR8OgvMYNJoHAdMdM0Mwz+g5Bny8FePkucqfFcTxDOOzjM4rOIyVRuMoNvhM4MjgSOBI8PI8PI8PI8PI8NI8MzwrPCM8IzwbPBngjwR4I8CeAP08/Tz9PP08WzxbOFYo8CjwKPAxFZoVFRKbwXlHiwrU9LlE5IzwJ5GhmQ2XU03e1o5oFtL/XK4jEncTkbtRrHM4cpEKaYrfA6sYjeTdqO5TpyqStP8flIpUaNrHU5Fe6o2pebTrVxacJos9i16tSrc2OzZXVzc3Y4tEa1SmWe1akVR27qqTpQqKrseyrFf/GStsK9ok6VWmb8GDBg0mg0mk0mk0mk0mDBg5MmTJqMmTJkyajUZNRkyZMh1NLOHI4M2K0qM2PaTpHosZyOOS5sVUK1tOi8hkMmTJz7NoeGtGGD8rklLA3l8lSooKvVdRskxkhEixo8avCOmKPh0F5eboYHEcCSwf1zBgqR8tzRzN2yPBnhDwgrQ8Ih2yOAjgo4SOCjhROGjhwFRpnh4HhYnhEeFPDHAOAjhHCOCcI4YoHDOGcM4ZwjhHDOGcM4ZwzhipmkubCNUr2E6ZKDiNG9SwKeRmAoPh176PEs12EDkOZqy+FgpxcnwKdMdx0zk3OR1ZGLlKz/AMfqVChbULOGpsq1qVuXW16k3/rqqXkjabOurx8PZ+x5Xm1a9ydBYMTgVakGW9jVvHRsaGzYXG2Klwo169Ehtu5gUduwkQvbS6dbY1nVKv8AjaKuw7ykVKFSkLB0OhuyZMmTJkyZMmTJkyZMmTJkyc2DSaDDNLFTkyNBkKBTowKVvTZC1pkaEURjg9BnO0VbdVFdbPcW8wMhk3ZMhkyZLOj4i5nHCcTBg/KsmclSppKk3MZNjY2M3bFt8JHxIdIZMmTJkyZN8z+tISEYHHKq2mo8CeBPAngTwR4UlbErY8OcE4ZoNCOGaGYZmSFVYq4q8RVIGYsxE0I0Gg0mDB6GTJk1Go1ktMi6s4SVSlpcom7GDIpGTuZKT4tougZHIip1pcCFMo0K1U4Fvbk7mczdkcjqxLrZ7Ar1i2srexi55KkoUlW2y5E6NScZV5UKdCnU2hKhsq22c7za9VktFaSpGivTc3RaSnOVhsaUivtWhaQqV61abcBQ1miVIzx5WWyJW8tobcIbTu6cqP8AkUkU9r2dwSsNnXhW/wAciVti3lIqUqlIyZMmTJ6ODSzDNLOHI4EhW0jwshWchWUmKwYtnsVgKwPAIVhE8DAVpBCt4nBicJChgUmjispzyegxjObBKGS52fGoV7WpRepo4hxDiHEOIcQ4hxGa2f47QbH1MDPyDOWcjOTfOookpah4ROZOQxjEUocSpa0uFRR8NHpzP6dk3oyGQQIQhG7BpMGk0mBokiSGhhgwculDpo4RomjNRPj1IkbtivYiuoMVaDNUToYMGDByscyVdI4zYqdxMjYVpk9h05F/Yu1nKiShpKhwzS88MprzcI2XPVa3MOFXcinbVqyxa0SFC5u4KNnaFW7q1TBgHM6sjBylaf49XqlrY21inUKklTLja/SpKpUqNUBxlVq2ex9Mq21KNB1KdS7nDj0xzk5cGhIlUklabPrX8oUrLZBebQuLlwjGcuFKkVKdRpzp4ttn3V2KnZbJhfbTq3jlwTRk4E8fexbKo6u0NrU7VUv8gmiG17OuS2ds67K3+NxLjY13EVCpTcaUpHh5EbacjwkxWM2v0+YrGWhbOZ+mi2aLZ2H+nxb/AE+IrGArSCPDQOBE4UTho0o0mDBgwYMGDBgwYDBT6GTII1BqGZPQwGCdGMyezaUh7Ipn6NTP0emfpFM/SqWFsmkj9KpH6XRP0qiUqcKFFmRjN6PRaPwaNzZOQjdUngnFs0vMx51zWZ8MSzKUMkVmlsm11VUj4kO+QyDDJyTP6yhCEI34MGAaJEhjOX6Ru+t+EaEOhFjtTw80YrRFXrRFeyR48e0WLaRHaEWeNgeOieNFOvVI2d1UI7KKezqKI0YRkox1dNUpYNsVKc6l3R0DX+uUMjhFOS8+IycI4lD3bKn12moxr+Jo0itXq12yFVwIVFURqwSqHVlKjOrO0/xypIt7W3soOqTcYK62tw2pwu1K1jTcrmfEt9jTvCNxaWCrzuriXE0EZQcuFLW604lJu8nabGhZlztrI06pGnVgnKIlQkOVSlOx2LxoXu1oWkKtWdeeGaZFPgGiU52OyKcKd7tbKeWbozlA2RWuZ1UkTpqRPZ9Bn6ZTiOx0HAijQjSjSaTAYMGAwYMGDBgwYMGDBgwYMGDBpNIokVgEIXY+hkh5PTwYMGDkwQjlzGMGb0fj2Tkd2lgbKlQHJE5YlUy5T9zWqccZp+7TGRHrT2XQ4Vuj4kDcz0Jn9SwYOVCEIRzMkSJDGM+Bg4aZwEx2eSOz0z9LiPZY9nSRDZk5FPZECnYUaYqaRgKtRUyW04xHtbBPbDzW2vVkVas6k61eQ5tjqM4zHUbfGYqmBTw9m19NztVa6RZ2Fxfzs/8AF6FMVrbqMtl2M3W/x+1qFf8Axu6R+k3qnaf42UqNG1g6jZNxpqe0tRWpV6jVWpRhUvqLLbZN1dKM7TZ9GvtG5qkKdrUX+1ONSvTl4mjIlUy7DY9zXnUvbLZpWu7m5qcVjlApyqTJVatuW9rV2nUt7S22NSv9rTvDzIXDkv8AWpSXCLelW2jUpULXY1K+2nWvWlpHlnDeHFFlsqtcO6ktl2kNr3MZUP8AIJJ1L6nG1e2rp1Kf+QSRaV4X1OVBDth0Zow0YDBgwYMHp4MGDSKIomkwYPrdgwY6aRoaDB6+DBgwUo9JIZgaMGkwYEfjskmN5fYcsFSuatRLUNzP5SnglJ51PMqrRGcojqMsKbrVYxwvixXTAYOdkz1+p/QkcyEIQjmZIkSGM+ChCIkRGDSjSjkqTwrytrbiOmSpE6RKA4mkkctGeipcf7bV5Nk7UrbOlbbSo3EVhm9yUR1GypKFIutozUY3cJOVK2qFerwXQsb++bo7N2YVLqd+nZ1aLd3cxjqoVB29NKrdVKatravtSdCzs9jl1tevXlFU6rdlKBwq4pRRLTKWztjVqs7jaNvZU6tWrXlClGoSozpjhVRUr0pFhsarcSvdoUNmRuK07upplGOSnThMderRNn7HVVX+142xS2+zxWyrs2ja2NGDuKkqeSyspXlSztY2lNvJu7jpRY6A6UkYN+DBgwaTSaTSaTSaTSaTBg9FHyY9Is/LSZNhKWCtWbGQmZJE0TGMl3cloNi2+mCR8VHpMmf1JHOhCEczJEiQxnwkIiREc0pFzWJdTBpHAlAlSJUiVMnA4ZwzhHBZwGeHkU5/6qkdBZUHUqRp6IqpOm6e0KyI7YttULilUMKRgudl3/Fl4ygO/opW+y7jaBb2dnsx3t/dTlG8ijiWkx2imJ3Fuqt9TahTq39Wy2RTsVV2wscGtUl/vpHEoTI8KQ5TtShCvtepRsLTYsL3bdW6UVkhUlAnVoNabepFynGVhsanGG0Ns5UteadHiKFetTcpVFP/AKZbO2UrJbS2xxDUjSjSaWFls6d3OhQhQgz0HTicE4bNJgwYMGDBgwYMGD8Kh9mcuBm5d2fi5yCctJOWo0jiaWjW0KpkkybGSZ3clgow4lS2pcKkj4i75Mmo1ms4iOIjiHFOKcU4g3k/qSOZCEIRzMkTJDPhoRFkWJiZvyNlWrgqzyzBgwaThjoIdqmeBR4BHgYngoitInhYHAgXdprpqM5ys41LWMbmjVQ/LCcsu2p3E1Tvto0Cl/kcolHblrVIXNGoO3ozc4ZhU2Re0xu9thX1GT4VrVJW6pkrutKVpsLiwneUrGjO6qTdONCuRtalJyr3Sj4mmyrw6stn7DrSnX2nb2sa8rqcoKnUfhYxXAqzTqcIt7OptCrQoW+xra92tVvSNHWRUoRqOCNNCcaNKrXqUbO02VS2jtSpeybNQpCkN4LCzd7Uo0IUIM9XBg+Kj5EPdMZzMY2Luz8VJkmTqaSUtRu0jiSiPoahsZNg3k2Nb8Sqj4bBy0HFOKcRjmzWzUzJ/YUIQjlZIkyQz4iExERMyZMmSRUg5DtmO3aHBo34N2DBgwYMHJc7Kp1SXjrIpbYaNOz65+m1EZvrdSu4Sh97Ng/DRnUgV9uys50P8itKpTu6FZVLWhXVX/H7SZL/AB2o58Kls21rbVdeSqRkPI1CQqUiVerZlClX2zUo2dnsaF3tWd2lQ1EZXVGLr0yCt6hWXCls3ZM70q7QtNmRrSr3M4YzGMTTWnHxjpQttnVNpSzb7Ftry7qXk2YMGk0lhYVLmpSpRow3OrKrPMkcQU4s/J5RrRxInGgeJgjxcC0qcUkM5sGCSIIZ6KPntk5DkOOTQaTBgcSUSaJDJDIneWzKHBt0fFqs3ZP7IhCYmJnKyRIYz4iERYmJmTUajI2ZMg4pkqaHTNJyYMBg562zrasVdhsnY3luQ2hcURbShUSWzqpSlS0l5LReupaVCnTgqsZzgRv6sCl/kNpN07uhWKlvRrKrsCzmT2FcUypbXtEldSNnbJea1/CmnPU3SoyPCQTcbiMePOjFx8dV2dsiNir/AG3xBUFMjSrUZeJgR8NVKsFRNmbNlfu7vaGyaVWtOvUZgwKKNODZ+z5XE6VKFCG6c3ctJRW5rJjBqmjiCnFn4HJlGtHEiOtA8TA8XAd5Ad6h3x41ju5HiZnHmcWRrZqZk3bOjpt5HoaSawRPp9+Rn4LJUkSnkSDBg3MZNkmMmxhYUePcRjhI+LVfm/tCYhCOVkiRIZ8RAhCORnJpHAdMdM0MwevOlTqqpse1qFTYVRE7C8oEL6vRf6hTrDp2VYs7ClSql23G2o+EcPC0jZdW6TjfVYj2rSpqle29c0Qbu7ZXdKexLimqlvf0B3iiRuKciVxGkrS0q7WcadnsancX07mU9DMYcalRCupxdWrCsbM2JUhPam11QJtzecCmajoJmz9nzu6lOnGjDuE5u6aiornayacGqaOIKcWfCyjUjiRHXgjxdNHjoH6hFH6kfqTP1GRK9qMdzVOPUZxJM1MyevbrTQZzYNJJ4JyyRBiPw0pYK1bVKMTmZIqMkyTMazdsW30xifGk8v8AtCExMTDJkyZGyTJDPjIR6eDBg0mkdMdMdM0mg4ZwzQaDSYMGDnnRp1Crsa0qF9s3wbzOBC/q0yntbpwbKqS2ZJllaO1om2Jap069Io39SBT21dQLfblGvKFxSmTo0qqr7Bsqpb/49QpVL2rO0t6tzKU9UWNGCMBt1Z2OyKFjHaW1J11lo8jHFGgw0LJs3YymRhGnHdVcriSior1MZNODVNHFFOLPRqXv/wDR4yR4uZ4iZx5nFmapGT5cVmUViHoNk5BEH33s/BNl5W0qg8tLoYN7kSkVJk5jZJkZYClDXUtqXCpI+LJ4j/aUITEzJkyZHIbGxjPjIQI9fBg0mkwYMHrbXl//AEmgdNGlo4k4kL+rApbWZX8NeSezZYqWlWmZnA2PF1KpGc4ktuxoVKW06c1G4pTJ0aVVVth2dUq/47UiVdn3tEo29zcytbK32TS2heVL4xVgcc1U5HDizhMzpls/YkWJKK5MGkwc+DmayYwapo4opxZyXlfw1vQTUPkZMnoUOtb6ZzNkmMEGBm5n4KtU0xqT4jpvDUuiN7ZORORJjGSGloNj0OJWifGrPEP7ShMTFI1Go1GTI2MZ8dAj5TPS23REDEMfc6iqTiQ2hViO6pVS1ubSjCNSnMa6XdtVhWsKMqNrgjOcCN7ViRv4sjcU5nQvbCnfRqf4/UiVLG+oEqmH/qkcNDVVS2bsyMY9j0cGkwethM04NU4kXqibRreIuvwdks3LGc0mNm5CMDPwjLqpqajg7OMiLMg2SZORIY2NnceQ2Vb8GhE+IwuGf2zJysYz5+TdkyZPVZ6lSnGrC9s52VTWOQpdJM5cHUU5Ip7QrUyG12Q2lQmRq05mDfGc4kbyrEjfxI3FKZOlSqqtsOzqlX/HZxNl7L8IZPW0mkwepjUy7uFa29vFqP4PZqzcM5mxs5EPsz8Gy4q6V9jQkREMbJPIyRIkMRJ5dlR41eEdK+PXf+z+iZMn41n9BlCNSN3sKWatCdJ4ZjByYBBg0mCLcSne1qZT2tMhtOhIhVpzMG7ApzgRvKqI30WRr05nw9JpMHP2KccLbFxop63Wh8zIZMm/JspZqMZytnLEqM/CVJYKnmek3RIroSkSGSkSkSYyRFZPvYluRPjzeZf+WdDUjiQR4imjxlFHj6Q9pUx7TifqjHtKbP1GqTvJ1FOhTm52syUJRMnpYNBho1OJTvq0CntaaIbToTI1KcwwYNIpTgRvKqI30SNenM+HpNJg3+6RdupO4t4Yj8nJqNaOLE40TjxPEI8SeJZ4iRxpGwG2MZyNjZyxJs/BznhVKupjN0UfTY0YJkyQzGEwhHXOzo8KhE+NJ4j/AOP5NSNcR1oHiaaHe0h39Ie0YH6ih7SY9oTHf1B3lUdxVOLUNUmdTBgMGDmyOlCZKzROhUgdjIjlw8IZuwdTVgpXdaJDa8olPadvMjVpzNzRgUpxI3dSJG/iyNenM+HgwQjpRtW48Rc/AyaonEijjRPExHcpHijxR4mR4iRxpmuchtm/HTk2FDFtIZuyZOZGcJs/AsbLirgjLJkwbomMmBoZJEyRgqMPrZVDjXEUfFYV3ilk/qOT5mTez5aZ95Mmo1o4qRx4HiYHi4DvYjvh3zHfTHeVDxVUdeox1JjlI6nJEH2wkNDwjHXCMYb79DHXoLthAzmfVNYbhFnBQ6ckdUJm5+yHuxmSUTTl4iKOVpiyK6KETThLyqN5UgR2nJEdoUWoVadQ34IzqRI3lSJG+iRr05nO+y7feTJkTMiZ95Li4VvQtYH3u+jUjWh1YDrwR4qB4yI7w8Yx3Uh3EzjTOJI1MI+0n7nGKco4eIoUcy0xEsT7yUYsjHJ5cL2aVgksOytXeXEKUaNORyZOaJJnJk+Y2FWemNWWuXRGcDZ0MCwJGBjXSZMYyTybtjW/Doo9PJvyDOW7eI+sxB3DobvrobkffwUfP+l3+/y2DdlGpGtHFRxjjniGceQ60x1JGuRljGeng5EaSRI+up9tdX3/AJLOfvuLtEyNnPVRvZw0zS4h7oxiR90fd11rqRXSCw0JeX+CylNLFQbeiFV5je1YkNp1EQ2jSkQrU5m5owKpOJG9qRI30WRr05m9iZ9/yfdiEfe7bVxrreMijxq1eNeqV5NS8VU0yuKkjiTNTPUgKLzL31PdI65XSel6v/olmUc5WTuv/nH2qR5pT2VYq0ozJM3ZPRZ+CZdVXlkl1fRfafX7QhDJ9qjJjJvpJYC3p8WrRp8OCPj3b83rM7L6Qsn19fX8R9up9/bMmT4LPrqb/vmyev8ASPvdgMHxMG/AYN2DmwYN3QyjUjWjiI4hxDiM1s1Myz8L9/Bcck46Jo3dj6cBdByZvy2L27uxky0dzOTJv4jQqqIXdWBHaNUhtGkyNanM34I1JwI3lREb6JGvTmYTMGDBgxgSMBcVY21CrOVSeWdj4epm/UyDw9TDJqYZbM9HUUR1jYWzZBUGc6NyGz8Ey4qaIuTYOXXJqMiZFiMjZNlRkhk31k9QbFt9U0epg5MHNcPNX4men9ZyZRqRqRrRrRxDiGs1s1s1M1GTJ+JwYMHx668qN+AlHUYwajlwbsHK2bsiqyQqkXHiQIV5xIX9REL+kyNWEzfgU5xI3c0RvYsjWhI5du3WZ/gXNIc2w2Jsh3U0sBVZ6jPwUnguq2uaYYNyZFiYmZGTKjJMbKfVvuur2fQ4NvE+RN5l/YcmpHEijiROIjiI4hxDiGtmpmpmo/N4PjTWYo5EMY0dQQYMBg5H0O5gY2ZMm5SaI3E0RuxVYEK9REb6pEjf0pEasJm/BCUkKqx18Er6ECrtqlCNapKrU+fnBKpkwYNk7Hd5KnTjSifVR9fxzLutpi+ohMGCIiYmDZUZUZJk2Y8ps6jxriKPjMKjxB9/6rk1I4kEceBxonGRxTis4kjXI1M6mD+u5NSH0eTdkyJhgaGgyZDBg3sxkbwYyTlgZz5wRkKrViK7I1YkLmpEjtGSIX1KRGcJEQkXD6VXg/AVZCZqNjbGldOEFTjuqy0pvJ6bZ+CqT0RrS1vBuRuRgFMUhlQqMbJGvyGxKGmET5Fy8Uf6hkOJI1yMsyb8H9byjUjiRHXgjxMDxUTxZ4tniZHiJnGma5Gpik0J5MimagTMmoyciYM3MwNmMlSZyYN2iRwZHAkPoUq7xVWoi8ETWziiqYIXlSLW06mFtNFa8pyKtTWfgK3c2JsN3DhBQjunNRVSprfpsZ+BbL248y9rRg5UGTWaslVk2SYurn0dKGudtS4VKJ8i9eIf+L5MmT4GYjnEdeCPF00O8pnjojvjxsh3czxFRnFma5GWerqOjDLNRk50DNzO5UlgO5g3acit5NRp6Q0mg4KOBE4Q7aSIZg/xFX3bD2HxyMVBasHEJ18E6jkelkyfgmVqmlVOtVdmGDmaMGcFSRJk2IfU2PQ4leJ8m+l5v6Tk34N2T+mYDMUOpTQ7mih3tFD2jSHtOA9pj2lMe0KrHd1mceozXM1M+Tgy0asjQajWajJuyajUGBoZN6VvXU0kKbkU6KgNGk0GkwaQykOWTAcNMdKSPwuyNkeLrJRpRqVziDqDlkMmT8ZORUep1F512GciNyGiRUYyXeLDZNDhW8T5N281v6dk/G5Ph5MmTWh1Yo8TSHe0UPaNFD2pTR+qo/U2PadUe0K7HeV2OvVZrmzLPwqGjUZMGDdkyb4s+hlQ0dMCQW9m2aEaWhU2aTA2ORlnU0igKmcIVI0NDpRkStSVOUD8DQoyr1bWjG2oVqmoZk/INlV5GS967cyN7KjJskwa6WlLi16cNEUfJrPVV/8ACOhxIIdzRQ763Q9p26HtekPbESW1ps/Uao7+qx3c2O4kx1TiGs1mpikxH4/Jk3YMGDemZKjRTi6s1baqdRaWk26Vk0+sx9BQJSSPNM4Eh0ThmMHDkxUzojWcQ4hxDiZO5jJOyUypTlSfzIxcjw9ZCjJy2Rsvw0asugxnMmfiMlappSeoqIa80QaN2DBuYSKjJMkDZsShmUUfHYPou7/vuUOrTRK+t4n6tQz+rUB7Ypj20PbMyW165Latyx3dZniarHVmzUxG9npLt+PTN2Tmyaib1NLRFXX+uT1ys7RUBxyY6RhlypSkRtUjCQxwHE0Gls0Gg4aOGjhiiaBUjQ0R6FSEK0P0yTn+jTHse4JbLu4J21eJ1QurpbPuqpT2BXkR/wAdgf8A52if/n7cf+PUyX+PMewLkjsC4Yv8fmf/AJ8//Po/QIn6DE/QB7AqE9h3KKmz7qmThOBZ7Lq3RR2NbUhU6UDyFO3ptvoTYMYzlQjlZ+BbK+WQ6Euql3iMGcrCcibJDEe6Wz6HBt4o+TXemj/UsnzsBlIdakiV5bxHtK2Q9rW6HtimPbA9r1Se1bgltK5ZK8uGOvUZrkwTEb5HKmb5dvRXddvx2DQYaMmTODJyt4UepCcqTr1EbJt+JNoxg05ajg3MwaTQaBo0HDRpFHJjA6iyos7GtiTZGk2RpqIZFVaIOUypa0KqpW9vQOIRiZkZkNo1ROMkcZmtmpmpmQw2RpMwokqmDinChVFFQUmMgtcuykM3MZyoMn4ac+suqaCpHqgRubN7ZJlRkmSYw2dR41zFCPk3rxb/ANoc4o8RRQ762iPalqh7Zt0frVMe2GPa9Zj2pcsd/csdzWY5zZzsYzkQZBnMmbpHoruu35HBpOxk1GQYVGCZULWmqNqjAkcmDBu0mDBpQV5tFKnoWTuQotkaaib40mxRjA1moyU6eDJqJ1DJk5NDYqLYqKR5YjmOMmcNEacc9IqTGSLeGmJIZuYzewyJiYj8JUlhKXn+mgmbkDBGDdNk5EmY1yfRmxKGmnE+VtB/6/6Zk9PAYMBqih16KHfWyHtO2Q9rUR7YiPa8x7VrsntK4Hf3LHcVWOcjkgj1mDNyBmkGc6YS7eiu6PyjgdUZEwZJ5e6hSdevKIgRuZg5cZMJD8wyMNVTsdZOlBRMmTUJORFaTInk3UoG6cw0mBJsjRbFRFTRpRk7nRDmaZyFRNKiSYxmNU+yGM3M5cG5MTOVnymbpPBVn5l3RuZIEZOWTwTkSZJik0FOOudrS4VFHytpPr/U3c0EO+t0Paduh7Vpj2ufq9Qe1LhnjrmY7quyU6hlnIlltYZNhp8nJHuj1HHCS1EgZuiKOY/eem6cdL50x9ufhsjRk2qOl6fLzSjg3xjqfwsdBrByxWXyafL6bgdUZGzczZkdN2nk5GYN+DBg7GdQTEtKUXUIwUQcjqxQwb0ZF3XRDkPqRp5NAqQopHYUsg2Ep4NLkKKQSkSYMky36zbGzJvYM34NyExM+ezdOWXNahS6phIZIZyMGTZNkiYo5pGybXXXifL2g81sC6nNjpyPofKZvR8TsfIphMlpi5JDxEWHPyp4xOWNfRijmTwR/bWma0tk49SCPVl7afuSTktLFBangilohpmL2R0lWmlHGIywVGk5pEI9XFo5sGBnJHtD3S93/wA+ii8OOMReCWIkksTMocfM8Jw9y0t6euny4wesvYu8ve9Kbj5nhEUm1pEsT6aliRFdHg/h0cUmSj19JwGmjcywyrzPWHZd/Sn1YzsRi6jUdJkciMDsZMmSJughmRvLpwyIRnpliYuzbM9HJmDLRkc9JT6uTBk2Wn7bYLtzs5UJmTJkyfLYVJYWOmB9JI3MmCN+TI2SZJjH1cVpDZlHh0EcmT41683D7Q7rusMS65F2WGLsj6+mSGJHrru+/wDH67r6OiH2kH2RDB9ev9D79j7EC7/fcQfX1gaN2Tngzhsm8up7pdkpI6cRwy2/P04nVPvPrj/5UhSaJyZ3IHq++KWgiQ92My6pQWacI6BeyPtlJyhhlQq+6fshN5cmz0GclJ+WLw3DLfSL9i9iTxIlHLl0jIecz6yWpEffH3N4lqelvJ60OyhgzmcvdL3LUiPuUeqeZx7xyRQ/a/YvYpMlJ59Oq+n0fezWvFPGYdl3TDJvRulLTFdFuUXNxiops6yFFIyZMm5AkIY30pQExd+guykIz5RvyjZJhVmUulNgyt7aHSi2ORTkc7NzN6Mnz2VZaiSaM9Ze7PmjLpkYxiEYGjdNkmSJC7qacre2dStTjpij5dw81/cktJEj3++wvauguy7fxRIkPtFmT1kYyPs+38UMY+gwffqLuu+euenrowZ6vuwXfBnzCD6+vob6/Ai8N990jmj3Xb12MGRl5Ri7/EovrzyeT50Xg+LVXRPDwEKro1Y1GlGRkyahSIsGIMkusxkY62oqKbFEMhk3RBCDJFJmcJMRjJg5mzuSeFLzS7LdknjC6QbGU3158G7Bg3oQYPh4OdlWRBdX1MEokTexiEEhjJEmMmyn3ffYlDVKJuwfJm8z5s9PnvqfOzg+czmpo+DIGRCQj1mcsHiX52VCchZR3KhbVITtPa8nc0mCPQyGkSGhPzZPc4xUEwcjJkEgZE3ZN0TGRLBkyZMmQybsiKkilHMpG+qz+LGRl5vVYIR82csEnlfx3YMddyMZJI3IJEibJMY+6ykll7PocC3ifLm8Q/skjngj4MgZE3s5ZU8HPI5oPK/OWNzKi1Z1b2o04kLCvXttjyc1pkEGbkbtRlMqeWKGyktKyZGzJuSN6DIupgRqwajUZN+TIZMgxlIYMyTjk+mM7OL6eqwR8yTKuWQiS7qQNm/ASQwQSJk2SZJg35Nm0OPcxR8yu8UP7JI5o912+DIGcjOSmsyKlM5mc1F9PzjNjXlOva7asaVaG0do1K1laVeFUo1VUjjAu4xSNRqO48lxNqnT6yS1PsZGb0jcxG7GDJqNRzZDJkyZBsZHobpGSUj6YyRSeY+jg3MaPmuWBzy3jGMRwOJ2BAjdgkgRkkVJEpDJCJrD2LQ0Uoo+ZdvFt/ZGc1NHwmM5WclFG6pSORnPRfX87CdSjUnfeNV1B1H7ZW1aVtOM9SQmdx9DUOTFUYqiLqeSh7KSBm5ISDJuiZNY5GTcjfkyGTdkMgu+fNuYyo+kHmLGSKD6cmTnZ86byKOJNZcnkiSJPrz4JRDJOROQ2MYinF1alCnwqce3zL//AJv6bk+LI3M5II+HI9KkvLvqUzfI54vDR+da6qeslbpTlLiFrcrTGXTImNAupglDWXS0qkvIhm5ISBs3ZOTBvyGTJkyZMmTJkyMp+5PzbmFftbvNNjJFF9dzPTwfKbJyIT6y8qfQxg7GQQzlwSGTkVJkmDBGxqHEuInzdpf8/wDY5HNHvFdPhyORnLHtyTp5NzPQpPMfzzSkRqOCdCM40rdiu406kKiklIUhmRykiLWLzrGj7UzGTBg5mb0cuTIZMnNJlHtH37mFRdLZ9BjIdJIGb8mTJys+S2OQmTpqSWWN+buOXVHIjc5GocipVJ1CUjdq67tk2/Ctoo+btP8AZ/scjmpo+JI5GckFmXNOnkfQ9Ggz+gYcW7riRrU5RdvdSoSpV41oRZu7koZK9JxpW3Wjqw6c8jR8DJkyGTJzSZS6U0/9m6QS7UHiYyR9xNzN2TIZORjNyPiNlSZEcdQsofaS6uQlkRyahzHMcyVUnWJTGbmNJQLalxq1OGmKPm7T/b/qWT15G5nJTR8SXb0aKOecFI8OSpaTBg5abxL+gtJkqckpRcShXlQlRrxqxUhnEwKbJqpMsf8AnlEi8OLyvh5PQmyHsz/u3SBi6Vd0giIGMZuyZMnI0CPiMqTF5jVkyZyEpGlnJklNI1DY5E6pKbY2NmTd3byg2JQ1VIny2btp+z+o5PgSNzN8e8V0+JM9GivL6NRdPQi8r+hVGYy6EnTIVckaplMnKka9St2uHkkUqgM+VIXtk/8AfukbqjxKPVDMdRG5nJkTMmTcz4uSpUG23HONMlJNmPLKYhH3uc0iVQch1CVQcmxsbGckZaZVZ8SZs6jwbaCPnbT7f07J8JjOakj4s++9nLFYXovqS789F+X8pk1I4iOKjjI4yOOjjo4yOMjjI4qOIhzRORAiKWCM8iqnEia4Ztn/AK2w9rpz1Rkc2TnyekyT6r21H/vQMYysW8swGjHXlYMMikJmTJ8epVwZ1GA0pjwJ9MZMYN0p4JVBzNRk0jQM5WRguCWNHj3MUfP2n2/sMmbmclJHxWb2clNZl6dVdeei+v5J1Eh1x1mObZk9HJkyZOIzjSFcSRSrxqBradjU1Qcg7lOWmWQyb8m9BkyZMnPk3Mfu/jVf+9dhjGVe1pMRukJnIxm5GRM+PVqaSUtTTI+YnTnAg21WnhQYiQ5pEqo5GTqzQYGMYzlfVyzFGwqBFHz9pn9KyfGkbmb4rLiunxJduRnJQXX06q6bmckHiSPx8ppE6w5NnxaVydGbOl5lE3MpzGzIajJzZHIyGTJkyZOVmfP/ABuH/th7RgyZTeirFm6TMiYjc0NDGGRMTN2RHwatXSpz1PJAU2pp64S8hJOTXROqSqSYw0tipmBjGMYxnJF4nVnrmll2NHgW6Pn7TP6hk3zSRvgsnOxnNSRu0+Vd5LD5YLL5GvLyzPRorEd0lgjHJzY8kllMEsuSxLkpvMfUjHUDWFyrvJYe9Ly/Cx5V1dSppJScjkhFNck4pHrKTiWdeUa7m0KUmasC6p9HnK3oEYNzZKRqMmTIZNyYZMmSTP558tz7qTzDeyZPo6M8x1DmZBMTMm5jQ0b0I+DkKlTQp1HUZHqSbiOGVFjbc5M1GQ0tip4N2RmMjGujGM31VpI01wjZtDjXURHz9pnwWsCWTmx5d67vv8FA0cz77/r4WOmMmAn3WowtctSKZCWXpy3F6WsG+RuZyUl03f8AzXf/AOmrEmv9j1IgKXWKxNPr1ah7ZNmcRfmhGDJQed0+/ow7CKneHaPti9RDtLJ2j7o//NZxXQ8oTzOU8TnHM4wajKDiFuz1KYT9sngl1TyL3uWG+8vctWUvO8oj7YvUKLZKLZ2PWfs4nmTzVjPzRS4jckQ9kZ6nDoQbHlwj7JsnLST6xhBxcqbPSSyJKJkoVOJRT82MiR9LodzkQM1DmPugyZN+RM3ZMkiEfM+1x3tXmjuYxlTvQeJM6h1EJmRM3tGAQj4bkVptyaw+GzGilGrk4mISqDrDm2CQqZjBvYJ9Zd37JPCl1h10t5c5Yc+sa/v1VDSlV2PScYRPwG0/bGLJRZ68+8ey9q6kezyZxH3L+CySOovc31a6qPRrB60QfZvBI6ifmbwx9+p99Rdk8mMjWT137Y917k+v/8QAMxEAAgIABAYCAgEEAQMFAAAAAAECEQMQEiAEITAxQFBBYBNRIgUUMnAjFTNhQlJxgJD/2gAIAQMRAT8B66PVM/0jZZ6hn+mbLP8AYVln+o2f/nez/XbP/pIij63RR9YRnRso+0o+jUMo/wBb0ZUfcaKP9Rs+5s+jszR9VoR9gZ9XoEJHks/09R5rPorM0fUkecz6Sj6gj7Uj6ejoUfYkfT0b1EcRnkM+kI+no2pCiZTR5DPpCPqqiUZSOp+Kf6HyPpyNiPpyNsUJGchm+zmQi5OiEFAtEoKXcxMPSeakaT2aPqaIo2SGbWzuJFGBGlYpFJlUYkdSPNQTR7JH1GyzD5m1olEaMrBIKIqyPY0kUZYsOdnhUUUUUUZxMpnskfRUdGyzLCZvaROS+AoziRQSbXY/KyM7ESJYY0ePRQWE3ZRR92R1YCkbZ4qRKbl3IwbFhIlAaMlGxA2ikQXMJhiI8tsLPZ2fQ0dWJAzlJR7k8VvsJX2IYP7EjKcDLDMp8pChYo0EgxDqI6zM6NAzYj74jDQaieN/7TuRw/2RikbGiUQw+xlP+UzJjCaGdJHXZss2o+n0UUUepRHsSxV8Ddii2RhQIRskMw3zCxR52ZNgzFNIzoo32WWbWdJHrqKPpke5OfwEEahzFbIm2YyJZYmWORkwxDxUwZlI6SPW0bLLCyzfRR7VG5GSCKsIo2MkZRKMqKM5qxo6COpYmZM9vZYWfRUdBIoIiQjYzNCZYjYwlEZRRQ0Zo2s2tmSYUf6AR0EIojE3MaM9TIiNzJIyQ42hoyRtZsZmhAwoo9UwZ7Cywss6DsjYUZtlm1maN8ZUyEbRJNESBvbGbExG5mkoEYsfkyRtZ0U6BnYs6CPRMGe8j3GgfcwavmYySlyMqNJtZmjoYS/iNFCVG9m1CZ02iSoEbWdKP6BnRR6RnpWeOwl3MIxe4MGbWZo6GF2OizJlmURHUxIgjazP4N9jKKKOQzYj0jPSwg5PkTi4umeQzCMbuZs2szRvjHU6EqCiSNrLCzOwibWbbJYiGdazNGdA0bEeiYM9LwP+Jx/dGFhPEdIxcGWG6ZJfxPDXNAzBMZ8wYhm1maNthgx+TOQuxlY2NgmbbIGdgzJseL+hzbLOizJGbM4mbGbUeiZ6fguzRxHDPE5o4RqMmmcXLU1FGJw8lCzdgcP+TmzHwvxyoylGjoJ0RlqQzCMXuDEM2szRqo1mo1Fg5GDi/DLJIumJ2ajNjLMkbIM2sZLE/Rdm5HRZlIzRnZk0Zo9ChnlqNxs6SIKhcXUaZGdyIO8REo8mh4A4sUWZ8E/4tHGyTmGBWtWYuH+SFE8NxdM2UZwdMfcwpJGI7Zkhm1maJMtHItCMtJbLEJmoTLGxsZsZnERsnjJDm5HiszRlZqNRYNBRRkzzkM8rg4LTYoRfKjGhpm0H9niadRwMe7OPj2aBqjJC/iNhF07NXOzh8fXyZOGruYn8XRw16DiYrWaTSzC5MkcjUcJzgcZykbLN1hZvZs4q9QrGczA/w5mUf8RhBWfjZ+M7CZY2WZIsyYhCLLJ4iiTxXI6aPBZlRRlRnZ6BnWo6fB4sdOlkMSDfJnFcMmnNAuNhX/kweIeG2yGKpxs/FrxeXYxOF+bHgyXM0l12BmdmuX7LOFf/ABI4mV4jESwYKBZnw3ErDWlmPi/klZ1WDNrNkkaTSjShGUf8TLh+cgbFC+5JUWdFERFk8b9DdnVRvo3UdBMZ6NnQpm2B08M4V/8AKjH/AO2zC4OMo3Jk8JQfM1mtnDYyjL+RxHEJLTA/K9BZkzcpNdjJ4ktFWbUWdRgzazY50OYuZQjJf4meLxEdP8e5hPVzJOhuxnSRqruTxLPIo8Bnomb8JXNDinGicdLDC4TClC2PBblpiS4fEj/kiC7nRXCzcdVFEVXc112HjyZ+ea7Mbb7mS7k+5fKjJDMrLLLNRZZZzMqPBZtZscLZKDI8jUIyX+JswZVGxztjYws6GqiUrPBR48T1cOTtE+KnoMfuHDR/Zf6RiLVGjEwXh3ZlFWbocX/CqO3NjZussssssdhRRRRR4qD5N7NlFGg0iMl/ibE6I8zKzoSkWdWzame7RuRwy1tJnE4MErHJfAp/xPyy/Zh8VKHyReqKZxCip0YcFPsQ4V/snh6TglBy/kYnD4c+fYxsHQ6NIor5PyJdhzs3UaTSUUCGeJRuQLuDNrNllmplsz/JyoG6NZqNRhyLOi2M20eBZ4zPRI3/ANOVzOOhUGyjT/Eoowof8aaOJX/Izg5Rg6Y+Lwuxiy1ysjy5nD6ZwXM4qf8AyfxLZRRR1EM69FGdlFG2yyzczY5lsTZ+QXMysJEY2LDSNKPxVzQ1RvsLPCs22WeGhnokb/6X/mz+of8AbC+VGSxJLkmGD/kS7mUZUbUdNDPDQdxxaKKBQtWDBDNrNklzOZbOZA2NWcPh/I8MUaIwvuSiieE1zRsceVjtkV+zJHhJnQssss6qGeiRv/p+LGE3qOOxlL+KZRthKnYzoI6aGeGg7DbCwrkZoZtfc2MzRtwOxYIZXIxFUqPxsWGaTHl8AzJHh2JnTszs6DPRI8lHTR4CY2ZIFyJzsTGw/wDSDBDNr7mxmaM0hRFiUXZUhSaNaJcRFLkYS1ytjCTpDdnlJnXRsoo9IjfRlRR4rEZI8CijNip9yaXwIdBqYjJDNr7mxmaMoRshhjjQ0JMgn8lDiYmH8owVUTLGl8HmI6yOgz0KNyNRlqLLOqzczNHgIZkkDYJWUZIyRI2/JsZmjLBw+RlpKEDM2Sds81HVQUbmehR5XwdCwRTKKFFscWaWaWUzNcDDT35jVAk2aWIZlZssP46RDBDNvybKNJpNJRlhz5UWDZci5Gv9mxnqqCijJcz0yN2HV8xYmEvgxpRcv4iPyYX6NUCOJhoxMaDjSDDnBLmPEhQYU4x7ksaFGSZPEi1yCONFInJSdo6axoqNUTnfYU+RhYml8yWPF9kfmX6JTtksZONFiY5H90q7GoswsbQPilVUWNnSRmzb8nSRDD5DiaWaRIRIfIUiwbPUUFFGbZ6dG5M1GobMrNQzpo6dllllmVFG9UM6SMkM2/J0o9yFs2yBqiwn2PTUFFGxsievXM0lByORoNDPxs/FL9H4Z/o/DP8AR+KX6Pwz/Q4NFFAxMZ0WWKRrMNOZ+GR+GRDgcSSshwk5S0n/AE+f7Hw8k6IcHKfM/sJGJg6Ac6NFqyijpIYIZt+TpYUTVpHiGtikzmaxsy7BiM9PRuZ69oSFMGrNAlQuIS+D+5X6P7mP6P7zBrsPjV8RHxb/AEf3L/R/df8AglitlmdDOlpRRSFy7CxpH9wYfHqMaaMPjUpWx/1DD/RLirdmHx0oKqJ8Ziy+SU2+5kmxHTiMESNvyDOhBUhmlFFAxlgwk7PEZ5NG1nvmdFHgaizpRGCJG35OlCXILLLLMpFjJv4PSpBRsbNRZZtZ62ijPSZpGkz0jQfBnZ0aQ0ZIZkhnXQ2FgzZ8mSN+DL4CyzUzWWWSCTo9Kkbm6Og2eis3pmakNmeozTNRnqMkew+TOyzKywg6YmNgzbJ2zyGdNI3NnRZ6NHlo9pRQUUUZRN85fB6RI3M9WzJHloZvR6doooo6EHyN7ds9Gkb5HQR6JiBHmM8eyyyyyyyyyyyyyyyyyyyyzUORqLNRZZZZZZZZZYpUdzYyT5HpEjezoI9Ezz/g6CMkdajZQUeVDsbGyR5bN8Ub2dGIz0llnpqMrLLLLLPUxdGbYNnq5HRiM9BZusysszszssssssLLLNkT3ifMTMmxys9HFHQkdGIz6DHuM9dRRRRRRRRRRRQyJlKdDlZFHmMEdVnRQz6ChngUUUUUUUUUUUUUUUUUUUUUdeyyyyyxhbLYJHnozijoM6bPeUUUUUUM6KMtRqNRqNRqNRqNRqOvYWWWWWWWFnUYI9AjqSOmz2dFFFFFFBZaNSNZrNRbF2Om5G6jNGdllnl2ajUDBI82jJGUTos9PR0aPAssssHEcWZJGSOlLsbKKCigoR0LRaNSNSNR4mk0mkGI9CkeMj1FlmVlhZZZZZZZZZZZYWWNnc2ROnQzKy0WjUaizmcymUymUzSaTSjSjSiijJr9FnjMiejidFnSiM82yzy0dCIzp0aUaUUijxdP6OlZZZZZZuij0aR0ZHSiM95RpNJSKRRkzfR57iIQ3YUFFFFFGaZmxCR6JHSZ0ojPVMR06KKNJRR17NllnpKNthMgj0cT36PCo6HwbWzmyjbRlZZ9XZso9gizykZ6jmyjdZvss8Kj2SMonSZ9Dooo20UbEMGmJGdllFosKOnZ9ER9Qs6kkbLHISOxYJHYsKOnZZZ7qjYj683aEUjSUzSKI7DuVQ5AkdizOzOjoWWe4oyidOyyyz6jZm0UaQcTSJDlXY1AkWbbOpZZ7CzwZH1eyyzT8hRpGijSj8Yo0M+lxOnI+tYf+I4oeGjQOBpBo0mkoKZ9Bo3LsdNn1qE9Ip2Z0aTQaWZUaTSUeAj2iPr9FFGk0mk0mkoNTFMUkZ0UPDQ8M0sypGg0lHjUUUUUUUUM9FE+pUUUUUUUUUUeBF2b6NJpKZlRpNJRvSKKNJpKKKOm2eVR4bPd0UUUUUUUebHuFGdFFFGTGbKNJpKMkeDY2eiidRnraKKKKKKKKPVozoyoozZtsyZLkQPao6jPU0ewsss2QnRqsLM7BjGzZZZZlRoPAZ6RHVZ9LssLLLLPBi+RlZZYmEuRk2Mszs1CmeDI9JE+o2WWWeZGVFm2ybsQ5GVG5MUizKzUaiyyyyywczWM9Ij7nqFM1Fg2EjyWI3M81H3axSEyQSN9GdHs4nVZ9qsyZ7Nnks9sj2kQfcyZ7uJ1mfRUelToXMa5m+j1TZ0WCPoiOujejzoT0snHX/JDR7Bs6TEfRUe3jJx7EZwf/wAku/M2M9S2bqKKM4n39iPZUUbGCPoTPBRuZkjybLLLLLLLLLPFQzyKKN6PoqOujoo8ezqWdCjpIZR4iOnE+7M8VHQR5KR9H//EACkRAQACAQMDBQEBAQEAAwAAAAABEQIQEiAwQFADITFBYBNRcDIEFKD/2gAIAQIRAT8B8nL/AJ3L/ncv+dy//LFK1v3cvMSWtayy1v3EvLbkJl0rfvYeO3NLc6crW/FQ8dDxskujb8lD81Ja3axL8PD8zuS/QQ/L2T7Jl3MPw0Ozst+Ala1u7h+Fh+WmXfQ/Cw/KTK0v0kPM2tbt5eCh+Eh+TlzmVodxi/CQ/J5OUy0h3GL9nDwcuUy1h1N8Px8vHw8HLjMuEIc9r2ZZREJmclIypjlbvZypGcPHS8fDwkw1lLhDlGK4hMnqSpb5RNS7yWU2enLxsvykwUjFn7OUStpEIhOX+NJStLTDJ2VrWta2uXw09L5f8Dpp6kOcSiC1tJTJj7tsJxMUSh1rdG0pij08ah4+1rXDdDcta347NMOMYWjGk5UnNGTW0kQZSQYu7jGHkPtrththththtbVS93u91y3S3N7fDfDdDct+AyZNYi2OC05raRLTJpj8JypM2QYu/mX/ANi5qIYy8V9uypUNsNsNqp/17vdeS5bpbm9vb25a3kpZyUjD/XwnJMuEIkyaR7Q44unLs6RjEOMvC/bxVrW3S3t7e3w3w3w3Q3Qta3eylGKkymSXGDKGl+1NIhpit0pdCmlvKfbo2W8PSm2G1SlKe65XLdLdLe3t7cta3Qta1rWtlLGPsyU2kuMEuEQ4Yu3hpDyH2521opwlDzeToyTJLhCGkuFtcVuMNJdSkxTSHC3kqUU69PK5fLpylxhrLSXKJQtbSGkunENJh5KH4/J0ZWmXKHCkpc4lraGkulDSyYIeNgh4+nVwx9Ovd6mOMfBa2mHp7k+lTo5OUMoZTSJtLJzhxpzhbXCWkuwlDxkoIeclrkxaRnMP6zLo5Ohn8tJl1pdSJsl2GUfZDxcoIfgJYkEOMNZc4Z/LsJdXCSXGGv25zCFrTKY9RhE17vDSgh4WZRLucmJBDjDWXO690zbWXVl06RhKkuxlrOcLRLhLwMtIeF9R6fwnKkZRKHUtwhwyYkEOMNZcaM5+nCWsIdCXQpGDZDqyhpDWWk/CKph8PDy0h4X1GOVM/dh7Izi2kNcs6Y5WWiXKHDJBBDjDhENqlKKZ4fakEqawh0MnOMFU5S6kNfppDbCIIeFlpDuba26GxtZY+yG9aJa+o9P4MvhjNStbW2skoIShxhwxhUlJaW9iVKTCiIcYay44+naMYh2Uoc6bVKUW8JLSHby9SfdcsfeD+kPUelLWT5RDXPGkSZfLCfZa0m1tep8sPhwp2EOH/wAetqWnrf8AppLTJuWTCkNZdHHGZY+nEO2hrSnG3hpaQ7eWeM2nGWGf0fym2WESmKlvqEeo3QnJEKcaPUj3YfCW6bQ1zwtjjUOlLSCHGHDGVrlcpJa5qUmUS6ctMfS/1TuIl1JeDlpDlbjLqZ/+WHyy9RGVtraz9P8Axh6f+tinRpRtcZdeHGHDdT+kIytaSXDHCb92XsQ6cqtjhTo0/Ay0hxz+ET7ok35W3e3ujOJS6M5wTLa/nDZCIaw6FKUpSlNbdjDjDhOFv5owpSWn24ZqdTbbHGnO2tO9l4KWkOOSMItimWUmM0jK3Qls90e7S3OlKexa3Vp1ocYcty0tPtwpPs6cQp1aeflpDl6nsxylGKMW2P8AGXpxKfZgmaTmibZ2jOYRlcJyNqIcbW3LWt4KHGHCFKU0lRMtzc3Jm3SiEONulMPOy0hy9afZ6c+5a1s592HwziWyWMUZ3bH4RBa3Rtbs7cLW40U5Q4T6lP6v6P6PklpLW3SiGtutOLhSmlOxl4OUOXr/AA9L5Q12wpkhpMENZdKHY0ppLhZbWUOMOE+nb+Uv5y/lKIolpMM8q9kZt1plEoycLVKCEuymEw6FKdaXg5Q5etjcPTwpymHRydKHay6UsXGHCGsktfU+VNII+G5Z6cfZDSZdlak4unTx8odxLpQ7GYRDSUEJU0lpLFxhwhrKEtJlOFqeylI9OWftFNIQ0t2sGWLy8tJQ5Wta1rdSUO7tbSUEJay0li6UNZQkyzRkiUyymEStjky+WmMO8mHTpRKXhpaS50pTa2oh1pd1KGktZW0lpLF0oa5ISzyaXK2kNYQ7uCYTDoU1mXCUPAy0l3U/KXSta25a1rW0/rNrWtaWLSlNKUfbJBLF0olubm5bctlh9qKVCoU4Q7+kujblKHgZaS5Tb3RZ7vdNqkqVSqW2W2VKbZbZbW2XTpsltbU4owltbWxSm1/NtbU4P5phEOlkhpi6Euhlmta1taaQ8B8uduUEvBS0lylUqRCiVIh08ndyh0pQSxdCXOWTjDhCHf0lwt0JeElpLlM0jItuboWta26G6G6Ft0LW3LSh090oyb25ubk+rEJ9SIf2huT6lP6oysmUStbpZIJYuhLnlKrRi2tsFOMQ/KS0lymLbFKTi2Nra2tsv55P5tja2IxUpSmyEOlthSlNran0rT6fs/jKME+laPTiFNKSh0skEsXQlzyktzhTwEreTlKHeQl0YdeYbXSyQSxc4T8Ocx7ucGMIh+Wl1LW1trLc13IPtLow0tDSUNJQ6+SIKQ4/TSXP1IKUpTSCHlYh4GXQmGswiGtOG1rTSUujDxNKUUoyj2dGIeEtyiHi8lsZd3LyG5ackZLbi25ubluhjDwkvJ5pYO8h0YeFzxVLbLH2h0Jhzh4OXOHQl4PJLF3kOjDq0pTbLbLbLbLa2traptUpSlKUptRjH2nFTa2qUpTa2qUptcoeMh0Mng5hSHefaXVta1rWWta1yuVtbd3DP/044u9lxl2OTwlKLWt3MuptbYbVKbXiIZe824RD4eLh0ZeBpxpSlKUpSm1Sm1tbW1tbVKUpRTTN0aay8dMezWItGO33d/LWXQh0ZQ/A5fCHUl39rWta25ubm5a1rRLJpj6cyxxiGc/TvIMku3h+BlDsbbm5ubm5bc3Nzc3Nzc3Ny1rdlSikERCIgyyp3sGTWXQh+Jtbc3Nzq7W1sbGxsbW1tbVKUpSnOlKUpSlKUpSnUgmaeAydSHmbWta1rW3Nzc3LNststktjY2tsPtLpRi42ta3hKbSCZt4DJpLow8La1rWta2tra2tbWlFNaUpRGaMoktbSXGElGPytpbsKUpSnabm6W+SGXw8DlLtpd3TqU0pSlONKUpSlFWmEQ+HDJ0rcqa+y4XC1rblt0rlbhEu3hn8PBy6MOlk83JLjTKHTta5W7e3UpTapxj2epLwGUupDpZIeKh2M5N0t0vdcraQp4a3Q3LcJhrj8MkvASS6UOlkh4qEzCy1rWta1rW3Ny5XLSXH7dKlKU8Ha2llKPSr7Z5XLvIazL8FKGkuwly+3GMZlUQmXG1KhTwVvDy7G1vIS6FupTjLWMHtCZa1alohS0+7hSnf2stbvYa5S0l+N91ty1rWta3GUETCWsRbanJUyonJToUp+BmX5SlKdLGVNYi0Ypl7y218KTL3lVJWpz92lKU8xCVktJfnoipN0ty26U5Wiml38Iw/0ldqJfKmtudKU8tT4TLrUpSn5GmloyXCMnuj1G6EyjGZUpMqJKUp06U69KUpTvaaS60Py9KU03N0ok3zD+icrRFNPlRa3XpSlKUpTxUy0l08X5rL5RK1rWRLctuWiYaS89bSZS60PzWWNqpwtuW0ta1vwUv0Vrbm5ubm5aylOW5uW0tuW7e26G5ubm5a0O5hxl+ata3ZS6FrW0ta3RuG5ubm5uWt0od1bhLrQ/QS6kOFrW7WkQ7+UkupD9LbnDoxDN5LJ14fmqUpwmFFOcQ4UpRa29M268PBS68P0cuMwQ0iEQ2tdrYnCYdji7qHRl+xmHKmMEYkLcpi04KUUpSlKUpSkYNjuoc5fiLeNpTWCHQt2EJfnrWta1rW8tSkGLo28VDnLsIeWl5aHk4dCXYQ8tLykkPPS60P1eUXDdtmpRLyUQ4y0l++zw3MZ2+0ol5CIdCZf8AnGJZY5Qx+HjohztOS2kv8AgcOwh3EQ42ta376mtPHRDhayn/E7d9DW1lNJf8Rl0JdzMkOEvwH/xABDEAACAAQCBwUHAwMEAgICAgMAAQIRITEDEhAgIjAyQVFAUGBhcQQTIzNSgZFCcKFicrEUgILBktEkUzThQ6KgwPH/2gAIAQEABj8C/wD8gNgjRVBVCNFDtFAsDLEywWCR3lYKmmgUR2iiNSxMEdmmWCx+6aBGlGijNDC52OjNLLhc0I7gudjua1GMGdloxgwuaEdnuIEaLkhnhlH7KTN3M71YTO1TNSQSO1I15n/+hpI/27I7skd7SPBcj9xkb2hpciTOxIKmmp2lnb0TNRFCoVKFTslSRUJMZ3JU7NUKhaRqrEw4mp3XIWdSJpo/aJHYWdrqztLOgwZpoxHZEaKMQI1WdkRqMqxmpI7QjRQEdmSmVBGopqZzqSdOQ8DHquUQ3C6dBZqTK/wSi24OvQazJRLkUP2dR3Uzt9Tv6p37hx8qoywJz8yfvFFD5Iom/sdH0iRJYM/OZKTh8ibgUUPMytU5D936+hHDFWdRN1aIVElGrV6HvsOGL3c9ryFFh4ixIeolHDJTHFDFDFJ8jNOjuiWeU7M93F/x8z9m0fuNdIihxJZlxeZ/3dM2ZfYlE6mhziaiHLmFyZS0gq3J0fmiKLDtaJDcNmJyCU6Ep05eRKco1yP2aR+4lyFQpxZmRYUUXu5WJxKGfVcyq/gsbho0Ud7mrmhdTaUn0M0P3MxSX3YSP2UR+4U5TnRGXNni59EZZefQko3PlIefDcONDdMaTsFjeTRrQxu0VHInHF6IlDJNc2ccMMX9LNr4kH1K6M0Nn0KFUfsij9wKslPZXEyGSywNbPk0TlKJXFEmk7OE9xGoY07THCsTEglZRcicTUXmTVUb3MiflM0OSVUT5MmOF1hd0XoTlTobMOHDLlORKJxw/cnhY0cKb2kfMwsVeeyzLGnA/wCo/ZFH7e9ScbymwiJwxTmOFwpqJcycLeXp0ZmdynWaLm3tHQubigRehobPsaPM0KO8rk0TQdSvD/gWZ7MXNEliL0iszZzJLlyMuNDkiJwxfg/Y5H7d7KmycbzFb9EZo7uyJ+ZiYb5t16MyxXR1DmFmWN1I0uHzNdB0ZLmGTEdH/A8GP7DUGI4YTLFBh46XR7Q/cxN9cONVJSyx/SUP9o9XVmejnzHCuLyGmRS+yHBz5EeRVfET4WbWJUpP7hcubyZvZmjir0YpuKXKZwrN6y/klHt9J7MX5M0DiaXOzhFB7Q1/eaKn+0SFuGyIVhYjwHz6IplxYX0uzPlcMHmVxFNPke8wyvF1J3RY7icMWK4J/glC8JtecpmXFw80P9RlcTgfmTl/6Z7rGfw+Tf6Ty5H+0Sh/U1KopxUtTkZof0xEoo35MvXmiZUknQ7jkGVxZl0ZRZWZXVGy5ReZ7jFty8j9jmftptRpfczQX8yKGOGUSeZBf7Ckd1eROFzRV5X1JYnErRLmZIoto/2gV/g2HkhZmxHOXI2v5MvTmd2TJk0GSNTh/wACihr59RRw/c/2eZYYXFF0Rte5gfnGSeWflEKN9ZfYajmlKhmzOaNly8mTiw0ov8nCaPU7p9TTP9JKPgjv/wCz9vpHgWR3s5ixNpKs5CgULlHaK5DPiRFFF+mpmuv8Cjhc11JzeXoSf2O0NmtM0yN5NH/XU93f6T3OJxwWfU/Yi52NgicwozQi52q5okMuFwnM7Nc7fc03C52eRc0SC4XOx7T2XRDwcX9MXLmZMLZEPpEhQ84aeqGqy6EgbKwlFUqImdiYMpcqhE+YikIiioEpEkM3MiaJmHjwbMdovUnKUUNIoehrXNS52dGi5oR3BcLnfVDsqNFDQioVRoZ2KYwqjRMZYLCOxTN3Q7KgsUNNQqhnZJmiqGDYWNCOwtizzSSa2SHETnOFDiiiqulKCc+ZIGcicUUiUK+7HOKYdRBM7BOZIGXkyU5imSEcQikRpaN3JjwnwxkGOnJvYj9Sf8dDuWhoRUKmhnZamlnheZ4emd7XHPmvwN/U/wDBDD0QvMGuQ0Gya8ju3Fh+uFMXWzP9muyyCOLqVd2JDnaCrGzvqDM5J0mVP9mc2Of8EEUNmQ/0xGScuZ0aJq+JF/gPsd8SJOhKLjgoz9hWftbyncyvmswp2lboRrqsyTLii58yFdECX3O95GiTclHQ/YVn7WutVQ//AKfYhaghcUV5MhlOaoakzezO6JmmZM/2YTsh1lFIiQl9x9UzUZ35h9Ydln+y+pHSUA58qG1Sn8iXkepqSO/IsP7n+y6bIHPZmSsmyJXqU5HgNxfqR/sul1I8KcqzkNc08yJ9TvaRvYKynRn+y5yuYeLWCKXEv+xTo06yHCeBFErpijhdz/Za4nyY8/OsD6jn0od7TN/A0f7LYp25nuIpe7dYH5FHnh6omd17EMysSRsxQs24Gjssh4MX6qo/2W+8VVzRljiUKjc4YiUsr8rPzO6LHBF+Cxmjt0JJJGiqmZsHZi6GWJSZv5czUh5n7Ks8Mo7eztlxQ/pidUZOPBirD1gZtrNC7OZ2ShuWUNNEEoU4n5E/bMdQv/64KxEvZvZYYf6sSrPnRQ/20K42J/5GbEibXRmi7Kk5hJ0i5McEd0a1TRYKGiw5mibsYcT5MoeMbna0aaGhhI7CjTQ1anZWDKmhnaUaqChU0MJHY6mlgzUmdklzBMWW/wDklGvwUimh8jqDLlzfoGDOoSYzodRSchTJQnvPa8RQLpzZ7v2SFYOGufMm4szNFbGrQ2g99Cqw3NLEKRMUnIUygmIq0E05kQOshVEob3PWp2eh3BU8GI1rCNZnY6mo5FTQyxpR2NmvYR2KaNSwgRM0TOyTZpmUJsZosdosEols8mPGUTk+RHma8qjKooSGaKG+kygwqUChIkzRSkK5scHs6WJi/V0M+JE4ojeZWOGKzIoOjNNBEitBIkySsJkyZOo/M0QryIZXEzsVjuWx++DZoyxWFDDO11/6Eoop+iM3vX6XbKEmFgnFCoWl95kL5s7JI1M+K5Qo91g7GH/k1pA0aswWIuaOxQz6n7DI/aNoT+z9Qn0Lf9kKxIYIZf0ji95Xy5GzOXmWE3Gs3SUxRYkoIUrsUUMGzxKn4PN8xRTb2jstDRmiOkPQ3M+prI7GvOhI3lw4T4fsccf8FfZMOFeeIVUKZqXLly5cLBc/2FXPfYN3xw/V/wDs/q6cyxRRfYlKL1IvhR/kXvNmL+TZex0buZ4oMo55sv0vmLyD0HQ7DJOYdWaPMmzU8iRqTV1YlEpGrEjds14PU3UkTicjZBRx/Cw+vNmxhpv6ornYLmijPD6P2o2oUzZxIl61L4b+0ijhX2mSc4imHU/TCUqybuaWb/bv0Pph6B0ChuJqxqSZNWZpaBmlo38D8yF9UbiR5k2JKsTskLF9p2o+UPJHZrlUUZ4cRr3P2rZvs0TkiWF/5HVlQpbqVqzXqSJEjTQlEUNDBnY15EK6I3SSrEz3mIp4r/8A6naqlDw0jVmSRYsVKxSJe9hKRJ/c0XP2jYczdyh2oicbn5FQlCicVWbrLF9jVkFzRm6g2djhUqOhuIo3aFTHHE6szM/1OIv7UdtmeGUazNWhTEjX3PnR/k+dGfOZx/wfpZwwlcNfkrhfyVw4iqiLv8HzEfNhPmQ/k4kXRc/ZWKFdSXIKGvON/YlDsQmiSqyeJ+CSRqy5kjUkSfI0zETRoWexJGsxm9b+k3C9lgdbxAoP0q4oVZHbWeIGdluykcX5Pmxfk+bEfMOJH6SsCK4Z8tlYIj9RxHGj5kJxo4kXRc/YVlRN0XQ1ptksL/yZNub6lQrso2YTXb6GtM1M/QkFjVkaPQ3zXWE14o4qKGpHiv8AUyXUTfFHVnbmeIGdy3OKI+ZF+T5sR8w4j9LNrCX2ZXCiKwxn6vwfM/g+dCfOg/J8yH8nEi544ZKZqyvF0Np/Y0U/JN1N1I+4zRQRqSN3l/JI3v2ZrwYKfFVim6C+lVO3s8QM71pHF+T5sf5PnRnzWcS/B+hlcOErhL8lcJ/k4Ii0Rd/g+YfMR8xHzEcaOJFy54laRqbURKHZh/k0SVScf4JI3eZfgkZuhuMpvM0RvYn0hNabI41wqiMzdR4rvEdvZ4cZpZ4GucTOOI+Yz5jOI4jc3Lly5RnhNmnJhbT68ibc2aNqiJQo3tAaGjR5mpmVmTZuqlTQmzdYkf2NbEj8iRDh35EMC5I39Y0bJoqVLlzcP1PEDPDNzZjaLwv7HDCfLX5K4X8ny2VhiP1fg4v4PmI+bCfMh/Jxo4kXRc8BsYe89pi92v0wfqjJty8k7EgpY6s7Ayv3M0NRSJDN1I1upSEn0N0iPD6mthYCdLszGeKuWpvtpzi6F8kPRGikTLzJM3f3PDbNRnii7OOL8nHEfMZxnGXRyOE4DgKws5lziONFIkXO9PUcOHKP2jr+nD//AGPExInFG/1MmZScdSRooiskUN5UJ9D1CFzPU3FDcPzMqN3H6TNaOTmodkUear5SHic4jevCwdqPm+hOJzb5mtJmiRqe658zQjxAzeo0TihTOA4TYDL1Kqps2BE5yJ3OhJlESkcDKwk8rNFmb9GtM78pE/yccX5Pmxfk+az5hxL8H6TghPlL8lcJ/krhxFoi8X4OP+DjOM+YjjRSNHEjiLly5ro1ZsLlYjjRxo4zjOM4zjOI4yeY4hRwuaZlw6YsfP6YRyaXqVQxMKE2ygIqbupIl0PUkIkVNM3Y3tF+SrN0xxiRqRPyPVigf2RBB5G8eBgva/U+hr0EdUUJkjT7zlGigly6kjwyiqGajN6gZKF0DkTDOuROKEbEmhRG05FGSmFyrRyKyHRDkJM4TZUibMqLlyaZIkVciTKEmWmUhKwMRVhepocwob5m4ZoozsrNFGDCoVOyqrFtM4mcbR8wujkSoFgTOyR4X0uZHE/qkhtXdC42VIoZzkXHUymzZCDmblHoZuTJkLViGJWEeZPkaiCpIRuHMdDdMkQmiwRSvHQgnIUupvMsPzIreR5mvYVAbKqTCUzQ8OOzMkb9PMSRY7fY75RUZqM3maMsi0jYLzYZoaFWiQSZIqjXpGziJOIJoJskjMWKoaRMTaFWTJIkci6LodgsFjTI7BY02O4pHZ7GmxpmWJliE7HRGV/q5mJ5YjGWHmsySU+hB7RNRqLil+kLEpG+Y1OxNCl+ocPIqSYujJM1LBYLG42jdvZEamFBebmOLoOLojduOKyHiRG5lKZKGAzYr93D05jh93OfUzrawnz6FCppyu54ZRoZqM3kpFmVUjZqTSkGVuTMquduuUiJOJniJCOyTFiL9UmTJiJEWBj1hak59Oo8N1hvA+qOw+pIUifU9Cf5BUP1I2TsEihrWNwlO0I5JVMSI3awVeK5ulDCptmePaxP8GhwxKafIeLhVwua+kuSZo8yTujwwjWZ+zEPqI7K6Vhc5mRjwXdWJFUZoT3M/jQVw2/8EolJo3zZMzImEiZNWZQSnVBNlph0N8jcSQLqamJ5UIqfyN+Zu4/KhrTNChhVWdY+bNV4+Avhfqh+k1MyuTPC6NZn7MQ+ojsicHs8ST5xUPjPC2ldVylOD9L8j3kHHDyIY4bCfVBmgcmqkPt+CqRUxF0Zv2hz5ESd0SKBJhMllZaRIJxMmdmTM0PK4jUxmvqM/IhN1FF0Q31Nzma22a/vsL5LuvpNTyJnhZGszw9niSbZmUJInFdnMyo46l5mWEpEaZGmx3RB6iOxvF92o8b9DitD5mf/AFMf4Uj3zizRc5merwls+hD/APbhbMf9UPJkoesz3Mf2KjlUeHFXDxFKJEUHRm+tQLCnawJj8icL+xzDZKptm1foVhkjsdTTJnkKVuQjQ/QxG/qZlIDdYr8jc+8iVITcNRKafIzQ1wYrPp5GplZ4WRrM8PZboqTEnyBRBMc7jU6hJlDMaE6M4UUNM2cI5E2FLGi5cnE6mUocLOFlYWWOxwep2TDjxKww1kNwqSFHD9yLDitGYuLH1kjNhWfIjgXE4HIaxM3vIf5MvvFHLmin2IMX9MdH5M3l7H3NStQzBwlXIywHT0MqX36HoTOyWDodSHyNMXoRerCA3WL6G5hgRuYsLEU4Yh4UdfpfVBJhmJnhVGszwRwsqjt9Cpp2WSZoqjRKRMkyRqXE0yhpsbihu4PU1kb3KJlaLkPnDyZBCv1VMkXC/wCDPDSL/Jlie2itmJMig61XqbzKankUDyZVTOhRkoplJJdSUMJclDVnZLB0NEv1QmiL0IvVhAbrF9DcQ/k3eX/+SGsDHDEpNUaCQZTwqjWZ4HU0jhRRHc6meRu5Jmi5cqSKmmbZxG9gNZG+93ETihzQ9Bu3oYUM6qFUDLHysyaozaE4SfSpGbloEJiEEPUmEmUYXbLTLTf+DKpF5tfhE3+Ch2iF8uZofoRrpEyRCbrEXkayENm8/wBZAvLE/wDZpTPCqNZngejLm0zui52GZIsaEb6A1kb5RrkQ4kNo1MggSrFEkSNGWP7M0xPzNzU0Zeppqwa6BWhxHFJEv8EpOXQ+nyRahQqztOR8UJoxf72HobqRiQ9IjVQh+pvIoI1OGJSZHgRfpt5oJHhZGsz9hczNKoWLG8gNZG+alci9md+LD/7RBFyw9o1GnCn59BuCJShvPkZVckbyFmU0IM0JYlNyL/wHkdfI6LoUUkZVVk4mTsdohjQo1zDEXK4RQm7b5RVNVCPub1e1QrawuL+0Jg0eFEazP2ETFU0qpvoTWRv1EnJqqZ/qlDJ4nInFTyJHY3FIvVFQmE0WChK4dEUoJI6lTtPunZhm+qEHD1N3Dir9JqoQzeuGKqdGYmBzw3L7BUscJZFkWORcKHgxGsz9hKE2ixoRvkayN+oVduRh4fKBSGzftDmSJ9R+gvI0yMrJpkihczRUXmbKfqWHJjdiR2pNMUUWy/MwXDEm/IIDdx4b5ocDunI1IfQQzfQx/wD2Qmr5BtxpEs7/AATw41EHVHgtHhKQVO9qmhggsbxGsjf+8a2cJT+5kOwUR5lSXMmaJnQ00LTKwIzRL7EisbMxQodopA/VnxY5+SPhwJFybrImJkEXkbtY8KpFc1EEJvsLFX6I5fkTNMgyw8bJxtt+RWCJejP9RgR5oPqXL1K0jhuGU8FI7tmdxzJHcEkUhNqE1ZFDiKm9VS4wlMub37GsjdzlUoaI8X64hvqdhlZhNFTRI05SxcpU6FJtizRTXM8ilDsuxC4vQ2ssCNpxRnw4IYTUaEwy/SbuLCfMcEV0UNDRomb3GXRZvwI1YonzYlCqsnOh7mP5eMsrXmZE6ZnCCZ4KRrfcLkiU6hepooyZNMRM7EwoyZNMmTQVYVYXOxouFWSLmi5IuMuak2bxGi5IowuMKFTS07l0XNxRm4oTC4I0XGb5mqyrCU6mmTKGnZqcBws4SqMOXmjsc1UKnkVYirNFCTDhSOQtlFytCRu6hVmiUyRcnLLD1ZN/Ei6skqG4aDI/1G8/1GHdcQwozyBEuhvXD1oZPpoaWH9rcxdYI1HCx4sUtpzciGNciB+eZnhahVVGgY2x0kWmiaEFix2BjGWoTEMRaYjaQjQ6FjsCBG0hBCFihYZMLAhHYHQ4RhETNExCLBVmrM3bLEzQiwVQ0WLFjsLBCmjRILGlmpH7O+J7UJI0Sg/JWKIuykTKk4jcTQSZNE7htIUrAiUi0jkczoXmXNNTdVRoQSkbCp1dicSzxdWbtRnQhi6EMfU3cnYb/RFYbY6SE5UJoQjyN77RB0if/s05iY8SFX4kSdvM4GiHMqLl1HFFxM00PCUwZryOxyNKkEjTM7RUoTJmpM0WCRosb1AzUoWN1NBLKbiRpoFS5c0XOxs03LlzRcJBYKME1dG1s4n+TTYkUCZM3FyUyQSCcypIpQLT9CVUbJUKnmeZ5G8oEoIZk8aLO+isSVEbxo80HundG8eHF9h4cV/8mhM0ZTe4nmoWamVk0yyLSPM1JNn7OcyTOxo1qnd8TNVmpQsWLFUatwuXJZjiLlIivOpIuSJGvm5Bs3KkwqTOqCZo5nY8sELb8jNjuf8ASjLCpLojf+pJkMXIn1N50xFZjgjUmgyGi5mRvIH1g/7NWpUKGr1RQ8GM8H3NKqaKmpwmsma8kwmZmVNg1ZFyeckzeUQqFikJwG0gobyI31ixubmiHF2fL0NHmDE+ZIkaET5M8i4M0SNHqSiQUCp2DNi7EPTmzLhrKjf1Cl0Syr1DI3tQm9z4dMVfyOGJNNEyYTKm8wP7X/0aZwQUNqKBFcX8QlXG/wCCXu3/AOTL4v8A5Hw/aMRPzPrXlUy4kFSU6+YVKHgxneUixYsSNVI7RMoFTTQ3FzWsVBzRomzTJnEUN2hdTTYnDclM3sXqdsxvZ8RyzVhfmRTlT6bGrUEOs5BWzNE0aZkupopcrUmaKGmRuZrZh+pk0pxfUzfVKBWheZSEm0Tha9FyFFyFErM3vvMOmKv5HDGmokZTRMytm79n9Iv+jThmvLEghiJ4MX2ZJ/hnR9DRNXJM8Es72bNM2TEILM7TI17m4RokWJSJhsm0dhoycRo5lShvYvU3tzfLDibUMdHIhzxv0Nw/UaZ5GYmTNacITKKRVhQ3coU2+hnx6v6Tf0KlzZRVmmrS9Sp7iN1VjfZls4qszJiQuGJGplbN17P/AMjSl0C5c03NEokZrw9TLifkmjwWzvZlTQkEy4WCxrTZvblzcVNyma8nc7EhFjRmkWN6/U3tzWsa8GJ9LmYLwnOCJTmatSgTNMuRomaJinzChU00Js3Kii+HA+bJQQ/c39WbCKtmtM5tiiVGhRr7m+y4iryfQ2lOD6kFTRliZucJdIWaZIuXNy8TCWzzh6GWLh/wTR4KZ3lmNEgmaKMqaJNlyZM0XNMkdmRu5TNHCypomdiRRlzQjffc3dTsKw4nRW8jXoSQiRQ15FyxvZQqbPeY0oo+S6G/2nXoSh2UTYWLFjkciyLFgbyqnQk+Bk1Zm+cMaUSfUeJ7JVfQZYlKJdTRQyxEzWuRvpCjsHvsJbP6l0MkXCzwUzvihwhU1rjqabnY7mrJm7hsUSKGjKzsyEdkZvaFzcUKksxNNGmtiioJmiaJo6EiTJFbBUoTRUmaJmvlw1Tm+SKVj5xG+m6GXAr/AFGaKr6lIWbTSOJnMscJyLFkWLE0TROBM9xiP0OwbcMovqRT4kPVGmUROFzNbFf9UjsEmbPBFYyu6JHghm+syppkdycjkUNeR3VRnETiZomdiqFgQqFixvEarNS5pualy5upmL7TjKeVygQ2gkIFI0zROxJhM1KMmaamtnj2cP8AyZYFJI304n9iSTy9EbUoS2Z+ZvJlVNMnhxefoe7jfxF/J2Hagr1RPCizrpzJRwuH1ChtUZRmpm+pzNLN68N/Y84aMUSPBDN7lCxqUO4bly5c8F0FmZcIRG+hNVjNNTRUualy5u4/JxGpOZNmjKZWaPM1pFTcLE9oXpB/7N/LDX3ZnxY4sWLzJQpI3/kbVhR4cRJ/MVzsUokmUWX0NmJP1Kwfgoypoi6vZQl0NLN8sZc6McPQ8LI1pTCZQ7TI8JzZY0QiN9CarNWh2SLBinljqNGlI0SM3QmjUkGVm6UGHDmZnj28T+EdxVJFbCxMKI6Rq6Oy1RaRcIIXPLDX7mojfRQdRfg8BM7HmLlzVkWNDOzUBRzgw4XVZjZxcGP+Cvs8T84am3DFB/cpHe8KaOBGypHZVlLFgQqFjewGqzTYLBY7EooW4YlZoSjSUUuI0+ZUUuQSZQ2guSdjeZ4tnC69TLhQy/7O5KmiHFwojLFs4n+TtNjmjiNFbo30Uue0hM8As7LQ01CZokWNkqdlhh6sbf6ULJHkS6I2lhRf8SWN7LP+2L/2fF9nyPr7v/0fB9qyPosT/wBk8H2pP+6EpBBH/bEfE9nxYf8AiS5neVplTstTURvoPQ1WabGmwUN3wmmcjTn5GRDX8miYmUKnkHVBQ3Nflw3JQ0SN5Q7TU0Q4uHH9xYWPR8ojtszfQR/Yl0PALNZm9uJlKDmzTc42TzsnnKkywy4WBBYsTKHCzUoaKlDD/uRiehqVqbEUUH9rkf8A5ET/ALkmbeHhR/mElj+yf4iP/q/MJP2f2t/lRGxiYcf8HyM39tTbw44fWE3szeTO1TO4oPQ1WM03LmipQ01RubE5HCFi32K4db0dDM1V1kReRomuZJ2GglyCasSNzmezhdepkw1lhRvKnZ5mmpQFHBEp80ZMTbw/8GbDimjtnob2LyqRIEeBmb2wmWLM5g+RMoRFSaEFhUCxWE4SiCwWLFEWKws4SiNSCLoyNf0lSgTQgkSqHMNnGxV/yKxQx/3QnxfZ4X/az4uBL1gNjFUD8oj4PtX5qbLgjNrAi+1TahiXqjXZpkSCQOZQmCJo7ExmmZNBtVNCkVBm8sWNKCaKlAQSJEIjQzQzcXNNEVQyRIGSJTKs0o0TjlCoUoUkNzlLmNGpeRroGTJrkTM8afu1y6kkjdUJxsojtNDUnCHSMz4cTRlxlki68iac15HapdTexryPU8AsRqs3yNCHJlR1JsiKFRVDkIlmRdF0XRKZcuFzTYsXLmiQiB9YSJXqLkwkQlFQJNDkDkTNTZia9CmPF9zaUEZ8X2f8EWWH3eLyoazRpRVDNDKlCqEMkdgTQ2xhQqgqXRsyOhxJk0TYjcSbOJFwqXNRIQjqIEgtQoQ+gjVZvKmptIiKhQywqcTskT9qja/oRL3MB8lEoU4PRn1w9Ue8l8uleb6ESTUucuozRUS5EiT/ACaEak7miIzx0w/8krI3GybTLHaaFUMZqydyHGUPvMGJTzQlVNHRGbCxvsSx4cvmieHGovQ03OyJm+SNa530zWZvoTUuSNSQUKhcuXKmmpc3UHlQjCaNS52S52xISY5I1ZHMKTJRUOI4kUZursuaONlYjRc1aGpD6GswoalzVsalxhIme+xPmxKb/p8jPF/xQTCbUiaSTM0P/wDwoaknzHC6h5GrcqHvcXg5L6jc7RJHcsWC+VUhxZPdx/VAfBxYMRf1UPiYEcusNSXMnC2n5G0868zbUUDNjET8ixcKly52BM3v3PBDN7IRoRr0ZxFzdI3WJB0YouqCeYuixZnenmSykzVsWJSLG8kWNMiRIkbuH0N3cuXRq2LSNeBRcMO2/sZVYqXJjYn+p9eRlT2iRMqHmixoqaamVKpWhozYluhuc8R3PDiLkKOGsLqaJY2DBH6o2YY8P+2I2fao/uintWH/AOJswwYi6qI+Rjf5PiYOIvWAlFDUsy7KRFIy5ULnEXNyjev+48EM3yO4o4OqIIwRqWRYo2cRyLFjvObLEyhqJEmVRsmrNHCTkaFQVCqGbpEPodr2UY2LGpbMkalSd2aXOpNGhooVNSZo947G4pCZsR/Y7pfs8V4awm528KCL1RteyYL/AOJTDiw/7Yj4ftOIvVJnw48LE/gnH7Niy6qpJzT6M0XKRBUOIuaj9Tev1PC8JIpUpI2zt2H50I/KoM3diwXO79kllCbLGmZY4TXVCxohkWHsjN1D6iOx1mUNeKXU12/sEurCfU0UoasuhcIF5EjUoVoWO6ZMIY4XtQkOLDaI33xcKCP+5GzBFgv+h/8AR/8AHx4Y/KOht+zxy6w1RLmably5UJc+hOJSbrI3r9WeCGb6TFNk81D5iJQxTO3QRdGRLrCMaO97E8jNWUKLE5FQoabHAyqNVIUmaUIYzdQ+ojsdZlDWWHhQzf8AgUCizP8AVEazGjTARx4UE4YJTZtmrm/BcIUzJzRJEuZonHRFEd2VD3OI9iK3kzsXxsCCP7HwMSPBfR7SJwKHHX9DqSxsKPD/ALlI04UftHsuFFiRTc44ay5H/wCHgf8Agj4WDhwf2wmjzOBlYYi7/Bxoo0a0R4IZ3lhvrCRw+YjvZZrE6DNWTLkpooy5pUybkcjXuOpoSRxD2hm6g9RHY6lDUkqsWJ7S/dQfT+pnu8GBQoaglEuhKOFwlwoy5tE0yfMvQ0N8lYhhalHibTNbLyhNExRp7SuUueYkrdTqzRRFShcrEcRc7mkw9xiPbhs+qOySdfU2/ZMF+eWRSDEh9I2Z37zFlyjdDUUEPzIv4Jt1LmpRspEy5WErCVciKIEeOZfS5ET6iNNiZurGiZ3JclnZU1JpyONkszKlDUozjZtM1UFzQgdRm6g9RGqzsXwoZQc43YnCs+J9bC4VgTKQBY01Jr8HMlZGDhcpzfoOFWRqxR8+RqZoXJijghkbbmdDTJG4oWmdxyZDiQXhc0Q4sPP+DtNYkiuMn/bUxMflE6egS94UxYSkSZryjgTNmaD4cShfUWaLM+pU8BsZ3liwfcgjBGmROYpBU0zNNix3Ym+ZUzBI0yKE5yJGrndyxY0TBjN1h+ojsdzT77Hphcl9RkhWVKyRI1bEyRqT/V/kPafaX+mHIhs1VhL9N/U1FjY1MPkuplgUkEkb/ZczaUjt8jRKL5UV/LzJqqOy5sSNJDWDA4vNj28n9pPEjii9WaHCrxUCpRtFMRiUcEMRLEeVmxiwP7nhrNmkjZjmTeMjK6mjIieYq5IywRG1EycDO1S+pCi6M3si4vIkjuZQly7JI1FPkVJFEWNMwk2bJq5ThLGixPKcJu8P1EarN7c6gof0KsRSxq3NEkVNWfMhUalFjPP9jVixX+lE3dmnPH8qH+SSokHkUOw0cipQ7g/0uK6foZ2OccSSMvs6/wCTJ4kbifmaZsJuyNRRxbGF16igWHDlQ/hKF9YSPC95FsuVyUTzImeCWb3JiKhce0xuGxozciRWxmXCcRlwztWFF5mIvIGjvVNIscMRRGojhOEshykdhSB0N3h+p2S5QI8TnFEalCpu1hRxZstjVgw/qczSoIbsgwoeVzs84aEoqM7dIUR7uN7a/k7Dlh24+hPEi+xrUNOTDhcUXkKP2nbi+nkjRJGLivmzXR4DZ3mn0P7oSJeZqRJMma0j7E5lw8zuTaLIshmpCFihVmpOI4TVkjMy5c0ULjqbvD9TslzRgS+k7Fmh+5qOH6FI0v2mNbK4TRNnZ5Ox22YKKF1QsRX5m+ccbkkZMGcMPU1qFTRJVFHjv3cHTmzLhQZf+zT7yL5uLswLojwYzvTD8qEaEaZyJOZcuXRM0z6EpFjSyR2ehU17lyaikfMNpzNbKTZq0JSJs1Ey5SIuabjqbuA1WM3lS5o9nX9B2PPB90acSLrEaIcOG8TkQ4atCgmztPVFDt2SJ7MZvc0b+xOKkPKE1JlCppm1kg6s2Yc0X1M00Pe4nCrLqRRrgg2YTwYzvGxoih6MUXVGpU08gkaUaiZB5suy7Ls4mXZcuy7Ll2XZcuy7Ls5l2aLFmWZZimikJws4WcLOBnCykDOBlUGWRZlDskhRAzTccjdwGszsGCouUCNSxSBnDIq4TiRxI5HCVNfPDYH6Gl+1RryhCZJHas0J29wxfoN3K8bsjNiRTZqUNSkOWHqybWePqzVy/pVzLBSKLZhCRrs8Bs3izTZwv8nC/wAnyz5Z8v8Ak+Wj5SPlnD/JwP8AJwfycH8ny0fLR8qE+VCcCZwI+XCfKhPlQ/g+XCfLg/B8uD8Hy4T5cJ8uFHBB+DghPlQfg+XAcMJwwnBCcMJwwnCjhRwwjSoYcYI0+ggVCRM0SPNEzRmExMUXkczmczmczmczRzOZzOZzOZzC6OQWRyNHIORyORyOQVLIdEORv5mohUHQsCJSHsljdwm8kakzUwsH6ojKrG5oSCqPI3EXWRohwVbmyHDg5IMqO2ZoTtuxJoU4tl3E1VM3MlXEdkOONzbNdmzDJdWKKPbiJI0UNCSuzLz5j+jD2UeDYjRKRI4aDJSGWmOcMicps4ZMTSmThw4fwfJX4KYa/Bwr8Hy4fwcK/B+n8FoPwTkjhgOGA4YCShh/BKGH+Dg/glGkvscj9JJNfgdV+CbiX4HU4k/sXk/Q4iaamTzL8FBOZy/BdfguSUY9s4z5h8xnzWfMZBDHHNMfkEjQgaEaEixMogalzIZc2SdThGnyKwiGcxSTNFziKMuaLly5cuFxSiZxse2yWYazsrMc2yUyLaZds5ooy7TFzFEihehOI3qBk5FiimWkyFpVFQdDgCkJYsOhu0a9hHDQJSBlYRlYQdAogjxf/rg/ySRvKg2rEpBVGnzMSOX6RSUyGDDheZ8iblnd2Elc7dNHaJFiqGSakxDwYuXCbjNFfkh4kbm2a9IZLqTj24iSUjX95EqsUMHzMSi8l1PBzRNsmaOKhETnQbH1HNlHJkm5shIJQqxZHI2oUJ5VIckpFDViUUpktmZyHY0UZ5jGXkyrmxAijkIpEI0Opq4cXRka6wg0anqT5ILkgRRiL3IV0Ey4/M2mRp8mcjRcuXLly6NaxokTbNDqVYycyIknJjrMo6kuYSXIm4qDizNm/mmSBlGSuxCQOojioOQyrL1N19jcI4qFCcwZWIvI2mERcowxoleKKRUKG8ZmVi5VmlJCgX62LI/sZ41PFaq+hlRLmdwUO1XqdZkJOF1J/qVzWccTkkON8PI1qQyXUnFtRErGm5qZnwocUTlClNkXtH6XwryN0jwjlgjoViJ5qk2yTiJZqGtNM42fNiJxRTNxI31CHzhI4ejEanoOlDRM1J9KjldGlojXVFy5c17hY17FjRI1LFmHqSbGsxNHZUcQzRc4i8zd/Y1maZm7w1HSJ7TOwzVgkaPUwV+mTkP2zFWzDwnmzzO4po7LI110dGa3+nh5XChplBCZsarJQqSNFDWyoUK5EPskN8SsX9p4dsWZq2ZwssUkfp/JZHCcJwssdiopkpSNplYSkKMpH51NZo3D6miTBLqTJSLBRFUbm4VQXNSxYsWCxYKIpAz5ZtI7LUuablWUN39jWZvs0fysLai8/I00OE4I/wAFMDF/8Wf/AI+J+D5Mf4NqCJfY3EjyNE3YPZ/Z10nF6EOFApQwnmdyUOxyNFTWlPagozUcX6nZDidYmVLhJKZnxaQkoITdxQYnvM6cnKE99hN5PNSI/aIv1Onkjw5ctM+WimEj5UJTDRYscJOxxFY4T5kJxwnI08KOBHAcBYLnEXLnEXRxo4ysZxMuyyKFYyjZomiCPqgRoZq1NCkDfU0eQmQRdGHI5Gjka9iRORYsSNFw5FEjkFziOI4hkS5kpBnOy1Nahu36HZYE+OPbiCrOpwo4ITkak5S9D6ka8iTCliZiY0XHiOnkjzO+qE+Zrpz2XSI0vExHRDxIqLkuhplAvuZo1OI3lHPEVl0I8T37nWKx7uGJZ48RqXOQjdI8JSakbLRPMjjX4KxnEysb/Jc2mUZxIoy5p4mcRyLQlkW/kqHM5nMu/wAFYjj/AIKN/g5lEzmHEzRNB7uLmQRdGakhhMYvI1HURF5iD0CjLnEFGcRc1ZMJmmhouUNa5cuKKZNxonnRJRJnZUWLGixwlpG7fodkw4PqiSHCbjyNM1Rm0vua0+hUsJS2Ud9yRuvdxccH+AvtE43ToXNGaOkJKBG8lhQRRRPmlYjjjmn5mL/axZYJpVJYmFFD6F3+CkaKNM1bngVncNy5c7FhPzI/yESOwtG9ucQULnEb2YoSWehxslM7NY1am7Z2TBb+tDN9OGjJRmpF6AoVdleLmeAJmrDifky4FZmaNzZoywqbFiYtySN5JGmuHB+D5MH4KQS9DmUxMSE+H7b/AOUJxez4nrNG37NA/wCzENr2bGh/kqo16ws40XRM7+RqM72T6M/uhGuhI3VzXaO3yEwubJ2SQi4zROci5VzN3EdkmiDEX6oZm5qa2U0y8g99GqKx3ZI3tbHYJQom1OI3soTfbST9SkKR4EdTvfDflIxYfMRocpnMTRprESOZQ1mM73TE5ly5ok3IuSRu4jsqXPDodgiNMUXQl+lXMkJ3ZNG8mze1KBbZJJVN5JEsWbn0ZR4sP/I2faMVfg2fafzCUxcJ/wAFsJ/8j5ML/wCRX2WP+Da9nxV/xKwxr1hONHGi54IaRI73ih+ln9yCYXLsszhZqXNMhlQRrZrGS5mZqqAUojNOpI1JCfUnzJHb1mChqUN3Edlyu0akatzc5nZVG+poUK4v8EHs8FYncUKud7VCR2GcS2TLCjeZUdYupurL8FcHDf8AxI4vcwqSbocbLkMM1U48N/Y2opngNm+lCpmaOGSNbLAjqZmyTNWRmmTjiJKxrZ41OZNwmwpGrDDFY+VCNtFFI0xwdUYWJ9ghLFjd0OZZgmJmr7uOLKxNRZjWURPmNcyZqyasNOEmdvkyh2GI7KmuVRYi/Upm6safdwunM0VHErs/1GLxRWO8JM7Soo1Qywo3kkUN77Q/6GNlhSR4Fckb7aLjNXbckxRe8Q9tDaNWYoYrokycJrZGpo4KFpI1c0NzK4UZpm0zTB50J/Swa6G9saWeDIjs2V3gZvZcjUrwQ3MqsjwNUoCjxFQywo3lCSN9iebS/kXmeBpBM3tHI2o2zuiCLoyPzQRQk0FCxoqy5uWeDIjXsWLFixpsWLGo4fqRo5lpG9UMN2KBX5neU+TNSZ2CSFiYhJG8kiSN/hw/ViEB4IR3xA+sJHD0Yicpk5Bc1Lm5Z4LfqbuxY02NVM7C/aI16HecjK+R2CRM0e8jJG8kdh9ng9WQryBngNnfcP8AS5GIutRMJILGpQ8U3NMGIb+HD6iw4bI70zI7BM0ZmqChRvZnYcGDpD/2eB5nYkzXZqUR2OZrRwfchi6oEaKhY01NwmDYSN0mdjZrTNSh2NM3Vy5cJG+mEjEw3+mpuUarx4l6HghIS5ncEukkeGoQiJDOoSZEU/JU2WVRQhZcujfsEVNlimUJih+pEES5MTLmhpEplShY3kQIEUsM8gckbQ+pWohzE5onM36GMkx9StRDTClBTFkYpooIdS52BCExZWKaKCYVDqMuXFU7AgT/AE2ZoYMoOZQqI1IYOrIcNWR3tU7BIzxHcOK/6jwJY0SOxSiKVHMHMo5hQZJ0JI6CSKCR2CZOciSEiR0EkVJIwWupFS1RMcjQyVTRU1pEgqMK2JzJmicxsmTY/MKklUSGjsNSgwqSVRTKEhTJI6C8jQzfzClhEjoIqKlCZMsXYzQjfyaJ1ZNk5DnC2oOYMmEmaJCNTNygO95HYExQo7hxY/Nv+TwMztMjuFPoz+6EkS6lSlgkFQdTUkTNMhnc0jWsWLFixYsWLG7sWCwJtBQsWLGixYsWLFixYsWNFiwWLFixoin+ozpUN48R/rO90b9QoT5s7hii6JsiZ4GbO/IPwYkHmI02NNTcsYsKCsUVibSJM7TYsbixYsFixYLBYLFju9QKZFhlDdSXMw8NckeB80SO4seL+hjYI8C2LHfTh6Mb+oEaJmrU0/eRpmJns0Ttnl/0Elc1rG6sbmwWLHgBGRXGTN1hQ9YkSO+GjepCXPmdxYvnJfyfc8EzO+Y4HzMOMmIkaKlwsLzNT1JmmYmrohcD24obdBxRObZu7HhNE1YobtYr4YDvqhI3EzRniR3HCvqjIDwFU1pEzRYsd6Jk+jCXQ1qs1V5DRoaGjxG44ruw2bqdoSfU8ByNCQoTuPAg82yBeR4psWLFixYsWOxJka8iQ0aZSCoSEaii/IOXIY5gjxBIeH0RFC1VG5pbqLDh5ih5Qo8jvmZu87O5MCH+n/sR4Usd3y6oiXmI03qEgmzVZMZoZ4hRG2iPzNxmickJQozu0JPqeApGhChXI7kS6KFH7DRCCpq3CpqRLoNM0TPCdzcXNFy5DXmRy5nvf1GtKFTZPE/BQIeWarJHgX3jO5cT+7/o/YZRdQRQKFRhY1vWhpTNRHeVy4XLly4XLly5cuXLmpc7Bc1cKNc0hYbVBwmnYhbPiv7IlApGhRRcKJI76mbpChXI7lxYv6oj9hoYjRM02mFWduuaLly5u7ly5cuXLly5c3Ny5cuXLncsnyiJTtUTxIFEmfIgPlQS9D5MJSi8jTN8BlhO/JhJGpM0Z2dytkcZ+w0XkDQjRQKmswfkaGeE7FixYsWLGixqWMvmMiRlbLmpL9KuKCE7+kmasgQoUdy40XSBkTP2GiXVDJGpUsa0hTNRneVjeWNFjcWCwWLFixosWLG5YmHk6kmaVBDdihVzv6hNmvnZ3Njeakfc/YaFkS8xGnmaszcs8QNDzgouhpke8j42eAJGskKE7ma6xIgPF9DcM3fCVhZlfJjfURpoFQlIsI1GaUztNixpseA5dSHEnNjRp9/HbkeAZmmSCRniR3PhQr6pkHoeF7m9uXNVjGSZRzQhhWIReQpmhmtRG1U4SxYzJEEQJmttMEULjKMYVECZosdpsWOzssFjtFjUsa1zQkNIlyKHqEMHVihR4DYhAkJHc+DD5CR4FudhodjqiSJBKRJIRJIkVQVRM3NjUiJ9GEi5Y01QSdSZORYKIkaLDIiZ2ehU7JU0UChUZ3LKFzZqQmYkTd2aJ/SjwFY0bMJNkz3kjuiCHokd/wBzv25uWYsPQGgmFSpIuMJI1qA0YkHQ7puXLly5xo40fMhPmIzQOaZ3K22OGByRVmpB6iFETNGJGeB1CLqzuh+UR492EycdTc4kPUiXRiNW4XNeRoZHByiR2m5cuXOJHGj5kP5PmI4zmUURSBlITkcSPmM+bEfMiPmRfk44vycT/Jc09YOhOFncjgheyjWhl1FXkKDkiUJD1kDfVngeZ3THF/Uzx3SEnHUojdJ9SNCNehqUC5oqIwY/M3Fy5cucSONfk+bD+T5sJ8wu/wAFIYymHEUw/wCSkCLI4j5h81lcWI+ZF+Tji/JxMudknC5EsX8k4YkzuHInVmvhz+okrD6kzKggPA0ifU7omRxHgux3dVFjeQxCi6oEzcyK9SlTQjRMhiXUXU1KFziPmHzoj50f5K4kX5OKL8lzcWO3TgiaJYv5JwxJnb5mvC/MopxSIW69QmKHqQw+R4GQoeh3RiRdIWYjPHK6CZrXLhcuXRxIyp1IYjd0oURVkkMKlCozvecETRLF/JsxJnYasuXLly5xHEXLm7givMaaZFIkZ+UJ4H94zumPzoR+p46yxBSZwlITgLHI4jjPmM+YzjZxMgbZF5A0b25ShpaO+ZwuRLE/JSI38yp2On6STioRuYKd2eAJkzUSFCd0wQ9YiR4+qbiQmPzhN5U2alzUqUO+9lksQpEjfTVip2LEhCaPfRrYht5klZHgCSNXOzupKHiTKQz9GVw4ycSkePrmmpqQ+kiOHoxG4qzZoVczUqyikVcyHDgvFQn7Q5vojgZsxRQmxip+pXDn6FYWvsd7zhbRLE/JNM3lScJJnYUuoKDlzPdwKR4AkjVUIkePmd0TSJM3jXRkfnU16bR09DUodWV2UWmzT7vGWaX6irymzEmaNqGFlcOH7E8HEk+jODN6EooWjvWadBRI3tjsKiXIlPaMz4meAKmpMJux4/oa1DuGTN7HAQR9QRo2mbC/JtOZqUVOpzjZ8R5V0NhFTUyYMLifkJ4z/wCJKFJHQq80XRDeFswFXF+RYcK95MzRtIyxOB+pOFJf2s+Fi/k+XmXkbULR3k4TfzhJM36b4YKkjv8AmzyNSQZup4/ZouXOx2NaxYsbiaJM3cPmQxdGaKVPpNWb2F1iJQQuN9WTxo/+KJYcEipqZMOFxRdEKL2qKX9CMuHAoV5FD4kVeg/dJw4ZPFhirzMuHmzvoJ+07MBLBgTj8jM3sdCxsxxI+Ji/kUDgvSaNuBRLzODL/afCxv8AyPl5l/SSjgiXqd1WLFixOJHcE/1RngdIUK5HZJnjOxpsWLGmxYsWNWxvposbqCLzI/ya0lVk8WJQeV2f/Hwv+cVzNj4meLoZYFkRqqGFOKJ8kKL2l+7h+lXMuFAoChPFjHDhpwQdRxx4j94bMdeglGnh4fVmbixD4exAbcLmUjaOURWCR8FU6s997REnEODC2ISaxH+SsovU+JBL0FBOFt8mj5eX+0+FjfkpBmXkbeHFD6o7ksaLFix2OcJJm7gg/Ioeh4H94zsqR+y1RuE3S84RroacuHBFG/I+NiV+jDr/ACfBw/cwdf8A9m0/exklsrojVklNvoZsd+5g6fqJYUCh/q5s2TNixpEsCSXVnvXipz6mRqFwsWFhQU69D3ntGJnfmZfZ4GofqM0beY2MT8k2pos0yWFNtnvPbKJfpHg+yQpvryM2K3GWKRE3liQoMPD2vI997RElKo8P2f8A8jMsV/c+Lhz9CUVP7kbMMM/6GfBxZeURSDOv6Tbgih9Ub+wWLFixYLGvYsWO0eZYqjcx+0RLyR4GmJEMJ+ytyjCxULlzeXLmymykEvUrHI2m2zyLhCXJEp1GXEn+mhH6hmhhlB9cVEbUT9oi6Q7MJWKDAwPpgojZXvY+rJTkuiNVQwwuKJ8lcze0P3MPS8R8KBJ/U7myZsWKSHD7PDX6mfEUURVSYsP2ZRZugsX22JU/Se79mgh9ZHvHjVMuyyWLhU9CcEeVnzcyPpg6n1Rjm5Yf0olYbTT9TN7unkVgyvyE4V8PqxOOWf8Aklw4fQookUJyJCxnRQ/yZYNrEPiYafoSjp/cicMMPrCz4ON9oiagzryGo4Il6oKBSppqa1ixYsWO5KosakgnIsWFhwqSO/qsLmi6CcLmMz3R+zVixQowsVQWLGmhswRFZQk442yeWfqUSNKRohJVYi0mMMSD7iiiVGfBwIZ/VHtMniRuIKRGmhUyYUEUcXSEze1R5F9EFyWDhwwefNmyjNixyMuBC5fXIfvseKZT2iZlScXoPF9qbgh5Lme7wIc0fUnHXyRKLCLOF+Rmhj/I89jJhQV6nvfasWGKVZDh9nWVLmTztt9R0mbWHUacUULMmDiOP+09/wC2TneR7n2VJtc+SM+JE3EHC2P3maFmXAzRnvvar+fI9z7IpLqVuaNmJo2onFh+Zcqkz5eX0NlnDM4Sx3JUR4UoIqSQIZRMiHloNHqftJwlpG1UpAjTc0URsmaJkipomciZM/uIYgcOBBmleJ2Rm9qj99F9KpCZFgYahXLKTfsuFPrI+HFHhP8AJPDxcPE/gyf6aOf8Gb2vE/4Qf+zLhQQ4cPkbKM2LGSwZS6szuNRG1hwtDywpt8pHvI4lg4b6jhwV7zE/yfEzYcHRImsdwxHwseGM+JC2jahqSwczifIze0L3cA8PAgTj8jNG83kSjVPQ2WZYcWH7kozYWVc4h4mNEnH1MkHw8P8AyUNqjJZ5LqZ4MZMWGlTqZo4tp9bkuHD6E4Yg2oX6lBRRLLAfBw5sm8T7M+Lh06o/1ELzQyHFmUuh8TDn5o95B/JaRRnjiSNNQmTCa5nJCh5CS5H7VyN7DERfkHDClFBE6wifA+kRRmmpsoniRH/x4PU+Lm+5OD+CWDG4n9J8SH3OHzmJ+7UWIZM+RdEThxIX6kosGGL0Pi4ahZmw8aRJxKL0MsMMoecXQzRR58TlO5zw4OhKzM0EZw5vQli4P/RLBUTb5Gf2qHJAuTHhexwwuPysjNjOKJ+ZeRdCiyUJe6U/IhxMWmGe7woE8TouR7zEiqcMysJxZTJDFmXkLHx6c5HuvZ5NrmSxsJReh8TDUL9BRez4k4nyme6tCElRdTJCalijLHjKhuZB7xn7c2LGSMkEjYiaNqURkjiUMRsxo0RYmHjwxz/TEfG9li9YSqc+jR735EHLzJt+8xeo8kHwvIliYbXqcMvQnh48X3JZVGvUlHBXzMvssEj/AFHt0ULa5chwezQKCHqZlHni8z4mG5G1DIlDjxQepmhxJ+jMi4ebHj4seZ9WOCD4eH/Jss2lMttHHHC/My4U4/Q/1HtfFf0Pc+xv/mTim/Umokn0FhtwPyiG3ChQYeGs76DxvaXDP/B7r2ekHN9TVUuHmKGFSP2FUJDCftzYsTw1tIl7qNvyRnxcBqH+TYjTBvoifUzYeJl+59aJY2GzikbMaZmeHA36DhTyk8PHWJ/cfF9mb84aksTZ/uRSX2ZODGcPqZYJxPyPfe3ROHyPd+w4U31J42Z+p9LM2Fifk2sBRecJLGwV9xQ+zQRZnyPee2bMK5dR4XscMLj8rGfGUcXqSjShJwYhOBwxejMuNhr7ksBZUOPFazf5Mr2MPojYiMsUOYpCz5kUMXmLDw035nvo6RSuSWzhcoTVVNjmKGBSR+w2d2R+3+bDfu4ys5dbm3hp+hPPFhPzM3s3tEL+5liw80JF7zA2uXkCcXM2YmKCNZzabgfmbGJCzbw4IvsbGbDf9LF/8luDzH7rBnlX3Z8bNB5M2YkFYTYxIkcYlKUHOIeI3mi87jg4MPyNiP8AI1JxQm3h18yrig9CWFFn9D3ntWZQdGPA9lhTjHiRxZ2SxIZGxE4ScMSiMmNhwv1Q4sKWHASvH05sz4j9F0NVUpzZKFJGiWE5QK8XU5MrCy53pcuXLg4jwOvM7Mj9qqwSfVHwsX7RE8jfnCScT9IiWNgwxH6sMUOHFDJBFFFBm8mbeG4PQg9xiursbMUSKya8yTeU2MSFm3hwRfYnCnhv+lnwfaM3lEfE9mzLrAZIMKNReaP9T7b9oWe79mhSXU2qlYETw8RwskooYj4uHDEvMUHs2Hlb6HvfaYoXEiLCwKQWzGziV8yeWfobcDXqVnB6E8OPMe89oUWRCwcGFZ+UPQeJiRZomas3YywqSNDggcsJcUX1eSJKiNNG0cmVhZdHcdy5cuabFjRcuXNT1PAyRI/cTbghiKJweh8LFT9SuE/WEk3EvU+Pgwx+aKRxYb8z3nvVG+UgxJXkSxlFm+onge0yI1FjNqE5RE8bYNjFhf3JyUx4cUTSfQ+B7RNdIjbwM66wksSGKD1RSNE3EZsTYwF/Jsraf5ZON06FijkfUbUKa6NEsPCSj/pFje0tUqke59nazc4uhmbm+posXCcSlAuYoYVJI0PDw3LCXFH9XkiSUkjcUbRyZWFlzsdy5cuFixYsHEcRxMudghO9pI3/ALxn7k7cEMXqikLg9CFQYjinWTDiZKOFNFI4sN+Z8HEhj+5lbnE6sIYfpRXDcPnCfC9qa8ojbw4MT+0yOGKCLoUiRtQQxHBkf9JmjjixFyTP/jYOZ9FyG8bOov6ijNExYeGptn+oxXtLryPd+zzUHN9TahC5o6ixsR06EoVJGh4UM4cNccX1eSJJSSN7RtHJlYWjiRuYoYbQ0LBcuXLnbEhHesipvlCQwnZmftp/xRpow4mbcKZmzvDifUnhxQx+jNqFlG0R4sVctA2YmjJHEmJyoUiRtQQxFIMj/pJ4GP8AaI2sHN5wnu4MKKHrM97iNOPqSnkgXI5RFYWiyKORRzMrVRY2NP8AtJI7NRtHJlYWUiRqRYnPkTd3U7igXmd6zOwZuh+5kGMrcLNzWJv1PiYML9DJAnBPqbMaYNOGJsghjuGzE0VkzahaKRIpISxHFTofB9o+0RtYWdf0ko4IoPVHI2YpGWHafkLExoJx+fI7ZRtF0/UTlKYLBXBh39TuOE71kb6QT6nZ0j9tHhxqcLOsD4YjdXDjZtwJldk2Y0zU2YmVkzahaKRI2oYYjgyP+k+Dj/ZmbFacZ27L+Qjxfx6maLiiqdxzO9JHYIUJLkdnZ+2rgjhUUL5Mzeyua+mIy4kMUD80b3n9imI/ubcKi9Cs4fU2Y0zU2YmismbSkUiR26buxYELrFV+hh4PJPMzuSJngV4jO0M/a25xI4kcRcKQspCWCUUmujRNLL6FJMrCze3P/RTEf3NqBRehtThNmNM1NmJlZM2oWikSO05fuwjjxYIoW+pm6nbbmtiNngRIhR2dn7Q3LnEjiLhRFjhC5xHEziZvawo2YpE2qFjff+jZxH9zbhT9Cs4TZjTNSkTKyZtJopEjsvmwXs0L2YOL1JHYLlzXuXLmmZqOLqzwIuiP2tuXLlzRYsWC5xHEy7NdG6ZuZEixRhU0o0SmSNFCIqThZNz+xs4r9GbcKfobU4TZjTNSkTK1NpNFIkdijxXyt6jxI5uOOrZrXLnEabGi5cuDBFSRIkSmDmUC4TRoWGrcxQQqiPAmd3Z2hI/Y6xpuXNSp2PqaEaaoZup8zcsHIrCMIicpjodUTlIQi0vQpH+TahUXoVnCUjRqUiZWptJopEjeMuQezz2YaxepKRJIsWRMuXLm8aBAiThNCGWkORVSBgoYVNsrxu53lJWEdghhFCuR2iR+w9zuC52eRq0C5puNFzebMf5NqFMrslI0alImVkzaUikRuY8WL9KHFE5t1Zc7Jc03C5ouablD/U46q+FHec5nYfePkdpZ+4E+h2u4cRs4htQzNqaKRI1KRMrUqpFIjVXs6dIaxep3IsfFXw1bzJI7ykb9zCRCup2lniK5c8ONHbrlzaReRs4ptwzKzRSJGpcLG0mPLDFFERRxcUTmzuChoWJiqWF/kUMKkkd5SR2CYLodpi9DwvcuXCxYsFy5dnjebN1RyDahKORSOZtQnQpEjuWRoWNjL4fJdTLCpI7zmdgkDxHzO0s8JXLlzxDcuXNFixouXLnZpkka9g5BKZn/ACalG0TWJ+SsmbSCh3EsfHWxyh6mVKh3nlR2JQkMJ2lI/aq5dFy5osWC5cuXO4ZG7sWChJo7pWPjw7PJEkd6TZ2LM7I7Ukfs/dHEjjRxBSEpCWC5xHEy53fUKGixuup3KsaNfDX8kkUPA+bmztTP2TuViRxnEXLFISkJZFzjONnEy53rM82acpOOkP8AklCgqbypssqjuGHDhuyGBciSPA8MIoVyO1RPzP2IucaPmI40XKIpAUhkcjjPmHGy7PAMm5IzMYxJXZPE/BYJhsoqzVscJY4SxwlixsUZKJSO2bKbJ+6j/AoZOb5HvMTjf8Hgl4j5Hamzx9dFY4T5iOZzKQsphlIEcjiONnGziZc8GJwjQZ4+N/wWCZRyNqp2DLGpkoY6FMRFMrJ+7n6FcKP8FVIkjZwn96G3iQwlcaI+ZGccf5KYsRs4xxQlY4UVxf4PnHzmfNZ82I+cymJ/BRwsrhN+htQxQ+qJvZhNpZn5lIThRnyo8EyIV9ztUb8jxnc44T5iOMpNlIGUwikMKOSPmHzGVjZdnhjqjZpMeNFaG3qbyoXNGVVZokVNWx8TDhZ8PChQTZRBcKBc1amnagRQ0SJHgmFcjtb8zxRWJFcSH8nzUcZTMymHEUwkUhhRxJfY+ayuLF+SsT/J4kqEEC6TN/Sp5nmWNWhWhY0zZv6sJGmZ4HkaHiNXO1wrzPDvEiuJCfMRdv7FIYimEymGj9JxnzYiuJEXZ4wgw1zZvpnkE2EkbqZvalEFTUSJHekjsUwUPUhgO1wI8J/MRxn6ikDZTC/kpBCckfMkfNiKxv8AJrSNOY7FMkazZ2epM7bM3kzd0NZT6M30+XIJIPI00OyUKmiRqNngrM7I7Z9jw0whLClzOE8iUhFSWUfkVhkOY6SLFEb+EGSkPyKwyJslKREWmy0mTlMoWmJrmVRY37BORMnKZYsTQjhJHDQJSC1Tfs0WDhoEpA5lpDdy0mInIsWN/DL6Wb3L+TT5GihU3kjWmarZqT6nejCx2FgnzZ2yIQMlILGhhMsdrmFgsdosaljsSCEo5ooCGVY6yHnGRFyjN/Imxg6yHnlIJsiNm5VzZssXUISrLm/miQhmyxdQkQl6Begwci9TftFTQi9ByJ8gfUqyjqbQhhc3kzQn/S0byfQ8zRLkdqRuEd5yFJnZIYRLodsj9QmzRcqExlAoeYIudhkaKGiQi9Dt9wqabneGU8KTNKjV0J8mTN1DD/yNWp2yRqI7zcXQ7K8R8jtrZrSP3PnDA36EjRhyXI3cUXVhJHciEd5TR2SYQo7ZE/I/deOFO6nI+HC88U5U4hwxUaujE9pgh+FhcTf/AER4eaUqoqbmJroJBM7kR3n6HZJC6I7bG/I/Yyh4KmroWFB87Bhc0/8Ao99h0xXz6mF7LDhLBw8KjhXNnvOlylUzcy6sZ4a8zsrxHdnbYz9jZo8FLGwYsuJDzIYnDlxIeLzI8X9EVH5B/Qzcw+pPqTO5kd4TPI7Kl1IYFyR21+p+x00eCpqkXUyxbMf8MnFQnZckZI+XM1+hCQo7hZqo7uoSZmPU7LndoTt33P2PmjwVUy4k44P5RmwokytjLyJpmrtOopcmI7gbGasju6pNXJM7MnziO3Q+p+7mbDeVmTF2XyZU6roZoWamWE/kTO52ju2pMJ9TscwhgXUSXI7dB6n7JXPBVSUEVOjKk1YmjTRjnzoI8KTJdApyOxyJA8V8jt8B+8NDT5hSx3AhGqmd2VKFTsk2TCFdanb4D946Gmh3CjWR3b6HZHE7hDCSO3wn7yVpEaIvU7hhNaR3XQJI3FTdSJToEWKzuCE/eWUf5KEcPU7egR3h5hU7LMmSIIfydwQnhhnYphI3SZ2NmtM1GdjRumdimEjVZqKRvqELiNSZ2pGhHd9CcgqbyZruIIeiO4YTwrageQyQxI7J5DJchlh5ilyTQiZMmdgYxzKXKiBFEI2bFpEig0VOwIEzZCgmHkFRkmCN+gZLkM2kmhkmRlFUea5s3KqohMmNm9UR3AxGtI7mmgqEjfImLKKhQUQiX6egRYj52O4UJkzsDGHmVEaKCKHZUCKGhGozs3//xAArEAADAAIBAwMEAgIDAQAAAAAAAREhMUEQUWEgMHFAgZGhULHB0WDh8PH/2gAIAQEAAT8h9rZ6UdA1NhGwiHVmoH/ByM2OiEehgEfyjAjoNgHoZ0BR9QwfwLGe+j/j8Ie3AR60Q9Z6jDYHoYBf8GegjNjojqgZQLR/KMCOgYYPQwQCj6hh+ip7rGM99H/LNnoZ7Gj0aDQYbA9DNBoxUfzzPWB6NjojqgYBH8owdQwweslH1AP8Ez30I/5Cz6zSPwMNgehmggFKUpSHyVI9TROHoSaH0NhsqsPUk0OrTY9tnqbQU6M2OiLD0NqwCj3009DaWz1RZydW4J1VH0LaWwqOrAMkwAYQgehnQhHrqsNFPS02PQkejqD7uz13J10etjPfQg2dbk+vtPrng/g4eqHB04OtKU6WhNMDRm2jguQehmqED1CJkX2wQXuUnoMJDbQOUXEqyjjUG1iUylyPSiVDwYPf3mkDzahZxqDaxKZndFvWR98Bb1gJQ5tB6rL+AnVRMHsM9Wg0Y8djZozVK7YHimj4DUuQq5UGSzjUIOZY0d42Q9/kcCyF3MGslWMwSDltQyRqAeUSms1GW3sM4aoSpIOZeT3wWhuL4Rzhtdhkz7DeEVBqM5tBRXcrA+WGcrAKmwYzoQj1obBQF9sEha3gYHkv4GaRrciaxqEXEqyrjUYqOKl0aHyDVJgKPbemaGgcMVPI4FTgFQtjxyJ0+I3aBsuYehjPZAuQJnwFhQ2iwfAcHmoNygDU9/YaliR8RuI88Dhge0OHBOj7BUJxDUaHv6GgAqH2CoCoXIbyfEaoBcw997Ho4BcAbwB6LEBso8CdGU91CM/J0QZoOi01G4jM8Gp6GagI9TRqOpAAuOzjLtaZpo6iAsSmkaK6TIH1pjAKNMuiDrwKe7tEchZxN49BqswdWmMkmZYjxOZKwkTVMFVIeLBqJw0LkVpl09bPVirETYtxBbUylh4HqFQEEoVy6IntGVHHk5HEyHcDSqHvvKmPWkjQaIVOaMSBN0qT0epAUI0jbmncSaoNKhCDVY4y6e8CSMmTs3YtzuLKg6G3YfkR7GnwRNcPJUZsajTcjEm3hiUWRjEBCPW8ZiA9R/1FNnDDo0PaGTAnYLA7FdETwhjMmQBSVbMB3ACj23pjDyDshrOGJuxmzGORl9kLkytMtAzoR0SfJ1Yz2QLkCFeChkNGWB3lj0sla2DgNOiTehaPeWw5ogHpZK1sYIbdwITOGN3Ctsaa2JO7Pe0FoCDHOGJgC5M+AZXI9I0MzBHfIk+T3nsbwBaFoyh6Ho4CPkey9zk5HTPB6EdIdZ5ZIIhPLNIhMEwT5GhMs5hKMLDD6GaGwOtOiQlXkTsQQlqCU+RKUpjVtPsIaiROoblE6EGBIm33EbHopSlKU9TTyhOglVEglqJUcE5BOglV8nzCVKcHyDVINRBKKEeQ9hnqUmRN2yJqDUghYI7swSEhDUGjwR5GgSrI0lRK6BYiPfRloRkNG0xGwnYYUkDENSfINzolaobu4lUCRBGo0i8HvvI07sSaCBIN3cQ2CkMQlEJV2D5hYTeRDngQCRAxiABHrRsT5ZBCYhOB8wAkBI1CAkJGb7gGqoxKKGgUe41+BIjajoaMSISyFBM0nyKD5s0hMQSiJmnoYz2ZT5MmIJQSh9w8BK8kxCJCfI6R97JmjVBKHvuhfeNBqmhPkfAkaro6EiHYoEoSMap9B8xKEyTNHQlBKBKEDFD5sawSokJmnvtU+bJiEB82Qgwap8mNEJkmQgz6XQahqxPJqehgEDPfp9BSlKfUM9TAB7OiEdEDEFH8ez0MHU8gejGMQAI+oJR/AMZ76Ef8mgz6bQaD2FsanoewtwetHuU+kpSlKfQD1MAHs6IR1YEbiP49noYOpGDqGIAEfUEo9tn0jGe+hH/J2e7sp60wAx8xjU9HIW4OjPQj1U9VP4hnqYAPYMQjogYgj+UYOpGDqGIQAj6g7H8CxnvoR/yOEOsPZR7ekOxsGNT0cgbiOjPQj36fwzPUzcNBgxHVDNhAH8DSn0LB1PQ9WMEAI+oOx/As99CP+fcmsOwB1PRyBsI9aPep0p/FIG4DkGBHVjAR9eynRH0I6kYejGMQgD6k7H8Cz30I/wCVs+iW0aQghqejkIIGelH11KUoj6oAanRg9LEbg+vZCEPoh1AwdGBsQCEfUaG5/As+gR/ytnto9S2jSFgHQ9C2gCjrCEPpKUp7DCghH1KABqdGD0MYjYH8BD6QdGAYOpYAR9Tqbn8Cz6BH/I2excHrR7Og1BewjoehaAHg/gaUp1ghCEIQ+mQANTowehgRsaH8mwHRgGDowsAKPqdDc/gGM99CP+WQ+hbA1gYPA0PQtAij3GfR0p6IJCR9Kz0oLAegHoYBsaH8mwHRgGDowsAKPqQX8AxnvoR/ySH0aPSto1gYYHVi0CP8Qj6ZnpQWDU6AI6sewbGh/JsB0YEAdGFgBQj6jQD+AYz30I/5OwZ10fQaDWEfA4mh6NIR+hZ9IhH1qCwHowdUMYNjQ/k2A6MCAOjCzQBR9ToF/AMZ76Ef8yR7f7xqAcQLR6NAQ/hkI+tQWA9GDqhj2ICP5NgOjAgDqWABH1OgHrZ9QxnvoR/yln0gNATicBaFk6gElPQrZdj6JGg0TyeoCOmConVQQj3kbAkdR6XhUUKdXCLuCCAUowdUMYAihuKxOqnpwPJ6B/QtxUSJScD1Km12OslFlHqYDowIAHAxqGgChuKJ1U6g+iSaEAHp2gNnRVwG9BT3dZYXMBjOqdOrcPWhHs3JoWT0txHotZ9EnRuHquYdXgWUfQtwE6epOn0bOlPRbwF8AmenZ6si1AGyjZHAhRcDYbAdVeBO0M0lBRkdYhkcZkgBBo8mJWe3CA9M0APUoqDrENcZkJCRARrvGB+U+BaQ221QuLRSmPBnA1Pe4C0AWkNdT4OFDIbwxIVCtGawyNoqYT7lXOx8SrJV3OVZyA6MR1QxgG0NtAOHYYL7lTOx6IPIY1L1EEIDULA9RDcg2tDgMWCye9tCeo7UhCA1AeogsZDwHrZ0ZDfAmZQ9S4LN4KUzyYLTqxbB0YEAGgZwwEbZCbPTLN4MkrSRUuZj1JyJq1corTYkC5DfkxZZ7+zCeMqbH+wxboKkyfHHaYZhUwRrDKbwVtsGGNDNvNncVdeZk/gTe025oQbTm4Z6HTuPTQ1NA18F7jbuC4dK+BOi0V7LgofBWC2ehCPZL0JwUaF2G9F2Goba0ipsZ2ITdjM1wZ2MbA2D3no1NkNtMrTyN8ITdjRViE3Yw1tIT7lb0Wi8BsDeUe+TZibCfcreisVtCdQnBdh4F2NitbBj3+RnBWMfyGRA1eTxTR0R1R0JpAaDBoiAHA/k0CRrGylcDyUbZSHjyYSnQD1FJN0U0nT2Ueh6MxMacNJxHZx/kwVJ0VI0YLcUqhszLNgm2wVlDVIrsSPeTFFI5M0YTPNCbZKUM2CzHuPDbo2klQ4AWqGmVN2dCUwA6MR1Qx7ALmYlqIWAVSSocyB4zwISIxL2W4hSZSmWBtE6jkCUlrFYdZ7yVhKUYuIWwS0PA2qdQmqJ50BVKso05B4VOPsNt59z+gjE7gfUA6MAAbJjWHIGhHcTqCQLcYuw2x1En+TuKASHXWKS1nvp2poI0Go5FR15jQ3K/AWE42ZGTqE03lwUuyptwxHRFoGoRCmCqZTGVst02hs2XHx/0RRYeat+wrZfC1CRFlvlsYsg8Ks/MhvI3PwRq3gkdfkfzUU6MqE44aCSCyNmMOPwLkTFli0z7g1ycIejJEuKJQ6oR7LwGkCFhGuR6Q0aD2Ux3pFgsPdNgXzoqzT32mxu4DBceGLGDE4w3UDvbBh6cOQglQ4cooPeMQ5Gotsx3hchYC5BjuOQa5HtBdCrkSh73IweiEEImYOmBnsg0hNItEnY2QhHYSxFTQiayNJ7I7IaT2IWkJextYDAhCEIe0h7QkWkRWjSeyJ7QkWkbBYEi0iLYU4Iky3BFJwYEktEQU97wAkloi3C3AuaQmIyTEItTB4ERSQSuCK0aT2IRI5AdGDqGMAiayhK4Gk9onBFJMCU9DIfB4hpPY0e0R2GmyEktCSWiK0auz34U2hItIitmSJuwaPaEktIwuBJLSIkZrEJJaPEhpMmISaIt8noYgdAAAY+0FY0JDthpvASvaIngikh4iJiRaRFbyNJhJo99o9oQmENJvRFyRYTIaey13PKmPFFs5DD+B5VXDxpNVdgIwGdcMmZszY6V/Y7EdtQo19zAktbP/JjztWM11yLJ0jw+zEcJT7tHGjLl2GLRlVvzJfpqR4a8oUclp2E81UyvPwboZvIIrXXJpkZlxW7Ow1xxwxHVqoWUQa8Eg1yNGTGBLGUSEhBER2JSUIehCPZgk7EpCQjscCOxKRMjsNJiSWiInIaPfaPaIWiLZExpMSS4EsuoSS0iZo0fBMkdiYhCTREfQT2IRIiI7DWMCWMohFCOxMQhcEGqGj2odGDRCNn0YNIBcAekdQ06D0QhCEIQEIQhCABAh7FKABqfTM9CDyA6MCOiGMAR9bD6Vi2DoCBnRhEEo+p1GODa0hMUX22TX5DlhpPHAfI8OOfcZIvuuR45V77ZzNtvaxDCtZSfJVbyjE7QnlGTXYcjxvT8jRm2WHgytJ1hUQUappmLa7/ACIdq5vgfAOfsgnNN34O9ckiTl2p7CF3E3InefjyS6QsKJ1INfI6sZ76Ef8AJGe3ybPVyekWkA2APQw9QM6I+lhCBDpToAGSgx9WgrYDowdUMYQj+SYxA6AgZ1Igj6ljJI2C/JAohhD5kpcE0xtdimMKSlid/B/bgYZpV8Ml7X7I4wMe2PDYl8ljZT90KRaOzcoid0VfyXJR2jwAlRp+B2kpOKeF5QkrU8af5HbWcXa7FpcKrMgq7fYyGaKI6s99CP8Ak7OrPohawj4CHoYeoGC2I+qY2MMMbI2MMhhxH0rPTqIB0YeqGchP8kwYgdBuAZ0YRBP1K1pVoeRMlbna+1yP6JU4aegg2yTus+axUYgw38mlRtMep5+R7eo/EnsH7kKRDGLdQvIpDjLTZBZc5GJc8DNqQ2UYl9t+RSIviX44OQhwqOzCcBqGPMjaxeDB5QyFBr2Im32Zhh6+Mol6Ki+GZPdQj/kjPdZ1R6kZlqCZID0MHQHSiZSlKfSsYGJsoYwMTGCPo2evUWx6B0B6oYwn+SYMQOg2APZ1KEEfT4RCMKdMiN/+wWSbvzwlnCEfPky5DltdyWSvPG/A5Fvch/cXROxbMDPurgnuYZEQKQccFaBas7kKjPpIIUNUGK8wwJIqWHkvD7oeFyqNDddh8tV5F5ROnmukKuDnH+wn2n3kH8C9sXHcYVeDbvlF584G1z45fD0yPPhwVYeyVuoTT06e6j/ljPVMnWnqQQNwPiek9DQbAhFKAAkkkkAUAAApRhsZ1Y0MMjc0GKU+hZ6wtj0DoD1QzkA/kmDEDodgD2dGFbEEI+ibh2PwJ+p5KVOSsTfJD4fnhLZ2R2sPx/2IY1VsXHDb7MSJTihrKG1Nomnfgc1q7sfFRXw474Z9gwfDo/iEoJymP6Ez48mr9nyLJewsRrFLtqsxeRhaZJ+EUkwnJpa0xcfsWPyw8kLdLw8tFVMq7CPn3QsHTs9GIv1Z/wChMFsWRCpbzBDStynL/A/XnbQtrtPlipZiflCfZ1FPbQj/AJSz2NHoRCHoMG4ZkehhLRqOZMQSIQhAAACEIdEFKUrKAUIQhAaALKEyFaEyhSlKUp7bPXoIegdAeqGAH8ezowYB0GwB7BgdhBCPoG4YJ2jyU2OxN4Rph8Cs6u2aRGvDRZKjf+uV90R+cXlD428NDz0jPkO8jrTBksbo+58AgIkFpeDM4CH5F07bCtSXkzAUh8lhUgRj8FC3qEJjIKVDD4GS4V8hBo1nObEhxm1lpfY+wYxPhj2ncR/2+THhO2/wPbp2Lynj8l+/wJGeyhH/ACJnrHSnrh7GoDcejYD0gtGgoKCPTAhCEIQgBAAACEIQhCEIAACEOtKUpSlPZZ69QPQOgPVDGAfyLOjAjodgD2dGFbEEI+g5BMjJJkpoS5EWcBjI67ZofhqlLZFitTWs2Iu4FH3WiwLyLuW1XglWL8/wHK4/B2ATw4ww2dIJCQmSMlL4PEwcDKYGLG8iFyMYmMNpm1BiwWcFo63gpOaq9wh0581PkXG0cdj+BQSjbF+NGMr4/wCy/wBmpjeEmn89mOSrRG+Rpf7CjyU9aEf8qZ0YgR7SOmoAvRuB6GAtCYGgEj3IdYEIQ6QhCEIQhCEIQhCEOsIeiiZ1pSnRnr1A9A6A9UMYdT6yiZ9GzowI6F7AcgwOwghHvvCEZ0aY3BynOWgaydMk3VvLE1Zhh6Io8tLc0BruOGZd5q27C1gmzmnZEMaY2fcMH3Be6Dkg0IpdjeDTKNlFOmmM2dEMqDvLyNkyRGG/MXMZ/YfZO67n2APD7ilodVZ/0UERVyT/AOLJDj02PF+B8KOtllyH6Gz1oR/yhhAp9DqAL0ZMD0MBGpBIh/DwhCEIQhCHtM9eoHoBRh6oYzcP1NGygQQpT6MBHQvYH0FbEEI9942fY3DIXy7CnbSqNhuno1F/EFYwry6nDHS1HM4fjujR1liHuTE2zGYP5ho9ogbIQpDIdGJ5HwXY84G4kGzq9lydaPQLQJlgszwS2+4m+GJCr5UyneFwQZxtbq+B0a51Vh+B7pkqVyFlVaYa+D1oR/y9Hqh1R11CBemAHoZsI1BH8hCEIQgQhDoz16geg9GDqhjNzU+obKNlGCghQ+gZ0YEdC9gfQxCCEe7UZtX5FKZLKaEBUQY835Ufki62kjTkvBhfodvnY7hdYGfYbGynSgoaRwUbE8jKUeUUGbQPI8GwgRQxMfc0ILI1B33R2mvyi6NN7Jmjh+UQV4uv7JGm7T7uTKcvc6aPUhHVn/KIe7TqS0bmjNwmD0M3EaAmU/mx6uDUD0HowdQxmxofTMY2NlGCiED6BnQBHQ8gOrAhBCPacGTbD7LZjgkY28sh6+abkUSNSckXkj0S4c7MQ2NxGpkvbIx+SfJGQhBjsg8h4N7G8AwYMowTHgYmBMHQdEND0BhoahljfJGAuGfA3Xef7IMxs/6DWlDqTgO58J2Z0R6UI/58A3NxyND0M2EalEylKUpSlP5QergIYej2DqGMOh7VPcYyEIMAhGh7zBnQFHQcjB1YEIIR7OUi0E6k7Bn+jaTHFEzPWs/MEiJQwNWeWU2G6Sqv2hrkpuL8hrUleUhrv+D5jLhsNHCPigXwGOS9kQhoYo2dVqBwMT4NBaDwDOjFoGHcaGuUUR4ZsKkesBsm0LU/A9PyittntcCLXF4PgSz1o9DP+PQ+rDgbU3EyNT0MJqCKUAFBEVFSKUpSjEi7lKUpFWUp78FGihvU6vB1YmD2h6uCDgsIwB6MLcQgQLoHQ6wh7ZjepsoQhgmxYAGoj3YRZRmyOgCGZhh5CDXk6sAQQj2Er2FRyNsvgO0ft5UOv/hixKuVrAzeZWd2mQW2/fzXhj9A7h/Q1xg0U+1gJH5K+MGXijDGhAzWyTgnkexjq2NhgcDEGmPZk53McKuwEw0bPAsCkuVKDFyCglwdfAayJwPInwPOe5qEEXTwXhtwFI+Z5Pa8G21uuC4+UIQ2BOnRCB4QnUdaPolTGhweluNHoao+hbiosouh6k6dWiGI+gbyCdR6XhHo5PoMlIzrTI4SxijsitLYmRij0MJqCRCEAEJQoJAdHkSd2nEGslGK2+CJTah0Vwdq5qLTcRCpvQhMCdilKUpSlKU9O80gy1UqVGqnBauahU7wM1QCd8xNTErncqaIIEqRsS0+BJoeoerg1g5CN8iYHERy0tLsQ+VG+CPh0deJUKTSuRcGdYQhCEIQhCEE2JoqIQXRnUtIR6UjLZIyjOBhW8oQ+Wtm2YI7uRMmx8rwOm1Bb0JlKUoUp6tRoNgjrJaYPLMF3k3IZG3BVQT7xsZ2yNkNPKkIg2WoYhBCPUx6OBnDv3ELNrIuDaFgKfUkICZjSUEB8Epawf4BDIl1sPVY4wI0/DRuFW8lKi7CHQKN6ZFyJUbhCLTawUs2QZSlB5FjDGhHXR8gjZVauTLEqjkRMYtL7iMJUjESQLYJVWkuxNCw6atKeDHAlNEEpHLGbLZ/Z0aoYZNMuDYjYyJgyS0nKGmu9lqdP7n7gZBAFyJNjbFkZFNWidGdTQbBnh0ezLbKNEI97YamgaaVpgQk7iitBp5UexTe4jBy0eXuFd6JNrcG3R01gSHvEBy2FVA8vcK74Em+TBw5E7igaKjT3ROLInsWntM6g9HIjfJcH3NEO7KHYZXI2YK96c4MpjZYgh7DKu4bEY7w2WHQeCow1gEwRNxTRDqwmpBHpda5gZgkLEDdS4qMNiY4DaJCQ1mITDEIpZG+BAUhLCEizDrSlAKUpShkIjjRYnJvARS2b4J9YAtZFNZMuoNsuDFaobRCahLSmBJoeoetMjJQajANlBv7jgYYPB0XYc4Q3NrBtjmaTIcyJeSPdhBV3UOuohATCMZaQlVgeGaRqwQRJoomeIOXmGlglU0KTUQk0R6KUpSlKdVoUKQR1scxbDK8ghccI8grc7kzuE3xo60smw0IexJXUaQxCCPWz4cNggHDyNRO0my9G6NCDW2Pf/KNHazhie6dosxr7C2X8iFUEfBhQYPHJFluM1bQngHrpCjwhq2diGzqxMZsGij7iZrJgwT8jto62MsbmiFdlkBfIFFtBtSutjp59bJlqF2GN6iJRxRs8DdZ3kzKZkDyVmzYPDLULsMWoB8KbE//AFwfDJZWl+Or8i5E13bbAKWGamzgn2RiOKgtmPUfYh6WMGODicCHwIexHvPcPSjGBN4YwYbGAehDwgBEYgyuB+poAUlhCRcHvJUKcMyoW4yyuBy7AMnRDHasXYX7h6UJJNISWEEpo97amZoLQtYL9w9Kj4Gg9IxwjyQt4EGGmyGrBHsQ9XB12bAbm0fI0PQwhR7hvahCEIQhCEIQh1pSlBIjKUpSlKU9gergIA6K2DqjQYNT6ZS46whCEIQhCEIQh6EdGehkqgmA6HoOrGBBHrxiRPgencYqxgSSwzskK1JJDGOcvsKpdMbJKjIkplKryNVrUJaR92N3sdYzJkbKT8NmDo2Gzro2D0Jnk6tDQUbKl2BRjODLPKE8mvgMnhnVBh4Yu4lVXBmHumkZi01s8JB8rDHbc3jk7jHoQ1ULR9dHkfXpB9cnY9bPRBHRHSHqh6Ngxubg9D0MIEfxEIQhCHt0pQZ6uAoGx0ezU6hgOp/BwhCEIQhDqz0MCOhQwdQwII9LRK3ESVKv9E/eWs6PJjn7Uk0N5Qpo5zPA9jv+jKt8ZHbyTR8oxDkK5CseQzfBwNnRlKmGxbKPB0Z0Z0Z1TKUYNGjQsovA8qCLUdNjQfMYtw4BYHYxKhP6BxsVo8H3QvJ6EI/4zAZ7sIMIe1o9O8Y2MWN4Hp1DQR/Os9T0FA2Oj2DqANUan8ez0MKOhQwdQxCCPQ6s+xO2ZDoKTHh/I5+Yv4GT8lOHxyM4tUfhie7Jrx/2f6HoeJd/7GAwNBkaGNkg/wAheBjBoaBOgw2ddMGsGR00qGQ+Br8DEzotQNAbmTZo2bJPJkhyCw8i0QY8ochCpmGmQn37h5PSj/lNKdIe4j0AY2N4BenU5ND+eZ6noKBsdHsHUgaGp1pSlP41gQMKGDroMCCOq9dYyDv73I3WBMbwhiPcXmEcSQ7Rr/Jnxg8Cfsa+e/3LfFPuNcPWx2qbX9hsp0o6IoTgbrB5z+TwYFGh4CnTkp6KPA9yMoPAoxwJdjozqsj5QfsNRyEMioRkWQ5xo/2Cl7yfIsXP3PQhH/MYe4JjY3mwXp1FsP8AOsZ6noKDuDOQddTQGgfoaUpT69gQPQUMZ10GBBHRklWIrLt4M1kxt4G/N/7DMxj7xf0xhOiar2nwLS0tYgcX4M6uHv4LTcn3GmTyXsCVNu53Rcn5jpY8CYg/YaaKCDClGel4YPRKEGbLkYbV7AsBDuESifDNoHSopMIjNTInVTaE9Xp0WpMVJw9COrP+Ss9cPd2gbGwJenUQ1P51jPU9G4g7HTkHXQA4g+tpSn0jAgYUMHUMQggaJXobp4VyxGURS8wY7Xm7Koay/wCwzcVfyoYRf2PDG8CdXfBgZ1x2FWAqExjYBqA0NHnTIMt2SPBQY6I6pgKDOlGNAeRmxofA3koh0+RObGLOBqBxMSMYekzbISy3f+qOqEf8kZ6oemHu7sDY2BD0kGh/OsYM9D0bgOx05D1AZxD/AA1Ke4wIHoKGM6gCCgbJvM48sTApMLO3Wh4XWtcqvY7J8oofNrkhMmw3SmSHgwS7ENHAUyygJMiEkhxqm50ZhxytDCj4AeTR00bCjyNQ9EOmj9g0x7DRNGSg8oYiE7CfDNCVUNOmh4HHhpjNubj4E+6OiEdWf8XZ/B7MDY2A1PTqAEfzjHsGejQ3EHc6cg6gM4B/k2AQAoYzqAIKFOZhDEZ6T8rj9i++W3u2iU5JG2xmVpjZD2be6ZA3kZYJ5G8ghASLfBhEwn8SzpW8iBTZRLk9OGNQp02jpsho9OD9BujBMWVDaj7jDgbmTYx8QYTBwAbKOfsI+KfjkR0Qjqz/AJLSlOqPVBHTk9C7A2N4dT0gQR/OvYM6o0NxB3OnIOqGM4mh/JsAg0ChjOoAgomyZeH2INzzLa8E1VLDv3GzbJvLAWgxhkvgoB3jSRHMcsp+SzqOIfIaB1Z2hjGdaNdinVJ8HSDCOjBSwYgo0d/kg4PAmJULIcegCR02NRm0YnCO1gmSvk6oR0Z/xGH0VPptnyBsMeJoekCCP517BnVGhsIOx05B1QxnA0P5NgOgKAzqRCDYd+7EHbUvBh+Ay57mJomJw6YfAKNnX7lADDImWwc7/AzuiVfDIv4HsOATDevwJyj0ULTonTaGdWiHQOvwPuME6MaBvMYCU2Bhhg2Y2CguVRGH+tgsnRHVn8yz+Z5PUwy2C4mh6S3B/OsZ6UaAIO4M5B1QxnE0P45noZyDpoFAZ1IhBXZCKOSrsNkZNYFxL2+URni8jKkPg9D8HWHTYgWRC0dtY7kBD0aGfkhapixmA/B2M1lMvwY6+SHppTkWN84Lwxo6M6oB1YOkJVRnj9zomKLaZS5RkkxGhyGSouQyTFQ+9U1ldhqCEI/lYQ9TP4dkPagU9HJ6QLYE6HpLcH86zozqjUBA3Bi2Dqhg4i0fxzPQzkHQFAZ1IhBx+ClEqX7P9aMwNjmZ2XuISSxtphgDCtFMD+TB0SKszkAV4EqIpnozz2MqJsYw2FFfyNsaqIeuRVtAwPuMRDPLgovHiCvidD37xwILk9CcDgWVBKYMMmxbgM5c8CY6MHj8GXpj8kSuccAhH8nCEPWxnSn8LQp0p6oM9oC2NRwND0luD20fyLOjOqNQEDYGIDqgM4i0fxzPQxbB0BQB1BBRqoU7mBmM/U/A/wDTFm4yaX+uGM0O40E1TMg0QGUEEAo9gkIGczejD7C5FKM9DFNnpTYk+BjMZoHb8Kj/AO6iG2RqLX7hcQV2EPFQvkQtKR9xc+6drGFtfDH3EdENRGixj3RKwPB5YshPAsiErHB9xO+wxoyzImBC3ui4PQhH8fCCRD0so2UYbGylKfwrBhT6LgMNjiINwcCeChcmCGV2PMBPAkemNzYmno2TwJp6ZoTp7z0MTI5lCoh8jc2Jp6Ku4mnortcDaW2bIXI+bRgVhUj32RAc2pHcTuiFyUR3HsNRHcEj5HcoTXc1GoQNgYtiOnIgM4iE7ZD5ELA2R3CHyVEdxmnA3BNPTG0tsTpsrE7obmz33jMfIxtC4Ku4mnpjaWxOkdxO6HbKFyEdx2sCIqxlVh1Ytg6AoYzoxNBa7E1NgZD44CG9/nz+CnpP1BXMMxVB/bHcao4RcMiNbQ/sI08gBZBQIQIo1O1lk6yPOHtCEk0LgzPalSxmxstpiZqwbpZQsyCTfIbTZOCi1TQ1wTDnIs9uEFOR1ZATNQ7369FmKPiE/Q3lt/MT1PlMEo0OBVlQbTNE2oRGR7Qkis6B0TF6MlcFkfLH2mR6BRhNlWTJhaLwnjArGmC5jHgaM0bOTg1KxjEnDJF3RJoqRh8AkfgR7V0HoarJUFQVDxYOBNMEJ5Gz2oFIJhCBUmiCSZIJIwJl1G4bKu4CwVjGAwwwyQhSlPQ0BOsoNhR6GwVBRihT37kbhcHT9g3yE8lhRaNHregC2OAugPQdKBR8goK3I3VJxXC0sjmejiOeBAJYUXsEUlD3npmjCLUQp1DU3o5hrwKhDUYLYebrbN3DCcqnOOiHZmB0j7HanvaIWgCdjBBhYunOOmw2PgF5weOLSmgq5aEqiZaNQA9VBsDFsR0QgM4CNoYEK+R1qZ90zJRSVD0xs/sRIx7RFw/sZ1MUSSGuD3toekdKMKGPaMmH9jOomIPjttluQuDtNeaNM+TEYYfRi2DoChjOmg1FsLQqMheQWDtm2bTxnBjFUYecJ5Xc+dW7IQf78KLuD7iDqxEztkSvMIToISyEaCiDgogozfkZZ4Zlk0CZGBmG6ICzsxpGykM6PrIKXHaQVxX8hJqY3BDmiEt19hIuwd/ZGSsRJv8A6MzsdtutiRCCvkFJcJJCmZwngiCRRi1kpuA0n5i1ZIP9yobI1DArfkLPkGafg4M6u5BXLgbUfIslTuPZ2I8SpJYvAyu9HA07HMJBvAnAQYSVgakmuL+MjVZUThrwJd2IR1Z6EB0DpRH9jRDlUZ45KqN86I0ZkCWE4SOAgBCEEhCFQzwQawLg3QKJlDbOiNGShNQHll05wxdqcs0V0YFDozGWWWSQpRHo4nBsyhg2jHOzlmmS2LTPlDHfIxjhw2GoORIjap70yNYOEQL4D7AwXwevkGQAtxwLT2itwyAZhlhIoviDeEsjqmsjUm0TdWUMdNQRpw2z4FrQWJT347GUKkG0Pgc5CLqyhimoCKgI7fAk/Coo6/J2uhOm7sTUVrJDG5LB78HkqYhE7tjkdGFhhqlMpjhoYm7stxyO4hIzY12QwlbShqRpqAbAzYR0QgM4i0KAeuQwEuBG5JGbGu28i4l2GsLQ7TgQkqR1bRHuQ7IoK1aMp8FMEJYR7zVUFrlHAJrfA5qyOGUOyKG5hwCa+YmJL7ijcMdqOhvhyNaeBZDKy4OrFsHQFDGdLZQ2kFk7ixCPPBmN1RxDGNi9HHgTeaXAugXusglceAM0Hlk+6EqR3Jk4ePkhNRdwDBQR0uCjQrngzXc5yZH7ine9xaVyKs9Co4wyZ5u9xpmqqJOXWJE/ISdDx2IoSDC1H4FueQWOGRtoKfIDYu8MSEu4ikOliO4MglgSmRmxIssoxtoqL4IQTRGfAOFAqvJuupmIkiQ0Q5WyfmGVEbLsTJpFxL+UWWhBpp4Gl70wvUKMy7CE1hC2x5ruKcekY8nmSX4YoWo4v6BCPYpR3aKYhNBJgCMIJImsG+A22FOBqsaGupDIwDgwjBkhD00RRZIKlkdOyhVqxpyy3DJjIk3UhmoJUMjCWhCOunY6EyYQnI1jDDDDAQcTKI9CVHgYk2YiWR5KkjGAk4yUZ1DMQy+BrKCJNo96jw6VvhjJg+hZrA2NZqj0rZINxH1qln3PrkiEwHpYjUYQdjpsI6IQOTiI9TtH2PrxetnoYtiOgKGM6jo7RbgsQggoIr4MADsc/dsdxTMf+Nj68irj/SRpj+456I0MXIav2KmFluJHlRBWDVau44VYmCWQUQwoshuxh5Fa4Pssk9CiDGFeAWxuwkCvBzzadyQ2vDmGIIExOcHZkzA+mxUvTMS2wWZIhNEZdUgzQtU4H8jWKYZIf3GhYCaZao2qx6MiCYDSJhG2+CrrskjJ6JH/AIEsIEI9LGxo5PMeQ8wCRQAdAhD0Up1cDATLgoCwyQketQ2+569TcGxsbGylHExCEey1VBYR/Cw0evSBsE0PSthbiP50dGdUaDCDsDFsWjohA5Cj+TYtgGAIDOqPg8lBHcxqCkOGsHZNiKQ2Lm3fEfgzB3lT/wCx1JuWr/D/ALGCG4chtcN9hC0pmXZsTZRx0v8AY+fCpy4/yYxtrdX39hYmu7JkYoQJwQGMYWFqyWQkrsX8hq4AYYagq3g7Y5GxZKPwZph0FkkFgCYOsaH8KGUtJUgj4Axj2xkXEGrQ1+D4VhiUeGTVg+AxMFhweB5AwD0NAsjHEb4mVmraNPD4Zf2BCEdWEQk2MsMa9xJmBflsbw35EaP3eH7P7g1+kMp3ZG2eBHiR8Y+6MYxhN8R3AnbqNMgNBRShwAYbBhguKeqlPY0CNjY2NlKBCEIR9ZT2PselHRHsM0hbmoAhHRbQQH86PUgBBezotiOiEDgD+PZ6BsAYABnUEfAlw/Iw17jhO6CuRpNusB+b8C3VXhlGc7GWK4991yHIy5dP/KCd5+C/VC9UT0m2Sfgi/wDDAy7jiLiGOTGjDpVMTdxmsNEANgyghoaBHA7bHvgXNkvAWvhfcSDXyU1WRVPwZCQoQG86MgzQjfAkZaBZoPPdxkAyHPF/BuG0Qadpz1FNvgb5GiBuEjJUNg2RTaNoPwNQP2CZG4EMYKOBYBWDcnchOiEdWSCldcHwUgiNJF3Y3eWyu/KX4EI0TwVjFBDXuNUMbANFFCZCsI0DHKjGdqGjGdNCVEGiMQCdKNDMoEewxcFAxjZRDAEIQj+WYItxcBQR1WgGwj+dHqRoBBewZsI6LYBaB/j2egADAAM6s6AQGwWnyj9bMAkbV+X+QiP27/IbnT4QmNjTmpQS4XwbE5PILPdwb4FnMjpQz+9K20tozbE7EEVooACRCcEGlfItTb4dscSeN/kRN58IzOzwCcQ2W2xqAg0gehiBRfImfkEJxksOhlhYVxXP9xBB2uTxQKnQkX4HHIVT7Ew0S+AgtQ0vsPDMkcFeEJys2ygaoeoJpnBWKxC91JdNZAjoxkHKyOCabLi2sfJbsymxagtv9r3ZShYG2YNEIdI2BoR0TBQiMX/qMtQaDRDXhGRaMAwzY6Ixi2D2GJgYwMZ0IQhCPrmM9EPUjqz1sMWwhU6NFyeER3NjQ2Efzo6M6oAQXsGLYtHQAWoEfxzPQABgAxnVnQH0tGR8iRB5NmL5KM+Gy9pt3xsnzkXIcRWUoyCCQipMd0FcsfS4u5f0NrNt+2+TlYTYhrs7hnvuhirJIghoxbkdLsCW5ZM7T+mQbVcPgd5FL4zmYjtP5HLeoxpBgv4xu43htEFTEtxkpXdEwcXc2eDRswQWEAjUeY8U2h26nGx8dFBCEdGNjZj1d9itmSSuiSFxRP8ADsU6kQhDqjoxHo5OiYnWhDGaGq5CJKCsTGQgIBA9lcBMDB0cYQhCP4pBybPZBtTcQKFgNeunKL+WFHgzeF5MYD8sVfhgm8nlR4B5TyHkJ7kEFKdaU/jR6kaAQWDNhHRbALQCP5MBAwAHoZ0BR7UF4ElVdS48j5NuF+yoag82PyTIcBCAtyDl/FLSPjIJpC7QiFwLcn54If3bQGg5yY7DPAkITBNj5Hk36Y5CJrfGBvyRZaUj5octhjIcswLMQQdIvRFgtGYgskShNYFh5OULLZcGkNjkexhqpCZ0FTqktjNG9zIIR0YzaOGM+opNTL0iKWW939noY9dPeQ4qFoQIQ9AQfZ1DYxg6AIQhH1bPXD1wNAj1gRbi0geMC9EXYZ7Gvhn6dnEv/bNN+Y1/3TjL+Rz32BfbBEDnH2HEBxH9jfK+Rw58mr/IasGm/OJ3+4T+AmcoXfPMeQnuR3Kin8GPUgciCwYEdFsBpD/KAIGAAMmQZABR1h64aAdYLA8FCm/sPJ3JMiAgEMZPbkyt8StsQ8OTED7CGZP2iiJJdgf2MJeBj4ZkYCATUQi7mJMPAtm40xyPO+fcVi6INxEkHh7RC0yJM7YHVg3AyOBFcEHkWoKNW6KIB5b7GcAFyMwRwAWxbY9iOC5GO26USQCEdGMzAGnhcIYI4OVd7+BbMREjq2dWdWdIEPcbF5PVAKrsSuQHsJgSFjGBlCEBHVH07Pd4PVT1s1BbhAbD9o9dPVCECEBK0j7miQ0QtT947n+UckfY31COz9xT/ad385xyObSfYa5L7HHXyaj8xpPzmm/OaAk7geZHlR5RM5KfTD1IK2ILBh6gGkP8cz0gIGB7AehnQFHtz82RMlEv2XM7a2/9FdYGLI+A8EwElyyLaa/sfYd3n7YSSyEkt/5pCQ88sCAwL8hdwMxTCdtfsKeC2P5GWM3Gf2FgWuRal5UZI4I2YiOCXyMHC0ksGcSN9zdGhbQiC1tjfYQt1L9HJwkwhnlmzGGwaOAg5Ef4HIW08OqEoCEdGM6ipm4Zz+FwJkqElfqD0M9TPeR1/fOlKUkUGUNqVGqbbHpk9grkYGMYOAIQj+I4Pah1ZoNTcd2AA3uUKUrKUpSlEynqhAhDIkcvyaT8wtQwhyn8HDX9jdoNkg4f+Gh3S+xtmp7U+WP8sGvFpG/YaRn3EzgeQ8hPcgqKeqjHqQVsQejAtHTYGaw/xzPSAgYHsB6GdAUe2uL7oQySvCZwIXcYhKNQbrxsxh+NwMt67dHmNdDFOOWOcHcTwosAgk5BISJjA3a4ExpO/YfDzjYXp8jxWVModJkX2+WQceMa9MQ1nbwKdLQnzMbY2MRPaMTBDX5BK/PYd4tsKSNid5Yw8mRwcDBDZEsmCFtTX2johAxkx9xXKQutciJmevgSmFpHuspRMp7jfnKAnLMinyI2NYSqIS4PZ0FAMYwACEI+uZ6KemntPQcDNBqFusEL98R9PSlKFKUpSlKUoU64OlKdExaja+5oh8MaNZ0f5jmD5SOe/kbBfYFNn7s/w0F/iQTNrOQn7De1/cf7AiAE0NN+UT1/lK/7hO4ngEd0J7i3IrCIpm57O+FDZV3ADFxD/HM9LAgYHsB6GdAUe3p+DcF5bMvybA9oqtChey3PISugMAthCy18ITQiQEhBIw4EBCRoi2RHDh7Hy0+TLjsZHjY7wMUqvLjHTwuA+AkZgQx96IuMIIpAaG6FCmCQ8DNf4Im64NFor4P2GLIsQg4R6FpgoZ26BAhAxk7QssyK/VoqJTwoQJlx8HpYMpT0MIKu5PckjuUpSnqT8pBoOMNgbQkoBh9liYGAMYgEBAj6WnSH1r4NRqYpl/mMkA/uH8VSnopSlKUpSlPTSlKda7vyLWX9xf70JQ60N6dGEuabcQoTU2IETXIMn8RduQaolwMgp/GM9LAgYHsB6GdEBHtvG32Q5q14KYeB5VYVWd7iK1FhtnCjIN/cK1On+WCkjYCjEJQCEHAh7X5GA7/obaLLGy0JoZ1VfBVNZKVa7vBmiqGO0cbJXo1ERjyxFsNkTyKSbFbodSgzVtFjJzCLXgx7EzndgNWxaOQQwDYm2P7NpDohHRp/FfIq5sykqbSLsIexI9bIdWNm4Y2lHajWlG2EgQHZHYBqlFaFKekhsDZHvJEg6MayH2lAYGMAUBH0bPUz2cHsoKet8Gs1GjlHNQP9w+jp9RSlKUpSnSlKUpSnShQp0p7sOlfc8h5wnN4KY/kBDbTlPH+gDk/lOAxrcDkq+QBp+vyhD/7ZpPziaS7A8qPIeY8gUEkFRT6VnpYEDGcgPQzogI9t/wAB++eTIoryXZLj5LLrasQUdjymJIaJO5nF+ViKRDaRgzNxCQUIYE0JjSG4oJcxGDXA0G0VCW+E9CvFyNcMMxd5nyJ1Gy6hWMWuixgR+DYxbRg0XRZMmJs/IG3t+AlaYvLF23Au0jMPB6WsjcEEO2cT5OiOuuD1XcRQ3jURcVH7D2GdWxnfE0uxg0v/AFdjbbr2Jlyz/JI/yUhmimUEg5Y9deRUigQUGBJCATB6GAI9lahchgYwJAQgR9Az6H7nVHvPaNJqNCyf5NA/pP3D3EQWxoSb0jqkM+lp7lKUpShSlKUpShSn0dEylKUKFK7sS9fnEnQFrfmEsVyokEoEjvEto/uLk/YbyxxCM7SfYTu37DPE4D+WbR/cTuB5TzHkJ7kdyCnrqGz0sCBjOQHoYhtCQZCaKilKiopUVFRUVHNnQsKVrHcRHrt8/wC3+huw42tiXHT38ihtmo7ydhMwwOBJlnd2cgCd4yHfJO4oncQgSELYJRuinWC79jMXLRJdTc3A+7bGaAmOl8hHcaGLQVyZCVghIkmuQlBIShpkgIZlB2LTwXwQWvecFWSbGDIdNIAWU8E0N7SvhidyCEdKPU3+SIFv/TLAsp7DBjGUwtPB/wBx3dzmx6WJ7DFaO4olWR4EZAgmSZNlEm3Y5qGsY0KxccHoYSj2dRYWMYwBAR9LT378BTogR7HJ0uAyS0Q0bPgyAk6F+we7GkyDdkFRpfc0Qhra07NMwjd4j5RXKg5D0n3JLdFJrQyxC7F5n7Dl2JawaslsTVUTiPTKQpdxIZ/8w9WamLncJiTNoJ2qNtjIM2CQRpyZPgNhQIFKUKUKdKFKGwWxdUBGnAEm8FkBKxaEmGyRtINkFseHAp1pSlKUpSlOBzEm9FwSo00UNkBMxxsRrsD0iOOv7xbRtMfcnyjlEI7T/YR2w5H2B/oA4ROUv7DG0BM7fljiX9hP4mg/KJ3+8an9obX+YfbD8nil+AEwrTzlFsWhnMFLjRsSCqjNIAFYG4AhBab8w08DwDwjxjxg4vhS+EcrQIQn5U5dz5Y1GSLNwXwOn7Ew6eh0lVyhtYIcBEa7OWTV4fY5FcFwDtCCCYORMQmZOjgMv8BrYviDleXPuVdYj8kEbRyCWtyhi8Sgx/AlFgzWTuAIk0CIaD8iPk+wIwnbpgyKWLyM18swgov3jJaVeOTuZkeinRkiWseBra1IVvknMaklFW5GZXRrLWZ5sPByUEzkqYLJ6GMo8Cf0N1sh6ErFjDm8k38JYZWQbJ5RsAYGmcT8odyEE+fYSjgiYOkE0xuA2UYlEUewTyRYwABTAlNCAuYe+9B6FogBQPQULTktPSj2/lBBBiMCNwG8BIqNjuaE2uBv0P2j2wiEIzFk5zexlNuQSYWA+MoxpibNqL5QMSa+DQyFGWEJJkQceLvY0kaKxO5FBNEy22MD6ZCfDgFwuAahmKqo0IkW8BJxIJbD7HKB90fIFbNyKNLyhMnNjRAsS3fgXkZCPVoo8YZU0xDIbGgzeTII01NA+UPmgw94C2aRy8VmXDaZSdMTfyCk28ojI5RCTT0TJ4B6mwbHdH2WlKUoUpQpSnXgNscnyyKaeiYyDeB9gUzCp/Bpg4NDSZoxbKo2Uo3woUp6KUp6Adu2JyV9xRf2yaf3iXOGKjNMbMt8oa0s5+B1wEow/sNiPASlDzUISwhtJEJtNxCrWTYCWaKfJ0pSnoOgsTVkSXDPBuvCwkRS0+xD6GrFvAzQmw+RQ6cEHdZXcjKNeRPL8kKWWL7jEtGIF8hMWxHRhcGVGa8DImuRRj4hLaZuV5Q22plo2BMCv5xFvAz7N/g3rJg8Dwyi+iBFYOVRByFWzfwIM1ymO2ycvk8hSpTev2Ws7xLpsdxrihLuJ2z5I24IOIp0gQ0TwZTr8ijkpzRrYL5uZX8kGunejKCnJKYFEkktAp2hKyIbnBZ3B5BgzCtPg7jbat1stnJ6EiLLCa1DQLjsSyixZnfkY9+QMWiyYFUYd9n3HaxXTgII5yeYGWeCGLFg3bUGOBiAsEidPYIqWM8kNDVBqfCiYF5D0IhWkoV3yKtZPeB6OQsDg+UPSGkA9H2gFL2JWSMb8FOuwp6NmfAfIjPgWDJx5DM/JfvIa2KTPBTNDAfL4P2j27Dgh2GjBy7Ca8IvghPl5MaZHc7HbMTyzND5MmEvIxiWmYYpj7ASyIcPhJF47Rdiio2JtcldtdMR+WNjrelrmjPLZDfGhHE78mvIZEg5mYCqjEbORm0TxcHXNYaKFqQps4SMx5NyT7AOydYMwuCuYvcbNGRuaMVbpRR0pQe+zQjhaLYN10bujuij1mKOFe41VsTpvyKNJEMSoeMShwChQo6U9dPRSlFhGqOlEohQmu4JT5RpEoYIPCJQJrGkx2oeSTN6OnRkos5KUpSlKUpSlKULDzyG2xgeB6IeSMwCeSTHbo6DapEUCxRE6fihYwIUNsYAexSlKP8AJErSiFoxbPCFIPf+eaCdxSeqYqjQHqhclyjWoEpfkU2mqidxSZqhkmkl2NLsPVo7AlkSFhHRCE7s4GWc7JrMTCMh8P388j5m/wCg6m9Q96r5MjTvJCMtODTBX/RJnRwiZGoXwOwPspbhfAvIRtlfYwRRTrJSoN7YIWF+RY0NtsgI1GMR2Eo8VhRz3TQJsngSBfhCMKIt3B0TAZ8EI3sDQJMGSDH6RNY6bbwuyCHWD2MYnlklS8idJN4wsiVXH3BeU5nmxlq/j+l/7OLg9S4hWcG5CLysp9ieuIjwxNtjkMrGCQcGIDFUsgR6mNGmRyxrIHR7GNkqComBLTBwIehaJse/QgmIJYNCeA1EjyExERkbGnwR8w5ORip9A4xHT+41moJcBG74P3j3G2s0RY/EW5vsILXAeHWfcwVilBovCf2MqtEwxJgVldyu55gissJJggkkgFQmYYmWmx8jE4XyJSw4zrEVTIhusaAANllFEZGZP5ahTpSlKUpSlKUpSnSlCnqW/KJPhOrCD3IDrRzAlrEkmPhyMXDtMaqpociTcSynfLT/AELJs/8AE5NMszNYthFIaBsFQ5RlYG8eUc03Kp8CaK04tjOb7EvYeBiU5WRRSyHgneI4H5cDVbPAplCCmx3YqXcaSoJhkJAjEhQ+TkG7G7bNg7hCkm9O75ISry2NoMZisoTQMPCMMr8hcjHqpaLeAqSTRqEEux7vDGu2RAtRK1oyfZOqHpYKW5fgelCpiMBOFbHd+AhAQu/x8AoiAtG2mT29/J/1I6DRMqEqjEjBawmmcMbkQwAsB5LNhCB7S4GBjDY0AEfUtJ7PpadadEH7RrNTYDUP0DYe2ilBQGgQoKU9MIQhCEIQh1yUrKyiiyygAASSGSCClRQwYMEXYgggkJJssoooye1T+CoUpT6D9QJ+I6MYQ+93MMama5zuQl+zRr3B5o86GSbkMS5Vf+hpYjmP/NfgaHGI09pjKgq5OUjuCDyQJQRTQyGmuQJbLpseljatJwvhMU84YkjlQxHIjRDL5TQhusg/7AXgXwIIsBXLSzrIyriAoOQYCJGbRobI00WB8DqaUEwXwNEQ6YlLRuKsnsfJ3ITnAfIBw7+DOmjNAgWxTK1P/v5HSxK3v/Q8mjqPSgLPaaDBwdUZAkIMwPQYykwOjQxsTVT2htu2yj914E+wuZwI0ZIUrWFRb5Q2GWMIhERHtqNhgYbgAR/DplCnXg9ii/cajUfIcfAmP+I3H0iGeqlLgpQClKUQUpT0Q9MIQh6slZRRRZZYSCSSYBBSooYMERF2IJJCCbLLKKKI+xH2Iz+Ly+ML+A9Aafk92iXI0sf95/QoY7V+ax3Yx6dt3W8hKkTIxyoZa7eCZU8hbgu3aH5OIIf8xVJESRs0dUGxlGLyO4CR+RkSpgFUKeD7CrgcGNp7CWpb7ClYTMOOC3x+UjcUXkccwlzl8PSFIklfLOVHCKCpgsjUFsncfgKbGVjpENTsfhCV4MypjGaPENa/IHlVRnNtndMw8FZuVDJe4hB3QOPXPKWHz4EA9DGeThlf5NhDqmSKIBLSQrJR/B6G0ShpGnGnwLenL8n/AEWCjG4JVkYNotzCJNMhCA0IFRT20wbMYGG4AEI/hKeqntr9hqNTFEpggf8AEbT6RDPY4PYR6qUKUpQUpSlKUp7aVGFS46Q9dZWUUUWIs+ZQbFV8EYuSHdqGUTruJe5m/X8RbFmRM/y+wh/JRjxtP4FdzBz7orUmxLlphLpF934IiCHggkEhJoFFEZH2I+xk9dPeEJ0YwdHye78yhnfjlmBDwv0IV2e63I12KRP/AMyMJVQrz/sWhRgzQYtyb+OxbqeEh2TzK1yiZFWmvkY4ziIjuNhTyI2fIkQZaZJp3yMmb5hGy8ifmtIVNvI+7wWIrSO82mSkP7PBdDHMhsT8FucfIl5Drk/hYG/YFbwA6XeS2wsLiEyge6xhMg8kPIDyXpqjSRobEYBZ8Y8lzAg8ifENB51JDJnfgJC6NH+Q20nT8n/2hIQgPSAxhZ6ZOqwChI8YJ5Z6ABtKEpEo20xVQ2vm9xRAVxRK8jWIp3uBtIajLYbYAsGIR7KBCxgNggIR9DT6bR6qehM6J/kNIWQXBrBBvwm89tHsJZGjpCHo4PYR7C0fQIZ1pSgmZpSlKUomFOlPQiejqeDNh6VZFNewgayrRTa2JlaMJTbCW+5eiQ+DNI6KbtPY2LQmPuPTCU8QocGObTNbHCVcCbn8D40oMKags5wcalPEFOs27Dk+uBjEpki/+UZdATsSbREREQkZ8S3wEFIexmDSdGM2mv5PdhmlkVTfAt412IQ+xDcJc+45FW6nykMWXJ4d0IuUhnwJVGZU040+RXPgrrzx8iJq+HluxNVOHwfBHBIiFh0FyUQzo3bj7jcJnsYjXC38j2VEY1jNOXGiJb+4pzgwZCWTKIJQ1nw40O528tlARXtYolwfHIXkfPAQ5xNjpZ70uyNRbG6IdaPJpgT/APoxoaZgNJrJ4tFcZM9lcF92NEaeXLYkrrPcbBhDAXU2NJ0w+Qf+t3EZZpP2TqfQxmIPNPQjcwHqxycaCyehoIgwhGBaNDzo2NYPQwWnJWlBtJTkpsBSAgxHtaCwsDB8hAR/MaXk1BOQehscNh9BSlKJlKUpSlKHB7COkCHSCRD18HrQzrh0zFf1j3BfJqDbI9SOtOlEylKUoKCgoA2yGwCCIdulDCicGWZsWa1IGGaEZUcxFh8HagaYdLDuCU5JhSoprgLQyFnxUG64YkZRbsNiaC0ZBVRJHAAGrHoZ9pNscsAWPYA1nRjBfHyPdv8AcQoGVIx72+WNNkBWqOMY5u/kfIh23z9/csmaafZGaOJlT2h3SciYh7JYKVpPsCG+eRL7jQxAsho4NMkcKoTHpqs2JdtMdPRdEt9y43mFSb7Bj18PgWjOUgXShrP6CZYZrW2SAn+R1S6df4My022zl4foUmyf5EFHPsaGyCDDGN4CmjgQcGxoOjQd1YhT/wCjPhPuPzWMLI1FruN0YnK4GdMvmGYr/wCxoN9gCA9WDIg8EOqNvuLkRUtZDPU2MsWNCRfAX2+BjF+jhjkNC0MxQVZuMkOtKMEezqKGAM2HwAfxKOtPXTqLQA4AYxB9IhnvUpSlKUpSlKXBSnvIZ0TGiCcXkRClKk/A4EY3HqR60fQUoUtPGRiobsbClKUh1ECIFcUjKmJs04WCc3jmLZjZopCjqwdyQhGnJnlRij0WKBnWnpSo8ms6MBfI93Zr7jM6XRU35X3IhqnZwKC8JJjjIjN+f6XgdWwMCrO4jhAhicA2DsxsDKQgKkBRkbQ8KTykUMwsURU7RFs9XRnh4bM5GCr5Ha2JrFyh2lo9TdGJlyk/gtj4CM+U8Cn5o7aDaOHC0NbXfHr7A0k/C0F6RlHs6MGxweB6HsbrwbEQ2WBOj3OTR5DcHmibwJnME8jmLafHxN5WgWp8jQ3A/YzQfph1PpZyJXGNO2DpQSMgJgwHxD1UeR0woKSBhOKX6A9buBacnYTQ2U9DEI9nQQYgxgICEI/hKdKe5Q/fNALEmPY5h9Ihn8EgpSlKUomNlKUYK+CENjYP9AsxSnoR60M9SPdVuCm2Yx6pF6KCNhgeIB8hmWxzIPngaJO5VkNPgsRiEwAZ7GXzGo6PQw9x7qyDnOrBuFUQy15j5Y6SprCXGhqm47xr/wAsdhNcD9cPA1X03EKQQIFNsG1IKstkYCxdawPY5WmZk5k/AMouQXfYy7gza/6G3Kr+Ohpa/Bcmkl/DRomDmoVLEmYG3ww4/wArIqlSfsyGr8DG0KrKKSDOjAPQ3BB6NmWDRhnfkjb7F/8ApPGUXuJ07RZdugcr/wCVBw/g/XAeRge46j1Wu5QY1WwKEBBb7CUlnmHsJlJKJSPEPlGd+s+7piwyxOxYtJkIQ6BMTPZYuBgYxAAR/Eo9SPWMhLUGxh5PpEM/gkewhnpPQf1D5nooJhSlKUomUpQpSlPWqjYxN8EHRDRiAZ6XwE8DCm4zM2Rc2JOC5M+JNmQqkKZL8iluBAswBkUD7GQajowP949unSNiNd3BceF8n/ijnvM/+BXhXfPcwMkQPFMtsLOVWofm3+oiWnAkLREEj5IGBNcliq+GfNjJ9mVyBDxxsc+RuVy0ssx/YYINr8vBsGcBpwmRWi/0MyKLl1iuW+EZttPshLVxCp82RjlAiLSw7AZDGHyMGyKZYx4GXORjGvwQUKbEKDiAH41ILY3I1Cyxuo9eNomD0UczshQ2D16m+HdBskQ7FD5N/o2NUhKHx9w6wFkYRC5GiBeyuGMDGIICEfw3J6keyfUC4Bj2MHJ7Y6wgQgkNH0PB9ShnpMkcj6ketDPeT6CU7Rux0RiBorGMZ6VtGg9nTcYeBqKeaQ1kgnVj08nD5FeAVyMgBDZ7CU9Z00AHMZ7rAL8XDFYguY1Nz7jps2iEp00h6KJjBp2MeA1Yx6EEgJEIGfdMyd+MFNe6FHfZH38G/Q+R5HhmRlYK/kyQqJ7TO+F3RbXIm2kOfCi2jXKkqttcsUh4OBvCwawuBy1krhNdz4Q2Rqlo5GB0ZyAkaHyhs2GiGESumi0aEZELIjK/a+Qz5LufA0yKZcDqVo9LJ2y8fwdPsQwZl8aGE1V5PXKDYsNkZiGgRNG0eChvLTzw/UEnZsDwMKg/CWQ3DCHYIHUf2HOUcKvYD7OhgxgYhgFCPoofVI9keo3jf7BPRsMHJ7aZSlKUpSiY2UpSnoZ78PZQz1oZ6QB4CG5iz0oZ6kM+jQ2yMhjPTyB13GDYfBIJTjWzSYVKoPX5GWngdIss5OcGBYexn8ZpOjjY4sgGe6gVtJEhYG0rHcviK4HXkNDXgSuCuTGcnRMMgwQlCGQU/kqZdT4Gp/QhKy0jL+IYAb8ih/rhjmbKZt2NIj3W0+RrPFHtp+R3y/BfDyHlJ9iPAOqYpiz2HZD4b2MSfoL2ryUHNFIPJkGdwxmkGoMGUmAHJoJ9wYbHzJrRhgcNYGZDtZcDqw+CsuG4J1HRowehjFIEk2NDp+T5GQGL/JJ+Ez2JRIXQwJgXBwv8rD/wFINjkNuNFApvzJUZC72SmPDHvnQ/ltn6N5PYTAmQGMQAUfX/AGPcp0R7AS3jOo9BbZye2j2EM96lClKFKUpShShToj2EM9IUKJ5jOaQ0qEKGyOiGepDPo0IbJkDGeoHs6bsYUoWLYD6mtGGOIOLfcRKrgysFge+AYAexl8BrBjCUKQpshCEIyEMkCECRVV/oX0eEWmbGnJsQODCyBdP2OghCEMLY+6YlFHHjDc6GO7ySvYpx4E2TlNBQgzJSjGJlVw9jyn+KC3feclIolx3DSam+w+2IMlZOPKJQkvd9iDDOjJZ+wZMKN4LgDeCicjGGMxGbKJsbNmb4E64ss02XwozX6/8Akaj+W5HXaOVhRrMkrwhyfhmdNodR6WHaE/BnRC3sd1cYE40ZfLB6m4KzpKI3Bw7mUfCf7h5kVGJSIMMtd7YpKE7RH4Q6Y6u7/IzrO9WLLq35fFCilWk7+ThM7b5R7Gpg4GMRsAoEe8z3Wewz0I9Gj1BImNB6OQ+znJ6U2CVPQ2STemI9hDPXo+x6qmGA4BZcQ008nuoZ0XgMopRMpQfBlKco5JpwTXCLkSnFhA6XVMGegKyjhAhs9CGJnogQGy2IcEID4FdkgQzTwJuQPgPCzageQvAU7Ajp0LD2sh4CaiGNtxLgU7gLHoQGt3kvkezAPYSkAMwsHRbWAgKnENTBCBcswccWj8wvtAg8+2fhYPP79DFhsCjomCLMbBmxwCAgclJFnucgHZjsKhVuDYr/ACJt0cBP4KOPDHEXfY3rF7i1g8cCf7Dgi+RLHkXge9ryTyrFG+NGQuS4YhSuvJ9h6FRcFEDQ0PsM+wwDyh+Bi9ijCi7l5G0ZeFGKb+U6zfx8xEE8olkZZYzueQbE84haQU4eTQy55wOpI9DDhlY+RF7T4xuKNkK7lOInRog51ohryqelcCwFo6JUFTqJIq4vnItx4iAFIt8CaQ1i3z4Qypg9Yl5I6zgc8r7GsKn/AGVrF+SuBonh9jDRs9GgIYxbCAgR7zPpnsquwq7iNnpR6RBtNnQ4N2MWCIsa0rzmYV7VkEjxPgJGT7F7ykkNWm7QzBxCFkEJtxdzCHULBFhHqQz1bH9Ye07ol1SElOJCdgjVUTI0VD0EkThTG5TIWIMgoS3sXgY8ZUfY9tDOm7A7TaEfNTI4DHyiU41RSl5EwlHFmNYJJgJaENINIwHgu4veCbJBN4HSmbFiFqM5RkgrZyEJXjYYwpyMkbJeqZqEqrcRnlqNEq0IZTqIcrgmthHYRVkIhIyW0EcwnIFpT1yYABPuwSDotLZk0OTC3HatNpqYqcRhGnUJFlIRVTqHwM2KNyRidhFR3MSMWMzoFYx7G54GCDUYIvqcA9hkO4mAPYtiestXsZZpJIa8AxM6cRELm0LkwOWWEqmnc4ceTYTjOSPmlnzSHmJky0hITyUexL+BQZxNT3sXItAvJDfyFVZyjMeNDOPUZM4xVmsFeaxGsXYypeNCVKvBGbnJduw3JhTF+hfN4ahBh7xke0glaSXm0fZZeEQuDhdkbluf4Fl54QwJ/oWgMmw+RsNEq3sWKrKHyYhOzEsD0ZqjsNLLdjSsnALCH4H8GDQ7IdAmAIMiY6BN84BXdgM6NGNUMPQsIZuKBuC0hMSLlCNIfYubqSRkzW4bq4wmVOoq7EJya8l8DwhOo6vgR0OjIOiYXrSsM2M85Ptj/A2CHI36kkEMc1rIXkSsvKaeV8NGbw2z9D2fSb1eCxa2B3V8kkFqfjJ8B0VKE6hw0jpoGxjEEgdeJwbMNB+JcUNqE4gt4oQzBOnv8mhYgs8JBvDQhGTjR7OoLcJDU4OZlj3LTu+SF7CckRBiTjR+oPLInA6agn5SN4pqAdvyVJTe5QU3uQhCEIJDIQ9CMifAlDD/ANRzEHNqQVsEytDBwbGfFKuDMxt+RojauBbcEaQe0hnTcNrIYpDdfAXtGZhXWDU5MMTiiyPFGuAZFIdVTMQechvciG/IETIE3N4HUNQTBsiD0lhx+SLkOYoQDTQjLhGVUn1DhKhKEwALgwNNlXk2qwQq3gTjLoJVNJCLAgxtA+Z1uSY3X4Kh/YAYodIRSMC4R3DidhBokGdwMnGUxwoFd0L/AMRZMQwD2CHwEymodApVh2JezFbFBabUEtDVGFPMHzgbIqQvEaGfkUhUowPJKJiYkapoRobT/BrKKTrg4L7levuH9e+4uLfcU2Pkzmw5P2EJCR8hERoL4F4HG1XwWcO8ltSKfIqR4RG4ZIwG1C/OhJXcQLtM2kLeiVIc8JGNDL5HDVESwa84PgcOs6fZGbVVb/RlvX9iXyl3fuKLAIQmNkanBgqEwj/IaLYImTXIufBj3BEldzEA4it6gxSP2xfYyGyM+xhoPRtgRGBfIx03G4MnuQMWvYWgeEp00yyGHoA4Mj4HhVbAmix1+3gYWVOBlgJ7lqzA0MCjT42Oy2hPsOugGh1ohvxDlYsRx+3P8jQDLeBl+BC0F5w0n+QbXky2ofvRgTyLkx8ST2RiSxhmnp7MrLVFr4BrQarOxE2AYsDGxBJCOnATwbMK2zK0XI0FyDTiGIM8oeWgtcBXg+T3rkY9IgM9yGe58HRHp0ddAQJ6mo9GrEmyMotjquRsyZPjFLJmOUa1DHDNuTUs2rwN2iekO/EKHUx062fM+YKDY0bhX2K7FdiuxXYj7GKRvBMuwxmhpTakaso2pXgEhSjESYlclbMjddYzesTaUTwyEIQhCEIQgkM6a0fCVt1jNhs0lwhLW6URsMZWCn3D5gfcG5cjmw+EuGNLQcDTN5L3Aa9EA2IlSUFyGowddARDGaMbufwPaobLNg2MZi3gM4oqjHaDUpgDFNh23ngpxwJtaOqIGBgIWtVG0Qxj1oYpTpirjyYrR3ngUlO4/RlmWTlDdmLEcBx8sX7Fu0ZoBYVyUlKDIz2KXgXAQI2MOzAHpbxeBjlDu1iGgodqmbbkq8ih1MNqjZUrRjuBR5fIqrn8jXrxvs6ODaZUzUXN2DV8GUL7Dy7DHgZzPkwknkZJHPImbZ7IveBSwxVlMy1ljL2PkZJciWL7jJFw/sd3fP5GwT13MFMnUszuY/3PA7y2JrcI3tvyiHL+6GZu3kQGXzEUrfngaWHrHoZZOcb2KRttpCSdBc/AKhRYFL2KWKNm9jdsmk4KXI6dbEswzJlGn78IW/gIn+yM6RwuDPbNCGh/I3IJMZB4EPDIavKI2qW2dk6tGRIfMmITBpD5kKHzOSDbszHKnPCdxNuUN0HNOMDbaXgYnOBaKzMCUUOuhDodXkXTA7A/qZ/gDEx8RuGNZPwIUWWzC2x8CM19xO5k4mVthiMGxPacMiQSiggdOnTUTA2BsTCCEdGqfISiEoLI+Y0gyVpIjSHzND5jWaNUEoe+6ClGqj6HQER1NDaMPcifAgggggkjud0Ne5HcnuR3KUoLYzrgiIuxEQNYSSSSSEIMlrbFhZZZQnGxipXYj7EZGdEhnRMHjPYLeBCVJEUQ0HpAXuJxBsqlIiqE00LYeSGhlApAhnXUF0maZyZpCFoRUYN8Bu4Wmj0oSomAM9ke4w7GodoOzVEVqGwhNG+4J3DYbyUZ7FBKOuoxOQrQswACEODQbQZhDByZQOaUTgxREGQufF27Hlwdmamk+PSTFFDjlmwmFCEJwRLBI6Ql7onTHsE14HwbqPuhKzOXhoXmYaHVaSNDrCnc7nJShMRnuNVrDhNnK07ojJlDTRH3nliy3/o5CfI8+y7lScs2rRDpj9uBM0PBaUEg2WIbA4kEpdkhKrd/H3Ymmmv4CgkWkA5HRNgsMGuA6WwNSsDHEvAy5GcYtCvCU6Julj2G2JZJO2vxoXwZTc5QjTGpWy0JQdWGE8FCYxDVEI3tf6/7CUsOug26bHMbHcWyB+kPSGfeEYIEwISMxIKKwUgaoUJaYw2MG4AEfwbPsepHtcGoDQFcGgRwj20ewhnopSibK7l9y+55iwKKExYPiElGRICREZEwkkkgTRSaSH3CbGraaKFKLQ4YElSAdJCXAQ7gZiQpbVwItBI9Tg3vHcy1yLyjGxwjvy7g150FviW0P4s4mRo5ENobFdiuxH2EcHj4kCN+RLlsSVMHYYuyG5pRByBq18m5mXBvRm3bNoYIrhEaWUBwTjYpuKLKB9ZoZ6ZJjDIALRAvVAnLLenseX/IbSGuGRL2KoJYez2lz+QOuo2RtAMxgdzQpZg0PwHbDD5COC5IOM5EzIyeZNBcwOaDC3lM85fyXEOuO43Xgr+Q5ILbwhcWBtcD9nCeyKz4FzNCtx8jYspjdE4bWSCvu44EGWmy7me43KCltMbjsypWhPmnh/otnsLJcLR9imUfDFImn+BsVN+Srvn4Eu0RTgvd00uiiS/YqVJCWhOBJ9yiYLkcY4Fyb4/9DwSF5ZyW2MIyWRrACzgcYZos2QzL0ia/kfIQiqTISqRrfJjx8ngc/Y61DVHqYQ0k8f4jcrRp8DELtMQpdNU2OWEYTY5KmqspnRCxAJA4GpA1Pj/YYZOTVET7BW4jJ/d2xEj+2lf0HdfLmG/gKib4spaF9Sau5f8AY0kN8P8ABhk9mBlqh6wLRtBch3x3B2xtG7MbMmRIWBI/kIergANSFMBODD6VDPWhnrQz13VF44lEiVclFioOqNzFuGyNgqUUxFdyjATFdyhtGDQYR2eB7IPUpDTkoCE06MDKGOLyQhhimUPGpMSR04kxpqkOLCeh8A0VAy4TqbIw5Swkq5E0RQRctCyEJNCRhTtCKPkQCXDpSQhI4toTOKAW1vTFhg3xBkeg3k9OjCwWy2i8j3JIY4ww+DfiyVxoAOAwxrZkN5KNnsJhgXXQc7QOroQEvYvIcChTwMoGg7QfI5BijcdVvpJhfATkWpNA/cwhPsXYKVCoNP5LvwqZl9iqcJrAyWxswNoZ8QZnyIL1VBK8XBTYiVHlG+R8BeXQSI1ZyhrPaXDEoYM8fm7GcCO8N/JymByTTuPyNxFdGxfIEExYlQhYgqQw3h3f8Pcl/lb9i4w3RmQMgwQypkNKm+ENGAwCKxobNhgfxC8fzC8sT4TgpiLzsFB5OMQwVFR14D2WNKW+xcl2NMxXpaOAFBHgW8D+jpCHVisbvkQkzxBi5L4mYe4/7OlJDUMELkf5CWsoz/8Aw+GZHNHg0/KHvgQgldH9xswjRQnCgShIBBCP5OHRmQDUQ0NATn3YQIehHss9aGepDhzzZcBspcmgSrBRCNBfzy8ir5EnfMGSkiwI6bAl2TQ2gYJKwEoNijQREFFUfIGnGrRjCXxmo5nYa9oQqIYFhS2ELFAUQ4THhnkc2DMF6pcTQs7BfHY7Rsa8CRuod2B7FBAwUYl6GITGGZCxZ0bcNGMzg0mg0tQrKvwY4Bse0mQB11GyGzCsIS9xLkXfDCDkAz1iwx2mEyhtpnIHqC6KhnRwdEb7ZHEhXjx8irmBpS2JVci4gtEFsaHN4VopD7Qay+QzRZpGZXYTjGuw2fatCKDkZc5Z/JZBlRNkLeSMtMPaZpRxlfDHyp+UxizgXgde67CNJxvsO1kSGcslZFyLJ3GwNSoUC5ncQ3npBUS4eK+e5wcdhsbGBUJUQDAcB+D8ih5FbAiSZvshlSXljZrGJy+58qPS8wxII/FUoEF1UMmPZxx+8fkb/wBgBJaeRQ4WiVNCZ8JnqhmSRH6v+AwKBDPk0I7igXHEY9pAXcjvNidmbjz2MQvY8GJo4O4YYtRZ5MOAfAABQQSEfx8PWzaBqIDQcj9xFOlKdUM9CVHAsKUgF7cIQgkYmKpV3Ku5tKJLY2pIQ1fJhAPqwMUOGIKmF+Q27F6Ie0yHTTHu4xGnAWQaqiNrGKsc5ZKKkGAY9CaEHhtDW9iaUOmxPsGtyaCmnk2EMCtkW2pciZeSOaOQxtnTdhS4H0dF0qegJs5IL5UDPZUtkHyOgwtUSQ5oaGpIXGDZk1soyyjI8EUHtLkAdSw3FApbPMeQXdAedl+R6smwtjG8JsUOscmhqbghMWDh0FUWCJyIQWzjMiGPko9BRjoTn2P8gsrWOCtLOdobBlJ3MfA2ZHYyPKjIKZccY9CP/IkxcJsTa38iU/UZbZp9iLQlrX8HIUL4DtoNBtSDCZujCcFkR3IjvRHI/hG/rl8tjFGMlPAgaGM8RuFTgaNXljZNNXsOfX5Y7yAUmVkWfKNDQ6PQz5i1stG2OXzw8nW4oezpkadil7FqfyWVyU8CGBsRPuDrSBoNEMkLkkD3vy0MBKJNK2PsxNzFMRQEEF4iENRqp8Dlrbf4g91kcSjqmKUyAQAIQh9bT6fk67wChoagQR73ND0oZ15hcWJsSYE7K6EmQ8BSlKIYU60oqYkdnE55Ei5k+YgGAKLICGMhJvWTsoPQQsOdhBchXAVVSgU2xahuiK4wJgU9YkQ6ANp1TsyCJCGA1K+50XmGltCIoFYEQOpoYeC5NxDOmzAIiB/XWaBUWkz7GlQA3K4hDl0Yz2QfIzYmA8CQhdgRpMV3Jg7m0ZE2BnWEPYoIRddRszeD9SoSQ08IcYHo1NxbLttMjabDOgRQG2lBvc/yIwnQJky5ELEhO6U5+BTeEg9L7RFGnhi0245FGJtFEVMS0SvlUWGu416aZvyJp61ymaVZ2bKMYd+wuDS8wZtRkblQbWl/BoLIsJyJTLOzlmlArQDsCCw7SS2TU7HD/wBxsxsGMAgAZ4HfNo/BhNj+H9om5nyQYnTDsDOz+T4J9xtSb7n/AGA8L8iuTOGVf5FxTGliEpvG0LbrkR1i8idPZ2lSSD8uVvx8CzNYzWyGeDGLxhTSbV/RDUOpiEJcneHYozwNcj3greZg/sYGpkoK8TwgLxEUEUCRnZnT+3wZs7D7HxBLUNHkhCEIfxUPodoBSGgQbT3EdG1GRUC9kJ1DZOQaaEGdEPQdp2hj2CGLCQzATNUaOiGemgSg28TwPbCPQbA1iVmK0WRrIzLBAWjkhyJGqYlKOiWqMDEggtnSxBOdrG06w2TEZbEK42TI0kjCPIdlKUpSil1Dbce5mIuTQWIy0MErAasR15DAhzUZom7i8NplIEPIIxA9layRG4ONjRsYUrRSG09EvI/A/bIbC24jc5EhYz2VwfkLroA2AllRBcofwY0EynTQQJQ57MyE2OQ/I2HoSgrVwWnj4HJktknGRCpnckWawHS8AhDnIr0fcys83ZJ2V6P6N5tHITGL8IkmFTc2afYaS2z3LuH+hy5CpLxibjHeDSJ658FbYQ+TE50UFhVUfkfLyQ5Btmy0IbGwQgM2MedG1GN6Rcs4bybQ2LG/bGbg7zB/vEOS79HJfkNbFGOkOAQRxD+x/oofCjIo5UYoXWVRnV65rrpo+fYjpo4GI9r4sOBlpp+Q/Am3g1GlTM5VE4q7DTNA5CKP4GfZDFyal0QRQQKAEIQg1RoqeGhlke5+3gfb/wA6LKItM2fxTPpGbQCitABtPciENfiHqGgTaHOIjbJHkBkEdjeY4hrNoRHWtiQJAhaE7ycjPSolodxRmAJ+oSK1C0toLaDe4E6DjZllB+Qsq4NhD5MQhoHILjpkGLNmAT14PW2bGMKPExqYVbCmQcG7LpGRklKIIE0mMqDBCRRg9lOR4GA6hZZzeDtUPDWhfKF+7KFYlJg9DeT2kEuujHwN4DSYGylzZSZ4IOfsIKqKI0TYxCQOBSTao5OJobHpZEc1jb8V02lWyEqJukmRGDgjXQkzuxyvJGrbngplLRq09DtYdhl2GNbvPdGn+R2DRlncdmNm7yRM8eRFxYR54GLAOCjnMMuBpN0LkLCGCigkV/b8RTV1kgR0YEhA2MaRaM258JtnjlNX3ESpHnIqvyg/4CcrkBi1SQYj+Whng7wDkMlWBz4o1YIrZ4KfAWIkjrYzjYnT280pfEZXS7jAqHeBpgWGxDS+QyqmgooJEq9LJ94z82AKLH2iIAEIQhCEGbdXluzOUo6ArQHkKtHY/g2EIdKU9tnsPQuYRFAE+Z7khpkk4Q9tBKINmPUSNFk2NMaeGc0bAtDWbgiGeiDGSBAUtCdnVZFjM1pgPY9ngv1+TLLZBQNbJXBA14RaDTeyEFICY6NwcyFCj1nSegdLLnBT3EiPsV2K7CgplmS2QHkBKCKMilQGehEgh6ZGeygAA2BsiE9x7QwWh5jP5i1mJtis7YDGdKepS0OurAGESTKIWUHnoayjyMaQBXm4tngCpijiagepnEjZrQlHmjUsVQmuRuwEkyxzSOd86LEx8lnya2Jwxr/AxuXYxODbQSVqcXZ8FJ/7EWVjwcDX9mXprAkvBkNr8DaHizZ1iSi7lB4N+RKeUBYolEehvAwSYOANBPOzBKav4kPLw7sEAXwhzI0EFYLnwU5FuUYBkAyjwGh9UshkTO9wbaTyo8r5KAmh3Oumd8iPchi9mZR7nR72SG3PkI6MTNdUzwot6Zg/+UZ4wA3Br+CEIQh7MT4/NGvd6EHCJ2Z/Ewh6eD3mbAiYNhmx7guAeUOZwEFdLB51UZiI1YvqvwUnkhJpN2EQyEOsDB0ImmEgJ4E/MY/rwZcWzgacQvvItdjnovIwqCEIDYrOobFSitwZgGtD2QWFOeXhGx0hXYTlAEEEkERgMFKUgkgSDJoYk0N2BB4I3wR9mR9gRUYFNDPZBgBDc7KWYoHymB1k/eCsO2IpUcM9pfwmh10YwbBCqpsVk0K3EVIr5GyZDGo+TQaAch1Hs6NHVi26lQuWtr8EF44b14HBR42SHdjWjRCd7cGlEqN55HE/AMVByqqGpxqruaLtbJu989xG7zVVMHFgSGliuOULkmdljyS0yN7JPAUGMG8IgtXd/pGz0U9DDUYbluibNCucmtDMEAGFC3Bc+BSEMFDZoSjXIbVowAhzzjOTMmvug62ExY9hkHgfJ116xsyvsGGgv+qJY2rmxDANkjIucEPdWz2mPkZZi5IfIURBZ/PMAQEO4fI9tG8hxXI8SVD4DRnETK0zOrY6S7Q4+BMA+A+BzHKJlLlClKUomUorDhGhWrzBt4zUCJo6CbkNv8IXy17VjQr3Ef2GP9hKQQFFsoJXASIKgKl1RsjtGjMA4JBiMaw8tkC7BgqIJGhAARQKG2epDOvkbo9JETWRmouzGY/BnV/AeGxCmDFyM9hbNQsCG55IjzDtUw7zUNj7loAcnwOGe0n4BaOj0aBNwLkahIKjm8TCeAado1C1GvBsFsGo9giCQIMY3C7CNSINOX5FG0mNTR5dlwh+R8hpZ0HTXgYpxJJZEG0Rv9njGI/CdmMa/gcaDOD4MhvKWvBVNoqW8ocEssTWtUx+CuYYzsINroTxRk1/7nwI+Ly+fkzI6UKClBsY7RxkWd2QQxggww1EAwRY7GAwoNRkEyQfBilzorhrtnIlvSeB10d4UFR7UPU1TeKf4gZkFXyTAX5FHvUGCYPhcohmI/gmfVsARAL5G89tbI2QyYRBGCfBlj2nENa0LaUwcjmkfCaEEFaP7GmkzCoas4gjkmBbSGraIAEIYJUkycDKDv8ABCY2fHVDysCypfCS7+TTD5l/pkoE+T9IN6pby/yKcas9w/wZIP8AJ90WIv3/ANw/smNflEbF4DRiLkFsTrBk8AoaZ4gLFPIlBEEKS2Zgty+5RSlKFKUpSjZSlKUohSlKUpZRq9CEk9Es1D7iUQwM9jQLQWBDYJsBY+8nPJC70VrMOiwy2uhD2khFo6M1GLaEhDyqAYX5hM1ii2iYvgSMUFqMAoPnpi2AvYJQur+4WZxaGvwYzRBRtqHEIR8nA3PTavC18jWKq77OSDf3HkuB5JV7EhOBqBvdpmoyUY1vsEwcnwMosvBZrZuMNXQ0V1GuRhN6MBCBcWsj9/BiKSESXAqYmUoWAFAtEBNih3RKIQGQQEvAwwwB+EcmATBgQEMQbk0GdZLaYjLh4e58m1Vo6Ma2ziYln0LQMEJ/DTPek67ufOEMkG1P55giBAbIal7aEexehJNG8BAfpFOj+5AXPg3RC+iiwDKaYhOo/BLJkRoNQaOxvg1kHHBMNjKYm1F9hOnIwHYJ/A5rR0ZBTRqFpIvJ0y4MoGohSnbIPArSY7l1d/7BNZoylCdci5amNFju7/QYaPZT/sUT47/sHmb3cV/sfYs//fYjwD0oDIfIUbt07sgxnzojsNFRBA1IJDZZ7NUMPYnbcEbGNGem2DUcOtohnqR7LNhmgIOBhRdUq4UQMgaR3jApjY5ITxHVYzWC0QFkrboquRMCGMVcM9O2OeM6YGwi7nTQfA5CRGaMM0Me4GI7sawhKshMxvsBuklqzEpKi0TH8DjDWVhaMB0YDI8gJSBtJtbEUsgtW7gKzUn2rpwMWu5Z+44vDF5IxvksbhiOAGBkpEFFhY+CKtaEzcjCxPk/oIif6mxd+ma9yLLsbJtMSE2tIAGQQqoef8QrI6CKgplAjEVRSHBg0SNwIeCAEBohBoYQaKDB12BxkAGOm7DokErEwOzyRSsr8AkX/YJHO/KOjGUxgSErOlKdKU6U9Fozoxk+7wPbYK7p0Hn3Y8UaF1Tp1bh9Js9LPRT0093ZYDIPgmsG5ICvk0AN7fIm5pjMNOyZbDYkSIpJeRre8EuJh5YXOJgxcr19i1TBiPJRhlVfBgbZGYq4FTaRliUixJcEI6jqTgvwqvJ4glMGZchhKVQDKv8AY1xZmacAc6ynvyM23hf7Efe/8RBUbvYXG/sPM34EpNbNfiYYy/I5W9mNI8jK0ncCPjbuY7tciu873P8ATJSTfc/Q1Is/84ZPv+J/tD34cNX6ZnafFf0P7v4UMNchgvlRHVGowwmgSohqB0giPZKCfyNC2hKtr3MERrIhVZJiWzcDqlU+xjJobNCCy0SeI9uiOm6+D+oTRwIYrRbrfAqxwzNjh0jFF8neTwQpoaKqbIlFR341hdjRqSiHIMjYTQI80hypeo6qEEL3xBLNm4OE3fggaGNNQ3STTVMgnRbi0zRXBW4vybqKlTkOYntBTGjGyDIKpKqUAWRybaH2YQbQxDBojiDzh9hxGX7MAassryLSisLe4wEmyoLzWIbzRBj8EVGSQnPKqF4REP8A5dkVYxLhMDJOlXdmDeeRqkuRreNNPk5Z8kBPJpmdHk0WYY7Wx8WmNuKaGCimzmI/QMjdu8laqYTnTdFdQ3bmNUoksJIeew3hsTG4ZZHBZjDb4OOY1vI8ISSAkQQGehggINeCCeBqiDIKWWEcQx5LwND2mRdKjqoglNTsMYv+kVoral+cCq2r9k/wjsS+ZyxgGhOxEQEjGyNmiKGK+UN5K5HtDecF7jb4E6V8ItGdGSftHtkHl9/6I+AAzEO4imUOR4DQ5JgapFdi4KPfDgTFFwV2HgV9huowRS2hwJrGN5K7GPQsnu8hk6sR2bJyUw5oYtyM1ix78x7ew4tRSxQxmZJ4TzBRaqdxYRs5wWTJWqbGl0qMSpwx8oIHbQoswbUiQloG6THmMUkuXcb0MrqixCp2GWXyKpvFNIaqafkbcCyWhKqbCymXJ5ZBiE7D/WLjgmwKo08A9DWTCbZLdaMIhd0M1jjgzQmu5KQHxHEKLyox6xh5Qg9n7R0IlKXGRH+8KGHW/wAjCmKuprOi2K4KTGeamyQ3VhtFbyRmghruIlLR8D3E6VTw1oyuEjC2/wBh5ZqTP2gi0wg0JaPUz0I6q0yB2AAdja2+xcmhMwUcKwlVU7meZqUlQeFATIeR4xbzkNbXhFYseFAUGpuKVAJ2JSSVmWZojFCIYHlD2b4Eh1iphzUa/E/aFJaQRKOHyixWTDvIVNUxdshTaoyskMk8WTOq6NU2AEKTVEQjvwM4FdmZcpk+USLEOQSGsRSEka8yps4Q9xJ95Q0mZCTO4qicDZaYQy2EJqE2OLMRDLFNp39fLMIcu7VbL3X/AHYqfk/+4/WUz+CtDeMP+0PWiI0fYiEO9F/UVr+DbGzaEJsdbTHFMZ2ZpveBlPyNyp7ZiVyaZxeGhk4K47CEmDRlXDZr7h1bwTb7EgoESRpIoaBZ8maOAEzgf9Id9GIhAgUMmSBCA4JshBsNDAZB94HNuQxpyIBa+wSxDhTsN10QkxaybTQwBILs+VwLIouMbuJpfn9hVS/zohJ+Q5EiO5TGF2No54h8nAbwYiLORvI2Pgbr2Lez7iYtA01yV3GM+cj2ySQeTXdC/dEbGlTGY0FkJygW1PhjdGhKlk2lEoe9sPAC0LWT4Y8pFwB8E80RXsLD7gYfIVcgynsT5IdIaGD0JboVjBHYWwl2DFwXuZEuRIvuGLBsZpMjOQ81YUn5UcstsvuJGmzyCsz0LihruDNqG1IpAiK88xg3YwyY3QTAS6tvk2wN5CsDZHiG8iRptFuy8aJ70lCsV0rbrM4vQ23sp7ZUlY23tnBQxabIDyKDDxAkIYFMkWw+A2ILhhT5HRu8l92JesqbYn2LzSrayzQ23tspcHvIQmcU0q3DaTNiGJOlYnNCeRtvbY0EtQ2iaZgjpAvZi7jrKHGgcYlJ0GS2anTJ0Ta04HPaZlYm2qwahBtpjmNjzPyMbvJXIJlpsgjZd2zKNt7KfLG2xf2xDg0tgVKjbN4RbGQMrPPEj5F5CxwdIIMoIes0l80/uSPDX3H7hc6ExYxhtUJQfIg9sRwDsiedgfDsPmu3+2Msv57inav7GOX8iEZDSe2PPBUWsbLEtxnScwZR68TwYu7KY7iJr57C2BKqnCfgrhJtUc1xlfsm9hLWzRdlfcR9hJQVKTLwNTVUrk4HShr/ANXwcRRLCHyNSi5MQ8BNJGWBng7CCEGgzIkPZhAaJIiQiJHgMvAxhCZOrYWIQWOoYo1tCWpN5T9jyh3g/Q9b4wsp+Gwn9DyOOx7PJGmEySFfeIPsjKN8Xc4xTbDIdbZjDZDiIsF3Cg4RUxwwONmjRyOcjZRh5uR7bViSWhLrzEsoVMKkk7CpZQkkQiOxEsE9hpMYsEzT35SQ0hJInsJhYJGsENaIGkxITNJyCSR9GOfyAeRAfMcPbQJHYOSLTAJsxTMoejaSKMtDmY7wN44NGbHTZDYyG60httG1Aj2FgaMWNApHyYmJyWxIhGz4OAwa+/4Y9j8RrZRMLQYsFCLQsRo2UNGPyBbCL1s9FClKFPTSlKUpUVU1sXp8C7ulfIxz8s6LYzgKzfZEVaDeSGzAU2Fl9ylFI3ZTJiwpcD2LS4tjb7j8hTYKRu4UJmY0XQM9hbQkX4HXQOw3C2YwpujuEdkF2BCFG0MtozRsaB0tzFagG+jHhj2w3E0VP2iP/O8O35iqm32El8BK5WlhDmDiX9l+NGOz/sa6J2UZTb5E4XnwXOPcfI93SEMUuyPyN14NMRNGw1nhCatHZTJE+4ps7gTJfhBzVy+4RvAua5MLFElwi2ExsAlOBSAsVJ+EJEGHkAaGQhDpD2IQagxhkTqH2hobgFkwHMOdBld1yOlhhnSQGeSa+afgeeOvGyxjeX/2OkpqJv7MYRL8LD+zOU8g5AXZoW8gI5ij/aJ3UabRzdQc48cWKLDyVRABSnT4lg9thiryAtHwe1T6SnuQ+g0NX8gDYQGJveU1p/A9Okewp7IuCaLHRPItBaA2RRbGCkNkbSCMkc54ucAl04JdobtlXkvhjJPiRnnPubtxJsOzJAyZ15QLYZ9aFEfQs9xbHoRveXyQyOSH54nLZvBQLDzizKBIq5IOAY0ZNi3oAk8RG3cEPgbGoQuWjFHCcOwoz2M/mFnwDroONkbBbG6kT4TwmABdkfCGa0wGsmjTFvVC+LNXs2BoxTKMZ3KTzV5/od0+WJlyOaNqb2ImqRxvPwIrS5VngbdW8SlpSVukjGokLKhsZ7DBpwI8WIo60EYVys/Y0G1oudlr/JQkNiUPt4Q5JkYpGrTtgY2uTgEwMBPIMBEu+TDBwVMQX4CUGWFKFQPZhCHSDMGhgWQPfgYhyKwjBl9OUyq/3C7Hsb2fpYWRMB3QZ1l5kvwXH2NKClH+W4taBOGf0fCPMYk7gu9EtMgB2ro5aG9cODGoQS9zzElGoPdy+SILQfwdPY2fQD+wI7iNB4GrHvfqDGjkS5CfZc4HTg9iJegThT0S0NTrWdUWncCVgxRAzpBo61CpbaCaFp0XKHmxA5yORAC2R0p1Qz6ZDPStBlNUP7lMU1bwMQ5aMQxdxYQk4HvdjMHZmEohiC+DeQbqpDYpwxnsaqXCCDR+GQCD2P0Ak+E6lsbDaLZwPWRCiAt5oD7z7x7Bsi6jPhQSYwRiQXmVmnDOb5G8hD5TZYguB/8AA8JgSwNZJ+Shb+Am3IC8Abkh8J9g3KMUFKXEf4z8SODADGzZKBhXTIRqgoQS8k8mEM9hnrhCA0NDRQB0gwsdgeGBKbT5S4JRmVGtUvw+x6YeusQRP4WXX3jiX3YM/wCGK/KGjvTjt+Dl6JtcoTLTYl80TGoZGs/c5IOcxMoyfVbSZbF5jdNo93MkNDg/nQRIJQICZhvbQQSuAeeASt9kP6f3NipkxDpCHSEIYDCEIEIIaIQIQgJENelnPRS3ZnzQ9CINCJwNAWhGQzDaTRiZsZITAAmYQ9CGiHvs9KV0NXBSR8lEj3g2bJ00A2IMvQkOCKY8ZdVQtsK7BkTtUJmvwGOchiDoMPuwlosVmIWzKFQPPu4h+yNjPYz+ML+M66APmbxbD65bD0DyQba4H82avLHsMxci7fHkyqbbfcY93I9hu2zcqDZKmDPpfNFKK/AyHC3kfQ+KqRzK+BJoJCQhUsNjj5F5bNtKI0hsQrNdzlG0zBL7mJ4UawMkL4LuSCkTsNhttsSVFsNUSNoGynsM9iHVg0OhwwPEHiFPgJjHBoWVCsUfkw+hrQjnn3kvuLb/AO4Fz+yz8On4Ma0Ws6fkTb/oiFjkdzSNbM/8BKE/ViI6b+vsRP8A2HaAuyfI0338C2l9z1Z3yxMmyP4KHo5CH0mgZJTkRqbT9492lKX3L7lFKUpSlKUpRMbKUpSnRMbKUpSlBhszjwHiZz5gDQ1Bi4OQkYnkpooiAkNBcQhkxK/I+Bg4yClPQhhSnpp62el1sfKgpiU1JLAjMmzpoBiwmOah1ShQC7YUexpQ2FXYF8F6LQYJAQdB7IaHCycFGMEtjAMi4nYg7sHvygz2Mvgn6B10HL5I3i2DqjroELpsEWaAP5HyyPYiSGzCSVbLlbo/8I+Ph7fyLtKrllDHMXkYPejttHnhqVmFYJYVcQljjku5Yty3F3Fqe18CD5vxN/8ARWZ0CVGIQlB8BZSiGwJmhxrTExDS5TE/kRNfu5MfKbCBY8jMIp3RtMwlkMoyHfToo+EbdxqJ7QlPOBKxs96HqYMNDDAABeMTsh54FpxDYbOJrg+kRSUnZKVLDxCN+Uf+815EDKKlP0Wz0LxbVV4dyG222wVeUXwGzgBay+GL+02Q7/lCXof2NR6LoikZhC/haejJ7TPYYpJAEaG02HvQ99HsI9hDIRGFMZlkWo7DwGJC1ojEmvsJmvYn8oa6NDOjYZgwYLRHYhyNMSBEgfZoOI3HqR9FT0JnmE+HHcOXYa3I6AJKWMA/zkZJWTRufAoweQbouA2KgQZWgwFVB7Jbuxla3lEWHZNhGXBJ1NEDzMgYz2M/hn6R11DFuFsIj0pg3BVg29FwPyMDyQeU7P8A7Mknteft2HNjqjdaGH7wqOWdeojQJYFLQc8DEJ6hV4U2YxHg/h17lkWf2rL/APeSueEagsAzHdxj5noU4j9jA3B3QhWR2REJJBakynsh+EKAYUoEEIMpLtD7sN1DwN5Y+zEz0Ngz2Mnog0dGhAJgGC0aaGveD+pDAYQbnhMru7H1P7OmNI/7A1umsG+OAvJuDRRKf54H6/mI8neCYQK7BXaIoflH+TlEnIrK4WysHQd0iUYh9PT1U6s6YKfSsPUAo0AfuHto/goded7DU9qCM2RRmJmG/US9wY9Nk4H2aOSaSG1To6ywWHwRyUxlr8lEosNCYo2AAbA8GTEPpYdYemBCADPhMEMg0LuD3ij8TZmwNkqNQhoNYGBwsjoA8MI3kjoTQ2JZbgRoAlbHYhE9mBMZ7CX4oDroPkbzYAfXoEFKFADTkZNfuv8A1GWSw04kLWwqu/gS8JmaisWdkL5GJrDsxtthS0lFTQxYSNxOYcErERNRtNRoSqepvl5f+B7J7ZAeQQiH5eXocogF9VWkkYTABJR069DXhaNiUCxFKEGwZv0KTg7Mz5vIS6M9FPeYMGhoKQIBStk0WuCePYtMd4oIUxMymuT6V8QXdjmG+BDFMXZDIweQS0WtSFUcQmnJk7sfpQZwv85LNDlYP7ZpBGsPTOlGygGQC0Pp2FP4EFqAUDabPk9tGDhao+QrUH2H1mHJuLAQPuDwT3sYS9yj1nFy2IDb+5eh/LEpo9ygtDPTQQyBeJmBKRMXYGLEBERA4NFyjikRtbsNk4sRM6vIpxkG07kvM1DQYotFIx6kfT0ZJhgRBykOUwQ/SNUMBMUqBdbKD+uWO2vAIhLsNDNgyazSZjMGAMDrFadsCDBqQ+8RUcedOGWrGM9g0nXQ2DhsbB9eoR79UM5QMGJ/w/YWpJEUSXBJjA6uCfKmJkTXaSOINlyPTQVyDxCp4LtQHFkka/sqt1l+l+w9ggWR4iMXyLyxidWVnVkzLny7CitJYQoyP4QnhF+SuDkWClGFBs9GTE5hb0OD+4prU9ulPQ0DBBoBiR4TGYcFxDXloiTwztW28eD6NpUXLZROrgMhGuRhgPDpmE+Kk3PsIiyQ8tvlnTYgJp57+J2ggapfOFVGeIeh9ygFFOT0aCy0j36fxgcaGgIH6hsPcvQ62V5JeRymx+EXwz5JtFiCa1QslhjmiXloVaqZDlXcbbNnsU9KKU9S0MZ2WSYeSHgtS6asXZMgZBKW3CRVFUQbAr2CsFqEGfYyyNoeaDNuepHrQynppTpSnSnQ9qXyYCzvYxb/ABCtQYwU2AzAg5lfoIWcL4GvAUyBIKylMnwYMFAYjeCuSepkYNoTZCY25SHOtIbMZ7Imo6jabDZm4RHpXBNO6ONRDCjJgqWzneEVasrW2JXljLMmwL5YyQXzIFDHeBZw2HCE3vc7FrBAUaMw5sXhCOi7K+IRFpl3Y8DPZwIANgp0pTo2IKUWzQSrGsDMlWwikJ09LEeilCgzoxoEAKgFxB5QWeUQlNul9h9Bxkq/CODJ8uF0jgGpRombUFRSTriGT2Q6oDe4Qwz2Jf2dxaSSSSWkiQybG9IVFO8a7LAj8zEdGGgtV5Pp6U9NKemEIdfufQOEG4Yh6P0Dee2j2Fs+iR7CGedSY6VMofArE47oYO8FTCR0k9yEwUlqYGOMeoW7hOhQuQR2HmRUmQx5GDaLOH9Q2QU9CGetnvRkSOBnN1EHgOJQTrTG6A8s4DqsxMULsSjemhgdhLrFhYxOYpJok8Sj3FBgSkkP5RmVI2I7qOzg9B8kPyFi7HyxnsqJoOr4ZuGyHs1DHop0wmQa4cM+QcXjJzC0yreTABxsga9xKkQlsfcIUMhuUbjRkCxVXwBCUjo7GI/zOuPiyuWLCs7I+5CijDdNs9VPW9Gw9CFOURne/sISrIMKMQz0s60GD2NDKBWMJFkHA9EmTajxaE7M95BPOrFLuN82dzyaZwY8nJMhMsmoWtYKJNCGz0kJGW4Epk5fIQbSGisbsHyi2/mEBJgysDqtg1H8Nk+lGg1NWNZAegm89tEIQgQIJZGiEIECEJghCECEIJYIQhAhCCRBotnmB2KtK/ybDgko1e8CFIjXg/8AJFuJhCNOx6OZCnyv+otptpkRC9hotmQzAn3ASn2G06Q6oZ62enIJgziDPU7SDBWwNsKhxZfTdAbElJ6MymMrJZ5HHmAUNtDdH0QKb8CAcYEQbEpssPDF5Smgypl0EETIiisgvljPZWjqOujNhoHs2ISOIwfIYJ+YC7DtNkLsIPHAqZKQcAZg0xWMDfYd6Y45EC8hMJ5A00SjUZQcEagGAih5vP7OirsAKFkBdgggf4ijPoGxbGJ5EQzT0aa9kqGGdGew0DQUGdAwivgxHiMMCnwGHI98JnlHuMuXxyY2tadHBhC3SYLVDCUyfcbgMPBPJapNXLtFRgKPEHQq/Ny7/BSD/otv8jqItOKHVbBv+D6enoomU+tGaGoDdcD0MW09tFKUpSlKJ5GylKUpSlKUpBBBAAmoUpSlKUpI2HezCx0yCeIPBnRDPkOO8owxFHgdlg/I1aawx9vaiZJ2kSaqajFK4Sag8BSPAhtwh3CMU8JCJQV3hG/8EEXlBWWtY3xGrvBCsPMLJ2tCOSH/AMY/+AJr/wAQ3O0qGMfETSX/AMYTP9I07UbcG1DlaNQrRTU7FUmDKlBmwxntsFYhMEgZxk7XFIQUmx0yExVYWM9jMtJ12HMYHsRBkAA/MZBIAEUzmZ/UK4kMWRq2I+wxrDv7G4o2MJ8mPiH7Gjf4xr005V/ubrd/BIK0cgJCRgeDQqFtytrsQlRi+6gnTo7Ea2/2I0ng8QRXsIbOsPRT0oZ0Yh6EcGwXHPlCbDOjKI6s6w6QYxgxjAwFTYLkeImLGZJJ90e3K2lgYnOLwaPIhEyJxyHuWFBEbuQkaJCRoSOzkY5naZHFdheuPIpSMCANUdTwKPq2dIfWMOs1HjiWA9D5xcHcwx6cQ3MHobtI+EKjn9xMnaX92NcF92YP9h/3IbRW/wBjFyn2Fl/kmDb8j/74UYV9ycWzn+wpSS/BRkCkpRBvfwL/AK0aVgT/AOrBTJJIKvPng9T/AAHG+yJREyH8Y5AVX+AS/wAQo0fYwf4zifiPBfYU/wDCPf6z/wCAKZVLgwBrBsCx5GcjK13sLY5KT7ix4TadMUeOIxGUbENBEdwr74hRd42lvGYZTXAnttaEqvcn+06ZPZRlP+h8t8EevxF2/wASr1+B2H4C/wDhMBb/AAd+/wAHG/Uxa/AXa/Aq1+J4vxHV/oIPTfYe4v3QsBZOC7KQksEMwLGUNboZxwZPSE2ghNgINjsxxhlhlrPux9W7wYIbBgD2UgjBFXoYEFS71TDI5gcpICtBmycE2n8TN0jCz2VvwGs6PRBNGjNh6YQSiChO89DFXGn8bf6FLwphiw2+8iatIU9Ix0kOGiOVwQYQkeTQzJxwJGYDXh8kJb3nkFNGSAagye84gsTjgTaRGn4FiKmkWhrPYQnqKSRA8CjXk9mnVuAnkZ6GIQjcTwfraLU6MEwbLT1s6MAzIKhmM4nceXU5ujxUe1jS0hU0ey2Og/7B/l61j0Mbm4I0yc6QwlpI10JlRPz59ISQSXZGhOzAM2CkuuiQhK5bLd2Y8799fLJFDUNbEsHXYEz8s9huAnT1LJ1byfRXgbhaDE32DPYQj2hrNRa5IDQcuPyNWWPGOxycBqj+0IzHA7hwlvAyNWbgS+0BkInYEPICTjdmfYeKyfoDQoRVGvwKxo8hSqmYcFNGCX9GS/1Mrr8R2/xCdo/AehXwG8a5L3n8omPD4QyWiDHBhgxHgYkqeCo0x2glyoEVtHfA+6JPAjtRhac+9REZb2oISWhKWADVI/wjInvGEPdf8IaG/wCEDChMoY8ZU99Fhq3YzYM12Al4mIsi5Nng+xTM7DKMCIgzwj5MN9+4hUjgTK8LA1XxwVnAW1QxxP4KjcUGtWn4ORJhfwR4CExsRO8glCptiG6d4wjECQs9h98FSIPwOKjRDBUrNGpH5HmTz4ZVflDjIvuJOB5O6XyN7bYhRbm/kZ/tBPJ6ck1htmQoiB0K0rZirEo2Az2AbAmCNQqXg0JKQwhkSqQYEEC5yQmcJjkQhNbixhZfmOxmaM2Qz2F/GazpoMbDiSqVmFYTMsSscTjyaRncU00N5CudGxQQrhWtI1JPuhkqauTKQmhiOYGCMU3WMXz/APA2xoa0xujOp5BSdZlzob2UTsb6FZN9zNj2cIxpoNHJ6J2v9RPAEVy0YQxk0YRqRmz5O1qcj5yp2aDwyx2EyBpe2f8AwDciw3yKNnSnsM6MOR0YeRUy9CDME8FUWkZ5GhqWg0aClEepjORsG39grsc5RtlDWw67hk+BiEwTYyr18oWCVHMndX9GDYiHqamV8czYywzf+ikNiVo5UKJtC8iLqdhTsPwJwSdkRhCG8DHs2jWTBhEGhY8IbXdR9wSsNDS4NFECjqRcT2CBVjGXyZGWWoXYZ7jbh+RsZWyiZs6Q9vkZcGdlMXY2a5EEMPFPYGCGpoNQo0JbTlGsxEJewHy+TcOLuK2tGWTctCjxhfCQZRU43JoVfyUQknSBtffEKmpSJ8fkeRVfI3mewm1lFTihBsNiBY4HskEUdijKpJQgXxMvAIRKmhPsYarWDNPsIMEeMlcA0k24YYrWx/sMNpRDJ56JXa8jRuX3Zs+R8GnwbHLgbNtshwRniGdhT50CDJ9wjoiLwyjiX8WWYKsPhkdkIa8DZXwcQna4RE8PyZjwjK+BjgssjmPSLu6ELTkYMiLRJSb/AEwYMJ9iUY0f7PCE9oY2DFLMDjQesXDg28IfEG9HCZxBymGCKXGhTwDVm8Gv5GqUeS7m0KnXQ8tGNt3MiDSshZWPYNizTESd0hIYNDOwdcnYfJ9xMhgG4Gew0GJeAaC6xsPkY0q0vsYrNAqFjJK1gsaGoxXyO2TAorQU3aEchT0ARs9sZ7C1RpOmg8VGVFGZOMm88QRlSP5Dpj7BOwJSUvgUs+XpncniiJmzgrakPsVfmOgSplDwTwCCNN9kMZ7PuQITDWigYQDfcwGEE/JELkjd5Ek1XYdyPfgWz1ZLYIeZhW6qNkh8j8imnivhEVdvHyFdAYPH75koHMCnop7DAssonk2xciYnWXDMCcEXYnobBEg9wJQGj0Up6GyjZG/IaDYp3MBrdHlTNu4uiVeSlagW7ryDmOVLdpwbqiGqeikXTrYxRpML2R+jQhJ3lGI1u6FKX8wkhR2MN4NwFdx2wvFpjAMkhWR7fdiVlofCKPabGcLowRkD5EzuMSOoEnwHsA9wwtsqYthQLTYBRjg5QJRENHSnSnsPDGg9IY+gGoLUFD0bAPRmYtPUjAkg8pLfwWtxV5DFWSh3beA0rZDkTuRsovuWCTGlSGT/ANgwqbydHo9MGNHtIwsdEnA3Nibbwbfgt3uD/B5mT5AdLBmrFdNLOQjkiESUXAmKh2jgjYUKpi5THHrl+ApvJyYRMrAmy0fNQg0ZMbhDfzG7kClBMKjTaE+YuSM7ob22haDTMuhfpDB2mCPmBo2wIVvcU2Rvg8DK8j/5QtYxpXHITgIZQ06RhgDPbYEDAxIJckBFabUA1NHBWD5zB9pKGk6ajYYirADrpFHl09luIYhxtb4vBug1Y39iA07iQRRQIgGDE6FRoglGmf8AzPDvgKLuQp7x+wr2vD4mRb0cCvl9xXYvKpfT0M9jkOAa8FCRgxaydeBy6EAFYSFqGM6tgCZSgoyeB5IYFHYTsHkXKGyDWvBDE3Kwa0RwNfb/AKg9FB6n4zM8hwZbK2Q2hAefkm/FiqojhGEKdhCwHbGwh3Q/wIO17fYRjgZH/Wp/timoPBQEKYCOqglhHsxdjrB6Fo9Cwemnoh7KUPomagtRsoejcB7Za7j/AKYNNFKJMTi0n/YZ4BfmvuJ8PuZ4gx9PhjXyGvNDTsI8jRSlKUp14PStRD2zbnwRUF+bEbL+EPal/OTTD4Q63S0QPAaX2YuBj0cXZjT5LJ3EQYqSEaRPgOAfJd1SiPlCfDwxoeEHZgQ5rTRL4wawThmNSrcbrYmbAMj7MQwpQUUaZhJ7Mcg7gvkXCGXB2iE3sQLQ3oEuFLm5FYYBXSf6oIzFkhC3U8nnDqQYtjCGe2woAlbaQw1jYbBKJS4EMuIzuws9naC6aDYZvGwPeUpWjyOBlRwqDrkQyi/I3yw9Znw7G2gnP9seU1j9yYUZYjmJGU0BnRCNlhnkfRQCex/sWO39GlFO7tX/AELEpaQtMfAe9Z7rOjPRydadFoYgQJUTJgLw5OjBhopQbGxvBTIYQ2AZoJSqiu2FiKLQtAk6ILUQU6MRnB3mMfprY1shrMCtCygz4Hq+GFZZeSDRBHA5iho6cD4L4MiiNoscFTVtN4E2LGcwXw6QoCTCUJFChyaGSH8pT2BqNR4LToPRiZse3LTj7Eqt8wooZNfBDf4jQP7Cas34Flf1KwkW5i+4ms3tROtndmMF44z7lcX8iNUvyJzqO6kN3yiMfwCfn+xREy+40rf8m6wLuL9i2zYnOIwiGLu+BphfyNSv8Y0vK/gb/wAaFov+xsmni4XJIeDERZj8CljOXGWsp8ZRGij8DBRvDyVjKTLS6mx/LDMPm4YKQU1zoxPJYoxdeC6cDEx1HMQl4HUqyaMhBrkjbFcI7AnCHGCHswL0FwEVgC4nAg1UYyxC4ASNwJwICDhoe6QztBhbgUZlBBLY0hCRU3E2RHYIcjJIGAM9lAwKAEIYOD5G4LsCDVUfCsAz2SNZ00HBfDPdbiopCn5V/wDUFNzkVgb4QZ2/7GqR9hacDSQ7JnoWawc6u4fVDoMW0htMmDoxbmI+G4FrLiIS0YREnMY6ng6QvzBr1lPbYM606Iez1LQzojoDyvInB7QxjEqNDABmxwDxkFEd4MoSybFe2WGzDNGgmJQIOb8M8Fqq0wogwkWdztonbG+yRvI8PYnMwJ3yISpRKIwEExsKFDQPKRuCx5C1SiZdnsS1U81gzz+hOIA1Ragv6HVbNDMPpKFPomfRjWam4QRsLVG57dycolJR5MhzHtFL4Q3n/SP8EpCVr8xZBb39ycmRygbeQYbgNPQ7tGPgYbn3Gqf+YTxC5JW/yQ22GDJ+5qkPcF+QKF2OzDcqX3ixGJPYvsSYb7BgBiY/2FgPgX5HYEN2GDzuacqmTI2qZOwtUUlPMDVfANVQXId0Zw88FUT2J4CkvfRizyOiGUryNqd0msGx6GcvAqvcpZJMs1S2IQlCbgy0oo2aKHGw9xgy5xO9ncPgFqoasHeBNiAsC3YWbRQQNWWeMeDA3RR9Vg3bPIQ5PMeQ808gSQa4CbgU/wBpn28QZOa0MIZ7KBhQBkxUBtdDcay0wNg33HRIM9kI+moxsH2emnrt2m3xRmZOw0AlvCI6eRiu4G6snmYlKzyMeLCaL+CFoKeGOfuqG3KLsOfQiwsKIn2Ewiq1oP78RrL2wh1GM6hnraDZ00ehhQZ1QzYWhsKUTOjo5VsiCgPY1RhoGzIWh0gHcCZsik4i1/IRJd2ZkbDGGPIcjMUTMhf5QOWL4JFQVx7SLIVJ4Yq3FliUvwC0r8kgS8Ojp5OjGYR3X4DQkWid5hHf+Ifyn8GxZJk7smjgv5K/sNw/TgzAEg65OKGJYNR9G0exSnSiZSn1LNJqaMQTKwxvk2PbRWZKz0hnSxiXyLvkQ0L8IlwN+PL/ACehNmLbHWetnX7AyR7KBjmDkI3EdGjoxOg0HW/YfALGMb7EhZSIQ9COnkPIJeVB5h32b0AL8i+3TynmOiGj0QhewoDlMyEglybYMlMGwwBnsoGHgA6rWCkMuoewnakR0Rbg7G4xnsfqg9NR8m40Z7qdIX9419kC8DwMtBuEEbegYkapqDzXkih2dEUCKvuIa2ZCZSEfLFEEA1kQsLZlhlg2QQQgwM9NGynoocjEdWQTwMZphRCgZVVoXIGdINDQR4FBLKHpNklZonhDjRDGCZQM14AOSoUdZcWE7oXPNTfYcrXuMaMeBcaYLk/Bi0hJIRucCHzBwdOSmjjQ2XZPTDEz5FyRj3x8kbaN+QQRr8x5W/hoiWxxchF/7nuKr9gf2kS/QJf0Zp/B45o+WJv8xkaH10PRD6lhtTQCGBzse2kQhCEIQgg0QhCEIQSGiEIQhCCQ1g9aR6O+6GNKexShu2g8fuRIdcDaBpkzzISlvBLgLDQLDGJnF3FruIwQU6UFo6UKUomMKUoUTyNlKUpSiVQ8cm1zRYFDy0wBmgGeygYEbDFpyMzWCDKB+zNgGRNEE03G/EAjCnq/SB6aDjYcj3aZbE6jiQokkowKkSehObEofaMtmWQCFHoCoND3NwXQAMaa9wjCG3ByDBLSOiQkVFBhg0dWz2uAepgxMKJjYhIfdIQxbCjYxcAaiBCs5MA3mIawYADBZiHDAqQGiVjMENkuWZbF56csTjCUF8wl9zQNhs6fYZLTLu3yxcmAmAOmxBShdwXeYqwL4U/Skhf2P53k1mpqNjlMMGIGx7aKUpSlKUYbKUpQUog2UpSlKUpSlKUpSiY2UoM7xZDxC7KvyRdGMiLF2cfYZdOdl1lptd2JiUQlCqOyGtDnAQ0FjHsTADwjyepDPUhnqQ0Q9pDNAM9lAwcAQy4OedHaMrsbAZbQ2KSMo1YG8osZ7CZ/gPpqMd4+We9L9t3twBZUf3BjHZ5Sg75GgaJlEWAFZeYTMBysejMGIsdz/gZXEkMhCwZA3BnRnRmz29HpWxg0aKCBFEaYQDwg2GxuhcC+zSPlCyJEnsY0GaHYbFjlAQlCJqh3eELgVMkFlLyMIXghrHTiiCsuR/IZaNb0M1DZMU/A/wCuL/saf2ib/Ajp/wDPkf7Lpj/C3/U/wQo/6Ybf5H/cIz+5Ij/uotD8onaRnwdCEiH87yaDQ0Hth0tjMyDPcR6oCGEIQIQQzpCHph6q3GRvSHuKHRlpGg+LGtrhmJ3ID1GnyMcn3GfkP/mDtKmmhHQ+2PMhCdeaILVFGPGxYzUaHgwnTFndFb8o60JG0nkSWdvsY9GKPQ5ZyxSJRvYzpjRcHSlJYv7PZwMlNyXu1lKUFihREPZSlGGaAZ6IQhCMRg0LkmBBJ1DymkwaJi5B5CZAVIbd+TxASljV2UPsLl+AumowbIbLPdZ/2dPA6R8CckQR7gHyPkJjNEhUMiWcx2PR0NQ21FkFvewZZbp3B9sswLLKdY5ihgpT0o6I9bOlBnSlNkITBDpiGXwZIEMbg2BuxPIbg6cGOxDAWGRPNgswkE2Zqg4jGGP4GCy4goIfI0HChrmg+x1wHAR7WXnyD10TL5Ns/wCR/S4NxVlLgTXwCDmYgCm8rWjDNTvRDLn7LCNH82w5RoNDQ5BmaHuKdxi1SDw4z0UFp0kozGtPVg5cQUoUnic03RUjPZj62ilKFMRdzKYTAhiso5exSlKHIayYZgWMCfxlC5gMyZMjn/cDjD7iKO0Kg7aX4IlpIpEMQg9GWiSHoi8E7DNnKQpCG0Je0Z+1AkkrySO4oqt4GWPLWiHNaJCTgGwRKfgZKeA8ISQSQYTEVNsNzBZguTEySCCIyVGLio0IIiISQMkhtHXB0wYDBgpUJEQNKYEwaatgVoVFYpIKQSw1HjsHsftg9NBi2Q+We8+6rDW6CiHkZuGj5MR/5HyfoJmUnhw7iibb8BHUztkAiBUmX7sQlj18BOUczKiPM4Q0GxsbBIuJSowZTqz2qdGeuEIFOrYHQxfhDNhjIY4B3CjGjWDDIUQRcIUmC9kTjXhHyPzByTKbi4gkhCGgWs9ODB0/Ndkfty+57bCJ7kvuLcLksWg30KM/4Atmo0NDeDRkmhtiz3H+VnTZGwbekI2EAFFFDHDkDhX2GOszzVFtGKfM+YPkGX2CbuK/I61UGhLSIIIJCSJj/F4QrjMI7EREREQs4kJLPGxx324Q77B0wI7Sx5HUxTyiIW4hF5Z5xo4ZHCM2kNFNVM79jJyySAqSD6kGrOKjASL7j/XJKIIIICpUHZJJICW6IaAABQnQ2ZRRRRRRRZZRRZZZZfcssoruUUUUfIorKyvuUUVlZWUrC+TpSns/ug9HwZA2YrbYI+xH2J4PbpaY3fQfYYDWfBmtCA027IYBLJMkMhYVyTwISCyIOQ1y3y8EgD0QoyCrMEGBntI9lFPRQgzpYMgZllYaEeZDyzTybCdCkz7IwkIiKMaMdoDijjjDm6OdDIFxE4gk2iy2TSBZgQgO+IfcsNHo5N4JnTklw91gSxt4TcP4VnsU9CPcWzRBQQhgV5sjEopYD2e3nPsD9qbJ7kEdyO55DyE9xS0K+BJJJJJBBQdsfAA+ALLKWhvCooAKA8h5y+5ZRXcUd6SMWcoXzghkXwDblDEgpyG3YLtGJSRA5YltiaqJfB0bJFke4kEg8HdHA/4Vv8gejYZmGIK7BgybhRwN+4auGMXB2InYbC+4vsxt2ZXZj7Q5Gpfgz5QteTsJjww5HliQSMwIPIhQaIIRMSi7q2I2O1l3Gp6KhuWYbKdWCPYZ64FPQGwhmooAHr+UNaGLTCZ2TM0N3CAxAweOQDGAbyGGwFUQtDMoJaq2LiQmrSS7EA5jk7Hq4P2fkQQAe8zwqfpMnPAuBM34P4qnWH0K2jRAVhzaPIytNgLB7dP4CnroWZ7CtgpHkfRs0pGbAOYokJKbPIl5P4EbjXyYpbGvW1qEvYXAdUPCLawsChh/Itvk/kqfTqQioUfDM8cgNRNErsN80iMqh2kGQ7yMJOwTtQdOEPsIfaQq3MM/MFc2N90hQ6JR5iSDGh7AQSCkL4BYsfRnoJmJAmp6Kewjoz1QGdKUbG4PEAZBCBBoEQN2R8iczk3gxBiwULDeByzMwoYbOMTkeSmODLcWy5LxshSKJEgxjg6zJ9w/sOR6u4kUe+z/AMv4R8JBINGP4SlPqls0EN/GqIIc1TNz+XlLkGEgk2MmMuhAYMxg4HTa+DgiuPDMlBsmz0LmR1SQmRcndHI9mn8fTpQpT10pS+uGxLTIp8ikLmGWGOhJwmYrZtsVtiGtiiAUh+Qwk7heQruKORXONRjFEZ0YmaZsBMQsqmB2DlXPPhE7RAxRso4YSCJ4HMDZRnsMEM6IKDR1YUbKDyyANCCEIDYWX3DCoXRlmBxPASZNiaLAHzENhDEegotALpiQ4RceiQ67QYKB9DEOP9/9BYgCwe9T6insI9pnoQ1RYZuIjbdF2xYJMj30IORMWNZJcEcsYNNbTMka4Et7WUJN6I1sSb0jkWlcR8iTelT30LT5FqlwT5SPsNNbEm9II+wxKQOVplg0yn8FFtofuAeVrQ7aDZENODCnKGbYdKDExr2Cp/VD5QlbG0LaQuakb4YRyxizoj3GIoM2pdyNbQjWxpAss1tA8bKUpSlKUKdaCXU5Mq4DMsNjq2gdWzgsir0gVekZqn3FjJCir0ilKUpSlKUpSlKIkxvLFd0M9h4FXpBnsxbQqmkZljCJiphsABexFyLcjaFlvkAoMlsqwLRY2Gw2hTbSCnyNHSnOpp+DFjwMjWcku02YiQgjVliwh0yRUDQzsHj4F86qgTQpUbKNlGz1XJT22DKDOCHVISyQhCFCB62KLxCQN7Y5gL9hoIwkOmcdBgKZJUxwsQFpTa5EZWayC59zyMOdHk9MyEe+wZVcf1X/ACIYoaCnoR1Y+iuSlPSz0XJ0p7zN6YZBLODhkkpUmUTXmlPuTaq+5ySWBqNo94H9ISha7EnhdiDWKWHvI13nMT4tIW3xbQzSlJ8jY/mFLwPLGNvD+BlA9dPTR8QV/Yd9bHY9kNVSE+R9VfI5XhsaD7MtcIw2zBkpjRgCMxaWFsc7CXyPU6VciNMqMvAOTqaRinWiY+hCYh8iGzjI4gbAcIFaJOeuRvM6fYPxTwQV+AmnsPtDK1MmhUE0gyyiTuW4tltbIawHvgilKUp6Kenf4H9Q0eNZ5FB1EqXAnMJ3M5yO4QL+w8oSd+4uaL3Q8AJdh1gGSQ7Yo1MDqJrD+D3v6B7YNyz2HsbMwXwN6AxzQ+bZUYvgWOkl2GqwSDjgbHHYF3+w5ScGEowZCJC0WIoAgHg+QLJOVxy8FjtwZcOobFDG53EhNlC+RV2Uew0ZBTLyQ8hsPZhOoedqERAOwaooGMKBioLsbKNlEPZySD+RfIaFsfyLRvk4IcGzZ6IehkIQSCEFkN8jeBvIG3gx5yIVLTpwUbWx8bQ1yIYLUBZASEzHCyyYCNCbYqV/2XJ05oc7CPVwXGA4HWD/AAPQgiwOhIe83b06/Cga0hMJGmN5yL5EryLDguT5ZwfceieSlyWnvPY9HBC4PucInk4Ho+9Avk5NMbLD26jq52D8l5GyaIGL7CwuRB6yMlEiLx8I9qnoRsU5Fc2oUzNsShvQncR6YhdK4GSa6ojbZtiEl7YiuwGhiUmWw9Sc5YpTbgYWeUIqylOlKUp1oUpEDZTMTdYp0ZQi+QpK2wlppucjMitY2TdaFvWoYt+g2oQs1Z4ycBsaSGzaRuF3ZGxCVqjuWE7pZSO0E6ghEsWl6JyNwJwM23scOMCp81CwLWNiI3I/BiPhCGNaER7UGkP8A42y72E8JCzV65DZxt+SymPkb5joS+YLTG2NEYp7R7EIQhCEIyxa5Kqzb5EJL2x05s3L8yux0fAFVZtkecbtGmhheBmE6yrseRDWhTqdhktXKKBR8Ci+xfYsvsV2K7FdjwFC7BhQblrXgdKTAfg4Q8HKid3YbyrCGHyT/svk6Qclhw5ZvIiTts0OnqZ4Hi8UStjsyqs4PCeBk+GeJniZThngPAeM8YuyPsi7TPEeIvvQsighJs3hKN/9ABm2s2BJ5Um23yKIlmlyOyzjyRgyK+Aqx5MBjjI3RLnVRfuXBhUIXAs9jUY0MhYbFsYxfAbZyXOjg+UcHAso50dadWdIdYQD0IGXYYLIsElaWm0x1sZBCtqIoJAGM2AbIMQ5UPWBkAYppAR00N9jsPA34ZhawcF7Fg+zKfKMt4RoLbGuyF8HurYz39/ODp8kLIA/KEhNoXc7n2FYXwPQ9HBzo99mRwcC0fbJwXwaD+D7DF4RyPY/gWeD0o9hnRIY50RNxjDnoWgxCAUpSlKFKUp0p603jZ9e9qw8ZjHnQpl2YPhQfNI6YGzCE2VJFXLRM9TyY8htthc5EwdNgmRC87IYVDgpU7+xLWwkXkbxKehzUdYUUUUV2LLLKKLLExZQosCyiywEyw5I2iSSQkhPYIMuQnFd5YARCeAXYF2TxD7R2An7D7Bk0JOw/EWQQPLQg5EilBkXlBLaMGoKADXsYNCuRYCAckCOw8T8DBHYa9hIJfAS9hL2HZBAMkcCHArMHoRvwLmB6FyYBIFKCEAQHMp6vgobDE4kpfRQbOmzqjro9FNnVnpRs6wgQgMpRgggLBYNwYZMKaRobEghnAKQaCBvBygCnCiD1eIcH3OnJ0SoZ9D/AOqRCWvZC4GyR6Eoj6555OlPaR7zYMisRmxMgx9GBg2Nk+upSlKe5CEZQKLLLM72lR4zY0nkhnBDLSQgFk3sejEwoZMKq0fyNsLimEOmnQo7QuN5LDvwfMsiv6sBtUaXke06EhBCSCCCCCCISMaIwJIaRgEILsC7B2B4zxmtHIHgPlG64ZrQk7gQWu4BARF2hoEi8Ik7BeIlCXsJACOwS7B4BB4DwCRwEUxAXgC8R4DwHgOIeAjsT2JJ7FODwEdiCInghBoEJ4I7EEIAJHTY4dJLQ1nZUgw1ATE8FUAUsYlRkbsCbNZUBRmMKcFAp6EdGdIMKexAQTAJnrsBRsYBjYkJEEDVTbKKG8Mf7JgI2IexGgJcQIuJsS4Qwgf0Q9DRrSGJAKRJH0MO2il5wgyL3qfwNBHs0oBxKCRFnBawNVDuIsZ9NkhGRkKAASSAAYJJJJJJJIJJIIiIwDO2T7OJR2rXDGo7ozG04NCrMDQ3XjkapMT+4qyWoViEDITS+QuBbbEPyTNSPhQxtwb7p/5FRYGNqrLgkJCG/SE7hnjZygThH2RcC4aA9oN4GK0MHgO8iDQkLSPEg/GcYJXAiG5aHXQmF2RdpHiR4TwEeBdsXZPGeInsQR2IQh0hDpCEIQGiEPTD0Q6w6QgQgQICR6c0eRQRlKx4tQOMaClAe5nmBsYvt2BEScUGyjOlp6EMR6aehHqQ9nrowNmw42PIgjghmCFjHPjQkc3TQLBiMCeCiiKhodxvIpu2R6WGCHTg+42F6Povnz86Et9xmaz+TQU6UKUY2UoQQFoxD4OIFWiHp1ACsssooIBJAERCGDBgiDAUggggkkkSkBEhLAAooooooK4JgxcApP7Gig7i1E3AhM46wtKSCMsCdBg+Ro0wHM0zprgc48Zr5EppuiHBEdw7oqvYxocZU/JlKWfk8jyzFbEISCJmBDhC7QlwMvAIcC7SH2h2B4zsTsDwCXsJUJBQQIEUYkdYCAghCEOsPpYJEIfTfvnfAWRbxAF2UJJ5CgwpfY18m7YkUJ8Do7PJGAZ0hD0sEeyxFOqPS2U6UuR5BIELgoyKTIIEqQSDAYexsjZuD0bLdCa4gkejgp1hsOD4FohZ9F4HV+E2fZgmKB1Z/G0pToj0sYNiMtBOI0CDDLwwwZI4Bs4iDDO0H4jVwNAkBhkmzUZNAooorMmTJkyZEmAHgPEeIvwX4F2S/AuyLsngDXaF2Bdg8QuwJ+w98HwHHB4B0dx4PuSKKWe4NMrI1RxSqzYMelkbBumWh4E8DSGpXJ1SzPlTHwMbQoGsfmit00hPJuIEaBsApRgAEiCQkQhCEIQ6JEIeiHrh9BShQp7FKU9bZ7FOlGxKW+MiX7LfgXU2yAqClFfc0RBDNEOe4n7CvgkRkwVKVBuxhsp6mwoxnqZ1QwR6aFGKDGC2CWSZIJGw0FoIZ3HVDcCejwhqwxKoF4AyJUmJX8bOmuAwdWcBMBjQLLSFin0Xyb9Wf5PGCCBNn8fQQAAAJJYbgs4MWhhWPEIgUYh8CeyFvgTwG9hZPApwPOyH2DHorweE8R4Bds8IKAQRUWV2PAeAHxPifEJECIkCBYheAvsR2Gg8QuweI8AuwLtjvCPAiXA4aEkgY+InsjPvOGoPnaC4rLo9dxUkCQ2h1vZDYkFPZ2kf4HW0cleHhCpmhq/ciZKCEckJVeTZddBoIQh0hASEiCQjpD0JBAhCEPpqdaUFKUpSlClOtClCgAoUpSlBSlBXmCQG5GBOMgIDBsY2Ybl57BKRHghEPAMnYRCHj0tjGwsjrT1NhSlPRQp0Yj0UoU6aKXI2BBBIEhAMWoIsNkzCHG8hWLZixm8GB88CDnR05HTkh8Hoe4CxEfRSfhv3/wBCA7IQbj66n0TURCEIQYEDmIJGAW4QpoiIiAGAHOwycAMPQoa8B+AgXiT2EhPgkgBMAE58A+EXbPAhN4PELtnjPEhdo8BHYadiexPYAwEXbIQhHyNgwA2ygggQWvgHi1jJ+cC4zQkNjcWXyZgKyIvW/YWgE83kTOkfcKBbXuVFieWLSJCNNdH3iZfE66DUdUehISOqEfWU60pSlAAGAKFKUpQAClKUpRgUBDBAIAgSshpUVomjEUxaAIJlKMAkXelyyTJCHKw4+S4/IURF2MG6MIQ9TOrIeunVDR6KdWdGwYwQSDY8aKMUgg5qvBHyAB4gDgCcGrMTVIQthDpDwddmynkc4AZQ95LOn0b/APhnP+RHgWE/4insZikIQ6QgIQE4KQgfZH2BgbNh5x908o38jbtjlsbFIQyGoQSIAQgCAMxAEIsgZgIJJBI7AMhIAACAhgmH8ul/5KX4GbE2JlzifJVFq7pR8Zh6FZpYORjpon2YaTCNmuzRR3Lggvchto6I0Gs6o9CPRSlKUpSlEylKUoKUpSlKUoAGwAUpSlGygYfmNSe55CO5PdE9ye55DyHmH3zyj755TynlGnkaeTzj7g++ZdnaD7w07nmPMPkZHcjueYjsI7jXuQICniBmyENVE/oo6IIJgpZDsIhPTfaTxGhxA9ZqgRlncDGjANnqR6IMKFBHt0GeqVg6pg0I6B4i4J5MwzxDGAQUBzAkhK4jDHwI6cGAhydF2OkGMezMn0bW7S/qhm0JBqPSz6mn0MwTQghARD2GNDQ0GCYQaIQaEIQDQgAAAgIBEkEokhAkEgiECTAEQAQ2EiBLBMeBCFD3REIXLzEhyM9cMhJJcCmxuPUaW0Zzo6I3gNUmVmuASJWWZCqofFAOoNZ6KCGxMohQgUpRISxhClKUpQAAAAiO5HchcjLyk+Rr5H3TyncifIxMT7ouBH2QInuBAgYh4hmTLssbdxv3K7lBt3HORnlj7jGzlnkZ5DzHmPMeY8x5CnImcnnPKPMdyJ/J5B90VUw0CMQeHS0yibA0++cGUuwhivgT7ixYFvR1+RIDA8swQkKUoQgkCGdWezCnXZ6GdGI6AaCENHTQPCHI1ORvdE0PmdoKzC7huhRyEsZqGQSOuiBGI5OYDxg5B7ErEgjrT3ltDtv/AOGajSQtH8jNCCBD22dGDRAATIACA0BECEIQgkQgkQgNAAgAIQhCEGgJHoaFmSHr2IutOC0T12wc9PgHsKTO70MRASxmdYPuJaxpYOyh+Q6cXbAyXmnCGXoLfxkeIPZ00GIFie5BHckgZS9zzEuRZbFXYphp5PKhiRFlgJeUotiHJ5DzI8ou8LvAvviPI1cBpD7AauIJgImGILvDynzG3c4DH3B945pjXLLAQnR5RTY8zPMzyM8zJcs87PIeYruVn0WRN9i9gJ2lRds8Z4y0bZLwJvqKMJW8rROsi+DBEhNIZ117wTqZVxgOiDwvBJ+H7G1kJJDGxtsbGIGiEIdcgEKNg2UKU9lHqpshDRRnWEKdXgvxGCXgZT5PSMgAbZEIwN4MLZEhB+jrg4PQw/IySfR+KE2J5Jf2ZhbR/FU9aQkI9EPahBohCEIQAYEIAAAAQCDTIJCR7sIDCHtUCFGwPzMPDIiDESMSZPQ+aUdqkiuYe4hibpeFDGI0Cx+Qv2HKMhvKWmikbeiA7o5HpM6NEYkZAPuDT2eYfcMQyPCZ3Y++d6PlF5Bu5Y+4ynLPIx71NCJa5PkPnG3ueZnyCRyz5Rt7nJMffZ3I+6PvM8rG/lnmY65Z8p5wBHwgeI8R4jxHiPAeA8AXiPAB4DwAB4DwBEXgPGeE8J4TxgrsnjPGzwCN5QnhGREJETdhP2E4XgLxEvYSdiBf4BP8sW5KrKYoeAIGlonYDvtbAutKKDskJEMEEAQh0SGel5Ielgz0sIehIGxsChHoQNmA5grx4FYoRYykNhsxQMMQlSZxPIQbDI/J14CHTgGcxT6LME/wCHlwQaz6SlPrIJAj6KDQAGiEIQhCEPRD2qU6igoigzQ2BCmA07kGxBBI0E9xpdnmEpIrHJQx3k+UIbLEpLawuo2jgKJaKDUN/YqdUq5Eqy2WRPINjyjEyjKYlTb7gwgPItPB02FEN9y+ZHIfGIacAICC8T4HwF4i5w+AvEy4PifA+AF4mWkYvRB8T4C8T4DTsNOxA07D8SVwST2GnYjsSuCew17E9iewXwPgfE+J8RM+Cuwm7Cd8HwPgV2KHwK7ALwF4HxF4i8BeJ8BJ2ERdoEXaEZGRvCPGeARBEXYPAR2J7HxASDlUntkXhgufAGMHoGFh/wCATnrll8lYwxgj10QPQzpToj2qdGdWzZ0Y4FsIDEDYZJDhlBRMHgGUbmRigDC2RI6Q6bCHTsP9EgMf9jEg9mns/wDiqszHdjYH6+lKezT1I9CPVSlPcZ7VKUFBSmAGQKCAoxBAyUWhkY8jXuNe40cjQnuJXI+4E+4ZNjTuJBe+SlyeQXeLcnlBQKF+LSzoUlSgojrhkntiYrDnqyBAtzOhiFoWwOkZTJ0grMDIdxaHTckWBeJ8D4FOD4nxPifETdhNjAnL7C8RcYfA+B8RY6HcBujQApQDYDbGwGgDsdlHzAeI8TKcCdwVEzgRrtngESbsJz4nxPifEjsT2J7CVcE9iexPYnsR2EvYjsT2EnYnsT2PifAEHxCfiEAAEkkkGHdjNYpL9iHqEm5HEwbMuR1CZbIAv6R1mEY2GhnrZ1bydWMZwdEQ6MJk6Q6o9bZRAtgzpB4MBnWYMWWyMoKkITsxj5MZyEcuXIlXwsiR6rSCkOTozkayMSwLR7dPRSlPFm/yfPVQ7HsM9FP4Sg2JlKUpSlKUpSlKUoKUuClyehgExloXA33KOMAZgwIGi5IJ7kjTuQ+ReZLkjuNO442JY86M60PWTKNgP8g33MF03kMo6NbCJKZCi/yJBvsHXIPkBuCVCSpjSgptAiC7h1OxPfdGUm6DEaNlNJ90MbcLUaCY1mZMBq2MianiEm3EhpVhcqSswhnB/jD/AJEEmNaC4wJGSLfAl7C8D4HwPgFDDggKXsQGAIaEi8G2GqCeMD4WPjDIlbRZ9wChHY+J4BL2EvYnsJexHYlcCOxN0eAXYJbErASCSsgJQGsIBNgSJJCSSAQYMK9yIgEIiALAYHAoyHDIYZUUeQsD2vvJj8tNoX3VGk+DAYFCThr/AJGri0gNQcDYNghGDYGxFOmkDOmgMZ6mUYwU6oEdGDORnTY67DCkiIBIMC4XTYybHVvkWUvcpJ9h96Gasjm+YLYcHXZ8nIwXyM6QgEEFOqY2UpSlKclKUH5Kb9CD1iFqz3mFKFKemnop71OtKrujcyJq4eRhDcIJGRIlIIJMBoST3JJ7iSYBoEp7HkWeHBLnJjsKkEj5iFkjMEbImMBEZI5C75TsShScol7nnGx5BP3PkfMeYD5Dw2NhlJ2eB/OJwY7k3oy2NeRrKTgUW2xqGeRyYvBjzionmNspTAQ8tGCU7NF4CR8HhEnY+Ax45kNyFxDE4BidRLkv58CDo6LTAjBahwU0OJLORpZ3GITpdGUzOILSwRg7m2JLtA7g2qiesoJkNjbLSZ8qjAx8GVCVAq0ECCIAQRRqMFSmJ7QeZHgegi8i5chPij7KlQltFdhXEGvYadiOxPYjsfE+J8AkAERGOUjgGJ5VFUIsEyhL3MoxjsM+TkjSYI7YMfB8QAAAAEmzGHiNooqzA0RLDDS1I+QtxpTaOeBgTFlqDowIZRzQaXegr5LC3GLUXBJnRV/QzoQwXxC14kjJkHQJSBUgbQ0GLnIjFyhQaoUTozZD1IZDqkC8g5yLCJQZjyGH4YRFMAmeiEZYQGRiCCKVRnbGL9oNzr2YuvcQ3byxKE/Ifdi5wMxwSkmC+DAZkGhGgLinrTGPZpjYpwbNC2Y8sRjkWhkzez/LFdqQbYPdozpKGOTjZCmzF/yMWRmiwp9DQpO2MM/YShHwjzIaAbg8JBHcDOBgvyU+Su5XclyeQXELLdPMPOkMpZGO5PujNdii0wsRxvJkpgYS7D0Dh7HBzkaCuBRQCo0xoNYnKCo1LDjgiEkn7xFeLSEqpDa0CHMGoToEPBA0TY0RLEhzZfA6G0uBTsfUxGMizDQMOBeIsRj5Qv0OIIgwR04IRmmh19jFuIkMJPYk3DQXGzj8CUe3wLjUhYTg9k4FrgbInZVBCZ9+BquBmDdwzT0UGSFp+Bb+CkL7A0qYJiewACIokttRyCqiHUH5i2zGQ2bGYg2tQpGxTLDbQ+qYOySEwQg0QhBBJJJJJJJLRxDJRz8FUY3tGSuDXkMtCyrkSMYhhaZw4HqWx6iKOXEICQIAAAIIBJ5K4FEi2DGo4wXFjRwjaLuhv2MxCjyR5cGQqwIWoDquBrBO+fIhk6uLgWdq4IGzwjMdhbRlqwAUoM7QwOuhjplhCGUK0jQoCzY/AhsoxnoZClChX2PkSIZQZMhkyV2FRghsYtEBuDHGpTyLkRQesbgQqCWRPKYmm8h3gfcVMrhLufAMnB5WTI6tZNi3o50ccU48gwv4Bj2YjrTpTKMj2MyKvZ8CreTkyhUycHgg/sQmAXvMz2PkQZCsgVhko2C8hT3clb4Ol+TznlPIXvZ5T5HkPIeQ8w8zPnPOxEnBNljUBSBSBJ7HLkV8mY/JlhjAoJOUVsjE4nASBBBJA1EiRAAAEPjRghqzAI2InKDTymcWEe0cMV2FApSlMV4PmsNUR5yMo0ZhdIdrwyfGDcVCqUZfA7ItiTG2VOAMzkWyGhKsog5vwft0M7x6I8CXBEAEAQAQSIAABo3QADEoNiZ1Z1hE9zzHkGvk8yGjgNfAfZDVtfyeP+Ta/lH/AL2bb8w1QSojyEy09LZ6KU9hsTKddDcTGlsepbRJDyXdGlY2MBMDlmDKXnwK5cND1NmMQl8obiM+RCw9VAGIh5KIIANgzqzoj0chAp1oaR6UdYNjjY2CC57MjlBQvsrgMFasx6Tlmg8gg1kNBIeDSNgyHTgg8IbglR7NPbbuYL8I2A0P4JHvUJAQAgAQCQgilDKENRiihEnKESCV4gXifEEOkKIRlCYbDBFOUUElAG+xiIDQppDQgJ0MQuqTuKkygj1o+EGAJ8uwcI6SJj4qM7plgyjMa5rgybDsVyeBWnaZDfsAkCkyyN4yIyqK+TIwO3+sjHwEDAQCUIQhCEIQwYKgH3Bp5I8nlPGFuB2U8H8iW/yH+yTYEeT9ppq+Bq/6im19j/tQ08f5H9JTjD7DL+o2f5D/AO8NmwVIw1dt+T7nRQ2zYV1X4E8igAYgoUKUpSlKU6UpSlAmAAANTbMsA/JQ6QgM1yoMTuo3OBCXsMiaT8lwMzzSDZCgApRDRjQcGAIpR5Z0Q2dMDqmdGdUMR0QQeCgxnpYzYawPBSojYioIhBmYX1jFmJMgnOsIRLC4EejZ0hsZwHBTqts9mnrpQWWN8siYC0j6Onvo6U9qnzIQgginTI0wrKExRRZZRYMT4HwB8BVwfEloQBCUR+AB8AAAAICRoJBqJSQmBKSFIJIJIDCFYscsIS4Ix3yJTWd2E5JQCQhCHo8Ej56pTdmax7HI6ZitUWocz/JkocaQvlngBSO2Dbmx3eJVi2q7GtFJnQ+nMU/vgjuPvHPHkQu4d4d4d4jsB4h4xDibT8hv1jbC2f22cQfwhXT/AIHIH2P8oM5b9w9Cfca4RtcRs5gCtgfce8COzV3+UWct+RBgxSeRUhJwbnSikCyUjoJyEIokSwLTzE4ueAgoHhmgKUpQEgAUAAJICIpmEHgFKZgayIKKz1eBQISoXZO22xYsXgfIkNXe2gU9SCgwzQ0DOnB1YbBHVgzpBHoZAoQkEWiBQuCQ2MAbGIgeSw2dgeENWNp4CNCbZnayAjp/QYOnkQJEOmhjFFOtKezT0WH2KifHt/lh9j6TBgKeihQpTR74RTldiuwmCj8D4iJ+J8ReJ8RL2D8T4HxPifED4C8BFJ2I7CaEIGwuAAAQhCHRCMHWHoh0SNAhTGJYMJIWGYqMrQ4ocaeilKUpRGPzQPBw6fHA46YI3C2VCSjDmkYiJZNxsLBsVCT5MhjaSbHLgY3RglCcMY+8hgrOGTWU70fKGn7DIhotnMfEPgJHOI5rhdywuuAlUbwbNlIDp6GaBkKPBG2NhngWGlFdw5BjgHcYwLpIJ0yEWQtrJIekPRLgQ1gcmJvYYMNFeEeml/YI6AI0ZQNlOtKClPTRoRQNiFTEMiPBI1aDr8TpCHXxmhHamUvA7q2eW8i+JyFJs0cu5QQr4QpSnpQ0dcDg0hoYBnRjPRQdPRRMp7egpMQNDcGuCUOBoAICzgu4fgLJDUZyIUaSCCBT7COAtHoOx4GdGPyYIemnSntI8pL9EfsISqcnus+hZ1R7woIFBELPQgCp4PifEQAJ+AY7HxAQGIiu8BdAXBD1UoUp7FKUoEKMGkohewoYX2PI7vAR3J7nkPMeUE0DyIaeA1cBpL/ZBFRjEesARfBFdCZlSh4xXIhcAyoWSF8GbY13ZB/rQiYQhvaLCFNaCdL9zZBPiZGguwkbQFpZQ9pAsFehG1DajGNgFrsY5KuRWcJiPuUmObGEE4DYw3gkY0ANQZBoimyUEp4LYF7RIYkrkhgmpNhpIMTwLcEB40KrgPhf2Cw/uAjRggQAnuEGAgyGKj+IMoU9TxRo4j2JRdkeENy1OChkGE1SmodIQiHRmnRN8JBaQlk8UQ34GQf9xTwGExHpQQwhwGywbGAaOjwM9pnRHWmxjZT0MEY2SQwYcGh9zISZSmHQyY9l9GRTkPg67D7mwgbOnAxB7VOlOtKUPs/+4k7jKBD6GlPeR6KFPSzqMIIXiFAhAkAkgEAoABgc4xcpQHFCDClKUGyiZSlAKMAgAAAWyMgxEIlXYfQwjhUUWwzbDHOPj/YZ0q+54oKchADYflEzn8okL+4vg1Yz5IpsQxhb2LBJECEUeVDha/JSlR3s+xiEgbbNsuBsbyiHYGjIXZJhZvnQpixKDOqJeRDIZkEy5Gg4bjJZQBsyYqmNeSkd8TbY0GGWLQ9YY6G6I1kaOgeGJ5srZkaLRPsS9DUAAHIxDEio5KCROxTtiWv7BOamP5FTIRtEWPyBXwMa5KZIdhE2K2pG/wCHFsS9MkdIzDmC5AFQJtiQUknonGdYo7zZGmjS0ynK2+ByHdsQTATKUKBMZYbBJFOtaOjDYj2KECHSDIdYdIICGaMx0TuDQTAlrMawPuLOIgxOD9vkWn4WRIj0LeA0jpycjChxDsGJmjCnpp7mOdz8IoDVbo9yLZ62e5T3NH2On3PcaABFFFAAkkkgkkkglkc4wY0UTyYQEsMACgpSgAAIILAYKIohoBWmNbDGIdOyxYJ6QpsIoBMCtCMOdk6SPkFuQjuJRA60KUC1rJIxyV+jawuyDAaDLeVkkLYOwJKbQp7G4bohaYzaI4Y2ETQtowrFCA7aAxQeYRrkahOLBNQsLDYxo6PIsFAgODqzQlsgAYtGAYhBobJi2xIGTQ3YQULxqGCyruK7cojRlOlPRSjAvCaHFDD8QnmU6JgFGGyMFyGyKwCjmqcUlGX90VJGbcivgAExCYj0aQ3RlCiOT0UIJkYgTNhyenRQ2ewwhICBND7yhlO8EqmpgrMrYGkKOIVtQxshg/CyDhnHcMDwfo9PyGgsJkbzg0EweunWnWnpewlUq8MiSV8E1aeMiwy/Z7PepT+CZ9gUSiBCAgAAAAAAEAGAzjB0UETEQwAwBAZBJJATBAZCMSSAQSSJQmogKRFPibMIMhIWNcs2TZHHEobUIYMDWGFQTbvyHk5LkTEJnSlKd+eyMEsd3scVzeSkCUW8Idv0ISmp3Y0mwT4tFYuM/aCbCvhiwxNfiwsdV75ke+XcBaeQRKDWCgQZwNAyqjBGQOmM2hSjA1FvktLYwYRCEINHQtHYZGQEEaY1QgZTBN5ANIpSg6tDCo8iqYm4RipbMHqXjsE9NlwetjAlIZEOpYkwzkAYBIYLdFBLAJo3GmOqYWDT+xIn+oaxBEpgoEIQilKUGBjPSiHobBENHsbIQ9l5YbG8HRmWDEzog3DuELVbeWN+I1B0TpsHJOWYOjaohyTkNHschwDwD3CRHsU9KOtOtEynqp9FT3KUPuDCnobEUAIQhCEIQhCEIQhAhCEINCCECe5HcJaNWoAfzGhJB8wEkn5nyPmfI+R8j5HyPkfI+Z8x+Z8z5nzICpkQBIEjguYggDaCY0P0KbZKtj8hohY5MxMEWULpHHAnB+R6k+IFKUQlbS+TH23jRirPYEogMcFT5b7CGNAdnyGcgHlbIdHFVlrybcbyJqp8MEYUSX5RCja74i5sE2JLvmUD/KGxdyNZUKxiKso5BoKOSEMhrQkwTQ2OBsbG8Cl5E0AYx2DIQYgxhkKJFoZS0jJRRAOhhYIEhAIQytvdyHQbKepjA0IKSCrgzBlganGKgkkkUY0mIYA+AZ7QFF47GeVCMcExMTECZ1YM6wECGIGxnop7NPXcjCPRsSRkDBBKiPgc2w+NDHljUHHAEZWBAkD7BcEDR05On3OCjoz+yMhllshuh/BT00pTomUR/E0Z7mexQJEOkPeoJlEzq0JmymxyELtnjR4keJEOwozg0p5DzHkPIX3L7ldy+5ZZRQAKUrKzJkyZMkfYVySSG3uPyj8w+xR2V0cSoNITebw0SFG8mSG44BI0iXdKngTBlkdNUrwPeI+QwrQQiZ5RlfkNCbi+DoapPbGvl7seVjozH8Cqv7DlNNHgiSeB6+BgiSdCNpPIntLyFG6SQ1gOaN2/axElK+SRv7an7VF3H/lDJixjGxoKhpDwdwaNQbVpQuQAIWdIPMTABsAQIMIgiMGCoAAJJJZorgbCKelgQYxiUVRosaxIxoqAUTZSlKUIBjxkPZKKI0hughCKUEdGMIeyxsEeqnqRT1jqwY4xjNBLQxyYOqQAsNkCSbJLbJzLIU68n+SHJ9iFKU6s0PgKs+yIBoNARbwNBIGNn8ajR6aE8HT7n3Bh9wxmIEeulKUpSnooIQQFWMGO+POXAn3DzDosmqF+DxHjPGeA8J4DxHgF2zwngE7g8JfYoJuwn7C8BO+BcILwEACV2FULsgrsCvBrEOcVErGtQRY0EKMEwwaDDZm3Bo+O8bEVeDD5fBglh42fINEMT5JsP/kwM/w8fgSimXDBBEvfkfmzYWD7CPbAvs/SKYhP3fuxJS3YPCSITbe1ljdFntso/ahYSWzIr2UBXlq5Y1a1Dd+ER4N0yHf4ljgnuaCXu0wMrJ2F2K3doIdf2kHFXlNRjQ+BkJQUWWNmJgkFSCCSSCIwYKiAkEkkAgkUVmQm8hN5C5g0TjFuKi0UEI6MYAxjGhS5FTaWTWHBcWUFAB6WMVWuZmYkbEEIpRMTOrDg6o9L0M9PJ6oe0jomFICAEolghQMjLgWAONg2JHplyJ1BIJgXyNmkfAjpyaNGzpo6syTfuIehwaDUQKCM6Up0R1oU9fJ9TQp6WH3MnpZBMpSnSlKUpSlOiChRAhCEEbOJa4NcEsaokTRdoSWjNoRl2xcqF2BCXMg0E/sLjR4CUAUiAnsJOxHYx4KmgSrgPxFXB8T4CJKJKUJJBc0ZHT2Q8ygRoHmbYtA0P7ApgGcDJGKyXHYRIbyQAboQ2cIT4N/8YSkfu/6Ib1Hbsfg/CNmrbY8DYjgmzBrBgitn5t6f57EwLvy/uPFX7i6RPtyLpjU5ZO2q8j79ttuSyE5/wDkPhtZSXwFtkevzA6qeLLE6jsOKkv8AhXegngFhDwfNyO96MTB4CDZ7sNwEVFu/fAfrl4UcP5ZxvHANyAMFRBISSSSQCTYBSs6xllldjxF+DjBsNTyjlI2SEOFNGorRHVCEdAxjQwhCo6ppDIkV0BUUFKAJgAchVTd+BENJAcANBRHrY2UuSiOiBgzqj2Wewx6E8iGh6GHIglgSLBKjrLwLEGYPRUey6gUIcHqwejg6M7kHIJJNApRscZ6KUoj3KexT2OQp6Kfk9ylKU/JsTYmIp6KdaUKI6oQkJCAIIYgS9gEpJBgzAwaEXQ44MBH4hSSJnbCfB3ENbQ12FzkW0AAVIIiISQoFKUgkkgLDoiI2oDnpoF4GhtsoKNFdjUV0VMHTLM4xPkoWDkHw7FbPnscRfcV99EI4nk5v52I743gUEkzkHAjgm3BdHtJJWyP+dG/0WrOWz94a0T7jaoLOWUV/dBk8WU2TZVlWxGJ8nQTFU64fgevxGyxnK/bbyZpfwH5h4xX4oQFYxIwmucYrkMRoPVB+jvKZJo+RpR+Qc9DiCwqYvBFZXDNmfjJEJL8sRFVeBZylzBjVbfAMunuNRlHnwBsAFKUoRyxw608JDQ5R4i4TuQm8hnkJ/Ib4OUHZnaDex3EYNFWUJXA00ExILsiGxg1AuwO3OqEdGACEIQhBhaxqittKB4yg9oKXAD8SuxfYvseA8TMVCHMMIQZ0QJiZTpBoaGew9DOqR0Yj2GDPQ4hMpRsgh7BI0MSZZbljhxIZY8DASCNJw53GJ+WK5iVihiCyH6HgwbOrGFOdmgXYyaPaYaUKehCPeZ9X8HtsEIQUKFClGhSlGwCmRRqIyAggkJAgkjsQNQyEkIZHyIS6ZCXyKNF9jawOVh0Pkg91gewxVEY5vBwA4AJ3Iq5IDQ2PRkYg8jZGH8OgkNffBCBsvIc9EHokO3yhb9hjtU+w1Y8m2HwHJDXAmfC9jkM1Ej+ILtDbbP7s/wDW487f2EdcHl+Bb+5xqfAjM/sRDYDxs4kTZg1BgXWJaPb5P8I8v1nf7lcJfIql8ghdqkNW0fOx7C+28DQZu6otFWWWPuMS5reBD9Q/Dykdj/2TAfcw75jsyWUHcQbeRlChnDhN1jUZ9pM2X8laKCImb5Iwz+6w1ZKi0le+Rtvt+RXMXMo2QteBqdwo1rBwn2lpDzGd3EeGuCWQW+yGq2LwGNSO8dJYCRtFlyOCiMVwCIzBVkws5I7gJ8cojtwUhjoMjwIcAxKCTwECIXaRHYJJJBCIgAWFJE6aiQuKJDdDUZtnSEIQEIF2wYPEdPIIkfF1DGwbXQRkOSoGMhBBofkWTAKIR6IA1BCEeijOtoI5G4QbCoKUp63sNAZIyNCNmoNR5ZorY3oyhsWOQhkRPuNckOsJz7DZdtiKRggF3IzNIARoIIZo5OT07RpbOQYJsIWED2hoJ0cFpYWjYWeins0LDZe4UGUKu4bPZydcnpZQvAY7nT7h8BT0QR6Keq90aBC0fYaPlHTJXAQEEiEAGGglFFEJkEh/BE+CZGwtMkVgE32MDG5LBcdti+TQ9lOK6bRmboMFoQexly4E9yaH3B5chhnfY3gcH2EKcLfcTCC8CjYQ2hQ7aaHLlopE1qFkvcxRWEwmxLMN4wIW8CKT7igcg54PK/8Aak0jCHarwvsB/rXKuCoW+QacgXxhSdfFWQfu4+58EdHn+w9sY8U8sjMvli6VAUa8fAgSXeqKI6rTLlEfkDNfKNM/syhThmF9hPT9XLQn7jbE8sFrqmnKMv78BS9CG0hqp8C1n7G8Cy+R+lgxk9d0EP6NHiyQi0jeD8i4k0gHN9csxqOn9owKyRuA0LL54IpXKAtszhr/AILG7bbbOmf+BZr/ADKDmgonzqHbwr4DyPyDNEQ5EvyhT0ErgiaIWka6J3RK0MBLwfCBJBBABAACYQyjQtPBqcgFZrAlTlLCozGh2jPBmZPVCEAAITI0TBoSytNYFEwPRtqsY06LvDYhnsV9hHpYxHpYzrkXxkhoNaQXuidiB9heUevg6SAxEWYkJGaB5oU8hJDN/IOasG5x3Yla1VXTlDIVpNtwjOZKPsLwjpyZ5EdGfYMiPQx7ELinyh7A+B71kWzNEIG32H8DZ1p6ECKUp6K1xTyddYSD5R0bONC+Cnop0pT0SkDuG9oSIckE/EKY3IdL4OdHtMz4OBBnuGe4kLDZ8hondkyS8iFgAAhIhCDQgCTsVyPwdHTjZWfBlaMivB0VEIRLOwO0EcTejYsIetJBJjqnkWy78EfuLDXpCRcDkFjeIxcrFs2kxOgWNYUok2MpVVBiMC8DYuL3OEGjwV3Gs9mzADZcIeIXGHcxknzsgvf+g5YhpREiRHxhCWUH4I4/ZVQezzIed5x+wjFHnx9/9DwexZTC/eY+KJLLolokZfXMfBhcdzJ4UQChkBNoK3q21tvkexWe0X5EZBFYXyKyPD7o2OuC8lGRdIcqUqVlp8neiU4+7HDMaR4RnUYM4hOUK20vGLNftflE0vtmEOarlt+EJvsXPyPkLwMrD5MEURgPRoPjDMbFueB2RfJs+B5t8a8/JEi92mxJtdPsEdjnplfJQM1VL9j+47wCSlPuTnECF1Qz3WEMEl+STo2rGk0Nt37QDwlXgfE/QJ5AgAIQhCEIQhCAFgaQFApYp0yRhKrYlBYQXmLUeTKTwWQzDIz1NEIQ6Qg7L7jx7GhnNjOWH5lNDofkPtHHIgciUKCOjYzqj0NdiHWdzZD5I+5CPuHAQ9bHo6uCaMUJBibRn2CbJjSc6CTdMMd6O6GPyZqIin8wYUSp2JFtCsSSQSwJE5PSyHSuHoa7HyPLJdH3p5MeXD5DyxryTyTsxKCwGo+Rs9FOqZSnUI6fc+T4Z0z3DPc68nvulfc6fJnv+jRX3L2ZS+SGT06Ke8hA9CEAAFHpAJIYzozrCHoQhCAcEhSMtwJHB1oExiPBWlkbMG4iGxaZSnVnbGTkcQFVm52M90Mw2wGyofwQ6KK0MH9xiLf7ciUsPJ7+xpY+TFc13olPnF5FunMwJ2nWG8tjmq99gndsIS1O6VF78qShdb55JpAUO6RYCZ4hh/QOC+D5+WIrpu5o0X5A5tr94cflLJEDnEyIzH3Aa0ixB5/GBGJh/k7LPuJWX3rNKED60M2XmPbEWTY/uDbS/HCFEfiZa4hS3m8ihdrLIsnTj/ccpWKfBEcN3DwHrlx+xnFzWlBIpI4FFUpOT5ewT6+WOHRpbJM7E+D/ALU/0AbLaZ0gACgCSSQSkQh6UBHRjGemHSBCEIQhCEFMuDOjQxo0JnJ6aMZSiPYR0wetnVHo2x7IDIIrhEhBWVUxSzSeGJWhE0CgoHo8gC8jPAQiHpZ00GjsPQdyGxfJgj2KUbA+RhT2qI9ynRn0d8lPT9wZ7CPcQPQhCGACj0MAcJAz0whCHoQhMYcYYcTKUoUQkYmky3oWEdhL4DeMXBcvsX2Ez4EzhiAmchzTA1gqbQQ8YFpRFt8KzEJ+oYkDaoirf3HuRkrWBxeXvYH4Z846fl4V0a8YLHn7MEMzsT5fyIvsoc2nfEUqRwsy2dwQjEk2h8ot3CG3RRsp/s4zMpz+BskXZyyVmT8aUYm8YMjsNaD6Fe5LGBOHQ8wvSM/ZCUqdnkOuDggaehSp/DRA+CyR+y1Fj4BuL5C3+I0/wZSWPbCfnECOrpIJJvbaMLcyFokq29IMVtehO/gUef2V/wChvwzxDi2PZIryYnHA1OkOkBpPaGOINOGNHBgEokgEAQhD2EIR0YxjGfQJWkLAWdWBBoWAUBHVjZ0QjozpD1oGCPYeBFCjZI2IQbjQE2MC5IlciQHIJgYw9N3MG6WRMHo7nSBsQ8hYGhiGaFEDUaDQaDDzDUADFQ2etMR0p7FPqKUp7dPSj1U9KOg9CEMAkoR1YNBhgsYwhCHsoQgOABBSlBNEjBnkQDLskYOMGwQLxCWJ7QkBK4lyTNjkbX7Ewa+76yn2PsLrkarH72xjncmrLE9lHNA9hMiJ0EO28i+mtNoMzsUTXA0fhaxmoYGbTdg3r+ZC5y3GhJWtUFSw8q4/uSu/8PuMd174jRqLxOEp3OFAU2Y5fhGTSOmVIoWfkNRHYRB3qOUqHbyRYKkq5uRfuyAlU6m4yxo5+29Ialc3z4IcvY4/zCv8wp8ndMRrI5uBWoHC1CGY3IMC05O8t+Bosr7nlje5YxDnz+RqWCYuNhHVA1Ie3CQwhCEIe8gI6MYxn0K1BgelgEBaFwCOlGemgz2keqAkdGMZ0ZFFGIQaxBIBgj0GwTnCJ5wPGFOQUmCHTQeTRA0DwfcyGgZwCSlDYYd0eUpyX3K2daU9KOiCiCn0NDR7XwGz2qeqgj3EIQhHoQhBLgKUo2OOEwwzoz26JiYmJjhOMAgAHwPBg1Q20QICECCAgkQWCDF/GNMVm9fgHk4hi1o9+wXmzUhjqOleN/cTD6fgg1cFBZk8qvg0i+5VilfgjIAtk/yfnmhxVMLx28pMndVIlWkX4KokL6x8Mb5o0in3RFEj4bJF/Bjasng0Nzr08vsLttw2X8i8bvsg6LLzYQNNXg2J2nf3IRm99mTCCPgbFtVuaT8sb0Z519irK+WhRtsTFQXZ5EsV/vCKEXlvRAbMvkn2a3QW6YwUU6ElpyzSERUS4Q3RIjkzpt9kJbL+xDwHxk0K3sQ6whD1UpT30IR0YwZ7NRUPvD7Ia+A1BmNQhEaWAj0MYwzUFcD2I6tgwHVhD1wKWntcnIMkjMX0WZMAEEArAtDJmxMS5ZoGcxTrDr8Hop12bNm3kWjMhSgKUpSlOD106I9FKUp6KdKUKU9+nppT61CLmHSiEJjDBACZSlGxhxwhsZ6YeiHSHRCAQIEQCLIcZxg2SGyIJEIAQEIQhA2o8oyf25Ea1vwGobu0bfYQjH91gYZbOxRgqJJg+PE8dg2KdxlJoGNieRFrt6Ff27vQv/bkcgfcPfL0DPrTsnEdyUVzzgNcKZ/yRh5AVY+w2mzuI/zEGCMnnHJcXcKiVr9kGTUR8IhrdlzfwPudwogYa7htt3shY58w+0EtMbU3E8UZyR/sMZg5Ao1C1wNClKi7YsJIG6JD2zET/wCC8iytIwkjojZX5F/VLO4+VQx1PjJobdtHSHt09xCEdG0NB94aeA1cBLiNPEfCxI7A7AbQ2N3MG3keWN+2H3BsUYxL+QCEIdINFsUo48gEdR6EDPUj0bPceBAxFF2CGSVgwZMgWgRENwfCwmKUiwsA0ddM6bEGj0rJopTZRyjKUp0pSlKemnVFPRQpQoU+lwfAZPdpQp9ChHoTExMTAcYYTKUo2OOABnuQhCCQkJAQQxSlKMEINDFDwAtRa4IeqEIQhAyiY+URnH/mZ/weJmmV3KfBiqYH4AYn+Aal1Sa8BoZSt4MHM00KZjdm4YUWLNGWYeRNwXisVb8SL+6HLUx8j8vCJwwctGVOW5n3JQfC5GmnAWwx/FWg+wcV0jsRuOYy7aL+3zwB+nFhCJJsf7E7xmI18fI/tu2zrYm7hvdP5Mt/gJ/9h95lBNru+BMYDYSHkGIr/wAF3YprYCS4PWjZJi/olncfKoKdT4yadfhn0NXc8yGvgT4nDRitPceszGnDgW/R0zg1yHsMMw+Vi3yxt9xti0CClClKUoSfgzIekIINgeDcHV5GCEdGM9+nRHoZBiEdHhsmdggegYXxaCI0z8HSyjL0IUKPg9WWDBbOmzMGzyLGSgUoUKU6U6UpTpRMpRMKCZ0p0p1oUKe7QZTrgpfBSlKev7nWnvIQhHoohMYIATAAwYMBjGQ6QIEIepCQIBQhMp0YQSIAFoNRHYFiLE4AizIWBCEEhIgK4MUandxcRL7BCe5vg/z3kfT+UZtsv2D7bfAQr5RaII2OR/cSikchJ/PZh0Pdozz10j9KmTyp90ZVeY0PsuBmTmlJCE29wcRYB+0HhnpgRsKrb4EzfBGNZn3Q1wz4OF+Q37J/B5iHdpRUXWrRUlEaSG6Ff/ml/wCB3YtrYCS4GjrCEPS12SZ/glndfOoL+2LJh1Ts8HsyUX94ZGwbw28xs5jdtiu7K+50aOlPRTomDKdKUbKUGeTGQ/gZ6UhImUHkwOBKIdEBjBCGDPRD1I9ykEYdsyTZAQA2zRIR3IFgwjeNnJKlti0u0smCB6D+wfB14Pk68GjAzgejRZeAbKUbOlEfQUpT2KUp1p1pT1Up1p1wen7lClKdGz6FCEelMTGGAFEkgJOMM9EOsIQhASOiBCAEBHpSPXANexJAAGhoaGhhCEEghCDsbqRt0hrKPPQMWXk/r55NLyQ/6CQfBzSP7GT9qYzFwijV4P7liqrp+BrWrlZOdXkglXlFZt7jQ3R8Jw77tI+XYh3am/8ASIy0Kl5+TYiDAzmg9wDTo+BaKm4N3jyuAhIiXA8kCXZIw3IdYQaBD0p2SfyL+qWLlfKoLsnxkw9HYh1R2ZPJlQ3OPQ2daeilKUpaUpSjYBSlBs6UQQ9EBs6UQiCDyA8Cps2KIAzohHvQh7FGDYpzFthFxkKJZHsZMGmh75HHGFEYZesBCcBoPg6bOvB6Nm8nR6hwSV3ZQYU60o2UKewmfSU9r7HSnTRQYgyezT6JCPTSgwAgAGWAcDGdGdYQ6QhCBCEEIAgIR0p0R1qPTCBAYxjAyHVCIQHJqaV7djiDwTkcRNiCjTHtTfyhREnZKI55jEzoSvuP72hrZLbQ04nubOKDZ2GjP7RjiCTrH5P1SEtgTEbqoZ9z8B+aZhdlFe6FzAQk27BdZ2UGFiLT1xMajLdcECEIQh63uJMX9EskbjXZDIKFj4Ci7l8hoKUpSnSlKUKDZSlCnVHSnoofsIR6KUEhGwFgAZ0Z0QMuT6Zgx4qYbo0DJNgbCYQMGCRPIkq0JVxckllkoDP2eCkBGwwM4OB9zr4KNwGbxBSg2dKU60pQp0p0p0pTpSlKFKUpSnop0p0p79OQZ6KFKUp76EI9VExCYgmU6UADPZhCEIQh0gIQhMQUpSgpQAFKUpRs9QbGelHoT6VjROO//MPyIWFCOOTS8iR0YgmmgxqbXwQoxdmfv2idTbyKb96KCENKfuf9YRzH7A/UIiEnlF1rzGhVb/hGI3H+hxodZCHtRMaDFLg6wh6IdHFxefiDmbSi9+A8srKbOlKFKehgyjPRs60pSlKUpSjZ8OQ4xuhQgFjqg4DcGwZTogYU9LPoWMQ5NtSCWOXwXwNSkLXI0KFxh8GDCGLVyLWsJBYQfYNBk68Ag5OjWweD5FDkr4MFClKU6UKJnSnWhSlKdaI9NKUKI9FCnRlPVRsyU606/MzKFPR9wp7yEIR60IQmUTZSgwMZDrCEIQhCBAgQgkCEIQI9mlCnsMYz0o9EIYyAMEGU22yvhjP2bKfIo5yxuiQQdAgh0Sy1pmV27tDSfxmJ6buxiXaEP7IoID+4Y40m+QdlHpkIe+0nwNAt0dYdW0jbwlljIUzvx2Q+Ja3gJrttqh8FGDPRSlHk4KU60pSlKMNGxQIFKMeJEFgoIbCbGIEKRRTqzqixjBgj1U9ugxam8x8hoVRDErQeDyDUwAIMjaAHgSSXwIQ0ehZPJwdNBDg6M6M6XnkpQZQoI9VOtOiYgpSlKU60NFOlKUEdKUofcKFPTSmD0PJEdWUp12e+hC0Q6MZ0QIQgoUbGMZ0hCBAgQhCECBDqhCEfTMYyEMFTbPCHuAxT4Eawjq/gEm5DplQ2dkfd+gZ4f4ie6TT/AOwkE6aNkuCEIJEEQQ9YOFXyJjTXljgf2zEX3pjnD5Et+9EBBA+Ua7BJeJOVT00Q+gaGgy37EIEnwX/SgZCTCTS4LL71+AbOlOrOQoUpT0Up0pHchcjXyZtjUGrkN9iGzgYNnIj76BYoIoAdIIQsVLM9aDZ1hBH0TYMzwj0KQaBsAVH3niMAbA1Ym0MQ8sVLzKxIQ9XB6GdcB9gfJwW/gbyGT0UoU6Up66UpRM609FKUpQoU9dBBT1YDJ0bKfY6Up6qe8hCPZQhCKUpRsYyHuQIQ9SEI8HoWT2KiO5HlEuAhxHvAnwEglpMbtrOAfCfcZ1EMlvmN2ye9+QrcsbLkE4MBUqSHooN1/sc28GLIH3Id5EIMUTCDNgTMQmSDS7DX4MOaJ200+7CZ4S4Gi3uEqpnlGZ+9BAGXtX+5/wBMQpTkmnpo9pheD0NDU2KFdZWw/wBjib/C/sSijS4GxspSAylPRSojuNQfGGBujTim5Q04Q27D4BvG4JiIJuNivudL8B6HNFKQLFAMNlGI6ZMaDRnVhQR7DPeoMSJ5TcMh45JlkFERFMDmLADFEDF01QBHTR07hs9HgbOjPIhgKnkQpTowoURTo1Nnop0mKCBbKWnSlKUp0p1pT2tFPRTrShTrRs9GTZ+SAChs9aBHrezpQpQDcKNCjZs6whCBD0Q6o6JgmUBDxEnJBVaD4QaNoMjXydkxPB4ZY0GdMbjy1Df+4aJvuMjIQTI0AfcEJORMDpDwdQ0ONmId5wjuKi/EfNr5NYosMYiUPUqe3JTbg2CD5BGkjOwYkTJRQ0Gehp5KK2tFdNr5FsdFis6YhjCrTwh8FcpjwkZiv84IMH8hOeR3Mh9yIEO80s+5joLeBP8APYTT0z1bAmW6cE1jG1iRRx7L7FNi2LekSaxw78BiTzFsCmmSKzJpwlobRDlDTwEuJwwa+R8aYnhD4A3wN8jcG3kNvIbfkKJUEEzIqcjapu9xWRV3QqU1J6GlUiMCzpkN6Q01KH2ZDzwqUduhLIrAeeQ/ZCFiRBhspRsFGCBCBFKHlgLQTQ3RiY2fQvQgBuiLMyt2Ru2aHtMV3M2LOC6ZICViwQkZyMxDASzOmEOyKQ9PIcFzoA2XOjyONlwC8Uey85GPALIpQp6KIKJm42GJJqiSTAtVmWn9iKUiaqDU5vwTF4Y4t02wxzYagtBTpSlKFCnXYLhDiB4FDCZIx7MM8FXwcGyjPT9yBQ2daN4CQLMHMroZDJ0yZOkOiBHpYchwcCMlODgZnuM65MnSHsRkBPJjuNXKI8j74+ElcDjQfYHuwO6ZGH3THbbGd2VTMZl7EGiEJGQgQEIQhixtowiOA9TDDQwlg14Gh2Gkx2CSM3Ni/wBgFsxMlwMUG6Q9D0Xi6b8iZ0WkdkY3MiJhXAxOtDVxrbI3IE1l5KLG1aiRzCsVDOREaVIIuR2E/QSz0i4eQxr1GNZHcYf7wQZt8mwAaufc0BKY4QgJp6Z00YqGyNJDeHBnZR0jeJcjL7CMS/5v/j+ylZ0sIywWlcx4gN2o7I+Bs5jbyK+4QhD15rkZhoPUdjYZuStCfkVNS7H2l2N3wCK8zg5ioZ2/Eie8Lk/yCvUUR2LJIT2i2uOA2UYoM9CFhD1nVnyeinwdcivc9PAj1s0UGiGNgIq0jGZIwEN1EMxihac9oXYmRcuDTzGPY4xEY/kGpOWK48ggMOxoOclODg4HRjNo1gPgrOjt2Z74Lr2ITKdKewmLcoWQW5zMGDuajHlBYajDxpDYU+FNIN5DRiZp6KfY9inpTIPsB6A5HvuXSAm74OcCbexPDFsrXYbY0U63yUp0Z6djbInQsMgICHSHoRAR6WDVPkyBAaIIQDVJCEJRKABjui9wZQPAPxL7AeYfeH3hX3Y+50gxxkCB92QhBoh0hCEJghCEINBCvuGgyZXLFFQ9tpkGZu2Dbe2ymj0wgMG7tNoyVGuSCQcfkVDfFnIoSdtI7jZm25GhGxCo2VtSoZWmJvRtDaPLFoODezZXKjaS4PuMrWhb2T4L7oYJva7BafZBDu3lG0n3N+QaB/koa+gd2jQDOI/wJFoi0dOjRiQUWRIiJGvrAu74RcEqeRT2FlVgyvk26zg+g8o5G23WxtvbI8hFWQsaCbTqE1tyZLQm06mcxtnBcCSA2L3g8LuaHgwMZ6B0QxDVdINA0iBDyNEJkSSEQh64dIelryyRAqZyNXTIm7WVwY2toqL7styVWWzBYKClyTUHyOVhDWyQtqxoKLUOD0tUS8n9E4IpD8h4hFR/+hEx9o1zyJHR5Fg+/TpT2KdLNOG9sv4ELGje3RpBbsrK+5S9mdPudKFKdKDKJlChnuzr9xYLysHsI9FPYbOm+Q+562elAhHt0g8x5DzHlCjsfAsIH3Ciu5RT0U9yHVnTgIEIQhCBCEINAAaIQh0gz8ns0oILp3AEIILAtPI2fKEommiIg0QEIBqokD4JyAxlrkILzbj5okvCJ+GNk3vwzCq80cqfIqzvuQJTE/zsNMQxThowqemehP8A86Yj6lnrN8eRskYfUfP/AEKVIiQZhsGM9COiwOehnWjOtPZQz1sopKPYjwglkcFyWGAAooLUbYdwoYSmwVqXnAqZnJiHpogz9w+Dp9jpToxjKeSqpT0NnSnWlKFKdKU9FKU9NKCCnSnop6qeqlDkGzpRnVn7Puexk6Q9SNEd0NHAe8p5B8dPEyex8C+wy855iu7K+57FKfQs9MCEBohCEIEIEINEIdIQgIQhCDPRA0EPX8GD1IoylOwQvkZwj4sTY1ElyMBoA0NDGGS4GCNBo0zI7uEsXcqvdHI3hmuV7owiN8iiuHBCIQ1DnNOWNMPsYIxhSIYDaA+kZ7ThWaAy2F8RHH/uhBZCREHgXPVnqQ3BusEDPVD36U6tjGO8DKpgC1CBghodgaUACDEXyoHrzDYpJJKJCwggM/Zs+Bw6fB02cDwdzroH2KQNQjrTpRM9C2eilPRTrT2aIR6KdaU606UpRno4PRQoz7n2NGQrPTC5R4Q9xTs2fIeQH4iO3AnljbE67iwRM/kIEwQhCEIQIQhCA0NEGMINEPoLBp3I8jpqTC2UpCUB5Gp4QYKBFaA2GidxoaIVqxClES0WRrs6sh0TBreRh5MsW8E/l7kDENRv4Idd+Tc4wE8ZHMghbLT6lnpemAruMZLdv/uBfQR2IQS0rZ6GgR10F6Ge4j26dGxsWxtjX7IZkBh5EDwEyQhmlH2ZAnrGgkEZwQhwQ67yFOuw5OjBhs4H2D5JgpSns02eunSns0p0pSlKJnppT2KFPRfIz08EIw+R+C4AXXA7h88p8lImRCRaR6KU/gmEBnohAhCBAZ7EOsOrOjBnVogNEIYQ+8NfA8QANQ+Ia8B8IZtnI2Bs5HlDDZFgtbEENFGiLcdlOlATQhCGp3MkhUo/2ozpAIj4E7THw/kXcCU12Gb5I+YFGdGKqYl8iwyheTHwxWYcGOTzIcQL8NlcSI+qZ6WNGa0uXfsxGSSHTaB/gEFOjGI6sMIEewj6RgYDxaoWBDgEsnIHhjdMUmIPMQAqoIYuzWKXqRCHB6NnyDGcByel5Hg6O3sM8hOnvLJ6tBQTKdaUKdUz6ynroUpkPk+hR7kOkPah9PSgKHph0hCDRCDQ1OR9r+RItutKBwho0qdkviDOhgN/MtyPOK+4Q9nRhspR8MlsRRoMKUo2RMQY0PjBBNJrTFlJkbINCZ5K+yM4x4E75ZEM75KPNEMqBQ+6ezLS12Huk/o9FK2eiH07OqDIOadu/nyxHXEhqGghBoUTKdWdKAN0hD22e0hnSlOpoDNwTyEyNcGw0dEIYTdFiyMhgKbwM2yYc5RBI4OujkOT1aIaGdfg8mz4Oj2UezQp1oU2e7Qp0pQp0p6KeqnqoOmyO4UFPUj2IfQI+lpSlKUtKUpSlKUbECIQDSW3B7ivubT8xsQ4IL6rEtgY/pTVYBL5QbA8ode2Qh9MF5iEgQZWhOtgzI7iZQBcCnkdoQ+eG7W9hBtNu5XC+43i/cxW3yxyxDMfAwGRINQa0QkFOxHjBnFgPGz6SHss9O2LwnyEFCSRlgbj+GMFAgmdKdGMpQR6kM6I96lOiBvBNMuZwZIuORiEgMBxk4PIRCUG9GoQk6bZMZCh6Pk6WGtA0fB04HkPg65OvxrBQps+jTKUKU9VKdadKejR0p9BT0oa5Og2GDqj2EfWUFOtKUpSlKUpQgUILRtBthDRtDvQ0A0TsTXkGYxpBwlHKjaC9z8g2cghCH8DsReC0JGQ0OTJlFAtBVMzZLfAeiUvAduP/oRasoo4Nb0zliFeMT2HMOqPZEoaIQhHA2cDsfeM7D3wJxnYSGhHiLv9wNo+ih1Z6GdUKby/gSjIGtwCDDZSlExCPQxo6I9DOrOiGCPbZ6KSQ1sB/uNQ0MaCEdMBzQxDxGEKSCNjFHcUmYSChWH5NCPR2On2KXJ6PIMEfKA60p1p66ewjR7dPQgTDR6KdaeqhT1QdMlKfW09VKM9FKdaU6Mp1g2ltpF7H5HvJ+5svyhVzlimxnOjS47cG6RfBvmNwLHt4/kfErsFUaH8WsDyhonYTIhkIABEwaHIyKIEKseMtyUEQtLGBeN0IWHyOzyQMpIhGwansfkuqHlGqGXYwgIMLQTFIthLwfAMeQ4phYYqfMUpT10Ke4xlP0bqjQqASC1FGWclL/8AghAxBBnoTAp1aGhoQbPSjqjoj00EEOjBlKBPnJ7R60AyRpgaBhDQrRCDsGw9BjUZO3gUEgt4P2er/B04PXwAY/wg3RvuezQp1TGFPUj0U9miZTpShT109TZoKeho6MZ05KZPRBHs0KUpQp1p7iOvyNe1fcSVD7i/LPgawaVQvtCif0BtYn7HaZvwe1+c2D/uU2wwjpiivuewtmo/jX5RYBgTa8mRKCRDQxR4FgOejCh4/ApMrP8AQ7DnIt2qwjoINkH2aBA0rWJWLBm4WJ6EideWEfeQyxIwSYx8JGdwhu6hKaojbWDCA/ochPvZVbHwI/5A8NDyNYg6xjdmXAbfZIjxp8lEfiEqc6fEEnbPuNSBxUT735Qtp46xHxTh4Tct+EKOf0ip/rHN/wCIacfgRxN/I/0tjWeWzGs+2A7Vu+9sitPczF8XjwViXmU1oaC7AKINDOiGGEUINCHRYOrPQ2I6I6bHg9bGaKUpIZvgIiczBDZLRMkyQfgEZDcNhcYZm5IJy4IjZeQBlHoeyno5B3gdR0+Dq2DwGhHoh6ODpT6anuo9mnooU9FPVSU0DpSnt0pSlMFClOsICdx7SI3qvubY+5PhGsfaFtv5G8H5HjGdP7ByRfBvfzn+bY9j8xQR10PSXUPZ0Go/jYQ+COD5ApJe8CfyFRYUo3AuENXgW2vgZupHASi3CvfuFN6yQnkbSEJBIYghkPvJWkRM8j7Q5Y3qN88NDDp/wHOKW7BU8w7I8Egilp7PJHgnkhPtYjn2kb6X6HpbWPsCO4j5QhzR6IbhvFeQrfJWLuBrsEvsRoyXtJiTrC+CAWIJiaNSDG4NAQYyBRhMQEDGiEEdKdHo6PYiho6sNHqZTo3CsIQIsWsm1ofA4xBrBIwlsYngAwInsDHGDrJxIQ66PsejgNmgZ00MowYwgNUkJn0NKfQ4Z6aU6Up8hTpTpQp6Ye3Tps6fcII9+MNE/lj1SNgPf/wj/FAtvfc/y4w4tF8If4lCy2D+Rl7ZAh0guAaDOi2aFiFQH1d0TDQ9nQaj3WfwbVjZaKwkEDQU1JbFg48kMm2uxiklvliYoJEBoaEEJRqG1YYfJLaQ0rj/AICSWtwhSuW2eIdefpGYeEIMIo2VtjdoO9GNmuyH5GWjz8LD9IvuHoiMXACN4dhDHo5GDIZhEiAljKdsbrGAMAYwHIgAMeiDwLZ6ENAw4Ie0joxnUR7hoeQS3BKNRjY4o1AbEQ4ZeBtTIBAiEohG2TBCnB15DgNnAWntfYZAl3g6U9FPRT1U606U9dKFOtOlOlPTSnsUyFKU9FC+APOgpSjIdIQQhRRO7SHtJ+5p19zYu+D+owT2zmT5Zx78s0CT7HYl9jclux9xjf5htvbZ0RiPRD2HoUaB0XIh8wwVQD1kgPZ1Gh/JtUppwfKIBcAYNLExAFf6uRCcXwipATBCGQUhnWtiCpB22cdvceIdEsGkuSxImr2QMtDgIITBfc5I1AzUNjYDdKZS4NMjYC+RMSOBotGQ0ReiWxhCOQtJAsBAG8DgpsBjA0NDRCDGhMAExHRjFEzqjoxHqoynVHRg6QGHwEWQ2BjRnRNMezgDEODQ8jAEUBy4qY8ujUW2EKuFkXAbyM9h6OjPkPkyU6M/J0+wWz6GhT2KU9ynWhS09VOlOujpT06CmyI9EKbH85358I0FfYXG/wC0D4Qax/EiZ8Hg3v5DEpobNts9Ehdy2ABU1a4PQlCRHuMQ3I9oFjaGHopkHQMoGMw1p6kQHHrTeCC0NytC+CeqFZ2dcBYfRJ2/YLLL4z04awajh1cJZ7TSZ3UHyCKGjmg8XyWmWZA0twWxIYEJSQlOwReeBruwlW+wuM0mj/seSn3BRMwgiRoQhPCFZPLClpgFKDNm4ah+4lWIIe0aRFSAEBDSCcoJRngghsYH4wZgchgwMQY0MYaBshBSlKM9EEehDPUz1hjcMKuCjY5R2C3yJigOx1QxRkdsNqPiCXzDByZtNEJEH3PTs5PVc09T2dOSYuwcJPuJUDk9Cpn2PQlHq4PaWWPBMUpT0JIdUp0R00LJ6KFOtOKDQEdF8iWQhhGxpJU63yZPSxINPiGw7jLmwQVkyXcXEX3Db2UmbTMjKCvoXcQi89gzpqniEdpTArIWQmY+OzwPAXum/qKiqX/vGEPPYNLVfEH3RpiqaW4By2wUWANFpdju00afKEW0hMjA/t5yZpskI6IRADA6rY1U0AF/cjgEjKMSIS7HaSPBVyGFxeA1pVLuJS8GYB/MTU1B/wBjG1pKwbT3Btsoe8fQJVGjzFJVwyiP5Bx5Q1/sMWLQNiURLwKXAzLJMK2RppIaGmnUGXMD2XlCXrBudCANJpvJ8Cl4sMbYa6i0NkIDfgWiBrJXaLPl4DA7mQYUkQ0Rx5Me8lJJEAMZDZsN8GRiUNDQU+YXRVYGtOjjuADmmcWMnkyB1jWSjGxyabEyKY3RqGDGMaIDo0O9hLkbwAQK7BwFBHRiOvJ7CBNjKC+DJ6KTJsrjRANohLA8qByyPYwss4LGN22CJuCcfGRLeAvCwisRl6OmRx3ClZoVPJadMno4KHk++TwHwrAYVTohwFNvBGnPwIrbNGQMyXFY0nihhI1Qy4UGSeqLprkzZQ0+x6aUKeimo2AwkcMUkZrBUfxB01SHA4FQaSgbj7DYTVkNmkTsHeRM9ynMRkXG0QPfYIqJrU+4kOmwxbaGjeyprUfgxJh0kk0L5DrrAVo80ehiBSbT5M21O4hJcH9BmWiQrIKbTUolrXAtieC/qZMG1wKKFBftNPgJooQs12DYSI91KKPKN5Rk3NI8Fa4FmIIam5knuhqNNbS5DKQop38DYqd8NXwBc4kMc8DqhHXY9FoILHWE0yc2sKLMfZNaEqPMIVzJtaN5SUSa4IzKMRg0ax1CDhfIMybp7zJs4o1qyiIS0bSXkmNiMyjEPiHKIIqRw9hBv8Qx3CKTYXg/aCqNK4LMwPbgl7jzARsP35wDMaW0NGRgEPnI8ciQwNDVWz8hLyPwXJ/7CPK8st+SzbHutkux3E0iZG+AlgZFNswQFih8GsirrELCBb+A2QhLI1bZgFN10MklmsACjybkmJLyMAV0J9qZgKIGMYwewMYGpyQ+4wq5F8mxHTXJvkEdGFGehAylOmzowfmwQ6XnA700sj4jm8idbFGTeSx6jJMR5AEIDQ2AbZGiHljVdNTIvklFodJBRChwVHBx4Ik9scwa5NsfhjRLyH7OqNg2NgxnJaeQsKW0EHrZrEq+jK0dqEthNzHJrmyPausRzMbVG6DNuRT2z20dMGPcmMkGkWwjmQ2u4lfkhEGDt4DVkUc1EVBg4aOFcslvJTrT0U60ZSM3yzItkbiq5wMtRJuqCoJ5ffgpPIUfMY8RA9RbibXI4PWz2Mlsaszo50Z1ShR7+gWBFxlgcgM9hCOrPRkI9d90fXX2U+le0TgcGWVoW8m29HhjQnUWGYscjVDW9CmjYhuRSxBfsCVf4Bh2DRJJHaKZFSWANgQxKJCBTNBpWhriK8GHGTuI0YljKMJFKktCZUuEUAM35SxDY2MUzMAE5CAYMZ0jsNXY0Br2HRoBpoifBAkNHRYB7PZ0EIYl2IQh0SIRBY2Zp4CpLB0jFjQmRNoTJWILHQYilwI2YGQSc4hcmzYcb9BRI1kgesGOUNdyYZPAJLwc08wv3HgR+j4PQzsf2PsDPJ5CbZ6sWg9mlPTSntwQ1aPbpT0Up0p0wRHWC2Hp12PML4D7HSnoZ7bwh8gz0AiHvoCi5oILBjPYR1xR6ZAtH821VDwKm0wM1tU+UxbUSPBl9xRFg0YMSHkIAhajMhyxGIUa7C+ECPfUmRqKLIA2KFAJgQgJjbpQ+4LADIFHTENjDQrgBfI2NjI/cUnGIqIGMIEGiAxqiDQQIGenZ7FPXSjcEoZgyYwW3liWIMIQkO4YSNCA3gVCQEnHowAYpLlmB8tViYPTogbOn2Bh2Kw0HIaPR4AY2IEe1T6KhT0U+g2FPTwemnWlBjOrPQz22iGDPRJH0KAUwEAM6pVpD1vB0QhHRsnpsdILP5ygxQu8VclUy1qhRvI+SbEZtMRZ5FL47mZEmINEcNeBaOE4LwOIrQkXALPGU0JUXhIkheBljZjVAjIlQ4M2zUQEYUEDRBBmylKBwJgFGiHokVHyDGxb8i4h1G4lEYz0Q6sYNCCAhHRno0eyj1UIjo8GTxkM8juFTIYPgXkYw1kpYJkQ+S1CDQAMAJjkNRnIzUhYOnB6Pg6aDnIbOrydIDMtnT5in0CPQjrT6ClBHopTQIpTrTpT2KdYdKDCQ9DPbc6M6pQsH0Og9iCOo9EAikI5EEI6tWeq0n85SmDQWc4SxNhLfz0/v5GEvT+wW2NWrzo7ozotIy+B4FkwJsXkLLZI2R0IFZUh7exFQgw1OiRzmijGbFoSbIGIUxaJwTEylBQAClhqxog2GhgycE6oTuTQZSnogxCCAaKIR0aOnJ64FNnsKQxA7ZOGm3kSwIaJQEGhioNGPAaCAnGyJXDBEscKOYR5PXAh0p02jwQp6OA0faB9DT0U9NOiPfpT0JlOlNnpoUpTZ1Yj1XuUp6Ge09D1gz0WYkfQ6iZPSPRmbCUA0xHTU9c5P51jjUTnwxCj064C1JKCuX4Yk5P4aENtt7F2ILTwwE0lEsWABBiay6xKT5GzuE022xsEIAIxQhEoDYIpiAhFQwKYFKMJgbGqoWQ6FCVl8AnWEMY2ClBg0NCDQ0IQjozoiw9aPXSjeBrRMZkElTuIx+BkzUEiByIaGhiGRDjZuDJjUq1CD7YV2YCQerk9f2Dk6cnTeTg9DzzodKU9NPYoU609dOlPQmeimz0U92gj0U9AKdcHoZ7TYGA68k0fRPKEyeh4GeiQR0qGsMQMeuSxqj+dbD2rSF2B2MjmjOxzyk/CDvBguBUKCyLI/wDQVt4Ek7iv9BhtibWSfeoSIDRMBiAkDCZQgEdAmAhhgAANEZv4AuhYlIAFCUiYApRMp1aINDEEIR1p60M9bGwMcGVsL7AwTIpSxSyZoNhBIIg0pAsEpCWV5GxW8IY0RhCooosHTg9WDPYNnt8jGgaIu6n0tPTT0JlNnoR6ECKezT0U0fJ6kz0U609hHsudGdUogPbh60PQGdUq0hIp6F94SBmz2Ih/PLIlRB3chFB8Cfau2bJXFiBQu4xMoh46jTyaRjoTphqizb2QDkMhYKdGwCEIDZRMpQIUBpSnSmAIYBmIWcyewYVGgPgAwoEEKdWBgmI6M6M6U9TPQyBfCONI0zWwY33ij+CrYlgMTkWjbIdwslR2hieWzylyg8jMLG66Ipq5gjRwaEddEBnTB6tmggP4PBo0Cj2qU9VOlPTTpSnRHt7Keqgj2GepHWnSHqY9i0ew9DVgz0XYj6ND0BnWSLR6VLVsR7D2euGxH/AF9nLpkLF/A/uXt/PcRMvlCJgcrsG8lhEbKZHdN6/Ib4QbFoMAaKU9COAsGwQmAGgFOtGzEL9wzQYDNggYgFoNgQwPBQIJiFOoAgMGdGI9SCkNHSAlc5Eq4Noo7jJTzg4A2yCwbAggkBwGIwRTkYxrsY2PgSeTBnLArUkhgg+x5PTDZ0+RvyGzrcGjZYdeToZ6ae8j3EfR09FPWmdNnq0CDZk8jB1ZyI9hsDAeiKCHsw9gPQzqzNT1pezNh3wYGj0SRH87TohiJoaGK+IbRGixPJCy/wCxcc4WKOpVFmCJkaj7tHMNAZoYYKUomI9CPSxSlKUpRsDBTBF3EBoHn5FlDQhMj4ABDAZRBBCnRgATPZR02dIdXhBDNm3Bk8gi+dnYtp2imRYEHJCWTQDdgzQIACw2NjTUguWwmTGouSHIJmj5GdPg+xydOTpyevYwdw/cZ/B09CKelnTg6cHWnp0U9VKUwdKVlo8AqPTyJEPSwc6DqlMB9I+IdXo9MR7NC9gz0Jxpkln/AAFsQ1kSAyoQlTK4Ym8wQWn8CFKjivkY6TMHULTjGzAZSlOiKUoIKFPVSlGPkNM08FMxjAx4sYtAWAUYg0NHJoQBAbAQQMZ6OBlKeujwJfIa0Fg2TbDMhYt6Nnd7IKIpusY2IUIo8HKBkwc4ADDGMbFJU4uwxl28iTbi5MbZSjBQ5D4ONBDq/wAHR+BQ6bwdeA8hwdG4H94+uoUoj1aPVT3Ke7Ap5GytHqZyI9YfIMZ1q6I91nqajroM6yuEkR7CQ0JAM9N4P5SENQ0j755gvIeQ8wK7h5zzkWyhFHUKMMencM5FLKI1BblIk9AJ0joEGwaoMpQUEqIQ2WApSlEz0sYM7jYAeoFQZZAACBiYmDEGhCgyABAZ1p7LPVYKVoTtWNd65QmtPKY0ccCw2w9KrhoRcI9KCxsQBzDYbMp7DaEGMYw1EWU4LuUfKxaxaSTSEsHJ7HwIZ+Tg6qHSn2OnPY0cD8jQf3T2ae3T6GnoRQp7mwp6aMKdaXgwMhTozqzkR68AwHoij6R4GrOo9EE9uI6M9E5P5FtI5gJg5YrueqlZSu5fcoTIS+RA5phW+bkdTIT3OCl0AWUQOk9MaNUcGKmgbhoFKCgYApTpSlBSjDVPkuBNnkfApkIAMjcBB4AmdGjYQaGMLEBMpRnS5PRT2qJQZkM0RimMOGdZtG8PKO0TZRL4HHgl2MehrPmLgQuYkhIIDQxjDEQ7tODRiS8ILr8Bs9KPwI6bDTOkDkvg2M6dj4DR9XRHpp0oU9unWnph0pSkKU6i0gUydKJnVi2ew50Y6gyH0jQegdWUZnt2o6D0QGNUfx4NNHIH0icdPJoOdZMgy9KNNYPg7hLUZMNCqD4EQGMAKICABMKUHP3CmLfI1QNBsKuETyVSExtIzikBgYAIbgsgQTKOBhjEU2DPUhhRBZUCNptPQf13EsTZHwSeWGHcKQOUGb5BAWtkIUSiiBAYxjEoaxPgtXfsMUnLhgGOX5CxHSBA4GeCnIIZ5DRyHwFZ00ddsbDX4iCn1CPo6ehntU9dKdNFNkKC06NUkQaGhb1wIGjoxjD0GM65aLQLKUqIww9KJM5Oq0htnSZOjnoZ6M73BFcQhWfB6msciyLGClp6JBcBKdJR7iGYLY7nSHRKiEQR1Q2PaPonKdwigxTND4QIdHK+EejzIEp7j6tBQETxRvgaidoyKGkEYolTAaAhAEVQgdCgpQLgYBwi/YP9By9iz8DY3RmhobBPFITtiYAJAYgRsQmMCjFg9NKerQKLZ3PCTmCrPMQ4XIZzhHL0XFQixhhsWghWwkkhkGWUKhi2FEgYxUQcdcflbKQrWasTKRgZE+4YOsNaC5PVfAItBFDg6fAM1+J9ByWQmfg9US+TpkSomJGgI6UEezBaUgk+4aOq2LIQfcEsmdNHWnTQUp6NjRKxI0HDL4NYzNYINEwZjqTGbLKEoJ0FwPYGBzxnRmKOmp6IBAtvk1/IW8ElKIhcDseExNN8CEEuw5NEbEkCITLAQRXuOutjZSVRUsIOMkOjUdXoZ124JFQbI/pAtCgSBMwaIqvcbr5E7XaH+wZ5UidNR8mNCEMGORKXJiOQ0UrIGAYIe5s/gAvdSaJ5RiLMINUxBzYQqm5GmtLZJBSZfga0poxDKgLajCJhDVQ97EnCpDqRrwoIKnwWQEprVMVKMSE7CCaW+4WEUCOce4a4lpOR2BKzZr+WXqQR0w9p7xHnH3LTqO7+mNiCRbDAxlnsaYGnyTsSqsfAj8IK4HkOsKbJFSDbQigmFAFGxsBsFkYxfKfZo9DNCgLPAvFnweQn+SoNgYI4hjGgmWsjARRBwFPRTPcE4GaMb7MhswLQpPkbFyDdje3sUiEtwQXYh3CAcsezHWJAU2UhskWy+TUY9KPmbHwBmSJmuK9xFAyNglIpSk4cBrGyImUCsdRQWSHyeClNrIjkOR7RydNM4DMqCeR+TQx4h9x9rkyvgyxPtlWAqY9lHoW0aAjwHlpi5QNET7jocidbtD0GdYJHI98j8MGqYg1TgvKGJl3G7HRHWHSl5OuzAlihkmHguBTQZgSHtlyNvBZ8QXEbS3I8LJTE+SGwaZ0p0oUpT0ZKaTYNcYh//9oADAMBAAIRAxEAABCqYpVkuYYo8Xv98/PzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxQDyi7CeUTbqDTzzzzzzzzzzzzzzzzzzzzzzDRIbysDVbP98H9/wDjaO/tdpVTp9jDLDbvCV9CuyXTqDfHO1hKSaiWKWiimt/zDz3brzjDPvv/AL/7/wBO9evdPdvf9PuuKYYKZKor7vcMMO/7ppGFfL6pb2+MudDvXnXTzzzzzzzzzzzzzzzTzzzzzzzzzyj8hxA7A+iQP0BTzzzzzzDzzzzzDzzzzzzzzixQL/zNSgWtfsHt/wDGt9959xVDj/DPDDXu5BWuWSSenbj7CZe+qW6K+WCO0RjDDDDnTP3/AO+xx+8w07w07062/wCZJN5ILpK76ZZ4Zz8NNcN6oqe+3zAQFvWt+8wHb665dfUhQnHzzzzzzxRgSQwggRzzzyhdNRi29il/FWBTzzzzzwyQCZZRgzTzzzzzzyDiKtDvmwCuYMHvfp43kXlH2m5esf8AfraRVdKK26qirn2jCZy2aEOcYyCaU5P/AM8zNJPAKJCPbx3779x1PK3p1fQAtjkjvjgrJFDFzfYc/wA5aa1PuDRAJWMJb920XXK7aY7p4apqb89LTmUwywzwyzzzzyxs8NBHiACmsEBTzzzzzwoKJL7xzIDLLzzzyzfen+yNUSzeTen9+Y3EFHV1mXJWv/8A/vyBpPCeK2WWuDbHKpZCW5SqWKWCwP7jFVbnTXnLvL3/AP8Af+tden88/wDD+e2i+S2O6222qq6XrLzbO2PNBXyC2+pk2WWt+RzrCQwUe6QWyyy2KGa++vwbz3088884j/LFzY58FRUoU88y26yCCOK888CCCS88888XX598rJYEDEbr/wDiQQQcdYYVcta/899xgUcqkqlltvh476vSgghvllvkmjaQ/edd2/xw3++y0603613/AMdev+v8oL45IrYIKoabYbU8euN74u3H+Y4JIkgLKq8I6FRLy2tcOKbEIKYLbqLIn9PPMMNcvOMP8N9sUymqiSgYIxiwxz7CrbzzyrIhawzzyhcPWvh+egAgEOv+6kEEEEEUFV72v9PPI1UIb4LZaqpddNPLUpa7L6KrooJSl2eGMPtf+/8A/wD+0w3361x983696167gkqtrsnrnkisppzxz1rnxbewpmgrYDghj4mphkjlpqhgpJEigussnihlhAEPPE9Q3316y9TpEnhFiMnstvLghviLNvPKlBvPPPPKEy9a6CW7QeOQa+naQQQQQQQXb8w6ww4vbagvilhqqlYzxnVUrgjkqqguil4aR79610+048/wwwx7z330/wBvdOMa6oZbZbar7ZLZKrneMOeK4s/3Obr4Z0DaZYMIL67I4xH6FIqY7YpJlhaUTyxyiSxkfTf9PP8Aaql+hQaoBDAAAAQwQiSc8888888888pXLXDoh7TRgFpqudhBJBBBBBt7HXjDaB5x6iOKWq2WVvrYBpe+G+KW2GGtXHj19/8A07www0+96w9w/wDufcPefuoIuvfpaYKqIKIoJZut9NNZLunHW5bpb174aYHYbaLJ6rk293rIZIbQcM4/zzzzzzxsHOveMMPJKk52zqsEMMMMMsMMMDDzzijTzzzzwtesMOyFFJgDkGr3kH33EEEV2l2fM9IEEBb45Kr6pJ5nMv2mX7bZLYZZZenv1N9fP8v9+++89svs8/Octc9ev/4b8tKYbLqZ75proYYfcf8A+ejtZRq2+WFuWCSxCCiK+++dik9GS++WSE6iX8888880zzDPCOX3wVbNJUuhXPDHPD3+vDDDDPf7U8808wrfvqL/AD0SoBURPvaRffTXbffbUXz+5gcrsssqsjullqX6vUVksnqunloui4bT4Q/0z24wwxw5w+987z/z30z7p0857nqivmlmivniljw585tvm5U/hllgZoCMYEAlIhmhsQljmslrlsmNgF/PPPPPAL96+xjdj+Mzl3JA5x291242389/z354z2GHMBCI391q69yeVIc+KXWWfffffffda/wRceunetxfekgusjX58fSpvrqlvlt+lBLABAFPQ9376824GBbWUAKV10+3hnz69j3rRNGDooqgkl42MIlrr6c2qilOQpotocERDAABMeIbbRQnnjiVulvPPPPPPA1i5+TWf0MTa0CExzz8/wA//Ne8s88/Mvwyyxwww/taGr/+MM0V9423lX333332lX13byHxPIr/AMyzm6GC1f6F1i6+qmCWS+hl1FRlBT/3L3/z7CWb+26G2W3bjuWCnKSmaKOKaqKO62GuunLjC+C7traSa+VKKG+ZgS8888888888cfPnaKqHf0888888DLjqp9tK4/ZSWYTH/wDw0/8AsMPvdP8A/fc8888888/reJr/AHgw6XUtvfSVffffeZRaIDp/RseWuGbw5N1CoxX4gVRunvlgvo/1V1Va3wxy08ywz8vqs8sljlgitikinvvnlhmkmjmvrhllqln9x5rglmXSokpnSsnumeqojsvsvttMMMOAxgEm9199PPPPPGzz9lbVT4fzPy5FF8/w1/r00/7wx71/PPPPPPPP66dQ71oQbbaKUfQdffffTTyCEkrxJYThftOyzp/YzyDZvSXsttsquh9e6z17Yw3/AOtO9+MwBA4oJY64KpL4rob775IpKrI45KqpZZJIqEuqaLKU3OIKr3pLrrlqnL4LB5LhXWW1Hz7/AD3O0Z5PzOYwQ88KV9Zu9jUTjTMXHTnf/wD7wz8w189/PPPPPPPI7iVSs3hQufYQVfQfffOc5d6b8z2aMfhmhNfi+AH/AFIR8dnlapbKq6oFVmvvNWt8PP8ADHe6+uAS28am6mWq6qGKW+qC6CWKy2iiuWK26mKX6iyCfTmCua5SWqa04uOO8ssOe+uOOe+uaOOOOyKu66dPff8A2OVaSi0wLy/5o175NP8A/wDnLnLrdl/8888888DWpBqGe2+sbJpBdBU+6CJb/WdLxsdTTr5PvrqiUURngs922KySmuz/AKQb5xwf16ww6/8Ao44r4A57oJob5L4Kr4IIKr445ZobaqZbp4446su55bK688Lo70p4bJbXTzzzzzzzzzzzzzzzzzzzzzzxy6yypdWkGEKsicAC+cNf8P8A/wCx085v71651/PPPPPAyqYahr95cpK6QeQaugV/Rf201SRfRJ6R6x711PPLa3yhMsXrkhh1ocY1w+2w+x/zxgsvvrugvvgltgtivivmrilrnrtmplnrpsvrtpiO69ttnrrqVnssf4gjiqcz2ROMusvONPPPPPPPPNPPOPOPPPPPNAwlZTtMEANH8248ecXxX8+4x2Q/X/PPPPPFrrQR2nyVQZdYUSVJJNRiY82y1XWcGf5wkut5wGWPGEXosEYthls10Qf1766/6391VqgmtuKMPAvvsnhvmogqkslvqlirsulsujrhpgpq2xhlhsmruAEP0jjiq8zfSdRXeYRadT6/wWcOnmvBCBIBGPPPFUAtJZtAPe+EjDDnjvihrtojpBHQTEmjmtqwnoUkto3fddQVQQanFwDJUb5S7pOhY+/4v7Ynev37mOOasraCsHISMGPCK94/46gtVQQcMeKaNijmjkrg1aPWbZbdqvgvqvgqNPTUGNEhs+liqigqlnlad1jjnTeNEHDHTz//AP8ANNdhBBZp1pHvT3ky+6sVWugtK9lzHAzU88888888888MMeuuCCiOSDq1WCiqJB85B99B54ADjfLLbbCaFD5rzXevwu0YOtVs+m9RSk2q2H3Bpxr/AN8/w+hgksoghmsrrnqsvrsutmlhpqsspkmsulhjqtjtvnjtm/shgttttiva2wumIBvPPPPDjjjrjvnusssssIIBM4TCNolvvQvhkfMQcqSz1vssPPPPPPPPPPPPPPPPPPK/gQqouqWDgXSfWeryCw121x7pibhWy25yp1OrtEJDHlu/3mWwqqv3wff5x0y14+1vhljtsvilmBHjjsshpkmsiktglgtipnsvpqulsvtvj+ngvsotivnYi+qtNXPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOFQvlqhTwTPX6zz/wwwz/AP8ABBww+yw088888p+BWuDmp+6aEh95+JTZbXHhejJlNZX/AHjlnRCVkGBIq/waagmy9pk39T//ANcf7sapL4b76oYL5b7LrbLJZ6aZqq6parZbKZ7a56LpZY7Z6/8A+y6imqCiO5AjauE/+88888888888888888888888888888odW+WIdQXTd3TOOO++6ywwwMPvPPPLDxCyyj2Be6qKt+q+sc/5zfLvjjVzM1MJNJLay7ogO2UcgSsj5R59x0+WSCtpL/jfHaCeCCCCaii6CeCCy2eC2+WyqqK+6CuC+SK+auWa2ya2ey2tm+KKuuOiGJY7qyIX088qe88888888888888888888888888UWy8iBJjLIql888888888888uOMOO+ee++LCBWur31+q+a0V2FGH3LJb1gKjSKZTqD3dDOkeqeyu75lVZZ652qexBnTrfKuSeiGOOKCK2yGCu+2Wqe+aO6mm+ie2+GCquGmWe2GeW6DTDye+KyeKCqF6Dqq4l8888a688888e888888888888888888oSWC6mBrei+UV8888888888888888888888rCB+6rBQ/KuW7HSU6LbhOlk5VpZ9Rpy30yYYJsRiiSRhEZZl3Iaq+tJ7HrKq0C+G2euCCCGSG26iOu+SayeS6iGCCSyWGemS+OCOKK2AzH5eiW+ieSyKJDZgeMX4ww88O88888w44w0080088888888800GWOmQ9jOzp8B008w4w0w888888848ww488vOA+mDN8qGmikL0on3AbK+27g2lz3uz7RrR+eGxIazBdsolJFom+pVH/wCwYJMCNkFuuktkrjMvihtjFAcrqlivqhgionokshmkqqrupnhx0xpiultjvlrZ8dCC76lEBPPPPPPPGGMHHFALJPPPPPPPCOLLHlNCPFKPKZfoIBOIIHMIHPPPPPPOAAKFOKM8GesA2eJvnxD4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"}},"time_used":114,"timings":{"blocked":37,"dns":0,"connect":9,"send":0,"wait":12,"receive":31,"ssl":25},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.789Z","timestamp":1785139583789,"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-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 08:06:23 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: 9aea1e67a4c32acd1e630831f918f66d\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-08-12T05:10:43.236567Z","times_seen":451,"resource_available":false,"data":"LnBvc2l0aW9uZXItaEJWa2FQMlB7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyO2dyaWQtdGVtcGxhdGUtcm93czoxZnI7aGVpZ2h0OnZhcigtLXVpLWxpYi1pbi1wb3NpdGlvbmVyLWV4YWN0SGVpZ2h0LHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RIZWlnaHQsYXV0bykpO2xlZnQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWCk7bWF4LWhlaWdodDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4SGVpZ2h0LDEwMDAwMHZoKSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1zY3JlZW5SZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heEhlaWdodCwxMDAwMDB2aCkpO21heC13aWR0aDptaW4odmFyKC0tdWktbGliLWluLXBvc2l0aW9uZXItbWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1hbmNob3JNYXhXaWR0aCwxMDAwMHZ3KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXNjcmVlblJlc3RyaWN0aW9uTWF4V2lkdGgsMTAwMDB2dyksdmFyKC0tdWktbGliLXByaXZhdGUtcG9zaXRpb25lci1yZXNpemVSZXN0cmljdGlvbk1heFdpZHRoLDEwMDAwdncpKTttaW4taGVpZ2h0Om1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5IZWlnaHQsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLWFuY2hvck1pbkhlaWdodCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQsMHB4KSk7bWluLXdpZHRoOm1heCh2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1taW5XaWR0aCwwcHgpLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yTWluV2lkdGgsMHB4KSx2YXIoLS11aS1saWItcHJpdmF0ZS1wb3NpdGlvbmVyLXJlc2l6ZVJlc3RyaWN0aW9uTWluV2lkdGgsMHB4KSk7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpmaXhlZDt0b3A6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWFuY2hvcmVkWSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKHZhcigtLXVpLWxpYi1vdXQtcG9zaXRpb25lci1jb250ZW50UG9pbnRYKSotMTAwJSksY2FsYyh2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFBvaW50WSkqLTEwMCUpKTt3aWR0aDp2YXIoLS11aS1saWItaW4tcG9zaXRpb25lci1leGFjdFdpZHRoLHZhcigtLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItYW5jaG9yRXhhY3RXaWR0aCxhdXRvKSl9Lm5vSG9yaXpvbnRhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5XaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9Ib3Jpem9udGFsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NYXhXaWR0aDp2YXIoLS11aS1saWItb3V0LXBvc2l0aW9uZXItY29udGVudFdpZHRoKX0ubm9WZXJ0aWNhbFNocmluay1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplUmVzdHJpY3Rpb25NaW5IZWlnaHQ6dmFyKC0tdWktbGliLW91dC1wb3NpdGlvbmVyLWNvbnRlbnRIZWlnaHQpfS5ub1ZlcnRpY2FsR3Jvdy1oQlZrYVAyUHstLXVpLWxpYi1wcml2YXRlLXBvc2l0aW9uZXItcmVzaXplLXJlc3RyaWN0aW9uLW1heC1oZWlnaHQ6dmFyKC0tdWktbGliLXBvc2l0aW9uZXItY29udGVudC1oZWlnaHQtbWVhc3VyZWQpfS5pbnZpc2libGUtaEJWa2FQMlB7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnBvcnRhbC1oQlZrYVAyUHtoZWlnaHQ6MTAwMHZoO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7d2lkdGg6MTAwMHZ3fQ=="}},"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":"nanoquantumstellarsledger.com/frontcss/assets/svgxuse.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.040Z","timestamp":1785139582040,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/svgxuse.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2225\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7245,"size_decoded":2462,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"d3ef3e3107c1264ef1bd5eca89e40458","sha1":"a1ab751b684e76bbbdef091f05b367079c8e4f00","sha256":"97cbf996caa4360aaedd93c68ea3d0ac59abcf2908d3b909196d0fb6fbad6d94","sha512":"ff7de41c3166029cb84fb3d659579df3b1c5029117ecaad25645153de2d3a91de0d845d9a2d91198c2b9168d40eaca43c6bf7498c150a31c831727e22212fbec","ssdeep":"96:IeXPwHmKxn/I5h2J1wLViM1Wmagz6bzOASe6/ELWtwbU5/O0TCk2djVIeCAr+Ur5:7go2bJM1WSazZX45/WKkr","tlshash":"32e1a5e5974c11af4175124ade2ee1cd232c40b21a06acb7fd7cd4a514b4d3e226bdf5","first_seen":"2025-11-23T04:10:47.889525Z","last_seen":"2026-07-27T09:11:27.341636Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIEBjb3B5cmlnaHQgQ29weXJpZ2h0IChjKSAyMDE3IEljb01vb24uaW8KICogQGxpY2Vuc2UgICBMaWNlbnNlZCB1bmRlciBNSVQgbGljZW5zZQogKiAgICAgICAgICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vS2V5YW1vb24vc3ZneHVzZQogKiBAdmVyc2lvbiAgIDEuMi42CiAqLwovKmpzbGludCBicm93c2VyOiB0cnVlICovCi8qZ2xvYmFsIFhEb21haW5SZXF1ZXN0LCBNdXRhdGlvbk9ic2VydmVyLCB3aW5kb3cgKi8KKGZ1bmN0aW9uICgpIHsKCSJ1c2Ugc3RyaWN0IjsKCWlmICh0eXBlb2Ygd2luZG93ICE9PSAidW5kZWZpbmVkIiAmJiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewoJCXZhciBjYWNoZSA9IE9iamVjdC5jcmVhdGUobnVsbCk7IC8vIGhvbGRzIHhociBvYmplY3RzIHRvIHByZXZlbnQgbXVsdGlwbGUgcmVxdWVzdHMKCQl2YXIgY2hlY2tVc2VFbGVtczsKCQl2YXIgdGlkOyAvLyB0aW1lb3V0IGlkCgkJdmFyIGRlYm91bmNlZENoZWNrID0gZnVuY3Rpb24gKCkgewoJCQljbGVhclRpbWVvdXQodGlkKTsKCQkJdGlkID0gc2V0VGltZW91dChjaGVja1VzZUVsZW1zLCAxMDApOwoJCX07CgkJdmFyIHVub2JzZXJ2ZUNoYW5nZXMgPSBmdW5jdGlvbiAoKSB7CgkJCXJldHVybjsKCQl9OwoJCXZhciBvYnNlcnZlQ2hhbmdlcyA9IGZ1bmN0aW9uICgpIHsKCQkJdmFyIG9ic2VydmVyOwoJCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgZGVib3VuY2VkQ2hlY2ssIGZhbHNlKTsKCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIiwgZGVib3VuY2VkQ2hlY2ssIGZhbHNlKTsKCQkJaWYgKHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyKSB7CgkJCQlvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKGRlYm91bmNlZENoZWNrKTsKCQkJCW9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7CgkJCQkJY2hpbGRMaXN0OiB0cnVlLAoJCQkJCXN1YnRyZWU6IHRydWUsCgkJCQkJYXR0cmlidXRlczogdHJ1ZQoJCQkJfSk7CgkJCQl1bm9ic2VydmVDaGFuZ2VzID0gZnVuY3Rpb24gKCkgewoJCQkJCXRyeSB7CgkJCQkJCW9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKCQkJCQkJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGRlYm91bmNlZENoZWNrLCBmYWxzZSk7CgkJCQkJCXdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsIGRlYm91bmNlZENoZWNrLCBmYWxzZSk7CgkJCQkJfSBjYXRjaCAoaWdub3JlKSB7fQoJCQkJfTsKCQkJfSBlbHNlIHsKCQkJCWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJET01TdWJ0cmVlTW9kaWZpZWQiLCBkZWJvdW5jZWRDaGVjaywgZmFsc2UpOwoJCQkJdW5vYnNlcnZlQ2hhbmdlcyA9IGZ1bmN0aW9uICgpIHsKCQkJCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NU3VidHJlZU1vZGlmaWVkIiwgZGVib3VuY2VkQ2hlY2ssIGZhbHNlKTsKCQkJCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgZGVib3VuY2VkQ2hlY2ssIGZhbHNlKTsKCQkJCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLCBkZWJvdW5jZWRDaGVjaywgZmFsc2UpOwoJCQkJfTsKCQkJfQoJCX07CgkJdmFyIGNyZWF0ZVJlcXVlc3QgPSBmdW5jdGlvbiAodXJsKSB7CgkJCS8vIEluIElFIDksIGNyb3NzIG9yaWdpbiByZXF1ZXN0cyBjYW4gb25seSBiZSBzZW50IHVzaW5nIFhEb21haW5SZXF1ZXN0LgoJCQkvLyBYRG9tYWluUmVxdWVzdCB3b3VsZCBmYWlsIGlmIENPUlMgaGVhZGVycyBhcmUgbm90IHNldC4KCQkJLy8gVGhlcmVmb3JlLCBYRG9tYWluUmVxdWVzdCBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggY3Jvc3Mgb3JpZ2luIHJlcXVlc3RzLgoJCQlmdW5jdGlvbiBnZXRPcmlnaW4obG9jKSB7CgkJCQl2YXIgYTsKCQkJCWlmIChsb2MucHJvdG9jb2wgIT09IHVuZGVmaW5lZCkgewoJCQkJCWEgPSBsb2M7CgkJCQl9IGVsc2UgewoJCQkJCWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CgkJCQkJYS5ocmVmID0gbG9jOwoJCQkJfQoJCQkJcmV0dXJuIGEucHJvdG9jb2wucmVwbGFjZSgvOi9nLCAiIikgKyBhLmhvc3Q7CgkJCX0KCQkJdmFyIFJlcXVlc3Q7CgkJCXZhciBvcmlnaW47CgkJCXZhciBvcmlnaW4yOwoJCQlpZiAod2luZG93LlhNTEh0dHBSZXF1ZXN0KSB7CgkJCQlSZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CgkJCQlvcmlnaW4gPSBnZXRPcmlnaW4obG9jYXRpb24pOwoJCQkJb3JpZ2luMiA9IGdldE9yaWdpbih1cmwpOwoJCQkJaWYgKFJlcXVlc3Qud2l0aENyZWRlbnRpYWxzID09PSB1bmRlZmluZWQgJiYgb3JpZ2luMiAhPT0gIiIgJiYgb3JpZ2luMiAhPT0gb3JpZ2luKSB7CgkJCQkJUmVxdWVzdCA9IFhEb21haW5SZXF1ZXN0IHx8IHVuZGVmaW5lZDsKCQkJCX0gZWxzZSB7CgkJCQkJUmVxdWVzdCA9IFhNTEh0dHBSZXF1ZXN0OwoJCQkJfQoJCQl9CgkJCXJldHVybiBSZXF1ZXN0OwoJCX07CgkJdmFyIHhsaW5rTlMgPSAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI7CgkJY2hlY2tVc2VFbGVtcyA9IGZ1bmN0aW9uICgpIHsKCQkJdmFyIGJhc2U7CgkJCXZhciBiY3I7CgkJCXZhciBmYWxsYmFjayA9ICIiOyAvLyBvcHRpb25hbCBmYWxsYmFjayBVUkwgaW4gY2FzZSBubyBiYXNlIHBhdGggdG8gU1ZHIGZpbGUgd2FzIGdpdmVuIGFuZCBubyBzeW1ib2wgZGVmaW5pdGlvbiB3YXMgZm91bmQuCgkJCXZhciBoYXNoOwoJCQl2YXIgaHJlZjsKCQkJdmFyIGk7CgkJCXZhciBpblByb2dyZXNzQ291bnQgPSAwOwoJCQl2YXIgaXNIaWRkZW47CgkJCXZhciBSZXF1ZXN0OwoJCQl2YXIgdXJsOwoJCQl2YXIgdXNlczsKCQkJdmFyIHhocjsKCQkJZnVuY3Rpb24gb2JzZXJ2ZUlmRG9uZSgpIHsKCQkJCS8vIElmIGRvbmUgd2l0aCBtYWtpbmcgY2hhbmdlcywgc3RhcnQgd2F0Y2hpbmcgZm9yIGNoYWduZXMgaW4gRE9NIGFnYWluCgkJCQlpblByb2dyZXNzQ291bnQgLT0gMTsKCQkJCWlmIChpblByb2dyZXNzQ291bnQgPT09IDApIHsgLy8gaWYgYWxsIHhocnMgd2VyZSByZXNvbHZlZAoJCQkJCXVub2JzZXJ2ZUNoYW5nZXMoKTsgLy8gbWFrZSBzdXJlIHRvIHJlbW92ZSBvbGQgaGFuZGxlcnMKCQkJCQlvYnNlcnZlQ2hhbmdlcygpOyAvLyB3YXRjaCBmb3IgY2hhbmdlcyB0byBET00KCQkJCX0KCQkJfQoJCQlmdW5jdGlvbiBhdHRyVXBkYXRlRnVuYyhzcGVjKSB7CgkJCQlyZXR1cm4gZnVuY3Rpb24gKCkgewoJCQkJCWlmIChjYWNoZVtzcGVjLmJhc2VdICE9PSB0cnVlKSB7CgkJCQkJCXNwZWMudXNlRWwuc2V0QXR0cmlidXRlTlMoeGxpbmtOUywgInhsaW5rOmhyZWYiLCAiIyIgKyBzcGVjLmhhc2gpOwoJCQkJCQlpZiAoc3BlYy51c2VFbC5oYXNBdHRyaWJ1dGUoImhyZWYiKSkgewoJCQkJCQkJc3BlYy51c2VFbC5zZXRBdHRyaWJ1dGUoImhyZWYiLCAiIyIgKyBzcGVjLmhhc2gpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfTsKCQkJfQoJCQlmdW5jdGlvbiBvbmxvYWRGdW5jKHhocikgewoJCQkJcmV0dXJuIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgYm9keSA9IGRvY3VtZW50LmJvZHk7CgkJCQkJdmFyIHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ4Iik7CgkJCQkJdmFyIHN2ZzsKCQkJCQl4aHIub25sb2FkID0gbnVsbDsKCQkJCQl4LmlubmVySFRNTCA9IHhoci5yZXNwb25zZVRleHQ7CgkJCQkJc3ZnID0geC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIilbMF07CgkJCQkJaWYgKHN2ZykgewoJCQkJCQlzdmcuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CgkJCQkJCXN2Zy5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CgkJCQkJCXN2Zy5zdHlsZS53aWR0aCA9IDA7CgkJCQkJCXN2Zy5zdHlsZS5oZWlnaHQgPSAwOwoJCQkJCQlzdmcuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIjsKCQkJCQkJYm9keS5pbnNlcnRCZWZvcmUoc3ZnLCBib2R5LmZpcnN0Q2hpbGQpOwoJCQkJCX0KCQkJCQlvYnNlcnZlSWZEb25lKCk7CgkJCQl9OwoJCQl9CgkJCWZ1bmN0aW9uIG9uRXJyb3JUaW1lb3V0KHhocikgewoJCQkJcmV0dXJuIGZ1bmN0aW9uICgpIHsKCQkJCQl4aHIub25lcnJvciA9IG51bGw7CgkJCQkJeGhyLm9udGltZW91dCA9IG51bGw7CgkJCQkJb2JzZXJ2ZUlmRG9uZSgpOwoJCQkJfTsKCQkJfQoJCQl1bm9ic2VydmVDaGFuZ2VzKCk7IC8vIHN0b3Agd2F0Y2hpbmcgZm9yIGNoYW5nZXMgdG8gRE9NCgkJCS8vIGZpbmQgYWxsIHVzZSBlbGVtZW50cwoJCQl1c2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInVzZSIpOwoJCQlmb3IgKGkgPSAwOyBpIDwgdXNlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJdHJ5IHsKCQkJCQliY3IgPSB1c2VzW2ldLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwoJCQkJfSBjYXRjaCAoaWdub3JlKSB7CgkJCQkJLy8gZmFpbGVkIHRvIGdldCBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIHVzZSBlbGVtZW50CgkJCQkJYmNyID0gZmFsc2U7CgkJCQl9CgkJCQlocmVmID0gdXNlc1tpXS5nZXRBdHRyaWJ1dGUoImhyZWYiKQoJCQkJCXx8IHVzZXNbaV0uZ2V0QXR0cmlidXRlTlMoeGxpbmtOUywgImhyZWYiKQoJCQkJCXx8IHVzZXNbaV0uZ2V0QXR0cmlidXRlKCJ4bGluazpocmVmIik7CgkJCQlpZiAoaHJlZiAmJiBocmVmLnNwbGl0KSB7CgkJCQkJdXJsID0gaHJlZi5zcGxpdCgiIyIpOwoJCQkJfSBlbHNlIHsKCQkJCQl1cmwgPSBbIiIsICIiXTsKCQkJCX0KCQkJCWJhc2UgPSB1cmxbMF07CgkJCQloYXNoID0gdXJsWzFdOwoJCQkJaXNIaWRkZW4gPSBiY3IgJiYgYmNyLmxlZnQgPT09IDAgJiYgYmNyLnJpZ2h0ID09PSAwICYmIGJjci50b3AgPT09IDAgJiYgYmNyLmJvdHRvbSA9PT0gMDsKCQkJCWlmIChiY3IgJiYgYmNyLndpZHRoID09PSAwICYmIGJjci5oZWlnaHQgPT09IDAgJiYgIWlzSGlkZGVuKSB7CgkJCQkJLy8gdGhlIHVzZSBlbGVtZW50IGlzIGVtcHR5CgkJCQkJLy8gaWYgdGhlcmUgaXMgYSByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWwgU1ZHLCB0cnkgdG8gZmV0Y2ggaXQKCQkJCQkvLyB1c2UgdGhlIG9wdGlvbmFsIGZhbGxiYWNrIFVSTCBpZiB0aGVyZSBpcyBubyByZWZlcmVuY2UgdG8gYW4gZXh0ZXJuYWwgU1ZHCgkJCQkJaWYgKGZhbGxiYWNrICYmICFiYXNlLmxlbmd0aCAmJiBoYXNoICYmICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZChoYXNoKSkgewoJCQkJCQliYXNlID0gZmFsbGJhY2s7CgkJCQkJfQoJCQkJCWlmICh1c2VzW2ldLmhhc0F0dHJpYnV0ZSgiaHJlZiIpKSB7CgkJCQkJCXVzZXNbaV0uc2V0QXR0cmlidXRlTlMoeGxpbmtOUywgInhsaW5rOmhyZWYiLCBocmVmKTsKCQkJCQl9CgkJCQkJaWYgKGJhc2UubGVuZ3RoKSB7CgkJCQkJCS8vIHNjaGVkdWxlIHVwZGF0aW5nIHhsaW5rOmhyZWYKCQkJCQkJeGhyID0gY2FjaGVbYmFzZV07CgkJCQkJCWlmICh4aHIgIT09IHRydWUpIHsKCQkJCQkJCS8vIHRydWUgc2lnbmlmaWVzIHRoYXQgcHJlcGVuZGluZyB0aGUgU1ZHIHdhcyBub3QgcmVxdWlyZWQKCQkJCQkJCXNldFRpbWVvdXQoYXR0clVwZGF0ZUZ1bmMoewoJCQkJCQkJCXVzZUVsOiB1c2VzW2ldLAoJCQkJCQkJCWJhc2U6IGJhc2UsCgkJCQkJCQkJaGFzaDogaGFzaAoJCQkJCQkJfSksIDApOwoJCQkJCQl9CgkJCQkJCWlmICh4aHIgPT09IHVuZGVmaW5lZCkgewoJCQkJCQkJUmVxdWVzdCA9IGNyZWF0ZVJlcXVlc3QoYmFzZSk7CgkJCQkJCQlpZiAoUmVxdWVzdCAhPT0gdW5kZWZpbmVkKSB7CgkJCQkJCQkJeGhyID0gbmV3IFJlcXVlc3QoKTsKCQkJCQkJCQljYWNoZVtiYXNlXSA9IHhocjsKCQkJCQkJCQl4aHIub25sb2FkID0gb25sb2FkRnVuYyh4aHIpOwoJCQkJCQkJCXhoci5vbmVycm9yID0gb25FcnJvclRpbWVvdXQoeGhyKTsKCQkJCQkJCQl4aHIub250aW1lb3V0ID0gb25FcnJvclRpbWVvdXQoeGhyKTsKCQkJCQkJCQl4aHIub3BlbigiR0VUIiwgYmFzZSk7CgkJCQkJCQkJeGhyLnNlbmQoKTsKCQkJCQkJCQlpblByb2dyZXNzQ291bnQgKz0gMTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJaWYgKCFpc0hpZGRlbikgewoJCQkJCQlpZiAoY2FjaGVbYmFzZV0gPT09IHVuZGVmaW5lZCkgewoJCQkJCQkJLy8gcmVtZW1iZXIgdGhpcyBVUkwgaWYgdGhlIHVzZSBlbGVtZW50IHdhcyBub3QgZW1wdHkgYW5kIG5vIHJlcXVlc3Qgd2FzIHNlbnQKCQkJCQkJCWNhY2hlW2Jhc2VdID0gdHJ1ZTsKCQkJCQkJfSBlbHNlIGlmIChjYWNoZVtiYXNlXS5vbmxvYWQpIHsKCQkJCQkJCS8vIGlmIGl0IHR1cm5zIG91dCB0aGF0IHByZXBlbmRpbmcgdGhlIFNWRyBpcyBub3QgbmVjZXNzYXJ5LAoJCQkJCQkJLy8gYWJvcnQgdGhlIGluLXByb2dyZXNzIHhoci4KCQkJCQkJCWNhY2hlW2Jhc2VdLmFib3J0KCk7CgkJCQkJCQlkZWxldGUgY2FjaGVbYmFzZV0ub25sb2FkOwoJCQkJCQkJY2FjaGVbYmFzZV0gPSB0cnVlOwoJCQkJCQl9CgkJCQkJfSBlbHNlIGlmIChiYXNlLmxlbmd0aCAmJiBjYWNoZVtiYXNlXSkgewoJCQkJCQlzZXRUaW1lb3V0KGF0dHJVcGRhdGVGdW5jKHsKCQkJCQkJCXVzZUVsOiB1c2VzW2ldLAoJCQkJCQkJYmFzZTogYmFzZSwKCQkJCQkJCWhhc2g6IGhhc2gKCQkJCQkJfSksIDApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQl1c2VzID0gIiI7CgkJCWluUHJvZ3Jlc3NDb3VudCArPSAxOwoJCQlvYnNlcnZlSWZEb25lKCk7CgkJfTsKCQl2YXIgd2luTG9hZDsKCQl3aW5Mb2FkID0gZnVuY3Rpb24gKCkgewoJCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsIHdpbkxvYWQsIGZhbHNlKTsgLy8gdG8gcHJldmVudCBtZW1vcnkgbGVha3MKCQkJdGlkID0gc2V0VGltZW91dChjaGVja1VzZUVsZW1zLCAwKTsKCQl9OwoJCWlmIChkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAiY29tcGxldGUiKSB7CgkJCS8vIFRoZSBsb2FkIGV2ZW50IGZpcmVzIHdoZW4gYWxsIHJlc291cmNlcyBoYXZlIGZpbmlzaGVkIGxvYWRpbmcsIHdoaWNoIGFsbG93cyBkZXRlY3Rpbmcgd2hldGhlciBTVkcgdXNlIGVsZW1lbnRzIGFyZSBlbXB0eS4KCQkJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCB3aW5Mb2FkLCBmYWxzZSk7CgkJfSBlbHNlIHsKCQkJLy8gTm8gbmVlZCB0byBhZGQgYSBsaXN0ZW5lciBpZiB0aGUgZG9jdW1lbnQgaXMgYWxyZWFkeSBsb2FkZWQsIGluaXRpYWxpemUgaW1tZWRpYXRlbHkuCgkJCXdpbkxvYWQoKTsKCQl9Cgl9Cn0oKSk7"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.936Z","timestamp":1785139583936,"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-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 08:06:23 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: a8a14fd108bd47e5cbe1afcb13feb5bf\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-08-12T05:10:43.156791Z","times_seen":305,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.960Z","timestamp":1785139583960,"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-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 08:06:23 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: 1b165e9daa8f357a9f27c383ac2c172f\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-08-12T05:10:43.119603Z","times_seen":250,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTcwMCk7LS1fMS1nNy1yOiMwMDAwfVtkYXRhLXRoZW1lPWRhcmtdey0tXzAtZzctcjp2YXIoLS1jb2xvci1iYW5hbmEteWVsbG93LTgwMCk7LS1fMS1nNy1yOiMwMDAwfS5mYXZvcml0ZS1Rd0tXU1VtYXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1saXN0LWl0ZW0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2JvcmRlci1yYWRpdXM6NHB4O2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0KSk7ZGlzcGxheTppbmxpbmUtZmxleDtmb250LXNpemU6MDtoZWlnaHQ6MjJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21pbi13aWR0aDoyMnB4O3dpZHRoOjIycHh9LmZhdm9yaXRlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5mYXZvcml0ZS1Rd0tXU1VtYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLXR2LWxpc3QtaXRlbS1idXR0b24tYmFja2dyb3VuZC1ob3Zlci1jb2xvcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSkpO2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyLHZhcigtLWNvbG9yLXBvcHVwLWVsZW1lbnQtdG9vbGJveC10ZXh0LWhvdmVyKSl9fS5mYXZvcml0ZS1Rd0tXU1VtYS5kaXNhYmxlZC1Rd0tXU1VtYSwuZmF2b3JpdGUtUXdLV1NVbWEuZGlzYWJsZWQtUXdLV1NVbWE6YWN0aXZle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmZhdm9yaXRlLVF3S1dTVW1hLmRpc2FibGVkLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtbGlzdC1pdGVtLWJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kLWNvbG9yLHZhcigtLV8xLWc3LXIpKX19LmZhdm9yaXRlLVF3S1dTVW1he291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYXZvcml0ZS1Rd0tXU1VtYTpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhdm9yaXRlLVF3S1dTVW1hOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS5mYXZvcml0ZS1Rd0tXU1VtYTphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItZm9jdXMtb3V0bGluZS1jb2xvci1ibHVlKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OmNhbGMoMTAwJSArIDRweCk7aW5zZXQtaW5saW5lLXN0YXJ0Oi0ycHg7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTJweDt3aWR0aDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MX0uZmF2b3JpdGUtUXdLV1NVbWEuZm9jdXNlZC1Rd0tXU1VtYTphZnRlcntkaXNwbGF5OmJsb2NrfS5mYXZvcml0ZS1Rd0tXU1VtYS5hY3RpdmUtUXdLV1NVbWF7Y29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LXRleHQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWludmVyc2UpKX0uZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hLmhvdmVyZWQtUXdLV1NVbWEsLmZhdm9yaXRlLVF3S1dTVW1hLmFjdGl2ZS1Rd0tXU1VtYTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRvb2xib3gtYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtYm9sZCkpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuZmF2b3JpdGUtUXdLV1NVbWEuYWN0aXZlLVF3S1dTVW1hOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItcG9wdXAtZWxlbWVudC10b29sYm94LWJhY2tncm91bmQtYWN0aXZlLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpKX19LmZhdm9yaXRlLVF3S1dTVW1hLmNoZWNrZWQtUXdLV1NVbWF7Y29sb3I6dmFyKC0tXzAtZzctcil9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.962Z","timestamp":1785139583962,"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-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 08:06:23 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: 60d12820f6ea8c14d7b8d8f8adf521e3\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-28T06:17:53.481961Z","times_seen":245,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.986Z","timestamp":1785139583986,"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-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 08:06:23 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: 2ee531c991f308aef12d92d263518279\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-28T06:17:53.537063Z","times_seen":228,"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":"nanoquantumstellarsledger.com/frontcss/assets/imagesLoaded.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.027Z","timestamp":1785139582027,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/imagesLoaded.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3424\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":13000,"size_decoded":3661,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"3109d411ed6d178a9eb6f5a86eb27966","sha1":"b8432558ee2befa1560e298a77d8bfaf75e615f9","sha256":"3da683ee6a6a5829b1d756135090920b2a2c0379e19187b01b52d60e41b50904","sha512":"66c8c233342610974a4a04ba38c19e9e98c5c3396e468db0d93b3c41f26e4098c2efde0203d26bf2dfdb3cff02e20d80438ac4adf2dfa1b9afaaa0d58b592cbb","ssdeep":"384:blVsbR2OXM45oR+w8j8mdpZS7zdeyWKYJ:bsV/wk8gfS7zArKYJ","tlshash":"1a426585dffe221b5029f1ab7a0b11cef57c80669404d88fbd499cf414a0929827dfb9","first_seen":"2025-11-23T04:10:47.846202Z","last_seen":"2026-07-27T09:11:27.308291Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIGltYWdlc0xvYWRlZCBQQUNLQUdFRCB2NC4xLjQKICogSmF2YVNjcmlwdCBpcyBhbGwgbGlrZSAiWW91IGltYWdlcyBhcmUgZG9uZSB5ZXQgb3Igd2hhdD8iCiAqIE1JVCBMaWNlbnNlCiAqLwoKLyoqCiAqIEV2RW1pdHRlciB2MS4xLjAKICogTGlsJyBldmVudCBlbWl0dGVyCiAqIE1JVCBMaWNlbnNlCiAqLwoKLyoganNoaW50IHVudXNlZDogdHJ1ZSwgdW5kZWY6IHRydWUsIHN0cmljdDogdHJ1ZSAqLwoKKCBmdW5jdGlvbiggZ2xvYmFsLCBmYWN0b3J5ICkgewoJLy8gdW5pdmVyc2FsIG1vZHVsZSBkZWZpbml0aW9uCgkvKiBqc2hpbnQgc3RyaWN0OiBmYWxzZSAqLyAvKiBnbG9iYWxzIGRlZmluZSwgbW9kdWxlLCB3aW5kb3cgKi8KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1EIC0gUmVxdWlyZUpTCgkJZGVmaW5lKCAnZXYtZW1pdHRlci9ldi1lbWl0dGVyJyxmYWN0b3J5ICk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzICkgewoJCS8vIENvbW1vbkpTIC0gQnJvd3NlcmlmeSwgV2VicGFjawoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpOwoJfSBlbHNlIHsKCQkvLyBCcm93c2VyIGdsb2JhbHMKCQlnbG9iYWwuRXZFbWl0dGVyID0gZmFjdG9yeSgpOwoJfQoKfSggdHlwZW9mIHdpbmRvdyAhPSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHRoaXMsIGZ1bmN0aW9uKCkgewoKCgoJZnVuY3Rpb24gRXZFbWl0dGVyKCkge30KCgl2YXIgcHJvdG8gPSBFdkVtaXR0ZXIucHJvdG90eXBlOwoKCXByb3RvLm9uID0gZnVuY3Rpb24oIGV2ZW50TmFtZSwgbGlzdGVuZXIgKSB7CgkJaWYgKCAhZXZlbnROYW1lIHx8ICFsaXN0ZW5lciApIHsKCQkJcmV0dXJuOwoJCX0KCQkvLyBzZXQgZXZlbnRzIGhhc2gKCQl2YXIgZXZlbnRzID0gdGhpcy5fZXZlbnRzID0gdGhpcy5fZXZlbnRzIHx8IHt9OwoJCS8vIHNldCBsaXN0ZW5lcnMgYXJyYXkKCQl2YXIgbGlzdGVuZXJzID0gZXZlbnRzWyBldmVudE5hbWUgXSA9IGV2ZW50c1sgZXZlbnROYW1lIF0gfHwgW107CgkJLy8gb25seSBhZGQgb25jZQoJCWlmICggbGlzdGVuZXJzLmluZGV4T2YoIGxpc3RlbmVyICkgPT0gLTEgKSB7CgkJCWxpc3RlbmVycy5wdXNoKCBsaXN0ZW5lciApOwoJCX0KCgkJcmV0dXJuIHRoaXM7Cgl9OwoKCXByb3RvLm9uY2UgPSBmdW5jdGlvbiggZXZlbnROYW1lLCBsaXN0ZW5lciApIHsKCQlpZiAoICFldmVudE5hbWUgfHwgIWxpc3RlbmVyICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIGFkZCBldmVudAoJCXRoaXMub24oIGV2ZW50TmFtZSwgbGlzdGVuZXIgKTsKCQkvLyBzZXQgb25jZSBmbGFnCgkJLy8gc2V0IG9uY2VFdmVudHMgaGFzaAoJCXZhciBvbmNlRXZlbnRzID0gdGhpcy5fb25jZUV2ZW50cyA9IHRoaXMuX29uY2VFdmVudHMgfHwge307CgkJLy8gc2V0IG9uY2VMaXN0ZW5lcnMgb2JqZWN0CgkJdmFyIG9uY2VMaXN0ZW5lcnMgPSBvbmNlRXZlbnRzWyBldmVudE5hbWUgXSA9IG9uY2VFdmVudHNbIGV2ZW50TmFtZSBdIHx8IHt9OwoJCS8vIHNldCBmbGFnCgkJb25jZUxpc3RlbmVyc1sgbGlzdGVuZXIgXSA9IHRydWU7CgoJCXJldHVybiB0aGlzOwoJfTsKCglwcm90by5vZmYgPSBmdW5jdGlvbiggZXZlbnROYW1lLCBsaXN0ZW5lciApIHsKCQl2YXIgbGlzdGVuZXJzID0gdGhpcy5fZXZlbnRzICYmIHRoaXMuX2V2ZW50c1sgZXZlbnROYW1lIF07CgkJaWYgKCAhbGlzdGVuZXJzIHx8ICFsaXN0ZW5lcnMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoJCXZhciBpbmRleCA9IGxpc3RlbmVycy5pbmRleE9mKCBsaXN0ZW5lciApOwoJCWlmICggaW5kZXggIT0gLTEgKSB7CgkJCWxpc3RlbmVycy5zcGxpY2UoIGluZGV4LCAxICk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX07CgoJcHJvdG8uZW1pdEV2ZW50ID0gZnVuY3Rpb24oIGV2ZW50TmFtZSwgYXJncyApIHsKCQl2YXIgbGlzdGVuZXJzID0gdGhpcy5fZXZlbnRzICYmIHRoaXMuX2V2ZW50c1sgZXZlbnROYW1lIF07CgkJaWYgKCAhbGlzdGVuZXJzIHx8ICFsaXN0ZW5lcnMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIGNvcHkgb3ZlciB0byBhdm9pZCBpbnRlcmZlcmVuY2UgaWYgLm9mZigpIGluIGxpc3RlbmVyCgkJbGlzdGVuZXJzID0gbGlzdGVuZXJzLnNsaWNlKDApOwoJCWFyZ3MgPSBhcmdzIHx8IFtdOwoJCS8vIG9uY2Ugc3R1ZmYKCQl2YXIgb25jZUxpc3RlbmVycyA9IHRoaXMuX29uY2VFdmVudHMgJiYgdGhpcy5fb25jZUV2ZW50c1sgZXZlbnROYW1lIF07CgoJCWZvciAoIHZhciBpPTA7IGkgPCBsaXN0ZW5lcnMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBsaXN0ZW5lciA9IGxpc3RlbmVyc1tpXQoJCQl2YXIgaXNPbmNlID0gb25jZUxpc3RlbmVycyAmJiBvbmNlTGlzdGVuZXJzWyBsaXN0ZW5lciBdOwoJCQlpZiAoIGlzT25jZSApIHsKCQkJCS8vIHJlbW92ZSBsaXN0ZW5lcgoJCQkJLy8gcmVtb3ZlIGJlZm9yZSB0cmlnZ2VyIHRvIHByZXZlbnQgcmVjdXJzaW9uCgkJCQl0aGlzLm9mZiggZXZlbnROYW1lLCBsaXN0ZW5lciApOwoJCQkJLy8gdW5zZXQgb25jZSBmbGFnCgkJCQlkZWxldGUgb25jZUxpc3RlbmVyc1sgbGlzdGVuZXIgXTsKCQkJfQoJCQkvLyB0cmlnZ2VyIGxpc3RlbmVyCgkJCWxpc3RlbmVyLmFwcGx5KCB0aGlzLCBhcmdzICk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX07CgoJcHJvdG8uYWxsT2ZmID0gZnVuY3Rpb24oKSB7CgkJZGVsZXRlIHRoaXMuX2V2ZW50czsKCQlkZWxldGUgdGhpcy5fb25jZUV2ZW50czsKCX07CgoJcmV0dXJuIEV2RW1pdHRlcjsKCn0pKTsKCi8qIQogKiBpbWFnZXNMb2FkZWQgdjQuMS40CiAqIEphdmFTY3JpcHQgaXMgYWxsIGxpa2UgIllvdSBpbWFnZXMgYXJlIGRvbmUgeWV0IG9yIHdoYXQ/IgogKiBNSVQgTGljZW5zZQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsgJ3VzZSBzdHJpY3QnOwoJLy8gdW5pdmVyc2FsIG1vZHVsZSBkZWZpbml0aW9uCgoJLypnbG9iYWwgZGVmaW5lOiBmYWxzZSwgbW9kdWxlOiBmYWxzZSwgcmVxdWlyZTogZmFsc2UgKi8KCglpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRAoJCWRlZmluZSggWwoJCQknZXYtZW1pdHRlci9ldi1lbWl0dGVyJwoJCV0sIGZ1bmN0aW9uKCBFdkVtaXR0ZXIgKSB7CgkJCXJldHVybiBmYWN0b3J5KCB3aW5kb3csIEV2RW1pdHRlciApOwoJCX0pOwoJfSBlbHNlIGlmICggdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cyApIHsKCQkvLyBDb21tb25KUwoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgKCQkJd2luZG93LAoJCQlyZXF1aXJlKCdldi1lbWl0dGVyJykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5pbWFnZXNMb2FkZWQgPSBmYWN0b3J5KAoJCQl3aW5kb3csCgkJCXdpbmRvdy5FdkVtaXR0ZXIKCQkpOwoJfQoKfSkoIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogdGhpcywKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICBmYWN0b3J5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJZnVuY3Rpb24gZmFjdG9yeSggd2luZG93LCBFdkVtaXR0ZXIgKSB7CgoKCgkJdmFyICQgPSB3aW5kb3cualF1ZXJ5OwoJCXZhciBjb25zb2xlID0gd2luZG93LmNvbnNvbGU7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBoZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgovLyBleHRlbmQgb2JqZWN0cwoJCWZ1bmN0aW9uIGV4dGVuZCggYSwgYiApIHsKCQkJZm9yICggdmFyIHByb3AgaW4gYiApIHsKCQkJCWFbIHByb3AgXSA9IGJbIHByb3AgXTsKCQkJfQoJCQlyZXR1cm4gYTsKCQl9CgoJCXZhciBhcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwoKLy8gdHVybiBlbGVtZW50IG9yIG5vZGVMaXN0IGludG8gYW4gYXJyYXkKCQlmdW5jdGlvbiBtYWtlQXJyYXkoIG9iaiApIHsKCQkJaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsKCQkJCS8vIHVzZSBvYmplY3QgaWYgYWxyZWFkeSBhbiBhcnJheQoJCQkJcmV0dXJuIG9iajsKCQkJfQoKCQkJdmFyIGlzQXJyYXlMaWtlID0gdHlwZW9mIG9iaiA9PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqLmxlbmd0aCA9PSAnbnVtYmVyJzsKCQkJaWYgKCBpc0FycmF5TGlrZSApIHsKCQkJCS8vIGNvbnZlcnQgbm9kZUxpc3QgdG8gYXJyYXkKCQkJCXJldHVybiBhcnJheVNsaWNlLmNhbGwoIG9iaiApOwoJCQl9CgoJCQkvLyBhcnJheSBvZiBzaW5nbGUgaW5kZXgKCQkJcmV0dXJuIFsgb2JqIF07CgkJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaW1hZ2VzTG9hZGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCS8qKgoJCSAqIEBwYXJhbSB7QXJyYXksIEVsZW1lbnQsIE5vZGVMaXN0LCBTdHJpbmd9IGVsZW0KCQkgKiBAcGFyYW0ge09iamVjdCBvciBGdW5jdGlvbn0gb3B0aW9ucyAtIGlmIGZ1bmN0aW9uLCB1c2UgYXMgY2FsbGJhY2sKCQkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvbkFsd2F5cyAtIGNhbGxiYWNrIGZ1bmN0aW9uCgkJICovCgkJZnVuY3Rpb24gSW1hZ2VzTG9hZGVkKCBlbGVtLCBvcHRpb25zLCBvbkFsd2F5cyApIHsKCQkJLy8gY29lcmNlIEltYWdlc0xvYWRlZCgpIHdpdGhvdXQgbmV3LCB0byBiZSBuZXcgSW1hZ2VzTG9hZGVkKCkKCQkJaWYgKCAhKCB0aGlzIGluc3RhbmNlb2YgSW1hZ2VzTG9hZGVkICkgKSB7CgkJCQlyZXR1cm4gbmV3IEltYWdlc0xvYWRlZCggZWxlbSwgb3B0aW9ucywgb25BbHdheXMgKTsKCQkJfQoJCQkvLyB1c2UgZWxlbSBhcyBzZWxlY3RvciBzdHJpbmcKCQkJdmFyIHF1ZXJ5RWxlbSA9IGVsZW07CgkJCWlmICggdHlwZW9mIGVsZW0gPT0gJ3N0cmluZycgKSB7CgkJCQlxdWVyeUVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCBlbGVtICk7CgkJCX0KCQkJLy8gYmFpbCBpZiBiYWQgZWxlbWVudAoJCQlpZiAoICFxdWVyeUVsZW0gKSB7CgkJCQljb25zb2xlLmVycm9yKCAnQmFkIGVsZW1lbnQgZm9yIGltYWdlc0xvYWRlZCAnICsgKCBxdWVyeUVsZW0gfHwgZWxlbSApICk7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXRoaXMuZWxlbWVudHMgPSBtYWtlQXJyYXkoIHF1ZXJ5RWxlbSApOwoJCQl0aGlzLm9wdGlvbnMgPSBleHRlbmQoIHt9LCB0aGlzLm9wdGlvbnMgKTsKCQkJLy8gc2hpZnQgYXJndW1lbnRzIGlmIG5vIG9wdGlvbnMgc2V0CgkJCWlmICggdHlwZW9mIG9wdGlvbnMgPT0gJ2Z1bmN0aW9uJyApIHsKCQkJCW9uQWx3YXlzID0gb3B0aW9uczsKCQkJfSBlbHNlIHsKCQkJCWV4dGVuZCggdGhpcy5vcHRpb25zLCBvcHRpb25zICk7CgkJCX0KCgkJCWlmICggb25BbHdheXMgKSB7CgkJCQl0aGlzLm9uKCAnYWx3YXlzJywgb25BbHdheXMgKTsKCQkJfQoKCQkJdGhpcy5nZXRJbWFnZXMoKTsKCgkJCWlmICggJCApIHsKCQkJCS8vIGFkZCBqUXVlcnkgRGVmZXJyZWQgb2JqZWN0CgkJCQl0aGlzLmpxRGVmZXJyZWQgPSBuZXcgJC5EZWZlcnJlZCgpOwoJCQl9CgoJCQkvLyBIQUNLIGNoZWNrIGFzeW5jIHRvIGFsbG93IHRpbWUgdG8gYmluZCBsaXN0ZW5lcnMKCQkJc2V0VGltZW91dCggdGhpcy5jaGVjay5iaW5kKCB0aGlzICkgKTsKCQl9CgoJCUltYWdlc0xvYWRlZC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBFdkVtaXR0ZXIucHJvdG90eXBlICk7CgoJCUltYWdlc0xvYWRlZC5wcm90b3R5cGUub3B0aW9ucyA9IHt9OwoKCQlJbWFnZXNMb2FkZWQucHJvdG90eXBlLmdldEltYWdlcyA9IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmltYWdlcyA9IFtdOwoKCQkJLy8gZmlsdGVyICYgZmluZCBpdGVtcyBpZiB3ZSBoYXZlIGFuIGl0ZW0gc2VsZWN0b3IKCQkJdGhpcy5lbGVtZW50cy5mb3JFYWNoKCB0aGlzLmFkZEVsZW1lbnRJbWFnZXMsIHRoaXMgKTsKCQl9OwoKCQkvKioKCQkgKiBAcGFyYW0ge05vZGV9IGVsZW1lbnQKCQkgKi8KCQlJbWFnZXNMb2FkZWQucHJvdG90eXBlLmFkZEVsZW1lbnRJbWFnZXMgPSBmdW5jdGlvbiggZWxlbSApIHsKCQkJLy8gZmlsdGVyIHNpYmxpbmdzCgkJCWlmICggZWxlbS5ub2RlTmFtZSA9PSAnSU1HJyApIHsKCQkJCXRoaXMuYWRkSW1hZ2UoIGVsZW0gKTsKCQkJfQoJCQkvLyBnZXQgYmFja2dyb3VuZCBpbWFnZSBvbiBlbGVtZW50CgkJCWlmICggdGhpcy5vcHRpb25zLmJhY2tncm91bmQgPT09IHRydWUgKSB7CgkJCQl0aGlzLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzKCBlbGVtICk7CgkJCX0KCgkJCS8vIGZpbmQgY2hpbGRyZW4KCQkJLy8gbm8gbm9uLWVsZW1lbnQgbm9kZXMsICMxNDMKCQkJdmFyIG5vZGVUeXBlID0gZWxlbS5ub2RlVHlwZTsKCQkJaWYgKCAhbm9kZVR5cGUgfHwgIWVsZW1lbnROb2RlVHlwZXNbIG5vZGVUeXBlIF0gKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJdmFyIGNoaWxkSW1ncyA9IGVsZW0ucXVlcnlTZWxlY3RvckFsbCgnaW1nJyk7CgkJCS8vIGNvbmNhdCBjaGlsZEVsZW1zIHRvIGZpbHRlckZvdW5kIGFycmF5CgkJCWZvciAoIHZhciBpPTA7IGkgPCBjaGlsZEltZ3MubGVuZ3RoOyBpKysgKSB7CgkJCQl2YXIgaW1nID0gY2hpbGRJbWdzW2ldOwoJCQkJdGhpcy5hZGRJbWFnZSggaW1nICk7CgkJCX0KCgkJCS8vIGdldCBjaGlsZCBiYWNrZ3JvdW5kIGltYWdlcwoJCQlpZiAoIHR5cGVvZiB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZCA9PSAnc3RyaW5nJyApIHsKCQkJCXZhciBjaGlsZHJlbiA9IGVsZW0ucXVlcnlTZWxlY3RvckFsbCggdGhpcy5vcHRpb25zLmJhY2tncm91bmQgKTsKCQkJCWZvciAoIGk9MDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrICkgewoJCQkJCXZhciBjaGlsZCA9IGNoaWxkcmVuW2ldOwoJCQkJCXRoaXMuYWRkRWxlbWVudEJhY2tncm91bmRJbWFnZXMoIGNoaWxkICk7CgkJCQl9CgkJCX0KCQl9OwoKCQl2YXIgZWxlbWVudE5vZGVUeXBlcyA9IHsKCQkJMTogdHJ1ZSwKCQkJOTogdHJ1ZSwKCQkJMTE6IHRydWUKCQl9OwoKCQlJbWFnZXNMb2FkZWQucHJvdG90eXBlLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzID0gZnVuY3Rpb24oIGVsZW0gKSB7CgkJCXZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoIGVsZW0gKTsKCQkJaWYgKCAhc3R5bGUgKSB7CgkJCQkvLyBGaXJlZm94IHJldHVybnMgbnVsbCBpZiBpbiBhIGhpZGRlbiBpZnJhbWUgaHR0cHM6Ly9idWd6aWwubGEvNTQ4Mzk3CgkJCQlyZXR1cm47CgkJCX0KCQkJLy8gZ2V0IHVybCBpbnNpZGUgdXJsKCIuLi4iKQoJCQl2YXIgcmVVUkwgPSAvdXJsXCgoWyciXSk/KC4qPylcMVwpL2dpOwoJCQl2YXIgbWF0Y2hlcyA9IHJlVVJMLmV4ZWMoIHN0eWxlLmJhY2tncm91bmRJbWFnZSApOwoJCQl3aGlsZSAoIG1hdGNoZXMgIT09IG51bGwgKSB7CgkJCQl2YXIgdXJsID0gbWF0Y2hlcyAmJiBtYXRjaGVzWzJdOwoJCQkJaWYgKCB1cmwgKSB7CgkJCQkJdGhpcy5hZGRCYWNrZ3JvdW5kKCB1cmwsIGVsZW0gKTsKCQkJCX0KCQkJCW1hdGNoZXMgPSByZVVSTC5leGVjKCBzdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgKTsKCQkJfQoJCX07CgoJCS8qKgoJCSAqIEBwYXJhbSB7SW1hZ2V9IGltZwoJCSAqLwoJCUltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkSW1hZ2UgPSBmdW5jdGlvbiggaW1nICkgewoJCQl2YXIgbG9hZGluZ0ltYWdlID0gbmV3IExvYWRpbmdJbWFnZSggaW1nICk7CgkJCXRoaXMuaW1hZ2VzLnB1c2goIGxvYWRpbmdJbWFnZSApOwoJCX07CgoJCUltYWdlc0xvYWRlZC5wcm90b3R5cGUuYWRkQmFja2dyb3VuZCA9IGZ1bmN0aW9uKCB1cmwsIGVsZW0gKSB7CgkJCXZhciBiYWNrZ3JvdW5kID0gbmV3IEJhY2tncm91bmQoIHVybCwgZWxlbSApOwoJCQl0aGlzLmltYWdlcy5wdXNoKCBiYWNrZ3JvdW5kICk7CgkJfTsKCgkJSW1hZ2VzTG9hZGVkLnByb3RvdHlwZS5jaGVjayA9IGZ1bmN0aW9uKCkgewoJCQl2YXIgX3RoaXMgPSB0aGlzOwoJCQl0aGlzLnByb2dyZXNzZWRDb3VudCA9IDA7CgkJCXRoaXMuaGFzQW55QnJva2VuID0gZmFsc2U7CgkJCS8vIGNvbXBsZXRlIGlmIG5vIGltYWdlcwoJCQlpZiAoICF0aGlzLmltYWdlcy5sZW5ndGggKSB7CgkJCQl0aGlzLmNvbXBsZXRlKCk7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWZ1bmN0aW9uIG9uUHJvZ3Jlc3MoIGltYWdlLCBlbGVtLCBtZXNzYWdlICkgewoJCQkJLy8gSEFDSyAtIENocm9tZSB0cmlnZ2VycyBldmVudCBiZWZvcmUgb2JqZWN0IHByb3BlcnRpZXMgaGF2ZSBjaGFuZ2VkLiAjODMKCQkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQkJCV90aGlzLnByb2dyZXNzKCBpbWFnZSwgZWxlbSwgbWVzc2FnZSApOwoJCQkJfSk7CgkJCX0KCgkJCXRoaXMuaW1hZ2VzLmZvckVhY2goIGZ1bmN0aW9uKCBsb2FkaW5nSW1hZ2UgKSB7CgkJCQlsb2FkaW5nSW1hZ2Uub25jZSggJ3Byb2dyZXNzJywgb25Qcm9ncmVzcyApOwoJCQkJbG9hZGluZ0ltYWdlLmNoZWNrKCk7CgkJCX0pOwoJCX07CgoJCUltYWdlc0xvYWRlZC5wcm90b3R5cGUucHJvZ3Jlc3MgPSBmdW5jdGlvbiggaW1hZ2UsIGVsZW0sIG1lc3NhZ2UgKSB7CgkJCXRoaXMucHJvZ3Jlc3NlZENvdW50Kys7CgkJCXRoaXMuaGFzQW55QnJva2VuID0gdGhpcy5oYXNBbnlCcm9rZW4gfHwgIWltYWdlLmlzTG9hZGVkOwoJCQkvLyBwcm9ncmVzcyBldmVudAoJCQl0aGlzLmVtaXRFdmVudCggJ3Byb2dyZXNzJywgWyB0aGlzLCBpbWFnZSwgZWxlbSBdICk7CgkJCWlmICggdGhpcy5qcURlZmVycmVkICYmIHRoaXMuanFEZWZlcnJlZC5ub3RpZnkgKSB7CgkJCQl0aGlzLmpxRGVmZXJyZWQubm90aWZ5KCB0aGlzLCBpbWFnZSApOwoJCQl9CgkJCS8vIGNoZWNrIGlmIGNvbXBsZXRlZAoJCQlpZiAoIHRoaXMucHJvZ3Jlc3NlZENvdW50ID09IHRoaXMuaW1hZ2VzLmxlbmd0aCApIHsKCQkJCXRoaXMuY29tcGxldGUoKTsKCQkJfQoKCQkJaWYgKCB0aGlzLm9wdGlvbnMuZGVidWcgJiYgY29uc29sZSApIHsKCQkJCWNvbnNvbGUubG9nKCAncHJvZ3Jlc3M6ICcgKyBtZXNzYWdlLCBpbWFnZSwgZWxlbSApOwoJCQl9CgkJfTsKCgkJSW1hZ2VzTG9hZGVkLnByb3RvdHlwZS5jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewoJCQl2YXIgZXZlbnROYW1lID0gdGhpcy5oYXNBbnlCcm9rZW4gPyAnZmFpbCcgOiAnZG9uZSc7CgkJCXRoaXMuaXNDb21wbGV0ZSA9IHRydWU7CgkJCXRoaXMuZW1pdEV2ZW50KCBldmVudE5hbWUsIFsgdGhpcyBdICk7CgkJCXRoaXMuZW1pdEV2ZW50KCAnYWx3YXlzJywgWyB0aGlzIF0gKTsKCQkJaWYgKCB0aGlzLmpxRGVmZXJyZWQgKSB7CgkJCQl2YXIganFNZXRob2QgPSB0aGlzLmhhc0FueUJyb2tlbiA/ICdyZWplY3QnIDogJ3Jlc29sdmUnOwoJCQkJdGhpcy5qcURlZmVycmVkWyBqcU1ldGhvZCBdKCB0aGlzICk7CgkJCX0KCQl9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCWZ1bmN0aW9uIExvYWRpbmdJbWFnZSggaW1nICkgewoJCQl0aGlzLmltZyA9IGltZzsKCQl9CgoJCUxvYWRpbmdJbWFnZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBFdkVtaXR0ZXIucHJvdG90eXBlICk7CgoJCUxvYWRpbmdJbWFnZS5wcm90b3R5cGUuY2hlY2sgPSBmdW5jdGlvbigpIHsKCQkJLy8gSWYgY29tcGxldGUgaXMgdHJ1ZSBhbmQgYnJvd3NlciBzdXBwb3J0cyBuYXR1cmFsIHNpemVzLAoJCQkvLyB0cnkgdG8gY2hlY2sgZm9yIGltYWdlIHN0YXR1cyBtYW51YWxseS4KCQkJdmFyIGlzQ29tcGxldGUgPSB0aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpOwoJCQlpZiAoIGlzQ29tcGxldGUgKSB7CgkJCQkvLyByZXBvcnQgYmFzZWQgb24gbmF0dXJhbFdpZHRoCgkJCQl0aGlzLmNvbmZpcm0oIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAhPT0gMCwgJ25hdHVyYWxXaWR0aCcgKTsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gSWYgbm9uZSBvZiB0aGUgY2hlY2tzIGFib3ZlIG1hdGNoZWQsIHNpbXVsYXRlIGxvYWRpbmcgb24gZGV0YWNoZWQgZWxlbWVudC4KCQkJdGhpcy5wcm94eUltYWdlID0gbmV3IEltYWdlKCk7CgkJCXRoaXMucHJveHlJbWFnZS5hZGRFdmVudExpc3RlbmVyKCAnbG9hZCcsIHRoaXMgKTsKCQkJdGhpcy5wcm94eUltYWdlLmFkZEV2ZW50TGlzdGVuZXIoICdlcnJvcicsIHRoaXMgKTsKCQkJLy8gYmluZCB0byBpbWFnZSBhcyB3ZWxsIGZvciBGaXJlZm94LiAjMTkxCgkJCXRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoICdsb2FkJywgdGhpcyApOwoJCQl0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CgkJCXRoaXMucHJveHlJbWFnZS5zcmMgPSB0aGlzLmltZy5zcmM7CgkJfTsKCgkJTG9hZGluZ0ltYWdlLnByb3RvdHlwZS5nZXRJc0ltYWdlQ29tcGxldGUgPSBmdW5jdGlvbigpIHsKCQkJLy8gY2hlY2sgZm9yIG5vbi16ZXJvLCBub24tdW5kZWZpbmVkIG5hdHVyYWxXaWR0aAoJCQkvLyBmaXhlcyBTYWZhcmkrSW5maW5pdGVTY3JvbGwrTWFzb25yeSBidWcgaW5maW5pdGUtc2Nyb2xsIzY3MQoJCQlyZXR1cm4gdGhpcy5pbWcuY29tcGxldGUgJiYgdGhpcy5pbWcubmF0dXJhbFdpZHRoOwoJCX07CgoJCUxvYWRpbmdJbWFnZS5wcm90b3R5cGUuY29uZmlybSA9IGZ1bmN0aW9uKCBpc0xvYWRlZCwgbWVzc2FnZSApIHsKCQkJdGhpcy5pc0xvYWRlZCA9IGlzTG9hZGVkOwoJCQl0aGlzLmVtaXRFdmVudCggJ3Byb2dyZXNzJywgWyB0aGlzLCB0aGlzLmltZywgbWVzc2FnZSBdICk7CgkJfTsKCi8vIC0tLS0tIGV2ZW50cyAtLS0tLSAvLwoKLy8gdHJpZ2dlciBzcGVjaWZpZWQgaGFuZGxlciBmb3IgZXZlbnQgdHlwZQoJCUxvYWRpbmdJbWFnZS5wcm90b3R5cGUuaGFuZGxlRXZlbnQgPSBmdW5jdGlvbiggZXZlbnQgKSB7CgkJCXZhciBtZXRob2QgPSAnb24nICsgZXZlbnQudHlwZTsKCQkJaWYgKCB0aGlzWyBtZXRob2QgXSApIHsKCQkJCXRoaXNbIG1ldGhvZCBdKCBldmVudCApOwoJCQl9CgkJfTsKCgkJTG9hZGluZ0ltYWdlLnByb3RvdHlwZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsKCQkJdGhpcy5jb25maXJtKCB0cnVlLCAnb25sb2FkJyApOwoJCQl0aGlzLnVuYmluZEV2ZW50cygpOwoJCX07CgoJCUxvYWRpbmdJbWFnZS5wcm90b3R5cGUub25lcnJvciA9IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmNvbmZpcm0oIGZhbHNlLCAnb25lcnJvcicgKTsKCQkJdGhpcy51bmJpbmRFdmVudHMoKTsKCQl9OwoKCQlMb2FkaW5nSW1hZ2UucHJvdG90eXBlLnVuYmluZEV2ZW50cyA9IGZ1bmN0aW9uKCkgewoJCQl0aGlzLnByb3h5SW1hZ2UucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CgkJCXRoaXMucHJveHlJbWFnZS5yZW1vdmVFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CgkJCXRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoICdsb2FkJywgdGhpcyApOwoJCQl0aGlzLmltZy5yZW1vdmVFdmVudExpc3RlbmVyKCAnZXJyb3InLCB0aGlzICk7CgkJfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEJhY2tncm91bmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgkJZnVuY3Rpb24gQmFja2dyb3VuZCggdXJsLCBlbGVtZW50ICkgewoJCQl0aGlzLnVybCA9IHVybDsKCQkJdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKCQkJdGhpcy5pbWcgPSBuZXcgSW1hZ2UoKTsKCQl9CgovLyBpbmhlcml0IExvYWRpbmdJbWFnZSBwcm90b3R5cGUKCQlCYWNrZ3JvdW5kLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIExvYWRpbmdJbWFnZS5wcm90b3R5cGUgKTsKCgkJQmFja2dyb3VuZC5wcm90b3R5cGUuY2hlY2sgPSBmdW5jdGlvbigpIHsKCQkJdGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CgkJCXRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoICdlcnJvcicsIHRoaXMgKTsKCQkJdGhpcy5pbWcuc3JjID0gdGhpcy51cmw7CgkJCS8vIGNoZWNrIGlmIGltYWdlIGlzIGFscmVhZHkgY29tcGxldGUKCQkJdmFyIGlzQ29tcGxldGUgPSB0aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpOwoJCQlpZiAoIGlzQ29tcGxldGUgKSB7CgkJCQl0aGlzLmNvbmZpcm0oIHRoaXMuaW1nLm5hdHVyYWxXaWR0aCAhPT0gMCwgJ25hdHVyYWxXaWR0aCcgKTsKCQkJCXRoaXMudW5iaW5kRXZlbnRzKCk7CgkJCX0KCQl9OwoKCQlCYWNrZ3JvdW5kLnByb3RvdHlwZS51bmJpbmRFdmVudHMgPSBmdW5jdGlvbigpIHsKCQkJdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2xvYWQnLCB0aGlzICk7CgkJCXRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoICdlcnJvcicsIHRoaXMgKTsKCQl9OwoKCQlCYWNrZ3JvdW5kLnByb3RvdHlwZS5jb25maXJtID0gZnVuY3Rpb24oIGlzTG9hZGVkLCBtZXNzYWdlICkgewoJCQl0aGlzLmlzTG9hZGVkID0gaXNMb2FkZWQ7CgkJCXRoaXMuZW1pdEV2ZW50KCAncHJvZ3Jlc3MnLCBbIHRoaXMsIHRoaXMuZWxlbWVudCwgbWVzc2FnZSBdICk7CgkJfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGpRdWVyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKCQlJbWFnZXNMb2FkZWQubWFrZUpRdWVyeVBsdWdpbiA9IGZ1bmN0aW9uKCBqUXVlcnkgKSB7CgkJCWpRdWVyeSA9IGpRdWVyeSB8fCB3aW5kb3cualF1ZXJ5OwoJCQlpZiAoICFqUXVlcnkgKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJLy8gc2V0IGxvY2FsIHZhcmlhYmxlCgkJCSQgPSBqUXVlcnk7CgkJCS8vICQoKS5pbWFnZXNMb2FkZWQoKQoJCQkkLmZuLmltYWdlc0xvYWRlZCA9IGZ1bmN0aW9uKCBvcHRpb25zLCBjYWxsYmFjayApIHsKCQkJCXZhciBpbnN0YW5jZSA9IG5ldyBJbWFnZXNMb2FkZWQoIHRoaXMsIG9wdGlvbnMsIGNhbGxiYWNrICk7CgkJCQlyZXR1cm4gaW5zdGFuY2UuanFEZWZlcnJlZC5wcm9taXNlKCAkKHRoaXMpICk7CgkJCX07CgkJfTsKLy8gdHJ5IG1ha2luZyBwbHVnaW4KCQlJbWFnZXNMb2FkZWQubWFrZUpRdWVyeVBsdWdpbigpOwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCXJldHVybiBJbWFnZXNMb2FkZWQ7CgoJfSk7Cg=="}},"time_used":94,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":89,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.790Z","timestamp":1785139582790,"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-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 08:06:22 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: 1d8c061bffe11361ac2835d066defee1\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-28T06:17:53.392875Z","times_seen":933,"resource_available":false,"data":"LnN0YXR1c2VzV3JhcC1VUklqRUI5OHtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXXthbGlnbi1zZWxmOmNlbnRlcjtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czo5cHg7ZGlzcGxheTppbmxpbmUtZmxleDttaW4td2lkdGg6NnB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjB9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpmb2N1cy12aXNpYmxle291dGxpbmU6MnB4IHNvbGlkIHZhcigtLWNvbG9yLWZvY3VzLW91dGxpbmUtY29sb3ItYmx1ZSk7b3V0bGluZS1vZmZzZXQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06ZW1wdHksW2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXV9oaWRkZW57ZGlzcGxheTpub25lfVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0uc21hbGwtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo5cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5tZWRpdW0tVVJJakVCOTh7Ym9yZGVyLXJhZGl1czoxMXB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0ubGFyZ2UtVVJJakVCOTh7Ym9yZGVyLXJhZGl1czo4cHh9W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXS5ibGlua2luZy1VUklqRUI5OHt3aWxsLWNoYW5nZTpvcGFjaXR5fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MnB4fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF0gLnN0YXR1c0l0ZW0tVVJJakVCOTg6bm90KDpvbmx5LWNoaWxkKTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4e2RpcmVjdGlvbjpsdHI7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zdGF0dXNJdGVtLVVSSWpFQjk4OmFmdGVye2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtpbnNldC1pbmxpbmUtc3RhcnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6LTF9LnN0YXR1c0l0ZW0tVVJJakVCOTggc3Zne2luc2V0LWlubGluZS1zdGFydDo1MCU7cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDowfS5zdGF0dXNJdGVtLVVSSWpFQjk4IHN2ZzpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlKDUwJSwtNTAlKX0uc3RhdHVzSXRlbS1VUklqRUI5OC5zbWFsbC1VUklqRUI5OHtoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4Lm1lZGl1bS1VUklqRUI5OHtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fS5zdGF0dXNJdGVtLVVSSWpFQjk4LmxhcmdlLVVSSWpFQjk4e2hlaWdodDoyOHB4O3dpZHRoOjI4cHh9LnN0YXR1c0l0ZW0tVVJJakVCOTguYmxpbmtpbmctVVJJakVCOTg6YWZ0ZXJ7YW5pbWF0aW9uOmJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OCAyLjVzIGN1YmljLWJlemllciguMjUsMCwuNzUsMSkgaW5maW5pdGV9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5zdGF0dXNJdGVtLVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19LnN0YXR1c0l0ZW0tVVJJakVCOTg6ZGlyKHJ0bCl7ZGlyZWN0aW9uOnJ0bH0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktc3VjY2Vzcy1ib2xkKX0ubWFya2V0U3RhdHVzT3Blbi1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c09wZW4tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0Nsb3NlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDbG9zZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQcmUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUHJlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1ByZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktd2FybmluZy0xLWJvbGQpfS5tYXJrZXRTdGF0dXNQb3N0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzUG9zdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLm1hcmtldFN0YXR1c1Bvc3QtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c092ZXJuaWdodC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNPdmVybmlnaHQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC0zLWJvbGQpfS5tYXJrZXRTdGF0dXNIb2xpZGF5LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9Lm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm1hcmtldFN0YXR1c0hvbGlkYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5ldXRyYWwtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubWFya2V0U3RhdHVzSG9saWRheS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzRGVsaXN0ZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLXNlbWktYm9sZCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNEZWxpc3RlZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlcil9Lm1hcmtldFN0YXR1c0V4cGlyZWQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNFeHBpcmVkLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTh7Y29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvcix2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktYWNjZW50LW90aGVyLWJvbGQpKX0ubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbGlnaHQpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAubWFya2V0U3RhdHVzQ3VzdG9tLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY3VzdG9tLXN0YXR1cy1jb2xvci1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItbm9ybWFsKSl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5tYXJrZXRTdGF0dXNDdXN0b20tVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jdXN0b20tc3RhdHVzLWNvbG9yLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTItYm9sZCkpfS5pbnZhbGlkU3ltYm9sLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaW52YWxpZFN5bWJvbC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmludmFsaWRTeW1ib2wtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyLWV4dHJhLWJvbGQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC10ZXJ0aWFyeS1hY2NlbnQpfS5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5hY3RpdmVTdHJhdGVneS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFjdGl2ZVN0cmF0ZWd5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMS1ib2xkKX0uYWxlcnQtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktc3VjY2Vzcyl9LmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuYWxlcnQtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXBvc2l0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmFsZXJ0LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0xLWJvbGQpfS5hbGVydEl0ZW1zQ29udGFpbmVyLVVSSWpFQjk4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHh9LmFsZXJ0SXRlbS1VUklqRUI5OHtkaXNwbGF5OmZsZXh9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OCwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlciwucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4OmFmdGVyLFtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQYXVzZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1hY2NlbnQtc2VtaS1ib2xkKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5ODphZnRlcixbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAucmVwbGF5TW9kZVBhdXNlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1ib2xkKX0ucmVwbGF5TW9kZVBvaW50U2VsZWN0LVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtdGVydGlhcnktaW52ZXJzZSl9LnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLW5vcm1hbCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLnJlcGxheU1vZGVQb2ludFNlbGVjdC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnJlcGxheU1vZGVBdXRvUGxheS1VUklqRUI5OC5ibGlua2luZy1VUklqRUI5ODphZnRlcnthbmltYXRpb246YmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OCAxcyBjdWJpYy1iZXppZXIoLjc3LC4yMSwuMSwuNzQpIGluZmluaXRlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsucmVwbGF5TW9kZUF1dG9QbGF5LVVSSWpFQjk4LmJsaW5raW5nLVVSSWpFQjk4OmFmdGVyOmhvdmVye29wYWNpdHk6aW5oZXJpdH19Lm5vdEFjY3VyYXRlLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0ubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5ub3RBY2N1cmF0ZS1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMi1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAubm90QWNjdXJhdGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTItYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LXN1Y2Nlc3MtZXh0cmEtYm9sZCl9Lm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLm9wZW5lZEluUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktcG9zaXRpdmUtMy1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAub3BlbmVkSW5QaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1wb3NpdGl2ZS0zLWJvbGQpfS5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbCl9Lm9wZW5lZEluRGV0YWNoZWRQaW5lRWRpdG9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZXV0cmFsLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLW5vcm1hbCl9fVtkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06YWN0aXZlIC5vcGVuZWRJbkRldGFjaGVkUGluZUVkaXRvci1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmV1dHJhbC0xLWJvbGQpfS5kZWxheS1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1ib2xkKX0uZGVsYXktVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LXdhcm5pbmctMS1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmRlbGF5LVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS13YXJuaW5nLTEtYm9sZCl9LmVvZC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0uZW9kLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtMy1saWdodCl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpe1tkYXRhLXJvbGU9c3RhdHVzZXMtcGlsbF06aG92ZXIgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmVvZC1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktYWNjZW50LTMtYm9sZCl9LmRhdGFQcm9ibGVtSGlnaC1VUklqRUI5OHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXRlcnRpYXJ5LWludmVyc2UpfS5kYXRhUHJvYmxlbUhpZ2gtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1IaWdoLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1leHRyYS1ib2xkKX0uZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbGlnaHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXtbZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmhvdmVyIC5kYXRhUHJvYmxlbUxvdy1VUklqRUI5ODphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLW92ZXJsYXktbmVnYXRpdmUtMS1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAuZGF0YVByb2JsZW1Mb3ctVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4e2NvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1kYW5nZXItZXh0cmEtYm9sZCl9Lmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAuaGFzRXJyb3ItVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LW5lZ2F0aXZlLTEtbm9ybWFsKX19W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTphY3RpdmUgLmhhc0Vycm9yLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1uZWdhdGl2ZS0xLWJvbGQpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTh7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWFjY2VudC1vdGhlci1ub3JtYWwpfS51cGRhdGVBdmFpbGFibGUtVVJJakVCOTg6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1vdmVybGF5LWFjY2VudC00LWxpZ2h0KX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7W2RhdGEtcm9sZT1zdGF0dXNlcy1waWxsXTpob3ZlciAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ub3JtYWwpfX1bZGF0YS1yb2xlPXN0YXR1c2VzLXBpbGxdOmFjdGl2ZSAudXBkYXRlQXZhaWxhYmxlLVVSSWpFQjk4OmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itb3ZlcmxheS1hY2NlbnQtNC1ib2xkKX1Aa2V5ZnJhbWVzIGJsaW5raW5nLWFuaW1hdGlvbi1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi4zfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmxpbmtpbmctYW5pbWF0aW9uLWN1c3RvbS1VUklqRUI5OHswJSx0b3tvcGFjaXR5Oi41fTUwJXtvcGFjaXR5OjF9fQ=="}},"time_used":33,"timings":{"blocked":22,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.388Z","timestamp":1785139584388,"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-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 08:06:24 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: ff7677b88456a855a5300f1c4b7355c7\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-08-12T05:10:43.071831Z","times_seen":133,"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":"www.tradingview.com/support/support-portal-problems/?language=in","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.545Z","timestamp":1785139584545,"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=in 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 08:06:24 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'; frame-ancestors '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/; object-src 'none'\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-methods: GET, HEAD, POST, OPTIONS\r\naccess-control-allow-headers: pragma,x-language,cache-control,x-requested-with\r\naccess-control-allow-credentials: true\r\ncross-origin-resource-policy: same-site\r\naccess-control-max-age: 86400\r\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 bc2ad79bb70175937978804970010644.cloudfront.net (CloudFront)\r\nx-amz-cf-id: K6uYqgM-nJLkAXwCAFo5JHXbh9oSUlJkyovbbwb_DY_luYAf6shGUQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":"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":"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":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-08-12T03:04:55.389719Z","times_seen":690,"resource_available":false,"data":"eyJpc3N1ZXMiOltdfQ=="}},"time_used":186,"timings":{"blocked":0,"dns":1,"connect":15,"send":0,"wait":170,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.113Z","timestamp":1785139584113,"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-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 08:06:24 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: d35f8fe10c7f92103e211f77e2013cda\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-28T06:17:53.448224Z","times_seen":85,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.229Z","timestamp":1785139584229,"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-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 08:06:24 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: 9ae83f4079e4cd8f8a540a1427f637ce\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-28T06:17:53.598563Z","times_seen":66,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.787Z","timestamp":1785139582787,"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-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 08:06:22 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: 73d3c365ceafbabe765853a01c511766\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-08-12T17:58:50.127154Z","times_seen":3944,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtUVpDcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKX1bZGF0YS10aGVtZT1kYXJrXXstLV8wLVFaQ3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCl9LnR2LW1hcmtldC1zdGF0dXNfX2RvdHtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXR7Y29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLW1pbnR5LWdyZWVuLTMwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb257Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1pbnZhbGlkIC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1yZXBsYXl7Y29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXl7Y29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWRhbmdlci1hY3RpdmUpfS50di1tYXJrZXQtc3RhdHVzLS1uaWdodHtjb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1hY2NlbnQtb3RoZXItc2VtaS1ib2xkKX0udHYtbWFya2V0LXN0YXR1cy0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLW91dC1vZi1zZXNzaW9uX193aXRoSWNvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpfX0udHYtbWFya2V0LXN0YXR1cy0tb3V0LW9mLXNlc3Npb25fX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbl9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKTtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4Oy13ZWJraXQtbWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7bWFzazp1cmwobWFya2V0LWNsb3NlLmQwMjVlODcxMDAxOTljMWJjN2FmLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb257aGVpZ2h0OjE4cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7d2lkdGg6MThweH1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcHJlLW1hcmtldF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXByZS1tYXJrZXRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS02MDApO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcHJlLjdkMzdkY2NhMjM0ODMzZDEyYzQzLnN2Zyk7bWFzazp1cmwobWFya2V0LXByZS43ZDM3ZGNjYTIzNDgzM2QxMmM0My5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApfX0udHYtbWFya2V0LXN0YXR1cy0tcG9zdC1tYXJrZXRfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1wb3N0LW1hcmtldF9fd2l0aEljb24gLnR2LW1hcmtldC1zdGF0dXNfX2ljb257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7bWFzazp1cmwobWFya2V0LXBvc3QuOWYyYzViZmRhOTQwNWEyOTFmOTAuc3ZnKTstd2Via2l0LW1hc2stcG9zaXRpb246Y2VudGVyO21hc2stcG9zaXRpb246Y2VudGVyOy13ZWJraXQtbWFzay1zaXplOmNvdmVyO21hc2stc2l6ZTpjb3Zlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0taG9saWRheV9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1fMC1RWkNyKX19LnR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXlfX3dpdGhJY29uOmFmdGVye2JvcmRlci1yYWRpdXM6NnB4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtvcGFjaXR5OjE1JTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxOHB4fS50di1tYXJrZXQtc3RhdHVzLS1ob2xpZGF5X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8wLVFaQ3IpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtaG9saWRheS40M2NhMzNkNjkwOTM5YjkzOTc4Ni5zdmcpO21hc2s6dXJsKG1hcmtldC1ob2xpZGF5LjQzY2EzM2Q2OTA5MzliOTM5Nzg2LnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29ue2hlaWdodDoxOHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4O3dpZHRoOjE4cHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1tYXJrZXQtc3RhdHVzLS1kZWxpc3RlZF9fd2l0aEljb246aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX19LnR2LW1hcmtldC1zdGF0dXMtLWRlbGlzdGVkX193aXRoSWNvbjphZnRlcntib3JkZXItcmFkaXVzOjZweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7b3BhY2l0eToxNSU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWRfX3dpdGhJY29uIC50di1tYXJrZXQtc3RhdHVzX19pY29ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSk7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDstd2Via2l0LW1hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpO21hc2s6dXJsKGRlbGlzdGVkLW1vYmlsZS40ZDI2YTJkN2M0MzFkZmZlOTRlZC5zdmcpOy13ZWJraXQtbWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1wb3NpdGlvbjpjZW50ZXI7LXdlYmtpdC1tYXNrLXNpemU6Y292ZXI7bWFzay1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbntoZWlnaHQ6MThweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDoxOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtbWFya2V0LXN0YXR1cy0tbmlnaHRfX3dpdGhJY29uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9fS50di1tYXJrZXQtc3RhdHVzLS1uaWdodF9fd2l0aEljb246YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo2cHg7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O29wYWNpdHk6MTUlO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LW1hcmtldC1zdGF0dXMtLW5pZ2h0X193aXRoSWNvbiAudHYtbWFya2V0LXN0YXR1c19faWNvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE4cHg7LXdlYmtpdC1tYXNrOnVybChtYXJrZXQtcG9zdC45ZjJjNWJmZGE5NDA1YTI5MWY5MC5zdmcpO21hc2s6dXJsKG1hcmtldC1wb3N0LjlmMmM1YmZkYTk0MDVhMjkxZjkwLnN2Zyk7LXdlYmtpdC1tYXNrLXBvc2l0aW9uOmNlbnRlcjttYXNrLXBvc2l0aW9uOmNlbnRlcjstd2Via2l0LW1hc2stc2l6ZTpjb3ZlcjttYXNrLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6aW5saW5lLXN0YXJ0O21hcmdpbi1pbmxpbmUtZW5kOjB9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcHJlLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXBvc3QtbWFya2V0e2NvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1wb3N0LW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldHtjb2xvcjp2YXIoLS1jb2xvci1taW50eS1ncmVlbi0zMDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItbWludHktZ3JlZW4tMzAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbntjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1vdXQtb2Ytc2Vzc2lvbiAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTQwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taW52YWxpZHtjb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC01MDApfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLWludmFsaWQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXJpcGUtcmVkLTUwMCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tcmVwbGF5e2NvbG9yOnZhcigtLWNvbG9yLXJlcGxheS1kYXRhLW1vZGUpfS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQtLXJlcGxheSAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcmVwbGF5LWRhdGEtbW9kZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0taG9saWRheXtjb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1ob2xpZGF5IC50di1tYXJrZXQtc3RhdHVzX19kb3R7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZHtjb2xvcjp2YXIoLS1jb2xvci1kYW5nZXItYWN0aXZlKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0LS1kZWxpc3RlZCAudHYtbWFya2V0LXN0YXR1c19fZG90e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItZGFuZ2VyLWFjdGl2ZSl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHR7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktYWNjZW50LW90aGVyLXNlbWktYm9sZCl9LnR2LW1hcmtldC1zdGF0dXMtLWZvci1jaGFydC0tbmlnaHQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtc2Vjb25kYXJ5LWFjY2VudC1vdGhlci1zZW1pLWJvbGQpfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnR7Y29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS00MDApfS50di1tYXJrZXQtc3RhdHVzLS1sb2FkaW5nLS1mb3ItY2hhcnQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtNDAwKX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlcnttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luOmF1dG8gM3B4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLWxhc3R7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4taW5saW5lLXN0YXJ0OjRweH0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXN0aWNreS1zeW1ib2wtaGVhZGVyLC50di1tYXJrZXQtc3RhdHVzLS1mb3ItdGlja2VyLXRhcGV7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfS50di1tYXJrZXQtc3RhdHVzLS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXI6ZGlyKHJ0bCksLnR2LW1hcmtldC1zdGF0dXMtLWZvci10aWNrZXItdGFwZTpkaXIocnRsKXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNHB4KX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLXRpY2tlci1oZWFkZXJ7ZGlzcGxheTpmbGV4O21hcmdpbi1pbmxpbmUtc3RhcnQ6NHB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1jaGFydHtoZWlnaHQ6NnB4O21hcmdpbi1yaWdodDo0cHg7dmVydGljYWwtYWxpZ246MXB4O3dpZHRoOjZweH0udHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWNhcmR7aGVpZ2h0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjRweDt3aWR0aDo2cHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXdhdGNoLWxpc3R7bWFyZ2luLWJvdHRvbTozcHh9LnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1sYXN0e2hlaWdodDo2cHg7d2lkdGg6NnB4fS50di1tYXJrZXQtc3RhdHVzX19kb3QtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGV7aGVpZ2h0OjRweDt3aWR0aDo0cHh9LnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItY2hhcnR7ZGlzcGxheTpibG9jaztmbG9hdDppbmxpbmUtZW5kO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLWlubGluZS1lbmQ6MH0udHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1jaGFydDpkaXIocnRsKXttYXJnaW4taW5saW5lLWVuZDo2cHh9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itc3RpY2t5LXN5bWJvbC1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1jYXJkLC50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQgLnR2LW1hcmtldC1zdGF0dXNfX2RvdC0tZm9yLXRpY2tlci1oZWFkZXIsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLWxhc3QsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3ItdGlja2VyLXRhcGUsLnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldCAudHYtbWFya2V0LXN0YXR1c19fZG90LS1mb3Itd2F0Y2gtbGlzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci1zdGlja3ktc3ltYm9sLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXIsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWNhcmQsLnR2LW1hcmtldC1zdGF0dXNfX2xhYmVsLS1mb3ItdGlja2VyLWhlYWRlciwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItbGFzdCwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci10aWNrZXItdGFwZSwudHYtbWFya2V0LXN0YXR1c19fbGFiZWwtLWZvci13YXRjaC1saXN0e2Rpc3BsYXk6bm9uZX0udHYtbWFya2V0LXN0YXR1cy0tZm9yLWNoYXJ0e21hcmdpbi1pbmxpbmUtc3RhcnQ6NXB4fS50di1tYXJrZXQtc3RhdHVzLS1mb3ItY2hhcnQ6ZGlyKHJ0bCl7bWFyZ2luLWlubGluZS1zdGFydDowfS50di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQtLWZvci1jaGFydHtkaXNwbGF5Om5vbmV9LnR2LW1hcmtldC1zdGF0dXMtLW1hcmtldF9fd2l0aEljb257ZGlzcGxheTpub25lIWltcG9ydGFudH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQtLWZvci13YXRjaC1saXN0OmFmdGVye2Rpc3BsYXk6bm9uZX0="}},"time_used":35,"timings":{"blocked":24,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.486Z","timestamp":1785139583486,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /images/branding/googlelogo/1x/googlelogo_color_42x16dp.png HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 910\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:14 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:14 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 02 Nov 2023 22:48:00 GMT\r\ncontent-type: image/png\r\nvary: Origin\r\nage: 413769\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":910,"size_decoded":1583,"mime_type":"image/png","magic":"PNG image data, 42 x 16, 8-bit/color RGBA, non-interlaced","md5":"efa6bb2bfe459bc6f4bdafa3db0383f6","sha1":"52d15ce52fe50643e542c17812de43f4ed1b6ee0","sha256":"6318394f737c66f0e2ccfcd88e3935c6667633a1b95fa29fba2b75431d55eef2","sha512":"e23c04d8997f5c2f92070e09261b7ee50d9df8753f45cf66f604f0874ffa8d99e947c97c528ec02a2c3fbe8e43d840b343a7d0225532980d5da95031216415b7","ssdeep":"","tlshash":"491184a73cd1dc6854a47a87aa91b864ec250f1b91a220981237b42277313444fdc8f7","first_seen":"2023-04-05T07:39:29Z","last_seen":"2026-08-12T17:34:25.339768Z","times_seen":57197,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAQCAYAAABgIu2QAAADVUlEQVR4AcxUA9AdPRRNbdu2+7K//+4mW9vWqNbYU2z21bZt27Zt+6nK5lUftrkPO7V1Zu7iZnJycoUc2HYC4hZVKROjqCnmEdMaoDJRHv1g4HmNKuCFjVX0OajeO5CWML5eCrSlnaGMr5VCr4X+mdXrhwpd0GgKXtDgAPoUIJIgTDPFE42JalF37952QspE+6rG0zy/hVDdsDSInHy3Qp8Jr6pk99A/s7333ttRdrD3ramDRHbd/STTp4QG6F+5fNUq5kCvg5qWmxr8qWuincTxsWAu1bRKR42avCT4H1TFeXxU2ePTFRvMo7t2AmlI4ObkeWM2J9kTsyWJDSa/d8ZvSRFaU3vzzJohNkFA5Fnx8sz9mmGJt4XeVV2ZvTreFuWXZy29rqrJEYAwMUYKuYccgM+aAKRR0wweayOUwEdc++Tm034dK/e1in96CT7nocoO20YJpLh9MVsSnX65ObHyclviP+X3ORAbvri1kjJ+mxi8EmWiIjHFKeB9W6hXV+Z7iXITuMF8RBHyPDeKkHSDTeqAYO7XU6SavDgYYWKEjEYgoP6RG27pp7iOUwI6bgQ+MShn+XAkkzprMZuTNgLfxlmNC0AUNca7OIEwecP3CZXCglLsCMk7xEtcDyAwcAYC/GfyLHKTRQ2xEBoIvYbave2U0n8exhWkPZKS2o7Qyrgh+F70z1khnO5EzlrMpqQNwbdhVuvC4cwEO0bXNBas9yGhYF6qTPRWUd4ZjRDVJprJ42TktgEJzE/ZXM3k/0kp9CExHheC1Huo67CPuo7fr4JLy2YqC2Ughe6NpP6wTPfxFxuTlH6xJUlZKAOoWeCH0QfjTmVBHM4SP/Zeoboy20OUu16C//GSioW8FM/1UNwavQ4pVKUmP/x6bRJTbAdiFAFslkTHosXuJcqhe6RCPlh7tjlZwZhNiY46zbQpycH4rcnzRUuJGmKPw834ifcJffzffxl8FG8A7ohd9tGKFdEHR0g/q4wzRt5CKLI6LggG36+vQWRB8LONyQrAt8PZ25ta7/+sIBhMFBnd7pAp9AFAP/gJLmb3RgnRz4QUNhm6HsqKuIN1iclvUWZNQ78b/hnoT0MMMVsz+Qtq8JfQuGrvR+nR74omi+xEYOjVBgEYBQDoQD6ep9ySZwAAAABJRU5ErkJggg=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.926Z","timestamp":1785139583926,"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-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 08:06:23 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: cad8e0f049f4ce9f9b45857d735c34cd\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-08-12T05:10:43.325564Z","times_seen":305,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.929Z","timestamp":1785139583929,"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-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 08:06:23 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: c3ccca69f1f236eb34c91c4203fc9f8f\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-08-12T05:10:43.302587Z","times_seen":305,"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.mixedfinance.io/asset/frontend/svg-icons/sprites/icons.svg","fqdn":"www.mixedfinance.io","domain":"mixedfinance.io","tld":"io"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:24.594Z","timestamp":1785139584594,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /asset/frontend/svg-icons/sprites/icons.svg HTTP/1.1\r\nHost: www.mixedfinance.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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":"nanoquantumstellarsledger.com/frontcss/assets/swiper.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.050Z","timestamp":1785139582050,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/swiper.min.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 43718\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":236577,"size_decoded":43956,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"17f96a1de497bab22e3d630c4ec99576","sha1":"6d7eeedc7210bee61829ff437939de0ac90dfb54","sha256":"96dd05f38b8db481ccc5030c172b6b8d413139206201f3171932f661c3e2c53a","sha512":"ee7953d1a5facab7fe435b2f4637aaa87945367988b76359bc9a218ffe98a8c140d2b78fc7e54fa86adeb80c5213598f2ce9d4ee1a3ef85d73733f7fd98767e0","ssdeep":"6144:GmeD94SauJe+EuENj2OS3+ORrusZLU3onSzymC0/SwLhgAfr0RgO00qGfbnDbTy:YadS3nK","tlshash":"91349689e79c256a45a3350a5d6d80cd607d8272a8178cbbbce49d28e4f8c3d036dff5","first_seen":"2025-11-23T04:10:47.822402Z","last_seen":"2026-07-27T09:11:27.390924Z","times_seen":7,"resource_available":true,"data":"LyoqCiAqIFN3aXBlciA0LjIuNgogKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9ucwogKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci8KICoKICogQ29weXJpZ2h0IDIwMTQtMjAxOCBWbGFkaW1pciBLaGFybGFtcGlkaQogKgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UKICoKICogUmVsZWFzZWQgb246IE1heSAxLCAyMDE4CiAqLwoKKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHsKCXR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJyA/IG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpIDoKCQl0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgPyBkZWZpbmUoZmFjdG9yeSkgOgoJCQkoZ2xvYmFsLlN3aXBlciA9IGZhY3RvcnkoKSk7Cn0odGhpcywgKGZ1bmN0aW9uICgpIHsgJ3VzZSBzdHJpY3QnOwoKCS8qKgoJICogU1NSIFdpbmRvdyAxLjAuMAoJICogQmV0dGVyIGhhbmRsaW5nIGZvciB3aW5kb3cgb2JqZWN0IGluIFNTUiBlbnZpcm9ubWVudAoJICogaHR0cHM6Ly9naXRodWIuY29tL25vbGltaXRzNHdlYi9zc3Itd2luZG93CgkgKgoJICogQ29weXJpZ2h0IDIwMTgsIFZsYWRpbWlyIEtoYXJsYW1waWRpCgkgKgoJICogTGljZW5zZWQgdW5kZXIgTUlUCgkgKgoJICogUmVsZWFzZWQgb246IEZlYnJ1YXJ5IDEwLCAyMDE4CgkgKi8KCXZhciBkOwoJaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQlkID0gewoJCQlib2R5OiB7fSwKCQkJYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24gYWRkRXZlbnRMaXN0ZW5lcigpIHt9LAoJCQlyZW1vdmVFdmVudExpc3RlbmVyOiBmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKCkge30sCgkJCWFjdGl2ZUVsZW1lbnQ6IHsKCQkJCWJsdXI6IGZ1bmN0aW9uIGJsdXIoKSB7fSwKCQkJCW5vZGVOYW1lOiAnJywKCQkJfSwKCQkJcXVlcnlTZWxlY3RvcjogZnVuY3Rpb24gcXVlcnlTZWxlY3RvcigpIHsKCQkJCXJldHVybiBudWxsOwoJCQl9LAoJCQlxdWVyeVNlbGVjdG9yQWxsOiBmdW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKCkgewoJCQkJcmV0dXJuIFtdOwoJCQl9LAoJCQlnZXRFbGVtZW50QnlJZDogZnVuY3Rpb24gZ2V0RWxlbWVudEJ5SWQoKSB7CgkJCQlyZXR1cm4gbnVsbDsKCQkJfSwKCQkJY3JlYXRlRXZlbnQ6IGZ1bmN0aW9uIGNyZWF0ZUV2ZW50KCkgewoJCQkJcmV0dXJuIHsKCQkJCQlpbml0RXZlbnQ6IGZ1bmN0aW9uIGluaXRFdmVudCgpIHt9LAoJCQkJfTsKCQkJfSwKCQkJY3JlYXRlRWxlbWVudDogZnVuY3Rpb24gY3JlYXRlRWxlbWVudCgpIHsKCQkJCXJldHVybiB7CgkJCQkJY2hpbGRyZW46IFtdLAoJCQkJCWNoaWxkTm9kZXM6IFtdLAoJCQkJCXN0eWxlOiB7fSwKCQkJCQlzZXRBdHRyaWJ1dGU6IGZ1bmN0aW9uIHNldEF0dHJpYnV0ZSgpIHt9LAoJCQkJCWdldEVsZW1lbnRzQnlUYWdOYW1lOiBmdW5jdGlvbiBnZXRFbGVtZW50c0J5VGFnTmFtZSgpIHsKCQkJCQkJcmV0dXJuIFtdOwoJCQkJCX0sCgkJCQl9OwoJCQl9LAoJCQlsb2NhdGlvbjogeyBoYXNoOiAnJyB9LAoJCX07Cgl9IGVsc2UgewoJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCWQgPSBkb2N1bWVudDsKCX0KCgl2YXIgZG9jID0gZDsKCgl2YXIgdzsKCWlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgewoJCXcgPSB7CgkJCWRvY3VtZW50OiBkb2MsCgkJCW5hdmlnYXRvcjogewoJCQkJdXNlckFnZW50OiAnJywKCQkJfSwKCQkJbG9jYXRpb246IHt9LAoJCQloaXN0b3J5OiB7fSwKCQkJQ3VzdG9tRXZlbnQ6IGZ1bmN0aW9uIEN1c3RvbUV2ZW50KCkgewoJCQkJcmV0dXJuIHRoaXM7CgkJCX0sCgkJCWFkZEV2ZW50TGlzdGVuZXI6IGZ1bmN0aW9uIGFkZEV2ZW50TGlzdGVuZXIoKSB7fSwKCQkJcmVtb3ZlRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcigpIHt9LAoJCQlnZXRDb21wdXRlZFN0eWxlOiBmdW5jdGlvbiBnZXRDb21wdXRlZFN0eWxlKCkgewoJCQkJcmV0dXJuIHsKCQkJCQlnZXRQcm9wZXJ0eVZhbHVlOiBmdW5jdGlvbiBnZXRQcm9wZXJ0eVZhbHVlKCkgewoJCQkJCQlyZXR1cm4gJyc7CgkJCQkJfSwKCQkJCX07CgkJCX0sCgkJCUltYWdlOiBmdW5jdGlvbiBJbWFnZSgpIHt9LAoJCQlEYXRlOiBmdW5jdGlvbiBEYXRlKCkge30sCgkJCXNjcmVlbjoge30sCgkJCXNldFRpbWVvdXQ6IGZ1bmN0aW9uIHNldFRpbWVvdXQoKSB7fSwKCQkJY2xlYXJUaW1lb3V0OiBmdW5jdGlvbiBjbGVhclRpbWVvdXQoKSB7fSwKCQl9OwoJfSBlbHNlIHsKCQkvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUKCQl3ID0gd2luZG93OwoJfQoKCXZhciB3aW4gPSB3OwoKCS8qKgoJICogRG9tNyAyLjAuNQoJICogTWluaW1hbGlzdGljIEphdmFTY3JpcHQgbGlicmFyeSBmb3IgRE9NIG1hbmlwdWxhdGlvbiwgd2l0aCBhIGpRdWVyeS1jb21wYXRpYmxlIEFQSQoJICogaHR0cDovL2ZyYW1ld29yazcuaW8vZG9jcy9kb20uaHRtbAoJICoKCSAqIENvcHlyaWdodCAyMDE4LCBWbGFkaW1pciBLaGFybGFtcGlkaQoJICogVGhlIGlEYW5nZXJvLnVzCgkgKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzLwoJICoKCSAqIExpY2Vuc2VkIHVuZGVyIE1JVAoJICoKCSAqIFJlbGVhc2VkIG9uOiBBcHJpbCAyMCwgMjAxOAoJICovCgoJdmFyIERvbTcgPSBmdW5jdGlvbiBEb203KGFycikgewoJCXZhciBzZWxmID0gdGhpczsKCQkvLyBDcmVhdGUgYXJyYXktbGlrZSBvYmplY3QKCQlmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gMSkgewoJCQlzZWxmW2ldID0gYXJyW2ldOwoJCX0KCQlzZWxmLmxlbmd0aCA9IGFyci5sZW5ndGg7CgkJLy8gUmV0dXJuIGNvbGxlY3Rpb24gd2l0aCBtZXRob2RzCgkJcmV0dXJuIHRoaXM7Cgl9OwoKCWZ1bmN0aW9uICQoc2VsZWN0b3IsIGNvbnRleHQpIHsKCQl2YXIgYXJyID0gW107CgkJdmFyIGkgPSAwOwoJCWlmIChzZWxlY3RvciAmJiAhY29udGV4dCkgewoJCQlpZiAoc2VsZWN0b3IgaW5zdGFuY2VvZiBEb203KSB7CgkJCQlyZXR1cm4gc2VsZWN0b3I7CgkJCX0KCQl9CgkJaWYgKHNlbGVjdG9yKSB7CgkJCS8vIFN0cmluZwoJCQlpZiAodHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJykgewoJCQkJdmFyIGVsczsKCQkJCXZhciB0ZW1wUGFyZW50OwoJCQkJdmFyIGh0bWwgPSBzZWxlY3Rvci50cmltKCk7CgkJCQlpZiAoaHRtbC5pbmRleE9mKCc8JykgPj0gMCAmJiBodG1sLmluZGV4T2YoJz4nKSA+PSAwKSB7CgkJCQkJdmFyIHRvQ3JlYXRlID0gJ2Rpdic7CgkJCQkJaWYgKGh0bWwuaW5kZXhPZignPGxpJykgPT09IDApIHsgdG9DcmVhdGUgPSAndWwnOyB9CgkJCQkJaWYgKGh0bWwuaW5kZXhPZignPHRyJykgPT09IDApIHsgdG9DcmVhdGUgPSAndGJvZHknOyB9CgkJCQkJaWYgKGh0bWwuaW5kZXhPZignPHRkJykgPT09IDAgfHwgaHRtbC5pbmRleE9mKCc8dGgnKSA9PT0gMCkgeyB0b0NyZWF0ZSA9ICd0cic7IH0KCQkJCQlpZiAoaHRtbC5pbmRleE9mKCc8dGJvZHknKSA9PT0gMCkgeyB0b0NyZWF0ZSA9ICd0YWJsZSc7IH0KCQkJCQlpZiAoaHRtbC5pbmRleE9mKCc8b3B0aW9uJykgPT09IDApIHsgdG9DcmVhdGUgPSAnc2VsZWN0JzsgfQoJCQkJCXRlbXBQYXJlbnQgPSBkb2MuY3JlYXRlRWxlbWVudCh0b0NyZWF0ZSk7CgkJCQkJdGVtcFBhcmVudC5pbm5lckhUTUwgPSBodG1sOwoJCQkJCWZvciAoaSA9IDA7IGkgPCB0ZW1wUGFyZW50LmNoaWxkTm9kZXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJCQkJYXJyLnB1c2godGVtcFBhcmVudC5jaGlsZE5vZGVzW2ldKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWlmICghY29udGV4dCAmJiBzZWxlY3RvclswXSA9PT0gJyMnICYmICFzZWxlY3Rvci5tYXRjaCgvWyAuPD46fl0vKSkgewoJCQkJCQkvLyBQdXJlIElEIHNlbGVjdG9yCgkJCQkJCWVscyA9IFtkb2MuZ2V0RWxlbWVudEJ5SWQoc2VsZWN0b3IudHJpbSgpLnNwbGl0KCcjJylbMV0pXTsKCQkJCQl9IGVsc2UgewoJCQkJCQkvLyBPdGhlciBzZWxlY3RvcnMKCQkJCQkJZWxzID0gKGNvbnRleHQgfHwgZG9jKS5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yLnRyaW0oKSk7CgkJCQkJfQoJCQkJCWZvciAoaSA9IDA7IGkgPCBlbHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJCQkJaWYgKGVsc1tpXSkgeyBhcnIucHVzaChlbHNbaV0pOyB9CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgaWYgKHNlbGVjdG9yLm5vZGVUeXBlIHx8IHNlbGVjdG9yID09PSB3aW4gfHwgc2VsZWN0b3IgPT09IGRvYykgewoJCQkJLy8gTm9kZS9lbGVtZW50CgkJCQlhcnIucHVzaChzZWxlY3Rvcik7CgkJCX0gZWxzZSBpZiAoc2VsZWN0b3IubGVuZ3RoID4gMCAmJiBzZWxlY3RvclswXS5ub2RlVHlwZSkgewoJCQkJLy8gQXJyYXkgb2YgZWxlbWVudHMgb3IgaW5zdGFuY2Ugb2YgRG9tCgkJCQlmb3IgKGkgPSAwOyBpIDwgc2VsZWN0b3IubGVuZ3RoOyBpICs9IDEpIHsKCQkJCQlhcnIucHVzaChzZWxlY3RvcltpXSk7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuIG5ldyBEb203KGFycik7Cgl9CgoJJC5mbiA9IERvbTcucHJvdG90eXBlOwoJJC5DbGFzcyA9IERvbTc7CgkkLkRvbTcgPSBEb203OwoKCWZ1bmN0aW9uIHVuaXF1ZShhcnIpIHsKCQl2YXIgdW5pcXVlQXJyYXkgPSBbXTsKCQlmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkgKz0gMSkgewoJCQlpZiAodW5pcXVlQXJyYXkuaW5kZXhPZihhcnJbaV0pID09PSAtMSkgeyB1bmlxdWVBcnJheS5wdXNoKGFycltpXSk7IH0KCQl9CgkJcmV0dXJuIHVuaXF1ZUFycmF5OwoJfQoKCS8vIENsYXNzZXMgYW5kIGF0dHJpYnV0ZXMKCWZ1bmN0aW9uIGFkZENsYXNzKGNsYXNzTmFtZSkgewoJCXZhciB0aGlzJDEgPSB0aGlzOwoKCQlpZiAodHlwZW9mIGNsYXNzTmFtZSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoJCXZhciBjbGFzc2VzID0gY2xhc3NOYW1lLnNwbGl0KCcgJyk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5sZW5ndGg7IGogKz0gMSkgewoJCQkJaWYgKHR5cGVvZiB0aGlzJDFbal0uY2xhc3NMaXN0ICE9PSAndW5kZWZpbmVkJykgeyB0aGlzJDFbal0uY2xhc3NMaXN0LmFkZChjbGFzc2VzW2ldKTsgfQoJCQl9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gcmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBjbGFzc2VzID0gY2xhc3NOYW1lLnNwbGl0KCcgJyk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5sZW5ndGg7IGogKz0gMSkgewoJCQkJaWYgKHR5cGVvZiB0aGlzJDFbal0uY2xhc3NMaXN0ICE9PSAndW5kZWZpbmVkJykgeyB0aGlzJDFbal0uY2xhc3NMaXN0LnJlbW92ZShjbGFzc2VzW2ldKTsgfQoJCQl9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gaGFzQ2xhc3MoY2xhc3NOYW1lKSB7CgkJaWYgKCF0aGlzWzBdKSB7IHJldHVybiBmYWxzZTsgfQoJCXJldHVybiB0aGlzWzBdLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpOwoJfQoJZnVuY3Rpb24gdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBjbGFzc2VzID0gY2xhc3NOYW1lLnNwbGl0KCcgJyk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWZvciAodmFyIGogPSAwOyBqIDwgdGhpcy5sZW5ndGg7IGogKz0gMSkgewoJCQkJaWYgKHR5cGVvZiB0aGlzJDFbal0uY2xhc3NMaXN0ICE9PSAndW5kZWZpbmVkJykgeyB0aGlzJDFbal0uY2xhc3NMaXN0LnRvZ2dsZShjbGFzc2VzW2ldKTsgfQoJCQl9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gYXR0cihhdHRycywgdmFsdWUpIHsKCQl2YXIgYXJndW1lbnRzJDEgPSBhcmd1bWVudHM7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCWlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHR5cGVvZiBhdHRycyA9PT0gJ3N0cmluZycpIHsKCQkJLy8gR2V0IGF0dHIKCQkJaWYgKHRoaXNbMF0pIHsgcmV0dXJuIHRoaXNbMF0uZ2V0QXR0cmlidXRlKGF0dHJzKTsgfQoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCgkJLy8gU2V0IGF0dHJzCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWlmIChhcmd1bWVudHMkMS5sZW5ndGggPT09IDIpIHsKCQkJCS8vIFN0cmluZwoJCQkJdGhpcyQxW2ldLnNldEF0dHJpYnV0ZShhdHRycywgdmFsdWUpOwoJCQl9IGVsc2UgewoJCQkJLy8gT2JqZWN0CgkJCQkvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUKCQkJCWZvciAodmFyIGF0dHJOYW1lIGluIGF0dHJzKSB7CgkJCQkJdGhpcyQxW2ldW2F0dHJOYW1lXSA9IGF0dHJzW2F0dHJOYW1lXTsKCQkJCQl0aGlzJDFbaV0uc2V0QXR0cmlidXRlKGF0dHJOYW1lLCBhdHRyc1thdHRyTmFtZV0pOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCglmdW5jdGlvbiByZW1vdmVBdHRyKGF0dHIpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCXRoaXMkMVtpXS5yZW1vdmVBdHRyaWJ1dGUoYXR0cik7CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gZGF0YShrZXksIHZhbHVlKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBlbDsKCQlpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykgewoJCQllbCA9IHRoaXNbMF07CgkJCS8vIEdldCB2YWx1ZQoJCQlpZiAoZWwpIHsKCQkJCWlmIChlbC5kb203RWxlbWVudERhdGFTdG9yYWdlICYmIChrZXkgaW4gZWwuZG9tN0VsZW1lbnREYXRhU3RvcmFnZSkpIHsKCQkJCQlyZXR1cm4gZWwuZG9tN0VsZW1lbnREYXRhU3RvcmFnZVtrZXldOwoJCQkJfQoKCQkJCXZhciBkYXRhS2V5ID0gZWwuZ2V0QXR0cmlidXRlKCgiZGF0YS0iICsga2V5KSk7CgkJCQlpZiAoZGF0YUtleSkgewoJCQkJCXJldHVybiBkYXRhS2V5OwoJCQkJfQoJCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQkJfQoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCgkJLy8gU2V0IHZhbHVlCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWVsID0gdGhpcyQxW2ldOwoJCQlpZiAoIWVsLmRvbTdFbGVtZW50RGF0YVN0b3JhZ2UpIHsgZWwuZG9tN0VsZW1lbnREYXRhU3RvcmFnZSA9IHt9OyB9CgkJCWVsLmRvbTdFbGVtZW50RGF0YVN0b3JhZ2Vba2V5XSA9IHZhbHVlOwoJCX0KCQlyZXR1cm4gdGhpczsKCX0KCS8vIFRyYW5zZm9ybXMKCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJZnVuY3Rpb24gdHJhbnNmb3JtKHRyYW5zZm9ybSkgewoJCXZhciB0aGlzJDEgPSB0aGlzOwoKCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIGVsU3R5bGUgPSB0aGlzJDFbaV0uc3R5bGU7CgkJCWVsU3R5bGUud2Via2l0VHJhbnNmb3JtID0gdHJhbnNmb3JtOwoJCQllbFN0eWxlLnRyYW5zZm9ybSA9IHRyYW5zZm9ybTsKCQl9CgkJcmV0dXJuIHRoaXM7Cgl9CglmdW5jdGlvbiB0cmFuc2l0aW9uKGR1cmF0aW9uKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCWlmICh0eXBlb2YgZHVyYXRpb24gIT09ICdzdHJpbmcnKSB7CgkJCWR1cmF0aW9uID0gZHVyYXRpb24gKyAibXMiOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgkJfQoJCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkgKz0gMSkgewoJCQl2YXIgZWxTdHlsZSA9IHRoaXMkMVtpXS5zdHlsZTsKCQkJZWxTdHlsZS53ZWJraXRUcmFuc2l0aW9uRHVyYXRpb24gPSBkdXJhdGlvbjsKCQkJZWxTdHlsZS50cmFuc2l0aW9uRHVyYXRpb24gPSBkdXJhdGlvbjsKCQl9CgkJcmV0dXJuIHRoaXM7Cgl9CgkvLyBFdmVudHMKCWZ1bmN0aW9uIG9uKCkgewoJCXZhciB0aGlzJDEgPSB0aGlzOwoJCXZhciBhc3NpZ247CgoJCXZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7CgkJd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTsKCQl2YXIgZXZlbnRUeXBlID0gYXJnc1swXTsKCQl2YXIgdGFyZ2V0U2VsZWN0b3IgPSBhcmdzWzFdOwoJCXZhciBsaXN0ZW5lciA9IGFyZ3NbMl07CgkJdmFyIGNhcHR1cmUgPSBhcmdzWzNdOwoJCWlmICh0eXBlb2YgYXJnc1sxXSA9PT0gJ2Z1bmN0aW9uJykgewoJCQkoYXNzaWduID0gYXJncywgZXZlbnRUeXBlID0gYXNzaWduWzBdLCBsaXN0ZW5lciA9IGFzc2lnblsxXSwgY2FwdHVyZSA9IGFzc2lnblsyXSk7CgkJCXRhcmdldFNlbGVjdG9yID0gdW5kZWZpbmVkOwoJCX0KCQlpZiAoIWNhcHR1cmUpIHsgY2FwdHVyZSA9IGZhbHNlOyB9CgoJCWZ1bmN0aW9uIGhhbmRsZUxpdmVFdmVudChlKSB7CgkJCXZhciB0YXJnZXQgPSBlLnRhcmdldDsKCQkJaWYgKCF0YXJnZXQpIHsgcmV0dXJuOyB9CgkJCXZhciBldmVudERhdGEgPSBlLnRhcmdldC5kb203RXZlbnREYXRhIHx8IFtdOwoJCQlpZiAoZXZlbnREYXRhLmluZGV4T2YoZSkgPCAwKSB7CgkJCQlldmVudERhdGEudW5zaGlmdChlKTsKCQkJfQoJCQlpZiAoJCh0YXJnZXQpLmlzKHRhcmdldFNlbGVjdG9yKSkgeyBsaXN0ZW5lci5hcHBseSh0YXJnZXQsIGV2ZW50RGF0YSk7IH0KCQkJZWxzZSB7CgkJCQl2YXIgcGFyZW50cyA9ICQodGFyZ2V0KS5wYXJlbnRzKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUKCQkJCWZvciAodmFyIGsgPSAwOyBrIDwgcGFyZW50cy5sZW5ndGg7IGsgKz0gMSkgewoJCQkJCWlmICgkKHBhcmVudHNba10pLmlzKHRhcmdldFNlbGVjdG9yKSkgeyBsaXN0ZW5lci5hcHBseShwYXJlbnRzW2tdLCBldmVudERhdGEpOyB9CgkJCQl9CgkJCX0KCQl9CgkJZnVuY3Rpb24gaGFuZGxlRXZlbnQoZSkgewoJCQl2YXIgZXZlbnREYXRhID0gZSAmJiBlLnRhcmdldCA/IGUudGFyZ2V0LmRvbTdFdmVudERhdGEgfHwgW10gOiBbXTsKCQkJaWYgKGV2ZW50RGF0YS5pbmRleE9mKGUpIDwgMCkgewoJCQkJZXZlbnREYXRhLnVuc2hpZnQoZSk7CgkJCX0KCQkJbGlzdGVuZXIuYXBwbHkodGhpcywgZXZlbnREYXRhKTsKCQl9CgkJdmFyIGV2ZW50cyA9IGV2ZW50VHlwZS5zcGxpdCgnICcpOwoJCXZhciBqOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkgKz0gMSkgewoJCQl2YXIgZWwgPSB0aGlzJDFbaV07CgkJCWlmICghdGFyZ2V0U2VsZWN0b3IpIHsKCQkJCWZvciAoaiA9IDA7IGogPCBldmVudHMubGVuZ3RoOyBqICs9IDEpIHsKCQkJCQl2YXIgZXZlbnQgPSBldmVudHNbal07CgkJCQkJaWYgKCFlbC5kb203TGlzdGVuZXJzKSB7IGVsLmRvbTdMaXN0ZW5lcnMgPSB7fTsgfQoJCQkJCWlmICghZWwuZG9tN0xpc3RlbmVyc1tldmVudF0pIHsgZWwuZG9tN0xpc3RlbmVyc1tldmVudF0gPSBbXTsgfQoJCQkJCWVsLmRvbTdMaXN0ZW5lcnNbZXZlbnRdLnB1c2goewoJCQkJCQlsaXN0ZW5lcjogbGlzdGVuZXIsCgkJCQkJCXByb3h5TGlzdGVuZXI6IGhhbmRsZUV2ZW50LAoJCQkJCX0pOwoJCQkJCWVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZUV2ZW50LCBjYXB0dXJlKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCS8vIExpdmUgZXZlbnRzCgkJCQlmb3IgKGogPSAwOyBqIDwgZXZlbnRzLmxlbmd0aDsgaiArPSAxKSB7CgkJCQkJdmFyIGV2ZW50JDEgPSBldmVudHNbal07CgkJCQkJaWYgKCFlbC5kb203TGl2ZUxpc3RlbmVycykgeyBlbC5kb203TGl2ZUxpc3RlbmVycyA9IHt9OyB9CgkJCQkJaWYgKCFlbC5kb203TGl2ZUxpc3RlbmVyc1tldmVudCQxXSkgeyBlbC5kb203TGl2ZUxpc3RlbmVyc1tldmVudCQxXSA9IFtdOyB9CgkJCQkJZWwuZG9tN0xpdmVMaXN0ZW5lcnNbZXZlbnQkMV0ucHVzaCh7CgkJCQkJCWxpc3RlbmVyOiBsaXN0ZW5lciwKCQkJCQkJcHJveHlMaXN0ZW5lcjogaGFuZGxlTGl2ZUV2ZW50LAoJCQkJCX0pOwoJCQkJCWVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQkMSwgaGFuZGxlTGl2ZUV2ZW50LCBjYXB0dXJlKTsKCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gdGhpczsKCX0KCWZ1bmN0aW9uIG9mZigpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCQl2YXIgYXNzaWduOwoKCQl2YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoOwoJCXdoaWxlICggbGVuLS0gKSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07CgkJdmFyIGV2ZW50VHlwZSA9IGFyZ3NbMF07CgkJdmFyIHRhcmdldFNlbGVjdG9yID0gYXJnc1sxXTsKCQl2YXIgbGlzdGVuZXIgPSBhcmdzWzJdOwoJCXZhciBjYXB0dXJlID0gYXJnc1szXTsKCQlpZiAodHlwZW9mIGFyZ3NbMV0gPT09ICdmdW5jdGlvbicpIHsKCQkJKGFzc2lnbiA9IGFyZ3MsIGV2ZW50VHlwZSA9IGFzc2lnblswXSwgbGlzdGVuZXIgPSBhc3NpZ25bMV0sIGNhcHR1cmUgPSBhc3NpZ25bMl0pOwoJCQl0YXJnZXRTZWxlY3RvciA9IHVuZGVmaW5lZDsKCQl9CgkJaWYgKCFjYXB0dXJlKSB7IGNhcHR1cmUgPSBmYWxzZTsgfQoKCQl2YXIgZXZlbnRzID0gZXZlbnRUeXBlLnNwbGl0KCcgJyk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIGV2ZW50ID0gZXZlbnRzW2ldOwoJCQlmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMubGVuZ3RoOyBqICs9IDEpIHsKCQkJCXZhciBlbCA9IHRoaXMkMVtqXTsKCQkJCXZhciBoYW5kbGVycyA9ICh2b2lkIDApOwoJCQkJaWYgKCF0YXJnZXRTZWxlY3RvciAmJiBlbC5kb203TGlzdGVuZXJzKSB7CgkJCQkJaGFuZGxlcnMgPSBlbC5kb203TGlzdGVuZXJzW2V2ZW50XTsKCQkJCX0gZWxzZSBpZiAodGFyZ2V0U2VsZWN0b3IgJiYgZWwuZG9tN0xpdmVMaXN0ZW5lcnMpIHsKCQkJCQloYW5kbGVycyA9IGVsLmRvbTdMaXZlTGlzdGVuZXJzW2V2ZW50XTsKCQkJCX0KCQkJCWZvciAodmFyIGsgPSBoYW5kbGVycy5sZW5ndGggLSAxOyBrID49IDA7IGsgLT0gMSkgewoJCQkJCXZhciBoYW5kbGVyID0gaGFuZGxlcnNba107CgkJCQkJaWYgKGxpc3RlbmVyICYmIGhhbmRsZXIubGlzdGVuZXIgPT09IGxpc3RlbmVyKSB7CgkJCQkJCWVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIucHJveHlMaXN0ZW5lciwgY2FwdHVyZSk7CgkJCQkJCWhhbmRsZXJzLnNwbGljZShrLCAxKTsKCQkJCQl9IGVsc2UgaWYgKCFsaXN0ZW5lcikgewoJCQkJCQllbC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLnByb3h5TGlzdGVuZXIsIGNhcHR1cmUpOwoJCQkJCQloYW5kbGVycy5zcGxpY2UoaywgMSk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gdHJpZ2dlcigpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCQl2YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoOwoJCXdoaWxlICggbGVuLS0gKSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07CgoJCXZhciBldmVudHMgPSBhcmdzWzBdLnNwbGl0KCcgJyk7CgkJdmFyIGV2ZW50RGF0YSA9IGFyZ3NbMV07CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIGV2ZW50ID0gZXZlbnRzW2ldOwoJCQlmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMubGVuZ3RoOyBqICs9IDEpIHsKCQkJCXZhciBlbCA9IHRoaXMkMVtqXTsKCQkJCXZhciBldnQgPSAodm9pZCAwKTsKCQkJCXRyeSB7CgkJCQkJZXZ0ID0gbmV3IHdpbi5DdXN0b21FdmVudChldmVudCwgewoJCQkJCQlkZXRhaWw6IGV2ZW50RGF0YSwKCQkJCQkJYnViYmxlczogdHJ1ZSwKCQkJCQkJY2FuY2VsYWJsZTogdHJ1ZSwKCQkJCQl9KTsKCQkJCX0gY2F0Y2ggKGUpIHsKCQkJCQlldnQgPSBkb2MuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7CgkJCQkJZXZ0LmluaXRFdmVudChldmVudCwgdHJ1ZSwgdHJ1ZSk7CgkJCQkJZXZ0LmRldGFpbCA9IGV2ZW50RGF0YTsKCQkJCX0KCQkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQkJZWwuZG9tN0V2ZW50RGF0YSA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uIChkYXRhLCBkYXRhSW5kZXgpIHsgcmV0dXJuIGRhdGFJbmRleCA+IDA7IH0pOwoJCQkJZWwuZGlzcGF0Y2hFdmVudChldnQpOwoJCQkJZWwuZG9tN0V2ZW50RGF0YSA9IFtdOwoJCQkJZGVsZXRlIGVsLmRvbTdFdmVudERhdGE7CgkJCX0KCQl9CgkJcmV0dXJuIHRoaXM7Cgl9CglmdW5jdGlvbiB0cmFuc2l0aW9uRW5kKGNhbGxiYWNrKSB7CgkJdmFyIGV2ZW50cyA9IFsnd2Via2l0VHJhbnNpdGlvbkVuZCcsICd0cmFuc2l0aW9uZW5kJ107CgkJdmFyIGRvbSA9IHRoaXM7CgkJdmFyIGk7CgkJZnVuY3Rpb24gZmlyZUNhbGxCYWNrKGUpIHsKCQkJLyoganNoaW50IHZhbGlkdGhpczp0cnVlICovCgkJCWlmIChlLnRhcmdldCAhPT0gdGhpcykgeyByZXR1cm47IH0KCQkJY2FsbGJhY2suY2FsbCh0aGlzLCBlKTsKCQkJZm9yIChpID0gMDsgaSA8IGV2ZW50cy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJZG9tLm9mZihldmVudHNbaV0sIGZpcmVDYWxsQmFjayk7CgkJCX0KCQl9CgkJaWYgKGNhbGxiYWNrKSB7CgkJCWZvciAoaSA9IDA7IGkgPCBldmVudHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJCWRvbS5vbihldmVudHNbaV0sIGZpcmVDYWxsQmFjayk7CgkJCX0KCQl9CgkJcmV0dXJuIHRoaXM7Cgl9CglmdW5jdGlvbiBvdXRlcldpZHRoKGluY2x1ZGVNYXJnaW5zKSB7CgkJaWYgKHRoaXMubGVuZ3RoID4gMCkgewoJCQlpZiAoaW5jbHVkZU1hcmdpbnMpIHsKCQkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQkJdmFyIHN0eWxlcyA9IHRoaXMuc3R5bGVzKCk7CgkJCQlyZXR1cm4gdGhpc1swXS5vZmZzZXRXaWR0aCArIHBhcnNlRmxvYXQoc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi1yaWdodCcpKSArIHBhcnNlRmxvYXQoc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi1sZWZ0JykpOwoJCQl9CgkJCXJldHVybiB0aGlzWzBdLm9mZnNldFdpZHRoOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KCWZ1bmN0aW9uIG91dGVySGVpZ2h0KGluY2x1ZGVNYXJnaW5zKSB7CgkJaWYgKHRoaXMubGVuZ3RoID4gMCkgewoJCQlpZiAoaW5jbHVkZU1hcmdpbnMpIHsKCQkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQkJdmFyIHN0eWxlcyA9IHRoaXMuc3R5bGVzKCk7CgkJCQlyZXR1cm4gdGhpc1swXS5vZmZzZXRIZWlnaHQgKyBwYXJzZUZsb2F0KHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdtYXJnaW4tdG9wJykpICsgcGFyc2VGbG9hdChzdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnbWFyZ2luLWJvdHRvbScpKTsKCQkJfQoJCQlyZXR1cm4gdGhpc1swXS5vZmZzZXRIZWlnaHQ7CgkJfQoJCXJldHVybiBudWxsOwoJfQoJZnVuY3Rpb24gb2Zmc2V0KCkgewoJCWlmICh0aGlzLmxlbmd0aCA+IDApIHsKCQkJdmFyIGVsID0gdGhpc1swXTsKCQkJdmFyIGJveCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwoJCQl2YXIgYm9keSA9IGRvYy5ib2R5OwoJCQl2YXIgY2xpZW50VG9wID0gZWwuY2xpZW50VG9wIHx8IGJvZHkuY2xpZW50VG9wIHx8IDA7CgkJCXZhciBjbGllbnRMZWZ0ID0gZWwuY2xpZW50TGVmdCB8fCBib2R5LmNsaWVudExlZnQgfHwgMDsKCQkJdmFyIHNjcm9sbFRvcCA9IGVsID09PSB3aW4gPyB3aW4uc2Nyb2xsWSA6IGVsLnNjcm9sbFRvcDsKCQkJdmFyIHNjcm9sbExlZnQgPSBlbCA9PT0gd2luID8gd2luLnNjcm9sbFggOiBlbC5zY3JvbGxMZWZ0OwoJCQlyZXR1cm4gewoJCQkJdG9wOiAoYm94LnRvcCArIHNjcm9sbFRvcCkgLSBjbGllbnRUb3AsCgkJCQlsZWZ0OiAoYm94LmxlZnQgKyBzY3JvbGxMZWZ0KSAtIGNsaWVudExlZnQsCgkJCX07CgkJfQoKCQlyZXR1cm4gbnVsbDsKCX0KCWZ1bmN0aW9uIHN0eWxlcygpIHsKCQlpZiAodGhpc1swXSkgeyByZXR1cm4gd2luLmdldENvbXB1dGVkU3R5bGUodGhpc1swXSwgbnVsbCk7IH0KCQlyZXR1cm4ge307Cgl9CglmdW5jdGlvbiBjc3MocHJvcHMsIHZhbHVlKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBpOwoJCWlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7CgkJCWlmICh0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7CgkJCQlpZiAodGhpc1swXSkgeyByZXR1cm4gd2luLmdldENvbXB1dGVkU3R5bGUodGhpc1swXSwgbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShwcm9wcyk7IH0KCQkJfSBlbHNlIHsKCQkJCWZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQkJLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCgkJCQkJZm9yICh2YXIgcHJvcCBpbiBwcm9wcykgewoJCQkJCQl0aGlzJDFbaV0uc3R5bGVbcHJvcF0gPSBwcm9wc1twcm9wXTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gdGhpczsKCQkJfQoJCX0KCQlpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7CgkJCWZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQl0aGlzJDFbaV0uc3R5bGVbcHJvcHNdID0gdmFsdWU7CgkJCX0KCQkJcmV0dXJuIHRoaXM7CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJLy8gSXRlcmF0ZSBvdmVyIHRoZSBjb2xsZWN0aW9uIHBhc3NpbmcgZWxlbWVudHMgdG8gYGNhbGxiYWNrYAoJZnVuY3Rpb24gZWFjaChjYWxsYmFjaykgewoJCXZhciB0aGlzJDEgPSB0aGlzOwoKCQkvLyBEb24ndCBib3RoZXIgY29udGludWluZyB3aXRob3V0IGEgY2FsbGJhY2sKCQlpZiAoIWNhbGxiYWNrKSB7IHJldHVybiB0aGlzOyB9CgkJLy8gSXRlcmF0ZSBvdmVyIHRoZSBjdXJyZW50IGNvbGxlY3Rpb24KCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJLy8gSWYgdGhlIGNhbGxiYWNrIHJldHVybnMgZmFsc2UKCQkJaWYgKGNhbGxiYWNrLmNhbGwodGhpcyQxW2ldLCBpLCB0aGlzJDFbaV0pID09PSBmYWxzZSkgewoJCQkJLy8gRW5kIHRoZSBsb29wIGVhcmx5CgkJCQlyZXR1cm4gdGhpcyQxOwoJCQl9CgkJfQoJCS8vIFJldHVybiBgdGhpc2AgdG8gYWxsb3cgY2hhaW5lZCBET00gb3BlcmF0aW9ucwoJCXJldHVybiB0aGlzOwoJfQoJLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCglmdW5jdGlvbiBodG1sKGh0bWwpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCgkJaWYgKHR5cGVvZiBodG1sID09PSAndW5kZWZpbmVkJykgewoJCQlyZXR1cm4gdGhpc1swXSA/IHRoaXNbMF0uaW5uZXJIVE1MIDogdW5kZWZpbmVkOwoJCX0KCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCXRoaXMkMVtpXS5pbm5lckhUTUwgPSBodG1sOwoJCX0KCQlyZXR1cm4gdGhpczsKCX0KCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJZnVuY3Rpb24gdGV4dCh0ZXh0KSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCWlmICh0eXBlb2YgdGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJaWYgKHRoaXNbMF0pIHsKCQkJCXJldHVybiB0aGlzWzBdLnRleHRDb250ZW50LnRyaW0oKTsKCQkJfQoJCQlyZXR1cm4gbnVsbDsKCQl9CgoJCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkgKz0gMSkgewoJCQl0aGlzJDFbaV0udGV4dENvbnRlbnQgPSB0ZXh0OwoJCX0KCQlyZXR1cm4gdGhpczsKCX0KCWZ1bmN0aW9uIGlzKHNlbGVjdG9yKSB7CgkJdmFyIGVsID0gdGhpc1swXTsKCQl2YXIgY29tcGFyZVdpdGg7CgkJdmFyIGk7CgkJaWYgKCFlbCB8fCB0eXBlb2Ygc2VsZWN0b3IgPT09ICd1bmRlZmluZWQnKSB7IHJldHVybiBmYWxzZTsgfQoJCWlmICh0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnKSB7CgkJCWlmIChlbC5tYXRjaGVzKSB7IHJldHVybiBlbC5tYXRjaGVzKHNlbGVjdG9yKTsgfQoJCQllbHNlIGlmIChlbC53ZWJraXRNYXRjaGVzU2VsZWN0b3IpIHsgcmV0dXJuIGVsLndlYmtpdE1hdGNoZXNTZWxlY3RvcihzZWxlY3Rvcik7IH0KCQkJZWxzZSBpZiAoZWwubXNNYXRjaGVzU2VsZWN0b3IpIHsgcmV0dXJuIGVsLm1zTWF0Y2hlc1NlbGVjdG9yKHNlbGVjdG9yKTsgfQoKCQkJY29tcGFyZVdpdGggPSAkKHNlbGVjdG9yKTsKCQkJZm9yIChpID0gMDsgaSA8IGNvbXBhcmVXaXRoLmxlbmd0aDsgaSArPSAxKSB7CgkJCQlpZiAoY29tcGFyZVdpdGhbaV0gPT09IGVsKSB7IHJldHVybiB0cnVlOyB9CgkJCX0KCQkJcmV0dXJuIGZhbHNlOwoJCX0gZWxzZSBpZiAoc2VsZWN0b3IgPT09IGRvYykgeyByZXR1cm4gZWwgPT09IGRvYzsgfQoJCWVsc2UgaWYgKHNlbGVjdG9yID09PSB3aW4pIHsgcmV0dXJuIGVsID09PSB3aW47IH0KCgkJaWYgKHNlbGVjdG9yLm5vZGVUeXBlIHx8IHNlbGVjdG9yIGluc3RhbmNlb2YgRG9tNykgewoJCQljb21wYXJlV2l0aCA9IHNlbGVjdG9yLm5vZGVUeXBlID8gW3NlbGVjdG9yXSA6IHNlbGVjdG9yOwoJCQlmb3IgKGkgPSAwOyBpIDwgY29tcGFyZVdpdGgubGVuZ3RoOyBpICs9IDEpIHsKCQkJCWlmIChjb21wYXJlV2l0aFtpXSA9PT0gZWwpIHsgcmV0dXJuIHRydWU7IH0KCQkJfQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCXJldHVybiBmYWxzZTsKCX0KCWZ1bmN0aW9uIGluZGV4KCkgewoJCXZhciBjaGlsZCA9IHRoaXNbMF07CgkJdmFyIGk7CgkJaWYgKGNoaWxkKSB7CgkJCWkgPSAwOwoJCQkvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUKCQkJd2hpbGUgKChjaGlsZCA9IGNoaWxkLnByZXZpb3VzU2libGluZykgIT09IG51bGwpIHsKCQkJCWlmIChjaGlsZC5ub2RlVHlwZSA9PT0gMSkgeyBpICs9IDE7IH0KCQkJfQoJCQlyZXR1cm4gaTsKCQl9CgkJcmV0dXJuIHVuZGVmaW5lZDsKCX0KCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJZnVuY3Rpb24gZXEoaW5kZXgpIHsKCQlpZiAodHlwZW9mIGluZGV4ID09PSAndW5kZWZpbmVkJykgeyByZXR1cm4gdGhpczsgfQoJCXZhciBsZW5ndGggPSB0aGlzLmxlbmd0aDsKCQl2YXIgcmV0dXJuSW5kZXg7CgkJaWYgKGluZGV4ID4gbGVuZ3RoIC0gMSkgewoJCQlyZXR1cm4gbmV3IERvbTcoW10pOwoJCX0KCQlpZiAoaW5kZXggPCAwKSB7CgkJCXJldHVybkluZGV4ID0gbGVuZ3RoICsgaW5kZXg7CgkJCWlmIChyZXR1cm5JbmRleCA8IDApIHsgcmV0dXJuIG5ldyBEb203KFtdKTsgfQoJCQlyZXR1cm4gbmV3IERvbTcoW3RoaXNbcmV0dXJuSW5kZXhdXSk7CgkJfQoJCXJldHVybiBuZXcgRG9tNyhbdGhpc1tpbmRleF1dKTsKCX0KCWZ1bmN0aW9uIGFwcGVuZCgpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCQl2YXIgYXJncyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoOwoJCXdoaWxlICggbGVuLS0gKSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07CgoJCXZhciBuZXdDaGlsZDsKCgkJZm9yICh2YXIgayA9IDA7IGsgPCBhcmdzLmxlbmd0aDsgayArPSAxKSB7CgkJCW5ld0NoaWxkID0gYXJnc1trXTsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQlpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJykgewoJCQkJCXZhciB0ZW1wRGl2ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCQkJCXRlbXBEaXYuaW5uZXJIVE1MID0gbmV3Q2hpbGQ7CgkJCQkJd2hpbGUgKHRlbXBEaXYuZmlyc3RDaGlsZCkgewoJCQkJCQl0aGlzJDFbaV0uYXBwZW5kQ2hpbGQodGVtcERpdi5maXJzdENoaWxkKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYgKG5ld0NoaWxkIGluc3RhbmNlb2YgRG9tNykgewoJCQkJCWZvciAodmFyIGogPSAwOyBqIDwgbmV3Q2hpbGQubGVuZ3RoOyBqICs9IDEpIHsKCQkJCQkJdGhpcyQxW2ldLmFwcGVuZENoaWxkKG5ld0NoaWxkW2pdKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMkMVtpXS5hcHBlbmRDaGlsZChuZXdDaGlsZCk7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gcHJlcGVuZChuZXdDaGlsZCkgewoJCXZhciB0aGlzJDEgPSB0aGlzOwoKCQl2YXIgaTsKCQl2YXIgajsKCQlmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkgKz0gMSkgewoJCQlpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnc3RyaW5nJykgewoJCQkJdmFyIHRlbXBEaXYgPSBkb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgkJCQl0ZW1wRGl2LmlubmVySFRNTCA9IG5ld0NoaWxkOwoJCQkJZm9yIChqID0gdGVtcERpdi5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGogPj0gMDsgaiAtPSAxKSB7CgkJCQkJdGhpcyQxW2ldLmluc2VydEJlZm9yZSh0ZW1wRGl2LmNoaWxkTm9kZXNbal0sIHRoaXMkMVtpXS5jaGlsZE5vZGVzWzBdKTsKCQkJCX0KCQkJfSBlbHNlIGlmIChuZXdDaGlsZCBpbnN0YW5jZW9mIERvbTcpIHsKCQkJCWZvciAoaiA9IDA7IGogPCBuZXdDaGlsZC5sZW5ndGg7IGogKz0gMSkgewoJCQkJCXRoaXMkMVtpXS5pbnNlcnRCZWZvcmUobmV3Q2hpbGRbal0sIHRoaXMkMVtpXS5jaGlsZE5vZGVzWzBdKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXRoaXMkMVtpXS5pbnNlcnRCZWZvcmUobmV3Q2hpbGQsIHRoaXMkMVtpXS5jaGlsZE5vZGVzWzBdKTsKCQkJfQoJCX0KCQlyZXR1cm4gdGhpczsKCX0KCWZ1bmN0aW9uIG5leHQoc2VsZWN0b3IpIHsKCQlpZiAodGhpcy5sZW5ndGggPiAwKSB7CgkJCWlmIChzZWxlY3RvcikgewoJCQkJaWYgKHRoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nICYmICQodGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmcpLmlzKHNlbGVjdG9yKSkgewoJCQkJCXJldHVybiBuZXcgRG9tNyhbdGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmddKTsKCQkJCX0KCQkJCXJldHVybiBuZXcgRG9tNyhbXSk7CgkJCX0KCgkJCWlmICh0aGlzWzBdLm5leHRFbGVtZW50U2libGluZykgeyByZXR1cm4gbmV3IERvbTcoW3RoaXNbMF0ubmV4dEVsZW1lbnRTaWJsaW5nXSk7IH0KCQkJcmV0dXJuIG5ldyBEb203KFtdKTsKCQl9CgkJcmV0dXJuIG5ldyBEb203KFtdKTsKCX0KCWZ1bmN0aW9uIG5leHRBbGwoc2VsZWN0b3IpIHsKCQl2YXIgbmV4dEVscyA9IFtdOwoJCXZhciBlbCA9IHRoaXNbMF07CgkJaWYgKCFlbCkgeyByZXR1cm4gbmV3IERvbTcoW10pOyB9CgkJd2hpbGUgKGVsLm5leHRFbGVtZW50U2libGluZykgewoJCQl2YXIgbmV4dCA9IGVsLm5leHRFbGVtZW50U2libGluZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoJCQlpZiAoc2VsZWN0b3IpIHsKCQkJCWlmICgkKG5leHQpLmlzKHNlbGVjdG9yKSkgeyBuZXh0RWxzLnB1c2gobmV4dCk7IH0KCQkJfSBlbHNlIHsgbmV4dEVscy5wdXNoKG5leHQpOyB9CgkJCWVsID0gbmV4dDsKCQl9CgkJcmV0dXJuIG5ldyBEb203KG5leHRFbHMpOwoJfQoJZnVuY3Rpb24gcHJldihzZWxlY3RvcikgewoJCWlmICh0aGlzLmxlbmd0aCA+IDApIHsKCQkJdmFyIGVsID0gdGhpc1swXTsKCQkJaWYgKHNlbGVjdG9yKSB7CgkJCQlpZiAoZWwucHJldmlvdXNFbGVtZW50U2libGluZyAmJiAkKGVsLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpLmlzKHNlbGVjdG9yKSkgewoJCQkJCXJldHVybiBuZXcgRG9tNyhbZWwucHJldmlvdXNFbGVtZW50U2libGluZ10pOwoJCQkJfQoJCQkJcmV0dXJuIG5ldyBEb203KFtdKTsKCQkJfQoKCQkJaWYgKGVsLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHsgcmV0dXJuIG5ldyBEb203KFtlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nXSk7IH0KCQkJcmV0dXJuIG5ldyBEb203KFtdKTsKCQl9CgkJcmV0dXJuIG5ldyBEb203KFtdKTsKCX0KCWZ1bmN0aW9uIHByZXZBbGwoc2VsZWN0b3IpIHsKCQl2YXIgcHJldkVscyA9IFtdOwoJCXZhciBlbCA9IHRoaXNbMF07CgkJaWYgKCFlbCkgeyByZXR1cm4gbmV3IERvbTcoW10pOyB9CgkJd2hpbGUgKGVsLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHsKCQkJdmFyIHByZXYgPSBlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgkJCWlmIChzZWxlY3RvcikgewoJCQkJaWYgKCQocHJldikuaXMoc2VsZWN0b3IpKSB7IHByZXZFbHMucHVzaChwcmV2KTsgfQoJCQl9IGVsc2UgeyBwcmV2RWxzLnB1c2gocHJldik7IH0KCQkJZWwgPSBwcmV2OwoJCX0KCQlyZXR1cm4gbmV3IERvbTcocHJldkVscyk7Cgl9CglmdW5jdGlvbiBwYXJlbnQoc2VsZWN0b3IpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCgkJdmFyIHBhcmVudHMgPSBbXTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoJCWZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkgKz0gMSkgewoJCQlpZiAodGhpcyQxW2ldLnBhcmVudE5vZGUgIT09IG51bGwpIHsKCQkJCWlmIChzZWxlY3RvcikgewoJCQkJCWlmICgkKHRoaXMkMVtpXS5wYXJlbnROb2RlKS5pcyhzZWxlY3RvcikpIHsgcGFyZW50cy5wdXNoKHRoaXMkMVtpXS5wYXJlbnROb2RlKTsgfQoJCQkJfSBlbHNlIHsKCQkJCQlwYXJlbnRzLnB1c2godGhpcyQxW2ldLnBhcmVudE5vZGUpOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiAkKHVuaXF1ZShwYXJlbnRzKSk7Cgl9CglmdW5jdGlvbiBwYXJlbnRzKHNlbGVjdG9yKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBwYXJlbnRzID0gW107IC8vIGVzbGludC1kaXNhYmxlLWxpbmUKCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIHBhcmVudCA9IHRoaXMkMVtpXS5wYXJlbnROb2RlOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgkJCXdoaWxlIChwYXJlbnQpIHsKCQkJCWlmIChzZWxlY3RvcikgewoJCQkJCWlmICgkKHBhcmVudCkuaXMoc2VsZWN0b3IpKSB7IHBhcmVudHMucHVzaChwYXJlbnQpOyB9CgkJCQl9IGVsc2UgewoJCQkJCXBhcmVudHMucHVzaChwYXJlbnQpOwoJCQkJfQoJCQkJcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGU7CgkJCX0KCQl9CgkJcmV0dXJuICQodW5pcXVlKHBhcmVudHMpKTsKCX0KCWZ1bmN0aW9uIGNsb3Nlc3Qoc2VsZWN0b3IpIHsKCQl2YXIgY2xvc2VzdCA9IHRoaXM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUKCQlpZiAodHlwZW9mIHNlbGVjdG9yID09PSAndW5kZWZpbmVkJykgewoJCQlyZXR1cm4gbmV3IERvbTcoW10pOwoJCX0KCQlpZiAoIWNsb3Nlc3QuaXMoc2VsZWN0b3IpKSB7CgkJCWNsb3Nlc3QgPSBjbG9zZXN0LnBhcmVudHMoc2VsZWN0b3IpLmVxKDApOwoJCX0KCQlyZXR1cm4gY2xvc2VzdDsKCX0KCWZ1bmN0aW9uIGZpbmQoc2VsZWN0b3IpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCgkJdmFyIGZvdW5kRWxlbWVudHMgPSBbXTsKCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIGZvdW5kID0gdGhpcyQxW2ldLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwoJCQlmb3IgKHZhciBqID0gMDsgaiA8IGZvdW5kLmxlbmd0aDsgaiArPSAxKSB7CgkJCQlmb3VuZEVsZW1lbnRzLnB1c2goZm91bmRbal0pOwoJCQl9CgkJfQoJCXJldHVybiBuZXcgRG9tNyhmb3VuZEVsZW1lbnRzKTsKCX0KCWZ1bmN0aW9uIGNoaWxkcmVuKHNlbGVjdG9yKSB7CgkJdmFyIHRoaXMkMSA9IHRoaXM7CgoJCXZhciBjaGlsZHJlbiA9IFtdOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCXZhciBjaGlsZE5vZGVzID0gdGhpcyQxW2ldLmNoaWxkTm9kZXM7CgoJCQlmb3IgKHZhciBqID0gMDsgaiA8IGNoaWxkTm9kZXMubGVuZ3RoOyBqICs9IDEpIHsKCQkJCWlmICghc2VsZWN0b3IpIHsKCQkJCQlpZiAoY2hpbGROb2Rlc1tqXS5ub2RlVHlwZSA9PT0gMSkgeyBjaGlsZHJlbi5wdXNoKGNoaWxkTm9kZXNbal0pOyB9CgkJCQl9IGVsc2UgaWYgKGNoaWxkTm9kZXNbal0ubm9kZVR5cGUgPT09IDEgJiYgJChjaGlsZE5vZGVzW2pdKS5pcyhzZWxlY3RvcikpIHsKCQkJCQljaGlsZHJlbi5wdXNoKGNoaWxkTm9kZXNbal0pOwoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiBuZXcgRG9tNyh1bmlxdWUoY2hpbGRyZW4pKTsKCX0KCWZ1bmN0aW9uIHJlbW92ZSgpIHsKCQl2YXIgdGhpcyQxID0gdGhpczsKCgkJZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWlmICh0aGlzJDFbaV0ucGFyZW50Tm9kZSkgeyB0aGlzJDFbaV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzJDFbaV0pOyB9CgkJfQoJCXJldHVybiB0aGlzOwoJfQoJZnVuY3Rpb24gYWRkKCkgewoJCXZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7CgkJd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTsKCgkJdmFyIGRvbSA9IHRoaXM7CgkJdmFyIGk7CgkJdmFyIGo7CgkJZm9yIChpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIHRvQWRkID0gJChhcmdzW2ldKTsKCQkJZm9yIChqID0gMDsgaiA8IHRvQWRkLmxlbmd0aDsgaiArPSAxKSB7CgkJCQlkb21bZG9tLmxlbmd0aF0gPSB0b0FkZFtqXTsKCQkJCWRvbS5sZW5ndGggKz0gMTsKCQkJfQoJCX0KCQlyZXR1cm4gZG9tOwoJfQoKCXZhciBNZXRob2RzID0gewoJCWFkZENsYXNzOiBhZGRDbGFzcywKCQlyZW1vdmVDbGFzczogcmVtb3ZlQ2xhc3MsCgkJaGFzQ2xhc3M6IGhhc0NsYXNzLAoJCXRvZ2dsZUNsYXNzOiB0b2dnbGVDbGFzcywKCQlhdHRyOiBhdHRyLAoJCXJlbW92ZUF0dHI6IHJlbW92ZUF0dHIsCgkJZGF0YTogZGF0YSwKCQl0cmFuc2Zvcm06IHRyYW5zZm9ybSwKCQl0cmFuc2l0aW9uOiB0cmFuc2l0aW9uLAoJCW9uOiBvbiwKCQlvZmY6IG9mZiwKCQl0cmlnZ2VyOiB0cmlnZ2VyLAoJCXRyYW5zaXRpb25FbmQ6IHRyYW5zaXRpb25FbmQsCgkJb3V0ZXJXaWR0aDogb3V0ZXJXaWR0aCwKCQlvdXRlckhlaWdodDogb3V0ZXJIZWlnaHQsCgkJb2Zmc2V0OiBvZmZzZXQsCgkJY3NzOiBjc3MsCgkJZWFjaDogZWFjaCwKCQlodG1sOiBodG1sLAoJCXRleHQ6IHRleHQsCgkJaXM6IGlzLAoJCWluZGV4OiBpbmRleCwKCQllcTogZXEsCgkJYXBwZW5kOiBhcHBlbmQsCgkJcHJlcGVuZDogcHJlcGVuZCwKCQluZXh0OiBuZXh0LAoJCW5leHRBbGw6IG5leHRBbGwsCgkJcHJldjogcHJldiwKCQlwcmV2QWxsOiBwcmV2QWxsLAoJCXBhcmVudDogcGFyZW50LAoJCXBhcmVudHM6IHBhcmVudHMsCgkJY2xvc2VzdDogY2xvc2VzdCwKCQlmaW5kOiBmaW5kLAoJCWNoaWxkcmVuOiBjaGlsZHJlbiwKCQlyZW1vdmU6IHJlbW92ZSwKCQlhZGQ6IGFkZCwKCQlzdHlsZXM6IHN0eWxlcywKCX07CgoJT2JqZWN0LmtleXMoTWV0aG9kcykuZm9yRWFjaChmdW5jdGlvbiAobWV0aG9kTmFtZSkgewoJCSQuZm5bbWV0aG9kTmFtZV0gPSBNZXRob2RzW21ldGhvZE5hbWVdOwoJfSk7CgoJdmFyIFV0aWxzID0gewoJCWRlbGV0ZVByb3BzOiBmdW5jdGlvbiBkZWxldGVQcm9wcyhvYmopIHsKCQkJdmFyIG9iamVjdCA9IG9iajsKCQkJT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKCQkJCXRyeSB7CgkJCQkJb2JqZWN0W2tleV0gPSBudWxsOwoJCQkJfSBjYXRjaCAoZSkgewoJCQkJCS8vIG5vIGdldHRlciBmb3Igb2JqZWN0CgkJCQl9CgkJCQl0cnkgewoJCQkJCWRlbGV0ZSBvYmplY3Rba2V5XTsKCQkJCX0gY2F0Y2ggKGUpIHsKCQkJCQkvLyBzb21ldGhpbmcgZ290IHdyb25nCgkJCQl9CgkJCX0pOwoJCX0sCgkJbmV4dFRpY2s6IGZ1bmN0aW9uIG5leHRUaWNrKGNhbGxiYWNrLCBkZWxheSkgewoJCQlpZiAoIGRlbGF5ID09PSB2b2lkIDAgKSBkZWxheSA9IDA7CgoJCQlyZXR1cm4gc2V0VGltZW91dChjYWxsYmFjaywgZGVsYXkpOwoJCX0sCgkJbm93OiBmdW5jdGlvbiBub3coKSB7CgkJCXJldHVybiBEYXRlLm5vdygpOwoJCX0sCgkJZ2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBnZXRUcmFuc2xhdGUoZWwsIGF4aXMpIHsKCQkJaWYgKCBheGlzID09PSB2b2lkIDAgKSBheGlzID0gJ3gnOwoKCQkJdmFyIG1hdHJpeDsKCQkJdmFyIGN1clRyYW5zZm9ybTsKCQkJdmFyIHRyYW5zZm9ybU1hdHJpeDsKCgkJCXZhciBjdXJTdHlsZSA9IHdpbi5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKTsKCgkJCWlmICh3aW4uV2ViS2l0Q1NTTWF0cml4KSB7CgkJCQljdXJUcmFuc2Zvcm0gPSBjdXJTdHlsZS50cmFuc2Zvcm0gfHwgY3VyU3R5bGUud2Via2l0VHJhbnNmb3JtOwoJCQkJaWYgKGN1clRyYW5zZm9ybS5zcGxpdCgnLCcpLmxlbmd0aCA+IDYpIHsKCQkJCQljdXJUcmFuc2Zvcm0gPSBjdXJUcmFuc2Zvcm0uc3BsaXQoJywgJykubWFwKGZ1bmN0aW9uIChhKSB7IHJldHVybiBhLnJlcGxhY2UoJywnLCAnLicpOyB9KS5qb2luKCcsICcpOwoJCQkJfQoJCQkJLy8gU29tZSBvbGQgdmVyc2lvbnMgb2YgV2Via2l0IGNob2tlIHdoZW4gJ25vbmUnIGlzIHBhc3NlZDsgcGFzcwoJCQkJLy8gZW1wdHkgc3RyaW5nIGluc3RlYWQgaW4gdGhpcyBjYXNlCgkJCQl0cmFuc2Zvcm1NYXRyaXggPSBuZXcgd2luLldlYktpdENTU01hdHJpeChjdXJUcmFuc2Zvcm0gPT09ICdub25lJyA/ICcnIDogY3VyVHJhbnNmb3JtKTsKCQkJfSBlbHNlIHsKCQkJCXRyYW5zZm9ybU1hdHJpeCA9IGN1clN0eWxlLk1velRyYW5zZm9ybSB8fCBjdXJTdHlsZS5PVHJhbnNmb3JtIHx8IGN1clN0eWxlLk1zVHJhbnNmb3JtIHx8IGN1clN0eWxlLm1zVHJhbnNmb3JtIHx8IGN1clN0eWxlLnRyYW5zZm9ybSB8fCBjdXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0cmFuc2Zvcm0nKS5yZXBsYWNlKCd0cmFuc2xhdGUoJywgJ21hdHJpeCgxLCAwLCAwLCAxLCcpOwoJCQkJbWF0cml4ID0gdHJhbnNmb3JtTWF0cml4LnRvU3RyaW5nKCkuc3BsaXQoJywnKTsKCQkJfQoKCQkJaWYgKGF4aXMgPT09ICd4JykgewoJCQkJLy8gTGF0ZXN0IENocm9tZSBhbmQgd2Via2l0cyBGaXgKCQkJCWlmICh3aW4uV2ViS2l0Q1NTTWF0cml4KSB7IGN1clRyYW5zZm9ybSA9IHRyYW5zZm9ybU1hdHJpeC5tNDE7IH0KCQkJCS8vIENyYXp5IElFMTAgTWF0cml4CgkJCQllbHNlIGlmIChtYXRyaXgubGVuZ3RoID09PSAxNikgeyBjdXJUcmFuc2Zvcm0gPSBwYXJzZUZsb2F0KG1hdHJpeFsxMl0pOyB9CgkJCQkvLyBOb3JtYWwgQnJvd3NlcnMKCQkJCWVsc2UgeyBjdXJUcmFuc2Zvcm0gPSBwYXJzZUZsb2F0KG1hdHJpeFs0XSk7IH0KCQkJfQoJCQlpZiAoYXhpcyA9PT0gJ3knKSB7CgkJCQkvLyBMYXRlc3QgQ2hyb21lIGFuZCB3ZWJraXRzIEZpeAoJCQkJaWYgKHdpbi5XZWJLaXRDU1NNYXRyaXgpIHsgY3VyVHJhbnNmb3JtID0gdHJhbnNmb3JtTWF0cml4Lm00MjsgfQoJCQkJLy8gQ3JhenkgSUUxMCBNYXRyaXgKCQkJCWVsc2UgaWYgKG1hdHJpeC5sZW5ndGggPT09IDE2KSB7IGN1clRyYW5zZm9ybSA9IHBhcnNlRmxvYXQobWF0cml4WzEzXSk7IH0KCQkJCS8vIE5vcm1hbCBCcm93c2VycwoJCQkJZWxzZSB7IGN1clRyYW5zZm9ybSA9IHBhcnNlRmxvYXQobWF0cml4WzVdKTsgfQoJCQl9CgkJCXJldHVybiBjdXJUcmFuc2Zvcm0gfHwgMDsKCQl9LAoJCXBhcnNlVXJsUXVlcnk6IGZ1bmN0aW9uIHBhcnNlVXJsUXVlcnkodXJsKSB7CgkJCXZhciBxdWVyeSA9IHt9OwoJCQl2YXIgdXJsVG9QYXJzZSA9IHVybCB8fCB3aW4ubG9jYXRpb24uaHJlZjsKCQkJdmFyIGk7CgkJCXZhciBwYXJhbXM7CgkJCXZhciBwYXJhbTsKCQkJdmFyIGxlbmd0aDsKCQkJaWYgKHR5cGVvZiB1cmxUb1BhcnNlID09PSAnc3RyaW5nJyAmJiB1cmxUb1BhcnNlLmxlbmd0aCkgewoJCQkJdXJsVG9QYXJzZSA9IHVybFRvUGFyc2UuaW5kZXhPZignPycpID4gLTEgPyB1cmxUb1BhcnNlLnJlcGxhY2UoL1xTKlw/LywgJycpIDogJyc7CgkJCQlwYXJhbXMgPSB1cmxUb1BhcnNlLnNwbGl0KCcmJykuZmlsdGVyKGZ1bmN0aW9uIChwYXJhbXNQYXJ0KSB7IHJldHVybiBwYXJhbXNQYXJ0ICE9PSAnJzsgfSk7CgkJCQlsZW5ndGggPSBwYXJhbXMubGVuZ3RoOwoKCQkJCWZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkgKz0gMSkgewoJCQkJCXBhcmFtID0gcGFyYW1zW2ldLnJlcGxhY2UoLyNcUysvZywgJycpLnNwbGl0KCc9Jyk7CgkJCQkJcXVlcnlbZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtWzBdKV0gPSB0eXBlb2YgcGFyYW1bMV0gPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogZGVjb2RlVVJJQ29tcG9uZW50KHBhcmFtWzFdKSB8fCAnJzsKCQkJCX0KCQkJfQoJCQlyZXR1cm4gcXVlcnk7CgkJfSwKCQlpc09iamVjdDogZnVuY3Rpb24gaXNPYmplY3QobykgewoJCQlyZXR1cm4gdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIG8gIT09IG51bGwgJiYgby5jb25zdHJ1Y3RvciAmJiBvLmNvbnN0cnVjdG9yID09PSBPYmplY3Q7CgkJfSwKCQlleHRlbmQ6IGZ1bmN0aW9uIGV4dGVuZCgpIHsKCQkJdmFyIGFyZ3MgPSBbXSwgbGVuJDEgPSBhcmd1bWVudHMubGVuZ3RoOwoJCQl3aGlsZSAoIGxlbiQxLS0gKSBhcmdzWyBsZW4kMSBdID0gYXJndW1lbnRzWyBsZW4kMSBdOwoKCQkJdmFyIHRvID0gT2JqZWN0KGFyZ3NbMF0pOwoJCQlmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3MubGVuZ3RoOyBpICs9IDEpIHsKCQkJCXZhciBuZXh0U291cmNlID0gYXJnc1tpXTsKCQkJCWlmIChuZXh0U291cmNlICE9PSB1bmRlZmluZWQgJiYgbmV4dFNvdXJjZSAhPT0gbnVsbCkgewoJCQkJCXZhciBrZXlzQXJyYXkgPSBPYmplY3Qua2V5cyhPYmplY3QobmV4dFNvdXJjZSkpOwoJCQkJCWZvciAodmFyIG5leHRJbmRleCA9IDAsIGxlbiA9IGtleXNBcnJheS5sZW5ndGg7IG5leHRJbmRleCA8IGxlbjsgbmV4dEluZGV4ICs9IDEpIHsKCQkJCQkJdmFyIG5leHRLZXkgPSBrZXlzQXJyYXlbbmV4dEluZGV4XTsKCQkJCQkJdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5leHRTb3VyY2UsIG5leHRLZXkpOwoJCQkJCQlpZiAoZGVzYyAhPT0gdW5kZWZpbmVkICYmIGRlc2MuZW51bWVyYWJsZSkgewoJCQkJCQkJaWYgKFV0aWxzLmlzT2JqZWN0KHRvW25leHRLZXldKSAmJiBVdGlscy5pc09iamVjdChuZXh0U291cmNlW25leHRLZXldKSkgewoJCQkJCQkJCVV0aWxzLmV4dGVuZCh0b1tuZXh0S2V5XSwgbmV4dFNvdXJjZVtuZXh0S2V5XSk7CgkJCQkJCQl9IGVsc2UgaWYgKCFVdGlscy5pc09iamVjdCh0b1tuZXh0S2V5XSkgJiYgVXRpbHMuaXNPYmplY3QobmV4dFNvdXJjZVtuZXh0S2V5XSkpIHsKCQkJCQkJCQl0b1tuZXh0S2V5XSA9IHt9OwoJCQkJCQkJCVV0aWxzLmV4dGVuZCh0b1tuZXh0S2V5XSwgbmV4dFNvdXJjZVtuZXh0S2V5XSk7CgkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCXRvW25leHRLZXldID0gbmV4dFNvdXJjZVtuZXh0S2V5XTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCQlyZXR1cm4gdG87CgkJfSwKCX07CgoJdmFyIFN1cHBvcnQgPSAoZnVuY3Rpb24gU3VwcG9ydCgpIHsKCQl2YXIgdGVzdERpdiA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQlyZXR1cm4gewoJCQl0b3VjaDogKHdpbi5Nb2Rlcm5penIgJiYgd2luLk1vZGVybml6ci50b3VjaCA9PT0gdHJ1ZSkgfHwgKGZ1bmN0aW9uIGNoZWNrVG91Y2goKSB7CgkJCQlyZXR1cm4gISEoKCdvbnRvdWNoc3RhcnQnIGluIHdpbikgfHwgKHdpbi5Eb2N1bWVudFRvdWNoICYmIGRvYyBpbnN0YW5jZW9mIHdpbi5Eb2N1bWVudFRvdWNoKSk7CgkJCX0oKSksCgoJCQlwb2ludGVyRXZlbnRzOiAhISh3aW4ubmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkIHx8IHdpbi5Qb2ludGVyRXZlbnQpLAoJCQlwcmVmaXhlZFBvaW50ZXJFdmVudHM6ICEhd2luLm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkLAoKCQkJdHJhbnNpdGlvbjogKGZ1bmN0aW9uIGNoZWNrVHJhbnNpdGlvbigpIHsKCQkJCXZhciBzdHlsZSA9IHRlc3REaXYuc3R5bGU7CgkJCQlyZXR1cm4gKCd0cmFuc2l0aW9uJyBpbiBzdHlsZSB8fCAnd2Via2l0VHJhbnNpdGlvbicgaW4gc3R5bGUgfHwgJ01velRyYW5zaXRpb24nIGluIHN0eWxlKTsKCQkJfSgpKSwKCQkJdHJhbnNmb3JtczNkOiAod2luLk1vZGVybml6ciAmJiB3aW4uTW9kZXJuaXpyLmNzc3RyYW5zZm9ybXMzZCA9PT0gdHJ1ZSkgfHwgKGZ1bmN0aW9uIGNoZWNrVHJhbnNmb3JtczNkKCkgewoJCQkJdmFyIHN0eWxlID0gdGVzdERpdi5zdHlsZTsKCQkJCXJldHVybiAoJ3dlYmtpdFBlcnNwZWN0aXZlJyBpbiBzdHlsZSB8fCAnTW96UGVyc3BlY3RpdmUnIGluIHN0eWxlIHx8ICdPUGVyc3BlY3RpdmUnIGluIHN0eWxlIHx8ICdNc1BlcnNwZWN0aXZlJyBpbiBzdHlsZSB8fCAncGVyc3BlY3RpdmUnIGluIHN0eWxlKTsKCQkJfSgpKSwKCgkJCWZsZXhib3g6IChmdW5jdGlvbiBjaGVja0ZsZXhib3goKSB7CgkJCQl2YXIgc3R5bGUgPSB0ZXN0RGl2LnN0eWxlOwoJCQkJdmFyIHN0eWxlcyA9ICgnYWxpZ25JdGVtcyB3ZWJraXRBbGlnbkl0ZW1zIHdlYmtpdEJveEFsaWduIG1zRmxleEFsaWduIG1vekJveEFsaWduIHdlYmtpdEZsZXhEaXJlY3Rpb24gbXNGbGV4RGlyZWN0aW9uIG1vekJveERpcmVjdGlvbiBtb3pCb3hPcmllbnQgd2Via2l0Qm94RGlyZWN0aW9uIHdlYmtpdEJveE9yaWVudCcpLnNwbGl0KCcgJyk7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJCWlmIChzdHlsZXNbaV0gaW4gc3R5bGUpIHsgcmV0dXJuIHRydWU7IH0KCQkJCX0KCQkJCXJldHVybiBmYWxzZTsKCQkJfSgpKSwKCgkJCW9ic2VydmVyOiAoZnVuY3Rpb24gY2hlY2tPYnNlcnZlcigpIHsKCQkJCXJldHVybiAoJ011dGF0aW9uT2JzZXJ2ZXInIGluIHdpbiB8fCAnV2Via2l0TXV0YXRpb25PYnNlcnZlcicgaW4gd2luKTsKCQkJfSgpKSwKCgkJCXBhc3NpdmVMaXN0ZW5lcjogKGZ1bmN0aW9uIGNoZWNrUGFzc2l2ZUxpc3RlbmVyKCkgewoJCQkJdmFyIHN1cHBvcnRzUGFzc2l2ZSA9IGZhbHNlOwoJCQkJdHJ5IHsKCQkJCQl2YXIgb3B0cyA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ3Bhc3NpdmUnLCB7CgkJCQkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQkJCQlnZXQ6IGZ1bmN0aW9uIGdldCgpIHsKCQkJCQkJCXN1cHBvcnRzUGFzc2l2ZSA9IHRydWU7CgkJCQkJCX0sCgkJCQkJfSk7CgkJCQkJd2luLmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3RQYXNzaXZlTGlzdGVuZXInLCBudWxsLCBvcHRzKTsKCQkJCX0gY2F0Y2ggKGUpIHsKCQkJCQkvLyBObyBzdXBwb3J0CgkJCQl9CgkJCQlyZXR1cm4gc3VwcG9ydHNQYXNzaXZlOwoJCQl9KCkpLAoKCQkJZ2VzdHVyZXM6IChmdW5jdGlvbiBjaGVja0dlc3R1cmVzKCkgewoJCQkJcmV0dXJuICdvbmdlc3R1cmVzdGFydCcgaW4gd2luOwoJCQl9KCkpLAoJCX07Cgl9KCkpOwoKCXZhciBTd2lwZXJDbGFzcyA9IGZ1bmN0aW9uIFN3aXBlckNsYXNzKHBhcmFtcykgewoJCWlmICggcGFyYW1zID09PSB2b2lkIDAgKSBwYXJhbXMgPSB7fTsKCgkJdmFyIHNlbGYgPSB0aGlzOwoJCXNlbGYucGFyYW1zID0gcGFyYW1zOwoKCQkvLyBFdmVudHMKCQlzZWxmLmV2ZW50c0xpc3RlbmVycyA9IHt9OwoKCQlpZiAoc2VsZi5wYXJhbXMgJiYgc2VsZi5wYXJhbXMub24pIHsKCQkJT2JqZWN0LmtleXMoc2VsZi5wYXJhbXMub24pLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50TmFtZSkgewoJCQkJc2VsZi5vbihldmVudE5hbWUsIHNlbGYucGFyYW1zLm9uW2V2ZW50TmFtZV0pOwoJCQl9KTsKCQl9Cgl9OwoKCXZhciBzdGF0aWNBY2Nlc3NvcnMgPSB7IGNvbXBvbmVudHM6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0gfTsKCVN3aXBlckNsYXNzLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uIG9uIChldmVudHMsIGhhbmRsZXIsIHByaW9yaXR5KSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoJCWlmICh0eXBlb2YgaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykgeyByZXR1cm4gc2VsZjsgfQoJCXZhciBtZXRob2QgPSBwcmlvcml0eSA/ICd1bnNoaWZ0JyA6ICdwdXNoJzsKCQlldmVudHMuc3BsaXQoJyAnKS5mb3JFYWNoKGZ1bmN0aW9uIChldmVudCkgewoJCQlpZiAoIXNlbGYuZXZlbnRzTGlzdGVuZXJzW2V2ZW50XSkgeyBzZWxmLmV2ZW50c0xpc3RlbmVyc1tldmVudF0gPSBbXTsgfQoJCQlzZWxmLmV2ZW50c0xpc3RlbmVyc1tldmVudF1bbWV0aG9kXShoYW5kbGVyKTsKCQl9KTsKCQlyZXR1cm4gc2VsZjsKCX07CglTd2lwZXJDbGFzcy5wcm90b3R5cGUub25jZSA9IGZ1bmN0aW9uIG9uY2UgKGV2ZW50cywgaGFuZGxlciwgcHJpb3JpdHkpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgkJaWYgKHR5cGVvZiBoYW5kbGVyICE9PSAnZnVuY3Rpb24nKSB7IHJldHVybiBzZWxmOyB9CgkJZnVuY3Rpb24gb25jZUhhbmRsZXIoKSB7CgkJCXZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7CgkJCXdoaWxlICggbGVuLS0gKSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07CgoJCQloYW5kbGVyLmFwcGx5KHNlbGYsIGFyZ3MpOwoJCQlzZWxmLm9mZihldmVudHMsIG9uY2VIYW5kbGVyKTsKCQl9CgkJcmV0dXJuIHNlbGYub24oZXZlbnRzLCBvbmNlSGFuZGxlciwgcHJpb3JpdHkpOwoJfTsKCVN3aXBlckNsYXNzLnByb3RvdHlwZS5vZmYgPSBmdW5jdGlvbiBvZmYgKGV2ZW50cywgaGFuZGxlcikgewoJCXZhciBzZWxmID0gdGhpczsKCQlpZiAoIXNlbGYuZXZlbnRzTGlzdGVuZXJzKSB7IHJldHVybiBzZWxmOyB9CgkJZXZlbnRzLnNwbGl0KCcgJykuZm9yRWFjaChmdW5jdGlvbiAoZXZlbnQpIHsKCQkJaWYgKHR5cGVvZiBoYW5kbGVyID09PSAndW5kZWZpbmVkJykgewoJCQkJc2VsZi5ldmVudHNMaXN0ZW5lcnNbZXZlbnRdID0gW107CgkJCX0gZWxzZSB7CgkJCQlzZWxmLmV2ZW50c0xpc3RlbmVyc1tldmVudF0uZm9yRWFjaChmdW5jdGlvbiAoZXZlbnRIYW5kbGVyLCBpbmRleCkgewoJCQkJCWlmIChldmVudEhhbmRsZXIgPT09IGhhbmRsZXIpIHsKCQkJCQkJc2VsZi5ldmVudHNMaXN0ZW5lcnNbZXZlbnRdLnNwbGljZShpbmRleCwgMSk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9KTsKCQlyZXR1cm4gc2VsZjsKCX07CglTd2lwZXJDbGFzcy5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIGVtaXQgKCkgewoJCXZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7CgkJd2hpbGUgKCBsZW4tLSApIGFyZ3NbIGxlbiBdID0gYXJndW1lbnRzWyBsZW4gXTsKCgkJdmFyIHNlbGYgPSB0aGlzOwoJCWlmICghc2VsZi5ldmVudHNMaXN0ZW5lcnMpIHsgcmV0dXJuIHNlbGY7IH0KCQl2YXIgZXZlbnRzOwoJCXZhciBkYXRhOwoJCXZhciBjb250ZXh0OwoJCWlmICh0eXBlb2YgYXJnc1swXSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheShhcmdzWzBdKSkgewoJCQlldmVudHMgPSBhcmdzWzBdOwoJCQlkYXRhID0gYXJncy5zbGljZSgxLCBhcmdzLmxlbmd0aCk7CgkJCWNvbnRleHQgPSBzZWxmOwoJCX0gZWxzZSB7CgkJCWV2ZW50cyA9IGFyZ3NbMF0uZXZlbnRzOwoJCQlkYXRhID0gYXJnc1swXS5kYXRhOwoJCQljb250ZXh0ID0gYXJnc1swXS5jb250ZXh0IHx8IHNlbGY7CgkJfQoJCXZhciBldmVudHNBcnJheSA9IEFycmF5LmlzQXJyYXkoZXZlbnRzKSA/IGV2ZW50cyA6IGV2ZW50cy5zcGxpdCgnICcpOwoJCWV2ZW50c0FycmF5LmZvckVhY2goZnVuY3Rpb24gKGV2ZW50KSB7CgkJCWlmIChzZWxmLmV2ZW50c0xpc3RlbmVycyAmJiBzZWxmLmV2ZW50c0xpc3RlbmVyc1tldmVudF0pIHsKCQkJCXZhciBoYW5kbGVycyA9IFtdOwoJCQkJc2VsZi5ldmVudHNMaXN0ZW5lcnNbZXZlbnRdLmZvckVhY2goZnVuY3Rpb24gKGV2ZW50SGFuZGxlcikgewoJCQkJCWhhbmRsZXJzLnB1c2goZXZlbnRIYW5kbGVyKTsKCQkJCX0pOwoJCQkJaGFuZGxlcnMuZm9yRWFjaChmdW5jdGlvbiAoZXZlbnRIYW5kbGVyKSB7CgkJCQkJZXZlbnRIYW5kbGVyLmFwcGx5KGNvbnRleHQsIGRhdGEpOwoJCQkJfSk7CgkJCX0KCQl9KTsKCQlyZXR1cm4gc2VsZjsKCX07CglTd2lwZXJDbGFzcy5wcm90b3R5cGUudXNlTW9kdWxlc1BhcmFtcyA9IGZ1bmN0aW9uIHVzZU1vZHVsZXNQYXJhbXMgKGluc3RhbmNlUGFyYW1zKSB7CgkJdmFyIGluc3RhbmNlID0gdGhpczsKCQlpZiAoIWluc3RhbmNlLm1vZHVsZXMpIHsgcmV0dXJuOyB9CgkJT2JqZWN0LmtleXMoaW5zdGFuY2UubW9kdWxlcykuZm9yRWFjaChmdW5jdGlvbiAobW9kdWxlTmFtZSkgewoJCQl2YXIgbW9kdWxlID0gaW5zdGFuY2UubW9kdWxlc1ttb2R1bGVOYW1lXTsKCQkJLy8gRXh0ZW5kIHBhcmFtcwoJCQlpZiAobW9kdWxlLnBhcmFtcykgewoJCQkJVXRpbHMuZXh0ZW5kKGluc3RhbmNlUGFyYW1zLCBtb2R1bGUucGFyYW1zKTsKCQkJfQoJCX0pOwoJfTsKCVN3aXBlckNsYXNzLnByb3RvdHlwZS51c2VNb2R1bGVzID0gZnVuY3Rpb24gdXNlTW9kdWxlcyAobW9kdWxlc1BhcmFtcykgewoJCWlmICggbW9kdWxlc1BhcmFtcyA9PT0gdm9pZCAwICkgbW9kdWxlc1BhcmFtcyA9IHt9OwoKCQl2YXIgaW5zdGFuY2UgPSB0aGlzOwoJCWlmICghaW5zdGFuY2UubW9kdWxlcykgeyByZXR1cm47IH0KCQlPYmplY3Qua2V5cyhpbnN0YW5jZS5tb2R1bGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2R1bGVOYW1lKSB7CgkJCXZhciBtb2R1bGUgPSBpbnN0YW5jZS5tb2R1bGVzW21vZHVsZU5hbWVdOwoJCQl2YXIgbW9kdWxlUGFyYW1zID0gbW9kdWxlc1BhcmFtc1ttb2R1bGVOYW1lXSB8fCB7fTsKCQkJLy8gRXh0ZW5kIGluc3RhbmNlIG1ldGhvZHMgYW5kIHByb3BzCgkJCWlmIChtb2R1bGUuaW5zdGFuY2UpIHsKCQkJCU9iamVjdC5rZXlzKG1vZHVsZS5pbnN0YW5jZSkuZm9yRWFjaChmdW5jdGlvbiAobW9kdWxlUHJvcE5hbWUpIHsKCQkJCQl2YXIgbW9kdWxlUHJvcCA9IG1vZHVsZS5pbnN0YW5jZVttb2R1bGVQcm9wTmFtZV07CgkJCQkJaWYgKHR5cGVvZiBtb2R1bGVQcm9wID09PSAnZnVuY3Rpb24nKSB7CgkJCQkJCWluc3RhbmNlW21vZHVsZVByb3BOYW1lXSA9IG1vZHVsZVByb3AuYmluZChpbnN0YW5jZSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaW5zdGFuY2VbbW9kdWxlUHJvcE5hbWVdID0gbW9kdWxlUHJvcDsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCQkvLyBBZGQgZXZlbnQgbGlzdGVuZXJzCgkJCWlmIChtb2R1bGUub24gJiYgaW5zdGFuY2Uub24pIHsKCQkJCU9iamVjdC5rZXlzKG1vZHVsZS5vbikuZm9yRWFjaChmdW5jdGlvbiAobW9kdWxlRXZlbnROYW1lKSB7CgkJCQkJaW5zdGFuY2Uub24obW9kdWxlRXZlbnROYW1lLCBtb2R1bGUub25bbW9kdWxlRXZlbnROYW1lXSk7CgkJCQl9KTsKCQkJfQoKCQkJLy8gTW9kdWxlIGNyZWF0ZSBjYWxsYmFjawoJCQlpZiAobW9kdWxlLmNyZWF0ZSkgewoJCQkJbW9kdWxlLmNyZWF0ZS5iaW5kKGluc3RhbmNlKShtb2R1bGVQYXJhbXMpOwoJCQl9CgkJfSk7Cgl9OwoJc3RhdGljQWNjZXNzb3JzLmNvbXBvbmVudHMuc2V0ID0gZnVuY3Rpb24gKGNvbXBvbmVudHMpIHsKCQl2YXIgQ2xhc3MgPSB0aGlzOwoJCWlmICghQ2xhc3MudXNlKSB7IHJldHVybjsgfQoJCUNsYXNzLnVzZShjb21wb25lbnRzKTsKCX07CglTd2lwZXJDbGFzcy5pbnN0YWxsTW9kdWxlID0gZnVuY3Rpb24gaW5zdGFsbE1vZHVsZSAobW9kdWxlKSB7CgkJdmFyIHBhcmFtcyA9IFtdLCBsZW4gPSBhcmd1bWVudHMubGVuZ3RoIC0gMTsKCQl3aGlsZSAoIGxlbi0tID4gMCApIHBhcmFtc1sgbGVuIF0gPSBhcmd1bWVudHNbIGxlbiArIDEgXTsKCgkJdmFyIENsYXNzID0gdGhpczsKCQlpZiAoIUNsYXNzLnByb3RvdHlwZS5tb2R1bGVzKSB7IENsYXNzLnByb3RvdHlwZS5tb2R1bGVzID0ge307IH0KCQl2YXIgbmFtZSA9IG1vZHVsZS5uYW1lIHx8ICgoKE9iamVjdC5rZXlzKENsYXNzLnByb3RvdHlwZS5tb2R1bGVzKS5sZW5ndGgpICsgIl8iICsgKFV0aWxzLm5vdygpKSkpOwoJCUNsYXNzLnByb3RvdHlwZS5tb2R1bGVzW25hbWVdID0gbW9kdWxlOwoJCS8vIFByb3RvdHlwZQoJCWlmIChtb2R1bGUucHJvdG8pIHsKCQkJT2JqZWN0LmtleXMobW9kdWxlLnByb3RvKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKCQkJCUNsYXNzLnByb3RvdHlwZVtrZXldID0gbW9kdWxlLnByb3RvW2tleV07CgkJCX0pOwoJCX0KCQkvLyBDbGFzcwoJCWlmIChtb2R1bGUuc3RhdGljKSB7CgkJCU9iamVjdC5rZXlzKG1vZHVsZS5zdGF0aWMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewoJCQkJQ2xhc3Nba2V5XSA9IG1vZHVsZS5zdGF0aWNba2V5XTsKCQkJfSk7CgkJfQoJCS8vIENhbGxiYWNrCgkJaWYgKG1vZHVsZS5pbnN0YWxsKSB7CgkJCW1vZHVsZS5pbnN0YWxsLmFwcGx5KENsYXNzLCBwYXJhbXMpOwoJCX0KCQlyZXR1cm4gQ2xhc3M7Cgl9OwoJU3dpcGVyQ2xhc3MudXNlID0gZnVuY3Rpb24gdXNlIChtb2R1bGUpIHsKCQl2YXIgcGFyYW1zID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGggLSAxOwoJCXdoaWxlICggbGVuLS0gPiAwICkgcGFyYW1zWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuICsgMSBdOwoKCQl2YXIgQ2xhc3MgPSB0aGlzOwoJCWlmIChBcnJheS5pc0FycmF5KG1vZHVsZSkpIHsKCQkJbW9kdWxlLmZvckVhY2goZnVuY3Rpb24gKG0pIHsgcmV0dXJuIENsYXNzLmluc3RhbGxNb2R1bGUobSk7IH0pOwoJCQlyZXR1cm4gQ2xhc3M7CgkJfQoJCXJldHVybiBDbGFzcy5pbnN0YWxsTW9kdWxlLmFwcGx5KENsYXNzLCBbIG1vZHVsZSBdLmNvbmNhdCggcGFyYW1zICkpOwoJfTsKCglPYmplY3QuZGVmaW5lUHJvcGVydGllcyggU3dpcGVyQ2xhc3MsIHN0YXRpY0FjY2Vzc29ycyApOwoKCWZ1bmN0aW9uIHVwZGF0ZVNpemUgKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciB3aWR0aDsKCQl2YXIgaGVpZ2h0OwoJCXZhciAkZWwgPSBzd2lwZXIuJGVsOwoJCWlmICh0eXBlb2Ygc3dpcGVyLnBhcmFtcy53aWR0aCAhPT0gJ3VuZGVmaW5lZCcpIHsKCQkJd2lkdGggPSBzd2lwZXIucGFyYW1zLndpZHRoOwoJCX0gZWxzZSB7CgkJCXdpZHRoID0gJGVsWzBdLmNsaWVudFdpZHRoOwoJCX0KCQlpZiAodHlwZW9mIHN3aXBlci5wYXJhbXMuaGVpZ2h0ICE9PSAndW5kZWZpbmVkJykgewoJCQloZWlnaHQgPSBzd2lwZXIucGFyYW1zLmhlaWdodDsKCQl9IGVsc2UgewoJCQloZWlnaHQgPSAkZWxbMF0uY2xpZW50SGVpZ2h0OwoJCX0KCQlpZiAoKHdpZHRoID09PSAwICYmIHN3aXBlci5pc0hvcml6b250YWwoKSkgfHwgKGhlaWdodCA9PT0gMCAmJiBzd2lwZXIuaXNWZXJ0aWNhbCgpKSkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBTdWJ0cmFjdCBwYWRkaW5ncwoJCXdpZHRoID0gd2lkdGggLSBwYXJzZUludCgkZWwuY3NzKCdwYWRkaW5nLWxlZnQnKSwgMTApIC0gcGFyc2VJbnQoJGVsLmNzcygncGFkZGluZy1yaWdodCcpLCAxMCk7CgkJaGVpZ2h0ID0gaGVpZ2h0IC0gcGFyc2VJbnQoJGVsLmNzcygncGFkZGluZy10b3AnKSwgMTApIC0gcGFyc2VJbnQoJGVsLmNzcygncGFkZGluZy1ib3R0b20nKSwgMTApOwoKCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCXdpZHRoOiB3aWR0aCwKCQkJaGVpZ2h0OiBoZWlnaHQsCgkJCXNpemU6IHN3aXBlci5pc0hvcml6b250YWwoKSA/IHdpZHRoIDogaGVpZ2h0LAoJCX0pOwoJfQoKCWZ1bmN0aW9uIHVwZGF0ZVNsaWRlcyAoKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgoJCXZhciAkd3JhcHBlckVsID0gc3dpcGVyLiR3cmFwcGVyRWw7CgkJdmFyIHN3aXBlclNpemUgPSBzd2lwZXIuc2l6ZTsKCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQl2YXIgd3JvbmdSVEwgPSBzd2lwZXIud3JvbmdSVEw7CgkJdmFyIHNsaWRlcyA9ICR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXIucGFyYW1zLnNsaWRlQ2xhc3MpKSk7CgkJdmFyIGlzVmlydHVhbCA9IHN3aXBlci52aXJ0dWFsICYmIHBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ7CgkJdmFyIHNsaWRlc0xlbmd0aCA9IGlzVmlydHVhbCA/IHN3aXBlci52aXJ0dWFsLnNsaWRlcy5sZW5ndGggOiBzbGlkZXMubGVuZ3RoOwoJCXZhciBzbmFwR3JpZCA9IFtdOwoJCXZhciBzbGlkZXNHcmlkID0gW107CgkJdmFyIHNsaWRlc1NpemVzR3JpZCA9IFtdOwoKCQl2YXIgb2Zmc2V0QmVmb3JlID0gcGFyYW1zLnNsaWRlc09mZnNldEJlZm9yZTsKCQlpZiAodHlwZW9mIG9mZnNldEJlZm9yZSA9PT0gJ2Z1bmN0aW9uJykgewoJCQlvZmZzZXRCZWZvcmUgPSBwYXJhbXMuc2xpZGVzT2Zmc2V0QmVmb3JlLmNhbGwoc3dpcGVyKTsKCQl9CgoJCXZhciBvZmZzZXRBZnRlciA9IHBhcmFtcy5zbGlkZXNPZmZzZXRBZnRlcjsKCQlpZiAodHlwZW9mIG9mZnNldEFmdGVyID09PSAnZnVuY3Rpb24nKSB7CgkJCW9mZnNldEFmdGVyID0gcGFyYW1zLnNsaWRlc09mZnNldEFmdGVyLmNhbGwoc3dpcGVyKTsKCQl9CgoJCXZhciBwcmV2aW91c1NsaWRlc0xlbmd0aCA9IHNsaWRlc0xlbmd0aDsKCQl2YXIgcHJldmlvdXNTbmFwR3JpZExlbmd0aCA9IHN3aXBlci5zbmFwR3JpZC5sZW5ndGg7CgkJdmFyIHByZXZpb3VzU2xpZGVzR3JpZExlbmd0aCA9IHN3aXBlci5zbmFwR3JpZC5sZW5ndGg7CgoJCXZhciBzcGFjZUJldHdlZW4gPSBwYXJhbXMuc3BhY2VCZXR3ZWVuOwoJCXZhciBzbGlkZVBvc2l0aW9uID0gLW9mZnNldEJlZm9yZTsKCQl2YXIgcHJldlNsaWRlU2l6ZSA9IDA7CgkJdmFyIGluZGV4ID0gMDsKCQlpZiAodHlwZW9mIHN3aXBlclNpemUgPT09ICd1bmRlZmluZWQnKSB7CgkJCXJldHVybjsKCQl9CgkJaWYgKHR5cGVvZiBzcGFjZUJldHdlZW4gPT09ICdzdHJpbmcnICYmIHNwYWNlQmV0d2Vlbi5pbmRleE9mKCclJykgPj0gMCkgewoJCQlzcGFjZUJldHdlZW4gPSAocGFyc2VGbG9hdChzcGFjZUJldHdlZW4ucmVwbGFjZSgnJScsICcnKSkgLyAxMDApICogc3dpcGVyU2l6ZTsKCQl9CgoJCXN3aXBlci52aXJ0dWFsU2l6ZSA9IC1zcGFjZUJldHdlZW47CgoJCS8vIHJlc2V0IG1hcmdpbnMKCQlpZiAocnRsKSB7IHNsaWRlcy5jc3MoeyBtYXJnaW5MZWZ0OiAnJywgbWFyZ2luVG9wOiAnJyB9KTsgfQoJCWVsc2UgeyBzbGlkZXMuY3NzKHsgbWFyZ2luUmlnaHQ6ICcnLCBtYXJnaW5Cb3R0b206ICcnIH0pOyB9CgoJCXZhciBzbGlkZXNOdW1iZXJFdmVuVG9Sb3dzOwoJCWlmIChwYXJhbXMuc2xpZGVzUGVyQ29sdW1uID4gMSkgewoJCQlpZiAoTWF0aC5mbG9vcihzbGlkZXNMZW5ndGggLyBwYXJhbXMuc2xpZGVzUGVyQ29sdW1uKSA9PT0gc2xpZGVzTGVuZ3RoIC8gc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJDb2x1bW4pIHsKCQkJCXNsaWRlc051bWJlckV2ZW5Ub1Jvd3MgPSBzbGlkZXNMZW5ndGg7CgkJCX0gZWxzZSB7CgkJCQlzbGlkZXNOdW1iZXJFdmVuVG9Sb3dzID0gTWF0aC5jZWlsKHNsaWRlc0xlbmd0aCAvIHBhcmFtcy5zbGlkZXNQZXJDb2x1bW4pICogcGFyYW1zLnNsaWRlc1BlckNvbHVtbjsKCQkJfQoJCQlpZiAocGFyYW1zLnNsaWRlc1BlclZpZXcgIT09ICdhdXRvJyAmJiBwYXJhbXMuc2xpZGVzUGVyQ29sdW1uRmlsbCA9PT0gJ3JvdycpIHsKCQkJCXNsaWRlc051bWJlckV2ZW5Ub1Jvd3MgPSBNYXRoLm1heChzbGlkZXNOdW1iZXJFdmVuVG9Sb3dzLCBwYXJhbXMuc2xpZGVzUGVyVmlldyAqIHBhcmFtcy5zbGlkZXNQZXJDb2x1bW4pOwoJCQl9CgkJfQoKCQkvLyBDYWxjIHNsaWRlcwoJCXZhciBzbGlkZVNpemU7CgkJdmFyIHNsaWRlc1BlckNvbHVtbiA9IHBhcmFtcy5zbGlkZXNQZXJDb2x1bW47CgkJdmFyIHNsaWRlc1BlclJvdyA9IHNsaWRlc051bWJlckV2ZW5Ub1Jvd3MgLyBzbGlkZXNQZXJDb2x1bW47CgkJdmFyIG51bUZ1bGxDb2x1bW5zID0gc2xpZGVzUGVyUm93IC0gKChwYXJhbXMuc2xpZGVzUGVyQ29sdW1uICogc2xpZGVzUGVyUm93KSAtIHNsaWRlc0xlbmd0aCk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbGlkZXNMZW5ndGg7IGkgKz0gMSkgewoJCQlzbGlkZVNpemUgPSAwOwoJCQl2YXIgc2xpZGUgPSBzbGlkZXMuZXEoaSk7CgkJCWlmIChwYXJhbXMuc2xpZGVzUGVyQ29sdW1uID4gMSkgewoJCQkJLy8gU2V0IHNsaWRlcyBvcmRlcgoJCQkJdmFyIG5ld1NsaWRlT3JkZXJJbmRleCA9ICh2b2lkIDApOwoJCQkJdmFyIGNvbHVtbiA9ICh2b2lkIDApOwoJCQkJdmFyIHJvdyA9ICh2b2lkIDApOwoJCQkJaWYgKHBhcmFtcy5zbGlkZXNQZXJDb2x1bW5GaWxsID09PSAnY29sdW1uJykgewoJCQkJCWNvbHVtbiA9IE1hdGguZmxvb3IoaSAvIHNsaWRlc1BlckNvbHVtbik7CgkJCQkJcm93ID0gaSAtIChjb2x1bW4gKiBzbGlkZXNQZXJDb2x1bW4pOwoJCQkJCWlmIChjb2x1bW4gPiBudW1GdWxsQ29sdW1ucyB8fCAoY29sdW1uID09PSBudW1GdWxsQ29sdW1ucyAmJiByb3cgPT09IHNsaWRlc1BlckNvbHVtbiAtIDEpKSB7CgkJCQkJCXJvdyArPSAxOwoJCQkJCQlpZiAocm93ID49IHNsaWRlc1BlckNvbHVtbikgewoJCQkJCQkJcm93ID0gMDsKCQkJCQkJCWNvbHVtbiArPSAxOwoJCQkJCQl9CgkJCQkJfQoJCQkJCW5ld1NsaWRlT3JkZXJJbmRleCA9IGNvbHVtbiArICgocm93ICogc2xpZGVzTnVtYmVyRXZlblRvUm93cykgLyBzbGlkZXNQZXJDb2x1bW4pOwoJCQkJCXNsaWRlCgkJCQkJCS5jc3MoewoJCQkJCQkJJy13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXAnOiBuZXdTbGlkZU9yZGVySW5kZXgsCgkJCQkJCQknLW1vei1ib3gtb3JkaW5hbC1ncm91cCc6IG5ld1NsaWRlT3JkZXJJbmRleCwKCQkJCQkJCSctbXMtZmxleC1vcmRlcic6IG5ld1NsaWRlT3JkZXJJbmRleCwKCQkJCQkJCSctd2Via2l0LW9yZGVyJzogbmV3U2xpZGVPcmRlckluZGV4LAoJCQkJCQkJb3JkZXI6IG5ld1NsaWRlT3JkZXJJbmRleCwKCQkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCXJvdyA9IE1hdGguZmxvb3IoaSAvIHNsaWRlc1BlclJvdyk7CgkJCQkJY29sdW1uID0gaSAtIChyb3cgKiBzbGlkZXNQZXJSb3cpOwoJCQkJfQoJCQkJc2xpZGUKCQkJCQkuY3NzKAoJCQkJCQkoIm1hcmdpbi0iICsgKHN3aXBlci5pc0hvcml6b250YWwoKSA/ICd0b3AnIDogJ2xlZnQnKSksCgkJCQkJCShyb3cgIT09IDAgJiYgcGFyYW1zLnNwYWNlQmV0d2VlbikgJiYgKCgocGFyYW1zLnNwYWNlQmV0d2VlbikgKyAicHgiKSkKCQkJCQkpCgkJCQkJLmF0dHIoJ2RhdGEtc3dpcGVyLWNvbHVtbicsIGNvbHVtbikKCQkJCQkuYXR0cignZGF0YS1zd2lwZXItcm93Jywgcm93KTsKCQkJfQoJCQlpZiAoc2xpZGUuY3NzKCdkaXNwbGF5JykgPT09ICdub25lJykgeyBjb250aW51ZTsgfSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgoJCQlpZiAocGFyYW1zLnNsaWRlc1BlclZpZXcgPT09ICdhdXRvJykgewoJCQkJdmFyIHNsaWRlU3R5bGVzID0gd2luLmdldENvbXB1dGVkU3R5bGUoc2xpZGVbMF0sIG51bGwpOwoJCQkJdmFyIGN1cnJlbnRUcmFuc2Zvcm0gPSBzbGlkZVswXS5zdHlsZS50cmFuc2Zvcm07CgkJCQlpZiAoY3VycmVudFRyYW5zZm9ybSkgewoJCQkJCXNsaWRlWzBdLnN0eWxlLnRyYW5zZm9ybSA9ICdub25lJzsKCQkJCX0KCQkJCWlmIChzd2lwZXIuaXNIb3Jpem9udGFsKCkpIHsKCQkJCQlzbGlkZVNpemUgPSBzbGlkZVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArCgkJCQkJCXBhcnNlRmxvYXQoc2xpZGVTdHlsZXMuZ2V0UHJvcGVydHlWYWx1ZSgnbWFyZ2luLWxlZnQnKSkgKwoJCQkJCQlwYXJzZUZsb2F0KHNsaWRlU3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi1yaWdodCcpKTsKCQkJCX0gZWxzZSB7CgkJCQkJc2xpZGVTaXplID0gc2xpZGVbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0ICsKCQkJCQkJcGFyc2VGbG9hdChzbGlkZVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdtYXJnaW4tdG9wJykpICsKCQkJCQkJcGFyc2VGbG9hdChzbGlkZVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdtYXJnaW4tYm90dG9tJykpOwoJCQkJfQoJCQkJaWYgKGN1cnJlbnRUcmFuc2Zvcm0pIHsKCQkJCQlzbGlkZVswXS5zdHlsZS50cmFuc2Zvcm0gPSBjdXJyZW50VHJhbnNmb3JtOwoJCQkJfQoJCQkJaWYgKHBhcmFtcy5yb3VuZExlbmd0aHMpIHsgc2xpZGVTaXplID0gTWF0aC5mbG9vcihzbGlkZVNpemUpOyB9CgkJCX0gZWxzZSB7CgkJCQlzbGlkZVNpemUgPSAoc3dpcGVyU2l6ZSAtICgocGFyYW1zLnNsaWRlc1BlclZpZXcgLSAxKSAqIHNwYWNlQmV0d2VlbikpIC8gcGFyYW1zLnNsaWRlc1BlclZpZXc7CgkJCQlpZiAocGFyYW1zLnJvdW5kTGVuZ3RocykgeyBzbGlkZVNpemUgPSBNYXRoLmZsb29yKHNsaWRlU2l6ZSk7IH0KCgkJCQlpZiAoc2xpZGVzW2ldKSB7CgkJCQkJaWYgKHN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQkJCQlzbGlkZXNbaV0uc3R5bGUud2lkdGggPSBzbGlkZVNpemUgKyAicHgiOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXNsaWRlc1tpXS5zdHlsZS5oZWlnaHQgPSBzbGlkZVNpemUgKyAicHgiOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlpZiAoc2xpZGVzW2ldKSB7CgkJCQlzbGlkZXNbaV0uc3dpcGVyU2xpZGVTaXplID0gc2xpZGVTaXplOwoJCQl9CgkJCXNsaWRlc1NpemVzR3JpZC5wdXNoKHNsaWRlU2l6ZSk7CgoKCQkJaWYgKHBhcmFtcy5jZW50ZXJlZFNsaWRlcykgewoJCQkJc2xpZGVQb3NpdGlvbiA9IHNsaWRlUG9zaXRpb24gKyAoc2xpZGVTaXplIC8gMikgKyAocHJldlNsaWRlU2l6ZSAvIDIpICsgc3BhY2VCZXR3ZWVuOwoJCQkJaWYgKHByZXZTbGlkZVNpemUgPT09IDAgJiYgaSAhPT0gMCkgeyBzbGlkZVBvc2l0aW9uID0gc2xpZGVQb3NpdGlvbiAtIChzd2lwZXJTaXplIC8gMikgLSBzcGFjZUJldHdlZW47IH0KCQkJCWlmIChpID09PSAwKSB7IHNsaWRlUG9zaXRpb24gPSBzbGlkZVBvc2l0aW9uIC0gKHN3aXBlclNpemUgLyAyKSAtIHNwYWNlQmV0d2VlbjsgfQoJCQkJaWYgKE1hdGguYWJzKHNsaWRlUG9zaXRpb24pIDwgMSAvIDEwMDApIHsgc2xpZGVQb3NpdGlvbiA9IDA7IH0KCQkJCWlmICgoaW5kZXgpICUgcGFyYW1zLnNsaWRlc1Blckdyb3VwID09PSAwKSB7IHNuYXBHcmlkLnB1c2goc2xpZGVQb3NpdGlvbik7IH0KCQkJCXNsaWRlc0dyaWQucHVzaChzbGlkZVBvc2l0aW9uKTsKCQkJfSBlbHNlIHsKCQkJCWlmICgoaW5kZXgpICUgcGFyYW1zLnNsaWRlc1Blckdyb3VwID09PSAwKSB7IHNuYXBHcmlkLnB1c2goc2xpZGVQb3NpdGlvbik7IH0KCQkJCXNsaWRlc0dyaWQucHVzaChzbGlkZVBvc2l0aW9uKTsKCQkJCXNsaWRlUG9zaXRpb24gPSBzbGlkZVBvc2l0aW9uICsgc2xpZGVTaXplICsgc3BhY2VCZXR3ZWVuOwoJCQl9CgoJCQlzd2lwZXIudmlydHVhbFNpemUgKz0gc2xpZGVTaXplICsgc3BhY2VCZXR3ZWVuOwoKCQkJcHJldlNsaWRlU2l6ZSA9IHNsaWRlU2l6ZTsKCgkJCWluZGV4ICs9IDE7CgkJfQoJCXN3aXBlci52aXJ0dWFsU2l6ZSA9IE1hdGgubWF4KHN3aXBlci52aXJ0dWFsU2l6ZSwgc3dpcGVyU2l6ZSkgKyBvZmZzZXRBZnRlcjsKCQl2YXIgbmV3U2xpZGVzR3JpZDsKCgkJaWYgKAoJCQlydGwgJiYgd3JvbmdSVEwgJiYgKHBhcmFtcy5lZmZlY3QgPT09ICdzbGlkZScgfHwgcGFyYW1zLmVmZmVjdCA9PT0gJ2NvdmVyZmxvdycpKSB7CgkJCSR3cmFwcGVyRWwuY3NzKHsgd2lkdGg6ICgoc3dpcGVyLnZpcnR1YWxTaXplICsgcGFyYW1zLnNwYWNlQmV0d2VlbikgKyAicHgiKSB9KTsKCQl9CgkJaWYgKCFTdXBwb3J0LmZsZXhib3ggfHwgcGFyYW1zLnNldFdyYXBwZXJTaXplKSB7CgkJCWlmIChzd2lwZXIuaXNIb3Jpem9udGFsKCkpIHsgJHdyYXBwZXJFbC5jc3MoeyB3aWR0aDogKChzd2lwZXIudmlydHVhbFNpemUgKyBwYXJhbXMuc3BhY2VCZXR3ZWVuKSArICJweCIpIH0pOyB9CgkJCWVsc2UgeyAkd3JhcHBlckVsLmNzcyh7IGhlaWdodDogKChzd2lwZXIudmlydHVhbFNpemUgKyBwYXJhbXMuc3BhY2VCZXR3ZWVuKSArICJweCIpIH0pOyB9CgkJfQoKCQlpZiAocGFyYW1zLnNsaWRlc1BlckNvbHVtbiA+IDEpIHsKCQkJc3dpcGVyLnZpcnR1YWxTaXplID0gKHNsaWRlU2l6ZSArIHBhcmFtcy5zcGFjZUJldHdlZW4pICogc2xpZGVzTnVtYmVyRXZlblRvUm93czsKCQkJc3dpcGVyLnZpcnR1YWxTaXplID0gTWF0aC5jZWlsKHN3aXBlci52aXJ0dWFsU2l6ZSAvIHBhcmFtcy5zbGlkZXNQZXJDb2x1bW4pIC0gcGFyYW1zLnNwYWNlQmV0d2VlbjsKCQkJaWYgKHN3aXBlci5pc0hvcml6b250YWwoKSkgeyAkd3JhcHBlckVsLmNzcyh7IHdpZHRoOiAoKHN3aXBlci52aXJ0dWFsU2l6ZSArIHBhcmFtcy5zcGFjZUJldHdlZW4pICsgInB4IikgfSk7IH0KCQkJZWxzZSB7ICR3cmFwcGVyRWwuY3NzKHsgaGVpZ2h0OiAoKHN3aXBlci52aXJ0dWFsU2l6ZSArIHBhcmFtcy5zcGFjZUJldHdlZW4pICsgInB4IikgfSk7IH0KCQkJaWYgKHBhcmFtcy5jZW50ZXJlZFNsaWRlcykgewoJCQkJbmV3U2xpZGVzR3JpZCA9IFtdOwoJCQkJZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgc25hcEdyaWQubGVuZ3RoOyBpJDEgKz0gMSkgewoJCQkJCWlmIChzbmFwR3JpZFtpJDFdIDwgc3dpcGVyLnZpcnR1YWxTaXplICsgc25hcEdyaWRbMF0pIHsgbmV3U2xpZGVzR3JpZC5wdXNoKHNuYXBHcmlkW2kkMV0pOyB9CgkJCQl9CgkJCQlzbmFwR3JpZCA9IG5ld1NsaWRlc0dyaWQ7CgkJCX0KCQl9CgoJCS8vIFJlbW92ZSBsYXN0IGdyaWQgZWxlbWVudHMgZGVwZW5kaW5nIG9uIHdpZHRoCgkJaWYgKCFwYXJhbXMuY2VudGVyZWRTbGlkZXMpIHsKCQkJbmV3U2xpZGVzR3JpZCA9IFtdOwoJCQlmb3IgKHZhciBpJDIgPSAwOyBpJDIgPCBzbmFwR3JpZC5sZW5ndGg7IGkkMiArPSAxKSB7CgkJCQlpZiAoc25hcEdyaWRbaSQyXSA8PSBzd2lwZXIudmlydHVhbFNpemUgLSBzd2lwZXJTaXplKSB7CgkJCQkJbmV3U2xpZGVzR3JpZC5wdXNoKHNuYXBHcmlkW2kkMl0pOwoJCQkJfQoJCQl9CgkJCXNuYXBHcmlkID0gbmV3U2xpZGVzR3JpZDsKCQkJaWYgKE1hdGguZmxvb3Ioc3dpcGVyLnZpcnR1YWxTaXplIC0gc3dpcGVyU2l6ZSkgLSBNYXRoLmZsb29yKHNuYXBHcmlkW3NuYXBHcmlkLmxlbmd0aCAtIDFdKSA+IDEpIHsKCQkJCXNuYXBHcmlkLnB1c2goc3dpcGVyLnZpcnR1YWxTaXplIC0gc3dpcGVyU2l6ZSk7CgkJCX0KCQl9CgkJaWYgKHNuYXBHcmlkLmxlbmd0aCA9PT0gMCkgeyBzbmFwR3JpZCA9IFswXTsgfQoKCQlpZiAocGFyYW1zLnNwYWNlQmV0d2VlbiAhPT0gMCkgewoJCQlpZiAoc3dpcGVyLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQlpZiAocnRsKSB7IHNsaWRlcy5jc3MoeyBtYXJnaW5MZWZ0OiAoc3BhY2VCZXR3ZWVuICsgInB4IikgfSk7IH0KCQkJCWVsc2UgeyBzbGlkZXMuY3NzKHsgbWFyZ2luUmlnaHQ6IChzcGFjZUJldHdlZW4gKyAicHgiKSB9KTsgfQoJCQl9IGVsc2UgeyBzbGlkZXMuY3NzKHsgbWFyZ2luQm90dG9tOiAoc3BhY2VCZXR3ZWVuICsgInB4IikgfSk7IH0KCQl9CgoJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJc2xpZGVzOiBzbGlkZXMsCgkJCXNuYXBHcmlkOiBzbmFwR3JpZCwKCQkJc2xpZGVzR3JpZDogc2xpZGVzR3JpZCwKCQkJc2xpZGVzU2l6ZXNHcmlkOiBzbGlkZXNTaXplc0dyaWQsCgkJfSk7CgoJCWlmIChzbGlkZXNMZW5ndGggIT09IHByZXZpb3VzU2xpZGVzTGVuZ3RoKSB7CgkJCXN3aXBlci5lbWl0KCdzbGlkZXNMZW5ndGhDaGFuZ2UnKTsKCQl9CgkJaWYgKHNuYXBHcmlkLmxlbmd0aCAhPT0gcHJldmlvdXNTbmFwR3JpZExlbmd0aCkgewoJCQlpZiAoc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93KSB7IHN3aXBlci5jaGVja092ZXJmbG93KCk7IH0KCQkJc3dpcGVyLmVtaXQoJ3NuYXBHcmlkTGVuZ3RoQ2hhbmdlJyk7CgkJfQoJCWlmIChzbGlkZXNHcmlkLmxlbmd0aCAhPT0gcHJldmlvdXNTbGlkZXNHcmlkTGVuZ3RoKSB7CgkJCXN3aXBlci5lbWl0KCdzbGlkZXNHcmlkTGVuZ3RoQ2hhbmdlJyk7CgkJfQoKCQlpZiAocGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3MgfHwgcGFyYW1zLndhdGNoU2xpZGVzVmlzaWJpbGl0eSkgewoJCQlzd2lwZXIudXBkYXRlU2xpZGVzT2Zmc2V0KCk7CgkJfQoJfQoKCWZ1bmN0aW9uIHVwZGF0ZUF1dG9IZWlnaHQgKHNwZWVkKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIGFjdGl2ZVNsaWRlcyA9IFtdOwoJCXZhciBuZXdIZWlnaHQgPSAwOwoJCXZhciBpOwoJCWlmICh0eXBlb2Ygc3BlZWQgPT09ICdudW1iZXInKSB7CgkJCXN3aXBlci5zZXRUcmFuc2l0aW9uKHNwZWVkKTsKCQl9IGVsc2UgaWYgKHNwZWVkID09PSB0cnVlKSB7CgkJCXN3aXBlci5zZXRUcmFuc2l0aW9uKHN3aXBlci5wYXJhbXMuc3BlZWQpOwoJCX0KCQkvLyBGaW5kIHNsaWRlcyBjdXJyZW50bHkgaW4gdmlldwoJCWlmIChzd2lwZXIucGFyYW1zLnNsaWRlc1BlclZpZXcgIT09ICdhdXRvJyAmJiBzd2lwZXIucGFyYW1zLnNsaWRlc1BlclZpZXcgPiAxKSB7CgkJCWZvciAoaSA9IDA7IGkgPCBNYXRoLmNlaWwoc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJWaWV3KTsgaSArPSAxKSB7CgkJCQl2YXIgaW5kZXggPSBzd2lwZXIuYWN0aXZlSW5kZXggKyBpOwoJCQkJaWYgKGluZGV4ID4gc3dpcGVyLnNsaWRlcy5sZW5ndGgpIHsgYnJlYWs7IH0KCQkJCWFjdGl2ZVNsaWRlcy5wdXNoKHN3aXBlci5zbGlkZXMuZXEoaW5kZXgpWzBdKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWFjdGl2ZVNsaWRlcy5wdXNoKHN3aXBlci5zbGlkZXMuZXEoc3dpcGVyLmFjdGl2ZUluZGV4KVswXSk7CgkJfQoKCQkvLyBGaW5kIG5ldyBoZWlnaHQgZnJvbSBoaWdoZXN0IHNsaWRlIGluIHZpZXcKCQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlU2xpZGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCWlmICh0eXBlb2YgYWN0aXZlU2xpZGVzW2ldICE9PSAndW5kZWZpbmVkJykgewoJCQkJdmFyIGhlaWdodCA9IGFjdGl2ZVNsaWRlc1tpXS5vZmZzZXRIZWlnaHQ7CgkJCQluZXdIZWlnaHQgPSBoZWlnaHQgPiBuZXdIZWlnaHQgPyBoZWlnaHQgOiBuZXdIZWlnaHQ7CgkJCX0KCQl9CgoJCS8vIFVwZGF0ZSBIZWlnaHQKCQlpZiAobmV3SGVpZ2h0KSB7IHN3aXBlci4kd3JhcHBlckVsLmNzcygnaGVpZ2h0JywgKG5ld0hlaWdodCArICJweCIpKTsgfQoJfQoKCWZ1bmN0aW9uIHVwZGF0ZVNsaWRlc09mZnNldCAoKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbGlkZXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJc2xpZGVzW2ldLnN3aXBlclNsaWRlT2Zmc2V0ID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gc2xpZGVzW2ldLm9mZnNldExlZnQgOiBzbGlkZXNbaV0ub2Zmc2V0VG9wOwoJCX0KCX0KCglmdW5jdGlvbiB1cGRhdGVTbGlkZXNQcm9ncmVzcyAodHJhbnNsYXRlKSB7CgkJaWYgKCB0cmFuc2xhdGUgPT09IHZvaWQgMCApIHRyYW5zbGF0ZSA9ICh0aGlzICYmIHRoaXMudHJhbnNsYXRlKSB8fCAwOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCgkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJdmFyIHJ0bCA9IHN3aXBlci5ydGxUcmFuc2xhdGU7CgoJCWlmIChzbGlkZXMubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCWlmICh0eXBlb2Ygc2xpZGVzWzBdLnN3aXBlclNsaWRlT2Zmc2V0ID09PSAndW5kZWZpbmVkJykgeyBzd2lwZXIudXBkYXRlU2xpZGVzT2Zmc2V0KCk7IH0KCgkJdmFyIG9mZnNldENlbnRlciA9IC10cmFuc2xhdGU7CgkJaWYgKHJ0bCkgeyBvZmZzZXRDZW50ZXIgPSB0cmFuc2xhdGU7IH0KCgkJLy8gVmlzaWJsZSBTbGlkZXMKCQlzbGlkZXMucmVtb3ZlQ2xhc3MocGFyYW1zLnNsaWRlVmlzaWJsZUNsYXNzKTsKCgkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbGlkZXMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIHNsaWRlID0gc2xpZGVzW2ldOwoJCQl2YXIgc2xpZGVQcm9ncmVzcyA9CgkJCQkoCgkJCQkJKG9mZnNldENlbnRlciArIChwYXJhbXMuY2VudGVyZWRTbGlkZXMgPyBzd2lwZXIubWluVHJhbnNsYXRlKCkgOiAwKSkgLSBzbGlkZS5zd2lwZXJTbGlkZU9mZnNldAoJCQkJKSAvIChzbGlkZS5zd2lwZXJTbGlkZVNpemUgKyBwYXJhbXMuc3BhY2VCZXR3ZWVuKTsKCQkJaWYgKHBhcmFtcy53YXRjaFNsaWRlc1Zpc2liaWxpdHkpIHsKCQkJCXZhciBzbGlkZUJlZm9yZSA9IC0ob2Zmc2V0Q2VudGVyIC0gc2xpZGUuc3dpcGVyU2xpZGVPZmZzZXQpOwoJCQkJdmFyIHNsaWRlQWZ0ZXIgPSBzbGlkZUJlZm9yZSArIHN3aXBlci5zbGlkZXNTaXplc0dyaWRbaV07CgkJCQl2YXIgaXNWaXNpYmxlID0KCQkJCQkoc2xpZGVCZWZvcmUgPj0gMCAmJiBzbGlkZUJlZm9yZSA8IHN3aXBlci5zaXplKSB8fAoJCQkJCShzbGlkZUFmdGVyID4gMCAmJiBzbGlkZUFmdGVyIDw9IHN3aXBlci5zaXplKSB8fAoJCQkJCShzbGlkZUJlZm9yZSA8PSAwICYmIHNsaWRlQWZ0ZXIgPj0gc3dpcGVyLnNpemUpOwoJCQkJaWYgKGlzVmlzaWJsZSkgewoJCQkJCXNsaWRlcy5lcShpKS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVWaXNpYmxlQ2xhc3MpOwoJCQkJfQoJCQl9CgkJCXNsaWRlLnByb2dyZXNzID0gcnRsID8gLXNsaWRlUHJvZ3Jlc3MgOiBzbGlkZVByb2dyZXNzOwoJCX0KCX0KCglmdW5jdGlvbiB1cGRhdGVQcm9ncmVzcyAodHJhbnNsYXRlKSB7CgkJaWYgKCB0cmFuc2xhdGUgPT09IHZvaWQgMCApIHRyYW5zbGF0ZSA9ICh0aGlzICYmIHRoaXMudHJhbnNsYXRlKSB8fCAwOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCgkJdmFyIHRyYW5zbGF0ZXNEaWZmID0gc3dpcGVyLm1heFRyYW5zbGF0ZSgpIC0gc3dpcGVyLm1pblRyYW5zbGF0ZSgpOwoJCXZhciBwcm9ncmVzcyA9IHN3aXBlci5wcm9ncmVzczsKCQl2YXIgaXNCZWdpbm5pbmcgPSBzd2lwZXIuaXNCZWdpbm5pbmc7CgkJdmFyIGlzRW5kID0gc3dpcGVyLmlzRW5kOwoJCXZhciB3YXNCZWdpbm5pbmcgPSBpc0JlZ2lubmluZzsKCQl2YXIgd2FzRW5kID0gaXNFbmQ7CgkJaWYgKHRyYW5zbGF0ZXNEaWZmID09PSAwKSB7CgkJCXByb2dyZXNzID0gMDsKCQkJaXNCZWdpbm5pbmcgPSB0cnVlOwoJCQlpc0VuZCA9IHRydWU7CgkJfSBlbHNlIHsKCQkJcHJvZ3Jlc3MgPSAodHJhbnNsYXRlIC0gc3dpcGVyLm1pblRyYW5zbGF0ZSgpKSAvICh0cmFuc2xhdGVzRGlmZik7CgkJCWlzQmVnaW5uaW5nID0gcHJvZ3Jlc3MgPD0gMDsKCQkJaXNFbmQgPSBwcm9ncmVzcyA+PSAxOwoJCX0KCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCXByb2dyZXNzOiBwcm9ncmVzcywKCQkJaXNCZWdpbm5pbmc6IGlzQmVnaW5uaW5nLAoJCQlpc0VuZDogaXNFbmQsCgkJfSk7CgoJCWlmIChwYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcyB8fCBwYXJhbXMud2F0Y2hTbGlkZXNWaXNpYmlsaXR5KSB7IHN3aXBlci51cGRhdGVTbGlkZXNQcm9ncmVzcyh0cmFuc2xhdGUpOyB9CgoJCWlmIChpc0JlZ2lubmluZyAmJiAhd2FzQmVnaW5uaW5nKSB7CgkJCXN3aXBlci5lbWl0KCdyZWFjaEJlZ2lubmluZyB0b0VkZ2UnKTsKCQl9CgkJaWYgKGlzRW5kICYmICF3YXNFbmQpIHsKCQkJc3dpcGVyLmVtaXQoJ3JlYWNoRW5kIHRvRWRnZScpOwoJCX0KCQlpZiAoKHdhc0JlZ2lubmluZyAmJiAhaXNCZWdpbm5pbmcpIHx8ICh3YXNFbmQgJiYgIWlzRW5kKSkgewoJCQlzd2lwZXIuZW1pdCgnZnJvbUVkZ2UnKTsKCQl9CgoJCXN3aXBlci5lbWl0KCdwcm9ncmVzcycsIHByb2dyZXNzKTsKCX0KCglmdW5jdGlvbiB1cGRhdGVTbGlkZXNDbGFzc2VzICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCgkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyICR3cmFwcGVyRWwgPSBzd2lwZXIuJHdyYXBwZXJFbDsKCQl2YXIgYWN0aXZlSW5kZXggPSBzd2lwZXIuYWN0aXZlSW5kZXg7CgkJdmFyIHJlYWxJbmRleCA9IHN3aXBlci5yZWFsSW5kZXg7CgkJdmFyIGlzVmlydHVhbCA9IHN3aXBlci52aXJ0dWFsICYmIHBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ7CgoJCXNsaWRlcy5yZW1vdmVDbGFzcygoKHBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKSArICIgIiArIChwYXJhbXMuc2xpZGVOZXh0Q2xhc3MpICsgIiAiICsgKHBhcmFtcy5zbGlkZVByZXZDbGFzcykgKyAiICIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MpICsgIiAiICsgKHBhcmFtcy5zbGlkZUR1cGxpY2F0ZU5leHRDbGFzcykgKyAiICIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKSkpOwoKCQl2YXIgYWN0aXZlU2xpZGU7CgkJaWYgKGlzVmlydHVhbCkgewoJCQlhY3RpdmVTbGlkZSA9IHN3aXBlci4kd3JhcHBlckVsLmZpbmQoKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykgKyAiW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiIiArIGFjdGl2ZUluZGV4ICsgIlwiXSIpKTsKCQl9IGVsc2UgewoJCQlhY3RpdmVTbGlkZSA9IHNsaWRlcy5lcShhY3RpdmVJbmRleCk7CgkJfQoKCQkvLyBBY3RpdmUgY2xhc3NlcwoJCWFjdGl2ZVNsaWRlLmFkZENsYXNzKHBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKTsKCgkJaWYgKHBhcmFtcy5sb29wKSB7CgkJCS8vIER1cGxpY2F0ZSB0byBhbGwgbG9vcGVkIHNsaWRlcwoJCQlpZiAoYWN0aXZlU2xpZGUuaGFzQ2xhc3MocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSB7CgkJCQkkd3JhcHBlckVsCgkJCQkJLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpICsgIjpub3QoLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIilbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgcmVhbEluZGV4ICsgIlwiXSIpKQoJCQkJCS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVEdXBsaWNhdGVBY3RpdmVDbGFzcyk7CgkJCX0gZWxzZSB7CgkJCQkkd3JhcHBlckVsCgkJCQkJLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpICsgIi4iICsgKHBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSArICJbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgcmVhbEluZGV4ICsgIlwiXSIpKQoJCQkJCS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVEdXBsaWNhdGVBY3RpdmVDbGFzcyk7CgkJCX0KCQl9CgkJLy8gTmV4dCBTbGlkZQoJCXZhciBuZXh0U2xpZGUgPSBhY3RpdmVTbGlkZS5uZXh0QWxsKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpKSkuZXEoMCkuYWRkQ2xhc3MocGFyYW1zLnNsaWRlTmV4dENsYXNzKTsKCQlpZiAocGFyYW1zLmxvb3AgJiYgbmV4dFNsaWRlLmxlbmd0aCA9PT0gMCkgewoJCQluZXh0U2xpZGUgPSBzbGlkZXMuZXEoMCk7CgkJCW5leHRTbGlkZS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVOZXh0Q2xhc3MpOwoJCX0KCQkvLyBQcmV2IFNsaWRlCgkJdmFyIHByZXZTbGlkZSA9IGFjdGl2ZVNsaWRlLnByZXZBbGwoKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykpKS5lcSgwKS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVQcmV2Q2xhc3MpOwoJCWlmIChwYXJhbXMubG9vcCAmJiBwcmV2U2xpZGUubGVuZ3RoID09PSAwKSB7CgkJCXByZXZTbGlkZSA9IHNsaWRlcy5lcSgtMSk7CgkJCXByZXZTbGlkZS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVQcmV2Q2xhc3MpOwoJCX0KCQlpZiAocGFyYW1zLmxvb3ApIHsKCQkJLy8gRHVwbGljYXRlIHRvIGFsbCBsb29wZWQgc2xpZGVzCgkJCWlmIChuZXh0U2xpZGUuaGFzQ2xhc3MocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSB7CgkJCQkkd3JhcHBlckVsCgkJCQkJLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpICsgIjpub3QoLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIilbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgKG5leHRTbGlkZS5hdHRyKCdkYXRhLXN3aXBlci1zbGlkZS1pbmRleCcpKSArICJcIl0iKSkKCQkJCQkuYWRkQ2xhc3MocGFyYW1zLnNsaWRlRHVwbGljYXRlTmV4dENsYXNzKTsKCQkJfSBlbHNlIHsKCQkJCSR3cmFwcGVyRWwKCQkJCQkuY2hpbGRyZW4oKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykgKyAiLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIltkYXRhLXN3aXBlci1zbGlkZS1pbmRleD1cIiIgKyAobmV4dFNsaWRlLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JykpICsgIlwiXSIpKQoJCQkJCS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MpOwoJCQl9CgkJCWlmIChwcmV2U2xpZGUuaGFzQ2xhc3MocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSB7CgkJCQkkd3JhcHBlckVsCgkJCQkJLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpICsgIjpub3QoLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIilbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgKHByZXZTbGlkZS5hdHRyKCdkYXRhLXN3aXBlci1zbGlkZS1pbmRleCcpKSArICJcIl0iKSkKCQkJCQkuYWRkQ2xhc3MocGFyYW1zLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKTsKCQkJfSBlbHNlIHsKCQkJCSR3cmFwcGVyRWwKCQkJCQkuY2hpbGRyZW4oKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykgKyAiLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIltkYXRhLXN3aXBlci1zbGlkZS1pbmRleD1cIiIgKyAocHJldlNsaWRlLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JykpICsgIlwiXSIpKQoJCQkJCS5hZGRDbGFzcyhwYXJhbXMuc2xpZGVEdXBsaWNhdGVQcmV2Q2xhc3MpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIHVwZGF0ZUFjdGl2ZUluZGV4IChuZXdBY3RpdmVJbmRleCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciB0cmFuc2xhdGUgPSBzd2lwZXIucnRsVHJhbnNsYXRlID8gc3dpcGVyLnRyYW5zbGF0ZSA6IC1zd2lwZXIudHJhbnNsYXRlOwoJCXZhciBzbGlkZXNHcmlkID0gc3dpcGVyLnNsaWRlc0dyaWQ7CgkJdmFyIHNuYXBHcmlkID0gc3dpcGVyLnNuYXBHcmlkOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciBwcmV2aW91c0luZGV4ID0gc3dpcGVyLmFjdGl2ZUluZGV4OwoJCXZhciBwcmV2aW91c1JlYWxJbmRleCA9IHN3aXBlci5yZWFsSW5kZXg7CgkJdmFyIHByZXZpb3VzU25hcEluZGV4ID0gc3dpcGVyLnNuYXBJbmRleDsKCQl2YXIgYWN0aXZlSW5kZXggPSBuZXdBY3RpdmVJbmRleDsKCQl2YXIgc25hcEluZGV4OwoJCWlmICh0eXBlb2YgYWN0aXZlSW5kZXggPT09ICd1bmRlZmluZWQnKSB7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2xpZGVzR3JpZC5sZW5ndGg7IGkgKz0gMSkgewoJCQkJaWYgKHR5cGVvZiBzbGlkZXNHcmlkW2kgKyAxXSAhPT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQlpZiAodHJhbnNsYXRlID49IHNsaWRlc0dyaWRbaV0gJiYgdHJhbnNsYXRlIDwgc2xpZGVzR3JpZFtpICsgMV0gLSAoKHNsaWRlc0dyaWRbaSArIDFdIC0gc2xpZGVzR3JpZFtpXSkgLyAyKSkgewoJCQkJCQlhY3RpdmVJbmRleCA9IGk7CgkJCQkJfSBlbHNlIGlmICh0cmFuc2xhdGUgPj0gc2xpZGVzR3JpZFtpXSAmJiB0cmFuc2xhdGUgPCBzbGlkZXNHcmlkW2kgKyAxXSkgewoJCQkJCQlhY3RpdmVJbmRleCA9IGkgKyAxOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAodHJhbnNsYXRlID49IHNsaWRlc0dyaWRbaV0pIHsKCQkJCQlhY3RpdmVJbmRleCA9IGk7CgkJCQl9CgkJCX0KCQkJLy8gTm9ybWFsaXplIHNsaWRlSW5kZXgKCQkJaWYgKHBhcmFtcy5ub3JtYWxpemVTbGlkZUluZGV4KSB7CgkJCQlpZiAoYWN0aXZlSW5kZXggPCAwIHx8IHR5cGVvZiBhY3RpdmVJbmRleCA9PT0gJ3VuZGVmaW5lZCcpIHsgYWN0aXZlSW5kZXggPSAwOyB9CgkJCX0KCQl9CgkJaWYgKHNuYXBHcmlkLmluZGV4T2YodHJhbnNsYXRlKSA+PSAwKSB7CgkJCXNuYXBJbmRleCA9IHNuYXBHcmlkLmluZGV4T2YodHJhbnNsYXRlKTsKCQl9IGVsc2UgewoJCQlzbmFwSW5kZXggPSBNYXRoLmZsb29yKGFjdGl2ZUluZGV4IC8gcGFyYW1zLnNsaWRlc1Blckdyb3VwKTsKCQl9CgkJaWYgKHNuYXBJbmRleCA+PSBzbmFwR3JpZC5sZW5ndGgpIHsgc25hcEluZGV4ID0gc25hcEdyaWQubGVuZ3RoIC0gMTsgfQoJCWlmIChhY3RpdmVJbmRleCA9PT0gcHJldmlvdXNJbmRleCkgewoJCQlpZiAoc25hcEluZGV4ICE9PSBwcmV2aW91c1NuYXBJbmRleCkgewoJCQkJc3dpcGVyLnNuYXBJbmRleCA9IHNuYXBJbmRleDsKCQkJCXN3aXBlci5lbWl0KCdzbmFwSW5kZXhDaGFuZ2UnKTsKCQkJfQoJCQlyZXR1cm47CgkJfQoKCQkvLyBHZXQgcmVhbCBpbmRleAoJCXZhciByZWFsSW5kZXggPSBwYXJzZUludChzd2lwZXIuc2xpZGVzLmVxKGFjdGl2ZUluZGV4KS5hdHRyKCdkYXRhLXN3aXBlci1zbGlkZS1pbmRleCcpIHx8IGFjdGl2ZUluZGV4LCAxMCk7CgoJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJc25hcEluZGV4OiBzbmFwSW5kZXgsCgkJCXJlYWxJbmRleDogcmVhbEluZGV4LAoJCQlwcmV2aW91c0luZGV4OiBwcmV2aW91c0luZGV4LAoJCQlhY3RpdmVJbmRleDogYWN0aXZlSW5kZXgsCgkJfSk7CgkJc3dpcGVyLmVtaXQoJ2FjdGl2ZUluZGV4Q2hhbmdlJyk7CgkJc3dpcGVyLmVtaXQoJ3NuYXBJbmRleENoYW5nZScpOwoJCWlmIChwcmV2aW91c1JlYWxJbmRleCAhPT0gcmVhbEluZGV4KSB7CgkJCXN3aXBlci5lbWl0KCdyZWFsSW5kZXhDaGFuZ2UnKTsKCQl9CgkJc3dpcGVyLmVtaXQoJ3NsaWRlQ2hhbmdlJyk7Cgl9CgoJZnVuY3Rpb24gdXBkYXRlQ2xpY2tlZFNsaWRlIChlKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyIHNsaWRlID0gJChlLnRhcmdldCkuY2xvc2VzdCgoIi4iICsgKHBhcmFtcy5zbGlkZUNsYXNzKSkpWzBdOwoJCXZhciBzbGlkZUZvdW5kID0gZmFsc2U7CgkJaWYgKHNsaWRlKSB7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc3dpcGVyLnNsaWRlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJaWYgKHN3aXBlci5zbGlkZXNbaV0gPT09IHNsaWRlKSB7IHNsaWRlRm91bmQgPSB0cnVlOyB9CgkJCX0KCQl9CgoJCWlmIChzbGlkZSAmJiBzbGlkZUZvdW5kKSB7CgkJCXN3aXBlci5jbGlja2VkU2xpZGUgPSBzbGlkZTsKCQkJaWYgKHN3aXBlci52aXJ0dWFsICYmIHN3aXBlci5wYXJhbXMudmlydHVhbC5lbmFibGVkKSB7CgkJCQlzd2lwZXIuY2xpY2tlZEluZGV4ID0gcGFyc2VJbnQoJChzbGlkZSkuYXR0cignZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgnKSwgMTApOwoJCQl9IGVsc2UgewoJCQkJc3dpcGVyLmNsaWNrZWRJbmRleCA9ICQoc2xpZGUpLmluZGV4KCk7CgkJCX0KCQl9IGVsc2UgewoJCQlzd2lwZXIuY2xpY2tlZFNsaWRlID0gdW5kZWZpbmVkOwoJCQlzd2lwZXIuY2xpY2tlZEluZGV4ID0gdW5kZWZpbmVkOwoJCQlyZXR1cm47CgkJfQoJCWlmIChwYXJhbXMuc2xpZGVUb0NsaWNrZWRTbGlkZSAmJiBzd2lwZXIuY2xpY2tlZEluZGV4ICE9PSB1bmRlZmluZWQgJiYgc3dpcGVyLmNsaWNrZWRJbmRleCAhPT0gc3dpcGVyLmFjdGl2ZUluZGV4KSB7CgkJCXN3aXBlci5zbGlkZVRvQ2xpY2tlZFNsaWRlKCk7CgkJfQoJfQoKCXZhciB1cGRhdGUgPSB7CgkJdXBkYXRlU2l6ZTogdXBkYXRlU2l6ZSwKCQl1cGRhdGVTbGlkZXM6IHVwZGF0ZVNsaWRlcywKCQl1cGRhdGVBdXRvSGVpZ2h0OiB1cGRhdGVBdXRvSGVpZ2h0LAoJCXVwZGF0ZVNsaWRlc09mZnNldDogdXBkYXRlU2xpZGVzT2Zmc2V0LAoJCXVwZGF0ZVNsaWRlc1Byb2dyZXNzOiB1cGRhdGVTbGlkZXNQcm9ncmVzcywKCQl1cGRhdGVQcm9ncmVzczogdXBkYXRlUHJvZ3Jlc3MsCgkJdXBkYXRlU2xpZGVzQ2xhc3NlczogdXBkYXRlU2xpZGVzQ2xhc3NlcywKCQl1cGRhdGVBY3RpdmVJbmRleDogdXBkYXRlQWN0aXZlSW5kZXgsCgkJdXBkYXRlQ2xpY2tlZFNsaWRlOiB1cGRhdGVDbGlja2VkU2xpZGUsCgl9OwoKCWZ1bmN0aW9uIGdldFRyYW5zbGF0ZSAoYXhpcykgewoJCWlmICggYXhpcyA9PT0gdm9pZCAwICkgYXhpcyA9IHRoaXMuaXNIb3Jpem9udGFsKCkgPyAneCcgOiAneSc7CgoJCXZhciBzd2lwZXIgPSB0aGlzOwoKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQl2YXIgdHJhbnNsYXRlID0gc3dpcGVyLnRyYW5zbGF0ZTsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoKCQlpZiAocGFyYW1zLnZpcnR1YWxUcmFuc2xhdGUpIHsKCQkJcmV0dXJuIHJ0bCA/IC10cmFuc2xhdGUgOiB0cmFuc2xhdGU7CgkJfQoKCQl2YXIgY3VycmVudFRyYW5zbGF0ZSA9IFV0aWxzLmdldFRyYW5zbGF0ZSgkd3JhcHBlckVsWzBdLCBheGlzKTsKCQlpZiAocnRsKSB7IGN1cnJlbnRUcmFuc2xhdGUgPSAtY3VycmVudFRyYW5zbGF0ZTsgfQoKCQlyZXR1cm4gY3VycmVudFRyYW5zbGF0ZSB8fCAwOwoJfQoKCWZ1bmN0aW9uIHNldFRyYW5zbGF0ZSAodHJhbnNsYXRlLCBieUNvbnRyb2xsZXIpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCXZhciBwcm9ncmVzcyA9IHN3aXBlci5wcm9ncmVzczsKCQl2YXIgeCA9IDA7CgkJdmFyIHkgPSAwOwoJCXZhciB6ID0gMDsKCgkJaWYgKHN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQl4ID0gcnRsID8gLXRyYW5zbGF0ZSA6IHRyYW5zbGF0ZTsKCQl9IGVsc2UgewoJCQl5ID0gdHJhbnNsYXRlOwoJCX0KCgkJaWYgKHBhcmFtcy5yb3VuZExlbmd0aHMpIHsKCQkJeCA9IE1hdGguZmxvb3IoeCk7CgkJCXkgPSBNYXRoLmZsb29yKHkpOwoJCX0KCgkJaWYgKCFwYXJhbXMudmlydHVhbFRyYW5zbGF0ZSkgewoJCQlpZiAoU3VwcG9ydC50cmFuc2Zvcm1zM2QpIHsgJHdyYXBwZXJFbC50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUzZCgiICsgeCArICJweCwgIiArIHkgKyAicHgsICIgKyB6ICsgInB4KSIpKTsgfQoJCQllbHNlIHsgJHdyYXBwZXJFbC50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUoIiArIHggKyAicHgsICIgKyB5ICsgInB4KSIpKTsgfQoJCX0KCgkJc3dpcGVyLnRyYW5zbGF0ZSA9IHN3aXBlci5pc0hvcml6b250YWwoKSA/IHggOiB5OwoKCQkvLyBDaGVjayBpZiB3ZSBuZWVkIHRvIHVwZGF0ZSBwcm9ncmVzcwoJCXZhciBuZXdQcm9ncmVzczsKCQl2YXIgdHJhbnNsYXRlc0RpZmYgPSBzd2lwZXIubWF4VHJhbnNsYXRlKCkgLSBzd2lwZXIubWluVHJhbnNsYXRlKCk7CgkJaWYgKHRyYW5zbGF0ZXNEaWZmID09PSAwKSB7CgkJCW5ld1Byb2dyZXNzID0gMDsKCQl9IGVsc2UgewoJCQluZXdQcm9ncmVzcyA9ICh0cmFuc2xhdGUgLSBzd2lwZXIubWluVHJhbnNsYXRlKCkpIC8gKHRyYW5zbGF0ZXNEaWZmKTsKCQl9CgkJaWYgKG5ld1Byb2dyZXNzICE9PSBwcm9ncmVzcykgewoJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3ModHJhbnNsYXRlKTsKCQl9CgoJCXN3aXBlci5lbWl0KCdzZXRUcmFuc2xhdGUnLCBzd2lwZXIudHJhbnNsYXRlLCBieUNvbnRyb2xsZXIpOwoJfQoKCWZ1bmN0aW9uIG1pblRyYW5zbGF0ZSAoKSB7CgkJcmV0dXJuICgtdGhpcy5zbmFwR3JpZFswXSk7Cgl9CgoJZnVuY3Rpb24gbWF4VHJhbnNsYXRlICgpIHsKCQlyZXR1cm4gKC10aGlzLnNuYXBHcmlkW3RoaXMuc25hcEdyaWQubGVuZ3RoIC0gMV0pOwoJfQoKCXZhciB0cmFuc2xhdGUgPSB7CgkJZ2V0VHJhbnNsYXRlOiBnZXRUcmFuc2xhdGUsCgkJc2V0VHJhbnNsYXRlOiBzZXRUcmFuc2xhdGUsCgkJbWluVHJhbnNsYXRlOiBtaW5UcmFuc2xhdGUsCgkJbWF4VHJhbnNsYXRlOiBtYXhUcmFuc2xhdGUsCgl9OwoKCWZ1bmN0aW9uIHNldFRyYW5zaXRpb24gKGR1cmF0aW9uLCBieUNvbnRyb2xsZXIpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCgkJc3dpcGVyLiR3cmFwcGVyRWwudHJhbnNpdGlvbihkdXJhdGlvbik7CgoJCXN3aXBlci5lbWl0KCdzZXRUcmFuc2l0aW9uJywgZHVyYXRpb24sIGJ5Q29udHJvbGxlcik7Cgl9CgoJZnVuY3Rpb24gdHJhbnNpdGlvblN0YXJ0IChydW5DYWxsYmFja3MsIGRpcmVjdGlvbikgewoJCWlmICggcnVuQ2FsbGJhY2tzID09PSB2b2lkIDAgKSBydW5DYWxsYmFja3MgPSB0cnVlOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgYWN0aXZlSW5kZXggPSBzd2lwZXIuYWN0aXZlSW5kZXg7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyIHByZXZpb3VzSW5kZXggPSBzd2lwZXIucHJldmlvdXNJbmRleDsKCQlpZiAocGFyYW1zLmF1dG9IZWlnaHQpIHsKCQkJc3dpcGVyLnVwZGF0ZUF1dG9IZWlnaHQoKTsKCQl9CgoJCXZhciBkaXIgPSBkaXJlY3Rpb247CgkJaWYgKCFkaXIpIHsKCQkJaWYgKGFjdGl2ZUluZGV4ID4gcHJldmlvdXNJbmRleCkgeyBkaXIgPSAnbmV4dCc7IH0KCQkJZWxzZSBpZiAoYWN0aXZlSW5kZXggPCBwcmV2aW91c0luZGV4KSB7IGRpciA9ICdwcmV2JzsgfQoJCQllbHNlIHsgZGlyID0gJ3Jlc2V0JzsgfQoJCX0KCgkJc3dpcGVyLmVtaXQoJ3RyYW5zaXRpb25TdGFydCcpOwoKCQlpZiAocnVuQ2FsbGJhY2tzICYmIGFjdGl2ZUluZGV4ICE9PSBwcmV2aW91c0luZGV4KSB7CgkJCWlmIChkaXIgPT09ICdyZXNldCcpIHsKCQkJCXN3aXBlci5lbWl0KCdzbGlkZVJlc2V0VHJhbnNpdGlvblN0YXJ0Jyk7CgkJCQlyZXR1cm47CgkJCX0KCQkJc3dpcGVyLmVtaXQoJ3NsaWRlQ2hhbmdlVHJhbnNpdGlvblN0YXJ0Jyk7CgkJCWlmIChkaXIgPT09ICduZXh0JykgewoJCQkJc3dpcGVyLmVtaXQoJ3NsaWRlTmV4dFRyYW5zaXRpb25TdGFydCcpOwoJCQl9IGVsc2UgewoJCQkJc3dpcGVyLmVtaXQoJ3NsaWRlUHJldlRyYW5zaXRpb25TdGFydCcpOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIHRyYW5zaXRpb25FbmQkMSAocnVuQ2FsbGJhY2tzLCBkaXJlY3Rpb24pIHsKCQlpZiAoIHJ1bkNhbGxiYWNrcyA9PT0gdm9pZCAwICkgcnVuQ2FsbGJhY2tzID0gdHJ1ZTsKCgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIGFjdGl2ZUluZGV4ID0gc3dpcGVyLmFjdGl2ZUluZGV4OwoJCXZhciBwcmV2aW91c0luZGV4ID0gc3dpcGVyLnByZXZpb3VzSW5kZXg7CgkJc3dpcGVyLmFuaW1hdGluZyA9IGZhbHNlOwoJCXN3aXBlci5zZXRUcmFuc2l0aW9uKDApOwoKCQl2YXIgZGlyID0gZGlyZWN0aW9uOwoJCWlmICghZGlyKSB7CgkJCWlmIChhY3RpdmVJbmRleCA+IHByZXZpb3VzSW5kZXgpIHsgZGlyID0gJ25leHQnOyB9CgkJCWVsc2UgaWYgKGFjdGl2ZUluZGV4IDwgcHJldmlvdXNJbmRleCkgeyBkaXIgPSAncHJldic7IH0KCQkJZWxzZSB7IGRpciA9ICdyZXNldCc7IH0KCQl9CgoJCXN3aXBlci5lbWl0KCd0cmFuc2l0aW9uRW5kJyk7CgoJCWlmIChydW5DYWxsYmFja3MgJiYgYWN0aXZlSW5kZXggIT09IHByZXZpb3VzSW5kZXgpIHsKCQkJaWYgKGRpciA9PT0gJ3Jlc2V0JykgewoJCQkJc3dpcGVyLmVtaXQoJ3NsaWRlUmVzZXRUcmFuc2l0aW9uRW5kJyk7CgkJCQlyZXR1cm47CgkJCX0KCQkJc3dpcGVyLmVtaXQoJ3NsaWRlQ2hhbmdlVHJhbnNpdGlvbkVuZCcpOwoJCQlpZiAoZGlyID09PSAnbmV4dCcpIHsKCQkJCXN3aXBlci5lbWl0KCdzbGlkZU5leHRUcmFuc2l0aW9uRW5kJyk7CgkJCX0gZWxzZSB7CgkJCQlzd2lwZXIuZW1pdCgnc2xpZGVQcmV2VHJhbnNpdGlvbkVuZCcpOwoJCQl9CgkJfQoJfQoKCXZhciB0cmFuc2l0aW9uJDEgPSB7CgkJc2V0VHJhbnNpdGlvbjogc2V0VHJhbnNpdGlvbiwKCQl0cmFuc2l0aW9uU3RhcnQ6IHRyYW5zaXRpb25TdGFydCwKCQl0cmFuc2l0aW9uRW5kOiB0cmFuc2l0aW9uRW5kJDEsCgl9OwoKCWZ1bmN0aW9uIHNsaWRlVG8gKGluZGV4LCBzcGVlZCwgcnVuQ2FsbGJhY2tzLCBpbnRlcm5hbCkgewoJCWlmICggaW5kZXggPT09IHZvaWQgMCApIGluZGV4ID0gMDsKCQlpZiAoIHNwZWVkID09PSB2b2lkIDAgKSBzcGVlZCA9IHRoaXMucGFyYW1zLnNwZWVkOwoJCWlmICggcnVuQ2FsbGJhY2tzID09PSB2b2lkIDAgKSBydW5DYWxsYmFja3MgPSB0cnVlOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgc2xpZGVJbmRleCA9IGluZGV4OwoJCWlmIChzbGlkZUluZGV4IDwgMCkgeyBzbGlkZUluZGV4ID0gMDsgfQoKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgc25hcEdyaWQgPSBzd2lwZXIuc25hcEdyaWQ7CgkJdmFyIHNsaWRlc0dyaWQgPSBzd2lwZXIuc2xpZGVzR3JpZDsKCQl2YXIgcHJldmlvdXNJbmRleCA9IHN3aXBlci5wcmV2aW91c0luZGV4OwoJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQlpZiAoc3dpcGVyLmFuaW1hdGluZyAmJiBwYXJhbXMucHJldmVudEludGVyY2F0aW9uT25UcmFuc2l0aW9uKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXZhciBzbmFwSW5kZXggPSBNYXRoLmZsb29yKHNsaWRlSW5kZXggLyBwYXJhbXMuc2xpZGVzUGVyR3JvdXApOwoJCWlmIChzbmFwSW5kZXggPj0gc25hcEdyaWQubGVuZ3RoKSB7IHNuYXBJbmRleCA9IHNuYXBHcmlkLmxlbmd0aCAtIDE7IH0KCgkJaWYgKChhY3RpdmVJbmRleCB8fCBwYXJhbXMuaW5pdGlhbFNsaWRlIHx8IDApID09PSAocHJldmlvdXNJbmRleCB8fCAwKSAmJiBydW5DYWxsYmFja3MpIHsKCQkJc3dpcGVyLmVtaXQoJ2JlZm9yZVNsaWRlQ2hhbmdlU3RhcnQnKTsKCQl9CgoJCXZhciB0cmFuc2xhdGUgPSAtc25hcEdyaWRbc25hcEluZGV4XTsKCgkJLy8gVXBkYXRlIHByb2dyZXNzCgkJc3dpcGVyLnVwZGF0ZVByb2dyZXNzKHRyYW5zbGF0ZSk7CgoJCS8vIE5vcm1hbGl6ZSBzbGlkZUluZGV4CgkJaWYgKHBhcmFtcy5ub3JtYWxpemVTbGlkZUluZGV4KSB7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2xpZGVzR3JpZC5sZW5ndGg7IGkgKz0gMSkgewoJCQkJaWYgKC1NYXRoLmZsb29yKHRyYW5zbGF0ZSAqIDEwMCkgPj0gTWF0aC5mbG9vcihzbGlkZXNHcmlkW2ldICogMTAwKSkgewoJCQkJCXNsaWRlSW5kZXggPSBpOwoJCQkJfQoJCQl9CgkJfQoJCS8vIERpcmVjdGlvbnMgbG9ja3MKCQlpZiAoc3dpcGVyLmluaXRpYWxpemVkICYmIHNsaWRlSW5kZXggIT09IGFjdGl2ZUluZGV4KSB7CgkJCWlmICghc3dpcGVyLmFsbG93U2xpZGVOZXh0ICYmIHRyYW5zbGF0ZSA8IHN3aXBlci50cmFuc2xhdGUgJiYgdHJhbnNsYXRlIDwgc3dpcGVyLm1pblRyYW5zbGF0ZSgpKSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJaWYgKCFzd2lwZXIuYWxsb3dTbGlkZVByZXYgJiYgdHJhbnNsYXRlID4gc3dpcGVyLnRyYW5zbGF0ZSAmJiB0cmFuc2xhdGUgPiBzd2lwZXIubWF4VHJhbnNsYXRlKCkpIHsKCQkJCWlmICgoYWN0aXZlSW5kZXggfHwgMCkgIT09IHNsaWRlSW5kZXgpIHsgcmV0dXJuIGZhbHNlOyB9CgkJCX0KCQl9CgoJCXZhciBkaXJlY3Rpb247CgkJaWYgKHNsaWRlSW5kZXggPiBhY3RpdmVJbmRleCkgeyBkaXJlY3Rpb24gPSAnbmV4dCc7IH0KCQllbHNlIGlmIChzbGlkZUluZGV4IDwgYWN0aXZlSW5kZXgpIHsgZGlyZWN0aW9uID0gJ3ByZXYnOyB9CgkJZWxzZSB7IGRpcmVjdGlvbiA9ICdyZXNldCc7IH0KCgoJCS8vIFVwZGF0ZSBJbmRleAoJCWlmICgocnRsICYmIC10cmFuc2xhdGUgPT09IHN3aXBlci50cmFuc2xhdGUpIHx8ICghcnRsICYmIHRyYW5zbGF0ZSA9PT0gc3dpcGVyLnRyYW5zbGF0ZSkpIHsKCQkJc3dpcGVyLnVwZGF0ZUFjdGl2ZUluZGV4KHNsaWRlSW5kZXgpOwoJCQkvLyBVcGRhdGUgSGVpZ2h0CgkJCWlmIChwYXJhbXMuYXV0b0hlaWdodCkgewoJCQkJc3dpcGVyLnVwZGF0ZUF1dG9IZWlnaHQoKTsKCQkJfQoJCQlzd2lwZXIudXBkYXRlU2xpZGVzQ2xhc3NlcygpOwoJCQlpZiAocGFyYW1zLmVmZmVjdCAhPT0gJ3NsaWRlJykgewoJCQkJc3dpcGVyLnNldFRyYW5zbGF0ZSh0cmFuc2xhdGUpOwoJCQl9CgkJCWlmIChkaXJlY3Rpb24gIT09ICdyZXNldCcpIHsKCQkJCXN3aXBlci50cmFuc2l0aW9uU3RhcnQocnVuQ2FsbGJhY2tzLCBkaXJlY3Rpb24pOwoJCQkJc3dpcGVyLnRyYW5zaXRpb25FbmQocnVuQ2FsbGJhY2tzLCBkaXJlY3Rpb24pOwoJCQl9CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmIChzcGVlZCA9PT0gMCB8fCAhU3VwcG9ydC50cmFuc2l0aW9uKSB7CgkJCXN3aXBlci5zZXRUcmFuc2l0aW9uKDApOwoJCQlzd2lwZXIuc2V0VHJhbnNsYXRlKHRyYW5zbGF0ZSk7CgkJCXN3aXBlci51cGRhdGVBY3RpdmVJbmRleChzbGlkZUluZGV4KTsKCQkJc3dpcGVyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCQkJc3dpcGVyLmVtaXQoJ2JlZm9yZVRyYW5zaXRpb25TdGFydCcsIHNwZWVkLCBpbnRlcm5hbCk7CgkJCXN3aXBlci50cmFuc2l0aW9uU3RhcnQocnVuQ2FsbGJhY2tzLCBkaXJlY3Rpb24pOwoJCQlzd2lwZXIudHJhbnNpdGlvbkVuZChydW5DYWxsYmFja3MsIGRpcmVjdGlvbik7CgkJfSBlbHNlIHsKCQkJc3dpcGVyLnNldFRyYW5zaXRpb24oc3BlZWQpOwoJCQlzd2lwZXIuc2V0VHJhbnNsYXRlKHRyYW5zbGF0ZSk7CgkJCXN3aXBlci51cGRhdGVBY3RpdmVJbmRleChzbGlkZUluZGV4KTsKCQkJc3dpcGVyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCQkJc3dpcGVyLmVtaXQoJ2JlZm9yZVRyYW5zaXRpb25TdGFydCcsIHNwZWVkLCBpbnRlcm5hbCk7CgkJCXN3aXBlci50cmFuc2l0aW9uU3RhcnQocnVuQ2FsbGJhY2tzLCBkaXJlY3Rpb24pOwoJCQlpZiAoIXN3aXBlci5hbmltYXRpbmcpIHsKCQkJCXN3aXBlci5hbmltYXRpbmcgPSB0cnVlOwoJCQkJaWYgKCFzd2lwZXIub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpIHsKCQkJCQlzd2lwZXIub25TbGlkZVRvV3JhcHBlclRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbiB0cmFuc2l0aW9uRW5kKGUpIHsKCQkJCQkJaWYgKCFzd2lwZXIgfHwgc3dpcGVyLmRlc3Ryb3llZCkgeyByZXR1cm47IH0KCQkJCQkJaWYgKGUudGFyZ2V0ICE9PSB0aGlzKSB7IHJldHVybjsgfQoJCQkJCQlzd2lwZXIuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgc3dpcGVyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKTsKCQkJCQkJc3dpcGVyLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0VHJhbnNpdGlvbkVuZCcsIHN3aXBlci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCk7CgkJCQkJCXN3aXBlci50cmFuc2l0aW9uRW5kKHJ1bkNhbGxiYWNrcywgZGlyZWN0aW9uKTsKCQkJCQl9OwoJCQkJfQoJCQkJc3dpcGVyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIHN3aXBlci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCk7CgkJCQlzd2lwZXIuJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCd3ZWJraXRUcmFuc2l0aW9uRW5kJywgc3dpcGVyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgoJZnVuY3Rpb24gc2xpZGVUb0xvb3AgKGluZGV4LCBzcGVlZCwgcnVuQ2FsbGJhY2tzLCBpbnRlcm5hbCkgewoJCWlmICggaW5kZXggPT09IHZvaWQgMCApIGluZGV4ID0gMDsKCQlpZiAoIHNwZWVkID09PSB2b2lkIDAgKSBzcGVlZCA9IHRoaXMucGFyYW1zLnNwZWVkOwoJCWlmICggcnVuQ2FsbGJhY2tzID09PSB2b2lkIDAgKSBydW5DYWxsYmFja3MgPSB0cnVlOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgbmV3SW5kZXggPSBpbmRleDsKCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7CgkJCW5ld0luZGV4ICs9IHN3aXBlci5sb29wZWRTbGlkZXM7CgkJfQoKCQlyZXR1cm4gc3dpcGVyLnNsaWRlVG8obmV3SW5kZXgsIHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKTsKCX0KCgkvKiBlc2xpbnQgbm8tdW51c2VkLXZhcnM6ICJvZmYiICovCglmdW5jdGlvbiBzbGlkZU5leHQgKHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKSB7CgkJaWYgKCBzcGVlZCA9PT0gdm9pZCAwICkgc3BlZWQgPSB0aGlzLnBhcmFtcy5zcGVlZDsKCQlpZiAoIHJ1bkNhbGxiYWNrcyA9PT0gdm9pZCAwICkgcnVuQ2FsbGJhY2tzID0gdHJ1ZTsKCgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyIGFuaW1hdGluZyA9IHN3aXBlci5hbmltYXRpbmc7CgkJaWYgKHBhcmFtcy5sb29wKSB7CgkJCWlmIChhbmltYXRpbmcpIHsgcmV0dXJuIGZhbHNlOyB9CgkJCXN3aXBlci5sb29wRml4KCk7CgkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQlzd2lwZXIuX2NsaWVudExlZnQgPSBzd2lwZXIuJHdyYXBwZXJFbFswXS5jbGllbnRMZWZ0OwoJCQlyZXR1cm4gc3dpcGVyLnNsaWRlVG8oc3dpcGVyLmFjdGl2ZUluZGV4ICsgcGFyYW1zLnNsaWRlc1Blckdyb3VwLCBzcGVlZCwgcnVuQ2FsbGJhY2tzLCBpbnRlcm5hbCk7CgkJfQoJCXJldHVybiBzd2lwZXIuc2xpZGVUbyhzd2lwZXIuYWN0aXZlSW5kZXggKyBwYXJhbXMuc2xpZGVzUGVyR3JvdXAsIHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKTsKCX0KCgkvKiBlc2xpbnQgbm8tdW51c2VkLXZhcnM6ICJvZmYiICovCglmdW5jdGlvbiBzbGlkZVByZXYgKHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKSB7CgkJaWYgKCBzcGVlZCA9PT0gdm9pZCAwICkgc3BlZWQgPSB0aGlzLnBhcmFtcy5zcGVlZDsKCQlpZiAoIHJ1bkNhbGxiYWNrcyA9PT0gdm9pZCAwICkgcnVuQ2FsbGJhY2tzID0gdHJ1ZTsKCgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyIGFuaW1hdGluZyA9IHN3aXBlci5hbmltYXRpbmc7CgkJdmFyIHNuYXBHcmlkID0gc3dpcGVyLnNuYXBHcmlkOwoJCXZhciBzbGlkZXNHcmlkID0gc3dpcGVyLnNsaWRlc0dyaWQ7CgkJdmFyIHJ0bFRyYW5zbGF0ZSA9IHN3aXBlci5ydGxUcmFuc2xhdGU7CgoJCWlmIChwYXJhbXMubG9vcCkgewoJCQlpZiAoYW5pbWF0aW5nKSB7IHJldHVybiBmYWxzZTsgfQoJCQlzd2lwZXIubG9vcEZpeCgpOwoJCQkvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUKCQkJc3dpcGVyLl9jbGllbnRMZWZ0ID0gc3dpcGVyLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdDsKCQl9CgkJdmFyIHRyYW5zbGF0ZSA9IHJ0bFRyYW5zbGF0ZSA/IHN3aXBlci50cmFuc2xhdGUgOiAtc3dpcGVyLnRyYW5zbGF0ZTsKCQl2YXIgY3VycmVudFNuYXAgPSBzbmFwR3JpZFtzbmFwR3JpZC5pbmRleE9mKHRyYW5zbGF0ZSldOwoJCXZhciBwcmV2U25hcCA9IHNuYXBHcmlkW3NuYXBHcmlkLmluZGV4T2YodHJhbnNsYXRlKSAtIDFdOwoJCXZhciBwcmV2SW5kZXg7CgoJCWlmIChwcmV2U25hcCkgewoJCQlwcmV2SW5kZXggPSBzbGlkZXNHcmlkLmluZGV4T2YocHJldlNuYXApOwoJCQlpZiAocHJldkluZGV4IDwgMCkgeyBwcmV2SW5kZXggPSBzd2lwZXIuYWN0aXZlSW5kZXggLSAxOyB9CgkJfQoJCXJldHVybiBzd2lwZXIuc2xpZGVUbyhwcmV2SW5kZXgsIHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKTsKCX0KCgkvKiBlc2xpbnQgbm8tdW51c2VkLXZhcnM6ICJvZmYiICovCglmdW5jdGlvbiBzbGlkZVJlc2V0IChzcGVlZCwgcnVuQ2FsbGJhY2tzLCBpbnRlcm5hbCkgewoJCWlmICggc3BlZWQgPT09IHZvaWQgMCApIHNwZWVkID0gdGhpcy5wYXJhbXMuc3BlZWQ7CgkJaWYgKCBydW5DYWxsYmFja3MgPT09IHZvaWQgMCApIHJ1bkNhbGxiYWNrcyA9IHRydWU7CgoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXJldHVybiBzd2lwZXIuc2xpZGVUbyhzd2lwZXIuYWN0aXZlSW5kZXgsIHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKTsKCX0KCgkvKiBlc2xpbnQgbm8tdW51c2VkLXZhcnM6ICJvZmYiICovCglmdW5jdGlvbiBzbGlkZVRvQ2xvc2VzdCAoc3BlZWQsIHJ1bkNhbGxiYWNrcywgaW50ZXJuYWwpIHsKCQlpZiAoIHNwZWVkID09PSB2b2lkIDAgKSBzcGVlZCA9IHRoaXMucGFyYW1zLnNwZWVkOwoJCWlmICggcnVuQ2FsbGJhY2tzID09PSB2b2lkIDAgKSBydW5DYWxsYmFja3MgPSB0cnVlOwoKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgaW5kZXggPSBzd2lwZXIuYWN0aXZlSW5kZXg7CgkJdmFyIHNuYXBJbmRleCA9IE1hdGguZmxvb3IoaW5kZXggLyBzd2lwZXIucGFyYW1zLnNsaWRlc1Blckdyb3VwKTsKCgkJaWYgKHNuYXBJbmRleCA8IHN3aXBlci5zbmFwR3JpZC5sZW5ndGggLSAxKSB7CgkJCXZhciB0cmFuc2xhdGUgPSBzd2lwZXIucnRsVHJhbnNsYXRlID8gc3dpcGVyLnRyYW5zbGF0ZSA6IC1zd2lwZXIudHJhbnNsYXRlOwoKCQkJdmFyIGN1cnJlbnRTbmFwID0gc3dpcGVyLnNuYXBHcmlkW3NuYXBJbmRleF07CgkJCXZhciBuZXh0U25hcCA9IHN3aXBlci5zbmFwR3JpZFtzbmFwSW5kZXggKyAxXTsKCgkJCWlmICgodHJhbnNsYXRlIC0gY3VycmVudFNuYXApID4gKG5leHRTbmFwIC0gY3VycmVudFNuYXApIC8gMikgewoJCQkJaW5kZXggPSBzd2lwZXIucGFyYW1zLnNsaWRlc1Blckdyb3VwOwoJCQl9CgkJfQoKCQlyZXR1cm4gc3dpcGVyLnNsaWRlVG8oaW5kZXgsIHNwZWVkLCBydW5DYWxsYmFja3MsIGludGVybmFsKTsKCX0KCglmdW5jdGlvbiBzbGlkZVRvQ2xpY2tlZFNsaWRlICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoKCQl2YXIgc2xpZGVzUGVyVmlldyA9IHBhcmFtcy5zbGlkZXNQZXJWaWV3ID09PSAnYXV0bycgPyBzd2lwZXIuc2xpZGVzUGVyVmlld0R5bmFtaWMoKSA6IHBhcmFtcy5zbGlkZXNQZXJWaWV3OwoJCXZhciBzbGlkZVRvSW5kZXggPSBzd2lwZXIuY2xpY2tlZEluZGV4OwoJCXZhciByZWFsSW5kZXg7CgkJaWYgKHBhcmFtcy5sb29wKSB7CgkJCWlmIChzd2lwZXIuYW5pbWF0aW5nKSB7IHJldHVybjsgfQoJCQlyZWFsSW5kZXggPSBwYXJzZUludCgkKHN3aXBlci5jbGlja2VkU2xpZGUpLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JyksIDEwKTsKCQkJaWYgKHBhcmFtcy5jZW50ZXJlZFNsaWRlcykgewoJCQkJaWYgKAoJCQkJCShzbGlkZVRvSW5kZXggPCBzd2lwZXIubG9vcGVkU2xpZGVzIC0gKHNsaWRlc1BlclZpZXcgLyAyKSkgfHwKCQkJCQkoc2xpZGVUb0luZGV4ID4gKHN3aXBlci5zbGlkZXMubGVuZ3RoIC0gc3dpcGVyLmxvb3BlZFNsaWRlcykgKyAoc2xpZGVzUGVyVmlldyAvIDIpKQoJCQkJKSB7CgkJCQkJc3dpcGVyLmxvb3BGaXgoKTsKCQkJCQlzbGlkZVRvSW5kZXggPSAkd3JhcHBlckVsCgkJCQkJCS5jaGlsZHJlbigoIi4iICsgKHBhcmFtcy5zbGlkZUNsYXNzKSArICJbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgcmVhbEluZGV4ICsgIlwiXTpub3QoLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIikiKSkKCQkJCQkJLmVxKDApCgkJCQkJCS5pbmRleCgpOwoKCQkJCQlVdGlscy5uZXh0VGljayhmdW5jdGlvbiAoKSB7CgkJCQkJCXN3aXBlci5zbGlkZVRvKHNsaWRlVG9JbmRleCk7CgkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCXN3aXBlci5zbGlkZVRvKHNsaWRlVG9JbmRleCk7CgkJCQl9CgkJCX0gZWxzZSBpZiAoc2xpZGVUb0luZGV4ID4gc3dpcGVyLnNsaWRlcy5sZW5ndGggLSBzbGlkZXNQZXJWaWV3KSB7CgkJCQlzd2lwZXIubG9vcEZpeCgpOwoJCQkJc2xpZGVUb0luZGV4ID0gJHdyYXBwZXJFbAoJCQkJCS5jaGlsZHJlbigoIi4iICsgKHBhcmFtcy5zbGlkZUNsYXNzKSArICJbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgcmVhbEluZGV4ICsgIlwiXTpub3QoLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIikiKSkKCQkJCQkuZXEoMCkKCQkJCQkuaW5kZXgoKTsKCgkJCQlVdGlscy5uZXh0VGljayhmdW5jdGlvbiAoKSB7CgkJCQkJc3dpcGVyLnNsaWRlVG8oc2xpZGVUb0luZGV4KTsKCQkJCX0pOwoJCQl9IGVsc2UgewoJCQkJc3dpcGVyLnNsaWRlVG8oc2xpZGVUb0luZGV4KTsKCQkJfQoJCX0gZWxzZSB7CgkJCXN3aXBlci5zbGlkZVRvKHNsaWRlVG9JbmRleCk7CgkJfQoJfQoKCXZhciBzbGlkZSA9IHsKCQlzbGlkZVRvOiBzbGlkZVRvLAoJCXNsaWRlVG9Mb29wOiBzbGlkZVRvTG9vcCwKCQlzbGlkZU5leHQ6IHNsaWRlTmV4dCwKCQlzbGlkZVByZXY6IHNsaWRlUHJldiwKCQlzbGlkZVJlc2V0OiBzbGlkZVJlc2V0LAoJCXNsaWRlVG9DbG9zZXN0OiBzbGlkZVRvQ2xvc2VzdCwKCQlzbGlkZVRvQ2xpY2tlZFNsaWRlOiBzbGlkZVRvQ2xpY2tlZFNsaWRlLAoJfTsKCglmdW5jdGlvbiBsb29wQ3JlYXRlICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCS8vIFJlbW92ZSBkdXBsaWNhdGVkIHNsaWRlcwoJCSR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykgKyAiLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSkucmVtb3ZlKCk7CgoJCXZhciBzbGlkZXMgPSAkd3JhcHBlckVsLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpKSk7CgoJCWlmIChwYXJhbXMubG9vcEZpbGxHcm91cFdpdGhCbGFuaykgewoJCQl2YXIgYmxhbmtTbGlkZXNOdW0gPSBwYXJhbXMuc2xpZGVzUGVyR3JvdXAgLSAoc2xpZGVzLmxlbmd0aCAlIHBhcmFtcy5zbGlkZXNQZXJHcm91cCk7CgkJCWlmIChibGFua1NsaWRlc051bSAhPT0gcGFyYW1zLnNsaWRlc1Blckdyb3VwKSB7CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGJsYW5rU2xpZGVzTnVtOyBpICs9IDEpIHsKCQkJCQl2YXIgYmxhbmtOb2RlID0gJChkb2MuY3JlYXRlRWxlbWVudCgnZGl2JykpLmFkZENsYXNzKCgocGFyYW1zLnNsaWRlQ2xhc3MpICsgIiAiICsgKHBhcmFtcy5zbGlkZUJsYW5rQ2xhc3MpKSk7CgkJCQkJJHdyYXBwZXJFbC5hcHBlbmQoYmxhbmtOb2RlKTsKCQkJCX0KCQkJCXNsaWRlcyA9ICR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykpKTsKCQkJfQoJCX0KCgkJaWYgKHBhcmFtcy5zbGlkZXNQZXJWaWV3ID09PSAnYXV0bycgJiYgIXBhcmFtcy5sb29wZWRTbGlkZXMpIHsgcGFyYW1zLmxvb3BlZFNsaWRlcyA9IHNsaWRlcy5sZW5ndGg7IH0KCgkJc3dpcGVyLmxvb3BlZFNsaWRlcyA9IHBhcnNlSW50KHBhcmFtcy5sb29wZWRTbGlkZXMgfHwgcGFyYW1zLnNsaWRlc1BlclZpZXcsIDEwKTsKCQlzd2lwZXIubG9vcGVkU2xpZGVzICs9IHBhcmFtcy5sb29wQWRkaXRpb25hbFNsaWRlczsKCQlpZiAoc3dpcGVyLmxvb3BlZFNsaWRlcyA+IHNsaWRlcy5sZW5ndGgpIHsKCQkJc3dpcGVyLmxvb3BlZFNsaWRlcyA9IHNsaWRlcy5sZW5ndGg7CgkJfQoKCQl2YXIgcHJlcGVuZFNsaWRlcyA9IFtdOwoJCXZhciBhcHBlbmRTbGlkZXMgPSBbXTsKCQlzbGlkZXMuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGVsKSB7CgkJCXZhciBzbGlkZSA9ICQoZWwpOwoJCQlpZiAoaW5kZXggPCBzd2lwZXIubG9vcGVkU2xpZGVzKSB7IGFwcGVuZFNsaWRlcy5wdXNoKGVsKTsgfQoJCQlpZiAoaW5kZXggPCBzbGlkZXMubGVuZ3RoICYmIGluZGV4ID49IHNsaWRlcy5sZW5ndGggLSBzd2lwZXIubG9vcGVkU2xpZGVzKSB7IHByZXBlbmRTbGlkZXMucHVzaChlbCk7IH0KCQkJc2xpZGUuYXR0cignZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgnLCBpbmRleCk7CgkJfSk7CgkJZm9yICh2YXIgaSQxID0gMDsgaSQxIDwgYXBwZW5kU2xpZGVzLmxlbmd0aDsgaSQxICs9IDEpIHsKCQkJJHdyYXBwZXJFbC5hcHBlbmQoJChhcHBlbmRTbGlkZXNbaSQxXS5jbG9uZU5vZGUodHJ1ZSkpLmFkZENsYXNzKHBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSk7CgkJfQoJCWZvciAodmFyIGkkMiA9IHByZXBlbmRTbGlkZXMubGVuZ3RoIC0gMTsgaSQyID49IDA7IGkkMiAtPSAxKSB7CgkJCSR3cmFwcGVyRWwucHJlcGVuZCgkKHByZXBlbmRTbGlkZXNbaSQyXS5jbG9uZU5vZGUodHJ1ZSkpLmFkZENsYXNzKHBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSk7CgkJfQoJfQoKCWZ1bmN0aW9uIGxvb3BGaXggKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQl2YXIgc2xpZGVzID0gc3dpcGVyLnNsaWRlczsKCQl2YXIgbG9vcGVkU2xpZGVzID0gc3dpcGVyLmxvb3BlZFNsaWRlczsKCQl2YXIgYWxsb3dTbGlkZVByZXYgPSBzd2lwZXIuYWxsb3dTbGlkZVByZXY7CgkJdmFyIGFsbG93U2xpZGVOZXh0ID0gc3dpcGVyLmFsbG93U2xpZGVOZXh0OwoJCXZhciBzbmFwR3JpZCA9IHN3aXBlci5zbmFwR3JpZDsKCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQl2YXIgbmV3SW5kZXg7CgkJc3dpcGVyLmFsbG93U2xpZGVQcmV2ID0gdHJ1ZTsKCQlzd2lwZXIuYWxsb3dTbGlkZU5leHQgPSB0cnVlOwoKCQl2YXIgc25hcFRyYW5zbGF0ZSA9IC1zbmFwR3JpZFthY3RpdmVJbmRleF07CgkJdmFyIGRpZmYgPSBzbmFwVHJhbnNsYXRlIC0gc3dpcGVyLmdldFRyYW5zbGF0ZSgpOwoKCgkJLy8gRml4IEZvciBOZWdhdGl2ZSBPdmVyc2xpZGluZwoJCWlmIChhY3RpdmVJbmRleCA8IGxvb3BlZFNsaWRlcykgewoJCQluZXdJbmRleCA9IChzbGlkZXMubGVuZ3RoIC0gKGxvb3BlZFNsaWRlcyAqIDMpKSArIGFjdGl2ZUluZGV4OwoJCQluZXdJbmRleCArPSBsb29wZWRTbGlkZXM7CgkJCXZhciBzbGlkZUNoYW5nZWQgPSBzd2lwZXIuc2xpZGVUbyhuZXdJbmRleCwgMCwgZmFsc2UsIHRydWUpOwoJCQlpZiAoc2xpZGVDaGFuZ2VkICYmIGRpZmYgIT09IDApIHsKCQkJCXN3aXBlci5zZXRUcmFuc2xhdGUoKHJ0bCA/IC1zd2lwZXIudHJhbnNsYXRlIDogc3dpcGVyLnRyYW5zbGF0ZSkgLSBkaWZmKTsKCQkJfQoJCX0gZWxzZSBpZiAoKHBhcmFtcy5zbGlkZXNQZXJWaWV3ID09PSAnYXV0bycgJiYgYWN0aXZlSW5kZXggPj0gbG9vcGVkU2xpZGVzICogMikgfHwgKGFjdGl2ZUluZGV4ID4gc2xpZGVzLmxlbmd0aCAtIChwYXJhbXMuc2xpZGVzUGVyVmlldyAqIDIpKSkgewoJCQkvLyBGaXggRm9yIFBvc2l0aXZlIE92ZXJzbGlkaW5nCgkJCW5ld0luZGV4ID0gLXNsaWRlcy5sZW5ndGggKyBhY3RpdmVJbmRleCArIGxvb3BlZFNsaWRlczsKCQkJbmV3SW5kZXggKz0gbG9vcGVkU2xpZGVzOwoJCQl2YXIgc2xpZGVDaGFuZ2VkJDEgPSBzd2lwZXIuc2xpZGVUbyhuZXdJbmRleCwgMCwgZmFsc2UsIHRydWUpOwoJCQlpZiAoc2xpZGVDaGFuZ2VkJDEgJiYgZGlmZiAhPT0gMCkgewoJCQkJc3dpcGVyLnNldFRyYW5zbGF0ZSgocnRsID8gLXN3aXBlci50cmFuc2xhdGUgOiBzd2lwZXIudHJhbnNsYXRlKSAtIGRpZmYpOwoJCQl9CgkJfQoJCXN3aXBlci5hbGxvd1NsaWRlUHJldiA9IGFsbG93U2xpZGVQcmV2OwoJCXN3aXBlci5hbGxvd1NsaWRlTmV4dCA9IGFsbG93U2xpZGVOZXh0OwoJfQoKCWZ1bmN0aW9uIGxvb3BEZXN0cm95ICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciBzbGlkZXMgPSBzd2lwZXIuc2xpZGVzOwoJCSR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChwYXJhbXMuc2xpZGVDbGFzcykgKyAiLiIgKyAocGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKSkucmVtb3ZlKCk7CgkJc2xpZGVzLnJlbW92ZUF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4Jyk7Cgl9CgoJdmFyIGxvb3AgPSB7CgkJbG9vcENyZWF0ZTogbG9vcENyZWF0ZSwKCQlsb29wRml4OiBsb29wRml4LAoJCWxvb3BEZXN0cm95OiBsb29wRGVzdHJveSwKCX07CgoJZnVuY3Rpb24gc2V0R3JhYkN1cnNvciAobW92aW5nKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJaWYgKFN1cHBvcnQudG91Y2ggfHwgIXN3aXBlci5wYXJhbXMuc2ltdWxhdGVUb3VjaCB8fCAoc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93ICYmIHN3aXBlci5pc0xvY2tlZCkpIHsgcmV0dXJuOyB9CgkJdmFyIGVsID0gc3dpcGVyLmVsOwoJCWVsLnN0eWxlLmN1cnNvciA9ICdtb3ZlJzsKCQllbC5zdHlsZS5jdXJzb3IgPSBtb3ZpbmcgPyAnLXdlYmtpdC1ncmFiYmluZycgOiAnLXdlYmtpdC1ncmFiJzsKCQllbC5zdHlsZS5jdXJzb3IgPSBtb3ZpbmcgPyAnLW1vei1ncmFiYmluJyA6ICctbW96LWdyYWInOwoJCWVsLnN0eWxlLmN1cnNvciA9IG1vdmluZyA/ICdncmFiYmluZycgOiAnZ3JhYic7Cgl9CgoJZnVuY3Rpb24gdW5zZXRHcmFiQ3Vyc29yICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQlpZiAoU3VwcG9ydC50b3VjaCB8fCAoc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93ICYmIHN3aXBlci5pc0xvY2tlZCkpIHsgcmV0dXJuOyB9CgkJc3dpcGVyLmVsLnN0eWxlLmN1cnNvciA9ICcnOwoJfQoKCXZhciBncmFiQ3Vyc29yID0gewoJCXNldEdyYWJDdXJzb3I6IHNldEdyYWJDdXJzb3IsCgkJdW5zZXRHcmFiQ3Vyc29yOiB1bnNldEdyYWJDdXJzb3IsCgl9OwoKCWZ1bmN0aW9uIGFwcGVuZFNsaWRlIChzbGlkZXMpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCWlmIChwYXJhbXMubG9vcCkgewoJCQlzd2lwZXIubG9vcERlc3Ryb3koKTsKCQl9CgkJaWYgKHR5cGVvZiBzbGlkZXMgPT09ICdvYmplY3QnICYmICdsZW5ndGgnIGluIHNsaWRlcykgewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJaWYgKHNsaWRlc1tpXSkgeyAkd3JhcHBlckVsLmFwcGVuZChzbGlkZXNbaV0pOyB9CgkJCX0KCQl9IGVsc2UgewoJCQkkd3JhcHBlckVsLmFwcGVuZChzbGlkZXMpOwoJCX0KCQlpZiAocGFyYW1zLmxvb3ApIHsKCQkJc3dpcGVyLmxvb3BDcmVhdGUoKTsKCQl9CgkJaWYgKCEocGFyYW1zLm9ic2VydmVyICYmIFN1cHBvcnQub2JzZXJ2ZXIpKSB7CgkJCXN3aXBlci51cGRhdGUoKTsKCQl9Cgl9CgoJZnVuY3Rpb24gcHJlcGVuZFNsaWRlIChzbGlkZXMpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCgkJaWYgKHBhcmFtcy5sb29wKSB7CgkJCXN3aXBlci5sb29wRGVzdHJveSgpOwoJCX0KCQl2YXIgbmV3QWN0aXZlSW5kZXggPSBhY3RpdmVJbmRleCArIDE7CgkJaWYgKHR5cGVvZiBzbGlkZXMgPT09ICdvYmplY3QnICYmICdsZW5ndGgnIGluIHNsaWRlcykgewoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJaWYgKHNsaWRlc1tpXSkgeyAkd3JhcHBlckVsLnByZXBlbmQoc2xpZGVzW2ldKTsgfQoJCQl9CgkJCW5ld0FjdGl2ZUluZGV4ID0gYWN0aXZlSW5kZXggKyBzbGlkZXMubGVuZ3RoOwoJCX0gZWxzZSB7CgkJCSR3cmFwcGVyRWwucHJlcGVuZChzbGlkZXMpOwoJCX0KCQlpZiAocGFyYW1zLmxvb3ApIHsKCQkJc3dpcGVyLmxvb3BDcmVhdGUoKTsKCQl9CgkJaWYgKCEocGFyYW1zLm9ic2VydmVyICYmIFN1cHBvcnQub2JzZXJ2ZXIpKSB7CgkJCXN3aXBlci51cGRhdGUoKTsKCQl9CgkJc3dpcGVyLnNsaWRlVG8obmV3QWN0aXZlSW5kZXgsIDAsIGZhbHNlKTsKCX0KCglmdW5jdGlvbiByZW1vdmVTbGlkZSAoc2xpZGVzSW5kZXhlcykgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciAkd3JhcHBlckVsID0gc3dpcGVyLiR3cmFwcGVyRWw7CgkJdmFyIGFjdGl2ZUluZGV4ID0gc3dpcGVyLmFjdGl2ZUluZGV4OwoKCQlpZiAocGFyYW1zLmxvb3ApIHsKCQkJc3dpcGVyLmxvb3BEZXN0cm95KCk7CgkJCXN3aXBlci5zbGlkZXMgPSAkd3JhcHBlckVsLmNoaWxkcmVuKCgiLiIgKyAocGFyYW1zLnNsaWRlQ2xhc3MpKSk7CgkJfQoJCXZhciBuZXdBY3RpdmVJbmRleCA9IGFjdGl2ZUluZGV4OwoJCXZhciBpbmRleFRvUmVtb3ZlOwoKCQlpZiAodHlwZW9mIHNsaWRlc0luZGV4ZXMgPT09ICdvYmplY3QnICYmICdsZW5ndGgnIGluIHNsaWRlc0luZGV4ZXMpIHsKCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBzbGlkZXNJbmRleGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQlpbmRleFRvUmVtb3ZlID0gc2xpZGVzSW5kZXhlc1tpXTsKCQkJCWlmIChzd2lwZXIuc2xpZGVzW2luZGV4VG9SZW1vdmVdKSB7IHN3aXBlci5zbGlkZXMuZXEoaW5kZXhUb1JlbW92ZSkucmVtb3ZlKCk7IH0KCQkJCWlmIChpbmRleFRvUmVtb3ZlIDwgbmV3QWN0aXZlSW5kZXgpIHsgbmV3QWN0aXZlSW5kZXggLT0gMTsgfQoJCQl9CgkJCW5ld0FjdGl2ZUluZGV4ID0gTWF0aC5tYXgobmV3QWN0aXZlSW5kZXgsIDApOwoJCX0gZWxzZSB7CgkJCWluZGV4VG9SZW1vdmUgPSBzbGlkZXNJbmRleGVzOwoJCQlpZiAoc3dpcGVyLnNsaWRlc1tpbmRleFRvUmVtb3ZlXSkgeyBzd2lwZXIuc2xpZGVzLmVxKGluZGV4VG9SZW1vdmUpLnJlbW92ZSgpOyB9CgkJCWlmIChpbmRleFRvUmVtb3ZlIDwgbmV3QWN0aXZlSW5kZXgpIHsgbmV3QWN0aXZlSW5kZXggLT0gMTsgfQoJCQluZXdBY3RpdmVJbmRleCA9IE1hdGgubWF4KG5ld0FjdGl2ZUluZGV4LCAwKTsKCQl9CgoJCWlmIChwYXJhbXMubG9vcCkgewoJCQlzd2lwZXIubG9vcENyZWF0ZSgpOwoJCX0KCgkJaWYgKCEocGFyYW1zLm9ic2VydmVyICYmIFN1cHBvcnQub2JzZXJ2ZXIpKSB7CgkJCXN3aXBlci51cGRhdGUoKTsKCQl9CgkJaWYgKHBhcmFtcy5sb29wKSB7CgkJCXN3aXBlci5zbGlkZVRvKG5ld0FjdGl2ZUluZGV4ICsgc3dpcGVyLmxvb3BlZFNsaWRlcywgMCwgZmFsc2UpOwoJCX0gZWxzZSB7CgkJCXN3aXBlci5zbGlkZVRvKG5ld0FjdGl2ZUluZGV4LCAwLCBmYWxzZSk7CgkJfQoJfQoKCWZ1bmN0aW9uIHJlbW92ZUFsbFNsaWRlcyAoKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgoJCXZhciBzbGlkZXNJbmRleGVzID0gW107CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBzd2lwZXIuc2xpZGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCXNsaWRlc0luZGV4ZXMucHVzaChpKTsKCQl9CgkJc3dpcGVyLnJlbW92ZVNsaWRlKHNsaWRlc0luZGV4ZXMpOwoJfQoKCXZhciBtYW5pcHVsYXRpb24gPSB7CgkJYXBwZW5kU2xpZGU6IGFwcGVuZFNsaWRlLAoJCXByZXBlbmRTbGlkZTogcHJlcGVuZFNsaWRlLAoJCXJlbW92ZVNsaWRlOiByZW1vdmVTbGlkZSwKCQlyZW1vdmVBbGxTbGlkZXM6IHJlbW92ZUFsbFNsaWRlcywKCX07CgoJdmFyIERldmljZSA9IChmdW5jdGlvbiBEZXZpY2UoKSB7CgkJdmFyIHVhID0gd2luLm5hdmlnYXRvci51c2VyQWdlbnQ7CgoJCXZhciBkZXZpY2UgPSB7CgkJCWlvczogZmFsc2UsCgkJCWFuZHJvaWQ6IGZhbHNlLAoJCQlhbmRyb2lkQ2hyb21lOiBmYWxzZSwKCQkJZGVza3RvcDogZmFsc2UsCgkJCXdpbmRvd3M6IGZhbHNlLAoJCQlpcGhvbmU6IGZhbHNlLAoJCQlpcG9kOiBmYWxzZSwKCQkJaXBhZDogZmFsc2UsCgkJCWNvcmRvdmE6IHdpbi5jb3Jkb3ZhIHx8IHdpbi5waG9uZWdhcCwKCQkJcGhvbmVnYXA6IHdpbi5jb3Jkb3ZhIHx8IHdpbi5waG9uZWdhcCwKCQl9OwoKCQl2YXIgd2luZG93cyA9IHVhLm1hdGNoKC8oV2luZG93cyBQaG9uZSk7P1tcc1wvXSsoW1xkLl0rKT8vKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZQoJCXZhciBhbmRyb2lkID0gdWEubWF0Y2goLyhBbmRyb2lkKTs/W1xzXC9dKyhbXGQuXSspPy8pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lCgkJdmFyIGlwYWQgPSB1YS5tYXRjaCgvKGlQYWQpLipPU1xzKFtcZF9dKykvKTsKCQl2YXIgaXBvZCA9IHVhLm1hdGNoKC8oaVBvZCkoLipPU1xzKFtcZF9dKykpPy8pOwoJCXZhciBpcGhvbmUgPSAhaXBhZCAmJiB1YS5tYXRjaCgvKGlQaG9uZVxzT1N8aU9TKVxzKFtcZF9dKykvKTsKCgoJCS8vIFdpbmRvd3MKCQlpZiAod2luZG93cykgewoJCQlkZXZpY2Uub3MgPSAnd2luZG93cyc7CgkJCWRldmljZS5vc1ZlcnNpb24gPSB3aW5kb3dzWzJdOwoJCQlkZXZpY2Uud2luZG93cyA9IHRydWU7CgkJfQoJCS8vIEFuZHJvaWQKCQlpZiAoYW5kcm9pZCAmJiAhd2luZG93cykgewoJCQlkZXZpY2Uub3MgPSAnYW5kcm9pZCc7CgkJCWRldmljZS5vc1ZlcnNpb24gPSBhbmRyb2lkWzJdOwoJCQlkZXZpY2UuYW5kcm9pZCA9IHRydWU7CgkJCWRldmljZS5hbmRyb2lkQ2hyb21lID0gdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdjaHJvbWUnKSA+PSAwOwoJCX0KCQlpZiAoaXBhZCB8fCBpcGhvbmUgfHwgaXBvZCkgewoJCQlkZXZpY2Uub3MgPSAnaW9zJzsKCQkJZGV2aWNlLmlvcyA9IHRydWU7CgkJfQoJCS8vIGlPUwoJCWlmIChpcGhvbmUgJiYgIWlwb2QpIHsKCQkJZGV2aWNlLm9zVmVyc2lvbiA9IGlwaG9uZVsyXS5yZXBsYWNlKC9fL2csICcuJyk7CgkJCWRldmljZS5pcGhvbmUgPSB0cnVlOwoJCX0KCQlpZiAoaXBhZCkgewoJCQlkZXZpY2Uub3NWZXJzaW9uID0gaXBhZFsyXS5yZXBsYWNlKC9fL2csICcuJyk7CgkJCWRldmljZS5pcGFkID0gdHJ1ZTsKCQl9CgkJaWYgKGlwb2QpIHsKCQkJZGV2aWNlLm9zVmVyc2lvbiA9IGlwb2RbM10gPyBpcG9kWzNdLnJlcGxhY2UoL18vZywgJy4nKSA6IG51bGw7CgkJCWRldmljZS5pcGhvbmUgPSB0cnVlOwoJCX0KCQkvLyBpT1MgOCsgY2hhbmdlZCBVQQoJCWlmIChkZXZpY2UuaW9zICYmIGRldmljZS5vc1ZlcnNpb24gJiYgdWEuaW5kZXhPZignVmVyc2lvbi8nKSA+PSAwKSB7CgkJCWlmIChkZXZpY2Uub3NWZXJzaW9uLnNwbGl0KCcuJylbMF0gPT09ICcxMCcpIHsKCQkJCWRldmljZS5vc1ZlcnNpb24gPSB1YS50b0xvd2VyQ2FzZSgpLnNwbGl0KCd2ZXJzaW9uLycpWzFdLnNwbGl0KCcgJylbMF07CgkJCX0KCQl9CgoJCS8vIERlc2t0b3AKCQlkZXZpY2UuZGVza3RvcCA9ICEoZGV2aWNlLm9zIHx8IGRldmljZS5hbmRyb2lkIHx8IGRldmljZS53ZWJWaWV3KTsKCgkJLy8gV2VidmlldwoJCWRldmljZS53ZWJWaWV3ID0gKGlwaG9uZSB8fCBpcGFkIHx8IGlwb2QpICYmIHVhLm1hdGNoKC8uKkFwcGxlV2ViS2l0KD8hLipTYWZhcmkpL2kpOwoKCQkvLyBNaW5pbWFsIFVJCgkJaWYgKGRldmljZS5vcyAmJiBkZXZpY2Uub3MgPT09ICdpb3MnKSB7CgkJCXZhciBvc1ZlcnNpb25BcnIgPSBkZXZpY2Uub3NWZXJzaW9uLnNwbGl0KCcuJyk7CgkJCXZhciBtZXRhVmlld3BvcnQgPSBkb2MucXVlcnlTZWxlY3RvcignbWV0YVtuYW1lPSJ2aWV3cG9ydCJdJyk7CgkJCWRldmljZS5taW5pbWFsVWkgPQoJCQkJIWRldmljZS53ZWJWaWV3ICYmCgkJCQkoaXBvZCB8fCBpcGhvbmUpICYmCgkJCQkob3NWZXJzaW9uQXJyWzBdICogMSA9PT0gNyA/IG9zVmVyc2lvbkFyclsxXSAqIDEgPj0gMSA6IG9zVmVyc2lvbkFyclswXSAqIDEgPiA3KSAmJgoJCQkJbWV0YVZpZXdwb3J0ICYmIG1ldGFWaWV3cG9ydC5nZXRBdHRyaWJ1dGUoJ2NvbnRlbnQnKS5pbmRleE9mKCdtaW5pbWFsLXVpJykgPj0gMDsKCQl9CgoJCS8vIFBpeGVsIFJhdGlvCgkJZGV2aWNlLnBpeGVsUmF0aW8gPSB3aW4uZGV2aWNlUGl4ZWxSYXRpbyB8fCAxOwoKCQkvLyBFeHBvcnQgb2JqZWN0CgkJcmV0dXJuIGRldmljZTsKCX0oKSk7CgoJZnVuY3Rpb24gb25Ub3VjaFN0YXJ0IChldmVudCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBkYXRhID0gc3dpcGVyLnRvdWNoRXZlbnRzRGF0YTsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgdG91Y2hlcyA9IHN3aXBlci50b3VjaGVzOwoJCWlmIChzd2lwZXIuYW5pbWF0aW5nICYmIHBhcmFtcy5wcmV2ZW50SW50ZXJjYXRpb25PblRyYW5zaXRpb24pIHsKCQkJcmV0dXJuOwoJCX0KCQl2YXIgZSA9IGV2ZW50OwoJCWlmIChlLm9yaWdpbmFsRXZlbnQpIHsgZSA9IGUub3JpZ2luYWxFdmVudDsgfQoJCWRhdGEuaXNUb3VjaEV2ZW50ID0gZS50eXBlID09PSAndG91Y2hzdGFydCc7CgkJaWYgKCFkYXRhLmlzVG91Y2hFdmVudCAmJiAnd2hpY2gnIGluIGUgJiYgZS53aGljaCA9PT0gMykgeyByZXR1cm47IH0KCQlpZiAoZGF0YS5pc1RvdWNoZWQgJiYgZGF0YS5pc01vdmVkKSB7IHJldHVybjsgfQoJCWlmIChwYXJhbXMubm9Td2lwaW5nICYmICQoZS50YXJnZXQpLmNsb3Nlc3QocGFyYW1zLm5vU3dpcGluZ1NlbGVjdG9yID8gcGFyYW1zLm5vU3dpcGluZ1NlbGVjdG9yIDogKCIuIiArIChwYXJhbXMubm9Td2lwaW5nQ2xhc3MpKSlbMF0pIHsKCQkJc3dpcGVyLmFsbG93Q2xpY2sgPSB0cnVlOwoJCQlyZXR1cm47CgkJfQoJCWlmIChwYXJhbXMuc3dpcGVIYW5kbGVyKSB7CgkJCWlmICghJChlKS5jbG9zZXN0KHBhcmFtcy5zd2lwZUhhbmRsZXIpWzBdKSB7IHJldHVybjsgfQoJCX0KCgkJdG91Y2hlcy5jdXJyZW50WCA9IGUudHlwZSA9PT0gJ3RvdWNoc3RhcnQnID8gZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIDogZS5wYWdlWDsKCQl0b3VjaGVzLmN1cnJlbnRZID0gZS50eXBlID09PSAndG91Y2hzdGFydCcgPyBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVkgOiBlLnBhZ2VZOwoJCXZhciBzdGFydFggPSB0b3VjaGVzLmN1cnJlbnRYOwoJCXZhciBzdGFydFkgPSB0b3VjaGVzLmN1cnJlbnRZOwoKCQkvLyBEbyBOT1Qgc3RhcnQgaWYgaU9TIGVkZ2Ugc3dpcGUgaXMgZGV0ZWN0ZWQuIE90aGVyd2lzZSBpT1MgYXBwIChVSVdlYlZpZXcpIGNhbm5vdCBzd2lwZS10by1nby1iYWNrIGFueW1vcmUKCgkJaWYgKAoJCQlEZXZpY2UuaW9zICYmCgkJCSFEZXZpY2UuY29yZG92YSAmJgoJCQlwYXJhbXMuaU9TRWRnZVN3aXBlRGV0ZWN0aW9uICYmCgkJCShzdGFydFggPD0gcGFyYW1zLmlPU0VkZ2VTd2lwZVRocmVzaG9sZCkgJiYKCQkJKHN0YXJ0WCA+PSB3aW4uc2NyZWVuLndpZHRoIC0gcGFyYW1zLmlPU0VkZ2VTd2lwZVRocmVzaG9sZCkKCQkpIHsKCQkJcmV0dXJuOwoJCX0KCgkJVXRpbHMuZXh0ZW5kKGRhdGEsIHsKCQkJaXNUb3VjaGVkOiB0cnVlLAoJCQlpc01vdmVkOiBmYWxzZSwKCQkJYWxsb3dUb3VjaENhbGxiYWNrczogdHJ1ZSwKCQkJaXNTY3JvbGxpbmc6IHVuZGVmaW5lZCwKCQkJc3RhcnRNb3Zpbmc6IHVuZGVmaW5lZCwKCQl9KTsKCgkJdG91Y2hlcy5zdGFydFggPSBzdGFydFg7CgkJdG91Y2hlcy5zdGFydFkgPSBzdGFydFk7CgkJZGF0YS50b3VjaFN0YXJ0VGltZSA9IFV0aWxzLm5vdygpOwoJCXN3aXBlci5hbGxvd0NsaWNrID0gdHJ1ZTsKCQlzd2lwZXIudXBkYXRlU2l6ZSgpOwoJCXN3aXBlci5zd2lwZURpcmVjdGlvbiA9IHVuZGVmaW5lZDsKCQlpZiAocGFyYW1zLnRocmVzaG9sZCA+IDApIHsgZGF0YS5hbGxvd1RocmVzaG9sZE1vdmUgPSBmYWxzZTsgfQoJCWlmIChlLnR5cGUgIT09ICd0b3VjaHN0YXJ0JykgewoJCQl2YXIgcHJldmVudERlZmF1bHQgPSB0cnVlOwoJCQlpZiAoJChlLnRhcmdldCkuaXMoZGF0YS5mb3JtRWxlbWVudHMpKSB7IHByZXZlbnREZWZhdWx0ID0gZmFsc2U7IH0KCQkJaWYgKAoJCQkJZG9jLmFjdGl2ZUVsZW1lbnQgJiYKCQkJCSQoZG9jLmFjdGl2ZUVsZW1lbnQpLmlzKGRhdGEuZm9ybUVsZW1lbnRzKSAmJgoJCQkJZG9jLmFjdGl2ZUVsZW1lbnQgIT09IGUudGFyZ2V0CgkJCSkgewoJCQkJZG9jLmFjdGl2ZUVsZW1lbnQuYmx1cigpOwoJCQl9CgkJCWlmIChwcmV2ZW50RGVmYXVsdCAmJiBzd2lwZXIuYWxsb3dUb3VjaE1vdmUpIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJfQoJCX0KCQlzd2lwZXIuZW1pdCgndG91Y2hTdGFydCcsIGUpOwoJfQoKCWZ1bmN0aW9uIG9uVG91Y2hNb3ZlIChldmVudCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBkYXRhID0gc3dpcGVyLnRvdWNoRXZlbnRzRGF0YTsKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgdG91Y2hlcyA9IHN3aXBlci50b3VjaGVzOwoJCXZhciBydGwgPSBzd2lwZXIucnRsVHJhbnNsYXRlOwoJCXZhciBlID0gZXZlbnQ7CgkJaWYgKGUub3JpZ2luYWxFdmVudCkgeyBlID0gZS5vcmlnaW5hbEV2ZW50OyB9CgkJaWYgKCFkYXRhLmlzVG91Y2hlZCkgewoJCQlpZiAoZGF0YS5zdGFydE1vdmluZyAmJiBkYXRhLmlzU2Nyb2xsaW5nKSB7CgkJCQlzd2lwZXIuZW1pdCgndG91Y2hNb3ZlT3Bwb3NpdGUnLCBlKTsKCQkJfQoJCQlyZXR1cm47CgkJfQoJCWlmIChkYXRhLmlzVG91Y2hFdmVudCAmJiBlLnR5cGUgPT09ICdtb3VzZW1vdmUnKSB7IHJldHVybjsgfQoJCXZhciBwYWdlWCA9IGUudHlwZSA9PT0gJ3RvdWNobW92ZScgPyBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVggOiBlLnBhZ2VYOwoJCXZhciBwYWdlWSA9IGUudHlwZSA9PT0gJ3RvdWNobW92ZScgPyBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVkgOiBlLnBhZ2VZOwoJCWlmIChlLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyKSB7CgkJCXRvdWNoZXMuc3RhcnRYID0gcGFnZVg7CgkJCXRvdWNoZXMuc3RhcnRZID0gcGFnZVk7CgkJCXJldHVybjsKCQl9CgkJaWYgKCFzd2lwZXIuYWxsb3dUb3VjaE1vdmUpIHsKCQkJLy8gaXNNb3ZlZCA9IHRydWU7CgkJCXN3aXBlci5hbGxvd0NsaWNrID0gZmFsc2U7CgkJCWlmIChkYXRhLmlzVG91Y2hlZCkgewoJCQkJVXRpbHMuZXh0ZW5kKHRvdWNoZXMsIHsKCQkJCQlzdGFydFg6IHBhZ2VYLAoJCQkJCXN0YXJ0WTogcGFnZVksCgkJCQkJY3VycmVudFg6IHBhZ2VYLAoJCQkJCWN1cnJlbnRZOiBwYWdlWSwKCQkJCX0pOwoJCQkJZGF0YS50b3VjaFN0YXJ0VGltZSA9IFV0aWxzLm5vdygpOwoJCQl9CgkJCXJldHVybjsKCQl9CgkJaWYgKGRhdGEuaXNUb3VjaEV2ZW50ICYmIHBhcmFtcy50b3VjaFJlbGVhc2VPbkVkZ2VzICYmICFwYXJhbXMubG9vcCkgewoJCQlpZiAoc3dpcGVyLmlzVmVydGljYWwoKSkgewoJCQkJLy8gVmVydGljYWwKCQkJCWlmICgKCQkJCQkocGFnZVkgPCB0b3VjaGVzLnN0YXJ0WSAmJiBzd2lwZXIudHJhbnNsYXRlIDw9IHN3aXBlci5tYXhUcmFuc2xhdGUoKSkgfHwKCQkJCQkocGFnZVkgPiB0b3VjaGVzLnN0YXJ0WSAmJiBzd2lwZXIudHJhbnNsYXRlID49IHN3aXBlci5taW5UcmFuc2xhdGUoKSkKCQkJCSkgewoJCQkJCWRhdGEuaXNUb3VjaGVkID0gZmFsc2U7CgkJCQkJZGF0YS5pc01vdmVkID0gZmFsc2U7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQl9IGVsc2UgaWYgKAoJCQkJKHBhZ2VYIDwgdG91Y2hlcy5zdGFydFggJiYgc3dpcGVyLnRyYW5zbGF0ZSA8PSBzd2lwZXIubWF4VHJhbnNsYXRlKCkpIHx8CgkJCQkocGFnZVggPiB0b3VjaGVzLnN0YXJ0WCAmJiBzd2lwZXIudHJhbnNsYXRlID49IHN3aXBlci5taW5UcmFuc2xhdGUoKSkKCQkJKSB7CgkJCQlyZXR1cm47CgkJCX0KCQl9CgkJaWYgKGRhdGEuaXNUb3VjaEV2ZW50ICYmIGRvYy5hY3RpdmVFbGVtZW50KSB7CgkJCWlmIChlLnRhcmdldCA9PT0gZG9jLmFjdGl2ZUVsZW1lbnQgJiYgJChlLnRhcmdldCkuaXMoZGF0YS5mb3JtRWxlbWVudHMpKSB7CgkJCQlkYXRhLmlzTW92ZWQgPSB0cnVlOwoJCQkJc3dpcGVyLmFsbG93Q2xpY2sgPSBmYWxzZTsKCQkJCXJldHVybjsKCQkJfQoJCX0KCQlpZiAoZGF0YS5hbGxvd1RvdWNoQ2FsbGJhY2tzKSB7CgkJCXN3aXBlci5lbWl0KCd0b3VjaE1vdmUnLCBlKTsKCQl9CgkJaWYgKGUudGFyZ2V0VG91Y2hlcyAmJiBlLnRhcmdldFRvdWNoZXMubGVuZ3RoID4gMSkgeyByZXR1cm47IH0KCgkJdG91Y2hlcy5jdXJyZW50WCA9IHBhZ2VYOwoJCXRvdWNoZXMuY3VycmVudFkgPSBwYWdlWTsKCgkJdmFyIGRpZmZYID0gdG91Y2hlcy5jdXJyZW50WCAtIHRvdWNoZXMuc3RhcnRYOwoJCXZhciBkaWZmWSA9IHRvdWNoZXMuY3VycmVudFkgLSB0b3VjaGVzLnN0YXJ0WTsKCgkJaWYgKHR5cGVvZiBkYXRhLmlzU2Nyb2xsaW5nID09PSAndW5kZWZpbmVkJykgewoJCQl2YXIgdG91Y2hBbmdsZTsKCQkJaWYgKChzd2lwZXIuaXNIb3Jpem9udGFsKCkgJiYgdG91Y2hlcy5jdXJyZW50WSA9PT0gdG91Y2hlcy5zdGFydFkpIHx8IChzd2lwZXIuaXNWZXJ0aWNhbCgpICYmIHRvdWNoZXMuY3VycmVudFggPT09IHRvdWNoZXMuc3RhcnRYKSkgewoJCQkJZGF0YS5pc1Njcm9sbGluZyA9IGZhbHNlOwoJCQl9IGVsc2UgewoJCQkJLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lCgkJCQlpZiAoKGRpZmZYICogZGlmZlgpICsgKGRpZmZZICogZGlmZlkpID49IDI1KSB7CgkJCQkJdG91Y2hBbmdsZSA9IChNYXRoLmF0YW4yKE1hdGguYWJzKGRpZmZZKSwgTWF0aC5hYnMoZGlmZlgpKSAqIDE4MCkgLyBNYXRoLlBJOwoJCQkJCWRhdGEuaXNTY3JvbGxpbmcgPSBzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyB0b3VjaEFuZ2xlID4gcGFyYW1zLnRvdWNoQW5nbGUgOiAoOTAgLSB0b3VjaEFuZ2xlID4gcGFyYW1zLnRvdWNoQW5nbGUpOwoJCQkJfQoJCQl9CgkJfQoJCWlmIChkYXRhLmlzU2Nyb2xsaW5nKSB7CgkJCXN3aXBlci5lbWl0KCd0b3VjaE1vdmVPcHBvc2l0ZScsIGUpOwoJCX0KCQlpZiAodHlwZW9mIHN0YXJ0TW92aW5nID09PSAndW5kZWZpbmVkJykgewoJCQlpZiAodG91Y2hlcy5jdXJyZW50WCAhPT0gdG91Y2hlcy5zdGFydFggfHwgdG91Y2hlcy5jdXJyZW50WSAhPT0gdG91Y2hlcy5zdGFydFkpIHsKCQkJCWRhdGEuc3RhcnRNb3ZpbmcgPSB0cnVlOwoJCQl9CgkJfQoJCWlmIChkYXRhLmlzU2Nyb2xsaW5nKSB7CgkJCWRhdGEuaXNUb3VjaGVkID0gZmFsc2U7CgkJCXJldHVybjsKCQl9CgkJaWYgKCFkYXRhLnN0YXJ0TW92aW5nKSB7CgkJCXJldHVybjsKCQl9CgkJc3dpcGVyLmFsbG93Q2xpY2sgPSBmYWxzZTsKCQllLnByZXZlbnREZWZhdWx0KCk7CgkJaWYgKHBhcmFtcy50b3VjaE1vdmVTdG9wUHJvcGFnYXRpb24gJiYgIXBhcmFtcy5uZXN0ZWQpIHsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQl9CgoJCWlmICghZGF0YS5pc01vdmVkKSB7CgkJCWlmIChwYXJhbXMubG9vcCkgewoJCQkJc3dpcGVyLmxvb3BGaXgoKTsKCQkJfQoJCQlkYXRhLnN0YXJ0VHJhbnNsYXRlID0gc3dpcGVyLmdldFRyYW5zbGF0ZSgpOwoJCQlzd2lwZXIuc2V0VHJhbnNpdGlvbigwKTsKCQkJaWYgKHN3aXBlci5hbmltYXRpbmcpIHsKCQkJCXN3aXBlci4kd3JhcHBlckVsLnRyaWdnZXIoJ3dlYmtpdFRyYW5zaXRpb25FbmQgdHJhbnNpdGlvbmVuZCcpOwoJCQl9CgkJCWRhdGEuYWxsb3dNb21lbnR1bUJvdW5jZSA9IGZhbHNlOwoJCQkvLyBHcmFiIEN1cnNvcgoJCQlpZiAocGFyYW1zLmdyYWJDdXJzb3IgJiYgKHN3aXBlci5hbGxvd1NsaWRlTmV4dCA9PT0gdHJ1ZSB8fCBzd2lwZXIuYWxsb3dTbGlkZVByZXYgPT09IHRydWUpKSB7CgkJCQlzd2lwZXIuc2V0R3JhYkN1cnNvcih0cnVlKTsKCQkJfQoJCQlzd2lwZXIuZW1pdCgnc2xpZGVyRmlyc3RNb3ZlJywgZSk7CgkJfQoJCXN3aXBlci5lbWl0KCdzbGlkZXJNb3ZlJywgZSk7CgkJZGF0YS5pc01vdmVkID0gdHJ1ZTsKCgkJdmFyIGRpZmYgPSBzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyBkaWZmWCA6IGRpZmZZOwoJCXRvdWNoZXMuZGlmZiA9IGRpZmY7CgoJCWRpZmYgKj0gcGFyYW1zLnRvdWNoUmF0aW87CgkJaWYgKHJ0bCkgeyBkaWZmID0gLWRpZmY7IH0KCgkJc3dpcGVyLnN3aXBlRGlyZWN0aW9uID0gZGlmZiA+IDAgPyAncHJldicgOiAnbmV4dCc7CgkJZGF0YS5jdXJyZW50VHJhbnNsYXRlID0gZGlmZiArIGRhdGEuc3RhcnRUcmFuc2xhdGU7CgoJCXZhciBkaXNhYmxlUGFyZW50U3dpcGVyID0gdHJ1ZTsKCQl2YXIgcmVzaXN0YW5jZVJhdGlvID0gcGFyYW1zLnJlc2lzdGFuY2VSYXRpbzsKCQlpZiAocGFyYW1zLnRvdWNoUmVsZWFzZU9uRWRnZXMpIHsKCQkJcmVzaXN0YW5jZVJhdGlvID0gMDsKCQl9CgkJaWYgKChkaWZmID4gMCAmJiBkYXRhLmN1cnJlbnRUcmFuc2xhdGUgPiBzd2lwZXIubWluVHJhbnNsYXRlKCkpKSB7CgkJCWRpc2FibGVQYXJlbnRTd2lwZXIgPSBmYWxzZTsKCQkJaWYgKHBhcmFtcy5yZXNpc3RhbmNlKSB7IGRhdGEuY3VycmVudFRyYW5zbGF0ZSA9IChzd2lwZXIubWluVHJhbnNsYXRlKCkgLSAxKSArIChNYXRoLnBvdyggKC1zd2lwZXIubWluVHJhbnNsYXRlKCkgKyBkYXRhLnN0YXJ0VHJhbnNsYXRlICsgZGlmZiksIHJlc2lzdGFuY2VSYXRpbyApKTsgfQoJCX0gZWxzZSBpZiAoZGlmZiA8IDAgJiYgZGF0YS5jdXJyZW50VHJhbnNsYXRlIDwgc3dpcGVyLm1heFRyYW5zbGF0ZSgpKSB7CgkJCWRpc2FibGVQYXJlbnRTd2lwZXIgPSBmYWxzZTsKCQkJaWYgKHBhcmFtcy5yZXNpc3RhbmNlKSB7IGRhdGEuY3VycmVudFRyYW5zbGF0ZSA9IChzd2lwZXIubWF4VHJhbnNsYXRlKCkgKyAxKSAtIChNYXRoLnBvdyggKHN3aXBlci5tYXhUcmFuc2xhdGUoKSAtIGRhdGEuc3RhcnRUcmFuc2xhdGUgLSBkaWZmKSwgcmVzaXN0YW5jZVJhdGlvICkpOyB9CgkJfQoKCQlpZiAoZGlzYWJsZVBhcmVudFN3aXBlcikgewoJCQllLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyID0gdHJ1ZTsKCQl9CgoJCS8vIERpcmVjdGlvbnMgbG9ja3MKCQlpZiAoIXN3aXBlci5hbGxvd1NsaWRlTmV4dCAmJiBzd2lwZXIuc3dpcGVEaXJlY3Rpb24gPT09ICduZXh0JyAmJiBkYXRhLmN1cnJlbnRUcmFuc2xhdGUgPCBkYXRhLnN0YXJ0VHJhbnNsYXRlKSB7CgkJCWRhdGEuY3VycmVudFRyYW5zbGF0ZSA9IGRhdGEuc3RhcnRUcmFuc2xhdGU7CgkJfQoJCWlmICghc3dpcGVyLmFsbG93U2xpZGVQcmV2ICYmIHN3aXBlci5zd2lwZURpcmVjdGlvbiA9PT0gJ3ByZXYnICYmIGRhdGEuY3VycmVudFRyYW5zbGF0ZSA+IGRhdGEuc3RhcnRUcmFuc2xhdGUpIHsKCQkJZGF0YS5jdXJyZW50VHJhbnNsYXRlID0gZGF0YS5zdGFydFRyYW5zbGF0ZTsKCQl9CgoKCQkvLyBUaHJlc2hvbGQKCQlpZiAocGFyYW1zLnRocmVzaG9sZCA+IDApIHsKCQkJaWYgKE1hdGguYWJzKGRpZmYpID4gcGFyYW1zLnRocmVzaG9sZCB8fCBkYXRhLmFsbG93VGhyZXNob2xkTW92ZSkgewoJCQkJaWYgKCFkYXRhLmFsbG93VGhyZXNob2xkTW92ZSkgewoJCQkJCWRhdGEuYWxsb3dUaHJlc2hvbGRNb3ZlID0gdHJ1ZTsKCQkJCQl0b3VjaGVzLnN0YXJ0WCA9IHRvdWNoZXMuY3VycmVudFg7CgkJCQkJdG91Y2hlcy5zdGFydFkgPSB0b3VjaGVzLmN1cnJlbnRZOwoJCQkJCWRhdGEuY3VycmVudFRyYW5zbGF0ZSA9IGRhdGEuc3RhcnRUcmFuc2xhdGU7CgkJCQkJdG91Y2hlcy5kaWZmID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gdG91Y2hlcy5jdXJyZW50WCAtIHRvdWNoZXMuc3RhcnRYIDogdG91Y2hlcy5jdXJyZW50WSAtIHRvdWNoZXMuc3RhcnRZOwoJCQkJCXJldHVybjsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWRhdGEuY3VycmVudFRyYW5zbGF0ZSA9IGRhdGEuc3RhcnRUcmFuc2xhdGU7CgkJCQlyZXR1cm47CgkJCX0KCQl9CgoJCWlmICghcGFyYW1zLmZvbGxvd0ZpbmdlcikgeyByZXR1cm47IH0KCgkJLy8gVXBkYXRlIGFjdGl2ZSBpbmRleCBpbiBmcmVlIG1vZGUKCQlpZiAocGFyYW1zLmZyZWVNb2RlIHx8IHBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzIHx8IHBhcmFtcy53YXRjaFNsaWRlc1Zpc2liaWxpdHkpIHsKCQkJc3dpcGVyLnVwZGF0ZUFjdGl2ZUluZGV4KCk7CgkJCXN3aXBlci51cGRhdGVTbGlkZXNDbGFzc2VzKCk7CgkJfQoJCWlmIChwYXJhbXMuZnJlZU1vZGUpIHsKCQkJLy8gVmVsb2NpdHkKCQkJaWYgKGRhdGEudmVsb2NpdGllcy5sZW5ndGggPT09IDApIHsKCQkJCWRhdGEudmVsb2NpdGllcy5wdXNoKHsKCQkJCQlwb3NpdGlvbjogdG91Y2hlc1tzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyAnc3RhcnRYJyA6ICdzdGFydFknXSwKCQkJCQl0aW1lOiBkYXRhLnRvdWNoU3RhcnRUaW1lLAoJCQkJfSk7CgkJCX0KCQkJZGF0YS52ZWxvY2l0aWVzLnB1c2goewoJCQkJcG9zaXRpb246IHRvdWNoZXNbc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJ2N1cnJlbnRYJyA6ICdjdXJyZW50WSddLAoJCQkJdGltZTogVXRpbHMubm93KCksCgkJCX0pOwoJCX0KCQkvLyBVcGRhdGUgcHJvZ3Jlc3MKCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MoZGF0YS5jdXJyZW50VHJhbnNsYXRlKTsKCQkvLyBVcGRhdGUgdHJhbnNsYXRlCgkJc3dpcGVyLnNldFRyYW5zbGF0ZShkYXRhLmN1cnJlbnRUcmFuc2xhdGUpOwoJfQoKCWZ1bmN0aW9uIG9uVG91Y2hFbmQgKGV2ZW50KSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyIGRhdGEgPSBzd2lwZXIudG91Y2hFdmVudHNEYXRhOwoKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgdG91Y2hlcyA9IHN3aXBlci50b3VjaGVzOwoJCXZhciBydGwgPSBzd2lwZXIucnRsVHJhbnNsYXRlOwoJCXZhciAkd3JhcHBlckVsID0gc3dpcGVyLiR3cmFwcGVyRWw7CgkJdmFyIHNsaWRlc0dyaWQgPSBzd2lwZXIuc2xpZGVzR3JpZDsKCQl2YXIgc25hcEdyaWQgPSBzd2lwZXIuc25hcEdyaWQ7CgkJdmFyIGUgPSBldmVudDsKCQlpZiAoZS5vcmlnaW5hbEV2ZW50KSB7IGUgPSBlLm9yaWdpbmFsRXZlbnQ7IH0KCQlpZiAoZGF0YS5hbGxvd1RvdWNoQ2FsbGJhY2tzKSB7CgkJCXN3aXBlci5lbWl0KCd0b3VjaEVuZCcsIGUpOwoJCX0KCQlkYXRhLmFsbG93VG91Y2hDYWxsYmFja3MgPSBmYWxzZTsKCQlpZiAoIWRhdGEuaXNUb3VjaGVkKSB7CgkJCWlmIChkYXRhLmlzTW92ZWQgJiYgcGFyYW1zLmdyYWJDdXJzb3IpIHsKCQkJCXN3aXBlci5zZXRHcmFiQ3Vyc29yKGZhbHNlKTsKCQkJfQoJCQlkYXRhLmlzTW92ZWQgPSBmYWxzZTsKCQkJZGF0YS5zdGFydE1vdmluZyA9IGZhbHNlOwoJCQlyZXR1cm47CgkJfQoJCS8vIFJldHVybiBHcmFiIEN1cnNvcgoJCWlmIChwYXJhbXMuZ3JhYkN1cnNvciAmJiBkYXRhLmlzTW92ZWQgJiYgZGF0YS5pc1RvdWNoZWQgJiYgKHN3aXBlci5hbGxvd1NsaWRlTmV4dCA9PT0gdHJ1ZSB8fCBzd2lwZXIuYWxsb3dTbGlkZVByZXYgPT09IHRydWUpKSB7CgkJCXN3aXBlci5zZXRHcmFiQ3Vyc29yKGZhbHNlKTsKCQl9CgoJCS8vIFRpbWUgZGlmZgoJCXZhciB0b3VjaEVuZFRpbWUgPSBVdGlscy5ub3coKTsKCQl2YXIgdGltZURpZmYgPSB0b3VjaEVuZFRpbWUgLSBkYXRhLnRvdWNoU3RhcnRUaW1lOwoKCQkvLyBUYXAsIGRvdWJsZVRhcCwgQ2xpY2sKCQlpZiAoc3dpcGVyLmFsbG93Q2xpY2spIHsKCQkJc3dpcGVyLnVwZGF0ZUNsaWNrZWRTbGlkZShlKTsKCQkJc3dpcGVyLmVtaXQoJ3RhcCcsIGUpOwoJCQlpZiAodGltZURpZmYgPCAzMDAgJiYgKHRvdWNoRW5kVGltZSAtIGRhdGEubGFzdENsaWNrVGltZSkgPiAzMDApIHsKCQkJCWlmIChkYXRhLmNsaWNrVGltZW91dCkgeyBjbGVhclRpbWVvdXQoZGF0YS5jbGlja1RpbWVvdXQpOyB9CgkJCQlkYXRhLmNsaWNrVGltZW91dCA9IFV0aWxzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQlpZiAoIXN3aXBlciB8fCBzd2lwZXIuZGVzdHJveWVkKSB7IHJldHVybjsgfQoJCQkJCXN3aXBlci5lbWl0KCdjbGljaycsIGUpOwoJCQkJfSwgMzAwKTsKCQkJfQoJCQlpZiAodGltZURpZmYgPCAzMDAgJiYgKHRvdWNoRW5kVGltZSAtIGRhdGEubGFzdENsaWNrVGltZSkgPCAzMDApIHsKCQkJCWlmIChkYXRhLmNsaWNrVGltZW91dCkgeyBjbGVhclRpbWVvdXQoZGF0YS5jbGlja1RpbWVvdXQpOyB9CgkJCQlzd2lwZXIuZW1pdCgnZG91YmxlVGFwJywgZSk7CgkJCX0KCQl9CgoJCWRhdGEubGFzdENsaWNrVGltZSA9IFV0aWxzLm5vdygpOwoJCVV0aWxzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKCQkJaWYgKCFzd2lwZXIuZGVzdHJveWVkKSB7IHN3aXBlci5hbGxvd0NsaWNrID0gdHJ1ZTsgfQoJCX0pOwoKCQlpZiAoIWRhdGEuaXNUb3VjaGVkIHx8ICFkYXRhLmlzTW92ZWQgfHwgIXN3aXBlci5zd2lwZURpcmVjdGlvbiB8fCB0b3VjaGVzLmRpZmYgPT09IDAgfHwgZGF0YS5jdXJyZW50VHJhbnNsYXRlID09PSBkYXRhLnN0YXJ0VHJhbnNsYXRlKSB7CgkJCWRhdGEuaXNUb3VjaGVkID0gZmFsc2U7CgkJCWRhdGEuaXNNb3ZlZCA9IGZhbHNlOwoJCQlkYXRhLnN0YXJ0TW92aW5nID0gZmFsc2U7CgkJCXJldHVybjsKCQl9CgkJZGF0YS5pc1RvdWNoZWQgPSBmYWxzZTsKCQlkYXRhLmlzTW92ZWQgPSBmYWxzZTsKCQlkYXRhLnN0YXJ0TW92aW5nID0gZmFsc2U7CgoJCXZhciBjdXJyZW50UG9zOwoJCWlmIChwYXJhbXMuZm9sbG93RmluZ2VyKSB7CgkJCWN1cnJlbnRQb3MgPSBydGwgPyBzd2lwZXIudHJhbnNsYXRlIDogLXN3aXBlci50cmFuc2xhdGU7CgkJfSBlbHNlIHsKCQkJY3VycmVudFBvcyA9IC1kYXRhLmN1cnJlbnRUcmFuc2xhdGU7CgkJfQoKCQlpZiAocGFyYW1zLmZyZWVNb2RlKSB7CgkJCWlmIChjdXJyZW50UG9zIDwgLXN3aXBlci5taW5UcmFuc2xhdGUoKSkgewoJCQkJc3dpcGVyLnNsaWRlVG8oc3dpcGVyLmFjdGl2ZUluZGV4KTsKCQkJCXJldHVybjsKCQkJfSBlbHNlIGlmIChjdXJyZW50UG9zID4gLXN3aXBlci5tYXhUcmFuc2xhdGUoKSkgewoJCQkJaWYgKHN3aXBlci5zbGlkZXMubGVuZ3RoIDwgc25hcEdyaWQubGVuZ3RoKSB7CgkJCQkJc3dpcGVyLnNsaWRlVG8oc25hcEdyaWQubGVuZ3RoIC0gMSk7CgkJCQl9IGVsc2UgewoJCQkJCXN3aXBlci5zbGlkZVRvKHN3aXBlci5zbGlkZXMubGVuZ3RoIC0gMSk7CgkJCQl9CgkJCQlyZXR1cm47CgkJCX0KCgkJCWlmIChwYXJhbXMuZnJlZU1vZGVNb21lbnR1bSkgewoJCQkJaWYgKGRhdGEudmVsb2NpdGllcy5sZW5ndGggPiAxKSB7CgkJCQkJdmFyIGxhc3RNb3ZlRXZlbnQgPSBkYXRhLnZlbG9jaXRpZXMucG9wKCk7CgkJCQkJdmFyIHZlbG9jaXR5RXZlbnQgPSBkYXRhLnZlbG9jaXRpZXMucG9wKCk7CgoJCQkJCXZhciBkaXN0YW5jZSA9IGxhc3RNb3ZlRXZlbnQucG9zaXRpb24gLSB2ZWxvY2l0eUV2ZW50LnBvc2l0aW9uOwoJCQkJCXZhciB0aW1lID0gbGFzdE1vdmVFdmVudC50aW1lIC0gdmVsb2NpdHlFdmVudC50aW1lOwoJCQkJCXN3aXBlci52ZWxvY2l0eSA9IGRpc3RhbmNlIC8gdGltZTsKCQkJCQlzd2lwZXIudmVsb2NpdHkgLz0gMjsKCQkJCQlpZiAoTWF0aC5hYnMoc3dpcGVyLnZlbG9jaXR5KSA8IHBhcmFtcy5mcmVlTW9kZU1pbmltdW1WZWxvY2l0eSkgewoJCQkJCQlzd2lwZXIudmVsb2NpdHkgPSAwOwoJCQkJCX0KCQkJCQkvLyB0aGlzIGltcGxpZXMgdGhhdCB0aGUgdXNlciBzdG9wcGVkIG1vdmluZyBhIGZpbmdlciB0aGVuIHJlbGVhc2VkLgoJCQkJCS8vIFRoZXJlIHdvdWxkIGJlIG5vIGV2ZW50cyB3aXRoIGRpc3RhbmNlIHplcm8sIHNvIHRoZSBsYXN0IGV2ZW50IGlzIHN0YWxlLgoJCQkJCWlmICh0aW1lID4gMTUwIHx8IChVdGlscy5ub3coKSAtIGxhc3RNb3ZlRXZlbnQudGltZSkgPiAzMDApIHsKCQkJCQkJc3dpcGVyLnZlbG9jaXR5ID0gMDsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCXN3aXBlci52ZWxvY2l0eSA9IDA7CgkJCQl9CgkJCQlzd2lwZXIudmVsb2NpdHkgKj0gcGFyYW1zLmZyZWVNb2RlTW9tZW50dW1WZWxvY2l0eVJhdGlvOwoKCQkJCWRhdGEudmVsb2NpdGllcy5sZW5ndGggPSAwOwoJCQkJdmFyIG1vbWVudHVtRHVyYXRpb24gPSAxMDAwICogcGFyYW1zLmZyZWVNb2RlTW9tZW50dW1SYXRpbzsKCQkJCXZhciBtb21lbnR1bURpc3RhbmNlID0gc3dpcGVyLnZlbG9jaXR5ICogbW9tZW50dW1EdXJhdGlvbjsKCgkJCQl2YXIgbmV3UG9zaXRpb24gPSBzd2lwZXIudHJhbnNsYXRlICsgbW9tZW50dW1EaXN0YW5jZTsKCQkJCWlmIChydGwpIHsgbmV3UG9zaXRpb24gPSAtbmV3UG9zaXRpb247IH0KCgkJCQl2YXIgZG9Cb3VuY2UgPSBmYWxzZTsKCQkJCXZhciBhZnRlckJvdW5jZVBvc2l0aW9uOwoJCQkJdmFyIGJvdW5jZUFtb3VudCA9IE1hdGguYWJzKHN3aXBlci52ZWxvY2l0eSkgKiAyMCAqIHBhcmFtcy5mcmVlTW9kZU1vbWVudHVtQm91bmNlUmF0aW87CgkJCQl2YXIgbmVlZHNMb29wRml4OwoJCQkJaWYgKG5ld1Bvc2l0aW9uIDwgc3dpcGVyLm1heFRyYW5zbGF0ZSgpKSB7CgkJCQkJaWYgKHBhcmFtcy5mcmVlTW9kZU1vbWVudHVtQm91bmNlKSB7CgkJCQkJCWlmIChuZXdQb3NpdGlvbiArIHN3aXBlci5tYXhUcmFuc2xhdGUoKSA8IC1ib3VuY2VBbW91bnQpIHsKCQkJCQkJCW5ld1Bvc2l0aW9uID0gc3dpcGVyLm1heFRyYW5zbGF0ZSgpIC0gYm91bmNlQW1vdW50OwoJCQkJCQl9CgkJCQkJCWFmdGVyQm91bmNlUG9zaXRpb24gPSBzd2lwZXIubWF4VHJhbnNsYXRlKCk7CgkJCQkJCWRvQm91bmNlID0gdHJ1ZTsKCQkJCQkJZGF0YS5hbGxvd01vbWVudHVtQm91bmNlID0gdHJ1ZTsKCQkJCQl9IGVsc2UgewoJCQkJCQluZXdQb3NpdGlvbiA9IHN3aXBlci5tYXhUcmFuc2xhdGUoKTsKCQkJCQl9CgkJCQkJaWYgKHBhcmFtcy5sb29wICYmIHBhcmFtcy5jZW50ZXJlZFNsaWRlcykgeyBuZWVkc0xvb3BGaXggPSB0cnVlOyB9CgkJCQl9IGVsc2UgaWYgKG5ld1Bvc2l0aW9uID4gc3dpcGVyLm1pblRyYW5zbGF0ZSgpKSB7CgkJCQkJaWYgKHBhcmFtcy5mcmVlTW9kZU1vbWVudHVtQm91bmNlKSB7CgkJCQkJCWlmIChuZXdQb3NpdGlvbiAtIHN3aXBlci5taW5UcmFuc2xhdGUoKSA+IGJvdW5jZUFtb3VudCkgewoJCQkJCQkJbmV3UG9zaXRpb24gPSBzd2lwZXIubWluVHJhbnNsYXRlKCkgKyBib3VuY2VBbW91bnQ7CgkJCQkJCX0KCQkJCQkJYWZ0ZXJCb3VuY2VQb3NpdGlvbiA9IHN3aXBlci5taW5UcmFuc2xhdGUoKTsKCQkJCQkJZG9Cb3VuY2UgPSB0cnVlOwoJCQkJCQlkYXRhLmFsbG93TW9tZW50dW1Cb3VuY2UgPSB0cnVlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW5ld1Bvc2l0aW9uID0gc3dpcGVyLm1pblRyYW5zbGF0ZSgpOwoJCQkJCX0KCQkJCQlpZiAocGFyYW1zLmxvb3AgJiYgcGFyYW1zLmNlbnRlcmVkU2xpZGVzKSB7IG5lZWRzTG9vcEZpeCA9IHRydWU7IH0KCQkJCX0gZWxzZSBpZiAocGFyYW1zLmZyZWVNb2RlU3RpY2t5KSB7CgkJCQkJdmFyIG5leHRTbGlkZTsKCQkJCQlmb3IgKHZhciBqID0gMDsgaiA8IHNuYXBHcmlkLmxlbmd0aDsgaiArPSAxKSB7CgkJCQkJCWlmIChzbmFwR3JpZFtqXSA+IC1uZXdQb3NpdGlvbikgewoJCQkJCQkJbmV4dFNsaWRlID0gajsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQlpZiAoTWF0aC5hYnMoc25hcEdyaWRbbmV4dFNsaWRlXSAtIG5ld1Bvc2l0aW9uKSA8IE1hdGguYWJzKHNuYXBHcmlkW25leHRTbGlkZSAtIDFdIC0gbmV3UG9zaXRpb24pIHx8IHN3aXBlci5zd2lwZURpcmVjdGlvbiA9PT0gJ25leHQnKSB7CgkJCQkJCW5ld1Bvc2l0aW9uID0gc25hcEdyaWRbbmV4dFNsaWRlXTsKCQkJCQl9IGVsc2UgewoJCQkJCQluZXdQb3NpdGlvbiA9IHNuYXBHcmlkW25leHRTbGlkZSAtIDFdOwoJCQkJCX0KCQkJCQluZXdQb3NpdGlvbiA9IC1uZXdQb3NpdGlvbjsKCQkJCX0KCQkJCWlmIChuZWVkc0xvb3BGaXgpIHsKCQkJCQlzd2lwZXIub25jZSgndHJhbnNpdGlvbkVuZCcsIGZ1bmN0aW9uICgpIHsKCQkJCQkJc3dpcGVyLmxvb3BGaXgoKTsKCQkJCQl9KTsKCQkJCX0KCQkJCS8vIEZpeCBkdXJhdGlvbgoJCQkJaWYgKHN3aXBlci52ZWxvY2l0eSAhPT0gMCkgewoJCQkJCWlmIChydGwpIHsKCQkJCQkJbW9tZW50dW1EdXJhdGlvbiA9IE1hdGguYWJzKCgtbmV3UG9zaXRpb24gLSBzd2lwZXIudHJhbnNsYXRlKSAvIHN3aXBlci52ZWxvY2l0eSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJbW9tZW50dW1EdXJhdGlvbiA9IE1hdGguYWJzKChuZXdQb3NpdGlvbiAtIHN3aXBlci50cmFuc2xhdGUpIC8gc3dpcGVyLnZlbG9jaXR5KTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYgKHBhcmFtcy5mcmVlTW9kZVN0aWNreSkgewoJCQkJCXN3aXBlci5zbGlkZVRvQ2xvc2VzdCgpOwoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlpZiAocGFyYW1zLmZyZWVNb2RlTW9tZW50dW1Cb3VuY2UgJiYgZG9Cb3VuY2UpIHsKCQkJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MoYWZ0ZXJCb3VuY2VQb3NpdGlvbik7CgkJCQkJc3dpcGVyLnNldFRyYW5zaXRpb24obW9tZW50dW1EdXJhdGlvbik7CgkJCQkJc3dpcGVyLnNldFRyYW5zbGF0ZShuZXdQb3NpdGlvbik7CgkJCQkJc3dpcGVyLnRyYW5zaXRpb25TdGFydCh0cnVlLCBzd2lwZXIuc3dpcGVEaXJlY3Rpb24pOwoJCQkJCXN3aXBlci5hbmltYXRpbmcgPSB0cnVlOwoJCQkJCSR3cmFwcGVyRWwudHJhbnNpdGlvbkVuZChmdW5jdGlvbiAoKSB7CgkJCQkJCWlmICghc3dpcGVyIHx8IHN3aXBlci5kZXN0cm95ZWQgfHwgIWRhdGEuYWxsb3dNb21lbnR1bUJvdW5jZSkgeyByZXR1cm47IH0KCQkJCQkJc3dpcGVyLmVtaXQoJ21vbWVudHVtQm91bmNlJyk7CgoJCQkJCQlzd2lwZXIuc2V0VHJhbnNpdGlvbihwYXJhbXMuc3BlZWQpOwoJCQkJCQlzd2lwZXIuc2V0VHJhbnNsYXRlKGFmdGVyQm91bmNlUG9zaXRpb24pOwoJCQkJCQkkd3JhcHBlckVsLnRyYW5zaXRpb25FbmQoZnVuY3Rpb24gKCkgewoJCQkJCQkJaWYgKCFzd2lwZXIgfHwgc3dpcGVyLmRlc3Ryb3llZCkgeyByZXR1cm47IH0KCQkJCQkJCXN3aXBlci50cmFuc2l0aW9uRW5kKCk7CgkJCQkJCX0pOwoJCQkJCX0pOwoJCQkJfSBlbHNlIGlmIChzd2lwZXIudmVsb2NpdHkpIHsKCQkJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MobmV3UG9zaXRpb24pOwoJCQkJCXN3aXBlci5zZXRUcmFuc2l0aW9uKG1vbWVudHVtRHVyYXRpb24pOwoJCQkJCXN3aXBlci5zZXRUcmFuc2xhdGUobmV3UG9zaXRpb24pOwoJCQkJCXN3aXBlci50cmFuc2l0aW9uU3RhcnQodHJ1ZSwgc3dpcGVyLnN3aXBlRGlyZWN0aW9uKTsKCQkJCQlpZiAoIXN3aXBlci5hbmltYXRpbmcpIHsKCQkJCQkJc3dpcGVyLmFuaW1hdGluZyA9IHRydWU7CgkJCQkJCSR3cmFwcGVyRWwudHJhbnNpdGlvbkVuZChmdW5jdGlvbiAoKSB7CgkJCQkJCQlpZiAoIXN3aXBlciB8fCBzd2lwZXIuZGVzdHJveWVkKSB7IHJldHVybjsgfQoJCQkJCQkJc3dpcGVyLnRyYW5zaXRpb25FbmQoKTsKCQkJCQkJfSk7CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MobmV3UG9zaXRpb24pOwoJCQkJfQoKCQkJCXN3aXBlci51cGRhdGVBY3RpdmVJbmRleCgpOwoJCQkJc3dpcGVyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCQkJfSBlbHNlIGlmIChwYXJhbXMuZnJlZU1vZGVTdGlja3kpIHsKCQkJCXN3aXBlci5zbGlkZVRvQ2xvc2VzdCgpOwoJCQkJcmV0dXJuOwoJCQl9CgoJCQlpZiAoIXBhcmFtcy5mcmVlTW9kZU1vbWVudHVtIHx8IHRpbWVEaWZmID49IHBhcmFtcy5sb25nU3dpcGVzTXMpIHsKCQkJCXN3aXBlci51cGRhdGVQcm9ncmVzcygpOwoJCQkJc3dpcGVyLnVwZGF0ZUFjdGl2ZUluZGV4KCk7CgkJCQlzd2lwZXIudXBkYXRlU2xpZGVzQ2xhc3NlcygpOwoJCQl9CgkJCXJldHVybjsKCQl9CgoJCS8vIEZpbmQgY3VycmVudCBzbGlkZQoJCXZhciBzdG9wSW5kZXggPSAwOwoJCXZhciBncm91cFNpemUgPSBzd2lwZXIuc2xpZGVzU2l6ZXNHcmlkWzBdOwoJCWZvciAodmFyIGkgPSAwOyBpIDwgc2xpZGVzR3JpZC5sZW5ndGg7IGkgKz0gcGFyYW1zLnNsaWRlc1Blckdyb3VwKSB7CgkJCWlmICh0eXBlb2Ygc2xpZGVzR3JpZFtpICsgcGFyYW1zLnNsaWRlc1Blckdyb3VwXSAhPT0gJ3VuZGVmaW5lZCcpIHsKCQkJCWlmIChjdXJyZW50UG9zID49IHNsaWRlc0dyaWRbaV0gJiYgY3VycmVudFBvcyA8IHNsaWRlc0dyaWRbaSArIHBhcmFtcy5zbGlkZXNQZXJHcm91cF0pIHsKCQkJCQlzdG9wSW5kZXggPSBpOwoJCQkJCWdyb3VwU2l6ZSA9IHNsaWRlc0dyaWRbaSArIHBhcmFtcy5zbGlkZXNQZXJHcm91cF0gLSBzbGlkZXNHcmlkW2ldOwoJCQkJfQoJCQl9IGVsc2UgaWYgKGN1cnJlbnRQb3MgPj0gc2xpZGVzR3JpZFtpXSkgewoJCQkJc3RvcEluZGV4ID0gaTsKCQkJCWdyb3VwU2l6ZSA9IHNsaWRlc0dyaWRbc2xpZGVzR3JpZC5sZW5ndGggLSAxXSAtIHNsaWRlc0dyaWRbc2xpZGVzR3JpZC5sZW5ndGggLSAyXTsKCQkJfQoJCX0KCgkJLy8gRmluZCBjdXJyZW50IHNsaWRlIHNpemUKCQl2YXIgcmF0aW8gPSAoY3VycmVudFBvcyAtIHNsaWRlc0dyaWRbc3RvcEluZGV4XSkgLyBncm91cFNpemU7CgoJCWlmICh0aW1lRGlmZiA+IHBhcmFtcy5sb25nU3dpcGVzTXMpIHsKCQkJLy8gTG9uZyB0b3VjaGVzCgkJCWlmICghcGFyYW1zLmxvbmdTd2lwZXMpIHsKCQkJCXN3aXBlci5zbGlkZVRvKHN3aXBlci5hY3RpdmVJbmRleCk7CgkJCQlyZXR1cm47CgkJCX0KCQkJaWYgKHN3aXBlci5zd2lwZURpcmVjdGlvbiA9PT0gJ25leHQnKSB7CgkJCQlpZiAocmF0aW8gPj0gcGFyYW1zLmxvbmdTd2lwZXNSYXRpbykgeyBzd2lwZXIuc2xpZGVUbyhzdG9wSW5kZXggKyBwYXJhbXMuc2xpZGVzUGVyR3JvdXApOyB9CgkJCQllbHNlIHsgc3dpcGVyLnNsaWRlVG8oc3RvcEluZGV4KTsgfQoJCQl9CgkJCWlmIChzd2lwZXIuc3dpcGVEaXJlY3Rpb24gPT09ICdwcmV2JykgewoJCQkJaWYgKHJhdGlvID4gKDEgLSBwYXJhbXMubG9uZ1N3aXBlc1JhdGlvKSkgeyBzd2lwZXIuc2xpZGVUbyhzdG9wSW5kZXggKyBwYXJhbXMuc2xpZGVzUGVyR3JvdXApOyB9CgkJCQllbHNlIHsgc3dpcGVyLnNsaWRlVG8oc3RvcEluZGV4KTsgfQoJCQl9CgkJfSBlbHNlIHsKCQkJLy8gU2hvcnQgc3dpcGVzCgkJCWlmICghcGFyYW1zLnNob3J0U3dpcGVzKSB7CgkJCQlzd2lwZXIuc2xpZGVUbyhzd2lwZXIuYWN0aXZlSW5kZXgpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCWlmIChzd2lwZXIuc3dpcGVEaXJlY3Rpb24gPT09ICduZXh0JykgewoJCQkJc3dpcGVyLnNsaWRlVG8oc3RvcEluZGV4ICsgcGFyYW1zLnNsaWRlc1Blckdyb3VwKTsKCQkJfQoJCQlpZiAoc3dpcGVyLnN3aXBlRGlyZWN0aW9uID09PSAncHJldicpIHsKCQkJCXN3aXBlci5zbGlkZVRvKHN0b3BJbmRleCk7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gb25SZXNpemUgKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoKCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQl2YXIgZWwgPSBzd2lwZXIuZWw7CgoJCWlmIChlbCAmJiBlbC5vZmZzZXRXaWR0aCA9PT0gMCkgeyByZXR1cm47IH0KCgkJLy8gQnJlYWtwb2ludHMKCQlpZiAocGFyYW1zLmJyZWFrcG9pbnRzKSB7CgkJCXN3aXBlci5zZXRCcmVha3BvaW50KCk7CgkJfQoKCQkvLyBTYXZlIGxvY2tzCgkJdmFyIGFsbG93U2xpZGVOZXh0ID0gc3dpcGVyLmFsbG93U2xpZGVOZXh0OwoJCXZhciBhbGxvd1NsaWRlUHJldiA9IHN3aXBlci5hbGxvd1NsaWRlUHJldjsKCQl2YXIgc25hcEdyaWQgPSBzd2lwZXIuc25hcEdyaWQ7CgoJCS8vIERpc2FibGUgbG9ja3Mgb24gcmVzaXplCgkJc3dpcGVyLmFsbG93U2xpZGVOZXh0ID0gdHJ1ZTsKCQlzd2lwZXIuYWxsb3dTbGlkZVByZXYgPSB0cnVlOwoKCQlzd2lwZXIudXBkYXRlU2l6ZSgpOwoJCXN3aXBlci51cGRhdGVTbGlkZXMoKTsKCgkJaWYgKHBhcmFtcy5mcmVlTW9kZSkgewoJCQl2YXIgbmV3VHJhbnNsYXRlID0gTWF0aC5taW4oTWF0aC5tYXgoc3dpcGVyLnRyYW5zbGF0ZSwgc3dpcGVyLm1heFRyYW5zbGF0ZSgpKSwgc3dpcGVyLm1pblRyYW5zbGF0ZSgpKTsKCQkJc3dpcGVyLnNldFRyYW5zbGF0ZShuZXdUcmFuc2xhdGUpOwoJCQlzd2lwZXIudXBkYXRlQWN0aXZlSW5kZXgoKTsKCQkJc3dpcGVyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCgkJCWlmIChwYXJhbXMuYXV0b0hlaWdodCkgewoJCQkJc3dpcGVyLnVwZGF0ZUF1dG9IZWlnaHQoKTsKCQkJfQoJCX0gZWxzZSB7CgkJCXN3aXBlci51cGRhdGVTbGlkZXNDbGFzc2VzKCk7CgkJCWlmICgocGFyYW1zLnNsaWRlc1BlclZpZXcgPT09ICdhdXRvJyB8fCBwYXJhbXMuc2xpZGVzUGVyVmlldyA+IDEpICYmIHN3aXBlci5pc0VuZCAmJiAhc3dpcGVyLnBhcmFtcy5jZW50ZXJlZFNsaWRlcykgewoJCQkJc3dpcGVyLnNsaWRlVG8oc3dpcGVyLnNsaWRlcy5sZW5ndGggLSAxLCAwLCBmYWxzZSwgdHJ1ZSk7CgkJCX0gZWxzZSB7CgkJCQlzd2lwZXIuc2xpZGVUbyhzd2lwZXIuYWN0aXZlSW5kZXgsIDAsIGZhbHNlLCB0cnVlKTsKCQkJfQoJCX0KCQkvLyBSZXR1cm4gbG9ja3MgYWZ0ZXIgcmVzaXplCgkJc3dpcGVyLmFsbG93U2xpZGVQcmV2ID0gYWxsb3dTbGlkZVByZXY7CgkJc3dpcGVyLmFsbG93U2xpZGVOZXh0ID0gYWxsb3dTbGlkZU5leHQ7CgoJCWlmIChzd2lwZXIucGFyYW1zLndhdGNoT3ZlcmZsb3cgJiYgc25hcEdyaWQgIT09IHN3aXBlci5zbmFwR3JpZCkgewoJCQlzd2lwZXIuY2hlY2tPdmVyZmxvdygpOwoJCX0KCX0KCglmdW5jdGlvbiBvbkNsaWNrIChlKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJaWYgKCFzd2lwZXIuYWxsb3dDbGljaykgewoJCQlpZiAoc3dpcGVyLnBhcmFtcy5wcmV2ZW50Q2xpY2tzKSB7IGUucHJldmVudERlZmF1bHQoKTsgfQoJCQlpZiAoc3dpcGVyLnBhcmFtcy5wcmV2ZW50Q2xpY2tzUHJvcGFnYXRpb24gJiYgc3dpcGVyLmFuaW1hdGluZykgewoJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCWUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gYXR0YWNoRXZlbnRzKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciB0b3VjaEV2ZW50cyA9IHN3aXBlci50b3VjaEV2ZW50czsKCQl2YXIgZWwgPSBzd2lwZXIuZWw7CgkJdmFyIHdyYXBwZXJFbCA9IHN3aXBlci53cmFwcGVyRWw7CgoJCXsKCQkJc3dpcGVyLm9uVG91Y2hTdGFydCA9IG9uVG91Y2hTdGFydC5iaW5kKHN3aXBlcik7CgkJCXN3aXBlci5vblRvdWNoTW92ZSA9IG9uVG91Y2hNb3ZlLmJpbmQoc3dpcGVyKTsKCQkJc3dpcGVyLm9uVG91Y2hFbmQgPSBvblRvdWNoRW5kLmJpbmQoc3dpcGVyKTsKCQl9CgoJCXN3aXBlci5vbkNsaWNrID0gb25DbGljay5iaW5kKHN3aXBlcik7CgoJCXZhciB0YXJnZXQgPSBwYXJhbXMudG91Y2hFdmVudHNUYXJnZXQgPT09ICdjb250YWluZXInID8gZWwgOiB3cmFwcGVyRWw7CgkJdmFyIGNhcHR1cmUgPSAhIXBhcmFtcy5uZXN0ZWQ7CgoJCS8vIFRvdWNoIEV2ZW50cwoJCXsKCQkJaWYgKCFTdXBwb3J0LnRvdWNoICYmIChTdXBwb3J0LnBvaW50ZXJFdmVudHMgfHwgU3VwcG9ydC5wcmVmaXhlZFBvaW50ZXJFdmVudHMpKSB7CgkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5zdGFydCwgc3dpcGVyLm9uVG91Y2hTdGFydCwgZmFsc2UpOwoJCQkJZG9jLmFkZEV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMubW92ZSwgc3dpcGVyLm9uVG91Y2hNb3ZlLCBjYXB0dXJlKTsKCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKHRvdWNoRXZlbnRzLmVuZCwgc3dpcGVyLm9uVG91Y2hFbmQsIGZhbHNlKTsKCQkJfSBlbHNlIHsKCQkJCWlmIChTdXBwb3J0LnRvdWNoKSB7CgkJCQkJdmFyIHBhc3NpdmVMaXN0ZW5lciA9IHRvdWNoRXZlbnRzLnN0YXJ0ID09PSAndG91Y2hzdGFydCcgJiYgU3VwcG9ydC5wYXNzaXZlTGlzdGVuZXIgJiYgcGFyYW1zLnBhc3NpdmVMaXN0ZW5lcnMgPyB7IHBhc3NpdmU6IHRydWUsIGNhcHR1cmU6IGZhbHNlIH0gOiBmYWxzZTsKCQkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5zdGFydCwgc3dpcGVyLm9uVG91Y2hTdGFydCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5tb3ZlLCBzd2lwZXIub25Ub3VjaE1vdmUsIFN1cHBvcnQucGFzc2l2ZUxpc3RlbmVyID8geyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogY2FwdHVyZSB9IDogY2FwdHVyZSk7CgkJCQkJdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMuZW5kLCBzd2lwZXIub25Ub3VjaEVuZCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCX0KCQkJCWlmICgocGFyYW1zLnNpbXVsYXRlVG91Y2ggJiYgIURldmljZS5pb3MgJiYgIURldmljZS5hbmRyb2lkKSB8fCAocGFyYW1zLnNpbXVsYXRlVG91Y2ggJiYgIVN1cHBvcnQudG91Y2ggJiYgRGV2aWNlLmlvcykpIHsKCQkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgc3dpcGVyLm9uVG91Y2hTdGFydCwgZmFsc2UpOwoJCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzd2lwZXIub25Ub3VjaE1vdmUsIGNhcHR1cmUpOwoJCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3dpcGVyLm9uVG91Y2hFbmQsIGZhbHNlKTsKCQkJCX0KCQkJfQoJCQkvLyBQcmV2ZW50IExpbmtzIENsaWNrcwoJCQlpZiAocGFyYW1zLnByZXZlbnRDbGlja3MgfHwgcGFyYW1zLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbikgewoJCQkJdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgc3dpcGVyLm9uQ2xpY2ssIHRydWUpOwoJCQl9CgkJfQoKCQkvLyBSZXNpemUgaGFuZGxlcgoJCXN3aXBlci5vbigncmVzaXplIG9ic2VydmVyVXBkYXRlJywgb25SZXNpemUsIHRydWUpOwoJfQoKCWZ1bmN0aW9uIGRldGFjaEV2ZW50cygpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCgkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJdmFyIHRvdWNoRXZlbnRzID0gc3dpcGVyLnRvdWNoRXZlbnRzOwoJCXZhciBlbCA9IHN3aXBlci5lbDsKCQl2YXIgd3JhcHBlckVsID0gc3dpcGVyLndyYXBwZXJFbDsKCgkJdmFyIHRhcmdldCA9IHBhcmFtcy50b3VjaEV2ZW50c1RhcmdldCA9PT0gJ2NvbnRhaW5lcicgPyBlbCA6IHdyYXBwZXJFbDsKCQl2YXIgY2FwdHVyZSA9ICEhcGFyYW1zLm5lc3RlZDsKCgkJLy8gVG91Y2ggRXZlbnRzCgkJewoJCQlpZiAoIVN1cHBvcnQudG91Y2ggJiYgKFN1cHBvcnQucG9pbnRlckV2ZW50cyB8fCBTdXBwb3J0LnByZWZpeGVkUG9pbnRlckV2ZW50cykpIHsKCQkJCXRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHRvdWNoRXZlbnRzLnN0YXJ0LCBzd2lwZXIub25Ub3VjaFN0YXJ0LCBmYWxzZSk7CgkJCQlkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5tb3ZlLCBzd2lwZXIub25Ub3VjaE1vdmUsIGNhcHR1cmUpOwoJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMuZW5kLCBzd2lwZXIub25Ub3VjaEVuZCwgZmFsc2UpOwoJCQl9IGVsc2UgewoJCQkJaWYgKFN1cHBvcnQudG91Y2gpIHsKCQkJCQl2YXIgcGFzc2l2ZUxpc3RlbmVyID0gdG91Y2hFdmVudHMuc3RhcnQgPT09ICdvblRvdWNoU3RhcnQnICYmIFN1cHBvcnQucGFzc2l2ZUxpc3RlbmVyICYmIHBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzID8geyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiBmYWxzZSB9IDogZmFsc2U7CgkJCQkJdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMuc3RhcnQsIHN3aXBlci5vblRvdWNoU3RhcnQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCQkJdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMubW92ZSwgc3dpcGVyLm9uVG91Y2hNb3ZlLCBjYXB0dXJlKTsKCQkJCQl0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5lbmQsIHN3aXBlci5vblRvdWNoRW5kLCBwYXNzaXZlTGlzdGVuZXIpOwoJCQkJfQoJCQkJaWYgKChwYXJhbXMuc2ltdWxhdGVUb3VjaCAmJiAhRGV2aWNlLmlvcyAmJiAhRGV2aWNlLmFuZHJvaWQpIHx8IChwYXJhbXMuc2ltdWxhdGVUb3VjaCAmJiAhU3VwcG9ydC50b3VjaCAmJiBEZXZpY2UuaW9zKSkgewoJCQkJCXRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzd2lwZXIub25Ub3VjaFN0YXJ0LCBmYWxzZSk7CgkJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN3aXBlci5vblRvdWNoTW92ZSwgY2FwdHVyZSk7CgkJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzd2lwZXIub25Ub3VjaEVuZCwgZmFsc2UpOwoJCQkJfQoJCQl9CgkJCS8vIFByZXZlbnQgTGlua3MgQ2xpY2tzCgkJCWlmIChwYXJhbXMucHJldmVudENsaWNrcyB8fCBwYXJhbXMucHJldmVudENsaWNrc1Byb3BhZ2F0aW9uKSB7CgkJCQl0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBzd2lwZXIub25DbGljaywgdHJ1ZSk7CgkJCX0KCQl9CgoJCS8vIFJlc2l6ZSBoYW5kbGVyCgkJc3dpcGVyLm9mZigncmVzaXplIG9ic2VydmVyVXBkYXRlJywgb25SZXNpemUpOwoJfQoKCXZhciBldmVudHMgPSB7CgkJYXR0YWNoRXZlbnRzOiBhdHRhY2hFdmVudHMsCgkJZGV0YWNoRXZlbnRzOiBkZXRhY2hFdmVudHMsCgl9OwoKCWZ1bmN0aW9uIHNldEJyZWFrcG9pbnQgKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQl2YXIgaW5pdGlhbGl6ZWQgPSBzd2lwZXIuaW5pdGlhbGl6ZWQ7CgkJdmFyIGxvb3BlZFNsaWRlcyA9IHN3aXBlci5sb29wZWRTbGlkZXM7IGlmICggbG9vcGVkU2xpZGVzID09PSB2b2lkIDAgKSBsb29wZWRTbGlkZXMgPSAwOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciBicmVha3BvaW50cyA9IHBhcmFtcy5icmVha3BvaW50czsKCQlpZiAoIWJyZWFrcG9pbnRzIHx8IChicmVha3BvaW50cyAmJiBPYmplY3Qua2V5cyhicmVha3BvaW50cykubGVuZ3RoID09PSAwKSkgeyByZXR1cm47IH0KCQkvLyBTZXQgYnJlYWtwb2ludCBmb3Igd2luZG93IHdpZHRoIGFuZCB1cGRhdGUgcGFyYW1ldGVycwoJCXZhciBicmVha3BvaW50ID0gc3dpcGVyLmdldEJyZWFrcG9pbnQoYnJlYWtwb2ludHMpOwoJCWlmIChicmVha3BvaW50ICYmIHN3aXBlci5jdXJyZW50QnJlYWtwb2ludCAhPT0gYnJlYWtwb2ludCkgewoJCQl2YXIgYnJlYWtQb2ludHNQYXJhbXMgPSBicmVha3BvaW50IGluIGJyZWFrcG9pbnRzID8gYnJlYWtwb2ludHNbYnJlYWtwb2ludF0gOiBzd2lwZXIub3JpZ2luYWxQYXJhbXM7CgkJCXZhciBuZWVkc1JlTG9vcCA9IHBhcmFtcy5sb29wICYmIChicmVha1BvaW50c1BhcmFtcy5zbGlkZXNQZXJWaWV3ICE9PSBwYXJhbXMuc2xpZGVzUGVyVmlldyk7CgoJCQlVdGlscy5leHRlbmQoc3dpcGVyLnBhcmFtcywgYnJlYWtQb2ludHNQYXJhbXMpOwoKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJYWxsb3dUb3VjaE1vdmU6IHN3aXBlci5wYXJhbXMuYWxsb3dUb3VjaE1vdmUsCgkJCQlhbGxvd1NsaWRlTmV4dDogc3dpcGVyLnBhcmFtcy5hbGxvd1NsaWRlTmV4dCwKCQkJCWFsbG93U2xpZGVQcmV2OiBzd2lwZXIucGFyYW1zLmFsbG93U2xpZGVQcmV2LAoJCQl9KTsKCgkJCXN3aXBlci5jdXJyZW50QnJlYWtwb2ludCA9IGJyZWFrcG9pbnQ7CgoJCQlpZiAobmVlZHNSZUxvb3AgJiYgaW5pdGlhbGl6ZWQpIHsKCQkJCXN3aXBlci5sb29wRGVzdHJveSgpOwoJCQkJc3dpcGVyLmxvb3BDcmVhdGUoKTsKCQkJCXN3aXBlci51cGRhdGVTbGlkZXMoKTsKCQkJCXN3aXBlci5zbGlkZVRvKChhY3RpdmVJbmRleCAtIGxvb3BlZFNsaWRlcykgKyBzd2lwZXIubG9vcGVkU2xpZGVzLCAwLCBmYWxzZSk7CgkJCX0KCQkJc3dpcGVyLmVtaXQoJ2JyZWFrcG9pbnQnLCBicmVha1BvaW50c1BhcmFtcyk7CgkJfQoJfQoKCWZ1bmN0aW9uIGdldEJyZWFrcG9pbnQgKGJyZWFrcG9pbnRzKSB7CgkJLy8gR2V0IGJyZWFrcG9pbnQgZm9yIHdpbmRvdyB3aWR0aAoJCWlmICghYnJlYWtwb2ludHMpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfQoJCXZhciBicmVha3BvaW50ID0gZmFsc2U7CgkJdmFyIHBvaW50cyA9IFtdOwoJCU9iamVjdC5rZXlzKGJyZWFrcG9pbnRzKS5mb3JFYWNoKGZ1bmN0aW9uIChwb2ludCkgewoJCQlwb2ludHMucHVzaChwb2ludCk7CgkJfSk7CgkJcG9pbnRzLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIHBhcnNlSW50KGEsIDEwKSAtIHBhcnNlSW50KGIsIDEwKTsgfSk7CgkJZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIHBvaW50ID0gcG9pbnRzW2ldOwoJCQlpZiAocG9pbnQgPj0gd2luLmlubmVyV2lkdGggJiYgIWJyZWFrcG9pbnQpIHsKCQkJCWJyZWFrcG9pbnQgPSBwb2ludDsKCQkJfQoJCX0KCQlyZXR1cm4gYnJlYWtwb2ludCB8fCAnbWF4JzsKCX0KCgl2YXIgYnJlYWtwb2ludHMgPSB7IHNldEJyZWFrcG9pbnQ6IHNldEJyZWFrcG9pbnQsIGdldEJyZWFrcG9pbnQ6IGdldEJyZWFrcG9pbnQgfTsKCgl2YXIgQnJvd3NlciA9IChmdW5jdGlvbiBCcm93c2VyKCkgewoJCWZ1bmN0aW9uIGlzU2FmYXJpKCkgewoJCQl2YXIgdWEgPSB3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpOwoJCQlyZXR1cm4gKHVhLmluZGV4T2YoJ3NhZmFyaScpID49IDAgJiYgdWEuaW5kZXhPZignY2hyb21lJykgPCAwICYmIHVhLmluZGV4T2YoJ2FuZHJvaWQnKSA8IDApOwoJCX0KCQlyZXR1cm4gewoJCQlpc0lFOiAhIXdpbi5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9UcmlkZW50L2cpIHx8ICEhd2luLm5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL01TSUUvZyksCgkJCWlzU2FmYXJpOiBpc1NhZmFyaSgpLAoJCQlpc1VpV2ViVmlldzogLyhpUGhvbmV8aVBvZHxpUGFkKS4qQXBwbGVXZWJLaXQoPyEuKlNhZmFyaSkvaS50ZXN0KHdpbi5uYXZpZ2F0b3IudXNlckFnZW50KSwKCQl9OwoJfSgpKTsKCglmdW5jdGlvbiBhZGRDbGFzc2VzICgpIHsKCQl2YXIgc3dpcGVyID0gdGhpczsKCQl2YXIgY2xhc3NOYW1lcyA9IHN3aXBlci5jbGFzc05hbWVzOwoJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zOwoJCXZhciBydGwgPSBzd2lwZXIucnRsOwoJCXZhciAkZWwgPSBzd2lwZXIuJGVsOwoJCXZhciBzdWZmaXhlcyA9IFtdOwoKCQlzdWZmaXhlcy5wdXNoKHBhcmFtcy5kaXJlY3Rpb24pOwoKCQlpZiAocGFyYW1zLmZyZWVNb2RlKSB7CgkJCXN1ZmZpeGVzLnB1c2goJ2ZyZWUtbW9kZScpOwoJCX0KCQlpZiAoIVN1cHBvcnQuZmxleGJveCkgewoJCQlzdWZmaXhlcy5wdXNoKCduby1mbGV4Ym94Jyk7CgkJfQoJCWlmIChwYXJhbXMuYXV0b0hlaWdodCkgewoJCQlzdWZmaXhlcy5wdXNoKCdhdXRvaGVpZ2h0Jyk7CgkJfQoJCWlmIChydGwpIHsKCQkJc3VmZml4ZXMucHVzaCgncnRsJyk7CgkJfQoJCWlmIChwYXJhbXMuc2xpZGVzUGVyQ29sdW1uID4gMSkgewoJCQlzdWZmaXhlcy5wdXNoKCdtdWx0aXJvdycpOwoJCX0KCQlpZiAoRGV2aWNlLmFuZHJvaWQpIHsKCQkJc3VmZml4ZXMucHVzaCgnYW5kcm9pZCcpOwoJCX0KCQlpZiAoRGV2aWNlLmlvcykgewoJCQlzdWZmaXhlcy5wdXNoKCdpb3MnKTsKCQl9CgkJLy8gV1A4IFRvdWNoIEV2ZW50cyBGaXgKCQlpZiAoQnJvd3Nlci5pc0lFICYmIChTdXBwb3J0LnBvaW50ZXJFdmVudHMgfHwgU3VwcG9ydC5wcmVmaXhlZFBvaW50ZXJFdmVudHMpKSB7CgkJCXN1ZmZpeGVzLnB1c2goKCJ3cDgtIiArIChwYXJhbXMuZGlyZWN0aW9uKSkpOwoJCX0KCgkJc3VmZml4ZXMuZm9yRWFjaChmdW5jdGlvbiAoc3VmZml4KSB7CgkJCWNsYXNzTmFtZXMucHVzaChwYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcyArIHN1ZmZpeCk7CgkJfSk7CgoJCSRlbC5hZGRDbGFzcyhjbGFzc05hbWVzLmpvaW4oJyAnKSk7Cgl9CgoJZnVuY3Rpb24gcmVtb3ZlQ2xhc3NlcyAoKSB7CgkJdmFyIHN3aXBlciA9IHRoaXM7CgkJdmFyICRlbCA9IHN3aXBlci4kZWw7CgkJdmFyIGNsYXNzTmFtZXMgPSBzd2lwZXIuY2xhc3NOYW1lczsKCgkJJGVsLnJlbW92ZUNsYXNzKGNsYXNzTmFtZXMuam9pbignICcpKTsKCX0KCgl2YXIgY2xhc3NlcyA9IHsgYWRkQ2xhc3NlczogYWRkQ2xhc3NlcywgcmVtb3ZlQ2xhc3NlczogcmVtb3ZlQ2xhc3NlcyB9OwoKCWZ1bmN0aW9uIGxvYWRJbWFnZSAoaW1hZ2VFbCwgc3JjLCBzcmNzZXQsIHNpemVzLCBjaGVja0ZvckNvbXBsZXRlLCBjYWxsYmFjaykgewoJCXZhciBpbWFnZTsKCQlmdW5jdGlvbiBvblJlYWR5KCkgewoJCQlpZiAoY2FsbGJhY2spIHsgY2FsbGJhY2soKTsgfQoJCX0KCQlpZiAoIWltYWdlRWwuY29tcGxldGUgfHwgIWNoZWNrRm9yQ29tcGxldGUpIHsKCQkJaWYgKHNyYykgewoJCQkJaW1hZ2UgPSBuZXcgd2luLkltYWdlKCk7CgkJCQlpbWFnZS5vbmxvYWQgPSBvblJlYWR5OwoJCQkJaW1hZ2Uub25lcnJvciA9IG9uUmVhZHk7CgkJCQlpZiAoc2l6ZXMpIHsKCQkJCQlpbWFnZS5zaXplcyA9IHNpemVzOwoJCQkJfQoJCQkJaWYgKHNyY3NldCkgewoJCQkJCWltYWdlLnNyY3NldCA9IHNyY3NldDsKCQkJCX0KCQkJCWlmIChzcmMpIHsKCQkJCQlpbWFnZS5zcmMgPSBzcmM7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlvblJlYWR5KCk7CgkJCX0KCQl9IGVsc2UgewoJCQkvLyBpbWFnZSBhbHJlYWR5IGxvYWRlZC4uLgoJCQlvblJlYWR5KCk7CgkJfQoJfQoKCWZ1bmN0aW9uIHByZWxvYWRJbWFnZXMgKCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXN3aXBlci5pbWFnZXNUb0xvYWQgPSBzd2lwZXIuJGVsLmZpbmQoJ2ltZycpOwoJCWZ1bmN0aW9uIG9uUmVhZHkoKSB7CgkJCWlmICh0eXBlb2Ygc3dpcGVyID09PSAndW5kZWZpbmVkJyB8fCBzd2lwZXIgPT09IG51bGwgfHwgIXN3aXBlciB8fCBzd2lwZXIuZGVzdHJveWVkKSB7IHJldHVybjsgfQoJCQlpZiAoc3dpcGVyLmltYWdlc0xvYWRlZCAhPT0gdW5kZWZpbmVkKSB7IHN3aXBlci5pbWFnZXNMb2FkZWQgKz0gMTsgfQoJCQlpZiAoc3dpcGVyLmltYWdlc0xvYWRlZCA9PT0gc3dpcGVyLmltYWdlc1RvTG9hZC5sZW5ndGgpIHsKCQkJCWlmIChzd2lwZXIucGFyYW1zLnVwZGF0ZU9uSW1hZ2VzUmVhZHkpIHsgc3dpcGVyLnVwZGF0ZSgpOyB9CgkJCQlzd2lwZXIuZW1pdCgnaW1hZ2VzUmVhZHknKTsKCQkJfQoJCX0KCQlmb3IgKHZhciBpID0gMDsgaSA8IHN3aXBlci5pbWFnZXNUb0xvYWQubGVuZ3RoOyBpICs9IDEpIHsKCQkJdmFyIGltYWdlRWwgPSBzd2lwZXIuaW1hZ2VzVG9Mb2FkW2ldOwoJCQlzd2lwZXIubG9hZEltYWdlKAoJCQkJaW1hZ2VFbCwKCQkJCWltYWdlRWwuY3VycmVudFNyYyB8fCBpbWFnZUVsLmdldEF0dHJpYnV0ZSgnc3JjJyksCgkJCQlpbWFnZUVsLnNyY3NldCB8fCBpbWFnZUVsLmdldEF0dHJpYnV0ZSgnc3Jjc2V0JyksCgkJCQlpbWFnZUVsLnNpemVzIHx8IGltYWdlRWwuZ2V0QXR0cmlidXRlKCdzaXplcycpLAoJCQkJdHJ1ZSwKCQkJCW9uUmVhZHkKCQkJKTsKCQl9Cgl9CgoJdmFyIGltYWdlcyA9IHsKCQlsb2FkSW1hZ2U6IGxvYWRJbWFnZSwKCQlwcmVsb2FkSW1hZ2VzOiBwcmVsb2FkSW1hZ2VzLAoJfTsKCglmdW5jdGlvbiBjaGVja092ZXJmbG93KCkgewoJCXZhciBzd2lwZXIgPSB0aGlzOwoJCXZhciB3YXNMb2NrZWQgPSBzd2lwZXIuaXNMb2NrZWQ7CgoJCXN3aXBlci5pc0xvY2tlZCA9IHN3aXBlci5zbmFwR3JpZC5sZW5ndGggPT09IDE7CgkJc3dpcGVyLmFsbG93U2xpZGVOZXh0ID0gIXN3aXBlci5pc0xvY2tlZDsKCQlzd2lwZXIuYWxsb3dTbGlkZVByZXYgPSAhc3dpcGVyLmlzTG9ja2VkOwoKCQkvLyBldmVudHMKCQlpZiAod2FzTG9ja2VkICE9PSBzd2lwZXIuaXNMb2NrZWQpIHsgc3dpcGVyLmVtaXQoc3dpcGVyLmlzTG9ja2VkID8gJ2xvY2snIDogJ3VubG9jaycpOyB9CgoJCWlmICh3YXNMb2NrZWQgJiYgd2FzTG9ja2VkICE9PSBzd2lwZXIuaXNMb2NrZWQpIHsKCQkJc3dpcGVyLmlzRW5kID0gZmFsc2U7CgkJCXN3aXBlci5uYXZpZ2F0aW9uLnVwZGF0ZSgpOwoJCX0KCX0KCgl2YXIgY2hlY2tPdmVyZmxvdyQxID0geyBjaGVja092ZXJmbG93OiBjaGVja092ZXJmbG93IH07CgoJdmFyIGRlZmF1bHRzID0gewoJCWluaXQ6IHRydWUsCgkJZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcsCgkJdG91Y2hFdmVudHNUYXJnZXQ6ICdjb250YWluZXInLAoJCWluaXRpYWxTbGlkZTogMCwKCQlzcGVlZDogMzAwLAoJCS8vCgkJcHJldmVudEludGVyY2F0aW9uT25UcmFuc2l0aW9uOiBmYWxzZSwKCgkJLy8gVG8gc3VwcG9ydCBpT1MncyBzd2lwZS10by1nby1iYWNrIGdlc3R1cmUgKHdoZW4gYmVpbmcgdXNlZCBpbi1hcHAsIHdpdGggVUlXZWJWaWV3KS4KCQlpT1NFZGdlU3dpcGVEZXRlY3Rpb246IGZhbHNlLAoJCWlPU0VkZ2VTd2lwZVRocmVzaG9sZDogMjAsCgoJCS8vIEZyZWUgbW9kZQoJCWZyZWVNb2RlOiBmYWxzZSwKCQlmcmVlTW9kZU1vbWVudHVtOiB0cnVlLAoJCWZyZWVNb2RlTW9tZW50dW1SYXRpbzogMSwKCQlmcmVlTW9kZU1vbWVudHVtQm91bmNlOiB0cnVlLAoJCWZyZWVNb2RlTW9tZW50dW1Cb3VuY2VSYXRpbzogMSwKCQlmcmVlTW9kZU1vbWVudHVtVmVsb2NpdHlSYXRpbzogMSwKCQlmcmVlTW9kZVN0aWNreTogZmFsc2UsCgkJZnJlZU1vZGVNaW5pbXVtVmVsb2NpdHk6IDAuMDIsCgoJCS8vIEF1dG9oZWlnaHQKCQlhdXRvSGVpZ2h0OiBmYWxzZSwKCgkJLy8gU2V0IHdyYXBwZXIgd2lkdGgKCQlzZXRXcmFwcGVyU2l6ZTogZmFsc2UsCgoJCS8vIFZpcnR1YWwgVHJhbnNsYXRlCgkJdmlydHVhbFRyYW5zbGF0ZTogZmFsc2UsCgoJCS8vIEVmZmVjdHMKCQllZmZlY3Q6ICdzbGlkZScsIC8vICdzbGlkZScgb3IgJ2ZhZGUnIG9yICdjdWJlJyBvciAnY292ZXJmbG93JyBvciAnZmxpcCcKCgkJLy8gQnJlYWtwb2ludHMKCQlicmVha3BvaW50czogdW5kZWZpbmVkLAoKCQkvLyBTbGlkZXMgZ3JpZAoJCXNwYWNlQmV0d2VlbjogMCwKCQlzbGlkZXNQZXJWaWV3OiAxLAoJCXNsaWRlc1BlckNvbHVtbjogMSwKCQlzbGlkZXNQZXJDb2x1bW5GaWxsOiAnY29sdW1uJywKCQlzbGlkZXNQZXJHcm91cDogMSwKCQljZW50ZXJlZFNsaWRlczogZmFsc2UsCgkJc2xpZGVzT2Zmc2V0QmVmb3JlOiAwLCAvLyBpbiBweAoJCXNsaWRlc09mZnNldEFmdGVyOiAwLCAvLyBpbiBweAoJCW5vcm1hbGl6ZVNsaWRlSW5kZXg6IHRydWUsCgoJCS8vIERpc2FibGUgc3dpcGVyIGFuZCBoaWRlIG5hdmlnYXRpb24gd2hlbiBjb250YWluZXIgbm90IG92ZXJmbG93CgkJd2F0Y2hPdmVyZmxvdzogZmFsc2UsCgoJCS8vIFJvdW5kIGxlbmd0aAoJCXJvdW5kTGVuZ3RoczogZmFsc2UsCgoJCS8vIFRvdWNoZXMKCQl0b3VjaFJhdGlvOiAxLAoJCXRvdWNoQW5nbGU6IDQ1LAoJCXNpbXVsYXRlVG91Y2g6IHRydWUsCgkJc2hvcnRTd2lwZXM6IHRydWUsCgkJbG9uZ1N3aXBlczogdHJ1ZSwKCQlsb25nU3dpcGVzUmF0aW86IDAuNSwKCQlsb25nU3dpcGVzTXM6IDMwMCwKCQlmb2xsb3dGaW5nZXI6IHRydWUsCgkJYWxsb3dUb3VjaE1vdmU6IHRydWUsCgkJdGhyZXNob2xkOiAwLAoJCXRvdWNoTW92ZVN0b3BQcm9wYWdhdGlvbjogdHJ1ZSwKCQl0b3VjaFJlbGVhc2VPbkVkZ2VzOiBmYWxzZSwKCgkJLy8gVW5pcXVlIE5hdmlnYXRpb24gRWxlbWVudHMKCQl1bmlxdWVOYXZFbGVtZW50czogdHJ1ZSwKCgkJLy8gUmVzaXN0YW5jZQoJCXJlc2lzdGFuY2U6IHRydWUsCgkJcmVzaXN0YW5jZVJhdGlvOiAwLjg1LAoKCQkvLyBQcm9ncmVzcwoJCXdhdGNoU2xpZGVzUHJvZ3Jlc3M6IGZhbHNlLAoJCXdhdGNoU2xpZGVzVmlzaWJpbGl0eTogZmFsc2UsCgoJCS8vIEN1cnNvcgoJCWdyYWJDdXJzb3I6IGZhbHNlLAoKCQkvLyBDbGlja3MKCQlwcmV2ZW50Q2xpY2tzOiB0cnVlLAoJCXByZXZlbnRDbGlja3NQcm9wYWdhdGlvbjogdHJ1ZSwKCQlzbGlkZVRvQ2xpY2tlZFNsaWRlOiBmYWxzZSwKCgkJLy8gSW1hZ2VzCgkJcHJlbG9hZEltYWdlczogdHJ1ZSwKCQl1cGRhdGVPbkltYWdlc1JlYWR5OiB0cnVlLAoKCQkvLyBsb29wCgkJbG9vcDogZmFsc2UsCgkJbG9vcEFkZGl0aW9uYWxTbGlkZXM6IDAsCgkJbG9vcGVkU2xpZGVzOiBudWxsLAoJCWxvb3BGaWxsR3JvdXBXaXRoQmxhbms6IGZhbHNlLAoKCQkvLyBTd2lwaW5nL25vIHN3aXBpbmcKCQlhbGxvd1NsaWRlUHJldjogdHJ1ZSwKCQlhbGxvd1NsaWRlTmV4dDogdHJ1ZSwKCQlzd2lwZUhhbmRsZXI6IG51bGwsIC8vICcuc3dpcGUtaGFuZGxlcicsCgkJbm9Td2lwaW5nOiB0cnVlLAoJCW5vU3dpcGluZ0NsYXNzOiAnc3dpcGVyLW5vLXN3aXBpbmcnLAoJCW5vU3dpcGluZ1NlbGVjdG9yOiBudWxsLAoKCQkvLyBQYXNzaXZlIExpc3RlbmVycwoJCXBhc3NpdmVMaXN0ZW5lcnM6IHRydWUsCgoJCS8vIE5TCgkJY29udGFpbmVyTW9kaWZpZXJDbGFzczogJ3N3aXBlci1jb250YWluZXItJywgLy8gTkVXCgkJc2xpZGVDbGFzczogJ3N3aXBlci1zbGlkZScsCgkJc2xpZGVCbGFua0NsYXNzOiAnc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuaycsCgkJc2xpZGVBY3RpdmVDbGFzczogJ3N3aXBlci1zbGlkZS1hY3RpdmUnLAoJCXNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3M6ICdzd2lwZXItc2xpZGUtZHVwbGljYXRlLWFjdGl2ZScsCgkJc2xpZGVWaXNpYmxlQ2xhc3M6ICdzd2lwZXItc2xpZGUtdmlzaWJsZScsCgkJc2xpZGVEdXBsaWNhdGVDbGFzczogJ3N3aXBlci1zbGlkZS1kdXBsaWNhdGUnLAoJCXNsaWRlTmV4dENsYXNzOiAnc3dpcGVyLXNsaWRlLW5leHQnLAoJCXNsaWRlRHVwbGljYXRlTmV4dENsYXNzOiAnc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1uZXh0JywKCQlzbGlkZVByZXZDbGFzczogJ3N3aXBlci1zbGlkZS1wcmV2JywKCQlzbGlkZUR1cGxpY2F0ZVByZXZDbGFzczogJ3N3aXBlci1zbGlkZS1kdXBsaWNhdGUtcHJldicsCgkJd3JhcHBlckNsYXNzOiAnc3dpcGVyLXdyYXBwZXInLAoKCQkvLyBDYWxsYmFja3MKCQlydW5DYWxsYmFja3NPbkluaXQ6IHRydWUsCgl9OwoKCXZhciBwcm90b3R5cGVzID0gewoJCXVwZGF0ZTogdXBkYXRlLAoJCXRyYW5zbGF0ZTogdHJhbnNsYXRlLAoJCXRyYW5zaXRpb246IHRyYW5zaXRpb24kMSwKCQlzbGlkZTogc2xpZGUsCgkJbG9vcDogbG9vcCwKCQlncmFiQ3Vyc29yOiBncmFiQ3Vyc29yLAoJCW1hbmlwdWxhdGlvbjogbWFuaXB1bGF0aW9uLAoJCWV2ZW50czogZXZlbnRzLAoJCWJyZWFrcG9pbnRzOiBicmVha3BvaW50cywKCQljaGVja092ZXJmbG93OiBjaGVja092ZXJmbG93JDEsCgkJY2xhc3NlczogY2xhc3NlcywKCQlpbWFnZXM6IGltYWdlcywKCX07CgoJdmFyIGV4dGVuZGVkRGVmYXVsdHMgPSB7fTsKCgl2YXIgU3dpcGVyID0gKGZ1bmN0aW9uIChTd2lwZXJDbGFzcyQkMSkgewoJCWZ1bmN0aW9uIFN3aXBlcigpIHsKCQkJdmFyIGFzc2lnbjsKCgkJCXZhciBhcmdzID0gW10sIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7CgkJCXdoaWxlICggbGVuLS0gKSBhcmdzWyBsZW4gXSA9IGFyZ3VtZW50c1sgbGVuIF07CgkJCXZhciBlbDsKCQkJdmFyIHBhcmFtczsKCQkJaWYgKGFyZ3MubGVuZ3RoID09PSAxICYmIGFyZ3NbMF0uY29uc3RydWN0b3IgJiYgYXJnc1swXS5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7CgkJCQlwYXJhbXMgPSBhcmdzWzBdOwoJCQl9IGVsc2UgewoJCQkJKGFzc2lnbiA9IGFyZ3MsIGVsID0gYXNzaWduWzBdLCBwYXJhbXMgPSBhc3NpZ25bMV0pOwoJCQl9CgkJCWlmICghcGFyYW1zKSB7IHBhcmFtcyA9IHt9OyB9CgoJCQlwYXJhbXMgPSBVdGlscy5leHRlbmQoe30sIHBhcmFtcyk7CgkJCWlmIChlbCAmJiAhcGFyYW1zLmVsKSB7IHBhcmFtcy5lbCA9IGVsOyB9CgoJCQlTd2lwZXJDbGFzcyQkMS5jYWxsKHRoaXMsIHBhcmFtcyk7CgoJCQlPYmplY3Qua2V5cyhwcm90b3R5cGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm90b3R5cGVHcm91cCkgewoJCQkJT2JqZWN0LmtleXMocHJvdG90eXBlc1twcm90b3R5cGVHcm91cF0pLmZvckVhY2goZnVuY3Rpb24gKHByb3RvTWV0aG9kKSB7CgkJCQkJaWYgKCFTd2lwZXIucHJvdG90eXBlW3Byb3RvTWV0aG9kXSkgewoJCQkJCQlTd2lwZXIucHJvdG90eXBlW3Byb3RvTWV0aG9kXSA9IHByb3RvdHlwZXNbcHJvdG90eXBlR3JvdXBdW3Byb3RvTWV0aG9kXTsKCQkJCQl9CgkJCQl9KTsKCQkJfSk7CgoJCQkvLyBTd2lwZXIgSW5zdGFuY2UKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICh0eXBlb2Ygc3dpcGVyLm1vZHVsZXMgPT09ICd1bmRlZmluZWQnKSB7CgkJCQlzd2lwZXIubW9kdWxlcyA9IHt9OwoJCQl9CgkJCU9iamVjdC5rZXlzKHN3aXBlci5tb2R1bGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChtb2R1bGVOYW1lKSB7CgkJCQl2YXIgbW9kdWxlID0gc3dpcGVyLm1vZHVsZXNbbW9kdWxlTmFtZV07CgkJCQlpZiAobW9kdWxlLnBhcmFtcykgewoJCQkJCXZhciBtb2R1bGVQYXJhbU5hbWUgPSBPYmplY3Qua2V5cyhtb2R1bGUucGFyYW1zKVswXTsKCQkJCQl2YXIgbW9kdWxlUGFyYW1zID0gbW9kdWxlLnBhcmFtc1ttb2R1bGVQYXJhbU5hbWVdOwoJCQkJCWlmICh0eXBlb2YgbW9kdWxlUGFyYW1zICE9PSAnb2JqZWN0JykgeyByZXR1cm47IH0KCQkJCQlpZiAoIShtb2R1bGVQYXJhbU5hbWUgaW4gcGFyYW1zICYmICdlbmFibGVkJyBpbiBtb2R1bGVQYXJhbXMpKSB7IHJldHVybjsgfQoJCQkJCWlmIChwYXJhbXNbbW9kdWxlUGFyYW1OYW1lXSA9PT0gdHJ1ZSkgewoJCQkJCQlwYXJhbXNbbW9kdWxlUGFyYW1OYW1lXSA9IHsgZW5hYmxlZDogdHJ1ZSB9OwoJCQkJCX0KCQkJCQlpZiAoCgkJCQkJCXR5cGVvZiBwYXJhbXNbbW9kdWxlUGFyYW1OYW1lXSA9PT0gJ29iamVjdCcgJiYKCQkJCQkJISgnZW5hYmxlZCcgaW4gcGFyYW1zW21vZHVsZVBhcmFtTmFtZV0pCgkJCQkJKSB7CgkJCQkJCXBhcmFtc1ttb2R1bGVQYXJhbU5hbWVdLmVuYWJsZWQgPSB0cnVlOwoJCQkJCX0KCQkJCQlpZiAoIXBhcmFtc1ttb2R1bGVQYXJhbU5hbWVdKSB7IHBhcmFtc1ttb2R1bGVQYXJhbU5hbWVdID0geyBlbmFibGVkOiBmYWxzZSB9OyB9CgkJCQl9CgkJCX0pOwoKCQkJLy8gRXh0ZW5kIGRlZmF1bHRzIHdpdGggbW9kdWxlcyBwYXJhbXMKCQkJdmFyIHN3aXBlclBhcmFtcyA9IFV0aWxzLmV4dGVuZCh7fSwgZGVmYXVsdHMpOwoJCQlzd2lwZXIudXNlTW9kdWxlc1BhcmFtcyhzd2lwZXJQYXJhbXMpOwoKCQkJLy8gRXh0ZW5kIGRlZmF1bHRzIHdpdGggcGFzc2VkIHBhcmFtcwoJCQlzd2lwZXIucGFyYW1zID0gVXRpbHMuZXh0ZW5kKHt9LCBzd2lwZXJQYXJhbXMsIGV4dGVuZGVkRGVmYXVsdHMsIHBhcmFtcyk7CgkJCXN3aXBlci5vcmlnaW5hbFBhcmFtcyA9IFV0aWxzLmV4dGVuZCh7fSwgc3dpcGVyLnBhcmFtcyk7CgkJCXN3aXBlci5wYXNzZWRQYXJhbXMgPSBVdGlscy5leHRlbmQoe30sIHBhcmFtcyk7CgoJCQkvLyBTYXZlIERvbSBsaWIKCQkJc3dpcGVyLiQgPSAkOwoKCQkJLy8gRmluZCBlbAoJCQl2YXIgJGVsID0gJChzd2lwZXIucGFyYW1zLmVsKTsKCQkJZWwgPSAkZWxbMF07CgoJCQlpZiAoIWVsKSB7CgkJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCQl9CgoJCQlpZiAoJGVsLmxlbmd0aCA+IDEpIHsKCQkJCXZhciBzd2lwZXJzID0gW107CgkJCQkkZWwuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGNvbnRhaW5lckVsKSB7CgkJCQkJdmFyIG5ld1BhcmFtcyA9IFV0aWxzLmV4dGVuZCh7fSwgcGFyYW1zLCB7IGVsOiBjb250YWluZXJFbCB9KTsKCQkJCQlzd2lwZXJzLnB1c2gobmV3IFN3aXBlcihuZXdQYXJhbXMpKTsKCQkJCX0pOwoJCQkJcmV0dXJuIHN3aXBlcnM7CgkJCX0KCgkJCWVsLnN3aXBlciA9IHN3aXBlcjsKCQkJJGVsLmRhdGEoJ3N3aXBlcicsIHN3aXBlcik7CgoJCQkvLyBGaW5kIFdyYXBwZXIKCQkJdmFyICR3cmFwcGVyRWwgPSAkZWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXIucGFyYW1zLndyYXBwZXJDbGFzcykpKTsKCgkJCS8vIEV4dGVuZCBTd2lwZXIKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJJGVsOiAkZWwsCgkJCQllbDogZWwsCgkJCQkkd3JhcHBlckVsOiAkd3JhcHBlckVsLAoJCQkJd3JhcHBlckVsOiAkd3JhcHBlckVsWzBdLAoKCQkJCS8vIENsYXNzZXMKCQkJCWNsYXNzTmFtZXM6IFtdLAoKCQkJCS8vIFNsaWRlcwoJCQkJc2xpZGVzOiAkKCksCgkJCQlzbGlkZXNHcmlkOiBbXSwKCQkJCXNuYXBHcmlkOiBbXSwKCQkJCXNsaWRlc1NpemVzR3JpZDogW10sCgoJCQkJLy8gaXNEaXJlY3Rpb24KCQkJCWlzSG9yaXpvbnRhbDogZnVuY3Rpb24gaXNIb3Jpem9udGFsKCkgewoJCQkJCXJldHVybiBzd2lwZXIucGFyYW1zLmRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnOwoJCQkJfSwKCQkJCWlzVmVydGljYWw6IGZ1bmN0aW9uIGlzVmVydGljYWwoKSB7CgkJCQkJcmV0dXJuIHN3aXBlci5wYXJhbXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnOwoJCQkJfSwKCQkJCS8vIFJUTAoJCQkJcnRsOiAoZWwuZGlyLnRvTG93ZXJDYXNlKCkgPT09ICdydGwnIHx8ICRlbC5jc3MoJ2RpcmVjdGlvbicpID09PSAncnRsJyksCgkJCQlydGxUcmFuc2xhdGU6IHN3aXBlci5wYXJhbXMuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgJiYgKGVsLmRpci50b0xvd2VyQ2FzZSgpID09PSAncnRsJyB8fCAkZWwuY3NzKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCcpLAoJCQkJd3JvbmdSVEw6ICR3cmFwcGVyRWwuY3NzKCdkaXNwbGF5JykgPT09ICctd2Via2l0LWJveCcsCgoJCQkJLy8gSW5kZXhlcwoJCQkJYWN0aXZlSW5kZXg6IDAsCgkJCQlyZWFsSW5kZXg6IDAsCgoJCQkJLy8KCQkJCWlzQmVnaW5uaW5nOiB0cnVlLAoJCQkJaXNFbmQ6IGZhbHNlLAoKCQkJCS8vIFByb3BzCgkJCQl0cmFuc2xhdGU6IDAsCgkJCQlwcm9ncmVzczogMCwKCQkJCXZlbG9jaXR5OiAwLAoJCQkJYW5pbWF0aW5nOiBmYWxzZSwKCgkJCQkvLyBMb2NrcwoJCQkJYWxsb3dTbGlkZU5leHQ6IHN3aXBlci5wYXJhbXMuYWxsb3dTbGlkZU5leHQsCgkJCQlhbGxvd1NsaWRlUHJldjogc3dpcGVyLnBhcmFtcy5hbGxvd1NsaWRlUHJldiwKCgkJCQkvLyBUb3VjaCBFdmVudHMKCQkJCXRvdWNoRXZlbnRzOiAoZnVuY3Rpb24gdG91Y2hFdmVudHMoKSB7CgkJCQkJdmFyIHRvdWNoID0gWyd0b3VjaHN0YXJ0JywgJ3RvdWNobW92ZScsICd0b3VjaGVuZCddOwoJCQkJCXZhciBkZXNrdG9wID0gWydtb3VzZWRvd24nLCAnbW91c2Vtb3ZlJywgJ21vdXNldXAnXTsKCQkJCQlpZiAoU3VwcG9ydC5wb2ludGVyRXZlbnRzKSB7CgkJCQkJCWRlc2t0b3AgPSBbJ3BvaW50ZXJkb3duJywgJ3BvaW50ZXJtb3ZlJywgJ3BvaW50ZXJ1cCddOwoJCQkJCX0gZWxzZSBpZiAoU3VwcG9ydC5wcmVmaXhlZFBvaW50ZXJFdmVudHMpIHsKCQkJCQkJZGVza3RvcCA9IFsnTVNQb2ludGVyRG93bicsICdNU1BvaW50ZXJNb3ZlJywgJ01TUG9pbnRlclVwJ107CgkJCQkJfQoJCQkJCXN3aXBlci50b3VjaEV2ZW50c1RvdWNoID0gewoJCQkJCQlzdGFydDogdG91Y2hbMF0sCgkJCQkJCW1vdmU6IHRvdWNoWzFdLAoJCQkJCQllbmQ6IHRvdWNoWzJdLAoJCQkJCX07CgkJCQkJc3dpcGVyLnRvdWNoRXZlbnRzRGVza3RvcCA9IHsKCQkJCQkJc3RhcnQ6IGRlc2t0b3BbMF0sCgkJCQkJCW1vdmU6IGRlc2t0b3BbMV0sCgkJCQkJCWVuZDogZGVza3RvcFsyXSwKCQkJCQl9OwoJCQkJCXJldHVybiBTdXBwb3J0LnRvdWNoIHx8ICFzd2lwZXIucGFyYW1zLnNpbXVsYXRlVG91Y2ggPyBzd2lwZXIudG91Y2hFdmVudHNUb3VjaCA6IHN3aXBlci50b3VjaEV2ZW50c0Rlc2t0b3A7CgkJCQl9KCkpLAoJCQkJdG91Y2hFdmVudHNEYXRhOiB7CgkJCQkJaXNUb3VjaGVkOiB1bmRlZmluZWQsCgkJCQkJaXNNb3ZlZDogdW5kZWZpbmVkLAoJCQkJCWFsbG93VG91Y2hDYWxsYmFja3M6IHVuZGVmaW5lZCwKCQkJCQl0b3VjaFN0YXJ0VGltZTogdW5kZWZpbmVkLAoJCQkJCWlzU2Nyb2xsaW5nOiB1bmRlZmluZWQsCgkJCQkJY3VycmVudFRyYW5zbGF0ZTogdW5kZWZpbmVkLAoJCQkJCXN0YXJ0VHJhbnNsYXRlOiB1bmRlZmluZWQsCgkJCQkJYWxsb3dUaHJlc2hvbGRNb3ZlOiB1bmRlZmluZWQsCgkJCQkJLy8gRm9ybSBlbGVtZW50cyB0byBtYXRjaAoJCQkJCWZvcm1FbGVtZW50czogJ2lucHV0LCBzZWxlY3QsIG9wdGlvbiwgdGV4dGFyZWEsIGJ1dHRvbiwgdmlkZW8nLAoJCQkJCS8vIExhc3QgY2xpY2sgdGltZQoJCQkJCWxhc3RDbGlja1RpbWU6IFV0aWxzLm5vdygpLAoJCQkJCWNsaWNrVGltZW91dDogdW5kZWZpbmVkLAoJCQkJCS8vIFZlbG9jaXRpZXMKCQkJCQl2ZWxvY2l0aWVzOiBbXSwKCQkJCQlhbGxvd01vbWVudHVtQm91bmNlOiB1bmRlZmluZWQsCgkJCQkJaXNUb3VjaEV2ZW50OiB1bmRlZmluZWQsCgkJCQkJc3RhcnRNb3Zpbmc6IHVuZGVmaW5lZCwKCQkJCX0sCgoJCQkJLy8gQ2xpY2tzCgkJCQlhbGxvd0NsaWNrOiB0cnVlLAoKCQkJCS8vIFRvdWNoZXMKCQkJCWFsbG93VG91Y2hNb3ZlOiBzd2lwZXIucGFyYW1zLmFsbG93VG91Y2hNb3ZlLAoKCQkJCXRvdWNoZXM6IHsKCQkJCQlzdGFydFg6IDAsCgkJCQkJc3RhcnRZOiAwLAoJCQkJCWN1cnJlbnRYOiAwLAoJCQkJCWN1cnJlbnRZOiAwLAoJCQkJCWRpZmY6IDAsCgkJCQl9LAoKCQkJCS8vIEltYWdlcwoJCQkJaW1hZ2VzVG9Mb2FkOiBbXSwKCQkJCWltYWdlc0xvYWRlZDogMCwKCgkJCX0pOwoKCQkJLy8gSW5zdGFsbCBNb2R1bGVzCgkJCXN3aXBlci51c2VNb2R1bGVzKCk7CgoJCQkvLyBJbml0CgkJCWlmIChzd2lwZXIucGFyYW1zLmluaXQpIHsKCQkJCXN3aXBlci5pbml0KCk7CgkJCX0KCgkJCS8vIFJldHVybiBhcHAgaW5zdGFuY2UKCQkJcmV0dXJuIHN3aXBlcjsKCQl9CgoJCWlmICggU3dpcGVyQ2xhc3MkJDEgKSBTd2lwZXIuX19wcm90b19fID0gU3dpcGVyQ2xhc3MkJDE7CgkJU3dpcGVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIFN3aXBlckNsYXNzJCQxICYmIFN3aXBlckNsYXNzJCQxLnByb3RvdHlwZSApOwoJCVN3aXBlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTd2lwZXI7CgoJCXZhciBzdGF0aWNBY2Nlc3NvcnMgPSB7IGV4dGVuZGVkRGVmYXVsdHM6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0sZGVmYXVsdHM6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0sQ2xhc3M6IHsgY29uZmlndXJhYmxlOiB0cnVlIH0sJDogeyBjb25maWd1cmFibGU6IHRydWUgfSB9OwoJCVN3aXBlci5wcm90b3R5cGUuc2xpZGVzUGVyVmlld0R5bmFtaWMgPSBmdW5jdGlvbiBzbGlkZXNQZXJWaWV3RHluYW1pYyAoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCXZhciBzbGlkZXNHcmlkID0gc3dpcGVyLnNsaWRlc0dyaWQ7CgkJCXZhciBzd2lwZXJTaXplID0gc3dpcGVyLnNpemU7CgkJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQkJdmFyIHNwdiA9IDE7CgkJCWlmIChwYXJhbXMuY2VudGVyZWRTbGlkZXMpIHsKCQkJCXZhciBzbGlkZVNpemUgPSBzbGlkZXNbYWN0aXZlSW5kZXhdLnN3aXBlclNsaWRlU2l6ZTsKCQkJCXZhciBicmVha0xvb3A7CgkJCQlmb3IgKHZhciBpID0gYWN0aXZlSW5kZXggKyAxOyBpIDwgc2xpZGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQkJaWYgKHNsaWRlc1tpXSAmJiAhYnJlYWtMb29wKSB7CgkJCQkJCXNsaWRlU2l6ZSArPSBzbGlkZXNbaV0uc3dpcGVyU2xpZGVTaXplOwoJCQkJCQlzcHYgKz0gMTsKCQkJCQkJaWYgKHNsaWRlU2l6ZSA+IHN3aXBlclNpemUpIHsgYnJlYWtMb29wID0gdHJ1ZTsgfQoJCQkJCX0KCQkJCX0KCQkJCWZvciAodmFyIGkkMSA9IGFjdGl2ZUluZGV4IC0gMTsgaSQxID49IDA7IGkkMSAtPSAxKSB7CgkJCQkJaWYgKHNsaWRlc1tpJDFdICYmICFicmVha0xvb3ApIHsKCQkJCQkJc2xpZGVTaXplICs9IHNsaWRlc1tpJDFdLnN3aXBlclNsaWRlU2l6ZTsKCQkJCQkJc3B2ICs9IDE7CgkJCQkJCWlmIChzbGlkZVNpemUgPiBzd2lwZXJTaXplKSB7IGJyZWFrTG9vcCA9IHRydWU7IH0KCQkJCQl9CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlmb3IgKHZhciBpJDIgPSBhY3RpdmVJbmRleCArIDE7IGkkMiA8IHNsaWRlcy5sZW5ndGg7IGkkMiArPSAxKSB7CgkJCQkJaWYgKHNsaWRlc0dyaWRbaSQyXSAtIHNsaWRlc0dyaWRbYWN0aXZlSW5kZXhdIDwgc3dpcGVyU2l6ZSkgewoJCQkJCQlzcHYgKz0gMTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJcmV0dXJuIHNwdjsKCQl9OwoJCVN3aXBlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlJCQxICgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyIHx8IHN3aXBlci5kZXN0cm95ZWQpIHsgcmV0dXJuOyB9CgkJCXZhciBzbmFwR3JpZCA9IHN3aXBlci5zbmFwR3JpZDsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJCS8vIEJyZWFrcG9pbnRzCgkJCWlmIChwYXJhbXMuYnJlYWtwb2ludHMpIHsKCQkJCXN3aXBlci5zZXRCcmVha3BvaW50KCk7CgkJCX0KCQkJc3dpcGVyLnVwZGF0ZVNpemUoKTsKCQkJc3dpcGVyLnVwZGF0ZVNsaWRlcygpOwoJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MoKTsKCQkJc3dpcGVyLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCgkJCWZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJCXZhciB0cmFuc2xhdGVWYWx1ZSA9IHN3aXBlci5ydGxUcmFuc2xhdGUgPyBzd2lwZXIudHJhbnNsYXRlICogLTEgOiBzd2lwZXIudHJhbnNsYXRlOwoJCQkJdmFyIG5ld1RyYW5zbGF0ZSA9IE1hdGgubWluKE1hdGgubWF4KHRyYW5zbGF0ZVZhbHVlLCBzd2lwZXIubWF4VHJhbnNsYXRlKCkpLCBzd2lwZXIubWluVHJhbnNsYXRlKCkpOwoJCQkJc3dpcGVyLnNldFRyYW5zbGF0ZShuZXdUcmFuc2xhdGUpOwoJCQkJc3dpcGVyLnVwZGF0ZUFjdGl2ZUluZGV4KCk7CgkJCQlzd2lwZXIudXBkYXRlU2xpZGVzQ2xhc3NlcygpOwoJCQl9CgkJCXZhciB0cmFuc2xhdGVkOwoJCQlpZiAoc3dpcGVyLnBhcmFtcy5mcmVlTW9kZSkgewoJCQkJc2V0VHJhbnNsYXRlKCk7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5hdXRvSGVpZ2h0KSB7CgkJCQkJc3dpcGVyLnVwZGF0ZUF1dG9IZWlnaHQoKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmICgoc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJWaWV3ID09PSAnYXV0bycgfHwgc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJWaWV3ID4gMSkgJiYgc3dpcGVyLmlzRW5kICYmICFzd2lwZXIucGFyYW1zLmNlbnRlcmVkU2xpZGVzKSB7CgkJCQkJdHJhbnNsYXRlZCA9IHN3aXBlci5zbGlkZVRvKHN3aXBlci5zbGlkZXMubGVuZ3RoIC0gMSwgMCwgZmFsc2UsIHRydWUpOwoJCQkJfSBlbHNlIHsKCQkJCQl0cmFuc2xhdGVkID0gc3dpcGVyLnNsaWRlVG8oc3dpcGVyLmFjdGl2ZUluZGV4LCAwLCBmYWxzZSwgdHJ1ZSk7CgkJCQl9CgkJCQlpZiAoIXRyYW5zbGF0ZWQpIHsKCQkJCQlzZXRUcmFuc2xhdGUoKTsKCQkJCX0KCQkJfQoJCQlpZiAocGFyYW1zLndhdGNoT3ZlcmZsb3cgJiYgc25hcEdyaWQgIT09IHN3aXBlci5zbmFwR3JpZCkgewoJCQkJc3dpcGVyLmNoZWNrT3ZlcmZsb3coKTsKCQkJfQoJCQlzd2lwZXIuZW1pdCgndXBkYXRlJyk7CgkJfTsKCQlTd2lwZXIucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiBpbml0ICgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmIChzd2lwZXIuaW5pdGlhbGl6ZWQpIHsgcmV0dXJuOyB9CgoJCQlzd2lwZXIuZW1pdCgnYmVmb3JlSW5pdCcpOwoKCQkJLy8gU2V0IGJyZWFrcG9pbnQKCQkJaWYgKHN3aXBlci5wYXJhbXMuYnJlYWtwb2ludHMpIHsKCQkJCXN3aXBlci5zZXRCcmVha3BvaW50KCk7CgkJCX0KCgkJCS8vIEFkZCBDbGFzc2VzCgkJCXN3aXBlci5hZGRDbGFzc2VzKCk7CgoJCQkvLyBDcmVhdGUgbG9vcAoJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7CgkJCQlzd2lwZXIubG9vcENyZWF0ZSgpOwoJCQl9CgoJCQkvLyBVcGRhdGUgc2l6ZQoJCQlzd2lwZXIudXBkYXRlU2l6ZSgpOwoKCQkJLy8gVXBkYXRlIHNsaWRlcwoJCQlzd2lwZXIudXBkYXRlU2xpZGVzKCk7CgoJCQlpZiAoc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93KSB7CgkJCQlzd2lwZXIuY2hlY2tPdmVyZmxvdygpOwoJCQl9CgoJCQkvLyBTZXQgR3JhYiBDdXJzb3IKCQkJaWYgKHN3aXBlci5wYXJhbXMuZ3JhYkN1cnNvcikgewoJCQkJc3dpcGVyLnNldEdyYWJDdXJzb3IoKTsKCQkJfQoKCQkJaWYgKHN3aXBlci5wYXJhbXMucHJlbG9hZEltYWdlcykgewoJCQkJc3dpcGVyLnByZWxvYWRJbWFnZXMoKTsKCQkJfQoKCQkJLy8gU2xpZGUgVG8gSW5pdGlhbCBTbGlkZQoJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7CgkJCQlzd2lwZXIuc2xpZGVUbyhzd2lwZXIucGFyYW1zLmluaXRpYWxTbGlkZSArIHN3aXBlci5sb29wZWRTbGlkZXMsIDAsIHN3aXBlci5wYXJhbXMucnVuQ2FsbGJhY2tzT25Jbml0KTsKCQkJfSBlbHNlIHsKCQkJCXN3aXBlci5zbGlkZVRvKHN3aXBlci5wYXJhbXMuaW5pdGlhbFNsaWRlLCAwLCBzd2lwZXIucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCk7CgkJCX0KCgkJCS8vIEF0dGFjaCBldmVudHMKCQkJc3dpcGVyLmF0dGFjaEV2ZW50cygpOwoKCQkJLy8gSW5pdCBGbGFnCgkJCXN3aXBlci5pbml0aWFsaXplZCA9IHRydWU7CgoJCQkvLyBFbWl0CgkJCXN3aXBlci5lbWl0KCdpbml0Jyk7CgkJfTsKCQlTd2lwZXIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiBkZXN0cm95IChkZWxldGVJbnN0YW5jZSwgY2xlYW5TdHlsZXMpIHsKCQkJaWYgKCBkZWxldGVJbnN0YW5jZSA9PT0gdm9pZCAwICkgZGVsZXRlSW5zdGFuY2UgPSB0cnVlOwoJCQlpZiAoIGNsZWFuU3R5bGVzID09PSB2b2lkIDAgKSBjbGVhblN0eWxlcyA9IHRydWU7CgoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJCXZhciAkZWwgPSBzd2lwZXIuJGVsOwoJCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCQl2YXIgc2xpZGVzID0gc3dpcGVyLnNsaWRlczsKCgkJCWlmICh0eXBlb2Ygc3dpcGVyLnBhcmFtcyA9PT0gJ3VuZGVmaW5lZCcgfHwgc3dpcGVyLmRlc3Ryb3llZCkgewoJCQkJcmV0dXJuIG51bGw7CgkJCX0KCgkJCXN3aXBlci5lbWl0KCdiZWZvcmVEZXN0cm95Jyk7CgoJCQkvLyBJbml0IEZsYWcKCQkJc3dpcGVyLmluaXRpYWxpemVkID0gZmFsc2U7CgoJCQkvLyBEZXRhY2ggZXZlbnRzCgkJCXN3aXBlci5kZXRhY2hFdmVudHMoKTsKCgkJCS8vIERlc3Ryb3kgbG9vcAoJCQlpZiAocGFyYW1zLmxvb3ApIHsKCQkJCXN3aXBlci5sb29wRGVzdHJveSgpOwoJCQl9CgoJCQkvLyBDbGVhbnVwIHN0eWxlcwoJCQlpZiAoY2xlYW5TdHlsZXMpIHsKCQkJCXN3aXBlci5yZW1vdmVDbGFzc2VzKCk7CgkJCQkkZWwucmVtb3ZlQXR0cignc3R5bGUnKTsKCQkJCSR3cmFwcGVyRWwucmVtb3ZlQXR0cignc3R5bGUnKTsKCQkJCWlmIChzbGlkZXMgJiYgc2xpZGVzLmxlbmd0aCkgewoJCQkJCXNsaWRlcwoJCQkJCQkucmVtb3ZlQ2xhc3MoWwoJCQkJCQkJcGFyYW1zLnNsaWRlVmlzaWJsZUNsYXNzLAoJCQkJCQkJcGFyYW1zLnNsaWRlQWN0aXZlQ2xhc3MsCgkJCQkJCQlwYXJhbXMuc2xpZGVOZXh0Q2xhc3MsCgkJCQkJCQlwYXJhbXMuc2xpZGVQcmV2Q2xhc3MgXS5qb2luKCcgJykpCgkJCQkJCS5yZW1vdmVBdHRyKCdzdHlsZScpCgkJCQkJCS5yZW1vdmVBdHRyKCdkYXRhLXN3aXBlci1zbGlkZS1pbmRleCcpCgkJCQkJCS5yZW1vdmVBdHRyKCdkYXRhLXN3aXBlci1jb2x1bW4nKQoJCQkJCQkucmVtb3ZlQXR0cignZGF0YS1zd2lwZXItcm93Jyk7CgkJCQl9CgkJCX0KCgkJCXN3aXBlci5lbWl0KCdkZXN0cm95Jyk7CgoJCQkvLyBEZXRhY2ggZW1pdHRlciBldmVudHMKCQkJT2JqZWN0LmtleXMoc3dpcGVyLmV2ZW50c0xpc3RlbmVycykuZm9yRWFjaChmdW5jdGlvbiAoZXZlbnROYW1lKSB7CgkJCQlzd2lwZXIub2ZmKGV2ZW50TmFtZSk7CgkJCX0pOwoKCQkJaWYgKGRlbGV0ZUluc3RhbmNlICE9PSBmYWxzZSkgewoJCQkJc3dpcGVyLiRlbFswXS5zd2lwZXIgPSBudWxsOwoJCQkJc3dpcGVyLiRlbC5kYXRhKCdzd2lwZXInLCBudWxsKTsKCQkJCVV0aWxzLmRlbGV0ZVByb3BzKHN3aXBlcik7CgkJCX0KCQkJc3dpcGVyLmRlc3Ryb3llZCA9IHRydWU7CgoJCQlyZXR1cm4gbnVsbDsKCQl9OwoJCVN3aXBlci5leHRlbmREZWZhdWx0cyA9IGZ1bmN0aW9uIGV4dGVuZERlZmF1bHRzIChuZXdEZWZhdWx0cykgewoJCQlVdGlscy5leHRlbmQoZXh0ZW5kZWREZWZhdWx0cywgbmV3RGVmYXVsdHMpOwoJCX07CgkJc3RhdGljQWNjZXNzb3JzLmV4dGVuZGVkRGVmYXVsdHMuZ2V0ID0gZnVuY3Rpb24gKCkgewoJCQlyZXR1cm4gZXh0ZW5kZWREZWZhdWx0czsKCQl9OwoJCXN0YXRpY0FjY2Vzc29ycy5kZWZhdWx0cy5nZXQgPSBmdW5jdGlvbiAoKSB7CgkJCXJldHVybiBkZWZhdWx0czsKCQl9OwoJCXN0YXRpY0FjY2Vzc29ycy5DbGFzcy5nZXQgPSBmdW5jdGlvbiAoKSB7CgkJCXJldHVybiBTd2lwZXJDbGFzcyQkMTsKCQl9OwoJCXN0YXRpY0FjY2Vzc29ycy4kLmdldCA9IGZ1bmN0aW9uICgpIHsKCQkJcmV0dXJuICQ7CgkJfTsKCgkJT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoIFN3aXBlciwgc3RhdGljQWNjZXNzb3JzICk7CgoJCXJldHVybiBTd2lwZXI7Cgl9KFN3aXBlckNsYXNzKSk7CgoJdmFyIERldmljZSQxID0gewoJCW5hbWU6ICdkZXZpY2UnLAoJCXByb3RvOiB7CgkJCWRldmljZTogRGV2aWNlLAoJCX0sCgkJc3RhdGljOiB7CgkJCWRldmljZTogRGV2aWNlLAoJCX0sCgl9OwoKCXZhciBTdXBwb3J0JDEgPSB7CgkJbmFtZTogJ3N1cHBvcnQnLAoJCXByb3RvOiB7CgkJCXN1cHBvcnQ6IFN1cHBvcnQsCgkJfSwKCQlzdGF0aWM6IHsKCQkJc3VwcG9ydDogU3VwcG9ydCwKCQl9LAoJfTsKCgl2YXIgQnJvd3NlciQxID0gewoJCW5hbWU6ICdicm93c2VyJywKCQlwcm90bzogewoJCQlicm93c2VyOiBCcm93c2VyLAoJCX0sCgkJc3RhdGljOiB7CgkJCWJyb3dzZXI6IEJyb3dzZXIsCgkJfSwKCX07CgoJdmFyIFJlc2l6ZSA9IHsKCQluYW1lOiAncmVzaXplJywKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCXJlc2l6ZTogewoJCQkJCXJlc2l6ZUhhbmRsZXI6IGZ1bmN0aW9uIHJlc2l6ZUhhbmRsZXIoKSB7CgkJCQkJCWlmICghc3dpcGVyIHx8IHN3aXBlci5kZXN0cm95ZWQgfHwgIXN3aXBlci5pbml0aWFsaXplZCkgeyByZXR1cm47IH0KCQkJCQkJc3dpcGVyLmVtaXQoJ2JlZm9yZVJlc2l6ZScpOwoJCQkJCQlzd2lwZXIuZW1pdCgncmVzaXplJyk7CgkJCQkJfSwKCQkJCQlvcmllbnRhdGlvbkNoYW5nZUhhbmRsZXI6IGZ1bmN0aW9uIG9yaWVudGF0aW9uQ2hhbmdlSGFuZGxlcigpIHsKCQkJCQkJaWYgKCFzd2lwZXIgfHwgc3dpcGVyLmRlc3Ryb3llZCB8fCAhc3dpcGVyLmluaXRpYWxpemVkKSB7IHJldHVybjsgfQoJCQkJCQlzd2lwZXIuZW1pdCgnb3JpZW50YXRpb25jaGFuZ2UnKTsKCQkJCQl9LAoJCQkJfSwKCQkJfSk7CgkJfSwKCQlvbjogewoJCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQkvLyBFbWl0IHJlc2l6ZQoJCQkJd2luLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN3aXBlci5yZXNpemUucmVzaXplSGFuZGxlcik7CgoJCQkJLy8gRW1pdCBvcmllbnRhdGlvbmNoYW5nZQoJCQkJd2luLmFkZEV2ZW50TGlzdGVuZXIoJ29yaWVudGF0aW9uY2hhbmdlJywgc3dpcGVyLnJlc2l6ZS5vcmllbnRhdGlvbkNoYW5nZUhhbmRsZXIpOwoJCQl9LAoJCQlkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQl3aW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgc3dpcGVyLnJlc2l6ZS5yZXNpemVIYW5kbGVyKTsKCQkJCXdpbi5yZW1vdmVFdmVudExpc3RlbmVyKCdvcmllbnRhdGlvbmNoYW5nZScsIHN3aXBlci5yZXNpemUub3JpZW50YXRpb25DaGFuZ2VIYW5kbGVyKTsKCQkJfSwKCQl9LAoJfTsKCgl2YXIgT2JzZXJ2ZXIgPSB7CgkJZnVuYzogd2luLk11dGF0aW9uT2JzZXJ2ZXIgfHwgd2luLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXIsCgkJYXR0YWNoOiBmdW5jdGlvbiBhdHRhY2godGFyZ2V0LCBvcHRpb25zKSB7CgkJCWlmICggb3B0aW9ucyA9PT0gdm9pZCAwICkgb3B0aW9ucyA9IHt9OwoKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgoJCQl2YXIgT2JzZXJ2ZXJGdW5jID0gT2JzZXJ2ZXIuZnVuYzsKCQkJdmFyIG9ic2VydmVyID0gbmV3IE9ic2VydmVyRnVuYyhmdW5jdGlvbiAobXV0YXRpb25zKSB7CgkJCQltdXRhdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAobXV0YXRpb24pIHsKCQkJCQlzd2lwZXIuZW1pdCgnb2JzZXJ2ZXJVcGRhdGUnLCBtdXRhdGlvbik7CgkJCQl9KTsKCQkJfSk7CgoJCQlvYnNlcnZlci5vYnNlcnZlKHRhcmdldCwgewoJCQkJYXR0cmlidXRlczogdHlwZW9mIG9wdGlvbnMuYXR0cmlidXRlcyA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogb3B0aW9ucy5hdHRyaWJ1dGVzLAoJCQkJY2hpbGRMaXN0OiB0eXBlb2Ygb3B0aW9ucy5jaGlsZExpc3QgPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IG9wdGlvbnMuY2hpbGRMaXN0LAoJCQkJY2hhcmFjdGVyRGF0YTogdHlwZW9mIG9wdGlvbnMuY2hhcmFjdGVyRGF0YSA9PT0gJ3VuZGVmaW5lZCcgPyB0cnVlIDogb3B0aW9ucy5jaGFyYWN0ZXJEYXRhLAoJCQl9KTsKCgkJCXN3aXBlci5vYnNlcnZlci5vYnNlcnZlcnMucHVzaChvYnNlcnZlcik7CgkJfSwKCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFTdXBwb3J0Lm9ic2VydmVyIHx8ICFzd2lwZXIucGFyYW1zLm9ic2VydmVyKSB7IHJldHVybjsgfQoJCQlpZiAoc3dpcGVyLnBhcmFtcy5vYnNlcnZlUGFyZW50cykgewoJCQkJdmFyIGNvbnRhaW5lclBhcmVudHMgPSBzd2lwZXIuJGVsLnBhcmVudHMoKTsKCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgY29udGFpbmVyUGFyZW50cy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJCXN3aXBlci5vYnNlcnZlci5hdHRhY2goY29udGFpbmVyUGFyZW50c1tpXSk7CgkJCQl9CgkJCX0KCQkJLy8gT2JzZXJ2ZSBjb250YWluZXIKCQkJc3dpcGVyLm9ic2VydmVyLmF0dGFjaChzd2lwZXIuJGVsWzBdLCB7IGNoaWxkTGlzdDogZmFsc2UgfSk7CgoJCQkvLyBPYnNlcnZlIHdyYXBwZXIKCQkJc3dpcGVyLm9ic2VydmVyLmF0dGFjaChzd2lwZXIuJHdyYXBwZXJFbFswXSwgeyBhdHRyaWJ1dGVzOiBmYWxzZSB9KTsKCQl9LAoJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlzd2lwZXIub2JzZXJ2ZXIub2JzZXJ2ZXJzLmZvckVhY2goZnVuY3Rpb24gKG9ic2VydmVyKSB7CgkJCQlvYnNlcnZlci5kaXNjb25uZWN0KCk7CgkJCX0pOwoJCQlzd2lwZXIub2JzZXJ2ZXIub2JzZXJ2ZXJzID0gW107CgkJfSwKCX07CgoJdmFyIE9ic2VydmVyJDEgPSB7CgkJbmFtZTogJ29ic2VydmVyJywKCQlwYXJhbXM6IHsKCQkJb2JzZXJ2ZXI6IGZhbHNlLAoJCQlvYnNlcnZlUGFyZW50czogZmFsc2UsCgkJfSwKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCW9ic2VydmVyOiB7CgkJCQkJaW5pdDogT2JzZXJ2ZXIuaW5pdC5iaW5kKHN3aXBlciksCgkJCQkJYXR0YWNoOiBPYnNlcnZlci5hdHRhY2guYmluZChzd2lwZXIpLAoJCQkJCWRlc3Ryb3k6IE9ic2VydmVyLmRlc3Ryb3kuYmluZChzd2lwZXIpLAoJCQkJCW9ic2VydmVyczogW10sCgkJCQl9LAoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWluaXQ6IGZ1bmN0aW9uIGluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci5vYnNlcnZlci5pbml0KCk7CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci5vYnNlcnZlci5kZXN0cm95KCk7CgkJCX0sCgkJfSwKCX07CgoJdmFyIFZpcnR1YWwgPSB7CgkJdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUoZm9yY2UpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciByZWYgPSBzd2lwZXIucGFyYW1zOwoJCQl2YXIgc2xpZGVzUGVyVmlldyA9IHJlZi5zbGlkZXNQZXJWaWV3OwoJCQl2YXIgc2xpZGVzUGVyR3JvdXAgPSByZWYuc2xpZGVzUGVyR3JvdXA7CgkJCXZhciBjZW50ZXJlZFNsaWRlcyA9IHJlZi5jZW50ZXJlZFNsaWRlczsKCQkJdmFyIHJlZiQxID0gc3dpcGVyLnZpcnR1YWw7CgkJCXZhciBwcmV2aW91c0Zyb20gPSByZWYkMS5mcm9tOwoJCQl2YXIgcHJldmlvdXNUbyA9IHJlZiQxLnRvOwoJCQl2YXIgc2xpZGVzID0gcmVmJDEuc2xpZGVzOwoJCQl2YXIgcHJldmlvdXNTbGlkZXNHcmlkID0gcmVmJDEuc2xpZGVzR3JpZDsKCQkJdmFyIHJlbmRlclNsaWRlID0gcmVmJDEucmVuZGVyU2xpZGU7CgkJCXZhciBwcmV2aW91c09mZnNldCA9IHJlZiQxLm9mZnNldDsKCQkJc3dpcGVyLnVwZGF0ZUFjdGl2ZUluZGV4KCk7CgkJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleCB8fCAwOwoKCQkJdmFyIG9mZnNldFByb3A7CgkJCWlmIChzd2lwZXIucnRsVHJhbnNsYXRlKSB7IG9mZnNldFByb3AgPSAncmlnaHQnOyB9CgkJCWVsc2UgeyBvZmZzZXRQcm9wID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJ2xlZnQnIDogJ3RvcCc7IH0KCgkJCXZhciBzbGlkZXNBZnRlcjsKCQkJdmFyIHNsaWRlc0JlZm9yZTsKCQkJaWYgKGNlbnRlcmVkU2xpZGVzKSB7CgkJCQlzbGlkZXNBZnRlciA9IE1hdGguZmxvb3Ioc2xpZGVzUGVyVmlldyAvIDIpICsgc2xpZGVzUGVyR3JvdXA7CgkJCQlzbGlkZXNCZWZvcmUgPSBNYXRoLmZsb29yKHNsaWRlc1BlclZpZXcgLyAyKSArIHNsaWRlc1Blckdyb3VwOwoJCQl9IGVsc2UgewoJCQkJc2xpZGVzQWZ0ZXIgPSBzbGlkZXNQZXJWaWV3ICsgKHNsaWRlc1Blckdyb3VwIC0gMSk7CgkJCQlzbGlkZXNCZWZvcmUgPSBzbGlkZXNQZXJHcm91cDsKCQkJfQoJCQl2YXIgZnJvbSA9IE1hdGgubWF4KChhY3RpdmVJbmRleCB8fCAwKSAtIHNsaWRlc0JlZm9yZSwgMCk7CgkJCXZhciB0byA9IE1hdGgubWluKChhY3RpdmVJbmRleCB8fCAwKSArIHNsaWRlc0FmdGVyLCBzbGlkZXMubGVuZ3RoIC0gMSk7CgkJCXZhciBvZmZzZXQgPSAoc3dpcGVyLnNsaWRlc0dyaWRbZnJvbV0gfHwgMCkgLSAoc3dpcGVyLnNsaWRlc0dyaWRbMF0gfHwgMCk7CgoJCQlVdGlscy5leHRlbmQoc3dpcGVyLnZpcnR1YWwsIHsKCQkJCWZyb206IGZyb20sCgkJCQl0bzogdG8sCgkJCQlvZmZzZXQ6IG9mZnNldCwKCQkJCXNsaWRlc0dyaWQ6IHN3aXBlci5zbGlkZXNHcmlkLAoJCQl9KTsKCgkJCWZ1bmN0aW9uIG9uUmVuZGVyZWQoKSB7CgkJCQlzd2lwZXIudXBkYXRlU2xpZGVzKCk7CgkJCQlzd2lwZXIudXBkYXRlUHJvZ3Jlc3MoKTsKCQkJCXN3aXBlci51cGRhdGVTbGlkZXNDbGFzc2VzKCk7CgkJCQlpZiAoc3dpcGVyLmxhenkgJiYgc3dpcGVyLnBhcmFtcy5sYXp5LmVuYWJsZWQpIHsKCQkJCQlzd2lwZXIubGF6eS5sb2FkKCk7CgkJCQl9CgkJCX0KCgkJCWlmIChwcmV2aW91c0Zyb20gPT09IGZyb20gJiYgcHJldmlvdXNUbyA9PT0gdG8gJiYgIWZvcmNlKSB7CgkJCQlpZiAoc3dpcGVyLnNsaWRlc0dyaWQgIT09IHByZXZpb3VzU2xpZGVzR3JpZCAmJiBvZmZzZXQgIT09IHByZXZpb3VzT2Zmc2V0KSB7CgkJCQkJc3dpcGVyLnNsaWRlcy5jc3Mob2Zmc2V0UHJvcCwgKG9mZnNldCArICJweCIpKTsKCQkJCX0KCQkJCXN3aXBlci51cGRhdGVQcm9ncmVzcygpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCWlmIChzd2lwZXIucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWwpIHsKCQkJCXN3aXBlci5wYXJhbXMudmlydHVhbC5yZW5kZXJFeHRlcm5hbC5jYWxsKHN3aXBlciwgewoJCQkJCW9mZnNldDogb2Zmc2V0LAoJCQkJCWZyb206IGZyb20sCgkJCQkJdG86IHRvLAoJCQkJCXNsaWRlczogKGZ1bmN0aW9uIGdldFNsaWRlcygpIHsKCQkJCQkJdmFyIHNsaWRlc1RvUmVuZGVyID0gW107CgkJCQkJCWZvciAodmFyIGkgPSBmcm9tOyBpIDw9IHRvOyBpICs9IDEpIHsKCQkJCQkJCXNsaWRlc1RvUmVuZGVyLnB1c2goc2xpZGVzW2ldKTsKCQkJCQkJfQoJCQkJCQlyZXR1cm4gc2xpZGVzVG9SZW5kZXI7CgkJCQkJfSgpKSwKCQkJCX0pOwoJCQkJb25SZW5kZXJlZCgpOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXZhciBwcmVwZW5kSW5kZXhlcyA9IFtdOwoJCQl2YXIgYXBwZW5kSW5kZXhlcyA9IFtdOwoJCQlpZiAoZm9yY2UpIHsKCQkJCXN3aXBlci4kd3JhcHBlckVsLmZpbmQoKCIuIiArIChzd2lwZXIucGFyYW1zLnNsaWRlQ2xhc3MpKSkucmVtb3ZlKCk7CgkJCX0gZWxzZSB7CgkJCQlmb3IgKHZhciBpID0gcHJldmlvdXNGcm9tOyBpIDw9IHByZXZpb3VzVG87IGkgKz0gMSkgewoJCQkJCWlmIChpIDwgZnJvbSB8fCBpID4gdG8pIHsKCQkJCQkJc3dpcGVyLiR3cmFwcGVyRWwuZmluZCgoIi4iICsgKHN3aXBlci5wYXJhbXMuc2xpZGVDbGFzcykgKyAiW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiIiArIGkgKyAiXCJdIikpLnJlbW92ZSgpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQlmb3IgKHZhciBpJDEgPSAwOyBpJDEgPCBzbGlkZXMubGVuZ3RoOyBpJDEgKz0gMSkgewoJCQkJaWYgKGkkMSA+PSBmcm9tICYmIGkkMSA8PSB0bykgewoJCQkJCWlmICh0eXBlb2YgcHJldmlvdXNUbyA9PT0gJ3VuZGVmaW5lZCcgfHwgZm9yY2UpIHsKCQkJCQkJYXBwZW5kSW5kZXhlcy5wdXNoKGkkMSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJaWYgKGkkMSA+IHByZXZpb3VzVG8pIHsgYXBwZW5kSW5kZXhlcy5wdXNoKGkkMSk7IH0KCQkJCQkJaWYgKGkkMSA8IHByZXZpb3VzRnJvbSkgeyBwcmVwZW5kSW5kZXhlcy5wdXNoKGkkMSk7IH0KCQkJCQl9CgkJCQl9CgkJCX0KCQkJYXBwZW5kSW5kZXhlcy5mb3JFYWNoKGZ1bmN0aW9uIChpbmRleCkgewoJCQkJc3dpcGVyLiR3cmFwcGVyRWwuYXBwZW5kKHJlbmRlclNsaWRlKHNsaWRlc1tpbmRleF0sIGluZGV4KSk7CgkJCX0pOwoJCQlwcmVwZW5kSW5kZXhlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBhIDwgYjsgfSkuZm9yRWFjaChmdW5jdGlvbiAoaW5kZXgpIHsKCQkJCXN3aXBlci4kd3JhcHBlckVsLnByZXBlbmQocmVuZGVyU2xpZGUoc2xpZGVzW2luZGV4XSwgaW5kZXgpKTsKCQkJfSk7CgkJCXN3aXBlci4kd3JhcHBlckVsLmNoaWxkcmVuKCcuc3dpcGVyLXNsaWRlJykuY3NzKG9mZnNldFByb3AsIChvZmZzZXQgKyAicHgiKSk7CgkJCW9uUmVuZGVyZWQoKTsKCQl9LAoJCXJlbmRlclNsaWRlOiBmdW5jdGlvbiByZW5kZXJTbGlkZShzbGlkZSwgaW5kZXgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnZpcnR1YWw7CgkJCWlmIChwYXJhbXMuY2FjaGUgJiYgc3dpcGVyLnZpcnR1YWwuY2FjaGVbaW5kZXhdKSB7CgkJCQlyZXR1cm4gc3dpcGVyLnZpcnR1YWwuY2FjaGVbaW5kZXhdOwoJCQl9CgkJCXZhciAkc2xpZGVFbCA9IHBhcmFtcy5yZW5kZXJTbGlkZQoJCQkJPyAkKHBhcmFtcy5yZW5kZXJTbGlkZS5jYWxsKHN3aXBlciwgc2xpZGUsIGluZGV4KSkKCQkJCTogJCgoIjxkaXYgY2xhc3M9XCIiICsgKHN3aXBlci5wYXJhbXMuc2xpZGVDbGFzcykgKyAiXCIgZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgaW5kZXggKyAiXCI+IiArIHNsaWRlICsgIjwvZGl2PiIpKTsKCQkJaWYgKCEkc2xpZGVFbC5hdHRyKCdkYXRhLXN3aXBlci1zbGlkZS1pbmRleCcpKSB7ICRzbGlkZUVsLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JywgaW5kZXgpOyB9CgkJCWlmIChwYXJhbXMuY2FjaGUpIHsgc3dpcGVyLnZpcnR1YWwuY2FjaGVbaW5kZXhdID0gJHNsaWRlRWw7IH0KCQkJcmV0dXJuICRzbGlkZUVsOwoJCX0sCgkJYXBwZW5kU2xpZGU6IGZ1bmN0aW9uIGFwcGVuZFNsaWRlKHNsaWRlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlzd2lwZXIudmlydHVhbC5zbGlkZXMucHVzaChzbGlkZSk7CgkJCXN3aXBlci52aXJ0dWFsLnVwZGF0ZSh0cnVlKTsKCQl9LAoJCXByZXBlbmRTbGlkZTogZnVuY3Rpb24gcHJlcGVuZFNsaWRlKHNsaWRlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlzd2lwZXIudmlydHVhbC5zbGlkZXMudW5zaGlmdChzbGlkZSk7CgkJCWlmIChzd2lwZXIucGFyYW1zLnZpcnR1YWwuY2FjaGUpIHsKCQkJCXZhciBjYWNoZSA9IHN3aXBlci52aXJ0dWFsLmNhY2hlOwoJCQkJdmFyIG5ld0NhY2hlID0ge307CgkJCQlPYmplY3Qua2V5cyhjYWNoZSkuZm9yRWFjaChmdW5jdGlvbiAoY2FjaGVkSW5kZXgpIHsKCQkJCQluZXdDYWNoZVtjYWNoZWRJbmRleCArIDFdID0gY2FjaGVbY2FjaGVkSW5kZXhdOwoJCQkJfSk7CgkJCQlzd2lwZXIudmlydHVhbC5jYWNoZSA9IG5ld0NhY2hlOwoJCQl9CgkJCXN3aXBlci52aXJ0dWFsLnVwZGF0ZSh0cnVlKTsKCQkJc3dpcGVyLnNsaWRlTmV4dCgwKTsKCQl9LAoJfTsKCgl2YXIgVmlydHVhbCQxID0gewoJCW5hbWU6ICd2aXJ0dWFsJywKCQlwYXJhbXM6IHsKCQkJdmlydHVhbDogewoJCQkJZW5hYmxlZDogZmFsc2UsCgkJCQlzbGlkZXM6IFtdLAoJCQkJY2FjaGU6IHRydWUsCgkJCQlyZW5kZXJTbGlkZTogbnVsbCwKCQkJCXJlbmRlckV4dGVybmFsOiBudWxsLAoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQl2aXJ0dWFsOiB7CgkJCQkJdXBkYXRlOiBWaXJ0dWFsLnVwZGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJYXBwZW5kU2xpZGU6IFZpcnR1YWwuYXBwZW5kU2xpZGUuYmluZChzd2lwZXIpLAoJCQkJCXByZXBlbmRTbGlkZTogVmlydHVhbC5wcmVwZW5kU2xpZGUuYmluZChzd2lwZXIpLAoJCQkJCXJlbmRlclNsaWRlOiBWaXJ0dWFsLnJlbmRlclNsaWRlLmJpbmQoc3dpcGVyKSwKCQkJCQlzbGlkZXM6IHN3aXBlci5wYXJhbXMudmlydHVhbC5zbGlkZXMsCgkJCQkJY2FjaGU6IHt9LAoJCQkJfSwKCQkJfSk7CgkJfSwKCQlvbjogewoJCQliZWZvcmVJbml0OiBmdW5jdGlvbiBiZWZvcmVJbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoIXN3aXBlci5wYXJhbXMudmlydHVhbC5lbmFibGVkKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLmNsYXNzTmFtZXMucHVzaCgoKHN3aXBlci5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykgKyAidmlydHVhbCIpKTsKCQkJCXZhciBvdmVyd3JpdGVQYXJhbXMgPSB7CgkJCQkJd2F0Y2hTbGlkZXNQcm9ncmVzczogdHJ1ZSwKCQkJCX07CgkJCQlVdGlscy5leHRlbmQoc3dpcGVyLnBhcmFtcywgb3ZlcndyaXRlUGFyYW1zKTsKCQkJCVV0aWxzLmV4dGVuZChzd2lwZXIub3JpZ2luYWxQYXJhbXMsIG92ZXJ3cml0ZVBhcmFtcyk7CgoJCQkJc3dpcGVyLnZpcnR1YWwudXBkYXRlKCk7CgkJCX0sCgkJCXNldFRyYW5zbGF0ZTogZnVuY3Rpb24gc2V0VHJhbnNsYXRlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoIXN3aXBlci5wYXJhbXMudmlydHVhbC5lbmFibGVkKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLnZpcnR1YWwudXBkYXRlKCk7CgkJCX0sCgkJfSwKCX07CgoJdmFyIEtleWJvYXJkID0gewoJCWhhbmRsZTogZnVuY3Rpb24gaGFuZGxlKGV2ZW50KSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQkJdmFyIGUgPSBldmVudDsKCQkJaWYgKGUub3JpZ2luYWxFdmVudCkgeyBlID0gZS5vcmlnaW5hbEV2ZW50OyB9IC8vIGpxdWVyeSBmaXgKCQkJdmFyIGtjID0gZS5rZXlDb2RlIHx8IGUuY2hhckNvZGU7CgkJCS8vIERpcmVjdGlvbnMgbG9ja3MKCQkJaWYgKCFzd2lwZXIuYWxsb3dTbGlkZU5leHQgJiYgKChzd2lwZXIuaXNIb3Jpem9udGFsKCkgJiYga2MgPT09IDM5KSB8fCAoc3dpcGVyLmlzVmVydGljYWwoKSAmJiBrYyA9PT0gNDApKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCWlmICghc3dpcGVyLmFsbG93U2xpZGVQcmV2ICYmICgoc3dpcGVyLmlzSG9yaXpvbnRhbCgpICYmIGtjID09PSAzNykgfHwgKHN3aXBlci5pc1ZlcnRpY2FsKCkgJiYga2MgPT09IDM4KSkpIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQlpZiAoZS5zaGlmdEtleSB8fCBlLmFsdEtleSB8fCBlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSB7CgkJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCQl9CgkJCWlmIChkb2MuYWN0aXZlRWxlbWVudCAmJiBkb2MuYWN0aXZlRWxlbWVudC5ub2RlTmFtZSAmJiAoZG9jLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyB8fCBkb2MuYWN0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndGV4dGFyZWEnKSkgewoJCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQkJfQoJCQlpZiAoc3dpcGVyLnBhcmFtcy5rZXlib2FyZC5vbmx5SW5WaWV3cG9ydCAmJiAoa2MgPT09IDM3IHx8IGtjID09PSAzOSB8fCBrYyA9PT0gMzggfHwga2MgPT09IDQwKSkgewoJCQkJdmFyIGluVmlldyA9IGZhbHNlOwoJCQkJLy8gQ2hlY2sgdGhhdCBzd2lwZXIgc2hvdWxkIGJlIGluc2lkZSBvZiB2aXNpYmxlIGFyZWEgb2Ygd2luZG93CgkJCQlpZiAoc3dpcGVyLiRlbC5wYXJlbnRzKCgiLiIgKyAoc3dpcGVyLnBhcmFtcy5zbGlkZUNsYXNzKSkpLmxlbmd0aCA+IDAgJiYgc3dpcGVyLiRlbC5wYXJlbnRzKCgiLiIgKyAoc3dpcGVyLnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKSkpLmxlbmd0aCA9PT0gMCkgewoJCQkJCXJldHVybiB1bmRlZmluZWQ7CgkJCQl9CgkJCQl2YXIgd2luZG93V2lkdGggPSB3aW4uaW5uZXJXaWR0aDsKCQkJCXZhciB3aW5kb3dIZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7CgkJCQl2YXIgc3dpcGVyT2Zmc2V0ID0gc3dpcGVyLiRlbC5vZmZzZXQoKTsKCQkJCWlmIChydGwpIHsgc3dpcGVyT2Zmc2V0LmxlZnQgLT0gc3dpcGVyLiRlbFswXS5zY3JvbGxMZWZ0OyB9CgkJCQl2YXIgc3dpcGVyQ29vcmQgPSBbCgkJCQkJW3N3aXBlck9mZnNldC5sZWZ0LCBzd2lwZXJPZmZzZXQudG9wXSwKCQkJCQlbc3dpcGVyT2Zmc2V0LmxlZnQgKyBzd2lwZXIud2lkdGgsIHN3aXBlck9mZnNldC50b3BdLAoJCQkJCVtzd2lwZXJPZmZzZXQubGVmdCwgc3dpcGVyT2Zmc2V0LnRvcCArIHN3aXBlci5oZWlnaHRdLAoJCQkJCVtzd2lwZXJPZmZzZXQubGVmdCArIHN3aXBlci53aWR0aCwgc3dpcGVyT2Zmc2V0LnRvcCArIHN3aXBlci5oZWlnaHRdIF07CgkJCQlmb3IgKHZhciBpID0gMDsgaSA8IHN3aXBlckNvb3JkLmxlbmd0aDsgaSArPSAxKSB7CgkJCQkJdmFyIHBvaW50ID0gc3dpcGVyQ29vcmRbaV07CgkJCQkJaWYgKAoJCQkJCQlwb2ludFswXSA+PSAwICYmIHBvaW50WzBdIDw9IHdpbmRvd1dpZHRoICYmCgkJCQkJCXBvaW50WzFdID49IDAgJiYgcG9pbnRbMV0gPD0gd2luZG93SGVpZ2h0CgkJCQkJKSB7CgkJCQkJCWluVmlldyA9IHRydWU7CgkJCQkJfQoJCQkJfQoJCQkJaWYgKCFpblZpZXcpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfQoJCQl9CgkJCWlmIChzd2lwZXIuaXNIb3Jpem9udGFsKCkpIHsKCQkJCWlmIChrYyA9PT0gMzcgfHwga2MgPT09IDM5KSB7CgkJCQkJaWYgKGUucHJldmVudERlZmF1bHQpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9CgkJCQkJZWxzZSB7IGUucmV0dXJuVmFsdWUgPSBmYWxzZTsgfQoJCQkJfQoJCQkJaWYgKChrYyA9PT0gMzkgJiYgIXJ0bCkgfHwgKGtjID09PSAzNyAmJiBydGwpKSB7IHN3aXBlci5zbGlkZU5leHQoKTsgfQoJCQkJaWYgKChrYyA9PT0gMzcgJiYgIXJ0bCkgfHwgKGtjID09PSAzOSAmJiBydGwpKSB7IHN3aXBlci5zbGlkZVByZXYoKTsgfQoJCQl9IGVsc2UgewoJCQkJaWYgKGtjID09PSAzOCB8fCBrYyA9PT0gNDApIHsKCQkJCQlpZiAoZS5wcmV2ZW50RGVmYXVsdCkgeyBlLnByZXZlbnREZWZhdWx0KCk7IH0KCQkJCQllbHNlIHsgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOyB9CgkJCQl9CgkJCQlpZiAoa2MgPT09IDQwKSB7IHN3aXBlci5zbGlkZU5leHQoKTsgfQoJCQkJaWYgKGtjID09PSAzOCkgeyBzd2lwZXIuc2xpZGVQcmV2KCk7IH0KCQkJfQoJCQlzd2lwZXIuZW1pdCgna2V5UHJlc3MnLCBrYyk7CgkJCXJldHVybiB1bmRlZmluZWQ7CgkJfSwKCQllbmFibGU6IGZ1bmN0aW9uIGVuYWJsZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmIChzd2lwZXIua2V5Ym9hcmQuZW5hYmxlZCkgeyByZXR1cm47IH0KCQkJJChkb2MpLm9uKCdrZXlkb3duJywgc3dpcGVyLmtleWJvYXJkLmhhbmRsZSk7CgkJCXN3aXBlci5rZXlib2FyZC5lbmFibGVkID0gdHJ1ZTsKCQl9LAoJCWRpc2FibGU6IGZ1bmN0aW9uIGRpc2FibGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIXN3aXBlci5rZXlib2FyZC5lbmFibGVkKSB7IHJldHVybjsgfQoJCQkkKGRvYykub2ZmKCdrZXlkb3duJywgc3dpcGVyLmtleWJvYXJkLmhhbmRsZSk7CgkJCXN3aXBlci5rZXlib2FyZC5lbmFibGVkID0gZmFsc2U7CgkJfSwKCX07CgoJdmFyIEtleWJvYXJkJDEgPSB7CgkJbmFtZTogJ2tleWJvYXJkJywKCQlwYXJhbXM6IHsKCQkJa2V5Ym9hcmQ6IHsKCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJb25seUluVmlld3BvcnQ6IHRydWUsCgkJCX0sCgkJfSwKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCWtleWJvYXJkOiB7CgkJCQkJZW5hYmxlZDogZmFsc2UsCgkJCQkJZW5hYmxlOiBLZXlib2FyZC5lbmFibGUuYmluZChzd2lwZXIpLAoJCQkJCWRpc2FibGU6IEtleWJvYXJkLmRpc2FibGUuYmluZChzd2lwZXIpLAoJCQkJCWhhbmRsZTogS2V5Ym9hcmQuaGFuZGxlLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMua2V5Ym9hcmQuZW5hYmxlZCkgewoJCQkJCXN3aXBlci5rZXlib2FyZC5lbmFibGUoKTsKCQkJCX0KCQkJfSwKCQkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5rZXlib2FyZC5lbmFibGVkKSB7CgkJCQkJc3dpcGVyLmtleWJvYXJkLmRpc2FibGUoKTsKCQkJCX0KCQkJfSwKCQl9LAoJfTsKCglmdW5jdGlvbiBpc0V2ZW50U3VwcG9ydGVkKCkgewoJCXZhciBldmVudE5hbWUgPSAnb253aGVlbCc7CgkJdmFyIGlzU3VwcG9ydGVkID0gZXZlbnROYW1lIGluIGRvYzsKCgkJaWYgKCFpc1N1cHBvcnRlZCkgewoJCQl2YXIgZWxlbWVudCA9IGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTsKCQkJZWxlbWVudC5zZXRBdHRyaWJ1dGUoZXZlbnROYW1lLCAncmV0dXJuOycpOwoJCQlpc1N1cHBvcnRlZCA9IHR5cGVvZiBlbGVtZW50W2V2ZW50TmFtZV0gPT09ICdmdW5jdGlvbic7CgkJfQoKCQlpZiAoIWlzU3VwcG9ydGVkICYmCgkJCWRvYy5pbXBsZW1lbnRhdGlvbiAmJgoJCQlkb2MuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSAmJgoJCQkvLyBhbHdheXMgcmV0dXJucyB0cnVlIGluIG5ld2VyIGJyb3dzZXJzIGFzIHBlciB0aGUgc3RhbmRhcmQuCgkJCS8vIEBzZWUgaHR0cDovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI2RvbS1kb21pbXBsZW1lbnRhdGlvbi1oYXNmZWF0dXJlCgkJCWRvYy5pbXBsZW1lbnRhdGlvbi5oYXNGZWF0dXJlKCcnLCAnJykgIT09IHRydWUKCQkpIHsKCQkJLy8gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gdGVzdCBzdXBwb3J0IGZvciB0aGUgYHdoZWVsYCBldmVudCBpbiBJRTkrLgoJCQlpc1N1cHBvcnRlZCA9IGRvYy5pbXBsZW1lbnRhdGlvbi5oYXNGZWF0dXJlKCdFdmVudHMud2hlZWwnLCAnMy4wJyk7CgkJfQoKCQlyZXR1cm4gaXNTdXBwb3J0ZWQ7Cgl9Cgl2YXIgTW91c2V3aGVlbCA9IHsKCQlsYXN0U2Nyb2xsVGltZTogVXRpbHMubm93KCksCgkJZXZlbnQ6IChmdW5jdGlvbiBnZXRFdmVudCgpIHsKCQkJaWYgKHdpbi5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ2ZpcmVmb3gnKSA+IC0xKSB7IHJldHVybiAnRE9NTW91c2VTY3JvbGwnOyB9CgkJCXJldHVybiBpc0V2ZW50U3VwcG9ydGVkKCkgPyAnd2hlZWwnIDogJ21vdXNld2hlZWwnOwoJCX0oKSksCgkJbm9ybWFsaXplOiBmdW5jdGlvbiBub3JtYWxpemUoZSkgewoJCQkvLyBSZWFzb25hYmxlIGRlZmF1bHRzCgkJCXZhciBQSVhFTF9TVEVQID0gMTA7CgkJCXZhciBMSU5FX0hFSUdIVCA9IDQwOwoJCQl2YXIgUEFHRV9IRUlHSFQgPSA4MDA7CgoJCQl2YXIgc1ggPSAwOwoJCQl2YXIgc1kgPSAwOyAvLyBzcGluWCwgc3BpblkKCQkJdmFyIHBYID0gMDsKCQkJdmFyIHBZID0gMDsgLy8gcGl4ZWxYLCBwaXhlbFkKCgkJCS8vIExlZ2FjeQoJCQlpZiAoJ2RldGFpbCcgaW4gZSkgewoJCQkJc1kgPSBlLmRldGFpbDsKCQkJfQoJCQlpZiAoJ3doZWVsRGVsdGEnIGluIGUpIHsKCQkJCXNZID0gLWUud2hlZWxEZWx0YSAvIDEyMDsKCQkJfQoJCQlpZiAoJ3doZWVsRGVsdGFZJyBpbiBlKSB7CgkJCQlzWSA9IC1lLndoZWVsRGVsdGFZIC8gMTIwOwoJCQl9CgkJCWlmICgnd2hlZWxEZWx0YVgnIGluIGUpIHsKCQkJCXNYID0gLWUud2hlZWxEZWx0YVggLyAxMjA7CgkJCX0KCgkJCS8vIHNpZGUgc2Nyb2xsaW5nIG9uIEZGIHdpdGggRE9NTW91c2VTY3JvbGwKCQkJaWYgKCdheGlzJyBpbiBlICYmIGUuYXhpcyA9PT0gZS5IT1JJWk9OVEFMX0FYSVMpIHsKCQkJCXNYID0gc1k7CgkJCQlzWSA9IDA7CgkJCX0KCgkJCXBYID0gc1ggKiBQSVhFTF9TVEVQOwoJCQlwWSA9IHNZICogUElYRUxfU1RFUDsKCgkJCWlmICgnZGVsdGFZJyBpbiBlKSB7CgkJCQlwWSA9IGUuZGVsdGFZOwoJCQl9CgkJCWlmICgnZGVsdGFYJyBpbiBlKSB7CgkJCQlwWCA9IGUuZGVsdGFYOwoJCQl9CgoJCQlpZiAoKHBYIHx8IHBZKSAmJiBlLmRlbHRhTW9kZSkgewoJCQkJaWYgKGUuZGVsdGFNb2RlID09PSAxKSB7IC8vIGRlbHRhIGluIExJTkUgdW5pdHMKCQkJCQlwWCAqPSBMSU5FX0hFSUdIVDsKCQkJCQlwWSAqPSBMSU5FX0hFSUdIVDsKCQkJCX0gZWxzZSB7IC8vIGRlbHRhIGluIFBBR0UgdW5pdHMKCQkJCQlwWCAqPSBQQUdFX0hFSUdIVDsKCQkJCQlwWSAqPSBQQUdFX0hFSUdIVDsKCQkJCX0KCQkJfQoKCQkJLy8gRmFsbC1iYWNrIGlmIHNwaW4gY2Fubm90IGJlIGRldGVybWluZWQKCQkJaWYgKHBYICYmICFzWCkgewoJCQkJc1ggPSAocFggPCAxKSA/IC0xIDogMTsKCQkJfQoJCQlpZiAocFkgJiYgIXNZKSB7CgkJCQlzWSA9IChwWSA8IDEpID8gLTEgOiAxOwoJCQl9CgoJCQlyZXR1cm4gewoJCQkJc3Bpblg6IHNYLAoJCQkJc3Bpblk6IHNZLAoJCQkJcGl4ZWxYOiBwWCwKCQkJCXBpeGVsWTogcFksCgkJCX07CgkJfSwKCQloYW5kbGVNb3VzZUVudGVyOiBmdW5jdGlvbiBoYW5kbGVNb3VzZUVudGVyKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJc3dpcGVyLm1vdXNlRW50ZXJlZCA9IHRydWU7CgkJfSwKCQloYW5kbGVNb3VzZUxlYXZlOiBmdW5jdGlvbiBoYW5kbGVNb3VzZUxlYXZlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJc3dpcGVyLm1vdXNlRW50ZXJlZCA9IGZhbHNlOwoJCX0sCgkJaGFuZGxlOiBmdW5jdGlvbiBoYW5kbGUoZXZlbnQpIHsKCQkJdmFyIGUgPSBldmVudDsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLm1vdXNld2hlZWw7CgoJCQlpZiAoIXN3aXBlci5tb3VzZUVudGVyZWQgJiYgIXBhcmFtcy5yZWxlYXNlT25FZGdlcykgeyByZXR1cm4gdHJ1ZTsgfQoKCQkJaWYgKGUub3JpZ2luYWxFdmVudCkgeyBlID0gZS5vcmlnaW5hbEV2ZW50OyB9IC8vIGpxdWVyeSBmaXgKCQkJdmFyIGRlbHRhID0gMDsKCQkJdmFyIHJ0bEZhY3RvciA9IHN3aXBlci5ydGxUcmFuc2xhdGUgPyAtMSA6IDE7CgoJCQl2YXIgZGF0YSA9IE1vdXNld2hlZWwubm9ybWFsaXplKGUpOwoKCQkJaWYgKHBhcmFtcy5mb3JjZVRvQXhpcykgewoJCQkJaWYgKHN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQkJCWlmIChNYXRoLmFicyhkYXRhLnBpeGVsWCkgPiBNYXRoLmFicyhkYXRhLnBpeGVsWSkpIHsgZGVsdGEgPSBkYXRhLnBpeGVsWCAqIHJ0bEZhY3RvcjsgfQoJCQkJCWVsc2UgeyByZXR1cm4gdHJ1ZTsgfQoJCQkJfSBlbHNlIGlmIChNYXRoLmFicyhkYXRhLnBpeGVsWSkgPiBNYXRoLmFicyhkYXRhLnBpeGVsWCkpIHsgZGVsdGEgPSBkYXRhLnBpeGVsWTsgfQoJCQkJZWxzZSB7IHJldHVybiB0cnVlOyB9CgkJCX0gZWxzZSB7CgkJCQlkZWx0YSA9IE1hdGguYWJzKGRhdGEucGl4ZWxYKSA+IE1hdGguYWJzKGRhdGEucGl4ZWxZKSA/IC1kYXRhLnBpeGVsWCAqIHJ0bEZhY3RvciA6IC1kYXRhLnBpeGVsWTsKCQkJfQoKCQkJaWYgKGRlbHRhID09PSAwKSB7IHJldHVybiB0cnVlOyB9CgoJCQlpZiAocGFyYW1zLmludmVydCkgeyBkZWx0YSA9IC1kZWx0YTsgfQoKCQkJaWYgKCFzd2lwZXIucGFyYW1zLmZyZWVNb2RlKSB7CgkJCQlpZiAoVXRpbHMubm93KCkgLSBzd2lwZXIubW91c2V3aGVlbC5sYXN0U2Nyb2xsVGltZSA+IDYwKSB7CgkJCQkJaWYgKGRlbHRhIDwgMCkgewoJCQkJCQlpZiAoKCFzd2lwZXIuaXNFbmQgfHwgc3dpcGVyLnBhcmFtcy5sb29wKSAmJiAhc3dpcGVyLmFuaW1hdGluZykgewoJCQkJCQkJc3dpcGVyLnNsaWRlTmV4dCgpOwoJCQkJCQkJc3dpcGVyLmVtaXQoJ3Njcm9sbCcsIGUpOwoJCQkJCQl9IGVsc2UgaWYgKHBhcmFtcy5yZWxlYXNlT25FZGdlcykgeyByZXR1cm4gdHJ1ZTsgfQoJCQkJCX0gZWxzZSBpZiAoKCFzd2lwZXIuaXNCZWdpbm5pbmcgfHwgc3dpcGVyLnBhcmFtcy5sb29wKSAmJiAhc3dpcGVyLmFuaW1hdGluZykgewoJCQkJCQlzd2lwZXIuc2xpZGVQcmV2KCk7CgkJCQkJCXN3aXBlci5lbWl0KCdzY3JvbGwnLCBlKTsKCQkJCQl9IGVsc2UgaWYgKHBhcmFtcy5yZWxlYXNlT25FZGdlcykgeyByZXR1cm4gdHJ1ZTsgfQoJCQkJfQoJCQkJc3dpcGVyLm1vdXNld2hlZWwubGFzdFNjcm9sbFRpbWUgPSAobmV3IHdpbi5EYXRlKCkpLmdldFRpbWUoKTsKCQkJfSBlbHNlIHsKCQkJCS8vIEZyZWVtb2RlIG9yIHNjcm9sbENvbnRhaW5lcjoKCQkJCWlmIChzd2lwZXIucGFyYW1zLmxvb3ApIHsKCQkJCQlzd2lwZXIubG9vcEZpeCgpOwoJCQkJfQoJCQkJdmFyIHBvc2l0aW9uID0gc3dpcGVyLmdldFRyYW5zbGF0ZSgpICsgKGRlbHRhICogcGFyYW1zLnNlbnNpdGl2aXR5KTsKCQkJCXZhciB3YXNCZWdpbm5pbmcgPSBzd2lwZXIuaXNCZWdpbm5pbmc7CgkJCQl2YXIgd2FzRW5kID0gc3dpcGVyLmlzRW5kOwoKCQkJCWlmIChwb3NpdGlvbiA+PSBzd2lwZXIubWluVHJhbnNsYXRlKCkpIHsgcG9zaXRpb24gPSBzd2lwZXIubWluVHJhbnNsYXRlKCk7IH0KCQkJCWlmIChwb3NpdGlvbiA8PSBzd2lwZXIubWF4VHJhbnNsYXRlKCkpIHsgcG9zaXRpb24gPSBzd2lwZXIubWF4VHJhbnNsYXRlKCk7IH0KCgkJCQlzd2lwZXIuc2V0VHJhbnNpdGlvbigwKTsKCQkJCXN3aXBlci5zZXRUcmFuc2xhdGUocG9zaXRpb24pOwoJCQkJc3dpcGVyLnVwZGF0ZVByb2dyZXNzKCk7CgkJCQlzd2lwZXIudXBkYXRlQWN0aXZlSW5kZXgoKTsKCQkJCXN3aXBlci51cGRhdGVTbGlkZXNDbGFzc2VzKCk7CgoJCQkJaWYgKCghd2FzQmVnaW5uaW5nICYmIHN3aXBlci5pc0JlZ2lubmluZykgfHwgKCF3YXNFbmQgJiYgc3dpcGVyLmlzRW5kKSkgewoJCQkJCXN3aXBlci51cGRhdGVTbGlkZXNDbGFzc2VzKCk7CgkJCQl9CgoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZnJlZU1vZGVTdGlja3kpIHsKCQkJCQljbGVhclRpbWVvdXQoc3dpcGVyLm1vdXNld2hlZWwudGltZW91dCk7CgkJCQkJc3dpcGVyLm1vdXNld2hlZWwudGltZW91dCA9IFV0aWxzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKCQkJCQkJc3dpcGVyLnNsaWRlVG9DbG9zZXN0KCk7CgkJCQkJfSwgMzAwKTsKCQkJCX0KCQkJCS8vIEVtaXQgZXZlbnQKCQkJCXN3aXBlci5lbWl0KCdzY3JvbGwnLCBlKTsKCgkJCQkvLyBTdG9wIGF1dG9wbGF5CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5hdXRvcGxheSAmJiBzd2lwZXIucGFyYW1zLmF1dG9wbGF5RGlzYWJsZU9uSW50ZXJhY3Rpb24pIHsgc3dpcGVyLnN0b3BBdXRvcGxheSgpOyB9CgkJCQkvLyBSZXR1cm4gcGFnZSBzY3JvbGwgb24gZWRnZSBwb3NpdGlvbnMKCQkJCWlmIChwb3NpdGlvbiA9PT0gc3dpcGVyLm1pblRyYW5zbGF0ZSgpIHx8IHBvc2l0aW9uID09PSBzd2lwZXIubWF4VHJhbnNsYXRlKCkpIHsgcmV0dXJuIHRydWU7IH0KCQkJfQoKCQkJaWYgKGUucHJldmVudERlZmF1bHQpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9CgkJCWVsc2UgeyBlLnJldHVyblZhbHVlID0gZmFsc2U7IH0KCQkJcmV0dXJuIGZhbHNlOwoJCX0sCgkJZW5hYmxlOiBmdW5jdGlvbiBlbmFibGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIU1vdXNld2hlZWwuZXZlbnQpIHsgcmV0dXJuIGZhbHNlOyB9CgkJCWlmIChzd2lwZXIubW91c2V3aGVlbC5lbmFibGVkKSB7IHJldHVybiBmYWxzZTsgfQoJCQl2YXIgdGFyZ2V0ID0gc3dpcGVyLiRlbDsKCQkJaWYgKHN3aXBlci5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZWQgIT09ICdjb250YWluZXInKSB7CgkJCQl0YXJnZXQgPSAkKHN3aXBlci5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZWQpOwoJCQl9CgkJCXRhcmdldC5vbignbW91c2VlbnRlcicsIHN3aXBlci5tb3VzZXdoZWVsLmhhbmRsZU1vdXNlRW50ZXIpOwoJCQl0YXJnZXQub24oJ21vdXNlbGVhdmUnLCBzd2lwZXIubW91c2V3aGVlbC5oYW5kbGVNb3VzZUxlYXZlKTsKCQkJdGFyZ2V0Lm9uKE1vdXNld2hlZWwuZXZlbnQsIHN3aXBlci5tb3VzZXdoZWVsLmhhbmRsZSk7CgkJCXN3aXBlci5tb3VzZXdoZWVsLmVuYWJsZWQgPSB0cnVlOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9LAoJCWRpc2FibGU6IGZ1bmN0aW9uIGRpc2FibGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIU1vdXNld2hlZWwuZXZlbnQpIHsgcmV0dXJuIGZhbHNlOyB9CgkJCWlmICghc3dpcGVyLm1vdXNld2hlZWwuZW5hYmxlZCkgeyByZXR1cm4gZmFsc2U7IH0KCQkJdmFyIHRhcmdldCA9IHN3aXBlci4kZWw7CgkJCWlmIChzd2lwZXIucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2VkICE9PSAnY29udGFpbmVyJykgewoJCQkJdGFyZ2V0ID0gJChzd2lwZXIucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2VkKTsKCQkJfQoJCQl0YXJnZXQub2ZmKE1vdXNld2hlZWwuZXZlbnQsIHN3aXBlci5tb3VzZXdoZWVsLmhhbmRsZSk7CgkJCXN3aXBlci5tb3VzZXdoZWVsLmVuYWJsZWQgPSBmYWxzZTsKCQkJcmV0dXJuIHRydWU7CgkJfSwKCX07CgoJdmFyIE1vdXNld2hlZWwkMSA9IHsKCQluYW1lOiAnbW91c2V3aGVlbCcsCgkJcGFyYW1zOiB7CgkJCW1vdXNld2hlZWw6IHsKCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJcmVsZWFzZU9uRWRnZXM6IGZhbHNlLAoJCQkJaW52ZXJ0OiBmYWxzZSwKCQkJCWZvcmNlVG9BeGlzOiBmYWxzZSwKCQkJCXNlbnNpdGl2aXR5OiAxLAoJCQkJZXZlbnRzVGFyZ2VkOiAnY29udGFpbmVyJywKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJbW91c2V3aGVlbDogewoJCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJCWVuYWJsZTogTW91c2V3aGVlbC5lbmFibGUuYmluZChzd2lwZXIpLAoJCQkJCWRpc2FibGU6IE1vdXNld2hlZWwuZGlzYWJsZS5iaW5kKHN3aXBlciksCgkJCQkJaGFuZGxlOiBNb3VzZXdoZWVsLmhhbmRsZS5iaW5kKHN3aXBlciksCgkJCQkJaGFuZGxlTW91c2VFbnRlcjogTW91c2V3aGVlbC5oYW5kbGVNb3VzZUVudGVyLmJpbmQoc3dpcGVyKSwKCQkJCQloYW5kbGVNb3VzZUxlYXZlOiBNb3VzZXdoZWVsLmhhbmRsZU1vdXNlTGVhdmUuYmluZChzd2lwZXIpLAoJCQkJCWxhc3RTY3JvbGxUaW1lOiBVdGlscy5ub3coKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMubW91c2V3aGVlbC5lbmFibGVkKSB7IHN3aXBlci5tb3VzZXdoZWVsLmVuYWJsZSgpOyB9CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIubW91c2V3aGVlbC5lbmFibGVkKSB7IHN3aXBlci5tb3VzZXdoZWVsLmRpc2FibGUoKTsgfQoJCQl9LAoJCX0sCgl9OwoKCXZhciBOYXZpZ2F0aW9uID0gewoJCXVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKCkgewoJCQkvLyBVcGRhdGUgTmF2aWdhdGlvbiBCdXR0b25zCgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy5uYXZpZ2F0aW9uOwoKCQkJaWYgKHN3aXBlci5wYXJhbXMubG9vcCkgeyByZXR1cm47IH0KCQkJdmFyIHJlZiA9IHN3aXBlci5uYXZpZ2F0aW9uOwoJCQl2YXIgJG5leHRFbCA9IHJlZi4kbmV4dEVsOwoJCQl2YXIgJHByZXZFbCA9IHJlZi4kcHJldkVsOwoKCQkJaWYgKCRwcmV2RWwgJiYgJHByZXZFbC5sZW5ndGggPiAwKSB7CgkJCQlpZiAoc3dpcGVyLmlzQmVnaW5uaW5nKSB7CgkJCQkJJHByZXZFbC5hZGRDbGFzcyhwYXJhbXMuZGlzYWJsZWRDbGFzcyk7CgkJCQl9IGVsc2UgewoJCQkJCSRwcmV2RWwucmVtb3ZlQ2xhc3MocGFyYW1zLmRpc2FibGVkQ2xhc3MpOwoJCQkJfQoJCQkJJHByZXZFbFtzd2lwZXIucGFyYW1zLndhdGNoT3ZlcmZsb3cgJiYgc3dpcGVyLmlzTG9ja2VkID8gJ2FkZENsYXNzJyA6ICdyZW1vdmVDbGFzcyddKHBhcmFtcy5sb2NrQ2xhc3MpOwoJCQl9CgkJCWlmICgkbmV4dEVsICYmICRuZXh0RWwubGVuZ3RoID4gMCkgewoJCQkJaWYgKHN3aXBlci5pc0VuZCkgewoJCQkJCSRuZXh0RWwuYWRkQ2xhc3MocGFyYW1zLmRpc2FibGVkQ2xhc3MpOwoJCQkJfSBlbHNlIHsKCQkJCQkkbmV4dEVsLnJlbW92ZUNsYXNzKHBhcmFtcy5kaXNhYmxlZENsYXNzKTsKCQkJCX0KCQkJCSRuZXh0RWxbc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93ICYmIHN3aXBlci5pc0xvY2tlZCA/ICdhZGRDbGFzcycgOiAncmVtb3ZlQ2xhc3MnXShwYXJhbXMubG9ja0NsYXNzKTsKCQkJfQoJCX0sCgkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLm5hdmlnYXRpb247CgkJCWlmICghKHBhcmFtcy5uZXh0RWwgfHwgcGFyYW1zLnByZXZFbCkpIHsgcmV0dXJuOyB9CgoJCQl2YXIgJG5leHRFbDsKCQkJdmFyICRwcmV2RWw7CgkJCWlmIChwYXJhbXMubmV4dEVsKSB7CgkJCQkkbmV4dEVsID0gJChwYXJhbXMubmV4dEVsKTsKCQkJCWlmICgKCQkJCQlzd2lwZXIucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzICYmCgkJCQkJdHlwZW9mIHBhcmFtcy5uZXh0RWwgPT09ICdzdHJpbmcnICYmCgkJCQkJJG5leHRFbC5sZW5ndGggPiAxICYmCgkJCQkJc3dpcGVyLiRlbC5maW5kKHBhcmFtcy5uZXh0RWwpLmxlbmd0aCA9PT0gMQoJCQkJKSB7CgkJCQkJJG5leHRFbCA9IHN3aXBlci4kZWwuZmluZChwYXJhbXMubmV4dEVsKTsKCQkJCX0KCQkJfQoJCQlpZiAocGFyYW1zLnByZXZFbCkgewoJCQkJJHByZXZFbCA9ICQocGFyYW1zLnByZXZFbCk7CgkJCQlpZiAoCgkJCQkJc3dpcGVyLnBhcmFtcy51bmlxdWVOYXZFbGVtZW50cyAmJgoJCQkJCXR5cGVvZiBwYXJhbXMucHJldkVsID09PSAnc3RyaW5nJyAmJgoJCQkJCSRwcmV2RWwubGVuZ3RoID4gMSAmJgoJCQkJCXN3aXBlci4kZWwuZmluZChwYXJhbXMucHJldkVsKS5sZW5ndGggPT09IDEKCQkJCSkgewoJCQkJCSRwcmV2RWwgPSBzd2lwZXIuJGVsLmZpbmQocGFyYW1zLnByZXZFbCk7CgkJCQl9CgkJCX0KCgkJCWlmICgkbmV4dEVsICYmICRuZXh0RWwubGVuZ3RoID4gMCkgewoJCQkJJG5leHRFbC5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCQlpZiAoc3dpcGVyLmlzRW5kICYmICFzd2lwZXIucGFyYW1zLmxvb3ApIHsgcmV0dXJuOyB9CgkJCQkJc3dpcGVyLnNsaWRlTmV4dCgpOwoJCQkJfSk7CgkJCX0KCQkJaWYgKCRwcmV2RWwgJiYgJHByZXZFbC5sZW5ndGggPiAwKSB7CgkJCQkkcHJldkVsLm9uKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCWlmIChzd2lwZXIuaXNCZWdpbm5pbmcgJiYgIXN3aXBlci5wYXJhbXMubG9vcCkgeyByZXR1cm47IH0KCQkJCQlzd2lwZXIuc2xpZGVQcmV2KCk7CgkJCQl9KTsKCQkJfQoKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlci5uYXZpZ2F0aW9uLCB7CgkJCQkkbmV4dEVsOiAkbmV4dEVsLAoJCQkJbmV4dEVsOiAkbmV4dEVsICYmICRuZXh0RWxbMF0sCgkJCQkkcHJldkVsOiAkcHJldkVsLAoJCQkJcHJldkVsOiAkcHJldkVsICYmICRwcmV2RWxbMF0sCgkJCX0pOwoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciByZWYgPSBzd2lwZXIubmF2aWdhdGlvbjsKCQkJdmFyICRuZXh0RWwgPSByZWYuJG5leHRFbDsKCQkJdmFyICRwcmV2RWwgPSByZWYuJHByZXZFbDsKCQkJaWYgKCRuZXh0RWwgJiYgJG5leHRFbC5sZW5ndGgpIHsKCQkJCSRuZXh0RWwub2ZmKCdjbGljaycpOwoJCQkJJG5leHRFbC5yZW1vdmVDbGFzcyhzd2lwZXIucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcyk7CgkJCX0KCQkJaWYgKCRwcmV2RWwgJiYgJHByZXZFbC5sZW5ndGgpIHsKCQkJCSRwcmV2RWwub2ZmKCdjbGljaycpOwoJCQkJJHByZXZFbC5yZW1vdmVDbGFzcyhzd2lwZXIucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcyk7CgkJCX0KCQl9LAoJfTsKCgl2YXIgTmF2aWdhdGlvbiQxID0gewoJCW5hbWU6ICduYXZpZ2F0aW9uJywKCQlwYXJhbXM6IHsKCQkJbmF2aWdhdGlvbjogewoJCQkJbmV4dEVsOiBudWxsLAoJCQkJcHJldkVsOiBudWxsLAoKCQkJCWhpZGVPbkNsaWNrOiBmYWxzZSwKCQkJCWRpc2FibGVkQ2xhc3M6ICdzd2lwZXItYnV0dG9uLWRpc2FibGVkJywKCQkJCWhpZGRlbkNsYXNzOiAnc3dpcGVyLWJ1dHRvbi1oaWRkZW4nLAoJCQkJbG9ja0NsYXNzOiAnc3dpcGVyLWJ1dHRvbi1sb2NrJywKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJbmF2aWdhdGlvbjogewoJCQkJCWluaXQ6IE5hdmlnYXRpb24uaW5pdC5iaW5kKHN3aXBlciksCgkJCQkJdXBkYXRlOiBOYXZpZ2F0aW9uLnVwZGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJZGVzdHJveTogTmF2aWdhdGlvbi5kZXN0cm95LmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLm5hdmlnYXRpb24uaW5pdCgpOwoJCQkJc3dpcGVyLm5hdmlnYXRpb24udXBkYXRlKCk7CgkJCX0sCgkJCXRvRWRnZTogZnVuY3Rpb24gdG9FZGdlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlzd2lwZXIubmF2aWdhdGlvbi51cGRhdGUoKTsKCQkJfSwKCQkJZnJvbUVkZ2U6IGZ1bmN0aW9uIGZyb21FZGdlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlzd2lwZXIubmF2aWdhdGlvbi51cGRhdGUoKTsKCQkJfSwKCQkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLm5hdmlnYXRpb24uZGVzdHJveSgpOwoJCQl9LAoJCQljbGljazogZnVuY3Rpb24gY2xpY2soZSkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQl2YXIgcmVmID0gc3dpcGVyLm5hdmlnYXRpb247CgkJCQl2YXIgJG5leHRFbCA9IHJlZi4kbmV4dEVsOwoJCQkJdmFyICRwcmV2RWwgPSByZWYuJHByZXZFbDsKCQkJCWlmICgKCQkJCQlzd2lwZXIucGFyYW1zLm5hdmlnYXRpb24uaGlkZU9uQ2xpY2sgJiYKCQkJCQkhJChlLnRhcmdldCkuaXMoJHByZXZFbCkgJiYKCQkJCQkhJChlLnRhcmdldCkuaXMoJG5leHRFbCkKCQkJCSkgewoJCQkJCWlmICgkbmV4dEVsKSB7ICRuZXh0RWwudG9nZ2xlQ2xhc3Moc3dpcGVyLnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKTsgfQoJCQkJCWlmICgkcHJldkVsKSB7ICRwcmV2RWwudG9nZ2xlQ2xhc3Moc3dpcGVyLnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKTsgfQoJCQkJfQoJCQl9LAoJCX0sCgl9OwoKCXZhciBQYWdpbmF0aW9uID0gewoJCXVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKCkgewoJCQkvLyBSZW5kZXIgfHwgVXBkYXRlIFBhZ2luYXRpb24gYnVsbGV0cy9pdGVtcwoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHJ0bCA9IHN3aXBlci5ydGw7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnBhZ2luYXRpb247CgkJCWlmICghcGFyYW1zLmVsIHx8ICFzd2lwZXIucGFnaW5hdGlvbi5lbCB8fCAhc3dpcGVyLnBhZ2luYXRpb24uJGVsIHx8IHN3aXBlci5wYWdpbmF0aW9uLiRlbC5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9CgkJCXZhciBzbGlkZXNMZW5ndGggPSBzd2lwZXIudmlydHVhbCAmJiBzd2lwZXIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCA/IHN3aXBlci52aXJ0dWFsLnNsaWRlcy5sZW5ndGggOiBzd2lwZXIuc2xpZGVzLmxlbmd0aDsKCQkJdmFyICRlbCA9IHN3aXBlci5wYWdpbmF0aW9uLiRlbDsKCQkJLy8gQ3VycmVudC9Ub3RhbAoJCQl2YXIgY3VycmVudDsKCQkJdmFyIHRvdGFsID0gc3dpcGVyLnBhcmFtcy5sb29wID8gTWF0aC5jZWlsKChzbGlkZXNMZW5ndGggLSAoc3dpcGVyLmxvb3BlZFNsaWRlcyAqIDIpKSAvIHN3aXBlci5wYXJhbXMuc2xpZGVzUGVyR3JvdXApIDogc3dpcGVyLnNuYXBHcmlkLmxlbmd0aDsKCQkJaWYgKHN3aXBlci5wYXJhbXMubG9vcCkgewoJCQkJY3VycmVudCA9IE1hdGguY2VpbCgoc3dpcGVyLmFjdGl2ZUluZGV4IC0gc3dpcGVyLmxvb3BlZFNsaWRlcykgLyBzd2lwZXIucGFyYW1zLnNsaWRlc1Blckdyb3VwKTsKCQkJCWlmIChjdXJyZW50ID4gc2xpZGVzTGVuZ3RoIC0gMSAtIChzd2lwZXIubG9vcGVkU2xpZGVzICogMikpIHsKCQkJCQljdXJyZW50IC09IChzbGlkZXNMZW5ndGggLSAoc3dpcGVyLmxvb3BlZFNsaWRlcyAqIDIpKTsKCQkJCX0KCQkJCWlmIChjdXJyZW50ID4gdG90YWwgLSAxKSB7IGN1cnJlbnQgLT0gdG90YWw7IH0KCQkJCWlmIChjdXJyZW50IDwgMCAmJiBzd2lwZXIucGFyYW1zLnBhZ2luYXRpb25UeXBlICE9PSAnYnVsbGV0cycpIHsgY3VycmVudCA9IHRvdGFsICsgY3VycmVudDsgfQoJCQl9IGVsc2UgaWYgKHR5cGVvZiBzd2lwZXIuc25hcEluZGV4ICE9PSAndW5kZWZpbmVkJykgewoJCQkJY3VycmVudCA9IHN3aXBlci5zbmFwSW5kZXg7CgkJCX0gZWxzZSB7CgkJCQljdXJyZW50ID0gc3dpcGVyLmFjdGl2ZUluZGV4IHx8IDA7CgkJCX0KCQkJLy8gVHlwZXMKCQkJaWYgKHBhcmFtcy50eXBlID09PSAnYnVsbGV0cycgJiYgc3dpcGVyLnBhZ2luYXRpb24uYnVsbGV0cyAmJiBzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzLmxlbmd0aCA+IDApIHsKCQkJCXZhciBidWxsZXRzID0gc3dpcGVyLnBhZ2luYXRpb24uYnVsbGV0czsKCQkJCXZhciBmaXJzdEluZGV4OwoJCQkJdmFyIGxhc3RJbmRleDsKCQkJCXZhciBtaWRJbmRleDsKCQkJCWlmIChwYXJhbXMuZHluYW1pY0J1bGxldHMpIHsKCQkJCQlzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRTaXplID0gYnVsbGV0cy5lcSgwKVtzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyAnb3V0ZXJXaWR0aCcgOiAnb3V0ZXJIZWlnaHQnXSh0cnVlKTsKCQkJCQkkZWwuY3NzKHN3aXBlci5pc0hvcml6b250YWwoKSA/ICd3aWR0aCcgOiAnaGVpZ2h0JywgKChzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRTaXplICogKHBhcmFtcy5keW5hbWljTWFpbkJ1bGxldHMgKyA0KSkgKyAicHgiKSk7CgkJCQkJaWYgKHBhcmFtcy5keW5hbWljTWFpbkJ1bGxldHMgPiAxICYmIHN3aXBlci5wcmV2aW91c0luZGV4ICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJc3dpcGVyLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4ICs9IChjdXJyZW50IC0gc3dpcGVyLnByZXZpb3VzSW5kZXgpOwoJCQkJCQlpZiAoc3dpcGVyLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4ID4gKHBhcmFtcy5keW5hbWljTWFpbkJ1bGxldHMgLSAxKSkgewoJCQkJCQkJc3dpcGVyLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4ID0gcGFyYW1zLmR5bmFtaWNNYWluQnVsbGV0cyAtIDE7CgkJCQkJCX0gZWxzZSBpZiAoc3dpcGVyLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4IDwgMCkgewoJCQkJCQkJc3dpcGVyLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4ID0gMDsKCQkJCQkJfQoJCQkJCX0KCQkJCQlmaXJzdEluZGV4ID0gY3VycmVudCAtIHN3aXBlci5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleDsKCQkJCQlsYXN0SW5kZXggPSBmaXJzdEluZGV4ICsgKE1hdGgubWluKGJ1bGxldHMubGVuZ3RoLCBwYXJhbXMuZHluYW1pY01haW5CdWxsZXRzKSAtIDEpOwoJCQkJCW1pZEluZGV4ID0gKGxhc3RJbmRleCArIGZpcnN0SW5kZXgpIC8gMjsKCQkJCX0KCQkJCWJ1bGxldHMucmVtb3ZlQ2xhc3MoKChwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpICsgIiAiICsgKHBhcmFtcy5idWxsZXRBY3RpdmVDbGFzcykgKyAiLW5leHQgIiArIChwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpICsgIi1uZXh0LW5leHQgIiArIChwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpICsgIi1wcmV2ICIgKyAocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItcHJldi1wcmV2ICIgKyAocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItbWFpbiIpKTsKCQkJCWlmICgkZWwubGVuZ3RoID4gMSkgewoJCQkJCWJ1bGxldHMuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGJ1bGxldCkgewoJCQkJCQl2YXIgJGJ1bGxldCA9ICQoYnVsbGV0KTsKCQkJCQkJdmFyIGJ1bGxldEluZGV4ID0gJGJ1bGxldC5pbmRleCgpOwoJCQkJCQlpZiAoYnVsbGV0SW5kZXggPT09IGN1cnJlbnQpIHsKCQkJCQkJCSRidWxsZXQuYWRkQ2xhc3MocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKTsKCQkJCQkJfQoJCQkJCQlpZiAocGFyYW1zLmR5bmFtaWNCdWxsZXRzKSB7CgkJCQkJCQlpZiAoYnVsbGV0SW5kZXggPj0gZmlyc3RJbmRleCAmJiBidWxsZXRJbmRleCA8PSBsYXN0SW5kZXgpIHsKCQkJCQkJCQkkYnVsbGV0LmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItbWFpbiIpKTsKCQkJCQkJCX0KCQkJCQkJCWlmIChidWxsZXRJbmRleCA9PT0gZmlyc3RJbmRleCkgewoJCQkJCQkJCSRidWxsZXQKCQkJCQkJCQkJLnByZXYoKQoJCQkJCQkJCQkuYWRkQ2xhc3MoKChwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpICsgIi1wcmV2IikpCgkJCQkJCQkJCS5wcmV2KCkKCQkJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItcHJldi1wcmV2IikpOwoJCQkJCQkJfQoJCQkJCQkJaWYgKGJ1bGxldEluZGV4ID09PSBsYXN0SW5kZXgpIHsKCQkJCQkJCQkkYnVsbGV0CgkJCQkJCQkJCS5uZXh0KCkKCQkJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItbmV4dCIpKQoJCQkJCQkJCQkubmV4dCgpCgkJCQkJCQkJCS5hZGRDbGFzcygoKHBhcmFtcy5idWxsZXRBY3RpdmVDbGFzcykgKyAiLW5leHQtbmV4dCIpKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0pOwoJCQkJfSBlbHNlIHsKCQkJCQl2YXIgJGJ1bGxldCA9IGJ1bGxldHMuZXEoY3VycmVudCk7CgkJCQkJJGJ1bGxldC5hZGRDbGFzcyhwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpOwoJCQkJCWlmIChwYXJhbXMuZHluYW1pY0J1bGxldHMpIHsKCQkJCQkJdmFyICRmaXJzdERpc3BsYXllZEJ1bGxldCA9IGJ1bGxldHMuZXEoZmlyc3RJbmRleCk7CgkJCQkJCXZhciAkbGFzdERpc3BsYXllZEJ1bGxldCA9IGJ1bGxldHMuZXEobGFzdEluZGV4KTsKCQkJCQkJZm9yICh2YXIgaSA9IGZpcnN0SW5kZXg7IGkgPD0gbGFzdEluZGV4OyBpICs9IDEpIHsKCQkJCQkJCWJ1bGxldHMuZXEoaSkuYWRkQ2xhc3MoKChwYXJhbXMuYnVsbGV0QWN0aXZlQ2xhc3MpICsgIi1tYWluIikpOwoJCQkJCQl9CgkJCQkJCSRmaXJzdERpc3BsYXllZEJ1bGxldAoJCQkJCQkJLnByZXYoKQoJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItcHJldiIpKQoJCQkJCQkJLnByZXYoKQoJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItcHJldi1wcmV2IikpOwoJCQkJCQkkbGFzdERpc3BsYXllZEJ1bGxldAoJCQkJCQkJLm5leHQoKQoJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItbmV4dCIpKQoJCQkJCQkJLm5leHQoKQoJCQkJCQkJLmFkZENsYXNzKCgocGFyYW1zLmJ1bGxldEFjdGl2ZUNsYXNzKSArICItbmV4dC1uZXh0IikpOwoJCQkJCX0KCQkJCX0KCQkJCWlmIChwYXJhbXMuZHluYW1pY0J1bGxldHMpIHsKCQkJCQl2YXIgZHluYW1pY0J1bGxldHNMZW5ndGggPSBNYXRoLm1pbihidWxsZXRzLmxlbmd0aCwgcGFyYW1zLmR5bmFtaWNNYWluQnVsbGV0cyArIDQpOwoJCQkJCXZhciBidWxsZXRzT2Zmc2V0ID0gKCgoc3dpcGVyLnBhZ2luYXRpb24uYnVsbGV0U2l6ZSAqIGR5bmFtaWNCdWxsZXRzTGVuZ3RoKSAtIChzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRTaXplKSkgLyAyKSAtIChtaWRJbmRleCAqIHN3aXBlci5wYWdpbmF0aW9uLmJ1bGxldFNpemUpOwoJCQkJCXZhciBvZmZzZXRQcm9wID0gcnRsID8gJ3JpZ2h0JyA6ICdsZWZ0JzsKCQkJCQlidWxsZXRzLmNzcyhzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyBvZmZzZXRQcm9wIDogJ3RvcCcsIChidWxsZXRzT2Zmc2V0ICsgInB4IikpOwoJCQkJfQoJCQl9CgkJCWlmIChwYXJhbXMudHlwZSA9PT0gJ2ZyYWN0aW9uJykgewoJCQkJJGVsLmZpbmQoKCIuIiArIChwYXJhbXMuY3VycmVudENsYXNzKSkpLnRleHQoY3VycmVudCArIDEpOwoJCQkJJGVsLmZpbmQoKCIuIiArIChwYXJhbXMudG90YWxDbGFzcykpKS50ZXh0KHRvdGFsKTsKCQkJfQoJCQlpZiAocGFyYW1zLnR5cGUgPT09ICdwcm9ncmVzc2JhcicpIHsKCQkJCXZhciBwcm9ncmVzc2JhckRpcmVjdGlvbjsKCQkJCWlmIChwYXJhbXMucHJvZ3Jlc3NiYXJPcHBvc2l0ZSkgewoJCQkJCXByb2dyZXNzYmFyRGlyZWN0aW9uID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJ3ZlcnRpY2FsJyA6ICdob3Jpem9udGFsJzsKCQkJCX0gZWxzZSB7CgkJCQkJcHJvZ3Jlc3NiYXJEaXJlY3Rpb24gPSBzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnOwoJCQkJfQoJCQkJdmFyIHNjYWxlID0gKGN1cnJlbnQgKyAxKSAvIHRvdGFsOwoJCQkJdmFyIHNjYWxlWCA9IDE7CgkJCQl2YXIgc2NhbGVZID0gMTsKCQkJCWlmIChwcm9ncmVzc2JhckRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7CgkJCQkJc2NhbGVYID0gc2NhbGU7CgkJCQl9IGVsc2UgewoJCQkJCXNjYWxlWSA9IHNjYWxlOwoJCQkJfQoJCQkJJGVsLmZpbmQoKCIuIiArIChwYXJhbXMucHJvZ3Jlc3NiYXJGaWxsQ2xhc3MpKSkudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlWCgiICsgc2NhbGVYICsgIikgc2NhbGVZKCIgKyBzY2FsZVkgKyAiKSIpKS50cmFuc2l0aW9uKHN3aXBlci5wYXJhbXMuc3BlZWQpOwoJCQl9CgkJCWlmIChwYXJhbXMudHlwZSA9PT0gJ2N1c3RvbScgJiYgcGFyYW1zLnJlbmRlckN1c3RvbSkgewoJCQkJJGVsLmh0bWwocGFyYW1zLnJlbmRlckN1c3RvbShzd2lwZXIsIGN1cnJlbnQgKyAxLCB0b3RhbCkpOwoJCQkJc3dpcGVyLmVtaXQoJ3BhZ2luYXRpb25SZW5kZXInLCBzd2lwZXIsICRlbFswXSk7CgkJCX0gZWxzZSB7CgkJCQlzd2lwZXIuZW1pdCgncGFnaW5hdGlvblVwZGF0ZScsIHN3aXBlciwgJGVsWzBdKTsKCQkJfQoJCQkkZWxbc3dpcGVyLnBhcmFtcy53YXRjaE92ZXJmbG93ICYmIHN3aXBlci5pc0xvY2tlZCA/ICdhZGRDbGFzcycgOiAncmVtb3ZlQ2xhc3MnXShwYXJhbXMubG9ja0NsYXNzKTsKCQl9LAoJCXJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKCkgewoJCQkvLyBSZW5kZXIgQ29udGFpbmVyCgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uOwoJCQlpZiAoIXBhcmFtcy5lbCB8fCAhc3dpcGVyLnBhZ2luYXRpb24uZWwgfHwgIXN3aXBlci5wYWdpbmF0aW9uLiRlbCB8fCBzd2lwZXIucGFnaW5hdGlvbi4kZWwubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCQl2YXIgc2xpZGVzTGVuZ3RoID0gc3dpcGVyLnZpcnR1YWwgJiYgc3dpcGVyLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQgPyBzd2lwZXIudmlydHVhbC5zbGlkZXMubGVuZ3RoIDogc3dpcGVyLnNsaWRlcy5sZW5ndGg7CgoJCQl2YXIgJGVsID0gc3dpcGVyLnBhZ2luYXRpb24uJGVsOwoJCQl2YXIgcGFnaW5hdGlvbkhUTUwgPSAnJzsKCQkJaWYgKHBhcmFtcy50eXBlID09PSAnYnVsbGV0cycpIHsKCQkJCXZhciBudW1iZXJPZkJ1bGxldHMgPSBzd2lwZXIucGFyYW1zLmxvb3AgPyBNYXRoLmNlaWwoKHNsaWRlc0xlbmd0aCAtIChzd2lwZXIubG9vcGVkU2xpZGVzICogMikpIC8gc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJHcm91cCkgOiBzd2lwZXIuc25hcEdyaWQubGVuZ3RoOwoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBudW1iZXJPZkJ1bGxldHM7IGkgKz0gMSkgewoJCQkJCWlmIChwYXJhbXMucmVuZGVyQnVsbGV0KSB7CgkJCQkJCXBhZ2luYXRpb25IVE1MICs9IHBhcmFtcy5yZW5kZXJCdWxsZXQuY2FsbChzd2lwZXIsIGksIHBhcmFtcy5idWxsZXRDbGFzcyk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJcGFnaW5hdGlvbkhUTUwgKz0gIjwiICsgKHBhcmFtcy5idWxsZXRFbGVtZW50KSArICIgY2xhc3M9XCIiICsgKHBhcmFtcy5idWxsZXRDbGFzcykgKyAiXCI+PC8iICsgKHBhcmFtcy5idWxsZXRFbGVtZW50KSArICI+IjsKCQkJCQl9CgkJCQl9CgkJCQkkZWwuaHRtbChwYWdpbmF0aW9uSFRNTCk7CgkJCQlzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzID0gJGVsLmZpbmQoKCIuIiArIChwYXJhbXMuYnVsbGV0Q2xhc3MpKSk7CgkJCX0KCQkJaWYgKHBhcmFtcy50eXBlID09PSAnZnJhY3Rpb24nKSB7CgkJCQlpZiAocGFyYW1zLnJlbmRlckZyYWN0aW9uKSB7CgkJCQkJcGFnaW5hdGlvbkhUTUwgPSBwYXJhbXMucmVuZGVyRnJhY3Rpb24uY2FsbChzd2lwZXIsIHBhcmFtcy5jdXJyZW50Q2xhc3MsIHBhcmFtcy50b3RhbENsYXNzKTsKCQkJCX0gZWxzZSB7CgkJCQkJcGFnaW5hdGlvbkhUTUwgPQoJCQkJCQkiPHNwYW4gY2xhc3M9XCIiICsgKHBhcmFtcy5jdXJyZW50Q2xhc3MpICsgIlwiPjwvc3Bhbj4iICsKCQkJCQkJJyAvICcgKwoJCQkJCQkiPHNwYW4gY2xhc3M9XCIiICsgKHBhcmFtcy50b3RhbENsYXNzKSArICJcIj48L3NwYW4+IjsKCQkJCX0KCQkJCSRlbC5odG1sKHBhZ2luYXRpb25IVE1MKTsKCQkJfQoJCQlpZiAocGFyYW1zLnR5cGUgPT09ICdwcm9ncmVzc2JhcicpIHsKCQkJCWlmIChwYXJhbXMucmVuZGVyUHJvZ3Jlc3NiYXIpIHsKCQkJCQlwYWdpbmF0aW9uSFRNTCA9IHBhcmFtcy5yZW5kZXJQcm9ncmVzc2Jhci5jYWxsKHN3aXBlciwgcGFyYW1zLnByb2dyZXNzYmFyRmlsbENsYXNzKTsKCQkJCX0gZWxzZSB7CgkJCQkJcGFnaW5hdGlvbkhUTUwgPSAiPHNwYW4gY2xhc3M9XCIiICsgKHBhcmFtcy5wcm9ncmVzc2JhckZpbGxDbGFzcykgKyAiXCI+PC9zcGFuPiI7CgkJCQl9CgkJCQkkZWwuaHRtbChwYWdpbmF0aW9uSFRNTCk7CgkJCX0KCQkJaWYgKHBhcmFtcy50eXBlICE9PSAnY3VzdG9tJykgewoJCQkJc3dpcGVyLmVtaXQoJ3BhZ2luYXRpb25SZW5kZXInLCBzd2lwZXIucGFnaW5hdGlvbi4kZWxbMF0pOwoJCQl9CgkJfSwKCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMucGFnaW5hdGlvbjsKCQkJaWYgKCFwYXJhbXMuZWwpIHsgcmV0dXJuOyB9CgoJCQl2YXIgJGVsID0gJChwYXJhbXMuZWwpOwoJCQlpZiAoJGVsLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH0KCgkJCWlmICgKCQkJCXN3aXBlci5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMgJiYKCQkJCXR5cGVvZiBwYXJhbXMuZWwgPT09ICdzdHJpbmcnICYmCgkJCQkkZWwubGVuZ3RoID4gMSAmJgoJCQkJc3dpcGVyLiRlbC5maW5kKHBhcmFtcy5lbCkubGVuZ3RoID09PSAxCgkJCSkgewoJCQkJJGVsID0gc3dpcGVyLiRlbC5maW5kKHBhcmFtcy5lbCk7CgkJCX0KCgkJCWlmIChwYXJhbXMudHlwZSA9PT0gJ2J1bGxldHMnICYmIHBhcmFtcy5jbGlja2FibGUpIHsKCQkJCSRlbC5hZGRDbGFzcyhwYXJhbXMuY2xpY2thYmxlQ2xhc3MpOwoJCQl9CgoJCQkkZWwuYWRkQ2xhc3MocGFyYW1zLm1vZGlmaWVyQ2xhc3MgKyBwYXJhbXMudHlwZSk7CgoJCQlpZiAocGFyYW1zLnR5cGUgPT09ICdidWxsZXRzJyAmJiBwYXJhbXMuZHluYW1pY0J1bGxldHMpIHsKCQkJCSRlbC5hZGRDbGFzcygoIiIgKyAocGFyYW1zLm1vZGlmaWVyQ2xhc3MpICsgKHBhcmFtcy50eXBlKSArICItZHluYW1pYyIpKTsKCQkJCXN3aXBlci5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleCA9IDA7CgkJCQlpZiAocGFyYW1zLmR5bmFtaWNNYWluQnVsbGV0cyA8IDEpIHsKCQkJCQlwYXJhbXMuZHluYW1pY01haW5CdWxsZXRzID0gMTsKCQkJCX0KCQkJfQoJCQlpZiAocGFyYW1zLnR5cGUgPT09ICdwcm9ncmVzc2JhcicgJiYgcGFyYW1zLnByb2dyZXNzYmFyT3Bwb3NpdGUpIHsKCQkJCSRlbC5hZGRDbGFzcyhwYXJhbXMucHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzKTsKCQkJfQoKCQkJaWYgKHBhcmFtcy5jbGlja2FibGUpIHsKCQkJCSRlbC5vbignY2xpY2snLCAoIi4iICsgKHBhcmFtcy5idWxsZXRDbGFzcykpLCBmdW5jdGlvbiBvbkNsaWNrKGUpIHsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJdmFyIGluZGV4ID0gJCh0aGlzKS5pbmRleCgpICogc3dpcGVyLnBhcmFtcy5zbGlkZXNQZXJHcm91cDsKCQkJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7IGluZGV4ICs9IHN3aXBlci5sb29wZWRTbGlkZXM7IH0KCQkJCQlzd2lwZXIuc2xpZGVUbyhpbmRleCk7CgkJCQl9KTsKCQkJfQoKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlci5wYWdpbmF0aW9uLCB7CgkJCQkkZWw6ICRlbCwKCQkJCWVsOiAkZWxbMF0sCgkJCX0pOwoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnBhZ2luYXRpb247CgkJCWlmICghcGFyYW1zLmVsIHx8ICFzd2lwZXIucGFnaW5hdGlvbi5lbCB8fCAhc3dpcGVyLnBhZ2luYXRpb24uJGVsIHx8IHN3aXBlci5wYWdpbmF0aW9uLiRlbC5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9CgkJCXZhciAkZWwgPSBzd2lwZXIucGFnaW5hdGlvbi4kZWw7CgoJCQkkZWwucmVtb3ZlQ2xhc3MocGFyYW1zLmhpZGRlbkNsYXNzKTsKCQkJJGVsLnJlbW92ZUNsYXNzKHBhcmFtcy5tb2RpZmllckNsYXNzICsgcGFyYW1zLnR5cGUpOwoJCQlpZiAoc3dpcGVyLnBhZ2luYXRpb24uYnVsbGV0cykgeyBzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzLnJlbW92ZUNsYXNzKHBhcmFtcy5idWxsZXRBY3RpdmVDbGFzcyk7IH0KCQkJaWYgKHBhcmFtcy5jbGlja2FibGUpIHsKCQkJCSRlbC5vZmYoJ2NsaWNrJywgKCIuIiArIChwYXJhbXMuYnVsbGV0Q2xhc3MpKSk7CgkJCX0KCQl9LAoJfTsKCgl2YXIgUGFnaW5hdGlvbiQxID0gewoJCW5hbWU6ICdwYWdpbmF0aW9uJywKCQlwYXJhbXM6IHsKCQkJcGFnaW5hdGlvbjogewoJCQkJZWw6IG51bGwsCgkJCQlidWxsZXRFbGVtZW50OiAnc3BhbicsCgkJCQljbGlja2FibGU6IGZhbHNlLAoJCQkJaGlkZU9uQ2xpY2s6IGZhbHNlLAoJCQkJcmVuZGVyQnVsbGV0OiBudWxsLAoJCQkJcmVuZGVyUHJvZ3Jlc3NiYXI6IG51bGwsCgkJCQlyZW5kZXJGcmFjdGlvbjogbnVsbCwKCQkJCXJlbmRlckN1c3RvbTogbnVsbCwKCQkJCXByb2dyZXNzYmFyT3Bwb3NpdGU6IGZhbHNlLAoJCQkJdHlwZTogJ2J1bGxldHMnLCAvLyAnYnVsbGV0cycgb3IgJ3Byb2dyZXNzYmFyJyBvciAnZnJhY3Rpb24nIG9yICdjdXN0b20nCgkJCQlkeW5hbWljQnVsbGV0czogZmFsc2UsCgkJCQlkeW5hbWljTWFpbkJ1bGxldHM6IDEsCgkJCQlidWxsZXRDbGFzczogJ3N3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCcsCgkJCQlidWxsZXRBY3RpdmVDbGFzczogJ3N3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUnLAoJCQkJbW9kaWZpZXJDbGFzczogJ3N3aXBlci1wYWdpbmF0aW9uLScsIC8vIE5FVwoJCQkJY3VycmVudENsYXNzOiAnc3dpcGVyLXBhZ2luYXRpb24tY3VycmVudCcsCgkJCQl0b3RhbENsYXNzOiAnc3dpcGVyLXBhZ2luYXRpb24tdG90YWwnLAoJCQkJaGlkZGVuQ2xhc3M6ICdzd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4nLAoJCQkJcHJvZ3Jlc3NiYXJGaWxsQ2xhc3M6ICdzd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsJywKCQkJCXByb2dyZXNzYmFyT3Bwb3NpdGVDbGFzczogJ3N3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlJywKCQkJCWNsaWNrYWJsZUNsYXNzOiAnc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlJywgLy8gTkVXCgkJCQlsb2NrQ2xhc3M6ICdzd2lwZXItcGFnaW5hdGlvbi1sb2NrJywKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJcGFnaW5hdGlvbjogewoJCQkJCWluaXQ6IFBhZ2luYXRpb24uaW5pdC5iaW5kKHN3aXBlciksCgkJCQkJcmVuZGVyOiBQYWdpbmF0aW9uLnJlbmRlci5iaW5kKHN3aXBlciksCgkJCQkJdXBkYXRlOiBQYWdpbmF0aW9uLnVwZGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJZGVzdHJveTogUGFnaW5hdGlvbi5kZXN0cm95LmJpbmQoc3dpcGVyKSwKCQkJCQlkeW5hbWljQnVsbGV0SW5kZXg6IDAsCgkJCQl9LAoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWluaXQ6IGZ1bmN0aW9uIGluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci5wYWdpbmF0aW9uLmluaXQoKTsKCQkJCXN3aXBlci5wYWdpbmF0aW9uLnJlbmRlcigpOwoJCQkJc3dpcGVyLnBhZ2luYXRpb24udXBkYXRlKCk7CgkJCX0sCgkJCWFjdGl2ZUluZGV4Q2hhbmdlOiBmdW5jdGlvbiBhY3RpdmVJbmRleENoYW5nZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMubG9vcCkgewoJCQkJCXN3aXBlci5wYWdpbmF0aW9uLnVwZGF0ZSgpOwoJCQkJfSBlbHNlIGlmICh0eXBlb2Ygc3dpcGVyLnNuYXBJbmRleCA9PT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQlzd2lwZXIucGFnaW5hdGlvbi51cGRhdGUoKTsKCQkJCX0KCQkJfSwKCQkJc25hcEluZGV4Q2hhbmdlOiBmdW5jdGlvbiBzbmFwSW5kZXhDaGFuZ2UoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy5sb29wKSB7CgkJCQkJc3dpcGVyLnBhZ2luYXRpb24udXBkYXRlKCk7CgkJCQl9CgkJCX0sCgkJCXNsaWRlc0xlbmd0aENoYW5nZTogZnVuY3Rpb24gc2xpZGVzTGVuZ3RoQ2hhbmdlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7CgkJCQkJc3dpcGVyLnBhZ2luYXRpb24ucmVuZGVyKCk7CgkJCQkJc3dpcGVyLnBhZ2luYXRpb24udXBkYXRlKCk7CgkJCQl9CgkJCX0sCgkJCXNuYXBHcmlkTGVuZ3RoQ2hhbmdlOiBmdW5jdGlvbiBzbmFwR3JpZExlbmd0aENoYW5nZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIucGFyYW1zLmxvb3ApIHsKCQkJCQlzd2lwZXIucGFnaW5hdGlvbi5yZW5kZXIoKTsKCQkJCQlzd2lwZXIucGFnaW5hdGlvbi51cGRhdGUoKTsKCQkJCX0KCQkJfSwKCQkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLnBhZ2luYXRpb24uZGVzdHJveSgpOwoJCQl9LAoJCQljbGljazogZnVuY3Rpb24gY2xpY2soZSkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoCgkJCQkJc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmVsICYmCgkJCQkJc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmhpZGVPbkNsaWNrICYmCgkJCQkJc3dpcGVyLnBhZ2luYXRpb24uJGVsLmxlbmd0aCA+IDAgJiYKCQkJCQkhJChlLnRhcmdldCkuaGFzQ2xhc3Moc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldENsYXNzKQoJCQkJKSB7CgkJCQkJc3dpcGVyLnBhZ2luYXRpb24uJGVsLnRvZ2dsZUNsYXNzKHN3aXBlci5wYXJhbXMucGFnaW5hdGlvbi5oaWRkZW5DbGFzcyk7CgkJCQl9CgkJCX0sCgkJfSwKCX07CgoJdmFyIFNjcm9sbGJhciA9IHsKCQlzZXRUcmFuc2xhdGU6IGZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5zY3JvbGxiYXIuZWwgfHwgIXN3aXBlci5zY3JvbGxiYXIuZWwpIHsgcmV0dXJuOyB9CgkJCXZhciBzY3JvbGxiYXIgPSBzd2lwZXIuc2Nyb2xsYmFyOwoJCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQkJdmFyIHByb2dyZXNzID0gc3dpcGVyLnByb2dyZXNzOwoJCQl2YXIgZHJhZ1NpemUgPSBzY3JvbGxiYXIuZHJhZ1NpemU7CgkJCXZhciB0cmFja1NpemUgPSBzY3JvbGxiYXIudHJhY2tTaXplOwoJCQl2YXIgJGRyYWdFbCA9IHNjcm9sbGJhci4kZHJhZ0VsOwoJCQl2YXIgJGVsID0gc2Nyb2xsYmFyLiRlbDsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyOwoKCQkJdmFyIG5ld1NpemUgPSBkcmFnU2l6ZTsKCQkJdmFyIG5ld1BvcyA9ICh0cmFja1NpemUgLSBkcmFnU2l6ZSkgKiBwcm9ncmVzczsKCQkJaWYgKHJ0bCkgewoJCQkJbmV3UG9zID0gLW5ld1BvczsKCQkJCWlmIChuZXdQb3MgPiAwKSB7CgkJCQkJbmV3U2l6ZSA9IGRyYWdTaXplIC0gbmV3UG9zOwoJCQkJCW5ld1BvcyA9IDA7CgkJCQl9IGVsc2UgaWYgKC1uZXdQb3MgKyBkcmFnU2l6ZSA+IHRyYWNrU2l6ZSkgewoJCQkJCW5ld1NpemUgPSB0cmFja1NpemUgKyBuZXdQb3M7CgkJCQl9CgkJCX0gZWxzZSBpZiAobmV3UG9zIDwgMCkgewoJCQkJbmV3U2l6ZSA9IGRyYWdTaXplICsgbmV3UG9zOwoJCQkJbmV3UG9zID0gMDsKCQkJfSBlbHNlIGlmIChuZXdQb3MgKyBkcmFnU2l6ZSA+IHRyYWNrU2l6ZSkgewoJCQkJbmV3U2l6ZSA9IHRyYWNrU2l6ZSAtIG5ld1BvczsKCQkJfQoJCQlpZiAoc3dpcGVyLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQlpZiAoU3VwcG9ydC50cmFuc2Zvcm1zM2QpIHsKCQkJCQkkZHJhZ0VsLnRyYW5zZm9ybSgoInRyYW5zbGF0ZTNkKCIgKyBuZXdQb3MgKyAicHgsIDAsIDApIikpOwoJCQkJfSBlbHNlIHsKCQkJCQkkZHJhZ0VsLnRyYW5zZm9ybSgoInRyYW5zbGF0ZVgoIiArIG5ld1BvcyArICJweCkiKSk7CgkJCQl9CgkJCQkkZHJhZ0VsWzBdLnN0eWxlLndpZHRoID0gbmV3U2l6ZSArICJweCI7CgkJCX0gZWxzZSB7CgkJCQlpZiAoU3VwcG9ydC50cmFuc2Zvcm1zM2QpIHsKCQkJCQkkZHJhZ0VsLnRyYW5zZm9ybSgoInRyYW5zbGF0ZTNkKDBweCwgIiArIG5ld1BvcyArICJweCwgMCkiKSk7CgkJCQl9IGVsc2UgewoJCQkJCSRkcmFnRWwudHJhbnNmb3JtKCgidHJhbnNsYXRlWSgiICsgbmV3UG9zICsgInB4KSIpKTsKCQkJCX0KCQkJCSRkcmFnRWxbMF0uc3R5bGUuaGVpZ2h0ID0gbmV3U2l6ZSArICJweCI7CgkJCX0KCQkJaWYgKHBhcmFtcy5oaWRlKSB7CgkJCQljbGVhclRpbWVvdXQoc3dpcGVyLnNjcm9sbGJhci50aW1lb3V0KTsKCQkJCSRlbFswXS5zdHlsZS5vcGFjaXR5ID0gMTsKCQkJCXN3aXBlci5zY3JvbGxiYXIudGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCSRlbFswXS5zdHlsZS5vcGFjaXR5ID0gMDsKCQkJCQkkZWwudHJhbnNpdGlvbig0MDApOwoJCQkJfSwgMTAwMCk7CgkJCX0KCQl9LAoJCXNldFRyYW5zaXRpb246IGZ1bmN0aW9uIHNldFRyYW5zaXRpb24oZHVyYXRpb24pIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5zY3JvbGxiYXIuZWwgfHwgIXN3aXBlci5zY3JvbGxiYXIuZWwpIHsgcmV0dXJuOyB9CgkJCXN3aXBlci5zY3JvbGxiYXIuJGRyYWdFbC50cmFuc2l0aW9uKGR1cmF0aW9uKTsKCQl9LAoJCXVwZGF0ZVNpemU6IGZ1bmN0aW9uIHVwZGF0ZVNpemUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIXN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyLmVsIHx8ICFzd2lwZXIuc2Nyb2xsYmFyLmVsKSB7IHJldHVybjsgfQoKCQkJdmFyIHNjcm9sbGJhciA9IHN3aXBlci5zY3JvbGxiYXI7CgkJCXZhciAkZHJhZ0VsID0gc2Nyb2xsYmFyLiRkcmFnRWw7CgkJCXZhciAkZWwgPSBzY3JvbGxiYXIuJGVsOwoKCQkJJGRyYWdFbFswXS5zdHlsZS53aWR0aCA9ICcnOwoJCQkkZHJhZ0VsWzBdLnN0eWxlLmhlaWdodCA9ICcnOwoJCQl2YXIgdHJhY2tTaXplID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJGVsWzBdLm9mZnNldFdpZHRoIDogJGVsWzBdLm9mZnNldEhlaWdodDsKCgkJCXZhciBkaXZpZGVyID0gc3dpcGVyLnNpemUgLyBzd2lwZXIudmlydHVhbFNpemU7CgkJCXZhciBtb3ZlRGl2aWRlciA9IGRpdmlkZXIgKiAodHJhY2tTaXplIC8gc3dpcGVyLnNpemUpOwoJCQl2YXIgZHJhZ1NpemU7CgkJCWlmIChzd2lwZXIucGFyYW1zLnNjcm9sbGJhci5kcmFnU2l6ZSA9PT0gJ2F1dG8nKSB7CgkJCQlkcmFnU2l6ZSA9IHRyYWNrU2l6ZSAqIGRpdmlkZXI7CgkJCX0gZWxzZSB7CgkJCQlkcmFnU2l6ZSA9IHBhcnNlSW50KHN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdTaXplLCAxMCk7CgkJCX0KCgkJCWlmIChzd2lwZXIuaXNIb3Jpem9udGFsKCkpIHsKCQkJCSRkcmFnRWxbMF0uc3R5bGUud2lkdGggPSBkcmFnU2l6ZSArICJweCI7CgkJCX0gZWxzZSB7CgkJCQkkZHJhZ0VsWzBdLnN0eWxlLmhlaWdodCA9IGRyYWdTaXplICsgInB4IjsKCQkJfQoKCQkJaWYgKGRpdmlkZXIgPj0gMSkgewoJCQkJJGVsWzBdLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgkJCX0gZWxzZSB7CgkJCQkkZWxbMF0uc3R5bGUuZGlzcGxheSA9ICcnOwoJCQl9CgkJCWlmIChzd2lwZXIucGFyYW1zLnNjcm9sbGJhckhpZGUpIHsKCQkJCSRlbFswXS5zdHlsZS5vcGFjaXR5ID0gMDsKCQkJfQoJCQlVdGlscy5leHRlbmQoc2Nyb2xsYmFyLCB7CgkJCQl0cmFja1NpemU6IHRyYWNrU2l6ZSwKCQkJCWRpdmlkZXI6IGRpdmlkZXIsCgkJCQltb3ZlRGl2aWRlcjogbW92ZURpdmlkZXIsCgkJCQlkcmFnU2l6ZTogZHJhZ1NpemUsCgkJCX0pOwoJCQlzY3JvbGxiYXIuJGVsW3N3aXBlci5wYXJhbXMud2F0Y2hPdmVyZmxvdyAmJiBzd2lwZXIuaXNMb2NrZWQgPyAnYWRkQ2xhc3MnIDogJ3JlbW92ZUNsYXNzJ10oc3dpcGVyLnBhcmFtcy5zY3JvbGxiYXIubG9ja0NsYXNzKTsKCQl9LAoJCXNldERyYWdQb3NpdGlvbjogZnVuY3Rpb24gc2V0RHJhZ1Bvc2l0aW9uKGUpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBzY3JvbGxiYXIgPSBzd2lwZXIuc2Nyb2xsYmFyOwoJCQl2YXIgcnRsID0gc3dpcGVyLnJ0bFRyYW5zbGF0ZTsKCQkJdmFyICRlbCA9IHNjcm9sbGJhci4kZWw7CgkJCXZhciBkcmFnU2l6ZSA9IHNjcm9sbGJhci5kcmFnU2l6ZTsKCQkJdmFyIHRyYWNrU2l6ZSA9IHNjcm9sbGJhci50cmFja1NpemU7CgoJCQl2YXIgcG9pbnRlclBvc2l0aW9uOwoJCQlpZiAoc3dpcGVyLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQlwb2ludGVyUG9zaXRpb24gPSAoKGUudHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IGUudHlwZSA9PT0gJ3RvdWNobW92ZScpID8gZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYIDogZS5wYWdlWCB8fCBlLmNsaWVudFgpOwoJCQl9IGVsc2UgewoJCQkJcG9pbnRlclBvc2l0aW9uID0gKChlLnR5cGUgPT09ICd0b3VjaHN0YXJ0JyB8fCBlLnR5cGUgPT09ICd0b3VjaG1vdmUnKSA/IGUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWSA6IGUucGFnZVkgfHwgZS5jbGllbnRZKTsKCQkJfQoJCQl2YXIgcG9zaXRpb25SYXRpbzsKCQkJcG9zaXRpb25SYXRpbyA9ICgocG9pbnRlclBvc2l0aW9uKSAtICRlbC5vZmZzZXQoKVtzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyAnbGVmdCcgOiAndG9wJ10gLSAoZHJhZ1NpemUgLyAyKSkgLyAodHJhY2tTaXplIC0gZHJhZ1NpemUpOwoJCQlwb3NpdGlvblJhdGlvID0gTWF0aC5tYXgoTWF0aC5taW4ocG9zaXRpb25SYXRpbywgMSksIDApOwoJCQlpZiAocnRsKSB7CgkJCQlwb3NpdGlvblJhdGlvID0gMSAtIHBvc2l0aW9uUmF0aW87CgkJCX0KCgkJCXZhciBwb3NpdGlvbiA9IHN3aXBlci5taW5UcmFuc2xhdGUoKSArICgoc3dpcGVyLm1heFRyYW5zbGF0ZSgpIC0gc3dpcGVyLm1pblRyYW5zbGF0ZSgpKSAqIHBvc2l0aW9uUmF0aW8pOwoKCQkJc3dpcGVyLnVwZGF0ZVByb2dyZXNzKHBvc2l0aW9uKTsKCQkJc3dpcGVyLnNldFRyYW5zbGF0ZShwb3NpdGlvbik7CgkJCXN3aXBlci51cGRhdGVBY3RpdmVJbmRleCgpOwoJCQlzd2lwZXIudXBkYXRlU2xpZGVzQ2xhc3NlcygpOwoJCX0sCgkJb25EcmFnU3RhcnQ6IGZ1bmN0aW9uIG9uRHJhZ1N0YXJ0KGUpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnNjcm9sbGJhcjsKCQkJdmFyIHNjcm9sbGJhciA9IHN3aXBlci5zY3JvbGxiYXI7CgkJCXZhciAkd3JhcHBlckVsID0gc3dpcGVyLiR3cmFwcGVyRWw7CgkJCXZhciAkZWwgPSBzY3JvbGxiYXIuJGVsOwoJCQl2YXIgJGRyYWdFbCA9IHNjcm9sbGJhci4kZHJhZ0VsOwoJCQlzd2lwZXIuc2Nyb2xsYmFyLmlzVG91Y2hlZCA9IHRydWU7CgkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCSR3cmFwcGVyRWwudHJhbnNpdGlvbigxMDApOwoJCQkkZHJhZ0VsLnRyYW5zaXRpb24oMTAwKTsKCQkJc2Nyb2xsYmFyLnNldERyYWdQb3NpdGlvbihlKTsKCgkJCWNsZWFyVGltZW91dChzd2lwZXIuc2Nyb2xsYmFyLmRyYWdUaW1lb3V0KTsKCgkJCSRlbC50cmFuc2l0aW9uKDApOwoJCQlpZiAocGFyYW1zLmhpZGUpIHsKCQkJCSRlbC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJfQoJCQlzd2lwZXIuZW1pdCgnc2Nyb2xsYmFyRHJhZ1N0YXJ0JywgZSk7CgkJfSwKCQlvbkRyYWdNb3ZlOiBmdW5jdGlvbiBvbkRyYWdNb3ZlKGUpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBzY3JvbGxiYXIgPSBzd2lwZXIuc2Nyb2xsYmFyOwoJCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCQl2YXIgJGVsID0gc2Nyb2xsYmFyLiRlbDsKCQkJdmFyICRkcmFnRWwgPSBzY3JvbGxiYXIuJGRyYWdFbDsKCgkJCWlmICghc3dpcGVyLnNjcm9sbGJhci5pc1RvdWNoZWQpIHsgcmV0dXJuOyB9CgkJCWlmIChlLnByZXZlbnREZWZhdWx0KSB7IGUucHJldmVudERlZmF1bHQoKTsgfQoJCQllbHNlIHsgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOyB9CgkJCXNjcm9sbGJhci5zZXREcmFnUG9zaXRpb24oZSk7CgkJCSR3cmFwcGVyRWwudHJhbnNpdGlvbigwKTsKCQkJJGVsLnRyYW5zaXRpb24oMCk7CgkJCSRkcmFnRWwudHJhbnNpdGlvbigwKTsKCQkJc3dpcGVyLmVtaXQoJ3Njcm9sbGJhckRyYWdNb3ZlJywgZSk7CgkJfSwKCQlvbkRyYWdFbmQ6IGZ1bmN0aW9uIG9uRHJhZ0VuZChlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyOwoJCQl2YXIgc2Nyb2xsYmFyID0gc3dpcGVyLnNjcm9sbGJhcjsKCQkJdmFyICRlbCA9IHNjcm9sbGJhci4kZWw7CgoJCQlpZiAoIXN3aXBlci5zY3JvbGxiYXIuaXNUb3VjaGVkKSB7IHJldHVybjsgfQoJCQlzd2lwZXIuc2Nyb2xsYmFyLmlzVG91Y2hlZCA9IGZhbHNlOwoJCQlpZiAocGFyYW1zLmhpZGUpIHsKCQkJCWNsZWFyVGltZW91dChzd2lwZXIuc2Nyb2xsYmFyLmRyYWdUaW1lb3V0KTsKCQkJCXN3aXBlci5zY3JvbGxiYXIuZHJhZ1RpbWVvdXQgPSBVdGlscy5uZXh0VGljayhmdW5jdGlvbiAoKSB7CgkJCQkJJGVsLmNzcygnb3BhY2l0eScsIDApOwoJCQkJCSRlbC50cmFuc2l0aW9uKDQwMCk7CgkJCQl9LCAxMDAwKTsKCQkJfQoJCQlzd2lwZXIuZW1pdCgnc2Nyb2xsYmFyRHJhZ0VuZCcsIGUpOwoJCQlpZiAocGFyYW1zLnNuYXBPblJlbGVhc2UpIHsKCQkJCXN3aXBlci5zbGlkZVRvQ2xvc2VzdCgpOwoJCQl9CgkJfSwKCQllbmFibGVEcmFnZ2FibGU6IGZ1bmN0aW9uIGVuYWJsZURyYWdnYWJsZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5zY3JvbGxiYXIuZWwpIHsgcmV0dXJuOyB9CgkJCXZhciBzY3JvbGxiYXIgPSBzd2lwZXIuc2Nyb2xsYmFyOwoJCQl2YXIgdG91Y2hFdmVudHMgPSBzd2lwZXIudG91Y2hFdmVudHM7CgkJCXZhciB0b3VjaEV2ZW50c0Rlc2t0b3AgPSBzd2lwZXIudG91Y2hFdmVudHNEZXNrdG9wOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQkJdmFyICRlbCA9IHNjcm9sbGJhci4kZWw7CgkJCXZhciB0YXJnZXQgPSAkZWxbMF07CgkJCXZhciBhY3RpdmVMaXN0ZW5lciA9IFN1cHBvcnQucGFzc2l2ZUxpc3RlbmVyICYmIHBhcmFtcy5wYXNzaXZlTGlzdGVuZXIgPyB7IHBhc3NpdmU6IGZhbHNlLCBjYXB0dXJlOiBmYWxzZSB9IDogZmFsc2U7CgkJCXZhciBwYXNzaXZlTGlzdGVuZXIgPSBTdXBwb3J0LnBhc3NpdmVMaXN0ZW5lciAmJiBwYXJhbXMucGFzc2l2ZUxpc3RlbmVyID8geyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiBmYWxzZSB9IDogZmFsc2U7CgkJCWlmICghU3VwcG9ydC50b3VjaCAmJiAoU3VwcG9ydC5wb2ludGVyRXZlbnRzIHx8IFN1cHBvcnQucHJlZml4ZWRQb2ludGVyRXZlbnRzKSkgewoJCQkJdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHNEZXNrdG9wLnN0YXJ0LCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LCBhY3RpdmVMaXN0ZW5lcik7CgkJCQlkb2MuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50c0Rlc2t0b3AubW92ZSwgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdNb3ZlLCBhY3RpdmVMaXN0ZW5lcik7CgkJCQlkb2MuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50c0Rlc2t0b3AuZW5kLCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ0VuZCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJfSBlbHNlIHsKCQkJCWlmIChTdXBwb3J0LnRvdWNoKSB7CgkJCQkJdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMuc3RhcnQsIHN3aXBlci5zY3JvbGxiYXIub25EcmFnU3RhcnQsIGFjdGl2ZUxpc3RlbmVyKTsKCQkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5tb3ZlLCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ01vdmUsIGFjdGl2ZUxpc3RlbmVyKTsKCQkJCQl0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0b3VjaEV2ZW50cy5lbmQsIHN3aXBlci5zY3JvbGxiYXIub25EcmFnRW5kLCBwYXNzaXZlTGlzdGVuZXIpOwoJCQkJfQoJCQkJaWYgKChwYXJhbXMuc2ltdWxhdGVUb3VjaCAmJiAhRGV2aWNlLmlvcyAmJiAhRGV2aWNlLmFuZHJvaWQpIHx8IChwYXJhbXMuc2ltdWxhdGVUb3VjaCAmJiAhU3VwcG9ydC50b3VjaCAmJiBEZXZpY2UuaW9zKSkgewoJCQkJCXRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LCBhY3RpdmVMaXN0ZW5lcik7CgkJCQkJZG9jLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN3aXBlci5zY3JvbGxiYXIub25EcmFnTW92ZSwgYWN0aXZlTGlzdGVuZXIpOwoJCQkJCWRvYy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdFbmQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCQl9CgkJCX0KCQl9LAoJCWRpc2FibGVEcmFnZ2FibGU6IGZ1bmN0aW9uIGRpc2FibGVEcmFnZ2FibGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIXN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyLmVsKSB7IHJldHVybjsgfQoJCQl2YXIgc2Nyb2xsYmFyID0gc3dpcGVyLnNjcm9sbGJhcjsKCQkJdmFyIHRvdWNoRXZlbnRzID0gc3dpcGVyLnRvdWNoRXZlbnRzOwoJCQl2YXIgdG91Y2hFdmVudHNEZXNrdG9wID0gc3dpcGVyLnRvdWNoRXZlbnRzRGVza3RvcDsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXM7CgkJCXZhciAkZWwgPSBzY3JvbGxiYXIuJGVsOwoJCQl2YXIgdGFyZ2V0ID0gJGVsWzBdOwoJCQl2YXIgYWN0aXZlTGlzdGVuZXIgPSBTdXBwb3J0LnBhc3NpdmVMaXN0ZW5lciAmJiBwYXJhbXMucGFzc2l2ZUxpc3RlbmVyID8geyBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSA6IGZhbHNlOwoJCQl2YXIgcGFzc2l2ZUxpc3RlbmVyID0gU3VwcG9ydC5wYXNzaXZlTGlzdGVuZXIgJiYgcGFyYW1zLnBhc3NpdmVMaXN0ZW5lciA/IHsgcGFzc2l2ZTogdHJ1ZSwgY2FwdHVyZTogZmFsc2UgfSA6IGZhbHNlOwoJCQlpZiAoIVN1cHBvcnQudG91Y2ggJiYgKFN1cHBvcnQucG9pbnRlckV2ZW50cyB8fCBTdXBwb3J0LnByZWZpeGVkUG9pbnRlckV2ZW50cykpIHsKCQkJCXRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHRvdWNoRXZlbnRzRGVza3RvcC5zdGFydCwgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdTdGFydCwgYWN0aXZlTGlzdGVuZXIpOwoJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHNEZXNrdG9wLm1vdmUsIHN3aXBlci5zY3JvbGxiYXIub25EcmFnTW92ZSwgYWN0aXZlTGlzdGVuZXIpOwoJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHNEZXNrdG9wLmVuZCwgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdFbmQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCX0gZWxzZSB7CgkJCQlpZiAoU3VwcG9ydC50b3VjaCkgewoJCQkJCXRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHRvdWNoRXZlbnRzLnN0YXJ0LCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LCBhY3RpdmVMaXN0ZW5lcik7CgkJCQkJdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMubW92ZSwgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdNb3ZlLCBhY3RpdmVMaXN0ZW5lcik7CgkJCQkJdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodG91Y2hFdmVudHMuZW5kLCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ0VuZCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCX0KCQkJCWlmICgocGFyYW1zLnNpbXVsYXRlVG91Y2ggJiYgIURldmljZS5pb3MgJiYgIURldmljZS5hbmRyb2lkKSB8fCAocGFyYW1zLnNpbXVsYXRlVG91Y2ggJiYgIVN1cHBvcnQudG91Y2ggJiYgRGV2aWNlLmlvcykpIHsKCQkJCQl0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgc3dpcGVyLnNjcm9sbGJhci5vbkRyYWdTdGFydCwgYWN0aXZlTGlzdGVuZXIpOwoJCQkJCWRvYy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzd2lwZXIuc2Nyb2xsYmFyLm9uRHJhZ01vdmUsIGFjdGl2ZUxpc3RlbmVyKTsKCQkJCQlkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN3aXBlci5zY3JvbGxiYXIub25EcmFnRW5kLCBwYXNzaXZlTGlzdGVuZXIpOwoJCQkJfQoJCQl9CgkJfSwKCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFzd2lwZXIucGFyYW1zLnNjcm9sbGJhci5lbCkgeyByZXR1cm47IH0KCQkJdmFyIHNjcm9sbGJhciA9IHN3aXBlci5zY3JvbGxiYXI7CgkJCXZhciAkc3dpcGVyRWwgPSBzd2lwZXIuJGVsOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy5zY3JvbGxiYXI7CgoJCQl2YXIgJGVsID0gJChwYXJhbXMuZWwpOwoJCQlpZiAoc3dpcGVyLnBhcmFtcy51bmlxdWVOYXZFbGVtZW50cyAmJiB0eXBlb2YgcGFyYW1zLmVsID09PSAnc3RyaW5nJyAmJiAkZWwubGVuZ3RoID4gMSAmJiAkc3dpcGVyRWwuZmluZChwYXJhbXMuZWwpLmxlbmd0aCA9PT0gMSkgewoJCQkJJGVsID0gJHN3aXBlckVsLmZpbmQocGFyYW1zLmVsKTsKCQkJfQoKCQkJdmFyICRkcmFnRWwgPSAkZWwuZmluZCgoIi4iICsgKHN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcykpKTsKCQkJaWYgKCRkcmFnRWwubGVuZ3RoID09PSAwKSB7CgkJCQkkZHJhZ0VsID0gJCgoIjxkaXYgY2xhc3M9XCIiICsgKHN3aXBlci5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcykgKyAiXCI+PC9kaXY+IikpOwoJCQkJJGVsLmFwcGVuZCgkZHJhZ0VsKTsKCQkJfQoKCQkJVXRpbHMuZXh0ZW5kKHNjcm9sbGJhciwgewoJCQkJJGVsOiAkZWwsCgkJCQllbDogJGVsWzBdLAoJCQkJJGRyYWdFbDogJGRyYWdFbCwKCQkJCWRyYWdFbDogJGRyYWdFbFswXSwKCQkJfSk7CgoJCQlpZiAocGFyYW1zLmRyYWdnYWJsZSkgewoJCQkJc2Nyb2xsYmFyLmVuYWJsZURyYWdnYWJsZSgpOwoJCQl9CgkJfSwKCQlkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJc3dpcGVyLnNjcm9sbGJhci5kaXNhYmxlRHJhZ2dhYmxlKCk7CgkJfSwKCX07CgoJdmFyIFNjcm9sbGJhciQxID0gewoJCW5hbWU6ICdzY3JvbGxiYXInLAoJCXBhcmFtczogewoJCQlzY3JvbGxiYXI6IHsKCQkJCWVsOiBudWxsLAoJCQkJZHJhZ1NpemU6ICdhdXRvJywKCQkJCWhpZGU6IGZhbHNlLAoJCQkJZHJhZ2dhYmxlOiBmYWxzZSwKCQkJCXNuYXBPblJlbGVhc2U6IHRydWUsCgkJCQlsb2NrQ2xhc3M6ICdzd2lwZXItc2Nyb2xsYmFyLWxvY2snLAoJCQkJZHJhZ0NsYXNzOiAnc3dpcGVyLXNjcm9sbGJhci1kcmFnJywKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJc2Nyb2xsYmFyOiB7CgkJCQkJaW5pdDogU2Nyb2xsYmFyLmluaXQuYmluZChzd2lwZXIpLAoJCQkJCWRlc3Ryb3k6IFNjcm9sbGJhci5kZXN0cm95LmJpbmQoc3dpcGVyKSwKCQkJCQl1cGRhdGVTaXplOiBTY3JvbGxiYXIudXBkYXRlU2l6ZS5iaW5kKHN3aXBlciksCgkJCQkJc2V0VHJhbnNsYXRlOiBTY3JvbGxiYXIuc2V0VHJhbnNsYXRlLmJpbmQoc3dpcGVyKSwKCQkJCQlzZXRUcmFuc2l0aW9uOiBTY3JvbGxiYXIuc2V0VHJhbnNpdGlvbi5iaW5kKHN3aXBlciksCgkJCQkJZW5hYmxlRHJhZ2dhYmxlOiBTY3JvbGxiYXIuZW5hYmxlRHJhZ2dhYmxlLmJpbmQoc3dpcGVyKSwKCQkJCQlkaXNhYmxlRHJhZ2dhYmxlOiBTY3JvbGxiYXIuZGlzYWJsZURyYWdnYWJsZS5iaW5kKHN3aXBlciksCgkJCQkJc2V0RHJhZ1Bvc2l0aW9uOiBTY3JvbGxiYXIuc2V0RHJhZ1Bvc2l0aW9uLmJpbmQoc3dpcGVyKSwKCQkJCQlvbkRyYWdTdGFydDogU2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LmJpbmQoc3dpcGVyKSwKCQkJCQlvbkRyYWdNb3ZlOiBTY3JvbGxiYXIub25EcmFnTW92ZS5iaW5kKHN3aXBlciksCgkJCQkJb25EcmFnRW5kOiBTY3JvbGxiYXIub25EcmFnRW5kLmJpbmQoc3dpcGVyKSwKCQkJCQlpc1RvdWNoZWQ6IGZhbHNlLAoJCQkJCXRpbWVvdXQ6IG51bGwsCgkJCQkJZHJhZ1RpbWVvdXQ6IG51bGwsCgkJCQl9LAoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWluaXQ6IGZ1bmN0aW9uIGluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci5zY3JvbGxiYXIuaW5pdCgpOwoJCQkJc3dpcGVyLnNjcm9sbGJhci51cGRhdGVTaXplKCk7CgkJCQlzd2lwZXIuc2Nyb2xsYmFyLnNldFRyYW5zbGF0ZSgpOwoJCQl9LAoJCQl1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLnNjcm9sbGJhci51cGRhdGVTaXplKCk7CgkJCX0sCgkJCXJlc2l6ZTogZnVuY3Rpb24gcmVzaXplKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlzd2lwZXIuc2Nyb2xsYmFyLnVwZGF0ZVNpemUoKTsKCQkJfSwKCQkJb2JzZXJ2ZXJVcGRhdGU6IGZ1bmN0aW9uIG9ic2VydmVyVXBkYXRlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlzd2lwZXIuc2Nyb2xsYmFyLnVwZGF0ZVNpemUoKTsKCQkJfSwKCQkJc2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBzZXRUcmFuc2xhdGUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci5zY3JvbGxiYXIuc2V0VHJhbnNsYXRlKCk7CgkJCX0sCgkJCXNldFRyYW5zaXRpb246IGZ1bmN0aW9uIHNldFRyYW5zaXRpb24oZHVyYXRpb24pIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLnNjcm9sbGJhci5zZXRUcmFuc2l0aW9uKGR1cmF0aW9uKTsKCQkJfSwKCQkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJc3dpcGVyLnNjcm9sbGJhci5kZXN0cm95KCk7CgkJCX0sCgkJfSwKCX07CgoJdmFyIFBhcmFsbGF4ID0gewoJCXNldFRyYW5zZm9ybTogZnVuY3Rpb24gc2V0VHJhbnNmb3JtKGVsLCBwcm9ncmVzcykgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHJ0bCA9IHN3aXBlci5ydGw7CgoJCQl2YXIgJGVsID0gJChlbCk7CgkJCXZhciBydGxGYWN0b3IgPSBydGwgPyAtMSA6IDE7CgoJCQl2YXIgcCA9ICRlbC5hdHRyKCdkYXRhLXN3aXBlci1wYXJhbGxheCcpIHx8ICcwJzsKCQkJdmFyIHggPSAkZWwuYXR0cignZGF0YS1zd2lwZXItcGFyYWxsYXgteCcpOwoJCQl2YXIgeSA9ICRlbC5hdHRyKCdkYXRhLXN3aXBlci1wYXJhbGxheC15Jyk7CgkJCXZhciBzY2FsZSA9ICRlbC5hdHRyKCdkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZScpOwoJCQl2YXIgb3BhY2l0eSA9ICRlbC5hdHRyKCdkYXRhLXN3aXBlci1wYXJhbGxheC1vcGFjaXR5Jyk7CgoJCQlpZiAoeCB8fCB5KSB7CgkJCQl4ID0geCB8fCAnMCc7CgkJCQl5ID0geSB8fCAnMCc7CgkJCX0gZWxzZSBpZiAoc3dpcGVyLmlzSG9yaXpvbnRhbCgpKSB7CgkJCQl4ID0gcDsKCQkJCXkgPSAnMCc7CgkJCX0gZWxzZSB7CgkJCQl5ID0gcDsKCQkJCXggPSAnMCc7CgkJCX0KCgkJCWlmICgoeCkuaW5kZXhPZignJScpID49IDApIHsKCQkJCXggPSAocGFyc2VJbnQoeCwgMTApICogcHJvZ3Jlc3MgKiBydGxGYWN0b3IpICsgIiUiOwoJCQl9IGVsc2UgewoJCQkJeCA9ICh4ICogcHJvZ3Jlc3MgKiBydGxGYWN0b3IpICsgInB4IjsKCQkJfQoJCQlpZiAoKHkpLmluZGV4T2YoJyUnKSA+PSAwKSB7CgkJCQl5ID0gKHBhcnNlSW50KHksIDEwKSAqIHByb2dyZXNzKSArICIlIjsKCQkJfSBlbHNlIHsKCQkJCXkgPSAoeSAqIHByb2dyZXNzKSArICJweCI7CgkJCX0KCgkJCWlmICh0eXBlb2Ygb3BhY2l0eSAhPT0gJ3VuZGVmaW5lZCcgJiYgb3BhY2l0eSAhPT0gbnVsbCkgewoJCQkJdmFyIGN1cnJlbnRPcGFjaXR5ID0gb3BhY2l0eSAtICgob3BhY2l0eSAtIDEpICogKDEgLSBNYXRoLmFicyhwcm9ncmVzcykpKTsKCQkJCSRlbFswXS5zdHlsZS5vcGFjaXR5ID0gY3VycmVudE9wYWNpdHk7CgkJCX0KCQkJaWYgKHR5cGVvZiBzY2FsZSA9PT0gJ3VuZGVmaW5lZCcgfHwgc2NhbGUgPT09IG51bGwpIHsKCQkJCSRlbC50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUzZCgiICsgeCArICIsICIgKyB5ICsgIiwgMHB4KSIpKTsKCQkJfSBlbHNlIHsKCQkJCXZhciBjdXJyZW50U2NhbGUgPSBzY2FsZSAtICgoc2NhbGUgLSAxKSAqICgxIC0gTWF0aC5hYnMocHJvZ3Jlc3MpKSk7CgkJCQkkZWwudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIHggKyAiLCAiICsgeSArICIsIDBweCkgc2NhbGUoIiArIGN1cnJlbnRTY2FsZSArICIpIikpOwoJCQl9CgkJfSwKCQlzZXRUcmFuc2xhdGU6IGZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciAkZWwgPSBzd2lwZXIuJGVsOwoJCQl2YXIgc2xpZGVzID0gc3dpcGVyLnNsaWRlczsKCQkJdmFyIHByb2dyZXNzID0gc3dpcGVyLnByb2dyZXNzOwoJCQl2YXIgc25hcEdyaWQgPSBzd2lwZXIuc25hcEdyaWQ7CgkJCSRlbC5jaGlsZHJlbignW2RhdGEtc3dpcGVyLXBhcmFsbGF4XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteV0nKQoJCQkJLmVhY2goZnVuY3Rpb24gKGluZGV4LCBlbCkgewoJCQkJCXN3aXBlci5wYXJhbGxheC5zZXRUcmFuc2Zvcm0oZWwsIHByb2dyZXNzKTsKCQkJCX0pOwoJCQlzbGlkZXMuZWFjaChmdW5jdGlvbiAoc2xpZGVJbmRleCwgc2xpZGVFbCkgewoJCQkJdmFyIHNsaWRlUHJvZ3Jlc3MgPSBzbGlkZUVsLnByb2dyZXNzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuc2xpZGVzUGVyR3JvdXAgPiAxICYmIHN3aXBlci5wYXJhbXMuc2xpZGVzUGVyVmlldyAhPT0gJ2F1dG8nKSB7CgkJCQkJc2xpZGVQcm9ncmVzcyArPSBNYXRoLmNlaWwoc2xpZGVJbmRleCAvIDIpIC0gKHByb2dyZXNzICogKHNuYXBHcmlkLmxlbmd0aCAtIDEpKTsKCQkJCX0KCQkJCXNsaWRlUHJvZ3Jlc3MgPSBNYXRoLm1pbihNYXRoLm1heChzbGlkZVByb2dyZXNzLCAtMSksIDEpOwoJCQkJJChzbGlkZUVsKS5maW5kKCdbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XScpCgkJCQkJLmVhY2goZnVuY3Rpb24gKGluZGV4LCBlbCkgewoJCQkJCQlzd2lwZXIucGFyYWxsYXguc2V0VHJhbnNmb3JtKGVsLCBzbGlkZVByb2dyZXNzKTsKCQkJCQl9KTsKCQkJfSk7CgkJfSwKCQlzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiBzZXRUcmFuc2l0aW9uKGR1cmF0aW9uKSB7CgkJCWlmICggZHVyYXRpb24gPT09IHZvaWQgMCApIGR1cmF0aW9uID0gdGhpcy5wYXJhbXMuc3BlZWQ7CgoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyICRlbCA9IHN3aXBlci4kZWw7CgkJCSRlbC5maW5kKCdbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XScpCgkJCQkuZWFjaChmdW5jdGlvbiAoaW5kZXgsIHBhcmFsbGF4RWwpIHsKCQkJCQl2YXIgJHBhcmFsbGF4RWwgPSAkKHBhcmFsbGF4RWwpOwoJCQkJCXZhciBwYXJhbGxheER1cmF0aW9uID0gcGFyc2VJbnQoJHBhcmFsbGF4RWwuYXR0cignZGF0YS1zd2lwZXItcGFyYWxsYXgtZHVyYXRpb24nKSwgMTApIHx8IGR1cmF0aW9uOwoJCQkJCWlmIChkdXJhdGlvbiA9PT0gMCkgeyBwYXJhbGxheER1cmF0aW9uID0gMDsgfQoJCQkJCSRwYXJhbGxheEVsLnRyYW5zaXRpb24ocGFyYWxsYXhEdXJhdGlvbik7CgkJCQl9KTsKCQl9LAoJfTsKCgl2YXIgUGFyYWxsYXgkMSA9IHsKCQluYW1lOiAncGFyYWxsYXgnLAoJCXBhcmFtczogewoJCQlwYXJhbGxheDogewoJCQkJZW5hYmxlZDogZmFsc2UsCgkJCX0sCgkJfSwKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCXBhcmFsbGF4OiB7CgkJCQkJc2V0VHJhbnNmb3JtOiBQYXJhbGxheC5zZXRUcmFuc2Zvcm0uYmluZChzd2lwZXIpLAoJCQkJCXNldFRyYW5zbGF0ZTogUGFyYWxsYXguc2V0VHJhbnNsYXRlLmJpbmQoc3dpcGVyKSwKCQkJCQlzZXRUcmFuc2l0aW9uOiBQYXJhbGxheC5zZXRUcmFuc2l0aW9uLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJYmVmb3JlSW5pdDogZnVuY3Rpb24gYmVmb3JlSW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIucGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3MgPSB0cnVlOwoJCQl9LAoJCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoIXN3aXBlci5wYXJhbXMucGFyYWxsYXgpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIucGFyYWxsYXguc2V0VHJhbnNsYXRlKCk7CgkJCX0sCgkJCXNldFRyYW5zbGF0ZTogZnVuY3Rpb24gc2V0VHJhbnNsYXRlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoIXN3aXBlci5wYXJhbXMucGFyYWxsYXgpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIucGFyYWxsYXguc2V0VHJhbnNsYXRlKCk7CgkJCX0sCgkJCXNldFRyYW5zaXRpb246IGZ1bmN0aW9uIHNldFRyYW5zaXRpb24oZHVyYXRpb24pIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIucGFyYW1zLnBhcmFsbGF4KSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLnBhcmFsbGF4LnNldFRyYW5zaXRpb24oZHVyYXRpb24pOwoJCQl9LAoJCX0sCgl9OwoKCXZhciBab29tID0gewoJCS8vIENhbGMgU2NhbGUgRnJvbSBNdWx0aS10b3VjaGVzCgkJZ2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlczogZnVuY3Rpb24gZ2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhlKSB7CgkJCWlmIChlLnRhcmdldFRvdWNoZXMubGVuZ3RoIDwgMikgeyByZXR1cm4gMTsgfQoJCQl2YXIgeDEgPSBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVg7CgkJCXZhciB5MSA9IGUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWTsKCQkJdmFyIHgyID0gZS50YXJnZXRUb3VjaGVzWzFdLnBhZ2VYOwoJCQl2YXIgeTIgPSBlLnRhcmdldFRvdWNoZXNbMV0ucGFnZVk7CgkJCXZhciBkaXN0YW5jZSA9IE1hdGguc3FydCgoTWF0aC5wb3coICh4MiAtIHgxKSwgMiApKSArIChNYXRoLnBvdyggKHkyIC0geTEpLCAyICkpKTsKCQkJcmV0dXJuIGRpc3RhbmNlOwoJCX0sCgkJLy8gRXZlbnRzCgkJb25HZXN0dXJlU3RhcnQ6IGZ1bmN0aW9uIG9uR2VzdHVyZVN0YXJ0KGUpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnpvb207CgkJCXZhciB6b29tID0gc3dpcGVyLnpvb207CgkJCXZhciBnZXN0dXJlID0gem9vbS5nZXN0dXJlOwoJCQl6b29tLmZha2VHZXN0dXJlVG91Y2hlZCA9IGZhbHNlOwoJCQl6b29tLmZha2VHZXN0dXJlTW92ZWQgPSBmYWxzZTsKCQkJaWYgKCFTdXBwb3J0Lmdlc3R1cmVzKSB7CgkJCQlpZiAoZS50eXBlICE9PSAndG91Y2hzdGFydCcgfHwgKGUudHlwZSA9PT0gJ3RvdWNoc3RhcnQnICYmIGUudGFyZ2V0VG91Y2hlcy5sZW5ndGggPCAyKSkgewoJCQkJCXJldHVybjsKCQkJCX0KCQkJCXpvb20uZmFrZUdlc3R1cmVUb3VjaGVkID0gdHJ1ZTsKCQkJCWdlc3R1cmUuc2NhbGVTdGFydCA9IFpvb20uZ2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhlKTsKCQkJfQoJCQlpZiAoIWdlc3R1cmUuJHNsaWRlRWwgfHwgIWdlc3R1cmUuJHNsaWRlRWwubGVuZ3RoKSB7CgkJCQlnZXN0dXJlLiRzbGlkZUVsID0gJChlLnRhcmdldCkuY2xvc2VzdCgnLnN3aXBlci1zbGlkZScpOwoJCQkJaWYgKGdlc3R1cmUuJHNsaWRlRWwubGVuZ3RoID09PSAwKSB7IGdlc3R1cmUuJHNsaWRlRWwgPSBzd2lwZXIuc2xpZGVzLmVxKHN3aXBlci5hY3RpdmVJbmRleCk7IH0KCQkJCWdlc3R1cmUuJGltYWdlRWwgPSBnZXN0dXJlLiRzbGlkZUVsLmZpbmQoJ2ltZywgc3ZnLCBjYW52YXMnKTsKCQkJCWdlc3R1cmUuJGltYWdlV3JhcEVsID0gZ2VzdHVyZS4kaW1hZ2VFbC5wYXJlbnQoKCIuIiArIChwYXJhbXMuY29udGFpbmVyQ2xhc3MpKSk7CgkJCQlnZXN0dXJlLm1heFJhdGlvID0gZ2VzdHVyZS4kaW1hZ2VXcmFwRWwuYXR0cignZGF0YS1zd2lwZXItem9vbScpIHx8IHBhcmFtcy5tYXhSYXRpbzsKCQkJCWlmIChnZXN0dXJlLiRpbWFnZVdyYXBFbC5sZW5ndGggPT09IDApIHsKCQkJCQlnZXN0dXJlLiRpbWFnZUVsID0gdW5kZWZpbmVkOwoJCQkJCXJldHVybjsKCQkJCX0KCQkJfQoJCQlnZXN0dXJlLiRpbWFnZUVsLnRyYW5zaXRpb24oMCk7CgkJCXN3aXBlci56b29tLmlzU2NhbGluZyA9IHRydWU7CgkJfSwKCQlvbkdlc3R1cmVDaGFuZ2U6IGZ1bmN0aW9uIG9uR2VzdHVyZUNoYW5nZShlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy56b29tOwoJCQl2YXIgem9vbSA9IHN3aXBlci56b29tOwoJCQl2YXIgZ2VzdHVyZSA9IHpvb20uZ2VzdHVyZTsKCQkJaWYgKCFTdXBwb3J0Lmdlc3R1cmVzKSB7CgkJCQlpZiAoZS50eXBlICE9PSAndG91Y2htb3ZlJyB8fCAoZS50eXBlID09PSAndG91Y2htb3ZlJyAmJiBlLnRhcmdldFRvdWNoZXMubGVuZ3RoIDwgMikpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQl6b29tLmZha2VHZXN0dXJlTW92ZWQgPSB0cnVlOwoJCQkJZ2VzdHVyZS5zY2FsZU1vdmUgPSBab29tLmdldERpc3RhbmNlQmV0d2VlblRvdWNoZXMoZSk7CgkJCX0KCQkJaWYgKCFnZXN0dXJlLiRpbWFnZUVsIHx8IGdlc3R1cmUuJGltYWdlRWwubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCQlpZiAoU3VwcG9ydC5nZXN0dXJlcykgewoJCQkJc3dpcGVyLnpvb20uc2NhbGUgPSBlLnNjYWxlICogem9vbS5jdXJyZW50U2NhbGU7CgkJCX0gZWxzZSB7CgkJCQl6b29tLnNjYWxlID0gKGdlc3R1cmUuc2NhbGVNb3ZlIC8gZ2VzdHVyZS5zY2FsZVN0YXJ0KSAqIHpvb20uY3VycmVudFNjYWxlOwoJCQl9CgkJCWlmICh6b29tLnNjYWxlID4gZ2VzdHVyZS5tYXhSYXRpbykgewoJCQkJem9vbS5zY2FsZSA9IChnZXN0dXJlLm1heFJhdGlvIC0gMSkgKyAoTWF0aC5wb3coICgoem9vbS5zY2FsZSAtIGdlc3R1cmUubWF4UmF0aW8pICsgMSksIDAuNSApKTsKCQkJfQoJCQlpZiAoem9vbS5zY2FsZSA8IHBhcmFtcy5taW5SYXRpbykgewoJCQkJem9vbS5zY2FsZSA9IChwYXJhbXMubWluUmF0aW8gKyAxKSAtIChNYXRoLnBvdyggKChwYXJhbXMubWluUmF0aW8gLSB6b29tLnNjYWxlKSArIDEpLCAwLjUgKSk7CgkJCX0KCQkJZ2VzdHVyZS4kaW1hZ2VFbC50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIiArICh6b29tLnNjYWxlKSArICIpIikpOwoJCX0sCgkJb25HZXN0dXJlRW5kOiBmdW5jdGlvbiBvbkdlc3R1cmVFbmQoZSkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMuem9vbTsKCQkJdmFyIHpvb20gPSBzd2lwZXIuem9vbTsKCQkJdmFyIGdlc3R1cmUgPSB6b29tLmdlc3R1cmU7CgkJCWlmICghU3VwcG9ydC5nZXN0dXJlcykgewoJCQkJaWYgKCF6b29tLmZha2VHZXN0dXJlVG91Y2hlZCB8fCAhem9vbS5mYWtlR2VzdHVyZU1vdmVkKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQkJaWYgKGUudHlwZSAhPT0gJ3RvdWNoZW5kJyB8fCAoZS50eXBlID09PSAndG91Y2hlbmQnICYmIGUuY2hhbmdlZFRvdWNoZXMubGVuZ3RoIDwgMiAmJiAhRGV2aWNlLmFuZHJvaWQpKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQkJem9vbS5mYWtlR2VzdHVyZVRvdWNoZWQgPSBmYWxzZTsKCQkJCXpvb20uZmFrZUdlc3R1cmVNb3ZlZCA9IGZhbHNlOwoJCQl9CgkJCWlmICghZ2VzdHVyZS4kaW1hZ2VFbCB8fCBnZXN0dXJlLiRpbWFnZUVsLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH0KCQkJem9vbS5zY2FsZSA9IE1hdGgubWF4KE1hdGgubWluKHpvb20uc2NhbGUsIGdlc3R1cmUubWF4UmF0aW8pLCBwYXJhbXMubWluUmF0aW8pOwoJCQlnZXN0dXJlLiRpbWFnZUVsLnRyYW5zaXRpb24oc3dpcGVyLnBhcmFtcy5zcGVlZCkudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKCIgKyAoem9vbS5zY2FsZSkgKyAiKSIpKTsKCQkJem9vbS5jdXJyZW50U2NhbGUgPSB6b29tLnNjYWxlOwoJCQl6b29tLmlzU2NhbGluZyA9IGZhbHNlOwoJCQlpZiAoem9vbS5zY2FsZSA9PT0gMSkgeyBnZXN0dXJlLiRzbGlkZUVsID0gdW5kZWZpbmVkOyB9CgkJfSwKCQlvblRvdWNoU3RhcnQ6IGZ1bmN0aW9uIG9uVG91Y2hTdGFydChlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgem9vbSA9IHN3aXBlci56b29tOwoJCQl2YXIgZ2VzdHVyZSA9IHpvb20uZ2VzdHVyZTsKCQkJdmFyIGltYWdlID0gem9vbS5pbWFnZTsKCQkJaWYgKCFnZXN0dXJlLiRpbWFnZUVsIHx8IGdlc3R1cmUuJGltYWdlRWwubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCQlpZiAoaW1hZ2UuaXNUb3VjaGVkKSB7IHJldHVybjsgfQoJCQlpZiAoRGV2aWNlLmFuZHJvaWQpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB9CgkJCWltYWdlLmlzVG91Y2hlZCA9IHRydWU7CgkJCWltYWdlLnRvdWNoZXNTdGFydC54ID0gZS50eXBlID09PSAndG91Y2hzdGFydCcgPyBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVggOiBlLnBhZ2VYOwoJCQlpbWFnZS50b3VjaGVzU3RhcnQueSA9IGUudHlwZSA9PT0gJ3RvdWNoc3RhcnQnID8gZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZIDogZS5wYWdlWTsKCQl9LAoJCW9uVG91Y2hNb3ZlOiBmdW5jdGlvbiBvblRvdWNoTW92ZShlKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgem9vbSA9IHN3aXBlci56b29tOwoJCQl2YXIgZ2VzdHVyZSA9IHpvb20uZ2VzdHVyZTsKCQkJdmFyIGltYWdlID0gem9vbS5pbWFnZTsKCQkJdmFyIHZlbG9jaXR5ID0gem9vbS52ZWxvY2l0eTsKCQkJaWYgKCFnZXN0dXJlLiRpbWFnZUVsIHx8IGdlc3R1cmUuJGltYWdlRWwubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCQlzd2lwZXIuYWxsb3dDbGljayA9IGZhbHNlOwoJCQlpZiAoIWltYWdlLmlzVG91Y2hlZCB8fCAhZ2VzdHVyZS4kc2xpZGVFbCkgeyByZXR1cm47IH0KCgkJCWlmICghaW1hZ2UuaXNNb3ZlZCkgewoJCQkJaW1hZ2Uud2lkdGggPSBnZXN0dXJlLiRpbWFnZUVsWzBdLm9mZnNldFdpZHRoOwoJCQkJaW1hZ2UuaGVpZ2h0ID0gZ2VzdHVyZS4kaW1hZ2VFbFswXS5vZmZzZXRIZWlnaHQ7CgkJCQlpbWFnZS5zdGFydFggPSBVdGlscy5nZXRUcmFuc2xhdGUoZ2VzdHVyZS4kaW1hZ2VXcmFwRWxbMF0sICd4JykgfHwgMDsKCQkJCWltYWdlLnN0YXJ0WSA9IFV0aWxzLmdldFRyYW5zbGF0ZShnZXN0dXJlLiRpbWFnZVdyYXBFbFswXSwgJ3knKSB8fCAwOwoJCQkJZ2VzdHVyZS5zbGlkZVdpZHRoID0gZ2VzdHVyZS4kc2xpZGVFbFswXS5vZmZzZXRXaWR0aDsKCQkJCWdlc3R1cmUuc2xpZGVIZWlnaHQgPSBnZXN0dXJlLiRzbGlkZUVsWzBdLm9mZnNldEhlaWdodDsKCQkJCWdlc3R1cmUuJGltYWdlV3JhcEVsLnRyYW5zaXRpb24oMCk7CgkJCQlpZiAoc3dpcGVyLnJ0bCkgewoJCQkJCWltYWdlLnN0YXJ0WCA9IC1pbWFnZS5zdGFydFg7CgkJCQkJaW1hZ2Uuc3RhcnRZID0gLWltYWdlLnN0YXJ0WTsKCQkJCX0KCQkJfQoJCQkvLyBEZWZpbmUgaWYgd2UgbmVlZCBpbWFnZSBkcmFnCgkJCXZhciBzY2FsZWRXaWR0aCA9IGltYWdlLndpZHRoICogem9vbS5zY2FsZTsKCQkJdmFyIHNjYWxlZEhlaWdodCA9IGltYWdlLmhlaWdodCAqIHpvb20uc2NhbGU7CgoJCQlpZiAoc2NhbGVkV2lkdGggPCBnZXN0dXJlLnNsaWRlV2lkdGggJiYgc2NhbGVkSGVpZ2h0IDwgZ2VzdHVyZS5zbGlkZUhlaWdodCkgeyByZXR1cm47IH0KCgkJCWltYWdlLm1pblggPSBNYXRoLm1pbigoKGdlc3R1cmUuc2xpZGVXaWR0aCAvIDIpIC0gKHNjYWxlZFdpZHRoIC8gMikpLCAwKTsKCQkJaW1hZ2UubWF4WCA9IC1pbWFnZS5taW5YOwoJCQlpbWFnZS5taW5ZID0gTWF0aC5taW4oKChnZXN0dXJlLnNsaWRlSGVpZ2h0IC8gMikgLSAoc2NhbGVkSGVpZ2h0IC8gMikpLCAwKTsKCQkJaW1hZ2UubWF4WSA9IC1pbWFnZS5taW5ZOwoKCQkJaW1hZ2UudG91Y2hlc0N1cnJlbnQueCA9IGUudHlwZSA9PT0gJ3RvdWNobW92ZScgPyBlLnRhcmdldFRvdWNoZXNbMF0ucGFnZVggOiBlLnBhZ2VYOwoJCQlpbWFnZS50b3VjaGVzQ3VycmVudC55ID0gZS50eXBlID09PSAndG91Y2htb3ZlJyA/IGUudGFyZ2V0VG91Y2hlc1swXS5wYWdlWSA6IGUucGFnZVk7CgoJCQlpZiAoIWltYWdlLmlzTW92ZWQgJiYgIXpvb20uaXNTY2FsaW5nKSB7CgkJCQlpZiAoCgkJCQkJc3dpcGVyLmlzSG9yaXpvbnRhbCgpICYmCgkJCQkJKAoJCQkJCQkoTWF0aC5mbG9vcihpbWFnZS5taW5YKSA9PT0gTWF0aC5mbG9vcihpbWFnZS5zdGFydFgpICYmIGltYWdlLnRvdWNoZXNDdXJyZW50LnggPCBpbWFnZS50b3VjaGVzU3RhcnQueCkgfHwKCQkJCQkJKE1hdGguZmxvb3IoaW1hZ2UubWF4WCkgPT09IE1hdGguZmxvb3IoaW1hZ2Uuc3RhcnRYKSAmJiBpbWFnZS50b3VjaGVzQ3VycmVudC54ID4gaW1hZ2UudG91Y2hlc1N0YXJ0LngpCgkJCQkJKQoJCQkJKSB7CgkJCQkJaW1hZ2UuaXNUb3VjaGVkID0gZmFsc2U7CgkJCQkJcmV0dXJuOwoJCQkJfSBlbHNlIGlmICgKCQkJCQkhc3dpcGVyLmlzSG9yaXpvbnRhbCgpICYmCgkJCQkJKAoJCQkJCQkoTWF0aC5mbG9vcihpbWFnZS5taW5ZKSA9PT0gTWF0aC5mbG9vcihpbWFnZS5zdGFydFkpICYmIGltYWdlLnRvdWNoZXNDdXJyZW50LnkgPCBpbWFnZS50b3VjaGVzU3RhcnQueSkgfHwKCQkJCQkJKE1hdGguZmxvb3IoaW1hZ2UubWF4WSkgPT09IE1hdGguZmxvb3IoaW1hZ2Uuc3RhcnRZKSAmJiBpbWFnZS50b3VjaGVzQ3VycmVudC55ID4gaW1hZ2UudG91Y2hlc1N0YXJ0LnkpCgkJCQkJKQoJCQkJKSB7CgkJCQkJaW1hZ2UuaXNUb3VjaGVkID0gZmFsc2U7CgkJCQkJcmV0dXJuOwoJCQkJfQoJCQl9CgkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCWltYWdlLmlzTW92ZWQgPSB0cnVlOwoJCQlpbWFnZS5jdXJyZW50WCA9IChpbWFnZS50b3VjaGVzQ3VycmVudC54IC0gaW1hZ2UudG91Y2hlc1N0YXJ0LngpICsgaW1hZ2Uuc3RhcnRYOwoJCQlpbWFnZS5jdXJyZW50WSA9IChpbWFnZS50b3VjaGVzQ3VycmVudC55IC0gaW1hZ2UudG91Y2hlc1N0YXJ0LnkpICsgaW1hZ2Uuc3RhcnRZOwoKCQkJaWYgKGltYWdlLmN1cnJlbnRYIDwgaW1hZ2UubWluWCkgewoJCQkJaW1hZ2UuY3VycmVudFggPSAoaW1hZ2UubWluWCArIDEpIC0gKE1hdGgucG93KCAoKGltYWdlLm1pblggLSBpbWFnZS5jdXJyZW50WCkgKyAxKSwgMC44ICkpOwoJCQl9CgkJCWlmIChpbWFnZS5jdXJyZW50WCA+IGltYWdlLm1heFgpIHsKCQkJCWltYWdlLmN1cnJlbnRYID0gKGltYWdlLm1heFggLSAxKSArIChNYXRoLnBvdyggKChpbWFnZS5jdXJyZW50WCAtIGltYWdlLm1heFgpICsgMSksIDAuOCApKTsKCQkJfQoKCQkJaWYgKGltYWdlLmN1cnJlbnRZIDwgaW1hZ2UubWluWSkgewoJCQkJaW1hZ2UuY3VycmVudFkgPSAoaW1hZ2UubWluWSArIDEpIC0gKE1hdGgucG93KCAoKGltYWdlLm1pblkgLSBpbWFnZS5jdXJyZW50WSkgKyAxKSwgMC44ICkpOwoJCQl9CgkJCWlmIChpbWFnZS5jdXJyZW50WSA+IGltYWdlLm1heFkpIHsKCQkJCWltYWdlLmN1cnJlbnRZID0gKGltYWdlLm1heFkgLSAxKSArIChNYXRoLnBvdyggKChpbWFnZS5jdXJyZW50WSAtIGltYWdlLm1heFkpICsgMSksIDAuOCApKTsKCQkJfQoKCQkJLy8gVmVsb2NpdHkKCQkJaWYgKCF2ZWxvY2l0eS5wcmV2UG9zaXRpb25YKSB7IHZlbG9jaXR5LnByZXZQb3NpdGlvblggPSBpbWFnZS50b3VjaGVzQ3VycmVudC54OyB9CgkJCWlmICghdmVsb2NpdHkucHJldlBvc2l0aW9uWSkgeyB2ZWxvY2l0eS5wcmV2UG9zaXRpb25ZID0gaW1hZ2UudG91Y2hlc0N1cnJlbnQueTsgfQoJCQlpZiAoIXZlbG9jaXR5LnByZXZUaW1lKSB7IHZlbG9jaXR5LnByZXZUaW1lID0gRGF0ZS5ub3coKTsgfQoJCQl2ZWxvY2l0eS54ID0gKGltYWdlLnRvdWNoZXNDdXJyZW50LnggLSB2ZWxvY2l0eS5wcmV2UG9zaXRpb25YKSAvIChEYXRlLm5vdygpIC0gdmVsb2NpdHkucHJldlRpbWUpIC8gMjsKCQkJdmVsb2NpdHkueSA9IChpbWFnZS50b3VjaGVzQ3VycmVudC55IC0gdmVsb2NpdHkucHJldlBvc2l0aW9uWSkgLyAoRGF0ZS5ub3coKSAtIHZlbG9jaXR5LnByZXZUaW1lKSAvIDI7CgkJCWlmIChNYXRoLmFicyhpbWFnZS50b3VjaGVzQ3VycmVudC54IC0gdmVsb2NpdHkucHJldlBvc2l0aW9uWCkgPCAyKSB7IHZlbG9jaXR5LnggPSAwOyB9CgkJCWlmIChNYXRoLmFicyhpbWFnZS50b3VjaGVzQ3VycmVudC55IC0gdmVsb2NpdHkucHJldlBvc2l0aW9uWSkgPCAyKSB7IHZlbG9jaXR5LnkgPSAwOyB9CgkJCXZlbG9jaXR5LnByZXZQb3NpdGlvblggPSBpbWFnZS50b3VjaGVzQ3VycmVudC54OwoJCQl2ZWxvY2l0eS5wcmV2UG9zaXRpb25ZID0gaW1hZ2UudG91Y2hlc0N1cnJlbnQueTsKCQkJdmVsb2NpdHkucHJldlRpbWUgPSBEYXRlLm5vdygpOwoKCQkJZ2VzdHVyZS4kaW1hZ2VXcmFwRWwudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIChpbWFnZS5jdXJyZW50WCkgKyAicHgsICIgKyAoaW1hZ2UuY3VycmVudFkpICsgInB4LDApIikpOwoJCX0sCgkJb25Ub3VjaEVuZDogZnVuY3Rpb24gb25Ub3VjaEVuZCgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciB6b29tID0gc3dpcGVyLnpvb207CgkJCXZhciBnZXN0dXJlID0gem9vbS5nZXN0dXJlOwoJCQl2YXIgaW1hZ2UgPSB6b29tLmltYWdlOwoJCQl2YXIgdmVsb2NpdHkgPSB6b29tLnZlbG9jaXR5OwoJCQlpZiAoIWdlc3R1cmUuJGltYWdlRWwgfHwgZ2VzdHVyZS4kaW1hZ2VFbC5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9CgkJCWlmICghaW1hZ2UuaXNUb3VjaGVkIHx8ICFpbWFnZS5pc01vdmVkKSB7CgkJCQlpbWFnZS5pc1RvdWNoZWQgPSBmYWxzZTsKCQkJCWltYWdlLmlzTW92ZWQgPSBmYWxzZTsKCQkJCXJldHVybjsKCQkJfQoJCQlpbWFnZS5pc1RvdWNoZWQgPSBmYWxzZTsKCQkJaW1hZ2UuaXNNb3ZlZCA9IGZhbHNlOwoJCQl2YXIgbW9tZW50dW1EdXJhdGlvblggPSAzMDA7CgkJCXZhciBtb21lbnR1bUR1cmF0aW9uWSA9IDMwMDsKCQkJdmFyIG1vbWVudHVtRGlzdGFuY2VYID0gdmVsb2NpdHkueCAqIG1vbWVudHVtRHVyYXRpb25YOwoJCQl2YXIgbmV3UG9zaXRpb25YID0gaW1hZ2UuY3VycmVudFggKyBtb21lbnR1bURpc3RhbmNlWDsKCQkJdmFyIG1vbWVudHVtRGlzdGFuY2VZID0gdmVsb2NpdHkueSAqIG1vbWVudHVtRHVyYXRpb25ZOwoJCQl2YXIgbmV3UG9zaXRpb25ZID0gaW1hZ2UuY3VycmVudFkgKyBtb21lbnR1bURpc3RhbmNlWTsKCgkJCS8vIEZpeCBkdXJhdGlvbgoJCQlpZiAodmVsb2NpdHkueCAhPT0gMCkgeyBtb21lbnR1bUR1cmF0aW9uWCA9IE1hdGguYWJzKChuZXdQb3NpdGlvblggLSBpbWFnZS5jdXJyZW50WCkgLyB2ZWxvY2l0eS54KTsgfQoJCQlpZiAodmVsb2NpdHkueSAhPT0gMCkgeyBtb21lbnR1bUR1cmF0aW9uWSA9IE1hdGguYWJzKChuZXdQb3NpdGlvblkgLSBpbWFnZS5jdXJyZW50WSkgLyB2ZWxvY2l0eS55KTsgfQoJCQl2YXIgbW9tZW50dW1EdXJhdGlvbiA9IE1hdGgubWF4KG1vbWVudHVtRHVyYXRpb25YLCBtb21lbnR1bUR1cmF0aW9uWSk7CgoJCQlpbWFnZS5jdXJyZW50WCA9IG5ld1Bvc2l0aW9uWDsKCQkJaW1hZ2UuY3VycmVudFkgPSBuZXdQb3NpdGlvblk7CgoJCQkvLyBEZWZpbmUgaWYgd2UgbmVlZCBpbWFnZSBkcmFnCgkJCXZhciBzY2FsZWRXaWR0aCA9IGltYWdlLndpZHRoICogem9vbS5zY2FsZTsKCQkJdmFyIHNjYWxlZEhlaWdodCA9IGltYWdlLmhlaWdodCAqIHpvb20uc2NhbGU7CgkJCWltYWdlLm1pblggPSBNYXRoLm1pbigoKGdlc3R1cmUuc2xpZGVXaWR0aCAvIDIpIC0gKHNjYWxlZFdpZHRoIC8gMikpLCAwKTsKCQkJaW1hZ2UubWF4WCA9IC1pbWFnZS5taW5YOwoJCQlpbWFnZS5taW5ZID0gTWF0aC5taW4oKChnZXN0dXJlLnNsaWRlSGVpZ2h0IC8gMikgLSAoc2NhbGVkSGVpZ2h0IC8gMikpLCAwKTsKCQkJaW1hZ2UubWF4WSA9IC1pbWFnZS5taW5ZOwoJCQlpbWFnZS5jdXJyZW50WCA9IE1hdGgubWF4KE1hdGgubWluKGltYWdlLmN1cnJlbnRYLCBpbWFnZS5tYXhYKSwgaW1hZ2UubWluWCk7CgkJCWltYWdlLmN1cnJlbnRZID0gTWF0aC5tYXgoTWF0aC5taW4oaW1hZ2UuY3VycmVudFksIGltYWdlLm1heFkpLCBpbWFnZS5taW5ZKTsKCgkJCWdlc3R1cmUuJGltYWdlV3JhcEVsLnRyYW5zaXRpb24obW9tZW50dW1EdXJhdGlvbikudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIChpbWFnZS5jdXJyZW50WCkgKyAicHgsICIgKyAoaW1hZ2UuY3VycmVudFkpICsgInB4LDApIikpOwoJCX0sCgkJb25UcmFuc2l0aW9uRW5kOiBmdW5jdGlvbiBvblRyYW5zaXRpb25FbmQoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgem9vbSA9IHN3aXBlci56b29tOwoJCQl2YXIgZ2VzdHVyZSA9IHpvb20uZ2VzdHVyZTsKCQkJaWYgKGdlc3R1cmUuJHNsaWRlRWwgJiYgc3dpcGVyLnByZXZpb3VzSW5kZXggIT09IHN3aXBlci5hY3RpdmVJbmRleCkgewoJCQkJZ2VzdHVyZS4kaW1hZ2VFbC50cmFuc2Zvcm0oJ3RyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKScpOwoJCQkJZ2VzdHVyZS4kaW1hZ2VXcmFwRWwudHJhbnNmb3JtKCd0cmFuc2xhdGUzZCgwLDAsMCknKTsKCQkJCWdlc3R1cmUuJHNsaWRlRWwgPSB1bmRlZmluZWQ7CgkJCQlnZXN0dXJlLiRpbWFnZUVsID0gdW5kZWZpbmVkOwoJCQkJZ2VzdHVyZS4kaW1hZ2VXcmFwRWwgPSB1bmRlZmluZWQ7CgoJCQkJem9vbS5zY2FsZSA9IDE7CgkJCQl6b29tLmN1cnJlbnRTY2FsZSA9IDE7CgkJCX0KCQl9LAoJCS8vIFRvZ2dsZSBab29tCgkJdG9nZ2xlOiBmdW5jdGlvbiB0b2dnbGUoZSkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHpvb20gPSBzd2lwZXIuem9vbTsKCgkJCWlmICh6b29tLnNjYWxlICYmIHpvb20uc2NhbGUgIT09IDEpIHsKCQkJCS8vIFpvb20gT3V0CgkJCQl6b29tLm91dCgpOwoJCQl9IGVsc2UgewoJCQkJLy8gWm9vbSBJbgoJCQkJem9vbS5pbihlKTsKCQkJfQoJCX0sCgkJaW46IGZ1bmN0aW9uIGluJDEoZSkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCgkJCXZhciB6b29tID0gc3dpcGVyLnpvb207CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLnpvb207CgkJCXZhciBnZXN0dXJlID0gem9vbS5nZXN0dXJlOwoJCQl2YXIgaW1hZ2UgPSB6b29tLmltYWdlOwoKCQkJaWYgKCFnZXN0dXJlLiRzbGlkZUVsKSB7CgkJCQlnZXN0dXJlLiRzbGlkZUVsID0gc3dpcGVyLmNsaWNrZWRTbGlkZSA/ICQoc3dpcGVyLmNsaWNrZWRTbGlkZSkgOiBzd2lwZXIuc2xpZGVzLmVxKHN3aXBlci5hY3RpdmVJbmRleCk7CgkJCQlnZXN0dXJlLiRpbWFnZUVsID0gZ2VzdHVyZS4kc2xpZGVFbC5maW5kKCdpbWcsIHN2ZywgY2FudmFzJyk7CgkJCQlnZXN0dXJlLiRpbWFnZVdyYXBFbCA9IGdlc3R1cmUuJGltYWdlRWwucGFyZW50KCgiLiIgKyAocGFyYW1zLmNvbnRhaW5lckNsYXNzKSkpOwoJCQl9CgkJCWlmICghZ2VzdHVyZS4kaW1hZ2VFbCB8fCBnZXN0dXJlLiRpbWFnZUVsLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH0KCgkJCWdlc3R1cmUuJHNsaWRlRWwuYWRkQ2xhc3MoKCIiICsgKHBhcmFtcy56b29tZWRTbGlkZUNsYXNzKSkpOwoKCQkJdmFyIHRvdWNoWDsKCQkJdmFyIHRvdWNoWTsKCQkJdmFyIG9mZnNldFg7CgkJCXZhciBvZmZzZXRZOwoJCQl2YXIgZGlmZlg7CgkJCXZhciBkaWZmWTsKCQkJdmFyIHRyYW5zbGF0ZVg7CgkJCXZhciB0cmFuc2xhdGVZOwoJCQl2YXIgaW1hZ2VXaWR0aDsKCQkJdmFyIGltYWdlSGVpZ2h0OwoJCQl2YXIgc2NhbGVkV2lkdGg7CgkJCXZhciBzY2FsZWRIZWlnaHQ7CgkJCXZhciB0cmFuc2xhdGVNaW5YOwoJCQl2YXIgdHJhbnNsYXRlTWluWTsKCQkJdmFyIHRyYW5zbGF0ZU1heFg7CgkJCXZhciB0cmFuc2xhdGVNYXhZOwoJCQl2YXIgc2xpZGVXaWR0aDsKCQkJdmFyIHNsaWRlSGVpZ2h0OwoKCQkJaWYgKHR5cGVvZiBpbWFnZS50b3VjaGVzU3RhcnQueCA9PT0gJ3VuZGVmaW5lZCcgJiYgZSkgewoJCQkJdG91Y2hYID0gZS50eXBlID09PSAndG91Y2hlbmQnID8gZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCA6IGUucGFnZVg7CgkJCQl0b3VjaFkgPSBlLnR5cGUgPT09ICd0b3VjaGVuZCcgPyBlLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZIDogZS5wYWdlWTsKCQkJfSBlbHNlIHsKCQkJCXRvdWNoWCA9IGltYWdlLnRvdWNoZXNTdGFydC54OwoJCQkJdG91Y2hZID0gaW1hZ2UudG91Y2hlc1N0YXJ0Lnk7CgkJCX0KCgkJCXpvb20uc2NhbGUgPSBnZXN0dXJlLiRpbWFnZVdyYXBFbC5hdHRyKCdkYXRhLXN3aXBlci16b29tJykgfHwgcGFyYW1zLm1heFJhdGlvOwoJCQl6b29tLmN1cnJlbnRTY2FsZSA9IGdlc3R1cmUuJGltYWdlV3JhcEVsLmF0dHIoJ2RhdGEtc3dpcGVyLXpvb20nKSB8fCBwYXJhbXMubWF4UmF0aW87CgkJCWlmIChlKSB7CgkJCQlzbGlkZVdpZHRoID0gZ2VzdHVyZS4kc2xpZGVFbFswXS5vZmZzZXRXaWR0aDsKCQkJCXNsaWRlSGVpZ2h0ID0gZ2VzdHVyZS4kc2xpZGVFbFswXS5vZmZzZXRIZWlnaHQ7CgkJCQlvZmZzZXRYID0gZ2VzdHVyZS4kc2xpZGVFbC5vZmZzZXQoKS5sZWZ0OwoJCQkJb2Zmc2V0WSA9IGdlc3R1cmUuJHNsaWRlRWwub2Zmc2V0KCkudG9wOwoJCQkJZGlmZlggPSAob2Zmc2V0WCArIChzbGlkZVdpZHRoIC8gMikpIC0gdG91Y2hYOwoJCQkJZGlmZlkgPSAob2Zmc2V0WSArIChzbGlkZUhlaWdodCAvIDIpKSAtIHRvdWNoWTsKCgkJCQlpbWFnZVdpZHRoID0gZ2VzdHVyZS4kaW1hZ2VFbFswXS5vZmZzZXRXaWR0aDsKCQkJCWltYWdlSGVpZ2h0ID0gZ2VzdHVyZS4kaW1hZ2VFbFswXS5vZmZzZXRIZWlnaHQ7CgkJCQlzY2FsZWRXaWR0aCA9IGltYWdlV2lkdGggKiB6b29tLnNjYWxlOwoJCQkJc2NhbGVkSGVpZ2h0ID0gaW1hZ2VIZWlnaHQgKiB6b29tLnNjYWxlOwoKCQkJCXRyYW5zbGF0ZU1pblggPSBNYXRoLm1pbigoKHNsaWRlV2lkdGggLyAyKSAtIChzY2FsZWRXaWR0aCAvIDIpKSwgMCk7CgkJCQl0cmFuc2xhdGVNaW5ZID0gTWF0aC5taW4oKChzbGlkZUhlaWdodCAvIDIpIC0gKHNjYWxlZEhlaWdodCAvIDIpKSwgMCk7CgkJCQl0cmFuc2xhdGVNYXhYID0gLXRyYW5zbGF0ZU1pblg7CgkJCQl0cmFuc2xhdGVNYXhZID0gLXRyYW5zbGF0ZU1pblk7CgoJCQkJdHJhbnNsYXRlWCA9IGRpZmZYICogem9vbS5zY2FsZTsKCQkJCXRyYW5zbGF0ZVkgPSBkaWZmWSAqIHpvb20uc2NhbGU7CgoJCQkJaWYgKHRyYW5zbGF0ZVggPCB0cmFuc2xhdGVNaW5YKSB7CgkJCQkJdHJhbnNsYXRlWCA9IHRyYW5zbGF0ZU1pblg7CgkJCQl9CgkJCQlpZiAodHJhbnNsYXRlWCA+IHRyYW5zbGF0ZU1heFgpIHsKCQkJCQl0cmFuc2xhdGVYID0gdHJhbnNsYXRlTWF4WDsKCQkJCX0KCgkJCQlpZiAodHJhbnNsYXRlWSA8IHRyYW5zbGF0ZU1pblkpIHsKCQkJCQl0cmFuc2xhdGVZID0gdHJhbnNsYXRlTWluWTsKCQkJCX0KCQkJCWlmICh0cmFuc2xhdGVZID4gdHJhbnNsYXRlTWF4WSkgewoJCQkJCXRyYW5zbGF0ZVkgPSB0cmFuc2xhdGVNYXhZOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJdHJhbnNsYXRlWCA9IDA7CgkJCQl0cmFuc2xhdGVZID0gMDsKCQkJfQoJCQlnZXN0dXJlLiRpbWFnZVdyYXBFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIHRyYW5zbGF0ZVggKyAicHgsICIgKyB0cmFuc2xhdGVZICsgInB4LDApIikpOwoJCQlnZXN0dXJlLiRpbWFnZUVsLnRyYW5zaXRpb24oMzAwKS50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIiArICh6b29tLnNjYWxlKSArICIpIikpOwoJCX0sCgkJb3V0OiBmdW5jdGlvbiBvdXQoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoKCQkJdmFyIHpvb20gPSBzd2lwZXIuem9vbTsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMuem9vbTsKCQkJdmFyIGdlc3R1cmUgPSB6b29tLmdlc3R1cmU7CgoJCQlpZiAoIWdlc3R1cmUuJHNsaWRlRWwpIHsKCQkJCWdlc3R1cmUuJHNsaWRlRWwgPSBzd2lwZXIuY2xpY2tlZFNsaWRlID8gJChzd2lwZXIuY2xpY2tlZFNsaWRlKSA6IHN3aXBlci5zbGlkZXMuZXEoc3dpcGVyLmFjdGl2ZUluZGV4KTsKCQkJCWdlc3R1cmUuJGltYWdlRWwgPSBnZXN0dXJlLiRzbGlkZUVsLmZpbmQoJ2ltZywgc3ZnLCBjYW52YXMnKTsKCQkJCWdlc3R1cmUuJGltYWdlV3JhcEVsID0gZ2VzdHVyZS4kaW1hZ2VFbC5wYXJlbnQoKCIuIiArIChwYXJhbXMuY29udGFpbmVyQ2xhc3MpKSk7CgkJCX0KCQkJaWYgKCFnZXN0dXJlLiRpbWFnZUVsIHx8IGdlc3R1cmUuJGltYWdlRWwubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoKCQkJem9vbS5zY2FsZSA9IDE7CgkJCXpvb20uY3VycmVudFNjYWxlID0gMTsKCQkJZ2VzdHVyZS4kaW1hZ2VXcmFwRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybSgndHJhbnNsYXRlM2QoMCwwLDApJyk7CgkJCWdlc3R1cmUuJGltYWdlRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybSgndHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpJyk7CgkJCWdlc3R1cmUuJHNsaWRlRWwucmVtb3ZlQ2xhc3MoKCIiICsgKHBhcmFtcy56b29tZWRTbGlkZUNsYXNzKSkpOwoJCQlnZXN0dXJlLiRzbGlkZUVsID0gdW5kZWZpbmVkOwoJCX0sCgkJLy8gQXR0YWNoL0RldGFjaCBFdmVudHMKCQllbmFibGU6IGZ1bmN0aW9uIGVuYWJsZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciB6b29tID0gc3dpcGVyLnpvb207CgkJCWlmICh6b29tLmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCXpvb20uZW5hYmxlZCA9IHRydWU7CgoJCQl2YXIgcGFzc2l2ZUxpc3RlbmVyID0gc3dpcGVyLnRvdWNoRXZlbnRzLnN0YXJ0ID09PSAndG91Y2hzdGFydCcgJiYgU3VwcG9ydC5wYXNzaXZlTGlzdGVuZXIgJiYgc3dpcGVyLnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzID8geyBwYXNzaXZlOiB0cnVlLCBjYXB0dXJlOiBmYWxzZSB9IDogZmFsc2U7CgoJCQkvLyBTY2FsZSBpbWFnZQoJCQlpZiAoU3VwcG9ydC5nZXN0dXJlcykgewoJCQkJc3dpcGVyLiR3cmFwcGVyRWwub24oJ2dlc3R1cmVzdGFydCcsICcuc3dpcGVyLXNsaWRlJywgem9vbS5vbkdlc3R1cmVTdGFydCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9uKCdnZXN0dXJlY2hhbmdlJywgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZUNoYW5nZSwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9uKCdnZXN0dXJlZW5kJywgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZUVuZCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJfSBlbHNlIGlmIChzd2lwZXIudG91Y2hFdmVudHMuc3RhcnQgPT09ICd0b3VjaHN0YXJ0JykgewoJCQkJc3dpcGVyLiR3cmFwcGVyRWwub24oc3dpcGVyLnRvdWNoRXZlbnRzLnN0YXJ0LCAnLnN3aXBlci1zbGlkZScsIHpvb20ub25HZXN0dXJlU3RhcnQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCQlzd2lwZXIuJHdyYXBwZXJFbC5vbihzd2lwZXIudG91Y2hFdmVudHMubW92ZSwgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZUNoYW5nZSwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9uKHN3aXBlci50b3VjaEV2ZW50cy5lbmQsICcuc3dpcGVyLXNsaWRlJywgem9vbS5vbkdlc3R1cmVFbmQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCX0KCgkJCS8vIE1vdmUgaW1hZ2UKCQkJc3dpcGVyLiR3cmFwcGVyRWwub24oc3dpcGVyLnRvdWNoRXZlbnRzLm1vdmUsICgiLiIgKyAoc3dpcGVyLnBhcmFtcy56b29tLmNvbnRhaW5lckNsYXNzKSksIHpvb20ub25Ub3VjaE1vdmUpOwoJCX0sCgkJZGlzYWJsZTogZnVuY3Rpb24gZGlzYWJsZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciB6b29tID0gc3dpcGVyLnpvb207CgkJCWlmICghem9vbS5lbmFibGVkKSB7IHJldHVybjsgfQoKCQkJc3dpcGVyLnpvb20uZW5hYmxlZCA9IGZhbHNlOwoKCQkJdmFyIHBhc3NpdmVMaXN0ZW5lciA9IHN3aXBlci50b3VjaEV2ZW50cy5zdGFydCA9PT0gJ3RvdWNoc3RhcnQnICYmIFN1cHBvcnQucGFzc2l2ZUxpc3RlbmVyICYmIHN3aXBlci5wYXJhbXMucGFzc2l2ZUxpc3RlbmVycyA/IHsgcGFzc2l2ZTogdHJ1ZSwgY2FwdHVyZTogZmFsc2UgfSA6IGZhbHNlOwoKCQkJLy8gU2NhbGUgaW1hZ2UKCQkJaWYgKFN1cHBvcnQuZ2VzdHVyZXMpIHsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9mZignZ2VzdHVyZXN0YXJ0JywgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZVN0YXJ0LCBwYXNzaXZlTGlzdGVuZXIpOwoJCQkJc3dpcGVyLiR3cmFwcGVyRWwub2ZmKCdnZXN0dXJlY2hhbmdlJywgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZUNoYW5nZSwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9mZignZ2VzdHVyZWVuZCcsICcuc3dpcGVyLXNsaWRlJywgem9vbS5vbkdlc3R1cmVFbmQsIHBhc3NpdmVMaXN0ZW5lcik7CgkJCX0gZWxzZSBpZiAoc3dpcGVyLnRvdWNoRXZlbnRzLnN0YXJ0ID09PSAndG91Y2hzdGFydCcpIHsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9mZihzd2lwZXIudG91Y2hFdmVudHMuc3RhcnQsICcuc3dpcGVyLXNsaWRlJywgem9vbS5vbkdlc3R1cmVTdGFydCwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9mZihzd2lwZXIudG91Y2hFdmVudHMubW92ZSwgJy5zd2lwZXItc2xpZGUnLCB6b29tLm9uR2VzdHVyZUNoYW5nZSwgcGFzc2l2ZUxpc3RlbmVyKTsKCQkJCXN3aXBlci4kd3JhcHBlckVsLm9mZihzd2lwZXIudG91Y2hFdmVudHMuZW5kLCAnLnN3aXBlci1zbGlkZScsIHpvb20ub25HZXN0dXJlRW5kLCBwYXNzaXZlTGlzdGVuZXIpOwoJCQl9CgoJCQkvLyBNb3ZlIGltYWdlCgkJCXN3aXBlci4kd3JhcHBlckVsLm9mZihzd2lwZXIudG91Y2hFdmVudHMubW92ZSwgKCIuIiArIChzd2lwZXIucGFyYW1zLnpvb20uY29udGFpbmVyQ2xhc3MpKSwgem9vbS5vblRvdWNoTW92ZSk7CgkJfSwKCX07CgoJdmFyIFpvb20kMSA9IHsKCQluYW1lOiAnem9vbScsCgkJcGFyYW1zOiB7CgkJCXpvb206IHsKCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJbWF4UmF0aW86IDMsCgkJCQltaW5SYXRpbzogMSwKCQkJCXRvZ2dsZTogdHJ1ZSwKCQkJCWNvbnRhaW5lckNsYXNzOiAnc3dpcGVyLXpvb20tY29udGFpbmVyJywKCQkJCXpvb21lZFNsaWRlQ2xhc3M6ICdzd2lwZXItc2xpZGUtem9vbWVkJywKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHpvb20gPSB7CgkJCQllbmFibGVkOiBmYWxzZSwKCQkJCXNjYWxlOiAxLAoJCQkJY3VycmVudFNjYWxlOiAxLAoJCQkJaXNTY2FsaW5nOiBmYWxzZSwKCQkJCWdlc3R1cmU6IHsKCQkJCQkkc2xpZGVFbDogdW5kZWZpbmVkLAoJCQkJCXNsaWRlV2lkdGg6IHVuZGVmaW5lZCwKCQkJCQlzbGlkZUhlaWdodDogdW5kZWZpbmVkLAoJCQkJCSRpbWFnZUVsOiB1bmRlZmluZWQsCgkJCQkJJGltYWdlV3JhcEVsOiB1bmRlZmluZWQsCgkJCQkJbWF4UmF0aW86IDMsCgkJCQl9LAoJCQkJaW1hZ2U6IHsKCQkJCQlpc1RvdWNoZWQ6IHVuZGVmaW5lZCwKCQkJCQlpc01vdmVkOiB1bmRlZmluZWQsCgkJCQkJY3VycmVudFg6IHVuZGVmaW5lZCwKCQkJCQljdXJyZW50WTogdW5kZWZpbmVkLAoJCQkJCW1pblg6IHVuZGVmaW5lZCwKCQkJCQltaW5ZOiB1bmRlZmluZWQsCgkJCQkJbWF4WDogdW5kZWZpbmVkLAoJCQkJCW1heFk6IHVuZGVmaW5lZCwKCQkJCQl3aWR0aDogdW5kZWZpbmVkLAoJCQkJCWhlaWdodDogdW5kZWZpbmVkLAoJCQkJCXN0YXJ0WDogdW5kZWZpbmVkLAoJCQkJCXN0YXJ0WTogdW5kZWZpbmVkLAoJCQkJCXRvdWNoZXNTdGFydDoge30sCgkJCQkJdG91Y2hlc0N1cnJlbnQ6IHt9LAoJCQkJfSwKCQkJCXZlbG9jaXR5OiB7CgkJCQkJeDogdW5kZWZpbmVkLAoJCQkJCXk6IHVuZGVmaW5lZCwKCQkJCQlwcmV2UG9zaXRpb25YOiB1bmRlZmluZWQsCgkJCQkJcHJldlBvc2l0aW9uWTogdW5kZWZpbmVkLAoJCQkJCXByZXZUaW1lOiB1bmRlZmluZWQsCgkJCQl9LAoJCQl9OwoJCQkoJ29uR2VzdHVyZVN0YXJ0IG9uR2VzdHVyZUNoYW5nZSBvbkdlc3R1cmVFbmQgb25Ub3VjaFN0YXJ0IG9uVG91Y2hNb3ZlIG9uVG91Y2hFbmQgb25UcmFuc2l0aW9uRW5kIHRvZ2dsZSBlbmFibGUgZGlzYWJsZSBpbiBvdXQnKS5zcGxpdCgnICcpLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZE5hbWUpIHsKCQkJCXpvb21bbWV0aG9kTmFtZV0gPSBab29tW21ldGhvZE5hbWVdLmJpbmQoc3dpcGVyKTsKCQkJfSk7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCXpvb206IHpvb20sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuem9vbS5lbmFibGVkKSB7CgkJCQkJc3dpcGVyLnpvb20uZW5hYmxlKCk7CgkJCQl9CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCXN3aXBlci56b29tLmRpc2FibGUoKTsKCQkJfSwKCQkJdG91Y2hTdGFydDogZnVuY3Rpb24gdG91Y2hTdGFydChlKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnpvb20uZW5hYmxlZCkgeyByZXR1cm47IH0KCQkJCXN3aXBlci56b29tLm9uVG91Y2hTdGFydChlKTsKCQkJfSwKCQkJdG91Y2hFbmQ6IGZ1bmN0aW9uIHRvdWNoRW5kKGUpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIuem9vbS5lbmFibGVkKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLnpvb20ub25Ub3VjaEVuZChlKTsKCQkJfSwKCQkJZG91YmxlVGFwOiBmdW5jdGlvbiBkb3VibGVUYXAoZSkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy56b29tLmVuYWJsZWQgJiYgc3dpcGVyLnpvb20uZW5hYmxlZCAmJiBzd2lwZXIucGFyYW1zLnpvb20udG9nZ2xlKSB7CgkJCQkJc3dpcGVyLnpvb20udG9nZ2xlKGUpOwoJCQkJfQoJCQl9LAoJCQl0cmFuc2l0aW9uRW5kOiBmdW5jdGlvbiB0cmFuc2l0aW9uRW5kKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnpvb20uZW5hYmxlZCAmJiBzd2lwZXIucGFyYW1zLnpvb20uZW5hYmxlZCkgewoJCQkJCXN3aXBlci56b29tLm9uVHJhbnNpdGlvbkVuZCgpOwoJCQkJfQoJCQl9LAoJCX0sCgl9OwoKCXZhciBMYXp5ID0gewoJCWxvYWRJblNsaWRlOiBmdW5jdGlvbiBsb2FkSW5TbGlkZShpbmRleCwgbG9hZEluRHVwbGljYXRlKSB7CgkJCWlmICggbG9hZEluRHVwbGljYXRlID09PSB2b2lkIDAgKSBsb2FkSW5EdXBsaWNhdGUgPSB0cnVlOwoKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLmxhenk7CgkJCWlmICh0eXBlb2YgaW5kZXggPT09ICd1bmRlZmluZWQnKSB7IHJldHVybjsgfQoJCQlpZiAoc3dpcGVyLnNsaWRlcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9CgkJCXZhciBpc1ZpcnR1YWwgPSBzd2lwZXIudmlydHVhbCAmJiBzd2lwZXIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDsKCgkJCXZhciAkc2xpZGVFbCA9IGlzVmlydHVhbAoJCQkJPyBzd2lwZXIuJHdyYXBwZXJFbC5jaGlsZHJlbigoIi4iICsgKHN3aXBlci5wYXJhbXMuc2xpZGVDbGFzcykgKyAiW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiIiArIGluZGV4ICsgIlwiXSIpKQoJCQkJOiBzd2lwZXIuc2xpZGVzLmVxKGluZGV4KTsKCgkJCXZhciAkaW1hZ2VzID0gJHNsaWRlRWwuZmluZCgoIi4iICsgKHBhcmFtcy5lbGVtZW50Q2xhc3MpICsgIjpub3QoLiIgKyAocGFyYW1zLmxvYWRlZENsYXNzKSArICIpOm5vdCguIiArIChwYXJhbXMubG9hZGluZ0NsYXNzKSArICIpIikpOwoJCQlpZiAoJHNsaWRlRWwuaGFzQ2xhc3MocGFyYW1zLmVsZW1lbnRDbGFzcykgJiYgISRzbGlkZUVsLmhhc0NsYXNzKHBhcmFtcy5sb2FkZWRDbGFzcykgJiYgISRzbGlkZUVsLmhhc0NsYXNzKHBhcmFtcy5sb2FkaW5nQ2xhc3MpKSB7CgkJCQkkaW1hZ2VzID0gJGltYWdlcy5hZGQoJHNsaWRlRWxbMF0pOwoJCQl9CgkJCWlmICgkaW1hZ2VzLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH0KCgkJCSRpbWFnZXMuZWFjaChmdW5jdGlvbiAoaW1hZ2VJbmRleCwgaW1hZ2VFbCkgewoJCQkJdmFyICRpbWFnZUVsID0gJChpbWFnZUVsKTsKCQkJCSRpbWFnZUVsLmFkZENsYXNzKHBhcmFtcy5sb2FkaW5nQ2xhc3MpOwoKCQkJCXZhciBiYWNrZ3JvdW5kID0gJGltYWdlRWwuYXR0cignZGF0YS1iYWNrZ3JvdW5kJyk7CgkJCQl2YXIgc3JjID0gJGltYWdlRWwuYXR0cignZGF0YS1zcmMnKTsKCQkJCXZhciBzcmNzZXQgPSAkaW1hZ2VFbC5hdHRyKCdkYXRhLXNyY3NldCcpOwoJCQkJdmFyIHNpemVzID0gJGltYWdlRWwuYXR0cignZGF0YS1zaXplcycpOwoKCQkJCXN3aXBlci5sb2FkSW1hZ2UoJGltYWdlRWxbMF0sIChzcmMgfHwgYmFja2dyb3VuZCksIHNyY3NldCwgc2l6ZXMsIGZhbHNlLCBmdW5jdGlvbiAoKSB7CgkJCQkJaWYgKHR5cGVvZiBzd2lwZXIgPT09ICd1bmRlZmluZWQnIHx8IHN3aXBlciA9PT0gbnVsbCB8fCAhc3dpcGVyIHx8IChzd2lwZXIgJiYgIXN3aXBlci5wYXJhbXMpIHx8IHN3aXBlci5kZXN0cm95ZWQpIHsgcmV0dXJuOyB9CgkJCQkJaWYgKGJhY2tncm91bmQpIHsKCQkJCQkJJGltYWdlRWwuY3NzKCdiYWNrZ3JvdW5kLWltYWdlJywgKCJ1cmwoXCIiICsgYmFja2dyb3VuZCArICJcIikiKSk7CgkJCQkJCSRpbWFnZUVsLnJlbW92ZUF0dHIoJ2RhdGEtYmFja2dyb3VuZCcpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWlmIChzcmNzZXQpIHsKCQkJCQkJCSRpbWFnZUVsLmF0dHIoJ3NyY3NldCcsIHNyY3NldCk7CgkJCQkJCQkkaW1hZ2VFbC5yZW1vdmVBdHRyKCdkYXRhLXNyY3NldCcpOwoJCQkJCQl9CgkJCQkJCWlmIChzaXplcykgewoJCQkJCQkJJGltYWdlRWwuYXR0cignc2l6ZXMnLCBzaXplcyk7CgkJCQkJCQkkaW1hZ2VFbC5yZW1vdmVBdHRyKCdkYXRhLXNpemVzJyk7CgkJCQkJCX0KCQkJCQkJaWYgKHNyYykgewoJCQkJCQkJJGltYWdlRWwuYXR0cignc3JjJywgc3JjKTsKCQkJCQkJCSRpbWFnZUVsLnJlbW92ZUF0dHIoJ2RhdGEtc3JjJyk7CgkJCQkJCX0KCQkJCQl9CgoJCQkJCSRpbWFnZUVsLmFkZENsYXNzKHBhcmFtcy5sb2FkZWRDbGFzcykucmVtb3ZlQ2xhc3MocGFyYW1zLmxvYWRpbmdDbGFzcyk7CgkJCQkJJHNsaWRlRWwuZmluZCgoIi4iICsgKHBhcmFtcy5wcmVsb2FkZXJDbGFzcykpKS5yZW1vdmUoKTsKCQkJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wICYmIGxvYWRJbkR1cGxpY2F0ZSkgewoJCQkJCQl2YXIgc2xpZGVPcmlnaW5hbEluZGV4ID0gJHNsaWRlRWwuYXR0cignZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgnKTsKCQkJCQkJaWYgKCRzbGlkZUVsLmhhc0NsYXNzKHN3aXBlci5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykpIHsKCQkJCQkJCXZhciBvcmlnaW5hbFNsaWRlID0gc3dpcGVyLiR3cmFwcGVyRWwuY2hpbGRyZW4oKCJbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9XCIiICsgc2xpZGVPcmlnaW5hbEluZGV4ICsgIlwiXTpub3QoLiIgKyAoc3dpcGVyLnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSArICIpIikpOwoJCQkJCQkJc3dpcGVyLmxhenkubG9hZEluU2xpZGUob3JpZ2luYWxTbGlkZS5pbmRleCgpLCBmYWxzZSk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQl2YXIgZHVwbGljYXRlZFNsaWRlID0gc3dpcGVyLiR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXIucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpICsgIltkYXRhLXN3aXBlci1zbGlkZS1pbmRleD1cIiIgKyBzbGlkZU9yaWdpbmFsSW5kZXggKyAiXCJdIikpOwoJCQkJCQkJc3dpcGVyLmxhenkubG9hZEluU2xpZGUoZHVwbGljYXRlZFNsaWRlLmluZGV4KCksIGZhbHNlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlzd2lwZXIuZW1pdCgnbGF6eUltYWdlUmVhZHknLCAkc2xpZGVFbFswXSwgJGltYWdlRWxbMF0pOwoJCQkJfSk7CgoJCQkJc3dpcGVyLmVtaXQoJ2xhenlJbWFnZUxvYWQnLCAkc2xpZGVFbFswXSwgJGltYWdlRWxbMF0pOwoJCQl9KTsKCQl9LAoJCWxvYWQ6IGZ1bmN0aW9uIGxvYWQoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCQl2YXIgc3dpcGVyUGFyYW1zID0gc3dpcGVyLnBhcmFtczsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQkJdmFyIGlzVmlydHVhbCA9IHN3aXBlci52aXJ0dWFsICYmIHN3aXBlclBhcmFtcy52aXJ0dWFsLmVuYWJsZWQ7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXJQYXJhbXMubGF6eTsKCgkJCXZhciBzbGlkZXNQZXJWaWV3ID0gc3dpcGVyUGFyYW1zLnNsaWRlc1BlclZpZXc7CgkJCWlmIChzbGlkZXNQZXJWaWV3ID09PSAnYXV0bycpIHsKCQkJCXNsaWRlc1BlclZpZXcgPSAwOwoJCQl9CgoJCQlmdW5jdGlvbiBzbGlkZUV4aXN0KGluZGV4KSB7CgkJCQlpZiAoaXNWaXJ0dWFsKSB7CgkJCQkJaWYgKCR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXJQYXJhbXMuc2xpZGVDbGFzcykgKyAiW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PVwiIiArIGluZGV4ICsgIlwiXSIpKS5sZW5ndGgpIHsKCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfQoJCQkJfSBlbHNlIGlmIChzbGlkZXNbaW5kZXhdKSB7IHJldHVybiB0cnVlOyB9CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJZnVuY3Rpb24gc2xpZGVJbmRleChzbGlkZUVsKSB7CgkJCQlpZiAoaXNWaXJ0dWFsKSB7CgkJCQkJcmV0dXJuICQoc2xpZGVFbCkuYXR0cignZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgnKTsKCQkJCX0KCQkJCXJldHVybiAkKHNsaWRlRWwpLmluZGV4KCk7CgkJCX0KCgkJCWlmICghc3dpcGVyLmxhenkuaW5pdGlhbEltYWdlTG9hZGVkKSB7IHN3aXBlci5sYXp5LmluaXRpYWxJbWFnZUxvYWRlZCA9IHRydWU7IH0KCQkJaWYgKHN3aXBlci5wYXJhbXMud2F0Y2hTbGlkZXNWaXNpYmlsaXR5KSB7CgkJCQkkd3JhcHBlckVsLmNoaWxkcmVuKCgiLiIgKyAoc3dpcGVyUGFyYW1zLnNsaWRlVmlzaWJsZUNsYXNzKSkpLmVhY2goZnVuY3Rpb24gKGVsSW5kZXgsIHNsaWRlRWwpIHsKCQkJCQl2YXIgaW5kZXggPSBpc1ZpcnR1YWwgPyAkKHNsaWRlRWwpLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JykgOiAkKHNsaWRlRWwpLmluZGV4KCk7CgkJCQkJc3dpcGVyLmxhenkubG9hZEluU2xpZGUoaW5kZXgpOwoJCQkJfSk7CgkJCX0gZWxzZSBpZiAoc2xpZGVzUGVyVmlldyA+IDEpIHsKCQkJCWZvciAodmFyIGkgPSBhY3RpdmVJbmRleDsgaSA8IGFjdGl2ZUluZGV4ICsgc2xpZGVzUGVyVmlldzsgaSArPSAxKSB7CgkJCQkJaWYgKHNsaWRlRXhpc3QoaSkpIHsgc3dpcGVyLmxhenkubG9hZEluU2xpZGUoaSk7IH0KCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXN3aXBlci5sYXp5LmxvYWRJblNsaWRlKGFjdGl2ZUluZGV4KTsKCQkJfQoJCQlpZiAocGFyYW1zLmxvYWRQcmV2TmV4dCkgewoJCQkJaWYgKHNsaWRlc1BlclZpZXcgPiAxIHx8IChwYXJhbXMubG9hZFByZXZOZXh0QW1vdW50ICYmIHBhcmFtcy5sb2FkUHJldk5leHRBbW91bnQgPiAxKSkgewoJCQkJCXZhciBhbW91bnQgPSBwYXJhbXMubG9hZFByZXZOZXh0QW1vdW50OwoJCQkJCXZhciBzcHYgPSBzbGlkZXNQZXJWaWV3OwoJCQkJCXZhciBtYXhJbmRleCA9IE1hdGgubWluKGFjdGl2ZUluZGV4ICsgc3B2ICsgTWF0aC5tYXgoYW1vdW50LCBzcHYpLCBzbGlkZXMubGVuZ3RoKTsKCQkJCQl2YXIgbWluSW5kZXggPSBNYXRoLm1heChhY3RpdmVJbmRleCAtIE1hdGgubWF4KHNwdiwgYW1vdW50KSwgMCk7CgkJCQkJLy8gTmV4dCBTbGlkZXMKCQkJCQlmb3IgKHZhciBpJDEgPSBhY3RpdmVJbmRleCArIHNsaWRlc1BlclZpZXc7IGkkMSA8IG1heEluZGV4OyBpJDEgKz0gMSkgewoJCQkJCQlpZiAoc2xpZGVFeGlzdChpJDEpKSB7IHN3aXBlci5sYXp5LmxvYWRJblNsaWRlKGkkMSk7IH0KCQkJCQl9CgkJCQkJLy8gUHJldiBTbGlkZXMKCQkJCQlmb3IgKHZhciBpJDIgPSBtaW5JbmRleDsgaSQyIDwgYWN0aXZlSW5kZXg7IGkkMiArPSAxKSB7CgkJCQkJCWlmIChzbGlkZUV4aXN0KGkkMikpIHsgc3dpcGVyLmxhenkubG9hZEluU2xpZGUoaSQyKTsgfQoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJdmFyIG5leHRTbGlkZSA9ICR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXJQYXJhbXMuc2xpZGVOZXh0Q2xhc3MpKSk7CgkJCQkJaWYgKG5leHRTbGlkZS5sZW5ndGggPiAwKSB7IHN3aXBlci5sYXp5LmxvYWRJblNsaWRlKHNsaWRlSW5kZXgobmV4dFNsaWRlKSk7IH0KCgkJCQkJdmFyIHByZXZTbGlkZSA9ICR3cmFwcGVyRWwuY2hpbGRyZW4oKCIuIiArIChzd2lwZXJQYXJhbXMuc2xpZGVQcmV2Q2xhc3MpKSk7CgkJCQkJaWYgKHByZXZTbGlkZS5sZW5ndGggPiAwKSB7IHN3aXBlci5sYXp5LmxvYWRJblNsaWRlKHNsaWRlSW5kZXgocHJldlNsaWRlKSk7IH0KCQkJCX0KCQkJfQoJCX0sCgl9OwoKCXZhciBMYXp5JDEgPSB7CgkJbmFtZTogJ2xhenknLAoJCXBhcmFtczogewoJCQlsYXp5OiB7CgkJCQllbmFibGVkOiBmYWxzZSwKCQkJCWxvYWRQcmV2TmV4dDogZmFsc2UsCgkJCQlsb2FkUHJldk5leHRBbW91bnQ6IDEsCgkJCQlsb2FkT25UcmFuc2l0aW9uU3RhcnQ6IGZhbHNlLAoKCQkJCWVsZW1lbnRDbGFzczogJ3N3aXBlci1sYXp5JywKCQkJCWxvYWRpbmdDbGFzczogJ3N3aXBlci1sYXp5LWxvYWRpbmcnLAoJCQkJbG9hZGVkQ2xhc3M6ICdzd2lwZXItbGF6eS1sb2FkZWQnLAoJCQkJcHJlbG9hZGVyQ2xhc3M6ICdzd2lwZXItbGF6eS1wcmVsb2FkZXInLAoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQlsYXp5OiB7CgkJCQkJaW5pdGlhbEltYWdlTG9hZGVkOiBmYWxzZSwKCQkJCQlsb2FkOiBMYXp5LmxvYWQuYmluZChzd2lwZXIpLAoJCQkJCWxvYWRJblNsaWRlOiBMYXp5LmxvYWRJblNsaWRlLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJYmVmb3JlSW5pdDogZnVuY3Rpb24gYmVmb3JlSW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMubGF6eS5lbmFibGVkICYmIHN3aXBlci5wYXJhbXMucHJlbG9hZEltYWdlcykgewoJCQkJCXN3aXBlci5wYXJhbXMucHJlbG9hZEltYWdlcyA9IGZhbHNlOwoJCQkJfQoJCQl9LAoJCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5sYXp5LmVuYWJsZWQgJiYgIXN3aXBlci5wYXJhbXMubG9vcCAmJiBzd2lwZXIucGFyYW1zLmluaXRpYWxTbGlkZSA9PT0gMCkgewoJCQkJCXN3aXBlci5sYXp5LmxvYWQoKTsKCQkJCX0KCQkJfSwKCQkJc2Nyb2xsOiBmdW5jdGlvbiBzY3JvbGwoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmZyZWVNb2RlICYmICFzd2lwZXIucGFyYW1zLmZyZWVNb2RlU3RpY2t5KSB7CgkJCQkJc3dpcGVyLmxhenkubG9hZCgpOwoJCQkJfQoJCQl9LAoJCQlyZXNpemU6IGZ1bmN0aW9uIHJlc2l6ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMubGF6eS5lbmFibGVkKSB7CgkJCQkJc3dpcGVyLmxhenkubG9hZCgpOwoJCQkJfQoJCQl9LAoJCQlzY3JvbGxiYXJEcmFnTW92ZTogZnVuY3Rpb24gc2Nyb2xsYmFyRHJhZ01vdmUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmxhenkuZW5hYmxlZCkgewoJCQkJCXN3aXBlci5sYXp5LmxvYWQoKTsKCQkJCX0KCQkJfSwKCQkJdHJhbnNpdGlvblN0YXJ0OiBmdW5jdGlvbiB0cmFuc2l0aW9uU3RhcnQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmxhenkuZW5hYmxlZCkgewoJCQkJCWlmIChzd2lwZXIucGFyYW1zLmxhenkubG9hZE9uVHJhbnNpdGlvblN0YXJ0IHx8ICghc3dpcGVyLnBhcmFtcy5sYXp5LmxvYWRPblRyYW5zaXRpb25TdGFydCAmJiAhc3dpcGVyLmxhenkuaW5pdGlhbEltYWdlTG9hZGVkKSkgewoJCQkJCQlzd2lwZXIubGF6eS5sb2FkKCk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQl0cmFuc2l0aW9uRW5kOiBmdW5jdGlvbiB0cmFuc2l0aW9uRW5kKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5sYXp5LmVuYWJsZWQgJiYgIXN3aXBlci5wYXJhbXMubGF6eS5sb2FkT25UcmFuc2l0aW9uU3RhcnQpIHsKCQkJCQlzd2lwZXIubGF6eS5sb2FkKCk7CgkJCQl9CgkJCX0sCgkJfSwKCX07CgoJLyogZXNsaW50IG5vLWJpdHdpc2U6IFsiZXJyb3IiLCB7ICJhbGxvdyI6IFsiPj4iXSB9XSAqLwoKCXZhciBDb250cm9sbGVyID0gewoJCUxpbmVhclNwbGluZTogZnVuY3Rpb24gTGluZWFyU3BsaW5lKHgsIHkpIHsKCQkJdmFyIGJpbmFyeVNlYXJjaCA9IChmdW5jdGlvbiBzZWFyY2goKSB7CgkJCQl2YXIgbWF4SW5kZXg7CgkJCQl2YXIgbWluSW5kZXg7CgkJCQl2YXIgZ3Vlc3M7CgkJCQlyZXR1cm4gZnVuY3Rpb24gKGFycmF5LCB2YWwpIHsKCQkJCQltaW5JbmRleCA9IC0xOwoJCQkJCW1heEluZGV4ID0gYXJyYXkubGVuZ3RoOwoJCQkJCXdoaWxlIChtYXhJbmRleCAtIG1pbkluZGV4ID4gMSkgewoJCQkJCQlndWVzcyA9IG1heEluZGV4ICsgbWluSW5kZXggPj4gMTsKCQkJCQkJaWYgKGFycmF5W2d1ZXNzXSA8PSB2YWwpIHsKCQkJCQkJCW1pbkluZGV4ID0gZ3Vlc3M7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQltYXhJbmRleCA9IGd1ZXNzOwoJCQkJCQl9CgkJCQkJfQoJCQkJCXJldHVybiBtYXhJbmRleDsKCQkJCX07CgkJCX0oKSk7CgkJCXRoaXMueCA9IHg7CgkJCXRoaXMueSA9IHk7CgkJCXRoaXMubGFzdEluZGV4ID0geC5sZW5ndGggLSAxOwoJCQkvLyBHaXZlbiBhbiB4IHZhbHVlICh4MiksIHJldHVybiB0aGUgZXhwZWN0ZWQgeTIgdmFsdWU6CgkJCS8vICh4MSx5MSkgaXMgdGhlIGtub3duIHBvaW50IGJlZm9yZSBnaXZlbiB2YWx1ZSwKCQkJLy8gKHgzLHkzKSBpcyB0aGUga25vd24gcG9pbnQgYWZ0ZXIgZ2l2ZW4gdmFsdWUuCgkJCXZhciBpMTsKCQkJdmFyIGkzOwoKCQkJdGhpcy5pbnRlcnBvbGF0ZSA9IGZ1bmN0aW9uIGludGVycG9sYXRlKHgyKSB7CgkJCQlpZiAoIXgyKSB7IHJldHVybiAwOyB9CgoJCQkJLy8gR2V0IHRoZSBpbmRleGVzIG9mIHgxIGFuZCB4MyAodGhlIGFycmF5IGluZGV4ZXMgYmVmb3JlIGFuZCBhZnRlciBnaXZlbiB4Mik6CgkJCQlpMyA9IGJpbmFyeVNlYXJjaCh0aGlzLngsIHgyKTsKCQkJCWkxID0gaTMgLSAxOwoKCQkJCS8vIFdlIGhhdmUgb3VyIGluZGV4ZXMgaTEgJiBpMywgc28gd2UgY2FuIGNhbGN1bGF0ZSBhbHJlYWR5OgoJCQkJLy8geTIgOj0gKCh4MsOQwrLDouKAmsKsw6LigqzihKJ4MSkgw5DigJzDouKCrOKAnSAoeTPDkMKyw6LigJrCrMOi4oKs4oSieTEpKSDDkOKAnMOCwrcgKHgzw5DCssOi4oCawqzDouKCrOKEongxKSArIHkxCgkJCQlyZXR1cm4gKCgoeDIgLSB0aGlzLnhbaTFdKSAqICh0aGlzLnlbaTNdIC0gdGhpcy55W2kxXSkpIC8gKHRoaXMueFtpM10gLSB0aGlzLnhbaTFdKSkgKyB0aGlzLnlbaTFdOwoJCQl9OwoJCQlyZXR1cm4gdGhpczsKCQl9LAoJCS8vIHh4eDogZm9yIG5vdyBpIHdpbGwganVzdCBzYXZlIG9uZSBzcGxpbmUgZnVuY3Rpb24gdG8gdG8KCQlnZXRJbnRlcnBvbGF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiBnZXRJbnRlcnBvbGF0ZUZ1bmN0aW9uKGMpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLmNvbnRyb2xsZXIuc3BsaW5lKSB7CgkJCQlzd2lwZXIuY29udHJvbGxlci5zcGxpbmUgPSBzd2lwZXIucGFyYW1zLmxvb3AgPwoJCQkJCW5ldyBDb250cm9sbGVyLkxpbmVhclNwbGluZShzd2lwZXIuc2xpZGVzR3JpZCwgYy5zbGlkZXNHcmlkKSA6CgkJCQkJbmV3IENvbnRyb2xsZXIuTGluZWFyU3BsaW5lKHN3aXBlci5zbmFwR3JpZCwgYy5zbmFwR3JpZCk7CgkJCX0KCQl9LAoJCXNldFRyYW5zbGF0ZTogZnVuY3Rpb24gc2V0VHJhbnNsYXRlKHNldFRyYW5zbGF0ZSQxLCBieUNvbnRyb2xsZXIpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBjb250cm9sbGVkID0gc3dpcGVyLmNvbnRyb2xsZXIuY29udHJvbDsKCQkJdmFyIG11bHRpcGxpZXI7CgkJCXZhciBjb250cm9sbGVkVHJhbnNsYXRlOwoJCQlmdW5jdGlvbiBzZXRDb250cm9sbGVkVHJhbnNsYXRlKGMpIHsKCQkJCS8vIHRoaXMgd2lsbCBjcmVhdGUgYW4gSW50ZXJwb2xhdGUgZnVuY3Rpb24gYmFzZWQgb24gdGhlIHNuYXBHcmlkcwoJCQkJLy8geCBpcyB0aGUgR3JpZCBvZiB0aGUgc2Nyb2xsZWQgc2Nyb2xsZXIgYW5kIHkgd2lsbCBiZSB0aGUgY29udHJvbGxlZCBzY3JvbGxlcgoJCQkJLy8gaXQgbWFrZXMgc2Vuc2UgdG8gY3JlYXRlIHRoaXMgb25seSBvbmNlIGFuZCByZWNhbGwgaXQgZm9yIHRoZSBpbnRlcnBvbGF0aW9uCgkJCQkvLyB0aGUgZnVuY3Rpb24gZG9lcyBhIGxvdCBvZiB2YWx1ZSBjYWNoaW5nIGZvciBwZXJmb3JtYW5jZQoJCQkJdmFyIHRyYW5zbGF0ZSA9IHN3aXBlci5ydGxUcmFuc2xhdGUgPyAtc3dpcGVyLnRyYW5zbGF0ZSA6IHN3aXBlci50cmFuc2xhdGU7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5jb250cm9sbGVyLmJ5ID09PSAnc2xpZGUnKSB7CgkJCQkJc3dpcGVyLmNvbnRyb2xsZXIuZ2V0SW50ZXJwb2xhdGVGdW5jdGlvbihjKTsKCQkJCQkvLyBpIGFtIG5vdCBzdXJlIHdoeSB0aGUgdmFsdWVzIGhhdmUgdG8gYmUgbXVsdGlwbGljYXRlZCB0aGlzIHdheSwgdHJpZWQgdG8gaW52ZXJ0IHRoZSBzbmFwR3JpZAoJCQkJCS8vIGJ1dCBpdCBkaWQgbm90IHdvcmsgb3V0CgkJCQkJY29udHJvbGxlZFRyYW5zbGF0ZSA9IC1zd2lwZXIuY29udHJvbGxlci5zcGxpbmUuaW50ZXJwb2xhdGUoLXRyYW5zbGF0ZSk7CgkJCQl9CgoJCQkJaWYgKCFjb250cm9sbGVkVHJhbnNsYXRlIHx8IHN3aXBlci5wYXJhbXMuY29udHJvbGxlci5ieSA9PT0gJ2NvbnRhaW5lcicpIHsKCQkJCQltdWx0aXBsaWVyID0gKGMubWF4VHJhbnNsYXRlKCkgLSBjLm1pblRyYW5zbGF0ZSgpKSAvIChzd2lwZXIubWF4VHJhbnNsYXRlKCkgLSBzd2lwZXIubWluVHJhbnNsYXRlKCkpOwoJCQkJCWNvbnRyb2xsZWRUcmFuc2xhdGUgPSAoKHRyYW5zbGF0ZSAtIHN3aXBlci5taW5UcmFuc2xhdGUoKSkgKiBtdWx0aXBsaWVyKSArIGMubWluVHJhbnNsYXRlKCk7CgkJCQl9CgoJCQkJaWYgKHN3aXBlci5wYXJhbXMuY29udHJvbGxlci5pbnZlcnNlKSB7CgkJCQkJY29udHJvbGxlZFRyYW5zbGF0ZSA9IGMubWF4VHJhbnNsYXRlKCkgLSBjb250cm9sbGVkVHJhbnNsYXRlOwoJCQkJfQoJCQkJYy51cGRhdGVQcm9ncmVzcyhjb250cm9sbGVkVHJhbnNsYXRlKTsKCQkJCWMuc2V0VHJhbnNsYXRlKGNvbnRyb2xsZWRUcmFuc2xhdGUsIHN3aXBlcik7CgkJCQljLnVwZGF0ZUFjdGl2ZUluZGV4KCk7CgkJCQljLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKTsKCQkJfQoJCQlpZiAoQXJyYXkuaXNBcnJheShjb250cm9sbGVkKSkgewoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBjb250cm9sbGVkLmxlbmd0aDsgaSArPSAxKSB7CgkJCQkJaWYgKGNvbnRyb2xsZWRbaV0gIT09IGJ5Q29udHJvbGxlciAmJiBjb250cm9sbGVkW2ldIGluc3RhbmNlb2YgU3dpcGVyKSB7CgkJCQkJCXNldENvbnRyb2xsZWRUcmFuc2xhdGUoY29udHJvbGxlZFtpXSk7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgaWYgKGNvbnRyb2xsZWQgaW5zdGFuY2VvZiBTd2lwZXIgJiYgYnlDb250cm9sbGVyICE9PSBjb250cm9sbGVkKSB7CgkJCQlzZXRDb250cm9sbGVkVHJhbnNsYXRlKGNvbnRyb2xsZWQpOwoJCQl9CgkJfSwKCQlzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiBzZXRUcmFuc2l0aW9uKGR1cmF0aW9uLCBieUNvbnRyb2xsZXIpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBjb250cm9sbGVkID0gc3dpcGVyLmNvbnRyb2xsZXIuY29udHJvbDsKCQkJdmFyIGk7CgkJCWZ1bmN0aW9uIHNldENvbnRyb2xsZWRUcmFuc2l0aW9uKGMpIHsKCQkJCWMuc2V0VHJhbnNpdGlvbihkdXJhdGlvbiwgc3dpcGVyKTsKCQkJCWlmIChkdXJhdGlvbiAhPT0gMCkgewoJCQkJCWMudHJhbnNpdGlvblN0YXJ0KCk7CgkJCQkJYy4kd3JhcHBlckVsLnRyYW5zaXRpb25FbmQoZnVuY3Rpb24gKCkgewoJCQkJCQlpZiAoIWNvbnRyb2xsZWQpIHsgcmV0dXJuOyB9CgkJCQkJCWlmIChjLnBhcmFtcy5sb29wICYmIHN3aXBlci5wYXJhbXMuY29udHJvbGxlci5ieSA9PT0gJ3NsaWRlJykgewoJCQkJCQkJYy5sb29wRml4KCk7CgkJCQkJCX0KCQkJCQkJYy50cmFuc2l0aW9uRW5kKCk7CgkJCQkJfSk7CgkJCQl9CgkJCX0KCQkJaWYgKEFycmF5LmlzQXJyYXkoY29udHJvbGxlZCkpIHsKCQkJCWZvciAoaSA9IDA7IGkgPCBjb250cm9sbGVkLmxlbmd0aDsgaSArPSAxKSB7CgkJCQkJaWYgKGNvbnRyb2xsZWRbaV0gIT09IGJ5Q29udHJvbGxlciAmJiBjb250cm9sbGVkW2ldIGluc3RhbmNlb2YgU3dpcGVyKSB7CgkJCQkJCXNldENvbnRyb2xsZWRUcmFuc2l0aW9uKGNvbnRyb2xsZWRbaV0pOwoJCQkJCX0KCQkJCX0KCQkJfSBlbHNlIGlmIChjb250cm9sbGVkIGluc3RhbmNlb2YgU3dpcGVyICYmIGJ5Q29udHJvbGxlciAhPT0gY29udHJvbGxlZCkgewoJCQkJc2V0Q29udHJvbGxlZFRyYW5zaXRpb24oY29udHJvbGxlZCk7CgkJCX0KCQl9LAoJfTsKCXZhciBDb250cm9sbGVyJDEgPSB7CgkJbmFtZTogJ2NvbnRyb2xsZXInLAoJCXBhcmFtczogewoJCQljb250cm9sbGVyOiB7CgkJCQljb250cm9sOiB1bmRlZmluZWQsCgkJCQlpbnZlcnNlOiBmYWxzZSwKCQkJCWJ5OiAnc2xpZGUnLCAvLyBvciAnY29udGFpbmVyJwoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQljb250cm9sbGVyOiB7CgkJCQkJY29udHJvbDogc3dpcGVyLnBhcmFtcy5jb250cm9sbGVyLmNvbnRyb2wsCgkJCQkJZ2V0SW50ZXJwb2xhdGVGdW5jdGlvbjogQ29udHJvbGxlci5nZXRJbnRlcnBvbGF0ZUZ1bmN0aW9uLmJpbmQoc3dpcGVyKSwKCQkJCQlzZXRUcmFuc2xhdGU6IENvbnRyb2xsZXIuc2V0VHJhbnNsYXRlLmJpbmQoc3dpcGVyKSwKCQkJCQlzZXRUcmFuc2l0aW9uOiBDb250cm9sbGVyLnNldFRyYW5zaXRpb24uYmluZChzd2lwZXIpLAoJCQkJfSwKCQkJfSk7CgkJfSwKCQlvbjogewoJCQl1cGRhdGU6IGZ1bmN0aW9uIHVwZGF0ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIuY29udHJvbGxlci5jb250cm9sKSB7IHJldHVybjsgfQoJCQkJaWYgKHN3aXBlci5jb250cm9sbGVyLnNwbGluZSkgewoJCQkJCXN3aXBlci5jb250cm9sbGVyLnNwbGluZSA9IHVuZGVmaW5lZDsKCQkJCQlkZWxldGUgc3dpcGVyLmNvbnRyb2xsZXIuc3BsaW5lOwoJCQkJfQoJCQl9LAoJCQlyZXNpemU6IGZ1bmN0aW9uIHJlc2l6ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIuY29udHJvbGxlci5jb250cm9sKSB7IHJldHVybjsgfQoJCQkJaWYgKHN3aXBlci5jb250cm9sbGVyLnNwbGluZSkgewoJCQkJCXN3aXBlci5jb250cm9sbGVyLnNwbGluZSA9IHVuZGVmaW5lZDsKCQkJCQlkZWxldGUgc3dpcGVyLmNvbnRyb2xsZXIuc3BsaW5lOwoJCQkJfQoJCQl9LAoJCQlvYnNlcnZlclVwZGF0ZTogZnVuY3Rpb24gb2JzZXJ2ZXJVcGRhdGUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLmNvbnRyb2xsZXIuY29udHJvbCkgeyByZXR1cm47IH0KCQkJCWlmIChzd2lwZXIuY29udHJvbGxlci5zcGxpbmUpIHsKCQkJCQlzd2lwZXIuY29udHJvbGxlci5zcGxpbmUgPSB1bmRlZmluZWQ7CgkJCQkJZGVsZXRlIHN3aXBlci5jb250cm9sbGVyLnNwbGluZTsKCQkJCX0KCQkJfSwKCQkJc2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBzZXRUcmFuc2xhdGUodHJhbnNsYXRlLCBieUNvbnRyb2xsZXIpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKCFzd2lwZXIuY29udHJvbGxlci5jb250cm9sKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLmNvbnRyb2xsZXIuc2V0VHJhbnNsYXRlKHRyYW5zbGF0ZSwgYnlDb250cm9sbGVyKTsKCQkJfSwKCQkJc2V0VHJhbnNpdGlvbjogZnVuY3Rpb24gc2V0VHJhbnNpdGlvbihkdXJhdGlvbiwgYnlDb250cm9sbGVyKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLmNvbnRyb2xsZXIuY29udHJvbCkgeyByZXR1cm47IH0KCQkJCXN3aXBlci5jb250cm9sbGVyLnNldFRyYW5zaXRpb24oZHVyYXRpb24sIGJ5Q29udHJvbGxlcik7CgkJCX0sCgkJfSwKCX07CgoJdmFyIGExMXkgPSB7CgkJbWFrZUVsRm9jdXNhYmxlOiBmdW5jdGlvbiBtYWtlRWxGb2N1c2FibGUoJGVsKSB7CgkJCSRlbC5hdHRyKCd0YWJJbmRleCcsICcwJyk7CgkJCXJldHVybiAkZWw7CgkJfSwKCQlhZGRFbFJvbGU6IGZ1bmN0aW9uIGFkZEVsUm9sZSgkZWwsIHJvbGUpIHsKCQkJJGVsLmF0dHIoJ3JvbGUnLCByb2xlKTsKCQkJcmV0dXJuICRlbDsKCQl9LAoJCWFkZEVsTGFiZWw6IGZ1bmN0aW9uIGFkZEVsTGFiZWwoJGVsLCBsYWJlbCkgewoJCQkkZWwuYXR0cignYXJpYS1sYWJlbCcsIGxhYmVsKTsKCQkJcmV0dXJuICRlbDsKCQl9LAoJCWRpc2FibGVFbDogZnVuY3Rpb24gZGlzYWJsZUVsKCRlbCkgewoJCQkkZWwuYXR0cignYXJpYS1kaXNhYmxlZCcsIHRydWUpOwoJCQlyZXR1cm4gJGVsOwoJCX0sCgkJZW5hYmxlRWw6IGZ1bmN0aW9uIGVuYWJsZUVsKCRlbCkgewoJCQkkZWwuYXR0cignYXJpYS1kaXNhYmxlZCcsIGZhbHNlKTsKCQkJcmV0dXJuICRlbDsKCQl9LAoJCW9uRW50ZXJLZXk6IGZ1bmN0aW9uIG9uRW50ZXJLZXkoZSkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHBhcmFtcyA9IHN3aXBlci5wYXJhbXMuYTExeTsKCQkJaWYgKGUua2V5Q29kZSAhPT0gMTMpIHsgcmV0dXJuOyB9CgkJCXZhciAkdGFyZ2V0RWwgPSAkKGUudGFyZ2V0KTsKCQkJaWYgKHN3aXBlci5uYXZpZ2F0aW9uICYmIHN3aXBlci5uYXZpZ2F0aW9uLiRuZXh0RWwgJiYgJHRhcmdldEVsLmlzKHN3aXBlci5uYXZpZ2F0aW9uLiRuZXh0RWwpKSB7CgkJCQlpZiAoIShzd2lwZXIuaXNFbmQgJiYgIXN3aXBlci5wYXJhbXMubG9vcCkpIHsKCQkJCQlzd2lwZXIuc2xpZGVOZXh0KCk7CgkJCQl9CgkJCQlpZiAoc3dpcGVyLmlzRW5kKSB7CgkJCQkJc3dpcGVyLmExMXkubm90aWZ5KHBhcmFtcy5sYXN0U2xpZGVNZXNzYWdlKTsKCQkJCX0gZWxzZSB7CgkJCQkJc3dpcGVyLmExMXkubm90aWZ5KHBhcmFtcy5uZXh0U2xpZGVNZXNzYWdlKTsKCQkJCX0KCQkJfQoJCQlpZiAoc3dpcGVyLm5hdmlnYXRpb24gJiYgc3dpcGVyLm5hdmlnYXRpb24uJHByZXZFbCAmJiAkdGFyZ2V0RWwuaXMoc3dpcGVyLm5hdmlnYXRpb24uJHByZXZFbCkpIHsKCQkJCWlmICghKHN3aXBlci5pc0JlZ2lubmluZyAmJiAhc3dpcGVyLnBhcmFtcy5sb29wKSkgewoJCQkJCXN3aXBlci5zbGlkZVByZXYoKTsKCQkJCX0KCQkJCWlmIChzd2lwZXIuaXNCZWdpbm5pbmcpIHsKCQkJCQlzd2lwZXIuYTExeS5ub3RpZnkocGFyYW1zLmZpcnN0U2xpZGVNZXNzYWdlKTsKCQkJCX0gZWxzZSB7CgkJCQkJc3dpcGVyLmExMXkubm90aWZ5KHBhcmFtcy5wcmV2U2xpZGVNZXNzYWdlKTsKCQkJCX0KCQkJfQoJCQlpZiAoc3dpcGVyLnBhZ2luYXRpb24gJiYgJHRhcmdldEVsLmlzKCgiLiIgKyAoc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldENsYXNzKSkpKSB7CgkJCQkkdGFyZ2V0RWxbMF0uY2xpY2soKTsKCQkJfQoJCX0sCgkJbm90aWZ5OiBmdW5jdGlvbiBub3RpZnkobWVzc2FnZSkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIG5vdGlmaWNhdGlvbiA9IHN3aXBlci5hMTF5LmxpdmVSZWdpb247CgkJCWlmIChub3RpZmljYXRpb24ubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfQoJCQlub3RpZmljYXRpb24uaHRtbCgnJyk7CgkJCW5vdGlmaWNhdGlvbi5odG1sKG1lc3NhZ2UpOwoJCX0sCgkJdXBkYXRlTmF2aWdhdGlvbjogZnVuY3Rpb24gdXBkYXRlTmF2aWdhdGlvbigpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgoJCQlpZiAoc3dpcGVyLnBhcmFtcy5sb29wKSB7IHJldHVybjsgfQoJCQl2YXIgcmVmID0gc3dpcGVyLm5hdmlnYXRpb247CgkJCXZhciAkbmV4dEVsID0gcmVmLiRuZXh0RWw7CgkJCXZhciAkcHJldkVsID0gcmVmLiRwcmV2RWw7CgoJCQlpZiAoJHByZXZFbCAmJiAkcHJldkVsLmxlbmd0aCA+IDApIHsKCQkJCWlmIChzd2lwZXIuaXNCZWdpbm5pbmcpIHsKCQkJCQlzd2lwZXIuYTExeS5kaXNhYmxlRWwoJHByZXZFbCk7CgkJCQl9IGVsc2UgewoJCQkJCXN3aXBlci5hMTF5LmVuYWJsZUVsKCRwcmV2RWwpOwoJCQkJfQoJCQl9CgkJCWlmICgkbmV4dEVsICYmICRuZXh0RWwubGVuZ3RoID4gMCkgewoJCQkJaWYgKHN3aXBlci5pc0VuZCkgewoJCQkJCXN3aXBlci5hMTF5LmRpc2FibGVFbCgkbmV4dEVsKTsKCQkJCX0gZWxzZSB7CgkJCQkJc3dpcGVyLmExMXkuZW5hYmxlRWwoJG5leHRFbCk7CgkJCQl9CgkJCX0KCQl9LAoJCXVwZGF0ZVBhZ2luYXRpb246IGZ1bmN0aW9uIHVwZGF0ZVBhZ2luYXRpb24oKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy5hMTF5OwoJCQlpZiAoc3dpcGVyLnBhZ2luYXRpb24gJiYgc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmNsaWNrYWJsZSAmJiBzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzICYmIHN3aXBlci5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RoKSB7CgkJCQlzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzLmVhY2goZnVuY3Rpb24gKGJ1bGxldEluZGV4LCBidWxsZXRFbCkgewoJCQkJCXZhciAkYnVsbGV0RWwgPSAkKGJ1bGxldEVsKTsKCQkJCQlzd2lwZXIuYTExeS5tYWtlRWxGb2N1c2FibGUoJGJ1bGxldEVsKTsKCQkJCQlzd2lwZXIuYTExeS5hZGRFbFJvbGUoJGJ1bGxldEVsLCAnYnV0dG9uJyk7CgkJCQkJc3dpcGVyLmExMXkuYWRkRWxMYWJlbCgkYnVsbGV0RWwsIHBhcmFtcy5wYWdpbmF0aW9uQnVsbGV0TWVzc2FnZS5yZXBsYWNlKC97e2luZGV4fX0vLCAkYnVsbGV0RWwuaW5kZXgoKSArIDEpKTsKCQkJCX0pOwoJCQl9CgkJfSwKCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCgkJCXN3aXBlci4kZWwuYXBwZW5kKHN3aXBlci5hMTF5LmxpdmVSZWdpb24pOwoKCQkJLy8gTmF2aWdhdGlvbgoJCQl2YXIgcGFyYW1zID0gc3dpcGVyLnBhcmFtcy5hMTF5OwoJCQl2YXIgJG5leHRFbDsKCQkJdmFyICRwcmV2RWw7CgkJCWlmIChzd2lwZXIubmF2aWdhdGlvbiAmJiBzd2lwZXIubmF2aWdhdGlvbi4kbmV4dEVsKSB7CgkJCQkkbmV4dEVsID0gc3dpcGVyLm5hdmlnYXRpb24uJG5leHRFbDsKCQkJfQoJCQlpZiAoc3dpcGVyLm5hdmlnYXRpb24gJiYgc3dpcGVyLm5hdmlnYXRpb24uJHByZXZFbCkgewoJCQkJJHByZXZFbCA9IHN3aXBlci5uYXZpZ2F0aW9uLiRwcmV2RWw7CgkJCX0KCQkJaWYgKCRuZXh0RWwpIHsKCQkJCXN3aXBlci5hMTF5Lm1ha2VFbEZvY3VzYWJsZSgkbmV4dEVsKTsKCQkJCXN3aXBlci5hMTF5LmFkZEVsUm9sZSgkbmV4dEVsLCAnYnV0dG9uJyk7CgkJCQlzd2lwZXIuYTExeS5hZGRFbExhYmVsKCRuZXh0RWwsIHBhcmFtcy5uZXh0U2xpZGVNZXNzYWdlKTsKCQkJCSRuZXh0RWwub24oJ2tleWRvd24nLCBzd2lwZXIuYTExeS5vbkVudGVyS2V5KTsKCQkJfQoJCQlpZiAoJHByZXZFbCkgewoJCQkJc3dpcGVyLmExMXkubWFrZUVsRm9jdXNhYmxlKCRwcmV2RWwpOwoJCQkJc3dpcGVyLmExMXkuYWRkRWxSb2xlKCRwcmV2RWwsICdidXR0b24nKTsKCQkJCXN3aXBlci5hMTF5LmFkZEVsTGFiZWwoJHByZXZFbCwgcGFyYW1zLnByZXZTbGlkZU1lc3NhZ2UpOwoJCQkJJHByZXZFbC5vbigna2V5ZG93bicsIHN3aXBlci5hMTF5Lm9uRW50ZXJLZXkpOwoJCQl9CgoJCQkvLyBQYWdpbmF0aW9uCgkJCWlmIChzd2lwZXIucGFnaW5hdGlvbiAmJiBzd2lwZXIucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlICYmIHN3aXBlci5wYWdpbmF0aW9uLmJ1bGxldHMgJiYgc3dpcGVyLnBhZ2luYXRpb24uYnVsbGV0cy5sZW5ndGgpIHsKCQkJCXN3aXBlci5wYWdpbmF0aW9uLiRlbC5vbigna2V5ZG93bicsICgiLiIgKyAoc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldENsYXNzKSksIHN3aXBlci5hMTF5Lm9uRW50ZXJLZXkpOwoJCQl9CgkJfSwKCQlkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKHN3aXBlci5hMTF5LmxpdmVSZWdpb24gJiYgc3dpcGVyLmExMXkubGl2ZVJlZ2lvbi5sZW5ndGggPiAwKSB7IHN3aXBlci5hMTF5LmxpdmVSZWdpb24ucmVtb3ZlKCk7IH0KCgkJCXZhciAkbmV4dEVsOwoJCQl2YXIgJHByZXZFbDsKCQkJaWYgKHN3aXBlci5uYXZpZ2F0aW9uICYmIHN3aXBlci5uYXZpZ2F0aW9uLiRuZXh0RWwpIHsKCQkJCSRuZXh0RWwgPSBzd2lwZXIubmF2aWdhdGlvbi4kbmV4dEVsOwoJCQl9CgkJCWlmIChzd2lwZXIubmF2aWdhdGlvbiAmJiBzd2lwZXIubmF2aWdhdGlvbi4kcHJldkVsKSB7CgkJCQkkcHJldkVsID0gc3dpcGVyLm5hdmlnYXRpb24uJHByZXZFbDsKCQkJfQoJCQlpZiAoJG5leHRFbCkgewoJCQkJJG5leHRFbC5vZmYoJ2tleWRvd24nLCBzd2lwZXIuYTExeS5vbkVudGVyS2V5KTsKCQkJfQoJCQlpZiAoJHByZXZFbCkgewoJCQkJJHByZXZFbC5vZmYoJ2tleWRvd24nLCBzd2lwZXIuYTExeS5vbkVudGVyS2V5KTsKCQkJfQoKCQkJLy8gUGFnaW5hdGlvbgoJCQlpZiAoc3dpcGVyLnBhZ2luYXRpb24gJiYgc3dpcGVyLnBhcmFtcy5wYWdpbmF0aW9uLmNsaWNrYWJsZSAmJiBzd2lwZXIucGFnaW5hdGlvbi5idWxsZXRzICYmIHN3aXBlci5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RoKSB7CgkJCQlzd2lwZXIucGFnaW5hdGlvbi4kZWwub2ZmKCdrZXlkb3duJywgKCIuIiArIChzd2lwZXIucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpKSwgc3dpcGVyLmExMXkub25FbnRlcktleSk7CgkJCX0KCQl9LAoJfTsKCXZhciBBMTF5ID0gewoJCW5hbWU6ICdhMTF5JywKCQlwYXJhbXM6IHsKCQkJYTExeTogewoJCQkJZW5hYmxlZDogdHJ1ZSwKCQkJCW5vdGlmaWNhdGlvbkNsYXNzOiAnc3dpcGVyLW5vdGlmaWNhdGlvbicsCgkJCQlwcmV2U2xpZGVNZXNzYWdlOiAnUHJldmlvdXMgc2xpZGUnLAoJCQkJbmV4dFNsaWRlTWVzc2FnZTogJ05leHQgc2xpZGUnLAoJCQkJZmlyc3RTbGlkZU1lc3NhZ2U6ICdUaGlzIGlzIHRoZSBmaXJzdCBzbGlkZScsCgkJCQlsYXN0U2xpZGVNZXNzYWdlOiAnVGhpcyBpcyB0aGUgbGFzdCBzbGlkZScsCgkJCQlwYWdpbmF0aW9uQnVsbGV0TWVzc2FnZTogJ0dvIHRvIHNsaWRlIHt7aW5kZXh9fScsCgkJCX0sCgkJfSwKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCWExMXk6IHsKCQkJCQlsaXZlUmVnaW9uOiAkKCgiPHNwYW4gY2xhc3M9XCIiICsgKHN3aXBlci5wYXJhbXMuYTExeS5ub3RpZmljYXRpb25DbGFzcykgKyAiXCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCI+PC9zcGFuPiIpKSwKCQkJCX0sCgkJCX0pOwoJCQlPYmplY3Qua2V5cyhhMTF5KS5mb3JFYWNoKGZ1bmN0aW9uIChtZXRob2ROYW1lKSB7CgkJCQlzd2lwZXIuYTExeVttZXRob2ROYW1lXSA9IGExMXlbbWV0aG9kTmFtZV0uYmluZChzd2lwZXIpOwoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWluaXQ6IGZ1bmN0aW9uIGluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy5hMTF5LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuYTExeS5pbml0KCk7CgkJCQlzd2lwZXIuYTExeS51cGRhdGVOYXZpZ2F0aW9uKCk7CgkJCX0sCgkJCXRvRWRnZTogZnVuY3Rpb24gdG9FZGdlKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoIXN3aXBlci5wYXJhbXMuYTExeS5lbmFibGVkKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLmExMXkudXBkYXRlTmF2aWdhdGlvbigpOwoJCQl9LAoJCQlmcm9tRWRnZTogZnVuY3Rpb24gZnJvbUVkZ2UoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy5hMTF5LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuYTExeS51cGRhdGVOYXZpZ2F0aW9uKCk7CgkJCX0sCgkJCXBhZ2luYXRpb25VcGRhdGU6IGZ1bmN0aW9uIHBhZ2luYXRpb25VcGRhdGUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy5hMTF5LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuYTExeS51cGRhdGVQYWdpbmF0aW9uKCk7CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy5hMTF5LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuYTExeS5kZXN0cm95KCk7CgkJCX0sCgkJfSwKCX07CgoJdmFyIEhpc3RvcnkgPSB7CgkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5oaXN0b3J5KSB7IHJldHVybjsgfQoJCQlpZiAoIXdpbi5oaXN0b3J5IHx8ICF3aW4uaGlzdG9yeS5wdXNoU3RhdGUpIHsKCQkJCXN3aXBlci5wYXJhbXMuaGlzdG9yeS5lbmFibGVkID0gZmFsc2U7CgkJCQlzd2lwZXIucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQgPSB0cnVlOwoJCQkJcmV0dXJuOwoJCQl9CgkJCXZhciBoaXN0b3J5ID0gc3dpcGVyLmhpc3Rvcnk7CgkJCWhpc3RvcnkuaW5pdGlhbGl6ZWQgPSB0cnVlOwoJCQloaXN0b3J5LnBhdGhzID0gSGlzdG9yeS5nZXRQYXRoVmFsdWVzKCk7CgkJCWlmICghaGlzdG9yeS5wYXRocy5rZXkgJiYgIWhpc3RvcnkucGF0aHMudmFsdWUpIHsgcmV0dXJuOyB9CgkJCWhpc3Rvcnkuc2Nyb2xsVG9TbGlkZSgwLCBoaXN0b3J5LnBhdGhzLnZhbHVlLCBzd2lwZXIucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCk7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSkgewoJCQkJd2luLmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgc3dpcGVyLmhpc3Rvcnkuc2V0SGlzdG9yeVBvcFN0YXRlKTsKCQkJfQoJCX0sCgkJZGVzdHJveTogZnVuY3Rpb24gZGVzdHJveSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCWlmICghc3dpcGVyLnBhcmFtcy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSkgewoJCQkJd2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgc3dpcGVyLmhpc3Rvcnkuc2V0SGlzdG9yeVBvcFN0YXRlKTsKCQkJfQoJCX0sCgkJc2V0SGlzdG9yeVBvcFN0YXRlOiBmdW5jdGlvbiBzZXRIaXN0b3J5UG9wU3RhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlzd2lwZXIuaGlzdG9yeS5wYXRocyA9IEhpc3RvcnkuZ2V0UGF0aFZhbHVlcygpOwoJCQlzd2lwZXIuaGlzdG9yeS5zY3JvbGxUb1NsaWRlKHN3aXBlci5wYXJhbXMuc3BlZWQsIHN3aXBlci5oaXN0b3J5LnBhdGhzLnZhbHVlLCBmYWxzZSk7CgkJfSwKCQlnZXRQYXRoVmFsdWVzOiBmdW5jdGlvbiBnZXRQYXRoVmFsdWVzKCkgewoJCQl2YXIgcGF0aEFycmF5ID0gd2luLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpLnNwbGl0KCcvJykuZmlsdGVyKGZ1bmN0aW9uIChwYXJ0KSB7IHJldHVybiBwYXJ0ICE9PSAnJzsgfSk7CgkJCXZhciB0b3RhbCA9IHBhdGhBcnJheS5sZW5ndGg7CgkJCXZhciBrZXkgPSBwYXRoQXJyYXlbdG90YWwgLSAyXTsKCQkJdmFyIHZhbHVlID0gcGF0aEFycmF5W3RvdGFsIC0gMV07CgkJCXJldHVybiB7IGtleToga2V5LCB2YWx1ZTogdmFsdWUgfTsKCQl9LAoJCXNldEhpc3Rvcnk6IGZ1bmN0aW9uIHNldEhpc3Rvcnkoa2V5LCBpbmRleCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFzd2lwZXIuaGlzdG9yeS5pbml0aWFsaXplZCB8fCAhc3dpcGVyLnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpIHsgcmV0dXJuOyB9CgkJCXZhciBzbGlkZSA9IHN3aXBlci5zbGlkZXMuZXEoaW5kZXgpOwoJCQl2YXIgdmFsdWUgPSBIaXN0b3J5LnNsdWdpZnkoc2xpZGUuYXR0cignZGF0YS1oaXN0b3J5JykpOwoJCQlpZiAoIXdpbi5sb2NhdGlvbi5wYXRobmFtZS5pbmNsdWRlcyhrZXkpKSB7CgkJCQl2YWx1ZSA9IGtleSArICIvIiArIHZhbHVlOwoJCQl9CgkJCXZhciBjdXJyZW50U3RhdGUgPSB3aW4uaGlzdG9yeS5zdGF0ZTsKCQkJaWYgKGN1cnJlbnRTdGF0ZSAmJiBjdXJyZW50U3RhdGUudmFsdWUgPT09IHZhbHVlKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJaWYgKHN3aXBlci5wYXJhbXMuaGlzdG9yeS5yZXBsYWNlU3RhdGUpIHsKCQkJCXdpbi5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7IHZhbHVlOiB2YWx1ZSB9LCBudWxsLCB2YWx1ZSk7CgkJCX0gZWxzZSB7CgkJCQl3aW4uaGlzdG9yeS5wdXNoU3RhdGUoeyB2YWx1ZTogdmFsdWUgfSwgbnVsbCwgdmFsdWUpOwoJCQl9CgkJfSwKCQlzbHVnaWZ5OiBmdW5jdGlvbiBzbHVnaWZ5KHRleHQpIHsKCQkJcmV0dXJuIHRleHQudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpCgkJCQkucmVwbGFjZSgvXHMrL2csICctJykKCQkJCS5yZXBsYWNlKC9bXlx3LV0rL2csICcnKQoJCQkJLnJlcGxhY2UoLy0tKy9nLCAnLScpCgkJCQkucmVwbGFjZSgvXi0rLywgJycpCgkJCQkucmVwbGFjZSgvLSskLywgJycpOwoJCX0sCgkJc2Nyb2xsVG9TbGlkZTogZnVuY3Rpb24gc2Nyb2xsVG9TbGlkZShzcGVlZCwgdmFsdWUsIHJ1bkNhbGxiYWNrcykgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKHZhbHVlKSB7CgkJCQlmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gc3dpcGVyLnNsaWRlcy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkgKz0gMSkgewoJCQkJCXZhciBzbGlkZSA9IHN3aXBlci5zbGlkZXMuZXEoaSk7CgkJCQkJdmFyIHNsaWRlSGlzdG9yeSA9IEhpc3Rvcnkuc2x1Z2lmeShzbGlkZS5hdHRyKCdkYXRhLWhpc3RvcnknKSk7CgkJCQkJaWYgKHNsaWRlSGlzdG9yeSA9PT0gdmFsdWUgJiYgIXNsaWRlLmhhc0NsYXNzKHN3aXBlci5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykpIHsKCQkJCQkJdmFyIGluZGV4ID0gc2xpZGUuaW5kZXgoKTsKCQkJCQkJc3dpcGVyLnNsaWRlVG8oaW5kZXgsIHNwZWVkLCBydW5DYWxsYmFja3MpOwoJCQkJCX0KCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXN3aXBlci5zbGlkZVRvKDAsIHNwZWVkLCBydW5DYWxsYmFja3MpOwoJCQl9CgkJfSwKCX07CgoJdmFyIEhpc3RvcnkkMSA9IHsKCQluYW1lOiAnaGlzdG9yeScsCgkJcGFyYW1zOiB7CgkJCWhpc3Rvcnk6IHsKCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJcmVwbGFjZVN0YXRlOiBmYWxzZSwKCQkJCWtleTogJ3NsaWRlcycsCgkJCX0sCgkJfSwKCQljcmVhdGU6IGZ1bmN0aW9uIGNyZWF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCVV0aWxzLmV4dGVuZChzd2lwZXIsIHsKCQkJCWhpc3Rvcnk6IHsKCQkJCQlpbml0OiBIaXN0b3J5LmluaXQuYmluZChzd2lwZXIpLAoJCQkJCXNldEhpc3Rvcnk6IEhpc3Rvcnkuc2V0SGlzdG9yeS5iaW5kKHN3aXBlciksCgkJCQkJc2V0SGlzdG9yeVBvcFN0YXRlOiBIaXN0b3J5LnNldEhpc3RvcnlQb3BTdGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJc2Nyb2xsVG9TbGlkZTogSGlzdG9yeS5zY3JvbGxUb1NsaWRlLmJpbmQoc3dpcGVyKSwKCQkJCQlkZXN0cm95OiBIaXN0b3J5LmRlc3Ryb3kuYmluZChzd2lwZXIpLAoJCQkJfSwKCQkJfSk7CgkJfSwKCQlvbjogewoJCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpIHsKCQkJCQlzd2lwZXIuaGlzdG9yeS5pbml0KCk7CgkJCQl9CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCkgewoJCQkJCXN3aXBlci5oaXN0b3J5LmRlc3Ryb3koKTsKCQkJCX0KCQkJfSwKCQkJdHJhbnNpdGlvbkVuZDogZnVuY3Rpb24gdHJhbnNpdGlvbkVuZCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5oaXN0b3J5LmluaXRpYWxpemVkKSB7CgkJCQkJc3dpcGVyLmhpc3Rvcnkuc2V0SGlzdG9yeShzd2lwZXIucGFyYW1zLmhpc3Rvcnkua2V5LCBzd2lwZXIuYWN0aXZlSW5kZXgpOwoJCQkJfQoJCQl9LAoJCX0sCgl9OwoKCXZhciBIYXNoTmF2aWdhdGlvbiA9IHsKCQlvbkhhc2hDYW5nZTogZnVuY3Rpb24gb25IYXNoQ2FuZ2UoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgbmV3SGFzaCA9IGRvYy5sb2NhdGlvbi5oYXNoLnJlcGxhY2UoJyMnLCAnJyk7CgkJCXZhciBhY3RpdmVTbGlkZUhhc2ggPSBzd2lwZXIuc2xpZGVzLmVxKHN3aXBlci5hY3RpdmVJbmRleCkuYXR0cignZGF0YS1oYXNoJyk7CgkJCWlmIChuZXdIYXNoICE9PSBhY3RpdmVTbGlkZUhhc2gpIHsKCQkJCXN3aXBlci5zbGlkZVRvKHN3aXBlci4kd3JhcHBlckVsLmNoaWxkcmVuKCgiLiIgKyAoc3dpcGVyLnBhcmFtcy5zbGlkZUNsYXNzKSArICJbZGF0YS1oYXNoPVwiIiArIG5ld0hhc2ggKyAiXCJdIikpLmluZGV4KCkpOwoJCQl9CgkJfSwKCQlzZXRIYXNoOiBmdW5jdGlvbiBzZXRIYXNoKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFzd2lwZXIuaGFzaE5hdmlnYXRpb24uaW5pdGlhbGl6ZWQgfHwgIXN3aXBlci5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZCkgeyByZXR1cm47IH0KCQkJaWYgKHN3aXBlci5wYXJhbXMuaGFzaE5hdmlnYXRpb24ucmVwbGFjZVN0YXRlICYmIHdpbi5oaXN0b3J5ICYmIHdpbi5oaXN0b3J5LnJlcGxhY2VTdGF0ZSkgewoJCQkJd2luLmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIG51bGwsICgoIiMiICsgKHN3aXBlci5zbGlkZXMuZXEoc3dpcGVyLmFjdGl2ZUluZGV4KS5hdHRyKCdkYXRhLWhhc2gnKSkpIHx8ICcnKSk7CgkJCX0gZWxzZSB7CgkJCQl2YXIgc2xpZGUgPSBzd2lwZXIuc2xpZGVzLmVxKHN3aXBlci5hY3RpdmVJbmRleCk7CgkJCQl2YXIgaGFzaCA9IHNsaWRlLmF0dHIoJ2RhdGEtaGFzaCcpIHx8IHNsaWRlLmF0dHIoJ2RhdGEtaGlzdG9yeScpOwoJCQkJZG9jLmxvY2F0aW9uLmhhc2ggPSBoYXNoIHx8ICcnOwoJCQl9CgkJfSwKCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFzd2lwZXIucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQgfHwgKHN3aXBlci5wYXJhbXMuaGlzdG9yeSAmJiBzd2lwZXIucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCkpIHsgcmV0dXJuOyB9CgkJCXN3aXBlci5oYXNoTmF2aWdhdGlvbi5pbml0aWFsaXplZCA9IHRydWU7CgkJCXZhciBoYXNoID0gZG9jLmxvY2F0aW9uLmhhc2gucmVwbGFjZSgnIycsICcnKTsKCQkJaWYgKGhhc2gpIHsKCQkJCXZhciBzcGVlZCA9IDA7CgkJCQlmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gc3dpcGVyLnNsaWRlcy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkgKz0gMSkgewoJCQkJCXZhciBzbGlkZSA9IHN3aXBlci5zbGlkZXMuZXEoaSk7CgkJCQkJdmFyIHNsaWRlSGFzaCA9IHNsaWRlLmF0dHIoJ2RhdGEtaGFzaCcpIHx8IHNsaWRlLmF0dHIoJ2RhdGEtaGlzdG9yeScpOwoJCQkJCWlmIChzbGlkZUhhc2ggPT09IGhhc2ggJiYgIXNsaWRlLmhhc0NsYXNzKHN3aXBlci5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykpIHsKCQkJCQkJdmFyIGluZGV4ID0gc2xpZGUuaW5kZXgoKTsKCQkJCQkJc3dpcGVyLnNsaWRlVG8oaW5kZXgsIHNwZWVkLCBzd2lwZXIucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwgdHJ1ZSk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWlmIChzd2lwZXIucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLndhdGNoU3RhdGUpIHsKCQkJCSQod2luKS5vbignaGFzaGNoYW5nZScsIHN3aXBlci5oYXNoTmF2aWdhdGlvbi5vbkhhc2hDYW5nZSk7CgkJCX0KCQl9LAoJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoc3dpcGVyLnBhcmFtcy5oYXNoTmF2aWdhdGlvbi53YXRjaFN0YXRlKSB7CgkJCQkkKHdpbikub2ZmKCdoYXNoY2hhbmdlJywgc3dpcGVyLmhhc2hOYXZpZ2F0aW9uLm9uSGFzaENhbmdlKTsKCQkJfQoJCX0sCgl9OwoJdmFyIEhhc2hOYXZpZ2F0aW9uJDEgPSB7CgkJbmFtZTogJ2hhc2gtbmF2aWdhdGlvbicsCgkJcGFyYW1zOiB7CgkJCWhhc2hOYXZpZ2F0aW9uOiB7CgkJCQllbmFibGVkOiBmYWxzZSwKCQkJCXJlcGxhY2VTdGF0ZTogZmFsc2UsCgkJCQl3YXRjaFN0YXRlOiBmYWxzZSwKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJaGFzaE5hdmlnYXRpb246IHsKCQkJCQlpbml0aWFsaXplZDogZmFsc2UsCgkJCQkJaW5pdDogSGFzaE5hdmlnYXRpb24uaW5pdC5iaW5kKHN3aXBlciksCgkJCQkJZGVzdHJveTogSGFzaE5hdmlnYXRpb24uZGVzdHJveS5iaW5kKHN3aXBlciksCgkJCQkJc2V0SGFzaDogSGFzaE5hdmlnYXRpb24uc2V0SGFzaC5iaW5kKHN3aXBlciksCgkJCQkJb25IYXNoQ2FuZ2U6IEhhc2hOYXZpZ2F0aW9uLm9uSGFzaENhbmdlLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJaW5pdDogZnVuY3Rpb24gaW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZCkgewoJCQkJCXN3aXBlci5oYXNoTmF2aWdhdGlvbi5pbml0KCk7CgkJCQl9CgkJCX0sCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uIGRlc3Ryb3koKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQpIHsKCQkJCQlzd2lwZXIuaGFzaE5hdmlnYXRpb24uZGVzdHJveSgpOwoJCQkJfQoJCQl9LAoJCQl0cmFuc2l0aW9uRW5kOiBmdW5jdGlvbiB0cmFuc2l0aW9uRW5kKCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLmhhc2hOYXZpZ2F0aW9uLmluaXRpYWxpemVkKSB7CgkJCQkJc3dpcGVyLmhhc2hOYXZpZ2F0aW9uLnNldEhhc2goKTsKCQkJCX0KCQkJfSwKCQl9LAoJfTsKCgkvKiBlc2xpbnQgbm8tdW5kZXJzY29yZS1kYW5nbGU6ICJvZmYiICovCgoJdmFyIEF1dG9wbGF5ID0gewoJCXJ1bjogZnVuY3Rpb24gcnVuKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyICRhY3RpdmVTbGlkZUVsID0gc3dpcGVyLnNsaWRlcy5lcShzd2lwZXIuYWN0aXZlSW5kZXgpOwoJCQl2YXIgZGVsYXkgPSBzd2lwZXIucGFyYW1zLmF1dG9wbGF5LmRlbGF5OwoJCQlpZiAoJGFjdGl2ZVNsaWRlRWwuYXR0cignZGF0YS1zd2lwZXItYXV0b3BsYXknKSkgewoJCQkJZGVsYXkgPSAkYWN0aXZlU2xpZGVFbC5hdHRyKCdkYXRhLXN3aXBlci1hdXRvcGxheScpIHx8IHN3aXBlci5wYXJhbXMuYXV0b3BsYXkuZGVsYXk7CgkJCX0KCQkJc3dpcGVyLmF1dG9wbGF5LnRpbWVvdXQgPSBVdGlscy5uZXh0VGljayhmdW5jdGlvbiAoKSB7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5hdXRvcGxheS5yZXZlcnNlRGlyZWN0aW9uKSB7CgkJCQkJaWYgKHN3aXBlci5wYXJhbXMubG9vcCkgewoJCQkJCQlzd2lwZXIubG9vcEZpeCgpOwoJCQkJCQlzd2lwZXIuc2xpZGVQcmV2KHN3aXBlci5wYXJhbXMuc3BlZWQsIHRydWUsIHRydWUpOwoJCQkJCQlzd2lwZXIuZW1pdCgnYXV0b3BsYXknKTsKCQkJCQl9IGVsc2UgaWYgKCFzd2lwZXIuaXNCZWdpbm5pbmcpIHsKCQkJCQkJc3dpcGVyLnNsaWRlUHJldihzd2lwZXIucGFyYW1zLnNwZWVkLCB0cnVlLCB0cnVlKTsKCQkJCQkJc3dpcGVyLmVtaXQoJ2F1dG9wbGF5Jyk7CgkJCQkJfSBlbHNlIGlmICghc3dpcGVyLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGUpIHsKCQkJCQkJc3dpcGVyLnNsaWRlVG8oc3dpcGVyLnNsaWRlcy5sZW5ndGggLSAxLCBzd2lwZXIucGFyYW1zLnNwZWVkLCB0cnVlLCB0cnVlKTsKCQkJCQkJc3dpcGVyLmVtaXQoJ2F1dG9wbGF5Jyk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJc3dpcGVyLmF1dG9wbGF5LnN0b3AoKTsKCQkJCQl9CgkJCQl9IGVsc2UgaWYgKHN3aXBlci5wYXJhbXMubG9vcCkgewoJCQkJCXN3aXBlci5sb29wRml4KCk7CgkJCQkJc3dpcGVyLnNsaWRlTmV4dChzd2lwZXIucGFyYW1zLnNwZWVkLCB0cnVlLCB0cnVlKTsKCQkJCQlzd2lwZXIuZW1pdCgnYXV0b3BsYXknKTsKCQkJCX0gZWxzZSBpZiAoIXN3aXBlci5pc0VuZCkgewoJCQkJCXN3aXBlci5zbGlkZU5leHQoc3dpcGVyLnBhcmFtcy5zcGVlZCwgdHJ1ZSwgdHJ1ZSk7CgkJCQkJc3dpcGVyLmVtaXQoJ2F1dG9wbGF5Jyk7CgkJCQl9IGVsc2UgaWYgKCFzd2lwZXIucGFyYW1zLmF1dG9wbGF5LnN0b3BPbkxhc3RTbGlkZSkgewoJCQkJCXN3aXBlci5zbGlkZVRvKDAsIHN3aXBlci5wYXJhbXMuc3BlZWQsIHRydWUsIHRydWUpOwoJCQkJCXN3aXBlci5lbWl0KCdhdXRvcGxheScpOwoJCQkJfSBlbHNlIHsKCQkJCQlzd2lwZXIuYXV0b3BsYXkuc3RvcCgpOwoJCQkJfQoJCQl9LCBkZWxheSk7CgkJfSwKCQlzdGFydDogZnVuY3Rpb24gc3RhcnQoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAodHlwZW9mIHN3aXBlci5hdXRvcGxheS50aW1lb3V0ICE9PSAndW5kZWZpbmVkJykgeyByZXR1cm4gZmFsc2U7IH0KCQkJaWYgKHN3aXBlci5hdXRvcGxheS5ydW5uaW5nKSB7IHJldHVybiBmYWxzZTsgfQoJCQlzd2lwZXIuYXV0b3BsYXkucnVubmluZyA9IHRydWU7CgkJCXN3aXBlci5lbWl0KCdhdXRvcGxheVN0YXJ0Jyk7CgkJCXN3aXBlci5hdXRvcGxheS5ydW4oKTsKCQkJcmV0dXJuIHRydWU7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbiBzdG9wKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJaWYgKCFzd2lwZXIuYXV0b3BsYXkucnVubmluZykgeyByZXR1cm4gZmFsc2U7IH0KCQkJaWYgKHR5cGVvZiBzd2lwZXIuYXV0b3BsYXkudGltZW91dCA9PT0gJ3VuZGVmaW5lZCcpIHsgcmV0dXJuIGZhbHNlOyB9CgoJCQlpZiAoc3dpcGVyLmF1dG9wbGF5LnRpbWVvdXQpIHsKCQkJCWNsZWFyVGltZW91dChzd2lwZXIuYXV0b3BsYXkudGltZW91dCk7CgkJCQlzd2lwZXIuYXV0b3BsYXkudGltZW91dCA9IHVuZGVmaW5lZDsKCQkJfQoJCQlzd2lwZXIuYXV0b3BsYXkucnVubmluZyA9IGZhbHNlOwoJCQlzd2lwZXIuZW1pdCgnYXV0b3BsYXlTdG9wJyk7CgkJCXJldHVybiB0cnVlOwoJCX0sCgkJcGF1c2U6IGZ1bmN0aW9uIHBhdXNlKHNwZWVkKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlpZiAoIXN3aXBlci5hdXRvcGxheS5ydW5uaW5nKSB7IHJldHVybjsgfQoJCQlpZiAoc3dpcGVyLmF1dG9wbGF5LnBhdXNlZCkgeyByZXR1cm47IH0KCQkJaWYgKHN3aXBlci5hdXRvcGxheS50aW1lb3V0KSB7IGNsZWFyVGltZW91dChzd2lwZXIuYXV0b3BsYXkudGltZW91dCk7IH0KCQkJc3dpcGVyLmF1dG9wbGF5LnBhdXNlZCA9IHRydWU7CgkJCWlmIChzcGVlZCA9PT0gMCB8fCAhc3dpcGVyLnBhcmFtcy5hdXRvcGxheS53YWl0Rm9yVHJhbnNpdGlvbikgewoJCQkJc3dpcGVyLmF1dG9wbGF5LnBhdXNlZCA9IGZhbHNlOwoJCQkJc3dpcGVyLmF1dG9wbGF5LnJ1bigpOwoJCQl9IGVsc2UgewoJCQkJc3dpcGVyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigndHJhbnNpdGlvbmVuZCcsIHN3aXBlci5hdXRvcGxheS5vblRyYW5zaXRpb25FbmQpOwoJCQkJc3dpcGVyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcignd2Via2l0VHJhbnNpdGlvbkVuZCcsIHN3aXBlci5hdXRvcGxheS5vblRyYW5zaXRpb25FbmQpOwoJCQl9CgkJfSwKCX07CgoJdmFyIEF1dG9wbGF5JDEgPSB7CgkJbmFtZTogJ2F1dG9wbGF5JywKCQlwYXJhbXM6IHsKCQkJYXV0b3BsYXk6IHsKCQkJCWVuYWJsZWQ6IGZhbHNlLAoJCQkJZGVsYXk6IDMwMDAsCgkJCQl3YWl0Rm9yVHJhbnNpdGlvbjogdHJ1ZSwKCQkJCWRpc2FibGVPbkludGVyYWN0aW9uOiB0cnVlLAoJCQkJc3RvcE9uTGFzdFNsaWRlOiBmYWxzZSwKCQkJCXJldmVyc2VEaXJlY3Rpb246IGZhbHNlLAoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQlhdXRvcGxheTogewoJCQkJCXJ1bm5pbmc6IGZhbHNlLAoJCQkJCXBhdXNlZDogZmFsc2UsCgkJCQkJcnVuOiBBdXRvcGxheS5ydW4uYmluZChzd2lwZXIpLAoJCQkJCXN0YXJ0OiBBdXRvcGxheS5zdGFydC5iaW5kKHN3aXBlciksCgkJCQkJc3RvcDogQXV0b3BsYXkuc3RvcC5iaW5kKHN3aXBlciksCgkJCQkJcGF1c2U6IEF1dG9wbGF5LnBhdXNlLmJpbmQoc3dpcGVyKSwKCQkJCQlvblRyYW5zaXRpb25FbmQ6IGZ1bmN0aW9uIG9uVHJhbnNpdGlvbkVuZChlKSB7CgkJCQkJCWlmICghc3dpcGVyIHx8IHN3aXBlci5kZXN0cm95ZWQgfHwgIXN3aXBlci4kd3JhcHBlckVsKSB7IHJldHVybjsgfQoJCQkJCQlpZiAoZS50YXJnZXQgIT09IHRoaXMpIHsgcmV0dXJuOyB9CgkJCQkJCXN3aXBlci4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCBzd2lwZXIuYXV0b3BsYXkub25UcmFuc2l0aW9uRW5kKTsKCQkJCQkJc3dpcGVyLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2Via2l0VHJhbnNpdGlvbkVuZCcsIHN3aXBlci5hdXRvcGxheS5vblRyYW5zaXRpb25FbmQpOwoJCQkJCQlzd2lwZXIuYXV0b3BsYXkucGF1c2VkID0gZmFsc2U7CgkJCQkJCWlmICghc3dpcGVyLmF1dG9wbGF5LnJ1bm5pbmcpIHsKCQkJCQkJCXN3aXBlci5hdXRvcGxheS5zdG9wKCk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlzd2lwZXIuYXV0b3BsYXkucnVuKCk7CgkJCQkJCX0KCQkJCQl9LAoJCQkJfSwKCQkJfSk7CgkJfSwKCQlvbjogewoJCQlpbml0OiBmdW5jdGlvbiBpbml0KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5hdXRvcGxheS5lbmFibGVkKSB7CgkJCQkJc3dpcGVyLmF1dG9wbGF5LnN0YXJ0KCk7CgkJCQl9CgkJCX0sCgkJCWJlZm9yZVRyYW5zaXRpb25TdGFydDogZnVuY3Rpb24gYmVmb3JlVHJhbnNpdGlvblN0YXJ0KHNwZWVkLCBpbnRlcm5hbCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLmF1dG9wbGF5LnJ1bm5pbmcpIHsKCQkJCQlpZiAoaW50ZXJuYWwgfHwgIXN3aXBlci5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24pIHsKCQkJCQkJc3dpcGVyLmF1dG9wbGF5LnBhdXNlKHNwZWVkKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzd2lwZXIuYXV0b3BsYXkuc3RvcCgpOwoJCQkJCX0KCQkJCX0KCQkJfSwKCQkJc2xpZGVyRmlyc3RNb3ZlOiBmdW5jdGlvbiBzbGlkZXJGaXJzdE1vdmUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIuYXV0b3BsYXkucnVubmluZykgewoJCQkJCWlmIChzd2lwZXIucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uKSB7CgkJCQkJCXN3aXBlci5hdXRvcGxheS5zdG9wKCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJc3dpcGVyLmF1dG9wbGF5LnBhdXNlKCk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQlkZXN0cm95OiBmdW5jdGlvbiBkZXN0cm95KCkgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLmF1dG9wbGF5LnJ1bm5pbmcpIHsKCQkJCQlzd2lwZXIuYXV0b3BsYXkuc3RvcCgpOwoJCQkJfQoJCQl9LAoJCX0sCgl9OwoKCXZhciBGYWRlID0gewoJCXNldFRyYW5zbGF0ZTogZnVuY3Rpb24gc2V0VHJhbnNsYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2xpZGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQl2YXIgJHNsaWRlRWwgPSBzd2lwZXIuc2xpZGVzLmVxKGkpOwoJCQkJdmFyIG9mZnNldCA9ICRzbGlkZUVsWzBdLnN3aXBlclNsaWRlT2Zmc2V0OwoJCQkJdmFyIHR4ID0gLW9mZnNldDsKCQkJCWlmICghc3dpcGVyLnBhcmFtcy52aXJ0dWFsVHJhbnNsYXRlKSB7IHR4IC09IHN3aXBlci50cmFuc2xhdGU7IH0KCQkJCXZhciB0eSA9IDA7CgkJCQlpZiAoIXN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQkJCXR5ID0gdHg7CgkJCQkJdHggPSAwOwoJCQkJfQoJCQkJdmFyIHNsaWRlT3BhY2l0eSA9IHN3aXBlci5wYXJhbXMuZmFkZUVmZmVjdC5jcm9zc0ZhZGUgPwoJCQkJCU1hdGgubWF4KDEgLSBNYXRoLmFicygkc2xpZGVFbFswXS5wcm9ncmVzcyksIDApIDoKCQkJCQkxICsgTWF0aC5taW4oTWF0aC5tYXgoJHNsaWRlRWxbMF0ucHJvZ3Jlc3MsIC0xKSwgMCk7CgkJCQkkc2xpZGVFbAoJCQkJCS5jc3MoewoJCQkJCQlvcGFjaXR5OiBzbGlkZU9wYWNpdHksCgkJCQkJfSkKCQkJCQkudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIHR4ICsgInB4LCAiICsgdHkgKyAicHgsIDBweCkiKSk7CgkJCX0KCQl9LAoJCXNldFRyYW5zaXRpb246IGZ1bmN0aW9uIHNldFRyYW5zaXRpb24oZHVyYXRpb24pIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciBzbGlkZXMgPSBzd2lwZXIuc2xpZGVzOwoJCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCQlzbGlkZXMudHJhbnNpdGlvbihkdXJhdGlvbik7CgkJCWlmIChzd2lwZXIucGFyYW1zLnZpcnR1YWxUcmFuc2xhdGUgJiYgZHVyYXRpb24gIT09IDApIHsKCQkJCXZhciBldmVudFRyaWdnZXJlZCA9IGZhbHNlOwoJCQkJc2xpZGVzLnRyYW5zaXRpb25FbmQoZnVuY3Rpb24gKCkgewoJCQkJCWlmIChldmVudFRyaWdnZXJlZCkgeyByZXR1cm47IH0KCQkJCQlpZiAoIXN3aXBlciB8fCBzd2lwZXIuZGVzdHJveWVkKSB7IHJldHVybjsgfQoJCQkJCWV2ZW50VHJpZ2dlcmVkID0gdHJ1ZTsKCQkJCQlzd2lwZXIuYW5pbWF0aW5nID0gZmFsc2U7CgkJCQkJdmFyIHRyaWdnZXJFdmVudHMgPSBbJ3dlYmtpdFRyYW5zaXRpb25FbmQnLCAndHJhbnNpdGlvbmVuZCddOwoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgdHJpZ2dlckV2ZW50cy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJCQkkd3JhcHBlckVsLnRyaWdnZXIodHJpZ2dlckV2ZW50c1tpXSk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9LAoJfTsKCgl2YXIgRWZmZWN0RmFkZSA9IHsKCQluYW1lOiAnZWZmZWN0LWZhZGUnLAoJCXBhcmFtczogewoJCQlmYWRlRWZmZWN0OiB7CgkJCQljcm9zc0ZhZGU6IGZhbHNlLAoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQlmYWRlRWZmZWN0OiB7CgkJCQkJc2V0VHJhbnNsYXRlOiBGYWRlLnNldFRyYW5zbGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJc2V0VHJhbnNpdGlvbjogRmFkZS5zZXRUcmFuc2l0aW9uLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJYmVmb3JlSW5pdDogZnVuY3Rpb24gYmVmb3JlSW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZWZmZWN0ICE9PSAnZmFkZScpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuY2xhc3NOYW1lcy5wdXNoKCgoc3dpcGVyLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzKSArICJmYWRlIikpOwoJCQkJdmFyIG92ZXJ3cml0ZVBhcmFtcyA9IHsKCQkJCQlzbGlkZXNQZXJWaWV3OiAxLAoJCQkJCXNsaWRlc1BlckNvbHVtbjogMSwKCQkJCQlzbGlkZXNQZXJHcm91cDogMSwKCQkJCQl3YXRjaFNsaWRlc1Byb2dyZXNzOiB0cnVlLAoJCQkJCXNwYWNlQmV0d2VlbjogMCwKCQkJCQl2aXJ0dWFsVHJhbnNsYXRlOiB0cnVlLAoJCQkJfTsKCQkJCVV0aWxzLmV4dGVuZChzd2lwZXIucGFyYW1zLCBvdmVyd3JpdGVQYXJhbXMpOwoJCQkJVXRpbHMuZXh0ZW5kKHN3aXBlci5vcmlnaW5hbFBhcmFtcywgb3ZlcndyaXRlUGFyYW1zKTsKCQkJfSwKCQkJc2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBzZXRUcmFuc2xhdGUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmVmZmVjdCAhPT0gJ2ZhZGUnKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLmZhZGVFZmZlY3Quc2V0VHJhbnNsYXRlKCk7CgkJCX0sCgkJCXNldFRyYW5zaXRpb246IGZ1bmN0aW9uIHNldFRyYW5zaXRpb24oZHVyYXRpb24pIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZWZmZWN0ICE9PSAnZmFkZScpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuZmFkZUVmZmVjdC5zZXRUcmFuc2l0aW9uKGR1cmF0aW9uKTsKCQkJfSwKCQl9LAoJfTsKCgl2YXIgQ3ViZSA9IHsKCQlzZXRUcmFuc2xhdGU6IGZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCXZhciAkZWwgPSBzd2lwZXIuJGVsOwoJCQl2YXIgJHdyYXBwZXJFbCA9IHN3aXBlci4kd3JhcHBlckVsOwoJCQl2YXIgc2xpZGVzID0gc3dpcGVyLnNsaWRlczsKCQkJdmFyIHN3aXBlcldpZHRoID0gc3dpcGVyLndpZHRoOwoJCQl2YXIgc3dpcGVySGVpZ2h0ID0gc3dpcGVyLmhlaWdodDsKCQkJdmFyIHJ0bCA9IHN3aXBlci5ydGxUcmFuc2xhdGU7CgkJCXZhciBzd2lwZXJTaXplID0gc3dpcGVyLnNpemU7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLmN1YmVFZmZlY3Q7CgkJCXZhciBpc0hvcml6b250YWwgPSBzd2lwZXIuaXNIb3Jpem9udGFsKCk7CgkJCXZhciBpc1ZpcnR1YWwgPSBzd2lwZXIudmlydHVhbCAmJiBzd2lwZXIucGFyYW1zLnZpcnR1YWwuZW5hYmxlZDsKCQkJdmFyIHdyYXBwZXJSb3RhdGUgPSAwOwoJCQl2YXIgJGN1YmVTaGFkb3dFbDsKCQkJaWYgKHBhcmFtcy5zaGFkb3cpIHsKCQkJCWlmIChpc0hvcml6b250YWwpIHsKCQkJCQkkY3ViZVNoYWRvd0VsID0gJHdyYXBwZXJFbC5maW5kKCcuc3dpcGVyLWN1YmUtc2hhZG93Jyk7CgkJCQkJaWYgKCRjdWJlU2hhZG93RWwubGVuZ3RoID09PSAwKSB7CgkJCQkJCSRjdWJlU2hhZG93RWwgPSAkKCc8ZGl2IGNsYXNzPSJzd2lwZXItY3ViZS1zaGFkb3ciPjwvZGl2PicpOwoJCQkJCQkkd3JhcHBlckVsLmFwcGVuZCgkY3ViZVNoYWRvd0VsKTsKCQkJCQl9CgkJCQkJJGN1YmVTaGFkb3dFbC5jc3MoeyBoZWlnaHQ6IChzd2lwZXJXaWR0aCArICJweCIpIH0pOwoJCQkJfSBlbHNlIHsKCQkJCQkkY3ViZVNoYWRvd0VsID0gJGVsLmZpbmQoJy5zd2lwZXItY3ViZS1zaGFkb3cnKTsKCQkJCQlpZiAoJGN1YmVTaGFkb3dFbC5sZW5ndGggPT09IDApIHsKCQkJCQkJJGN1YmVTaGFkb3dFbCA9ICQoJzxkaXYgY2xhc3M9InN3aXBlci1jdWJlLXNoYWRvdyI+PC9kaXY+Jyk7CgkJCQkJCSRlbC5hcHBlbmQoJGN1YmVTaGFkb3dFbCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCWZvciAodmFyIGkgPSAwOyBpIDwgc2xpZGVzLmxlbmd0aDsgaSArPSAxKSB7CgkJCQl2YXIgJHNsaWRlRWwgPSBzbGlkZXMuZXEoaSk7CgkJCQl2YXIgc2xpZGVJbmRleCA9IGk7CgkJCQlpZiAoaXNWaXJ0dWFsKSB7CgkJCQkJc2xpZGVJbmRleCA9IHBhcnNlSW50KCRzbGlkZUVsLmF0dHIoJ2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4JyksIDEwKTsKCQkJCX0KCQkJCXZhciBzbGlkZUFuZ2xlID0gc2xpZGVJbmRleCAqIDkwOwoJCQkJdmFyIHJvdW5kID0gTWF0aC5mbG9vcihzbGlkZUFuZ2xlIC8gMzYwKTsKCQkJCWlmIChydGwpIHsKCQkJCQlzbGlkZUFuZ2xlID0gLXNsaWRlQW5nbGU7CgkJCQkJcm91bmQgPSBNYXRoLmZsb29yKC1zbGlkZUFuZ2xlIC8gMzYwKTsKCQkJCX0KCQkJCXZhciBwcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKCRzbGlkZUVsWzBdLnByb2dyZXNzLCAxKSwgLTEpOwoJCQkJdmFyIHR4ID0gMDsKCQkJCXZhciB0eSA9IDA7CgkJCQl2YXIgdHogPSAwOwoJCQkJaWYgKHNsaWRlSW5kZXggJSA0ID09PSAwKSB7CgkJCQkJdHggPSAtcm91bmQgKiA0ICogc3dpcGVyU2l6ZTsKCQkJCQl0eiA9IDA7CgkJCQl9IGVsc2UgaWYgKChzbGlkZUluZGV4IC0gMSkgJSA0ID09PSAwKSB7CgkJCQkJdHggPSAwOwoJCQkJCXR6ID0gLXJvdW5kICogNCAqIHN3aXBlclNpemU7CgkJCQl9IGVsc2UgaWYgKChzbGlkZUluZGV4IC0gMikgJSA0ID09PSAwKSB7CgkJCQkJdHggPSBzd2lwZXJTaXplICsgKHJvdW5kICogNCAqIHN3aXBlclNpemUpOwoJCQkJCXR6ID0gc3dpcGVyU2l6ZTsKCQkJCX0gZWxzZSBpZiAoKHNsaWRlSW5kZXggLSAzKSAlIDQgPT09IDApIHsKCQkJCQl0eCA9IC1zd2lwZXJTaXplOwoJCQkJCXR6ID0gKDMgKiBzd2lwZXJTaXplKSArIChzd2lwZXJTaXplICogNCAqIHJvdW5kKTsKCQkJCX0KCQkJCWlmIChydGwpIHsKCQkJCQl0eCA9IC10eDsKCQkJCX0KCgkJCQlpZiAoIWlzSG9yaXpvbnRhbCkgewoJCQkJCXR5ID0gdHg7CgkJCQkJdHggPSAwOwoJCQkJfQoKCQkJCXZhciB0cmFuc2Zvcm0gPSAicm90YXRlWCgiICsgKGlzSG9yaXpvbnRhbCA/IDAgOiAtc2xpZGVBbmdsZSkgKyAiZGVnKSByb3RhdGVZKCIgKyAoaXNIb3Jpem9udGFsID8gc2xpZGVBbmdsZSA6IDApICsgImRlZykgdHJhbnNsYXRlM2QoIiArIHR4ICsgInB4LCAiICsgdHkgKyAicHgsICIgKyB0eiArICJweCkiOwoJCQkJaWYgKHByb2dyZXNzIDw9IDEgJiYgcHJvZ3Jlc3MgPiAtMSkgewoJCQkJCXdyYXBwZXJSb3RhdGUgPSAoc2xpZGVJbmRleCAqIDkwKSArIChwcm9ncmVzcyAqIDkwKTsKCQkJCQlpZiAocnRsKSB7IHdyYXBwZXJSb3RhdGUgPSAoLXNsaWRlSW5kZXggKiA5MCkgLSAocHJvZ3Jlc3MgKiA5MCk7IH0KCQkJCX0KCQkJCSRzbGlkZUVsLnRyYW5zZm9ybSh0cmFuc2Zvcm0pOwoJCQkJaWYgKHBhcmFtcy5zbGlkZVNoYWRvd3MpIHsKCQkJCQkvLyBTZXQgc2hhZG93cwoJCQkJCXZhciBzaGFkb3dCZWZvcmUgPSBpc0hvcml6b250YWwgPyAkc2xpZGVFbC5maW5kKCcuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0JykgOiAkc2xpZGVFbC5maW5kKCcuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AnKTsKCQkJCQl2YXIgc2hhZG93QWZ0ZXIgPSBpc0hvcml6b250YWwgPyAkc2xpZGVFbC5maW5kKCcuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCcpIDogJHNsaWRlRWwuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tJyk7CgkJCQkJaWYgKHNoYWRvd0JlZm9yZS5sZW5ndGggPT09IDApIHsKCQkJCQkJc2hhZG93QmVmb3JlID0gJCgoIjxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGUtc2hhZG93LSIgKyAoaXNIb3Jpem9udGFsID8gJ2xlZnQnIDogJ3RvcCcpICsgIlwiPjwvZGl2PiIpKTsKCQkJCQkJJHNsaWRlRWwuYXBwZW5kKHNoYWRvd0JlZm9yZSk7CgkJCQkJfQoJCQkJCWlmIChzaGFkb3dBZnRlci5sZW5ndGggPT09IDApIHsKCQkJCQkJc2hhZG93QWZ0ZXIgPSAkKCgiPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZS1zaGFkb3ctIiArIChpc0hvcml6b250YWwgPyAncmlnaHQnIDogJ2JvdHRvbScpICsgIlwiPjwvZGl2PiIpKTsKCQkJCQkJJHNsaWRlRWwuYXBwZW5kKHNoYWRvd0FmdGVyKTsKCQkJCQl9CgkJCQkJaWYgKHNoYWRvd0JlZm9yZS5sZW5ndGgpIHsgc2hhZG93QmVmb3JlWzBdLnN0eWxlLm9wYWNpdHkgPSBNYXRoLm1heCgtcHJvZ3Jlc3MsIDApOyB9CgkJCQkJaWYgKHNoYWRvd0FmdGVyLmxlbmd0aCkgeyBzaGFkb3dBZnRlclswXS5zdHlsZS5vcGFjaXR5ID0gTWF0aC5tYXgocHJvZ3Jlc3MsIDApOyB9CgkJCQl9CgkJCX0KCQkJJHdyYXBwZXJFbC5jc3MoewoJCQkJJy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbic6ICgiNTAlIDUwJSAtIiArIChzd2lwZXJTaXplIC8gMikgKyAicHgiKSwKCQkJCSctbW96LXRyYW5zZm9ybS1vcmlnaW4nOiAoIjUwJSA1MCUgLSIgKyAoc3dpcGVyU2l6ZSAvIDIpICsgInB4IiksCgkJCQknLW1zLXRyYW5zZm9ybS1vcmlnaW4nOiAoIjUwJSA1MCUgLSIgKyAoc3dpcGVyU2l6ZSAvIDIpICsgInB4IiksCgkJCQkndHJhbnNmb3JtLW9yaWdpbic6ICgiNTAlIDUwJSAtIiArIChzd2lwZXJTaXplIC8gMikgKyAicHgiKSwKCQkJfSk7CgoJCQlpZiAocGFyYW1zLnNoYWRvdykgewoJCQkJaWYgKGlzSG9yaXpvbnRhbCkgewoJCQkJCSRjdWJlU2hhZG93RWwudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoMHB4LCAiICsgKChzd2lwZXJXaWR0aCAvIDIpICsgcGFyYW1zLnNoYWRvd09mZnNldCkgKyAicHgsICIgKyAoLXN3aXBlcldpZHRoIC8gMikgKyAicHgpIHJvdGF0ZVgoOTBkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoIiArIChwYXJhbXMuc2hhZG93U2NhbGUpICsgIikiKSk7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBzaGFkb3dBbmdsZSA9IE1hdGguYWJzKHdyYXBwZXJSb3RhdGUpIC0gKE1hdGguZmxvb3IoTWF0aC5hYnMod3JhcHBlclJvdGF0ZSkgLyA5MCkgKiA5MCk7CgkJCQkJdmFyIG11bHRpcGxpZXIgPSAxLjUgLSAoCgkJCQkJCShNYXRoLnNpbigoc2hhZG93QW5nbGUgKiAyICogTWF0aC5QSSkgLyAzNjApIC8gMikgKwoJCQkJCQkoTWF0aC5jb3MoKHNoYWRvd0FuZ2xlICogMiAqIE1hdGguUEkpIC8gMzYwKSAvIDIpCgkJCQkJKTsKCQkJCQl2YXIgc2NhbGUxID0gcGFyYW1zLnNoYWRvd1NjYWxlOwoJCQkJCXZhciBzY2FsZTIgPSBwYXJhbXMuc2hhZG93U2NhbGUgLyBtdWx0aXBsaWVyOwoJCQkJCXZhciBvZmZzZXQgPSBwYXJhbXMuc2hhZG93T2Zmc2V0OwoJCQkJCSRjdWJlU2hhZG93RWwudHJhbnNmb3JtKCgic2NhbGUzZCgiICsgc2NhbGUxICsgIiwgMSwgIiArIHNjYWxlMiArICIpIHRyYW5zbGF0ZTNkKDBweCwgIiArICgoc3dpcGVySGVpZ2h0IC8gMikgKyBvZmZzZXQpICsgInB4LCAiICsgKC1zd2lwZXJIZWlnaHQgLyAyIC8gc2NhbGUyKSArICJweCkgcm90YXRlWCgtOTBkZWcpIikpOwoJCQkJfQoJCQl9CgkJCXZhciB6RmFjdG9yID0gKEJyb3dzZXIuaXNTYWZhcmkgfHwgQnJvd3Nlci5pc1VpV2ViVmlldykgPyAoLXN3aXBlclNpemUgLyAyKSA6IDA7CgkJCSR3cmFwcGVyRWwKCQkJCS50cmFuc2Zvcm0oKCJ0cmFuc2xhdGUzZCgwcHgsMCwiICsgekZhY3RvciArICJweCkgcm90YXRlWCgiICsgKHN3aXBlci5pc0hvcml6b250YWwoKSA/IDAgOiB3cmFwcGVyUm90YXRlKSArICJkZWcpIHJvdGF0ZVkoIiArIChzd2lwZXIuaXNIb3Jpem9udGFsKCkgPyAtd3JhcHBlclJvdGF0ZSA6IDApICsgImRlZykiKSk7CgkJfSwKCQlzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiBzZXRUcmFuc2l0aW9uKGR1cmF0aW9uKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgJGVsID0gc3dpcGVyLiRlbDsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCXNsaWRlcwoJCQkJLnRyYW5zaXRpb24oZHVyYXRpb24pCgkJCQkuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0JykKCQkJCS50cmFuc2l0aW9uKGR1cmF0aW9uKTsKCQkJaWYgKHN3aXBlci5wYXJhbXMuY3ViZUVmZmVjdC5zaGFkb3cgJiYgIXN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQkJJGVsLmZpbmQoJy5zd2lwZXItY3ViZS1zaGFkb3cnKS50cmFuc2l0aW9uKGR1cmF0aW9uKTsKCQkJfQoJCX0sCgl9OwoKCXZhciBFZmZlY3RDdWJlID0gewoJCW5hbWU6ICdlZmZlY3QtY3ViZScsCgkJcGFyYW1zOiB7CgkJCWN1YmVFZmZlY3Q6IHsKCQkJCXNsaWRlU2hhZG93czogdHJ1ZSwKCQkJCXNoYWRvdzogdHJ1ZSwKCQkJCXNoYWRvd09mZnNldDogMjAsCgkJCQlzaGFkb3dTY2FsZTogMC45NCwKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJY3ViZUVmZmVjdDogewoJCQkJCXNldFRyYW5zbGF0ZTogQ3ViZS5zZXRUcmFuc2xhdGUuYmluZChzd2lwZXIpLAoJCQkJCXNldFRyYW5zaXRpb246IEN1YmUuc2V0VHJhbnNpdGlvbi5iaW5kKHN3aXBlciksCgkJCQl9LAoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWJlZm9yZUluaXQ6IGZ1bmN0aW9uIGJlZm9yZUluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmVmZmVjdCAhPT0gJ2N1YmUnKSB7IHJldHVybjsgfQoJCQkJc3dpcGVyLmNsYXNzTmFtZXMucHVzaCgoKHN3aXBlci5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykgKyAiY3ViZSIpKTsKCQkJCXN3aXBlci5jbGFzc05hbWVzLnB1c2goKChzd2lwZXIucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MpICsgIjNkIikpOwoJCQkJdmFyIG92ZXJ3cml0ZVBhcmFtcyA9IHsKCQkJCQlzbGlkZXNQZXJWaWV3OiAxLAoJCQkJCXNsaWRlc1BlckNvbHVtbjogMSwKCQkJCQlzbGlkZXNQZXJHcm91cDogMSwKCQkJCQl3YXRjaFNsaWRlc1Byb2dyZXNzOiB0cnVlLAoJCQkJCXJlc2lzdGFuY2VSYXRpbzogMCwKCQkJCQlzcGFjZUJldHdlZW46IDAsCgkJCQkJY2VudGVyZWRTbGlkZXM6IGZhbHNlLAoJCQkJCXZpcnR1YWxUcmFuc2xhdGU6IHRydWUsCgkJCQl9OwoJCQkJVXRpbHMuZXh0ZW5kKHN3aXBlci5wYXJhbXMsIG92ZXJ3cml0ZVBhcmFtcyk7CgkJCQlVdGlscy5leHRlbmQoc3dpcGVyLm9yaWdpbmFsUGFyYW1zLCBvdmVyd3JpdGVQYXJhbXMpOwoJCQl9LAoJCQlzZXRUcmFuc2xhdGU6IGZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZWZmZWN0ICE9PSAnY3ViZScpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuY3ViZUVmZmVjdC5zZXRUcmFuc2xhdGUoKTsKCQkJfSwKCQkJc2V0VHJhbnNpdGlvbjogZnVuY3Rpb24gc2V0VHJhbnNpdGlvbihkdXJhdGlvbikgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5lZmZlY3QgIT09ICdjdWJlJykgeyByZXR1cm47IH0KCQkJCXN3aXBlci5jdWJlRWZmZWN0LnNldFRyYW5zaXRpb24oZHVyYXRpb24pOwoJCQl9LAoJCX0sCgl9OwoKCXZhciBGbGlwID0gewoJCXNldFRyYW5zbGF0ZTogZnVuY3Rpb24gc2V0VHJhbnNsYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCXZhciBydGwgPSBzd2lwZXIucnRsVHJhbnNsYXRlOwoJCQlmb3IgKHZhciBpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJdmFyICRzbGlkZUVsID0gc2xpZGVzLmVxKGkpOwoJCQkJdmFyIHByb2dyZXNzID0gJHNsaWRlRWxbMF0ucHJvZ3Jlc3M7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5mbGlwRWZmZWN0LmxpbWl0Um90YXRpb24pIHsKCQkJCQlwcm9ncmVzcyA9IE1hdGgubWF4KE1hdGgubWluKCRzbGlkZUVsWzBdLnByb2dyZXNzLCAxKSwgLTEpOwoJCQkJfQoJCQkJdmFyIG9mZnNldCA9ICRzbGlkZUVsWzBdLnN3aXBlclNsaWRlT2Zmc2V0OwoJCQkJdmFyIHJvdGF0ZSA9IC0xODAgKiBwcm9ncmVzczsKCQkJCXZhciByb3RhdGVZID0gcm90YXRlOwoJCQkJdmFyIHJvdGF0ZVggPSAwOwoJCQkJdmFyIHR4ID0gLW9mZnNldDsKCQkJCXZhciB0eSA9IDA7CgkJCQlpZiAoIXN3aXBlci5pc0hvcml6b250YWwoKSkgewoJCQkJCXR5ID0gdHg7CgkJCQkJdHggPSAwOwoJCQkJCXJvdGF0ZVggPSAtcm90YXRlWTsKCQkJCQlyb3RhdGVZID0gMDsKCQkJCX0gZWxzZSBpZiAocnRsKSB7CgkJCQkJcm90YXRlWSA9IC1yb3RhdGVZOwoJCQkJfQoKCQkJCSRzbGlkZUVsWzBdLnN0eWxlLnpJbmRleCA9IC1NYXRoLmFicyhNYXRoLnJvdW5kKHByb2dyZXNzKSkgKyBzbGlkZXMubGVuZ3RoOwoKCQkJCWlmIChzd2lwZXIucGFyYW1zLmZsaXBFZmZlY3Quc2xpZGVTaGFkb3dzKSB7CgkJCQkJLy8gU2V0IHNoYWRvd3MKCQkJCQl2YXIgc2hhZG93QmVmb3JlID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJHNsaWRlRWwuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCcpIDogJHNsaWRlRWwuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wJyk7CgkJCQkJdmFyIHNoYWRvd0FmdGVyID0gc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJHNsaWRlRWwuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQnKSA6ICRzbGlkZUVsLmZpbmQoJy5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbScpOwoJCQkJCWlmIChzaGFkb3dCZWZvcmUubGVuZ3RoID09PSAwKSB7CgkJCQkJCXNoYWRvd0JlZm9yZSA9ICQoKCI8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlLXNoYWRvdy0iICsgKHN3aXBlci5pc0hvcml6b250YWwoKSA/ICdsZWZ0JyA6ICd0b3AnKSArICJcIj48L2Rpdj4iKSk7CgkJCQkJCSRzbGlkZUVsLmFwcGVuZChzaGFkb3dCZWZvcmUpOwoJCQkJCX0KCQkJCQlpZiAoc2hhZG93QWZ0ZXIubGVuZ3RoID09PSAwKSB7CgkJCQkJCXNoYWRvd0FmdGVyID0gJCgoIjxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGUtc2hhZG93LSIgKyAoc3dpcGVyLmlzSG9yaXpvbnRhbCgpID8gJ3JpZ2h0JyA6ICdib3R0b20nKSArICJcIj48L2Rpdj4iKSk7CgkJCQkJCSRzbGlkZUVsLmFwcGVuZChzaGFkb3dBZnRlcik7CgkJCQkJfQoJCQkJCWlmIChzaGFkb3dCZWZvcmUubGVuZ3RoKSB7IHNoYWRvd0JlZm9yZVswXS5zdHlsZS5vcGFjaXR5ID0gTWF0aC5tYXgoLXByb2dyZXNzLCAwKTsgfQoJCQkJCWlmIChzaGFkb3dBZnRlci5sZW5ndGgpIHsgc2hhZG93QWZ0ZXJbMF0uc3R5bGUub3BhY2l0eSA9IE1hdGgubWF4KHByb2dyZXNzLCAwKTsgfQoJCQkJfQoJCQkJJHNsaWRlRWwKCQkJCQkudHJhbnNmb3JtKCgidHJhbnNsYXRlM2QoIiArIHR4ICsgInB4LCAiICsgdHkgKyAicHgsIDBweCkgcm90YXRlWCgiICsgcm90YXRlWCArICJkZWcpIHJvdGF0ZVkoIiArIHJvdGF0ZVkgKyAiZGVnKSIpKTsKCQkJfQoJCX0sCgkJc2V0VHJhbnNpdGlvbjogZnVuY3Rpb24gc2V0VHJhbnNpdGlvbihkdXJhdGlvbikgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJdmFyIHNsaWRlcyA9IHN3aXBlci5zbGlkZXM7CgkJCXZhciBhY3RpdmVJbmRleCA9IHN3aXBlci5hY3RpdmVJbmRleDsKCQkJdmFyICR3cmFwcGVyRWwgPSBzd2lwZXIuJHdyYXBwZXJFbDsKCQkJc2xpZGVzCgkJCQkudHJhbnNpdGlvbihkdXJhdGlvbikKCQkJCS5maW5kKCcuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQnKQoJCQkJLnRyYW5zaXRpb24oZHVyYXRpb24pOwoJCQlpZiAoc3dpcGVyLnBhcmFtcy52aXJ0dWFsVHJhbnNsYXRlICYmIGR1cmF0aW9uICE9PSAwKSB7CgkJCQl2YXIgZXZlbnRUcmlnZ2VyZWQgPSBmYWxzZTsKCQkJCS8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQoJCQkJc2xpZGVzLmVxKGFjdGl2ZUluZGV4KS50cmFuc2l0aW9uRW5kKGZ1bmN0aW9uIG9uVHJhbnNpdGlvbkVuZCgpIHsKCQkJCQlpZiAoZXZlbnRUcmlnZ2VyZWQpIHsgcmV0dXJuOyB9CgkJCQkJaWYgKCFzd2lwZXIgfHwgc3dpcGVyLmRlc3Ryb3llZCkgeyByZXR1cm47IH0KCQkJCQkvLyBpZiAoISQodGhpcykuaGFzQ2xhc3Moc3dpcGVyLnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKSkgcmV0dXJuOwoJCQkJCWV2ZW50VHJpZ2dlcmVkID0gdHJ1ZTsKCQkJCQlzd2lwZXIuYW5pbWF0aW5nID0gZmFsc2U7CgkJCQkJdmFyIHRyaWdnZXJFdmVudHMgPSBbJ3dlYmtpdFRyYW5zaXRpb25FbmQnLCAndHJhbnNpdGlvbmVuZCddOwoJCQkJCWZvciAodmFyIGkgPSAwOyBpIDwgdHJpZ2dlckV2ZW50cy5sZW5ndGg7IGkgKz0gMSkgewoJCQkJCQkkd3JhcHBlckVsLnRyaWdnZXIodHJpZ2dlckV2ZW50c1tpXSk7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCQl9LAoJfTsKCgl2YXIgRWZmZWN0RmxpcCA9IHsKCQluYW1lOiAnZWZmZWN0LWZsaXAnLAoJCXBhcmFtczogewoJCQlmbGlwRWZmZWN0OiB7CgkJCQlzbGlkZVNoYWRvd3M6IHRydWUsCgkJCQlsaW1pdFJvdGF0aW9uOiB0cnVlLAoJCQl9LAoJCX0sCgkJY3JlYXRlOiBmdW5jdGlvbiBjcmVhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQlVdGlscy5leHRlbmQoc3dpcGVyLCB7CgkJCQlmbGlwRWZmZWN0OiB7CgkJCQkJc2V0VHJhbnNsYXRlOiBGbGlwLnNldFRyYW5zbGF0ZS5iaW5kKHN3aXBlciksCgkJCQkJc2V0VHJhbnNpdGlvbjogRmxpcC5zZXRUcmFuc2l0aW9uLmJpbmQoc3dpcGVyKSwKCQkJCX0sCgkJCX0pOwoJCX0sCgkJb246IHsKCQkJYmVmb3JlSW5pdDogZnVuY3Rpb24gYmVmb3JlSW5pdCgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZWZmZWN0ICE9PSAnZmxpcCcpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuY2xhc3NOYW1lcy5wdXNoKCgoc3dpcGVyLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzKSArICJmbGlwIikpOwoJCQkJc3dpcGVyLmNsYXNzTmFtZXMucHVzaCgoKHN3aXBlci5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykgKyAiM2QiKSk7CgkJCQl2YXIgb3ZlcndyaXRlUGFyYW1zID0gewoJCQkJCXNsaWRlc1BlclZpZXc6IDEsCgkJCQkJc2xpZGVzUGVyQ29sdW1uOiAxLAoJCQkJCXNsaWRlc1Blckdyb3VwOiAxLAoJCQkJCXdhdGNoU2xpZGVzUHJvZ3Jlc3M6IHRydWUsCgkJCQkJc3BhY2VCZXR3ZWVuOiAwLAoJCQkJCXZpcnR1YWxUcmFuc2xhdGU6IHRydWUsCgkJCQl9OwoJCQkJVXRpbHMuZXh0ZW5kKHN3aXBlci5wYXJhbXMsIG92ZXJ3cml0ZVBhcmFtcyk7CgkJCQlVdGlscy5leHRlbmQoc3dpcGVyLm9yaWdpbmFsUGFyYW1zLCBvdmVyd3JpdGVQYXJhbXMpOwoJCQl9LAoJCQlzZXRUcmFuc2xhdGU6IGZ1bmN0aW9uIHNldFRyYW5zbGF0ZSgpIHsKCQkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQkJaWYgKHN3aXBlci5wYXJhbXMuZWZmZWN0ICE9PSAnZmxpcCcpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuZmxpcEVmZmVjdC5zZXRUcmFuc2xhdGUoKTsKCQkJfSwKCQkJc2V0VHJhbnNpdGlvbjogZnVuY3Rpb24gc2V0VHJhbnNpdGlvbihkdXJhdGlvbikgewoJCQkJdmFyIHN3aXBlciA9IHRoaXM7CgkJCQlpZiAoc3dpcGVyLnBhcmFtcy5lZmZlY3QgIT09ICdmbGlwJykgeyByZXR1cm47IH0KCQkJCXN3aXBlci5mbGlwRWZmZWN0LnNldFRyYW5zaXRpb24oZHVyYXRpb24pOwoJCQl9LAoJCX0sCgl9OwoKCXZhciBDb3ZlcmZsb3cgPSB7CgkJc2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBzZXRUcmFuc2xhdGUoKSB7CgkJCXZhciBzd2lwZXIgPSB0aGlzOwoJCQl2YXIgc3dpcGVyV2lkdGggPSBzd2lwZXIud2lkdGg7CgkJCXZhciBzd2lwZXJIZWlnaHQgPSBzd2lwZXIuaGVpZ2h0OwoJCQl2YXIgc2xpZGVzID0gc3dpcGVyLnNsaWRlczsKCQkJdmFyICR3cmFwcGVyRWwgPSBzd2lwZXIuJHdyYXBwZXJFbDsKCQkJdmFyIHNsaWRlc1NpemVzR3JpZCA9IHN3aXBlci5zbGlkZXNTaXplc0dyaWQ7CgkJCXZhciBwYXJhbXMgPSBzd2lwZXIucGFyYW1zLmNvdmVyZmxvd0VmZmVjdDsKCQkJdmFyIGlzSG9yaXpvbnRhbCA9IHN3aXBlci5pc0hvcml6b250YWwoKTsKCQkJdmFyIHRyYW5zZm9ybSA9IHN3aXBlci50cmFuc2xhdGU7CgkJCXZhciBjZW50ZXIgPSBpc0hvcml6b250YWwgPyAtdHJhbnNmb3JtICsgKHN3aXBlcldpZHRoIC8gMikgOiAtdHJhbnNmb3JtICsgKHN3aXBlckhlaWdodCAvIDIpOwoJCQl2YXIgcm90YXRlID0gaXNIb3Jpem9udGFsID8gcGFyYW1zLnJvdGF0ZSA6IC1wYXJhbXMucm90YXRlOwoJCQl2YXIgdHJhbnNsYXRlID0gcGFyYW1zLmRlcHRoOwoJCQkvLyBFYWNoIHNsaWRlIG9mZnNldCBmcm9tIGNlbnRlcgoJCQlmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gc2xpZGVzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSAxKSB7CgkJCQl2YXIgJHNsaWRlRWwgPSBzbGlkZXMuZXEoaSk7CgkJCQl2YXIgc2xpZGVTaXplID0gc2xpZGVzU2l6ZXNHcmlkW2ldOwoJCQkJdmFyIHNsaWRlT2Zmc2V0ID0gJHNsaWRlRWxbMF0uc3dpcGVyU2xpZGVPZmZzZXQ7CgkJCQl2YXIgb2Zmc2V0TXVsdGlwbGllciA9ICgoY2VudGVyIC0gc2xpZGVPZmZzZXQgLSAoc2xpZGVTaXplIC8gMikpIC8gc2xpZGVTaXplKSAqIHBhcmFtcy5tb2RpZmllcjsKCgkJCQl2YXIgcm90YXRlWSA9IGlzSG9yaXpvbnRhbCA/IHJvdGF0ZSAqIG9mZnNldE11bHRpcGxpZXIgOiAwOwoJCQkJdmFyIHJvdGF0ZVggPSBpc0hvcml6b250YWwgPyAwIDogcm90YXRlICogb2Zmc2V0TXVsdGlwbGllcjsKCQkJCS8vIHZhciByb3RhdGVaID0gMAoJCQkJdmFyIHRyYW5zbGF0ZVogPSAtdHJhbnNsYXRlICogTWF0aC5hYnMob2Zmc2V0TXVsdGlwbGllcik7CgoJCQkJdmFyIHRyYW5zbGF0ZVkgPSBpc0hvcml6b250YWwgPyAwIDogcGFyYW1zLnN0cmV0Y2ggKiAob2Zmc2V0TXVsdGlwbGllcik7CgkJCQl2YXIgdHJhbnNsYXRlWCA9IGlzSG9yaXpvbnRhbCA/IHBhcmFtcy5zdHJldGNoICogKG9mZnNldE11bHRpcGxpZXIpIDogMDsKCgkJCQkvLyBGaXggZm9yIHVsdHJhIHNtYWxsIHZhbHVlcwoJCQkJaWYgKE1hdGguYWJzKHRyYW5zbGF0ZVgpIDwgMC4wMDEpIHsgdHJhbnNsYXRlWCA9IDA7IH0KCQkJCWlmIChNYXRoLmFicyh0cmFuc2xhdGVZKSA8IDAuMDAxKSB7IHRyYW5zbGF0ZVkgPSAwOyB9CgkJCQlpZiAoTWF0aC5hYnModHJhbnNsYXRlWikgPCAwLjAwMSkgeyB0cmFuc2xhdGVaID0gMDsgfQoJCQkJaWYgKE1hdGguYWJzKHJvdGF0ZVkpIDwgMC4wMDEpIHsgcm90YXRlWSA9IDA7IH0KCQkJCWlmIChNYXRoLmFicyhyb3RhdGVYKSA8IDAuMDAxKSB7IHJvdGF0ZVggPSAwOyB9CgoJCQkJdmFyIHNsaWRlVHJhbnNmb3JtID0gInRyYW5zbGF0ZTNkKCIgKyB0cmFuc2xhdGVYICsgInB4LCIgKyB0cmFuc2xhdGVZICsgInB4LCIgKyB0cmFuc2xhdGVaICsgInB4KSAgcm90YXRlWCgiICsgcm90YXRlWCArICJkZWcpIHJvdGF0ZVkoIiArIHJvdGF0ZVkgKyAiZGVnKSI7CgoJCQkJJHNsaWRlRWwudHJhbnNmb3JtKHNsaWRlVHJhbnNmb3JtKTsKCQkJCSRzbGlkZUVsWzBdLnN0eWxlLnpJbmRleCA9IC1NYXRoLmFicyhNYXRoLnJvdW5kKG9mZnNldE11bHRpcGxpZXIpKSArIDE7CgkJCQlpZiAocGFyYW1zLnNsaWRlU2hhZG93cykgewoJCQkJCS8vIFNldCBzaGFkb3dzCgkJCQkJdmFyICRzaGFkb3dCZWZvcmVFbCA9IGlzSG9yaXpvbnRhbCA/ICRzbGlkZUVsLmZpbmQoJy5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQnKSA6ICRzbGlkZUVsLmZpbmQoJy5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCcpOwoJCQkJCXZhciAkc2hhZG93QWZ0ZXJFbCA9IGlzSG9yaXpvbnRhbCA/ICRzbGlkZUVsLmZpbmQoJy5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0JykgOiAkc2xpZGVFbC5maW5kKCcuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20nKTsKCQkJCQlpZiAoJHNoYWRvd0JlZm9yZUVsLmxlbmd0aCA9PT0gMCkgewoJCQkJCQkkc2hhZG93QmVmb3JlRWwgPSAkKCgiPGRpdiBjbGFzcz1cInN3aXBlci1zbGlkZS1zaGFkb3ctIiArIChpc0hvcml6b250YWwgPyAnbGVmdCcgOiAndG9wJykgKyAiXCI+PC9kaXY+IikpOwoJCQkJCQkkc2xpZGVFbC5hcHBlbmQoJHNoYWRvd0JlZm9yZUVsKTsKCQkJCQl9CgkJCQkJaWYgKCRzaGFkb3dBZnRlckVsLmxlbmd0aCA9PT0gMCkgewoJCQkJCQkkc2hhZG93QWZ0ZXJFbCA9ICQoKCI8ZGl2IGNsYXNzPVwic3dpcGVyLXNsaWRlLXNoYWRvdy0iICsgKGlzSG9yaXpvbnRhbCA/ICdyaWdodCcgOiAnYm90dG9tJykgKyAiXCI+PC9kaXY+IikpOwoJCQkJCQkkc2xpZGVFbC5hcHBlbmQoJHNoYWRvd0FmdGVyRWwpOwoJCQkJCX0KCQkJCQlpZiAoJHNoYWRvd0JlZm9yZUVsLmxlbmd0aCkgeyAkc2hhZG93QmVmb3JlRWxbMF0uc3R5bGUub3BhY2l0eSA9IG9mZnNldE11bHRpcGxpZXIgPiAwID8gb2Zmc2V0TXVsdGlwbGllciA6IDA7IH0KCQkJCQlpZiAoJHNoYWRvd0FmdGVyRWwubGVuZ3RoKSB7ICRzaGFkb3dBZnRlckVsWzBdLnN0eWxlLm9wYWNpdHkgPSAoLW9mZnNldE11bHRpcGxpZXIpID4gMCA/IC1vZmZzZXRNdWx0aXBsaWVyIDogMDsgfQoJCQkJfQoJCQl9CgoJCQkvLyBTZXQgY29ycmVjdCBwZXJzcGVjdGl2ZSBmb3IgSUUxMAoJCQlpZiAoU3VwcG9ydC5wb2ludGVyRXZlbnRzIHx8IFN1cHBvcnQucHJlZml4ZWRQb2ludGVyRXZlbnRzKSB7CgkJCQl2YXIgd3MgPSAkd3JhcHBlckVsWzBdLnN0eWxlOwoJCQkJd3MucGVyc3BlY3RpdmVPcmlnaW4gPSBjZW50ZXIgKyAicHggNTAlIjsKCQkJfQoJCX0sCgkJc2V0VHJhbnNpdGlvbjogZnVuY3Rpb24gc2V0VHJhbnNpdGlvbihkdXJhdGlvbikgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJc3dpcGVyLnNsaWRlcwoJCQkJLnRyYW5zaXRpb24oZHVyYXRpb24pCgkJCQkuZmluZCgnLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0JykKCQkJCS50cmFuc2l0aW9uKGR1cmF0aW9uKTsKCQl9LAoJfTsKCgl2YXIgRWZmZWN0Q292ZXJmbG93ID0gewoJCW5hbWU6ICdlZmZlY3QtY292ZXJmbG93JywKCQlwYXJhbXM6IHsKCQkJY292ZXJmbG93RWZmZWN0OiB7CgkJCQlyb3RhdGU6IDUwLAoJCQkJc3RyZXRjaDogMCwKCQkJCWRlcHRoOiAxMDAsCgkJCQltb2RpZmllcjogMSwKCQkJCXNsaWRlU2hhZG93czogdHJ1ZSwKCQkJfSwKCQl9LAoJCWNyZWF0ZTogZnVuY3Rpb24gY3JlYXRlKCkgewoJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJVXRpbHMuZXh0ZW5kKHN3aXBlciwgewoJCQkJY292ZXJmbG93RWZmZWN0OiB7CgkJCQkJc2V0VHJhbnNsYXRlOiBDb3ZlcmZsb3cuc2V0VHJhbnNsYXRlLmJpbmQoc3dpcGVyKSwKCQkJCQlzZXRUcmFuc2l0aW9uOiBDb3ZlcmZsb3cuc2V0VHJhbnNpdGlvbi5iaW5kKHN3aXBlciksCgkJCQl9LAoJCQl9KTsKCQl9LAoJCW9uOiB7CgkJCWJlZm9yZUluaXQ6IGZ1bmN0aW9uIGJlZm9yZUluaXQoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmVmZmVjdCAhPT0gJ2NvdmVyZmxvdycpIHsgcmV0dXJuOyB9CgoJCQkJc3dpcGVyLmNsYXNzTmFtZXMucHVzaCgoKHN3aXBlci5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykgKyAiY292ZXJmbG93IikpOwoJCQkJc3dpcGVyLmNsYXNzTmFtZXMucHVzaCgoKHN3aXBlci5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcykgKyAiM2QiKSk7CgoJCQkJc3dpcGVyLnBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzID0gdHJ1ZTsKCQkJCXN3aXBlci5vcmlnaW5hbFBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzID0gdHJ1ZTsKCQkJfSwKCQkJc2V0VHJhbnNsYXRlOiBmdW5jdGlvbiBzZXRUcmFuc2xhdGUoKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmVmZmVjdCAhPT0gJ2NvdmVyZmxvdycpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuY292ZXJmbG93RWZmZWN0LnNldFRyYW5zbGF0ZSgpOwoJCQl9LAoJCQlzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiBzZXRUcmFuc2l0aW9uKGR1cmF0aW9uKSB7CgkJCQl2YXIgc3dpcGVyID0gdGhpczsKCQkJCWlmIChzd2lwZXIucGFyYW1zLmVmZmVjdCAhPT0gJ2NvdmVyZmxvdycpIHsgcmV0dXJuOyB9CgkJCQlzd2lwZXIuY292ZXJmbG93RWZmZWN0LnNldFRyYW5zaXRpb24oZHVyYXRpb24pOwoJCQl9LAoJCX0sCgl9OwoKCS8vIFN3aXBlciBDbGFzcwoKCXZhciBjb21wb25lbnRzID0gWwoJCURldmljZSQxLAoJCVN1cHBvcnQkMSwKCQlCcm93c2VyJDEsCgkJUmVzaXplLAoJCU9ic2VydmVyJDEsCgkJVmlydHVhbCQxLAoJCUtleWJvYXJkJDEsCgkJTW91c2V3aGVlbCQxLAoJCU5hdmlnYXRpb24kMSwKCQlQYWdpbmF0aW9uJDEsCgkJU2Nyb2xsYmFyJDEsCgkJUGFyYWxsYXgkMSwKCQlab29tJDEsCgkJTGF6eSQxLAoJCUNvbnRyb2xsZXIkMSwKCQlBMTF5LAoJCUhpc3RvcnkkMSwKCQlIYXNoTmF2aWdhdGlvbiQxLAoJCUF1dG9wbGF5JDEsCgkJRWZmZWN0RmFkZSwKCQlFZmZlY3RDdWJlLAoJCUVmZmVjdEZsaXAsCgkJRWZmZWN0Q292ZXJmbG93CgldOwoKCWlmICh0eXBlb2YgU3dpcGVyLnVzZSA9PT0gJ3VuZGVmaW5lZCcpIHsKCQlTd2lwZXIudXNlID0gU3dpcGVyLkNsYXNzLnVzZTsKCQlTd2lwZXIuaW5zdGFsbE1vZHVsZSA9IFN3aXBlci5DbGFzcy5pbnN0YWxsTW9kdWxlOwoJfQoKCVN3aXBlci51c2UoY29tcG9uZW50cyk7CgoJcmV0dXJuIFN3aXBlcjsKCn0pKSk7"}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":78,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.873Z","timestamp":1785139583873,"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-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 08:06:23 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: 9a585b2d560440b4b2b2927ab379050e\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-28T06:17:53.579611Z","times_seen":122,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.180Z","timestamp":1785139584180,"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 08:06:24 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: ec86fb74a3a7f81045d4f62351898eea\r\ncdn-cache: HIT\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Bunny","description":"","website":"https://bunny.net","common_platform_enumeration":"","icon":"Bunny.svg","categories":["CDN"]}],"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-08-12T05:10:43.152128Z","times_seen":353,"resource_available":false,"data":"ewoiY3VycmVuY2llcyI6IFsKeyJpZCI6IkFFRCIsImNvZGUiOiJBRUQiLCJkZXNjcmlwdGlvbiI6IlVuaXRlZCBBcmFiIEVtaXJhdGVzIERpcmhhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BRSJ9LAp7ImlkIjoiQUZOIiwiY29kZSI6IkFGTiIsImRlc2NyaXB0aW9uIjoiQWZnaGFuIEFmZ2hhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQUYifSwKeyJpZCI6IkFMTCIsImNvZGUiOiJBTEwiLCJkZXNjcmlwdGlvbiI6IkFsYmFuaWFuIExlayIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTCJ9LAp7ImlkIjoiQU1EIiwiY29kZSI6IkFNRCIsImRlc2NyaXB0aW9uIjoiQXJtZW5pYW4gRHJhbSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BTSJ9LAp7ImlkIjoiQU9BIiwiY29kZSI6IkFPQSIsImRlc2NyaXB0aW9uIjoiQW5nb2xhbiBLd2FuemEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQU8ifSwKeyJpZCI6IkFSUyIsImNvZGUiOiJBUlMiLCJkZXNjcmlwdGlvbiI6IkFyZ2VudGluZSBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FSIn0sCnsiaWQiOiJBVUQiLCJjb2RlIjoiQVVEIiwiZGVzY3JpcHRpb24iOiJBdXN0cmFsaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVSJ9LAp7ImlkIjoiQVdHIiwiY29kZSI6IkFXRyIsImRlc2NyaXB0aW9uIjoiQXJ1YmFuIEZsb3JpbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVyJ9LAp7ImlkIjoiQVpOIiwiY29kZSI6IkFaTiIsImRlc2NyaXB0aW9uIjoiQXplcmJhaWphbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQVoifSwKeyJpZCI6IkJBTSIsImNvZGUiOiJCQU0iLCJkZXNjcmlwdGlvbiI6IkJvc25pYS1IZXJ6ZWdvdmluYSBDb252ZXJ0aWJsZSBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JBIn0sCnsiaWQiOiJCQkQiLCJjb2RlIjoiQkJEIiwiZGVzY3JpcHRpb24iOiJCYXJiYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JCIn0sCnsiaWQiOiJCRFQiLCJjb2RlIjoiQkRUIiwiZGVzY3JpcHRpb24iOiJCYW5nbGFkZXNoaSBUYWthIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JEIn0sCnsiaWQiOiJCR04iLCJjb2RlIjoiQkdOIiwiZGVzY3JpcHRpb24iOiJCdWxnYXJpYW4gTGV2Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JHIn0sCnsiaWQiOiJCSEQiLCJjb2RlIjoiQkhEIiwiZGVzY3JpcHRpb24iOiJCYWhyYWluaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CSCJ9LAp7ImlkIjoiQklGIiwiY29kZSI6IkJJRiIsImRlc2NyaXB0aW9uIjoiQnVydW5kaWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JJIn0sCnsiaWQiOiJCTUQiLCJjb2RlIjoiQk1EIiwiZGVzY3JpcHRpb24iOiJCZXJtdWRhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk0ifSwKeyJpZCI6IkJORCIsImNvZGUiOiJCTkQiLCJkZXNjcmlwdGlvbiI6IkJydW5laSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQk4ifSwKeyJpZCI6IkJPQiIsImNvZGUiOiJCT0IiLCJkZXNjcmlwdGlvbiI6IkJvbGl2aWFuIEJvbGl2aWFubyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CTyJ9LAp7ImlkIjoiQlJMIiwiY29kZSI6IkJSTCIsImRlc2NyaXB0aW9uIjoiQnJhemlsaWFuIFJlYWwiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQlIifSwKeyJpZCI6IkJTRCIsImNvZGUiOiJCU0QiLCJkZXNjcmlwdGlvbiI6IkJhaGFtaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CUyJ9LAp7ImlkIjoiQlROIiwiY29kZSI6IkJUTiIsImRlc2NyaXB0aW9uIjoiQmh1dGFuZXNlIE5ndWx0cnVtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JUIn0sCnsiaWQiOiJCV1AiLCJjb2RlIjoiQldQIiwiZGVzY3JpcHRpb24iOiJCb3Rzd2FuYW4gUHVsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CVyJ9LAp7ImlkIjoiQllOIiwiY29kZSI6IkJZTiIsImRlc2NyaXB0aW9uIjoiQmVsYXJ1c2lhbiBSdWJsZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWSJ9LAp7ImlkIjoiQlpEIiwiY29kZSI6IkJaRCIsImRlc2NyaXB0aW9uIjoiQmVsaXplIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CWiJ9LAp7ImlkIjoiQ0FEIiwiY29kZSI6IkNBRCIsImRlc2NyaXB0aW9uIjoiQ2FuYWRpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NBIn0sCnsiaWQiOiJDREYiLCJjb2RlIjoiQ0RGIiwiZGVzY3JpcHRpb24iOiJDb25nb2xlc2UgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0QifSwKeyJpZCI6IkNIRiIsImNvZGUiOiJDSEYiLCJkZXNjcmlwdGlvbiI6IlN3aXNzIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NIIn0sCnsiaWQiOiJDTEYiLCJjb2RlIjoiQ0xGIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFVuaXQgb2YgQWNjb3VudCAoVUYpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NMIn0sCnsiaWQiOiJDTFAiLCJjb2RlIjoiQ0xQIiwiZGVzY3JpcHRpb24iOiJDaGlsZWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ0wifSwKeyJpZCI6IkNOWSIsImNvZGUiOiJDTlkiLCJkZXNjcmlwdGlvbiI6IkNoaW5lc2UgWXVhbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DTiJ9LAp7ImlkIjoiQ09QIiwiY29kZSI6IkNPUCIsImRlc2NyaXB0aW9uIjoiQ29sb21iaWFuIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ08ifSwKeyJpZCI6IkNSQyIsImNvZGUiOiJDUkMiLCJkZXNjcmlwdGlvbiI6IkNvc3RhIFJpY2FuIENvbMOzbiIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DUiJ9LAp7ImlkIjoiQ1VQIiwiY29kZSI6IkNVUCIsImRlc2NyaXB0aW9uIjoiQ3ViYW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVSJ9LAp7ImlkIjoiQ1ZFIiwiY29kZSI6IkNWRSIsImRlc2NyaXB0aW9uIjoiQ2FwZSBWZXJkZWFuIEVzY3VkbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DViJ9LAp7ImlkIjoiQ1pLIiwiY29kZSI6IkNaSyIsImRlc2NyaXB0aW9uIjoiQ3plY2ggS29ydW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0NaIn0sCnsiaWQiOiJESkYiLCJjb2RlIjoiREpGIiwiZGVzY3JpcHRpb24iOiJEamlib3V0aWFuIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RKIn0sCnsiaWQiOiJES0siLCJjb2RlIjoiREtLIiwiZGVzY3JpcHRpb24iOiJEYW5pc2ggS3JvbmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvREsifSwKeyJpZCI6IkRPUCIsImNvZGUiOiJET1AiLCJkZXNjcmlwdGlvbiI6IkRvbWluaWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RPIn0sCnsiaWQiOiJEWkQiLCJjb2RlIjoiRFpEIiwiZGVzY3JpcHRpb24iOiJBbGdlcmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9EWiJ9LAp7ImlkIjoiRUdQIiwiY29kZSI6IkVHUCIsImRlc2NyaXB0aW9uIjoiRWd5cHRpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRUcifSwKeyJpZCI6IkVSTiIsImNvZGUiOiJFUk4iLCJkZXNjcmlwdGlvbiI6IkVyaXRyZWFuIE5ha2ZhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0VSIn0sCnsiaWQiOiJFVEIiLCJjb2RlIjoiRVRCIiwiZGVzY3JpcHRpb24iOiJFdGhpb3BpYW4gQmlyciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVCJ9LAp7ImlkIjoiRVVSIiwiY29kZSI6IkVVUiIsImRlc2NyaXB0aW9uIjoiRXVybyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FVSJ9LAp7ImlkIjoiRkpEIiwiY29kZSI6IkZKRCIsImRlc2NyaXB0aW9uIjoiRmlqaWFuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GSiJ9LAp7ImlkIjoiR0JQIiwiY29kZSI6IkdCUCIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HQiJ9LAp7ImlkIjoiR0VMIiwiY29kZSI6IkdFTCIsImRlc2NyaXB0aW9uIjoiR2VvcmdpYW4gTGFyaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HRSJ9LAp7ImlkIjoiR0hTIiwiY29kZSI6IkdIUyIsImRlc2NyaXB0aW9uIjoiR2hhbmFpYW4gQ2VkaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HSCJ9LAp7ImlkIjoiR0lQIiwiY29kZSI6IkdJUCIsImRlc2NyaXB0aW9uIjoiR2licmFsdGFyIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dJIn0sCnsiaWQiOiJHTUQiLCJjb2RlIjoiR01EIiwiZGVzY3JpcHRpb24iOiJHYW1iaWFuIERhbGFzaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTSJ9LAp7ImlkIjoiR05GIiwiY29kZSI6IkdORiIsImRlc2NyaXB0aW9uIjoiR3VpbmVhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9HTiJ9LAp7ImlkIjoiR1RRIiwiY29kZSI6IkdUUSIsImRlc2NyaXB0aW9uIjoiR3VhdGVtYWxhbiBRdWV0emFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dUIn0sCnsiaWQiOiJHWUQiLCJjb2RlIjoiR1lEIiwiZGVzY3JpcHRpb24iOiJHdXlhbmFlc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0dZIn0sCnsiaWQiOiJIS0QiLCJjb2RlIjoiSEtEIiwiZGVzY3JpcHRpb24iOiJIb25nIEtvbmcgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hLIn0sCnsiaWQiOiJITkwiLCJjb2RlIjoiSE5MIiwiZGVzY3JpcHRpb24iOiJIb25kdXJhbiBMZW1waXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0hOIn0sCnsiaWQiOiJIVEciLCJjb2RlIjoiSFRHIiwiZGVzY3JpcHRpb24iOiJIYWl0aWFuIEdvdXJkZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVCJ9LAp7ImlkIjoiSFVGIiwiY29kZSI6IkhVRiIsImRlc2NyaXB0aW9uIjoiSHVuZ2FyaWFuIEZvcmludCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9IVSJ9LAp7ImlkIjoiSURSIiwiY29kZSI6IklEUiIsImRlc2NyaXB0aW9uIjoiSW5kb25lc2lhbiBSdXBpYWgiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSUQifSwKeyJpZCI6IklMUyIsImNvZGUiOiJJTFMiLCJkZXNjcmlwdGlvbiI6IklzcmFlbGkgTmV3IFNoZWtlbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiSU5SIiwiY29kZSI6IklOUiIsImRlc2NyaXB0aW9uIjoiSW5kaWFuIFJ1cGVlIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lOIn0sCnsiaWQiOiJJUUQiLCJjb2RlIjoiSVFEIiwiZGVzY3JpcHRpb24iOiJJcmFxaSBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JUSJ9LAp7ImlkIjoiSVJSIiwiY29kZSI6IklSUiIsImRlc2NyaXB0aW9uIjoiSXJhbmlhbiBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lSIn0sCnsiaWQiOiJJU0siLCJjb2RlIjoiSVNLIiwiZGVzY3JpcHRpb24iOiJJY2VsYW5kaWMgS3LDs25hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lTIn0sCnsiaWQiOiJKTUQiLCJjb2RlIjoiSk1EIiwiZGVzY3JpcHRpb24iOiJKYW1haWNhbiBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvSk0ifSwKeyJpZCI6IkpPRCIsImNvZGUiOiJKT0QiLCJkZXNjcmlwdGlvbiI6IkpvcmRhbmlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9KTyJ9LAp7ImlkIjoiSlBZIiwiY29kZSI6IkpQWSIsImRlc2NyaXB0aW9uIjoiSmFwYW5lc2UgWWVuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0pQIn0sCnsiaWQiOiJLRVMiLCJjb2RlIjoiS0VTIiwiZGVzY3JpcHRpb24iOiJLZW55YW4gU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS0UifSwKeyJpZCI6IktHUyIsImNvZGUiOiJLR1MiLCJkZXNjcmlwdGlvbiI6Ikt5cmd5c3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0tHIn0sCnsiaWQiOiJLSFIiLCJjb2RlIjoiS0hSIiwiZGVzY3JpcHRpb24iOiJDYW1ib2RpYW4gUmllbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LSCJ9LAp7ImlkIjoiS01GIiwiY29kZSI6IktNRiIsImRlc2NyaXB0aW9uIjoiQ29tb3JpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS00ifSwKeyJpZCI6IktQVyIsImNvZGUiOiJLUFciLCJkZXNjcmlwdGlvbiI6Ik5vcnRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1AifSwKeyJpZCI6IktSVyIsImNvZGUiOiJLUlciLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEtvcmVhbiBXb24iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1IifSwKeyJpZCI6IktXRCIsImNvZGUiOiJLV0QiLCJkZXNjcmlwdGlvbiI6Ikt1d2FpdGkgRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IktZRCIsImNvZGUiOiJLWUQiLCJkZXNjcmlwdGlvbiI6IkNheW1hbiBJc2xhbmRzIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9LWSJ9LAp7ImlkIjoiS1pUIiwiY29kZSI6IktaVCIsImRlc2NyaXB0aW9uIjoiS2F6YWtoc3RhbmkgVGVuZ2UiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1oifSwKeyJpZCI6IkxBSyIsImNvZGUiOiJMQUsiLCJkZXNjcmlwdGlvbiI6Ikxhb3RpYW4gS2lwIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xBIn0sCnsiaWQiOiJMQlAiLCJjb2RlIjoiTEJQIiwiZGVzY3JpcHRpb24iOiJMZWJhbmVzZSBQb3VuZCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MQiJ9LAp7ImlkIjoiTEtSIiwiY29kZSI6IkxLUiIsImRlc2NyaXB0aW9uIjoiU3JpIExhbmthbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MSyJ9LAp7ImlkIjoiTFJEIiwiY29kZSI6IkxSRCIsImRlc2NyaXB0aW9uIjoiTGliZXJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0xSIn0sCnsiaWQiOiJMU0wiLCJjb2RlIjoiTFNMIiwiZGVzY3JpcHRpb24iOiJMZXNvdGhvIExvdGkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFMifSwKeyJpZCI6IkxZRCIsImNvZGUiOiJMWUQiLCJkZXNjcmlwdGlvbiI6IkxpYnlhbiBEaW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9MWSJ9LAp7ImlkIjoiTUFEIiwiY29kZSI6Ik1BRCIsImRlc2NyaXB0aW9uIjoiTW9yb2NjYW4gRGlyaGFtIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01BIn0sCnsiaWQiOiJNREwiLCJjb2RlIjoiTURMIiwiZGVzY3JpcHRpb24iOiJNb2xkb3ZhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTUQifSwKeyJpZCI6Ik1HQSIsImNvZGUiOiJNR0EiLCJkZXNjcmlwdGlvbiI6Ik1hbGFnYXN5IEFyaWFyeSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NRyJ9LAp7ImlkIjoiTUtEIiwiY29kZSI6Ik1LRCIsImRlc2NyaXB0aW9uIjoiTWFjZWRvbmlhbiBEZW5hciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NSyJ9LAp7ImlkIjoiTU1LIiwiY29kZSI6Ik1NSyIsImRlc2NyaXB0aW9uIjoiTXlhbm1hciBLeWF0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01NIn0sCnsiaWQiOiJNTlQiLCJjb2RlIjoiTU5UIiwiZGVzY3JpcHRpb24iOiJNb25nb2xpYW4gVHVncmlrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01OIn0sCnsiaWQiOiJNT1AiLCJjb2RlIjoiTU9QIiwiZGVzY3JpcHRpb24iOiJNYWNhbmVzZSBQYXRhY2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTU8ifSwKeyJpZCI6Ik1SVSIsImNvZGUiOiJNUlUiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGFuaWFuIG91Z3VpeWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVIifSwKeyJpZCI6Ik1VUiIsImNvZGUiOiJNVVIiLCJkZXNjcmlwdGlvbiI6Ik1hdXJpdGlhbiBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVSJ9LAp7ImlkIjoiTVZSIiwiY29kZSI6Ik1WUiIsImRlc2NyaXB0aW9uIjoiTWFsZGl2aWFuIFJ1Zml5YWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVYifSwKeyJpZCI6Ik1XSyIsImNvZGUiOiJNV0siLCJkZXNjcmlwdGlvbiI6Ik1hbGF3aWFuIEt3YWNoYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NVyJ9LAp7ImlkIjoiTVhOIiwiY29kZSI6Ik1YTiIsImRlc2NyaXB0aW9uIjoiTWV4aWNhbiBQZXNvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L01YIn0sCnsiaWQiOiJNWFYiLCJjb2RlIjoiTVhWIiwiZGVzY3JpcHRpb24iOiJNZXhpY2FuIEludmVzdG1lbnQgVW5pdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWCJ9LAp7ImlkIjoiTVlSIiwiY29kZSI6Ik1ZUiIsImRlc2NyaXB0aW9uIjoiTWFsYXlzaWFuIFJpbmdnaXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTVkifSwKeyJpZCI6Ik1aTiIsImNvZGUiOiJNWk4iLCJkZXNjcmlwdGlvbiI6Ik1vemFtYmljYW4gTWV0aWNhbCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9NWiJ9LAp7ImlkIjoiTkFEIiwiY29kZSI6Ik5BRCIsImRlc2NyaXB0aW9uIjoiTmFtaWJpYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05BIn0sCnsiaWQiOiJOR04iLCJjb2RlIjoiTkdOIiwiZGVzY3JpcHRpb24iOiJOaWdlcmlhbiBOYWlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9ORyJ9LAp7ImlkIjoiTklPIiwiY29kZSI6Ik5JTyIsImRlc2NyaXB0aW9uIjoiTmljYXJhZ3VhbiBDw7NyZG9iYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OSSJ9LAp7ImlkIjoiTk9LIiwiY29kZSI6Ik5PSyIsImRlc2NyaXB0aW9uIjoiTm9yd2VnaWFuIEtyb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05PIn0sCnsiaWQiOiJOUFIiLCJjb2RlIjoiTlBSIiwiZGVzY3JpcHRpb24iOiJOZXBhbGVzZSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9OUCJ9LAp7ImlkIjoiTlpEIiwiY29kZSI6Ik5aRCIsImRlc2NyaXB0aW9uIjoiTmV3IFplYWxhbmQgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L05aIn0sCnsiaWQiOiJPTVIiLCJjb2RlIjoiT01SIiwiZGVzY3JpcHRpb24iOiJPbWFuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L09NIn0sCnsiaWQiOiJQQUIiLCJjb2RlIjoiUEFCIiwiZGVzY3JpcHRpb24iOiJQYW5hbWFuaWFuIEJhbGJvYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QQSJ9LAp7ImlkIjoiUEVOIiwiY29kZSI6IlBFTiIsImRlc2NyaXB0aW9uIjoiUGVydXZpYW4gU29sIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BFIn0sCnsiaWQiOiJQR0siLCJjb2RlIjoiUEdLIiwiZGVzY3JpcHRpb24iOiJQYXB1YSBOZXcgR3VpbmVhbiBLaW5hIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BHIn0sCnsiaWQiOiJQSFAiLCJjb2RlIjoiUEhQIiwiZGVzY3JpcHRpb24iOiJQaGlsaXBwaW5lIFBlc28iLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEgifSwKeyJpZCI6IlBLUiIsImNvZGUiOiJQS1IiLCJkZXNjcmlwdGlvbiI6IlBha2lzdGFuaSBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9QSyJ9LAp7ImlkIjoiUExOIiwiY29kZSI6IlBMTiIsImRlc2NyaXB0aW9uIjoiUG9saXNoIFpsb3R5Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BMIn0sCnsiaWQiOiJQWUciLCJjb2RlIjoiUFlHIiwiZGVzY3JpcHRpb24iOiJQYXJhZ3VheWFuIEd1YXJhbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUFkifSwKeyJpZCI6IlFBUiIsImNvZGUiOiJRQVIiLCJkZXNjcmlwdGlvbiI6IlFhdGFyaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1FBIn0sCnsiaWQiOiJST04iLCJjb2RlIjoiUk9OIiwiZGVzY3JpcHRpb24iOiJSb21hbmlhbiBMZXUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUk8ifSwKeyJpZCI6IlJTRCIsImNvZGUiOiJSU0QiLCJkZXNjcmlwdGlvbiI6IlNlcmJpYW4gRGluYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlMifSwKeyJpZCI6IlJVQiIsImNvZGUiOiJSVUIiLCJkZXNjcmlwdGlvbiI6IlJ1c3NpYW4gUnVibGUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlUifSwKeyJpZCI6IlJXRiIsImNvZGUiOiJSV0YiLCJkZXNjcmlwdGlvbiI6IlJ3YW5kYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUlcifSwKeyJpZCI6IlNBUiIsImNvZGUiOiJTQVIiLCJkZXNjcmlwdGlvbiI6IlNhdWRpIFJpeWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NBIn0sCnsiaWQiOiJTQkQiLCJjb2RlIjoiU0JEIiwiZGVzY3JpcHRpb24iOiJTb2xvbW9uIElzbGFuZHMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NCIn0sCnsiaWQiOiJTQ1IiLCJjb2RlIjoiU0NSIiwiZGVzY3JpcHRpb24iOiJTZXljaGVsbG9pcyBSdXBlZSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TQyJ9LAp7ImlkIjoiU0RHIiwiY29kZSI6IlNERyIsImRlc2NyaXB0aW9uIjoiU3VkYW5lc2UgUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0QifSwKeyJpZCI6IlNFSyIsImNvZGUiOiJTRUsiLCJkZXNjcmlwdGlvbiI6IlN3ZWRpc2ggS3JvbmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0UifSwKeyJpZCI6IlNHRCIsImNvZGUiOiJTR0QiLCJkZXNjcmlwdGlvbiI6IlNpbmdhcG9yZSBEb2xsYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0cifSwKeyJpZCI6IlNMTCIsImNvZGUiOiJTTEwiLCJkZXNjcmlwdGlvbiI6IlNpZXJyYSBMZW9uZWFuIExlb25lIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NMIn0sCnsiaWQiOiJTT1MiLCJjb2RlIjoiU09TIiwiZGVzY3JpcHRpb24iOiJTb21hbGkgU2hpbGxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU08ifSwKeyJpZCI6IlNSRCIsImNvZGUiOiJTUkQiLCJkZXNjcmlwdGlvbiI6IlN1cmluYW1lc2UgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NSIn0sCnsiaWQiOiJTVE4iLCJjb2RlIjoiU1ROIiwiZGVzY3JpcHRpb24iOiJTYW8gVG9tZSBhbmQgUHJpbmNpcGUgZG9icmEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1QifSwKeyJpZCI6IlNWQyIsImNvZGUiOiJTVkMiLCJkZXNjcmlwdGlvbiI6IlNhbHZhZG9yYW4gQ29sw7NuIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1NWIn0sCnsiaWQiOiJTWVAiLCJjb2RlIjoiU1lQIiwiZGVzY3JpcHRpb24iOiJTeXJpYW4gUG91bmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU1kifSwKeyJpZCI6IlNaTCIsImNvZGUiOiJTWkwiLCJkZXNjcmlwdGlvbiI6IlN3YXppIExpbGFuZ2VuaSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9TWiJ9LAp7ImlkIjoiVEhCIiwiY29kZSI6IlRIQiIsImRlc2NyaXB0aW9uIjoiVGhhaSBCYWh0Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RIIn0sCnsiaWQiOiJUSlMiLCJjb2RlIjoiVEpTIiwiZGVzY3JpcHRpb24iOiJUYWppa2lzdGFuaSBTb21vbmkiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVEoifSwKeyJpZCI6IlRNVCIsImNvZGUiOiJUTVQiLCJkZXNjcmlwdGlvbiI6IlR1cmttZW5pc3RhbmkgTWFuYXQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE0ifSwKeyJpZCI6IlRORCIsImNvZGUiOiJUTkQiLCJkZXNjcmlwdGlvbiI6IlR1bmlzaWFuIERpbmFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ROIn0sCnsiaWQiOiJUT1AiLCJjb2RlIjoiVE9QIiwiZGVzY3JpcHRpb24iOiJUb25nYW4gUGHKu2FuZ2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVE8ifSwKeyJpZCI6IlRSWSIsImNvZGUiOiJUUlkiLCJkZXNjcmlwdGlvbiI6IlR1cmtpc2ggTGlyYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UUiJ9LAp7ImlkIjoiVFREIiwiY29kZSI6IlRURCIsImRlc2NyaXB0aW9uIjoiVHJpbmlkYWQgJiBUb2JhZ28gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RUIn0sCnsiaWQiOiJUV0QiLCJjb2RlIjoiVFdEIiwiZGVzY3JpcHRpb24iOiJOZXcgVGFpd2FuIERvbGxhciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9UVyJ9LAp7ImlkIjoiVFpTIiwiY29kZSI6IlRaUyIsImRlc2NyaXB0aW9uIjoiVGFuemFuaWFuIFNoaWxsaW5nIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1RaIn0sCnsiaWQiOiJVQUgiLCJjb2RlIjoiVUFIIiwiZGVzY3JpcHRpb24iOiJVa3JhaW5pYW4gSHJ5dm5pYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VQSJ9LAp7ImlkIjoiVUdYIiwiY29kZSI6IlVHWCIsImRlc2NyaXB0aW9uIjoiVWdhbmRhbiBTaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VRyJ9LAp7ImlkIjoiVVNEIiwiY29kZSI6IlVTRCIsImRlc2NyaXB0aW9uIjoiVVMgRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJVWVUiLCJjb2RlIjoiVVlVIiwiZGVzY3JpcHRpb24iOiJVcnVndWF5YW4gUGVzbyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9VWSJ9LAp7ImlkIjoiVVpTIiwiY29kZSI6IlVaUyIsImRlc2NyaXB0aW9uIjoiVXpiZWtpc3RhbmkgU29tIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VaIn0sCnsiaWQiOiJWRVMiLCJjb2RlIjoiVkVTIiwiZGVzY3JpcHRpb24iOiJTb3ZlcmVpZ24gYm9sw612YXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVkUifSwKeyJpZCI6IlZORCIsImNvZGUiOiJWTkQiLCJkZXNjcmlwdGlvbiI6IlZpZXRuYW1lc2UgRG9uZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9WTiJ9LAp7ImlkIjoiVlVWIiwiY29kZSI6IlZVViIsImRlc2NyaXB0aW9uIjoiVmFudWF0dSBWYXR1Iiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1ZVIn0sCnsiaWQiOiJXU1QiLCJjb2RlIjoiV1NUIiwiZGVzY3JpcHRpb24iOiJTYW1vYW4gVGFsYSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9XUyJ9LAp7ImlkIjoiWEFGIiwiY29kZSI6IlhBRiIsImRlc2NyaXB0aW9uIjoiQ2VudHJhbCBBZnJpY2FuIENGQSBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DRiJ9LAp7ImlkIjoiWENEIiwiY29kZSI6IlhDRCIsImRlc2NyaXB0aW9uIjoiRWFzdCBDYXJpYmJlYW4gRG9sbGFyIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0FHIn0sCnsiaWQiOiJYQ0ciLCJjb2RlIjoiWENHIiwiZGVzY3JpcHRpb24iOiJDYXJpYmJlYW4gZ3VpbGRlciIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9DVyJ9LAp7ImlkIjoiWERSIiwiY29kZSI6IlhEUiIsImRlc2NyaXB0aW9uIjoiU0RSIChTcGVjaWFsIERyYXdpbmcgUmlnaHQpIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1VTIn0sCnsiaWQiOiJYT0YiLCJjb2RlIjoiWE9GIiwiZGVzY3JpcHRpb24iOiJXZXN0IEFmcmljYW4gQ0ZBIEZyYW5jIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0JKIn0sCnsiaWQiOiJYUEYiLCJjb2RlIjoiWFBGIiwiZGVzY3JpcHRpb24iOiJDRlAgRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvUEYifSwKeyJpZCI6IlhUVkFUUyIsImNvZGUiOiJBVFMiLCJkZXNjcmlwdGlvbiI6IkF1c3RyaWFuIFNjaGlsbGluZyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9BVCJ9LAp7ImlkIjoiWFRWQkVGIiwiY29kZSI6IkJFRiIsImRlc2NyaXB0aW9uIjoiQmVsZ2lhbiBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9CRSJ9LAp7ImlkIjoiWFRWQzFJTkNIIiwiY29kZSI6IjFJTkNIIiwiZGVzY3JpcHRpb24iOiIxaW5jaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQzFJTkNIIn0sCnsiaWQiOiJYVFZDQUFWRSIsImNvZGUiOiJBQVZFIiwiZGVzY3JpcHRpb24iOiJBYXZlIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUFWRSJ9LAp7ImlkIjoiWFRWQ0FEQSIsImNvZGUiOiJBREEiLCJkZXNjcmlwdGlvbiI6IkNhcmRhbm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNBREEifSwKeyJpZCI6IlhUVkNBTEdPIiwiY29kZSI6IkFMR08iLCJkZXNjcmlwdGlvbiI6IkFsZ29yYW5kIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQUxHTyJ9LAp7ImlkIjoiWFRWQ0FOS1IiLCJjb2RlIjoiQU5LUiIsImRlc2NyaXB0aW9uIjoiQW5rciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FOS1IifSwKeyJpZCI6IlhUVkNBVE9NIiwiY29kZSI6IkFUT00iLCJkZXNjcmlwdGlvbiI6IkNvc21vcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FUT00ifSwKeyJpZCI6IlhUVkNBVkFYIiwiY29kZSI6IkFWQVgiLCJkZXNjcmlwdGlvbiI6IkF2YWxhbmNoZSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0FWQVgifSwKeyJpZCI6IlhUVkNBWFMiLCJjb2RlIjoiQVhTIiwiZGVzY3JpcHRpb24iOiJBeGllIEluZmluaXR5Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQVhTIn0sCnsiaWQiOiJYVFZDQkFUIiwiY29kZSI6IkJBVCIsImRlc2NyaXB0aW9uIjoiQmFzaWMgQXR0ZW50aW9uIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkFUIn0sCnsiaWQiOiJYVFZDQkNIIiwiY29kZSI6IkJDSCIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBDYXNoIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQkNIIn0sCnsiaWQiOiJYVFZDQk5CIiwiY29kZSI6IkJOQiIsImRlc2NyaXB0aW9uIjoiQk5CIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5CIn0sCnsiaWQiOiJYVFZDQk5UIiwiY29kZSI6IkJOVCIsImRlc2NyaXB0aW9uIjoiQmFuY29yIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQk5UIn0sCnsiaWQiOiJYVFZDQlNWIiwiY29kZSI6IkJTViIsImRlc2NyaXB0aW9uIjoiQml0Y29pbiBTViIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0JTViJ9LAp7ImlkIjoiWFRWQ0JUQyIsImNvZGUiOiJCVEMiLCJkZXNjcmlwdGlvbiI6IkJpdGNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNCVEMifSwKeyJpZCI6IlhUVkNDQUtFIiwiY29kZSI6IkNBS0UiLCJkZXNjcmlwdGlvbiI6IlBhbmNha2VTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0FLRSJ9LAp7ImlkIjoiWFRWQ0NLQiIsImNvZGUiOiJDS0IiLCJkZXNjcmlwdGlvbiI6Ik5lcnZvcyBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ0tCIn0sCnsiaWQiOiJYVFZDQ09NUCIsImNvZGUiOiJDT01QIiwiZGVzY3JpcHRpb24iOiJDb21wb3VuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0NPTVAifSwKeyJpZCI6IlhUVkNDT1RJIiwiY29kZSI6IkNPVEkiLCJkZXNjcmlwdGlvbiI6IkNPVEkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNDT1RJIn0sCnsiaWQiOiJYVFZDQ1JWIiwiY29kZSI6IkNSViIsImRlc2NyaXB0aW9uIjoiQ3VydmUgREFPIFRva2VuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDQ1JWIn0sCnsiaWQiOiJYVFZDREFJIiwiY29kZSI6IkRBSSIsImRlc2NyaXB0aW9uIjoiRGFpIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDREFJIn0sCnsiaWQiOiJYVFZDRE9HRSIsImNvZGUiOiJET0dFIiwiZGVzY3JpcHRpb24iOiJEb2dlY29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPR0UifSwKeyJpZCI6IlhUVkNET1QiLCJjb2RlIjoiRE9UIiwiZGVzY3JpcHRpb24iOiJQb2xrYWRvdCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0RPVCJ9LAp7ImlkIjoiWFRWQ0RZRFgiLCJjb2RlIjoiRVRIRFlEWCIsImRlc2NyaXB0aW9uIjoiZFlkWCAoZXRoRFlEWCkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNEWURYIn0sCnsiaWQiOiJYVFZDRUdMRCIsImNvZGUiOiJFR0xEIiwiZGVzY3JpcHRpb24iOiJNdWx0aXZlcnNYIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRUdMRCJ9LAp7ImlkIjoiWFRWQ0VPUyIsImNvZGUiOiJFT1MiLCJkZXNjcmlwdGlvbiI6IkVPUyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VPUyJ9LAp7ImlkIjoiWFRWQ0VUQyIsImNvZGUiOiJFVEMiLCJkZXNjcmlwdGlvbiI6IkV0aGVyZXVtIENsYXNzaWMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNFVEMifSwKeyJpZCI6IlhUVkNFVEgiLCJjb2RlIjoiRVRIIiwiZGVzY3JpcHRpb24iOiJFdGhlcmV1bSIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0VUSCJ9LAp7ImlkIjoiWFRWQ0ZJTCIsImNvZGUiOiJGSUwiLCJkZXNjcmlwdGlvbiI6IkZpbGVjb2luIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDRklMIn0sCnsiaWQiOiJYVFZDRlRNIiwiY29kZSI6IkZUTSIsImRlc2NyaXB0aW9uIjoiRmFudG9tIChNaWdyYXRlZCB0byBTb25pYykiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVE0ifSwKeyJpZCI6IlhUVkNGVFQiLCJjb2RlIjoiRlRUIiwiZGVzY3JpcHRpb24iOiJGVFggVG9rZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNGVFQifSwKeyJpZCI6IlhUVkNHTk8iLCJjb2RlIjoiR05PIiwiZGVzY3JpcHRpb24iOiJHbm9zaXMiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNHTk8ifSwKeyJpZCI6IlhUVkNHUkFNIiwiY29kZSI6IkdSQU0iLCJkZXNjcmlwdGlvbiI6IkdyYW0gKHByZXYuIFRvbmNvaW4pIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDR1JBTSJ9LAp7ImlkIjoiWFRWQ0dSVCIsImNvZGUiOiJHUlQiLCJkZXNjcmlwdGlvbiI6IlRoZSBHcmFwaCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0dSQVBIIn0sCnsiaWQiOiJYVFZDSEJBUiIsImNvZGUiOiJIQkFSIiwiZGVzY3JpcHRpb24iOiJIZWRlcmEiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNIQkFSIn0sCnsiaWQiOiJYVFZDSE5UIiwiY29kZSI6IkhOVCIsImRlc2NyaXB0aW9uIjoiSGVsaXVtIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSE5UIn0sCnsiaWQiOiJYVFZDSE9UIiwiY29kZSI6IkhPVCIsImRlc2NyaXB0aW9uIjoiSG9sbyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0hPVCJ9LAp7ImlkIjoiWFRWQ0lDUCIsImNvZGUiOiJJQ1AiLCJkZXNjcmlwdGlvbiI6IkludGVybmV0IENvbXB1dGVyIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSUNQIn0sCnsiaWQiOiJYVFZDSU9UQSIsImNvZGUiOiJJT1RBIiwiZGVzY3JpcHRpb24iOiJJT1RBIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDSU9UQSJ9LAp7ImlkIjoiWFRWQ0tBUyIsImNvZGUiOiJLQVMiLCJkZXNjcmlwdGlvbiI6Ikthc3BhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FTIn0sCnsiaWQiOiJYVFZDS0FWQSIsImNvZGUiOiJLQVZBIiwiZGVzY3JpcHRpb24iOiJLYXZhIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0FWQSJ9LAp7ImlkIjoiWFRWQ0tFRVAiLCJjb2RlIjoiS0VFUCIsImRlc2NyaXB0aW9uIjoiS2VlcCBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDS0VFUCJ9LAp7ImlkIjoiWFRWQ0tOQyIsImNvZGUiOiJLTkMiLCJkZXNjcmlwdGlvbiI6Ikt5YmVyIE5ldHdvcmsgQ3J5c3RhbCB2MiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0tOQyJ9LAp7ImlkIjoiWFRWQ0xFTyIsImNvZGUiOiJMRU8iLCJkZXNjcmlwdGlvbiI6IlVOVVMgU0VEIExFTyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ0xFTyJ9LAp7ImlkIjoiWFRWQ0xJTksiLCJjb2RlIjoiTElOSyIsImRlc2NyaXB0aW9uIjoiQ2hhaW5saW5rIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTElOSyJ9LAp7ImlkIjoiWFRWQ0xSQyIsImNvZGUiOiJMUkMiLCJkZXNjcmlwdGlvbiI6Ikxvb3ByaW5nIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDTFJDIn0sCnsiaWQiOiJYVFZDTFRDIiwiY29kZSI6IkxUQyIsImRlc2NyaXB0aW9uIjoiTGl0ZWNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNMVEMifSwKeyJpZCI6IlhUVkNNQU5BIiwiY29kZSI6Ik1BTkEiLCJkZXNjcmlwdGlvbiI6IkRlY2VudHJhbGFuZCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BTkEifSwKeyJpZCI6IlhUVkNNQVRJQyIsImNvZGUiOiJNQVRJQyIsImRlc2NyaXB0aW9uIjoiUG9seWdvbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ01BVElDIn0sCnsiaWQiOiJYVFZDTUtSIiwiY29kZSI6Ik1LUiIsImRlc2NyaXB0aW9uIjoiTWFrZXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNNS1IifSwKeyJpZCI6IlhUVkNORUFSIiwiY29kZSI6Ik5FQVIiLCJkZXNjcmlwdGlvbiI6Ik5FQVIgUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNORUFSIn0sCnsiaWQiOiJYVFZDTkgiLCJjb2RlIjoiQ05IIiwiZGVzY3JpcHRpb24iOiJDaGluZXNlIHl1YW4gb2Zmc2hvcmUiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvQ04ifSwKeyJpZCI6IlhUVkNPQ0VBTiIsImNvZGUiOiJPQ0VBTiIsImRlc2NyaXB0aW9uIjoiT2NlYW4gUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPQ0VBTiJ9LAp7ImlkIjoiWFRWQ09ORSIsImNvZGUiOiJPTkUiLCJkZXNjcmlwdGlvbiI6Ikhhcm1vbnkiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNPTkUifSwKeyJpZCI6IlhUVkNQRVJQIiwiY29kZSI6IlBFUlAiLCJkZXNjcmlwdGlvbiI6IlBlcnBldHVhbCBQcm90b2NvbCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1BFUlAifSwKeyJpZCI6IlhUVkNSRU4iLCJjb2RlIjoiUkVOIiwiZGVzY3JpcHRpb24iOiJSZW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNSRU4ifSwKeyJpZCI6IlhUVkNSRVEiLCJjb2RlIjoiUkVRIiwiZGVzY3JpcHRpb24iOiJSZXF1ZXN0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUkVRIn0sCnsiaWQiOiJYVFZDUk9TRSIsImNvZGUiOiJST1NFIiwiZGVzY3JpcHRpb24iOiJPYXNpcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JPU0UifSwKeyJpZCI6IlhUVkNSU1IiLCJjb2RlIjoiUlNSIiwiZGVzY3JpcHRpb24iOiJSZXNlcnZlIFJpZ2h0cyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1JTUiJ9LAp7ImlkIjoiWFRWQ1JVTkUiLCJjb2RlIjoiUlVORSIsImRlc2NyaXB0aW9uIjoiVEhPUkNoYWluIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDUlVORSJ9LAp7ImlkIjoiWFRWQ1NBTkQiLCJjb2RlIjoiU0FORCIsImRlc2NyaXB0aW9uIjoiVGhlIFNhbmRib3giLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQU5EIn0sCnsiaWQiOiJYVFZDU0NSVCIsImNvZGUiOiJTQ1JUIiwiZGVzY3JpcHRpb24iOiJTZWNyZXQiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTQ1JUIn0sCnsiaWQiOiJYVFZDU0hJQiIsImNvZGUiOiJTSElCIiwiZGVzY3JpcHRpb24iOiJTaGliYSBJbnUiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTSElCIn0sCnsiaWQiOiJYVFZDU05YIiwiY29kZSI6IlNOWCIsImRlc2NyaXB0aW9uIjoiU3ludGhldGl4Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU05YIn0sCnsiaWQiOiJYVFZDU09MIiwiY29kZSI6IlNPTCIsImRlc2NyaXB0aW9uIjoiU29sYW5hIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU09MIn0sCnsiaWQiOiJYVFZDU1JNIiwiY29kZSI6IlNSTSIsImRlc2NyaXB0aW9uIjoiU2VydW0iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNTUk0ifSwKeyJpZCI6IlhUVkNTVVNISSIsImNvZGUiOiJTVVNISSIsImRlc2NyaXB0aW9uIjoiU3VzaGlTd2FwIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDU1VTSEkifSwKeyJpZCI6IlhUVkNTWFAiLCJjb2RlIjoiU1hQIiwiZGVzY3JpcHRpb24iOiJTb2xhciIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1NYUCJ9LAp7ImlkIjoiWFRWQ1RIRVRBIiwiY29kZSI6IlRIRVRBIiwiZGVzY3JpcHRpb24iOiJUaGV0YSBOZXR3b3JrIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVEhFVEEifSwKeyJpZCI6IlhUVkNUTE9TIiwiY29kZSI6IlRMT1MiLCJkZXNjcmlwdGlvbiI6IlRlbG9zIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVExPUyJ9LAp7ImlkIjoiWFRWQ1RPTiIsImNvZGUiOiJUT04iLCJkZXNjcmlwdGlvbiI6IlRvbmNvaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNUT04ifSwKeyJpZCI6IlhUVkNUUlgiLCJjb2RlIjoiVFJYIiwiZGVzY3JpcHRpb24iOiJUUk9OIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVFJYIn0sCnsiaWQiOiJYVFZDVU1BIiwiY29kZSI6IlVNQSIsImRlc2NyaXB0aW9uIjoiVU1BIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVU1BIn0sCnsiaWQiOiJYVFZDVU5JIiwiY29kZSI6IlVOSSIsImRlc2NyaXB0aW9uIjoiVW5pc3dhcCIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VOSSJ9LAp7ImlkIjoiWFRWQ1VTREMiLCJjb2RlIjoiVVNEQyIsImRlc2NyaXB0aW9uIjoiVVNEQyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1VTREMifSwKeyJpZCI6IlhUVkNVU0RUIiwiY29kZSI6IlVTRFQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBVU0R0Iiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDVVNEVCJ9LAp7ImlkIjoiWFRWQ1ZFVCIsImNvZGUiOiJWRVQiLCJkZXNjcmlwdGlvbiI6IlZlQ2hhaW4iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNWRVQifSwKeyJpZCI6IlhUVkNXQlRDIiwiY29kZSI6IldCVEMiLCJkZXNjcmlwdGlvbiI6IldyYXBwZWQgQml0Y29pbiIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1dCVEMifSwKeyJpZCI6IlhUVkNYQVVUIiwiY29kZSI6IlhBVVQiLCJkZXNjcmlwdGlvbiI6IlRldGhlciBHb2xkIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWEFVVCJ9LAp7ImlkIjoiWFRWQ1hMTSIsImNvZGUiOiJYTE0iLCJkZXNjcmlwdGlvbiI6IlN0ZWxsYXIiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTE0ifSwKeyJpZCI6IlhUVkNYTVIiLCJjb2RlIjoiWE1SIiwiZGVzY3JpcHRpb24iOiJNb25lcm8iLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYTVIifSwKeyJpZCI6IlhUVkNYUlAiLCJjb2RlIjoiWFJQIiwiZGVzY3JpcHRpb24iOiJYUlAiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNYUlAifSwKeyJpZCI6IlhUVkNYVFoiLCJjb2RlIjoiWFRaIiwiZGVzY3JpcHRpb24iOiJUZXpvcyIsImtpbmQiOiJjcnlwdG8iLCJsb2dvaWQiOiJjcnlwdG8vWFRWQ1hUWiJ9LAp7ImlkIjoiWFRWQ1lGSSIsImNvZGUiOiJZRkkiLCJkZXNjcmlwdGlvbiI6IlllYXJuIiwia2luZCI6ImNyeXB0byIsImxvZ29pZCI6ImNyeXB0by9YVFZDWUZJIn0sCnsiaWQiOiJYVFZDWlJYIiwiY29kZSI6IlpSWCIsImRlc2NyaXB0aW9uIjoiMHggUHJvdG9jb2wiLCJraW5kIjoiY3J5cHRvIiwibG9nb2lkIjoiY3J5cHRvL1hUVkNaUlgifSwKeyJpZCI6IlhUVkRFTSIsImNvZGUiOiJERU0iLCJkZXNjcmlwdGlvbiI6Ikdlcm1hbiBNYXJrIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0RFIn0sCnsiaWQiOiJYVFZFU1AiLCJjb2RlIjoiRVNQIiwiZGVzY3JpcHRpb24iOiJTcGFuaXNoIFBlc2V0YSIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9FUyJ9LAp7ImlkIjoiWFRWRklNIiwiY29kZSI6IkZJTSIsImRlc2NyaXB0aW9uIjoiRmlubmlzaCBNYXJra2EiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvRkkifSwKeyJpZCI6IlhUVkZSRiIsImNvZGUiOiJGUkYiLCJkZXNjcmlwdGlvbiI6IkZyZW5jaCBGcmFuYyIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9GUiJ9LAp7ImlkIjoiWFRWR0JYIiwiY29kZSI6IkdCWCIsImRlc2NyaXB0aW9uIjoiUGVuY2Ugc3RlcmxpbmciLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR0IifSwKeyJpZCI6IlhUVkdSRCIsImNvZGUiOiJHUkQiLCJkZXNjcmlwdGlvbiI6IkdyZWVrIERyYWNobWEiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvR1IifSwKeyJpZCI6IlhUVklFUCIsImNvZGUiOiJJRVAiLCJkZXNjcmlwdGlvbiI6IklyaXNoIFBvdW5kIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lFIn0sCnsiaWQiOiJYVFZJTEEiLCJjb2RlIjoiSUxBIiwiZGVzY3JpcHRpb24iOiJJc3JhZWxpIGFnb3JvdCIsImtpbmQiOiJmaWF0IiwibG9nb2lkIjoiY291bnRyeS9JTCJ9LAp7ImlkIjoiWFRWSVRMIiwiY29kZSI6IklUTCIsImRlc2NyaXB0aW9uIjoiSXRhbGlhbiBMaXJhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L0lUIn0sCnsiaWQiOiJYVFZLV0YiLCJjb2RlIjoiS1dGIiwiZGVzY3JpcHRpb24iOiJLdXdhaXRpIGZpbHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvS1cifSwKeyJpZCI6IlhUVkxVRiIsImNvZGUiOiJMVUYiLCJkZXNjcmlwdGlvbiI6Ikx1eGVtYm91cmdpYW4gRnJhbmMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTFUifSwKeyJpZCI6IlhUVk5MRyIsImNvZGUiOiJOTEciLCJkZXNjcmlwdGlvbiI6IkR1dGNoIEd1aWxkZXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvTkwifSwKeyJpZCI6IlhUVlBURSIsImNvZGUiOiJQVEUiLCJkZXNjcmlwdGlvbiI6IlBvcnR1Z3Vlc2UgRXNjdWRvIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1BUIn0sCnsiaWQiOiJYVFZTSVQiLCJjb2RlIjoiU0lUIiwiZGVzY3JpcHRpb24iOiJTbG92ZW5pYW4gVG9sYXIiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvU0kifSwKeyJpZCI6IlhUVlVTWCIsImNvZGUiOiJVU1giLCJkZXNjcmlwdGlvbiI6IlUuUy4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvVVMifSwKeyJpZCI6IlhUVlpBQyIsImNvZGUiOiJaQUMiLCJkZXNjcmlwdGlvbiI6IlNvdXRoIEFmcmljYW4gY2VudHMiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IllFUiIsImNvZGUiOiJZRVIiLCJkZXNjcmlwdGlvbiI6IlllbWVuaSBSaWFsIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1lFIn0sCnsiaWQiOiJaQVIiLCJjb2RlIjoiWkFSIiwiZGVzY3JpcHRpb24iOiJTb3V0aCBBZnJpY2FuIFJhbmQiLCJraW5kIjoiZmlhdCIsImxvZ29pZCI6ImNvdW50cnkvWkEifSwKeyJpZCI6IlpNVyIsImNvZGUiOiJaTVciLCJkZXNjcmlwdGlvbiI6IlphbWJpYW4gS3dhY2hhIiwia2luZCI6ImZpYXQiLCJsb2dvaWQiOiJjb3VudHJ5L1pNIn0KXSwKInVuaXRzIjogWwp7ImlkIjoiMTAwS0dNIiwibmFtZSI6IjEwMGtnIiwiZGVzY3JpcHRpb24iOiIxMDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjEwS0dNIiwibmFtZSI6IjEwa2ciLCJkZXNjcmlwdGlvbiI6IjEwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiIyMEtHTSIsIm5hbWUiOiIyMGtnIiwiZGVzY3JpcHRpb24iOiIyMCBraWxvZ3JhbXMiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiNDBLR00iLCJuYW1lIjoiNDBrZyIsImRlc2NyaXB0aW9uIjoiNDAga2lsb2dyYW1zIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IjYwS0dNIiwibmFtZSI6IjYwa2ciLCJkZXNjcmlwdGlvbiI6IjYwIGtpbG9ncmFtcyIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUFoiLCJuYW1lIjoiYXBveiIsImRlc2NyaXB0aW9uIjoidHJveSBvdW5jZSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJBUlJPQkEiLCJuYW1lIjoiYXJyb2JhIiwiZGVzY3JpcHRpb24iOiJhcnJvYmEiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiQkxEIiwibmFtZSI6IkJMRCIsImRlc2NyaXB0aW9uIjoiZHJ5IGJhcnJlbCAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQkxMIiwibmFtZSI6IkJMTCIsImRlc2NyaXB0aW9uIjoiYmFycmVsIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJCTExQREFZIiwibmFtZSI6IkJMTC9kYXkiLCJkZXNjcmlwdGlvbiI6ImJhcnJlbCBwZXIgZGF5IiwidHlwZSI6ImJsbHBlcmRheSJ9LAp7ImlkIjoiQlJUIiwibmFtZSI6IkJSVCIsImRlc2NyaXB0aW9uIjoiYmlydGggcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ0aG91c2FuZHBlb3BsZSJ9LAp7ImlkIjoiQlRVIiwibmFtZSI6IkJ0dSIsImRlc2NyaXB0aW9uIjoiQnJpdGlzaCB0aGVybWFsIHVuaXQiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJCVUEiLCJuYW1lIjoiQlVBIiwiZGVzY3JpcHRpb24iOiJidXNoZWwgKFVTKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkJVSSIsIm5hbWUiOiJCVUkiLCJkZXNjcmlwdGlvbiI6ImJ1c2hlbCAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiQ0FQIiwibmFtZSI6IkNBUCIsImRlc2NyaXB0aW9uIjoiY29tcGFueSBhbmQgcGVyc29uIiwidHlwZSI6ImNvbXBhbnlhbmRwZXJzb24ifSwKeyJpZCI6IkNBU0VTIiwibmFtZSI6IkNhc2VzLzEwMDAwIiwiZGVzY3JpcHRpb24iOiJjYXNlcyBwZXIgMTAwMDAgcGVvcGxlIiwidHlwZSI6ImNhc2VzcGVyMTAwMDAifSwKeyJpZCI6IkNNUE5ZIiwibmFtZSI6IkNNUE5ZIiwiZGVzY3JpcHRpb24iOiJjb21wYW55IiwidHlwZSI6ImNvbXBhbnkifSwKeyJpZCI6IkNNUSIsIm5hbWUiOiJjbTMiLCJkZXNjcmlwdGlvbiI6ImNtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkNOVFJUIiwibmFtZSI6ImNvbnRyYWN0IiwiZGVzY3JpcHRpb24iOiJjb250cmFjdCIsInR5cGUiOiJjb250cmFjdCJ9LAp7ImlkIjoiQ1JMIiwibmFtZSI6IkNSTCIsImRlc2NyaXB0aW9uIjoiY2FybG9hZCIsInR5cGUiOiJjYXJsb2FkIn0sCnsiaWQiOiJDV0EiLCJuYW1lIjoiQ1dBIiwiZGVzY3JpcHRpb24iOiJodW5kcmVkd2VpZ2h0IFVTIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6IkNXSSIsIm5hbWUiOiJDV0kiLCJkZXNjcmlwdGlvbiI6Imh1bmRyZWR3ZWlnaHQgVUsiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFHIiwibmFtZSI6ImRhZyIsImRlc2NyaXB0aW9uIjoiZGVjYWdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiREFZIiwibmFtZSI6ImRheSIsImRlc2NyaXB0aW9uIjoiZGF5IiwidHlwZSI6InRpbWUifSwKeyJpZCI6IkRFR0MiLCJuYW1lIjoiREVHQyIsImRlc2NyaXB0aW9uIjoiZGVncmVlcyBDZWxzaXVzIiwidHlwZSI6InRlbXBlcmF0dXJlIn0sCnsiaWQiOiJET1oiLCJuYW1lIjoiRE9aIiwiZGVzY3JpcHRpb24iOiJkb3plbiIsInR5cGUiOiJkb3plbiJ9LAp7ImlkIjoiRVVBIiwibmFtZSI6IkVVQSIsImRlc2NyaXB0aW9uIjoiRVUgYWxsb3dhbmNlIiwidHlwZSI6ImFsbG93YW5jZSJ9LAp7ImlkIjoiRlRRIiwibmFtZSI6ImZ0MyIsImRlc2NyaXB0aW9uIjoiZnQzIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR0pPIiwibmFtZSI6ImdKIiwiZGVzY3JpcHRpb24iOiJnaWdham91bGUiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJHTEQiLCJuYW1lIjoiR0xEIiwiZGVzY3JpcHRpb24iOiJkcnkgZ2FsbG9uIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJHTEkiLCJuYW1lIjoiR0xJIiwiZGVzY3JpcHRpb24iOiJnYWxsb24gKFVLKSIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6IkdMTCIsIm5hbWUiOiJHTEwiLCJkZXNjcmlwdGlvbiI6ImdhbGxvbiAoVVMpIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiR1JNIiwibmFtZSI6ImciLCJkZXNjcmlwdGlvbiI6ImdyYW0iLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiR1dIIiwibmFtZSI6IkdXaCIsImRlc2NyaXB0aW9uIjoiZ2lnYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IkhJUkUiLCJuYW1lIjoiSGlyZSIsImRlc2NyaXB0aW9uIjoiaGlyZSIsInR5cGUiOiJoaXJlIn0sCnsiaWQiOiJITFQiLCJuYW1lIjoiaGwiLCJkZXNjcmlwdGlvbiI6ImhlY3RvbGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJIT1VSIiwibmFtZSI6ImhvdXIiLCJkZXNjcmlwdGlvbiI6ImhvdXIiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiSFMiLCJuYW1lIjoiSG91c2UiLCJkZXNjcmlwdGlvbiI6ImhvdXNlIiwidHlwZSI6ImhvdXNlIn0sCnsiaWQiOiJIU0giLCJuYW1lIjoiSFNIIiwiZGVzY3JpcHRpb24iOiJob3VzZWhvbGQiLCJ0eXBlIjoiaG91c2Vob2xkIn0sCnsiaWQiOiJIU0kiLCJuYW1lIjoiSFNJIiwiZGVzY3JpcHRpb24iOiJob3VzaW5nIGludmVudG9yeSIsInR5cGUiOiJob3VzaW5naW52ZW50b3J5In0sCnsiaWQiOiJJTkQiLCJuYW1lIjoiSU5EIiwiZGVzY3JpcHRpb24iOiJpbmRpY2F0b3IiLCJ0eXBlIjoiaW5kaWNhdG9yIn0sCnsiaWQiOiJJUCIsIm5hbWUiOiJJUCIsImRlc2NyaXB0aW9uIjoiSVAgYWRkcmVzcyIsInR5cGUiOiJpcCJ9LAp7ImlkIjoiSkJPIiwibmFtZSI6IkpCTyIsImRlc2NyaXB0aW9uIjoiam9iIG9wZW5pbmciLCJ0eXBlIjoiam9ib3BlbmluZyJ9LAp7ImlkIjoiSkxDIiwibmFtZSI6IkpMQyIsImRlc2NyaXB0aW9uIjoiam9ibGVzcyBjbGFpbSIsInR5cGUiOiJqb2JsZXNzY2xhaW0ifSwKeyJpZCI6IkpPVSIsIm5hbWUiOiJKIiwiZGVzY3JpcHRpb24iOiJqb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktCUFMiLCJuYW1lIjoia2JwcyIsImRlc2NyaXB0aW9uIjoia2lsb2JpdCBwZXIgc2Vjb25kIiwidHlwZSI6Im5ldHdvcmtiYW5kd2l0aCJ9LAp7ImlkIjoiS0dNIiwibmFtZSI6ImtnIiwiZGVzY3JpcHRpb24iOiJraWxvZ3JhbSIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJLSk8iLCJuYW1lIjoia0oiLCJkZXNjcmlwdGlvbiI6ImtpbG9qb3VsZSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IktXSCIsIm5hbWUiOiJrV2giLCJkZXNjcmlwdGlvbiI6ImtpbG93YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJMQUQiLCJuYW1lIjoiTEFEIiwiZGVzY3JpcHRpb24iOiJsYXlvZmYgYW5kIGRpc2NoYXJnZSIsInR5cGUiOiJsYXlvZmZhbmRkaXNjaGFyZ2UifSwKeyJpZCI6IkxCUiIsIm5hbWUiOiJsYiIsImRlc2NyaXB0aW9uIjoicG91bmQiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiTFROIiwibmFtZSI6Imx0IiwiZGVzY3JpcHRpb24iOiJsb25nIHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJMVFIiLCJuYW1lIjoibCIsImRlc2NyaXB0aW9uIjoibGl0cmUiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNQSIsIm5hbWUiOiJtb3J0Z2FnZSBhcGwuIiwiZGVzY3JpcHRpb24iOiJtb3J0Z2FnZSBhcHBsaWNhdGlvbiIsInR5cGUiOiJtb3J0Z2FnZWFwcGxpY2F0aW9uIn0sCnsiaWQiOiJNQkYiLCJuYW1lIjoiTUJGIiwiZGVzY3JpcHRpb24iOiIxMDAwIGJvYXJkIGZlZXQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJNTUJUVSIsIm5hbWUiOiJNTUJ0dSIsImRlc2NyaXB0aW9uIjoibWlsbGlvbiBCcml0aXNoIHRoZXJtYWwgdW5pdCIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1NVFIiLCJuYW1lIjoiTWlsbGltZXRlciIsImRlc2NyaXB0aW9uIjoibWlsbGltZXRlciIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik1PTlRIIiwibmFtZSI6Im1vbnRoIiwiZGVzY3JpcHRpb24iOiJtb250aCIsInR5cGUiOiJ0aW1lIn0sCnsiaWQiOiJNVCIsIm5hbWUiOiJNVCIsImRlc2NyaXB0aW9uIjoibWV0cmljIHRvbm5lIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik1USyIsIm5hbWUiOiJtMiIsImRlc2NyaXB0aW9uIjoibTIiLCJ0eXBlIjoiYXJlYSJ9LAp7ImlkIjoiTVRRIiwibmFtZSI6Im0zIiwiZGVzY3JpcHRpb24iOiJtMyIsInR5cGUiOiJ2b2x1bWUifSwKeyJpZCI6Ik1XRCIsIm5hbWUiOiJNV2QiLCJkZXNjcmlwdGlvbiI6Im1lZ2F3YXR0IGRheSIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6Ik1XSCIsIm5hbWUiOiLQnFdoIiwiZGVzY3JpcHRpb24iOiJtZWdhd2F0dCBob3VyIiwidHlwZSI6ImVuZXJneSJ9LAp7ImlkIjoiTkJMIiwibmFtZSI6Ik5CTCIsImRlc2NyaXB0aW9uIjoibmV0IGJhbGFuY2UiLCJ0eXBlIjoibmV0YmFsYW5jZSJ9LAp7ImlkIjoiTk1JIiwibmFtZSI6Ik5NSSIsImRlc2NyaXB0aW9uIjoibmF1dGljYWwgbWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6Ik9OWiIsIm5hbWUiOiJPTloiLCJkZXNjcmlwdGlvbiI6Im91bmNlIiwidHlwZSI6Im1hc3MifSwKeyJpZCI6Ik9aQSIsIm5hbWUiOiJPWkEiLCJkZXNjcmlwdGlvbiI6ImZsdWlkIG91bmNlIChVUykiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJPWkkiLCJuYW1lIjoiT1pJIiwiZGVzY3JpcHRpb24iOiJmbHVpZCBvdW5jZSAoVUspIiwidHlwZSI6InZvbHVtZSJ9LAp7ImlkIjoiUEFZUk9MTCIsIm5hbWUiOiJQYXlyb2xsIiwiZGVzY3JpcHRpb24iOiJwYXlyb2xsIiwidHlwZSI6InBheXJvbGwifSwKeyJpZCI6IlBDVCIsIm5hbWUiOiIlIiwiZGVzY3JpcHRpb24iOiJwZXJjZW50IiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVERZIiwibmFtZSI6IkRpc2NvdW50IHlpZWxkLCAlIiwiZGVzY3JpcHRpb24iOiJkaXNjb3VudCB5aWVsZCIsInR5cGUiOiJwZXJjZW50In0sCnsiaWQiOiJQQ1RHRFAiLCJuYW1lIjoiJSBvZiBHRFAiLCJkZXNjcmlwdGlvbiI6InBlcmNlbnQgb2YgR0RQIiwidHlwZSI6InBlcmNlbnQifSwKeyJpZCI6IlBDVFBBUiIsIm5hbWUiOiIlIG9mIHBhciIsImRlc2NyaXB0aW9uIjoicGVyY2VudCBvZiBwYXIiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUENUWVRNIiwibmFtZSI6IllUTSwgJSIsImRlc2NyaXB0aW9uIjoieWllbGQgdG8gbWF0dXJpdHkiLCJ0eXBlIjoicGVyY2VudCJ9LAp7ImlkIjoiUEhUUCIsIm5hbWUiOiJQSFRQIiwiZGVzY3JpcHRpb24iOiJwZXIgMTAwIDAwMCBwZW9wbGUiLCJ0eXBlIjoicGVyMTAwMDAwcGVvcGxlIn0sCnsiaWQiOiJQTVAiLCJuYW1lIjoiUE1QIiwiZGVzY3JpcHRpb24iOiJwZXIgb25lIG1pbGxpb24gcGVvcGxlIiwidHlwZSI6InBlcm9uZW1pbGxpb25wZW9wbGUifSwKeyJpZCI6IlBPSU5UIiwibmFtZSI6InBvaW50IiwiZGVzY3JpcHRpb24iOiJwb2ludCIsInR5cGUiOiJwb2ludCJ9LAp7ImlkIjoiUFBMIiwibmFtZSI6IlBQTCIsImRlc2NyaXB0aW9uIjoicGVvcGxlIiwidHlwZSI6InBlb3BsZSJ9LAp7ImlkIjoiUFNOIiwibmFtZSI6IlBTTiIsImRlc2NyaXB0aW9uIjoicGVyc29uIiwidHlwZSI6InBlcnNvbiJ9LAp7ImlkIjoiUFRQIiwibmFtZSI6IlBUUCIsImRlc2NyaXB0aW9uIjoicGVyIDEwMDAgcGVvcGxlIiwidHlwZSI6InBlcjEwMDBwZW9wbGUifSwKeyJpZCI6IlJBVElPIiwibmFtZSI6IlJhdGlvIiwiZGVzY3JpcHRpb24iOiJyYXRpbyIsInR5cGUiOiJyYXRpbyJ9LAp7ImlkIjoiUlBNSSIsIm5hbWUiOiJSUE1JIiwiZGVzY3JpcHRpb24iOiJyZXZlbnVlIHBhc3NlbmdlciBtaWxlIiwidHlwZSI6InJldmVudWVwYXNzZW5nZXJtaWxlIn0sCnsiaWQiOiJTRVAiLCJuYW1lIjoiU0VQIiwiZGVzY3JpcHRpb24iOiJzZXBhcmFpb24iLCJ0eXBlIjoic2VwYXJhdGlvbiJ9LAp7ImlkIjoiU0hBUkUiLCJuYW1lIjoic2hhcmUiLCJkZXNjcmlwdGlvbiI6InNoYXJlIiwidHlwZSI6InNoYXJlIn0sCnsiaWQiOiJTTUkiLCJuYW1lIjoiTWlsZSIsImRlc2NyaXB0aW9uIjoibWlsZSIsInR5cGUiOiJsZW5ndGgifSwKeyJpZCI6IlNUTiIsIm5hbWUiOiJTVE4iLCJkZXNjcmlwdGlvbiI6InNob3J0IHRvbiIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJUQ00iLCJuYW1lIjoidGNtIiwiZGVzY3JpcHRpb24iOiJ0aG91c2FuZCBjdWJpYyBtZXRyZXMiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJURlIiLCJuYW1lIjoiVEZSIiwiZGVzY3JpcHRpb24iOiJ0b3RhbCBmZXJ0aWxpdHkgcmF0ZSIsInR5cGUiOiJiaXJ0aHNwZXJ3b21hbiJ9LAp7ImlkIjoiVElWIiwibmFtZSI6IlRJViIsImRlc2NyaXB0aW9uIjoiU0lQUkkgVElWIiwidHlwZSI6InNpcHJpdGl2In0sCnsiaWQiOiJUTkUiLCJuYW1lIjoidCIsImRlc2NyaXB0aW9uIjoidG9ubmUiLCJ0eXBlIjoibWFzcyJ9LAp7ImlkIjoiVFdIIiwibmFtZSI6IlRXaCIsImRlc2NyaXB0aW9uIjoidGVyYXdhdHQgaG91ciIsInR5cGUiOiJlbmVyZ3kifSwKeyJpZCI6IlRoR0IiLCJuYW1lIjoidGhhaWdvbGRiYWh0IiwiZGVzY3JpcHRpb24iOiJ0aGFpIGdvbGQgYmFodCIsInR5cGUiOiJtYXNzIn0sCnsiaWQiOiJVS0EiLCJuYW1lIjoiVUtBIiwiZGVzY3JpcHRpb24iOiJVSyBhbGxvd2FuY2UiLCJ0eXBlIjoiYWxsb3dhbmNlIn0sCnsiaWQiOiJVTklUIiwibmFtZSI6InVuaXQiLCJkZXNjcmlwdGlvbiI6InVuaXQiLCJ0eXBlIjoidW5pdCJ9LAp7ImlkIjoiVkNOQ1kiLCJuYW1lIjoiVkNOQ1kiLCJkZXNjcmlwdGlvbiI6ImpvYiB2YWNhbmNpZXMiLCJ0eXBlIjoidmFjYW5jeSJ9LAp7ImlkIjoiV0NEIiwibmFtZSI6ImNvcmQiLCJkZXNjcmlwdGlvbiI6IkNvcmQiLCJ0eXBlIjoidm9sdW1lIn0sCnsiaWQiOiJXRUVLIiwibmFtZSI6IndlZWsiLCJkZXNjcmlwdGlvbiI6IndlZWsiLCJ0eXBlIjoidGltZSJ9LAp7ImlkIjoiV0hSIiwibmFtZSI6IldoIiwiZGVzY3JpcHRpb24iOiJ3YXR0IGhvdXIiLCJ0eXBlIjoiZW5lcmd5In0sCnsiaWQiOiJZRUFSIiwibmFtZSI6InllYXIiLCJkZXNjcmlwdGlvbiI6InllYXIiLCJ0eXBlIjoidGltZSJ9Cl0KfQo="}},"time_used":25,"timings":{"blocked":-1,"dns":8,"connect":9,"send":0,"wait":3,"receive":-1,"ssl":5},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.407Z","timestamp":1785139584407,"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-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 08:06:24 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: c99eb295f0a4135e6c94a38568d6be2e\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-28T04:48:50.383385Z","times_seen":51,"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":"nanoquantumstellarsledger.com/frontcss/assets/exchangeInfo.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.999Z","timestamp":1785139581999,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/exchangeInfo.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 10286\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":720332,"size_decoded":10524,"mime_type":"text/javascript","magic":"ASCII text","md5":"c6871417d62baa4d8b1a8954a38fa1e8","sha1":"e66fade23292743bcc7ed0c69c189093ade8b9e7","sha256":"a3b93ca0f815638525d5852664837bcfeccfb8af3f0ebb30fdc33a043be348ba","sha512":"49b16f76c1fe52dbeeb0e41e9dd989aa1fc0f799974306788b177e3eb98bd6b13401039d1274cf9c27f407bba59c85896339103ceeb851d1e1813b316e36c413","ssdeep":"384:nuwxsj2zFwmOIxOmJmx7ahQxTHIsvHcTfiRiTX:nuwxsj2zbPOmJmx7ahQxTHI9TfiyX","tlshash":"f6e42958e0685c93c28e6635bab935015b70305b8ce17e453b8d424c4fcfa6fad3ab6d","first_seen":"2025-11-23T04:10:48.045966Z","last_seen":"2026-07-27T09:11:27.299876Z","times_seen":7,"resource_available":true,"data":"dmFyIGV4Y2hhbmdlSW5mbyA9IHsKICAgICJ0aW1lem9uZSI6ICJVVEMiLAogICAgInNlcnZlclRpbWUiOiAxNTY1OTQ3ODk1Njk2LAogICAgInJhdGVMaW1pdHMiOiBbCiAgICB7CiAgICAicmF0ZUxpbWl0VHlwZSI6ICJSRVFVRVNUX1dFSUdIVCIsCiAgICAiaW50ZXJ2YWwiOiAiTUlOVVRFIiwKICAgICJpbnRlcnZhbE51bSI6IDEsCiAgICAibGltaXQiOiAxMjAwCiAgICB9LAogICAgewogICAgInJhdGVMaW1pdFR5cGUiOiAiT1JERVJTIiwKICAgICJpbnRlcnZhbCI6ICJTRUNPTkQiLAogICAgImludGVydmFsTnVtIjogMSwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgInJhdGVMaW1pdFR5cGUiOiAiT1JERVJTIiwKICAgICJpbnRlcnZhbCI6ICJEQVkiLAogICAgImludGVydmFsTnVtIjogMSwKICAgICJsaW1pdCI6IDEwMDAwMAogICAgfQogICAgXSwKICAgICJleGNoYW5nZUZpbHRlcnMiOiBbXSwKICAgICJzeW1ib2xzIjogWwogICAgewogICAgInN5bWJvbCI6ICJFVEhCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVRIIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYzMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMVENCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjcyNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCTkJCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQk5CIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3Njk3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJORU8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM2NTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiMTIzNDU2IiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIjEyMyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIjQ1NiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUVRVTUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRVFVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNDY2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVPU0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFT1MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI4NjIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU05URVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNOVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzY0ODcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQk5URVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJOVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzU2MTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0NCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkJDQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdBU0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHQVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjExMTcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQk5CRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJOQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjgxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJUQ1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQlRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhRdHkiOiAiOTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFVEhVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVUSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTI0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkhTUkJUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiSFNSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPQVhFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT0FYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4MjI2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkROVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJETlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc3NTA4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1DT0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNQ08iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI5NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJQ05FVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIklDTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICIxLjMiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuNyIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTUNPQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1DTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMjYzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIldUQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE0ODk4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIldUQ0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFJDQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxSQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODQ4MTgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFJDRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxSQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzA3MjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUVRVTUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRVFVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1NDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWU9ZT0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJZT1lPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0MTY4MDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiT01HQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9NRyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNzExMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9NR0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTUciLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM3MjAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWlJYQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDUxMDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWlJYRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTYxNzYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU1RSQVRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU1RSQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMjIzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNUUkFURVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNUUkFUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNDc5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNOR0xTQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNOR0xTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMzQxMzAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU05HTFNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU05HTFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjY4MjEwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJRWEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCUVgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNzk3ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCUVhFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQlFYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMzAzNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJLTkNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiS05DIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MTQ3NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJLTkNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiS05DIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNjQyNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGVU5CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRlVOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MTg1MzIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRlVORVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZVTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjI1MzY5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNOTUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTTk0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg5NzUwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNOTUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTTk0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ3MDUxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJORU8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEzMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSU9UQUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJJT1RBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjMxNTMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSU9UQUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJJT1RBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNTE4NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMSU5LQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxJTksiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjk3NjAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTElOS0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMSU5LIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzODU1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhWR0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYVkciLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc2MjAyNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYVkdFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWFZHIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0NzUzNDMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU0FMVEJUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiU0FMVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNBTFRFVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlNBTFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNREFCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTURBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDkyNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNREFFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTURBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNzg4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1UTEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNVEwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg0MDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTVRMRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1UTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjE0ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTVUJCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlNVQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNVQkVUSCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiU1VCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRU9TQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVPUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNjg0MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTTlRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU05UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjQxNTgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVRDRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzc2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVUQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNDMwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1USEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNVEgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI2ODI2NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNVEhFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTVRIIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDY4NDkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRU5HQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVORyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjI4MzcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRU5HRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVORyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODQ0MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJETlRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRE5UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNjI0NjYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWkVDQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpFQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjc4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlpFQ0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJaRUMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjY3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJOVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkxMTUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVNUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFTVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTYzMzMzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFTVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBU1QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMxMzQ3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRBU0hCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiREFTSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTI2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRBU0hFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiREFTSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiT0FYQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9BWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzg5MjIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSUNOQlRDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJJQ04iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVEdCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQlRHIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjgzMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVEdFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQlRHIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFVlhCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVZYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNDI0OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFVlhFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVZYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxOTYxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlJFUUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJSRVEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3NzEyMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSRVFFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkVRIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxODM1NzgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVklCQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlZJQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTM3MDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVklCRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlZJQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjg1MjAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSFNSRVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJIU1IiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUUlhCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVFJYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3NzAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFJYRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjAyMDM2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPV1JCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUE9XUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDgyOTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUE9XUkVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQT1dSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjE4MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBUktCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQVJLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNjA4NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBUktFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQVJLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNzE1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIllPWU9FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWU9ZTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzI4NzkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWFJQQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhSUCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0Mjg1MzMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWFJQRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhSUCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDIwMjUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTU9EQlRDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJNT0QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNT0RFVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIk1PRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVOSkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFTkoiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE5MzAwOTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFTkpFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRU5KIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNjE2OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTVE9SSkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTVE9SSiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzU2MjkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU1RPUkpFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU1RPUkoiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI5NDEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQk5CVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCTkIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzkzMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJWRU5CTkIiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlZFTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIllPWU9CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWU9ZTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MTUzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPV1JCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUE9XUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQyMDEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVkVOQlRDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJWRU4iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJWRU5FVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlZFTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIktNREJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJLTUQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMTQ0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIktNREVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJLTUQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjcwMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOVUxTQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5VTFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTQ4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlJDTkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJSQ04iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE0NTc0NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSQ05FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkNOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNzA3MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSQ05CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkNOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE2NzQyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5VTFNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTlVMUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTYyMzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOVUxTRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5VTFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNDIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUkROQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJETiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjYyNTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUkRORVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJETiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTI4ODUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUkROQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJETiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4NzEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWE1SQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhNUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDE3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhNUkVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYTVIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRMVEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJETFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzE4ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXVENCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV1RDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzg0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRMVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJETFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwNDIyNDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJETFRFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRExUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNTEwMzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBTUJCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQU1CIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNjEyNzgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQU1CRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFNQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDY1ODEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQU1CQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFNQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2NjgwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDQ0VUSCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiQkNDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNDVVNEVCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiQkNDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0NCTkIiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkJDQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJBVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjY2NjQ1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJBVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwNDA1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJBVEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzU0ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ1BUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1NDY1ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ1BURVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIzOTU1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDUFRCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkNQVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MTQzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFSTkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBUk4iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI4Njg5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFSTkVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBUk4iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMwODIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR1ZUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkdWVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzgxMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJHVlRFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiR1ZUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2ODUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ0RUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNEVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzgxMTA4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNEVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJDRFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyMTc0NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJHWFNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiR1hTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0OTczMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdYU0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHWFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwOTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTkVPVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJORU8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMzY5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJORU8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI0NjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQT0VCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUE9FIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2OTA3OTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUE9FRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlBPRSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzY0ODQ2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlFTUEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRU1AiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjk5NTU4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlFTUEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRU1AiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU3MzI4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlFTUEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRU1AiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTUxNTgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRTQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTMwODI3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJUU0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE2OTE1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJUU0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODAzMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYWkNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWFpDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYyNzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYWkNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWFpDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWFpDQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhaQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFNLQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxTSyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTk2NjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMU0tFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFNLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMTU0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkxTS0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMU0siLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjAxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlROVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1MDgyMzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUTlRFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVE5UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2NjQ2OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGVUVMQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZVRUwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYwNDI3NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGVUVMRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZVRUwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI0NDI0ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNQU5BQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1BTkEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE5Mzk3MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNQU5BRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1BTkEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYxOTc5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDREJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQ0QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI2NjcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNERVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTE4MTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJER0RCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiREdEIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMDkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiREdERVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRHRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSU9UQUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJJT1RBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQxNzUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURYQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTg2NDMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURYRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTI0MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBRFhCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQURYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIxODAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURBQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2MjkyOTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURBRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTM2MjMwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBQVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjUwMzcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUFBURVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlBQVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTEwNDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJDTVRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQ01UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNTI5NDMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ01URVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNNVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzc4MDUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ01UQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNNVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2NjE0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhMTUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYTE0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1NDY1NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYTE1FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWExNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDk0NzIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWExNQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhMTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjE0MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJDTkRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQ05EIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNzY3ODQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ05ERVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNORCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzk3MzgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ05EQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNORCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNjgyODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMRU5EQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxFTkQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjY2NzA5ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMRU5ERVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxFTkQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1NDYzNzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQUJJQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldBQkkiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM4NTgwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIldBQklFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0FCSSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjQ3MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQUJJQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldBQkkiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjgwODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMVENFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMVENVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMVENCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTg2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlROQkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUTkIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYxMTA5NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUTkJFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVE5CIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzODEyODUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiV0FWRVNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0FWRVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc3MjUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiV0FWRVNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0FWRVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjgyMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQVZFU0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXQVZFUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMjQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR1RPQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkdUTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTcyOTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR1RPRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkdUTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzk4ODEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR1RPQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkdUTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMjAyMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJQ1hCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSUNYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyOTI2ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJQ1hFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSUNYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNTIwODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJQ1hCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSUNYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3MjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiT1NUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9TVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTYzMDAyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9TVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPU1QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMjQ3MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPU1RCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT1NUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjk5MzcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRUxGQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVMRiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDgyMjMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRUxGRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVMRiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjAxMjQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUlPTkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBSU9OIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyODg5NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBSU9ORVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFJT04iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIxNDY2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFJT05CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUlPTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxOTE0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FQkxCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTkVCTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzc3MTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJORUJMRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5FQkwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjcxMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJORUJMQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5FQkwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzY4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJSREJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCUkQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIyMDE1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJSREVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCUkQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIzNzUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlJEQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJSRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3MzIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTUNPQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1DTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRURPQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVETyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTUxNDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRURPRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVETyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTc4OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5HU0JUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiV0lOR1MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5HU0VUSCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiV0lOR1MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiMS4zIiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjciLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5BVkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOQVYiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIxNDQ0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5BVkVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOQVYiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI1MDMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTkFWQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5BViIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0MzYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFVOQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxVTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjc5ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMVU5FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFVOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0NTUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFJJR0JUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiVFJJRyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRSSUdFVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlRSSUciLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUUklHQk5CIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJUUklHIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBUFBDQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFQUEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYyNzk2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFQUENFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQVBQQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjUxOTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVBQQ0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBUFBDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1NjMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVklCRUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJWSUJFIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MDI5MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJWSUJFRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlZJQkUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIyOTAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlJMQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJSTEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc4NTEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUkxDRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJMQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTc2NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSTENCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkxDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMzMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJTlNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU5TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMDI3MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJTlNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU5TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzOTcwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBJVlhCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUElWWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODg5ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQSVZYRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlBJVlgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIyMjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUElWWEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQSVZYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjgxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPU1RCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU9TVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDk5MzA3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPU1RFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU9TVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTc5NjMyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNIQVRCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkNIQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJDSEFURVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJDSEFUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU1RFRU1CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU1RFRU0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjExOTk2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNURUVNRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNURUVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMTIxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNURUVNQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNURUVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc1NjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOQU5PQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5BTk8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIyNjI5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5BTk9FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTkFOTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjk0OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOQU5PQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5BTk8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODkwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlZJQUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJWSUEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYyMzUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVklBRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlZJQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTM2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlZJQUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJWSUEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODEwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJMWkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCTFoiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNjU2NjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCTFpFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkxaIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMTg4MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCTFpCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkxaIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ2ODkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUVCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU5NzQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUVFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1NDYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUVCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTIzMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSUFhCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlJQWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlJQWEVUSCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiUlBYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUlBYQk5CIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJSUFgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5DQVNIQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5DQVNIIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNTMwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5DQVNIRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5DQVNIIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2NzQxMTkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTkNBU0hCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTkNBU0giLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjEzMzIwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPQUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQT0EiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg1ODY4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPQUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQT0EiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ3NDQ2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPQUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQT0EiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjMxMTkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWklMQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpJTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDQ1MjI4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlpJTEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJaSUwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE5OTA1OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaSUxCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWklMIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkyMzEyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9OVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjcyOTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTlRFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNDgyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9OVEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTI2NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTVE9STUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTVE9STSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODIxMzAxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNUT1JNRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNUT1JNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNDYwOTMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU1RPUk1CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU1RPUk0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjY3MzEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUVRVTUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRVFVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI0ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJRVFVNVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRVFVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTcxNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYRU1CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWEVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4MTE4NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYRU1FVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWEVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNzY2MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYRU1CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWEVNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1MTgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiV0FOQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldBTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTExNjcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiV0FORVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldBTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTE3NzUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiV0FOQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldBTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDEzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIldQUkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXUFIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNDk5ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXUFJFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV1BSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMTI3NTEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUUxDQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlFMQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjEyMDgwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlFMQ0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRTEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMxMjA4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNZU0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTWVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMTQ4MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTWVNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU1lTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2OTkwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNZU0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTWVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDUzNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJRTENCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUUxDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjExMzI3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdSU0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHUlMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI2MDk4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdSU0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHUlMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE5NDkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURBVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBREEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ0NjgxODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBREFCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQURBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ1MjYzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNMT0FLQlRDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJDTE9BSyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNMT0FLRVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJDTE9BSyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdOVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjcwMzg5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdOVEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIxNjU4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdOVEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0NDI5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkxPT01CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTE9PTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDY5NTcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTE9PTUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMT09NIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0NjU1MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMT09NQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxPT00iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTg4OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYUlBVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhSUCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjE2NjM4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDTkJUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiQkNOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNORVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJCQ04iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ05CTkIiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkJDTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUkVQQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJFUCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzk2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlJFUEVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJSRVAiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSRVBCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkVQIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVENUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAxMDAiLAogICAgIm1heFF0eSI6ICI5MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFVTREJUQyIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiVFVTRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVUSFRVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVRIIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRVU0RFVEgiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlRVU0QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUVVNEQk5CIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJUVVNEIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaRU5CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWkVOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzODgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWkVORVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpFTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWkVOQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpFTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU0tZQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNLWSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjk1NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTS1lFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiU0tZIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2MTIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiU0tZQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNLWSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxODQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRU9TVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFT1MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjc0MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFT1NCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRU9TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDg1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNWQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJDVkMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ5NjQyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNWQ0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJDVkMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc5MzQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQ1ZDQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNWQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNDM0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRIRVRBQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRIRVRBIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MDM4NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUSEVUQUVUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUSEVUQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTczNzEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVEhFVEFCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVEhFVEEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzU1MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYUlBCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWFJQIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE0MDU2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRVU0RVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRVU0QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE3MjA4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPVEFVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIklPVEEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM3Njc2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhMTVVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWExNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTE4MTk4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPVFhCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU9UWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjIwNDc2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPVFhFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU9UWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTA0OTQ1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlFLQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJRS0MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI0MTU1MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJRS0NFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUUtDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2ODc0NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBR0lCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUdJIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4NTI0NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBR0lFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUdJIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzOTc5NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBR0lCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUdJIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQ0NDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTlhTQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5YUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODIwNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOWFNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTlhTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjE4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5YU0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOWFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjY1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVOSkJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFTkoiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTYzOTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEQVRBQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRBVEEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwODQ2NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEQVRBRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRBVEEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMyNjQ3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9OVFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg0MDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFJYQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDE2ODEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFJYVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUUlgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc2NjIyNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFVENVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNTk3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVUQ0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklDWFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSUNYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMTczNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzI4MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJTQ0VUSCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJTQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjE4OTYwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlNDQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlNDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1MDAwNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOUFhTQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5QWFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQzNDAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5QWFNFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTlBYUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDc2MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJWRU5VU0RUIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJWRU4iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJLRVlCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiS0VZIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1NjI0MjkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiS0VZRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIktFWSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzI3NDgwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5BU0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOQVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI3OTQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTkFTRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5BUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzE4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5BU0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOQVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDU3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1GVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNRlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEzODAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTUZURVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1GVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzU4NTU1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1GVEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNRlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTI5MjAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiREVOVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJERU5UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxODMwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJERU5URVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRFTlQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVJEUkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBUkRSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzOTQ1ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBUkRSRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFSRFIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM1ODUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVJEUkJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBUkRSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMzMTQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTlVMU1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTlVMUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzUzNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJIT1RCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSE9UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxODcwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJIT1RFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSE9UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiRVRIIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1NjUwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlZFVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJWRVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjExNjAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVkVURVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlZFVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkVUSCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMTAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTI0NDc2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlZFVFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVkVUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc4NDc5NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJWRVRCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVkVUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMwNjI2MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJET0NLQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRPQ0siLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE0NzAzMzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJET0NLRVRIIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRPQ0siLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjUzMTMzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBPTFlCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUE9MWSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjg1NDEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUE9MWUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQT0xZIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI4NTYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUEhYQlRDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJQSFgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3OTYxMjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUEhYRVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJQSFgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3NzQwMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQSFhCTkIiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlBIWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzk4MDkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSENCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI3NjcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSENFVEgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDEwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjY2NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJHT0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzgxNDIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR09CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiR08iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTQ5OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQQVhCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlBBWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBBWEJOQiIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiUEFYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQQVhVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlBBWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjQ1MDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUEFYRVRIIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJQQVgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJFVEgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAxMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSVk5CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUlZOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0MDYzNjcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUlZOQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlJWTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNDQwODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEQ1JCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRENSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyODkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRENSQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRDUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlVTRENCTkIiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlVTREMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlVTRENCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIlVTREMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNSVRIQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1JVEgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIwODgwNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNSVRIQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1JVEgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODEzMzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hBQkNCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkNIQUJDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNIU1ZCVEMiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkJDSFNWIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjEwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNIQUJDVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQ0hBQkMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjIwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDSFNWVVNEVCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiQkNIU1YiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiBmYWxzZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJOQlBBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCTkIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNTc3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJUQ1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAxMDAiLAogICAgIm1heFF0eSI6ICI5MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVRIUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVUSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhSUFBBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYUlAiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjk3MTMwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRU9TUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVPUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNjEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWExNUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhMTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTg3NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSRU5CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkVOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4MjU5MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJSRU5CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUkVOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE4NjU0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJOQlRVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQk5CIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNTQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWFJQVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYUlAiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5NDYwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVPU1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRU9TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNjUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWExNVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYTE0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzODk3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJOQlVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQk5CIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNzcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRDVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAxMDAiLAogICAgIm1heFF0eSI6ICI5MDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVRIVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFVEgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWFJQVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJYUlAiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNDkyMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFT1NVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVPUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzQ2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhMTVVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWExNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTQwMTUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVVNEQ1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVVNEQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTUyMzEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURBVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBREEiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMjMxNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJUUlhUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjc1MDI4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTkVPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTM1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRSWFhSUCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUUlgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJYUlAiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE0Njk4ODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJYWkNYUlAiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWFpDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiWFJQIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUEFYVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQQVgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjU1NDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVVNEQ1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVVNEQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTc0OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJVU0RDUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlVTREMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDYwMjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJMSU5LVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMSU5LIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyNzU2MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkxJTktUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxJTksiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE4NjQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTElOS1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMSU5LIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEyMDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTElOS1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTElOSyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzk3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIldBVkVTVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXQVZFUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTI2NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQVZFU1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0FWRVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM3MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQVZFU1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJXQVZFUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI4NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXQVZFU1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0FWRVMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI2OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hBQkNUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDSEFCQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hBQkNQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkNIQUJDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hBQkNVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDSEFCQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hTVlRVU0QiLAogICAgInN0YXR1cyI6ICJCUkVBSyIsCiAgICAiYmFzZUFzc2V0IjogIkJDSFNWIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogZmFsc2UsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ0hTVlBBWCIsCiAgICAic3RhdHVzIjogIkJSRUFLIiwKICAgICJiYXNlQXNzZXQiOiAiQkNIU1YiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkNIU1ZVU0RDIiwKICAgICJzdGF0dXMiOiAiQlJFQUsiLAogICAgImJhc2VBc3NldCI6ICJCQ0hTViIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IGZhbHNlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFRDVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJMVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTFRDUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkxUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjUzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkxUQ1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTFRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjYwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRSWFBBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUUlgiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQwNjg5MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRSWFVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVFJYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDk4NDQwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRUQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODAyMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRUQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzg1MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVFRVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDYwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCTkJVU0RTIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJOQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRDVVNEUyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RTIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhRdHkiOiAiOTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlVTRFNVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlVTRFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1MzUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVVNEU1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJVU0RTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1NjYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVVNEU1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVVNEUyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNzQ1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlVTRFNVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlVTRFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjIzMjYwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRUUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjk1MTExOTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVFRUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3ODAwMTUwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQlRUVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCVFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTI1MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTkdCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05HIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjUxOTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTkdCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05HIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMjE3OTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTkdVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9ORyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjU2MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJIT1RCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSE9UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3MTYwODEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiSE9UVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJIT1QiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjQxMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaSUxVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpJTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjI5MTA3NjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaUlhCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWlJYIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg4MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaUlhVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpSWCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDEyNDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGRVRCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRkVUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjEzNTQ3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkZFVEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJGRVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE2NjkzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkZFVFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRkVUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMjQzNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQVRVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJBVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjEyMDEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWE1SQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlhNUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlhNUlVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWE1SIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDEwMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlpFQ0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJaRUMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaRUNVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpFQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI2NzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaRUNQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiWkVDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTEwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiWkVDVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJaRUMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDEwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJaRUNVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlpFQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI0MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIklPU1RCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiSU9TVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1MDYwNTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJJT1NUVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJJT1NUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjQxNDAyODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJDRUxSQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNFTFIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTQzMTA4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNFTFJCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQ0VMUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDUyODI3MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNFTFJVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkNFTFIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzNjE0NDIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQURBUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiODU3NDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBREFVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFEQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjMwNDIyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJORU8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5FT1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTkVPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjA1MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRBU0hCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiREFTSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiREFTSFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiREFTSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxNzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOQU5PVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOQU5PIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyNzkzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9NR0JOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTUciLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiNDAzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9NR1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT01HIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIxOTMyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlRIRVRBVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJUSEVUQSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE2MTg4MDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVOSlVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRU5KIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMjM2NjkwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiTUlUSFVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTUlUSCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjczMTYyMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk1BVElDQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk1BVElDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjM3Mjg4MjAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNQVRJQ0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJNQVRJQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzQ5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJNQVRJQ1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiTUFUSUMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI3ODM0NTIwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVRPTUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBVE9NIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzMzcwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQVRPTUJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBVE9NIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI1ODgzMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFUT01VU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFUT00iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIyMDgwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFUT01VU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFUT00iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICIzODAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBVE9NUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFUT00iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE1MzAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBVE9NVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBVE9NIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTUwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkVUQ1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVRDIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVRDUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVUQyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVRDVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFVEMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDEwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BUktFVF9MT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQVRVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJBVCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVJLRVRfTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiMzAyMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQVRQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkFUIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjE4NjgwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkFUVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJCQVQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFSS0VUX0xPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjg1NTAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQSEJCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUEhCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBIQkJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQSEIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlBIQlVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUEhCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiUEhCVFVTRCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJQSEIiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJQSEJQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiUEhCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJURlVFTEJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJURlVFTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJURlVFTEJUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJURlVFTCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVEZVRUxVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRGVUVMIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVEZVRUxVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRGVUVMIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVEZVRUxUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRGVUVMIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVEZVRUxQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiVEZVRUwiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9ORUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTkUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiT05FQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9ORSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiT05FVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTkUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTkVUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk9ORSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9ORVBBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJPTkUiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9ORVVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05FIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRlRNQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZUTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJOQiIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAxMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAxMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGVE1CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRlRNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJGVE1VU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZUTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkZUTVRVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRlRNIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRlRNUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkZUTSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRlRNVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJGVE0iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCVENCQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJUQ0IiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMTAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMTAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICIxMDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDUFRUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJCQ1BUUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkJDUFRVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkJDUFQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBTEdPQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFMR08iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUxHT0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBTEdPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBTEdPVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBTEdPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUxHT1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUxHTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlRVU0QiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFMR09QQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUxHTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlBBWCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAxMDAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDAxMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDAxMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQUxHT1VTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQUxHTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDEwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAwMTAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAwMTAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIlVTRFNCVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJVU0RTQiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVVNEU0JVU0RTIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlVTRFNCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEUyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJHVE9VU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkdUTyIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdUT1BBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHVE8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkdUT1RVU0QiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiR1RPIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiR1RPVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJHVE8iLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFUkRCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVJEIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFUkRCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVJEIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFUkRVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkVSRCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJFUkRQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRVJEIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRVJEVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJFUkQiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRE9HRUJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJET0dFIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJET0dFQlRDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRPR0UiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkRPR0VVU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRPR0UiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RUIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRE9HRVBBWCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJET0dFIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRE9HRVVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiRE9HRSIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEVVNLQk5CIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRVU0siLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCTkIiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4xMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiRFVTS0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJEVVNLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEVVNLVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJEVVNLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEVVNLVVNEQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJEVVNLIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJEVVNLUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkRVU0siLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQkdCUFVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQkdCUCIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDEwMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDEwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMDEwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMDEwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQU5LUkJOQiIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJBTktSIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFOS1JCVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQU5LUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIkJUQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMDEiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMDEiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMC4wMDAxMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiQU5LUlVTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQU5LUiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFOS1JUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFOS1IiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJUVVNEIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJBTktSUEFYIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFOS1IiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJQQVgiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAxMDAwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAxMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjAuMTAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjEwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkFOS1JVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIkFOS1IiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMTAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMTAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjEwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4xMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJPTlRQQVgiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiUEFYIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAxMDAwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAxMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIwLjAxMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIwLjAxMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk9OVFVTREMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiT05UIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEQyIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5CTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0lOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjEwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5CVEMiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiV0lOIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQlRDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAwMSIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAwMSIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIwLjAwMDEwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5VU0RUIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldJTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTRFQiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJXSU5VU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIldJTiIsCiAgICAiYmFzZUFzc2V0UHJlY2lzaW9uIjogOCwKICAgICJxdW90ZUFzc2V0IjogIlVTREMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDEwIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDEwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJDT1NCTkIiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQ09TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiQk5CIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDEwMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDEwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMTAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNPU0JUQyIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJDT1MiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJCVEMiLAogICAgInF1b3RlUHJlY2lzaW9uIjogOCwKICAgICJvcmRlclR5cGVzIjogWwogICAgIkxJTUlUIiwKICAgICJMSU1JVF9NQUtFUiIsCiAgICAiTUFSS0VUIiwKICAgICJTVE9QX0xPU1NfTElNSVQiLAogICAgIlRBS0VfUFJPRklUX0xJTUlUIgogICAgXSwKICAgICJpY2ViZXJnQWxsb3dlZCI6IHRydWUsCiAgICAib2NvQWxsb3dlZCI6IHRydWUsCiAgICAiaXNTcG90VHJhZGluZ0FsbG93ZWQiOiB0cnVlLAogICAgImlzTWFyZ2luVHJhZGluZ0FsbG93ZWQiOiBmYWxzZSwKICAgICJmaWx0ZXJzIjogWwogICAgewogICAgImZpbHRlclR5cGUiOiAiUFJJQ0VfRklMVEVSIiwKICAgICJtaW5QcmljZSI6ICIwLjAwMDAwMDAxIiwKICAgICJtYXhQcmljZSI6ICIxMDAwLjAwMDAwMDAwIiwKICAgICJ0aWNrU2l6ZSI6ICIwLjAwMDAwMDAxIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBFUkNFTlRfUFJJQ0UiLAogICAgIm11bHRpcGxpZXJVcCI6ICI1IiwKICAgICJtdWx0aXBsaWVyRG93biI6ICIwLjIiLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJMT1RfU0laRSIsCiAgICAibWluUXR5IjogIjEuMDAwMDAwMDAiLAogICAgIm1heFF0eSI6ICI5MDAwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMS4wMDAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjAuMDAwMTAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIkNPU1VTRFQiLAogICAgInN0YXR1cyI6ICJUUkFESU5HIiwKICAgICJiYXNlQXNzZXQiOiAiQ09TIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDEwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDEwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4xMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjAuMTAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfSwKICAgIHsKICAgICJzeW1ib2wiOiAiVFVTREJUVVNEIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIlRVU0RCIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVFVTRCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMTAwMDAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMTAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMC4wMTAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMC4wMDAwMDAwMCIsCiAgICAic3RlcFNpemUiOiAiMC4wMTAwMDAwMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNSU5fTk9USU9OQUwiLAogICAgIm1pbk5vdGlvbmFsIjogIjEwLjAwMDAwMDAwIiwKICAgICJhcHBseVRvTWFya2V0IjogdHJ1ZSwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiSUNFQkVSR19QQVJUUyIsCiAgICAibGltaXQiOiAxMAogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1BWF9OVU1fQUxHT19PUkRFUlMiLAogICAgIm1heE51bUFsZ29PcmRlcnMiOiA1CiAgICB9CiAgICBdCiAgICB9LAogICAgewogICAgInN5bWJvbCI6ICJOUFhTVVNEVCIsCiAgICAic3RhdHVzIjogIlRSQURJTkciLAogICAgImJhc2VBc3NldCI6ICJOUFhTIiwKICAgICJiYXNlQXNzZXRQcmVjaXNpb24iOiA4LAogICAgInF1b3RlQXNzZXQiOiAiVVNEVCIsCiAgICAicXVvdGVQcmVjaXNpb24iOiA4LAogICAgIm9yZGVyVHlwZXMiOiBbCiAgICAiTElNSVQiLAogICAgIkxJTUlUX01BS0VSIiwKICAgICJNQVJLRVQiLAogICAgIlNUT1BfTE9TU19MSU1JVCIsCiAgICAiVEFLRV9QUk9GSVRfTElNSVQiCiAgICBdLAogICAgImljZWJlcmdBbGxvd2VkIjogdHJ1ZSwKICAgICJvY29BbGxvd2VkIjogdHJ1ZSwKICAgICJpc1Nwb3RUcmFkaW5nQWxsb3dlZCI6IHRydWUsCiAgICAiaXNNYXJnaW5UcmFkaW5nQWxsb3dlZCI6IGZhbHNlLAogICAgImZpbHRlcnMiOiBbCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQUklDRV9GSUxURVIiLAogICAgIm1pblByaWNlIjogIjAuMDAwMDAwMTAiLAogICAgIm1heFByaWNlIjogIjEwMDAuMDAwMDAwMDAiLAogICAgInRpY2tTaXplIjogIjAuMDAwMDAwMTAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiUEVSQ0VOVF9QUklDRSIsCiAgICAibXVsdGlwbGllclVwIjogIjUiLAogICAgIm11bHRpcGxpZXJEb3duIjogIjAuMiIsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIkxPVF9TSVpFIiwKICAgICJtaW5RdHkiOiAiMS4wMDAwMDAwMCIsCiAgICAibWF4UXR5IjogIjkwMDAwMDAwLjAwMDAwMDAwIiwKICAgICJzdGVwU2l6ZSI6ICIxLjAwMDAwMDAwIgogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIk1JTl9OT1RJT05BTCIsCiAgICAibWluTm90aW9uYWwiOiAiMTAuMDAwMDAwMDAiLAogICAgImFwcGx5VG9NYXJrZXQiOiB0cnVlLAogICAgImF2Z1ByaWNlTWlucyI6IDUKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJJQ0VCRVJHX1BBUlRTIiwKICAgICJsaW1pdCI6IDEwCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUFYX05VTV9BTEdPX09SREVSUyIsCiAgICAibWF4TnVtQWxnb09yZGVycyI6IDUKICAgIH0KICAgIF0KICAgIH0sCiAgICB7CiAgICAic3ltYm9sIjogIk5QWFNVU0RDIiwKICAgICJzdGF0dXMiOiAiVFJBRElORyIsCiAgICAiYmFzZUFzc2V0IjogIk5QWFMiLAogICAgImJhc2VBc3NldFByZWNpc2lvbiI6IDgsCiAgICAicXVvdGVBc3NldCI6ICJVU0RDIiwKICAgICJxdW90ZVByZWNpc2lvbiI6IDgsCiAgICAib3JkZXJUeXBlcyI6IFsKICAgICJMSU1JVCIsCiAgICAiTElNSVRfTUFLRVIiLAogICAgIk1BUktFVCIsCiAgICAiU1RPUF9MT1NTX0xJTUlUIiwKICAgICJUQUtFX1BST0ZJVF9MSU1JVCIKICAgIF0sCiAgICAiaWNlYmVyZ0FsbG93ZWQiOiB0cnVlLAogICAgIm9jb0FsbG93ZWQiOiB0cnVlLAogICAgImlzU3BvdFRyYWRpbmdBbGxvd2VkIjogdHJ1ZSwKICAgICJpc01hcmdpblRyYWRpbmdBbGxvd2VkIjogZmFsc2UsCiAgICAiZmlsdGVycyI6IFsKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIlBSSUNFX0ZJTFRFUiIsCiAgICAibWluUHJpY2UiOiAiMC4wMDAwMDAxMCIsCiAgICAibWF4UHJpY2UiOiAiMTAwMC4wMDAwMDAwMCIsCiAgICAidGlja1NpemUiOiAiMC4wMDAwMDAxMCIKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJQRVJDRU5UX1BSSUNFIiwKICAgICJtdWx0aXBsaWVyVXAiOiAiNSIsCiAgICAibXVsdGlwbGllckRvd24iOiAiMC4yIiwKICAgICJhdmdQcmljZU1pbnMiOiA1CiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTE9UX1NJWkUiLAogICAgIm1pblF0eSI6ICIxLjAwMDAwMDAwIiwKICAgICJtYXhRdHkiOiAiOTAwMDAwMDAuMDAwMDAwMDAiLAogICAgInN0ZXBTaXplIjogIjEuMDAwMDAwMDAiCiAgICB9LAogICAgewogICAgImZpbHRlclR5cGUiOiAiTUlOX05PVElPTkFMIiwKICAgICJtaW5Ob3Rpb25hbCI6ICIxMC4wMDAwMDAwMCIsCiAgICAiYXBwbHlUb01hcmtldCI6IHRydWUsCiAgICAiYXZnUHJpY2VNaW5zIjogNQogICAgfSwKICAgIHsKICAgICJmaWx0ZXJUeXBlIjogIklDRUJFUkdfUEFSVFMiLAogICAgImxpbWl0IjogMTAKICAgIH0sCiAgICB7CiAgICAiZmlsdGVyVHlwZSI6ICJNQVhfTlVNX0FMR09fT1JERVJTIiwKICAgICJtYXhOdW1BbGdvT3JkZXJzIjogNQogICAgfQogICAgXQogICAgfQogICAgXQogICAgfTs="}},"time_used":82,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":52,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/select2.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.041Z","timestamp":1785139582041,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/select2.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 33611\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":157725,"size_decoded":33849,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"5a7b421fe7f6b19df7dbc58930b3c1bc","sha1":"7a30ba507735c61a7da604457e59778fb13541bc","sha256":"32196e5b87a598e70b0042ac72b1ec1fecc84b5e98927ab466a1d2d18340682c","sha512":"f17c0f791119667e00a3c4c366ceaeb84de5f7b85760a321a463fba10dd7381787ba508b6fa629df361321c494b3b48f44a8a79951fdfca994ea3bb1ed3f666f","ssdeep":"3072:iiWKgwZF5nYXe9gxbWHXnNkCYiGyKmFpsAmI/E2GjxcCSXGNJk503m:PWmnnYXe9gxbWHXnNkCYiGyKmFpsAmIv","tlshash":"bef361c4e7ac326683bb209a5c5e60cda13ca136d0156c6fbca8dadc54f98385367d3d","first_seen":"2025-11-23T04:10:47.775172Z","last_seen":"2026-07-27T09:11:27.303547Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIFNlbGVjdDIgNC4wLjUKICogaHR0cHM6Ly9zZWxlY3QyLmdpdGh1Yi5pbwogKgogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKICogaHR0cHM6Ly9naXRodWIuY29tL3NlbGVjdDIvc2VsZWN0Mi9ibG9iL21hc3Rlci9MSUNFTlNFLm1kCiAqLwooZnVuY3Rpb24gKGZhY3RvcnkpIHsKCWlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsKCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCgkJZGVmaW5lKFsnanF1ZXJ5J10sIGZhY3RvcnkpOwoJfSBlbHNlIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cykgewoJCS8vIE5vZGUvQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChyb290LCBqUXVlcnkpIHsKCQkJaWYgKGpRdWVyeSA9PT0gdW5kZWZpbmVkKSB7CgkJCQkvLyByZXF1aXJlKCdqUXVlcnknKSByZXR1cm5zIGEgZmFjdG9yeSB0aGF0IHJlcXVpcmVzIHdpbmRvdyB0bwoJCQkJLy8gYnVpbGQgYSBqUXVlcnkgaW5zdGFuY2UsIHdlIG5vcm1hbGl6ZSBob3cgd2UgdXNlIG1vZHVsZXMKCQkJCS8vIHRoYXQgcmVxdWlyZSB0aGlzIHBhdHRlcm4gYnV0IHRoZSB3aW5kb3cgcHJvdmlkZWQgaXMgYSBub29wCgkJCQkvLyBpZiBpdCdzIGRlZmluZWQgKGhvdyBqcXVlcnkgd29ya3MpCgkJCQlpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHsKCQkJCQlqUXVlcnkgPSByZXF1aXJlKCdqcXVlcnknKTsKCQkJCX0KCQkJCWVsc2UgewoJCQkJCWpRdWVyeSA9IHJlcXVpcmUoJ2pxdWVyeScpKHJvb3QpOwoJCQkJfQoJCQl9CgkJCWZhY3RvcnkoalF1ZXJ5KTsKCQkJcmV0dXJuIGpRdWVyeTsKCQl9OwoJfSBlbHNlIHsKCQkvLyBCcm93c2VyIGdsb2JhbHMKCQlmYWN0b3J5KGpRdWVyeSk7Cgl9Cn0gKGZ1bmN0aW9uIChqUXVlcnkpIHsKCS8vIFRoaXMgaXMgbmVlZGVkIHNvIHdlIGNhbiBjYXRjaCB0aGUgQU1EIGxvYWRlciBjb25maWd1cmF0aW9uIGFuZCB1c2UgaXQKCS8vIFRoZSBpbm5lciBmaWxlIHNob3VsZCBiZSB3cmFwcGVkIChieSBgYmFubmVyLnN0YXJ0LmpzYCkgaW4gYSBmdW5jdGlvbiB0aGF0CgkvLyByZXR1cm5zIHRoZSBBTUQgbG9hZGVyIHJlZmVyZW5jZXMuCgl2YXIgUzIgPShmdW5jdGlvbiAoKSB7CgkJLy8gUmVzdG9yZSB0aGUgU2VsZWN0MiBBTUQgbG9hZGVyIHNvIGl0IGNhbiBiZSB1c2VkCgkJLy8gTmVlZGVkIG1vc3RseSBpbiB0aGUgbGFuZ3VhZ2UgZmlsZXMsIHdoZXJlIHRoZSBsb2FkZXIgaXMgbm90IGluc2VydGVkCgkJaWYgKGpRdWVyeSAmJiBqUXVlcnkuZm4gJiYgalF1ZXJ5LmZuLnNlbGVjdDIgJiYgalF1ZXJ5LmZuLnNlbGVjdDIuYW1kKSB7CgkJCXZhciBTMiA9IGpRdWVyeS5mbi5zZWxlY3QyLmFtZDsKCQl9CgkJdmFyIFMyOyhmdW5jdGlvbiAoKSB7IGlmICghUzIgfHwgIVMyLnJlcXVpcmVqcykgewoJCQlpZiAoIVMyKSB7IFMyID0ge307IH0gZWxzZSB7IHJlcXVpcmUgPSBTMjsgfQoJCQkvKioKCQkJICogQGxpY2Vuc2UgYWxtb25kIDAuMy4zIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzLgoJCQkgKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSwgaHR0cDovL2dpdGh1Yi5jb20vcmVxdWlyZWpzL2FsbW9uZC9MSUNFTlNFCgkJCSAqLwovL0dvaW5nIHNsb3BweSB0byBhdm9pZCAndXNlIHN0cmljdCcgc3RyaW5nIGNvc3QsIGJ1dCBzdHJpY3QgcHJhY3RpY2VzIHNob3VsZAovL2JlIGZvbGxvd2VkLgoJCQkvKmdsb2JhbCBzZXRUaW1lb3V0OiBmYWxzZSAqLwoKCQkJdmFyIHJlcXVpcmVqcywgcmVxdWlyZSwgZGVmaW5lOwoJCQkoZnVuY3Rpb24gKHVuZGVmKSB7CgkJCQl2YXIgbWFpbiwgcmVxLCBtYWtlTWFwLCBoYW5kbGVycywKCQkJCQlkZWZpbmVkID0ge30sCgkJCQkJd2FpdGluZyA9IHt9LAoJCQkJCWNvbmZpZyA9IHt9LAoJCQkJCWRlZmluaW5nID0ge30sCgkJCQkJaGFzT3duID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSwKCQkJCQlhcHMgPSBbXS5zbGljZSwKCQkJCQlqc1N1ZmZpeFJlZ0V4cCA9IC9cLmpzJC87CgoJCQkJZnVuY3Rpb24gaGFzUHJvcChvYmosIHByb3ApIHsKCQkJCQlyZXR1cm4gaGFzT3duLmNhbGwob2JqLCBwcm9wKTsKCQkJCX0KCgkJCQkvKioKCQkJCSAqIEdpdmVuIGEgcmVsYXRpdmUgbW9kdWxlIG5hbWUsIGxpa2UgLi9zb21ldGhpbmcsIG5vcm1hbGl6ZSBpdCB0bwoJCQkJICogYSByZWFsIG5hbWUgdGhhdCBjYW4gYmUgbWFwcGVkIHRvIGEgcGF0aC4KCQkJCSAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIHRoZSByZWxhdGl2ZSBuYW1lCgkJCQkgKiBAcGFyYW0ge1N0cmluZ30gYmFzZU5hbWUgYSByZWFsIG5hbWUgdGhhdCB0aGUgbmFtZSBhcmcgaXMgcmVsYXRpdmUKCQkJCSAqIHRvLgoJCQkJICogQHJldHVybnMge1N0cmluZ30gbm9ybWFsaXplZCBuYW1lCgkJCQkgKi8KCQkJCWZ1bmN0aW9uIG5vcm1hbGl6ZShuYW1lLCBiYXNlTmFtZSkgewoJCQkJCXZhciBuYW1lUGFydHMsIG5hbWVTZWdtZW50LCBtYXBWYWx1ZSwgZm91bmRNYXAsIGxhc3RJbmRleCwKCQkJCQkJZm91bmRJLCBmb3VuZFN0YXJNYXAsIHN0YXJJLCBpLCBqLCBwYXJ0LCBub3JtYWxpemVkQmFzZVBhcnRzLAoJCQkJCQliYXNlUGFydHMgPSBiYXNlTmFtZSAmJiBiYXNlTmFtZS5zcGxpdCgiLyIpLAoJCQkJCQltYXAgPSBjb25maWcubWFwLAoJCQkJCQlzdGFyTWFwID0gKG1hcCAmJiBtYXBbJyonXSkgfHwge307CgoJCQkJCS8vQWRqdXN0IGFueSByZWxhdGl2ZSBwYXRocy4KCQkJCQlpZiAobmFtZSkgewoJCQkJCQluYW1lID0gbmFtZS5zcGxpdCgnLycpOwoJCQkJCQlsYXN0SW5kZXggPSBuYW1lLmxlbmd0aCAtIDE7CgoJCQkJCQkvLyBJZiB3YW50aW5nIG5vZGUgSUQgY29tcGF0aWJpbGl0eSwgc3RyaXAgLmpzIGZyb20gZW5kCgkJCQkJCS8vIG9mIElEcy4gSGF2ZSB0byBkbyB0aGlzIGhlcmUsIGFuZCBub3QgaW4gbmFtZVRvVXJsCgkJCQkJCS8vIGJlY2F1c2Ugbm9kZSBhbGxvd3MgZWl0aGVyIC5qcyBvciBub24gLmpzIHRvIG1hcAoJCQkJCQkvLyB0byBzYW1lIGZpbGUuCgkJCQkJCWlmIChjb25maWcubm9kZUlkQ29tcGF0ICYmIGpzU3VmZml4UmVnRXhwLnRlc3QobmFtZVtsYXN0SW5kZXhdKSkgewoJCQkJCQkJbmFtZVtsYXN0SW5kZXhdID0gbmFtZVtsYXN0SW5kZXhdLnJlcGxhY2UoanNTdWZmaXhSZWdFeHAsICcnKTsKCQkJCQkJfQoKCQkJCQkJLy8gU3RhcnRzIHdpdGggYSAnLicgc28gbmVlZCB0aGUgYmFzZU5hbWUKCQkJCQkJaWYgKG5hbWVbMF0uY2hhckF0KDApID09PSAnLicgJiYgYmFzZVBhcnRzKSB7CgkJCQkJCQkvL0NvbnZlcnQgYmFzZU5hbWUgdG8gYXJyYXksIGFuZCBsb3Agb2ZmIHRoZSBsYXN0IHBhcnQsCgkJCQkJCQkvL3NvIHRoYXQgLiBtYXRjaGVzIHRoYXQgJ2RpcmVjdG9yeScgYW5kIG5vdCBuYW1lIG9mIHRoZSBiYXNlTmFtZSdzCgkJCQkJCQkvL21vZHVsZS4gRm9yIGluc3RhbmNlLCBiYXNlTmFtZSBvZiAnb25lL3R3by90aHJlZScsIG1hcHMgdG8KCQkJCQkJCS8vJ29uZS90d28vdGhyZWUuanMnLCBidXQgd2Ugd2FudCB0aGUgZGlyZWN0b3J5LCAnb25lL3R3bycgZm9yCgkJCQkJCQkvL3RoaXMgbm9ybWFsaXphdGlvbi4KCQkJCQkJCW5vcm1hbGl6ZWRCYXNlUGFydHMgPSBiYXNlUGFydHMuc2xpY2UoMCwgYmFzZVBhcnRzLmxlbmd0aCAtIDEpOwoJCQkJCQkJbmFtZSA9IG5vcm1hbGl6ZWRCYXNlUGFydHMuY29uY2F0KG5hbWUpOwoJCQkJCQl9CgoJCQkJCQkvL3N0YXJ0IHRyaW1Eb3RzCgkJCQkJCWZvciAoaSA9IDA7IGkgPCBuYW1lLmxlbmd0aDsgaSsrKSB7CgkJCQkJCQlwYXJ0ID0gbmFtZVtpXTsKCQkJCQkJCWlmIChwYXJ0ID09PSAnLicpIHsKCQkJCQkJCQluYW1lLnNwbGljZShpLCAxKTsKCQkJCQkJCQlpIC09IDE7CgkJCQkJCQl9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHsKCQkJCQkJCQkvLyBJZiBhdCB0aGUgc3RhcnQsIG9yIHByZXZpb3VzIHZhbHVlIGlzIHN0aWxsIC4uLAoJCQkJCQkJCS8vIGtlZXAgdGhlbSBzbyB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCBpdCBtYXkKCQkJCQkJCQkvLyBzdGlsbCB3b3JrIHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCwgZXZlbiB0aG91Z2gKCQkJCQkJCQkvLyBhcyBhbiBJRCBpdCBpcyBsZXNzIHRoYW4gaWRlYWwuIEluIGxhcmdlciBwb2ludAoJCQkJCQkJCS8vIHJlbGVhc2VzLCBtYXkgYmUgYmV0dGVyIHRvIGp1c3Qga2ljayBvdXQgYW4gZXJyb3IuCgkJCQkJCQkJaWYgKGkgPT09IDAgfHwgKGkgPT09IDEgJiYgbmFtZVsyXSA9PT0gJy4uJykgfHwgbmFtZVtpIC0gMV0gPT09ICcuLicpIHsKCQkJCQkJCQkJY29udGludWU7CgkJCQkJCQkJfSBlbHNlIGlmIChpID4gMCkgewoJCQkJCQkJCQluYW1lLnNwbGljZShpIC0gMSwgMik7CgkJCQkJCQkJCWkgLT0gMjsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJLy9lbmQgdHJpbURvdHMKCgkJCQkJCW5hbWUgPSBuYW1lLmpvaW4oJy8nKTsKCQkJCQl9CgoJCQkJCS8vQXBwbHkgbWFwIGNvbmZpZyBpZiBhdmFpbGFibGUuCgkJCQkJaWYgKChiYXNlUGFydHMgfHwgc3Rhck1hcCkgJiYgbWFwKSB7CgkJCQkJCW5hbWVQYXJ0cyA9IG5hbWUuc3BsaXQoJy8nKTsKCgkJCQkJCWZvciAoaSA9IG5hbWVQYXJ0cy5sZW5ndGg7IGkgPiAwOyBpIC09IDEpIHsKCQkJCQkJCW5hbWVTZWdtZW50ID0gbmFtZVBhcnRzLnNsaWNlKDAsIGkpLmpvaW4oIi8iKTsKCgkJCQkJCQlpZiAoYmFzZVBhcnRzKSB7CgkJCQkJCQkJLy9GaW5kIHRoZSBsb25nZXN0IGJhc2VOYW1lIHNlZ21lbnQgbWF0Y2ggaW4gdGhlIGNvbmZpZy4KCQkJCQkJCQkvL1NvLCBkbyBqb2lucyBvbiB0aGUgYmlnZ2VzdCB0byBzbWFsbGVzdCBsZW5ndGhzIG9mIGJhc2VQYXJ0cy4KCQkJCQkJCQlmb3IgKGogPSBiYXNlUGFydHMubGVuZ3RoOyBqID4gMDsgaiAtPSAxKSB7CgkJCQkJCQkJCW1hcFZhbHVlID0gbWFwW2Jhc2VQYXJ0cy5zbGljZSgwLCBqKS5qb2luKCcvJyldOwoKCQkJCQkJCQkJLy9iYXNlTmFtZSBzZWdtZW50IGhhcyAgY29uZmlnLCBmaW5kIGlmIGl0IGhhcyBvbmUgZm9yCgkJCQkJCQkJCS8vdGhpcyBuYW1lLgoJCQkJCQkJCQlpZiAobWFwVmFsdWUpIHsKCQkJCQkJCQkJCW1hcFZhbHVlID0gbWFwVmFsdWVbbmFtZVNlZ21lbnRdOwoJCQkJCQkJCQkJaWYgKG1hcFZhbHVlKSB7CgkJCQkJCQkJCQkJLy9NYXRjaCwgdXBkYXRlIG5hbWUgdG8gdGhlIG5ldyB2YWx1ZS4KCQkJCQkJCQkJCQlmb3VuZE1hcCA9IG1hcFZhbHVlOwoJCQkJCQkJCQkJCWZvdW5kSSA9IGk7CgkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgoJCQkJCQkJaWYgKGZvdW5kTWFwKSB7CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgoJCQkJCQkJLy9DaGVjayBmb3IgYSBzdGFyIG1hcCBtYXRjaCwgYnV0IGp1c3QgaG9sZCBvbiB0byBpdCwKCQkJCQkJCS8vaWYgdGhlcmUgaXMgYSBzaG9ydGVyIHNlZ21lbnQgbWF0Y2ggbGF0ZXIgaW4gYSBtYXRjaGluZwoJCQkJCQkJLy9jb25maWcsIHRoZW4gZmF2b3Igb3ZlciB0aGlzIHN0YXIgbWFwLgoJCQkJCQkJaWYgKCFmb3VuZFN0YXJNYXAgJiYgc3Rhck1hcCAmJiBzdGFyTWFwW25hbWVTZWdtZW50XSkgewoJCQkJCQkJCWZvdW5kU3Rhck1hcCA9IHN0YXJNYXBbbmFtZVNlZ21lbnRdOwoJCQkJCQkJCXN0YXJJID0gaTsKCQkJCQkJCX0KCQkJCQkJfQoKCQkJCQkJaWYgKCFmb3VuZE1hcCAmJiBmb3VuZFN0YXJNYXApIHsKCQkJCQkJCWZvdW5kTWFwID0gZm91bmRTdGFyTWFwOwoJCQkJCQkJZm91bmRJID0gc3Rhckk7CgkJCQkJCX0KCgkJCQkJCWlmIChmb3VuZE1hcCkgewoJCQkJCQkJbmFtZVBhcnRzLnNwbGljZSgwLCBmb3VuZEksIGZvdW5kTWFwKTsKCQkJCQkJCW5hbWUgPSBuYW1lUGFydHMuam9pbignLycpOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQlyZXR1cm4gbmFtZTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBtYWtlUmVxdWlyZShyZWxOYW1lLCBmb3JjZVN5bmMpIHsKCQkJCQlyZXR1cm4gZnVuY3Rpb24gKCkgewoJCQkJCQkvL0EgdmVyc2lvbiBvZiBhIHJlcXVpcmUgZnVuY3Rpb24gdGhhdCBwYXNzZXMgYSBtb2R1bGVOYW1lCgkJCQkJCS8vdmFsdWUgZm9yIGl0ZW1zIHRoYXQgbWF5IG5lZWQgdG8KCQkJCQkJLy9sb29rIHVwIHBhdGhzIHJlbGF0aXZlIHRvIHRoZSBtb2R1bGVOYW1lCgkJCQkJCXZhciBhcmdzID0gYXBzLmNhbGwoYXJndW1lbnRzLCAwKTsKCgkJCQkJCS8vSWYgZmlyc3QgYXJnIGlzIG5vdCByZXF1aXJlKCdzdHJpbmcnKSwgYW5kIHRoZXJlIGlzIG9ubHkKCQkJCQkJLy9vbmUgYXJnLCBpdCBpcyB0aGUgYXJyYXkgZm9ybSB3aXRob3V0IGEgY2FsbGJhY2suIEluc2VydAoJCQkJCQkvL2EgbnVsbCBzbyB0aGF0IHRoZSBmb2xsb3dpbmcgY29uY2F0IGlzIGNvcnJlY3QuCgkJCQkJCWlmICh0eXBlb2YgYXJnc1swXSAhPT0gJ3N0cmluZycgJiYgYXJncy5sZW5ndGggPT09IDEpIHsKCQkJCQkJCWFyZ3MucHVzaChudWxsKTsKCQkJCQkJfQoJCQkJCQlyZXR1cm4gcmVxLmFwcGx5KHVuZGVmLCBhcmdzLmNvbmNhdChbcmVsTmFtZSwgZm9yY2VTeW5jXSkpOwoJCQkJCX07CgkJCQl9CgoJCQkJZnVuY3Rpb24gbWFrZU5vcm1hbGl6ZShyZWxOYW1lKSB7CgkJCQkJcmV0dXJuIGZ1bmN0aW9uIChuYW1lKSB7CgkJCQkJCXJldHVybiBub3JtYWxpemUobmFtZSwgcmVsTmFtZSk7CgkJCQkJfTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBtYWtlTG9hZChkZXBOYW1lKSB7CgkJCQkJcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgewoJCQkJCQlkZWZpbmVkW2RlcE5hbWVdID0gdmFsdWU7CgkJCQkJfTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBjYWxsRGVwKG5hbWUpIHsKCQkJCQlpZiAoaGFzUHJvcCh3YWl0aW5nLCBuYW1lKSkgewoJCQkJCQl2YXIgYXJncyA9IHdhaXRpbmdbbmFtZV07CgkJCQkJCWRlbGV0ZSB3YWl0aW5nW25hbWVdOwoJCQkJCQlkZWZpbmluZ1tuYW1lXSA9IHRydWU7CgkJCQkJCW1haW4uYXBwbHkodW5kZWYsIGFyZ3MpOwoJCQkJCX0KCgkJCQkJaWYgKCFoYXNQcm9wKGRlZmluZWQsIG5hbWUpICYmICFoYXNQcm9wKGRlZmluaW5nLCBuYW1lKSkgewoJCQkJCQl0aHJvdyBuZXcgRXJyb3IoJ05vICcgKyBuYW1lKTsKCQkJCQl9CgkJCQkJcmV0dXJuIGRlZmluZWRbbmFtZV07CgkJCQl9CgoJCQkJLy9UdXJucyBhIHBsdWdpbiFyZXNvdXJjZSB0byBbcGx1Z2luLCByZXNvdXJjZV0KCQkJCS8vd2l0aCB0aGUgcGx1Z2luIGJlaW5nIHVuZGVmaW5lZCBpZiB0aGUgbmFtZQoJCQkJLy9kaWQgbm90IGhhdmUgYSBwbHVnaW4gcHJlZml4LgoJCQkJZnVuY3Rpb24gc3BsaXRQcmVmaXgobmFtZSkgewoJCQkJCXZhciBwcmVmaXgsCgkJCQkJCWluZGV4ID0gbmFtZSA/IG5hbWUuaW5kZXhPZignIScpIDogLTE7CgkJCQkJaWYgKGluZGV4ID4gLTEpIHsKCQkJCQkJcHJlZml4ID0gbmFtZS5zdWJzdHJpbmcoMCwgaW5kZXgpOwoJCQkJCQluYW1lID0gbmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxLCBuYW1lLmxlbmd0aCk7CgkJCQkJfQoJCQkJCXJldHVybiBbcHJlZml4LCBuYW1lXTsKCQkJCX0KCgkJCQkvL0NyZWF0ZXMgYSBwYXJ0cyBhcnJheSBmb3IgYSByZWxOYW1lIHdoZXJlIGZpcnN0IHBhcnQgaXMgcGx1Z2luIElELAoJCQkJLy9zZWNvbmQgcGFydCBpcyByZXNvdXJjZSBJRC4gQXNzdW1lcyByZWxOYW1lIGhhcyBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4KCQkJCWZ1bmN0aW9uIG1ha2VSZWxQYXJ0cyhyZWxOYW1lKSB7CgkJCQkJcmV0dXJuIHJlbE5hbWUgPyBzcGxpdFByZWZpeChyZWxOYW1lKSA6IFtdOwoJCQkJfQoKCQkJCS8qKgoJCQkJICogTWFrZXMgYSBuYW1lIG1hcCwgbm9ybWFsaXppbmcgdGhlIG5hbWUsIGFuZCB1c2luZyBhIHBsdWdpbgoJCQkJICogZm9yIG5vcm1hbGl6YXRpb24gaWYgbmVjZXNzYXJ5LiBHcmFicyBhIHJlZiB0byBwbHVnaW4KCQkJCSAqIHRvbywgYXMgYW4gb3B0aW1pemF0aW9uLgoJCQkJICovCgkJCQltYWtlTWFwID0gZnVuY3Rpb24gKG5hbWUsIHJlbFBhcnRzKSB7CgkJCQkJdmFyIHBsdWdpbiwKCQkJCQkJcGFydHMgPSBzcGxpdFByZWZpeChuYW1lKSwKCQkJCQkJcHJlZml4ID0gcGFydHNbMF0sCgkJCQkJCXJlbFJlc291cmNlTmFtZSA9IHJlbFBhcnRzWzFdOwoKCQkJCQluYW1lID0gcGFydHNbMV07CgoJCQkJCWlmIChwcmVmaXgpIHsKCQkJCQkJcHJlZml4ID0gbm9ybWFsaXplKHByZWZpeCwgcmVsUmVzb3VyY2VOYW1lKTsKCQkJCQkJcGx1Z2luID0gY2FsbERlcChwcmVmaXgpOwoJCQkJCX0KCgkJCQkJLy9Ob3JtYWxpemUgYWNjb3JkaW5nCgkJCQkJaWYgKHByZWZpeCkgewoJCQkJCQlpZiAocGx1Z2luICYmIHBsdWdpbi5ub3JtYWxpemUpIHsKCQkJCQkJCW5hbWUgPSBwbHVnaW4ubm9ybWFsaXplKG5hbWUsIG1ha2VOb3JtYWxpemUocmVsUmVzb3VyY2VOYW1lKSk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQluYW1lID0gbm9ybWFsaXplKG5hbWUsIHJlbFJlc291cmNlTmFtZSk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQluYW1lID0gbm9ybWFsaXplKG5hbWUsIHJlbFJlc291cmNlTmFtZSk7CgkJCQkJCXBhcnRzID0gc3BsaXRQcmVmaXgobmFtZSk7CgkJCQkJCXByZWZpeCA9IHBhcnRzWzBdOwoJCQkJCQluYW1lID0gcGFydHNbMV07CgkJCQkJCWlmIChwcmVmaXgpIHsKCQkJCQkJCXBsdWdpbiA9IGNhbGxEZXAocHJlZml4KTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy9Vc2luZyByaWRpY3Vsb3VzIHByb3BlcnR5IG5hbWVzIGZvciBzcGFjZSByZWFzb25zCgkJCQkJcmV0dXJuIHsKCQkJCQkJZjogcHJlZml4ID8gcHJlZml4ICsgJyEnICsgbmFtZSA6IG5hbWUsIC8vZnVsbE5hbWUKCQkJCQkJbjogbmFtZSwKCQkJCQkJcHI6IHByZWZpeCwKCQkJCQkJcDogcGx1Z2luCgkJCQkJfTsKCQkJCX07CgoJCQkJZnVuY3Rpb24gbWFrZUNvbmZpZyhuYW1lKSB7CgkJCQkJcmV0dXJuIGZ1bmN0aW9uICgpIHsKCQkJCQkJcmV0dXJuIChjb25maWcgJiYgY29uZmlnLmNvbmZpZyAmJiBjb25maWcuY29uZmlnW25hbWVdKSB8fCB7fTsKCQkJCQl9OwoJCQkJfQoKCQkJCWhhbmRsZXJzID0gewoJCQkJCXJlcXVpcmU6IGZ1bmN0aW9uIChuYW1lKSB7CgkJCQkJCXJldHVybiBtYWtlUmVxdWlyZShuYW1lKTsKCQkJCQl9LAoJCQkJCWV4cG9ydHM6IGZ1bmN0aW9uIChuYW1lKSB7CgkJCQkJCXZhciBlID0gZGVmaW5lZFtuYW1lXTsKCQkJCQkJaWYgKHR5cGVvZiBlICE9PSAndW5kZWZpbmVkJykgewoJCQkJCQkJcmV0dXJuIGU7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlyZXR1cm4gKGRlZmluZWRbbmFtZV0gPSB7fSk7CgkJCQkJCX0KCQkJCQl9LAoJCQkJCW1vZHVsZTogZnVuY3Rpb24gKG5hbWUpIHsKCQkJCQkJcmV0dXJuIHsKCQkJCQkJCWlkOiBuYW1lLAoJCQkJCQkJdXJpOiAnJywKCQkJCQkJCWV4cG9ydHM6IGRlZmluZWRbbmFtZV0sCgkJCQkJCQljb25maWc6IG1ha2VDb25maWcobmFtZSkKCQkJCQkJfTsKCQkJCQl9CgkJCQl9OwoKCQkJCW1haW4gPSBmdW5jdGlvbiAobmFtZSwgZGVwcywgY2FsbGJhY2ssIHJlbE5hbWUpIHsKCQkJCQl2YXIgY2pzTW9kdWxlLCBkZXBOYW1lLCByZXQsIG1hcCwgaSwgcmVsUGFydHMsCgkJCQkJCWFyZ3MgPSBbXSwKCQkJCQkJY2FsbGJhY2tUeXBlID0gdHlwZW9mIGNhbGxiYWNrLAoJCQkJCQl1c2luZ0V4cG9ydHM7CgoJCQkJCS8vVXNlIG5hbWUgaWYgbm8gcmVsTmFtZQoJCQkJCXJlbE5hbWUgPSByZWxOYW1lIHx8IG5hbWU7CgkJCQkJcmVsUGFydHMgPSBtYWtlUmVsUGFydHMocmVsTmFtZSk7CgoJCQkJCS8vQ2FsbCB0aGUgY2FsbGJhY2sgdG8gZGVmaW5lIHRoZSBtb2R1bGUsIGlmIG5lY2Vzc2FyeS4KCQkJCQlpZiAoY2FsbGJhY2tUeXBlID09PSAndW5kZWZpbmVkJyB8fCBjYWxsYmFja1R5cGUgPT09ICdmdW5jdGlvbicpIHsKCQkJCQkJLy9QdWxsIG91dCB0aGUgZGVmaW5lZCBkZXBlbmRlbmNpZXMgYW5kIHBhc3MgdGhlIG9yZGVyZWQKCQkJCQkJLy92YWx1ZXMgdG8gdGhlIGNhbGxiYWNrLgoJCQkJCQkvL0RlZmF1bHQgdG8gW3JlcXVpcmUsIGV4cG9ydHMsIG1vZHVsZV0gaWYgbm8gZGVwcwoJCQkJCQlkZXBzID0gIWRlcHMubGVuZ3RoICYmIGNhbGxiYWNrLmxlbmd0aCA/IFsncmVxdWlyZScsICdleHBvcnRzJywgJ21vZHVsZSddIDogZGVwczsKCQkJCQkJZm9yIChpID0gMDsgaSA8IGRlcHMubGVuZ3RoOyBpICs9IDEpIHsKCQkJCQkJCW1hcCA9IG1ha2VNYXAoZGVwc1tpXSwgcmVsUGFydHMpOwoJCQkJCQkJZGVwTmFtZSA9IG1hcC5mOwoKCQkJCQkJCS8vRmFzdCBwYXRoIENvbW1vbkpTIHN0YW5kYXJkIGRlcGVuZGVuY2llcy4KCQkJCQkJCWlmIChkZXBOYW1lID09PSAicmVxdWlyZSIpIHsKCQkJCQkJCQlhcmdzW2ldID0gaGFuZGxlcnMucmVxdWlyZShuYW1lKTsKCQkJCQkJCX0gZWxzZSBpZiAoZGVwTmFtZSA9PT0gImV4cG9ydHMiKSB7CgkJCQkJCQkJLy9Db21tb25KUyBtb2R1bGUgc3BlYyAxLjEKCQkJCQkJCQlhcmdzW2ldID0gaGFuZGxlcnMuZXhwb3J0cyhuYW1lKTsKCQkJCQkJCQl1c2luZ0V4cG9ydHMgPSB0cnVlOwoJCQkJCQkJfSBlbHNlIGlmIChkZXBOYW1lID09PSAibW9kdWxlIikgewoJCQkJCQkJCS8vQ29tbW9uSlMgbW9kdWxlIHNwZWMgMS4xCgkJCQkJCQkJY2pzTW9kdWxlID0gYXJnc1tpXSA9IGhhbmRsZXJzLm1vZHVsZShuYW1lKTsKCQkJCQkJCX0gZWxzZSBpZiAoaGFzUHJvcChkZWZpbmVkLCBkZXBOYW1lKSB8fAoJCQkJCQkJCWhhc1Byb3Aod2FpdGluZywgZGVwTmFtZSkgfHwKCQkJCQkJCQloYXNQcm9wKGRlZmluaW5nLCBkZXBOYW1lKSkgewoJCQkJCQkJCWFyZ3NbaV0gPSBjYWxsRGVwKGRlcE5hbWUpOwoJCQkJCQkJfSBlbHNlIGlmIChtYXAucCkgewoJCQkJCQkJCW1hcC5wLmxvYWQobWFwLm4sIG1ha2VSZXF1aXJlKHJlbE5hbWUsIHRydWUpLCBtYWtlTG9hZChkZXBOYW1lKSwge30pOwoJCQkJCQkJCWFyZ3NbaV0gPSBkZWZpbmVkW2RlcE5hbWVdOwoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQl0aHJvdyBuZXcgRXJyb3IobmFtZSArICcgbWlzc2luZyAnICsgZGVwTmFtZSk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCXJldCA9IGNhbGxiYWNrID8gY2FsbGJhY2suYXBwbHkoZGVmaW5lZFtuYW1lXSwgYXJncykgOiB1bmRlZmluZWQ7CgoJCQkJCQlpZiAobmFtZSkgewoJCQkJCQkJLy9JZiBzZXR0aW5nIGV4cG9ydHMgdmlhICJtb2R1bGUiIGlzIGluIHBsYXksCgkJCQkJCQkvL2Zhdm9yIHRoYXQgb3ZlciByZXR1cm4gdmFsdWUgYW5kIGV4cG9ydHMuIEFmdGVyIHRoYXQsCgkJCQkJCQkvL2Zhdm9yIGEgbm9uLXVuZGVmaW5lZCByZXR1cm4gdmFsdWUgb3ZlciBleHBvcnRzIHVzZS4KCQkJCQkJCWlmIChjanNNb2R1bGUgJiYgY2pzTW9kdWxlLmV4cG9ydHMgIT09IHVuZGVmICYmCgkJCQkJCQkJY2pzTW9kdWxlLmV4cG9ydHMgIT09IGRlZmluZWRbbmFtZV0pIHsKCQkJCQkJCQlkZWZpbmVkW25hbWVdID0gY2pzTW9kdWxlLmV4cG9ydHM7CgkJCQkJCQl9IGVsc2UgaWYgKHJldCAhPT0gdW5kZWYgfHwgIXVzaW5nRXhwb3J0cykgewoJCQkJCQkJCS8vVXNlIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB0aGUgZnVuY3Rpb24uCgkJCQkJCQkJZGVmaW5lZFtuYW1lXSA9IHJldDsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0gZWxzZSBpZiAobmFtZSkgewoJCQkJCQkvL01heSBqdXN0IGJlIGFuIG9iamVjdCBkZWZpbml0aW9uIGZvciB0aGUgbW9kdWxlLiBPbmx5CgkJCQkJCS8vd29ycnkgYWJvdXQgZGVmaW5pbmcgaWYgaGF2ZSBhIG1vZHVsZSBuYW1lLgoJCQkJCQlkZWZpbmVkW25hbWVdID0gY2FsbGJhY2s7CgkJCQkJfQoJCQkJfTsKCgkJCQlyZXF1aXJlanMgPSByZXF1aXJlID0gcmVxID0gZnVuY3Rpb24gKGRlcHMsIGNhbGxiYWNrLCByZWxOYW1lLCBmb3JjZVN5bmMsIGFsdCkgewoJCQkJCWlmICh0eXBlb2YgZGVwcyA9PT0gInN0cmluZyIpIHsKCQkJCQkJaWYgKGhhbmRsZXJzW2RlcHNdKSB7CgkJCQkJCQkvL2NhbGxiYWNrIGluIHRoaXMgY2FzZSBpcyByZWFsbHkgcmVsTmFtZQoJCQkJCQkJcmV0dXJuIGhhbmRsZXJzW2RlcHNdKGNhbGxiYWNrKTsKCQkJCQkJfQoJCQkJCQkvL0p1c3QgcmV0dXJuIHRoZSBtb2R1bGUgd2FudGVkLiBJbiB0aGlzIHNjZW5hcmlvLCB0aGUKCQkJCQkJLy9kZXBzIGFyZyBpcyB0aGUgbW9kdWxlIG5hbWUsIGFuZCBzZWNvbmQgYXJnIChpZiBwYXNzZWQpCgkJCQkJCS8vaXMganVzdCB0aGUgcmVsTmFtZS4KCQkJCQkJLy9Ob3JtYWxpemUgbW9kdWxlIG5hbWUsIGlmIGl0IGNvbnRhaW5zIC4gb3IgLi4KCQkJCQkJcmV0dXJuIGNhbGxEZXAobWFrZU1hcChkZXBzLCBtYWtlUmVsUGFydHMoY2FsbGJhY2spKS5mKTsKCQkJCQl9IGVsc2UgaWYgKCFkZXBzLnNwbGljZSkgewoJCQkJCQkvL2RlcHMgaXMgYSBjb25maWcgb2JqZWN0LCBub3QgYW4gYXJyYXkuCgkJCQkJCWNvbmZpZyA9IGRlcHM7CgkJCQkJCWlmIChjb25maWcuZGVwcykgewoJCQkJCQkJcmVxKGNvbmZpZy5kZXBzLCBjb25maWcuY2FsbGJhY2spOwoJCQkJCQl9CgkJCQkJCWlmICghY2FsbGJhY2spIHsKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoKCQkJCQkJaWYgKGNhbGxiYWNrLnNwbGljZSkgewoJCQkJCQkJLy9jYWxsYmFjayBpcyBhbiBhcnJheSwgd2hpY2ggbWVhbnMgaXQgaXMgYSBkZXBlbmRlbmN5IGxpc3QuCgkJCQkJCQkvL0FkanVzdCBhcmdzIGlmIHRoZXJlIGFyZSBkZXBlbmRlbmNpZXMKCQkJCQkJCWRlcHMgPSBjYWxsYmFjazsKCQkJCQkJCWNhbGxiYWNrID0gcmVsTmFtZTsKCQkJCQkJCXJlbE5hbWUgPSBudWxsOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJZGVwcyA9IHVuZGVmOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkvL1N1cHBvcnQgcmVxdWlyZShbJ2EnXSkKCQkJCQljYWxsYmFjayA9IGNhbGxiYWNrIHx8IGZ1bmN0aW9uICgpIHt9OwoKCQkJCQkvL0lmIHJlbE5hbWUgaXMgYSBmdW5jdGlvbiwgaXQgaXMgYW4gZXJyYmFjayBoYW5kbGVyLAoJCQkJCS8vc28gcmVtb3ZlIGl0LgoJCQkJCWlmICh0eXBlb2YgcmVsTmFtZSA9PT0gJ2Z1bmN0aW9uJykgewoJCQkJCQlyZWxOYW1lID0gZm9yY2VTeW5jOwoJCQkJCQlmb3JjZVN5bmMgPSBhbHQ7CgkJCQkJfQoKCQkJCQkvL1NpbXVsYXRlIGFzeW5jIGNhbGxiYWNrOwoJCQkJCWlmIChmb3JjZVN5bmMpIHsKCQkJCQkJbWFpbih1bmRlZiwgZGVwcywgY2FsbGJhY2ssIHJlbE5hbWUpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCS8vVXNpbmcgYSBub24temVybyB2YWx1ZSBiZWNhdXNlIG9mIGNvbmNlcm4gZm9yIHdoYXQgb2xkIGJyb3dzZXJzCgkJCQkJCS8vZG8sIGFuZCBsYXRlc3QgYnJvd3NlcnMgInVwZ3JhZGUiIHRvIDQgaWYgbG93ZXIgdmFsdWUgaXMgdXNlZDoKCQkJCQkJLy9odHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aW1lcnMuaHRtbCNkb20td2luZG93dGltZXJzLXNldHRpbWVvdXQ6CgkJCQkJCS8vSWYgd2FudCBhIHZhbHVlIGltbWVkaWF0ZWx5LCB1c2UgcmVxdWlyZSgnaWQnKSBpbnN0ZWFkIC0tIHNvbWV0aGluZwoJCQkJCQkvL3RoYXQgd29ya3MgaW4gYWxtb25kIG9uIHRoZSBnbG9iYWwgbGV2ZWwsIGJ1dCBub3QgZ3VhcmFudGVlZCBhbmQKCQkJCQkJLy91bmxpa2VseSB0byB3b3JrIGluIG90aGVyIEFNRCBpbXBsZW1lbnRhdGlvbnMuCgkJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkJCQkJbWFpbih1bmRlZiwgZGVwcywgY2FsbGJhY2ssIHJlbE5hbWUpOwoJCQkJCQl9LCA0KTsKCQkJCQl9CgoJCQkJCXJldHVybiByZXE7CgkJCQl9OwoKCQkJCS8qKgoJCQkJICogSnVzdCBkcm9wcyB0aGUgY29uZmlnIG9uIHRoZSBmbG9vciwgYnV0IHJldHVybnMgcmVxIGluIGNhc2UKCQkJCSAqIHRoZSBjb25maWcgcmV0dXJuIHZhbHVlIGlzIHVzZWQuCgkJCQkgKi8KCQkJCXJlcS5jb25maWcgPSBmdW5jdGlvbiAoY2ZnKSB7CgkJCQkJcmV0dXJuIHJlcShjZmcpOwoJCQkJfTsKCgkJCQkvKioKCQkJCSAqIEV4cG9zZSBtb2R1bGUgcmVnaXN0cnkgZm9yIGRlYnVnZ2luZyBhbmQgdG9vbGluZwoJCQkJICovCgkJCQlyZXF1aXJlanMuX2RlZmluZWQgPSBkZWZpbmVkOwoKCQkJCWRlZmluZSA9IGZ1bmN0aW9uIChuYW1lLCBkZXBzLCBjYWxsYmFjaykgewoJCQkJCWlmICh0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycpIHsKCQkJCQkJdGhyb3cgbmV3IEVycm9yKCdTZWUgYWxtb25kIFJFQURNRTogaW5jb3JyZWN0IG1vZHVsZSBidWlsZCwgbm8gbW9kdWxlIG5hbWUnKTsKCQkJCQl9CgoJCQkJCS8vVGhpcyBtb2R1bGUgbWF5IG5vdCBoYXZlIGRlcGVuZGVuY2llcwoJCQkJCWlmICghZGVwcy5zcGxpY2UpIHsKCQkJCQkJLy9kZXBzIGlzIG5vdCBhbiBhcnJheSwgc28gcHJvYmFibHkgbWVhbnMKCQkJCQkJLy9hbiBvYmplY3QgbGl0ZXJhbCBvciBmYWN0b3J5IGZ1bmN0aW9uIGZvcgoJCQkJCQkvL3RoZSB2YWx1ZS4gQWRqdXN0IGFyZ3MuCgkJCQkJCWNhbGxiYWNrID0gZGVwczsKCQkJCQkJZGVwcyA9IFtdOwoJCQkJCX0KCgkJCQkJaWYgKCFoYXNQcm9wKGRlZmluZWQsIG5hbWUpICYmICFoYXNQcm9wKHdhaXRpbmcsIG5hbWUpKSB7CgkJCQkJCXdhaXRpbmdbbmFtZV0gPSBbbmFtZSwgZGVwcywgY2FsbGJhY2tdOwoJCQkJCX0KCQkJCX07CgoJCQkJZGVmaW5lLmFtZCA9IHsKCQkJCQlqUXVlcnk6IHRydWUKCQkJCX07CgkJCX0oKSk7CgoJCQlTMi5yZXF1aXJlanMgPSByZXF1aXJlanM7UzIucmVxdWlyZSA9IHJlcXVpcmU7UzIuZGVmaW5lID0gZGVmaW5lOwoJCX0KCQl9KCkpOwoJCVMyLmRlZmluZSgiYWxtb25kIiwgZnVuY3Rpb24oKXt9KTsKCgkJLyogZ2xvYmFsIGpRdWVyeTpmYWxzZSwgJDpmYWxzZSAqLwoJCVMyLmRlZmluZSgnanF1ZXJ5JyxbXSxmdW5jdGlvbiAoKSB7CgkJCXZhciBfJCA9IGpRdWVyeSB8fCAkOwoKCQkJaWYgKF8kID09IG51bGwgJiYgY29uc29sZSAmJiBjb25zb2xlLmVycm9yKSB7CgkJCQljb25zb2xlLmVycm9yKAoJCQkJCSdTZWxlY3QyOiBBbiBpbnN0YW5jZSBvZiBqUXVlcnkgb3IgYSBqUXVlcnktY29tcGF0aWJsZSBsaWJyYXJ5IHdhcyBub3QgJyArCgkJCQkJJ2ZvdW5kLiBNYWtlIHN1cmUgdGhhdCB5b3UgYXJlIGluY2x1ZGluZyBqUXVlcnkgYmVmb3JlIFNlbGVjdDIgb24geW91ciAnICsKCQkJCQknd2ViIHBhZ2UuJwoJCQkJKTsKCQkJfQoKCQkJcmV0dXJuIF8kOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvdXRpbHMnLFsKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoJCkgewoJCQl2YXIgVXRpbHMgPSB7fTsKCgkJCVV0aWxzLkV4dGVuZCA9IGZ1bmN0aW9uIChDaGlsZENsYXNzLCBTdXBlckNsYXNzKSB7CgkJCQl2YXIgX19oYXNQcm9wID0ge30uaGFzT3duUHJvcGVydHk7CgoJCQkJZnVuY3Rpb24gQmFzZUNvbnN0cnVjdG9yICgpIHsKCQkJCQl0aGlzLmNvbnN0cnVjdG9yID0gQ2hpbGRDbGFzczsKCQkJCX0KCgkJCQlmb3IgKHZhciBrZXkgaW4gU3VwZXJDbGFzcykgewoJCQkJCWlmIChfX2hhc1Byb3AuY2FsbChTdXBlckNsYXNzLCBrZXkpKSB7CgkJCQkJCUNoaWxkQ2xhc3Nba2V5XSA9IFN1cGVyQ2xhc3Nba2V5XTsKCQkJCQl9CgkJCQl9CgoJCQkJQmFzZUNvbnN0cnVjdG9yLnByb3RvdHlwZSA9IFN1cGVyQ2xhc3MucHJvdG90eXBlOwoJCQkJQ2hpbGRDbGFzcy5wcm90b3R5cGUgPSBuZXcgQmFzZUNvbnN0cnVjdG9yKCk7CgkJCQlDaGlsZENsYXNzLl9fc3VwZXJfXyA9IFN1cGVyQ2xhc3MucHJvdG90eXBlOwoKCQkJCXJldHVybiBDaGlsZENsYXNzOwoJCQl9OwoKCQkJZnVuY3Rpb24gZ2V0TWV0aG9kcyAodGhlQ2xhc3MpIHsKCQkJCXZhciBwcm90byA9IHRoZUNsYXNzLnByb3RvdHlwZTsKCgkJCQl2YXIgbWV0aG9kcyA9IFtdOwoKCQkJCWZvciAodmFyIG1ldGhvZE5hbWUgaW4gcHJvdG8pIHsKCQkJCQl2YXIgbSA9IHByb3RvW21ldGhvZE5hbWVdOwoKCQkJCQlpZiAodHlwZW9mIG0gIT09ICdmdW5jdGlvbicpIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQlpZiAobWV0aG9kTmFtZSA9PT0gJ2NvbnN0cnVjdG9yJykgewoJCQkJCQljb250aW51ZTsKCQkJCQl9CgoJCQkJCW1ldGhvZHMucHVzaChtZXRob2ROYW1lKTsKCQkJCX0KCgkJCQlyZXR1cm4gbWV0aG9kczsKCQkJfQoKCQkJVXRpbHMuRGVjb3JhdGUgPSBmdW5jdGlvbiAoU3VwZXJDbGFzcywgRGVjb3JhdG9yQ2xhc3MpIHsKCQkJCXZhciBkZWNvcmF0ZWRNZXRob2RzID0gZ2V0TWV0aG9kcyhEZWNvcmF0b3JDbGFzcyk7CgkJCQl2YXIgc3VwZXJNZXRob2RzID0gZ2V0TWV0aG9kcyhTdXBlckNsYXNzKTsKCgkJCQlmdW5jdGlvbiBEZWNvcmF0ZWRDbGFzcyAoKSB7CgkJCQkJdmFyIHVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCgkJCQkJdmFyIGFyZ0NvdW50ID0gRGVjb3JhdG9yQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yLmxlbmd0aDsKCgkJCQkJdmFyIGNhbGxlZENvbnN0cnVjdG9yID0gU3VwZXJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3I7CgoJCQkJCWlmIChhcmdDb3VudCA+IDApIHsKCQkJCQkJdW5zaGlmdC5jYWxsKGFyZ3VtZW50cywgU3VwZXJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IpOwoKCQkJCQkJY2FsbGVkQ29uc3RydWN0b3IgPSBEZWNvcmF0b3JDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3I7CgkJCQkJfQoKCQkJCQljYWxsZWRDb25zdHJ1Y3Rvci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCQkJfQoKCQkJCURlY29yYXRvckNsYXNzLmRpc3BsYXlOYW1lID0gU3VwZXJDbGFzcy5kaXNwbGF5TmFtZTsKCgkJCQlmdW5jdGlvbiBjdHIgKCkgewoJCQkJCXRoaXMuY29uc3RydWN0b3IgPSBEZWNvcmF0ZWRDbGFzczsKCQkJCX0KCgkJCQlEZWNvcmF0ZWRDbGFzcy5wcm90b3R5cGUgPSBuZXcgY3RyKCk7CgoJCQkJZm9yICh2YXIgbSA9IDA7IG0gPCBzdXBlck1ldGhvZHMubGVuZ3RoOyBtKyspIHsKCQkJCQl2YXIgc3VwZXJNZXRob2QgPSBzdXBlck1ldGhvZHNbbV07CgoJCQkJCURlY29yYXRlZENsYXNzLnByb3RvdHlwZVtzdXBlck1ldGhvZF0gPQoJCQkJCQlTdXBlckNsYXNzLnByb3RvdHlwZVtzdXBlck1ldGhvZF07CgkJCQl9CgoJCQkJdmFyIGNhbGxlZE1ldGhvZCA9IGZ1bmN0aW9uIChtZXRob2ROYW1lKSB7CgkJCQkJLy8gU3R1YiBvdXQgdGhlIG9yaWdpbmFsIG1ldGhvZCBpZiBpdCdzIG5vdCBkZWNvcmF0aW5nIGFuIGFjdHVhbCBtZXRob2QKCQkJCQl2YXIgb3JpZ2luYWxNZXRob2QgPSBmdW5jdGlvbiAoKSB7fTsKCgkJCQkJaWYgKG1ldGhvZE5hbWUgaW4gRGVjb3JhdGVkQ2xhc3MucHJvdG90eXBlKSB7CgkJCQkJCW9yaWdpbmFsTWV0aG9kID0gRGVjb3JhdGVkQ2xhc3MucHJvdG90eXBlW21ldGhvZE5hbWVdOwoJCQkJCX0KCgkJCQkJdmFyIGRlY29yYXRlZE1ldGhvZCA9IERlY29yYXRvckNsYXNzLnByb3RvdHlwZVttZXRob2ROYW1lXTsKCgkJCQkJcmV0dXJuIGZ1bmN0aW9uICgpIHsKCQkJCQkJdmFyIHVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCgkJCQkJCXVuc2hpZnQuY2FsbChhcmd1bWVudHMsIG9yaWdpbmFsTWV0aG9kKTsKCgkJCQkJCXJldHVybiBkZWNvcmF0ZWRNZXRob2QuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKCQkJCQl9OwoJCQkJfTsKCgkJCQlmb3IgKHZhciBkID0gMDsgZCA8IGRlY29yYXRlZE1ldGhvZHMubGVuZ3RoOyBkKyspIHsKCQkJCQl2YXIgZGVjb3JhdGVkTWV0aG9kID0gZGVjb3JhdGVkTWV0aG9kc1tkXTsKCgkJCQkJRGVjb3JhdGVkQ2xhc3MucHJvdG90eXBlW2RlY29yYXRlZE1ldGhvZF0gPSBjYWxsZWRNZXRob2QoZGVjb3JhdGVkTWV0aG9kKTsKCQkJCX0KCgkJCQlyZXR1cm4gRGVjb3JhdGVkQ2xhc3M7CgkJCX07CgoJCQl2YXIgT2JzZXJ2YWJsZSA9IGZ1bmN0aW9uICgpIHsKCQkJCXRoaXMubGlzdGVuZXJzID0ge307CgkJCX07CgoJCQlPYnNlcnZhYmxlLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uIChldmVudCwgY2FsbGJhY2spIHsKCQkJCXRoaXMubGlzdGVuZXJzID0gdGhpcy5saXN0ZW5lcnMgfHwge307CgoJCQkJaWYgKGV2ZW50IGluIHRoaXMubGlzdGVuZXJzKSB7CgkJCQkJdGhpcy5saXN0ZW5lcnNbZXZlbnRdLnB1c2goY2FsbGJhY2spOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLmxpc3RlbmVyc1tldmVudF0gPSBbY2FsbGJhY2tdOwoJCQkJfQoJCQl9OwoKCQkJT2JzZXJ2YWJsZS5wcm90b3R5cGUudHJpZ2dlciA9IGZ1bmN0aW9uIChldmVudCkgewoJCQkJdmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwoJCQkJdmFyIHBhcmFtcyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKCgkJCQl0aGlzLmxpc3RlbmVycyA9IHRoaXMubGlzdGVuZXJzIHx8IHt9OwoKCQkJCS8vIFBhcmFtcyBzaG91bGQgYWx3YXlzIGNvbWUgaW4gYXMgYW4gYXJyYXkKCQkJCWlmIChwYXJhbXMgPT0gbnVsbCkgewoJCQkJCXBhcmFtcyA9IFtdOwoJCQkJfQoKCQkJCS8vIElmIHRoZXJlIGFyZSBubyBhcmd1bWVudHMgdG8gdGhlIGV2ZW50LCB1c2UgYSB0ZW1wb3Jhcnkgb2JqZWN0CgkJCQlpZiAocGFyYW1zLmxlbmd0aCA9PT0gMCkgewoJCQkJCXBhcmFtcy5wdXNoKHt9KTsKCQkJCX0KCgkJCQkvLyBTZXQgdGhlIGBfdHlwZWAgb2YgdGhlIGZpcnN0IG9iamVjdCB0byB0aGUgZXZlbnQKCQkJCXBhcmFtc1swXS5fdHlwZSA9IGV2ZW50OwoKCQkJCWlmIChldmVudCBpbiB0aGlzLmxpc3RlbmVycykgewoJCQkJCXRoaXMuaW52b2tlKHRoaXMubGlzdGVuZXJzW2V2ZW50XSwgc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsKCQkJCX0KCgkJCQlpZiAoJyonIGluIHRoaXMubGlzdGVuZXJzKSB7CgkJCQkJdGhpcy5pbnZva2UodGhpcy5saXN0ZW5lcnNbJyonXSwgYXJndW1lbnRzKTsKCQkJCX0KCQkJfTsKCgkJCU9ic2VydmFibGUucHJvdG90eXBlLmludm9rZSA9IGZ1bmN0aW9uIChsaXN0ZW5lcnMsIHBhcmFtcykgewoJCQkJZm9yICh2YXIgaSA9IDAsIGxlbiA9IGxpc3RlbmVycy5sZW5ndGg7IGkgPCBsZW47IGkrKykgewoJCQkJCWxpc3RlbmVyc1tpXS5hcHBseSh0aGlzLCBwYXJhbXMpOwoJCQkJfQoJCQl9OwoKCQkJVXRpbHMuT2JzZXJ2YWJsZSA9IE9ic2VydmFibGU7CgoJCQlVdGlscy5nZW5lcmF0ZUNoYXJzID0gZnVuY3Rpb24gKGxlbmd0aCkgewoJCQkJdmFyIGNoYXJzID0gJyc7CgoJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewoJCQkJCXZhciByYW5kb21DaGFyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMzYpOwoJCQkJCWNoYXJzICs9IHJhbmRvbUNoYXIudG9TdHJpbmcoMzYpOwoJCQkJfQoKCQkJCXJldHVybiBjaGFyczsKCQkJfTsKCgkJCVV0aWxzLmJpbmQgPSBmdW5jdGlvbiAoZnVuYywgY29udGV4dCkgewoJCQkJcmV0dXJuIGZ1bmN0aW9uICgpIHsKCQkJCQlmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3VtZW50cyk7CgkJCQl9OwoJCQl9OwoKCQkJVXRpbHMuX2NvbnZlcnREYXRhID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCWZvciAodmFyIG9yaWdpbmFsS2V5IGluIGRhdGEpIHsKCQkJCQl2YXIga2V5cyA9IG9yaWdpbmFsS2V5LnNwbGl0KCctJyk7CgoJCQkJCXZhciBkYXRhTGV2ZWwgPSBkYXRhOwoKCQkJCQlpZiAoa2V5cy5sZW5ndGggPT09IDEpIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQlmb3IgKHZhciBrID0gMDsgayA8IGtleXMubGVuZ3RoOyBrKyspIHsKCQkJCQkJdmFyIGtleSA9IGtleXNba107CgoJCQkJCQkvLyBMb3dlcmNhc2UgdGhlIGZpcnN0IGxldHRlcgoJCQkJCQkvLyBCeSBkZWZhdWx0LCBkYXNoLXNlcGFyYXRlZCBiZWNvbWVzIGNhbWVsQ2FzZQoJCQkJCQlrZXkgPSBrZXkuc3Vic3RyaW5nKDAsIDEpLnRvTG93ZXJDYXNlKCkgKyBrZXkuc3Vic3RyaW5nKDEpOwoKCQkJCQkJaWYgKCEoa2V5IGluIGRhdGFMZXZlbCkpIHsKCQkJCQkJCWRhdGFMZXZlbFtrZXldID0ge307CgkJCQkJCX0KCgkJCQkJCWlmIChrID09IGtleXMubGVuZ3RoIC0gMSkgewoJCQkJCQkJZGF0YUxldmVsW2tleV0gPSBkYXRhW29yaWdpbmFsS2V5XTsKCQkJCQkJfQoKCQkJCQkJZGF0YUxldmVsID0gZGF0YUxldmVsW2tleV07CgkJCQkJfQoKCQkJCQlkZWxldGUgZGF0YVtvcmlnaW5hbEtleV07CgkJCQl9CgoJCQkJcmV0dXJuIGRhdGE7CgkJCX07CgoJCQlVdGlscy5oYXNTY3JvbGwgPSBmdW5jdGlvbiAoaW5kZXgsIGVsKSB7CgkJCQkvLyBBZGFwdGVkIGZyb20gdGhlIGZ1bmN0aW9uIGNyZWF0ZWQgYnkgQFNoYWRvd1NjcmlwdGVyCgkJCQkvLyBhbmQgYWRhcHRlZCBieSBAQmlsbEJhcnJ5IG9uIHRoZSBTdGFjayBFeGNoYW5nZSBDb2RlIFJldmlldyB3ZWJzaXRlLgoJCQkJLy8gVGhlIG9yaWdpbmFsIGNvZGUgY2FuIGJlIGZvdW5kIGF0CgkJCQkvLyBodHRwOi8vY29kZXJldmlldy5zdGFja2V4Y2hhbmdlLmNvbS9xLzEzMzM4CgkJCQkvLyBhbmQgd2FzIGRlc2lnbmVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgU2l6emxlIHNlbGVjdG9yIGVuZ2luZS4KCgkJCQl2YXIgJGVsID0gJChlbCk7CgkJCQl2YXIgb3ZlcmZsb3dYID0gZWwuc3R5bGUub3ZlcmZsb3dYOwoJCQkJdmFyIG92ZXJmbG93WSA9IGVsLnN0eWxlLm92ZXJmbG93WTsKCgkJCQkvL0NoZWNrIGJvdGggeCBhbmQgeSBkZWNsYXJhdGlvbnMKCQkJCWlmIChvdmVyZmxvd1ggPT09IG92ZXJmbG93WSAmJgoJCQkJCShvdmVyZmxvd1kgPT09ICdoaWRkZW4nIHx8IG92ZXJmbG93WSA9PT0gJ3Zpc2libGUnKSkgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCgkJCQlpZiAob3ZlcmZsb3dYID09PSAnc2Nyb2xsJyB8fCBvdmVyZmxvd1kgPT09ICdzY3JvbGwnKSB7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgoJCQkJcmV0dXJuICgkZWwuaW5uZXJIZWlnaHQoKSA8IGVsLnNjcm9sbEhlaWdodCB8fAoJCQkJCSRlbC5pbm5lcldpZHRoKCkgPCBlbC5zY3JvbGxXaWR0aCk7CgkJCX07CgoJCQlVdGlscy5lc2NhcGVNYXJrdXAgPSBmdW5jdGlvbiAobWFya3VwKSB7CgkJCQl2YXIgcmVwbGFjZU1hcCA9IHsKCQkJCQknXFwnOiAnJiM5MjsnLAoJCQkJCScmJzogJyZhbXA7JywKCQkJCQknPCc6ICcmbHQ7JywKCQkJCQknPic6ICcmZ3Q7JywKCQkJCQknIic6ICcmcXVvdDsnLAoJCQkJCSdcJyc6ICcmIzM5OycsCgkJCQkJJy8nOiAnJiM0NzsnCgkJCQl9OwoKCQkJCS8vIERvIG5vdCB0cnkgdG8gZXNjYXBlIHRoZSBtYXJrdXAgaWYgaXQncyBub3QgYSBzdHJpbmcKCQkJCWlmICh0eXBlb2YgbWFya3VwICE9PSAnc3RyaW5nJykgewoJCQkJCXJldHVybiBtYXJrdXA7CgkJCQl9CgoJCQkJcmV0dXJuIFN0cmluZyhtYXJrdXApLnJlcGxhY2UoL1smPD4iJ1wvXFxdL2csIGZ1bmN0aW9uIChtYXRjaCkgewoJCQkJCXJldHVybiByZXBsYWNlTWFwW21hdGNoXTsKCQkJCX0pOwoJCQl9OwoKCQkJLy8gQXBwZW5kIGFuIGFycmF5IG9mIGpRdWVyeSBub2RlcyB0byBhIGdpdmVuIGVsZW1lbnQuCgkJCVV0aWxzLmFwcGVuZE1hbnkgPSBmdW5jdGlvbiAoJGVsZW1lbnQsICRub2RlcykgewoJCQkJLy8galF1ZXJ5IDEuNy54IGRvZXMgbm90IHN1cHBvcnQgJC5mbi5hcHBlbmQoKSB3aXRoIGFuIGFycmF5CgkJCQkvLyBGYWxsIGJhY2sgdG8gYSBqUXVlcnkgb2JqZWN0IGNvbGxlY3Rpb24gdXNpbmcgJC5mbi5hZGQoKQoJCQkJaWYgKCQuZm4uanF1ZXJ5LnN1YnN0cigwLCAzKSA9PT0gJzEuNycpIHsKCQkJCQl2YXIgJGpxTm9kZXMgPSAkKCk7CgoJCQkJCSQubWFwKCRub2RlcywgZnVuY3Rpb24gKG5vZGUpIHsKCQkJCQkJJGpxTm9kZXMgPSAkanFOb2Rlcy5hZGQobm9kZSk7CgkJCQkJfSk7CgoJCQkJCSRub2RlcyA9ICRqcU5vZGVzOwoJCQkJfQoKCQkJCSRlbGVtZW50LmFwcGVuZCgkbm9kZXMpOwoJCQl9OwoKCQkJcmV0dXJuIFV0aWxzOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvcmVzdWx0cycsWwoJCQknanF1ZXJ5JywKCQkJJy4vdXRpbHMnCgkJXSwgZnVuY3Rpb24gKCQsIFV0aWxzKSB7CgkJCWZ1bmN0aW9uIFJlc3VsdHMgKCRlbGVtZW50LCBvcHRpb25zLCBkYXRhQWRhcHRlcikgewoJCQkJdGhpcy4kZWxlbWVudCA9ICRlbGVtZW50OwoJCQkJdGhpcy5kYXRhID0gZGF0YUFkYXB0ZXI7CgkJCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwoKCQkJCVJlc3VsdHMuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyk7CgkJCX0KCgkJCVV0aWxzLkV4dGVuZChSZXN1bHRzLCBVdGlscy5PYnNlcnZhYmxlKTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciAkcmVzdWx0cyA9ICQoCgkJCQkJJzx1bCBjbGFzcz0ic2VsZWN0Mi1yZXN1bHRzX19vcHRpb25zIiByb2xlPSJ0cmVlIj48L3VsPicKCQkJCSk7CgoJCQkJaWYgKHRoaXMub3B0aW9ucy5nZXQoJ211bHRpcGxlJykpIHsKCQkJCQkkcmVzdWx0cy5hdHRyKCdhcmlhLW11bHRpc2VsZWN0YWJsZScsICd0cnVlJyk7CgkJCQl9CgoJCQkJdGhpcy4kcmVzdWx0cyA9ICRyZXN1bHRzOwoKCQkJCXJldHVybiAkcmVzdWx0czsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkgewoJCQkJdGhpcy4kcmVzdWx0cy5lbXB0eSgpOwoJCQl9OwoKCQkJUmVzdWx0cy5wcm90b3R5cGUuZGlzcGxheU1lc3NhZ2UgPSBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQl2YXIgZXNjYXBlTWFya3VwID0gdGhpcy5vcHRpb25zLmdldCgnZXNjYXBlTWFya3VwJyk7CgoJCQkJdGhpcy5jbGVhcigpOwoJCQkJdGhpcy5oaWRlTG9hZGluZygpOwoKCQkJCXZhciAkbWVzc2FnZSA9ICQoCgkJCQkJJzxsaSByb2xlPSJ0cmVlaXRlbSIgYXJpYS1saXZlPSJhc3NlcnRpdmUiJyArCgkJCQkJJyBjbGFzcz0ic2VsZWN0Mi1yZXN1bHRzX19vcHRpb24iPjwvbGk+JwoJCQkJKTsKCgkJCQl2YXIgbWVzc2FnZSA9IHRoaXMub3B0aW9ucy5nZXQoJ3RyYW5zbGF0aW9ucycpLmdldChwYXJhbXMubWVzc2FnZSk7CgoJCQkJJG1lc3NhZ2UuYXBwZW5kKAoJCQkJCWVzY2FwZU1hcmt1cCgKCQkJCQkJbWVzc2FnZShwYXJhbXMuYXJncykKCQkJCQkpCgkJCQkpOwoKCQkJCSRtZXNzYWdlWzBdLmNsYXNzTmFtZSArPSAnIHNlbGVjdDItcmVzdWx0c19fbWVzc2FnZSc7CgoJCQkJdGhpcy4kcmVzdWx0cy5hcHBlbmQoJG1lc3NhZ2UpOwoJCQl9OwoKCQkJUmVzdWx0cy5wcm90b3R5cGUuaGlkZU1lc3NhZ2VzID0gZnVuY3Rpb24gKCkgewoJCQkJdGhpcy4kcmVzdWx0cy5maW5kKCcuc2VsZWN0Mi1yZXN1bHRzX19tZXNzYWdlJykucmVtb3ZlKCk7CgkJCX07CgoJCQlSZXN1bHRzLnByb3RvdHlwZS5hcHBlbmQgPSBmdW5jdGlvbiAoZGF0YSkgewoJCQkJdGhpcy5oaWRlTG9hZGluZygpOwoKCQkJCXZhciAkb3B0aW9ucyA9IFtdOwoKCQkJCWlmIChkYXRhLnJlc3VsdHMgPT0gbnVsbCB8fCBkYXRhLnJlc3VsdHMubGVuZ3RoID09PSAwKSB7CgkJCQkJaWYgKHRoaXMuJHJlc3VsdHMuY2hpbGRyZW4oKS5sZW5ndGggPT09IDApIHsKCQkJCQkJdGhpcy50cmlnZ2VyKCdyZXN1bHRzOm1lc3NhZ2UnLCB7CgkJCQkJCQltZXNzYWdlOiAnbm9SZXN1bHRzJwoJCQkJCQl9KTsKCQkJCQl9CgoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlkYXRhLnJlc3VsdHMgPSB0aGlzLnNvcnQoZGF0YS5yZXN1bHRzKTsKCgkJCQlmb3IgKHZhciBkID0gMDsgZCA8IGRhdGEucmVzdWx0cy5sZW5ndGg7IGQrKykgewoJCQkJCXZhciBpdGVtID0gZGF0YS5yZXN1bHRzW2RdOwoKCQkJCQl2YXIgJG9wdGlvbiA9IHRoaXMub3B0aW9uKGl0ZW0pOwoKCQkJCQkkb3B0aW9ucy5wdXNoKCRvcHRpb24pOwoJCQkJfQoKCQkJCXRoaXMuJHJlc3VsdHMuYXBwZW5kKCRvcHRpb25zKTsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLnBvc2l0aW9uID0gZnVuY3Rpb24gKCRyZXN1bHRzLCAkZHJvcGRvd24pIHsKCQkJCXZhciAkcmVzdWx0c0NvbnRhaW5lciA9ICRkcm9wZG93bi5maW5kKCcuc2VsZWN0Mi1yZXN1bHRzJyk7CgkJCQkkcmVzdWx0c0NvbnRhaW5lci5hcHBlbmQoJHJlc3VsdHMpOwoJCQl9OwoKCQkJUmVzdWx0cy5wcm90b3R5cGUuc29ydCA9IGZ1bmN0aW9uIChkYXRhKSB7CgkJCQl2YXIgc29ydGVyID0gdGhpcy5vcHRpb25zLmdldCgnc29ydGVyJyk7CgoJCQkJcmV0dXJuIHNvcnRlcihkYXRhKTsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLmhpZ2hsaWdodEZpcnN0SXRlbSA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciAkb3B0aW9ucyA9IHRoaXMuJHJlc3VsdHMKCQkJCQkuZmluZCgnLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWRdJyk7CgoJCQkJdmFyICRzZWxlY3RlZCA9ICRvcHRpb25zLmZpbHRlcignW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0nKTsKCgkJCQkvLyBDaGVjayBpZiB0aGVyZSBhcmUgYW55IHNlbGVjdGVkIG9wdGlvbnMKCQkJCWlmICgkc2VsZWN0ZWQubGVuZ3RoID4gMCkgewoJCQkJCS8vIElmIHRoZXJlIGFyZSBzZWxlY3RlZCBvcHRpb25zLCBoaWdobGlnaHQgdGhlIGZpcnN0CgkJCQkJJHNlbGVjdGVkLmZpcnN0KCkudHJpZ2dlcignbW91c2VlbnRlcicpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBJZiB0aGVyZSBhcmUgbm8gc2VsZWN0ZWQgb3B0aW9ucywgaGlnaGxpZ2h0IHRoZSBmaXJzdCBvcHRpb24KCQkJCQkvLyBpbiB0aGUgZHJvcGRvd24KCQkJCQkkb3B0aW9ucy5maXJzdCgpLnRyaWdnZXIoJ21vdXNlZW50ZXInKTsKCQkJCX0KCgkJCQl0aGlzLmVuc3VyZUhpZ2hsaWdodFZpc2libGUoKTsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLnNldENsYXNzZXMgPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJdGhpcy5kYXRhLmN1cnJlbnQoZnVuY3Rpb24gKHNlbGVjdGVkKSB7CgkJCQkJdmFyIHNlbGVjdGVkSWRzID0gJC5tYXAoc2VsZWN0ZWQsIGZ1bmN0aW9uIChzKSB7CgkJCQkJCXJldHVybiBzLmlkLnRvU3RyaW5nKCk7CgkJCQkJfSk7CgoJCQkJCXZhciAkb3B0aW9ucyA9IHNlbGYuJHJlc3VsdHMKCQkJCQkJLmZpbmQoJy5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkXScpOwoKCQkJCQkkb3B0aW9ucy5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCQkJdmFyICRvcHRpb24gPSAkKHRoaXMpOwoKCQkJCQkJdmFyIGl0ZW0gPSAkLmRhdGEodGhpcywgJ2RhdGEnKTsKCgkJCQkJCS8vIGlkIG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byBhIHN0cmluZyB3aGVuIGNvbXBhcmluZwoJCQkJCQl2YXIgaWQgPSAnJyArIGl0ZW0uaWQ7CgoJCQkJCQlpZiAoKGl0ZW0uZWxlbWVudCAhPSBudWxsICYmIGl0ZW0uZWxlbWVudC5zZWxlY3RlZCkgfHwKCQkJCQkJCShpdGVtLmVsZW1lbnQgPT0gbnVsbCAmJiAkLmluQXJyYXkoaWQsIHNlbGVjdGVkSWRzKSA+IC0xKSkgewoJCQkJCQkJJG9wdGlvbi5hdHRyKCdhcmlhLXNlbGVjdGVkJywgJ3RydWUnKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRvcHRpb24uYXR0cignYXJpYS1zZWxlY3RlZCcsICdmYWxzZScpOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJfSk7CgkJCX07CgoJCQlSZXN1bHRzLnByb3RvdHlwZS5zaG93TG9hZGluZyA9IGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCXRoaXMuaGlkZUxvYWRpbmcoKTsKCgkJCQl2YXIgbG9hZGluZ01vcmUgPSB0aGlzLm9wdGlvbnMuZ2V0KCd0cmFuc2xhdGlvbnMnKS5nZXQoJ3NlYXJjaGluZycpOwoKCQkJCXZhciBsb2FkaW5nID0gewoJCQkJCWRpc2FibGVkOiB0cnVlLAoJCQkJCWxvYWRpbmc6IHRydWUsCgkJCQkJdGV4dDogbG9hZGluZ01vcmUocGFyYW1zKQoJCQkJfTsKCQkJCXZhciAkbG9hZGluZyA9IHRoaXMub3B0aW9uKGxvYWRpbmcpOwoJCQkJJGxvYWRpbmcuY2xhc3NOYW1lICs9ICcgbG9hZGluZy1yZXN1bHRzJzsKCgkJCQl0aGlzLiRyZXN1bHRzLnByZXBlbmQoJGxvYWRpbmcpOwoJCQl9OwoKCQkJUmVzdWx0cy5wcm90b3R5cGUuaGlkZUxvYWRpbmcgPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLiRyZXN1bHRzLmZpbmQoJy5sb2FkaW5nLXJlc3VsdHMnKS5yZW1vdmUoKTsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLm9wdGlvbiA9IGZ1bmN0aW9uIChkYXRhKSB7CgkJCQl2YXIgb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsKCQkJCW9wdGlvbi5jbGFzc05hbWUgPSAnc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24nOwoKCQkJCXZhciBhdHRycyA9IHsKCQkJCQkncm9sZSc6ICd0cmVlaXRlbScsCgkJCQkJJ2FyaWEtc2VsZWN0ZWQnOiAnZmFsc2UnCgkJCQl9OwoKCQkJCWlmIChkYXRhLmRpc2FibGVkKSB7CgkJCQkJZGVsZXRlIGF0dHJzWydhcmlhLXNlbGVjdGVkJ107CgkJCQkJYXR0cnNbJ2FyaWEtZGlzYWJsZWQnXSA9ICd0cnVlJzsKCQkJCX0KCgkJCQlpZiAoZGF0YS5pZCA9PSBudWxsKSB7CgkJCQkJZGVsZXRlIGF0dHJzWydhcmlhLXNlbGVjdGVkJ107CgkJCQl9CgoJCQkJaWYgKGRhdGEuX3Jlc3VsdElkICE9IG51bGwpIHsKCQkJCQlvcHRpb24uaWQgPSBkYXRhLl9yZXN1bHRJZDsKCQkJCX0KCgkJCQlpZiAoZGF0YS50aXRsZSkgewoJCQkJCW9wdGlvbi50aXRsZSA9IGRhdGEudGl0bGU7CgkJCQl9CgoJCQkJaWYgKGRhdGEuY2hpbGRyZW4pIHsKCQkJCQlhdHRycy5yb2xlID0gJ2dyb3VwJzsKCQkJCQlhdHRyc1snYXJpYS1sYWJlbCddID0gZGF0YS50ZXh0OwoJCQkJCWRlbGV0ZSBhdHRyc1snYXJpYS1zZWxlY3RlZCddOwoJCQkJfQoKCQkJCWZvciAodmFyIGF0dHIgaW4gYXR0cnMpIHsKCQkJCQl2YXIgdmFsID0gYXR0cnNbYXR0cl07CgoJCQkJCW9wdGlvbi5zZXRBdHRyaWJ1dGUoYXR0ciwgdmFsKTsKCQkJCX0KCgkJCQlpZiAoZGF0YS5jaGlsZHJlbikgewoJCQkJCXZhciAkb3B0aW9uID0gJChvcHRpb24pOwoKCQkJCQl2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHJvbmcnKTsKCQkJCQlsYWJlbC5jbGFzc05hbWUgPSAnc2VsZWN0Mi1yZXN1bHRzX19ncm91cCc7CgoJCQkJCXZhciAkbGFiZWwgPSAkKGxhYmVsKTsKCQkJCQl0aGlzLnRlbXBsYXRlKGRhdGEsIGxhYmVsKTsKCgkJCQkJdmFyICRjaGlsZHJlbiA9IFtdOwoKCQkJCQlmb3IgKHZhciBjID0gMDsgYyA8IGRhdGEuY2hpbGRyZW4ubGVuZ3RoOyBjKyspIHsKCQkJCQkJdmFyIGNoaWxkID0gZGF0YS5jaGlsZHJlbltjXTsKCgkJCQkJCXZhciAkY2hpbGQgPSB0aGlzLm9wdGlvbihjaGlsZCk7CgoJCQkJCQkkY2hpbGRyZW4ucHVzaCgkY2hpbGQpOwoJCQkJCX0KCgkJCQkJdmFyICRjaGlsZHJlbkNvbnRhaW5lciA9ICQoJzx1bD48L3VsPicsIHsKCQkJCQkJJ2NsYXNzJzogJ3NlbGVjdDItcmVzdWx0c19fb3B0aW9ucyBzZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMtLW5lc3RlZCcKCQkJCQl9KTsKCgkJCQkJJGNoaWxkcmVuQ29udGFpbmVyLmFwcGVuZCgkY2hpbGRyZW4pOwoKCQkJCQkkb3B0aW9uLmFwcGVuZChsYWJlbCk7CgkJCQkJJG9wdGlvbi5hcHBlbmQoJGNoaWxkcmVuQ29udGFpbmVyKTsKCQkJCX0gZWxzZSB7CgkJCQkJdGhpcy50ZW1wbGF0ZShkYXRhLCBvcHRpb24pOwoJCQkJfQoKCQkJCSQuZGF0YShvcHRpb24sICdkYXRhJywgZGF0YSk7CgoJCQkJcmV0dXJuIG9wdGlvbjsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoY29udGFpbmVyLCAkY29udGFpbmVyKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJdmFyIGlkID0gY29udGFpbmVyLmlkICsgJy1yZXN1bHRzJzsKCgkJCQl0aGlzLiRyZXN1bHRzLmF0dHIoJ2lkJywgaWQpOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czphbGwnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi5jbGVhcigpOwoJCQkJCXNlbGYuYXBwZW5kKHBhcmFtcy5kYXRhKTsKCgkJCQkJaWYgKGNvbnRhaW5lci5pc09wZW4oKSkgewoJCQkJCQlzZWxmLnNldENsYXNzZXMoKTsKCQkJCQkJc2VsZi5oaWdobGlnaHRGaXJzdEl0ZW0oKTsKCQkJCQl9CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3Jlc3VsdHM6YXBwZW5kJywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXNlbGYuYXBwZW5kKHBhcmFtcy5kYXRhKTsKCgkJCQkJaWYgKGNvbnRhaW5lci5pc09wZW4oKSkgewoJCQkJCQlzZWxmLnNldENsYXNzZXMoKTsKCQkJCQl9CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3F1ZXJ5JywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXNlbGYuaGlkZU1lc3NhZ2VzKCk7CgkJCQkJc2VsZi5zaG93TG9hZGluZyhwYXJhbXMpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdzZWxlY3QnLCBmdW5jdGlvbiAoKSB7CgkJCQkJaWYgKCFjb250YWluZXIuaXNPcGVuKCkpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJc2VsZi5zZXRDbGFzc2VzKCk7CgkJCQkJc2VsZi5oaWdobGlnaHRGaXJzdEl0ZW0oKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigndW5zZWxlY3QnLCBmdW5jdGlvbiAoKSB7CgkJCQkJaWYgKCFjb250YWluZXIuaXNPcGVuKCkpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJc2VsZi5zZXRDbGFzc2VzKCk7CgkJCQkJc2VsZi5oaWdobGlnaHRGaXJzdEl0ZW0oKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignb3BlbicsIGZ1bmN0aW9uICgpIHsKCQkJCQkvLyBXaGVuIHRoZSBkcm9wZG93biBpcyBvcGVuLCBhcmlhLWV4cGVuZGVkPSJ0cnVlIgoJCQkJCXNlbGYuJHJlc3VsdHMuYXR0cignYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7CgkJCQkJc2VsZi4kcmVzdWx0cy5hdHRyKCdhcmlhLWhpZGRlbicsICdmYWxzZScpOwoKCQkJCQlzZWxmLnNldENsYXNzZXMoKTsKCQkJCQlzZWxmLmVuc3VyZUhpZ2hsaWdodFZpc2libGUoKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7CgkJCQkJLy8gV2hlbiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLCBhcmlhLWV4cGVuZGVkPSJmYWxzZSIKCQkJCQlzZWxmLiRyZXN1bHRzLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTsKCQkJCQlzZWxmLiRyZXN1bHRzLmF0dHIoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTsKCQkJCQlzZWxmLiRyZXN1bHRzLnJlbW92ZUF0dHIoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdyZXN1bHRzOnRvZ2dsZScsIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgJGhpZ2hsaWdodGVkID0gc2VsZi5nZXRIaWdobGlnaHRlZFJlc3VsdHMoKTsKCgkJCQkJaWYgKCRoaWdobGlnaHRlZC5sZW5ndGggPT09IDApIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJJGhpZ2hsaWdodGVkLnRyaWdnZXIoJ21vdXNldXAnKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czpzZWxlY3QnLCBmdW5jdGlvbiAoKSB7CgkJCQkJdmFyICRoaWdobGlnaHRlZCA9IHNlbGYuZ2V0SGlnaGxpZ2h0ZWRSZXN1bHRzKCk7CgoJCQkJCWlmICgkaGlnaGxpZ2h0ZWQubGVuZ3RoID09PSAwKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXZhciBkYXRhID0gJGhpZ2hsaWdodGVkLmRhdGEoJ2RhdGEnKTsKCgkJCQkJaWYgKCRoaWdobGlnaHRlZC5hdHRyKCdhcmlhLXNlbGVjdGVkJykgPT0gJ3RydWUnKSB7CgkJCQkJCXNlbGYudHJpZ2dlcignY2xvc2UnLCB7fSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJc2VsZi50cmlnZ2VyKCdzZWxlY3QnLCB7CgkJCQkJCQlkYXRhOiBkYXRhCgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czpwcmV2aW91cycsIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgJGhpZ2hsaWdodGVkID0gc2VsZi5nZXRIaWdobGlnaHRlZFJlc3VsdHMoKTsKCgkJCQkJdmFyICRvcHRpb25zID0gc2VsZi4kcmVzdWx0cy5maW5kKCdbYXJpYS1zZWxlY3RlZF0nKTsKCgkJCQkJdmFyIGN1cnJlbnRJbmRleCA9ICRvcHRpb25zLmluZGV4KCRoaWdobGlnaHRlZCk7CgoJCQkJCS8vIElmIHdlIGFyZSBhbHJlYWR5IGF0IHRlIHRvcCwgZG9uJ3QgbW92ZSBmdXJ0aGVyCgkJCQkJaWYgKGN1cnJlbnRJbmRleCA9PT0gMCkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQl2YXIgbmV4dEluZGV4ID0gY3VycmVudEluZGV4IC0gMTsKCgkJCQkJLy8gSWYgbm9uZSBhcmUgaGlnaGxpZ2h0ZWQsIGhpZ2hsaWdodCB0aGUgZmlyc3QKCQkJCQlpZiAoJGhpZ2hsaWdodGVkLmxlbmd0aCA9PT0gMCkgewoJCQkJCQluZXh0SW5kZXggPSAwOwoJCQkJCX0KCgkJCQkJdmFyICRuZXh0ID0gJG9wdGlvbnMuZXEobmV4dEluZGV4KTsKCgkJCQkJJG5leHQudHJpZ2dlcignbW91c2VlbnRlcicpOwoKCQkJCQl2YXIgY3VycmVudE9mZnNldCA9IHNlbGYuJHJlc3VsdHMub2Zmc2V0KCkudG9wOwoJCQkJCXZhciBuZXh0VG9wID0gJG5leHQub2Zmc2V0KCkudG9wOwoJCQkJCXZhciBuZXh0T2Zmc2V0ID0gc2VsZi4kcmVzdWx0cy5zY3JvbGxUb3AoKSArIChuZXh0VG9wIC0gY3VycmVudE9mZnNldCk7CgoJCQkJCWlmIChuZXh0SW5kZXggPT09IDApIHsKCQkJCQkJc2VsZi4kcmVzdWx0cy5zY3JvbGxUb3AoMCk7CgkJCQkJfSBlbHNlIGlmIChuZXh0VG9wIC0gY3VycmVudE9mZnNldCA8IDApIHsKCQkJCQkJc2VsZi4kcmVzdWx0cy5zY3JvbGxUb3AobmV4dE9mZnNldCk7CgkJCQkJfQoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdyZXN1bHRzOm5leHQnLCBmdW5jdGlvbiAoKSB7CgkJCQkJdmFyICRoaWdobGlnaHRlZCA9IHNlbGYuZ2V0SGlnaGxpZ2h0ZWRSZXN1bHRzKCk7CgoJCQkJCXZhciAkb3B0aW9ucyA9IHNlbGYuJHJlc3VsdHMuZmluZCgnW2FyaWEtc2VsZWN0ZWRdJyk7CgoJCQkJCXZhciBjdXJyZW50SW5kZXggPSAkb3B0aW9ucy5pbmRleCgkaGlnaGxpZ2h0ZWQpOwoKCQkJCQl2YXIgbmV4dEluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKCgkJCQkJLy8gSWYgd2UgYXJlIGF0IHRoZSBsYXN0IG9wdGlvbiwgc3RheSB0aGVyZQoJCQkJCWlmIChuZXh0SW5kZXggPj0gJG9wdGlvbnMubGVuZ3RoKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXZhciAkbmV4dCA9ICRvcHRpb25zLmVxKG5leHRJbmRleCk7CgoJCQkJCSRuZXh0LnRyaWdnZXIoJ21vdXNlZW50ZXInKTsKCgkJCQkJdmFyIGN1cnJlbnRPZmZzZXQgPSBzZWxmLiRyZXN1bHRzLm9mZnNldCgpLnRvcCArCgkJCQkJCXNlbGYuJHJlc3VsdHMub3V0ZXJIZWlnaHQoZmFsc2UpOwoJCQkJCXZhciBuZXh0Qm90dG9tID0gJG5leHQub2Zmc2V0KCkudG9wICsgJG5leHQub3V0ZXJIZWlnaHQoZmFsc2UpOwoJCQkJCXZhciBuZXh0T2Zmc2V0ID0gc2VsZi4kcmVzdWx0cy5zY3JvbGxUb3AoKSArIG5leHRCb3R0b20gLSBjdXJyZW50T2Zmc2V0OwoKCQkJCQlpZiAobmV4dEluZGV4ID09PSAwKSB7CgkJCQkJCXNlbGYuJHJlc3VsdHMuc2Nyb2xsVG9wKDApOwoJCQkJCX0gZWxzZSBpZiAobmV4dEJvdHRvbSA+IGN1cnJlbnRPZmZzZXQpIHsKCQkJCQkJc2VsZi4kcmVzdWx0cy5zY3JvbGxUb3AobmV4dE9mZnNldCk7CgkJCQkJfQoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdyZXN1bHRzOmZvY3VzJywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXBhcmFtcy5lbGVtZW50LmFkZENsYXNzKCdzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQnKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czptZXNzYWdlJywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXNlbGYuZGlzcGxheU1lc3NhZ2UocGFyYW1zKTsKCQkJCX0pOwoKCQkJCWlmICgkLmZuLm1vdXNld2hlZWwpIHsKCQkJCQl0aGlzLiRyZXN1bHRzLm9uKCdtb3VzZXdoZWVsJywgZnVuY3Rpb24gKGUpIHsKCQkJCQkJdmFyIHRvcCA9IHNlbGYuJHJlc3VsdHMuc2Nyb2xsVG9wKCk7CgoJCQkJCQl2YXIgYm90dG9tID0gc2VsZi4kcmVzdWx0cy5nZXQoMCkuc2Nyb2xsSGVpZ2h0IC0gdG9wICsgZS5kZWx0YVk7CgoJCQkJCQl2YXIgaXNBdFRvcCA9IGUuZGVsdGFZID4gMCAmJiB0b3AgLSBlLmRlbHRhWSA8PSAwOwoJCQkJCQl2YXIgaXNBdEJvdHRvbSA9IGUuZGVsdGFZIDwgMCAmJiBib3R0b20gPD0gc2VsZi4kcmVzdWx0cy5oZWlnaHQoKTsKCgkJCQkJCWlmIChpc0F0VG9wKSB7CgkJCQkJCQlzZWxmLiRyZXN1bHRzLnNjcm9sbFRvcCgwKTsKCgkJCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCQllLnN0b3BQcm9wYWdhdGlvbigpOwoJCQkJCQl9IGVsc2UgaWYgKGlzQXRCb3R0b20pIHsKCQkJCQkJCXNlbGYuJHJlc3VsdHMuc2Nyb2xsVG9wKAoJCQkJCQkJCXNlbGYuJHJlc3VsdHMuZ2V0KDApLnNjcm9sbEhlaWdodCAtIHNlbGYuJHJlc3VsdHMuaGVpZ2h0KCkKCQkJCQkJCSk7CgoJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoKCQkJCXRoaXMuJHJlc3VsdHMub24oJ21vdXNldXAnLCAnLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtc2VsZWN0ZWRdJywKCQkJCQlmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJCXZhciAkdGhpcyA9ICQodGhpcyk7CgoJCQkJCQl2YXIgZGF0YSA9ICR0aGlzLmRhdGEoJ2RhdGEnKTsKCgkJCQkJCWlmICgkdGhpcy5hdHRyKCdhcmlhLXNlbGVjdGVkJykgPT09ICd0cnVlJykgewoJCQkJCQkJaWYgKHNlbGYub3B0aW9ucy5nZXQoJ211bHRpcGxlJykpIHsKCQkJCQkJCQlzZWxmLnRyaWdnZXIoJ3Vuc2VsZWN0JywgewoJCQkJCQkJCQlvcmlnaW5hbEV2ZW50OiBldnQsCgkJCQkJCQkJCWRhdGE6IGRhdGEKCQkJCQkJCQl9KTsKCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJc2VsZi50cmlnZ2VyKCdjbG9zZScsIHt9KTsKCQkJCQkJCX0KCgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCgkJCQkJCXNlbGYudHJpZ2dlcignc2VsZWN0JywgewoJCQkJCQkJb3JpZ2luYWxFdmVudDogZXZ0LAoJCQkJCQkJZGF0YTogZGF0YQoJCQkJCQl9KTsKCQkJCQl9KTsKCgkJCQl0aGlzLiRyZXN1bHRzLm9uKCdtb3VzZWVudGVyJywgJy5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkXScsCgkJCQkJZnVuY3Rpb24gKGV2dCkgewoJCQkJCQl2YXIgZGF0YSA9ICQodGhpcykuZGF0YSgnZGF0YScpOwoKCQkJCQkJc2VsZi5nZXRIaWdobGlnaHRlZFJlc3VsdHMoKQoJCQkJCQkJLnJlbW92ZUNsYXNzKCdzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWQnKTsKCgkJCQkJCXNlbGYudHJpZ2dlcigncmVzdWx0czpmb2N1cycsIHsKCQkJCQkJCWRhdGE6IGRhdGEsCgkJCQkJCQllbGVtZW50OiAkKHRoaXMpCgkJCQkJCX0pOwoJCQkJCX0pOwoJCQl9OwoKCQkJUmVzdWx0cy5wcm90b3R5cGUuZ2V0SGlnaGxpZ2h0ZWRSZXN1bHRzID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyICRoaWdobGlnaHRlZCA9IHRoaXMuJHJlc3VsdHMKCQkJCQkuZmluZCgnLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCcpOwoKCQkJCXJldHVybiAkaGlnaGxpZ2h0ZWQ7CgkJCX07CgoJCQlSZXN1bHRzLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkgewoJCQkJdGhpcy4kcmVzdWx0cy5yZW1vdmUoKTsKCQkJfTsKCgkJCVJlc3VsdHMucHJvdG90eXBlLmVuc3VyZUhpZ2hsaWdodFZpc2libGUgPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgJGhpZ2hsaWdodGVkID0gdGhpcy5nZXRIaWdobGlnaHRlZFJlc3VsdHMoKTsKCgkJCQlpZiAoJGhpZ2hsaWdodGVkLmxlbmd0aCA9PT0gMCkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl2YXIgJG9wdGlvbnMgPSB0aGlzLiRyZXN1bHRzLmZpbmQoJ1thcmlhLXNlbGVjdGVkXScpOwoKCQkJCXZhciBjdXJyZW50SW5kZXggPSAkb3B0aW9ucy5pbmRleCgkaGlnaGxpZ2h0ZWQpOwoKCQkJCXZhciBjdXJyZW50T2Zmc2V0ID0gdGhpcy4kcmVzdWx0cy5vZmZzZXQoKS50b3A7CgkJCQl2YXIgbmV4dFRvcCA9ICRoaWdobGlnaHRlZC5vZmZzZXQoKS50b3A7CgkJCQl2YXIgbmV4dE9mZnNldCA9IHRoaXMuJHJlc3VsdHMuc2Nyb2xsVG9wKCkgKyAobmV4dFRvcCAtIGN1cnJlbnRPZmZzZXQpOwoKCQkJCXZhciBvZmZzZXREZWx0YSA9IG5leHRUb3AgLSBjdXJyZW50T2Zmc2V0OwoJCQkJbmV4dE9mZnNldCAtPSAkaGlnaGxpZ2h0ZWQub3V0ZXJIZWlnaHQoZmFsc2UpICogMjsKCgkJCQlpZiAoY3VycmVudEluZGV4IDw9IDIpIHsKCQkJCQl0aGlzLiRyZXN1bHRzLnNjcm9sbFRvcCgwKTsKCQkJCX0gZWxzZSBpZiAob2Zmc2V0RGVsdGEgPiB0aGlzLiRyZXN1bHRzLm91dGVySGVpZ2h0KCkgfHwgb2Zmc2V0RGVsdGEgPCAwKSB7CgkJCQkJdGhpcy4kcmVzdWx0cy5zY3JvbGxUb3AobmV4dE9mZnNldCk7CgkJCQl9CgkJCX07CgoJCQlSZXN1bHRzLnByb3RvdHlwZS50ZW1wbGF0ZSA9IGZ1bmN0aW9uIChyZXN1bHQsIGNvbnRhaW5lcikgewoJCQkJdmFyIHRlbXBsYXRlID0gdGhpcy5vcHRpb25zLmdldCgndGVtcGxhdGVSZXN1bHQnKTsKCQkJCXZhciBlc2NhcGVNYXJrdXAgPSB0aGlzLm9wdGlvbnMuZ2V0KCdlc2NhcGVNYXJrdXAnKTsKCgkJCQl2YXIgY29udGVudCA9IHRlbXBsYXRlKHJlc3VsdCwgY29udGFpbmVyKTsKCgkJCQlpZiAoY29udGVudCA9PSBudWxsKSB7CgkJCQkJY29udGFpbmVyLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CgkJCQl9IGVsc2UgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgewoJCQkJCWNvbnRhaW5lci5pbm5lckhUTUwgPSBlc2NhcGVNYXJrdXAoY29udGVudCk7CgkJCQl9IGVsc2UgewoJCQkJCSQoY29udGFpbmVyKS5hcHBlbmQoY29udGVudCk7CgkJCQl9CgkJCX07CgoJCQlyZXR1cm4gUmVzdWx0czsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2tleXMnLFsKCgkJXSwgZnVuY3Rpb24gKCkgewoJCQl2YXIgS0VZUyA9IHsKCQkJCUJBQ0tTUEFDRTogOCwKCQkJCVRBQjogOSwKCQkJCUVOVEVSOiAxMywKCQkJCVNISUZUOiAxNiwKCQkJCUNUUkw6IDE3LAoJCQkJQUxUOiAxOCwKCQkJCUVTQzogMjcsCgkJCQlTUEFDRTogMzIsCgkJCQlQQUdFX1VQOiAzMywKCQkJCVBBR0VfRE9XTjogMzQsCgkJCQlFTkQ6IDM1LAoJCQkJSE9NRTogMzYsCgkJCQlMRUZUOiAzNywKCQkJCVVQOiAzOCwKCQkJCVJJR0hUOiAzOSwKCQkJCURPV046IDQwLAoJCQkJREVMRVRFOiA0NgoJCQl9OwoKCQkJcmV0dXJuIEtFWVM7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9zZWxlY3Rpb24vYmFzZScsWwoJCQknanF1ZXJ5JywKCQkJJy4uL3V0aWxzJywKCQkJJy4uL2tleXMnCgkJXSwgZnVuY3Rpb24gKCQsIFV0aWxzLCBLRVlTKSB7CgkJCWZ1bmN0aW9uIEJhc2VTZWxlY3Rpb24gKCRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl0aGlzLiRlbGVtZW50ID0gJGVsZW1lbnQ7CgkJCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwoKCQkJCUJhc2VTZWxlY3Rpb24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyk7CgkJCX0KCgkJCVV0aWxzLkV4dGVuZChCYXNlU2VsZWN0aW9uLCBVdGlscy5PYnNlcnZhYmxlKTsKCgkJCUJhc2VTZWxlY3Rpb24ucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciAkc2VsZWN0aW9uID0gJCgKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdDItc2VsZWN0aW9uIiByb2xlPSJjb21ib2JveCIgJyArCgkJCQkJJyBhcmlhLWhhc3BvcHVwPSJ0cnVlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+JyArCgkJCQkJJzwvc3Bhbj4nCgkJCQkpOwoKCQkJCXRoaXMuX3RhYmluZGV4ID0gMDsKCgkJCQlpZiAodGhpcy4kZWxlbWVudC5kYXRhKCdvbGQtdGFiaW5kZXgnKSAhPSBudWxsKSB7CgkJCQkJdGhpcy5fdGFiaW5kZXggPSB0aGlzLiRlbGVtZW50LmRhdGEoJ29sZC10YWJpbmRleCcpOwoJCQkJfSBlbHNlIGlmICh0aGlzLiRlbGVtZW50LmF0dHIoJ3RhYmluZGV4JykgIT0gbnVsbCkgewoJCQkJCXRoaXMuX3RhYmluZGV4ID0gdGhpcy4kZWxlbWVudC5hdHRyKCd0YWJpbmRleCcpOwoJCQkJfQoKCQkJCSRzZWxlY3Rpb24uYXR0cigndGl0bGUnLCB0aGlzLiRlbGVtZW50LmF0dHIoJ3RpdGxlJykpOwoJCQkJJHNlbGVjdGlvbi5hdHRyKCd0YWJpbmRleCcsIHRoaXMuX3RhYmluZGV4KTsKCgkJCQl0aGlzLiRzZWxlY3Rpb24gPSAkc2VsZWN0aW9uOwoKCQkJCXJldHVybiAkc2VsZWN0aW9uOwoJCQl9OwoKCQkJQmFzZVNlbGVjdGlvbi5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIChjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQl2YXIgaWQgPSBjb250YWluZXIuaWQgKyAnLWNvbnRhaW5lcic7CgkJCQl2YXIgcmVzdWx0c0lkID0gY29udGFpbmVyLmlkICsgJy1yZXN1bHRzJzsKCgkJCQl0aGlzLmNvbnRhaW5lciA9IGNvbnRhaW5lcjsKCgkJCQl0aGlzLiRzZWxlY3Rpb24ub24oJ2ZvY3VzJywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCXNlbGYudHJpZ2dlcignZm9jdXMnLCBldnQpOwoJCQkJfSk7CgoJCQkJdGhpcy4kc2VsZWN0aW9uLm9uKCdibHVyJywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCXNlbGYuX2hhbmRsZUJsdXIoZXZ0KTsKCQkJCX0pOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbigna2V5ZG93bicsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLnRyaWdnZXIoJ2tleXByZXNzJywgZXZ0KTsKCgkJCQkJaWYgKGV2dC53aGljaCA9PT0gS0VZUy5TUEFDRSkgewoJCQkJCQlldnQucHJldmVudERlZmF1bHQoKTsKCQkJCQl9CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3Jlc3VsdHM6Zm9jdXMnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi4kc2VsZWN0aW9uLmF0dHIoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIHBhcmFtcy5kYXRhLl9yZXN1bHRJZCk7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3NlbGVjdGlvbjp1cGRhdGUnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi51cGRhdGUocGFyYW1zLmRhdGEpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdvcGVuJywgZnVuY3Rpb24gKCkgewoJCQkJCS8vIFdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW4sIGFyaWEtZXhwYW5kZWQ9InRydWUiCgkJCQkJc2VsZi4kc2VsZWN0aW9uLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpOwoJCQkJCXNlbGYuJHNlbGVjdGlvbi5hdHRyKCdhcmlhLW93bnMnLCByZXN1bHRzSWQpOwoKCQkJCQlzZWxmLl9hdHRhY2hDbG9zZUhhbmRsZXIoY29udGFpbmVyKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7CgkJCQkJLy8gV2hlbiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkLCBhcmlhLWV4cGFuZGVkPSJmYWxzZSIKCQkJCQlzZWxmLiRzZWxlY3Rpb24uYXR0cignYXJpYS1leHBhbmRlZCcsICdmYWxzZScpOwoJCQkJCXNlbGYuJHNlbGVjdGlvbi5yZW1vdmVBdHRyKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTsKCQkJCQlzZWxmLiRzZWxlY3Rpb24ucmVtb3ZlQXR0cignYXJpYS1vd25zJyk7CgoJCQkJCXNlbGYuJHNlbGVjdGlvbi5mb2N1cygpOwoKCQkJCQlzZWxmLl9kZXRhY2hDbG9zZUhhbmRsZXIoY29udGFpbmVyKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignZW5hYmxlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJHNlbGVjdGlvbi5hdHRyKCd0YWJpbmRleCcsIHNlbGYuX3RhYmluZGV4KTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignZGlzYWJsZScsIGZ1bmN0aW9uICgpIHsKCQkJCQlzZWxmLiRzZWxlY3Rpb24uYXR0cigndGFiaW5kZXgnLCAnLTEnKTsKCQkJCX0pOwoJCQl9OwoKCQkJQmFzZVNlbGVjdGlvbi5wcm90b3R5cGUuX2hhbmRsZUJsdXIgPSBmdW5jdGlvbiAoZXZ0KSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJLy8gVGhpcyBuZWVkcyB0byBiZSBkZWxheWVkIGFzIHRoZSBhY3RpdmUgZWxlbWVudCBpcyB0aGUgYm9keSB3aGVuIHRoZSB0YWIKCQkJCS8vIGtleSBpcyBwcmVzc2VkLCBwb3NzaWJseSBhbG9uZyB3aXRoIG90aGVycy4KCQkJCXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJCQkvLyBEb24ndCB0cmlnZ2VyIGBibHVyYCBpZiB0aGUgZm9jdXMgaXMgc3RpbGwgaW4gdGhlIHNlbGVjdGlvbgoJCQkJCWlmICgKCQkJCQkJKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT0gc2VsZi4kc2VsZWN0aW9uWzBdKSB8fAoJCQkJCQkoJC5jb250YWlucyhzZWxmLiRzZWxlY3Rpb25bMF0sIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKQoJCQkJCSkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQlzZWxmLnRyaWdnZXIoJ2JsdXInLCBldnQpOwoJCQkJfSwgMSk7CgkJCX07CgoJCQlCYXNlU2VsZWN0aW9uLnByb3RvdHlwZS5fYXR0YWNoQ2xvc2VIYW5kbGVyID0gZnVuY3Rpb24gKGNvbnRhaW5lcikgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCSQoZG9jdW1lbnQuYm9keSkub24oJ21vdXNlZG93bi5zZWxlY3QyLicgKyBjb250YWluZXIuaWQsIGZ1bmN0aW9uIChlKSB7CgkJCQkJdmFyICR0YXJnZXQgPSAkKGUudGFyZ2V0KTsKCgkJCQkJdmFyICRzZWxlY3QgPSAkdGFyZ2V0LmNsb3Nlc3QoJy5zZWxlY3QyJyk7CgoJCQkJCXZhciAkYWxsID0gJCgnLnNlbGVjdDIuc2VsZWN0Mi1jb250YWluZXItLW9wZW4nKTsKCgkJCQkJJGFsbC5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCQkJdmFyICR0aGlzID0gJCh0aGlzKTsKCgkJCQkJCWlmICh0aGlzID09ICRzZWxlY3RbMF0pIHsKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoKCQkJCQkJdmFyICRlbGVtZW50ID0gJHRoaXMuZGF0YSgnZWxlbWVudCcpOwoKCQkJCQkJJGVsZW1lbnQuc2VsZWN0MignY2xvc2UnKTsKCQkJCQl9KTsKCQkJCX0pOwoJCQl9OwoKCQkJQmFzZVNlbGVjdGlvbi5wcm90b3R5cGUuX2RldGFjaENsb3NlSGFuZGxlciA9IGZ1bmN0aW9uIChjb250YWluZXIpIHsKCQkJCSQoZG9jdW1lbnQuYm9keSkub2ZmKCdtb3VzZWRvd24uc2VsZWN0Mi4nICsgY29udGFpbmVyLmlkKTsKCQkJfTsKCgkJCUJhc2VTZWxlY3Rpb24ucHJvdG90eXBlLnBvc2l0aW9uID0gZnVuY3Rpb24gKCRzZWxlY3Rpb24sICRjb250YWluZXIpIHsKCQkJCXZhciAkc2VsZWN0aW9uQ29udGFpbmVyID0gJGNvbnRhaW5lci5maW5kKCcuc2VsZWN0aW9uJyk7CgkJCQkkc2VsZWN0aW9uQ29udGFpbmVyLmFwcGVuZCgkc2VsZWN0aW9uKTsKCQkJfTsKCgkJCUJhc2VTZWxlY3Rpb24ucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLl9kZXRhY2hDbG9zZUhhbmRsZXIodGhpcy5jb250YWluZXIpOwoJCQl9OwoKCQkJQmFzZVNlbGVjdGlvbi5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCXRocm93IG5ldyBFcnJvcignVGhlIGB1cGRhdGVgIG1ldGhvZCBtdXN0IGJlIGRlZmluZWQgaW4gY2hpbGQgY2xhc3Nlcy4nKTsKCQkJfTsKCgkJCXJldHVybiBCYXNlU2VsZWN0aW9uOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvc2VsZWN0aW9uL3NpbmdsZScsWwoJCQknanF1ZXJ5JywKCQkJJy4vYmFzZScsCgkJCScuLi91dGlscycsCgkJCScuLi9rZXlzJwoJCV0sIGZ1bmN0aW9uICgkLCBCYXNlU2VsZWN0aW9uLCBVdGlscywgS0VZUykgewoJCQlmdW5jdGlvbiBTaW5nbGVTZWxlY3Rpb24gKCkgewoJCQkJU2luZ2xlU2VsZWN0aW9uLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCQl9CgoJCQlVdGlscy5FeHRlbmQoU2luZ2xlU2VsZWN0aW9uLCBCYXNlU2VsZWN0aW9uKTsKCgkJCVNpbmdsZVNlbGVjdGlvbi5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyICRzZWxlY3Rpb24gPSBTaW5nbGVTZWxlY3Rpb24uX19zdXBlcl9fLnJlbmRlci5jYWxsKHRoaXMpOwoKCQkJCSRzZWxlY3Rpb24uYWRkQ2xhc3MoJ3NlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUnKTsKCgkJCQkkc2VsZWN0aW9uLmh0bWwoCgkJCQkJJzxzcGFuIGNsYXNzPSJzZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQiPjwvc3Bhbj4nICsKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyIgcm9sZT0icHJlc2VudGF0aW9uIj4nICsKCQkJCQknPGIgcm9sZT0icHJlc2VudGF0aW9uIj48L2I+JyArCgkJCQkJJzwvc3Bhbj4nCgkJCQkpOwoKCQkJCXJldHVybiAkc2VsZWN0aW9uOwoJCQl9OwoKCQkJU2luZ2xlU2VsZWN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRhaW5lciwgJGNvbnRhaW5lcikgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCVNpbmdsZVNlbGVjdGlvbi5fX3N1cGVyX18uYmluZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoKCQkJCXZhciBpZCA9IGNvbnRhaW5lci5pZCArICctY29udGFpbmVyJzsKCgkJCQl0aGlzLiRzZWxlY3Rpb24uZmluZCgnLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCcpLmF0dHIoJ2lkJywgaWQpOwoJCQkJdGhpcy4kc2VsZWN0aW9uLmF0dHIoJ2FyaWEtbGFiZWxsZWRieScsIGlkKTsKCgkJCQl0aGlzLiRzZWxlY3Rpb24ub24oJ21vdXNlZG93bicsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQkvLyBPbmx5IHJlc3BvbmQgdG8gbGVmdCBjbGlja3MKCQkJCQlpZiAoZXZ0LndoaWNoICE9PSAxKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXNlbGYudHJpZ2dlcigndG9nZ2xlJywgewoJCQkJCQlvcmlnaW5hbEV2ZW50OiBldnQKCQkJCQl9KTsKCQkJCX0pOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbignZm9jdXMnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJLy8gVXNlciBmb2N1c2VzIG9uIHRoZSBjb250YWluZXIKCQkJCX0pOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbignYmx1cicsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQkvLyBVc2VyIGV4aXRzIHRoZSBjb250YWluZXIKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignZm9jdXMnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJaWYgKCFjb250YWluZXIuaXNPcGVuKCkpIHsKCQkJCQkJc2VsZi4kc2VsZWN0aW9uLmZvY3VzKCk7CgkJCQkJfQoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdzZWxlY3Rpb246dXBkYXRlJywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXNlbGYudXBkYXRlKHBhcmFtcy5kYXRhKTsKCQkJCX0pOwoJCQl9OwoKCQkJU2luZ2xlU2VsZWN0aW9uLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHsKCQkJCXRoaXMuJHNlbGVjdGlvbi5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkJykuZW1wdHkoKTsKCQkJfTsKCgkJCVNpbmdsZVNlbGVjdGlvbi5wcm90b3R5cGUuZGlzcGxheSA9IGZ1bmN0aW9uIChkYXRhLCBjb250YWluZXIpIHsKCQkJCXZhciB0ZW1wbGF0ZSA9IHRoaXMub3B0aW9ucy5nZXQoJ3RlbXBsYXRlU2VsZWN0aW9uJyk7CgkJCQl2YXIgZXNjYXBlTWFya3VwID0gdGhpcy5vcHRpb25zLmdldCgnZXNjYXBlTWFya3VwJyk7CgoJCQkJcmV0dXJuIGVzY2FwZU1hcmt1cCh0ZW1wbGF0ZShkYXRhLCBjb250YWluZXIpKTsKCQkJfTsKCgkJCVNpbmdsZVNlbGVjdGlvbi5wcm90b3R5cGUuc2VsZWN0aW9uQ29udGFpbmVyID0gZnVuY3Rpb24gKCkgewoJCQkJcmV0dXJuICQoJzxzcGFuPjwvc3Bhbj4nKTsKCQkJfTsKCgkJCVNpbmdsZVNlbGVjdGlvbi5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCWlmIChkYXRhLmxlbmd0aCA9PT0gMCkgewoJCQkJCXRoaXMuY2xlYXIoKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdmFyIHNlbGVjdGlvbiA9IGRhdGFbMF07CgoJCQkJdmFyICRyZW5kZXJlZCA9IHRoaXMuJHNlbGVjdGlvbi5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkJyk7CgkJCQl2YXIgZm9ybWF0dGVkID0gdGhpcy5kaXNwbGF5KHNlbGVjdGlvbiwgJHJlbmRlcmVkKTsKCgkJCQkkcmVuZGVyZWQuZW1wdHkoKS5hcHBlbmQoZm9ybWF0dGVkKTsKCQkJCSRyZW5kZXJlZC5wcm9wKCd0aXRsZScsIHNlbGVjdGlvbi50aXRsZSB8fCBzZWxlY3Rpb24udGV4dCk7CgkJCX07CgoJCQlyZXR1cm4gU2luZ2xlU2VsZWN0aW9uOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvc2VsZWN0aW9uL211bHRpcGxlJyxbCgkJCSdqcXVlcnknLAoJCQknLi9iYXNlJywKCQkJJy4uL3V0aWxzJwoJCV0sIGZ1bmN0aW9uICgkLCBCYXNlU2VsZWN0aW9uLCBVdGlscykgewoJCQlmdW5jdGlvbiBNdWx0aXBsZVNlbGVjdGlvbiAoJGVsZW1lbnQsIG9wdGlvbnMpIHsKCQkJCU11bHRpcGxlU2VsZWN0aW9uLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwoJCQl9CgoJCQlVdGlscy5FeHRlbmQoTXVsdGlwbGVTZWxlY3Rpb24sIEJhc2VTZWxlY3Rpb24pOwoKCQkJTXVsdGlwbGVTZWxlY3Rpb24ucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciAkc2VsZWN0aW9uID0gTXVsdGlwbGVTZWxlY3Rpb24uX19zdXBlcl9fLnJlbmRlci5jYWxsKHRoaXMpOwoKCQkJCSRzZWxlY3Rpb24uYWRkQ2xhc3MoJ3NlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZScpOwoKCQkJCSRzZWxlY3Rpb24uaHRtbCgKCQkJCQknPHVsIGNsYXNzPSJzZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQiPjwvdWw+JwoJCQkJKTsKCgkJCQlyZXR1cm4gJHNlbGVjdGlvbjsKCQkJfTsKCgkJCU11bHRpcGxlU2VsZWN0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRhaW5lciwgJGNvbnRhaW5lcikgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCU11bHRpcGxlU2VsZWN0aW9uLl9fc3VwZXJfXy5iaW5kLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgoJCQkJdGhpcy4kc2VsZWN0aW9uLm9uKCdjbGljaycsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLnRyaWdnZXIoJ3RvZ2dsZScsIHsKCQkJCQkJb3JpZ2luYWxFdmVudDogZXZ0CgkJCQkJfSk7CgkJCQl9KTsKCgkJCQl0aGlzLiRzZWxlY3Rpb24ub24oCgkJCQkJJ2NsaWNrJywKCQkJCQknLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZScsCgkJCQkJZnVuY3Rpb24gKGV2dCkgewoJCQkJCQkvLyBJZ25vcmUgdGhlIGV2ZW50IGlmIGl0IGlzIGRpc2FibGVkCgkJCQkJCWlmIChzZWxmLm9wdGlvbnMuZ2V0KCdkaXNhYmxlZCcpKSB7CgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCgkJCQkJCXZhciAkcmVtb3ZlID0gJCh0aGlzKTsKCQkJCQkJdmFyICRzZWxlY3Rpb24gPSAkcmVtb3ZlLnBhcmVudCgpOwoKCQkJCQkJdmFyIGRhdGEgPSAkc2VsZWN0aW9uLmRhdGEoJ2RhdGEnKTsKCgkJCQkJCXNlbGYudHJpZ2dlcigndW5zZWxlY3QnLCB7CgkJCQkJCQlvcmlnaW5hbEV2ZW50OiBldnQsCgkJCQkJCQlkYXRhOiBkYXRhCgkJCQkJCX0pOwoJCQkJCX0KCQkJCSk7CgkJCX07CgoJCQlNdWx0aXBsZVNlbGVjdGlvbi5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLiRzZWxlY3Rpb24uZmluZCgnLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCcpLmVtcHR5KCk7CgkJCX07CgoJCQlNdWx0aXBsZVNlbGVjdGlvbi5wcm90b3R5cGUuZGlzcGxheSA9IGZ1bmN0aW9uIChkYXRhLCBjb250YWluZXIpIHsKCQkJCXZhciB0ZW1wbGF0ZSA9IHRoaXMub3B0aW9ucy5nZXQoJ3RlbXBsYXRlU2VsZWN0aW9uJyk7CgkJCQl2YXIgZXNjYXBlTWFya3VwID0gdGhpcy5vcHRpb25zLmdldCgnZXNjYXBlTWFya3VwJyk7CgoJCQkJcmV0dXJuIGVzY2FwZU1hcmt1cCh0ZW1wbGF0ZShkYXRhLCBjb250YWluZXIpKTsKCQkJfTsKCgkJCU11bHRpcGxlU2VsZWN0aW9uLnByb3RvdHlwZS5zZWxlY3Rpb25Db250YWluZXIgPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgJGNvbnRhaW5lciA9ICQoCgkJCQkJJzxsaSBjbGFzcz0ic2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSI+JyArCgkJCQkJJzxzcGFuIGNsYXNzPSJzZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmUiIHJvbGU9InByZXNlbnRhdGlvbiI+JyArCgkJCQkJJyZ0aW1lczsnICsKCQkJCQknPC9zcGFuPicgKwoJCQkJCSc8L2xpPicKCQkJCSk7CgoJCQkJcmV0dXJuICRjb250YWluZXI7CgkJCX07CgoJCQlNdWx0aXBsZVNlbGVjdGlvbi5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCXRoaXMuY2xlYXIoKTsKCgkJCQlpZiAoZGF0YS5sZW5ndGggPT09IDApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdmFyICRzZWxlY3Rpb25zID0gW107CgoJCQkJZm9yICh2YXIgZCA9IDA7IGQgPCBkYXRhLmxlbmd0aDsgZCsrKSB7CgkJCQkJdmFyIHNlbGVjdGlvbiA9IGRhdGFbZF07CgoJCQkJCXZhciAkc2VsZWN0aW9uID0gdGhpcy5zZWxlY3Rpb25Db250YWluZXIoKTsKCQkJCQl2YXIgZm9ybWF0dGVkID0gdGhpcy5kaXNwbGF5KHNlbGVjdGlvbiwgJHNlbGVjdGlvbik7CgoJCQkJCSRzZWxlY3Rpb24uYXBwZW5kKGZvcm1hdHRlZCk7CgkJCQkJJHNlbGVjdGlvbi5wcm9wKCd0aXRsZScsIHNlbGVjdGlvbi50aXRsZSB8fCBzZWxlY3Rpb24udGV4dCk7CgoJCQkJCSRzZWxlY3Rpb24uZGF0YSgnZGF0YScsIHNlbGVjdGlvbik7CgoJCQkJCSRzZWxlY3Rpb25zLnB1c2goJHNlbGVjdGlvbik7CgkJCQl9CgoJCQkJdmFyICRyZW5kZXJlZCA9IHRoaXMuJHNlbGVjdGlvbi5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkJyk7CgoJCQkJVXRpbHMuYXBwZW5kTWFueSgkcmVuZGVyZWQsICRzZWxlY3Rpb25zKTsKCQkJfTsKCgkJCXJldHVybiBNdWx0aXBsZVNlbGVjdGlvbjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL3NlbGVjdGlvbi9wbGFjZWhvbGRlcicsWwoJCQknLi4vdXRpbHMnCgkJXSwgZnVuY3Rpb24gKFV0aWxzKSB7CgkJCWZ1bmN0aW9uIFBsYWNlaG9sZGVyIChkZWNvcmF0ZWQsICRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5ub3JtYWxpemVQbGFjZWhvbGRlcihvcHRpb25zLmdldCgncGxhY2Vob2xkZXInKSk7CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgJGVsZW1lbnQsIG9wdGlvbnMpOwoJCQl9CgoJCQlQbGFjZWhvbGRlci5wcm90b3R5cGUubm9ybWFsaXplUGxhY2Vob2xkZXIgPSBmdW5jdGlvbiAoXywgcGxhY2Vob2xkZXIpIHsKCQkJCWlmICh0eXBlb2YgcGxhY2Vob2xkZXIgPT09ICdzdHJpbmcnKSB7CgkJCQkJcGxhY2Vob2xkZXIgPSB7CgkJCQkJCWlkOiAnJywKCQkJCQkJdGV4dDogcGxhY2Vob2xkZXIKCQkJCQl9OwoJCQkJfQoKCQkJCXJldHVybiBwbGFjZWhvbGRlcjsKCQkJfTsKCgkJCVBsYWNlaG9sZGVyLnByb3RvdHlwZS5jcmVhdGVQbGFjZWhvbGRlciA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIHBsYWNlaG9sZGVyKSB7CgkJCQl2YXIgJHBsYWNlaG9sZGVyID0gdGhpcy5zZWxlY3Rpb25Db250YWluZXIoKTsKCgkJCQkkcGxhY2Vob2xkZXIuaHRtbCh0aGlzLmRpc3BsYXkocGxhY2Vob2xkZXIpKTsKCQkJCSRwbGFjZWhvbGRlci5hZGRDbGFzcygnc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyJykKCQkJCQkucmVtb3ZlQ2xhc3MoJ3NlbGVjdDItc2VsZWN0aW9uX19jaG9pY2UnKTsKCgkJCQlyZXR1cm4gJHBsYWNlaG9sZGVyOwoJCQl9OwoKCQkJUGxhY2Vob2xkZXIucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIGRhdGEpIHsKCQkJCXZhciBzaW5nbGVQbGFjZWhvbGRlciA9ICgKCQkJCQlkYXRhLmxlbmd0aCA9PSAxICYmIGRhdGFbMF0uaWQgIT0gdGhpcy5wbGFjZWhvbGRlci5pZAoJCQkJKTsKCQkJCXZhciBtdWx0aXBsZVNlbGVjdGlvbnMgPSBkYXRhLmxlbmd0aCA+IDE7CgoJCQkJaWYgKG11bHRpcGxlU2VsZWN0aW9ucyB8fCBzaW5nbGVQbGFjZWhvbGRlcikgewoJCQkJCXJldHVybiBkZWNvcmF0ZWQuY2FsbCh0aGlzLCBkYXRhKTsKCQkJCX0KCgkJCQl0aGlzLmNsZWFyKCk7CgoJCQkJdmFyICRwbGFjZWhvbGRlciA9IHRoaXMuY3JlYXRlUGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlcik7CgoJCQkJdGhpcy4kc2VsZWN0aW9uLmZpbmQoJy5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQnKS5hcHBlbmQoJHBsYWNlaG9sZGVyKTsKCQkJfTsKCgkJCXJldHVybiBQbGFjZWhvbGRlcjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL3NlbGVjdGlvbi9hbGxvd0NsZWFyJyxbCgkJCSdqcXVlcnknLAoJCQknLi4va2V5cycKCQldLCBmdW5jdGlvbiAoJCwgS0VZUykgewoJCQlmdW5jdGlvbiBBbGxvd0NsZWFyICgpIHsgfQoKCQkJQWxsb3dDbGVhci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIGNvbnRhaW5lciwgJGNvbnRhaW5lcikgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsIGNvbnRhaW5lciwgJGNvbnRhaW5lcik7CgoJCQkJaWYgKHRoaXMucGxhY2Vob2xkZXIgPT0gbnVsbCkgewoJCQkJCWlmICh0aGlzLm9wdGlvbnMuZ2V0KCdkZWJ1ZycpICYmIHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUuZXJyb3IpIHsKCQkJCQkJY29uc29sZS5lcnJvcigKCQkJCQkJCSdTZWxlY3QyOiBUaGUgYGFsbG93Q2xlYXJgIG9wdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBjb21iaW5hdGlvbiAnICsKCQkJCQkJCSd3aXRoIHRoZSBgcGxhY2Vob2xkZXJgIG9wdGlvbi4nCgkJCQkJCSk7CgkJCQkJfQoJCQkJfQoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbignbW91c2Vkb3duJywgJy5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXInLAoJCQkJCWZ1bmN0aW9uIChldnQpIHsKCQkJCQkJc2VsZi5faGFuZGxlQ2xlYXIoZXZ0KTsKCQkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ2tleXByZXNzJywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCXNlbGYuX2hhbmRsZUtleWJvYXJkQ2xlYXIoZXZ0LCBjb250YWluZXIpOwoJCQkJfSk7CgkJCX07CgoJCQlBbGxvd0NsZWFyLnByb3RvdHlwZS5faGFuZGxlQ2xlYXIgPSBmdW5jdGlvbiAoXywgZXZ0KSB7CgkJCQkvLyBJZ25vcmUgdGhlIGV2ZW50IGlmIGl0IGlzIGRpc2FibGVkCgkJCQlpZiAodGhpcy5vcHRpb25zLmdldCgnZGlzYWJsZWQnKSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl2YXIgJGNsZWFyID0gdGhpcy4kc2VsZWN0aW9uLmZpbmQoJy5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXInKTsKCgkJCQkvLyBJZ25vcmUgdGhlIGV2ZW50IGlmIG5vdGhpbmcgaGFzIGJlZW4gc2VsZWN0ZWQKCQkJCWlmICgkY2xlYXIubGVuZ3RoID09PSAwKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWV2dC5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQl2YXIgZGF0YSA9ICRjbGVhci5kYXRhKCdkYXRhJyk7CgoJCQkJZm9yICh2YXIgZCA9IDA7IGQgPCBkYXRhLmxlbmd0aDsgZCsrKSB7CgkJCQkJdmFyIHVuc2VsZWN0RGF0YSA9IHsKCQkJCQkJZGF0YTogZGF0YVtkXQoJCQkJCX07CgoJCQkJCS8vIFRyaWdnZXIgdGhlIGB1bnNlbGVjdGAgZXZlbnQsIHNvIHBlb3BsZSBjYW4gcHJldmVudCBpdCBmcm9tIGJlaW5nCgkJCQkJLy8gY2xlYXJlZC4KCQkJCQl0aGlzLnRyaWdnZXIoJ3Vuc2VsZWN0JywgdW5zZWxlY3REYXRhKTsKCgkJCQkJLy8gSWYgdGhlIGV2ZW50IHdhcyBwcmV2ZW50ZWQsIGRvbid0IGNsZWFyIGl0IG91dC4KCQkJCQlpZiAodW5zZWxlY3REYXRhLnByZXZlbnRlZCkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoJCQkJfQoKCQkJCXRoaXMuJGVsZW1lbnQudmFsKHRoaXMucGxhY2Vob2xkZXIuaWQpLnRyaWdnZXIoJ2NoYW5nZScpOwoKCQkJCXRoaXMudHJpZ2dlcigndG9nZ2xlJywge30pOwoJCQl9OwoKCQkJQWxsb3dDbGVhci5wcm90b3R5cGUuX2hhbmRsZUtleWJvYXJkQ2xlYXIgPSBmdW5jdGlvbiAoXywgZXZ0LCBjb250YWluZXIpIHsKCQkJCWlmIChjb250YWluZXIuaXNPcGVuKCkpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKGV2dC53aGljaCA9PSBLRVlTLkRFTEVURSB8fCBldnQud2hpY2ggPT0gS0VZUy5CQUNLU1BBQ0UpIHsKCQkJCQl0aGlzLl9oYW5kbGVDbGVhcihldnQpOwoJCQkJfQoJCQl9OwoKCQkJQWxsb3dDbGVhci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgZGF0YSkgewoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgZGF0YSk7CgoJCQkJaWYgKHRoaXMuJHNlbGVjdGlvbi5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyJykubGVuZ3RoID4gMCB8fAoJCQkJCWRhdGEubGVuZ3RoID09PSAwKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXZhciAkcmVtb3ZlID0gJCgKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdDItc2VsZWN0aW9uX19jbGVhciI+JyArCgkJCQkJJyZ0aW1lczsnICsKCQkJCQknPC9zcGFuPicKCQkJCSk7CgkJCQkkcmVtb3ZlLmRhdGEoJ2RhdGEnLCBkYXRhKTsKCgkJCQl0aGlzLiRzZWxlY3Rpb24uZmluZCgnLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCcpLnByZXBlbmQoJHJlbW92ZSk7CgkJCX07CgoJCQlyZXR1cm4gQWxsb3dDbGVhcjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL3NlbGVjdGlvbi9zZWFyY2gnLFsKCQkJJ2pxdWVyeScsCgkJCScuLi91dGlscycsCgkJCScuLi9rZXlzJwoJCV0sIGZ1bmN0aW9uICgkLCBVdGlscywgS0VZUykgewoJCQlmdW5jdGlvbiBTZWFyY2ggKGRlY29yYXRlZCwgJGVsZW1lbnQsIG9wdGlvbnMpIHsKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsICRlbGVtZW50LCBvcHRpb25zKTsKCQkJfQoKCQkJU2VhcmNoLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoZGVjb3JhdGVkKSB7CgkJCQl2YXIgJHNlYXJjaCA9ICQoCgkJCQkJJzxsaSBjbGFzcz0ic2VsZWN0Mi1zZWFyY2ggc2VsZWN0Mi1zZWFyY2gtLWlubGluZSI+JyArCgkJCQkJJzxpbnB1dCBjbGFzcz0ic2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIiB0eXBlPSJzZWFyY2giIHRhYmluZGV4PSItMSInICsKCQkJCQknIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSInICsKCQkJCQknIHNwZWxsY2hlY2s9ImZhbHNlIiByb2xlPSJ0ZXh0Ym94IiBhcmlhLWF1dG9jb21wbGV0ZT0ibGlzdCIgLz4nICsKCQkJCQknPC9saT4nCgkJCQkpOwoKCQkJCXRoaXMuJHNlYXJjaENvbnRhaW5lciA9ICRzZWFyY2g7CgkJCQl0aGlzLiRzZWFyY2ggPSAkc2VhcmNoLmZpbmQoJ2lucHV0Jyk7CgoJCQkJdmFyICRyZW5kZXJlZCA9IGRlY29yYXRlZC5jYWxsKHRoaXMpOwoKCQkJCXRoaXMuX3RyYW5zZmVyVGFiSW5kZXgoKTsKCgkJCQlyZXR1cm4gJHJlbmRlcmVkOwoJCQl9OwoKCQkJU2VhcmNoLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgY29udGFpbmVyLCAkY29udGFpbmVyKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgY29udGFpbmVyLCAkY29udGFpbmVyKTsKCgkJCQljb250YWluZXIub24oJ29wZW4nLCBmdW5jdGlvbiAoKSB7CgkJCQkJc2VsZi4kc2VhcmNoLnRyaWdnZXIoJ2ZvY3VzJyk7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ2Nsb3NlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJHNlYXJjaC52YWwoJycpOwoJCQkJCXNlbGYuJHNlYXJjaC5yZW1vdmVBdHRyKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTsKCQkJCQlzZWxmLiRzZWFyY2gudHJpZ2dlcignZm9jdXMnKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignZW5hYmxlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJHNlYXJjaC5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTsKCgkJCQkJc2VsZi5fdHJhbnNmZXJUYWJJbmRleCgpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdkaXNhYmxlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJHNlYXJjaC5wcm9wKCdkaXNhYmxlZCcsIHRydWUpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCdmb2N1cycsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLiRzZWFyY2gudHJpZ2dlcignZm9jdXMnKTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czpmb2N1cycsIGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQlzZWxmLiRzZWFyY2guYXR0cignYXJpYS1hY3RpdmVkZXNjZW5kYW50JywgcGFyYW1zLmlkKTsKCQkJCX0pOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbignZm9jdXNpbicsICcuc2VsZWN0Mi1zZWFyY2gtLWlubGluZScsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLnRyaWdnZXIoJ2ZvY3VzJywgZXZ0KTsKCQkJCX0pOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5vbignZm9jdXNvdXQnLCAnLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJc2VsZi5faGFuZGxlQmx1cihldnQpOwoJCQkJfSk7CgoJCQkJdGhpcy4kc2VsZWN0aW9uLm9uKCdrZXlkb3duJywgJy5zZWxlY3QyLXNlYXJjaC0taW5saW5lJywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCWV2dC5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQkJc2VsZi50cmlnZ2VyKCdrZXlwcmVzcycsIGV2dCk7CgoJCQkJCXNlbGYuX2tleVVwUHJldmVudGVkID0gZXZ0LmlzRGVmYXVsdFByZXZlbnRlZCgpOwoKCQkJCQl2YXIga2V5ID0gZXZ0LndoaWNoOwoKCQkJCQlpZiAoa2V5ID09PSBLRVlTLkJBQ0tTUEFDRSAmJiBzZWxmLiRzZWFyY2gudmFsKCkgPT09ICcnKSB7CgkJCQkJCXZhciAkcHJldmlvdXNDaG9pY2UgPSBzZWxmLiRzZWFyY2hDb250YWluZXIKCQkJCQkJCS5wcmV2KCcuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZScpOwoKCQkJCQkJaWYgKCRwcmV2aW91c0Nob2ljZS5sZW5ndGggPiAwKSB7CgkJCQkJCQl2YXIgaXRlbSA9ICRwcmV2aW91c0Nob2ljZS5kYXRhKCdkYXRhJyk7CgoJCQkJCQkJc2VsZi5zZWFyY2hSZW1vdmVDaG9pY2UoaXRlbSk7CgoJCQkJCQkJZXZ0LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9KTsKCgkJCQkvLyBUcnkgdG8gZGV0ZWN0IHRoZSBJRSB2ZXJzaW9uIHNob3VsZCB0aGUgYGRvY3VtZW50TW9kZWAgcHJvcGVydHkgdGhhdAoJCQkJLy8gaXMgc3RvcmVkIG9uIHRoZSBkb2N1bWVudC4gVGhpcyBpcyBvbmx5IGltcGxlbWVudGVkIGluIElFIGFuZCBpcwoJCQkJLy8gc2xpZ2h0bHkgY2xlYW5lciB0aGFuIGRvaW5nIGEgdXNlciBhZ2VudCBjaGVjay4KCQkJCS8vIFRoaXMgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZSBpbiBFZGdlLCBidXQgRWRnZSBhbHNvIGRvZXNuJ3QgaGF2ZQoJCQkJLy8gdGhpcyBidWcuCgkJCQl2YXIgbXNpZSA9IGRvY3VtZW50LmRvY3VtZW50TW9kZTsKCQkJCXZhciBkaXNhYmxlSW5wdXRFdmVudHMgPSBtc2llICYmIG1zaWUgPD0gMTE7CgoJCQkJLy8gV29ya2Fyb3VuZCBmb3IgYnJvd3NlcnMgd2hpY2ggZG8gbm90IHN1cHBvcnQgdGhlIGBpbnB1dGAgZXZlbnQKCQkJCS8vIFRoaXMgd2lsbCBwcmV2ZW50IGRvdWJsZS10cmlnZ2VyaW5nIG9mIGV2ZW50cyBmb3IgYnJvd3NlcnMgd2hpY2ggc3VwcG9ydAoJCQkJLy8gYm90aCB0aGUgYGtleXVwYCBhbmQgYGlucHV0YCBldmVudHMuCgkJCQl0aGlzLiRzZWxlY3Rpb24ub24oCgkJCQkJJ2lucHV0LnNlYXJjaGNoZWNrJywKCQkJCQknLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUnLAoJCQkJCWZ1bmN0aW9uIChldnQpIHsKCQkJCQkJLy8gSUUgd2lsbCB0cmlnZ2VyIHRoZSBgaW5wdXRgIGV2ZW50IHdoZW4gYSBwbGFjZWhvbGRlciBpcyB1c2VkIG9uIGEKCQkJCQkJLy8gc2VhcmNoIGJveC4gVG8gZ2V0IGFyb3VuZCB0aGlzIGlzc3VlLCB3ZSBhcmUgZm9yY2VkIHRvIGlnbm9yZSBhbGwKCQkJCQkJLy8gYGlucHV0YCBldmVudHMgaW4gSUUgYW5kIGtlZXAgdXNpbmcgYGtleXVwYC4KCQkJCQkJaWYgKGRpc2FibGVJbnB1dEV2ZW50cykgewoJCQkJCQkJc2VsZi4kc2VsZWN0aW9uLm9mZignaW5wdXQuc2VhcmNoIGlucHV0LnNlYXJjaGNoZWNrJyk7CgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCgkJCQkJCS8vIFVuYmluZCB0aGUgZHVwbGljYXRlZCBga2V5dXBgIGV2ZW50CgkJCQkJCXNlbGYuJHNlbGVjdGlvbi5vZmYoJ2tleXVwLnNlYXJjaCcpOwoJCQkJCX0KCQkJCSk7CgoJCQkJdGhpcy4kc2VsZWN0aW9uLm9uKAoJCQkJCSdrZXl1cC5zZWFyY2ggaW5wdXQuc2VhcmNoJywKCQkJCQknLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUnLAoJCQkJCWZ1bmN0aW9uIChldnQpIHsKCQkJCQkJLy8gSUUgd2lsbCB0cmlnZ2VyIHRoZSBgaW5wdXRgIGV2ZW50IHdoZW4gYSBwbGFjZWhvbGRlciBpcyB1c2VkIG9uIGEKCQkJCQkJLy8gc2VhcmNoIGJveC4gVG8gZ2V0IGFyb3VuZCB0aGlzIGlzc3VlLCB3ZSBhcmUgZm9yY2VkIHRvIGlnbm9yZSBhbGwKCQkJCQkJLy8gYGlucHV0YCBldmVudHMgaW4gSUUgYW5kIGtlZXAgdXNpbmcgYGtleXVwYC4KCQkJCQkJaWYgKGRpc2FibGVJbnB1dEV2ZW50cyAmJiBldnQudHlwZSA9PT0gJ2lucHV0JykgewoJCQkJCQkJc2VsZi4kc2VsZWN0aW9uLm9mZignaW5wdXQuc2VhcmNoIGlucHV0LnNlYXJjaGNoZWNrJyk7CgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCgkJCQkJCXZhciBrZXkgPSBldnQud2hpY2g7CgoJCQkJCQkvLyBXZSBjYW4gZnJlZWx5IGlnbm9yZSBldmVudHMgZnJvbSBtb2RpZmllciBrZXlzCgkJCQkJCWlmIChrZXkgPT0gS0VZUy5TSElGVCB8fCBrZXkgPT0gS0VZUy5DVFJMIHx8IGtleSA9PSBLRVlTLkFMVCkgewoJCQkJCQkJcmV0dXJuOwoJCQkJCQl9CgoJCQkJCQkvLyBUYWJiaW5nIHdpbGwgYmUgaGFuZGxlZCBkdXJpbmcgdGhlIGBrZXlkb3duYCBwaGFzZQoJCQkJCQlpZiAoa2V5ID09IEtFWVMuVEFCKSB7CgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCgkJCQkJCXNlbGYuaGFuZGxlU2VhcmNoKGV2dCk7CgkJCQkJfQoJCQkJKTsKCQkJfTsKCgkJCS8qKgoJCQkgKiBUaGlzIG1ldGhvZCB3aWxsIHRyYW5zZmVyIHRoZSB0YWJpbmRleCBhdHRyaWJ1dGUgZnJvbSB0aGUgcmVuZGVyZWQKCQkJICogc2VsZWN0aW9uIHRvIHRoZSBzZWFyY2ggYm94LiBUaGlzIGFsbG93cyBmb3IgdGhlIHNlYXJjaCBib3ggdG8gYmUgdXNlZCBhcwoJCQkgKiB0aGUgcHJpbWFyeSBmb2N1cyBpbnN0ZWFkIG9mIHRoZSBzZWxlY3Rpb24gY29udGFpbmVyLgoJCQkgKgoJCQkgKiBAcHJpdmF0ZQoJCQkgKi8KCQkJU2VhcmNoLnByb3RvdHlwZS5fdHJhbnNmZXJUYWJJbmRleCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQpIHsKCQkJCXRoaXMuJHNlYXJjaC5hdHRyKCd0YWJpbmRleCcsIHRoaXMuJHNlbGVjdGlvbi5hdHRyKCd0YWJpbmRleCcpKTsKCQkJCXRoaXMuJHNlbGVjdGlvbi5hdHRyKCd0YWJpbmRleCcsICctMScpOwoJCQl9OwoKCQkJU2VhcmNoLnByb3RvdHlwZS5jcmVhdGVQbGFjZWhvbGRlciA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIHBsYWNlaG9sZGVyKSB7CgkJCQl0aGlzLiRzZWFyY2guYXR0cigncGxhY2Vob2xkZXInLCBwbGFjZWhvbGRlci50ZXh0KTsKCQkJfTsKCgkJCVNlYXJjaC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgZGF0YSkgewoJCQkJdmFyIHNlYXJjaEhhZEZvY3VzID0gdGhpcy4kc2VhcmNoWzBdID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CgoJCQkJdGhpcy4kc2VhcmNoLmF0dHIoJ3BsYWNlaG9sZGVyJywgJycpOwoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsIGRhdGEpOwoKCQkJCXRoaXMuJHNlbGVjdGlvbi5maW5kKCcuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkJykKCQkJCQkuYXBwZW5kKHRoaXMuJHNlYXJjaENvbnRhaW5lcik7CgoJCQkJdGhpcy5yZXNpemVTZWFyY2goKTsKCQkJCWlmIChzZWFyY2hIYWRGb2N1cykgewoJCQkJCXRoaXMuJHNlYXJjaC5mb2N1cygpOwoJCQkJfQoJCQl9OwoKCQkJU2VhcmNoLnByb3RvdHlwZS5oYW5kbGVTZWFyY2ggPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLnJlc2l6ZVNlYXJjaCgpOwoKCQkJCWlmICghdGhpcy5fa2V5VXBQcmV2ZW50ZWQpIHsKCQkJCQl2YXIgaW5wdXQgPSB0aGlzLiRzZWFyY2gudmFsKCk7CgoJCQkJCXRoaXMudHJpZ2dlcigncXVlcnknLCB7CgkJCQkJCXRlcm06IGlucHV0CgkJCQkJfSk7CgkJCQl9CgoJCQkJdGhpcy5fa2V5VXBQcmV2ZW50ZWQgPSBmYWxzZTsKCQkJfTsKCgkJCVNlYXJjaC5wcm90b3R5cGUuc2VhcmNoUmVtb3ZlQ2hvaWNlID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgaXRlbSkgewoJCQkJdGhpcy50cmlnZ2VyKCd1bnNlbGVjdCcsIHsKCQkJCQlkYXRhOiBpdGVtCgkJCQl9KTsKCgkJCQl0aGlzLiRzZWFyY2gudmFsKGl0ZW0udGV4dCk7CgkJCQl0aGlzLmhhbmRsZVNlYXJjaCgpOwoJCQl9OwoKCQkJU2VhcmNoLnByb3RvdHlwZS5yZXNpemVTZWFyY2ggPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLiRzZWFyY2guY3NzKCd3aWR0aCcsICcyNXB4Jyk7CgoJCQkJdmFyIHdpZHRoID0gJyc7CgoJCQkJaWYgKHRoaXMuJHNlYXJjaC5hdHRyKCdwbGFjZWhvbGRlcicpICE9PSAnJykgewoJCQkJCXdpZHRoID0gdGhpcy4kc2VsZWN0aW9uLmZpbmQoJy5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQnKS5pbm5lcldpZHRoKCk7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBtaW5pbXVtV2lkdGggPSB0aGlzLiRzZWFyY2gudmFsKCkubGVuZ3RoICsgMTsKCgkJCQkJd2lkdGggPSAobWluaW11bVdpZHRoICogMC43NSkgKyAnZW0nOwoJCQkJfQoKCQkJCXRoaXMuJHNlYXJjaC5jc3MoJ3dpZHRoJywgd2lkdGgpOwoJCQl9OwoKCQkJcmV0dXJuIFNlYXJjaDsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL3NlbGVjdGlvbi9ldmVudFJlbGF5JyxbCgkJCSdqcXVlcnknCgkJXSwgZnVuY3Rpb24gKCQpIHsKCQkJZnVuY3Rpb24gRXZlbnRSZWxheSAoKSB7IH0KCgkJCUV2ZW50UmVsYXkucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCQkJCXZhciByZWxheUV2ZW50cyA9IFsKCQkJCQknb3BlbicsICdvcGVuaW5nJywKCQkJCQknY2xvc2UnLCAnY2xvc2luZycsCgkJCQkJJ3NlbGVjdCcsICdzZWxlY3RpbmcnLAoJCQkJCSd1bnNlbGVjdCcsICd1bnNlbGVjdGluZycKCQkJCV07CgoJCQkJdmFyIHByZXZlbnRhYmxlRXZlbnRzID0gWydvcGVuaW5nJywgJ2Nsb3NpbmcnLCAnc2VsZWN0aW5nJywgJ3Vuc2VsZWN0aW5nJ107CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgY29udGFpbmVyLCAkY29udGFpbmVyKTsKCgkJCQljb250YWluZXIub24oJyonLCBmdW5jdGlvbiAobmFtZSwgcGFyYW1zKSB7CgkJCQkJLy8gSWdub3JlIGV2ZW50cyB0aGF0IHNob3VsZCBub3QgYmUgcmVsYXllZAoJCQkJCWlmICgkLmluQXJyYXkobmFtZSwgcmVsYXlFdmVudHMpID09PSAtMSkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQkvLyBUaGUgcGFyYW1ldGVycyBzaG91bGQgYWx3YXlzIGJlIGFuIG9iamVjdAoJCQkJCXBhcmFtcyA9IHBhcmFtcyB8fCB7fTsKCgkJCQkJLy8gR2VuZXJhdGUgdGhlIGpRdWVyeSBldmVudCBmb3IgdGhlIFNlbGVjdDIgZXZlbnQKCQkJCQl2YXIgZXZ0ID0gJC5FdmVudCgnc2VsZWN0MjonICsgbmFtZSwgewoJCQkJCQlwYXJhbXM6IHBhcmFtcwoJCQkJCX0pOwoKCQkJCQlzZWxmLiRlbGVtZW50LnRyaWdnZXIoZXZ0KTsKCgkJCQkJLy8gT25seSBoYW5kbGUgcHJldmVudGFibGUgZXZlbnRzIGlmIGl0IHdhcyBvbmUKCQkJCQlpZiAoJC5pbkFycmF5KG5hbWUsIHByZXZlbnRhYmxlRXZlbnRzKSA9PT0gLTEpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJcGFyYW1zLnByZXZlbnRlZCA9IGV2dC5pc0RlZmF1bHRQcmV2ZW50ZWQoKTsKCQkJCX0pOwoJCQl9OwoKCQkJcmV0dXJuIEV2ZW50UmVsYXk7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi90cmFuc2xhdGlvbicsWwoJCQknanF1ZXJ5JywKCQkJJ3JlcXVpcmUnCgkJXSwgZnVuY3Rpb24gKCQsIHJlcXVpcmUpIHsKCQkJZnVuY3Rpb24gVHJhbnNsYXRpb24gKGRpY3QpIHsKCQkJCXRoaXMuZGljdCA9IGRpY3QgfHwge307CgkJCX0KCgkJCVRyYW5zbGF0aW9uLnByb3RvdHlwZS5hbGwgPSBmdW5jdGlvbiAoKSB7CgkJCQlyZXR1cm4gdGhpcy5kaWN0OwoJCQl9OwoKCQkJVHJhbnNsYXRpb24ucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uIChrZXkpIHsKCQkJCXJldHVybiB0aGlzLmRpY3Rba2V5XTsKCQkJfTsKCgkJCVRyYW5zbGF0aW9uLnByb3RvdHlwZS5leHRlbmQgPSBmdW5jdGlvbiAodHJhbnNsYXRpb24pIHsKCQkJCXRoaXMuZGljdCA9ICQuZXh0ZW5kKHt9LCB0cmFuc2xhdGlvbi5hbGwoKSwgdGhpcy5kaWN0KTsKCQkJfTsKCgkJCS8vIFN0YXRpYyBmdW5jdGlvbnMKCgkJCVRyYW5zbGF0aW9uLl9jYWNoZSA9IHt9OwoKCQkJVHJhbnNsYXRpb24ubG9hZFBhdGggPSBmdW5jdGlvbiAocGF0aCkgewoJCQkJaWYgKCEocGF0aCBpbiBUcmFuc2xhdGlvbi5fY2FjaGUpKSB7CgkJCQkJdmFyIHRyYW5zbGF0aW9ucyA9IHJlcXVpcmUocGF0aCk7CgoJCQkJCVRyYW5zbGF0aW9uLl9jYWNoZVtwYXRoXSA9IHRyYW5zbGF0aW9uczsKCQkJCX0KCgkJCQlyZXR1cm4gbmV3IFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uLl9jYWNoZVtwYXRoXSk7CgkJCX07CgoJCQlyZXR1cm4gVHJhbnNsYXRpb247CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kaWFjcml0aWNzJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJdmFyIGRpYWNyaXRpY3MgPSB7CgkJCQknXHUyNEI2JzogJ0EnLAoJCQkJJ1x1RkYyMSc6ICdBJywKCQkJCSdcdTAwQzAnOiAnQScsCgkJCQknXHUwMEMxJzogJ0EnLAoJCQkJJ1x1MDBDMic6ICdBJywKCQkJCSdcdTFFQTYnOiAnQScsCgkJCQknXHUxRUE0JzogJ0EnLAoJCQkJJ1x1MUVBQSc6ICdBJywKCQkJCSdcdTFFQTgnOiAnQScsCgkJCQknXHUwMEMzJzogJ0EnLAoJCQkJJ1x1MDEwMCc6ICdBJywKCQkJCSdcdTAxMDInOiAnQScsCgkJCQknXHUxRUIwJzogJ0EnLAoJCQkJJ1x1MUVBRSc6ICdBJywKCQkJCSdcdTFFQjQnOiAnQScsCgkJCQknXHUxRUIyJzogJ0EnLAoJCQkJJ1x1MDIyNic6ICdBJywKCQkJCSdcdTAxRTAnOiAnQScsCgkJCQknXHUwMEM0JzogJ0EnLAoJCQkJJ1x1MDFERSc6ICdBJywKCQkJCSdcdTFFQTInOiAnQScsCgkJCQknXHUwMEM1JzogJ0EnLAoJCQkJJ1x1MDFGQSc6ICdBJywKCQkJCSdcdTAxQ0QnOiAnQScsCgkJCQknXHUwMjAwJzogJ0EnLAoJCQkJJ1x1MDIwMic6ICdBJywKCQkJCSdcdTFFQTAnOiAnQScsCgkJCQknXHUxRUFDJzogJ0EnLAoJCQkJJ1x1MUVCNic6ICdBJywKCQkJCSdcdTFFMDAnOiAnQScsCgkJCQknXHUwMTA0JzogJ0EnLAoJCQkJJ1x1MDIzQSc6ICdBJywKCQkJCSdcdTJDNkYnOiAnQScsCgkJCQknXHVBNzMyJzogJ0FBJywKCQkJCSdcdTAwQzYnOiAnQUUnLAoJCQkJJ1x1MDFGQyc6ICdBRScsCgkJCQknXHUwMUUyJzogJ0FFJywKCQkJCSdcdUE3MzQnOiAnQU8nLAoJCQkJJ1x1QTczNic6ICdBVScsCgkJCQknXHVBNzM4JzogJ0FWJywKCQkJCSdcdUE3M0EnOiAnQVYnLAoJCQkJJ1x1QTczQyc6ICdBWScsCgkJCQknXHUyNEI3JzogJ0InLAoJCQkJJ1x1RkYyMic6ICdCJywKCQkJCSdcdTFFMDInOiAnQicsCgkJCQknXHUxRTA0JzogJ0InLAoJCQkJJ1x1MUUwNic6ICdCJywKCQkJCSdcdTAyNDMnOiAnQicsCgkJCQknXHUwMTgyJzogJ0InLAoJCQkJJ1x1MDE4MSc6ICdCJywKCQkJCSdcdTI0QjgnOiAnQycsCgkJCQknXHVGRjIzJzogJ0MnLAoJCQkJJ1x1MDEwNic6ICdDJywKCQkJCSdcdTAxMDgnOiAnQycsCgkJCQknXHUwMTBBJzogJ0MnLAoJCQkJJ1x1MDEwQyc6ICdDJywKCQkJCSdcdTAwQzcnOiAnQycsCgkJCQknXHUxRTA4JzogJ0MnLAoJCQkJJ1x1MDE4Nyc6ICdDJywKCQkJCSdcdTAyM0InOiAnQycsCgkJCQknXHVBNzNFJzogJ0MnLAoJCQkJJ1x1MjRCOSc6ICdEJywKCQkJCSdcdUZGMjQnOiAnRCcsCgkJCQknXHUxRTBBJzogJ0QnLAoJCQkJJ1x1MDEwRSc6ICdEJywKCQkJCSdcdTFFMEMnOiAnRCcsCgkJCQknXHUxRTEwJzogJ0QnLAoJCQkJJ1x1MUUxMic6ICdEJywKCQkJCSdcdTFFMEUnOiAnRCcsCgkJCQknXHUwMTEwJzogJ0QnLAoJCQkJJ1x1MDE4Qic6ICdEJywKCQkJCSdcdTAxOEEnOiAnRCcsCgkJCQknXHUwMTg5JzogJ0QnLAoJCQkJJ1x1QTc3OSc6ICdEJywKCQkJCSdcdTAxRjEnOiAnRFonLAoJCQkJJ1x1MDFDNCc6ICdEWicsCgkJCQknXHUwMUYyJzogJ0R6JywKCQkJCSdcdTAxQzUnOiAnRHonLAoJCQkJJ1x1MjRCQSc6ICdFJywKCQkJCSdcdUZGMjUnOiAnRScsCgkJCQknXHUwMEM4JzogJ0UnLAoJCQkJJ1x1MDBDOSc6ICdFJywKCQkJCSdcdTAwQ0EnOiAnRScsCgkJCQknXHUxRUMwJzogJ0UnLAoJCQkJJ1x1MUVCRSc6ICdFJywKCQkJCSdcdTFFQzQnOiAnRScsCgkJCQknXHUxRUMyJzogJ0UnLAoJCQkJJ1x1MUVCQyc6ICdFJywKCQkJCSdcdTAxMTInOiAnRScsCgkJCQknXHUxRTE0JzogJ0UnLAoJCQkJJ1x1MUUxNic6ICdFJywKCQkJCSdcdTAxMTQnOiAnRScsCgkJCQknXHUwMTE2JzogJ0UnLAoJCQkJJ1x1MDBDQic6ICdFJywKCQkJCSdcdTFFQkEnOiAnRScsCgkJCQknXHUwMTFBJzogJ0UnLAoJCQkJJ1x1MDIwNCc6ICdFJywKCQkJCSdcdTAyMDYnOiAnRScsCgkJCQknXHUxRUI4JzogJ0UnLAoJCQkJJ1x1MUVDNic6ICdFJywKCQkJCSdcdTAyMjgnOiAnRScsCgkJCQknXHUxRTFDJzogJ0UnLAoJCQkJJ1x1MDExOCc6ICdFJywKCQkJCSdcdTFFMTgnOiAnRScsCgkJCQknXHUxRTFBJzogJ0UnLAoJCQkJJ1x1MDE5MCc6ICdFJywKCQkJCSdcdTAxOEUnOiAnRScsCgkJCQknXHUyNEJCJzogJ0YnLAoJCQkJJ1x1RkYyNic6ICdGJywKCQkJCSdcdTFFMUUnOiAnRicsCgkJCQknXHUwMTkxJzogJ0YnLAoJCQkJJ1x1QTc3Qic6ICdGJywKCQkJCSdcdTI0QkMnOiAnRycsCgkJCQknXHVGRjI3JzogJ0cnLAoJCQkJJ1x1MDFGNCc6ICdHJywKCQkJCSdcdTAxMUMnOiAnRycsCgkJCQknXHUxRTIwJzogJ0cnLAoJCQkJJ1x1MDExRSc6ICdHJywKCQkJCSdcdTAxMjAnOiAnRycsCgkJCQknXHUwMUU2JzogJ0cnLAoJCQkJJ1x1MDEyMic6ICdHJywKCQkJCSdcdTAxRTQnOiAnRycsCgkJCQknXHUwMTkzJzogJ0cnLAoJCQkJJ1x1QTdBMCc6ICdHJywKCQkJCSdcdUE3N0QnOiAnRycsCgkJCQknXHVBNzdFJzogJ0cnLAoJCQkJJ1x1MjRCRCc6ICdIJywKCQkJCSdcdUZGMjgnOiAnSCcsCgkJCQknXHUwMTI0JzogJ0gnLAoJCQkJJ1x1MUUyMic6ICdIJywKCQkJCSdcdTFFMjYnOiAnSCcsCgkJCQknXHUwMjFFJzogJ0gnLAoJCQkJJ1x1MUUyNCc6ICdIJywKCQkJCSdcdTFFMjgnOiAnSCcsCgkJCQknXHUxRTJBJzogJ0gnLAoJCQkJJ1x1MDEyNic6ICdIJywKCQkJCSdcdTJDNjcnOiAnSCcsCgkJCQknXHUyQzc1JzogJ0gnLAoJCQkJJ1x1QTc4RCc6ICdIJywKCQkJCSdcdTI0QkUnOiAnSScsCgkJCQknXHVGRjI5JzogJ0knLAoJCQkJJ1x1MDBDQyc6ICdJJywKCQkJCSdcdTAwQ0QnOiAnSScsCgkJCQknXHUwMENFJzogJ0knLAoJCQkJJ1x1MDEyOCc6ICdJJywKCQkJCSdcdTAxMkEnOiAnSScsCgkJCQknXHUwMTJDJzogJ0knLAoJCQkJJ1x1MDEzMCc6ICdJJywKCQkJCSdcdTAwQ0YnOiAnSScsCgkJCQknXHUxRTJFJzogJ0knLAoJCQkJJ1x1MUVDOCc6ICdJJywKCQkJCSdcdTAxQ0YnOiAnSScsCgkJCQknXHUwMjA4JzogJ0knLAoJCQkJJ1x1MDIwQSc6ICdJJywKCQkJCSdcdTFFQ0EnOiAnSScsCgkJCQknXHUwMTJFJzogJ0knLAoJCQkJJ1x1MUUyQyc6ICdJJywKCQkJCSdcdTAxOTcnOiAnSScsCgkJCQknXHUyNEJGJzogJ0onLAoJCQkJJ1x1RkYyQSc6ICdKJywKCQkJCSdcdTAxMzQnOiAnSicsCgkJCQknXHUwMjQ4JzogJ0onLAoJCQkJJ1x1MjRDMCc6ICdLJywKCQkJCSdcdUZGMkInOiAnSycsCgkJCQknXHUxRTMwJzogJ0snLAoJCQkJJ1x1MDFFOCc6ICdLJywKCQkJCSdcdTFFMzInOiAnSycsCgkJCQknXHUwMTM2JzogJ0snLAoJCQkJJ1x1MUUzNCc6ICdLJywKCQkJCSdcdTAxOTgnOiAnSycsCgkJCQknXHUyQzY5JzogJ0snLAoJCQkJJ1x1QTc0MCc6ICdLJywKCQkJCSdcdUE3NDInOiAnSycsCgkJCQknXHVBNzQ0JzogJ0snLAoJCQkJJ1x1QTdBMic6ICdLJywKCQkJCSdcdTI0QzEnOiAnTCcsCgkJCQknXHVGRjJDJzogJ0wnLAoJCQkJJ1x1MDEzRic6ICdMJywKCQkJCSdcdTAxMzknOiAnTCcsCgkJCQknXHUwMTNEJzogJ0wnLAoJCQkJJ1x1MUUzNic6ICdMJywKCQkJCSdcdTFFMzgnOiAnTCcsCgkJCQknXHUwMTNCJzogJ0wnLAoJCQkJJ1x1MUUzQyc6ICdMJywKCQkJCSdcdTFFM0EnOiAnTCcsCgkJCQknXHUwMTQxJzogJ0wnLAoJCQkJJ1x1MDIzRCc6ICdMJywKCQkJCSdcdTJDNjInOiAnTCcsCgkJCQknXHUyQzYwJzogJ0wnLAoJCQkJJ1x1QTc0OCc6ICdMJywKCQkJCSdcdUE3NDYnOiAnTCcsCgkJCQknXHVBNzgwJzogJ0wnLAoJCQkJJ1x1MDFDNyc6ICdMSicsCgkJCQknXHUwMUM4JzogJ0xqJywKCQkJCSdcdTI0QzInOiAnTScsCgkJCQknXHVGRjJEJzogJ00nLAoJCQkJJ1x1MUUzRSc6ICdNJywKCQkJCSdcdTFFNDAnOiAnTScsCgkJCQknXHUxRTQyJzogJ00nLAoJCQkJJ1x1MkM2RSc6ICdNJywKCQkJCSdcdTAxOUMnOiAnTScsCgkJCQknXHUyNEMzJzogJ04nLAoJCQkJJ1x1RkYyRSc6ICdOJywKCQkJCSdcdTAxRjgnOiAnTicsCgkJCQknXHUwMTQzJzogJ04nLAoJCQkJJ1x1MDBEMSc6ICdOJywKCQkJCSdcdTFFNDQnOiAnTicsCgkJCQknXHUwMTQ3JzogJ04nLAoJCQkJJ1x1MUU0Nic6ICdOJywKCQkJCSdcdTAxNDUnOiAnTicsCgkJCQknXHUxRTRBJzogJ04nLAoJCQkJJ1x1MUU0OCc6ICdOJywKCQkJCSdcdTAyMjAnOiAnTicsCgkJCQknXHUwMTlEJzogJ04nLAoJCQkJJ1x1QTc5MCc6ICdOJywKCQkJCSdcdUE3QTQnOiAnTicsCgkJCQknXHUwMUNBJzogJ05KJywKCQkJCSdcdTAxQ0InOiAnTmonLAoJCQkJJ1x1MjRDNCc6ICdPJywKCQkJCSdcdUZGMkYnOiAnTycsCgkJCQknXHUwMEQyJzogJ08nLAoJCQkJJ1x1MDBEMyc6ICdPJywKCQkJCSdcdTAwRDQnOiAnTycsCgkJCQknXHUxRUQyJzogJ08nLAoJCQkJJ1x1MUVEMCc6ICdPJywKCQkJCSdcdTFFRDYnOiAnTycsCgkJCQknXHUxRUQ0JzogJ08nLAoJCQkJJ1x1MDBENSc6ICdPJywKCQkJCSdcdTFFNEMnOiAnTycsCgkJCQknXHUwMjJDJzogJ08nLAoJCQkJJ1x1MUU0RSc6ICdPJywKCQkJCSdcdTAxNEMnOiAnTycsCgkJCQknXHUxRTUwJzogJ08nLAoJCQkJJ1x1MUU1Mic6ICdPJywKCQkJCSdcdTAxNEUnOiAnTycsCgkJCQknXHUwMjJFJzogJ08nLAoJCQkJJ1x1MDIzMCc6ICdPJywKCQkJCSdcdTAwRDYnOiAnTycsCgkJCQknXHUwMjJBJzogJ08nLAoJCQkJJ1x1MUVDRSc6ICdPJywKCQkJCSdcdTAxNTAnOiAnTycsCgkJCQknXHUwMUQxJzogJ08nLAoJCQkJJ1x1MDIwQyc6ICdPJywKCQkJCSdcdTAyMEUnOiAnTycsCgkJCQknXHUwMUEwJzogJ08nLAoJCQkJJ1x1MUVEQyc6ICdPJywKCQkJCSdcdTFFREEnOiAnTycsCgkJCQknXHUxRUUwJzogJ08nLAoJCQkJJ1x1MUVERSc6ICdPJywKCQkJCSdcdTFFRTInOiAnTycsCgkJCQknXHUxRUNDJzogJ08nLAoJCQkJJ1x1MUVEOCc6ICdPJywKCQkJCSdcdTAxRUEnOiAnTycsCgkJCQknXHUwMUVDJzogJ08nLAoJCQkJJ1x1MDBEOCc6ICdPJywKCQkJCSdcdTAxRkUnOiAnTycsCgkJCQknXHUwMTg2JzogJ08nLAoJCQkJJ1x1MDE5Ric6ICdPJywKCQkJCSdcdUE3NEEnOiAnTycsCgkJCQknXHVBNzRDJzogJ08nLAoJCQkJJ1x1MDFBMic6ICdPSScsCgkJCQknXHVBNzRFJzogJ09PJywKCQkJCSdcdTAyMjInOiAnT1UnLAoJCQkJJ1x1MjRDNSc6ICdQJywKCQkJCSdcdUZGMzAnOiAnUCcsCgkJCQknXHUxRTU0JzogJ1AnLAoJCQkJJ1x1MUU1Nic6ICdQJywKCQkJCSdcdTAxQTQnOiAnUCcsCgkJCQknXHUyQzYzJzogJ1AnLAoJCQkJJ1x1QTc1MCc6ICdQJywKCQkJCSdcdUE3NTInOiAnUCcsCgkJCQknXHVBNzU0JzogJ1AnLAoJCQkJJ1x1MjRDNic6ICdRJywKCQkJCSdcdUZGMzEnOiAnUScsCgkJCQknXHVBNzU2JzogJ1EnLAoJCQkJJ1x1QTc1OCc6ICdRJywKCQkJCSdcdTAyNEEnOiAnUScsCgkJCQknXHUyNEM3JzogJ1InLAoJCQkJJ1x1RkYzMic6ICdSJywKCQkJCSdcdTAxNTQnOiAnUicsCgkJCQknXHUxRTU4JzogJ1InLAoJCQkJJ1x1MDE1OCc6ICdSJywKCQkJCSdcdTAyMTAnOiAnUicsCgkJCQknXHUwMjEyJzogJ1InLAoJCQkJJ1x1MUU1QSc6ICdSJywKCQkJCSdcdTFFNUMnOiAnUicsCgkJCQknXHUwMTU2JzogJ1InLAoJCQkJJ1x1MUU1RSc6ICdSJywKCQkJCSdcdTAyNEMnOiAnUicsCgkJCQknXHUyQzY0JzogJ1InLAoJCQkJJ1x1QTc1QSc6ICdSJywKCQkJCSdcdUE3QTYnOiAnUicsCgkJCQknXHVBNzgyJzogJ1InLAoJCQkJJ1x1MjRDOCc6ICdTJywKCQkJCSdcdUZGMzMnOiAnUycsCgkJCQknXHUxRTlFJzogJ1MnLAoJCQkJJ1x1MDE1QSc6ICdTJywKCQkJCSdcdTFFNjQnOiAnUycsCgkJCQknXHUwMTVDJzogJ1MnLAoJCQkJJ1x1MUU2MCc6ICdTJywKCQkJCSdcdTAxNjAnOiAnUycsCgkJCQknXHUxRTY2JzogJ1MnLAoJCQkJJ1x1MUU2Mic6ICdTJywKCQkJCSdcdTFFNjgnOiAnUycsCgkJCQknXHUwMjE4JzogJ1MnLAoJCQkJJ1x1MDE1RSc6ICdTJywKCQkJCSdcdTJDN0UnOiAnUycsCgkJCQknXHVBN0E4JzogJ1MnLAoJCQkJJ1x1QTc4NCc6ICdTJywKCQkJCSdcdTI0QzknOiAnVCcsCgkJCQknXHVGRjM0JzogJ1QnLAoJCQkJJ1x1MUU2QSc6ICdUJywKCQkJCSdcdTAxNjQnOiAnVCcsCgkJCQknXHUxRTZDJzogJ1QnLAoJCQkJJ1x1MDIxQSc6ICdUJywKCQkJCSdcdTAxNjInOiAnVCcsCgkJCQknXHUxRTcwJzogJ1QnLAoJCQkJJ1x1MUU2RSc6ICdUJywKCQkJCSdcdTAxNjYnOiAnVCcsCgkJCQknXHUwMUFDJzogJ1QnLAoJCQkJJ1x1MDFBRSc6ICdUJywKCQkJCSdcdTAyM0UnOiAnVCcsCgkJCQknXHVBNzg2JzogJ1QnLAoJCQkJJ1x1QTcyOCc6ICdUWicsCgkJCQknXHUyNENBJzogJ1UnLAoJCQkJJ1x1RkYzNSc6ICdVJywKCQkJCSdcdTAwRDknOiAnVScsCgkJCQknXHUwMERBJzogJ1UnLAoJCQkJJ1x1MDBEQic6ICdVJywKCQkJCSdcdTAxNjgnOiAnVScsCgkJCQknXHUxRTc4JzogJ1UnLAoJCQkJJ1x1MDE2QSc6ICdVJywKCQkJCSdcdTFFN0EnOiAnVScsCgkJCQknXHUwMTZDJzogJ1UnLAoJCQkJJ1x1MDBEQyc6ICdVJywKCQkJCSdcdTAxREInOiAnVScsCgkJCQknXHUwMUQ3JzogJ1UnLAoJCQkJJ1x1MDFENSc6ICdVJywKCQkJCSdcdTAxRDknOiAnVScsCgkJCQknXHUxRUU2JzogJ1UnLAoJCQkJJ1x1MDE2RSc6ICdVJywKCQkJCSdcdTAxNzAnOiAnVScsCgkJCQknXHUwMUQzJzogJ1UnLAoJCQkJJ1x1MDIxNCc6ICdVJywKCQkJCSdcdTAyMTYnOiAnVScsCgkJCQknXHUwMUFGJzogJ1UnLAoJCQkJJ1x1MUVFQSc6ICdVJywKCQkJCSdcdTFFRTgnOiAnVScsCgkJCQknXHUxRUVFJzogJ1UnLAoJCQkJJ1x1MUVFQyc6ICdVJywKCQkJCSdcdTFFRjAnOiAnVScsCgkJCQknXHUxRUU0JzogJ1UnLAoJCQkJJ1x1MUU3Mic6ICdVJywKCQkJCSdcdTAxNzInOiAnVScsCgkJCQknXHUxRTc2JzogJ1UnLAoJCQkJJ1x1MUU3NCc6ICdVJywKCQkJCSdcdTAyNDQnOiAnVScsCgkJCQknXHUyNENCJzogJ1YnLAoJCQkJJ1x1RkYzNic6ICdWJywKCQkJCSdcdTFFN0MnOiAnVicsCgkJCQknXHUxRTdFJzogJ1YnLAoJCQkJJ1x1MDFCMic6ICdWJywKCQkJCSdcdUE3NUUnOiAnVicsCgkJCQknXHUwMjQ1JzogJ1YnLAoJCQkJJ1x1QTc2MCc6ICdWWScsCgkJCQknXHUyNENDJzogJ1cnLAoJCQkJJ1x1RkYzNyc6ICdXJywKCQkJCSdcdTFFODAnOiAnVycsCgkJCQknXHUxRTgyJzogJ1cnLAoJCQkJJ1x1MDE3NCc6ICdXJywKCQkJCSdcdTFFODYnOiAnVycsCgkJCQknXHUxRTg0JzogJ1cnLAoJCQkJJ1x1MUU4OCc6ICdXJywKCQkJCSdcdTJDNzInOiAnVycsCgkJCQknXHUyNENEJzogJ1gnLAoJCQkJJ1x1RkYzOCc6ICdYJywKCQkJCSdcdTFFOEEnOiAnWCcsCgkJCQknXHUxRThDJzogJ1gnLAoJCQkJJ1x1MjRDRSc6ICdZJywKCQkJCSdcdUZGMzknOiAnWScsCgkJCQknXHUxRUYyJzogJ1knLAoJCQkJJ1x1MDBERCc6ICdZJywKCQkJCSdcdTAxNzYnOiAnWScsCgkJCQknXHUxRUY4JzogJ1knLAoJCQkJJ1x1MDIzMic6ICdZJywKCQkJCSdcdTFFOEUnOiAnWScsCgkJCQknXHUwMTc4JzogJ1knLAoJCQkJJ1x1MUVGNic6ICdZJywKCQkJCSdcdTFFRjQnOiAnWScsCgkJCQknXHUwMUIzJzogJ1knLAoJCQkJJ1x1MDI0RSc6ICdZJywKCQkJCSdcdTFFRkUnOiAnWScsCgkJCQknXHUyNENGJzogJ1onLAoJCQkJJ1x1RkYzQSc6ICdaJywKCQkJCSdcdTAxNzknOiAnWicsCgkJCQknXHUxRTkwJzogJ1onLAoJCQkJJ1x1MDE3Qic6ICdaJywKCQkJCSdcdTAxN0QnOiAnWicsCgkJCQknXHUxRTkyJzogJ1onLAoJCQkJJ1x1MUU5NCc6ICdaJywKCQkJCSdcdTAxQjUnOiAnWicsCgkJCQknXHUwMjI0JzogJ1onLAoJCQkJJ1x1MkM3Ric6ICdaJywKCQkJCSdcdTJDNkInOiAnWicsCgkJCQknXHVBNzYyJzogJ1onLAoJCQkJJ1x1MjREMCc6ICdhJywKCQkJCSdcdUZGNDEnOiAnYScsCgkJCQknXHUxRTlBJzogJ2EnLAoJCQkJJ1x1MDBFMCc6ICdhJywKCQkJCSdcdTAwRTEnOiAnYScsCgkJCQknXHUwMEUyJzogJ2EnLAoJCQkJJ1x1MUVBNyc6ICdhJywKCQkJCSdcdTFFQTUnOiAnYScsCgkJCQknXHUxRUFCJzogJ2EnLAoJCQkJJ1x1MUVBOSc6ICdhJywKCQkJCSdcdTAwRTMnOiAnYScsCgkJCQknXHUwMTAxJzogJ2EnLAoJCQkJJ1x1MDEwMyc6ICdhJywKCQkJCSdcdTFFQjEnOiAnYScsCgkJCQknXHUxRUFGJzogJ2EnLAoJCQkJJ1x1MUVCNSc6ICdhJywKCQkJCSdcdTFFQjMnOiAnYScsCgkJCQknXHUwMjI3JzogJ2EnLAoJCQkJJ1x1MDFFMSc6ICdhJywKCQkJCSdcdTAwRTQnOiAnYScsCgkJCQknXHUwMURGJzogJ2EnLAoJCQkJJ1x1MUVBMyc6ICdhJywKCQkJCSdcdTAwRTUnOiAnYScsCgkJCQknXHUwMUZCJzogJ2EnLAoJCQkJJ1x1MDFDRSc6ICdhJywKCQkJCSdcdTAyMDEnOiAnYScsCgkJCQknXHUwMjAzJzogJ2EnLAoJCQkJJ1x1MUVBMSc6ICdhJywKCQkJCSdcdTFFQUQnOiAnYScsCgkJCQknXHUxRUI3JzogJ2EnLAoJCQkJJ1x1MUUwMSc6ICdhJywKCQkJCSdcdTAxMDUnOiAnYScsCgkJCQknXHUyQzY1JzogJ2EnLAoJCQkJJ1x1MDI1MCc6ICdhJywKCQkJCSdcdUE3MzMnOiAnYWEnLAoJCQkJJ1x1MDBFNic6ICdhZScsCgkJCQknXHUwMUZEJzogJ2FlJywKCQkJCSdcdTAxRTMnOiAnYWUnLAoJCQkJJ1x1QTczNSc6ICdhbycsCgkJCQknXHVBNzM3JzogJ2F1JywKCQkJCSdcdUE3MzknOiAnYXYnLAoJCQkJJ1x1QTczQic6ICdhdicsCgkJCQknXHVBNzNEJzogJ2F5JywKCQkJCSdcdTI0RDEnOiAnYicsCgkJCQknXHVGRjQyJzogJ2InLAoJCQkJJ1x1MUUwMyc6ICdiJywKCQkJCSdcdTFFMDUnOiAnYicsCgkJCQknXHUxRTA3JzogJ2InLAoJCQkJJ1x1MDE4MCc6ICdiJywKCQkJCSdcdTAxODMnOiAnYicsCgkJCQknXHUwMjUzJzogJ2InLAoJCQkJJ1x1MjREMic6ICdjJywKCQkJCSdcdUZGNDMnOiAnYycsCgkJCQknXHUwMTA3JzogJ2MnLAoJCQkJJ1x1MDEwOSc6ICdjJywKCQkJCSdcdTAxMEInOiAnYycsCgkJCQknXHUwMTBEJzogJ2MnLAoJCQkJJ1x1MDBFNyc6ICdjJywKCQkJCSdcdTFFMDknOiAnYycsCgkJCQknXHUwMTg4JzogJ2MnLAoJCQkJJ1x1MDIzQyc6ICdjJywKCQkJCSdcdUE3M0YnOiAnYycsCgkJCQknXHUyMTg0JzogJ2MnLAoJCQkJJ1x1MjREMyc6ICdkJywKCQkJCSdcdUZGNDQnOiAnZCcsCgkJCQknXHUxRTBCJzogJ2QnLAoJCQkJJ1x1MDEwRic6ICdkJywKCQkJCSdcdTFFMEQnOiAnZCcsCgkJCQknXHUxRTExJzogJ2QnLAoJCQkJJ1x1MUUxMyc6ICdkJywKCQkJCSdcdTFFMEYnOiAnZCcsCgkJCQknXHUwMTExJzogJ2QnLAoJCQkJJ1x1MDE4Qyc6ICdkJywKCQkJCSdcdTAyNTYnOiAnZCcsCgkJCQknXHUwMjU3JzogJ2QnLAoJCQkJJ1x1QTc3QSc6ICdkJywKCQkJCSdcdTAxRjMnOiAnZHonLAoJCQkJJ1x1MDFDNic6ICdkeicsCgkJCQknXHUyNEQ0JzogJ2UnLAoJCQkJJ1x1RkY0NSc6ICdlJywKCQkJCSdcdTAwRTgnOiAnZScsCgkJCQknXHUwMEU5JzogJ2UnLAoJCQkJJ1x1MDBFQSc6ICdlJywKCQkJCSdcdTFFQzEnOiAnZScsCgkJCQknXHUxRUJGJzogJ2UnLAoJCQkJJ1x1MUVDNSc6ICdlJywKCQkJCSdcdTFFQzMnOiAnZScsCgkJCQknXHUxRUJEJzogJ2UnLAoJCQkJJ1x1MDExMyc6ICdlJywKCQkJCSdcdTFFMTUnOiAnZScsCgkJCQknXHUxRTE3JzogJ2UnLAoJCQkJJ1x1MDExNSc6ICdlJywKCQkJCSdcdTAxMTcnOiAnZScsCgkJCQknXHUwMEVCJzogJ2UnLAoJCQkJJ1x1MUVCQic6ICdlJywKCQkJCSdcdTAxMUInOiAnZScsCgkJCQknXHUwMjA1JzogJ2UnLAoJCQkJJ1x1MDIwNyc6ICdlJywKCQkJCSdcdTFFQjknOiAnZScsCgkJCQknXHUxRUM3JzogJ2UnLAoJCQkJJ1x1MDIyOSc6ICdlJywKCQkJCSdcdTFFMUQnOiAnZScsCgkJCQknXHUwMTE5JzogJ2UnLAoJCQkJJ1x1MUUxOSc6ICdlJywKCQkJCSdcdTFFMUInOiAnZScsCgkJCQknXHUwMjQ3JzogJ2UnLAoJCQkJJ1x1MDI1Qic6ICdlJywKCQkJCSdcdTAxREQnOiAnZScsCgkJCQknXHUyNEQ1JzogJ2YnLAoJCQkJJ1x1RkY0Nic6ICdmJywKCQkJCSdcdTFFMUYnOiAnZicsCgkJCQknXHUwMTkyJzogJ2YnLAoJCQkJJ1x1QTc3Qyc6ICdmJywKCQkJCSdcdTI0RDYnOiAnZycsCgkJCQknXHVGRjQ3JzogJ2cnLAoJCQkJJ1x1MDFGNSc6ICdnJywKCQkJCSdcdTAxMUQnOiAnZycsCgkJCQknXHUxRTIxJzogJ2cnLAoJCQkJJ1x1MDExRic6ICdnJywKCQkJCSdcdTAxMjEnOiAnZycsCgkJCQknXHUwMUU3JzogJ2cnLAoJCQkJJ1x1MDEyMyc6ICdnJywKCQkJCSdcdTAxRTUnOiAnZycsCgkJCQknXHUwMjYwJzogJ2cnLAoJCQkJJ1x1QTdBMSc6ICdnJywKCQkJCSdcdTFENzknOiAnZycsCgkJCQknXHVBNzdGJzogJ2cnLAoJCQkJJ1x1MjRENyc6ICdoJywKCQkJCSdcdUZGNDgnOiAnaCcsCgkJCQknXHUwMTI1JzogJ2gnLAoJCQkJJ1x1MUUyMyc6ICdoJywKCQkJCSdcdTFFMjcnOiAnaCcsCgkJCQknXHUwMjFGJzogJ2gnLAoJCQkJJ1x1MUUyNSc6ICdoJywKCQkJCSdcdTFFMjknOiAnaCcsCgkJCQknXHUxRTJCJzogJ2gnLAoJCQkJJ1x1MUU5Nic6ICdoJywKCQkJCSdcdTAxMjcnOiAnaCcsCgkJCQknXHUyQzY4JzogJ2gnLAoJCQkJJ1x1MkM3Nic6ICdoJywKCQkJCSdcdTAyNjUnOiAnaCcsCgkJCQknXHUwMTk1JzogJ2h2JywKCQkJCSdcdTI0RDgnOiAnaScsCgkJCQknXHVGRjQ5JzogJ2knLAoJCQkJJ1x1MDBFQyc6ICdpJywKCQkJCSdcdTAwRUQnOiAnaScsCgkJCQknXHUwMEVFJzogJ2knLAoJCQkJJ1x1MDEyOSc6ICdpJywKCQkJCSdcdTAxMkInOiAnaScsCgkJCQknXHUwMTJEJzogJ2knLAoJCQkJJ1x1MDBFRic6ICdpJywKCQkJCSdcdTFFMkYnOiAnaScsCgkJCQknXHUxRUM5JzogJ2knLAoJCQkJJ1x1MDFEMCc6ICdpJywKCQkJCSdcdTAyMDknOiAnaScsCgkJCQknXHUwMjBCJzogJ2knLAoJCQkJJ1x1MUVDQic6ICdpJywKCQkJCSdcdTAxMkYnOiAnaScsCgkJCQknXHUxRTJEJzogJ2knLAoJCQkJJ1x1MDI2OCc6ICdpJywKCQkJCSdcdTAxMzEnOiAnaScsCgkJCQknXHUyNEQ5JzogJ2onLAoJCQkJJ1x1RkY0QSc6ICdqJywKCQkJCSdcdTAxMzUnOiAnaicsCgkJCQknXHUwMUYwJzogJ2onLAoJCQkJJ1x1MDI0OSc6ICdqJywKCQkJCSdcdTI0REEnOiAnaycsCgkJCQknXHVGRjRCJzogJ2snLAoJCQkJJ1x1MUUzMSc6ICdrJywKCQkJCSdcdTAxRTknOiAnaycsCgkJCQknXHUxRTMzJzogJ2snLAoJCQkJJ1x1MDEzNyc6ICdrJywKCQkJCSdcdTFFMzUnOiAnaycsCgkJCQknXHUwMTk5JzogJ2snLAoJCQkJJ1x1MkM2QSc6ICdrJywKCQkJCSdcdUE3NDEnOiAnaycsCgkJCQknXHVBNzQzJzogJ2snLAoJCQkJJ1x1QTc0NSc6ICdrJywKCQkJCSdcdUE3QTMnOiAnaycsCgkJCQknXHUyNERCJzogJ2wnLAoJCQkJJ1x1RkY0Qyc6ICdsJywKCQkJCSdcdTAxNDAnOiAnbCcsCgkJCQknXHUwMTNBJzogJ2wnLAoJCQkJJ1x1MDEzRSc6ICdsJywKCQkJCSdcdTFFMzcnOiAnbCcsCgkJCQknXHUxRTM5JzogJ2wnLAoJCQkJJ1x1MDEzQyc6ICdsJywKCQkJCSdcdTFFM0QnOiAnbCcsCgkJCQknXHUxRTNCJzogJ2wnLAoJCQkJJ1x1MDE3Ric6ICdsJywKCQkJCSdcdTAxNDInOiAnbCcsCgkJCQknXHUwMTlBJzogJ2wnLAoJCQkJJ1x1MDI2Qic6ICdsJywKCQkJCSdcdTJDNjEnOiAnbCcsCgkJCQknXHVBNzQ5JzogJ2wnLAoJCQkJJ1x1QTc4MSc6ICdsJywKCQkJCSdcdUE3NDcnOiAnbCcsCgkJCQknXHUwMUM5JzogJ2xqJywKCQkJCSdcdTI0REMnOiAnbScsCgkJCQknXHVGRjREJzogJ20nLAoJCQkJJ1x1MUUzRic6ICdtJywKCQkJCSdcdTFFNDEnOiAnbScsCgkJCQknXHUxRTQzJzogJ20nLAoJCQkJJ1x1MDI3MSc6ICdtJywKCQkJCSdcdTAyNkYnOiAnbScsCgkJCQknXHUyNEREJzogJ24nLAoJCQkJJ1x1RkY0RSc6ICduJywKCQkJCSdcdTAxRjknOiAnbicsCgkJCQknXHUwMTQ0JzogJ24nLAoJCQkJJ1x1MDBGMSc6ICduJywKCQkJCSdcdTFFNDUnOiAnbicsCgkJCQknXHUwMTQ4JzogJ24nLAoJCQkJJ1x1MUU0Nyc6ICduJywKCQkJCSdcdTAxNDYnOiAnbicsCgkJCQknXHUxRTRCJzogJ24nLAoJCQkJJ1x1MUU0OSc6ICduJywKCQkJCSdcdTAxOUUnOiAnbicsCgkJCQknXHUwMjcyJzogJ24nLAoJCQkJJ1x1MDE0OSc6ICduJywKCQkJCSdcdUE3OTEnOiAnbicsCgkJCQknXHVBN0E1JzogJ24nLAoJCQkJJ1x1MDFDQyc6ICduaicsCgkJCQknXHUyNERFJzogJ28nLAoJCQkJJ1x1RkY0Ric6ICdvJywKCQkJCSdcdTAwRjInOiAnbycsCgkJCQknXHUwMEYzJzogJ28nLAoJCQkJJ1x1MDBGNCc6ICdvJywKCQkJCSdcdTFFRDMnOiAnbycsCgkJCQknXHUxRUQxJzogJ28nLAoJCQkJJ1x1MUVENyc6ICdvJywKCQkJCSdcdTFFRDUnOiAnbycsCgkJCQknXHUwMEY1JzogJ28nLAoJCQkJJ1x1MUU0RCc6ICdvJywKCQkJCSdcdTAyMkQnOiAnbycsCgkJCQknXHUxRTRGJzogJ28nLAoJCQkJJ1x1MDE0RCc6ICdvJywKCQkJCSdcdTFFNTEnOiAnbycsCgkJCQknXHUxRTUzJzogJ28nLAoJCQkJJ1x1MDE0Ric6ICdvJywKCQkJCSdcdTAyMkYnOiAnbycsCgkJCQknXHUwMjMxJzogJ28nLAoJCQkJJ1x1MDBGNic6ICdvJywKCQkJCSdcdTAyMkInOiAnbycsCgkJCQknXHUxRUNGJzogJ28nLAoJCQkJJ1x1MDE1MSc6ICdvJywKCQkJCSdcdTAxRDInOiAnbycsCgkJCQknXHUwMjBEJzogJ28nLAoJCQkJJ1x1MDIwRic6ICdvJywKCQkJCSdcdTAxQTEnOiAnbycsCgkJCQknXHUxRUREJzogJ28nLAoJCQkJJ1x1MUVEQic6ICdvJywKCQkJCSdcdTFFRTEnOiAnbycsCgkJCQknXHUxRURGJzogJ28nLAoJCQkJJ1x1MUVFMyc6ICdvJywKCQkJCSdcdTFFQ0QnOiAnbycsCgkJCQknXHUxRUQ5JzogJ28nLAoJCQkJJ1x1MDFFQic6ICdvJywKCQkJCSdcdTAxRUQnOiAnbycsCgkJCQknXHUwMEY4JzogJ28nLAoJCQkJJ1x1MDFGRic6ICdvJywKCQkJCSdcdTAyNTQnOiAnbycsCgkJCQknXHVBNzRCJzogJ28nLAoJCQkJJ1x1QTc0RCc6ICdvJywKCQkJCSdcdTAyNzUnOiAnbycsCgkJCQknXHUwMUEzJzogJ29pJywKCQkJCSdcdTAyMjMnOiAnb3UnLAoJCQkJJ1x1QTc0Ric6ICdvbycsCgkJCQknXHUyNERGJzogJ3AnLAoJCQkJJ1x1RkY1MCc6ICdwJywKCQkJCSdcdTFFNTUnOiAncCcsCgkJCQknXHUxRTU3JzogJ3AnLAoJCQkJJ1x1MDFBNSc6ICdwJywKCQkJCSdcdTFEN0QnOiAncCcsCgkJCQknXHVBNzUxJzogJ3AnLAoJCQkJJ1x1QTc1Myc6ICdwJywKCQkJCSdcdUE3NTUnOiAncCcsCgkJCQknXHUyNEUwJzogJ3EnLAoJCQkJJ1x1RkY1MSc6ICdxJywKCQkJCSdcdTAyNEInOiAncScsCgkJCQknXHVBNzU3JzogJ3EnLAoJCQkJJ1x1QTc1OSc6ICdxJywKCQkJCSdcdTI0RTEnOiAncicsCgkJCQknXHVGRjUyJzogJ3InLAoJCQkJJ1x1MDE1NSc6ICdyJywKCQkJCSdcdTFFNTknOiAncicsCgkJCQknXHUwMTU5JzogJ3InLAoJCQkJJ1x1MDIxMSc6ICdyJywKCQkJCSdcdTAyMTMnOiAncicsCgkJCQknXHUxRTVCJzogJ3InLAoJCQkJJ1x1MUU1RCc6ICdyJywKCQkJCSdcdTAxNTcnOiAncicsCgkJCQknXHUxRTVGJzogJ3InLAoJCQkJJ1x1MDI0RCc6ICdyJywKCQkJCSdcdTAyN0QnOiAncicsCgkJCQknXHVBNzVCJzogJ3InLAoJCQkJJ1x1QTdBNyc6ICdyJywKCQkJCSdcdUE3ODMnOiAncicsCgkJCQknXHUyNEUyJzogJ3MnLAoJCQkJJ1x1RkY1Myc6ICdzJywKCQkJCSdcdTAwREYnOiAncycsCgkJCQknXHUwMTVCJzogJ3MnLAoJCQkJJ1x1MUU2NSc6ICdzJywKCQkJCSdcdTAxNUQnOiAncycsCgkJCQknXHUxRTYxJzogJ3MnLAoJCQkJJ1x1MDE2MSc6ICdzJywKCQkJCSdcdTFFNjcnOiAncycsCgkJCQknXHUxRTYzJzogJ3MnLAoJCQkJJ1x1MUU2OSc6ICdzJywKCQkJCSdcdTAyMTknOiAncycsCgkJCQknXHUwMTVGJzogJ3MnLAoJCQkJJ1x1MDIzRic6ICdzJywKCQkJCSdcdUE3QTknOiAncycsCgkJCQknXHVBNzg1JzogJ3MnLAoJCQkJJ1x1MUU5Qic6ICdzJywKCQkJCSdcdTI0RTMnOiAndCcsCgkJCQknXHVGRjU0JzogJ3QnLAoJCQkJJ1x1MUU2Qic6ICd0JywKCQkJCSdcdTFFOTcnOiAndCcsCgkJCQknXHUwMTY1JzogJ3QnLAoJCQkJJ1x1MUU2RCc6ICd0JywKCQkJCSdcdTAyMUInOiAndCcsCgkJCQknXHUwMTYzJzogJ3QnLAoJCQkJJ1x1MUU3MSc6ICd0JywKCQkJCSdcdTFFNkYnOiAndCcsCgkJCQknXHUwMTY3JzogJ3QnLAoJCQkJJ1x1MDFBRCc6ICd0JywKCQkJCSdcdTAyODgnOiAndCcsCgkJCQknXHUyQzY2JzogJ3QnLAoJCQkJJ1x1QTc4Nyc6ICd0JywKCQkJCSdcdUE3MjknOiAndHonLAoJCQkJJ1x1MjRFNCc6ICd1JywKCQkJCSdcdUZGNTUnOiAndScsCgkJCQknXHUwMEY5JzogJ3UnLAoJCQkJJ1x1MDBGQSc6ICd1JywKCQkJCSdcdTAwRkInOiAndScsCgkJCQknXHUwMTY5JzogJ3UnLAoJCQkJJ1x1MUU3OSc6ICd1JywKCQkJCSdcdTAxNkInOiAndScsCgkJCQknXHUxRTdCJzogJ3UnLAoJCQkJJ1x1MDE2RCc6ICd1JywKCQkJCSdcdTAwRkMnOiAndScsCgkJCQknXHUwMURDJzogJ3UnLAoJCQkJJ1x1MDFEOCc6ICd1JywKCQkJCSdcdTAxRDYnOiAndScsCgkJCQknXHUwMURBJzogJ3UnLAoJCQkJJ1x1MUVFNyc6ICd1JywKCQkJCSdcdTAxNkYnOiAndScsCgkJCQknXHUwMTcxJzogJ3UnLAoJCQkJJ1x1MDFENCc6ICd1JywKCQkJCSdcdTAyMTUnOiAndScsCgkJCQknXHUwMjE3JzogJ3UnLAoJCQkJJ1x1MDFCMCc6ICd1JywKCQkJCSdcdTFFRUInOiAndScsCgkJCQknXHUxRUU5JzogJ3UnLAoJCQkJJ1x1MUVFRic6ICd1JywKCQkJCSdcdTFFRUQnOiAndScsCgkJCQknXHUxRUYxJzogJ3UnLAoJCQkJJ1x1MUVFNSc6ICd1JywKCQkJCSdcdTFFNzMnOiAndScsCgkJCQknXHUwMTczJzogJ3UnLAoJCQkJJ1x1MUU3Nyc6ICd1JywKCQkJCSdcdTFFNzUnOiAndScsCgkJCQknXHUwMjg5JzogJ3UnLAoJCQkJJ1x1MjRFNSc6ICd2JywKCQkJCSdcdUZGNTYnOiAndicsCgkJCQknXHUxRTdEJzogJ3YnLAoJCQkJJ1x1MUU3Ric6ICd2JywKCQkJCSdcdTAyOEInOiAndicsCgkJCQknXHVBNzVGJzogJ3YnLAoJCQkJJ1x1MDI4Qyc6ICd2JywKCQkJCSdcdUE3NjEnOiAndnknLAoJCQkJJ1x1MjRFNic6ICd3JywKCQkJCSdcdUZGNTcnOiAndycsCgkJCQknXHUxRTgxJzogJ3cnLAoJCQkJJ1x1MUU4Myc6ICd3JywKCQkJCSdcdTAxNzUnOiAndycsCgkJCQknXHUxRTg3JzogJ3cnLAoJCQkJJ1x1MUU4NSc6ICd3JywKCQkJCSdcdTFFOTgnOiAndycsCgkJCQknXHUxRTg5JzogJ3cnLAoJCQkJJ1x1MkM3Myc6ICd3JywKCQkJCSdcdTI0RTcnOiAneCcsCgkJCQknXHVGRjU4JzogJ3gnLAoJCQkJJ1x1MUU4Qic6ICd4JywKCQkJCSdcdTFFOEQnOiAneCcsCgkJCQknXHUyNEU4JzogJ3knLAoJCQkJJ1x1RkY1OSc6ICd5JywKCQkJCSdcdTFFRjMnOiAneScsCgkJCQknXHUwMEZEJzogJ3knLAoJCQkJJ1x1MDE3Nyc6ICd5JywKCQkJCSdcdTFFRjknOiAneScsCgkJCQknXHUwMjMzJzogJ3knLAoJCQkJJ1x1MUU4Ric6ICd5JywKCQkJCSdcdTAwRkYnOiAneScsCgkJCQknXHUxRUY3JzogJ3knLAoJCQkJJ1x1MUU5OSc6ICd5JywKCQkJCSdcdTFFRjUnOiAneScsCgkJCQknXHUwMUI0JzogJ3knLAoJCQkJJ1x1MDI0Ric6ICd5JywKCQkJCSdcdTFFRkYnOiAneScsCgkJCQknXHUyNEU5JzogJ3onLAoJCQkJJ1x1RkY1QSc6ICd6JywKCQkJCSdcdTAxN0EnOiAneicsCgkJCQknXHUxRTkxJzogJ3onLAoJCQkJJ1x1MDE3Qyc6ICd6JywKCQkJCSdcdTAxN0UnOiAneicsCgkJCQknXHUxRTkzJzogJ3onLAoJCQkJJ1x1MUU5NSc6ICd6JywKCQkJCSdcdTAxQjYnOiAneicsCgkJCQknXHUwMjI1JzogJ3onLAoJCQkJJ1x1MDI0MCc6ICd6JywKCQkJCSdcdTJDNkMnOiAneicsCgkJCQknXHVBNzYzJzogJ3onLAoJCQkJJ1x1MDM4Nic6ICdcdTAzOTEnLAoJCQkJJ1x1MDM4OCc6ICdcdTAzOTUnLAoJCQkJJ1x1MDM4OSc6ICdcdTAzOTcnLAoJCQkJJ1x1MDM4QSc6ICdcdTAzOTknLAoJCQkJJ1x1MDNBQSc6ICdcdTAzOTknLAoJCQkJJ1x1MDM4Qyc6ICdcdTAzOUYnLAoJCQkJJ1x1MDM4RSc6ICdcdTAzQTUnLAoJCQkJJ1x1MDNBQic6ICdcdTAzQTUnLAoJCQkJJ1x1MDM4Ric6ICdcdTAzQTknLAoJCQkJJ1x1MDNBQyc6ICdcdTAzQjEnLAoJCQkJJ1x1MDNBRCc6ICdcdTAzQjUnLAoJCQkJJ1x1MDNBRSc6ICdcdTAzQjcnLAoJCQkJJ1x1MDNBRic6ICdcdTAzQjknLAoJCQkJJ1x1MDNDQSc6ICdcdTAzQjknLAoJCQkJJ1x1MDM5MCc6ICdcdTAzQjknLAoJCQkJJ1x1MDNDQyc6ICdcdTAzQkYnLAoJCQkJJ1x1MDNDRCc6ICdcdTAzQzUnLAoJCQkJJ1x1MDNDQic6ICdcdTAzQzUnLAoJCQkJJ1x1MDNCMCc6ICdcdTAzQzUnLAoJCQkJJ1x1MDNDOSc6ICdcdTAzQzknLAoJCQkJJ1x1MDNDMic6ICdcdTAzQzMnCgkJCX07CgoJCQlyZXR1cm4gZGlhY3JpdGljczsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2RhdGEvYmFzZScsWwoJCQknLi4vdXRpbHMnCgkJXSwgZnVuY3Rpb24gKFV0aWxzKSB7CgkJCWZ1bmN0aW9uIEJhc2VBZGFwdGVyICgkZWxlbWVudCwgb3B0aW9ucykgewoJCQkJQmFzZUFkYXB0ZXIuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyk7CgkJCX0KCgkJCVV0aWxzLkV4dGVuZChCYXNlQWRhcHRlciwgVXRpbHMuT2JzZXJ2YWJsZSk7CgoJCQlCYXNlQWRhcHRlci5wcm90b3R5cGUuY3VycmVudCA9IGZ1bmN0aW9uIChjYWxsYmFjaykgewoJCQkJdGhyb3cgbmV3IEVycm9yKCdUaGUgYGN1cnJlbnRgIG1ldGhvZCBtdXN0IGJlIGRlZmluZWQgaW4gY2hpbGQgY2xhc3Nlcy4nKTsKCQkJfTsKCgkJCUJhc2VBZGFwdGVyLnByb3RvdHlwZS5xdWVyeSA9IGZ1bmN0aW9uIChwYXJhbXMsIGNhbGxiYWNrKSB7CgkJCQl0aHJvdyBuZXcgRXJyb3IoJ1RoZSBgcXVlcnlgIG1ldGhvZCBtdXN0IGJlIGRlZmluZWQgaW4gY2hpbGQgY2xhc3Nlcy4nKTsKCQkJfTsKCgkJCUJhc2VBZGFwdGVyLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGNvbnRhaW5lciwgJGNvbnRhaW5lcikgewoJCQkJLy8gQ2FuIGJlIGltcGxlbWVudGVkIGluIHN1YmNsYXNzZXMKCQkJfTsKCgkJCUJhc2VBZGFwdGVyLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkgewoJCQkJLy8gQ2FuIGJlIGltcGxlbWVudGVkIGluIHN1YmNsYXNzZXMKCQkJfTsKCgkJCUJhc2VBZGFwdGVyLnByb3RvdHlwZS5nZW5lcmF0ZVJlc3VsdElkID0gZnVuY3Rpb24gKGNvbnRhaW5lciwgZGF0YSkgewoJCQkJdmFyIGlkID0gY29udGFpbmVyLmlkICsgJy1yZXN1bHQtJzsKCgkJCQlpZCArPSBVdGlscy5nZW5lcmF0ZUNoYXJzKDQpOwoKCQkJCWlmIChkYXRhLmlkICE9IG51bGwpIHsKCQkJCQlpZCArPSAnLScgKyBkYXRhLmlkLnRvU3RyaW5nKCk7CgkJCQl9IGVsc2UgewoJCQkJCWlkICs9ICctJyArIFV0aWxzLmdlbmVyYXRlQ2hhcnMoNCk7CgkJCQl9CgkJCQlyZXR1cm4gaWQ7CgkJCX07CgoJCQlyZXR1cm4gQmFzZUFkYXB0ZXI7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kYXRhL3NlbGVjdCcsWwoJCQknLi9iYXNlJywKCQkJJy4uL3V0aWxzJywKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoQmFzZUFkYXB0ZXIsIFV0aWxzLCAkKSB7CgkJCWZ1bmN0aW9uIFNlbGVjdEFkYXB0ZXIgKCRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl0aGlzLiRlbGVtZW50ID0gJGVsZW1lbnQ7CgkJCQl0aGlzLm9wdGlvbnMgPSBvcHRpb25zOwoKCQkJCVNlbGVjdEFkYXB0ZXIuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyk7CgkJCX0KCgkJCVV0aWxzLkV4dGVuZChTZWxlY3RBZGFwdGVyLCBCYXNlQWRhcHRlcik7CgoJCQlTZWxlY3RBZGFwdGVyLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7CgkJCQl2YXIgZGF0YSA9IFtdOwoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCXRoaXMuJGVsZW1lbnQuZmluZCgnOnNlbGVjdGVkJykuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQkJdmFyICRvcHRpb24gPSAkKHRoaXMpOwoKCQkJCQl2YXIgb3B0aW9uID0gc2VsZi5pdGVtKCRvcHRpb24pOwoKCQkJCQlkYXRhLnB1c2gob3B0aW9uKTsKCQkJCX0pOwoKCQkJCWNhbGxiYWNrKGRhdGEpOwoJCQl9OwoKCQkJU2VsZWN0QWRhcHRlci5wcm90b3R5cGUuc2VsZWN0ID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQlkYXRhLnNlbGVjdGVkID0gdHJ1ZTsKCgkJCQkvLyBJZiBkYXRhLmVsZW1lbnQgaXMgYSBET00gbm9kZSwgdXNlIGl0IGluc3RlYWQKCQkJCWlmICgkKGRhdGEuZWxlbWVudCkuaXMoJ29wdGlvbicpKSB7CgkJCQkJZGF0YS5lbGVtZW50LnNlbGVjdGVkID0gdHJ1ZTsKCgkJCQkJdGhpcy4kZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UnKTsKCgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWlmICh0aGlzLiRlbGVtZW50LnByb3AoJ211bHRpcGxlJykpIHsKCQkJCQl0aGlzLmN1cnJlbnQoZnVuY3Rpb24gKGN1cnJlbnREYXRhKSB7CgkJCQkJCXZhciB2YWwgPSBbXTsKCgkJCQkJCWRhdGEgPSBbZGF0YV07CgkJCQkJCWRhdGEucHVzaC5hcHBseShkYXRhLCBjdXJyZW50RGF0YSk7CgoJCQkJCQlmb3IgKHZhciBkID0gMDsgZCA8IGRhdGEubGVuZ3RoOyBkKyspIHsKCQkJCQkJCXZhciBpZCA9IGRhdGFbZF0uaWQ7CgoJCQkJCQkJaWYgKCQuaW5BcnJheShpZCwgdmFsKSA9PT0gLTEpIHsKCQkJCQkJCQl2YWwucHVzaChpZCk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCXNlbGYuJGVsZW1lbnQudmFsKHZhbCk7CgkJCQkJCXNlbGYuJGVsZW1lbnQudHJpZ2dlcignY2hhbmdlJyk7CgkJCQkJfSk7CgkJCQl9IGVsc2UgewoJCQkJCXZhciB2YWwgPSBkYXRhLmlkOwoKCQkJCQl0aGlzLiRlbGVtZW50LnZhbCh2YWwpOwoJCQkJCXRoaXMuJGVsZW1lbnQudHJpZ2dlcignY2hhbmdlJyk7CgkJCQl9CgkJCX07CgoJCQlTZWxlY3RBZGFwdGVyLnByb3RvdHlwZS51bnNlbGVjdCA9IGZ1bmN0aW9uIChkYXRhKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJaWYgKCF0aGlzLiRlbGVtZW50LnByb3AoJ211bHRpcGxlJykpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJZGF0YS5zZWxlY3RlZCA9IGZhbHNlOwoKCQkJCWlmICgkKGRhdGEuZWxlbWVudCkuaXMoJ29wdGlvbicpKSB7CgkJCQkJZGF0YS5lbGVtZW50LnNlbGVjdGVkID0gZmFsc2U7CgoJCQkJCXRoaXMuJGVsZW1lbnQudHJpZ2dlcignY2hhbmdlJyk7CgoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl0aGlzLmN1cnJlbnQoZnVuY3Rpb24gKGN1cnJlbnREYXRhKSB7CgkJCQkJdmFyIHZhbCA9IFtdOwoKCQkJCQlmb3IgKHZhciBkID0gMDsgZCA8IGN1cnJlbnREYXRhLmxlbmd0aDsgZCsrKSB7CgkJCQkJCXZhciBpZCA9IGN1cnJlbnREYXRhW2RdLmlkOwoKCQkJCQkJaWYgKGlkICE9PSBkYXRhLmlkICYmICQuaW5BcnJheShpZCwgdmFsKSA9PT0gLTEpIHsKCQkJCQkJCXZhbC5wdXNoKGlkKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJc2VsZi4kZWxlbWVudC52YWwodmFsKTsKCgkJCQkJc2VsZi4kZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UnKTsKCQkJCX0pOwoJCQl9OwoKCQkJU2VsZWN0QWRhcHRlci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIChjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQl0aGlzLmNvbnRhaW5lciA9IGNvbnRhaW5lcjsKCgkJCQljb250YWluZXIub24oJ3NlbGVjdCcsIGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQlzZWxmLnNlbGVjdChwYXJhbXMuZGF0YSk7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3Vuc2VsZWN0JywgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXNlbGYudW5zZWxlY3QocGFyYW1zLmRhdGEpOwoJCQkJfSk7CgkJCX07CgoJCQlTZWxlY3RBZGFwdGVyLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkgewoJCQkJLy8gUmVtb3ZlIGFueXRoaW5nIGFkZGVkIHRvIGNoaWxkIGVsZW1lbnRzCgkJCQl0aGlzLiRlbGVtZW50LmZpbmQoJyonKS5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCQkvLyBSZW1vdmUgYW55IGN1c3RvbSBkYXRhIHNldCBieSBTZWxlY3QyCgkJCQkJJC5yZW1vdmVEYXRhKHRoaXMsICdkYXRhJyk7CgkJCQl9KTsKCQkJfTsKCgkJCVNlbGVjdEFkYXB0ZXIucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHsKCQkJCXZhciBkYXRhID0gW107CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJdmFyICRvcHRpb25zID0gdGhpcy4kZWxlbWVudC5jaGlsZHJlbigpOwoKCQkJCSRvcHRpb25zLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJCXZhciAkb3B0aW9uID0gJCh0aGlzKTsKCgkJCQkJaWYgKCEkb3B0aW9uLmlzKCdvcHRpb24nKSAmJiAhJG9wdGlvbi5pcygnb3B0Z3JvdXAnKSkgewoJCQkJCQlyZXR1cm47CgkJCQkJfQoKCQkJCQl2YXIgb3B0aW9uID0gc2VsZi5pdGVtKCRvcHRpb24pOwoKCQkJCQl2YXIgbWF0Y2hlcyA9IHNlbGYubWF0Y2hlcyhwYXJhbXMsIG9wdGlvbik7CgoJCQkJCWlmIChtYXRjaGVzICE9PSBudWxsKSB7CgkJCQkJCWRhdGEucHVzaChtYXRjaGVzKTsKCQkJCQl9CgkJCQl9KTsKCgkJCQljYWxsYmFjayh7CgkJCQkJcmVzdWx0czogZGF0YQoJCQkJfSk7CgkJCX07CgoJCQlTZWxlY3RBZGFwdGVyLnByb3RvdHlwZS5hZGRPcHRpb25zID0gZnVuY3Rpb24gKCRvcHRpb25zKSB7CgkJCQlVdGlscy5hcHBlbmRNYW55KHRoaXMuJGVsZW1lbnQsICRvcHRpb25zKTsKCQkJfTsKCgkJCVNlbGVjdEFkYXB0ZXIucHJvdG90eXBlLm9wdGlvbiA9IGZ1bmN0aW9uIChkYXRhKSB7CgkJCQl2YXIgb3B0aW9uOwoKCQkJCWlmIChkYXRhLmNoaWxkcmVuKSB7CgkJCQkJb3B0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0Z3JvdXAnKTsKCQkJCQlvcHRpb24ubGFiZWwgPSBkYXRhLnRleHQ7CgkJCQl9IGVsc2UgewoJCQkJCW9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOwoKCQkJCQlpZiAob3B0aW9uLnRleHRDb250ZW50ICE9PSB1bmRlZmluZWQpIHsKCQkJCQkJb3B0aW9uLnRleHRDb250ZW50ID0gZGF0YS50ZXh0OwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdGlvbi5pbm5lclRleHQgPSBkYXRhLnRleHQ7CgkJCQkJfQoJCQkJfQoKCQkJCWlmIChkYXRhLmlkICE9PSB1bmRlZmluZWQpIHsKCQkJCQlvcHRpb24udmFsdWUgPSBkYXRhLmlkOwoJCQkJfQoKCQkJCWlmIChkYXRhLmRpc2FibGVkKSB7CgkJCQkJb3B0aW9uLmRpc2FibGVkID0gdHJ1ZTsKCQkJCX0KCgkJCQlpZiAoZGF0YS5zZWxlY3RlZCkgewoJCQkJCW9wdGlvbi5zZWxlY3RlZCA9IHRydWU7CgkJCQl9CgoJCQkJaWYgKGRhdGEudGl0bGUpIHsKCQkJCQlvcHRpb24udGl0bGUgPSBkYXRhLnRpdGxlOwoJCQkJfQoKCQkJCXZhciAkb3B0aW9uID0gJChvcHRpb24pOwoKCQkJCXZhciBub3JtYWxpemVkRGF0YSA9IHRoaXMuX25vcm1hbGl6ZUl0ZW0oZGF0YSk7CgkJCQlub3JtYWxpemVkRGF0YS5lbGVtZW50ID0gb3B0aW9uOwoKCQkJCS8vIE92ZXJyaWRlIHRoZSBvcHRpb24ncyBkYXRhIHdpdGggdGhlIGNvbWJpbmVkIGRhdGEKCQkJCSQuZGF0YShvcHRpb24sICdkYXRhJywgbm9ybWFsaXplZERhdGEpOwoKCQkJCXJldHVybiAkb3B0aW9uOwoJCQl9OwoKCQkJU2VsZWN0QWRhcHRlci5wcm90b3R5cGUuaXRlbSA9IGZ1bmN0aW9uICgkb3B0aW9uKSB7CgkJCQl2YXIgZGF0YSA9IHt9OwoKCQkJCWRhdGEgPSAkLmRhdGEoJG9wdGlvblswXSwgJ2RhdGEnKTsKCgkJCQlpZiAoZGF0YSAhPSBudWxsKSB7CgkJCQkJcmV0dXJuIGRhdGE7CgkJCQl9CgoJCQkJaWYgKCRvcHRpb24uaXMoJ29wdGlvbicpKSB7CgkJCQkJZGF0YSA9IHsKCQkJCQkJaWQ6ICRvcHRpb24udmFsKCksCgkJCQkJCXRleHQ6ICRvcHRpb24udGV4dCgpLAoJCQkJCQlkaXNhYmxlZDogJG9wdGlvbi5wcm9wKCdkaXNhYmxlZCcpLAoJCQkJCQlzZWxlY3RlZDogJG9wdGlvbi5wcm9wKCdzZWxlY3RlZCcpLAoJCQkJCQl0aXRsZTogJG9wdGlvbi5wcm9wKCd0aXRsZScpCgkJCQkJfTsKCQkJCX0gZWxzZSBpZiAoJG9wdGlvbi5pcygnb3B0Z3JvdXAnKSkgewoJCQkJCWRhdGEgPSB7CgkJCQkJCXRleHQ6ICRvcHRpb24ucHJvcCgnbGFiZWwnKSwKCQkJCQkJY2hpbGRyZW46IFtdLAoJCQkJCQl0aXRsZTogJG9wdGlvbi5wcm9wKCd0aXRsZScpCgkJCQkJfTsKCgkJCQkJdmFyICRjaGlsZHJlbiA9ICRvcHRpb24uY2hpbGRyZW4oJ29wdGlvbicpOwoJCQkJCXZhciBjaGlsZHJlbiA9IFtdOwoKCQkJCQlmb3IgKHZhciBjID0gMDsgYyA8ICRjaGlsZHJlbi5sZW5ndGg7IGMrKykgewoJCQkJCQl2YXIgJGNoaWxkID0gJCgkY2hpbGRyZW5bY10pOwoKCQkJCQkJdmFyIGNoaWxkID0gdGhpcy5pdGVtKCRjaGlsZCk7CgoJCQkJCQljaGlsZHJlbi5wdXNoKGNoaWxkKTsKCQkJCQl9CgoJCQkJCWRhdGEuY2hpbGRyZW4gPSBjaGlsZHJlbjsKCQkJCX0KCgkJCQlkYXRhID0gdGhpcy5fbm9ybWFsaXplSXRlbShkYXRhKTsKCQkJCWRhdGEuZWxlbWVudCA9ICRvcHRpb25bMF07CgoJCQkJJC5kYXRhKCRvcHRpb25bMF0sICdkYXRhJywgZGF0YSk7CgoJCQkJcmV0dXJuIGRhdGE7CgkJCX07CgoJCQlTZWxlY3RBZGFwdGVyLnByb3RvdHlwZS5fbm9ybWFsaXplSXRlbSA9IGZ1bmN0aW9uIChpdGVtKSB7CgkJCQlpZiAoISQuaXNQbGFpbk9iamVjdChpdGVtKSkgewoJCQkJCWl0ZW0gPSB7CgkJCQkJCWlkOiBpdGVtLAoJCQkJCQl0ZXh0OiBpdGVtCgkJCQkJfTsKCQkJCX0KCgkJCQlpdGVtID0gJC5leHRlbmQoe30sIHsKCQkJCQl0ZXh0OiAnJwoJCQkJfSwgaXRlbSk7CgoJCQkJdmFyIGRlZmF1bHRzID0gewoJCQkJCXNlbGVjdGVkOiBmYWxzZSwKCQkJCQlkaXNhYmxlZDogZmFsc2UKCQkJCX07CgoJCQkJaWYgKGl0ZW0uaWQgIT0gbnVsbCkgewoJCQkJCWl0ZW0uaWQgPSBpdGVtLmlkLnRvU3RyaW5nKCk7CgkJCQl9CgoJCQkJaWYgKGl0ZW0udGV4dCAhPSBudWxsKSB7CgkJCQkJaXRlbS50ZXh0ID0gaXRlbS50ZXh0LnRvU3RyaW5nKCk7CgkJCQl9CgoJCQkJaWYgKGl0ZW0uX3Jlc3VsdElkID09IG51bGwgJiYgaXRlbS5pZCAmJiB0aGlzLmNvbnRhaW5lciAhPSBudWxsKSB7CgkJCQkJaXRlbS5fcmVzdWx0SWQgPSB0aGlzLmdlbmVyYXRlUmVzdWx0SWQodGhpcy5jb250YWluZXIsIGl0ZW0pOwoJCQkJfQoKCQkJCXJldHVybiAkLmV4dGVuZCh7fSwgZGVmYXVsdHMsIGl0ZW0pOwoJCQl9OwoKCQkJU2VsZWN0QWRhcHRlci5wcm90b3R5cGUubWF0Y2hlcyA9IGZ1bmN0aW9uIChwYXJhbXMsIGRhdGEpIHsKCQkJCXZhciBtYXRjaGVyID0gdGhpcy5vcHRpb25zLmdldCgnbWF0Y2hlcicpOwoKCQkJCXJldHVybiBtYXRjaGVyKHBhcmFtcywgZGF0YSk7CgkJCX07CgoJCQlyZXR1cm4gU2VsZWN0QWRhcHRlcjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2RhdGEvYXJyYXknLFsKCQkJJy4vc2VsZWN0JywKCQkJJy4uL3V0aWxzJywKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoU2VsZWN0QWRhcHRlciwgVXRpbHMsICQpIHsKCQkJZnVuY3Rpb24gQXJyYXlBZGFwdGVyICgkZWxlbWVudCwgb3B0aW9ucykgewoJCQkJdmFyIGRhdGEgPSBvcHRpb25zLmdldCgnZGF0YScpIHx8IFtdOwoKCQkJCUFycmF5QWRhcHRlci5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucyk7CgoJCQkJdGhpcy5hZGRPcHRpb25zKHRoaXMuY29udmVydFRvT3B0aW9ucyhkYXRhKSk7CgkJCX0KCgkJCVV0aWxzLkV4dGVuZChBcnJheUFkYXB0ZXIsIFNlbGVjdEFkYXB0ZXIpOwoKCQkJQXJyYXlBZGFwdGVyLnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbiAoZGF0YSkgewoJCQkJdmFyICRvcHRpb24gPSB0aGlzLiRlbGVtZW50LmZpbmQoJ29wdGlvbicpLmZpbHRlcihmdW5jdGlvbiAoaSwgZWxtKSB7CgkJCQkJcmV0dXJuIGVsbS52YWx1ZSA9PSBkYXRhLmlkLnRvU3RyaW5nKCk7CgkJCQl9KTsKCgkJCQlpZiAoJG9wdGlvbi5sZW5ndGggPT09IDApIHsKCQkJCQkkb3B0aW9uID0gdGhpcy5vcHRpb24oZGF0YSk7CgoJCQkJCXRoaXMuYWRkT3B0aW9ucygkb3B0aW9uKTsKCQkJCX0KCgkJCQlBcnJheUFkYXB0ZXIuX19zdXBlcl9fLnNlbGVjdC5jYWxsKHRoaXMsIGRhdGEpOwoJCQl9OwoKCQkJQXJyYXlBZGFwdGVyLnByb3RvdHlwZS5jb252ZXJ0VG9PcHRpb25zID0gZnVuY3Rpb24gKGRhdGEpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQl2YXIgJGV4aXN0aW5nID0gdGhpcy4kZWxlbWVudC5maW5kKCdvcHRpb24nKTsKCQkJCXZhciBleGlzdGluZ0lkcyA9ICRleGlzdGluZy5tYXAoZnVuY3Rpb24gKCkgewoJCQkJCXJldHVybiBzZWxmLml0ZW0oJCh0aGlzKSkuaWQ7CgkJCQl9KS5nZXQoKTsKCgkJCQl2YXIgJG9wdGlvbnMgPSBbXTsKCgkJCQkvLyBGaWx0ZXIgb3V0IGFsbCBpdGVtcyBleGNlcHQgZm9yIHRoZSBvbmUgcGFzc2VkIGluIHRoZSBhcmd1bWVudAoJCQkJZnVuY3Rpb24gb25seUl0ZW0gKGl0ZW0pIHsKCQkJCQlyZXR1cm4gZnVuY3Rpb24gKCkgewoJCQkJCQlyZXR1cm4gJCh0aGlzKS52YWwoKSA9PSBpdGVtLmlkOwoJCQkJCX07CgkJCQl9CgoJCQkJZm9yICh2YXIgZCA9IDA7IGQgPCBkYXRhLmxlbmd0aDsgZCsrKSB7CgkJCQkJdmFyIGl0ZW0gPSB0aGlzLl9ub3JtYWxpemVJdGVtKGRhdGFbZF0pOwoKCQkJCQkvLyBTa2lwIGl0ZW1zIHdoaWNoIHdlcmUgcHJlLWxvYWRlZCwgb25seSBtZXJnZSB0aGUgZGF0YQoJCQkJCWlmICgkLmluQXJyYXkoaXRlbS5pZCwgZXhpc3RpbmdJZHMpID49IDApIHsKCQkJCQkJdmFyICRleGlzdGluZ09wdGlvbiA9ICRleGlzdGluZy5maWx0ZXIob25seUl0ZW0oaXRlbSkpOwoKCQkJCQkJdmFyIGV4aXN0aW5nRGF0YSA9IHRoaXMuaXRlbSgkZXhpc3RpbmdPcHRpb24pOwoJCQkJCQl2YXIgbmV3RGF0YSA9ICQuZXh0ZW5kKHRydWUsIHt9LCBpdGVtLCBleGlzdGluZ0RhdGEpOwoKCQkJCQkJdmFyICRuZXdPcHRpb24gPSB0aGlzLm9wdGlvbihuZXdEYXRhKTsKCgkJCQkJCSRleGlzdGluZ09wdGlvbi5yZXBsYWNlV2l0aCgkbmV3T3B0aW9uKTsKCgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJdmFyICRvcHRpb24gPSB0aGlzLm9wdGlvbihpdGVtKTsKCgkJCQkJaWYgKGl0ZW0uY2hpbGRyZW4pIHsKCQkJCQkJdmFyICRjaGlsZHJlbiA9IHRoaXMuY29udmVydFRvT3B0aW9ucyhpdGVtLmNoaWxkcmVuKTsKCgkJCQkJCVV0aWxzLmFwcGVuZE1hbnkoJG9wdGlvbiwgJGNoaWxkcmVuKTsKCQkJCQl9CgoJCQkJCSRvcHRpb25zLnB1c2goJG9wdGlvbik7CgkJCQl9CgoJCQkJcmV0dXJuICRvcHRpb25zOwoJCQl9OwoKCQkJcmV0dXJuIEFycmF5QWRhcHRlcjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2RhdGEvYWpheCcsWwoJCQknLi9hcnJheScsCgkJCScuLi91dGlscycsCgkJCSdqcXVlcnknCgkJXSwgZnVuY3Rpb24gKEFycmF5QWRhcHRlciwgVXRpbHMsICQpIHsKCQkJZnVuY3Rpb24gQWpheEFkYXB0ZXIgKCRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl0aGlzLmFqYXhPcHRpb25zID0gdGhpcy5fYXBwbHlEZWZhdWx0cyhvcHRpb25zLmdldCgnYWpheCcpKTsKCgkJCQlpZiAodGhpcy5hamF4T3B0aW9ucy5wcm9jZXNzUmVzdWx0cyAhPSBudWxsKSB7CgkJCQkJdGhpcy5wcm9jZXNzUmVzdWx0cyA9IHRoaXMuYWpheE9wdGlvbnMucHJvY2Vzc1Jlc3VsdHM7CgkJCQl9CgoJCQkJQWpheEFkYXB0ZXIuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcywgJGVsZW1lbnQsIG9wdGlvbnMpOwoJCQl9CgoJCQlVdGlscy5FeHRlbmQoQWpheEFkYXB0ZXIsIEFycmF5QWRhcHRlcik7CgoJCQlBamF4QWRhcHRlci5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdHMgPSBmdW5jdGlvbiAob3B0aW9ucykgewoJCQkJdmFyIGRlZmF1bHRzID0gewoJCQkJCWRhdGE6IGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQkJcmV0dXJuICQuZXh0ZW5kKHt9LCBwYXJhbXMsIHsKCQkJCQkJCXE6IHBhcmFtcy50ZXJtCgkJCQkJCX0pOwoJCQkJCX0sCgkJCQkJdHJhbnNwb3J0OiBmdW5jdGlvbiAocGFyYW1zLCBzdWNjZXNzLCBmYWlsdXJlKSB7CgkJCQkJCXZhciAkcmVxdWVzdCA9ICQuYWpheChwYXJhbXMpOwoKCQkJCQkJJHJlcXVlc3QudGhlbihzdWNjZXNzKTsKCQkJCQkJJHJlcXVlc3QuZmFpbChmYWlsdXJlKTsKCgkJCQkJCXJldHVybiAkcmVxdWVzdDsKCQkJCQl9CgkJCQl9OwoKCQkJCXJldHVybiAkLmV4dGVuZCh7fSwgZGVmYXVsdHMsIG9wdGlvbnMsIHRydWUpOwoJCQl9OwoKCQkJQWpheEFkYXB0ZXIucHJvdG90eXBlLnByb2Nlc3NSZXN1bHRzID0gZnVuY3Rpb24gKHJlc3VsdHMpIHsKCQkJCXJldHVybiByZXN1bHRzOwoJCQl9OwoKCQkJQWpheEFkYXB0ZXIucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKHBhcmFtcywgY2FsbGJhY2spIHsKCQkJCXZhciBtYXRjaGVzID0gW107CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJaWYgKHRoaXMuX3JlcXVlc3QgIT0gbnVsbCkgewoJCQkJCS8vIEpTT05QIHJlcXVlc3RzIGNhbm5vdCBhbHdheXMgYmUgYWJvcnRlZAoJCQkJCWlmICgkLmlzRnVuY3Rpb24odGhpcy5fcmVxdWVzdC5hYm9ydCkpIHsKCQkJCQkJdGhpcy5fcmVxdWVzdC5hYm9ydCgpOwoJCQkJCX0KCgkJCQkJdGhpcy5fcmVxdWVzdCA9IG51bGw7CgkJCQl9CgoJCQkJdmFyIG9wdGlvbnMgPSAkLmV4dGVuZCh7CgkJCQkJdHlwZTogJ0dFVCcKCQkJCX0sIHRoaXMuYWpheE9wdGlvbnMpOwoKCQkJCWlmICh0eXBlb2Ygb3B0aW9ucy51cmwgPT09ICdmdW5jdGlvbicpIHsKCQkJCQlvcHRpb25zLnVybCA9IG9wdGlvbnMudXJsLmNhbGwodGhpcy4kZWxlbWVudCwgcGFyYW1zKTsKCQkJCX0KCgkJCQlpZiAodHlwZW9mIG9wdGlvbnMuZGF0YSA9PT0gJ2Z1bmN0aW9uJykgewoJCQkJCW9wdGlvbnMuZGF0YSA9IG9wdGlvbnMuZGF0YS5jYWxsKHRoaXMuJGVsZW1lbnQsIHBhcmFtcyk7CgkJCQl9CgoJCQkJZnVuY3Rpb24gcmVxdWVzdCAoKSB7CgkJCQkJdmFyICRyZXF1ZXN0ID0gb3B0aW9ucy50cmFuc3BvcnQob3B0aW9ucywgZnVuY3Rpb24gKGRhdGEpIHsKCQkJCQkJdmFyIHJlc3VsdHMgPSBzZWxmLnByb2Nlc3NSZXN1bHRzKGRhdGEsIHBhcmFtcyk7CgoJCQkJCQlpZiAoc2VsZi5vcHRpb25zLmdldCgnZGVidWcnKSAmJiB3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLmVycm9yKSB7CgkJCQkJCQkvLyBDaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcmVzcG9uc2UgaW5jbHVkZWQgYSBgcmVzdWx0c2Aga2V5LgoJCQkJCQkJaWYgKCFyZXN1bHRzIHx8ICFyZXN1bHRzLnJlc3VsdHMgfHwgISQuaXNBcnJheShyZXN1bHRzLnJlc3VsdHMpKSB7CgkJCQkJCQkJY29uc29sZS5lcnJvcigKCQkJCQkJCQkJJ1NlbGVjdDI6IFRoZSBBSkFYIHJlc3VsdHMgZGlkIG5vdCByZXR1cm4gYW4gYXJyYXkgaW4gdGhlICcgKwoJCQkJCQkJCQknYHJlc3VsdHNgIGtleSBvZiB0aGUgcmVzcG9uc2UuJwoJCQkJCQkJCSk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCWNhbGxiYWNrKHJlc3VsdHMpOwoJCQkJCX0sIGZ1bmN0aW9uICgpIHsKCQkJCQkJLy8gQXR0ZW1wdCB0byBkZXRlY3QgaWYgYSByZXF1ZXN0IHdhcyBhYm9ydGVkCgkJCQkJCS8vIE9ubHkgd29ya3MgaWYgdGhlIHRyYW5zcG9ydCBleHBvc2VzIGEgc3RhdHVzIHByb3BlcnR5CgkJCQkJCWlmICgkcmVxdWVzdC5zdGF0dXMgJiYgJHJlcXVlc3Quc3RhdHVzID09PSAnMCcpIHsKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoKCQkJCQkJc2VsZi50cmlnZ2VyKCdyZXN1bHRzOm1lc3NhZ2UnLCB7CgkJCQkJCQltZXNzYWdlOiAnZXJyb3JMb2FkaW5nJwoJCQkJCQl9KTsKCQkJCQl9KTsKCgkJCQkJc2VsZi5fcmVxdWVzdCA9ICRyZXF1ZXN0OwoJCQkJfQoKCQkJCWlmICh0aGlzLmFqYXhPcHRpb25zLmRlbGF5ICYmIHBhcmFtcy50ZXJtICE9IG51bGwpIHsKCQkJCQlpZiAodGhpcy5fcXVlcnlUaW1lb3V0KSB7CgkJCQkJCXdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fcXVlcnlUaW1lb3V0KTsKCQkJCQl9CgoJCQkJCXRoaXMuX3F1ZXJ5VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KHJlcXVlc3QsIHRoaXMuYWpheE9wdGlvbnMuZGVsYXkpOwoJCQkJfSBlbHNlIHsKCQkJCQlyZXF1ZXN0KCk7CgkJCQl9CgkJCX07CgoJCQlyZXR1cm4gQWpheEFkYXB0ZXI7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kYXRhL3RhZ3MnLFsKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoJCkgewoJCQlmdW5jdGlvbiBUYWdzIChkZWNvcmF0ZWQsICRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl2YXIgdGFncyA9IG9wdGlvbnMuZ2V0KCd0YWdzJyk7CgoJCQkJdmFyIGNyZWF0ZVRhZyA9IG9wdGlvbnMuZ2V0KCdjcmVhdGVUYWcnKTsKCgkJCQlpZiAoY3JlYXRlVGFnICE9PSB1bmRlZmluZWQpIHsKCQkJCQl0aGlzLmNyZWF0ZVRhZyA9IGNyZWF0ZVRhZzsKCQkJCX0KCgkJCQl2YXIgaW5zZXJ0VGFnID0gb3B0aW9ucy5nZXQoJ2luc2VydFRhZycpOwoKCQkJCWlmIChpbnNlcnRUYWcgIT09IHVuZGVmaW5lZCkgewoJCQkJCXRoaXMuaW5zZXJ0VGFnID0gaW5zZXJ0VGFnOwoJCQkJfQoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsICRlbGVtZW50LCBvcHRpb25zKTsKCgkJCQlpZiAoJC5pc0FycmF5KHRhZ3MpKSB7CgkJCQkJZm9yICh2YXIgdCA9IDA7IHQgPCB0YWdzLmxlbmd0aDsgdCsrKSB7CgkJCQkJCXZhciB0YWcgPSB0YWdzW3RdOwoJCQkJCQl2YXIgaXRlbSA9IHRoaXMuX25vcm1hbGl6ZUl0ZW0odGFnKTsKCgkJCQkJCXZhciAkb3B0aW9uID0gdGhpcy5vcHRpb24oaXRlbSk7CgoJCQkJCQl0aGlzLiRlbGVtZW50LmFwcGVuZCgkb3B0aW9uKTsKCQkJCQl9CgkJCQl9CgkJCX0KCgkJCVRhZ3MucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgcGFyYW1zLCBjYWxsYmFjaykgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCXRoaXMuX3JlbW92ZU9sZFRhZ3MoKTsKCgkJCQlpZiAocGFyYW1zLnRlcm0gPT0gbnVsbCB8fCBwYXJhbXMucGFnZSAhPSBudWxsKSB7CgkJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgcGFyYW1zLCBjYWxsYmFjayk7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWZ1bmN0aW9uIHdyYXBwZXIgKG9iaiwgY2hpbGQpIHsKCQkJCQl2YXIgZGF0YSA9IG9iai5yZXN1bHRzOwoKCQkJCQlmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKCQkJCQkJdmFyIG9wdGlvbiA9IGRhdGFbaV07CgoJCQkJCQl2YXIgY2hlY2tDaGlsZHJlbiA9ICgKCQkJCQkJCW9wdGlvbi5jaGlsZHJlbiAhPSBudWxsICYmCgkJCQkJCQkhd3JhcHBlcih7CgkJCQkJCQkJcmVzdWx0czogb3B0aW9uLmNoaWxkcmVuCgkJCQkJCQl9LCB0cnVlKQoJCQkJCQkpOwoKCQkJCQkJdmFyIG9wdGlvblRleHQgPSAob3B0aW9uLnRleHQgfHwgJycpLnRvVXBwZXJDYXNlKCk7CgkJCQkJCXZhciBwYXJhbXNUZXJtID0gKHBhcmFtcy50ZXJtIHx8ICcnKS50b1VwcGVyQ2FzZSgpOwoKCQkJCQkJdmFyIGNoZWNrVGV4dCA9IG9wdGlvblRleHQgPT09IHBhcmFtc1Rlcm07CgoJCQkJCQlpZiAoY2hlY2tUZXh0IHx8IGNoZWNrQ2hpbGRyZW4pIHsKCQkJCQkJCWlmIChjaGlsZCkgewoJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCX0KCgkJCQkJCQlvYmouZGF0YSA9IGRhdGE7CgkJCQkJCQljYWxsYmFjayhvYmopOwoKCQkJCQkJCXJldHVybjsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJaWYgKGNoaWxkKSB7CgkJCQkJCXJldHVybiB0cnVlOwoJCQkJCX0KCgkJCQkJdmFyIHRhZyA9IHNlbGYuY3JlYXRlVGFnKHBhcmFtcyk7CgoJCQkJCWlmICh0YWcgIT0gbnVsbCkgewoJCQkJCQl2YXIgJG9wdGlvbiA9IHNlbGYub3B0aW9uKHRhZyk7CgkJCQkJCSRvcHRpb24uYXR0cignZGF0YS1zZWxlY3QyLXRhZycsIHRydWUpOwoKCQkJCQkJc2VsZi5hZGRPcHRpb25zKFskb3B0aW9uXSk7CgoJCQkJCQlzZWxmLmluc2VydFRhZyhkYXRhLCB0YWcpOwoJCQkJCX0KCgkJCQkJb2JqLnJlc3VsdHMgPSBkYXRhOwoKCQkJCQljYWxsYmFjayhvYmopOwoJCQkJfQoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsIHBhcmFtcywgd3JhcHBlcik7CgkJCX07CgoJCQlUYWdzLnByb3RvdHlwZS5jcmVhdGVUYWcgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBwYXJhbXMpIHsKCQkJCXZhciB0ZXJtID0gJC50cmltKHBhcmFtcy50ZXJtKTsKCgkJCQlpZiAodGVybSA9PT0gJycpIHsKCQkJCQlyZXR1cm4gbnVsbDsKCQkJCX0KCgkJCQlyZXR1cm4gewoJCQkJCWlkOiB0ZXJtLAoJCQkJCXRleHQ6IHRlcm0KCQkJCX07CgkJCX07CgoJCQlUYWdzLnByb3RvdHlwZS5pbnNlcnRUYWcgPSBmdW5jdGlvbiAoXywgZGF0YSwgdGFnKSB7CgkJCQlkYXRhLnVuc2hpZnQodGFnKTsKCQkJfTsKCgkJCVRhZ3MucHJvdG90eXBlLl9yZW1vdmVPbGRUYWdzID0gZnVuY3Rpb24gKF8pIHsKCQkJCXZhciB0YWcgPSB0aGlzLl9sYXN0VGFnOwoKCQkJCXZhciAkb3B0aW9ucyA9IHRoaXMuJGVsZW1lbnQuZmluZCgnb3B0aW9uW2RhdGEtc2VsZWN0Mi10YWddJyk7CgoJCQkJJG9wdGlvbnMuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQkJaWYgKHRoaXMuc2VsZWN0ZWQpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJJCh0aGlzKS5yZW1vdmUoKTsKCQkJCX0pOwoJCQl9OwoKCQkJcmV0dXJuIFRhZ3M7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kYXRhL3Rva2VuaXplcicsWwoJCQknanF1ZXJ5JwoJCV0sIGZ1bmN0aW9uICgkKSB7CgkJCWZ1bmN0aW9uIFRva2VuaXplciAoZGVjb3JhdGVkLCAkZWxlbWVudCwgb3B0aW9ucykgewoJCQkJdmFyIHRva2VuaXplciA9IG9wdGlvbnMuZ2V0KCd0b2tlbml6ZXInKTsKCgkJCQlpZiAodG9rZW5pemVyICE9PSB1bmRlZmluZWQpIHsKCQkJCQl0aGlzLnRva2VuaXplciA9IHRva2VuaXplcjsKCQkJCX0KCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucyk7CgkJCX0KCgkJCVRva2VuaXplci5wcm90b3R5cGUuYmluZCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIGNvbnRhaW5lciwgJGNvbnRhaW5lcikgewoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgY29udGFpbmVyLCAkY29udGFpbmVyKTsKCgkJCQl0aGlzLiRzZWFyY2ggPSAgY29udGFpbmVyLmRyb3Bkb3duLiRzZWFyY2ggfHwgY29udGFpbmVyLnNlbGVjdGlvbi4kc2VhcmNoIHx8CgkJCQkJJGNvbnRhaW5lci5maW5kKCcuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkJyk7CgkJCX07CgoJCQlUb2tlbml6ZXIucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgcGFyYW1zLCBjYWxsYmFjaykgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCWZ1bmN0aW9uIGNyZWF0ZUFuZFNlbGVjdCAoZGF0YSkgewoJCQkJCS8vIE5vcm1hbGl6ZSB0aGUgZGF0YSBvYmplY3Qgc28gd2UgY2FuIHVzZSBpdCBmb3IgY2hlY2tzCgkJCQkJdmFyIGl0ZW0gPSBzZWxmLl9ub3JtYWxpemVJdGVtKGRhdGEpOwoKCQkJCQkvLyBDaGVjayBpZiB0aGUgZGF0YSBvYmplY3QgYWxyZWFkeSBleGlzdHMgYXMgYSB0YWcKCQkJCQkvLyBTZWxlY3QgaXQgaWYgaXQgZG9lc24ndAoJCQkJCXZhciAkZXhpc3RpbmdPcHRpb25zID0gc2VsZi4kZWxlbWVudC5maW5kKCdvcHRpb24nKS5maWx0ZXIoZnVuY3Rpb24gKCkgewoJCQkJCQlyZXR1cm4gJCh0aGlzKS52YWwoKSA9PT0gaXRlbS5pZDsKCQkJCQl9KTsKCgkJCQkJLy8gSWYgYW4gZXhpc3Rpbmcgb3B0aW9uIHdhc24ndCBmb3VuZCBmb3IgaXQsIGNyZWF0ZSB0aGUgb3B0aW9uCgkJCQkJaWYgKCEkZXhpc3RpbmdPcHRpb25zLmxlbmd0aCkgewoJCQkJCQl2YXIgJG9wdGlvbiA9IHNlbGYub3B0aW9uKGl0ZW0pOwoJCQkJCQkkb3B0aW9uLmF0dHIoJ2RhdGEtc2VsZWN0Mi10YWcnLCB0cnVlKTsKCgkJCQkJCXNlbGYuX3JlbW92ZU9sZFRhZ3MoKTsKCQkJCQkJc2VsZi5hZGRPcHRpb25zKFskb3B0aW9uXSk7CgkJCQkJfQoKCQkJCQkvLyBTZWxlY3QgdGhlIGl0ZW0sIG5vdyB0aGF0IHdlIGtub3cgdGhlcmUgaXMgYW4gb3B0aW9uIGZvciBpdAoJCQkJCXNlbGVjdChpdGVtKTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBzZWxlY3QgKGRhdGEpIHsKCQkJCQlzZWxmLnRyaWdnZXIoJ3NlbGVjdCcsIHsKCQkJCQkJZGF0YTogZGF0YQoJCQkJCX0pOwoJCQkJfQoKCQkJCXBhcmFtcy50ZXJtID0gcGFyYW1zLnRlcm0gfHwgJyc7CgoJCQkJdmFyIHRva2VuRGF0YSA9IHRoaXMudG9rZW5pemVyKHBhcmFtcywgdGhpcy5vcHRpb25zLCBjcmVhdGVBbmRTZWxlY3QpOwoKCQkJCWlmICh0b2tlbkRhdGEudGVybSAhPT0gcGFyYW1zLnRlcm0pIHsKCQkJCQkvLyBSZXBsYWNlIHRoZSBzZWFyY2ggdGVybSBpZiB3ZSBoYXZlIHRoZSBzZWFyY2ggYm94CgkJCQkJaWYgKHRoaXMuJHNlYXJjaC5sZW5ndGgpIHsKCQkJCQkJdGhpcy4kc2VhcmNoLnZhbCh0b2tlbkRhdGEudGVybSk7CgkJCQkJCXRoaXMuJHNlYXJjaC5mb2N1cygpOwoJCQkJCX0KCgkJCQkJcGFyYW1zLnRlcm0gPSB0b2tlbkRhdGEudGVybTsKCQkJCX0KCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBwYXJhbXMsIGNhbGxiYWNrKTsKCQkJfTsKCgkJCVRva2VuaXplci5wcm90b3R5cGUudG9rZW5pemVyID0gZnVuY3Rpb24gKF8sIHBhcmFtcywgb3B0aW9ucywgY2FsbGJhY2spIHsKCQkJCXZhciBzZXBhcmF0b3JzID0gb3B0aW9ucy5nZXQoJ3Rva2VuU2VwYXJhdG9ycycpIHx8IFtdOwoJCQkJdmFyIHRlcm0gPSBwYXJhbXMudGVybTsKCQkJCXZhciBpID0gMDsKCgkJCQl2YXIgY3JlYXRlVGFnID0gdGhpcy5jcmVhdGVUYWcgfHwgZnVuY3Rpb24gKHBhcmFtcykgewoJCQkJCXJldHVybiB7CgkJCQkJCWlkOiBwYXJhbXMudGVybSwKCQkJCQkJdGV4dDogcGFyYW1zLnRlcm0KCQkJCQl9OwoJCQkJfTsKCgkJCQl3aGlsZSAoaSA8IHRlcm0ubGVuZ3RoKSB7CgkJCQkJdmFyIHRlcm1DaGFyID0gdGVybVtpXTsKCgkJCQkJaWYgKCQuaW5BcnJheSh0ZXJtQ2hhciwgc2VwYXJhdG9ycykgPT09IC0xKSB7CgkJCQkJCWkrKzsKCgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJdmFyIHBhcnQgPSB0ZXJtLnN1YnN0cigwLCBpKTsKCQkJCQl2YXIgcGFydFBhcmFtcyA9ICQuZXh0ZW5kKHt9LCBwYXJhbXMsIHsKCQkJCQkJdGVybTogcGFydAoJCQkJCX0pOwoKCQkJCQl2YXIgZGF0YSA9IGNyZWF0ZVRhZyhwYXJ0UGFyYW1zKTsKCgkJCQkJaWYgKGRhdGEgPT0gbnVsbCkgewoJCQkJCQlpKys7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJY2FsbGJhY2soZGF0YSk7CgoJCQkJCS8vIFJlc2V0IHRoZSB0ZXJtIHRvIG5vdCBpbmNsdWRlIHRoZSB0b2tlbml6ZWQgcG9ydGlvbgoJCQkJCXRlcm0gPSB0ZXJtLnN1YnN0cihpICsgMSkgfHwgJyc7CgkJCQkJaSA9IDA7CgkJCQl9CgoJCQkJcmV0dXJuIHsKCQkJCQl0ZXJtOiB0ZXJtCgkJCQl9OwoJCQl9OwoKCQkJcmV0dXJuIFRva2VuaXplcjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2RhdGEvbWluaW11bUlucHV0TGVuZ3RoJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gTWluaW11bUlucHV0TGVuZ3RoIChkZWNvcmF0ZWQsICRlLCBvcHRpb25zKSB7CgkJCQl0aGlzLm1pbmltdW1JbnB1dExlbmd0aCA9IG9wdGlvbnMuZ2V0KCdtaW5pbXVtSW5wdXRMZW5ndGgnKTsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZSwgb3B0aW9ucyk7CgkJCX0KCgkJCU1pbmltdW1JbnB1dExlbmd0aC5wcm90b3R5cGUucXVlcnkgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBwYXJhbXMsIGNhbGxiYWNrKSB7CgkJCQlwYXJhbXMudGVybSA9IHBhcmFtcy50ZXJtIHx8ICcnOwoKCQkJCWlmIChwYXJhbXMudGVybS5sZW5ndGggPCB0aGlzLm1pbmltdW1JbnB1dExlbmd0aCkgewoJCQkJCXRoaXMudHJpZ2dlcigncmVzdWx0czptZXNzYWdlJywgewoJCQkJCQltZXNzYWdlOiAnaW5wdXRUb29TaG9ydCcsCgkJCQkJCWFyZ3M6IHsKCQkJCQkJCW1pbmltdW06IHRoaXMubWluaW11bUlucHV0TGVuZ3RoLAoJCQkJCQkJaW5wdXQ6IHBhcmFtcy50ZXJtLAoJCQkJCQkJcGFyYW1zOiBwYXJhbXMKCQkJCQkJfQoJCQkJCX0pOwoKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgcGFyYW1zLCBjYWxsYmFjayk7CgkJCX07CgoJCQlyZXR1cm4gTWluaW11bUlucHV0TGVuZ3RoOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZGF0YS9tYXhpbXVtSW5wdXRMZW5ndGgnLFsKCgkJXSwgZnVuY3Rpb24gKCkgewoJCQlmdW5jdGlvbiBNYXhpbXVtSW5wdXRMZW5ndGggKGRlY29yYXRlZCwgJGUsIG9wdGlvbnMpIHsKCQkJCXRoaXMubWF4aW11bUlucHV0TGVuZ3RoID0gb3B0aW9ucy5nZXQoJ21heGltdW1JbnB1dExlbmd0aCcpOwoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsICRlLCBvcHRpb25zKTsKCQkJfQoKCQkJTWF4aW11bUlucHV0TGVuZ3RoLnByb3RvdHlwZS5xdWVyeSA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIHBhcmFtcywgY2FsbGJhY2spIHsKCQkJCXBhcmFtcy50ZXJtID0gcGFyYW1zLnRlcm0gfHwgJyc7CgoJCQkJaWYgKHRoaXMubWF4aW11bUlucHV0TGVuZ3RoID4gMCAmJgoJCQkJCXBhcmFtcy50ZXJtLmxlbmd0aCA+IHRoaXMubWF4aW11bUlucHV0TGVuZ3RoKSB7CgkJCQkJdGhpcy50cmlnZ2VyKCdyZXN1bHRzOm1lc3NhZ2UnLCB7CgkJCQkJCW1lc3NhZ2U6ICdpbnB1dFRvb0xvbmcnLAoJCQkJCQlhcmdzOiB7CgkJCQkJCQltYXhpbXVtOiB0aGlzLm1heGltdW1JbnB1dExlbmd0aCwKCQkJCQkJCWlucHV0OiBwYXJhbXMudGVybSwKCQkJCQkJCXBhcmFtczogcGFyYW1zCgkJCQkJCX0KCQkJCQl9KTsKCgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsIHBhcmFtcywgY2FsbGJhY2spOwoJCQl9OwoKCQkJcmV0dXJuIE1heGltdW1JbnB1dExlbmd0aDsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2RhdGEvbWF4aW11bVNlbGVjdGlvbkxlbmd0aCcsWwoKCQldLCBmdW5jdGlvbiAoKXsKCQkJZnVuY3Rpb24gTWF4aW11bVNlbGVjdGlvbkxlbmd0aCAoZGVjb3JhdGVkLCAkZSwgb3B0aW9ucykgewoJCQkJdGhpcy5tYXhpbXVtU2VsZWN0aW9uTGVuZ3RoID0gb3B0aW9ucy5nZXQoJ21heGltdW1TZWxlY3Rpb25MZW5ndGgnKTsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZSwgb3B0aW9ucyk7CgkJCX0KCgkJCU1heGltdW1TZWxlY3Rpb25MZW5ndGgucHJvdG90eXBlLnF1ZXJ5ID0KCQkJCWZ1bmN0aW9uIChkZWNvcmF0ZWQsIHBhcmFtcywgY2FsbGJhY2spIHsKCQkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJCXRoaXMuY3VycmVudChmdW5jdGlvbiAoY3VycmVudERhdGEpIHsKCQkJCQkJdmFyIGNvdW50ID0gY3VycmVudERhdGEgIT0gbnVsbCA/IGN1cnJlbnREYXRhLmxlbmd0aCA6IDA7CgkJCQkJCWlmIChzZWxmLm1heGltdW1TZWxlY3Rpb25MZW5ndGggPiAwICYmCgkJCQkJCQljb3VudCA+PSBzZWxmLm1heGltdW1TZWxlY3Rpb25MZW5ndGgpIHsKCQkJCQkJCXNlbGYudHJpZ2dlcigncmVzdWx0czptZXNzYWdlJywgewoJCQkJCQkJCW1lc3NhZ2U6ICdtYXhpbXVtU2VsZWN0ZWQnLAoJCQkJCQkJCWFyZ3M6IHsKCQkJCQkJCQkJbWF4aW11bTogc2VsZi5tYXhpbXVtU2VsZWN0aW9uTGVuZ3RoCgkJCQkJCQkJfQoJCQkJCQkJfSk7CgkJCQkJCQlyZXR1cm47CgkJCQkJCX0KCQkJCQkJZGVjb3JhdGVkLmNhbGwoc2VsZiwgcGFyYW1zLCBjYWxsYmFjayk7CgkJCQkJfSk7CgkJCQl9OwoKCQkJcmV0dXJuIE1heGltdW1TZWxlY3Rpb25MZW5ndGg7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kcm9wZG93bicsWwoJCQknanF1ZXJ5JywKCQkJJy4vdXRpbHMnCgkJXSwgZnVuY3Rpb24gKCQsIFV0aWxzKSB7CgkJCWZ1bmN0aW9uIERyb3Bkb3duICgkZWxlbWVudCwgb3B0aW9ucykgewoJCQkJdGhpcy4kZWxlbWVudCA9ICRlbGVtZW50OwoJCQkJdGhpcy5vcHRpb25zID0gb3B0aW9uczsKCgkJCQlEcm9wZG93bi5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzKTsKCQkJfQoKCQkJVXRpbHMuRXh0ZW5kKERyb3Bkb3duLCBVdGlscy5PYnNlcnZhYmxlKTsKCgkJCURyb3Bkb3duLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgJGRyb3Bkb3duID0gJCgKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdDItZHJvcGRvd24iPicgKwoJCQkJCSc8c3BhbiBjbGFzcz0ic2VsZWN0Mi1yZXN1bHRzIj48L3NwYW4+JyArCgkJCQkJJzwvc3Bhbj4nCgkJCQkpOwoKCQkJCSRkcm9wZG93bi5hdHRyKCdkaXInLCB0aGlzLm9wdGlvbnMuZ2V0KCdkaXInKSk7CgoJCQkJdGhpcy4kZHJvcGRvd24gPSAkZHJvcGRvd247CgoJCQkJcmV0dXJuICRkcm9wZG93bjsKCQkJfTsKCgkJCURyb3Bkb3duLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKCkgewoJCQkJLy8gU2hvdWxkIGJlIGltcGxlbWVudGVkIGluIHN1YmNsYXNzZXMKCQkJfTsKCgkJCURyb3Bkb3duLnByb3RvdHlwZS5wb3NpdGlvbiA9IGZ1bmN0aW9uICgkZHJvcGRvd24sICRjb250YWluZXIpIHsKCQkJCS8vIFNob3VsZCBiZSBpbXBsbWVudGVkIGluIHN1YmNsYXNzZXMKCQkJfTsKCgkJCURyb3Bkb3duLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24gKCkgewoJCQkJLy8gUmVtb3ZlIHRoZSBkcm9wZG93biBmcm9tIHRoZSBET00KCQkJCXRoaXMuJGRyb3Bkb3duLnJlbW92ZSgpOwoJCQl9OwoKCQkJcmV0dXJuIERyb3Bkb3duOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZHJvcGRvd24vc2VhcmNoJyxbCgkJCSdqcXVlcnknLAoJCQknLi4vdXRpbHMnCgkJXSwgZnVuY3Rpb24gKCQsIFV0aWxzKSB7CgkJCWZ1bmN0aW9uIFNlYXJjaCAoKSB7IH0KCgkJCVNlYXJjaC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKGRlY29yYXRlZCkgewoJCQkJdmFyICRyZW5kZXJlZCA9IGRlY29yYXRlZC5jYWxsKHRoaXMpOwoKCQkJCXZhciAkc2VhcmNoID0gJCgKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdDItc2VhcmNoIHNlbGVjdDItc2VhcmNoLS1kcm9wZG93biI+JyArCgkJCQkJJzxpbnB1dCBjbGFzcz0ic2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIiB0eXBlPSJzZWFyY2giIHRhYmluZGV4PSItMSInICsKCQkJCQknIGF1dG9jb21wbGV0ZT0ib2ZmIiBhdXRvY29ycmVjdD0ib2ZmIiBhdXRvY2FwaXRhbGl6ZT0ibm9uZSInICsKCQkJCQknIHNwZWxsY2hlY2s9ImZhbHNlIiByb2xlPSJ0ZXh0Ym94IiAvPicgKwoJCQkJCSc8L3NwYW4+JwoJCQkJKTsKCgkJCQl0aGlzLiRzZWFyY2hDb250YWluZXIgPSAkc2VhcmNoOwoJCQkJdGhpcy4kc2VhcmNoID0gJHNlYXJjaC5maW5kKCdpbnB1dCcpOwoKCQkJCSRyZW5kZXJlZC5wcmVwZW5kKCRzZWFyY2gpOwoKCQkJCXJldHVybiAkcmVuZGVyZWQ7CgkJCX07CgoJCQlTZWFyY2gucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCXRoaXMuJHNlYXJjaC5vbigna2V5ZG93bicsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLnRyaWdnZXIoJ2tleXByZXNzJywgZXZ0KTsKCgkJCQkJc2VsZi5fa2V5VXBQcmV2ZW50ZWQgPSBldnQuaXNEZWZhdWx0UHJldmVudGVkKCk7CgkJCQl9KTsKCgkJCQkvLyBXb3JrYXJvdW5kIGZvciBicm93c2VycyB3aGljaCBkbyBub3Qgc3VwcG9ydCB0aGUgYGlucHV0YCBldmVudAoJCQkJLy8gVGhpcyB3aWxsIHByZXZlbnQgZG91YmxlLXRyaWdnZXJpbmcgb2YgZXZlbnRzIGZvciBicm93c2VycyB3aGljaCBzdXBwb3J0CgkJCQkvLyBib3RoIHRoZSBga2V5dXBgIGFuZCBgaW5wdXRgIGV2ZW50cy4KCQkJCXRoaXMuJHNlYXJjaC5vbignaW5wdXQnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJLy8gVW5iaW5kIHRoZSBkdXBsaWNhdGVkIGBrZXl1cGAgZXZlbnQKCQkJCQkkKHRoaXMpLm9mZigna2V5dXAnKTsKCQkJCX0pOwoKCQkJCXRoaXMuJHNlYXJjaC5vbigna2V5dXAgaW5wdXQnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJc2VsZi5oYW5kbGVTZWFyY2goZXZ0KTsKCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignb3BlbicsIGZ1bmN0aW9uICgpIHsKCQkJCQlzZWxmLiRzZWFyY2guYXR0cigndGFiaW5kZXgnLCAwKTsKCgkJCQkJc2VsZi4kc2VhcmNoLmZvY3VzKCk7CgoJCQkJCXdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKCQkJCQkJc2VsZi4kc2VhcmNoLmZvY3VzKCk7CgkJCQkJfSwgMCk7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ2Nsb3NlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJHNlYXJjaC5hdHRyKCd0YWJpbmRleCcsIC0xKTsKCgkJCQkJc2VsZi4kc2VhcmNoLnZhbCgnJyk7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ2ZvY3VzJywgZnVuY3Rpb24gKCkgewoJCQkJCWlmICghY29udGFpbmVyLmlzT3BlbigpKSB7CgkJCQkJCXNlbGYuJHNlYXJjaC5mb2N1cygpOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbigncmVzdWx0czphbGwnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJaWYgKHBhcmFtcy5xdWVyeS50ZXJtID09IG51bGwgfHwgcGFyYW1zLnF1ZXJ5LnRlcm0gPT09ICcnKSB7CgkJCQkJCXZhciBzaG93U2VhcmNoID0gc2VsZi5zaG93U2VhcmNoKHBhcmFtcyk7CgoJCQkJCQlpZiAoc2hvd1NlYXJjaCkgewoJCQkJCQkJc2VsZi4kc2VhcmNoQ29udGFpbmVyLnJlbW92ZUNsYXNzKCdzZWxlY3QyLXNlYXJjaC0taGlkZScpOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJc2VsZi4kc2VhcmNoQ29udGFpbmVyLmFkZENsYXNzKCdzZWxlY3QyLXNlYXJjaC0taGlkZScpOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSk7CgkJCX07CgoJCQlTZWFyY2gucHJvdG90eXBlLmhhbmRsZVNlYXJjaCA9IGZ1bmN0aW9uIChldnQpIHsKCQkJCWlmICghdGhpcy5fa2V5VXBQcmV2ZW50ZWQpIHsKCQkJCQl2YXIgaW5wdXQgPSB0aGlzLiRzZWFyY2gudmFsKCk7CgoJCQkJCXRoaXMudHJpZ2dlcigncXVlcnknLCB7CgkJCQkJCXRlcm06IGlucHV0CgkJCQkJfSk7CgkJCQl9CgoJCQkJdGhpcy5fa2V5VXBQcmV2ZW50ZWQgPSBmYWxzZTsKCQkJfTsKCgkJCVNlYXJjaC5wcm90b3R5cGUuc2hvd1NlYXJjaCA9IGZ1bmN0aW9uIChfLCBwYXJhbXMpIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9OwoKCQkJcmV0dXJuIFNlYXJjaDsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2Ryb3Bkb3duL2hpZGVQbGFjZWhvbGRlcicsWwoKCQldLCBmdW5jdGlvbiAoKSB7CgkJCWZ1bmN0aW9uIEhpZGVQbGFjZWhvbGRlciAoZGVjb3JhdGVkLCAkZWxlbWVudCwgb3B0aW9ucywgZGF0YUFkYXB0ZXIpIHsKCQkJCXRoaXMucGxhY2Vob2xkZXIgPSB0aGlzLm5vcm1hbGl6ZVBsYWNlaG9sZGVyKG9wdGlvbnMuZ2V0KCdwbGFjZWhvbGRlcicpKTsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucywgZGF0YUFkYXB0ZXIpOwoJCQl9CgoJCQlIaWRlUGxhY2Vob2xkZXIucHJvdG90eXBlLmFwcGVuZCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIGRhdGEpIHsKCQkJCWRhdGEucmVzdWx0cyA9IHRoaXMucmVtb3ZlUGxhY2Vob2xkZXIoZGF0YS5yZXN1bHRzKTsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBkYXRhKTsKCQkJfTsKCgkJCUhpZGVQbGFjZWhvbGRlci5wcm90b3R5cGUubm9ybWFsaXplUGxhY2Vob2xkZXIgPSBmdW5jdGlvbiAoXywgcGxhY2Vob2xkZXIpIHsKCQkJCWlmICh0eXBlb2YgcGxhY2Vob2xkZXIgPT09ICdzdHJpbmcnKSB7CgkJCQkJcGxhY2Vob2xkZXIgPSB7CgkJCQkJCWlkOiAnJywKCQkJCQkJdGV4dDogcGxhY2Vob2xkZXIKCQkJCQl9OwoJCQkJfQoKCQkJCXJldHVybiBwbGFjZWhvbGRlcjsKCQkJfTsKCgkJCUhpZGVQbGFjZWhvbGRlci5wcm90b3R5cGUucmVtb3ZlUGxhY2Vob2xkZXIgPSBmdW5jdGlvbiAoXywgZGF0YSkgewoJCQkJdmFyIG1vZGlmaWVkRGF0YSA9IGRhdGEuc2xpY2UoMCk7CgoJCQkJZm9yICh2YXIgZCA9IGRhdGEubGVuZ3RoIC0gMTsgZCA+PSAwOyBkLS0pIHsKCQkJCQl2YXIgaXRlbSA9IGRhdGFbZF07CgoJCQkJCWlmICh0aGlzLnBsYWNlaG9sZGVyLmlkID09PSBpdGVtLmlkKSB7CgkJCQkJCW1vZGlmaWVkRGF0YS5zcGxpY2UoZCwgMSk7CgkJCQkJfQoJCQkJfQoKCQkJCXJldHVybiBtb2RpZmllZERhdGE7CgkJCX07CgoJCQlyZXR1cm4gSGlkZVBsYWNlaG9sZGVyOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZHJvcGRvd24vaW5maW5pdGVTY3JvbGwnLFsKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoJCkgewoJCQlmdW5jdGlvbiBJbmZpbml0ZVNjcm9sbCAoZGVjb3JhdGVkLCAkZWxlbWVudCwgb3B0aW9ucywgZGF0YUFkYXB0ZXIpIHsKCQkJCXRoaXMubGFzdFBhcmFtcyA9IHt9OwoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsICRlbGVtZW50LCBvcHRpb25zLCBkYXRhQWRhcHRlcik7CgoJCQkJdGhpcy4kbG9hZGluZ01vcmUgPSB0aGlzLmNyZWF0ZUxvYWRpbmdNb3JlKCk7CgkJCQl0aGlzLmxvYWRpbmcgPSBmYWxzZTsKCQkJfQoKCQkJSW5maW5pdGVTY3JvbGwucHJvdG90eXBlLmFwcGVuZCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIGRhdGEpIHsKCQkJCXRoaXMuJGxvYWRpbmdNb3JlLnJlbW92ZSgpOwoJCQkJdGhpcy5sb2FkaW5nID0gZmFsc2U7CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgZGF0YSk7CgoJCQkJaWYgKHRoaXMuc2hvd0xvYWRpbmdNb3JlKGRhdGEpKSB7CgkJCQkJdGhpcy4kcmVzdWx0cy5hcHBlbmQodGhpcy4kbG9hZGluZ01vcmUpOwoJCQkJfQoJCQl9OwoKCQkJSW5maW5pdGVTY3JvbGwucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCWNvbnRhaW5lci5vbigncXVlcnknLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi5sYXN0UGFyYW1zID0gcGFyYW1zOwoJCQkJCXNlbGYubG9hZGluZyA9IHRydWU7CgkJCQl9KTsKCgkJCQljb250YWluZXIub24oJ3F1ZXJ5OmFwcGVuZCcsIGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQlzZWxmLmxhc3RQYXJhbXMgPSBwYXJhbXM7CgkJCQkJc2VsZi5sb2FkaW5nID0gdHJ1ZTsKCQkJCX0pOwoKCQkJCXRoaXMuJHJlc3VsdHMub24oJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHsKCQkJCQl2YXIgaXNMb2FkTW9yZVZpc2libGUgPSAkLmNvbnRhaW5zKAoJCQkJCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsCgkJCQkJCXNlbGYuJGxvYWRpbmdNb3JlWzBdCgkJCQkJKTsKCgkJCQkJaWYgKHNlbGYubG9hZGluZyB8fCAhaXNMb2FkTW9yZVZpc2libGUpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJdmFyIGN1cnJlbnRPZmZzZXQgPSBzZWxmLiRyZXN1bHRzLm9mZnNldCgpLnRvcCArCgkJCQkJCXNlbGYuJHJlc3VsdHMub3V0ZXJIZWlnaHQoZmFsc2UpOwoJCQkJCXZhciBsb2FkaW5nTW9yZU9mZnNldCA9IHNlbGYuJGxvYWRpbmdNb3JlLm9mZnNldCgpLnRvcCArCgkJCQkJCXNlbGYuJGxvYWRpbmdNb3JlLm91dGVySGVpZ2h0KGZhbHNlKTsKCgkJCQkJaWYgKGN1cnJlbnRPZmZzZXQgKyA1MCA+PSBsb2FkaW5nTW9yZU9mZnNldCkgewoJCQkJCQlzZWxmLmxvYWRNb3JlKCk7CgkJCQkJfQoJCQkJfSk7CgkJCX07CgoJCQlJbmZpbml0ZVNjcm9sbC5wcm90b3R5cGUubG9hZE1vcmUgPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLmxvYWRpbmcgPSB0cnVlOwoKCQkJCXZhciBwYXJhbXMgPSAkLmV4dGVuZCh7fSwge3BhZ2U6IDF9LCB0aGlzLmxhc3RQYXJhbXMpOwoKCQkJCXBhcmFtcy5wYWdlKys7CgoJCQkJdGhpcy50cmlnZ2VyKCdxdWVyeTphcHBlbmQnLCBwYXJhbXMpOwoJCQl9OwoKCQkJSW5maW5pdGVTY3JvbGwucHJvdG90eXBlLnNob3dMb2FkaW5nTW9yZSA9IGZ1bmN0aW9uIChfLCBkYXRhKSB7CgkJCQlyZXR1cm4gZGF0YS5wYWdpbmF0aW9uICYmIGRhdGEucGFnaW5hdGlvbi5tb3JlOwoJCQl9OwoKCQkJSW5maW5pdGVTY3JvbGwucHJvdG90eXBlLmNyZWF0ZUxvYWRpbmdNb3JlID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyICRvcHRpb24gPSAkKAoJCQkJCSc8bGkgJyArCgkJCQkJJ2NsYXNzPSJzZWxlY3QyLXJlc3VsdHNfX29wdGlvbiBzZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0tbG9hZC1tb3JlIicgKwoJCQkJCSdyb2xlPSJ0cmVlaXRlbSIgYXJpYS1kaXNhYmxlZD0idHJ1ZSI+PC9saT4nCgkJCQkpOwoKCQkJCXZhciBtZXNzYWdlID0gdGhpcy5vcHRpb25zLmdldCgndHJhbnNsYXRpb25zJykuZ2V0KCdsb2FkaW5nTW9yZScpOwoKCQkJCSRvcHRpb24uaHRtbChtZXNzYWdlKHRoaXMubGFzdFBhcmFtcykpOwoKCQkJCXJldHVybiAkb3B0aW9uOwoJCQl9OwoKCQkJcmV0dXJuIEluZmluaXRlU2Nyb2xsOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZHJvcGRvd24vYXR0YWNoQm9keScsWwoJCQknanF1ZXJ5JywKCQkJJy4uL3V0aWxzJwoJCV0sIGZ1bmN0aW9uICgkLCBVdGlscykgewoJCQlmdW5jdGlvbiBBdHRhY2hCb2R5IChkZWNvcmF0ZWQsICRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQl0aGlzLiRkcm9wZG93blBhcmVudCA9IG9wdGlvbnMuZ2V0KCdkcm9wZG93blBhcmVudCcpIHx8ICQoZG9jdW1lbnQuYm9keSk7CgoJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgJGVsZW1lbnQsIG9wdGlvbnMpOwoJCQl9CgoJCQlBdHRhY2hCb2R5LnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgY29udGFpbmVyLCAkY29udGFpbmVyKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJdmFyIHNldHVwUmVzdWx0c0V2ZW50cyA9IGZhbHNlOwoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsIGNvbnRhaW5lciwgJGNvbnRhaW5lcik7CgoJCQkJY29udGFpbmVyLm9uKCdvcGVuJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuX3Nob3dEcm9wZG93bigpOwoJCQkJCXNlbGYuX2F0dGFjaFBvc2l0aW9uaW5nSGFuZGxlcihjb250YWluZXIpOwoKCQkJCQlpZiAoIXNldHVwUmVzdWx0c0V2ZW50cykgewoJCQkJCQlzZXR1cFJlc3VsdHNFdmVudHMgPSB0cnVlOwoKCQkJCQkJY29udGFpbmVyLm9uKCdyZXN1bHRzOmFsbCcsIGZ1bmN0aW9uICgpIHsKCQkJCQkJCXNlbGYuX3Bvc2l0aW9uRHJvcGRvd24oKTsKCQkJCQkJCXNlbGYuX3Jlc2l6ZURyb3Bkb3duKCk7CgkJCQkJCX0pOwoKCQkJCQkJY29udGFpbmVyLm9uKCdyZXN1bHRzOmFwcGVuZCcsIGZ1bmN0aW9uICgpIHsKCQkJCQkJCXNlbGYuX3Bvc2l0aW9uRHJvcGRvd24oKTsKCQkJCQkJCXNlbGYuX3Jlc2l6ZURyb3Bkb3duKCk7CgkJCQkJCX0pOwoJCQkJCX0KCQkJCX0pOwoKCQkJCWNvbnRhaW5lci5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7CgkJCQkJc2VsZi5faGlkZURyb3Bkb3duKCk7CgkJCQkJc2VsZi5fZGV0YWNoUG9zaXRpb25pbmdIYW5kbGVyKGNvbnRhaW5lcik7CgkJCQl9KTsKCgkJCQl0aGlzLiRkcm9wZG93bkNvbnRhaW5lci5vbignbW91c2Vkb3duJywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCWV2dC5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCX0pOwoJCQl9OwoKCQkJQXR0YWNoQm9keS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQpIHsKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMpOwoKCQkJCXRoaXMuJGRyb3Bkb3duQ29udGFpbmVyLnJlbW92ZSgpOwoJCQl9OwoKCQkJQXR0YWNoQm9keS5wcm90b3R5cGUucG9zaXRpb24gPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCAkZHJvcGRvd24sICRjb250YWluZXIpIHsKCQkJCS8vIENsb25lIGFsbCBvZiB0aGUgY29udGFpbmVyIGNsYXNzZXMKCQkJCSRkcm9wZG93bi5hdHRyKCdjbGFzcycsICRjb250YWluZXIuYXR0cignY2xhc3MnKSk7CgoJCQkJJGRyb3Bkb3duLnJlbW92ZUNsYXNzKCdzZWxlY3QyJyk7CgkJCQkkZHJvcGRvd24uYWRkQ2xhc3MoJ3NlbGVjdDItY29udGFpbmVyLS1vcGVuJyk7CgoJCQkJJGRyb3Bkb3duLmNzcyh7CgkJCQkJcG9zaXRpb246ICdhYnNvbHV0ZScsCgkJCQkJdG9wOiAtOTk5OTk5CgkJCQl9KTsKCgkJCQl0aGlzLiRjb250YWluZXIgPSAkY29udGFpbmVyOwoJCQl9OwoKCQkJQXR0YWNoQm9keS5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKGRlY29yYXRlZCkgewoJCQkJdmFyICRjb250YWluZXIgPSAkKCc8c3Bhbj48L3NwYW4+Jyk7CgoJCQkJdmFyICRkcm9wZG93biA9IGRlY29yYXRlZC5jYWxsKHRoaXMpOwoJCQkJJGNvbnRhaW5lci5hcHBlbmQoJGRyb3Bkb3duKTsKCgkJCQl0aGlzLiRkcm9wZG93bkNvbnRhaW5lciA9ICRjb250YWluZXI7CgoJCQkJcmV0dXJuICRjb250YWluZXI7CgkJCX07CgoJCQlBdHRhY2hCb2R5LnByb3RvdHlwZS5faGlkZURyb3Bkb3duID0gZnVuY3Rpb24gKGRlY29yYXRlZCkgewoJCQkJdGhpcy4kZHJvcGRvd25Db250YWluZXIuZGV0YWNoKCk7CgkJCX07CgoJCQlBdHRhY2hCb2R5LnByb3RvdHlwZS5fYXR0YWNoUG9zaXRpb25pbmdIYW5kbGVyID0KCQkJCWZ1bmN0aW9uIChkZWNvcmF0ZWQsIGNvbnRhaW5lcikgewoJCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQkJdmFyIHNjcm9sbEV2ZW50ID0gJ3Njcm9sbC5zZWxlY3QyLicgKyBjb250YWluZXIuaWQ7CgkJCQkJdmFyIHJlc2l6ZUV2ZW50ID0gJ3Jlc2l6ZS5zZWxlY3QyLicgKyBjb250YWluZXIuaWQ7CgkJCQkJdmFyIG9yaWVudGF0aW9uRXZlbnQgPSAnb3JpZW50YXRpb25jaGFuZ2Uuc2VsZWN0Mi4nICsgY29udGFpbmVyLmlkOwoKCQkJCQl2YXIgJHdhdGNoZXJzID0gdGhpcy4kY29udGFpbmVyLnBhcmVudHMoKS5maWx0ZXIoVXRpbHMuaGFzU2Nyb2xsKTsKCQkJCQkkd2F0Y2hlcnMuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQkJCSQodGhpcykuZGF0YSgnc2VsZWN0Mi1zY3JvbGwtcG9zaXRpb24nLCB7CgkJCQkJCQl4OiAkKHRoaXMpLnNjcm9sbExlZnQoKSwKCQkJCQkJCXk6ICQodGhpcykuc2Nyb2xsVG9wKCkKCQkJCQkJfSk7CgkJCQkJfSk7CgoJCQkJCSR3YXRjaGVycy5vbihzY3JvbGxFdmVudCwgZnVuY3Rpb24gKGV2KSB7CgkJCQkJCXZhciBwb3NpdGlvbiA9ICQodGhpcykuZGF0YSgnc2VsZWN0Mi1zY3JvbGwtcG9zaXRpb24nKTsKCQkJCQkJJCh0aGlzKS5zY3JvbGxUb3AocG9zaXRpb24ueSk7CgkJCQkJfSk7CgoJCQkJCSQod2luZG93KS5vbihzY3JvbGxFdmVudCArICcgJyArIHJlc2l6ZUV2ZW50ICsgJyAnICsgb3JpZW50YXRpb25FdmVudCwKCQkJCQkJZnVuY3Rpb24gKGUpIHsKCQkJCQkJCXNlbGYuX3Bvc2l0aW9uRHJvcGRvd24oKTsKCQkJCQkJCXNlbGYuX3Jlc2l6ZURyb3Bkb3duKCk7CgkJCQkJCX0pOwoJCQkJfTsKCgkJCUF0dGFjaEJvZHkucHJvdG90eXBlLl9kZXRhY2hQb3NpdGlvbmluZ0hhbmRsZXIgPQoJCQkJZnVuY3Rpb24gKGRlY29yYXRlZCwgY29udGFpbmVyKSB7CgkJCQkJdmFyIHNjcm9sbEV2ZW50ID0gJ3Njcm9sbC5zZWxlY3QyLicgKyBjb250YWluZXIuaWQ7CgkJCQkJdmFyIHJlc2l6ZUV2ZW50ID0gJ3Jlc2l6ZS5zZWxlY3QyLicgKyBjb250YWluZXIuaWQ7CgkJCQkJdmFyIG9yaWVudGF0aW9uRXZlbnQgPSAnb3JpZW50YXRpb25jaGFuZ2Uuc2VsZWN0Mi4nICsgY29udGFpbmVyLmlkOwoKCQkJCQl2YXIgJHdhdGNoZXJzID0gdGhpcy4kY29udGFpbmVyLnBhcmVudHMoKS5maWx0ZXIoVXRpbHMuaGFzU2Nyb2xsKTsKCQkJCQkkd2F0Y2hlcnMub2ZmKHNjcm9sbEV2ZW50KTsKCgkJCQkJJCh3aW5kb3cpLm9mZihzY3JvbGxFdmVudCArICcgJyArIHJlc2l6ZUV2ZW50ICsgJyAnICsgb3JpZW50YXRpb25FdmVudCk7CgkJCQl9OwoKCQkJQXR0YWNoQm9keS5wcm90b3R5cGUuX3Bvc2l0aW9uRHJvcGRvd24gPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgJHdpbmRvdyA9ICQod2luZG93KTsKCgkJCQl2YXIgaXNDdXJyZW50bHlBYm92ZSA9IHRoaXMuJGRyb3Bkb3duLmhhc0NsYXNzKCdzZWxlY3QyLWRyb3Bkb3duLS1hYm92ZScpOwoJCQkJdmFyIGlzQ3VycmVudGx5QmVsb3cgPSB0aGlzLiRkcm9wZG93bi5oYXNDbGFzcygnc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cnKTsKCgkJCQl2YXIgbmV3RGlyZWN0aW9uID0gbnVsbDsKCgkJCQl2YXIgb2Zmc2V0ID0gdGhpcy4kY29udGFpbmVyLm9mZnNldCgpOwoKCQkJCW9mZnNldC5ib3R0b20gPSBvZmZzZXQudG9wICsgdGhpcy4kY29udGFpbmVyLm91dGVySGVpZ2h0KGZhbHNlKTsKCgkJCQl2YXIgY29udGFpbmVyID0gewoJCQkJCWhlaWdodDogdGhpcy4kY29udGFpbmVyLm91dGVySGVpZ2h0KGZhbHNlKQoJCQkJfTsKCgkJCQljb250YWluZXIudG9wID0gb2Zmc2V0LnRvcDsKCQkJCWNvbnRhaW5lci5ib3R0b20gPSBvZmZzZXQudG9wICsgY29udGFpbmVyLmhlaWdodDsKCgkJCQl2YXIgZHJvcGRvd24gPSB7CgkJCQkJaGVpZ2h0OiB0aGlzLiRkcm9wZG93bi5vdXRlckhlaWdodChmYWxzZSkKCQkJCX07CgoJCQkJdmFyIHZpZXdwb3J0ID0gewoJCQkJCXRvcDogJHdpbmRvdy5zY3JvbGxUb3AoKSwKCQkJCQlib3R0b206ICR3aW5kb3cuc2Nyb2xsVG9wKCkgKyAkd2luZG93LmhlaWdodCgpCgkJCQl9OwoKCQkJCXZhciBlbm91Z2hSb29tQWJvdmUgPSB2aWV3cG9ydC50b3AgPCAob2Zmc2V0LnRvcCAtIGRyb3Bkb3duLmhlaWdodCk7CgkJCQl2YXIgZW5vdWdoUm9vbUJlbG93ID0gdmlld3BvcnQuYm90dG9tID4gKG9mZnNldC5ib3R0b20gKyBkcm9wZG93bi5oZWlnaHQpOwoKCQkJCXZhciBjc3MgPSB7CgkJCQkJbGVmdDogb2Zmc2V0LmxlZnQsCgkJCQkJdG9wOiBjb250YWluZXIuYm90dG9tCgkJCQl9OwoKCQkJCS8vIERldGVybWluZSB3aGF0IHRoZSBwYXJlbnQgZWxlbWVudCBpcyB0byB1c2UgZm9yIGNhbGNpdWxhdGluZyB0aGUgb2Zmc2V0CgkJCQl2YXIgJG9mZnNldFBhcmVudCA9IHRoaXMuJGRyb3Bkb3duUGFyZW50OwoKCQkJCS8vIEZvciBzdGF0aWNhbGx5IHBvc2l0b25lZCBlbGVtZW50cywgd2UgbmVlZCB0byBnZXQgdGhlIGVsZW1lbnQKCQkJCS8vIHRoYXQgaXMgZGV0ZXJtaW5pbmcgdGhlIG9mZnNldAoJCQkJaWYgKCRvZmZzZXRQYXJlbnQuY3NzKCdwb3NpdGlvbicpID09PSAnc3RhdGljJykgewoJCQkJCSRvZmZzZXRQYXJlbnQgPSAkb2Zmc2V0UGFyZW50Lm9mZnNldFBhcmVudCgpOwoJCQkJfQoKCQkJCXZhciBwYXJlbnRPZmZzZXQgPSAkb2Zmc2V0UGFyZW50Lm9mZnNldCgpOwoKCQkJCWNzcy50b3AgLT0gcGFyZW50T2Zmc2V0LnRvcDsKCQkJCWNzcy5sZWZ0IC09IHBhcmVudE9mZnNldC5sZWZ0OwoKCQkJCWlmICghaXNDdXJyZW50bHlBYm92ZSAmJiAhaXNDdXJyZW50bHlCZWxvdykgewoJCQkJCW5ld0RpcmVjdGlvbiA9ICdiZWxvdyc7CgkJCQl9CgoJCQkJaWYgKCFlbm91Z2hSb29tQmVsb3cgJiYgZW5vdWdoUm9vbUFib3ZlICYmICFpc0N1cnJlbnRseUFib3ZlKSB7CgkJCQkJbmV3RGlyZWN0aW9uID0gJ2Fib3ZlJzsKCQkJCX0gZWxzZSBpZiAoIWVub3VnaFJvb21BYm92ZSAmJiBlbm91Z2hSb29tQmVsb3cgJiYgaXNDdXJyZW50bHlBYm92ZSkgewoJCQkJCW5ld0RpcmVjdGlvbiA9ICdiZWxvdyc7CgkJCQl9CgoJCQkJaWYgKG5ld0RpcmVjdGlvbiA9PSAnYWJvdmUnIHx8CgkJCQkJKGlzQ3VycmVudGx5QWJvdmUgJiYgbmV3RGlyZWN0aW9uICE9PSAnYmVsb3cnKSkgewoJCQkJCWNzcy50b3AgPSBjb250YWluZXIudG9wIC0gcGFyZW50T2Zmc2V0LnRvcCAtIGRyb3Bkb3duLmhlaWdodDsKCQkJCX0KCgkJCQlpZiAobmV3RGlyZWN0aW9uICE9IG51bGwpIHsKCQkJCQl0aGlzLiRkcm9wZG93bgoJCQkJCQkucmVtb3ZlQ2xhc3MoJ3NlbGVjdDItZHJvcGRvd24tLWJlbG93IHNlbGVjdDItZHJvcGRvd24tLWFib3ZlJykKCQkJCQkJLmFkZENsYXNzKCdzZWxlY3QyLWRyb3Bkb3duLS0nICsgbmV3RGlyZWN0aW9uKTsKCQkJCQl0aGlzLiRjb250YWluZXIKCQkJCQkJLnJlbW92ZUNsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cgc2VsZWN0Mi1jb250YWluZXItLWFib3ZlJykKCQkJCQkJLmFkZENsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tJyArIG5ld0RpcmVjdGlvbik7CgkJCQl9CgoJCQkJdGhpcy4kZHJvcGRvd25Db250YWluZXIuY3NzKGNzcyk7CgkJCX07CgoJCQlBdHRhY2hCb2R5LnByb3RvdHlwZS5fcmVzaXplRHJvcGRvd24gPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgY3NzID0gewoJCQkJCXdpZHRoOiB0aGlzLiRjb250YWluZXIub3V0ZXJXaWR0aChmYWxzZSkgKyAncHgnCgkJCQl9OwoKCQkJCWlmICh0aGlzLm9wdGlvbnMuZ2V0KCdkcm9wZG93bkF1dG9XaWR0aCcpKSB7CgkJCQkJY3NzLm1pbldpZHRoID0gY3NzLndpZHRoOwoJCQkJCWNzcy5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7CgkJCQkJY3NzLndpZHRoID0gJ2F1dG8nOwoJCQkJfQoKCQkJCXRoaXMuJGRyb3Bkb3duLmNzcyhjc3MpOwoJCQl9OwoKCQkJQXR0YWNoQm9keS5wcm90b3R5cGUuX3Nob3dEcm9wZG93biA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQpIHsKCQkJCXRoaXMuJGRyb3Bkb3duQ29udGFpbmVyLmFwcGVuZFRvKHRoaXMuJGRyb3Bkb3duUGFyZW50KTsKCgkJCQl0aGlzLl9wb3NpdGlvbkRyb3Bkb3duKCk7CgkJCQl0aGlzLl9yZXNpemVEcm9wZG93bigpOwoJCQl9OwoKCQkJcmV0dXJuIEF0dGFjaEJvZHk7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kcm9wZG93bi9taW5pbXVtUmVzdWx0c0ZvclNlYXJjaCcsWwoKCQldLCBmdW5jdGlvbiAoKSB7CgkJCWZ1bmN0aW9uIGNvdW50UmVzdWx0cyAoZGF0YSkgewoJCQkJdmFyIGNvdW50ID0gMDsKCgkJCQlmb3IgKHZhciBkID0gMDsgZCA8IGRhdGEubGVuZ3RoOyBkKyspIHsKCQkJCQl2YXIgaXRlbSA9IGRhdGFbZF07CgoJCQkJCWlmIChpdGVtLmNoaWxkcmVuKSB7CgkJCQkJCWNvdW50ICs9IGNvdW50UmVzdWx0cyhpdGVtLmNoaWxkcmVuKTsKCQkJCQl9IGVsc2UgewoJCQkJCQljb3VudCsrOwoJCQkJCX0KCQkJCX0KCgkJCQlyZXR1cm4gY291bnQ7CgkJCX0KCgkJCWZ1bmN0aW9uIE1pbmltdW1SZXN1bHRzRm9yU2VhcmNoIChkZWNvcmF0ZWQsICRlbGVtZW50LCBvcHRpb25zLCBkYXRhQWRhcHRlcikgewoJCQkJdGhpcy5taW5pbXVtUmVzdWx0c0ZvclNlYXJjaCA9IG9wdGlvbnMuZ2V0KCdtaW5pbXVtUmVzdWx0c0ZvclNlYXJjaCcpOwoKCQkJCWlmICh0aGlzLm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoIDwgMCkgewoJCQkJCXRoaXMubWluaW11bVJlc3VsdHNGb3JTZWFyY2ggPSBJbmZpbml0eTsKCQkJCX0KCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucywgZGF0YUFkYXB0ZXIpOwoJCQl9CgoJCQlNaW5pbXVtUmVzdWx0c0ZvclNlYXJjaC5wcm90b3R5cGUuc2hvd1NlYXJjaCA9IGZ1bmN0aW9uIChkZWNvcmF0ZWQsIHBhcmFtcykgewoJCQkJaWYgKGNvdW50UmVzdWx0cyhwYXJhbXMuZGF0YS5yZXN1bHRzKSA8IHRoaXMubWluaW11bVJlc3VsdHNGb3JTZWFyY2gpIHsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgoJCQkJcmV0dXJuIGRlY29yYXRlZC5jYWxsKHRoaXMsIHBhcmFtcyk7CgkJCX07CgoJCQlyZXR1cm4gTWluaW11bVJlc3VsdHNGb3JTZWFyY2g7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kcm9wZG93bi9zZWxlY3RPbkNsb3NlJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gU2VsZWN0T25DbG9zZSAoKSB7IH0KCgkJCVNlbGVjdE9uQ2xvc2UucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCWNvbnRhaW5lci5vbignY2xvc2UnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi5faGFuZGxlU2VsZWN0T25DbG9zZShwYXJhbXMpOwoJCQkJfSk7CgkJCX07CgoJCQlTZWxlY3RPbkNsb3NlLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0T25DbG9zZSA9IGZ1bmN0aW9uIChfLCBwYXJhbXMpIHsKCQkJCWlmIChwYXJhbXMgJiYgcGFyYW1zLm9yaWdpbmFsU2VsZWN0MkV2ZW50ICE9IG51bGwpIHsKCQkJCQl2YXIgZXZlbnQgPSBwYXJhbXMub3JpZ2luYWxTZWxlY3QyRXZlbnQ7CgoJCQkJCS8vIERvbid0IHNlbGVjdCBhbiBpdGVtIGlmIHRoZSBjbG9zZSBldmVudCB3YXMgdHJpZ2dlcmVkIGZyb20gYSBzZWxlY3Qgb3IKCQkJCQkvLyB1bnNlbGVjdCBldmVudAoJCQkJCWlmIChldmVudC5fdHlwZSA9PT0gJ3NlbGVjdCcgfHwgZXZlbnQuX3R5cGUgPT09ICd1bnNlbGVjdCcpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCQkJCX0KCgkJCQl2YXIgJGhpZ2hsaWdodGVkUmVzdWx0cyA9IHRoaXMuZ2V0SGlnaGxpZ2h0ZWRSZXN1bHRzKCk7CgoJCQkJLy8gT25seSBzZWxlY3QgaGlnaGxpZ2h0ZWQgcmVzdWx0cwoJCQkJaWYgKCRoaWdobGlnaHRlZFJlc3VsdHMubGVuZ3RoIDwgMSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl2YXIgZGF0YSA9ICRoaWdobGlnaHRlZFJlc3VsdHMuZGF0YSgnZGF0YScpOwoKCQkJCS8vIERvbid0IHJlLXNlbGVjdCBhbHJlYWR5IHNlbGVjdGVkIHJlc3VsdGUKCQkJCWlmICgKCQkJCQkoZGF0YS5lbGVtZW50ICE9IG51bGwgJiYgZGF0YS5lbGVtZW50LnNlbGVjdGVkKSB8fAoJCQkJCShkYXRhLmVsZW1lbnQgPT0gbnVsbCAmJiBkYXRhLnNlbGVjdGVkKQoJCQkJKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXRoaXMudHJpZ2dlcignc2VsZWN0JywgewoJCQkJCWRhdGE6IGRhdGEKCQkJCX0pOwoJCQl9OwoKCQkJcmV0dXJuIFNlbGVjdE9uQ2xvc2U7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9kcm9wZG93bi9jbG9zZU9uU2VsZWN0JyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gQ2xvc2VPblNlbGVjdCAoKSB7IH0KCgkJCUNsb3NlT25TZWxlY3QucHJvdG90eXBlLmJpbmQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjb250YWluZXIsICRjb250YWluZXIpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCWNvbnRhaW5lci5vbignc2VsZWN0JywgZnVuY3Rpb24gKGV2dCkgewoJCQkJCXNlbGYuX3NlbGVjdFRyaWdnZXJlZChldnQpOwoJCQkJfSk7CgoJCQkJY29udGFpbmVyLm9uKCd1bnNlbGVjdCcsIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlzZWxmLl9zZWxlY3RUcmlnZ2VyZWQoZXZ0KTsKCQkJCX0pOwoJCQl9OwoKCQkJQ2xvc2VPblNlbGVjdC5wcm90b3R5cGUuX3NlbGVjdFRyaWdnZXJlZCA9IGZ1bmN0aW9uIChfLCBldnQpIHsKCQkJCXZhciBvcmlnaW5hbEV2ZW50ID0gZXZ0Lm9yaWdpbmFsRXZlbnQ7CgoJCQkJLy8gRG9uJ3QgY2xvc2UgaWYgdGhlIGNvbnRyb2wga2V5IGlzIGJlaW5nIGhlbGQKCQkJCWlmIChvcmlnaW5hbEV2ZW50ICYmIG9yaWdpbmFsRXZlbnQuY3RybEtleSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl0aGlzLnRyaWdnZXIoJ2Nsb3NlJywgewoJCQkJCW9yaWdpbmFsRXZlbnQ6IG9yaWdpbmFsRXZlbnQsCgkJCQkJb3JpZ2luYWxTZWxlY3QyRXZlbnQ6IGV2dAoJCQkJfSk7CgkJCX07CgoJCQlyZXR1cm4gQ2xvc2VPblNlbGVjdDsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2kxOG4vZW4nLFtdLGZ1bmN0aW9uICgpIHsKCQkJLy8gRW5nbGlzaAoJCQlyZXR1cm4gewoJCQkJZXJyb3JMb2FkaW5nOiBmdW5jdGlvbiAoKSB7CgkJCQkJcmV0dXJuICdUaGUgcmVzdWx0cyBjb3VsZCBub3QgYmUgbG9hZGVkLic7CgkJCQl9LAoJCQkJaW5wdXRUb29Mb25nOiBmdW5jdGlvbiAoYXJncykgewoJCQkJCXZhciBvdmVyQ2hhcnMgPSBhcmdzLmlucHV0Lmxlbmd0aCAtIGFyZ3MubWF4aW11bTsKCgkJCQkJdmFyIG1lc3NhZ2UgPSAnUGxlYXNlIGRlbGV0ZSAnICsgb3ZlckNoYXJzICsgJyBjaGFyYWN0ZXInOwoKCQkJCQlpZiAob3ZlckNoYXJzICE9IDEpIHsKCQkJCQkJbWVzc2FnZSArPSAncyc7CgkJCQkJfQoKCQkJCQlyZXR1cm4gbWVzc2FnZTsKCQkJCX0sCgkJCQlpbnB1dFRvb1Nob3J0OiBmdW5jdGlvbiAoYXJncykgewoJCQkJCXZhciByZW1haW5pbmdDaGFycyA9IGFyZ3MubWluaW11bSAtIGFyZ3MuaW5wdXQubGVuZ3RoOwoKCQkJCQl2YXIgbWVzc2FnZSA9ICdQbGVhc2UgZW50ZXIgJyArIHJlbWFpbmluZ0NoYXJzICsgJyBvciBtb3JlIGNoYXJhY3RlcnMnOwoKCQkJCQlyZXR1cm4gbWVzc2FnZTsKCQkJCX0sCgkJCQlsb2FkaW5nTW9yZTogZnVuY3Rpb24gKCkgewoJCQkJCXJldHVybiAnTG9hZGluZyBtb3JlIHJlc3VsdHPDouKCrMKmJzsKCQkJCX0sCgkJCQltYXhpbXVtU2VsZWN0ZWQ6IGZ1bmN0aW9uIChhcmdzKSB7CgkJCQkJdmFyIG1lc3NhZ2UgPSAnWW91IGNhbiBvbmx5IHNlbGVjdCAnICsgYXJncy5tYXhpbXVtICsgJyBpdGVtJzsKCgkJCQkJaWYgKGFyZ3MubWF4aW11bSAhPSAxKSB7CgkJCQkJCW1lc3NhZ2UgKz0gJ3MnOwoJCQkJCX0KCgkJCQkJcmV0dXJuIG1lc3NhZ2U7CgkJCQl9LAoJCQkJbm9SZXN1bHRzOiBmdW5jdGlvbiAoKSB7CgkJCQkJcmV0dXJuICdObyByZXN1bHRzIGZvdW5kJzsKCQkJCX0sCgkJCQlzZWFyY2hpbmc6IGZ1bmN0aW9uICgpIHsKCQkJCQlyZXR1cm4gJ1NlYXJjaGluZ8Oi4oKswqYnOwoJCQkJfQoJCQl9OwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZGVmYXVsdHMnLFsKCQkJJ2pxdWVyeScsCgkJCSdyZXF1aXJlJywKCgkJCScuL3Jlc3VsdHMnLAoKCQkJJy4vc2VsZWN0aW9uL3NpbmdsZScsCgkJCScuL3NlbGVjdGlvbi9tdWx0aXBsZScsCgkJCScuL3NlbGVjdGlvbi9wbGFjZWhvbGRlcicsCgkJCScuL3NlbGVjdGlvbi9hbGxvd0NsZWFyJywKCQkJJy4vc2VsZWN0aW9uL3NlYXJjaCcsCgkJCScuL3NlbGVjdGlvbi9ldmVudFJlbGF5JywKCgkJCScuL3V0aWxzJywKCQkJJy4vdHJhbnNsYXRpb24nLAoJCQknLi9kaWFjcml0aWNzJywKCgkJCScuL2RhdGEvc2VsZWN0JywKCQkJJy4vZGF0YS9hcnJheScsCgkJCScuL2RhdGEvYWpheCcsCgkJCScuL2RhdGEvdGFncycsCgkJCScuL2RhdGEvdG9rZW5pemVyJywKCQkJJy4vZGF0YS9taW5pbXVtSW5wdXRMZW5ndGgnLAoJCQknLi9kYXRhL21heGltdW1JbnB1dExlbmd0aCcsCgkJCScuL2RhdGEvbWF4aW11bVNlbGVjdGlvbkxlbmd0aCcsCgoJCQknLi9kcm9wZG93bicsCgkJCScuL2Ryb3Bkb3duL3NlYXJjaCcsCgkJCScuL2Ryb3Bkb3duL2hpZGVQbGFjZWhvbGRlcicsCgkJCScuL2Ryb3Bkb3duL2luZmluaXRlU2Nyb2xsJywKCQkJJy4vZHJvcGRvd24vYXR0YWNoQm9keScsCgkJCScuL2Ryb3Bkb3duL21pbmltdW1SZXN1bHRzRm9yU2VhcmNoJywKCQkJJy4vZHJvcGRvd24vc2VsZWN0T25DbG9zZScsCgkJCScuL2Ryb3Bkb3duL2Nsb3NlT25TZWxlY3QnLAoKCQkJJy4vaTE4bi9lbicKCQldLCBmdW5jdGlvbiAoJCwgcmVxdWlyZSwKCgkJCQkJIFJlc3VsdHNMaXN0LAoKCQkJCQkgU2luZ2xlU2VsZWN0aW9uLCBNdWx0aXBsZVNlbGVjdGlvbiwgUGxhY2Vob2xkZXIsIEFsbG93Q2xlYXIsCgkJCQkJIFNlbGVjdGlvblNlYXJjaCwgRXZlbnRSZWxheSwKCgkJCQkJIFV0aWxzLCBUcmFuc2xhdGlvbiwgRElBQ1JJVElDUywKCgkJCQkJIFNlbGVjdERhdGEsIEFycmF5RGF0YSwgQWpheERhdGEsIFRhZ3MsIFRva2VuaXplciwKCQkJCQkgTWluaW11bUlucHV0TGVuZ3RoLCBNYXhpbXVtSW5wdXRMZW5ndGgsIE1heGltdW1TZWxlY3Rpb25MZW5ndGgsCgoJCQkJCSBEcm9wZG93biwgRHJvcGRvd25TZWFyY2gsIEhpZGVQbGFjZWhvbGRlciwgSW5maW5pdGVTY3JvbGwsCgkJCQkJIEF0dGFjaEJvZHksIE1pbmltdW1SZXN1bHRzRm9yU2VhcmNoLCBTZWxlY3RPbkNsb3NlLCBDbG9zZU9uU2VsZWN0LAoKCQkJCQkgRW5nbGlzaFRyYW5zbGF0aW9uKSB7CgkJCWZ1bmN0aW9uIERlZmF1bHRzICgpIHsKCQkJCXRoaXMucmVzZXQoKTsKCQkJfQoKCQkJRGVmYXVsdHMucHJvdG90eXBlLmFwcGx5ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHsKCQkJCW9wdGlvbnMgPSAkLmV4dGVuZCh0cnVlLCB7fSwgdGhpcy5kZWZhdWx0cywgb3B0aW9ucyk7CgoJCQkJaWYgKG9wdGlvbnMuZGF0YUFkYXB0ZXIgPT0gbnVsbCkgewoJCQkJCWlmIChvcHRpb25zLmFqYXggIT0gbnVsbCkgewoJCQkJCQlvcHRpb25zLmRhdGFBZGFwdGVyID0gQWpheERhdGE7CgkJCQkJfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgIT0gbnVsbCkgewoJCQkJCQlvcHRpb25zLmRhdGFBZGFwdGVyID0gQXJyYXlEYXRhOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBTZWxlY3REYXRhOwoJCQkJCX0KCgkJCQkJaWYgKG9wdGlvbnMubWluaW11bUlucHV0TGVuZ3RoID4gMCkgewoJCQkJCQlvcHRpb25zLmRhdGFBZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLmRhdGFBZGFwdGVyLAoJCQkJCQkJTWluaW11bUlucHV0TGVuZ3RoCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQlpZiAob3B0aW9ucy5tYXhpbXVtSW5wdXRMZW5ndGggPiAwKSB7CgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIsCgkJCQkJCQlNYXhpbXVtSW5wdXRMZW5ndGgKCQkJCQkJKTsKCQkJCQl9CgoJCQkJCWlmIChvcHRpb25zLm1heGltdW1TZWxlY3Rpb25MZW5ndGggPiAwKSB7CgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIsCgkJCQkJCQlNYXhpbXVtU2VsZWN0aW9uTGVuZ3RoCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQlpZiAob3B0aW9ucy50YWdzKSB7CgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZShvcHRpb25zLmRhdGFBZGFwdGVyLCBUYWdzKTsKCQkJCQl9CgoJCQkJCWlmIChvcHRpb25zLnRva2VuU2VwYXJhdG9ycyAhPSBudWxsIHx8IG9wdGlvbnMudG9rZW5pemVyICE9IG51bGwpIHsKCQkJCQkJb3B0aW9ucy5kYXRhQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQkJb3B0aW9ucy5kYXRhQWRhcHRlciwKCQkJCQkJCVRva2VuaXplcgoJCQkJCQkpOwoJCQkJCX0KCgkJCQkJaWYgKG9wdGlvbnMucXVlcnkgIT0gbnVsbCkgewoJCQkJCQl2YXIgUXVlcnkgPSByZXF1aXJlKG9wdGlvbnMuYW1kQmFzZSArICdjb21wYXQvcXVlcnknKTsKCgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIsCgkJCQkJCQlRdWVyeQoJCQkJCQkpOwoJCQkJCX0KCgkJCQkJaWYgKG9wdGlvbnMuaW5pdFNlbGVjdGlvbiAhPSBudWxsKSB7CgkJCQkJCXZhciBJbml0U2VsZWN0aW9uID0gcmVxdWlyZShvcHRpb25zLmFtZEJhc2UgKyAnY29tcGF0L2luaXRTZWxlY3Rpb24nKTsKCgkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJCW9wdGlvbnMuZGF0YUFkYXB0ZXIsCgkJCQkJCQlJbml0U2VsZWN0aW9uCgkJCQkJCSk7CgkJCQkJfQoJCQkJfQoKCQkJCWlmIChvcHRpb25zLnJlc3VsdHNBZGFwdGVyID09IG51bGwpIHsKCQkJCQlvcHRpb25zLnJlc3VsdHNBZGFwdGVyID0gUmVzdWx0c0xpc3Q7CgoJCQkJCWlmIChvcHRpb25zLmFqYXggIT0gbnVsbCkgewoJCQkJCQlvcHRpb25zLnJlc3VsdHNBZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLnJlc3VsdHNBZGFwdGVyLAoJCQkJCQkJSW5maW5pdGVTY3JvbGwKCQkJCQkJKTsKCQkJCQl9CgoJCQkJCWlmIChvcHRpb25zLnBsYWNlaG9sZGVyICE9IG51bGwpIHsKCQkJCQkJb3B0aW9ucy5yZXN1bHRzQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQkJb3B0aW9ucy5yZXN1bHRzQWRhcHRlciwKCQkJCQkJCUhpZGVQbGFjZWhvbGRlcgoJCQkJCQkpOwoJCQkJCX0KCgkJCQkJaWYgKG9wdGlvbnMuc2VsZWN0T25DbG9zZSkgewoJCQkJCQlvcHRpb25zLnJlc3VsdHNBZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLnJlc3VsdHNBZGFwdGVyLAoJCQkJCQkJU2VsZWN0T25DbG9zZQoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCgkJCQlpZiAob3B0aW9ucy5kcm9wZG93bkFkYXB0ZXIgPT0gbnVsbCkgewoJCQkJCWlmIChvcHRpb25zLm11bHRpcGxlKSB7CgkJCQkJCW9wdGlvbnMuZHJvcGRvd25BZGFwdGVyID0gRHJvcGRvd247CgkJCQkJfSBlbHNlIHsKCQkJCQkJdmFyIFNlYXJjaGFibGVEcm9wZG93biA9IFV0aWxzLkRlY29yYXRlKERyb3Bkb3duLCBEcm9wZG93blNlYXJjaCk7CgoJCQkJCQlvcHRpb25zLmRyb3Bkb3duQWRhcHRlciA9IFNlYXJjaGFibGVEcm9wZG93bjsKCQkJCQl9CgoJCQkJCWlmIChvcHRpb25zLm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoICE9PSAwKSB7CgkJCQkJCW9wdGlvbnMuZHJvcGRvd25BZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLmRyb3Bkb3duQWRhcHRlciwKCQkJCQkJCU1pbmltdW1SZXN1bHRzRm9yU2VhcmNoCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQlpZiAob3B0aW9ucy5jbG9zZU9uU2VsZWN0KSB7CgkJCQkJCW9wdGlvbnMuZHJvcGRvd25BZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLmRyb3Bkb3duQWRhcHRlciwKCQkJCQkJCUNsb3NlT25TZWxlY3QKCQkJCQkJKTsKCQkJCQl9CgoJCQkJCWlmICgKCQkJCQkJb3B0aW9ucy5kcm9wZG93bkNzc0NsYXNzICE9IG51bGwgfHwKCQkJCQkJb3B0aW9ucy5kcm9wZG93bkNzcyAhPSBudWxsIHx8CgkJCQkJCW9wdGlvbnMuYWRhcHREcm9wZG93bkNzc0NsYXNzICE9IG51bGwKCQkJCQkpIHsKCQkJCQkJdmFyIERyb3Bkb3duQ1NTID0gcmVxdWlyZShvcHRpb25zLmFtZEJhc2UgKyAnY29tcGF0L2Ryb3Bkb3duQ3NzJyk7CgoJCQkJCQlvcHRpb25zLmRyb3Bkb3duQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQkJb3B0aW9ucy5kcm9wZG93bkFkYXB0ZXIsCgkJCQkJCQlEcm9wZG93bkNTUwoJCQkJCQkpOwoJCQkJCX0KCgkJCQkJb3B0aW9ucy5kcm9wZG93bkFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJb3B0aW9ucy5kcm9wZG93bkFkYXB0ZXIsCgkJCQkJCUF0dGFjaEJvZHkKCQkJCQkpOwoJCQkJfQoKCQkJCWlmIChvcHRpb25zLnNlbGVjdGlvbkFkYXB0ZXIgPT0gbnVsbCkgewoJCQkJCWlmIChvcHRpb25zLm11bHRpcGxlKSB7CgkJCQkJCW9wdGlvbnMuc2VsZWN0aW9uQWRhcHRlciA9IE11bHRpcGxlU2VsZWN0aW9uOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdGlvbnMuc2VsZWN0aW9uQWRhcHRlciA9IFNpbmdsZVNlbGVjdGlvbjsKCQkJCQl9CgoJCQkJCS8vIEFkZCB0aGUgcGxhY2Vob2xkZXIgbWl4aW4gaWYgYSBwbGFjZWhvbGRlciB3YXMgc3BlY2lmaWVkCgkJCQkJaWYgKG9wdGlvbnMucGxhY2Vob2xkZXIgIT0gbnVsbCkgewoJCQkJCQlvcHRpb25zLnNlbGVjdGlvbkFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJCW9wdGlvbnMuc2VsZWN0aW9uQWRhcHRlciwKCQkJCQkJCVBsYWNlaG9sZGVyCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQlpZiAob3B0aW9ucy5hbGxvd0NsZWFyKSB7CgkJCQkJCW9wdGlvbnMuc2VsZWN0aW9uQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQkJb3B0aW9ucy5zZWxlY3Rpb25BZGFwdGVyLAoJCQkJCQkJQWxsb3dDbGVhcgoJCQkJCQkpOwoJCQkJCX0KCgkJCQkJaWYgKG9wdGlvbnMubXVsdGlwbGUpIHsKCQkJCQkJb3B0aW9ucy5zZWxlY3Rpb25BZGFwdGVyID0gVXRpbHMuRGVjb3JhdGUoCgkJCQkJCQlvcHRpb25zLnNlbGVjdGlvbkFkYXB0ZXIsCgkJCQkJCQlTZWxlY3Rpb25TZWFyY2gKCQkJCQkJKTsKCQkJCQl9CgoJCQkJCWlmICgKCQkJCQkJb3B0aW9ucy5jb250YWluZXJDc3NDbGFzcyAhPSBudWxsIHx8CgkJCQkJCW9wdGlvbnMuY29udGFpbmVyQ3NzICE9IG51bGwgfHwKCQkJCQkJb3B0aW9ucy5hZGFwdENvbnRhaW5lckNzc0NsYXNzICE9IG51bGwKCQkJCQkpIHsKCQkJCQkJdmFyIENvbnRhaW5lckNTUyA9IHJlcXVpcmUob3B0aW9ucy5hbWRCYXNlICsgJ2NvbXBhdC9jb250YWluZXJDc3MnKTsKCgkJCQkJCW9wdGlvbnMuc2VsZWN0aW9uQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQkJb3B0aW9ucy5zZWxlY3Rpb25BZGFwdGVyLAoJCQkJCQkJQ29udGFpbmVyQ1NTCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQlvcHRpb25zLnNlbGVjdGlvbkFkYXB0ZXIgPSBVdGlscy5EZWNvcmF0ZSgKCQkJCQkJb3B0aW9ucy5zZWxlY3Rpb25BZGFwdGVyLAoJCQkJCQlFdmVudFJlbGF5CgkJCQkJKTsKCQkJCX0KCgkJCQlpZiAodHlwZW9mIG9wdGlvbnMubGFuZ3VhZ2UgPT09ICdzdHJpbmcnKSB7CgkJCQkJLy8gQ2hlY2sgaWYgdGhlIGxhbmd1YWdlIGlzIHNwZWNpZmllZCB3aXRoIGEgcmVnaW9uCgkJCQkJaWYgKG9wdGlvbnMubGFuZ3VhZ2UuaW5kZXhPZignLScpID4gMCkgewoJCQkJCQkvLyBFeHRyYWN0IHRoZSByZWdpb24gaW5mb3JtYXRpb24gaWYgaXQgaXMgaW5jbHVkZWQKCQkJCQkJdmFyIGxhbmd1YWdlUGFydHMgPSBvcHRpb25zLmxhbmd1YWdlLnNwbGl0KCctJyk7CgkJCQkJCXZhciBiYXNlTGFuZ3VhZ2UgPSBsYW5ndWFnZVBhcnRzWzBdOwoKCQkJCQkJb3B0aW9ucy5sYW5ndWFnZSA9IFtvcHRpb25zLmxhbmd1YWdlLCBiYXNlTGFuZ3VhZ2VdOwoJCQkJCX0gZWxzZSB7CgkJCQkJCW9wdGlvbnMubGFuZ3VhZ2UgPSBbb3B0aW9ucy5sYW5ndWFnZV07CgkJCQkJfQoJCQkJfQoKCQkJCWlmICgkLmlzQXJyYXkob3B0aW9ucy5sYW5ndWFnZSkpIHsKCQkJCQl2YXIgbGFuZ3VhZ2VzID0gbmV3IFRyYW5zbGF0aW9uKCk7CgkJCQkJb3B0aW9ucy5sYW5ndWFnZS5wdXNoKCdlbicpOwoKCQkJCQl2YXIgbGFuZ3VhZ2VOYW1lcyA9IG9wdGlvbnMubGFuZ3VhZ2U7CgoJCQkJCWZvciAodmFyIGwgPSAwOyBsIDwgbGFuZ3VhZ2VOYW1lcy5sZW5ndGg7IGwrKykgewoJCQkJCQl2YXIgbmFtZSA9IGxhbmd1YWdlTmFtZXNbbF07CgkJCQkJCXZhciBsYW5ndWFnZSA9IHt9OwoKCQkJCQkJdHJ5IHsKCQkJCQkJCS8vIFRyeSB0byBsb2FkIGl0IHdpdGggdGhlIG9yaWdpbmFsIG5hbWUKCQkJCQkJCWxhbmd1YWdlID0gVHJhbnNsYXRpb24ubG9hZFBhdGgobmFtZSk7CgkJCQkJCX0gY2F0Y2ggKGUpIHsKCQkJCQkJCXRyeSB7CgkJCQkJCQkJLy8gSWYgd2UgY291bGRuJ3QgbG9hZCBpdCwgY2hlY2sgaWYgaXQgd2Fzbid0IHRoZSBmdWxsIHBhdGgKCQkJCQkJCQluYW1lID0gdGhpcy5kZWZhdWx0cy5hbWRMYW5ndWFnZUJhc2UgKyBuYW1lOwoJCQkJCQkJCWxhbmd1YWdlID0gVHJhbnNsYXRpb24ubG9hZFBhdGgobmFtZSk7CgkJCQkJCQl9IGNhdGNoIChleCkgewoJCQkJCQkJCS8vIFRoZSB0cmFuc2xhdGlvbiBjb3VsZCBub3QgYmUgbG9hZGVkIGF0IGFsbC4gU29tZXRpbWVzIHRoaXMgaXMKCQkJCQkJCQkvLyBiZWNhdXNlIG9mIGEgY29uZmlndXJhdGlvbiBwcm9ibGVtLCBvdGhlciB0aW1lcyB0aGlzIGNhbiBiZQoJCQkJCQkJCS8vIGJlY2F1c2Ugb2YgaG93IFNlbGVjdDIgaGVscHMgbG9hZCBhbGwgcG9zc2libGUgdHJhbnNsYXRpb24gZmlsZXMuCgkJCQkJCQkJaWYgKG9wdGlvbnMuZGVidWcgJiYgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CgkJCQkJCQkJCWNvbnNvbGUud2FybigKCQkJCQkJCQkJCSdTZWxlY3QyOiBUaGUgbGFuZ3VhZ2UgZmlsZSBmb3IgIicgKyBuYW1lICsgJyIgY291bGQgbm90IGJlICcgKwoJCQkJCQkJCQkJJ2F1dG9tYXRpY2FsbHkgbG9hZGVkLiBBIGZhbGxiYWNrIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLicKCQkJCQkJCQkJKTsKCQkJCQkJCQl9CgoJCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQlsYW5ndWFnZXMuZXh0ZW5kKGxhbmd1YWdlKTsKCQkJCQl9CgoJCQkJCW9wdGlvbnMudHJhbnNsYXRpb25zID0gbGFuZ3VhZ2VzOwoJCQkJfSBlbHNlIHsKCQkJCQl2YXIgYmFzZVRyYW5zbGF0aW9uID0gVHJhbnNsYXRpb24ubG9hZFBhdGgoCgkJCQkJCXRoaXMuZGVmYXVsdHMuYW1kTGFuZ3VhZ2VCYXNlICsgJ2VuJwoJCQkJCSk7CgkJCQkJdmFyIGN1c3RvbVRyYW5zbGF0aW9uID0gbmV3IFRyYW5zbGF0aW9uKG9wdGlvbnMubGFuZ3VhZ2UpOwoKCQkJCQljdXN0b21UcmFuc2xhdGlvbi5leHRlbmQoYmFzZVRyYW5zbGF0aW9uKTsKCgkJCQkJb3B0aW9ucy50cmFuc2xhdGlvbnMgPSBjdXN0b21UcmFuc2xhdGlvbjsKCQkJCX0KCgkJCQlyZXR1cm4gb3B0aW9uczsKCQkJfTsKCgkJCURlZmF1bHRzLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHsKCQkJCWZ1bmN0aW9uIHN0cmlwRGlhY3JpdGljcyAodGV4dCkgewoJCQkJCS8vIFVzZWQgJ3VuaSByYW5nZSArIG5hbWVkIGZ1bmN0aW9uJyBmcm9tIGh0dHA6Ly9qc3BlcmYuY29tL2RpYWNyaXRpY3MvMTgKCQkJCQlmdW5jdGlvbiBtYXRjaChhKSB7CgkJCQkJCXJldHVybiBESUFDUklUSUNTW2FdIHx8IGE7CgkJCQkJfQoKCQkJCQlyZXR1cm4gdGV4dC5yZXBsYWNlKC9bXlx1MDAwMC1cdTAwN0VdL2csIG1hdGNoKTsKCQkJCX0KCgkJCQlmdW5jdGlvbiBtYXRjaGVyIChwYXJhbXMsIGRhdGEpIHsKCQkJCQkvLyBBbHdheXMgcmV0dXJuIHRoZSBvYmplY3QgaWYgdGhlcmUgaXMgbm90aGluZyB0byBjb21wYXJlCgkJCQkJaWYgKCQudHJpbShwYXJhbXMudGVybSkgPT09ICcnKSB7CgkJCQkJCXJldHVybiBkYXRhOwoJCQkJCX0KCgkJCQkJLy8gRG8gYSByZWN1cnNpdmUgY2hlY2sgZm9yIG9wdGlvbnMgd2l0aCBjaGlsZHJlbgoJCQkJCWlmIChkYXRhLmNoaWxkcmVuICYmIGRhdGEuY2hpbGRyZW4ubGVuZ3RoID4gMCkgewoJCQkJCQkvLyBDbG9uZSB0aGUgZGF0YSBvYmplY3QgaWYgdGhlcmUgYXJlIGNoaWxkcmVuCgkJCQkJCS8vIFRoaXMgaXMgcmVxdWlyZWQgYXMgd2UgbW9kaWZ5IHRoZSBvYmplY3QgdG8gcmVtb3ZlIGFueSBub24tbWF0Y2hlcwoJCQkJCQl2YXIgbWF0Y2ggPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGF0YSk7CgoJCQkJCQkvLyBDaGVjayBlYWNoIGNoaWxkIG9mIHRoZSBvcHRpb24KCQkJCQkJZm9yICh2YXIgYyA9IGRhdGEuY2hpbGRyZW4ubGVuZ3RoIC0gMTsgYyA+PSAwOyBjLS0pIHsKCQkJCQkJCXZhciBjaGlsZCA9IGRhdGEuY2hpbGRyZW5bY107CgoJCQkJCQkJdmFyIG1hdGNoZXMgPSBtYXRjaGVyKHBhcmFtcywgY2hpbGQpOwoKCQkJCQkJCS8vIElmIHRoZXJlIHdhc24ndCBhIG1hdGNoLCByZW1vdmUgdGhlIG9iamVjdCBpbiB0aGUgYXJyYXkKCQkJCQkJCWlmIChtYXRjaGVzID09IG51bGwpIHsKCQkJCQkJCQltYXRjaC5jaGlsZHJlbi5zcGxpY2UoYywgMSk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCS8vIElmIGFueSBjaGlsZHJlbiBtYXRjaGVkLCByZXR1cm4gdGhlIG5ldyBvYmplY3QKCQkJCQkJaWYgKG1hdGNoLmNoaWxkcmVuLmxlbmd0aCA+IDApIHsKCQkJCQkJCXJldHVybiBtYXRjaDsKCQkJCQkJfQoKCQkJCQkJLy8gSWYgdGhlcmUgd2VyZSBubyBtYXRjaGluZyBjaGlsZHJlbiwgY2hlY2sganVzdCB0aGUgcGxhaW4gb2JqZWN0CgkJCQkJCXJldHVybiBtYXRjaGVyKHBhcmFtcywgbWF0Y2gpOwoJCQkJCX0KCgkJCQkJdmFyIG9yaWdpbmFsID0gc3RyaXBEaWFjcml0aWNzKGRhdGEudGV4dCkudG9VcHBlckNhc2UoKTsKCQkJCQl2YXIgdGVybSA9IHN0cmlwRGlhY3JpdGljcyhwYXJhbXMudGVybSkudG9VcHBlckNhc2UoKTsKCgkJCQkJLy8gQ2hlY2sgaWYgdGhlIHRleHQgY29udGFpbnMgdGhlIHRlcm0KCQkJCQlpZiAob3JpZ2luYWwuaW5kZXhPZih0ZXJtKSA+IC0xKSB7CgkJCQkJCXJldHVybiBkYXRhOwoJCQkJCX0KCgkJCQkJLy8gSWYgaXQgZG9lc24ndCBjb250YWluIHRoZSB0ZXJtLCBkb24ndCByZXR1cm4gYW55dGhpbmcKCQkJCQlyZXR1cm4gbnVsbDsKCQkJCX0KCgkJCQl0aGlzLmRlZmF1bHRzID0gewoJCQkJCWFtZEJhc2U6ICcuLycsCgkJCQkJYW1kTGFuZ3VhZ2VCYXNlOiAnLi9pMThuLycsCgkJCQkJY2xvc2VPblNlbGVjdDogdHJ1ZSwKCQkJCQlkZWJ1ZzogZmFsc2UsCgkJCQkJZHJvcGRvd25BdXRvV2lkdGg6IGZhbHNlLAoJCQkJCWVzY2FwZU1hcmt1cDogVXRpbHMuZXNjYXBlTWFya3VwLAoJCQkJCWxhbmd1YWdlOiBFbmdsaXNoVHJhbnNsYXRpb24sCgkJCQkJbWF0Y2hlcjogbWF0Y2hlciwKCQkJCQltaW5pbXVtSW5wdXRMZW5ndGg6IDAsCgkJCQkJbWF4aW11bUlucHV0TGVuZ3RoOiAwLAoJCQkJCW1heGltdW1TZWxlY3Rpb25MZW5ndGg6IDAsCgkJCQkJbWluaW11bVJlc3VsdHNGb3JTZWFyY2g6IDAsCgkJCQkJc2VsZWN0T25DbG9zZTogZmFsc2UsCgkJCQkJc29ydGVyOiBmdW5jdGlvbiAoZGF0YSkgewoJCQkJCQlyZXR1cm4gZGF0YTsKCQkJCQl9LAoJCQkJCXRlbXBsYXRlUmVzdWx0OiBmdW5jdGlvbiAocmVzdWx0KSB7CgkJCQkJCXJldHVybiByZXN1bHQudGV4dDsKCQkJCQl9LAoJCQkJCXRlbXBsYXRlU2VsZWN0aW9uOiBmdW5jdGlvbiAoc2VsZWN0aW9uKSB7CgkJCQkJCXJldHVybiBzZWxlY3Rpb24udGV4dDsKCQkJCQl9LAoJCQkJCXRoZW1lOiAnZGVmYXVsdCcsCgkJCQkJd2lkdGg6ICdyZXNvbHZlJwoJCQkJfTsKCQkJfTsKCgkJCURlZmF1bHRzLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkgewoJCQkJdmFyIGNhbWVsS2V5ID0gJC5jYW1lbENhc2Uoa2V5KTsKCgkJCQl2YXIgZGF0YSA9IHt9OwoJCQkJZGF0YVtjYW1lbEtleV0gPSB2YWx1ZTsKCgkJCQl2YXIgY29udmVydGVkRGF0YSA9IFV0aWxzLl9jb252ZXJ0RGF0YShkYXRhKTsKCgkJCQkkLmV4dGVuZCh0aGlzLmRlZmF1bHRzLCBjb252ZXJ0ZWREYXRhKTsKCQkJfTsKCgkJCXZhciBkZWZhdWx0cyA9IG5ldyBEZWZhdWx0cygpOwoKCQkJcmV0dXJuIGRlZmF1bHRzOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvb3B0aW9ucycsWwoJCQkncmVxdWlyZScsCgkJCSdqcXVlcnknLAoJCQknLi9kZWZhdWx0cycsCgkJCScuL3V0aWxzJwoJCV0sIGZ1bmN0aW9uIChyZXF1aXJlLCAkLCBEZWZhdWx0cywgVXRpbHMpIHsKCQkJZnVuY3Rpb24gT3B0aW9ucyAob3B0aW9ucywgJGVsZW1lbnQpIHsKCQkJCXRoaXMub3B0aW9ucyA9IG9wdGlvbnM7CgoJCQkJaWYgKCRlbGVtZW50ICE9IG51bGwpIHsKCQkJCQl0aGlzLmZyb21FbGVtZW50KCRlbGVtZW50KTsKCQkJCX0KCgkJCQl0aGlzLm9wdGlvbnMgPSBEZWZhdWx0cy5hcHBseSh0aGlzLm9wdGlvbnMpOwoKCQkJCWlmICgkZWxlbWVudCAmJiAkZWxlbWVudC5pcygnaW5wdXQnKSkgewoJCQkJCXZhciBJbnB1dENvbXBhdCA9IHJlcXVpcmUodGhpcy5nZXQoJ2FtZEJhc2UnKSArICdjb21wYXQvaW5wdXREYXRhJyk7CgoJCQkJCXRoaXMub3B0aW9ucy5kYXRhQWRhcHRlciA9IFV0aWxzLkRlY29yYXRlKAoJCQkJCQl0aGlzLm9wdGlvbnMuZGF0YUFkYXB0ZXIsCgkJCQkJCUlucHV0Q29tcGF0CgkJCQkJKTsKCQkJCX0KCQkJfQoKCQkJT3B0aW9ucy5wcm90b3R5cGUuZnJvbUVsZW1lbnQgPSBmdW5jdGlvbiAoJGUpIHsKCQkJCXZhciBleGNsdWRlZERhdGEgPSBbJ3NlbGVjdDInXTsKCgkJCQlpZiAodGhpcy5vcHRpb25zLm11bHRpcGxlID09IG51bGwpIHsKCQkJCQl0aGlzLm9wdGlvbnMubXVsdGlwbGUgPSAkZS5wcm9wKCdtdWx0aXBsZScpOwoJCQkJfQoKCQkJCWlmICh0aGlzLm9wdGlvbnMuZGlzYWJsZWQgPT0gbnVsbCkgewoJCQkJCXRoaXMub3B0aW9ucy5kaXNhYmxlZCA9ICRlLnByb3AoJ2Rpc2FibGVkJyk7CgkJCQl9CgoJCQkJaWYgKHRoaXMub3B0aW9ucy5sYW5ndWFnZSA9PSBudWxsKSB7CgkJCQkJaWYgKCRlLnByb3AoJ2xhbmcnKSkgewoJCQkJCQl0aGlzLm9wdGlvbnMubGFuZ3VhZ2UgPSAkZS5wcm9wKCdsYW5nJykudG9Mb3dlckNhc2UoKTsKCQkJCQl9IGVsc2UgaWYgKCRlLmNsb3Nlc3QoJ1tsYW5nXScpLnByb3AoJ2xhbmcnKSkgewoJCQkJCQl0aGlzLm9wdGlvbnMubGFuZ3VhZ2UgPSAkZS5jbG9zZXN0KCdbbGFuZ10nKS5wcm9wKCdsYW5nJyk7CgkJCQkJfQoJCQkJfQoKCQkJCWlmICh0aGlzLm9wdGlvbnMuZGlyID09IG51bGwpIHsKCQkJCQlpZiAoJGUucHJvcCgnZGlyJykpIHsKCQkJCQkJdGhpcy5vcHRpb25zLmRpciA9ICRlLnByb3AoJ2RpcicpOwoJCQkJCX0gZWxzZSBpZiAoJGUuY2xvc2VzdCgnW2Rpcl0nKS5wcm9wKCdkaXInKSkgewoJCQkJCQl0aGlzLm9wdGlvbnMuZGlyID0gJGUuY2xvc2VzdCgnW2Rpcl0nKS5wcm9wKCdkaXInKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLm9wdGlvbnMuZGlyID0gJ2x0cic7CgkJCQkJfQoJCQkJfQoKCQkJCSRlLnByb3AoJ2Rpc2FibGVkJywgdGhpcy5vcHRpb25zLmRpc2FibGVkKTsKCQkJCSRlLnByb3AoJ211bHRpcGxlJywgdGhpcy5vcHRpb25zLm11bHRpcGxlKTsKCgkJCQlpZiAoJGUuZGF0YSgnc2VsZWN0MlRhZ3MnKSkgewoJCQkJCWlmICh0aGlzLm9wdGlvbnMuZGVidWcgJiYgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CgkJCQkJCWNvbnNvbGUud2FybigKCQkJCQkJCSdTZWxlY3QyOiBUaGUgYGRhdGEtc2VsZWN0Mi10YWdzYCBhdHRyaWJ1dGUgaGFzIGJlZW4gY2hhbmdlZCB0byAnICsKCQkJCQkJCSd1c2UgdGhlIGBkYXRhLWRhdGFgIGFuZCBgZGF0YS10YWdzPSJ0cnVlImAgYXR0cmlidXRlcyBhbmQgd2lsbCBiZSAnICsKCQkJCQkJCSdyZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBTZWxlY3QyLicKCQkJCQkJKTsKCQkJCQl9CgoJCQkJCSRlLmRhdGEoJ2RhdGEnLCAkZS5kYXRhKCdzZWxlY3QyVGFncycpKTsKCQkJCQkkZS5kYXRhKCd0YWdzJywgdHJ1ZSk7CgkJCQl9CgoJCQkJaWYgKCRlLmRhdGEoJ2FqYXhVcmwnKSkgewoJCQkJCWlmICh0aGlzLm9wdGlvbnMuZGVidWcgJiYgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CgkJCQkJCWNvbnNvbGUud2FybigKCQkJCQkJCSdTZWxlY3QyOiBUaGUgYGRhdGEtYWpheC11cmxgIGF0dHJpYnV0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvICcgKwoJCQkJCQkJJ2BkYXRhLWFqYXgtLXVybGAgYW5kIHN1cHBvcnQgZm9yIHRoZSBvbGQgYXR0cmlidXRlIHdpbGwgYmUgcmVtb3ZlZCcgKwoJCQkJCQkJJyBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgU2VsZWN0Mi4nCgkJCQkJCSk7CgkJCQkJfQoKCQkJCQkkZS5hdHRyKCdhamF4LS11cmwnLCAkZS5kYXRhKCdhamF4VXJsJykpOwoJCQkJCSRlLmRhdGEoJ2FqYXgtLXVybCcsICRlLmRhdGEoJ2FqYXhVcmwnKSk7CgkJCQl9CgoJCQkJdmFyIGRhdGFzZXQgPSB7fTsKCgkJCQkvLyBQcmVmZXIgdGhlIGVsZW1lbnQncyBgZGF0YXNldGAgYXR0cmlidXRlIGlmIGl0IGV4aXN0cwoJCQkJLy8galF1ZXJ5IDEueCBkb2VzIG5vdCBjb3JyZWN0bHkgaGFuZGxlIGRhdGEgYXR0cmlidXRlcyB3aXRoIG11bHRpcGxlIGRhc2hlcwoJCQkJaWYgKCQuZm4uanF1ZXJ5ICYmICQuZm4uanF1ZXJ5LnN1YnN0cigwLCAyKSA9PSAnMS4nICYmICRlWzBdLmRhdGFzZXQpIHsKCQkJCQlkYXRhc2V0ID0gJC5leHRlbmQodHJ1ZSwge30sICRlWzBdLmRhdGFzZXQsICRlLmRhdGEoKSk7CgkJCQl9IGVsc2UgewoJCQkJCWRhdGFzZXQgPSAkZS5kYXRhKCk7CgkJCQl9CgoJCQkJdmFyIGRhdGEgPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGF0YXNldCk7CgoJCQkJZGF0YSA9IFV0aWxzLl9jb252ZXJ0RGF0YShkYXRhKTsKCgkJCQlmb3IgKHZhciBrZXkgaW4gZGF0YSkgewoJCQkJCWlmICgkLmluQXJyYXkoa2V5LCBleGNsdWRlZERhdGEpID4gLTEpIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQlpZiAoJC5pc1BsYWluT2JqZWN0KHRoaXMub3B0aW9uc1trZXldKSkgewoJCQkJCQkkLmV4dGVuZCh0aGlzLm9wdGlvbnNba2V5XSwgZGF0YVtrZXldKTsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLm9wdGlvbnNba2V5XSA9IGRhdGFba2V5XTsKCQkJCQl9CgkJCQl9CgoJCQkJcmV0dXJuIHRoaXM7CgkJCX07CgoJCQlPcHRpb25zLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5KSB7CgkJCQlyZXR1cm4gdGhpcy5vcHRpb25zW2tleV07CgkJCX07CgoJCQlPcHRpb25zLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWwpIHsKCQkJCXRoaXMub3B0aW9uc1trZXldID0gdmFsOwoJCQl9OwoKCQkJcmV0dXJuIE9wdGlvbnM7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9jb3JlJyxbCgkJCSdqcXVlcnknLAoJCQknLi9vcHRpb25zJywKCQkJJy4vdXRpbHMnLAoJCQknLi9rZXlzJwoJCV0sIGZ1bmN0aW9uICgkLCBPcHRpb25zLCBVdGlscywgS0VZUykgewoJCQl2YXIgU2VsZWN0MiA9IGZ1bmN0aW9uICgkZWxlbWVudCwgb3B0aW9ucykgewoJCQkJaWYgKCRlbGVtZW50LmRhdGEoJ3NlbGVjdDInKSAhPSBudWxsKSB7CgkJCQkJJGVsZW1lbnQuZGF0YSgnc2VsZWN0MicpLmRlc3Ryb3koKTsKCQkJCX0KCgkJCQl0aGlzLiRlbGVtZW50ID0gJGVsZW1lbnQ7CgoJCQkJdGhpcy5pZCA9IHRoaXMuX2dlbmVyYXRlSWQoJGVsZW1lbnQpOwoKCQkJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKCQkJCXRoaXMub3B0aW9ucyA9IG5ldyBPcHRpb25zKG9wdGlvbnMsICRlbGVtZW50KTsKCgkJCQlTZWxlY3QyLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMpOwoKCQkJCS8vIFNldCB1cCB0aGUgdGFiaW5kZXgKCgkJCQl2YXIgdGFiaW5kZXggPSAkZWxlbWVudC5hdHRyKCd0YWJpbmRleCcpIHx8IDA7CgkJCQkkZWxlbWVudC5kYXRhKCdvbGQtdGFiaW5kZXgnLCB0YWJpbmRleCk7CgkJCQkkZWxlbWVudC5hdHRyKCd0YWJpbmRleCcsICctMScpOwoKCQkJCS8vIFNldCB1cCBjb250YWluZXJzIGFuZCBhZGFwdGVycwoKCQkJCXZhciBEYXRhQWRhcHRlciA9IHRoaXMub3B0aW9ucy5nZXQoJ2RhdGFBZGFwdGVyJyk7CgkJCQl0aGlzLmRhdGFBZGFwdGVyID0gbmV3IERhdGFBZGFwdGVyKCRlbGVtZW50LCB0aGlzLm9wdGlvbnMpOwoKCQkJCXZhciAkY29udGFpbmVyID0gdGhpcy5yZW5kZXIoKTsKCgkJCQl0aGlzLl9wbGFjZUNvbnRhaW5lcigkY29udGFpbmVyKTsKCgkJCQl2YXIgU2VsZWN0aW9uQWRhcHRlciA9IHRoaXMub3B0aW9ucy5nZXQoJ3NlbGVjdGlvbkFkYXB0ZXInKTsKCQkJCXRoaXMuc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbkFkYXB0ZXIoJGVsZW1lbnQsIHRoaXMub3B0aW9ucyk7CgkJCQl0aGlzLiRzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5yZW5kZXIoKTsKCgkJCQl0aGlzLnNlbGVjdGlvbi5wb3NpdGlvbih0aGlzLiRzZWxlY3Rpb24sICRjb250YWluZXIpOwoKCQkJCXZhciBEcm9wZG93bkFkYXB0ZXIgPSB0aGlzLm9wdGlvbnMuZ2V0KCdkcm9wZG93bkFkYXB0ZXInKTsKCQkJCXRoaXMuZHJvcGRvd24gPSBuZXcgRHJvcGRvd25BZGFwdGVyKCRlbGVtZW50LCB0aGlzLm9wdGlvbnMpOwoJCQkJdGhpcy4kZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3duLnJlbmRlcigpOwoKCQkJCXRoaXMuZHJvcGRvd24ucG9zaXRpb24odGhpcy4kZHJvcGRvd24sICRjb250YWluZXIpOwoKCQkJCXZhciBSZXN1bHRzQWRhcHRlciA9IHRoaXMub3B0aW9ucy5nZXQoJ3Jlc3VsdHNBZGFwdGVyJyk7CgkJCQl0aGlzLnJlc3VsdHMgPSBuZXcgUmVzdWx0c0FkYXB0ZXIoJGVsZW1lbnQsIHRoaXMub3B0aW9ucywgdGhpcy5kYXRhQWRhcHRlcik7CgkJCQl0aGlzLiRyZXN1bHRzID0gdGhpcy5yZXN1bHRzLnJlbmRlcigpOwoKCQkJCXRoaXMucmVzdWx0cy5wb3NpdGlvbih0aGlzLiRyZXN1bHRzLCB0aGlzLiRkcm9wZG93bik7CgoJCQkJLy8gQmluZCBldmVudHMKCgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJLy8gQmluZCB0aGUgY29udGFpbmVyIHRvIGFsbCBvZiB0aGUgYWRhcHRlcnMKCQkJCXRoaXMuX2JpbmRBZGFwdGVycygpOwoKCQkJCS8vIFJlZ2lzdGVyIGFueSBET00gZXZlbnQgaGFuZGxlcnMKCQkJCXRoaXMuX3JlZ2lzdGVyRG9tRXZlbnRzKCk7CgoJCQkJLy8gUmVnaXN0ZXIgYW55IGludGVybmFsIGV2ZW50IGhhbmRsZXJzCgkJCQl0aGlzLl9yZWdpc3RlckRhdGFFdmVudHMoKTsKCQkJCXRoaXMuX3JlZ2lzdGVyU2VsZWN0aW9uRXZlbnRzKCk7CgkJCQl0aGlzLl9yZWdpc3RlckRyb3Bkb3duRXZlbnRzKCk7CgkJCQl0aGlzLl9yZWdpc3RlclJlc3VsdHNFdmVudHMoKTsKCQkJCXRoaXMuX3JlZ2lzdGVyRXZlbnRzKCk7CgoJCQkJLy8gU2V0IHRoZSBpbml0aWFsIHN0YXRlCgkJCQl0aGlzLmRhdGFBZGFwdGVyLmN1cnJlbnQoZnVuY3Rpb24gKGluaXRpYWxEYXRhKSB7CgkJCQkJc2VsZi50cmlnZ2VyKCdzZWxlY3Rpb246dXBkYXRlJywgewoJCQkJCQlkYXRhOiBpbml0aWFsRGF0YQoJCQkJCX0pOwoJCQkJfSk7CgoJCQkJLy8gSGlkZSB0aGUgb3JpZ2luYWwgc2VsZWN0CgkJCQkkZWxlbWVudC5hZGRDbGFzcygnc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZScpOwoJCQkJJGVsZW1lbnQuYXR0cignYXJpYS1oaWRkZW4nLCAndHJ1ZScpOwoKCQkJCS8vIFN5bmNocm9uaXplIGFueSBtb25pdG9yZWQgYXR0cmlidXRlcwoJCQkJdGhpcy5fc3luY0F0dHJpYnV0ZXMoKTsKCgkJCQkkZWxlbWVudC5kYXRhKCdzZWxlY3QyJywgdGhpcyk7CgkJCX07CgoJCQlVdGlscy5FeHRlbmQoU2VsZWN0MiwgVXRpbHMuT2JzZXJ2YWJsZSk7CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5fZ2VuZXJhdGVJZCA9IGZ1bmN0aW9uICgkZWxlbWVudCkgewoJCQkJdmFyIGlkID0gJyc7CgoJCQkJaWYgKCRlbGVtZW50LmF0dHIoJ2lkJykgIT0gbnVsbCkgewoJCQkJCWlkID0gJGVsZW1lbnQuYXR0cignaWQnKTsKCQkJCX0gZWxzZSBpZiAoJGVsZW1lbnQuYXR0cignbmFtZScpICE9IG51bGwpIHsKCQkJCQlpZCA9ICRlbGVtZW50LmF0dHIoJ25hbWUnKSArICctJyArIFV0aWxzLmdlbmVyYXRlQ2hhcnMoMik7CgkJCQl9IGVsc2UgewoJCQkJCWlkID0gVXRpbHMuZ2VuZXJhdGVDaGFycyg0KTsKCQkJCX0KCgkJCQlpZCA9IGlkLnJlcGxhY2UoLyg6fFwufFxbfFxdfCwpL2csICcnKTsKCQkJCWlkID0gJ3NlbGVjdDItJyArIGlkOwoKCQkJCXJldHVybiBpZDsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLl9wbGFjZUNvbnRhaW5lciA9IGZ1bmN0aW9uICgkY29udGFpbmVyKSB7CgkJCQkkY29udGFpbmVyLmluc2VydEFmdGVyKHRoaXMuJGVsZW1lbnQpOwoKCQkJCXZhciB3aWR0aCA9IHRoaXMuX3Jlc29sdmVXaWR0aCh0aGlzLiRlbGVtZW50LCB0aGlzLm9wdGlvbnMuZ2V0KCd3aWR0aCcpKTsKCgkJCQlpZiAod2lkdGggIT0gbnVsbCkgewoJCQkJCSRjb250YWluZXIuY3NzKCd3aWR0aCcsIHdpZHRoKTsKCQkJCX0KCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLl9yZXNvbHZlV2lkdGggPSBmdW5jdGlvbiAoJGVsZW1lbnQsIG1ldGhvZCkgewoJCQkJdmFyIFdJRFRIID0gL153aWR0aDooKFstK10/KFswLTldKlwuKT9bMC05XSspKHB4fGVtfGV4fCV8aW58Y218bW18cHR8cGMpKS9pOwoKCQkJCWlmIChtZXRob2QgPT0gJ3Jlc29sdmUnKSB7CgkJCQkJdmFyIHN0eWxlV2lkdGggPSB0aGlzLl9yZXNvbHZlV2lkdGgoJGVsZW1lbnQsICdzdHlsZScpOwoKCQkJCQlpZiAoc3R5bGVXaWR0aCAhPSBudWxsKSB7CgkJCQkJCXJldHVybiBzdHlsZVdpZHRoOwoJCQkJCX0KCgkJCQkJcmV0dXJuIHRoaXMuX3Jlc29sdmVXaWR0aCgkZWxlbWVudCwgJ2VsZW1lbnQnKTsKCQkJCX0KCgkJCQlpZiAobWV0aG9kID09ICdlbGVtZW50JykgewoJCQkJCXZhciBlbGVtZW50V2lkdGggPSAkZWxlbWVudC5vdXRlcldpZHRoKGZhbHNlKTsKCgkJCQkJaWYgKGVsZW1lbnRXaWR0aCA8PSAwKSB7CgkJCQkJCXJldHVybiAnYXV0byc7CgkJCQkJfQoKCQkJCQlyZXR1cm4gZWxlbWVudFdpZHRoICsgJ3B4JzsKCQkJCX0KCgkJCQlpZiAobWV0aG9kID09ICdzdHlsZScpIHsKCQkJCQl2YXIgc3R5bGUgPSAkZWxlbWVudC5hdHRyKCdzdHlsZScpOwoKCQkJCQlpZiAodHlwZW9mKHN0eWxlKSAhPT0gJ3N0cmluZycpIHsKCQkJCQkJcmV0dXJuIG51bGw7CgkJCQkJfQoKCQkJCQl2YXIgYXR0cnMgPSBzdHlsZS5zcGxpdCgnOycpOwoKCQkJCQlmb3IgKHZhciBpID0gMCwgbCA9IGF0dHJzLmxlbmd0aDsgaSA8IGw7IGkgPSBpICsgMSkgewoJCQkJCQl2YXIgYXR0ciA9IGF0dHJzW2ldLnJlcGxhY2UoL1xzL2csICcnKTsKCQkJCQkJdmFyIG1hdGNoZXMgPSBhdHRyLm1hdGNoKFdJRFRIKTsKCgkJCQkJCWlmIChtYXRjaGVzICE9PSBudWxsICYmIG1hdGNoZXMubGVuZ3RoID49IDEpIHsKCQkJCQkJCXJldHVybiBtYXRjaGVzWzFdOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQlyZXR1cm4gbnVsbDsKCQkJCX0KCgkJCQlyZXR1cm4gbWV0aG9kOwoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUuX2JpbmRBZGFwdGVycyA9IGZ1bmN0aW9uICgpIHsKCQkJCXRoaXMuZGF0YUFkYXB0ZXIuYmluZCh0aGlzLCB0aGlzLiRjb250YWluZXIpOwoJCQkJdGhpcy5zZWxlY3Rpb24uYmluZCh0aGlzLCB0aGlzLiRjb250YWluZXIpOwoKCQkJCXRoaXMuZHJvcGRvd24uYmluZCh0aGlzLCB0aGlzLiRjb250YWluZXIpOwoJCQkJdGhpcy5yZXN1bHRzLmJpbmQodGhpcywgdGhpcy4kY29udGFpbmVyKTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLl9yZWdpc3RlckRvbUV2ZW50cyA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQl0aGlzLiRlbGVtZW50Lm9uKCdjaGFuZ2Uuc2VsZWN0MicsIGZ1bmN0aW9uICgpIHsKCQkJCQlzZWxmLmRhdGFBZGFwdGVyLmN1cnJlbnQoZnVuY3Rpb24gKGRhdGEpIHsKCQkJCQkJc2VsZi50cmlnZ2VyKCdzZWxlY3Rpb246dXBkYXRlJywgewoJCQkJCQkJZGF0YTogZGF0YQoJCQkJCQl9KTsKCQkJCQl9KTsKCQkJCX0pOwoKCQkJCXRoaXMuJGVsZW1lbnQub24oJ2ZvY3VzLnNlbGVjdDInLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJc2VsZi50cmlnZ2VyKCdmb2N1cycsIGV2dCk7CgkJCQl9KTsKCgkJCQl0aGlzLl9zeW5jQSA9IFV0aWxzLmJpbmQodGhpcy5fc3luY0F0dHJpYnV0ZXMsIHRoaXMpOwoJCQkJdGhpcy5fc3luY1MgPSBVdGlscy5iaW5kKHRoaXMuX3N5bmNTdWJ0cmVlLCB0aGlzKTsKCgkJCQlpZiAodGhpcy4kZWxlbWVudFswXS5hdHRhY2hFdmVudCkgewoJCQkJCXRoaXMuJGVsZW1lbnRbMF0uYXR0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCB0aGlzLl9zeW5jQSk7CgkJCQl9CgoJCQkJdmFyIG9ic2VydmVyID0gd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIgfHwKCQkJCQl3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlciB8fAoJCQkJCXdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyCgkJCQk7CgoJCQkJaWYgKG9ic2VydmVyICE9IG51bGwpIHsKCQkJCQl0aGlzLl9vYnNlcnZlciA9IG5ldyBvYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7CgkJCQkJCSQuZWFjaChtdXRhdGlvbnMsIHNlbGYuX3N5bmNBKTsKCQkJCQkJJC5lYWNoKG11dGF0aW9ucywgc2VsZi5fc3luY1MpOwoJCQkJCX0pOwoJCQkJCXRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy4kZWxlbWVudFswXSwgewoJCQkJCQlhdHRyaWJ1dGVzOiB0cnVlLAoJCQkJCQljaGlsZExpc3Q6IHRydWUsCgkJCQkJCXN1YnRyZWU6IGZhbHNlCgkJCQkJfSk7CgkJCQl9IGVsc2UgaWYgKHRoaXMuJGVsZW1lbnRbMF0uYWRkRXZlbnRMaXN0ZW5lcikgewoJCQkJCXRoaXMuJGVsZW1lbnRbMF0uYWRkRXZlbnRMaXN0ZW5lcigKCQkJCQkJJ0RPTUF0dHJNb2RpZmllZCcsCgkJCQkJCXNlbGYuX3N5bmNBLAoJCQkJCQlmYWxzZQoJCQkJCSk7CgkJCQkJdGhpcy4kZWxlbWVudFswXS5hZGRFdmVudExpc3RlbmVyKAoJCQkJCQknRE9NTm9kZUluc2VydGVkJywKCQkJCQkJc2VsZi5fc3luY1MsCgkJCQkJCWZhbHNlCgkJCQkJKTsKCQkJCQl0aGlzLiRlbGVtZW50WzBdLmFkZEV2ZW50TGlzdGVuZXIoCgkJCQkJCSdET01Ob2RlUmVtb3ZlZCcsCgkJCQkJCXNlbGYuX3N5bmNTLAoJCQkJCQlmYWxzZQoJCQkJCSk7CgkJCQl9CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5fcmVnaXN0ZXJEYXRhRXZlbnRzID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCXRoaXMuZGF0YUFkYXB0ZXIub24oJyonLCBmdW5jdGlvbiAobmFtZSwgcGFyYW1zKSB7CgkJCQkJc2VsZi50cmlnZ2VyKG5hbWUsIHBhcmFtcyk7CgkJCQl9KTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLl9yZWdpc3RlclNlbGVjdGlvbkV2ZW50cyA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCQkJCXZhciBub25SZWxheUV2ZW50cyA9IFsndG9nZ2xlJywgJ2ZvY3VzJ107CgoJCQkJdGhpcy5zZWxlY3Rpb24ub24oJ3RvZ2dsZScsIGZ1bmN0aW9uICgpIHsKCQkJCQlzZWxmLnRvZ2dsZURyb3Bkb3duKCk7CgkJCQl9KTsKCgkJCQl0aGlzLnNlbGVjdGlvbi5vbignZm9jdXMnLCBmdW5jdGlvbiAocGFyYW1zKSB7CgkJCQkJc2VsZi5mb2N1cyhwYXJhbXMpOwoJCQkJfSk7CgoJCQkJdGhpcy5zZWxlY3Rpb24ub24oJyonLCBmdW5jdGlvbiAobmFtZSwgcGFyYW1zKSB7CgkJCQkJaWYgKCQuaW5BcnJheShuYW1lLCBub25SZWxheUV2ZW50cykgIT09IC0xKSB7CgkJCQkJCXJldHVybjsKCQkJCQl9CgoJCQkJCXNlbGYudHJpZ2dlcihuYW1lLCBwYXJhbXMpOwoJCQkJfSk7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5fcmVnaXN0ZXJEcm9wZG93bkV2ZW50cyA9IGZ1bmN0aW9uICgpIHsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQl0aGlzLmRyb3Bkb3duLm9uKCcqJywgZnVuY3Rpb24gKG5hbWUsIHBhcmFtcykgewoJCQkJCXNlbGYudHJpZ2dlcihuYW1lLCBwYXJhbXMpOwoJCQkJfSk7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5fcmVnaXN0ZXJSZXN1bHRzRXZlbnRzID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCXRoaXMucmVzdWx0cy5vbignKicsIGZ1bmN0aW9uIChuYW1lLCBwYXJhbXMpIHsKCQkJCQlzZWxmLnRyaWdnZXIobmFtZSwgcGFyYW1zKTsKCQkJCX0pOwoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUuX3JlZ2lzdGVyRXZlbnRzID0gZnVuY3Rpb24gKCkgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCXRoaXMub24oJ29wZW4nLCBmdW5jdGlvbiAoKSB7CgkJCQkJc2VsZi4kY29udGFpbmVyLmFkZENsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tb3BlbicpOwoJCQkJfSk7CgoJCQkJdGhpcy5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7CgkJCQkJc2VsZi4kY29udGFpbmVyLnJlbW92ZUNsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tb3BlbicpOwoJCQkJfSk7CgoJCQkJdGhpcy5vbignZW5hYmxlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJGNvbnRhaW5lci5yZW1vdmVDbGFzcygnc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkJyk7CgkJCQl9KTsKCgkJCQl0aGlzLm9uKCdkaXNhYmxlJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJGNvbnRhaW5lci5hZGRDbGFzcygnc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkJyk7CgkJCQl9KTsKCgkJCQl0aGlzLm9uKCdibHVyJywgZnVuY3Rpb24gKCkgewoJCQkJCXNlbGYuJGNvbnRhaW5lci5yZW1vdmVDbGFzcygnc2VsZWN0Mi1jb250YWluZXItLWZvY3VzJyk7CgkJCQl9KTsKCgkJCQl0aGlzLm9uKCdxdWVyeScsIGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQlpZiAoIXNlbGYuaXNPcGVuKCkpIHsKCQkJCQkJc2VsZi50cmlnZ2VyKCdvcGVuJywge30pOwoJCQkJCX0KCgkJCQkJdGhpcy5kYXRhQWRhcHRlci5xdWVyeShwYXJhbXMsIGZ1bmN0aW9uIChkYXRhKSB7CgkJCQkJCXNlbGYudHJpZ2dlcigncmVzdWx0czphbGwnLCB7CgkJCQkJCQlkYXRhOiBkYXRhLAoJCQkJCQkJcXVlcnk6IHBhcmFtcwoJCQkJCQl9KTsKCQkJCQl9KTsKCQkJCX0pOwoKCQkJCXRoaXMub24oJ3F1ZXJ5OmFwcGVuZCcsIGZ1bmN0aW9uIChwYXJhbXMpIHsKCQkJCQl0aGlzLmRhdGFBZGFwdGVyLnF1ZXJ5KHBhcmFtcywgZnVuY3Rpb24gKGRhdGEpIHsKCQkJCQkJc2VsZi50cmlnZ2VyKCdyZXN1bHRzOmFwcGVuZCcsIHsKCQkJCQkJCWRhdGE6IGRhdGEsCgkJCQkJCQlxdWVyeTogcGFyYW1zCgkJCQkJCX0pOwoJCQkJCX0pOwoJCQkJfSk7CgoJCQkJdGhpcy5vbigna2V5cHJlc3MnLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJdmFyIGtleSA9IGV2dC53aGljaDsKCgkJCQkJaWYgKHNlbGYuaXNPcGVuKCkpIHsKCQkJCQkJaWYgKGtleSA9PT0gS0VZUy5FU0MgfHwga2V5ID09PSBLRVlTLlRBQiB8fAoJCQkJCQkJKGtleSA9PT0gS0VZUy5VUCAmJiBldnQuYWx0S2V5KSkgewoJCQkJCQkJc2VsZi5jbG9zZSgpOwoKCQkJCQkJCWV2dC5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQl9IGVsc2UgaWYgKGtleSA9PT0gS0VZUy5FTlRFUikgewoJCQkJCQkJc2VsZi50cmlnZ2VyKCdyZXN1bHRzOnNlbGVjdCcsIHt9KTsKCgkJCQkJCQlldnQucHJldmVudERlZmF1bHQoKTsKCQkJCQkJfSBlbHNlIGlmICgoa2V5ID09PSBLRVlTLlNQQUNFICYmIGV2dC5jdHJsS2V5KSkgewoJCQkJCQkJc2VsZi50cmlnZ2VyKCdyZXN1bHRzOnRvZ2dsZScsIHt9KTsKCgkJCQkJCQlldnQucHJldmVudERlZmF1bHQoKTsKCQkJCQkJfSBlbHNlIGlmIChrZXkgPT09IEtFWVMuVVApIHsKCQkJCQkJCXNlbGYudHJpZ2dlcigncmVzdWx0czpwcmV2aW91cycsIHt9KTsKCgkJCQkJCQlldnQucHJldmVudERlZmF1bHQoKTsKCQkJCQkJfSBlbHNlIGlmIChrZXkgPT09IEtFWVMuRE9XTikgewoJCQkJCQkJc2VsZi50cmlnZ2VyKCdyZXN1bHRzOm5leHQnLCB7fSk7CgoJCQkJCQkJZXZ0LnByZXZlbnREZWZhdWx0KCk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQlpZiAoa2V5ID09PSBLRVlTLkVOVEVSIHx8IGtleSA9PT0gS0VZUy5TUEFDRSB8fAoJCQkJCQkJKGtleSA9PT0gS0VZUy5ET1dOICYmIGV2dC5hbHRLZXkpKSB7CgkJCQkJCQlzZWxmLm9wZW4oKTsKCgkJCQkJCQlldnQucHJldmVudERlZmF1bHQoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0pOwoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUuX3N5bmNBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKCkgewoJCQkJdGhpcy5vcHRpb25zLnNldCgnZGlzYWJsZWQnLCB0aGlzLiRlbGVtZW50LnByb3AoJ2Rpc2FibGVkJykpOwoKCQkJCWlmICh0aGlzLm9wdGlvbnMuZ2V0KCdkaXNhYmxlZCcpKSB7CgkJCQkJaWYgKHRoaXMuaXNPcGVuKCkpIHsKCQkJCQkJdGhpcy5jbG9zZSgpOwoJCQkJCX0KCgkJCQkJdGhpcy50cmlnZ2VyKCdkaXNhYmxlJywge30pOwoJCQkJfSBlbHNlIHsKCQkJCQl0aGlzLnRyaWdnZXIoJ2VuYWJsZScsIHt9KTsKCQkJCX0KCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLl9zeW5jU3VidHJlZSA9IGZ1bmN0aW9uIChldnQsIG11dGF0aW9ucykgewoJCQkJdmFyIGNoYW5nZWQgPSBmYWxzZTsKCQkJCXZhciBzZWxmID0gdGhpczsKCgkJCQkvLyBJZ25vcmUgYW55IG11dGF0aW9uIGV2ZW50cyByYWlzZWQgZm9yIGVsZW1lbnRzIHRoYXQgYXJlbid0IG9wdGlvbnMgb3IKCQkJCS8vIG9wdGdyb3Vwcy4gVGhpcyBoYW5kbGVzIHRoZSBjYXNlIHdoZW4gdGhlIHNlbGVjdCBlbGVtZW50IGlzIGRlc3Ryb3llZAoJCQkJaWYgKAoJCQkJCWV2dCAmJiBldnQudGFyZ2V0ICYmICgKCQkJCQkJZXZ0LnRhcmdldC5ub2RlTmFtZSAhPT0gJ09QVElPTicgJiYgZXZ0LnRhcmdldC5ub2RlTmFtZSAhPT0gJ09QVEdST1VQJwoJCQkJCSkKCQkJCSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlpZiAoIW11dGF0aW9ucykgewoJCQkJCS8vIElmIG11dGF0aW9uIGV2ZW50cyBhcmVuJ3Qgc3VwcG9ydGVkLCB0aGVuIHdlIGNhbiBvbmx5IGFzc3VtZSB0aGF0IHRoZQoJCQkJCS8vIGNoYW5nZSBhZmZlY3RlZCB0aGUgc2VsZWN0aW9ucwoJCQkJCWNoYW5nZWQgPSB0cnVlOwoJCQkJfSBlbHNlIGlmIChtdXRhdGlvbnMuYWRkZWROb2RlcyAmJiBtdXRhdGlvbnMuYWRkZWROb2Rlcy5sZW5ndGggPiAwKSB7CgkJCQkJZm9yICh2YXIgbiA9IDA7IG4gPCBtdXRhdGlvbnMuYWRkZWROb2Rlcy5sZW5ndGg7IG4rKykgewoJCQkJCQl2YXIgbm9kZSA9IG11dGF0aW9ucy5hZGRlZE5vZGVzW25dOwoKCQkJCQkJaWYgKG5vZGUuc2VsZWN0ZWQpIHsKCQkJCQkJCWNoYW5nZWQgPSB0cnVlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSBlbHNlIGlmIChtdXRhdGlvbnMucmVtb3ZlZE5vZGVzICYmIG11dGF0aW9ucy5yZW1vdmVkTm9kZXMubGVuZ3RoID4gMCkgewoJCQkJCWNoYW5nZWQgPSB0cnVlOwoJCQkJfQoKCQkJCS8vIE9ubHkgcmUtcHVsbCB0aGUgZGF0YSBpZiB3ZSB0aGluayB0aGVyZSBpcyBhIGNoYW5nZQoJCQkJaWYgKGNoYW5nZWQpIHsKCQkJCQl0aGlzLmRhdGFBZGFwdGVyLmN1cnJlbnQoZnVuY3Rpb24gKGN1cnJlbnREYXRhKSB7CgkJCQkJCXNlbGYudHJpZ2dlcignc2VsZWN0aW9uOnVwZGF0ZScsIHsKCQkJCQkJCWRhdGE6IGN1cnJlbnREYXRhCgkJCQkJCX0pOwoJCQkJCX0pOwoJCQkJfQoJCQl9OwoKCQkJLyoqCgkJCSAqIE92ZXJyaWRlIHRoZSB0cmlnZ2VyIG1ldGhvZCB0byBhdXRvbWF0aWNhbGx5IHRyaWdnZXIgcHJlLWV2ZW50cyB3aGVuCgkJCSAqIHRoZXJlIGFyZSBldmVudHMgdGhhdCBjYW4gYmUgcHJldmVudGVkLgoJCQkgKi8KCQkJU2VsZWN0Mi5wcm90b3R5cGUudHJpZ2dlciA9IGZ1bmN0aW9uIChuYW1lLCBhcmdzKSB7CgkJCQl2YXIgYWN0dWFsVHJpZ2dlciA9IFNlbGVjdDIuX19zdXBlcl9fLnRyaWdnZXI7CgkJCQl2YXIgcHJlVHJpZ2dlck1hcCA9IHsKCQkJCQknb3Blbic6ICdvcGVuaW5nJywKCQkJCQknY2xvc2UnOiAnY2xvc2luZycsCgkJCQkJJ3NlbGVjdCc6ICdzZWxlY3RpbmcnLAoJCQkJCSd1bnNlbGVjdCc6ICd1bnNlbGVjdGluZycKCQkJCX07CgoJCQkJaWYgKGFyZ3MgPT09IHVuZGVmaW5lZCkgewoJCQkJCWFyZ3MgPSB7fTsKCQkJCX0KCgkJCQlpZiAobmFtZSBpbiBwcmVUcmlnZ2VyTWFwKSB7CgkJCQkJdmFyIHByZVRyaWdnZXJOYW1lID0gcHJlVHJpZ2dlck1hcFtuYW1lXTsKCQkJCQl2YXIgcHJlVHJpZ2dlckFyZ3MgPSB7CgkJCQkJCXByZXZlbnRlZDogZmFsc2UsCgkJCQkJCW5hbWU6IG5hbWUsCgkJCQkJCWFyZ3M6IGFyZ3MKCQkJCQl9OwoKCQkJCQlhY3R1YWxUcmlnZ2VyLmNhbGwodGhpcywgcHJlVHJpZ2dlck5hbWUsIHByZVRyaWdnZXJBcmdzKTsKCgkJCQkJaWYgKHByZVRyaWdnZXJBcmdzLnByZXZlbnRlZCkgewoJCQkJCQlhcmdzLnByZXZlbnRlZCA9IHRydWU7CgoJCQkJCQlyZXR1cm47CgkJCQkJfQoJCQkJfQoKCQkJCWFjdHVhbFRyaWdnZXIuY2FsbCh0aGlzLCBuYW1lLCBhcmdzKTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLnRvZ2dsZURyb3Bkb3duID0gZnVuY3Rpb24gKCkgewoJCQkJaWYgKHRoaXMub3B0aW9ucy5nZXQoJ2Rpc2FibGVkJykpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKHRoaXMuaXNPcGVuKCkpIHsKCQkJCQl0aGlzLmNsb3NlKCk7CgkJCQl9IGVsc2UgewoJCQkJCXRoaXMub3BlbigpOwoJCQkJfQoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUub3BlbiA9IGZ1bmN0aW9uICgpIHsKCQkJCWlmICh0aGlzLmlzT3BlbigpKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXRoaXMudHJpZ2dlcigncXVlcnknLCB7fSk7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uICgpIHsKCQkJCWlmICghdGhpcy5pc09wZW4oKSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQl0aGlzLnRyaWdnZXIoJ2Nsb3NlJywge30pOwoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUuaXNPcGVuID0gZnVuY3Rpb24gKCkgewoJCQkJcmV0dXJuIHRoaXMuJGNvbnRhaW5lci5oYXNDbGFzcygnc2VsZWN0Mi1jb250YWluZXItLW9wZW4nKTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLmhhc0ZvY3VzID0gZnVuY3Rpb24gKCkgewoJCQkJcmV0dXJuIHRoaXMuJGNvbnRhaW5lci5oYXNDbGFzcygnc2VsZWN0Mi1jb250YWluZXItLWZvY3VzJyk7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5mb2N1cyA9IGZ1bmN0aW9uIChkYXRhKSB7CgkJCQkvLyBObyBuZWVkIHRvIHJlLXRyaWdnZXIgZm9jdXMgZXZlbnRzIGlmIHdlIGFyZSBhbHJlYWR5IGZvY3VzZWQKCQkJCWlmICh0aGlzLmhhc0ZvY3VzKCkpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdGhpcy4kY29udGFpbmVyLmFkZENsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMnKTsKCQkJCXRoaXMudHJpZ2dlcignZm9jdXMnLCB7fSk7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbiAoYXJncykgewoJCQkJaWYgKHRoaXMub3B0aW9ucy5nZXQoJ2RlYnVnJykgJiYgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CgkJCQkJY29uc29sZS53YXJuKAoJCQkJCQknU2VsZWN0MjogVGhlIGBzZWxlY3QyKCJlbmFibGUiKWAgbWV0aG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwnICsKCQkJCQkJJyBiZSByZW1vdmVkIGluIGxhdGVyIFNlbGVjdDIgdmVyc2lvbnMuIFVzZSAkZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIpJyArCgkJCQkJCScgaW5zdGVhZC4nCgkJCQkJKTsKCQkJCX0KCgkJCQlpZiAoYXJncyA9PSBudWxsIHx8IGFyZ3MubGVuZ3RoID09PSAwKSB7CgkJCQkJYXJncyA9IFt0cnVlXTsKCQkJCX0KCgkJCQl2YXIgZGlzYWJsZWQgPSAhYXJnc1swXTsKCgkJCQl0aGlzLiRlbGVtZW50LnByb3AoJ2Rpc2FibGVkJywgZGlzYWJsZWQpOwoJCQl9OwoKCQkJU2VsZWN0Mi5wcm90b3R5cGUuZGF0YSA9IGZ1bmN0aW9uICgpIHsKCQkJCWlmICh0aGlzLm9wdGlvbnMuZ2V0KCdkZWJ1ZycpICYmCgkJCQkJYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CgkJCQkJY29uc29sZS53YXJuKAoJCQkJCQknU2VsZWN0MjogRGF0YSBjYW4gbm8gbG9uZ2VyIGJlIHNldCB1c2luZyBgc2VsZWN0MigiZGF0YSIpYC4gWW91ICcgKwoJCQkJCQknc2hvdWxkIGNvbnNpZGVyIHNldHRpbmcgdGhlIHZhbHVlIGluc3RlYWQgdXNpbmcgYCRlbGVtZW50LnZhbCgpYC4nCgkJCQkJKTsKCQkJCX0KCgkJCQl2YXIgZGF0YSA9IFtdOwoKCQkJCXRoaXMuZGF0YUFkYXB0ZXIuY3VycmVudChmdW5jdGlvbiAoY3VycmVudERhdGEpIHsKCQkJCQlkYXRhID0gY3VycmVudERhdGE7CgkJCQl9KTsKCgkJCQlyZXR1cm4gZGF0YTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLnZhbCA9IGZ1bmN0aW9uIChhcmdzKSB7CgkJCQlpZiAodGhpcy5vcHRpb25zLmdldCgnZGVidWcnKSAmJiB3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKCQkJCQljb25zb2xlLndhcm4oCgkJCQkJCSdTZWxlY3QyOiBUaGUgYHNlbGVjdDIoInZhbCIpYCBtZXRob2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZScgKwoJCQkJCQknIHJlbW92ZWQgaW4gbGF0ZXIgU2VsZWN0MiB2ZXJzaW9ucy4gVXNlICRlbGVtZW50LnZhbCgpIGluc3RlYWQuJwoJCQkJCSk7CgkJCQl9CgoJCQkJaWYgKGFyZ3MgPT0gbnVsbCB8fCBhcmdzLmxlbmd0aCA9PT0gMCkgewoJCQkJCXJldHVybiB0aGlzLiRlbGVtZW50LnZhbCgpOwoJCQkJfQoKCQkJCXZhciBuZXdWYWwgPSBhcmdzWzBdOwoKCQkJCWlmICgkLmlzQXJyYXkobmV3VmFsKSkgewoJCQkJCW5ld1ZhbCA9ICQubWFwKG5ld1ZhbCwgZnVuY3Rpb24gKG9iaikgewoJCQkJCQlyZXR1cm4gb2JqLnRvU3RyaW5nKCk7CgkJCQkJfSk7CgkJCQl9CgoJCQkJdGhpcy4kZWxlbWVudC52YWwobmV3VmFsKS50cmlnZ2VyKCdjaGFuZ2UnKTsKCQkJfTsKCgkJCVNlbGVjdDIucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbiAoKSB7CgkJCQl0aGlzLiRjb250YWluZXIucmVtb3ZlKCk7CgoJCQkJaWYgKHRoaXMuJGVsZW1lbnRbMF0uZGV0YWNoRXZlbnQpIHsKCQkJCQl0aGlzLiRlbGVtZW50WzBdLmRldGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgdGhpcy5fc3luY0EpOwoJCQkJfQoKCQkJCWlmICh0aGlzLl9vYnNlcnZlciAhPSBudWxsKSB7CgkJCQkJdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwoJCQkJCXRoaXMuX29ic2VydmVyID0gbnVsbDsKCQkJCX0gZWxzZSBpZiAodGhpcy4kZWxlbWVudFswXS5yZW1vdmVFdmVudExpc3RlbmVyKSB7CgkJCQkJdGhpcy4kZWxlbWVudFswXQoJCQkJCQkucmVtb3ZlRXZlbnRMaXN0ZW5lcignRE9NQXR0ck1vZGlmaWVkJywgdGhpcy5fc3luY0EsIGZhbHNlKTsKCQkJCQl0aGlzLiRlbGVtZW50WzBdCgkJCQkJCS5yZW1vdmVFdmVudExpc3RlbmVyKCdET01Ob2RlSW5zZXJ0ZWQnLCB0aGlzLl9zeW5jUywgZmFsc2UpOwoJCQkJCXRoaXMuJGVsZW1lbnRbMF0KCQkJCQkJLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTU5vZGVSZW1vdmVkJywgdGhpcy5fc3luY1MsIGZhbHNlKTsKCQkJCX0KCgkJCQl0aGlzLl9zeW5jQSA9IG51bGw7CgkJCQl0aGlzLl9zeW5jUyA9IG51bGw7CgoJCQkJdGhpcy4kZWxlbWVudC5vZmYoJy5zZWxlY3QyJyk7CgkJCQl0aGlzLiRlbGVtZW50LmF0dHIoJ3RhYmluZGV4JywgdGhpcy4kZWxlbWVudC5kYXRhKCdvbGQtdGFiaW5kZXgnKSk7CgoJCQkJdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygnc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZScpOwoJCQkJdGhpcy4kZWxlbWVudC5hdHRyKCdhcmlhLWhpZGRlbicsICdmYWxzZScpOwoJCQkJdGhpcy4kZWxlbWVudC5yZW1vdmVEYXRhKCdzZWxlY3QyJyk7CgoJCQkJdGhpcy5kYXRhQWRhcHRlci5kZXN0cm95KCk7CgkJCQl0aGlzLnNlbGVjdGlvbi5kZXN0cm95KCk7CgkJCQl0aGlzLmRyb3Bkb3duLmRlc3Ryb3koKTsKCQkJCXRoaXMucmVzdWx0cy5kZXN0cm95KCk7CgoJCQkJdGhpcy5kYXRhQWRhcHRlciA9IG51bGw7CgkJCQl0aGlzLnNlbGVjdGlvbiA9IG51bGw7CgkJCQl0aGlzLmRyb3Bkb3duID0gbnVsbDsKCQkJCXRoaXMucmVzdWx0cyA9IG51bGw7CgkJCX07CgoJCQlTZWxlY3QyLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoKSB7CgkJCQl2YXIgJGNvbnRhaW5lciA9ICQoCgkJCQkJJzxzcGFuIGNsYXNzPSJzZWxlY3QyIHNlbGVjdDItY29udGFpbmVyIj4nICsKCQkJCQknPHNwYW4gY2xhc3M9InNlbGVjdGlvbiI+PC9zcGFuPicgKwoJCQkJCSc8c3BhbiBjbGFzcz0iZHJvcGRvd24td3JhcHBlciIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj4nICsKCQkJCQknPC9zcGFuPicKCQkJCSk7CgoJCQkJJGNvbnRhaW5lci5hdHRyKCdkaXInLCB0aGlzLm9wdGlvbnMuZ2V0KCdkaXInKSk7CgoJCQkJdGhpcy4kY29udGFpbmVyID0gJGNvbnRhaW5lcjsKCgkJCQl0aGlzLiRjb250YWluZXIuYWRkQ2xhc3MoJ3NlbGVjdDItY29udGFpbmVyLS0nICsgdGhpcy5vcHRpb25zLmdldCgndGhlbWUnKSk7CgoJCQkJJGNvbnRhaW5lci5kYXRhKCdlbGVtZW50JywgdGhpcy4kZWxlbWVudCk7CgoJCQkJcmV0dXJuICRjb250YWluZXI7CgkJCX07CgoJCQlyZXR1cm4gU2VsZWN0MjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2NvbXBhdC91dGlscycsWwoJCQknanF1ZXJ5JwoJCV0sIGZ1bmN0aW9uICgkKSB7CgkJCWZ1bmN0aW9uIHN5bmNDc3NDbGFzc2VzICgkZGVzdCwgJHNyYywgYWRhcHRlcikgewoJCQkJdmFyIGNsYXNzZXMsIHJlcGxhY2VtZW50cyA9IFtdLCBhZGFwdGVkOwoKCQkJCWNsYXNzZXMgPSAkLnRyaW0oJGRlc3QuYXR0cignY2xhc3MnKSk7CgoJCQkJaWYgKGNsYXNzZXMpIHsKCQkJCQljbGFzc2VzID0gJycgKyBjbGFzc2VzOyAvLyBmb3IgSUUgd2hpY2ggcmV0dXJucyBvYmplY3QKCgkJCQkJJChjbGFzc2VzLnNwbGl0KC9ccysvKSkuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQkJCS8vIFNhdmUgYWxsIFNlbGVjdDIgY2xhc3NlcwoJCQkJCQlpZiAodGhpcy5pbmRleE9mKCdzZWxlY3QyLScpID09PSAwKSB7CgkJCQkJCQlyZXBsYWNlbWVudHMucHVzaCh0aGlzKTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoKCQkJCWNsYXNzZXMgPSAkLnRyaW0oJHNyYy5hdHRyKCdjbGFzcycpKTsKCgkJCQlpZiAoY2xhc3NlcykgewoJCQkJCWNsYXNzZXMgPSAnJyArIGNsYXNzZXM7IC8vIGZvciBJRSB3aGljaCByZXR1cm5zIG9iamVjdAoKCQkJCQkkKGNsYXNzZXMuc3BsaXQoL1xzKy8pKS5lYWNoKGZ1bmN0aW9uICgpIHsKCQkJCQkJLy8gT25seSBhZGFwdCBub24tU2VsZWN0MiBjbGFzc2VzCgkJCQkJCWlmICh0aGlzLmluZGV4T2YoJ3NlbGVjdDItJykgIT09IDApIHsKCQkJCQkJCWFkYXB0ZWQgPSBhZGFwdGVyKHRoaXMpOwoKCQkJCQkJCWlmIChhZGFwdGVkICE9IG51bGwpIHsKCQkJCQkJCQlyZXBsYWNlbWVudHMucHVzaChhZGFwdGVkKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoKCQkJCSRkZXN0LmF0dHIoJ2NsYXNzJywgcmVwbGFjZW1lbnRzLmpvaW4oJyAnKSk7CgkJCX0KCgkJCXJldHVybiB7CgkJCQlzeW5jQ3NzQ2xhc3Nlczogc3luY0Nzc0NsYXNzZXMKCQkJfTsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2NvbXBhdC9jb250YWluZXJDc3MnLFsKCQkJJ2pxdWVyeScsCgkJCScuL3V0aWxzJwoJCV0sIGZ1bmN0aW9uICgkLCBDb21wYXRVdGlscykgewoJCQkvLyBOby1vcCBDU1MgYWRhcHRlciB0aGF0IGRpc2NhcmRzIGFsbCBjbGFzc2VzIGJ5IGRlZmF1bHQKCQkJZnVuY3Rpb24gX2NvbnRhaW5lckFkYXB0ZXIgKGNsYXp6KSB7CgkJCQlyZXR1cm4gbnVsbDsKCQkJfQoKCQkJZnVuY3Rpb24gQ29udGFpbmVyQ1NTICgpIHsgfQoKCQkJQ29udGFpbmVyQ1NTLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5jdGlvbiAoZGVjb3JhdGVkKSB7CgkJCQl2YXIgJGNvbnRhaW5lciA9IGRlY29yYXRlZC5jYWxsKHRoaXMpOwoKCQkJCXZhciBjb250YWluZXJDc3NDbGFzcyA9IHRoaXMub3B0aW9ucy5nZXQoJ2NvbnRhaW5lckNzc0NsYXNzJykgfHwgJyc7CgoJCQkJaWYgKCQuaXNGdW5jdGlvbihjb250YWluZXJDc3NDbGFzcykpIHsKCQkJCQljb250YWluZXJDc3NDbGFzcyA9IGNvbnRhaW5lckNzc0NsYXNzKHRoaXMuJGVsZW1lbnQpOwoJCQkJfQoKCQkJCXZhciBjb250YWluZXJDc3NBZGFwdGVyID0gdGhpcy5vcHRpb25zLmdldCgnYWRhcHRDb250YWluZXJDc3NDbGFzcycpOwoJCQkJY29udGFpbmVyQ3NzQWRhcHRlciA9IGNvbnRhaW5lckNzc0FkYXB0ZXIgfHwgX2NvbnRhaW5lckFkYXB0ZXI7CgoJCQkJaWYgKGNvbnRhaW5lckNzc0NsYXNzLmluZGV4T2YoJzphbGw6JykgIT09IC0xKSB7CgkJCQkJY29udGFpbmVyQ3NzQ2xhc3MgPSBjb250YWluZXJDc3NDbGFzcy5yZXBsYWNlKCc6YWxsOicsICcnKTsKCgkJCQkJdmFyIF9jc3NBZGFwdGVyID0gY29udGFpbmVyQ3NzQWRhcHRlcjsKCgkJCQkJY29udGFpbmVyQ3NzQWRhcHRlciA9IGZ1bmN0aW9uIChjbGF6eikgewoJCQkJCQl2YXIgYWRhcHRlZCA9IF9jc3NBZGFwdGVyKGNsYXp6KTsKCgkJCQkJCWlmIChhZGFwdGVkICE9IG51bGwpIHsKCQkJCQkJCS8vIEFwcGVuZCB0aGUgb2xkIG9uZSBhbG9uZyB3aXRoIHRoZSBhZGFwdGVkIG9uZQoJCQkJCQkJcmV0dXJuIGFkYXB0ZWQgKyAnICcgKyBjbGF6ejsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIGNsYXp6OwoJCQkJCX07CgkJCQl9CgoJCQkJdmFyIGNvbnRhaW5lckNzcyA9IHRoaXMub3B0aW9ucy5nZXQoJ2NvbnRhaW5lckNzcycpIHx8IHt9OwoKCQkJCWlmICgkLmlzRnVuY3Rpb24oY29udGFpbmVyQ3NzKSkgewoJCQkJCWNvbnRhaW5lckNzcyA9IGNvbnRhaW5lckNzcyh0aGlzLiRlbGVtZW50KTsKCQkJCX0KCgkJCQlDb21wYXRVdGlscy5zeW5jQ3NzQ2xhc3NlcygkY29udGFpbmVyLCB0aGlzLiRlbGVtZW50LCBjb250YWluZXJDc3NBZGFwdGVyKTsKCgkJCQkkY29udGFpbmVyLmNzcyhjb250YWluZXJDc3MpOwoJCQkJJGNvbnRhaW5lci5hZGRDbGFzcyhjb250YWluZXJDc3NDbGFzcyk7CgoJCQkJcmV0dXJuICRjb250YWluZXI7CgkJCX07CgoJCQlyZXR1cm4gQ29udGFpbmVyQ1NTOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvY29tcGF0L2Ryb3Bkb3duQ3NzJyxbCgkJCSdqcXVlcnknLAoJCQknLi91dGlscycKCQldLCBmdW5jdGlvbiAoJCwgQ29tcGF0VXRpbHMpIHsKCQkJLy8gTm8tb3AgQ1NTIGFkYXB0ZXIgdGhhdCBkaXNjYXJkcyBhbGwgY2xhc3NlcyBieSBkZWZhdWx0CgkJCWZ1bmN0aW9uIF9kcm9wZG93bkFkYXB0ZXIgKGNsYXp6KSB7CgkJCQlyZXR1cm4gbnVsbDsKCQkJfQoKCQkJZnVuY3Rpb24gRHJvcGRvd25DU1MgKCkgeyB9CgoJCQlEcm9wZG93bkNTUy5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKGRlY29yYXRlZCkgewoJCQkJdmFyICRkcm9wZG93biA9IGRlY29yYXRlZC5jYWxsKHRoaXMpOwoKCQkJCXZhciBkcm9wZG93bkNzc0NsYXNzID0gdGhpcy5vcHRpb25zLmdldCgnZHJvcGRvd25Dc3NDbGFzcycpIHx8ICcnOwoKCQkJCWlmICgkLmlzRnVuY3Rpb24oZHJvcGRvd25Dc3NDbGFzcykpIHsKCQkJCQlkcm9wZG93bkNzc0NsYXNzID0gZHJvcGRvd25Dc3NDbGFzcyh0aGlzLiRlbGVtZW50KTsKCQkJCX0KCgkJCQl2YXIgZHJvcGRvd25Dc3NBZGFwdGVyID0gdGhpcy5vcHRpb25zLmdldCgnYWRhcHREcm9wZG93bkNzc0NsYXNzJyk7CgkJCQlkcm9wZG93bkNzc0FkYXB0ZXIgPSBkcm9wZG93bkNzc0FkYXB0ZXIgfHwgX2Ryb3Bkb3duQWRhcHRlcjsKCgkJCQlpZiAoZHJvcGRvd25Dc3NDbGFzcy5pbmRleE9mKCc6YWxsOicpICE9PSAtMSkgewoJCQkJCWRyb3Bkb3duQ3NzQ2xhc3MgPSBkcm9wZG93bkNzc0NsYXNzLnJlcGxhY2UoJzphbGw6JywgJycpOwoKCQkJCQl2YXIgX2Nzc0FkYXB0ZXIgPSBkcm9wZG93bkNzc0FkYXB0ZXI7CgoJCQkJCWRyb3Bkb3duQ3NzQWRhcHRlciA9IGZ1bmN0aW9uIChjbGF6eikgewoJCQkJCQl2YXIgYWRhcHRlZCA9IF9jc3NBZGFwdGVyKGNsYXp6KTsKCgkJCQkJCWlmIChhZGFwdGVkICE9IG51bGwpIHsKCQkJCQkJCS8vIEFwcGVuZCB0aGUgb2xkIG9uZSBhbG9uZyB3aXRoIHRoZSBhZGFwdGVkIG9uZQoJCQkJCQkJcmV0dXJuIGFkYXB0ZWQgKyAnICcgKyBjbGF6ejsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIGNsYXp6OwoJCQkJCX07CgkJCQl9CgoJCQkJdmFyIGRyb3Bkb3duQ3NzID0gdGhpcy5vcHRpb25zLmdldCgnZHJvcGRvd25Dc3MnKSB8fCB7fTsKCgkJCQlpZiAoJC5pc0Z1bmN0aW9uKGRyb3Bkb3duQ3NzKSkgewoJCQkJCWRyb3Bkb3duQ3NzID0gZHJvcGRvd25Dc3ModGhpcy4kZWxlbWVudCk7CgkJCQl9CgoJCQkJQ29tcGF0VXRpbHMuc3luY0Nzc0NsYXNzZXMoJGRyb3Bkb3duLCB0aGlzLiRlbGVtZW50LCBkcm9wZG93bkNzc0FkYXB0ZXIpOwoKCQkJCSRkcm9wZG93bi5jc3MoZHJvcGRvd25Dc3MpOwoJCQkJJGRyb3Bkb3duLmFkZENsYXNzKGRyb3Bkb3duQ3NzQ2xhc3MpOwoKCQkJCXJldHVybiAkZHJvcGRvd247CgkJCX07CgoJCQlyZXR1cm4gRHJvcGRvd25DU1M7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9jb21wYXQvaW5pdFNlbGVjdGlvbicsWwoJCQknanF1ZXJ5JwoJCV0sIGZ1bmN0aW9uICgkKSB7CgkJCWZ1bmN0aW9uIEluaXRTZWxlY3Rpb24gKGRlY29yYXRlZCwgJGVsZW1lbnQsIG9wdGlvbnMpIHsKCQkJCWlmIChvcHRpb25zLmdldCgnZGVidWcnKSAmJiB3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKCQkJCQljb25zb2xlLndhcm4oCgkJCQkJCSdTZWxlY3QyOiBUaGUgYGluaXRTZWxlY3Rpb25gIG9wdGlvbiBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yJyArCgkJCQkJCScgb2YgYSBjdXN0b20gZGF0YSBhZGFwdGVyIHRoYXQgb3ZlcnJpZGVzIHRoZSBgY3VycmVudGAgbWV0aG9kLiAnICsKCQkJCQkJJ1RoaXMgbWV0aG9kIGlzIG5vdyBjYWxsZWQgbXVsdGlwbGUgdGltZXMgaW5zdGVhZCBvZiBhIHNpbmdsZSAnICsKCQkJCQkJJ3RpbWUgd2hlbiB0aGUgaW5zdGFuY2UgaXMgaW5pdGlhbGl6ZWQuIFN1cHBvcnQgd2lsbCBiZSByZW1vdmVkICcgKwoJCQkJCQknZm9yIHRoZSBgaW5pdFNlbGVjdGlvbmAgb3B0aW9uIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBTZWxlY3QyJwoJCQkJCSk7CgkJCQl9CgoJCQkJdGhpcy5pbml0U2VsZWN0aW9uID0gb3B0aW9ucy5nZXQoJ2luaXRTZWxlY3Rpb24nKTsKCQkJCXRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucyk7CgkJCX0KCgkJCUluaXRTZWxlY3Rpb24ucHJvdG90eXBlLmN1cnJlbnQgPSBmdW5jdGlvbiAoZGVjb3JhdGVkLCBjYWxsYmFjaykgewoJCQkJdmFyIHNlbGYgPSB0aGlzOwoKCQkJCWlmICh0aGlzLl9pc0luaXRpYWxpemVkKSB7CgkJCQkJZGVjb3JhdGVkLmNhbGwodGhpcywgY2FsbGJhY2spOwoKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdGhpcy5pbml0U2VsZWN0aW9uLmNhbGwobnVsbCwgdGhpcy4kZWxlbWVudCwgZnVuY3Rpb24gKGRhdGEpIHsKCQkJCQlzZWxmLl9pc0luaXRpYWxpemVkID0gdHJ1ZTsKCgkJCQkJaWYgKCEkLmlzQXJyYXkoZGF0YSkpIHsKCQkJCQkJZGF0YSA9IFtkYXRhXTsKCQkJCQl9CgoJCQkJCWNhbGxiYWNrKGRhdGEpOwoJCQkJfSk7CgkJCX07CgoJCQlyZXR1cm4gSW5pdFNlbGVjdGlvbjsKCQl9KTsKCgkJUzIuZGVmaW5lKCdzZWxlY3QyL2NvbXBhdC9pbnB1dERhdGEnLFsKCQkJJ2pxdWVyeScKCQldLCBmdW5jdGlvbiAoJCkgewoJCQlmdW5jdGlvbiBJbnB1dERhdGEgKGRlY29yYXRlZCwgJGVsZW1lbnQsIG9wdGlvbnMpIHsKCQkJCXRoaXMuX2N1cnJlbnREYXRhID0gW107CgkJCQl0aGlzLl92YWx1ZVNlcGFyYXRvciA9IG9wdGlvbnMuZ2V0KCd2YWx1ZVNlcGFyYXRvcicpIHx8ICcsJzsKCgkJCQlpZiAoJGVsZW1lbnQucHJvcCgndHlwZScpID09PSAnaGlkZGVuJykgewoJCQkJCWlmIChvcHRpb25zLmdldCgnZGVidWcnKSAmJiBjb25zb2xlICYmIGNvbnNvbGUud2FybikgewoJCQkJCQljb25zb2xlLndhcm4oCgkJCQkJCQknU2VsZWN0MjogVXNpbmcgYSBoaWRkZW4gaW5wdXQgd2l0aCBTZWxlY3QyIGlzIG5vIGxvbmdlciAnICsKCQkJCQkJCSdzdXBwb3J0ZWQgYW5kIG1heSBzdG9wIHdvcmtpbmcgaW4gdGhlIGZ1dHVyZS4gSXQgaXMgcmVjb21tZW5kZWQgJyArCgkJCQkJCQkndG8gdXNlIGEgYDxzZWxlY3Q+YCBlbGVtZW50IGluc3RlYWQuJwoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucyk7CgkJCX0KCgkJCUlucHV0RGF0YS5wcm90b3R5cGUuY3VycmVudCA9IGZ1bmN0aW9uIChfLCBjYWxsYmFjaykgewoJCQkJZnVuY3Rpb24gZ2V0U2VsZWN0ZWQgKGRhdGEsIHNlbGVjdGVkSWRzKSB7CgkJCQkJdmFyIHNlbGVjdGVkID0gW107CgoJCQkJCWlmIChkYXRhLnNlbGVjdGVkIHx8ICQuaW5BcnJheShkYXRhLmlkLCBzZWxlY3RlZElkcykgIT09IC0xKSB7CgkJCQkJCWRhdGEuc2VsZWN0ZWQgPSB0cnVlOwoJCQkJCQlzZWxlY3RlZC5wdXNoKGRhdGEpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWRhdGEuc2VsZWN0ZWQgPSBmYWxzZTsKCQkJCQl9CgoJCQkJCWlmIChkYXRhLmNoaWxkcmVuKSB7CgkJCQkJCXNlbGVjdGVkLnB1c2guYXBwbHkoc2VsZWN0ZWQsIGdldFNlbGVjdGVkKGRhdGEuY2hpbGRyZW4sIHNlbGVjdGVkSWRzKSk7CgkJCQkJfQoKCQkJCQlyZXR1cm4gc2VsZWN0ZWQ7CgkJCQl9CgoJCQkJdmFyIHNlbGVjdGVkID0gW107CgoJCQkJZm9yICh2YXIgZCA9IDA7IGQgPCB0aGlzLl9jdXJyZW50RGF0YS5sZW5ndGg7IGQrKykgewoJCQkJCXZhciBkYXRhID0gdGhpcy5fY3VycmVudERhdGFbZF07CgoJCQkJCXNlbGVjdGVkLnB1c2guYXBwbHkoCgkJCQkJCXNlbGVjdGVkLAoJCQkJCQlnZXRTZWxlY3RlZCgKCQkJCQkJCWRhdGEsCgkJCQkJCQl0aGlzLiRlbGVtZW50LnZhbCgpLnNwbGl0KAoJCQkJCQkJCXRoaXMuX3ZhbHVlU2VwYXJhdG9yCgkJCQkJCQkpCgkJCQkJCSkKCQkJCQkpOwoJCQkJfQoKCQkJCWNhbGxiYWNrKHNlbGVjdGVkKTsKCQkJfTsKCgkJCUlucHV0RGF0YS5wcm90b3R5cGUuc2VsZWN0ID0gZnVuY3Rpb24gKF8sIGRhdGEpIHsKCQkJCWlmICghdGhpcy5vcHRpb25zLmdldCgnbXVsdGlwbGUnKSkgewoJCQkJCXRoaXMuY3VycmVudChmdW5jdGlvbiAoYWxsRGF0YSkgewoJCQkJCQkkLm1hcChhbGxEYXRhLCBmdW5jdGlvbiAoZGF0YSkgewoJCQkJCQkJZGF0YS5zZWxlY3RlZCA9IGZhbHNlOwoJCQkJCQl9KTsKCQkJCQl9KTsKCgkJCQkJdGhpcy4kZWxlbWVudC52YWwoZGF0YS5pZCk7CgkJCQkJdGhpcy4kZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UnKTsKCQkJCX0gZWxzZSB7CgkJCQkJdmFyIHZhbHVlID0gdGhpcy4kZWxlbWVudC52YWwoKTsKCQkJCQl2YWx1ZSArPSB0aGlzLl92YWx1ZVNlcGFyYXRvciArIGRhdGEuaWQ7CgoJCQkJCXRoaXMuJGVsZW1lbnQudmFsKHZhbHVlKTsKCQkJCQl0aGlzLiRlbGVtZW50LnRyaWdnZXIoJ2NoYW5nZScpOwoJCQkJfQoJCQl9OwoKCQkJSW5wdXREYXRhLnByb3RvdHlwZS51bnNlbGVjdCA9IGZ1bmN0aW9uIChfLCBkYXRhKSB7CgkJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkJZGF0YS5zZWxlY3RlZCA9IGZhbHNlOwoKCQkJCXRoaXMuY3VycmVudChmdW5jdGlvbiAoYWxsRGF0YSkgewoJCQkJCXZhciB2YWx1ZXMgPSBbXTsKCgkJCQkJZm9yICh2YXIgZCA9IDA7IGQgPCBhbGxEYXRhLmxlbmd0aDsgZCsrKSB7CgkJCQkJCXZhciBpdGVtID0gYWxsRGF0YVtkXTsKCgkJCQkJCWlmIChkYXRhLmlkID09IGl0ZW0uaWQpIHsKCQkJCQkJCWNvbnRpbnVlOwoJCQkJCQl9CgoJCQkJCQl2YWx1ZXMucHVzaChpdGVtLmlkKTsKCQkJCQl9CgoJCQkJCXNlbGYuJGVsZW1lbnQudmFsKHZhbHVlcy5qb2luKHNlbGYuX3ZhbHVlU2VwYXJhdG9yKSk7CgkJCQkJc2VsZi4kZWxlbWVudC50cmlnZ2VyKCdjaGFuZ2UnKTsKCQkJCX0pOwoJCQl9OwoKCQkJSW5wdXREYXRhLnByb3RvdHlwZS5xdWVyeSA9IGZ1bmN0aW9uIChfLCBwYXJhbXMsIGNhbGxiYWNrKSB7CgkJCQl2YXIgcmVzdWx0cyA9IFtdOwoKCQkJCWZvciAodmFyIGQgPSAwOyBkIDwgdGhpcy5fY3VycmVudERhdGEubGVuZ3RoOyBkKyspIHsKCQkJCQl2YXIgZGF0YSA9IHRoaXMuX2N1cnJlbnREYXRhW2RdOwoKCQkJCQl2YXIgbWF0Y2hlcyA9IHRoaXMubWF0Y2hlcyhwYXJhbXMsIGRhdGEpOwoKCQkJCQlpZiAobWF0Y2hlcyAhPT0gbnVsbCkgewoJCQkJCQlyZXN1bHRzLnB1c2gobWF0Y2hlcyk7CgkJCQkJfQoJCQkJfQoKCQkJCWNhbGxiYWNrKHsKCQkJCQlyZXN1bHRzOiByZXN1bHRzCgkJCQl9KTsKCQkJfTsKCgkJCUlucHV0RGF0YS5wcm90b3R5cGUuYWRkT3B0aW9ucyA9IGZ1bmN0aW9uIChfLCAkb3B0aW9ucykgewoJCQkJdmFyIG9wdGlvbnMgPSAkLm1hcCgkb3B0aW9ucywgZnVuY3Rpb24gKCRvcHRpb24pIHsKCQkJCQlyZXR1cm4gJC5kYXRhKCRvcHRpb25bMF0sICdkYXRhJyk7CgkJCQl9KTsKCgkJCQl0aGlzLl9jdXJyZW50RGF0YS5wdXNoLmFwcGx5KHRoaXMuX2N1cnJlbnREYXRhLCBvcHRpb25zKTsKCQkJfTsKCgkJCXJldHVybiBJbnB1dERhdGE7CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9jb21wYXQvbWF0Y2hlcicsWwoJCQknanF1ZXJ5JwoJCV0sIGZ1bmN0aW9uICgkKSB7CgkJCWZ1bmN0aW9uIG9sZE1hdGNoZXIgKG1hdGNoZXIpIHsKCQkJCWZ1bmN0aW9uIHdyYXBwZWRNYXRjaGVyIChwYXJhbXMsIGRhdGEpIHsKCQkJCQl2YXIgbWF0Y2ggPSAkLmV4dGVuZCh0cnVlLCB7fSwgZGF0YSk7CgoJCQkJCWlmIChwYXJhbXMudGVybSA9PSBudWxsIHx8ICQudHJpbShwYXJhbXMudGVybSkgPT09ICcnKSB7CgkJCQkJCXJldHVybiBtYXRjaDsKCQkJCQl9CgoJCQkJCWlmIChkYXRhLmNoaWxkcmVuKSB7CgkJCQkJCWZvciAodmFyIGMgPSBkYXRhLmNoaWxkcmVuLmxlbmd0aCAtIDE7IGMgPj0gMDsgYy0tKSB7CgkJCQkJCQl2YXIgY2hpbGQgPSBkYXRhLmNoaWxkcmVuW2NdOwoKCQkJCQkJCS8vIENoZWNrIGlmIHRoZSBjaGlsZCBvYmplY3QgbWF0Y2hlcwoJCQkJCQkJLy8gVGhlIG9sZCBtYXRjaGVyIHJldHVybmVkIGEgYm9vbGVhbiB0cnVlIG9yIGZhbHNlCgkJCQkJCQl2YXIgZG9lc01hdGNoID0gbWF0Y2hlcihwYXJhbXMudGVybSwgY2hpbGQudGV4dCwgY2hpbGQpOwoKCQkJCQkJCS8vIElmIHRoZSBjaGlsZCBkaWRuJ3QgbWF0Y2gsIHBvcCBpdCBvZmYKCQkJCQkJCWlmICghZG9lc01hdGNoKSB7CgkJCQkJCQkJbWF0Y2guY2hpbGRyZW4uc3BsaWNlKGMsIDEpOwoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQlpZiAobWF0Y2guY2hpbGRyZW4ubGVuZ3RoID4gMCkgewoJCQkJCQkJcmV0dXJuIG1hdGNoOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQlpZiAobWF0Y2hlcihwYXJhbXMudGVybSwgZGF0YS50ZXh0LCBkYXRhKSkgewoJCQkJCQlyZXR1cm4gbWF0Y2g7CgkJCQkJfQoKCQkJCQlyZXR1cm4gbnVsbDsKCQkJCX0KCgkJCQlyZXR1cm4gd3JhcHBlZE1hdGNoZXI7CgkJCX0KCgkJCXJldHVybiBvbGRNYXRjaGVyOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvY29tcGF0L3F1ZXJ5JyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gUXVlcnkgKGRlY29yYXRlZCwgJGVsZW1lbnQsIG9wdGlvbnMpIHsKCQkJCWlmIChvcHRpb25zLmdldCgnZGVidWcnKSAmJiB3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKCQkJCQljb25zb2xlLndhcm4oCgkJCQkJCSdTZWxlY3QyOiBUaGUgYHF1ZXJ5YCBvcHRpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBhICcgKwoJCQkJCQknY3VzdG9tIGRhdGEgYWRhcHRlciB0aGF0IG92ZXJyaWRlcyB0aGUgYHF1ZXJ5YCBtZXRob2QuIFN1cHBvcnQgJyArCgkJCQkJCSd3aWxsIGJlIHJlbW92ZWQgZm9yIHRoZSBgcXVlcnlgIG9wdGlvbiBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgJyArCgkJCQkJCSdTZWxlY3QyLicKCQkJCQkpOwoJCQkJfQoKCQkJCWRlY29yYXRlZC5jYWxsKHRoaXMsICRlbGVtZW50LCBvcHRpb25zKTsKCQkJfQoKCQkJUXVlcnkucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24gKF8sIHBhcmFtcywgY2FsbGJhY2spIHsKCQkJCXBhcmFtcy5jYWxsYmFjayA9IGNhbGxiYWNrOwoKCQkJCXZhciBxdWVyeSA9IHRoaXMub3B0aW9ucy5nZXQoJ3F1ZXJ5Jyk7CgoJCQkJcXVlcnkuY2FsbChudWxsLCBwYXJhbXMpOwoJCQl9OwoKCQkJcmV0dXJuIFF1ZXJ5OwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZHJvcGRvd24vYXR0YWNoQ29udGFpbmVyJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gQXR0YWNoQ29udGFpbmVyIChkZWNvcmF0ZWQsICRlbGVtZW50LCBvcHRpb25zKSB7CgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCAkZWxlbWVudCwgb3B0aW9ucyk7CgkJCX0KCgkJCUF0dGFjaENvbnRhaW5lci5wcm90b3R5cGUucG9zaXRpb24gPQoJCQkJZnVuY3Rpb24gKGRlY29yYXRlZCwgJGRyb3Bkb3duLCAkY29udGFpbmVyKSB7CgkJCQkJdmFyICRkcm9wZG93bkNvbnRhaW5lciA9ICRjb250YWluZXIuZmluZCgnLmRyb3Bkb3duLXdyYXBwZXInKTsKCQkJCQkkZHJvcGRvd25Db250YWluZXIuYXBwZW5kKCRkcm9wZG93bik7CgoJCQkJCSRkcm9wZG93bi5hZGRDbGFzcygnc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cnKTsKCQkJCQkkY29udGFpbmVyLmFkZENsYXNzKCdzZWxlY3QyLWNvbnRhaW5lci0tYmVsb3cnKTsKCQkJCX07CgoJCQlyZXR1cm4gQXR0YWNoQ29udGFpbmVyOwoJCX0pOwoKCQlTMi5kZWZpbmUoJ3NlbGVjdDIvZHJvcGRvd24vc3RvcFByb3BhZ2F0aW9uJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gU3RvcFByb3BhZ2F0aW9uICgpIHsgfQoKCQkJU3RvcFByb3BhZ2F0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgY29udGFpbmVyLCAkY29udGFpbmVyKSB7CgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCXZhciBzdG9wcGVkRXZlbnRzID0gWwoJCQkJCSdibHVyJywKCQkJCQknY2hhbmdlJywKCQkJCQknY2xpY2snLAoJCQkJCSdkYmxjbGljaycsCgkJCQkJJ2ZvY3VzJywKCQkJCQknZm9jdXNpbicsCgkJCQkJJ2ZvY3Vzb3V0JywKCQkJCQknaW5wdXQnLAoJCQkJCSdrZXlkb3duJywKCQkJCQkna2V5dXAnLAoJCQkJCSdrZXlwcmVzcycsCgkJCQkJJ21vdXNlZG93bicsCgkJCQkJJ21vdXNlZW50ZXInLAoJCQkJCSdtb3VzZWxlYXZlJywKCQkJCQknbW91c2Vtb3ZlJywKCQkJCQknbW91c2VvdmVyJywKCQkJCQknbW91c2V1cCcsCgkJCQkJJ3NlYXJjaCcsCgkJCQkJJ3RvdWNoZW5kJywKCQkJCQkndG91Y2hzdGFydCcKCQkJCV07CgoJCQkJdGhpcy4kZHJvcGRvd24ub24oc3RvcHBlZEV2ZW50cy5qb2luKCcgJyksIGZ1bmN0aW9uIChldnQpIHsKCQkJCQlldnQuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCQl9KTsKCQkJfTsKCgkJCXJldHVybiBTdG9wUHJvcGFnYXRpb247CgkJfSk7CgoJCVMyLmRlZmluZSgnc2VsZWN0Mi9zZWxlY3Rpb24vc3RvcFByb3BhZ2F0aW9uJyxbCgoJCV0sIGZ1bmN0aW9uICgpIHsKCQkJZnVuY3Rpb24gU3RvcFByb3BhZ2F0aW9uICgpIHsgfQoKCQkJU3RvcFByb3BhZ2F0aW9uLnByb3RvdHlwZS5iaW5kID0gZnVuY3Rpb24gKGRlY29yYXRlZCwgY29udGFpbmVyLCAkY29udGFpbmVyKSB7CgkJCQlkZWNvcmF0ZWQuY2FsbCh0aGlzLCBjb250YWluZXIsICRjb250YWluZXIpOwoKCQkJCXZhciBzdG9wcGVkRXZlbnRzID0gWwoJCQkJCSdibHVyJywKCQkJCQknY2hhbmdlJywKCQkJCQknY2xpY2snLAoJCQkJCSdkYmxjbGljaycsCgkJCQkJJ2ZvY3VzJywKCQkJCQknZm9jdXNpbicsCgkJCQkJJ2ZvY3Vzb3V0JywKCQkJCQknaW5wdXQnLAoJCQkJCSdrZXlkb3duJywKCQkJCQkna2V5dXAnLAoJCQkJCSdrZXlwcmVzcycsCgkJCQkJJ21vdXNlZG93bicsCgkJCQkJJ21vdXNlZW50ZXInLAoJCQkJCSdtb3VzZWxlYXZlJywKCQkJCQknbW91c2Vtb3ZlJywKCQkJCQknbW91c2VvdmVyJywKCQkJCQknbW91c2V1cCcsCgkJCQkJJ3NlYXJjaCcsCgkJCQkJJ3RvdWNoZW5kJywKCQkJCQkndG91Y2hzdGFydCcKCQkJCV07CgoJCQkJdGhpcy4kc2VsZWN0aW9uLm9uKHN0b3BwZWRFdmVudHMuam9pbignICcpLCBmdW5jdGlvbiAoZXZ0KSB7CgkJCQkJZXZ0LnN0b3BQcm9wYWdhdGlvbigpOwoJCQkJfSk7CgkJCX07CgoJCQlyZXR1cm4gU3RvcFByb3BhZ2F0aW9uOwoJCX0pOwoKCQkvKiEKICogalF1ZXJ5IE1vdXNld2hlZWwgMy4xLjEzCiAqCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqLwoKCQkoZnVuY3Rpb24gKGZhY3RvcnkpIHsKCQkJaWYgKCB0eXBlb2YgUzIuZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIFMyLmRlZmluZS5hbWQgKSB7CgkJCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuCgkJCQlTMi5kZWZpbmUoJ2pxdWVyeS1tb3VzZXdoZWVsJyxbJ2pxdWVyeSddLCBmYWN0b3J5KTsKCQkJfSBlbHNlIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpIHsKCQkJCS8vIE5vZGUvQ29tbW9uSlMgc3R5bGUgZm9yIEJyb3dzZXJpZnkKCQkJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeTsKCQkJfSBlbHNlIHsKCQkJCS8vIEJyb3dzZXIgZ2xvYmFscwoJCQkJZmFjdG9yeShqUXVlcnkpOwoJCQl9CgkJfShmdW5jdGlvbiAoJCkgewoKCQkJdmFyIHRvRml4ICA9IFsnd2hlZWwnLCAnbW91c2V3aGVlbCcsICdET01Nb3VzZVNjcm9sbCcsICdNb3pNb3VzZVBpeGVsU2Nyb2xsJ10sCgkJCQl0b0JpbmQgPSAoICdvbndoZWVsJyBpbiBkb2N1bWVudCB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPj0gOSApID8KCQkJCQlbJ3doZWVsJ10gOiBbJ21vdXNld2hlZWwnLCAnRG9tTW91c2VTY3JvbGwnLCAnTW96TW91c2VQaXhlbFNjcm9sbCddLAoJCQkJc2xpY2UgID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLAoJCQkJbnVsbExvd2VzdERlbHRhVGltZW91dCwgbG93ZXN0RGVsdGE7CgoJCQlpZiAoICQuZXZlbnQuZml4SG9va3MgKSB7CgkJCQlmb3IgKCB2YXIgaSA9IHRvRml4Lmxlbmd0aDsgaTsgKSB7CgkJCQkJJC5ldmVudC5maXhIb29rc1sgdG9GaXhbLS1pXSBdID0gJC5ldmVudC5tb3VzZUhvb2tzOwoJCQkJfQoJCQl9CgoJCQl2YXIgc3BlY2lhbCA9ICQuZXZlbnQuc3BlY2lhbC5tb3VzZXdoZWVsID0gewoJCQkJdmVyc2lvbjogJzMuMS4xMicsCgoJCQkJc2V0dXA6IGZ1bmN0aW9uKCkgewoJCQkJCWlmICggdGhpcy5hZGRFdmVudExpc3RlbmVyICkgewoJCQkJCQlmb3IgKCB2YXIgaSA9IHRvQmluZC5sZW5ndGg7IGk7ICkgewoJCQkJCQkJdGhpcy5hZGRFdmVudExpc3RlbmVyKCB0b0JpbmRbLS1pXSwgaGFuZGxlciwgZmFsc2UgKTsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMub25tb3VzZXdoZWVsID0gaGFuZGxlcjsKCQkJCQl9CgkJCQkJLy8gU3RvcmUgdGhlIGxpbmUgaGVpZ2h0IGFuZCBwYWdlIGhlaWdodCBmb3IgdGhpcyBwYXJ0aWN1bGFyIGVsZW1lbnQKCQkJCQkkLmRhdGEodGhpcywgJ21vdXNld2hlZWwtbGluZS1oZWlnaHQnLCBzcGVjaWFsLmdldExpbmVIZWlnaHQodGhpcykpOwoJCQkJCSQuZGF0YSh0aGlzLCAnbW91c2V3aGVlbC1wYWdlLWhlaWdodCcsIHNwZWNpYWwuZ2V0UGFnZUhlaWdodCh0aGlzKSk7CgkJCQl9LAoKCQkJCXRlYXJkb3duOiBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lciApIHsKCQkJCQkJZm9yICggdmFyIGkgPSB0b0JpbmQubGVuZ3RoOyBpOyApIHsKCQkJCQkJCXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lciggdG9CaW5kWy0taV0sIGhhbmRsZXIsIGZhbHNlICk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQl0aGlzLm9ubW91c2V3aGVlbCA9IG51bGw7CgkJCQkJfQoJCQkJCS8vIENsZWFuIHVwIHRoZSBkYXRhIHdlIGFkZGVkIHRvIHRoZSBlbGVtZW50CgkJCQkJJC5yZW1vdmVEYXRhKHRoaXMsICdtb3VzZXdoZWVsLWxpbmUtaGVpZ2h0Jyk7CgkJCQkJJC5yZW1vdmVEYXRhKHRoaXMsICdtb3VzZXdoZWVsLXBhZ2UtaGVpZ2h0Jyk7CgkJCQl9LAoKCQkJCWdldExpbmVIZWlnaHQ6IGZ1bmN0aW9uKGVsZW0pIHsKCQkJCQl2YXIgJGVsZW0gPSAkKGVsZW0pLAoJCQkJCQkkcGFyZW50ID0gJGVsZW1bJ29mZnNldFBhcmVudCcgaW4gJC5mbiA/ICdvZmZzZXRQYXJlbnQnIDogJ3BhcmVudCddKCk7CgkJCQkJaWYgKCEkcGFyZW50Lmxlbmd0aCkgewoJCQkJCQkkcGFyZW50ID0gJCgnYm9keScpOwoJCQkJCX0KCQkJCQlyZXR1cm4gcGFyc2VJbnQoJHBhcmVudC5jc3MoJ2ZvbnRTaXplJyksIDEwKSB8fCBwYXJzZUludCgkZWxlbS5jc3MoJ2ZvbnRTaXplJyksIDEwKSB8fCAxNjsKCQkJCX0sCgoJCQkJZ2V0UGFnZUhlaWdodDogZnVuY3Rpb24oZWxlbSkgewoJCQkJCXJldHVybiAkKGVsZW0pLmhlaWdodCgpOwoJCQkJfSwKCgkJCQlzZXR0aW5nczogewoJCQkJCWFkanVzdE9sZERlbHRhczogdHJ1ZSwgLy8gc2VlIHNob3VsZEFkanVzdE9sZERlbHRhcygpIGJlbG93CgkJCQkJbm9ybWFsaXplT2Zmc2V0OiB0cnVlICAvLyBjYWxscyBnZXRCb3VuZGluZ0NsaWVudFJlY3QgZm9yIGVhY2ggZXZlbnQKCQkJCX0KCQkJfTsKCgkJCSQuZm4uZXh0ZW5kKHsKCQkJCW1vdXNld2hlZWw6IGZ1bmN0aW9uKGZuKSB7CgkJCQkJcmV0dXJuIGZuID8gdGhpcy5iaW5kKCdtb3VzZXdoZWVsJywgZm4pIDogdGhpcy50cmlnZ2VyKCdtb3VzZXdoZWVsJyk7CgkJCQl9LAoKCQkJCXVubW91c2V3aGVlbDogZnVuY3Rpb24oZm4pIHsKCQkJCQlyZXR1cm4gdGhpcy51bmJpbmQoJ21vdXNld2hlZWwnLCBmbik7CgkJCQl9CgkJCX0pOwoKCgkJCWZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHsKCQkJCXZhciBvcmdFdmVudCAgID0gZXZlbnQgfHwgd2luZG93LmV2ZW50LAoJCQkJCWFyZ3MgICAgICAgPSBzbGljZS5jYWxsKGFyZ3VtZW50cywgMSksCgkJCQkJZGVsdGEgICAgICA9IDAsCgkJCQkJZGVsdGFYICAgICA9IDAsCgkJCQkJZGVsdGFZICAgICA9IDAsCgkJCQkJYWJzRGVsdGEgICA9IDAsCgkJCQkJb2Zmc2V0WCAgICA9IDAsCgkJCQkJb2Zmc2V0WSAgICA9IDA7CgkJCQlldmVudCA9ICQuZXZlbnQuZml4KG9yZ0V2ZW50KTsKCQkJCWV2ZW50LnR5cGUgPSAnbW91c2V3aGVlbCc7CgoJCQkJLy8gT2xkIHNjaG9vbCBzY3JvbGx3aGVlbCBkZWx0YQoJCQkJaWYgKCAnZGV0YWlsJyAgICAgIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVkgPSBvcmdFdmVudC5kZXRhaWwgKiAtMTsgICAgICB9CgkJCQlpZiAoICd3aGVlbERlbHRhJyAgaW4gb3JnRXZlbnQgKSB7IGRlbHRhWSA9IG9yZ0V2ZW50LndoZWVsRGVsdGE7ICAgICAgIH0KCQkJCWlmICggJ3doZWVsRGVsdGFZJyBpbiBvcmdFdmVudCApIHsgZGVsdGFZID0gb3JnRXZlbnQud2hlZWxEZWx0YVk7ICAgICAgfQoJCQkJaWYgKCAnd2hlZWxEZWx0YVgnIGluIG9yZ0V2ZW50ICkgeyBkZWx0YVggPSBvcmdFdmVudC53aGVlbERlbHRhWCAqIC0xOyB9CgoJCQkJLy8gRmlyZWZveCA8IDE3IGhvcml6b250YWwgc2Nyb2xsaW5nIHJlbGF0ZWQgdG8gRE9NTW91c2VTY3JvbGwgZXZlbnQKCQkJCWlmICggJ2F4aXMnIGluIG9yZ0V2ZW50ICYmIG9yZ0V2ZW50LmF4aXMgPT09IG9yZ0V2ZW50LkhPUklaT05UQUxfQVhJUyApIHsKCQkJCQlkZWx0YVggPSBkZWx0YVkgKiAtMTsKCQkJCQlkZWx0YVkgPSAwOwoJCQkJfQoKCQkJCS8vIFNldCBkZWx0YSB0byBiZSBkZWx0YVkgb3IgZGVsdGFYIGlmIGRlbHRhWSBpcyAwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0aXkKCQkJCWRlbHRhID0gZGVsdGFZID09PSAwID8gZGVsdGFYIDogZGVsdGFZOwoKCQkJCS8vIE5ldyBzY2hvb2wgd2hlZWwgZGVsdGEgKHdoZWVsIGV2ZW50KQoJCQkJaWYgKCAnZGVsdGFZJyBpbiBvcmdFdmVudCApIHsKCQkJCQlkZWx0YVkgPSBvcmdFdmVudC5kZWx0YVkgKiAtMTsKCQkJCQlkZWx0YSAgPSBkZWx0YVk7CgkJCQl9CgkJCQlpZiAoICdkZWx0YVgnIGluIG9yZ0V2ZW50ICkgewoJCQkJCWRlbHRhWCA9IG9yZ0V2ZW50LmRlbHRhWDsKCQkJCQlpZiAoIGRlbHRhWSA9PT0gMCApIHsgZGVsdGEgID0gZGVsdGFYICogLTE7IH0KCQkJCX0KCgkJCQkvLyBObyBjaGFuZ2UgYWN0dWFsbHkgaGFwcGVuZWQsIG5vIHJlYXNvbiB0byBnbyBhbnkgZnVydGhlcgoJCQkJaWYgKCBkZWx0YVkgPT09IDAgJiYgZGVsdGFYID09PSAwICkgeyByZXR1cm47IH0KCgkJCQkvLyBOZWVkIHRvIGNvbnZlcnQgbGluZXMgYW5kIHBhZ2VzIHRvIHBpeGVscyBpZiB3ZSBhcmVuJ3QgYWxyZWFkeSBpbiBwaXhlbHMKCQkJCS8vIFRoZXJlIGFyZSB0aHJlZSBkZWx0YSBtb2RlczoKCQkJCS8vICAgKiBkZWx0YU1vZGUgMCBpcyBieSBwaXhlbHMsIG5vdGhpbmcgdG8gZG8KCQkJCS8vICAgKiBkZWx0YU1vZGUgMSBpcyBieSBsaW5lcwoJCQkJLy8gICAqIGRlbHRhTW9kZSAyIGlzIGJ5IHBhZ2VzCgkJCQlpZiAoIG9yZ0V2ZW50LmRlbHRhTW9kZSA9PT0gMSApIHsKCQkJCQl2YXIgbGluZUhlaWdodCA9ICQuZGF0YSh0aGlzLCAnbW91c2V3aGVlbC1saW5lLWhlaWdodCcpOwoJCQkJCWRlbHRhICAqPSBsaW5lSGVpZ2h0OwoJCQkJCWRlbHRhWSAqPSBsaW5lSGVpZ2h0OwoJCQkJCWRlbHRhWCAqPSBsaW5lSGVpZ2h0OwoJCQkJfSBlbHNlIGlmICggb3JnRXZlbnQuZGVsdGFNb2RlID09PSAyICkgewoJCQkJCXZhciBwYWdlSGVpZ2h0ID0gJC5kYXRhKHRoaXMsICdtb3VzZXdoZWVsLXBhZ2UtaGVpZ2h0Jyk7CgkJCQkJZGVsdGEgICo9IHBhZ2VIZWlnaHQ7CgkJCQkJZGVsdGFZICo9IHBhZ2VIZWlnaHQ7CgkJCQkJZGVsdGFYICo9IHBhZ2VIZWlnaHQ7CgkJCQl9CgoJCQkJLy8gU3RvcmUgbG93ZXN0IGFic29sdXRlIGRlbHRhIHRvIG5vcm1hbGl6ZSB0aGUgZGVsdGEgdmFsdWVzCgkJCQlhYnNEZWx0YSA9IE1hdGgubWF4KCBNYXRoLmFicyhkZWx0YVkpLCBNYXRoLmFicyhkZWx0YVgpICk7CgoJCQkJaWYgKCAhbG93ZXN0RGVsdGEgfHwgYWJzRGVsdGEgPCBsb3dlc3REZWx0YSApIHsKCQkJCQlsb3dlc3REZWx0YSA9IGFic0RlbHRhOwoKCQkJCQkvLyBBZGp1c3Qgb2xkZXIgZGVsdGFzIGlmIG5lY2Vzc2FyeQoJCQkJCWlmICggc2hvdWxkQWRqdXN0T2xkRGVsdGFzKG9yZ0V2ZW50LCBhYnNEZWx0YSkgKSB7CgkJCQkJCWxvd2VzdERlbHRhIC89IDQwOwoJCQkJCX0KCQkJCX0KCgkJCQkvLyBBZGp1c3Qgb2xkZXIgZGVsdGFzIGlmIG5lY2Vzc2FyeQoJCQkJaWYgKCBzaG91bGRBZGp1c3RPbGREZWx0YXMob3JnRXZlbnQsIGFic0RlbHRhKSApIHsKCQkJCQkvLyBEaXZpZGUgYWxsIHRoZSB0aGluZ3MgYnkgNDAhCgkJCQkJZGVsdGEgIC89IDQwOwoJCQkJCWRlbHRhWCAvPSA0MDsKCQkJCQlkZWx0YVkgLz0gNDA7CgkJCQl9CgoJCQkJLy8gR2V0IGEgd2hvbGUsIG5vcm1hbGl6ZWQgdmFsdWUgZm9yIHRoZSBkZWx0YXMKCQkJCWRlbHRhICA9IE1hdGhbIGRlbHRhICA+PSAxID8gJ2Zsb29yJyA6ICdjZWlsJyBdKGRlbHRhICAvIGxvd2VzdERlbHRhKTsKCQkJCWRlbHRhWCA9IE1hdGhbIGRlbHRhWCA+PSAxID8gJ2Zsb29yJyA6ICdjZWlsJyBdKGRlbHRhWCAvIGxvd2VzdERlbHRhKTsKCQkJCWRlbHRhWSA9IE1hdGhbIGRlbHRhWSA+PSAxID8gJ2Zsb29yJyA6ICdjZWlsJyBdKGRlbHRhWSAvIGxvd2VzdERlbHRhKTsKCgkJCQkvLyBOb3JtYWxpc2Ugb2Zmc2V0WCBhbmQgb2Zmc2V0WSBwcm9wZXJ0aWVzCgkJCQlpZiAoIHNwZWNpYWwuc2V0dGluZ3Mubm9ybWFsaXplT2Zmc2V0ICYmIHRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICkgewoJCQkJCXZhciBib3VuZGluZ1JlY3QgPSB0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwoJCQkJCW9mZnNldFggPSBldmVudC5jbGllbnRYIC0gYm91bmRpbmdSZWN0LmxlZnQ7CgkJCQkJb2Zmc2V0WSA9IGV2ZW50LmNsaWVudFkgLSBib3VuZGluZ1JlY3QudG9wOwoJCQkJfQoKCQkJCS8vIEFkZCBpbmZvcm1hdGlvbiB0byB0aGUgZXZlbnQgb2JqZWN0CgkJCQlldmVudC5kZWx0YVggPSBkZWx0YVg7CgkJCQlldmVudC5kZWx0YVkgPSBkZWx0YVk7CgkJCQlldmVudC5kZWx0YUZhY3RvciA9IGxvd2VzdERlbHRhOwoJCQkJZXZlbnQub2Zmc2V0WCA9IG9mZnNldFg7CgkJCQlldmVudC5vZmZzZXRZID0gb2Zmc2V0WTsKCQkJCS8vIEdvIGFoZWFkIGFuZCBzZXQgZGVsdGFNb2RlIHRvIDAgc2luY2Ugd2UgY29udmVydGVkIHRvIHBpeGVscwoJCQkJLy8gQWx0aG91Z2ggdGhpcyBpcyBhIGxpdHRsZSBvZGQgc2luY2Ugd2Ugb3ZlcndyaXRlIHRoZSBkZWx0YVgvWQoJCQkJLy8gcHJvcGVydGllcyB3aXRoIG5vcm1hbGl6ZWQgZGVsdGFzLgoJCQkJZXZlbnQuZGVsdGFNb2RlID0gMDsKCgkJCQkvLyBBZGQgZXZlbnQgYW5kIGRlbHRhIHRvIHRoZSBmcm9udCBvZiB0aGUgYXJndW1lbnRzCgkJCQlhcmdzLnVuc2hpZnQoZXZlbnQsIGRlbHRhLCBkZWx0YVgsIGRlbHRhWSk7CgoJCQkJLy8gQ2xlYXJvdXQgbG93ZXN0RGVsdGEgYWZ0ZXIgc29tZXRpbWUgdG8gYmV0dGVyCgkJCQkvLyBoYW5kbGUgbXVsdGlwbGUgZGV2aWNlIHR5cGVzIHRoYXQgZ2l2ZSBkaWZmZXJlbnQKCQkJCS8vIGEgZGlmZmVyZW50IGxvd2VzdERlbHRhCgkJCQkvLyBFeDogdHJhY2twYWQgPSAzIGFuZCBtb3VzZSB3aGVlbCA9IDEyMAoJCQkJaWYgKG51bGxMb3dlc3REZWx0YVRpbWVvdXQpIHsgY2xlYXJUaW1lb3V0KG51bGxMb3dlc3REZWx0YVRpbWVvdXQpOyB9CgkJCQludWxsTG93ZXN0RGVsdGFUaW1lb3V0ID0gc2V0VGltZW91dChudWxsTG93ZXN0RGVsdGEsIDIwMCk7CgoJCQkJcmV0dXJuICgkLmV2ZW50LmRpc3BhdGNoIHx8ICQuZXZlbnQuaGFuZGxlKS5hcHBseSh0aGlzLCBhcmdzKTsKCQkJfQoKCQkJZnVuY3Rpb24gbnVsbExvd2VzdERlbHRhKCkgewoJCQkJbG93ZXN0RGVsdGEgPSBudWxsOwoJCQl9CgoJCQlmdW5jdGlvbiBzaG91bGRBZGp1c3RPbGREZWx0YXMob3JnRXZlbnQsIGFic0RlbHRhKSB7CgkJCQkvLyBJZiB0aGlzIGlzIGFuIG9sZGVyIGV2ZW50IGFuZCB0aGUgZGVsdGEgaXMgZGl2aXNhYmxlIGJ5IDEyMCwKCQkJCS8vIHRoZW4gd2UgYXJlIGFzc3VtaW5nIHRoYXQgdGhlIGJyb3dzZXIgaXMgdHJlYXRpbmcgdGhpcyBhcyBhbgoJCQkJLy8gb2xkZXIgbW91c2Ugd2hlZWwgZXZlbnQgYW5kIHRoYXQgd2Ugc2hvdWxkIGRpdmlkZSB0aGUgZGVsdGFzCgkJCQkvLyBieSA0MCB0byB0cnkgYW5kIGdldCBhIG1vcmUgdXNhYmxlIGRlbHRhRmFjdG9yLgoJCQkJLy8gU2lkZSBub3RlLCB0aGlzIGFjdHVhbGx5IGltcGFjdHMgdGhlIHJlcG9ydGVkIHNjcm9sbCBkaXN0YW5jZQoJCQkJLy8gaW4gb2xkZXIgYnJvd3NlcnMgYW5kIGNhbiBjYXVzZSBzY3JvbGxpbmcgdG8gYmUgc2xvd2VyIHRoYW4gbmF0aXZlLgoJCQkJLy8gVHVybiB0aGlzIG9mZiBieSBzZXR0aW5nICQuZXZlbnQuc3BlY2lhbC5tb3VzZXdoZWVsLnNldHRpbmdzLmFkanVzdE9sZERlbHRhcyB0byBmYWxzZS4KCQkJCXJldHVybiBzcGVjaWFsLnNldHRpbmdzLmFkanVzdE9sZERlbHRhcyAmJiBvcmdFdmVudC50eXBlID09PSAnbW91c2V3aGVlbCcgJiYgYWJzRGVsdGEgJSAxMjAgPT09IDA7CgkJCX0KCgkJfSkpOwoKCQlTMi5kZWZpbmUoJ2pxdWVyeS5zZWxlY3QyJyxbCgkJCSdqcXVlcnknLAoJCQknanF1ZXJ5LW1vdXNld2hlZWwnLAoKCQkJJy4vc2VsZWN0Mi9jb3JlJywKCQkJJy4vc2VsZWN0Mi9kZWZhdWx0cycKCQldLCBmdW5jdGlvbiAoJCwgXywgU2VsZWN0MiwgRGVmYXVsdHMpIHsKCQkJaWYgKCQuZm4uc2VsZWN0MiA9PSBudWxsKSB7CgkJCQkvLyBBbGwgbWV0aG9kcyB0aGF0IHNob3VsZCByZXR1cm4gdGhlIGVsZW1lbnQKCQkJCXZhciB0aGlzTWV0aG9kcyA9IFsnb3BlbicsICdjbG9zZScsICdkZXN0cm95J107CgoJCQkJJC5mbi5zZWxlY3QyID0gZnVuY3Rpb24gKG9wdGlvbnMpIHsKCQkJCQlvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCgkJCQkJaWYgKHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JykgewoJCQkJCQl0aGlzLmVhY2goZnVuY3Rpb24gKCkgewoJCQkJCQkJdmFyIGluc3RhbmNlT3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBvcHRpb25zKTsKCgkJCQkJCQl2YXIgaW5zdGFuY2UgPSBuZXcgU2VsZWN0MigkKHRoaXMpLCBpbnN0YW5jZU9wdGlvbnMpOwoJCQkJCQl9KTsKCgkJCQkJCXJldHVybiB0aGlzOwoJCQkJCX0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnKSB7CgkJCQkJCXZhciByZXQ7CgkJCQkJCXZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKCgkJCQkJCXRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CgkJCQkJCQl2YXIgaW5zdGFuY2UgPSAkKHRoaXMpLmRhdGEoJ3NlbGVjdDInKTsKCgkJCQkJCQlpZiAoaW5zdGFuY2UgPT0gbnVsbCAmJiB3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLmVycm9yKSB7CgkJCQkJCQkJY29uc29sZS5lcnJvcigKCQkJCQkJCQkJJ1RoZSBzZWxlY3QyKFwnJyArIG9wdGlvbnMgKyAnXCcpIG1ldGhvZCB3YXMgY2FsbGVkIG9uIGFuICcgKwoJCQkJCQkJCQknZWxlbWVudCB0aGF0IGlzIG5vdCB1c2luZyBTZWxlY3QyLicKCQkJCQkJCQkpOwoJCQkJCQkJfQoKCQkJCQkJCXJldCA9IGluc3RhbmNlW29wdGlvbnNdLmFwcGx5KGluc3RhbmNlLCBhcmdzKTsKCQkJCQkJfSk7CgoJCQkJCQkvLyBDaGVjayBpZiB3ZSBzaG91bGQgYmUgcmV0dXJuaW5nIGB0aGlzYAoJCQkJCQlpZiAoJC5pbkFycmF5KG9wdGlvbnMsIHRoaXNNZXRob2RzKSA+IC0xKSB7CgkJCQkJCQlyZXR1cm4gdGhpczsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIHJldDsKCQkJCQl9IGVsc2UgewoJCQkJCQl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnRzIGZvciBTZWxlY3QyOiAnICsgb3B0aW9ucyk7CgkJCQkJfQoJCQkJfTsKCQkJfQoKCQkJaWYgKCQuZm4uc2VsZWN0Mi5kZWZhdWx0cyA9PSBudWxsKSB7CgkJCQkkLmZuLnNlbGVjdDIuZGVmYXVsdHMgPSBEZWZhdWx0czsKCQkJfQoKCQkJcmV0dXJuIFNlbGVjdDI7CgkJfSk7CgoJCS8vIFJldHVybiB0aGUgQU1EIGxvYWRlciBjb25maWd1cmF0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIG91dHNpZGUgb2YgdGhpcyBmaWxlCgkJcmV0dXJuIHsKCQkJZGVmaW5lOiBTMi5kZWZpbmUsCgkJCXJlcXVpcmU6IFMyLnJlcXVpcmUKCQl9OwoJfSgpKTsKCgkvLyBBdXRvbG9hZCB0aGUgalF1ZXJ5IGJpbmRpbmdzCgkvLyBXZSBrbm93IHRoYXQgYWxsIG9mIHRoZSBtb2R1bGVzIGV4aXN0IGFib3ZlIHRoaXMsIHNvIHdlJ3JlIHNhZmUKCXZhciBzZWxlY3QyID0gUzIucmVxdWlyZSgnanF1ZXJ5LnNlbGVjdDInKTsKCgkvLyBIb2xkIHRoZSBBTUQgbW9kdWxlIHJlZmVyZW5jZXMgb24gdGhlIGpRdWVyeSBmdW5jdGlvbiB0aGF0IHdhcyBqdXN0IGxvYWRlZAoJLy8gVGhpcyBhbGxvd3MgU2VsZWN0MiB0byB1c2UgdGhlIGludGVybmFsIGxvYWRlciBvdXRzaWRlIG9mIHRoaXMgZmlsZSwgc3VjaAoJLy8gYXMgaW4gdGhlIGxhbmd1YWdlIGZpbGVzLgoJalF1ZXJ5LmZuLnNlbGVjdDIuYW1kID0gUzI7CgoJLy8gUmV0dXJuIHRoZSBTZWxlY3QyIGluc3RhbmNlIGZvciBhbnlvbmUgd2hvIGlzIGltcG9ydGluZyBpdC4KCXJldHVybiBzZWxlY3QyOwp9KSk7"}},"time_used":89,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":82,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.948Z","timestamp":1785139583948,"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-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 08:06:23 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: 80e31abc9e480b18785af865e7794979\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-08-12T17:58:50.068216Z","times_seen":1267,"resource_available":false,"data":"LmVtb2ppLUJzRVJHY1oxe2Rpc3BsYXk6YmxvY2t9LmNsZWFyQnV0dG9uLUJzRVJHY1oxe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS5jbGVhckJ1dHRvbi1Cc0VSR2NaMSwuZW1vamktQnNFUkdjWjF7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.980Z","timestamp":1785139583980,"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-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 08:06:23 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: 4bc2c5a91025707a6d9ea3255515b2b8\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-28T06:17:53.357212Z","times_seen":228,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.151Z","timestamp":1785139584151,"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-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 08:06:24 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: 70f26b9883c2bb8536caec2ed40ddd31\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-28T06:17:53.541712Z","times_seen":90,"resource_available":false,"data":"LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRley0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZTp2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJvcmRlcjp2YXIoLS1jb2xvci1ib3JkZXItcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1ib2xkKTtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjE0cHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NDAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyKTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtY29sb3IpO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0KTtwYWRkaW5nOjFweCAwO3dpZHRoOjIwcHh9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5wcmljZVNjYWxlTW9kZUJ1dHRvbi1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9uLVFZTUg1cFRlOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1iYWNrZ3JvdW5kLWFjdGl2ZSl9LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZCk7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyKTtjb2xvcjp2YXIoLS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWNvbG9yKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnByaWNlU2NhbGVNb2RlQnV0dG9uX2FjdGl2YXRlZC1RWU1INXBUZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZC1ob3Zlcik7Ym9yZGVyLWNvbG9yOnZhcigtLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyKX19LnByaWNlU2NhbGVNb2RlQnV0dG9ucy1hYUtYNksxYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJX0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhe2Rpc3BsYXk6ZmxleDtmbGV4OjEgMTtwYWRkaW5nOjRweH0ucHJpY2VTY2FsZU1vZGVCdXR0b25zX19idXR0b25XcmFwcGVyLWFhS1g2SzFhOmZpcnN0LWNoaWxke2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nLWlubGluZS1lbmQ6MnB4fS5wcmljZVNjYWxlTW9kZUJ1dHRvbnNfX2J1dHRvbldyYXBwZXItYWFLWDZLMWE6bGFzdC1jaGlsZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nLWlubGluZS1zdGFydDoycHh9LmNoYXJ0LXdpZGdldF9fYm90dG9tLS10aGVtZWQtbGlnaHQgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTEwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTE1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xNTApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQ6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJvcmRlcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApfS5jaGFydC13aWRnZXRfX2JvdHRvbS0tdGhlbWVkLWRhcmsgLnByaWNlU2NhbGVNb2RlQnV0dG9uc19fYnV0dG9uLWFhS1g2SzFhey0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWNvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYmFja2dyb3VuZC1hY3RpdmU6dmFyKC0tY29sb3ItY29sZC1ncmF5LTc1MCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1jb2xvcjp2YXIoLS1jb2xvci1jb2xkLWdyYXktOTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYmFja2dyb3VuZDp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLXByaWNlU2NhbGVNb2RlQnV0dG9ucy1hY3RpdmF0ZWQtYm9yZGVyOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tcHJpY2VTY2FsZU1vZGVCdXR0b25zLWFjdGl2YXRlZC1ib3JkZXItaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCk7LS1wcmljZVNjYWxlTW9kZUJ1dHRvbnMtYWN0aXZhdGVkLWJhY2tncm91bmQtaG92ZXI6dmFyKC0tY29sb3ItY29sZC1ncmF5LTIwMCl9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.419Z","timestamp":1785139584419,"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-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 08:06:24 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: 7d2c63bf1d201bb05659f27a36f5a2b5\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-28T04:48:50.392877Z","times_seen":59,"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":"unpkg.com/aos@2.3.1/dist/aos.css","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.991Z","timestamp":1785139581991,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /aos@2.3.1/dist/aos.css HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: 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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: text/css\r\ncf-ray: a21a24f37e3635a6-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 51438\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Sat, 30 May 2026 01:45:39 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:GqiEX9BuR1rv5zPU5Vs2qS/NSHl1BJyBcjQYJ6ycwD4=:\r\nfly-request-id: 01KSBSK7KH697J56JW8R5G2NYD-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"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":26053,"size_decoded":3054,"mime_type":"text/css","magic":"ASCII text, with very long lines (26053), with no line terminators","md5":"847da8fca8060ca1a70f976aab1210b9","sha1":"0557d37454b67f42f2cb101e57e5070fb1193570","sha256":"1aa8845fd06e475aefe733d4e55b36a92fcd487975049c8172341827ac9cc03e","sha512":"d5c2bbf1ad68fa1b7625c696ea0f0e5d8c2aa5ebfdfba1aa3a4cfdc6604df625148489dd2adc7020b19660e4a26ce2a32ec11d8f28d9bd80eafdc67035e6a4d3","ssdeep":"768:CMJihoCcZCOud8G8tKS65wqsZQ1G+dM2cl6iCRotsV84sxIKcv4g01UeEPEQEB4D:CMJihoCcZCOud8G8tKS65wqsZCG+dM25","tlshash":"f0c24b5a7a4cd100bf831b4762df2a0859347588e5301986be3f35ca2cd5ce6b973fa9","first_seen":"2023-04-05T07:18:45Z","last_seen":"2026-08-12T17:54:24.816814Z","times_seen":44716,"resource_available":false,"data":"W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246NTBtc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSI1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjUwbXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjEwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjEwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjEwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6LjFzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxNTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246LjE1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouMTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyMDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246LjJzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi4yc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyNTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6LjI1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMzAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMzAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMzAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMzAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjMwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjMwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouM3N9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjM1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjM1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIzNTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIzNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMzUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMzUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi4zNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjQwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjQwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouNHN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjQwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjQwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI0MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSI0MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6LjRzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSI0NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSI0NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246LjQ1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNDUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iNDUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjQ1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjQ1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouNDVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSI1MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSI1MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246LjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI1MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSI1MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNTAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iNTAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi41c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iNTUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iNTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi41NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjU1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjU1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI1NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSI1NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6LjU1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iNjAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iNjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi42c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNjAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iNjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjYwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjYwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouNnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjY1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjY1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouNjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI2NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSI2NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNjUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iNjUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi42NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjcwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjcwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouN3N9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjcwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjcwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI3MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSI3MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6LjdzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSI3NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSI3NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Ljc1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iNzUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iNzUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Ijc1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9Ijc1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouNzVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSI4MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSI4MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246LjhzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI4MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSI4MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iODAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iODAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi44c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iODUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iODUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi44NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Ijg1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9Ijg1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI4NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSI4NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Ljg1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iOTAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iOTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOi45c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iOTAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iOTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjkwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjkwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheTouOXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249Ijk1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249Ijk1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjouOTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSI5NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSI5NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iOTUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iOTUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5Oi45NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjEwMDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxMDAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjFzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMDAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTAwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMDAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTAwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTA1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjEwNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS4wNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEwNTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMDUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEwNTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMDUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuMDVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxMTAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTEwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjFzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMTAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTEwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMTAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTEwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjFzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxMTUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTE1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjE1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTE1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjExNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTE1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjExNTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS4xNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjEyMDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxMjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuMnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEyMDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEyMDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMjAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuMnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjEyNTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxMjUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuMjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMjUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTI1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxMjUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTI1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjI1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTMwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjEzMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS4zc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTMwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjEzMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTMwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjEzMDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS4zc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTM1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjEzNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS4zNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEzNTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMzUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjEzNTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxMzUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuMzVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxNDAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTQwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjRzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNDAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTQwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNDAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTQwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjRzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxNDUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTQ1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjQ1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTQ1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE0NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTQ1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE0NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS40NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjE1MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxNTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE1MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxNTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE1MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxNTAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjE1NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxNTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuNTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNTUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTU1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNTUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTU1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjU1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTYwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjE2MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS42c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTYwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE2MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTYwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE2MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS42c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTY1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjE2NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS42NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE2NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxNjUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE2NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxNjUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuNjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxNzAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTcwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjdzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNzAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTcwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxNzAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTcwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjdzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIxNzUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMTc1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoxLjc1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTc1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE3NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTc1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE3NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS43NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjE4MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxODAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuOHN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE4MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxODAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE4MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxODAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuOHN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjE4NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIxODUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjEuODVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxODUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMTg1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIxODUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMTg1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToxLjg1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTkwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjE5MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS45c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTkwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE5MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMTkwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjE5MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MS45c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMTk1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjE5NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246MS45NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE5NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxOTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjE5NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIxOTUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjEuOTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyMDAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjAwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjAwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIwMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjAwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIwMDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6MnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjIwNTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyMDUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuMDVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMDUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjA1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMDUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjA1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjA1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjEwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjIxMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi4xc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjEwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIxMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjEwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIxMDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi4xc31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjE1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjIxNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi4xNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjIxNTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyMTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjIxNTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyMTUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuMTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyMjAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjIwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjJzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMjAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjIwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMjAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjIwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjJzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyMjUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjI1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjI1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjI1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIyNTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjI1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjIyNTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi4yNXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjIzMDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyMzAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuM3N9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjIzMDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyMzAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjIzMDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyMzAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuM3N9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjIzNTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyMzUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuMzVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMzUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjM1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyMzUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjM1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjM1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjQwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjI0MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi40c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjQwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI0MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjQwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI0MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi40c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjQ1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjI0NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi40NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI0NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNDUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI0NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNDUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuNDVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyNTAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjUwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyNTAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjUwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyNTAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjUwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyNTUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjU1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjU1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjU1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI1NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjU1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI1NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi41NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjI2MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyNjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuNnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI2MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNjAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI2MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNjAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuNnN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjI2NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyNjUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuNjVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyNjUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjY1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyNjUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjY1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjY1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjcwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjI3MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi43c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjcwMCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI3MDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjcwMCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI3MDAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi43c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMjc1MCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjI3NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246Mi43NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI3NTAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNzUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI3NTAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyNzUwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuNzVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyODAwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjgwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjhzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyODAwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjgwMCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyODAwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjgwMCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjhzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSIyODUwIl0sYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0iMjg1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kdXJhdGlvbjoyLjg1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjg1MCJdLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI4NTAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZGVsYXk6MH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0iMjg1MCJdLmFvcy1hbmltYXRlLGJvZHlbZGF0YS1hb3MtZGVsYXk9IjI4NTAiXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRle3RyYW5zaXRpb24tZGVsYXk6Mi44NXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjI5MDAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyOTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuOXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI5MDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyOTAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjI5MDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIyOTAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjIuOXN9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249IjI5NTAiXSxib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSIyOTUwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWR1cmF0aW9uOjIuOTVzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyOTUwIl0sYm9keVtkYXRhLWFvcy1kZWxheT0iMjk1MCJdIFtkYXRhLWFvc117dHJhbnNpdGlvbi1kZWxheTowfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSIyOTUwIl0uYW9zLWFuaW1hdGUsYm9keVtkYXRhLWFvcy1kZWxheT0iMjk1MCJdIFtkYXRhLWFvc10uYW9zLWFuaW1hdGV7dHJhbnNpdGlvbi1kZWxheToyLjk1c31bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0iMzAwMCJdLGJvZHlbZGF0YS1hb3MtZHVyYXRpb249IjMwMDAiXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tZHVyYXRpb246M3N9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjMwMDAiXSxib2R5W2RhdGEtYW9zLWRlbGF5PSIzMDAwIl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLWRlbGF5OjB9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9IjMwMDAiXS5hb3MtYW5pbWF0ZSxib2R5W2RhdGEtYW9zLWRlbGF5PSIzMDAwIl0gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZXt0cmFuc2l0aW9uLWRlbGF5OjNzfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1saW5lYXJdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWxpbmVhcl0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjI1LC4yNSwuNzUsLjc1KX1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZV0sYm9keVtkYXRhLWFvcy1lYXNpbmc9ZWFzZV0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1lYXNlLWluXSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLWluXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0XSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLW91dF0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1vdXRdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0XSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1lYXNlLWluLWJhY2tdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tYmFja10gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjYsLS4yOCwuNzM1LC4wNDUpfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1lYXNlLW91dC1iYWNrXSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLW91dC1iYWNrXSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KX1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1vdXQtYmFja10sYm9keVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1vdXQtYmFja10gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KX1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1zaW5lXSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLWluLXNpbmVdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40NywwLC43NDUsLjcxNSl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0LXNpbmVdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0LXNpbmVdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4zOSwuNTc1LC41NjUsMSl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LXNpbmVdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LXNpbmVdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40NDUsLjA1LC41NSwuOTUpfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1lYXNlLWluLXF1YWRdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tcXVhZF0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wODUsLjY4LC41Myl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0LXF1YWRdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0LXF1YWRdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yNSwuNDYsLjQ1LC45NCl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LXF1YWRdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LXF1YWRdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40NTUsLjAzLC41MTUsLjk1NSl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tY3ViaWNdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tY3ViaWNdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDg1LC42OCwuNTMpfVtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1lYXNlLW91dC1jdWJpY10sYm9keVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1vdXQtY3ViaWNdIFtkYXRhLWFvc117dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yNSwuNDYsLjQ1LC45NCl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LWN1YmljXSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLWluLW91dC1jdWJpY10gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQ1NSwuMDMsLjUxNSwuOTU1KX1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1xdWFydF0sYm9keVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1xdWFydF0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wODUsLjY4LC41Myl9W2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPWVhc2Utb3V0LXF1YXJ0XSxib2R5W2RhdGEtYW9zLWVhc2luZz1lYXNlLW91dC1xdWFydF0gW2RhdGEtYW9zXXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjI1LC40NiwuNDUsLjk0KX1bZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9ZWFzZS1pbi1vdXQtcXVhcnRdLGJvZHlbZGF0YS1hb3MtZWFzaW5nPWVhc2UtaW4tb3V0LXF1YXJ0XSBbZGF0YS1hb3Nde3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNDU1LC4wMywuNTE1LC45NTUpfVtkYXRhLWFvc149ZmFkZV1bZGF0YS1hb3NePWZhZGVde29wYWNpdHk6MDt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtfVtkYXRhLWFvc149ZmFkZV1bZGF0YS1hb3NePWZhZGVdLmFvcy1hbmltYXRle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX1bZGF0YS1hb3M9ZmFkZS11cF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwcHgsMCl9W2RhdGEtYW9zPWZhZGUtZG93bl17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMHB4LDApfVtkYXRhLWFvcz1mYWRlLXJpZ2h0XXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMHB4LDAsMCl9W2RhdGEtYW9zPWZhZGUtbGVmdF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMHB4LDAsMCl9W2RhdGEtYW9zPWZhZGUtdXAtcmlnaHRde3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwcHgsMTAwcHgsMCl9W2RhdGEtYW9zPWZhZGUtdXAtbGVmdF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMHB4LDEwMHB4LDApfVtkYXRhLWFvcz1mYWRlLWRvd24tcmlnaHRde3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwcHgsLTEwMHB4LDApfVtkYXRhLWFvcz1mYWRlLWRvd24tbGVmdF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMHB4LC0xMDBweCwwKX1bZGF0YS1hb3NePXpvb21dW2RhdGEtYW9zXj16b29tXXtvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5LHRyYW5zZm9ybX1bZGF0YS1hb3NePXpvb21dW2RhdGEtYW9zXj16b29tXS5hb3MtYW5pbWF0ZXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoMSl9W2RhdGEtYW9zPXpvb20taW5de3RyYW5zZm9ybTpzY2FsZSguNil9W2RhdGEtYW9zPXpvb20taW4tdXBde3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMHB4LDApIHNjYWxlKC42KX1bZGF0YS1hb3M9em9vbS1pbi1kb3duXXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwcHgsMCkgc2NhbGUoLjYpfVtkYXRhLWFvcz16b29tLWluLXJpZ2h0XXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMHB4LDAsMCkgc2NhbGUoLjYpfVtkYXRhLWFvcz16b29tLWluLWxlZnRde3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDBweCwwLDApIHNjYWxlKC42KX1bZGF0YS1hb3M9em9vbS1vdXRde3RyYW5zZm9ybTpzY2FsZSgxLjIpfVtkYXRhLWFvcz16b29tLW91dC11cF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwcHgsMCkgc2NhbGUoMS4yKX1bZGF0YS1hb3M9em9vbS1vdXQtZG93bl17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMHB4LDApIHNjYWxlKDEuMil9W2RhdGEtYW9zPXpvb20tb3V0LXJpZ2h0XXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMHB4LDAsMCkgc2NhbGUoMS4yKX1bZGF0YS1hb3M9em9vbS1vdXQtbGVmdF17dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMHB4LDAsMCkgc2NhbGUoMS4yKX1bZGF0YS1hb3NePXNsaWRlXVtkYXRhLWFvc149c2xpZGVde3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfVtkYXRhLWFvc149c2xpZGVdW2RhdGEtYW9zXj1zbGlkZV0uYW9zLWFuaW1hdGV7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9W2RhdGEtYW9zPXNsaWRlLXVwXXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfVtkYXRhLWFvcz1zbGlkZS1kb3duXXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX1bZGF0YS1hb3M9c2xpZGUtcmlnaHRde3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfVtkYXRhLWFvcz1zbGlkZS1sZWZ0XXt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfVtkYXRhLWFvc149ZmxpcF1bZGF0YS1hb3NePWZsaXBde2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfVtkYXRhLWFvcz1mbGlwLWxlZnRde3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoLTEwMGRlZyl9W2RhdGEtYW9zPWZsaXAtbGVmdF0uYW9zLWFuaW1hdGV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKX1bZGF0YS1hb3M9ZmxpcC1yaWdodF17dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgxMDBkZWcpfVtkYXRhLWFvcz1mbGlwLXJpZ2h0XS5hb3MtYW5pbWF0ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApfVtkYXRhLWFvcz1mbGlwLXVwXXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKC0xMDBkZWcpfVtkYXRhLWFvcz1mbGlwLXVwXS5hb3MtYW5pbWF0ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApfVtkYXRhLWFvcz1mbGlwLWRvd25de3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoMTAwZGVnKX1bZGF0YS1hb3M9ZmxpcC1kb3duXS5hb3MtYW5pbWF0ZXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApfQ=="}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/leaflet@1.7.1/dist/leaflet.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.995Z","timestamp":1785139581995,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /leaflet@1.7.1/dist/leaflet.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\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/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a21a24f39b5556ba-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 10651\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Wed, 03 Jun 2026 03:57:13 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:yDc0eil8GjWFKqN1OSzHSVCiuGghTosZCcRje4tj7iQ=:\r\nfly-request-id: 01KS23D89CF539YWXZ37QG4K8G-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":141941,"size_decoded":41761,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65384)","md5":"4eaa81e6e27a89ed2410a7c39048a397","sha1":"88a91ff8e6ad782d5bc632d143db4cbb936dd3b4","sha256":"c837347a297c1a35852aa375392cc74950a2b868214e8b1909c4637b8b63ee24","sha512":"5d0a1832a3132bc2ef7715d81b79d9e38f213844228257ea909b3534e415e387169d4ac173c3e400e717cb6d30d2f95a5da55479aac83818625d9e55df29f1c0","ssdeep":"1536:vpjOihF8Zozly9q4WoKQRTc2J32OnDIb6Y6JegiXSDXILP7YV4ngL:RjOicd9r6t4eHxtgL","tlshash":"45d3a58ab391ba2643c35174403f210bf6326595a40a452cb83dd9efed6ca49713bf7e","first_seen":"2023-03-07T12:07:28Z","last_seen":"2026-08-12T15:23:27.37208Z","times_seen":2982,"resource_available":true,"data":"LyogQHByZXNlcnZlCiAqIExlYWZsZXQgMS43LjEsIGEgSlMgbGlicmFyeSBmb3IgaW50ZXJhY3RpdmUgbWFwcy4gaHR0cDovL2xlYWZsZXRqcy5jb20KICogKGMpIDIwMTAtMjAxOSBWbGFkaW1pciBBZ2Fmb25raW4sIChjKSAyMDEwLTIwMTEgQ2xvdWRNYWRlCiAqLwohZnVuY3Rpb24odCxpKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP2koZXhwb3J0cyk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIl0saSk6aSh0Lkw9e30pfSh0aGlzLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBoKHQpe2Zvcih2YXIgaSxlLG49MSxvPWFyZ3VtZW50cy5sZW5ndGg7bjxvO24rKylmb3IoaSBpbiBlPWFyZ3VtZW50c1tuXSl0W2ldPWVbaV07cmV0dXJuIHR9dmFyIHM9T2JqZWN0LmNyZWF0ZXx8ZnVuY3Rpb24odCl7cmV0dXJuIGkucHJvdG90eXBlPXQsbmV3IGl9O2Z1bmN0aW9uIGkoKXt9ZnVuY3Rpb24gcCh0LGkpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZTtpZih0LmJpbmQpcmV0dXJuIHQuYmluZC5hcHBseSh0LGUuY2FsbChhcmd1bWVudHMsMSkpO3ZhciBuPWUuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoaSxuLmxlbmd0aD9uLmNvbmNhdChlLmNhbGwoYXJndW1lbnRzKSk6YXJndW1lbnRzKX19dmFyIGU9MDtmdW5jdGlvbiBtKHQpe3JldHVybiB0Ll9sZWFmbGV0X2lkPXQuX2xlYWZsZXRfaWR8fCsrZSx0Ll9sZWFmbGV0X2lkfWZ1bmN0aW9uIG4odCxpLGUpe3ZhciBuLG8scz1mdW5jdGlvbigpe249ITEsbyYmKHIuYXBwbHkoZSxvKSxvPSExKX0scj1mdW5jdGlvbigpe24/bz1hcmd1bWVudHM6KHQuYXBwbHkoZSxhcmd1bWVudHMpLHNldFRpbWVvdXQocyxpKSxuPSEwKX07cmV0dXJuIHJ9ZnVuY3Rpb24gbyh0LGksZSl7dmFyIG49aVsxXSxvPWlbMF0scz1uLW87cmV0dXJuIHQ9PT1uJiZlP3Q6KCh0LW8pJXMrcyklcytvfWZ1bmN0aW9uIGEoKXtyZXR1cm4hMX1mdW5jdGlvbiByKHQsaSl7dmFyIGU9TWF0aC5wb3coMTAsdm9pZCAwPT09aT82OmkpO3JldHVybiBNYXRoLnJvdW5kKHQqZSkvZX1mdW5jdGlvbiB1KHQpe3JldHVybiB0LnRyaW0/dC50cmltKCk6dC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIil9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdSh0KS5zcGxpdCgvXHMrLyl9ZnVuY3Rpb24gYyh0LGkpe2Zvcih2YXIgZSBpbiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwib3B0aW9ucyIpfHwodC5vcHRpb25zPXQub3B0aW9ucz9zKHQub3B0aW9ucyk6e30pLGkpdC5vcHRpb25zW2VdPWlbZV07cmV0dXJuIHQub3B0aW9uc31mdW5jdGlvbiBfKHQsaSxlKXt2YXIgbj1bXTtmb3IodmFyIG8gaW4gdCluLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGU/by50b1VwcGVyQ2FzZSgpOm8pKyI9IitlbmNvZGVVUklDb21wb25lbnQodFtvXSkpO3JldHVybihpJiYtMSE9PWkuaW5kZXhPZigiPyIpPyImIjoiPyIpK24uam9pbigiJiIpfXZhciBkPS9ceyAqKFtcd18tXSspICpcfS9nO2Z1bmN0aW9uIGYodCxuKXtyZXR1cm4gdC5yZXBsYWNlKGQsZnVuY3Rpb24odCxpKXt2YXIgZT1uW2ldO2lmKHZvaWQgMD09PWUpdGhyb3cgbmV3IEVycm9yKCJObyB2YWx1ZSBwcm92aWRlZCBmb3IgdmFyaWFibGUgIit0KTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZShuKSksZX0pfXZhciBnPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9O2Z1bmN0aW9uIHYodCxpKXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdPT09aSlyZXR1cm4gZTtyZXR1cm4tMX12YXIgeT0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFBRC9BQ3dBQUFBQUFRQUJBQUFDQURzPSI7ZnVuY3Rpb24geCh0KXtyZXR1cm4gd2luZG93WyJ3ZWJraXQiK3RdfHx3aW5kb3dbIm1veiIrdF18fHdpbmRvd1sibXMiK3RdfXZhciB3PTA7ZnVuY3Rpb24gUCh0KXt2YXIgaT0rbmV3IERhdGUsZT1NYXRoLm1heCgwLDE2LShpLXcpKTtyZXR1cm4gdz1pK2Usd2luZG93LnNldFRpbWVvdXQodCxlKX12YXIgYj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx4KCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKXx8UCxUPXdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZXx8eCgiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiKXx8eCgiQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lIil8fGZ1bmN0aW9uKHQpe3dpbmRvdy5jbGVhclRpbWVvdXQodCl9O2Z1bmN0aW9uIE0odCxpLGUpe2lmKCFlfHxiIT09UClyZXR1cm4gYi5jYWxsKHdpbmRvdyxwKHQsaSkpO3QuY2FsbChpKX1mdW5jdGlvbiB6KHQpe3QmJlQuY2FsbCh3aW5kb3csdCl9dmFyIEM9e2V4dGVuZDpoLGNyZWF0ZTpzLGJpbmQ6cCxsYXN0SWQ6ZSxzdGFtcDptLHRocm90dGxlOm4sd3JhcE51bTpvLGZhbHNlRm46YSxmb3JtYXROdW06cix0cmltOnUsc3BsaXRXb3JkczpsLHNldE9wdGlvbnM6YyxnZXRQYXJhbVN0cmluZzpfLHRlbXBsYXRlOmYsaXNBcnJheTpnLGluZGV4T2Y6dixlbXB0eUltYWdlVXJsOnkscmVxdWVzdEZuOmIsY2FuY2VsRm46VCxyZXF1ZXN0QW5pbUZyYW1lOk0sY2FuY2VsQW5pbUZyYW1lOnp9O2Z1bmN0aW9uIFMoKXt9Uy5leHRlbmQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSgpe3RoaXMuaW5pdGlhbGl6ZSYmdGhpcy5pbml0aWFsaXplLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLmNhbGxJbml0SG9va3MoKX12YXIgZT1pLl9fc3VwZXJfXz10aGlzLnByb3RvdHlwZSxuPXMoZSk7Zm9yKHZhciBvIGluKG4uY29uc3RydWN0b3I9aSkucHJvdG90eXBlPW4sdGhpcylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcyxvKSYmInByb3RvdHlwZSIhPT1vJiYiX19zdXBlcl9fIiE9PW8mJihpW29dPXRoaXNbb10pO3JldHVybiB0LnN0YXRpY3MmJihoKGksdC5zdGF0aWNzKSxkZWxldGUgdC5zdGF0aWNzKSx0LmluY2x1ZGVzJiYoZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBMfHwhTHx8IUwuTWl4aW4pcmV0dXJuO3Q9Zyh0KT90Olt0XTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl0W2ldPT09TC5NaXhpbi5FdmVudHMmJmNvbnNvbGUud2FybigiRGVwcmVjYXRlZCBpbmNsdWRlIG9mIEwuTWl4aW4uRXZlbnRzOiB0aGlzIHByb3BlcnR5IHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgcmVsZWFzZXMsIHBsZWFzZSBpbmhlcml0IGZyb20gTC5FdmVudGVkIGluc3RlYWQuIiwobmV3IEVycm9yKS5zdGFjayl9KHQuaW5jbHVkZXMpLGguYXBwbHkobnVsbCxbbl0uY29uY2F0KHQuaW5jbHVkZXMpKSxkZWxldGUgdC5pbmNsdWRlcyksbi5vcHRpb25zJiYodC5vcHRpb25zPWgocyhuLm9wdGlvbnMpLHQub3B0aW9ucykpLGgobix0KSxuLl9pbml0SG9va3M9W10sbi5jYWxsSW5pdEhvb2tzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2luaXRIb29rc0NhbGxlZCl7ZS5jYWxsSW5pdEhvb2tzJiZlLmNhbGxJbml0SG9va3MuY2FsbCh0aGlzKSx0aGlzLl9pbml0SG9va3NDYWxsZWQ9ITA7Zm9yKHZhciB0PTAsaT1uLl9pbml0SG9va3MubGVuZ3RoO3Q8aTt0Kyspbi5faW5pdEhvb2tzW3RdLmNhbGwodGhpcyl9fSxpfSxTLmluY2x1ZGU9ZnVuY3Rpb24odCl7cmV0dXJuIGgodGhpcy5wcm90b3R5cGUsdCksdGhpc30sUy5tZXJnZU9wdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGgodGhpcy5wcm90b3R5cGUub3B0aW9ucyx0KSx0aGlzfSxTLmFkZEluaXRIb29rPWZ1bmN0aW9uKHQpe3ZhciBpPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZnVuY3Rpb24oKXt0aGlzW3RdLmFwcGx5KHRoaXMsaSl9O3JldHVybiB0aGlzLnByb3RvdHlwZS5faW5pdEhvb2tzPXRoaXMucHJvdG90eXBlLl9pbml0SG9va3N8fFtdLHRoaXMucHJvdG90eXBlLl9pbml0SG9va3MucHVzaChlKSx0aGlzfTt2YXIgWj17b246ZnVuY3Rpb24odCxpLGUpe2lmKCJvYmplY3QiPT10eXBlb2YgdClmb3IodmFyIG4gaW4gdCl0aGlzLl9vbihuLHRbbl0saSk7ZWxzZSBmb3IodmFyIG89MCxzPSh0PWwodCkpLmxlbmd0aDtvPHM7bysrKXRoaXMuX29uKHRbb10saSxlKTtyZXR1cm4gdGhpc30sb2ZmOmZ1bmN0aW9uKHQsaSxlKXtpZih0KWlmKCJvYmplY3QiPT10eXBlb2YgdClmb3IodmFyIG4gaW4gdCl0aGlzLl9vZmYobix0W25dLGkpO2Vsc2UgZm9yKHZhciBvPTAscz0odD1sKHQpKS5sZW5ndGg7bzxzO28rKyl0aGlzLl9vZmYodFtvXSxpLGUpO2Vsc2UgZGVsZXRlIHRoaXMuX2V2ZW50cztyZXR1cm4gdGhpc30sX29uOmZ1bmN0aW9uKHQsaSxlKXt0aGlzLl9ldmVudHM9dGhpcy5fZXZlbnRzfHx7fTt2YXIgbj10aGlzLl9ldmVudHNbdF07bnx8KG49W10sdGhpcy5fZXZlbnRzW3RdPW4pLGU9PT10aGlzJiYoZT12b2lkIDApO2Zvcih2YXIgbz17Zm46aSxjdHg6ZX0scz1uLHI9MCxhPXMubGVuZ3RoO3I8YTtyKyspaWYoc1tyXS5mbj09PWkmJnNbcl0uY3R4PT09ZSlyZXR1cm47cy5wdXNoKG8pfSxfb2ZmOmZ1bmN0aW9uKHQsaSxlKXt2YXIgbixvLHM7aWYodGhpcy5fZXZlbnRzJiYobj10aGlzLl9ldmVudHNbdF0pKWlmKGkpe2lmKGU9PT10aGlzJiYoZT12b2lkIDApLG4pZm9yKG89MCxzPW4ubGVuZ3RoO288cztvKyspe3ZhciByPW5bb107aWYoci5jdHg9PT1lJiZyLmZuPT09aSlyZXR1cm4gci5mbj1hLHRoaXMuX2ZpcmluZ0NvdW50JiYodGhpcy5fZXZlbnRzW3RdPW49bi5zbGljZSgpKSx2b2lkIG4uc3BsaWNlKG8sMSl9fWVsc2V7Zm9yKG89MCxzPW4ubGVuZ3RoO288cztvKyspbltvXS5mbj1hO2RlbGV0ZSB0aGlzLl9ldmVudHNbdF19fSxmaXJlOmZ1bmN0aW9uKHQsaSxlKXtpZighdGhpcy5saXN0ZW5zKHQsZSkpcmV0dXJuIHRoaXM7dmFyIG49aCh7fSxpLHt0eXBlOnQsdGFyZ2V0OnRoaXMsc291cmNlVGFyZ2V0OmkmJmkuc291cmNlVGFyZ2V0fHx0aGlzfSk7aWYodGhpcy5fZXZlbnRzKXt2YXIgbz10aGlzLl9ldmVudHNbdF07aWYobyl7dGhpcy5fZmlyaW5nQ291bnQ9dGhpcy5fZmlyaW5nQ291bnQrMXx8MTtmb3IodmFyIHM9MCxyPW8ubGVuZ3RoO3M8cjtzKyspe3ZhciBhPW9bc107YS5mbi5jYWxsKGEuY3R4fHx0aGlzLG4pfXRoaXMuX2ZpcmluZ0NvdW50LS19fXJldHVybiBlJiZ0aGlzLl9wcm9wYWdhdGVFdmVudChuKSx0aGlzfSxsaXN0ZW5zOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbdF07aWYoZSYmZS5sZW5ndGgpcmV0dXJuITA7aWYoaSlmb3IodmFyIG4gaW4gdGhpcy5fZXZlbnRQYXJlbnRzKWlmKHRoaXMuX2V2ZW50UGFyZW50c1tuXS5saXN0ZW5zKHQsaSkpcmV0dXJuITA7cmV0dXJuITF9LG9uY2U6ZnVuY3Rpb24odCxpLGUpe2lmKCJvYmplY3QiPT10eXBlb2YgdCl7Zm9yKHZhciBuIGluIHQpdGhpcy5vbmNlKG4sdFtuXSxpKTtyZXR1cm4gdGhpc312YXIgbz1wKGZ1bmN0aW9uKCl7dGhpcy5vZmYodCxpLGUpLm9mZih0LG8sZSl9LHRoaXMpO3JldHVybiB0aGlzLm9uKHQsaSxlKS5vbih0LG8sZSl9LGFkZEV2ZW50UGFyZW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ldmVudFBhcmVudHM9dGhpcy5fZXZlbnRQYXJlbnRzfHx7fSx0aGlzLl9ldmVudFBhcmVudHNbbSh0KV09dCx0aGlzfSxyZW1vdmVFdmVudFBhcmVudDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZXZlbnRQYXJlbnRzJiZkZWxldGUgdGhpcy5fZXZlbnRQYXJlbnRzW20odCldLHRoaXN9LF9wcm9wYWdhdGVFdmVudDpmdW5jdGlvbih0KXtmb3IodmFyIGkgaW4gdGhpcy5fZXZlbnRQYXJlbnRzKXRoaXMuX2V2ZW50UGFyZW50c1tpXS5maXJlKHQudHlwZSxoKHtsYXllcjp0LnRhcmdldCxwcm9wYWdhdGVkRnJvbTp0LnRhcmdldH0sdCksITApfX07Wi5hZGRFdmVudExpc3RlbmVyPVoub24sWi5yZW1vdmVFdmVudExpc3RlbmVyPVouY2xlYXJBbGxFdmVudExpc3RlbmVycz1aLm9mZixaLmFkZE9uZVRpbWVFdmVudExpc3RlbmVyPVoub25jZSxaLmZpcmVFdmVudD1aLmZpcmUsWi5oYXNFdmVudExpc3RlbmVycz1aLmxpc3RlbnM7dmFyIEU9Uy5leHRlbmQoWik7ZnVuY3Rpb24gayh0LGksZSl7dGhpcy54PWU/TWF0aC5yb3VuZCh0KTp0LHRoaXMueT1lP01hdGgucm91bmQoaSk6aX12YXIgQj1NYXRoLnRydW5jfHxmdW5jdGlvbih0KXtyZXR1cm4gMDx0P01hdGguZmxvb3IodCk6TWF0aC5jZWlsKHQpfTtmdW5jdGlvbiBBKHQsaSxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGs/dDpnKHQpP25ldyBrKHRbMF0sdFsxXSk6bnVsbD09dD90OiJvYmplY3QiPT10eXBlb2YgdCYmIngiaW4gdCYmInkiaW4gdD9uZXcgayh0LngsdC55KTpuZXcgayh0LGksZSl9ZnVuY3Rpb24gSSh0LGkpe2lmKHQpZm9yKHZhciBlPWk/W3QsaV06dCxuPTAsbz1lLmxlbmd0aDtuPG87bisrKXRoaXMuZXh0ZW5kKGVbbl0pfWZ1bmN0aW9uIE8odCxpKXtyZXR1cm4hdHx8dCBpbnN0YW5jZW9mIEk/dDpuZXcgSSh0LGkpfWZ1bmN0aW9uIFIodCxpKXtpZih0KWZvcih2YXIgZT1pP1t0LGldOnQsbj0wLG89ZS5sZW5ndGg7bjxvO24rKyl0aGlzLmV4dGVuZChlW25dKX1mdW5jdGlvbiBOKHQsaSl7cmV0dXJuIHQgaW5zdGFuY2VvZiBSP3Q6bmV3IFIodCxpKX1mdW5jdGlvbiBEKHQsaSxlKXtpZihpc05hTih0KXx8aXNOYU4oaSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIExhdExuZyBvYmplY3Q6ICgiK3QrIiwgIitpKyIpIik7dGhpcy5sYXQ9K3QsdGhpcy5sbmc9K2ksdm9pZCAwIT09ZSYmKHRoaXMuYWx0PStlKX1mdW5jdGlvbiBqKHQsaSxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIEQ/dDpnKHQpJiYib2JqZWN0IiE9dHlwZW9mIHRbMF0/Mz09PXQubGVuZ3RoP25ldyBEKHRbMF0sdFsxXSx0WzJdKToyPT09dC5sZW5ndGg/bmV3IEQodFswXSx0WzFdKTpudWxsOm51bGw9PXQ/dDoib2JqZWN0Ij09dHlwZW9mIHQmJiJsYXQiaW4gdD9uZXcgRCh0LmxhdCwibG5nImluIHQ/dC5sbmc6dC5sb24sdC5hbHQpOnZvaWQgMD09PWk/bnVsbDpuZXcgRCh0LGksZSl9ay5wcm90b3R5cGU9e2Nsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBrKHRoaXMueCx0aGlzLnkpfSxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fYWRkKEEodCkpfSxfYWRkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSxzdWJ0cmFjdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9zdWJ0cmFjdChBKHQpKX0sX3N1YnRyYWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSxkaXZpZGVCeTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9kaXZpZGVCeSh0KX0sX2RpdmlkZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQsdGhpcy55Lz10LHRoaXN9LG11bHRpcGx5Qnk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5fbXVsdGlwbHlCeSh0KX0sX211bHRpcGx5Qnk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc30sc2NhbGVCeTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGsodGhpcy54KnQueCx0aGlzLnkqdC55KX0sdW5zY2FsZUJ5OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgayh0aGlzLngvdC54LHRoaXMueS90LnkpfSxyb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuX3JvdW5kKCl9LF9yb3VuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpLHRoaXMueT1NYXRoLnJvdW5kKHRoaXMueSksdGhpc30sZmxvb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9mbG9vcigpfSxfZmxvb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9LGNlaWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl9jZWlsKCl9LF9jZWlsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD1NYXRoLmNlaWwodGhpcy54KSx0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSksdGhpc30sdHJ1bmM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLl90cnVuYygpfSxfdHJ1bmM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PUIodGhpcy54KSx0aGlzLnk9Qih0aGlzLnkpLHRoaXN9LGRpc3RhbmNlVG86ZnVuY3Rpb24odCl7dmFyIGk9KHQ9QSh0KSkueC10aGlzLngsZT10LnktdGhpcy55O3JldHVybiBNYXRoLnNxcnQoaSppK2UqZSl9LGVxdWFsczpmdW5jdGlvbih0KXtyZXR1cm4odD1BKHQpKS54PT09dGhpcy54JiZ0Lnk9PT10aGlzLnl9LGNvbnRhaW5zOmZ1bmN0aW9uKHQpe3JldHVybiB0PUEodCksTWF0aC5hYnModC54KTw9TWF0aC5hYnModGhpcy54KSYmTWF0aC5hYnModC55KTw9TWF0aC5hYnModGhpcy55KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4iUG9pbnQoIityKHRoaXMueCkrIiwgIityKHRoaXMueSkrIikifX0sSS5wcm90b3R5cGU9e2V4dGVuZDpmdW5jdGlvbih0KXtyZXR1cm4gdD1BKHQpLHRoaXMubWlufHx0aGlzLm1heD8odGhpcy5taW4ueD1NYXRoLm1pbih0LngsdGhpcy5taW4ueCksdGhpcy5tYXgueD1NYXRoLm1heCh0LngsdGhpcy5tYXgueCksdGhpcy5taW4ueT1NYXRoLm1pbih0LnksdGhpcy5taW4ueSksdGhpcy5tYXgueT1NYXRoLm1heCh0LnksdGhpcy5tYXgueSkpOih0aGlzLm1pbj10LmNsb25lKCksdGhpcy5tYXg9dC5jbG9uZSgpKSx0aGlzfSxnZXRDZW50ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrKCh0aGlzLm1pbi54K3RoaXMubWF4LngpLzIsKHRoaXMubWluLnkrdGhpcy5tYXgueSkvMix0KX0sZ2V0Qm90dG9tTGVmdDpmdW5jdGlvbigpe3JldHVybiBuZXcgayh0aGlzLm1pbi54LHRoaXMubWF4LnkpfSxnZXRUb3BSaWdodDpmdW5jdGlvbigpe3JldHVybiBuZXcgayh0aGlzLm1heC54LHRoaXMubWluLnkpfSxnZXRUb3BMZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWlufSxnZXRCb3R0b21SaWdodDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sZ2V0U2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heC5zdWJ0cmFjdCh0aGlzLm1pbil9LGNvbnRhaW5zOmZ1bmN0aW9uKHQpe3ZhciBpLGU7cmV0dXJuKHQ9KCJudW1iZXIiPT10eXBlb2YgdFswXXx8dCBpbnN0YW5jZW9mIGs/QTpPKSh0KSlpbnN0YW5jZW9mIEk/KGk9dC5taW4sZT10Lm1heCk6aT1lPXQsaS54Pj10aGlzLm1pbi54JiZlLng8PXRoaXMubWF4LngmJmkueT49dGhpcy5taW4ueSYmZS55PD10aGlzLm1heC55fSxpbnRlcnNlY3RzOmZ1bmN0aW9uKHQpe3Q9Tyh0KTt2YXIgaT10aGlzLm1pbixlPXRoaXMubWF4LG49dC5taW4sbz10Lm1heCxzPW8ueD49aS54JiZuLng8PWUueCxyPW8ueT49aS55JiZuLnk8PWUueTtyZXR1cm4gcyYmcn0sb3ZlcmxhcHM6ZnVuY3Rpb24odCl7dD1PKHQpO3ZhciBpPXRoaXMubWluLGU9dGhpcy5tYXgsbj10Lm1pbixvPXQubWF4LHM9by54PmkueCYmbi54PGUueCxyPW8ueT5pLnkmJm4ueTxlLnk7cmV0dXJuIHMmJnJ9LGlzVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLm1pbnx8IXRoaXMubWF4KX19LFIucHJvdG90eXBlPXtleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIGksZSxuPXRoaXMuX3NvdXRoV2VzdCxvPXRoaXMuX25vcnRoRWFzdDtpZih0IGluc3RhbmNlb2YgRCllPWk9dDtlbHNle2lmKCEodCBpbnN0YW5jZW9mIFIpKXJldHVybiB0P3RoaXMuZXh0ZW5kKGoodCl8fE4odCkpOnRoaXM7aWYoaT10Ll9zb3V0aFdlc3QsZT10Ll9ub3J0aEVhc3QsIWl8fCFlKXJldHVybiB0aGlzfXJldHVybiBufHxvPyhuLmxhdD1NYXRoLm1pbihpLmxhdCxuLmxhdCksbi5sbmc9TWF0aC5taW4oaS5sbmcsbi5sbmcpLG8ubGF0PU1hdGgubWF4KGUubGF0LG8ubGF0KSxvLmxuZz1NYXRoLm1heChlLmxuZyxvLmxuZykpOih0aGlzLl9zb3V0aFdlc3Q9bmV3IEQoaS5sYXQsaS5sbmcpLHRoaXMuX25vcnRoRWFzdD1uZXcgRChlLmxhdCxlLmxuZykpLHRoaXN9LHBhZDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9zb3V0aFdlc3QsZT10aGlzLl9ub3J0aEVhc3Qsbj1NYXRoLmFicyhpLmxhdC1lLmxhdCkqdCxvPU1hdGguYWJzKGkubG5nLWUubG5nKSp0O3JldHVybiBuZXcgUihuZXcgRChpLmxhdC1uLGkubG5nLW8pLG5ldyBEKGUubGF0K24sZS5sbmcrbykpfSxnZXRDZW50ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEQoKHRoaXMuX3NvdXRoV2VzdC5sYXQrdGhpcy5fbm9ydGhFYXN0LmxhdCkvMiwodGhpcy5fc291dGhXZXN0LmxuZyt0aGlzLl9ub3J0aEVhc3QubG5nKS8yKX0sZ2V0U291dGhXZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NvdXRoV2VzdH0sZ2V0Tm9ydGhFYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vcnRoRWFzdH0sZ2V0Tm9ydGhXZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEKHRoaXMuZ2V0Tm9ydGgoKSx0aGlzLmdldFdlc3QoKSl9LGdldFNvdXRoRWFzdDpmdW5jdGlvbigpe3JldHVybiBuZXcgRCh0aGlzLmdldFNvdXRoKCksdGhpcy5nZXRFYXN0KCkpfSxnZXRXZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NvdXRoV2VzdC5sbmd9LGdldFNvdXRoOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NvdXRoV2VzdC5sYXR9LGdldEVhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9ydGhFYXN0LmxuZ30sZ2V0Tm9ydGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbm9ydGhFYXN0LmxhdH0sY29udGFpbnM6ZnVuY3Rpb24odCl7dD0oIm51bWJlciI9PXR5cGVvZiB0WzBdfHx0IGluc3RhbmNlb2YgRHx8ImxhdCJpbiB0P2o6TikodCk7dmFyIGksZSxuPXRoaXMuX3NvdXRoV2VzdCxvPXRoaXMuX25vcnRoRWFzdDtyZXR1cm4gdCBpbnN0YW5jZW9mIFI/KGk9dC5nZXRTb3V0aFdlc3QoKSxlPXQuZ2V0Tm9ydGhFYXN0KCkpOmk9ZT10LGkubGF0Pj1uLmxhdCYmZS5sYXQ8PW8ubGF0JiZpLmxuZz49bi5sbmcmJmUubG5nPD1vLmxuZ30saW50ZXJzZWN0czpmdW5jdGlvbih0KXt0PU4odCk7dmFyIGk9dGhpcy5fc291dGhXZXN0LGU9dGhpcy5fbm9ydGhFYXN0LG49dC5nZXRTb3V0aFdlc3QoKSxvPXQuZ2V0Tm9ydGhFYXN0KCkscz1vLmxhdD49aS5sYXQmJm4ubGF0PD1lLmxhdCxyPW8ubG5nPj1pLmxuZyYmbi5sbmc8PWUubG5nO3JldHVybiBzJiZyfSxvdmVybGFwczpmdW5jdGlvbih0KXt0PU4odCk7dmFyIGk9dGhpcy5fc291dGhXZXN0LGU9dGhpcy5fbm9ydGhFYXN0LG49dC5nZXRTb3V0aFdlc3QoKSxvPXQuZ2V0Tm9ydGhFYXN0KCkscz1vLmxhdD5pLmxhdCYmbi5sYXQ8ZS5sYXQscj1vLmxuZz5pLmxuZyYmbi5sbmc8ZS5sbmc7cmV0dXJuIHMmJnJ9LHRvQkJveFN0cmluZzpmdW5jdGlvbigpe3JldHVyblt0aGlzLmdldFdlc3QoKSx0aGlzLmdldFNvdXRoKCksdGhpcy5nZXRFYXN0KCksdGhpcy5nZXROb3J0aCgpXS5qb2luKCIsIil9LGVxdWFsczpmdW5jdGlvbih0LGkpe3JldHVybiEhdCYmKHQ9Tih0KSx0aGlzLl9zb3V0aFdlc3QuZXF1YWxzKHQuZ2V0U291dGhXZXN0KCksaSkmJnRoaXMuX25vcnRoRWFzdC5lcXVhbHModC5nZXROb3J0aEVhc3QoKSxpKSl9LGlzVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLl9zb3V0aFdlc3R8fCF0aGlzLl9ub3J0aEVhc3QpfX07dmFyIFcsSD17bGF0TG5nVG9Qb2ludDpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMucHJvamVjdGlvbi5wcm9qZWN0KHQpLG49dGhpcy5zY2FsZShpKTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1hdGlvbi5fdHJhbnNmb3JtKGUsbil9LHBvaW50VG9MYXRMbmc6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLnNjYWxlKGkpLG49dGhpcy50cmFuc2Zvcm1hdGlvbi51bnRyYW5zZm9ybSh0LGUpO3JldHVybiB0aGlzLnByb2plY3Rpb24udW5wcm9qZWN0KG4pfSxwcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Rpb24ucHJvamVjdCh0KX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Rpb24udW5wcm9qZWN0KHQpfSxzY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gMjU2Kk1hdGgucG93KDIsdCl9LHpvb206ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubG9nKHQvMjU2KS9NYXRoLkxOMn0sZ2V0UHJvamVjdGVkQm91bmRzOmZ1bmN0aW9uKHQpe2lmKHRoaXMuaW5maW5pdGUpcmV0dXJuIG51bGw7dmFyIGk9dGhpcy5wcm9qZWN0aW9uLmJvdW5kcyxlPXRoaXMuc2NhbGUodCk7cmV0dXJuIG5ldyBJKHRoaXMudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtKGkubWluLGUpLHRoaXMudHJhbnNmb3JtYXRpb24udHJhbnNmb3JtKGkubWF4LGUpKX0saW5maW5pdGU6IShELnByb3RvdHlwZT17ZXF1YWxzOmZ1bmN0aW9uKHQsaSl7cmV0dXJuISF0JiYodD1qKHQpLE1hdGgubWF4KE1hdGguYWJzKHRoaXMubGF0LXQubGF0KSxNYXRoLmFicyh0aGlzLmxuZy10LmxuZykpPD0odm9pZCAwPT09aT8xZS05OmkpKX0sdG9TdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIkxhdExuZygiK3IodGhpcy5sYXQsdCkrIiwgIityKHRoaXMubG5nLHQpKyIpIn0sZGlzdGFuY2VUbzpmdW5jdGlvbih0KXtyZXR1cm4gRi5kaXN0YW5jZSh0aGlzLGoodCkpfSx3cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIEYud3JhcExhdExuZyh0aGlzKX0sdG9Cb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGk9MTgwKnQvNDAwNzUwMTcsZT1pL01hdGguY29zKE1hdGguUEkvMTgwKnRoaXMubGF0KTtyZXR1cm4gTihbdGhpcy5sYXQtaSx0aGlzLmxuZy1lXSxbdGhpcy5sYXQraSx0aGlzLmxuZytlXSl9LGNsb25lOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEKHRoaXMubGF0LHRoaXMubG5nLHRoaXMuYWx0KX19KSx3cmFwTGF0TG5nOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMud3JhcExuZz9vKHQubG5nLHRoaXMud3JhcExuZywhMCk6dC5sbmc7cmV0dXJuIG5ldyBEKHRoaXMud3JhcExhdD9vKHQubGF0LHRoaXMud3JhcExhdCwhMCk6dC5sYXQsaSx0LmFsdCl9LHdyYXBMYXRMbmdCb3VuZHM6ZnVuY3Rpb24odCl7dmFyIGk9dC5nZXRDZW50ZXIoKSxlPXRoaXMud3JhcExhdExuZyhpKSxuPWkubGF0LWUubGF0LG89aS5sbmctZS5sbmc7aWYoMD09biYmMD09bylyZXR1cm4gdDt2YXIgcz10LmdldFNvdXRoV2VzdCgpLHI9dC5nZXROb3J0aEVhc3QoKTtyZXR1cm4gbmV3IFIobmV3IEQocy5sYXQtbixzLmxuZy1vKSxuZXcgRChyLmxhdC1uLHIubG5nLW8pKX19LEY9aCh7fSxILHt3cmFwTG5nOlstMTgwLDE4MF0sUjo2MzcxZTMsZGlzdGFuY2U6ZnVuY3Rpb24odCxpKXt2YXIgZT1NYXRoLlBJLzE4MCxuPXQubGF0KmUsbz1pLmxhdCplLHM9TWF0aC5zaW4oKGkubGF0LXQubGF0KSplLzIpLHI9TWF0aC5zaW4oKGkubG5nLXQubG5nKSplLzIpLGE9cypzK01hdGguY29zKG4pKk1hdGguY29zKG8pKnIqcixoPTIqTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksTWF0aC5zcXJ0KDEtYSkpO3JldHVybiB0aGlzLlIqaH19KSxVPTYzNzgxMzcsVj17UjpVLE1BWF9MQVRJVFVERTo4NS4wNTExMjg3Nzk4LHByb2plY3Q6ZnVuY3Rpb24odCl7dmFyIGk9TWF0aC5QSS8xODAsZT10aGlzLk1BWF9MQVRJVFVERSxuPU1hdGgubWF4KE1hdGgubWluKGUsdC5sYXQpLC1lKSxvPU1hdGguc2luKG4qaSk7cmV0dXJuIG5ldyBrKHRoaXMuUip0LmxuZyppLHRoaXMuUipNYXRoLmxvZygoMStvKS8oMS1vKSkvMil9LHVucHJvamVjdDpmdW5jdGlvbih0KXt2YXIgaT0xODAvTWF0aC5QSTtyZXR1cm4gbmV3IEQoKDIqTWF0aC5hdGFuKE1hdGguZXhwKHQueS90aGlzLlIpKS1NYXRoLlBJLzIpKmksdC54KmkvdGhpcy5SKX0sYm91bmRzOm5ldyBJKFstKFc9VSpNYXRoLlBJKSwtV10sW1csV10pfTtmdW5jdGlvbiBxKHQsaSxlLG4pe2lmKGcodCkpcmV0dXJuIHRoaXMuX2E9dFswXSx0aGlzLl9iPXRbMV0sdGhpcy5fYz10WzJdLHZvaWQodGhpcy5fZD10WzNdKTt0aGlzLl9hPXQsdGhpcy5fYj1pLHRoaXMuX2M9ZSx0aGlzLl9kPW59ZnVuY3Rpb24gRyh0LGksZSxuKXtyZXR1cm4gbmV3IHEodCxpLGUsbil9cS5wcm90b3R5cGU9e3RyYW5zZm9ybTpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLl90cmFuc2Zvcm0odC5jbG9uZSgpLGkpfSxfdHJhbnNmb3JtOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9aXx8MSx0Lng9aSoodGhpcy5fYSp0LngrdGhpcy5fYiksdC55PWkqKHRoaXMuX2MqdC55K3RoaXMuX2QpLHR9LHVudHJhbnNmb3JtOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9aXx8MSxuZXcgaygodC54L2ktdGhpcy5fYikvdGhpcy5fYSwodC55L2ktdGhpcy5fZCkvdGhpcy5fYyl9fTt2YXIgSyxZPWgoe30sRix7Y29kZToiRVBTRzozODU3Iixwcm9qZWN0aW9uOlYsdHJhbnNmb3JtYXRpb246RyhLPS41LyhNYXRoLlBJKlYuUiksLjUsLUssLjUpfSksWD1oKHt9LFkse2NvZGU6IkVQU0c6OTAwOTEzIn0pO2Z1bmN0aW9uIEoodCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHQpfWZ1bmN0aW9uICQodCxpKXtmb3IodmFyIGUsbixvLHMscj0iIixhPTAsaD10Lmxlbmd0aDthPGg7YSsrKXtmb3IoZT0wLG49KG89dFthXSkubGVuZ3RoO2U8bjtlKyspcis9KGU/IkwiOiJNIikrKHM9b1tlXSkueCsiICIrcy55O3IrPWk/WnQ/InoiOiJ4IjoiIn1yZXR1cm4gcnx8Ik0wIDAifXZhciBRPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSx0dD0iQWN0aXZlWE9iamVjdCJpbiB3aW5kb3csaXQ9dHQmJiFkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyLGV0PSJtc0xhdW5jaFVyaSJpbiBuYXZpZ2F0b3ImJiEoImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCksbnQ9a3QoIndlYmtpdCIpLG90PWt0KCJhbmRyb2lkIiksc3Q9a3QoImFuZHJvaWQgMiIpfHxrdCgiYW5kcm9pZCAzIikscnQ9cGFyc2VJbnQoL1dlYktpdFwvKFswLTldKyl8JC8uZXhlYyhuYXZpZ2F0b3IudXNlckFnZW50KVsxXSwxMCksYXQ9b3QmJmt0KCJHb29nbGUiKSYmcnQ8NTM3JiYhKCJBdWRpb05vZGUiaW4gd2luZG93KSxodD0hIXdpbmRvdy5vcGVyYSx1dD0hZXQmJmt0KCJjaHJvbWUiKSxsdD1rdCgiZ2Vja28iKSYmIW50JiYhaHQmJiF0dCxjdD0hdXQmJmt0KCJzYWZhcmkiKSxfdD1rdCgicGhhbnRvbSIpLGR0PSJPVHJhbnNpdGlvbiJpbiBRLHB0PTA9PT1uYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZigiV2luIiksbXQ9dHQmJiJ0cmFuc2l0aW9uImluIFEsZnQ9IldlYktpdENTU01hdHJpeCJpbiB3aW5kb3cmJiJtMTEiaW4gbmV3IHdpbmRvdy5XZWJLaXRDU1NNYXRyaXgmJiFzdCxndD0iTW96UGVyc3BlY3RpdmUiaW4gUSx2dD0hd2luZG93LkxfRElTQUJMRV8zRCYmKG10fHxmdHx8Z3QpJiYhZHQmJiFfdCx5dD0idW5kZWZpbmVkIiE9dHlwZW9mIG9yaWVudGF0aW9ufHxrdCgibW9iaWxlIikseHQ9eXQmJm50LHd0PXl0JiZmdCxQdD0hd2luZG93LlBvaW50ZXJFdmVudCYmd2luZG93Lk1TUG9pbnRlckV2ZW50LEx0PSEoIXdpbmRvdy5Qb2ludGVyRXZlbnQmJiFQdCksYnQ9IXdpbmRvdy5MX05PX1RPVUNIJiYoTHR8fCJvbnRvdWNoc3RhcnQiaW4gd2luZG93fHx3aW5kb3cuRG9jdW1lbnRUb3VjaCYmZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaCksVHQ9eXQmJmh0LE10PXl0JiZsdCx6dD0xPCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8d2luZG93LnNjcmVlbi5kZXZpY2VYRFBJL3dpbmRvdy5zY3JlZW4ubG9naWNhbFhEUEkpLEN0PWZ1bmN0aW9uKCl7dmFyIHQ9ITE7dHJ5e3ZhciBpPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3Q9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlRXZlbnRTdXBwb3J0IixhLGkpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZUV2ZW50U3VwcG9ydCIsYSxpKX1jYXRjaCh0KXt9cmV0dXJuIHR9KCksU3Q9ISFkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0LFp0PSEoIWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROU3x8IUooInN2ZyIpLmNyZWF0ZVNWR1JlY3QpLEV0PSFadCYmZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5pbm5lckhUTUw9Jzx2OnNoYXBlIGFkaj0iMSIvPic7dmFyIGk9dC5maXJzdENoaWxkO3JldHVybiBpLnN0eWxlLmJlaGF2aW9yPSJ1cmwoI2RlZmF1bHQjVk1MKSIsaSYmIm9iamVjdCI9PXR5cGVvZiBpLmFkan1jYXRjaCh0KXtyZXR1cm4hMX19KCk7ZnVuY3Rpb24ga3QodCl7cmV0dXJuIDA8PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHQpfXZhciBCdD17aWU6dHQsaWVsdDk6aXQsZWRnZTpldCx3ZWJraXQ6bnQsYW5kcm9pZDpvdCxhbmRyb2lkMjM6c3QsYW5kcm9pZFN0b2NrOmF0LG9wZXJhOmh0LGNocm9tZTp1dCxnZWNrbzpsdCxzYWZhcmk6Y3QscGhhbnRvbTpfdCxvcGVyYTEyOmR0LHdpbjpwdCxpZTNkOm10LHdlYmtpdDNkOmZ0LGdlY2tvM2Q6Z3QsYW55M2Q6dnQsbW9iaWxlOnl0LG1vYmlsZVdlYmtpdDp4dCxtb2JpbGVXZWJraXQzZDp3dCxtc1BvaW50ZXI6UHQscG9pbnRlcjpMdCx0b3VjaDpidCxtb2JpbGVPcGVyYTpUdCxtb2JpbGVHZWNrbzpNdCxyZXRpbmE6enQscGFzc2l2ZUV2ZW50czpDdCxjYW52YXM6U3Qsc3ZnOlp0LHZtbDpFdH0sQXQ9UHQ/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biIsSXQ9UHQ/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSIsT3Q9UHQ/Ik1TUG9pbnRlclVwIjoicG9pbnRlcnVwIixSdD1QdD8iTVNQb2ludGVyQ2FuY2VsIjoicG9pbnRlcmNhbmNlbCIsTnQ9e30sRHQ9ITE7ZnVuY3Rpb24ganQodCxpLGUsbil7ZnVuY3Rpb24gbyh0KXtVdCh0LHIpfXZhciBzLHIsYSxoLHUsbCxjLF87ZnVuY3Rpb24gZCh0KXt0LnBvaW50ZXJUeXBlPT09KHQuTVNQT0lOVEVSX1RZUEVfTU9VU0V8fCJtb3VzZSIpJiYwPT09dC5idXR0b25zfHxVdCh0LGgpfXJldHVybiJ0b3VjaHN0YXJ0Ij09PWk/KHU9dCxsPWUsYz1uLF89cChmdW5jdGlvbih0KXt0Lk1TUE9JTlRFUl9UWVBFX1RPVUNIJiZ0LnBvaW50ZXJUeXBlPT09dC5NU1BPSU5URVJfVFlQRV9UT1VDSCYmUmkodCksVXQodCxsKX0pLHVbIl9sZWFmbGV0X3RvdWNoc3RhcnQiK2NdPV8sdS5hZGRFdmVudExpc3RlbmVyKEF0LF8sITEpLER0fHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihBdCxXdCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihJdCxIdCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihPdCxGdCwhMCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihSdCxGdCwhMCksRHQ9ITApKToidG91Y2htb3ZlIj09PWk/KGg9ZSwoYT10KVsiX2xlYWZsZXRfdG91Y2htb3ZlIituXT1kLGEuYWRkRXZlbnRMaXN0ZW5lcihJdCxkLCExKSk6InRvdWNoZW5kIj09PWkmJihyPWUsKHM9dClbIl9sZWFmbGV0X3RvdWNoZW5kIituXT1vLHMuYWRkRXZlbnRMaXN0ZW5lcihPdCxvLCExKSxzLmFkZEV2ZW50TGlzdGVuZXIoUnQsbywhMSkpLHRoaXN9ZnVuY3Rpb24gV3QodCl7TnRbdC5wb2ludGVySWRdPXR9ZnVuY3Rpb24gSHQodCl7TnRbdC5wb2ludGVySWRdJiYoTnRbdC5wb2ludGVySWRdPXQpfWZ1bmN0aW9uIEZ0KHQpe2RlbGV0ZSBOdFt0LnBvaW50ZXJJZF19ZnVuY3Rpb24gVXQodCxpKXtmb3IodmFyIGUgaW4gdC50b3VjaGVzPVtdLE50KXQudG91Y2hlcy5wdXNoKE50W2VdKTt0LmNoYW5nZWRUb3VjaGVzPVt0XSxpKHQpfXZhciBWdD1QdD8iTVNQb2ludGVyRG93biI6THQ/InBvaW50ZXJkb3duIjoidG91Y2hzdGFydCIscXQ9UHQ/Ik1TUG9pbnRlclVwIjpMdD8icG9pbnRlcnVwIjoidG91Y2hlbmQiLEd0PSJfbGVhZmxldF8iO3ZhciBLdCxZdCxYdCxKdCwkdCxRdCx0aT1maShbInRyYW5zZm9ybSIsIndlYmtpdFRyYW5zZm9ybSIsIk9UcmFuc2Zvcm0iLCJNb3pUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxpaT1maShbIndlYmtpdFRyYW5zaXRpb24iLCJ0cmFuc2l0aW9uIiwiT1RyYW5zaXRpb24iLCJNb3pUcmFuc2l0aW9uIiwibXNUcmFuc2l0aW9uIl0pLGVpPSJ3ZWJraXRUcmFuc2l0aW9uIj09PWlpfHwiT1RyYW5zaXRpb24iPT09aWk/aWkrIkVuZCI6InRyYW5zaXRpb25lbmQiO2Z1bmN0aW9uIG5pKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTp0fWZ1bmN0aW9uIG9pKHQsaSl7dmFyIGUsbj10LnN0eWxlW2ldfHx0LmN1cnJlbnRTdHlsZSYmdC5jdXJyZW50U3R5bGVbaV07cmV0dXJuIG4mJiJhdXRvIiE9PW58fCFkb2N1bWVudC5kZWZhdWx0Vmlld3x8KG49KGU9ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpKT9lW2ldOm51bGwpLCJhdXRvIj09PW4/bnVsbDpufWZ1bmN0aW9uIHNpKHQsaSxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiBuLmNsYXNzTmFtZT1pfHwiIixlJiZlLmFwcGVuZENoaWxkKG4pLG59ZnVuY3Rpb24gcmkodCl7dmFyIGk9dC5wYXJlbnROb2RlO2kmJmkucmVtb3ZlQ2hpbGQodCl9ZnVuY3Rpb24gYWkodCl7Zm9yKDt0LmZpcnN0Q2hpbGQ7KXQucmVtb3ZlQ2hpbGQodC5maXJzdENoaWxkKX1mdW5jdGlvbiBoaSh0KXt2YXIgaT10LnBhcmVudE5vZGU7aSYmaS5sYXN0Q2hpbGQhPT10JiZpLmFwcGVuZENoaWxkKHQpfWZ1bmN0aW9uIHVpKHQpe3ZhciBpPXQucGFyZW50Tm9kZTtpJiZpLmZpcnN0Q2hpbGQhPT10JiZpLmluc2VydEJlZm9yZSh0LGkuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gbGkodCxpKXtpZih2b2lkIDAhPT10LmNsYXNzTGlzdClyZXR1cm4gdC5jbGFzc0xpc3QuY29udGFpbnMoaSk7dmFyIGU9cGkodCk7cmV0dXJuIDA8ZS5sZW5ndGgmJm5ldyBSZWdFeHAoIihefFxccykiK2krIihcXHN8JCkiKS50ZXN0KGUpfWZ1bmN0aW9uIGNpKHQsaSl7dmFyIGU7aWYodm9pZCAwIT09dC5jbGFzc0xpc3QpZm9yKHZhciBuPWwoaSksbz0wLHM9bi5sZW5ndGg7bzxzO28rKyl0LmNsYXNzTGlzdC5hZGQobltvXSk7ZWxzZSBsaSh0LGkpfHxkaSh0LCgoZT1waSh0KSk/ZSsiICI6IiIpK2kpfWZ1bmN0aW9uIF9pKHQsaSl7dm9pZCAwIT09dC5jbGFzc0xpc3Q/dC5jbGFzc0xpc3QucmVtb3ZlKGkpOmRpKHQsdSgoIiAiK3BpKHQpKyIgIikucmVwbGFjZSgiICIraSsiICIsIiAiKSkpfWZ1bmN0aW9uIGRpKHQsaSl7dm9pZCAwPT09dC5jbGFzc05hbWUuYmFzZVZhbD90LmNsYXNzTmFtZT1pOnQuY2xhc3NOYW1lLmJhc2VWYWw9aX1mdW5jdGlvbiBwaSh0KXtyZXR1cm4gdC5jb3JyZXNwb25kaW5nRWxlbWVudCYmKHQ9dC5jb3JyZXNwb25kaW5nRWxlbWVudCksdm9pZCAwPT09dC5jbGFzc05hbWUuYmFzZVZhbD90LmNsYXNzTmFtZTp0LmNsYXNzTmFtZS5iYXNlVmFsfWZ1bmN0aW9uIG1pKHQsaSl7Im9wYWNpdHkiaW4gdC5zdHlsZT90LnN0eWxlLm9wYWNpdHk9aToiZmlsdGVyImluIHQuc3R5bGUmJmZ1bmN0aW9uKHQsaSl7dmFyIGU9ITEsbj0iRFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEiO3RyeXtlPXQuZmlsdGVycy5pdGVtKG4pfWNhdGNoKHQpe2lmKDE9PT1pKXJldHVybn1pPU1hdGgucm91bmQoMTAwKmkpLGU/KGUuRW5hYmxlZD0xMDAhPT1pLGUuT3BhY2l0eT1pKTp0LnN0eWxlLmZpbHRlcis9IiBwcm9naWQ6IituKyIob3BhY2l0eT0iK2krIikifSh0LGkpfWZ1bmN0aW9uIGZpKHQpe2Zvcih2YXIgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUsZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV1pbiBpKXJldHVybiB0W2VdO3JldHVybiExfWZ1bmN0aW9uIGdpKHQsaSxlKXt2YXIgbj1pfHxuZXcgaygwLDApO3Quc3R5bGVbdGldPShtdD8idHJhbnNsYXRlKCIrbi54KyJweCwiK24ueSsicHgpIjoidHJhbnNsYXRlM2QoIituLngrInB4LCIrbi55KyJweCwwKSIpKyhlPyIgc2NhbGUoIitlKyIpIjoiIil9ZnVuY3Rpb24gdmkodCxpKXt0Ll9sZWFmbGV0X3Bvcz1pLHZ0P2dpKHQsaSk6KHQuc3R5bGUubGVmdD1pLngrInB4Iix0LnN0eWxlLnRvcD1pLnkrInB4Iil9ZnVuY3Rpb24geWkodCl7cmV0dXJuIHQuX2xlYWZsZXRfcG9zfHxuZXcgaygwLDApfWZ1bmN0aW9uIHhpKCl7emkod2luZG93LCJkcmFnc3RhcnQiLFJpKX1mdW5jdGlvbiB3aSgpe1NpKHdpbmRvdywiZHJhZ3N0YXJ0IixSaSl9ZnVuY3Rpb24gUGkodCl7Zm9yKDstMT09PXQudGFiSW5kZXg7KXQ9dC5wYXJlbnROb2RlO3Quc3R5bGUmJihMaSgpLFF0PSgkdD10KS5zdHlsZS5vdXRsaW5lLHQuc3R5bGUub3V0bGluZT0ibm9uZSIsemkod2luZG93LCJrZXlkb3duIixMaSkpfWZ1bmN0aW9uIExpKCl7JHQmJigkdC5zdHlsZS5vdXRsaW5lPVF0LFF0PSR0PXZvaWQgMCxTaSh3aW5kb3csImtleWRvd24iLExpKSl9ZnVuY3Rpb24gYmkodCl7Zm9yKDshKCh0PXQucGFyZW50Tm9kZSkub2Zmc2V0V2lkdGgmJnQub2Zmc2V0SGVpZ2h0fHx0PT09ZG9jdW1lbnQuYm9keSk7KTtyZXR1cm4gdH1mdW5jdGlvbiBUaSh0KXt2YXIgaT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybnt4Omkud2lkdGgvdC5vZmZzZXRXaWR0aHx8MSx5OmkuaGVpZ2h0L3Qub2Zmc2V0SGVpZ2h0fHwxLGJvdW5kaW5nQ2xpZW50UmVjdDppfX1KdD0ib25zZWxlY3RzdGFydCJpbiBkb2N1bWVudD8oWHQ9ZnVuY3Rpb24oKXt6aSh3aW5kb3csInNlbGVjdHN0YXJ0IixSaSl9LGZ1bmN0aW9uKCl7U2kod2luZG93LCJzZWxlY3RzdGFydCIsUmkpfSk6KFl0PWZpKFsidXNlclNlbGVjdCIsIldlYmtpdFVzZXJTZWxlY3QiLCJPVXNlclNlbGVjdCIsIk1velVzZXJTZWxlY3QiLCJtc1VzZXJTZWxlY3QiXSksWHQ9ZnVuY3Rpb24oKXt2YXIgdDtZdCYmKHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLEt0PXRbWXRdLHRbWXRdPSJub25lIil9LGZ1bmN0aW9uKCl7WXQmJihkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGVbWXRdPUt0LEt0PXZvaWQgMCl9KTt2YXIgTWk9e1RSQU5TRk9STTp0aSxUUkFOU0lUSU9OOmlpLFRSQU5TSVRJT05fRU5EOmVpLGdldDpuaSxnZXRTdHlsZTpvaSxjcmVhdGU6c2kscmVtb3ZlOnJpLGVtcHR5OmFpLHRvRnJvbnQ6aGksdG9CYWNrOnVpLGhhc0NsYXNzOmxpLGFkZENsYXNzOmNpLHJlbW92ZUNsYXNzOl9pLHNldENsYXNzOmRpLGdldENsYXNzOnBpLHNldE9wYWNpdHk6bWksdGVzdFByb3A6Zmksc2V0VHJhbnNmb3JtOmdpLHNldFBvc2l0aW9uOnZpLGdldFBvc2l0aW9uOnlpLGRpc2FibGVUZXh0U2VsZWN0aW9uOlh0LGVuYWJsZVRleHRTZWxlY3Rpb246SnQsZGlzYWJsZUltYWdlRHJhZzp4aSxlbmFibGVJbWFnZURyYWc6d2kscHJldmVudE91dGxpbmU6UGkscmVzdG9yZU91dGxpbmU6TGksZ2V0U2l6ZWRQYXJlbnROb2RlOmJpLGdldFNjYWxlOlRpfTtmdW5jdGlvbiB6aSh0LGksZSxuKXtpZigib2JqZWN0Ij09dHlwZW9mIGkpZm9yKHZhciBvIGluIGkpa2kodCxvLGlbb10sZSk7ZWxzZSBmb3IodmFyIHM9MCxyPShpPWwoaSkpLmxlbmd0aDtzPHI7cysrKWtpKHQsaVtzXSxlLG4pO3JldHVybiB0aGlzfXZhciBDaT0iX2xlYWZsZXRfZXZlbnRzIjtmdW5jdGlvbiBTaSh0LGksZSxuKXtpZigib2JqZWN0Ij09dHlwZW9mIGkpZm9yKHZhciBvIGluIGkpQmkodCxvLGlbb10sZSk7ZWxzZSBpZihpKWZvcih2YXIgcz0wLHI9KGk9bChpKSkubGVuZ3RoO3M8cjtzKyspQmkodCxpW3NdLGUsbik7ZWxzZXtmb3IodmFyIGEgaW4gdFtDaV0pQmkodCxhLHRbQ2ldW2FdKTtkZWxldGUgdFtDaV19cmV0dXJuIHRoaXN9ZnVuY3Rpb24gWmkoKXtyZXR1cm4gTHQmJighZXQmJiFjdCl9dmFyIEVpPXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iix3aGVlbDohKCJvbndoZWVsImluIHdpbmRvdykmJiJtb3VzZXdoZWVsIn07ZnVuY3Rpb24ga2koaSx0LGUsbil7dmFyIG89dCttKGUpKyhuPyJfIittKG4pOiIiKTtpZihpW0NpXSYmaVtDaV1bb10pcmV0dXJuIHRoaXM7dmFyIHMscixhLGgsdSxsLGM9ZnVuY3Rpb24odCl7cmV0dXJuIGUuY2FsbChufHxpLHR8fHdpbmRvdy5ldmVudCl9LF89YztmdW5jdGlvbiBkKHQpe2lmKEx0KXtpZighdC5pc1ByaW1hcnkpcmV0dXJuO2lmKCJtb3VzZSI9PT10LnBvaW50ZXJUeXBlKXJldHVybn1lbHNlIGlmKDE8dC50b3VjaGVzLmxlbmd0aClyZXR1cm47dmFyIGk9RGF0ZS5ub3coKSxlPWktKGh8fGkpO3U9dC50b3VjaGVzP3QudG91Y2hlc1swXTp0LGw9MDxlJiZlPD0yNTAsaD1pfWZ1bmN0aW9uIHAodCl7aWYobCYmIXUuY2FuY2VsQnViYmxlKXtpZihMdCl7aWYoIm1vdXNlIj09PXQucG9pbnRlclR5cGUpcmV0dXJuO3ZhciBpLGUsbj17fTtmb3IoZSBpbiB1KWk9dVtlXSxuW2VdPWkmJmkuYmluZD9pLmJpbmQodSk6aTt1PW59dS50eXBlPSJkYmxjbGljayIsdS5idXR0b249MCxyKHUpLGg9bnVsbH19THQmJjA9PT10LmluZGV4T2YoInRvdWNoIik/anQoaSx0LGMsbyk6YnQmJiJkYmxjbGljayI9PT10JiYhWmkoKT8ocj1jLGw9ITEsKHM9aSlbR3QrVnQrKGE9byldPWQsc1tHdCtxdCthXT1wLHNbR3QrImRibGNsaWNrIithXT1yLHMuYWRkRXZlbnRMaXN0ZW5lcihWdCxkLCEhQ3QmJntwYXNzaXZlOiExfSkscy5hZGRFdmVudExpc3RlbmVyKHF0LHAsISFDdCYme3Bhc3NpdmU6ITF9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIixyLCExKSk6ImFkZEV2ZW50TGlzdGVuZXIiaW4gaT8idG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10fHwibW91c2V3aGVlbCI9PT10P2kuYWRkRXZlbnRMaXN0ZW5lcihFaVt0XXx8dCxjLCEhQ3QmJntwYXNzaXZlOiExfSk6Im1vdXNlZW50ZXIiPT09dHx8Im1vdXNlbGVhdmUiPT09dD8oYz1mdW5jdGlvbih0KXt0PXR8fHdpbmRvdy5ldmVudCxWaShpLHQpJiZfKHQpfSxpLmFkZEV2ZW50TGlzdGVuZXIoRWlbdF0sYywhMSkpOmkuYWRkRXZlbnRMaXN0ZW5lcih0LF8sITEpOiJhdHRhY2hFdmVudCJpbiBpJiZpLmF0dGFjaEV2ZW50KCJvbiIrdCxjKSxpW0NpXT1pW0NpXXx8e30saVtDaV1bb109Y31mdW5jdGlvbiBCaSh0LGksZSxuKXt2YXIgbyxzLHIsYSxoLHUsbCxjLF89aSttKGUpKyhuPyJfIittKG4pOiIiKSxkPXRbQ2ldJiZ0W0NpXVtfXTtpZighZClyZXR1cm4gdGhpcztMdCYmMD09PWkuaW5kZXhPZigidG91Y2giKT8oYz0odT10KVsiX2xlYWZsZXRfIisobD1pKStfXSwidG91Y2hzdGFydCI9PT1sP3UucmVtb3ZlRXZlbnRMaXN0ZW5lcihBdCxjLCExKToidG91Y2htb3ZlIj09PWw/dS5yZW1vdmVFdmVudExpc3RlbmVyKEl0LGMsITEpOiJ0b3VjaGVuZCI9PT1sJiYodS5yZW1vdmVFdmVudExpc3RlbmVyKE90LGMsITEpLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcihSdCxjLCExKSkpOmJ0JiYiZGJsY2xpY2siPT09aSYmIVppKCk/KHI9KG89dClbR3QrVnQrKHM9XyldLGE9b1tHdCtxdCtzXSxoPW9bR3QrImRibGNsaWNrIitzXSxvLnJlbW92ZUV2ZW50TGlzdGVuZXIoVnQsciwhIUN0JiZ7cGFzc2l2ZTohMX0pLG8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihxdCxhLCEhQ3QmJntwYXNzaXZlOiExfSksby5yZW1vdmVFdmVudExpc3RlbmVyKCJkYmxjbGljayIsaCwhMSkpOiJyZW1vdmVFdmVudExpc3RlbmVyImluIHQ/dC5yZW1vdmVFdmVudExpc3RlbmVyKEVpW2ldfHxpLGQsITEpOiJkZXRhY2hFdmVudCJpbiB0JiZ0LmRldGFjaEV2ZW50KCJvbiIraSxkKSx0W0NpXVtfXT1udWxsfWZ1bmN0aW9uIEFpKHQpe3JldHVybiB0LnN0b3BQcm9wYWdhdGlvbj90LnN0b3BQcm9wYWdhdGlvbigpOnQub3JpZ2luYWxFdmVudD90Lm9yaWdpbmFsRXZlbnQuX3N0b3BwZWQ9ITA6dC5jYW5jZWxCdWJibGU9ITAsVWkodCksdGhpc31mdW5jdGlvbiBJaSh0KXtyZXR1cm4ga2kodCwid2hlZWwiLEFpKSx0aGlzfWZ1bmN0aW9uIE9pKHQpe3JldHVybiB6aSh0LCJtb3VzZWRvd24gdG91Y2hzdGFydCBkYmxjbGljayIsQWkpLGtpKHQsImNsaWNrIixGaSksdGhpc31mdW5jdGlvbiBSaSh0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdD90LnByZXZlbnREZWZhdWx0KCk6dC5yZXR1cm5WYWx1ZT0hMSx0aGlzfWZ1bmN0aW9uIE5pKHQpe3JldHVybiBSaSh0KSxBaSh0KSx0aGlzfWZ1bmN0aW9uIERpKHQsaSl7aWYoIWkpcmV0dXJuIG5ldyBrKHQuY2xpZW50WCx0LmNsaWVudFkpO3ZhciBlPVRpKGkpLG49ZS5ib3VuZGluZ0NsaWVudFJlY3Q7cmV0dXJuIG5ldyBrKCh0LmNsaWVudFgtbi5sZWZ0KS9lLngtaS5jbGllbnRMZWZ0LCh0LmNsaWVudFktbi50b3ApL2UueS1pLmNsaWVudFRvcCl9dmFyIGppPXB0JiZ1dD8yKndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOmx0P3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjE7ZnVuY3Rpb24gV2kodCl7cmV0dXJuIGV0P3Qud2hlZWxEZWx0YVkvMjp0LmRlbHRhWSYmMD09PXQuZGVsdGFNb2RlPy10LmRlbHRhWS9qaTp0LmRlbHRhWSYmMT09PXQuZGVsdGFNb2RlPzIwKi10LmRlbHRhWTp0LmRlbHRhWSYmMj09PXQuZGVsdGFNb2RlPzYwKi10LmRlbHRhWTp0LmRlbHRhWHx8dC5kZWx0YVo/MDp0LndoZWVsRGVsdGE/KHQud2hlZWxEZWx0YVl8fHQud2hlZWxEZWx0YSkvMjp0LmRldGFpbCYmTWF0aC5hYnModC5kZXRhaWwpPDMyNzY1PzIwKi10LmRldGFpbDp0LmRldGFpbD90LmRldGFpbC8tMzI3NjUqNjA6MH12YXIgSGk9e307ZnVuY3Rpb24gRmkodCl7SGlbdC50eXBlXT0hMH1mdW5jdGlvbiBVaSh0KXt2YXIgaT1IaVt0LnR5cGVdO3JldHVybiBIaVt0LnR5cGVdPSExLGl9ZnVuY3Rpb24gVmkodCxpKXt2YXIgZT1pLnJlbGF0ZWRUYXJnZXQ7aWYoIWUpcmV0dXJuITA7dHJ5e2Zvcig7ZSYmZSE9PXQ7KWU9ZS5wYXJlbnROb2RlfWNhdGNoKHQpe3JldHVybiExfXJldHVybiBlIT09dH12YXIgcWk9e29uOnppLG9mZjpTaSxzdG9wUHJvcGFnYXRpb246QWksZGlzYWJsZVNjcm9sbFByb3BhZ2F0aW9uOklpLGRpc2FibGVDbGlja1Byb3BhZ2F0aW9uOk9pLHByZXZlbnREZWZhdWx0OlJpLHN0b3A6TmksZ2V0TW91c2VQb3NpdGlvbjpEaSxnZXRXaGVlbERlbHRhOldpLGZha2VTdG9wOkZpLHNraXBwZWQ6VWksaXNFeHRlcm5hbFRhcmdldDpWaSxhZGRMaXN0ZW5lcjp6aSxyZW1vdmVMaXN0ZW5lcjpTaX0sR2k9RS5leHRlbmQoe3J1bjpmdW5jdGlvbih0LGksZSxuKXt0aGlzLnN0b3AoKSx0aGlzLl9lbD10LHRoaXMuX2luUHJvZ3Jlc3M9ITAsdGhpcy5fZHVyYXRpb249ZXx8LjI1LHRoaXMuX2Vhc2VPdXRQb3dlcj0xL01hdGgubWF4KG58fC41LC4yKSx0aGlzLl9zdGFydFBvcz15aSh0KSx0aGlzLl9vZmZzZXQ9aS5zdWJ0cmFjdCh0aGlzLl9zdGFydFBvcyksdGhpcy5fc3RhcnRUaW1lPStuZXcgRGF0ZSx0aGlzLmZpcmUoInN0YXJ0IiksdGhpcy5fYW5pbWF0ZSgpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5faW5Qcm9ncmVzcyYmKHRoaXMuX3N0ZXAoITApLHRoaXMuX2NvbXBsZXRlKCkpfSxfYW5pbWF0ZTpmdW5jdGlvbigpe3RoaXMuX2FuaW1JZD1NKHRoaXMuX2FuaW1hdGUsdGhpcyksdGhpcy5fc3RlcCgpfSxfc3RlcDpmdW5jdGlvbih0KXt2YXIgaT1uZXcgRGF0ZS10aGlzLl9zdGFydFRpbWUsZT0xZTMqdGhpcy5fZHVyYXRpb247aTxlP3RoaXMuX3J1bkZyYW1lKHRoaXMuX2Vhc2VPdXQoaS9lKSx0KToodGhpcy5fcnVuRnJhbWUoMSksdGhpcy5fY29tcGxldGUoKSl9LF9ydW5GcmFtZTpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMuX3N0YXJ0UG9zLmFkZCh0aGlzLl9vZmZzZXQubXVsdGlwbHlCeSh0KSk7aSYmZS5fcm91bmQoKSx2aSh0aGlzLl9lbCxlKSx0aGlzLmZpcmUoInN0ZXAiKX0sX2NvbXBsZXRlOmZ1bmN0aW9uKCl7eih0aGlzLl9hbmltSWQpLHRoaXMuX2luUHJvZ3Jlc3M9ITEsdGhpcy5maXJlKCJlbmQiKX0sX2Vhc2VPdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIDEtTWF0aC5wb3coMS10LHRoaXMuX2Vhc2VPdXRQb3dlcil9fSksS2k9RS5leHRlbmQoe29wdGlvbnM6e2NyczpZLGNlbnRlcjp2b2lkIDAsem9vbTp2b2lkIDAsbWluWm9vbTp2b2lkIDAsbWF4Wm9vbTp2b2lkIDAsbGF5ZXJzOltdLG1heEJvdW5kczp2b2lkIDAscmVuZGVyZXI6dm9pZCAwLHpvb21BbmltYXRpb246ITAsem9vbUFuaW1hdGlvblRocmVzaG9sZDo0LGZhZGVBbmltYXRpb246ITAsbWFya2VyWm9vbUFuaW1hdGlvbjohMCx0cmFuc2Zvcm0zRExpbWl0OjgzODg2MDgsem9vbVNuYXA6MSx6b29tRGVsdGE6MSx0cmFja1Jlc2l6ZTohMH0saW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe2k9Yyh0aGlzLGkpLHRoaXMuX2hhbmRsZXJzPVtdLHRoaXMuX2xheWVycz17fSx0aGlzLl96b29tQm91bmRMYXllcnM9e30sdGhpcy5fc2l6ZUNoYW5nZWQ9ITAsdGhpcy5faW5pdENvbnRhaW5lcih0KSx0aGlzLl9pbml0TGF5b3V0KCksdGhpcy5fb25SZXNpemU9cCh0aGlzLl9vblJlc2l6ZSx0aGlzKSx0aGlzLl9pbml0RXZlbnRzKCksaS5tYXhCb3VuZHMmJnRoaXMuc2V0TWF4Qm91bmRzKGkubWF4Qm91bmRzKSx2b2lkIDAhPT1pLnpvb20mJih0aGlzLl96b29tPXRoaXMuX2xpbWl0Wm9vbShpLnpvb20pKSxpLmNlbnRlciYmdm9pZCAwIT09aS56b29tJiZ0aGlzLnNldFZpZXcoaihpLmNlbnRlciksaS56b29tLHtyZXNldDohMH0pLHRoaXMuY2FsbEluaXRIb29rcygpLHRoaXMuX3pvb21BbmltYXRlZD1paSYmdnQmJiFUdCYmdGhpcy5vcHRpb25zLnpvb21BbmltYXRpb24sdGhpcy5fem9vbUFuaW1hdGVkJiYodGhpcy5fY3JlYXRlQW5pbVByb3h5KCksemkodGhpcy5fcHJveHksZWksdGhpcy5fY2F0Y2hUcmFuc2l0aW9uRW5kLHRoaXMpKSx0aGlzLl9hZGRMYXllcnModGhpcy5vcHRpb25zLmxheWVycyl9LHNldFZpZXc6ZnVuY3Rpb24odCxpLGUpe2lmKChpPXZvaWQgMD09PWk/dGhpcy5fem9vbTp0aGlzLl9saW1pdFpvb20oaSksdD10aGlzLl9saW1pdENlbnRlcihqKHQpLGksdGhpcy5vcHRpb25zLm1heEJvdW5kcyksZT1lfHx7fSx0aGlzLl9zdG9wKCksdGhpcy5fbG9hZGVkJiYhZS5yZXNldCYmITAhPT1lKSYmKHZvaWQgMCE9PWUuYW5pbWF0ZSYmKGUuem9vbT1oKHthbmltYXRlOmUuYW5pbWF0ZX0sZS56b29tKSxlLnBhbj1oKHthbmltYXRlOmUuYW5pbWF0ZSxkdXJhdGlvbjplLmR1cmF0aW9ufSxlLnBhbikpLHRoaXMuX3pvb20hPT1pP3RoaXMuX3RyeUFuaW1hdGVkWm9vbSYmdGhpcy5fdHJ5QW5pbWF0ZWRab29tKHQsaSxlLnpvb20pOnRoaXMuX3RyeUFuaW1hdGVkUGFuKHQsZS5wYW4pKSlyZXR1cm4gY2xlYXJUaW1lb3V0KHRoaXMuX3NpemVUaW1lciksdGhpcztyZXR1cm4gdGhpcy5fcmVzZXRWaWV3KHQsaSksdGhpc30sc2V0Wm9vbTpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLl9sb2FkZWQ/dGhpcy5zZXRWaWV3KHRoaXMuZ2V0Q2VudGVyKCksdCx7em9vbTppfSk6KHRoaXMuX3pvb209dCx0aGlzKX0sem9vbUluOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQ9dHx8KHZ0P3RoaXMub3B0aW9ucy56b29tRGVsdGE6MSksdGhpcy5zZXRab29tKHRoaXMuX3pvb20rdCxpKX0sem9vbU91dDpmdW5jdGlvbih0LGkpe3JldHVybiB0PXR8fCh2dD90aGlzLm9wdGlvbnMuem9vbURlbHRhOjEpLHRoaXMuc2V0Wm9vbSh0aGlzLl96b29tLXQsaSl9LHNldFpvb21Bcm91bmQ6ZnVuY3Rpb24odCxpLGUpe3ZhciBuPXRoaXMuZ2V0Wm9vbVNjYWxlKGkpLG89dGhpcy5nZXRTaXplKCkuZGl2aWRlQnkoMikscz0odCBpbnN0YW5jZW9mIGs/dDp0aGlzLmxhdExuZ1RvQ29udGFpbmVyUG9pbnQodCkpLnN1YnRyYWN0KG8pLm11bHRpcGx5QnkoMS0xL24pLHI9dGhpcy5jb250YWluZXJQb2ludFRvTGF0TG5nKG8uYWRkKHMpKTtyZXR1cm4gdGhpcy5zZXRWaWV3KHIsaSx7em9vbTplfSl9LF9nZXRCb3VuZHNDZW50ZXJab29tOmZ1bmN0aW9uKHQsaSl7aT1pfHx7fSx0PXQuZ2V0Qm91bmRzP3QuZ2V0Qm91bmRzKCk6Tih0KTt2YXIgZT1BKGkucGFkZGluZ1RvcExlZnR8fGkucGFkZGluZ3x8WzAsMF0pLG49QShpLnBhZGRpbmdCb3R0b21SaWdodHx8aS5wYWRkaW5nfHxbMCwwXSksbz10aGlzLmdldEJvdW5kc1pvb20odCwhMSxlLmFkZChuKSk7aWYoKG89Im51bWJlciI9PXR5cGVvZiBpLm1heFpvb20/TWF0aC5taW4oaS5tYXhab29tLG8pOm8pPT09MS8wKXJldHVybntjZW50ZXI6dC5nZXRDZW50ZXIoKSx6b29tOm99O3ZhciBzPW4uc3VidHJhY3QoZSkuZGl2aWRlQnkoMikscj10aGlzLnByb2plY3QodC5nZXRTb3V0aFdlc3QoKSxvKSxhPXRoaXMucHJvamVjdCh0LmdldE5vcnRoRWFzdCgpLG8pO3JldHVybntjZW50ZXI6dGhpcy51bnByb2plY3Qoci5hZGQoYSkuZGl2aWRlQnkoMikuYWRkKHMpLG8pLHpvb206b319LGZpdEJvdW5kczpmdW5jdGlvbih0LGkpe2lmKCEodD1OKHQpKS5pc1ZhbGlkKCkpdGhyb3cgbmV3IEVycm9yKCJCb3VuZHMgYXJlIG5vdCB2YWxpZC4iKTt2YXIgZT10aGlzLl9nZXRCb3VuZHNDZW50ZXJab29tKHQsaSk7cmV0dXJuIHRoaXMuc2V0VmlldyhlLmNlbnRlcixlLnpvb20saSl9LGZpdFdvcmxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmZpdEJvdW5kcyhbWy05MCwtMTgwXSxbOTAsMTgwXV0sdCl9LHBhblRvOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuc2V0Vmlldyh0LHRoaXMuX3pvb20se3BhbjppfSl9LHBhbkJ5OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9aXx8e30sKHQ9QSh0KS5yb3VuZCgpKS54fHx0Lnk/KCEwPT09aS5hbmltYXRlfHx0aGlzLmdldFNpemUoKS5jb250YWlucyh0KT8odGhpcy5fcGFuQW5pbXx8KHRoaXMuX3BhbkFuaW09bmV3IEdpLHRoaXMuX3BhbkFuaW0ub24oe3N0ZXA6dGhpcy5fb25QYW5UcmFuc2l0aW9uU3RlcCxlbmQ6dGhpcy5fb25QYW5UcmFuc2l0aW9uRW5kfSx0aGlzKSksaS5ub01vdmVTdGFydHx8dGhpcy5maXJlKCJtb3Zlc3RhcnQiKSwhMSE9PWkuYW5pbWF0ZT8oY2kodGhpcy5fbWFwUGFuZSwibGVhZmxldC1wYW4tYW5pbSIpLGU9dGhpcy5fZ2V0TWFwUGFuZVBvcygpLnN1YnRyYWN0KHQpLnJvdW5kKCksdGhpcy5fcGFuQW5pbS5ydW4odGhpcy5fbWFwUGFuZSxlLGkuZHVyYXRpb258fC4yNSxpLmVhc2VMaW5lYXJpdHkpKToodGhpcy5fcmF3UGFuQnkodCksdGhpcy5maXJlKCJtb3ZlIikuZmlyZSgibW92ZWVuZCIpKSk6dGhpcy5fcmVzZXRWaWV3KHRoaXMudW5wcm9qZWN0KHRoaXMucHJvamVjdCh0aGlzLmdldENlbnRlcigpKS5hZGQodCkpLHRoaXMuZ2V0Wm9vbSgpKSx0aGlzKTp0aGlzLmZpcmUoIm1vdmVlbmQiKTt2YXIgZX0sZmx5VG86ZnVuY3Rpb24ocyxyLHQpe2lmKCExPT09KHQ9dHx8e30pLmFuaW1hdGV8fCF2dClyZXR1cm4gdGhpcy5zZXRWaWV3KHMscix0KTt0aGlzLl9zdG9wKCk7dmFyIGE9dGhpcy5wcm9qZWN0KHRoaXMuZ2V0Q2VudGVyKCkpLGg9dGhpcy5wcm9qZWN0KHMpLGk9dGhpcy5nZXRTaXplKCksdT10aGlzLl96b29tO3M9aihzKSxyPXZvaWQgMD09PXI/dTpyO3ZhciBsPU1hdGgubWF4KGkueCxpLnkpLG49bCp0aGlzLmdldFpvb21TY2FsZSh1LHIpLGM9aC5kaXN0YW5jZVRvKGEpfHwxLF89MS40MixvPV8qXztmdW5jdGlvbiBlKHQpe3ZhciBpPShuKm4tbCpsKyh0Py0xOjEpKm8qbypjKmMpLygyKih0P246bCkqbypjKSxlPU1hdGguc3FydChpKmkrMSktaTtyZXR1cm4gZTwxZS05Py0xODpNYXRoLmxvZyhlKX1mdW5jdGlvbiBkKHQpe3JldHVybihNYXRoLmV4cCh0KS1NYXRoLmV4cCgtdCkpLzJ9ZnVuY3Rpb24gcCh0KXtyZXR1cm4oTWF0aC5leHAodCkrTWF0aC5leHAoLXQpKS8yfXZhciBtPWUoMCk7ZnVuY3Rpb24gZih0KXtyZXR1cm4gbCoocChtKSooZChpPW0rXyp0KS9wKGkpKS1kKG0pKS9vO3ZhciBpfXZhciBnPURhdGUubm93KCksdj0oZSgxKS1tKS9fLHk9dC5kdXJhdGlvbj8xZTMqdC5kdXJhdGlvbjoxZTMqdiouODtyZXR1cm4gdGhpcy5fbW92ZVN0YXJ0KCEwLHQubm9Nb3ZlU3RhcnQpLGZ1bmN0aW9uIHQoKXt2YXIgaSxlLG49KERhdGUubm93KCktZykveSxvPShpPW4sKDEtTWF0aC5wb3coMS1pLDEuNSkpKnYpO248PTE/KHRoaXMuX2ZseVRvRnJhbWU9TSh0LHRoaXMpLHRoaXMuX21vdmUodGhpcy51bnByb2plY3QoYS5hZGQoaC5zdWJ0cmFjdChhKS5tdWx0aXBseUJ5KGYobykvYykpLHUpLHRoaXMuZ2V0U2NhbGVab29tKGwvKGU9byxsKihwKG0pL3AobStfKmUpKSksdSkse2ZseVRvOiEwfSkpOnRoaXMuX21vdmUocyxyKS5fbW92ZUVuZCghMCl9LmNhbGwodGhpcyksdGhpc30sZmx5VG9Cb3VuZHM6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9nZXRCb3VuZHNDZW50ZXJab29tKHQsaSk7cmV0dXJuIHRoaXMuZmx5VG8oZS5jZW50ZXIsZS56b29tLGkpfSxzZXRNYXhCb3VuZHM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9Tih0KSkuaXNWYWxpZCgpPyh0aGlzLm9wdGlvbnMubWF4Qm91bmRzJiZ0aGlzLm9mZigibW92ZWVuZCIsdGhpcy5fcGFuSW5zaWRlTWF4Qm91bmRzKSx0aGlzLm9wdGlvbnMubWF4Qm91bmRzPXQsdGhpcy5fbG9hZGVkJiZ0aGlzLl9wYW5JbnNpZGVNYXhCb3VuZHMoKSx0aGlzLm9uKCJtb3ZlZW5kIix0aGlzLl9wYW5JbnNpZGVNYXhCb3VuZHMpKToodGhpcy5vcHRpb25zLm1heEJvdW5kcz1udWxsLHRoaXMub2ZmKCJtb3ZlZW5kIix0aGlzLl9wYW5JbnNpZGVNYXhCb3VuZHMpKX0sc2V0TWluWm9vbTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnMubWluWm9vbTtyZXR1cm4gdGhpcy5vcHRpb25zLm1pblpvb209dCx0aGlzLl9sb2FkZWQmJmkhPT10JiYodGhpcy5maXJlKCJ6b29tbGV2ZWxzY2hhbmdlIiksdGhpcy5nZXRab29tKCk8dGhpcy5vcHRpb25zLm1pblpvb20pP3RoaXMuc2V0Wm9vbSh0KTp0aGlzfSxzZXRNYXhab29tOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucy5tYXhab29tO3JldHVybiB0aGlzLm9wdGlvbnMubWF4Wm9vbT10LHRoaXMuX2xvYWRlZCYmaSE9PXQmJih0aGlzLmZpcmUoInpvb21sZXZlbHNjaGFuZ2UiKSx0aGlzLmdldFpvb20oKT50aGlzLm9wdGlvbnMubWF4Wm9vbSk/dGhpcy5zZXRab29tKHQpOnRoaXN9LHBhbkluc2lkZUJvdW5kczpmdW5jdGlvbih0LGkpe3RoaXMuX2VuZm9yY2luZ0JvdW5kcz0hMDt2YXIgZT10aGlzLmdldENlbnRlcigpLG49dGhpcy5fbGltaXRDZW50ZXIoZSx0aGlzLl96b29tLE4odCkpO3JldHVybiBlLmVxdWFscyhuKXx8dGhpcy5wYW5UbyhuLGkpLHRoaXMuX2VuZm9yY2luZ0JvdW5kcz0hMSx0aGlzfSxwYW5JbnNpZGU6ZnVuY3Rpb24odCxpKXt2YXIgZSxuLG89QSgoaT1pfHx7fSkucGFkZGluZ1RvcExlZnR8fGkucGFkZGluZ3x8WzAsMF0pLHM9QShpLnBhZGRpbmdCb3R0b21SaWdodHx8aS5wYWRkaW5nfHxbMCwwXSkscj10aGlzLmdldENlbnRlcigpLGE9dGhpcy5wcm9qZWN0KHIpLGg9dGhpcy5wcm9qZWN0KHQpLHU9dGhpcy5nZXRQaXhlbEJvdW5kcygpLGw9dS5nZXRTaXplKCkuZGl2aWRlQnkoMiksYz1PKFt1Lm1pbi5hZGQobyksdS5tYXguc3VidHJhY3QocyldKTtyZXR1cm4gYy5jb250YWlucyhoKXx8KHRoaXMuX2VuZm9yY2luZ0JvdW5kcz0hMCxlPWEuc3VidHJhY3QoaCksbj1BKGgueCtlLngsaC55K2UueSksKGgueDxjLm1pbi54fHxoLng+Yy5tYXgueCkmJihuLng9YS54LWUueCwwPGUueD9uLngrPWwueC1vLng6bi54LT1sLngtcy54KSwoaC55PGMubWluLnl8fGgueT5jLm1heC55KSYmKG4ueT1hLnktZS55LDA8ZS55P24ueSs9bC55LW8ueTpuLnktPWwueS1zLnkpLHRoaXMucGFuVG8odGhpcy51bnByb2plY3QobiksaSksdGhpcy5fZW5mb3JjaW5nQm91bmRzPSExKSx0aGlzfSxpbnZhbGlkYXRlU2l6ZTpmdW5jdGlvbih0KXtpZighdGhpcy5fbG9hZGVkKXJldHVybiB0aGlzO3Q9aCh7YW5pbWF0ZTohMSxwYW46ITB9LCEwPT09dD97YW5pbWF0ZTohMH06dCk7dmFyIGk9dGhpcy5nZXRTaXplKCk7dGhpcy5fc2l6ZUNoYW5nZWQ9ITAsdGhpcy5fbGFzdENlbnRlcj1udWxsO3ZhciBlPXRoaXMuZ2V0U2l6ZSgpLG49aS5kaXZpZGVCeSgyKS5yb3VuZCgpLG89ZS5kaXZpZGVCeSgyKS5yb3VuZCgpLHM9bi5zdWJ0cmFjdChvKTtyZXR1cm4gcy54fHxzLnk/KHQuYW5pbWF0ZSYmdC5wYW4/dGhpcy5wYW5CeShzKToodC5wYW4mJnRoaXMuX3Jhd1BhbkJ5KHMpLHRoaXMuZmlyZSgibW92ZSIpLHQuZGVib3VuY2VNb3ZlZW5kPyhjbGVhclRpbWVvdXQodGhpcy5fc2l6ZVRpbWVyKSx0aGlzLl9zaXplVGltZXI9c2V0VGltZW91dChwKHRoaXMuZmlyZSx0aGlzLCJtb3ZlZW5kIiksMjAwKSk6dGhpcy5maXJlKCJtb3ZlZW5kIikpLHRoaXMuZmlyZSgicmVzaXplIix7b2xkU2l6ZTppLG5ld1NpemU6ZX0pKTp0aGlzfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2V0Wm9vbSh0aGlzLl9saW1pdFpvb20odGhpcy5fem9vbSkpLHRoaXMub3B0aW9ucy56b29tU25hcHx8dGhpcy5maXJlKCJ2aWV3cmVzZXQiKSx0aGlzLl9zdG9wKCl9LGxvY2F0ZTpmdW5jdGlvbih0KXtpZih0PXRoaXMuX2xvY2F0ZU9wdGlvbnM9aCh7dGltZW91dDoxZTQsd2F0Y2g6ITF9LHQpLCEoImdlb2xvY2F0aW9uImluIG5hdmlnYXRvcikpcmV0dXJuIHRoaXMuX2hhbmRsZUdlb2xvY2F0aW9uRXJyb3Ioe2NvZGU6MCxtZXNzYWdlOiJHZW9sb2NhdGlvbiBub3Qgc3VwcG9ydGVkLiJ9KSx0aGlzO3ZhciBpPXAodGhpcy5faGFuZGxlR2VvbG9jYXRpb25SZXNwb25zZSx0aGlzKSxlPXAodGhpcy5faGFuZGxlR2VvbG9jYXRpb25FcnJvcix0aGlzKTtyZXR1cm4gdC53YXRjaD90aGlzLl9sb2NhdGlvbldhdGNoSWQ9bmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oaSxlLHQpOm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oaSxlLHQpLHRoaXN9LHN0b3BMb2NhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmF2aWdhdG9yLmdlb2xvY2F0aW9uJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fbG9jYXRpb25XYXRjaElkKSx0aGlzLl9sb2NhdGVPcHRpb25zJiYodGhpcy5fbG9jYXRlT3B0aW9ucy5zZXRWaWV3PSExKSx0aGlzfSxfaGFuZGxlR2VvbG9jYXRpb25FcnJvcjpmdW5jdGlvbih0KXt2YXIgaT10LmNvZGUsZT10Lm1lc3NhZ2V8fCgxPT09aT8icGVybWlzc2lvbiBkZW5pZWQiOjI9PT1pPyJwb3NpdGlvbiB1bmF2YWlsYWJsZSI6InRpbWVvdXQiKTt0aGlzLl9sb2NhdGVPcHRpb25zLnNldFZpZXcmJiF0aGlzLl9sb2FkZWQmJnRoaXMuZml0V29ybGQoKSx0aGlzLmZpcmUoImxvY2F0aW9uZXJyb3IiLHtjb2RlOmksbWVzc2FnZToiR2VvbG9jYXRpb24gZXJyb3I6ICIrZSsiLiJ9KX0sX2hhbmRsZUdlb2xvY2F0aW9uUmVzcG9uc2U6ZnVuY3Rpb24odCl7dmFyIGksZT1uZXcgRCh0LmNvb3Jkcy5sYXRpdHVkZSx0LmNvb3Jkcy5sb25naXR1ZGUpLG49ZS50b0JvdW5kcygyKnQuY29vcmRzLmFjY3VyYWN5KSxvPXRoaXMuX2xvY2F0ZU9wdGlvbnM7by5zZXRWaWV3JiYoaT10aGlzLmdldEJvdW5kc1pvb20obiksdGhpcy5zZXRWaWV3KGUsby5tYXhab29tP01hdGgubWluKGksby5tYXhab29tKTppKSk7dmFyIHM9e2xhdGxuZzplLGJvdW5kczpuLHRpbWVzdGFtcDp0LnRpbWVzdGFtcH07Zm9yKHZhciByIGluIHQuY29vcmRzKSJudW1iZXIiPT10eXBlb2YgdC5jb29yZHNbcl0mJihzW3JdPXQuY29vcmRzW3JdKTt0aGlzLmZpcmUoImxvY2F0aW9uZm91bmQiLHMpfSxhZGRIYW5kbGVyOmZ1bmN0aW9uKHQsaSl7aWYoIWkpcmV0dXJuIHRoaXM7dmFyIGU9dGhpc1t0XT1uZXcgaSh0aGlzKTtyZXR1cm4gdGhpcy5faGFuZGxlcnMucHVzaChlKSx0aGlzLm9wdGlvbnNbdF0mJmUuZW5hYmxlKCksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7aWYodGhpcy5faW5pdEV2ZW50cyghMCksdGhpcy5vZmYoIm1vdmVlbmQiLHRoaXMuX3Bhbkluc2lkZU1heEJvdW5kcyksdGhpcy5fY29udGFpbmVySWQhPT10aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQpdGhyb3cgbmV3IEVycm9yKCJNYXAgY29udGFpbmVyIGlzIGJlaW5nIHJldXNlZCBieSBhbm90aGVyIGluc3RhbmNlIik7dHJ5e2RlbGV0ZSB0aGlzLl9jb250YWluZXIuX2xlYWZsZXRfaWQsZGVsZXRlIHRoaXMuX2NvbnRhaW5lcklkfWNhdGNoKHQpe3RoaXMuX2NvbnRhaW5lci5fbGVhZmxldF9pZD12b2lkIDAsdGhpcy5fY29udGFpbmVySWQ9dm9pZCAwfXZhciB0O2Zvcih0IGluIHZvaWQgMCE9PXRoaXMuX2xvY2F0aW9uV2F0Y2hJZCYmdGhpcy5zdG9wTG9jYXRlKCksdGhpcy5fc3RvcCgpLHJpKHRoaXMuX21hcFBhbmUpLHRoaXMuX2NsZWFyQ29udHJvbFBvcyYmdGhpcy5fY2xlYXJDb250cm9sUG9zKCksdGhpcy5fcmVzaXplUmVxdWVzdCYmKHoodGhpcy5fcmVzaXplUmVxdWVzdCksdGhpcy5fcmVzaXplUmVxdWVzdD1udWxsKSx0aGlzLl9jbGVhckhhbmRsZXJzKCksdGhpcy5fbG9hZGVkJiZ0aGlzLmZpcmUoInVubG9hZCIpLHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0ucmVtb3ZlKCk7Zm9yKHQgaW4gdGhpcy5fcGFuZXMpcmkodGhpcy5fcGFuZXNbdF0pO3JldHVybiB0aGlzLl9sYXllcnM9W10sdGhpcy5fcGFuZXM9W10sZGVsZXRlIHRoaXMuX21hcFBhbmUsZGVsZXRlIHRoaXMuX3JlbmRlcmVyLHRoaXN9LGNyZWF0ZVBhbmU6ZnVuY3Rpb24odCxpKXt2YXIgZT1zaSgiZGl2IiwibGVhZmxldC1wYW5lIisodD8iIGxlYWZsZXQtIit0LnJlcGxhY2UoIlBhbmUiLCIiKSsiLXBhbmUiOiIiKSxpfHx0aGlzLl9tYXBQYW5lKTtyZXR1cm4gdCYmKHRoaXMuX3BhbmVzW3RdPWUpLGV9LGdldENlbnRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jaGVja0lmTG9hZGVkKCksdGhpcy5fbGFzdENlbnRlciYmIXRoaXMuX21vdmVkKCk/dGhpcy5fbGFzdENlbnRlcjp0aGlzLmxheWVyUG9pbnRUb0xhdExuZyh0aGlzLl9nZXRDZW50ZXJMYXllclBvaW50KCkpfSxnZXRab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvb219LGdldEJvdW5kczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0UGl4ZWxCb3VuZHMoKTtyZXR1cm4gbmV3IFIodGhpcy51bnByb2plY3QodC5nZXRCb3R0b21MZWZ0KCkpLHRoaXMudW5wcm9qZWN0KHQuZ2V0VG9wUmlnaHQoKSkpfSxnZXRNaW5ab29tOmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMub3B0aW9ucy5taW5ab29tP3RoaXMuX2xheWVyc01pblpvb218fDA6dGhpcy5vcHRpb25zLm1pblpvb219LGdldE1heFpvb206ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zLm1heFpvb20/dm9pZCAwPT09dGhpcy5fbGF5ZXJzTWF4Wm9vbT8xLzA6dGhpcy5fbGF5ZXJzTWF4Wm9vbTp0aGlzLm9wdGlvbnMubWF4Wm9vbX0sZ2V0Qm91bmRzWm9vbTpmdW5jdGlvbih0LGksZSl7dD1OKHQpLGU9QShlfHxbMCwwXSk7dmFyIG49dGhpcy5nZXRab29tKCl8fDAsbz10aGlzLmdldE1pblpvb20oKSxzPXRoaXMuZ2V0TWF4Wm9vbSgpLHI9dC5nZXROb3J0aFdlc3QoKSxhPXQuZ2V0U291dGhFYXN0KCksaD10aGlzLmdldFNpemUoKS5zdWJ0cmFjdChlKSx1PU8odGhpcy5wcm9qZWN0KGEsbiksdGhpcy5wcm9qZWN0KHIsbikpLmdldFNpemUoKSxsPXZ0P3RoaXMub3B0aW9ucy56b29tU25hcDoxLGM9aC54L3UueCxfPWgueS91LnksZD1pP01hdGgubWF4KGMsXyk6TWF0aC5taW4oYyxfKSxuPXRoaXMuZ2V0U2NhbGVab29tKGQsbik7cmV0dXJuIGwmJihuPU1hdGgucm91bmQobi8obC8xMDApKSoobC8xMDApLG49aT9NYXRoLmNlaWwobi9sKSpsOk1hdGguZmxvb3Iobi9sKSpsKSxNYXRoLm1heChvLE1hdGgubWluKHMsbikpfSxnZXRTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpemUmJiF0aGlzLl9zaXplQ2hhbmdlZHx8KHRoaXMuX3NpemU9bmV3IGsodGhpcy5fY29udGFpbmVyLmNsaWVudFdpZHRofHwwLHRoaXMuX2NvbnRhaW5lci5jbGllbnRIZWlnaHR8fDApLHRoaXMuX3NpemVDaGFuZ2VkPSExKSx0aGlzLl9zaXplLmNsb25lKCl9LGdldFBpeGVsQm91bmRzOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5fZ2V0VG9wTGVmdFBvaW50KHQsaSk7cmV0dXJuIG5ldyBJKGUsZS5hZGQodGhpcy5nZXRTaXplKCkpKX0sZ2V0UGl4ZWxPcmlnaW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hlY2tJZkxvYWRlZCgpLHRoaXMuX3BpeGVsT3JpZ2lufSxnZXRQaXhlbFdvcmxkQm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmdldFByb2plY3RlZEJvdW5kcyh2b2lkIDA9PT10P3RoaXMuZ2V0Wm9vbSgpOnQpfSxnZXRQYW5lOmZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90aGlzLl9wYW5lc1t0XTp0fSxnZXRQYW5lczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYW5lc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sZ2V0Wm9vbVNjYWxlOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5vcHRpb25zLmNycztyZXR1cm4gaT12b2lkIDA9PT1pP3RoaXMuX3pvb206aSxlLnNjYWxlKHQpL2Uuc2NhbGUoaSl9LGdldFNjYWxlWm9vbTpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMub3B0aW9ucy5jcnM7aT12b2lkIDA9PT1pP3RoaXMuX3pvb206aTt2YXIgbj1lLnpvb20odCplLnNjYWxlKGkpKTtyZXR1cm4gaXNOYU4obik/MS8wOm59LHByb2plY3Q6ZnVuY3Rpb24odCxpKXtyZXR1cm4gaT12b2lkIDA9PT1pP3RoaXMuX3pvb206aSx0aGlzLm9wdGlvbnMuY3JzLmxhdExuZ1RvUG9pbnQoaih0KSxpKX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9dm9pZCAwPT09aT90aGlzLl96b29tOmksdGhpcy5vcHRpb25zLmNycy5wb2ludFRvTGF0TG5nKEEodCksaSl9LGxheWVyUG9pbnRUb0xhdExuZzpmdW5jdGlvbih0KXt2YXIgaT1BKHQpLmFkZCh0aGlzLmdldFBpeGVsT3JpZ2luKCkpO3JldHVybiB0aGlzLnVucHJvamVjdChpKX0sbGF0TG5nVG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByb2plY3Qoaih0KSkuX3JvdW5kKCkuX3N1YnRyYWN0KHRoaXMuZ2V0UGl4ZWxPcmlnaW4oKSl9LHdyYXBMYXRMbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5jcnMud3JhcExhdExuZyhqKHQpKX0sd3JhcExhdExuZ0JvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmNycy53cmFwTGF0TG5nQm91bmRzKE4odCkpfSxkaXN0YW5jZTpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLm9wdGlvbnMuY3JzLmRpc3RhbmNlKGoodCksaihpKSl9LGNvbnRhaW5lclBvaW50VG9MYXllclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiBBKHQpLnN1YnRyYWN0KHRoaXMuX2dldE1hcFBhbmVQb3MoKSl9LGxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiBBKHQpLmFkZCh0aGlzLl9nZXRNYXBQYW5lUG9zKCkpfSxjb250YWluZXJQb2ludFRvTGF0TG5nOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQoQSh0KSk7cmV0dXJuIHRoaXMubGF5ZXJQb2ludFRvTGF0TG5nKGkpfSxsYXRMbmdUb0NvbnRhaW5lclBvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50KHRoaXMubGF0TG5nVG9MYXllclBvaW50KGoodCkpKX0sbW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIERpKHQsdGhpcy5fY29udGFpbmVyKX0sbW91c2VFdmVudFRvTGF5ZXJQb2ludDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludCh0aGlzLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpKX0sbW91c2VFdmVudFRvTGF0TG5nOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxheWVyUG9pbnRUb0xhdExuZyh0aGlzLm1vdXNlRXZlbnRUb0xheWVyUG9pbnQodCkpfSxfaW5pdENvbnRhaW5lcjpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9jb250YWluZXI9bmkodCk7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJNYXAgY29udGFpbmVyIG5vdCBmb3VuZC4iKTtpZihpLl9sZWFmbGV0X2lkKXRocm93IG5ldyBFcnJvcigiTWFwIGNvbnRhaW5lciBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiIpO3ppKGksInNjcm9sbCIsdGhpcy5fb25TY3JvbGwsdGhpcyksdGhpcy5fY29udGFpbmVySWQ9bShpKX0sX2luaXRMYXlvdXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jb250YWluZXI7dGhpcy5fZmFkZUFuaW1hdGVkPXRoaXMub3B0aW9ucy5mYWRlQW5pbWF0aW9uJiZ2dCxjaSh0LCJsZWFmbGV0LWNvbnRhaW5lciIrKGJ0PyIgbGVhZmxldC10b3VjaCI6IiIpKyh6dD8iIGxlYWZsZXQtcmV0aW5hIjoiIikrKGl0PyIgbGVhZmxldC1vbGRpZSI6IiIpKyhjdD8iIGxlYWZsZXQtc2FmYXJpIjoiIikrKHRoaXMuX2ZhZGVBbmltYXRlZD8iIGxlYWZsZXQtZmFkZS1hbmltIjoiIikpO3ZhciBpPW9pKHQsInBvc2l0aW9uIik7ImFic29sdXRlIiE9PWkmJiJyZWxhdGl2ZSIhPT1pJiYiZml4ZWQiIT09aSYmKHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksdGhpcy5faW5pdFBhbmVzKCksdGhpcy5faW5pdENvbnRyb2xQb3MmJnRoaXMuX2luaXRDb250cm9sUG9zKCl9LF9pbml0UGFuZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wYW5lcz17fTt0aGlzLl9wYW5lUmVuZGVyZXJzPXt9LHRoaXMuX21hcFBhbmU9dGhpcy5jcmVhdGVQYW5lKCJtYXBQYW5lIix0aGlzLl9jb250YWluZXIpLHZpKHRoaXMuX21hcFBhbmUsbmV3IGsoMCwwKSksdGhpcy5jcmVhdGVQYW5lKCJ0aWxlUGFuZSIpLHRoaXMuY3JlYXRlUGFuZSgic2hhZG93UGFuZSIpLHRoaXMuY3JlYXRlUGFuZSgib3ZlcmxheVBhbmUiKSx0aGlzLmNyZWF0ZVBhbmUoIm1hcmtlclBhbmUiKSx0aGlzLmNyZWF0ZVBhbmUoInRvb2x0aXBQYW5lIiksdGhpcy5jcmVhdGVQYW5lKCJwb3B1cFBhbmUiKSx0aGlzLm9wdGlvbnMubWFya2VyWm9vbUFuaW1hdGlvbnx8KGNpKHQubWFya2VyUGFuZSwibGVhZmxldC16b29tLWhpZGUiKSxjaSh0LnNoYWRvd1BhbmUsImxlYWZsZXQtem9vbS1oaWRlIikpfSxfcmVzZXRWaWV3OmZ1bmN0aW9uKHQsaSl7dmkodGhpcy5fbWFwUGFuZSxuZXcgaygwLDApKTt2YXIgZT0hdGhpcy5fbG9hZGVkO3RoaXMuX2xvYWRlZD0hMCxpPXRoaXMuX2xpbWl0Wm9vbShpKSx0aGlzLmZpcmUoInZpZXdwcmVyZXNldCIpO3ZhciBuPXRoaXMuX3pvb20hPT1pO3RoaXMuX21vdmVTdGFydChuLCExKS5fbW92ZSh0LGkpLl9tb3ZlRW5kKG4pLHRoaXMuZmlyZSgidmlld3Jlc2V0IiksZSYmdGhpcy5maXJlKCJsb2FkIil9LF9tb3ZlU3RhcnQ6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdCYmdGhpcy5maXJlKCJ6b29tc3RhcnQiKSxpfHx0aGlzLmZpcmUoIm1vdmVzdGFydCIpLHRoaXN9LF9tb3ZlOmZ1bmN0aW9uKHQsaSxlKXt2b2lkIDA9PT1pJiYoaT10aGlzLl96b29tKTt2YXIgbj10aGlzLl96b29tIT09aTtyZXR1cm4gdGhpcy5fem9vbT1pLHRoaXMuX2xhc3RDZW50ZXI9dCx0aGlzLl9waXhlbE9yaWdpbj10aGlzLl9nZXROZXdQaXhlbE9yaWdpbih0KSwobnx8ZSYmZS5waW5jaCkmJnRoaXMuZmlyZSgiem9vbSIsZSksdGhpcy5maXJlKCJtb3ZlIixlKX0sX21vdmVFbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnRoaXMuZmlyZSgiem9vbWVuZCIpLHRoaXMuZmlyZSgibW92ZWVuZCIpfSxfc3RvcDpmdW5jdGlvbigpe3JldHVybiB6KHRoaXMuX2ZseVRvRnJhbWUpLHRoaXMuX3BhbkFuaW0mJnRoaXMuX3BhbkFuaW0uc3RvcCgpLHRoaXN9LF9yYXdQYW5CeTpmdW5jdGlvbih0KXt2aSh0aGlzLl9tYXBQYW5lLHRoaXMuX2dldE1hcFBhbmVQb3MoKS5zdWJ0cmFjdCh0KSl9LF9nZXRab29tU3BhbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldE1heFpvb20oKS10aGlzLmdldE1pblpvb20oKX0sX3Bhbkluc2lkZU1heEJvdW5kczpmdW5jdGlvbigpe3RoaXMuX2VuZm9yY2luZ0JvdW5kc3x8dGhpcy5wYW5JbnNpZGVCb3VuZHModGhpcy5vcHRpb25zLm1heEJvdW5kcyl9LF9jaGVja0lmTG9hZGVkOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2xvYWRlZCl0aHJvdyBuZXcgRXJyb3IoIlNldCBtYXAgY2VudGVyIGFuZCB6b29tIGZpcnN0LiIpfSxfaW5pdEV2ZW50czpmdW5jdGlvbih0KXt0aGlzLl90YXJnZXRzPXt9O3ZhciBpPXQ/U2k6emk7aSgodGhpcy5fdGFyZ2V0c1ttKHRoaXMuX2NvbnRhaW5lcildPXRoaXMpLl9jb250YWluZXIsImNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZW1vdmUgY29udGV4dG1lbnUga2V5cHJlc3Mga2V5ZG93biBrZXl1cCIsdGhpcy5faGFuZGxlRE9NRXZlbnQsdGhpcyksdGhpcy5vcHRpb25zLnRyYWNrUmVzaXplJiZpKHdpbmRvdywicmVzaXplIix0aGlzLl9vblJlc2l6ZSx0aGlzKSx2dCYmdGhpcy5vcHRpb25zLnRyYW5zZm9ybTNETGltaXQmJih0P3RoaXMub2ZmOnRoaXMub24pLmNhbGwodGhpcywibW92ZWVuZCIsdGhpcy5fb25Nb3ZlRW5kKX0sX29uUmVzaXplOmZ1bmN0aW9uKCl7eih0aGlzLl9yZXNpemVSZXF1ZXN0KSx0aGlzLl9yZXNpemVSZXF1ZXN0PU0oZnVuY3Rpb24oKXt0aGlzLmludmFsaWRhdGVTaXplKHtkZWJvdW5jZU1vdmVlbmQ6ITB9KX0sdGhpcyl9LF9vblNjcm9sbDpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lci5zY3JvbGxUb3A9MCx0aGlzLl9jb250YWluZXIuc2Nyb2xsTGVmdD0wfSxfb25Nb3ZlRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0TWFwUGFuZVBvcygpO01hdGgubWF4KE1hdGguYWJzKHQueCksTWF0aC5hYnModC55KSk+PXRoaXMub3B0aW9ucy50cmFuc2Zvcm0zRExpbWl0JiZ0aGlzLl9yZXNldFZpZXcodGhpcy5nZXRDZW50ZXIoKSx0aGlzLmdldFpvb20oKSl9LF9maW5kRXZlbnRUYXJnZXRzOmZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBlLG49W10sbz0ibW91c2VvdXQiPT09aXx8Im1vdXNlb3ZlciI9PT1pLHM9dC50YXJnZXR8fHQuc3JjRWxlbWVudCxyPSExO3M7KXtpZigoZT10aGlzLl90YXJnZXRzW20ocyldKSYmKCJjbGljayI9PT1pfHwicHJlY2xpY2siPT09aSkmJiF0Ll9zaW11bGF0ZWQmJnRoaXMuX2RyYWdnYWJsZU1vdmVkKGUpKXtyPSEwO2JyZWFrfWlmKGUmJmUubGlzdGVucyhpLCEwKSl7aWYobyYmIVZpKHMsdCkpYnJlYWs7aWYobi5wdXNoKGUpLG8pYnJlYWt9aWYocz09PXRoaXMuX2NvbnRhaW5lcilicmVhaztzPXMucGFyZW50Tm9kZX1yZXR1cm4gbi5sZW5ndGh8fHJ8fG98fCFWaShzLHQpfHwobj1bdGhpc10pLG59LF9oYW5kbGVET01FdmVudDpmdW5jdGlvbih0KXt2YXIgaTt0aGlzLl9sb2FkZWQmJiFVaSh0KSYmKCJtb3VzZWRvd24iIT09KGk9dC50eXBlKSYmImtleXByZXNzIiE9PWkmJiJrZXl1cCIhPT1pJiYia2V5ZG93biIhPT1pfHxQaSh0LnRhcmdldHx8dC5zcmNFbGVtZW50KSx0aGlzLl9maXJlRE9NRXZlbnQodCxpKSl9LF9tb3VzZUV2ZW50czpbImNsaWNrIiwiZGJsY2xpY2siLCJtb3VzZW92ZXIiLCJtb3VzZW91dCIsImNvbnRleHRtZW51Il0sX2ZpcmVET01FdmVudDpmdW5jdGlvbih0LGksZSl7dmFyIG47aWYoImNsaWNrIj09PXQudHlwZSYmKChuPWgoe30sdCkpLnR5cGU9InByZWNsaWNrIix0aGlzLl9maXJlRE9NRXZlbnQobixuLnR5cGUsZSkpLCF0Ll9zdG9wcGVkJiYoZT0oZXx8W10pLmNvbmNhdCh0aGlzLl9maW5kRXZlbnRUYXJnZXRzKHQsaSkpKS5sZW5ndGgpe3ZhciBvPWVbMF07ImNvbnRleHRtZW51Ij09PWkmJm8ubGlzdGVucyhpLCEwKSYmUmkodCk7dmFyIHMscj17b3JpZ2luYWxFdmVudDp0fTsia2V5cHJlc3MiIT09dC50eXBlJiYia2V5ZG93biIhPT10LnR5cGUmJiJrZXl1cCIhPT10LnR5cGUmJihzPW8uZ2V0TGF0TG5nJiYoIW8uX3JhZGl1c3x8by5fcmFkaXVzPD0xMCksci5jb250YWluZXJQb2ludD1zP3RoaXMubGF0TG5nVG9Db250YWluZXJQb2ludChvLmdldExhdExuZygpKTp0aGlzLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQpLHIubGF5ZXJQb2ludD10aGlzLmNvbnRhaW5lclBvaW50VG9MYXllclBvaW50KHIuY29udGFpbmVyUG9pbnQpLHIubGF0bG5nPXM/by5nZXRMYXRMbmcoKTp0aGlzLmxheWVyUG9pbnRUb0xhdExuZyhyLmxheWVyUG9pbnQpKTtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErKylpZihlW2FdLmZpcmUoaSxyLCEwKSxyLm9yaWdpbmFsRXZlbnQuX3N0b3BwZWR8fCExPT09ZVthXS5vcHRpb25zLmJ1YmJsaW5nTW91c2VFdmVudHMmJi0xIT09dih0aGlzLl9tb3VzZUV2ZW50cyxpKSlyZXR1cm59fSxfZHJhZ2dhYmxlTW92ZWQ6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9dC5kcmFnZ2luZyYmdC5kcmFnZ2luZy5lbmFibGVkKCk/dDp0aGlzKS5kcmFnZ2luZyYmdC5kcmFnZ2luZy5tb3ZlZCgpfHx0aGlzLmJveFpvb20mJnRoaXMuYm94Wm9vbS5tb3ZlZCgpfSxfY2xlYXJIYW5kbGVyczpmdW5jdGlvbigpe2Zvcih2YXIgdD0wLGk9dGhpcy5faGFuZGxlcnMubGVuZ3RoO3Q8aTt0KyspdGhpcy5faGFuZGxlcnNbdF0uZGlzYWJsZSgpfSx3aGVuUmVhZHk6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5fbG9hZGVkP3QuY2FsbChpfHx0aGlzLHt0YXJnZXQ6dGhpc30pOnRoaXMub24oImxvYWQiLHQsaSksdGhpc30sX2dldE1hcFBhbmVQb3M6ZnVuY3Rpb24oKXtyZXR1cm4geWkodGhpcy5fbWFwUGFuZSl8fG5ldyBrKDAsMCl9LF9tb3ZlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE1hcFBhbmVQb3MoKTtyZXR1cm4gdCYmIXQuZXF1YWxzKFswLDBdKX0sX2dldFRvcExlZnRQb2ludDpmdW5jdGlvbih0LGkpe3JldHVybih0JiZ2b2lkIDAhPT1pP3RoaXMuX2dldE5ld1BpeGVsT3JpZ2luKHQsaSk6dGhpcy5nZXRQaXhlbE9yaWdpbigpKS5zdWJ0cmFjdCh0aGlzLl9nZXRNYXBQYW5lUG9zKCkpfSxfZ2V0TmV3UGl4ZWxPcmlnaW46ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLmdldFNpemUoKS5fZGl2aWRlQnkoMik7cmV0dXJuIHRoaXMucHJvamVjdCh0LGkpLl9zdWJ0cmFjdChlKS5fYWRkKHRoaXMuX2dldE1hcFBhbmVQb3MoKSkuX3JvdW5kKCl9LF9sYXRMbmdUb05ld0xheWVyUG9pbnQ6ZnVuY3Rpb24odCxpLGUpe3ZhciBuPXRoaXMuX2dldE5ld1BpeGVsT3JpZ2luKGUsaSk7cmV0dXJuIHRoaXMucHJvamVjdCh0LGkpLl9zdWJ0cmFjdChuKX0sX2xhdExuZ0JvdW5kc1RvTmV3TGF5ZXJCb3VuZHM6ZnVuY3Rpb24odCxpLGUpe3ZhciBuPXRoaXMuX2dldE5ld1BpeGVsT3JpZ2luKGUsaSk7cmV0dXJuIE8oW3RoaXMucHJvamVjdCh0LmdldFNvdXRoV2VzdCgpLGkpLl9zdWJ0cmFjdChuKSx0aGlzLnByb2plY3QodC5nZXROb3J0aFdlc3QoKSxpKS5fc3VidHJhY3QobiksdGhpcy5wcm9qZWN0KHQuZ2V0U291dGhFYXN0KCksaSkuX3N1YnRyYWN0KG4pLHRoaXMucHJvamVjdCh0LmdldE5vcnRoRWFzdCgpLGkpLl9zdWJ0cmFjdChuKV0pfSxfZ2V0Q2VudGVyTGF5ZXJQb2ludDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRhaW5lclBvaW50VG9MYXllclBvaW50KHRoaXMuZ2V0U2l6ZSgpLl9kaXZpZGVCeSgyKSl9LF9nZXRDZW50ZXJPZmZzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGF0TG5nVG9MYXllclBvaW50KHQpLnN1YnRyYWN0KHRoaXMuX2dldENlbnRlckxheWVyUG9pbnQoKSl9LF9saW1pdENlbnRlcjpmdW5jdGlvbih0LGksZSl7aWYoIWUpcmV0dXJuIHQ7dmFyIG49dGhpcy5wcm9qZWN0KHQsaSksbz10aGlzLmdldFNpemUoKS5kaXZpZGVCeSgyKSxzPW5ldyBJKG4uc3VidHJhY3Qobyksbi5hZGQobykpLHI9dGhpcy5fZ2V0Qm91bmRzT2Zmc2V0KHMsZSxpKTtyZXR1cm4gci5yb3VuZCgpLmVxdWFscyhbMCwwXSk/dDp0aGlzLnVucHJvamVjdChuLmFkZChyKSxpKX0sX2xpbWl0T2Zmc2V0OmZ1bmN0aW9uKHQsaSl7aWYoIWkpcmV0dXJuIHQ7dmFyIGU9dGhpcy5nZXRQaXhlbEJvdW5kcygpLG49bmV3IEkoZS5taW4uYWRkKHQpLGUubWF4LmFkZCh0KSk7cmV0dXJuIHQuYWRkKHRoaXMuX2dldEJvdW5kc09mZnNldChuLGkpKX0sX2dldEJvdW5kc09mZnNldDpmdW5jdGlvbih0LGksZSl7dmFyIG49Tyh0aGlzLnByb2plY3QoaS5nZXROb3J0aEVhc3QoKSxlKSx0aGlzLnByb2plY3QoaS5nZXRTb3V0aFdlc3QoKSxlKSksbz1uLm1pbi5zdWJ0cmFjdCh0Lm1pbikscz1uLm1heC5zdWJ0cmFjdCh0Lm1heCk7cmV0dXJuIG5ldyBrKHRoaXMuX3JlYm91bmQoby54LC1zLngpLHRoaXMuX3JlYm91bmQoby55LC1zLnkpKX0sX3JlYm91bmQ6ZnVuY3Rpb24odCxpKXtyZXR1cm4gMDx0K2k/TWF0aC5yb3VuZCh0LWkpLzI6TWF0aC5tYXgoMCxNYXRoLmNlaWwodCkpLU1hdGgubWF4KDAsTWF0aC5mbG9vcihpKSl9LF9saW1pdFpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5nZXRNaW5ab29tKCksZT10aGlzLmdldE1heFpvb20oKSxuPXZ0P3RoaXMub3B0aW9ucy56b29tU25hcDoxO3JldHVybiBuJiYodD1NYXRoLnJvdW5kKHQvbikqbiksTWF0aC5tYXgoaSxNYXRoLm1pbihlLHQpKX0sX29uUGFuVHJhbnNpdGlvblN0ZXA6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoIm1vdmUiKX0sX29uUGFuVHJhbnNpdGlvbkVuZDpmdW5jdGlvbigpe19pKHRoaXMuX21hcFBhbmUsImxlYWZsZXQtcGFuLWFuaW0iKSx0aGlzLmZpcmUoIm1vdmVlbmQiKX0sX3RyeUFuaW1hdGVkUGFuOmZ1bmN0aW9uKHQsaSl7dmFyIGU9dGhpcy5fZ2V0Q2VudGVyT2Zmc2V0KHQpLl90cnVuYygpO3JldHVybiEoITAhPT0oaSYmaS5hbmltYXRlKSYmIXRoaXMuZ2V0U2l6ZSgpLmNvbnRhaW5zKGUpKSYmKHRoaXMucGFuQnkoZSxpKSwhMCl9LF9jcmVhdGVBbmltUHJveHk6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcm94eT1zaSgiZGl2IiwibGVhZmxldC1wcm94eSBsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKTt0aGlzLl9wYW5lcy5tYXBQYW5lLmFwcGVuZENoaWxkKHQpLHRoaXMub24oInpvb21hbmltIixmdW5jdGlvbih0KXt2YXIgaT10aSxlPXRoaXMuX3Byb3h5LnN0eWxlW2ldO2dpKHRoaXMuX3Byb3h5LHRoaXMucHJvamVjdCh0LmNlbnRlcix0Lnpvb20pLHRoaXMuZ2V0Wm9vbVNjYWxlKHQuem9vbSwxKSksZT09PXRoaXMuX3Byb3h5LnN0eWxlW2ldJiZ0aGlzLl9hbmltYXRpbmdab29tJiZ0aGlzLl9vblpvb21UcmFuc2l0aW9uRW5kKCl9LHRoaXMpLHRoaXMub24oImxvYWQgbW92ZWVuZCIsdGhpcy5fYW5pbU1vdmVFbmQsdGhpcyksdGhpcy5fb24oInVubG9hZCIsdGhpcy5fZGVzdHJveUFuaW1Qcm94eSx0aGlzKX0sX2Rlc3Ryb3lBbmltUHJveHk6ZnVuY3Rpb24oKXtyaSh0aGlzLl9wcm94eSksdGhpcy5vZmYoImxvYWQgbW92ZWVuZCIsdGhpcy5fYW5pbU1vdmVFbmQsdGhpcyksZGVsZXRlIHRoaXMuX3Byb3h5fSxfYW5pbU1vdmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldENlbnRlcigpLGk9dGhpcy5nZXRab29tKCk7Z2kodGhpcy5fcHJveHksdGhpcy5wcm9qZWN0KHQsaSksdGhpcy5nZXRab29tU2NhbGUoaSwxKSl9LF9jYXRjaFRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24odCl7dGhpcy5fYW5pbWF0aW5nWm9vbSYmMDw9dC5wcm9wZXJ0eU5hbWUuaW5kZXhPZigidHJhbnNmb3JtIikmJnRoaXMuX29uWm9vbVRyYW5zaXRpb25FbmQoKX0sX25vdGhpbmdUb0FuaW1hdGU6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5fY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImxlYWZsZXQtem9vbS1hbmltYXRlZCIpLmxlbmd0aH0sX3RyeUFuaW1hdGVkWm9vbTpmdW5jdGlvbih0LGksZSl7aWYodGhpcy5fYW5pbWF0aW5nWm9vbSlyZXR1cm4hMDtpZihlPWV8fHt9LCF0aGlzLl96b29tQW5pbWF0ZWR8fCExPT09ZS5hbmltYXRlfHx0aGlzLl9ub3RoaW5nVG9BbmltYXRlKCl8fE1hdGguYWJzKGktdGhpcy5fem9vbSk+dGhpcy5vcHRpb25zLnpvb21BbmltYXRpb25UaHJlc2hvbGQpcmV0dXJuITE7dmFyIG49dGhpcy5nZXRab29tU2NhbGUoaSksbz10aGlzLl9nZXRDZW50ZXJPZmZzZXQodCkuX2RpdmlkZUJ5KDEtMS9uKTtyZXR1cm4hKCEwIT09ZS5hbmltYXRlJiYhdGhpcy5nZXRTaXplKCkuY29udGFpbnMobykpJiYoTShmdW5jdGlvbigpe3RoaXMuX21vdmVTdGFydCghMCwhMSkuX2FuaW1hdGVab29tKHQsaSwhMCl9LHRoaXMpLCEwKX0sX2FuaW1hdGVab29tOmZ1bmN0aW9uKHQsaSxlLG4pe3RoaXMuX21hcFBhbmUmJihlJiYodGhpcy5fYW5pbWF0aW5nWm9vbT0hMCx0aGlzLl9hbmltYXRlVG9DZW50ZXI9dCx0aGlzLl9hbmltYXRlVG9ab29tPWksY2kodGhpcy5fbWFwUGFuZSwibGVhZmxldC16b29tLWFuaW0iKSksdGhpcy5maXJlKCJ6b29tYW5pbSIse2NlbnRlcjp0LHpvb206aSxub1VwZGF0ZTpufSksc2V0VGltZW91dChwKHRoaXMuX29uWm9vbVRyYW5zaXRpb25FbmQsdGhpcyksMjUwKSl9LF9vblpvb21UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW5nWm9vbSYmKHRoaXMuX21hcFBhbmUmJl9pKHRoaXMuX21hcFBhbmUsImxlYWZsZXQtem9vbS1hbmltIiksdGhpcy5fYW5pbWF0aW5nWm9vbT0hMSx0aGlzLl9tb3ZlKHRoaXMuX2FuaW1hdGVUb0NlbnRlcix0aGlzLl9hbmltYXRlVG9ab29tKSxNKGZ1bmN0aW9uKCl7dGhpcy5fbW92ZUVuZCghMCl9LHRoaXMpKX19KTtmdW5jdGlvbiBZaSh0KXtyZXR1cm4gbmV3IFhpKHQpfXZhciBYaT1TLmV4dGVuZCh7b3B0aW9uczp7cG9zaXRpb246InRvcHJpZ2h0In0saW5pdGlhbGl6ZTpmdW5jdGlvbih0KXtjKHRoaXMsdCl9LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wb3NpdGlvbn0sc2V0UG9zaXRpb246ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwO3JldHVybiBpJiZpLnJlbW92ZUNvbnRyb2wodGhpcyksdGhpcy5vcHRpb25zLnBvc2l0aW9uPXQsaSYmaS5hZGRDb250cm9sKHRoaXMpLHRoaXN9LGdldENvbnRhaW5lcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9LGFkZFRvOmZ1bmN0aW9uKHQpe3RoaXMucmVtb3ZlKCksdGhpcy5fbWFwPXQ7dmFyIGk9dGhpcy5fY29udGFpbmVyPXRoaXMub25BZGQodCksZT10aGlzLmdldFBvc2l0aW9uKCksbj10Ll9jb250cm9sQ29ybmVyc1tlXTtyZXR1cm4gY2koaSwibGVhZmxldC1jb250cm9sIiksLTEhPT1lLmluZGV4T2YoImJvdHRvbSIpP24uaW5zZXJ0QmVmb3JlKGksbi5maXJzdENoaWxkKTpuLmFwcGVuZENoaWxkKGkpLHRoaXMuX21hcC5vbigidW5sb2FkIix0aGlzLnJlbW92ZSx0aGlzKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYocmkodGhpcy5fY29udGFpbmVyKSx0aGlzLm9uUmVtb3ZlJiZ0aGlzLm9uUmVtb3ZlKHRoaXMuX21hcCksdGhpcy5fbWFwLm9mZigidW5sb2FkIix0aGlzLnJlbW92ZSx0aGlzKSx0aGlzLl9tYXA9bnVsbCksdGhpc30sX3JlZm9jdXNPbk1hcDpmdW5jdGlvbih0KXt0aGlzLl9tYXAmJnQmJjA8dC5zY3JlZW5YJiYwPHQuc2NyZWVuWSYmdGhpcy5fbWFwLmdldENvbnRhaW5lcigpLmZvY3VzKCl9fSk7S2kuaW5jbHVkZSh7YWRkQ29udHJvbDpmdW5jdGlvbih0KXtyZXR1cm4gdC5hZGRUbyh0aGlzKSx0aGlzfSxyZW1vdmVDb250cm9sOmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbW92ZSgpLHRoaXN9LF9pbml0Q29udHJvbFBvczpmdW5jdGlvbigpe3ZhciBuPXRoaXMuX2NvbnRyb2xDb3JuZXJzPXt9LG89ImxlYWZsZXQtIixzPXRoaXMuX2NvbnRyb2xDb250YWluZXI9c2koImRpdiIsbysiY29udHJvbC1jb250YWluZXIiLHRoaXMuX2NvbnRhaW5lcik7ZnVuY3Rpb24gdCh0LGkpe3ZhciBlPW8rdCsiICIrbytpO25bdCtpXT1zaSgiZGl2IixlLHMpfXQoInRvcCIsImxlZnQiKSx0KCJ0b3AiLCJyaWdodCIpLHQoImJvdHRvbSIsImxlZnQiKSx0KCJib3R0b20iLCJyaWdodCIpfSxfY2xlYXJDb250cm9sUG9zOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2NvbnRyb2xDb3JuZXJzKXJpKHRoaXMuX2NvbnRyb2xDb3JuZXJzW3RdKTtyaSh0aGlzLl9jb250cm9sQ29udGFpbmVyKSxkZWxldGUgdGhpcy5fY29udHJvbENvcm5lcnMsZGVsZXRlIHRoaXMuX2NvbnRyb2xDb250YWluZXJ9fSk7dmFyIEppPVhpLmV4dGVuZCh7b3B0aW9uczp7Y29sbGFwc2VkOiEwLHBvc2l0aW9uOiJ0b3ByaWdodCIsYXV0b1pJbmRleDohMCxoaWRlU2luZ2xlQmFzZTohMSxzb3J0TGF5ZXJzOiExLHNvcnRGdW5jdGlvbjpmdW5jdGlvbih0LGksZSxuKXtyZXR1cm4gZTxuPy0xOm48ZT8xOjB9fSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSxlKXtmb3IodmFyIG4gaW4gYyh0aGlzLGUpLHRoaXMuX2xheWVyQ29udHJvbElucHV0cz1bXSx0aGlzLl9sYXllcnM9W10sdGhpcy5fbGFzdFpJbmRleD0wLHRoaXMuX2hhbmRsaW5nQ2xpY2s9ITEsdCl0aGlzLl9hZGRMYXllcih0W25dLG4pO2ZvcihuIGluIGkpdGhpcy5fYWRkTGF5ZXIoaVtuXSxuLCEwKX0sb25BZGQ6ZnVuY3Rpb24odCl7dGhpcy5faW5pdExheW91dCgpLHRoaXMuX3VwZGF0ZSgpLCh0aGlzLl9tYXA9dCkub24oInpvb21lbmQiLHRoaXMuX2NoZWNrRGlzYWJsZWRMYXllcnMsdGhpcyk7Zm9yKHZhciBpPTA7aTx0aGlzLl9sYXllcnMubGVuZ3RoO2krKyl0aGlzLl9sYXllcnNbaV0ubGF5ZXIub24oImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyk7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sYWRkVG86ZnVuY3Rpb24odCl7cmV0dXJuIFhpLnByb3RvdHlwZS5hZGRUby5jYWxsKHRoaXMsdCksdGhpcy5fZXhwYW5kSWZOb3RDb2xsYXBzZWQoKX0sb25SZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAub2ZmKCJ6b29tZW5kIix0aGlzLl9jaGVja0Rpc2FibGVkTGF5ZXJzLHRoaXMpO2Zvcih2YXIgdD0wO3Q8dGhpcy5fbGF5ZXJzLmxlbmd0aDt0KyspdGhpcy5fbGF5ZXJzW3RdLmxheWVyLm9mZigiYWRkIHJlbW92ZSIsdGhpcy5fb25MYXllckNoYW5nZSx0aGlzKX0sYWRkQmFzZUxheWVyOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMuX2FkZExheWVyKHQsaSksdGhpcy5fbWFwP3RoaXMuX3VwZGF0ZSgpOnRoaXN9LGFkZE92ZXJsYXk6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5fYWRkTGF5ZXIodCxpLCEwKSx0aGlzLl9tYXA/dGhpcy5fdXBkYXRlKCk6dGhpc30scmVtb3ZlTGF5ZXI6ZnVuY3Rpb24odCl7dC5vZmYoImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyk7dmFyIGk9dGhpcy5fZ2V0TGF5ZXIobSh0KSk7cmV0dXJuIGkmJnRoaXMuX2xheWVycy5zcGxpY2UodGhpcy5fbGF5ZXJzLmluZGV4T2YoaSksMSksdGhpcy5fbWFwP3RoaXMuX3VwZGF0ZSgpOnRoaXN9LGV4cGFuZDpmdW5jdGlvbigpe2NpKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCIpLHRoaXMuX3NlY3Rpb24uc3R5bGUuaGVpZ2h0PW51bGw7dmFyIHQ9dGhpcy5fbWFwLmdldFNpemUoKS55LSh0aGlzLl9jb250YWluZXIub2Zmc2V0VG9wKzUwKTtyZXR1cm4gdDx0aGlzLl9zZWN0aW9uLmNsaWVudEhlaWdodD8oY2kodGhpcy5fc2VjdGlvbiwibGVhZmxldC1jb250cm9sLWxheWVycy1zY3JvbGxiYXIiKSx0aGlzLl9zZWN0aW9uLnN0eWxlLmhlaWdodD10KyJweCIpOl9pKHRoaXMuX3NlY3Rpb24sImxlYWZsZXQtY29udHJvbC1sYXllcnMtc2Nyb2xsYmFyIiksdGhpcy5fY2hlY2tEaXNhYmxlZExheWVycygpLHRoaXN9LGNvbGxhcHNlOmZ1bmN0aW9uKCl7cmV0dXJuIF9pKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1jb250cm9sLWxheWVycy1leHBhbmRlZCIpLHRoaXN9LF9pbml0TGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9ImxlYWZsZXQtY29udHJvbC1sYXllcnMiLGk9dGhpcy5fY29udGFpbmVyPXNpKCJkaXYiLHQpLGU9dGhpcy5vcHRpb25zLmNvbGxhcHNlZDtpLnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsITApLE9pKGkpLElpKGkpO3ZhciBuPXRoaXMuX3NlY3Rpb249c2koInNlY3Rpb24iLHQrIi1saXN0Iik7ZSYmKHRoaXMuX21hcC5vbigiY2xpY2siLHRoaXMuY29sbGFwc2UsdGhpcyksb3R8fHppKGkse21vdXNlZW50ZXI6dGhpcy5leHBhbmQsbW91c2VsZWF2ZTp0aGlzLmNvbGxhcHNlfSx0aGlzKSk7dmFyIG89dGhpcy5fbGF5ZXJzTGluaz1zaSgiYSIsdCsiLXRvZ2dsZSIsaSk7by5ocmVmPSIjIixvLnRpdGxlPSJMYXllcnMiLGJ0Pyh6aShvLCJjbGljayIsTmkpLHppKG8sImNsaWNrIix0aGlzLmV4cGFuZCx0aGlzKSk6emkobywiZm9jdXMiLHRoaXMuZXhwYW5kLHRoaXMpLGV8fHRoaXMuZXhwYW5kKCksdGhpcy5fYmFzZUxheWVyc0xpc3Q9c2koImRpdiIsdCsiLWJhc2UiLG4pLHRoaXMuX3NlcGFyYXRvcj1zaSgiZGl2Iix0KyItc2VwYXJhdG9yIixuKSx0aGlzLl9vdmVybGF5c0xpc3Q9c2koImRpdiIsdCsiLW92ZXJsYXlzIixuKSxpLmFwcGVuZENoaWxkKG4pfSxfZ2V0TGF5ZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBpPTA7aTx0aGlzLl9sYXllcnMubGVuZ3RoO2krKylpZih0aGlzLl9sYXllcnNbaV0mJm0odGhpcy5fbGF5ZXJzW2ldLmxheWVyKT09PXQpcmV0dXJuIHRoaXMuX2xheWVyc1tpXX0sX2FkZExheWVyOmZ1bmN0aW9uKHQsaSxlKXt0aGlzLl9tYXAmJnQub24oImFkZCByZW1vdmUiLHRoaXMuX29uTGF5ZXJDaGFuZ2UsdGhpcyksdGhpcy5fbGF5ZXJzLnB1c2goe2xheWVyOnQsbmFtZTppLG92ZXJsYXk6ZX0pLHRoaXMub3B0aW9ucy5zb3J0TGF5ZXJzJiZ0aGlzLl9sYXllcnMuc29ydChwKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIHRoaXMub3B0aW9ucy5zb3J0RnVuY3Rpb24odC5sYXllcixpLmxheWVyLHQubmFtZSxpLm5hbWUpfSx0aGlzKSksdGhpcy5vcHRpb25zLmF1dG9aSW5kZXgmJnQuc2V0WkluZGV4JiYodGhpcy5fbGFzdFpJbmRleCsrLHQuc2V0WkluZGV4KHRoaXMuX2xhc3RaSW5kZXgpKSx0aGlzLl9leHBhbmRJZk5vdENvbGxhcHNlZCgpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX2NvbnRhaW5lcilyZXR1cm4gdGhpczthaSh0aGlzLl9iYXNlTGF5ZXJzTGlzdCksYWkodGhpcy5fb3ZlcmxheXNMaXN0KSx0aGlzLl9sYXllckNvbnRyb2xJbnB1dHM9W107Zm9yKHZhciB0LGksZSxuPTAsbz0wO288dGhpcy5fbGF5ZXJzLmxlbmd0aDtvKyspZT10aGlzLl9sYXllcnNbb10sdGhpcy5fYWRkSXRlbShlKSxpPWl8fGUub3ZlcmxheSx0PXR8fCFlLm92ZXJsYXksbis9ZS5vdmVybGF5PzA6MTtyZXR1cm4gdGhpcy5vcHRpb25zLmhpZGVTaW5nbGVCYXNlJiYodD10JiYxPG4sdGhpcy5fYmFzZUxheWVyc0xpc3Quc3R5bGUuZGlzcGxheT10PyIiOiJub25lIiksdGhpcy5fc2VwYXJhdG9yLnN0eWxlLmRpc3BsYXk9aSYmdD8iIjoibm9uZSIsdGhpc30sX29uTGF5ZXJDaGFuZ2U6ZnVuY3Rpb24odCl7dGhpcy5faGFuZGxpbmdDbGlja3x8dGhpcy5fdXBkYXRlKCk7dmFyIGk9dGhpcy5fZ2V0TGF5ZXIobSh0LnRhcmdldCkpLGU9aS5vdmVybGF5PyJhZGQiPT09dC50eXBlPyJvdmVybGF5YWRkIjoib3ZlcmxheXJlbW92ZSI6ImFkZCI9PT10LnR5cGU/ImJhc2VsYXllcmNoYW5nZSI6bnVsbDtlJiZ0aGlzLl9tYXAuZmlyZShlLGkpfSxfY3JlYXRlUmFkaW9FbGVtZW50OmZ1bmN0aW9uKHQsaSl7dmFyIGU9JzxpbnB1dCB0eXBlPSJyYWRpbyIgY2xhc3M9ImxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3IiIG5hbWU9IicrdCsnIicrKGk/JyBjaGVja2VkPSJjaGVja2VkIic6IiIpKyIvPiIsbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gbi5pbm5lckhUTUw9ZSxuLmZpcnN0Q2hpbGR9LF9hZGRJdGVtOmZ1bmN0aW9uKHQpe3ZhciBpLGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKSxuPXRoaXMuX21hcC5oYXNMYXllcih0LmxheWVyKTt0Lm92ZXJsYXk/KChpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnR5cGU9ImNoZWNrYm94IixpLmNsYXNzTmFtZT0ibGVhZmxldC1jb250cm9sLWxheWVycy1zZWxlY3RvciIsaS5kZWZhdWx0Q2hlY2tlZD1uKTppPXRoaXMuX2NyZWF0ZVJhZGlvRWxlbWVudCgibGVhZmxldC1iYXNlLWxheWVyc18iK20odGhpcyksbiksdGhpcy5fbGF5ZXJDb250cm9sSW5wdXRzLnB1c2goaSksaS5sYXllcklkPW0odC5sYXllciksemkoaSwiY2xpY2siLHRoaXMuX29uSW5wdXRDbGljayx0aGlzKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7by5pbm5lckhUTUw9IiAiK3QubmFtZTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZChzKSxzLmFwcGVuZENoaWxkKGkpLHMuYXBwZW5kQ2hpbGQobyksKHQub3ZlcmxheT90aGlzLl9vdmVybGF5c0xpc3Q6dGhpcy5fYmFzZUxheWVyc0xpc3QpLmFwcGVuZENoaWxkKGUpLHRoaXMuX2NoZWNrRGlzYWJsZWRMYXllcnMoKSxlfSxfb25JbnB1dENsaWNrOmZ1bmN0aW9uKCl7dmFyIHQsaSxlPXRoaXMuX2xheWVyQ29udHJvbElucHV0cyxuPVtdLG89W107dGhpcy5faGFuZGxpbmdDbGljaz0hMDtmb3IodmFyIHM9ZS5sZW5ndGgtMTswPD1zO3MtLSl0PWVbc10saT10aGlzLl9nZXRMYXllcih0LmxheWVySWQpLmxheWVyLHQuY2hlY2tlZD9uLnB1c2goaSk6dC5jaGVja2VkfHxvLnB1c2goaSk7Zm9yKHM9MDtzPG8ubGVuZ3RoO3MrKyl0aGlzLl9tYXAuaGFzTGF5ZXIob1tzXSkmJnRoaXMuX21hcC5yZW1vdmVMYXllcihvW3NdKTtmb3Iocz0wO3M8bi5sZW5ndGg7cysrKXRoaXMuX21hcC5oYXNMYXllcihuW3NdKXx8dGhpcy5fbWFwLmFkZExheWVyKG5bc10pO3RoaXMuX2hhbmRsaW5nQ2xpY2s9ITEsdGhpcy5fcmVmb2N1c09uTWFwKCl9LF9jaGVja0Rpc2FibGVkTGF5ZXJzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0LGksZT10aGlzLl9sYXllckNvbnRyb2xJbnB1dHMsbj10aGlzLl9tYXAuZ2V0Wm9vbSgpLG89ZS5sZW5ndGgtMTswPD1vO28tLSl0PWVbb10saT10aGlzLl9nZXRMYXllcih0LmxheWVySWQpLmxheWVyLHQuZGlzYWJsZWQ9dm9pZCAwIT09aS5vcHRpb25zLm1pblpvb20mJm48aS5vcHRpb25zLm1pblpvb218fHZvaWQgMCE9PWkub3B0aW9ucy5tYXhab29tJiZuPmkub3B0aW9ucy5tYXhab29tfSxfZXhwYW5kSWZOb3RDb2xsYXBzZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYhdGhpcy5vcHRpb25zLmNvbGxhcHNlZCYmdGhpcy5leHBhbmQoKSx0aGlzfSxfZXhwYW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXhwYW5kKCl9LF9jb2xsYXBzZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbGxhcHNlKCl9fSksJGk9WGkuZXh0ZW5kKHtvcHRpb25zOntwb3NpdGlvbjoidG9wbGVmdCIsem9vbUluVGV4dDoiKyIsem9vbUluVGl0bGU6Ilpvb20gaW4iLHpvb21PdXRUZXh0OiImI3gyMjEyOyIsem9vbU91dFRpdGxlOiJab29tIG91dCJ9LG9uQWRkOmZ1bmN0aW9uKHQpe3ZhciBpPSJsZWFmbGV0LWNvbnRyb2wtem9vbSIsZT1zaSgiZGl2IixpKyIgbGVhZmxldC1iYXIiKSxuPXRoaXMub3B0aW9ucztyZXR1cm4gdGhpcy5fem9vbUluQnV0dG9uPXRoaXMuX2NyZWF0ZUJ1dHRvbihuLnpvb21JblRleHQsbi56b29tSW5UaXRsZSxpKyItaW4iLGUsdGhpcy5fem9vbUluKSx0aGlzLl96b29tT3V0QnV0dG9uPXRoaXMuX2NyZWF0ZUJ1dHRvbihuLnpvb21PdXRUZXh0LG4uem9vbU91dFRpdGxlLGkrIi1vdXQiLGUsdGhpcy5fem9vbU91dCksdGhpcy5fdXBkYXRlRGlzYWJsZWQoKSx0Lm9uKCJ6b29tZW5kIHpvb21sZXZlbHNjaGFuZ2UiLHRoaXMuX3VwZGF0ZURpc2FibGVkLHRoaXMpLGV9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe3Qub2ZmKCJ6b29tZW5kIHpvb21sZXZlbHNjaGFuZ2UiLHRoaXMuX3VwZGF0ZURpc2FibGVkLHRoaXMpfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkPSEwLHRoaXMuX3VwZGF0ZURpc2FibGVkKCksdGhpc30sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX3VwZGF0ZURpc2FibGVkKCksdGhpc30sX3pvb21JbjpmdW5jdGlvbih0KXshdGhpcy5fZGlzYWJsZWQmJnRoaXMuX21hcC5fem9vbTx0aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpJiZ0aGlzLl9tYXAuem9vbUluKHRoaXMuX21hcC5vcHRpb25zLnpvb21EZWx0YSoodC5zaGlmdEtleT8zOjEpKX0sX3pvb21PdXQ6ZnVuY3Rpb24odCl7IXRoaXMuX2Rpc2FibGVkJiZ0aGlzLl9tYXAuX3pvb20+dGhpcy5fbWFwLmdldE1pblpvb20oKSYmdGhpcy5fbWFwLnpvb21PdXQodGhpcy5fbWFwLm9wdGlvbnMuem9vbURlbHRhKih0LnNoaWZ0S2V5PzM6MSkpfSxfY3JlYXRlQnV0dG9uOmZ1bmN0aW9uKHQsaSxlLG4sbyl7dmFyIHM9c2koImEiLGUsbik7cmV0dXJuIHMuaW5uZXJIVE1MPXQscy5ocmVmPSIjIixzLnRpdGxlPWkscy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJidXR0b24iKSxzLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsaSksT2kocyksemkocywiY2xpY2siLE5pKSx6aShzLCJjbGljayIsbyx0aGlzKSx6aShzLCJjbGljayIsdGhpcy5fcmVmb2N1c09uTWFwLHRoaXMpLHN9LF91cGRhdGVEaXNhYmxlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxpPSJsZWFmbGV0LWRpc2FibGVkIjtfaSh0aGlzLl96b29tSW5CdXR0b24saSksX2kodGhpcy5fem9vbU91dEJ1dHRvbixpKSwhdGhpcy5fZGlzYWJsZWQmJnQuX3pvb20hPT10LmdldE1pblpvb20oKXx8Y2kodGhpcy5fem9vbU91dEJ1dHRvbixpKSwhdGhpcy5fZGlzYWJsZWQmJnQuX3pvb20hPT10LmdldE1heFpvb20oKXx8Y2kodGhpcy5fem9vbUluQnV0dG9uLGkpfX0pO0tpLm1lcmdlT3B0aW9ucyh7em9vbUNvbnRyb2w6ITB9KSxLaS5hZGRJbml0SG9vayhmdW5jdGlvbigpe3RoaXMub3B0aW9ucy56b29tQ29udHJvbCYmKHRoaXMuem9vbUNvbnRyb2w9bmV3ICRpLHRoaXMuYWRkQ29udHJvbCh0aGlzLnpvb21Db250cm9sKSl9KTt2YXIgUWk9WGkuZXh0ZW5kKHtvcHRpb25zOntwb3NpdGlvbjoiYm90dG9tbGVmdCIsbWF4V2lkdGg6MTAwLG1ldHJpYzohMCxpbXBlcmlhbDohMH0sb25BZGQ6ZnVuY3Rpb24odCl7dmFyIGk9ImxlYWZsZXQtY29udHJvbC1zY2FsZSIsZT1zaSgiZGl2IixpKSxuPXRoaXMub3B0aW9ucztyZXR1cm4gdGhpcy5fYWRkU2NhbGVzKG4saSsiLWxpbmUiLGUpLHQub24obi51cGRhdGVXaGVuSWRsZT8ibW92ZWVuZCI6Im1vdmUiLHRoaXMuX3VwZGF0ZSx0aGlzKSx0LndoZW5SZWFkeSh0aGlzLl91cGRhdGUsdGhpcyksZX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7dC5vZmYodGhpcy5vcHRpb25zLnVwZGF0ZVdoZW5JZGxlPyJtb3ZlZW5kIjoibW92ZSIsdGhpcy5fdXBkYXRlLHRoaXMpfSxfYWRkU2NhbGVzOmZ1bmN0aW9uKHQsaSxlKXt0Lm1ldHJpYyYmKHRoaXMuX21TY2FsZT1zaSgiZGl2IixpLGUpKSx0LmltcGVyaWFsJiYodGhpcy5faVNjYWxlPXNpKCJkaXYiLGksZSkpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLGk9dC5nZXRTaXplKCkueS8yLGU9dC5kaXN0YW5jZSh0LmNvbnRhaW5lclBvaW50VG9MYXRMbmcoWzAsaV0pLHQuY29udGFpbmVyUG9pbnRUb0xhdExuZyhbdGhpcy5vcHRpb25zLm1heFdpZHRoLGldKSk7dGhpcy5fdXBkYXRlU2NhbGVzKGUpfSxfdXBkYXRlU2NhbGVzOmZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5tZXRyaWMmJnQmJnRoaXMuX3VwZGF0ZU1ldHJpYyh0KSx0aGlzLm9wdGlvbnMuaW1wZXJpYWwmJnQmJnRoaXMuX3VwZGF0ZUltcGVyaWFsKHQpfSxfdXBkYXRlTWV0cmljOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldFJvdW5kTnVtKHQpLGU9aTwxZTM/aSsiIG0iOmkvMWUzKyIga20iO3RoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX21TY2FsZSxlLGkvdCl9LF91cGRhdGVJbXBlcmlhbDpmdW5jdGlvbih0KXt2YXIgaSxlLG4sbz0zLjI4MDgzOTkqdDs1MjgwPG8/KGk9by81MjgwLGU9dGhpcy5fZ2V0Um91bmROdW0oaSksdGhpcy5fdXBkYXRlU2NhbGUodGhpcy5faVNjYWxlLGUrIiBtaSIsZS9pKSk6KG49dGhpcy5fZ2V0Um91bmROdW0obyksdGhpcy5fdXBkYXRlU2NhbGUodGhpcy5faVNjYWxlLG4rIiBmdCIsbi9vKSl9LF91cGRhdGVTY2FsZTpmdW5jdGlvbih0LGksZSl7dC5zdHlsZS53aWR0aD1NYXRoLnJvdW5kKHRoaXMub3B0aW9ucy5tYXhXaWR0aCplKSsicHgiLHQuaW5uZXJIVE1MPWl9LF9nZXRSb3VuZE51bTpmdW5jdGlvbih0KXt2YXIgaT1NYXRoLnBvdygxMCwoTWF0aC5mbG9vcih0KSsiIikubGVuZ3RoLTEpLGU9dC9pO3JldHVybiBpKihlPTEwPD1lPzEwOjU8PWU/NTozPD1lPzM6Mjw9ZT8yOjEpfX0pLHRlPVhpLmV4dGVuZCh7b3B0aW9uczp7cG9zaXRpb246ImJvdHRvbXJpZ2h0IixwcmVmaXg6JzxhIGhyZWY9Imh0dHBzOi8vbGVhZmxldGpzLmNvbSIgdGl0bGU9IkEgSlMgbGlicmFyeSBmb3IgaW50ZXJhY3RpdmUgbWFwcyI+TGVhZmxldDwvYT4nfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2ModGhpcyx0KSx0aGlzLl9hdHRyaWJ1dGlvbnM9e319LG9uQWRkOmZ1bmN0aW9uKHQpe2Zvcih2YXIgaSBpbih0LmF0dHJpYnV0aW9uQ29udHJvbD10aGlzKS5fY29udGFpbmVyPXNpKCJkaXYiLCJsZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24iKSxPaSh0aGlzLl9jb250YWluZXIpLHQuX2xheWVycyl0Ll9sYXllcnNbaV0uZ2V0QXR0cmlidXRpb24mJnRoaXMuYWRkQXR0cmlidXRpb24odC5fbGF5ZXJzW2ldLmdldEF0dHJpYnV0aW9uKCkpO3JldHVybiB0aGlzLl91cGRhdGUoKSx0aGlzLl9jb250YWluZXJ9LHNldFByZWZpeDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLnByZWZpeD10LHRoaXMuX3VwZGF0ZSgpLHRoaXN9LGFkZEF0dHJpYnV0aW9uOmZ1bmN0aW9uKHQpe3JldHVybiB0JiYodGhpcy5fYXR0cmlidXRpb25zW3RdfHwodGhpcy5fYXR0cmlidXRpb25zW3RdPTApLHRoaXMuX2F0dHJpYnV0aW9uc1t0XSsrLHRoaXMuX3VwZGF0ZSgpKSx0aGlzfSxyZW1vdmVBdHRyaWJ1dGlvbjpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdGhpcy5fYXR0cmlidXRpb25zW3RdJiYodGhpcy5fYXR0cmlidXRpb25zW3RdLS0sdGhpcy5fdXBkYXRlKCkpLHRoaXN9LF91cGRhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXApe3ZhciB0PVtdO2Zvcih2YXIgaSBpbiB0aGlzLl9hdHRyaWJ1dGlvbnMpdGhpcy5fYXR0cmlidXRpb25zW2ldJiZ0LnB1c2goaSk7dmFyIGU9W107dGhpcy5vcHRpb25zLnByZWZpeCYmZS5wdXNoKHRoaXMub3B0aW9ucy5wcmVmaXgpLHQubGVuZ3RoJiZlLnB1c2godC5qb2luKCIsICIpKSx0aGlzLl9jb250YWluZXIuaW5uZXJIVE1MPWUuam9pbigiIHwgIil9fX0pO0tpLm1lcmdlT3B0aW9ucyh7YXR0cmlidXRpb25Db250cm9sOiEwfSksS2kuYWRkSW5pdEhvb2soZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXR0cmlidXRpb25Db250cm9sJiYobmV3IHRlKS5hZGRUbyh0aGlzKX0pO1hpLkxheWVycz1KaSxYaS5ab29tPSRpLFhpLlNjYWxlPVFpLFhpLkF0dHJpYnV0aW9uPXRlLFlpLmxheWVycz1mdW5jdGlvbih0LGksZSl7cmV0dXJuIG5ldyBKaSh0LGksZSl9LFlpLnpvb209ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyAkaSh0KX0sWWkuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBRaSh0KX0sWWkuYXR0cmlidXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB0ZSh0KX07dmFyIGllPVMuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQpe3RoaXMuX21hcD10fSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW5hYmxlZHx8KHRoaXMuX2VuYWJsZWQ9ITAsdGhpcy5hZGRIb29rcygpKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VuYWJsZWQmJih0aGlzLl9lbmFibGVkPSExLHRoaXMucmVtb3ZlSG9va3MoKSksdGhpc30sZW5hYmxlZDpmdW5jdGlvbigpe3JldHVybiEhdGhpcy5fZW5hYmxlZH19KTtpZS5hZGRUbz1mdW5jdGlvbih0LGkpe3JldHVybiB0LmFkZEhhbmRsZXIoaSx0aGlzKSx0aGlzfTt2YXIgZWUsbmU9e0V2ZW50czpafSxvZT1idD8idG91Y2hzdGFydCBtb3VzZWRvd24iOiJtb3VzZWRvd24iLHNlPXttb3VzZWRvd246Im1vdXNldXAiLHRvdWNoc3RhcnQ6InRvdWNoZW5kIixwb2ludGVyZG93bjoidG91Y2hlbmQiLE1TUG9pbnRlckRvd246InRvdWNoZW5kIn0scmU9e21vdXNlZG93bjoibW91c2Vtb3ZlIix0b3VjaHN0YXJ0OiJ0b3VjaG1vdmUiLHBvaW50ZXJkb3duOiJ0b3VjaG1vdmUiLE1TUG9pbnRlckRvd246InRvdWNobW92ZSJ9LGFlPUUuZXh0ZW5kKHtvcHRpb25zOntjbGlja1RvbGVyYW5jZTozfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSxlLG4pe2ModGhpcyxuKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fZHJhZ1N0YXJ0VGFyZ2V0PWl8fHQsdGhpcy5fcHJldmVudE91dGxpbmU9ZX0sZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5fZW5hYmxlZHx8KHppKHRoaXMuX2RyYWdTdGFydFRhcmdldCxvZSx0aGlzLl9vbkRvd24sdGhpcyksdGhpcy5fZW5hYmxlZD0hMCl9LGRpc2FibGU6ZnVuY3Rpb24oKXt0aGlzLl9lbmFibGVkJiYoYWUuX2RyYWdnaW5nPT09dGhpcyYmdGhpcy5maW5pc2hEcmFnKCksU2kodGhpcy5fZHJhZ1N0YXJ0VGFyZ2V0LG9lLHRoaXMuX29uRG93bix0aGlzKSx0aGlzLl9lbmFibGVkPSExLHRoaXMuX21vdmVkPSExKX0sX29uRG93bjpmdW5jdGlvbih0KXt2YXIgaSxlOyF0Ll9zaW11bGF0ZWQmJnRoaXMuX2VuYWJsZWQmJih0aGlzLl9tb3ZlZD0hMSxsaSh0aGlzLl9lbGVtZW50LCJsZWFmbGV0LXpvb20tYW5pbSIpfHxhZS5fZHJhZ2dpbmd8fHQuc2hpZnRLZXl8fDEhPT10LndoaWNoJiYxIT09dC5idXR0b24mJiF0LnRvdWNoZXN8fCgoYWUuX2RyYWdnaW5nPXRoaXMpLl9wcmV2ZW50T3V0bGluZSYmUGkodGhpcy5fZWxlbWVudCkseGkoKSxYdCgpLHRoaXMuX21vdmluZ3x8KHRoaXMuZmlyZSgiZG93biIpLGk9dC50b3VjaGVzP3QudG91Y2hlc1swXTp0LGU9YmkodGhpcy5fZWxlbWVudCksdGhpcy5fc3RhcnRQb2ludD1uZXcgayhpLmNsaWVudFgsaS5jbGllbnRZKSx0aGlzLl9wYXJlbnRTY2FsZT1UaShlKSx6aShkb2N1bWVudCxyZVt0LnR5cGVdLHRoaXMuX29uTW92ZSx0aGlzKSx6aShkb2N1bWVudCxzZVt0LnR5cGVdLHRoaXMuX29uVXAsdGhpcykpKSl9LF9vbk1vdmU6ZnVuY3Rpb24odCl7dmFyIGksZTshdC5fc2ltdWxhdGVkJiZ0aGlzLl9lbmFibGVkJiYodC50b3VjaGVzJiYxPHQudG91Y2hlcy5sZW5ndGg/dGhpcy5fbW92ZWQ9ITA6KChlPW5ldyBrKChpPXQudG91Y2hlcyYmMT09PXQudG91Y2hlcy5sZW5ndGg/dC50b3VjaGVzWzBdOnQpLmNsaWVudFgsaS5jbGllbnRZKS5fc3VidHJhY3QodGhpcy5fc3RhcnRQb2ludCkpLnh8fGUueSkmJihNYXRoLmFicyhlLngpK01hdGguYWJzKGUueSk8dGhpcy5vcHRpb25zLmNsaWNrVG9sZXJhbmNlfHwoZS54Lz10aGlzLl9wYXJlbnRTY2FsZS54LGUueS89dGhpcy5fcGFyZW50U2NhbGUueSxSaSh0KSx0aGlzLl9tb3ZlZHx8KHRoaXMuZmlyZSgiZHJhZ3N0YXJ0IiksdGhpcy5fbW92ZWQ9ITAsdGhpcy5fc3RhcnRQb3M9eWkodGhpcy5fZWxlbWVudCkuc3VidHJhY3QoZSksY2koZG9jdW1lbnQuYm9keSwibGVhZmxldC1kcmFnZ2luZyIpLHRoaXMuX2xhc3RUYXJnZXQ9dC50YXJnZXR8fHQuc3JjRWxlbWVudCx3aW5kb3cuU1ZHRWxlbWVudEluc3RhbmNlJiZ0aGlzLl9sYXN0VGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LlNWR0VsZW1lbnRJbnN0YW5jZSYmKHRoaXMuX2xhc3RUYXJnZXQ9dGhpcy5fbGFzdFRhcmdldC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksY2kodGhpcy5fbGFzdFRhcmdldCwibGVhZmxldC1kcmFnLXRhcmdldCIpKSx0aGlzLl9uZXdQb3M9dGhpcy5fc3RhcnRQb3MuYWRkKGUpLHRoaXMuX21vdmluZz0hMCx6KHRoaXMuX2FuaW1SZXF1ZXN0KSx0aGlzLl9sYXN0RXZlbnQ9dCx0aGlzLl9hbmltUmVxdWVzdD1NKHRoaXMuX3VwZGF0ZVBvc2l0aW9uLHRoaXMsITApKSkpfSxfdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgdD17b3JpZ2luYWxFdmVudDp0aGlzLl9sYXN0RXZlbnR9O3RoaXMuZmlyZSgicHJlZHJhZyIsdCksdmkodGhpcy5fZWxlbWVudCx0aGlzLl9uZXdQb3MpLHRoaXMuZmlyZSgiZHJhZyIsdCl9LF9vblVwOmZ1bmN0aW9uKHQpeyF0Ll9zaW11bGF0ZWQmJnRoaXMuX2VuYWJsZWQmJnRoaXMuZmluaXNoRHJhZygpfSxmaW5pc2hEcmFnOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIF9pKGRvY3VtZW50LmJvZHksImxlYWZsZXQtZHJhZ2dpbmciKSx0aGlzLl9sYXN0VGFyZ2V0JiYoX2kodGhpcy5fbGFzdFRhcmdldCwibGVhZmxldC1kcmFnLXRhcmdldCIpLHRoaXMuX2xhc3RUYXJnZXQ9bnVsbCkscmUpU2koZG9jdW1lbnQscmVbdF0sdGhpcy5fb25Nb3ZlLHRoaXMpLFNpKGRvY3VtZW50LHNlW3RdLHRoaXMuX29uVXAsdGhpcyk7d2koKSxKdCgpLHRoaXMuX21vdmVkJiZ0aGlzLl9tb3ZpbmcmJih6KHRoaXMuX2FuaW1SZXF1ZXN0KSx0aGlzLmZpcmUoImRyYWdlbmQiLHtkaXN0YW5jZTp0aGlzLl9uZXdQb3MuZGlzdGFuY2VUbyh0aGlzLl9zdGFydFBvcyl9KSksdGhpcy5fbW92aW5nPSExLGFlLl9kcmFnZ2luZz0hMX19KTtmdW5jdGlvbiBoZSh0LGkpe2lmKCFpfHwhdC5sZW5ndGgpcmV0dXJuIHQuc2xpY2UoKTt2YXIgZT1pKmk7cmV0dXJuIHQ9ZnVuY3Rpb24odCxpKXt2YXIgZT10Lmxlbmd0aCxuPW5ldyh0eXBlb2YgVWludDhBcnJheSE9dm9pZCAwKyIiP1VpbnQ4QXJyYXk6QXJyYXkpKGUpO25bMF09bltlLTFdPTEsZnVuY3Rpb24gdChpLGUsbixvLHMpe3ZhciByLGEsaCx1PTA7Zm9yKGE9bysxO2E8PXMtMTthKyspaD1kZShpW2FdLGlbb10saVtzXSwhMCksdTxoJiYocj1hLHU9aCk7bjx1JiYoZVtyXT0xLHQoaSxlLG4sbyxyKSx0KGksZSxuLHIscykpfSh0LG4saSwwLGUtMSk7dmFyIG8scz1bXTtmb3Iobz0wO288ZTtvKyspbltvXSYmcy5wdXNoKHRbb10pO3JldHVybiBzfSh0PWZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBlPVt0WzBdXSxuPTEsbz0wLHM9dC5sZW5ndGg7bjxzO24rKykoZnVuY3Rpb24odCxpKXt2YXIgZT1pLngtdC54LG49aS55LXQueTtyZXR1cm4gZSplK24qbn0pKHRbbl0sdFtvXSk+aSYmKGUucHVzaCh0W25dKSxvPW4pO288cy0xJiZlLnB1c2godFtzLTFdKTtyZXR1cm4gZX0odCxlKSxlKX1mdW5jdGlvbiB1ZSh0LGksZSl7cmV0dXJuIE1hdGguc3FydChkZSh0LGksZSwhMCkpfWZ1bmN0aW9uIGxlKHQsaSxlLG4sbyl7dmFyIHMscixhLGg9bj9lZTpfZSh0LGUpLHU9X2UoaSxlKTtmb3IoZWU9dTs7KXtpZighKGh8dSkpcmV0dXJuW3QsaV07aWYoaCZ1KXJldHVybiExO2E9X2Uocj1jZSh0LGkscz1ofHx1LGUsbyksZSkscz09PWg/KHQ9cixoPWEpOihpPXIsdT1hKX19ZnVuY3Rpb24gY2UodCxpLGUsbixvKXt2YXIgcyxyLGE9aS54LXQueCxoPWkueS10LnksdT1uLm1pbixsPW4ubWF4O3JldHVybiA4JmU/KHM9dC54K2EqKGwueS10LnkpL2gscj1sLnkpOjQmZT8ocz10LngrYSoodS55LXQueSkvaCxyPXUueSk6MiZlPyhzPWwueCxyPXQueStoKihsLngtdC54KS9hKToxJmUmJihzPXUueCxyPXQueStoKih1LngtdC54KS9hKSxuZXcgayhzLHIsbyl9ZnVuY3Rpb24gX2UodCxpKXt2YXIgZT0wO3JldHVybiB0Lng8aS5taW4ueD9lfD0xOnQueD5pLm1heC54JiYoZXw9MiksdC55PGkubWluLnk/ZXw9NDp0Lnk+aS5tYXgueSYmKGV8PTgpLGV9ZnVuY3Rpb24gZGUodCxpLGUsbil7dmFyIG8scz1pLngscj1pLnksYT1lLngtcyxoPWUueS1yLHU9YSphK2gqaDtyZXR1cm4gMDx1JiYoMTwobz0oKHQueC1zKSphKyh0LnktcikqaCkvdSk/KHM9ZS54LHI9ZS55KTowPG8mJihzKz1hKm8scis9aCpvKSksYT10LngtcyxoPXQueS1yLG4/YSphK2gqaDpuZXcgayhzLHIpfWZ1bmN0aW9uIHBlKHQpe3JldHVybiFnKHRbMF0pfHwib2JqZWN0IiE9dHlwZW9mIHRbMF1bMF0mJnZvaWQgMCE9PXRbMF1bMF19ZnVuY3Rpb24gbWUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiRGVwcmVjYXRlZCB1c2Ugb2YgX2ZsYXQsIHBsZWFzZSB1c2UgTC5MaW5lVXRpbC5pc0ZsYXQgaW5zdGVhZC4iKSxwZSh0KX12YXIgZmU9e3NpbXBsaWZ5OmhlLHBvaW50VG9TZWdtZW50RGlzdGFuY2U6dWUsY2xvc2VzdFBvaW50T25TZWdtZW50OmZ1bmN0aW9uKHQsaSxlKXtyZXR1cm4gZGUodCxpLGUpfSxjbGlwU2VnbWVudDpsZSxfZ2V0RWRnZUludGVyc2VjdGlvbjpjZSxfZ2V0Qml0Q29kZTpfZSxfc3FDbG9zZXN0UG9pbnRPblNlZ21lbnQ6ZGUsaXNGbGF0OnBlLF9mbGF0Om1lfTtmdW5jdGlvbiBnZSh0LGksZSl7Zm9yKHZhciBuLG8scyxyLGEsaCx1LGw9WzEsNCwyLDhdLGM9MCxfPXQubGVuZ3RoO2M8XztjKyspdFtjXS5fY29kZT1fZSh0W2NdLGkpO2ZvcihzPTA7czw0O3MrKyl7Zm9yKGg9bFtzXSxuPVtdLGM9MCxvPShfPXQubGVuZ3RoKS0xO2M8XztvPWMrKylyPXRbY10sYT10W29dLHIuX2NvZGUmaD9hLl9jb2RlJmh8fCgodT1jZShhLHIsaCxpLGUpKS5fY29kZT1fZSh1LGkpLG4ucHVzaCh1KSk6KGEuX2NvZGUmaCYmKCh1PWNlKGEscixoLGksZSkpLl9jb2RlPV9lKHUsaSksbi5wdXNoKHUpKSxuLnB1c2gocikpO3Q9bn1yZXR1cm4gdH12YXIgdmUseWU9e2NsaXBQb2x5Z29uOmdlfSx4ZT17cHJvamVjdDpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGsodC5sbmcsdC5sYXQpfSx1bnByb2plY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBEKHQueSx0LngpfSxib3VuZHM6bmV3IEkoWy0xODAsLTkwXSxbMTgwLDkwXSl9LHdlPXtSOjYzNzgxMzcsUl9NSU5PUjo2MzU2NzUyLjMxNDI0NTE3OSxib3VuZHM6bmV3IEkoWy0yMDAzNzUwOC4zNDI3OSwtMTU0OTY1NzAuNzM5NzJdLFsyMDAzNzUwOC4zNDI3OSwxODc2NDY1Ni4yMzEzOF0pLHByb2plY3Q6ZnVuY3Rpb24odCl7dmFyIGk9TWF0aC5QSS8xODAsZT10aGlzLlIsbj10LmxhdCppLG89dGhpcy5SX01JTk9SL2Uscz1NYXRoLnNxcnQoMS1vKm8pLHI9cypNYXRoLnNpbihuKSxhPU1hdGgudGFuKE1hdGguUEkvNC1uLzIpL01hdGgucG93KCgxLXIpLygxK3IpLHMvMiksbj0tZSpNYXRoLmxvZyhNYXRoLm1heChhLDFlLTEwKSk7cmV0dXJuIG5ldyBrKHQubG5nKmkqZSxuKX0sdW5wcm9qZWN0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgaSxlPTE4MC9NYXRoLlBJLG49dGhpcy5SLG89dGhpcy5SX01JTk9SL24scz1NYXRoLnNxcnQoMS1vKm8pLHI9TWF0aC5leHAoLXQueS9uKSxhPU1hdGguUEkvMi0yKk1hdGguYXRhbihyKSxoPTAsdT0uMTtoPDE1JiYxZS03PE1hdGguYWJzKHUpO2grKylpPXMqTWF0aC5zaW4oYSksaT1NYXRoLnBvdygoMS1pKS8oMStpKSxzLzIpLGErPXU9TWF0aC5QSS8yLTIqTWF0aC5hdGFuKHIqaSktYTtyZXR1cm4gbmV3IEQoYSplLHQueCplL24pfX0sUGU9e0xvbkxhdDp4ZSxNZXJjYXRvcjp3ZSxTcGhlcmljYWxNZXJjYXRvcjpWfSxMZT1oKHt9LEYse2NvZGU6IkVQU0c6MzM5NSIscHJvamVjdGlvbjp3ZSx0cmFuc2Zvcm1hdGlvbjpHKHZlPS41LyhNYXRoLlBJKndlLlIpLC41LC12ZSwuNSl9KSxiZT1oKHt9LEYse2NvZGU6IkVQU0c6NDMyNiIscHJvamVjdGlvbjp4ZSx0cmFuc2Zvcm1hdGlvbjpHKDEvMTgwLDEsLTEvMTgwLC41KX0pLFRlPWgoe30sSCx7cHJvamVjdGlvbjp4ZSx0cmFuc2Zvcm1hdGlvbjpHKDEsMCwtMSwwKSxzY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3coMix0KX0sem9vbTpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5sb2codCkvTWF0aC5MTjJ9LGRpc3RhbmNlOmZ1bmN0aW9uKHQsaSl7dmFyIGU9aS5sbmctdC5sbmcsbj1pLmxhdC10LmxhdDtyZXR1cm4gTWF0aC5zcXJ0KGUqZStuKm4pfSxpbmZpbml0ZTohMH0pO0guRWFydGg9RixILkVQU0czMzk1PUxlLEguRVBTRzM4NTc9WSxILkVQU0c5MDA5MTM9WCxILkVQU0c0MzI2PWJlLEguU2ltcGxlPVRlO3ZhciBNZT1FLmV4dGVuZCh7b3B0aW9uczp7cGFuZToib3ZlcmxheVBhbmUiLGF0dHJpYnV0aW9uOm51bGwsYnViYmxpbmdNb3VzZUV2ZW50czohMH0sYWRkVG86ZnVuY3Rpb24odCl7cmV0dXJuIHQuYWRkTGF5ZXIodGhpcyksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlRnJvbSh0aGlzLl9tYXB8fHRoaXMuX21hcFRvQWRkKX0scmVtb3ZlRnJvbTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5yZW1vdmVMYXllcih0aGlzKSx0aGlzfSxnZXRQYW5lOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tYXAuZ2V0UGFuZSh0P3RoaXMub3B0aW9uc1t0XXx8dDp0aGlzLm9wdGlvbnMucGFuZSl9LGFkZEludGVyYWN0aXZlVGFyZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tYXAuX3RhcmdldHNbbSh0KV09dGhpc30scmVtb3ZlSW50ZXJhY3RpdmVUYXJnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIGRlbGV0ZSB0aGlzLl9tYXAuX3RhcmdldHNbbSh0KV0sdGhpc30sZ2V0QXR0cmlidXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLmF0dHJpYnV0aW9ufSxfbGF5ZXJBZGQ6ZnVuY3Rpb24odCl7dmFyIGksZT10LnRhcmdldDtlLmhhc0xheWVyKHRoaXMpJiYodGhpcy5fbWFwPWUsdGhpcy5fem9vbUFuaW1hdGVkPWUuX3pvb21BbmltYXRlZCx0aGlzLmdldEV2ZW50cyYmKGk9dGhpcy5nZXRFdmVudHMoKSxlLm9uKGksdGhpcyksdGhpcy5vbmNlKCJyZW1vdmUiLGZ1bmN0aW9uKCl7ZS5vZmYoaSx0aGlzKX0sdGhpcykpLHRoaXMub25BZGQoZSksdGhpcy5nZXRBdHRyaWJ1dGlvbiYmZS5hdHRyaWJ1dGlvbkNvbnRyb2wmJmUuYXR0cmlidXRpb25Db250cm9sLmFkZEF0dHJpYnV0aW9uKHRoaXMuZ2V0QXR0cmlidXRpb24oKSksdGhpcy5maXJlKCJhZGQiKSxlLmZpcmUoImxheWVyYWRkIix7bGF5ZXI6dGhpc30pKX19KTtLaS5pbmNsdWRlKHthZGRMYXllcjpmdW5jdGlvbih0KXtpZighdC5fbGF5ZXJBZGQpdGhyb3cgbmV3IEVycm9yKCJUaGUgcHJvdmlkZWQgb2JqZWN0IGlzIG5vdCBhIExheWVyLiIpO3ZhciBpPW0odCk7cmV0dXJuIHRoaXMuX2xheWVyc1tpXXx8KCh0aGlzLl9sYXllcnNbaV09dCkuX21hcFRvQWRkPXRoaXMsdC5iZWZvcmVBZGQmJnQuYmVmb3JlQWRkKHRoaXMpLHRoaXMud2hlblJlYWR5KHQuX2xheWVyQWRkLHQpKSx0aGlzfSxyZW1vdmVMYXllcjpmdW5jdGlvbih0KXt2YXIgaT1tKHQpO3JldHVybiB0aGlzLl9sYXllcnNbaV0mJih0aGlzLl9sb2FkZWQmJnQub25SZW1vdmUodGhpcyksdC5nZXRBdHRyaWJ1dGlvbiYmdGhpcy5hdHRyaWJ1dGlvbkNvbnRyb2wmJnRoaXMuYXR0cmlidXRpb25Db250cm9sLnJlbW92ZUF0dHJpYnV0aW9uKHQuZ2V0QXR0cmlidXRpb24oKSksZGVsZXRlIHRoaXMuX2xheWVyc1tpXSx0aGlzLl9sb2FkZWQmJih0aGlzLmZpcmUoImxheWVycmVtb3ZlIix7bGF5ZXI6dH0pLHQuZmlyZSgicmVtb3ZlIikpLHQuX21hcD10Ll9tYXBUb0FkZD1udWxsKSx0aGlzfSxoYXNMYXllcjpmdW5jdGlvbih0KXtyZXR1cm4hIXQmJm0odClpbiB0aGlzLl9sYXllcnN9LGVhY2hMYXllcjpmdW5jdGlvbih0LGkpe2Zvcih2YXIgZSBpbiB0aGlzLl9sYXllcnMpdC5jYWxsKGksdGhpcy5fbGF5ZXJzW2VdKTtyZXR1cm4gdGhpc30sX2FkZExheWVyczpmdW5jdGlvbih0KXtmb3IodmFyIGk9MCxlPSh0PXQ/Zyh0KT90Olt0XTpbXSkubGVuZ3RoO2k8ZTtpKyspdGhpcy5hZGRMYXllcih0W2ldKX0sX2FkZFpvb21MaW1pdDpmdW5jdGlvbih0KXshaXNOYU4odC5vcHRpb25zLm1heFpvb20pJiZpc05hTih0Lm9wdGlvbnMubWluWm9vbSl8fCh0aGlzLl96b29tQm91bmRMYXllcnNbbSh0KV09dCx0aGlzLl91cGRhdGVab29tTGV2ZWxzKCkpfSxfcmVtb3ZlWm9vbUxpbWl0OmZ1bmN0aW9uKHQpe3ZhciBpPW0odCk7dGhpcy5fem9vbUJvdW5kTGF5ZXJzW2ldJiYoZGVsZXRlIHRoaXMuX3pvb21Cb3VuZExheWVyc1tpXSx0aGlzLl91cGRhdGVab29tTGV2ZWxzKCkpfSxfdXBkYXRlWm9vbUxldmVsczpmdW5jdGlvbigpe3ZhciB0PTEvMCxpPS0xLzAsZT10aGlzLl9nZXRab29tU3BhbigpO2Zvcih2YXIgbiBpbiB0aGlzLl96b29tQm91bmRMYXllcnMpdmFyIG89dGhpcy5fem9vbUJvdW5kTGF5ZXJzW25dLm9wdGlvbnMsdD12b2lkIDA9PT1vLm1pblpvb20/dDpNYXRoLm1pbih0LG8ubWluWm9vbSksaT12b2lkIDA9PT1vLm1heFpvb20/aTpNYXRoLm1heChpLG8ubWF4Wm9vbSk7dGhpcy5fbGF5ZXJzTWF4Wm9vbT1pPT09LTEvMD92b2lkIDA6aSx0aGlzLl9sYXllcnNNaW5ab29tPXQ9PT0xLzA/dm9pZCAwOnQsZSE9PXRoaXMuX2dldFpvb21TcGFuKCkmJnRoaXMuZmlyZSgiem9vbWxldmVsc2NoYW5nZSIpLHZvaWQgMD09PXRoaXMub3B0aW9ucy5tYXhab29tJiZ0aGlzLl9sYXllcnNNYXhab29tJiZ0aGlzLmdldFpvb20oKT50aGlzLl9sYXllcnNNYXhab29tJiZ0aGlzLnNldFpvb20odGhpcy5fbGF5ZXJzTWF4Wm9vbSksdm9pZCAwPT09dGhpcy5vcHRpb25zLm1pblpvb20mJnRoaXMuX2xheWVyc01pblpvb20mJnRoaXMuZ2V0Wm9vbSgpPHRoaXMuX2xheWVyc01pblpvb20mJnRoaXMuc2V0Wm9vbSh0aGlzLl9sYXllcnNNaW5ab29tKX19KTt2YXIgemU9TWUuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7dmFyIGUsbjtpZihjKHRoaXMsaSksdGhpcy5fbGF5ZXJzPXt9LHQpZm9yKGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdGhpcy5hZGRMYXllcih0W2VdKX0sYWRkTGF5ZXI6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5nZXRMYXllcklkKHQpO3JldHVybiB0aGlzLl9sYXllcnNbaV09dCx0aGlzLl9tYXAmJnRoaXMuX21hcC5hZGRMYXllcih0KSx0aGlzfSxyZW1vdmVMYXllcjpmdW5jdGlvbih0KXt2YXIgaT10IGluIHRoaXMuX2xheWVycz90OnRoaXMuZ2V0TGF5ZXJJZCh0KTtyZXR1cm4gdGhpcy5fbWFwJiZ0aGlzLl9sYXllcnNbaV0mJnRoaXMuX21hcC5yZW1vdmVMYXllcih0aGlzLl9sYXllcnNbaV0pLGRlbGV0ZSB0aGlzLl9sYXllcnNbaV0sdGhpc30saGFzTGF5ZXI6ZnVuY3Rpb24odCl7cmV0dXJuISF0JiYoIm51bWJlciI9PXR5cGVvZiB0P3Q6dGhpcy5nZXRMYXllcklkKHQpKWluIHRoaXMuX2xheWVyc30sY2xlYXJMYXllcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoTGF5ZXIodGhpcy5yZW1vdmVMYXllcix0aGlzKX0saW52b2tlOmZ1bmN0aW9uKHQpe3ZhciBpLGUsbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7Zm9yKGkgaW4gdGhpcy5fbGF5ZXJzKShlPXRoaXMuX2xheWVyc1tpXSlbdF0mJmVbdF0uYXBwbHkoZSxuKTtyZXR1cm4gdGhpc30sb25BZGQ6ZnVuY3Rpb24odCl7dGhpcy5lYWNoTGF5ZXIodC5hZGRMYXllcix0KX0sb25SZW1vdmU6ZnVuY3Rpb24odCl7dGhpcy5lYWNoTGF5ZXIodC5yZW1vdmVMYXllcix0KX0sZWFjaExheWVyOmZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBlIGluIHRoaXMuX2xheWVycyl0LmNhbGwoaSx0aGlzLl9sYXllcnNbZV0pO3JldHVybiB0aGlzfSxnZXRMYXllcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGF5ZXJzW3RdfSxnZXRMYXllcnM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoTGF5ZXIodC5wdXNoLHQpLHR9LHNldFpJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZva2UoInNldFpJbmRleCIsdCl9LGdldExheWVySWQ6bX0pLENlPXplLmV4dGVuZCh7YWRkTGF5ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaGFzTGF5ZXIodCk/dGhpczoodC5hZGRFdmVudFBhcmVudCh0aGlzKSx6ZS5wcm90b3R5cGUuYWRkTGF5ZXIuY2FsbCh0aGlzLHQpLHRoaXMuZmlyZSgibGF5ZXJhZGQiLHtsYXllcjp0fSkpfSxyZW1vdmVMYXllcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5oYXNMYXllcih0KT8odCBpbiB0aGlzLl9sYXllcnMmJih0PXRoaXMuX2xheWVyc1t0XSksdC5yZW1vdmVFdmVudFBhcmVudCh0aGlzKSx6ZS5wcm90b3R5cGUucmVtb3ZlTGF5ZXIuY2FsbCh0aGlzLHQpLHRoaXMuZmlyZSgibGF5ZXJyZW1vdmUiLHtsYXllcjp0fSkpOnRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludm9rZSgic2V0U3R5bGUiLHQpfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnZva2UoImJyaW5nVG9Gcm9udCIpfSxicmluZ1RvQmFjazpmdW5jdGlvbigpe3JldHVybiB0aGlzLmludm9rZSgiYnJpbmdUb0JhY2siKX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFI7Zm9yKHZhciBpIGluIHRoaXMuX2xheWVycyl7dmFyIGU9dGhpcy5fbGF5ZXJzW2ldO3QuZXh0ZW5kKGUuZ2V0Qm91bmRzP2UuZ2V0Qm91bmRzKCk6ZS5nZXRMYXRMbmcoKSl9cmV0dXJuIHR9fSksU2U9Uy5leHRlbmQoe29wdGlvbnM6e3BvcHVwQW5jaG9yOlswLDBdLHRvb2x0aXBBbmNob3I6WzAsMF19LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7Yyh0aGlzLHQpfSxjcmVhdGVJY29uOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jcmVhdGVJY29uKCJpY29uIix0KX0sY3JlYXRlU2hhZG93OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jcmVhdGVJY29uKCJzaGFkb3ciLHQpfSxfY3JlYXRlSWNvbjpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMuX2dldEljb25VcmwodCk7aWYoIWUpe2lmKCJpY29uIj09PXQpdGhyb3cgbmV3IEVycm9yKCJpY29uVXJsIG5vdCBzZXQgaW4gSWNvbiBvcHRpb25zIChzZWUgdGhlIGRvY3MpLiIpO3JldHVybiBudWxsfXZhciBuPXRoaXMuX2NyZWF0ZUltZyhlLGkmJiJJTUciPT09aS50YWdOYW1lP2k6bnVsbCk7cmV0dXJuIHRoaXMuX3NldEljb25TdHlsZXMobix0KSxufSxfc2V0SWNvblN0eWxlczpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMub3B0aW9ucyxuPWVbaSsiU2l6ZSJdOyJudW1iZXIiPT10eXBlb2YgbiYmKG49W24sbl0pO3ZhciBvPUEobikscz1BKCJzaGFkb3ciPT09aSYmZS5zaGFkb3dBbmNob3J8fGUuaWNvbkFuY2hvcnx8byYmby5kaXZpZGVCeSgyLCEwKSk7dC5jbGFzc05hbWU9ImxlYWZsZXQtbWFya2VyLSIraSsiICIrKGUuY2xhc3NOYW1lfHwiIikscyYmKHQuc3R5bGUubWFyZ2luTGVmdD0tcy54KyJweCIsdC5zdHlsZS5tYXJnaW5Ub3A9LXMueSsicHgiKSxvJiYodC5zdHlsZS53aWR0aD1vLngrInB4Iix0LnN0eWxlLmhlaWdodD1vLnkrInB4Iil9LF9jcmVhdGVJbWc6ZnVuY3Rpb24odCxpKXtyZXR1cm4oaT1pfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSkuc3JjPXQsaX0sX2dldEljb25Vcmw6ZnVuY3Rpb24odCl7cmV0dXJuIHp0JiZ0aGlzLm9wdGlvbnNbdCsiUmV0aW5hVXJsIl18fHRoaXMub3B0aW9uc1t0KyJVcmwiXX19KTt2YXIgWmU9U2UuZXh0ZW5kKHtvcHRpb25zOntpY29uVXJsOiJtYXJrZXItaWNvbi5wbmciLGljb25SZXRpbmFVcmw6Im1hcmtlci1pY29uLTJ4LnBuZyIsc2hhZG93VXJsOiJtYXJrZXItc2hhZG93LnBuZyIsaWNvblNpemU6WzI1LDQxXSxpY29uQW5jaG9yOlsxMiw0MV0scG9wdXBBbmNob3I6WzEsLTM0XSx0b29sdGlwQW5jaG9yOlsxNiwtMjhdLHNoYWRvd1NpemU6WzQxLDQxXX0sX2dldEljb25Vcmw6ZnVuY3Rpb24odCl7cmV0dXJuIFplLmltYWdlUGF0aHx8KFplLmltYWdlUGF0aD10aGlzLl9kZXRlY3RJY29uUGF0aCgpKSwodGhpcy5vcHRpb25zLmltYWdlUGF0aHx8WmUuaW1hZ2VQYXRoKStTZS5wcm90b3R5cGUuX2dldEljb25VcmwuY2FsbCh0aGlzLHQpfSxfZGV0ZWN0SWNvblBhdGg6ZnVuY3Rpb24oKXt2YXIgdD1zaSgiZGl2IiwibGVhZmxldC1kZWZhdWx0LWljb24tcGF0aCIsZG9jdW1lbnQuYm9keSksaT1vaSh0LCJiYWNrZ3JvdW5kLWltYWdlIil8fG9pKHQsImJhY2tncm91bmRJbWFnZSIpO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGk9bnVsbD09PWl8fDAhPT1pLmluZGV4T2YoInVybCIpPyIiOmkucmVwbGFjZSgvXnVybFwoWyInXT8vLCIiKS5yZXBsYWNlKC9tYXJrZXItaWNvblwucG5nWyInXT9cKSQvLCIiKX19KSxFZT1pZS5leHRlbmQoe2luaXRpYWxpemU6ZnVuY3Rpb24odCl7dGhpcy5fbWFya2VyPXR9LGFkZEhvb2tzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFya2VyLl9pY29uO3RoaXMuX2RyYWdnYWJsZXx8KHRoaXMuX2RyYWdnYWJsZT1uZXcgYWUodCx0LCEwKSksdGhpcy5fZHJhZ2dhYmxlLm9uKHtkcmFnc3RhcnQ6dGhpcy5fb25EcmFnU3RhcnQscHJlZHJhZzp0aGlzLl9vblByZURyYWcsZHJhZzp0aGlzLl9vbkRyYWcsZHJhZ2VuZDp0aGlzLl9vbkRyYWdFbmR9LHRoaXMpLmVuYWJsZSgpLGNpKHQsImxlYWZsZXQtbWFya2VyLWRyYWdnYWJsZSIpfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe3RoaXMuX2RyYWdnYWJsZS5vZmYoe2RyYWdzdGFydDp0aGlzLl9vbkRyYWdTdGFydCxwcmVkcmFnOnRoaXMuX29uUHJlRHJhZyxkcmFnOnRoaXMuX29uRHJhZyxkcmFnZW5kOnRoaXMuX29uRHJhZ0VuZH0sdGhpcykuZGlzYWJsZSgpLHRoaXMuX21hcmtlci5faWNvbiYmX2kodGhpcy5fbWFya2VyLl9pY29uLCJsZWFmbGV0LW1hcmtlci1kcmFnZ2FibGUiKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ2dhYmxlJiZ0aGlzLl9kcmFnZ2FibGUuX21vdmVkfSxfYWRqdXN0UGFuOmZ1bmN0aW9uKHQpe3ZhciBpLGU9dGhpcy5fbWFya2VyLG49ZS5fbWFwLG89dGhpcy5fbWFya2VyLm9wdGlvbnMuYXV0b1BhblNwZWVkLHM9dGhpcy5fbWFya2VyLm9wdGlvbnMuYXV0b1BhblBhZGRpbmcscj15aShlLl9pY29uKSxhPW4uZ2V0UGl4ZWxCb3VuZHMoKSxoPW4uZ2V0UGl4ZWxPcmlnaW4oKSx1PU8oYS5taW4uX3N1YnRyYWN0KGgpLmFkZChzKSxhLm1heC5fc3VidHJhY3QoaCkuc3VidHJhY3QocykpO3UuY29udGFpbnMocil8fChpPUEoKE1hdGgubWF4KHUubWF4Lngsci54KS11Lm1heC54KS8oYS5tYXgueC11Lm1heC54KS0oTWF0aC5taW4odS5taW4ueCxyLngpLXUubWluLngpLyhhLm1pbi54LXUubWluLngpLChNYXRoLm1heCh1Lm1heC55LHIueSktdS5tYXgueSkvKGEubWF4LnktdS5tYXgueSktKE1hdGgubWluKHUubWluLnksci55KS11Lm1pbi55KS8oYS5taW4ueS11Lm1pbi55KSkubXVsdGlwbHlCeShvKSxuLnBhbkJ5KGkse2FuaW1hdGU6ITF9KSx0aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5fYWRkKGkpLHRoaXMuX2RyYWdnYWJsZS5fc3RhcnRQb3MuX2FkZChpKSx2aShlLl9pY29uLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zKSx0aGlzLl9vbkRyYWcodCksdGhpcy5fcGFuUmVxdWVzdD1NKHRoaXMuX2FkanVzdFBhbi5iaW5kKHRoaXMsdCkpKX0sX29uRHJhZ1N0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fb2xkTGF0TG5nPXRoaXMuX21hcmtlci5nZXRMYXRMbmcoKSx0aGlzLl9tYXJrZXIuY2xvc2VQb3B1cCYmdGhpcy5fbWFya2VyLmNsb3NlUG9wdXAoKSx0aGlzLl9tYXJrZXIuZmlyZSgibW92ZXN0YXJ0IikuZmlyZSgiZHJhZ3N0YXJ0Iil9LF9vblByZURyYWc6ZnVuY3Rpb24odCl7dGhpcy5fbWFya2VyLm9wdGlvbnMuYXV0b1BhbiYmKHoodGhpcy5fcGFuUmVxdWVzdCksdGhpcy5fcGFuUmVxdWVzdD1NKHRoaXMuX2FkanVzdFBhbi5iaW5kKHRoaXMsdCkpKX0sX29uRHJhZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXJrZXIsZT1pLl9zaGFkb3csbj15aShpLl9pY29uKSxvPWkuX21hcC5sYXllclBvaW50VG9MYXRMbmcobik7ZSYmdmkoZSxuKSxpLl9sYXRsbmc9byx0LmxhdGxuZz1vLHQub2xkTGF0TG5nPXRoaXMuX29sZExhdExuZyxpLmZpcmUoIm1vdmUiLHQpLmZpcmUoImRyYWciLHQpfSxfb25EcmFnRW5kOmZ1bmN0aW9uKHQpe3oodGhpcy5fcGFuUmVxdWVzdCksZGVsZXRlIHRoaXMuX29sZExhdExuZyx0aGlzLl9tYXJrZXIuZmlyZSgibW92ZWVuZCIpLmZpcmUoImRyYWdlbmQiLHQpfX0pLGtlPU1lLmV4dGVuZCh7b3B0aW9uczp7aWNvbjpuZXcgWmUsaW50ZXJhY3RpdmU6ITAsa2V5Ym9hcmQ6ITAsdGl0bGU6IiIsYWx0OiIiLHpJbmRleE9mZnNldDowLG9wYWNpdHk6MSxyaXNlT25Ib3ZlcjohMSxyaXNlT2Zmc2V0OjI1MCxwYW5lOiJtYXJrZXJQYW5lIixzaGFkb3dQYW5lOiJzaGFkb3dQYW5lIixidWJibGluZ01vdXNlRXZlbnRzOiExLGRyYWdnYWJsZTohMSxhdXRvUGFuOiExLGF1dG9QYW5QYWRkaW5nOls1MCw1MF0sYXV0b1BhblNwZWVkOjEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7Yyh0aGlzLGkpLHRoaXMuX2xhdGxuZz1qKHQpfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLl96b29tQW5pbWF0ZWQ9dGhpcy5fem9vbUFuaW1hdGVkJiZ0Lm9wdGlvbnMubWFya2VyWm9vbUFuaW1hdGlvbix0aGlzLl96b29tQW5pbWF0ZWQmJnQub24oInpvb21hbmltIix0aGlzLl9hbmltYXRlWm9vbSx0aGlzKSx0aGlzLl9pbml0SWNvbigpLHRoaXMudXBkYXRlKCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe3RoaXMuZHJhZ2dpbmcmJnRoaXMuZHJhZ2dpbmcuZW5hYmxlZCgpJiYodGhpcy5vcHRpb25zLmRyYWdnYWJsZT0hMCx0aGlzLmRyYWdnaW5nLnJlbW92ZUhvb2tzKCkpLGRlbGV0ZSB0aGlzLmRyYWdnaW5nLHRoaXMuX3pvb21BbmltYXRlZCYmdC5vZmYoInpvb21hbmltIix0aGlzLl9hbmltYXRlWm9vbSx0aGlzKSx0aGlzLl9yZW1vdmVJY29uKCksdGhpcy5fcmVtb3ZlU2hhZG93KCl9LGdldEV2ZW50czpmdW5jdGlvbigpe3JldHVybnt6b29tOnRoaXMudXBkYXRlLHZpZXdyZXNldDp0aGlzLnVwZGF0ZX19LGdldExhdExuZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYXRsbmd9LHNldExhdExuZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9sYXRsbmc7cmV0dXJuIHRoaXMuX2xhdGxuZz1qKHQpLHRoaXMudXBkYXRlKCksdGhpcy5maXJlKCJtb3ZlIix7b2xkTGF0TG5nOmksbGF0bG5nOnRoaXMuX2xhdGxuZ30pfSxzZXRaSW5kZXhPZmZzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy56SW5kZXhPZmZzZXQ9dCx0aGlzLnVwZGF0ZSgpfSxnZXRJY29uOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5pY29ufSxzZXRJY29uOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuaWNvbj10LHRoaXMuX21hcCYmKHRoaXMuX2luaXRJY29uKCksdGhpcy51cGRhdGUoKSksdGhpcy5fcG9wdXAmJnRoaXMuYmluZFBvcHVwKHRoaXMuX3BvcHVwLHRoaXMuX3BvcHVwLm9wdGlvbnMpLHRoaXN9LGdldEVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faWNvbn0sdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHRoaXMuX2ljb24mJnRoaXMuX21hcCYmKHQ9dGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpLnJvdW5kKCksdGhpcy5fc2V0UG9zKHQpKSx0aGlzfSxfaW5pdEljb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMsaT0ibGVhZmxldC16b29tLSIrKHRoaXMuX3pvb21BbmltYXRlZD8iYW5pbWF0ZWQiOiJoaWRlIiksZT10Lmljb24uY3JlYXRlSWNvbih0aGlzLl9pY29uKSxuPSExO2UhPT10aGlzLl9pY29uJiYodGhpcy5faWNvbiYmdGhpcy5fcmVtb3ZlSWNvbigpLG49ITAsdC50aXRsZSYmKGUudGl0bGU9dC50aXRsZSksIklNRyI9PT1lLnRhZ05hbWUmJihlLmFsdD10LmFsdHx8IiIpKSxjaShlLGkpLHQua2V5Ym9hcmQmJihlLnRhYkluZGV4PSIwIiksdGhpcy5faWNvbj1lLHQucmlzZU9uSG92ZXImJnRoaXMub24oe21vdXNlb3Zlcjp0aGlzLl9icmluZ1RvRnJvbnQsbW91c2VvdXQ6dGhpcy5fcmVzZXRaSW5kZXh9KTt2YXIgbz10Lmljb24uY3JlYXRlU2hhZG93KHRoaXMuX3NoYWRvdykscz0hMTtvIT09dGhpcy5fc2hhZG93JiYodGhpcy5fcmVtb3ZlU2hhZG93KCkscz0hMCksbyYmKGNpKG8saSksby5hbHQ9IiIpLHRoaXMuX3NoYWRvdz1vLHQub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksbiYmdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5faWNvbiksdGhpcy5faW5pdEludGVyYWN0aW9uKCksbyYmcyYmdGhpcy5nZXRQYW5lKHQuc2hhZG93UGFuZSkuYXBwZW5kQ2hpbGQodGhpcy5fc2hhZG93KX0sX3JlbW92ZUljb246ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMucmlzZU9uSG92ZXImJnRoaXMub2ZmKHttb3VzZW92ZXI6dGhpcy5fYnJpbmdUb0Zyb250LG1vdXNlb3V0OnRoaXMuX3Jlc2V0WkluZGV4fSkscmkodGhpcy5faWNvbiksdGhpcy5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pY29uKSx0aGlzLl9pY29uPW51bGx9LF9yZW1vdmVTaGFkb3c6ZnVuY3Rpb24oKXt0aGlzLl9zaGFkb3cmJnJpKHRoaXMuX3NoYWRvdyksdGhpcy5fc2hhZG93PW51bGx9LF9zZXRQb3M6ZnVuY3Rpb24odCl7dGhpcy5faWNvbiYmdmkodGhpcy5faWNvbix0KSx0aGlzLl9zaGFkb3cmJnZpKHRoaXMuX3NoYWRvdyx0KSx0aGlzLl96SW5kZXg9dC55K3RoaXMub3B0aW9ucy56SW5kZXhPZmZzZXQsdGhpcy5fcmVzZXRaSW5kZXgoKX0sX3VwZGF0ZVpJbmRleDpmdW5jdGlvbih0KXt0aGlzLl9pY29uJiYodGhpcy5faWNvbi5zdHlsZS56SW5kZXg9dGhpcy5fekluZGV4K3QpfSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLHQuem9vbSx0LmNlbnRlcikucm91bmQoKTt0aGlzLl9zZXRQb3MoaSl9LF9pbml0SW50ZXJhY3Rpb246ZnVuY3Rpb24oKXt2YXIgdDt0aGlzLm9wdGlvbnMuaW50ZXJhY3RpdmUmJihjaSh0aGlzLl9pY29uLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5hZGRJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pY29uKSxFZSYmKHQ9dGhpcy5vcHRpb25zLmRyYWdnYWJsZSx0aGlzLmRyYWdnaW5nJiYodD10aGlzLmRyYWdnaW5nLmVuYWJsZWQoKSx0aGlzLmRyYWdnaW5nLmRpc2FibGUoKSksdGhpcy5kcmFnZ2luZz1uZXcgRWUodGhpcyksdCYmdGhpcy5kcmFnZ2luZy5lbmFibGUoKSkpfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMub3BhY2l0eT10LHRoaXMuX21hcCYmdGhpcy5fdXBkYXRlT3BhY2l0eSgpLHRoaXN9LF91cGRhdGVPcGFjaXR5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLm9wYWNpdHk7dGhpcy5faWNvbiYmbWkodGhpcy5faWNvbix0KSx0aGlzLl9zaGFkb3cmJm1pKHRoaXMuX3NoYWRvdyx0KX0sX2JyaW5nVG9Gcm9udDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVpJbmRleCh0aGlzLm9wdGlvbnMucmlzZU9mZnNldCl9LF9yZXNldFpJbmRleDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVpJbmRleCgwKX0sX2dldFBvcHVwQW5jaG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5pY29uLm9wdGlvbnMucG9wdXBBbmNob3J9LF9nZXRUb29sdGlwQW5jaG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5pY29uLm9wdGlvbnMudG9vbHRpcEFuY2hvcn19KTt2YXIgQmU9TWUuZXh0ZW5kKHtvcHRpb25zOntzdHJva2U6ITAsY29sb3I6IiMzMzg4ZmYiLHdlaWdodDozLG9wYWNpdHk6MSxsaW5lQ2FwOiJyb3VuZCIsbGluZUpvaW46InJvdW5kIixkYXNoQXJyYXk6bnVsbCxkYXNoT2Zmc2V0Om51bGwsZmlsbDohMSxmaWxsQ29sb3I6bnVsbCxmaWxsT3BhY2l0eTouMixmaWxsUnVsZToiZXZlbm9kZCIsaW50ZXJhY3RpdmU6ITAsYnViYmxpbmdNb3VzZUV2ZW50czohMH0sYmVmb3JlQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX3JlbmRlcmVyPXQuZ2V0UmVuZGVyZXIodGhpcyl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX2luaXRQYXRoKHRoaXMpLHRoaXMuX3Jlc2V0KCksdGhpcy5fcmVuZGVyZXIuX2FkZFBhdGgodGhpcyl9LG9uUmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX3JlbW92ZVBhdGgodGhpcyl9LHJlZHJhdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJnRoaXMuX3JlbmRlcmVyLl91cGRhdGVQYXRoKHRoaXMpLHRoaXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiBjKHRoaXMsdCksdGhpcy5fcmVuZGVyZXImJih0aGlzLl9yZW5kZXJlci5fdXBkYXRlU3R5bGUodGhpcyksdGhpcy5vcHRpb25zLnN0cm9rZSYmdCYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsIndlaWdodCIpJiZ0aGlzLl91cGRhdGVCb3VuZHMoKSksdGhpc30sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9yZW5kZXJlci5fYnJpbmdUb0Zyb250KHRoaXMpLHRoaXN9LGJyaW5nVG9CYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlbmRlcmVyJiZ0aGlzLl9yZW5kZXJlci5fYnJpbmdUb0JhY2sodGhpcyksdGhpc30sZ2V0RWxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXRofSxfcmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0KCksdGhpcy5fdXBkYXRlKCl9LF9jbGlja1RvbGVyYW5jZTpmdW5jdGlvbigpe3JldHVybih0aGlzLm9wdGlvbnMuc3Ryb2tlP3RoaXMub3B0aW9ucy53ZWlnaHQvMjowKSt0aGlzLl9yZW5kZXJlci5vcHRpb25zLnRvbGVyYW5jZX19KSxBZT1CZS5leHRlbmQoe29wdGlvbnM6e2ZpbGw6ITAscmFkaXVzOjEwfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7Yyh0aGlzLGkpLHRoaXMuX2xhdGxuZz1qKHQpLHRoaXMuX3JhZGl1cz10aGlzLm9wdGlvbnMucmFkaXVzfSxzZXRMYXRMbmc6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbGF0bG5nO3JldHVybiB0aGlzLl9sYXRsbmc9aih0KSx0aGlzLnJlZHJhdygpLHRoaXMuZmlyZSgibW92ZSIse29sZExhdExuZzppLGxhdGxuZzp0aGlzLl9sYXRsbmd9KX0sZ2V0TGF0TG5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhdGxuZ30sc2V0UmFkaXVzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucmFkaXVzPXRoaXMuX3JhZGl1cz10LHRoaXMucmVkcmF3KCl9LGdldFJhZGl1czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yYWRpdXN9LHNldFN0eWxlOmZ1bmN0aW9uKHQpe3ZhciBpPXQmJnQucmFkaXVzfHx0aGlzLl9yYWRpdXM7cmV0dXJuIEJlLnByb3RvdHlwZS5zZXRTdHlsZS5jYWxsKHRoaXMsdCksdGhpcy5zZXRSYWRpdXMoaSksdGhpc30sX3Byb2plY3Q6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2xhdGxuZyksdGhpcy5fdXBkYXRlQm91bmRzKCl9LF91cGRhdGVCb3VuZHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yYWRpdXMsaT10aGlzLl9yYWRpdXNZfHx0LGU9dGhpcy5fY2xpY2tUb2xlcmFuY2UoKSxuPVt0K2UsaStlXTt0aGlzLl9weEJvdW5kcz1uZXcgSSh0aGlzLl9wb2ludC5zdWJ0cmFjdChuKSx0aGlzLl9wb2ludC5hZGQobikpfSxfdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fbWFwJiZ0aGlzLl91cGRhdGVQYXRoKCl9LF91cGRhdGVQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX3VwZGF0ZUNpcmNsZSh0aGlzKX0sX2VtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGl1cyYmIXRoaXMuX3JlbmRlcmVyLl9ib3VuZHMuaW50ZXJzZWN0cyh0aGlzLl9weEJvdW5kcyl9LF9jb250YWluc1BvaW50OmZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc3RhbmNlVG8odGhpcy5fcG9pbnQpPD10aGlzLl9yYWRpdXMrdGhpcy5fY2xpY2tUb2xlcmFuY2UoKX19KTt2YXIgSWU9QWUuZXh0ZW5kKHtpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSxlKXtpZigibnVtYmVyIj09dHlwZW9mIGkmJihpPWgoe30sZSx7cmFkaXVzOml9KSksYyh0aGlzLGkpLHRoaXMuX2xhdGxuZz1qKHQpLGlzTmFOKHRoaXMub3B0aW9ucy5yYWRpdXMpKXRocm93IG5ldyBFcnJvcigiQ2lyY2xlIHJhZGl1cyBjYW5ub3QgYmUgTmFOIik7dGhpcy5fbVJhZGl1cz10aGlzLm9wdGlvbnMucmFkaXVzfSxzZXRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21SYWRpdXM9dCx0aGlzLnJlZHJhdygpfSxnZXRSYWRpdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbVJhZGl1c30sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9W3RoaXMuX3JhZGl1cyx0aGlzLl9yYWRpdXNZfHx0aGlzLl9yYWRpdXNdO3JldHVybiBuZXcgUih0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMuX3BvaW50LnN1YnRyYWN0KHQpKSx0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKHRoaXMuX3BvaW50LmFkZCh0KSkpfSxzZXRTdHlsZTpCZS5wcm90b3R5cGUuc2V0U3R5bGUsX3Byb2plY3Q6ZnVuY3Rpb24oKXt2YXIgdCxpLGUsbixvLHMscixhLGg9dGhpcy5fbGF0bG5nLmxuZyx1PXRoaXMuX2xhdGxuZy5sYXQsbD10aGlzLl9tYXAsYz1sLm9wdGlvbnMuY3JzO2MuZGlzdGFuY2U9PT1GLmRpc3RhbmNlPyh0PU1hdGguUEkvMTgwLGk9dGhpcy5fbVJhZGl1cy9GLlIvdCxlPWwucHJvamVjdChbdStpLGhdKSxuPWwucHJvamVjdChbdS1pLGhdKSxvPWUuYWRkKG4pLmRpdmlkZUJ5KDIpLHM9bC51bnByb2plY3QobykubGF0LHI9TWF0aC5hY29zKChNYXRoLmNvcyhpKnQpLU1hdGguc2luKHUqdCkqTWF0aC5zaW4ocyp0KSkvKE1hdGguY29zKHUqdCkqTWF0aC5jb3Mocyp0KSkpL3QsIWlzTmFOKHIpJiYwIT09cnx8KHI9aS9NYXRoLmNvcyhNYXRoLlBJLzE4MCp1KSksdGhpcy5fcG9pbnQ9by5zdWJ0cmFjdChsLmdldFBpeGVsT3JpZ2luKCkpLHRoaXMuX3JhZGl1cz1pc05hTihyKT8wOm8ueC1sLnByb2plY3QoW3MsaC1yXSkueCx0aGlzLl9yYWRpdXNZPW8ueS1lLnkpOihhPWMudW5wcm9qZWN0KGMucHJvamVjdCh0aGlzLl9sYXRsbmcpLnN1YnRyYWN0KFt0aGlzLl9tUmFkaXVzLDBdKSksdGhpcy5fcG9pbnQ9bC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKSx0aGlzLl9yYWRpdXM9dGhpcy5fcG9pbnQueC1sLmxhdExuZ1RvTGF5ZXJQb2ludChhKS54KSx0aGlzLl91cGRhdGVCb3VuZHMoKX19KTt2YXIgT2U9QmUuZXh0ZW5kKHtvcHRpb25zOntzbW9vdGhGYWN0b3I6MSxub0NsaXA6ITF9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxpKXtjKHRoaXMsaSksdGhpcy5fc2V0TGF0TG5ncyh0KX0sZ2V0TGF0TG5nczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9sYXRsbmdzfSxzZXRMYXRMbmdzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zZXRMYXRMbmdzKHQpLHRoaXMucmVkcmF3KCl9LGlzRW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5fbGF0bG5ncy5sZW5ndGh9LGNsb3Nlc3RMYXllclBvaW50OmZ1bmN0aW9uKHQpe2Zvcih2YXIgaSxlLG49MS8wLG89bnVsbCxzPWRlLHI9MCxhPXRoaXMuX3BhcnRzLmxlbmd0aDtyPGE7cisrKWZvcih2YXIgaD10aGlzLl9wYXJ0c1tyXSx1PTEsbD1oLmxlbmd0aDt1PGw7dSsrKXt2YXIgYz1zKHQsaT1oW3UtMV0sZT1oW3VdLCEwKTtjPG4mJihuPWMsbz1zKHQsaSxlKSl9cmV0dXJuIG8mJihvLmRpc3RhbmNlPU1hdGguc3FydChuKSksb30sZ2V0Q2VudGVyOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX21hcCl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYWRkIGxheWVyIHRvIG1hcCBiZWZvcmUgdXNpbmcgZ2V0Q2VudGVyKCkiKTt2YXIgdCxpLGUsbixvLHMscixhPXRoaXMuX3JpbmdzWzBdLGg9YS5sZW5ndGg7aWYoIWgpcmV0dXJuIG51bGw7Zm9yKGk9dD0wO3Q8aC0xO3QrKylpKz1hW3RdLmRpc3RhbmNlVG8oYVt0KzFdKS8yO2lmKDA9PT1pKXJldHVybiB0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKGFbMF0pO2ZvcihuPXQ9MDt0PGgtMTt0KyspaWYobz1hW3RdLHM9YVt0KzFdLGk8KG4rPWU9by5kaXN0YW5jZVRvKHMpKSlyZXR1cm4gcj0obi1pKS9lLHRoaXMuX21hcC5sYXllclBvaW50VG9MYXRMbmcoW3MueC1yKihzLngtby54KSxzLnktcioocy55LW8ueSldKX0sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JvdW5kc30sYWRkTGF0TG5nOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9aXx8dGhpcy5fZGVmYXVsdFNoYXBlKCksdD1qKHQpLGkucHVzaCh0KSx0aGlzLl9ib3VuZHMuZXh0ZW5kKHQpLHRoaXMucmVkcmF3KCl9LF9zZXRMYXRMbmdzOmZ1bmN0aW9uKHQpe3RoaXMuX2JvdW5kcz1uZXcgUix0aGlzLl9sYXRsbmdzPXRoaXMuX2NvbnZlcnRMYXRMbmdzKHQpfSxfZGVmYXVsdFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHBlKHRoaXMuX2xhdGxuZ3MpP3RoaXMuX2xhdGxuZ3M6dGhpcy5fbGF0bG5nc1swXX0sX2NvbnZlcnRMYXRMbmdzOmZ1bmN0aW9uKHQpe2Zvcih2YXIgaT1bXSxlPXBlKHQpLG49MCxvPXQubGVuZ3RoO248bztuKyspZT8oaVtuXT1qKHRbbl0pLHRoaXMuX2JvdW5kcy5leHRlbmQoaVtuXSkpOmlbbl09dGhpcy5fY29udmVydExhdExuZ3ModFtuXSk7cmV0dXJuIGl9LF9wcm9qZWN0OmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEk7dGhpcy5fcmluZ3M9W10sdGhpcy5fcHJvamVjdExhdGxuZ3ModGhpcy5fbGF0bG5ncyx0aGlzLl9yaW5ncyx0KSx0aGlzLl9ib3VuZHMuaXNWYWxpZCgpJiZ0LmlzVmFsaWQoKSYmKHRoaXMuX3Jhd1B4Qm91bmRzPXQsdGhpcy5fdXBkYXRlQm91bmRzKCkpfSxfdXBkYXRlQm91bmRzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY2xpY2tUb2xlcmFuY2UoKSxpPW5ldyBrKHQsdCk7dGhpcy5fcHhCb3VuZHM9bmV3IEkoW3RoaXMuX3Jhd1B4Qm91bmRzLm1pbi5zdWJ0cmFjdChpKSx0aGlzLl9yYXdQeEJvdW5kcy5tYXguYWRkKGkpXSl9LF9wcm9qZWN0TGF0bG5nczpmdW5jdGlvbih0LGksZSl7dmFyIG4sbyxzPXRbMF1pbnN0YW5jZW9mIEQscj10Lmxlbmd0aDtpZihzKXtmb3Iobz1bXSxuPTA7bjxyO24rKylvW25dPXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodFtuXSksZS5leHRlbmQob1tuXSk7aS5wdXNoKG8pfWVsc2UgZm9yKG49MDtuPHI7bisrKXRoaXMuX3Byb2plY3RMYXRsbmdzKHRbbl0saSxlKX0sX2NsaXBQb2ludHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZW5kZXJlci5fYm91bmRzO2lmKHRoaXMuX3BhcnRzPVtdLHRoaXMuX3B4Qm91bmRzJiZ0aGlzLl9weEJvdW5kcy5pbnRlcnNlY3RzKHQpKWlmKHRoaXMub3B0aW9ucy5ub0NsaXApdGhpcy5fcGFydHM9dGhpcy5fcmluZ3M7ZWxzZSBmb3IodmFyIGksZSxuLG8scz10aGlzLl9wYXJ0cyxyPTAsYT0wLGg9dGhpcy5fcmluZ3MubGVuZ3RoO3I8aDtyKyspZm9yKGk9MCxlPShvPXRoaXMuX3JpbmdzW3JdKS5sZW5ndGg7aTxlLTE7aSsrKShuPWxlKG9baV0sb1tpKzFdLHQsaSwhMCkpJiYoc1thXT1zW2FdfHxbXSxzW2FdLnB1c2goblswXSksblsxXT09PW9baSsxXSYmaSE9PWUtMnx8KHNbYV0ucHVzaChuWzFdKSxhKyspKX0sX3NpbXBsaWZ5UG9pbnRzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX3BhcnRzLGk9dGhpcy5vcHRpb25zLnNtb290aEZhY3RvcixlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXRbZV09aGUodFtlXSxpKX0sX3VwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX21hcCYmKHRoaXMuX2NsaXBQb2ludHMoKSx0aGlzLl9zaW1wbGlmeVBvaW50cygpLHRoaXMuX3VwZGF0ZVBhdGgoKSl9LF91cGRhdGVQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyZXIuX3VwZGF0ZVBvbHkodGhpcyl9LF9jb250YWluc1BvaW50OmZ1bmN0aW9uKHQsaSl7dmFyIGUsbixvLHMscixhLGg9dGhpcy5fY2xpY2tUb2xlcmFuY2UoKTtpZighdGhpcy5fcHhCb3VuZHN8fCF0aGlzLl9weEJvdW5kcy5jb250YWlucyh0KSlyZXR1cm4hMTtmb3IoZT0wLHM9dGhpcy5fcGFydHMubGVuZ3RoO2U8cztlKyspZm9yKG49MCxvPShyPShhPXRoaXMuX3BhcnRzW2VdKS5sZW5ndGgpLTE7bjxyO289bisrKWlmKChpfHwwIT09bikmJnVlKHQsYVtvXSxhW25dKTw9aClyZXR1cm4hMDtyZXR1cm4hMX19KTtPZS5fZmxhdD1tZTt2YXIgUmU9T2UuZXh0ZW5kKHtvcHRpb25zOntmaWxsOiEwfSxpc0VtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuX2xhdGxuZ3MubGVuZ3RofHwhdGhpcy5fbGF0bG5nc1swXS5sZW5ndGh9LGdldENlbnRlcjpmdW5jdGlvbigpe2lmKCF0aGlzLl9tYXApdGhyb3cgbmV3IEVycm9yKCJNdXN0IGFkZCBsYXllciB0byBtYXAgYmVmb3JlIHVzaW5nIGdldENlbnRlcigpIik7dmFyIHQsaSxlLG4sbyxzLHIsYSxoLHU9dGhpcy5fcmluZ3NbMF0sbD11Lmxlbmd0aDtpZighbClyZXR1cm4gbnVsbDtmb3IodD1zPXI9YT0wLGk9bC0xO3Q8bDtpPXQrKyllPXVbdF0sbj11W2ldLG89ZS55Km4ueC1uLnkqZS54LHIrPShlLngrbi54KSpvLGErPShlLnkrbi55KSpvLHMrPTMqbztyZXR1cm4gaD0wPT09cz91WzBdOltyL3MsYS9zXSx0aGlzLl9tYXAubGF5ZXJQb2ludFRvTGF0TG5nKGgpfSxfY29udmVydExhdExuZ3M6ZnVuY3Rpb24odCl7dmFyIGk9T2UucHJvdG90eXBlLl9jb252ZXJ0TGF0TG5ncy5jYWxsKHRoaXMsdCksZT1pLmxlbmd0aDtyZXR1cm4gMjw9ZSYmaVswXWluc3RhbmNlb2YgRCYmaVswXS5lcXVhbHMoaVtlLTFdKSYmaS5wb3AoKSxpfSxfc2V0TGF0TG5nczpmdW5jdGlvbih0KXtPZS5wcm90b3R5cGUuX3NldExhdExuZ3MuY2FsbCh0aGlzLHQpLHBlKHRoaXMuX2xhdGxuZ3MpJiYodGhpcy5fbGF0bG5ncz1bdGhpcy5fbGF0bG5nc10pfSxfZGVmYXVsdFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHBlKHRoaXMuX2xhdGxuZ3NbMF0pP3RoaXMuX2xhdGxuZ3NbMF06dGhpcy5fbGF0bG5nc1swXVswXX0sX2NsaXBQb2ludHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZW5kZXJlci5fYm91bmRzLGk9dGhpcy5vcHRpb25zLndlaWdodCxlPW5ldyBrKGksaSksdD1uZXcgSSh0Lm1pbi5zdWJ0cmFjdChlKSx0Lm1heC5hZGQoZSkpO2lmKHRoaXMuX3BhcnRzPVtdLHRoaXMuX3B4Qm91bmRzJiZ0aGlzLl9weEJvdW5kcy5pbnRlcnNlY3RzKHQpKWlmKHRoaXMub3B0aW9ucy5ub0NsaXApdGhpcy5fcGFydHM9dGhpcy5fcmluZ3M7ZWxzZSBmb3IodmFyIG4sbz0wLHM9dGhpcy5fcmluZ3MubGVuZ3RoO288cztvKyspKG49Z2UodGhpcy5fcmluZ3Nbb10sdCwhMCkpLmxlbmd0aCYmdGhpcy5fcGFydHMucHVzaChuKX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24oKXt0aGlzLl9yZW5kZXJlci5fdXBkYXRlUG9seSh0aGlzLCEwKX0sX2NvbnRhaW5zUG9pbnQ6ZnVuY3Rpb24odCl7dmFyIGksZSxuLG8scyxyLGEsaCx1PSExO2lmKCF0aGlzLl9weEJvdW5kc3x8IXRoaXMuX3B4Qm91bmRzLmNvbnRhaW5zKHQpKXJldHVybiExO2ZvcihvPTAsYT10aGlzLl9wYXJ0cy5sZW5ndGg7bzxhO28rKylmb3Iocz0wLHI9KGg9KGk9dGhpcy5fcGFydHNbb10pLmxlbmd0aCktMTtzPGg7cj1zKyspZT1pW3NdLG49aVtyXSxlLnk+dC55IT1uLnk+dC55JiZ0Lng8KG4ueC1lLngpKih0LnktZS55KS8obi55LWUueSkrZS54JiYodT0hdSk7cmV0dXJuIHV8fE9lLnByb3RvdHlwZS5fY29udGFpbnNQb2ludC5jYWxsKHRoaXMsdCwhMCl9fSk7dmFyIE5lPUNlLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe2ModGhpcyxpKSx0aGlzLl9sYXllcnM9e30sdCYmdGhpcy5hZGREYXRhKHQpfSxhZGREYXRhOmZ1bmN0aW9uKHQpe3ZhciBpLGUsbixvPWcodCk/dDp0LmZlYXR1cmVzO2lmKG8pe2ZvcihpPTAsZT1vLmxlbmd0aDtpPGU7aSsrKSgobj1vW2ldKS5nZW9tZXRyaWVzfHxuLmdlb21ldHJ5fHxuLmZlYXR1cmVzfHxuLmNvb3JkaW5hdGVzKSYmdGhpcy5hZGREYXRhKG4pO3JldHVybiB0aGlzfXZhciBzPXRoaXMub3B0aW9ucztpZihzLmZpbHRlciYmIXMuZmlsdGVyKHQpKXJldHVybiB0aGlzO3ZhciByPURlKHQscyk7cmV0dXJuIHI/KHIuZmVhdHVyZT1xZSh0KSxyLmRlZmF1bHRPcHRpb25zPXIub3B0aW9ucyx0aGlzLnJlc2V0U3R5bGUocikscy5vbkVhY2hGZWF0dXJlJiZzLm9uRWFjaEZlYXR1cmUodCxyKSx0aGlzLmFkZExheWVyKHIpKTp0aGlzfSxyZXNldFN0eWxlOmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuZWFjaExheWVyKHRoaXMucmVzZXRTdHlsZSx0aGlzKToodC5vcHRpb25zPWgoe30sdC5kZWZhdWx0T3B0aW9ucyksdGhpcy5fc2V0TGF5ZXJTdHlsZSh0LHRoaXMub3B0aW9ucy5zdHlsZSksdGhpcyl9LHNldFN0eWxlOmZ1bmN0aW9uKGkpe3JldHVybiB0aGlzLmVhY2hMYXllcihmdW5jdGlvbih0KXt0aGlzLl9zZXRMYXllclN0eWxlKHQsaSl9LHRoaXMpfSxfc2V0TGF5ZXJTdHlsZTpmdW5jdGlvbih0LGkpe3Quc2V0U3R5bGUmJigiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGk9aSh0LmZlYXR1cmUpKSx0LnNldFN0eWxlKGkpKX19KTtmdW5jdGlvbiBEZSh0LGkpe3ZhciBlLG4sbyxzLHI9IkZlYXR1cmUiPT09dC50eXBlP3QuZ2VvbWV0cnk6dCxhPXI/ci5jb29yZGluYXRlczpudWxsLGg9W10sdT1pJiZpLnBvaW50VG9MYXllcixsPWkmJmkuY29vcmRzVG9MYXRMbmd8fFdlO2lmKCFhJiYhcilyZXR1cm4gbnVsbDtzd2l0Y2goci50eXBlKXtjYXNlIlBvaW50IjpyZXR1cm4gamUodSx0LGU9bChhKSxpKTtjYXNlIk11bHRpUG9pbnQiOmZvcihvPTAscz1hLmxlbmd0aDtvPHM7bysrKWU9bChhW29dKSxoLnB1c2goamUodSx0LGUsaSkpO3JldHVybiBuZXcgQ2UoaCk7Y2FzZSJMaW5lU3RyaW5nIjpjYXNlIk11bHRpTGluZVN0cmluZyI6cmV0dXJuIG49SGUoYSwiTGluZVN0cmluZyI9PT1yLnR5cGU/MDoxLGwpLG5ldyBPZShuLGkpO2Nhc2UiUG9seWdvbiI6Y2FzZSJNdWx0aVBvbHlnb24iOnJldHVybiBuPUhlKGEsIlBvbHlnb24iPT09ci50eXBlPzE6MixsKSxuZXcgUmUobixpKTtjYXNlIkdlb21ldHJ5Q29sbGVjdGlvbiI6Zm9yKG89MCxzPXIuZ2VvbWV0cmllcy5sZW5ndGg7bzxzO28rKyl7dmFyIGM9RGUoe2dlb21ldHJ5OnIuZ2VvbWV0cmllc1tvXSx0eXBlOiJGZWF0dXJlIixwcm9wZXJ0aWVzOnQucHJvcGVydGllc30saSk7YyYmaC5wdXNoKGMpfXJldHVybiBuZXcgQ2UoaCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgR2VvSlNPTiBvYmplY3QuIil9fWZ1bmN0aW9uIGplKHQsaSxlLG4pe3JldHVybiB0P3QoaSxlKTpuZXcga2UoZSxuJiZuLm1hcmtlcnNJbmhlcml0T3B0aW9ucyYmbil9ZnVuY3Rpb24gV2UodCl7cmV0dXJuIG5ldyBEKHRbMV0sdFswXSx0WzJdKX1mdW5jdGlvbiBIZSh0LGksZSl7Zm9yKHZhciBuLG89W10scz0wLHI9dC5sZW5ndGg7czxyO3MrKyluPWk/SGUodFtzXSxpLTEsZSk6KGV8fFdlKSh0W3NdKSxvLnB1c2gobik7cmV0dXJuIG99ZnVuY3Rpb24gRmUodCxpKXtyZXR1cm4gaT0ibnVtYmVyIj09dHlwZW9mIGk/aTo2LHZvaWQgMCE9PXQuYWx0P1tyKHQubG5nLGkpLHIodC5sYXQsaSkscih0LmFsdCxpKV06W3IodC5sbmcsaSkscih0LmxhdCxpKV19ZnVuY3Rpb24gVWUodCxpLGUsbil7Zm9yKHZhciBvPVtdLHM9MCxyPXQubGVuZ3RoO3M8cjtzKyspby5wdXNoKGk/VWUodFtzXSxpLTEsZSxuKTpGZSh0W3NdLG4pKTtyZXR1cm4haSYmZSYmby5wdXNoKG9bMF0pLG99ZnVuY3Rpb24gVmUodCxpKXtyZXR1cm4gdC5mZWF0dXJlP2goe30sdC5mZWF0dXJlLHtnZW9tZXRyeTppfSk6cWUoaSl9ZnVuY3Rpb24gcWUodCl7cmV0dXJuIkZlYXR1cmUiPT09dC50eXBlfHwiRmVhdHVyZUNvbGxlY3Rpb24iPT09dC50eXBlP3Q6e3R5cGU6IkZlYXR1cmUiLHByb3BlcnRpZXM6e30sZ2VvbWV0cnk6dH19dmFyIEdlPXt0b0dlb0pTT046ZnVuY3Rpb24odCl7cmV0dXJuIFZlKHRoaXMse3R5cGU6IlBvaW50Iixjb29yZGluYXRlczpGZSh0aGlzLmdldExhdExuZygpLHQpfSl9fTtmdW5jdGlvbiBLZSh0LGkpe3JldHVybiBuZXcgTmUodCxpKX1rZS5pbmNsdWRlKEdlKSxJZS5pbmNsdWRlKEdlKSxBZS5pbmNsdWRlKEdlKSxPZS5pbmNsdWRlKHt0b0dlb0pTT046ZnVuY3Rpb24odCl7dmFyIGk9IXBlKHRoaXMuX2xhdGxuZ3MpO3JldHVybiBWZSh0aGlzLHt0eXBlOihpPyJNdWx0aSI6IiIpKyJMaW5lU3RyaW5nIixjb29yZGluYXRlczpVZSh0aGlzLl9sYXRsbmdzLGk/MTowLCExLHQpfSl9fSksUmUuaW5jbHVkZSh7dG9HZW9KU09OOmZ1bmN0aW9uKHQpe3ZhciBpPSFwZSh0aGlzLl9sYXRsbmdzKSxlPWkmJiFwZSh0aGlzLl9sYXRsbmdzWzBdKSxuPVVlKHRoaXMuX2xhdGxuZ3MsZT8yOmk/MTowLCEwLHQpO3JldHVybiBpfHwobj1bbl0pLFZlKHRoaXMse3R5cGU6KGU/Ik11bHRpIjoiIikrIlBvbHlnb24iLGNvb3JkaW5hdGVzOm59KX19KSx6ZS5pbmNsdWRlKHt0b011bHRpUG9pbnQ6ZnVuY3Rpb24oaSl7dmFyIGU9W107cmV0dXJuIHRoaXMuZWFjaExheWVyKGZ1bmN0aW9uKHQpe2UucHVzaCh0LnRvR2VvSlNPTihpKS5nZW9tZXRyeS5jb29yZGluYXRlcyl9KSxWZSh0aGlzLHt0eXBlOiJNdWx0aVBvaW50Iixjb29yZGluYXRlczplfSl9LHRvR2VvSlNPTjpmdW5jdGlvbihuKXt2YXIgdD10aGlzLmZlYXR1cmUmJnRoaXMuZmVhdHVyZS5nZW9tZXRyeSYmdGhpcy5mZWF0dXJlLmdlb21ldHJ5LnR5cGU7aWYoIk11bHRpUG9pbnQiPT09dClyZXR1cm4gdGhpcy50b011bHRpUG9pbnQobik7dmFyIG89Ikdlb21ldHJ5Q29sbGVjdGlvbiI9PT10LHM9W107cmV0dXJuIHRoaXMuZWFjaExheWVyKGZ1bmN0aW9uKHQpe3ZhciBpLGU7dC50b0dlb0pTT04mJihpPXQudG9HZW9KU09OKG4pLG8/cy5wdXNoKGkuZ2VvbWV0cnkpOiJGZWF0dXJlQ29sbGVjdGlvbiI9PT0oZT1xZShpKSkudHlwZT9zLnB1c2guYXBwbHkocyxlLmZlYXR1cmVzKTpzLnB1c2goZSkpfSksbz9WZSh0aGlzLHtnZW9tZXRyaWVzOnMsdHlwZToiR2VvbWV0cnlDb2xsZWN0aW9uIn0pOnt0eXBlOiJGZWF0dXJlQ29sbGVjdGlvbiIsZmVhdHVyZXM6c319fSk7dmFyIFllPUtlLFhlPU1lLmV4dGVuZCh7b3B0aW9uczp7b3BhY2l0eToxLGFsdDoiIixpbnRlcmFjdGl2ZTohMSxjcm9zc09yaWdpbjohMSxlcnJvck92ZXJsYXlVcmw6IiIsekluZGV4OjEsY2xhc3NOYW1lOiIifSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSxlKXt0aGlzLl91cmw9dCx0aGlzLl9ib3VuZHM9TihpKSxjKHRoaXMsZSl9LG9uQWRkOmZ1bmN0aW9uKCl7dGhpcy5faW1hZ2V8fCh0aGlzLl9pbml0SW1hZ2UoKSx0aGlzLm9wdGlvbnMub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCkpLHRoaXMub3B0aW9ucy5pbnRlcmFjdGl2ZSYmKGNpKHRoaXMuX2ltYWdlLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5hZGRJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl9pbWFnZSkpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2ltYWdlKSx0aGlzLl9yZXNldCgpfSxvblJlbW92ZTpmdW5jdGlvbigpe3JpKHRoaXMuX2ltYWdlKSx0aGlzLm9wdGlvbnMuaW50ZXJhY3RpdmUmJnRoaXMucmVtb3ZlSW50ZXJhY3RpdmVUYXJnZXQodGhpcy5faW1hZ2UpfSxzZXRPcGFjaXR5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMub3BhY2l0eT10LHRoaXMuX2ltYWdlJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksdGhpc30sc2V0U3R5bGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQub3BhY2l0eSYmdGhpcy5zZXRPcGFjaXR5KHQub3BhY2l0eSksdGhpc30sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmaGkodGhpcy5faW1hZ2UpLHRoaXN9LGJyaW5nVG9CYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmdWkodGhpcy5faW1hZ2UpLHRoaXN9LHNldFVybDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdXJsPXQsdGhpcy5faW1hZ2UmJih0aGlzLl9pbWFnZS5zcmM9dCksdGhpc30sc2V0Qm91bmRzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ib3VuZHM9Tih0KSx0aGlzLl9tYXAmJnRoaXMuX3Jlc2V0KCksdGhpc30sZ2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9e3pvb206dGhpcy5fcmVzZXQsdmlld3Jlc2V0OnRoaXMuX3Jlc2V0fTtyZXR1cm4gdGhpcy5fem9vbUFuaW1hdGVkJiYodC56b29tYW5pbT10aGlzLl9hbmltYXRlWm9vbSksdH0sc2V0WkluZGV4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuekluZGV4PXQsdGhpcy5fdXBkYXRlWkluZGV4KCksdGhpc30sZ2V0Qm91bmRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JvdW5kc30sZ2V0RWxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9pbWFnZX0sX2luaXRJbWFnZTpmdW5jdGlvbigpe3ZhciB0PSJJTUciPT09dGhpcy5fdXJsLnRhZ05hbWUsaT10aGlzLl9pbWFnZT10P3RoaXMuX3VybDpzaSgiaW1nIik7Y2koaSwibGVhZmxldC1pbWFnZS1sYXllciIpLHRoaXMuX3pvb21BbmltYXRlZCYmY2koaSwibGVhZmxldC16b29tLWFuaW1hdGVkIiksdGhpcy5vcHRpb25zLmNsYXNzTmFtZSYmY2koaSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lKSxpLm9uc2VsZWN0c3RhcnQ9YSxpLm9ubW91c2Vtb3ZlPWEsaS5vbmxvYWQ9cCh0aGlzLmZpcmUsdGhpcywibG9hZCIpLGkub25lcnJvcj1wKHRoaXMuX292ZXJsYXlPbkVycm9yLHRoaXMsImVycm9yIiksIXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbiYmIiIhPT10aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW58fChpLmNyb3NzT3JpZ2luPSEwPT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luPyIiOnRoaXMub3B0aW9ucy5jcm9zc09yaWdpbiksdGhpcy5vcHRpb25zLnpJbmRleCYmdGhpcy5fdXBkYXRlWkluZGV4KCksdD90aGlzLl91cmw9aS5zcmM6KGkuc3JjPXRoaXMuX3VybCxpLmFsdD10aGlzLm9wdGlvbnMuYWx0KX0sX2FuaW1hdGVab29tOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcC5nZXRab29tU2NhbGUodC56b29tKSxlPXRoaXMuX21hcC5fbGF0TG5nQm91bmRzVG9OZXdMYXllckJvdW5kcyh0aGlzLl9ib3VuZHMsdC56b29tLHQuY2VudGVyKS5taW47Z2kodGhpcy5faW1hZ2UsZSxpKX0sX3Jlc2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faW1hZ2UsaT1uZXcgSSh0aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2JvdW5kcy5nZXROb3J0aFdlc3QoKSksdGhpcy5fbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9ib3VuZHMuZ2V0U291dGhFYXN0KCkpKSxlPWkuZ2V0U2l6ZSgpO3ZpKHQsaS5taW4pLHQuc3R5bGUud2lkdGg9ZS54KyJweCIsdC5zdHlsZS5oZWlnaHQ9ZS55KyJweCJ9LF91cGRhdGVPcGFjaXR5OmZ1bmN0aW9uKCl7bWkodGhpcy5faW1hZ2UsdGhpcy5vcHRpb25zLm9wYWNpdHkpfSxfdXBkYXRlWkluZGV4OmZ1bmN0aW9uKCl7dGhpcy5faW1hZ2UmJnZvaWQgMCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJm51bGwhPT10aGlzLm9wdGlvbnMuekluZGV4JiYodGhpcy5faW1hZ2Uuc3R5bGUuekluZGV4PXRoaXMub3B0aW9ucy56SW5kZXgpfSxfb3ZlcmxheU9uRXJyb3I6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImVycm9yIik7dmFyIHQ9dGhpcy5vcHRpb25zLmVycm9yT3ZlcmxheVVybDt0JiZ0aGlzLl91cmwhPT10JiYodGhpcy5fdXJsPXQsdGhpcy5faW1hZ2Uuc3JjPXQpfX0pLEplPVhlLmV4dGVuZCh7b3B0aW9uczp7YXV0b3BsYXk6ITAsbG9vcDohMCxrZWVwQXNwZWN0UmF0aW86ITAsbXV0ZWQ6ITF9LF9pbml0SW1hZ2U6ZnVuY3Rpb24oKXt2YXIgdD0iVklERU8iPT09dGhpcy5fdXJsLnRhZ05hbWUsaT10aGlzLl9pbWFnZT10P3RoaXMuX3VybDpzaSgidmlkZW8iKTtpZihjaShpLCJsZWFmbGV0LWltYWdlLWxheWVyIiksdGhpcy5fem9vbUFuaW1hdGVkJiZjaShpLCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lJiZjaShpLHRoaXMub3B0aW9ucy5jbGFzc05hbWUpLGkub25zZWxlY3RzdGFydD1hLGkub25tb3VzZW1vdmU9YSxpLm9ubG9hZGVkZGF0YT1wKHRoaXMuZmlyZSx0aGlzLCJsb2FkIiksdCl7Zm9yKHZhciBlPWkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNvdXJjZSIpLG49W10sbz0wO288ZS5sZW5ndGg7bysrKW4ucHVzaChlW29dLnNyYyk7dGhpcy5fdXJsPTA8ZS5sZW5ndGg/bjpbaS5zcmNdfWVsc2V7Zyh0aGlzLl91cmwpfHwodGhpcy5fdXJsPVt0aGlzLl91cmxdKSwhdGhpcy5vcHRpb25zLmtlZXBBc3BlY3RSYXRpbyYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGkuc3R5bGUsIm9iamVjdEZpdCIpJiYoaS5zdHlsZS5vYmplY3RGaXQ9ImZpbGwiKSxpLmF1dG9wbGF5PSEhdGhpcy5vcHRpb25zLmF1dG9wbGF5LGkubG9vcD0hIXRoaXMub3B0aW9ucy5sb29wLGkubXV0ZWQ9ISF0aGlzLm9wdGlvbnMubXV0ZWQ7Zm9yKHZhciBzPTA7czx0aGlzLl91cmwubGVuZ3RoO3MrKyl7dmFyIHI9c2koInNvdXJjZSIpO3Iuc3JjPXRoaXMuX3VybFtzXSxpLmFwcGVuZENoaWxkKHIpfX19fSk7dmFyICRlPVhlLmV4dGVuZCh7X2luaXRJbWFnZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ltYWdlPXRoaXMuX3VybDtjaSh0LCJsZWFmbGV0LWltYWdlLWxheWVyIiksdGhpcy5fem9vbUFuaW1hdGVkJiZjaSh0LCJsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSx0aGlzLm9wdGlvbnMuY2xhc3NOYW1lJiZjaSh0LHRoaXMub3B0aW9ucy5jbGFzc05hbWUpLHQub25zZWxlY3RzdGFydD1hLHQub25tb3VzZW1vdmU9YX19KTt2YXIgUWU9TWUuZXh0ZW5kKHtvcHRpb25zOntvZmZzZXQ6WzAsN10sY2xhc3NOYW1lOiIiLHBhbmU6InBvcHVwUGFuZSJ9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxpKXtjKHRoaXMsdCksdGhpcy5fc291cmNlPWl9LG9uQWRkOmZ1bmN0aW9uKHQpe3RoaXMuX3pvb21BbmltYXRlZD10Ll96b29tQW5pbWF0ZWQsdGhpcy5fY29udGFpbmVyfHx0aGlzLl9pbml0TGF5b3V0KCksdC5fZmFkZUFuaW1hdGVkJiZtaSh0aGlzLl9jb250YWluZXIsMCksY2xlYXJUaW1lb3V0KHRoaXMuX3JlbW92ZVRpbWVvdXQpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy51cGRhdGUoKSx0Ll9mYWRlQW5pbWF0ZWQmJm1pKHRoaXMuX2NvbnRhaW5lciwxKSx0aGlzLmJyaW5nVG9Gcm9udCgpfSxvblJlbW92ZTpmdW5jdGlvbih0KXt0Ll9mYWRlQW5pbWF0ZWQ/KG1pKHRoaXMuX2NvbnRhaW5lciwwKSx0aGlzLl9yZW1vdmVUaW1lb3V0PXNldFRpbWVvdXQocChyaSx2b2lkIDAsdGhpcy5fY29udGFpbmVyKSwyMDApKTpyaSh0aGlzLl9jb250YWluZXIpfSxnZXRMYXRMbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGF0bG5nfSxzZXRMYXRMbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2xhdGxuZz1qKHQpLHRoaXMuX21hcCYmKHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCksdGhpcy5fYWRqdXN0UGFuKCkpLHRoaXN9LGdldENvbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGVudH0sc2V0Q29udGVudDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY29udGVudD10LHRoaXMudXBkYXRlKCksdGhpc30sZ2V0RWxlbWVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9LHVwZGF0ZTpmdW5jdGlvbigpe3RoaXMuX21hcCYmKHRoaXMuX2NvbnRhaW5lci5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHRoaXMuX3VwZGF0ZUNvbnRlbnQoKSx0aGlzLl91cGRhdGVMYXlvdXQoKSx0aGlzLl91cGRhdGVQb3NpdGlvbigpLHRoaXMuX2NvbnRhaW5lci5zdHlsZS52aXNpYmlsaXR5PSIiLHRoaXMuX2FkanVzdFBhbigpKX0sZ2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9e3pvb206dGhpcy5fdXBkYXRlUG9zaXRpb24sdmlld3Jlc2V0OnRoaXMuX3VwZGF0ZVBvc2l0aW9ufTtyZXR1cm4gdGhpcy5fem9vbUFuaW1hdGVkJiYodC56b29tYW5pbT10aGlzLl9hbmltYXRlWm9vbSksdH0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9tYXAmJnRoaXMuX21hcC5oYXNMYXllcih0aGlzKX0sYnJpbmdUb0Zyb250OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21hcCYmaGkodGhpcy5fY29udGFpbmVyKSx0aGlzfSxicmluZ1RvQmFjazpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJnVpKHRoaXMuX2NvbnRhaW5lciksdGhpc30sX3ByZXBhcmVPcGVuOmZ1bmN0aW9uKHQsaSxlKXtpZihpIGluc3RhbmNlb2YgTWV8fChlPWksaT10KSxpIGluc3RhbmNlb2YgQ2UpZm9yKHZhciBuIGluIHQuX2xheWVycyl7aT10Ll9sYXllcnNbbl07YnJlYWt9aWYoIWUpaWYoaS5nZXRDZW50ZXIpZT1pLmdldENlbnRlcigpO2Vsc2V7aWYoIWkuZ2V0TGF0TG5nKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGdldCBzb3VyY2UgbGF5ZXIgTGF0TG5nLiIpO2U9aS5nZXRMYXRMbmcoKX1yZXR1cm4gdGhpcy5fc291cmNlPWksdGhpcy51cGRhdGUoKSxlfSxfdXBkYXRlQ29udGVudDpmdW5jdGlvbigpe2lmKHRoaXMuX2NvbnRlbnQpe3ZhciB0PXRoaXMuX2NvbnRlbnROb2RlLGk9ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2NvbnRlbnQ/dGhpcy5fY29udGVudCh0aGlzLl9zb3VyY2V8fHRoaXMpOnRoaXMuX2NvbnRlbnQ7aWYoInN0cmluZyI9PXR5cGVvZiBpKXQuaW5uZXJIVE1MPWk7ZWxzZXtmb3IoO3QuaGFzQ2hpbGROb2RlcygpOyl0LnJlbW92ZUNoaWxkKHQuZmlyc3RDaGlsZCk7dC5hcHBlbmRDaGlsZChpKX10aGlzLmZpcmUoImNvbnRlbnR1cGRhdGUiKX19LF91cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0LGksZSxuLG87dGhpcy5fbWFwJiYodD10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXMuX2xhdGxuZyksaT1BKHRoaXMub3B0aW9ucy5vZmZzZXQpLGU9dGhpcy5fZ2V0QW5jaG9yKCksdGhpcy5fem9vbUFuaW1hdGVkP3ZpKHRoaXMuX2NvbnRhaW5lcix0LmFkZChlKSk6aT1pLmFkZCh0KS5hZGQoZSksbj10aGlzLl9jb250YWluZXJCb3R0b209LWkueSxvPXRoaXMuX2NvbnRhaW5lckxlZnQ9LU1hdGgucm91bmQodGhpcy5fY29udGFpbmVyV2lkdGgvMikraS54LHRoaXMuX2NvbnRhaW5lci5zdHlsZS5ib3R0b209bisicHgiLHRoaXMuX2NvbnRhaW5lci5zdHlsZS5sZWZ0PW8rInB4Iil9LF9nZXRBbmNob3I6ZnVuY3Rpb24oKXtyZXR1cm5bMCwwXX19KSx0bj1RZS5leHRlbmQoe29wdGlvbnM6e21heFdpZHRoOjMwMCxtaW5XaWR0aDo1MCxtYXhIZWlnaHQ6bnVsbCxhdXRvUGFuOiEwLGF1dG9QYW5QYWRkaW5nVG9wTGVmdDpudWxsLGF1dG9QYW5QYWRkaW5nQm90dG9tUmlnaHQ6bnVsbCxhdXRvUGFuUGFkZGluZzpbNSw1XSxrZWVwSW5WaWV3OiExLGNsb3NlQnV0dG9uOiEwLGF1dG9DbG9zZTohMCxjbG9zZU9uRXNjYXBlS2V5OiEwLGNsYXNzTmFtZToiIn0sb3Blbk9uOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm9wZW5Qb3B1cCh0aGlzKSx0aGlzfSxvbkFkZDpmdW5jdGlvbih0KXtRZS5wcm90b3R5cGUub25BZGQuY2FsbCh0aGlzLHQpLHQuZmlyZSgicG9wdXBvcGVuIix7cG9wdXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmKHRoaXMuX3NvdXJjZS5maXJlKCJwb3B1cG9wZW4iLHtwb3B1cDp0aGlzfSwhMCksdGhpcy5fc291cmNlIGluc3RhbmNlb2YgQmV8fHRoaXMuX3NvdXJjZS5vbigicHJlY2xpY2siLEFpKSl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe1FlLnByb3RvdHlwZS5vblJlbW92ZS5jYWxsKHRoaXMsdCksdC5maXJlKCJwb3B1cGNsb3NlIix7cG9wdXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmKHRoaXMuX3NvdXJjZS5maXJlKCJwb3B1cGNsb3NlIix7cG9wdXA6dGhpc30sITApLHRoaXMuX3NvdXJjZSBpbnN0YW5jZW9mIEJlfHx0aGlzLl9zb3VyY2Uub2ZmKCJwcmVjbGljayIsQWkpKX0sZ2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9UWUucHJvdG90eXBlLmdldEV2ZW50cy5jYWxsKHRoaXMpO3JldHVybih2b2lkIDAhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrP3RoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2s6dGhpcy5fbWFwLm9wdGlvbnMuY2xvc2VQb3B1cE9uQ2xpY2spJiYodC5wcmVjbGljaz10aGlzLl9jbG9zZSksdGhpcy5vcHRpb25zLmtlZXBJblZpZXcmJih0Lm1vdmVlbmQ9dGhpcy5fYWRqdXN0UGFuKSx0fSxfY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJnRoaXMuX21hcC5jbG9zZVBvcHVwKHRoaXMpfSxfaW5pdExheW91dDpmdW5jdGlvbigpe3ZhciB0LGk9ImxlYWZsZXQtcG9wdXAiLGU9dGhpcy5fY29udGFpbmVyPXNpKCJkaXYiLGkrIiAiKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lfHwiIikrIiBsZWFmbGV0LXpvb20tYW5pbWF0ZWQiKSxuPXRoaXMuX3dyYXBwZXI9c2koImRpdiIsaSsiLWNvbnRlbnQtd3JhcHBlciIsZSk7dGhpcy5fY29udGVudE5vZGU9c2koImRpdiIsaSsiLWNvbnRlbnQiLG4pLE9pKGUpLElpKHRoaXMuX2NvbnRlbnROb2RlKSx6aShlLCJjb250ZXh0bWVudSIsQWkpLHRoaXMuX3RpcENvbnRhaW5lcj1zaSgiZGl2IixpKyItdGlwLWNvbnRhaW5lciIsZSksdGhpcy5fdGlwPXNpKCJkaXYiLGkrIi10aXAiLHRoaXMuX3RpcENvbnRhaW5lciksdGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYoKHQ9dGhpcy5fY2xvc2VCdXR0b249c2koImEiLGkrIi1jbG9zZS1idXR0b24iLGUpKS5ocmVmPSIjY2xvc2UiLHQuaW5uZXJIVE1MPSImIzIxNTsiLHppKHQsImNsaWNrIix0aGlzLl9vbkNsb3NlQnV0dG9uQ2xpY2ssdGhpcykpfSxfdXBkYXRlTGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29udGVudE5vZGUsaT10LnN0eWxlO2kud2lkdGg9IiIsaS53aGl0ZVNwYWNlPSJub3dyYXAiO3ZhciBlPXQub2Zmc2V0V2lkdGgsZT1NYXRoLm1pbihlLHRoaXMub3B0aW9ucy5tYXhXaWR0aCk7ZT1NYXRoLm1heChlLHRoaXMub3B0aW9ucy5taW5XaWR0aCksaS53aWR0aD1lKzErInB4IixpLndoaXRlU3BhY2U9IiIsaS5oZWlnaHQ9IiI7dmFyIG49dC5vZmZzZXRIZWlnaHQsbz10aGlzLm9wdGlvbnMubWF4SGVpZ2h0LHM9ImxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQiO28mJm88bj8oaS5oZWlnaHQ9bysicHgiLGNpKHQscykpOl9pKHQscyksdGhpcy5fY29udGFpbmVyV2lkdGg9dGhpcy5fY29udGFpbmVyLm9mZnNldFdpZHRofSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLHQuem9vbSx0LmNlbnRlciksZT10aGlzLl9nZXRBbmNob3IoKTt2aSh0aGlzLl9jb250YWluZXIsaS5hZGQoZSkpfSxfYWRqdXN0UGFuOmZ1bmN0aW9uKCl7dmFyIHQsaSxlLG4sbyxzLHIsYSxoLHUsbCxjO3RoaXMub3B0aW9ucy5hdXRvUGFuJiYodGhpcy5fbWFwLl9wYW5BbmltJiZ0aGlzLl9tYXAuX3BhbkFuaW0uc3RvcCgpLHQ9dGhpcy5fbWFwLGk9cGFyc2VJbnQob2kodGhpcy5fY29udGFpbmVyLCJtYXJnaW5Cb3R0b20iKSwxMCl8fDAsZT10aGlzLl9jb250YWluZXIub2Zmc2V0SGVpZ2h0K2ksbj10aGlzLl9jb250YWluZXJXaWR0aCwobz1uZXcgayh0aGlzLl9jb250YWluZXJMZWZ0LC1lLXRoaXMuX2NvbnRhaW5lckJvdHRvbSkpLl9hZGQoeWkodGhpcy5fY29udGFpbmVyKSkscz10LmxheWVyUG9pbnRUb0NvbnRhaW5lclBvaW50KG8pLHI9QSh0aGlzLm9wdGlvbnMuYXV0b1BhblBhZGRpbmcpLGE9QSh0aGlzLm9wdGlvbnMuYXV0b1BhblBhZGRpbmdUb3BMZWZ0fHxyKSxoPUEodGhpcy5vcHRpb25zLmF1dG9QYW5QYWRkaW5nQm90dG9tUmlnaHR8fHIpLHU9dC5nZXRTaXplKCksYz1sPTAscy54K24raC54PnUueCYmKGw9cy54K24tdS54K2gueCkscy54LWwtYS54PDAmJihsPXMueC1hLngpLHMueStlK2gueT51LnkmJihjPXMueStlLXUueStoLnkpLHMueS1jLWEueTwwJiYoYz1zLnktYS55KSwobHx8YykmJnQuZmlyZSgiYXV0b3BhbnN0YXJ0IikucGFuQnkoW2wsY10pKX0sX29uQ2xvc2VCdXR0b25DbGljazpmdW5jdGlvbih0KXt0aGlzLl9jbG9zZSgpLE5pKHQpfSxfZ2V0QW5jaG9yOmZ1bmN0aW9uKCl7cmV0dXJuIEEodGhpcy5fc291cmNlJiZ0aGlzLl9zb3VyY2UuX2dldFBvcHVwQW5jaG9yP3RoaXMuX3NvdXJjZS5fZ2V0UG9wdXBBbmNob3IoKTpbMCwwXSl9fSk7S2kubWVyZ2VPcHRpb25zKHtjbG9zZVBvcHVwT25DbGljazohMH0pLEtpLmluY2x1ZGUoe29wZW5Qb3B1cDpmdW5jdGlvbih0LGksZSl7cmV0dXJuIHQgaW5zdGFuY2VvZiB0bnx8KHQ9bmV3IHRuKGUpLnNldENvbnRlbnQodCkpLGkmJnQuc2V0TGF0TG5nKGkpLHRoaXMuaGFzTGF5ZXIodCk/dGhpczoodGhpcy5fcG9wdXAmJnRoaXMuX3BvcHVwLm9wdGlvbnMuYXV0b0Nsb3NlJiZ0aGlzLmNsb3NlUG9wdXAoKSx0aGlzLl9wb3B1cD10LHRoaXMuYWRkTGF5ZXIodCkpfSxjbG9zZVBvcHVwOmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0IT09dGhpcy5fcG9wdXB8fCh0PXRoaXMuX3BvcHVwLHRoaXMuX3BvcHVwPW51bGwpLHQmJnRoaXMucmVtb3ZlTGF5ZXIodCksdGhpc319KSxNZS5pbmNsdWRlKHtiaW5kUG9wdXA6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRuPyhjKHQsaSksKHRoaXMuX3BvcHVwPXQpLl9zb3VyY2U9dGhpcyk6KHRoaXMuX3BvcHVwJiYhaXx8KHRoaXMuX3BvcHVwPW5ldyB0bihpLHRoaXMpKSx0aGlzLl9wb3B1cC5zZXRDb250ZW50KHQpKSx0aGlzLl9wb3B1cEhhbmRsZXJzQWRkZWR8fCh0aGlzLm9uKHtjbGljazp0aGlzLl9vcGVuUG9wdXAsa2V5cHJlc3M6dGhpcy5fb25LZXlQcmVzcyxyZW1vdmU6dGhpcy5jbG9zZVBvcHVwLG1vdmU6dGhpcy5fbW92ZVBvcHVwfSksdGhpcy5fcG9wdXBIYW5kbGVyc0FkZGVkPSEwKSx0aGlzfSx1bmJpbmRQb3B1cDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wb3B1cCYmKHRoaXMub2ZmKHtjbGljazp0aGlzLl9vcGVuUG9wdXAsa2V5cHJlc3M6dGhpcy5fb25LZXlQcmVzcyxyZW1vdmU6dGhpcy5jbG9zZVBvcHVwLG1vdmU6dGhpcy5fbW92ZVBvcHVwfSksdGhpcy5fcG9wdXBIYW5kbGVyc0FkZGVkPSExLHRoaXMuX3BvcHVwPW51bGwpLHRoaXN9LG9wZW5Qb3B1cDpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLl9wb3B1cCYmdGhpcy5fbWFwJiYoaT10aGlzLl9wb3B1cC5fcHJlcGFyZU9wZW4odGhpcyx0LGkpLHRoaXMuX21hcC5vcGVuUG9wdXAodGhpcy5fcG9wdXAsaSkpLHRoaXN9LGNsb3NlUG9wdXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9wdXAmJnRoaXMuX3BvcHVwLl9jbG9zZSgpLHRoaXN9LHRvZ2dsZVBvcHVwOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb3B1cCYmKHRoaXMuX3BvcHVwLl9tYXA/dGhpcy5jbG9zZVBvcHVwKCk6dGhpcy5vcGVuUG9wdXAodCkpLHRoaXN9LGlzUG9wdXBPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLl9wb3B1cCYmdGhpcy5fcG9wdXAuaXNPcGVuKCl9LHNldFBvcHVwQ29udGVudDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9wdXAmJnRoaXMuX3BvcHVwLnNldENvbnRlbnQodCksdGhpc30sZ2V0UG9wdXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9wdXB9LF9vcGVuUG9wdXA6ZnVuY3Rpb24odCl7dmFyIGk9dC5sYXllcnx8dC50YXJnZXQ7dGhpcy5fcG9wdXAmJnRoaXMuX21hcCYmKE5pKHQpLGkgaW5zdGFuY2VvZiBCZT90aGlzLm9wZW5Qb3B1cCh0LmxheWVyfHx0LnRhcmdldCx0LmxhdGxuZyk6dGhpcy5fbWFwLmhhc0xheWVyKHRoaXMuX3BvcHVwKSYmdGhpcy5fcG9wdXAuX3NvdXJjZT09PWk/dGhpcy5jbG9zZVBvcHVwKCk6dGhpcy5vcGVuUG9wdXAoaSx0LmxhdGxuZykpfSxfbW92ZVBvcHVwOmZ1bmN0aW9uKHQpe3RoaXMuX3BvcHVwLnNldExhdExuZyh0LmxhdGxuZyl9LF9vbktleVByZXNzOmZ1bmN0aW9uKHQpezEzPT09dC5vcmlnaW5hbEV2ZW50LmtleUNvZGUmJnRoaXMuX29wZW5Qb3B1cCh0KX19KTt2YXIgZW49UWUuZXh0ZW5kKHtvcHRpb25zOntwYW5lOiJ0b29sdGlwUGFuZSIsb2Zmc2V0OlswLDBdLGRpcmVjdGlvbjoiYXV0byIscGVybWFuZW50OiExLHN0aWNreTohMSxpbnRlcmFjdGl2ZTohMSxvcGFjaXR5Oi45fSxvbkFkZDpmdW5jdGlvbih0KXtRZS5wcm90b3R5cGUub25BZGQuY2FsbCh0aGlzLHQpLHRoaXMuc2V0T3BhY2l0eSh0aGlzLm9wdGlvbnMub3BhY2l0eSksdC5maXJlKCJ0b29sdGlwb3BlbiIse3Rvb2x0aXA6dGhpc30pLHRoaXMuX3NvdXJjZSYmdGhpcy5fc291cmNlLmZpcmUoInRvb2x0aXBvcGVuIix7dG9vbHRpcDp0aGlzfSwhMCl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe1FlLnByb3RvdHlwZS5vblJlbW92ZS5jYWxsKHRoaXMsdCksdC5maXJlKCJ0b29sdGlwY2xvc2UiLHt0b29sdGlwOnRoaXN9KSx0aGlzLl9zb3VyY2UmJnRoaXMuX3NvdXJjZS5maXJlKCJ0b29sdGlwY2xvc2UiLHt0b29sdGlwOnRoaXN9LCEwKX0sZ2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9UWUucHJvdG90eXBlLmdldEV2ZW50cy5jYWxsKHRoaXMpO3JldHVybiBidCYmIXRoaXMub3B0aW9ucy5wZXJtYW5lbnQmJih0LnByZWNsaWNrPXRoaXMuX2Nsb3NlKSx0fSxfY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJnRoaXMuX21hcC5jbG9zZVRvb2x0aXAodGhpcyl9LF9pbml0TGF5b3V0OmZ1bmN0aW9uKCl7dmFyIHQ9ImxlYWZsZXQtdG9vbHRpcCAiKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lfHwiIikrIiBsZWFmbGV0LXpvb20tIisodGhpcy5fem9vbUFuaW1hdGVkPyJhbmltYXRlZCI6ImhpZGUiKTt0aGlzLl9jb250ZW50Tm9kZT10aGlzLl9jb250YWluZXI9c2koImRpdiIsdCl9LF91cGRhdGVMYXlvdXQ6ZnVuY3Rpb24oKXt9LF9hZGp1c3RQYW46ZnVuY3Rpb24oKXt9LF9zZXRQb3NpdGlvbjpmdW5jdGlvbih0KXt2YXIgaSxlPXRoaXMuX21hcCxuPXRoaXMuX2NvbnRhaW5lcixvPWUubGF0TG5nVG9Db250YWluZXJQb2ludChlLmdldENlbnRlcigpKSxzPWUubGF5ZXJQb2ludFRvQ29udGFpbmVyUG9pbnQodCkscj10aGlzLm9wdGlvbnMuZGlyZWN0aW9uLGE9bi5vZmZzZXRXaWR0aCxoPW4ub2Zmc2V0SGVpZ2h0LHU9QSh0aGlzLm9wdGlvbnMub2Zmc2V0KSxsPXRoaXMuX2dldEFuY2hvcigpLGM9InRvcCI9PT1yPyhpPWEvMixoKToiYm90dG9tIj09PXI/KGk9YS8yLDApOihpPSJjZW50ZXIiPT09cj9hLzI6InJpZ2h0Ij09PXI/MDoibGVmdCI9PT1yP2E6cy54PG8ueD8ocj0icmlnaHQiLDApOihyPSJsZWZ0IixhKzIqKHUueCtsLngpKSxoLzIpO3Q9dC5zdWJ0cmFjdChBKGksYywhMCkpLmFkZCh1KS5hZGQobCksX2kobiwibGVhZmxldC10b29sdGlwLXJpZ2h0IiksX2kobiwibGVhZmxldC10b29sdGlwLWxlZnQiKSxfaShuLCJsZWFmbGV0LXRvb2x0aXAtdG9wIiksX2kobiwibGVhZmxldC10b29sdGlwLWJvdHRvbSIpLGNpKG4sImxlYWZsZXQtdG9vbHRpcC0iK3IpLHZpKG4sdCl9LF91cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKTt0aGlzLl9zZXRQb3NpdGlvbih0KX0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXt0aGlzLm9wdGlvbnMub3BhY2l0eT10LHRoaXMuX2NvbnRhaW5lciYmbWkodGhpcy5fY29udGFpbmVyLHQpfSxfYW5pbWF0ZVpvb206ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLHQuem9vbSx0LmNlbnRlcik7dGhpcy5fc2V0UG9zaXRpb24oaSl9LF9nZXRBbmNob3I6ZnVuY3Rpb24oKXtyZXR1cm4gQSh0aGlzLl9zb3VyY2UmJnRoaXMuX3NvdXJjZS5fZ2V0VG9vbHRpcEFuY2hvciYmIXRoaXMub3B0aW9ucy5zdGlja3k/dGhpcy5fc291cmNlLl9nZXRUb29sdGlwQW5jaG9yKCk6WzAsMF0pfX0pO0tpLmluY2x1ZGUoe29wZW5Ub29sdGlwOmZ1bmN0aW9uKHQsaSxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGVufHwodD1uZXcgZW4oZSkuc2V0Q29udGVudCh0KSksaSYmdC5zZXRMYXRMbmcoaSksdGhpcy5oYXNMYXllcih0KT90aGlzOnRoaXMuYWRkTGF5ZXIodCl9LGNsb3NlVG9vbHRpcDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdGhpcy5yZW1vdmVMYXllcih0KSx0aGlzfX0pLE1lLmluY2x1ZGUoe2JpbmRUb29sdGlwOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQgaW5zdGFuY2VvZiBlbj8oYyh0LGkpLCh0aGlzLl90b29sdGlwPXQpLl9zb3VyY2U9dGhpcyk6KHRoaXMuX3Rvb2x0aXAmJiFpfHwodGhpcy5fdG9vbHRpcD1uZXcgZW4oaSx0aGlzKSksdGhpcy5fdG9vbHRpcC5zZXRDb250ZW50KHQpKSx0aGlzLl9pbml0VG9vbHRpcEludGVyYWN0aW9ucygpLHRoaXMuX3Rvb2x0aXAub3B0aW9ucy5wZXJtYW5lbnQmJnRoaXMuX21hcCYmdGhpcy5fbWFwLmhhc0xheWVyKHRoaXMpJiZ0aGlzLm9wZW5Ub29sdGlwKCksdGhpc30sdW5iaW5kVG9vbHRpcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90b29sdGlwJiYodGhpcy5faW5pdFRvb2x0aXBJbnRlcmFjdGlvbnMoITApLHRoaXMuY2xvc2VUb29sdGlwKCksdGhpcy5fdG9vbHRpcD1udWxsKSx0aGlzfSxfaW5pdFRvb2x0aXBJbnRlcmFjdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGksZTshdCYmdGhpcy5fdG9vbHRpcEhhbmRsZXJzQWRkZWR8fChpPXQ/Im9mZiI6Im9uIixlPXtyZW1vdmU6dGhpcy5jbG9zZVRvb2x0aXAsbW92ZTp0aGlzLl9tb3ZlVG9vbHRpcH0sdGhpcy5fdG9vbHRpcC5vcHRpb25zLnBlcm1hbmVudD9lLmFkZD10aGlzLl9vcGVuVG9vbHRpcDooZS5tb3VzZW92ZXI9dGhpcy5fb3BlblRvb2x0aXAsZS5tb3VzZW91dD10aGlzLmNsb3NlVG9vbHRpcCx0aGlzLl90b29sdGlwLm9wdGlvbnMuc3RpY2t5JiYoZS5tb3VzZW1vdmU9dGhpcy5fbW92ZVRvb2x0aXApLGJ0JiYoZS5jbGljaz10aGlzLl9vcGVuVG9vbHRpcCkpLHRoaXNbaV0oZSksdGhpcy5fdG9vbHRpcEhhbmRsZXJzQWRkZWQ9IXQpfSxvcGVuVG9vbHRpcDpmdW5jdGlvbih0LGkpe3JldHVybiB0aGlzLl90b29sdGlwJiZ0aGlzLl9tYXAmJihpPXRoaXMuX3Rvb2x0aXAuX3ByZXBhcmVPcGVuKHRoaXMsdCxpKSx0aGlzLl9tYXAub3BlblRvb2x0aXAodGhpcy5fdG9vbHRpcCxpKSx0aGlzLl90b29sdGlwLm9wdGlvbnMuaW50ZXJhY3RpdmUmJnRoaXMuX3Rvb2x0aXAuX2NvbnRhaW5lciYmKGNpKHRoaXMuX3Rvb2x0aXAuX2NvbnRhaW5lciwibGVhZmxldC1jbGlja2FibGUiKSx0aGlzLmFkZEludGVyYWN0aXZlVGFyZ2V0KHRoaXMuX3Rvb2x0aXAuX2NvbnRhaW5lcikpKSx0aGlzfSxjbG9zZVRvb2x0aXA6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdG9vbHRpcCYmKHRoaXMuX3Rvb2x0aXAuX2Nsb3NlKCksdGhpcy5fdG9vbHRpcC5vcHRpb25zLmludGVyYWN0aXZlJiZ0aGlzLl90b29sdGlwLl9jb250YWluZXImJihfaSh0aGlzLl90b29sdGlwLl9jb250YWluZXIsImxlYWZsZXQtY2xpY2thYmxlIiksdGhpcy5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldCh0aGlzLl90b29sdGlwLl9jb250YWluZXIpKSksdGhpc30sdG9nZ2xlVG9vbHRpcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdG9vbHRpcCYmKHRoaXMuX3Rvb2x0aXAuX21hcD90aGlzLmNsb3NlVG9vbHRpcCgpOnRoaXMub3BlblRvb2x0aXAodCkpLHRoaXN9LGlzVG9vbHRpcE9wZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdG9vbHRpcC5pc09wZW4oKX0sc2V0VG9vbHRpcENvbnRlbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXAmJnRoaXMuX3Rvb2x0aXAuc2V0Q29udGVudCh0KSx0aGlzfSxnZXRUb29sdGlwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Rvb2x0aXB9LF9vcGVuVG9vbHRpcDpmdW5jdGlvbih0KXt2YXIgaT10LmxheWVyfHx0LnRhcmdldDt0aGlzLl90b29sdGlwJiZ0aGlzLl9tYXAmJnRoaXMub3BlblRvb2x0aXAoaSx0aGlzLl90b29sdGlwLm9wdGlvbnMuc3RpY2t5P3QubGF0bG5nOnZvaWQgMCl9LF9tb3ZlVG9vbHRpcDpmdW5jdGlvbih0KXt2YXIgaSxlLG49dC5sYXRsbmc7dGhpcy5fdG9vbHRpcC5vcHRpb25zLnN0aWNreSYmdC5vcmlnaW5hbEV2ZW50JiYoaT10aGlzLl9tYXAubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodC5vcmlnaW5hbEV2ZW50KSxlPXRoaXMuX21hcC5jb250YWluZXJQb2ludFRvTGF5ZXJQb2ludChpKSxuPXRoaXMuX21hcC5sYXllclBvaW50VG9MYXRMbmcoZSkpLHRoaXMuX3Rvb2x0aXAuc2V0TGF0TG5nKG4pfX0pO3ZhciBubj1TZS5leHRlbmQoe29wdGlvbnM6e2ljb25TaXplOlsxMiwxMl0saHRtbDohMSxiZ1BvczpudWxsLGNsYXNzTmFtZToibGVhZmxldC1kaXYtaWNvbiJ9LGNyZWF0ZUljb246ZnVuY3Rpb24odCl7dmFyIGksZT10JiYiRElWIj09PXQudGFnTmFtZT90OmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49dGhpcy5vcHRpb25zO3JldHVybiBuLmh0bWwgaW5zdGFuY2VvZiBFbGVtZW50PyhhaShlKSxlLmFwcGVuZENoaWxkKG4uaHRtbCkpOmUuaW5uZXJIVE1MPSExIT09bi5odG1sP24uaHRtbDoiIixuLmJnUG9zJiYoaT1BKG4uYmdQb3MpLGUuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uPS1pLngrInB4ICIrLWkueSsicHgiKSx0aGlzLl9zZXRJY29uU3R5bGVzKGUsImljb24iKSxlfSxjcmVhdGVTaGFkb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KTtTZS5EZWZhdWx0PVplO3ZhciBvbj1NZS5leHRlbmQoe29wdGlvbnM6e3RpbGVTaXplOjI1NixvcGFjaXR5OjEsdXBkYXRlV2hlbklkbGU6eXQsdXBkYXRlV2hlblpvb21pbmc6ITAsdXBkYXRlSW50ZXJ2YWw6MjAwLHpJbmRleDoxLGJvdW5kczpudWxsLG1pblpvb206MCxtYXhab29tOnZvaWQgMCxtYXhOYXRpdmVab29tOnZvaWQgMCxtaW5OYXRpdmVab29tOnZvaWQgMCxub1dyYXA6ITEscGFuZToidGlsZVBhbmUiLGNsYXNzTmFtZToiIixrZWVwQnVmZmVyOjJ9LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7Yyh0aGlzLHQpfSxvbkFkZDpmdW5jdGlvbigpe3RoaXMuX2luaXRDb250YWluZXIoKSx0aGlzLl9sZXZlbHM9e30sdGhpcy5fdGlsZXM9e30sdGhpcy5fcmVzZXRWaWV3KCksdGhpcy5fdXBkYXRlKCl9LGJlZm9yZUFkZDpmdW5jdGlvbih0KXt0Ll9hZGRab29tTGltaXQodGhpcyl9LG9uUmVtb3ZlOmZ1bmN0aW9uKHQpe3RoaXMuX3JlbW92ZUFsbFRpbGVzKCkscmkodGhpcy5fY29udGFpbmVyKSx0Ll9yZW1vdmVab29tTGltaXQodGhpcyksdGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fdGlsZVpvb209dm9pZCAwfSxicmluZ1RvRnJvbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYoaGkodGhpcy5fY29udGFpbmVyKSx0aGlzLl9zZXRBdXRvWkluZGV4KE1hdGgubWF4KSksdGhpc30sYnJpbmdUb0JhY2s6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWFwJiYodWkodGhpcy5fY29udGFpbmVyKSx0aGlzLl9zZXRBdXRvWkluZGV4KE1hdGgubWluKSksdGhpc30sZ2V0Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbnRhaW5lcn0sc2V0T3BhY2l0eTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm9wYWNpdHk9dCx0aGlzLl91cGRhdGVPcGFjaXR5KCksdGhpc30sc2V0WkluZGV4OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMuekluZGV4PXQsdGhpcy5fdXBkYXRlWkluZGV4KCksdGhpc30saXNMb2FkaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xvYWRpbmd9LHJlZHJhdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXAmJih0aGlzLl9yZW1vdmVBbGxUaWxlcygpLHRoaXMuX3VwZGF0ZSgpKSx0aGlzfSxnZXRFdmVudHM6ZnVuY3Rpb24oKXt2YXIgdD17dmlld3ByZXJlc2V0OnRoaXMuX2ludmFsaWRhdGVBbGwsdmlld3Jlc2V0OnRoaXMuX3Jlc2V0Vmlldyx6b29tOnRoaXMuX3Jlc2V0Vmlldyxtb3ZlZW5kOnRoaXMuX29uTW92ZUVuZH07cmV0dXJuIHRoaXMub3B0aW9ucy51cGRhdGVXaGVuSWRsZXx8KHRoaXMuX29uTW92ZXx8KHRoaXMuX29uTW92ZT1uKHRoaXMuX29uTW92ZUVuZCx0aGlzLm9wdGlvbnMudXBkYXRlSW50ZXJ2YWwsdGhpcykpLHQubW92ZT10aGlzLl9vbk1vdmUpLHRoaXMuX3pvb21BbmltYXRlZCYmKHQuem9vbWFuaW09dGhpcy5fYW5pbWF0ZVpvb20pLHR9LGNyZWF0ZVRpbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iil9LGdldFRpbGVTaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnRpbGVTaXplO3JldHVybiB0IGluc3RhbmNlb2Ygaz90Om5ldyBrKHQsdCl9LF91cGRhdGVaSW5kZXg6ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXImJnZvaWQgMCE9PXRoaXMub3B0aW9ucy56SW5kZXgmJm51bGwhPT10aGlzLm9wdGlvbnMuekluZGV4JiYodGhpcy5fY29udGFpbmVyLnN0eWxlLnpJbmRleD10aGlzLm9wdGlvbnMuekluZGV4KX0sX3NldEF1dG9aSW5kZXg6ZnVuY3Rpb24odCl7Zm9yKHZhciBpLGU9dGhpcy5nZXRQYW5lKCkuY2hpbGRyZW4sbj0tdCgtMS8wLDEvMCksbz0wLHM9ZS5sZW5ndGg7bzxzO28rKylpPWVbb10uc3R5bGUuekluZGV4LGVbb10hPT10aGlzLl9jb250YWluZXImJmkmJihuPXQobiwraSkpO2lzRmluaXRlKG4pJiYodGhpcy5vcHRpb25zLnpJbmRleD1uK3QoLTEsMSksdGhpcy5fdXBkYXRlWkluZGV4KCkpfSxfdXBkYXRlT3BhY2l0eTpmdW5jdGlvbigpe2lmKHRoaXMuX21hcCYmIWl0KXttaSh0aGlzLl9jb250YWluZXIsdGhpcy5vcHRpb25zLm9wYWNpdHkpO3ZhciB0PStuZXcgRGF0ZSxpPSExLGU9ITE7Zm9yKHZhciBuIGluIHRoaXMuX3RpbGVzKXt2YXIgbyxzPXRoaXMuX3RpbGVzW25dO3MuY3VycmVudCYmcy5sb2FkZWQmJihvPU1hdGgubWluKDEsKHQtcy5sb2FkZWQpLzIwMCksbWkocy5lbCxvKSxvPDE/aT0hMDoocy5hY3RpdmU/ZT0hMDp0aGlzLl9vbk9wYXF1ZVRpbGUocykscy5hY3RpdmU9ITApKX1lJiYhdGhpcy5fbm9QcnVuZSYmdGhpcy5fcHJ1bmVUaWxlcygpLGkmJih6KHRoaXMuX2ZhZGVGcmFtZSksdGhpcy5fZmFkZUZyYW1lPU0odGhpcy5fdXBkYXRlT3BhY2l0eSx0aGlzKSl9fSxfb25PcGFxdWVUaWxlOmEsX2luaXRDb250YWluZXI6ZnVuY3Rpb24oKXt0aGlzLl9jb250YWluZXJ8fCh0aGlzLl9jb250YWluZXI9c2koImRpdiIsImxlYWZsZXQtbGF5ZXIgIisodGhpcy5vcHRpb25zLmNsYXNzTmFtZXx8IiIpKSx0aGlzLl91cGRhdGVaSW5kZXgoKSx0aGlzLm9wdGlvbnMub3BhY2l0eTwxJiZ0aGlzLl91cGRhdGVPcGFjaXR5KCksdGhpcy5nZXRQYW5lKCkuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyKSl9LF91cGRhdGVMZXZlbHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90aWxlWm9vbSxpPXRoaXMub3B0aW9ucy5tYXhab29tO2lmKHZvaWQgMCE9PXQpe2Zvcih2YXIgZSBpbiB0aGlzLl9sZXZlbHMpZT1OdW1iZXIoZSksdGhpcy5fbGV2ZWxzW2VdLmVsLmNoaWxkcmVuLmxlbmd0aHx8ZT09PXQ/KHRoaXMuX2xldmVsc1tlXS5lbC5zdHlsZS56SW5kZXg9aS1NYXRoLmFicyh0LWUpLHRoaXMuX29uVXBkYXRlTGV2ZWwoZSkpOihyaSh0aGlzLl9sZXZlbHNbZV0uZWwpLHRoaXMuX3JlbW92ZVRpbGVzQXRab29tKGUpLHRoaXMuX29uUmVtb3ZlTGV2ZWwoZSksZGVsZXRlIHRoaXMuX2xldmVsc1tlXSk7dmFyIG49dGhpcy5fbGV2ZWxzW3RdLG89dGhpcy5fbWFwO3JldHVybiBufHwoKG49dGhpcy5fbGV2ZWxzW3RdPXt9KS5lbD1zaSgiZGl2IiwibGVhZmxldC10aWxlLWNvbnRhaW5lciBsZWFmbGV0LXpvb20tYW5pbWF0ZWQiLHRoaXMuX2NvbnRhaW5lciksbi5lbC5zdHlsZS56SW5kZXg9aSxuLm9yaWdpbj1vLnByb2plY3Qoby51bnByb2plY3Qoby5nZXRQaXhlbE9yaWdpbigpKSx0KS5yb3VuZCgpLG4uem9vbT10LHRoaXMuX3NldFpvb21UcmFuc2Zvcm0obixvLmdldENlbnRlcigpLG8uZ2V0Wm9vbSgpKSxhKG4uZWwub2Zmc2V0V2lkdGgpLHRoaXMuX29uQ3JlYXRlTGV2ZWwobikpLHRoaXMuX2xldmVsPW59fSxfb25VcGRhdGVMZXZlbDphLF9vblJlbW92ZUxldmVsOmEsX29uQ3JlYXRlTGV2ZWw6YSxfcHJ1bmVUaWxlczpmdW5jdGlvbigpe2lmKHRoaXMuX21hcCl7dmFyIHQsaSxlLG49dGhpcy5fbWFwLmdldFpvb20oKTtpZihuPnRoaXMub3B0aW9ucy5tYXhab29tfHxuPHRoaXMub3B0aW9ucy5taW5ab29tKXRoaXMuX3JlbW92ZUFsbFRpbGVzKCk7ZWxzZXtmb3IodCBpbiB0aGlzLl90aWxlcykoZT10aGlzLl90aWxlc1t0XSkucmV0YWluPWUuY3VycmVudDtmb3IodCBpbiB0aGlzLl90aWxlcyl7KGU9dGhpcy5fdGlsZXNbdF0pLmN1cnJlbnQmJiFlLmFjdGl2ZSYmKGk9ZS5jb29yZHMsdGhpcy5fcmV0YWluUGFyZW50KGkueCxpLnksaS56LGkuei01KXx8dGhpcy5fcmV0YWluQ2hpbGRyZW4oaS54LGkueSxpLnosaS56KzIpKX1mb3IodCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5yZXRhaW58fHRoaXMuX3JlbW92ZVRpbGUodCl9fX0sX3JlbW92ZVRpbGVzQXRab29tOmZ1bmN0aW9uKHQpe2Zvcih2YXIgaSBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1tpXS5jb29yZHMuej09PXQmJnRoaXMuX3JlbW92ZVRpbGUoaSl9LF9yZW1vdmVBbGxUaWxlczpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcyl0aGlzLl9yZW1vdmVUaWxlKHQpfSxfaW52YWxpZGF0ZUFsbDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl9sZXZlbHMpcmkodGhpcy5fbGV2ZWxzW3RdLmVsKSx0aGlzLl9vblJlbW92ZUxldmVsKE51bWJlcih0KSksZGVsZXRlIHRoaXMuX2xldmVsc1t0XTt0aGlzLl9yZW1vdmVBbGxUaWxlcygpLHRoaXMuX3RpbGVab29tPXZvaWQgMH0sX3JldGFpblBhcmVudDpmdW5jdGlvbih0LGksZSxuKXt2YXIgbz1NYXRoLmZsb29yKHQvMikscz1NYXRoLmZsb29yKGkvMikscj1lLTEsYT1uZXcgaygrbywrcyk7YS56PStyO3ZhciBoPXRoaXMuX3RpbGVDb29yZHNUb0tleShhKSx1PXRoaXMuX3RpbGVzW2hdO3JldHVybiB1JiZ1LmFjdGl2ZT91LnJldGFpbj0hMDoodSYmdS5sb2FkZWQmJih1LnJldGFpbj0hMCksbjxyJiZ0aGlzLl9yZXRhaW5QYXJlbnQobyxzLHIsbikpfSxfcmV0YWluQ2hpbGRyZW46ZnVuY3Rpb24odCxpLGUsbil7Zm9yKHZhciBvPTIqdDtvPDIqdCsyO28rKylmb3IodmFyIHM9MippO3M8MippKzI7cysrKXt2YXIgcj1uZXcgayhvLHMpO3Iuej1lKzE7dmFyIGE9dGhpcy5fdGlsZUNvb3Jkc1RvS2V5KHIpLGg9dGhpcy5fdGlsZXNbYV07aCYmaC5hY3RpdmU/aC5yZXRhaW49ITA6KGgmJmgubG9hZGVkJiYoaC5yZXRhaW49ITApLGUrMTxuJiZ0aGlzLl9yZXRhaW5DaGlsZHJlbihvLHMsZSsxLG4pKX19LF9yZXNldFZpZXc6ZnVuY3Rpb24odCl7dmFyIGk9dCYmKHQucGluY2h8fHQuZmx5VG8pO3RoaXMuX3NldFZpZXcodGhpcy5fbWFwLmdldENlbnRlcigpLHRoaXMuX21hcC5nZXRab29tKCksaSxpKX0sX2FuaW1hdGVab29tOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFZpZXcodC5jZW50ZXIsdC56b29tLCEwLHQubm9VcGRhdGUpfSxfY2xhbXBab29tOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucztyZXR1cm4gdm9pZCAwIT09aS5taW5OYXRpdmVab29tJiZ0PGkubWluTmF0aXZlWm9vbT9pLm1pbk5hdGl2ZVpvb206dm9pZCAwIT09aS5tYXhOYXRpdmVab29tJiZpLm1heE5hdGl2ZVpvb208dD9pLm1heE5hdGl2ZVpvb206dH0sX3NldFZpZXc6ZnVuY3Rpb24odCxpLGUsbil7dmFyIG89TWF0aC5yb3VuZChpKSxvPXZvaWQgMCE9PXRoaXMub3B0aW9ucy5tYXhab29tJiZvPnRoaXMub3B0aW9ucy5tYXhab29tfHx2b2lkIDAhPT10aGlzLm9wdGlvbnMubWluWm9vbSYmbzx0aGlzLm9wdGlvbnMubWluWm9vbT92b2lkIDA6dGhpcy5fY2xhbXBab29tKG8pLHM9dGhpcy5vcHRpb25zLnVwZGF0ZVdoZW5ab29taW5nJiZvIT09dGhpcy5fdGlsZVpvb207biYmIXN8fCh0aGlzLl90aWxlWm9vbT1vLHRoaXMuX2Fib3J0TG9hZGluZyYmdGhpcy5fYWJvcnRMb2FkaW5nKCksdGhpcy5fdXBkYXRlTGV2ZWxzKCksdGhpcy5fcmVzZXRHcmlkKCksdm9pZCAwIT09byYmdGhpcy5fdXBkYXRlKHQpLGV8fHRoaXMuX3BydW5lVGlsZXMoKSx0aGlzLl9ub1BydW5lPSEhZSksdGhpcy5fc2V0Wm9vbVRyYW5zZm9ybXModCxpKX0sX3NldFpvb21UcmFuc2Zvcm1zOmZ1bmN0aW9uKHQsaSl7Zm9yKHZhciBlIGluIHRoaXMuX2xldmVscyl0aGlzLl9zZXRab29tVHJhbnNmb3JtKHRoaXMuX2xldmVsc1tlXSx0LGkpfSxfc2V0Wm9vbVRyYW5zZm9ybTpmdW5jdGlvbih0LGksZSl7dmFyIG49dGhpcy5fbWFwLmdldFpvb21TY2FsZShlLHQuem9vbSksbz10Lm9yaWdpbi5tdWx0aXBseUJ5KG4pLnN1YnRyYWN0KHRoaXMuX21hcC5fZ2V0TmV3UGl4ZWxPcmlnaW4oaSxlKSkucm91bmQoKTt2dD9naSh0LmVsLG8sbik6dmkodC5lbCxvKX0sX3Jlc2V0R3JpZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcCxpPXQub3B0aW9ucy5jcnMsZT10aGlzLl90aWxlU2l6ZT10aGlzLmdldFRpbGVTaXplKCksbj10aGlzLl90aWxlWm9vbSxvPXRoaXMuX21hcC5nZXRQaXhlbFdvcmxkQm91bmRzKHRoaXMuX3RpbGVab29tKTtvJiYodGhpcy5fZ2xvYmFsVGlsZVJhbmdlPXRoaXMuX3B4Qm91bmRzVG9UaWxlUmFuZ2UobykpLHRoaXMuX3dyYXBYPWkud3JhcExuZyYmIXRoaXMub3B0aW9ucy5ub1dyYXAmJltNYXRoLmZsb29yKHQucHJvamVjdChbMCxpLndyYXBMbmdbMF1dLG4pLngvZS54KSxNYXRoLmNlaWwodC5wcm9qZWN0KFswLGkud3JhcExuZ1sxXV0sbikueC9lLnkpXSx0aGlzLl93cmFwWT1pLndyYXBMYXQmJiF0aGlzLm9wdGlvbnMubm9XcmFwJiZbTWF0aC5mbG9vcih0LnByb2plY3QoW2kud3JhcExhdFswXSwwXSxuKS55L2UueCksTWF0aC5jZWlsKHQucHJvamVjdChbaS53cmFwTGF0WzFdLDBdLG4pLnkvZS55KV19LF9vbk1vdmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9tYXAmJiF0aGlzLl9tYXAuX2FuaW1hdGluZ1pvb20mJnRoaXMuX3VwZGF0ZSgpfSxfZ2V0VGlsZWRQaXhlbEJvdW5kczpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9tYXAsZT1pLl9hbmltYXRpbmdab29tP01hdGgubWF4KGkuX2FuaW1hdGVUb1pvb20saS5nZXRab29tKCkpOmkuZ2V0Wm9vbSgpLG49aS5nZXRab29tU2NhbGUoZSx0aGlzLl90aWxlWm9vbSksbz1pLnByb2plY3QodCx0aGlzLl90aWxlWm9vbSkuZmxvb3IoKSxzPWkuZ2V0U2l6ZSgpLmRpdmlkZUJ5KDIqbik7cmV0dXJuIG5ldyBJKG8uc3VidHJhY3Qocyksby5hZGQocykpfSxfdXBkYXRlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcDtpZihpKXt2YXIgZT10aGlzLl9jbGFtcFpvb20oaS5nZXRab29tKCkpO2lmKHZvaWQgMD09PXQmJih0PWkuZ2V0Q2VudGVyKCkpLHZvaWQgMCE9PXRoaXMuX3RpbGVab29tKXt2YXIgbj10aGlzLl9nZXRUaWxlZFBpeGVsQm91bmRzKHQpLG89dGhpcy5fcHhCb3VuZHNUb1RpbGVSYW5nZShuKSxzPW8uZ2V0Q2VudGVyKCkscj1bXSxhPXRoaXMub3B0aW9ucy5rZWVwQnVmZmVyLGg9bmV3IEkoby5nZXRCb3R0b21MZWZ0KCkuc3VidHJhY3QoW2EsLWFdKSxvLmdldFRvcFJpZ2h0KCkuYWRkKFthLC1hXSkpO2lmKCEoaXNGaW5pdGUoby5taW4ueCkmJmlzRmluaXRlKG8ubWluLnkpJiZpc0Zpbml0ZShvLm1heC54KSYmaXNGaW5pdGUoby5tYXgueSkpKXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGVkIHRvIGxvYWQgYW4gaW5maW5pdGUgbnVtYmVyIG9mIHRpbGVzIik7Zm9yKHZhciB1IGluIHRoaXMuX3RpbGVzKXt2YXIgbD10aGlzLl90aWxlc1t1XS5jb29yZHM7bC56PT09dGhpcy5fdGlsZVpvb20mJmguY29udGFpbnMobmV3IGsobC54LGwueSkpfHwodGhpcy5fdGlsZXNbdV0uY3VycmVudD0hMSl9aWYoMTxNYXRoLmFicyhlLXRoaXMuX3RpbGVab29tKSl0aGlzLl9zZXRWaWV3KHQsZSk7ZWxzZXtmb3IodmFyIGM9by5taW4ueTtjPD1vLm1heC55O2MrKylmb3IodmFyIF89by5taW4ueDtfPD1vLm1heC54O18rKyl7dmFyIGQscD1uZXcgayhfLGMpO3Auej10aGlzLl90aWxlWm9vbSx0aGlzLl9pc1ZhbGlkVGlsZShwKSYmKChkPXRoaXMuX3RpbGVzW3RoaXMuX3RpbGVDb29yZHNUb0tleShwKV0pP2QuY3VycmVudD0hMDpyLnB1c2gocCkpfWlmKHIuc29ydChmdW5jdGlvbih0LGkpe3JldHVybiB0LmRpc3RhbmNlVG8ocyktaS5kaXN0YW5jZVRvKHMpfSksMCE9PXIubGVuZ3RoKXt0aGlzLl9sb2FkaW5nfHwodGhpcy5fbG9hZGluZz0hMCx0aGlzLmZpcmUoImxvYWRpbmciKSk7Zm9yKHZhciBtPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxfPTA7XzxyLmxlbmd0aDtfKyspdGhpcy5fYWRkVGlsZShyW19dLG0pO3RoaXMuX2xldmVsLmVsLmFwcGVuZENoaWxkKG0pfX19fX0sX2lzVmFsaWRUaWxlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcC5vcHRpb25zLmNycztpZighaS5pbmZpbml0ZSl7dmFyIGU9dGhpcy5fZ2xvYmFsVGlsZVJhbmdlO2lmKCFpLndyYXBMbmcmJih0Lng8ZS5taW4ueHx8dC54PmUubWF4LngpfHwhaS53cmFwTGF0JiYodC55PGUubWluLnl8fHQueT5lLm1heC55KSlyZXR1cm4hMX1pZighdGhpcy5vcHRpb25zLmJvdW5kcylyZXR1cm4hMDt2YXIgbj10aGlzLl90aWxlQ29vcmRzVG9Cb3VuZHModCk7cmV0dXJuIE4odGhpcy5vcHRpb25zLmJvdW5kcykub3ZlcmxhcHMobil9LF9rZXlUb0JvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGlsZUNvb3Jkc1RvQm91bmRzKHRoaXMuX2tleVRvVGlsZUNvb3Jkcyh0KSl9LF90aWxlQ29vcmRzVG9Od1NlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcCxlPXRoaXMuZ2V0VGlsZVNpemUoKSxuPXQuc2NhbGVCeShlKSxvPW4uYWRkKGUpO3JldHVybltpLnVucHJvamVjdChuLHQueiksaS51bnByb2plY3Qobyx0LnopXX0sX3RpbGVDb29yZHNUb0JvdW5kczpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl90aWxlQ29vcmRzVG9Od1NlKHQpLGU9bmV3IFIoaVswXSxpWzFdKTtyZXR1cm4gdGhpcy5vcHRpb25zLm5vV3JhcHx8KGU9dGhpcy5fbWFwLndyYXBMYXRMbmdCb3VuZHMoZSkpLGV9LF90aWxlQ29vcmRzVG9LZXk6ZnVuY3Rpb24odCl7cmV0dXJuIHQueCsiOiIrdC55KyI6Iit0Lnp9LF9rZXlUb1RpbGVDb29yZHM6ZnVuY3Rpb24odCl7dmFyIGk9dC5zcGxpdCgiOiIpLGU9bmV3IGsoK2lbMF0sK2lbMV0pO3JldHVybiBlLno9K2lbMl0sZX0sX3JlbW92ZVRpbGU6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fdGlsZXNbdF07aSYmKHJpKGkuZWwpLGRlbGV0ZSB0aGlzLl90aWxlc1t0XSx0aGlzLmZpcmUoInRpbGV1bmxvYWQiLHt0aWxlOmkuZWwsY29vcmRzOnRoaXMuX2tleVRvVGlsZUNvb3Jkcyh0KX0pKX0sX2luaXRUaWxlOmZ1bmN0aW9uKHQpe2NpKHQsImxlYWZsZXQtdGlsZSIpO3ZhciBpPXRoaXMuZ2V0VGlsZVNpemUoKTt0LnN0eWxlLndpZHRoPWkueCsicHgiLHQuc3R5bGUuaGVpZ2h0PWkueSsicHgiLHQub25zZWxlY3RzdGFydD1hLHQub25tb3VzZW1vdmU9YSxpdCYmdGhpcy5vcHRpb25zLm9wYWNpdHk8MSYmbWkodCx0aGlzLm9wdGlvbnMub3BhY2l0eSksb3QmJiFzdCYmKHQuc3R5bGUuV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5PSJoaWRkZW4iKX0sX2FkZFRpbGU6ZnVuY3Rpb24odCxpKXt2YXIgZT10aGlzLl9nZXRUaWxlUG9zKHQpLG49dGhpcy5fdGlsZUNvb3Jkc1RvS2V5KHQpLG89dGhpcy5jcmVhdGVUaWxlKHRoaXMuX3dyYXBDb29yZHModCkscCh0aGlzLl90aWxlUmVhZHksdGhpcyx0KSk7dGhpcy5faW5pdFRpbGUobyksdGhpcy5jcmVhdGVUaWxlLmxlbmd0aDwyJiZNKHAodGhpcy5fdGlsZVJlYWR5LHRoaXMsdCxudWxsLG8pKSx2aShvLGUpLHRoaXMuX3RpbGVzW25dPXtlbDpvLGNvb3Jkczp0LGN1cnJlbnQ6ITB9LGkuYXBwZW5kQ2hpbGQobyksdGhpcy5maXJlKCJ0aWxlbG9hZHN0YXJ0Iix7dGlsZTpvLGNvb3Jkczp0fSl9LF90aWxlUmVhZHk6ZnVuY3Rpb24odCxpLGUpe2kmJnRoaXMuZmlyZSgidGlsZWVycm9yIix7ZXJyb3I6aSx0aWxlOmUsY29vcmRzOnR9KTt2YXIgbj10aGlzLl90aWxlQ29vcmRzVG9LZXkodCk7KGU9dGhpcy5fdGlsZXNbbl0pJiYoZS5sb2FkZWQ9K25ldyBEYXRlLHRoaXMuX21hcC5fZmFkZUFuaW1hdGVkPyhtaShlLmVsLDApLHoodGhpcy5fZmFkZUZyYW1lKSx0aGlzLl9mYWRlRnJhbWU9TSh0aGlzLl91cGRhdGVPcGFjaXR5LHRoaXMpKTooZS5hY3RpdmU9ITAsdGhpcy5fcHJ1bmVUaWxlcygpKSxpfHwoY2koZS5lbCwibGVhZmxldC10aWxlLWxvYWRlZCIpLHRoaXMuZmlyZSgidGlsZWxvYWQiLHt0aWxlOmUuZWwsY29vcmRzOnR9KSksdGhpcy5fbm9UaWxlc1RvTG9hZCgpJiYodGhpcy5fbG9hZGluZz0hMSx0aGlzLmZpcmUoImxvYWQiKSxpdHx8IXRoaXMuX21hcC5fZmFkZUFuaW1hdGVkP00odGhpcy5fcHJ1bmVUaWxlcyx0aGlzKTpzZXRUaW1lb3V0KHAodGhpcy5fcHJ1bmVUaWxlcyx0aGlzKSwyNTApKSl9LF9nZXRUaWxlUG9zOmZ1bmN0aW9uKHQpe3JldHVybiB0LnNjYWxlQnkodGhpcy5nZXRUaWxlU2l6ZSgpKS5zdWJ0cmFjdCh0aGlzLl9sZXZlbC5vcmlnaW4pfSxfd3JhcENvb3JkczpmdW5jdGlvbih0KXt2YXIgaT1uZXcgayh0aGlzLl93cmFwWD9vKHQueCx0aGlzLl93cmFwWCk6dC54LHRoaXMuX3dyYXBZP28odC55LHRoaXMuX3dyYXBZKTp0LnkpO3JldHVybiBpLno9dC56LGl9LF9weEJvdW5kc1RvVGlsZVJhbmdlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZ2V0VGlsZVNpemUoKTtyZXR1cm4gbmV3IEkodC5taW4udW5zY2FsZUJ5KGkpLmZsb29yKCksdC5tYXgudW5zY2FsZUJ5KGkpLmNlaWwoKS5zdWJ0cmFjdChbMSwxXSkpfSxfbm9UaWxlc1RvTG9hZDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl90aWxlcylpZighdGhpcy5fdGlsZXNbdF0ubG9hZGVkKXJldHVybiExO3JldHVybiEwfX0pO3ZhciBzbj1vbi5leHRlbmQoe29wdGlvbnM6e21pblpvb206MCxtYXhab29tOjE4LHN1YmRvbWFpbnM6ImFiYyIsZXJyb3JUaWxlVXJsOiIiLHpvb21PZmZzZXQ6MCx0bXM6ITEsem9vbVJldmVyc2U6ITEsZGV0ZWN0UmV0aW5hOiExLGNyb3NzT3JpZ2luOiExfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQsaSl7dGhpcy5fdXJsPXQsKGk9Yyh0aGlzLGkpKS5kZXRlY3RSZXRpbmEmJnp0JiYwPGkubWF4Wm9vbSYmKGkudGlsZVNpemU9TWF0aC5mbG9vcihpLnRpbGVTaXplLzIpLGkuem9vbVJldmVyc2U/KGkuem9vbU9mZnNldC0tLGkubWluWm9vbSsrKTooaS56b29tT2Zmc2V0KyssaS5tYXhab29tLS0pLGkubWluWm9vbT1NYXRoLm1heCgwLGkubWluWm9vbSkpLCJzdHJpbmciPT10eXBlb2YgaS5zdWJkb21haW5zJiYoaS5zdWJkb21haW5zPWkuc3ViZG9tYWlucy5zcGxpdCgiIikpLG90fHx0aGlzLm9uKCJ0aWxldW5sb2FkIix0aGlzLl9vblRpbGVSZW1vdmUpfSxzZXRVcmw6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdGhpcy5fdXJsPT09dCYmdm9pZCAwPT09aSYmKGk9ITApLHRoaXMuX3VybD10LGl8fHRoaXMucmVkcmF3KCksdGhpc30sY3JlYXRlVGlsZTpmdW5jdGlvbih0LGkpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3JldHVybiB6aShlLCJsb2FkIixwKHRoaXMuX3RpbGVPbkxvYWQsdGhpcyxpLGUpKSx6aShlLCJlcnJvciIscCh0aGlzLl90aWxlT25FcnJvcix0aGlzLGksZSkpLCF0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4mJiIiIT09dGhpcy5vcHRpb25zLmNyb3NzT3JpZ2lufHwoZS5jcm9zc09yaWdpbj0hMD09PXRoaXMub3B0aW9ucy5jcm9zc09yaWdpbj8iIjp0aGlzLm9wdGlvbnMuY3Jvc3NPcmlnaW4pLGUuYWx0PSIiLGUuc2V0QXR0cmlidXRlKCJyb2xlIiwicHJlc2VudGF0aW9uIiksZS5zcmM9dGhpcy5nZXRUaWxlVXJsKHQpLGV9LGdldFRpbGVVcmw6ZnVuY3Rpb24odCl7dmFyIGksZT17cjp6dD8iQDJ4IjoiIixzOnRoaXMuX2dldFN1YmRvbWFpbih0KSx4OnQueCx5OnQueSx6OnRoaXMuX2dldFpvb21Gb3JVcmwoKX07cmV0dXJuIHRoaXMuX21hcCYmIXRoaXMuX21hcC5vcHRpb25zLmNycy5pbmZpbml0ZSYmKGk9dGhpcy5fZ2xvYmFsVGlsZVJhbmdlLm1heC55LXQueSx0aGlzLm9wdGlvbnMudG1zJiYoZS55PWkpLGVbIi15Il09aSksZih0aGlzLl91cmwsaChlLHRoaXMub3B0aW9ucykpfSxfdGlsZU9uTG9hZDpmdW5jdGlvbih0LGkpe2l0P3NldFRpbWVvdXQocCh0LHRoaXMsbnVsbCxpKSwwKTp0KG51bGwsaSl9LF90aWxlT25FcnJvcjpmdW5jdGlvbih0LGksZSl7dmFyIG49dGhpcy5vcHRpb25zLmVycm9yVGlsZVVybDtuJiZpLmdldEF0dHJpYnV0ZSgic3JjIikhPT1uJiYoaS5zcmM9biksdChlLGkpfSxfb25UaWxlUmVtb3ZlOmZ1bmN0aW9uKHQpe3QudGlsZS5vbmxvYWQ9bnVsbH0sX2dldFpvb21Gb3JVcmw6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90aWxlWm9vbSxpPXRoaXMub3B0aW9ucy5tYXhab29tO3JldHVybiB0aGlzLm9wdGlvbnMuem9vbVJldmVyc2UmJih0PWktdCksdCt0aGlzLm9wdGlvbnMuem9vbU9mZnNldH0sX2dldFN1YmRvbWFpbjpmdW5jdGlvbih0KXt2YXIgaT1NYXRoLmFicyh0LngrdC55KSV0aGlzLm9wdGlvbnMuc3ViZG9tYWlucy5sZW5ndGg7cmV0dXJuIHRoaXMub3B0aW9ucy5zdWJkb21haW5zW2ldfSxfYWJvcnRMb2FkaW5nOmZ1bmN0aW9uKCl7dmFyIHQsaTtmb3IodCBpbiB0aGlzLl90aWxlcyl0aGlzLl90aWxlc1t0XS5jb29yZHMueiE9PXRoaXMuX3RpbGVab29tJiYoKGk9dGhpcy5fdGlsZXNbdF0uZWwpLm9ubG9hZD1hLGkub25lcnJvcj1hLGkuY29tcGxldGV8fChpLnNyYz15LHJpKGkpLGRlbGV0ZSB0aGlzLl90aWxlc1t0XSkpfSxfcmVtb3ZlVGlsZTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl90aWxlc1t0XTtpZihpKXJldHVybiBhdHx8aS5lbC5zZXRBdHRyaWJ1dGUoInNyYyIseSksb24ucHJvdG90eXBlLl9yZW1vdmVUaWxlLmNhbGwodGhpcyx0KX0sX3RpbGVSZWFkeTpmdW5jdGlvbih0LGksZSl7aWYodGhpcy5fbWFwJiYoIWV8fGUuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PXkpKXJldHVybiBvbi5wcm90b3R5cGUuX3RpbGVSZWFkeS5jYWxsKHRoaXMsdCxpLGUpfX0pO2Z1bmN0aW9uIHJuKHQsaSl7cmV0dXJuIG5ldyBzbih0LGkpfXZhciBhbj1zbi5leHRlbmQoe2RlZmF1bHRXbXNQYXJhbXM6e3NlcnZpY2U6IldNUyIscmVxdWVzdDoiR2V0TWFwIixsYXllcnM6IiIsc3R5bGVzOiIiLGZvcm1hdDoiaW1hZ2UvanBlZyIsdHJhbnNwYXJlbnQ6ITEsdmVyc2lvbjoiMS4xLjEifSxvcHRpb25zOntjcnM6bnVsbCx1cHBlcmNhc2U6ITF9LGluaXRpYWxpemU6ZnVuY3Rpb24odCxpKXt0aGlzLl91cmw9dDt2YXIgZT1oKHt9LHRoaXMuZGVmYXVsdFdtc1BhcmFtcyk7Zm9yKHZhciBuIGluIGkpbiBpbiB0aGlzLm9wdGlvbnN8fChlW25dPWlbbl0pO3ZhciBvPShpPWModGhpcyxpKSkuZGV0ZWN0UmV0aW5hJiZ6dD8yOjEscz10aGlzLmdldFRpbGVTaXplKCk7ZS53aWR0aD1zLngqbyxlLmhlaWdodD1zLnkqbyx0aGlzLndtc1BhcmFtcz1lfSxvbkFkZDpmdW5jdGlvbih0KXt0aGlzLl9jcnM9dGhpcy5vcHRpb25zLmNyc3x8dC5vcHRpb25zLmNycyx0aGlzLl93bXNWZXJzaW9uPXBhcnNlRmxvYXQodGhpcy53bXNQYXJhbXMudmVyc2lvbik7dmFyIGk9MS4zPD10aGlzLl93bXNWZXJzaW9uPyJjcnMiOiJzcnMiO3RoaXMud21zUGFyYW1zW2ldPXRoaXMuX2Nycy5jb2RlLHNuLnByb3RvdHlwZS5vbkFkZC5jYWxsKHRoaXMsdCl9LGdldFRpbGVVcmw6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5fdGlsZUNvb3Jkc1RvTndTZSh0KSxlPXRoaXMuX2NycyxuPU8oZS5wcm9qZWN0KGlbMF0pLGUucHJvamVjdChpWzFdKSksbz1uLm1pbixzPW4ubWF4LHI9KDEuMzw9dGhpcy5fd21zVmVyc2lvbiYmdGhpcy5fY3JzPT09YmU/W28ueSxvLngscy55LHMueF06W28ueCxvLnkscy54LHMueV0pLmpvaW4oIiwiKSxhPXNuLnByb3RvdHlwZS5nZXRUaWxlVXJsLmNhbGwodGhpcyx0KTtyZXR1cm4gYStfKHRoaXMud21zUGFyYW1zLGEsdGhpcy5vcHRpb25zLnVwcGVyY2FzZSkrKHRoaXMub3B0aW9ucy51cHBlcmNhc2U/IiZCQk9YPSI6IiZiYm94PSIpK3J9LHNldFBhcmFtczpmdW5jdGlvbih0LGkpe3JldHVybiBoKHRoaXMud21zUGFyYW1zLHQpLGl8fHRoaXMucmVkcmF3KCksdGhpc319KTtzbi5XTVM9YW4scm4ud21zPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBhbih0LGkpfTt2YXIgaG49TWUuZXh0ZW5kKHtvcHRpb25zOntwYWRkaW5nOi4xLHRvbGVyYW5jZTowfSxpbml0aWFsaXplOmZ1bmN0aW9uKHQpe2ModGhpcyx0KSxtKHRoaXMpLHRoaXMuX2xheWVycz10aGlzLl9sYXllcnN8fHt9fSxvbkFkZDpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lcnx8KHRoaXMuX2luaXRDb250YWluZXIoKSx0aGlzLl96b29tQW5pbWF0ZWQmJmNpKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC16b29tLWFuaW1hdGVkIikpLHRoaXMuZ2V0UGFuZSgpLmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lciksdGhpcy5fdXBkYXRlKCksdGhpcy5vbigidXBkYXRlIix0aGlzLl91cGRhdGVQYXRocyx0aGlzKX0sb25SZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLm9mZigidXBkYXRlIix0aGlzLl91cGRhdGVQYXRocyx0aGlzKSx0aGlzLl9kZXN0cm95Q29udGFpbmVyKCl9LGdldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PXt2aWV3cmVzZXQ6dGhpcy5fcmVzZXQsem9vbTp0aGlzLl9vblpvb20sbW92ZWVuZDp0aGlzLl91cGRhdGUsem9vbWVuZDp0aGlzLl9vblpvb21FbmR9O3JldHVybiB0aGlzLl96b29tQW5pbWF0ZWQmJih0Lnpvb21hbmltPXRoaXMuX29uQW5pbVpvb20pLHR9LF9vbkFuaW1ab29tOmZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZVRyYW5zZm9ybSh0LmNlbnRlcix0Lnpvb20pfSxfb25ab29tOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlVHJhbnNmb3JtKHRoaXMuX21hcC5nZXRDZW50ZXIoKSx0aGlzLl9tYXAuZ2V0Wm9vbSgpKX0sX3VwZGF0ZVRyYW5zZm9ybTpmdW5jdGlvbih0LGkpe3ZhciBlPXRoaXMuX21hcC5nZXRab29tU2NhbGUoaSx0aGlzLl96b29tKSxuPXlpKHRoaXMuX2NvbnRhaW5lciksbz10aGlzLl9tYXAuZ2V0U2l6ZSgpLm11bHRpcGx5QnkoLjUrdGhpcy5vcHRpb25zLnBhZGRpbmcpLHM9dGhpcy5fbWFwLnByb2plY3QodGhpcy5fY2VudGVyLGkpLHI9dGhpcy5fbWFwLnByb2plY3QodCxpKS5zdWJ0cmFjdChzKSxhPW8ubXVsdGlwbHlCeSgtZSkuYWRkKG4pLmFkZChvKS5zdWJ0cmFjdChyKTt2dD9naSh0aGlzLl9jb250YWluZXIsYSxlKTp2aSh0aGlzLl9jb250YWluZXIsYSl9LF9yZXNldDpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLl91cGRhdGUoKSx0aGlzLl91cGRhdGVUcmFuc2Zvcm0odGhpcy5fY2VudGVyLHRoaXMuX3pvb20pLHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0uX3Jlc2V0KCl9LF9vblpvb21FbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5fcHJvamVjdCgpfSxfdXBkYXRlUGF0aHM6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fbGF5ZXJzKXRoaXMuX2xheWVyc1t0XS5fdXBkYXRlKCl9LF91cGRhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMucGFkZGluZyxpPXRoaXMuX21hcC5nZXRTaXplKCksZT10aGlzLl9tYXAuY29udGFpbmVyUG9pbnRUb0xheWVyUG9pbnQoaS5tdWx0aXBseUJ5KC10KSkucm91bmQoKTt0aGlzLl9ib3VuZHM9bmV3IEkoZSxlLmFkZChpLm11bHRpcGx5QnkoMSsyKnQpKS5yb3VuZCgpKSx0aGlzLl9jZW50ZXI9dGhpcy5fbWFwLmdldENlbnRlcigpLHRoaXMuX3pvb209dGhpcy5fbWFwLmdldFpvb20oKX19KSx1bj1obi5leHRlbmQoe2dldEV2ZW50czpmdW5jdGlvbigpe3ZhciB0PWhuLnByb3RvdHlwZS5nZXRFdmVudHMuY2FsbCh0aGlzKTtyZXR1cm4gdC52aWV3cHJlcmVzZXQ9dGhpcy5fb25WaWV3UHJlUmVzZXQsdH0sX29uVmlld1ByZVJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fcG9zdHBvbmVVcGRhdGVQYXRocz0hMH0sb25BZGQ6ZnVuY3Rpb24oKXtobi5wcm90b3R5cGUub25BZGQuY2FsbCh0aGlzKSx0aGlzLl9kcmF3KCl9LF9pbml0Q29udGFpbmVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29udGFpbmVyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3ppKHQsIm1vdXNlbW92ZSIsdGhpcy5fb25Nb3VzZU1vdmUsdGhpcyksemkodCwiY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgY29udGV4dG1lbnUiLHRoaXMuX29uQ2xpY2ssdGhpcyksemkodCwibW91c2VvdXQiLHRoaXMuX2hhbmRsZU1vdXNlT3V0LHRoaXMpLHRoaXMuX2N0eD10LmdldENvbnRleHQoIjJkIil9LF9kZXN0cm95Q29udGFpbmVyOmZ1bmN0aW9uKCl7eih0aGlzLl9yZWRyYXdSZXF1ZXN0KSxkZWxldGUgdGhpcy5fY3R4LHJpKHRoaXMuX2NvbnRhaW5lciksU2kodGhpcy5fY29udGFpbmVyKSxkZWxldGUgdGhpcy5fY29udGFpbmVyfSxfdXBkYXRlUGF0aHM6ZnVuY3Rpb24oKXtpZighdGhpcy5fcG9zdHBvbmVVcGRhdGVQYXRocyl7Zm9yKHZhciB0IGluIHRoaXMuX3JlZHJhd0JvdW5kcz1udWxsLHRoaXMuX2xheWVycyl0aGlzLl9sYXllcnNbdF0uX3VwZGF0ZSgpO3RoaXMuX3JlZHJhdygpfX0sX3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0LGksZSxuO3RoaXMuX21hcC5fYW5pbWF0aW5nWm9vbSYmdGhpcy5fYm91bmRzfHwoaG4ucHJvdG90eXBlLl91cGRhdGUuY2FsbCh0aGlzKSx0PXRoaXMuX2JvdW5kcyxpPXRoaXMuX2NvbnRhaW5lcixlPXQuZ2V0U2l6ZSgpLG49enQ/MjoxLHZpKGksdC5taW4pLGkud2lkdGg9biplLngsaS5oZWlnaHQ9biplLnksaS5zdHlsZS53aWR0aD1lLngrInB4IixpLnN0eWxlLmhlaWdodD1lLnkrInB4Iix6dCYmdGhpcy5fY3R4LnNjYWxlKDIsMiksdGhpcy5fY3R4LnRyYW5zbGF0ZSgtdC5taW4ueCwtdC5taW4ueSksdGhpcy5maXJlKCJ1cGRhdGUiKSl9LF9yZXNldDpmdW5jdGlvbigpe2huLnByb3RvdHlwZS5fcmVzZXQuY2FsbCh0aGlzKSx0aGlzLl9wb3N0cG9uZVVwZGF0ZVBhdGhzJiYodGhpcy5fcG9zdHBvbmVVcGRhdGVQYXRocz0hMSx0aGlzLl91cGRhdGVQYXRocygpKX0sX2luaXRQYXRoOmZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZURhc2hBcnJheSh0KTt2YXIgaT0odGhpcy5fbGF5ZXJzW20odCldPXQpLl9vcmRlcj17bGF5ZXI6dCxwcmV2OnRoaXMuX2RyYXdMYXN0LG5leHQ6bnVsbH07dGhpcy5fZHJhd0xhc3QmJih0aGlzLl9kcmF3TGFzdC5uZXh0PWkpLHRoaXMuX2RyYXdMYXN0PWksdGhpcy5fZHJhd0ZpcnN0PXRoaXMuX2RyYXdGaXJzdHx8dGhpcy5fZHJhd0xhc3R9LF9hZGRQYXRoOmZ1bmN0aW9uKHQpe3RoaXMuX3JlcXVlc3RSZWRyYXcodCl9LF9yZW1vdmVQYXRoOmZ1bmN0aW9uKHQpe3ZhciBpPXQuX29yZGVyLGU9aS5uZXh0LG49aS5wcmV2O2U/ZS5wcmV2PW46dGhpcy5fZHJhd0xhc3Q9bixuP24ubmV4dD1lOnRoaXMuX2RyYXdGaXJzdD1lLGRlbGV0ZSB0Ll9vcmRlcixkZWxldGUgdGhpcy5fbGF5ZXJzW20odCldLHRoaXMuX3JlcXVlc3RSZWRyYXcodCl9LF91cGRhdGVQYXRoOmZ1bmN0aW9uKHQpe3RoaXMuX2V4dGVuZFJlZHJhd0JvdW5kcyh0KSx0Ll9wcm9qZWN0KCksdC5fdXBkYXRlKCksdGhpcy5fcmVxdWVzdFJlZHJhdyh0KX0sX3VwZGF0ZVN0eWxlOmZ1bmN0aW9uKHQpe3RoaXMuX3VwZGF0ZURhc2hBcnJheSh0KSx0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpfSxfdXBkYXRlRGFzaEFycmF5OmZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdC5vcHRpb25zLmRhc2hBcnJheSl7Zm9yKHZhciBpLGU9dC5vcHRpb25zLmRhc2hBcnJheS5zcGxpdCgvWywgXSsvKSxuPVtdLG89MDtvPGUubGVuZ3RoO28rKyl7aWYoaT1OdW1iZXIoZVtvXSksaXNOYU4oaSkpcmV0dXJuO24ucHVzaChpKX10Lm9wdGlvbnMuX2Rhc2hBcnJheT1ufWVsc2UgdC5vcHRpb25zLl9kYXNoQXJyYXk9dC5vcHRpb25zLmRhc2hBcnJheX0sX3JlcXVlc3RSZWRyYXc6ZnVuY3Rpb24odCl7dGhpcy5fbWFwJiYodGhpcy5fZXh0ZW5kUmVkcmF3Qm91bmRzKHQpLHRoaXMuX3JlZHJhd1JlcXVlc3Q9dGhpcy5fcmVkcmF3UmVxdWVzdHx8TSh0aGlzLl9yZWRyYXcsdGhpcykpfSxfZXh0ZW5kUmVkcmF3Qm91bmRzOmZ1bmN0aW9uKHQpe3ZhciBpO3QuX3B4Qm91bmRzJiYoaT0odC5vcHRpb25zLndlaWdodHx8MCkrMSx0aGlzLl9yZWRyYXdCb3VuZHM9dGhpcy5fcmVkcmF3Qm91bmRzfHxuZXcgSSx0aGlzLl9yZWRyYXdCb3VuZHMuZXh0ZW5kKHQuX3B4Qm91bmRzLm1pbi5zdWJ0cmFjdChbaSxpXSkpLHRoaXMuX3JlZHJhd0JvdW5kcy5leHRlbmQodC5fcHhCb3VuZHMubWF4LmFkZChbaSxpXSkpKX0sX3JlZHJhdzpmdW5jdGlvbigpe3RoaXMuX3JlZHJhd1JlcXVlc3Q9bnVsbCx0aGlzLl9yZWRyYXdCb3VuZHMmJih0aGlzLl9yZWRyYXdCb3VuZHMubWluLl9mbG9vcigpLHRoaXMuX3JlZHJhd0JvdW5kcy5tYXguX2NlaWwoKSksdGhpcy5fY2xlYXIoKSx0aGlzLl9kcmF3KCksdGhpcy5fcmVkcmF3Qm91bmRzPW51bGx9LF9jbGVhcjpmdW5jdGlvbigpe3ZhciB0LGk9dGhpcy5fcmVkcmF3Qm91bmRzO2k/KHQ9aS5nZXRTaXplKCksdGhpcy5fY3R4LmNsZWFyUmVjdChpLm1pbi54LGkubWluLnksdC54LHQueSkpOih0aGlzLl9jdHguc2F2ZSgpLHRoaXMuX2N0eC5zZXRUcmFuc2Zvcm0oMSwwLDAsMSwwLDApLHRoaXMuX2N0eC5jbGVhclJlY3QoMCwwLHRoaXMuX2NvbnRhaW5lci53aWR0aCx0aGlzLl9jb250YWluZXIuaGVpZ2h0KSx0aGlzLl9jdHgucmVzdG9yZSgpKX0sX2RyYXc6ZnVuY3Rpb24oKXt2YXIgdCxpLGU9dGhpcy5fcmVkcmF3Qm91bmRzO3RoaXMuX2N0eC5zYXZlKCksZSYmKGk9ZS5nZXRTaXplKCksdGhpcy5fY3R4LmJlZ2luUGF0aCgpLHRoaXMuX2N0eC5yZWN0KGUubWluLngsZS5taW4ueSxpLngsaS55KSx0aGlzLl9jdHguY2xpcCgpKSx0aGlzLl9kcmF3aW5nPSEwO2Zvcih2YXIgbj10aGlzLl9kcmF3Rmlyc3Q7bjtuPW4ubmV4dCl0PW4ubGF5ZXIsKCFlfHx0Ll9weEJvdW5kcyYmdC5fcHhCb3VuZHMuaW50ZXJzZWN0cyhlKSkmJnQuX3VwZGF0ZVBhdGgoKTt0aGlzLl9kcmF3aW5nPSExLHRoaXMuX2N0eC5yZXN0b3JlKCl9LF91cGRhdGVQb2x5OmZ1bmN0aW9uKHQsaSl7aWYodGhpcy5fZHJhd2luZyl7dmFyIGUsbixvLHMscj10Ll9wYXJ0cyxhPXIubGVuZ3RoLGg9dGhpcy5fY3R4O2lmKGEpe2ZvcihoLmJlZ2luUGF0aCgpLGU9MDtlPGE7ZSsrKXtmb3Iobj0wLG89cltlXS5sZW5ndGg7bjxvO24rKylzPXJbZV1bbl0saFtuPyJsaW5lVG8iOiJtb3ZlVG8iXShzLngscy55KTtpJiZoLmNsb3NlUGF0aCgpfXRoaXMuX2ZpbGxTdHJva2UoaCx0KX19fSxfdXBkYXRlQ2lyY2xlOmZ1bmN0aW9uKHQpe3ZhciBpLGUsbixvO3RoaXMuX2RyYXdpbmcmJiF0Ll9lbXB0eSgpJiYoaT10Ll9wb2ludCxlPXRoaXMuX2N0eCxuPU1hdGgubWF4KE1hdGgucm91bmQodC5fcmFkaXVzKSwxKSwxIT0obz0oTWF0aC5tYXgoTWF0aC5yb3VuZCh0Ll9yYWRpdXNZKSwxKXx8bikvbikmJihlLnNhdmUoKSxlLnNjYWxlKDEsbykpLGUuYmVnaW5QYXRoKCksZS5hcmMoaS54LGkueS9vLG4sMCwyKk1hdGguUEksITEpLDEhPW8mJmUucmVzdG9yZSgpLHRoaXMuX2ZpbGxTdHJva2UoZSx0KSl9LF9maWxsU3Ryb2tlOmZ1bmN0aW9uKHQsaSl7dmFyIGU9aS5vcHRpb25zO2UuZmlsbCYmKHQuZ2xvYmFsQWxwaGE9ZS5maWxsT3BhY2l0eSx0LmZpbGxTdHlsZT1lLmZpbGxDb2xvcnx8ZS5jb2xvcix0LmZpbGwoZS5maWxsUnVsZXx8ImV2ZW5vZGQiKSksZS5zdHJva2UmJjAhPT1lLndlaWdodCYmKHQuc2V0TGluZURhc2gmJnQuc2V0TGluZURhc2goaS5vcHRpb25zJiZpLm9wdGlvbnMuX2Rhc2hBcnJheXx8W10pLHQuZ2xvYmFsQWxwaGE9ZS5vcGFjaXR5LHQubGluZVdpZHRoPWUud2VpZ2h0LHQuc3Ryb2tlU3R5bGU9ZS5jb2xvcix0LmxpbmVDYXA9ZS5saW5lQ2FwLHQubGluZUpvaW49ZS5saW5lSm9pbix0LnN0cm9rZSgpKX0sX29uQ2xpY2s6ZnVuY3Rpb24odCl7Zm9yKHZhciBpLGUsbj10aGlzLl9tYXAubW91c2VFdmVudFRvTGF5ZXJQb2ludCh0KSxvPXRoaXMuX2RyYXdGaXJzdDtvO289by5uZXh0KShpPW8ubGF5ZXIpLm9wdGlvbnMuaW50ZXJhY3RpdmUmJmkuX2NvbnRhaW5zUG9pbnQobikmJigoImNsaWNrIj09PXQudHlwZXx8InByZWNsaWNrIiE9PXQudHlwZSkmJnRoaXMuX21hcC5fZHJhZ2dhYmxlTW92ZWQoaSl8fChlPWkpKTtlJiYoRmkodCksdGhpcy5fZmlyZUV2ZW50KFtlXSx0KSl9LF9vbk1vdXNlTW92ZTpmdW5jdGlvbih0KXt2YXIgaTshdGhpcy5fbWFwfHx0aGlzLl9tYXAuZHJhZ2dpbmcubW92aW5nKCl8fHRoaXMuX21hcC5fYW5pbWF0aW5nWm9vbXx8KGk9dGhpcy5fbWFwLm1vdXNlRXZlbnRUb0xheWVyUG9pbnQodCksdGhpcy5faGFuZGxlTW91c2VIb3Zlcih0LGkpKX0sX2hhbmRsZU1vdXNlT3V0OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2hvdmVyZWRMYXllcjtpJiYoX2kodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5fZmlyZUV2ZW50KFtpXSx0LCJtb3VzZW91dCIpLHRoaXMuX2hvdmVyZWRMYXllcj1udWxsLHRoaXMuX21vdXNlSG92ZXJUaHJvdHRsZWQ9ITEpfSxfaGFuZGxlTW91c2VIb3ZlcjpmdW5jdGlvbih0LGkpe2lmKCF0aGlzLl9tb3VzZUhvdmVyVGhyb3R0bGVkKXtmb3IodmFyIGUsbixvPXRoaXMuX2RyYXdGaXJzdDtvO289by5uZXh0KShlPW8ubGF5ZXIpLm9wdGlvbnMuaW50ZXJhY3RpdmUmJmUuX2NvbnRhaW5zUG9pbnQoaSkmJihuPWUpO24hPT10aGlzLl9ob3ZlcmVkTGF5ZXImJih0aGlzLl9oYW5kbGVNb3VzZU91dCh0KSxuJiYoY2kodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWludGVyYWN0aXZlIiksdGhpcy5fZmlyZUV2ZW50KFtuXSx0LCJtb3VzZW92ZXIiKSx0aGlzLl9ob3ZlcmVkTGF5ZXI9bikpLHRoaXMuX2hvdmVyZWRMYXllciYmdGhpcy5fZmlyZUV2ZW50KFt0aGlzLl9ob3ZlcmVkTGF5ZXJdLHQpLHRoaXMuX21vdXNlSG92ZXJUaHJvdHRsZWQ9ITAsc2V0VGltZW91dChwKGZ1bmN0aW9uKCl7dGhpcy5fbW91c2VIb3ZlclRocm90dGxlZD0hMX0sdGhpcyksMzIpfX0sX2ZpcmVFdmVudDpmdW5jdGlvbih0LGksZSl7dGhpcy5fbWFwLl9maXJlRE9NRXZlbnQoaSxlfHxpLnR5cGUsdCl9LF9icmluZ1RvRnJvbnQ6ZnVuY3Rpb24odCl7dmFyIGksZSxuPXQuX29yZGVyO24mJihpPW4ubmV4dCxlPW4ucHJldixpJiYoKGkucHJldj1lKT9lLm5leHQ9aTppJiYodGhpcy5fZHJhd0ZpcnN0PWkpLG4ucHJldj10aGlzLl9kcmF3TGFzdCwodGhpcy5fZHJhd0xhc3QubmV4dD1uKS5uZXh0PW51bGwsdGhpcy5fZHJhd0xhc3Q9bix0aGlzLl9yZXF1ZXN0UmVkcmF3KHQpKSl9LF9icmluZ1RvQmFjazpmdW5jdGlvbih0KXt2YXIgaSxlLG49dC5fb3JkZXI7biYmKGk9bi5uZXh0LChlPW4ucHJldikmJigoZS5uZXh0PWkpP2kucHJldj1lOmUmJih0aGlzLl9kcmF3TGFzdD1lKSxuLnByZXY9bnVsbCxuLm5leHQ9dGhpcy5fZHJhd0ZpcnN0LHRoaXMuX2RyYXdGaXJzdC5wcmV2PW4sdGhpcy5fZHJhd0ZpcnN0PW4sdGhpcy5fcmVxdWVzdFJlZHJhdyh0KSkpfX0pO2Z1bmN0aW9uIGxuKHQpe3JldHVybiBTdD9uZXcgdW4odCk6bnVsbH12YXIgY249ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGRvY3VtZW50Lm5hbWVzcGFjZXMuYWRkKCJsdm1sIiwidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiKSxmdW5jdGlvbih0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiPGx2bWw6Iit0KycgY2xhc3M9Imx2bWwiPicpfX1jYXRjaCh0KXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIjwiK3QrJyB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LmNvbTp2bWwiIGNsYXNzPSJsdm1sIj4nKX19fSgpLF9uPXtfaW5pdENvbnRhaW5lcjpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lcj1zaSgiZGl2IiwibGVhZmxldC12bWwtY29udGFpbmVyIil9LF91cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLl9tYXAuX2FuaW1hdGluZ1pvb218fChobi5wcm90b3R5cGUuX3VwZGF0ZS5jYWxsKHRoaXMpLHRoaXMuZmlyZSgidXBkYXRlIikpfSxfaW5pdFBhdGg6ZnVuY3Rpb24odCl7dmFyIGk9dC5fY29udGFpbmVyPWNuKCJzaGFwZSIpO2NpKGksImxlYWZsZXQtdm1sLXNoYXBlICIrKHRoaXMub3B0aW9ucy5jbGFzc05hbWV8fCIiKSksaS5jb29yZHNpemU9IjEgMSIsdC5fcGF0aD1jbigicGF0aCIpLGkuYXBwZW5kQ2hpbGQodC5fcGF0aCksdGhpcy5fdXBkYXRlU3R5bGUodCksdGhpcy5fbGF5ZXJzW20odCldPXR9LF9hZGRQYXRoOmZ1bmN0aW9uKHQpe3ZhciBpPXQuX2NvbnRhaW5lcjt0aGlzLl9jb250YWluZXIuYXBwZW5kQ2hpbGQoaSksdC5vcHRpb25zLmludGVyYWN0aXZlJiZ0LmFkZEludGVyYWN0aXZlVGFyZ2V0KGkpfSxfcmVtb3ZlUGF0aDpmdW5jdGlvbih0KXt2YXIgaT10Ll9jb250YWluZXI7cmkoaSksdC5yZW1vdmVJbnRlcmFjdGl2ZVRhcmdldChpKSxkZWxldGUgdGhpcy5fbGF5ZXJzW20odCldfSxfdXBkYXRlU3R5bGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5fc3Ryb2tlLGU9dC5fZmlsbCxuPXQub3B0aW9ucyxvPXQuX2NvbnRhaW5lcjtvLnN0cm9rZWQ9ISFuLnN0cm9rZSxvLmZpbGxlZD0hIW4uZmlsbCxuLnN0cm9rZT8oaT1pfHwodC5fc3Ryb2tlPWNuKCJzdHJva2UiKSksby5hcHBlbmRDaGlsZChpKSxpLndlaWdodD1uLndlaWdodCsicHgiLGkuY29sb3I9bi5jb2xvcixpLm9wYWNpdHk9bi5vcGFjaXR5LG4uZGFzaEFycmF5P2kuZGFzaFN0eWxlPWcobi5kYXNoQXJyYXkpP24uZGFzaEFycmF5LmpvaW4oIiAiKTpuLmRhc2hBcnJheS5yZXBsYWNlKC8oICosICopL2csIiAiKTppLmRhc2hTdHlsZT0iIixpLmVuZGNhcD1uLmxpbmVDYXAucmVwbGFjZSgiYnV0dCIsImZsYXQiKSxpLmpvaW5zdHlsZT1uLmxpbmVKb2luKTppJiYoby5yZW1vdmVDaGlsZChpKSx0Ll9zdHJva2U9bnVsbCksbi5maWxsPyhlPWV8fCh0Ll9maWxsPWNuKCJmaWxsIikpLG8uYXBwZW5kQ2hpbGQoZSksZS5jb2xvcj1uLmZpbGxDb2xvcnx8bi5jb2xvcixlLm9wYWNpdHk9bi5maWxsT3BhY2l0eSk6ZSYmKG8ucmVtb3ZlQ2hpbGQoZSksdC5fZmlsbD1udWxsKX0sX3VwZGF0ZUNpcmNsZTpmdW5jdGlvbih0KXt2YXIgaT10Ll9wb2ludC5yb3VuZCgpLGU9TWF0aC5yb3VuZCh0Ll9yYWRpdXMpLG49TWF0aC5yb3VuZCh0Ll9yYWRpdXNZfHxlKTt0aGlzLl9zZXRQYXRoKHQsdC5fZW1wdHkoKT8iTTAgMCI6IkFMICIraS54KyIsIitpLnkrIiAiK2UrIiwiK24rIiAwLDIzNTkyNjAwIil9LF9zZXRQYXRoOmZ1bmN0aW9uKHQsaSl7dC5fcGF0aC52PWl9LF9icmluZ1RvRnJvbnQ6ZnVuY3Rpb24odCl7aGkodC5fY29udGFpbmVyKX0sX2JyaW5nVG9CYWNrOmZ1bmN0aW9uKHQpe3VpKHQuX2NvbnRhaW5lcil9fSxkbj1FdD9jbjpKLHBuPWhuLmV4dGVuZCh7Z2V0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9aG4ucHJvdG90eXBlLmdldEV2ZW50cy5jYWxsKHRoaXMpO3JldHVybiB0Lnpvb21zdGFydD10aGlzLl9vblpvb21TdGFydCx0fSxfaW5pdENvbnRhaW5lcjpmdW5jdGlvbigpe3RoaXMuX2NvbnRhaW5lcj1kbigic3ZnIiksdGhpcy5fY29udGFpbmVyLnNldEF0dHJpYnV0ZSgicG9pbnRlci1ldmVudHMiLCJub25lIiksdGhpcy5fcm9vdEdyb3VwPWRuKCJnIiksdGhpcy5fY29udGFpbmVyLmFwcGVuZENoaWxkKHRoaXMuX3Jvb3RHcm91cCl9LF9kZXN0cm95Q29udGFpbmVyOmZ1bmN0aW9uKCl7cmkodGhpcy5fY29udGFpbmVyKSxTaSh0aGlzLl9jb250YWluZXIpLGRlbGV0ZSB0aGlzLl9jb250YWluZXIsZGVsZXRlIHRoaXMuX3Jvb3RHcm91cCxkZWxldGUgdGhpcy5fc3ZnU2l6ZX0sX29uWm9vbVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlKCl9LF91cGRhdGU6ZnVuY3Rpb24oKXt2YXIgdCxpLGU7dGhpcy5fbWFwLl9hbmltYXRpbmdab29tJiZ0aGlzLl9ib3VuZHN8fChobi5wcm90b3R5cGUuX3VwZGF0ZS5jYWxsKHRoaXMpLGk9KHQ9dGhpcy5fYm91bmRzKS5nZXRTaXplKCksZT10aGlzLl9jb250YWluZXIsdGhpcy5fc3ZnU2l6ZSYmdGhpcy5fc3ZnU2l6ZS5lcXVhbHMoaSl8fCh0aGlzLl9zdmdTaXplPWksZS5zZXRBdHRyaWJ1dGUoIndpZHRoIixpLngpLGUuc2V0QXR0cmlidXRlKCJoZWlnaHQiLGkueSkpLHZpKGUsdC5taW4pLGUuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixbdC5taW4ueCx0Lm1pbi55LGkueCxpLnldLmpvaW4oIiAiKSksdGhpcy5maXJlKCJ1cGRhdGUiKSl9LF9pbml0UGF0aDpmdW5jdGlvbih0KXt2YXIgaT10Ll9wYXRoPWRuKCJwYXRoIik7dC5vcHRpb25zLmNsYXNzTmFtZSYmY2koaSx0Lm9wdGlvbnMuY2xhc3NOYW1lKSx0Lm9wdGlvbnMuaW50ZXJhY3RpdmUmJmNpKGksImxlYWZsZXQtaW50ZXJhY3RpdmUiKSx0aGlzLl91cGRhdGVTdHlsZSh0KSx0aGlzLl9sYXllcnNbbSh0KV09dH0sX2FkZFBhdGg6ZnVuY3Rpb24odCl7dGhpcy5fcm9vdEdyb3VwfHx0aGlzLl9pbml0Q29udGFpbmVyKCksdGhpcy5fcm9vdEdyb3VwLmFwcGVuZENoaWxkKHQuX3BhdGgpLHQuYWRkSW50ZXJhY3RpdmVUYXJnZXQodC5fcGF0aCl9LF9yZW1vdmVQYXRoOmZ1bmN0aW9uKHQpe3JpKHQuX3BhdGgpLHQucmVtb3ZlSW50ZXJhY3RpdmVUYXJnZXQodC5fcGF0aCksZGVsZXRlIHRoaXMuX2xheWVyc1ttKHQpXX0sX3VwZGF0ZVBhdGg6ZnVuY3Rpb24odCl7dC5fcHJvamVjdCgpLHQuX3VwZGF0ZSgpfSxfdXBkYXRlU3R5bGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5fcGF0aCxlPXQub3B0aW9ucztpJiYoZS5zdHJva2U/KGkuc2V0QXR0cmlidXRlKCJzdHJva2UiLGUuY29sb3IpLGkuc2V0QXR0cmlidXRlKCJzdHJva2Utb3BhY2l0eSIsZS5vcGFjaXR5KSxpLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIixlLndlaWdodCksaS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1saW5lY2FwIixlLmxpbmVDYXApLGkuc2V0QXR0cmlidXRlKCJzdHJva2UtbGluZWpvaW4iLGUubGluZUpvaW4pLGUuZGFzaEFycmF5P2kuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaGFycmF5IixlLmRhc2hBcnJheSk6aS5yZW1vdmVBdHRyaWJ1dGUoInN0cm9rZS1kYXNoYXJyYXkiKSxlLmRhc2hPZmZzZXQ/aS5zZXRBdHRyaWJ1dGUoInN0cm9rZS1kYXNob2Zmc2V0IixlLmRhc2hPZmZzZXQpOmkucmVtb3ZlQXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIpKTppLnNldEF0dHJpYnV0ZSgic3Ryb2tlIiwibm9uZSIpLGUuZmlsbD8oaS5zZXRBdHRyaWJ1dGUoImZpbGwiLGUuZmlsbENvbG9yfHxlLmNvbG9yKSxpLnNldEF0dHJpYnV0ZSgiZmlsbC1vcGFjaXR5IixlLmZpbGxPcGFjaXR5KSxpLnNldEF0dHJpYnV0ZSgiZmlsbC1ydWxlIixlLmZpbGxSdWxlfHwiZXZlbm9kZCIpKTppLnNldEF0dHJpYnV0ZSgiZmlsbCIsIm5vbmUiKSl9LF91cGRhdGVQb2x5OmZ1bmN0aW9uKHQsaSl7dGhpcy5fc2V0UGF0aCh0LCQodC5fcGFydHMsaSkpfSxfdXBkYXRlQ2lyY2xlOmZ1bmN0aW9uKHQpe3ZhciBpPXQuX3BvaW50LGU9TWF0aC5tYXgoTWF0aC5yb3VuZCh0Ll9yYWRpdXMpLDEpLG49ImEiK2UrIiwiKyhNYXRoLm1heChNYXRoLnJvdW5kKHQuX3JhZGl1c1kpLDEpfHxlKSsiIDAgMSwwICIsbz10Ll9lbXB0eSgpPyJNMCAwIjoiTSIrKGkueC1lKSsiLCIraS55K24rMiplKyIsMCAiK24rMiotZSsiLDAgIjt0aGlzLl9zZXRQYXRoKHQsbyl9LF9zZXRQYXRoOmZ1bmN0aW9uKHQsaSl7dC5fcGF0aC5zZXRBdHRyaWJ1dGUoImQiLGkpfSxfYnJpbmdUb0Zyb250OmZ1bmN0aW9uKHQpe2hpKHQuX3BhdGgpfSxfYnJpbmdUb0JhY2s6ZnVuY3Rpb24odCl7dWkodC5fcGF0aCl9fSk7ZnVuY3Rpb24gbW4odCl7cmV0dXJuIFp0fHxFdD9uZXcgcG4odCk6bnVsbH1FdCYmcG4uaW5jbHVkZShfbiksS2kuaW5jbHVkZSh7Z2V0UmVuZGVyZXI6ZnVuY3Rpb24odCl7dmFyIGk9KGk9dC5vcHRpb25zLnJlbmRlcmVyfHx0aGlzLl9nZXRQYW5lUmVuZGVyZXIodC5vcHRpb25zLnBhbmUpfHx0aGlzLm9wdGlvbnMucmVuZGVyZXJ8fHRoaXMuX3JlbmRlcmVyKXx8KHRoaXMuX3JlbmRlcmVyPXRoaXMuX2NyZWF0ZVJlbmRlcmVyKCkpO3JldHVybiB0aGlzLmhhc0xheWVyKGkpfHx0aGlzLmFkZExheWVyKGkpLGl9LF9nZXRQYW5lUmVuZGVyZXI6ZnVuY3Rpb24odCl7aWYoIm92ZXJsYXlQYW5lIj09PXR8fHZvaWQgMD09PXQpcmV0dXJuITE7dmFyIGk9dGhpcy5fcGFuZVJlbmRlcmVyc1t0XTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9dGhpcy5fY3JlYXRlUmVuZGVyZXIoe3BhbmU6dH0pLHRoaXMuX3BhbmVSZW5kZXJlcnNbdF09aSksaX0sX2NyZWF0ZVJlbmRlcmVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucHJlZmVyQ2FudmFzJiZsbih0KXx8bW4odCl9fSk7dmFyIGZuPVJlLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0LGkpe1JlLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcyx0aGlzLl9ib3VuZHNUb0xhdExuZ3ModCksaSl9LHNldEJvdW5kczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZXRMYXRMbmdzKHRoaXMuX2JvdW5kc1RvTGF0TG5ncyh0KSl9LF9ib3VuZHNUb0xhdExuZ3M6ZnVuY3Rpb24odCl7cmV0dXJuWyh0PU4odCkpLmdldFNvdXRoV2VzdCgpLHQuZ2V0Tm9ydGhXZXN0KCksdC5nZXROb3J0aEVhc3QoKSx0LmdldFNvdXRoRWFzdCgpXX19KTtwbi5jcmVhdGU9ZG4scG4ucG9pbnRzVG9QYXRoPSQsTmUuZ2VvbWV0cnlUb0xheWVyPURlLE5lLmNvb3Jkc1RvTGF0TG5nPVdlLE5lLmNvb3Jkc1RvTGF0TG5ncz1IZSxOZS5sYXRMbmdUb0Nvb3Jkcz1GZSxOZS5sYXRMbmdzVG9Db29yZHM9VWUsTmUuZ2V0RmVhdHVyZT1WZSxOZS5hc0ZlYXR1cmU9cWUsS2kubWVyZ2VPcHRpb25zKHtib3hab29tOiEwfSk7dmFyIGduPWllLmV4dGVuZCh7aW5pdGlhbGl6ZTpmdW5jdGlvbih0KXt0aGlzLl9tYXA9dCx0aGlzLl9jb250YWluZXI9dC5fY29udGFpbmVyLHRoaXMuX3BhbmU9dC5fcGFuZXMub3ZlcmxheVBhbmUsdGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQ9MCx0Lm9uKCJ1bmxvYWQiLHRoaXMuX2Rlc3Ryb3ksdGhpcyl9LGFkZEhvb2tzOmZ1bmN0aW9uKCl7emkodGhpcy5fY29udGFpbmVyLCJtb3VzZWRvd24iLHRoaXMuX29uTW91c2VEb3duLHRoaXMpfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe1NpKHRoaXMuX2NvbnRhaW5lciwibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlRG93bix0aGlzKX0sbW92ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbW92ZWR9LF9kZXN0cm95OmZ1bmN0aW9uKCl7cmkodGhpcy5fcGFuZSksZGVsZXRlIHRoaXMuX3BhbmV9LF9yZXNldFN0YXRlOmZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRTdGF0ZVRpbWVvdXQ9MCx0aGlzLl9tb3ZlZD0hMX0sX2NsZWFyRGVmZXJyZWRSZXNldFN0YXRlOmZ1bmN0aW9uKCl7MCE9PXRoaXMuX3Jlc2V0U3RhdGVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2V0U3RhdGVUaW1lb3V0KSx0aGlzLl9yZXNldFN0YXRlVGltZW91dD0wKX0sX29uTW91c2VEb3duOmZ1bmN0aW9uKHQpe2lmKCF0LnNoaWZ0S2V5fHwxIT09dC53aGljaCYmMSE9PXQuYnV0dG9uKXJldHVybiExO3RoaXMuX2NsZWFyRGVmZXJyZWRSZXNldFN0YXRlKCksdGhpcy5fcmVzZXRTdGF0ZSgpLFh0KCkseGkoKSx0aGlzLl9zdGFydFBvaW50PXRoaXMuX21hcC5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0KSx6aShkb2N1bWVudCx7Y29udGV4dG1lbnU6TmksbW91c2Vtb3ZlOnRoaXMuX29uTW91c2VNb3ZlLG1vdXNldXA6dGhpcy5fb25Nb3VzZVVwLGtleWRvd246dGhpcy5fb25LZXlEb3dufSx0aGlzKX0sX29uTW91c2VNb3ZlOmZ1bmN0aW9uKHQpe3RoaXMuX21vdmVkfHwodGhpcy5fbW92ZWQ9ITAsdGhpcy5fYm94PXNpKCJkaXYiLCJsZWFmbGV0LXpvb20tYm94Iix0aGlzLl9jb250YWluZXIpLGNpKHRoaXMuX2NvbnRhaW5lciwibGVhZmxldC1jcm9zc2hhaXIiKSx0aGlzLl9tYXAuZmlyZSgiYm94em9vbXN0YXJ0IikpLHRoaXMuX3BvaW50PXRoaXMuX21hcC5tb3VzZUV2ZW50VG9Db250YWluZXJQb2ludCh0KTt2YXIgaT1uZXcgSSh0aGlzLl9wb2ludCx0aGlzLl9zdGFydFBvaW50KSxlPWkuZ2V0U2l6ZSgpO3ZpKHRoaXMuX2JveCxpLm1pbiksdGhpcy5fYm94LnN0eWxlLndpZHRoPWUueCsicHgiLHRoaXMuX2JveC5zdHlsZS5oZWlnaHQ9ZS55KyJweCJ9LF9maW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl9tb3ZlZCYmKHJpKHRoaXMuX2JveCksX2kodGhpcy5fY29udGFpbmVyLCJsZWFmbGV0LWNyb3NzaGFpciIpKSxKdCgpLHdpKCksU2koZG9jdW1lbnQse2NvbnRleHRtZW51Ok5pLG1vdXNlbW92ZTp0aGlzLl9vbk1vdXNlTW92ZSxtb3VzZXVwOnRoaXMuX29uTW91c2VVcCxrZXlkb3duOnRoaXMuX29uS2V5RG93bn0sdGhpcyl9LF9vbk1vdXNlVXA6ZnVuY3Rpb24odCl7dmFyIGk7MSE9PXQud2hpY2gmJjEhPT10LmJ1dHRvbnx8KHRoaXMuX2ZpbmlzaCgpLHRoaXMuX21vdmVkJiYodGhpcy5fY2xlYXJEZWZlcnJlZFJlc2V0U3RhdGUoKSx0aGlzLl9yZXNldFN0YXRlVGltZW91dD1zZXRUaW1lb3V0KHAodGhpcy5fcmVzZXRTdGF0ZSx0aGlzKSwwKSxpPW5ldyBSKHRoaXMuX21hcC5jb250YWluZXJQb2ludFRvTGF0TG5nKHRoaXMuX3N0YXJ0UG9pbnQpLHRoaXMuX21hcC5jb250YWluZXJQb2ludFRvTGF0TG5nKHRoaXMuX3BvaW50KSksdGhpcy5fbWFwLmZpdEJvdW5kcyhpKS5maXJlKCJib3h6b29tZW5kIix7Ym94Wm9vbUJvdW5kczppfSkpKX0sX29uS2V5RG93bjpmdW5jdGlvbih0KXsyNz09PXQua2V5Q29kZSYmdGhpcy5fZmluaXNoKCl9fSk7S2kuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJib3hab29tIixnbiksS2kubWVyZ2VPcHRpb25zKHtkb3VibGVDbGlja1pvb206ITB9KTt2YXIgdm49aWUuZXh0ZW5kKHthZGRIb29rczpmdW5jdGlvbigpe3RoaXMuX21hcC5vbigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7dGhpcy5fbWFwLm9mZigiZGJsY2xpY2siLHRoaXMuX29uRG91YmxlQ2xpY2ssdGhpcyl9LF9vbkRvdWJsZUNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX21hcCxlPWkuZ2V0Wm9vbSgpLG49aS5vcHRpb25zLnpvb21EZWx0YSxvPXQub3JpZ2luYWxFdmVudC5zaGlmdEtleT9lLW46ZStuOyJjZW50ZXIiPT09aS5vcHRpb25zLmRvdWJsZUNsaWNrWm9vbT9pLnNldFpvb20obyk6aS5zZXRab29tQXJvdW5kKHQuY29udGFpbmVyUG9pbnQsbyl9fSk7S2kuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJkb3VibGVDbGlja1pvb20iLHZuKSxLaS5tZXJnZU9wdGlvbnMoe2RyYWdnaW5nOiEwLGluZXJ0aWE6IXN0LGluZXJ0aWFEZWNlbGVyYXRpb246MzQwMCxpbmVydGlhTWF4U3BlZWQ6MS8wLGVhc2VMaW5lYXJpdHk6LjIsd29ybGRDb3B5SnVtcDohMSxtYXhCb3VuZHNWaXNjb3NpdHk6MH0pO3ZhciB5bj1pZS5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7dmFyIHQ7dGhpcy5fZHJhZ2dhYmxlfHwodD10aGlzLl9tYXAsdGhpcy5fZHJhZ2dhYmxlPW5ldyBhZSh0Ll9tYXBQYW5lLHQuX2NvbnRhaW5lciksdGhpcy5fZHJhZ2dhYmxlLm9uKHtkcmFnc3RhcnQ6dGhpcy5fb25EcmFnU3RhcnQsZHJhZzp0aGlzLl9vbkRyYWcsZHJhZ2VuZDp0aGlzLl9vbkRyYWdFbmR9LHRoaXMpLHRoaXMuX2RyYWdnYWJsZS5vbigicHJlZHJhZyIsdGhpcy5fb25QcmVEcmFnTGltaXQsdGhpcyksdC5vcHRpb25zLndvcmxkQ29weUp1bXAmJih0aGlzLl9kcmFnZ2FibGUub24oInByZWRyYWciLHRoaXMuX29uUHJlRHJhZ1dyYXAsdGhpcyksdC5vbigiem9vbWVuZCIsdGhpcy5fb25ab29tRW5kLHRoaXMpLHQud2hlblJlYWR5KHRoaXMuX29uWm9vbUVuZCx0aGlzKSkpLGNpKHRoaXMuX21hcC5fY29udGFpbmVyLCJsZWFmbGV0LWdyYWIgbGVhZmxldC10b3VjaC1kcmFnIiksdGhpcy5fZHJhZ2dhYmxlLmVuYWJsZSgpLHRoaXMuX3Bvc2l0aW9ucz1bXSx0aGlzLl90aW1lcz1bXX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXtfaSh0aGlzLl9tYXAuX2NvbnRhaW5lciwibGVhZmxldC1ncmFiIiksX2kodGhpcy5fbWFwLl9jb250YWluZXIsImxlYWZsZXQtdG91Y2gtZHJhZyIpLHRoaXMuX2RyYWdnYWJsZS5kaXNhYmxlKCl9LG1vdmVkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlLl9tb3ZlZH0sbW92aW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlLl9tb3Zpbmd9LF9vbkRyYWdTdGFydDpmdW5jdGlvbigpe3ZhciB0LGk9dGhpcy5fbWFwO2kuX3N0b3AoKSx0aGlzLl9tYXAub3B0aW9ucy5tYXhCb3VuZHMmJnRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kc1Zpc2Nvc2l0eT8odD1OKHRoaXMuX21hcC5vcHRpb25zLm1heEJvdW5kcyksdGhpcy5fb2Zmc2V0TGltaXQ9Tyh0aGlzLl9tYXAubGF0TG5nVG9Db250YWluZXJQb2ludCh0LmdldE5vcnRoV2VzdCgpKS5tdWx0aXBseUJ5KC0xKSx0aGlzLl9tYXAubGF0TG5nVG9Db250YWluZXJQb2ludCh0LmdldFNvdXRoRWFzdCgpKS5tdWx0aXBseUJ5KC0xKS5hZGQodGhpcy5fbWFwLmdldFNpemUoKSkpLHRoaXMuX3Zpc2Nvc2l0eT1NYXRoLm1pbigxLE1hdGgubWF4KDAsdGhpcy5fbWFwLm9wdGlvbnMubWF4Qm91bmRzVmlzY29zaXR5KSkpOnRoaXMuX29mZnNldExpbWl0PW51bGwsaS5maXJlKCJtb3Zlc3RhcnQiKS5maXJlKCJkcmFnc3RhcnQiKSxpLm9wdGlvbnMuaW5lcnRpYSYmKHRoaXMuX3Bvc2l0aW9ucz1bXSx0aGlzLl90aW1lcz1bXSl9LF9vbkRyYWc6ZnVuY3Rpb24odCl7dmFyIGksZTt0aGlzLl9tYXAub3B0aW9ucy5pbmVydGlhJiYoaT10aGlzLl9sYXN0VGltZT0rbmV3IERhdGUsZT10aGlzLl9sYXN0UG9zPXRoaXMuX2RyYWdnYWJsZS5fYWJzUG9zfHx0aGlzLl9kcmFnZ2FibGUuX25ld1Bvcyx0aGlzLl9wb3NpdGlvbnMucHVzaChlKSx0aGlzLl90aW1lcy5wdXNoKGkpLHRoaXMuX3BydW5lUG9zaXRpb25zKGkpKSx0aGlzLl9tYXAuZmlyZSgibW92ZSIsdCkuZmlyZSgiZHJhZyIsdCl9LF9wcnVuZVBvc2l0aW9uczpmdW5jdGlvbih0KXtmb3IoOzE8dGhpcy5fcG9zaXRpb25zLmxlbmd0aCYmNTA8dC10aGlzLl90aW1lc1swXTspdGhpcy5fcG9zaXRpb25zLnNoaWZ0KCksdGhpcy5fdGltZXMuc2hpZnQoKX0sX29uWm9vbUVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcC5nZXRTaXplKCkuZGl2aWRlQnkoMiksaT10aGlzLl9tYXAubGF0TG5nVG9MYXllclBvaW50KFswLDBdKTt0aGlzLl9pbml0aWFsV29ybGRPZmZzZXQ9aS5zdWJ0cmFjdCh0KS54LHRoaXMuX3dvcmxkV2lkdGg9dGhpcy5fbWFwLmdldFBpeGVsV29ybGRCb3VuZHMoKS5nZXRTaXplKCkueH0sX3Zpc2NvdXNMaW1pdDpmdW5jdGlvbih0LGkpe3JldHVybiB0LSh0LWkpKnRoaXMuX3Zpc2Nvc2l0eX0sX29uUHJlRHJhZ0xpbWl0OmZ1bmN0aW9uKCl7dmFyIHQsaTt0aGlzLl92aXNjb3NpdHkmJnRoaXMuX29mZnNldExpbWl0JiYodD10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5zdWJ0cmFjdCh0aGlzLl9kcmFnZ2FibGUuX3N0YXJ0UG9zKSxpPXRoaXMuX29mZnNldExpbWl0LHQueDxpLm1pbi54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsaS5taW4ueCkpLHQueTxpLm1pbi55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksaS5taW4ueSkpLHQueD5pLm1heC54JiYodC54PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LngsaS5tYXgueCkpLHQueT5pLm1heC55JiYodC55PXRoaXMuX3Zpc2NvdXNMaW1pdCh0LnksaS5tYXgueSkpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zPXRoaXMuX2RyYWdnYWJsZS5fc3RhcnRQb3MuYWRkKHQpKX0sX29uUHJlRHJhZ1dyYXA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93b3JsZFdpZHRoLGk9TWF0aC5yb3VuZCh0LzIpLGU9dGhpcy5faW5pdGlhbFdvcmxkT2Zmc2V0LG49dGhpcy5fZHJhZ2dhYmxlLl9uZXdQb3MueCxvPShuLWkrZSkldCtpLWUscz0obitpK2UpJXQtaS1lLHI9TWF0aC5hYnMobytlKTxNYXRoLmFicyhzK2UpP286czt0aGlzLl9kcmFnZ2FibGUuX2Fic1Bvcz10aGlzLl9kcmFnZ2FibGUuX25ld1Bvcy5jbG9uZSgpLHRoaXMuX2RyYWdnYWJsZS5fbmV3UG9zLng9cn0sX29uRHJhZ0VuZDpmdW5jdGlvbih0KXt2YXIgaSxlLG4sbyxzLHIsYSxoLHUsbD10aGlzLl9tYXAsYz1sLm9wdGlvbnMsXz0hYy5pbmVydGlhfHx0aGlzLl90aW1lcy5sZW5ndGg8MjtsLmZpcmUoImRyYWdlbmQiLHQpLF8/bC5maXJlKCJtb3ZlZW5kIik6KHRoaXMuX3BydW5lUG9zaXRpb25zKCtuZXcgRGF0ZSksaT10aGlzLl9sYXN0UG9zLnN1YnRyYWN0KHRoaXMuX3Bvc2l0aW9uc1swXSksZT0odGhpcy5fbGFzdFRpbWUtdGhpcy5fdGltZXNbMF0pLzFlMyxuPWMuZWFzZUxpbmVhcml0eSxzPShvPWkubXVsdGlwbHlCeShuL2UpKS5kaXN0YW5jZVRvKFswLDBdKSxyPU1hdGgubWluKGMuaW5lcnRpYU1heFNwZWVkLHMpLGE9by5tdWx0aXBseUJ5KHIvcyksaD1yLyhjLmluZXJ0aWFEZWNlbGVyYXRpb24qbiksKHU9YS5tdWx0aXBseUJ5KC1oLzIpLnJvdW5kKCkpLnh8fHUueT8odT1sLl9saW1pdE9mZnNldCh1LGwub3B0aW9ucy5tYXhCb3VuZHMpLE0oZnVuY3Rpb24oKXtsLnBhbkJ5KHUse2R1cmF0aW9uOmgsZWFzZUxpbmVhcml0eTpuLG5vTW92ZVN0YXJ0OiEwLGFuaW1hdGU6ITB9KX0pKTpsLmZpcmUoIm1vdmVlbmQiKSl9fSk7S2kuYWRkSW5pdEhvb2soImFkZEhhbmRsZXIiLCJkcmFnZ2luZyIseW4pLEtpLm1lcmdlT3B0aW9ucyh7a2V5Ym9hcmQ6ITAsa2V5Ym9hcmRQYW5EZWx0YTo4MH0pO3ZhciB4bj1pZS5leHRlbmQoe2tleUNvZGVzOntsZWZ0OlszN10scmlnaHQ6WzM5XSxkb3duOls0MF0sdXA6WzM4XSx6b29tSW46WzE4NywxMDcsNjEsMTcxXSx6b29tT3V0OlsxODksMTA5LDU0LDE3M119LGluaXRpYWxpemU6ZnVuY3Rpb24odCl7dGhpcy5fbWFwPXQsdGhpcy5fc2V0UGFuRGVsdGEodC5vcHRpb25zLmtleWJvYXJkUGFuRGVsdGEpLHRoaXMuX3NldFpvb21EZWx0YSh0Lm9wdGlvbnMuem9vbURlbHRhKX0sYWRkSG9va3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9tYXAuX2NvbnRhaW5lcjt0LnRhYkluZGV4PD0wJiYodC50YWJJbmRleD0iMCIpLHppKHQse2ZvY3VzOnRoaXMuX29uRm9jdXMsYmx1cjp0aGlzLl9vbkJsdXIsbW91c2Vkb3duOnRoaXMuX29uTW91c2VEb3dufSx0aGlzKSx0aGlzLl9tYXAub24oe2ZvY3VzOnRoaXMuX2FkZEhvb2tzLGJsdXI6dGhpcy5fcmVtb3ZlSG9va3N9LHRoaXMpfSxyZW1vdmVIb29rczpmdW5jdGlvbigpe3RoaXMuX3JlbW92ZUhvb2tzKCksU2kodGhpcy5fbWFwLl9jb250YWluZXIse2ZvY3VzOnRoaXMuX29uRm9jdXMsYmx1cjp0aGlzLl9vbkJsdXIsbW91c2Vkb3duOnRoaXMuX29uTW91c2VEb3dufSx0aGlzKSx0aGlzLl9tYXAub2ZmKHtmb2N1czp0aGlzLl9hZGRIb29rcyxibHVyOnRoaXMuX3JlbW92ZUhvb2tzfSx0aGlzKX0sX29uTW91c2VEb3duOmZ1bmN0aW9uKCl7dmFyIHQsaSxlLG47dGhpcy5fZm9jdXNlZHx8KHQ9ZG9jdW1lbnQuYm9keSxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxlPXQuc2Nyb2xsVG9wfHxpLnNjcm9sbFRvcCxuPXQuc2Nyb2xsTGVmdHx8aS5zY3JvbGxMZWZ0LHRoaXMuX21hcC5fY29udGFpbmVyLmZvY3VzKCksd2luZG93LnNjcm9sbFRvKG4sZSkpfSxfb25Gb2N1czpmdW5jdGlvbigpe3RoaXMuX2ZvY3VzZWQ9ITAsdGhpcy5fbWFwLmZpcmUoImZvY3VzIil9LF9vbkJsdXI6ZnVuY3Rpb24oKXt0aGlzLl9mb2N1c2VkPSExLHRoaXMuX21hcC5maXJlKCJibHVyIil9LF9zZXRQYW5EZWx0YTpmdW5jdGlvbih0KXtmb3IodmFyIGk9dGhpcy5fcGFuS2V5cz17fSxlPXRoaXMua2V5Q29kZXMsbj0wLG89ZS5sZWZ0Lmxlbmd0aDtuPG87bisrKWlbZS5sZWZ0W25dXT1bLTEqdCwwXTtmb3Iobj0wLG89ZS5yaWdodC5sZW5ndGg7bjxvO24rKylpW2UucmlnaHRbbl1dPVt0LDBdO2ZvcihuPTAsbz1lLmRvd24ubGVuZ3RoO248bztuKyspaVtlLmRvd25bbl1dPVswLHRdO2ZvcihuPTAsbz1lLnVwLmxlbmd0aDtuPG87bisrKWlbZS51cFtuXV09WzAsLTEqdF19LF9zZXRab29tRGVsdGE6ZnVuY3Rpb24odCl7Zm9yKHZhciBpPXRoaXMuX3pvb21LZXlzPXt9LGU9dGhpcy5rZXlDb2RlcyxuPTAsbz1lLnpvb21Jbi5sZW5ndGg7bjxvO24rKylpW2Uuem9vbUluW25dXT10O2ZvcihuPTAsbz1lLnpvb21PdXQubGVuZ3RoO248bztuKyspaVtlLnpvb21PdXRbbl1dPS10fSxfYWRkSG9va3M6ZnVuY3Rpb24oKXt6aShkb2N1bWVudCwia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLHRoaXMpfSxfcmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXtTaShkb2N1bWVudCwia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLHRoaXMpfSxfb25LZXlEb3duOmZ1bmN0aW9uKHQpe2lmKCEodC5hbHRLZXl8fHQuY3RybEtleXx8dC5tZXRhS2V5KSl7dmFyIGksZT10LmtleUNvZGUsbj10aGlzLl9tYXA7aWYoZSBpbiB0aGlzLl9wYW5LZXlzKW4uX3BhbkFuaW0mJm4uX3BhbkFuaW0uX2luUHJvZ3Jlc3N8fChpPXRoaXMuX3BhbktleXNbZV0sdC5zaGlmdEtleSYmKGk9QShpKS5tdWx0aXBseUJ5KDMpKSxuLnBhbkJ5KGkpLG4ub3B0aW9ucy5tYXhCb3VuZHMmJm4ucGFuSW5zaWRlQm91bmRzKG4ub3B0aW9ucy5tYXhCb3VuZHMpKTtlbHNlIGlmKGUgaW4gdGhpcy5fem9vbUtleXMpbi5zZXRab29tKG4uZ2V0Wm9vbSgpKyh0LnNoaWZ0S2V5PzM6MSkqdGhpcy5fem9vbUtleXNbZV0pO2Vsc2V7aWYoMjchPT1lfHwhbi5fcG9wdXB8fCFuLl9wb3B1cC5vcHRpb25zLmNsb3NlT25Fc2NhcGVLZXkpcmV0dXJuO24uY2xvc2VQb3B1cCgpfU5pKHQpfX19KTtLaS5hZGRJbml0SG9vaygiYWRkSGFuZGxlciIsImtleWJvYXJkIix4biksS2kubWVyZ2VPcHRpb25zKHtzY3JvbGxXaGVlbFpvb206ITAsd2hlZWxEZWJvdW5jZVRpbWU6NDAsd2hlZWxQeFBlclpvb21MZXZlbDo2MH0pO3ZhciB3bj1pZS5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7emkodGhpcy5fbWFwLl9jb250YWluZXIsIndoZWVsIix0aGlzLl9vbldoZWVsU2Nyb2xsLHRoaXMpLHRoaXMuX2RlbHRhPTB9LHJlbW92ZUhvb2tzOmZ1bmN0aW9uKCl7U2kodGhpcy5fbWFwLl9jb250YWluZXIsIndoZWVsIix0aGlzLl9vbldoZWVsU2Nyb2xsLHRoaXMpfSxfb25XaGVlbFNjcm9sbDpmdW5jdGlvbih0KXt2YXIgaT1XaSh0KSxlPXRoaXMuX21hcC5vcHRpb25zLndoZWVsRGVib3VuY2VUaW1lO3RoaXMuX2RlbHRhKz1pLHRoaXMuX2xhc3RNb3VzZVBvcz10aGlzLl9tYXAubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodCksdGhpcy5fc3RhcnRUaW1lfHwodGhpcy5fc3RhcnRUaW1lPStuZXcgRGF0ZSk7dmFyIG49TWF0aC5tYXgoZS0obmV3IERhdGUtdGhpcy5fc3RhcnRUaW1lKSwwKTtjbGVhclRpbWVvdXQodGhpcy5fdGltZXIpLHRoaXMuX3RpbWVyPXNldFRpbWVvdXQocCh0aGlzLl9wZXJmb3JtWm9vbSx0aGlzKSxuKSxOaSh0KX0sX3BlcmZvcm1ab29tOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFwLGk9dC5nZXRab29tKCksZT10aGlzLl9tYXAub3B0aW9ucy56b29tU25hcHx8MDt0Ll9zdG9wKCk7dmFyIG49dGhpcy5fZGVsdGEvKDQqdGhpcy5fbWFwLm9wdGlvbnMud2hlZWxQeFBlclpvb21MZXZlbCksbz00Kk1hdGgubG9nKDIvKDErTWF0aC5leHAoLU1hdGguYWJzKG4pKSkpL01hdGguTE4yLHM9ZT9NYXRoLmNlaWwoby9lKSplOm8scj10Ll9saW1pdFpvb20oaSsoMDx0aGlzLl9kZWx0YT9zOi1zKSktaTt0aGlzLl9kZWx0YT0wLHRoaXMuX3N0YXJ0VGltZT1udWxsLHImJigiY2VudGVyIj09PXQub3B0aW9ucy5zY3JvbGxXaGVlbFpvb20/dC5zZXRab29tKGkrcik6dC5zZXRab29tQXJvdW5kKHRoaXMuX2xhc3RNb3VzZVBvcyxpK3IpKX19KTtLaS5hZGRJbml0SG9vaygiYWRkSGFuZGxlciIsInNjcm9sbFdoZWVsWm9vbSIsd24pLEtpLm1lcmdlT3B0aW9ucyh7dGFwOiEwLHRhcFRvbGVyYW5jZToxNX0pO3ZhciBQbj1pZS5leHRlbmQoe2FkZEhvb2tzOmZ1bmN0aW9uKCl7emkodGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uRG93bix0aGlzKX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXtTaSh0aGlzLl9tYXAuX2NvbnRhaW5lciwidG91Y2hzdGFydCIsdGhpcy5fb25Eb3duLHRoaXMpfSxfb25Eb3duOmZ1bmN0aW9uKHQpe2lmKHQudG91Y2hlcyl7aWYoUmkodCksdGhpcy5fZmlyZUNsaWNrPSEwLDE8dC50b3VjaGVzLmxlbmd0aClyZXR1cm4gdGhpcy5fZmlyZUNsaWNrPSExLHZvaWQgY2xlYXJUaW1lb3V0KHRoaXMuX2hvbGRUaW1lb3V0KTt2YXIgaT10LnRvdWNoZXNbMF0sZT1pLnRhcmdldDt0aGlzLl9zdGFydFBvcz10aGlzLl9uZXdQb3M9bmV3IGsoaS5jbGllbnRYLGkuY2xpZW50WSksZS50YWdOYW1lJiYiYSI9PT1lLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmY2koZSwibGVhZmxldC1hY3RpdmUiKSx0aGlzLl9ob2xkVGltZW91dD1zZXRUaW1lb3V0KHAoZnVuY3Rpb24oKXt0aGlzLl9pc1RhcFZhbGlkKCkmJih0aGlzLl9maXJlQ2xpY2s9ITEsdGhpcy5fb25VcCgpLHRoaXMuX3NpbXVsYXRlRXZlbnQoImNvbnRleHRtZW51IixpKSl9LHRoaXMpLDFlMyksdGhpcy5fc2ltdWxhdGVFdmVudCgibW91c2Vkb3duIixpKSx6aShkb2N1bWVudCx7dG91Y2htb3ZlOnRoaXMuX29uTW92ZSx0b3VjaGVuZDp0aGlzLl9vblVwfSx0aGlzKX19LF9vblVwOmZ1bmN0aW9uKHQpe3ZhciBpLGU7Y2xlYXJUaW1lb3V0KHRoaXMuX2hvbGRUaW1lb3V0KSxTaShkb2N1bWVudCx7dG91Y2htb3ZlOnRoaXMuX29uTW92ZSx0b3VjaGVuZDp0aGlzLl9vblVwfSx0aGlzKSx0aGlzLl9maXJlQ2xpY2smJnQmJnQuY2hhbmdlZFRvdWNoZXMmJigoZT0oaT10LmNoYW5nZWRUb3VjaGVzWzBdKS50YXJnZXQpJiZlLnRhZ05hbWUmJiJhIj09PWUudGFnTmFtZS50b0xvd2VyQ2FzZSgpJiZfaShlLCJsZWFmbGV0LWFjdGl2ZSIpLHRoaXMuX3NpbXVsYXRlRXZlbnQoIm1vdXNldXAiLGkpLHRoaXMuX2lzVGFwVmFsaWQoKSYmdGhpcy5fc2ltdWxhdGVFdmVudCgiY2xpY2siLGkpKX0sX2lzVGFwVmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbmV3UG9zLmRpc3RhbmNlVG8odGhpcy5fc3RhcnRQb3MpPD10aGlzLl9tYXAub3B0aW9ucy50YXBUb2xlcmFuY2V9LF9vbk1vdmU6ZnVuY3Rpb24odCl7dmFyIGk9dC50b3VjaGVzWzBdO3RoaXMuX25ld1Bvcz1uZXcgayhpLmNsaWVudFgsaS5jbGllbnRZKSx0aGlzLl9zaW11bGF0ZUV2ZW50KCJtb3VzZW1vdmUiLGkpfSxfc2ltdWxhdGVFdmVudDpmdW5jdGlvbih0LGkpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJNb3VzZUV2ZW50cyIpO2UuX3NpbXVsYXRlZD0hMCxpLnRhcmdldC5fc2ltdWxhdGVkQ2xpY2s9ITAsZS5pbml0TW91c2VFdmVudCh0LCEwLCEwLHdpbmRvdywxLGkuc2NyZWVuWCxpLnNjcmVlblksaS5jbGllbnRYLGkuY2xpZW50WSwhMSwhMSwhMSwhMSwwLG51bGwpLGkudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZSl9fSk7IWJ0fHxMdCYmIWN0fHxLaS5hZGRJbml0SG9vaygiYWRkSGFuZGxlciIsInRhcCIsUG4pLEtpLm1lcmdlT3B0aW9ucyh7dG91Y2hab29tOmJ0JiYhc3QsYm91bmNlQXRab29tTGltaXRzOiEwfSk7dmFyIExuPWllLmV4dGVuZCh7YWRkSG9va3M6ZnVuY3Rpb24oKXtjaSh0aGlzLl9tYXAuX2NvbnRhaW5lciwibGVhZmxldC10b3VjaC16b29tIiksemkodGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCx0aGlzKX0scmVtb3ZlSG9va3M6ZnVuY3Rpb24oKXtfaSh0aGlzLl9tYXAuX2NvbnRhaW5lciwibGVhZmxldC10b3VjaC16b29tIiksU2kodGhpcy5fbWFwLl9jb250YWluZXIsInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydCx0aGlzKX0sX29uVG91Y2hTdGFydDpmdW5jdGlvbih0KXt2YXIgaSxlLG49dGhpcy5fbWFwOyF0LnRvdWNoZXN8fDIhPT10LnRvdWNoZXMubGVuZ3RofHxuLl9hbmltYXRpbmdab29tfHx0aGlzLl96b29taW5nfHwoaT1uLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1swXSksZT1uLm1vdXNlRXZlbnRUb0NvbnRhaW5lclBvaW50KHQudG91Y2hlc1sxXSksdGhpcy5fY2VudGVyUG9pbnQ9bi5nZXRTaXplKCkuX2RpdmlkZUJ5KDIpLHRoaXMuX3N0YXJ0TGF0TG5nPW4uY29udGFpbmVyUG9pbnRUb0xhdExuZyh0aGlzLl9jZW50ZXJQb2ludCksImNlbnRlciIhPT1uLm9wdGlvbnMudG91Y2hab29tJiYodGhpcy5fcGluY2hTdGFydExhdExuZz1uLmNvbnRhaW5lclBvaW50VG9MYXRMbmcoaS5hZGQoZSkuX2RpdmlkZUJ5KDIpKSksdGhpcy5fc3RhcnREaXN0PWkuZGlzdGFuY2VUbyhlKSx0aGlzLl9zdGFydFpvb209bi5nZXRab29tKCksdGhpcy5fbW92ZWQ9ITEsdGhpcy5fem9vbWluZz0hMCxuLl9zdG9wKCksemkoZG9jdW1lbnQsInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaE1vdmUsdGhpcyksemkoZG9jdW1lbnQsInRvdWNoZW5kIix0aGlzLl9vblRvdWNoRW5kLHRoaXMpLFJpKHQpKX0sX29uVG91Y2hNb3ZlOmZ1bmN0aW9uKHQpe2lmKHQudG91Y2hlcyYmMj09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMuX3pvb21pbmcpe3ZhciBpPXRoaXMuX21hcCxlPWkubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodC50b3VjaGVzWzBdKSxuPWkubW91c2VFdmVudFRvQ29udGFpbmVyUG9pbnQodC50b3VjaGVzWzFdKSxvPWUuZGlzdGFuY2VUbyhuKS90aGlzLl9zdGFydERpc3Q7aWYodGhpcy5fem9vbT1pLmdldFNjYWxlWm9vbShvLHRoaXMuX3N0YXJ0Wm9vbSksIWkub3B0aW9ucy5ib3VuY2VBdFpvb21MaW1pdHMmJih0aGlzLl96b29tPGkuZ2V0TWluWm9vbSgpJiZvPDF8fHRoaXMuX3pvb20+aS5nZXRNYXhab29tKCkmJjE8bykmJih0aGlzLl96b29tPWkuX2xpbWl0Wm9vbSh0aGlzLl96b29tKSksImNlbnRlciI9PT1pLm9wdGlvbnMudG91Y2hab29tKXtpZih0aGlzLl9jZW50ZXI9dGhpcy5fc3RhcnRMYXRMbmcsMT09bylyZXR1cm59ZWxzZXt2YXIgcz1lLl9hZGQobikuX2RpdmlkZUJ5KDIpLl9zdWJ0cmFjdCh0aGlzLl9jZW50ZXJQb2ludCk7aWYoMT09byYmMD09PXMueCYmMD09PXMueSlyZXR1cm47dGhpcy5fY2VudGVyPWkudW5wcm9qZWN0KGkucHJvamVjdCh0aGlzLl9waW5jaFN0YXJ0TGF0TG5nLHRoaXMuX3pvb20pLnN1YnRyYWN0KHMpLHRoaXMuX3pvb20pfXRoaXMuX21vdmVkfHwoaS5fbW92ZVN0YXJ0KCEwLCExKSx0aGlzLl9tb3ZlZD0hMCkseih0aGlzLl9hbmltUmVxdWVzdCk7dmFyIHI9cChpLl9tb3ZlLGksdGhpcy5fY2VudGVyLHRoaXMuX3pvb20se3BpbmNoOiEwLHJvdW5kOiExfSk7dGhpcy5fYW5pbVJlcXVlc3Q9TShyLHRoaXMsITApLFJpKHQpfX0sX29uVG91Y2hFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9tb3ZlZCYmdGhpcy5fem9vbWluZz8odGhpcy5fem9vbWluZz0hMSx6KHRoaXMuX2FuaW1SZXF1ZXN0KSxTaShkb2N1bWVudCwidG91Y2htb3ZlIix0aGlzLl9vblRvdWNoTW92ZSx0aGlzKSxTaShkb2N1bWVudCwidG91Y2hlbmQiLHRoaXMuX29uVG91Y2hFbmQsdGhpcyksdGhpcy5fbWFwLm9wdGlvbnMuem9vbUFuaW1hdGlvbj90aGlzLl9tYXAuX2FuaW1hdGVab29tKHRoaXMuX2NlbnRlcix0aGlzLl9tYXAuX2xpbWl0Wm9vbSh0aGlzLl96b29tKSwhMCx0aGlzLl9tYXAub3B0aW9ucy56b29tU25hcCk6dGhpcy5fbWFwLl9yZXNldFZpZXcodGhpcy5fY2VudGVyLHRoaXMuX21hcC5fbGltaXRab29tKHRoaXMuX3pvb20pKSk6dGhpcy5fem9vbWluZz0hMX19KTtLaS5hZGRJbml0SG9vaygiYWRkSGFuZGxlciIsInRvdWNoWm9vbSIsTG4pLEtpLkJveFpvb209Z24sS2kuRG91YmxlQ2xpY2tab29tPXZuLEtpLkRyYWc9eW4sS2kuS2V5Ym9hcmQ9eG4sS2kuU2Nyb2xsV2hlZWxab29tPXduLEtpLlRhcD1QbixLaS5Ub3VjaFpvb209TG4sdC52ZXJzaW9uPSIxLjcuMSIsdC5Db250cm9sPVhpLHQuY29udHJvbD1ZaSx0LkJyb3dzZXI9QnQsdC5FdmVudGVkPUUsdC5NaXhpbj1uZSx0LlV0aWw9Qyx0LkNsYXNzPVMsdC5IYW5kbGVyPWllLHQuZXh0ZW5kPWgsdC5iaW5kPXAsdC5zdGFtcD1tLHQuc2V0T3B0aW9ucz1jLHQuRG9tRXZlbnQ9cWksdC5Eb21VdGlsPU1pLHQuUG9zQW5pbWF0aW9uPUdpLHQuRHJhZ2dhYmxlPWFlLHQuTGluZVV0aWw9ZmUsdC5Qb2x5VXRpbD15ZSx0LlBvaW50PWssdC5wb2ludD1BLHQuQm91bmRzPUksdC5ib3VuZHM9Tyx0LlRyYW5zZm9ybWF0aW9uPXEsdC50cmFuc2Zvcm1hdGlvbj1HLHQuUHJvamVjdGlvbj1QZSx0LkxhdExuZz1ELHQubGF0TG5nPWosdC5MYXRMbmdCb3VuZHM9Uix0LmxhdExuZ0JvdW5kcz1OLHQuQ1JTPUgsdC5HZW9KU09OPU5lLHQuZ2VvSlNPTj1LZSx0Lmdlb0pzb249WWUsdC5MYXllcj1NZSx0LkxheWVyR3JvdXA9emUsdC5sYXllckdyb3VwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyB6ZSh0LGkpfSx0LkZlYXR1cmVHcm91cD1DZSx0LmZlYXR1cmVHcm91cD1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgQ2UodCxpKX0sdC5JbWFnZU92ZXJsYXk9WGUsdC5pbWFnZU92ZXJsYXk9ZnVuY3Rpb24odCxpLGUpe3JldHVybiBuZXcgWGUodCxpLGUpfSx0LlZpZGVvT3ZlcmxheT1KZSx0LnZpZGVvT3ZlcmxheT1mdW5jdGlvbih0LGksZSl7cmV0dXJuIG5ldyBKZSh0LGksZSl9LHQuU1ZHT3ZlcmxheT0kZSx0LnN2Z092ZXJsYXk9ZnVuY3Rpb24odCxpLGUpe3JldHVybiBuZXcgJGUodCxpLGUpfSx0LkRpdk92ZXJsYXk9UWUsdC5Qb3B1cD10bix0LnBvcHVwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyB0bih0LGkpfSx0LlRvb2x0aXA9ZW4sdC50b29sdGlwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBlbih0LGkpfSx0Lkljb249U2UsdC5pY29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgU2UodCl9LHQuRGl2SWNvbj1ubix0LmRpdkljb249ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBubih0KX0sdC5NYXJrZXI9a2UsdC5tYXJrZXI9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3IGtlKHQsaSl9LHQuVGlsZUxheWVyPXNuLHQudGlsZUxheWVyPXJuLHQuR3JpZExheWVyPW9uLHQuZ3JpZExheWVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgb24odCl9LHQuU1ZHPXBuLHQuc3ZnPW1uLHQuUmVuZGVyZXI9aG4sdC5DYW52YXM9dW4sdC5jYW52YXM9bG4sdC5QYXRoPUJlLHQuQ2lyY2xlTWFya2VyPUFlLHQuY2lyY2xlTWFya2VyPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBBZSh0LGkpfSx0LkNpcmNsZT1JZSx0LmNpcmNsZT1mdW5jdGlvbih0LGksZSl7cmV0dXJuIG5ldyBJZSh0LGksZSl9LHQuUG9seWxpbmU9T2UsdC5wb2x5bGluZT1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgT2UodCxpKX0sdC5Qb2x5Z29uPVJlLHQucG9seWdvbj1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgUmUodCxpKX0sdC5SZWN0YW5nbGU9Zm4sdC5yZWN0YW5nbGU9ZnVuY3Rpb24odCxpKXtyZXR1cm4gbmV3IGZuKHQsaSl9LHQuTWFwPUtpLHQubWFwPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIG5ldyBLaSh0LGkpfTt2YXIgYm49d2luZG93Lkw7dC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5MPWJuLHRoaXN9LHdpbmRvdy5MPXR9KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGVhZmxldC5qcy5tYXA="}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ubuntu/v21/4iCv6KVjbNBYlgoCxCvjsGyN.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.419Z","timestamp":1785139582419,"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/ubuntu/v21/4iCv6KVjbNBYlgoCxCvjsGyN.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://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 29844\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:15 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:15 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 27 Aug 2025 19:19:15 GMT\r\ncontent-type: font/woff2\r\nage: 413767\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":29844,"size_decoded":30657,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 29844, version 1.0","md5":"9418887ae687a640730a62da6d5cef56","sha1":"c82ce6b645275be73a81d3c9027f540c0add912f","sha256":"3658a0717e347c1db8d80dd565584b9dc56769fbf87909c50a4a7740206ec5f7","sha512":"c700f698292446c2f7b8c6ab8d44eedc78ef1a0053faec159ef3f67d321bc5c9b0c24b8860ca15dcd02b24da947a32f2640bd00b4ba2c6729f3a7810ba441487","ssdeep":"768:8K/8hhK5wKRT6RxuABYd47Sm56257a/1MePoWvV6:88Sh3eTzABYdkR5b5SPoEI","tlshash":"bad2f160971a7d67dfe1de267811eb4f43aa36df0f515a4918da35cc231e38920b43e4","first_seen":"2025-09-02T19:57:23.466991Z","last_seen":"2026-08-12T16:48:56.140673Z","times_seen":17106,"resource_available":false,"data":"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"}},"time_used":109,"timings":{"blocked":39,"dns":0,"connect":32,"send":0,"wait":16,"receive":21,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.mixedfinance.io/asset/frontend/js/main.js","fqdn":"www.mixedfinance.io","domain":"mixedfinance.io","tld":"io"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.457Z","timestamp":1785139582457,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /asset/frontend/js/main.js HTTP/1.1\r\nHost: www.mixedfinance.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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":"nanoquantumstellarsledger.com/frontcss/assets/fonts/fontawesome-webfont.woff?v=4.6.3","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.369Z","timestamp":1785139583369,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/fonts/fontawesome-webfont.woff?v=4.6.3 HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/styles.min.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 990\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":990,"size_decoded":1182,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"5e6f2f1a813ab5a08d8285cdaeb5e41e","sha1":"092f863565b307cd1f557bf5b916c893a6ed310f","sha256":"47d6aa11143d57bc85dec45bbaa4bf135edf0ace0a6228e8028b47179ba267ed","sha512":"2cc85f21166652cd2407ccf06afef5f5081f14ce2fff10b94c8e2622966677b1764be521e489ea17e5b0e6a444cca89066b919f34b222449925f56475c64aea9","ssdeep":"","tlshash":"f411143b08050b6e121082a3b410736cd0dfaf16ae96a4b0d0b31b6b7ad4a86c5399ac","first_seen":"2026-07-27T05:09:49.357984Z","last_seen":"2026-07-27T08:08:22.752082Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9zdHlsZXMubWluLmNzcyIgY2xhc3M9ImhvbWUtYnRuIj5HbyBCYWNrPC9hPgoJCTwvZGl2PgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgoK"}},"time_used":266,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":266,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.949Z","timestamp":1785139583949,"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-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 08:06:23 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: b3e19217e8c45afc4e9be010229ca9af\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-08-12T17:58:50.120967Z","times_seen":1038,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.976Z","timestamp":1785139583976,"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-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 08:06:23 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: 3bf858caf765d958f3412c3f06372d0e\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-28T06:17:53.599964Z","times_seen":228,"resource_available":false,"data":"LmJ1dHRvbi1HYXdwQjBwZnthbGw6dW5zZXQ7ZGlzcGxheTpmbGV4O291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5idXR0b24tR2F3cEIwcGY6Zm9jdXN7b3V0bGluZTpub25lfS5idXR0b24tR2F3cEIwcGY6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9LmJ1dHRvbi1HYXdwQjBwZjphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYnV0dG9uLUdhd3BCMHBmOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1cy12aXNpYmxlOmFmdGVye2Rpc3BsYXk6YmxvY2t9LmJ1dHRvbi1HYXdwQjBwZjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYnV0dG9uLUdhd3BCMHBmOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7Ym9yZGVyLXJhZGl1czo0cHh9LmJ1dHRvbi1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGY6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJvcmRlci1wcmltYXJ5LWludmVyc2UpfS5mYXZvcml0ZS1HYXdwQjBwZi5maWxsZWQtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpfS5mYXZvcml0ZS1HYXdwQjBwZi5hY3RpdmUtR2F3cEIwcGZ7Y29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWludmVyc2UpfQ=="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.991Z","timestamp":1785139583991,"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-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 08:06:23 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: 47fca3984026881f779f1f76013e5e6f\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-08-12T05:10:43.122934Z","times_seen":554,"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":"nanoquantumstellarsledger.com/frontcss/assets/theme-styles.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.977Z","timestamp":1785139581977,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/theme-styles.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 20396\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":141778,"size_decoded":20706,"mime_type":"text/css","magic":"ASCII text, with very long lines (542)","md5":"66da85092a8d0ebd84475d8d53011878","sha1":"ba85a7faa7aced3ba05b897b3288744c18d6c25b","sha256":"34a704ae006ad76a78dcb71ec2a65099da438bdb2662c20bb9b08bf2e984a1a9","sha512":"dbd23d5be1f3b62c3d4f318f036cae0c82adf5bc834fdf61ba710d13e2b2f73cb784d291b8937fbe0d89ff6c063f5b8abd9f1fce664ff77977be08df78534e56","ssdeep":"1536:9rUDjwrBI+5hPT54eqOym3uETZqL8WWdkX:9wDjOP1Mm69X","tlshash":"61d3509b4df312856817da9d5bee661063341023e21decea3edda645cf4dbc840e638b","first_seen":"2025-11-23T04:10:47.912096Z","last_seen":"2026-07-27T09:11:27.372056Z","times_seen":7,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tICNUSEVNRSBTVFlMRVMgLS0tLS0tLS0tLS0tLS0qLwovKi0tLS0tLS0tLS0tLS0gI1RBQkxFIE9GIENPTlRFTlRTIC0tLS0tLS0tLS0tLS0tKi8KLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCjEuIEJsb2NrcyAvIFN0eWxlcyBmb3IgQmxvY2tzCgkxLjEgQWNjb3JkaW9uCgkxLjIgQWxlcnRzIG1lc3NhZ2VzCgkxLjMgQmxvZ3MKCTEuNCBCdXR0b25zCgkxLjUgQ2hhcnQgc3RhdGlzdGljcwoJMS42IENoZWNrYm94ZXMKCTEuNyBDaXJjbGVkIGJsb2NrCgkxLjggQ2xpZW50cwoJMS45IENvbW1lbnRzCgkxLjEwIENvbnRhY3RzCgkxLjExIENvdW50ZG93bgoJMS4xMiBDb3VudGVycwoJMS4xMyBDcnlwdG8gY29udmVydGVyCgkxLjE0IEV2ZW50cwoJMS4xNSBFeHBlcnRzCgkxLjE2IEZlYXR1cmVkIGJsb2NrCgkxLjE3IEZvcm1zCgkxLjE4IEhlYWRpbmdzCgkxLjE5IEluZm8gYm94ZXMKCTEuMjAgTGVzc29ucwoJMS4yMSBNb3ZlIEJhY2tncm91bmQKCTEuMjIgTmF2aWdhdGlvbgoJMS4yMyBQaWUgY2hhcnRzCgkxLjI0IFBvcHVwIHdpbmRvd3MKCTEuMjUgUHJpY2luZyB0YWJsZXMKCTEuMjYgUXVvdGVzCgkxLjI3IFJhZGlvIGJ1dHRvbnMKCTEuMjggU2tpbGxzCgkxLjI5IFNsaWRlcnMKCTEuMzAgU29jaWFscwoJMS4zMSBUYWJsZXMKCTEuMzIgVGVzdGltb25pYWxzCgkxLjMzIFJhbmdlIFNsaWRlcnMKCjIuIFBsdWdpbnMgLyBTdHlsZXMgZm9yIHBsdWdpbnMKCTIuMSBEYXRlcGlja2VyCgkyLjMgQ3VzdG9tIHNjcm9sbEJhcgoJMi40IFNlbGVjdDIKCTIuNSBTd2lwZXIKCTIuNiBUaW1lIENpcmNsZXMKCTIuNyBJb24gUmFuZ2UgU2xpZGVyCgozLiBUaGVtZSBTdHlsZXMgLyBNYWluIFRoZW1lIFN0eWxlcwoJMy4xIEZvb3RlcgoJMy4yIEdsb2JhbAoJMy4zIEdyaWQKCTMuNCBIZWFkZXIKCTMuNSBIZWxwZXIKCTMuNiBNYWduaWZpYyBwb3B1cAoJMy43IE1peGlucwoJMy44IE5vcm1hbGl6ZQoJMy45IFBhZ2UgNDA0CgkzLjEwIFByZWxvYWRlcgoJMy4xMSBQcmltYXJ5IG1lbnUKCTMuMTIgVGFicwoJMy4xMyBUeXBvZ3JhcGh5CgkzLjE0IFZhcmlhYmxlcwoKNC4gV2lkZ2V0cyAvIFN0eWxlcyBmb3IgYWxsIFdpZGdldHMKCTQuMSBXaWRnZXQgQXJjaGl2ZXMKCTQuMiBXaWRnZXQgRGlzdHJpYnV0aW9uIEVuZHMKCTQuMyBXaWRnZXQgSGVscAoJNC40IFdpZGdldCBJbmZvCgk0LjUgV2lkZ2V0IExhdGVzdCBOZXdzCgk0LjYgV2lkZ2V0IFN1YnNjcmliZQoJNC43IFdpZGdldCBUYWdzCgk0LjggV2lkZ2V0IFVwY29taW5nIEV2ZW50cwoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyotLS0tLS0tLS0tLS0tICNWQVJJQUJMRVMgLS0tLS0tLS0tLS0tLS0qLwovKi0tLS0tLS0tLS0tLS0gI0dMT0JBTCBTVFlMRVMgLS0tLS0tLS0tLS0tLS0qLwoKCiosICo6YmVmb3JlLCAqOmFmdGVyIHsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0KICAKICBodG1sLCBib2R5IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGhlaWdodDogMTAwJTsgfQogIAogIGJvZHkgewogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi9pbWcvYm9keS1iZy5wbmciKTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE4MWQ7CiAgICBjb2xvcjogI2ExYWJiZDsKICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1IiwgQXJpYWwsICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgc2VyaWYsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgbGluZS1oZWlnaHQ6IDEuNjM7CiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAxZW07IH0KICAKICBpbWcgewogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgCiAgYmxvY2txdW90ZSB7CiAgICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IDA7CiAgICAtd2Via2l0LW1hcmdpbi1hZnRlcjogMDsKICAgIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwOwogICAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwOyB9CiAgCiAgYmxvY2txdW90ZSB7CiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OwogICAgbWFyZ2luOiAwIDAgMjBweDsgfQogIAogIGNhcHRpb24gewogICAgcGFkZGluZy10b3A6IDhweDsKICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICBjb2xvcjogIzc3NzsKICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAKICBhIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiAjYzNjOWQ0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7IH0KICAKICBwIHsKICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAgIHAgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9CiAgCiAgZmlndXJlIHsKICAgIG1hcmdpbjogMDsKICAgIG1heC13aWR0aDogMTAwJTsgfQogIAogIHNlbGVjdCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNhMWFiYmQ7CiAgICBhcHBlYXJhbmNlOiBub25lOwogICAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogICAgLyogRmlyZWZveCAqLwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi8gfQogIAogIHRleHRhcmVhIHsKICAgIGhlaWdodDogYXV0bzsKICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH0KICAKICB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwKICBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIsCiAgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwKICBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgY29sb3I6ICNhMWFiYmQ7IH0KICAKICBpbnB1dCwgdGV4dGFyZWEgewogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOwogICAgYm94LXNoYWRvdzogbm9uZTsgfQogICAgaW5wdXQ6aW52YWxpZCwgdGV4dGFyZWE6aW52YWxpZCB7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDA0ZDsgfQogICAgaW5wdXQ6LW1vei1zdWJtaXQtaW52YWxpZCwgdGV4dGFyZWE6LW1vei1zdWJtaXQtaW52YWxpZCB7CiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0KICAgIGlucHV0LndwY2Y3LWZvcm0tY29udHJvbCwgdGV4dGFyZWEud3BjZjctZm9ybS1jb250cm9sIHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1N0eWxlcyBmb3IgbGlzdCAtLS0tLS0tLS0tLS0tLSovCiAgdWw6bm90KFtjbGFzc10pIGxpLAogIG9sOm5vdChbY2xhc3NdKSBsaSB7CiAgICBtYXJnaW4tYm90dG9tOiAuNmVtOwogICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IH0KICAgIHVsOm5vdChbY2xhc3NdKSBsaSBzdHJvbmcsCiAgICBvbDpub3QoW2NsYXNzXSkgbGkgc3Ryb25nIHsKICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgIHVsOm5vdChbY2xhc3NdKSBsaSBhLAogICAgb2w6bm90KFtjbGFzc10pIGxpIGEgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IH0KICAKICB1bDpub3QoW2NsYXNzXSkgdWwsCiAgb2w6bm90KFtjbGFzc10pIHVsIHsKICAgIHBhZGRpbmc6IDA7CiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7CiAgICBtYXJnaW46IDIwcHggMCAxNXB4OwogICAgbGlzdC1zdHlsZTogaW5oZXJpdDsgfQogICAgdWw6bm90KFtjbGFzc10pIHVsIGxpLAogICAgb2w6bm90KFtjbGFzc10pIHVsIGxpIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgCiAgLmxpc3QgewogICAgY29sb3I6ICNhMWFiYmQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgICAubGlzdCB1bCB7CiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsKICAgICAgbWFyZ2luOiAxNXB4IDAgMDsgfQogICAgICAubGlzdCB1bCBsaSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07CiAgICAgICAgY29sb3I6ICNhMWFiYmQ7IH0KICAgIC5saXN0IGxpIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMC42ZW07CiAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBjbGVhcjogYm90aDsKICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgICAubGlzdCBsaSBhIHsKICAgICAgICBtYXgtd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlIC0gNTBweCk7CiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTsgfQogICAgICAubGlzdCBsaSBhLCAubGlzdCBsaSBsaSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDE1ZW07IH0KICAgICAgLmxpc3QgbGkgaSwgLmxpc3QgbGkgLndvb3gtaWNvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9CiAgCiAgLmxpc3QtLXByaW1hcnkgaSwgLmxpc3QtLXByaW1hcnkgLndvb3gtaWNvbiB7CiAgICBjb2xvcjogI2ZmYmEwMDsKICAgIGZpbGw6ICNmZmJhMDA7CiAgICBoZWlnaHQ6IDE5cHg7CiAgICB3aWR0aDogMTlweDsgfQogIAogIC5saXN0LS1wcmltYXJ5IGE6aG92ZXIgewogICAgY29sb3I6ICNmZmJhMDA7CiAgICBmaWxsOiAjZmZiYTAwOyB9CiAgCiAgLmxpc3QtLXByaW1hcnkgdWwgbGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICItIjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgIG1hcmdpbi1yaWdodDogNnB4OyB9CiAgCiAgLmxpc3QtLXJvdW5kIGxpIGksIC5saXN0LS1yb3VuZCBsaSAud29veC1pY29uIHsKICAgIG1hcmdpbi1yaWdodDogMjVweDsKICAgIHdpZHRoOiAxMnB4OwogICAgaGVpZ2h0OiAxMnB4OwogICAgdG9wOiA2cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBmaWxsOiAjZmZiYTAwOyB9CiAgCiAgb2wgewogICAgY291bnRlci1yZXNldDogbGlzdDE7CiAgICBtYXJnaW46IDE1cHggMDsgfQogICAgb2wgbGkgewogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogLjM1ZW07CiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9CiAgICAgIG9sIGxpIGEgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgb2wgdWwgbGkgewogICAgICBsaXN0LXN0eWxlOiBpbml0aWFsOwogICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0KICAgICAgb2wgdWwgbGk6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOyB9CiAgCiAgLyogSW5pdCBjb3VudGVyICovCiAgb2wgbGk6YmVmb3JlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0MTsKICAgIC8qIEFkZCAiMSIgKi8KICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdDEpICIuIjsKICAgIC8qIFNob3cgY291bnQgKi8KICAgIGNvbG9yOiAjYTFhYmJkOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxlZnQ6IDA7IH0KICAKICBvbCBvbCB7CiAgICBjb3VudGVyLXJlc2V0OiBsaXN0MjsKICAgIG1hcmdpbjogMTBweCAwOwogICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAgCiAgb2wgb2wgbGkgewogICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9CiAgCiAgb2wgb2wgbGk6YmVmb3JlIHsKICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0MjsKICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdDEpICIuIiBjb3VudGVyKGxpc3QyKSAiLiAiOyB9CiAgCiAgb2wgdWwgb2wgewogICAgY291bnRlci1yZXNldDogbGlzdDE7IH0KICAgIG9sIHVsIG9sIGxpOmJlZm9yZSB7CiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0MTsKICAgICAgLyogQWRkICIxIiAqLwogICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QxKSAiLiI7CiAgICAgIC8qIFNob3cgY291bnQgKi8gfQogIAogIGJsb2NrcXVvdGUgcCB7CiAgICBtYXJnaW46IDA7IH0KICAKICBwIHsKICAgIG1hcmdpbjogMCAwIDEuNWVtIDA7IH0KICAKICB1bCB1bCwKICBvbCB1bCwKICB1bCBvbCB7CiAgICBtYXJnaW46IDEwcHggMDsKICAgIHBhZGRpbmctbGVmdDogMDsgfQogIAogIHVsIG9sIGxpOjpiZWZvcmUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QxOwogICAgY29udGVudDogY291bnRlcihsaXN0MSkgIi4iOwogICAgY29sb3I6ICMyZjJjMmM7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBsZWZ0OiAwOyB9CiAgCiAgdWwgb2wgdWwgbGk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGYwZGEiOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgZm9udC1mYW1pbHk6ICJGb250QXdlc29tZSI7CiAgICBjb3VudGVyLWluY3JlbWVudDogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTJweDsgfQogIAogIG9sIHVsIG9sIGxpOmJlZm9yZSB7CiAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdDE7CiAgICAvKiBBZGQgIjEiICovCiAgICBjb250ZW50OiBjb3VudGVyKGxpc3QxKSAiLiI7CiAgICAvKiBTaG93IGNvdW50ICovCiAgICBjb2xvcjogI2ZmZjsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBsZWZ0OiAwOyB9CiAgCiAgb2wgb2wgb2wgewogICAgY291bnRlci1yZXNldDogbGlzdDM7IH0KICAKICBvbCBvbCBvbCBsaSB7CiAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7IH0KICAKICBvbCBvbCBvbCBsaTo6YmVmb3JlIHsKICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0MzsKICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdDEpICIuIiBjb3VudGVyKGxpc3QxKSAiLiIgY291bnRlcihsaXN0MykgIi4iOyB9CiAgCiAgdWwgb2wgbGkgewogICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9CiAgCiAgYmxvY2txdW90ZSB7CiAgICBtYXJnaW46IDFlbSAwOwogICAgcGFkZGluZzogMTEwcHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBzZXJpZjsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgYmxvY2txdW90ZSBoNiB7CiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgICAgZm9udC1zaXplOiAxNnB4OyB9CiAgICAgIGJsb2NrcXVvdGUgaDYgc3BhbiB7CiAgICAgICAgY29sb3I6ICM2NjZkN2E7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfQogICAgYmxvY2txdW90ZSBjaXRlIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGNvbG9yOiAjYTFhYmJkOwogICAgICBmb250LXNpemU6IC43ZW07IH0KICAgICAgYmxvY2txdW90ZSBjaXRlOmJlZm9yZSB7CiAgICAgICAgY29udGVudDogIlwyMDE0XDAwYTAiOwogICAgICAgIGNvbG9yOiAjYTFhYmJkOyB9CiAgICBibG9ja3F1b3RlOmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICB3aWR0aDogODBweDsKICAgICAgaGVpZ2h0OiA5MHB4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogOTBweDsKICAgICAgbGVmdDogODBweDsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGJhY2tncm91bmQ6IHVybCgiLi4vc3ZnLWljb25zL3F1b3RlLWljb24uc3ZnIikgNTAlIDUwJSBuby1yZXBlYXQ7CiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKICAgICAgei1pbmRleDogMTsgfQogICAgYmxvY2txdW90ZSBwIHsKICAgICAgbWFyZ2luOiAwIDAgNDBweDsKICAgICAgZm9udC1zaXplOiAzMHB4OwogICAgICBsaW5lLWhlaWdodDogMS42ZW07CiAgICAgIHotaW5kZXg6IDI7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqLwogIC5zY3JlZW4tcmVhZGVyLXRleHQgewogICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpOwogICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7CiAgICBoZWlnaHQ6IDFweDsKICAgIHdpZHRoOiAxcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgCiAgLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7CiAgICBjb2xvcjogIzIxNzU5YjsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC1zaXplOiAwLjg3NXJlbTsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgaGVpZ2h0OiBhdXRvOwogICAgbGVmdDogNXB4OwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdG9wOiA1cHg7CiAgICB3aWR0aDogYXV0bzsKICAgIHotaW5kZXg6IDEwMDAwMDsKICAgIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovIH0KICAKICAvKiBEbyBub3Qgc2hvdyB0aGUgb3V0bGluZSBvbiB0aGUgc2tpcCBsaW5rIHRhcmdldC4gKi8KICAjY29udGVudFt0YWJpbmRleD0iLTEiXTpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tIFJlc3BvbnNpdmUgTW9kZSAtLS0tLS0tLS0tLS0tLSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICBibG9ja3F1b3RlIHsKICAgICAgcGFkZGluZzogMzBweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAgIGJsb2NrcXVvdGUgUCB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9CiAgICAgIGJsb2NrcXVvdGU6YmVmb3JlIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgICAgdG9wOiAzMHB4OwogICAgICAgIGxlZnQ6IDMwcHg7IH0KICAgIC5saXN0IHsKICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAgICAubGlzdC0tcm91bmQgbGkgLndvb3gtaWNvbiwKICAgIC5saXN0LS1yb3VuZCBsaSBpIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgIC5saXN0IGxpLAogICAgdWwgbGkgewogICAgICBmb250LXNpemU6IDEzcHg7IH0KICAgIG9sIGxpIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0KICAgIG9sIG9sIGxpIHsKICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9CiAgICBvbCBvbCBvbCBsaSB7CiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfQogICAgLmxpc3QtLXByaW1hcnkgLndvb3gtaWNvbiB7CiAgICAgIGhlaWdodDogMTFweDsKICAgICAgd2lkdGg6IDExcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVFlQT0dSQVBIWSAtLS0tLS0tLS0tLS0tLSovCiAgaDEsIC5oMSB7CiAgICBmb250LXNpemU6IDEwMHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBBcmlhbCwgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgbWFyZ2luOiAwLjRlbSAwOwogICAgbGluZS1oZWlnaHQ6IDFlbTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9CiAgICBoMSBhLCAuaDEgYSB7CiAgICAgIGNvbG9yOiBpbmhlcml0OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgaDEsIC5oMSB7CiAgICAgICAgZm9udC1zaXplOiAyZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgICAgIGgxLCAuaDEgewogICAgICAgIGZvbnQtc2l6ZTogMS44ZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7CiAgICAgIGgxLCAuaDEgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfQogIAogIGgyLCAuaDIgewogICAgbWFyZ2luOiAwLjRlbSAwOwogICAgZm9udC1zaXplOiA2MHB4OwogICAgbGluZS1oZWlnaHQ6IDEuM2VtOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBBcmlhbCwgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH0KICAgIGgyIGEsIC5oMiBhIHsKICAgICAgY29sb3I6IGluaGVyaXQ7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkgewogICAgICBoMiwgLmgyIHsKICAgICAgICBmb250LXNpemU6IDEuOWVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgICBoMiwgLmgyIHsKICAgICAgICBmb250LXNpemU6IDEuN2VtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogICAgICBoMiwgLmgyIHsKICAgICAgICBmb250LXNpemU6IDEuNWVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkgewogICAgICBoMiwgLmgyIHsKICAgICAgICBmb250LXNpemU6IDEuM2VtOyB9IH0KICAKICBoMywgLmgzIHsKICAgIG1hcmdpbjogMC40ZW0gMDsKICAgIGZvbnQtc2l6ZTogNDBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtZmFtaWx5OiAiVWJ1bnR1IiwgQXJpYWwsICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyB9CiAgICBoMyBhLCAuaDMgYSB7CiAgICAgIGNvbG9yOiBpbmhlcml0OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgaDMsIC5oMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjhlbTsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgICAgaDMsIC5oMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjZlbTsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgaDMsIC5oMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjRlbTsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHsKICAgICAgaDMsIC5oMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfSB9CiAgCiAgaDQsIC5oNCB7CiAgICBtYXJnaW46IDAuNGVtIDA7CiAgICBmb250LXNpemU6IDMwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LWZhbWlseTogIlVidW50dSIsIEFyaWFsLCAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfQogICAgaDQgYSwgLmg0IGEgewogICAgICBjb2xvcjogaW5oZXJpdDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIGg0LCAuaDQgewogICAgICAgIGZvbnQtc2l6ZTogMS43ZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgICAgIGg0LCAuaDQgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIGg0LCAuaDQgewogICAgICAgIGZvbnQtc2l6ZTogMS4zZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7CiAgICAgIGg0LCAuaDQgewogICAgICAgIGZvbnQtc2l6ZTogMS4xZW07IH0gfQogIAogIGg1LCAuaDUgewogICAgbWFyZ2luOiAwLjRlbSAwOwogICAgZm9udC1zaXplOiAyNnB4OwogICAgbGluZS1oZWlnaHQ6IDEuM2VtOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC1mYW1pbHk6ICJVYnVudHUiLCBBcmlhbCwgIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH0KICAgIGg1IGEsIC5oNSBhIHsKICAgICAgY29sb3I6IGluaGVyaXQ7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkgewogICAgICBoNSwgLmg1IHsKICAgICAgICBmb250LXNpemU6IDEuNmVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgICBoNSwgLmg1IHsKICAgICAgICBmb250LXNpemU6IDEuNGVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogICAgICBoNSwgLmg1IHsKICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkgewogICAgICBoNSwgLmg1IHsKICAgICAgICBmb250LXNpemU6IDFlbTsgfSB9CiAgCiAgaDYsIC5oNiB7CiAgICBtYXJnaW46IDAuNGVtIDA7CiAgICBmb250LXNpemU6IDIycHg7CiAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LWZhbWlseTogIlVidW50dSIsIEFyaWFsLCAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7CiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsgfQogICAgaDYgYSwgLmg2IGEgewogICAgICBjb2xvcjogaW5oZXJpdDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIGg2LCAuaDYgewogICAgICAgIGZvbnQtc2l6ZTogMS40ZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7CiAgICAgIGg2LCAuaDYgewogICAgICAgIGZvbnQtc2l6ZTogMS4yZW07IH0gfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIGg2LCAuaDYgewogICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkgewogICAgICBoNiwgLmg2IHsKICAgICAgICBmb250LXNpemU6IC45ZW07IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU3R5bGVzIGZvciBGaXJzdC1MZXR0ZXIgLS0tLS0tLS0tLS0tLS0qLwogIC5maXJzdC1sZXR0ZXIgc3BhbjpmaXJzdC1vZi10eXBlIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIHNlcmlmOwogICAgei1pbmRleDogLTE7CiAgICBmb250LXdlaWdodDogOTAwOyB9CiAgCiAgLmZpcnN0LWxldHRlci0tdW5kZXItdGV4dCBzcGFuOmZpcnN0LW9mLXR5cGUgewogICAgbWFyZ2luLXJpZ2h0OiAtODBweDsKICAgIG1hcmdpbi10b3A6IC01MHB4OwogICAgZm9udC1zaXplOiAxNjBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgIC5maXJzdC1sZXR0ZXItLXVuZGVyLXRleHQgc3BhbjpmaXJzdC1vZi10eXBlIHsKICAgICAgICBmb250LXNpemU6IDgwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9CiAgCiAgLmZpcnN0LWxldHRlci0tYmVmb3JlLXRleHQgc3BhbjpmaXJzdC1vZi10eXBlIHsKICAgIG1hcmdpbi1yaWdodDogMzVweDsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICBtYXJnaW4tdG9wOiAtMTVweDsKICAgIGZvbnQtc2l6ZTogMTA2cHg7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAuZmlyc3QtbGV0dGVyLS1iZWZvcmUtdGV4dCBzcGFuOmZpcnN0LW9mLXR5cGUgewogICAgICAgIGZvbnQtc2l6ZTogNjBweDsKICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1N0eWxlcyBmb3IgVGV4dCBTZWxlY3Rpb24gLS0tLS0tLS0tLS0tLS0qLwogIC8qU2VsZWN0aW9uIGRhcmsqLwogIC5zZWxlY3Rpb24tLWRhcms6Oi1tb3otc2VsZWN0aW9uIHsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBjb2xvcjogI2ExYWJiZDsgfQogIAogIC5zZWxlY3Rpb24tLWRhcms6OnNlbGVjdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgY29sb3I6ICNhMWFiYmQ7IH0KICAKICAvKlNlbGVjdGlvbiBwcmltYXJ5Ki8KICAuc2VsZWN0aW9uLS1wcmltYXJ5OjotbW96LXNlbGVjdGlvbiB7CiAgICBjb2xvcjogI2ZmZjsgfQogIAogIC5zZWxlY3Rpb24tLXByaW1hcnk6OnNlbGVjdGlvbiB7CiAgICBjb2xvcjogI2ZmZjsgfQogIAogIC8qU2VsZWN0aW9uIGdyYXkqLwogIC5zZWxlY3Rpb24tLWdyYXk6Oi1tb3otc2VsZWN0aW9uIHsKICAgIGJhY2tncm91bmQ6ICNlMWUxZTE7CiAgICBjb2xvcjogI2ZmZjsgfQogIAogIC5zZWxlY3Rpb24tLWdyYXk6OnNlbGVjdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiAjZTFlMWUxOwogICAgY29sb3I6ICNmZmY7IH0KICAKICBkbCB7CiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9CiAgCiAgZGwgZHQgewogICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgY29sb3I6ICM3Nzc7CiAgICBmb250LXdlaWdodDogYm9sZDsgfQogIAogIGRsIGRkIHsKICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9CiAgCiAgYWJiciB7CiAgICBjdXJzb3I6IGhlbHA7CiAgICBib3JkZXItY29sb3I6ICNhMWFiYmQ7IH0KICAKICBociB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgbWluLWhlaWdodDogM3B4OwogICAgbWFyZ2luOiA1cHggYXV0bzsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2Q0NDUxOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNWQVJJQUJMRVMgLS0tLS0tLS0tLS0tLS0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiA3OTlweCkgewogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0xLCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLTIsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tMywgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS00LCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLTUsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tNiwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS03LCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLTgsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tOSwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0xMCwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0xMSwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0xMiB7CiAgICAgIGZsb2F0OiBsZWZ0OyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLTEyIHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tMTEgewogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLTEwIHsKICAgICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS05IHsKICAgICAgd2lkdGg6IDc1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS04IHsKICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS03IHsKICAgICAgd2lkdGg6IDU4LjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS02IHsKICAgICAgd2lkdGg6IDUwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS01IHsKICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS00IHsKICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0zIHsKICAgICAgd2lkdGg6IDI1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0yIHsKICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS0xIHsKICAgICAgd2lkdGg6IDguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1bGwtMTIgewogICAgICByaWdodDogMTAwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdWxsLTExIHsKICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdWxsLTEwIHsKICAgICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdWxsLTkgewogICAgICByaWdodDogNzUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1bGwtOCB7CiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVsbC03IHsKICAgICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdWxsLTYgewogICAgICByaWdodDogNTAlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1bGwtNSB7CiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVsbC00IHsKICAgICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdWxsLTMgewogICAgICByaWdodDogMjUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1bGwtMiB7CiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVsbC0xIHsKICAgICAgcmlnaHQ6IDguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1bGwtMCB7CiAgICAgIHJpZ2h0OiBhdXRvOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtMTIgewogICAgICBsZWZ0OiAxMDAlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtMTEgewogICAgICBsZWZ0OiA5MS42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVzaC0xMCB7CiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdXNoLTkgewogICAgICBsZWZ0OiA3NSU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVzaC04IHsKICAgICAgbGVmdDogNjYuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtNyB7CiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdXNoLTYgewogICAgICBsZWZ0OiA1MCU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVzaC01IHsKICAgICAgbGVmdDogNDEuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtNCB7CiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1wdXNoLTMgewogICAgICBsZWZ0OiAyNSU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tcHVzaC0yIHsKICAgICAgbGVmdDogMTYuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtMSB7CiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLXB1c2gtMCB7CiAgICAgIGxlZnQ6IGF1dG87IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTEyIHsKICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTExIHsKICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1vZmZzZXQtMTAgewogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLW9mZnNldC05IHsKICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1vZmZzZXQtOCB7CiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTcgewogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLW9mZnNldC02IHsKICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1vZmZzZXQtNSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTQgewogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXNtLW9mZnNldC0zIHsKICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC1zbS1vZmZzZXQtMiB7CiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTEgewogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtc20tb2Zmc2V0LTAgewogICAgICBtYXJnaW4tbGVmdDogMDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3MHB4KSB7CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTEsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtMiwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy0zLCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTQsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtNSwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy02LCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTcsIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtOCwgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy05LCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTEwLCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTExLCBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTEyIHsKICAgICAgZmxvYXQ6IGxlZnQ7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtMTIgewogICAgICB3aWR0aDogMTAwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy0xMSB7CiAgICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtMTAgewogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTkgewogICAgICB3aWR0aDogNzUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTggewogICAgICB3aWR0aDogNjYuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTcgewogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTYgewogICAgICB3aWR0aDogNTAlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTUgewogICAgICB3aWR0aDogNDEuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTQgewogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTMgewogICAgICB3aWR0aDogMjUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTIgewogICAgICB3aWR0aDogMTYuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLTEgewogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVsbC0xMiB7CiAgICAgIHJpZ2h0OiAxMDAlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1bGwtMTEgewogICAgICByaWdodDogOTEuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1bGwtMTAgewogICAgICByaWdodDogODMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1bGwtOSB7CiAgICAgIHJpZ2h0OiA3NSU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVsbC04IHsKICAgICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdWxsLTcgewogICAgICByaWdodDogNTguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1bGwtNiB7CiAgICAgIHJpZ2h0OiA1MCU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVsbC01IHsKICAgICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdWxsLTQgewogICAgICByaWdodDogMzMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1bGwtMyB7CiAgICAgIHJpZ2h0OiAyNSU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVsbC0yIHsKICAgICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdWxsLTEgewogICAgICByaWdodDogOC4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVsbC0wIHsKICAgICAgcmlnaHQ6IGF1dG87IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC0xMiB7CiAgICAgIGxlZnQ6IDEwMCU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC0xMSB7CiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdXNoLTEwIHsKICAgICAgbGVmdDogODMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1c2gtOSB7CiAgICAgIGxlZnQ6IDc1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdXNoLTggewogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC03IHsKICAgICAgbGVmdDogNTguMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1c2gtNiB7CiAgICAgIGxlZnQ6IDUwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdXNoLTUgewogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC00IHsKICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLXB1c2gtMyB7CiAgICAgIGxlZnQ6IDI1JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1wdXNoLTIgewogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC0xIHsKICAgICAgbGVmdDogOC4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtcHVzaC0wIHsKICAgICAgbGVmdDogYXV0bzsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtMTIgewogICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtMTEgewogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLW9mZnNldC0xMCB7CiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtb2Zmc2V0LTkgewogICAgICBtYXJnaW4tbGVmdDogNzUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLW9mZnNldC04IHsKICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtNyB7CiAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtb2Zmc2V0LTYgewogICAgICBtYXJnaW4tbGVmdDogNTAlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLW9mZnNldC01IHsKICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtNCB7CiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7IH0KICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wteHMtb2Zmc2V0LTMgewogICAgICBtYXJnaW4tbGVmdDogMjUlOyB9CiAgICBib2R5LmNydW1pbmEtZ3JpZCAuY29sLXhzLW9mZnNldC0yIHsKICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtMSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTsgfQogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC14cy1vZmZzZXQtMCB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIGJvZHkuY3J1bWluYS1ncmlkIC5rY19jb2x1bW5faW5uZXIgKyAua2NfY29sdW1uX2lubmVyIHsKICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICBib2R5LmNydW1pbmEtZ3JpZCAua2NfY29sdW1uICsgLmtjX2NvbHVtbiB7CiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfQogIAogIGJvZHkuY3J1bWluYS1ncmlkIC5rY19jb2wtb2YtNSB7CiAgICB3aWR0aDogMjAlOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtaW4taGVpZ2h0OiAxcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgYm9keS5jcnVtaW5hLWdyaWQgLmtjX2NvbC1vZi01IHsKICAgICAgICB3aWR0aDogNTAlOyB9IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzBweCkgewogICAgICBib2R5LmNydW1pbmEtZ3JpZCAua2NfY29sLW9mLTUgewogICAgICAgIHdpZHRoOiAxMDAlOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgIGJvZHkuY3J1bWluYS1ncmlkICogPiAua2NfY29sLW9mLTU6bGFzdC1jaGlsZCB7CiAgICAgIHdpZHRoOiAxMDAlOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzk5cHgpIHsKICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtMy1yZXNwb25zaXZlLXdyYXBwZXIgLmtjX2NvbHVtbi5jb2wtbWQtNC5jb2wtc20tMTIgewogICAgICB3aWR0aDogMzMuMzMzMyU7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgYm9keS5jcnVtaW5hLWdyaWQgLmNvbC0zLXJlc3BvbnNpdmUtd3JhcHBlciAua2NfY29sdW1uLmNvbC1tZC00LmNvbC1zbS0xMiB7CiAgICAgIHdpZHRoOiAxMDAlOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtMy1yZXNwb25zaXZlLXdyYXBwZXIgLmtjX2NvbHVtbiArIC5rY19jb2x1bW4gewogICAgICBtYXJnaW4tdG9wOiAwOyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIGJvZHkuY3J1bWluYS1ncmlkIC5jb2wtMy1yZXNwb25zaXZlLXdyYXBwZXIgLmtjX2NvbHVtbiArIC5rY19jb2x1bW4gewogICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH0KICAKICAuY2xlYXJmaXg6YmVmb3JlLAogIC5jbGVhcmZpeDphZnRlciwKICAuZGwtaG9yaXpvbnRhbCBkZDpiZWZvcmUsCiAgLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsCiAgLmNvbnRhaW5lcjpiZWZvcmUsCiAgLmNvbnRhaW5lcjphZnRlciwKICAuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwKICAuY29udGFpbmVyLWZsdWlkOmFmdGVyLAogIC5yb3c6YmVmb3JlLAogIC5yb3c6YWZ0ZXIgewogICAgZGlzcGxheTogdGFibGU7CiAgICBjb250ZW50OiAiICI7CiAgICB3aWR0aDogMTAwJTsgfQogIAogIC5jb250YWluZXIgewogICAgcGFkZGluZy1yaWdodDogMjBweDsKICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9CiAgCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgICAuY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDcxMHB4OwogICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0KICAgIC5yb3cgewogICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OwogICAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH0gfQogIAogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgewogICAgLmNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiA5NjVweDsgfSB9CiAgCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogICAgLmNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMTQwcHg7IH0gfQogIAogIEBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHsKICAgIC5jb250YWluZXIgewogICAgICB3aWR0aDogMTI0MHB4OyB9IH0KICAKICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7CiAgICAuY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDEzNDBweDsgfSB9CiAgCiAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDBweCkgewogICAgLmNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxNDQwcHg7IH0gfQogIAogIC5jb250YWluZXItZmx1aWQgewogICAgcGFkZGluZy1yaWdodDogMjBweDsKICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9CiAgCiAgLnJvdyB7CiAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4OwogICAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9CiAgCiAgLmNvbC14cy0xLCAuY29sLXNtLTEsIC5jb2wtbWQtMSwgLmNvbC1sZy0xLCAuY29sLXhzLTIsIC5jb2wtc20tMiwgLmNvbC1tZC0yLCAuY29sLWxnLTIsIC5jb2wteHMtMywgLmNvbC1zbS0zLCAuY29sLW1kLTMsIC5jb2wtbGctMywgLmNvbC14cy00LCAuY29sLXNtLTQsIC5jb2wtbWQtNCwgLmNvbC1sZy00LCAuY29sLXhzLTUsIC5jb2wtc20tNSwgLmNvbC1tZC01LCAuY29sLWxnLTUsIC5jb2wteHMtNiwgLmNvbC1zbS02LCAuY29sLW1kLTYsIC5jb2wtbGctNiwgLmNvbC14cy03LCAuY29sLXNtLTcsIC5jb2wtbWQtNywgLmNvbC1sZy03LCAuY29sLXhzLTgsIC5jb2wtc20tOCwgLmNvbC1tZC04LCAuY29sLWxnLTgsIC5jb2wteHMtOSwgLmNvbC1zbS05LCAuY29sLW1kLTksIC5jb2wtbGctOSwgLmNvbC14cy0xMCwgLmNvbC1zbS0xMCwgLmNvbC1tZC0xMCwgLmNvbC1sZy0xMCwgLmNvbC14cy0xMSwgLmNvbC1zbS0xMSwgLmNvbC1tZC0xMSwgLmNvbC1sZy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xMiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtaW4taGVpZ2h0OiAxcHg7CiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9CiAgCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogICAgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiB7CiAgICAgIGZsb2F0OiBsZWZ0OyB9CiAgICAuY29sLWxnLTEyIHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIC5jb2wtbGctMTEgewogICAgICB3aWR0aDogOTEuNjY2NjY2NjclOyB9CiAgICAuY29sLWxnLTEwIHsKICAgICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy05IHsKICAgICAgd2lkdGg6IDc1JTsgfQogICAgLmNvbC1sZy04IHsKICAgICAgd2lkdGg6IDY2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1sZy03IHsKICAgICAgd2lkdGg6IDU4LjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy02IHsKICAgICAgd2lkdGg6IDUwJTsgfQogICAgLmNvbC1sZy01IHsKICAgICAgd2lkdGg6IDQxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1sZy00IHsKICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy0zIHsKICAgICAgd2lkdGg6IDI1JTsgfQogICAgLmNvbC1sZy0yIHsKICAgICAgd2lkdGg6IDE2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1sZy0xIHsKICAgICAgd2lkdGg6IDguMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLXB1bGwtMTIgewogICAgICByaWdodDogMTAwJTsgfQogICAgLmNvbC1sZy1wdWxsLTExIHsKICAgICAgcmlnaHQ6IDkxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1sZy1wdWxsLTEwIHsKICAgICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdWxsLTkgewogICAgICByaWdodDogNzUlOyB9CiAgICAuY29sLWxnLXB1bGwtOCB7CiAgICAgIHJpZ2h0OiA2Ni42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctcHVsbC03IHsKICAgICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdWxsLTYgewogICAgICByaWdodDogNTAlOyB9CiAgICAuY29sLWxnLXB1bGwtNSB7CiAgICAgIHJpZ2h0OiA0MS42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctcHVsbC00IHsKICAgICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdWxsLTMgewogICAgICByaWdodDogMjUlOyB9CiAgICAuY29sLWxnLXB1bGwtMiB7CiAgICAgIHJpZ2h0OiAxNi42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctcHVsbC0xIHsKICAgICAgcmlnaHQ6IDguMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLXB1bGwtMCB7CiAgICAgIHJpZ2h0OiBhdXRvOyB9CiAgICAuY29sLWxnLXB1c2gtMTIgewogICAgICBsZWZ0OiAxMDAlOyB9CiAgICAuY29sLWxnLXB1c2gtMTEgewogICAgICBsZWZ0OiA5MS42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctcHVzaC0xMCB7CiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdXNoLTkgewogICAgICBsZWZ0OiA3NSU7IH0KICAgIC5jb2wtbGctcHVzaC04IHsKICAgICAgbGVmdDogNjYuNjY2NjY2NjclOyB9CiAgICAuY29sLWxnLXB1c2gtNyB7CiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdXNoLTYgewogICAgICBsZWZ0OiA1MCU7IH0KICAgIC5jb2wtbGctcHVzaC01IHsKICAgICAgbGVmdDogNDEuNjY2NjY2NjclOyB9CiAgICAuY29sLWxnLXB1c2gtNCB7CiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsgfQogICAgLmNvbC1sZy1wdXNoLTMgewogICAgICBsZWZ0OiAyNSU7IH0KICAgIC5jb2wtbGctcHVzaC0yIHsKICAgICAgbGVmdDogMTYuNjY2NjY2NjclOyB9CiAgICAuY29sLWxnLXB1c2gtMSB7CiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLXB1c2gtMCB7CiAgICAgIGxlZnQ6IGF1dG87IH0KICAgIC5jb2wtbGctb2Zmc2V0LTEyIHsKICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7IH0KICAgIC5jb2wtbGctb2Zmc2V0LTExIHsKICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1sZy1vZmZzZXQtMTAgewogICAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLW9mZnNldC05IHsKICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfQogICAgLmNvbC1sZy1vZmZzZXQtOCB7CiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctb2Zmc2V0LTcgewogICAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLW9mZnNldC02IHsKICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsgfQogICAgLmNvbC1sZy1vZmZzZXQtNSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctb2Zmc2V0LTQgewogICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMlOyB9CiAgICAuY29sLWxnLW9mZnNldC0zIHsKICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfQogICAgLmNvbC1sZy1vZmZzZXQtMiB7CiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7IH0KICAgIC5jb2wtbGctb2Zmc2V0LTEgewogICAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbGctb2Zmc2V0LTAgewogICAgICBtYXJnaW4tbGVmdDogMDsgfSB9CiAgCiAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7CiAgICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHsKICAgICAgZmxvYXQ6IGxlZnQ7IH0KICAgIC5jb2wtbWQtMTIgewogICAgICB3aWR0aDogMTAwJTsgfQogICAgLmNvbC1tZC0xMSB7CiAgICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7IH0KICAgIC5jb2wtbWQtMTAgewogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLTkgewogICAgICB3aWR0aDogNzUlOyB9CiAgICAuY29sLW1kLTggewogICAgICB3aWR0aDogNjYuNjY2NjY2NjclOyB9CiAgICAuY29sLW1kLTcgewogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLTYgewogICAgICB3aWR0aDogNTAlOyB9CiAgICAuY29sLW1kLTUgewogICAgICB3aWR0aDogNDEuNjY2NjY2NjclOyB9CiAgICAuY29sLW1kLTQgewogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLTMgewogICAgICB3aWR0aDogMjUlOyB9CiAgICAuY29sLW1kLTIgewogICAgICB3aWR0aDogMTYuNjY2NjY2NjclOyB9CiAgICAuY29sLW1kLTEgewogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtcHVsbC0xMiB7CiAgICAgIHJpZ2h0OiAxMDAlOyB9CiAgICAuY29sLW1kLXB1bGwtMTEgewogICAgICByaWdodDogOTEuNjY2NjY2NjclOyB9CiAgICAuY29sLW1kLXB1bGwtMTAgewogICAgICByaWdodDogODMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1bGwtOSB7CiAgICAgIHJpZ2h0OiA3NSU7IH0KICAgIC5jb2wtbWQtcHVsbC04IHsKICAgICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1wdWxsLTcgewogICAgICByaWdodDogNTguMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1bGwtNiB7CiAgICAgIHJpZ2h0OiA1MCU7IH0KICAgIC5jb2wtbWQtcHVsbC01IHsKICAgICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1wdWxsLTQgewogICAgICByaWdodDogMzMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1bGwtMyB7CiAgICAgIHJpZ2h0OiAyNSU7IH0KICAgIC5jb2wtbWQtcHVsbC0yIHsKICAgICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1wdWxsLTEgewogICAgICByaWdodDogOC4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtcHVsbC0wIHsKICAgICAgcmlnaHQ6IGF1dG87IH0KICAgIC5jb2wtbWQtcHVzaC0xMiB7CiAgICAgIGxlZnQ6IDEwMCU7IH0KICAgIC5jb2wtbWQtcHVzaC0xMSB7CiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1wdXNoLTEwIHsKICAgICAgbGVmdDogODMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1c2gtOSB7CiAgICAgIGxlZnQ6IDc1JTsgfQogICAgLmNvbC1tZC1wdXNoLTggewogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7IH0KICAgIC5jb2wtbWQtcHVzaC03IHsKICAgICAgbGVmdDogNTguMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1c2gtNiB7CiAgICAgIGxlZnQ6IDUwJTsgfQogICAgLmNvbC1tZC1wdXNoLTUgewogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7IH0KICAgIC5jb2wtbWQtcHVzaC00IHsKICAgICAgbGVmdDogMzMuMzMzMzMzMzMlOyB9CiAgICAuY29sLW1kLXB1c2gtMyB7CiAgICAgIGxlZnQ6IDI1JTsgfQogICAgLmNvbC1tZC1wdXNoLTIgewogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7IH0KICAgIC5jb2wtbWQtcHVzaC0xIHsKICAgICAgbGVmdDogOC4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtcHVzaC0wIHsKICAgICAgbGVmdDogYXV0bzsgfQogICAgLmNvbC1tZC1vZmZzZXQtMTIgewogICAgICBtYXJnaW4tbGVmdDogMTAwJTsgfQogICAgLmNvbC1tZC1vZmZzZXQtMTEgewogICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjclOyB9CiAgICAuY29sLW1kLW9mZnNldC0xMCB7CiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtb2Zmc2V0LTkgewogICAgICBtYXJnaW4tbGVmdDogNzUlOyB9CiAgICAuY29sLW1kLW9mZnNldC04IHsKICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1vZmZzZXQtNyB7CiAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtb2Zmc2V0LTYgewogICAgICBtYXJnaW4tbGVmdDogNTAlOyB9CiAgICAuY29sLW1kLW9mZnNldC01IHsKICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1vZmZzZXQtNCB7CiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7IH0KICAgIC5jb2wtbWQtb2Zmc2V0LTMgewogICAgICBtYXJnaW4tbGVmdDogMjUlOyB9CiAgICAuY29sLW1kLW9mZnNldC0yIHsKICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY3JTsgfQogICAgLmNvbC1tZC1vZmZzZXQtMSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTsgfQogICAgLmNvbC1tZC1vZmZzZXQtMCB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0hFTFBFUlMgLS0tLS0tLS0tLS0tLS0qLwogIC5hbGlnbi1jZW50ZXIsCiAgLmFsaWduY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogIAogIC5hbGlnbi1sZWZ0IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAKICAuYWxpZ24tcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0KICAKICAudmlzdWFsLWhpZGRlbiwKICAuaGlkZSB7CiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7CiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKICAgIGhlaWdodDogMXB4OwogICAgd2lkdGg6IDFweDsKICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAKICAuaGVpZ2h0LTEyMCB7CiAgICBoZWlnaHQ6IDEyMHB4OyB9CiAgCiAgLmhlaWdodC0xNDAgewogICAgaGVpZ2h0OiAxNDBweDsgfQogIAogIC5oZWlnaHQtMTcwIHsKICAgIGhlaWdodDogMTcwcHg7IH0KICAKICAuaGVpZ2h0LTE4MCB7CiAgICBoZWlnaHQ6IDE4MHB4OyB9CiAgCiAgLmhlaWdodC0zNzAgewogICAgaGVpZ2h0OiAzNzBweDsgfQogIAogIC5oZWlnaHQtNTYwIHsKICAgIGhlaWdodDogNTYwcHg7IH0KICAKICAuaGVpZ2h0LTczMCB7CiAgICBoZWlnaHQ6IDczMHB4OyB9CiAgCiAgLmhhbGYtd2lkdGggewogICAgd2lkdGg6IDUwJTsKICAgIGZsb2F0OiBsZWZ0OyB9CiAgCiAgLm92aCB7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgCiAgLmYtbGVmdCB7CiAgICBmbG9hdDogbGVmdDsgfQogIAogIC5mLXJpZ2h0IHsKICAgIGZsb2F0OiByaWdodDsgfQogIAogIC5mLW5vbmUgewogICAgZmxvYXQ6IG5vbmU7IH0KICAKICAuc2hhZG93LWltYWdlIHsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMjRweCA1MHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgYm94LXNoYWRvdzogMjRweCA1MHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9CiAgCiAgLmYtc2l6ZS0xNCB7CiAgICBmb250LXNpemU6IDE0cHg7IH0KICAKICAuZi1zaXplLTkwIHsKICAgIGZvbnQtc2l6ZTogOTBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgIC5mLXNpemUtOTAgewogICAgICAgIGZvbnQtc2l6ZTogNjBweDsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNTQwcHgpIHsKICAgICAgLmYtc2l6ZS05MCB7CiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH0KICAKICAudGFibGUgewogICAgZGlzcGxheTogdGFibGU7IH0KICAKICAudGFibGUtY2VsbCB7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIGZsb2F0OiBub25lOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgICAgLnRhYmxlLWNlbGwgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZsb2F0OiBsZWZ0OyB9IH0KICAKICAudGV4dC10LW5vbmUgewogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgIC5jZW50ZXJlZC1vbi1tb2JpbGUgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfQogIAogIC5vdmVybGF5LS1saWdodCB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7IH0KICAKICAubm8tcGFkZGluZyB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgICAubm8tcGFkZGluZyB7CiAgICAgICAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7IH0gfQogIAogIC5uZWdhdGl2ZS1tYXJnaW4tbGVmdDMyMCB7CiAgICBtYXJnaW4tbGVmdDogLTMyMHB4OyB9CiAgCiAgLm5vLW1hcmdpbiB7CiAgICBtYXJnaW46IDA7IH0KICAKICAuaXRlbS1mdWxseS10cmFuc3BhcmVudCB7CiAgICBvcGFjaXR5OiAwOyB9CiAgCiAgLmZ1bGwtYmxvY2sgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOyB9CiAgCiAgLmZ1bGwtaGVpZ2h0IHsKICAgIGhlaWdodDogMTAwJTsgfQogIAogIC5mdWxsLXdpZHRoIHsKICAgIHdpZHRoOiAxMDAlOyB9CiAgCiAgLmRpc3BsYXktZmxleCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgLmRpc3BsYXktZmxleC5jb250ZW50LWNlbnRlciB7CiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfQogIAogIC5pbmxpbmUtYmxvY2ssIC5rYy1lbG0uaW5saW5lLWJsb2NrIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOiBhdXRvOwogICAgZmxvYXQ6IG5vbmU7IH0KICAKICAuaW5saW5lLWl0ZW1zID4gKiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9CiAgCiAgLmlubGluZS1pdGVtcyA+IC5pbmxpbmUtaXRlbXMgKyAuaW5saW5lLWl0ZW1zIHsKICAgIG1hcmdpbi1sZWZ0OiA3MHB4OyB9CiAgCiAgLmJsb2NrLXJvdW5kZWQtc2hhZG93IHsKICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICBwYWRkaW5nOiA2MHB4OwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxMHB4IDAgNTBweCAwIHJnYmEoMTgsIDI1LCAzMywgMC4xKTsKICAgIGJveC1zaGFkb3c6IDEwcHggMCA1MHB4IDAgcmdiYSgxOCwgMjUsIDMzLCAwLjEpOyB9CiAgCiAgLmJsb2NrLXJvdW5kZWQgewogICAgYm9yZGVyLXJhZGl1czogMTBweDsgfQogIAogIC5vdmVybGF5LXN0YW5kYXJkLCAub3ZlcmxheSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE5LCAyMCwgMjQsIDAuOCk7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9CiAgCiAgLm92ZXJsYXktYmxvZyB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCAyNCwgMjksIDAuNik7IH0KICAKICAuZnVsbC1ibG9jay1saW5rIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIHRvcDogMDsKICAgIGJvdHRvbTogMDsgfQogIAogIC5tZWRpdW0tcGFkZGluZzQwIHsKICAgIHBhZGRpbmc6IDQwcHggMDsgfQogIAogIC5tZWRpdW0tcGFkZGluZzYwIHsKICAgIHBhZGRpbmc6IDYwcHggMDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIC5tZWRpdW0tcGFkZGluZzYwIHsKICAgICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzgwIHsKICAgIHBhZGRpbmc6IDgwcHggMDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIC5tZWRpdW0tcGFkZGluZzgwIHsKICAgICAgICBwYWRkaW5nOiAzNXB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzEwMCB7CiAgICBwYWRkaW5nOiAxMDBweCAwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLm1lZGl1bS1wYWRkaW5nMTAwIHsKICAgICAgICBwYWRkaW5nOiAzNXB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzMwMCB7CiAgICBwYWRkaW5nOiAzMDBweCAwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAgIC5tZWRpdW0tcGFkZGluZzMwMCB7CiAgICAgICAgcGFkZGluZzogMTAwcHggMDsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLm1lZGl1bS1wYWRkaW5nMzAwIHsKICAgICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzEyMCB7CiAgICBwYWRkaW5nOiAxMjBweCAwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLm1lZGl1bS1wYWRkaW5nMTIwIHsKICAgICAgICBwYWRkaW5nOiAzNXB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzE4MCB7CiAgICBwYWRkaW5nOiAxODBweCAwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLm1lZGl1bS1wYWRkaW5nMTgwIHsKICAgICAgICBwYWRkaW5nOiA5MHB4IDA7IH0gfQogIAogIC5tZWRpdW0tcGFkZGluZzI3MCB7CiAgICBwYWRkaW5nOiAyNzBweCAwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLm1lZGl1bS1wYWRkaW5nMjcwIHsKICAgICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH0KICAKICAucGIxMDAgewogICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLnBiMTAwIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfSB9CiAgCiAgLnB0ODAgewogICAgcGFkZGluZy10b3A6IDgwcHg7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkgewogICAgICAucHQ4MCB7CiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7IH0gfQogIAogIC5wYjYwIHsKICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLnBiNjAgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7IH0gfQogIAogIC5wdDE4MCB7CiAgICBwYWRkaW5nLXRvcDogMTgwcHg7IH0KICAKICAucHQxMDAgewogICAgcGFkZGluZy10b3A6IDEwMHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLnB0MTAwIHsKICAgICAgICBwYWRkaW5nLXRvcDogMzVweDsgfSB9CiAgCiAgLnB0NDAwIHsKICAgIHBhZGRpbmctdG9wOiA0MDBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgewogICAgICAucHQ0MDAgewogICAgICAgIHBhZGRpbmctdG9wOiAyMDBweDsgfSB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgLnB0NDAwIHsKICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7IH0gfQogIAogIC5wYjM2MCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMzYwcHg7IH0KICAKICAucGIxMjAgewogICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLnBiMTIwIHsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfSB9CiAgCiAgLnB0MTIwIHsKICAgIHBhZGRpbmctdG9wOiAxMjBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIC5wdDEyMCB7CiAgICAgICAgcGFkZGluZy10b3A6IDM1cHg7IH0gfQogIAogIC5wYjgwIHsKICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHsKICAgICAgLnBiODAgewogICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4OyB9IH0KICAKICAucGIzMCB7CiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfQogIAogIC5tdDEwMCB7CiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIC5tdDEwMCB7CiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9CiAgCiAgLm10NjAgewogICAgbWFyZ2luLXRvcDogNjBweDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7CiAgICAgIC5tdDYwIHsKICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH0KICAKICAubWIzMCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9CiAgCiAgLm10MzAgewogICAgbWFyZ2luLXRvcDogMzBweDsgfQogIAogIC5tYjYwIHsKICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkgewogICAgICAubWI2MCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9CiAgCiAgLnBhZGRpbmctbGVmdDYwLWRlc2t0b3AgewogICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHsKICAgICAgLnBhZGRpbmctbGVmdDYwLWRlc2t0b3AgewogICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9CiAgCiAgLmljb24tZGVtb25zdHJhdGlvbiB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxODYsIDAsIDAuMTUpOwogICAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogICAgLmljb24tZGVtb25zdHJhdGlvbiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDYwcHg7CiAgICAgIGhlaWdodDogNjBweDsKICAgICAgZmlsbDogI2ZmYmEwMDsgfQogICAgLmljb24tZGVtb25zdHJhdGlvbiBwcmUgewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiByZWQ7IH0KICAgIC5pY29uLWRlbW9uc3RyYXRpb24gY29kZSB7CiAgICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsOwogICAgICBsaW5lLWhlaWdodDogMjsgfQogIAogIC5iZy0xIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2JnLTIucG5nIik7CiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfQogIAogIC5iZy0yIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL2ljb24xLnBuZyIpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH0KICAKICAuYWJiciwKICBhYmJyIHsKICAgIGNvbG9yOiAjZmYzMTMzOyB9CiAgCiAgLmMtbGluay1jb2xvciB7CiAgICBjb2xvcjogI2MzYzlkNDsgfQogIAogIC5jLXByaW1hcnkgewogICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYy1ncmVlbi1saWdodGVyIHsKICAgIGNvbG9yOiAjOGVjNTQ1OyB9CiAgCiAgLmMtZ3JlZW4tc3VjY2VzIHsKICAgIGNvbG9yOiAjOGRjNjQ3OyB9CiAgCiAgLmMtZ3JleSB7CiAgICBjb2xvcjogIzFmMjEyODsgfQogIAogIC5jLWdyZXktbGlnaHQgewogICAgY29sb3I6ICMyZDMxM2E7IH0KICAKICAuYy1ib3JkZXItY29sb3IgewogICAgY29sb3I6ICMzZDQzNGY7IH0KICAKICAuYy1zZWNvbmRhcnkgewogICAgY29sb3I6ICNmZmY7IH0KICAKICAuY29sb3ItaWNvbiB7CiAgICBjb2xvcjogIzY2NmQ3YTsgfQogIAogIC5jLXdoaXRlIHsKICAgIGNvbG9yOiAjZmZmOyB9CiAgCiAgLmMtYmxhY2stbGlnaHRlciB7CiAgICBjb2xvcjogIzE2MTgxZDsgfQogIAogIC5jLWJsdWUgewogICAgY29sb3I6ICMzMjM1YWE7IH0KICAKICAuYy1ibHVlLWxpZ2h0IHsKICAgIGNvbG9yOiAjMzQ1MmZmOyB9CiAgCiAgLmMtYmx1ZS1saWdodGVyIHsKICAgIGNvbG9yOiAjMDE2Y2IwOyB9CiAgCiAgLmMtcmVkIHsKICAgIGNvbG9yOiAjZmUzMjM1OyB9CiAgCiAgLmMtcmVkLWxpZ2h0IHsKICAgIGNvbG9yOiAjZmYzMTMzOyB9CiAgCiAgLmMtYnJvd24gewogICAgY29sb3I6ICNlZTc4MDA7IH0KICAKICAuZm9udC1jb2xvci1jdXN0b20gKiB7CiAgICBjb2xvcjogaW5oZXJpdDsgfQogIAogIC5jdXN0b20tY29sb3IgKiB7CiAgICBjb2xvcjogaW5oZXJpdDsgfQogIAogIC5iZy1icm93biB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3ODAwOyB9CiAgCiAgLmJnLWdyZWVuLWxpZ2h0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzhlYzU0NTsgfQogIAogIC5iZy1ibHVlLWxpZ2h0IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNDUyZmY7IH0KICAKICAuYmctYmx1ZS1saWdodGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTZjYjA7IH0KICAKICAuYmctd2hpdGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfQogIAogIC5iZy1zZWNvbmRhcnktY29sb3IgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfQogIAogIC5iZy1wcmltYXJ5LWNvbG9yIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAKICAuYmctYmx1ZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzNWFhOyB9CiAgCiAgLmJnLXJlZCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmUzMjM1OyB9CiAgCiAgLmJnLXJlZC1saWdodCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzMTMzOyB9CiAgCiAgLmJnLWRhcmstbGlnaHQgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjAyNzsgfQogIAogIC5iZy1ib3JkZXItY29sb3IgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzNkNDM0ZjsgfQogIAogIC5iZy1ncmVlbi1ncmFkaWVudCB7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMDBhNjUzKSwgdG8oIzhkYzU0NikpOwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzAwYTY1MywgIzhkYzU0Nik7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMGE2NTMsICM4ZGM1NDYpOyB9CiAgCiAgLmJnLWJsdWUtZ3JhZGllbnQgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzc5MWViZCksIHRvKCMzNDUyZmYpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICM3OTFlYmQsICMzNDUyZmYpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNzkxZWJkLCAjMzQ1MmZmKTsgfQogIAogIC5iZy1yZWQtZ3JhZGllbnQgewogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oI2ZmODEwMCksIHRvKCNmZjMxMzMpKTsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZjgxMDAsICNmZjMxMzMpOwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmY4MTAwLCAjZmYzMTMzKTsgfQogIAogIC5iZy1wcmltYXJ5LWdyYWRpZW50IHsKICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCNmZmZmMDApLCB0bygjZmZiYTAwKSk7CiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZjAwLCAjZmZiYTAwKTsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZmYwMCwgI2ZmYmEwMCk7IH0KICAKICAud2VpZ2h0LWJvbGQgewogICAgZm9udC13ZWlnaHQ6IDcwMDsgfQogIAogIC53ZWlnaHQtbm9ybWFsIHsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0KICAKICAuY29udGVudC1hbGlnbi1qdXN0aWZ5IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfQogIAogIC5ibG9jay1jb250ZW50LWJvdHRvbSB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0KICAKICAuZC1mbGV4IHsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OyB9CiAgCiAgLmFsaWduLWl0ZW1zLWJvdHRvbSB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9CiAgCiAgLmQtZmxleC0tY29udGVudC1pbmxpbmUgewogICAgZmxvYXQ6IG5vbmU7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7CiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0KICAgIC5kLWZsZXgtLWNvbnRlbnQtaW5saW5lID4gKiArICogewogICAgICBtYXJnaW4tbGVmdDogNDBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9CiAgCiAgLm5lZ2F0aXZlLW1hcmdpbi10b3A4MCB7CiAgICBtYXJnaW4tdG9wOiAtODBweDsgfQogIAogIC5uZWdhdGl2ZS1tYXJnaW4tYm90dG9tODAgewogICAgbWFyZ2luLWJvdHRvbTogLTgwcHg7IH0KICAKICAuZGlzcGxheS1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jazsgfQogIAogIC5pbmxpbmUtaXRlbXMtd3JhcCB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfQogICAgLmlubGluZS1pdGVtcy13cmFwID4gKiArICogewogICAgICBtYXJnaW4tbGVmdDogNDBweDsgfQogIAogIC52LWFsaWduLWJvdHRvbSB7CiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOwogICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgIGZsb2F0OiBub25lOyB9CiAgCiAgLnYtYWxpZ24tbWlkZGxlIHsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOwogICAgZmxvYXQ6IG5vbmU7IH0KICAKICAuZC1mbGV4LWFsaWduLW1pZGRsZSB7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjU29jaWFscyBCRy1oZWxwZXIgLS0tLS0tLS0tLS0tLS0qLwogIC5iZy1yc3MgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YjQ1OTsgfQogIAogIC5iZy1tYWlsIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTZERDE7IH0KICAKICAuYmctcGludGVyZXN0IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzIxMjc7IH0KICAKICAuYmctZ29vZ2xlcGx1cyB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ0YjM5OyB9CiAgCiAgLmJnLWdvb2dsZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ0YjM5OyB9CiAgCiAgLmJnLWZhY2Vib29rIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjViOWQ7IH0KICAKICAuYmctdHdpdHRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzhiZmYxOyB9CiAgCiAgLmJnLWFtYXpvbiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjY5QjA2OyB9CiAgCiAgLmJnLWJlaGFuY2UgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzJEMkQyRDsgfQogIAogIC5iZy1iaW5nIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkE2MTY7IH0KICAKICAuYmctY3JlYXRpdmUtbWFya2V0IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM4REE3NDE7IH0KICAKICAuYmctZGV2aWFudGFydCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQjFCOyB9CiAgCiAgLmJnLWRyaWJibGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NDg4MTsgfQogIAogIC5iZy1kcm9wYm94IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwQkE0RTA7IH0KICAKICAuYmctZW52YXRvIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICM2RDlDM0U7IH0KICAKICAuYmctZmxpY2tyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyNkE5RTE7IH0KICAKICAuYmctaW5zdGFncmFtIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNzUzNTE7IH0KICAKICAuYmcta2lja3N0YXJ0ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzE0RTA2RTsgfQogIAogIC5iZy1saW5rZWRpbiB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE4RjlFOyB9CiAgCiAgLmJnLW1lZGl1bSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBFNTZCOyB9CiAgCiAgLmJnLXBlcmlzY29wZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0ZBNEM0OyB9CiAgCiAgLmJnLXF1b3JhIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNGODVGNjI7IH0KICAKICAuYmctcmVkZGl0IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNGMDU4MjU7IH0KICAKICAuYmctc2h1dHRlcnN0b2NrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDhFQzA7IH0KICAKICAuYmctc2t5cGUgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwQUFGMTsgfQogIAogIC5iZy1zbmFwY2hhdCB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFRDQ1OyB9CiAgCiAgLmJnLXNvdW5kY2xvdWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMzMwMDsgfQogIAogIC5iZy1zcG90aWZ5IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxRUQ3NjA7IH0KICAKICAuYmctdHJlbGxvIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc5QkY7IH0KICAKICAuYmctdHVtYmxyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjQ2NUQ7IH0KICAKICAuYmctdmltZW8gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzFBQjdFQTsgfQogIAogIC5iZy12ayB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjM4M0E4OyB9CiAgCiAgLmJnLXdoYXRzYXBwIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUQzNjY7IH0KICAKICAuYmctd2lraXBlZGlhIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH0KICAKICAuYmctd29yZHByZXNzIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTc1OUI7IH0KICAKICAuYmcteW91dHViZSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0QyMDFGOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNTb2NpYWxzIENPTE9SLWhlbHBlciAtLS0tLS0tLS0tLS0tLSovCiAgLmMtcnNzIHsKICAgIGNvbG9yOiAjZjRiNDU5OwogICAgZmlsbDogI2Y0YjQ1OTsgfQogIAogIC5jLW1haWwgewogICAgY29sb3I6ICM5OTZERDE7CiAgICBmaWxsOiAjOTk2REQxOyB9CiAgCiAgLmMtcGludGVyZXN0IHsKICAgIGNvbG9yOiAjY2MyMTI3OwogICAgZmlsbDogI2NjMjEyNzsgfQogIAogIC5jLWdvb2dsZXBsdXMgewogICAgY29sb3I6ICNkZDRiMzk7CiAgICBmaWxsOiAjZGQ0YjM5OyB9CiAgCiAgLmMtZ29vZ2xlIHsKICAgIGNvbG9yOiAjZGQ0YjM5OwogICAgZmlsbDogI2RkNGIzOTsgfQogIAogIC5jLWZhY2Vib29rIHsKICAgIGNvbG9yOiAjMmY1YjlkOwogICAgZmlsbDogIzJmNWI5ZDsgfQogIAogIC5jLXR3aXR0ZXIgewogICAgY29sb3I6ICMzOGJmZjE7CiAgICBmaWxsOiAjMzhiZmYxOyB9CiAgCiAgLmMtYW1hem9uIHsKICAgIGNvbG9yOiAjRjY5QjA2OwogICAgZmlsbDogI0Y2OUIwNjsgfQogIAogIC5jLWJlaGFuY2UgewogICAgY29sb3I6ICMyRDJEMkQ7CiAgICBmaWxsOiAjMkQyRDJEOyB9CiAgCiAgLmMtYmluZyB7CiAgICBjb2xvcjogI0ZGQTYxNjsKICAgIGZpbGw6ICNGRkE2MTY7IH0KICAKICAuYy1jcmVhdGl2ZS1tYXJrZXQgewogICAgY29sb3I6ICM4REE3NDE7CiAgICBmaWxsOiAjOERBNzQxOyB9CiAgCiAgLmMtZGV2aWFudGFydCB7CiAgICBjb2xvcjogIzFCMUIxQjsKICAgIGZpbGw6ICMxQjFCMUI7IH0KICAKICAuYy1kcmliYmxlIHsKICAgIGNvbG9yOiAjZjc0ODgxOwogICAgZmlsbDogI2Y3NDg4MTsgfQogIAogIC5jLWRyb3Bib3ggewogICAgY29sb3I6ICMwQkE0RTA7CiAgICBmaWxsOiAjMEJBNEUwOyB9CiAgCiAgLmMtZW52YXRvIHsKICAgIGNvbG9yOiAjNkQ5QzNFOwogICAgZmlsbDogIzZEOUMzRTsgfQogIAogIC5jLWZsaWNrciB7CiAgICBjb2xvcjogIzI2QTlFMTsKICAgIGZpbGw6ICMyNkE5RTE7IH0KICAKICAuYy1pbnN0YWdyYW0gewogICAgY29sb3I6ICNFNzUzNTE7CiAgICBmaWxsOiAjRTc1MzUxOyB9CiAgCiAgLmMta2lja3N0YXJ0ZXIgewogICAgY29sb3I6ICMxNEUwNkU7CiAgICBmaWxsOiAjMTRFMDZFOyB9CiAgCiAgLmMtbGlua2VkaW4gewogICAgY29sb3I6ICM0QThGOUU7CiAgICBmaWxsOiAjNEE4RjlFOyB9CiAgCiAgLmMtbWVkaXVtIHsKICAgIGNvbG9yOiAjMDBFNTZCOwogICAgZmlsbDogIzAwRTU2QjsgfQogIAogIC5jLXBlcmlzY29wZSB7CiAgICBjb2xvcjogIzNGQTRDNDsKICAgIGZpbGw6ICMzRkE0QzQ7IH0KICAKICAuYy1xdW9yYSB7CiAgICBjb2xvcjogI0Y4NUY2MjsKICAgIGZpbGw6ICNGODVGNjI7IH0KICAKICAuYy1yZWRkaXQgewogICAgY29sb3I6ICNGMDU4MjU7CiAgICBmaWxsOiAjRjA1ODI1OyB9CiAgCiAgLmMtc2h1dHRlcnN0b2NrIHsKICAgIGNvbG9yOiAjMDA4RUMwOwogICAgZmlsbDogIzAwOEVDMDsgfQogIAogIC5jLXNreXBlIHsKICAgIGNvbG9yOiAjMDBBQUYxOwogICAgZmlsbDogIzAwQUFGMTsgfQogIAogIC5jLXNuYXBjaGF0IHsKICAgIGNvbG9yOiAjRkZFRDQ1OwogICAgZmlsbDogI0ZGRUQ0NTsgfQogIAogIC5jLXNvdW5kY2xvdWQgewogICAgY29sb3I6ICNGRjMzMDA7CiAgICBmaWxsOiAjRkYzMzAwOyB9CiAgCiAgLmMtc3BvdGlmeSB7CiAgICBjb2xvcjogIzFFRDc2MDsKICAgIGZpbGw6ICMxRUQ3NjA7IH0KICAKICAuYy10cmVsbG8gewogICAgY29sb3I6ICMwMDc5QkY7CiAgICBmaWxsOiAjMDA3OUJGOyB9CiAgCiAgLmMtdHVtYmxyIHsKICAgIGNvbG9yOiAjMzY0NjVEOwogICAgZmlsbDogIzM2NDY1RDsgfQogIAogIC5jLXZpbWVvIHsKICAgIGNvbG9yOiAjMUFCN0VBOwogICAgZmlsbDogIzFBQjdFQTsgfQogIAogIC5jLXZrIHsKICAgIGNvbG9yOiAjNjM4M0E4OwogICAgZmlsbDogIzYzODNBODsgfQogIAogIC5jLXdoYXRzYXBwIHsKICAgIGNvbG9yOiAjMjVEMzY2OwogICAgZmlsbDogIzI1RDM2NjsgfQogIAogIC5jLXdpa2lwZWRpYSB7CiAgICBjb2xvcjogIzAwMDAwMDsKICAgIGZpbGw6ICMwMDAwMDA7IH0KICAKICAuYy13b3JkcHJlc3MgewogICAgY29sb3I6ICMyMTc1OUI7CiAgICBmaWxsOiAjMjE3NTlCOyB9CiAgCiAgLmMteW91dHViZSB7CiAgICBjb2xvcjogI0NEMjAxRjsKICAgIGZpbGw6ICNDRDIwMUY7IH0KICAKICAubWFpbi1zZWN0aW9uIHsKICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAKICAubWFpbi1jb250ZW50LXdyYXBwZXIgewogICAgei1pbmRleDogMjsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLm1haW4tY29udGVudC13cmFwcGVyID4gLmNydW1pbmEtZmx5aW5nLWJhbGxzOmZpcnN0LWNoaWxkIHsKICAgICAgcGFkZGluZy10b3A6IDEwMHB4OyB9CiAgICAgIC5tYWluLWNvbnRlbnQtd3JhcHBlciA+IC5jcnVtaW5hLWZseWluZy1iYWxsczpmaXJzdC1jaGlsZC5wYWdlLW5vdC1mb3VuZCB7CiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI0Jsb2NrcyB3aXRoIGFycm93IC0tLS0tLS0tLS0tLS0tKi8KICAuYmxvY2stLXdpdGgtYXJyb3ctbGVmdCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5ibG9jay0td2l0aC1hcnJvdy1sZWZ0OmFmdGVyIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltZy9hcnJvdy1sZWZ0LXctNTAucG5nIikgbm8tcmVwZWF0OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgIHJpZ2h0OiAxMDAlOwogICAgICB0b3A6IDUwJTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTsKICAgICAgd2lkdGg6IDUwcHg7CiAgICAgIGhlaWdodDogMTYwcHg7IH0KICAKICAuaGFzLWJvcmRlci1hcnJvdzpob3ZlciAuYmxvY2stLXdpdGgtYXJyb3ctYm90dG9tLWNlbnRlciB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNTE5OwogICAgYm9yZGVyLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAuaGFzLWJvcmRlci1hcnJvdzpob3ZlciAuYmxvY2stLXdpdGgtYXJyb3ctYm90dG9tLWNlbnRlcjpiZWZvcmUsIC5oYXMtYm9yZGVyLWFycm93OmhvdmVyIC5ibG9jay0td2l0aC1hcnJvdy1ib3R0b20tY2VudGVyOmFmdGVyIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmYmEwMDsgfQogICAgLmhhcy1ib3JkZXItYXJyb3c6aG92ZXIgLmJsb2NrLS13aXRoLWFycm93LWJvdHRvbS1jZW50ZXIud2l0aC1iZyAuYmxvY2stYXJyb3ctZG93biB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE1MTk7CiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmJhMDA7CiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLmhhcy1ib3JkZXItYXJyb3c6aG92ZXIgLmJsb2NrLWFycm93LWRvd24gewogICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTUxOTsKICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmJhMDA7CiAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC5ibG9jay0td2l0aC1hcnJvdy1ib3R0b20tY2VudGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYm90dG9tOiAwOwogICAgbGVmdDogMDsKICAgIGJvcmRlcjogNHB4IHNvbGlkICMzZDQ0NTE7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgei1pbmRleDogLTE7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLmJsb2NrLS13aXRoLWFycm93LWJvdHRvbS1jZW50ZXI6YWZ0ZXIsIC5ibG9jay0td2l0aC1hcnJvdy1ib3R0b20tY2VudGVyOmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUvMiAtIDEycHgpOwogICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSAxMnB4KTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IC0ycHg7CiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjM2Q0NDUxOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICB6LWluZGV4OiAxMDsgfQogICAgLmJsb2NrLS13aXRoLWFycm93LWJvdHRvbS1jZW50ZXI6YmVmb3JlIHsKICAgICAgbGVmdDogLTRweDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMjBweDsgfQogICAgLmJsb2NrLS13aXRoLWFycm93LWJvdHRvbS1jZW50ZXI6YWZ0ZXIgewogICAgICByaWdodDogLTRweDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMDsgfQogICAgLmJsb2NrLS13aXRoLWFycm93LWJvdHRvbS1jZW50ZXIud2l0aC1iZyB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODFhMjA7CiAgICAgIGJvcmRlci1jb2xvcjogIzE4MWEyMDsgfQogICAgICAuYmxvY2stLXdpdGgtYXJyb3ctYm90dG9tLWNlbnRlci53aXRoLWJnOmFmdGVyLCAuYmxvY2stLXdpdGgtYXJyb3ctYm90dG9tLWNlbnRlci53aXRoLWJnOmJlZm9yZSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzE4MWEyMDsgfQogICAgICAuYmxvY2stLXdpdGgtYXJyb3ctYm90dG9tLWNlbnRlci53aXRoLWJnIC5ibG9jay1hcnJvdy1kb3duIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYTIwOwogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjMTgxYTIwOwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMxODFhMjA7IH0KICAKICAuYmxvY2stYXJyb3ctZG93biB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDFweDsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiAzMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgYm9yZGVyOiA0cHggc29saWQgIzNkNDQ1MTsKICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTY2JSk7CiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTY2JSk7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtNjYlKTsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7CiAgICAucmVzcG9uc2l2ZS13aWR0aC01MCB7CiAgICAgIG1heC13aWR0aDogNTAlOyB9CiAgICAucmVzcG9uc2l2ZS1hbGlnbi1jZW50ZXIgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgICAgLnJlc3BvbnNpdmUtYWxpZ24tY2VudGVyIC5idG4tbWFya2V0LXdyYXAgewogICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAuaW5saW5lLWl0ZW1zLXdyYXAgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAgIC5pbmxpbmUtaXRlbXMtd3JhcCAuYnRuICsgLmJ0biB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9CiAgICAgIC5pbmxpbmUtaXRlbXMtd3JhcCA+ICogKyAqIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAucHQtbW9iaWxlLTgwIHsKICAgICAgcGFkZGluZy10b3A6IDgwcHg7IH0KICAgIC5oZWlnaHQtNzMwIHsKICAgICAgaGVpZ2h0OiAzNTBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ2MHB4KSB7CiAgICAubWFpbi1jb250ZW50LXdyYXBwZXIgPiAuY3J1bWluYS1mbHlpbmctYmFsbHM6Zmlyc3QtY2hpbGQgewogICAgICBwYWRkaW5nLXRvcDogMTMwcHg7IH0gfQogIAogIC8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi8KICAvKioKICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuCiAgICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLgogICAqLwogIGh0bWwgewogICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7CiAgICAvKiAxICovCiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgIC8qIDIgKi8KICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgIC8qIDIgKi8gfQogIAogIC8qKgogICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLgogICAqLwogIGJvZHkgewogICAgbWFyZ2luOiAwOyB9CiAgCiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9ucwogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgLyoqCiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uCiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LgogICAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLgogICAqLwogIGFydGljbGUsCiAgYXNpZGUsCiAgZGV0YWlscywKICBmaWdjYXB0aW9uLAogIGZpZ3VyZSwKICBmb290ZXIsCiAgbWFpbiwKICBtZW51LAogIG5hdiwKICBzZWN0aW9uLAogIHN1bW1hcnkgewogICAgLyogMSAqLwogICAgZGlzcGxheTogYmxvY2s7IH0KICAKICAvKioKICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS4KICAgKi8KICBhdWRpbywKICBjYW52YXMsCiAgcHJvZ3Jlc3MsCiAgdmlkZW8gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgCiAgLyoqCiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy4KICAgKi8KICBhdWRpbzpub3QoW2NvbnRyb2xzXSkgewogICAgZGlzcGxheTogbm9uZTsKICAgIGhlaWdodDogMDsgfQogIAogIC8qKgogICAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuCiAgICovCiAgcHJvZ3Jlc3MgewogICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9CiAgCiAgLyoqCiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLgogICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLgogICAqLwogIHRlbXBsYXRlLAogIFtoaWRkZW5dIHsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAKICAvKiBMaW5rcwogICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgLyoqCiAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLgogICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky4KICAgKi8KICBhIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgLyogMSAqLwogICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsKICAgIC8qIDIgKi8gfQogIAogIC8qKgogICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZAogICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLgogICAqLwogIGE6YWN0aXZlLAogIGE6aG92ZXIgewogICAgb3V0bGluZS13aWR0aDogMDsgfQogIAogIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAvKioKICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uCiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS4KICAgKi8KICBhYmJyW3RpdGxlXSB7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAvKiAyICovIH0KICAKICAvKioKICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi4KICAgKi8KICBiLAogIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogaW5oZXJpdDsgfQogIAogIC8qKgogICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuCiAgICovCiAgYiwKICBzdHJvbmcgewogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAKICAvKioKICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uCiAgICovCiAgZGZuIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfQogIAogIC8qKgogICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS4KICAgKi8KICBtYXJrIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7CiAgICBjb2xvcjogIzAwMDsgfQogIAogIC8qKgogICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLgogICAqLwogIHNtYWxsIHsKICAgIGZvbnQtc2l6ZTogODAlOyB9CiAgCiAgLyoqCiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluCiAgICogYWxsIGJyb3dzZXJzLgogICAqLwogIHN1YiwKICBzdXAgewogICAgZm9udC1zaXplOiA3NSU7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfQogIAogIHN1YiB7CiAgICBib3R0b206IC0wLjI1ZW07IH0KICAKICBzdXAgewogICAgdG9wOiAtMC41ZW07IH0KICAKICAvKiBFbWJlZGRlZCBjb250ZW50CiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAvKioKICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS4KICAgKi8KICBpbWcgewogICAgYm9yZGVyLXN0eWxlOiBub25lOyB9CiAgCiAgLyoqCiAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuCiAgICovCiAgc3ZnOm5vdCg6cm9vdCkgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogIAogIC8qIEdyb3VwaW5nIGNvbnRlbnQKICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogIC8qKgogICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuCiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLgogICAqLwogIGNvZGUsCiAga2JkLAogIHByZSwKICBzYW1wIHsKICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsKICAgIC8qIDEgKi8KICAgIGZvbnQtc2l6ZTogMWVtOwogICAgLyogMiAqLyB9CiAgCiAgLyoqCiAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LgogICAqLwogIGZpZ3VyZSB7CiAgICBtYXJnaW46IDFlbSA0MHB4OyB9CiAgCiAgLyoqCiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC4KICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS4KICAgKi8KICBociB7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogICAgYm94LXNpemluZzogY29udGVudC1ib3g7CiAgICAvKiAxICovCiAgICBoZWlnaHQ6IDA7CiAgICAvKiAxICovCiAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIC8qIDIgKi8gfQogIAogIC8qIEZvcm1zCiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAvKioKICAgKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS4KICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuCiAgICovCiAgYnV0dG9uLAogIGlucHV0LAogIHNlbGVjdCwKICB0ZXh0YXJlYSB7CiAgICBmb250OiBpbmhlcml0OwogICAgLyogMSAqLwogICAgbWFyZ2luOiAwOwogICAgLyogMiAqLwogICAgb3V0bGluZTogbm9uZTsgfQogIAogIC8qKgogICAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLgogICAqLwogIG9wdGdyb3VwIHsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9CiAgCiAgLyoqCiAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuCiAgICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS4KICAgKi8KICBidXR0b24sCiAgaW5wdXQgewogICAgLyogMSAqLwogICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICBib3JkZXI6IG5vbmU7IH0KICAKICAvKioKICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS4KICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guCiAgICovCiAgYnV0dG9uLAogIHNlbGVjdCB7CiAgICAvKiAxICovCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfQogIAogIC8qKgogICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYAogICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC4KICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLgogICAqLwogIGJ1dHRvbiwKICBodG1sIFt0eXBlPSJidXR0b24iXSwKICBbdHlwZT0icmVzZXQiXSwKICBbdHlwZT0ic3VibWl0Il0gewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247CiAgICAvKiAyICovIH0KICAKICAvKioKICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LgogICAqLwogIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwKICBbdHlwZT0iYnV0dG9uIl06Oi1tb3otZm9jdXMtaW5uZXIsCiAgW3R5cGU9InJlc2V0Il06Oi1tb3otZm9jdXMtaW5uZXIsCiAgW3R5cGU9InN1Ym1pdCJdOjotbW96LWZvY3VzLWlubmVyIHsKICAgIGJvcmRlci1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmc6IDA7IH0KICAKICAvKioKICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuCiAgICovCiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLAogIFt0eXBlPSJidXR0b24iXTotbW96LWZvY3VzcmluZywKICBbdHlwZT0icmVzZXQiXTotbW96LWZvY3VzcmluZywKICBbdHlwZT0ic3VibWl0Il06LW1vei1mb2N1c3JpbmcgewogICAgb3V0bGluZTogMHB4IGRvdHRlZCBCdXR0b25UZXh0OyB9CiAgCiAgLyoqCiAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuCiAgICovCiAgZmllbGRzZXQgewogICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsKICAgIG1hcmdpbjogMCAycHg7CiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH0KICAKICAvKioKICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLgogICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS4KICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0CiAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuCiAgICovCiAgbGVnZW5kIHsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAvKiAxICovCiAgICBjb2xvcjogaW5oZXJpdDsKICAgIC8qIDIgKi8KICAgIGRpc3BsYXk6IHRhYmxlOwogICAgLyogMSAqLwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgLyogMSAqLwogICAgcGFkZGluZzogMDsKICAgIC8qIDMgKi8KICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgICAvKiAxICovIH0KICAKICAvKioKICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLgogICAqLwogIHRleHRhcmVhIHsKICAgIG92ZXJmbG93OiBhdXRvOyB9CiAgCiAgLyoqCiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLgogICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uCiAgICovCiAgW3R5cGU9ImNoZWNrYm94Il0sCiAgW3R5cGU9InJhZGlvIl0gewogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIC8qIDEgKi8KICAgIHBhZGRpbmc6IDA7CiAgICAvKiAyICovIH0KICAKICAvKioKICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuCiAgICovCiAgW3R5cGU9Im51bWJlciJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLAogIFt0eXBlPSJudW1iZXIiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7CiAgICBoZWlnaHQ6IGF1dG87IH0KICAKICAvKioKICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS4KICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS4KICAgKi8KICBbdHlwZT0ic2VhcmNoIl0gewogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7CiAgICAvKiAxICovCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgIC8qIDIgKi8gfQogIAogIC8qKgogICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC4KICAgKi8KICBbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sCiAgW3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsKICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfQogIAogIC8qKgogICAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS4KICAgKi8KICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgewogICAgY29sb3I6IGluaGVyaXQ7CiAgICBvcGFjaXR5OiAwLjU0OyB9CiAgCiAgLyoqCiAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS4KICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuCiAgICovCiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7CiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsKICAgIC8qIDEgKi8KICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAvKiAyICovIH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1N0eWxlcyBmb3IgcHJlbG9hZGVyIC0tLS0tLS0tLS0tLS0tKi8KICAjaGVsbG9wcmVsb2FkZXIgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICB6LWluZGV4OiA5OTk5OTk5OwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgbWluLXdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogIzAwMDsKICAgIGJhY2tncm91bmQtc2l6ZTogNDFweDsKICAgIG9wYWNpdHk6IDE7IH0KICAKICAucHJlbG9hZGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbGVmdDogNTAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9CiAgICAucHJlbG9hZGVyIC50ZXh0IHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgY29sb3I6ICNmZmQ2NjY7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAgIC50ZXh0LXllbGxvdwogICAgICB7CiAgICAgICAgICBjb2xvcjogI2ZmZDYwMCAhaW1wb3J0YW50OwogICAgICB9CiAgLyotLS0tLS0tLS0tLS0tICNIRUFERVIgLS0tLS0tLS0tLS0tLS0qLwogIC5oZWFkZXIgewogICAgcG9zaXRpb246IGZpeGVkOwogICAgd2lkdGg6IDEwMCU7CiAgICBwYWRkaW5nOiAzMHB4IDA7CiAgICB6LWluZGV4OiA5OTk7CiAgICBsZWZ0OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH0KICAgIC5oZWFkZXIuaGVhZHJvb20tLW5vdC10b3AgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmEyZTM3OwogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDE1cHggMCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgICBib3gtc2hhZG93OiAxNXB4IDAgNDBweCAwIHJnYmEoMCwgMCwgMCwgMC41KTsKICAgICAgcGFkZGluZzogMTVweCAwOyB9CiAgCiAgLmhlYWRlci1zcGFjZXIgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsgfQogIAogIC5oZWFkZXItY29udGVudC13cmFwcGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfQogIAogIC5zaXRlLWxvZ28gewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0KICAgIC5zaXRlLWxvZ28gaW1nIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4OyB9CiAgICAuc2l0ZS1sb2dvIC53b294LWljb24gewogICAgICB3aWR0aDogMTAwcHg7CiAgICAgIGZpbGw6ICNmZmY7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFN0eWxlcyBmb3Igc3RpY2t5LUhlYWRlciA9PT09PT09PT0qLwogIC5hbmltYXRlZCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjVzOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7CiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOwogICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSxvcGFjaXR5OyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgLmFuaW1hdGVkIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogbm9uZTsKICAgICAgICB3aWxsLWNoYW5nZTogdW5zZXQ7IH0gfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBzd2luZ0luWCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOyB9IH0KICAKICBAa2V5ZnJhbWVzIHN3aW5nSW5YIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC05MGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgfSB9CiAgCiAgLmFuaW1hdGVkLnN3aW5nSW5YIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wOwogICAgLWllLXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5YOwogICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDsKICAgIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIC5hbmltYXRlZC5zd2luZ0luWCB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHVuc2V0OwogICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB1bnNldDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB1bnNldDsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nT3V0WCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOyB9IH0KICAKICBAa2V5ZnJhbWVzIHN3aW5nT3V0WCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC05MGRlZyk7IH0gfQogIAogIC5hbmltYXRlZC5zd2luZ091dFggewogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDsKICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgLW8tYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDsKICAgIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH0KICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkgewogICAgICAuYW5pbWF0ZWQuc3dpbmdPdXRYIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBub25lOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdW5zZXQ7CiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHVuc2V0OwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHVuc2V0OyB9IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVEb3duIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfQogIAogIEBrZXlmcmFtZXMgc2xpZGVEb3duIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9CiAgCiAgLmFuaW1hdGVkLnNsaWRlRG93biB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZURvd247CiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVEb3duOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgLmFuaW1hdGVkLnNsaWRlRG93biB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlVXAgewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfSB9CiAgCiAgQGtleWZyYW1lcyBzbGlkZVVwIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfSB9CiAgCiAgLmFuaW1hdGVkLnNsaWRlVXAgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVVcDsKICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVVwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgLmFuaW1hdGVkLnNsaWRlVXAgewogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH0gfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBzd2luZ0luWCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOyB9IH0KICAKICBAa2V5ZnJhbWVzIHN3aW5nSW5YIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC05MGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblggewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgICBvcGFjaXR5OiAwOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgICBvcGFjaXR5OiAxOyB9IH0KICAKICBAa2V5ZnJhbWVzIGZsaXBJblggewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgb3BhY2l0eTogMDsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgb3BhY2l0eTogMTsgfSB9CiAgCiAgLmFuaW1hdGVkLmZsaXBJblggewogICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwogICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOwogICAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7CiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7CiAgICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIC5hbmltYXRlZC5mbGlwSW5YIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBub25lOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBub25lOyB9IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgICBvcGFjaXR5OiAwOyB9IH0KICAKICBAa2V5ZnJhbWVzIGZsaXBPdXRYIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgICBvcGFjaXR5OiAxOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7CiAgICAgIG9wYWNpdHk6IDA7IH0gfQogIAogIC5hbmltYXRlZC5mbGlwT3V0WCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgLW1vei1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7CiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsKICAgIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsKICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsKICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfQogICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgIC5hbmltYXRlZC5mbGlwT3V0WCB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDBweCk7IH0KICAgIDYwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9CiAgICA4MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9CiAgCiAgQGtleWZyYW1lcyBib3VuY2VJbkRvd24gewogICAgMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwcHgpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTsgfQogICAgNjAlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsgfQogICAgODAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9CiAgCiAgLmFuaW1hdGVkLmJvdW5jZUluRG93biB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247CiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgLmFuaW1hdGVkLmJvdW5jZUluRG93biB7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbm9uZTsKICAgICAgICBhbmltYXRpb24tbmFtZTogbm9uZTsgfSB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIDMwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9CiAgICAxMDAlIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTsgfSB9CiAgCiAgQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KICAgIDMwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwcHgpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTsgfSB9CiAgCiAgLmFuaW1hdGVkLmJvdW5jZU91dFVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOwogICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOyB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHsKICAgICAgLmFuaW1hdGVkLmJvdW5jZU91dFVwIHsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBub25lOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdW5zZXQ7CiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHVuc2V0OwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHVuc2V0OyB9IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIHsKICAgIC5zaXRlLWxvZ28gaW1nIHsKICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgIG1heC13aWR0aDogNDBweDsgfQogICAgLnNpdGUtbG9nbyAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDYwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLnNpdGUtbG9nbyBpbWcgewogICAgICBtYXgtd2lkdGg6IDQwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA0NjBweCkgewogICAgLmhlYWRlciB7CiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfQogICAgLnNpdGUtbG9nbyB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0KICAgIC5oZWFkZXItY29udGVudC13cmFwcGVyIHsKICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9CiAgCiAgLyoKICBJdGVtIG5hbWU6IHByaW1hcnktbWVudSAtIFJlc3BvbnNpdmUgTWVnYW1lbnUKICBBdXRob3I6IG1hcmNvYXJpYiAtIG1hcmNvLmFyaWJAZ21haWwuY29tCiAgTGljZW5zZTogaHR0cDovL2NvZGVjYW55b24ubmV0L2xpY2Vuc2VzCiAgKi8KICAvKgogICAgICBDT05URU5UUzoKICAKICAgICAgIDEgLSBNRU5VIENPTlRBSU5FUgogICAgICAgICAgLSBTY3JvbGxhYmxlIG1lbnUKICAgICAgIDIgLSBCUkFORAogICAgICAgMyAtIE1FTlUKICAgICAgICAgIC0gUmlnaHQgYWxpZ25tZW50CiAgICAgICAgICAtIE1lbnUgaXRlbXMKICAgICAgICAgIC0gQWN0aXZlL2hvdmVyIHN0YXRlCiAgICAgICA0IC0gRFJPUERPV04KICAgICAgICAgIC0gRHJvcGRvd24gaXRlbXMKICAgICAgICAgIC0gSG92ZXIgc3RhdGUKICAgICAgICAgIC0gRHJvcGRvd24gbGVmdCBhbGlnbm1lbnQKICAgICAgIDUgLSBEUk9QRE9XTi9NRUdBTUVOVSBJTkRJQ0FUT1JTCiAgICAgICA2IC0gTUVHQU1FTlUKICAgICAgIDcgLSBNRUdBTUVOVSBXSURUSFMKICAgICAgICAgIC0gSGFsZiB3aWR0aAogICAgICAgICAgLSBRdWFydGVyIHdpZHRoCiAgICAgICA4IC0gR1JJRCBTWVNURU0KICAgICAgIDkgLSBTSE9XL0hJREUgQlVUVE9OIChNT0JJTEUgTU9ERSkKICAgICAgICAgIC0gSWNvbgogICAgICAxMCAtIElDT05TIChwYXJlbnQgbWVudSBpdGVtcykKICAgICAgMTEgLSBTRUFSQ0ggRklFTEQKICAgICAgICAgIC0gRm9ybQogICAgICAgICAgLSBJbnB1dAogICAgICAxMiAtIFZFUlRJQ0FMIFRBQlMKICAgICAgMTMgLSBDT0xPUiBTQ0hFTUVTCiAgICAgIDE0IC0gTU9CSUxFIE1PREUgKFJFU1BPTlNJVkUgTU9ERSkKICAgICAgICAgIC0gTWVudSBjb250YWluZXIKICAgICAgICAgIC0gQnJhbmQKICAgICAgICAgIC0gU2hvdy9oaWRlIGJ1dHRvbgogICAgICAgICAgLSBNZW51CiAgICAgICAgICAtIERyb3Bkb3duCiAgICAgICAgICAtIERyb3Bkb3duIGl0ZW1zCiAgICAgICAgICAtIERyb3Bkb3duL21lZ2FtZW51IGluZGljYXRvcnMKICAgICAgICAgIC0gTWVnYW1lbnUKICAgICAgICAgIC0gU2VhcmNoIGZpZWxkCiAgKi8KICAvKiAxIC0gTUVOVSBDT05UQUlORVIKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgLnByaW1hcnktbWVudSwKICAucHJpbWFyeS1tZW51ICogewogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgfQogIAogIC5wcmltYXJ5LW1lbnUgPiB1bCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgbGlzdC1zdHlsZTogbm9uZTsgfQogIAogIC5wcmltYXJ5LW1lbnUgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjsKICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjsgfQogIAogIC8qIHNjcm9sbGFibGUgbWVudSAqLwogIC5wcmltYXJ5LW1lbnUtbWVudS5zY3JvbGxhYmxlID4gLnNjcm9sbGFibGUtZml4IHsKICAgIGRpc3BsYXk6IG5vbmU7IH0KICAKICAvKiAyIC0gQlJBTkQKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgLnByaW1hcnktbWVudS1icmFuZCB7CiAgICBtYXJnaW46IDE4cHggMzBweCAwIDA7CiAgICBmbG9hdDogbGVmdDsKICAgIGNvbG9yOiAjNjY2OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjdXJzb3I6IHBvaW50ZXI7IH0KICAKICAvKiAzIC0gTUVOVQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAvKiBSaWdodCBhbGlnbm1lbnQgKi8KICAvKiBNZW51IGl0ZW1zICovCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgcGFkZGluZzogMjBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IGEgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgbGluZS1oZWlnaHQ6IDE7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciA+IGEgLmluZGljYXRvciwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciAuaW5kaWNhdG9yLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpOmhvdmVyID4gYSwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLmN1cnJlbnQtbWVudS1pdGVtIHsKICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGk6aG92ZXIgLm1lZ2FtZW51Lm1lZ2FtZW51LXdpdGgtc2xpZGVyIHsKICAgIGNvbG9yOiAjYTFhYmJkOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGk6aG92ZXIgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MUExRjsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gYTpiZWZvcmUgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGJvcmRlci10b3A6IDJweCBzb2xpZDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDUwJTsKICAgIHdpZHRoOiAwOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgYm90dG9tOiAtMTJweDsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgbGluZWFyOwogICAgdHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciA+IGE6YmVmb3JlLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYTpiZWZvcmUgewogICAgb3BhY2l0eTogMTsKICAgIHdpZHRoOiAxMDAlOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiBpIHsKICAgIGZvbnQtc2l6ZTogMTBweDsgfQogIAogIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IGkgewogICAgZGlzcGxheTogbm9uZTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IHsKICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0KICAKICAubm8tbWVudS1ib3ggewogICAgZm9udC1zaXplOiAxNHB4OyB9CiAgCiAgLyogNCAtIERST1BET1dOCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSwKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgdWwuc3ViLW1lbnUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogOTk5OTsKICAgIGxlZnQ6IDA7CiAgICBtaW4td2lkdGg6IDI3MHB4OwogICAgdG9wOiAxMDAlOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MUExRjsKICAgIHBhZGRpbmc6IDEwcHggMCAzMHB4OwogICAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDEwcHggMTBweDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAyMHB4IDgwcHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICBib3gtc2hhZG93OiAwIDIwcHggODBweCAwIHJnYmEoMCwgMCwgMCwgMC40KTsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBkaXNwbGF5OiBub25lOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIG1hcmdpbi10b3A6IDA7IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSwKICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaSB1bC5zdWItbWVudSB7CiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsKICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgcGFkZGluZzogMDsgfSB9CiAgCiAgLyogTWVnYW1lbnUgd2l0aCBzbGlkZXIqLwogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51Lm1lZ2FtZW51LXdpdGgtc2xpZGVyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgcGFkZGluZzogNDBweDsgfQogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUubWVnYW1lbnUtd2l0aC1zbGlkZXIgLmNydW1pbmEtbW9kdWxlLXNsaWRlciB7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLW1lZ2EtbWVudSAubWVnYW1lbnUgdWwgPiBsaSwKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogMDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBhIGkgewogICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBjb2xvcjogI2UxZTFlMTsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1yaWdodDogMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbWFyZ2luLXRvcDogLTZweDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IC5tZWdhbWVudSB1bCA+IGxpIGEgaSB7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBvcGFjaXR5OiAxOwogICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpIHVsLnN1Yi1tZW51IHsKICAgIGxlZnQ6IDEwMCU7CiAgICB0b3A6IC0xMHB4OwogICAgYm9yZGVyLXJhZGl1czogMTBweDsgfQogIAogIC8qIERyb3Bkb3duIGl0ZW1zICovCiAgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51ID4gbGk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB3aWR0aDogMnB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDA7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0OwogICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaSB7CiAgICBjbGVhcjogYm90aDsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyOiAwIG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgewogICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggNDBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7IH0KICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaTpob3ZlciBzcGFuIHsKICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaTpob3ZlcjpiZWZvcmUgewogICAgICBvcGFjaXR5OiAxOyB9CiAgICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgc3BhbiB7CiAgICAgIGNvbG9yOiAjYTFhYmJkOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7CiAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2Utb3V0OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtLXdpdGgtaWNvbnMgewogICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0KICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaSB7CiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfQogICAgICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtLXdpdGgtaWNvbnMgbGk6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaSBhIHsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjBweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2Q0NDUxOyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaSA+IGEgPiBzcGFuIHsKICAgICAgICBtYXJnaW4tbGVmdDogNHB4OyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaSAud29veC1pY29uIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4OyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaSAuaWNvbi1hcnJvdy1yaWdodC1saW5lIHsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgZmlsbDogI2ZmYmEwMDsgfQogICAgICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtLXdpdGgtaWNvbnMgbGk6bGFzdC1jaGlsZCBhIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaTpob3ZlciAuaWNvbi1hcnJvdy1yaWdodC1saW5lIHsKICAgICAgICBvcGFjaXR5OiAxOyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaTpob3ZlciA+IGEsCiAgICAgIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS0td2l0aC1pY29ucyBsaTpob3ZlciA+IGEgPiBzcGFuIHsKICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpIGEgewogICAgICBwYWRkaW5nOiAxMHB4OyB9IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtaGFzLWljb25zIGxpIGkgewogICAgZm9udC1zaXplOiAyNHB4OwogICAgb3BhY2l0eTogMTsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudS5zdWItbWVudS1oYXMtaWNvbnMgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGEgPiBpIHsKICAgIG9wYWNpdHk6IDE7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLW1lZ2EtbWVudSAubWVnYW1lbnUgdWwgPiBsaSBhIHsKICAgIHBhZGRpbmc6IDE1cHggMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLW91dDsKICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZS1vdXQ7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZDQ0NTE7CiAgICBmb250LXdlaWdodDogNDAwOyB9CiAgCiAgLm1lZ2FtZW51LWJnIHsKICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1nL21lZ2FtZW51LWJnLnBuZyIpOwogICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IC5tZWdhbWVudSB1bCA+IGxpOmxhc3QtY2hpbGQgYSB7CiAgICBib3JkZXItYm90dG9tOiBub25lOyB9CiAgCiAgLyogSG92ZXIgc3RhdGUgKHN1Yi1tZW51IGl0ZW1zKSAqLwogIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaTpob3ZlciA+IGEsCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1tZWdhLW1lbnUgLm1lZ2FtZW51IHVsID4gbGk6aG92ZXIgYSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLyogRHJvcGRvd24gbGVmdCBhbGlnbm1lbnQgKi8KICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtbGVmdCB7CiAgICBsZWZ0OiBhdXRvOwogICAgcmlnaHQ6IDA7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgdWwuc3ViLW1lbnUuc3ViLW1lbnUtbGVmdCB7CiAgICBsZWZ0OiAtMTAwJTsKICAgIHJpZ2h0OiBhdXRvOyB9CiAgCiAgLyogNSAtIERST1BET1dOL01FR0FNRU5VIElORElDQVRPUlMKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgLnByaW1hcnktbWVudS1tZW51IGxpIC5pbmRpY2F0b3IgewogICAgY29sb3I6IHJnYmEoMjU1LCAxODYsIDAsIDAuMyk7CiAgICBmb250LWZhbWlseTogIkZvbnRBd2Vzb21lIjsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIG1hcmdpbi1sZWZ0OiA0cHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGluaGVyaXQ7CiAgICB0cmFuc2l0aW9uOiBpbmhlcml0OyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51IGxpIHVsLnN1Yi1tZW51IGxpIC5pbmRpY2F0b3IgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxM3B4OwogICAgcmlnaHQ6IDIwcHg7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC8qIDYgLSBNRUdBTUVOVQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSB7CiAgICB3aWR0aDogMTAwJTsKICAgIGxlZnQ6IDA7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBkaXNwbGF5OiBub25lOwogICAgei1pbmRleDogOTk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxQTFGOwogICAgdG9wOiAxMDAlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDIwcHggODBweCAwIHJnYmEoMCwgMCwgMCwgMC40KTsKICAgIGJveC1zaGFkb3c6IDAgMjBweCA4MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgYm9yZGVyLXJhZGl1czogMTBweDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IHVsIHsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7CiAgICBtYXJnaW46IDA7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAuZ29vZ2xlLnNpdGUtbG9nbyB7CiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LWl0ZW0taW5mbyAubWVnYW1lbnUtaXRlbS1pbmZvLXRpdGxlLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLnN1Yi1tZW51IC5tZWdhbWVudS1pdGVtLWluZm8gLm1lZ2FtZW51LWl0ZW0taW5mby10aXRsZSB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0KICAKICAubWVnYW1lbnUtaXRlbS1pbmZvLXRleHQgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6ICM2NjZkN2E7CiAgICBsaW5lLWhlaWdodDogMS4zOyB9CiAgCiAgLyogNyAtIE1FR0FNRU5VIFdJRFRIUwogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICAvKiBIYWxmIHdpZHRoICovCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUubWVnYW1lbnUtaGFsZi13aWR0aCB7CiAgICB3aWR0aDogNTAlOwogICAgbGVmdDogYXV0bzsgfQogIAogIC8qIFF1YXJ0ZXIgd2lkdGggKi8KICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudS5tZWdhbWVudS1xdWFydGVyLXdpZHRoIHsKICAgIHdpZHRoOiAyNSU7CiAgICBsZWZ0OiBhdXRvOyB9CiAgCiAgLyogOCAtIEdSSUQgU1lTVEVNCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdzpmaXJzdC1jaGlsZCB7CiAgICBtYXJnaW4tdG9wOiAwOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdzphZnRlciB7CiAgICBjbGVhcjogYm90aDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEsCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMiwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wzLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDQsCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNSwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w2LAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDcsCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOCwKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w5LAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEwLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDExLAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWluLWhlaWdodDogMjBweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgcGFkZGluZzogNDBweCAyMHB4IDIwcHg7IH0KICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDE6Zmlyc3QtY2hpbGQsCiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wyOmZpcnN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMzpmaXJzdC1jaGlsZCwKICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDQ6Zmlyc3QtY2hpbGQsCiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1OmZpcnN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNjpmaXJzdC1jaGlsZCwKICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDc6Zmlyc3QtY2hpbGQsCiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w4OmZpcnN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOTpmaXJzdC1jaGlsZCwKICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEwOmZpcnN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTE6Zmlyc3QtY2hpbGQsCiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxMjpmaXJzdC1jaGlsZCB7CiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfQogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMjpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMzpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNDpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNTpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNjpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNzpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sODpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOTpsYXN0LWNoaWxkLAogICAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTA6bGFzdC1jaGlsZCwKICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDExOmxhc3QtY2hpbGQsCiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxMjpsYXN0LWNoaWxkIHsKICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEgewogICAgd2lkdGg6IDEwMCU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wyIHsKICAgIHdpZHRoOiA1MCU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wzIHsKICAgIHdpZHRoOiAzMy4zMyU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w0IHsKICAgIHdpZHRoOiAyNSU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1IHsKICAgIHdpZHRoOiAyMCU7IH0KICAKICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w2IHsKICAgIHdpZHRoOiAxNi42NjY2JTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDcgewogICAgd2lkdGg6IDE0LjI4JTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDggewogICAgd2lkdGg6IDEyLjUlOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOSB7CiAgICB3aWR0aDogMTEuMTExMTElOyB9CiAgCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTAgewogICAgd2lkdGg6IDEwJTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDExIHsKICAgIHdpZHRoOiA5LjA5MDkwOTA5JTsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEyIHsKICAgIHdpZHRoOiA4LjMzMzMzMyU7IH0KICAKICAvKiA5IC0gU0hPVy9ISURFIEJVVFRPTiAoTU9CSUxFIE1PREUpCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC5tZW51LWljb24td3JhcHBlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogMzRweDsKICAgIGhlaWdodDogMzRweDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjFzOwogICAgdHJhbnNpdGlvbjogMC4xczsgfQogIAogIC5tZW51LWljb24td3JhcHBlci5zY2FsZWQgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjUpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9CiAgCiAgLm1lbnUtaWNvbi13cmFwcGVyIHN2ZyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC0zM3B4OwogICAgbGVmdDogLTMzcHg7IH0KICAKICAubWVudS1pY29uLXdyYXBwZXIgc3ZnIHBhdGggewogICAgc3Ryb2tlOiAjNjY2ZDdhOwogICAgc3Ryb2tlLXdpZHRoOiAzMHB4OwogICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgZmlsbDogdHJhbnNwYXJlbnQ7IH0KICAKICAubWVudS1pY29uLXdyYXBwZXIgLm1lbnUtaWNvbi10cmlnZ2VyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgYm9yZGVyOiBub25lOwogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsgfQogIAogIC5tZW51LWljb24td3JhcHBlciBzdmcgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwOwogICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9CiAgCiAgLnNob3doaWRlIC5tb2ItbWVudS0tdGl0bGUgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdG9wOiAycHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KICAKICAucHJpbWFyeS1tZW51IC5zaG93aGlkZSA+IHNwYW4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQogIAogIC5wcmltYXJ5LW1lbnUgLnNob3doaWRlIHsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDA7CiAgICBkaXNwbGF5OiBub25lOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgb3V0bGluZTogbm9uZTsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAKICAvKiAxMCAtIElDT05TIChwYXJlbnQgbWVudSBpdGVtcykKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiBhID4gaSB7CiAgICBtYXJnaW46IDAgNXB4IDAgMDsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZsb2F0OiBsZWZ0OwogICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsgfQogIAogIC8qIDExIC0gU0VBUkNIIEZJRUxECiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC8qIEZvcm0gKi8KICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5zZWFyY2ggZm9ybSB7CiAgICBmbG9hdDogbGVmdDsKICAgIHBhZGRpbmc6IDIycHggMTZweCAxN3B4OyB9CiAgCiAgLyogSW5wdXQgKi8KICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5zZWFyY2ggZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0gewogICAgd2lkdGg6IDE2MHB4OwogICAgcGFkZGluZzogNXB4IDEwcHg7CiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgb3V0bGluZTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMXMgZWFzZS1vdXQ7CiAgICB0cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dDsgfQogIAogIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLnNlYXJjaCBmb3JtOmhvdmVyIGlucHV0W3R5cGU9InRleHQiXSB7CiAgICB3aWR0aDogMTYwcHg7IH0KICAKICAvKiAxMiAtIFZFUlRJQ0FMIFRBQlMKICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAgLnByaW1hcnktbWVudS10YWJzIHsKICAgIHdpZHRoOiAxMDAlOwogICAgZmxvYXQ6IGxlZnQ7IH0KICAKICAucHJpbWFyeS1tZW51LXRhYnMtbmF2IHsKICAgIHdpZHRoOiAyMCU7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgZmxvYXQ6IGxlZnQ7CiAgICBsaXN0LXN0eWxlOiBub25lOyB9CiAgCiAgLnByaW1hcnktbWVudS10YWJzLW5hdiA+IGxpID4gYSB7CiAgICB3aWR0aDogMTAwJTsKICAgIHBhZGRpbmc6IDdweCAxNnB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBjb2xvcjogIzY2NjsKICAgIGJvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7CiAgICBvdXRsaW5lOiAwOyB9CiAgCiAgLnByaW1hcnktbWVudS10YWJzLW5hdiBsaS5hY3RpdmUgYSwKICAucHJpbWFyeS1tZW51LXRhYnMtbmF2IGxpOmhvdmVyIGEgewogICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfQogIAogIC5wcmltYXJ5LW1lbnUtdGFicy1jb250ZW50IHsKICAgIHdpZHRoOiA4MCU7CiAgICBtaW4taGVpZ2h0OiAzMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIGZsb2F0OiByaWdodDsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjBmMGYwOyB9CiAgCiAgLnByaW1hcnktbWVudS10YWJzLWNvbnRlbnQuYWN0aXZlIHsKICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgCiAgLyogMTMgLSBDT0xPUiBTQ0hFTUVTCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogIC8qIGJsdWUgKi8KICAucHJpbWFyeS1tZW51LmJsdWUgLnByaW1hcnktbWVudS1tZW51ID4gbGkuYWN0aXZlID4gYSwKICAucHJpbWFyeS1tZW51LmJsdWUgLnByaW1hcnktbWVudS1tZW51ID4gbGk6aG92ZXIgPiBhLAogIC5wcmltYXJ5LW1lbnUuYmx1ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHsKICAgIGNvbG9yOiAjNEE4OURDOyB9CiAgCiAgLyogZ3JlZW4gKi8KICAucHJpbWFyeS1tZW51LmdyZWVuIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLmFjdGl2ZSA+IGEsCiAgLnByaW1hcnktbWVudS5ncmVlbiAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciA+IGEsCiAgLnByaW1hcnktbWVudS5ncmVlbiAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHsKICAgIGNvbG9yOiAjMzdCQzlCOyB9CiAgCiAgLyogcmVkICovCiAgLnByaW1hcnktbWVudS5yZWQgLnByaW1hcnktbWVudS1tZW51ID4gbGkuYWN0aXZlID4gYSwKICAucHJpbWFyeS1tZW51LnJlZCAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciA+IGEsCiAgLnByaW1hcnktbWVudS5yZWQgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpOmhvdmVyID4gYSB7CiAgICBjb2xvcjogI0U5NTczRjsgfQogIAogIC8qIG9yYW5nZSAqLwogIC5wcmltYXJ5LW1lbnUub3JhbmdlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLmFjdGl2ZSA+IGEsCiAgLnByaW1hcnktbWVudS5vcmFuZ2UgLnByaW1hcnktbWVudS1tZW51ID4gbGk6aG92ZXIgPiBhLAogIC5wcmltYXJ5LW1lbnUub3JhbmdlIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSBsaTpob3ZlciA+IGEgewogICAgY29sb3I6ICNmZjY3MGY7IH0KICAKICAvKiB5ZWxsb3cgKi8KICAucHJpbWFyeS1tZW51LnllbGxvdyAucHJpbWFyeS1tZW51LW1lbnUgPiBsaS5hY3RpdmUgPiBhLAogIC5wcmltYXJ5LW1lbnUueWVsbG93IC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpOmhvdmVyID4gYSwKICAucHJpbWFyeS1tZW51LnllbGxvdyAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHsKICAgIGNvbG9yOiAjRjZCQjQyOyB9CiAgCiAgLyogcHVycGxlICovCiAgLnByaW1hcnktbWVudS5wdXJwbGUgLnByaW1hcnktbWVudS1tZW51ID4gbGkuYWN0aXZlID4gYSwKICAucHJpbWFyeS1tZW51LnB1cnBsZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaTpob3ZlciA+IGEsCiAgLnByaW1hcnktbWVudS5wdXJwbGUgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpOmhvdmVyID4gYSB7CiAgICBjb2xvcjogIzk2N0FEQzsgfQogIAogIC8qIHBpbmsgKi8KICAucHJpbWFyeS1tZW51LnBpbmsgLnByaW1hcnktbWVudS1tZW51ID4gbGkuYWN0aXZlID4gYSwKICAucHJpbWFyeS1tZW51LnBpbmsgLnByaW1hcnktbWVudS1tZW51ID4gbGk6aG92ZXIgPiBhLAogIC5wcmltYXJ5LW1lbnUucGluayAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHsKICAgIGNvbG9yOiAjRDc3MEFEOyB9CiAgCiAgLyogMTQgLSBNT0JJTEUgTU9ERSAoUkVTUE9OU0lWRSBNT0RFKQogID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IGEgewogICAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpIHsKICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7CiAgICAvKiBSZXNwb25zaXZlIG1lbnUgY29udGFpbmVyICovCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUucHJpbWFyeS1tZW51IHsKICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0KICAgIC5wcmltYXJ5LW1lbnUgLnNob3doaWRlIHsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgIC5wcmltYXJ5LW1lbnUgLnByaW1hcnktbWVudS1tZW51IHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlLnByaW1hcnktbWVudSAuY3J1bWluYS1ldmVudC1pdGVtIHsKICAgICAgcGFkZGluZzogMTVweDsgfQogICAgLyogQnJhbmQgKi8KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LWJyYW5kIHsKICAgICAgbWFyZ2luOiA4cHggMzBweCAxMHB4IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtaXRlbS1pbmZvIC5tZWdhbWVudS1pdGVtLWluZm8tdGl0bGUgewogICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEsCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMiwKICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wzLAogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDQsCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNSwKICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w2LAogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDcsCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOCwKICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w5LAogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEwLAogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDExLAogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEyIHsKICAgICAgcGFkZGluZzogNXB4IDIwcHg7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC8qIFNob3cvaGlkZSBidXR0b24gKi8KICAgIC8qIE1lbnUgKi8KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgcGFkZGluZzogMDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhMmUzNzsKICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAxNXB4IDAgMjVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTsKICAgICAgYm94LXNoYWRvdzogMTVweCAwIDI1cHggMCByZ2JhKDAsIDAsIDAsIDAuMyk7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgewogICAgICB0b3A6IDA7IH0KICAgIC8qIHNjcm9sbGFibGUgbWVudSovCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51LnNjcm9sbGFibGUgewogICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAtd2Via2l0LWNhbGMoMTAwJSArIDE1cHgpOwogICAgICB0b3A6IGNhbGMoMTAwJSArIDE1cHgpOwogICAgICBsZWZ0OiAwOwogICAgICBtYXgtaGVpZ2h0OiA2MHZoICFpbXBvcnRhbnQ7IH0KICAgIC5oZWFkZXIuaGVhZGVyLWhhcy10b3BiYXIgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudS5zY3JvbGxhYmxlIHsKICAgICAgdG9wOiAxMDAlOyB9CiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51LnNjcm9sbGFibGUgPiAuc2Nyb2xsYWJsZS1maXggewogICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgLyogTWVudSBpdGVtcyAqLwogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IGEgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgcGFkZGluZzogMThweCAyMHB4OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjU1LCAxODYsIDAsIDAuMSk7CiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IGE6YmVmb3JlIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpOmZpcnN0LWNoaWxkID4gYSB7CiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCByZ2JhKDI1NSwgMTg2LCAwLCAwLjEpOyB9CiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51ID4gbGk6bnRoLWxhc3QtY2hpbGQoMikgPiBhIHsKICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgLyogRHJvcGRvd24gKi8KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUsCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpIHVsLnN1Yi1tZW51IHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYmFja2dyb3VuZDogIzJhMmUzNzsKICAgICAgYm9yZGVyLXJhZGl1czogMDsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSB1bC5zdWItbWVudSB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpIHsKICAgICAgcGFkZGluZzogMDsgfQogICAgLyogRHJvcGRvd24gaXRlbXMgKi8KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmc6IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkgYSB7CiAgICAgIHBhZGRpbmc6IDEwcHggMzBweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggcmdiYSgyNTUsIDE4NiwgMCwgMC4xKTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51LnN1Yi1tZW51LS13aXRoLWljb25zIGxpIC5pY29uLWFycm93LXJpZ2h0LWxpbmUgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51LnN1Yi1tZW51LS13aXRoLWljb25zIHsKICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUuc3ViLW1lbnUtLXdpdGgtaWNvbnMgbGk6bGFzdC1jaGlsZCBhIHsKICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IHJnYmEoMjU1LCAxODYsIDAsIDAuMSk7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUucHJpbWFyeS1tZW51LWluZGVudGVkID4gbGkgPiB1bC5zdWItbWVudSA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaSA+IHVsLnN1Yi1tZW51ID4gbGkgPiBhIHsKICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUucHJpbWFyeS1tZW51LWluZGVudGVkID4gbGkgPiB1bC5zdWItbWVudSA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaSA+IHVsLnN1Yi1tZW51ID4gbGk6aG92ZXIgPiBhIHsKICAgICAgcGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgdWwuc3ViLW1lbnUgbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUgYSB7CiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcm9kdWN0LWl0ZW0tY29udGVudCAudGl0bGUgewogICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAvKiBEcm9wZG93bi9tZWdhbWVudSBpbmRpY2F0b3JzICovCiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51IGxpIC5pbmRpY2F0b3IgewogICAgICB3aWR0aDogNjBweDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAwOwogICAgICB0b3A6IDA7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBsaW5lLWhlaWdodDogNTNweDsKICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCByZ2JhKDI1NSwgMTg2LCAwLCAwLjEpOyB9CiAgICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgbGkgLmluZGljYXRvcjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2ZmYmEwMDsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSBsaSB1bC5zdWItbWVudSBsaSAuaW5kaWNhdG9yIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICByaWdodDogMDsKICAgICAgdG9wOiAtM3B4OwogICAgICBib3JkZXItbGVmdDogbm9uZTsgfQogICAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51IGxpIHVsLnN1Yi1tZW51IGxpIC5pbmRpY2F0b3I6YWZ0ZXIgewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyB9CiAgICAvKiBNZWdhbWVudSAqLwogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gLm1lZ2FtZW51IHsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgbGVmdDogMCAhaW1wb3J0YW50OwogICAgICBwb3NpdGlvbjogc3RhdGljOwogICAgICBib3JkZXItdG9wOiBub25lOwogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IFtjbGFzcyo9ImNvbCJdLAogICAgbmF2LnByaW1hcnktbWVudS1yZXNwb25zaXZlIGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IHVsLm1lZ2EtbWVudS1yb3cgbGkubWVnYS1tZW51LWNvbCB7CiAgICAgIGZsb2F0OiBub25lOwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93OmZpcnN0LWNoaWxkIFtjbGFzcyo9ImNvbCJdOmZpcnN0LWNoaWxkLAogICAgbmF2LnByaW1hcnktbWVudS1yZXNwb25zaXZlIGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IHVsLm1lZ2EtbWVudS1yb3cgbGkubWVnYS1tZW51LWNvbDpmaXJzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHsKICAgICAgbWFyZ2luLXRvcDogMDsgfQogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IC5tZWdhbWVudSB1bCA+IGxpIGEgewogICAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC8qIFNlYXJjaCBmaWVsZCAqLwogICAgLnByaW1hcnktbWVudS1yZXNwb25zaXZlIC5wcmltYXJ5LW1lbnUtbWVudSA+IGxpLnNlYXJjaCBmb3JtIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIHBhZGRpbmc6IDEwcHggMTZweCAhaW1wb3J0YW50OyB9CiAgICAucHJpbWFyeS1tZW51LXJlc3BvbnNpdmUgLnByaW1hcnktbWVudS1tZW51ID4gbGkuc2VhcmNoIGZvcm0gaW5wdXRbdHlwZT0idGV4dCJdIHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIC8qIFRhYnMgKi8KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LXRhYnMtbmF2IHsKICAgICAgd2lkdGg6IDEwMCU7IH0KICAgIC5wcmltYXJ5LW1lbnUtcmVzcG9uc2l2ZSAucHJpbWFyeS1tZW51LXRhYnMtY29udGVudCB7CiAgICAgIHdpZHRoOiAxMDAlOyB9IH0KICAKICAvKiBDU1MzIEFOSU1BVElPTlMgKi8KICAuem9vbS1pbiB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogem9vbUluIDQwMG1zIGVhc2UgYm90aDsKICAgIGFuaW1hdGlvbjogem9vbUluIDQwMG1zIGVhc2UgYm90aDsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4gewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9CiAgCiAgQGtleWZyYW1lcyB6b29tSW4gewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH0KICAKICAuem9vbS1vdXQgewogICAgLXdlYmtpdC1hbmltYXRpb246IHpvb21PdXQgNDAwbXMgZWFzZSBib3RoOwogICAgYW5pbWF0aW9uOiB6b29tT3V0IDQwMG1zIGVhc2UgYm90aDsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNik7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfQogIAogIEBrZXlmcmFtZXMgem9vbU91dCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjYpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfQogIAogIC5kcm9wLXVwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkcm9wLXVwIDQwMG1zIGVhc2UgYm90aDsKICAgIGFuaW1hdGlvbjogZHJvcC11cCA0MDBtcyBlYXNlIGJvdGg7IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgZHJvcC11cCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH0KICAKICBAa2V5ZnJhbWVzIGRyb3AtdXAgewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH0KICAKICAuZHJvcC1sZWZ0IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBkcm9wLWxlZnQgNDAwbXMgZWFzZSBib3RoOwogICAgYW5pbWF0aW9uOiBkcm9wLWxlZnQgNDAwbXMgZWFzZSBib3RoOyB9CiAgCiAgQC13ZWJraXQta2V5ZnJhbWVzIGRyb3AtbGVmdCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7IH0KICAgIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9CiAgCiAgQGtleWZyYW1lcyBkcm9wLWxlZnQgewogICAgMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfQogIAogIC5zd2luZyB7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsKICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpbmcgNDAwbXMgZWFzZS1vdXQgYm90aDsKICAgIGFuaW1hdGlvbjogc3dpbmcgNDAwbXMgZWFzZS1vdXQgYm90aDsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7CiAgICAyMCUsIDQwJSwgNjAlLCA4MCUsIDEwMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7IH0KICAgIDIwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9CiAgICA0MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0KICAgIDYwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0KICAgIDgwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9CiAgCiAgQGtleWZyYW1lcyBzd2luZyB7CiAgICAyMCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9CiAgICA0MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0KICAgIDYwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7CiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9CiAgICA4MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfQogIAogIC5mbGlwIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmbGlwIDcwMG1zIGVhc2UgYm90aDsKICAgIGFuaW1hdGlvbjogZmxpcCA3MDBtcyBlYXNlIGJvdGg7IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7CiAgICAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgICBvcGFjaXR5OiAwOyB9CiAgICA0MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9CiAgICA3MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgb3BhY2l0eTogMTsgfSB9CiAgCiAgQGtleWZyYW1lcyBmbGlwIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsKICAgICAgb3BhY2l0eTogMDsgfQogICAgNDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfQogICAgNzAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7CiAgICAgIG9wYWNpdHk6IDE7IH0gfQogIAogIC5yb2xsLWluIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb2xsLWluIDQwMG1zIGVhc2UgYm90aDsKICAgIGFuaW1hdGlvbjogcm9sbC1pbiA0MDBtcyBlYXNlIGJvdGg7IH0KICAKICBALXdlYmtpdC1rZXlmcmFtZXMgcm9sbC1pbiB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTE1ZGVnKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTE1ZGVnKTsgfQogICAgMTAwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH0gfQogIAogIEBrZXlmcmFtZXMgcm9sbC1pbiB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTE1ZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xNWRlZyk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xNWRlZyk7IH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAxOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH0KICAKICAuc3RyZXRjaCB7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3RyZXRjaCA1MDBtcyBlYXNlIGJvdGg7CiAgICBhbmltYXRpb246IHN0cmV0Y2ggNTAwbXMgZWFzZSBib3RoOwogICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7CiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAlIDAlOyB9CiAgCiAgQGtleWZyYW1lcyBzdHJldGNoIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjMpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjMpOyB9CiAgICA0MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEuMDIpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjAyKTsgfQogICAgNjAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjk4KTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC45OCk7IH0KICAgIDgwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMS4wMSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMDEpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjk4KTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMC45OCk7IH0KICAgIDgwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMS4wMSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMDEpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH0gfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBzdHJldGNoIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjMpOyB9CiAgICA0MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEuMDIpOyB9CiAgICA2MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDAuOTgpOyB9CiAgICA4MCUgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEuMDEpOyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwLjk4KTsgfQogICAgODAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxLjAxKTsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH0gfQogIAogIG5hdiBsaS5tZW51LWl0ZW0taGFzLW1lZ2EtbWVudTpob3ZlciB7CiAgICBwb3NpdGlvbjogc3RhdGljOyB9CiAgCiAgbmF2IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IHVsLm1lZ2EtbWVudS1yb3csCiAgbmF2IGxpLm1lbnUtaXRlbS1oYXMtbWVnYS1tZW51IHVsLm1lZ2EtbWVudS1yb3cgdWwgewogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OwogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7CiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOwogICAgcGFkZGluZzogMDsKICAgIGZsb2F0OiBub25lOwogICAgbGVmdDogMCAhaW1wb3J0YW50OwogICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwogICAgLW1zLXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OyB9CiAgCiAgLm1lZ2EtbWVudS1jb2wgewogICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgIHdpZHRoOiAxcHg7IH0KICAKICBuYXYgbGkubWVudS1pdGVtLWhhcy1tZWdhLW1lbnUgdWwubWVnYS1tZW51LXJvdyAubWVnYS1tZW51LWNvbCB1bCB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogICAgd2lkdGg6IDEwMCU7IH0KICAKICBuYXYgbGkubWVudS1pdGVtLWhhcy1tZWdhLW1lbnUgdWwubWVnYS1tZW51LXJvdyBsaSB7CiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH0KICAKICAucHJvZHVjdC1pdGVtIHsKICAgIHBhZGRpbmc6IDM1cHggMjBweDsKICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVEFCUyAtLS0tLS0tLS0tLS0tLSovCiAgLnRhYnMgewogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLnRhYnMgdWwgewogICAgICBsaXN0LXN0eWxlOiBub25lOwogICAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgICAgLnRhYnMgdWwgbGkgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9CiAgICAgICAgLnRhYnMgdWwgbGkgYSB7CiAgICAgICAgICBsaW5lLWhlaWdodDogMTsgfQogICAgICAgIC50YWJzIHVsIGxpLmxlc3NvbnNfX2l0ZW0gewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9CiAgCiAgLnRhYi10aXRsZSB7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfQogICAgLnRhYi10aXRsZSA+ICogewogICAgICAtd2Via2l0LXRyYW5zaXRpb246IGluaGVyaXQ7CiAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7IH0KICAKICAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUgewogICAgZGlzcGxheTogbm9uZTsgfQogICAgLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lLmFjdGl2ZSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgICAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUuZmFkZSB7CiAgICAgIG9wYWNpdHk6IDE7IH0KICAKICAudGFicy0tc3R5bGUxIHsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OwogICAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogICAgLnRhYnMtLXN0eWxlMSAudGFiLWNvbnRlbnQtdGl0bGUgewogICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9CiAgICAgIC50YWJzLS1zdHlsZTEgLnRhYi1jb250ZW50LXRpdGxlID4gc3BhbiB7CiAgICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAgIC50YWJzLS1zdHlsZTEgLmFjdGlvbi1saW5rIHsKICAgICAgbWFyZ2luLXRvcDogNTBweDsgfQogICAgLnRhYnMtLXN0eWxlMSB1bCB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9CiAgICAgIC50YWJzLS1zdHlsZTEgdWwgbGkgKyBsaSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0KICAgICAgLnRhYnMtLXN0eWxlMSB1bCBhIHsKICAgICAgICBwYWRkaW5nOiAxM3B4IDI4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTIxMjY7IH0KICAgICAgICAudGFicy0tc3R5bGUxIHVsIGEgLnRhYi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBtYXJnaW46IDA7IH0KICAgICAgICAudGFicy0tc3R5bGUxIHVsIGE6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAgIC50YWJzLS1zdHlsZTEgdWwgYTphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAudGFicy0tc3R5bGUxIHVsIC5hY3RpdmUgYSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogIAogIC50YWJzLS1zdHlsZTIgewogICAgcGFkZGluZzogODBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgICAudGFicy0tc3R5bGUyIC50YWItY29udGVudCAuYnRuIHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsgfQogICAgLnRhYnMtLXN0eWxlMiAudGFiLWNvbnRlbnQtdGl0bGUgPiBzcGFuIHsKICAgICAgY29sb3I6ICNmZmY7IH0KICAgIC50YWJzLS1zdHlsZTIgdWwgewogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgewogICAgICAgIHdpZHRoOiAxMDAlOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlMiB1bCBsaSBhIHsKICAgICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYTphZnRlciB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ0NTE7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYSAudGFiLXRpdGxlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9CiAgICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYSAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICAgIGNvbG9yOiAjNjY2ZDdhOyB9CiAgICAgICAgICAudGFicy0tc3R5bGUyIHVsIGxpIGE6aG92ZXIgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYTpob3ZlciAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYTpob3ZlcjphZnRlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYTphY3RpdmUgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkgYTphY3RpdmUgLnRhYi10aXRsZSA+IHNwYW4gewogICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgICAudGFicy0tc3R5bGUyIHVsIGxpIGE6YWN0aXZlOmFmdGVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAgIC50YWJzLS1zdHlsZTIgdWwgbGkuYWN0aXZlIGEgLnRhYi10aXRsZSB7CiAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgLnRhYnMtLXN0eWxlMiB1bCBsaS5hY3RpdmUgYSAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlMiB1bCBsaS5hY3RpdmUgYTphZnRlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLnRhYnMtLXN0eWxlMyB7CiAgICBwYWRkaW5nOiAwOwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgb3ZlcmZsb3c6IHZpc2libGU7IH0KICAgIC50YWJzLS1zdHlsZTMgLmN1cnJlbmN5LWRldGFpbHMtLWlubGluZSB7CiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0KICAgIC50YWJzLS1zdHlsZTMgLnRhYi1jb250ZW50IHsKICAgICAgcGFkZGluZzogODBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMjBweDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsgfQogICAgLnRhYnMtLXN0eWxlMyAudGFiLWNvbnRlbnQtdGl0bGUgewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgLnRhYnMtLXN0eWxlMyB1bCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgICAgLnRhYnMtLXN0eWxlMyB1bCBsaSArIGxpIHsKICAgICAgICBtYXJnaW4tbGVmdDogLTVweDsgfQogICAgICAudGFicy0tc3R5bGUzIHVsIGxpIGEgewogICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMTE0OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGkgYSAudGFiLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfQogICAgICAgICAgLnRhYnMtLXN0eWxlMyB1bCBsaSBhIC50YWItdGl0bGUgPiBzcGFuIHsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGkgYTphZnRlciB7CiAgICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgd2lkdGg6IDcwJTsKICAgICAgICAgIGhlaWdodDogMnB4OwogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsKICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOwogICAgICAgICAgb3BhY2l0eTogMDsgfQogICAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGkgYTpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OyB9CiAgICAgICAgICAudGFicy0tc3R5bGUzIHVsIGxpIGE6aG92ZXIgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGkgYTpob3ZlciAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgLnRhYnMtLXN0eWxlMyB1bCBsaS5hY3RpdmUgYSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsgfQogICAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGkuYWN0aXZlIGEgLnRhYi10aXRsZSB7CiAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgLnRhYnMtLXN0eWxlMyB1bCBsaS5hY3RpdmUgYSAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlMyB1bCBsaS5hY3RpdmUgYTphZnRlciB7CiAgICAgICAgICBvcGFjaXR5OiAxOyB9CiAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGk6bGFzdC1jaGlsZCBhIHsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMCAwOyB9CiAgICAgIC50YWJzLS1zdHlsZTMgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMDsgfQogIAogIC50YWJzLS1zdHlsZTQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgYm9yZGVyLXJhZGl1czogMDsKICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgcGFkZGluZzogNjBweCAxMjBweDsgfQogICAgLnRhYnMtLXN0eWxlNCB1bCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgICAgLnRhYnMtLXN0eWxlNCB1bCBsaSBhIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjZmZiYTAwOwogICAgICAgIHBhZGRpbmc6IDVweCAwOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlNCB1bCBsaSBhIC50YWItdGl0bGUgewogICAgICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgICAgICBtYXJnaW46IDA7IH0KICAgICAgICAudGFicy0tc3R5bGU0IHVsIGxpIGE6aG92ZXIgewogICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTQgdWwgbGkgYTpob3ZlciAudGFiLXRpdGxlIHsKICAgICAgICAgICAgY29sb3I6ICNjM2M5ZDQ7IH0KICAgICAgICAudGFicy0tc3R5bGU0IHVsIGxpIGE6YWN0aXZlIHsKICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgICAgICAgICAudGFicy0tc3R5bGU0IHVsIGxpIGE6YWN0aXZlIC50YWItdGl0bGUgewogICAgICAgICAgICBjb2xvcjogI2MzYzlkNDsgfQogICAgICAudGFicy0tc3R5bGU0IHVsIGxpLmFjdGl2ZSB7CiAgICAgICAgei1pbmRleDogMTA7IH0KICAgICAgICAudGFicy0tc3R5bGU0IHVsIGxpLmFjdGl2ZSBhIHsKICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgICAgICAgICAudGFicy0tc3R5bGU0IHVsIGxpLmFjdGl2ZSBhIC50YWItdGl0bGUgewogICAgICAgICAgICBjb2xvcjogI2MzYzlkNDsgfQogICAgICAudGFicy0tc3R5bGU0IHVsIGxpICsgbGkgewogICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9CiAgICAudGFicy0tc3R5bGU0IC5hY3Rpb24tbGluayB7CiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0KICAgIC50YWJzLS1zdHlsZTQgLnRhYi1jb250ZW50IC5idG4gewogICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9CiAgCiAgLnRhYnMtLXN0eWxlNSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIHBhZGRpbmc6IDYwcHggMDsKICAgIGJvcmRlci1yYWRpdXM6IDA7IH0KICAgIC50YWJzLS1zdHlsZTUgPiB1bCB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgICAgLnRhYnMtLXN0eWxlNSA+IHVsIGxpIHsKICAgICAgICB3aWR0aDogMTAwJTsgfQogICAgICAgIC50YWJzLS1zdHlsZTUgPiB1bCBsaSBhIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9CiAgICAgICAgICAudGFicy0tc3R5bGU1ID4gdWwgbGkgYTphZnRlciB7CiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDQ0NTE7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsKICAgICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTUgPiB1bCBsaSBhIC50YWItdGl0bGUgPiBzcGFuIHsKICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTUgPiB1bCBsaSBhOmhvdmVyOmFmdGVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgLnRhYnMtLXN0eWxlNSA+IHVsIGxpIGE6aG92ZXIgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAudGFicy0tc3R5bGU1ID4gdWwgbGkgYTphY3RpdmU6YWZ0ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAudGFicy0tc3R5bGU1ID4gdWwgbGkgYTphY3RpdmUgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlNSA+IHVsIGxpLmFjdGl2ZSBhOmFmdGVyIHsKICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAudGFicy0tc3R5bGU1ID4gdWwgbGkuYWN0aXZlIGEgLnRhYi10aXRsZSB7CiAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogIAogIC50YWJzLS1zdHlsZTYgewogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfQogICAgLnRhYnMtLXN0eWxlNiA+IHVsIHsKICAgICAgbWluLXdpZHRoOiAyMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgICAgLnRhYnMtLXN0eWxlNiA+IHVsIGxpIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsgfQogICAgICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaSBhIHsKICAgICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjEyMzJiOwogICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMDExMTQ7IH0KICAgICAgICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaSBhIC50YWItdGl0bGUgewogICAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH0KICAgICAgICAgICAgLnRhYnMtLXN0eWxlNiA+IHVsIGxpIGEgLnRhYi10aXRsZSA+IHNwYW4gewogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgICBjb2xvcjogIzY2NmQ3YTsgfQogICAgICAgICAgLnRhYnMtLXN0eWxlNiA+IHVsIGxpIGE6aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OwogICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYTpob3ZlciAudGFiLXRpdGxlIHsKICAgICAgICAgICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaSBhOmhvdmVyIC50YWItdGl0bGUgPiBzcGFuIHsKICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOyB9CiAgICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYTphY3RpdmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OwogICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYTphY3RpdmUgLnRhYi10aXRsZSB7CiAgICAgICAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAgICAgICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYTphY3RpdmUgLnRhYi10aXRsZSA+IHNwYW4gewogICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkuYWN0aXZlIGEgewogICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMTQxODsKICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkuYWN0aXZlIGEgLnRhYi10aXRsZSB7CiAgICAgICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAgICAgICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaS5hY3RpdmUgYSAudGFiLXRpdGxlID4gc3BhbiB7CiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7IH0KICAgICAgICAudGFicy0tc3R5bGU2ID4gdWwgbGk6Zmlyc3QtY2hpbGQgYSB7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlNiA+IHVsIGxpOmxhc3QtY2hpbGQgYSB7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAyMHB4OyB9CiAgICAudGFicy0tc3R5bGU2IC50YWItY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDEyMHB4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNDE4OwogICAgICBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAyMHB4OyB9CiAgCiAgLnRhYnMtLXN0eWxlLXNjYWxlZCAudGFiLWNvbnRlbnQgewogICAgcGFkZGluZzogMTIwcHggODBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzE0MTg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9CiAgCiAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0KICAgIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaTpob3ZlciBhIC50YWItdGl0bGUsIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaS5hY3RpdmUgYSAudGFiLXRpdGxlIHsKICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgIHRvcDogMTAwJTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsKICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfQogICAgICAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGk6aG92ZXIgYSAudGFiLXRpdGxlIHNwYW4sIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaS5hY3RpdmUgYSAudGFiLXRpdGxlIHNwYW4gewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgICAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGk6aG92ZXIgYSAudGFiLXRodW1iLCAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGkuYWN0aXZlIGEgLnRhYi10aHVtYiB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgICAgIGJvcmRlci1jb2xvcjogI2ZmYmEwMDsgfQogICAgICAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGk6aG92ZXIgYSAudGFiLXRodW1iIC53b294LWljb24sIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaS5hY3RpdmUgYSAudGFiLXRodW1iIC53b294LWljb24gewogICAgICAgIGZpbGw6ICNmZmJhMDA7IH0KICAgIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaSBhIHsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aXRsZSBzcGFuIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgY29sb3I6ICM2NjZkN2E7IH0KICAgICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aHVtYiB7CiAgICAgICAgd2lkdGg6IDE2MHB4OwogICAgICAgIGhlaWdodDogMTYwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDsKICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDsKICAgICAgICBib3JkZXI6IDEwcHggZG91YmxlICMzZDQzNGY7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9CiAgICAgICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aHVtYiAud29veC1pY29uIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgICAgd2lkdGg6IDEwMHB4OwogICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICAgIGZpbGw6ICMzZDQzNGY7IH0KICAgIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaSArIGxpIHsKICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH0KICAKICAudmFsdWUtZ3Jvd3RoIHsKICAgIG1hcmdpbjogMDsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogICAgLnZhbHVlLWdyb3d0aCAuZ3Jvd3RoIHsKICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICBjb2xvcjogIzNjYjQ0ZTsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9CiAgCiAgLnRhYi1jb250ZW50LXRpdGxlIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIG1hcmdpbi1ib3R0b206IDYwcHg7IH0KICAgIC50YWItY29udGVudC10aXRsZSA+IHNwYW4gewogICAgICBjb2xvcjogI2ZmYmEwMDsKICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0KICAgIC50YWItY29udGVudC10aXRsZSArIC52YWx1ZS1ncm93dGggewogICAgICBtYXJnaW4tbGVmdDogNTBweDsgfQogICAgLnRhYi1jb250ZW50LXRpdGxlIC53b294LWljb24gewogICAgICB3aWR0aDogMzBweDsKICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICBtYXJnaW4tbGVmdDogMzBweDsKICAgICAgZmlsbDogIzNkNDM0ZjsgfQogIAogIC5jdXJyZW5jeS1kZXRhaWxzIHsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBwYWRkaW5nOiA2MHB4IDAgMCAwOwogICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwogICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9CiAgICAuY3VycmVuY3ktZGV0YWlscyAuY3VycmVuY3ktZGV0YWlscy1pdGVtICsgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSB7CiAgICAgIG1hcmdpbi1sZWZ0OiA1NXB4OyB9CiAgICAuY3VycmVuY3ktZGV0YWlscyAuY3VycmVuY3ktZGV0YWlscy1pdGVtIC50aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgY29sb3I6ICM2NjZkN2E7CiAgICAgIG1hcmdpbi10b3A6IDA7IH0KICAgIC5jdXJyZW5jeS1kZXRhaWxzIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnZhbHVlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfQogICAgLmN1cnJlbmN5LWRldGFpbHMgLmN1cnJlbmN5LWRldGFpbHMtaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgcGFkZGluZy1ib3R0b206IDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0KICAKICAuY3VycmVuY3ktZGV0YWlscy0taW5saW5lIHsKICAgIHBhZGRpbmc6IDQwcHggMDsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTsKICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjEyMzJiOyB9CiAgICAuY3VycmVuY3ktZGV0YWlscy0taW5saW5lIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gewogICAgICBwYWRkaW5nLWJvdHRvbTogMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfQogICAgICAuY3VycmVuY3ktZGV0YWlscy0taW5saW5lIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7IH0KICAgICAgLmN1cnJlbmN5LWRldGFpbHMtLWlubGluZSAuY3VycmVuY3ktZGV0YWlscy1pdGVtIC52YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9CiAgCiAgLmFjdGlvbi1saW5rIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiByZ2JhKDI1NSwgMTg2LCAwLCAwLjcpOyB9CiAgICAuYWN0aW9uLWxpbms6aG92ZXIgewogICAgICBjb2xvcjogI2ZmYmEwMDsgfQogICAgICAuYWN0aW9uLWxpbms6aG92ZXIgLndvb3gtaWNvbiB7CiAgICAgICAgZmlsbDogI2ZmYmEwMDsgfQogICAgLmFjdGlvbi1saW5rIC53b294LWljb24gewogICAgICBmaWxsOiByZ2JhKDI1NSwgMTg2LCAwLCAwLjcpOwogICAgICB3aWR0aDogMTJweDsKICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICBtYXJnaW4tbGVmdDogMjBweDsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkgewogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aHVtYiB7CiAgICAgIHdpZHRoOiA5MHB4OwogICAgICBoZWlnaHQ6IDkwcHg7CiAgICAgIG1heC13aWR0aDogOTBweDsKICAgICAgbWF4LWhlaWdodDogOTBweDsKICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7IH0KICAgIC50YWJzLS1zdHlsZS1zY2FsZWQgPiB1bCBsaSBhIC50YWItdGh1bWIgLndvb3gtaWNvbiB7CiAgICAgIHdpZHRoOiA1MHB4OwogICAgICBoZWlnaHQ6IDUwcHg7CiAgICAgIG1heC13aWR0aDogNTBweDsKICAgICAgbWF4LWhlaWdodDogNTBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkgewogICAgLnRhYnMtLXN0eWxlMSB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0KICAgIC50YWJzLS1zdHlsZTQgdWwgewogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9CiAgICAudGFicy0tc3R5bGU0IHsKICAgICAgcGFkZGluZzogNDBweDsgfQogICAgLnRhYnMtLXN0eWxlMSB1bCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0KICAgIC50YWJzLS1zdHlsZTEgLnRhYi1jb250ZW50LXRpdGxlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfQogICAgLnRhYnMtLXN0eWxlNiAudGFiLWNvbnRlbnQgewogICAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYSAudGFiLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNnB4OyB9CiAgICAudGFicy0tc3R5bGU2ID4gdWwgbGkgYSB7CiAgICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfQogICAgLnRhYnMtLXN0eWxlMyAudGFiLWNvbnRlbnQgewogICAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAudGFicy0tc3R5bGUzIHVsIGxpIGEgLnRhYi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLnRhYnMtLXN0eWxlMyB1bCBsaSBhIHsKICAgICAgcGFkZGluZzogMTVweCAyMHB4OyB9CiAgICAudGFiLWNvbnRlbnQtdGl0bGUgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAudGFicy0tc3R5bGUzIC5jdXJyZW5jeS1kZXRhaWxzLS1pbmxpbmUgewogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAudGFicy0tc3R5bGUyIHVsIGxpIGEgLnRhYi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLnRhYnMtLXN0eWxlMiB1bCBsaSBhIHsKICAgICAgcGFkZGluZzogMCAwIDEwcHg7IH0KICAgIC50YWJzLS1zdHlsZTIgewogICAgICBwYWRkaW5nOiA0MHB4OyB9CiAgICAuY3VycmVuY3ktZGV0YWlscyAuY3VycmVuY3ktZGV0YWlscy1pdGVtICsgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSB7CiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9CiAgICAuY3VycmVuY3ktZGV0YWlscy0taW5saW5lIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnRpdGxlLAogICAgLmN1cnJlbmN5LWRldGFpbHMtLWlubGluZSAuY3VycmVuY3ktZGV0YWlscy1pdGVtIC52YWx1ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLmN1cnJlbmN5LWRldGFpbHMtLWlubGluZSB7CiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkgewogICAgLmN1cnJlbmN5LWRldGFpbHMgewogICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgZmxleC13cmFwOiB3cmFwOyB9CiAgICAuY3VycmVuY3ktZGV0YWlscyAuY3VycmVuY3ktZGV0YWlscy1pdGVtIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLmN1cnJlbmN5LWRldGFpbHMgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSArIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gewogICAgICBtYXJnaW4tbGVmdDogMDsgfQogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCAudGFiLWNvbnRlbnQgewogICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgewogICAgLnRhYnMtLXN0eWxlNiB7CiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9CiAgICAudGFicy0tc3R5bGU2ID4gdWwgewogICAgICBtaW4td2lkdGg6IHVuc2V0OyB9CiAgICAudGFicy0tc3R5bGU2IC50YWItY29udGVudCB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDIwcHg7IH0KICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaTpsYXN0LWNoaWxkIGEgewogICAgICBib3JkZXItcmFkaXVzOiAwOyB9CiAgICAudGFicy0tc3R5bGU2ID4gdWwgbGk6Zmlyc3QtY2hpbGQgYSB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7IH0KICAgIC50YWJzLS1zdHlsZTYgPiB1bCBsaSBhIHsKICAgICAgcGFkZGluZzogMTBweCAzMHB4OyB9CiAgICAudGFicy0tc3R5bGUxIHVsIGEgLnRhYi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLnRhYnMtLXN0eWxlMSB1bCB7CiAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsOwogICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9CiAgICAudGFicy0tc3R5bGUxIHVsIGxpIGEgewogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC50YWJzLS1zdHlsZTEgdWwgbGkgKyBsaSB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAudGFicy0tc3R5bGUxIC5hY3Rpb24tbGluayB7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAudGFicy0tc3R5bGUtc2NhbGVkIC50YWItY29udGVudCB7CiAgICAgIHBhZGRpbmc6IDIwcHg7IH0KICAgIC5jdXJyZW5jeS1kZXRhaWxzIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gLnRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNnB4OyB9CiAgICAudmFsdWUtZ3Jvd3RoIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0KICAgIC50YWItY29udGVudC10aXRsZSArIC52YWx1ZS1ncm93dGggewogICAgICBtYXJnaW4tbGVmdDogMDsgfQogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpICsgbGksCiAgICAudGFicy0tc3R5bGU0IHVsIGxpICsgbGkgewogICAgICBtYXJnaW4tbGVmdDogMjBweDsgfQogICAgLnRhYnMtLXN0eWxlNSA+IHVsIGxpIGEgLnRhYi10aXRsZSA+IHNwYW4gewogICAgICBmb250LXNpemU6IDExcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aHVtYiB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIG1heC13aWR0aDogNjBweDsKICAgICAgbWF4LWhlaWdodDogNjBweDsgfQogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpIGEgLnRhYi10aHVtYiAud29veC1pY29uIHsKICAgICAgd2lkdGg6IDMwcHg7CiAgICAgIGhlaWdodDogMzBweDsKICAgICAgbWF4LXdpZHRoOiAzMHB4OwogICAgICBtYXgtaGVpZ2h0OiAzMHB4OyB9CiAgICAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGkgYSAudGFiLXRpdGxlIHsKICAgICAgZGlzcGxheTogbm9uZTsgfQogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLnRhYnMtLXN0eWxlLXNjYWxlZCA+IHVsIGxpICsgbGksCiAgICAudGFicy0tc3R5bGU0IHVsIGxpICsgbGkgewogICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDU0MHB4KSB7CiAgICAudGFicy0tc3R5bGUzIHVsIGxpIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgLnRhYnMtLXN0eWxlMyB1bCBsaSBhIHsKICAgICAgcGFkZGluZzogNXB4IDIwcHg7IH0KICAgIC50YWJzLS1zdHlsZTMgdWwgbGkgKyBsaSB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9CiAgICAudGFicy0tc3R5bGUzIHVsIGxpIGEgewogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9CiAgICAudGFicy0tc3R5bGUzIHVsIGxpOmZpcnN0LWNoaWxkIGEgewogICAgICBib3JkZXItcmFkaXVzOiA1MHB4OyB9CiAgICAudGFicy0tc3R5bGUzIHVsIGxpOmxhc3QtY2hpbGQgYSB7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH0KICAgIC50YWJzLS1zdHlsZTMgLnRhYi1jb250ZW50IHsKICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfQogICAgLnRhYnMtLXN0eWxlMyAuY29udGVudC1hbGlnbi1qdXN0aWZ5IHsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsKICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7CiAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDsKICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0OwogICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfQogICAgICAudGFicy0tc3R5bGUzIC5jb250ZW50LWFsaWduLWp1c3RpZnkgPiAqIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAgICAgLnRhYnMtLXN0eWxlMyAuY29udGVudC1hbGlnbi1qdXN0aWZ5ID4gKjpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgIC5jdXJyZW5jeS1kZXRhaWxzLS1pbmxpbmUgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAgIC5jdXJyZW5jeS1kZXRhaWxzLS1pbmxpbmUgLmN1cnJlbmN5LWRldGFpbHMtaXRlbSArIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gewogICAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0KICAgIC5jdXJyZW5jeS1kZXRhaWxzIC5jdXJyZW5jeS1kZXRhaWxzLWl0ZW0gKyAuY3VycmVuY3ktZGV0YWlscy1pdGVtIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0KICAgIC50YWJzLS1zdHlsZTIgdWwgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfQogICAgICAudGFicy0tc3R5bGUyIHVsIGxpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAgICAgLnRhYnMtLXN0eWxlMiB1bCBsaTpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgIC50YWJzLS1zdHlsZTQgdWwgbGkgYSB7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLnRhYnMtLXN0eWxlNSA+IHVsIGxpIGEgewogICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ2MHB4KSB7CiAgICAudGFicy0tc3R5bGUtc2NhbGVkID4gdWwgbGkgYSAudGFiLXRodW1iIHsKICAgICAgd2lkdGg6IDQwcHg7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgbWF4LXdpZHRoOiA0MHB4OwogICAgICBtYXgtaGVpZ2h0OiA0MHB4OyB9CiAgICAudGFicy0tc3R5bGU1ID4gdWwgewogICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsKICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcDsKICAgICAgZmxleC13cmFwOiB3cmFwOyB9CiAgICAgIC50YWJzLS1zdHlsZTUgPiB1bCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgICAgIC50YWJzLS1zdHlsZTUgPiB1bCBsaTpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjRk9PVEVSIC0tLS0tLS0tLS0tLS0tKi8KICAuZm9vdGVyIHsKICAgIHBhZGRpbmc6IDIwMHB4IDA7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjb2xvcjogI2MzYzlkNDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2JvZHktYmcucG5nKTsgfQogICAgLmZvb3RlciAud2lkZ2V0IHsKICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfQogICAgLmZvb3RlciAjY2FuIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBsZWZ0OiAwOwogICAgICBvcGFjaXR5OiAxOwogICAgICB6LWluZGV4OiAtMTsKICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH0KICAKICAuc3ViLWZvb3RlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjb2xvcjogI2ZmZjsgfQogICAgLnN1Yi1mb290ZXIgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgIC5zdWItZm9vdGVyIGEgewogICAgICBmb250LXdlaWdodDogNzAwOyB9CiAgICAgIC5zdWItZm9vdGVyIGE6aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZiYTAwOyB9CiAgCiAgLmxvZ28tZGVzaWduIHsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9CiAgICAubG9nby1kZXNpZ24gaW1nIHsKICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4OwogICAgICB3aWR0aDogNDBweDsKICAgICAgaGVpZ2h0OiA0MHB4OyB9CiAgICAubG9nby1kZXNpZ24gLnN1cC10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7IH0KICAgIC5sb2dvLWRlc2lnbi5sb2dvLWRlc2lnbi1jcnVtaW5hIHsKICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogNzk5cHgpIHsKICAgIC5mb290ZXIgLndpZGdldCB7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfQogICAgLnctaW5mbyAuc2l0ZS1sb2dvIHsKICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOwogICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9CiAgICAuc3ViLWZvb3RlciB7CiAgICAgIHBhZGRpbmc6IDA7IH0KICAgIC5mb290ZXIgewogICAgICBwYWRkaW5nOiAzMHB4IDAgNTBweDsgfQogICAgLnN1Yi1mb290ZXIgLmRpdmlkZXIgewogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9CiAgICAuY29weXJpZ2h0LXdyYXBwZXIgewogICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgICAgLmNvcHlyaWdodC13cmFwcGVyID4gKiArICogewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkgewogICAgLmxvZ28tZGVzaWduIGltZyB7CiAgICAgIHdpZHRoOiAzMHB4OwogICAgICBoZWlnaHQ6IDMwcHg7CiAgICAgIG1hcmdpbi1yaWdodDogN3B4OyB9CiAgICAubG9nby1kZXNpZ24gLmxvZ28tdGl0bGUgewogICAgICBmb250LXNpemU6IDEycHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjUEFHRSA0MDQgLS0tLS0tLS0tLS0tLS0qLwogIC5wYWdlLW5vdC1mb3VuZCB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy80MDQtYmcucG5nIik7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOwogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgdGV4dC1hbGlnbjogY2VudGVyOyB9CiAgICAucGFnZS1ub3QtZm91bmQgLmNydW1pbmEtaGVhZGluZyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgIC5wYWdlLW5vdC1mb3VuZCAuc2l0ZS1sb2dvIHsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OwogICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgIC5wYWdlLW5vdC1mb3VuZCAudy1jb250YWN0cyB7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgIC5wYWdlLW5vdC1mb3VuZCAuYnRuIHsKICAgICAgbWFyZ2luLXRvcDogMDsgfQogICAgLnBhZ2Utbm90LWZvdW5kIC5zdWItZm9vdGVyIHsKICAgICAgbWFyZ2luLXRvcDogNDBweDsgfQogIAogIC5wYWdlLTQwNC10aHVtYiB7CiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9CiAgCiAgLnBhZ2Utbm90LWZvdW5kLWNvbnRlbnQgewogICAgbWluLWhlaWdodDogMTAwdmg7CiAgICBwYWRkaW5nOiA0MHB4IDA7CiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgZGlzcGxheTogZmxleDsKICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsKICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIC8qLS0tLS0tLS0tLS0tLSAjTUFHTklGSUMtUE9QVVAgLS0tLS0tLS0tLS0tLS0qLwogIDpmb2N1cyB7CiAgICBvdXRsaW5lOiAwOyB9CiAgCiAgLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovCiAgLm1mcC1iZyB7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAxMDQyOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIGJhY2tncm91bmQ6ICMwYjBiMGI7CiAgICBvcGFjaXR5OiAwLjg7IH0KICAKICAubWZwLXdyYXAgewogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTA0MzsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9CiAgCiAgLm1mcC1jb250YWluZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBsZWZ0OiAwOwogICAgdG9wOiAwOwogICAgcGFkZGluZzogMCA4cHg7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9CiAgCiAgLm1mcC1jb250YWluZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgaGVpZ2h0OiAxMDAlOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfQogIAogIC5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7CiAgICBkaXNwbGF5OiBub25lOyB9CiAgCiAgLm1mcC1jb250ZW50IHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBtYXJnaW46IDAgYXV0bzsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICB6LWluZGV4OiAxMDQ1OyB9CiAgCiAgLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCwKICAubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7CiAgICB3aWR0aDogMTAwJTsKICAgIGN1cnNvcjogYXV0bzsgfQogIAogIC5tZnAtYWpheC1jdXIgewogICAgY3Vyc29yOiBwcm9ncmVzczsgfQogIAogIC5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHsKICAgIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDsKICAgIGN1cnNvcjogem9vbS1vdXQ7IH0KICAKICAubWZwLXpvb20gewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47CiAgICBjdXJzb3I6IHpvb20taW47IH0KICAKICAubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7CiAgICBjdXJzb3I6IGF1dG87IH0KICAKICAubWZwLWNsb3NlLAogIC5tZnAtYXJyb3csCiAgLm1mcC1wcmVsb2FkZXIsCiAgLm1mcC1jb3VudGVyIHsKICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgdXNlci1zZWxlY3Q6IG5vbmU7IH0KICAKICAubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7CiAgICBkaXNwbGF5OiBub25lOyB9CiAgCiAgLm1mcC1oaWRlIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfQogIAogIC5tZnAtcHJlbG9hZGVyIHsKICAgIGNvbG9yOiAjZmZkNjY2OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICB3aWR0aDogYXV0bzsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIG1hcmdpbi10b3A6IC0wLjhlbTsKICAgIGxlZnQ6IDhweDsKICAgIHJpZ2h0OiA4cHg7CiAgICB6LWluZGV4OiAxMDQ0OyB9CiAgCiAgLm1mcC1wcmVsb2FkZXIgYSB7CiAgICBjb2xvcjogI2ZmZDY2NjsgfQogIAogIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIgewogICAgY29sb3I6ICNmZmQ2NjY7IH0KICAKICAubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIgewogICAgZGlzcGxheTogbm9uZTsgfQogIAogIC5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQgewogICAgZGlzcGxheTogbm9uZTsgfQogIAogIGJ1dHRvbi5tZnAtY2xvc2UsCiAgYnV0dG9uLm1mcC1hcnJvdyB7CiAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgYm9yZGVyOiAwOwogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBvdXRsaW5lOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIHotaW5kZXg6IDEwNDY7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7CiAgICBib3gtc2hhZG93OiBub25lOwogICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOwogICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH0KICAKICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogICAgcGFkZGluZzogMDsKICAgIGJvcmRlcjogMDsgfQogIAogIC5tZnAtY2xvc2UgewogICAgd2lkdGg6IDQ0cHg7CiAgICBoZWlnaHQ6IDQ0cHg7CiAgICBsaW5lLWhlaWdodDogNDRweDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAwOwogICAgdG9wOiAwOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgb3BhY2l0eTogMC42NTsKICAgIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7CiAgICBjb2xvcjogI0ZGRjsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtc2l6ZTogMjhweDsKICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsKICAgIGN1cnNvcjogcG9pbnRlcjsgfQogIAogIC5tZnAtY2xvc2U6aG92ZXIsCiAgLm1mcC1jbG9zZTpmb2N1cyB7CiAgICBvcGFjaXR5OiAxOyB9CiAgCiAgLm1mcC1jbG9zZTphY3RpdmUgewogICAgdG9wOiAxcHg7IH0KICAKICAubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHsKICAgIGNvbG9yOiAjMzMzOyB9CiAgCiAgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSwKICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7CiAgICBjb2xvcjogI0ZGRjsKICAgIHJpZ2h0OiAtNnB4OwogICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7CiAgICB3aWR0aDogMTAwJTsgfQogIAogIC5tZnAtY291bnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDA7CiAgICByaWdodDogMDsKICAgIGNvbG9yOiAjQ0NDOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9CiAgCiAgLm1mcC1hcnJvdyB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBvcGFjaXR5OiAwLjY1OwogICAgbWFyZ2luOiAwOwogICAgdG9wOiA1MCU7CiAgICBtYXJnaW4tdG9wOiAtNTVweDsKICAgIHBhZGRpbmc6IDA7CiAgICB3aWR0aDogOTBweDsKICAgIGhlaWdodDogMTEwcHg7CiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9CiAgCiAgLm1mcC1hcnJvdzphY3RpdmUgewogICAgbWFyZ2luLXRvcDogLTU0cHg7IH0KICAKICAubWZwLWFycm93OmhvdmVyLAogIC5tZnAtYXJyb3c6Zm9jdXMgewogICAgb3BhY2l0eTogMTsgfQogIAogIC5tZnAtYXJyb3c6YmVmb3JlLAogIC5tZnAtYXJyb3c6YWZ0ZXIgewogICAgY29udGVudDogJyc7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHRvcDogMDsKICAgIG1hcmdpbi10b3A6IDM1cHg7CiAgICBtYXJnaW4tbGVmdDogMzVweDsKICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9CiAgCiAgLm1mcC1hcnJvdzphZnRlciB7CiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4OwogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDsKICAgIHRvcDogOHB4OyB9CiAgCiAgLm1mcC1hcnJvdzpiZWZvcmUgewogICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDsKICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7CiAgICBvcGFjaXR5OiAwLjc7IH0KICAKICAubWZwLWFycm93LWxlZnQgewogICAgbGVmdDogMDsgfQogIAogIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7CiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjsKICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9CiAgCiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7CiAgICBtYXJnaW4tbGVmdDogMjVweDsKICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9CiAgCiAgLm1mcC1hcnJvdy1yaWdodCB7CiAgICByaWdodDogMDsgfQogIAogIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIgewogICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjsKICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9CiAgCiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUgewogICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfQogIAogIC5tZnAtaWZyYW1lLWhvbGRlciB7CiAgICBwYWRkaW5nLXRvcDogNDBweDsKICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9CiAgCiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWF4LXdpZHRoOiA5MDBweDsgfQogIAogIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHsKICAgIHRvcDogLTQwcHg7IH0KICAKICAubWZwLWlmcmFtZS1zY2FsZXIgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDA7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZy10b3A6IDU2LjI1JTsgfQogIAogIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9CiAgCiAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqLwogIGltZy5tZnAtaW1nIHsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiBhdXRvOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBsaW5lLWhlaWdodDogMDsKICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBwYWRkaW5nOiA0MHB4IDAgNDBweDsKICAgIG1hcmdpbjogMCBhdXRvOyB9CiAgCiAgLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovCiAgLm1mcC1maWd1cmUgewogICAgbGluZS1oZWlnaHQ6IDA7IH0KICAKICAubWZwLWZpZ3VyZTphZnRlciB7CiAgICBjb250ZW50OiAnJzsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICB0b3A6IDQwcHg7CiAgICBib3R0b206IDQwcHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHJpZ2h0OiAwOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGF1dG87CiAgICB6LWluZGV4OiAtMTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgIGJhY2tncm91bmQ6ICM0NDQ7IH0KICAKICAubWZwLWZpZ3VyZSBzbWFsbCB7CiAgICBjb2xvcjogI0JEQkRCRDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGluZS1oZWlnaHQ6IDE0cHg7IH0KICAKICAubWZwLWZpZ3VyZSBmaWd1cmUgewogICAgbWFyZ2luOiAwOyB9CiAgCiAgLm1mcC1ib3R0b20tYmFyIHsKICAgIG1hcmdpbi10b3A6IC0zNnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAxMDAlOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgY3Vyc29yOiBhdXRvOyB9CiAgCiAgLm1mcC10aXRsZSB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICBjb2xvcjogI0YzRjNGMzsKICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH0KICAKICAubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQgewogICAgbWF4LXdpZHRoOiAxMDAlOyB9CiAgCiAgLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHsKICAgIGN1cnNvcjogcG9pbnRlcjsgfQogIAogIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkgewogICAgLyoqCiAgICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlbgogICAgICAgICAqLwogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHsKICAgICAgcGFkZGluZy1sZWZ0OiAwOwogICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9CiAgICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcgewogICAgICBwYWRkaW5nOiAwOyB9CiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIgewogICAgICB0b3A6IDA7CiAgICAgIGJvdHRvbTogMDsgfQogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHsKICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICBtYXJnaW4tbGVmdDogNXB4OyB9CiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICBib3R0b206IDA7CiAgICAgIG1hcmdpbjogMDsKICAgICAgdG9wOiBhdXRvOwogICAgICBwYWRkaW5nOiAzcHggNXB4OwogICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfQogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7CiAgICAgIHBhZGRpbmc6IDA7IH0KICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIgewogICAgICByaWdodDogNXB4OwogICAgICB0b3A6IDNweDsgfQogICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2UgewogICAgICB0b3A6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICB3aWR0aDogMzVweDsKICAgICAgaGVpZ2h0OiAzNXB4OwogICAgICBsaW5lLWhlaWdodDogMzVweDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgcGFkZGluZzogMDsgfSB9CiAgCiAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsKICAgIC5tZnAtYXJyb3cgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7CiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNzUpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9CiAgICAubWZwLWFycm93LWxlZnQgewogICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7CiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9CiAgICAubWZwLWFycm93LXJpZ2h0IHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOwogICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsKICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfQogICAgLm1mcC1jb250YWluZXIgewogICAgICBwYWRkaW5nLWxlZnQ6IDZweDsKICAgICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH0KICAKICAvKioKICAgKiBTaW1wbGUgZmFkZSB0cmFuc2l0aW9uLAogICAqLwogIC5tZnAtZmFkZS5tZnAtYmcgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OyB9CiAgCiAgLm1mcC1mYWRlLm1mcC1iZy5tZnAtcmVhZHkgewogICAgb3BhY2l0eTogMC44OyB9CiAgCiAgLm1mcC1mYWRlLm1mcC1iZy5tZnAtcmVtb3ZpbmcgewogICAgb3BhY2l0eTogMDsgfQogIAogIC5tZnAtZmFkZS5tZnAtd3JhcCAubWZwLWNvbnRlbnQgewogICAgb3BhY2l0eTogMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OyB9CiAgCiAgLm1mcC1mYWRlLm1mcC13cmFwLm1mcC1yZWFkeSAubWZwLWNvbnRlbnQgewogICAgb3BhY2l0eTogMTsgfQogIAogIC5tZnAtZmFkZS5tZnAtd3JhcC5tZnAtcmVtb3ZpbmcgLm1mcC1jb250ZW50IHsKICAgIG9wYWNpdHk6IDA7IH0KICAKICAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHsKICAgIGN1cnNvcjogcG9pbnRlcjsgfQogIAogIC8qCiAgCiAgPT09PT09IFpvb20gZWZmZWN0ID09PT09PQogIAogICovCiAgLm1mcC16b29tLWluIHsKICAgIC8qIHN0YXJ0IHN0YXRlICovCiAgICAvKiBhbmltYXRlIGluICovCiAgICAvKiBhbmltYXRlIG91dCAqLyB9CiAgCiAgLm1mcC16b29tLWluIC5tZnAtd2l0aC1hbmltIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0KICAKICAubWZwLXpvb20taW4ubWZwLWJnIHsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OwogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7IH0KICAKICAubWZwLXpvb20taW4ubWZwLXJlYWR5IC5tZnAtd2l0aC1hbmltIHsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0KICAKICAubWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7CiAgICBvcGFjaXR5OiAwLjg7IH0KICAKICAubWZwLXpvb20taW4ubWZwLXJlbW92aW5nIC5tZnAtd2l0aC1hbmltIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAgIG9wYWNpdHk6IDA7IH0KICAKICAubWZwLXpvb20taW4ubWZwLXJlbW92aW5nLm1mcC1iZyB7CiAgICBvcGFjaXR5OiAwOyB9CiAgCiAgLyovIEVmZmVjdCAyOiBNb3ZlIFVwIC8qLwogICNpdGVtcy1ncmlkID4gZGl2LmFuaW1hdGUgewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwcHgpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDBweCk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwcHgpOwogICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVVcCAwLjY1cyBlYXNlIGZvcndhcmRzOwogICAgYW5pbWF0aW9uOiBtb3ZlVXAgMC42NXMgZWFzZSBmb3J3YXJkczsgfQogIAogIEAtd2Via2l0LWtleWZyYW1lcyBtb3ZlVXAgewogICAgMCUgeyB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIG9wYWNpdHk6IDE7IH0gfQogIAogIEBrZXlmcmFtZXMgbW92ZVVwIHsKICAgIDAlIHsgfQogICAgMTAwJSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIG9wYWNpdHk6IDE7IH0gfQ=="}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":73,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.mixedfinance.io/asset/frontend/js/main.js","fqdn":"www.mixedfinance.io","domain":"mixedfinance.io","tld":"io"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.060Z","timestamp":1785139582060,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /asset/frontend/js/main.js HTTP/1.1\r\nHost: www.mixedfinance.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.961Z","timestamp":1785139583961,"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-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 08:06:23 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: 78243f2c790dac839a334c69f83ef16b\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-28T06:17:53.469517Z","times_seen":245,"resource_available":false,"data":"LmJ1dHRvbi1GRHRpRGJ5antwYWRkaW5nOjAgNXB4fQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.324Z","timestamp":1785139584324,"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-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 08:06:24 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: c6076921eab6bd4bbd2eab10a6544839\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-08-12T05:10:43.218042Z","times_seen":142,"resource_available":false,"data":"LnJhZGlvQnV0dG9uVmlldy1PTFhaUXh1Yntib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1jb2xvciAuMzVzIGVhc2U7d2lkdGg6MThweDstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpOy0tcmFkaW8tY29sb3I6dmFyKC0tdWktbGliLXJhZGlvQnV0dG9uVmlldy1jb2xvcix2YXIoLS1kZWZhdWx0LWNvbG9yKSk7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlcjoxcHggc29saWQgdmFyKC0tcmFkaW8tY29sb3IpfS5yYWRpb0J1dHRvblZpZXctT0xYWlF4dWI6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcXVpbmFyeS1pbnZlcnNlKTtib3JkZXItcmFkaXVzOjUwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjZweDtpbnNldDowO21hcmdpbjphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjZweH0uY2hlY2tlZC1PTFhaUXh1YnstLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWJvbGQpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFkaW8tY29sb3IpfS5jaGVja2VkLU9MWFpReHViOmJlZm9yZXtkaXNwbGF5OmJsb2NrfS5kaXNhYmxlZC1PTFhaUXh1YntvcGFjaXR5Oi4zfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.394Z","timestamp":1785139584394,"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-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 08:06:24 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: 7c9765bff9a8ee323b576e8e7e6566a7\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-08-12T05:10:43.300278Z","times_seen":317,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.404Z","timestamp":1785139584404,"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-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 08:06:24 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: 7ae04f4cb5ee564f87c66bbe59a2359a\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-28T04:48:50.55334Z","times_seen":58,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.414Z","timestamp":1785139584414,"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-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 08:06:24 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: 4051a65b75252abdac4b917d8367282e\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-28T19:45:51.62328Z","times_seen":80,"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":"fonts.googleapis.com/css?family=Ubuntu:300,400,500,600,700\u0026display=swap","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.986Z","timestamp":1785139581986,"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=Ubuntu:300,400,500,600,700\u0026display=swap HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 08:06:22 GMT\r\ndate: Mon, 27 Jul 2026 08:06:22 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":8004,"size_decoded":1367,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"e05b0cb22b3789a5c72aeef4f1b22893","sha1":"1642b373351455bf8334c30cec2bec1834c01d09","sha256":"e6b653e35fedf32193c15bf8660dd5587cda4f6b0b022c1c6a63d60e69a67394","sha512":"fea9f8d8456a6a33269b58adf47af7d0c1cfbc2c41bb62af53c269475c522b4218d6156726961bb1c1d24b01f202384da7e5729eaeb1dd9cd409f43362bde34a","ssdeep":"192:hbRA3HLg3bg8i5xq7eMVDUn5ZKdgWlR66HZ7H:J2aJl","tlshash":"0bf1bf93145b9404ea434cc223cfbf369d8f61956445c5ba6ffe18c8ace6c3a436ab4d","first_seen":"2025-09-03T21:57:59.125839Z","last_seen":"2026-08-12T07:40:20.590702Z","times_seen":988,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQzFDemp2V3lOTDRVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DMUN6anRHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DMUN6anZHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0MxQ3pqczJ5Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0MxQ3pqdm15Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQzFDempzR3lOLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDczZLVmpiTkJZbGdvS2NnNzJqMDAud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3M2S1ZqYk5CWWxnb0tldzcyajAwLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDczZLVmpiTkJZbGdvS2N3NzJqMDAud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3M2S1ZqYk5CWWxnb0tmQTcyajAwLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDczZLVmpiTkJZbGdvS2NRNzJqMDAud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3M2S1ZqYk5CWWxnb0tmdzcyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQ2pDM2p2V3lOTDRVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DakMzanRHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DakMzanZHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0NqQzNqczJ5Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0NqQzNqdm15Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQ2pDM2pzR3lOLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQ3hDdmp2V3lOTDRVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DeEN2anRHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdVYnVudHUnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtZGlzcGxheTogc3dhcDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvdWJ1bnR1L3YyMS80aUN2NktWamJOQllsZ29DeEN2anZHeU5MNFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0N4Q3ZqczJ5Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1VidW50dSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy91YnVudHUvdjIxLzRpQ3Y2S1ZqYk5CWWxnb0N4Q3Zqdm15Tkw0VS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnVWJ1bnR1JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3VidW50dS92MjEvNGlDdjZLVmpiTkJZbGdvQ3hDdmpzR3lOLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":89,"timings":{"blocked":-1,"dns":1,"connect":17,"send":0,"wait":34,"receive":0,"ssl":36},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.797Z","timestamp":1785139582797,"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-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 08:06:22 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: fb6d5956421cd208ec2e32d4d52b9eb2\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":1162,"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-08-12T05:10:43.284265Z","times_seen":1348,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtVFdVdDp2YXIoLS1jb2xvci13aGl0ZSl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1UV1V0OnZhcigtLWNvbG9yLWNvbGQtZ3JheS05MDApfWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1ib2R5LWJnKX1ib2R5LmV4dGVuc2lvbnttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59aW1ne2JvcmRlcjpub25lfXRleHRhcmVhe3Jlc2l6ZTpub25lfTpmb2N1c3tvdXRsaW5lOm5vbmV9aW5wdXQsdGV4dGFyZWF7Ym9yZGVyLXJhZGl1czowfS51bnNlbGVjdGFibGV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGFibGUsaW5wdXQsdGV4dGFyZWF7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS5sb2FkaW5nLWluZGljYXRvcntiYWNrZ3JvdW5kOnZhcigtLV8wLVRXVXQpO2hlaWdodDoxMDAlO2luc2V0LWlubGluZS1zdGFydDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCU7ei1pbmRleDoxNTB9LmZhbGxpbmcsLmdyb3dpbmd7Y29sb3I6I2ZmZn0uZ3Jvd2luZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLWxlZ2FjeS1zdWNjZXNzKX0uZmFsbGluZ3tiYWNrZ3JvdW5kOnZhcigtLWNvbG9yLXJpcGUtcmVkLTQwMCl9"}},"time_used":35,"timings":{"blocked":27,"dns":0,"connect":0,"send":0,"wait":8,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.833Z","timestamp":1785139582833,"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-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 08:06:22 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: 5963a52f8c3def8dfd3a6914bc064c94\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-28T06:17:53.340954Z","times_seen":309,"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":22,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/fonts/webfonts/fa-solid-900.woff","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.867Z","timestamp":1785139582867,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/fonts/webfonts/fa-solid-900.woff HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/font-awesome.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 992\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]}],"data":{"size":992,"size_decoded":1184,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"a43b88e4b72637f2a5acfea58c826e1f","sha1":"c6add540d2787ae63d002cff6212f40434041e7f","sha256":"7ca60edbce791d6b8be17039078ce376a1b632dada224aae3a91fd2ee5a80161","sha512":"8d036fd9027aa460cc5b010f2f527cbb395015a7797619c0a6807a549c8c5a1bfb3f469d366bab0a5a8e453090d12a89bef3db8511631ff42d5832f7c9f73dc7","ssdeep":"","tlshash":"c011183b0805077e11108263b410735cd0dfaf156e567460d063175736c4d85c5395ac","first_seen":"2026-07-27T05:09:49.528683Z","last_seen":"2026-07-27T08:08:22.733371Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9mb250LWF3ZXNvbWUuY3NzIiBjbGFzcz0iaG9tZS1idG4iPkdvIEJhY2s8L2E+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cgo="}},"time_used":260,"timings":{"blocked":13,"dns":0,"connect":0,"send":0,"wait":247,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.819Z","timestamp":1785139583819,"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-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 08:06:23 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: 30165532ed1e8236763950f594a34dc5\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-28T06:17:53.578409Z","times_seen":383,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.220Z","timestamp":1785139584220,"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-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 08:06:24 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: 3717ca06a3137d38482bf51d8aee347f\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-08-12T05:10:43.291323Z","times_seen":219,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.390Z","timestamp":1785139584390,"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-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 08:06:24 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: 971d5b777c4ab0b6fa194e78af47f023\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-31T04:27:03.980232Z","times_seen":338,"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":"fonts.gstatic.com/s/ubuntu/v21/4iCs6KVjbNBYlgoKfw72.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.418Z","timestamp":1785139582418,"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/ubuntu/v21/4iCs6KVjbNBYlgoKfw72.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://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 34924\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:08:37 GMT\r\nexpires: Mon, 26 Jul 2027 10:08:37 GMT\r\ncache-control: public, max-age=31536000\r\nage: 79065\r\nlast-modified: Wed, 27 Aug 2025 19:19:11 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":34924,"size_decoded":35736,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 34924, version 1.0","md5":"4a8b9af22b314f408f66a17f71e28908","sha1":"6b5600d84c178cd28b23b583bbcaa4eb12efff25","sha256":"dabae363ac0ae6c3b2a137a32f7132b42520a8af252f87aa6c2198f2a79cf91c","sha512":"17dbf975ba4d4a818f25bb52dfdec52ff0ad6291c37981bce0313075c13751180a30ec81db40e1b2092a92e9491d275fa253e879e3e62d97ba235295da4ddd74","ssdeep":"768:C4rzLlWA+tpuAdMEUDz1whQjKgz63b6G8tWbxfw6abvdNwGFbML:xz+/uAdMEUDZKYI3bqtMY6WvkGFML","tlshash":"e3f2f1d39beb766c5e3fa89c32b3d2653969580430737119b0a2674842e274c56e6d03","first_seen":"2025-09-02T19:57:23.465236Z","last_seen":"2026-08-12T17:12:32.87158Z","times_seen":21801,"resource_available":false,"data":"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"}},"time_used":109,"timings":{"blocked":74,"dns":0,"connect":0,"send":0,"wait":20,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.778Z","timestamp":1785139582778,"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-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 08:06:22 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: 9b6b1b9f1111d4d7099cb6ba73483bd7\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":952,"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-08-12T17:58:50.285925Z","times_seen":2673,"resource_available":false,"data":"LmktaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmktaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH0uaS1hbGlnbl9sZWZ0e3RleHQtYWxpZ246c3RhcnQhaW1wb3J0YW50fS5pLWFsaWduX3JpZ2h0e3RleHQtYWxpZ246ZW5kIWltcG9ydGFudH0uaS1hbGlnbl9jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fS5pLWZsb2F0X2xlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0uaS1mbG9hdF9yaWdodHtmbG9hdDppbmxpbmUtZW5kIWltcG9ydGFudH0uaS1mbG9hdF9ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fS5pLW5vLWJyZWFre3doaXRlLXNwYWNlOm5vd3JhcH0="}},"time_used":143,"timings":{"blocked":-1,"dns":48,"connect":50,"send":0,"wait":8,"receive":-1,"ssl":33},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.846Z","timestamp":1785139582846,"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-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 08:06:22 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: 4e0f5ea38cb51f7696939c567518822c\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-28T06:17:53.368675Z","times_seen":205,"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":22,"timings":{"blocked":11,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.811Z","timestamp":1785139583811,"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-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 08:06:23 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: 31ee633b3d9215bed04c662d2e68621d\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-08-12T05:10:43.062097Z","times_seen":278,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.879Z","timestamp":1785139583879,"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-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 08:06:23 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: 0b68294b934ae09c207350cb53306c75\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-28T06:17:53.389232Z","times_seen":122,"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":"nanoquantumstellarsledger.com/frontcss/assets/jquery.magnific-popup.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.033Z","timestamp":1785139582033,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/jquery.magnific-popup.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13144\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":62297,"size_decoded":13382,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"360c025f90d83288eba6147cb3b2c650","sha1":"3c32dce03a4e3548b786416a7f935668c1d9b340","sha256":"082ab3ef67b8fa0202cf263b02774dc552ebe4ef8eb3b6a8948177686b345633","sha512":"0c6258bd18899056cb975e1f2b6c949b9fb9381d51bde9d966a56a668fd6d9747d7e065e8fc1543e94b129ba9e70707d34855cc0021d8ef392ccb19fb587d00e","ssdeep":"768:1vxHMj7Pn4BVM1wy7KHfDsj8WDhTD0pR5q7/c:1vxsj7P4Owy7+Qj88hTD+a/c","tlshash":"4e530b9c65f3312285a3727c9bdf51143a31811bea4ade103d8c13989f94b68aef57f8","first_seen":"2023-03-07T21:49:28Z","last_seen":"2026-07-27T09:11:27.281066Z","times_seen":113,"resource_available":true,"data":"LyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMS4wIC0gMjAxNi0wMi0yMAoqIGh0dHA6Ly9kaW1zZW1lbm92LmNvbS9wbHVnaW5zL21hZ25pZmljLXBvcHVwLwoqIENvcHlyaWdodCAoYykgMjAxNiBEbWl0cnkgU2VtZW5vdjsgKi8KOyhmdW5jdGlvbiAoZmFjdG9yeSkgeyAKICAgIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHsgCiAgICAgLy8gQU1ELiBSZWdpc3RlciBhcyBhbiBhbm9ueW1vdXMgbW9kdWxlLiAKICAgICBkZWZpbmUoWydqcXVlcnknXSwgZmFjdG9yeSk7IAogICAgIH0gZWxzZSBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7IAogICAgIC8vIE5vZGUvQ29tbW9uSlMgCiAgICAgZmFjdG9yeShyZXF1aXJlKCdqcXVlcnknKSk7IAogICAgIH0gZWxzZSB7IAogICAgIC8vIEJyb3dzZXIgZ2xvYmFscyAKICAgICBmYWN0b3J5KHdpbmRvdy5qUXVlcnkgfHwgd2luZG93LlplcHRvKTsgCiAgICAgfSAKICAgICB9KGZ1bmN0aW9uKCQpIHsgCiAgICAKICAgIC8qPj5jb3JlKi8KICAgIC8qKgogICAgICogCiAgICAgKiBNYWduaWZpYyBQb3B1cCBDb3JlIEpTIGZpbGUKICAgICAqIAogICAgICovCiAgICAKICAgIAogICAgLyoqCiAgICAgKiBQcml2YXRlIHN0YXRpYyBjb25zdGFudHMKICAgICAqLwogICAgdmFyIENMT1NFX0VWRU5UID0gJ0Nsb3NlJywKICAgICAgICBCRUZPUkVfQ0xPU0VfRVZFTlQgPSAnQmVmb3JlQ2xvc2UnLAogICAgICAgIEFGVEVSX0NMT1NFX0VWRU5UID0gJ0FmdGVyQ2xvc2UnLAogICAgICAgIEJFRk9SRV9BUFBFTkRfRVZFTlQgPSAnQmVmb3JlQXBwZW5kJywKICAgICAgICBNQVJLVVBfUEFSU0VfRVZFTlQgPSAnTWFya3VwUGFyc2UnLAogICAgICAgIE9QRU5fRVZFTlQgPSAnT3BlbicsCiAgICAgICAgQ0hBTkdFX0VWRU5UID0gJ0NoYW5nZScsCiAgICAgICAgTlMgPSAnbWZwJywKICAgICAgICBFVkVOVF9OUyA9ICcuJyArIE5TLAogICAgICAgIFJFQURZX0NMQVNTID0gJ21mcC1yZWFkeScsCiAgICAgICAgUkVNT1ZJTkdfQ0xBU1MgPSAnbWZwLXJlbW92aW5nJywKICAgICAgICBQUkVWRU5UX0NMT1NFX0NMQVNTID0gJ21mcC1wcmV2ZW50LWNsb3NlJzsKICAgIAogICAgCiAgICAvKioKICAgICAqIFByaXZhdGUgdmFycyAKICAgICAqLwogICAgLypqc2hpbnQgLVcwNzkgKi8KICAgIHZhciBtZnAsIC8vIEFzIHdlIGhhdmUgb25seSBvbmUgaW5zdGFuY2Ugb2YgTWFnbmlmaWNQb3B1cCBvYmplY3QsIHdlIGRlZmluZSBpdCBsb2NhbGx5IHRvIG5vdCB0byB1c2UgJ3RoaXMnCiAgICAgICAgTWFnbmlmaWNQb3B1cCA9IGZ1bmN0aW9uKCl7fSwKICAgICAgICBfaXNKUSA9ICEhKHdpbmRvdy5qUXVlcnkpLAogICAgICAgIF9wcmV2U3RhdHVzLAogICAgICAgIF93aW5kb3cgPSAkKHdpbmRvdyksCiAgICAgICAgX2RvY3VtZW50LAogICAgICAgIF9wcmV2Q29udGVudFR5cGUsCiAgICAgICAgX3dyYXBDbGFzc2VzLAogICAgICAgIF9jdXJyUG9wdXBUeXBlOwogICAgCiAgICAKICAgIC8qKgogICAgICogUHJpdmF0ZSBmdW5jdGlvbnMKICAgICAqLwogICAgdmFyIF9tZnBPbiA9IGZ1bmN0aW9uKG5hbWUsIGYpIHsKICAgICAgICAgICAgbWZwLmV2Lm9uKE5TICsgbmFtZSArIEVWRU5UX05TLCBmKTsKICAgICAgICB9LAogICAgICAgIF9nZXRFbCA9IGZ1bmN0aW9uKGNsYXNzTmFtZSwgYXBwZW5kVG8sIGh0bWwsIHJhdykgewogICAgICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgICAgZWwuY2xhc3NOYW1lID0gJ21mcC0nK2NsYXNzTmFtZTsKICAgICAgICAgICAgaWYoaHRtbCkgewogICAgICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gaHRtbDsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZighcmF3KSB7CiAgICAgICAgICAgICAgICBlbCA9ICQoZWwpOwogICAgICAgICAgICAgICAgaWYoYXBwZW5kVG8pIHsKICAgICAgICAgICAgICAgICAgICBlbC5hcHBlbmRUbyhhcHBlbmRUbyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZihhcHBlbmRUbykgewogICAgICAgICAgICAgICAgYXBwZW5kVG8uYXBwZW5kQ2hpbGQoZWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBlbDsKICAgICAgICB9LAogICAgICAgIF9tZnBUcmlnZ2VyID0gZnVuY3Rpb24oZSwgZGF0YSkgewogICAgICAgICAgICBtZnAuZXYudHJpZ2dlckhhbmRsZXIoTlMgKyBlLCBkYXRhKTsKICAgIAogICAgICAgICAgICBpZihtZnAuc3QuY2FsbGJhY2tzKSB7CiAgICAgICAgICAgICAgICAvLyBjb252ZXJ0cyAibWZwRXZlbnROYW1lIiB0byAiZXZlbnROYW1lIiBjYWxsYmFjayBhbmQgdHJpZ2dlcnMgaXQgaWYgaXQncyBwcmVzZW50CiAgICAgICAgICAgICAgICBlID0gZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIGUuc2xpY2UoMSk7CiAgICAgICAgICAgICAgICBpZihtZnAuc3QuY2FsbGJhY2tzW2VdKSB7CiAgICAgICAgICAgICAgICAgICAgbWZwLnN0LmNhbGxiYWNrc1tlXS5hcHBseShtZnAsICQuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbZGF0YV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBfZ2V0Q2xvc2VCdG4gPSBmdW5jdGlvbih0eXBlKSB7CiAgICAgICAgICAgIGlmKHR5cGUgIT09IF9jdXJyUG9wdXBUeXBlIHx8ICFtZnAuY3VyclRlbXBsYXRlLmNsb3NlQnRuKSB7CiAgICAgICAgICAgICAgICBtZnAuY3VyclRlbXBsYXRlLmNsb3NlQnRuID0gJCggbWZwLnN0LmNsb3NlTWFya3VwLnJlcGxhY2UoJyV0aXRsZSUnLCBtZnAuc3QudENsb3NlICkgKTsKICAgICAgICAgICAgICAgIF9jdXJyUG9wdXBUeXBlID0gdHlwZTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gbWZwLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bjsKICAgICAgICB9LAogICAgICAgIC8vIEluaXRpYWxpemUgTWFnbmlmaWMgUG9wdXAgb25seSB3aGVuIGNhbGxlZCBhdCBsZWFzdCBvbmNlCiAgICAgICAgX2NoZWNrSW5zdGFuY2UgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYoISQubWFnbmlmaWNQb3B1cC5pbnN0YW5jZSkgewogICAgICAgICAgICAgICAgLypqc2hpbnQgLVcwMjAgKi8KICAgICAgICAgICAgICAgIG1mcCA9IG5ldyBNYWduaWZpY1BvcHVwKCk7CiAgICAgICAgICAgICAgICBtZnAuaW5pdCgpOwogICAgICAgICAgICAgICAgJC5tYWduaWZpY1BvcHVwLmluc3RhbmNlID0gbWZwOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAvLyBDU1MgdHJhbnNpdGlvbiBkZXRlY3Rpb24sIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNzI2NDg5OS9kZXRlY3QtY3NzLXRyYW5zaXRpb25zLXVzaW5nLWphdmFzY3JpcHQtYW5kLXdpdGhvdXQtbW9kZXJuaXpyCiAgICAgICAgc3VwcG9ydHNUcmFuc2l0aW9ucyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKS5zdHlsZSwgLy8gJ3MnIGZvciBzdHlsZS4gYmV0dGVyIHRvIGNyZWF0ZSBhbiBlbGVtZW50IGlmIGJvZHkgeWV0IHRvIGV4aXN0CiAgICAgICAgICAgICAgICB2ID0gWydtcycsJ08nLCdNb3onLCdXZWJraXQnXTsgLy8gJ3YnIGZvciB2ZW5kb3IKICAgIAogICAgICAgICAgICBpZiggc1sndHJhbnNpdGlvbiddICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsgCiAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZSggdi5sZW5ndGggKSB7CiAgICAgICAgICAgICAgICBpZiggdi5wb3AoKSArICdUcmFuc2l0aW9uJyBpbiBzICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9OwogICAgCiAgICAKICAgIAogICAgLyoqCiAgICAgKiBQdWJsaWMgZnVuY3Rpb25zCiAgICAgKi8KICAgIE1hZ25pZmljUG9wdXAucHJvdG90eXBlID0gewogICAgCiAgICAgICAgY29uc3RydWN0b3I6IE1hZ25pZmljUG9wdXAsCiAgICAKICAgICAgICAvKioKICAgICAgICAgKiBJbml0aWFsaXplcyBNYWduaWZpYyBQb3B1cCBwbHVnaW4uIAogICAgICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkIG9ubHkgb25jZSB3aGVuICQuZm4ubWFnbmlmaWNQb3B1cCBvciAkLm1hZ25pZmljUG9wdXAgaXMgZXhlY3V0ZWQKICAgICAgICAgKi8KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIGFwcFZlcnNpb24gPSBuYXZpZ2F0b3IuYXBwVmVyc2lvbjsKICAgICAgICAgICAgbWZwLmlzTG93SUUgPSBtZnAuaXNJRTggPSBkb2N1bWVudC5hbGwgJiYgIWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXI7CiAgICAgICAgICAgIG1mcC5pc0FuZHJvaWQgPSAoL2FuZHJvaWQvZ2kpLnRlc3QoYXBwVmVyc2lvbik7CiAgICAgICAgICAgIG1mcC5pc0lPUyA9ICgvaXBob25lfGlwYWR8aXBvZC9naSkudGVzdChhcHBWZXJzaW9uKTsKICAgICAgICAgICAgbWZwLnN1cHBvcnRzVHJhbnNpdGlvbiA9IHN1cHBvcnRzVHJhbnNpdGlvbnMoKTsKICAgIAogICAgICAgICAgICAvLyBXZSBkaXNhYmxlIGZpeGVkIHBvc2l0aW9uZWQgbGlnaHRib3ggb24gZGV2aWNlcyB0aGF0IGRvbid0IGhhbmRsZSBpdCBuaWNlbHkuCiAgICAgICAgICAgIC8vIElmIHlvdSBrbm93IGEgYmV0dGVyIHdheSBvZiBkZXRlY3RpbmcgdGhpcyAtIGxldCBtZSBrbm93LgogICAgICAgICAgICBtZnAucHJvYmFibHlNb2JpbGUgPSAobWZwLmlzQW5kcm9pZCB8fCBtZnAuaXNJT1MgfHwgLyhPcGVyYSBNaW5pKXxLaW5kbGV8d2ViT1N8QmxhY2tCZXJyeXwoT3BlcmEgTW9iaSl8KFdpbmRvd3MgUGhvbmUpfElFTW9iaWxlL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSApOwogICAgICAgICAgICBfZG9jdW1lbnQgPSAkKGRvY3VtZW50KTsKICAgIAogICAgICAgICAgICBtZnAucG9wdXBzQ2FjaGUgPSB7fTsKICAgICAgICB9LAogICAgCiAgICAgICAgLyoqCiAgICAgICAgICogT3BlbnMgcG9wdXAKICAgICAgICAgKiBAcGFyYW0gIGRhdGEgW2Rlc2NyaXB0aW9uXQogICAgICAgICAqLwogICAgICAgIG9wZW46IGZ1bmN0aW9uKGRhdGEpIHsKICAgIAogICAgICAgICAgICB2YXIgaTsKICAgIAogICAgICAgICAgICBpZihkYXRhLmlzT2JqID09PSBmYWxzZSkgeyAKICAgICAgICAgICAgICAgIC8vIGNvbnZlcnQgalF1ZXJ5IGNvbGxlY3Rpb24gdG8gYXJyYXkgdG8gYXZvaWQgY29uZmxpY3RzIGxhdGVyCiAgICAgICAgICAgICAgICBtZnAuaXRlbXMgPSBkYXRhLml0ZW1zLnRvQXJyYXkoKTsKICAgIAogICAgICAgICAgICAgICAgbWZwLmluZGV4ID0gMDsKICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IGRhdGEuaXRlbXMsCiAgICAgICAgICAgICAgICAgICAgaXRlbTsKICAgICAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldOwogICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0ucGFyc2VkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtLmVsWzBdOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZihpdGVtID09PSBkYXRhLmVsWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1mcC5pbmRleCA9IGk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1mcC5pdGVtcyA9ICQuaXNBcnJheShkYXRhLml0ZW1zKSA/IGRhdGEuaXRlbXMgOiBbZGF0YS5pdGVtc107CiAgICAgICAgICAgICAgICBtZnAuaW5kZXggPSBkYXRhLmluZGV4IHx8IDA7CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAvLyBpZiBwb3B1cCBpcyBhbHJlYWR5IG9wZW5lZCAtIHdlIGp1c3QgdXBkYXRlIHRoZSBjb250ZW50CiAgICAgICAgICAgIGlmKG1mcC5pc09wZW4pIHsKICAgICAgICAgICAgICAgIG1mcC51cGRhdGVJdGVtSFRNTCgpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBtZnAudHlwZXMgPSBbXTsgCiAgICAgICAgICAgIF93cmFwQ2xhc3NlcyA9ICcnOwogICAgICAgICAgICBpZihkYXRhLm1haW5FbCAmJiBkYXRhLm1haW5FbC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgIG1mcC5ldiA9IGRhdGEubWFpbkVsLmVxKDApOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbWZwLmV2ID0gX2RvY3VtZW50OwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaWYoZGF0YS5rZXkpIHsKICAgICAgICAgICAgICAgIGlmKCFtZnAucG9wdXBzQ2FjaGVbZGF0YS5rZXldKSB7CiAgICAgICAgICAgICAgICAgICAgbWZwLnBvcHVwc0NhY2hlW2RhdGEua2V5XSA9IHt9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbWZwLmN1cnJUZW1wbGF0ZSA9IG1mcC5wb3B1cHNDYWNoZVtkYXRhLmtleV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtZnAuY3VyclRlbXBsYXRlID0ge307CiAgICAgICAgICAgIH0KICAgIAogICAgCiAgICAKICAgICAgICAgICAgbWZwLnN0ID0gJC5leHRlbmQodHJ1ZSwge30sICQubWFnbmlmaWNQb3B1cC5kZWZhdWx0cywgZGF0YSApOyAKICAgICAgICAgICAgbWZwLmZpeGVkQ29udGVudFBvcyA9IG1mcC5zdC5maXhlZENvbnRlbnRQb3MgPT09ICdhdXRvJyA/ICFtZnAucHJvYmFibHlNb2JpbGUgOiBtZnAuc3QuZml4ZWRDb250ZW50UG9zOwogICAgCiAgICAgICAgICAgIGlmKG1mcC5zdC5tb2RhbCkgewogICAgICAgICAgICAgICAgbWZwLnN0LmNsb3NlT25Db250ZW50Q2xpY2sgPSBmYWxzZTsKICAgICAgICAgICAgICAgIG1mcC5zdC5jbG9zZU9uQmdDbGljayA9IGZhbHNlOwogICAgICAgICAgICAgICAgbWZwLnN0LnNob3dDbG9zZUJ0biA9IGZhbHNlOwogICAgICAgICAgICAgICAgbWZwLnN0LmVuYWJsZUVzY2FwZUtleSA9IGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIC8vIEJ1aWxkaW5nIG1hcmt1cAogICAgICAgICAgICAvLyBtYWluIGNvbnRhaW5lcnMgYXJlIGNyZWF0ZWQgb25seSBvbmNlCiAgICAgICAgICAgIGlmKCFtZnAuYmdPdmVybGF5KSB7CiAgICAKICAgICAgICAgICAgICAgIC8vIERhcmsgb3ZlcmxheQogICAgICAgICAgICAgICAgbWZwLmJnT3ZlcmxheSA9IF9nZXRFbCgnYmcnKS5vbignY2xpY2snK0VWRU5UX05TLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBtZnAuY2xvc2UoKTsKICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICAgICBtZnAud3JhcCA9IF9nZXRFbCgnd3JhcCcpLmF0dHIoJ3RhYmluZGV4JywgLTEpLm9uKCdjbGljaycrRVZFTlRfTlMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBpZihtZnAuX2NoZWNrSWZDbG9zZShlLnRhcmdldCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmNsb3NlKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgICAgIG1mcC5jb250YWluZXIgPSBfZ2V0RWwoJ2NvbnRhaW5lcicsIG1mcC53cmFwKTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIG1mcC5jb250ZW50Q29udGFpbmVyID0gX2dldEVsKCdjb250ZW50Jyk7CiAgICAgICAgICAgIGlmKG1mcC5zdC5wcmVsb2FkZXIpIHsKICAgICAgICAgICAgICAgIG1mcC5wcmVsb2FkZXIgPSBfZ2V0RWwoJ3ByZWxvYWRlcicsIG1mcC5jb250YWluZXIsIG1mcC5zdC50TG9hZGluZyk7CiAgICAgICAgICAgIH0KICAgIAogICAgCiAgICAgICAgICAgIC8vIEluaXRpYWxpemluZyBtb2R1bGVzCiAgICAgICAgICAgIHZhciBtb2R1bGVzID0gJC5tYWduaWZpY1BvcHVwLm1vZHVsZXM7CiAgICAgICAgICAgIGZvcihpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHZhciBuID0gbW9kdWxlc1tpXTsKICAgICAgICAgICAgICAgIG4gPSBuLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbi5zbGljZSgxKTsKICAgICAgICAgICAgICAgIG1mcFsnaW5pdCcrbl0uY2FsbChtZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdCZWZvcmVPcGVuJyk7CiAgICAKICAgIAogICAgICAgICAgICBpZihtZnAuc3Quc2hvd0Nsb3NlQnRuKSB7CiAgICAgICAgICAgICAgICAvLyBDbG9zZSBidXR0b24KICAgICAgICAgICAgICAgIGlmKCFtZnAuc3QuY2xvc2VCdG5JbnNpZGUpIHsKICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5hcHBlbmQoIF9nZXRDbG9zZUJ0bigpICk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIF9tZnBPbihNQVJLVVBfUEFSU0VfRVZFTlQsIGZ1bmN0aW9uKGUsIHRlbXBsYXRlLCB2YWx1ZXMsIGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzLmNsb3NlX3JlcGxhY2VXaXRoID0gX2dldENsb3NlQnRuKGl0ZW0udHlwZSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgX3dyYXBDbGFzc2VzICs9ICcgbWZwLWNsb3NlLWJ0bi1pbic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICBpZihtZnAuc3QuYWxpZ25Ub3ApIHsKICAgICAgICAgICAgICAgIF93cmFwQ2xhc3NlcyArPSAnIG1mcC1hbGlnbi10b3AnOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAKICAgIAogICAgICAgICAgICBpZihtZnAuZml4ZWRDb250ZW50UG9zKSB7CiAgICAgICAgICAgICAgICBtZnAud3JhcC5jc3MoewogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBtZnAuc3Qub3ZlcmZsb3dZLAogICAgICAgICAgICAgICAgICAgIG92ZXJmbG93WDogJ2hpZGRlbicsCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiBtZnAuc3Qub3ZlcmZsb3dZCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1mcC53cmFwLmNzcyh7IAogICAgICAgICAgICAgICAgICAgIHRvcDogX3dpbmRvdy5zY3JvbGxUb3AoKSwKICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoIG1mcC5zdC5maXhlZEJnUG9zID09PSBmYWxzZSB8fCAobWZwLnN0LmZpeGVkQmdQb3MgPT09ICdhdXRvJyAmJiAhbWZwLmZpeGVkQ29udGVudFBvcykgKSB7CiAgICAgICAgICAgICAgICBtZnAuYmdPdmVybGF5LmNzcyh7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBfZG9jdW1lbnQuaGVpZ2h0KCksCiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgaWYobWZwLnN0LmVuYWJsZUVzY2FwZUtleSkgewogICAgICAgICAgICAgICAgLy8gQ2xvc2Ugb24gRVNDIGtleQogICAgICAgICAgICAgICAgX2RvY3VtZW50Lm9uKCdrZXl1cCcgKyBFVkVOVF9OUywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIGlmKGUua2V5Q29kZSA9PT0gMjcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmNsb3NlKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICBfd2luZG93Lm9uKCdyZXNpemUnICsgRVZFTlRfTlMsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbWZwLnVwZGF0ZVNpemUoKTsKICAgICAgICAgICAgfSk7CiAgICAKICAgIAogICAgICAgICAgICBpZighbWZwLnN0LmNsb3NlT25Db250ZW50Q2xpY2spIHsKICAgICAgICAgICAgICAgIF93cmFwQ2xhc3NlcyArPSAnIG1mcC1hdXRvLWN1cnNvcic7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIGlmKF93cmFwQ2xhc3NlcykKICAgICAgICAgICAgICAgIG1mcC53cmFwLmFkZENsYXNzKF93cmFwQ2xhc3Nlcyk7CiAgICAKICAgIAogICAgICAgICAgICAvLyB0aGlzIHRyaWdnZXJzIHJlY2FsY3VsYXRpb24gb2YgbGF5b3V0LCBzbyB3ZSBnZXQgaXQgb25jZSB0byBub3QgdG8gdHJpZ2dlciB0d2ljZQogICAgICAgICAgICB2YXIgd2luZG93SGVpZ2h0ID0gbWZwLndIID0gX3dpbmRvdy5oZWlnaHQoKTsKICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHdpbmRvd1N0eWxlcyA9IHt9OwogICAgCiAgICAgICAgICAgIGlmKCBtZnAuZml4ZWRDb250ZW50UG9zICkgewogICAgICAgICAgICAgICAgaWYobWZwLl9oYXNTY3JvbGxCYXIod2luZG93SGVpZ2h0KSl7CiAgICAgICAgICAgICAgICAgICAgdmFyIHMgPSBtZnAuX2dldFNjcm9sbGJhclNpemUoKTsKICAgICAgICAgICAgICAgICAgICBpZihzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd1N0eWxlcy5tYXJnaW5SaWdodCA9IHM7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaWYobWZwLmZpeGVkQ29udGVudFBvcykgewogICAgICAgICAgICAgICAgaWYoIW1mcC5pc0lFNykgewogICAgICAgICAgICAgICAgICAgIHdpbmRvd1N0eWxlcy5vdmVyZmxvdyA9ICdoaWRkZW4nOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBpZTcgZG91YmxlLXNjcm9sbCBidWcKICAgICAgICAgICAgICAgICAgICAkKCdib2R5LCBodG1sJykuY3NzKCdvdmVyZmxvdycsICdoaWRkZW4nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIGNsYXNzZXNUb2FkZCA9IG1mcC5zdC5tYWluQ2xhc3M7CiAgICAgICAgICAgIGlmKG1mcC5pc0lFNykgewogICAgICAgICAgICAgICAgY2xhc3Nlc1RvYWRkICs9ICcgbWZwLWllNyc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoY2xhc3Nlc1RvYWRkKSB7CiAgICAgICAgICAgICAgICBtZnAuX2FkZENsYXNzVG9NRlAoIGNsYXNzZXNUb2FkZCApOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgLy8gYWRkIGNvbnRlbnQKICAgICAgICAgICAgbWZwLnVwZGF0ZUl0ZW1IVE1MKCk7CiAgICAKICAgICAgICAgICAgX21mcFRyaWdnZXIoJ0J1aWxkQ29udHJvbHMnKTsKICAgIAogICAgICAgICAgICAvLyByZW1vdmUgc2Nyb2xsYmFyLCBhZGQgbWFyZ2luIGUudC5jCiAgICAgICAgICAgICQoJ2h0bWwnKS5jc3Mod2luZG93U3R5bGVzKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIGFkZCBldmVyeXRoaW5nIHRvIERPTQogICAgICAgICAgICBtZnAuYmdPdmVybGF5LmFkZChtZnAud3JhcCkucHJlcGVuZFRvKCBtZnAuc3QucHJlcGVuZFRvIHx8ICQoZG9jdW1lbnQuYm9keSkgKTsKICAgIAogICAgICAgICAgICAvLyBTYXZlIGxhc3QgZm9jdXNlZCBlbGVtZW50CiAgICAgICAgICAgIG1mcC5fbGFzdEZvY3VzZWRFbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBXYWl0IGZvciBuZXh0IGN5Y2xlIHRvIGFsbG93IENTUyB0cmFuc2l0aW9uCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKG1mcC5jb250ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgbWZwLl9hZGRDbGFzc1RvTUZQKFJFQURZX0NMQVNTKTsKICAgICAgICAgICAgICAgICAgICBtZnAuX3NldEZvY3VzKCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIGlmIGNvbnRlbnQgaXMgbm90IGRlZmluZWQgKG5vdCBsb2FkZWQgZS50LmMpIHdlIGFkZCBjbGFzcyBvbmx5IGZvciBCRwogICAgICAgICAgICAgICAgICAgIG1mcC5iZ092ZXJsYXkuYWRkQ2xhc3MoUkVBRFlfQ0xBU1MpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyBUcmFwIHRoZSBmb2N1cyBpbiBwb3B1cAogICAgICAgICAgICAgICAgX2RvY3VtZW50Lm9uKCdmb2N1c2luJyArIEVWRU5UX05TLCBtZnAuX29uRm9jdXNJbik7CiAgICAKICAgICAgICAgICAgfSwgMTYpOwogICAgCiAgICAgICAgICAgIG1mcC5pc09wZW4gPSB0cnVlOwogICAgICAgICAgICBtZnAudXBkYXRlU2l6ZSh3aW5kb3dIZWlnaHQpOwogICAgICAgICAgICBfbWZwVHJpZ2dlcihPUEVOX0VWRU5UKTsKICAgIAogICAgICAgICAgICByZXR1cm4gZGF0YTsKICAgICAgICB9LAogICAgCiAgICAgICAgLyoqCiAgICAgICAgICogQ2xvc2VzIHRoZSBwb3B1cAogICAgICAgICAqLwogICAgICAgIGNsb3NlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYoIW1mcC5pc09wZW4pIHJldHVybjsKICAgICAgICAgICAgX21mcFRyaWdnZXIoQkVGT1JFX0NMT1NFX0VWRU5UKTsKICAgIAogICAgICAgICAgICBtZnAuaXNPcGVuID0gZmFsc2U7CiAgICAgICAgICAgIC8vIGZvciBDU1MzIGFuaW1hdGlvbgogICAgICAgICAgICBpZihtZnAuc3QucmVtb3ZhbERlbGF5ICYmICFtZnAuaXNMb3dJRSAmJiBtZnAuc3VwcG9ydHNUcmFuc2l0aW9uICkgIHsKICAgICAgICAgICAgICAgIG1mcC5fYWRkQ2xhc3NUb01GUChSRU1PVklOR19DTEFTUyk7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIG1mcC5fY2xvc2UoKTsKICAgICAgICAgICAgICAgIH0sIG1mcC5zdC5yZW1vdmFsRGVsYXkpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbWZwLl9jbG9zZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgIAogICAgICAgIC8qKgogICAgICAgICAqIEhlbHBlciBmb3IgY2xvc2UoKSBmdW5jdGlvbgogICAgICAgICAqLwogICAgICAgIF9jbG9zZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIF9tZnBUcmlnZ2VyKENMT1NFX0VWRU5UKTsKICAgIAogICAgICAgICAgICB2YXIgY2xhc3Nlc1RvUmVtb3ZlID0gUkVNT1ZJTkdfQ0xBU1MgKyAnICcgKyBSRUFEWV9DTEFTUyArICcgJzsKICAgIAogICAgICAgICAgICBtZnAuYmdPdmVybGF5LmRldGFjaCgpOwogICAgICAgICAgICBtZnAud3JhcC5kZXRhY2goKTsKICAgICAgICAgICAgbWZwLmNvbnRhaW5lci5lbXB0eSgpOwogICAgCiAgICAgICAgICAgIGlmKG1mcC5zdC5tYWluQ2xhc3MpIHsKICAgICAgICAgICAgICAgIGNsYXNzZXNUb1JlbW92ZSArPSBtZnAuc3QubWFpbkNsYXNzICsgJyAnOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgbWZwLl9yZW1vdmVDbGFzc0Zyb21NRlAoY2xhc3Nlc1RvUmVtb3ZlKTsKICAgIAogICAgICAgICAgICBpZihtZnAuZml4ZWRDb250ZW50UG9zKSB7CiAgICAgICAgICAgICAgICB2YXIgd2luZG93U3R5bGVzID0ge21hcmdpblJpZ2h0OiAnJ307CiAgICAgICAgICAgICAgICBpZihtZnAuaXNJRTcpIHsKICAgICAgICAgICAgICAgICAgICAkKCdib2R5LCBodG1sJykuY3NzKCdvdmVyZmxvdycsICcnKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgd2luZG93U3R5bGVzLm92ZXJmbG93ID0gJyc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkKCdodG1sJykuY3NzKHdpbmRvd1N0eWxlcyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgCiAgICAgICAgICAgIF9kb2N1bWVudC5vZmYoJ2tleXVwJyArIEVWRU5UX05TICsgJyBmb2N1c2luJyArIEVWRU5UX05TKTsKICAgICAgICAgICAgbWZwLmV2Lm9mZihFVkVOVF9OUyk7CiAgICAKICAgICAgICAgICAgLy8gY2xlYW4gdXAgRE9NIGVsZW1lbnRzIHRoYXQgYXJlbid0IHJlbW92ZWQKICAgICAgICAgICAgbWZwLndyYXAuYXR0cignY2xhc3MnLCAnbWZwLXdyYXAnKS5yZW1vdmVBdHRyKCdzdHlsZScpOwogICAgICAgICAgICBtZnAuYmdPdmVybGF5LmF0dHIoJ2NsYXNzJywgJ21mcC1iZycpOwogICAgICAgICAgICBtZnAuY29udGFpbmVyLmF0dHIoJ2NsYXNzJywgJ21mcC1jb250YWluZXInKTsKICAgIAogICAgICAgICAgICAvLyByZW1vdmUgY2xvc2UgYnV0dG9uIGZyb20gdGFyZ2V0IGVsZW1lbnQKICAgICAgICAgICAgaWYobWZwLnN0LnNob3dDbG9zZUJ0biAmJgogICAgICAgICAgICAoIW1mcC5zdC5jbG9zZUJ0bkluc2lkZSB8fCBtZnAuY3VyclRlbXBsYXRlW21mcC5jdXJySXRlbS50eXBlXSA9PT0gdHJ1ZSkpIHsKICAgICAgICAgICAgICAgIGlmKG1mcC5jdXJyVGVtcGxhdGUuY2xvc2VCdG4pCiAgICAgICAgICAgICAgICAgICAgbWZwLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bi5kZXRhY2goKTsKICAgICAgICAgICAgfQogICAgCiAgICAKICAgICAgICAgICAgaWYobWZwLnN0LmF1dG9Gb2N1c0xhc3QgJiYgbWZwLl9sYXN0Rm9jdXNlZEVsKSB7CiAgICAgICAgICAgICAgICAkKG1mcC5fbGFzdEZvY3VzZWRFbCkuZm9jdXMoKTsgLy8gcHV0IHRhYiBmb2N1cyBiYWNrCiAgICAgICAgICAgIH0KICAgICAgICAgICAgbWZwLmN1cnJJdGVtID0gbnVsbDsJCiAgICAgICAgICAgIG1mcC5jb250ZW50ID0gbnVsbDsKICAgICAgICAgICAgbWZwLmN1cnJUZW1wbGF0ZSA9IG51bGw7CiAgICAgICAgICAgIG1mcC5wcmV2SGVpZ2h0ID0gMDsKICAgIAogICAgICAgICAgICBfbWZwVHJpZ2dlcihBRlRFUl9DTE9TRV9FVkVOVCk7CiAgICAgICAgfSwKICAgICAgICAKICAgICAgICB1cGRhdGVTaXplOiBmdW5jdGlvbih3aW5IZWlnaHQpIHsKICAgIAogICAgICAgICAgICBpZihtZnAuaXNJT1MpIHsKICAgICAgICAgICAgICAgIC8vIGZpeGVzIGlPUyBuYXYgYmFycyBodHRwczovL2dpdGh1Yi5jb20vZGltc2VtZW5vdi9NYWduaWZpYy1Qb3B1cC9pc3N1ZXMvMgogICAgICAgICAgICAgICAgdmFyIHpvb21MZXZlbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAvIHdpbmRvdy5pbm5lcldpZHRoOwogICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAqIHpvb21MZXZlbDsKICAgICAgICAgICAgICAgIG1mcC53cmFwLmNzcygnaGVpZ2h0JywgaGVpZ2h0KTsKICAgICAgICAgICAgICAgIG1mcC53SCA9IGhlaWdodDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIG1mcC53SCA9IHdpbkhlaWdodCB8fCBfd2luZG93LmhlaWdodCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC8vIEZpeGVzICM4NDogcG9wdXAgaW5jb3JyZWN0bHkgcG9zaXRpb25lZCB3aXRoIHBvc2l0aW9uOnJlbGF0aXZlIG9uIGJvZHkKICAgICAgICAgICAgaWYoIW1mcC5maXhlZENvbnRlbnRQb3MpIHsKICAgICAgICAgICAgICAgIG1mcC53cmFwLmNzcygnaGVpZ2h0JywgbWZwLndIKTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdSZXNpemUnKTsKICAgIAogICAgICAgIH0sCiAgICAKICAgICAgICAvKioKICAgICAgICAgKiBTZXQgY29udGVudCBvZiBwb3B1cCBiYXNlZCBvbiBjdXJyZW50IGluZGV4CiAgICAgICAgICovCiAgICAgICAgdXBkYXRlSXRlbUhUTUw6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgaXRlbSA9IG1mcC5pdGVtc1ttZnAuaW5kZXhdOwogICAgCiAgICAgICAgICAgIC8vIERldGFjaCBhbmQgcGVyZm9ybSBtb2RpZmljYXRpb25zCiAgICAgICAgICAgIG1mcC5jb250ZW50Q29udGFpbmVyLmRldGFjaCgpOwogICAgCiAgICAgICAgICAgIGlmKG1mcC5jb250ZW50KQogICAgICAgICAgICAgICAgbWZwLmNvbnRlbnQuZGV0YWNoKCk7CiAgICAKICAgICAgICAgICAgaWYoIWl0ZW0ucGFyc2VkKSB7CiAgICAgICAgICAgICAgICBpdGVtID0gbWZwLnBhcnNlRWwoIG1mcC5pbmRleCApOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgdmFyIHR5cGUgPSBpdGVtLnR5cGU7CiAgICAKICAgICAgICAgICAgX21mcFRyaWdnZXIoJ0JlZm9yZUNoYW5nZScsIFttZnAuY3Vyckl0ZW0gPyBtZnAuY3Vyckl0ZW0udHlwZSA6ICcnLCB0eXBlXSk7CiAgICAgICAgICAgIC8vIEJlZm9yZUNoYW5nZSBldmVudCB3b3JrcyBsaWtlIHNvOgogICAgICAgICAgICAvLyBfbWZwT24oJ0JlZm9yZUNoYW5nZScsIGZ1bmN0aW9uKGUsIHByZXZUeXBlLCBuZXdUeXBlKSB7IH0pOwogICAgCiAgICAgICAgICAgIG1mcC5jdXJySXRlbSA9IGl0ZW07CiAgICAKICAgICAgICAgICAgaWYoIW1mcC5jdXJyVGVtcGxhdGVbdHlwZV0pIHsKICAgICAgICAgICAgICAgIHZhciBtYXJrdXAgPSBtZnAuc3RbdHlwZV0gPyBtZnAuc3RbdHlwZV0ubWFya3VwIDogZmFsc2U7CiAgICAKICAgICAgICAgICAgICAgIC8vIGFsbG93cyB0byBtb2RpZnkgbWFya3VwCiAgICAgICAgICAgICAgICBfbWZwVHJpZ2dlcignRmlyc3RNYXJrdXBQYXJzZScsIG1hcmt1cCk7CiAgICAKICAgICAgICAgICAgICAgIGlmKG1hcmt1cCkgewogICAgICAgICAgICAgICAgICAgIG1mcC5jdXJyVGVtcGxhdGVbdHlwZV0gPSAkKG1hcmt1cCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIG1hcmt1cCBmb3VuZCB3ZSBqdXN0IGRlZmluZSB0aGF0IHRlbXBsYXRlIGlzIHBhcnNlZAogICAgICAgICAgICAgICAgICAgIG1mcC5jdXJyVGVtcGxhdGVbdHlwZV0gPSB0cnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaWYoX3ByZXZDb250ZW50VHlwZSAmJiBfcHJldkNvbnRlbnRUeXBlICE9PSBpdGVtLnR5cGUpIHsKICAgICAgICAgICAgICAgIG1mcC5jb250YWluZXIucmVtb3ZlQ2xhc3MoJ21mcC0nK19wcmV2Q29udGVudFR5cGUrJy1ob2xkZXInKTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIHZhciBuZXdDb250ZW50ID0gbWZwWydnZXQnICsgdHlwZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR5cGUuc2xpY2UoMSldKGl0ZW0sIG1mcC5jdXJyVGVtcGxhdGVbdHlwZV0pOwogICAgICAgICAgICBtZnAuYXBwZW5kQ29udGVudChuZXdDb250ZW50LCB0eXBlKTsKICAgIAogICAgICAgICAgICBpdGVtLnByZWxvYWRlZCA9IHRydWU7CiAgICAKICAgICAgICAgICAgX21mcFRyaWdnZXIoQ0hBTkdFX0VWRU5ULCBpdGVtKTsKICAgICAgICAgICAgX3ByZXZDb250ZW50VHlwZSA9IGl0ZW0udHlwZTsKICAgIAogICAgICAgICAgICAvLyBBcHBlbmQgY29udGFpbmVyIGJhY2sgYWZ0ZXIgaXRzIGNvbnRlbnQgY2hhbmdlZAogICAgICAgICAgICBtZnAuY29udGFpbmVyLnByZXBlbmQobWZwLmNvbnRlbnRDb250YWluZXIpOwogICAgCiAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdBZnRlckNoYW5nZScpOwogICAgICAgIH0sCiAgICAKICAgIAogICAgICAgIC8qKgogICAgICAgICAqIFNldCBIVE1MIGNvbnRlbnQgb2YgcG9wdXAKICAgICAgICAgKi8KICAgICAgICBhcHBlbmRDb250ZW50OiBmdW5jdGlvbihuZXdDb250ZW50LCB0eXBlKSB7CiAgICAgICAgICAgIG1mcC5jb250ZW50ID0gbmV3Q29udGVudDsKICAgIAogICAgICAgICAgICBpZihuZXdDb250ZW50KSB7CiAgICAgICAgICAgICAgICBpZihtZnAuc3Quc2hvd0Nsb3NlQnRuICYmIG1mcC5zdC5jbG9zZUJ0bkluc2lkZSAmJgogICAgICAgICAgICAgICAgICAgIG1mcC5jdXJyVGVtcGxhdGVbdHlwZV0gPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBtYXJrdXAsIHdlIGp1c3QgYXBwZW5kIGNsb3NlIGJ1dHRvbiBlbGVtZW50IGluc2lkZQogICAgICAgICAgICAgICAgICAgIGlmKCFtZnAuY29udGVudC5maW5kKCcubWZwLWNsb3NlJykubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1mcC5jb250ZW50LmFwcGVuZChfZ2V0Q2xvc2VCdG4oKSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtZnAuY29udGVudCA9IG5ld0NvbnRlbnQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtZnAuY29udGVudCA9ICcnOwogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgX21mcFRyaWdnZXIoQkVGT1JFX0FQUEVORF9FVkVOVCk7CiAgICAgICAgICAgIG1mcC5jb250YWluZXIuYWRkQ2xhc3MoJ21mcC0nK3R5cGUrJy1ob2xkZXInKTsKICAgIAogICAgICAgICAgICBtZnAuY29udGVudENvbnRhaW5lci5hcHBlbmQobWZwLmNvbnRlbnQpOwogICAgICAgIH0sCiAgICAKICAgIAogICAgICAgIC8qKgogICAgICAgICAqIENyZWF0ZXMgTWFnbmlmaWMgUG9wdXAgZGF0YSBvYmplY3QgYmFzZWQgb24gZ2l2ZW4gZGF0YQogICAgICAgICAqIEBwYXJhbSAge2ludH0gaW5kZXggSW5kZXggb2YgaXRlbSB0byBwYXJzZQogICAgICAgICAqLwogICAgICAgIHBhcnNlRWw6IGZ1bmN0aW9uKGluZGV4KSB7CiAgICAgICAgICAgIHZhciBpdGVtID0gbWZwLml0ZW1zW2luZGV4XSwKICAgICAgICAgICAgICAgIHR5cGU7CiAgICAKICAgICAgICAgICAgaWYoaXRlbS50YWdOYW1lKSB7CiAgICAgICAgICAgICAgICBpdGVtID0geyBlbDogJChpdGVtKSB9OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgdHlwZSA9IGl0ZW0udHlwZTsKICAgICAgICAgICAgICAgIGl0ZW0gPSB7IGRhdGE6IGl0ZW0sIHNyYzogaXRlbS5zcmMgfTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIGlmKGl0ZW0uZWwpIHsKICAgICAgICAgICAgICAgIHZhciB0eXBlcyA9IG1mcC50eXBlczsKICAgIAogICAgICAgICAgICAgICAgLy8gY2hlY2sgZm9yICdtZnAtVFlQRScgY2xhc3MKICAgICAgICAgICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0eXBlcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGlmKCBpdGVtLmVsLmhhc0NsYXNzKCdtZnAtJyt0eXBlc1tpXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSB0eXBlc1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICBpdGVtLnNyYyA9IGl0ZW0uZWwuYXR0cignZGF0YS1tZnAtc3JjJyk7CiAgICAgICAgICAgICAgICBpZighaXRlbS5zcmMpIHsKICAgICAgICAgICAgICAgICAgICBpdGVtLnNyYyA9IGl0ZW0uZWwuYXR0cignaHJlZicpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaXRlbS50eXBlID0gdHlwZSB8fCBtZnAuc3QudHlwZSB8fCAnaW5saW5lJzsKICAgICAgICAgICAgaXRlbS5pbmRleCA9IGluZGV4OwogICAgICAgICAgICBpdGVtLnBhcnNlZCA9IHRydWU7CiAgICAgICAgICAgIG1mcC5pdGVtc1tpbmRleF0gPSBpdGVtOwogICAgICAgICAgICBfbWZwVHJpZ2dlcignRWxlbWVudFBhcnNlJywgaXRlbSk7CiAgICAKICAgICAgICAgICAgcmV0dXJuIG1mcC5pdGVtc1tpbmRleF07CiAgICAgICAgfSwKICAgIAogICAgCiAgICAgICAgLyoqCiAgICAgICAgICogSW5pdGlhbGl6ZXMgc2luZ2xlIHBvcHVwIG9yIGEgZ3JvdXAgb2YgcG9wdXBzCiAgICAgICAgICovCiAgICAgICAgYWRkR3JvdXA6IGZ1bmN0aW9uKGVsLCBvcHRpb25zKSB7CiAgICAgICAgICAgIHZhciBlSGFuZGxlciA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUubWZwRWwgPSB0aGlzOwogICAgICAgICAgICAgICAgbWZwLl9vcGVuQ2xpY2soZSwgZWwsIG9wdGlvbnMpOwogICAgICAgICAgICB9OwogICAgCiAgICAgICAgICAgIGlmKCFvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zID0ge307CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICB2YXIgZU5hbWUgPSAnY2xpY2subWFnbmlmaWNQb3B1cCc7CiAgICAgICAgICAgIG9wdGlvbnMubWFpbkVsID0gZWw7CiAgICAKICAgICAgICAgICAgaWYob3B0aW9ucy5pdGVtcykgewogICAgICAgICAgICAgICAgb3B0aW9ucy5pc09iaiA9IHRydWU7CiAgICAgICAgICAgICAgICBlbC5vZmYoZU5hbWUpLm9uKGVOYW1lLCBlSGFuZGxlcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBvcHRpb25zLmlzT2JqID0gZmFsc2U7CiAgICAgICAgICAgICAgICBpZihvcHRpb25zLmRlbGVnYXRlKSB7CiAgICAgICAgICAgICAgICAgICAgZWwub2ZmKGVOYW1lKS5vbihlTmFtZSwgb3B0aW9ucy5kZWxlZ2F0ZSAsIGVIYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5pdGVtcyA9IGVsOwogICAgICAgICAgICAgICAgICAgIGVsLm9mZihlTmFtZSkub24oZU5hbWUsIGVIYW5kbGVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgX29wZW5DbGljazogZnVuY3Rpb24oZSwgZWwsIG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIG1pZENsaWNrID0gb3B0aW9ucy5taWRDbGljayAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5taWRDbGljayA6ICQubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljazsKICAgIAogICAgCiAgICAgICAgICAgIGlmKCFtaWRDbGljayAmJiAoIGUud2hpY2ggPT09IDIgfHwgZS5jdHJsS2V5IHx8IGUubWV0YUtleSB8fCBlLmFsdEtleSB8fCBlLnNoaWZ0S2V5ICkgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICB2YXIgZGlzYWJsZU9uID0gb3B0aW9ucy5kaXNhYmxlT24gIT09IHVuZGVmaW5lZCA/IG9wdGlvbnMuZGlzYWJsZU9uIDogJC5tYWduaWZpY1BvcHVwLmRlZmF1bHRzLmRpc2FibGVPbjsKICAgIAogICAgICAgICAgICBpZihkaXNhYmxlT24pIHsKICAgICAgICAgICAgICAgIGlmKCQuaXNGdW5jdGlvbihkaXNhYmxlT24pKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoICFkaXNhYmxlT24uY2FsbChtZnApICkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgeyAvLyBlbHNlIGl0J3MgbnVtYmVyCiAgICAgICAgICAgICAgICAgICAgaWYoIF93aW5kb3cud2lkdGgoKSA8IGRpc2FibGVPbiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgaWYoZS50eXBlKSB7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAKICAgICAgICAgICAgICAgIC8vIFRoaXMgd2lsbCBwcmV2ZW50IHBvcHVwIGZyb20gY2xvc2luZyBpZiBlbGVtZW50IGlzIGluc2lkZSBhbmQgcG9wdXAgaXMgYWxyZWFkeSBvcGVuZWQKICAgICAgICAgICAgICAgIGlmKG1mcC5pc09wZW4pIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgb3B0aW9ucy5lbCA9ICQoZS5tZnBFbCk7CiAgICAgICAgICAgIGlmKG9wdGlvbnMuZGVsZWdhdGUpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMuaXRlbXMgPSBlbC5maW5kKG9wdGlvbnMuZGVsZWdhdGUpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG1mcC5vcGVuKG9wdGlvbnMpOwogICAgICAgIH0sCiAgICAKICAgIAogICAgICAgIC8qKgogICAgICAgICAqIFVwZGF0ZXMgdGV4dCBvbiBwcmVsb2FkZXIKICAgICAgICAgKi8KICAgICAgICB1cGRhdGVTdGF0dXM6IGZ1bmN0aW9uKHN0YXR1cywgdGV4dCkgewogICAgCiAgICAgICAgICAgIGlmKG1mcC5wcmVsb2FkZXIpIHsKICAgICAgICAgICAgICAgIGlmKF9wcmV2U3RhdHVzICE9PSBzdGF0dXMpIHsKICAgICAgICAgICAgICAgICAgICBtZnAuY29udGFpbmVyLnJlbW92ZUNsYXNzKCdtZnAtcy0nK19wcmV2U3RhdHVzKTsKICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgaWYoIXRleHQgJiYgc3RhdHVzID09PSAnbG9hZGluZycpIHsKICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gbWZwLnN0LnRMb2FkaW5nOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IHsKICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1cywKICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0CiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgLy8gYWxsb3dzIHRvIG1vZGlmeSBzdGF0dXMKICAgICAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdVcGRhdGVTdGF0dXMnLCBkYXRhKTsKICAgIAogICAgICAgICAgICAgICAgc3RhdHVzID0gZGF0YS5zdGF0dXM7CiAgICAgICAgICAgICAgICB0ZXh0ID0gZGF0YS50ZXh0OwogICAgCiAgICAgICAgICAgICAgICBtZnAucHJlbG9hZGVyLmh0bWwodGV4dCk7CiAgICAKICAgICAgICAgICAgICAgIG1mcC5wcmVsb2FkZXIuZmluZCgnYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgICAgIG1mcC5jb250YWluZXIuYWRkQ2xhc3MoJ21mcC1zLScrc3RhdHVzKTsKICAgICAgICAgICAgICAgIF9wcmV2U3RhdHVzID0gc3RhdHVzOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgIAogICAgCiAgICAgICAgLyoKICAgICAgICAgICAgIlByaXZhdGUiIGhlbHBlcnMgdGhhdCBhcmVuJ3QgcHJpdmF0ZSBhdCBhbGwKICAgICAgICAgKi8KICAgICAgICAvLyBDaGVjayB0byBjbG9zZSBwb3B1cCBvciBub3QKICAgICAgICAvLyAidGFyZ2V0IiBpcyBhbiBlbGVtZW50IHRoYXQgd2FzIGNsaWNrZWQKICAgICAgICBfY2hlY2tJZkNsb3NlOiBmdW5jdGlvbih0YXJnZXQpIHsKICAgIAogICAgICAgICAgICBpZigkKHRhcmdldCkuaGFzQ2xhc3MoUFJFVkVOVF9DTE9TRV9DTEFTUykpIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIHZhciBjbG9zZU9uQ29udGVudCA9IG1mcC5zdC5jbG9zZU9uQ29udGVudENsaWNrOwogICAgICAgICAgICB2YXIgY2xvc2VPbkJnID0gbWZwLnN0LmNsb3NlT25CZ0NsaWNrOwogICAgCiAgICAgICAgICAgIGlmKGNsb3NlT25Db250ZW50ICYmIGNsb3NlT25CZykgewogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAKICAgICAgICAgICAgICAgIC8vIFdlIGNsb3NlIHRoZSBwb3B1cCBpZiBjbGljayBpcyBvbiBjbG9zZSBidXR0b24gb3Igb24gcHJlbG9hZGVyLiBPciBpZiB0aGVyZSBpcyBubyBjb250ZW50LgogICAgICAgICAgICAgICAgaWYoIW1mcC5jb250ZW50IHx8ICQodGFyZ2V0KS5oYXNDbGFzcygnbWZwLWNsb3NlJykgfHwgKG1mcC5wcmVsb2FkZXIgJiYgdGFyZ2V0ID09PSBtZnAucHJlbG9hZGVyWzBdKSApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgLy8gaWYgY2xpY2sgaXMgb3V0c2lkZSB0aGUgY29udGVudAogICAgICAgICAgICAgICAgaWYoICAodGFyZ2V0ICE9PSBtZnAuY29udGVudFswXSAmJiAhJC5jb250YWlucyhtZnAuY29udGVudFswXSwgdGFyZ2V0KSkgICkgewogICAgICAgICAgICAgICAgICAgIGlmKGNsb3NlT25CZykgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBsYXN0IGNoZWNrLCBpZiB0aGUgY2xpY2tlZCBlbGVtZW50IGlzIGluIERPTSwgKGluIGNhc2UgaXQncyByZW1vdmVkIG9uY2xpY2spCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkLmNvbnRhaW5zKGRvY3VtZW50LCB0YXJnZXQpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoY2xvc2VPbkNvbnRlbnQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9LAogICAgICAgIF9hZGRDbGFzc1RvTUZQOiBmdW5jdGlvbihjTmFtZSkgewogICAgICAgICAgICBtZnAuYmdPdmVybGF5LmFkZENsYXNzKGNOYW1lKTsKICAgICAgICAgICAgbWZwLndyYXAuYWRkQ2xhc3MoY05hbWUpOwogICAgICAgIH0sCiAgICAgICAgX3JlbW92ZUNsYXNzRnJvbU1GUDogZnVuY3Rpb24oY05hbWUpIHsKICAgICAgICAgICAgdGhpcy5iZ092ZXJsYXkucmVtb3ZlQ2xhc3MoY05hbWUpOwogICAgICAgICAgICBtZnAud3JhcC5yZW1vdmVDbGFzcyhjTmFtZSk7CiAgICAgICAgfSwKICAgICAgICBfaGFzU2Nyb2xsQmFyOiBmdW5jdGlvbih3aW5IZWlnaHQpIHsKICAgICAgICAgICAgcmV0dXJuICggIChtZnAuaXNJRTcgPyBfZG9jdW1lbnQuaGVpZ2h0KCkgOiBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCkgPiAod2luSGVpZ2h0IHx8IF93aW5kb3cuaGVpZ2h0KCkpICk7CiAgICAgICAgfSwKICAgICAgICBfc2V0Rm9jdXM6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAobWZwLnN0LmZvY3VzID8gbWZwLmNvbnRlbnQuZmluZChtZnAuc3QuZm9jdXMpLmVxKDApIDogbWZwLndyYXApLmZvY3VzKCk7CiAgICAgICAgfSwKICAgICAgICBfb25Gb2N1c0luOiBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIGlmKCBlLnRhcmdldCAhPT0gbWZwLndyYXBbMF0gJiYgISQuY29udGFpbnMobWZwLndyYXBbMF0sIGUudGFyZ2V0KSApIHsKICAgICAgICAgICAgICAgIG1mcC5fc2V0Rm9jdXMoKTsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgX3BhcnNlTWFya3VwOiBmdW5jdGlvbih0ZW1wbGF0ZSwgdmFsdWVzLCBpdGVtKSB7CiAgICAgICAgICAgIHZhciBhcnI7CiAgICAgICAgICAgIGlmKGl0ZW0uZGF0YSkgewogICAgICAgICAgICAgICAgdmFsdWVzID0gJC5leHRlbmQoaXRlbS5kYXRhLCB2YWx1ZXMpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIF9tZnBUcmlnZ2VyKE1BUktVUF9QQVJTRV9FVkVOVCwgW3RlbXBsYXRlLCB2YWx1ZXMsIGl0ZW1dICk7CiAgICAKICAgICAgICAgICAgJC5lYWNoKHZhbHVlcywgZnVuY3Rpb24oa2V5LCB2YWx1ZSkgewogICAgICAgICAgICAgICAgaWYodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGFyciA9IGtleS5zcGxpdCgnXycpOwogICAgICAgICAgICAgICAgaWYoYXJyLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZWwgPSB0ZW1wbGF0ZS5maW5kKEVWRU5UX05TICsgJy0nK2FyclswXSk7CiAgICAKICAgICAgICAgICAgICAgICAgICBpZihlbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhdHRyID0gYXJyWzFdOwogICAgICAgICAgICAgICAgICAgICAgICBpZihhdHRyID09PSAncmVwbGFjZVdpdGgnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihlbFswXSAhPT0gdmFsdWVbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5yZXBsYWNlV2l0aCh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZihhdHRyID09PSAnaW1nJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZWwuaXMoJ2ltZycpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuYXR0cignc3JjJywgdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbC5yZXBsYWNlV2l0aCggJCgnPGltZz4nKS5hdHRyKCdzcmMnLCB2YWx1ZSkuYXR0cignY2xhc3MnLCBlbC5hdHRyKCdjbGFzcycpKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWwuYXR0cihhcnJbMV0sIHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5maW5kKEVWRU5UX05TICsgJy0nK2tleSkuaHRtbCh2YWx1ZSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCiAgICAKICAgICAgICBfZ2V0U2Nyb2xsYmFyU2l6ZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIC8vIHRoeCBEYXZpZAogICAgICAgICAgICBpZihtZnAuc2Nyb2xsYmFyU2l6ZSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICB2YXIgc2Nyb2xsRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICAgICBzY3JvbGxEaXYuc3R5bGUuY3NzVGV4dCA9ICd3aWR0aDogOTlweDsgaGVpZ2h0OiA5OXB4OyBvdmVyZmxvdzogc2Nyb2xsOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTk5OTlweDsnOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JvbGxEaXYpOwogICAgICAgICAgICAgICAgbWZwLnNjcm9sbGJhclNpemUgPSBzY3JvbGxEaXYub2Zmc2V0V2lkdGggLSBzY3JvbGxEaXYuY2xpZW50V2lkdGg7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNjcm9sbERpdik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIG1mcC5zY3JvbGxiYXJTaXplOwogICAgICAgIH0KICAgIAogICAgfTsgLyogTWFnbmlmaWNQb3B1cCBjb3JlIHByb3RvdHlwZSBlbmQgKi8KICAgIAogICAgCiAgICAKICAgIAogICAgLyoqCiAgICAgKiBQdWJsaWMgc3RhdGljIGZ1bmN0aW9ucwogICAgICovCiAgICAkLm1hZ25pZmljUG9wdXAgPSB7CiAgICAgICAgaW5zdGFuY2U6IG51bGwsCiAgICAgICAgcHJvdG86IE1hZ25pZmljUG9wdXAucHJvdG90eXBlLAogICAgICAgIG1vZHVsZXM6IFtdLAogICAgCiAgICAgICAgb3BlbjogZnVuY3Rpb24ob3B0aW9ucywgaW5kZXgpIHsKICAgICAgICAgICAgX2NoZWNrSW5zdGFuY2UoKTsKICAgIAogICAgICAgICAgICBpZighb3B0aW9ucykgewogICAgICAgICAgICAgICAgb3B0aW9ucyA9IHt9OwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBvcHRpb25zKTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIG9wdGlvbnMuaXNPYmogPSB0cnVlOwogICAgICAgICAgICBvcHRpb25zLmluZGV4ID0gaW5kZXggfHwgMDsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2Uub3BlbihvcHRpb25zKTsKICAgICAgICB9LAogICAgCiAgICAgICAgY2xvc2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICByZXR1cm4gJC5tYWduaWZpY1BvcHVwLmluc3RhbmNlICYmICQubWFnbmlmaWNQb3B1cC5pbnN0YW5jZS5jbG9zZSgpOwogICAgICAgIH0sCiAgICAKICAgICAgICByZWdpc3Rlck1vZHVsZTogZnVuY3Rpb24obmFtZSwgbW9kdWxlKSB7CiAgICAgICAgICAgIGlmKG1vZHVsZS5vcHRpb25zKSB7CiAgICAgICAgICAgICAgICAkLm1hZ25pZmljUG9wdXAuZGVmYXVsdHNbbmFtZV0gPSBtb2R1bGUub3B0aW9uczsKICAgICAgICAgICAgfQogICAgICAgICAgICAkLmV4dGVuZCh0aGlzLnByb3RvLCBtb2R1bGUucHJvdG8pOwogICAgICAgICAgICB0aGlzLm1vZHVsZXMucHVzaChuYW1lKTsKICAgICAgICB9LAogICAgCiAgICAgICAgZGVmYXVsdHM6IHsKICAgIAogICAgICAgICAgICAvLyBJbmZvIGFib3V0IG9wdGlvbnMgaXMgaW4gZG9jczoKICAgICAgICAgICAgLy8gaHR0cDovL2RpbXNlbWVub3YuY29tL3BsdWdpbnMvbWFnbmlmaWMtcG9wdXAvZG9jdW1lbnRhdGlvbi5odG1sI29wdGlvbnMKICAgIAogICAgICAgICAgICBkaXNhYmxlT246IDAsCiAgICAKICAgICAgICAgICAga2V5OiBudWxsLAogICAgCiAgICAgICAgICAgIG1pZENsaWNrOiBmYWxzZSwKICAgIAogICAgICAgICAgICBtYWluQ2xhc3M6ICcnLAogICAgCiAgICAgICAgICAgIHByZWxvYWRlcjogdHJ1ZSwKICAgIAogICAgICAgICAgICBmb2N1czogJycsIC8vIENTUyBzZWxlY3RvciBvZiBpbnB1dCB0byBmb2N1cyBhZnRlciBwb3B1cCBpcyBvcGVuZWQKICAgIAogICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiBmYWxzZSwKICAgIAogICAgICAgICAgICBjbG9zZU9uQmdDbGljazogdHJ1ZSwKICAgIAogICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogdHJ1ZSwKICAgIAogICAgICAgICAgICBzaG93Q2xvc2VCdG46IHRydWUsCiAgICAKICAgICAgICAgICAgZW5hYmxlRXNjYXBlS2V5OiB0cnVlLAogICAgCiAgICAgICAgICAgIG1vZGFsOiBmYWxzZSwKICAgIAogICAgICAgICAgICBhbGlnblRvcDogZmFsc2UsCiAgICAKICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiAwLAogICAgCiAgICAgICAgICAgIHByZXBlbmRUbzogbnVsbCwKICAgIAogICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6ICdhdXRvJywKICAgIAogICAgICAgICAgICBmaXhlZEJnUG9zOiAnYXV0bycsCiAgICAKICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsCiAgICAKICAgICAgICAgICAgY2xvc2VNYXJrdXA6ICc8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtY2xvc2UiPiYjMjE1OzwvYnV0dG9uPicsCiAgICAKICAgICAgICAgICAgdENsb3NlOiAnQ2xvc2UgKEVzYyknLAogICAgCiAgICAgICAgICAgIHRMb2FkaW5nOiAnTG9hZGluZy4uLicsCiAgICAKICAgICAgICAgICAgYXV0b0ZvY3VzTGFzdDogdHJ1ZQogICAgCiAgICAgICAgfQogICAgfTsKICAgIAogICAgCiAgICAKICAgICQuZm4ubWFnbmlmaWNQb3B1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICBfY2hlY2tJbnN0YW5jZSgpOwogICAgCiAgICAgICAgdmFyIGpxRWwgPSAkKHRoaXMpOwogICAgCiAgICAgICAgLy8gV2UgY2FsbCBzb21lIEFQSSBtZXRob2Qgb2YgZmlyc3QgcGFyYW0gaXMgYSBzdHJpbmcKICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciICkgewogICAgCiAgICAgICAgICAgIGlmKG9wdGlvbnMgPT09ICdvcGVuJykgewogICAgICAgICAgICAgICAgdmFyIGl0ZW1zLAogICAgICAgICAgICAgICAgICAgIGl0ZW1PcHRzID0gX2lzSlEgPyBqcUVsLmRhdGEoJ21hZ25pZmljUG9wdXAnKSA6IGpxRWxbMF0ubWFnbmlmaWNQb3B1cCwKICAgICAgICAgICAgICAgICAgICBpbmRleCA9IHBhcnNlSW50KGFyZ3VtZW50c1sxXSwgMTApIHx8IDA7CiAgICAKICAgICAgICAgICAgICAgIGlmKGl0ZW1PcHRzLml0ZW1zKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBpdGVtT3B0cy5pdGVtc1tpbmRleF07CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGl0ZW1zID0ganFFbDsKICAgICAgICAgICAgICAgICAgICBpZihpdGVtT3B0cy5kZWxlZ2F0ZSkgewogICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGl0ZW1zLmZpbmQoaXRlbU9wdHMuZGVsZWdhdGUpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGl0ZW1zLmVxKCBpbmRleCApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbWZwLl9vcGVuQ2xpY2soe21mcEVsOml0ZW1zfSwganFFbCwgaXRlbU9wdHMpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYobWZwLmlzT3BlbikKICAgICAgICAgICAgICAgICAgICBtZnBbb3B0aW9uc10uYXBwbHkobWZwLCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKTsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gY2xvbmUgb3B0aW9ucyBvYmoKICAgICAgICAgICAgb3B0aW9ucyA9ICQuZXh0ZW5kKHRydWUsIHt9LCBvcHRpb25zKTsKICAgIAogICAgICAgICAgICAvKgogICAgICAgICAgICAgKiBBcyBaZXB0byBkb2Vzbid0IHN1cHBvcnQgLmRhdGEoKSBtZXRob2QgZm9yIG9iamVjdHMKICAgICAgICAgICAgICogYW5kIGl0IHdvcmtzIG9ubHkgaW4gbm9ybWFsIGJyb3dzZXJzCiAgICAgICAgICAgICAqIHdlIGFzc2lnbiAib3B0aW9ucyIgb2JqZWN0IGRpcmVjdGx5IHRvIHRoZSBET00gZWxlbWVudC4gRlRXIQogICAgICAgICAgICAgKi8KICAgICAgICAgICAgaWYoX2lzSlEpIHsKICAgICAgICAgICAgICAgIGpxRWwuZGF0YSgnbWFnbmlmaWNQb3B1cCcsIG9wdGlvbnMpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAganFFbFswXS5tYWduaWZpY1BvcHVwID0gb3B0aW9uczsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIG1mcC5hZGRHcm91cChqcUVsLCBvcHRpb25zKTsKICAgIAogICAgICAgIH0KICAgICAgICByZXR1cm4ganFFbDsKICAgIH07CiAgICAKICAgIC8qPj5jb3JlKi8KICAgIAogICAgLyo+PmlubGluZSovCiAgICAKICAgIHZhciBJTkxJTkVfTlMgPSAnaW5saW5lJywKICAgICAgICBfaGlkZGVuQ2xhc3MsCiAgICAgICAgX2lubGluZVBsYWNlaG9sZGVyLAogICAgICAgIF9sYXN0SW5saW5lRWxlbWVudCwKICAgICAgICBfcHV0SW5saW5lRWxlbWVudHNCYWNrID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmKF9sYXN0SW5saW5lRWxlbWVudCkgewogICAgICAgICAgICAgICAgX2lubGluZVBsYWNlaG9sZGVyLmFmdGVyKCBfbGFzdElubGluZUVsZW1lbnQuYWRkQ2xhc3MoX2hpZGRlbkNsYXNzKSApLmRldGFjaCgpOwogICAgICAgICAgICAgICAgX2xhc3RJbmxpbmVFbGVtZW50ID0gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAKICAgICQubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJTkxJTkVfTlMsIHsKICAgICAgICBvcHRpb25zOiB7CiAgICAgICAgICAgIGhpZGRlbkNsYXNzOiAnaGlkZScsIC8vIHdpbGwgYmUgYXBwZW5kZWQgd2l0aCBgbWZwLWAgcHJlZml4CiAgICAgICAgICAgIG1hcmt1cDogJycsCiAgICAgICAgICAgIHROb3RGb3VuZDogJ0NvbnRlbnQgbm90IGZvdW5kJwogICAgICAgIH0sCiAgICAgICAgcHJvdG86IHsKICAgIAogICAgICAgICAgICBpbml0SW5saW5lOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG1mcC50eXBlcy5wdXNoKElOTElORV9OUyk7CiAgICAKICAgICAgICAgICAgICAgIF9tZnBPbihDTE9TRV9FVkVOVCsnLicrSU5MSU5FX05TLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBfcHV0SW5saW5lRWxlbWVudHNCYWNrKCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwKICAgIAogICAgICAgICAgICBnZXRJbmxpbmU6IGZ1bmN0aW9uKGl0ZW0sIHRlbXBsYXRlKSB7CiAgICAKICAgICAgICAgICAgICAgIF9wdXRJbmxpbmVFbGVtZW50c0JhY2soKTsKICAgIAogICAgICAgICAgICAgICAgaWYoaXRlbS5zcmMpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaW5saW5lU3QgPSBtZnAuc3QuaW5saW5lLAogICAgICAgICAgICAgICAgICAgICAgICBlbCA9ICQoaXRlbS5zcmMpOwogICAgCiAgICAgICAgICAgICAgICAgICAgaWYoZWwubGVuZ3RoKSB7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGFyZ2V0IGVsZW1lbnQgaGFzIHBhcmVudCAtIHdlIHJlcGxhY2UgaXQgd2l0aCBwbGFjZWhvbGRlciBhbmQgcHV0IGl0IGJhY2sgYWZ0ZXIgcG9wdXAgaXMgY2xvc2VkCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnQgPSBlbFswXS5wYXJlbnROb2RlOwogICAgICAgICAgICAgICAgICAgICAgICBpZihwYXJlbnQgJiYgcGFyZW50LnRhZ05hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFfaW5saW5lUGxhY2Vob2xkZXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaGlkZGVuQ2xhc3MgPSBpbmxpbmVTdC5oaWRkZW5DbGFzczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5saW5lUGxhY2Vob2xkZXIgPSBfZ2V0RWwoX2hpZGRlbkNsYXNzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaGlkZGVuQ2xhc3MgPSAnbWZwLScrX2hpZGRlbkNsYXNzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVwbGFjZSB0YXJnZXQgaW5saW5lIGVsZW1lbnQgd2l0aCBwbGFjZWhvbGRlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgX2xhc3RJbmxpbmVFbGVtZW50ID0gZWwuYWZ0ZXIoX2lubGluZVBsYWNlaG9sZGVyKS5kZXRhY2goKS5yZW1vdmVDbGFzcyhfaGlkZGVuQ2xhc3MpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLnVwZGF0ZVN0YXR1cygncmVhZHknKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBtZnAudXBkYXRlU3RhdHVzKCdlcnJvcicsIGlubGluZVN0LnROb3RGb3VuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsID0gJCgnPGRpdj4nKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICBpdGVtLmlubGluZUVsZW1lbnQgPSBlbDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWw7CiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIG1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CiAgICAgICAgICAgICAgICBtZnAuX3BhcnNlTWFya3VwKHRlbXBsYXRlLCB7fSwgaXRlbSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdGVtcGxhdGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLyo+PmlubGluZSovCiAgICAKICAgIC8qPj5hamF4Ki8KICAgIHZhciBBSkFYX05TID0gJ2FqYXgnLAogICAgICAgIF9hamF4Q3VyLAogICAgICAgIF9yZW1vdmVBamF4Q3Vyc29yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmKF9hamF4Q3VyKSB7CiAgICAgICAgICAgICAgICAkKGRvY3VtZW50LmJvZHkpLnJlbW92ZUNsYXNzKF9hamF4Q3VyKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgX2Rlc3Ryb3lBamF4UmVxdWVzdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICBfcmVtb3ZlQWpheEN1cnNvcigpOwogICAgICAgICAgICBpZihtZnAucmVxKSB7CiAgICAgICAgICAgICAgICBtZnAucmVxLmFib3J0KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgCiAgICAkLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoQUpBWF9OUywgewogICAgCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICBzZXR0aW5nczogbnVsbCwKICAgICAgICAgICAgY3Vyc29yOiAnbWZwLWFqYXgtY3VyJywKICAgICAgICAgICAgdEVycm9yOiAnPGEgaHJlZj0iJXVybCUiPlRoZSBjb250ZW50PC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLicKICAgICAgICB9LAogICAgCiAgICAgICAgcHJvdG86IHsKICAgICAgICAgICAgaW5pdEFqYXg6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbWZwLnR5cGVzLnB1c2goQUpBWF9OUyk7CiAgICAgICAgICAgICAgICBfYWpheEN1ciA9IG1mcC5zdC5hamF4LmN1cnNvcjsKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKENMT1NFX0VWRU5UKycuJytBSkFYX05TLCBfZGVzdHJveUFqYXhSZXF1ZXN0KTsKICAgICAgICAgICAgICAgIF9tZnBPbignQmVmb3JlQ2hhbmdlLicgKyBBSkFYX05TLCBfZGVzdHJveUFqYXhSZXF1ZXN0KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZ2V0QWpheDogZnVuY3Rpb24oaXRlbSkgewogICAgCiAgICAgICAgICAgICAgICBpZihfYWpheEN1cikgewogICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoX2FqYXhDdXIpOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICBtZnAudXBkYXRlU3RhdHVzKCdsb2FkaW5nJyk7CiAgICAKICAgICAgICAgICAgICAgIHZhciBvcHRzID0gJC5leHRlbmQoewogICAgICAgICAgICAgICAgICAgIHVybDogaXRlbS5zcmMsCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSwgdGV4dFN0YXR1cywganFYSFIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRlbXAgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4aHI6anFYSFIKICAgICAgICAgICAgICAgICAgICAgICAgfTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBfbWZwVHJpZ2dlcignUGFyc2VBamF4JywgdGVtcCk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmFwcGVuZENvbnRlbnQoICQodGVtcC5kYXRhKSwgQUpBWF9OUyApOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmluaXNoZWQgPSB0cnVlOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIF9yZW1vdmVBamF4Q3Vyc29yKCk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLl9zZXRGb2N1cygpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5hZGRDbGFzcyhSRUFEWV9DTEFTUyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE2KTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBtZnAudXBkYXRlU3RhdHVzKCdyZWFkeScpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdBamF4Q29udGVudEFkZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIF9yZW1vdmVBamF4Q3Vyc29yKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZmluaXNoZWQgPSBpdGVtLmxvYWRFcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIG1mcC51cGRhdGVTdGF0dXMoJ2Vycm9yJywgbWZwLnN0LmFqYXgudEVycm9yLnJlcGxhY2UoJyV1cmwlJywgaXRlbS5zcmMpKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LCBtZnAuc3QuYWpheC5zZXR0aW5ncyk7CiAgICAKICAgICAgICAgICAgICAgIG1mcC5yZXEgPSAkLmFqYXgob3B0cyk7CiAgICAKICAgICAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwogICAgCiAgICAvKj4+YWpheCovCiAgICAKICAgIC8qPj5pbWFnZSovCiAgICB2YXIgX2ltZ0ludGVydmFsLAogICAgICAgIF9nZXRUaXRsZSA9IGZ1bmN0aW9uKGl0ZW0pIHsKICAgICAgICAgICAgaWYoaXRlbS5kYXRhICYmIGl0ZW0uZGF0YS50aXRsZSAhPT0gdW5kZWZpbmVkKQogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZGF0YS50aXRsZTsKICAgIAogICAgICAgICAgICB2YXIgc3JjID0gbWZwLnN0LmltYWdlLnRpdGxlU3JjOwogICAgCiAgICAgICAgICAgIGlmKHNyYykgewogICAgICAgICAgICAgICAgaWYoJC5pc0Z1bmN0aW9uKHNyYykpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3JjLmNhbGwobWZwLCBpdGVtKTsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZihpdGVtLmVsKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZWwuYXR0cihzcmMpIHx8ICcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAnJzsKICAgICAgICB9OwogICAgCiAgICAkLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoJ2ltYWdlJywgewogICAgCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICBtYXJrdXA6ICc8ZGl2IGNsYXNzPSJtZnAtZmlndXJlIj4nKwogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj4nKwogICAgICAgICAgICAgICAgICAgICAgICAnPGZpZ3VyZT4nKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im1mcC1pbWciPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGZpZ2NhcHRpb24+JysKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibWZwLWJvdHRvbS1iYXIiPicrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJtZnAtdGl0bGUiPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJtZnAtY291bnRlciI+PC9kaXY+JysKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JysKICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L2ZpZ2NhcHRpb24+JysKICAgICAgICAgICAgICAgICAgICAgICAgJzwvZmlndXJlPicrCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAgICAgIGN1cnNvcjogJ21mcC16b29tLW91dC1jdXInLAogICAgICAgICAgICB0aXRsZVNyYzogJ3RpdGxlJywKICAgICAgICAgICAgdmVydGljYWxGaXQ6IHRydWUsCiAgICAgICAgICAgIHRFcnJvcjogJzxhIGhyZWY9IiV1cmwlIj5UaGUgaW1hZ2U8L2E+IGNvdWxkIG5vdCBiZSBsb2FkZWQuJwogICAgICAgIH0sCiAgICAKICAgICAgICBwcm90bzogewogICAgICAgICAgICBpbml0SW1hZ2U6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIGltZ1N0ID0gbWZwLnN0LmltYWdlLAogICAgICAgICAgICAgICAgICAgIG5zID0gJy5pbWFnZSc7CiAgICAKICAgICAgICAgICAgICAgIG1mcC50eXBlcy5wdXNoKCdpbWFnZScpOwogICAgCiAgICAgICAgICAgICAgICBfbWZwT24oT1BFTl9FVkVOVCtucywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYobWZwLmN1cnJJdGVtLnR5cGUgPT09ICdpbWFnZScgJiYgaW1nU3QuY3Vyc29yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoaW1nU3QuY3Vyc29yKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKENMT1NFX0VWRU5UK25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZihpbWdTdC5jdXJzb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhpbWdTdC5jdXJzb3IpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBfd2luZG93Lm9mZigncmVzaXplJyArIEVWRU5UX05TKTsKICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICAgICBfbWZwT24oJ1Jlc2l6ZScrbnMsIG1mcC5yZXNpemVJbWFnZSk7CiAgICAgICAgICAgICAgICBpZihtZnAuaXNMb3dJRSkgewogICAgICAgICAgICAgICAgICAgIF9tZnBPbignQWZ0ZXJDaGFuZ2UnLCBtZnAucmVzaXplSW1hZ2UpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICByZXNpemVJbWFnZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IG1mcC5jdXJySXRlbTsKICAgICAgICAgICAgICAgIGlmKCFpdGVtIHx8ICFpdGVtLmltZykgcmV0dXJuOwogICAgCiAgICAgICAgICAgICAgICBpZihtZnAuc3QuaW1hZ2UudmVydGljYWxGaXQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGVjciA9IDA7CiAgICAgICAgICAgICAgICAgICAgLy8gZml4IGJveC1zaXppbmcgaW4gaWU3LzgKICAgICAgICAgICAgICAgICAgICBpZihtZnAuaXNMb3dJRSkgewogICAgICAgICAgICAgICAgICAgICAgICBkZWNyID0gcGFyc2VJbnQoaXRlbS5pbWcuY3NzKCdwYWRkaW5nLXRvcCcpLCAxMCkgKyBwYXJzZUludChpdGVtLmltZy5jc3MoJ3BhZGRpbmctYm90dG9tJyksMTApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpdGVtLmltZy5jc3MoJ21heC1oZWlnaHQnLCBtZnAud0gtZGVjcik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF9vbkltYWdlSGFzU2l6ZTogZnVuY3Rpb24oaXRlbSkgewogICAgICAgICAgICAgICAgaWYoaXRlbS5pbWcpIHsKICAgIAogICAgICAgICAgICAgICAgICAgIGl0ZW0uaGFzU2l6ZSA9IHRydWU7CiAgICAKICAgICAgICAgICAgICAgICAgICBpZihfaW1nSW50ZXJ2YWwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChfaW1nSW50ZXJ2YWwpOwogICAgICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNDaGVja2luZ0ltZ1NpemUgPSBmYWxzZTsKICAgIAogICAgICAgICAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdJbWFnZUhhc1NpemUnLCBpdGVtKTsKICAgIAogICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0uaW1nSGlkZGVuKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKG1mcC5jb250ZW50KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmNvbnRlbnQucmVtb3ZlQ2xhc3MoJ21mcC1sb2FkaW5nJyk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pbWdIaWRkZW4gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgIAogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogRnVuY3Rpb24gdGhhdCBsb29wcyB1bnRpbCB0aGUgaW1hZ2UgaGFzIHNpemUgdG8gZGlzcGxheSBlbGVtZW50cyB0aGF0IHJlbHkgb24gaXQgYXNhcAogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZmluZEltYWdlU2l6ZTogZnVuY3Rpb24oaXRlbSkgewogICAgCiAgICAgICAgICAgICAgICB2YXIgY291bnRlciA9IDAsCiAgICAgICAgICAgICAgICAgICAgaW1nID0gaXRlbS5pbWdbMF0sCiAgICAgICAgICAgICAgICAgICAgbWZwU2V0SW50ZXJ2YWwgPSBmdW5jdGlvbihkZWxheSkgewogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKF9pbWdJbnRlcnZhbCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChfaW1nSW50ZXJ2YWwpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRlY2VsZXJhdGluZyBpbnRlcnZhbCB0aGF0IGNoZWNrcyBmb3Igc2l6ZSBvZiBhbiBpbWFnZQogICAgICAgICAgICAgICAgICAgICAgICBfaW1nSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGltZy5uYXR1cmFsV2lkdGggPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZwLl9vbkltYWdlSGFzU2l6ZShpdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIgPiAyMDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKF9pbWdJbnRlcnZhbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ZXIrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGNvdW50ZXIgPT09IDMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnBTZXRJbnRlcnZhbCgxMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYoY291bnRlciA9PT0gNDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnBTZXRJbnRlcnZhbCg1MCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYoY291bnRlciA9PT0gMTAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZwU2V0SW50ZXJ2YWwoNTAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgZGVsYXkpOwogICAgICAgICAgICAgICAgICAgIH07CiAgICAKICAgICAgICAgICAgICAgIG1mcFNldEludGVydmFsKDEpOwogICAgICAgICAgICB9LAogICAgCiAgICAgICAgICAgIGdldEltYWdlOiBmdW5jdGlvbihpdGVtLCB0ZW1wbGF0ZSkgewogICAgCiAgICAgICAgICAgICAgICB2YXIgZ3VhcmQgPSAwLAogICAgCiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2UgbG9hZCBjb21wbGV0ZSBoYW5kbGVyCiAgICAgICAgICAgICAgICAgICAgb25Mb2FkQ29tcGxldGUgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaW1nWzBdLmNvbXBsZXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pbWcub2ZmKCcubWZwbG9hZGVyJyk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihpdGVtID09PSBtZnAuY3Vyckl0ZW0pewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnAuX29uSW1hZ2VIYXNTaXplKGl0ZW0pOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mcC51cGRhdGVTdGF0dXMoJ3JlYWR5Jyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5oYXNTaXplID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmxvYWRlZCA9IHRydWU7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbWZwVHJpZ2dlcignSW1hZ2VMb2FkQ29tcGxldGUnKTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgaW1hZ2UgY29tcGxldGUgY2hlY2sgZmFpbHMgMjAwIHRpbWVzICgyMCBzZWMpLCB3ZSBhc3N1bWUgdGhhdCB0aGVyZSB3YXMgYW4gZXJyb3IuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VhcmQrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihndWFyZCA8IDIwMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KG9uTG9hZENvbXBsZXRlLDEwMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Mb2FkRXJyb3IoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgCiAgICAgICAgICAgICAgICAgICAgLy8gaW1hZ2UgZXJyb3IgaGFuZGxlcgogICAgICAgICAgICAgICAgICAgIG9uTG9hZEVycm9yID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaW1nLm9mZignLm1mcGxvYWRlcicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoaXRlbSA9PT0gbWZwLmN1cnJJdGVtKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnAuX29uSW1hZ2VIYXNTaXplKGl0ZW0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mcC51cGRhdGVTdGF0dXMoJ2Vycm9yJywgaW1nU3QudEVycm9yLnJlcGxhY2UoJyV1cmwlJywgaXRlbS5zcmMpICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaGFzU2l6ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmxvYWRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmxvYWRFcnJvciA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGltZ1N0ID0gbWZwLnN0LmltYWdlOwogICAgCiAgICAKICAgICAgICAgICAgICAgIHZhciBlbCA9IHRlbXBsYXRlLmZpbmQoJy5tZnAtaW1nJyk7CiAgICAgICAgICAgICAgICBpZihlbC5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7CiAgICAgICAgICAgICAgICAgICAgaW1nLmNsYXNzTmFtZSA9ICdtZnAtaW1nJzsKICAgICAgICAgICAgICAgICAgICBpZihpdGVtLmVsICYmIGl0ZW0uZWwuZmluZCgnaW1nJykubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGltZy5hbHQgPSBpdGVtLmVsLmZpbmQoJ2ltZycpLmF0dHIoJ2FsdCcpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpdGVtLmltZyA9ICQoaW1nKS5vbignbG9hZC5tZnBsb2FkZXInLCBvbkxvYWRDb21wbGV0ZSkub24oJ2Vycm9yLm1mcGxvYWRlcicsIG9uTG9hZEVycm9yKTsKICAgICAgICAgICAgICAgICAgICBpbWcuc3JjID0gaXRlbS5zcmM7CiAgICAKICAgICAgICAgICAgICAgICAgICAvLyB3aXRob3V0IGNsb25lKCkgImVycm9yIiBldmVudCBpcyBub3QgZmlyaW5nIHdoZW4gSU1HIGlzIHJlcGxhY2VkIGJ5IG5ldyBJTUcKICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBmaW5kIGEgd2F5IHRvIGF2b2lkIHN1Y2ggY2xvbmluZwogICAgICAgICAgICAgICAgICAgIGlmKGVsLmlzKCdpbWcnKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmltZyA9IGl0ZW0uaW1nLmNsb25lKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICAgICAgaW1nID0gaXRlbS5pbWdbMF07CiAgICAgICAgICAgICAgICAgICAgaWYoaW1nLm5hdHVyYWxXaWR0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5oYXNTaXplID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYoIWltZy53aWR0aCkgewogICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmhhc1NpemUgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIG1mcC5fcGFyc2VNYXJrdXAodGVtcGxhdGUsIHsKICAgICAgICAgICAgICAgICAgICB0aXRsZTogX2dldFRpdGxlKGl0ZW0pLAogICAgICAgICAgICAgICAgICAgIGltZ19yZXBsYWNlV2l0aDogaXRlbS5pbWcKICAgICAgICAgICAgICAgIH0sIGl0ZW0pOwogICAgCiAgICAgICAgICAgICAgICBtZnAucmVzaXplSW1hZ2UoKTsKICAgIAogICAgICAgICAgICAgICAgaWYoaXRlbS5oYXNTaXplKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoX2ltZ0ludGVydmFsKSBjbGVhckludGVydmFsKF9pbWdJbnRlcnZhbCk7CiAgICAKICAgICAgICAgICAgICAgICAgICBpZihpdGVtLmxvYWRFcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5hZGRDbGFzcygnbWZwLWxvYWRpbmcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLnVwZGF0ZVN0YXR1cygnZXJyb3InLCBpbWdTdC50RXJyb3IucmVwbGFjZSgnJXVybCUnLCBpdGVtLnNyYykgKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5yZW1vdmVDbGFzcygnbWZwLWxvYWRpbmcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLnVwZGF0ZVN0YXR1cygncmVhZHknKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlbXBsYXRlOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICBtZnAudXBkYXRlU3RhdHVzKCdsb2FkaW5nJyk7CiAgICAgICAgICAgICAgICBpdGVtLmxvYWRpbmcgPSB0cnVlOwogICAgCiAgICAgICAgICAgICAgICBpZighaXRlbS5oYXNTaXplKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbWdIaWRkZW4gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLmFkZENsYXNzKCdtZnAtbG9hZGluZycpOwogICAgICAgICAgICAgICAgICAgIG1mcC5maW5kSW1hZ2VTaXplKGl0ZW0pOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICByZXR1cm4gdGVtcGxhdGU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLyo+PmltYWdlKi8KICAgIAogICAgLyo+Pnpvb20qLwogICAgdmFyIGhhc01velRyYW5zZm9ybSwKICAgICAgICBnZXRIYXNNb3pUcmFuc2Zvcm0gPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYoaGFzTW96VHJhbnNmb3JtID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGhhc01velRyYW5zZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKS5zdHlsZS5Nb3pUcmFuc2Zvcm0gIT09IHVuZGVmaW5lZDsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gaGFzTW96VHJhbnNmb3JtOwogICAgICAgIH07CiAgICAKICAgICQubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgnem9vbScsIHsKICAgIAogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgZW5hYmxlZDogZmFsc2UsCiAgICAgICAgICAgIGVhc2luZzogJ2Vhc2UtaW4tb3V0JywKICAgICAgICAgICAgZHVyYXRpb246IDMwMCwKICAgICAgICAgICAgb3BlbmVyOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5pcygnaW1nJykgPyBlbGVtZW50IDogZWxlbWVudC5maW5kKCdpbWcnKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAKICAgICAgICBwcm90bzogewogICAgCiAgICAgICAgICAgIGluaXRab29tOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB6b29tU3QgPSBtZnAuc3Quem9vbSwKICAgICAgICAgICAgICAgICAgICBucyA9ICcuem9vbScsCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U7CiAgICAKICAgICAgICAgICAgICAgIGlmKCF6b29tU3QuZW5hYmxlZCB8fCAhbWZwLnN1cHBvcnRzVHJhbnNpdGlvbikgewogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgdmFyIGR1cmF0aW9uID0gem9vbVN0LmR1cmF0aW9uLAogICAgICAgICAgICAgICAgICAgIGdldEVsVG9BbmltYXRlID0gZnVuY3Rpb24oaW1hZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG5ld0ltZyA9IGltYWdlLmNsb25lKCkucmVtb3ZlQXR0cignc3R5bGUnKS5yZW1vdmVBdHRyKCdjbGFzcycpLmFkZENsYXNzKCdtZnAtYW5pbWF0ZWQtaW1hZ2UnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gPSAnYWxsICcrKHpvb21TdC5kdXJhdGlvbi8xMDAwKSsncyAnICsgem9vbVN0LmVhc2luZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNzc09iaiA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDk5OTksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSc6ICdoaWRkZW4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9ICd0cmFuc2l0aW9uJzsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBjc3NPYmpbJy13ZWJraXQtJyt0XSA9IGNzc09ialsnLW1vei0nK3RdID0gY3NzT2JqWyctby0nK3RdID0gY3NzT2JqW3RdID0gdHJhbnNpdGlvbjsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBuZXdJbWcuY3NzKGNzc09iaik7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdJbWc7CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBzaG93TWFpbkNvbnRlbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmNvbnRlbnQuY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTsKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIG9wZW5UaW1lb3V0LAogICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkSW1nOwogICAgCiAgICAgICAgICAgICAgICBfbWZwT24oJ0J1aWxkQ29udHJvbHMnK25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZihtZnAuX2FsbG93Wm9vbSgpKSB7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KG9wZW5UaW1lb3V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLmNvbnRlbnQuY3NzKCd2aXNpYmlsaXR5JywgJ2hpZGRlbicpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhc2ljYWxseSwgYWxsIGNvZGUgYmVsb3cgZG9lcyBpcyBjbG9uZXMgZXhpc3RpbmcgaW1hZ2UsIHB1dHMgaW4gb24gdG9wIG9mIHRoZSBjdXJyZW50IG9uZSBhbmQgYW5pbWF0ZWQgaXQKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSA9IG1mcC5fZ2V0SXRlbVRvWm9vbSgpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFpbWFnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd01haW5Db250ZW50KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlZEltZyA9IGdldEVsVG9BbmltYXRlKGltYWdlKTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlZEltZy5jc3MoIG1mcC5fZ2V0T2Zmc2V0KCkgKTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5hcHBlbmQoYW5pbWF0ZWRJbWcpOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5UaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkSW1nLmNzcyggbWZwLl9nZXRPZmZzZXQoIHRydWUgKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd01haW5Db250ZW50KCk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlZEltZy5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UgPSBhbmltYXRlZEltZyA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZnBUcmlnZ2VyKCdab29tQW5pbWF0aW9uRW5kZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxNik7IC8vIGF2b2lkIGJsaW5rIHdoZW4gc3dpdGNoaW5nIGltYWdlcwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkdXJhdGlvbik7IC8vIHRoaXMgdGltZW91dCBlcXVhbHMgYW5pbWF0aW9uIGR1cmF0aW9uCiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTYpOyAvLyBieSBhZGRpbmcgdGhpcyB0aW1lb3V0IHdlIGF2b2lkIHNob3J0IGdsaXRjaCBhdCB0aGUgYmVnaW5uaW5nIG9mIGFuaW1hdGlvbgogICAgCiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgLy8gTG90cyBvZiB0aW1lb3V0cy4uLgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgX21mcE9uKEJFRk9SRV9DTE9TRV9FVkVOVCtucywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYobWZwLl9hbGxvd1pvb20oKSkgewogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChvcGVuVGltZW91dCk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLnN0LnJlbW92YWxEZWxheSA9IGR1cmF0aW9uOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFpbWFnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UgPSBtZnAuX2dldEl0ZW1Ub1pvb20oKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFpbWFnZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkSW1nID0gZ2V0RWxUb0FuaW1hdGUoaW1hZ2UpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWRJbWcuY3NzKCBtZnAuX2dldE9mZnNldCh0cnVlKSApOwogICAgICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5hcHBlbmQoYW5pbWF0ZWRJbWcpOwogICAgICAgICAgICAgICAgICAgICAgICBtZnAuY29udGVudC5jc3MoJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7CiAgICAKICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkSW1nLmNzcyggbWZwLl9nZXRPZmZzZXQoKSApOwogICAgICAgICAgICAgICAgICAgICAgICB9LCAxNik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICB9KTsKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKENMT1NFX0VWRU5UK25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZihtZnAuX2FsbG93Wm9vbSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dNYWluQ29udGVudCgpOwogICAgICAgICAgICAgICAgICAgICAgICBpZihhbmltYXRlZEltZykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWRJbWcucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgCiAgICAgICAgICAgIF9hbGxvd1pvb206IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIG1mcC5jdXJySXRlbS50eXBlID09PSAnaW1hZ2UnOwogICAgICAgICAgICB9LAogICAgCiAgICAgICAgICAgIF9nZXRJdGVtVG9ab29tOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmKG1mcC5jdXJySXRlbS5oYXNTaXplKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1mcC5jdXJySXRlbS5pbWc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgIAogICAgICAgICAgICAvLyBHZXQgZWxlbWVudCBwb3N0aW9uIHJlbGF0aXZlIHRvIHZpZXdwb3J0CiAgICAgICAgICAgIF9nZXRPZmZzZXQ6IGZ1bmN0aW9uKGlzTGFyZ2UpIHsKICAgICAgICAgICAgICAgIHZhciBlbDsKICAgICAgICAgICAgICAgIGlmKGlzTGFyZ2UpIHsKICAgICAgICAgICAgICAgICAgICBlbCA9IG1mcC5jdXJySXRlbS5pbWc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGVsID0gbWZwLnN0Lnpvb20ub3BlbmVyKG1mcC5jdXJySXRlbS5lbCB8fCBtZnAuY3Vyckl0ZW0pOwogICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICB2YXIgb2Zmc2V0ID0gZWwub2Zmc2V0KCk7CiAgICAgICAgICAgICAgICB2YXIgcGFkZGluZ1RvcCA9IHBhcnNlSW50KGVsLmNzcygncGFkZGluZy10b3AnKSwxMCk7CiAgICAgICAgICAgICAgICB2YXIgcGFkZGluZ0JvdHRvbSA9IHBhcnNlSW50KGVsLmNzcygncGFkZGluZy1ib3R0b20nKSwxMCk7CiAgICAgICAgICAgICAgICBvZmZzZXQudG9wIC09ICggJCh3aW5kb3cpLnNjcm9sbFRvcCgpIC0gcGFkZGluZ1RvcCApOwogICAgCiAgICAKICAgICAgICAgICAgICAgIC8qCiAgICAKICAgICAgICAgICAgICAgIEFuaW1hdGluZyBsZWZ0ICsgdG9wICsgd2lkdGgvaGVpZ2h0IGxvb2tzIGdsaXRjaHkgaW4gRmlyZWZveCwgYnV0IHBlcmZlY3QgaW4gQ2hyb21lLiBBbmQgdmljZS12ZXJzYS4KICAgIAogICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gewogICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbC53aWR0aCgpLAogICAgICAgICAgICAgICAgICAgIC8vIGZpeCBaZXB0byBoZWlnaHQrcGFkZGluZyBpc3N1ZQogICAgICAgICAgICAgICAgICAgIGhlaWdodDogKF9pc0pRID8gZWwuaW5uZXJIZWlnaHQoKSA6IGVsWzBdLm9mZnNldEhlaWdodCkgLSBwYWRkaW5nQm90dG9tIC0gcGFkZGluZ1RvcAogICAgICAgICAgICAgICAgfTsKICAgIAogICAgICAgICAgICAgICAgLy8gSSBoYXRlIHRvIGRvIHRoaXMsIGJ1dCB0aGVyZSBpcyBubyBhbm90aGVyIG9wdGlvbgogICAgICAgICAgICAgICAgaWYoIGdldEhhc01velRyYW5zZm9ybSgpICkgewogICAgICAgICAgICAgICAgICAgIG9ialsnLW1vei10cmFuc2Zvcm0nXSA9IG9ialsndHJhbnNmb3JtJ10gPSAndHJhbnNsYXRlKCcgKyBvZmZzZXQubGVmdCArICdweCwnICsgb2Zmc2V0LnRvcCArICdweCknOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBvYmoubGVmdCA9IG9mZnNldC5sZWZ0OwogICAgICAgICAgICAgICAgICAgIG9iai50b3AgPSBvZmZzZXQudG9wOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIG9iajsKICAgICAgICAgICAgfQogICAgCiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIAogICAgCiAgICAvKj4+em9vbSovCiAgICAKICAgIC8qPj5pZnJhbWUqLwogICAgCiAgICB2YXIgSUZSQU1FX05TID0gJ2lmcmFtZScsCiAgICAgICAgX2VtcHR5UGFnZSA9ICcvL2Fib3V0OmJsYW5rJywKICAgIAogICAgICAgIF9maXhJZnJhbWVCdWdzID0gZnVuY3Rpb24oaXNTaG93aW5nKSB7CiAgICAgICAgICAgIGlmKG1mcC5jdXJyVGVtcGxhdGVbSUZSQU1FX05TXSkgewogICAgICAgICAgICAgICAgdmFyIGVsID0gbWZwLmN1cnJUZW1wbGF0ZVtJRlJBTUVfTlNdLmZpbmQoJ2lmcmFtZScpOwogICAgICAgICAgICAgICAgaWYoZWwubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gcmVzZXQgc3JjIGFmdGVyIHRoZSBwb3B1cCBpcyBjbG9zZWQgdG8gYXZvaWQgInZpZGVvIGtlZXBzIHBsYXlpbmcgYWZ0ZXIgcG9wdXAgaXMgY2xvc2VkIiBidWcKICAgICAgICAgICAgICAgICAgICBpZighaXNTaG93aW5nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsWzBdLnNyYyA9IF9lbXB0eVBhZ2U7CiAgICAgICAgICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgICAgICAgICAgLy8gSUU4IGJsYWNrIHNjcmVlbiBidWcgZml4CiAgICAgICAgICAgICAgICAgICAgaWYobWZwLmlzSUU4KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsLmNzcygnZGlzcGxheScsIGlzU2hvd2luZyA/ICdibG9jaycgOiAnbm9uZScpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAKICAgICQubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJRlJBTUVfTlMsIHsKICAgIAogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgbWFya3VwOiAnPGRpdiBjbGFzcz0ibWZwLWlmcmFtZS1zY2FsZXIiPicrCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJtZnAtY2xvc2UiPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICAgICAgICc8aWZyYW1lIGNsYXNzPSJtZnAtaWZyYW1lIiBzcmM9Ii8vYWJvdXQ6YmxhbmsiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JysKICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JywKICAgIAogICAgICAgICAgICBzcmNBY3Rpb246ICdpZnJhbWVfc3JjJywKICAgIAogICAgICAgICAgICAvLyB3ZSBkb24ndCBjYXJlIGFuZCBzdXBwb3J0IG9ubHkgb25lIGRlZmF1bHQgdHlwZSBvZiBVUkwgYnkgZGVmYXVsdAogICAgICAgICAgICBwYXR0ZXJuczogewogICAgICAgICAgICAgICAgeW91dHViZTogewogICAgICAgICAgICAgICAgICAgIGluZGV4OiAneW91dHViZS5jb20nLAogICAgICAgICAgICAgICAgICAgIGlkOiAndj0nLAogICAgICAgICAgICAgICAgICAgIHNyYzogJy8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyVpZCU/YXV0b3BsYXk9MScKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB2aW1lbzogewogICAgICAgICAgICAgICAgICAgIGluZGV4OiAndmltZW8uY29tLycsCiAgICAgICAgICAgICAgICAgICAgaWQ6ICcvJywKICAgICAgICAgICAgICAgICAgICBzcmM6ICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJWlkJT9hdXRvcGxheT0xJwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGdtYXBzOiB7CiAgICAgICAgICAgICAgICAgICAgaW5kZXg6ICcvL21hcHMuZ29vZ2xlLicsCiAgICAgICAgICAgICAgICAgICAgc3JjOiAnJWlkJSZvdXRwdXQ9ZW1iZWQnCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgCiAgICAgICAgcHJvdG86IHsKICAgICAgICAgICAgaW5pdElmcmFtZTogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBtZnAudHlwZXMucHVzaChJRlJBTUVfTlMpOwogICAgCiAgICAgICAgICAgICAgICBfbWZwT24oJ0JlZm9yZUNoYW5nZScsIGZ1bmN0aW9uKGUsIHByZXZUeXBlLCBuZXdUeXBlKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocHJldlR5cGUgIT09IG5ld1R5cGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYocHJldlR5cGUgPT09IElGUkFNRV9OUykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZpeElmcmFtZUJ1Z3MoKTsgLy8gaWZyYW1lIGlmIHJlbW92ZWQKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKG5ld1R5cGUgPT09IElGUkFNRV9OUykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX2ZpeElmcmFtZUJ1Z3ModHJ1ZSk7IC8vIGlmcmFtZSBpcyBzaG93aW5nCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Ly8gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmcmFtZSBzb3VyY2UgaXMgc3dpdGNoZWQsIGRvbid0IGRvIGFueXRoaW5nCiAgICAgICAgICAgICAgICAgICAgLy99CiAgICAgICAgICAgICAgICB9KTsKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKENMT1NFX0VWRU5UICsgJy4nICsgSUZSQU1FX05TLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBfZml4SWZyYW1lQnVncygpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sCiAgICAKICAgICAgICAgICAgZ2V0SWZyYW1lOiBmdW5jdGlvbihpdGVtLCB0ZW1wbGF0ZSkgewogICAgICAgICAgICAgICAgdmFyIGVtYmVkU3JjID0gaXRlbS5zcmM7CiAgICAgICAgICAgICAgICB2YXIgaWZyYW1lU3QgPSBtZnAuc3QuaWZyYW1lOwogICAgCiAgICAgICAgICAgICAgICAkLmVhY2goaWZyYW1lU3QucGF0dGVybnMsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmKGVtYmVkU3JjLmluZGV4T2YoIHRoaXMuaW5kZXggKSA+IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHR5cGVvZiB0aGlzLmlkID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtYmVkU3JjID0gZW1iZWRTcmMuc3Vic3RyKGVtYmVkU3JjLmxhc3RJbmRleE9mKHRoaXMuaWQpK3RoaXMuaWQubGVuZ3RoLCBlbWJlZFNyYy5sZW5ndGgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbWJlZFNyYyA9IHRoaXMuaWQuY2FsbCggdGhpcywgZW1iZWRTcmMgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbWJlZFNyYyA9IHRoaXMuc3JjLnJlcGxhY2UoJyVpZCUnLCBlbWJlZFNyYyApOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICAgICB2YXIgZGF0YU9iaiA9IHt9OwogICAgICAgICAgICAgICAgaWYoaWZyYW1lU3Quc3JjQWN0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YU9ialtpZnJhbWVTdC5zcmNBY3Rpb25dID0gZW1iZWRTcmM7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBtZnAuX3BhcnNlTWFya3VwKHRlbXBsYXRlLCBkYXRhT2JqLCBpdGVtKTsKICAgIAogICAgICAgICAgICAgICAgbWZwLnVwZGF0ZVN0YXR1cygncmVhZHknKTsKICAgIAogICAgICAgICAgICAgICAgcmV0dXJuIHRlbXBsYXRlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIAogICAgCiAgICAvKj4+aWZyYW1lKi8KICAgIAogICAgLyo+PmdhbGxlcnkqLwogICAgLyoqCiAgICAgKiBHZXQgbG9vcGVkIGluZGV4IGRlcGVuZGluZyBvbiBudW1iZXIgb2Ygc2xpZGVzCiAgICAgKi8KICAgIHZhciBfZ2V0TG9vcGVkSWQgPSBmdW5jdGlvbihpbmRleCkgewogICAgICAgICAgICB2YXIgbnVtU2xpZGVzID0gbWZwLml0ZW1zLmxlbmd0aDsKICAgICAgICAgICAgaWYoaW5kZXggPiBudW1TbGlkZXMgLSAxKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggLSBudW1TbGlkZXM7CiAgICAgICAgICAgIH0gZWxzZSAgaWYoaW5kZXggPCAwKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbnVtU2xpZGVzICsgaW5kZXg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGluZGV4OwogICAgICAgIH0sCiAgICAgICAgX3JlcGxhY2VDdXJyVG90YWwgPSBmdW5jdGlvbih0ZXh0LCBjdXJyLCB0b3RhbCkgewogICAgICAgICAgICByZXR1cm4gdGV4dC5yZXBsYWNlKC8lY3VyciUvZ2ksIGN1cnIgKyAxKS5yZXBsYWNlKC8ldG90YWwlL2dpLCB0b3RhbCk7CiAgICAgICAgfTsKICAgIAogICAgJC5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCdnYWxsZXJ5JywgewogICAgCiAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICBlbmFibGVkOiBmYWxzZSwKICAgICAgICAgICAgYXJyb3dNYXJrdXA6ICc8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtYXJyb3cgbWZwLWFycm93LSVkaXIlIj48L2J1dHRvbj4nLAogICAgICAgICAgICBwcmVsb2FkOiBbMCwyXSwKICAgICAgICAgICAgbmF2aWdhdGVCeUltZ0NsaWNrOiB0cnVlLAogICAgICAgICAgICBhcnJvd3M6IHRydWUsCiAgICAKICAgICAgICAgICAgdFByZXY6ICdQcmV2aW91cyAoTGVmdCBhcnJvdyBrZXkpJywKICAgICAgICAgICAgdE5leHQ6ICdOZXh0IChSaWdodCBhcnJvdyBrZXkpJywKICAgICAgICAgICAgdENvdW50ZXI6ICclY3VyciUgb2YgJXRvdGFsJScKICAgICAgICB9LAogICAgCiAgICAgICAgcHJvdG86IHsKICAgICAgICAgICAgaW5pdEdhbGxlcnk6IGZ1bmN0aW9uKCkgewogICAgCiAgICAgICAgICAgICAgICB2YXIgZ1N0ID0gbWZwLnN0LmdhbGxlcnksCiAgICAgICAgICAgICAgICAgICAgbnMgPSAnLm1mcC1nYWxsZXJ5JzsKICAgIAogICAgICAgICAgICAgICAgbWZwLmRpcmVjdGlvbiA9IHRydWU7IC8vIHRydWUgLSBuZXh0LCBmYWxzZSAtIHByZXYKICAgIAogICAgICAgICAgICAgICAgaWYoIWdTdCB8fCAhZ1N0LmVuYWJsZWQgKSByZXR1cm4gZmFsc2U7CiAgICAKICAgICAgICAgICAgICAgIF93cmFwQ2xhc3NlcyArPSAnIG1mcC1nYWxsZXJ5JzsKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKE9QRU5fRVZFTlQrbnMsIGZ1bmN0aW9uKCkgewogICAgCiAgICAgICAgICAgICAgICAgICAgaWYoZ1N0Lm5hdmlnYXRlQnlJbWdDbGljaykgewogICAgICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5vbignY2xpY2snK25zLCAnLm1mcC1pbWcnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKG1mcC5pdGVtcy5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZwLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgICAgIF9kb2N1bWVudC5vbigna2V5ZG93bicrbnMsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUua2V5Q29kZSA9PT0gMzcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mcC5wcmV2KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXlDb2RlID09PSAzOSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZwLm5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgICAgIF9tZnBPbignVXBkYXRlU3RhdHVzJytucywgZnVuY3Rpb24oZSwgZGF0YSkgewogICAgICAgICAgICAgICAgICAgIGlmKGRhdGEudGV4dCkgewogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLnRleHQgPSBfcmVwbGFjZUN1cnJUb3RhbChkYXRhLnRleHQsIG1mcC5jdXJySXRlbS5pbmRleCwgbWZwLml0ZW1zLmxlbmd0aCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgICAgIF9tZnBPbihNQVJLVVBfUEFSU0VfRVZFTlQrbnMsIGZ1bmN0aW9uKGUsIGVsZW1lbnQsIHZhbHVlcywgaXRlbSkgewogICAgICAgICAgICAgICAgICAgIHZhciBsID0gbWZwLml0ZW1zLmxlbmd0aDsKICAgICAgICAgICAgICAgICAgICB2YWx1ZXMuY291bnRlciA9IGwgPiAxID8gX3JlcGxhY2VDdXJyVG90YWwoZ1N0LnRDb3VudGVyLCBpdGVtLmluZGV4LCBsKSA6ICcnOwogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgICAgIF9tZnBPbignQnVpbGRDb250cm9scycgKyBucywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgaWYobWZwLml0ZW1zLmxlbmd0aCA+IDEgJiYgZ1N0LmFycm93cyAmJiAhbWZwLmFycm93TGVmdCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWFya3VwID0gZ1N0LmFycm93TWFya3VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dMZWZ0ID0gbWZwLmFycm93TGVmdCA9ICQoIG1hcmt1cC5yZXBsYWNlKC8ldGl0bGUlL2dpLCBnU3QudFByZXYpLnJlcGxhY2UoLyVkaXIlL2dpLCAnbGVmdCcpICkuYWRkQ2xhc3MoUFJFVkVOVF9DTE9TRV9DTEFTUyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvd1JpZ2h0ID0gbWZwLmFycm93UmlnaHQgPSAkKCBtYXJrdXAucmVwbGFjZSgvJXRpdGxlJS9naSwgZ1N0LnROZXh0KS5yZXBsYWNlKC8lZGlyJS9naSwgJ3JpZ2h0JykgKS5hZGRDbGFzcyhQUkVWRU5UX0NMT1NFX0NMQVNTKTsKICAgIAogICAgICAgICAgICAgICAgICAgICAgICBhcnJvd0xlZnQuY2xpY2soZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZnAucHJldigpOwogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3dSaWdodC5jbGljayhmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mcC5uZXh0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICAgICAgICAgICAgIG1mcC5jb250YWluZXIuYXBwZW5kKGFycm93TGVmdC5hZGQoYXJyb3dSaWdodCkpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICAgICBfbWZwT24oQ0hBTkdFX0VWRU5UK25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBpZihtZnAuX3ByZWxvYWRUaW1lb3V0KSBjbGVhclRpbWVvdXQobWZwLl9wcmVsb2FkVGltZW91dCk7CiAgICAKICAgICAgICAgICAgICAgICAgICBtZnAuX3ByZWxvYWRUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLnByZWxvYWROZWFyYnlJbWFnZXMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgbWZwLl9wcmVsb2FkVGltZW91dCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgfSwgMTYpOwogICAgICAgICAgICAgICAgfSk7CiAgICAKICAgIAogICAgICAgICAgICAgICAgX21mcE9uKENMT1NFX0VWRU5UK25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBfZG9jdW1lbnQub2ZmKG5zKTsKICAgICAgICAgICAgICAgICAgICBtZnAud3JhcC5vZmYoJ2NsaWNrJytucyk7CiAgICAgICAgICAgICAgICAgICAgbWZwLmFycm93UmlnaHQgPSBtZnAuYXJyb3dMZWZ0ID0gbnVsbDsKICAgICAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG5leHQ6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbWZwLmRpcmVjdGlvbiA9IHRydWU7CiAgICAgICAgICAgICAgICBtZnAuaW5kZXggPSBfZ2V0TG9vcGVkSWQobWZwLmluZGV4ICsgMSk7CiAgICAgICAgICAgICAgICBtZnAudXBkYXRlSXRlbUhUTUwoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgcHJldjogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBtZnAuZGlyZWN0aW9uID0gZmFsc2U7CiAgICAgICAgICAgICAgICBtZnAuaW5kZXggPSBfZ2V0TG9vcGVkSWQobWZwLmluZGV4IC0gMSk7CiAgICAgICAgICAgICAgICBtZnAudXBkYXRlSXRlbUhUTUwoKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgZ29UbzogZnVuY3Rpb24obmV3SW5kZXgpIHsKICAgICAgICAgICAgICAgIG1mcC5kaXJlY3Rpb24gPSAobmV3SW5kZXggPj0gbWZwLmluZGV4KTsKICAgICAgICAgICAgICAgIG1mcC5pbmRleCA9IG5ld0luZGV4OwogICAgICAgICAgICAgICAgbWZwLnVwZGF0ZUl0ZW1IVE1MKCk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHByZWxvYWROZWFyYnlJbWFnZXM6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHAgPSBtZnAuc3QuZ2FsbGVyeS5wcmVsb2FkLAogICAgICAgICAgICAgICAgICAgIHByZWxvYWRCZWZvcmUgPSBNYXRoLm1pbihwWzBdLCBtZnAuaXRlbXMubGVuZ3RoKSwKICAgICAgICAgICAgICAgICAgICBwcmVsb2FkQWZ0ZXIgPSBNYXRoLm1pbihwWzFdLCBtZnAuaXRlbXMubGVuZ3RoKSwKICAgICAgICAgICAgICAgICAgICBpOwogICAgCiAgICAgICAgICAgICAgICBmb3IoaSA9IDE7IGkgPD0gKG1mcC5kaXJlY3Rpb24gPyBwcmVsb2FkQWZ0ZXIgOiBwcmVsb2FkQmVmb3JlKTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgbWZwLl9wcmVsb2FkSXRlbShtZnAuaW5kZXgraSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IoaSA9IDE7IGkgPD0gKG1mcC5kaXJlY3Rpb24gPyBwcmVsb2FkQmVmb3JlIDogcHJlbG9hZEFmdGVyKTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgbWZwLl9wcmVsb2FkSXRlbShtZnAuaW5kZXgtaSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF9wcmVsb2FkSXRlbTogZnVuY3Rpb24oaW5kZXgpIHsKICAgICAgICAgICAgICAgIGluZGV4ID0gX2dldExvb3BlZElkKGluZGV4KTsKICAgIAogICAgICAgICAgICAgICAgaWYobWZwLml0ZW1zW2luZGV4XS5wcmVsb2FkZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIHZhciBpdGVtID0gbWZwLml0ZW1zW2luZGV4XTsKICAgICAgICAgICAgICAgIGlmKCFpdGVtLnBhcnNlZCkgewogICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBtZnAucGFyc2VFbCggaW5kZXggKTsKICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICAgICAgX21mcFRyaWdnZXIoJ0xhenlMb2FkJywgaXRlbSk7CiAgICAKICAgICAgICAgICAgICAgIGlmKGl0ZW0udHlwZSA9PT0gJ2ltYWdlJykgewogICAgICAgICAgICAgICAgICAgIGl0ZW0uaW1nID0gJCgnPGltZyBjbGFzcz0ibWZwLWltZyIgLz4nKS5vbignbG9hZC5tZnBsb2FkZXInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5oYXNTaXplID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9KS5vbignZXJyb3IubWZwbG9hZGVyJywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaGFzU2l6ZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0ubG9hZEVycm9yID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgX21mcFRyaWdnZXIoJ0xhenlMb2FkRXJyb3InLCBpdGVtKTsKICAgICAgICAgICAgICAgICAgICB9KS5hdHRyKCdzcmMnLCBpdGVtLnNyYyk7CiAgICAgICAgICAgICAgICB9CiAgICAKICAgIAogICAgICAgICAgICAgICAgaXRlbS5wcmVsb2FkZWQgPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIC8qPj5nYWxsZXJ5Ki8KICAgIAogICAgLyo+PnJldGluYSovCiAgICAKICAgIHZhciBSRVRJTkFfTlMgPSAncmV0aW5hJzsKICAgIAogICAgJC5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKFJFVElOQV9OUywgewogICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgcmVwbGFjZVNyYzogZnVuY3Rpb24oaXRlbSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uc3JjLnJlcGxhY2UoL1wuXHcrJC8sIGZ1bmN0aW9uKG0pIHsgcmV0dXJuICdAMngnICsgbTsgfSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJhdGlvOiAxIC8vIEZ1bmN0aW9uIG9yIG51bWJlci4gIFNldCB0byAxIHRvIGRpc2FibGUuCiAgICAgICAgfSwKICAgICAgICBwcm90bzogewogICAgICAgICAgICBpbml0UmV0aW5hOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIGlmKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvID4gMSkgewogICAgCiAgICAgICAgICAgICAgICAgICAgdmFyIHN0ID0gbWZwLnN0LnJldGluYSwKICAgICAgICAgICAgICAgICAgICAgICAgcmF0aW8gPSBzdC5yYXRpbzsKICAgIAogICAgICAgICAgICAgICAgICAgIHJhdGlvID0gIWlzTmFOKHJhdGlvKSA/IHJhdGlvIDogcmF0aW8oKTsKICAgIAogICAgICAgICAgICAgICAgICAgIGlmKHJhdGlvID4gMSkgewogICAgICAgICAgICAgICAgICAgICAgICBfbWZwT24oJ0ltYWdlSGFzU2l6ZScgKyAnLicgKyBSRVRJTkFfTlMsIGZ1bmN0aW9uKGUsIGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaW1nLmNzcyh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21heC13aWR0aCc6IGl0ZW0uaW1nWzBdLm5hdHVyYWxXaWR0aCAvIHJhdGlvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICcxMDAlJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBfbWZwT24oJ0VsZW1lbnRQYXJzZScgKyAnLicgKyBSRVRJTkFfTlMsIGZ1bmN0aW9uKGUsIGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc3JjID0gc3QucmVwbGFjZVNyYyhpdGVtLCByYXRpbyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgIAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIC8qPj5yZXRpbmEqLwogICAgIF9jaGVja0luc3RhbmNlKCk7IH0pKTs="}},"time_used":85,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":49,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/isotope.pkgd.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.047Z","timestamp":1785139582047,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/isotope.pkgd.min.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 20694\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":89210,"size_decoded":20932,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"e813d13bfb04c9170a61abf6ea2925bf","sha1":"cf66d6525823e933309c0ceaf9b5b2621f513d3d","sha256":"8f7a4c437c775ec6d90275183594b1e2533a72f100b27f0f1825afbcfa40d0ae","sha512":"1d0cf671a3e70cdfa008407bafaf6816364c0e2a79f4a76802ac8fc77f12dbd32b78cd39880d6cd5dbdc8f22176783c3fe3ac12db0a5cc624583cb5500b4bfc7","ssdeep":"1536:L0LO0SyYgaJmvOMz1Mrdnb81SScY9epnJ/JA/Dv+PLCC9lgXLhd6ZL3BEh0G3BCM:LQYgaA/apCiL3BEh0G3BXGvuGLtWTJnv","tlshash":"be938785ff882215415bf2a99d9f314ef27d8065d501ac5ebc1a84ec28f143e42bef7a","first_seen":"2025-11-23T04:10:48.034253Z","last_seen":"2026-07-27T09:11:27.315967Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIElzb3RvcGUgUEFDS0FHRUQgdjMuMC42CiAqCiAqIExpY2Vuc2VkIEdQTHYzIGZvciBvcGVuIHNvdXJjZSB1c2UKICogb3IgSXNvdG9wZSBDb21tZXJjaWFsIExpY2Vuc2UgZm9yIGNvbW1lcmNpYWwgdXNlCiAqCiAqIGh0dHBzOi8vaXNvdG9wZS5tZXRhZml6enkuY28KICogQ29weXJpZ2h0IDIwMTAtMjAxOCBNZXRhZml6enkKICovCgovKioKICogQnJpZGdldCBtYWtlcyBqUXVlcnkgd2lkZ2V0cwogKiB2Mi4wLjEKICogTUlUIGxpY2Vuc2UKICovCgovKiBqc2hpbnQgYnJvd3NlcjogdHJ1ZSwgc3RyaWN0OiB0cnVlLCB1bmRlZjogdHJ1ZSwgdW51c2VkOiB0cnVlICovCgooIGZ1bmN0aW9uKCB3aW5kb3csIGZhY3RvcnkgKSB7CgkvLyB1bml2ZXJzYWwgbW9kdWxlIGRlZmluaXRpb24KCS8qanNoaW50IHN0cmljdDogZmFsc2UgKi8gLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSwgcmVxdWlyZSAqLwoJaWYgKCB0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCApIHsKCQkvLyBBTUQKCQlkZWZpbmUoICdqcXVlcnktYnJpZGdldC9qcXVlcnktYnJpZGdldCcsWyAnanF1ZXJ5JyBdLCBmdW5jdGlvbiggalF1ZXJ5ICkgewoJCQlyZXR1cm4gZmFjdG9yeSggd2luZG93LCBqUXVlcnkgKTsKCQl9KTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCgkJCXdpbmRvdywKCQkJcmVxdWlyZSgnanF1ZXJ5JykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5qUXVlcnlCcmlkZ2V0ID0gZmFjdG9yeSgKCQkJd2luZG93LAoJCQl3aW5kb3cualF1ZXJ5CgkJKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSggd2luZG93LCBqUXVlcnkgKSB7CgkndXNlIHN0cmljdCc7CgovLyAtLS0tLSB1dGlscyAtLS0tLSAvLwoKCXZhciBhcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwoKLy8gaGVscGVyIGZ1bmN0aW9uIGZvciBsb2dnaW5nIGVycm9ycwovLyAkLmVycm9yIGJyZWFrcyBqUXVlcnkgY2hhaW5pbmcKCXZhciBjb25zb2xlID0gd2luZG93LmNvbnNvbGU7Cgl2YXIgbG9nRXJyb3IgPSB0eXBlb2YgY29uc29sZSA9PSAndW5kZWZpbmVkJyA/IGZ1bmN0aW9uKCkge30gOgoJCWZ1bmN0aW9uKCBtZXNzYWdlICkgewoJCQljb25zb2xlLmVycm9yKCBtZXNzYWdlICk7CgkJfTsKCi8vIC0tLS0tIGpRdWVyeUJyaWRnZXQgLS0tLS0gLy8KCglmdW5jdGlvbiBqUXVlcnlCcmlkZ2V0KCBuYW1lc3BhY2UsIFBsdWdpbkNsYXNzLCAkICkgewoJCSQgPSAkIHx8IGpRdWVyeSB8fCB3aW5kb3cualF1ZXJ5OwoJCWlmICggISQgKSB7CgkJCXJldHVybjsKCQl9CgoJCS8vIGFkZCBvcHRpb24gbWV0aG9kIC0+ICQoKS5wbHVnaW4oJ29wdGlvbicsIHsuLi59KQoJCWlmICggIVBsdWdpbkNsYXNzLnByb3RvdHlwZS5vcHRpb24gKSB7CgkJCS8vIG9wdGlvbiBzZXR0ZXIKCQkJUGx1Z2luQ2xhc3MucHJvdG90eXBlLm9wdGlvbiA9IGZ1bmN0aW9uKCBvcHRzICkgewoJCQkJLy8gYmFpbCBvdXQgaWYgbm90IGFuIG9iamVjdAoJCQkJaWYgKCAhJC5pc1BsYWluT2JqZWN0KCBvcHRzICkgKXsKCQkJCQlyZXR1cm47CgkJCQl9CgkJCQl0aGlzLm9wdGlvbnMgPSAkLmV4dGVuZCggdHJ1ZSwgdGhpcy5vcHRpb25zLCBvcHRzICk7CgkJCX07CgkJfQoKCQkvLyBtYWtlIGpRdWVyeSBwbHVnaW4KCQkkLmZuWyBuYW1lc3BhY2UgXSA9IGZ1bmN0aW9uKCBhcmcwIC8qLCBhcmcxICovICkgewoJCQlpZiAoIHR5cGVvZiBhcmcwID09ICdzdHJpbmcnICkgewoJCQkJLy8gbWV0aG9kIGNhbGwgJCgpLnBsdWdpbiggJ21ldGhvZE5hbWUnLCB7IG9wdGlvbnMgfSApCgkJCQkvLyBzaGlmdCBhcmd1bWVudHMgYnkgMQoJCQkJdmFyIGFyZ3MgPSBhcnJheVNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMSApOwoJCQkJcmV0dXJuIG1ldGhvZENhbGwoIHRoaXMsIGFyZzAsIGFyZ3MgKTsKCQkJfQoJCQkvLyBqdXN0ICQoKS5wbHVnaW4oeyBvcHRpb25zIH0pCgkJCXBsYWluQ2FsbCggdGhpcywgYXJnMCApOwoJCQlyZXR1cm4gdGhpczsKCQl9OwoKCQkvLyAkKCkucGx1Z2luKCdtZXRob2ROYW1lJykKCQlmdW5jdGlvbiBtZXRob2RDYWxsKCAkZWxlbXMsIG1ldGhvZE5hbWUsIGFyZ3MgKSB7CgkJCXZhciByZXR1cm5WYWx1ZTsKCQkJdmFyIHBsdWdpbk1ldGhvZFN0ciA9ICckKCkuJyArIG5hbWVzcGFjZSArICcoIicgKyBtZXRob2ROYW1lICsgJyIpJzsKCgkJCSRlbGVtcy5lYWNoKCBmdW5jdGlvbiggaSwgZWxlbSApIHsKCQkJCS8vIGdldCBpbnN0YW5jZQoJCQkJdmFyIGluc3RhbmNlID0gJC5kYXRhKCBlbGVtLCBuYW1lc3BhY2UgKTsKCQkJCWlmICggIWluc3RhbmNlICkgewoJCQkJCWxvZ0Vycm9yKCBuYW1lc3BhY2UgKyAnIG5vdCBpbml0aWFsaXplZC4gQ2Fubm90IGNhbGwgbWV0aG9kcywgaS5lLiAnICsKCQkJCQkJcGx1Z2luTWV0aG9kU3RyICk7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXZhciBtZXRob2QgPSBpbnN0YW5jZVsgbWV0aG9kTmFtZSBdOwoJCQkJaWYgKCAhbWV0aG9kIHx8IG1ldGhvZE5hbWUuY2hhckF0KDApID09ICdfJyApIHsKCQkJCQlsb2dFcnJvciggcGx1Z2luTWV0aG9kU3RyICsgJyBpcyBub3QgYSB2YWxpZCBtZXRob2QnICk7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCS8vIGFwcGx5IG1ldGhvZCwgZ2V0IHJldHVybiB2YWx1ZQoJCQkJdmFyIHZhbHVlID0gbWV0aG9kLmFwcGx5KCBpbnN0YW5jZSwgYXJncyApOwoJCQkJLy8gc2V0IHJldHVybiB2YWx1ZSBpZiB2YWx1ZSBpcyByZXR1cm5lZCwgdXNlIG9ubHkgZmlyc3QgdmFsdWUKCQkJCXJldHVyblZhbHVlID0gcmV0dXJuVmFsdWUgPT09IHVuZGVmaW5lZCA/IHZhbHVlIDogcmV0dXJuVmFsdWU7CgkJCX0pOwoKCQkJcmV0dXJuIHJldHVyblZhbHVlICE9PSB1bmRlZmluZWQgPyByZXR1cm5WYWx1ZSA6ICRlbGVtczsKCQl9CgoJCWZ1bmN0aW9uIHBsYWluQ2FsbCggJGVsZW1zLCBvcHRpb25zICkgewoJCQkkZWxlbXMuZWFjaCggZnVuY3Rpb24oIGksIGVsZW0gKSB7CgkJCQl2YXIgaW5zdGFuY2UgPSAkLmRhdGEoIGVsZW0sIG5hbWVzcGFjZSApOwoJCQkJaWYgKCBpbnN0YW5jZSApIHsKCQkJCQkvLyBzZXQgb3B0aW9ucyAmIGluaXQKCQkJCQlpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgKTsKCQkJCQlpbnN0YW5jZS5faW5pdCgpOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBpbml0aWFsaXplIG5ldyBpbnN0YW5jZQoJCQkJCWluc3RhbmNlID0gbmV3IFBsdWdpbkNsYXNzKCBlbGVtLCBvcHRpb25zICk7CgkJCQkJJC5kYXRhKCBlbGVtLCBuYW1lc3BhY2UsIGluc3RhbmNlICk7CgkJCQl9CgkJCX0pOwoJCX0KCgkJdXBkYXRlSlF1ZXJ5KCAkICk7CgoJfQoKLy8gLS0tLS0gdXBkYXRlSlF1ZXJ5IC0tLS0tIC8vCgovLyBzZXQgJC5icmlkZ2V0IGZvciB2MSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQoJZnVuY3Rpb24gdXBkYXRlSlF1ZXJ5KCAkICkgewoJCWlmICggISQgfHwgKCAkICYmICQuYnJpZGdldCApICkgewoJCQlyZXR1cm47CgkJfQoJCSQuYnJpZGdldCA9IGpRdWVyeUJyaWRnZXQ7Cgl9CgoJdXBkYXRlSlF1ZXJ5KCBqUXVlcnkgfHwgd2luZG93LmpRdWVyeSApOwoKLy8gLS0tLS0gIC0tLS0tIC8vCgoJcmV0dXJuIGpRdWVyeUJyaWRnZXQ7Cgp9KSk7CgovKioKICogRXZFbWl0dGVyIHYxLjEuMAogKiBMaWwnIGV2ZW50IGVtaXR0ZXIKICogTUlUIExpY2Vuc2UKICovCgovKiBqc2hpbnQgdW51c2VkOiB0cnVlLCB1bmRlZjogdHJ1ZSwgc3RyaWN0OiB0cnVlICovCgooIGZ1bmN0aW9uKCBnbG9iYWwsIGZhY3RvcnkgKSB7CgkvLyB1bml2ZXJzYWwgbW9kdWxlIGRlZmluaXRpb24KCS8qIGpzaGludCBzdHJpY3Q6IGZhbHNlICovIC8qIGdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHdpbmRvdyAqLwoJaWYgKCB0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCApIHsKCQkvLyBBTUQgLSBSZXF1aXJlSlMKCQlkZWZpbmUoICdldi1lbWl0dGVyL2V2LWVtaXR0ZXInLGZhY3RvcnkgKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMgLSBCcm93c2VyaWZ5LCBXZWJwYWNrCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7Cgl9IGVsc2UgewoJCS8vIEJyb3dzZXIgZ2xvYmFscwoJCWdsb2JhbC5FdkVtaXR0ZXIgPSBmYWN0b3J5KCk7Cgl9Cgp9KCB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnID8gd2luZG93IDogdGhpcywgZnVuY3Rpb24oKSB7CgoKCglmdW5jdGlvbiBFdkVtaXR0ZXIoKSB7fQoKCXZhciBwcm90byA9IEV2RW1pdHRlci5wcm90b3R5cGU7CgoJcHJvdG8ub24gPSBmdW5jdGlvbiggZXZlbnROYW1lLCBsaXN0ZW5lciApIHsKCQlpZiAoICFldmVudE5hbWUgfHwgIWxpc3RlbmVyICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIHNldCBldmVudHMgaGFzaAoJCXZhciBldmVudHMgPSB0aGlzLl9ldmVudHMgPSB0aGlzLl9ldmVudHMgfHwge307CgkJLy8gc2V0IGxpc3RlbmVycyBhcnJheQoJCXZhciBsaXN0ZW5lcnMgPSBldmVudHNbIGV2ZW50TmFtZSBdID0gZXZlbnRzWyBldmVudE5hbWUgXSB8fCBbXTsKCQkvLyBvbmx5IGFkZCBvbmNlCgkJaWYgKCBsaXN0ZW5lcnMuaW5kZXhPZiggbGlzdGVuZXIgKSA9PSAtMSApIHsKCQkJbGlzdGVuZXJzLnB1c2goIGxpc3RlbmVyICk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX07CgoJcHJvdG8ub25jZSA9IGZ1bmN0aW9uKCBldmVudE5hbWUsIGxpc3RlbmVyICkgewoJCWlmICggIWV2ZW50TmFtZSB8fCAhbGlzdGVuZXIgKSB7CgkJCXJldHVybjsKCQl9CgkJLy8gYWRkIGV2ZW50CgkJdGhpcy5vbiggZXZlbnROYW1lLCBsaXN0ZW5lciApOwoJCS8vIHNldCBvbmNlIGZsYWcKCQkvLyBzZXQgb25jZUV2ZW50cyBoYXNoCgkJdmFyIG9uY2VFdmVudHMgPSB0aGlzLl9vbmNlRXZlbnRzID0gdGhpcy5fb25jZUV2ZW50cyB8fCB7fTsKCQkvLyBzZXQgb25jZUxpc3RlbmVycyBvYmplY3QKCQl2YXIgb25jZUxpc3RlbmVycyA9IG9uY2VFdmVudHNbIGV2ZW50TmFtZSBdID0gb25jZUV2ZW50c1sgZXZlbnROYW1lIF0gfHwge307CgkJLy8gc2V0IGZsYWcKCQlvbmNlTGlzdGVuZXJzWyBsaXN0ZW5lciBdID0gdHJ1ZTsKCgkJcmV0dXJuIHRoaXM7Cgl9OwoKCXByb3RvLm9mZiA9IGZ1bmN0aW9uKCBldmVudE5hbWUsIGxpc3RlbmVyICkgewoJCXZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHMgJiYgdGhpcy5fZXZlbnRzWyBldmVudE5hbWUgXTsKCQlpZiAoICFsaXN0ZW5lcnMgfHwgIWxpc3RlbmVycy5sZW5ndGggKSB7CgkJCXJldHVybjsKCQl9CgkJdmFyIGluZGV4ID0gbGlzdGVuZXJzLmluZGV4T2YoIGxpc3RlbmVyICk7CgkJaWYgKCBpbmRleCAhPSAtMSApIHsKCQkJbGlzdGVuZXJzLnNwbGljZSggaW5kZXgsIDEgKTsKCQl9CgoJCXJldHVybiB0aGlzOwoJfTsKCglwcm90by5lbWl0RXZlbnQgPSBmdW5jdGlvbiggZXZlbnROYW1lLCBhcmdzICkgewoJCXZhciBsaXN0ZW5lcnMgPSB0aGlzLl9ldmVudHMgJiYgdGhpcy5fZXZlbnRzWyBldmVudE5hbWUgXTsKCQlpZiAoICFsaXN0ZW5lcnMgfHwgIWxpc3RlbmVycy5sZW5ndGggKSB7CgkJCXJldHVybjsKCQl9CgkJLy8gY29weSBvdmVyIHRvIGF2b2lkIGludGVyZmVyZW5jZSBpZiAub2ZmKCkgaW4gbGlzdGVuZXIKCQlsaXN0ZW5lcnMgPSBsaXN0ZW5lcnMuc2xpY2UoMCk7CgkJYXJncyA9IGFyZ3MgfHwgW107CgkJLy8gb25jZSBzdHVmZgoJCXZhciBvbmNlTGlzdGVuZXJzID0gdGhpcy5fb25jZUV2ZW50cyAmJiB0aGlzLl9vbmNlRXZlbnRzWyBldmVudE5hbWUgXTsKCgkJZm9yICggdmFyIGk9MDsgaSA8IGxpc3RlbmVycy5sZW5ndGg7IGkrKyApIHsKCQkJdmFyIGxpc3RlbmVyID0gbGlzdGVuZXJzW2ldCgkJCXZhciBpc09uY2UgPSBvbmNlTGlzdGVuZXJzICYmIG9uY2VMaXN0ZW5lcnNbIGxpc3RlbmVyIF07CgkJCWlmICggaXNPbmNlICkgewoJCQkJLy8gcmVtb3ZlIGxpc3RlbmVyCgkJCQkvLyByZW1vdmUgYmVmb3JlIHRyaWdnZXIgdG8gcHJldmVudCByZWN1cnNpb24KCQkJCXRoaXMub2ZmKCBldmVudE5hbWUsIGxpc3RlbmVyICk7CgkJCQkvLyB1bnNldCBvbmNlIGZsYWcKCQkJCWRlbGV0ZSBvbmNlTGlzdGVuZXJzWyBsaXN0ZW5lciBdOwoJCQl9CgkJCS8vIHRyaWdnZXIgbGlzdGVuZXIKCQkJbGlzdGVuZXIuYXBwbHkoIHRoaXMsIGFyZ3MgKTsKCQl9CgoJCXJldHVybiB0aGlzOwoJfTsKCglwcm90by5hbGxPZmYgPSBmdW5jdGlvbigpIHsKCQlkZWxldGUgdGhpcy5fZXZlbnRzOwoJCWRlbGV0ZSB0aGlzLl9vbmNlRXZlbnRzOwoJfTsKCglyZXR1cm4gRXZFbWl0dGVyOwoKfSkpOwoKLyohCiAqIGdldFNpemUgdjIuMC4zCiAqIG1lYXN1cmUgc2l6ZSBvZiBlbGVtZW50cwogKiBNSVQgbGljZW5zZQogKi8KCi8qIGpzaGludCBicm93c2VyOiB0cnVlLCBzdHJpY3Q6IHRydWUsIHVuZGVmOiB0cnVlLCB1bnVzZWQ6IHRydWUgKi8KLyogZ2xvYmFscyBjb25zb2xlOiBmYWxzZSAqLwoKKCBmdW5jdGlvbiggd2luZG93LCBmYWN0b3J5ICkgewoJLyoganNoaW50IHN0cmljdDogZmFsc2UgKi8gLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSAqLwoJaWYgKCB0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCApIHsKCQkvLyBBTUQKCQlkZWZpbmUoICdnZXQtc2l6ZS9nZXQtc2l6ZScsZmFjdG9yeSApOwoJfSBlbHNlIGlmICggdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cyApIHsKCQkvLyBDb21tb25KUwoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5nZXRTaXplID0gZmFjdG9yeSgpOwoJfQoKfSkoIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSgpIHsKCSd1c2Ugc3RyaWN0JzsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCi8vIGdldCBhIG51bWJlciBmcm9tIGEgc3RyaW5nLCBub3QgYSBwZXJjZW50YWdlCglmdW5jdGlvbiBnZXRTdHlsZVNpemUoIHZhbHVlICkgewoJCXZhciBudW0gPSBwYXJzZUZsb2F0KCB2YWx1ZSApOwoJCS8vIG5vdCBhIHBlcmNlbnQgbGlrZSAnMTAwJScsIGFuZCBhIG51bWJlcgoJCXZhciBpc1ZhbGlkID0gdmFsdWUuaW5kZXhPZignJScpID09IC0xICYmICFpc05hTiggbnVtICk7CgkJcmV0dXJuIGlzVmFsaWQgJiYgbnVtOwoJfQoKCWZ1bmN0aW9uIG5vb3AoKSB7fQoKCXZhciBsb2dFcnJvciA9IHR5cGVvZiBjb25zb2xlID09ICd1bmRlZmluZWQnID8gbm9vcCA6CgkJZnVuY3Rpb24oIG1lc3NhZ2UgKSB7CgkJCWNvbnNvbGUuZXJyb3IoIG1lc3NhZ2UgKTsKCQl9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbWVhc3VyZW1lbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJdmFyIG1lYXN1cmVtZW50cyA9IFsKCQkncGFkZGluZ0xlZnQnLAoJCSdwYWRkaW5nUmlnaHQnLAoJCSdwYWRkaW5nVG9wJywKCQkncGFkZGluZ0JvdHRvbScsCgkJJ21hcmdpbkxlZnQnLAoJCSdtYXJnaW5SaWdodCcsCgkJJ21hcmdpblRvcCcsCgkJJ21hcmdpbkJvdHRvbScsCgkJJ2JvcmRlckxlZnRXaWR0aCcsCgkJJ2JvcmRlclJpZ2h0V2lkdGgnLAoJCSdib3JkZXJUb3BXaWR0aCcsCgkJJ2JvcmRlckJvdHRvbVdpZHRoJwoJXTsKCgl2YXIgbWVhc3VyZW1lbnRzTGVuZ3RoID0gbWVhc3VyZW1lbnRzLmxlbmd0aDsKCglmdW5jdGlvbiBnZXRaZXJvU2l6ZSgpIHsKCQl2YXIgc2l6ZSA9IHsKCQkJd2lkdGg6IDAsCgkJCWhlaWdodDogMCwKCQkJaW5uZXJXaWR0aDogMCwKCQkJaW5uZXJIZWlnaHQ6IDAsCgkJCW91dGVyV2lkdGg6IDAsCgkJCW91dGVySGVpZ2h0OiAwCgkJfTsKCQlmb3IgKCB2YXIgaT0wOyBpIDwgbWVhc3VyZW1lbnRzTGVuZ3RoOyBpKysgKSB7CgkJCXZhciBtZWFzdXJlbWVudCA9IG1lYXN1cmVtZW50c1tpXTsKCQkJc2l6ZVsgbWVhc3VyZW1lbnQgXSA9IDA7CgkJfQoJCXJldHVybiBzaXplOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZ2V0U3R5bGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgkvKioKCSAqIGdldFN0eWxlLCBnZXQgc3R5bGUgb2YgZWxlbWVudCwgY2hlY2sgZm9yIEZpcmVmb3ggYnVnCgkgKiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01NDgzOTcKCSAqLwoJZnVuY3Rpb24gZ2V0U3R5bGUoIGVsZW0gKSB7CgkJdmFyIHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSggZWxlbSApOwoJCWlmICggIXN0eWxlICkgewoJCQlsb2dFcnJvciggJ1N0eWxlIHJldHVybmVkICcgKyBzdHlsZSArCgkJCQknLiBBcmUgeW91IHJ1bm5pbmcgdGhpcyBjb2RlIGluIGEgaGlkZGVuIGlmcmFtZSBvbiBGaXJlZm94PyAnICsKCQkJCSdTZWUgaHR0cHM6Ly9iaXQubHkvZ2V0c2l6ZWJ1ZzEnICk7CgkJfQoJCXJldHVybiBzdHlsZTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHNldHVwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJdmFyIGlzU2V0dXAgPSBmYWxzZTsKCgl2YXIgaXNCb3hTaXplT3V0ZXI7CgoJLyoqCgkgKiBzZXR1cAoJICogY2hlY2sgaXNCb3hTaXplck91dGVyCgkgKiBkbyBvbiBmaXJzdCBnZXRTaXplKCkgcmF0aGVyIHRoYW4gb24gcGFnZSBsb2FkIGZvciBGaXJlZm94IGJ1ZwoJICovCglmdW5jdGlvbiBzZXR1cCgpIHsKCQkvLyBzZXR1cCBvbmNlCgkJaWYgKCBpc1NldHVwICkgewoJCQlyZXR1cm47CgkJfQoJCWlzU2V0dXAgPSB0cnVlOwoKCQkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBib3ggc2l6aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCS8qKgoJCSAqIENocm9tZSAmIFNhZmFyaSBtZWFzdXJlIHRoZSBvdXRlci13aWR0aCBvbiBzdHlsZS53aWR0aCBvbiBib3JkZXItYm94IGVsZW1zCgkJICogSUUxMSAmIEZpcmVmb3g8MjkgbWVhc3VyZXMgdGhlIGlubmVyLXdpZHRoCgkJICovCgkJdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwoJCWRpdi5zdHlsZS53aWR0aCA9ICcyMDBweCc7CgkJZGl2LnN0eWxlLnBhZGRpbmcgPSAnMXB4IDJweCAzcHggNHB4JzsKCQlkaXYuc3R5bGUuYm9yZGVyU3R5bGUgPSAnc29saWQnOwoJCWRpdi5zdHlsZS5ib3JkZXJXaWR0aCA9ICcxcHggMnB4IDNweCA0cHgnOwoJCWRpdi5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCc7CgoJCXZhciBib2R5ID0gZG9jdW1lbnQuYm9keSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CgkJYm9keS5hcHBlbmRDaGlsZCggZGl2ICk7CgkJdmFyIHN0eWxlID0gZ2V0U3R5bGUoIGRpdiApOwoJCS8vIHJvdW5kIHZhbHVlIGZvciBicm93c2VyIHpvb20uIGRlc2FuZHJvL21hc29ucnkjOTI4CgkJaXNCb3hTaXplT3V0ZXIgPSBNYXRoLnJvdW5kKCBnZXRTdHlsZVNpemUoIHN0eWxlLndpZHRoICkgKSA9PSAyMDA7CgkJZ2V0U2l6ZS5pc0JveFNpemVPdXRlciA9IGlzQm94U2l6ZU91dGVyOwoKCQlib2R5LnJlbW92ZUNoaWxkKCBkaXYgKTsKCX0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGdldFNpemUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCglmdW5jdGlvbiBnZXRTaXplKCBlbGVtICkgewoJCXNldHVwKCk7CgoJCS8vIHVzZSBxdWVyeVNlbGV0b3IgaWYgZWxlbSBpcyBzdHJpbmcKCQlpZiAoIHR5cGVvZiBlbGVtID09ICdzdHJpbmcnICkgewoJCQllbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggZWxlbSApOwoJCX0KCgkJLy8gZG8gbm90IHByb2NlZWQgb24gbm9uLW9iamVjdHMKCQlpZiAoICFlbGVtIHx8IHR5cGVvZiBlbGVtICE9ICdvYmplY3QnIHx8ICFlbGVtLm5vZGVUeXBlICkgewoJCQlyZXR1cm47CgkJfQoKCQl2YXIgc3R5bGUgPSBnZXRTdHlsZSggZWxlbSApOwoKCQkvLyBpZiBoaWRkZW4sIGV2ZXJ5dGhpbmcgaXMgMAoJCWlmICggc3R5bGUuZGlzcGxheSA9PSAnbm9uZScgKSB7CgkJCXJldHVybiBnZXRaZXJvU2l6ZSgpOwoJCX0KCgkJdmFyIHNpemUgPSB7fTsKCQlzaXplLndpZHRoID0gZWxlbS5vZmZzZXRXaWR0aDsKCQlzaXplLmhlaWdodCA9IGVsZW0ub2Zmc2V0SGVpZ2h0OwoKCQl2YXIgaXNCb3JkZXJCb3ggPSBzaXplLmlzQm9yZGVyQm94ID0gc3R5bGUuYm94U2l6aW5nID09ICdib3JkZXItYm94JzsKCgkJLy8gZ2V0IGFsbCBtZWFzdXJlbWVudHMKCQlmb3IgKCB2YXIgaT0wOyBpIDwgbWVhc3VyZW1lbnRzTGVuZ3RoOyBpKysgKSB7CgkJCXZhciBtZWFzdXJlbWVudCA9IG1lYXN1cmVtZW50c1tpXTsKCQkJdmFyIHZhbHVlID0gc3R5bGVbIG1lYXN1cmVtZW50IF07CgkJCXZhciBudW0gPSBwYXJzZUZsb2F0KCB2YWx1ZSApOwoJCQkvLyBhbnkgJ2F1dG8nLCAnbWVkaXVtJyB2YWx1ZSB3aWxsIGJlIDAKCQkJc2l6ZVsgbWVhc3VyZW1lbnQgXSA9ICFpc05hTiggbnVtICkgPyBudW0gOiAwOwoJCX0KCgkJdmFyIHBhZGRpbmdXaWR0aCA9IHNpemUucGFkZGluZ0xlZnQgKyBzaXplLnBhZGRpbmdSaWdodDsKCQl2YXIgcGFkZGluZ0hlaWdodCA9IHNpemUucGFkZGluZ1RvcCArIHNpemUucGFkZGluZ0JvdHRvbTsKCQl2YXIgbWFyZ2luV2lkdGggPSBzaXplLm1hcmdpbkxlZnQgKyBzaXplLm1hcmdpblJpZ2h0OwoJCXZhciBtYXJnaW5IZWlnaHQgPSBzaXplLm1hcmdpblRvcCArIHNpemUubWFyZ2luQm90dG9tOwoJCXZhciBib3JkZXJXaWR0aCA9IHNpemUuYm9yZGVyTGVmdFdpZHRoICsgc2l6ZS5ib3JkZXJSaWdodFdpZHRoOwoJCXZhciBib3JkZXJIZWlnaHQgPSBzaXplLmJvcmRlclRvcFdpZHRoICsgc2l6ZS5ib3JkZXJCb3R0b21XaWR0aDsKCgkJdmFyIGlzQm9yZGVyQm94U2l6ZU91dGVyID0gaXNCb3JkZXJCb3ggJiYgaXNCb3hTaXplT3V0ZXI7CgoJCS8vIG92ZXJ3cml0ZSB3aWR0aCBhbmQgaGVpZ2h0IGlmIHdlIGNhbiBnZXQgaXQgZnJvbSBzdHlsZQoJCXZhciBzdHlsZVdpZHRoID0gZ2V0U3R5bGVTaXplKCBzdHlsZS53aWR0aCApOwoJCWlmICggc3R5bGVXaWR0aCAhPT0gZmFsc2UgKSB7CgkJCXNpemUud2lkdGggPSBzdHlsZVdpZHRoICsKCQkJCS8vIGFkZCBwYWRkaW5nIGFuZCBib3JkZXIgdW5sZXNzIGl0J3MgYWxyZWFkeSBpbmNsdWRpbmcgaXQKCQkJCSggaXNCb3JkZXJCb3hTaXplT3V0ZXIgPyAwIDogcGFkZGluZ1dpZHRoICsgYm9yZGVyV2lkdGggKTsKCQl9CgoJCXZhciBzdHlsZUhlaWdodCA9IGdldFN0eWxlU2l6ZSggc3R5bGUuaGVpZ2h0ICk7CgkJaWYgKCBzdHlsZUhlaWdodCAhPT0gZmFsc2UgKSB7CgkJCXNpemUuaGVpZ2h0ID0gc3R5bGVIZWlnaHQgKwoJCQkJLy8gYWRkIHBhZGRpbmcgYW5kIGJvcmRlciB1bmxlc3MgaXQncyBhbHJlYWR5IGluY2x1ZGluZyBpdAoJCQkJKCBpc0JvcmRlckJveFNpemVPdXRlciA/IDAgOiBwYWRkaW5nSGVpZ2h0ICsgYm9yZGVySGVpZ2h0ICk7CgkJfQoKCQlzaXplLmlubmVyV2lkdGggPSBzaXplLndpZHRoIC0gKCBwYWRkaW5nV2lkdGggKyBib3JkZXJXaWR0aCApOwoJCXNpemUuaW5uZXJIZWlnaHQgPSBzaXplLmhlaWdodCAtICggcGFkZGluZ0hlaWdodCArIGJvcmRlckhlaWdodCApOwoKCQlzaXplLm91dGVyV2lkdGggPSBzaXplLndpZHRoICsgbWFyZ2luV2lkdGg7CgkJc2l6ZS5vdXRlckhlaWdodCA9IHNpemUuaGVpZ2h0ICsgbWFyZ2luSGVpZ2h0OwoKCQlyZXR1cm4gc2l6ZTsKCX0KCglyZXR1cm4gZ2V0U2l6ZTsKCn0pOwoKLyoqCiAqIG1hdGNoZXNTZWxlY3RvciB2Mi4wLjIKICogbWF0Y2hlc1NlbGVjdG9yKCBlbGVtZW50LCAnLnNlbGVjdG9yJyApCiAqIE1JVCBsaWNlbnNlCiAqLwoKLypqc2hpbnQgYnJvd3NlcjogdHJ1ZSwgc3RyaWN0OiB0cnVlLCB1bmRlZjogdHJ1ZSwgdW51c2VkOiB0cnVlICovCgooIGZ1bmN0aW9uKCB3aW5kb3csIGZhY3RvcnkgKSB7CgkvKmdsb2JhbCBkZWZpbmU6IGZhbHNlLCBtb2R1bGU6IGZhbHNlICovCgkndXNlIHN0cmljdCc7CgkvLyB1bml2ZXJzYWwgbW9kdWxlIGRlZmluaXRpb24KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1ECgkJZGVmaW5lKCAnZGVzYW5kcm8tbWF0Y2hlcy1zZWxlY3Rvci9tYXRjaGVzLXNlbGVjdG9yJyxmYWN0b3J5ICk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzICkgewoJCS8vIENvbW1vbkpTCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7Cgl9IGVsc2UgewoJCS8vIGJyb3dzZXIgZ2xvYmFsCgkJd2luZG93Lm1hdGNoZXNTZWxlY3RvciA9IGZhY3RvcnkoKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSgpIHsKCSd1c2Ugc3RyaWN0JzsKCgl2YXIgbWF0Y2hlc01ldGhvZCA9ICggZnVuY3Rpb24oKSB7CgkJdmFyIEVsZW1Qcm90byA9IHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZTsKCQkvLyBjaGVjayBmb3IgdGhlIHN0YW5kYXJkIG1ldGhvZCBuYW1lIGZpcnN0CgkJaWYgKCBFbGVtUHJvdG8ubWF0Y2hlcyApIHsKCQkJcmV0dXJuICdtYXRjaGVzJzsKCQl9CgkJLy8gY2hlY2sgdW4tcHJlZml4ZWQKCQlpZiAoIEVsZW1Qcm90by5tYXRjaGVzU2VsZWN0b3IgKSB7CgkJCXJldHVybiAnbWF0Y2hlc1NlbGVjdG9yJzsKCQl9CgkJLy8gY2hlY2sgdmVuZG9yIHByZWZpeGVzCgkJdmFyIHByZWZpeGVzID0gWyAnd2Via2l0JywgJ21veicsICdtcycsICdvJyBdOwoKCQlmb3IgKCB2YXIgaT0wOyBpIDwgcHJlZml4ZXMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBwcmVmaXggPSBwcmVmaXhlc1tpXTsKCQkJdmFyIG1ldGhvZCA9IHByZWZpeCArICdNYXRjaGVzU2VsZWN0b3InOwoJCQlpZiAoIEVsZW1Qcm90b1sgbWV0aG9kIF0gKSB7CgkJCQlyZXR1cm4gbWV0aG9kOwoJCQl9CgkJfQoJfSkoKTsKCglyZXR1cm4gZnVuY3Rpb24gbWF0Y2hlc1NlbGVjdG9yKCBlbGVtLCBzZWxlY3RvciApIHsKCQlyZXR1cm4gZWxlbVsgbWF0Y2hlc01ldGhvZCBdKCBzZWxlY3RvciApOwoJfTsKCn0pKTsKCi8qKgogKiBGaXp6eSBVSSB1dGlscyB2Mi4wLjcKICogTUlUIGxpY2Vuc2UKICovCgovKmpzaGludCBicm93c2VyOiB0cnVlLCB1bmRlZjogdHJ1ZSwgdW51c2VkOiB0cnVlLCBzdHJpY3Q6IHRydWUgKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsKCS8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoJLypqc2hpbnQgc3RyaWN0OiBmYWxzZSAqLyAvKmdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHJlcXVpcmUgKi8KCglpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRAoJCWRlZmluZSggJ2Zpenp5LXVpLXV0aWxzL3V0aWxzJyxbCgkJCSdkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3InCgkJXSwgZnVuY3Rpb24oIG1hdGNoZXNTZWxlY3RvciApIHsKCQkJcmV0dXJuIGZhY3RvcnkoIHdpbmRvdywgbWF0Y2hlc1NlbGVjdG9yICk7CgkJfSk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzICkgewoJCS8vIENvbW1vbkpTCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KAoJCQl3aW5kb3csCgkJCXJlcXVpcmUoJ2Rlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3InKQoJCSk7Cgl9IGVsc2UgewoJCS8vIGJyb3dzZXIgZ2xvYmFsCgkJd2luZG93LmZpenp5VUlVdGlscyA9IGZhY3RvcnkoCgkJCXdpbmRvdywKCQkJd2luZG93Lm1hdGNoZXNTZWxlY3RvcgoJCSk7Cgl9Cgp9KCB3aW5kb3csIGZ1bmN0aW9uIGZhY3RvcnkoIHdpbmRvdywgbWF0Y2hlc1NlbGVjdG9yICkgewoKCgoJdmFyIHV0aWxzID0ge307CgovLyAtLS0tLSBleHRlbmQgLS0tLS0gLy8KCi8vIGV4dGVuZHMgb2JqZWN0cwoJdXRpbHMuZXh0ZW5kID0gZnVuY3Rpb24oIGEsIGIgKSB7CgkJZm9yICggdmFyIHByb3AgaW4gYiApIHsKCQkJYVsgcHJvcCBdID0gYlsgcHJvcCBdOwoJCX0KCQlyZXR1cm4gYTsKCX07CgovLyAtLS0tLSBtb2R1bG8gLS0tLS0gLy8KCgl1dGlscy5tb2R1bG8gPSBmdW5jdGlvbiggbnVtLCBkaXYgKSB7CgkJcmV0dXJuICggKCBudW0gJSBkaXYgKSArIGRpdiApICUgZGl2OwoJfTsKCi8vIC0tLS0tIG1ha2VBcnJheSAtLS0tLSAvLwoKCXZhciBhcnJheVNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwoKLy8gdHVybiBlbGVtZW50IG9yIG5vZGVMaXN0IGludG8gYW4gYXJyYXkKCXV0aWxzLm1ha2VBcnJheSA9IGZ1bmN0aW9uKCBvYmogKSB7CgkJaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsKCQkJLy8gdXNlIG9iamVjdCBpZiBhbHJlYWR5IGFuIGFycmF5CgkJCXJldHVybiBvYmo7CgkJfQoJCS8vIHJldHVybiBlbXB0eSBhcnJheSBpZiB1bmRlZmluZWQgb3IgbnVsbC4gIzYKCQlpZiAoIG9iaiA9PT0gbnVsbCB8fCBvYmogPT09IHVuZGVmaW5lZCApIHsKCQkJcmV0dXJuIFtdOwoJCX0KCgkJdmFyIGlzQXJyYXlMaWtlID0gdHlwZW9mIG9iaiA9PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb2JqLmxlbmd0aCA9PSAnbnVtYmVyJzsKCQlpZiAoIGlzQXJyYXlMaWtlICkgewoJCQkvLyBjb252ZXJ0IG5vZGVMaXN0IHRvIGFycmF5CgkJCXJldHVybiBhcnJheVNsaWNlLmNhbGwoIG9iaiApOwoJCX0KCgkJLy8gYXJyYXkgb2Ygc2luZ2xlIGluZGV4CgkJcmV0dXJuIFsgb2JqIF07Cgl9OwoKLy8gLS0tLS0gcmVtb3ZlRnJvbSAtLS0tLSAvLwoKCXV0aWxzLnJlbW92ZUZyb20gPSBmdW5jdGlvbiggYXJ5LCBvYmogKSB7CgkJdmFyIGluZGV4ID0gYXJ5LmluZGV4T2YoIG9iaiApOwoJCWlmICggaW5kZXggIT0gLTEgKSB7CgkJCWFyeS5zcGxpY2UoIGluZGV4LCAxICk7CgkJfQoJfTsKCi8vIC0tLS0tIGdldFBhcmVudCAtLS0tLSAvLwoKCXV0aWxzLmdldFBhcmVudCA9IGZ1bmN0aW9uKCBlbGVtLCBzZWxlY3RvciApIHsKCQl3aGlsZSAoIGVsZW0ucGFyZW50Tm9kZSAmJiBlbGVtICE9IGRvY3VtZW50LmJvZHkgKSB7CgkJCWVsZW0gPSBlbGVtLnBhcmVudE5vZGU7CgkJCWlmICggbWF0Y2hlc1NlbGVjdG9yKCBlbGVtLCBzZWxlY3RvciApICkgewoJCQkJcmV0dXJuIGVsZW07CgkJCX0KCQl9Cgl9OwoKLy8gLS0tLS0gZ2V0UXVlcnlFbGVtZW50IC0tLS0tIC8vCgovLyB1c2UgZWxlbWVudCBhcyBzZWxlY3RvciBzdHJpbmcKCXV0aWxzLmdldFF1ZXJ5RWxlbWVudCA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCWlmICggdHlwZW9mIGVsZW0gPT0gJ3N0cmluZycgKSB7CgkJCXJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCBlbGVtICk7CgkJfQoJCXJldHVybiBlbGVtOwoJfTsKCi8vIC0tLS0tIGhhbmRsZUV2ZW50IC0tLS0tIC8vCgovLyBlbmFibGUgLm9udHlwZSB0byB0cmlnZ2VyIGZyb20gLmFkZEV2ZW50TGlzdGVuZXIoIGVsZW0sICd0eXBlJyApCgl1dGlscy5oYW5kbGVFdmVudCA9IGZ1bmN0aW9uKCBldmVudCApIHsKCQl2YXIgbWV0aG9kID0gJ29uJyArIGV2ZW50LnR5cGU7CgkJaWYgKCB0aGlzWyBtZXRob2QgXSApIHsKCQkJdGhpc1sgbWV0aG9kIF0oIGV2ZW50ICk7CgkJfQoJfTsKCi8vIC0tLS0tIGZpbHRlckZpbmRFbGVtZW50cyAtLS0tLSAvLwoKCXV0aWxzLmZpbHRlckZpbmRFbGVtZW50cyA9IGZ1bmN0aW9uKCBlbGVtcywgc2VsZWN0b3IgKSB7CgkJLy8gbWFrZSBhcnJheSBvZiBlbGVtcwoJCWVsZW1zID0gdXRpbHMubWFrZUFycmF5KCBlbGVtcyApOwoJCXZhciBmZkVsZW1zID0gW107CgoJCWVsZW1zLmZvckVhY2goIGZ1bmN0aW9uKCBlbGVtICkgewoJCQkvLyBjaGVjayB0aGF0IGVsZW0gaXMgYW4gYWN0dWFsIGVsZW1lbnQKCQkJaWYgKCAhKCBlbGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgKSApIHsKCQkJCXJldHVybjsKCQkJfQoJCQkvLyBhZGQgZWxlbSBpZiBubyBzZWxlY3RvcgoJCQlpZiAoICFzZWxlY3RvciApIHsKCQkJCWZmRWxlbXMucHVzaCggZWxlbSApOwoJCQkJcmV0dXJuOwoJCQl9CgkJCS8vIGZpbHRlciAmIGZpbmQgaXRlbXMgaWYgd2UgaGF2ZSBhIHNlbGVjdG9yCgkJCS8vIGZpbHRlcgoJCQlpZiAoIG1hdGNoZXNTZWxlY3RvciggZWxlbSwgc2VsZWN0b3IgKSApIHsKCQkJCWZmRWxlbXMucHVzaCggZWxlbSApOwoJCQl9CgkJCS8vIGZpbmQgY2hpbGRyZW4KCQkJdmFyIGNoaWxkRWxlbXMgPSBlbGVtLnF1ZXJ5U2VsZWN0b3JBbGwoIHNlbGVjdG9yICk7CgkJCS8vIGNvbmNhdCBjaGlsZEVsZW1zIHRvIGZpbHRlckZvdW5kIGFycmF5CgkJCWZvciAoIHZhciBpPTA7IGkgPCBjaGlsZEVsZW1zLmxlbmd0aDsgaSsrICkgewoJCQkJZmZFbGVtcy5wdXNoKCBjaGlsZEVsZW1zW2ldICk7CgkJCX0KCQl9KTsKCgkJcmV0dXJuIGZmRWxlbXM7Cgl9OwoKLy8gLS0tLS0gZGVib3VuY2VNZXRob2QgLS0tLS0gLy8KCgl1dGlscy5kZWJvdW5jZU1ldGhvZCA9IGZ1bmN0aW9uKCBfY2xhc3MsIG1ldGhvZE5hbWUsIHRocmVzaG9sZCApIHsKCQl0aHJlc2hvbGQgPSB0aHJlc2hvbGQgfHwgMTAwOwoJCS8vIG9yaWdpbmFsIG1ldGhvZAoJCXZhciBtZXRob2QgPSBfY2xhc3MucHJvdG90eXBlWyBtZXRob2ROYW1lIF07CgkJdmFyIHRpbWVvdXROYW1lID0gbWV0aG9kTmFtZSArICdUaW1lb3V0JzsKCgkJX2NsYXNzLnByb3RvdHlwZVsgbWV0aG9kTmFtZSBdID0gZnVuY3Rpb24oKSB7CgkJCXZhciB0aW1lb3V0ID0gdGhpc1sgdGltZW91dE5hbWUgXTsKCQkJY2xlYXJUaW1lb3V0KCB0aW1lb3V0ICk7CgoJCQl2YXIgYXJncyA9IGFyZ3VtZW50czsKCQkJdmFyIF90aGlzID0gdGhpczsKCQkJdGhpc1sgdGltZW91dE5hbWUgXSA9IHNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQkJbWV0aG9kLmFwcGx5KCBfdGhpcywgYXJncyApOwoJCQkJZGVsZXRlIF90aGlzWyB0aW1lb3V0TmFtZSBdOwoJCQl9LCB0aHJlc2hvbGQgKTsKCQl9OwoJfTsKCi8vIC0tLS0tIGRvY1JlYWR5IC0tLS0tIC8vCgoJdXRpbHMuZG9jUmVhZHkgPSBmdW5jdGlvbiggY2FsbGJhY2sgKSB7CgkJdmFyIHJlYWR5U3RhdGUgPSBkb2N1bWVudC5yZWFkeVN0YXRlOwoJCWlmICggcmVhZHlTdGF0ZSA9PSAnY29tcGxldGUnIHx8IHJlYWR5U3RhdGUgPT0gJ2ludGVyYWN0aXZlJyApIHsKCQkJLy8gZG8gYXN5bmMgdG8gYWxsb3cgZm9yIG90aGVyIHNjcmlwdHMgdG8gcnVuLiBtZXRhZml6enkvZmxpY2tpdHkjNDQxCgkJCXNldFRpbWVvdXQoIGNhbGxiYWNrICk7CgkJfSBlbHNlIHsKCQkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ0RPTUNvbnRlbnRMb2FkZWQnLCBjYWxsYmFjayApOwoJCX0KCX07CgovLyAtLS0tLSBodG1sSW5pdCAtLS0tLSAvLwoKLy8gaHR0cDovL2phbWVzcm9iZXJ0cy5uYW1lL2Jsb2cvMjAxMC8wMi8yMi9zdHJpbmctZnVuY3Rpb25zLWZvci1qYXZhc2NyaXB0LXRyaW0tdG8tY2FtZWwtY2FzZS10by1kYXNoZWQtYW5kLXRvLXVuZGVyc2NvcmUvCgl1dGlscy50b0Rhc2hlZCA9IGZ1bmN0aW9uKCBzdHIgKSB7CgkJcmV0dXJuIHN0ci5yZXBsYWNlKCAvKC4pKFtBLVpdKS9nLCBmdW5jdGlvbiggbWF0Y2gsICQxLCAkMiApIHsKCQkJcmV0dXJuICQxICsgJy0nICsgJDI7CgkJfSkudG9Mb3dlckNhc2UoKTsKCX07CgoJdmFyIGNvbnNvbGUgPSB3aW5kb3cuY29uc29sZTsKCS8qKgoJICogYWxsb3cgdXNlciB0byBpbml0aWFsaXplIGNsYXNzZXMgdmlhIFtkYXRhLW5hbWVzcGFjZV0gb3IgLmpzLW5hbWVzcGFjZSBjbGFzcwoJICogaHRtbEluaXQoIFdpZGdldCwgJ3dpZGdldE5hbWUnICkKCSAqIG9wdGlvbnMgYXJlIHBhcnNlZCBmcm9tIGRhdGEtbmFtZXNwYWNlLW9wdGlvbnMKCSAqLwoJdXRpbHMuaHRtbEluaXQgPSBmdW5jdGlvbiggV2lkZ2V0Q2xhc3MsIG5hbWVzcGFjZSApIHsKCQl1dGlscy5kb2NSZWFkeSggZnVuY3Rpb24oKSB7CgkJCXZhciBkYXNoZWROYW1lc3BhY2UgPSB1dGlscy50b0Rhc2hlZCggbmFtZXNwYWNlICk7CgkJCXZhciBkYXRhQXR0ciA9ICdkYXRhLScgKyBkYXNoZWROYW1lc3BhY2U7CgkJCXZhciBkYXRhQXR0ckVsZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJ1snICsgZGF0YUF0dHIgKyAnXScgKTsKCQkJdmFyIGpzRGFzaEVsZW1zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCggJy5qcy0nICsgZGFzaGVkTmFtZXNwYWNlICk7CgkJCXZhciBlbGVtcyA9IHV0aWxzLm1ha2VBcnJheSggZGF0YUF0dHJFbGVtcyApCgkJCQkuY29uY2F0KCB1dGlscy5tYWtlQXJyYXkoIGpzRGFzaEVsZW1zICkgKTsKCQkJdmFyIGRhdGFPcHRpb25zQXR0ciA9IGRhdGFBdHRyICsgJy1vcHRpb25zJzsKCQkJdmFyIGpRdWVyeSA9IHdpbmRvdy5qUXVlcnk7CgoJCQllbGVtcy5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbSApIHsKCQkJCXZhciBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoIGRhdGFBdHRyICkgfHwKCQkJCQllbGVtLmdldEF0dHJpYnV0ZSggZGF0YU9wdGlvbnNBdHRyICk7CgkJCQl2YXIgb3B0aW9uczsKCQkJCXRyeSB7CgkJCQkJb3B0aW9ucyA9IGF0dHIgJiYgSlNPTi5wYXJzZSggYXR0ciApOwoJCQkJfSBjYXRjaCAoIGVycm9yICkgewoJCQkJCS8vIGxvZyBlcnJvciwgZG8gbm90IGluaXRpYWxpemUKCQkJCQlpZiAoIGNvbnNvbGUgKSB7CgkJCQkJCWNvbnNvbGUuZXJyb3IoICdFcnJvciBwYXJzaW5nICcgKyBkYXRhQXR0ciArICcgb24gJyArIGVsZW0uY2xhc3NOYW1lICsKCQkJCQkJCSc6ICcgKyBlcnJvciApOwoJCQkJCX0KCQkJCQlyZXR1cm47CgkJCQl9CgkJCQkvLyBpbml0aWFsaXplCgkJCQl2YXIgaW5zdGFuY2UgPSBuZXcgV2lkZ2V0Q2xhc3MoIGVsZW0sIG9wdGlvbnMgKTsKCQkJCS8vIG1ha2UgYXZhaWxhYmxlIHZpYSAkKCkuZGF0YSgnbmFtZXNwYWNlJykKCQkJCWlmICggalF1ZXJ5ICkgewoJCQkJCWpRdWVyeS5kYXRhKCBlbGVtLCBuYW1lc3BhY2UsIGluc3RhbmNlICk7CgkJCQl9CgkJCX0pOwoKCQl9KTsKCX07CgovLyAtLS0tLSAgLS0tLS0gLy8KCglyZXR1cm4gdXRpbHM7Cgp9KSk7CgovKioKICogT3V0bGF5ZXIgSXRlbQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsKCS8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoJLyoganNoaW50IHN0cmljdDogZmFsc2UgKi8gLyogZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSwgcmVxdWlyZSAqLwoJaWYgKCB0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCApIHsKCQkvLyBBTUQgLSBSZXF1aXJlSlMKCQlkZWZpbmUoICdvdXRsYXllci9pdGVtJyxbCgkJCQknZXYtZW1pdHRlci9ldi1lbWl0dGVyJywKCQkJCSdnZXQtc2l6ZS9nZXQtc2l6ZScKCQkJXSwKCQkJZmFjdG9yeQoJCSk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzICkgewoJCS8vIENvbW1vbkpTIC0gQnJvd3NlcmlmeSwgV2VicGFjawoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgKCQkJcmVxdWlyZSgnZXYtZW1pdHRlcicpLAoJCQlyZXF1aXJlKCdnZXQtc2l6ZScpCgkJKTsKCX0gZWxzZSB7CgkJLy8gYnJvd3NlciBnbG9iYWwKCQl3aW5kb3cuT3V0bGF5ZXIgPSB7fTsKCQl3aW5kb3cuT3V0bGF5ZXIuSXRlbSA9IGZhY3RvcnkoCgkJCXdpbmRvdy5FdkVtaXR0ZXIsCgkJCXdpbmRvdy5nZXRTaXplCgkJKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSggRXZFbWl0dGVyLCBnZXRTaXplICkgewoJJ3VzZSBzdHJpY3QnOwoKLy8gLS0tLS0gaGVscGVycyAtLS0tLSAvLwoKCWZ1bmN0aW9uIGlzRW1wdHlPYmooIG9iaiApIHsKCQlmb3IgKCB2YXIgcHJvcCBpbiBvYmogKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJcHJvcCA9IG51bGw7CgkJcmV0dXJuIHRydWU7Cgl9CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDU1MzIHN1cHBvcnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgoJdmFyIGRvY0VsZW1TdHlsZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZTsKCgl2YXIgdHJhbnNpdGlvblByb3BlcnR5ID0gdHlwZW9mIGRvY0VsZW1TdHlsZS50cmFuc2l0aW9uID09ICdzdHJpbmcnID8KCQkndHJhbnNpdGlvbicgOiAnV2Via2l0VHJhbnNpdGlvbic7Cgl2YXIgdHJhbnNmb3JtUHJvcGVydHkgPSB0eXBlb2YgZG9jRWxlbVN0eWxlLnRyYW5zZm9ybSA9PSAnc3RyaW5nJyA/CgkJJ3RyYW5zZm9ybScgOiAnV2Via2l0VHJhbnNmb3JtJzsKCgl2YXIgdHJhbnNpdGlvbkVuZEV2ZW50ID0gewoJCVdlYmtpdFRyYW5zaXRpb246ICd3ZWJraXRUcmFuc2l0aW9uRW5kJywKCQl0cmFuc2l0aW9uOiAndHJhbnNpdGlvbmVuZCcKCX1bIHRyYW5zaXRpb25Qcm9wZXJ0eSBdOwoKLy8gY2FjaGUgYWxsIHZlbmRvciBwcm9wZXJ0aWVzIHRoYXQgY291bGQgaGF2ZSB2ZW5kb3IgcHJlZml4Cgl2YXIgdmVuZG9yUHJvcGVydGllcyA9IHsKCQl0cmFuc2Zvcm06IHRyYW5zZm9ybVByb3BlcnR5LAoJCXRyYW5zaXRpb246IHRyYW5zaXRpb25Qcm9wZXJ0eSwKCQl0cmFuc2l0aW9uRHVyYXRpb246IHRyYW5zaXRpb25Qcm9wZXJ0eSArICdEdXJhdGlvbicsCgkJdHJhbnNpdGlvblByb3BlcnR5OiB0cmFuc2l0aW9uUHJvcGVydHkgKyAnUHJvcGVydHknLAoJCXRyYW5zaXRpb25EZWxheTogdHJhbnNpdGlvblByb3BlcnR5ICsgJ0RlbGF5JwoJfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEl0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCglmdW5jdGlvbiBJdGVtKCBlbGVtZW50LCBsYXlvdXQgKSB7CgkJaWYgKCAhZWxlbWVudCApIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5lbGVtZW50ID0gZWxlbWVudDsKCQkvLyBwYXJlbnQgbGF5b3V0IGNsYXNzLCBpLmUuIE1hc29ucnksIElzb3RvcGUsIG9yIFBhY2tlcnkKCQl0aGlzLmxheW91dCA9IGxheW91dDsKCQl0aGlzLnBvc2l0aW9uID0gewoJCQl4OiAwLAoJCQl5OiAwCgkJfTsKCgkJdGhpcy5fY3JlYXRlKCk7Cgl9CgovLyBpbmhlcml0IEV2RW1pdHRlcgoJdmFyIHByb3RvID0gSXRlbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBFdkVtaXR0ZXIucHJvdG90eXBlICk7Cglwcm90by5jb25zdHJ1Y3RvciA9IEl0ZW07CgoJcHJvdG8uX2NyZWF0ZSA9IGZ1bmN0aW9uKCkgewoJCS8vIHRyYW5zaXRpb24gb2JqZWN0cwoJCXRoaXMuX3RyYW5zbiA9IHsKCQkJaW5nUHJvcGVydGllczoge30sCgkJCWNsZWFuOiB7fSwKCQkJb25FbmQ6IHt9CgkJfTsKCgkJdGhpcy5jc3MoewoJCQlwb3NpdGlvbjogJ2Fic29sdXRlJwoJCX0pOwoJfTsKCi8vIHRyaWdnZXIgc3BlY2lmaWVkIGhhbmRsZXIgZm9yIGV2ZW50IHR5cGUKCXByb3RvLmhhbmRsZUV2ZW50ID0gZnVuY3Rpb24oIGV2ZW50ICkgewoJCXZhciBtZXRob2QgPSAnb24nICsgZXZlbnQudHlwZTsKCQlpZiAoIHRoaXNbIG1ldGhvZCBdICkgewoJCQl0aGlzWyBtZXRob2QgXSggZXZlbnQgKTsKCQl9Cgl9OwoKCXByb3RvLmdldFNpemUgPSBmdW5jdGlvbigpIHsKCQl0aGlzLnNpemUgPSBnZXRTaXplKCB0aGlzLmVsZW1lbnQgKTsKCX07CgoJLyoqCgkgKiBhcHBseSBDU1Mgc3R5bGVzIHRvIGVsZW1lbnQKCSAqIEBwYXJhbSB7T2JqZWN0fSBzdHlsZQoJICovCglwcm90by5jc3MgPSBmdW5jdGlvbiggc3R5bGUgKSB7CgkJdmFyIGVsZW1TdHlsZSA9IHRoaXMuZWxlbWVudC5zdHlsZTsKCgkJZm9yICggdmFyIHByb3AgaW4gc3R5bGUgKSB7CgkJCS8vIHVzZSB2ZW5kb3IgcHJvcGVydHkgaWYgYXZhaWxhYmxlCgkJCXZhciBzdXBwb3J0ZWRQcm9wID0gdmVuZG9yUHJvcGVydGllc1sgcHJvcCBdIHx8IHByb3A7CgkJCWVsZW1TdHlsZVsgc3VwcG9ydGVkUHJvcCBdID0gc3R5bGVbIHByb3AgXTsKCQl9Cgl9OwoKCS8vIG1lYXN1cmUgcG9zaXRpb24sIGFuZCBzZXRzIGl0Cglwcm90by5nZXRQb3NpdGlvbiA9IGZ1bmN0aW9uKCkgewoJCXZhciBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoIHRoaXMuZWxlbWVudCApOwoJCXZhciBpc09yaWdpbkxlZnQgPSB0aGlzLmxheW91dC5fZ2V0T3B0aW9uKCdvcmlnaW5MZWZ0Jyk7CgkJdmFyIGlzT3JpZ2luVG9wID0gdGhpcy5sYXlvdXQuX2dldE9wdGlvbignb3JpZ2luVG9wJyk7CgkJdmFyIHhWYWx1ZSA9IHN0eWxlWyBpc09yaWdpbkxlZnQgPyAnbGVmdCcgOiAncmlnaHQnIF07CgkJdmFyIHlWYWx1ZSA9IHN0eWxlWyBpc09yaWdpblRvcCA/ICd0b3AnIDogJ2JvdHRvbScgXTsKCQl2YXIgeCA9IHBhcnNlRmxvYXQoIHhWYWx1ZSApOwoJCXZhciB5ID0gcGFyc2VGbG9hdCggeVZhbHVlICk7CgkJLy8gY29udmVydCBwZXJjZW50IHRvIHBpeGVscwoJCXZhciBsYXlvdXRTaXplID0gdGhpcy5sYXlvdXQuc2l6ZTsKCQlpZiAoIHhWYWx1ZS5pbmRleE9mKCclJykgIT0gLTEgKSB7CgkJCXggPSAoIHggLyAxMDAgKSAqIGxheW91dFNpemUud2lkdGg7CgkJfQoJCWlmICggeVZhbHVlLmluZGV4T2YoJyUnKSAhPSAtMSApIHsKCQkJeSA9ICggeSAvIDEwMCApICogbGF5b3V0U2l6ZS5oZWlnaHQ7CgkJfQoJCS8vIGNsZWFuIHVwICdhdXRvJyBvciBvdGhlciBub24taW50ZWdlciB2YWx1ZXMKCQl4ID0gaXNOYU4oIHggKSA/IDAgOiB4OwoJCXkgPSBpc05hTiggeSApID8gMCA6IHk7CgkJLy8gcmVtb3ZlIHBhZGRpbmcgZnJvbSBtZWFzdXJlbWVudAoJCXggLT0gaXNPcmlnaW5MZWZ0ID8gbGF5b3V0U2l6ZS5wYWRkaW5nTGVmdCA6IGxheW91dFNpemUucGFkZGluZ1JpZ2h0OwoJCXkgLT0gaXNPcmlnaW5Ub3AgPyBsYXlvdXRTaXplLnBhZGRpbmdUb3AgOiBsYXlvdXRTaXplLnBhZGRpbmdCb3R0b207CgoJCXRoaXMucG9zaXRpb24ueCA9IHg7CgkJdGhpcy5wb3NpdGlvbi55ID0geTsKCX07CgovLyBzZXQgc2V0dGxlZCBwb3NpdGlvbiwgYXBwbHkgcGFkZGluZwoJcHJvdG8ubGF5b3V0UG9zaXRpb24gPSBmdW5jdGlvbigpIHsKCQl2YXIgbGF5b3V0U2l6ZSA9IHRoaXMubGF5b3V0LnNpemU7CgkJdmFyIHN0eWxlID0ge307CgkJdmFyIGlzT3JpZ2luTGVmdCA9IHRoaXMubGF5b3V0Ll9nZXRPcHRpb24oJ29yaWdpbkxlZnQnKTsKCQl2YXIgaXNPcmlnaW5Ub3AgPSB0aGlzLmxheW91dC5fZ2V0T3B0aW9uKCdvcmlnaW5Ub3AnKTsKCgkJLy8geAoJCXZhciB4UGFkZGluZyA9IGlzT3JpZ2luTGVmdCA/ICdwYWRkaW5nTGVmdCcgOiAncGFkZGluZ1JpZ2h0JzsKCQl2YXIgeFByb3BlcnR5ID0gaXNPcmlnaW5MZWZ0ID8gJ2xlZnQnIDogJ3JpZ2h0JzsKCQl2YXIgeFJlc2V0UHJvcGVydHkgPSBpc09yaWdpbkxlZnQgPyAncmlnaHQnIDogJ2xlZnQnOwoKCQl2YXIgeCA9IHRoaXMucG9zaXRpb24ueCArIGxheW91dFNpemVbIHhQYWRkaW5nIF07CgkJLy8gc2V0IGluIHBlcmNlbnRhZ2Ugb3IgcGl4ZWxzCgkJc3R5bGVbIHhQcm9wZXJ0eSBdID0gdGhpcy5nZXRYVmFsdWUoIHggKTsKCQkvLyByZXNldCBvdGhlciBwcm9wZXJ0eQoJCXN0eWxlWyB4UmVzZXRQcm9wZXJ0eSBdID0gJyc7CgoJCS8vIHkKCQl2YXIgeVBhZGRpbmcgPSBpc09yaWdpblRvcCA/ICdwYWRkaW5nVG9wJyA6ICdwYWRkaW5nQm90dG9tJzsKCQl2YXIgeVByb3BlcnR5ID0gaXNPcmlnaW5Ub3AgPyAndG9wJyA6ICdib3R0b20nOwoJCXZhciB5UmVzZXRQcm9wZXJ0eSA9IGlzT3JpZ2luVG9wID8gJ2JvdHRvbScgOiAndG9wJzsKCgkJdmFyIHkgPSB0aGlzLnBvc2l0aW9uLnkgKyBsYXlvdXRTaXplWyB5UGFkZGluZyBdOwoJCS8vIHNldCBpbiBwZXJjZW50YWdlIG9yIHBpeGVscwoJCXN0eWxlWyB5UHJvcGVydHkgXSA9IHRoaXMuZ2V0WVZhbHVlKCB5ICk7CgkJLy8gcmVzZXQgb3RoZXIgcHJvcGVydHkKCQlzdHlsZVsgeVJlc2V0UHJvcGVydHkgXSA9ICcnOwoKCQl0aGlzLmNzcyggc3R5bGUgKTsKCQl0aGlzLmVtaXRFdmVudCggJ2xheW91dCcsIFsgdGhpcyBdICk7Cgl9OwoKCXByb3RvLmdldFhWYWx1ZSA9IGZ1bmN0aW9uKCB4ICkgewoJCXZhciBpc0hvcml6b250YWwgPSB0aGlzLmxheW91dC5fZ2V0T3B0aW9uKCdob3Jpem9udGFsJyk7CgkJcmV0dXJuIHRoaXMubGF5b3V0Lm9wdGlvbnMucGVyY2VudFBvc2l0aW9uICYmICFpc0hvcml6b250YWwgPwoJCQkoICggeCAvIHRoaXMubGF5b3V0LnNpemUud2lkdGggKSAqIDEwMCApICsgJyUnIDogeCArICdweCc7Cgl9OwoKCXByb3RvLmdldFlWYWx1ZSA9IGZ1bmN0aW9uKCB5ICkgewoJCXZhciBpc0hvcml6b250YWwgPSB0aGlzLmxheW91dC5fZ2V0T3B0aW9uKCdob3Jpem9udGFsJyk7CgkJcmV0dXJuIHRoaXMubGF5b3V0Lm9wdGlvbnMucGVyY2VudFBvc2l0aW9uICYmIGlzSG9yaXpvbnRhbCA/CgkJCSggKCB5IC8gdGhpcy5sYXlvdXQuc2l6ZS5oZWlnaHQgKSAqIDEwMCApICsgJyUnIDogeSArICdweCc7Cgl9OwoKCXByb3RvLl90cmFuc2l0aW9uVG8gPSBmdW5jdGlvbiggeCwgeSApIHsKCQl0aGlzLmdldFBvc2l0aW9uKCk7CgkJLy8gZ2V0IGN1cnJlbnQgeCAmIHkgZnJvbSB0b3AvbGVmdAoJCXZhciBjdXJYID0gdGhpcy5wb3NpdGlvbi54OwoJCXZhciBjdXJZID0gdGhpcy5wb3NpdGlvbi55OwoKCQl2YXIgZGlkTm90TW92ZSA9IHggPT0gdGhpcy5wb3NpdGlvbi54ICYmIHkgPT0gdGhpcy5wb3NpdGlvbi55OwoKCQkvLyBzYXZlIGVuZCBwb3NpdGlvbgoJCXRoaXMuc2V0UG9zaXRpb24oIHgsIHkgKTsKCgkJLy8gaWYgZGlkIG5vdCBtb3ZlIGFuZCBub3QgdHJhbnNpdGlvbmluZywganVzdCBnbyB0byBsYXlvdXQKCQlpZiAoIGRpZE5vdE1vdmUgJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nICkgewoJCQl0aGlzLmxheW91dFBvc2l0aW9uKCk7CgkJCXJldHVybjsKCQl9CgoJCXZhciB0cmFuc1ggPSB4IC0gY3VyWDsKCQl2YXIgdHJhbnNZID0geSAtIGN1clk7CgkJdmFyIHRyYW5zaXRpb25TdHlsZSA9IHt9OwoJCXRyYW5zaXRpb25TdHlsZS50cmFuc2Zvcm0gPSB0aGlzLmdldFRyYW5zbGF0ZSggdHJhbnNYLCB0cmFuc1kgKTsKCgkJdGhpcy50cmFuc2l0aW9uKHsKCQkJdG86IHRyYW5zaXRpb25TdHlsZSwKCQkJb25UcmFuc2l0aW9uRW5kOiB7CgkJCQl0cmFuc2Zvcm06IHRoaXMubGF5b3V0UG9zaXRpb24KCQkJfSwKCQkJaXNDbGVhbmluZzogdHJ1ZQoJCX0pOwoJfTsKCglwcm90by5nZXRUcmFuc2xhdGUgPSBmdW5jdGlvbiggeCwgeSApIHsKCQkvLyBmbGlwIGNvb3JpZGluYXRlcyBpZiBvcmlnaW4gb24gcmlnaHQgb3IgYm90dG9tCgkJdmFyIGlzT3JpZ2luTGVmdCA9IHRoaXMubGF5b3V0Ll9nZXRPcHRpb24oJ29yaWdpbkxlZnQnKTsKCQl2YXIgaXNPcmlnaW5Ub3AgPSB0aGlzLmxheW91dC5fZ2V0T3B0aW9uKCdvcmlnaW5Ub3AnKTsKCQl4ID0gaXNPcmlnaW5MZWZ0ID8geCA6IC14OwoJCXkgPSBpc09yaWdpblRvcCA/IHkgOiAteTsKCQlyZXR1cm4gJ3RyYW5zbGF0ZTNkKCcgKyB4ICsgJ3B4LCAnICsgeSArICdweCwgMCknOwoJfTsKCi8vIG5vbiB0cmFuc2l0aW9uICsgdHJhbnNmb3JtIHN1cHBvcnQKCXByb3RvLmdvVG8gPSBmdW5jdGlvbiggeCwgeSApIHsKCQl0aGlzLnNldFBvc2l0aW9uKCB4LCB5ICk7CgkJdGhpcy5sYXlvdXRQb3NpdGlvbigpOwoJfTsKCglwcm90by5tb3ZlVG8gPSBwcm90by5fdHJhbnNpdGlvblRvOwoKCXByb3RvLnNldFBvc2l0aW9uID0gZnVuY3Rpb24oIHgsIHkgKSB7CgkJdGhpcy5wb3NpdGlvbi54ID0gcGFyc2VGbG9hdCggeCApOwoJCXRoaXMucG9zaXRpb24ueSA9IHBhcnNlRmxvYXQoIHkgKTsKCX07CgovLyAtLS0tLSB0cmFuc2l0aW9uIC0tLS0tIC8vCgoJLyoqCgkgKiBAcGFyYW0ge09iamVjdH0gc3R5bGUgLSBDU1MKCSAqIEBwYXJhbSB7RnVuY3Rpb259IG9uVHJhbnNpdGlvbkVuZAoJICovCgovLyBub24gdHJhbnNpdGlvbiwganVzdCB0cmlnZ2VyIGNhbGxiYWNrCglwcm90by5fbm9uVHJhbnNpdGlvbiA9IGZ1bmN0aW9uKCBhcmdzICkgewoJCXRoaXMuY3NzKCBhcmdzLnRvICk7CgkJaWYgKCBhcmdzLmlzQ2xlYW5pbmcgKSB7CgkJCXRoaXMuX3JlbW92ZVN0eWxlcyggYXJncy50byApOwoJCX0KCQlmb3IgKCB2YXIgcHJvcCBpbiBhcmdzLm9uVHJhbnNpdGlvbkVuZCApIHsKCQkJYXJncy5vblRyYW5zaXRpb25FbmRbIHByb3AgXS5jYWxsKCB0aGlzICk7CgkJfQoJfTsKCgkvKioKCSAqIHByb3BlciB0cmFuc2l0aW9uCgkgKiBAcGFyYW0ge09iamVjdH0gYXJncyAtIGFyZ3VtZW50cwoJICogICBAcGFyYW0ge09iamVjdH0gdG8gLSBzdHlsZSB0byB0cmFuc2l0aW9uIHRvCgkgKiAgIEBwYXJhbSB7T2JqZWN0fSBmcm9tIC0gc3R5bGUgdG8gc3RhcnQgdHJhbnNpdGlvbiBmcm9tCgkgKiAgIEBwYXJhbSB7Qm9vbGVhbn0gaXNDbGVhbmluZyAtIHJlbW92ZXMgdHJhbnNpdGlvbiBzdHlsZXMgYWZ0ZXIgdHJhbnNpdGlvbgoJICogICBAcGFyYW0ge0Z1bmN0aW9ufSBvblRyYW5zaXRpb25FbmQgLSBjYWxsYmFjawoJICovCglwcm90by50cmFuc2l0aW9uID0gZnVuY3Rpb24oIGFyZ3MgKSB7CgkJLy8gcmVkaXJlY3QgdG8gbm9uVHJhbnNpdGlvbiBpZiBubyB0cmFuc2l0aW9uIGR1cmF0aW9uCgkJaWYgKCAhcGFyc2VGbG9hdCggdGhpcy5sYXlvdXQub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb24gKSApIHsKCQkJdGhpcy5fbm9uVHJhbnNpdGlvbiggYXJncyApOwoJCQlyZXR1cm47CgkJfQoKCQl2YXIgX3RyYW5zaXRpb24gPSB0aGlzLl90cmFuc247CgkJLy8ga2VlcCB0cmFjayBvZiBvblRyYW5zaXRpb25FbmQgY2FsbGJhY2sgYnkgY3NzIHByb3BlcnR5CgkJZm9yICggdmFyIHByb3AgaW4gYXJncy5vblRyYW5zaXRpb25FbmQgKSB7CgkJCV90cmFuc2l0aW9uLm9uRW5kWyBwcm9wIF0gPSBhcmdzLm9uVHJhbnNpdGlvbkVuZFsgcHJvcCBdOwoJCX0KCQkvLyBrZWVwIHRyYWNrIG9mIHByb3BlcnRpZXMgdGhhdCBhcmUgdHJhbnNpdGlvbmluZwoJCWZvciAoIHByb3AgaW4gYXJncy50byApIHsKCQkJX3RyYW5zaXRpb24uaW5nUHJvcGVydGllc1sgcHJvcCBdID0gdHJ1ZTsKCQkJLy8ga2VlcCB0cmFjayBvZiBwcm9wZXJ0aWVzIHRvIGNsZWFuIHVwIHdoZW4gdHJhbnNpdGlvbiBpcyBkb25lCgkJCWlmICggYXJncy5pc0NsZWFuaW5nICkgewoJCQkJX3RyYW5zaXRpb24uY2xlYW5bIHByb3AgXSA9IHRydWU7CgkJCX0KCQl9CgoJCS8vIHNldCBmcm9tIHN0eWxlcwoJCWlmICggYXJncy5mcm9tICkgewoJCQl0aGlzLmNzcyggYXJncy5mcm9tICk7CgkJCS8vIGZvcmNlIHJlZHJhdy4gaHR0cDovL2Jsb2cuYWxleG1hY2Nhdy5jb20vY3NzLXRyYW5zaXRpb25zCgkJCXZhciBoID0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDsKCQkJLy8gaGFjayBmb3IgSlNIaW50IHRvIGh1c2ggYWJvdXQgdW51c2VkIHZhcgoJCQloID0gbnVsbDsKCQl9CgkJLy8gZW5hYmxlIHRyYW5zaXRpb24KCQl0aGlzLmVuYWJsZVRyYW5zaXRpb24oIGFyZ3MudG8gKTsKCQkvLyBzZXQgc3R5bGVzIHRoYXQgYXJlIHRyYW5zaXRpb25pbmcKCQl0aGlzLmNzcyggYXJncy50byApOwoKCQl0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7CgoJfTsKCi8vIGRhc2ggYmVmb3JlIGFsbCBjYXAgbGV0dGVycywgaW5jbHVkaW5nIGZpcnN0IGZvcgovLyBXZWJraXRUcmFuc2Zvcm0gPT4gLXdlYmtpdC10cmFuc2Zvcm0KCWZ1bmN0aW9uIHRvRGFzaGVkQWxsKCBzdHIgKSB7CgkJcmV0dXJuIHN0ci5yZXBsYWNlKCAvKFtBLVpdKS9nLCBmdW5jdGlvbiggJDEgKSB7CgkJCXJldHVybiAnLScgKyAkMS50b0xvd2VyQ2FzZSgpOwoJCX0pOwoJfQoKCXZhciB0cmFuc2l0aW9uUHJvcHMgPSAnb3BhY2l0eSwnICsgdG9EYXNoZWRBbGwoIHRyYW5zZm9ybVByb3BlcnR5ICk7CgoJcHJvdG8uZW5hYmxlVHJhbnNpdGlvbiA9IGZ1bmN0aW9uKC8qIHN0eWxlICovKSB7CgkJLy8gSEFDSyBjaGFuZ2luZyB0cmFuc2l0aW9uUHJvcGVydHkgZHVyaW5nIGEgdHJhbnNpdGlvbgoJCS8vIHdpbGwgY2F1c2UgdHJhbnNpdGlvbiB0byBqdW1wCgkJaWYgKCB0aGlzLmlzVHJhbnNpdGlvbmluZyApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gbWFrZSBgdHJhbnNpdGlvbjogZm9vLCBiYXIsIGJhemAgZnJvbSBzdHlsZSBvYmplY3QKCQkvLyBIQUNLIHVuLWNvbW1lbnQgdGhpcyB3aGVuIGVuYWJsZVRyYW5zaXRpb24gY2FuIHdvcmsKCQkvLyB3aGlsZSBhIHRyYW5zaXRpb24gaXMgaGFwcGVuaW5nCgkJLy8gdmFyIHRyYW5zaXRpb25WYWx1ZXMgPSBbXTsKCQkvLyBmb3IgKCB2YXIgcHJvcCBpbiBzdHlsZSApIHsKCQkvLyAgIC8vIGRhc2gtaWZ5IGNhbWVsQ2FzZWQgcHJvcGVydGllcyBsaWtlIFdlYmtpdFRyYW5zaXRpb24KCQkvLyAgIHByb3AgPSB2ZW5kb3JQcm9wZXJ0aWVzWyBwcm9wIF0gfHwgcHJvcDsKCQkvLyAgIHRyYW5zaXRpb25WYWx1ZXMucHVzaCggdG9EYXNoZWRBbGwoIHByb3AgKSApOwoJCS8vIH0KCQkvLyBtdW5nZSBudW1iZXIgdG8gbWlsbGlzZWNvbmQsIHRvIG1hdGNoIHN0YWdnZXIKCQl2YXIgZHVyYXRpb24gPSB0aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbjsKCQlkdXJhdGlvbiA9IHR5cGVvZiBkdXJhdGlvbiA9PSAnbnVtYmVyJyA/IGR1cmF0aW9uICsgJ21zJyA6IGR1cmF0aW9uOwoJCS8vIGVuYWJsZSB0cmFuc2l0aW9uIHN0eWxlcwoJCXRoaXMuY3NzKHsKCQkJdHJhbnNpdGlvblByb3BlcnR5OiB0cmFuc2l0aW9uUHJvcHMsCgkJCXRyYW5zaXRpb25EdXJhdGlvbjogZHVyYXRpb24sCgkJCXRyYW5zaXRpb25EZWxheTogdGhpcy5zdGFnZ2VyRGVsYXkgfHwgMAoJCX0pOwoJCS8vIGxpc3RlbiBmb3IgdHJhbnNpdGlvbiBlbmQgZXZlbnQKCQl0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggdHJhbnNpdGlvbkVuZEV2ZW50LCB0aGlzLCBmYWxzZSApOwoJfTsKCi8vIC0tLS0tIGV2ZW50cyAtLS0tLSAvLwoKCXByb3RvLm9ud2Via2l0VHJhbnNpdGlvbkVuZCA9IGZ1bmN0aW9uKCBldmVudCApIHsKCQl0aGlzLm9udHJhbnNpdGlvbmVuZCggZXZlbnQgKTsKCX07CgoJcHJvdG8ub25vdHJhbnNpdGlvbmVuZCA9IGZ1bmN0aW9uKCBldmVudCApIHsKCQl0aGlzLm9udHJhbnNpdGlvbmVuZCggZXZlbnQgKTsKCX07CgovLyBwcm9wZXJ0aWVzIHRoYXQgSSBtdW5nZSB0byBtYWtlIG15IGxpZmUgZWFzaWVyCgl2YXIgZGFzaGVkVmVuZG9yUHJvcGVydGllcyA9IHsKCQknLXdlYmtpdC10cmFuc2Zvcm0nOiAndHJhbnNmb3JtJwoJfTsKCglwcm90by5vbnRyYW5zaXRpb25lbmQgPSBmdW5jdGlvbiggZXZlbnQgKSB7CgkJLy8gZGlzcmVnYXJkIGJ1YmJsZWQgZXZlbnRzIGZyb20gY2hpbGRyZW4KCQlpZiAoIGV2ZW50LnRhcmdldCAhPT0gdGhpcy5lbGVtZW50ICkgewoJCQlyZXR1cm47CgkJfQoJCXZhciBfdHJhbnNpdGlvbiA9IHRoaXMuX3RyYW5zbjsKCQkvLyBnZXQgcHJvcGVydHkgbmFtZSBvZiB0cmFuc2l0aW9uZWQgcHJvcGVydHksIGNvbnZlcnQgdG8gcHJlZml4LWZyZWUKCQl2YXIgcHJvcGVydHlOYW1lID0gZGFzaGVkVmVuZG9yUHJvcGVydGllc1sgZXZlbnQucHJvcGVydHlOYW1lIF0gfHwgZXZlbnQucHJvcGVydHlOYW1lOwoKCQkvLyByZW1vdmUgcHJvcGVydHkgdGhhdCBoYXMgY29tcGxldGVkIHRyYW5zaXRpb25pbmcKCQlkZWxldGUgX3RyYW5zaXRpb24uaW5nUHJvcGVydGllc1sgcHJvcGVydHlOYW1lIF07CgkJLy8gY2hlY2sgaWYgYW55IHByb3BlcnRpZXMgYXJlIHN0aWxsIHRyYW5zaXRpb25pbmcKCQlpZiAoIGlzRW1wdHlPYmooIF90cmFuc2l0aW9uLmluZ1Byb3BlcnRpZXMgKSApIHsKCQkJLy8gYWxsIHByb3BlcnRpZXMgaGF2ZSBjb21wbGV0ZWQgdHJhbnNpdGlvbmluZwoJCQl0aGlzLmRpc2FibGVUcmFuc2l0aW9uKCk7CgkJfQoJCS8vIGNsZWFuIHN0eWxlCgkJaWYgKCBwcm9wZXJ0eU5hbWUgaW4gX3RyYW5zaXRpb24uY2xlYW4gKSB7CgkJCS8vIGNsZWFuIHVwIHN0eWxlCgkJCXRoaXMuZWxlbWVudC5zdHlsZVsgZXZlbnQucHJvcGVydHlOYW1lIF0gPSAnJzsKCQkJZGVsZXRlIF90cmFuc2l0aW9uLmNsZWFuWyBwcm9wZXJ0eU5hbWUgXTsKCQl9CgkJLy8gdHJpZ2dlciBvblRyYW5zaXRpb25FbmQgY2FsbGJhY2sKCQlpZiAoIHByb3BlcnR5TmFtZSBpbiBfdHJhbnNpdGlvbi5vbkVuZCApIHsKCQkJdmFyIG9uVHJhbnNpdGlvbkVuZCA9IF90cmFuc2l0aW9uLm9uRW5kWyBwcm9wZXJ0eU5hbWUgXTsKCQkJb25UcmFuc2l0aW9uRW5kLmNhbGwoIHRoaXMgKTsKCQkJZGVsZXRlIF90cmFuc2l0aW9uLm9uRW5kWyBwcm9wZXJ0eU5hbWUgXTsKCQl9CgoJCXRoaXMuZW1pdEV2ZW50KCAndHJhbnNpdGlvbkVuZCcsIFsgdGhpcyBdICk7Cgl9OwoKCXByb3RvLmRpc2FibGVUcmFuc2l0aW9uID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5yZW1vdmVUcmFuc2l0aW9uU3R5bGVzKCk7CgkJdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIHRyYW5zaXRpb25FbmRFdmVudCwgdGhpcywgZmFsc2UgKTsKCQl0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlOwoJfTsKCgkvKioKCSAqIHJlbW92ZXMgc3R5bGUgcHJvcGVydHkgZnJvbSBlbGVtZW50CgkgKiBAcGFyYW0ge09iamVjdH0gc3R5bGUKCSAqKi8KCXByb3RvLl9yZW1vdmVTdHlsZXMgPSBmdW5jdGlvbiggc3R5bGUgKSB7CgkJLy8gY2xlYW4gdXAgdHJhbnNpdGlvbiBzdHlsZXMKCQl2YXIgY2xlYW5TdHlsZSA9IHt9OwoJCWZvciAoIHZhciBwcm9wIGluIHN0eWxlICkgewoJCQljbGVhblN0eWxlWyBwcm9wIF0gPSAnJzsKCQl9CgkJdGhpcy5jc3MoIGNsZWFuU3R5bGUgKTsKCX07CgoJdmFyIGNsZWFuVHJhbnNpdGlvblN0eWxlID0gewoJCXRyYW5zaXRpb25Qcm9wZXJ0eTogJycsCgkJdHJhbnNpdGlvbkR1cmF0aW9uOiAnJywKCQl0cmFuc2l0aW9uRGVsYXk6ICcnCgl9OwoKCXByb3RvLnJlbW92ZVRyYW5zaXRpb25TdHlsZXMgPSBmdW5jdGlvbigpIHsKCQkvLyByZW1vdmUgdHJhbnNpdGlvbgoJCXRoaXMuY3NzKCBjbGVhblRyYW5zaXRpb25TdHlsZSApOwoJfTsKCi8vIC0tLS0tIHN0YWdnZXIgLS0tLS0gLy8KCglwcm90by5zdGFnZ2VyID0gZnVuY3Rpb24oIGRlbGF5ICkgewoJCWRlbGF5ID0gaXNOYU4oIGRlbGF5ICkgPyAwIDogZGVsYXk7CgkJdGhpcy5zdGFnZ2VyRGVsYXkgPSBkZWxheSArICdtcyc7Cgl9OwoKLy8gLS0tLS0gc2hvdy9oaWRlL3JlbW92ZSAtLS0tLSAvLwoKLy8gcmVtb3ZlIGVsZW1lbnQgZnJvbSBET00KCXByb3RvLnJlbW92ZUVsZW0gPSBmdW5jdGlvbigpIHsKCQl0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdGhpcy5lbGVtZW50ICk7CgkJLy8gcmVtb3ZlIGRpc3BsYXk6IG5vbmUKCQl0aGlzLmNzcyh7IGRpc3BsYXk6ICcnIH0pOwoJCXRoaXMuZW1pdEV2ZW50KCAncmVtb3ZlJywgWyB0aGlzIF0gKTsKCX07CgoJcHJvdG8ucmVtb3ZlID0gZnVuY3Rpb24oKSB7CgkJLy8ganVzdCByZW1vdmUgZWxlbWVudCBpZiBubyB0cmFuc2l0aW9uIHN1cHBvcnQgb3Igbm8gdHJhbnNpdGlvbgoJCWlmICggIXRyYW5zaXRpb25Qcm9wZXJ0eSB8fCAhcGFyc2VGbG9hdCggdGhpcy5sYXlvdXQub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb24gKSApIHsKCQkJdGhpcy5yZW1vdmVFbGVtKCk7CgkJCXJldHVybjsKCQl9CgoJCS8vIHN0YXJ0IHRyYW5zaXRpb24KCQl0aGlzLm9uY2UoICd0cmFuc2l0aW9uRW5kJywgZnVuY3Rpb24oKSB7CgkJCXRoaXMucmVtb3ZlRWxlbSgpOwoJCX0pOwoJCXRoaXMuaGlkZSgpOwoJfTsKCglwcm90by5yZXZlYWwgPSBmdW5jdGlvbigpIHsKCQlkZWxldGUgdGhpcy5pc0hpZGRlbjsKCQkvLyByZW1vdmUgZGlzcGxheTogbm9uZQoJCXRoaXMuY3NzKHsgZGlzcGxheTogJycgfSk7CgoJCXZhciBvcHRpb25zID0gdGhpcy5sYXlvdXQub3B0aW9uczsKCgkJdmFyIG9uVHJhbnNpdGlvbkVuZCA9IHt9OwoJCXZhciB0cmFuc2l0aW9uRW5kUHJvcGVydHkgPSB0aGlzLmdldEhpZGVSZXZlYWxUcmFuc2l0aW9uRW5kUHJvcGVydHkoJ3Zpc2libGVTdHlsZScpOwoJCW9uVHJhbnNpdGlvbkVuZFsgdHJhbnNpdGlvbkVuZFByb3BlcnR5IF0gPSB0aGlzLm9uUmV2ZWFsVHJhbnNpdGlvbkVuZDsKCgkJdGhpcy50cmFuc2l0aW9uKHsKCQkJZnJvbTogb3B0aW9ucy5oaWRkZW5TdHlsZSwKCQkJdG86IG9wdGlvbnMudmlzaWJsZVN0eWxlLAoJCQlpc0NsZWFuaW5nOiB0cnVlLAoJCQlvblRyYW5zaXRpb25FbmQ6IG9uVHJhbnNpdGlvbkVuZAoJCX0pOwoJfTsKCglwcm90by5vblJldmVhbFRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbigpIHsKCQkvLyBjaGVjayBpZiBzdGlsbCB2aXNpYmxlCgkJLy8gZHVyaW5nIHRyYW5zaXRpb24sIGl0ZW0gbWF5IGhhdmUgYmVlbiBoaWRkZW4KCQlpZiAoICF0aGlzLmlzSGlkZGVuICkgewoJCQl0aGlzLmVtaXRFdmVudCgncmV2ZWFsJyk7CgkJfQoJfTsKCgkvKioKCSAqIGdldCBzdHlsZSBwcm9wZXJ0eSB1c2UgZm9yIGhpZGUvcmV2ZWFsIHRyYW5zaXRpb24gZW5kCgkgKiBAcGFyYW0ge1N0cmluZ30gc3R5bGVQcm9wZXJ0eSAtIGhpZGRlblN0eWxlL3Zpc2libGVTdHlsZQoJICogQHJldHVybnMge1N0cmluZ30KCSAqLwoJcHJvdG8uZ2V0SGlkZVJldmVhbFRyYW5zaXRpb25FbmRQcm9wZXJ0eSA9IGZ1bmN0aW9uKCBzdHlsZVByb3BlcnR5ICkgewoJCXZhciBvcHRpb25TdHlsZSA9IHRoaXMubGF5b3V0Lm9wdGlvbnNbIHN0eWxlUHJvcGVydHkgXTsKCQkvLyB1c2Ugb3BhY2l0eQoJCWlmICggb3B0aW9uU3R5bGUub3BhY2l0eSApIHsKCQkJcmV0dXJuICdvcGFjaXR5JzsKCQl9CgkJLy8gZ2V0IGZpcnN0IHByb3BlcnR5CgkJZm9yICggdmFyIHByb3AgaW4gb3B0aW9uU3R5bGUgKSB7CgkJCXJldHVybiBwcm9wOwoJCX0KCX07CgoJcHJvdG8uaGlkZSA9IGZ1bmN0aW9uKCkgewoJCS8vIHNldCBmbGFnCgkJdGhpcy5pc0hpZGRlbiA9IHRydWU7CgkJLy8gcmVtb3ZlIGRpc3BsYXk6IG5vbmUKCQl0aGlzLmNzcyh7IGRpc3BsYXk6ICcnIH0pOwoKCQl2YXIgb3B0aW9ucyA9IHRoaXMubGF5b3V0Lm9wdGlvbnM7CgoJCXZhciBvblRyYW5zaXRpb25FbmQgPSB7fTsKCQl2YXIgdHJhbnNpdGlvbkVuZFByb3BlcnR5ID0gdGhpcy5nZXRIaWRlUmV2ZWFsVHJhbnNpdGlvbkVuZFByb3BlcnR5KCdoaWRkZW5TdHlsZScpOwoJCW9uVHJhbnNpdGlvbkVuZFsgdHJhbnNpdGlvbkVuZFByb3BlcnR5IF0gPSB0aGlzLm9uSGlkZVRyYW5zaXRpb25FbmQ7CgoJCXRoaXMudHJhbnNpdGlvbih7CgkJCWZyb206IG9wdGlvbnMudmlzaWJsZVN0eWxlLAoJCQl0bzogb3B0aW9ucy5oaWRkZW5TdHlsZSwKCQkJLy8ga2VlcCBoaWRkZW4gc3R1ZmYgaGlkZGVuCgkJCWlzQ2xlYW5pbmc6IHRydWUsCgkJCW9uVHJhbnNpdGlvbkVuZDogb25UcmFuc2l0aW9uRW5kCgkJfSk7Cgl9OwoKCXByb3RvLm9uSGlkZVRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbigpIHsKCQkvLyBjaGVjayBpZiBzdGlsbCBoaWRkZW4KCQkvLyBkdXJpbmcgdHJhbnNpdGlvbiwgaXRlbSBtYXkgaGF2ZSBiZWVuIHVuLWhpZGRlbgoJCWlmICggdGhpcy5pc0hpZGRlbiApIHsKCQkJdGhpcy5jc3MoeyBkaXNwbGF5OiAnbm9uZScgfSk7CgkJCXRoaXMuZW1pdEV2ZW50KCdoaWRlJyk7CgkJfQoJfTsKCglwcm90by5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5jc3MoewoJCQlwb3NpdGlvbjogJycsCgkJCWxlZnQ6ICcnLAoJCQlyaWdodDogJycsCgkJCXRvcDogJycsCgkJCWJvdHRvbTogJycsCgkJCXRyYW5zaXRpb246ICcnLAoJCQl0cmFuc2Zvcm06ICcnCgkJfSk7Cgl9OwoKCXJldHVybiBJdGVtOwoKfSkpOwoKLyohCiAqIE91dGxheWVyIHYyLjEuMQogKiB0aGUgYnJhaW5zIGFuZCBndXRzIG9mIGEgbGF5b3V0IGxpYnJhcnkKICogTUlUIGxpY2Vuc2UKICovCgooIGZ1bmN0aW9uKCB3aW5kb3csIGZhY3RvcnkgKSB7CgkndXNlIHN0cmljdCc7CgkvLyB1bml2ZXJzYWwgbW9kdWxlIGRlZmluaXRpb24KCS8qIGpzaGludCBzdHJpY3Q6IGZhbHNlICovIC8qIGdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHJlcXVpcmUgKi8KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1EIC0gUmVxdWlyZUpTCgkJZGVmaW5lKCAnb3V0bGF5ZXIvb3V0bGF5ZXInLFsKCQkJCSdldi1lbWl0dGVyL2V2LWVtaXR0ZXInLAoJCQkJJ2dldC1zaXplL2dldC1zaXplJywKCQkJCSdmaXp6eS11aS11dGlscy91dGlscycsCgkJCQknLi9pdGVtJwoJCQldLAoJCQlmdW5jdGlvbiggRXZFbWl0dGVyLCBnZXRTaXplLCB1dGlscywgSXRlbSApIHsKCQkJCXJldHVybiBmYWN0b3J5KCB3aW5kb3csIEV2RW1pdHRlciwgZ2V0U2l6ZSwgdXRpbHMsIEl0ZW0pOwoJCQl9CgkJKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMgLSBCcm93c2VyaWZ5LCBXZWJwYWNrCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KAoJCQl3aW5kb3csCgkJCXJlcXVpcmUoJ2V2LWVtaXR0ZXInKSwKCQkJcmVxdWlyZSgnZ2V0LXNpemUnKSwKCQkJcmVxdWlyZSgnZml6enktdWktdXRpbHMnKSwKCQkJcmVxdWlyZSgnLi9pdGVtJykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5PdXRsYXllciA9IGZhY3RvcnkoCgkJCXdpbmRvdywKCQkJd2luZG93LkV2RW1pdHRlciwKCQkJd2luZG93LmdldFNpemUsCgkJCXdpbmRvdy5maXp6eVVJVXRpbHMsCgkJCXdpbmRvdy5PdXRsYXllci5JdGVtCgkJKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSggd2luZG93LCBFdkVtaXR0ZXIsIGdldFNpemUsIHV0aWxzLCBJdGVtICkgewoJJ3VzZSBzdHJpY3QnOwoKLy8gLS0tLS0gdmFycyAtLS0tLSAvLwoKCXZhciBjb25zb2xlID0gd2luZG93LmNvbnNvbGU7Cgl2YXIgalF1ZXJ5ID0gd2luZG93LmpRdWVyeTsKCXZhciBub29wID0gZnVuY3Rpb24oKSB7fTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE91dGxheWVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgovLyBnbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllcnMKCXZhciBHVUlEID0gMDsKLy8gaW50ZXJuYWwgc3RvcmUgb2YgYWxsIE91dGxheWVyIGludGFuY2VzCgl2YXIgaW5zdGFuY2VzID0ge307CgoKCS8qKgoJICogQHBhcmFtIHtFbGVtZW50LCBTdHJpbmd9IGVsZW1lbnQKCSAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zCgkgKiBAY29uc3RydWN0b3IKCSAqLwoJZnVuY3Rpb24gT3V0bGF5ZXIoIGVsZW1lbnQsIG9wdGlvbnMgKSB7CgkJdmFyIHF1ZXJ5RWxlbWVudCA9IHV0aWxzLmdldFF1ZXJ5RWxlbWVudCggZWxlbWVudCApOwoJCWlmICggIXF1ZXJ5RWxlbWVudCApIHsKCQkJaWYgKCBjb25zb2xlICkgewoJCQkJY29uc29sZS5lcnJvciggJ0JhZCBlbGVtZW50IGZvciAnICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lc3BhY2UgKwoJCQkJCSc6ICcgKyAoIHF1ZXJ5RWxlbWVudCB8fCBlbGVtZW50ICkgKTsKCQkJfQoJCQlyZXR1cm47CgkJfQoJCXRoaXMuZWxlbWVudCA9IHF1ZXJ5RWxlbWVudDsKCQkvLyBhZGQgalF1ZXJ5CgkJaWYgKCBqUXVlcnkgKSB7CgkJCXRoaXMuJGVsZW1lbnQgPSBqUXVlcnkoIHRoaXMuZWxlbWVudCApOwoJCX0KCgkJLy8gb3B0aW9ucwoJCXRoaXMub3B0aW9ucyA9IHV0aWxzLmV4dGVuZCgge30sIHRoaXMuY29uc3RydWN0b3IuZGVmYXVsdHMgKTsKCQl0aGlzLm9wdGlvbiggb3B0aW9ucyApOwoKCQkvLyBhZGQgaWQgZm9yIE91dGxheWVyLmdldEZyb21FbGVtZW50CgkJdmFyIGlkID0gKytHVUlEOwoJCXRoaXMuZWxlbWVudC5vdXRsYXllckdVSUQgPSBpZDsgLy8gZXhwYW5kbwoJCWluc3RhbmNlc1sgaWQgXSA9IHRoaXM7IC8vIGFzc29jaWF0ZSB2aWEgaWQKCgkJLy8ga2ljayBpdCBvZmYKCQl0aGlzLl9jcmVhdGUoKTsKCgkJdmFyIGlzSW5pdExheW91dCA9IHRoaXMuX2dldE9wdGlvbignaW5pdExheW91dCcpOwoJCWlmICggaXNJbml0TGF5b3V0ICkgewoJCQl0aGlzLmxheW91dCgpOwoJCX0KCX0KCi8vIHNldHRpbmdzIGFyZSBmb3IgaW50ZXJuYWwgdXNlIG9ubHkKCU91dGxheWVyLm5hbWVzcGFjZSA9ICdvdXRsYXllcic7CglPdXRsYXllci5JdGVtID0gSXRlbTsKCi8vIGRlZmF1bHQgb3B0aW9ucwoJT3V0bGF5ZXIuZGVmYXVsdHMgPSB7CgkJY29udGFpbmVyU3R5bGU6IHsKCQkJcG9zaXRpb246ICdyZWxhdGl2ZScKCQl9LAoJCWluaXRMYXlvdXQ6IHRydWUsCgkJb3JpZ2luTGVmdDogdHJ1ZSwKCQlvcmlnaW5Ub3A6IHRydWUsCgkJcmVzaXplOiB0cnVlLAoJCXJlc2l6ZUNvbnRhaW5lcjogdHJ1ZSwKCQkvLyBpdGVtIG9wdGlvbnMKCQl0cmFuc2l0aW9uRHVyYXRpb246ICcwLjRzJywKCQloaWRkZW5TdHlsZTogewoJCQlvcGFjaXR5OiAwLAoJCQl0cmFuc2Zvcm06ICdzY2FsZSgwLjAwMSknCgkJfSwKCQl2aXNpYmxlU3R5bGU6IHsKCQkJb3BhY2l0eTogMSwKCQkJdHJhbnNmb3JtOiAnc2NhbGUoMSknCgkJfQoJfTsKCgl2YXIgcHJvdG8gPSBPdXRsYXllci5wcm90b3R5cGU7Ci8vIGluaGVyaXQgRXZFbWl0dGVyCgl1dGlscy5leHRlbmQoIHByb3RvLCBFdkVtaXR0ZXIucHJvdG90eXBlICk7CgoJLyoqCgkgKiBzZXQgb3B0aW9ucwoJICogQHBhcmFtIHtPYmplY3R9IG9wdHMKCSAqLwoJcHJvdG8ub3B0aW9uID0gZnVuY3Rpb24oIG9wdHMgKSB7CgkJdXRpbHMuZXh0ZW5kKCB0aGlzLm9wdGlvbnMsIG9wdHMgKTsKCX07CgoJLyoqCgkgKiBnZXQgYmFja3dhcmRzIGNvbXBhdGlibGUgb3B0aW9uIHZhbHVlLCBjaGVjayBvbGQgbmFtZQoJICovCglwcm90by5fZ2V0T3B0aW9uID0gZnVuY3Rpb24oIG9wdGlvbiApIHsKCQl2YXIgb2xkT3B0aW9uID0gdGhpcy5jb25zdHJ1Y3Rvci5jb21wYXRPcHRpb25zWyBvcHRpb24gXTsKCQlyZXR1cm4gb2xkT3B0aW9uICYmIHRoaXMub3B0aW9uc1sgb2xkT3B0aW9uIF0gIT09IHVuZGVmaW5lZCA/CgkJCXRoaXMub3B0aW9uc1sgb2xkT3B0aW9uIF0gOiB0aGlzLm9wdGlvbnNbIG9wdGlvbiBdOwoJfTsKCglPdXRsYXllci5jb21wYXRPcHRpb25zID0gewoJCS8vIGN1cnJlbnROYW1lOiBvbGROYW1lCgkJaW5pdExheW91dDogJ2lzSW5pdExheW91dCcsCgkJaG9yaXpvbnRhbDogJ2lzSG9yaXpvbnRhbCcsCgkJbGF5b3V0SW5zdGFudDogJ2lzTGF5b3V0SW5zdGFudCcsCgkJb3JpZ2luTGVmdDogJ2lzT3JpZ2luTGVmdCcsCgkJb3JpZ2luVG9wOiAnaXNPcmlnaW5Ub3AnLAoJCXJlc2l6ZTogJ2lzUmVzaXplQm91bmQnLAoJCXJlc2l6ZUNvbnRhaW5lcjogJ2lzUmVzaXppbmdDb250YWluZXInCgl9OwoKCXByb3RvLl9jcmVhdGUgPSBmdW5jdGlvbigpIHsKCQkvLyBnZXQgaXRlbXMgZnJvbSBjaGlsZHJlbgoJCXRoaXMucmVsb2FkSXRlbXMoKTsKCQkvLyBlbGVtZW50cyB0aGF0IGFmZmVjdCBsYXlvdXQsIGJ1dCBhcmUgbm90IGxhaWQgb3V0CgkJdGhpcy5zdGFtcHMgPSBbXTsKCQl0aGlzLnN0YW1wKCB0aGlzLm9wdGlvbnMuc3RhbXAgKTsKCQkvLyBzZXQgY29udGFpbmVyIHN0eWxlCgkJdXRpbHMuZXh0ZW5kKCB0aGlzLmVsZW1lbnQuc3R5bGUsIHRoaXMub3B0aW9ucy5jb250YWluZXJTdHlsZSApOwoKCQkvLyBiaW5kIHJlc2l6ZSBtZXRob2QKCQl2YXIgY2FuQmluZFJlc2l6ZSA9IHRoaXMuX2dldE9wdGlvbigncmVzaXplJyk7CgkJaWYgKCBjYW5CaW5kUmVzaXplICkgewoJCQl0aGlzLmJpbmRSZXNpemUoKTsKCQl9Cgl9OwoKLy8gZ29lcyB0aHJvdWdoIGFsbCBjaGlsZHJlbiBhZ2FpbiBhbmQgZ2V0cyBicmlja3MgaW4gcHJvcGVyIG9yZGVyCglwcm90by5yZWxvYWRJdGVtcyA9IGZ1bmN0aW9uKCkgewoJCS8vIGNvbGxlY3Rpb24gb2YgaXRlbSBlbGVtZW50cwoJCXRoaXMuaXRlbXMgPSB0aGlzLl9pdGVtaXplKCB0aGlzLmVsZW1lbnQuY2hpbGRyZW4gKTsKCX07CgoKCS8qKgoJICogdHVybiBlbGVtZW50cyBpbnRvIE91dGxheWVyLkl0ZW1zIHRvIGJlIHVzZWQgaW4gbGF5b3V0CgkgKiBAcGFyYW0ge0FycmF5IG9yIE5vZGVMaXN0IG9yIEhUTUxFbGVtZW50fSBlbGVtcwoJICogQHJldHVybnMge0FycmF5fSBpdGVtcyAtIGNvbGxlY3Rpb24gb2YgbmV3IE91dGxheWVyIEl0ZW1zCgkgKi8KCXByb3RvLl9pdGVtaXplID0gZnVuY3Rpb24oIGVsZW1zICkgewoKCQl2YXIgaXRlbUVsZW1zID0gdGhpcy5fZmlsdGVyRmluZEl0ZW1FbGVtZW50cyggZWxlbXMgKTsKCQl2YXIgSXRlbSA9IHRoaXMuY29uc3RydWN0b3IuSXRlbTsKCgkJLy8gY3JlYXRlIG5ldyBPdXRsYXllciBJdGVtcyBmb3IgY29sbGVjdGlvbgoJCXZhciBpdGVtcyA9IFtdOwoJCWZvciAoIHZhciBpPTA7IGkgPCBpdGVtRWxlbXMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBlbGVtID0gaXRlbUVsZW1zW2ldOwoJCQl2YXIgaXRlbSA9IG5ldyBJdGVtKCBlbGVtLCB0aGlzICk7CgkJCWl0ZW1zLnB1c2goIGl0ZW0gKTsKCQl9CgoJCXJldHVybiBpdGVtczsKCX07CgoJLyoqCgkgKiBnZXQgaXRlbSBlbGVtZW50cyB0byBiZSB1c2VkIGluIGxheW91dAoJICogQHBhcmFtIHtBcnJheSBvciBOb2RlTGlzdCBvciBIVE1MRWxlbWVudH0gZWxlbXMKCSAqIEByZXR1cm5zIHtBcnJheX0gaXRlbXMgLSBpdGVtIGVsZW1lbnRzCgkgKi8KCXByb3RvLl9maWx0ZXJGaW5kSXRlbUVsZW1lbnRzID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCXJldHVybiB1dGlscy5maWx0ZXJGaW5kRWxlbWVudHMoIGVsZW1zLCB0aGlzLm9wdGlvbnMuaXRlbVNlbGVjdG9yICk7Cgl9OwoKCS8qKgoJICogZ2V0dGVyIG1ldGhvZCBmb3IgZ2V0dGluZyBpdGVtIGVsZW1lbnRzCgkgKiBAcmV0dXJucyB7QXJyYXl9IGVsZW1zIC0gY29sbGVjdGlvbiBvZiBpdGVtIGVsZW1lbnRzCgkgKi8KCXByb3RvLmdldEl0ZW1FbGVtZW50cyA9IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLml0ZW1zLm1hcCggZnVuY3Rpb24oIGl0ZW0gKSB7CgkJCXJldHVybiBpdGVtLmVsZW1lbnQ7CgkJfSk7Cgl9OwoKLy8gLS0tLS0gaW5pdCAmIGxheW91dCAtLS0tLSAvLwoKCS8qKgoJICogbGF5cyBvdXQgYWxsIGl0ZW1zCgkgKi8KCXByb3RvLmxheW91dCA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuX3Jlc2V0TGF5b3V0KCk7CgkJdGhpcy5fbWFuYWdlU3RhbXBzKCk7CgoJCS8vIGRvbid0IGFuaW1hdGUgZmlyc3QgbGF5b3V0CgkJdmFyIGxheW91dEluc3RhbnQgPSB0aGlzLl9nZXRPcHRpb24oJ2xheW91dEluc3RhbnQnKTsKCQl2YXIgaXNJbnN0YW50ID0gbGF5b3V0SW5zdGFudCAhPT0gdW5kZWZpbmVkID8KCQkJbGF5b3V0SW5zdGFudCA6ICF0aGlzLl9pc0xheW91dEluaXRlZDsKCQl0aGlzLmxheW91dEl0ZW1zKCB0aGlzLml0ZW1zLCBpc0luc3RhbnQgKTsKCgkJLy8gZmxhZyBmb3IgaW5pdGFsaXplZAoJCXRoaXMuX2lzTGF5b3V0SW5pdGVkID0gdHJ1ZTsKCX07CgovLyBfaW5pdCBpcyBhbGlhcyBmb3IgbGF5b3V0Cglwcm90by5faW5pdCA9IHByb3RvLmxheW91dDsKCgkvKioKCSAqIGxvZ2ljIGJlZm9yZSBhbnkgbmV3IGxheW91dAoJICovCglwcm90by5fcmVzZXRMYXlvdXQgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmdldFNpemUoKTsKCX07CgoKCXByb3RvLmdldFNpemUgPSBmdW5jdGlvbigpIHsKCQl0aGlzLnNpemUgPSBnZXRTaXplKCB0aGlzLmVsZW1lbnQgKTsKCX07CgoJLyoqCgkgKiBnZXQgbWVhc3VyZW1lbnQgZnJvbSBvcHRpb24sIGZvciBjb2x1bW5XaWR0aCwgcm93SGVpZ2h0LCBndXR0ZXIKCSAqIGlmIG9wdGlvbiBpcyBTdHJpbmcgLT4gZ2V0IGVsZW1lbnQgZnJvbSBzZWxlY3RvciBzdHJpbmcsICYgZ2V0IHNpemUgb2YgZWxlbWVudAoJICogaWYgb3B0aW9uIGlzIEVsZW1lbnQgLT4gZ2V0IHNpemUgb2YgZWxlbWVudAoJICogZWxzZSB1c2Ugb3B0aW9uIGFzIGEgbnVtYmVyCgkgKgoJICogQHBhcmFtIHtTdHJpbmd9IG1lYXN1cmVtZW50CgkgKiBAcGFyYW0ge1N0cmluZ30gc2l6ZSAtIHdpZHRoIG9yIGhlaWdodAoJICogQHByaXZhdGUKCSAqLwoJcHJvdG8uX2dldE1lYXN1cmVtZW50ID0gZnVuY3Rpb24oIG1lYXN1cmVtZW50LCBzaXplICkgewoJCXZhciBvcHRpb24gPSB0aGlzLm9wdGlvbnNbIG1lYXN1cmVtZW50IF07CgkJdmFyIGVsZW07CgkJaWYgKCAhb3B0aW9uICkgewoJCQkvLyBkZWZhdWx0IHRvIDAKCQkJdGhpc1sgbWVhc3VyZW1lbnQgXSA9IDA7CgkJfSBlbHNlIHsKCQkJLy8gdXNlIG9wdGlvbiBhcyBhbiBlbGVtZW50CgkJCWlmICggdHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJyApIHsKCQkJCWVsZW0gPSB0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3Rvciggb3B0aW9uICk7CgkJCX0gZWxzZSBpZiAoIG9wdGlvbiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICkgewoJCQkJZWxlbSA9IG9wdGlvbjsKCQkJfQoJCQkvLyB1c2Ugc2l6ZSBvZiBlbGVtZW50LCBpZiBlbGVtZW50CgkJCXRoaXNbIG1lYXN1cmVtZW50IF0gPSBlbGVtID8gZ2V0U2l6ZSggZWxlbSApWyBzaXplIF0gOiBvcHRpb247CgkJfQoJfTsKCgkvKioKCSAqIGxheW91dCBhIGNvbGxlY3Rpb24gb2YgaXRlbSBlbGVtZW50cwoJICogQGFwaSBwdWJsaWMKCSAqLwoJcHJvdG8ubGF5b3V0SXRlbXMgPSBmdW5jdGlvbiggaXRlbXMsIGlzSW5zdGFudCApIHsKCQlpdGVtcyA9IHRoaXMuX2dldEl0ZW1zRm9yTGF5b3V0KCBpdGVtcyApOwoKCQl0aGlzLl9sYXlvdXRJdGVtcyggaXRlbXMsIGlzSW5zdGFudCApOwoKCQl0aGlzLl9wb3N0TGF5b3V0KCk7Cgl9OwoKCS8qKgoJICogZ2V0IHRoZSBpdGVtcyB0byBiZSBsYWlkIG91dAoJICogeW91IG1heSB3YW50IHRvIHNraXAgb3ZlciBzb21lIGl0ZW1zCgkgKiBAcGFyYW0ge0FycmF5fSBpdGVtcwoJICogQHJldHVybnMge0FycmF5fSBpdGVtcwoJICovCglwcm90by5fZ2V0SXRlbXNGb3JMYXlvdXQgPSBmdW5jdGlvbiggaXRlbXMgKSB7CgkJcmV0dXJuIGl0ZW1zLmZpbHRlciggZnVuY3Rpb24oIGl0ZW0gKSB7CgkJCXJldHVybiAhaXRlbS5pc0lnbm9yZWQ7CgkJfSk7Cgl9OwoKCS8qKgoJICogbGF5b3V0IGl0ZW1zCgkgKiBAcGFyYW0ge0FycmF5fSBpdGVtcwoJICogQHBhcmFtIHtCb29sZWFufSBpc0luc3RhbnQKCSAqLwoJcHJvdG8uX2xheW91dEl0ZW1zID0gZnVuY3Rpb24oIGl0ZW1zLCBpc0luc3RhbnQgKSB7CgkJdGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcyggJ2xheW91dCcsIGl0ZW1zICk7CgoJCWlmICggIWl0ZW1zIHx8ICFpdGVtcy5sZW5ndGggKSB7CgkJCS8vIG5vIGl0ZW1zLCBlbWl0IGV2ZW50IHdpdGggZW1wdHkgYXJyYXkKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIHF1ZXVlID0gW107CgoJCWl0ZW1zLmZvckVhY2goIGZ1bmN0aW9uKCBpdGVtICkgewoJCQkvLyBnZXQgeC95IG9iamVjdCBmcm9tIG1ldGhvZAoJCQl2YXIgcG9zaXRpb24gPSB0aGlzLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24oIGl0ZW0gKTsKCQkJLy8gZW5xdWV1ZQoJCQlwb3NpdGlvbi5pdGVtID0gaXRlbTsKCQkJcG9zaXRpb24uaXNJbnN0YW50ID0gaXNJbnN0YW50IHx8IGl0ZW0uaXNMYXlvdXRJbnN0YW50OwoJCQlxdWV1ZS5wdXNoKCBwb3NpdGlvbiApOwoJCX0sIHRoaXMgKTsKCgkJdGhpcy5fcHJvY2Vzc0xheW91dFF1ZXVlKCBxdWV1ZSApOwoJfTsKCgkvKioKCSAqIGdldCBpdGVtIGxheW91dCBwb3NpdGlvbgoJICogQHBhcmFtIHtPdXRsYXllci5JdGVtfSBpdGVtCgkgKiBAcmV0dXJucyB7T2JqZWN0fSB4IGFuZCB5IHBvc2l0aW9uCgkgKi8KCXByb3RvLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24gPSBmdW5jdGlvbiggLyogaXRlbSAqLyApIHsKCQlyZXR1cm4gewoJCQl4OiAwLAoJCQl5OiAwCgkJfTsKCX07CgoJLyoqCgkgKiBpdGVyYXRlIG92ZXIgYXJyYXkgYW5kIHBvc2l0aW9uIGVhY2ggaXRlbQoJICogUmVhc29uIGJlaW5nIC0gc2VwYXJhdGluZyB0aGlzIGxvZ2ljIHByZXZlbnRzICdsYXlvdXQgaW52YWxpZGF0aW9uJwoJICogdGh4IEBwYXVsX2lyaXNoCgkgKiBAcGFyYW0ge0FycmF5fSBxdWV1ZQoJICovCglwcm90by5fcHJvY2Vzc0xheW91dFF1ZXVlID0gZnVuY3Rpb24oIHF1ZXVlICkgewoJCXRoaXMudXBkYXRlU3RhZ2dlcigpOwoJCXF1ZXVlLmZvckVhY2goIGZ1bmN0aW9uKCBvYmosIGkgKSB7CgkJCXRoaXMuX3Bvc2l0aW9uSXRlbSggb2JqLml0ZW0sIG9iai54LCBvYmoueSwgb2JqLmlzSW5zdGFudCwgaSApOwoJCX0sIHRoaXMgKTsKCX07CgovLyBzZXQgc3RhZ2dlciBmcm9tIG9wdGlvbiBpbiBtaWxsaXNlY29uZHMgbnVtYmVyCglwcm90by51cGRhdGVTdGFnZ2VyID0gZnVuY3Rpb24oKSB7CgkJdmFyIHN0YWdnZXIgPSB0aGlzLm9wdGlvbnMuc3RhZ2dlcjsKCQlpZiAoIHN0YWdnZXIgPT09IG51bGwgfHwgc3RhZ2dlciA9PT0gdW5kZWZpbmVkICkgewoJCQl0aGlzLnN0YWdnZXIgPSAwOwoJCQlyZXR1cm47CgkJfQoJCXRoaXMuc3RhZ2dlciA9IGdldE1pbGxpc2Vjb25kcyggc3RhZ2dlciApOwoJCXJldHVybiB0aGlzLnN0YWdnZXI7Cgl9OwoKCS8qKgoJICogU2V0cyBwb3NpdGlvbiBvZiBpdGVtIGluIERPTQoJICogQHBhcmFtIHtPdXRsYXllci5JdGVtfSBpdGVtCgkgKiBAcGFyYW0ge051bWJlcn0geCAtIGhvcml6b250YWwgcG9zaXRpb24KCSAqIEBwYXJhbSB7TnVtYmVyfSB5IC0gdmVydGljYWwgcG9zaXRpb24KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gaXNJbnN0YW50IC0gZGlzYWJsZXMgdHJhbnNpdGlvbnMKCSAqLwoJcHJvdG8uX3Bvc2l0aW9uSXRlbSA9IGZ1bmN0aW9uKCBpdGVtLCB4LCB5LCBpc0luc3RhbnQsIGkgKSB7CgkJaWYgKCBpc0luc3RhbnQgKSB7CgkJCS8vIGlmIG5vdCB0cmFuc2l0aW9uLCBqdXN0IHNldCBDU1MKCQkJaXRlbS5nb1RvKCB4LCB5ICk7CgkJfSBlbHNlIHsKCQkJaXRlbS5zdGFnZ2VyKCBpICogdGhpcy5zdGFnZ2VyICk7CgkJCWl0ZW0ubW92ZVRvKCB4LCB5ICk7CgkJfQoJfTsKCgkvKioKCSAqIEFueSBsb2dpYyB5b3Ugd2FudCB0byBkbyBhZnRlciBlYWNoIGxheW91dCwKCSAqIGkuZS4gc2l6ZSB0aGUgY29udGFpbmVyCgkgKi8KCXByb3RvLl9wb3N0TGF5b3V0ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5yZXNpemVDb250YWluZXIoKTsKCX07CgoJcHJvdG8ucmVzaXplQ29udGFpbmVyID0gZnVuY3Rpb24oKSB7CgkJdmFyIGlzUmVzaXppbmdDb250YWluZXIgPSB0aGlzLl9nZXRPcHRpb24oJ3Jlc2l6ZUNvbnRhaW5lcicpOwoJCWlmICggIWlzUmVzaXppbmdDb250YWluZXIgKSB7CgkJCXJldHVybjsKCQl9CgkJdmFyIHNpemUgPSB0aGlzLl9nZXRDb250YWluZXJTaXplKCk7CgkJaWYgKCBzaXplICkgewoJCQl0aGlzLl9zZXRDb250YWluZXJNZWFzdXJlKCBzaXplLndpZHRoLCB0cnVlICk7CgkJCXRoaXMuX3NldENvbnRhaW5lck1lYXN1cmUoIHNpemUuaGVpZ2h0LCBmYWxzZSApOwoJCX0KCX07CgoJLyoqCgkgKiBTZXRzIHdpZHRoIG9yIGhlaWdodCBvZiBjb250YWluZXIgaWYgcmV0dXJuZWQKCSAqIEByZXR1cm5zIHtPYmplY3R9IHNpemUKCSAqICAgQHBhcmFtIHtOdW1iZXJ9IHdpZHRoCgkgKiAgIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQKCSAqLwoJcHJvdG8uX2dldENvbnRhaW5lclNpemUgPSBub29wOwoKCS8qKgoJICogQHBhcmFtIHtOdW1iZXJ9IG1lYXN1cmUgLSBzaXplIG9mIHdpZHRoIG9yIGhlaWdodAoJICogQHBhcmFtIHtCb29sZWFufSBpc1dpZHRoCgkgKi8KCXByb3RvLl9zZXRDb250YWluZXJNZWFzdXJlID0gZnVuY3Rpb24oIG1lYXN1cmUsIGlzV2lkdGggKSB7CgkJaWYgKCBtZWFzdXJlID09PSB1bmRlZmluZWQgKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBlbGVtU2l6ZSA9IHRoaXMuc2l6ZTsKCQkvLyBhZGQgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoIGlmIGJvcmRlciBib3gKCQlpZiAoIGVsZW1TaXplLmlzQm9yZGVyQm94ICkgewoJCQltZWFzdXJlICs9IGlzV2lkdGggPyBlbGVtU2l6ZS5wYWRkaW5nTGVmdCArIGVsZW1TaXplLnBhZGRpbmdSaWdodCArCgkJCQllbGVtU2l6ZS5ib3JkZXJMZWZ0V2lkdGggKyBlbGVtU2l6ZS5ib3JkZXJSaWdodFdpZHRoIDoKCQkJCWVsZW1TaXplLnBhZGRpbmdCb3R0b20gKyBlbGVtU2l6ZS5wYWRkaW5nVG9wICsKCQkJCWVsZW1TaXplLmJvcmRlclRvcFdpZHRoICsgZWxlbVNpemUuYm9yZGVyQm90dG9tV2lkdGg7CgkJfQoKCQltZWFzdXJlID0gTWF0aC5tYXgoIG1lYXN1cmUsIDAgKTsKCQl0aGlzLmVsZW1lbnQuc3R5bGVbIGlzV2lkdGggPyAnd2lkdGgnIDogJ2hlaWdodCcgXSA9IG1lYXN1cmUgKyAncHgnOwoJfTsKCgkvKioKCSAqIGVtaXQgZXZlbnRDb21wbGV0ZSBvbiBhIGNvbGxlY3Rpb24gb2YgaXRlbXMgZXZlbnRzCgkgKiBAcGFyYW0ge1N0cmluZ30gZXZlbnROYW1lCgkgKiBAcGFyYW0ge0FycmF5fSBpdGVtcyAtIE91dGxheWVyLkl0ZW1zCgkgKi8KCXByb3RvLl9lbWl0Q29tcGxldGVPbkl0ZW1zID0gZnVuY3Rpb24oIGV2ZW50TmFtZSwgaXRlbXMgKSB7CgkJdmFyIF90aGlzID0gdGhpczsKCQlmdW5jdGlvbiBvbkNvbXBsZXRlKCkgewoJCQlfdGhpcy5kaXNwYXRjaEV2ZW50KCBldmVudE5hbWUgKyAnQ29tcGxldGUnLCBudWxsLCBbIGl0ZW1zIF0gKTsKCQl9CgoJCXZhciBjb3VudCA9IGl0ZW1zLmxlbmd0aDsKCQlpZiAoICFpdGVtcyB8fCAhY291bnQgKSB7CgkJCW9uQ29tcGxldGUoKTsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIGRvbmVDb3VudCA9IDA7CgkJZnVuY3Rpb24gdGljaygpIHsKCQkJZG9uZUNvdW50Kys7CgkJCWlmICggZG9uZUNvdW50ID09IGNvdW50ICkgewoJCQkJb25Db21wbGV0ZSgpOwoJCQl9CgkJfQoKCQkvLyBiaW5kIGNhbGxiYWNrCgkJaXRlbXMuZm9yRWFjaCggZnVuY3Rpb24oIGl0ZW0gKSB7CgkJCWl0ZW0ub25jZSggZXZlbnROYW1lLCB0aWNrICk7CgkJfSk7Cgl9OwoKCS8qKgoJICogZW1pdHMgZXZlbnRzIHZpYSBFdkVtaXR0ZXIgYW5kIGpRdWVyeSBldmVudHMKCSAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlIC0gbmFtZSBvZiBldmVudAoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBvcmlnaW5hbCBldmVudAoJICogQHBhcmFtIHtBcnJheX0gYXJncyAtIGV4dHJhIGFyZ3VtZW50cwoJICovCglwcm90by5kaXNwYXRjaEV2ZW50ID0gZnVuY3Rpb24oIHR5cGUsIGV2ZW50LCBhcmdzICkgewoJCS8vIGFkZCBvcmlnaW5hbCBldmVudCB0byBhcmd1bWVudHMKCQl2YXIgZW1pdEFyZ3MgPSBldmVudCA/IFsgZXZlbnQgXS5jb25jYXQoIGFyZ3MgKSA6IGFyZ3M7CgkJdGhpcy5lbWl0RXZlbnQoIHR5cGUsIGVtaXRBcmdzICk7CgoJCWlmICggalF1ZXJ5ICkgewoJCQkvLyBzZXQgdGhpcy4kZWxlbWVudAoJCQl0aGlzLiRlbGVtZW50ID0gdGhpcy4kZWxlbWVudCB8fCBqUXVlcnkoIHRoaXMuZWxlbWVudCApOwoJCQlpZiAoIGV2ZW50ICkgewoJCQkJLy8gY3JlYXRlIGpRdWVyeSBldmVudAoJCQkJdmFyICRldmVudCA9IGpRdWVyeS5FdmVudCggZXZlbnQgKTsKCQkJCSRldmVudC50eXBlID0gdHlwZTsKCQkJCXRoaXMuJGVsZW1lbnQudHJpZ2dlciggJGV2ZW50LCBhcmdzICk7CgkJCX0gZWxzZSB7CgkJCQkvLyBqdXN0IHRyaWdnZXIgd2l0aCB0eXBlIGlmIG5vIGV2ZW50IGF2YWlsYWJsZQoJCQkJdGhpcy4kZWxlbWVudC50cmlnZ2VyKCB0eXBlLCBhcmdzICk7CgkJCX0KCQl9Cgl9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaWdub3JlICYgc3RhbXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoKCS8qKgoJICoga2VlcCBpdGVtIGluIGNvbGxlY3Rpb24sIGJ1dCBkbyBub3QgbGF5IGl0IG91dAoJICogaWdub3JlZCBpdGVtcyBkbyBub3QgZ2V0IHNraXBwZWQgaW4gbGF5b3V0CgkgKiBAcGFyYW0ge0VsZW1lbnR9IGVsZW0KCSAqLwoJcHJvdG8uaWdub3JlID0gZnVuY3Rpb24oIGVsZW0gKSB7CgkJdmFyIGl0ZW0gPSB0aGlzLmdldEl0ZW0oIGVsZW0gKTsKCQlpZiAoIGl0ZW0gKSB7CgkJCWl0ZW0uaXNJZ25vcmVkID0gdHJ1ZTsKCQl9Cgl9OwoKCS8qKgoJICogcmV0dXJuIGl0ZW0gdG8gbGF5b3V0IGNvbGxlY3Rpb24KCSAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbQoJICovCglwcm90by51bmlnbm9yZSA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCXZhciBpdGVtID0gdGhpcy5nZXRJdGVtKCBlbGVtICk7CgkJaWYgKCBpdGVtICkgewoJCQlkZWxldGUgaXRlbS5pc0lnbm9yZWQ7CgkJfQoJfTsKCgkvKioKCSAqIGFkZHMgZWxlbWVudHMgdG8gc3RhbXBzCgkgKiBAcGFyYW0ge05vZGVMaXN0LCBBcnJheSwgRWxlbWVudCwgb3IgU3RyaW5nfSBlbGVtcwoJICovCglwcm90by5zdGFtcCA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQllbGVtcyA9IHRoaXMuX2ZpbmQoIGVsZW1zICk7CgkJaWYgKCAhZWxlbXMgKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuc3RhbXBzID0gdGhpcy5zdGFtcHMuY29uY2F0KCBlbGVtcyApOwoJCS8vIGlnbm9yZQoJCWVsZW1zLmZvckVhY2goIHRoaXMuaWdub3JlLCB0aGlzICk7Cgl9OwoKCS8qKgoJICogcmVtb3ZlcyBlbGVtZW50cyB0byBzdGFtcHMKCSAqIEBwYXJhbSB7Tm9kZUxpc3QsIEFycmF5LCBvciBFbGVtZW50fSBlbGVtcwoJICovCglwcm90by51bnN0YW1wID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCWVsZW1zID0gdGhpcy5fZmluZCggZWxlbXMgKTsKCQlpZiAoICFlbGVtcyApewoJCQlyZXR1cm47CgkJfQoKCQllbGVtcy5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbSApIHsKCQkJLy8gZmlsdGVyIG91dCByZW1vdmVkIHN0YW1wIGVsZW1lbnRzCgkJCXV0aWxzLnJlbW92ZUZyb20oIHRoaXMuc3RhbXBzLCBlbGVtICk7CgkJCXRoaXMudW5pZ25vcmUoIGVsZW0gKTsKCQl9LCB0aGlzICk7Cgl9OwoKCS8qKgoJICogZmluZHMgY2hpbGQgZWxlbWVudHMKCSAqIEBwYXJhbSB7Tm9kZUxpc3QsIEFycmF5LCBFbGVtZW50LCBvciBTdHJpbmd9IGVsZW1zCgkgKiBAcmV0dXJucyB7QXJyYXl9IGVsZW1zCgkgKi8KCXByb3RvLl9maW5kID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCWlmICggIWVsZW1zICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIGlmIHN0cmluZywgdXNlIGFyZ3VtZW50IGFzIHNlbGVjdG9yIHN0cmluZwoJCWlmICggdHlwZW9mIGVsZW1zID09ICdzdHJpbmcnICkgewoJCQllbGVtcyA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCBlbGVtcyApOwoJCX0KCQllbGVtcyA9IHV0aWxzLm1ha2VBcnJheSggZWxlbXMgKTsKCQlyZXR1cm4gZWxlbXM7Cgl9OwoKCXByb3RvLl9tYW5hZ2VTdGFtcHMgPSBmdW5jdGlvbigpIHsKCQlpZiAoICF0aGlzLnN0YW1wcyB8fCAhdGhpcy5zdGFtcHMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl9nZXRCb3VuZGluZ1JlY3QoKTsKCgkJdGhpcy5zdGFtcHMuZm9yRWFjaCggdGhpcy5fbWFuYWdlU3RhbXAsIHRoaXMgKTsKCX07CgovLyB1cGRhdGUgYm91bmRpbmdMZWZ0IC8gVG9wCglwcm90by5fZ2V0Qm91bmRpbmdSZWN0ID0gZnVuY3Rpb24oKSB7CgkJLy8gZ2V0IGJvdW5kaW5nIHJlY3QgZm9yIGNvbnRhaW5lciBlbGVtZW50CgkJdmFyIGJvdW5kaW5nUmVjdCA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKCQl2YXIgc2l6ZSA9IHRoaXMuc2l6ZTsKCQl0aGlzLl9ib3VuZGluZ1JlY3QgPSB7CgkJCWxlZnQ6IGJvdW5kaW5nUmVjdC5sZWZ0ICsgc2l6ZS5wYWRkaW5nTGVmdCArIHNpemUuYm9yZGVyTGVmdFdpZHRoLAoJCQl0b3A6IGJvdW5kaW5nUmVjdC50b3AgKyBzaXplLnBhZGRpbmdUb3AgKyBzaXplLmJvcmRlclRvcFdpZHRoLAoJCQlyaWdodDogYm91bmRpbmdSZWN0LnJpZ2h0IC0gKCBzaXplLnBhZGRpbmdSaWdodCArIHNpemUuYm9yZGVyUmlnaHRXaWR0aCApLAoJCQlib3R0b206IGJvdW5kaW5nUmVjdC5ib3R0b20gLSAoIHNpemUucGFkZGluZ0JvdHRvbSArIHNpemUuYm9yZGVyQm90dG9tV2lkdGggKQoJCX07Cgl9OwoKCS8qKgoJICogQHBhcmFtIHtFbGVtZW50fSBzdGFtcAoJICoqLwoJcHJvdG8uX21hbmFnZVN0YW1wID0gbm9vcDsKCgkvKioKCSAqIGdldCB4L3kgcG9zaXRpb24gb2YgZWxlbWVudCByZWxhdGl2ZSB0byBjb250YWluZXIgZWxlbWVudAoJICogQHBhcmFtIHtFbGVtZW50fSBlbGVtCgkgKiBAcmV0dXJucyB7T2JqZWN0fSBvZmZzZXQgLSBoYXMgbGVmdCwgdG9wLCByaWdodCwgYm90dG9tCgkgKi8KCXByb3RvLl9nZXRFbGVtZW50T2Zmc2V0ID0gZnVuY3Rpb24oIGVsZW0gKSB7CgkJdmFyIGJvdW5kaW5nUmVjdCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CgkJdmFyIHRoaXNSZWN0ID0gdGhpcy5fYm91bmRpbmdSZWN0OwoJCXZhciBzaXplID0gZ2V0U2l6ZSggZWxlbSApOwoJCXZhciBvZmZzZXQgPSB7CgkJCWxlZnQ6IGJvdW5kaW5nUmVjdC5sZWZ0IC0gdGhpc1JlY3QubGVmdCAtIHNpemUubWFyZ2luTGVmdCwKCQkJdG9wOiBib3VuZGluZ1JlY3QudG9wIC0gdGhpc1JlY3QudG9wIC0gc2l6ZS5tYXJnaW5Ub3AsCgkJCXJpZ2h0OiB0aGlzUmVjdC5yaWdodCAtIGJvdW5kaW5nUmVjdC5yaWdodCAtIHNpemUubWFyZ2luUmlnaHQsCgkJCWJvdHRvbTogdGhpc1JlY3QuYm90dG9tIC0gYm91bmRpbmdSZWN0LmJvdHRvbSAtIHNpemUubWFyZ2luQm90dG9tCgkJfTsKCQlyZXR1cm4gb2Zmc2V0OwoJfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHJlc2l6ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKLy8gZW5hYmxlIGV2ZW50IGhhbmRsZXJzIGZvciBsaXN0ZW5lcnMKLy8gaS5lLiByZXNpemUgLT4gb25yZXNpemUKCXByb3RvLmhhbmRsZUV2ZW50ID0gdXRpbHMuaGFuZGxlRXZlbnQ7CgoJLyoqCgkgKiBCaW5kIGxheW91dCB0byB3aW5kb3cgcmVzaXppbmcKCSAqLwoJcHJvdG8uYmluZFJlc2l6ZSA9IGZ1bmN0aW9uKCkgewoJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAncmVzaXplJywgdGhpcyApOwoJCXRoaXMuaXNSZXNpemVCb3VuZCA9IHRydWU7Cgl9OwoKCS8qKgoJICogVW5iaW5kIGxheW91dCB0byB3aW5kb3cgcmVzaXppbmcKCSAqLwoJcHJvdG8udW5iaW5kUmVzaXplID0gZnVuY3Rpb24oKSB7CgkJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoICdyZXNpemUnLCB0aGlzICk7CgkJdGhpcy5pc1Jlc2l6ZUJvdW5kID0gZmFsc2U7Cgl9OwoKCXByb3RvLm9ucmVzaXplID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5yZXNpemUoKTsKCX07CgoJdXRpbHMuZGVib3VuY2VNZXRob2QoIE91dGxheWVyLCAnb25yZXNpemUnLCAxMDAgKTsKCglwcm90by5yZXNpemUgPSBmdW5jdGlvbigpIHsKCQkvLyBkb24ndCB0cmlnZ2VyIGlmIHNpemUgZGlkIG5vdCBjaGFuZ2UKCQkvLyBvciBpZiByZXNpemUgd2FzIHVuYm91bmQuIFNlZSAjOQoJCWlmICggIXRoaXMuaXNSZXNpemVCb3VuZCB8fCAhdGhpcy5uZWVkc1Jlc2l6ZUxheW91dCgpICkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLmxheW91dCgpOwoJfTsKCgkvKioKCSAqIGNoZWNrIGlmIGxheW91dCBpcyBuZWVkZWQgcG9zdCBsYXlvdXQKCSAqIEByZXR1cm5zIEJvb2xlYW4KCSAqLwoJcHJvdG8ubmVlZHNSZXNpemVMYXlvdXQgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2l6ZSA9IGdldFNpemUoIHRoaXMuZWxlbWVudCApOwoJCS8vIGNoZWNrIHRoYXQgdGhpcy5zaXplIGFuZCBzaXplIGFyZSB0aGVyZQoJCS8vIElFOCB0cmlnZ2VycyByZXNpemUgb24gYm9keSBzaXplIGNoYW5nZSwgc28gdGhleSBtaWdodCBub3QgYmUKCQl2YXIgaGFzU2l6ZXMgPSB0aGlzLnNpemUgJiYgc2l6ZTsKCQlyZXR1cm4gaGFzU2l6ZXMgJiYgc2l6ZS5pbm5lcldpZHRoICE9PSB0aGlzLnNpemUuaW5uZXJXaWR0aDsKCX07CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLyoqCgkgKiBhZGQgaXRlbXMgdG8gT3V0bGF5ZXIgaW5zdGFuY2UKCSAqIEBwYXJhbSB7QXJyYXkgb3IgTm9kZUxpc3Qgb3IgRWxlbWVudH0gZWxlbXMKCSAqIEByZXR1cm5zIHtBcnJheX0gaXRlbXMgLSBPdXRsYXllci5JdGVtcwoJICoqLwoJcHJvdG8uYWRkSXRlbXMgPSBmdW5jdGlvbiggZWxlbXMgKSB7CgkJdmFyIGl0ZW1zID0gdGhpcy5faXRlbWl6ZSggZWxlbXMgKTsKCQkvLyBhZGQgaXRlbXMgdG8gY29sbGVjdGlvbgoJCWlmICggaXRlbXMubGVuZ3RoICkgewoJCQl0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5jb25jYXQoIGl0ZW1zICk7CgkJfQoJCXJldHVybiBpdGVtczsKCX07CgoJLyoqCgkgKiBMYXlvdXQgbmV3bHktYXBwZW5kZWQgaXRlbSBlbGVtZW50cwoJICogQHBhcmFtIHtBcnJheSBvciBOb2RlTGlzdCBvciBFbGVtZW50fSBlbGVtcwoJICovCglwcm90by5hcHBlbmRlZCA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQl2YXIgaXRlbXMgPSB0aGlzLmFkZEl0ZW1zKCBlbGVtcyApOwoJCWlmICggIWl0ZW1zLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCQkvLyBsYXlvdXQgYW5kIHJldmVhbCBqdXN0IHRoZSBuZXcgaXRlbXMKCQl0aGlzLmxheW91dEl0ZW1zKCBpdGVtcywgdHJ1ZSApOwoJCXRoaXMucmV2ZWFsKCBpdGVtcyApOwoJfTsKCgkvKioKCSAqIExheW91dCBwcmVwZW5kZWQgZWxlbWVudHMKCSAqIEBwYXJhbSB7QXJyYXkgb3IgTm9kZUxpc3Qgb3IgRWxlbWVudH0gZWxlbXMKCSAqLwoJcHJvdG8ucHJlcGVuZGVkID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCXZhciBpdGVtcyA9IHRoaXMuX2l0ZW1pemUoIGVsZW1zICk7CgkJaWYgKCAhaXRlbXMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIGFkZCBpdGVtcyB0byBiZWdpbm5pbmcgb2YgY29sbGVjdGlvbgoJCXZhciBwcmV2aW91c0l0ZW1zID0gdGhpcy5pdGVtcy5zbGljZSgwKTsKCQl0aGlzLml0ZW1zID0gaXRlbXMuY29uY2F0KCBwcmV2aW91c0l0ZW1zICk7CgkJLy8gc3RhcnQgbmV3IGxheW91dAoJCXRoaXMuX3Jlc2V0TGF5b3V0KCk7CgkJdGhpcy5fbWFuYWdlU3RhbXBzKCk7CgkJLy8gbGF5b3V0IG5ldyBzdHVmZiB3aXRob3V0IHRyYW5zaXRpb24KCQl0aGlzLmxheW91dEl0ZW1zKCBpdGVtcywgdHJ1ZSApOwoJCXRoaXMucmV2ZWFsKCBpdGVtcyApOwoJCS8vIGxheW91dCBwcmV2aW91cyBpdGVtcwoJCXRoaXMubGF5b3V0SXRlbXMoIHByZXZpb3VzSXRlbXMgKTsKCX07CgoJLyoqCgkgKiByZXZlYWwgYSBjb2xsZWN0aW9uIG9mIGl0ZW1zCgkgKiBAcGFyYW0ge0FycmF5IG9mIE91dGxheWVyLkl0ZW1zfSBpdGVtcwoJICovCglwcm90by5yZXZlYWwgPSBmdW5jdGlvbiggaXRlbXMgKSB7CgkJdGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcyggJ3JldmVhbCcsIGl0ZW1zICk7CgkJaWYgKCAhaXRlbXMgfHwgIWl0ZW1zLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCQl2YXIgc3RhZ2dlciA9IHRoaXMudXBkYXRlU3RhZ2dlcigpOwoJCWl0ZW1zLmZvckVhY2goIGZ1bmN0aW9uKCBpdGVtLCBpICkgewoJCQlpdGVtLnN0YWdnZXIoIGkgKiBzdGFnZ2VyICk7CgkJCWl0ZW0ucmV2ZWFsKCk7CgkJfSk7Cgl9OwoKCS8qKgoJICogaGlkZSBhIGNvbGxlY3Rpb24gb2YgaXRlbXMKCSAqIEBwYXJhbSB7QXJyYXkgb2YgT3V0bGF5ZXIuSXRlbXN9IGl0ZW1zCgkgKi8KCXByb3RvLmhpZGUgPSBmdW5jdGlvbiggaXRlbXMgKSB7CgkJdGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcyggJ2hpZGUnLCBpdGVtcyApOwoJCWlmICggIWl0ZW1zIHx8ICFpdGVtcy5sZW5ndGggKSB7CgkJCXJldHVybjsKCQl9CgkJdmFyIHN0YWdnZXIgPSB0aGlzLnVwZGF0ZVN0YWdnZXIoKTsKCQlpdGVtcy5mb3JFYWNoKCBmdW5jdGlvbiggaXRlbSwgaSApIHsKCQkJaXRlbS5zdGFnZ2VyKCBpICogc3RhZ2dlciApOwoJCQlpdGVtLmhpZGUoKTsKCQl9KTsKCX07CgoJLyoqCgkgKiByZXZlYWwgaXRlbSBlbGVtZW50cwoJICogQHBhcmFtIHtBcnJheX0sIHtFbGVtZW50fSwge05vZGVMaXN0fSBpdGVtcwoJICovCglwcm90by5yZXZlYWxJdGVtRWxlbWVudHMgPSBmdW5jdGlvbiggZWxlbXMgKSB7CgkJdmFyIGl0ZW1zID0gdGhpcy5nZXRJdGVtcyggZWxlbXMgKTsKCQl0aGlzLnJldmVhbCggaXRlbXMgKTsKCX07CgoJLyoqCgkgKiBoaWRlIGl0ZW0gZWxlbWVudHMKCSAqIEBwYXJhbSB7QXJyYXl9LCB7RWxlbWVudH0sIHtOb2RlTGlzdH0gaXRlbXMKCSAqLwoJcHJvdG8uaGlkZUl0ZW1FbGVtZW50cyA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQl2YXIgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCBlbGVtcyApOwoJCXRoaXMuaGlkZSggaXRlbXMgKTsKCX07CgoJLyoqCgkgKiBnZXQgT3V0bGF5ZXIuSXRlbSwgZ2l2ZW4gYW4gRWxlbWVudAoJICogQHBhcmFtIHtFbGVtZW50fSBlbGVtCgkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjawoJICogQHJldHVybnMge091dGxheWVyLkl0ZW19IGl0ZW0KCSAqLwoJcHJvdG8uZ2V0SXRlbSA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCS8vIGxvb3AgdGhyb3VnaCBpdGVtcyB0byBnZXQgdGhlIG9uZSB0aGF0IG1hdGNoZXMKCQlmb3IgKCB2YXIgaT0wOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKyApIHsKCQkJdmFyIGl0ZW0gPSB0aGlzLml0ZW1zW2ldOwoJCQlpZiAoIGl0ZW0uZWxlbWVudCA9PSBlbGVtICkgewoJCQkJLy8gcmV0dXJuIGl0ZW0KCQkJCXJldHVybiBpdGVtOwoJCQl9CgkJfQoJfTsKCgkvKioKCSAqIGdldCBjb2xsZWN0aW9uIG9mIE91dGxheWVyLkl0ZW1zLCBnaXZlbiBFbGVtZW50cwoJICogQHBhcmFtIHtBcnJheX0gZWxlbXMKCSAqIEByZXR1cm5zIHtBcnJheX0gaXRlbXMgLSBPdXRsYXllci5JdGVtcwoJICovCglwcm90by5nZXRJdGVtcyA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQllbGVtcyA9IHV0aWxzLm1ha2VBcnJheSggZWxlbXMgKTsKCQl2YXIgaXRlbXMgPSBbXTsKCQllbGVtcy5mb3JFYWNoKCBmdW5jdGlvbiggZWxlbSApIHsKCQkJdmFyIGl0ZW0gPSB0aGlzLmdldEl0ZW0oIGVsZW0gKTsKCQkJaWYgKCBpdGVtICkgewoJCQkJaXRlbXMucHVzaCggaXRlbSApOwoJCQl9CgkJfSwgdGhpcyApOwoKCQlyZXR1cm4gaXRlbXM7Cgl9OwoKCS8qKgoJICogcmVtb3ZlIGVsZW1lbnQocykgZnJvbSBpbnN0YW5jZSBhbmQgRE9NCgkgKiBAcGFyYW0ge0FycmF5IG9yIE5vZGVMaXN0IG9yIEVsZW1lbnR9IGVsZW1zCgkgKi8KCXByb3RvLnJlbW92ZSA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQl2YXIgcmVtb3ZlSXRlbXMgPSB0aGlzLmdldEl0ZW1zKCBlbGVtcyApOwoKCQl0aGlzLl9lbWl0Q29tcGxldGVPbkl0ZW1zKCAncmVtb3ZlJywgcmVtb3ZlSXRlbXMgKTsKCgkJLy8gYmFpbCBpZiBubyBpdGVtcyB0byByZW1vdmUKCQlpZiAoICFyZW1vdmVJdGVtcyB8fCAhcmVtb3ZlSXRlbXMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoKCQlyZW1vdmVJdGVtcy5mb3JFYWNoKCBmdW5jdGlvbiggaXRlbSApIHsKCQkJaXRlbS5yZW1vdmUoKTsKCQkJLy8gcmVtb3ZlIGl0ZW0gZnJvbSBjb2xsZWN0aW9uCgkJCXV0aWxzLnJlbW92ZUZyb20oIHRoaXMuaXRlbXMsIGl0ZW0gKTsKCQl9LCB0aGlzICk7Cgl9OwoKLy8gLS0tLS0gZGVzdHJveSAtLS0tLSAvLwoKLy8gcmVtb3ZlIGFuZCBkaXNhYmxlIE91dGxheWVyIGluc3RhbmNlCglwcm90by5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJLy8gY2xlYW4gdXAgZHluYW1pYyBzdHlsZXMKCQl2YXIgc3R5bGUgPSB0aGlzLmVsZW1lbnQuc3R5bGU7CgkJc3R5bGUuaGVpZ2h0ID0gJyc7CgkJc3R5bGUucG9zaXRpb24gPSAnJzsKCQlzdHlsZS53aWR0aCA9ICcnOwoJCS8vIGRlc3Ryb3kgaXRlbXMKCQl0aGlzLml0ZW1zLmZvckVhY2goIGZ1bmN0aW9uKCBpdGVtICkgewoJCQlpdGVtLmRlc3Ryb3koKTsKCQl9KTsKCgkJdGhpcy51bmJpbmRSZXNpemUoKTsKCgkJdmFyIGlkID0gdGhpcy5lbGVtZW50Lm91dGxheWVyR1VJRDsKCQlkZWxldGUgaW5zdGFuY2VzWyBpZCBdOyAvLyByZW1vdmUgcmVmZXJlbmNlIHRvIGluc3RhbmNlIGJ5IGlkCgkJZGVsZXRlIHRoaXMuZWxlbWVudC5vdXRsYXllckdVSUQ7CgkJLy8gcmVtb3ZlIGRhdGEgZm9yIGpRdWVyeQoJCWlmICggalF1ZXJ5ICkgewoJCQlqUXVlcnkucmVtb3ZlRGF0YSggdGhpcy5lbGVtZW50LCB0aGlzLmNvbnN0cnVjdG9yLm5hbWVzcGFjZSApOwoJCX0KCgl9OwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZGF0YSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKCS8qKgoJICogZ2V0IE91dGxheWVyIGluc3RhbmNlIGZyb20gZWxlbWVudAoJICogQHBhcmFtIHtFbGVtZW50fSBlbGVtCgkgKiBAcmV0dXJucyB7T3V0bGF5ZXJ9CgkgKi8KCU91dGxheWVyLmRhdGEgPSBmdW5jdGlvbiggZWxlbSApIHsKCQllbGVtID0gdXRpbHMuZ2V0UXVlcnlFbGVtZW50KCBlbGVtICk7CgkJdmFyIGlkID0gZWxlbSAmJiBlbGVtLm91dGxheWVyR1VJRDsKCQlyZXR1cm4gaWQgJiYgaW5zdGFuY2VzWyBpZCBdOwoJfTsKCgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjcmVhdGUgT3V0bGF5ZXIgY2xhc3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgkvKioKCSAqIGNyZWF0ZSBhIGxheW91dCBjbGFzcwoJICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZQoJICovCglPdXRsYXllci5jcmVhdGUgPSBmdW5jdGlvbiggbmFtZXNwYWNlLCBvcHRpb25zICkgewoJCS8vIHN1Yi1jbGFzcyBPdXRsYXllcgoJCXZhciBMYXlvdXQgPSBzdWJjbGFzcyggT3V0bGF5ZXIgKTsKCQkvLyBhcHBseSBuZXcgb3B0aW9ucyBhbmQgY29tcGF0T3B0aW9ucwoJCUxheW91dC5kZWZhdWx0cyA9IHV0aWxzLmV4dGVuZCgge30sIE91dGxheWVyLmRlZmF1bHRzICk7CgkJdXRpbHMuZXh0ZW5kKCBMYXlvdXQuZGVmYXVsdHMsIG9wdGlvbnMgKTsKCQlMYXlvdXQuY29tcGF0T3B0aW9ucyA9IHV0aWxzLmV4dGVuZCgge30sIE91dGxheWVyLmNvbXBhdE9wdGlvbnMgICk7CgoJCUxheW91dC5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7CgoJCUxheW91dC5kYXRhID0gT3V0bGF5ZXIuZGF0YTsKCgkJLy8gc3ViLWNsYXNzIEl0ZW0KCQlMYXlvdXQuSXRlbSA9IHN1YmNsYXNzKCBJdGVtICk7CgoJCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGRlY2xhcmF0aXZlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCXV0aWxzLmh0bWxJbml0KCBMYXlvdXQsIG5hbWVzcGFjZSApOwoKCQkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBqUXVlcnkgYnJpZGdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJCS8vIG1ha2UgaW50byBqUXVlcnkgcGx1Z2luCgkJaWYgKCBqUXVlcnkgJiYgalF1ZXJ5LmJyaWRnZXQgKSB7CgkJCWpRdWVyeS5icmlkZ2V0KCBuYW1lc3BhY2UsIExheW91dCApOwoJCX0KCgkJcmV0dXJuIExheW91dDsKCX07CgoJZnVuY3Rpb24gc3ViY2xhc3MoIFBhcmVudCApIHsKCQlmdW5jdGlvbiBTdWJDbGFzcygpIHsKCQkJUGFyZW50LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKCQl9CgoJCVN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIFBhcmVudC5wcm90b3R5cGUgKTsKCQlTdWJDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTdWJDbGFzczsKCgkJcmV0dXJuIFN1YkNsYXNzOwoJfQoKLy8gLS0tLS0gaGVscGVycyAtLS0tLSAvLwoKLy8gaG93IG1hbnkgbWlsbGlzZWNvbmRzIGFyZSBpbiBlYWNoIHVuaXQKCXZhciBtc1VuaXRzID0gewoJCW1zOiAxLAoJCXM6IDEwMDAKCX07CgovLyBtdW5nZSB0aW1lLWxpa2UgcGFyYW1ldGVyIGludG8gbWlsbGlzZWNvbmQgbnVtYmVyCi8vICcwLjRzJyAtPiA0MAoJZnVuY3Rpb24gZ2V0TWlsbGlzZWNvbmRzKCB0aW1lICkgewoJCWlmICggdHlwZW9mIHRpbWUgPT0gJ251bWJlcicgKSB7CgkJCXJldHVybiB0aW1lOwoJCX0KCQl2YXIgbWF0Y2hlcyA9IHRpbWUubWF0Y2goIC8oXlxkKlwuP1xkKikoXHcqKS8gKTsKCQl2YXIgbnVtID0gbWF0Y2hlcyAmJiBtYXRjaGVzWzFdOwoJCXZhciB1bml0ID0gbWF0Y2hlcyAmJiBtYXRjaGVzWzJdOwoJCWlmICggIW51bS5sZW5ndGggKSB7CgkJCXJldHVybiAwOwoJCX0KCQludW0gPSBwYXJzZUZsb2F0KCBudW0gKTsKCQl2YXIgbXVsdCA9IG1zVW5pdHNbIHVuaXQgXSB8fCAxOwoJCXJldHVybiBudW0gKiBtdWx0OwoJfQoKLy8gLS0tLS0gZmluIC0tLS0tIC8vCgovLyBiYWNrIGluIGdsb2JhbAoJT3V0bGF5ZXIuSXRlbSA9IEl0ZW07CgoJcmV0dXJuIE91dGxheWVyOwoKfSkpOwoKLyoqCiAqIElzb3RvcGUgSXRlbQogKiovCgooIGZ1bmN0aW9uKCB3aW5kb3csIGZhY3RvcnkgKSB7CgkvLyB1bml2ZXJzYWwgbW9kdWxlIGRlZmluaXRpb24KCS8qIGpzaGludCBzdHJpY3Q6IGZhbHNlICovIC8qZ2xvYmFscyBkZWZpbmUsIG1vZHVsZSwgcmVxdWlyZSAqLwoJaWYgKCB0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCApIHsKCQkvLyBBTUQKCQlkZWZpbmUoICdpc290b3BlLWxheW91dC9qcy9pdGVtJyxbCgkJCQknb3V0bGF5ZXIvb3V0bGF5ZXInCgkJCV0sCgkJCWZhY3RvcnkgKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCgkJCXJlcXVpcmUoJ291dGxheWVyJykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5Jc290b3BlID0gd2luZG93Lklzb3RvcGUgfHwge307CgkJd2luZG93Lklzb3RvcGUuSXRlbSA9IGZhY3RvcnkoCgkJCXdpbmRvdy5PdXRsYXllcgoJCSk7Cgl9Cgp9KCB3aW5kb3csIGZ1bmN0aW9uIGZhY3RvcnkoIE91dGxheWVyICkgewoJJ3VzZSBzdHJpY3QnOwoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSXRlbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKLy8gc3ViLWNsYXNzIE91dGxheWVyIEl0ZW0KCWZ1bmN0aW9uIEl0ZW0oKSB7CgkJT3V0bGF5ZXIuSXRlbS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7Cgl9CgoJdmFyIHByb3RvID0gSXRlbS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBPdXRsYXllci5JdGVtLnByb3RvdHlwZSApOwoKCXZhciBfY3JlYXRlID0gcHJvdG8uX2NyZWF0ZTsKCXByb3RvLl9jcmVhdGUgPSBmdW5jdGlvbigpIHsKCQkvLyBhc3NpZ24gaWQsIHVzZWQgZm9yIG9yaWdpbmFsLW9yZGVyIHNvcnRpbmcKCQl0aGlzLmlkID0gdGhpcy5sYXlvdXQuaXRlbUdVSUQrKzsKCQlfY3JlYXRlLmNhbGwoIHRoaXMgKTsKCQl0aGlzLnNvcnREYXRhID0ge307Cgl9OwoKCXByb3RvLnVwZGF0ZVNvcnREYXRhID0gZnVuY3Rpb24oKSB7CgkJaWYgKCB0aGlzLmlzSWdub3JlZCApIHsKCQkJcmV0dXJuOwoJCX0KCQkvLyBkZWZhdWx0IHNvcnRlcnMKCQl0aGlzLnNvcnREYXRhLmlkID0gdGhpcy5pZDsKCQkvLyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQoJCXRoaXMuc29ydERhdGFbJ29yaWdpbmFsLW9yZGVyJ10gPSB0aGlzLmlkOwoJCXRoaXMuc29ydERhdGEucmFuZG9tID0gTWF0aC5yYW5kb20oKTsKCQkvLyBnbyB0aHJ1IGdldFNvcnREYXRhIG9iaiBhbmQgYXBwbHkgdGhlIHNvcnRlcnMKCQl2YXIgZ2V0U29ydERhdGEgPSB0aGlzLmxheW91dC5vcHRpb25zLmdldFNvcnREYXRhOwoJCXZhciBzb3J0ZXJzID0gdGhpcy5sYXlvdXQuX3NvcnRlcnM7CgkJZm9yICggdmFyIGtleSBpbiBnZXRTb3J0RGF0YSApIHsKCQkJdmFyIHNvcnRlciA9IHNvcnRlcnNbIGtleSBdOwoJCQl0aGlzLnNvcnREYXRhWyBrZXkgXSA9IHNvcnRlciggdGhpcy5lbGVtZW50LCB0aGlzICk7CgkJfQoJfTsKCgl2YXIgX2Rlc3Ryb3kgPSBwcm90by5kZXN0cm95OwoJcHJvdG8uZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCS8vIGNhbGwgc3VwZXIKCQlfZGVzdHJveS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7CgkJLy8gcmVzZXQgZGlzcGxheSwgIzc0MQoJCXRoaXMuY3NzKHsKCQkJZGlzcGxheTogJycKCQl9KTsKCX07CgoJcmV0dXJuIEl0ZW07Cgp9KSk7CgovKioKICogSXNvdG9wZSBMYXlvdXRNb2RlCiAqLwoKKCBmdW5jdGlvbiggd2luZG93LCBmYWN0b3J5ICkgewoJLy8gdW5pdmVyc2FsIG1vZHVsZSBkZWZpbml0aW9uCgkvKiBqc2hpbnQgc3RyaWN0OiBmYWxzZSAqLyAvKmdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHJlcXVpcmUgKi8KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1ECgkJZGVmaW5lKCAnaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGUnLFsKCQkJCSdnZXQtc2l6ZS9nZXQtc2l6ZScsCgkJCQknb3V0bGF5ZXIvb3V0bGF5ZXInCgkJCV0sCgkJCWZhY3RvcnkgKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCgkJCXJlcXVpcmUoJ2dldC1zaXplJyksCgkJCXJlcXVpcmUoJ291dGxheWVyJykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCXdpbmRvdy5Jc290b3BlID0gd2luZG93Lklzb3RvcGUgfHwge307CgkJd2luZG93Lklzb3RvcGUuTGF5b3V0TW9kZSA9IGZhY3RvcnkoCgkJCXdpbmRvdy5nZXRTaXplLAoJCQl3aW5kb3cuT3V0bGF5ZXIKCQkpOwoJfQoKfSggd2luZG93LCBmdW5jdGlvbiBmYWN0b3J5KCBnZXRTaXplLCBPdXRsYXllciApIHsKCSd1c2Ugc3RyaWN0JzsKCgkvLyBsYXlvdXQgbW9kZSBjbGFzcwoJZnVuY3Rpb24gTGF5b3V0TW9kZSggaXNvdG9wZSApIHsKCQl0aGlzLmlzb3RvcGUgPSBpc290b3BlOwoJCS8vIGxpbmsgcHJvcGVydGllcwoJCWlmICggaXNvdG9wZSApIHsKCQkJdGhpcy5vcHRpb25zID0gaXNvdG9wZS5vcHRpb25zWyB0aGlzLm5hbWVzcGFjZSBdOwoJCQl0aGlzLmVsZW1lbnQgPSBpc290b3BlLmVsZW1lbnQ7CgkJCXRoaXMuaXRlbXMgPSBpc290b3BlLmZpbHRlcmVkSXRlbXM7CgkJCXRoaXMuc2l6ZSA9IGlzb3RvcGUuc2l6ZTsKCQl9Cgl9CgoJdmFyIHByb3RvID0gTGF5b3V0TW9kZS5wcm90b3R5cGU7CgoJLyoqCgkgKiBzb21lIG1ldGhvZHMgc2hvdWxkIGp1c3QgZGVmZXIgdG8gZGVmYXVsdCBPdXRsYXllciBtZXRob2QKCSAqIGFuZCByZWZlcmVuY2UgdGhlIElzb3RvcGUgaW5zdGFuY2UgYXMgYHRoaXNgCgkgKiovCgl2YXIgZmFjYWRlTWV0aG9kcyA9IFsKCQknX3Jlc2V0TGF5b3V0JywKCQknX2dldEl0ZW1MYXlvdXRQb3NpdGlvbicsCgkJJ19tYW5hZ2VTdGFtcCcsCgkJJ19nZXRDb250YWluZXJTaXplJywKCQknX2dldEVsZW1lbnRPZmZzZXQnLAoJCSduZWVkc1Jlc2l6ZUxheW91dCcsCgkJJ19nZXRPcHRpb24nCgldOwoKCWZhY2FkZU1ldGhvZHMuZm9yRWFjaCggZnVuY3Rpb24oIG1ldGhvZE5hbWUgKSB7CgkJcHJvdG9bIG1ldGhvZE5hbWUgXSA9IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gT3V0bGF5ZXIucHJvdG90eXBlWyBtZXRob2ROYW1lIF0uYXBwbHkoIHRoaXMuaXNvdG9wZSwgYXJndW1lbnRzICk7CgkJfTsKCX0pOwoKCS8vIC0tLS0tICAtLS0tLSAvLwoKCS8vIGZvciBob3Jpem9udGFsIGxheW91dCBtb2RlcywgY2hlY2sgdmVydGljYWwgc2l6ZQoJcHJvdG8ubmVlZHNWZXJ0aWNhbFJlc2l6ZUxheW91dCA9IGZ1bmN0aW9uKCkgewoJCS8vIGRvbid0IHRyaWdnZXIgaWYgc2l6ZSBkaWQgbm90IGNoYW5nZQoJCXZhciBzaXplID0gZ2V0U2l6ZSggdGhpcy5pc290b3BlLmVsZW1lbnQgKTsKCQkvLyBjaGVjayB0aGF0IHRoaXMuc2l6ZSBhbmQgc2l6ZSBhcmUgdGhlcmUKCQkvLyBJRTggdHJpZ2dlcnMgcmVzaXplIG9uIGJvZHkgc2l6ZSBjaGFuZ2UsIHNvIHRoZXkgbWlnaHQgbm90IGJlCgkJdmFyIGhhc1NpemVzID0gdGhpcy5pc290b3BlLnNpemUgJiYgc2l6ZTsKCQlyZXR1cm4gaGFzU2l6ZXMgJiYgc2l6ZS5pbm5lckhlaWdodCAhPSB0aGlzLmlzb3RvcGUuc2l6ZS5pbm5lckhlaWdodDsKCX07CgoJLy8gLS0tLS0gbWVhc3VyZW1lbnRzIC0tLS0tIC8vCgoJcHJvdG8uX2dldE1lYXN1cmVtZW50ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5pc290b3BlLl9nZXRNZWFzdXJlbWVudC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7Cgl9OwoKCXByb3RvLmdldENvbHVtbldpZHRoID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5nZXRTZWdtZW50U2l6ZSggJ2NvbHVtbicsICdXaWR0aCcgKTsKCX07CgoJcHJvdG8uZ2V0Um93SGVpZ2h0ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5nZXRTZWdtZW50U2l6ZSggJ3JvdycsICdIZWlnaHQnICk7Cgl9OwoKCS8qKgoJICogZ2V0IGNvbHVtbldpZHRoIG9yIHJvd0hlaWdodAoJICogc2VnbWVudDogJ2NvbHVtbicgb3IgJ3JvdycKCSAqIHNpemUgJ1dpZHRoJyBvciAnSGVpZ2h0JwoJICoqLwoJcHJvdG8uZ2V0U2VnbWVudFNpemUgPSBmdW5jdGlvbiggc2VnbWVudCwgc2l6ZSApIHsKCQl2YXIgc2VnbWVudE5hbWUgPSBzZWdtZW50ICsgc2l6ZTsKCQl2YXIgb3V0ZXJTaXplID0gJ291dGVyJyArIHNpemU7CgkJLy8gY29sdW1uV2lkdGggLyBvdXRlcldpZHRoIC8vIHJvd0hlaWdodCAvIG91dGVySGVpZ2h0CgkJdGhpcy5fZ2V0TWVhc3VyZW1lbnQoIHNlZ21lbnROYW1lLCBvdXRlclNpemUgKTsKCQkvLyBnb3Qgcm93SGVpZ2h0IG9yIGNvbHVtbldpZHRoLCB3ZSBjYW4gY2hpbGwKCQlpZiAoIHRoaXNbIHNlZ21lbnROYW1lIF0gKSB7CgkJCXJldHVybjsKCQl9CgkJLy8gZmFsbCBiYWNrIHRvIGl0ZW0gb2YgZmlyc3QgZWxlbWVudAoJCXZhciBmaXJzdEl0ZW1TaXplID0gdGhpcy5nZXRGaXJzdEl0ZW1TaXplKCk7CgkJdGhpc1sgc2VnbWVudE5hbWUgXSA9IGZpcnN0SXRlbVNpemUgJiYgZmlyc3RJdGVtU2l6ZVsgb3V0ZXJTaXplIF0gfHwKCQkJLy8gb3Igc2l6ZSBvZiBjb250YWluZXIKCQkJdGhpcy5pc290b3BlLnNpemVbICdpbm5lcicgKyBzaXplIF07Cgl9OwoKCXByb3RvLmdldEZpcnN0SXRlbVNpemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgZmlyc3RJdGVtID0gdGhpcy5pc290b3BlLmZpbHRlcmVkSXRlbXNbMF07CgkJcmV0dXJuIGZpcnN0SXRlbSAmJiBmaXJzdEl0ZW0uZWxlbWVudCAmJiBnZXRTaXplKCBmaXJzdEl0ZW0uZWxlbWVudCApOwoJfTsKCgkvLyAtLS0tLSBtZXRob2RzIHRoYXQgc2hvdWxkIHJlZmVyZW5jZSBpc290b3BlIC0tLS0tIC8vCgoJcHJvdG8ubGF5b3V0ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5pc290b3BlLmxheW91dC5hcHBseSggdGhpcy5pc290b3BlLCBhcmd1bWVudHMgKTsKCX07CgoJcHJvdG8uZ2V0U2l6ZSA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuaXNvdG9wZS5nZXRTaXplKCk7CgkJdGhpcy5zaXplID0gdGhpcy5pc290b3BlLnNpemU7Cgl9OwoKCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNyZWF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKCUxheW91dE1vZGUubW9kZXMgPSB7fTsKCglMYXlvdXRNb2RlLmNyZWF0ZSA9IGZ1bmN0aW9uKCBuYW1lc3BhY2UsIG9wdGlvbnMgKSB7CgoJCWZ1bmN0aW9uIE1vZGUoKSB7CgkJCUxheW91dE1vZGUuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOwoJCX0KCgkJTW9kZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBwcm90byApOwoJCU1vZGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTW9kZTsKCgkJLy8gZGVmYXVsdCBvcHRpb25zCgkJaWYgKCBvcHRpb25zICkgewoJCQlNb2RlLm9wdGlvbnMgPSBvcHRpb25zOwoJCX0KCgkJTW9kZS5wcm90b3R5cGUubmFtZXNwYWNlID0gbmFtZXNwYWNlOwoJCS8vIHJlZ2lzdGVyIGluIElzb3RvcGUKCQlMYXlvdXRNb2RlLm1vZGVzWyBuYW1lc3BhY2UgXSA9IE1vZGU7CgoJCXJldHVybiBNb2RlOwoJfTsKCglyZXR1cm4gTGF5b3V0TW9kZTsKCn0pKTsKCi8qIQogKiBNYXNvbnJ5IHY0LjIuMQogKiBDYXNjYWRpbmcgZ3JpZCBsYXlvdXQgbGlicmFyeQogKiBodHRwczovL21hc29ucnkuZGVzYW5kcm8uY29tCiAqIE1JVCBMaWNlbnNlCiAqIGJ5IERhdmlkIERlU2FuZHJvCiAqLwoKKCBmdW5jdGlvbiggd2luZG93LCBmYWN0b3J5ICkgewoJLy8gdW5pdmVyc2FsIG1vZHVsZSBkZWZpbml0aW9uCgkvKiBqc2hpbnQgc3RyaWN0OiBmYWxzZSAqLyAvKmdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHJlcXVpcmUgKi8KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1ECgkJZGVmaW5lKCAnbWFzb25yeS1sYXlvdXQvbWFzb25yeScsWwoJCQkJJ291dGxheWVyL291dGxheWVyJywKCQkJCSdnZXQtc2l6ZS9nZXQtc2l6ZScKCQkJXSwKCQkJZmFjdG9yeSApOwoJfSBlbHNlIGlmICggdHlwZW9mIG1vZHVsZSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cyApIHsKCQkvLyBDb21tb25KUwoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgKCQkJcmVxdWlyZSgnb3V0bGF5ZXInKSwKCQkJcmVxdWlyZSgnZ2V0LXNpemUnKQoJCSk7Cgl9IGVsc2UgewoJCS8vIGJyb3dzZXIgZ2xvYmFsCgkJd2luZG93Lk1hc29ucnkgPSBmYWN0b3J5KAoJCQl3aW5kb3cuT3V0bGF5ZXIsCgkJCXdpbmRvdy5nZXRTaXplCgkJKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSggT3V0bGF5ZXIsIGdldFNpemUgKSB7CgoKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1hc29ucnlEZWZpbml0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLy8gY3JlYXRlIGFuIE91dGxheWVyIGxheW91dCBjbGFzcwoJdmFyIE1hc29ucnkgPSBPdXRsYXllci5jcmVhdGUoJ21hc29ucnknKTsKCS8vIGlzRml0V2lkdGggLT4gZml0V2lkdGgKCU1hc29ucnkuY29tcGF0T3B0aW9ucy5maXRXaWR0aCA9ICdpc0ZpdFdpZHRoJzsKCgl2YXIgcHJvdG8gPSBNYXNvbnJ5LnByb3RvdHlwZTsKCglwcm90by5fcmVzZXRMYXlvdXQgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmdldFNpemUoKTsKCQl0aGlzLl9nZXRNZWFzdXJlbWVudCggJ2NvbHVtbldpZHRoJywgJ291dGVyV2lkdGgnICk7CgkJdGhpcy5fZ2V0TWVhc3VyZW1lbnQoICdndXR0ZXInLCAnb3V0ZXJXaWR0aCcgKTsKCQl0aGlzLm1lYXN1cmVDb2x1bW5zKCk7CgoJCS8vIHJlc2V0IGNvbHVtbiBZCgkJdGhpcy5jb2xZcyA9IFtdOwoJCWZvciAoIHZhciBpPTA7IGkgPCB0aGlzLmNvbHM7IGkrKyApIHsKCQkJdGhpcy5jb2xZcy5wdXNoKCAwICk7CgkJfQoKCQl0aGlzLm1heFkgPSAwOwoJCXRoaXMuaG9yaXpvbnRhbENvbEluZGV4ID0gMDsKCX07CgoJcHJvdG8ubWVhc3VyZUNvbHVtbnMgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmdldENvbnRhaW5lcldpZHRoKCk7CgkJLy8gaWYgY29sdW1uV2lkdGggaXMgMCwgZGVmYXVsdCB0byBvdXRlcldpZHRoIG9mIGZpcnN0IGl0ZW0KCQlpZiAoICF0aGlzLmNvbHVtbldpZHRoICkgewoJCQl2YXIgZmlyc3RJdGVtID0gdGhpcy5pdGVtc1swXTsKCQkJdmFyIGZpcnN0SXRlbUVsZW0gPSBmaXJzdEl0ZW0gJiYgZmlyc3RJdGVtLmVsZW1lbnQ7CgkJCS8vIGNvbHVtbldpZHRoIGZhbGwgYmFjayB0byBpdGVtIG9mIGZpcnN0IGVsZW1lbnQKCQkJdGhpcy5jb2x1bW5XaWR0aCA9IGZpcnN0SXRlbUVsZW0gJiYgZ2V0U2l6ZSggZmlyc3RJdGVtRWxlbSApLm91dGVyV2lkdGggfHwKCQkJCS8vIGlmIGZpcnN0IGVsZW0gaGFzIG5vIHdpZHRoLCBkZWZhdWx0IHRvIHNpemUgb2YgY29udGFpbmVyCgkJCQl0aGlzLmNvbnRhaW5lcldpZHRoOwoJCX0KCgkJdmFyIGNvbHVtbldpZHRoID0gdGhpcy5jb2x1bW5XaWR0aCArPSB0aGlzLmd1dHRlcjsKCgkJLy8gY2FsY3VsYXRlIGNvbHVtbnMKCQl2YXIgY29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lcldpZHRoICsgdGhpcy5ndXR0ZXI7CgkJdmFyIGNvbHMgPSBjb250YWluZXJXaWR0aCAvIGNvbHVtbldpZHRoOwoJCS8vIGZpeCByb3VuZGluZyBlcnJvcnMsIHR5cGljYWxseSB3aXRoIGd1dHRlcnMKCQl2YXIgZXhjZXNzID0gY29sdW1uV2lkdGggLSBjb250YWluZXJXaWR0aCAlIGNvbHVtbldpZHRoOwoJCS8vIGlmIG92ZXJzaG9vdCBpcyBsZXNzIHRoYW4gYSBwaXhlbCwgcm91bmQgdXAsIG90aGVyd2lzZSBmbG9vciBpdAoJCXZhciBtYXRoTWV0aG9kID0gZXhjZXNzICYmIGV4Y2VzcyA8IDEgPyAncm91bmQnIDogJ2Zsb29yJzsKCQljb2xzID0gTWF0aFsgbWF0aE1ldGhvZCBdKCBjb2xzICk7CgkJdGhpcy5jb2xzID0gTWF0aC5tYXgoIGNvbHMsIDEgKTsKCX07CgoJcHJvdG8uZ2V0Q29udGFpbmVyV2lkdGggPSBmdW5jdGlvbigpIHsKCQkvLyBjb250YWluZXIgaXMgcGFyZW50IGlmIGZpdCB3aWR0aAoJCXZhciBpc0ZpdFdpZHRoID0gdGhpcy5fZ2V0T3B0aW9uKCdmaXRXaWR0aCcpOwoJCXZhciBjb250YWluZXIgPSBpc0ZpdFdpZHRoID8gdGhpcy5lbGVtZW50LnBhcmVudE5vZGUgOiB0aGlzLmVsZW1lbnQ7CgkJLy8gY2hlY2sgdGhhdCB0aGlzLnNpemUgYW5kIHNpemUgYXJlIHRoZXJlCgkJLy8gSUU4IHRyaWdnZXJzIHJlc2l6ZSBvbiBib2R5IHNpemUgY2hhbmdlLCBzbyB0aGV5IG1pZ2h0IG5vdCBiZQoJCXZhciBzaXplID0gZ2V0U2l6ZSggY29udGFpbmVyICk7CgkJdGhpcy5jb250YWluZXJXaWR0aCA9IHNpemUgJiYgc2l6ZS5pbm5lcldpZHRoOwoJfTsKCglwcm90by5fZ2V0SXRlbUxheW91dFBvc2l0aW9uID0gZnVuY3Rpb24oIGl0ZW0gKSB7CgkJaXRlbS5nZXRTaXplKCk7CgkJLy8gaG93IG1hbnkgY29sdW1ucyBkb2VzIHRoaXMgYnJpY2sgc3BhbgoJCXZhciByZW1haW5kZXIgPSBpdGVtLnNpemUub3V0ZXJXaWR0aCAlIHRoaXMuY29sdW1uV2lkdGg7CgkJdmFyIG1hdGhNZXRob2QgPSByZW1haW5kZXIgJiYgcmVtYWluZGVyIDwgMSA/ICdyb3VuZCcgOiAnY2VpbCc7CgkJLy8gcm91bmQgaWYgb2ZmIGJ5IDEgcGl4ZWwsIG90aGVyd2lzZSB1c2UgY2VpbAoJCXZhciBjb2xTcGFuID0gTWF0aFsgbWF0aE1ldGhvZCBdKCBpdGVtLnNpemUub3V0ZXJXaWR0aCAvIHRoaXMuY29sdW1uV2lkdGggKTsKCQljb2xTcGFuID0gTWF0aC5taW4oIGNvbFNwYW4sIHRoaXMuY29scyApOwoJCS8vIHVzZSBob3Jpem9udGFsIG9yIHRvcCBjb2x1bW4gcG9zaXRpb24KCQl2YXIgY29sUG9zTWV0aG9kID0gdGhpcy5vcHRpb25zLmhvcml6b250YWxPcmRlciA/CgkJCSdfZ2V0SG9yaXpvbnRhbENvbFBvc2l0aW9uJyA6ICdfZ2V0VG9wQ29sUG9zaXRpb24nOwoJCXZhciBjb2xQb3NpdGlvbiA9IHRoaXNbIGNvbFBvc01ldGhvZCBdKCBjb2xTcGFuLCBpdGVtICk7CgkJLy8gcG9zaXRpb24gdGhlIGJyaWNrCgkJdmFyIHBvc2l0aW9uID0gewoJCQl4OiB0aGlzLmNvbHVtbldpZHRoICogY29sUG9zaXRpb24uY29sLAoJCQl5OiBjb2xQb3NpdGlvbi55CgkJfTsKCQkvLyBhcHBseSBzZXRIZWlnaHQgdG8gbmVjZXNzYXJ5IGNvbHVtbnMKCQl2YXIgc2V0SGVpZ2h0ID0gY29sUG9zaXRpb24ueSArIGl0ZW0uc2l6ZS5vdXRlckhlaWdodDsKCQl2YXIgc2V0TWF4ID0gY29sU3BhbiArIGNvbFBvc2l0aW9uLmNvbDsKCQlmb3IgKCB2YXIgaSA9IGNvbFBvc2l0aW9uLmNvbDsgaSA8IHNldE1heDsgaSsrICkgewoJCQl0aGlzLmNvbFlzW2ldID0gc2V0SGVpZ2h0OwoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCglwcm90by5fZ2V0VG9wQ29sUG9zaXRpb24gPSBmdW5jdGlvbiggY29sU3BhbiApIHsKCQl2YXIgY29sR3JvdXAgPSB0aGlzLl9nZXRUb3BDb2xHcm91cCggY29sU3BhbiApOwoJCS8vIGdldCB0aGUgbWluaW11bSBZIHZhbHVlIGZyb20gdGhlIGNvbHVtbnMKCQl2YXIgbWluaW11bVkgPSBNYXRoLm1pbi5hcHBseSggTWF0aCwgY29sR3JvdXAgKTsKCgkJcmV0dXJuIHsKCQkJY29sOiBjb2xHcm91cC5pbmRleE9mKCBtaW5pbXVtWSApLAoJCQl5OiBtaW5pbXVtWSwKCQl9OwoJfTsKCgkvKioKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb2xTcGFuIC0gbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMKCSAqIEByZXR1cm5zIHtBcnJheX0gY29sR3JvdXAKCSAqLwoJcHJvdG8uX2dldFRvcENvbEdyb3VwID0gZnVuY3Rpb24oIGNvbFNwYW4gKSB7CgkJaWYgKCBjb2xTcGFuIDwgMiApIHsKCQkJLy8gaWYgYnJpY2sgc3BhbnMgb25seSBvbmUgY29sdW1uLCB1c2UgYWxsIHRoZSBjb2x1bW4gWXMKCQkJcmV0dXJuIHRoaXMuY29sWXM7CgkJfQoKCQl2YXIgY29sR3JvdXAgPSBbXTsKCQkvLyBob3cgbWFueSBkaWZmZXJlbnQgcGxhY2VzIGNvdWxkIHRoaXMgYnJpY2sgZml0IGhvcml6b250YWxseQoJCXZhciBncm91cENvdW50ID0gdGhpcy5jb2xzICsgMSAtIGNvbFNwYW47CgkJLy8gZm9yIGVhY2ggZ3JvdXAgcG90ZW50aWFsIGhvcml6b250YWwgcG9zaXRpb24KCQlmb3IgKCB2YXIgaSA9IDA7IGkgPCBncm91cENvdW50OyBpKysgKSB7CgkJCWNvbEdyb3VwW2ldID0gdGhpcy5fZ2V0Q29sR3JvdXBZKCBpLCBjb2xTcGFuICk7CgkJfQoJCXJldHVybiBjb2xHcm91cDsKCX07CgoJcHJvdG8uX2dldENvbEdyb3VwWSA9IGZ1bmN0aW9uKCBjb2wsIGNvbFNwYW4gKSB7CgkJaWYgKCBjb2xTcGFuIDwgMiApIHsKCQkJcmV0dXJuIHRoaXMuY29sWXNbIGNvbCBdOwoJCX0KCQkvLyBtYWtlIGFuIGFycmF5IG9mIGNvbFkgdmFsdWVzIGZvciB0aGF0IG9uZSBncm91cAoJCXZhciBncm91cENvbFlzID0gdGhpcy5jb2xZcy5zbGljZSggY29sLCBjb2wgKyBjb2xTcGFuICk7CgkJLy8gYW5kIGdldCB0aGUgbWF4IHZhbHVlIG9mIHRoZSBhcnJheQoJCXJldHVybiBNYXRoLm1heC5hcHBseSggTWF0aCwgZ3JvdXBDb2xZcyApOwoJfTsKCgkvLyBnZXQgY29sdW1uIHBvc2l0aW9uIGJhc2VkIG9uIGhvcml6b250YWwgaW5kZXguICM4NzMKCXByb3RvLl9nZXRIb3Jpem9udGFsQ29sUG9zaXRpb24gPSBmdW5jdGlvbiggY29sU3BhbiwgaXRlbSApIHsKCQl2YXIgY29sID0gdGhpcy5ob3Jpem9udGFsQ29sSW5kZXggJSB0aGlzLmNvbHM7CgkJdmFyIGlzT3ZlciA9IGNvbFNwYW4gPiAxICYmIGNvbCArIGNvbFNwYW4gPiB0aGlzLmNvbHM7CgkJLy8gc2hpZnQgdG8gbmV4dCByb3cgaWYgaXRlbSBjYW4ndCBmaXQgb24gY3VycmVudCByb3cKCQljb2wgPSBpc092ZXIgPyAwIDogY29sOwoJCS8vIGRvbid0IGxldCB6ZXJvLXNpemUgaXRlbXMgdGFrZSB1cCBzcGFjZQoJCXZhciBoYXNTaXplID0gaXRlbS5zaXplLm91dGVyV2lkdGggJiYgaXRlbS5zaXplLm91dGVySGVpZ2h0OwoJCXRoaXMuaG9yaXpvbnRhbENvbEluZGV4ID0gaGFzU2l6ZSA/IGNvbCArIGNvbFNwYW4gOiB0aGlzLmhvcml6b250YWxDb2xJbmRleDsKCgkJcmV0dXJuIHsKCQkJY29sOiBjb2wsCgkJCXk6IHRoaXMuX2dldENvbEdyb3VwWSggY29sLCBjb2xTcGFuICksCgkJfTsKCX07CgoJcHJvdG8uX21hbmFnZVN0YW1wID0gZnVuY3Rpb24oIHN0YW1wICkgewoJCXZhciBzdGFtcFNpemUgPSBnZXRTaXplKCBzdGFtcCApOwoJCXZhciBvZmZzZXQgPSB0aGlzLl9nZXRFbGVtZW50T2Zmc2V0KCBzdGFtcCApOwoJCS8vIGdldCB0aGUgY29sdW1ucyB0aGF0IHRoaXMgc3RhbXAgYWZmZWN0cwoJCXZhciBpc09yaWdpbkxlZnQgPSB0aGlzLl9nZXRPcHRpb24oJ29yaWdpbkxlZnQnKTsKCQl2YXIgZmlyc3RYID0gaXNPcmlnaW5MZWZ0ID8gb2Zmc2V0LmxlZnQgOiBvZmZzZXQucmlnaHQ7CgkJdmFyIGxhc3RYID0gZmlyc3RYICsgc3RhbXBTaXplLm91dGVyV2lkdGg7CgkJdmFyIGZpcnN0Q29sID0gTWF0aC5mbG9vciggZmlyc3RYIC8gdGhpcy5jb2x1bW5XaWR0aCApOwoJCWZpcnN0Q29sID0gTWF0aC5tYXgoIDAsIGZpcnN0Q29sICk7CgkJdmFyIGxhc3RDb2wgPSBNYXRoLmZsb29yKCBsYXN0WCAvIHRoaXMuY29sdW1uV2lkdGggKTsKCQkvLyBsYXN0Q29sIHNob3VsZCBub3QgZ28gb3ZlciBpZiBtdWx0aXBsZSBvZiBjb2x1bW5XaWR0aCAjNDI1CgkJbGFzdENvbCAtPSBsYXN0WCAlIHRoaXMuY29sdW1uV2lkdGggPyAwIDogMTsKCQlsYXN0Q29sID0gTWF0aC5taW4oIHRoaXMuY29scyAtIDEsIGxhc3RDb2wgKTsKCQkvLyBzZXQgY29sWXMgdG8gYm90dG9tIG9mIHRoZSBzdGFtcAoKCQl2YXIgaXNPcmlnaW5Ub3AgPSB0aGlzLl9nZXRPcHRpb24oJ29yaWdpblRvcCcpOwoJCXZhciBzdGFtcE1heFkgPSAoIGlzT3JpZ2luVG9wID8gb2Zmc2V0LnRvcCA6IG9mZnNldC5ib3R0b20gKSArCgkJCXN0YW1wU2l6ZS5vdXRlckhlaWdodDsKCQlmb3IgKCB2YXIgaSA9IGZpcnN0Q29sOyBpIDw9IGxhc3RDb2w7IGkrKyApIHsKCQkJdGhpcy5jb2xZc1tpXSA9IE1hdGgubWF4KCBzdGFtcE1heFksIHRoaXMuY29sWXNbaV0gKTsKCQl9Cgl9OwoKCXByb3RvLl9nZXRDb250YWluZXJTaXplID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5tYXhZID0gTWF0aC5tYXguYXBwbHkoIE1hdGgsIHRoaXMuY29sWXMgKTsKCQl2YXIgc2l6ZSA9IHsKCQkJaGVpZ2h0OiB0aGlzLm1heFkKCQl9OwoKCQlpZiAoIHRoaXMuX2dldE9wdGlvbignZml0V2lkdGgnKSApIHsKCQkJc2l6ZS53aWR0aCA9IHRoaXMuX2dldENvbnRhaW5lckZpdFdpZHRoKCk7CgkJfQoKCQlyZXR1cm4gc2l6ZTsKCX07CgoJcHJvdG8uX2dldENvbnRhaW5lckZpdFdpZHRoID0gZnVuY3Rpb24oKSB7CgkJdmFyIHVudXNlZENvbHMgPSAwOwoJCS8vIGNvdW50IHVudXNlZCBjb2x1bW5zCgkJdmFyIGkgPSB0aGlzLmNvbHM7CgkJd2hpbGUgKCAtLWkgKSB7CgkJCWlmICggdGhpcy5jb2xZc1tpXSAhPT0gMCApIHsKCQkJCWJyZWFrOwoJCQl9CgkJCXVudXNlZENvbHMrKzsKCQl9CgkJLy8gZml0IGNvbnRhaW5lciB0byBjb2x1bW5zIHRoYXQgaGF2ZSBiZWVuIHVzZWQKCQlyZXR1cm4gKCB0aGlzLmNvbHMgLSB1bnVzZWRDb2xzICkgKiB0aGlzLmNvbHVtbldpZHRoIC0gdGhpcy5ndXR0ZXI7Cgl9OwoKCXByb3RvLm5lZWRzUmVzaXplTGF5b3V0ID0gZnVuY3Rpb24oKSB7CgkJdmFyIHByZXZpb3VzV2lkdGggPSB0aGlzLmNvbnRhaW5lcldpZHRoOwoJCXRoaXMuZ2V0Q29udGFpbmVyV2lkdGgoKTsKCQlyZXR1cm4gcHJldmlvdXNXaWR0aCAhPSB0aGlzLmNvbnRhaW5lcldpZHRoOwoJfTsKCglyZXR1cm4gTWFzb25yeTsKCn0pKTsKCi8qIQogKiBNYXNvbnJ5IGxheW91dCBtb2RlCiAqIHN1Yi1jbGFzc2VzIE1hc29ucnkKICogaHR0cHM6Ly9tYXNvbnJ5LmRlc2FuZHJvLmNvbQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsKCS8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoJLyoganNoaW50IHN0cmljdDogZmFsc2UgKi8gLypnbG9iYWxzIGRlZmluZSwgbW9kdWxlLCByZXF1aXJlICovCglpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRAoJCWRlZmluZSggJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5JyxbCgkJCQknLi4vbGF5b3V0LW1vZGUnLAoJCQkJJ21hc29ucnktbGF5b3V0L21hc29ucnknCgkJCV0sCgkJCWZhY3RvcnkgKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCgkJCXJlcXVpcmUoJy4uL2xheW91dC1tb2RlJyksCgkJCXJlcXVpcmUoJ21hc29ucnktbGF5b3V0JykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCWZhY3RvcnkoCgkJCXdpbmRvdy5Jc290b3BlLkxheW91dE1vZGUsCgkJCXdpbmRvdy5NYXNvbnJ5CgkJKTsKCX0KCn0oIHdpbmRvdywgZnVuY3Rpb24gZmFjdG9yeSggTGF5b3V0TW9kZSwgTWFzb25yeSApIHsKCSd1c2Ugc3RyaWN0JzsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1hc29ucnlEZWZpbml0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLy8gY3JlYXRlIGFuIE91dGxheWVyIGxheW91dCBjbGFzcwoJdmFyIE1hc29ucnlNb2RlID0gTGF5b3V0TW9kZS5jcmVhdGUoJ21hc29ucnknKTsKCgl2YXIgcHJvdG8gPSBNYXNvbnJ5TW9kZS5wcm90b3R5cGU7CgoJdmFyIGtlZXBNb2RlTWV0aG9kcyA9IHsKCQlfZ2V0RWxlbWVudE9mZnNldDogdHJ1ZSwKCQlsYXlvdXQ6IHRydWUsCgkJX2dldE1lYXN1cmVtZW50OiB0cnVlCgl9OwoKCS8vIGluaGVyaXQgTWFzb25yeSBwcm90b3R5cGUKCWZvciAoIHZhciBtZXRob2QgaW4gTWFzb25yeS5wcm90b3R5cGUgKSB7CgkJLy8gZG8gbm90IGluaGVyaXQgbW9kZSBtZXRob2RzCgkJaWYgKCAha2VlcE1vZGVNZXRob2RzWyBtZXRob2QgXSApIHsKCQkJcHJvdG9bIG1ldGhvZCBdID0gTWFzb25yeS5wcm90b3R5cGVbIG1ldGhvZCBdOwoJCX0KCX0KCgl2YXIgbWVhc3VyZUNvbHVtbnMgPSBwcm90by5tZWFzdXJlQ29sdW1uczsKCXByb3RvLm1lYXN1cmVDb2x1bW5zID0gZnVuY3Rpb24oKSB7CgkJLy8gc2V0IGl0ZW1zLCB1c2VkIGlmIG1lYXN1cmluZyBmaXJzdCBpdGVtCgkJdGhpcy5pdGVtcyA9IHRoaXMuaXNvdG9wZS5maWx0ZXJlZEl0ZW1zOwoJCW1lYXN1cmVDb2x1bW5zLmNhbGwoIHRoaXMgKTsKCX07CgoJLy8gcG9pbnQgdG8gbW9kZSBvcHRpb25zIGZvciBmaXRXaWR0aAoJdmFyIF9nZXRPcHRpb24gPSBwcm90by5fZ2V0T3B0aW9uOwoJcHJvdG8uX2dldE9wdGlvbiA9IGZ1bmN0aW9uKCBvcHRpb24gKSB7CgkJaWYgKCBvcHRpb24gPT0gJ2ZpdFdpZHRoJyApIHsKCQkJcmV0dXJuIHRoaXMub3B0aW9ucy5pc0ZpdFdpZHRoICE9PSB1bmRlZmluZWQgPwoJCQkJdGhpcy5vcHRpb25zLmlzRml0V2lkdGggOiB0aGlzLm9wdGlvbnMuZml0V2lkdGg7CgkJfQoJCXJldHVybiBfZ2V0T3B0aW9uLmFwcGx5KCB0aGlzLmlzb3RvcGUsIGFyZ3VtZW50cyApOwoJfTsKCglyZXR1cm4gTWFzb25yeU1vZGU7Cgp9KSk7CgovKioKICogZml0Um93cyBsYXlvdXQgbW9kZQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsKCS8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoJLyoganNoaW50IHN0cmljdDogZmFsc2UgKi8gLypnbG9iYWxzIGRlZmluZSwgbW9kdWxlLCByZXF1aXJlICovCglpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRAoJCWRlZmluZSggJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9maXQtcm93cycsWwoJCQkJJy4uL2xheW91dC1tb2RlJwoJCQldLAoJCQlmYWN0b3J5ICk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgZXhwb3J0cyA9PSAnb2JqZWN0JyApIHsKCQkvLyBDb21tb25KUwoJCW1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgKCQkJcmVxdWlyZSgnLi4vbGF5b3V0LW1vZGUnKQoJCSk7Cgl9IGVsc2UgewoJCS8vIGJyb3dzZXIgZ2xvYmFsCgkJZmFjdG9yeSgKCQkJd2luZG93Lklzb3RvcGUuTGF5b3V0TW9kZQoJCSk7Cgl9Cgp9KCB3aW5kb3csIGZ1bmN0aW9uIGZhY3RvcnkoIExheW91dE1vZGUgKSB7CgkndXNlIHN0cmljdCc7CgoJdmFyIEZpdFJvd3MgPSBMYXlvdXRNb2RlLmNyZWF0ZSgnZml0Um93cycpOwoKCXZhciBwcm90byA9IEZpdFJvd3MucHJvdG90eXBlOwoKCXByb3RvLl9yZXNldExheW91dCA9IGZ1bmN0aW9uKCkgewoJCXRoaXMueCA9IDA7CgkJdGhpcy55ID0gMDsKCQl0aGlzLm1heFkgPSAwOwoJCXRoaXMuX2dldE1lYXN1cmVtZW50KCAnZ3V0dGVyJywgJ291dGVyV2lkdGgnICk7Cgl9OwoKCXByb3RvLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24gPSBmdW5jdGlvbiggaXRlbSApIHsKCQlpdGVtLmdldFNpemUoKTsKCgkJdmFyIGl0ZW1XaWR0aCA9IGl0ZW0uc2l6ZS5vdXRlcldpZHRoICsgdGhpcy5ndXR0ZXI7CgkJLy8gaWYgdGhpcyBlbGVtZW50IGNhbm5vdCBmaXQgaW4gdGhlIGN1cnJlbnQgcm93CgkJdmFyIGNvbnRhaW5lcldpZHRoID0gdGhpcy5pc290b3BlLnNpemUuaW5uZXJXaWR0aCArIHRoaXMuZ3V0dGVyOwoJCWlmICggdGhpcy54ICE9PSAwICYmIGl0ZW1XaWR0aCArIHRoaXMueCA+IGNvbnRhaW5lcldpZHRoICkgewoJCQl0aGlzLnggPSAwOwoJCQl0aGlzLnkgPSB0aGlzLm1heFk7CgkJfQoKCQl2YXIgcG9zaXRpb24gPSB7CgkJCXg6IHRoaXMueCwKCQkJeTogdGhpcy55CgkJfTsKCgkJdGhpcy5tYXhZID0gTWF0aC5tYXgoIHRoaXMubWF4WSwgdGhpcy55ICsgaXRlbS5zaXplLm91dGVySGVpZ2h0ICk7CgkJdGhpcy54ICs9IGl0ZW1XaWR0aDsKCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCglwcm90by5fZ2V0Q29udGFpbmVyU2l6ZSA9IGZ1bmN0aW9uKCkgewoJCXJldHVybiB7IGhlaWdodDogdGhpcy5tYXhZIH07Cgl9OwoKCXJldHVybiBGaXRSb3dzOwoKfSkpOwoKLyoqCiAqIHZlcnRpY2FsIGxheW91dCBtb2RlCiAqLwoKKCBmdW5jdGlvbiggd2luZG93LCBmYWN0b3J5ICkgewoJLy8gdW5pdmVyc2FsIG1vZHVsZSBkZWZpbml0aW9uCgkvKiBqc2hpbnQgc3RyaWN0OiBmYWxzZSAqLyAvKmdsb2JhbHMgZGVmaW5lLCBtb2R1bGUsIHJlcXVpcmUgKi8KCWlmICggdHlwZW9mIGRlZmluZSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJLy8gQU1ECgkJZGVmaW5lKCAnaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL3ZlcnRpY2FsJyxbCgkJCQknLi4vbGF5b3V0LW1vZGUnCgkJCV0sCgkJCWZhY3RvcnkgKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMgKSB7CgkJLy8gQ29tbW9uSlMKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoCgkJCXJlcXVpcmUoJy4uL2xheW91dC1tb2RlJykKCQkpOwoJfSBlbHNlIHsKCQkvLyBicm93c2VyIGdsb2JhbAoJCWZhY3RvcnkoCgkJCXdpbmRvdy5Jc290b3BlLkxheW91dE1vZGUKCQkpOwoJfQoKfSggd2luZG93LCBmdW5jdGlvbiBmYWN0b3J5KCBMYXlvdXRNb2RlICkgewoJJ3VzZSBzdHJpY3QnOwoKCXZhciBWZXJ0aWNhbCA9IExheW91dE1vZGUuY3JlYXRlKCAndmVydGljYWwnLCB7CgkJaG9yaXpvbnRhbEFsaWdubWVudDogMAoJfSk7CgoJdmFyIHByb3RvID0gVmVydGljYWwucHJvdG90eXBlOwoKCXByb3RvLl9yZXNldExheW91dCA9IGZ1bmN0aW9uKCkgewoJCXRoaXMueSA9IDA7Cgl9OwoKCXByb3RvLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24gPSBmdW5jdGlvbiggaXRlbSApIHsKCQlpdGVtLmdldFNpemUoKTsKCQl2YXIgeCA9ICggdGhpcy5pc290b3BlLnNpemUuaW5uZXJXaWR0aCAtIGl0ZW0uc2l6ZS5vdXRlcldpZHRoICkgKgoJCQl0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbEFsaWdubWVudDsKCQl2YXIgeSA9IHRoaXMueTsKCQl0aGlzLnkgKz0gaXRlbS5zaXplLm91dGVySGVpZ2h0OwoJCXJldHVybiB7IHg6IHgsIHk6IHkgfTsKCX07CgoJcHJvdG8uX2dldENvbnRhaW5lclNpemUgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4geyBoZWlnaHQ6IHRoaXMueSB9OwoJfTsKCglyZXR1cm4gVmVydGljYWw7Cgp9KSk7CgovKiEKICogSXNvdG9wZSB2My4wLjYKICoKICogTGljZW5zZWQgR1BMdjMgZm9yIG9wZW4gc291cmNlIHVzZQogKiBvciBJc290b3BlIENvbW1lcmNpYWwgTGljZW5zZSBmb3IgY29tbWVyY2lhbCB1c2UKICoKICogaHR0cHM6Ly9pc290b3BlLm1ldGFmaXp6eS5jbwogKiBDb3B5cmlnaHQgMjAxMC0yMDE4IE1ldGFmaXp6eQogKi8KCiggZnVuY3Rpb24oIHdpbmRvdywgZmFjdG9yeSApIHsKCS8vIHVuaXZlcnNhbCBtb2R1bGUgZGVmaW5pdGlvbgoJLyoganNoaW50IHN0cmljdDogZmFsc2UgKi8gLypnbG9iYWxzIGRlZmluZSwgbW9kdWxlLCByZXF1aXJlICovCglpZiAoIHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kICkgewoJCS8vIEFNRAoJCWRlZmluZSggWwoJCQkJJ291dGxheWVyL291dGxheWVyJywKCQkJCSdnZXQtc2l6ZS9nZXQtc2l6ZScsCgkJCQknZGVzYW5kcm8tbWF0Y2hlcy1zZWxlY3Rvci9tYXRjaGVzLXNlbGVjdG9yJywKCQkJCSdmaXp6eS11aS11dGlscy91dGlscycsCgkJCQknaXNvdG9wZS1sYXlvdXQvanMvaXRlbScsCgkJCQknaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGUnLAoJCQkJLy8gaW5jbHVkZSBkZWZhdWx0IGxheW91dCBtb2RlcwoJCQkJJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5JywKCQkJCSdpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MnLAoJCQkJJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy92ZXJ0aWNhbCcKCQkJXSwKCQkJZnVuY3Rpb24oIE91dGxheWVyLCBnZXRTaXplLCBtYXRjaGVzU2VsZWN0b3IsIHV0aWxzLCBJdGVtLCBMYXlvdXRNb2RlICkgewoJCQkJcmV0dXJuIGZhY3RvcnkoIHdpbmRvdywgT3V0bGF5ZXIsIGdldFNpemUsIG1hdGNoZXNTZWxlY3RvciwgdXRpbHMsIEl0ZW0sIExheW91dE1vZGUgKTsKCQkJfSk7Cgl9IGVsc2UgaWYgKCB0eXBlb2YgbW9kdWxlID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzICkgewoJCS8vIENvbW1vbkpTCgkJbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KAoJCQl3aW5kb3csCgkJCXJlcXVpcmUoJ291dGxheWVyJyksCgkJCXJlcXVpcmUoJ2dldC1zaXplJyksCgkJCXJlcXVpcmUoJ2Rlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3InKSwKCQkJcmVxdWlyZSgnZml6enktdWktdXRpbHMnKSwKCQkJcmVxdWlyZSgnaXNvdG9wZS1sYXlvdXQvanMvaXRlbScpLAoJCQlyZXF1aXJlKCdpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZScpLAoJCQkvLyBpbmNsdWRlIGRlZmF1bHQgbGF5b3V0IG1vZGVzCgkJCXJlcXVpcmUoJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5JyksCgkJCXJlcXVpcmUoJ2lzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9maXQtcm93cycpLAoJCQlyZXF1aXJlKCdpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZXMvdmVydGljYWwnKQoJCSk7Cgl9IGVsc2UgewoJCS8vIGJyb3dzZXIgZ2xvYmFsCgkJd2luZG93Lklzb3RvcGUgPSBmYWN0b3J5KAoJCQl3aW5kb3csCgkJCXdpbmRvdy5PdXRsYXllciwKCQkJd2luZG93LmdldFNpemUsCgkJCXdpbmRvdy5tYXRjaGVzU2VsZWN0b3IsCgkJCXdpbmRvdy5maXp6eVVJVXRpbHMsCgkJCXdpbmRvdy5Jc290b3BlLkl0ZW0sCgkJCXdpbmRvdy5Jc290b3BlLkxheW91dE1vZGUKCQkpOwoJfQoKfSggd2luZG93LCBmdW5jdGlvbiBmYWN0b3J5KCB3aW5kb3csIE91dGxheWVyLCBnZXRTaXplLCBtYXRjaGVzU2VsZWN0b3IsIHV0aWxzLAoJCQkJCQkJIEl0ZW0sIExheW91dE1vZGUgKSB7CgoKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHZhcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgl2YXIgalF1ZXJ5ID0gd2luZG93LmpRdWVyeTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGhlbHBlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgl2YXIgdHJpbSA9IFN0cmluZy5wcm90b3R5cGUudHJpbSA/CgkJZnVuY3Rpb24oIHN0ciApIHsKCQkJcmV0dXJuIHN0ci50cmltKCk7CgkJfSA6CgkJZnVuY3Rpb24oIHN0ciApIHsKCQkJcmV0dXJuIHN0ci5yZXBsYWNlKCAvXlxzK3xccyskL2csICcnICk7CgkJfTsKCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGlzb3RvcGVEZWZpbml0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLy8gY3JlYXRlIGFuIE91dGxheWVyIGxheW91dCBjbGFzcwoJdmFyIElzb3RvcGUgPSBPdXRsYXllci5jcmVhdGUoICdpc290b3BlJywgewoJCWxheW91dE1vZGU6ICdtYXNvbnJ5JywKCQlpc0pRdWVyeUZpbHRlcmluZzogdHJ1ZSwKCQlzb3J0QXNjZW5kaW5nOiB0cnVlCgl9KTsKCglJc290b3BlLkl0ZW0gPSBJdGVtOwoJSXNvdG9wZS5MYXlvdXRNb2RlID0gTGF5b3V0TW9kZTsKCgl2YXIgcHJvdG8gPSBJc290b3BlLnByb3RvdHlwZTsKCglwcm90by5fY3JlYXRlID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5pdGVtR1VJRCA9IDA7CgkJLy8gZnVuY3Rpb25zIHRoYXQgc29ydCBpdGVtcwoJCXRoaXMuX3NvcnRlcnMgPSB7fTsKCQl0aGlzLl9nZXRTb3J0ZXJzKCk7CgkJLy8gY2FsbCBzdXBlcgoJCU91dGxheWVyLnByb3RvdHlwZS5fY3JlYXRlLmNhbGwoIHRoaXMgKTsKCgkJLy8gY3JlYXRlIGxheW91dCBtb2RlcwoJCXRoaXMubW9kZXMgPSB7fTsKCQkvLyBzdGFydCBmaWx0ZXJlZEl0ZW1zIHdpdGggYWxsIGl0ZW1zCgkJdGhpcy5maWx0ZXJlZEl0ZW1zID0gdGhpcy5pdGVtczsKCQkvLyBrZWVwIG9mIHRyYWNrIG9mIHNvcnRCeXMKCQl0aGlzLnNvcnRIaXN0b3J5ID0gWyAnb3JpZ2luYWwtb3JkZXInIF07CgkJLy8gY3JlYXRlIGZyb20gcmVnaXN0ZXJlZCBsYXlvdXQgbW9kZXMKCQlmb3IgKCB2YXIgbmFtZSBpbiBMYXlvdXRNb2RlLm1vZGVzICkgewoJCQl0aGlzLl9pbml0TGF5b3V0TW9kZSggbmFtZSApOwoJCX0KCX07CgoJcHJvdG8ucmVsb2FkSXRlbXMgPSBmdW5jdGlvbigpIHsKCQkvLyByZXNldCBpdGVtIElEIGNvdW50ZXIKCQl0aGlzLml0ZW1HVUlEID0gMDsKCQkvLyBjYWxsIHN1cGVyCgkJT3V0bGF5ZXIucHJvdG90eXBlLnJlbG9hZEl0ZW1zLmNhbGwoIHRoaXMgKTsKCX07CgoJcHJvdG8uX2l0ZW1pemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgaXRlbXMgPSBPdXRsYXllci5wcm90b3R5cGUuX2l0ZW1pemUuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOwoJCS8vIGFzc2lnbiBJRCBmb3Igb3JpZ2luYWwtb3JkZXIKCQlmb3IgKCB2YXIgaT0wOyBpIDwgaXRlbXMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBpdGVtID0gaXRlbXNbaV07CgkJCWl0ZW0uaWQgPSB0aGlzLml0ZW1HVUlEKys7CgkJfQoJCXRoaXMuX3VwZGF0ZUl0ZW1zU29ydERhdGEoIGl0ZW1zICk7CgkJcmV0dXJuIGl0ZW1zOwoJfTsKCgoJLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbGF5b3V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJcHJvdG8uX2luaXRMYXlvdXRNb2RlID0gZnVuY3Rpb24oIG5hbWUgKSB7CgkJdmFyIE1vZGUgPSBMYXlvdXRNb2RlLm1vZGVzWyBuYW1lIF07CgkJLy8gc2V0IG1vZGUgb3B0aW9ucwoJCS8vIEhBQ0sgZXh0ZW5kIGluaXRpYWwgb3B0aW9ucywgYmFjay1maWxsIGluIGRlZmF1bHQgb3B0aW9ucwoJCXZhciBpbml0aWFsT3B0cyA9IHRoaXMub3B0aW9uc1sgbmFtZSBdIHx8IHt9OwoJCXRoaXMub3B0aW9uc1sgbmFtZSBdID0gTW9kZS5vcHRpb25zID8KCQkJdXRpbHMuZXh0ZW5kKCBNb2RlLm9wdGlvbnMsIGluaXRpYWxPcHRzICkgOiBpbml0aWFsT3B0czsKCQkvLyBpbml0IGxheW91dCBtb2RlIGluc3RhbmNlCgkJdGhpcy5tb2Rlc1sgbmFtZSBdID0gbmV3IE1vZGUoIHRoaXMgKTsKCX07CgoKCXByb3RvLmxheW91dCA9IGZ1bmN0aW9uKCkgewoJCS8vIGlmIGZpcnN0IHRpbWUgZG9pbmcgbGF5b3V0LCBkbyBhbGwgbWFnaWMKCQlpZiAoICF0aGlzLl9pc0xheW91dEluaXRlZCAmJiB0aGlzLl9nZXRPcHRpb24oJ2luaXRMYXlvdXQnKSApIHsKCQkJdGhpcy5hcnJhbmdlKCk7CgkJCXJldHVybjsKCQl9CgkJdGhpcy5fbGF5b3V0KCk7Cgl9OwoKCS8vIHByaXZhdGUgbWV0aG9kIHRvIGJlIHVzZWQgaW4gbGF5b3V0KCkgJiBtYWdpYygpCglwcm90by5fbGF5b3V0ID0gZnVuY3Rpb24oKSB7CgkJLy8gZG9uJ3QgYW5pbWF0ZSBmaXJzdCBsYXlvdXQKCQl2YXIgaXNJbnN0YW50ID0gdGhpcy5fZ2V0SXNJbnN0YW50KCk7CgkJLy8gbGF5b3V0IGZsb3cKCQl0aGlzLl9yZXNldExheW91dCgpOwoJCXRoaXMuX21hbmFnZVN0YW1wcygpOwoJCXRoaXMubGF5b3V0SXRlbXMoIHRoaXMuZmlsdGVyZWRJdGVtcywgaXNJbnN0YW50ICk7CgoJCS8vIGZsYWcgZm9yIGluaXRhbGl6ZWQKCQl0aGlzLl9pc0xheW91dEluaXRlZCA9IHRydWU7Cgl9OwoKCS8vIGZpbHRlciArIHNvcnQgKyBsYXlvdXQKCXByb3RvLmFycmFuZ2UgPSBmdW5jdGlvbiggb3B0cyApIHsKCQkvLyBzZXQgYW55IG9wdGlvbnMgcGFzcwoJCXRoaXMub3B0aW9uKCBvcHRzICk7CgkJdGhpcy5fZ2V0SXNJbnN0YW50KCk7CgkJLy8gZmlsdGVyLCBzb3J0LCBhbmQgbGF5b3V0CgoJCS8vIGZpbHRlcgoJCXZhciBmaWx0ZXJlZCA9IHRoaXMuX2ZpbHRlciggdGhpcy5pdGVtcyApOwoJCXRoaXMuZmlsdGVyZWRJdGVtcyA9IGZpbHRlcmVkLm1hdGNoZXM7CgoJCXRoaXMuX2JpbmRBcnJhbmdlQ29tcGxldGUoKTsKCgkJaWYgKCB0aGlzLl9pc0luc3RhbnQgKSB7CgkJCXRoaXMuX25vVHJhbnNpdGlvbiggdGhpcy5faGlkZVJldmVhbCwgWyBmaWx0ZXJlZCBdICk7CgkJfSBlbHNlIHsKCQkJdGhpcy5faGlkZVJldmVhbCggZmlsdGVyZWQgKTsKCQl9CgoJCXRoaXMuX3NvcnQoKTsKCQl0aGlzLl9sYXlvdXQoKTsKCX07CgkvLyBhbGlhcyB0byBfaW5pdCBmb3IgbWFpbiBwbHVnaW4gbWV0aG9kCglwcm90by5faW5pdCA9IHByb3RvLmFycmFuZ2U7CgoJcHJvdG8uX2hpZGVSZXZlYWwgPSBmdW5jdGlvbiggZmlsdGVyZWQgKSB7CgkJdGhpcy5yZXZlYWwoIGZpbHRlcmVkLm5lZWRSZXZlYWwgKTsKCQl0aGlzLmhpZGUoIGZpbHRlcmVkLm5lZWRIaWRlICk7Cgl9OwoKCS8vIEhBQ0sKCS8vIERvbid0IGFuaW1hdGUvdHJhbnNpdGlvbiBmaXJzdCBsYXlvdXQKCS8vIE9yIGRvbid0IGFuaW1hdGUvdHJhbnNpdGlvbiBvdGhlciBsYXlvdXRzCglwcm90by5fZ2V0SXNJbnN0YW50ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGlzTGF5b3V0SW5zdGFudCA9IHRoaXMuX2dldE9wdGlvbignbGF5b3V0SW5zdGFudCcpOwoJCXZhciBpc0luc3RhbnQgPSBpc0xheW91dEluc3RhbnQgIT09IHVuZGVmaW5lZCA/IGlzTGF5b3V0SW5zdGFudCA6CgkJCSF0aGlzLl9pc0xheW91dEluaXRlZDsKCQl0aGlzLl9pc0luc3RhbnQgPSBpc0luc3RhbnQ7CgkJcmV0dXJuIGlzSW5zdGFudDsKCX07CgoJLy8gbGlzdGVuIGZvciBsYXlvdXRDb21wbGV0ZSwgaGlkZUNvbXBsZXRlIGFuZCByZXZlYWxDb21wbGV0ZQoJLy8gdG8gdHJpZ2dlciBhcnJhbmdlQ29tcGxldGUKCXByb3RvLl9iaW5kQXJyYW5nZUNvbXBsZXRlID0gZnVuY3Rpb24oKSB7CgkJLy8gbGlzdGVuIGZvciAzIGV2ZW50cyB0byB0cmlnZ2VyIGFycmFuZ2VDb21wbGV0ZQoJCXZhciBpc0xheW91dENvbXBsZXRlLCBpc0hpZGVDb21wbGV0ZSwgaXNSZXZlYWxDb21wbGV0ZTsKCQl2YXIgX3RoaXMgPSB0aGlzOwoJCWZ1bmN0aW9uIGFycmFuZ2VQYXJhbGxlbENhbGxiYWNrKCkgewoJCQlpZiAoIGlzTGF5b3V0Q29tcGxldGUgJiYgaXNIaWRlQ29tcGxldGUgJiYgaXNSZXZlYWxDb21wbGV0ZSApIHsKCQkJCV90aGlzLmRpc3BhdGNoRXZlbnQoICdhcnJhbmdlQ29tcGxldGUnLCBudWxsLCBbIF90aGlzLmZpbHRlcmVkSXRlbXMgXSApOwoJCQl9CgkJfQoJCXRoaXMub25jZSggJ2xheW91dENvbXBsZXRlJywgZnVuY3Rpb24oKSB7CgkJCWlzTGF5b3V0Q29tcGxldGUgPSB0cnVlOwoJCQlhcnJhbmdlUGFyYWxsZWxDYWxsYmFjaygpOwoJCX0pOwoJCXRoaXMub25jZSggJ2hpZGVDb21wbGV0ZScsIGZ1bmN0aW9uKCkgewoJCQlpc0hpZGVDb21wbGV0ZSA9IHRydWU7CgkJCWFycmFuZ2VQYXJhbGxlbENhbGxiYWNrKCk7CgkJfSk7CgkJdGhpcy5vbmNlKCAncmV2ZWFsQ29tcGxldGUnLCBmdW5jdGlvbigpIHsKCQkJaXNSZXZlYWxDb21wbGV0ZSA9IHRydWU7CgkJCWFycmFuZ2VQYXJhbGxlbENhbGxiYWNrKCk7CgkJfSk7Cgl9OwoKCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGZpbHRlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwoKCXByb3RvLl9maWx0ZXIgPSBmdW5jdGlvbiggaXRlbXMgKSB7CgkJdmFyIGZpbHRlciA9IHRoaXMub3B0aW9ucy5maWx0ZXI7CgkJZmlsdGVyID0gZmlsdGVyIHx8ICcqJzsKCQl2YXIgbWF0Y2hlcyA9IFtdOwoJCXZhciBoaWRkZW5NYXRjaGVkID0gW107CgkJdmFyIHZpc2libGVVbm1hdGNoZWQgPSBbXTsKCgkJdmFyIHRlc3QgPSB0aGlzLl9nZXRGaWx0ZXJUZXN0KCBmaWx0ZXIgKTsKCgkJLy8gdGVzdCBlYWNoIGl0ZW0KCQlmb3IgKCB2YXIgaT0wOyBpIDwgaXRlbXMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBpdGVtID0gaXRlbXNbaV07CgkJCWlmICggaXRlbS5pc0lnbm9yZWQgKSB7CgkJCQljb250aW51ZTsKCQkJfQoJCQkvLyBhZGQgaXRlbSB0byBlaXRoZXIgbWF0Y2hlZCBvciB1bm1hdGNoZWQgZ3JvdXAKCQkJdmFyIGlzTWF0Y2hlZCA9IHRlc3QoIGl0ZW0gKTsKCQkJLy8gaXRlbS5pc0ZpbHRlck1hdGNoZWQgPSBpc01hdGNoZWQ7CgkJCS8vIGFkZCB0byBtYXRjaGVzIGlmIGl0cyBhIG1hdGNoCgkJCWlmICggaXNNYXRjaGVkICkgewoJCQkJbWF0Y2hlcy5wdXNoKCBpdGVtICk7CgkJCX0KCQkJLy8gYWRkIHRvIGFkZGl0aW9uYWwgZ3JvdXAgaWYgaXRlbSBuZWVkcyB0byBiZSBoaWRkZW4gb3IgcmV2ZWFsZWQKCQkJaWYgKCBpc01hdGNoZWQgJiYgaXRlbS5pc0hpZGRlbiApIHsKCQkJCWhpZGRlbk1hdGNoZWQucHVzaCggaXRlbSApOwoJCQl9IGVsc2UgaWYgKCAhaXNNYXRjaGVkICYmICFpdGVtLmlzSGlkZGVuICkgewoJCQkJdmlzaWJsZVVubWF0Y2hlZC5wdXNoKCBpdGVtICk7CgkJCX0KCQl9CgoJCS8vIHJldHVybiBjb2xsZWN0aW9ucyBvZiBpdGVtcyB0byBiZSBtYW5pcHVsYXRlZAoJCXJldHVybiB7CgkJCW1hdGNoZXM6IG1hdGNoZXMsCgkJCW5lZWRSZXZlYWw6IGhpZGRlbk1hdGNoZWQsCgkJCW5lZWRIaWRlOiB2aXNpYmxlVW5tYXRjaGVkCgkJfTsKCX07CgoJLy8gZ2V0IGEgalF1ZXJ5LCBmdW5jdGlvbiwgb3IgYSBtYXRjaGVzU2VsZWN0b3IgdGVzdCBnaXZlbiB0aGUgZmlsdGVyCglwcm90by5fZ2V0RmlsdGVyVGVzdCA9IGZ1bmN0aW9uKCBmaWx0ZXIgKSB7CgkJaWYgKCBqUXVlcnkgJiYgdGhpcy5vcHRpb25zLmlzSlF1ZXJ5RmlsdGVyaW5nICkgewoJCQkvLyB1c2UgalF1ZXJ5CgkJCXJldHVybiBmdW5jdGlvbiggaXRlbSApIHsKCQkJCXJldHVybiBqUXVlcnkoIGl0ZW0uZWxlbWVudCApLmlzKCBmaWx0ZXIgKTsKCQkJfTsKCQl9CgkJaWYgKCB0eXBlb2YgZmlsdGVyID09ICdmdW5jdGlvbicgKSB7CgkJCS8vIHVzZSBmaWx0ZXIgYXMgZnVuY3Rpb24KCQkJcmV0dXJuIGZ1bmN0aW9uKCBpdGVtICkgewoJCQkJcmV0dXJuIGZpbHRlciggaXRlbS5lbGVtZW50ICk7CgkJCX07CgkJfQoJCS8vIGRlZmF1bHQsIHVzZSBmaWx0ZXIgYXMgc2VsZWN0b3Igc3RyaW5nCgkJcmV0dXJuIGZ1bmN0aW9uKCBpdGVtICkgewoJCQlyZXR1cm4gbWF0Y2hlc1NlbGVjdG9yKCBpdGVtLmVsZW1lbnQsIGZpbHRlciApOwoJCX07Cgl9OwoKCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHNvcnRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy8KCgkvKioKCSAqIEBwYXJhbXMge0FycmF5fSBlbGVtcwoJICogQHB1YmxpYwoJICovCglwcm90by51cGRhdGVTb3J0RGF0YSA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQkvLyBnZXQgaXRlbXMKCQl2YXIgaXRlbXM7CgkJaWYgKCBlbGVtcyApIHsKCQkJZWxlbXMgPSB1dGlscy5tYWtlQXJyYXkoIGVsZW1zICk7CgkJCWl0ZW1zID0gdGhpcy5nZXRJdGVtcyggZWxlbXMgKTsKCQl9IGVsc2UgewoJCQkvLyB1cGRhdGUgYWxsIGl0ZW1zIGlmIG5vIGVsZW1zIHByb3ZpZGVkCgkJCWl0ZW1zID0gdGhpcy5pdGVtczsKCQl9CgoJCXRoaXMuX2dldFNvcnRlcnMoKTsKCQl0aGlzLl91cGRhdGVJdGVtc1NvcnREYXRhKCBpdGVtcyApOwoJfTsKCglwcm90by5fZ2V0U29ydGVycyA9IGZ1bmN0aW9uKCkgewoJCXZhciBnZXRTb3J0RGF0YSA9IHRoaXMub3B0aW9ucy5nZXRTb3J0RGF0YTsKCQlmb3IgKCB2YXIga2V5IGluIGdldFNvcnREYXRhICkgewoJCQl2YXIgc29ydGVyID0gZ2V0U29ydERhdGFbIGtleSBdOwoJCQl0aGlzLl9zb3J0ZXJzWyBrZXkgXSA9IG11bmdlU29ydGVyKCBzb3J0ZXIgKTsKCQl9Cgl9OwoKCS8qKgoJICogQHBhcmFtcyB7QXJyYXl9IGl0ZW1zIC0gb2YgSXNvdG9wZS5JdGVtcwoJICogQHByaXZhdGUKCSAqLwoJcHJvdG8uX3VwZGF0ZUl0ZW1zU29ydERhdGEgPSBmdW5jdGlvbiggaXRlbXMgKSB7CgkJLy8gZG8gbm90IHVwZGF0ZSBpZiBubyBpdGVtcwoJCXZhciBsZW4gPSBpdGVtcyAmJiBpdGVtcy5sZW5ndGg7CgoJCWZvciAoIHZhciBpPTA7IGxlbiAmJiBpIDwgbGVuOyBpKysgKSB7CgkJCXZhciBpdGVtID0gaXRlbXNbaV07CgkJCWl0ZW0udXBkYXRlU29ydERhdGEoKTsKCQl9Cgl9OwoKCS8vIC0tLS0tIG11bmdlIHNvcnRlciAtLS0tLSAvLwoKCS8vIGVuY2Fwc3VsYXRlIHRoaXMsIGFzIHdlIGp1c3QgbmVlZCBtdW5nZVNvcnRlcgoJLy8gb3RoZXIgZnVuY3Rpb25zIGluIGhlcmUgYXJlIGp1c3QgZm9yIG11bmdpbmcKCXZhciBtdW5nZVNvcnRlciA9ICggZnVuY3Rpb24oKSB7CgkJLy8gYWRkIGEgbWFnaWMgbGF5ZXIgdG8gc29ydGVycyBmb3IgY29udmllbmVudCBzaG9ydGhhbmRzCgkJLy8gYC5mb28tYmFyYCB3aWxsIHVzZSB0aGUgdGV4dCBvZiAuZm9vLWJhciBxdWVyeVNlbGVjdG9yCgkJLy8gYFtmb28tYmFyXWAgd2lsbCB1c2UgYXR0cmlidXRlCgkJLy8geW91IGNhbiBhbHNvIGFkZCBwYXJzZXIKCQkvLyBgLmZvby1iYXIgcGFyc2VJbnRgIHdpbGwgcGFyc2UgdGhhdCBhcyBhIG51bWJlcgoJCWZ1bmN0aW9uIG11bmdlU29ydGVyKCBzb3J0ZXIgKSB7CgkJCS8vIGlmIG5vdCBhIHN0cmluZywgcmV0dXJuIGZ1bmN0aW9uIG9yIHdoYXRldmVyIGl0IGlzCgkJCWlmICggdHlwZW9mIHNvcnRlciAhPSAnc3RyaW5nJyApIHsKCQkJCXJldHVybiBzb3J0ZXI7CgkJCX0KCQkJLy8gcGFyc2UgdGhlIHNvcnRlciBzdHJpbmcKCQkJdmFyIGFyZ3MgPSB0cmltKCBzb3J0ZXIgKS5zcGxpdCgnICcpOwoJCQl2YXIgcXVlcnkgPSBhcmdzWzBdOwoJCQkvLyBjaGVjayBpZiBxdWVyeSBsb29rcyBsaWtlIFthbi1hdHRyaWJ1dGVdCgkJCXZhciBhdHRyTWF0Y2ggPSBxdWVyeS5tYXRjaCggL15cWyguKylcXSQvICk7CgkJCXZhciBhdHRyID0gYXR0ck1hdGNoICYmIGF0dHJNYXRjaFsxXTsKCQkJdmFyIGdldFZhbHVlID0gZ2V0VmFsdWVHZXR0ZXIoIGF0dHIsIHF1ZXJ5ICk7CgkJCS8vIHVzZSBzZWNvbmQgYXJndW1lbnQgYXMgYSBwYXJzZXIKCQkJdmFyIHBhcnNlciA9IElzb3RvcGUuc29ydERhdGFQYXJzZXJzWyBhcmdzWzFdIF07CgkJCS8vIHBhcnNlIHRoZSB2YWx1ZSwgaWYgdGhlcmUgd2FzIGEgcGFyc2VyCgkJCXNvcnRlciA9IHBhcnNlciA/IGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCXJldHVybiBlbGVtICYmIHBhcnNlciggZ2V0VmFsdWUoIGVsZW0gKSApOwoJCQkJfSA6CgkJCQkvLyBvdGhlcndpc2UganVzdCByZXR1cm4gdmFsdWUKCQkJCWZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCXJldHVybiBlbGVtICYmIGdldFZhbHVlKCBlbGVtICk7CgkJCQl9OwoKCQkJcmV0dXJuIHNvcnRlcjsKCQl9CgoJCS8vIGdldCBhbiBhdHRyaWJ1dGUgZ2V0dGVyLCBvciBnZXQgdGV4dCBvZiB0aGUgcXVlcnlTZWxlY3RvcgoJCWZ1bmN0aW9uIGdldFZhbHVlR2V0dGVyKCBhdHRyLCBxdWVyeSApIHsKCQkJLy8gaWYgcXVlcnkgbG9va3MgbGlrZSBbZm9vLWJhcl0sIGdldCBhdHRyaWJ1dGUKCQkJaWYgKCBhdHRyICkgewoJCQkJcmV0dXJuIGZ1bmN0aW9uIGdldEF0dHJpYnV0ZSggZWxlbSApIHsKCQkJCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoIGF0dHIgKTsKCQkJCX07CgkJCX0KCgkJCS8vIG90aGVyd2lzZSwgYXNzdW1lIGl0cyBhIHF1ZXJ5U2VsZWN0b3IsIGFuZCBnZXQgaXRzIHRleHQKCQkJcmV0dXJuIGZ1bmN0aW9uIGdldENoaWxkVGV4dCggZWxlbSApIHsKCQkJCXZhciBjaGlsZCA9IGVsZW0ucXVlcnlTZWxlY3RvciggcXVlcnkgKTsKCQkJCXJldHVybiBjaGlsZCAmJiBjaGlsZC50ZXh0Q29udGVudDsKCQkJfTsKCQl9CgoJCXJldHVybiBtdW5nZVNvcnRlcjsKCX0pKCk7CgoJLy8gcGFyc2VycyB1c2VkIGluIGdldFNvcnREYXRhIHNob3J0Y3V0IHN0cmluZ3MKCUlzb3RvcGUuc29ydERhdGFQYXJzZXJzID0gewoJCSdwYXJzZUludCc6IGZ1bmN0aW9uKCB2YWwgKSB7CgkJCXJldHVybiBwYXJzZUludCggdmFsLCAxMCApOwoJCX0sCgkJJ3BhcnNlRmxvYXQnOiBmdW5jdGlvbiggdmFsICkgewoJCQlyZXR1cm4gcGFyc2VGbG9hdCggdmFsICk7CgkJfQoJfTsKCgkvLyAtLS0tLSBzb3J0IG1ldGhvZCAtLS0tLSAvLwoKCS8vIHNvcnQgZmlsdGVyZWRJdGVtIG9yZGVyCglwcm90by5fc29ydCA9IGZ1bmN0aW9uKCkgewoJCWlmICggIXRoaXMub3B0aW9ucy5zb3J0QnkgKSB7CgkJCXJldHVybjsKCQl9CgkJLy8ga2VlcCB0cmFjayBvZiBzb3J0QnkgSGlzdG9yeQoJCXZhciBzb3J0QnlzID0gdXRpbHMubWFrZUFycmF5KCB0aGlzLm9wdGlvbnMuc29ydEJ5ICk7CgkJaWYgKCAhdGhpcy5fZ2V0SXNTYW1lU29ydEJ5KCBzb3J0QnlzICkgKSB7CgkJCS8vIGNvbmNhdCBhbGwgc29ydEJ5IGFuZCBzb3J0SGlzdG9yeSwgYWRkIHRvIGZyb250LCBvbGRlc3QgZ29lcyBpbiBsYXN0CgkJCXRoaXMuc29ydEhpc3RvcnkgPSBzb3J0QnlzLmNvbmNhdCggdGhpcy5zb3J0SGlzdG9yeSApOwoJCX0KCQkvLyBzb3J0IG1hZ2ljCgkJdmFyIGl0ZW1Tb3J0ZXIgPSBnZXRJdGVtU29ydGVyKCB0aGlzLnNvcnRIaXN0b3J5LCB0aGlzLm9wdGlvbnMuc29ydEFzY2VuZGluZyApOwoJCXRoaXMuZmlsdGVyZWRJdGVtcy5zb3J0KCBpdGVtU29ydGVyICk7Cgl9OwoKCS8vIGNoZWNrIGlmIHNvcnRCeXMgaXMgc2FtZSBhcyBzdGFydCBvZiBzb3J0SGlzdG9yeQoJcHJvdG8uX2dldElzU2FtZVNvcnRCeSA9IGZ1bmN0aW9uKCBzb3J0QnlzICkgewoJCWZvciAoIHZhciBpPTA7IGkgPCBzb3J0QnlzLmxlbmd0aDsgaSsrICkgewoJCQlpZiAoIHNvcnRCeXNbaV0gIT0gdGhpcy5zb3J0SGlzdG9yeVtpXSApIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX07CgoJLy8gcmV0dXJucyBhIGZ1bmN0aW9uIHVzZWQgZm9yIHNvcnRpbmcKCWZ1bmN0aW9uIGdldEl0ZW1Tb3J0ZXIoIHNvcnRCeXMsIHNvcnRBc2MgKSB7CgkJcmV0dXJuIGZ1bmN0aW9uIHNvcnRlciggaXRlbUEsIGl0ZW1CICkgewoJCQkvLyBjeWNsZSB0aHJvdWdoIGFsbCBzb3J0S2V5cwoJCQlmb3IgKCB2YXIgaSA9IDA7IGkgPCBzb3J0QnlzLmxlbmd0aDsgaSsrICkgewoJCQkJdmFyIHNvcnRCeSA9IHNvcnRCeXNbaV07CgkJCQl2YXIgYSA9IGl0ZW1BLnNvcnREYXRhWyBzb3J0QnkgXTsKCQkJCXZhciBiID0gaXRlbUIuc29ydERhdGFbIHNvcnRCeSBdOwoJCQkJaWYgKCBhID4gYiB8fCBhIDwgYiApIHsKCQkJCQkvLyBpZiBzb3J0QXNjIGlzIGFuIG9iamVjdCwgdXNlIHRoZSB2YWx1ZSBnaXZlbiB0aGUgc29ydEJ5IGtleQoJCQkJCXZhciBpc0FzY2VuZGluZyA9IHNvcnRBc2NbIHNvcnRCeSBdICE9PSB1bmRlZmluZWQgPyBzb3J0QXNjWyBzb3J0QnkgXSA6IHNvcnRBc2M7CgkJCQkJdmFyIGRpcmVjdGlvbiA9IGlzQXNjZW5kaW5nID8gMSA6IC0xOwoJCQkJCXJldHVybiAoIGEgPiBiID8gMSA6IC0xICkgKiBkaXJlY3Rpb247CgkJCQl9CgkJCX0KCQkJcmV0dXJuIDA7CgkJfTsKCX0KCgkvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLy8gZ2V0IGxheW91dCBtb2RlCglwcm90by5fbW9kZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBsYXlvdXRNb2RlID0gdGhpcy5vcHRpb25zLmxheW91dE1vZGU7CgkJdmFyIG1vZGUgPSB0aGlzLm1vZGVzWyBsYXlvdXRNb2RlIF07CgkJaWYgKCAhbW9kZSApIHsKCQkJLy8gVE9ETyBjb25zb2xlLmVycm9yCgkJCXRocm93IG5ldyBFcnJvciggJ05vIGxheW91dCBtb2RlOiAnICsgbGF5b3V0TW9kZSApOwoJCX0KCQkvLyBIQUNLIHN5bmMgbW9kZSdzIG9wdGlvbnMKCQkvLyBhbnkgb3B0aW9ucyBzZXQgYWZ0ZXIgaW5pdCBmb3IgbGF5b3V0IG1vZGUgbmVlZCB0byBiZSBzeW5jZWQKCQltb2RlLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnNbIGxheW91dE1vZGUgXTsKCQlyZXR1cm4gbW9kZTsKCX07CgoJcHJvdG8uX3Jlc2V0TGF5b3V0ID0gZnVuY3Rpb24oKSB7CgkJLy8gdHJpZ2dlciBvcmlnaW5hbCByZXNldCBsYXlvdXQKCQlPdXRsYXllci5wcm90b3R5cGUuX3Jlc2V0TGF5b3V0LmNhbGwoIHRoaXMgKTsKCQl0aGlzLl9tb2RlKCkuX3Jlc2V0TGF5b3V0KCk7Cgl9OwoKCXByb3RvLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24gPSBmdW5jdGlvbiggaXRlbSAgKSB7CgkJcmV0dXJuIHRoaXMuX21vZGUoKS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uKCBpdGVtICk7Cgl9OwoKCXByb3RvLl9tYW5hZ2VTdGFtcCA9IGZ1bmN0aW9uKCBzdGFtcCApIHsKCQl0aGlzLl9tb2RlKCkuX21hbmFnZVN0YW1wKCBzdGFtcCApOwoJfTsKCglwcm90by5fZ2V0Q29udGFpbmVyU2l6ZSA9IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLl9tb2RlKCkuX2dldENvbnRhaW5lclNpemUoKTsKCX07CgoJcHJvdG8ubmVlZHNSZXNpemVMYXlvdXQgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5fbW9kZSgpLm5lZWRzUmVzaXplTGF5b3V0KCk7Cgl9OwoKCS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGFkZGluZyAmIHJlbW92aW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCgoJLy8gSEVBRFMgVVAgb3ZlcndyaXRlcyBkZWZhdWx0IE91dGxheWVyIGFwcGVuZGVkCglwcm90by5hcHBlbmRlZCA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQl2YXIgaXRlbXMgPSB0aGlzLmFkZEl0ZW1zKCBlbGVtcyApOwoJCWlmICggIWl0ZW1zLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCQkvLyBmaWx0ZXIsIGxheW91dCwgcmV2ZWFsIG5ldyBpdGVtcwoJCXZhciBmaWx0ZXJlZEl0ZW1zID0gdGhpcy5fZmlsdGVyUmV2ZWFsQWRkZWQoIGl0ZW1zICk7CgkJLy8gYWRkIHRvIGZpbHRlcmVkSXRlbXMKCQl0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmZpbHRlcmVkSXRlbXMuY29uY2F0KCBmaWx0ZXJlZEl0ZW1zICk7Cgl9OwoKCS8vIEhFQURTIFVQIG92ZXJ3cml0ZXMgZGVmYXVsdCBPdXRsYXllciBwcmVwZW5kZWQKCXByb3RvLnByZXBlbmRlZCA9IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQl2YXIgaXRlbXMgPSB0aGlzLl9pdGVtaXplKCBlbGVtcyApOwoJCWlmICggIWl0ZW1zLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCQkvLyBzdGFydCBuZXcgbGF5b3V0CgkJdGhpcy5fcmVzZXRMYXlvdXQoKTsKCQl0aGlzLl9tYW5hZ2VTdGFtcHMoKTsKCQkvLyBmaWx0ZXIsIGxheW91dCwgcmV2ZWFsIG5ldyBpdGVtcwoJCXZhciBmaWx0ZXJlZEl0ZW1zID0gdGhpcy5fZmlsdGVyUmV2ZWFsQWRkZWQoIGl0ZW1zICk7CgkJLy8gbGF5b3V0IHByZXZpb3VzIGl0ZW1zCgkJdGhpcy5sYXlvdXRJdGVtcyggdGhpcy5maWx0ZXJlZEl0ZW1zICk7CgkJLy8gYWRkIHRvIGl0ZW1zIGFuZCBmaWx0ZXJlZEl0ZW1zCgkJdGhpcy5maWx0ZXJlZEl0ZW1zID0gZmlsdGVyZWRJdGVtcy5jb25jYXQoIHRoaXMuZmlsdGVyZWRJdGVtcyApOwoJCXRoaXMuaXRlbXMgPSBpdGVtcy5jb25jYXQoIHRoaXMuaXRlbXMgKTsKCX07CgoJcHJvdG8uX2ZpbHRlclJldmVhbEFkZGVkID0gZnVuY3Rpb24oIGl0ZW1zICkgewoJCXZhciBmaWx0ZXJlZCA9IHRoaXMuX2ZpbHRlciggaXRlbXMgKTsKCQl0aGlzLmhpZGUoIGZpbHRlcmVkLm5lZWRIaWRlICk7CgkJLy8gcmV2ZWFsIGFsbCBuZXcgaXRlbXMKCQl0aGlzLnJldmVhbCggZmlsdGVyZWQubWF0Y2hlcyApOwoJCS8vIGxheW91dCBuZXcgaXRlbXMsIG5vIHRyYW5zaXRpb24KCQl0aGlzLmxheW91dEl0ZW1zKCBmaWx0ZXJlZC5tYXRjaGVzLCB0cnVlICk7CgkJcmV0dXJuIGZpbHRlcmVkLm1hdGNoZXM7Cgl9OwoKCS8qKgoJICogRmlsdGVyLCBzb3J0LCBhbmQgbGF5b3V0IG5ld2x5LWFwcGVuZGVkIGl0ZW0gZWxlbWVudHMKCSAqIEBwYXJhbSB7QXJyYXkgb3IgTm9kZUxpc3Qgb3IgRWxlbWVudH0gZWxlbXMKCSAqLwoJcHJvdG8uaW5zZXJ0ID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCXZhciBpdGVtcyA9IHRoaXMuYWRkSXRlbXMoIGVsZW1zICk7CgkJaWYgKCAhaXRlbXMubGVuZ3RoICkgewoJCQlyZXR1cm47CgkJfQoJCS8vIGFwcGVuZCBpdGVtIGVsZW1lbnRzCgkJdmFyIGksIGl0ZW07CgkJdmFyIGxlbiA9IGl0ZW1zLmxlbmd0aDsKCQlmb3IgKCBpPTA7IGkgPCBsZW47IGkrKyApIHsKCQkJaXRlbSA9IGl0ZW1zW2ldOwoJCQl0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoIGl0ZW0uZWxlbWVudCApOwoJCX0KCQkvLyBmaWx0ZXIgbmV3IHN0dWZmCgkJdmFyIGZpbHRlcmVkSW5zZXJ0SXRlbXMgPSB0aGlzLl9maWx0ZXIoIGl0ZW1zICkubWF0Y2hlczsKCQkvLyBzZXQgZmxhZwoJCWZvciAoIGk9MDsgaSA8IGxlbjsgaSsrICkgewoJCQlpdGVtc1tpXS5pc0xheW91dEluc3RhbnQgPSB0cnVlOwoJCX0KCQl0aGlzLmFycmFuZ2UoKTsKCQkvLyByZXNldCBmbGFnCgkJZm9yICggaT0wOyBpIDwgbGVuOyBpKysgKSB7CgkJCWRlbGV0ZSBpdGVtc1tpXS5pc0xheW91dEluc3RhbnQ7CgkJfQoJCXRoaXMucmV2ZWFsKCBmaWx0ZXJlZEluc2VydEl0ZW1zICk7Cgl9OwoKCXZhciBfcmVtb3ZlID0gcHJvdG8ucmVtb3ZlOwoJcHJvdG8ucmVtb3ZlID0gZnVuY3Rpb24oIGVsZW1zICkgewoJCWVsZW1zID0gdXRpbHMubWFrZUFycmF5KCBlbGVtcyApOwoJCXZhciByZW1vdmVJdGVtcyA9IHRoaXMuZ2V0SXRlbXMoIGVsZW1zICk7CgkJLy8gZG8gcmVndWxhciB0aGluZwoJCV9yZW1vdmUuY2FsbCggdGhpcywgZWxlbXMgKTsKCQkvLyBiYWlsIGlmIG5vIGl0ZW1zIHRvIHJlbW92ZQoJCXZhciBsZW4gPSByZW1vdmVJdGVtcyAmJiByZW1vdmVJdGVtcy5sZW5ndGg7CgkJLy8gcmVtb3ZlIGVsZW1zIGZyb20gZmlsdGVyZWRJdGVtcwoJCWZvciAoIHZhciBpPTA7IGxlbiAmJiBpIDwgbGVuOyBpKysgKSB7CgkJCXZhciBpdGVtID0gcmVtb3ZlSXRlbXNbaV07CgkJCS8vIHJlbW92ZSBpdGVtIGZyb20gY29sbGVjdGlvbgoJCQl1dGlscy5yZW1vdmVGcm9tKCB0aGlzLmZpbHRlcmVkSXRlbXMsIGl0ZW0gKTsKCQl9Cgl9OwoKCXByb3RvLnNodWZmbGUgPSBmdW5jdGlvbigpIHsKCQkvLyB1cGRhdGUgcmFuZG9tIHNvcnREYXRhCgkJZm9yICggdmFyIGk9MDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpKysgKSB7CgkJCXZhciBpdGVtID0gdGhpcy5pdGVtc1tpXTsKCQkJaXRlbS5zb3J0RGF0YS5yYW5kb20gPSBNYXRoLnJhbmRvbSgpOwoJCX0KCQl0aGlzLm9wdGlvbnMuc29ydEJ5ID0gJ3JhbmRvbSc7CgkJdGhpcy5fc29ydCgpOwoJCXRoaXMuX2xheW91dCgpOwoJfTsKCgkvKioKCSAqIHRyaWdnZXIgZm4gd2l0aG91dCB0cmFuc2l0aW9uCgkgKiBraW5kIG9mIGhhY2t5IHRvIGhhdmUgdGhpcyBpbiB0aGUgZmlyc3QgcGxhY2UKCSAqIEBwYXJhbSB7RnVuY3Rpb259IGZuCgkgKiBAcGFyYW0ge0FycmF5fSBhcmdzCgkgKiBAcmV0dXJucyByZXQKCSAqIEBwcml2YXRlCgkgKi8KCXByb3RvLl9ub1RyYW5zaXRpb24gPSBmdW5jdGlvbiggZm4sIGFyZ3MgKSB7CgkJLy8gc2F2ZSB0cmFuc2l0aW9uRHVyYXRpb24gYmVmb3JlIGRpc2FibGluZwoJCXZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSB0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uOwoJCS8vIGRpc2FibGUgdHJhbnNpdGlvbgoJCXRoaXMub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb24gPSAwOwoJCS8vIGRvIGl0CgkJdmFyIHJldHVyblZhbHVlID0gZm4uYXBwbHkoIHRoaXMsIGFyZ3MgKTsKCQkvLyByZS1lbmFibGUgdHJhbnNpdGlvbiBmb3IgcmV2ZWFsCgkJdGhpcy5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbiA9IHRyYW5zaXRpb25EdXJhdGlvbjsKCQlyZXR1cm4gcmV0dXJuVmFsdWU7Cgl9OwoKCS8vIC0tLS0tIGhlbHBlciBtZXRob2RzIC0tLS0tIC8vCgoJLyoqCgkgKiBnZXR0ZXIgbWV0aG9kIGZvciBnZXR0aW5nIGZpbHRlcmVkIGl0ZW0gZWxlbWVudHMKCSAqIEByZXR1cm5zIHtBcnJheX0gZWxlbXMgLSBjb2xsZWN0aW9uIG9mIGl0ZW0gZWxlbWVudHMKCSAqLwoJcHJvdG8uZ2V0RmlsdGVyZWRJdGVtRWxlbWVudHMgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5maWx0ZXJlZEl0ZW1zLm1hcCggZnVuY3Rpb24oIGl0ZW0gKSB7CgkJCXJldHVybiBpdGVtLmVsZW1lbnQ7CgkJfSk7Cgl9OwoKCS8vIC0tLS0tICAtLS0tLSAvLwoKCXJldHVybiBJc290b3BlOwoKfSkpOwo="}},"time_used":83,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":37,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.824Z","timestamp":1785139583824,"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-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 08:06:23 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: 4cc628ea60040149e63e9dcb1bafe3aa\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-28T06:17:53.444639Z","times_seen":386,"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":"nanoquantumstellarsledger.com/frontcss/assets/waypoints.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.020Z","timestamp":1785139582020,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/waypoints.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3404\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":16377,"size_decoded":3641,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"ea99136bb818a6c715a801654950052f","sha1":"94bb9b001e11b431fb499f5c23e13db84b60effe","sha256":"a384f1ae6cc0348ea4e77d9901b8db511f8e5591b4c62f9904d80567df49bcd5","sha512":"fc30299a75820a8efca4ccf9a5c9d00348f289553ac99d109dcda33d8fd5acc5febf36145b8597274cafa092ef47415504b140ac3e7a36211cc39f0defbeb106","ssdeep":"384:m0xk9eOKtJNsm77nTRYOKlDwslVys/sW1Fu89ttwJ5+0:dkg9F+V1I89tKJ5+0","tlshash":"fd720188af9f60165f9a21adfc5f56ce623e407594d840bfb4e4d5d808e203a1f7ae34","first_seen":"2025-11-23T04:10:48.01935Z","last_seen":"2026-07-27T09:11:27.370014Z","times_seen":7,"resource_available":true,"data":"LyohCldheXBvaW50cyAtIDQuMC4wCkNvcHlyaWdodCDDgsKpIDIwMTEtMjAxNSBDYWxlYiBUcm91Z2h0b24KTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLgpodHRwczovL2dpdGh1Yi5jb20vaW1ha2V3ZWJ0aGluZ3Mvd2F5cG9pbnRzL2Jsb2cvbWFzdGVyL2xpY2Vuc2VzLnR4dAoqLwooZnVuY3Rpb24oKSB7CgkndXNlIHN0cmljdCcKCgl2YXIga2V5Q291bnRlciA9IDAKCXZhciBhbGxXYXlwb2ludHMgPSB7fQoKCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS93YXlwb2ludCAqLwoJZnVuY3Rpb24gV2F5cG9pbnQob3B0aW9ucykgewoJCWlmICghb3B0aW9ucykgewoJCQl0aHJvdyBuZXcgRXJyb3IoJ05vIG9wdGlvbnMgcGFzc2VkIHRvIFdheXBvaW50IGNvbnN0cnVjdG9yJykKCQl9CgkJaWYgKCFvcHRpb25zLmVsZW1lbnQpIHsKCQkJdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IG9wdGlvbiBwYXNzZWQgdG8gV2F5cG9pbnQgY29uc3RydWN0b3InKQoJCX0KCQlpZiAoIW9wdGlvbnMuaGFuZGxlcikgewoJCQl0aHJvdyBuZXcgRXJyb3IoJ05vIGhhbmRsZXIgb3B0aW9uIHBhc3NlZCB0byBXYXlwb2ludCBjb25zdHJ1Y3RvcicpCgkJfQoKCQl0aGlzLmtleSA9ICd3YXlwb2ludC0nICsga2V5Q291bnRlcgoJCXRoaXMub3B0aW9ucyA9IFdheXBvaW50LkFkYXB0ZXIuZXh0ZW5kKHt9LCBXYXlwb2ludC5kZWZhdWx0cywgb3B0aW9ucykKCQl0aGlzLmVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuZWxlbWVudAoJCXRoaXMuYWRhcHRlciA9IG5ldyBXYXlwb2ludC5BZGFwdGVyKHRoaXMuZWxlbWVudCkKCQl0aGlzLmNhbGxiYWNrID0gb3B0aW9ucy5oYW5kbGVyCgkJdGhpcy5heGlzID0gdGhpcy5vcHRpb25zLmhvcml6b250YWwgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnCgkJdGhpcy5lbmFibGVkID0gdGhpcy5vcHRpb25zLmVuYWJsZWQKCQl0aGlzLnRyaWdnZXJQb2ludCA9IG51bGwKCQl0aGlzLmdyb3VwID0gV2F5cG9pLkdyb3VwLmZpbmRPckNyZWF0ZSh7CgkJCW5hbWU6IHRoaXMub3B0aW9ucy5ncm91cCwKCQkJYXhpczogdGhpcy5heGlzCgkJfSkKCQl0aGlzLmNvbnRleHQgPSBXYXlwb2ludC5Db250ZXh0LmZpbmRPckNyZWF0ZUJ5RWxlbWVudCh0aGlzLm9wdGlvbnMuY29udGV4dCkKCgkJaWYgKFdheXBvaW50Lm9mZnNldEFsaWFzZXNbdGhpcy5vcHRpb25zLm9mZnNldF0pIHsKCQkJdGhpcy5vcHRpb25zLm9mZnNldCA9IFdheXBvaW50Lm9mZnNldEFsaWFzZXNbdGhpcy5vcHRpb25zLm9mZnNldF0KCQl9CgkJdGhpcy5ncm91cC5hZGQodGhpcykKCQl0aGlzLmNvbnRleHQuYWRkKHRoaXMpCgkJYWxsV2F5cG9pbnRzW3RoaXMua2V5XSA9IHRoaXMKCQlrZXlDb3VudGVyICs9IDEKCX0KCgkvKiBQcml2YXRlICovCglXYXlwb2ludC5wcm90b3R5cGUucXVldWVUcmlnZ2VyID0gZnVuY3Rpb24oZGlyZWN0aW9uKSB7CgkJdGhpcy5ncm91cC5xdWV1ZVRyaWdnZXIodGhpcywgZGlyZWN0aW9uKQoJfQoKCS8qIFByaXZhdGUgKi8KCVdheXBvaW50LnByb3RvdHlwZS50cmlnZ2VyID0gZnVuY3Rpb24oYXJncykgewoJCWlmICghdGhpcy5lbmFibGVkKSB7CgkJCXJldHVybgoJCX0KCQlpZiAodGhpcy5jYWxsYmFjaykgewoJCQl0aGlzLmNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpCgkJfQoJfQoKCS8qIFB1YmxpYyAqLwoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2Rlc3Ryb3kgKi8KCVdheXBvaW50LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5jb250ZXh0LnJlbW92ZSh0aGlzKQoJCXRoaXMuZ3JvdXAucmVtb3ZlKHRoaXMpCgkJZGVsZXRlIGFsbFdheXBvaW50c1t0aGlzLmtleV0KCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS9kaXNhYmxlICovCglXYXlwb2ludC5wcm90b3R5cGUuZGlzYWJsZSA9IGZ1bmN0aW9uKCkgewoJCXRoaXMuZW5hYmxlZCA9IGZhbHNlCgkJcmV0dXJuIHRoaXMKCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS9lbmFibGUgKi8KCVdheXBvaW50LnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbigpIHsKCQl0aGlzLmNvbnRleHQucmVmcmVzaCgpCgkJdGhpcy5lbmFibGVkID0gdHJ1ZQoJCXJldHVybiB0aGlzCgl9CgoJLyogUHVibGljICovCgkvKiBodHRwOi8vaW1ha2V3ZWJ0aGluZ3MuY29tL3dheXBvaW50cy9hcGkvbmV4dCAqLwoJV2F5cG9pbnQucHJvdG90eXBlLm5leHQgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy5ncm91cC5uZXh0KHRoaXMpCgl9CgoJLyogUHVibGljICovCgkvKiBodHRwOi8vaW1ha2V3ZWJ0aGluZ3MuY29tL3dheXBvaW50cy9hcGkvcHJldmlvdXMgKi8KCVdheXBvaW50LnByb3RvdHlwZS5wcmV2aW91cyA9IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLmdyb3VwLnByZXZpb3VzKHRoaXMpCgl9CgoJLyogUHJpdmF0ZSAqLwoJV2F5cG9pbnQuaW52b2tlQWxsID0gZnVuY3Rpb24obWV0aG9kKSB7CgkJdmFyIGFsbFdheXBvaW50c0FycmF5ID0gW10KCQlmb3IgKHZhciB3YXlwb2ludEtleSBpbiBhbGxXYXlwb2ludHMpIHsKCQkJYWxsV2F5cG9pbnRzQXJyYXkucHVzaChhbGxXYXlwb2ludHNbd2F5cG9pbnRLZXldKQoJCX0KCQlmb3IgKHZhciBpID0gMCwgZW5kID0gYWxsV2F5cG9pbnRzQXJyYXkubGVuZ3RoOyBpIDwgZW5kOyBpKyspIHsKCQkJYWxsV2F5cG9pbnRzQXJyYXlbaV1bbWV0aG9kXSgpCgkJfQoJfQoKCS8qIFB1YmxpYyAqLwoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2Rlc3Ryb3ktYWxsICovCglXYXlwb2ludC5kZXN0cm95QWxsID0gZnVuY3Rpb24oKSB7CgkJV2F5cG9pbnQuaW52b2tlQWxsKCdkZXN0cm95JykKCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS9kaXNhYmxlLWFsbCAqLwoJV2F5cG9pbnQuZGlzYWJsZUFsbCA9IGZ1bmN0aW9uKCkgewoJCVdheXBvaW50Lmludm9rZUFsbCgnZGlzYWJsZScpCgl9CgoJLyogUHVibGljICovCgkvKiBodHRwOi8vaW1ha2V3ZWJ0aGluZ3MuY29tL3dheXBvaW50cy9hcGkvZW5hYmxlLWFsbCAqLwoJV2F5cG9pbnQuZW5hYmxlQWxsID0gZnVuY3Rpb24oKSB7CgkJV2F5cG9pbnQuaW52b2tlQWxsKCdlbmFibGUnKQoJfQoKCS8qIFB1YmxpYyAqLwoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL3JlZnJlc2gtYWxsICovCglXYXlwb2ludC5yZWZyZXNoQWxsID0gZnVuY3Rpb24oKSB7CgkJV2F5cG9pbnQuQ29udGV4dC5yZWZyZXNoQWxsKCkKCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS92aWV3cG9ydC1oZWlnaHQgKi8KCVdheXBvaW50LnZpZXdwb3J0SGVpZ2h0ID0gZnVuY3Rpb24oKSB7CgkJcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0Cgl9CgoJLyogUHVibGljICovCgkvKiBodHRwOi8vaW1ha2V3ZWJ0aGluZ3MuY29tL3dheXBvaW50cy9hcGkvdmlld3BvcnQtd2lkdGggKi8KCVdheXBvaW50LnZpZXdwb3J0V2lkdGggPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoCgl9CgoJV2F5cG9pbnQuYWRhcHRlcnMgPSBbXQoKCVdheXBvaW50LmRlZmF1bHRzID0gewoJCWNvbnRleHQ6IHdpbmRvdywKCQljb250aW51b3VzOiB0cnVlLAoJCWVuYWJsZWQ6IHRydWUsCgkJZ3JvdXA6ICdkZWZhdWx0JywKCQlob3Jpem9udGFsOiBmYWxzZSwKCQlvZmZzZXQ6IDAKCX0KCglXYXlwb2ludC5vZmZzZXRBbGlhc2VzID0gewoJCSdib3R0b20taW4tdmlldyc6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5jb250ZXh0LmlubmVySGVpZ2h0KCkgLSB0aGlzLmFkYXB0ZXIub3V0ZXJIZWlnaHQoKQoJCX0sCgkJJ3JpZ2h0LWluLXZpZXcnOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMuY29udGV4dC5pbm5lcldpZHRoKCkgLSB0aGlzLmFkYXB0ZXIub3V0ZXJXaWR0aCgpCgkJfQoJfQoKCXdpbmRvdy5XYXlwb2ludCA9IFdheXBvaW50Cn0oKSkKOyhmdW5jdGlvbigpIHsKCSd1c2Ugc3RyaWN0JwoKCWZ1bmN0aW9uIHJlcXVlc3RBbmltYXRpb25GcmFtZVNoaW0oY2FsbGJhY2spIHsKCQl3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKQoJfQoKCXZhciBrZXlDb3VudGVyID0gMAoJdmFyIGNvbnRleHRzID0ge30KCXZhciBXYXlwb2ludCA9IHdpbmRvdy5XYXlwb2ludAoJdmFyIG9sZFdpbmRvd0xvYWQgPSB3aW5kb3cub25sb2FkCgoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2NvbnRleHQgKi8KCWZ1bmN0aW9uIENvbnRleHQoZWxlbWVudCkgewoJCXRoaXMuZWxlbWVudCA9IGVsZW1lbnQKCQl0aGlzLkFkYXB0ZXIgPSBXYXlwb2ludC5BZGFwdGVyCgkJdGhpcy5hZGFwdGVyID0gbmV3IHRoaXMuQWRhcHRlcihlbGVtZW50KQoJCXRoaXMua2V5ID0gJ3dheXBvaW50LWNvbnRleHQtJyArIGtleUNvdW50ZXIKCQl0aGlzLmRpZFNjcm9sbCA9IGZhbHNlCgkJdGhpcy5kaWRSZXNpemUgPSBmYWxzZQoJCXRoaXMub2xkU2Nyb2xsID0gewoJCQl4OiB0aGlzLmFkYXB0ZXIuc2Nyb2xsTGVmdCgpLAoJCQl5OiB0aGlzLmFkYXB0ZXIuc2Nyb2xsVG9wKCkKCQl9CgkJdGhpcy53YXlwb2ludHMgPSB7CgkJCXZlcnRpY2FsOiB7fSwKCQkJaG9yaXpvbnRhbDoge30KCQl9CgoJCWVsZW1lbnQud2F5cG9pbnRDb250ZXh0S2V5ID0gdGhpcy5rZXkKCQljb250ZXh0c1tlbGVtZW50LndheXBvaW50Q29udGV4dEtleV0gPSB0aGlzCgkJa2V5Q291bnRlciArPSAxCgoJCXRoaXMuY3JlYXRlVGhyb3R0bGVkU2Nyb2xsSGFuZGxlcigpCgkJdGhpcy5jcmVhdGVUaHJvdHRsZWRSZXNpemVIYW5kbGVyKCkKCX0KCgkvKiBQcml2YXRlICovCglDb250ZXh0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbih3YXlwb2ludCkgewoJCXZhciBheGlzID0gd2F5cG9pbnQub3B0aW9ucy5ob3Jpem9udGFsID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJwoJCXRoaXMud2F5cG9pbnRzW2F4aXNdW3dheXBvaW50LmtleV0gPSB3YXlwb2ludAoJCXRoaXMucmVmcmVzaCgpCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUuY2hlY2tFbXB0eSA9IGZ1bmN0aW9uKCkgewoJCXZhciBob3Jpem9udGFsRW1wdHkgPSB0aGlzLkFkYXB0ZXIuaXNFbXB0eU9iamVjdCh0aGlzLndheXBvaW50cy5ob3Jpem9udGFsKQoJCXZhciB2ZXJ0aWNhbEVtcHR5ID0gdGhpcy5BZGFwdGVyLmlzRW1wdHlPYmplY3QodGhpcy53YXlwb2ludHMudmVydGljYWwpCgkJaWYgKGhvcml6b250YWxFbXB0eSAmJiB2ZXJ0aWNhbEVtcHR5KSB7CgkJCXRoaXMuYWRhcHRlci5vZmYoJy53YXlwb2ludHMnKQoJCQlkZWxldGUgY29udGV4dHNbdGhpcy5rZXldCgkJfQoJfQoKCS8qIFByaXZhdGUgKi8KCUNvbnRleHQucHJvdG90eXBlLmNyZWF0ZVRocm90dGxlZFJlc2l6ZUhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXMKCgkJZnVuY3Rpb24gcmVzaXplSGFuZGxlcigpIHsKCQkJc2VsZi5oYW5kbGVSZXNpemUoKQoJCQlzZWxmLmRpZFJlc2l6ZSA9IGZhbHNlCgkJfQoKCQl0aGlzLmFkYXB0ZXIub24oJ3Jlc2l6ZS53YXlwb2ludHMnLCBmdW5jdGlvbigpIHsKCQkJaWYgKCFzZWxmLmRpZFJlc2l6ZSkgewoJCQkJc2VsZi5kaWRSZXNpemUgPSB0cnVlCgkJCQlXYXlwb2ludC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVzaXplSGFuZGxlcikKCQkJfQoJCX0pCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUuY3JlYXRlVGhyb3R0bGVkU2Nyb2xsSGFuZGxlciA9IGZ1bmN0aW9uKCkgewoJCXZhciBzZWxmID0gdGhpcwoJCWZ1bmN0aW9uIHNjcm9sbEhhbmRsZXIoKSB7CgkJCXNlbGYuaGFuZGxlU2Nyb2xsKCkKCQkJc2VsZi5kaWRTY3JvbGwgPSBmYWxzZQoJCX0KCgkJdGhpcy5hZGFwdGVyLm9uKCdzY3JvbGwud2F5cG9pbnRzJywgZnVuY3Rpb24oKSB7CgkJCWlmICghc2VsZi5kaWRTY3JvbGwgfHwgV2F5cG9pbnQuaXNUb3VjaCkgewoJCQkJc2VsZi5kaWRTY3JvbGwgPSB0cnVlCgkJCQlXYXlwb2ludC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsSGFuZGxlcikKCQkJfQoJCX0pCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUuaGFuZGxlUmVzaXplID0gZnVuY3Rpb24oKSB7CgkJV2F5cG9pbnQuQ29udGV4dC5yZWZyZXNoQWxsKCkKCX0KCgkvKiBQcml2YXRlICovCglDb250ZXh0LnByb3RvdHlwZS5oYW5kbGVTY3JvbGwgPSBmdW5jdGlvbigpIHsKCQl2YXIgdHJpZ2dlcmVkR3JvdXBzID0ge30KCQl2YXIgYXhlcyA9IHsKCQkJaG9yaXpvbnRhbDogewoJCQkJbmV3U2Nyb2xsOiB0aGlzLmFkYXB0ZXIuc2Nyb2xsTGVmdCgpLAoJCQkJb2xkU2Nyb2xsOiB0aGlzLm9sZFNjcm9sbC54LAoJCQkJZm9yd2FyZDogJ3JpZ2h0JywKCQkJCWJhY2t3YXJkOiAnbGVmdCcKCQkJfSwKCQkJdmVydGljYWw6IHsKCQkJCW5ld1Njcm9sbDogdGhpcy5hZGFwdGVyLnNjcm9sbFRvcCgpLAoJCQkJb2xkU2Nyb2xsOiB0aGlzLm9sZFNjcm9sbC55LAoJCQkJZm9yd2FyZDogJ2Rvd24nLAoJCQkJYmFja3dhcmQ6ICd1cCcKCQkJfQoJCX0KCgkJZm9yICh2YXIgYXhpc0tleSBpbiBheGVzKSB7CgkJCXZhciBheGlzID0gYXhlc1theGlzS2V5XQoJCQl2YXIgaXNGb3J3YXJkID0gYXhpcy5uZXdTY3JvbGwgPiBheGlzLm9sZFNjcm9sbAoJCQl2YXIgZGlyZWN0aW9uID0gaXNGb3J3YXJkID8gYXhpcy5mb3J3YXJkIDogYXhpcy5iYWNrd2FyZAoKCQkJZm9yICh2YXIgd2F5cG9pbnRLZXkgaW4gdGhpcy53YXlwb2ludHNbYXhpc0tleV0pIHsKCQkJCXZhciB3YXlwb2ludCA9IHRoaXMud2F5cG9pbnRzW2F4aXNLZXldW3dheXBvaW50S2V5XQoJCQkJdmFyIHdhc0JlZm9yZVRyaWdnZXJQb2ludCA9IGF4aXMub2xkU2Nyb2xsIDwgd2F5cG9pbnQudHJpZ2dlclBvaW50CgkJCQl2YXIgbm93QWZ0ZXJUcmlnZ2VyUG9pbnQgPSBheGlzLm5ld1Njcm9sbCA+PSB3YXlwb2ludC50cmlnZ2VyUG9pbnQKCQkJCXZhciBjcm9zc2VkRm9yd2FyZCA9IHdhc0JlZm9yZVRyaWdnZXJQb2ludCAmJiBub3dBZnRlclRyaWdnZXJQb2ludAoJCQkJdmFyIGNyb3NzZWRCYWNrd2FyZCA9ICF3YXNCZWZvcmVUcmlnZ2VyUG9pbnQgJiYgIW5vd0FmdGVyVHJpZ2dlclBvaW50CgkJCQlpZiAoY3Jvc3NlZEZvcndhcmQgfHwgY3Jvc3NlZEJhY2t3YXJkKSB7CgkJCQkJd2F5cG9pbnQucXVldWVUcmlnZ2VyKGRpcmVjdGlvbikKCQkJCQl0cmlnZ2VyZWRHcm91cHNbd2F5cG9pbnQuZ3JvdXAuaWRdID0gd2F5cG9pbnQuZ3JvdXAKCQkJCX0KCQkJfQoJCX0KCgkJZm9yICh2YXIgZ3JvdXBLZXkgaW4gdHJpZ2dlcmVkR3JvdXBzKSB7CgkJCXRyaWdnZXJlZEdyb3Vwc1tncm91cEtleV0uZmx1c2hUcmlnZ2VycygpCgkJfQoKCQl0aGlzLm9sZFNjcm9sbCA9IHsKCQkJeDogYXhlcy5ob3Jpem9udGFsLm5ld1Njcm9sbCwKCQkJeTogYXhlcy52ZXJ0aWNhbC5uZXdTY3JvbGwKCQl9Cgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUuaW5uZXJIZWlnaHQgPSBmdW5jdGlvbigpIHsKCQkvKmVzbGludC1kaXNhYmxlIGVxZXFlcSAqLwoJCWlmICh0aGlzLmVsZW1lbnQgPT0gdGhpcy5lbGVtZW50LndpbmRvdykgewoJCQlyZXR1cm4gV2F5cG9pbnQudmlld3BvcnRIZWlnaHQoKQoJCX0KCQkvKmVzbGludC1lbmFibGUgZXFlcWVxICovCgkJcmV0dXJuIHRoaXMuYWRhcHRlci5pbm5lckhlaWdodCgpCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlID0gZnVuY3Rpb24od2F5cG9pbnQpIHsKCQlkZWxldGUgdGhpcy53YXlwb2ludHNbd2F5cG9pbnQuYXhpc11bd2F5cG9pbnQua2V5XQoJCXRoaXMuY2hlY2tFbXB0eSgpCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5wcm90b3R5cGUuaW5uZXJXaWR0aCA9IGZ1bmN0aW9uKCkgewoJCS8qZXNsaW50LWRpc2FibGUgZXFlcWVxICovCgkJaWYgKHRoaXMuZWxlbWVudCA9PSB0aGlzLmVsZW1lbnQud2luZG93KSB7CgkJCXJldHVybiBXYXlwb2ludC52aWV3cG9ydFdpZHRoKCkKCQl9CgkJLyplc2xpbnQtZW5hYmxlIGVxZXFlcSAqLwoJCXJldHVybiB0aGlzLmFkYXB0ZXIuaW5uZXJXaWR0aCgpCgl9CgoJLyogUHVibGljICovCgkvKiBodHRwOi8vaW1ha2V3ZWJ0aGluZ3MuY29tL3dheXBvaW50cy9hcGkvY29udGV4dC1kZXN0cm95ICovCglDb250ZXh0LnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGFsbFdheXBvaW50cyA9IFtdCgkJZm9yICh2YXIgYXhpcyBpbiB0aGlzLndheXBvaW50cykgewoJCQlmb3IgKHZhciB3YXlwb2ludEtleSBpbiB0aGlzLndheXBvaW50c1theGlzXSkgewoJCQkJYWxsV2F5cG9pbnRzLnB1c2godGhpcy53YXlwb2ludHNbYXhpc11bd2F5cG9pbnRLZXldKQoJCQl9CgkJfQoJCWZvciAodmFyIGkgPSAwLCBlbmQgPSBhbGxXYXlwb2ludHMubGVuZ3RoOyBpIDwgZW5kOyBpKyspIHsKCQkJYWxsV2F5cG9pbnRzW2ldLmRlc3Ryb3koKQoJCX0KCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS9jb250ZXh0LXJlZnJlc2ggKi8KCUNvbnRleHQucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbigpIHsKCQkvKmVzbGludC1kaXNhYmxlIGVxZXFlcSAqLwoJCXZhciBpc1dpbmRvdyA9IHRoaXMuZWxlbWVudCA9PSB0aGlzLmVsZW1lbnQud2luZG93CgkJLyplc2xpbnQtZW5hYmxlIGVxZXFlcSAqLwoJCXZhciBjb250ZXh0T2Zmc2V0ID0gaXNXaW5kb3cgPyB1bmRlZmluZWQgOiB0aGlzLmFkYXB0ZXIub2Zmc2V0KCkKCQl2YXIgdHJpZ2dlcmVkR3JvdXBzID0ge30KCQl2YXIgYXhlcwoKCQl0aGlzLmhhbmRsZVNjcm9sbCgpCgkJYXhlcyA9IHsKCQkJaG9yaXpvbnRhbDogewoJCQkJY29udGV4dE9mZnNldDogaXNXaW5kb3cgPyAwIDogY29udGV4dE9mZnNldC5sZWZ0LAoJCQkJY29udGV4dFNjcm9sbDogaXNXaW5kb3cgPyAwIDogdGhpcy5vbGRTY3JvbGwueCwKCQkJCWNvbnRleHREaW1lbnNpb246IHRoaXMuaW5uZXJXaWR0aCgpLAoJCQkJb2xkU2Nyb2xsOiB0aGlzLm9sZFNjcm9sbC54LAoJCQkJZm9yd2FyZDogJ3JpZ2h0JywKCQkJCWJhY2t3YXJkOiAnbGVmdCcsCgkJCQlvZmZzZXRQcm9wOiAnbGVmdCcKCQkJfSwKCQkJdmVydGljYWw6IHsKCQkJCWNvbnRleHRPZmZzZXQ6IGlzV2luZG93ID8gMCA6IGNvbnRleHRPZmZzZXQudG9wLAoJCQkJY29udGV4dFNjcm9sbDogaXNXaW5kb3cgPyAwIDogdGhpcy5vbGRTY3JvbGwueSwKCQkJCWNvbnRleHREaW1lbnNpb246IHRoaXMuaW5uZXJIZWlnaHQoKSwKCQkJCW9sZFNjcm9sbDogdGhpcy5vbGRTY3JvbGwueSwKCQkJCWZvcndhcmQ6ICdkb3duJywKCQkJCWJhY2t3YXJkOiAndXAnLAoJCQkJb2Zmc2V0UHJvcDogJ3RvcCcKCQkJfQoJCX0KCgkJZm9yICh2YXIgYXhpc0tleSBpbiBheGVzKSB7CgkJCXZhciBheGlzID0gYXhlc1theGlzS2V5XQoJCQlmb3IgKHZhciB3YXlwb2ludEtleSBpbiB0aGlzLndheXBvaW50c1theGlzS2V5XSkgewoJCQkJdmFyIHdheXBvaW50ID0gdGhpcy53YXlwb2ludHNbYXhpc0tleV1bd2F5cG9pbnRLZXldCgkJCQl2YXIgYWRqdXN0bWVudCA9IHdheXBvaW50Lm9wdGlvbnMub2Zmc2V0CgkJCQl2YXIgb2xkVHJpZ2dlclBvaW50ID0gd2F5cG9pbnQudHJpZ2dlclBvaW50CgkJCQl2YXIgZWxlbWVudE9mZnNldCA9IDAKCQkJCXZhciBmcmVzaFdheXBvaW50ID0gb2xkVHJpZ2dlclBvaW50ID09IG51bGwKCQkJCXZhciBjb250ZXh0TW9kaWZpZXIsIHdhc0JlZm9yZVNjcm9sbCwgbm93QWZ0ZXJTY3JvbGwKCQkJCXZhciB0cmlnZ2VyZWRCYWNrd2FyZCwgdHJpZ2dlcmVkRm9yd2FyZAoKCQkJCWlmICh3YXlwb2ludC5lbGVtZW50ICE9PSB3YXlwb2ludC5lbGVtZW50LndpbmRvdykgewoJCQkJCWVsZW1lbnRPZmZzZXQgPSB3YXlwb2ludC5hZGFwdGVyLm9mZnNldCgpW2F4aXMub2Zmc2V0UHJvcF0KCQkJCX0KCgkJCQlpZiAodHlwZW9mIGFkanVzdG1lbnQgPT09ICdmdW5jdGlvbicpIHsKCQkJCQlhZGp1c3RtZW50ID0gYWRqdXN0bWVudC5hcHBseSh3YXlwb2ludCkKCQkJCX0KCQkJCWVsc2UgaWYgKHR5cGVvZiBhZGp1c3RtZW50ID09PSAnc3RyaW5nJykgewoJCQkJCWFkanVzdG1lbnQgPSBwYXJzZUZsb2F0KGFkanVzdG1lbnQpCgkJCQkJaWYgKHdheXBvaW50Lm9wdGlvbnMub2Zmc2V0LmluZGV4T2YoJyUnKSA+IC0gMSkgewoJCQkJCQlhZGp1c3RtZW50ID0gTWF0aC5jZWlsKGF4aXMuY29udGV4dERpbWVuc2lvbiAqIGFkanVzdG1lbnQgLyAxMDApCgkJCQkJfQoJCQkJfQoKCQkJCWNvbnRleHRNb2RpZmllciA9IGF4aXMuY29udGV4dFNjcm9sbCAtIGF4aXMuY29udGV4dE9mZnNldAoJCQkJd2F5cG9pbnQudHJpZ2dlclBvaW50ID0gZWxlbWVudE9mZnNldCArIGNvbnRleHRNb2RpZmllciAtIGFkanVzdG1lbnQKCQkJCXdhc0JlZm9yZVNjcm9sbCA9IG9sZFRyaWdnZXJQb2ludCA8IGF4aXMub2xkU2Nyb2xsCgkJCQlub3dBZnRlclNjcm9sbCA9IHdheXBvaW50LnRyaWdnZXJQb2ludCA+PSBheGlzLm9sZFNjcm9sbAoJCQkJdHJpZ2dlcmVkQmFja3dhcmQgPSB3YXNCZWZvcmVTY3JvbGwgJiYgbm93QWZ0ZXJTY3JvbGwKCQkJCXRyaWdnZXJlZEZvcndhcmQgPSAhd2FzQmVmb3JlU2Nyb2xsICYmICFub3dBZnRlclNjcm9sbAoKCQkJCWlmICghZnJlc2hXYXlwb2ludCAmJiB0cmlnZ2VyZWRCYWNrd2FyZCkgewoJCQkJCXdheXBvaW50LnF1ZXVlVHJpZ2dlcihheGlzLmJhY2t3YXJkKQoJCQkJCXRyaWdnZXJlZEdyb3Vwc1t3YXlwb2ludC5ncm91cC5pZF0gPSB3YXlwb2ludC5ncm91cAoJCQkJfQoJCQkJZWxzZSBpZiAoIWZyZXNoV2F5cG9pbnQgJiYgdHJpZ2dlcmVkRm9yd2FyZCkgewoJCQkJCXdheXBvaW50LnF1ZXVlVHJpZ2dlcihheGlzLmZvcndhcmQpCgkJCQkJdHJpZ2dlcmVkR3JvdXBzW3dheXBvaW50Lmdyb3VwLmlkXSA9IHdheXBvaW50Lmdyb3VwCgkJCQl9CgkJCQllbHNlIGlmIChmcmVzaFdheXBvaW50ICYmIGF4aXMub2xkU2Nyb2xsID49IHdheXBvaW50LnRyaWdnZXJQb2ludCkgewoJCQkJCXdheXBvaW50LnF1ZXVlVHJpZ2dlcihheGlzLmZvcndhcmQpCgkJCQkJdHJpZ2dlcmVkR3JvdXBzW3dheXBvaW50Lmdyb3VwLmlkXSA9IHdheXBvaW50Lmdyb3VwCgkJCQl9CgkJCX0KCQl9CgoJCVdheXBvaW50LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKCQkJZm9yICh2YXIgZ3JvdXBLZXkgaW4gdHJpZ2dlcmVkR3JvdXBzKSB7CgkJCQl0cmlnZ2VyZWRHcm91cHNbZ3JvdXBLZXldLmZsdXNoVHJpZ2dlcnMoKQoJCQl9CgkJfSkKCgkJcmV0dXJuIHRoaXMKCX0KCgkvKiBQcml2YXRlICovCglDb250ZXh0LmZpbmRPckNyZWF0ZUJ5RWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKCQlyZXR1cm4gQ29udGV4dC5maW5kQnlFbGVtZW50KGVsZW1lbnQpIHx8IG5ldyBDb250ZXh0KGVsZW1lbnQpCgl9CgoJLyogUHJpdmF0ZSAqLwoJQ29udGV4dC5yZWZyZXNoQWxsID0gZnVuY3Rpb24oKSB7CgkJZm9yICh2YXIgY29udGV4dElkIGluIGNvbnRleHRzKSB7CgkJCWNvbnRleHRzW2NvbnRleHRJZF0ucmVmcmVzaCgpCgkJfQoJfQoKCS8qIFB1YmxpYyAqLwoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2NvbnRleHQtZmluZC1ieS1lbGVtZW50ICovCglDb250ZXh0LmZpbmRCeUVsZW1lbnQgPSBmdW5jdGlvbihlbGVtZW50KSB7CgkJcmV0dXJuIGNvbnRleHRzW2VsZW1lbnQud2F5cG9pbnRDb250ZXh0S2V5XQoJfQoKCXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKCQlpZiAob2xkV2luZG93TG9hZCkgewoJCQlvbGRXaW5kb3dMb2FkKCkKCQl9CgkJQ29udGV4dC5yZWZyZXNoQWxsKCkKCX0KCglXYXlwb2ludC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbihjYWxsYmFjaykgewoJCXZhciByZXF1ZXN0Rm4gPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAoJCQlyZXF1ZXN0QW5pbWF0aW9uRnJhbWVTaGltCgkJcmVxdWVzdEZuLmNhbGwod2luZG93LCBjYWxsYmFjaykKCX0KCVdheXBvaW50LkNvbnRleHQgPSBDb250ZXh0Cn0oKSkKOyhmdW5jdGlvbigpIHsKCSd1c2Ugc3RyaWN0JwoKCWZ1bmN0aW9uIGJ5VHJpZ2dlclBvaW50KGEsIGIpIHsKCQlyZXR1cm4gYS50cmlnZ2VyUG9pbnQgLSBiLnRyaWdnZXJQb2ludAoJfQoKCWZ1bmN0aW9uIGJ5UmV2ZXJzZVRyaWdnZXJQb2ludChhLCBiKSB7CgkJcmV0dXJuIGIudHJpZ2dlclBvaW50IC0gYS50cmlnZ2VyUG9pbnQKCX0KCgl2YXIgZ3JvdXBzID0gewoJCXZlcnRpY2FsOiB7fSwKCQlob3Jpem9udGFsOiB7fQoJfQoJdmFyIFdheXBvaW50ID0gd2luZG93LldheXBvaW50CgoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2dyb3VwICovCglmdW5jdGlvbiBHcm91cChvcHRpb25zKSB7CgkJdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lCgkJdGhpcy5heGlzID0gb3B0aW9ucy5heGlzCgkJdGhpcy5pZCA9IHRoaXMubmFtZSArICctJyArIHRoaXMuYXhpcwoJCXRoaXMud2F5cG9pbnRzID0gW10KCQl0aGlzLmNsZWFyVHJpZ2dlclF1ZXVlcygpCgkJZ3JvdXBzW3RoaXMuYXhpc11bdGhpcy5uYW1lXSA9IHRoaXMKCX0KCgkvKiBQcml2YXRlICovCglHcm91cC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24od2F5cG9pbnQpIHsKCQl0aGlzLndheXBvaW50cy5wdXNoKHdheXBvaW50KQoJfQoKCS8qIFByaXZhdGUgKi8KCUdyb3VwLnByb3RvdHlwZS5jbGVhclRyaWdnZXJRdWV1ZXMgPSBmdW5jdGlvbigpIHsKCQl0aGlzLnRyaWdnZXJRdWV1ZXMgPSB7CgkJCXVwOiBbXSwKCQkJZG93bjogW10sCgkJCWxlZnQ6IFtdLAoJCQlyaWdodDogW10KCQl9Cgl9CgoJLyogUHJpdmF0ZSAqLwoJR3JvdXAucHJvdG90eXBlLmZsdXNoVHJpZ2dlcnMgPSBmdW5jdGlvbigpIHsKCQlmb3IgKHZhciBkaXJlY3Rpb24gaW4gdGhpcy50cmlnZ2VyUXVldWVzKSB7CgkJCXZhciB3YXlwb2ludHMgPSB0aGlzLnRyaWdnZXJRdWV1ZXNbZGlyZWN0aW9uXQoJCQl2YXIgcmV2ZXJzZSA9IGRpcmVjdGlvbiA9PT0gJ3VwJyB8fCBkaXJlY3Rpb24gPT09ICdsZWZ0JwoJCQl3YXlwb2ludHMuc29ydChyZXZlcnNlID8gYnlSZXZlcnNlVHJpZ2dlclBvaW50IDogYnlUcmlnZ2VyUG9pbnQpCgkJCWZvciAodmFyIGkgPSAwLCBlbmQgPSB3YXlwb2ludHMubGVuZ3RoOyBpIDwgZW5kOyBpICs9IDEpIHsKCQkJCXZhciB3YXlwb2ludCA9IHdheXBvaW50c1tpXQoJCQkJaWYgKHdheXBvaW50Lm9wdGlvbnMuY29udGludW91cyB8fCBpID09PSB3YXlwb2ludHMubGVuZ3RoIC0gMSkgewoJCQkJCXdheXBvaW50LnRyaWdnZXIoW2RpcmVjdGlvbl0pCgkJCQl9CgkJCX0KCQl9CgkJdGhpcy5jbGVhclRyaWdnZXJRdWV1ZXMoKQoJfQoKCS8qIFByaXZhdGUgKi8KCUdyb3VwLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24od2F5cG9pbnQpIHsKCQl0aGlzLndheXBvaW50cy5zb3J0KGJ5VHJpZ2dlclBvaW50KQoJCXZhciBpbmRleCA9IFdheXBvaW50LkFkYXB0ZXIuaW5BcnJheSh3YXlwb2ludCwgdGhpcy53YXlwb2ludHMpCgkJdmFyIGlzTGFzdCA9IGluZGV4ID09PSB0aGlzLndheXBvaW50cy5sZW5ndGggLSAxCgkJcmV0dXJuIGlzTGFzdCA/IG51bGwgOiB0aGlzLndheXBvaW50c1tpbmRleCArIDFdCgl9CgoJLyogUHJpdmF0ZSAqLwoJR3JvdXAucHJvdG90eXBlLnByZXZpb3VzID0gZnVuY3Rpb24od2F5cG9pbnQpIHsKCQl0aGlzLndheXBvaW50cy5zb3J0KGJ5VHJpZ2dlclBvaW50KQoJCXZhciBpbmRleCA9IFdheXBvaW50LkFkYXB0ZXIuaW5BcnJheSh3YXlwb2ludCwgdGhpcy53YXlwb2ludHMpCgkJcmV0dXJuIGluZGV4ID8gdGhpcy53YXlwb2ludHNbaW5kZXggLSAxXSA6IG51bGwKCX0KCgkvKiBQcml2YXRlICovCglHcm91cC5wcm90b3R5cGUucXVldWVUcmlnZ2VyID0gZnVuY3Rpb24od2F5cG9pbnQsIGRpcmVjdGlvbikgewoJCXRoaXMudHJpZ2dlclF1ZXVlc1tkaXJlY3Rpb25dLnB1c2god2F5cG9pbnQpCgl9CgoJLyogUHJpdmF0ZSAqLwoJR3JvdXAucHJvdG90eXBlLnJlbW92ZSA9IGZ1bmN0aW9uKHdheXBvaW50KSB7CgkJdmFyIGluZGV4ID0gV2F5cG9pbnQuQWRhcHRlci5pbkFycmF5KHdheXBvaW50LCB0aGlzLndheXBvaW50cykKCQlpZiAoaW5kZXggPiAtMSkgewoJCQl0aGlzLndheXBvaW50cy5zcGxpY2UoaW5kZXgsIDEpCgkJfQoJfQoKCS8qIFB1YmxpYyAqLwoJLyogaHR0cDovL2ltYWtld2VidGhpbmdzLmNvbS93YXlwb2ludHMvYXBpL2ZpcnN0ICovCglHcm91cC5wcm90b3R5cGUuZmlyc3QgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gdGhpcy53YXlwb2ludHNbMF0KCX0KCgkvKiBQdWJsaWMgKi8KCS8qIGh0dHA6Ly9pbWFrZXdlYnRoaW5ncy5jb20vd2F5cG9pbnRzL2FwaS9sYXN0ICovCglHcm91cC5wcm90b3R5cGUubGFzdCA9IGZ1bmN0aW9uKCkgewoJCXJldHVybiB0aGlzLndheXBvaW50c1t0aGlzLndheXBvaW50cy5sZW5ndGggLSAxXQoJfQoKCS8qIFByaXZhdGUgKi8KCUdyb3VwLmZpbmRPckNyZWF0ZSA9IGZ1bmN0aW9uKG9wdGlvbnMpIHsKCQlyZXR1cm4gZ3JvdXBzW29wdGlvbnMuYXhpc11bb3B0aW9ucy5uYW1lXSB8fCBuZXcgR3JvdXAob3B0aW9ucykKCX0KCglXYXlwb2ludC5Hcm91cCA9IEdyb3VwCn0oKSkKOyhmdW5jdGlvbigpIHsKCSd1c2Ugc3RyaWN0JwoKCXZhciAkID0gd2luZG93LmpRdWVyeQoJdmFyIFdheXBvaW50ID0gd2luZG93LldheXBvaW50CgoJZnVuY3Rpb24gSlF1ZXJ5QWRhcHRlcihlbGVtZW50KSB7CgkJdGhpcy4kZWxlbWVudCA9ICQoZWxlbWVudCkKCX0KCgkkLmVhY2goWwoJCSdpbm5lckhlaWdodCcsCgkJJ2lubmVyV2lkdGgnLAoJCSdvZmYnLAoJCSdvZmZzZXQnLAoJCSdvbicsCgkJJ291dGVySGVpZ2h0JywKCQknb3V0ZXJXaWR0aCcsCgkJJ3Njcm9sbExlZnQnLAoJCSdzY3JvbGxUb3AnCgldLCBmdW5jdGlvbihpLCBtZXRob2QpIHsKCQlKUXVlcnlBZGFwdGVyLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24oKSB7CgkJCXZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKQoJCQlyZXR1cm4gdGhpcy4kZWxlbWVudFttZXRob2RdLmFwcGx5KHRoaXMuJGVsZW1lbnQsIGFyZ3MpCgkJfQoJfSkKCgkkLmVhY2goWwoJCSdleHRlbmQnLAoJCSdpbkFycmF5JywKCQknaXNFbXB0eU9iamVjdCcKCV0sIGZ1bmN0aW9uKGksIG1ldGhvZCkgewoJCUpRdWVyeUFkYXB0ZXJbbWV0aG9kXSA9ICRbbWV0aG9kXQoJfSkKCglXYXlwb2ludC5hZGFwdGVycy5wdXNoKHsKCQluYW1lOiAnanF1ZXJ5JywKCQlBZGFwdGVyOiBKUXVlcnlBZGFwdGVyCgl9KQoJV2F5cG9pbnQuQWRhcHRlciA9IEpRdWVyeUFkYXB0ZXIKfSgpKQo7KGZ1bmN0aW9uKCkgewoJJ3VzZSBzdHJpY3QnCgoJdmFyIFdheXBvaW50ID0gd2luZG93LldheXBvaW50CgoJZnVuY3Rpb24gY3JlYXRlRXh0ZW5zaW9uKGZyYW1ld29yaykgewoJCXJldHVybiBmdW5jdGlvbigpIHsKCQkJdmFyIHdheXBvaW50cyA9IFtdCgkJCXZhciBvdmVycmlkZXMgPSBhcmd1bWVudHNbMF0KCgkJCWlmIChmcmFtZXdvcmsuaXNGdW5jdGlvbihhcmd1bWVudHNbMF0pKSB7CgkJCQlvdmVycmlkZXMgPSBmcmFtZXdvcmsuZXh0ZW5kKHt9LCBhcmd1bWVudHNbMV0pCgkJCQlvdmVycmlkZXMuaGFuZGxlciA9IGFyZ3VtZW50c1swXQoJCQl9CgoJCQl0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl2YXIgb3B0aW9ucyA9IGZyYW1ld29yay5leHRlbmQoe30sIG92ZXJyaWRlcywgewoJCQkJCWVsZW1lbnQ6IHRoaXMKCQkJCX0pCgkJCQlpZiAodHlwZW9mIG9wdGlvbnMuY29udGV4dCA9PT0gJ3N0cmluZycpIHsKCQkJCQlvcHRpb25zLmNvbnRleHQgPSBmcmFtZXdvcmsodGhpcykuY2xvc2VzdChvcHRpb25zLmNvbnRleHQpWzBdCgkJCQl9CgkJCQl3YXlwb2ludHMucHVzaChuZXcgV2F5cG9pbnQob3B0aW9ucykpCgkJCX0pCgoJCQlyZXR1cm4gd2F5cG9pbnRzCgkJfQoJfQoKCWlmICh3aW5kb3cualF1ZXJ5KSB7CgkJd2luZG93LmpRdWVyeS5mbi53YXlwb2ludCA9IGNyZWF0ZUV4dGVuc2lvbih3aW5kb3cualF1ZXJ5KQoJfQoJaWYgKHdpbmRvdy5aZXB0bykgewoJCXdpbmRvdy5aZXB0by5mbi53YXlwb2ludCA9IGNyZWF0ZUV4dGVuc2lvbih3aW5kb3cuWmVwdG8pCgl9Cn0oKSkKOw=="}},"time_used":97,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/bootstrap.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.026Z","timestamp":1785139582026,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/bootstrap.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2016\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7209,"size_decoded":2253,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (3694)","md5":"94c702078e8b288bb55ec60e15563877","sha1":"844457b06ce3a037c3d3526a999f9ea5a281b9e7","sha256":"5b187cba16d123629b49a0205f73dd204b9626cdb2658a9ee751ccce3287913a","sha512":"e1ca77822f8cb007d288ce5c743dca546ee6c0925b75f32470db35aa2812222c41bbfac42f10b91610e698580de9c87d2ddb69cbc85b645f26470171d7c31725","ssdeep":"192:g9uq/Wd0jazXSo9XXTCKU75+I5Sy/sJCw:g9pKUazXSo9XXTCKU75+I5SesJCw","tlshash":"79e12009bea131f156ebfad5a09e4204f1395a2ce916906c769396e33c75c0c327fb39","first_seen":"2023-03-13T07:47:20Z","last_seen":"2026-08-05T06:07:55.917162Z","times_seen":33,"resource_available":true,"data":"LyoqCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEJvb3RzdHJhcCAodjQuMC4wLWFscGhhLjIpOiBjb2xsYXBzZS5qcwogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCmlmKCJ1bmRlZmluZWQiPT10eXBlb2YgalF1ZXJ5KXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkiKTsrZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPXQuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZihlWzBdPDImJmVbMV08OXx8MT09ZVswXSYmOT09ZVsxXSYmZVsyXTwxfHxlWzBdPjMpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGpRdWVyeSB2ZXJzaW9uIDEuOS4xIG9yIGhpZ2hlciwgYnV0IGxvd2VyIHRoYW4gdmVyc2lvbiA0Iil9KGpRdWVyeSksK2Z1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKGUpe3ZhciBhLHM9ZS5hdHRyKCJkYXRhLXRhcmdldCIpfHwoYT1lLmF0dHIoImhyZWYiKSkmJmEucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKTtyZXR1cm4gdChzKX1mdW5jdGlvbiBhKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT10KHRoaXMpLGk9YS5kYXRhKCJicy5jb2xsYXBzZSIpLG49dC5leHRlbmQoe30scy5ERUZBVUxUUyxhLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGUmJmUpOyFpJiZuLnRvZ2dsZSYmL3Nob3d8aGlkZS8udGVzdChlKSYmKG4udG9nZ2xlPSExKSxpfHxhLmRhdGEoImJzLmNvbGxhcHNlIixpPW5ldyBzKHRoaXMsbikpLCJzdHJpbmciPT10eXBlb2YgZSYmaVtlXSgpfSl9dmFyIHM9ZnVuY3Rpb24oZSxhKXt0aGlzLiRlbGVtZW50PXQoZSksdGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LHMuREVGQVVMVFMsYSksdGhpcy4kdHJpZ2dlcj10KCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrZS5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytlLmlkKyciXScpLHRoaXMudHJhbnNpdGlvbmluZz1udWxsLHRoaXMub3B0aW9ucy5wYXJlbnQ/dGhpcy4kcGFyZW50PXRoaXMuZ2V0UGFyZW50KCk6dGhpcy5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy4kZWxlbWVudCx0aGlzLiR0cmlnZ2VyKSx0aGlzLm9wdGlvbnMudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfTtzLlZFUlNJT049IjMuMy43IixzLlRSQU5TSVRJT05fRFVSQVRJT049MzUwLHMuREVGQVVMVFM9e3RvZ2dsZTohMH0scy5wcm90b3R5cGUuZGltZW5zaW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygid2lkdGgiKTtyZXR1cm4gdD8id2lkdGgiOiJoZWlnaHQifSxzLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmIXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBlLGk9dGhpcy4kcGFyZW50JiZ0aGlzLiRwYXJlbnQuY2hpbGRyZW4oIi5wYW5lbCIpLmNoaWxkcmVuKCIuaW4sIC5jb2xsYXBzaW5nIik7aWYoIShpJiZpLmxlbmd0aCYmKGU9aS5kYXRhKCJicy5jb2xsYXBzZSIpLGUmJmUudHJhbnNpdGlvbmluZykpKXt2YXIgbj10LkV2ZW50KCJzaG93LmJzLmNvbGxhcHNlIik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKG4pLCFuLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtpJiZpLmxlbmd0aCYmKGEuY2FsbChpLCJoaWRlIiksZXx8aS5kYXRhKCJicy5jb2xsYXBzZSIsbnVsbCkpO3ZhciByPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2UiKS5hZGRDbGFzcygiY29sbGFwc2luZyIpW3JdKDApLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLiR0cmlnZ2VyLnJlbW92ZUNsYXNzKCJjb2xsYXBzZWQiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy50cmFuc2l0aW9uaW5nPTE7dmFyIGw9ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzaW5nIikuYWRkQ2xhc3MoImNvbGxhcHNlIGluIilbcl0oIiIpLHRoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuY29sbGFwc2UiKX07aWYoIXQuc3VwcG9ydC50cmFuc2l0aW9uKXJldHVybiBsLmNhbGwodGhpcyk7dmFyIG89dC5jYW1lbENhc2UoWyJzY3JvbGwiLHJdLmpvaW4oIi0iKSk7dGhpcy4kZWxlbWVudC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsdC5wcm94eShsLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChzLlRSQU5TSVRJT05fRFVSQVRJT04pW3JdKHRoaXMuJGVsZW1lbnRbMF1bb10pfX19fSxzLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7dmFyIGU9dC5FdmVudCgiaGlkZS5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihlKSwhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGE9dGhpcy5kaW1lbnNpb24oKTt0aGlzLiRlbGVtZW50W2FdKHRoaXMuJGVsZW1lbnRbYV0oKSlbMF0ub2Zmc2V0SGVpZ2h0LHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImNvbGxhcHNpbmciKS5yZW1vdmVDbGFzcygiY29sbGFwc2UgaW4iKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy4kdHJpZ2dlci5hZGRDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBpPWZ1bmN0aW9uKCl7dGhpcy50cmFuc2l0aW9uaW5nPTAsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSIpLnRyaWdnZXIoImhpZGRlbi5icy5jb2xsYXBzZSIpfTtyZXR1cm4gdC5zdXBwb3J0LnRyYW5zaXRpb24/dm9pZCB0aGlzLiRlbGVtZW50W2FdKDApLm9uZSgiYnNUcmFuc2l0aW9uRW5kIix0LnByb3h5KGksdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHMuVFJBTlNJVElPTl9EVVJBVElPTik6aS5jYWxsKHRoaXMpfX19LHMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3RoaXNbdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKT8iaGlkZSI6InNob3ciXSgpfSxzLnByb3RvdHlwZS5nZXRQYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdCh0aGlzLm9wdGlvbnMucGFyZW50KS5maW5kKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS1wYXJlbnQ9IicrdGhpcy5vcHRpb25zLnBhcmVudCsnIl0nKS5lYWNoKHQucHJveHkoZnVuY3Rpb24oYSxzKXt2YXIgaT10KHMpO3RoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGUoaSksaSl9LHRoaXMpKS5lbmQoKX0scy5wcm90b3R5cGUuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKHQsZSl7dmFyIGE9dC5oYXNDbGFzcygiaW4iKTt0LmF0dHIoImFyaWEtZXhwYW5kZWQiLGEpLGUudG9nZ2xlQ2xhc3MoImNvbGxhcHNlZCIsIWEpLmF0dHIoImFyaWEtZXhwYW5kZWQiLGEpfTt2YXIgaT10LmZuLmNvbGxhcHNlO3QuZm4uY29sbGFwc2U9YSx0LmZuLmNvbGxhcHNlLkNvbnN0cnVjdG9yPXMsdC5mbi5jb2xsYXBzZS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHQuZm4uY29sbGFwc2U9aSx0aGlzfSx0KGRvY3VtZW50KS5vbigiY2xpY2suYnMuY29sbGFwc2UuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLGZ1bmN0aW9uKHMpe3ZhciBpPXQodGhpcyk7aS5hdHRyKCJkYXRhLXRhcmdldCIpfHxzLnByZXZlbnREZWZhdWx0KCk7dmFyIG49ZShpKSxyPW4uZGF0YSgiYnMuY29sbGFwc2UiKSxsPXI/InRvZ2dsZSI6aS5kYXRhKCk7YS5jYWxsKG4sbCl9KX0oalF1ZXJ5KTsKCmlmKCJ1bmRlZmluZWQiPT10eXBlb2YgalF1ZXJ5KXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkiKTsrZnVuY3Rpb24obil7InVzZSBzdHJpY3QiO3ZhciB0PW4uZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZih0WzBdPDImJnRbMV08OXx8MT09dFswXSYmOT09dFsxXSYmdFsyXTwxfHx0WzBdPjMpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGpRdWVyeSB2ZXJzaW9uIDEuOS4xIG9yIGhpZ2hlciwgYnV0IGxvd2VyIHRoYW4gdmVyc2lvbiA0Iil9KGpRdWVyeSksK2Z1bmN0aW9uKG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9vdHN0cmFwIiksdD17V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn07Zm9yKHZhciBpIGluIHQpaWYodm9pZCAwIT09bi5zdHlsZVtpXSlyZXR1cm57ZW5kOnRbaV19O3JldHVybiExfW4uZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24odCl7dmFyIGk9ITEscj10aGlzO24odGhpcykub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7aT0hMH0pO3ZhciBlPWZ1bmN0aW9uKCl7aXx8bihyKS50cmlnZ2VyKG4uc3VwcG9ydC50cmFuc2l0aW9uLmVuZCl9O3JldHVybiBzZXRUaW1lb3V0KGUsdCksdGhpc30sbihmdW5jdGlvbigpe24uc3VwcG9ydC50cmFuc2l0aW9uPXQoKSxuLnN1cHBvcnQudHJhbnNpdGlvbiYmKG4uZXZlbnQuc3BlY2lhbC5ic1RyYW5zaXRpb25FbmQ9e2JpbmRUeXBlOm4uc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxkZWxlZ2F0ZVR5cGU6bi5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGhhbmRsZTpmdW5jdGlvbih0KXtyZXR1cm4gbih0LnRhcmdldCkuaXModGhpcyk/dC5oYW5kbGVPYmouaGFuZGxlci5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfX0pfSl9KGpRdWVyeSk7CgppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT10LmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoZVswXTwyJiZlWzFdPDl8fDE9PWVbMF0mJjk9PWVbMV0mJmVbMl08MXx8ZVswXT4zKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjkuMSBvciBoaWdoZXIsIGJ1dCBsb3dlciB0aGFuIHZlcnNpb24gNCIpfShqUXVlcnkpLCtmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZShlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49dCh0aGlzKSxyPW4uZGF0YSgiYnMudGFiIik7cnx8bi5kYXRhKCJicy50YWIiLHI9bmV3IGEodGhpcykpLCJzdHJpbmciPT10eXBlb2YgZSYmcltlXSgpfSl9dmFyIGE9ZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50PXQoZSl9O2EuVkVSU0lPTj0iMy4zLjciLGEuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsYS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVudCxhPWUuY2xvc2VzdCgidWw6bm90KC5kcm9wZG93bi1tZW51KSIpLG49ZS5kYXRhKCJ0YXJnZXQiKTtpZihufHwobj1lLmF0dHIoImhyZWYiKSxuPW4mJm4ucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksIWUucGFyZW50KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUiKSl7dmFyIHI9YS5maW5kKCIuYWN0aXZlOmxhc3QgYSIpLGk9dC5FdmVudCgiaGlkZS5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KSxzPXQuRXZlbnQoInNob3cuYnMudGFiIix7cmVsYXRlZFRhcmdldDpyWzBdfSk7aWYoci50cmlnZ2VyKGkpLGUudHJpZ2dlcihzKSwhcy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIWkuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBvPXQobik7dGhpcy5hY3RpdmF0ZShlLmNsb3Nlc3QoImxpIiksYSksdGhpcy5hY3RpdmF0ZShvLG8ucGFyZW50KCksZnVuY3Rpb24oKXtyLnRyaWdnZXIoe3R5cGU6ImhpZGRlbi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pLGUudHJpZ2dlcih7dHlwZToic2hvd24uYnMudGFiIixyZWxhdGVkVGFyZ2V0OnJbMF19KX0pfX19LGEucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGUsbixyKXtmdW5jdGlvbiBpKCl7cy5yZW1vdmVDbGFzcygiYWN0aXZlIikuZmluZCgiPiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIikuZW5kKCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSxlLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLG8/KGVbMF0ub2Zmc2V0V2lkdGgsZS5hZGRDbGFzcygiaW4iKSk6ZS5yZW1vdmVDbGFzcygiZmFkZSIpLGUucGFyZW50KCIuZHJvcGRvd24tbWVudSIpLmxlbmd0aCYmZS5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHImJnIoKX12YXIgcz1uLmZpbmQoIj4gLmFjdGl2ZSIpLG89ciYmdC5zdXBwb3J0LnRyYW5zaXRpb24mJihzLmxlbmd0aCYmcy5oYXNDbGFzcygiZmFkZSIpfHwhIW4uZmluZCgiPiAuZmFkZSIpLmxlbmd0aCk7cy5sZW5ndGgmJm8/cy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsaSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYS5UUkFOU0lUSU9OX0RVUkFUSU9OKTppKCkscy5yZW1vdmVDbGFzcygiaW4iKX07dmFyIG49dC5mbi50YWI7dC5mbi50YWI9ZSx0LmZuLnRhYi5Db25zdHJ1Y3Rvcj1hLHQuZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5mbi50YWI9bix0aGlzfTt2YXIgcj1mdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCksZS5jYWxsKHQodGhpcyksInNob3ciKX07dChkb2N1bWVudCkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0idGFiIl0nLHIpLm9uKCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InBpbGwiXScscil9KGpRdWVyeSk7"}},"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":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.792Z","timestamp":1785139582792,"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-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 08:06:22 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: 1f65d0c3b1d348b7e90012430edc871c\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-08-12T17:58:50.113185Z","times_seen":2353,"resource_available":false,"data":"LmpzLWhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5qcy1uby1wb2ludGVyLWV2ZW50c3twb2ludGVyLWV2ZW50czpub25lIWltcG9ydGFudH0="}},"time_used":34,"timings":{"blocked":23,"dns":0,"connect":0,"send":0,"wait":10,"receive":1,"ssl":0},"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"},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.807Z","timestamp":1785139582807,"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-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 08:06:22 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: a81283f9a290b0a31edcdb85d4342b1f\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-08-12T17:58:50.257459Z","times_seen":2788,"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":21,"timings":{"blocked":14,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.984Z","timestamp":1785139583984,"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-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 08:06:23 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: 8b3422532bef4cbd7c8c247e7de96b5e\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-28T06:17:53.450569Z","times_seen":228,"resource_available":false,"data":"LmhpZGRlbi1SM1dpQ09kbntvcGFjaXR5OjB9Lml0ZW0tSmtRWFVsdEF7cG9zaXRpb246cmVsYXRpdmV9Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7cGFkZGluZy1ib3R0b206MnB4O3BhZGRpbmctdG9wOjJweH1AbWVkaWEgKG1heC13aWR0aDo0NDBweCl7Lml0ZW0tSmtRWFVsdEEud2l0aEljb24tSmtRWFVsdEF7Zm9udC1zaXplOjE2cHg7cGFkZGluZy1ib3R0b206NnB4O3BhZGRpbmctdG9wOjZweH19LnNob3J0Y3V0LUprUVhVbHRBe21hcmdpbi1pbmxpbmUtZW5kOjA7bWluLXdpZHRoOmF1dG99QG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpey5zaG9ydGN1dC1Ka1FYVWx0QXtkaXNwbGF5Om5vbmV9fS5sb2FkaW5nLUprUVhVbHRBIC5pY29uLUprUVhVbHRBLC5sb2FkaW5nLUprUVhVbHRBIC5zaG9ydGN1dC1Ka1FYVWx0QXtvcGFjaXR5OjB9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.329Z","timestamp":1785139584329,"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-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 08:06:24 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: 183fe89fde3bec32266a5dc2796c071e\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-08-12T05:10:43.182859Z","times_seen":136,"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":"nanoquantumstellarsledger.com/frontcss/assets/font-awesome.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.984Z","timestamp":1785139581984,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/font-awesome.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7689\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":46105,"size_decoded":7998,"mime_type":"text/css","magic":"ASCII text, with very long lines (348)","md5":"4d481c7bef44ddd7c2c6f9b2bfd99599","sha1":"d23d2ce45e1c3bf1e2195787933655e832b0afb8","sha256":"53c04a6743ef1d0ce1856f5c8684ac3737c4693ed98da13536998532c7021dec","sha512":"7a79ce7b791b9809cc88cbef262e5da6dd120e84eca9d0c10657a90c9208e253d1d8c12e0b7a2597ab34235265a9a8fa5cd62e3c0080d975ea0948031e536327","ssdeep":"384:NnQk8+wUBPdxOLRzwkEMC10FuCycFHxC7U8RU6L:Jx8+wUBlxOlMkEMwFCyCRC7UI","tlshash":"5e2335a6d1bd01804329e089278b6340f3b9b6acd849df58d2a27b8dfdd16dc91c63dd","first_seen":"2025-11-23T04:10:47.88709Z","last_seen":"2026-07-27T09:11:27.341116Z","times_seen":7,"resource_available":false,"data":"LyohCiAqIEZvbnQgQXdlc29tZSBGcmVlIDUuMC42IGJ5IEBmb250YXdlc29tZSAtIGh0dHA6Ly9mb250YXdlc29tZS5jb20KICogTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSkKICovCiAuZmEsCiAuZmFzLAogLmZhciwKIC5mYWwsCiAuZmFiIHsKICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgZm9udC1zdHlsZTogbm9ybWFsOwogICBmb250LXZhcmlhbnQ6IG5vcm1hbDsKICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87CiAgIGxpbmUtaGVpZ2h0OiAxOyB9CiAKIC5mYS1sZyB7CiAgIGZvbnQtc2l6ZTogMS4zMzMzM2VtOwogICBsaW5lLWhlaWdodDogMC43NWVtOwogICB2ZXJ0aWNhbC1hbGlnbjogLS4wNjY3ZW07IH0KIAogLmZhLXhzIHsKICAgZm9udC1zaXplOiAuNzVlbTsgfQogCiAuZmEtc20gewogICBmb250LXNpemU6IC44NzVlbTsgfQogCiAuZmEtMXggewogICBmb250LXNpemU6IDFlbTsgfQogCiAuZmEtMnggewogICBmb250LXNpemU6IDJlbTsgfQogCiAuZmEtM3ggewogICBmb250LXNpemU6IDNlbTsgfQogCiAuZmEtNHggewogICBmb250LXNpemU6IDRlbTsgfQogCiAuZmEtNXggewogICBmb250LXNpemU6IDVlbTsgfQogCiAuZmEtNnggewogICBmb250LXNpemU6IDZlbTsgfQogCiAuZmEtN3ggewogICBmb250LXNpemU6IDdlbTsgfQogCiAuZmEtOHggewogICBmb250LXNpemU6IDhlbTsgfQogCiAuZmEtOXggewogICBmb250LXNpemU6IDllbTsgfQogCiAuZmEtMTB4IHsKICAgZm9udC1zaXplOiAxMGVtOyB9CiAKIC5mYS1mdyB7CiAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgd2lkdGg6IDEuMjVlbTsgfQogCiAuZmEtdWwgewogICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7CiAgIG1hcmdpbi1sZWZ0OiAyLjVlbTsKICAgcGFkZGluZy1sZWZ0OiAwOyB9CiAKIC5mYS11bCA+IGxpIHsKICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAKIC5mYS1saSB7CiAgIGxlZnQ6IC0yZW07CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgdGV4dC1hbGlnbjogY2VudGVyOwogICB3aWR0aDogMmVtOwogICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfQogCiAuZmEtYm9yZGVyIHsKICAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZTsKICAgYm9yZGVyLXJhZGl1czogLjFlbTsKICAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTsgfQogCiAuZmEtcHVsbC1sZWZ0IHsKICAgZmxvYXQ6IGxlZnQ7IH0KIAogLmZhLXB1bGwtcmlnaHQgewogICBmbG9hdDogcmlnaHQ7IH0KIAogLmZhLmZhLXB1bGwtbGVmdCwKIC5mYXMuZmEtcHVsbC1sZWZ0LAogLmZhci5mYS1wdWxsLWxlZnQsCiAuZmFsLmZhLXB1bGwtbGVmdCwKIC5mYWIuZmEtcHVsbC1sZWZ0IHsKICAgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9CiAKIC5mYS5mYS1wdWxsLXJpZ2h0LAogLmZhcy5mYS1wdWxsLXJpZ2h0LAogLmZhci5mYS1wdWxsLXJpZ2h0LAogLmZhbC5mYS1wdWxsLXJpZ2h0LAogLmZhYi5mYS1wdWxsLXJpZ2h0IHsKICAgbWFyZ2luLWxlZnQ6IC4zZW07IH0KIAogLmZhLXNwaW4gewogICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7CiAgIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7IH0KIAogLmZhLXB1bHNlIHsKICAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7CiAgIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTsgfQogCiBALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7CiAgIDAlIHsKICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgIDEwMCUgewogICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH0KIAogQGtleWZyYW1lcyBmYS1zcGluIHsKICAgMCUgewogICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgMTAwJSB7CiAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfQogCiAuZmEtcm90YXRlLTkwIHsKICAgLW1zLWZpbHRlcjogInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfQogCiAuZmEtcm90YXRlLTE4MCB7CiAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7CiAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0KIAogLmZhLXJvdGF0ZS0yNzAgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOwogICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7CiAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOwogICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9CiAKIC5mYS1mbGlwLWhvcml6b250YWwgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpIjsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsKICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOwogICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgfQogCiAuZmEtZmxpcC12ZXJ0aWNhbCB7CiAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkiOwogICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOwogICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7CiAgIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9CiAKIC5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCB7CiAgIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkiOwogICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsKICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsKICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpOyB9CiAKIDpyb290IC5mYS1yb3RhdGUtOTAsCiA6cm9vdCAuZmEtcm90YXRlLTE4MCwKIDpyb290IC5mYS1yb3RhdGUtMjcwLAogOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCwKIDpyb290IC5mYS1mbGlwLXZlcnRpY2FsIHsKICAgLXdlYmtpdC1maWx0ZXI6IG5vbmU7CiAgIGZpbHRlcjogbm9uZTsgfQogCiAuZmEtc3RhY2sgewogICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgIGhlaWdodDogMmVtOwogICBsaW5lLWhlaWdodDogMmVtOwogICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgIHdpZHRoOiAyZW07IH0KIAogLmZhLXN0YWNrLTF4LAogLmZhLXN0YWNrLTJ4IHsKICAgbGVmdDogMDsKICAgcG9zaXRpb246IGFic29sdXRlOwogICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgIHdpZHRoOiAxMDAlOyB9CiAKIC5mYS1zdGFjay0xeCB7CiAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9CiAKIC5mYS1zdGFjay0yeCB7CiAgIGZvbnQtc2l6ZTogMmVtOyB9CiAKIC5mYS1pbnZlcnNlIHsKICAgY29sb3I6ICNmZmY7IH0KIAogLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuCiByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqLwogLmZhLTUwMHB4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2ZSI7IH0KIAogLmZhLWFjY2Vzc2libGUtaWNvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNjgiOyB9CiAKIC5mYS1hY2N1c29mdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNjkiOyB9CiAKIC5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmI5IjsgfQogCiAuZmEtYWRkcmVzcy1jYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiYiI7IH0KIAogLmZhLWFkanVzdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNDIiOyB9CiAKIC5mYS1hZG46YmVmb3JlIHsKICAgY29udGVudDogIlxmMTcwIjsgfQogCiAuZmEtYWR2ZXJzYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzZhIjsgfQogCiAuZmEtYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzZiIjsgfQogCiAuZmEtYWxnb2xpYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNmMiOyB9CiAKIC5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDM3IjsgfQogCiAuZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzkiOyB9CiAKIC5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzNiI7IH0KIAogLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzOCI7IH0KIAogLmZhLWFtYXpvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzAiOyB9CiAKIC5mYS1hbWF6b24tcGF5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQyYyI7IH0KIAogLmZhLWFtYnVsYW5jZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZjkiOyB9CiAKIC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTMiOyB9CiAKIC5mYS1hbWlsaWE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzZkIjsgfQogCiAuZmEtYW5jaG9yOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzZCI7IH0KIAogLmZhLWFuZHJvaWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTdiIjsgfQogCiAuZmEtYW5nZWxsaXN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwOSI7IH0KIAogLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwMyI7IH0KIAogLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwMCI7IH0KIAogLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDEiOyB9CiAKIC5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTAyIjsgfQogCiAuZmEtYW5nbGUtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMDciOyB9CiAKIC5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwNCI7IH0KIAogLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwNSI7IH0KIAogLmZhLWFuZ2xlLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwNiI7IH0KIAogLmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzZlIjsgfQogCiAuZmEtYW5ndWxhcjpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MjAiOyB9CiAKIC5mYS1hcHAtc3RvcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzZmIjsgfQogCiAuZmEtYXBwLXN0b3JlLWlvczpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNzAiOyB9CiAKIC5mYS1hcHBlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNzEiOyB9CiAKIC5mYS1hcHBsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNzkiOyB9CiAKIC5mYS1hcHBsZS1wYXk6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDE1IjsgfQogCiAuZmEtYXJjaGl2ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODciOyB9CiAKIC5mYS1hcnJvdy1hbHQtY2lyY2xlLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMzU4IjsgfQogCiAuZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM1OSI7IH0KIAogLmZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzVhIjsgfQogCiAuZmEtYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNWIiOyB9CiAKIC5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYWIiOyB9CiAKIC5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTgiOyB9CiAKIC5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGE5IjsgfQogCiAuZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhYSI7IH0KIAogLmZhLWFycm93LWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMDYzIjsgfQogCiAuZmEtYXJyb3ctbGVmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjAiOyB9CiAKIC5mYS1hcnJvdy1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjEiOyB9CiAKIC5mYS1hcnJvdy11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjIiOyB9CiAKIC5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBiMiI7IH0KIAogLmZhLWFycm93cy1hbHQtaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzMzciOyB9CiAKIC5mYS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzM4IjsgfQogCiAuZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhMiI7IH0KIAogLmZhLWFzdGVyaXNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2OSI7IH0KIAogLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzcyIjsgfQogCiAuZmEtYXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWZhIjsgfQogCiAuZmEtYXVkaWJsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNzMiOyB9CiAKIC5mYS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOWUiOyB9CiAKIC5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDFjIjsgfQogCiAuZmEtYXZpYW5leDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNzQiOyB9CiAKIC5mYS1hdmlhdG86YmVmb3JlIHsKICAgY29udGVudDogIlxmNDIxIjsgfQogCiAuZmEtYXdzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM3NSI7IH0KIAogLmZhLWJhY2t3YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0YSI7IH0KIAogLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjRlIjsgfQogCiAuZmEtYmFuOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1ZSI7IH0KIAogLmZhLWJhbmRjYW1wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJkNSI7IH0KIAogLmZhLWJhcmNvZGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDJhIjsgfQogCiAuZmEtYmFyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYzkiOyB9CiAKIC5mYS1iYXNlYmFsbC1iYWxsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQzMyI7IH0KIAogLmZhLWJhc2tldGJhbGwtYmFsbDpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MzQiOyB9CiAKIC5mYS1iYXRoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJjZCI7IH0KIAogLmZhLWJhdHRlcnktZW1wdHk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQ0IjsgfQogCiAuZmEtYmF0dGVyeS1mdWxsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0MCI7IH0KIAogLmZhLWJhdHRlcnktaGFsZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDIiOyB9CiAKIC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjQzIjsgfQogCiAuZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDEiOyB9CiAKIC5mYS1iZWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjM2IjsgfQogCiAuZmEtYmVlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZmMiOyB9CiAKIC5mYS1iZWhhbmNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiNCI7IH0KIAogLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFiNSI7IH0KIAogLmZhLWJlbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGYzIjsgfQogCiAuZmEtYmVsbC1zbGFzaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjYiOyB9CiAKIC5mYS1iaWN5Y2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwNiI7IH0KIAogLmZhLWJpbW9iamVjdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzNzgiOyB9CiAKIC5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlNSI7IH0KIAogLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWZkIjsgfQogCiAuZmEtYml0YnVja2V0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3MSI7IH0KIAogLmZhLWJpdGNvaW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMzc5IjsgfQogCiAuZmEtYml0eTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzN2EiOyB9CiAKIC5mYS1ibGFjay10aWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdlIjsgfQogCiAuZmEtYmxhY2tiZXJyeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzN2IiOyB9CiAKIC5mYS1ibGluZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOWQiOyB9CiAKIC5mYS1ibG9nZ2VyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM3YyI7IH0KIAogLmZhLWJsb2dnZXItYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzN2QiOyB9CiAKIC5mYS1ibHVldG9vdGg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjkzIjsgfQogCiAuZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjk0IjsgfQogCiAuZmEtYm9sZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzIiOyB9CiAKIC5mYS1ib2x0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlNyI7IH0KIAogLmZhLWJvbWI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWUyIjsgfQogCiAuZmEtYm9vazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMmQiOyB9CiAKIC5mYS1ib29rbWFyazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMmUiOyB9CiAKIC5mYS1ib3dsaW5nLWJhbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDM2IjsgfQogCiAuZmEtYnJhaWxsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTEiOyB9CiAKIC5mYS1icmllZmNhc2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGIxIjsgfQogCiAuZmEtYnRjOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1YSI7IH0KIAogLmZhLWJ1ZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODgiOyB9CiAKIC5mYS1idWlsZGluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYWQiOyB9CiAKIC5mYS1idWxsaG9ybjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTEiOyB9CiAKIC5mYS1idWxsc2V5ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDAiOyB9CiAKIC5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM3ZiI7IH0KIAogLmZhLWJ1czpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMDciOyB9CiAKIC5mYS1idXlzZWxsYWRzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwZCI7IH0KIAogLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWVjIjsgfQogCiAuZmEtY2FsZW5kYXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTMzIjsgfQogCiAuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3MyI7IH0KIAogLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3NCI7IH0KIAogLmZhLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3MiI7IH0KIAogLmZhLWNhbGVuZGFyLXBsdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjcxIjsgfQogCiAuZmEtY2FsZW5kYXItdGltZXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjczIjsgfQogCiAuZmEtY2FtZXJhOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzMCI7IH0KIAogLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwODMiOyB9CiAKIC5mYS1jYXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI5IjsgfQogCiAuZmEtY2FyZXQtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDciOyB9CiAKIC5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkOSI7IH0KIAogLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkYSI7IH0KIAogLmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1MCI7IH0KIAogLmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5MSI7IH0KIAogLmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTIiOyB9CiAKIC5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTUxIjsgfQogCiAuZmEtY2FyZXQtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQ4IjsgfQogCiAuZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxOCI7IH0KIAogLmZhLWNhcnQtcGx1czpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTciOyB9CiAKIC5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQyZCI7IH0KIAogLmZhLWNjLWFtZXg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWYzIjsgfQogCiAuZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQxNiI7IH0KIAogLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0YyI7IH0KIAogLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmMiI7IH0KIAogLmZhLWNjLWpjYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNGIiOyB9CiAKIC5mYS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFmMSI7IH0KIAogLmZhLWNjLXBheXBhbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjQiOyB9CiAKIC5mYS1jYy1zdHJpcGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWY1IjsgfQogCiAuZmEtY2MtdmlzYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZjAiOyB9CiAKIC5mYS1jZW50ZXJjb2RlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM4MCI7IH0KIAogLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhMyI7IH0KIAogLmZhLWNoYXJ0LWFyZWE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWZlIjsgfQogCiAuZmEtY2hhcnQtYmFyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4MCI7IH0KIAogLmZhLWNoYXJ0LWxpbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjAxIjsgfQogCiAuZmEtY2hhcnQtcGllOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwMCI7IH0KIAogLmZhLWNoZWNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwYyI7IH0KIAogLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTgiOyB9CiAKIC5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTRhIjsgfQogCiAuZmEtY2hlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDM5IjsgfQogCiAuZmEtY2hlc3MtYmlzaG9wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQzYSI7IH0KIAogLmZhLWNoZXNzLWJvYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQzYyI7IH0KIAogLmZhLWNoZXNzLWtpbmc6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDNmIjsgfQogCiAuZmEtY2hlc3Mta25pZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQ0MSI7IH0KIAogLmZhLWNoZXNzLXBhd246YmVmb3JlIHsKICAgY29udGVudDogIlxmNDQzIjsgfQogCiAuZmEtY2hlc3MtcXVlZW46YmVmb3JlIHsKICAgY29udGVudDogIlxmNDQ1IjsgfQogCiAuZmEtY2hlc3Mtcm9vazpiZWZvcmUgewogICBjb250ZW50OiAiXGY0NDciOyB9CiAKIC5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzYSI7IH0KIAogLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTM3IjsgfQogCiAuZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTM4IjsgfQogCiAuZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTM5IjsgfQogCiAuZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3OCI7IH0KIAogLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTMiOyB9CiAKIC5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1NCI7IH0KIAogLmZhLWNoZXZyb24tdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDc3IjsgfQogCiAuZmEtY2hpbGQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWFlIjsgfQogCiAuZmEtY2hyb21lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2OCI7IH0KIAogLmZhLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMTEiOyB9CiAKIC5mYS1jaXJjbGUtbm90Y2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWNlIjsgfQogCiAuZmEtY2xpcGJvYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjMyOCI7IH0KIAogLmZhLWNsb2NrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxNyI7IH0KIAogLmZhLWNsb25lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI0ZCI7IH0KIAogLmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwYSI7IH0KIAogLmZhLWNsb3VkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMiI7IH0KIAogLmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzODEiOyB9CiAKIC5mYS1jbG91ZC11cGxvYWQtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM4MiI7IH0KIAogLmZhLWNsb3Vkc2NhbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzgzIjsgfQogCiAuZmEtY2xvdWRzbWl0aDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzODQiOyB9CiAKIC5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzg1IjsgfQogCiAuZmEtY29kZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMjEiOyB9CiAKIC5mYS1jb2RlLWJyYW5jaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMjYiOyB9CiAKIC5mYS1jb2RlcGVuOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjYiI7IH0KIAogLmZhLWNvZGllcGllOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4NCI7IH0KIAogLmZhLWNvZmZlZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZjQiOyB9CiAKIC5mYS1jb2c6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDEzIjsgfQogCiAuZmEtY29nczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwODUiOyB9CiAKIC5mYS1jb2x1bW5zOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkYiI7IH0KIAogLmZhLWNvbW1lbnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDc1IjsgfQogCiAuZmEtY29tbWVudC1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdhIjsgfQogCiAuZmEtY29tbWVudHM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg2IjsgfQogCiAuZmEtY29tcGFzczpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNGUiOyB9CiAKIC5mYS1jb21wcmVzczpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjYiOyB9CiAKIC5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMGUiOyB9CiAKIC5mYS1jb250YW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZkIjsgfQogCiAuZmEtY29weTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYzUiOyB9CiAKIC5mYS1jb3B5cmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWY5IjsgfQogCiAuZmEtY3BhbmVsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM4OCI7IH0KIAogLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjVlIjsgfQogCiAuZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDlkIjsgfQogCiAuZmEtY3JvcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMjUiOyB9CiAKIC5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1YiI7IH0KIAogLmZhLWNzczM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTNjIjsgfQogCiAuZmEtY3NzMy1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzhiIjsgfQogCiAuZmEtY3ViZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjIiOyB9CiAKIC5mYS1jdWJlczpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjMiOyB9CiAKIC5mYS1jdXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGM0IjsgfQogCiAuZmEtY3V0dGxlZmlzaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOGMiOyB9CiAKIC5mYS1kLWFuZC1kOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM4ZCI7IH0KIAogLmZhLWRhc2hjdWJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxMCI7IH0KIAogLmZhLWRhdGFiYXNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjMCI7IH0KIAogLmZhLWRlYWY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmE0IjsgfQogCiAuZmEtZGVsaWNpb3VzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhNSI7IH0KIAogLmZhLWRlcGxveWRvZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOGUiOyB9CiAKIC5mYS1kZXNrcHJvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM4ZiI7IH0KIAogLmZhLWRlc2t0b3A6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTA4IjsgfQogCiAuZmEtZGV2aWFudGFydDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYmQiOyB9CiAKIC5mYS1kaWdnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhNiI7IH0KIAogLmZhLWRpZ2l0YWwtb2NlYW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMzkxIjsgfQogCiAuZmEtZGlzY29yZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOTIiOyB9CiAKIC5mYS1kaXNjb3Vyc2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzkzIjsgfQogCiAuZmEtZG9jaHViOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM5NCI7IH0KIAogLmZhLWRvY2tlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOTUiOyB9CiAKIC5mYS1kb2xsYXItc2lnbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTUiOyB9CiAKIC5mYS1kb3QtY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5MiI7IH0KIAogLmZhLWRvd25sb2FkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxOSI7IH0KIAogLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzk2IjsgfQogCiAuZmEtZHJpYmJibGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTdkIjsgfQogCiAuZmEtZHJpYmJibGUtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM5NyI7IH0KIAogLmZhLWRyb3Bib3g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTZiIjsgfQogCiAuZmEtZHJ1cGFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhOSI7IH0KIAogLmZhLWR5YWxvZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOTkiOyB9CiAKIC5mYS1lYXJseWJpcmRzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM5YSI7IH0KIAogLmZhLWVkZ2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjgyIjsgfQogCiAuZmEtZWRpdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNDQiOyB9CiAKIC5mYS1lamVjdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTIiOyB9CiAKIC5mYS1lbGVtZW50b3I6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDMwIjsgfQogCiAuZmEtZWxsaXBzaXMtaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDEiOyB9CiAKIC5mYS1lbGxpcHNpcy12OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0MiI7IH0KIAogLmZhLWVtYmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQyMyI7IH0KIAogLmZhLWVtcGlyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDEiOyB9CiAKIC5mYS1lbnZlbG9wZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTAiOyB9CiAKIC5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiNiI7IH0KIAogLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOTkiOyB9CiAKIC5mYS1lbnZpcmE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjk5IjsgfQogCiAuZmEtZXJhc2VyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyZCI7IH0KIAogLmZhLWVybGFuZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOWQiOyB9CiAKIC5mYS1ldGhlcmV1bTpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MmUiOyB9CiAKIC5mYS1ldHN5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJkNyI7IH0KIAogLmZhLWV1cm8tc2lnbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTMiOyB9CiAKIC5mYS1leGNoYW5nZS1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzYyIjsgfQogCiAuZmEtZXhjbGFtYXRpb246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTJhIjsgfQogCiAuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2YSI7IH0KIAogLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3MSI7IH0KIAogLmZhLWV4cGFuZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNjUiOyB9CiAKIC5mYS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzMWUiOyB9CiAKIC5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjNlIjsgfQogCiAuZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzVkIjsgfQogCiAuZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM2MCI7IH0KIAogLmZhLWV5ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNmUiOyB9CiAKIC5mYS1leWUtZHJvcHBlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZmIiOyB9CiAKIC5mYS1leWUtc2xhc2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDcwIjsgfQogCiAuZmEtZmFjZWJvb2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDlhIjsgfQogCiAuZmEtZmFjZWJvb2stZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzOWUiOyB9CiAKIC5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMzlmIjsgfQogCiAuZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4MiI7IH0KIAogLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ5IjsgfQogCiAuZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1MCI7IH0KIAogLmZhLWZheDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYWMiOyB9CiAKIC5mYS1mZW1hbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTgyIjsgfQogCiAuZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGZiIjsgfQogCiAuZmEtZmlsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNWIiOyB9CiAKIC5mYS1maWxlLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNWMiOyB9CiAKIC5mYS1maWxlLWFyY2hpdmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWM2IjsgfQogCiAuZmEtZmlsZS1hdWRpbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzciOyB9CiAKIC5mYS1maWxlLWNvZGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWM5IjsgfQogCiAuZmEtZmlsZS1leGNlbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzMiOyB9CiAKIC5mYS1maWxlLWltYWdlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjNSI7IH0KIAogLmZhLWZpbGUtcGRmOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjMSI7IH0KIAogLmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzQiOyB9CiAKIC5mYS1maWxlLXZpZGVvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjOCI7IH0KIAogLmZhLWZpbGUtd29yZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYzIiOyB9CiAKIC5mYS1maWxtOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwOCI7IH0KIAogLmZhLWZpbHRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYjAiOyB9CiAKIC5mYS1maXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2ZCI7IH0KIAogLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzNCI7IH0KIAogLmZhLWZpcmVmb3g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjY5IjsgfQogCiAuZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmIwIjsgfQogCiAuZmEtZmlyc3RkcmFmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYTEiOyB9CiAKIC5mYS1mbGFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyNCI7IH0KIAogLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExZSI7IH0KIAogLmZhLWZsYXNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMyI7IH0KIAogLmZhLWZsaWNrcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNmUiOyB9CiAKIC5mYS1mbGlwYm9hcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDRkIjsgfQogCiAuZmEtZmx5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQxNyI7IH0KIAogLmZhLWZvbGRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwN2IiOyB9CiAKIC5mYS1mb2xkZXItb3BlbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwN2MiOyB9CiAKIC5mYS1mb250OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzMSI7IH0KIAogLmZhLWZvbnQtYXdlc29tZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYjQiOyB9CiAKIC5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjM1YyI7IH0KIAogLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQyNSI7IH0KIAogLmZhLWZvbnRpY29uczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODAiOyB9CiAKIC5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2EyIjsgfQogCiAuZmEtZm9vdGJhbGwtYmFsbDpiZWZvcmUgewogICBjb250ZW50OiAiXGY0NGUiOyB9CiAKIC5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjg2IjsgfQogCiAuZmEtZm9ydC1hd2Vzb21lLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYTMiOyB9CiAKIC5mYS1mb3J1bWJlZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMTEiOyB9CiAKIC5mYS1mb3J3YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0ZSI7IH0KIAogLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTgwIjsgfQogCiAuZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmM1IjsgfQogCiAuZmEtZnJlZWJzZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYTQiOyB9CiAKIC5mYS1mcm93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMTkiOyB9CiAKIC5mYS1mdXRib2w6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWUzIjsgfQogCiAuZmEtZ2FtZXBhZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMWIiOyB9CiAKIC5mYS1nYXZlbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTMiOyB9CiAKIC5mYS1nZW06YmVmb3JlIHsKICAgY29udGVudDogIlxmM2E1IjsgfQogCiAuZmEtZ2VuZGVybGVzczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMmQiOyB9CiAKIC5mYS1nZXQtcG9ja2V0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2NSI7IH0KIAogLmZhLWdnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2MCI7IH0KIAogLmZhLWdnLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNjEiOyB9CiAKIC5mYS1naWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2YiI7IH0KIAogLmZhLWdpdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZDMiOyB9CiAKIC5mYS1naXQtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkMiI7IH0KIAogLmZhLWdpdGh1YjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOWIiOyB9CiAKIC5mYS1naXRodWItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjExMyI7IH0KIAogLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDkyIjsgfQogCiAuZmEtZ2l0a3Jha2VuOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhNiI7IH0KIAogLmZhLWdpdGxhYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTYiOyB9CiAKIC5mYS1naXR0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDI2IjsgfQogCiAuZmEtZ2xhc3MtbWFydGluaTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDAiOyB9CiAKIC5mYS1nbGlkZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYTUiOyB9CiAKIC5mYS1nbGlkZS1nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhNiI7IH0KIAogLmZhLWdsb2JlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhYyI7IH0KIAogLmZhLWdvZm9yZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYTciOyB9CiAKIC5mYS1nb2xmLWJhbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDUwIjsgfQogCiAuZmEtZ29vZHJlYWRzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhOCI7IH0KIAogLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhOSI7IH0KIAogLmZhLWdvb2dsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTAiOyB9CiAKIC5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2FhIjsgfQogCiAuZmEtZ29vZ2xlLXBsYXk6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2FiIjsgfQogCiAuZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmIzIjsgfQogCiAuZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDUiOyB9CiAKIC5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQ0IjsgfQogCiAuZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZWUiOyB9CiAKIC5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOWQiOyB9CiAKIC5mYS1ncmF0aXBheTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODQiOyB9CiAKIC5mYS1ncmF2OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJkNiI7IH0KIAogLmZhLWdyaXBmaXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhYyI7IH0KIAogLmZhLWdydW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhZCI7IH0KIAogLmZhLWd1bHA6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2FlIjsgfQogCiAuZmEtaC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGZkIjsgfQogCiAuZmEtaGFja2VyLW5ld3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ0IjsgfQogCiAuZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNhZiI7IH0KIAogLmZhLWhhbmQtbGl6YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1OCI7IH0KIAogLmZhLWhhbmQtcGFwZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjU2IjsgfQogCiAuZmEtaGFuZC1wZWFjZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNWIiOyB9CiAKIC5mYS1oYW5kLXBvaW50LWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMGE3IjsgfQogCiAuZmEtaGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBhNSI7IH0KIAogLmZhLWhhbmQtcG9pbnQtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGE0IjsgfQogCiAuZmEtaGFuZC1wb2ludC11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYTYiOyB9CiAKIC5mYS1oYW5kLXBvaW50ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjVhIjsgfQogCiAuZmEtaGFuZC1yb2NrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI1NSI7IH0KIAogLmZhLWhhbmQtc2Npc3NvcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjU3IjsgfQogCiAuZmEtaGFuZC1zcG9jazpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNTkiOyB9CiAKIC5mYS1oYW5kc2hha2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmI1IjsgfQogCiAuZmEtaGFzaHRhZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTIiOyB9CiAKIC5mYS1oZGQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGEwIjsgfQogCiAuZmEtaGVhZGluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZGMiOyB9CiAKIC5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyNSI7IH0KIAogLmZhLWhlYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwNCI7IH0KIAogLmZhLWhlYXJ0YmVhdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMWUiOyB9CiAKIC5mYS1oaXBzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQ1MiI7IH0KIAogLmZhLWhpcmUtYS1oZWxwZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2IwIjsgfQogCiAuZmEtaGlzdG9yeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZGEiOyB9CiAKIC5mYS1ob2NrZXktcHVjazpiZWZvcmUgewogICBjb250ZW50OiAiXGY0NTMiOyB9CiAKIC5mYS1ob21lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxNSI7IH0KIAogLmZhLWhvb2xpOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQyNyI7IH0KIAogLmZhLWhvc3BpdGFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmOCI7IH0KIAogLmZhLWhvdGphcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYjEiOyB9CiAKIC5mYS1ob3VyZ2xhc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjU0IjsgfQogCiAuZmEtaG91cmdsYXNzLWVuZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNTMiOyB9CiAKIC5mYS1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNTIiOyB9CiAKIC5mYS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjUxIjsgfQogCiAuZmEtaG91eno6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjdjIjsgfQogCiAuZmEtaHRtbDU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTNiIjsgfQogCiAuZmEtaHVic3BvdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYjIiOyB9CiAKIC5mYS1pLWN1cnNvcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDYiOyB9CiAKIC5mYS1pZC1iYWRnZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYzEiOyB9CiAKIC5mYS1pZC1jYXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJjMiI7IH0KIAogLmZhLWltYWdlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzZSI7IH0KIAogLmZhLWltYWdlczpiZWZvcmUgewogICBjb250ZW50OiAiXGYzMDIiOyB9CiAKIC5mYS1pbWRiOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJkOCI7IH0KIAogLmZhLWluYm94OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAxYyI7IH0KIAogLmZhLWluZGVudDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwM2MiOyB9CiAKIC5mYS1pbmR1c3RyeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzUiOyB9CiAKIC5mYS1pbmZvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyOSI7IH0KIAogLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1YSI7IH0KIAogLmZhLWluc3RhZ3JhbTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNmQiOyB9CiAKIC5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNmIiOyB9CiAKIC5mYS1pb3hob3N0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwOCI7IH0KIAogLmZhLWl0YWxpYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMzMiOyB9CiAKIC5mYS1pdHVuZXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2I0IjsgfQogCiAuZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2I1IjsgfQogCiAuZmEtamVua2luczpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYjYiOyB9CiAKIC5mYS1qb2dldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYjciOyB9CiAKIC5mYS1qb29tbGE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWFhIjsgfQogCiAuZmEtanM6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2I4IjsgfQogCiAuZmEtanMtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNiOSI7IH0KIAogLmZhLWpzZmlkZGxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjYyI7IH0KIAogLmZhLWtleTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwODQiOyB9CiAKIC5mYS1rZXlib2FyZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMWMiOyB9CiAKIC5mYS1rZXljZG46YmVmb3JlIHsKICAgY29udGVudDogIlxmM2JhIjsgfQogCiAuZmEta2lja3N0YXJ0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2JiIjsgfQogCiAuZmEta2lja3N0YXJ0ZXItazpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYmMiOyB9CiAKIC5mYS1rb3J2dWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDJmIjsgfQogCiAuZmEtbGFuZ3VhZ2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWFiIjsgfQogCiAuZmEtbGFwdG9wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwOSI7IH0KIAogLmZhLWxhcmF2ZWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2JkIjsgfQogCiAuZmEtbGFzdGZtOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwMiI7IH0KIAogLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjAzIjsgfQogCiAuZmEtbGVhZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNmMiOyB9CiAKIC5mYS1sZWFucHViOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxMiI7IH0KIAogLmZhLWxlbW9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA5NCI7IH0KIAogLmZhLWxlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDFkIjsgfQogCiAuZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2JlIjsgfQogCiAuZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNiZiI7IH0KIAogLmZhLWxpZmUtcmluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxY2QiOyB9CiAKIC5mYS1saWdodGJ1bGI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGViIjsgfQogCiAuZmEtbGluZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYzAiOyB9CiAKIC5mYS1saW5rOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjMSI7IH0KIAogLmZhLWxpbmtlZGluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA4YyI7IH0KIAogLmZhLWxpbmtlZGluLWluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlMSI7IH0KIAogLmZhLWxpbm9kZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYjgiOyB9CiAKIC5mYS1saW51eDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxN2MiOyB9CiAKIC5mYS1saXJhLXNpZ246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTk1IjsgfQogCiAuZmEtbGlzdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwM2EiOyB9CiAKIC5mYS1saXN0LWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjIiOyB9CiAKIC5mYS1saXN0LW9sOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjYiI7IH0KIAogLmZhLWxpc3QtdWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGNhIjsgfQogCiAuZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTI0IjsgfQogCiAuZmEtbG9jazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjMiOyB9CiAKIC5mYS1sb2NrLW9wZW46YmVmb3JlIHsKICAgY29udGVudDogIlxmM2MxIjsgfQogCiAuZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzMDkiOyB9CiAKIC5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjMwYSI7IH0KIAogLmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjMwYiI7IH0KIAogLmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjMwYyI7IH0KIAogLmZhLWxvdy12aXNpb246YmVmb3JlIHsKICAgY29udGVudDogIlxmMmE4IjsgfQogCiAuZmEtbHlmdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYzMiOyB9CiAKIC5mYS1tYWdlbnRvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNjNCI7IH0KIAogLmZhLW1hZ2ljOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkMCI7IH0KIAogLmZhLW1hZ25ldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNzYiOyB9CiAKIC5mYS1tYWxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4MyI7IH0KIAogLmZhLW1hcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNzkiOyB9CiAKIC5mYS1tYXAtbWFya2VyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0MSI7IH0KIAogLmZhLW1hcC1tYXJrZXItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNjNSI7IH0KIAogLmZhLW1hcC1waW46YmVmb3JlIHsKICAgY29udGVudDogIlxmMjc2IjsgfQogCiAuZmEtbWFwLXNpZ25zOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI3NyI7IH0KIAogLmZhLW1hcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjIyIjsgfQogCiAuZmEtbWFycy1kb3VibGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI3IjsgfQogCiAuZmEtbWFycy1zdHJva2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI5IjsgfQogCiAuZmEtbWFycy1zdHJva2UtaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMmIiOyB9CiAKIC5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyYSI7IH0KIAogLmZhLW1heGNkbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMzYiOyB9CiAKIC5mYS1tZWRhcHBzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNjNiI7IH0KIAogLmZhLW1lZGl1bTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyM2EiOyB9CiAKIC5mYS1tZWRpdW0tbTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzYzciOyB9CiAKIC5mYS1tZWRraXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGZhIjsgfQogCiAuZmEtbWVkcnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2M4IjsgfQogCiAuZmEtbWVldHVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJlMCI7IH0KIAogLmZhLW1laDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMWEiOyB9CiAKIC5mYS1tZXJjdXJ5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyMyI7IH0KIAogLmZhLW1pY3JvY2hpcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZGIiOyB9CiAKIC5mYS1taWNyb3Bob25lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzMCI7IH0KIAogLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTMxIjsgfQogCiAuZmEtbWljcm9zb2Z0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNjYSI7IH0KIAogLmZhLW1pbnVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA2OCI7IH0KIAogLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTYiOyB9CiAKIC5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTQ2IjsgfQogCiAuZmEtbWl4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNjYiI7IH0KIAogLmZhLW1peGNsb3VkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4OSI7IH0KIAogLmZhLW1penVuaTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzY2MiOyB9CiAKIC5mYS1tb2JpbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTBiIjsgfQogCiAuZmEtbW9iaWxlLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzY2QiOyB9CiAKIC5mYS1tb2R4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4NSI7IH0KIAogLmZhLW1vbmVybzpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZDAiOyB9CiAKIC5mYS1tb25leS1iaWxsLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZDEiOyB9CiAKIC5mYS1tb29uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4NiI7IH0KIAogLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjFjIjsgfQogCiAuZmEtbW91c2UtcG9pbnRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDUiOyB9CiAKIC5mYS1tdXNpYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDEiOyB9CiAKIC5mYS1uYXBzdGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNkMiI7IH0KIAogLmZhLW5ldXRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMmMiOyB9CiAKIC5mYS1uZXdzcGFwZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWVhIjsgfQogCiAuZmEtbmludGVuZG8tc3dpdGNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQxOCI7IH0KIAogLmZhLW5vZGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDE5IjsgfQogCiAuZmEtbm9kZS1qczpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZDMiOyB9CiAKIC5mYS1ucG06YmVmb3JlIHsKICAgY29udGVudDogIlxmM2Q0IjsgfQogCiAuZmEtbnM4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNkNSI7IH0KIAogLmZhLW51dHJpdGlvbml4OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNkNiI7IH0KIAogLmZhLW9iamVjdC1ncm91cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDciOyB9CiAKIC5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDgiOyB9CiAKIC5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2MyI7IH0KIAogLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2NCI7IH0KIAogLmZhLW9wZW5jYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzZCI7IH0KIAogLmZhLW9wZW5pZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOWIiOyB9CiAKIC5mYS1vcGVyYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNmEiOyB9CiAKIC5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzYyI7IH0KIAogLmZhLW9zaTpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MWEiOyB9CiAKIC5mYS1vdXRkZW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzYiI7IH0KIAogLmZhLXBhZ2U0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNkNyI7IH0KIAogLmZhLXBhZ2VsaW5lczpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOGMiOyB9CiAKIC5mYS1wYWludC1icnVzaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZmMiOyB9CiAKIC5mYS1wYWxmZWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2Q4IjsgfQogCiAuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ4IjsgfQogCiAuZmEtcGFwZXJjbGlwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBjNiI7IH0KIAogLmZhLXBhcmFncmFwaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZGQiOyB9CiAKIC5mYS1wYXN0ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZWEiOyB9CiAKIC5mYS1wYXRyZW9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNkOSI7IH0KIAogLmZhLXBhdXNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0YyI7IH0KIAogLmZhLXBhdXNlLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOGIiOyB9CiAKIC5mYS1wYXc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWIwIjsgfQogCiAuZmEtcGF5cGFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlZCI7IH0KIAogLmZhLXBlbi1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTRiIjsgfQogCiAuZmEtcGVuY2lsLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzMDMiOyB9CiAKIC5mYS1wZXJjZW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5NSI7IH0KIAogLmZhLXBlcmlzY29wZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZGEiOyB9CiAKIC5mYS1waGFicmljYXRvcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZGIiOyB9CiAKIC5mYS1waG9lbml4LWZyYW1ld29yazpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZGMiOyB9CiAKIC5mYS1waG9uZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOTUiOyB9CiAKIC5mYS1waG9uZS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk4IjsgfQogCiAuZmEtcGhvbmUtdm9sdW1lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhMCI7IH0KIAogLmZhLXBocDpiZWZvcmUgewogICBjb250ZW50OiAiXGY0NTciOyB9CiAKIC5mYS1waWVkLXBpcGVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhZSI7IH0KIAogLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhOCI7IH0KIAogLmZhLXBpZWQtcGlwZXItcHA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWE3IjsgfQogCiAuZmEtcGludGVyZXN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkMiI7IH0KIAogLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzMSI7IH0KIAogLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGQzIjsgfQogCiAuZmEtcGxhbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDcyIjsgfQogCiAuZmEtcGxheTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNGIiOyB9CiAKIC5mYS1wbGF5LWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDQiOyB9CiAKIC5mYS1wbGF5c3RhdGlvbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZGYiOyB9CiAKIC5mYS1wbHVnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlNiI7IH0KIAogLmZhLXBsdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDY3IjsgfQogCiAuZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDU1IjsgfQogCiAuZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGZlIjsgfQogCiAuZmEtcG9kY2FzdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyY2UiOyB9CiAKIC5mYS1wb3VuZC1zaWduOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1NCI7IH0KIAogLmZhLXBvd2VyLW9mZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMTEiOyB9CiAKIC5mYS1wcmludDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMmYiOyB9CiAKIC5mYS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjg4IjsgfQogCiAuZmEtcHVzaGVkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNlMSI7IH0KIAogLmZhLXB1enpsZS1waWVjZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMmUiOyB9CiAKIC5mYS1weXRob246YmVmb3JlIHsKICAgY29udGVudDogIlxmM2UyIjsgfQogCiAuZmEtcXE6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQ2IjsgfQogCiAuZmEtcXJjb2RlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyOSI7IH0KIAogLmZhLXF1ZXN0aW9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyOCI7IH0KIAogLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTkiOyB9CiAKIC5mYS1xdWlkZGl0Y2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDU4IjsgfQogCiAuZmEtcXVpbnNjYXBlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQ1OSI7IH0KIAogLmZhLXF1b3JhOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJjNCI7IH0KIAogLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTBkIjsgfQogCiAuZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTBlIjsgfQogCiAuZmEtcmFuZG9tOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3NCI7IH0KIAogLmZhLXJhdmVscnk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmQ5IjsgfQogCiAuZmEtcmVhY3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDFiIjsgfQogCiAuZmEtcmViZWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWQwIjsgfQogCiAuZmEtcmVjeWNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjgiOyB9CiAKIC5mYS1yZWQtcml2ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2UzIjsgfQogCiAuZmEtcmVkZGl0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhMSI7IH0KIAogLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODEiOyB9CiAKIC5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhMiI7IH0KIAogLmZhLXJlZG86YmVmb3JlIHsKICAgY29udGVudDogIlxmMDFlIjsgfQogCiAuZmEtcmVkby1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmY5IjsgfQogCiAuZmEtcmVnaXN0ZXJlZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNWQiOyB9CiAKIC5mYS1yZW5kYWN0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNlNCI7IH0KIAogLmZhLXJlbnJlbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOGIiOyB9CiAKIC5mYS1yZXBseTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZTUiOyB9CiAKIC5mYS1yZXBseS1hbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTIyIjsgfQogCiAuZmEtcmVwbHlkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNlNiI7IH0KIAogLmZhLXJlc29sdmluZzpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZTciOyB9CiAKIC5mYS1yZXR3ZWV0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3OSI7IH0KIAogLmZhLXJvYWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDE4IjsgfQogCiAuZmEtcm9ja2V0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzNSI7IH0KIAogLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2U4IjsgfQogCiAuZmEtcm9ja3JtczpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZTkiOyB9CiAKIC5mYS1yc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDllIjsgfQogCiAuZmEtcnNzLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNDMiOyB9CiAKIC5mYS1ydWJsZS1zaWduOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1OCI7IH0KIAogLmZhLXJ1cGVlLXNpZ246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTU2IjsgfQogCiAuZmEtc2FmYXJpOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2NyI7IH0KIAogLmZhLXNhc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDFlIjsgfQogCiAuZmEtc2F2ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwYzciOyB9CiAKIC5mYS1zY2hsaXg6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2VhIjsgfQogCiAuZmEtc2NyaWJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4YSI7IH0KIAogLmZhLXNlYXJjaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDIiOyB9CiAKIC5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDEwIjsgfQogCiAuZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDBlIjsgfQogCiAuZmEtc2VhcmNoZW5naW46YmVmb3JlIHsKICAgY29udGVudDogIlxmM2ViIjsgfQogCiAuZmEtc2VsbGNhc3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmRhIjsgfQogCiAuZmEtc2VsbHN5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxMyI7IH0KIAogLmZhLXNlcnZlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzMiOyB9CiAKIC5mYS1zZXJ2aWNlc3RhY2s6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2VjIjsgfQogCiAuZmEtc2hhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDY0IjsgfQogCiAuZmEtc2hhcmUtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlMCI7IH0KIAogLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWUxIjsgfQogCiAuZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE0ZCI7IH0KIAogLmZhLXNoZWtlbC1zaWduOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwYiI7IH0KIAogLmZhLXNoaWVsZC1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2VkIjsgfQogCiAuZmEtc2hpcDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMWEiOyB9CiAKIC5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjE0IjsgfQogCiAuZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5MCI7IH0KIAogLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTEiOyB9CiAKIC5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA3YSI7IH0KIAogLmZhLXNob3dlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyY2MiOyB9CiAKIC5mYS1zaWduLWluLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZjYiOyB9CiAKIC5mYS1zaWduLWxhbmd1YWdlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhNyI7IH0KIAogLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZjUiOyB9CiAKIC5mYS1zaWduYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDEyIjsgfQogCiAuZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjE1IjsgfQogCiAuZmEtc2lzdHJpeDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZWUiOyB9CiAKIC5mYS1zaXRlbWFwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBlOCI7IH0KIAogLmZhLXNreWF0bGFzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxNiI7IH0KIAogLmZhLXNreXBlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3ZSI7IH0KIAogLmZhLXNsYWNrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5OCI7IH0KIAogLmZhLXNsYWNrLWhhc2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2VmIjsgfQogCiAuZmEtc2xpZGVycy1oOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkZSI7IH0KIAogLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWU3IjsgfQogCiAuZmEtc21pbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTE4IjsgfQogCiAuZmEtc25hcGNoYXQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmFiIjsgfQogCiAuZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmFjIjsgfQogCiAuZmEtc25hcGNoYXQtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJhZCI7IH0KIAogLmZhLXNub3dmbGFrZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZGMiOyB9CiAKIC5mYS1zb3J0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkYyI7IH0KIAogLmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNWQiOyB9CiAKIC5mYS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE1ZSI7IH0KIAogLmZhLXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTYwIjsgfQogCiAuZmEtc29ydC1hbW91bnQtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTYxIjsgfQogCiAuZmEtc29ydC1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkZCI7IH0KIAogLmZhLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2MiI7IH0KIAogLmZhLXNvcnQtbnVtZXJpYy11cDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNjMiOyB9CiAKIC5mYS1zb3J0LXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBkZSI7IH0KIAogLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWJlIjsgfQogCiAuZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOTciOyB9CiAKIC5mYS1zcGVha2FwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNmMyI7IH0KIAogLmZhLXNwaW5uZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTEwIjsgfQogCiAuZmEtc3BvdGlmeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYmMiOyB9CiAKIC5mYS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGM4IjsgfQogCiAuZmEtc3F1YXJlLWZ1bGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDVjIjsgfQogCiAuZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMThkIjsgfQogCiAuZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTZjIjsgfQogCiAuZmEtc3RhcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMDUiOyB9CiAKIC5mYS1zdGFyLWhhbGY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDg5IjsgfQogCiAuZmEtc3RheWxpbmtlZDpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZjUiOyB9CiAKIC5mYS1zdGVhbTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYjYiOyB9CiAKIC5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWI3IjsgfQogCiAuZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNmNiI7IH0KIAogLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDQ4IjsgfQogCiAuZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA1MSI7IH0KIAogLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmMSI7IH0KIAogLmZhLXN0aWNrZXItbXVsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZjciOyB9CiAKIC5mYS1zdGlja3ktbm90ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNDkiOyB9CiAKIC5mYS1zdG9wOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0ZCI7IH0KIAogLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI4ZCI7IH0KIAogLmZhLXN0b3B3YXRjaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZjIiOyB9CiAKIC5mYS1zdHJhdmE6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDI4IjsgfQogCiAuZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjFkIjsgfQogCiAuZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwY2MiOyB9CiAKIC5mYS1zdHJpcGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDI5IjsgfQogCiAuZmEtc3RyaXBlLXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDJhIjsgfQogCiAuZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNmOCI7IH0KIAogLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFhNCI7IH0KIAogLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYTMiOyB9CiAKIC5mYS1zdWJzY3JpcHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTJjIjsgfQogCiAuZmEtc3Vid2F5OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzOSI7IH0KIAogLmZhLXN1aXRjYXNlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjBmMiI7IH0KIAogLmZhLXN1bjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxODUiOyB9CiAKIC5mYS1zdXBlcnBvd2VyczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZGQiOyB9CiAKIC5mYS1zdXBlcnNjcmlwdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxMmIiOyB9CiAKIC5mYS1zdXBwbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2Y5IjsgfQogCiAuZmEtc3luYzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjEiOyB9CiAKIC5mYS1zeW5jLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZjEiOyB9CiAKIC5mYS10YWJsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwY2UiOyB9CiAKIC5mYS10YWJsZS10ZW5uaXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDVkIjsgfQogCiAuZmEtdGFibGV0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEwYSI7IH0KIAogLmZhLXRhYmxldC1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2ZhIjsgfQogCiAuZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmM2ZkIjsgfQogCiAuZmEtdGFnOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAyYiI7IH0KIAogLmZhLXRhZ3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDJjIjsgfQogCiAuZmEtdGFza3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGFlIjsgfQogCiAuZmEtdGF4aTpiZWZvcmUgewogICBjb250ZW50OiAiXGYxYmEiOyB9CiAKIC5mYS10ZWxlZ3JhbTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYzYiOyB9CiAKIC5mYS10ZWxlZ3JhbS1wbGFuZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYzZmUiOyB9CiAKIC5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkNSI7IH0KIAogLmZhLXRlcm1pbmFsOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyMCI7IH0KIAogLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAzNCI7IH0KIAogLmZhLXRleHQtd2lkdGg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDM1IjsgfQogCiAuZmEtdGg6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDBhIjsgfQogCiAuZmEtdGgtbGFyZ2U6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDA5IjsgfQogCiAuZmEtdGgtbGlzdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMGIiOyB9CiAKIC5mYS10aGVtZWlzbGU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmIyIjsgfQogCiAuZmEtdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmNiIjsgfQogCiAuZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYzciOyB9CiAKIC5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJjOSI7IH0KIAogLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmNhIjsgfQogCiAuZmEtdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmM4IjsgfQogCiAuZmEtdGh1bWJzLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMTY1IjsgfQogCiAuZmEtdGh1bWJzLXVwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2NCI7IH0KIAogLmZhLXRodW1idGFjazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOGQiOyB9CiAKIC5mYS10aWNrZXQtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjNmZiI7IH0KIAogLmZhLXRpbWVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwZCI7IH0KIAogLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwNTciOyB9CiAKIC5mYS10aW50OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA0MyI7IH0KIAogLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjA0IjsgfQogCiAuZmEtdG9nZ2xlLW9uOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIwNSI7IH0KIAogLmZhLXRyYWRlbWFyazpiZWZvcmUgewogICBjb250ZW50OiAiXGYyNWMiOyB9CiAKIC5mYS10cmFpbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzgiOyB9CiAKIC5mYS10cmFuc2dlbmRlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMjQiOyB9CiAKIC5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI1IjsgfQogCiAuZmEtdHJhc2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWY4IjsgfQogCiAuZmEtdHJhc2gtYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJlZCI7IH0KIAogLmZhLXRyZWU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWJiIjsgfQogCiAuZmEtdHJlbGxvOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4MSI7IH0KIAogLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI2MiI7IH0KIAogLmZhLXRyb3BoeTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOTEiOyB9CiAKIC5mYS10cnVjazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZDEiOyB9CiAKIC5mYS10dHk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWU0IjsgfQogCiAuZmEtdHVtYmxyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE3MyI7IH0KIAogLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTc0IjsgfQogCiAuZmEtdHY6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjZjIjsgfQogCiAuZmEtdHdpdGNoOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFlOCI7IH0KIAogLmZhLXR3aXR0ZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDk5IjsgfQogCiAuZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDgxIjsgfQogCiAuZmEtdHlwbzM6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDJiIjsgfQogCiAuZmEtdWJlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MDIiOyB9CiAKIC5mYS11aWtpdDpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MDMiOyB9CiAKIC5mYS11bWJyZWxsYTpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTkiOyB9CiAKIC5mYS11bmRlcmxpbmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGNkIjsgfQogCiAuZmEtdW5kbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwZTIiOyB9CiAKIC5mYS11bmRvLWFsdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZWEiOyB9CiAKIC5mYS11bmlyZWdpc3RyeTpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MDQiOyB9CiAKIC5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5YSI7IH0KIAogLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTljIjsgfQogCiAuZmEtdW5saW5rOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEyNyI7IH0KIAogLmZhLXVubG9jazpiZWZvcmUgewogICBjb250ZW50OiAiXGYwOWMiOyB9CiAKIC5mYS11bmxvY2stYWx0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjEzZSI7IH0KIAogLmZhLXVudGFwcGQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDA1IjsgfQogCiAuZmEtdXBsb2FkOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjA5MyI7IH0KIAogLmZhLXVzYjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyODciOyB9CiAKIC5mYS11c2VyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjAwNyI7IH0KIAogLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjJiZCI7IH0KIAogLmZhLXVzZXItbWQ6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGYwIjsgfQogCiAuZmEtdXNlci1wbHVzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzNCI7IH0KIAogLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIxYiI7IH0KIAogLmZhLXVzZXItdGltZXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjM1IjsgfQogCiAuZmEtdXNlcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGMwIjsgfQogCiAuZmEtdXNzdW5uYWg6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDA3IjsgfQogCiAuZmEtdXRlbnNpbC1zcG9vbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZTUiOyB9CiAKIC5mYS11dGVuc2lsczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZTciOyB9CiAKIC5mYS12YWFkaW46YmVmb3JlIHsKICAgY29udGVudDogIlxmNDA4IjsgfQogCiAuZmEtdmVudXM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjIxIjsgfQogCiAuZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIyNiI7IH0KIAogLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjI4IjsgfQogCiAuZmEtdmlhY29pbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyMzciOyB9CiAKIC5mYS12aWFkZW86YmVmb3JlIHsKICAgY29udGVudDogIlxmMmE5IjsgfQogCiAuZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYWEiOyB9CiAKIC5mYS12aWJlcjpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MDkiOyB9CiAKIC5mYS12aWRlbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYwM2QiOyB9CiAKIC5mYS12aW1lbzpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MGEiOyB9CiAKIC5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTk0IjsgfQogCiAuZmEtdmltZW8tdjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyN2QiOyB9CiAKIC5mYS12aW5lOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFjYSI7IH0KIAogLmZhLXZrOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE4OSI7IH0KIAogLmZhLXZudjpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MGIiOyB9CiAKIC5mYS12b2xsZXliYWxsLWJhbGw6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDVmIjsgfQogCiAuZmEtdm9sdW1lLWRvd246YmVmb3JlIHsKICAgY29udGVudDogIlxmMDI3IjsgfQogCiAuZmEtdm9sdW1lLW9mZjpiZWZvcmUgewogICBjb250ZW50OiAiXGYwMjYiOyB9CiAKIC5mYS12b2x1bWUtdXA6YmVmb3JlIHsKICAgY29udGVudDogIlxmMDI4IjsgfQogCiAuZmEtdnVlanM6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDFmIjsgfQogCiAuZmEtd2VpYm86YmVmb3JlIHsKICAgY29udGVudDogIlxmMThhIjsgfQogCiAuZmEtd2VpeGluOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjFkNyI7IH0KIAogLmZhLXdoYXRzYXBwOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjIzMiI7IH0KIAogLmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MGMiOyB9CiAKIC5mYS13aGVlbGNoYWlyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE5MyI7IH0KIAogLmZhLXdobWNzOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQwZCI7IH0KIAogLmZhLXdpZmk6YmVmb3JlIHsKICAgY29udGVudDogIlxmMWViIjsgfQogCiAuZmEtd2lraXBlZGlhLXc6YmVmb3JlIHsKICAgY29udGVudDogIlxmMjY2IjsgfQogCiAuZmEtd2luZG93LWNsb3NlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQxMCI7IH0KIAogLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgewogICBjb250ZW50OiAiXGYyZDAiOyB9CiAKIC5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmQxIjsgfQogCiAuZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmQyIjsgfQogCiAuZmEtd2luZG93czpiZWZvcmUgewogICBjb250ZW50OiAiXGYxN2EiOyB9CiAKIC5mYS13b24tc2lnbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTkiOyB9CiAKIC5mYS13b3JkcHJlc3M6YmVmb3JlIHsKICAgY29udGVudDogIlxmMTlhIjsgfQogCiAuZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MTEiOyB9CiAKIC5mYS13cGJlZ2lubmVyOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjI5NyI7IH0KIAogLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHsKICAgY29udGVudDogIlxmMmRlIjsgfQogCiAuZmEtd3Bmb3JtczpiZWZvcmUgewogICBjb250ZW50OiAiXGYyOTgiOyB9CiAKIC5mYS13cmVuY2g6YmVmb3JlIHsKICAgY29udGVudDogIlxmMGFkIjsgfQogCiAuZmEteGJveDpiZWZvcmUgewogICBjb250ZW50OiAiXGY0MTIiOyB9CiAKIC5mYS14aW5nOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2OCI7IH0KIAogLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2OSI7IH0KIAogLmZhLXktY29tYmluYXRvcjpiZWZvcmUgewogICBjb250ZW50OiAiXGYyM2IiOyB9CiAKIC5mYS15YWhvbzpiZWZvcmUgewogICBjb250ZW50OiAiXGYxOWUiOyB9CiAKIC5mYS15YW5kZXg6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDEzIjsgfQogCiAuZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHsKICAgY29udGVudDogIlxmNDE0IjsgfQogCiAuZmEteWVscDpiZWZvcmUgewogICBjb250ZW50OiAiXGYxZTkiOyB9CiAKIC5mYS15ZW4tc2lnbjpiZWZvcmUgewogICBjb250ZW50OiAiXGYxNTciOyB9CiAKIC5mYS15b2FzdDpiZWZvcmUgewogICBjb250ZW50OiAiXGYyYjEiOyB9CiAKIC5mYS15b3V0dWJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjE2NyI7IH0KIAogLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7CiAgIGNvbnRlbnQ6ICJcZjQzMSI7IH0KIAogLnNyLW9ubHkgewogICBib3JkZXI6IDA7CiAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7CiAgIGhlaWdodDogMXB4OwogICBtYXJnaW46IC0xcHg7CiAgIG92ZXJmbG93OiBoaWRkZW47CiAgIHBhZGRpbmc6IDA7CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgd2lkdGg6IDFweDsgfQogCiAuc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgewogICBjbGlwOiBhdXRvOwogICBoZWlnaHQ6IGF1dG87CiAgIG1hcmdpbjogMDsKICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgIHBvc2l0aW9uOiBzdGF0aWM7CiAgIHdpZHRoOiBhdXRvOyB9CiAKIEBmb250LWZhY2UgewogICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcyc7CiAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgc3JjOiB1cmwoIi4uL2ZvbnRzL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAuZW90Iik7CiAgIHNyYzogdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1icmFuZHMtNDAwLmVvdD8jaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmMiIpIGZvcm1hdCgid29mZjIiKSwgdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1icmFuZHMtNDAwLndvZmYiKSBmb3JtYXQoIndvZmYiKSwgdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1icmFuZHMtNDAwLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1icmFuZHMtNDAwLnN2ZyNmb250YXdlc29tZSIpIGZvcm1hdCgic3ZnIik7IH0KIAogLmZhYiB7CiAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJzsgfQogCiBAZm9udC1mYWNlIHsKICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJzsKICAgZm9udC1zdHlsZTogbm9ybWFsOwogICBmb250LXdlaWdodDogNDAwOwogICBzcmM6IHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtcmVndWxhci00MDAuZW90Iik7CiAgIHNyYzogdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC5lb3Q/I2llZml4IikgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLCB1cmwoIi4uL2ZvbnRzL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyIikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi4uL2ZvbnRzL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYiKSBmb3JtYXQoIndvZmYiKSwgdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGYiKSBmb3JtYXQoInRydWV0eXBlIiksIHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lIikgZm9ybWF0KCJzdmciKTsgfQogCiAuZmFyIHsKICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJzsKICAgZm9udC13ZWlnaHQ6IDQwMDsgfQogCiBAZm9udC1mYWNlIHsKICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJzsKICAgZm9udC1zdHlsZTogbm9ybWFsOwogICBmb250LXdlaWdodDogOTAwOwogICBzcmM6IHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdCIpOwogICBzcmM6IHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtc29saWQtOTAwLmVvdD8jaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksIHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtc29saWQtOTAwLndvZmYyIikgZm9ybWF0KCJ3b2ZmMiIpLCB1cmwoIi4uL2ZvbnRzL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmIikgZm9ybWF0KCJ3b2ZmIiksIHVybCgiLi4vZm9udHMvd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKCIuLi9mb250cy93ZWJmb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lIikgZm9ybWF0KCJzdmciKTsgfQogCiAuZmEsCiAuZmFzIHsKICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJzsKICAgZm9udC13ZWlnaHQ6IDkwMDsgfQ=="}},"time_used":89,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":64,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.405Z","timestamp":1785139584405,"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-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 08:06:24 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: 654807f40ff858af0a44117623360a4a\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-28T04:48:50.443867Z","times_seen":135,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.412Z","timestamp":1785139584412,"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-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 08:06:24 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: 4ba0d32c5a200d75651c5b89f01fae2b\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-28T19:45:51.653444Z","times_seen":77,"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":"nanoquantumstellarsledger.com/frontcss/img/body-bg.png","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.426Z","timestamp":1785139582426,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/img/body-bg.png HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/theme-styles.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 431\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":992,"size_decoded":668,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"3f0a1047bbb7c7f8c0ce20638f5b8522","sha1":"a133e22474eb6a230b5ab3147aa9d97b10d5e2b5","sha256":"050e0c8aba6163c0328ec6d15763a783a0321470f21fcb70ca753d8d08c6dd1a","sha512":"2d11a8b3d1bb77546cc645818818bc6ae1988a699a2b4615787ac8d5fe0f2fb7091a6d074fb453e0108bfe6256034f8cc4ecb1ab3e7e79a91942f5ae40800ac1","ssdeep":"","tlshash":"3a11143b08050b6e121082a3b414736cc1dfaf169e57b4a0d0b31b6b36c4d86c5399ac","first_seen":"2026-07-27T05:09:49.582464Z","last_seen":"2026-07-27T08:08:22.728402Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy90aGVtZS1zdHlsZXMuY3NzIiBjbGFzcz0iaG9tZS1idG4iPkdvIEJhY2s8L2E+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cgo="}},"time_used":363,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":363,"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":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.783Z","timestamp":1785139582783,"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-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 08:06:22 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: 8543908597a620fadc032f0a3e120558\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-08-12T17:58:50.107742Z","times_seen":1957,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV8xLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fMi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS01NTApOy0tXzMtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktODAwKTstLV80LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNS02YW5NOnZhcigtLWNvbG9yLXdoaXRlKTstLV82LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTcwMCk7LS1fNy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03MDApOy0tXzgtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktNTUwKTstLV85LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTU1MCl9W2RhdGEtdGhlbWU9ZGFya117LS1fMC02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzEtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV8yLTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fMy02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApOy0tXzQtNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMTAwKTstLV81LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTgwMCk7LS1fNi02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0yMDApOy0tXzctNmFuTTp2YXIoLS1jb2xvci1jb2xkLWdyYXktMjAwKTstLV84LTZhbk06dmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7LS1fOS02YW5NOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApfS50di1jb250cm9sLWNoZWNrYm94ey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0udHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6NTAlfUBtZWRpYSAobWF4LXdpZHRoOjQ3OXB4KXsudHYtY29udHJvbC1jaGVja2JveC0taW4tYWN0aW9uc3ttYXgtd2lkdGg6bm9uZX19LnR2LWNvbnRyb2wtY2hlY2tib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udHYtY29udHJvbC1jaGVja2JveC0tbm93cmFwLC50di1jb250cm9sLWNoZWNrYm94X19sYWJlbC0tbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXR7aGVpZ2h0OjE4cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtib3JkZXItcmFkaXVzOjNweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtsaW5lLWhlaWdodDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zNXMgZWFzZTt3aWR0aDoxOHB4fS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtib3JkZXItcmFkaXVzOjNweDtpbnNldC1pbmxpbmUtc3RhcnQ6NTAlO21hcmdpbi10b3A6LTlweDttYXJnaW4taW5saW5lLXN0YXJ0Oi05cHg7dG9wOjUwJTt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjM1cyBlYXNlLGJhY2tncm91bmQtY29sb3IgLjM1cyBlYXNlLGJvcmRlci1yYWRpdXMgLjM1cyBlYXNlfS50di1jb250cm9sLWNoZWNrYm94X19ib3g6YWZ0ZXIsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4cHh9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzAtNmFuTSk7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxcHg7Ym94LXNpemluZzpib3JkZXItYm94O2luc2V0LWlubGluZS1zdGFydDowO3RvcDowO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zNXMgZWFzZX0udHYtY29udHJvbC1jaGVja2JveF9fYm94IHN2Z3tkaXNwbGF5OmJsb2NrO2hlaWdodDoxMnB4O2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLXRvcDotNnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEycHg7c3Ryb2tlOiMwMDAwO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOnN0cm9rZSAuMzVzIGVhc2UgMW1zLHRyYW5zZm9ybSAuMzVzIGVhc2UgMW1zfS50di1jb250cm9sLWNoZWNrYm94X19sYWJlbHttYXJnaW4taW5saW5lLWVuZDoxMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLXR3by1saW5lc3t3aWR0aDoxNTVweH0udHYtY29udHJvbC1jaGVja2JveF9fbGFiZWwtLW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsLS1saWwtbGluZS1oZWlnaHR7bGluZS1oZWlnaHQ6MTZweDttYXgtd2lkdGg6ODAlO21pbi13aWR0aDo0NSV9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2xhYmVsKy50di1jb250cm9sLWNoZWNrYm94e21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0udHYtY29udHJvbC1jaGVja2JveCsudHYtY29udHJvbC1jaGVja2JveF9fbGFiZWx7bWFyZ2luLWlubGluZS1lbmQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjEwcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDFleCAtIDI4cHgpfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94e3dpbGwtY2hhbmdlOmJhY2tncm91bmQtY29sb3J9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey50di1jb250cm9sLWNoZWNrYm94OmhvdmVyIC50di1jb250cm9sLWNoZWNrYm94X19ib3h7d2lsbC1jaGFuZ2U6YmFja2dyb3VuZC1jb2xvcn19LnR2LWNvbnRyb2wtY2hlY2tib3g6YWN0aXZlIC50di1jb250cm9sLWNoZWNrYm94X19ib3g6YmVmb3JlLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sYm9yZGVyLXJhZGl1c31AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDpiZWZvcmV7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLGJvcmRlci1yYWRpdXN9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cysudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye3dpbGwtY2hhbmdlOmJvcmRlci1jb2xvcn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzEtNmFuTSk7d2lsbC1jaGFuZ2U6Ym9yZGVyLWNvbG9yfX0udHYtY29udHJvbC1jaGVja2JveDphY3RpdmUgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Zm9jdXMrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzItNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV8zLTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpjaGVja2VkKy50di1jb250cm9sLWNoZWNrYm94X19ib3gsLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlciwudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0udHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzQtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveCBzdmd7c3Ryb2tlOnZhcigtLV81LTZhbk0pO3RyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWRlbGF5Ojg3LjVtczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTt3aWxsLWNoYW5nZTpzdHJva2UsdHJhbnNmb3JtfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsudHYtY29udHJvbC1jaGVja2JveDpob3ZlciAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94e2JhY2tncm91bmQtY29sb3I6dmFyKC0tXzYtNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3g6aG92ZXIgLnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0OmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzctNmFuTSl9fS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94LC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLV84LTZhbk0pfS50di1jb250cm9sLWNoZWNrYm94OmFjdGl2ZSAudHYtY29udHJvbC1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCsudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVyLC50di1jb250cm9sLWNoZWNrYm94X19pbnB1dDpmb2N1cy12aXNpYmxlOmNoZWNrZWQrLnR2LWNvbnRyb2wtY2hlY2tib3hfX2JveDphZnRlcntib3JkZXItY29sb3I6dmFyKC0tXzktNmFuTSl9LnR2LWNvbnRyb2wtY2hlY2tib3hfX2lucHV0W2Rpc2FibGVkXSsudHYtY29udHJvbC1jaGVja2JveF9fYm94e29wYWNpdHk6LjV9LnR2LWNvbnRyb2wtY2hlY2tib3guaS1lcnJvciAudHYtY29udHJvbC1jaGVja2JveF9fYm94OmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1yaXBlLXJlZC00MDApfQ=="}},"time_used":146,"timings":{"blocked":-1,"dns":42,"connect":43,"send":0,"wait":4,"receive":-1,"ssl":28},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.840Z","timestamp":1785139582840,"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-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 08:06:22 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: d823a7512c72cb8d97a7b6da68891c1a\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-31T06:34:35.4362Z","times_seen":457,"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":22,"timings":{"blocked":10,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/#","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.608Z","timestamp":1785139583608,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.B7Dih9Jyjnw.L.F4.O/am=BIAABw/d=0/rs=AN8SPfpC04vrrzQXgs_TCM5EtruwfPzNtQ/m=el_main_css","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.621Z","timestamp":1785139583621,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 413739\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":20284,"size_decoded":4799,"mime_type":"text/css; charset=UTF-8","magic":"ASCII text, with very long lines (20284), with no line terminators","md5":"fde4f72b90fe807270db3c332dd058df","sha1":"7ef4d70af01c38a7f80a7650be25f63aff4ba751","sha256":"ab31c9be358d2107fc1158434c7aeaaf15f82e3e405ed67ab236b5ac232ed159","sha512":"9bef39350af557afeb10cb71068426ab28befaf5295359954787be06a5ce0993d69e8f5018a5a17c44311d294dd1a87a6f82edd0f5743df0149b8e4e53061695","ssdeep":"192:nvqx/EhZINcrXsfg0SgG8CqA3uku9SJFzvQVMbnUIfIxIVVpTrecfzPtcmt4v78l:gMF8Sb3i0JFzourUqWMVpTrdfzPtcBG","tlshash":"c492872057aed01967efa82364d36dff71d444db90123eeaaf5a7352cd821f231ea214","first_seen":"2026-04-13T20:43:22.641436Z","last_seen":"2026-08-12T17:58:50.154658Z","times_seen":20221,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.931Z","timestamp":1785139583931,"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-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 08:06:23 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: d73726a78fed4548a27b1d8e2d546498\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-08-12T05:10:43.313661Z","times_seen":304,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.981Z","timestamp":1785139583981,"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-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 08:06:23 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: 299619f9fbf98fa5695c3aedd89640ae\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-28T06:17:53.427979Z","times_seen":123,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.100Z","timestamp":1785139584100,"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-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 08:06:24 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: 809ec116220a4f34599d0211b7d980c3\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-28T06:17:53.435673Z","times_seen":97,"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":"wss","addr":"wss://widgetdata.tradingview.com/socket.io/websocket?from=widgetembed%2F\u0026date=2026-07-24T11%3A40%3A08\u0026page-uri=nanoquantumstellarsledger.com%2F\u0026ancestor-origin=nanoquantumstellarsledger.com\u0026api_key=tradingview","fqdn":"widgetdata.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"93.123.102.198","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.375Z","timestamp":1785139583375,"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=nanoquantumstellarsledger.com%2F\u0026ancestor-origin=nanoquantumstellarsledger.com\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: Nbk+CY1I7nPneiTh2WZEvg==\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 08:06:23 GMT\r\nConnection: upgrade\r\nsec-websocket-accept: FC+msJPVX+j9zKOenY8CgqYArmA=\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-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":""}},"time_used":90,"timings":{"blocked":-1,"dns":3,"connect":19,"send":0,"wait":20,"receive":0,"ssl":47},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.704Z","timestamp":1785139583704,"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-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 08:06:23 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: 18589983866270e67f8e8ed4b67085eb\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-28T06:17:53.573257Z","times_seen":148,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.024Z","timestamp":1785139584024,"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-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 08:06:24 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: 754905e639ca7aee2cba7c7758c0a7a2\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-28T06:17:53.344523Z","times_seen":102,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.106Z","timestamp":1785139584106,"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-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 08:06:24 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: 89f0acc8b404530f5db208b49080975e\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-28T06:17:53.365018Z","times_seen":88,"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":"nanoquantumstellarsledger.com/frontcss/assets/MarkerClusterGroup.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.017Z","timestamp":1785139582017,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/MarkerClusterGroup.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 19389\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":76783,"size_decoded":19627,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"eceda02950e868b233997f8235cbe2e1","sha1":"9888d61829b8254a00a9a49eacf989e45f2be5a7","sha256":"594ae4f36aa2a0327e83ec490d2fa2f85c06067d1387bed2ce00b9e9b23b38ad","sha512":"82f84b26bf25ed669d565c604de086e779dba79b6f4a450dbfd1232a3d8084e287144ce4c0c1b8f49ee5fd0f5a5fc5518389f3d8f0a19a237c96ca66804df65d","ssdeep":"1536:kk3eUMqOki+nWIRNnXJ4i5mDBc/Iu46fhPteSuml2bhKsvwtH7w10zrfxqdQ:5ewnWIRNXJfmDUeSb+h3OfxqdQ","tlshash":"51738498e39c03666a5273790c3d66de657c8032d6944cefbc4da6ec214a43c637adf8","first_seen":"2023-03-12T18:06:04Z","last_seen":"2026-07-27T09:11:27.310587Z","times_seen":45,"resource_available":true,"data":"LyoKIExlYWZsZXQubWFya2VyY2x1c3RlciwgUHJvdmlkZXMgQmVhdXRpZnVsIEFuaW1hdGVkIE1hcmtlciBDbHVzdGVyaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIExlYWZsZXQsIGEgSlMgbGlicmFyeSBmb3IgaW50ZXJhY3RpdmUgbWFwcy4KIGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFmbGV0L0xlYWZsZXQubWFya2VyY2x1c3RlcgogKGMpIDIwMTItMjAxMywgRGF2ZSBMZWF2ZXIsIHNtYXJ0cmFrCiovCihmdW5jdGlvbiAod2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7LyoKICogTC5NYXJrZXJDbHVzdGVyR3JvdXAgZXh0ZW5kcyBMLkZlYXR1cmVHcm91cCBieSBjbHVzdGVyaW5nIHRoZSBtYXJrZXJzIGNvbnRhaW5lZCB3aXRoaW4KICovCgpMLk1hcmtlckNsdXN0ZXJHcm91cCA9IEwuRmVhdHVyZUdyb3VwLmV4dGVuZCh7CgoJb3B0aW9uczogewoJCW1heENsdXN0ZXJSYWRpdXM6IDgwLCAvL0EgY2x1c3RlciB3aWxsIGNvdmVyIGF0IG1vc3QgdGhpcyBtYW55IHBpeGVscyBmcm9tIGl0cyBjZW50ZXIKCQlpY29uQ3JlYXRlRnVuY3Rpb246IG51bGwsCgoJCXNwaWRlcmZ5T25NYXhab29tOiB0cnVlLAoJCXNob3dDb3ZlcmFnZU9uSG92ZXI6IHRydWUsCgkJem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSwKCQlzaW5nbGVNYXJrZXJNb2RlOiBmYWxzZSwKCgkJZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IG51bGwsCgoJCS8vIFNldHRpbmcgdGhpcyB0byBmYWxzZSBwcmV2ZW50cyB0aGUgcmVtb3ZhbCBvZiBhbnkgY2x1c3RlcnMgb3V0c2lkZSBvZiB0aGUgdmlld3BvaW50LCB3aGljaAoJCS8vIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KCQlyZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogdHJ1ZSwKCgkJLy8gU2V0IHRvIGZhbHNlIHRvIGRpc2FibGUgYWxsIGFuaW1hdGlvbnMgKHpvb20gYW5kIHNwaWRlcmZ5KS4KCQkvLyBJZiBmYWxzZSwgb3B0aW9uIGFuaW1hdGVBZGRpbmdNYXJrZXJzIGJlbG93IGhhcyBubyBlZmZlY3QuCgkJLy8gSWYgTC5Eb21VdGlsLlRSQU5TSVRJT04gaXMgZmFsc3ksIHRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3QuCgkJYW5pbWF0ZTogdHJ1ZSwKCgkJLy9XaGV0aGVyIHRvIGFuaW1hdGUgYWRkaW5nIG1hcmtlcnMgYWZ0ZXIgYWRkaW5nIHRoZSBNYXJrZXJDbHVzdGVyR3JvdXAgdG8gdGhlIG1hcAoJCS8vIElmIHlvdSBhcmUgYWRkaW5nIGluZGl2aWR1YWwgbWFya2VycyBzZXQgdG8gdHJ1ZSwgaWYgYWRkaW5nIGJ1bGsgbWFya2VycyBsZWF2ZSBmYWxzZSBmb3IgbWFzc2l2ZSBwZXJmb3JtYW5jZSBnYWlucy4KCQlhbmltYXRlQWRkaW5nTWFya2VyczogZmFsc2UsCgoJCS8vSW5jcmVhc2UgdG8gaW5jcmVhc2UgdGhlIGRpc3RhbmNlIGF3YXkgdGhhdCBzcGlkZXJmaWVkIG1hcmtlcnMgYXBwZWFyIGZyb20gdGhlIGNlbnRlcgoJCXNwaWRlcmZ5RGlzdGFuY2VNdWx0aXBsaWVyOiAxLAoKCQkvLyBNYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgYSBwb2x5bGluZSBvcHRpb25zIG9uIGEgc3BpZGVyIGxlZwoJCXNwaWRlckxlZ1BvbHlsaW5lT3B0aW9uczogeyB3ZWlnaHQ6IDEuNSwgY29sb3I6ICcjMjIyJywgb3BhY2l0eTogMC41IH0sCgoJCS8vIFdoZW4gYnVsayBhZGRpbmcgbGF5ZXJzLCBhZGRzIG1hcmtlcnMgaW4gY2h1bmtzLiBNZWFucyBhZGRMYXllcnMgbWF5IG5vdCBhZGQgYWxsIHRoZSBsYXllcnMgaW4gdGhlIGNhbGwsIG90aGVycyB3aWxsIGJlIGxvYWRlZCBkdXJpbmcgc2V0VGltZW91dHMKCQljaHVua2VkTG9hZGluZzogZmFsc2UsCgkJY2h1bmtJbnRlcnZhbDogMjAwLCAvLyBwcm9jZXNzIG1hcmtlcnMgZm9yIGEgbWF4aW11bSBvZiB+IG4gbWlsbGlzZWNvbmRzICh0aGVuIHRyaWdnZXIgdGhlIGNodW5rUHJvZ3Jlc3MgY2FsbGJhY2spCgkJY2h1bmtEZWxheTogNTAsIC8vIGF0IHRoZSBlbmQgb2YgZWFjaCBpbnRlcnZhbCwgZ2l2ZSBuIG1pbGxpc2Vjb25kcyBiYWNrIHRvIHN5c3RlbS9icm93c2VyCgkJY2h1bmtQcm9ncmVzczogbnVsbCwgLy8gcHJvZ3Jlc3MgY2FsbGJhY2s6IGZ1bmN0aW9uKHByb2Nlc3NlZCwgdG90YWwsIGVsYXBzZWQpIChlLmcuIGZvciBhIHByb2dyZXNzIGluZGljYXRvcikKCgkJLy9PcHRpb25zIHRvIHBhc3MgdG8gdGhlIEwuUG9seWdvbiBjb25zdHJ1Y3RvcgoJCXBvbHlnb25PcHRpb25zOiB7fQoJfSwKCglpbml0aWFsaXplOiBmdW5jdGlvbiAob3B0aW9ucykgewoJCUwuVXRpbC5zZXRPcHRpb25zKHRoaXMsIG9wdGlvbnMpOwoJCWlmICghdGhpcy5vcHRpb25zLmljb25DcmVhdGVGdW5jdGlvbikgewoJCQl0aGlzLm9wdGlvbnMuaWNvbkNyZWF0ZUZ1bmN0aW9uID0gdGhpcy5fZGVmYXVsdEljb25DcmVhdGVGdW5jdGlvbjsKCQl9CgkJaWYgKCF0aGlzLm9wdGlvbnMuY2x1c3RlclBhbmUpIHsKCQkgICAgdGhpcy5vcHRpb25zLmNsdXN0ZXJQYW5lID0gTC5NYXJrZXIucHJvdG90eXBlLm9wdGlvbnMucGFuZTsKICAgICAgICB9CgoJCXRoaXMuX2ZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKCk7CgkJdGhpcy5fZmVhdHVyZUdyb3VwLmFkZEV2ZW50UGFyZW50KHRoaXMpOwoKCQl0aGlzLl9ub25Qb2ludEdyb3VwID0gTC5mZWF0dXJlR3JvdXAoKTsKCQl0aGlzLl9ub25Qb2ludEdyb3VwLmFkZEV2ZW50UGFyZW50KHRoaXMpOwoKCQl0aGlzLl9pblpvb21BbmltYXRpb24gPSAwOwoJCXRoaXMuX25lZWRzQ2x1c3RlcmluZyA9IFtdOwoJCXRoaXMuX25lZWRzUmVtb3ZpbmcgPSBbXTsgLy9NYXJrZXJzIHJlbW92ZWQgd2hpbGUgd2UgYXJlbid0IG9uIHRoZSBtYXAgbmVlZCB0byBiZSBrZXB0IHRyYWNrIG9mCgkJLy9UaGUgYm91bmRzIG9mIHRoZSBjdXJyZW50bHkgc2hvd24gYXJlYSAoZnJvbSBfZ2V0RXhwYW5kZWRWaXNpYmxlQm91bmRzKSBVcGRhdGVkIG9uIHpvb20vbW92ZQoJCXRoaXMuX2N1cnJlbnRTaG93bkJvdW5kcyA9IG51bGw7CgoJCXRoaXMuX3F1ZXVlID0gW107CgoJCXRoaXMuX2NoaWxkTWFya2VyRXZlbnRIYW5kbGVycyA9IHsKCQkJJ2RyYWdzdGFydCc6IHRoaXMuX2NoaWxkTWFya2VyRHJhZ1N0YXJ0LAoJCQknbW92ZSc6IHRoaXMuX2NoaWxkTWFya2VyTW92ZWQsCgkJCSdkcmFnZW5kJzogdGhpcy5fY2hpbGRNYXJrZXJEcmFnRW5kLAoJCX07CgoJCS8vIEhvb2sgdGhlIGFwcHJvcHJpYXRlIGFuaW1hdGlvbiBtZXRob2RzLgoJCXZhciBhbmltYXRlID0gTC5Eb21VdGlsLlRSQU5TSVRJT04gJiYgdGhpcy5vcHRpb25zLmFuaW1hdGU7CgkJTC5leHRlbmQodGhpcywgYW5pbWF0ZSA/IHRoaXMuX3dpdGhBbmltYXRpb24gOiB0aGlzLl9ub0FuaW1hdGlvbik7CgkJLy8gUmVtZW1iZXIgd2hpY2ggTWFya2VyQ2x1c3RlciBjbGFzcyB0byBpbnN0YW50aWF0ZSAoYW5pbWF0ZWQgb3Igbm90KS4KCQl0aGlzLl9tYXJrZXJDbHVzdGVyID0gYW5pbWF0ZSA/IEwuTWFya2VyQ2x1c3RlciA6IEwuTWFya2VyQ2x1c3Rlck5vbkFuaW1hdGVkOwoJfSwKCglhZGRMYXllcjogZnVuY3Rpb24gKGxheWVyKSB7CgoJCWlmIChsYXllciBpbnN0YW5jZW9mIEwuTGF5ZXJHcm91cCkgewoJCQlyZXR1cm4gdGhpcy5hZGRMYXllcnMoW2xheWVyXSk7CgkJfQoKCQkvL0Rvbid0IGNsdXN0ZXIgbm9uIHBvaW50IGRhdGEKCQlpZiAoIWxheWVyLmdldExhdExuZykgewoJCQl0aGlzLl9ub25Qb2ludEdyb3VwLmFkZExheWVyKGxheWVyKTsKCQkJdGhpcy5maXJlKCdsYXllcmFkZCcsIHsgbGF5ZXI6IGxheWVyIH0pOwoJCQlyZXR1cm4gdGhpczsKCQl9CgoJCWlmICghdGhpcy5fbWFwKSB7CgkJCXRoaXMuX25lZWRzQ2x1c3RlcmluZy5wdXNoKGxheWVyKTsKCQkJdGhpcy5maXJlKCdsYXllcmFkZCcsIHsgbGF5ZXI6IGxheWVyIH0pOwoJCQlyZXR1cm4gdGhpczsKCQl9CgoJCWlmICh0aGlzLmhhc0xheWVyKGxheWVyKSkgewoJCQlyZXR1cm4gdGhpczsKCQl9CgoKCQkvL0lmIHdlIGhhdmUgYWxyZWFkeSBjbHVzdGVyZWQgd2UnbGwgbmVlZCB0byBhZGQgdGhpcyBvbmUgdG8gYSBjbHVzdGVyCgoJCWlmICh0aGlzLl91bnNwaWRlcmZ5KSB7CgkJCXRoaXMuX3Vuc3BpZGVyZnkoKTsKCQl9CgoJCXRoaXMuX2FkZExheWVyKGxheWVyLCB0aGlzLl9tYXhab29tKTsKCQl0aGlzLmZpcmUoJ2xheWVyYWRkJywgeyBsYXllcjogbGF5ZXIgfSk7CgoJCS8vIFJlZnJlc2ggYm91bmRzIGFuZCB3ZWlnaHRlZCBwb3NpdGlvbnMuCgkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWNhbGN1bGF0ZUJvdW5kcygpOwoKCQl0aGlzLl9yZWZyZXNoQ2x1c3RlcnNJY29ucygpOwoKCQkvL1dvcmsgb3V0IHdoYXQgaXMgdmlzaWJsZQoJCXZhciB2aXNpYmxlTGF5ZXIgPSBsYXllciwKCQkgICAgY3VycmVudFpvb20gPSB0aGlzLl96b29tOwoJCWlmIChsYXllci5fX3BhcmVudCkgewoJCQl3aGlsZSAodmlzaWJsZUxheWVyLl9fcGFyZW50Ll96b29tID49IGN1cnJlbnRab29tKSB7CgkJCQl2aXNpYmxlTGF5ZXIgPSB2aXNpYmxlTGF5ZXIuX19wYXJlbnQ7CgkJCX0KCQl9CgoJCWlmICh0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMuY29udGFpbnModmlzaWJsZUxheWVyLmdldExhdExuZygpKSkgewoJCQlpZiAodGhpcy5vcHRpb25zLmFuaW1hdGVBZGRpbmdNYXJrZXJzKSB7CgkJCQl0aGlzLl9hbmltYXRpb25BZGRMYXllcihsYXllciwgdmlzaWJsZUxheWVyKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuX2FuaW1hdGlvbkFkZExheWVyTm9uQW5pbWF0ZWQobGF5ZXIsIHZpc2libGVMYXllcik7CgkJCX0KCQl9CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCXJlbW92ZUxheWVyOiBmdW5jdGlvbiAobGF5ZXIpIHsKCgkJaWYgKGxheWVyIGluc3RhbmNlb2YgTC5MYXllckdyb3VwKSB7CgkJCXJldHVybiB0aGlzLnJlbW92ZUxheWVycyhbbGF5ZXJdKTsKCQl9CgoJCS8vTm9uIHBvaW50IGxheWVycwoJCWlmICghbGF5ZXIuZ2V0TGF0TG5nKSB7CgkJCXRoaXMuX25vblBvaW50R3JvdXAucmVtb3ZlTGF5ZXIobGF5ZXIpOwoJCQl0aGlzLmZpcmUoJ2xheWVycmVtb3ZlJywgeyBsYXllcjogbGF5ZXIgfSk7CgkJCXJldHVybiB0aGlzOwoJCX0KCgkJaWYgKCF0aGlzLl9tYXApIHsKCQkJaWYgKCF0aGlzLl9hcnJheVNwbGljZSh0aGlzLl9uZWVkc0NsdXN0ZXJpbmcsIGxheWVyKSAmJiB0aGlzLmhhc0xheWVyKGxheWVyKSkgewoJCQkJdGhpcy5fbmVlZHNSZW1vdmluZy5wdXNoKHsgbGF5ZXI6IGxheWVyLCBsYXRsbmc6IGxheWVyLl9sYXRsbmcgfSk7CgkJCX0KCQkJdGhpcy5maXJlKCdsYXllcnJlbW92ZScsIHsgbGF5ZXI6IGxheWVyIH0pOwoJCQlyZXR1cm4gdGhpczsKCQl9CgoJCWlmICghbGF5ZXIuX19wYXJlbnQpIHsKCQkJcmV0dXJuIHRoaXM7CgkJfQoKCQlpZiAodGhpcy5fdW5zcGlkZXJmeSkgewoJCQl0aGlzLl91bnNwaWRlcmZ5KCk7CgkJCXRoaXMuX3Vuc3BpZGVyZnlMYXllcihsYXllcik7CgkJfQoKCQkvL1JlbW92ZSB0aGUgbWFya2VyIGZyb20gY2x1c3RlcnMKCQl0aGlzLl9yZW1vdmVMYXllcihsYXllciwgdHJ1ZSk7CgkJdGhpcy5maXJlKCdsYXllcnJlbW92ZScsIHsgbGF5ZXI6IGxheWVyIH0pOwoKCQkvLyBSZWZyZXNoIGJvdW5kcyBhbmQgd2VpZ2h0ZWQgcG9zaXRpb25zLgoJCXRoaXMuX3RvcENsdXN0ZXJMZXZlbC5fcmVjYWxjdWxhdGVCb3VuZHMoKTsKCgkJdGhpcy5fcmVmcmVzaENsdXN0ZXJzSWNvbnMoKTsKCgkJbGF5ZXIub2ZmKHRoaXMuX2NoaWxkTWFya2VyRXZlbnRIYW5kbGVycywgdGhpcyk7CgoJCWlmICh0aGlzLl9mZWF0dXJlR3JvdXAuaGFzTGF5ZXIobGF5ZXIpKSB7CgkJCXRoaXMuX2ZlYXR1cmVHcm91cC5yZW1vdmVMYXllcihsYXllcik7CgkJCWlmIChsYXllci5jbHVzdGVyU2hvdykgewoJCQkJbGF5ZXIuY2x1c3RlclNob3coKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRoaXM7Cgl9LAoKCS8vVGFrZXMgYW4gYXJyYXkgb2YgbWFya2VycyBhbmQgYWRkcyB0aGVtIGluIGJ1bGsKCWFkZExheWVyczogZnVuY3Rpb24gKGxheWVyc0FycmF5LCBza2lwTGF5ZXJBZGRFdmVudCkgewoJCWlmICghTC5VdGlsLmlzQXJyYXkobGF5ZXJzQXJyYXkpKSB7CgkJCXJldHVybiB0aGlzLmFkZExheWVyKGxheWVyc0FycmF5KTsKCQl9CgoJCXZhciBmZyA9IHRoaXMuX2ZlYXR1cmVHcm91cCwKCQkgICAgbnBnID0gdGhpcy5fbm9uUG9pbnRHcm91cCwKCQkgICAgY2h1bmtlZCA9IHRoaXMub3B0aW9ucy5jaHVua2VkTG9hZGluZywKCQkgICAgY2h1bmtJbnRlcnZhbCA9IHRoaXMub3B0aW9ucy5jaHVua0ludGVydmFsLAoJCSAgICBjaHVua1Byb2dyZXNzID0gdGhpcy5vcHRpb25zLmNodW5rUHJvZ3Jlc3MsCgkJICAgIGwgPSBsYXllcnNBcnJheS5sZW5ndGgsCgkJICAgIG9mZnNldCA9IDAsCgkJICAgIG9yaWdpbmFsQXJyYXkgPSB0cnVlLAoJCSAgICBtOwoKCQlpZiAodGhpcy5fbWFwKSB7CgkJCXZhciBzdGFydGVkID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCQkJdmFyIHByb2Nlc3MgPSBMLmJpbmQoZnVuY3Rpb24gKCkgewoJCQkJdmFyIHN0YXJ0ID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCQkJCWZvciAoOyBvZmZzZXQgPCBsOyBvZmZzZXQrKykgewoJCQkJCWlmIChjaHVua2VkICYmIG9mZnNldCAlIDIwMCA9PT0gMCkgewoJCQkJCQkvLyBldmVyeSBjb3VwbGUgaHVuZHJlZCBtYXJrZXJzLCBpbnN0cnVtZW50IHRoZSB0aW1lIGVsYXBzZWQgc2luY2UgcHJvY2Vzc2luZyBzdGFydGVkOgoJCQkJCQl2YXIgZWxhcHNlZCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSBzdGFydDsKCQkJCQkJaWYgKGVsYXBzZWQgPiBjaHVua0ludGVydmFsKSB7CgkJCQkJCQlicmVhazsgLy8gYmVlbiB3b3JraW5nIHRvbyBoYXJkLCB0aW1lIHRvIHRha2UgYSBicmVhayA6LSkKCQkJCQkJfQoJCQkJCX0KCgkJCQkJbSA9IGxheWVyc0FycmF5W29mZnNldF07CgoJCQkJCS8vIEdyb3VwIG9mIGxheWVycywgYXBwZW5kIGNoaWxkcmVuIHRvIGxheWVyc0FycmF5IGFuZCBza2lwLgoJCQkJCS8vIFNpZGUgZWZmZWN0czoKCQkJCQkvLyAtIFRvdGFsIGluY3JlYXNlcywgc28gY2h1bmtQcm9ncmVzcyByYXRpbyBqdW1wcyBiYWNrd2FyZC4KCQkJCQkvLyAtIEdyb3VwcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoaXMgZ3JvdXAsIG9ubHkgdGhlaXIgbm9uLWdyb3VwIGNoaWxkIGxheWVycyAoaGFzTGF5ZXIpLgoJCQkJCS8vIENoYW5naW5nIGFycmF5IGxlbmd0aCB3aGlsZSBsb29waW5nIGRvZXMgbm90IGFmZmVjdCBwZXJmb3JtYW5jZSBpbiBjdXJyZW50IGJyb3dzZXJzOgoJCQkJCS8vIGh0dHA6Ly9qc3BlcmYuY29tL2Zvci1sb29wLWNoYW5naW5nLWxlbmd0aC82CgkJCQkJaWYgKG0gaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHsKCQkJCQkJaWYgKG9yaWdpbmFsQXJyYXkpIHsKCQkJCQkJCWxheWVyc0FycmF5ID0gbGF5ZXJzQXJyYXkuc2xpY2UoKTsKCQkJCQkJCW9yaWdpbmFsQXJyYXkgPSBmYWxzZTsKCQkJCQkJfQoJCQkJCQl0aGlzLl9leHRyYWN0Tm9uR3JvdXBMYXllcnMobSwgbGF5ZXJzQXJyYXkpOwoJCQkJCQlsID0gbGF5ZXJzQXJyYXkubGVuZ3RoOwoJCQkJCQljb250aW51ZTsKCQkJCQl9CgoJCQkJCS8vTm90IHBvaW50IGRhdGEsIGNhbid0IGJlIGNsdXN0ZXJlZAoJCQkJCWlmICghbS5nZXRMYXRMbmcpIHsKCQkJCQkJbnBnLmFkZExheWVyKG0pOwoJCQkJCQlpZiAoIXNraXBMYXllckFkZEV2ZW50KSB7CgkJCQkJCQl0aGlzLmZpcmUoJ2xheWVyYWRkJywgeyBsYXllcjogbSB9KTsKCQkJCQkJfQoJCQkJCQljb250aW51ZTsKCQkJCQl9CgoJCQkJCWlmICh0aGlzLmhhc0xheWVyKG0pKSB7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJdGhpcy5fYWRkTGF5ZXIobSwgdGhpcy5fbWF4Wm9vbSk7CgkJCQkJaWYgKCFza2lwTGF5ZXJBZGRFdmVudCkgewoJCQkJCQl0aGlzLmZpcmUoJ2xheWVyYWRkJywgeyBsYXllcjogbSB9KTsKCQkJCQl9CgoJCQkJCS8vSWYgd2UganVzdCBtYWRlIGEgY2x1c3RlciBvZiBzaXplIDIgdGhlbiB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgb3RoZXIgbWFya2VyIGZyb20gdGhlIG1hcCAoaWYgaXQgaXMpIG9yIHdlIG5ldmVyIHdpbGwKCQkJCQlpZiAobS5fX3BhcmVudCkgewoJCQkJCQlpZiAobS5fX3BhcmVudC5nZXRDaGlsZENvdW50KCkgPT09IDIpIHsKCQkJCQkJCXZhciBtYXJrZXJzID0gbS5fX3BhcmVudC5nZXRBbGxDaGlsZE1hcmtlcnMoKSwKCQkJCQkJCSAgICBvdGhlck1hcmtlciA9IG1hcmtlcnNbMF0gPT09IG0gPyBtYXJrZXJzWzFdIDogbWFya2Vyc1swXTsKCQkJCQkJCWZnLnJlbW92ZUxheWVyKG90aGVyTWFya2VyKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQlpZiAoY2h1bmtQcm9ncmVzcykgewoJCQkJCS8vIHJlcG9ydCBwcm9ncmVzcyBhbmQgdGltZSBlbGFwc2VkOgoJCQkJCWNodW5rUHJvZ3Jlc3Mob2Zmc2V0LCBsLCAobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gc3RhcnRlZCk7CgkJCQl9CgoJCQkJLy8gQ29tcGxldGVkIHByb2Nlc3NpbmcgYWxsIG1hcmtlcnMuCgkJCQlpZiAob2Zmc2V0ID09PSBsKSB7CgoJCQkJCS8vIFJlZnJlc2ggYm91bmRzIGFuZCB3ZWlnaHRlZCBwb3NpdGlvbnMuCgkJCQkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWNhbGN1bGF0ZUJvdW5kcygpOwoKCQkJCQl0aGlzLl9yZWZyZXNoQ2x1c3RlcnNJY29ucygpOwoKCQkJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5QWRkQ2hpbGRyZW5Ub01hcChudWxsLCB0aGlzLl96b29tLCB0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMpOwoJCQkJfSBlbHNlIHsKCQkJCQlzZXRUaW1lb3V0KHByb2Nlc3MsIHRoaXMub3B0aW9ucy5jaHVua0RlbGF5KTsKCQkJCX0KCQkJfSwgdGhpcyk7CgoJCQlwcm9jZXNzKCk7CgkJfSBlbHNlIHsKCQkJdmFyIG5lZWRzQ2x1c3RlcmluZyA9IHRoaXMuX25lZWRzQ2x1c3RlcmluZzsKCgkJCWZvciAoOyBvZmZzZXQgPCBsOyBvZmZzZXQrKykgewoJCQkJbSA9IGxheWVyc0FycmF5W29mZnNldF07CgoJCQkJLy8gR3JvdXAgb2YgbGF5ZXJzLCBhcHBlbmQgY2hpbGRyZW4gdG8gbGF5ZXJzQXJyYXkgYW5kIHNraXAuCgkJCQlpZiAobSBpbnN0YW5jZW9mIEwuTGF5ZXJHcm91cCkgewoJCQkJCWlmIChvcmlnaW5hbEFycmF5KSB7CgkJCQkJCWxheWVyc0FycmF5ID0gbGF5ZXJzQXJyYXkuc2xpY2UoKTsKCQkJCQkJb3JpZ2luYWxBcnJheSA9IGZhbHNlOwoJCQkJCX0KCQkJCQl0aGlzLl9leHRyYWN0Tm9uR3JvdXBMYXllcnMobSwgbGF5ZXJzQXJyYXkpOwoJCQkJCWwgPSBsYXllcnNBcnJheS5sZW5ndGg7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJLy9Ob3QgcG9pbnQgZGF0YSwgY2FuJ3QgYmUgY2x1c3RlcmVkCgkJCQlpZiAoIW0uZ2V0TGF0TG5nKSB7CgkJCQkJbnBnLmFkZExheWVyKG0pOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCWlmICh0aGlzLmhhc0xheWVyKG0pKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJbmVlZHNDbHVzdGVyaW5nLnB1c2gobSk7CgkJCX0KCQl9CgkJcmV0dXJuIHRoaXM7Cgl9LAoKCS8vVGFrZXMgYW4gYXJyYXkgb2YgbWFya2VycyBhbmQgcmVtb3ZlcyB0aGVtIGluIGJ1bGsKCXJlbW92ZUxheWVyczogZnVuY3Rpb24gKGxheWVyc0FycmF5KSB7CgkJdmFyIGksIG0sCgkJICAgIGwgPSBsYXllcnNBcnJheS5sZW5ndGgsCgkJICAgIGZnID0gdGhpcy5fZmVhdHVyZUdyb3VwLAoJCSAgICBucGcgPSB0aGlzLl9ub25Qb2ludEdyb3VwLAoJCSAgICBvcmlnaW5hbEFycmF5ID0gdHJ1ZTsKCgkJaWYgKCF0aGlzLl9tYXApIHsKCQkJZm9yIChpID0gMDsgaSA8IGw7IGkrKykgewoJCQkJbSA9IGxheWVyc0FycmF5W2ldOwoKCQkJCS8vIEdyb3VwIG9mIGxheWVycywgYXBwZW5kIGNoaWxkcmVuIHRvIGxheWVyc0FycmF5IGFuZCBza2lwLgoJCQkJaWYgKG0gaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHsKCQkJCQlpZiAob3JpZ2luYWxBcnJheSkgewoJCQkJCQlsYXllcnNBcnJheSA9IGxheWVyc0FycmF5LnNsaWNlKCk7CgkJCQkJCW9yaWdpbmFsQXJyYXkgPSBmYWxzZTsKCQkJCQl9CgkJCQkJdGhpcy5fZXh0cmFjdE5vbkdyb3VwTGF5ZXJzKG0sIGxheWVyc0FycmF5KTsKCQkJCQlsID0gbGF5ZXJzQXJyYXkubGVuZ3RoOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCXRoaXMuX2FycmF5U3BsaWNlKHRoaXMuX25lZWRzQ2x1c3RlcmluZywgbSk7CgkJCQlucGcucmVtb3ZlTGF5ZXIobSk7CgkJCQlpZiAodGhpcy5oYXNMYXllcihtKSkgewoJCQkJCXRoaXMuX25lZWRzUmVtb3ZpbmcucHVzaCh7IGxheWVyOiBtLCBsYXRsbmc6IG0uX2xhdGxuZyB9KTsKCQkJCX0KCQkJCXRoaXMuZmlyZSgnbGF5ZXJyZW1vdmUnLCB7IGxheWVyOiBtIH0pOwoJCQl9CgkJCXJldHVybiB0aGlzOwoJCX0KCgkJaWYgKHRoaXMuX3Vuc3BpZGVyZnkpIHsKCQkJdGhpcy5fdW5zcGlkZXJmeSgpOwoKCQkJLy8gV29yayBvbiBhIGNvcHkgb2YgdGhlIGFycmF5LCBzbyB0aGF0IG5leHQgbG9vcCBpcyBub3QgYWZmZWN0ZWQuCgkJCXZhciBsYXllcnNBcnJheTIgPSBsYXllcnNBcnJheS5zbGljZSgpLAoJCQkgICAgbDIgPSBsOwoJCQlmb3IgKGkgPSAwOyBpIDwgbDI7IGkrKykgewoJCQkJbSA9IGxheWVyc0FycmF5MltpXTsKCgkJCQkvLyBHcm91cCBvZiBsYXllcnMsIGFwcGVuZCBjaGlsZHJlbiB0byBsYXllcnNBcnJheSBhbmQgc2tpcC4KCQkJCWlmIChtIGluc3RhbmNlb2YgTC5MYXllckdyb3VwKSB7CgkJCQkJdGhpcy5fZXh0cmFjdE5vbkdyb3VwTGF5ZXJzKG0sIGxheWVyc0FycmF5Mik7CgkJCQkJbDIgPSBsYXllcnNBcnJheTIubGVuZ3RoOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCXRoaXMuX3Vuc3BpZGVyZnlMYXllcihtKTsKCQkJfQoJCX0KCgkJZm9yIChpID0gMDsgaSA8IGw7IGkrKykgewoJCQltID0gbGF5ZXJzQXJyYXlbaV07CgoJCQkvLyBHcm91cCBvZiBsYXllcnMsIGFwcGVuZCBjaGlsZHJlbiB0byBsYXllcnNBcnJheSBhbmQgc2tpcC4KCQkJaWYgKG0gaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHsKCQkJCWlmIChvcmlnaW5hbEFycmF5KSB7CgkJCQkJbGF5ZXJzQXJyYXkgPSBsYXllcnNBcnJheS5zbGljZSgpOwoJCQkJCW9yaWdpbmFsQXJyYXkgPSBmYWxzZTsKCQkJCX0KCQkJCXRoaXMuX2V4dHJhY3ROb25Hcm91cExheWVycyhtLCBsYXllcnNBcnJheSk7CgkJCQlsID0gbGF5ZXJzQXJyYXkubGVuZ3RoOwoJCQkJY29udGludWU7CgkJCX0KCgkJCWlmICghbS5fX3BhcmVudCkgewoJCQkJbnBnLnJlbW92ZUxheWVyKG0pOwoJCQkJdGhpcy5maXJlKCdsYXllcnJlbW92ZScsIHsgbGF5ZXI6IG0gfSk7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJdGhpcy5fcmVtb3ZlTGF5ZXIobSwgdHJ1ZSwgdHJ1ZSk7CgkJCXRoaXMuZmlyZSgnbGF5ZXJyZW1vdmUnLCB7IGxheWVyOiBtIH0pOwoKCQkJaWYgKGZnLmhhc0xheWVyKG0pKSB7CgkJCQlmZy5yZW1vdmVMYXllcihtKTsKCQkJCWlmIChtLmNsdXN0ZXJTaG93KSB7CgkJCQkJbS5jbHVzdGVyU2hvdygpOwoJCQkJfQoJCQl9CgkJfQoKCQkvLyBSZWZyZXNoIGJvdW5kcyBhbmQgd2VpZ2h0ZWQgcG9zaXRpb25zLgoJCXRoaXMuX3RvcENsdXN0ZXJMZXZlbC5fcmVjYWxjdWxhdGVCb3VuZHMoKTsKCgkJdGhpcy5fcmVmcmVzaENsdXN0ZXJzSWNvbnMoKTsKCgkJLy9GaXggdXAgdGhlIGNsdXN0ZXJzIGFuZCBtYXJrZXJzIG9uIHRoZSBtYXAKCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5QWRkQ2hpbGRyZW5Ub01hcChudWxsLCB0aGlzLl96b29tLCB0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMpOwoKCQlyZXR1cm4gdGhpczsKCX0sCgoJLy9SZW1vdmVzIGFsbCBsYXllcnMgZnJvbSB0aGUgTWFya2VyQ2x1c3Rlckdyb3VwCgljbGVhckxheWVyczogZnVuY3Rpb24gKCkgewoJCS8vTmVlZCBvdXIgb3duIHNwZWNpYWwgaW1wbGVtZW50YXRpb24gYXMgdGhlIExheWVyR3JvdXAgb25lIGRvZXNuJ3Qgd29yayBmb3IgdXMKCgkJLy9JZiB3ZSBhcmVuJ3Qgb24gdGhlIG1hcCAoeWV0KSwgYmxvdyBhd2F5IHRoZSBtYXJrZXJzIHdlIGtub3cgb2YKCQlpZiAoIXRoaXMuX21hcCkgewoJCQl0aGlzLl9uZWVkc0NsdXN0ZXJpbmcgPSBbXTsKCQkJZGVsZXRlIHRoaXMuX2dyaWRDbHVzdGVyczsKCQkJZGVsZXRlIHRoaXMuX2dyaWRVbmNsdXN0ZXJlZDsKCQl9CgoJCWlmICh0aGlzLl9ub2FuaW1hdGlvblVuc3BpZGVyZnkpIHsKCQkJdGhpcy5fbm9hbmltYXRpb25VbnNwaWRlcmZ5KCk7CgkJfQoKCQkvL1JlbW92ZSBhbGwgdGhlIHZpc2libGUgbGF5ZXJzCgkJdGhpcy5fZmVhdHVyZUdyb3VwLmNsZWFyTGF5ZXJzKCk7CgkJdGhpcy5fbm9uUG9pbnRHcm91cC5jbGVhckxheWVycygpOwoKCQl0aGlzLmVhY2hMYXllcihmdW5jdGlvbiAobWFya2VyKSB7CgkJCW1hcmtlci5vZmYodGhpcy5fY2hpbGRNYXJrZXJFdmVudEhhbmRsZXJzLCB0aGlzKTsKCQkJZGVsZXRlIG1hcmtlci5fX3BhcmVudDsKCQl9LCB0aGlzKTsKCgkJaWYgKHRoaXMuX21hcCkgewoJCQkvL1Jlc2V0IF90b3BDbHVzdGVyTGV2ZWwgYW5kIHRoZSBEaXN0YW5jZUdyaWRzCgkJCXRoaXMuX2dlbmVyYXRlSW5pdGlhbENsdXN0ZXJzKCk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX0sCgoJLy9PdmVycmlkZSBGZWF0dXJlR3JvdXAuZ2V0Qm91bmRzIGFzIGl0IGRvZXNuJ3Qgd29yawoJZ2V0Qm91bmRzOiBmdW5jdGlvbiAoKSB7CgkJdmFyIGJvdW5kcyA9IG5ldyBMLkxhdExuZ0JvdW5kcygpOwoKCQlpZiAodGhpcy5fdG9wQ2x1c3RlckxldmVsKSB7CgkJCWJvdW5kcy5leHRlbmQodGhpcy5fdG9wQ2x1c3RlckxldmVsLl9ib3VuZHMpOwoJCX0KCgkJZm9yICh2YXIgaSA9IHRoaXMuX25lZWRzQ2x1c3RlcmluZy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQlib3VuZHMuZXh0ZW5kKHRoaXMuX25lZWRzQ2x1c3RlcmluZ1tpXS5nZXRMYXRMbmcoKSk7CgkJfQoKCQlib3VuZHMuZXh0ZW5kKHRoaXMuX25vblBvaW50R3JvdXAuZ2V0Qm91bmRzKCkpOwoKCQlyZXR1cm4gYm91bmRzOwoJfSwKCgkvL092ZXJyaWRlcyBMYXllckdyb3VwLmVhY2hMYXllcgoJZWFjaExheWVyOiBmdW5jdGlvbiAobWV0aG9kLCBjb250ZXh0KSB7CgkJdmFyIG1hcmtlcnMgPSB0aGlzLl9uZWVkc0NsdXN0ZXJpbmcuc2xpY2UoKSwKCQkJbmVlZHNSZW1vdmluZyA9IHRoaXMuX25lZWRzUmVtb3ZpbmcsCgkJCXRoaXNOZWVkc1JlbW92aW5nLCBpLCBqOwoKCQlpZiAodGhpcy5fdG9wQ2x1c3RlckxldmVsKSB7CgkJCXRoaXMuX3RvcENsdXN0ZXJMZXZlbC5nZXRBbGxDaGlsZE1hcmtlcnMobWFya2Vycyk7CgkJfQoKCQlmb3IgKGkgPSBtYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCXRoaXNOZWVkc1JlbW92aW5nID0gdHJ1ZTsKCgkJCWZvciAoaiA9IG5lZWRzUmVtb3ZpbmcubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0pIHsKCQkJCWlmIChuZWVkc1JlbW92aW5nW2pdLmxheWVyID09PSBtYXJrZXJzW2ldKSB7CgkJCQkJdGhpc05lZWRzUmVtb3ZpbmcgPSBmYWxzZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoKCQkJaWYgKHRoaXNOZWVkc1JlbW92aW5nKSB7CgkJCQltZXRob2QuY2FsbChjb250ZXh0LCBtYXJrZXJzW2ldKTsKCQkJfQoJCX0KCgkJdGhpcy5fbm9uUG9pbnRHcm91cC5lYWNoTGF5ZXIobWV0aG9kLCBjb250ZXh0KTsKCX0sCgoJLy9PdmVycmlkZXMgTGF5ZXJHcm91cC5nZXRMYXllcnMKCWdldExheWVyczogZnVuY3Rpb24gKCkgewoJCXZhciBsYXllcnMgPSBbXTsKCQl0aGlzLmVhY2hMYXllcihmdW5jdGlvbiAobCkgewoJCQlsYXllcnMucHVzaChsKTsKCQl9KTsKCQlyZXR1cm4gbGF5ZXJzOwoJfSwKCgkvL092ZXJyaWRlcyBMYXllckdyb3VwLmdldExheWVyLCBXQVJOSU5HOiBSZWFsbHkgYmFkIHBlcmZvcm1hbmNlCglnZXRMYXllcjogZnVuY3Rpb24gKGlkKSB7CgkJdmFyIHJlc3VsdCA9IG51bGw7CgkJCgkJaWQgPSBwYXJzZUludChpZCwgMTApOwoKCQl0aGlzLmVhY2hMYXllcihmdW5jdGlvbiAobCkgewoJCQlpZiAoTC5zdGFtcChsKSA9PT0gaWQpIHsKCQkJCXJlc3VsdCA9IGw7CgkJCX0KCQl9KTsKCgkJcmV0dXJuIHJlc3VsdDsKCX0sCgoJLy9SZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIGxheWVyIGlzIGluIHRoaXMgTWFya2VyQ2x1c3Rlckdyb3VwCgloYXNMYXllcjogZnVuY3Rpb24gKGxheWVyKSB7CgkJaWYgKCFsYXllcikgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQl2YXIgaSwgYW5BcnJheSA9IHRoaXMuX25lZWRzQ2x1c3RlcmluZzsKCgkJZm9yIChpID0gYW5BcnJheS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQlpZiAoYW5BcnJheVtpXSA9PT0gbGF5ZXIpIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoKCQlhbkFycmF5ID0gdGhpcy5fbmVlZHNSZW1vdmluZzsKCQlmb3IgKGkgPSBhbkFycmF5Lmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCWlmIChhbkFycmF5W2ldLmxheWVyID09PSBsYXllcikgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoKCQlyZXR1cm4gISEobGF5ZXIuX19wYXJlbnQgJiYgbGF5ZXIuX19wYXJlbnQuX2dyb3VwID09PSB0aGlzKSB8fCB0aGlzLl9ub25Qb2ludEdyb3VwLmhhc0xheWVyKGxheWVyKTsKCX0sCgoJLy9ab29tIGRvd24gdG8gc2hvdyB0aGUgZ2l2ZW4gbGF5ZXIgKHNwaWRlcmZ5aW5nIGlmIG5lY2Vzc2FyeSkgdGhlbiBjYWxscyB0aGUgY2FsbGJhY2sKCXpvb21Ub1Nob3dMYXllcjogZnVuY3Rpb24gKGxheWVyLCBjYWxsYmFjaykgewoKCQlpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7CgkJCWNhbGxiYWNrID0gZnVuY3Rpb24gKCkge307CgkJfQoKCQl2YXIgc2hvd01hcmtlciA9IGZ1bmN0aW9uICgpIHsKCQkJaWYgKChsYXllci5faWNvbiB8fCBsYXllci5fX3BhcmVudC5faWNvbikgJiYgIXRoaXMuX2luWm9vbUFuaW1hdGlvbikgewoJCQkJdGhpcy5fbWFwLm9mZignbW92ZWVuZCcsIHNob3dNYXJrZXIsIHRoaXMpOwoJCQkJdGhpcy5vZmYoJ2FuaW1hdGlvbmVuZCcsIHNob3dNYXJrZXIsIHRoaXMpOwoKCQkJCWlmIChsYXllci5faWNvbikgewoJCQkJCWNhbGxiYWNrKCk7CgkJCQl9IGVsc2UgaWYgKGxheWVyLl9fcGFyZW50Ll9pY29uKSB7CgkJCQkJdGhpcy5vbmNlKCdzcGlkZXJmaWVkJywgY2FsbGJhY2ssIHRoaXMpOwoJCQkJCWxheWVyLl9fcGFyZW50LnNwaWRlcmZ5KCk7CgkJCQl9CgkJCX0KCQl9OwoKCQlpZiAobGF5ZXIuX2ljb24gJiYgdGhpcy5fbWFwLmdldEJvdW5kcygpLmNvbnRhaW5zKGxheWVyLmdldExhdExuZygpKSkgewoJCQkvL0xheWVyIGlzIHZpc2libGUgb25kIG9uIHNjcmVlbiwgaW1tZWRpYXRlIHJldHVybgoJCQljYWxsYmFjaygpOwoJCX0gZWxzZSBpZiAobGF5ZXIuX19wYXJlbnQuX3pvb20gPCBNYXRoLnJvdW5kKHRoaXMuX21hcC5fem9vbSkpIHsKCQkJLy9MYXllciBzaG91bGQgYmUgdmlzaWJsZSBhdCB0aGlzIHpvb20gbGV2ZWwuIEl0IG11c3Qgbm90IGJlIG9uIHNjcmVlbiBzbyBqdXN0IHBhbiBvdmVyIHRvIGl0CgkJCXRoaXMuX21hcC5vbignbW92ZWVuZCcsIHNob3dNYXJrZXIsIHRoaXMpOwoJCQl0aGlzLl9tYXAucGFuVG8obGF5ZXIuZ2V0TGF0TG5nKCkpOwoJCX0gZWxzZSB7CgkJCXRoaXMuX21hcC5vbignbW92ZWVuZCcsIHNob3dNYXJrZXIsIHRoaXMpOwoJCQl0aGlzLm9uKCdhbmltYXRpb25lbmQnLCBzaG93TWFya2VyLCB0aGlzKTsKCQkJbGF5ZXIuX19wYXJlbnQuem9vbVRvQm91bmRzKCk7CgkJfQoJfSwKCgkvL092ZXJyaWRlcyBGZWF0dXJlR3JvdXAub25BZGQKCW9uQWRkOiBmdW5jdGlvbiAobWFwKSB7CgkJdGhpcy5fbWFwID0gbWFwOwoJCXZhciBpLCBsLCBsYXllcjsKCgkJaWYgKCFpc0Zpbml0ZSh0aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpKSkgewoJCQl0aHJvdyAiTWFwIGhhcyBubyBtYXhab29tIHNwZWNpZmllZCI7CgkJfQoKCQl0aGlzLl9mZWF0dXJlR3JvdXAuYWRkVG8obWFwKTsKCQl0aGlzLl9ub25Qb2ludEdyb3VwLmFkZFRvKG1hcCk7CgoJCWlmICghdGhpcy5fZ3JpZENsdXN0ZXJzKSB7CgkJCXRoaXMuX2dlbmVyYXRlSW5pdGlhbENsdXN0ZXJzKCk7CgkJfQoKCQl0aGlzLl9tYXhMYXQgPSBtYXAub3B0aW9ucy5jcnMucHJvamVjdGlvbi5NQVhfTEFUSVRVREU7CgoJCS8vUmVzdG9yZSBhbGwgdGhlIHBvc2l0aW9ucyBhcyB0aGV5IGFyZSBpbiB0aGUgTUNHIGJlZm9yZSByZW1vdmluZyB0aGVtCgkJZm9yIChpID0gMCwgbCA9IHRoaXMuX25lZWRzUmVtb3ZpbmcubGVuZ3RoOyBpIDwgbDsgaSsrKSB7CgkJCWxheWVyID0gdGhpcy5fbmVlZHNSZW1vdmluZ1tpXTsKCQkJbGF5ZXIubmV3bGF0bG5nID0gbGF5ZXIubGF5ZXIuX2xhdGxuZzsKCQkJbGF5ZXIubGF5ZXIuX2xhdGxuZyA9IGxheWVyLmxhdGxuZzsKCQl9CgkJLy9SZW1vdmUgdGhlbSwgdGhlbiByZXN0b3JlIHRoZWlyIG5ldyBwb3NpdGlvbnMKCQlmb3IgKGkgPSAwLCBsID0gdGhpcy5fbmVlZHNSZW1vdmluZy5sZW5ndGg7IGkgPCBsOyBpKyspIHsKCQkJbGF5ZXIgPSB0aGlzLl9uZWVkc1JlbW92aW5nW2ldOwoJCQl0aGlzLl9yZW1vdmVMYXllcihsYXllci5sYXllciwgdHJ1ZSk7CgkJCWxheWVyLmxheWVyLl9sYXRsbmcgPSBsYXllci5uZXdsYXRsbmc7CgkJfQoJCXRoaXMuX25lZWRzUmVtb3ZpbmcgPSBbXTsKCgkJLy9SZW1lbWJlciB0aGUgY3VycmVudCB6b29tIGxldmVsIGFuZCBib3VuZHMKCQl0aGlzLl96b29tID0gTWF0aC5yb3VuZCh0aGlzLl9tYXAuX3pvb20pOwoJCXRoaXMuX2N1cnJlbnRTaG93bkJvdW5kcyA9IHRoaXMuX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kcygpOwoKCQl0aGlzLl9tYXAub24oJ3pvb21lbmQnLCB0aGlzLl96b29tRW5kLCB0aGlzKTsKCQl0aGlzLl9tYXAub24oJ21vdmVlbmQnLCB0aGlzLl9tb3ZlRW5kLCB0aGlzKTsKCgkJaWYgKHRoaXMuX3NwaWRlcmZpZXJPbkFkZCkgeyAvL1RPRE8gRklYTUU6IE5vdCBzdXJlIGhvdyB0byBoYXZlIHNwaWRlcmZpZXIgYWRkIHNvbWV0aGluZyBvbiBoZXJlIG5pY2VseQoJCQl0aGlzLl9zcGlkZXJmaWVyT25BZGQoKTsKCQl9CgoJCXRoaXMuX2JpbmRFdmVudHMoKTsKCgkJLy9BY3R1YWxseSBhZGQgb3VyIG1hcmtlcnMgdG8gdGhlIG1hcDoKCQlsID0gdGhpcy5fbmVlZHNDbHVzdGVyaW5nOwoJCXRoaXMuX25lZWRzQ2x1c3RlcmluZyA9IFtdOwoJCXRoaXMuYWRkTGF5ZXJzKGwsIHRydWUpOwoJfSwKCgkvL092ZXJyaWRlcyBGZWF0dXJlR3JvdXAub25SZW1vdmUKCW9uUmVtb3ZlOiBmdW5jdGlvbiAobWFwKSB7CgkJbWFwLm9mZignem9vbWVuZCcsIHRoaXMuX3pvb21FbmQsIHRoaXMpOwoJCW1hcC5vZmYoJ21vdmVlbmQnLCB0aGlzLl9tb3ZlRW5kLCB0aGlzKTsKCgkJdGhpcy5fdW5iaW5kRXZlbnRzKCk7CgoJCS8vSW4gY2FzZSB3ZSBhcmUgaW4gYSBjbHVzdGVyIGFuaW1hdGlvbgoJCXRoaXMuX21hcC5fbWFwUGFuZS5jbGFzc05hbWUgPSB0aGlzLl9tYXAuX21hcFBhbmUuY2xhc3NOYW1lLnJlcGxhY2UoJyBsZWFmbGV0LWNsdXN0ZXItYW5pbScsICcnKTsKCgkJaWYgKHRoaXMuX3NwaWRlcmZpZXJPblJlbW92ZSkgeyAvL1RPRE8gRklYTUU6IE5vdCBzdXJlIGhvdyB0byBoYXZlIHNwaWRlcmZpZXIgYWRkIHNvbWV0aGluZyBvbiBoZXJlIG5pY2VseQoJCQl0aGlzLl9zcGlkZXJmaWVyT25SZW1vdmUoKTsKCQl9CgoJCWRlbGV0ZSB0aGlzLl9tYXhMYXQ7CgoJCS8vQ2xlYW4gdXAgYWxsIHRoZSBsYXllcnMgd2UgYWRkZWQgdG8gdGhlIG1hcAoJCXRoaXMuX2hpZGVDb3ZlcmFnZSgpOwoJCXRoaXMuX2ZlYXR1cmVHcm91cC5yZW1vdmUoKTsKCQl0aGlzLl9ub25Qb2ludEdyb3VwLnJlbW92ZSgpOwoKCQl0aGlzLl9mZWF0dXJlR3JvdXAuY2xlYXJMYXllcnMoKTsKCgkJdGhpcy5fbWFwID0gbnVsbDsKCX0sCgoJZ2V0VmlzaWJsZVBhcmVudDogZnVuY3Rpb24gKG1hcmtlcikgewoJCXZhciB2TWFya2VyID0gbWFya2VyOwoJCXdoaWxlICh2TWFya2VyICYmICF2TWFya2VyLl9pY29uKSB7CgkJCXZNYXJrZXIgPSB2TWFya2VyLl9fcGFyZW50OwoJCX0KCQlyZXR1cm4gdk1hcmtlciB8fCBudWxsOwoJfSwKCgkvL1JlbW92ZSB0aGUgZ2l2ZW4gb2JqZWN0IGZyb20gdGhlIGdpdmVuIGFycmF5CglfYXJyYXlTcGxpY2U6IGZ1bmN0aW9uIChhbkFycmF5LCBvYmopIHsKCQlmb3IgKHZhciBpID0gYW5BcnJheS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQlpZiAoYW5BcnJheVtpXSA9PT0gb2JqKSB7CgkJCQlhbkFycmF5LnNwbGljZShpLCAxKTsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoJfSwKCgkvKioKCSAqIFJlbW92ZXMgYSBtYXJrZXIgZnJvbSBhbGwgX2dyaWRVbmNsdXN0ZXJlZCB6b29tIGxldmVscywgc3RhcnRpbmcgYXQgdGhlIHN1cHBsaWVkIHpvb20uCgkgKiBAcGFyYW0gbWFya2VyIHRvIGJlIHJlbW92ZWQgZnJvbSBfZ3JpZFVuY2x1c3RlcmVkLgoJICogQHBhcmFtIHogaW50ZWdlciBib3R0b20gc3RhcnQgem9vbSBsZXZlbCAoaW5jbHVkZWQpCgkgKiBAcHJpdmF0ZQoJICovCglfcmVtb3ZlRnJvbUdyaWRVbmNsdXN0ZXJlZDogZnVuY3Rpb24gKG1hcmtlciwgeikgewoJCXZhciBtYXAgPSB0aGlzLl9tYXAsCgkJICAgIGdyaWRVbmNsdXN0ZXJlZCA9IHRoaXMuX2dyaWRVbmNsdXN0ZXJlZCwKCQkJbWluWm9vbSA9IE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSk7CgoJCWZvciAoOyB6ID49IG1pblpvb207IHotLSkgewoJCQlpZiAoIWdyaWRVbmNsdXN0ZXJlZFt6XS5yZW1vdmVPYmplY3QobWFya2VyLCBtYXAucHJvamVjdChtYXJrZXIuZ2V0TGF0TG5nKCksIHopKSkgewoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9LAoKCV9jaGlsZE1hcmtlckRyYWdTdGFydDogZnVuY3Rpb24gKGUpIHsKCQllLnRhcmdldC5fX2RyYWdTdGFydCA9IGUudGFyZ2V0Ll9sYXRsbmc7Cgl9LAoKCV9jaGlsZE1hcmtlck1vdmVkOiBmdW5jdGlvbiAoZSkgewoJCWlmICghdGhpcy5faWdub3JlTW92ZSAmJiAhZS50YXJnZXQuX19kcmFnU3RhcnQpIHsKCQkJdmFyIGlzUG9wdXBPcGVuID0gZS50YXJnZXQuX3BvcHVwICYmIGUudGFyZ2V0Ll9wb3B1cC5pc09wZW4oKTsKCgkJCXRoaXMuX21vdmVDaGlsZChlLnRhcmdldCwgZS5vbGRMYXRMbmcsIGUubGF0bG5nKTsKCgkJCWlmIChpc1BvcHVwT3BlbikgewoJCQkJZS50YXJnZXQub3BlblBvcHVwKCk7CgkJCX0KCQl9Cgl9LAoKCV9tb3ZlQ2hpbGQ6IGZ1bmN0aW9uIChsYXllciwgZnJvbSwgdG8pIHsKCQlsYXllci5fbGF0bG5nID0gZnJvbTsKCQl0aGlzLnJlbW92ZUxheWVyKGxheWVyKTsKCgkJbGF5ZXIuX2xhdGxuZyA9IHRvOwoJCXRoaXMuYWRkTGF5ZXIobGF5ZXIpOwoJfSwKCglfY2hpbGRNYXJrZXJEcmFnRW5kOiBmdW5jdGlvbiAoZSkgewoJCWlmIChlLnRhcmdldC5fX2RyYWdTdGFydCkgewoJCQl0aGlzLl9tb3ZlQ2hpbGQoZS50YXJnZXQsIGUudGFyZ2V0Ll9fZHJhZ1N0YXJ0LCBlLnRhcmdldC5fbGF0bG5nKTsKCQl9CgkJZGVsZXRlIGUudGFyZ2V0Ll9fZHJhZ1N0YXJ0OwoJfSwKCQoKCS8vSW50ZXJuYWwgZnVuY3Rpb24gZm9yIHJlbW92aW5nIGEgbWFya2VyIGZyb20gZXZlcnl0aGluZy4KCS8vZG9udFVwZGF0ZU1hcDogc2V0IHRvIHRydWUgaWYgeW91IHdpbGwgaGFuZGxlIHVwZGF0aW5nIHRoZSBtYXAgbWFudWFsbHkgKGZvciBidWxrIGZ1bmN0aW9ucykKCV9yZW1vdmVMYXllcjogZnVuY3Rpb24gKG1hcmtlciwgcmVtb3ZlRnJvbURpc3RhbmNlR3JpZCwgZG9udFVwZGF0ZU1hcCkgewoJCXZhciBncmlkQ2x1c3RlcnMgPSB0aGlzLl9ncmlkQ2x1c3RlcnMsCgkJCWdyaWRVbmNsdXN0ZXJlZCA9IHRoaXMuX2dyaWRVbmNsdXN0ZXJlZCwKCQkJZmcgPSB0aGlzLl9mZWF0dXJlR3JvdXAsCgkJCW1hcCA9IHRoaXMuX21hcCwKCQkJbWluWm9vbSA9IE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSk7CgoJCS8vUmVtb3ZlIHRoZSBtYXJrZXIgZnJvbSBkaXN0YW5jZSBjbHVzdGVycyBpdCBtaWdodCBiZSBpbgoJCWlmIChyZW1vdmVGcm9tRGlzdGFuY2VHcmlkKSB7CgkJCXRoaXMuX3JlbW92ZUZyb21HcmlkVW5jbHVzdGVyZWQobWFya2VyLCB0aGlzLl9tYXhab29tKTsKCQl9CgoJCS8vV29yayBvdXIgd2F5IHVwIHRoZSBjbHVzdGVycyByZW1vdmluZyB0aGVtIGFzIHdlIGdvIGlmIHJlcXVpcmVkCgkJdmFyIGNsdXN0ZXIgPSBtYXJrZXIuX19wYXJlbnQsCgkJCW1hcmtlcnMgPSBjbHVzdGVyLl9tYXJrZXJzLAoJCQlvdGhlck1hcmtlcjsKCgkJLy9SZW1vdmUgdGhlIG1hcmtlciBmcm9tIHRoZSBpbW1lZGlhdGUgcGFyZW50cyBtYXJrZXIgbGlzdAoJCXRoaXMuX2FycmF5U3BsaWNlKG1hcmtlcnMsIG1hcmtlcik7CgoJCXdoaWxlIChjbHVzdGVyKSB7CgkJCWNsdXN0ZXIuX2NoaWxkQ291bnQtLTsKCQkJY2x1c3Rlci5fYm91bmRzTmVlZFVwZGF0ZSA9IHRydWU7CgoJCQlpZiAoY2x1c3Rlci5fem9vbSA8IG1pblpvb20pIHsKCQkJCS8vVG9wIGxldmVsLCBkbyBub3RoaW5nCgkJCQlicmVhazsKCQkJfSBlbHNlIGlmIChyZW1vdmVGcm9tRGlzdGFuY2VHcmlkICYmIGNsdXN0ZXIuX2NoaWxkQ291bnQgPD0gMSkgeyAvL0NsdXN0ZXIgbm8gbG9uZ2VyIHJlcXVpcmVkCgkJCQkvL1dlIG5lZWQgdG8gcHVzaCB0aGUgb3RoZXIgbWFya2VyIHVwIHRvIHRoZSBwYXJlbnQKCQkJCW90aGVyTWFya2VyID0gY2x1c3Rlci5fbWFya2Vyc1swXSA9PT0gbWFya2VyID8gY2x1c3Rlci5fbWFya2Vyc1sxXSA6IGNsdXN0ZXIuX21hcmtlcnNbMF07CgoJCQkJLy9VcGRhdGUgZGlzdGFuY2UgZ3JpZAoJCQkJZ3JpZENsdXN0ZXJzW2NsdXN0ZXIuX3pvb21dLnJlbW92ZU9iamVjdChjbHVzdGVyLCBtYXAucHJvamVjdChjbHVzdGVyLl9jTGF0TG5nLCBjbHVzdGVyLl96b29tKSk7CgkJCQlncmlkVW5jbHVzdGVyZWRbY2x1c3Rlci5fem9vbV0uYWRkT2JqZWN0KG90aGVyTWFya2VyLCBtYXAucHJvamVjdChvdGhlck1hcmtlci5nZXRMYXRMbmcoKSwgY2x1c3Rlci5fem9vbSkpOwoKCQkJCS8vTW92ZSBvdGhlck1hcmtlciB1cCB0byBwYXJlbnQKCQkJCXRoaXMuX2FycmF5U3BsaWNlKGNsdXN0ZXIuX19wYXJlbnQuX2NoaWxkQ2x1c3RlcnMsIGNsdXN0ZXIpOwoJCQkJY2x1c3Rlci5fX3BhcmVudC5fbWFya2Vycy5wdXNoKG90aGVyTWFya2VyKTsKCQkJCW90aGVyTWFya2VyLl9fcGFyZW50ID0gY2x1c3Rlci5fX3BhcmVudDsKCgkJCQlpZiAoY2x1c3Rlci5faWNvbikgewoJCQkJCS8vQ2x1c3RlciBpcyBjdXJyZW50bHkgb24gdGhlIG1hcCwgbmVlZCB0byBwdXQgdGhlIG1hcmtlciBvbiB0aGUgbWFwIGluc3RlYWQKCQkJCQlmZy5yZW1vdmVMYXllcihjbHVzdGVyKTsKCQkJCQlpZiAoIWRvbnRVcGRhdGVNYXApIHsKCQkJCQkJZmcuYWRkTGF5ZXIob3RoZXJNYXJrZXIpOwoJCQkJCX0KCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWNsdXN0ZXIuX2ljb25OZWVkc1VwZGF0ZSA9IHRydWU7CgkJCX0KCgkJCWNsdXN0ZXIgPSBjbHVzdGVyLl9fcGFyZW50OwoJCX0KCgkJZGVsZXRlIG1hcmtlci5fX3BhcmVudDsKCX0sCgoJX2lzT3JJc1BhcmVudDogZnVuY3Rpb24gKGVsLCBvZWwpIHsKCQl3aGlsZSAob2VsKSB7CgkJCWlmIChlbCA9PT0gb2VsKSB7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCQlvZWwgPSBvZWwucGFyZW50Tm9kZTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfSwKCgkvL092ZXJyaWRlIEwuRXZlbnRlZC5maXJlCglmaXJlOiBmdW5jdGlvbiAodHlwZSwgZGF0YSwgcHJvcGFnYXRlKSB7CgkJaWYgKGRhdGEgJiYgZGF0YS5sYXllciBpbnN0YW5jZW9mIEwuTWFya2VyQ2x1c3RlcikgewoJCQkvL1ByZXZlbnQgbXVsdGlwbGUgY2x1c3Rlcm1vdXNlb3Zlci9vZmYgZXZlbnRzIGlmIHRoZSBpY29uIGlzIG1hZGUgdXAgb2Ygc3RhY2tlZCBkaXZzIChEb2Vzbid0IHdvcmsgaW4gaWUgPD0gOCwgbm8gcmVsYXRlZFRhcmdldCkKCQkJaWYgKGRhdGEub3JpZ2luYWxFdmVudCAmJiB0aGlzLl9pc09ySXNQYXJlbnQoZGF0YS5sYXllci5faWNvbiwgZGF0YS5vcmlnaW5hbEV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJdHlwZSA9ICdjbHVzdGVyJyArIHR5cGU7CgkJfQoKCQlMLkZlYXR1cmVHcm91cC5wcm90b3R5cGUuZmlyZS5jYWxsKHRoaXMsIHR5cGUsIGRhdGEsIHByb3BhZ2F0ZSk7Cgl9LAoKCS8vT3ZlcnJpZGUgTC5FdmVudGVkLmxpc3RlbnMKCWxpc3RlbnM6IGZ1bmN0aW9uICh0eXBlLCBwcm9wYWdhdGUpIHsKCQlyZXR1cm4gTC5GZWF0dXJlR3JvdXAucHJvdG90eXBlLmxpc3RlbnMuY2FsbCh0aGlzLCB0eXBlLCBwcm9wYWdhdGUpIHx8IEwuRmVhdHVyZUdyb3VwLnByb3RvdHlwZS5saXN0ZW5zLmNhbGwodGhpcywgJ2NsdXN0ZXInICsgdHlwZSwgcHJvcGFnYXRlKTsKCX0sCgoJLy9EZWZhdWx0IGZ1bmN0aW9uYWxpdHkKCV9kZWZhdWx0SWNvbkNyZWF0ZUZ1bmN0aW9uOiBmdW5jdGlvbiAoY2x1c3RlcikgewoJCXZhciBjaGlsZENvdW50ID0gY2x1c3Rlci5nZXRDaGlsZENvdW50KCk7CgoJCXZhciBjID0gJyBtYXJrZXItY2x1c3Rlci0nOwoJCWlmIChjaGlsZENvdW50IDwgMTApIHsKCQkJYyArPSAnc21hbGwnOwoJCX0gZWxzZSBpZiAoY2hpbGRDb3VudCA8IDEwMCkgewoJCQljICs9ICdtZWRpdW0nOwoJCX0gZWxzZSB7CgkJCWMgKz0gJ2xhcmdlJzsKCQl9CgoJCXJldHVybiBuZXcgTC5EaXZJY29uKHsgaHRtbDogJzxkaXY+PHNwYW4+JyArIGNoaWxkQ291bnQgKyAnPC9zcGFuPjwvZGl2PicsIGNsYXNzTmFtZTogJ21hcmtlci1jbHVzdGVyJyArIGMsIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApIH0pOwoJfSwKCglfYmluZEV2ZW50czogZnVuY3Rpb24gKCkgewoJCXZhciBtYXAgPSB0aGlzLl9tYXAsCgkJICAgIHNwaWRlcmZ5T25NYXhab29tID0gdGhpcy5vcHRpb25zLnNwaWRlcmZ5T25NYXhab29tLAoJCSAgICBzaG93Q292ZXJhZ2VPbkhvdmVyID0gdGhpcy5vcHRpb25zLnNob3dDb3ZlcmFnZU9uSG92ZXIsCgkJICAgIHpvb21Ub0JvdW5kc09uQ2xpY2sgPSB0aGlzLm9wdGlvbnMuem9vbVRvQm91bmRzT25DbGljazsKCgkJLy9ab29tIG9uIGNsdXN0ZXIgY2xpY2sgb3Igc3BpZGVyZnkgaWYgd2UgYXJlIGF0IHRoZSBsb3dlc3QgbGV2ZWwKCQlpZiAoc3BpZGVyZnlPbk1heFpvb20gfHwgem9vbVRvQm91bmRzT25DbGljaykgewoJCQl0aGlzLm9uKCdjbHVzdGVyY2xpY2snLCB0aGlzLl96b29tT3JTcGlkZXJmeSwgdGhpcyk7CgkJfQoKCQkvL1Nob3cgY29udmV4IGh1bGwgKGJvdW5kYXJ5KSBwb2x5Z29uIG9uIG1vdXNlIG92ZXIKCQlpZiAoc2hvd0NvdmVyYWdlT25Ib3ZlcikgewoJCQl0aGlzLm9uKCdjbHVzdGVybW91c2VvdmVyJywgdGhpcy5fc2hvd0NvdmVyYWdlLCB0aGlzKTsKCQkJdGhpcy5vbignY2x1c3Rlcm1vdXNlb3V0JywgdGhpcy5faGlkZUNvdmVyYWdlLCB0aGlzKTsKCQkJbWFwLm9uKCd6b29tZW5kJywgdGhpcy5faGlkZUNvdmVyYWdlLCB0aGlzKTsKCQl9Cgl9LAoKCV96b29tT3JTcGlkZXJmeTogZnVuY3Rpb24gKGUpIHsKCQl2YXIgY2x1c3RlciA9IGUubGF5ZXIsCgkJICAgIGJvdHRvbUNsdXN0ZXIgPSBjbHVzdGVyOwoKCQl3aGlsZSAoYm90dG9tQ2x1c3Rlci5fY2hpbGRDbHVzdGVycy5sZW5ndGggPT09IDEpIHsKCQkJYm90dG9tQ2x1c3RlciA9IGJvdHRvbUNsdXN0ZXIuX2NoaWxkQ2x1c3RlcnNbMF07CgkJfQoKCQlpZiAoYm90dG9tQ2x1c3Rlci5fem9vbSA9PT0gdGhpcy5fbWF4Wm9vbSAmJgoJCQlib3R0b21DbHVzdGVyLl9jaGlsZENvdW50ID09PSBjbHVzdGVyLl9jaGlsZENvdW50ICYmCgkJCXRoaXMub3B0aW9ucy5zcGlkZXJmeU9uTWF4Wm9vbSkgewoKCQkJLy8gQWxsIGNoaWxkIG1hcmtlcnMgYXJlIGNvbnRhaW5lZCBpbiBhIHNpbmdsZSBjbHVzdGVyIGZyb20gdGhpcy5fbWF4Wm9vbSB0byB0aGlzIGNsdXN0ZXIuCgkJCWNsdXN0ZXIuc3BpZGVyZnkoKTsKCQl9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy56b29tVG9Cb3VuZHNPbkNsaWNrKSB7CgkJCWNsdXN0ZXIuem9vbVRvQm91bmRzKCk7CgkJfQoKCQkvLyBGb2N1cyB0aGUgbWFwIGFnYWluIGZvciBrZXlib2FyZCB1c2Vycy4KCQlpZiAoZS5vcmlnaW5hbEV2ZW50ICYmIGUub3JpZ2luYWxFdmVudC5rZXlDb2RlID09PSAxMykgewoJCQl0aGlzLl9tYXAuX2NvbnRhaW5lci5mb2N1cygpOwoJCX0KCX0sCgoJX3Nob3dDb3ZlcmFnZTogZnVuY3Rpb24gKGUpIHsKCQl2YXIgbWFwID0gdGhpcy5fbWFwOwoJCWlmICh0aGlzLl9pblpvb21BbmltYXRpb24pIHsKCQkJcmV0dXJuOwoJCX0KCQlpZiAodGhpcy5fc2hvd25Qb2x5Z29uKSB7CgkJCW1hcC5yZW1vdmVMYXllcih0aGlzLl9zaG93blBvbHlnb24pOwoJCX0KCQlpZiAoZS5sYXllci5nZXRDaGlsZENvdW50KCkgPiAyICYmIGUubGF5ZXIgIT09IHRoaXMuX3NwaWRlcmZpZWQpIHsKCQkJdGhpcy5fc2hvd25Qb2x5Z29uID0gbmV3IEwuUG9seWdvbihlLmxheWVyLmdldENvbnZleEh1bGwoKSwgdGhpcy5vcHRpb25zLnBvbHlnb25PcHRpb25zKTsKCQkJbWFwLmFkZExheWVyKHRoaXMuX3Nob3duUG9seWdvbik7CgkJfQoJfSwKCglfaGlkZUNvdmVyYWdlOiBmdW5jdGlvbiAoKSB7CgkJaWYgKHRoaXMuX3Nob3duUG9seWdvbikgewoJCQl0aGlzLl9tYXAucmVtb3ZlTGF5ZXIodGhpcy5fc2hvd25Qb2x5Z29uKTsKCQkJdGhpcy5fc2hvd25Qb2x5Z29uID0gbnVsbDsKCQl9Cgl9LAoKCV91bmJpbmRFdmVudHM6IGZ1bmN0aW9uICgpIHsKCQl2YXIgc3BpZGVyZnlPbk1heFpvb20gPSB0aGlzLm9wdGlvbnMuc3BpZGVyZnlPbk1heFpvb20sCgkJCXNob3dDb3ZlcmFnZU9uSG92ZXIgPSB0aGlzLm9wdGlvbnMuc2hvd0NvdmVyYWdlT25Ib3ZlciwKCQkJem9vbVRvQm91bmRzT25DbGljayA9IHRoaXMub3B0aW9ucy56b29tVG9Cb3VuZHNPbkNsaWNrLAoJCQltYXAgPSB0aGlzLl9tYXA7CgoJCWlmIChzcGlkZXJmeU9uTWF4Wm9vbSB8fCB6b29tVG9Cb3VuZHNPbkNsaWNrKSB7CgkJCXRoaXMub2ZmKCdjbHVzdGVyY2xpY2snLCB0aGlzLl96b29tT3JTcGlkZXJmeSwgdGhpcyk7CgkJfQoJCWlmIChzaG93Q292ZXJhZ2VPbkhvdmVyKSB7CgkJCXRoaXMub2ZmKCdjbHVzdGVybW91c2VvdmVyJywgdGhpcy5fc2hvd0NvdmVyYWdlLCB0aGlzKTsKCQkJdGhpcy5vZmYoJ2NsdXN0ZXJtb3VzZW91dCcsIHRoaXMuX2hpZGVDb3ZlcmFnZSwgdGhpcyk7CgkJCW1hcC5vZmYoJ3pvb21lbmQnLCB0aGlzLl9oaWRlQ292ZXJhZ2UsIHRoaXMpOwoJCX0KCX0sCgoJX3pvb21FbmQ6IGZ1bmN0aW9uICgpIHsKCQlpZiAoIXRoaXMuX21hcCkgeyAvL01heSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBtYXAgYnkgYSB6b29tRW5kIGhhbmRsZXIKCQkJcmV0dXJuOwoJCX0KCQl0aGlzLl9tZXJnZVNwbGl0Q2x1c3RlcnMoKTsKCgkJdGhpcy5fem9vbSA9IE1hdGgucm91bmQodGhpcy5fbWFwLl96b29tKTsKCQl0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMgPSB0aGlzLl9nZXRFeHBhbmRlZFZpc2libGVCb3VuZHMoKTsKCX0sCgoJX21vdmVFbmQ6IGZ1bmN0aW9uICgpIHsKCQlpZiAodGhpcy5faW5ab29tQW5pbWF0aW9uKSB7CgkJCXJldHVybjsKCQl9CgoJCXZhciBuZXdCb3VuZHMgPSB0aGlzLl9nZXRFeHBhbmRlZFZpc2libGVCb3VuZHMoKTsKCgkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseVJlbW92ZUNoaWxkcmVuRnJvbU1hcCh0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMsIE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSksIHRoaXMuX3pvb20sIG5ld0JvdW5kcyk7CgkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseUFkZENoaWxkcmVuVG9NYXAobnVsbCwgTWF0aC5yb3VuZCh0aGlzLl9tYXAuX3pvb20pLCBuZXdCb3VuZHMpOwoKCQl0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMgPSBuZXdCb3VuZHM7CgkJcmV0dXJuOwoJfSwKCglfZ2VuZXJhdGVJbml0aWFsQ2x1c3RlcnM6IGZ1bmN0aW9uICgpIHsKCQl2YXIgbWF4Wm9vbSA9IE1hdGguY2VpbCh0aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpKSwKCQkJbWluWm9vbSA9IE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSksCgkJCXJhZGl1cyA9IHRoaXMub3B0aW9ucy5tYXhDbHVzdGVyUmFkaXVzLAoJCQlyYWRpdXNGbiA9IHJhZGl1czsKCQoJCS8vSWYgd2UganVzdCBzZXQgbWF4Q2x1c3RlclJhZGl1cyB0byBhIHNpbmdsZSBudW1iZXIsIHdlIG5lZWQgdG8gY3JlYXRlCgkJLy9hIHNpbXBsZSBmdW5jdGlvbiB0byByZXR1cm4gdGhhdCBudW1iZXIuIE90aGVyd2lzZSwgd2UganVzdCBoYXZlIHRvCgkJLy91c2UgdGhlIGZ1bmN0aW9uIHdlJ3ZlIHBhc3NlZCBpbi4KCQlpZiAodHlwZW9mIHJhZGl1cyAhPT0gImZ1bmN0aW9uIikgewoJCQlyYWRpdXNGbiA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJhZGl1czsgfTsKCQl9CgoJCWlmICh0aGlzLm9wdGlvbnMuZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb20gIT09IG51bGwpIHsKCQkJbWF4Wm9vbSA9IHRoaXMub3B0aW9ucy5kaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbSAtIDE7CgkJfQoJCXRoaXMuX21heFpvb20gPSBtYXhab29tOwoJCXRoaXMuX2dyaWRDbHVzdGVycyA9IHt9OwoJCXRoaXMuX2dyaWRVbmNsdXN0ZXJlZCA9IHt9OwoJCgkJLy9TZXQgdXAgRGlzdGFuY2VHcmlkcyBmb3IgZWFjaCB6b29tCgkJZm9yICh2YXIgem9vbSA9IG1heFpvb207IHpvb20gPj0gbWluWm9vbTsgem9vbS0tKSB7CgkJCXRoaXMuX2dyaWRDbHVzdGVyc1t6b29tXSA9IG5ldyBMLkRpc3RhbmNlR3JpZChyYWRpdXNGbih6b29tKSk7CgkJCXRoaXMuX2dyaWRVbmNsdXN0ZXJlZFt6b29tXSA9IG5ldyBMLkRpc3RhbmNlR3JpZChyYWRpdXNGbih6b29tKSk7CgkJfQoKCQkvLyBJbnN0YW50aWF0ZSB0aGUgYXBwcm9wcmlhdGUgTC5NYXJrZXJDbHVzdGVyIGNsYXNzIChhbmltYXRlZCBvciBub3QpLgoJCXRoaXMuX3RvcENsdXN0ZXJMZXZlbCA9IG5ldyB0aGlzLl9tYXJrZXJDbHVzdGVyKHRoaXMsIG1pblpvb20gLSAxKTsKCX0sCgoJLy9ab29tOiBab29tIHRvIHN0YXJ0IGFkZGluZyBhdCAoUGFzcyB0aGlzLl9tYXhab29tIHRvIHN0YXJ0IGF0IHRoZSBib3R0b20pCglfYWRkTGF5ZXI6IGZ1bmN0aW9uIChsYXllciwgem9vbSkgewoJCXZhciBncmlkQ2x1c3RlcnMgPSB0aGlzLl9ncmlkQ2x1c3RlcnMsCgkJICAgIGdyaWRVbmNsdXN0ZXJlZCA9IHRoaXMuX2dyaWRVbmNsdXN0ZXJlZCwKCQkJbWluWm9vbSA9IE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSksCgkJICAgIG1hcmtlclBvaW50LCB6OwoKCQlpZiAodGhpcy5vcHRpb25zLnNpbmdsZU1hcmtlck1vZGUpIHsKCQkJdGhpcy5fb3ZlcnJpZGVNYXJrZXJJY29uKGxheWVyKTsKCQl9CgoJCWxheWVyLm9uKHRoaXMuX2NoaWxkTWFya2VyRXZlbnRIYW5kbGVycywgdGhpcyk7CgoJCS8vRmluZCB0aGUgbG93ZXN0IHpvb20gbGV2ZWwgdG8gc2xvdCB0aGlzIG9uZSBpbgoJCWZvciAoOyB6b29tID49IG1pblpvb207IHpvb20tLSkgewoJCQltYXJrZXJQb2ludCA9IHRoaXMuX21hcC5wcm9qZWN0KGxheWVyLmdldExhdExuZygpLCB6b29tKTsgLy8gY2FsY3VsYXRlIHBpeGVsIHBvc2l0aW9uCgoJCQkvL1RyeSBmaW5kIGEgY2x1c3RlciBjbG9zZSBieQoJCQl2YXIgY2xvc2VzdCA9IGdyaWRDbHVzdGVyc1t6b29tXS5nZXROZWFyT2JqZWN0KG1hcmtlclBvaW50KTsKCQkJaWYgKGNsb3Nlc3QpIHsKCQkJCWNsb3Nlc3QuX2FkZENoaWxkKGxheWVyKTsKCQkJCWxheWVyLl9fcGFyZW50ID0gY2xvc2VzdDsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy9UcnkgZmluZCBhIG1hcmtlciBjbG9zZSBieSB0byBmb3JtIGEgbmV3IGNsdXN0ZXIgd2l0aAoJCQljbG9zZXN0ID0gZ3JpZFVuY2x1c3RlcmVkW3pvb21dLmdldE5lYXJPYmplY3QobWFya2VyUG9pbnQpOwoJCQlpZiAoY2xvc2VzdCkgewoJCQkJdmFyIHBhcmVudCA9IGNsb3Nlc3QuX19wYXJlbnQ7CgkJCQlpZiAocGFyZW50KSB7CgkJCQkJdGhpcy5fcmVtb3ZlTGF5ZXIoY2xvc2VzdCwgZmFsc2UpOwoJCQkJfQoKCQkJCS8vQ3JlYXRlIG5ldyBjbHVzdGVyIHdpdGggdGhlc2UgMiBpbiBpdAoKCQkJCXZhciBuZXdDbHVzdGVyID0gbmV3IHRoaXMuX21hcmtlckNsdXN0ZXIodGhpcywgem9vbSwgY2xvc2VzdCwgbGF5ZXIpOwoJCQkJZ3JpZENsdXN0ZXJzW3pvb21dLmFkZE9iamVjdChuZXdDbHVzdGVyLCB0aGlzLl9tYXAucHJvamVjdChuZXdDbHVzdGVyLl9jTGF0TG5nLCB6b29tKSk7CgkJCQljbG9zZXN0Ll9fcGFyZW50ID0gbmV3Q2x1c3RlcjsKCQkJCWxheWVyLl9fcGFyZW50ID0gbmV3Q2x1c3RlcjsKCgkJCQkvL0ZpcnN0IGNyZWF0ZSBhbnkgbmV3IGludGVybWVkaWF0ZSBwYXJlbnQgY2x1c3RlcnMgdGhhdCBkb24ndCBleGlzdAoJCQkJdmFyIGxhc3RQYXJlbnQgPSBuZXdDbHVzdGVyOwoJCQkJZm9yICh6ID0gem9vbSAtIDE7IHogPiBwYXJlbnQuX3pvb207IHotLSkgewoJCQkJCWxhc3RQYXJlbnQgPSBuZXcgdGhpcy5fbWFya2VyQ2x1c3Rlcih0aGlzLCB6LCBsYXN0UGFyZW50KTsKCQkJCQlncmlkQ2x1c3RlcnNbel0uYWRkT2JqZWN0KGxhc3RQYXJlbnQsIHRoaXMuX21hcC5wcm9qZWN0KGNsb3Nlc3QuZ2V0TGF0TG5nKCksIHopKTsKCQkJCX0KCQkJCXBhcmVudC5fYWRkQ2hpbGQobGFzdFBhcmVudCk7CgoJCQkJLy9SZW1vdmUgY2xvc2VzdCBmcm9tIHRoaXMgem9vbSBsZXZlbCBhbmQgYW55IGFib3ZlIHRoYXQgaXQgaXMgaW4sIHJlcGxhY2Ugd2l0aCBuZXdDbHVzdGVyCgkJCQl0aGlzLl9yZW1vdmVGcm9tR3JpZFVuY2x1c3RlcmVkKGNsb3Nlc3QsIHpvb20pOwoKCQkJCXJldHVybjsKCQkJfQoKCQkJLy9EaWRuJ3QgbWFuYWdlIHRvIGNsdXN0ZXIgaW4gYXQgdGhpcyB6b29tLCByZWNvcmQgdXMgYXMgYSBtYXJrZXIgaGVyZSBhbmQgY29udGludWUgdXB3YXJkcwoJCQlncmlkVW5jbHVzdGVyZWRbem9vbV0uYWRkT2JqZWN0KGxheWVyLCBtYXJrZXJQb2ludCk7CgkJfQoKCQkvL0RpZG4ndCBnZXQgaW4gYW55dGhpbmcsIGFkZCB1cyB0byB0aGUgdG9wCgkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9hZGRDaGlsZChsYXllcik7CgkJbGF5ZXIuX19wYXJlbnQgPSB0aGlzLl90b3BDbHVzdGVyTGV2ZWw7CgkJcmV0dXJuOwoJfSwKCgkvKioKCSAqIFJlZnJlc2hlcyB0aGUgaWNvbiBvZiBhbGwgImRpcnR5IiB2aXNpYmxlIGNsdXN0ZXJzLgoJICogTm9uLXZpc2libGUgImRpcnR5IiBjbHVzdGVycyB3aWxsIGJlIHVwZGF0ZWQgd2hlbiB0aGV5IGFyZSBhZGRlZCB0byB0aGUgbWFwLgoJICogQHByaXZhdGUKCSAqLwoJX3JlZnJlc2hDbHVzdGVyc0ljb25zOiBmdW5jdGlvbiAoKSB7CgkJdGhpcy5fZmVhdHVyZUdyb3VwLmVhY2hMYXllcihmdW5jdGlvbiAoYykgewoJCQlpZiAoYyBpbnN0YW5jZW9mIEwuTWFya2VyQ2x1c3RlciAmJiBjLl9pY29uTmVlZHNVcGRhdGUpIHsKCQkJCWMuX3VwZGF0ZUljb24oKTsKCQkJfQoJCX0pOwoJfSwKCgkvL0VucXVldWUgY29kZSB0byBmaXJlIGFmdGVyIHRoZSBtYXJrZXIgZXhwYW5kL2NvbnRyYWN0IGhhcyBoYXBwZW5lZAoJX2VucXVldWU6IGZ1bmN0aW9uIChmbikgewoJCXRoaXMuX3F1ZXVlLnB1c2goZm4pOwoJCWlmICghdGhpcy5fcXVldWVUaW1lb3V0KSB7CgkJCXRoaXMuX3F1ZXVlVGltZW91dCA9IHNldFRpbWVvdXQoTC5iaW5kKHRoaXMuX3Byb2Nlc3NRdWV1ZSwgdGhpcyksIDMwMCk7CgkJfQoJfSwKCV9wcm9jZXNzUXVldWU6IGZ1bmN0aW9uICgpIHsKCQlmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3F1ZXVlLmxlbmd0aDsgaSsrKSB7CgkJCXRoaXMuX3F1ZXVlW2ldLmNhbGwodGhpcyk7CgkJfQoJCXRoaXMuX3F1ZXVlLmxlbmd0aCA9IDA7CgkJY2xlYXJUaW1lb3V0KHRoaXMuX3F1ZXVlVGltZW91dCk7CgkJdGhpcy5fcXVldWVUaW1lb3V0ID0gbnVsbDsKCX0sCgoJLy9NZXJnZSBhbmQgc3BsaXQgYW55IGV4aXN0aW5nIGNsdXN0ZXJzIHRoYXQgYXJlIHRvbyBiaWcgb3Igc21hbGwKCV9tZXJnZVNwbGl0Q2x1c3RlcnM6IGZ1bmN0aW9uICgpIHsKCQl2YXIgbWFwWm9vbSA9IE1hdGgucm91bmQodGhpcy5fbWFwLl96b29tKTsKCgkJLy9JbiBjYXNlIHdlIGFyZSBzdGFydGluZyB0byBzcGxpdCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBmaW5pc2hlZAoJCXRoaXMuX3Byb2Nlc3NRdWV1ZSgpOwoKCQlpZiAodGhpcy5fem9vbSA8IG1hcFpvb20gJiYgdGhpcy5fY3VycmVudFNob3duQm91bmRzLmludGVyc2VjdHModGhpcy5fZ2V0RXhwYW5kZWRWaXNpYmxlQm91bmRzKCkpKSB7IC8vWm9vbSBpbiwgc3BsaXQKCQkJdGhpcy5fYW5pbWF0aW9uU3RhcnQoKTsKCQkJLy9SZW1vdmUgY2x1c3RlcnMgbm93IG9mZiBzY3JlZW4KCQkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseVJlbW92ZUNoaWxkcmVuRnJvbU1hcCh0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMsIE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSksIHRoaXMuX3pvb20sIHRoaXMuX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kcygpKTsKCgkJCXRoaXMuX2FuaW1hdGlvblpvb21Jbih0aGlzLl96b29tLCBtYXBab29tKTsKCgkJfSBlbHNlIGlmICh0aGlzLl96b29tID4gbWFwWm9vbSkgeyAvL1pvb20gb3V0LCBtZXJnZQoJCQl0aGlzLl9hbmltYXRpb25TdGFydCgpOwoKCQkJdGhpcy5fYW5pbWF0aW9uWm9vbU91dCh0aGlzLl96b29tLCBtYXBab29tKTsKCQl9IGVsc2UgewoJCQl0aGlzLl9tb3ZlRW5kKCk7CgkJfQoJfSwKCgkvL0dldHMgdGhlIG1hcHMgdmlzaWJsZSBib3VuZHMgZXhwYW5kZWQgaW4gZWFjaCBkaXJlY3Rpb24gYnkgdGhlIHNpemUgb2YgdGhlIHNjcmVlbiAoc28gdGhlIHVzZXIgY2Fubm90IHNlZSBhbiBhcmVhIHdlIGRvIG5vdCBjb3ZlciBpbiBvbmUgcGFuKQoJX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kczogZnVuY3Rpb24gKCkgewoJCWlmICghdGhpcy5vcHRpb25zLnJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzKSB7CgkJCXJldHVybiB0aGlzLl9tYXBCb3VuZHNJbmZpbml0ZTsKCQl9IGVsc2UgaWYgKEwuQnJvd3Nlci5tb2JpbGUpIHsKCQkJcmV0dXJuIHRoaXMuX2NoZWNrQm91bmRzTWF4TGF0KHRoaXMuX21hcC5nZXRCb3VuZHMoKSk7CgkJfQoKCQlyZXR1cm4gdGhpcy5fY2hlY2tCb3VuZHNNYXhMYXQodGhpcy5fbWFwLmdldEJvdW5kcygpLnBhZCgxKSk7IC8vIFBhZGRpbmcgZXhwYW5kcyB0aGUgYm91bmRzIGJ5IGl0cyBvd24gZGltZW5zaW9ucyBidXQgc2NhbGVkIHdpdGggdGhlIGdpdmVuIGZhY3Rvci4KCX0sCgoJLyoqCgkgKiBFeHBhbmRzIHRoZSBsYXRpdHVkZSB0byBJbmZpbml0eSAob3IgLUluZmluaXR5KSBpZiB0aGUgaW5wdXQgYm91bmRzIHJlYWNoIHRoZSBtYXAgcHJvamVjdGlvbiBtYXhpbXVtIGRlZmluZWQgbGF0aXR1ZGUKCSAqIChpbiB0aGUgY2FzZSBvZiBXZWIvU3BoZXJpY2FsIE1lcmNhdG9yLCBpdCBpcyA4NS4wNTExMjg3Nzk4IC8gc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dlYl9NZXJjYXRvciNGb3JtdWxhcykuCgkgKiBPdGhlcndpc2UsIHRoZSByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kcyBvcHRpb24gd2lsbCByZW1vdmUgbWFya2VycyBiZXlvbmQgdGhhdCBsaW1pdCwgd2hlcmVhcyB0aGUgc2FtZSBtYXJrZXJzIHdpdGhvdXQKCSAqIHRoaXMgb3B0aW9uIChvciBvdXRzaWRlIE1DRykgd2lsbCBoYXZlIHRoZWlyIHBvc2l0aW9uIGZsb29yZWQgKGNlaWxlZCkgYnkgdGhlIHByb2plY3Rpb24gYW5kIHJlbmRlcmVkIGF0IHRoYXQgbGltaXQsCgkgKiBtYWtpbmcgdGhlIHVzZXIgdGhpbmsgdGhhdCBNQ0cgImVhdHMiIHRoZW0gYW5kIG5ldmVyIGRpc3BsYXlzIHRoZW0gYWdhaW4uCgkgKiBAcGFyYW0gYm91bmRzIEwuTGF0TG5nQm91bmRzCgkgKiBAcmV0dXJucyB7TC5MYXRMbmdCb3VuZHN9CgkgKiBAcHJpdmF0ZQoJICovCglfY2hlY2tCb3VuZHNNYXhMYXQ6IGZ1bmN0aW9uIChib3VuZHMpIHsKCQl2YXIgbWF4TGF0ID0gdGhpcy5fbWF4TGF0OwoKCQlpZiAobWF4TGF0ICE9PSB1bmRlZmluZWQpIHsKCQkJaWYgKGJvdW5kcy5nZXROb3J0aCgpID49IG1heExhdCkgewoJCQkJYm91bmRzLl9ub3J0aEVhc3QubGF0ID0gSW5maW5pdHk7CgkJCX0KCQkJaWYgKGJvdW5kcy5nZXRTb3V0aCgpIDw9IC1tYXhMYXQpIHsKCQkJCWJvdW5kcy5fc291dGhXZXN0LmxhdCA9IC1JbmZpbml0eTsKCQkJfQoJCX0KCgkJcmV0dXJuIGJvdW5kczsKCX0sCgoJLy9TaGFyZWQgYW5pbWF0aW9uIGNvZGUKCV9hbmltYXRpb25BZGRMYXllck5vbkFuaW1hdGVkOiBmdW5jdGlvbiAobGF5ZXIsIG5ld0NsdXN0ZXIpIHsKCQlpZiAobmV3Q2x1c3RlciA9PT0gbGF5ZXIpIHsKCQkJdGhpcy5fZmVhdHVyZUdyb3VwLmFkZExheWVyKGxheWVyKTsKCQl9IGVsc2UgaWYgKG5ld0NsdXN0ZXIuX2NoaWxkQ291bnQgPT09IDIpIHsKCQkJbmV3Q2x1c3Rlci5fYWRkVG9NYXAoKTsKCgkJCXZhciBtYXJrZXJzID0gbmV3Q2x1c3Rlci5nZXRBbGxDaGlsZE1hcmtlcnMoKTsKCQkJdGhpcy5fZmVhdHVyZUdyb3VwLnJlbW92ZUxheWVyKG1hcmtlcnNbMF0pOwoJCQl0aGlzLl9mZWF0dXJlR3JvdXAucmVtb3ZlTGF5ZXIobWFya2Vyc1sxXSk7CgkJfSBlbHNlIHsKCQkJbmV3Q2x1c3Rlci5fdXBkYXRlSWNvbigpOwoJCX0KCX0sCgoJLyoqCgkgKiBFeHRyYWN0cyBpbmRpdmlkdWFsIChpLmUuIG5vbi1ncm91cCkgbGF5ZXJzIGZyb20gYSBMYXllciBHcm91cC4KCSAqIEBwYXJhbSBncm91cCB0byBleHRyYWN0IGxheWVycyBmcm9tLgoJICogQHBhcmFtIG91dHB1dCB7QXJyYXl9IGluIHdoaWNoIHRvIHN0b3JlIHRoZSBleHRyYWN0ZWQgbGF5ZXJzLgoJICogQHJldHVybnMgeyp8QXJyYXl9CgkgKiBAcHJpdmF0ZQoJICovCglfZXh0cmFjdE5vbkdyb3VwTGF5ZXJzOiBmdW5jdGlvbiAoZ3JvdXAsIG91dHB1dCkgewoJCXZhciBsYXllcnMgPSBncm91cC5nZXRMYXllcnMoKSwKCQkgICAgaSA9IDAsCgkJICAgIGxheWVyOwoKCQlvdXRwdXQgPSBvdXRwdXQgfHwgW107CgoJCWZvciAoOyBpIDwgbGF5ZXJzLmxlbmd0aDsgaSsrKSB7CgkJCWxheWVyID0gbGF5ZXJzW2ldOwoKCQkJaWYgKGxheWVyIGluc3RhbmNlb2YgTC5MYXllckdyb3VwKSB7CgkJCQl0aGlzLl9leHRyYWN0Tm9uR3JvdXBMYXllcnMobGF5ZXIsIG91dHB1dCk7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJb3V0cHV0LnB1c2gobGF5ZXIpOwoJCX0KCgkJcmV0dXJuIG91dHB1dDsKCX0sCgoJLyoqCgkgKiBJbXBsZW1lbnRzIHRoZSBzaW5nbGVNYXJrZXJNb2RlIG9wdGlvbi4KCSAqIEBwYXJhbSBsYXllciBNYXJrZXIgdG8gcmUtc3R5bGUgdXNpbmcgdGhlIENsdXN0ZXJzIGljb25DcmVhdGVGdW5jdGlvbi4KCSAqIEByZXR1cm5zIHtMLkljb259IFRoZSBuZXdseSBjcmVhdGVkIGljb24uCgkgKiBAcHJpdmF0ZQoJICovCglfb3ZlcnJpZGVNYXJrZXJJY29uOiBmdW5jdGlvbiAobGF5ZXIpIHsKCQl2YXIgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbiA9IHRoaXMub3B0aW9ucy5pY29uQ3JlYXRlRnVuY3Rpb24oewoJCQlnZXRDaGlsZENvdW50OiBmdW5jdGlvbiAoKSB7CgkJCQlyZXR1cm4gMTsKCQkJfSwKCQkJZ2V0QWxsQ2hpbGRNYXJrZXJzOiBmdW5jdGlvbiAoKSB7CgkJCQlyZXR1cm4gW2xheWVyXTsKCQkJfQoJCX0pOwoKCQlyZXR1cm4gaWNvbjsKCX0KfSk7CgovLyBDb25zdGFudCBib3VuZHMgdXNlZCBpbiBjYXNlIG9wdGlvbiAicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiIGlzIHNldCB0byBmYWxzZS4KTC5NYXJrZXJDbHVzdGVyR3JvdXAuaW5jbHVkZSh7CglfbWFwQm91bmRzSW5maW5pdGU6IG5ldyBMLkxhdExuZ0JvdW5kcyhuZXcgTC5MYXRMbmcoLUluZmluaXR5LCAtSW5maW5pdHkpLCBuZXcgTC5MYXRMbmcoSW5maW5pdHksIEluZmluaXR5KSkKfSk7CgpMLk1hcmtlckNsdXN0ZXJHcm91cC5pbmNsdWRlKHsKCV9ub0FuaW1hdGlvbjogewoJCS8vTm9uIEFuaW1hdGVkIHZlcnNpb25zIG9mIGV2ZXJ5dGhpbmcKCQlfYW5pbWF0aW9uU3RhcnQ6IGZ1bmN0aW9uICgpIHsKCQkJLy9EbyBub3RoaW5nLi4uCgkJfSwKCQlfYW5pbWF0aW9uWm9vbUluOiBmdW5jdGlvbiAocHJldmlvdXNab29tTGV2ZWwsIG5ld1pvb21MZXZlbCkgewoJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5UmVtb3ZlQ2hpbGRyZW5Gcm9tTWFwKHRoaXMuX2N1cnJlbnRTaG93bkJvdW5kcywgTWF0aC5mbG9vcih0aGlzLl9tYXAuZ2V0TWluWm9vbSgpKSwgcHJldmlvdXNab29tTGV2ZWwpOwoJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5QWRkQ2hpbGRyZW5Ub01hcChudWxsLCBuZXdab29tTGV2ZWwsIHRoaXMuX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kcygpKTsKCgkJCS8vV2UgZGlkbid0IGFjdHVhbGx5IGFuaW1hdGUsIGJ1dCB3ZSB1c2UgdGhpcyBldmVudCB0byBtZWFuICJjbHVzdGVyaW5nIGFuaW1hdGlvbnMgaGF2ZSBmaW5pc2hlZCIKCQkJdGhpcy5maXJlKCdhbmltYXRpb25lbmQnKTsKCQl9LAoJCV9hbmltYXRpb25ab29tT3V0OiBmdW5jdGlvbiAocHJldmlvdXNab29tTGV2ZWwsIG5ld1pvb21MZXZlbCkgewoJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5UmVtb3ZlQ2hpbGRyZW5Gcm9tTWFwKHRoaXMuX2N1cnJlbnRTaG93bkJvdW5kcywgTWF0aC5mbG9vcih0aGlzLl9tYXAuZ2V0TWluWm9vbSgpKSwgcHJldmlvdXNab29tTGV2ZWwpOwoJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5QWRkQ2hpbGRyZW5Ub01hcChudWxsLCBuZXdab29tTGV2ZWwsIHRoaXMuX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kcygpKTsKCgkJCS8vV2UgZGlkbid0IGFjdHVhbGx5IGFuaW1hdGUsIGJ1dCB3ZSB1c2UgdGhpcyBldmVudCB0byBtZWFuICJjbHVzdGVyaW5nIGFuaW1hdGlvbnMgaGF2ZSBmaW5pc2hlZCIKCQkJdGhpcy5maXJlKCdhbmltYXRpb25lbmQnKTsKCQl9LAoJCV9hbmltYXRpb25BZGRMYXllcjogZnVuY3Rpb24gKGxheWVyLCBuZXdDbHVzdGVyKSB7CgkJCXRoaXMuX2FuaW1hdGlvbkFkZExheWVyTm9uQW5pbWF0ZWQobGF5ZXIsIG5ld0NsdXN0ZXIpOwoJCX0KCX0sCgoJX3dpdGhBbmltYXRpb246IHsKCQkvL0FuaW1hdGVkIHZlcnNpb25zIGhlcmUKCQlfYW5pbWF0aW9uU3RhcnQ6IGZ1bmN0aW9uICgpIHsKCQkJdGhpcy5fbWFwLl9tYXBQYW5lLmNsYXNzTmFtZSArPSAnIGxlYWZsZXQtY2x1c3Rlci1hbmltJzsKCQkJdGhpcy5faW5ab29tQW5pbWF0aW9uKys7CgkJfSwKCgkJX2FuaW1hdGlvblpvb21JbjogZnVuY3Rpb24gKHByZXZpb3VzWm9vbUxldmVsLCBuZXdab29tTGV2ZWwpIHsKCQkJdmFyIGJvdW5kcyA9IHRoaXMuX2dldEV4cGFuZGVkVmlzaWJsZUJvdW5kcygpLAoJCQkgICAgZmcgPSB0aGlzLl9mZWF0dXJlR3JvdXAsCgkJCQltaW5ab29tID0gTWF0aC5mbG9vcih0aGlzLl9tYXAuZ2V0TWluWm9vbSgpKSwKCQkJICAgIGk7CgoJCQl0aGlzLl9pZ25vcmVNb3ZlID0gdHJ1ZTsKCgkJCS8vQWRkIGFsbCBjaGlsZHJlbiBvZiBjdXJyZW50IGNsdXN0ZXJzIHRvIG1hcCBhbmQgcmVtb3ZlIHRob3NlIGNsdXN0ZXJzIGZyb20gbWFwCgkJCXRoaXMuX3RvcENsdXN0ZXJMZXZlbC5fcmVjdXJzaXZlbHkoYm91bmRzLCBwcmV2aW91c1pvb21MZXZlbCwgbWluWm9vbSwgZnVuY3Rpb24gKGMpIHsKCQkJCXZhciBzdGFydFBvcyA9IGMuX2xhdGxuZywKCQkJCSAgICBtYXJrZXJzICA9IGMuX21hcmtlcnMsCgkJCQkgICAgbTsKCgkJCQlpZiAoIWJvdW5kcy5jb250YWlucyhzdGFydFBvcykpIHsKCQkJCQlzdGFydFBvcyA9IG51bGw7CgkJCQl9CgoJCQkJaWYgKGMuX2lzU2luZ2xlUGFyZW50KCkgJiYgcHJldmlvdXNab29tTGV2ZWwgKyAxID09PSBuZXdab29tTGV2ZWwpIHsgLy9JbW1lZGlhdGVseSBhZGQgdGhlIG5ldyBjaGlsZCBhbmQgcmVtb3ZlIHVzCgkJCQkJZmcucmVtb3ZlTGF5ZXIoYyk7CgkJCQkJYy5fcmVjdXJzaXZlbHlBZGRDaGlsZHJlblRvTWFwKG51bGwsIG5ld1pvb21MZXZlbCwgYm91bmRzKTsKCQkJCX0gZWxzZSB7CgkJCQkJLy9GYWRlIG91dCBvbGQgY2x1c3RlcgoJCQkJCWMuY2x1c3RlckhpZGUoKTsKCQkJCQljLl9yZWN1cnNpdmVseUFkZENoaWxkcmVuVG9NYXAoc3RhcnRQb3MsIG5ld1pvb21MZXZlbCwgYm91bmRzKTsKCQkJCX0KCgkJCQkvL1JlbW92ZSBhbGwgbWFya2VycyB0aGF0IGFyZW4ndCB2aXNpYmxlIGFueSBtb3JlCgkJCQkvL1RPRE86IERvIHdlIGFjdHVhbGx5IG5lZWQgdG8gZG8gdGhpcyBvbiB0aGUgaGlnaGVyIGxldmVscyB0b28/CgkJCQlmb3IgKGkgPSBtYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQkJbSA9IG1hcmtlcnNbaV07CgkJCQkJaWYgKCFib3VuZHMuY29udGFpbnMobS5fbGF0bG5nKSkgewoJCQkJCQlmZy5yZW1vdmVMYXllcihtKTsKCQkJCQl9CgkJCQl9CgoJCQl9KTsKCgkJCXRoaXMuX2ZvcmNlTGF5b3V0KCk7CgoJCQkvL1VwZGF0ZSBvcGFjaXRpZXMKCQkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseUJlY29tZVZpc2libGUoYm91bmRzLCBuZXdab29tTGV2ZWwpOwoJCQkvL1RPRE8gTWF5YmU/IFVwZGF0ZSBtYXJrZXJzIGluIF9yZWN1cnNpdmVseUJlY29tZVZpc2libGUKCQkJZmcuZWFjaExheWVyKGZ1bmN0aW9uIChuKSB7CgkJCQlpZiAoIShuIGluc3RhbmNlb2YgTC5NYXJrZXJDbHVzdGVyKSAmJiBuLl9pY29uKSB7CgkJCQkJbi5jbHVzdGVyU2hvdygpOwoJCQkJfQoJCQl9KTsKCgkJCS8vdXBkYXRlIHRoZSBwb3NpdGlvbnMgb2YgdGhlIGp1c3QgYWRkZWQgY2x1c3RlcnMvbWFya2VycwoJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5KGJvdW5kcywgcHJldmlvdXNab29tTGV2ZWwsIG5ld1pvb21MZXZlbCwgZnVuY3Rpb24gKGMpIHsKCQkJCWMuX3JlY3Vyc2l2ZWx5UmVzdG9yZUNoaWxkUG9zaXRpb25zKG5ld1pvb21MZXZlbCk7CgkJCX0pOwoKCQkJdGhpcy5faWdub3JlTW92ZSA9IGZhbHNlOwoKCQkJLy9SZW1vdmUgdGhlIG9sZCBjbHVzdGVycyBhbmQgY2xvc2UgdGhlIHpvb20gYW5pbWF0aW9uCgkJCXRoaXMuX2VucXVldWUoZnVuY3Rpb24gKCkgewoJCQkJLy91cGRhdGUgdGhlIHBvc2l0aW9ucyBvZiB0aGUganVzdCBhZGRlZCBjbHVzdGVycy9tYXJrZXJzCgkJCQl0aGlzLl90b3BDbHVzdGVyTGV2ZWwuX3JlY3Vyc2l2ZWx5KGJvdW5kcywgcHJldmlvdXNab29tTGV2ZWwsIG1pblpvb20sIGZ1bmN0aW9uIChjKSB7CgkJCQkJZmcucmVtb3ZlTGF5ZXIoYyk7CgkJCQkJYy5jbHVzdGVyU2hvdygpOwoJCQkJfSk7CgoJCQkJdGhpcy5fYW5pbWF0aW9uRW5kKCk7CgkJCX0pOwoJCX0sCgoJCV9hbmltYXRpb25ab29tT3V0OiBmdW5jdGlvbiAocHJldmlvdXNab29tTGV2ZWwsIG5ld1pvb21MZXZlbCkgewoJCQl0aGlzLl9hbmltYXRpb25ab29tT3V0U2luZ2xlKHRoaXMuX3RvcENsdXN0ZXJMZXZlbCwgcHJldmlvdXNab29tTGV2ZWwgLSAxLCBuZXdab29tTGV2ZWwpOwoKCQkJLy9OZWVkIHRvIGFkZCBtYXJrZXJzIGZvciB0aG9zZSB0aGF0IHdlcmVuJ3Qgb24gdGhlIG1hcCBiZWZvcmUgYnV0IGFyZSBub3cKCQkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseUFkZENoaWxkcmVuVG9NYXAobnVsbCwgbmV3Wm9vbUxldmVsLCB0aGlzLl9nZXRFeHBhbmRlZFZpc2libGVCb3VuZHMoKSk7CgkJCS8vUmVtb3ZlIG1hcmtlcnMgdGhhdCB3ZXJlIG9uIHRoZSBtYXAgYmVmb3JlIGJ1dCB3b24ndCBiZSBub3cKCQkJdGhpcy5fdG9wQ2x1c3RlckxldmVsLl9yZWN1cnNpdmVseVJlbW92ZUNoaWxkcmVuRnJvbU1hcCh0aGlzLl9jdXJyZW50U2hvd25Cb3VuZHMsIE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSksIHByZXZpb3VzWm9vbUxldmVsLCB0aGlzLl9nZXRFeHBhbmRlZFZpc2libGVCb3VuZHMoKSk7CgkJfSwKCgkJX2FuaW1hdGlvbkFkZExheWVyOiBmdW5jdGlvbiAobGF5ZXIsIG5ld0NsdXN0ZXIpIHsKCQkJdmFyIG1lID0gdGhpcywKCQkJICAgIGZnID0gdGhpcy5fZmVhdHVyZUdyb3VwOwoKCQkJZmcuYWRkTGF5ZXIobGF5ZXIpOwoJCQlpZiAobmV3Q2x1c3RlciAhPT0gbGF5ZXIpIHsKCQkJCWlmIChuZXdDbHVzdGVyLl9jaGlsZENvdW50ID4gMikgeyAvL1dhcyBhbHJlYWR5IGEgY2x1c3RlcgoKCQkJCQluZXdDbHVzdGVyLl91cGRhdGVJY29uKCk7CgkJCQkJdGhpcy5fZm9yY2VMYXlvdXQoKTsKCQkJCQl0aGlzLl9hbmltYXRpb25TdGFydCgpOwoKCQkJCQlsYXllci5fc2V0UG9zKHRoaXMuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQobmV3Q2x1c3Rlci5nZXRMYXRMbmcoKSkpOwoJCQkJCWxheWVyLmNsdXN0ZXJIaWRlKCk7CgoJCQkJCXRoaXMuX2VucXVldWUoZnVuY3Rpb24gKCkgewoJCQkJCQlmZy5yZW1vdmVMYXllcihsYXllcik7CgkJCQkJCWxheWVyLmNsdXN0ZXJTaG93KCk7CgoJCQkJCQltZS5fYW5pbWF0aW9uRW5kKCk7CgkJCQkJfSk7CgoJCQkJfSBlbHNlIHsgLy9KdXN0IGJlY2FtZSBhIGNsdXN0ZXIKCQkJCQl0aGlzLl9mb3JjZUxheW91dCgpOwoKCQkJCQltZS5fYW5pbWF0aW9uU3RhcnQoKTsKCQkJCQltZS5fYW5pbWF0aW9uWm9vbU91dFNpbmdsZShuZXdDbHVzdGVyLCB0aGlzLl9tYXAuZ2V0TWF4Wm9vbSgpLCB0aGlzLl96b29tKTsKCQkJCX0KCQkJfQoJCX0KCX0sCgoJLy8gUHJpdmF0ZSBtZXRob2RzIGZvciBhbmltYXRlZCB2ZXJzaW9ucy4KCV9hbmltYXRpb25ab29tT3V0U2luZ2xlOiBmdW5jdGlvbiAoY2x1c3RlciwgcHJldmlvdXNab29tTGV2ZWwsIG5ld1pvb21MZXZlbCkgewoJCXZhciBib3VuZHMgPSB0aGlzLl9nZXRFeHBhbmRlZFZpc2libGVCb3VuZHMoKSwKCQkJbWluWm9vbSA9IE1hdGguZmxvb3IodGhpcy5fbWFwLmdldE1pblpvb20oKSk7CgoJCS8vQW5pbWF0ZSBhbGwgb2YgdGhlIG1hcmtlcnMgaW4gdGhlIGNsdXN0ZXJzIHRvIG1vdmUgdG8gdGhlaXIgY2x1c3RlciBjZW50ZXIgcG9pbnQKCQljbHVzdGVyLl9yZWN1cnNpdmVseUFuaW1hdGVDaGlsZHJlbkluQW5kQWRkU2VsZlRvTWFwKGJvdW5kcywgbWluWm9vbSwgcHJldmlvdXNab29tTGV2ZWwgKyAxLCBuZXdab29tTGV2ZWwpOwoKCQl2YXIgbWUgPSB0aGlzOwoKCQkvL1VwZGF0ZSB0aGUgb3BhY2l0eSAoSWYgd2UgaW1tZWRpYXRlbHkgc2V0IGl0IHRoZXkgd29uJ3QgYW5pbWF0ZSkKCQl0aGlzLl9mb3JjZUxheW91dCgpOwoJCWNsdXN0ZXIuX3JlY3Vyc2l2ZWx5QmVjb21lVmlzaWJsZShib3VuZHMsIG5ld1pvb21MZXZlbCk7CgoJCS8vVE9ETzogTWF5YmUgdXNlIHRoZSB0cmFuc2l0aW9uIHRpbWluZyBzdHVmZiB0byBtYWtlIHRoaXMgbW9yZSByZWxpYWJsZQoJCS8vV2hlbiB0aGUgYW5pbWF0aW9ucyBhcmUgZG9uZSwgdGlkeSB1cAoJCXRoaXMuX2VucXVldWUoZnVuY3Rpb24gKCkgewoKCQkJLy9UaGlzIGNsdXN0ZXIgc3RvcHBlZCBiZWluZyBhIGNsdXN0ZXIgYmVmb3JlIHRoZSB0aW1lb3V0IGZpcmVkCgkJCWlmIChjbHVzdGVyLl9jaGlsZENvdW50ID09PSAxKSB7CgkJCQl2YXIgbSA9IGNsdXN0ZXIuX21hcmtlcnNbMF07CgkJCQkvL0lmIHdlIHdlcmUgaW4gYSBjbHVzdGVyIGFuaW1hdGlvbiBhdCB0aGUgdGltZSB0aGVuIHRoZSBvcGFjaXR5IGFuZCBwb3NpdGlvbiBvZiBvdXIgY2hpbGQgY291bGQgYmUgd3Jvbmcgbm93LCBzbyBmaXggaXQKCQkJCXRoaXMuX2lnbm9yZU1vdmUgPSB0cnVlOwoJCQkJbS5zZXRMYXRMbmcobS5nZXRMYXRMbmcoKSk7CgkJCQl0aGlzLl9pZ25vcmVNb3ZlID0gZmFsc2U7CgkJCQlpZiAobS5jbHVzdGVyU2hvdykgewoJCQkJCW0uY2x1c3RlclNob3coKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWNsdXN0ZXIuX3JlY3Vyc2l2ZWx5KGJvdW5kcywgbmV3Wm9vbUxldmVsLCBtaW5ab29tLCBmdW5jdGlvbiAoYykgewoJCQkJCWMuX3JlY3Vyc2l2ZWx5UmVtb3ZlQ2hpbGRyZW5Gcm9tTWFwKGJvdW5kcywgbWluWm9vbSwgcHJldmlvdXNab29tTGV2ZWwgKyAxKTsKCQkJCX0pOwoJCQl9CgkJCW1lLl9hbmltYXRpb25FbmQoKTsKCQl9KTsKCX0sCgoJX2FuaW1hdGlvbkVuZDogZnVuY3Rpb24gKCkgewoJCWlmICh0aGlzLl9tYXApIHsKCQkJdGhpcy5fbWFwLl9tYXBQYW5lLmNsYXNzTmFtZSA9IHRoaXMuX21hcC5fbWFwUGFuZS5jbGFzc05hbWUucmVwbGFjZSgnIGxlYWZsZXQtY2x1c3Rlci1hbmltJywgJycpOwoJCX0KCQl0aGlzLl9pblpvb21BbmltYXRpb24tLTsKCQl0aGlzLmZpcmUoJ2FuaW1hdGlvbmVuZCcpOwoJfSwKCgkvL0ZvcmNlIGEgYnJvd3NlciBsYXlvdXQgb2Ygc3R1ZmYgaW4gdGhlIG1hcAoJLy8gU2hvdWxkIGFwcGx5IHRoZSBjdXJyZW50IG9wYWNpdHkgYW5kIGxvY2F0aW9uIHRvIGFsbCBlbGVtZW50cyBzbyB3ZSBjYW4gdXBkYXRlIHRoZW0gYWdhaW4gZm9yIGFuIGFuaW1hdGlvbgoJX2ZvcmNlTGF5b3V0OiBmdW5jdGlvbiAoKSB7CgkJLy9JbiBteSB0ZXN0aW5nIHRoaXMgd29ya3MsIGluZmFjdCBvZmZzZXRXaWR0aCBvZiBhbnkgZWxlbWVudCBzZWVtcyB0byB3b3JrLgoJCS8vQ291bGQgbG9vcCBhbGwgdGhpcy5fbGF5ZXJzIGFuZCBkbyB0aGlzIGZvciBlYWNoIF9pY29uIGlmIGl0IHN0b3BzIHdvcmtpbmcKCgkJTC5VdGlsLmZhbHNlRm4oZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aCk7Cgl9Cn0pOwoKTC5tYXJrZXJDbHVzdGVyR3JvdXAgPSBmdW5jdGlvbiAob3B0aW9ucykgewoJcmV0dXJuIG5ldyBMLk1hcmtlckNsdXN0ZXJHcm91cChvcHRpb25zKTsKfTsKCgpMLk1hcmtlckNsdXN0ZXIgPSBMLk1hcmtlci5leHRlbmQoewoJaW5pdGlhbGl6ZTogZnVuY3Rpb24gKGdyb3VwLCB6b29tLCBhLCBiKSB7CgoJCUwuTWFya2VyLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcywgYSA/IChhLl9jTGF0TG5nIHx8IGEuZ2V0TGF0TG5nKCkpIDogbmV3IEwuTGF0TG5nKDAsIDApLAogICAgICAgICAgICB7IGljb246IHRoaXMsIHBhbmU6IGdyb3VwLm9wdGlvbnMuY2x1c3RlclBhbmUgfSk7CgoJCXRoaXMuX2dyb3VwID0gZ3JvdXA7CgkJdGhpcy5fem9vbSA9IHpvb207CgoJCXRoaXMuX21hcmtlcnMgPSBbXTsKCQl0aGlzLl9jaGlsZENsdXN0ZXJzID0gW107CgkJdGhpcy5fY2hpbGRDb3VudCA9IDA7CgkJdGhpcy5faWNvbk5lZWRzVXBkYXRlID0gdHJ1ZTsKCQl0aGlzLl9ib3VuZHNOZWVkVXBkYXRlID0gdHJ1ZTsKCgkJdGhpcy5fYm91bmRzID0gbmV3IEwuTGF0TG5nQm91bmRzKCk7CgoJCWlmIChhKSB7CgkJCXRoaXMuX2FkZENoaWxkKGEpOwoJCX0KCQlpZiAoYikgewoJCQl0aGlzLl9hZGRDaGlsZChiKTsKCQl9Cgl9LAoKCS8vUmVjdXJzaXZlbHkgcmV0cmlldmUgYWxsIGNoaWxkIG1hcmtlcnMgb2YgdGhpcyBjbHVzdGVyCglnZXRBbGxDaGlsZE1hcmtlcnM6IGZ1bmN0aW9uIChzdG9yYWdlQXJyYXkpIHsKCQlzdG9yYWdlQXJyYXkgPSBzdG9yYWdlQXJyYXkgfHwgW107CgoJCWZvciAodmFyIGkgPSB0aGlzLl9jaGlsZENsdXN0ZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCXRoaXMuX2NoaWxkQ2x1c3RlcnNbaV0uZ2V0QWxsQ2hpbGRNYXJrZXJzKHN0b3JhZ2VBcnJheSk7CgkJfQoKCQlmb3IgKHZhciBqID0gdGhpcy5fbWFya2Vycy5sZW5ndGggLSAxOyBqID49IDA7IGotLSkgewoJCQlzdG9yYWdlQXJyYXkucHVzaCh0aGlzLl9tYXJrZXJzW2pdKTsKCQl9CgoJCXJldHVybiBzdG9yYWdlQXJyYXk7Cgl9LAoKCS8vUmV0dXJucyB0aGUgY291bnQgb2YgaG93IG1hbnkgY2hpbGQgbWFya2VycyB3ZSBoYXZlCglnZXRDaGlsZENvdW50OiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHRoaXMuX2NoaWxkQ291bnQ7Cgl9LAoKCS8vWm9vbSB0byB0aGUgbWluaW11bSBvZiBzaG93aW5nIGFsbCBvZiB0aGUgY2hpbGQgbWFya2Vycywgb3IgdGhlIGV4dGVudHMgb2YgdGhpcyBjbHVzdGVyCgl6b29tVG9Cb3VuZHM6IGZ1bmN0aW9uIChmaXRCb3VuZHNPcHRpb25zKSB7CgkJdmFyIGNoaWxkQ2x1c3RlcnMgPSB0aGlzLl9jaGlsZENsdXN0ZXJzLnNsaWNlKCksCgkJCW1hcCA9IHRoaXMuX2dyb3VwLl9tYXAsCgkJCWJvdW5kc1pvb20gPSBtYXAuZ2V0Qm91bmRzWm9vbSh0aGlzLl9ib3VuZHMpLAoJCQl6b29tID0gdGhpcy5fem9vbSArIDEsCgkJCW1hcFpvb20gPSBtYXAuZ2V0Wm9vbSgpLAoJCQlpOwoKCQkvL2NhbGN1bGF0ZSBob3cgZmFyIHdlIG5lZWQgdG8gem9vbSBkb3duIHRvIHNlZSBhbGwgb2YgdGhlIG1hcmtlcnMKCQl3aGlsZSAoY2hpbGRDbHVzdGVycy5sZW5ndGggPiAwICYmIGJvdW5kc1pvb20gPiB6b29tKSB7CgkJCXpvb20rKzsKCQkJdmFyIG5ld0NsdXN0ZXJzID0gW107CgkJCWZvciAoaSA9IDA7IGkgPCBjaGlsZENsdXN0ZXJzLmxlbmd0aDsgaSsrKSB7CgkJCQluZXdDbHVzdGVycyA9IG5ld0NsdXN0ZXJzLmNvbmNhdChjaGlsZENsdXN0ZXJzW2ldLl9jaGlsZENsdXN0ZXJzKTsKCQkJfQoJCQljaGlsZENsdXN0ZXJzID0gbmV3Q2x1c3RlcnM7CgkJfQoKCQlpZiAoYm91bmRzWm9vbSA+IHpvb20pIHsKCQkJdGhpcy5fZ3JvdXAuX21hcC5zZXRWaWV3KHRoaXMuX2xhdGxuZywgem9vbSk7CgkJfSBlbHNlIGlmIChib3VuZHNab29tIDw9IG1hcFpvb20pIHsgLy9JZiBmaXRCb3VuZHMgd291bGRuJ3Qgem9vbSB1cyBkb3duLCB6b29tIHVzIGRvd24gaW5zdGVhZAoJCQl0aGlzLl9ncm91cC5fbWFwLnNldFZpZXcodGhpcy5fbGF0bG5nLCBtYXBab29tICsgMSk7CgkJfSBlbHNlIHsKCQkJdGhpcy5fZ3JvdXAuX21hcC5maXRCb3VuZHModGhpcy5fYm91bmRzLCBmaXRCb3VuZHNPcHRpb25zKTsKCQl9Cgl9LAoKCWdldEJvdW5kczogZnVuY3Rpb24gKCkgewoJCXZhciBib3VuZHMgPSBuZXcgTC5MYXRMbmdCb3VuZHMoKTsKCQlib3VuZHMuZXh0ZW5kKHRoaXMuX2JvdW5kcyk7CgkJcmV0dXJuIGJvdW5kczsKCX0sCgoJX3VwZGF0ZUljb246IGZ1bmN0aW9uICgpIHsKCQl0aGlzLl9pY29uTmVlZHNVcGRhdGUgPSB0cnVlOwoJCWlmICh0aGlzLl9pY29uKSB7CgkJCXRoaXMuc2V0SWNvbih0aGlzKTsKCQl9Cgl9LAoKCS8vQ2x1ZGdlIGZvciBJY29uLCB3ZSBwcmV0ZW5kIHRvIGJlIGFuIGljb24gZm9yIHBlcmZvcm1hbmNlCgljcmVhdGVJY29uOiBmdW5jdGlvbiAoKSB7CgkJaWYgKHRoaXMuX2ljb25OZWVkc1VwZGF0ZSkgewoJCQl0aGlzLl9pY29uT2JqID0gdGhpcy5fZ3JvdXAub3B0aW9ucy5pY29uQ3JlYXRlRnVuY3Rpb24odGhpcyk7CgkJCXRoaXMuX2ljb25OZWVkc1VwZGF0ZSA9IGZhbHNlOwoJCX0KCQlyZXR1cm4gdGhpcy5faWNvbk9iai5jcmVhdGVJY29uKCk7Cgl9LAoJY3JlYXRlU2hhZG93OiBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHRoaXMuX2ljb25PYmouY3JlYXRlU2hhZG93KCk7Cgl9LAoKCglfYWRkQ2hpbGQ6IGZ1bmN0aW9uIChuZXcxLCBpc05vdGlmaWNhdGlvbkZyb21DaGlsZCkgewoKCQl0aGlzLl9pY29uTmVlZHNVcGRhdGUgPSB0cnVlOwoKCQl0aGlzLl9ib3VuZHNOZWVkVXBkYXRlID0gdHJ1ZTsKCQl0aGlzLl9zZXRDbHVzdGVyQ2VudGVyKG5ldzEpOwoKCQlpZiAobmV3MSBpbnN0YW5jZW9mIEwuTWFya2VyQ2x1c3RlcikgewoJCQlpZiAoIWlzTm90aWZpY2F0aW9uRnJvbUNoaWxkKSB7CgkJCQl0aGlzLl9jaGlsZENsdXN0ZXJzLnB1c2gobmV3MSk7CgkJCQluZXcxLl9fcGFyZW50ID0gdGhpczsKCQkJfQoJCQl0aGlzLl9jaGlsZENvdW50ICs9IG5ldzEuX2NoaWxkQ291bnQ7CgkJfSBlbHNlIHsKCQkJaWYgKCFpc05vdGlmaWNhdGlvbkZyb21DaGlsZCkgewoJCQkJdGhpcy5fbWFya2Vycy5wdXNoKG5ldzEpOwoJCQl9CgkJCXRoaXMuX2NoaWxkQ291bnQrKzsKCQl9CgoJCWlmICh0aGlzLl9fcGFyZW50KSB7CgkJCXRoaXMuX19wYXJlbnQuX2FkZENoaWxkKG5ldzEsIHRydWUpOwoJCX0KCX0sCgoJLyoqCgkgKiBNYWtlcyBzdXJlIHRoZSBjbHVzdGVyIGNlbnRlciBpcyBzZXQuIElmIG5vdCwgdXNlcyB0aGUgY2hpbGQgY2VudGVyIGlmIGl0IGlzIGEgY2x1c3Rlciwgb3IgdGhlIG1hcmtlciBwb3NpdGlvbi4KCSAqIEBwYXJhbSBjaGlsZCBMLk1hcmtlckNsdXN0ZXJ8TC5NYXJrZXIgdGhhdCB3aWxsIGJlIHVzZWQgYXMgY2x1c3RlciBjZW50ZXIgaWYgbm90IGRlZmluZWQgeWV0LgoJICogQHByaXZhdGUKCSAqLwoJX3NldENsdXN0ZXJDZW50ZXI6IGZ1bmN0aW9uIChjaGlsZCkgewoJCWlmICghdGhpcy5fY0xhdExuZykgewoJCQkvLyB3aGVuIGNsdXN0ZXJpbmcsIHRha2UgcG9zaXRpb24gb2YgdGhlIGZpcnN0IHBvaW50IGFzIHRoZSBjbHVzdGVyIGNlbnRlcgoJCQl0aGlzLl9jTGF0TG5nID0gY2hpbGQuX2NMYXRMbmcgfHwgY2hpbGQuX2xhdGxuZzsKCQl9Cgl9LAoKCS8qKgoJICogQXNzaWducyBpbXBvc3NpYmxlIGJvdW5kaW5nIHZhbHVlcyBzbyB0aGF0IHRoZSBuZXh0IGV4dGVuZCBlbnRpcmVseSBkZXRlcm1pbmVzIHRoZSBuZXcgYm91bmRzLgoJICogVGhpcyBtZXRob2QgYXZvaWRzIGhhdmluZyB0byB0cmFzaCB0aGUgcHJldmlvdXMgTC5MYXRMbmdCb3VuZHMgb2JqZWN0IGFuZCB0byBjcmVhdGUgYSBuZXcgb25lLCB3aGljaCBpcyBtdWNoIHNsb3dlciBmb3IgdGhpcyBjbGFzcy4KCSAqIEFzIGxvbmcgYXMgdGhlIGJvdW5kcyBhcmUgbm90IGV4dGVuZGVkLCBtb3N0IG90aGVyIG1ldGhvZHMgd291bGQgcHJvYmFibHkgZmFpbCwgYXMgdGhleSB3b3VsZCB3aXRoIGJvdW5kcyBpbml0aWFsaXplZCBidXQgbm90IGV4dGVuZGVkLgoJICogQHByaXZhdGUKCSAqLwoJX3Jlc2V0Qm91bmRzOiBmdW5jdGlvbiAoKSB7CgkJdmFyIGJvdW5kcyA9IHRoaXMuX2JvdW5kczsKCgkJaWYgKGJvdW5kcy5fc291dGhXZXN0KSB7CgkJCWJvdW5kcy5fc291dGhXZXN0LmxhdCA9IEluZmluaXR5OwoJCQlib3VuZHMuX3NvdXRoV2VzdC5sbmcgPSBJbmZpbml0eTsKCQl9CgkJaWYgKGJvdW5kcy5fbm9ydGhFYXN0KSB7CgkJCWJvdW5kcy5fbm9ydGhFYXN0LmxhdCA9IC1JbmZpbml0eTsKCQkJYm91bmRzLl9ub3J0aEVhc3QubG5nID0gLUluZmluaXR5OwoJCX0KCX0sCgoJX3JlY2FsY3VsYXRlQm91bmRzOiBmdW5jdGlvbiAoKSB7CgkJdmFyIG1hcmtlcnMgPSB0aGlzLl9tYXJrZXJzLAoJCSAgICBjaGlsZENsdXN0ZXJzID0gdGhpcy5fY2hpbGRDbHVzdGVycywKCQkgICAgbGF0U3VtID0gMCwKCQkgICAgbG5nU3VtID0gMCwKCQkgICAgdG90YWxDb3VudCA9IHRoaXMuX2NoaWxkQ291bnQsCgkJICAgIGksIGNoaWxkLCBjaGlsZExhdExuZywgY2hpbGRDb3VudDsKCgkJLy8gQ2FzZSB3aGVyZSBhbGwgbWFya2VycyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBtYXAgYW5kIHdlIGFyZSBsZWZ0IHdpdGgganVzdCBhbiBlbXB0eSBfdG9wQ2x1c3RlckxldmVsLgoJCWlmICh0b3RhbENvdW50ID09PSAwKSB7CgkJCXJldHVybjsKCQl9CgoJCS8vIFJlc2V0IHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgbmV3IG9iamVjdCwgZm9yIHBlcmZvcm1hbmNlLgoJCXRoaXMuX3Jlc2V0Qm91bmRzKCk7CgoJCS8vIENoaWxkIG1hcmtlcnMuCgkJZm9yIChpID0gMDsgaSA8IG1hcmtlcnMubGVuZ3RoOyBpKyspIHsKCQkJY2hpbGRMYXRMbmcgPSBtYXJrZXJzW2ldLl9sYXRsbmc7CgoJCQl0aGlzLl9ib3VuZHMuZXh0ZW5kKGNoaWxkTGF0TG5nKTsKCgkJCWxhdFN1bSArPSBjaGlsZExhdExuZy5sYXQ7CgkJCWxuZ1N1bSArPSBjaGlsZExhdExuZy5sbmc7CgkJfQoKCQkvLyBDaGlsZCBjbHVzdGVycy4KCQlmb3IgKGkgPSAwOyBpIDwgY2hpbGRDbHVzdGVycy5sZW5ndGg7IGkrKykgewoJCQljaGlsZCA9IGNoaWxkQ2x1c3RlcnNbaV07CgoJCQkvLyBSZS1jb21wdXRlIGNoaWxkIGJvdW5kcyBhbmQgd2VpZ2h0ZWQgcG9zaXRpb24gZmlyc3QgaWYgbmVjZXNzYXJ5LgoJCQlpZiAoY2hpbGQuX2JvdW5kc05lZWRVcGRhdGUpIHsKCQkJCWNoaWxkLl9yZWNhbGN1bGF0ZUJvdW5kcygpOwoJCQl9CgoJCQl0aGlzLl9ib3VuZHMuZXh0ZW5kKGNoaWxkLl9ib3VuZHMpOwoKCQkJY2hpbGRMYXRMbmcgPSBjaGlsZC5fd0xhdExuZzsKCQkJY2hpbGRDb3VudCA9IGNoaWxkLl9jaGlsZENvdW50OwoKCQkJbGF0U3VtICs9IGNoaWxkTGF0TG5nLmxhdCAqIGNoaWxkQ291bnQ7CgkJCWxuZ1N1bSArPSBjaGlsZExhdExuZy5sbmcgKiBjaGlsZENvdW50OwoJCX0KCgkJdGhpcy5fbGF0bG5nID0gdGhpcy5fd0xhdExuZyA9IG5ldyBMLkxhdExuZyhsYXRTdW0gLyB0b3RhbENvdW50LCBsbmdTdW0gLyB0b3RhbENvdW50KTsKCgkJLy8gUmVzZXQgZGlydHkgZmxhZy4KCQl0aGlzLl9ib3VuZHNOZWVkVXBkYXRlID0gZmFsc2U7Cgl9LAoKCS8vU2V0IG91ciBtYXJrZXJzIHBvc2l0aW9uIGFzIGdpdmVuIGFuZCBhZGQgaXQgdG8gdGhlIG1hcAoJX2FkZFRvTWFwOiBmdW5jdGlvbiAoc3RhcnRQb3MpIHsKCQlpZiAoc3RhcnRQb3MpIHsKCQkJdGhpcy5fYmFja3VwTGF0bG5nID0gdGhpcy5fbGF0bG5nOwoJCQl0aGlzLnNldExhdExuZyhzdGFydFBvcyk7CgkJfQoJCXRoaXMuX2dyb3VwLl9mZWF0dXJlR3JvdXAuYWRkTGF5ZXIodGhpcyk7Cgl9LAoKCV9yZWN1cnNpdmVseUFuaW1hdGVDaGlsZHJlbkluOiBmdW5jdGlvbiAoYm91bmRzLCBjZW50ZXIsIG1heFpvb20pIHsKCQl0aGlzLl9yZWN1cnNpdmVseShib3VuZHMsIHRoaXMuX2dyb3VwLl9tYXAuZ2V0TWluWm9vbSgpLCBtYXhab29tIC0gMSwKCQkJZnVuY3Rpb24gKGMpIHsKCQkJCXZhciBtYXJrZXJzID0gYy5fbWFya2VycywKCQkJCQlpLCBtOwoJCQkJZm9yIChpID0gbWFya2Vycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQkJCW0gPSBtYXJrZXJzW2ldOwoKCQkJCQkvL09ubHkgZG8gaXQgaWYgdGhlIGljb24gaXMgc3RpbGwgb24gdGhlIG1hcAoJCQkJCWlmIChtLl9pY29uKSB7CgkJCQkJCW0uX3NldFBvcyhjZW50ZXIpOwoJCQkJCQltLmNsdXN0ZXJIaWRlKCk7CgkJCQkJfQoJCQkJfQoJCQl9LAoJCQlmdW5jdGlvbiAoYykgewoJCQkJdmFyIGNoaWxkQ2x1c3RlcnMgPSBjLl9jaGlsZENsdXN0ZXJzLAoJCQkJCWosIGNtOwoJCQkJZm9yIChqID0gY2hpbGRDbHVzdGVycy5sZW5ndGggLSAxOyBqID49IDA7IGotLSkgewoJCQkJCWNtID0gY2hpbGRDbHVzdGVyc1tqXTsKCQkJCQlpZiAoY20uX2ljb24pIHsKCQkJCQkJY20uX3NldFBvcyhjZW50ZXIpOwoJCQkJCQljbS5jbHVzdGVySGlkZSgpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCSk7Cgl9LAoKCV9yZWN1cnNpdmVseUFuaW1hdGVDaGlsZHJlbkluQW5kQWRkU2VsZlRvTWFwOiBmdW5jdGlvbiAoYm91bmRzLCBtYXBNaW5ab29tLCBwcmV2aW91c1pvb21MZXZlbCwgbmV3Wm9vbUxldmVsKSB7CgkJdGhpcy5fcmVjdXJzaXZlbHkoYm91bmRzLCBuZXdab29tTGV2ZWwsIG1hcE1pblpvb20sCgkJCWZ1bmN0aW9uIChjKSB7CgkJCQljLl9yZWN1cnNpdmVseUFuaW1hdGVDaGlsZHJlbkluKGJvdW5kcywgYy5fZ3JvdXAuX21hcC5sYXRMbmdUb0xheWVyUG9pbnQoYy5nZXRMYXRMbmcoKSkucm91bmQoKSwgcHJldmlvdXNab29tTGV2ZWwpOwoKCQkJCS8vVE9ETzogZGVwdGhUb0FuaW1hdGVJbiBhZmZlY3RzIF9pc1NpbmdsZVBhcmVudCwgaWYgdGhlcmUgaXMgYSBtdWx0aXpvb20gd2UgbWF5L21heSBub3QgYmUuCgkJCQkvL0FzIGEgaGFjayB3ZSBvbmx5IGRvIGEgYW5pbWF0aW9uIGZyZWUgem9vbSBvbiBhIHNpbmdsZSBsZXZlbCB6b29tLCBpZiBzb21lb25lIGRvZXMgbXVsdGlwbGUgbGV2ZWxzIHRoZW4gd2UgYWx3YXlzIGFuaW1hdGUKCQkJCWlmIChjLl9pc1NpbmdsZVBhcmVudCgpICYmIHByZXZpb3VzWm9vbUxldmVsIC0gMSA9PT0gbmV3Wm9vbUxldmVsKSB7CgkJCQkJYy5jbHVzdGVyU2hvdygpOwoJCQkJCWMuX3JlY3Vyc2l2ZWx5UmVtb3ZlQ2hpbGRyZW5Gcm9tTWFwKGJvdW5kcywgbWFwTWluWm9vbSwgcHJldmlvdXNab29tTGV2ZWwpOyAvL0ltbWVkaWF0ZWx5IHJlbW92ZSBvdXIgY2hpbGRyZW4gYXMgd2UgYXJlIHJlcGxhY2luZyB0aGVtLiBUT0RPIHByZXZpb3VzQm91bmRzIG5vdCBib3VuZHMKCQkJCX0gZWxzZSB7CgkJCQkJYy5jbHVzdGVySGlkZSgpOwoJCQkJfQoKCQkJCWMuX2FkZFRvTWFwKCk7CgkJCX0KCQkpOwoJfSwKCglfcmVjdXJzaXZlbHlCZWNvbWVWaXNpYmxlOiBmdW5jdGlvbiAoYm91bmRzLCB6b29tTGV2ZWwpIHsKCQl0aGlzLl9yZWN1cnNpdmVseShib3VuZHMsIHRoaXMuX2dyb3VwLl9tYXAuZ2V0TWluWm9vbSgpLCB6b29tTGV2ZWwsIG51bGwsIGZ1bmN0aW9uIChjKSB7CgkJCWMuY2x1c3RlclNob3coKTsKCQl9KTsKCX0sCgoJX3JlY3Vyc2l2ZWx5QWRkQ2hpbGRyZW5Ub01hcDogZnVuY3Rpb24gKHN0YXJ0UG9zLCB6b29tTGV2ZWwsIGJvdW5kcykgewoJCXRoaXMuX3JlY3Vyc2l2ZWx5KGJvdW5kcywgdGhpcy5fZ3JvdXAuX21hcC5nZXRNaW5ab29tKCkgLSAxLCB6b29tTGV2ZWwsCgkJCWZ1bmN0aW9uIChjKSB7CgkJCQlpZiAoem9vbUxldmVsID09PSBjLl96b29tKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCS8vQWRkIG91ciBjaGlsZCBtYXJrZXJzIGF0IHN0YXJ0UG9zIChzbyB0aGV5IGNhbiBiZSBhbmltYXRlZCBvdXQpCgkJCQlmb3IgKHZhciBpID0gYy5fbWFya2Vycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQkJCXZhciBubSA9IGMuX21hcmtlcnNbaV07CgoJCQkJCWlmICghYm91bmRzLmNvbnRhaW5zKG5tLl9sYXRsbmcpKSB7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJaWYgKHN0YXJ0UG9zKSB7CgkJCQkJCW5tLl9iYWNrdXBMYXRsbmcgPSBubS5nZXRMYXRMbmcoKTsKCgkJCQkJCW5tLnNldExhdExuZyhzdGFydFBvcyk7CgkJCQkJCWlmIChubS5jbHVzdGVySGlkZSkgewoJCQkJCQkJbm0uY2x1c3RlckhpZGUoKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJYy5fZ3JvdXAuX2ZlYXR1cmVHcm91cC5hZGRMYXllcihubSk7CgkJCQl9CgkJCX0sCgkJCWZ1bmN0aW9uIChjKSB7CgkJCQljLl9hZGRUb01hcChzdGFydFBvcyk7CgkJCX0KCQkpOwoJfSwKCglfcmVjdXJzaXZlbHlSZXN0b3JlQ2hpbGRQb3NpdGlvbnM6IGZ1bmN0aW9uICh6b29tTGV2ZWwpIHsKCQkvL0ZpeCBwb3NpdGlvbnMgb2YgY2hpbGQgbWFya2VycwoJCWZvciAodmFyIGkgPSB0aGlzLl9tYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCXZhciBubSA9IHRoaXMuX21hcmtlcnNbaV07CgkJCWlmIChubS5fYmFja3VwTGF0bG5nKSB7CgkJCQlubS5zZXRMYXRMbmcobm0uX2JhY2t1cExhdGxuZyk7CgkJCQlkZWxldGUgbm0uX2JhY2t1cExhdGxuZzsKCQkJfQoJCX0KCgkJaWYgKHpvb21MZXZlbCAtIDEgPT09IHRoaXMuX3pvb20pIHsKCQkJLy9SZXBvc2l0aW9uIGNoaWxkIGNsdXN0ZXJzCgkJCWZvciAodmFyIGogPSB0aGlzLl9jaGlsZENsdXN0ZXJzLmxlbmd0aCAtIDE7IGogPj0gMDsgai0tKSB7CgkJCQl0aGlzLl9jaGlsZENsdXN0ZXJzW2pdLl9yZXN0b3JlUG9zaXRpb24oKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWZvciAodmFyIGsgPSB0aGlzLl9jaGlsZENsdXN0ZXJzLmxlbmd0aCAtIDE7IGsgPj0gMDsgay0tKSB7CgkJCQl0aGlzLl9jaGlsZENsdXN0ZXJzW2tdLl9yZWN1cnNpdmVseVJlc3RvcmVDaGlsZFBvc2l0aW9ucyh6b29tTGV2ZWwpOwoJCQl9CgkJfQoJfSwKCglfcmVzdG9yZVBvc2l0aW9uOiBmdW5jdGlvbiAoKSB7CgkJaWYgKHRoaXMuX2JhY2t1cExhdGxuZykgewoJCQl0aGlzLnNldExhdExuZyh0aGlzLl9iYWNrdXBMYXRsbmcpOwoJCQlkZWxldGUgdGhpcy5fYmFja3VwTGF0bG5nOwoJCX0KCX0sCgoJLy9leGNlcHRCb3VuZHM6IElmIHNldCwgZG9uJ3QgcmVtb3ZlIGFueSBtYXJrZXJzL2NsdXN0ZXJzIGluIGl0CglfcmVjdXJzaXZlbHlSZW1vdmVDaGlsZHJlbkZyb21NYXA6IGZ1bmN0aW9uIChwcmV2aW91c0JvdW5kcywgbWFwTWluWm9vbSwgem9vbUxldmVsLCBleGNlcHRCb3VuZHMpIHsKCQl2YXIgbSwgaTsKCQl0aGlzLl9yZWN1cnNpdmVseShwcmV2aW91c0JvdW5kcywgbWFwTWluWm9vbSAtIDEsIHpvb21MZXZlbCAtIDEsCgkJCWZ1bmN0aW9uIChjKSB7CgkJCQkvL1JlbW92ZSBtYXJrZXJzIGF0IGV2ZXJ5IGxldmVsCgkJCQlmb3IgKGkgPSBjLl9tYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQkJbSA9IGMuX21hcmtlcnNbaV07CgkJCQkJaWYgKCFleGNlcHRCb3VuZHMgfHwgIWV4Y2VwdEJvdW5kcy5jb250YWlucyhtLl9sYXRsbmcpKSB7CgkJCQkJCWMuX2dyb3VwLl9mZWF0dXJlR3JvdXAucmVtb3ZlTGF5ZXIobSk7CgkJCQkJCWlmIChtLmNsdXN0ZXJTaG93KSB7CgkJCQkJCQltLmNsdXN0ZXJTaG93KCk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0sCgkJCWZ1bmN0aW9uIChjKSB7CgkJCQkvL1JlbW92ZSBjaGlsZCBjbHVzdGVycyBhdCBqdXN0IHRoZSBib3R0b20gbGV2ZWwKCQkJCWZvciAoaSA9IGMuX2NoaWxkQ2x1c3RlcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJCQltID0gYy5fY2hpbGRDbHVzdGVyc1tpXTsKCQkJCQlpZiAoIWV4Y2VwdEJvdW5kcyB8fCAhZXhjZXB0Qm91bmRzLmNvbnRhaW5zKG0uX2xhdGxuZykpIHsKCQkJCQkJYy5fZ3JvdXAuX2ZlYXR1cmVHcm91cC5yZW1vdmVMYXllcihtKTsKCQkJCQkJaWYgKG0uY2x1c3RlclNob3cpIHsKCQkJCQkJCW0uY2x1c3RlclNob3coKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCSk7Cgl9LAoKCS8vUnVuIHRoZSBnaXZlbiBmdW5jdGlvbnMgcmVjdXJzaXZlbHkgdG8gdGhpcyBhbmQgY2hpbGQgY2x1c3RlcnMKCS8vIGJvdW5kc1RvQXBwbHlUbzogYSBMLkxhdExuZ0JvdW5kcyByZXByZXNlbnRpbmcgdGhlIGJvdW5kcyBvZiB3aGF0IGNsdXN0ZXJzIHRvIHJlY3Vyc2UgaW4gdG8KCS8vIHpvb21MZXZlbFRvU3RhcnQ6IHpvb20gbGV2ZWwgdG8gc3RhcnQgcnVubmluZyBmdW5jdGlvbnMgKGluY2x1c2l2ZSkKCS8vIHpvb21MZXZlbFRvU3RvcDogem9vbSBsZXZlbCB0byBzdG9wIHJ1bm5pbmcgZnVuY3Rpb25zIChpbmNsdXNpdmUpCgkvLyBydW5BdEV2ZXJ5TGV2ZWw6IGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gTC5NYXJrZXJDbHVzdGVyIGFzIGFuIGFyZ3VtZW50IHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgb24gZXZlcnkgbGV2ZWwKCS8vIHJ1bkF0Qm90dG9tTGV2ZWw6IGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gTC5NYXJrZXJDbHVzdGVyIGFzIGFuIGFyZ3VtZW50IHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgYXQgb25seSB0aGUgYm90dG9tIGxldmVsCglfcmVjdXJzaXZlbHk6IGZ1bmN0aW9uIChib3VuZHNUb0FwcGx5VG8sIHpvb21MZXZlbFRvU3RhcnQsIHpvb21MZXZlbFRvU3RvcCwgcnVuQXRFdmVyeUxldmVsLCBydW5BdEJvdHRvbUxldmVsKSB7CgkJdmFyIGNoaWxkQ2x1c3RlcnMgPSB0aGlzLl9jaGlsZENsdXN0ZXJzLAoJCSAgICB6b29tID0gdGhpcy5fem9vbSwKCQkgICAgaSwgYzsKCgkJaWYgKHpvb21MZXZlbFRvU3RhcnQgPD0gem9vbSkgewoJCQlpZiAocnVuQXRFdmVyeUxldmVsKSB7CgkJCQlydW5BdEV2ZXJ5TGV2ZWwodGhpcyk7CgkJCX0KCQkJaWYgKHJ1bkF0Qm90dG9tTGV2ZWwgJiYgem9vbSA9PT0gem9vbUxldmVsVG9TdG9wKSB7CgkJCQlydW5BdEJvdHRvbUxldmVsKHRoaXMpOwoJCQl9CgkJfQoKCQlpZiAoem9vbSA8IHpvb21MZXZlbFRvU3RhcnQgfHwgem9vbSA8IHpvb21MZXZlbFRvU3RvcCkgewoJCQlmb3IgKGkgPSBjaGlsZENsdXN0ZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQljID0gY2hpbGRDbHVzdGVyc1tpXTsKCQkJCWlmIChib3VuZHNUb0FwcGx5VG8uaW50ZXJzZWN0cyhjLl9ib3VuZHMpKSB7CgkJCQkJYy5fcmVjdXJzaXZlbHkoYm91bmRzVG9BcHBseVRvLCB6b29tTGV2ZWxUb1N0YXJ0LCB6b29tTGV2ZWxUb1N0b3AsIHJ1bkF0RXZlcnlMZXZlbCwgcnVuQXRCb3R0b21MZXZlbCk7CgkJCQl9CgkJCX0KCQl9Cgl9LAoKCS8vUmV0dXJucyB0cnVlIGlmIHdlIGFyZSB0aGUgcGFyZW50IG9mIG9ubHkgb25lIGNsdXN0ZXIgYW5kIHRoYXQgY2x1c3RlciBpcyB0aGUgc2FtZSBhcyB1cwoJX2lzU2luZ2xlUGFyZW50OiBmdW5jdGlvbiAoKSB7CgkJLy9Eb24ndCBuZWVkIHRvIGNoZWNrIHRoaXMuX21hcmtlcnMgYXMgdGhlIHJlc3Qgd29uJ3Qgd29yayBpZiB0aGVyZSBhcmUgYW55CgkJcmV0dXJuIHRoaXMuX2NoaWxkQ2x1c3RlcnMubGVuZ3RoID4gMCAmJiB0aGlzLl9jaGlsZENsdXN0ZXJzWzBdLl9jaGlsZENvdW50ID09PSB0aGlzLl9jaGlsZENvdW50OwoJfQp9KTsKCgoKLyoKKiBFeHRlbmRzIEwuTWFya2VyIHRvIGluY2x1ZGUgdHdvIGV4dHJhIG1ldGhvZHM6IGNsdXN0ZXJIaWRlIGFuZCBjbHVzdGVyU2hvdy4KKiAKKiBUaGV5IHdvcmsgYXMgc2V0T3BhY2l0eSgwKSBhbmQgc2V0T3BhY2l0eSgxKSByZXNwZWN0aXZlbHksIGJ1dAoqIHRoZXkgd2lsbCByZW1lbWJlciB0aGUgbWFya2VyJ3Mgb3BhY2l0eSB3aGVuIGhpZGluZyBhbmQgc2hvd2luZyBpdCBhZ2Fpbi4KKiAKKi8KCgpMLk1hcmtlci5pbmNsdWRlKHsKCQoJY2x1c3RlckhpZGU6IGZ1bmN0aW9uICgpIHsKCQl0aGlzLm9wdGlvbnMub3BhY2l0eVdoZW5VbmNsdXN0ZXJlZCA9IHRoaXMub3B0aW9ucy5vcGFjaXR5IHx8IDE7CgkJcmV0dXJuIHRoaXMuc2V0T3BhY2l0eSgwKTsKCX0sCgkKCWNsdXN0ZXJTaG93OiBmdW5jdGlvbiAoKSB7CgkJdmFyIHJldCA9IHRoaXMuc2V0T3BhY2l0eSh0aGlzLm9wdGlvbnMub3BhY2l0eSB8fCB0aGlzLm9wdGlvbnMub3BhY2l0eVdoZW5VbmNsdXN0ZXJlZCk7CgkJZGVsZXRlIHRoaXMub3B0aW9ucy5vcGFjaXR5V2hlblVuY2x1c3RlcmVkOwoJCXJldHVybiByZXQ7Cgl9CgkKfSk7CgoKCgoKTC5EaXN0YW5jZUdyaWQgPSBmdW5jdGlvbiAoY2VsbFNpemUpIHsKCXRoaXMuX2NlbGxTaXplID0gY2VsbFNpemU7Cgl0aGlzLl9zcUNlbGxTaXplID0gY2VsbFNpemUgKiBjZWxsU2l6ZTsKCXRoaXMuX2dyaWQgPSB7fTsKCXRoaXMuX29iamVjdFBvaW50ID0geyB9Owp9OwoKTC5EaXN0YW5jZUdyaWQucHJvdG90eXBlID0gewoKCWFkZE9iamVjdDogZnVuY3Rpb24gKG9iaiwgcG9pbnQpIHsKCQl2YXIgeCA9IHRoaXMuX2dldENvb3JkKHBvaW50LngpLAoJCSAgICB5ID0gdGhpcy5fZ2V0Q29vcmQocG9pbnQueSksCgkJICAgIGdyaWQgPSB0aGlzLl9ncmlkLAoJCSAgICByb3cgPSBncmlkW3ldID0gZ3JpZFt5XSB8fCB7fSwKCQkgICAgY2VsbCA9IHJvd1t4XSA9IHJvd1t4XSB8fCBbXSwKCQkgICAgc3RhbXAgPSBMLlV0aWwuc3RhbXAob2JqKTsKCgkJdGhpcy5fb2JqZWN0UG9pbnRbc3RhbXBdID0gcG9pbnQ7CgoJCWNlbGwucHVzaChvYmopOwoJfSwKCgl1cGRhdGVPYmplY3Q6IGZ1bmN0aW9uIChvYmosIHBvaW50KSB7CgkJdGhpcy5yZW1vdmVPYmplY3Qob2JqKTsKCQl0aGlzLmFkZE9iamVjdChvYmosIHBvaW50KTsKCX0sCgoJLy9SZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCB3YXMgZm91bmQKCXJlbW92ZU9iamVjdDogZnVuY3Rpb24gKG9iaiwgcG9pbnQpIHsKCQl2YXIgeCA9IHRoaXMuX2dldENvb3JkKHBvaW50LngpLAoJCSAgICB5ID0gdGhpcy5fZ2V0Q29vcmQocG9pbnQueSksCgkJICAgIGdyaWQgPSB0aGlzLl9ncmlkLAoJCSAgICByb3cgPSBncmlkW3ldID0gZ3JpZFt5XSB8fCB7fSwKCQkgICAgY2VsbCA9IHJvd1t4XSA9IHJvd1t4XSB8fCBbXSwKCQkgICAgaSwgbGVuOwoKCQlkZWxldGUgdGhpcy5fb2JqZWN0UG9pbnRbTC5VdGlsLnN0YW1wKG9iaildOwoKCQlmb3IgKGkgPSAwLCBsZW4gPSBjZWxsLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7CgkJCWlmIChjZWxsW2ldID09PSBvYmopIHsKCgkJCQljZWxsLnNwbGljZShpLCAxKTsKCgkJCQlpZiAobGVuID09PSAxKSB7CgkJCQkJZGVsZXRlIHJvd1t4XTsKCQkJCX0KCgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCgl9LAoKCWVhY2hPYmplY3Q6IGZ1bmN0aW9uIChmbiwgY29udGV4dCkgewoJCXZhciBpLCBqLCBrLCBsZW4sIHJvdywgY2VsbCwgcmVtb3ZlZCwKCQkgICAgZ3JpZCA9IHRoaXMuX2dyaWQ7CgoJCWZvciAoaSBpbiBncmlkKSB7CgkJCXJvdyA9IGdyaWRbaV07CgoJCQlmb3IgKGogaW4gcm93KSB7CgkJCQljZWxsID0gcm93W2pdOwoKCQkJCWZvciAoayA9IDAsIGxlbiA9IGNlbGwubGVuZ3RoOyBrIDwgbGVuOyBrKyspIHsKCQkJCQlyZW1vdmVkID0gZm4uY2FsbChjb250ZXh0LCBjZWxsW2tdKTsKCQkJCQlpZiAocmVtb3ZlZCkgewoJCQkJCQlrLS07CgkJCQkJCWxlbi0tOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0sCgoJZ2V0TmVhck9iamVjdDogZnVuY3Rpb24gKHBvaW50KSB7CgkJdmFyIHggPSB0aGlzLl9nZXRDb29yZChwb2ludC54KSwKCQkgICAgeSA9IHRoaXMuX2dldENvb3JkKHBvaW50LnkpLAoJCSAgICBpLCBqLCBrLCByb3csIGNlbGwsIGxlbiwgb2JqLCBkaXN0LAoJCSAgICBvYmplY3RQb2ludCA9IHRoaXMuX29iamVjdFBvaW50LAoJCSAgICBjbG9zZXN0RGlzdFNxID0gdGhpcy5fc3FDZWxsU2l6ZSwKCQkgICAgY2xvc2VzdCA9IG51bGw7CgoJCWZvciAoaSA9IHkgLSAxOyBpIDw9IHkgKyAxOyBpKyspIHsKCQkJcm93ID0gdGhpcy5fZ3JpZFtpXTsKCQkJaWYgKHJvdykgewoKCQkJCWZvciAoaiA9IHggLSAxOyBqIDw9IHggKyAxOyBqKyspIHsKCQkJCQljZWxsID0gcm93W2pdOwoJCQkJCWlmIChjZWxsKSB7CgoJCQkJCQlmb3IgKGsgPSAwLCBsZW4gPSBjZWxsLmxlbmd0aDsgayA8IGxlbjsgaysrKSB7CgkJCQkJCQlvYmogPSBjZWxsW2tdOwoJCQkJCQkJZGlzdCA9IHRoaXMuX3NxRGlzdChvYmplY3RQb2ludFtMLlV0aWwuc3RhbXAob2JqKV0sIHBvaW50KTsKCQkJCQkJCWlmIChkaXN0IDwgY2xvc2VzdERpc3RTcSkgewoJCQkJCQkJCWNsb3Nlc3REaXN0U3EgPSBkaXN0OwoJCQkJCQkJCWNsb3Nlc3QgPSBvYmo7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuIGNsb3Nlc3Q7Cgl9LAoKCV9nZXRDb29yZDogZnVuY3Rpb24gKHgpIHsKCQlyZXR1cm4gTWF0aC5mbG9vcih4IC8gdGhpcy5fY2VsbFNpemUpOwoJfSwKCglfc3FEaXN0OiBmdW5jdGlvbiAocCwgcDIpIHsKCQl2YXIgZHggPSBwMi54IC0gcC54LAoJCSAgICBkeSA9IHAyLnkgLSBwLnk7CgkJcmV0dXJuIGR4ICogZHggKyBkeSAqIGR5OwoJfQp9OwoKCi8qIENvcHlyaWdodCAoYykgMjAxMiB0aGUgYXV0aG9ycyBsaXN0ZWQgYXQgdGhlIGZvbGxvd2luZyBVUkwsIGFuZC9vcgp0aGUgYXV0aG9ycyBvZiByZWZlcmVuY2VkIGFydGljbGVzIG9yIGluY29ycG9yYXRlZCBleHRlcm5hbCBjb2RlOgpodHRwOi8vZW4ubGl0ZXJhdGVwcm9ncmFtcy5vcmcvUXVpY2todWxsXyhKYXZhc2NyaXB0KT9hY3Rpb249aGlzdG9yeSZvZmZzZXQ9MjAxMjA0MTAxNzUyNTYKClBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwphIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwp3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCmRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bwpwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCk1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwKVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCgpSZXRyaWV2ZWQgZnJvbTogaHR0cDovL2VuLmxpdGVyYXRlcHJvZ3JhbXMub3JnL1F1aWNraHVsbF8oSmF2YXNjcmlwdCk/b2xkaWQ9MTg0MzQKKi8KCihmdW5jdGlvbiAoKSB7CglMLlF1aWNrSHVsbCA9IHsKCgkJLyoKCQkgKiBAcGFyYW0ge09iamVjdH0gY3B0IGEgcG9pbnQgdG8gYmUgbWVhc3VyZWQgZnJvbSB0aGUgYmFzZWxpbmUKCQkgKiBAcGFyYW0ge0FycmF5fSBibCB0aGUgYmFzZWxpbmUsIGFzIHJlcHJlc2VudGVkIGJ5IGEgdHdvLWVsZW1lbnQKCQkgKiAgIGFycmF5IG9mIGxhdGxuZyBvYmplY3RzLgoJCSAqIEByZXR1cm5zIHtOdW1iZXJ9IGFuIGFwcHJveGltYXRlIGRpc3RhbmNlIG1lYXN1cmUKCQkgKi8KCQlnZXREaXN0YW50OiBmdW5jdGlvbiAoY3B0LCBibCkgewoJCQl2YXIgdlkgPSBibFsxXS5sYXQgLSBibFswXS5sYXQsCgkJCQl2WCA9IGJsWzBdLmxuZyAtIGJsWzFdLmxuZzsKCQkJcmV0dXJuICh2WCAqIChjcHQubGF0IC0gYmxbMF0ubGF0KSArIHZZICogKGNwdC5sbmcgLSBibFswXS5sbmcpKTsKCQl9LAoKCQkvKgoJCSAqIEBwYXJhbSB7QXJyYXl9IGJhc2VMaW5lIGEgdHdvLWVsZW1lbnQgYXJyYXkgb2YgbGF0bG5nIG9iamVjdHMKCQkgKiAgIHJlcHJlc2VudGluZyB0aGUgYmFzZWxpbmUgdG8gcHJvamVjdCBmcm9tCgkJICogQHBhcmFtIHtBcnJheX0gbGF0TG5ncyBhbiBhcnJheSBvZiBsYXRsbmcgb2JqZWN0cwoJCSAqIEByZXR1cm5zIHtPYmplY3R9IHRoZSBtYXhpbXVtIHBvaW50IGFuZCBhbGwgbmV3IHBvaW50cyB0byBzdGF5CgkJICogICBpbiBjb25zaWRlcmF0aW9uIGZvciB0aGUgaHVsbC4KCQkgKi8KCQlmaW5kTW9zdERpc3RhbnRQb2ludEZyb21CYXNlTGluZTogZnVuY3Rpb24gKGJhc2VMaW5lLCBsYXRMbmdzKSB7CgkJCXZhciBtYXhEID0gMCwKCQkJCW1heFB0ID0gbnVsbCwKCQkJCW5ld1BvaW50cyA9IFtdLAoJCQkJaSwgcHQsIGQ7CgoJCQlmb3IgKGkgPSBsYXRMbmdzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQlwdCA9IGxhdExuZ3NbaV07CgkJCQlkID0gdGhpcy5nZXREaXN0YW50KHB0LCBiYXNlTGluZSk7CgoJCQkJaWYgKGQgPiAwKSB7CgkJCQkJbmV3UG9pbnRzLnB1c2gocHQpOwoJCQkJfSBlbHNlIHsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQlpZiAoZCA+IG1heEQpIHsKCQkJCQltYXhEID0gZDsKCQkJCQltYXhQdCA9IHB0OwoJCQkJfQoJCQl9CgoJCQlyZXR1cm4geyBtYXhQb2ludDogbWF4UHQsIG5ld1BvaW50czogbmV3UG9pbnRzIH07CgkJfSwKCgoJCS8qCgkJICogR2l2ZW4gYSBiYXNlbGluZSwgY29tcHV0ZSB0aGUgY29udmV4IGh1bGwgb2YgbGF0TG5ncyBhcyBhbiBhcnJheQoJCSAqIG9mIGxhdExuZ3MuCgkJICoKCQkgKiBAcGFyYW0ge0FycmF5fSBsYXRMbmdzCgkJICogQHJldHVybnMge0FycmF5fQoJCSAqLwoJCWJ1aWxkQ29udmV4SHVsbDogZnVuY3Rpb24gKGJhc2VMaW5lLCBsYXRMbmdzKSB7CgkJCXZhciBjb252ZXhIdWxsQmFzZUxpbmVzID0gW10sCgkJCQl0ID0gdGhpcy5maW5kTW9zdERpc3RhbnRQb2ludEZyb21CYXNlTGluZShiYXNlTGluZSwgbGF0TG5ncyk7CgoJCQlpZiAodC5tYXhQb2ludCkgeyAvLyBpZiB0aGVyZSBpcyBzdGlsbCBhIHBvaW50ICJvdXRzaWRlIiB0aGUgYmFzZSBsaW5lCgkJCQljb252ZXhIdWxsQmFzZUxpbmVzID0KCQkJCQljb252ZXhIdWxsQmFzZUxpbmVzLmNvbmNhdCgKCQkJCQkJdGhpcy5idWlsZENvbnZleEh1bGwoW2Jhc2VMaW5lWzBdLCB0Lm1heFBvaW50XSwgdC5uZXdQb2ludHMpCgkJCQkJKTsKCQkJCWNvbnZleEh1bGxCYXNlTGluZXMgPQoJCQkJCWNvbnZleEh1bGxCYXNlTGluZXMuY29uY2F0KAoJCQkJCQl0aGlzLmJ1aWxkQ29udmV4SHVsbChbdC5tYXhQb2ludCwgYmFzZUxpbmVbMV1dLCB0Lm5ld1BvaW50cykKCQkJCQkpOwoJCQkJcmV0dXJuIGNvbnZleEh1bGxCYXNlTGluZXM7CgkJCX0gZWxzZSB7ICAvLyBpZiB0aGVyZSBpcyBubyBtb3JlIHBvaW50ICJvdXRzaWRlIiB0aGUgYmFzZSBsaW5lLCB0aGUgY3VycmVudCBiYXNlIGxpbmUgaXMgcGFydCBvZiB0aGUgY29udmV4IGh1bGwKCQkJCXJldHVybiBbYmFzZUxpbmVbMF1dOwoJCQl9CgkJfSwKCgkJLyoKCQkgKiBHaXZlbiBhbiBhcnJheSBvZiBsYXRsbmdzLCBjb21wdXRlIGEgY29udmV4IGh1bGwgYXMgYW4gYXJyYXkKCQkgKiBvZiBsYXRsbmdzCgkJICoKCQkgKiBAcGFyYW0ge0FycmF5fSBsYXRMbmdzCgkJICogQHJldHVybnMge0FycmF5fQoJCSAqLwoJCWdldENvbnZleEh1bGw6IGZ1bmN0aW9uIChsYXRMbmdzKSB7CgkJCS8vIGZpbmQgZmlyc3QgYmFzZWxpbmUKCQkJdmFyIG1heExhdCA9IGZhbHNlLCBtaW5MYXQgPSBmYWxzZSwKCQkJCW1heExuZyA9IGZhbHNlLCBtaW5MbmcgPSBmYWxzZSwKCQkJCW1heExhdFB0ID0gbnVsbCwgbWluTGF0UHQgPSBudWxsLAoJCQkJbWF4TG5nUHQgPSBudWxsLCBtaW5MbmdQdCA9IG51bGwsCgkJCQltYXhQdCA9IG51bGwsIG1pblB0ID0gbnVsbCwKCQkJCWk7CgoJCQlmb3IgKGkgPSBsYXRMbmdzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQl2YXIgcHQgPSBsYXRMbmdzW2ldOwoJCQkJaWYgKG1heExhdCA9PT0gZmFsc2UgfHwgcHQubGF0ID4gbWF4TGF0KSB7CgkJCQkJbWF4TGF0UHQgPSBwdDsKCQkJCQltYXhMYXQgPSBwdC5sYXQ7CgkJCQl9CgkJCQlpZiAobWluTGF0ID09PSBmYWxzZSB8fCBwdC5sYXQgPCBtaW5MYXQpIHsKCQkJCQltaW5MYXRQdCA9IHB0OwoJCQkJCW1pbkxhdCA9IHB0LmxhdDsKCQkJCX0KCQkJCWlmIChtYXhMbmcgPT09IGZhbHNlIHx8IHB0LmxuZyA+IG1heExuZykgewoJCQkJCW1heExuZ1B0ID0gcHQ7CgkJCQkJbWF4TG5nID0gcHQubG5nOwoJCQkJfQoJCQkJaWYgKG1pbkxuZyA9PT0gZmFsc2UgfHwgcHQubG5nIDwgbWluTG5nKSB7CgkJCQkJbWluTG5nUHQgPSBwdDsKCQkJCQltaW5MbmcgPSBwdC5sbmc7CgkJCQl9CgkJCX0KCQkJCgkJCWlmIChtaW5MYXQgIT09IG1heExhdCkgewoJCQkJbWluUHQgPSBtaW5MYXRQdDsKCQkJCW1heFB0ID0gbWF4TGF0UHQ7CgkJCX0gZWxzZSB7CgkJCQltaW5QdCA9IG1pbkxuZ1B0OwoJCQkJbWF4UHQgPSBtYXhMbmdQdDsKCQkJfQoKCQkJdmFyIGNoID0gW10uY29uY2F0KHRoaXMuYnVpbGRDb252ZXhIdWxsKFttaW5QdCwgbWF4UHRdLCBsYXRMbmdzKSwKCQkJCQkJCQl0aGlzLmJ1aWxkQ29udmV4SHVsbChbbWF4UHQsIG1pblB0XSwgbGF0TG5ncykpOwoJCQlyZXR1cm4gY2g7CgkJfQoJfTsKfSgpKTsKCkwuTWFya2VyQ2x1c3Rlci5pbmNsdWRlKHsKCWdldENvbnZleEh1bGw6IGZ1bmN0aW9uICgpIHsKCQl2YXIgY2hpbGRNYXJrZXJzID0gdGhpcy5nZXRBbGxDaGlsZE1hcmtlcnMoKSwKCQkJcG9pbnRzID0gW10sCgkJCXAsIGk7CgoJCWZvciAoaSA9IGNoaWxkTWFya2Vycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQlwID0gY2hpbGRNYXJrZXJzW2ldLmdldExhdExuZygpOwoJCQlwb2ludHMucHVzaChwKTsKCQl9CgoJCXJldHVybiBMLlF1aWNrSHVsbC5nZXRDb252ZXhIdWxsKHBvaW50cyk7Cgl9Cn0pOwoKCi8vVGhpcyBjb2RlIGlzIDEwMCUgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2phd2ovT3ZlcmxhcHBpbmdNYXJrZXJTcGlkZXJmaWVyLUxlYWZsZXQKLy9IdWdlIHRoYW5rcyB0byBqYXdqIGZvciBpbXBsZW1lbnRpbmcgaXQgZmlyc3QgdG8gbWFrZSBteSBqb2IgZWFzeSA6LSkKCkwuTWFya2VyQ2x1c3Rlci5pbmNsdWRlKHsKCglfMlBJOiBNYXRoLlBJICogMiwKCV9jaXJjbGVGb290U2VwYXJhdGlvbjogMjUsIC8vcmVsYXRlZCB0byBjaXJjdW1mZXJlbmNlIG9mIGNpcmNsZQoJX2NpcmNsZVN0YXJ0QW5nbGU6IE1hdGguUEkgLyA2LAoKCV9zcGlyYWxGb290U2VwYXJhdGlvbjogIDI4LCAvL3JlbGF0ZWQgdG8gc2l6ZSBvZiBzcGlyYWwgKGV4cGVyaW1lbnQhKQoJX3NwaXJhbExlbmd0aFN0YXJ0OiAxMSwKCV9zcGlyYWxMZW5ndGhGYWN0b3I6IDUsCgoJX2NpcmNsZVNwaXJhbFN3aXRjaG92ZXI6IDksIC8vc2hvdyBzcGlyYWwgaW5zdGVhZCBvZiBjaXJjbGUgZnJvbSB0aGlzIG1hcmtlciBjb3VudCB1cHdhcmRzLgoJCQkJCQkJCS8vIDAgLT4gYWx3YXlzIHNwaXJhbDsgSW5maW5pdHkgLT4gYWx3YXlzIGNpcmNsZQoKCXNwaWRlcmZ5OiBmdW5jdGlvbiAoKSB7CgkJaWYgKHRoaXMuX2dyb3VwLl9zcGlkZXJmaWVkID09PSB0aGlzIHx8IHRoaXMuX2dyb3VwLl9pblpvb21BbmltYXRpb24pIHsKCQkJcmV0dXJuOwoJCX0KCgkJdmFyIGNoaWxkTWFya2VycyA9IHRoaXMuZ2V0QWxsQ2hpbGRNYXJrZXJzKCksCgkJCWdyb3VwID0gdGhpcy5fZ3JvdXAsCgkJCW1hcCA9IGdyb3VwLl9tYXAsCgkJCWNlbnRlciA9IG1hcC5sYXRMbmdUb0xheWVyUG9pbnQodGhpcy5fbGF0bG5nKSwKCQkJcG9zaXRpb25zOwoKCQl0aGlzLl9ncm91cC5fdW5zcGlkZXJmeSgpOwoJCXRoaXMuX2dyb3VwLl9zcGlkZXJmaWVkID0gdGhpczsKCgkJLy9UT0RPIE1heWJlOiBjaGlsZE1hcmtlcnMgb3JkZXIgYnkgZGlzdGFuY2UgdG8gY2VudGVyCgoJCWlmIChjaGlsZE1hcmtlcnMubGVuZ3RoID49IHRoaXMuX2NpcmNsZVNwaXJhbFN3aXRjaG92ZXIpIHsKCQkJcG9zaXRpb25zID0gdGhpcy5fZ2VuZXJhdGVQb2ludHNTcGlyYWwoY2hpbGRNYXJrZXJzLmxlbmd0aCwgY2VudGVyKTsKCQl9IGVsc2UgewoJCQljZW50ZXIueSArPSAxMDsgLy8gT3RoZXJ3aXNlIGNpcmNsZXMgbG9vayB3cm9uZyA9PiBoYWNrIGZvciBzdGFuZGFyZCBibHVlIGljb24sIHJlbmRlcnMgZGlmZmVyZW50bHkgZm9yIG90aGVyIGljb25zLgoJCQlwb3NpdGlvbnMgPSB0aGlzLl9nZW5lcmF0ZVBvaW50c0NpcmNsZShjaGlsZE1hcmtlcnMubGVuZ3RoLCBjZW50ZXIpOwoJCX0KCgkJdGhpcy5fYW5pbWF0aW9uU3BpZGVyZnkoY2hpbGRNYXJrZXJzLCBwb3NpdGlvbnMpOwoJfSwKCgl1bnNwaWRlcmZ5OiBmdW5jdGlvbiAoem9vbURldGFpbHMpIHsKCQkvLy8gPHBhcmFtIE5hbWU9Inpvb21EZXRhaWxzIj5Bcmd1bWVudCBmcm9tIHpvb21hbmltIGlmIGJlaW5nIGNhbGxlZCBpbiBhIHpvb20gYW5pbWF0aW9uIG9yIG51bGwgb3RoZXJ3aXNlPC9wYXJhbT4KCQlpZiAodGhpcy5fZ3JvdXAuX2luWm9vbUFuaW1hdGlvbikgewoJCQlyZXR1cm47CgkJfQoJCXRoaXMuX2FuaW1hdGlvblVuc3BpZGVyZnkoem9vbURldGFpbHMpOwoKCQl0aGlzLl9ncm91cC5fc3BpZGVyZmllZCA9IG51bGw7Cgl9LAoKCV9nZW5lcmF0ZVBvaW50c0NpcmNsZTogZnVuY3Rpb24gKGNvdW50LCBjZW50ZXJQdCkgewoJCXZhciBjaXJjdW1mZXJlbmNlID0gdGhpcy5fZ3JvdXAub3B0aW9ucy5zcGlkZXJmeURpc3RhbmNlTXVsdGlwbGllciAqIHRoaXMuX2NpcmNsZUZvb3RTZXBhcmF0aW9uICogKDIgKyBjb3VudCksCgkJCWxlZ0xlbmd0aCA9IGNpcmN1bWZlcmVuY2UgLyB0aGlzLl8yUEksICAvL3JhZGl1cyBmcm9tIGNpcmN1bWZlcmVuY2UKCQkJYW5nbGVTdGVwID0gdGhpcy5fMlBJIC8gY291bnQsCgkJCXJlcyA9IFtdLAoJCQlpLCBhbmdsZTsKCgkJcmVzLmxlbmd0aCA9IGNvdW50OwoKCQlmb3IgKGkgPSBjb3VudCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCWFuZ2xlID0gdGhpcy5fY2lyY2xlU3RhcnRBbmdsZSArIGkgKiBhbmdsZVN0ZXA7CgkJCXJlc1tpXSA9IG5ldyBMLlBvaW50KGNlbnRlclB0LnggKyBsZWdMZW5ndGggKiBNYXRoLmNvcyhhbmdsZSksIGNlbnRlclB0LnkgKyBsZWdMZW5ndGggKiBNYXRoLnNpbihhbmdsZSkpLl9yb3VuZCgpOwoJCX0KCgkJcmV0dXJuIHJlczsKCX0sCgoJX2dlbmVyYXRlUG9pbnRzU3BpcmFsOiBmdW5jdGlvbiAoY291bnQsIGNlbnRlclB0KSB7CgkJdmFyIHNwaWRlcmZ5RGlzdGFuY2VNdWx0aXBsaWVyID0gdGhpcy5fZ3JvdXAub3B0aW9ucy5zcGlkZXJmeURpc3RhbmNlTXVsdGlwbGllciwKCQkJbGVnTGVuZ3RoID0gc3BpZGVyZnlEaXN0YW5jZU11bHRpcGxpZXIgKiB0aGlzLl9zcGlyYWxMZW5ndGhTdGFydCwKCQkJc2VwYXJhdGlvbiA9IHNwaWRlcmZ5RGlzdGFuY2VNdWx0aXBsaWVyICogdGhpcy5fc3BpcmFsRm9vdFNlcGFyYXRpb24sCgkJCWxlbmd0aEZhY3RvciA9IHNwaWRlcmZ5RGlzdGFuY2VNdWx0aXBsaWVyICogdGhpcy5fc3BpcmFsTGVuZ3RoRmFjdG9yICogdGhpcy5fMlBJLAoJCQlhbmdsZSA9IDAsCgkJCXJlcyA9IFtdLAoJCQlpOwoKCQlyZXMubGVuZ3RoID0gY291bnQ7CgoJCS8vIEhpZ2hlciBpbmRleCwgY2xvc2VyIHBvc2l0aW9uIHRvIGNsdXN0ZXIgY2VudGVyLgoJCWZvciAoaSA9IGNvdW50IC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJYW5nbGUgKz0gc2VwYXJhdGlvbiAvIGxlZ0xlbmd0aCArIGkgKiAwLjAwMDU7CgkJCXJlc1tpXSA9IG5ldyBMLlBvaW50KGNlbnRlclB0LnggKyBsZWdMZW5ndGggKiBNYXRoLmNvcyhhbmdsZSksIGNlbnRlclB0LnkgKyBsZWdMZW5ndGggKiBNYXRoLnNpbihhbmdsZSkpLl9yb3VuZCgpOwoJCQlsZWdMZW5ndGggKz0gbGVuZ3RoRmFjdG9yIC8gYW5nbGU7CgkJfQoJCXJldHVybiByZXM7Cgl9LAoKCV9ub2FuaW1hdGlvblVuc3BpZGVyZnk6IGZ1bmN0aW9uICgpIHsKCQl2YXIgZ3JvdXAgPSB0aGlzLl9ncm91cCwKCQkJbWFwID0gZ3JvdXAuX21hcCwKCQkJZmcgPSBncm91cC5fZmVhdHVyZUdyb3VwLAoJCQljaGlsZE1hcmtlcnMgPSB0aGlzLmdldEFsbENoaWxkTWFya2VycygpLAoJCQltLCBpOwoKCQlncm91cC5faWdub3JlTW92ZSA9IHRydWU7CgoJCXRoaXMuc2V0T3BhY2l0eSgxKTsKCQlmb3IgKGkgPSBjaGlsZE1hcmtlcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCgkJCWZnLnJlbW92ZUxheWVyKG0pOwoKCQkJaWYgKG0uX3ByZVNwaWRlcmZ5TGF0bG5nKSB7CgkJCQltLnNldExhdExuZyhtLl9wcmVTcGlkZXJmeUxhdGxuZyk7CgkJCQlkZWxldGUgbS5fcHJlU3BpZGVyZnlMYXRsbmc7CgkJCX0KCQkJaWYgKG0uc2V0WkluZGV4T2Zmc2V0KSB7CgkJCQltLnNldFpJbmRleE9mZnNldCgwKTsKCQkJfQoKCQkJaWYgKG0uX3NwaWRlckxlZykgewoJCQkJbWFwLnJlbW92ZUxheWVyKG0uX3NwaWRlckxlZyk7CgkJCQlkZWxldGUgbS5fc3BpZGVyTGVnOwoJCQl9CgkJfQoKCQlncm91cC5maXJlKCd1bnNwaWRlcmZpZWQnLCB7CgkJCWNsdXN0ZXI6IHRoaXMsCgkJCW1hcmtlcnM6IGNoaWxkTWFya2VycwoJCX0pOwoJCWdyb3VwLl9pZ25vcmVNb3ZlID0gZmFsc2U7CgkJZ3JvdXAuX3NwaWRlcmZpZWQgPSBudWxsOwoJfQp9KTsKCi8vTm9uIEFuaW1hdGVkIHZlcnNpb25zIG9mIGV2ZXJ5dGhpbmcKTC5NYXJrZXJDbHVzdGVyTm9uQW5pbWF0ZWQgPSBMLk1hcmtlckNsdXN0ZXIuZXh0ZW5kKHsKCV9hbmltYXRpb25TcGlkZXJmeTogZnVuY3Rpb24gKGNoaWxkTWFya2VycywgcG9zaXRpb25zKSB7CgkJdmFyIGdyb3VwID0gdGhpcy5fZ3JvdXAsCgkJCW1hcCA9IGdyb3VwLl9tYXAsCgkJCWZnID0gZ3JvdXAuX2ZlYXR1cmVHcm91cCwKCQkJbGVnT3B0aW9ucyA9IHRoaXMuX2dyb3VwLm9wdGlvbnMuc3BpZGVyTGVnUG9seWxpbmVPcHRpb25zLAoJCQlpLCBtLCBsZWcsIG5ld1BvczsKCgkJZ3JvdXAuX2lnbm9yZU1vdmUgPSB0cnVlOwoKCQkvLyBUcmF2ZXJzZSBpbiBhc2NlbmRpbmcgb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgaW5uZXIgY2lyY2xlTWFya2VycyBhcmUgb24gdG9wIG9mIGZ1cnRoZXIgbGVncy4gTm9ybWFsIG1hcmtlcnMgYXJlIHJlLW9yZGVyZWQgYnkgbmV3UG9zaXRpb24uCgkJLy8gVGhlIHJldmVyc2Ugb3JkZXIgdHJpY2sgbm8gbG9uZ2VyIGltcHJvdmVzIHBlcmZvcm1hbmNlIG9uIG1vZGVybiBicm93c2Vycy4KCQlmb3IgKGkgPSAwOyBpIDwgY2hpbGRNYXJrZXJzLmxlbmd0aDsgaSsrKSB7CgkJCW5ld1BvcyA9IG1hcC5sYXllclBvaW50VG9MYXRMbmcocG9zaXRpb25zW2ldKTsKCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCgkJCS8vIEFkZCB0aGUgbGVnIGJlZm9yZSB0aGUgbWFya2VyLCBzbyB0aGF0IGluIGNhc2UgdGhlIGxhdHRlciBpcyBhIGNpcmNsZU1hcmtlciwgdGhlIGxlZyBpcyBiZWhpbmQgaXQuCgkJCWxlZyA9IG5ldyBMLlBvbHlsaW5lKFt0aGlzLl9sYXRsbmcsIG5ld1Bvc10sIGxlZ09wdGlvbnMpOwoJCQltYXAuYWRkTGF5ZXIobGVnKTsKCQkJbS5fc3BpZGVyTGVnID0gbGVnOwoKCQkJLy8gTm93IGFkZCB0aGUgbWFya2VyLgoJCQltLl9wcmVTcGlkZXJmeUxhdGxuZyA9IG0uX2xhdGxuZzsKCQkJbS5zZXRMYXRMbmcobmV3UG9zKTsKCQkJaWYgKG0uc2V0WkluZGV4T2Zmc2V0KSB7CgkJCQltLnNldFpJbmRleE9mZnNldCgxMDAwMDAwKTsgLy9NYWtlIHRoZXNlIGFwcGVhciBvbiB0b3Agb2YgRVZFUllUSElORwoJCQl9CgoJCQlmZy5hZGRMYXllcihtKTsKCQl9CgkJdGhpcy5zZXRPcGFjaXR5KDAuMyk7CgoJCWdyb3VwLl9pZ25vcmVNb3ZlID0gZmFsc2U7CgkJZ3JvdXAuZmlyZSgnc3BpZGVyZmllZCcsIHsKCQkJY2x1c3RlcjogdGhpcywKCQkJbWFya2VyczogY2hpbGRNYXJrZXJzCgkJfSk7Cgl9LAoKCV9hbmltYXRpb25VbnNwaWRlcmZ5OiBmdW5jdGlvbiAoKSB7CgkJdGhpcy5fbm9hbmltYXRpb25VbnNwaWRlcmZ5KCk7Cgl9Cn0pOwoKLy9BbmltYXRlZCB2ZXJzaW9ucyBoZXJlCkwuTWFya2VyQ2x1c3Rlci5pbmNsdWRlKHsKCglfYW5pbWF0aW9uU3BpZGVyZnk6IGZ1bmN0aW9uIChjaGlsZE1hcmtlcnMsIHBvc2l0aW9ucykgewoJCXZhciBtZSA9IHRoaXMsCgkJCWdyb3VwID0gdGhpcy5fZ3JvdXAsCgkJCW1hcCA9IGdyb3VwLl9tYXAsCgkJCWZnID0gZ3JvdXAuX2ZlYXR1cmVHcm91cCwKCQkJdGhpc0xheWVyTGF0TG5nID0gdGhpcy5fbGF0bG5nLAoJCQl0aGlzTGF5ZXJQb3MgPSBtYXAubGF0TG5nVG9MYXllclBvaW50KHRoaXNMYXllckxhdExuZyksCgkJCXN2ZyA9IEwuUGF0aC5TVkcsCgkJCWxlZ09wdGlvbnMgPSBMLmV4dGVuZCh7fSwgdGhpcy5fZ3JvdXAub3B0aW9ucy5zcGlkZXJMZWdQb2x5bGluZU9wdGlvbnMpLCAvLyBDb3B5IHRoZSBvcHRpb25zIHNvIHRoYXQgd2UgY2FuIG1vZGlmeSB0aGVtIGZvciBhbmltYXRpb24uCgkJCWZpbmFsTGVnT3BhY2l0eSA9IGxlZ09wdGlvbnMub3BhY2l0eSwKCQkJaSwgbSwgbGVnLCBsZWdQYXRoLCBsZWdMZW5ndGgsIG5ld1BvczsKCgkJaWYgKGZpbmFsTGVnT3BhY2l0eSA9PT0gdW5kZWZpbmVkKSB7CgkJCWZpbmFsTGVnT3BhY2l0eSA9IEwuTWFya2VyQ2x1c3Rlckdyb3VwLnByb3RvdHlwZS5vcHRpb25zLnNwaWRlckxlZ1BvbHlsaW5lT3B0aW9ucy5vcGFjaXR5OwoJCX0KCgkJaWYgKHN2ZykgewoJCQkvLyBJZiB0aGUgaW5pdGlhbCBvcGFjaXR5IG9mIHRoZSBzcGlkZXIgbGVnIGlzIG5vdCAwIHRoZW4gaXQgYXBwZWFycyBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMuCgkJCWxlZ09wdGlvbnMub3BhY2l0eSA9IDA7CgoJCQkvLyBBZGQgdGhlIGNsYXNzIGZvciBDU1MgdHJhbnNpdGlvbnMuCgkJCWxlZ09wdGlvbnMuY2xhc3NOYW1lID0gKGxlZ09wdGlvbnMuY2xhc3NOYW1lIHx8ICcnKSArICcgbGVhZmxldC1jbHVzdGVyLXNwaWRlci1sZWcnOwoJCX0gZWxzZSB7CgkJCS8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgZGVmaW5lZCBvcGFjaXR5LgoJCQlsZWdPcHRpb25zLm9wYWNpdHkgPSBmaW5hbExlZ09wYWNpdHk7CgkJfQoKCQlncm91cC5faWdub3JlTW92ZSA9IHRydWU7CgoJCS8vIEFkZCBtYXJrZXJzIGFuZCBzcGlkZXIgbGVncyB0byBtYXAsIGhpZGRlbiBhdCBvdXIgY2VudGVyIHBvaW50LgoJCS8vIFRyYXZlcnNlIGluIGFzY2VuZGluZyBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCBpbm5lciBjaXJjbGVNYXJrZXJzIGFyZSBvbiB0b3Agb2YgZnVydGhlciBsZWdzLiBOb3JtYWwgbWFya2VycyBhcmUgcmUtb3JkZXJlZCBieSBuZXdQb3NpdGlvbi4KCQkvLyBUaGUgcmV2ZXJzZSBvcmRlciB0cmljayBubyBsb25nZXIgaW1wcm92ZXMgcGVyZm9ybWFuY2Ugb24gbW9kZXJuIGJyb3dzZXJzLgoJCWZvciAoaSA9IDA7IGkgPCBjaGlsZE1hcmtlcnMubGVuZ3RoOyBpKyspIHsKCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCgkJCW5ld1BvcyA9IG1hcC5sYXllclBvaW50VG9MYXRMbmcocG9zaXRpb25zW2ldKTsKCgkJCS8vIEFkZCB0aGUgbGVnIGJlZm9yZSB0aGUgbWFya2VyLCBzbyB0aGF0IGluIGNhc2UgdGhlIGxhdHRlciBpcyBhIGNpcmNsZU1hcmtlciwgdGhlIGxlZyBpcyBiZWhpbmQgaXQuCgkJCWxlZyA9IG5ldyBMLlBvbHlsaW5lKFt0aGlzTGF5ZXJMYXRMbmcsIG5ld1Bvc10sIGxlZ09wdGlvbnMpOwoJCQltYXAuYWRkTGF5ZXIobGVnKTsKCQkJbS5fc3BpZGVyTGVnID0gbGVnOwoKCQkJLy8gRXhwbGFuYXRpb25zOiBodHRwczovL2pha2VhcmNoaWJhbGQuY29tLzIwMTMvYW5pbWF0ZWQtbGluZS1kcmF3aW5nLXN2Zy8KCQkJLy8gSW4gb3VyIGNhc2UgdGhlIHRyYW5zaXRpb24gcHJvcGVydHkgaXMgZGVjbGFyZWQgaW4gdGhlIENTUyBmaWxlLgoJCQlpZiAoc3ZnKSB7CgkJCQlsZWdQYXRoID0gbGVnLl9wYXRoOwoJCQkJbGVnTGVuZ3RoID0gbGVnUGF0aC5nZXRUb3RhbExlbmd0aCgpICsgMC4xOyAvLyBOZWVkIGEgc21hbGwgZXh0cmEgbGVuZ3RoIHRvIGF2b2lkIHJlbWFpbmluZyBkb3QgaW4gRmlyZWZveC4KCQkJCWxlZ1BhdGguc3R5bGUuc3Ryb2tlRGFzaGFycmF5ID0gbGVnTGVuZ3RoOyAvLyBKdXN0IDEgbGVuZ3RoIGlzIGVub3VnaCwgaXQgd2lsbCBiZSBkdXBsaWNhdGVkLgoJCQkJbGVnUGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gbGVnTGVuZ3RoOwoJCQl9CgoJCQkvLyBJZiBpdCBpcyBhIG1hcmtlciwgYWRkIGl0IG5vdyBhbmQgd2UnbGwgYW5pbWF0ZSBpdCBvdXQKCQkJaWYgKG0uc2V0WkluZGV4T2Zmc2V0KSB7CgkJCQltLnNldFpJbmRleE9mZnNldCgxMDAwMDAwKTsgLy8gTWFrZSBub3JtYWwgbWFya2VycyBhcHBlYXIgb24gdG9wIG9mIEVWRVJZVEhJTkcKCQkJfQoJCQlpZiAobS5jbHVzdGVySGlkZSkgewoJCQkJbS5jbHVzdGVySGlkZSgpOwoJCQl9CgkJCQoJCQkvLyBWZWN0b3JzIGp1c3QgZ2V0IGltbWVkaWF0ZWx5IGFkZGVkCgkJCWZnLmFkZExheWVyKG0pOwoKCQkJaWYgKG0uX3NldFBvcykgewoJCQkJbS5fc2V0UG9zKHRoaXNMYXllclBvcyk7CgkJCX0KCQl9CgoJCWdyb3VwLl9mb3JjZUxheW91dCgpOwoJCWdyb3VwLl9hbmltYXRpb25TdGFydCgpOwoKCQkvLyBSZXZlYWwgbWFya2VycyBhbmQgc3BpZGVyIGxlZ3MuCgkJZm9yIChpID0gY2hpbGRNYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCW5ld1BvcyA9IG1hcC5sYXllclBvaW50VG9MYXRMbmcocG9zaXRpb25zW2ldKTsKCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCgkJCS8vTW92ZSBtYXJrZXIgdG8gbmV3IHBvc2l0aW9uCgkJCW0uX3ByZVNwaWRlcmZ5TGF0bG5nID0gbS5fbGF0bG5nOwoJCQltLnNldExhdExuZyhuZXdQb3MpOwoJCQkKCQkJaWYgKG0uY2x1c3RlclNob3cpIHsKCQkJCW0uY2x1c3RlclNob3coKTsKCQkJfQoKCQkJLy8gQW5pbWF0ZSBsZWcgKGFuaW1hdGlvbiBpcyBhY3R1YWxseSBkZWxlZ2F0ZWQgdG8gQ1NTIHRyYW5zaXRpb24pLgoJCQlpZiAoc3ZnKSB7CgkJCQlsZWcgPSBtLl9zcGlkZXJMZWc7CgkJCQlsZWdQYXRoID0gbGVnLl9wYXRoOwoJCQkJbGVnUGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gMDsKCQkJCS8vbGVnUGF0aC5zdHlsZS5zdHJva2VPcGFjaXR5ID0gZmluYWxMZWdPcGFjaXR5OwoJCQkJbGVnLnNldFN0eWxlKHtvcGFjaXR5OiBmaW5hbExlZ09wYWNpdHl9KTsKCQkJfQoJCX0KCQl0aGlzLnNldE9wYWNpdHkoMC4zKTsKCgkJZ3JvdXAuX2lnbm9yZU1vdmUgPSBmYWxzZTsKCgkJc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CgkJCWdyb3VwLl9hbmltYXRpb25FbmQoKTsKCQkJZ3JvdXAuZmlyZSgnc3BpZGVyZmllZCcsIHsKCQkJCWNsdXN0ZXI6IG1lLAoJCQkJbWFya2VyczogY2hpbGRNYXJrZXJzCgkJCX0pOwoJCX0sIDIwMCk7Cgl9LAoKCV9hbmltYXRpb25VbnNwaWRlcmZ5OiBmdW5jdGlvbiAoem9vbURldGFpbHMpIHsKCQl2YXIgbWUgPSB0aGlzLAoJCQlncm91cCA9IHRoaXMuX2dyb3VwLAoJCQltYXAgPSBncm91cC5fbWFwLAoJCQlmZyA9IGdyb3VwLl9mZWF0dXJlR3JvdXAsCgkJCXRoaXNMYXllclBvcyA9IHpvb21EZXRhaWxzID8gbWFwLl9sYXRMbmdUb05ld0xheWVyUG9pbnQodGhpcy5fbGF0bG5nLCB6b29tRGV0YWlscy56b29tLCB6b29tRGV0YWlscy5jZW50ZXIpIDogbWFwLmxhdExuZ1RvTGF5ZXJQb2ludCh0aGlzLl9sYXRsbmcpLAoJCQljaGlsZE1hcmtlcnMgPSB0aGlzLmdldEFsbENoaWxkTWFya2VycygpLAoJCQlzdmcgPSBMLlBhdGguU1ZHLAoJCQltLCBpLCBsZWcsIGxlZ1BhdGgsIGxlZ0xlbmd0aCwgbm9uQW5pbWF0YWJsZTsKCgkJZ3JvdXAuX2lnbm9yZU1vdmUgPSB0cnVlOwoJCWdyb3VwLl9hbmltYXRpb25TdGFydCgpOwoKCQkvL01ha2UgdXMgdmlzaWJsZSBhbmQgYnJpbmcgdGhlIGNoaWxkIG1hcmtlcnMgYmFjayBpbgoJCXRoaXMuc2V0T3BhY2l0eSgxKTsKCQlmb3IgKGkgPSBjaGlsZE1hcmtlcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCgkJCS8vTWFya2VyIHdhcyBhZGRlZCB0byB1cyBhZnRlciB3ZSB3ZXJlIHNwaWRlcmZpZWQKCQkJaWYgKCFtLl9wcmVTcGlkZXJmeUxhdGxuZykgewoJCQkJY29udGludWU7CgkJCX0KCgkJCS8vQ2xvc2UgYW55IHBvcHVwIG9uIHRoZSBtYXJrZXIgZmlyc3QsIG90aGVyd2lzZSBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgbWFya2VyIHdpbGwgbWFrZSB0aGUgbWFwIHNjcm9sbAoJCQltLmNsb3NlUG9wdXAoKTsKCgkJCS8vRml4IHVwIHRoZSBsb2NhdGlvbiB0byB0aGUgcmVhbCBvbmUKCQkJbS5zZXRMYXRMbmcobS5fcHJlU3BpZGVyZnlMYXRsbmcpOwoJCQlkZWxldGUgbS5fcHJlU3BpZGVyZnlMYXRsbmc7CgoJCQkvL0hhY2sgb3ZlcnJpZGUgdGhlIGxvY2F0aW9uIHRvIGJlIG91ciBjZW50ZXIKCQkJbm9uQW5pbWF0YWJsZSA9IHRydWU7CgkJCWlmIChtLl9zZXRQb3MpIHsKCQkJCW0uX3NldFBvcyh0aGlzTGF5ZXJQb3MpOwoJCQkJbm9uQW5pbWF0YWJsZSA9IGZhbHNlOwoJCQl9CgkJCWlmIChtLmNsdXN0ZXJIaWRlKSB7CgkJCQltLmNsdXN0ZXJIaWRlKCk7CgkJCQlub25BbmltYXRhYmxlID0gZmFsc2U7CgkJCX0KCQkJaWYgKG5vbkFuaW1hdGFibGUpIHsKCQkJCWZnLnJlbW92ZUxheWVyKG0pOwoJCQl9CgoJCQkvLyBBbmltYXRlIHRoZSBzcGlkZXIgbGVnIGJhY2sgaW4gKGFuaW1hdGlvbiBpcyBhY3R1YWxseSBkZWxlZ2F0ZWQgdG8gQ1NTIHRyYW5zaXRpb24pLgoJCQlpZiAoc3ZnKSB7CgkJCQlsZWcgPSBtLl9zcGlkZXJMZWc7CgkJCQlsZWdQYXRoID0gbGVnLl9wYXRoOwoJCQkJbGVnTGVuZ3RoID0gbGVnUGF0aC5nZXRUb3RhbExlbmd0aCgpICsgMC4xOwoJCQkJbGVnUGF0aC5zdHlsZS5zdHJva2VEYXNob2Zmc2V0ID0gbGVnTGVuZ3RoOwoJCQkJbGVnLnNldFN0eWxlKHtvcGFjaXR5OiAwfSk7CgkJCX0KCQl9CgoJCWdyb3VwLl9pZ25vcmVNb3ZlID0gZmFsc2U7CgoJCXNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewoJCQkvL0lmIHdlIGhhdmUgb25seSA8PSBvbmUgY2hpbGQgbGVmdCB0aGVuIHRoYXQgbWFya2VyIHdpbGwgYmUgc2hvd24gb24gdGhlIG1hcCBzbyBkb24ndCByZW1vdmUgaXQhCgkJCXZhciBzdGlsbFRoZXJlQ2hpbGRDb3VudCA9IDA7CgkJCWZvciAoaSA9IGNoaWxkTWFya2Vycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgewoJCQkJbSA9IGNoaWxkTWFya2Vyc1tpXTsKCQkJCWlmIChtLl9zcGlkZXJMZWcpIHsKCQkJCQlzdGlsbFRoZXJlQ2hpbGRDb3VudCsrOwoJCQkJfQoJCQl9CgoKCQkJZm9yIChpID0gY2hpbGRNYXJrZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CgkJCQltID0gY2hpbGRNYXJrZXJzW2ldOwoKCQkJCWlmICghbS5fc3BpZGVyTGVnKSB7IC8vSGFzIGFscmVhZHkgYmVlbiB1bnNwaWRlcmZpZWQKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQlpZiAobS5jbHVzdGVyU2hvdykgewoJCQkJCW0uY2x1c3RlclNob3coKTsKCQkJCX0KCQkJCWlmIChtLnNldFpJbmRleE9mZnNldCkgewoJCQkJCW0uc2V0WkluZGV4T2Zmc2V0KDApOwoJCQkJfQoKCQkJCWlmIChzdGlsbFRoZXJlQ2hpbGRDb3VudCA+IDEpIHsKCQkJCQlmZy5yZW1vdmVMYXllcihtKTsKCQkJCX0KCgkJCQltYXAucmVtb3ZlTGF5ZXIobS5fc3BpZGVyTGVnKTsKCQkJCWRlbGV0ZSBtLl9zcGlkZXJMZWc7CgkJCX0KCQkJZ3JvdXAuX2FuaW1hdGlvbkVuZCgpOwoJCQlncm91cC5maXJlKCd1bnNwaWRlcmZpZWQnLCB7CgkJCQljbHVzdGVyOiBtZSwKCQkJCW1hcmtlcnM6IGNoaWxkTWFya2VycwoJCQl9KTsKCQl9LCAyMDApOwoJfQp9KTsKCgpMLk1hcmtlckNsdXN0ZXJHcm91cC5pbmNsdWRlKHsKCS8vVGhlIE1hcmtlckNsdXN0ZXIgY3VycmVudGx5IHNwaWRlcmZpZWQgKGlmIGFueSkKCV9zcGlkZXJmaWVkOiBudWxsLAoKCXVuc3BpZGVyZnk6IGZ1bmN0aW9uICgpIHsKCQl0aGlzLl91bnNwaWRlcmZ5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cgl9LAoKCV9zcGlkZXJmaWVyT25BZGQ6IGZ1bmN0aW9uICgpIHsKCQl0aGlzLl9tYXAub24oJ2NsaWNrJywgdGhpcy5fdW5zcGlkZXJmeVdyYXBwZXIsIHRoaXMpOwoKCQlpZiAodGhpcy5fbWFwLm9wdGlvbnMuem9vbUFuaW1hdGlvbikgewoJCQl0aGlzLl9tYXAub24oJ3pvb21zdGFydCcsIHRoaXMuX3Vuc3BpZGVyZnlab29tU3RhcnQsIHRoaXMpOwoJCX0KCQkvL0Jyb3dzZXJzIHdpdGhvdXQgem9vbUFuaW1hdGlvbiBvciBhIGJpZyB6b29tIGRvbid0IGZpcmUgem9vbXN0YXJ0CgkJdGhpcy5fbWFwLm9uKCd6b29tZW5kJywgdGhpcy5fbm9hbmltYXRpb25VbnNwaWRlcmZ5LCB0aGlzKTsKCgkJaWYgKCFMLkJyb3dzZXIudG91Y2gpIHsKCQkJdGhpcy5fbWFwLmdldFJlbmRlcmVyKHRoaXMpOwoJCQkvL05lZWRzIHRvIGhhcHBlbiBpbiB0aGUgcGFnZWxvYWQsIG5vdCBhZnRlciwgb3IgYW5pbWF0aW9ucyBkb24ndCB3b3JrIGluIHdlYmtpdAoJCQkvLyAgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy84NDU1MjAwL3N2Zy1hbmltYXRlLXdpdGgtZHluYW1pY2FsbHktYWRkZWQtZWxlbWVudHMKCQkJLy9EaXNhYmxlIG9uIHRvdWNoIGJyb3dzZXJzIGFzIHRoZSBhbmltYXRpb24gbWVzc2VzIHVwIG9uIGEgdG91Y2ggem9vbSBhbmQgaXNuJ3QgdmVyeSBub3RpY2FibGUKCQl9Cgl9LAoKCV9zcGlkZXJmaWVyT25SZW1vdmU6IGZ1bmN0aW9uICgpIHsKCQl0aGlzLl9tYXAub2ZmKCdjbGljaycsIHRoaXMuX3Vuc3BpZGVyZnlXcmFwcGVyLCB0aGlzKTsKCQl0aGlzLl9tYXAub2ZmKCd6b29tc3RhcnQnLCB0aGlzLl91bnNwaWRlcmZ5Wm9vbVN0YXJ0LCB0aGlzKTsKCQl0aGlzLl9tYXAub2ZmKCd6b29tYW5pbScsIHRoaXMuX3Vuc3BpZGVyZnlab29tQW5pbSwgdGhpcyk7CgkJdGhpcy5fbWFwLm9mZignem9vbWVuZCcsIHRoaXMuX25vYW5pbWF0aW9uVW5zcGlkZXJmeSwgdGhpcyk7CgoJCS8vRW5zdXJlIHRoYXQgbWFya2VycyBhcmUgYmFjayB3aGVyZSB0aGV5IHNob3VsZCBiZQoJCS8vIFVzZSBubyBhbmltYXRpb24gdG8gYXZvaWQgYSBzdGlja3kgbGVhZmxldC1jbHVzdGVyLWFuaW0gY2xhc3Mgb24gbWFwUGFuZQoJCXRoaXMuX25vYW5pbWF0aW9uVW5zcGlkZXJmeSgpOwoJfSwKCgkvL09uIHpvb20gc3RhcnQgd2UgYWRkIGEgem9vbWFuaW0gaGFuZGxlciBzbyB0aGF0IHdlIGFyZSBndWFyYW50ZWVkIHRvIGJlIGxhc3QgKGFmdGVyIG1hcmtlcnMgYXJlIGFuaW1hdGVkKQoJLy9UaGlzIG1lYW5zIHdlIGNhbiBkZWZpbmUgdGhlIGFuaW1hdGlvbiB0aGV5IGRvIHJhdGhlciB0aGFuIE1hcmtlcnMgZG9pbmcgYW4gYW5pbWF0aW9uIHRvIHRoZWlyIGFjdHVhbCBsb2NhdGlvbgoJX3Vuc3BpZGVyZnlab29tU3RhcnQ6IGZ1bmN0aW9uICgpIHsKCQlpZiAoIXRoaXMuX21hcCkgeyAvL01heSBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBtYXAgYnkgYSB6b29tRW5kIGhhbmRsZXIKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fbWFwLm9uKCd6b29tYW5pbScsIHRoaXMuX3Vuc3BpZGVyZnlab29tQW5pbSwgdGhpcyk7Cgl9LAoKCV91bnNwaWRlcmZ5Wm9vbUFuaW06IGZ1bmN0aW9uICh6b29tRGV0YWlscykgewoJCS8vV2FpdCB1bnRpbCB0aGUgZmlyc3Qgem9vbWFuaW0gYWZ0ZXIgdGhlIHVzZXIgaGFzIGZpbmlzaGVkIHRvdWNoLXpvb21pbmcgYmVmb3JlIHJ1bm5pbmcgdGhlIGFuaW1hdGlvbgoJCWlmIChMLkRvbVV0aWwuaGFzQ2xhc3ModGhpcy5fbWFwLl9tYXBQYW5lLCAnbGVhZmxldC10b3VjaGluZycpKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX21hcC5vZmYoJ3pvb21hbmltJywgdGhpcy5fdW5zcGlkZXJmeVpvb21BbmltLCB0aGlzKTsKCQl0aGlzLl91bnNwaWRlcmZ5KHpvb21EZXRhaWxzKTsKCX0sCgoJX3Vuc3BpZGVyZnlXcmFwcGVyOiBmdW5jdGlvbiAoKSB7CgkJLy8vIDxzdW1tYXJ5Pl91bnNwaWRlcmZ5IGJ1dCBwYXNzZXMgbm8gYXJndW1lbnRzPC9zdW1tYXJ5PgoJCXRoaXMuX3Vuc3BpZGVyZnkoKTsKCX0sCgoJX3Vuc3BpZGVyZnk6IGZ1bmN0aW9uICh6b29tRGV0YWlscykgewoJCWlmICh0aGlzLl9zcGlkZXJmaWVkKSB7CgkJCXRoaXMuX3NwaWRlcmZpZWQudW5zcGlkZXJmeSh6b29tRGV0YWlscyk7CgkJfQoJfSwKCglfbm9hbmltYXRpb25VbnNwaWRlcmZ5OiBmdW5jdGlvbiAoKSB7CgkJaWYgKHRoaXMuX3NwaWRlcmZpZWQpIHsKCQkJdGhpcy5fc3BpZGVyZmllZC5fbm9hbmltYXRpb25VbnNwaWRlcmZ5KCk7CgkJfQoJfSwKCgkvL0lmIHRoZSBnaXZlbiBsYXllciBpcyBjdXJyZW50bHkgYmVpbmcgc3BpZGVyZmllZCB0aGVuIHdlIHVuc3BpZGVyZnkgaXQgc28gaXQgaXNuJ3Qgb24gdGhlIG1hcCBhbnltb3JlIGV0YwoJX3Vuc3BpZGVyZnlMYXllcjogZnVuY3Rpb24gKGxheWVyKSB7CgkJaWYgKGxheWVyLl9zcGlkZXJMZWcpIHsKCQkJdGhpcy5fZmVhdHVyZUdyb3VwLnJlbW92ZUxheWVyKGxheWVyKTsKCgkJCWlmIChsYXllci5jbHVzdGVyU2hvdykgewoJCQkJbGF5ZXIuY2x1c3RlclNob3coKTsKCQkJfQoJCQkJLy9Qb3NpdGlvbiB3aWxsIGJlIGZpeGVkIHVwIGltbWVkaWF0ZWx5IGluIF9hbmltYXRpb25VbnNwaWRlcmZ5CgkJCWlmIChsYXllci5zZXRaSW5kZXhPZmZzZXQpIHsKCQkJCWxheWVyLnNldFpJbmRleE9mZnNldCgwKTsKCQkJfQoKCQkJdGhpcy5fbWFwLnJlbW92ZUxheWVyKGxheWVyLl9zcGlkZXJMZWcpOwoJCQlkZWxldGUgbGF5ZXIuX3NwaWRlckxlZzsKCQl9Cgl9Cn0pOwoKCi8qKgogKiBBZGRzIDEgcHVibGljIG1ldGhvZCB0byBNQ0cgYW5kIDEgdG8gTC5NYXJrZXIgdG8gZmFjaWxpdGF0ZSBjaGFuZ2luZwogKiBtYXJrZXJzJyBpY29uIG9wdGlvbnMgYW5kIHJlZnJlc2hpbmcgdGhlaXIgaWNvbiBhbmQgdGhlaXIgcGFyZW50IGNsdXN0ZXJzCiAqIGFjY29yZGluZ2x5IChjYXNlIHdoZXJlIHRoZWlyIGljb25DcmVhdGVGdW5jdGlvbiB1c2VzIGRhdGEgb2YgY2hpbGRNYXJrZXJzCiAqIHRvIG1ha2UgdXAgdGhlIGNsdXN0ZXIgaWNvbikuCiAqLwoKCkwuTWFya2VyQ2x1c3Rlckdyb3VwLmluY2x1ZGUoewoJLyoqCgkgKiBVcGRhdGVzIHRoZSBpY29uIG9mIGFsbCBjbHVzdGVycyB3aGljaCBhcmUgcGFyZW50cyBvZiB0aGUgZ2l2ZW4gbWFya2VyKHMpLgoJICogSW4gc2luZ2xlTWFya2VyTW9kZSwgYWxzbyB1cGRhdGVzIHRoZSBnaXZlbiBtYXJrZXIocykgaWNvbi4KCSAqIEBwYXJhbSBsYXllcnMgTC5NYXJrZXJDbHVzdGVyR3JvdXB8TC5MYXllckdyb3VwfEFycmF5KEwuTWFya2VyKXxNYXAoTC5NYXJrZXIpfAoJICogTC5NYXJrZXJDbHVzdGVyfEwuTWFya2VyIChvcHRpb25hbCkgbGlzdCBvZiBtYXJrZXJzIChvciBzaW5nbGUgbWFya2VyKSB3aG9zZSBwYXJlbnQKCSAqIGNsdXN0ZXJzIG5lZWQgdG8gYmUgdXBkYXRlZC4gSWYgbm90IHByb3ZpZGVkLCByZXRyaWV2ZXMgYWxsIGNoaWxkIG1hcmtlcnMgb2YgdGhpcy4KCSAqIEByZXR1cm5zIHtMLk1hcmtlckNsdXN0ZXJHcm91cH0KCSAqLwoJcmVmcmVzaENsdXN0ZXJzOiBmdW5jdGlvbiAobGF5ZXJzKSB7CgkJaWYgKCFsYXllcnMpIHsKCQkJbGF5ZXJzID0gdGhpcy5fdG9wQ2x1c3RlckxldmVsLmdldEFsbENoaWxkTWFya2VycygpOwoJCX0gZWxzZSBpZiAobGF5ZXJzIGluc3RhbmNlb2YgTC5NYXJrZXJDbHVzdGVyR3JvdXApIHsKCQkJbGF5ZXJzID0gbGF5ZXJzLl90b3BDbHVzdGVyTGV2ZWwuZ2V0QWxsQ2hpbGRNYXJrZXJzKCk7CgkJfSBlbHNlIGlmIChsYXllcnMgaW5zdGFuY2VvZiBMLkxheWVyR3JvdXApIHsKCQkJbGF5ZXJzID0gbGF5ZXJzLl9sYXllcnM7CgkJfSBlbHNlIGlmIChsYXllcnMgaW5zdGFuY2VvZiBMLk1hcmtlckNsdXN0ZXIpIHsKCQkJbGF5ZXJzID0gbGF5ZXJzLmdldEFsbENoaWxkTWFya2VycygpOwoJCX0gZWxzZSBpZiAobGF5ZXJzIGluc3RhbmNlb2YgTC5NYXJrZXIpIHsKCQkJbGF5ZXJzID0gW2xheWVyc107CgkJfSAvLyBlbHNlOiBtdXN0IGJlIGFuIEFycmF5KEwuTWFya2VyKXxNYXAoTC5NYXJrZXIpCgkJdGhpcy5fZmxhZ1BhcmVudHNJY29uc05lZWRVcGRhdGUobGF5ZXJzKTsKCQl0aGlzLl9yZWZyZXNoQ2x1c3RlcnNJY29ucygpOwoKCQkvLyBJbiBjYXNlIG9mIHNpbmdsZU1hcmtlck1vZGUsIGFsc28gcmUtZHJhdyB0aGUgbWFya2Vycy4KCQlpZiAodGhpcy5vcHRpb25zLnNpbmdsZU1hcmtlck1vZGUpIHsKCQkJdGhpcy5fcmVmcmVzaFNpbmdsZU1hcmtlck1vZGVNYXJrZXJzKGxheWVycyk7CgkJfQoKCQlyZXR1cm4gdGhpczsKCX0sCgoJLyoqCgkgKiBTaW1wbHkgZmxhZ3MgYWxsIHBhcmVudCBjbHVzdGVycyBvZiB0aGUgZ2l2ZW4gbWFya2VycyBhcyBoYXZpbmcgYSAiZGlydHkiIGljb24uCgkgKiBAcGFyYW0gbGF5ZXJzIEFycmF5KEwuTWFya2VyKXxNYXAoTC5NYXJrZXIpIGxpc3Qgb2YgbWFya2Vycy4KCSAqIEBwcml2YXRlCgkgKi8KCV9mbGFnUGFyZW50c0ljb25zTmVlZFVwZGF0ZTogZnVuY3Rpb24gKGxheWVycykgewoJCXZhciBpZCwgcGFyZW50OwoKCQkvLyBBc3N1bWVzIGxheWVycyBpcyBhbiBBcnJheSBvciBhbiBPYmplY3Qgd2hvc2UgcHJvdG90eXBlIGlzIG5vbi1lbnVtZXJhYmxlLgoJCWZvciAoaWQgaW4gbGF5ZXJzKSB7CgkJCS8vIEZsYWcgcGFyZW50IGNsdXN0ZXJzJyBpY29uIGFzICJkaXJ0eSIsIGFsbCB0aGUgd2F5IHVwLgoJCQkvLyBEdW1iIHByb2Nlc3MgdGhhdCBmbGFncyBtdWx0aXBsZSB0aW1lcyB1cHBlciBwYXJlbnRzLCBidXQgc3RpbGwKCQkJLy8gbXVjaCBtb3JlIGVmZmljaWVudCB0aGFuIHRyeWluZyB0byBiZSBzbWFydCBhbmQgbWFrZSBzaG9ydCBsaXN0cywKCQkJLy8gYXQgbGVhc3QgaW4gdGhlIGNhc2Ugb2YgYSBoaWVyYXJjaHkgZm9sbG93aW5nIGEgcG93ZXIgbGF3OgoJCQkvLyBodHRwOi8vanNwZXJmLmNvbS9mbGFnLW5vZGVzLWluLXBvd2VyLWhpZXJhcmNoeS8yCgkJCXBhcmVudCA9IGxheWVyc1tpZF0uX19wYXJlbnQ7CgkJCXdoaWxlIChwYXJlbnQpIHsKCQkJCXBhcmVudC5faWNvbk5lZWRzVXBkYXRlID0gdHJ1ZTsKCQkJCXBhcmVudCA9IHBhcmVudC5fX3BhcmVudDsKCQkJfQoJCX0KCX0sCgoJLyoqCgkgKiBSZS1kcmF3cyB0aGUgaWNvbiBvZiB0aGUgc3VwcGxpZWQgbWFya2Vycy4KCSAqIFRvIGJlIHVzZWQgaW4gc2luZ2xlTWFya2VyTW9kZSBvbmx5LgoJICogQHBhcmFtIGxheWVycyBBcnJheShMLk1hcmtlcil8TWFwKEwuTWFya2VyKSBsaXN0IG9mIG1hcmtlcnMuCgkgKiBAcHJpdmF0ZQoJICovCglfcmVmcmVzaFNpbmdsZU1hcmtlck1vZGVNYXJrZXJzOiBmdW5jdGlvbiAobGF5ZXJzKSB7CgkJdmFyIGlkLCBsYXllcjsKCgkJZm9yIChpZCBpbiBsYXllcnMpIHsKCQkJbGF5ZXIgPSBsYXllcnNbaWRdOwoKCQkJLy8gTWFrZSBzdXJlIHdlIGRvIG5vdCBvdmVycmlkZSBtYXJrZXJzIHRoYXQgZG8gbm90IGJlbG9uZyB0byBUSElTIGdyb3VwLgoJCQlpZiAodGhpcy5oYXNMYXllcihsYXllcikpIHsKCQkJCS8vIE5lZWQgdG8gcmUtY3JlYXRlIHRoZSBpY29uIGZpcnN0LCB0aGVuIHJlLWRyYXcgdGhlIG1hcmtlci4KCQkJCWxheWVyLnNldEljb24odGhpcy5fb3ZlcnJpZGVNYXJrZXJJY29uKGxheWVyKSk7CgkJCX0KCQl9Cgl9Cn0pOwoKTC5NYXJrZXIuaW5jbHVkZSh7CgkvKioKCSAqIFVwZGF0ZXMgdGhlIGdpdmVuIG9wdGlvbnMgaW4gdGhlIG1hcmtlcidzIGljb24gYW5kIHJlZnJlc2hlcyB0aGUgbWFya2VyLgoJICogQHBhcmFtIG9wdGlvbnMgbWFwIG9iamVjdCBvZiBpY29uIG9wdGlvbnMuCgkgKiBAcGFyYW0gZGlyZWN0bHlSZWZyZXNoQ2x1c3RlcnMgYm9vbGVhbiAob3B0aW9uYWwpIHRydWUgdG8gdHJpZ2dlcgoJICogTUNHLnJlZnJlc2hDbHVzdGVyc09mKCkgcmlnaHQgYXdheSB3aXRoIHRoaXMgc2luZ2xlIG1hcmtlci4KCSAqIEByZXR1cm5zIHtMLk1hcmtlcn0KCSAqLwoJcmVmcmVzaEljb25PcHRpb25zOiBmdW5jdGlvbiAob3B0aW9ucywgZGlyZWN0bHlSZWZyZXNoQ2x1c3RlcnMpIHsKCQl2YXIgaWNvbiA9IHRoaXMub3B0aW9ucy5pY29uOwoKCQlMLnNldE9wdGlvbnMoaWNvbiwgb3B0aW9ucyk7CgoJCXRoaXMuc2V0SWNvbihpY29uKTsKCgkJLy8gU2hvcnRjdXQgdG8gcmVmcmVzaCB0aGUgYXNzb2NpYXRlZCBNQ0cgY2x1c3RlcnMgcmlnaHQgYXdheS4KCQkvLyBUbyBiZSB1c2VkIHdoZW4gcmVmcmVzaGluZyBhIHNpbmdsZSBtYXJrZXIuCgkJLy8gT3RoZXJ3aXNlLCBiZXR0ZXIgdXNlIE1DRy5yZWZyZXNoQ2x1c3RlcnMoKSBvbmNlIGF0IHRoZSBlbmQgd2l0aAoJCS8vIHRoZSBsaXN0IG9mIG1vZGlmaWVkIG1hcmtlcnMuCgkJaWYgKGRpcmVjdGx5UmVmcmVzaENsdXN0ZXJzICYmIHRoaXMuX19wYXJlbnQpIHsKCQkJdGhpcy5fX3BhcmVudC5fZ3JvdXAucmVmcmVzaENsdXN0ZXJzKHRoaXMpOwoJCX0KCgkJcmV0dXJuIHRoaXM7Cgl9Cn0pOwoKCn0od2luZG93LCBkb2N1bWVudCkpOw=="}},"time_used":103,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.806Z","timestamp":1785139582806,"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-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 08:06:22 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: b7cc479a6c2c45220a46af9c119cbcca\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-08-12T17:55:33.136394Z","times_seen":3800,"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":64,"timings":{"blocked":-1,"dns":1,"connect":4,"send":0,"wait":3,"receive":-1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/favicon.ico","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.354Z","timestamp":1785139583354,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /favicon.ico HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:23 GMT\r\ncontent-type: image/x-icon\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-length: 0\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":265,"mime_type":"image/x-icon","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":""}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.326Z","timestamp":1785139584326,"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-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 08:06:24 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: c583c9b3cd85c3b026f686565f19e52a\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-08-12T05:10:43.299558Z","times_seen":316,"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":"nanoquantumstellarsledger.com/frontcss/assets/sweetalert.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.989Z","timestamp":1785139581989,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/sweetalert.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2299\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":14420,"size_decoded":2608,"mime_type":"text/css","magic":"ASCII text","md5":"d52e83126b86982dc0a2875af5ccde51","sha1":"1e0019842e121ab9122be1f0fdc56cd34b00dc09","sha256":"8dcf2280d7a71ec2e38b42f79e729110460f412a586bd9d5606034b91637505e","sha512":"7505f5a6d0c8732e81a8647a150346ad3fea36c1754cfc819fea6e75e44c5eae013615f351efaf3002f659eeda211bbeb3bc7e62bd0bb004a68f433090c45ac9","ssdeep":"384:KstDbgO4FqTO1FOFEFEFmFxGBTQ3f/CfNQlSe2XU5hKDwJ:/gO4Fx1FOFEFEFmFxGBzNQlD2XUnKDwJ","tlshash":"a15242af3de30188b72ba37407ed4b186134c047a557dc6b7bcc12aecf419981ada792","first_seen":"2025-11-23T04:10:47.904129Z","last_seen":"2026-07-27T09:11:27.261788Z","times_seen":10,"resource_available":false,"data":"QGtleWZyYW1lcyBzaG93U3dlZXRBbGVydCB7CiAgICAwJSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTsKICAgIH0KICAgIDQ1JSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgICB9CiAgICA4MCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwogICAgfQogICAgMTAwJSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICB9CiAgfQogIEBrZXlmcmFtZXMgaGlkZVN3ZWV0QWxlcnQgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogICAgfQogICAgMTAwJSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTsKICAgIH0KICB9CiAgQGtleWZyYW1lcyBzbGlkZUZyb21Ub3AgewogICAgMCUgewogICAgICB0b3A6IDAlOwogICAgfQogICAgMTAwJSB7CiAgICAgIHRvcDogNTAlOwogICAgfQogIH0KICBAa2V5ZnJhbWVzIHNsaWRlVG9Ub3AgewogICAgMCUgewogICAgICB0b3A6IDUwJTsKICAgIH0KICAgIDEwMCUgewogICAgICB0b3A6IDAlOwogICAgfQogIH0KICBAa2V5ZnJhbWVzIHNsaWRlRnJvbUJvdHRvbSB7CiAgICAwJSB7CiAgICAgIHRvcDogNzAlOwogICAgfQogICAgMTAwJSB7CiAgICAgIHRvcDogNTAlOwogICAgfQogIH0KICBAa2V5ZnJhbWVzIHNsaWRlVG9Cb3R0b20gewogICAgMCUgewogICAgICB0b3A6IDUwJTsKICAgIH0KICAgIDEwMCUgewogICAgICB0b3A6IDcwJTsKICAgIH0KICB9CiAgLnNob3dTd2VldEFsZXJ0IHsKICAgIGFuaW1hdGlvbjogc2hvd1N3ZWV0QWxlcnQgMC4zczsKICB9CiAgLnNob3dTd2VldEFsZXJ0W2RhdGEtYW5pbWF0aW9uPW5vbmVdIHsKICAgIGFuaW1hdGlvbjogbm9uZTsKICB9CiAgLnNob3dTd2VldEFsZXJ0W2RhdGEtYW5pbWF0aW9uPXNsaWRlLWZyb20tdG9wXSB7CiAgICBhbmltYXRpb246IHNsaWRlRnJvbVRvcCAwLjNzOwogIH0KICAuc2hvd1N3ZWV0QWxlcnRbZGF0YS1hbmltYXRpb249c2xpZGUtZnJvbS1ib3R0b21dIHsKICAgIGFuaW1hdGlvbjogc2xpZGVGcm9tQm90dG9tIDAuM3M7CiAgfQogIC5oaWRlU3dlZXRBbGVydCB7CiAgICBhbmltYXRpb246IGhpZGVTd2VldEFsZXJ0IDAuM3M7CiAgfQogIC5oaWRlU3dlZXRBbGVydFtkYXRhLWFuaW1hdGlvbj1ub25lXSB7CiAgICBhbmltYXRpb246IG5vbmU7CiAgfQogIC5oaWRlU3dlZXRBbGVydFtkYXRhLWFuaW1hdGlvbj1zbGlkZS1mcm9tLXRvcF0gewogICAgYW5pbWF0aW9uOiBzbGlkZVRvVG9wIDAuM3M7CiAgfQogIC5oaWRlU3dlZXRBbGVydFtkYXRhLWFuaW1hdGlvbj1zbGlkZS1mcm9tLWJvdHRvbV0gewogICAgYW5pbWF0aW9uOiBzbGlkZVRvQm90dG9tIDAuM3M7CiAgfQogIEBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAgewogICAgMCUgewogICAgICB3aWR0aDogMDsKICAgICAgbGVmdDogMXB4OwogICAgICB0b3A6IDE5cHg7CiAgICB9CiAgICA1NCUgewogICAgICB3aWR0aDogMDsKICAgICAgbGVmdDogMXB4OwogICAgICB0b3A6IDE5cHg7CiAgICB9CiAgICA3MCUgewogICAgICB3aWR0aDogNTBweDsKICAgICAgbGVmdDogLThweDsKICAgICAgdG9wOiAzN3B4OwogICAgfQogICAgODQlIHsKICAgICAgd2lkdGg6IDE3cHg7CiAgICAgIGxlZnQ6IDIxcHg7CiAgICAgIHRvcDogNDhweDsKICAgIH0KICAgIDEwMCUgewogICAgICB3aWR0aDogMjVweDsKICAgICAgbGVmdDogMTRweDsKICAgICAgdG9wOiA0NXB4OwogICAgfQogIH0KICBAa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7CiAgICAwJSB7CiAgICAgIHdpZHRoOiAwOwogICAgICByaWdodDogNDZweDsKICAgICAgdG9wOiA1NHB4OwogICAgfQogICAgNjUlIHsKICAgICAgd2lkdGg6IDA7CiAgICAgIHJpZ2h0OiA0NnB4OwogICAgICB0b3A6IDU0cHg7CiAgICB9CiAgICA4NCUgewogICAgICB3aWR0aDogNTVweDsKICAgICAgcmlnaHQ6IDBweDsKICAgICAgdG9wOiAzNXB4OwogICAgfQogICAgMTAwJSB7CiAgICAgIHdpZHRoOiA0N3B4OwogICAgICByaWdodDogOHB4OwogICAgICB0b3A6IDM4cHg7CiAgICB9CiAgfQogIEBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgfQogICAgNSUgewogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgfQogICAgMTIlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7CiAgICB9CiAgfQogIC5hbmltYXRlU3VjY2Vzc1RpcCB7CiAgICBhbmltYXRpb246IGFuaW1hdGVTdWNjZXNzVGlwIDAuNzVzOwogIH0KICAuYW5pbWF0ZVN1Y2Nlc3NMb25nIHsKICAgIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NMb25nIDAuNzVzOwogIH0KICAuc2EtaWNvbi5zYS1zdWNjZXNzLmFuaW1hdGU6OmFmdGVyIHsKICAgIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsKICB9CiAgQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CiAgICAxMDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOwogICAgICBvcGFjaXR5OiAxOwogICAgfQogIH0KICAuYW5pbWF0ZUVycm9ySWNvbiB7CiAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gMC41czsKICB9CiAgQGtleWZyYW1lcyBhbmltYXRlWE1hcmsgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7CiAgICAgIG1hcmdpbi10b3A6IDI2cHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CiAgICA1MCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7CiAgICAgIG1hcmdpbi10b3A6IDI2cHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CiAgICA4MCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpOwogICAgICBtYXJnaW4tdG9wOiAtNnB4OwogICAgfQogICAgMTAwJSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CiAgfQogIC5hbmltYXRlWE1hcmsgewogICAgYW5pbWF0aW9uOiBhbmltYXRlWE1hcmsgMC41czsKICB9CiAgQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcgewogICAgMCUgewogICAgICBib3JkZXItY29sb3I6ICNGOEQ0ODY7CiAgICB9CiAgICAxMDAlIHsKICAgICAgYm9yZGVyLWNvbG9yOiAjRjhCQjg2OwogICAgfQogIH0KICAucHVsc2VXYXJuaW5nIHsKICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsKICB9CiAgQGtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMgewogICAgMCUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhENDg2OwogICAgfQogICAgMTAwJSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEJCODY7CiAgICB9CiAgfQogIC5wdWxzZVdhcm5pbmdJbnMgewogICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlOwogIH0KICBAa2V5ZnJhbWVzIHJvdGF0ZS1sb2FkaW5nIHsKICAgIDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgIH0KICB9CiAgYm9keS5zdG9wLXNjcm9sbGluZyB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuc3dlZXQtb3ZlcmxheSB7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICBsZWZ0OiAwOwogICAgcmlnaHQ6IDA7CiAgICB0b3A6IDA7CiAgICBib3R0b206IDA7CiAgICBkaXNwbGF5OiBub25lOwogICAgei1pbmRleDogMTA0MDsKICB9CiAgLnN3ZWV0LWFsZXJ0IHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgICB3aWR0aDogNDc4cHg7CiAgICBwYWRkaW5nOiAxN3B4OwogICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgbGVmdDogNTAlOwogICAgdG9wOiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLTI1NnB4OwogICAgbWFyZ2luLXRvcDogLTIwMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICB6LWluZGV4OiAyMDAwOwogIH0KICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogICAgLnN3ZWV0LWFsZXJ0IHsKICAgICAgd2lkdGg6IGF1dG87CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgIGxlZnQ6IDE1cHg7CiAgICAgIHJpZ2h0OiAxNXB4OwogICAgfQogIH0KICAuc3dlZXQtYWxlcnQgLmZvcm0tZ3JvdXAgewogICAgZGlzcGxheTogbm9uZTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5mb3JtLWdyb3VwIC5zYS1pbnB1dC1lcnJvciB7CiAgICBkaXNwbGF5OiBub25lOwogIH0KICAuc3dlZXQtYWxlcnQuc2hvdy1pbnB1dCAuZm9ybS1ncm91cCB7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1jb25maXJtLWJ1dHRvbi1jb250YWluZXIgewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogIH0KICAuc3dlZXQtYWxlcnQgLmxhLWJhbGwtZmFsbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiA1MCU7CiAgICB0b3A6IDUwJTsKICAgIG1hcmdpbi1sZWZ0OiAtMjdweDsKICAgIG1hcmdpbi10b3A6IC05cHg7CiAgICBvcGFjaXR5OiAwOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KICAuc3dlZXQtYWxlcnQgYnV0dG9uW2Rpc2FibGVkXSB7CiAgICBvcGFjaXR5OiAuNjsKICAgIGN1cnNvcjogZGVmYXVsdDsKICB9CiAgLnN3ZWV0LWFsZXJ0IGJ1dHRvbi5jb25maXJtW2Rpc2FibGVkXSB7CiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgfQogIC5zd2VldC1hbGVydCBidXR0b24uY29uZmlybVtkaXNhYmxlZF0gfiAubGEtYmFsbC1mYWxsIHsKICAgIG9wYWNpdHk6IDE7CiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwogICAgdHJhbnNpdGlvbi1kZWxheTogMHM7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbiB7CiAgICB3aWR0aDogODBweDsKICAgIGhlaWdodDogODBweDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIGdyYXk7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBtYXJnaW46IDIwcHggYXV0bzsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtZXJyb3IgewogICAgYm9yZGVyLWNvbG9yOiAjZDQzZjNhOwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtZXJyb3IgLnNhLXgtbWFyayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLWVycm9yIC5zYS1saW5lIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGhlaWdodDogNXB4OwogICAgd2lkdGg6IDQ3cHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0b3A6IDM3cHg7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1lcnJvciAuc2EtbGluZS5zYS1sZWZ0IHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgIGxlZnQ6IDE3cHg7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1lcnJvciAuc2EtbGluZS5zYS1yaWdodCB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgcmlnaHQ6IDE2cHg7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS13YXJuaW5nIHsKICAgIGJvcmRlci1jb2xvcjogI2VlYTIzNjsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXdhcm5pbmcgLnNhLWJvZHkgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgd2lkdGg6IDVweDsKICAgIGhlaWdodDogNDdweDsKICAgIGxlZnQ6IDUwJTsKICAgIHRvcDogMTBweDsKICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgIG1hcmdpbi1sZWZ0OiAtMnB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXdhcm5pbmcgLnNhLWRvdCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB3aWR0aDogN3B4OwogICAgaGVpZ2h0OiA3cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBtYXJnaW4tbGVmdDogLTNweDsKICAgIGxlZnQ6IDUwJTsKICAgIGJvdHRvbTogMTBweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1pbmZvIHsKICAgIGJvcmRlci1jb2xvcjogIzQ2YjhkYTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLWluZm86OmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiA1cHg7CiAgICBoZWlnaHQ6IDI5cHg7CiAgICBsZWZ0OiA1MCU7CiAgICBib3R0b206IDE3cHg7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICBtYXJnaW4tbGVmdDogLTJweDsKICAgIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1pbmZvOjphZnRlciB7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiA3cHg7CiAgICBoZWlnaHQ6IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIG1hcmdpbi1sZWZ0OiAtM3B4OwogICAgdG9wOiAxOXB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgewogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlLAogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7CiAgICBjb250ZW50OiAnJzsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiA2MHB4OwogICAgaGVpZ2h0OiAxMjBweDsKICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUgewogICAgYm9yZGVyLXJhZGl1czogMTIwcHggMCAwIDEyMHB4OwogICAgdG9wOiAtN3B4OwogICAgbGVmdDogLTMzcHg7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4OwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2Vzczo6YWZ0ZXIgewogICAgYm9yZGVyLXJhZGl1czogMCAxMjBweCAxMjBweCAwOwogICAgdG9wOiAtMTFweDsKICAgIGxlZnQ6IDMwcHg7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogICAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1wbGFjZWhvbGRlciB7CiAgICB3aWR0aDogODBweDsKICAgIGhlaWdodDogODBweDsKICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoOTIsIDE4NCwgOTIsIDAuMik7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IC00cHg7CiAgICB0b3A6IC00cHg7CiAgICB6LWluZGV4OiAyOwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtZml4IHsKICAgIHdpZHRoOiA1cHg7CiAgICBoZWlnaHQ6IDkwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMjhweDsKICAgIHRvcDogOHB4OwogICAgei1pbmRleDogMTsKICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgfQogIC5zd2VldC1hbGVydCAuc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lIHsKICAgIGhlaWdodDogNXB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YzsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgei1pbmRleDogMjsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHsKICAgIHdpZHRoOiAyNXB4OwogICAgbGVmdDogMTRweDsKICAgIHRvcDogNDZweDsKICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7CiAgICB3aWR0aDogNDdweDsKICAgIHJpZ2h0OiA4cHg7CiAgICB0b3A6IDM4cHg7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIH0KICAuc3dlZXQtYWxlcnQgLnNhLWljb24uc2EtY3VzdG9tIHsKICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5idG4tZGVmYXVsdDpmb2N1cyB7CiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7CiAgICBvdXRsaW5lOiAwOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNik7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNik7CiAgfQogIC5zd2VldC1hbGVydCAuYnRuLXN1Y2Nlc3M6Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOwogICAgb3V0bGluZTogMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSg3NiwgMTc0LCA3NiwgMC42KTsKICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoNzYsIDE3NCwgNzYsIDAuNik7CiAgfQogIC5zd2VldC1hbGVydCAuYnRuLWluZm86Zm9jdXMgewogICAgYm9yZGVyLWNvbG9yOiAjNDZiOGRhOwogICAgb3V0bGluZTogMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSg3MCwgMTg0LCAyMTgsIDAuNik7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDcwLCAxODQsIDIxOCwgMC42KTsKICB9CiAgLnN3ZWV0LWFsZXJ0IC5idG4tZGFuZ2VyOmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogI2Q0M2YzYTsKICAgIG91dGxpbmU6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMjEyLCA2MywgNTgsIDAuNik7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDIxMiwgNjMsIDU4LCAwLjYpOwogIH0KICAuc3dlZXQtYWxlcnQgLmJ0bi13YXJuaW5nOmZvY3VzIHsKICAgIGJvcmRlci1jb2xvcjogI2VlYTIzNjsKICAgIG91dGxpbmU6IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IHJnYmEoMjM4LCAxNjIsIDU0LCAwLjYpOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgyMzgsIDE2MiwgNTQsIDAuNik7CiAgfQogIC5zd2VldC1hbGVydCBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIgewogICAgYm9yZGVyOiAwOwogIH0KICAvKiEKICAgKiBMb2FkIEF3ZXNvbWUgdjEuMS4wIChodHRwOi8vZ2l0aHViLmRhbmllbGNhcmRvc28ubmV0L2xvYWQtYXdlc29tZS8pCiAgICogQ29weXJpZ2h0IDIwMTUgRGFuaWVsIENhcmRvc28gPEBEYW5pZWxDYXJkb3NvPgogICAqIExpY2Vuc2VkIHVuZGVyIE1JVAogICAqLwogIC5sYS1iYWxsLWZhbGwsCiAgLmxhLWJhbGwtZmFsbCA+IGRpdiB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KICAubGEtYmFsbC1mYWxsIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1zaXplOiAwOwogICAgY29sb3I6ICNmZmY7CiAgfQogIC5sYS1iYWxsLWZhbGwubGEtZGFyayB7CiAgICBjb2xvcjogIzMzMzsKICB9CiAgLmxhLWJhbGwtZmFsbCA+IGRpdiB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmbG9hdDogbm9uZTsKICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgIGJvcmRlcjogMCBzb2xpZCBjdXJyZW50Q29sb3I7CiAgfQogIC5sYS1iYWxsLWZhbGwgewogICAgd2lkdGg6IDU0cHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgfQogIC5sYS1iYWxsLWZhbGwgPiBkaXYgewogICAgd2lkdGg6IDEwcHg7CiAgICBoZWlnaHQ6IDEwcHg7CiAgICBtYXJnaW46IDRweDsKICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC1hbmltYXRpb246IGJhbGwtZmFsbCAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIC1tb3otYW5pbWF0aW9uOiBiYWxsLWZhbGwgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAtby1hbmltYXRpb246IGJhbGwtZmFsbCAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIGFuaW1hdGlvbjogYmFsbC1mYWxsIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogIH0KICAubGEtYmFsbC1mYWxsID4gZGl2Om50aC1jaGlsZCgxKSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTIwMG1zOwogICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC0yMDBtczsKICAgIC1vLWFuaW1hdGlvbi1kZWxheTogLTIwMG1zOwogICAgYW5pbWF0aW9uLWRlbGF5OiAtMjAwbXM7CiAgfQogIC5sYS1iYWxsLWZhbGwgPiBkaXY6bnRoLWNoaWxkKDIpIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMTAwbXM7CiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogLTEwMG1zOwogICAgLW8tYW5pbWF0aW9uLWRlbGF5OiAtMTAwbXM7CiAgICBhbmltYXRpb24tZGVsYXk6IC0xMDBtczsKICB9CiAgLmxhLWJhbGwtZmFsbCA+IGRpdjpudGgtY2hpbGQoMykgewogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDBtczsKICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwbXM7CiAgICAtby1hbmltYXRpb24tZGVsYXk6IDBtczsKICAgIGFuaW1hdGlvbi1kZWxheTogMG1zOwogIH0KICAubGEtYmFsbC1mYWxsLmxhLXNtIHsKICAgIHdpZHRoOiAyNnB4OwogICAgaGVpZ2h0OiA4cHg7CiAgfQogIC5sYS1iYWxsLWZhbGwubGEtc20gPiBkaXYgewogICAgd2lkdGg6IDRweDsKICAgIGhlaWdodDogNHB4OwogICAgbWFyZ2luOiAycHg7CiAgfQogIC5sYS1iYWxsLWZhbGwubGEtMnggewogICAgd2lkdGg6IDEwOHB4OwogICAgaGVpZ2h0OiAzNnB4OwogIH0KICAubGEtYmFsbC1mYWxsLmxhLTJ4ID4gZGl2IHsKICAgIHdpZHRoOiAyMHB4OwogICAgaGVpZ2h0OiAyMHB4OwogICAgbWFyZ2luOiA4cHg7CiAgfQogIC5sYS1iYWxsLWZhbGwubGEtM3ggewogICAgd2lkdGg6IDE2MnB4OwogICAgaGVpZ2h0OiA1NHB4OwogIH0KICAubGEtYmFsbC1mYWxsLmxhLTN4ID4gZGl2IHsKICAgIHdpZHRoOiAzMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgbWFyZ2luOiAxMnB4OwogIH0KICAvKgogICAqIEFuaW1hdGlvbgogICAqLwogIEAtd2Via2l0LWtleWZyYW1lcyBiYWxsLWZhbGwgewogICAgMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7CiAgICB9CiAgICAxMCUgewogICAgICBvcGFjaXR5OiAuNTsKICAgIH0KICAgIDIwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB9CiAgICA4MCUgewogICAgICBvcGFjaXR5OiAxOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogICAgOTAlIHsKICAgICAgb3BhY2l0eTogLjU7CiAgICB9CiAgICAxMDAlIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsKICAgIH0KICB9CiAgQC1tb3ota2V5ZnJhbWVzIGJhbGwtZmFsbCB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsKICAgIH0KICAgIDEwJSB7CiAgICAgIG9wYWNpdHk6IC41OwogICAgfQogICAgMjAlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIH0KICAgIDgwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB9CiAgICA5MCUgewogICAgICBvcGFjaXR5OiAuNTsKICAgIH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpOwogICAgfQogIH0KICBALW8ta2V5ZnJhbWVzIGJhbGwtZmFsbCB7CiAgICAwJSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7CiAgICB9CiAgICAxMCUgewogICAgICBvcGFjaXR5OiAuNTsKICAgIH0KICAgIDIwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogICAgODAlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB9CiAgICA5MCUgewogICAgICBvcGFjaXR5OiAuNTsKICAgIH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsKICAgIH0KICB9CiAgQGtleWZyYW1lcyBiYWxsLWZhbGwgewogICAgMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQ1JSk7CiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsKICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNDUlKTsKICAgIH0KICAgIDEwJSB7CiAgICAgIG9wYWNpdHk6IC41OwogICAgfQogICAgMjAlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIH0KICAgIDgwJSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICB9CiAgICA5MCUgewogICAgICBvcGFjaXR5OiAuNTsKICAgIH0KICAgIDEwMCUgewogICAgICBvcGFjaXR5OiAwOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsKICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTQ1JSk7CiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNDUlKTsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0NSUpOwogICAgfQogIH0="}},"time_used":41,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":39,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.776Z","timestamp":1785139582776,"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-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 08:06:22 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: e76e651458c059dc49075424d6c209ab\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":2693,"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-08-12T17:58:50.18299Z","times_seen":7440,"resource_available":false,"data":"W2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtd01EZjojMDAwMDstLV8xLXdNRGY6dmFyKC0tY29sb3ItdGFuLW9yYW5nZS01MDApOy0tXzItd01EZjp2YXIoLS1jb2xvci1jb2xkLWdyYXktNjAwKTstLV8zLXdNRGY6IzAwMDB9W2RhdGEtdGhlbWU9ZGFya117LS1fMC13TURmOiMwMDAwOy0tXzEtd01EZjp2YXIoLS1jb2xvci10YW4tb3JhbmdlLTUwMCk7LS1fMi13TURmOnZhcigtLWNvbG9yLWNvbGQtZ3JheS00NTApOy0tXzMtd01EZjojMDAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elh7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtmb250LXN0eWxlOm5vcm1hbDstLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZToxM3B4O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtd2VpZ2h0OjQwMDstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6dmFyKC0tY29sb3ItY29tbW9uLXRvb2x0aXAtdGV4dCk7ZGlzcGxheTppbmxpbmUtZmxleDtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtLWhpZGRlbi1FSkJEOTZ6WHtvcGFjaXR5OjB9LmNvbW1vbi10b29sdGlwLS1ob3Jpem9udGFsLUVKQkQ5NnpYe21hcmdpbjo0cHggMH0uY29tbW9uLXRvb2x0aXAtLWhvcml6b250YWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtLWZhcnRoZXItRUpCRDk2elh7bWFyZ2luOjhweCAwfS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elh7bWFyZ2luOjAgNHB4fS5jb21tb24tdG9vbHRpcC0tdmVydGljYWwtRUpCRDk2elguY29tbW9uLXRvb2x0aXAtZmFydGhlci1FSkJEOTZ6WHttYXJnaW46MCA4cHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvd30uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9ub3JtYWwtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19ib2R5LS1uby1idXR0b25zLUVKQkQ5NnpYLC5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX25vcm1hbC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1jb250YWluZXItRUpCRDk2elh7Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtZW5kLXJhZGl1czoycHh9LmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fbm9ybWFsLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYnV0dG9uLUVKQkQ5NnpYOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWlubGluZS1lbmQ6MXB4fS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYe2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5jb21tb24tdG9vbHRpcC0tZGlyZWN0aW9uX3JldmVyc2VkLUVKQkQ5NnpYIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtib3JkZXItZW5kLWVuZC1yYWRpdXM6MnB4O2JvcmRlci1zdGFydC1lbmQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2JvZHktLW5vLWJ1dHRvbnMtRUpCRDk2elgsLmNvbW1vbi10b29sdGlwLS1kaXJlY3Rpb25fcmV2ZXJzZWQtRUpCRDk2elggLmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2JvcmRlci1lbmQtc3RhcnQtcmFkaXVzOjJweDtib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOjJweH0uY29tbW9uLXRvb2x0aXAtLWRpcmVjdGlvbl9yZXZlcnNlZC1FSkJEOTZ6WCAuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4taW5saW5lLXN0YXJ0OjFweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elh7cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXIsLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQ7Ym9yZGVyLWxlZnQtY29sb3I6dmFyKC0tXzMtd01EZik7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZDtib3JkZXItcmlnaHQtY29sb3I6dmFyKC0tXzMtd01EZik7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTZweH0uY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6NHB4O2JvdHRvbToxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWJvdmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXRvcC13aWR0aDo0cHg7dG9wOjEwMCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDphZnRlcntib3JkZXItYm90dG9tOjZweCBzb2xpZDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLV8zLXdNRGYpO2JvcmRlci10b3A6NnB4IHNvbGlkO2JvcmRlci10b3AtY29sb3I6dmFyKC0tXzMtd01EZik7bWFyZ2luLXRvcDotNnB4O3RvcDo1MCV9LmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtyaWdodDoxMDAlfS5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWxlZnQtd2lkdGg6NHB4O2xlZnQ6MTAwJX0uY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb21tb24tdG9vbHRpcC1iZyk7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjMxMHB4O3BhZGRpbmc6M3B4IDhweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpzdGFydH0uY29tbW9uLXRvb2x0aXBfX2JvZHktLXdpdGgtaG90a2V5LUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6NDIwcHg7cGFkZGluZzowfS5jb21tb24tdG9vbHRpcF9fYm9keS0td2lkdGhfd2lkZS1FSkJEOTZ6WHttYXgtd2lkdGg6NjQwcHh9LmNvbW1vbi10b29sdGlwX19ib2R5LS13aWR0aF9uYXJyb3ctRUpCRDk2elh7bWF4LXdpZHRoOjIwMHB4fS5jb21tb24tdG9vbHRpcF9fYm9keS0tbm8tcGFkZGluZy1FSkJEOTZ6WHtwYWRkaW5nOjB9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOnZhcigtLWNvbG9yLWNvbGQtZ3JheS0xMDApO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleDoxIDAgYXV0bztqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjNweCAwO3BhZGRpbmctaW5saW5lLWVuZDo4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYmxvY2stLWRpdmlkZXItRUpCRDk2elg6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7Y29udGVudDoiIjtoZWlnaHQ6MTAwJTttYXJnaW4taW5saW5lLWVuZDo4cHg7d2lkdGg6MXB4fS5jb21tb24tdG9vbHRpcF9faG90a2V5LXRleHQtRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luOjNweCA4cHh9LmNvbW1vbi10b29sdGlwX19ob3RrZXktYnV0dG9uLUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY29sZC1ncmF5LTYwMCk7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsVHJlYnVjaGV0IE1TLFJvYm90byxVYnVudHUsc2Fucy1zZXJpZjtmb250LWZlYXR1cmUtc2V0dGluZ3M6InRudW0iIG9uLCJsbnVtIiBvbjtoZWlnaHQ6MThweDtwYWRkaW5nOjFweCA2cHg7d2lkdGg6YXV0bzstLXVpLWxpYi10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQpOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjEycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tY29sb3ItY29sZC1ncmF5LTQ1MCk7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZTp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemUpO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjYwMH0uY29tbW9uLXRvb2x0aXBfX3BsdXMtc2lnbi1FSkJEOTZ6WHtoZWlnaHQ6MTVweDtsaW5lLWhlaWdodDoxNHB4O3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEzcHh9LmNvbW1vbi10b29sdGlwX19idXR0b24tY29udGFpbmVyLUVKQkQ5NnpYe2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmNvbW1vbi10b29sdGlwX19idXR0b24tRUpCRDk2elh7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYnJhbmQpO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29tbW9uLXRvb2x0aXBfX2J1dHRvbi1FSkJEOTZ6WDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXR2LWJsdWUtMTAwKX19LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRle2NvbG9yOnZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fYm9keS1FSkJEOTZ6WHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpO2JvcmRlci1yYWRpdXM6MH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYe2JvcmRlcjoxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLUVKQkQ5NnpYOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWxvdy1FSkJEOTZ6WDphZnRlcntib3JkZXItaW5saW5lLWVuZDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1lbmQtY29sb3I6dmFyKC0tXzAtd01EZik7Ym9yZGVyLWlubGluZS1zdGFydDo2cHggc29saWQ7Ym9yZGVyLWlubGluZS1zdGFydC1jb2xvcjp2YXIoLS1fMC13TURmKX0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hZnRlci1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YmVmb3Jle2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1ib3JkZXIpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6MTAwMH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmUsLmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YmVmb3Jle2JvcmRlci1pbmxpbmUtZW5kOjdweCBzb2xpZDtib3JkZXItaW5saW5lLWVuZC1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItaW5saW5lLXN0YXJ0OjdweCBzb2xpZDtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLV8wLXdNRGYpO2luc2V0LWlubGluZS1zdGFydDo1MCU7bWFyZ2luLWlubGluZS1zdGFydDotN3B4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlbG93LUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItYm90dG9tLXdpZHRoOjZweDt0b3A6LTZweH0uY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtd2hpdGUgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLXRvcC13aWR0aDo2cHg7Ym90dG9tOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXdoaXRlIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYWZ0ZXItRUpCRDk2elg6YmVmb3JlLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjdweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpO21hcmdpbi10b3A6LTdweDt0b3A6NTAlfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWJlZm9yZS1FSkJEOTZ6WDpiZWZvcmV7Ym9yZGVyLWlubGluZS1lbmQtd2lkdGg6NnB4O2luc2V0LWlubGluZS1zdGFydDotNnB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS13aGl0ZSAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmJlZm9yZXtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOjZweDtpbnNldC1pbmxpbmUtZW5kOi02cHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvd3tib3gtc2hhZG93OjAgMXB4IDNweCAwICMyYTJjMzk0YTtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSl9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWNvbG9yLWJnLXByaW1hcnkpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1hYm92ZS1FSkJEOTZ6WDphZnRlciwuY29tbW9uLXRvb2x0aXAtRUpCRDk2elgudGhlbWUtcm91bmQtc2hhZG93IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci0tYmVsb3ctRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWlubGluZS1lbmQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtZW5kLWNvbG9yOnZhcigtLV8wLXdNRGYpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NnB4IHNvbGlkO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tXzAtd01EZil9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLXJvdW5kLXNoYWRvdyAuY29tbW9uLXRvb2x0aXBfX2Vhci1ob2xkZXItLWFmdGVyLUVKQkQ5NnpYOmFmdGVyLC5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1yb3VuZC1zaGFkb3cgLmNvbW1vbi10b29sdGlwX19lYXItaG9sZGVyLS1iZWZvcmUtRUpCRDk2elg6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS1fMC13TURmKTtib3JkZXItdG9wOjZweCBzb2xpZDtib3JkZXItdG9wLWNvbG9yOnZhcigtLV8wLXdNRGYpfS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1jaGFydCAuY29tbW9uLXRvb2x0aXBfX2JvZHktRUpCRDk2elh7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWNvbG9yLWRpdmlkZXIpO2JvcmRlci1yYWRpdXM6MTZweDtib3gtc2hhZG93OjAgMnB4IDRweCB2YXIoLS1jb2xvci1zaGFkb3ctcHJpbWFyeS1uZXV0cmFsLWV4dHJhLWhlYXZ5KTttYXgtd2lkdGg6MzQycHh9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLWNoYXJ0IC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9LmNvbW1vbi10b29sdGlwLUVKQkQ5NnpYLnRoZW1lLW5ld3MgLmNvbW1vbi10b29sdGlwX19ib2R5LUVKQkQ5NnpYe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmctcHJpbWFyeSk7Ym9yZGVyLXJhZGl1czo4cHg7Ym94LXNoYWRvdzowIDJweCA0cHggdmFyKC0tY29sb3Itc2hhZG93LXByaW1hcnktbmV1dHJhbC1leHRyYS1oZWF2eSk7bWF4LXdpZHRoOjMyMHB4fS5jb21tb24tdG9vbHRpcC1FSkJEOTZ6WC50aGVtZS1uZXdzIC5jb21tb24tdG9vbHRpcF9fZWFyLWhvbGRlci1FSkJEOTZ6WDphZnRlcntjb250ZW50Om5vbmV9"}},"time_used":159,"timings":{"blocked":-1,"dns":49,"connect":51,"send":0,"wait":3,"receive":-1,"ssl":29},"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"},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.802Z","timestamp":1785139582802,"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-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 08:06:22 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: 71c19e1411770746b4dff8e45e1e0ba3\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-28T06:17:53.366836Z","times_seen":205,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1syNDkyOSwzNzg2NSw0NzAzMCw1MzI0OSw1NzE4NCw2MjM1MSw2ODg2MCw4NDY5Myw5Mjk2NF0sezYxNzM0MChlKXtlLmV4cG9ydHM9WyJDb2x1bW5zIl19LDExODQ5MShlKXtlLmV4cG9ydHM9WyJDYW5kbGVzIl19LDc5NjA5MyhlKXtlLmV4cG9ydHM9WyJBcmVhIl19LDk0MTYyOShlKXtlLmV4cG9ydHM9WyJCYXJzIl19LDUyNTMzMShlKXtlLmV4cG9ydHM9WyJCYXNlbGluZSJdfSw0MTM0MyhlKXtlLmV4cG9ydHM9WyJLYWdpIl19LDk2Nzg0MShlKXtlLmV4cG9ydHM9WyJITEMgYXJlYSJdfSw2ODMwMChlKXtlLmV4cG9ydHM9WyJITEMgYmFycyJdfSwzMzE4MjQoZSl7ZS5leHBvcnRzPVsiSG9sbG93IGNhbmRsZXMiXX0sODM1NTQzKGUpe2UuZXhwb3J0cz1bIkhlaWtpbiBBc2hpIl19LDk1MjgxMChlKXtlLmV4cG9ydHM9WyJIaWdoLWxvdyJdfSwyMTA0OTkoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxODYxNDcoZSl7ZS5leHBvcnRzPVsiTGluZSB3aXRoIG1hcmtlcnMiXX0sMzA3NDM2KGUpe2UuZXhwb3J0cz1bIkxpbmUgYnJlYWsiXX0sNjg3OTUxKGUpe2UuZXhwb3J0cz1bIlNlc3Npb24gdm9sdW1lIHByb2ZpbGUiXX0sOTE2MTQ4KGUpe2UuZXhwb3J0cz1bIlN0ZXAgbGluZSJdfSw4NjcwMjEoZSl7ZS5leHBvcnRzPVsiUG9pbnQgJiBmaWd1cmUiXX0sMTg4MzUyKGUpe2UuZXhwb3J0cz1bIlJhbmdlIl19LDQ2MTczOChlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSwxMTc5ODQoZSl7ZS5leHBvcnRzPVsiVGltZSBwcmljZSBvcHBvcnR1bml0eSJdfSw4OTIzNzUoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIGNhbmRsZXMiXX0sMjAxMDczKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNjQ2ODQ4KGUpe2UuZXhwb3J0cz1bIk9iamVjdCB0cmVlIl19LDExMzUyNChlKXtlLmV4cG9ydHM9WyJDb250aW51ZSJdfSwyNjQ3MzkoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDMxODczNChlKXtlLmV4cG9ydHM9WyJSZW1vdmUiXX0sNzcwOTQxKGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sMTU3NDE3KGUpe2UuZXhwb3J0cz1bIlJlIl19LDU1ODQxMihlKXtlLmV4cG9ydHM9WyIlIG9mIEdEUCJdfSw0Njg0NjAoZSl7ZS5leHBvcnRzPVsiJSBvZiBwYXIiXX0sNDQ1MDUoZSl7ZS5leHBvcnRzPVsiRGlzYy4geWllbGQsICUiXX0sOTQ1MzYyKGUpe2UuZXhwb3J0cz1bIkRhcmsiXX0sMjQ3MTY3KGUpe2UuZXhwb3J0cz1bIkxpZ2h0Il19LDI0NzUyMShlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDYyMzQwMChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjdXQiXX0sMzk0MTI4KGUpe2UuZXhwb3J0cz1bIkNvdWxkbid0IHBhc3RlIl19LDIxMDkwMShlKXtlLmV4cG9ydHM9WyJQbGVhc2UgZ2l2ZSB1cyBhIGNsaXBib2FyZCB3cml0aW5nIHBlcm1pc3Npb24gaW4geW91ciBicm93c2VyIG9yIHByZXNzIHtrZXlzdHJva2V9Il19LDc4Njk3OChlKXtlLmV4cG9ydHM9WyJBREoiXX0sNzMwODQwKGUpe2UuZXhwb3J0cz1bIkItQURKIl19LDMzNzk1NyhlKXtlLmV4cG9ydHM9WyJTRVQiXX0sNjUzODU5KGUpe2UuZXhwb3J0cz1bIkV4cGlyZWQiXX0sMzY0ODQzKGUpe2UuZXhwb3J0cz1bIk1hbnVhbGx5Il19LDQ2MzIzMihlKXtlLmV4cG9ydHM9WyJTdG9wcGVkIl19LDM2NzU3MyhlKXtlLmV4cG9ydHM9WyJUcmlnZ2VyZWQiXX0sNTMxODM0KGUpe2UuZXhwb3J0cz1bIkRlbGV0ZSBzZWxlY3RlZCBhbGVydHM/Il19LDQ1NjE1MihlKXtlLmV4cG9ydHM9WyJEZWxldGUgdGhpcyBhbGVydD8iXX0sNjgzNjI3KGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIl19LDg1OTk5NChlKXtlLmV4cG9ydHM9WyJDIl19LDg5MjM2MyhlKXtlLmV4cG9ydHM9WyJEIl19LDM5NDUwMShlKXtlLmV4cG9ydHM9WyJEIl19LDU3MDkzOShlKXtlLmV4cG9ydHM9WyJFIl19LDM5NDkyMShlKXtlLmV4cG9ydHM9WyJGIl19LDg2NjQ0KGUpe2UuZXhwb3J0cz1bIlIiXX0sNzU2NDU3KGUpe2UuZXhwb3J0cz1bIlIiXX0sMjU3MzI2KGUpe2UuZXhwb3J0cz1bIlMiXX0sMjMwNDkyKGUpe2UuZXhwb3J0cz1bImQiXX0sMTIyMDUzKGUpe2UuZXhwb3J0cz1bImgiXX0sMTY0NTE2KGUpe2UuZXhwb3J0cz1bIm0iXX0sMjYyMjA1KGUpe2UuZXhwb3J0cz1bInMiXX0sMzk4NDU5KGUpe2UuZXhwb3J0cz1bIkZyIl19LDM2NTUzNShlKXtlLmV4cG9ydHM9WyJNbyJdfSwyNjA0OTYoZSl7ZS5leHBvcnRzPVsiU2EiXX0sNjY5MTk5KGUpe2UuZXhwb3J0cz1bIlN1Il19LDQ1MTI3MShlKXtlLmV4cG9ydHM9WyJXZSJdfSw2Mjg1ODIoZSl7ZS5leHBvcnRzPVsiVGgiXX0sOTM5MzI5KGUpe2UuZXhwb3J0cz1bIlR1Il19LDc4NDkxMChlKXtlLmV4cG9ydHM9WyJBZ2ciXX0sMTkzNzI4KGUpe2UuZXhwb3J0cz1bIkFnZ3JlZ2F0ZWQiXX0sNzMwOTY2KGUpe2UuZXhwb3J0cz1bIk5vQWdnIl19LDM2MDgyMChlKXtlLmV4cG9ydHM9WyJOb24tYWdncmVnYXRlZCJdfSwzNDY0MjEoZSl7ZS5leHBvcnRzPVsiQW5udWFsIl19LDY3OTk5MShlKXtlLmV4cG9ydHM9WyJGSCJdfSwyOTUyODgoZSl7ZS5leHBvcnRzPVsiRlEiXX0sMzI0NjE0KGUpe2UuZXhwb3J0cz1bIkZZIl19LDkwMDU4MihlKXtlLmV4cG9ydHM9WyJONEZIIl19LDU3MTA0MChlKXtlLmV4cG9ydHM9WyJONEZRIl19LDE5NzkzMChlKXtlLmV4cG9ydHM9WyJONEZZIl19LDMzNDkyOShlKXtlLmV4cG9ydHM9WyJORkgiXX0sODY2MDUwKGUpe2UuZXhwb3J0cz1bIk5GUSJdfSw1ODc4ODIoZSl7ZS5leHBvcnRzPVsiTkZZIl19LDI4Nzk0OShlKXtlLmV4cG9ydHM9WyJOVE0iXX0sNDQyNTExKGUpe2UuZXhwb3J0cz1bIk5leHQgdHdlbHZlIG1vbnRocyJdfSw2MTE2NDAoZSl7ZS5leHBvcnRzPVsiU2VtaWFubnVhbCJdfSwyMzM4NTYoZSl7ZS5leHBvcnRzPVsiUXVhcnRlcmx5Il19LDU4ODIyMShlKXtlLmV4cG9ydHM9WyJUVE0iXX0sMTkxNDMyKGUpe2UuZXhwb3J0cz1bIkQiXX0sODg5MTAoZSl7ZS5leHBvcnRzPVsiTSJdfSwyODExMDcoZSl7CmUuZXhwb3J0cz1bIlIiXX0sMjE4MDM2KGUpe2UuZXhwb3J0cz1bIlQiXX0sMzIzNTcwKGUpe2UuZXhwb3J0cz1bIlciXX0sMjQwNzMoZSl7ZS5leHBvcnRzPVsiaCJdfSw2MTg0KGUpe2UuZXhwb3J0cz1bIm0iXX0sMzkwODA5KGUpe2UuZXhwb3J0cz1bInMiXX0sMjI5OTk0KGUpe2UuZXhwb3J0cz1bIkMiXX0sOTU0NjE0KGUpe2UuZXhwb3J0cz1bIkgiXX0sNjY2NzMwKGUpe2UuZXhwb3J0cz1bIkhMMiJdfSwxMDAzNChlKXtlLmV4cG9ydHM9WyJITEMzIl19LDE0MzgxNShlKXtlLmV4cG9ydHM9WyJPSExDNCJdfSw4Mzk0NjMoZSl7ZS5leHBvcnRzPVsiTCJdfSw5NjA1MTMoZSl7ZS5leHBvcnRzPVsiTyJdfSwzMjUxMTgoZSl7ZS5leHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5leHBvcnRzWyJFbnRlciB2YWx1ZV9pbnB1dCJdPVsiRW50ZXIgdmFsdWUiXSxlLmV4cG9ydHMuU2VhcmNoX2lucHV0PVsiU2VhcmNoIl0sZS5leHBvcnRzWyIlRCBMZW5ndGhfaW5wdXQiXT1bIiVEIExlbmd0aCJdLGUuZXhwb3J0c1siJUQgU21vb3RoaW5nX2lucHV0Il09WyIlRCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIiVEX2lucHV0Il09WyIlRCJdLGUuZXhwb3J0c1siJUsgTGVuZ3RoX2lucHV0Il09WyIlSyBMZW5ndGgiXSxlLmV4cG9ydHNbIiVLIFNtb290aGluZ19pbnB1dCJdPVsiJUsgU21vb3RoaW5nIl0sZS5leHBvcnRzWyIlS19pbnB1dCJdPVsiJUsiXSxlLmV4cG9ydHNbIiVSX2lucHV0Il09WyIlUiJdLGUuZXhwb3J0c1siK0RJX2lucHV0Il09WyIrREkiXSxlLmV4cG9ydHNbIi0wLjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiLTAuMjM2IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyItMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIi0wLjM4MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLTAuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyItMC42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIi0wLjY1IExldmVsIENvbG9yX2lucHV0Il09WyItMC42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siLURJX2lucHV0Il09WyItREkiXSxlLmV4cG9ydHNbIjAgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjAuMjM2IExldmVsIENvbG9yX2lucHV0Il09WyIwLjIzNiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC4zODIgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuMzgyIExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMC42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjAuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIwLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIwLjc4NiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMC43ODYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuMjcyIExldmVsIENvbG9yX2lucHV0Il09WyIxLjI3MiBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMS40MTQgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNDE0IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIxLjYxOCBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMS42MTggTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjEuNjUgTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjEuNjUgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjFzdCBQZXJpb2RfaW5wdXQiXT1bIjFzdCBQZXJpb2QiXSxlLmV4cG9ydHNbIjIuNjE4IExldmVsIENvbG9yX2lucHV0Il09WyIyLjYxOCBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMi42NSBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiMi42NSBMZXZlbCBDb2xvciJdLGUuZXhwb3J0c1siMm5kIFBlcmlvZF9pbnB1dCJdPVsiMm5kIFBlcmlvZCJdLGUuZXhwb3J0c1siMy42MTggTGV2ZWwgQ29sb3JfaW5wdXQiXT1bIjMuNjE4IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzLjY1IExldmVsIENvbG9yX2lucHV0Il09WyIzLjY1IExldmVsIENvbG9yIl0sZS5leHBvcnRzWyIzcmQgUGVyaW9kX2lucHV0Il09WyIzcmQgUGVyaW9kIl0sZS5leHBvcnRzWyI0LjIzNiBMZXZlbCBDb2xvcl9pbnB1dCJdPVsiNC4yMzYgTGV2ZWwgQ29sb3IiXSxlLmV4cG9ydHNbIjR0aCBQZXJpb2RfaW5wdXQiXT1bIjR0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjV0aCBQZXJpb2RfaW5wdXQiXT1bIjV0aCBQZXJpb2QiXSxlLmV4cG9ydHNbIjZ0aCBQZXJpb2RfaW5wdXQiXT1bIjZ0aCBQZXJpb2QiXSxlLmV4cG9ydHMuQURSX0JfaW5wdXQ9WyJBRFJfQiJdLGUuZXhwb3J0c1siQURYIFNtb290aGluZ19pbnB1dCJdPVsiQURYIFNtb290aGluZyJdLGUuZXhwb3J0c1siQURYIHNtb290aGluZ19pbnB1dCJdPVsiQURYIHNtb290aGluZyJdLGUuZXhwb3J0cy5BRFhfaW5wdXQ9WyJBRFgiXSxlLmV4cG9ydHNbIkFUUiBDb2VmZmljaWVudCAoeClfaW5wdXQiXT1bIkFUUiBDb2VmZmljaWVudCAoeCkiXSxlLmV4cG9ydHNbIkFUUiBMZW5ndGggKHApX2lucHV0Il09WyJBVFIgTGVuZ3RoIChwKSJdLGUuZXhwb3J0c1siQVRSIExlbmd0aF9pbnB1dCJdPVsiQVRSIExlbmd0aCJdLGUuZXhwb3J0c1siQVRSIE11bHRfaW5wdXQiXT1bIkFUUiBNdWx0Il0sZS5leHBvcnRzWyJBVFIgTXVsdGlwbGllcl9pbnB1dCJdPVsiQVRSIE11bHRpcGxpZXIiXSxlLmV4cG9ydHNbIkFUUiBsZW5ndGhfaW5wdXQiXT1bIkFUUiBsZW5ndGgiXSxlLmV4cG9ydHNbIkFUUih7YXRyVmFsdWV9KV9pbnB1dCJdPVsiQVRSKHthdHJWYWx1ZX0pIl0sZS5leHBvcnRzLkFUUl9pbnB1dD1bIkFUUiJdLGUuZXhwb3J0cy5BYnNvbHV0ZV9pbnB1dD1bIkFic29sdXRlIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX2lucHV0Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBZGRpdGlvbmFsIHNldHRpbmdzX2lucHV0Il09WyJBZGRpdGlvbmFsIHNldHRpbmdzIl0sZS5leHBvcnRzWyJBZGp1c3QgVW5jb25maXJtZWRfaW5wdXQiXT1bIkFkanVzdCBVbmNvbmZpcm1lZCJdLAplLmV4cG9ydHNbIkFsbCBpdGVtc19jb21ib2JveF9pbnB1dCJdPVsiQWxsIGl0ZW1zIl0sZS5leHBvcnRzLkFsbF9pbnB1dD1bIkFsbCJdLGUuZXhwb3J0c1siQW5jaG9yIFBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIFBlcmlvZCJdLGUuZXhwb3J0c1siQW5jaG9yIFRpbWVmcmFtZV9pbnB1dCJdPVsiQW5jaG9yIFRpbWVmcmFtZSJdLGUuZXhwb3J0c1siQW5jaG9yIHBlcmlvZF9pbnB1dCJdPVsiQW5jaG9yIHBlcmlvZCJdLGUuZXhwb3J0c1siQW5vdGhlciBzeW1ib2xfaW5wdXQiXT1bIkFub3RoZXIgc3ltYm9sIl0sZS5leHBvcnRzWyJBcm9vbiBEb3duX2lucHV0Il09WyJBcm9vbiBEb3duIl0sZS5leHBvcnRzWyJBcm9vbiBVcF9pbnB1dCJdPVsiQXJvb24gVXAiXSxlLmV4cG9ydHNbIkFycm93IChib3RoKV9pbnB1dCJdPVsiQXJyb3cgKGJvdGgpIl0sZS5leHBvcnRzWyJBcnJvdyAobGVmdClfaW5wdXQiXT1bIkFycm93IChsZWZ0KSJdLGUuZXhwb3J0c1siQXJyb3cgKHJpZ2h0KV9pbnB1dCJdPVsiQXJyb3cgKHJpZ2h0KSJdLGUuZXhwb3J0cy5BdXRvVGltZWZyYW1lX2lucHV0PVsiQXV0b1RpbWVmcmFtZSJdLGUuZXhwb3J0cy5BdXRvX2lucHV0PVsiQXV0byJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX2lucHV0Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHMuQXZlcmFnZV9pbnB1dD1bIkF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2luZyBQZXJpb2RzX2lucHV0Il09WyJBdmVyYWdpbmcgUGVyaW9kcyJdLGUuZXhwb3J0c1siQXdhaXRpbmcgYW5kIFJlYWNoZWRfaW5wdXQiXT1bIkF3YWl0aW5nIGFuZCBSZWFjaGVkIl0sZS5leHBvcnRzWyJCQiBTdGREZXZfaW5wdXQiXT1bIkJCIFN0ZERldiJdLGUuZXhwb3J0cy5CYWNrX2lucHV0PVsiQmFjayJdLGUuZXhwb3J0c1siQmFja2dyb3VuZCBUcmFuc3BhcmVuY3lfaW5wdXQiXT1bIkJhY2tncm91bmQgVHJhbnNwYXJlbmN5Il0sZS5leHBvcnRzLkJhY2tncm91bmRfaW5wdXQ9WyJCYWNrZ3JvdW5kIl0sZS5leHBvcnRzWyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJCYW5kcyBDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMxX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMxIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMyX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMyIl0sZS5leHBvcnRzWyJCYW5kcyBNdWx0aXBsaWVyICMzX2lucHV0Il09WyJCYW5kcyBNdWx0aXBsaWVyICMzIl0sZS5leHBvcnRzWyJCYW5kcyBTZXR0aW5nc19pbnB1dCJdPVsiQmFuZHMgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkJhbmRzIFN0eWxlX2lucHV0Il09WyJCYW5kcyBTdHlsZSJdLGUuZXhwb3J0c1siQmFuZHMgc3R5bGVfaW5wdXQiXT1bIkJhbmRzIHN0eWxlIl0sZS5leHBvcnRzLkJhcl9pbnB1dD1bIkJhciJdLGUuZXhwb3J0c1siQmFycyBCYWNrX2lucHV0Il09WyJCYXJzIEJhY2siXSxlLmV4cG9ydHNbIkJhcnMgdG8gQnJlYWtvdXRfaW5wdXQiXT1bIkJhcnMgdG8gQnJlYWtvdXQiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBMZW5ndGhfaW5wdXQiXT1bIkJhc2UgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkJhc2UgTGluZSBQZXJpb2RzX2lucHV0Il09WyJCYXNlIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQmFzZSBMaW5lX2lucHV0Il09WyJCYXNlIExpbmUiXSxlLmV4cG9ydHNbIkJhc2lzIE1BIFR5cGVfaW5wdXQiXT1bIkJhc2lzIE1BIFR5cGUiXSxlLmV4cG9ydHMuQmFzaXNfaW5wdXQ9WyJCYXNpcyJdLGUuZXhwb3J0c1siQmVhcmlzaCBDb2xvcl9pbnB1dCJdPVsiQmVhcmlzaCBDb2xvciJdLGUuZXhwb3J0c1siQmVhcmlzaCBGbGFnX2lucHV0Il09WyJCZWFyaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJlYXJpc2ggUGVubmFudF9pbnB1dCJdPVsiQmVhcmlzaCBQZW5uYW50Il0sZS5leHBvcnRzLkJpeWVhcmx5X2lucHV0PVsiQml5ZWFybHkiXSxlLmV4cG9ydHNbIkJsb2NrIFNpemVfaW5wdXQiXT1bIkJsb2NrIFNpemUiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyAlQl9pbnB1dCJdPVsiQm9sbGluZ2VyIEJhbmRzICVCIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgV2lkdGhfaW5wdXQiXT1bIkJvbGxpbmdlciBCYW5kcyBXaWR0aCJdLGUuZXhwb3J0c1siQm9yZGVyIGFuZCBmaWxsIGNvbG9yc19pbnB1dCJdPVsiQm9yZGVyIGFuZCBmaWxsIGNvbG9ycyJdLGUuZXhwb3J0cy5Cb3JkZXJzX2lucHV0PVsiQm9yZGVycyJdLGUuZXhwb3J0cy5Cb3RoX2lucHV0PVsiQm90aCJdLGUuZXhwb3J0cy5Cb3R0b21zX2lucHV0PVsiQm90dG9tcyJdLGUuZXhwb3J0c1siQm94IHNpemUgYXNzaWdubWVudCBtZXRob2RfaW5wdXQiXT1bIkJveCBzaXplIGFzc2lnbm1lbnQgbWV0aG9kIl0sZS5leHBvcnRzWyJCb3ggc2l6ZV9pbnB1dCJdPVsiQm94IHNpemUiXSxlLmV4cG9ydHMuQm94ZXNfaW5wdXQ9WyJCb3hlcyJdLGUuZXhwb3J0c1siQnVsbGlzaCBDb2xvcl9pbnB1dCJdPVsiQnVsbGlzaCBDb2xvciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnX2lucHV0Il09WyJCdWxsaXNoIEZsYWciXSxlLmV4cG9ydHNbIkJ1bGxpc2ggUGVubmFudF9pbnB1dCJdPVsiQnVsbGlzaCBQZW5uYW50Il0sZS5leHBvcnRzWyJDQ0kgMTQgTGVuZ3RoX2lucHV0Il09WyJDQ0kgMTQgTGVuZ3RoIl0sZS5leHBvcnRzWyJDQ0kgVHVyYm8gTGVuZ3RoX2lucHV0Il09WyJDQ0kgVHVyYm8gTGVuZ3RoIl0sZS5leHBvcnRzLkNDSV9pbnB1dD1bIkNDSSJdLGUuZXhwb3J0cy5DSE9QX2lucHV0PVsiQ0hPUCJdLGUuZXhwb3J0c1siQ2FsY3VsYXRlIERpdmVyZ2VuY2VfaW5wdXQiXT1bIkNhbGN1bGF0ZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJDYWxjdWxhdGlvbiBNb2RlX2lucHV0Il09WyJDYWxjdWxhdGlvbiBNb2RlIl0sZS5leHBvcnRzLkNhbGN1bGF0aW9uX2lucHV0PVsiQ2FsY3VsYXRpb24iXSxlLmV4cG9ydHMuQ2FtYXJpbGxhX2lucHV0PVsiQ2FtYXJpbGxhIl0sZS5leHBvcnRzLkNhbmNlbF9pbnB1dD1bIkNhbmNlbCJdLGUuZXhwb3J0cy5DYW5kbGVzX2lucHV0PVsiQ2FuZGxlcyJdLAplLmV4cG9ydHMuQ2VudGVyX2lucHV0PVsiQ2VudGVyIl0sZS5leHBvcnRzLkNlbnRlcmVkX2lucHV0PVsiQ2VudGVyZWQiXSxlLmV4cG9ydHMuQ2VudHVyeV9pbnB1dD1bIkNlbnR1cnkiXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9pbnB1dCJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFuZGUgTU9faW5wdXQiXT1bIkNoYW5kZSBNTyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBTZXR0aW5nc19pbnB1dCJdPVsiQ2hhbm5lbCBTZXR0aW5ncyJdLGUuZXhwb3J0c1siQ2hhbm5lbCBXaWR0aCBSYXRpbyBTdGFydC9FbmRfaW5wdXQiXT1bIkNoYW5uZWwgV2lkdGggUmF0aW8gU3RhcnQvRW5kIl0sZS5leHBvcnRzLkNsYXNzaWNfaW5wdXQ9WyJDbGFzc2ljIl0sZS5leHBvcnRzWyJDbG9zZSBHYXBzIFBhcnRpYWxseV9pbnB1dCJdPVsiQ2xvc2UgR2FwcyBQYXJ0aWFsbHkiXSxlLmV4cG9ydHMuQ2xvc2VfaW5wdXQ9WyJDbG9zZSJdLGUuZXhwb3J0c1siQ29sb3IgMF9pbnB1dCJdPVsiQ29sb3IgMCJdLGUuZXhwb3J0c1siQ29sb3IgMV9pbnB1dCJdPVsiQ29sb3IgMSJdLGUuZXhwb3J0c1siQ29sb3IgMl9pbnB1dCJdPVsiQ29sb3IgMiJdLGUuZXhwb3J0c1siQ29sb3IgM19pbnB1dCJdPVsiQ29sb3IgMyJdLGUuZXhwb3J0c1siQ29sb3IgNF9pbnB1dCJdPVsiQ29sb3IgNCJdLGUuZXhwb3J0c1siQ29sb3IgNV9pbnB1dCJdPVsiQ29sb3IgNSJdLGUuZXhwb3J0c1siQ29sb3IgNl9pbnB1dCJdPVsiQ29sb3IgNiJdLGUuZXhwb3J0c1siQ29sb3IgN19pbnB1dCJdPVsiQ29sb3IgNyJdLGUuZXhwb3J0c1siQ29sb3IgOF9pbnB1dCJdPVsiQ29sb3IgOCJdLGUuZXhwb3J0c1siQ29sb3IgU2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIFNldHRpbmdzIl0sZS5leHBvcnRzWyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlX2lucHV0Il09WyJDb2xvciBiYXJzIGJhc2VkIG9uIHByZXZpb3VzIGNsb3NlIl0sZS5leHBvcnRzWyJDb2xvciBiYXNlZCBvbiBwcmV2aW91cyBjbG9zZV9pbnB1dCJdPVsiQ29sb3IgYmFzZWQgb24gcHJldmlvdXMgY2xvc2UiXSxlLmV4cG9ydHNbIkNvbG9yIGludGVuc2l0eSBjdXRvZmYgKCUpX2lucHV0Il09WyJDb2xvciBpbnRlbnNpdHkgY3V0b2ZmICglKSJdLGUuZXhwb3J0c1siQ29sb3Igc2V0dGluZ3NfaW5wdXQiXT1bIkNvbG9yIHNldHRpbmdzIl0sZS5leHBvcnRzWyJDb25maXJtIGJhcnNfaW5wdXQiXT1bIkNvbmZpcm0gYmFycyJdLGUuZXhwb3J0c1siQ29uc2VjdXRpdmUgYmFycyBkb3duX2lucHV0Il09WyJDb25zZWN1dGl2ZSBiYXJzIGRvd24iXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIGJhcnMgdXBfaW5wdXQiXT1bIkNvbnNlY3V0aXZlIGJhcnMgdXAiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBMZW5ndGhfaW5wdXQiXT1bIkNvbnZlcnNpb24gTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIkNvbnZlcnNpb24gTGluZSBQZXJpb2RzX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUgUGVyaW9kcyJdLGUuZXhwb3J0c1siQ29udmVyc2lvbiBMaW5lX2lucHV0Il09WyJDb252ZXJzaW9uIExpbmUiXSxlLmV4cG9ydHMuQ29ycmVjdGl2ZV9pbnB1dD1bIkNvcnJlY3RpdmUiXSxlLmV4cG9ydHMuQ29ycmVsYXRpb25faW5wdXQ9WyJDb3JyZWxhdGlvbiJdLGUuZXhwb3J0cy5Db3VudF9pbnB1dD1bIkNvdW50Il0sZS5leHBvcnRzLkNyb3NzZXNfaW5wdXQ9WyJDcm9zc2VzIl0sZS5leHBvcnRzLkN1bXVsYXRpdmVfaW5wdXQ9WyJDdW11bGF0aXZlIl0sZS5leHBvcnRzWyJDdXAgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJDdXAgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkN1c3RvbSBzZXNzaW9uX2lucHV0Il09WyJDdXN0b20gc2Vzc2lvbiJdLGUuZXhwb3J0cy5DdXN0b21faW5wdXQ9WyJDdXN0b20iXSxlLmV4cG9ydHMuREVNQV9pbnB1dD1bIkRFTUEiXSxlLmV4cG9ydHNbIkRJIExlbmd0aF9pbnB1dCJdPVsiREkgTGVuZ3RoIl0sZS5leHBvcnRzLkRNX2lucHV0PVsiRE0iXSxlLmV4cG9ydHMuRFBPX2lucHV0PVsiRFBPIl0sZS5leHBvcnRzLkRfaW5wdXQ9WyJEIl0sZS5leHBvcnRzLkRhaWx5X2lucHV0PVsiRGFpbHkiXSxlLmV4cG9ydHMuRGFzaGVkX2lucHV0PVsiRGFzaGVkIl0sZS5leHBvcnRzLkRheV9pbnB1dD1bIkRheSJdLGUuZXhwb3J0c1siRGF5cyBCYWNrX2lucHV0Il09WyJEYXlzIEJhY2siXSxlLmV4cG9ydHNbIkRheXMgUGVyIFllYXJfaW5wdXQiXT1bIkRheXMgUGVyIFllYXIiXSxlLmV4cG9ydHMuRGVjYWRlX2lucHV0PVsiRGVjYWRlIl0sZS5leHBvcnRzLkRlY2VubmlhbGx5X2lucHV0PVsiRGVjZW5uaWFsbHkiXSxlLmV4cG9ydHMuRGVmYXVsdF9pbnB1dD1bIkRlZmF1bHQiXSxlLmV4cG9ydHMuRGVsdGFfaW5wdXQ9WyJEZWx0YSJdLGUuZXhwb3J0cy5EZXB0aF9pbnB1dD1bIkRlcHRoIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9pbnB1dCJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRldmVsb3BpbmcgUG9jX2lucHV0Il09WyJEZXZlbG9waW5nIFBvYyJdLGUuZXhwb3J0c1siRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiRGV2aWF0aW9uICglKSJdLGUuZXhwb3J0cy5EZXZpYXRpb25faW5wdXQ9WyJEZXZpYXRpb24iXSxlLmV4cG9ydHNbIkRpc3BsYXkgU2V0dGluZ3NfaW5wdXQiXT1bIkRpc3BsYXkgU2V0dGluZ3MiXSxlLmV4cG9ydHNbIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWVfaW5wdXQiXT1bIkRpc3BsYXkgY3VtdWxhdGl2ZSB2b2x1bWUiXSxlLmV4cG9ydHNbIkRpc3BsYXkgcmV2ZXJzYWwgcHJpY2UgY2hhbmdlX2lucHV0Il09WyJEaXNwbGF5IHJldmVyc2FsIHByaWNlIGNoYW5nZSJdLGUuZXhwb3J0c1siRGlzcGxheSByZXZlcnNhbCBwcmljZV9pbnB1dCJdPVsiRGlzcGxheSByZXZlcnNhbCBwcmljZSJdLGUuZXhwb3J0c1siRGlzcGxheWVkIG5hbWVfaW5wdXQiXT1bIkRpc3BsYXllZCBuYW1lIl0sCmUuZXhwb3J0cy5EaXZpZGVuZHNfaW5wdXQ9WyJEaXZpZGVuZHMiXSxlLmV4cG9ydHMuRGl2aXNvcl9pbnB1dD1bIkRpdmlzb3IiXSxlLmV4cG9ydHMuRG90dGVkX2lucHV0PVsiRG90dGVkIl0sZS5leHBvcnRzWyJEb3VibGUgQm90dG9tX2lucHV0Il09WyJEb3VibGUgQm90dG9tIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wX2lucHV0Il09WyJEb3VibGUgVG9wIl0sZS5leHBvcnRzWyJEb3duIEdhcHNfaW5wdXQiXT1bIkRvd24gR2FwcyJdLGUuZXhwb3J0c1siRG93biBWb2x1bWVfaW5wdXQiXT1bIkRvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJEb3duIGJhcnNfaW5wdXQiXT1bIkRvd24gYmFycyJdLGUuZXhwb3J0c1siRG93biBjb2xvcl9pbnB1dCJdPVsiRG93biBjb2xvciJdLGUuZXhwb3J0c1siRG93biBmcmFjdGFsc19pbnB1dCJdPVsiRG93biBmcmFjdGFscyJdLGUuZXhwb3J0c1siRHJhdyBzZXNzaW9uIG9wZW4gYW5kIGNsb3NlIGxpbmVzX2lucHV0Il09WyJEcmF3IHNlc3Npb24gb3BlbiBhbmQgY2xvc2UgbGluZXMiXSxlLmV4cG9ydHNbIkVNQSBMZW5ndGhfaW5wdXQiXT1bIkVNQSBMZW5ndGgiXSxlLmV4cG9ydHMuRU1BX2lucHV0PVsiRU1BIl0sZS5leHBvcnRzLkVPTV9pbnB1dD1bIkVPTSJdLGUuZXhwb3J0c1siRWFjaCAocHJlLW1hcmtldCwgbWFya2V0LCBwb3N0LW1hcmtldClfaW5wdXQiXT1bIkVhY2ggKHByZS1tYXJrZXQsIG1hcmtldCwgcG9zdC1tYXJrZXQpIl0sZS5leHBvcnRzLkVhcm5pbmdzX2lucHV0PVsiRWFybmluZ3MiXSxlLmV4cG9ydHNbIkVsZGVyJ3MgRm9yY2UgSW5kZXhfaW5wdXQiXT1bIkVsZGVyJ3MgRm9yY2UgSW5kZXgiXSxlLmV4cG9ydHNbIkVxdWFsaXR5IExpbmVfaW5wdXQiXT1bIkVxdWFsaXR5IExpbmUiXSxlLmV4cG9ydHMuRXhjaGFuZ2VfaW5wdXQ9WyJFeGNoYW5nZSJdLGUuZXhwb3J0cy5FeHBvbmVudGlhbF9pbnB1dD1bIkV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJFeHRlbmQgTGluZXMgTGVmdF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIExlZnQiXSxlLmV4cG9ydHNbIkV4dGVuZCBMaW5lcyBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIExpbmVzIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUE9DIFJpZ2h0X2lucHV0Il09WyJFeHRlbmQgUE9DIFJpZ2h0Il0sZS5leHBvcnRzWyJFeHRlbmQgUmlnaHRfaW5wdXQiXT1bIkV4dGVuZCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBSCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBSCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIFZBTCBSaWdodF9pbnB1dCJdPVsiRXh0ZW5kIFZBTCBSaWdodCJdLGUuZXhwb3J0c1siRXh0ZW5kIGxlZnRfaW5wdXQiXT1bIkV4dGVuZCBsZWZ0Il0sZS5leHBvcnRzWyJFeHRlbmQgdG8gbGFzdCBiYXJfaW5wdXQiXT1bIkV4dGVuZCB0byBsYXN0IGJhciJdLGUuZXhwb3J0cy5GYWN0b3JfaW5wdXQ9WyJGYWN0b3IiXSxlLmV4cG9ydHNbIkZhbGwgQm9keV9pbnB1dCJdPVsiRmFsbCBCb2R5Il0sZS5leHBvcnRzWyJGYWxsaW5nIFdlZGdlX2lucHV0Il09WyJGYWxsaW5nIFdlZGdlIl0sZS5leHBvcnRzLkZhbGxpbmdfaW5wdXQ9WyJGYWxsaW5nIl0sZS5leHBvcnRzWyJGYXN0IExlbmd0aF9pbnB1dCJdPVsiRmFzdCBMZW5ndGgiXSxlLmV4cG9ydHNbIkZhc3QgTUEgUGVyaW9kX2lucHV0Il09WyJGYXN0IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siRmFzdCBsZW5ndGhfaW5wdXQiXT1bIkZhc3QgbGVuZ3RoIl0sZS5leHBvcnRzLkZpYm9uYWNjaV9pbnB1dD1bIkZpYm9uYWNjaSJdLGUuZXhwb3J0cy5GaWxsX2lucHV0PVsiRmlsbCJdLGUuZXhwb3J0c1siRmlyc3QgU2Vzc2lvbl9pbnB1dCJdPVsiRmlyc3QgU2Vzc2lvbiJdLGUuZXhwb3J0cy5GaXNoZXJfaW5wdXQ9WyJGaXNoZXIiXSxlLmV4cG9ydHMuRmxhZ19pbnB1dD1bIkZsYWciXSxlLmV4cG9ydHMuRnJvbV9pbnB1dD1bIkZyb20iXSxlLmV4cG9ydHNbIkdyYXBoaWMgb2JqZWN0c19pbnB1dCJdPVsiR3JhcGhpYyBvYmplY3RzIl0sZS5leHBvcnRzLkdyb3dpbmdfaW5wdXQ9WyJHcm93aW5nIl0sZS5leHBvcnRzWyJHcm93dGggQm9keV9pbnB1dCJdPVsiR3Jvd3RoIEJvZHkiXSxlLmV4cG9ydHNbIkhMQyBiYXJzX2lucHV0Il09WyJITEMgYmFycyJdLGUuZXhwb3J0cy5IVl9pbnB1dD1bIkhWIl0sZS5leHBvcnRzWyJIYW5kbGUgTWF4IFJvbGxiYWNrX2lucHV0Il09WyJIYW5kbGUgTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnNfaW5wdXQiXT1bIkhlYWQgYW5kIFNob3VsZGVycyJdLGUuZXhwb3J0cy5IZWFkZXJzX2lucHV0PVsiSGVhZGVycyJdLGUuZXhwb3J0c1siSGVhdG1hcCBzZXR0aW5nc19pbnB1dCJdPVsiSGVhdG1hcCBzZXR0aW5ncyJdLGUuZXhwb3J0c1siSGVpa2luIEFzaGkgUmFuZ2VfaW5wdXQiXT1bIkhlaWtpbiBBc2hpIFJhbmdlIl0sZS5leHBvcnRzWyJIaWRlIFZXQVAgb24gMUQgb3IgQWJvdmVfaW5wdXQiXT1bIkhpZGUgVldBUCBvbiAxRCBvciBBYm92ZSJdLGUuZXhwb3J0c1siSGlnaC9Mb3cgUmFuZ2VfaW5wdXQiXT1bIkhpZ2gvTG93IFJhbmdlIl0sZS5leHBvcnRzLkhpZ2hlcl9pbnB1dD1bIkhpZ2hlciJdLGUuZXhwb3J0c1siSGlnaGVzdCBFeHBhbnNpb24gTGVuZ3RoX2lucHV0Il09WyJIaWdoZXN0IEV4cGFuc2lvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkhpZ2hlc3QgSGlnaF9pbnB1dCJdPVsiSGlnaGVzdCBIaWdoIl0sZS5leHBvcnRzWyJIaWdoZXN0IFZvbHVtZV9pbnB1dCJdPVsiSGlnaGVzdCBWb2x1bWUiXSxlLmV4cG9ydHNbIkhpc3RvZ3JhbSBCb3hfaW5wdXQiXT1bIkhpc3RvZ3JhbSBCb3giXSxlLmV4cG9ydHMuSGlzdG9ncmFtX2lucHV0PVsiSGlzdG9ncmFtIl0sZS5leHBvcnRzLkhvdXJfaW5wdXQ9WyJIb3VyIl0sZS5leHBvcnRzWyJIdWxsIE1BX2lucHV0Il09WyJIdWxsIE1BIl0sZS5leHBvcnRzWyJJZ25vcmVkIG1vbnRoc19pbnB1dCJdPVsiSWdub3JlZCBtb250aHMiXSxlLmV4cG9ydHNbIkluIFByb2dyZXNzX2lucHV0Il09WyJJbiBQcm9ncmVzcyJdLAplLmV4cG9ydHNbIkluY2x1ZGUgQ2hhcnQgU3ltYm9sX2lucHV0Il09WyJJbmNsdWRlIENoYXJ0IFN5bWJvbCJdLGUuZXhwb3J0cy5JbmNyZW1lbnRfaW5wdXQ9WyJJbmNyZW1lbnQiXSxlLmV4cG9ydHNbIkluZGljYXRvciBUaW1lZnJhbWVfaW5wdXQiXT1bIkluZGljYXRvciBUaW1lZnJhbWUiXSxlLmV4cG9ydHMuSW5kaWNhdG9yX2lucHV0PVsiSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJJbnB1dCB2YWx1ZXNfaW5wdXQiXT1bIklucHV0IHZhbHVlcyJdLGUuZXhwb3J0cy5JbnNpZGVfaW5wdXQ9WyJJbnNpZGUiXSxlLmV4cG9ydHNbIkluc3RydW1lbnQgMV9pbnB1dCJdPVsiSW5zdHJ1bWVudCAxIl0sZS5leHBvcnRzWyJJbnN0cnVtZW50IDJfaW5wdXQiXT1bIkluc3RydW1lbnQgMiJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1heGltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1heGltYSJdLGUuZXhwb3J0c1siSW50ZXJtZWRpYXRlIE1pbmltYV9pbnB1dCJdPVsiSW50ZXJtZWRpYXRlIE1pbmltYSJdLGUuZXhwb3J0c1siSW52ZXJ0IFBhdHRlcm5faW5wdXQiXT1bIkludmVydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZV9pbnB1dCJdPVsiSW52ZXJ0ZWQgQ3VwIGFuZCBIYW5kbGUiXSxlLmV4cG9ydHNbIkludmVydGVkIEhlYWQgYW5kIFNob3VsZGVyc19pbnB1dCJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgMSBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDIgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgMiBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDMgbGVuZ3RoIl0sZS5leHBvcnRzWyJJbnZlc3RvciBFTUEgNCBsZW5ndGhfaW5wdXQiXT1bIkludmVzdG9yIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siSW52ZXN0b3IgRU1BIDUgbGVuZ3RoX2lucHV0Il09WyJJbnZlc3RvciBFTUEgNSBsZW5ndGgiXSxlLmV4cG9ydHNbIkludmVzdG9yIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiSW52ZXN0b3IgRU1BIDYgbGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgTGVuZ3RoX2lucHV0Il09WyJKYXcgTGVuZ3RoIl0sZS5leHBvcnRzWyJKYXcgT2Zmc2V0X2lucHV0Il09WyJKYXcgT2Zmc2V0Il0sZS5leHBvcnRzLkphd19pbnB1dD1bIkphdyJdLGUuZXhwb3J0cy5LUGVyaW9kX2lucHV0PVsiS1BlcmlvZCJdLGUuZXhwb3J0cy5LU1RfaW5wdXQ9WyJLU1QiXSxlLmV4cG9ydHMuS19pbnB1dD1bIksiXSxlLmV4cG9ydHNbIkxFTkdUSCBMRUZUIC8gUklHSFRfaW5wdXQiXT1bIkxFTkdUSCBMRUZUIC8gUklHSFQiXSxlLmV4cG9ydHNbIkxhYmVscyBQb3NpdGlvbl9pbnB1dCJdPVsiTGFiZWxzIFBvc2l0aW9uIl0sZS5leHBvcnRzWyJMYWJlbHMgb24gcHJpY2Ugc2NhbGVfaW5wdXQiXT1bIkxhYmVscyBvbiBwcmljZSBzY2FsZSJdLGUuZXhwb3J0cy5MYWJlbHNfaW5wdXQ9WyJMYWJlbHMiXSxlLmV4cG9ydHNbIkxhZ2dpbmcgU3BhbiBQZXJpb2RzX2lucHV0Il09WyJMYWdnaW5nIFNwYW4gUGVyaW9kcyJdLGUuZXhwb3J0c1siTGFnZ2luZyBTcGFuX2lucHV0Il09WyJMYWdnaW5nIFNwYW4iXSxlLmV4cG9ydHMuTGFyZ2VfaW5wdXQ9WyJMYXJnZSJdLGUuZXhwb3J0c1siTGFzdCBBd2FpdGluZ19pbnB1dCJdPVsiTGFzdCBBd2FpdGluZyJdLGUuZXhwb3J0c1siTGVhZGluZyBTaGlmdCBQZXJpb2RzX2lucHV0Il09WyJMZWFkaW5nIFNoaWZ0IFBlcmlvZHMiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBBX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQSJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIEIgTGVuZ3RoX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxlYWRpbmcgU3BhbiBCX2lucHV0Il09WyJMZWFkaW5nIFNwYW4gQiJdLGUuZXhwb3J0c1siTGVhZGluZyBTcGFuIFBlcmlvZHNfaW5wdXQiXT1bIkxlYWRpbmcgU3BhbiBQZXJpb2RzIl0sZS5leHBvcnRzLkxlZnRfaW5wdXQ9WyJMZWZ0Il0sZS5leHBvcnRzWyJMZW5ndGggRU1BX2lucHV0Il09WyJMZW5ndGggRU1BIl0sZS5leHBvcnRzWyJMZW5ndGggTUFfaW5wdXQiXT1bIkxlbmd0aCBNQSJdLGUuZXhwb3J0c1siTGVuZ3RoIHR5cGVfaW5wdXQiXT1bIkxlbmd0aCB0eXBlIl0sZS5leHBvcnRzLkxlbmd0aDFfaW5wdXQ9WyJMZW5ndGgxIl0sZS5leHBvcnRzLkxlbmd0aDJfaW5wdXQ9WyJMZW5ndGgyIl0sZS5leHBvcnRzLkxlbmd0aDNfaW5wdXQ9WyJMZW5ndGgzIl0sZS5leHBvcnRzLkxlbmd0aF9pbnB1dD1bIkxlbmd0aCJdLGUuZXhwb3J0cy5MZXZlbF9pbnB1dD1bIkxldmVsIl0sZS5leHBvcnRzWyJMZXZlbHMgRm9ybWF0X2lucHV0Il09WyJMZXZlbHMgRm9ybWF0Il0sZS5leHBvcnRzWyJMaW1pdCBNYXggR2FwIFRyYWlsIExlbmd0aCAoYmFycylfaW5wdXQiXT1bIkxpbWl0IE1heCBHYXAgVHJhaWwgTGVuZ3RoIChiYXJzKSJdLGUuZXhwb3J0cy5MaW1pdF9pbnB1dD1bIkxpbWl0Il0sZS5leHBvcnRzWyJMaW5lIFNpemVfaW5wdXQiXT1bIkxpbmUgU2l6ZSJdLGUuZXhwb3J0c1siTGluZSBXaWR0aF9pbnB1dCJdPVsiTGluZSBXaWR0aCJdLGUuZXhwb3J0c1siTGluZSBjb2xvcl9pbnB1dCJdPVsiTGluZSBjb2xvciJdLGUuZXhwb3J0c1siTGluZSBmaWxsc19pbnB1dCJdPVsiTGluZSBmaWxscyJdLGUuZXhwb3J0cy5MaW5lX2lucHV0PVsiTGluZSJdLGUuZXhwb3J0cy5MaW5lc19pbnB1dD1bIkxpbmVzIl0sZS5leHBvcnRzWyJMaXBzIExlbmd0aF9pbnB1dCJdPVsiTGlwcyBMZW5ndGgiXSxlLmV4cG9ydHNbIkxpcHMgT2Zmc2V0X2lucHV0Il09WyJMaXBzIE9mZnNldCJdLGUuZXhwb3J0cy5MaXBzX2lucHV0PVsiTGlwcyJdLGUuZXhwb3J0c1siTG9uZyBCQiBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBMZW5ndGgiXSwKZS5leHBvcnRzWyJMb25nIE1BIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvbmcgUkNJIExlbmd0aF9pbnB1dCJdPVsiTG9uZyBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIFJvQyBMZW5ndGhfaW5wdXQiXT1bIkxvbmcgUm9DIExlbmd0aCJdLGUuZXhwb3J0c1siTG9uZyBsZW5ndGhfaW5wdXQiXT1bIkxvbmcgbGVuZ3RoIl0sZS5leHBvcnRzWyJMb25nIHBlcmlvZF9pbnB1dCJdPVsiTG9uZyBwZXJpb2QiXSxlLmV4cG9ydHMuTG9uZ19pbnB1dD1bIkxvbmciXSxlLmV4cG9ydHNbIkxvd2VyIEJhbmRfaW5wdXQiXT1bIkxvd2VyIEJhbmQiXSxlLmV4cG9ydHNbIkxvd2VyIERldmlhdGlvbl9pbnB1dCJdPVsiTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJMb3dlciBQZXJjZW50YWdlX2lucHV0Il09WyJMb3dlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLkxvd2VyTGltaXRfaW5wdXQ9WyJMb3dlckxpbWl0Il0sZS5leHBvcnRzLkxvd2VyX2lucHV0PVsiTG93ZXIiXSxlLmV4cG9ydHNbIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGhfaW5wdXQiXT1bIkxvd2VzdCBDb250cmFjdGlvbiBMZW5ndGgiXSxlLmV4cG9ydHNbIkxvd2VzdCBMb3dfaW5wdXQiXT1bIkxvd2VzdCBMb3ciXSxlLmV4cG9ydHNbIk1BICMxX2lucHV0Il09WyJNQSAjMSJdLGUuZXhwb3J0c1siTUEgIzJfaW5wdXQiXT1bIk1BICMyIl0sZS5leHBvcnRzWyJNQSAjM19pbnB1dCJdPVsiTUEgIzMiXSxlLmV4cG9ydHNbIk1BICM0X2lucHV0Il09WyJNQSAjNCJdLGUuZXhwb3J0c1siTUEgTGVuZ3RoX2lucHV0Il09WyJNQSBMZW5ndGgiXSxlLmV4cG9ydHMuTUFDRF9pbnB1dD1bIk1BQ0QiXSxlLmV4cG9ydHMuTUFfaW5wdXQ9WyJNQSJdLGUuZXhwb3J0cy5NQXNfaW5wdXQ9WyJNQXMiXSxlLmV4cG9ydHMuTUZfaW5wdXQ9WyJNRiJdLGUuZXhwb3J0cy5NTV9tb250aF9pbnB1dD1bIk1NIl0sZS5leHBvcnRzLk1PTV9pbnB1dD1bIk1PTSJdLGUuZXhwb3J0c1siTWFpbiBXYXZlc19pbnB1dCJdPVsiTWFpbiBXYXZlcyJdLGUuZXhwb3J0c1siTWFpbiBjaGFydCBzeW1ib2xfaW5wdXQiXT1bIk1haW4gY2hhcnQgc3ltYm9sIl0sZS5leHBvcnRzLk1hbnVhbF9pbnB1dD1bIk1hbnVhbCJdLGUuZXhwb3J0c1siTWFya2V0IENsb3NlZCBQZXJjZW50YWdlX2lucHV0Il09WyJNYXJrZXQgQ2xvc2VkIFBlcmNlbnRhZ2UiXSxlLmV4cG9ydHNbIk1hcmtldCBvbmx5X2lucHV0Il09WyJNYXJrZXQgb25seSJdLGUuZXhwb3J0c1siTWF4IE51bWJlciBvZiBHYXBzX2lucHV0Il09WyJNYXggTnVtYmVyIG9mIEdhcHMiXSxlLmV4cG9ydHNbIk1heCBSb2xsYmFja19pbnB1dCJdPVsiTWF4IFJvbGxiYWNrIl0sZS5leHBvcnRzWyJNYXggaW50cmFkYXkgZmlsbGVkIG9yZGVyc19pbnB1dCJdPVsiTWF4IGludHJhZGF5IGZpbGxlZCBvcmRlcnMiXSxlLmV4cG9ydHNbIk1heCBpbnRyYWRheSBsb3NzICglKV9pbnB1dCJdPVsiTWF4IGludHJhZGF5IGxvc3MgKCUpIl0sZS5leHBvcnRzWyJNYXggb2YgTG9va2JhY2sgUmFuZ2VfaW5wdXQiXT1bIk1heCBvZiBMb29rYmFjayBSYW5nZSJdLGUuZXhwb3J0c1siTWF4IHZhbHVlX2lucHV0Il09WyJNYXggdmFsdWUiXSxlLmV4cG9ydHNbIk1lZGlhbiBMZW5ndGhfaW5wdXQiXT1bIk1lZGlhbiBMZW5ndGgiXSxlLmV4cG9ydHNbIk1lZGlhbiBTb3VyY2VfaW5wdXQiXT1bIk1lZGlhbiBTb3VyY2UiXSxlLmV4cG9ydHMuTWVkaWFuX2lucHV0PVsiTWVkaWFuIl0sZS5leHBvcnRzLk1ldGhvZF9pbnB1dD1bIk1ldGhvZCJdLGUuZXhwb3J0c1siTWlkZGxlIExlbmd0aF9pbnB1dCJdPVsiTWlkZGxlIExlbmd0aCJdLGUuZXhwb3J0c1siTWlkZGxlIFJDSSBMZW5ndGhfaW5wdXQiXT1bIk1pZGRsZSBSQ0kgTGVuZ3RoIl0sZS5leHBvcnRzLk1pZGRsZV9pbnB1dD1bIk1pZGRsZSJdLGUuZXhwb3J0c1siTWluIG9mIExvb2tiYWNrIFJhbmdlX2lucHV0Il09WyJNaW4gb2YgTG9va2JhY2sgUmFuZ2UiXSxlLmV4cG9ydHNbIk1pbmltYWwgRGV2aWF0aW9uICglKV9pbnB1dCJdPVsiTWluaW1hbCBEZXZpYXRpb24gKCUpIl0sZS5leHBvcnRzLk1pbmltaXplX2lucHV0PVsiTWluaW1pemUiXSxlLmV4cG9ydHMuTWludXRlX2lucHV0PVsiTWludXRlIl0sZS5leHBvcnRzWyJNb2RpZmllZCBTY2hpZmZfaW5wdXQiXT1bIk1vZGlmaWVkIFNjaGlmZiJdLGUuZXhwb3J0c1siTW9tZW50dW0gUGVyaW9kX2lucHV0Il09WyJNb21lbnR1bSBQZXJpb2QiXSxlLmV4cG9ydHMuTW9udGhfaW5wdXQ9WyJNb250aCJdLGUuZXhwb3J0cy5Nb250aGx5X2lucHV0PVsiTW9udGhseSJdLGUuZXhwb3J0cy5Nb3RpdmVfaW5wdXQ9WyJNb3RpdmUiXSxlLmV4cG9ydHMuTW92ZV9pbnB1dD1bIk1vdmUiXSxlLmV4cG9ydHNbIk11bHRpIHRpbWVmcmFtZV9pbnB1dCJdPVsiTXVsdGkgdGltZWZyYW1lIl0sZS5leHBvcnRzLk11bHRpcGxpZXJfaW5wdXQ9WyJNdWx0aXBsaWVyIl0sZS5leHBvcnRzLk5WX2lucHV0PVsiTlYiXSxlLmV4cG9ydHNbIk5lY2sgbGluZV9pbnB1dCJdPVsiTmVjayBsaW5lIl0sZS5leHBvcnRzWyJOZWdhdGl2ZSBDb2xvcl9pbnB1dCJdPVsiTmVnYXRpdmUgQ29sb3IiXSxlLmV4cG9ydHMuTm9uZV9pbnB1dD1bIk5vbmUiXSxlLmV4cG9ydHNbIk5vdCBzZWxlY3RlZF9pbnB1dCJdPVsiTm90IHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOb3RoaW5nIHNlbGVjdGVkX2NvbWJvYm94X2lucHV0Il09WyJOb3RoaW5nIHNlbGVjdGVkIl0sZS5leHBvcnRzWyJOdW1iZXIgT2YgUm93c19pbnB1dCJdPVsiTnVtYmVyIE9mIFJvd3MiXSxlLmV4cG9ydHNbIk51bWJlciBvZiBQaXZvdHMgQmFja19pbnB1dCJdPVsiTnVtYmVyIG9mIFBpdm90cyBCYWNrIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgbGluZV9pbnB1dCJdPVsiTnVtYmVyIG9mIGxpbmUiXSxlLmV4cG9ydHMuT1NDX2lucHV0PVsiT1NDIl0sZS5leHBvcnRzLk9mZnNldF9pbnB1dD1bIk9mZnNldCJdLGUuZXhwb3J0cy5PbkJhbGFuY2VWb2x1bWVfaW5wdXQ9WyJPbkJhbGFuY2VWb2x1bWUiXSwKZS5leHBvcnRzWyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nX2lucHV0Il09WyJPbmUgc3RlcCBiYWNrIGJ1aWxkaW5nIl0sZS5leHBvcnRzWyJPbmx5IEF3YWl0aW5nX2lucHV0Il09WyJPbmx5IEF3YWl0aW5nIl0sZS5leHBvcnRzLk9yaWdpbmFsX2lucHV0PVsiT3JpZ2luYWwiXSxlLmV4cG9ydHNbIk9zY2lsbGF0b3IgTUEgVHlwZV9pbnB1dCJdPVsiT3NjaWxsYXRvciBNQSBUeXBlIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JfaW5wdXQ9WyJPc2NpbGxhdG9yIl0sZS5leHBvcnRzLk9zY2lsbGF0b3JzX2lucHV0PVsiT3NjaWxsYXRvcnMiXSxlLmV4cG9ydHNbIk91dHB1dCB2YWx1ZXNfaW5wdXQiXT1bIk91dHB1dCB2YWx1ZXMiXSxlLmV4cG9ydHMuT3ZlcmJvdWdodF9pbnB1dD1bIk92ZXJib3VnaHQiXSxlLmV4cG9ydHMuT3ZlcnNvbGRfaW5wdXQ9WyJPdmVyc29sZCJdLGUuZXhwb3J0cy5QT0NfaW5wdXQ9WyJQT0MiXSxlLmV4cG9ydHMuUFZUX2lucHV0PVsiUFZUIl0sZS5leHBvcnRzLlBfaW5wdXQ9WyJQIl0sZS5leHBvcnRzWyJQYW5lIGxhYmVsc19pbnB1dCJdPVsiUGFuZSBsYWJlbHMiXSxlLmV4cG9ydHMuUGFyYWJvbGljU0FSX2lucHV0PVsiUGFyYWJvbGljU0FSIl0sZS5leHBvcnRzLlBhdHRlcm5zX2lucHV0PVsiUGF0dGVybnMiXSxlLmV4cG9ydHMuUGVubmFudF9pbnB1dD1bIlBlbm5hbnQiXSxlLmV4cG9ydHMuUGVyY2VudF9pbnB1dD1bIlBlcmNlbnQiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSlfaW5wdXQiXT1bIlBlcmNlbnRhZ2UgTFRQKHtwZXJjZW50YWdlTFRQVmFsdWV9JSkiXSxlLmV4cG9ydHNbIlBlcmNlbnRhZ2UgTFRQX2lucHV0Il09WyJQZXJjZW50YWdlIExUUCJdLGUuZXhwb3J0cy5QZXJjZW50YWdlX2lucHV0PVsiUGVyY2VudGFnZSJdLGUuZXhwb3J0cy5QZXJpb2RfaW5wdXQ9WyJQZXJpb2QiXSxlLmV4cG9ydHMuUGVyaW9kc19pbnB1dD1bIlBlcmlvZHMiXSxlLmV4cG9ydHNbIlBlcm1pc3NpYmxlIERldmlhdGlvbl9pbnB1dCJdPVsiUGVybWlzc2libGUgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJQaGFudG9tIGJhcnNfaW5wdXQiXT1bIlBoYW50b20gYmFycyJdLGUuZXhwb3J0c1siUGl2b3QgSGlnaF9pbnB1dCJdPVsiUGl2b3QgSGlnaCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgTGVmdF9pbnB1dCJdPVsiUGl2b3QgTG9va2JhY2sgTGVmdCJdLGUuZXhwb3J0c1siUGl2b3QgTG9va2JhY2sgUmlnaHRfaW5wdXQiXT1bIlBpdm90IExvb2tiYWNrIFJpZ2h0Il0sZS5leHBvcnRzWyJQaXZvdCBMb3dfaW5wdXQiXT1bIlBpdm90IExvdyJdLGUuZXhwb3J0c1siUGl2b3QgbGVnc19pbnB1dCJdPVsiUGl2b3QgbGVncyJdLGUuZXhwb3J0c1siUGl2b3RzIFRpbWVmcmFtZV9pbnB1dCJdPVsiUGl2b3RzIFRpbWVmcmFtZSJdLGUuZXhwb3J0cy5QbGFjZW1lbnRfaW5wdXQ9WyJQbGFjZW1lbnQiXSxlLmV4cG9ydHNbIlBsZWFzZSBlbnRlciB0aGUgcmlnaHQgdGltZV90aW1lX2lucHV0Il09WyJQbGVhc2UgZW50ZXIgdGhlIHJpZ2h0IHRpbWUiXSxlLmV4cG9ydHNbIlBsb3QgQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBCZWFyaXNoIl0sZS5leHBvcnRzWyJQbG90IEJ1bGxpc2hfaW5wdXQiXT1bIlBsb3QgQnVsbGlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQmVhcmlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQmVhcmlzaCJdLGUuZXhwb3J0c1siUGxvdCBIaWRkZW4gQnVsbGlzaF9pbnB1dCJdPVsiUGxvdCBIaWRkZW4gQnVsbGlzaCJdLGUuZXhwb3J0cy5QbG90X2lucHV0PVsiUGxvdCJdLGUuZXhwb3J0c1siUGxvdHMgQmFja2dyb3VuZF9pbnB1dCJdPVsiUGxvdHMgQmFja2dyb3VuZCJdLGUuZXhwb3J0cy5Qb2x5bGluZXNfaW5wdXQ9WyJQb2x5bGluZXMiXSxlLmV4cG9ydHNbIlBvc2l0aXZlIENvbG9yX2lucHV0Il09WyJQb3NpdGl2ZSBDb2xvciJdLGUuZXhwb3J0c1siUG9zdC1tYXJrZXQgb25seV9pbnB1dCJdPVsiUG9zdC1tYXJrZXQgb25seSJdLGUuZXhwb3J0c1siUHJlLW1hcmtldCBvbmx5X2lucHV0Il09WyJQcmUtbWFya2V0IG9ubHkiXSxlLmV4cG9ydHNbIlByaWNlIExpbmVfaW5wdXQiXT1bIlByaWNlIExpbmUiXSxlLmV4cG9ydHNbIlByaWNlIFNvdXJjZV9pbnB1dCJdPVsiUHJpY2UgU291cmNlIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRzX2lucHV0Il09WyJQcmljZSBUYXJnZXRzIl0sZS5leHBvcnRzWyJQcmljZSBkZXZpYXRpb24gZm9yIHJldmVyc2FscyAoJSlfaW5wdXQiXT1bIlByaWNlIGRldmlhdGlvbiBmb3IgcmV2ZXJzYWxzICglKSJdLGUuZXhwb3J0c1siUHJpY2Ugc291cmNlX2lucHV0Il09WyJQcmljZSBzb3VyY2UiXSxlLmV4cG9ydHMuUHJpY2VfaW5wdXQ9WyJQcmljZSJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiBkb3duIGJhcnNfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBiYXJzIl0sZS5leHBvcnRzWyJQcm9qZWN0aW9uIGRvd24gY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gZG93biBjb2xvciJdLGUuZXhwb3J0c1siUHJvamVjdGlvbiB1cCBiYXJzX2lucHV0Il09WyJQcm9qZWN0aW9uIHVwIGJhcnMiXSxlLmV4cG9ydHNbIlByb2plY3Rpb24gdXAgY29sb3JfaW5wdXQiXT1bIlByb2plY3Rpb24gdXAgY29sb3IiXSxlLmV4cG9ydHMuUV9pbnB1dD1bIlEiXSxlLmV4cG9ydHMuUXVhcnRlcl9pbnB1dD1bIlF1YXJ0ZXIiXSxlLmV4cG9ydHMuUXVhcnRlcmx5X2lucHV0PVsiUXVhcnRlcmx5Il0sZS5leHBvcnRzLlF1aW5xdWVubmlhbGx5X2lucHV0PVsiUXVpbnF1ZW5uaWFsbHkiXSxlLmV4cG9ydHNbIlJDSSBMZW5ndGhfaW5wdXQiXT1bIlJDSSBMZW5ndGgiXSxlLmV4cG9ydHMuUk1BX2lucHV0PVsiUk1BIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMxX2lucHV0Il09WyJST0MgTGVuZ3RoICMxIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMyX2lucHV0Il09WyJST0MgTGVuZ3RoICMyIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICMzX2lucHV0Il09WyJST0MgTGVuZ3RoICMzIl0sZS5leHBvcnRzWyJST0MgTGVuZ3RoICM0X2lucHV0Il09WyJST0MgTGVuZ3RoICM0Il0sCmUuZXhwb3J0c1siUk9DIExlbmd0aF9pbnB1dCJdPVsiUk9DIExlbmd0aCJdLGUuZXhwb3J0cy5ST0NMZW4xX2lucHV0PVsiUk9DTGVuMSJdLGUuZXhwb3J0cy5ST0NMZW4yX2lucHV0PVsiUk9DTGVuMiJdLGUuZXhwb3J0cy5ST0NMZW4zX2lucHV0PVsiUk9DTGVuMyJdLGUuZXhwb3J0cy5ST0NMZW40X2lucHV0PVsiUk9DTGVuNCJdLGUuZXhwb3J0cy5ST0NfaW5wdXQ9WyJST0MiXSxlLmV4cG9ydHNbIlJTSSBMZW5ndGhfaW5wdXQiXT1bIlJTSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlJTSSBQZXJpb2RfaW5wdXQiXT1bIlJTSSBQZXJpb2QiXSxlLmV4cG9ydHNbIlJTSSBTZXR0aW5nc19pbnB1dCJdPVsiUlNJIFNldHRpbmdzIl0sZS5leHBvcnRzWyJSU0kgU291cmNlX2lucHV0Il09WyJSU0kgU291cmNlIl0sZS5leHBvcnRzLlJTSV9pbnB1dD1bIlJTSSJdLGUuZXhwb3J0cy5SVkdJX2lucHV0PVsiUlZHSSJdLGUuZXhwb3J0cy5SVklfaW5wdXQ9WyJSVkkiXSxlLmV4cG9ydHMuUmFuZ2VfaW5wdXQ9WyJSYW5nZSJdLGUuZXhwb3J0c1siUmF0ZSBvZiBDaGFuZ2UgTG9va2JhY2tfaW5wdXQiXT1bIlJhdGUgb2YgQ2hhbmdlIExvb2tiYWNrIl0sZS5leHBvcnRzWyJSYXRpbmcgaXMgYmFzZWQgb25faW5wdXQiXT1bIlJhdGluZyBpcyBiYXNlZCBvbiJdLGUuZXhwb3J0cy5SZWN0YW5nbGVfaW5wdXQ9WyJSZWN0YW5nbGUiXSxlLmV4cG9ydHMuUmVndWxhcl9pbnB1dD1bIlJlZ3VsYXIiXSxlLmV4cG9ydHMuUmVzaXN0YW5jZV9pbnB1dD1bIlJlc2lzdGFuY2UiXSxlLmV4cG9ydHNbIlJldmVyc2FsIGFtb3VudF9pbnB1dCJdPVsiUmV2ZXJzYWwgYW1vdW50Il0sZS5leHBvcnRzLlJldmVyc2VfaW5wdXQ9WyJSZXZlcnNlIl0sZS5leHBvcnRzLlJpZ2h0X2lucHV0PVsiUmlnaHQiXSxlLmV4cG9ydHNbIlJpc2luZyBXZWRnZV9pbnB1dCJdPVsiUmlzaW5nIFdlZGdlIl0sZS5leHBvcnRzWyJSb2xsaW5nIFBlcmlvZF9pbnB1dCJdPVsiUm9sbGluZyBQZXJpb2QiXSxlLmV4cG9ydHNbIlJvdyBTaXplX2lucHV0Il09WyJSb3cgU2l6ZSJdLGUuZXhwb3J0c1siUm93cyBMYXlvdXRfaW5wdXQiXT1bIlJvd3MgTGF5b3V0Il0sZS5leHBvcnRzWyJSb3dzIFNpemVfaW5wdXQiXT1bIlJvd3MgU2l6ZSJdLGUuZXhwb3J0c1siU01BICsgQm9sbGluZ2VyIEJhbmRzX2lucHV0Il09WyJTTUEgKyBCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzFfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzEiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzJfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzIiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzNfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzMiXSxlLmV4cG9ydHNbIlNNQSBMZW5ndGggIzRfaW5wdXQiXT1bIlNNQSBMZW5ndGggIzQiXSxlLmV4cG9ydHMuU01BTGVuMV9pbnB1dD1bIlNNQUxlbjEiXSxlLmV4cG9ydHMuU01BTGVuMl9pbnB1dD1bIlNNQUxlbjIiXSxlLmV4cG9ydHMuU01BTGVuM19pbnB1dD1bIlNNQUxlbjMiXSxlLmV4cG9ydHMuU01BTGVuNF9pbnB1dD1bIlNNQUxlbjQiXSxlLmV4cG9ydHMuU01BX2lucHV0PVsiU01BIl0sZS5leHBvcnRzWyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yX2lucHV0Il09WyJTTUkgRXJnb2RpYyBPc2NpbGxhdG9yIl0sZS5leHBvcnRzLlNNSV9pbnB1dD1bIlNNSSJdLGUuZXhwb3J0c1siU01NQSAoUk1BKV9pbnB1dCJdPVsiU01NQSAoUk1BKSJdLGUuZXhwb3J0cy5TY2hpZmZfaW5wdXQ9WyJTY2hpZmYiXSxlLmV4cG9ydHNbIlNlY29uZCBCb3R0b21faW5wdXQiXT1bIlNlY29uZCBCb3R0b20iXSxlLmV4cG9ydHNbIlNlY29uZCBUb3BfaW5wdXQiXT1bIlNlY29uZCBUb3AiXSxlLmV4cG9ydHNbIlNlY29uZCBzZXNzaW9uX2lucHV0Il09WyJTZWNvbmQgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2VuZCBtZXNzYWdlX2lucHV0Il09WyJTZW5kIG1lc3NhZ2UiXSxlLmV4cG9ydHNbIlNlc3Npb24gY29sb3JfaW5wdXQiXT1bIlNlc3Npb24gY29sb3IiXSxlLmV4cG9ydHNbIlNlc3Npb24gdGltZV9pbnB1dCJdPVsiU2Vzc2lvbiB0aW1lIl0sZS5leHBvcnRzWyJTZXNzaW9uIHRpbWV6b25lX2lucHV0Il09WyJTZXNzaW9uIHRpbWV6b25lIl0sZS5leHBvcnRzLlNlc3Npb25faW5wdXQ9WyJTZXNzaW9uIl0sZS5leHBvcnRzLlNlc3Npb25zX2lucHV0PVsiU2Vzc2lvbnMiXSxlLmV4cG9ydHMuU2V0dGluZ3NfaW5wdXQ9WyJTZXR0aW5ncyJdLGUuZXhwb3J0cy5TaGFwZXNfaW5wdXQ9WyJTaGFwZXMiXSxlLmV4cG9ydHNbIlNob3J0IEJCIExlbmd0aF9pbnB1dCJdPVsiU2hvcnQgQkIgTGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IExlbmd0aCJdLGUuZXhwb3J0c1siU2hvcnQgTUEgTGVuZ3RoX2lucHV0Il09WyJTaG9ydCBNQSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJDSSBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJDSSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IFJvQyBMZW5ndGhfaW5wdXQiXT1bIlNob3J0IFJvQyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNob3J0IGxlbmd0aF9pbnB1dCJdPVsiU2hvcnQgbGVuZ3RoIl0sZS5leHBvcnRzWyJTaG9ydCBwZXJpb2RfaW5wdXQiXT1bIlNob3J0IHBlcmlvZCJdLGUuZXhwb3J0cy5TaG9ydF9pbnB1dD1bIlNob3J0Il0sZS5leHBvcnRzWyJTaG93IEF2ZXJhZ2VzX2lucHV0Il09WyJTaG93IEF2ZXJhZ2VzIl0sZS5leHBvcnRzWyJTaG93IExhYmVsc19pbnB1dCJdPVsiU2hvdyBMYWJlbHMiXSxlLmV4cG9ydHNbIlNob3cgTGV2ZWxzX2lucHV0Il09WyJTaG93IExldmVscyJdLGUuZXhwb3J0c1siU2hvdyBNVEZfaW5wdXQiXT1bIlNob3cgTVRGIl0sZS5leHBvcnRzWyJTaG93IFBlYXJzb24ncyBSX2lucHV0Il09WyJTaG93IFBlYXJzb24ncyBSIl0sZS5leHBvcnRzWyJTaG93IFBlcmNlbnQgUG9zaXRpdmVfaW5wdXQiXT1bIlNob3cgUGVyY2VudCBQb3NpdGl2ZSJdLGUuZXhwb3J0c1siU2hvdyBQaXZvdHNfaW5wdXQiXT1bIlNob3cgUGl2b3RzIl0sZS5leHBvcnRzWyJTaG93IFByaWNlc19pbnB1dCJdPVsiU2hvdyBQcmljZXMiXSwKZS5leHBvcnRzWyJTaG93IFByb2plY3Rpb25zX2lucHV0Il09WyJTaG93IFByb2plY3Rpb25zIl0sZS5leHBvcnRzWyJTaG93IFN0YW5kYXJkIERldmlhdGlvbl9pbnB1dCJdPVsiU2hvdyBTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlNob3cgVG91Y2hlZCBQaXZvdHNfaW5wdXQiXT1bIlNob3cgVG91Y2hlZCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNob3cgYXZlcmFnZSBwcmljZSBwZXIgc2Vzc2lvbl9pbnB1dCJdPVsiU2hvdyBhdmVyYWdlIHByaWNlIHBlciBzZXNzaW9uIl0sZS5leHBvcnRzWyJTaG93IHJlYWwgcHJpY2VzIG9uIHByaWNlIHNjYWxlIChpbnN0ZWFkIG9mIEhlaWtpbi1Bc2hpIHByaWNlKV9pbnB1dCJdPVsiU2hvdyByZWFsIHByaWNlcyBvbiBwcmljZSBzY2FsZSAoaW5zdGVhZCBvZiBIZWlraW4tQXNoaSBwcmljZSkiXSxlLmV4cG9ydHNbIlNob3cgc2Vzc2lvbiBuYW1lc19pbnB1dCJdPVsiU2hvdyBzZXNzaW9uIG5hbWVzIl0sZS5leHBvcnRzWyJTaG93IHNlc3Npb25faW5wdXQiXT1bIlNob3cgc2Vzc2lvbiJdLGUuZXhwb3J0c1siU2hvdyB0aWNrIHJhbmdlIGZvciBlYWNoIHNlc3Npb25faW5wdXQiXT1bIlNob3cgdGljayByYW5nZSBmb3IgZWFjaCBzZXNzaW9uIl0sZS5leHBvcnRzLlNpZ0xlbl9pbnB1dD1bIlNpZ0xlbiJdLGUuZXhwb3J0cy5TaWdfaW5wdXQ9WyJTaWciXSxlLmV4cG9ydHMuU2lnbWFfaW5wdXQ9WyJTaWdtYSJdLGUuZXhwb3J0c1siU2lnbmFsIExlbmd0aF9pbnB1dCJdPVsiU2lnbmFsIExlbmd0aCJdLGUuZXhwb3J0c1siU2lnbmFsIExpbmUgTGVuZ3RoX2lucHV0Il09WyJTaWduYWwgTGluZSBMZW5ndGgiXSxlLmV4cG9ydHNbIlNpZ25hbCBMaW5lIE1BIFR5cGVfaW5wdXQiXT1bIlNpZ25hbCBMaW5lIE1BIFR5cGUiXSxlLmV4cG9ydHNbIlNpZ25hbCBTbW9vdGhpbmdfaW5wdXQiXT1bIlNpZ25hbCBTbW9vdGhpbmciXSxlLmV4cG9ydHNbIlNpZ25hbCBsaW5lIHBlcmlvZF9pbnB1dCJdPVsiU2lnbmFsIGxpbmUgcGVyaW9kIl0sZS5leHBvcnRzWyJTaWduYWwgc21vb3RoaW5nX2lucHV0Il09WyJTaWduYWwgc21vb3RoaW5nIl0sZS5leHBvcnRzLlNpZ25hbF9pbnB1dD1bIlNpZ25hbCJdLGUuZXhwb3J0c1siU2ltcGxlIG1hKG9zY2lsbGF0b3IpX2lucHV0Il09WyJTaW1wbGUgbWEob3NjaWxsYXRvcikiXSxlLmV4cG9ydHNbIlNpbXBsZSBtYShzaWduYWwgbGluZSlfaW5wdXQiXT1bIlNpbXBsZSBtYShzaWduYWwgbGluZSkiXSxlLmV4cG9ydHMuU2ltcGxlX2lucHV0PVsiU2ltcGxlIl0sZS5leHBvcnRzWyJTbG93IExlbmd0aF9pbnB1dCJdPVsiU2xvdyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNsb3cgTUEgUGVyaW9kX2lucHV0Il09WyJTbG93IE1BIFBlcmlvZCJdLGUuZXhwb3J0c1siU2xvdyBsZW5ndGhfaW5wdXQiXT1bIlNsb3cgbGVuZ3RoIl0sZS5leHBvcnRzLlNsb3dpbmdfaW5wdXQ9WyJTbG93aW5nIl0sZS5leHBvcnRzLlNtYWxsX2lucHV0PVsiU21hbGwiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMZW5ndGhfaW5wdXQiXT1bIlNtb290aGluZyBMZW5ndGgiXSxlLmV4cG9ydHNbIlNtb290aGluZyBMaW5lX2lucHV0Il09WyJTbW9vdGhpbmcgTGluZSJdLGUuZXhwb3J0cy5TbW9vdGhpbmdfaW5wdXQ9WyJTbW9vdGhpbmciXSxlLmV4cG9ydHMuU29saWRfaW5wdXQ9WyJTb2xpZCJdLGUuZXhwb3J0cy5Tb3VyY2VfaW5wdXQ9WyJTb3VyY2UiXSxlLmV4cG9ydHMuU3BsaXRzX2lucHV0PVsiU3BsaXRzIl0sZS5leHBvcnRzWyJTdGFuZGFyZCBEZXZpYXRpb25faW5wdXQiXT1bIlN0YW5kYXJkIERldmlhdGlvbiJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3JzX2lucHV0Il09WyJTdGFuZGFyZCBFcnJvcnMiXSxlLmV4cG9ydHMuU3RhcnRfaW5wdXQ9WyJTdGFydCJdLGUuZXhwb3J0c1siU3RhcnRpbmcgeWVhcl9pbnB1dCJdPVsiU3RhcnRpbmcgeWVhciJdLGUuZXhwb3J0cy5TdGREZXZfaW5wdXQ9WyJTdGREZXYiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTGVuZ3RoX2lucHV0Il09WyJTdG9jaGFzdGljIExlbmd0aCJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBMb3dlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBMb3dlciJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBVcHBlcl9pbnB1dCJdPVsiU3RvY2hhc3RpYyBVcHBlciJdLGUuZXhwb3J0c1siU3RvcCBMZW5ndGggKHEpX2lucHV0Il09WyJTdG9wIExlbmd0aCAocSkiXSxlLmV4cG9ydHNbIlN0b3AgbG9zc19pbnB1dCJdPVsiU3RvcCBsb3NzIl0sZS5leHBvcnRzWyJTdHJhdGVneSBEaXJlY3Rpb25faW5wdXQiXT1bIlN0cmF0ZWd5IERpcmVjdGlvbiJdLGUuZXhwb3J0cy5TdHlsZV9pbnB1dD1bIlN0eWxlIl0sZS5leHBvcnRzLlN1YldhdmVzX2lucHV0PVsiU3ViV2F2ZXMiXSxlLmV4cG9ydHMuU3VwcG9ydF9pbnB1dD1bIlN1cHBvcnQiXSxlLmV4cG9ydHNbIlN5bWJvbCBsaXN0X2lucHV0Il09WyJTeW1ib2wgbGlzdCJdLGUuZXhwb3J0cy5TeW1ib2xfaW5wdXQ9WyJTeW1ib2wiXSxlLmV4cG9ydHMuVEVNQV9pbnB1dD1bIlRFTUEiXSxlLmV4cG9ydHMuVFJJWF9pbnB1dD1bIlRSSVgiXSxlLmV4cG9ydHNbIlRhYmxlIEhlaWdodCAoJSlfaW5wdXQiXT1bIlRhYmxlIEhlaWdodCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIFBvc2l0aW9uX2lucHV0Il09WyJUYWJsZSBQb3NpdGlvbiJdLGUuZXhwb3J0c1siVGFibGUgV2lkdGggKCUpX2lucHV0Il09WyJUYWJsZSBXaWR0aCAoJSkiXSxlLmV4cG9ydHNbIlRhYmxlIHNldHRpbmdzX2lucHV0Il09WyJUYWJsZSBzZXR0aW5ncyJdLGUuZXhwb3J0cy5UYWJsZXNfaW5wdXQ9WyJUYWJsZXMiXSxlLmV4cG9ydHNbIlRha2UgcHJvZml0X2lucHV0Il09WyJUYWtlIHByb2ZpdCJdLGUuZXhwb3J0c1siVGFyZ2V0IEN1cnJlbmN5X2lucHV0Il09WyJUYXJnZXQgQ3VycmVuY3kiXSxlLmV4cG9ydHMuVGFyZ2V0X2lucHV0PVsiVGFyZ2V0Il0sZS5leHBvcnRzWyJUZWV0aCBMZW5ndGhfaW5wdXQiXT1bIlRlZXRoIExlbmd0aCJdLGUuZXhwb3J0c1siVGVldGggT2Zmc2V0X2lucHV0Il09WyJUZWV0aCBPZmZzZXQiXSxlLmV4cG9ydHMuVGVldGhfaW5wdXQ9WyJUZWV0aCJdLAplLmV4cG9ydHNbIlRleHQgQ29sb3IgLyBMYWJlbCBDb2xvcl9pbnB1dCJdPVsiVGV4dCBDb2xvciAvIExhYmVsIENvbG9yIl0sZS5leHBvcnRzWyJUaGlyZCBzZXNzaW9uX2lucHV0Il09WyJUaGlyZCBzZXNzaW9uIl0sZS5leHBvcnRzWyJUaWNrcyBQZXIgUm93X2lucHV0Il09WyJUaWNrcyBQZXIgUm93Il0sZS5leHBvcnRzWyJUaW1lZnJhbWUgbGlzdF9pbnB1dCJdPVsiVGltZWZyYW1lIGxpc3QiXSxlLmV4cG9ydHMuVGltZWZyYW1lX2lucHV0PVsiVGltZWZyYW1lIl0sZS5leHBvcnRzLlRvX2lucHV0PVsiVG8iXSxlLmV4cG9ydHMuVG9wc19pbnB1dD1bIlRvcHMiXSxlLmV4cG9ydHMuVG90YWxfaW5wdXQ9WyJUb3RhbCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAxIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAxIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAyIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAyIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSAzIGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSAzIGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA0IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA0IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA1IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA1IGxlbmd0aCJdLGUuZXhwb3J0c1siVHJhZGVyIEVNQSA2IGxlbmd0aF9pbnB1dCJdPVsiVHJhZGVyIEVNQSA2IGxlbmd0aCJdLGUuZXhwb3J0cy5UcmFkaXRpb25hbF9pbnB1dD1bIlRyYWRpdGlvbmFsIl0sZS5leHBvcnRzWyJUcmVuZCBIZWlnaHRfaW5wdXQiXT1bIlRyZW5kIEhlaWdodCJdLGUuZXhwb3J0cy5UcmlhbmdsZV9pbnB1dD1bIlRyaWFuZ2xlIl0sZS5leHBvcnRzLlRyaWdnZXJfaW5wdXQ9WyJUcmlnZ2VyIl0sZS5leHBvcnRzWyJUcmlwbGUgQm90dG9tX2lucHV0Il09WyJUcmlwbGUgQm90dG9tIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wX2lucHV0Il09WyJUcmlwbGUgVG9wIl0sZS5leHBvcnRzLlRyaXllYXJseV9pbnB1dD1bIlRyaXllYXJseSJdLGUuZXhwb3J0c1siVHJ1ZSBSYW5nZV9pbnB1dCJdPVsiVHJ1ZSBSYW5nZSJdLGUuZXhwb3J0cy5UeXBlX2lucHV0PVsiVHlwZSJdLGUuZXhwb3J0cy5VT19pbnB1dD1bIlVPIl0sZS5leHBvcnRzWyJVcCBHYXBzX2lucHV0Il09WyJVcCBHYXBzIl0sZS5leHBvcnRzWyJVcCBWb2x1bWVfaW5wdXQiXT1bIlVwIFZvbHVtZSJdLGUuZXhwb3J0c1siVXAgYmFyc19pbnB1dCJdPVsiVXAgYmFycyJdLGUuZXhwb3J0c1siVXAgY29sb3JfaW5wdXQiXT1bIlVwIGNvbG9yIl0sZS5leHBvcnRzWyJVcCBmcmFjdGFsc19pbnB1dCJdPVsiVXAgZnJhY3RhbHMiXSxlLmV4cG9ydHNbIlVwL0Rvd25faW5wdXQiXT1bIlVwL0Rvd24iXSxlLmV4cG9ydHNbIlVwRG93biBMZW5ndGhfaW5wdXQiXT1bIlVwRG93biBMZW5ndGgiXSxlLmV4cG9ydHNbIlVwcGVyIEJhbmRfaW5wdXQiXT1bIlVwcGVyIEJhbmQiXSxlLmV4cG9ydHNbIlVwcGVyIERldmlhdGlvbl9pbnB1dCJdPVsiVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVcHBlciBQZXJjZW50YWdlX2lucHV0Il09WyJVcHBlciBQZXJjZW50YWdlIl0sZS5leHBvcnRzLlVwcGVyTGltaXRfaW5wdXQ9WyJVcHBlckxpbWl0Il0sZS5leHBvcnRzLlVwcGVyX2lucHV0PVsiVXBwZXIiXSxlLmV4cG9ydHNbIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXNfaW5wdXQiXT1bIlVzZSBEYWlseS1iYXNlZCBWYWx1ZXMiXSxlLmV4cG9ydHNbIlVzZSBFeHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIEV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJVc2UgTG93ZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgTG93ZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgVXBwZXIgRGV2aWF0aW9uX2lucHV0Il09WyJVc2UgVXBwZXIgRGV2aWF0aW9uIl0sZS5leHBvcnRzWyJVc2UgY3VzdG9tIHRpbWVmcmFtZV9pbnB1dCJdPVsiVXNlIGN1c3RvbSB0aW1lZnJhbWUiXSxlLmV4cG9ydHNbIlVzZSBleHBvbmVudGlhbCBNQV9pbnB1dCJdPVsiVXNlIGV4cG9uZW50aWFsIE1BIl0sZS5leHBvcnRzWyJWSSArX2lucHV0Il09WyJWSSArIl0sZS5leHBvcnRzWyJWSSAtX2lucHV0Il09WyJWSSAtIl0sZS5leHBvcnRzWyJWV0FQIFNldHRpbmdzX2lucHV0Il09WyJWV0FQIFNldHRpbmdzIl0sZS5leHBvcnRzLlZXQVBfaW5wdXQ9WyJWV0FQIl0sZS5leHBvcnRzLlZXTUFfaW5wdXQ9WyJWV01BIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhIERvd25faW5wdXQiXT1bIlZhbHVlIEFyZWEgRG93biJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSBQZXJjZW50X2lucHV0Il09WyJWYWx1ZSBBcmVhIFBlcmNlbnQiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVXBfaW5wdXQiXT1bIlZhbHVlIEFyZWEgVXAiXSxlLmV4cG9ydHNbIlZhbHVlIEFyZWEgVm9sdW1lX2lucHV0Il09WyJWYWx1ZSBBcmVhIFZvbHVtZSJdLGUuZXhwb3J0c1siVmFsdWUgQXJlYSB2b2x1bWVfaW5wdXQiXT1bIlZhbHVlIEFyZWEgdm9sdW1lIl0sZS5leHBvcnRzWyJWYWx1ZSBBcmVhX2lucHV0Il09WyJWYWx1ZSBBcmVhIl0sZS5leHBvcnRzLlZhbHVlX2lucHV0PVsiVmFsdWUiXSxlLmV4cG9ydHNbIlZhbHVlcyBpbiBzdGF0dXMgbGluZV9pbnB1dCJdPVsiVmFsdWVzIGluIHN0YXR1cyBsaW5lIl0sZS5leHBvcnRzLlZhbHVlc19pbnB1dD1bIlZhbHVlcyJdLGUuZXhwb3J0cy5WaXNpYmlsaXR5X2lucHV0PVsiVmlzaWJpbGl0eSJdLGUuZXhwb3J0cy5Wb2x1bWVfaW5wdXQ9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIldNQSBMZW5ndGhfaW5wdXQiXT1bIldNQSBMZW5ndGgiXSxlLmV4cG9ydHMuV01BX2lucHV0PVsiV01BIl0sZS5leHBvcnRzWyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzX2lucHV0Il09WyJXYWl0IGZvciB0aW1lZnJhbWUgY2xvc2VzIl0sZS5leHBvcnRzWyJXYW5pbmcgTW9vbl9pbnB1dCJdPVsiV2FuaW5nIE1vb24iXSxlLmV4cG9ydHNbIldheGluZyBNb29uX2lucHV0Il09WyJXYXhpbmcgTW9vbiJdLGUuZXhwb3J0cy5XZWRnZV9pbnB1dD1bIldlZGdlIl0sZS5leHBvcnRzLldlZWtfaW5wdXQ9WyJXZWVrIl0sCmUuZXhwb3J0cy5XZWVrbHlfaW5wdXQ9WyJXZWVrbHkiXSxlLmV4cG9ydHMuV2VpZ2h0ZWRfaW5wdXQ9WyJXZWlnaHRlZCJdLGUuZXhwb3J0cy5XaWNrX2lucHV0PVsiV2ljayJdLGUuZXhwb3J0cy5XaWNrc19pbnB1dD1bIldpY2tzIl0sZS5leHBvcnRzWyJXaWxkZXIncyBTbW9vdGhpbmdfaW5wdXQiXT1bIldpbGRlcidzIFNtb290aGluZyJdLGUuZXhwb3J0c1siV2luZG93IFNpemVfaW5wdXQiXT1bIldpbmRvdyBTaXplIl0sZS5leHBvcnRzLldvb2RpZV9pbnB1dD1bIldvb2RpZSJdLGUuZXhwb3J0cy5YX2lucHV0PVsiWCJdLGUuZXhwb3J0cy5ZWV95ZWFyX2lucHV0PVsiWVkiXSxlLmV4cG9ydHMuWWVhcl9pbnB1dD1bIlllYXIiXSxlLmV4cG9ydHMuWWVhcmx5X2lucHV0PVsiWWVhcmx5Il0sZS5leHBvcnRzWyJaZXJvIExpbmVfaW5wdXQiXT1bIlplcm8gTGluZSJdLGUuZXhwb3J0cy5aZXJvX2lucHV0PVsiWmVybyJdLGUuZXhwb3J0cy5mYXN0TGVuZ3RoX2lucHV0PVsiZmFzdExlbmd0aCJdLGUuZXhwb3J0cy5mcm9tX2lucHV0PVsiZnJvbSJdLGUuZXhwb3J0cy5pbmNyZW1lbnRfaW5wdXQ9WyJpbmNyZW1lbnQiXSxlLmV4cG9ydHMuaXNDZW50ZXJlZF9pbnB1dD1bImlzQ2VudGVyZWQiXSxlLmV4cG9ydHMubGFiZWxzX2lucHV0PVsibGFiZWxzIl0sZS5leHBvcnRzLmxlbl9pbnB1dD1bImxlbiJdLGUuZXhwb3J0cy5sZW5ndGgxNF9pbnB1dD1bImxlbmd0aDE0Il0sZS5leHBvcnRzLmxlbmd0aDI4X2lucHV0PVsibGVuZ3RoMjgiXSxlLmV4cG9ydHMubGVuZ3RoN19pbnB1dD1bImxlbmd0aDciXSxlLmV4cG9ydHMubGVuZ3RoUlNJX2lucHV0PVsibGVuZ3RoUlNJIl0sZS5leHBvcnRzLmxlbmd0aFN0b2NoX2lucHV0PVsibGVuZ3RoU3RvY2giXSxlLmV4cG9ydHMubGVuZ3RoX2lucHV0PVsibGVuZ3RoIl0sZS5leHBvcnRzLmxldmVsc19pbnB1dD1bImxldmVscyJdLGUuZXhwb3J0cy5sb25nX2lucHV0PVsibG9uZyJdLGUuZXhwb3J0cy5sb25nbGVuX2lucHV0PVsibG9uZ2xlbiJdLGUuZXhwb3J0cy5tYXhpbXVtX2lucHV0PVsibWF4aW11bSJdLGUuZXhwb3J0cy5tdWx0X2lucHV0PVsibXVsdCJdLGUuZXhwb3J0cy5wX2lucHV0PVsicCJdLGUuZXhwb3J0cy5xX2lucHV0PVsicSJdLGUuZXhwb3J0cy5yZXNvbHV0aW9uX2lucHV0PVsicmVzb2x1dGlvbiJdLGUuZXhwb3J0cy5yb2NsZW4xX2lucHV0PVsicm9jbGVuMSJdLGUuZXhwb3J0cy5yb2NsZW4yX2lucHV0PVsicm9jbGVuMiJdLGUuZXhwb3J0cy5yb2NsZW4zX2lucHV0PVsicm9jbGVuMyJdLGUuZXhwb3J0cy5yb2NsZW40X2lucHV0PVsicm9jbGVuNCJdLGUuZXhwb3J0cy5zaG9ydF9pbnB1dD1bInNob3J0Il0sZS5leHBvcnRzLnNob3J0bGVuX2lucHV0PVsic2hvcnRsZW4iXSxlLmV4cG9ydHNbInNob3cgTUFfaW5wdXQiXT1bInNob3cgTUEiXSxlLmV4cG9ydHMuc2lnbGVuX2lucHV0PVsic2lnbGVuIl0sZS5leHBvcnRzLnNpZ25hbExlbmd0aF9pbnB1dD1bInNpZ25hbExlbmd0aCJdLGUuZXhwb3J0cy5zbG93TGVuZ3RoX2lucHV0PVsic2xvd0xlbmd0aCJdLGUuZXhwb3J0cy5zbWFsZW4xX2lucHV0PVsic21hbGVuMSJdLGUuZXhwb3J0cy5zbWFsZW4yX2lucHV0PVsic21hbGVuMiJdLGUuZXhwb3J0cy5zbWFsZW4zX2lucHV0PVsic21hbGVuMyJdLGUuZXhwb3J0cy5zbWFsZW40X2lucHV0PVsic21hbGVuNCJdLGUuZXhwb3J0cy5zbW9vdGhEX2lucHV0PVsic21vb3RoRCJdLGUuZXhwb3J0cy5zbW9vdGhLX2lucHV0PVsic21vb3RoSyJdLGUuZXhwb3J0cy5zdGFydF9pbnB1dD1bInN0YXJ0Il0sZS5leHBvcnRzLnN5bV9pbnB1dD1bInN5bSJdLGUuZXhwb3J0cy50b19pbnB1dD1bInRvIl0sZS5leHBvcnRzLnVzZVRydWVSYW5nZV9pbnB1dD1bInVzZVRydWVSYW5nZSJdLGUuZXhwb3J0cy54X2lucHV0PVsieCJdLGUuZXhwb3J0c1sieWF5IENvbG9yIDBfaW5wdXQiXT1bInlheSBDb2xvciAwIl0sZS5leHBvcnRzWyJ5YXkgQ29sb3IgMV9pbnB1dCJdPVsieWF5IENvbG9yIDEiXSxlLmV4cG9ydHNbIntudW1iZXJ9IGl0ZW1fY29tYm9ib3hfaW5wdXQiXT1bIntudW1iZXJ9IGl0ZW0iLCJ7bnVtYmVyfSBpdGVtcyJdfSwzMTIyOTcoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sODcwOTE1KGUpe2UuZXhwb3J0cz1bIkFUUih7YXRyVmFsdWV9KSJdfSw5OTUyMzUoZSl7ZS5leHBvcnRzPVsiUGVyY2VudGFnZSBMVFAoe3BlcmNlbnRhZ2VMVFBWYWx1ZX0lKSJdfSw0MTE5NzQoZSl7ZS5leHBvcnRzPVsiVHJhZGl0aW9uYWwiXX0sNzE4NTIzKGUpe2UuZXhwb3J0cz1bIkFCQ0QgcGF0dGVybiJdfSwxODc1MzIoZSl7ZS5leHBvcnRzPVsiR2FubiBib3giXX0sOTIzODQwKGUpe2UuZXhwb3J0cz1bIkdhbm4gZmFuIl19LDQxNTAwOShlKXtlLmV4cG9ydHM9WyJHYW5uIHNxdWFyZSJdfSw3NTk4ODcoZSl7ZS5leHBvcnRzPVsiR2FubiBzcXVhcmUgZml4ZWQiXX0sODUzMDE2KGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpYW5nbGUgd2F2ZSAoQcK3QsK3Q8K3RMK3RSkiXX0sOTc1ODUyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgdHJpcGxlIGNvbWJvIHdhdmUgKFfCt1jCt1nCt1jCt1opIl19LDI4MjA1OShlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGNvcnJlY3Rpb24gd2F2ZSAoQcK3QsK3QykiXX0sNDY1ODIyKGUpe2UuZXhwb3J0cz1bIkVsbGlvdHQgZG91YmxlIGNvbWJvIHdhdmUgKFfCt1jCt1kpIl19LDYwMjgxMChlKXtlLmV4cG9ydHM9WyJFbGxpb3R0IGltcHVsc2Ugd2F2ZSAoMcK3MsK3M8K3NMK3NSkiXX0sODMyMjU4KGUpe2UuZXhwb3J0cz1bIkZpYiBjaGFubmVsIl19LDY2NDM2MShlKXtlLmV4cG9ydHM9WyJGaWIgY2lyY2xlcyJdfSw4Njg0NTkoZSl7ZS5leHBvcnRzPVsiRmliIHJldHJhY2VtZW50Il19LDEyMTUxMShlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBhcmNzIl19LDE5MDUyNihlKXtlLmV4cG9ydHM9WyJGaWIgc3BlZWQgcmVzaXN0YW5jZSBmYW4iXX0sOTkzNjAxKGUpe2UuZXhwb3J0cz1bIkZpYiBzcGlyYWwiXX0sMzAyMTY2KGUpe2UuZXhwb3J0cz1bIkZpYiB0aW1lIHpvbmUiXX0sNjcyODMxKGUpe2UuZXhwb3J0cz1bIkZpYiB3ZWRnZSJdfSwKOTYxMChlKXtlLmV4cG9ydHM9WyJTY2hpZmYgcGl0Y2hmb3JrIl19LDY2MTg5NihlKXtlLmV4cG9ydHM9WyJYQUJDRCBwYXR0ZXJuIl19LDQ4MzcxMChlKXtlLmV4cG9ydHM9WyJjb21tZW50Il19LDMyNDQ2MShlKXtlLmV4cG9ydHM9WyJjYWxsb3V0Il19LDk3Mjg0MihlKXtlLmV4cG9ydHM9WyJjaXJjbGUiXX0sNDc4MTIzKGUpe2UuZXhwb3J0cz1bImNyb3NzbGluZSJdfSwxNjY2MTAoZSl7ZS5leHBvcnRzPVsiY3VydmUiXX0sOTIyOTIxKGUpe2UuZXhwb3J0cz1bImN5Y2xpYyBsaW5lcyJdfSwzMjc2MTIoZSl7ZS5leHBvcnRzPVsiY3lwaGVyIHBhdHRlcm4iXX0sOTk1MTg3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIFZXQVAiXX0sOTkyOTM0KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIG5vdGUiXX0sNjg4NDM3KGUpe2UuZXhwb3J0cz1bImFuY2hvcmVkIHRleHQiXX0sOTc1NjUyKGUpe2UuZXhwb3J0cz1bImFyYyJdfSwxNTA2ODEoZSl7ZS5leHBvcnRzPVsiYXJyb3ciXX0sMTMzMzA0KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmtlciJdfSw2MTcxOTkoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayB1cCJdfSw5NjQ2NzMoZSl7ZS5leHBvcnRzPVsiYXJyb3cgbWFyayBkb3duIl19LDY4Mjk2MihlKXtlLmV4cG9ydHM9WyJhcnJvdyBtYXJrIGxlZnQiXX0sMTAwNjA5KGUpe2UuZXhwb3J0cz1bImFycm93IG1hcmsgcmlnaHQiXX0sNzQxOTI5KGUpe2UuZXhwb3J0cz1bImJhbGxvb24iXX0sMjcxNzUxKGUpe2UuZXhwb3J0cz1bImJhcnMgcGF0dGVybiJdfSw3NDY3MzcoZSl7ZS5leHBvcnRzPVsiYnJ1c2giXX0sODUxNDkzKGUpe2UuZXhwb3J0cz1bImdob3N0IGZlZWQiXX0sMzU3ODIwKGUpe2UuZXhwb3J0cz1bImRvdWJsZSBjdXJ2ZSJdfSw0MzU0NDYoZSl7ZS5leHBvcnRzPVsiZGF0ZSBhbmQgcHJpY2UgcmFuZ2UiXX0sNTI1MTI0KGUpe2UuZXhwb3J0cz1bImRhdGUgcmFuZ2UiXX0sMzQ2NzI3KGUpe2UuZXhwb3J0cz1bImRpc2pvaW50IGNoYW5uZWwiXX0sODk1NjQ4KGUpe2UuZXhwb3J0cz1bImVtb2ppIl19LDkzMDMzKGUpe2UuZXhwb3J0cz1bImVsbGlwc2UiXX0sNzY5MzM0KGUpe2UuZXhwb3J0cz1bImV4dGVuZGVkIGxpbmUiXX0sNjczMjc4KGUpe2UuZXhwb3J0cz1bImZsYWcgbWFyayJdfSw5NTg0MTYoZSl7ZS5leHBvcnRzPVsiZmxhdCB0b3AvYm90dG9tIl19LDc2NTIxKGUpe2UuZXhwb3J0cz1bImhvcml6b250YWwgbGluZSJdfSw0Mjk2MDYoZSl7ZS5leHBvcnRzPVsiaG9yaXpvbnRhbCByYXkiXX0sOTcxMTQoZSl7ZS5leHBvcnRzPVsiaGVhZCBhbmQgc2hvdWxkZXJzIl19LDk4MDA2MChlKXtlLmV4cG9ydHM9WyJoaWdobGlnaHRlciJdfSwzOTI0OTMoZSl7ZS5leHBvcnRzPVsiaW1hZ2UiXX0sNjU2MzQwKGUpe2UuZXhwb3J0cz1bImluZm8gbGluZSJdfSw0MTY5MChlKXtlLmV4cG9ydHM9WyJpbnNpZGUgcGl0Y2hmb3JrIl19LDY2NDE5NChlKXtlLmV4cG9ydHM9WyJpY29uIl19LDk0NjA0NyhlKXtlLmV4cG9ydHM9WyJpZGVhIl19LDU3NTAyMShlKXtlLmV4cG9ydHM9WyJsb25nIHBvc2l0aW9uIl19LDk5NjAwKGUpe2UuZXhwb3J0cz1bIm1vZGlmaWVkIFNjaGlmZiBwaXRjaGZvcmsiXX0sMjEzMjM2KGUpe2UuZXhwb3J0cz1bIm5vdGUiXX0sMTY3OTk3KGUpe2UuZXhwb3J0cz1bInNlY3RvciJdfSw0MjQxODEoZSl7ZS5leHBvcnRzPVsic2hvcnQgcG9zaXRpb24iXX0sOTk3OTI5KGUpe2UuZXhwb3J0cz1bInNpZ25wb3N0Il19LDYyMjU0KGUpe2UuZXhwb3J0cz1bInNpbmUgbGluZSJdfSwzNDI4OTIoZSl7ZS5leHBvcnRzPVsic3RpY2tlciJdfSw5MTUyODcoZSl7ZS5leHBvcnRzPVsicG9seWxpbmUiXX0sNDYzMTg3KGUpe2UuZXhwb3J0cz1bInBvc2l0aW9uIGZvcmVjYXN0Il19LDc2NjA5KGUpe2UuZXhwb3J0cz1bInBvc3QiXX0sODY2NjkoZSl7ZS5leHBvcnRzPVsicGF0aCJdfSwyOTM0ODAoZSl7ZS5leHBvcnRzPVsicGFyYWxsZWwgY2hhbm5lbCJdfSw5MjA1MzkoZSl7ZS5leHBvcnRzPVsicGl0Y2hmYW4iXX0sOTMwNzQ0KGUpe2UuZXhwb3J0cz1bInBpdGNoZm9yayJdfSw3MjM1NDQoZSl7ZS5leHBvcnRzPVsicGluIl19LDU0Njc0MShlKXtlLmV4cG9ydHM9WyJwcmljZSBsYWJlbCJdfSwzMzI5OTgoZSl7ZS5leHBvcnRzPVsicHJpY2Ugbm90ZSJdfSw3MDY1OTkoZSl7ZS5leHBvcnRzPVsicHJpY2UgcmFuZ2UiXX0sNTY5ODgxKGUpe2UuZXhwb3J0cz1bInJvdGF0ZWQgcmVjdGFuZ2xlIl19LDEwMDg5NihlKXtlLmV4cG9ydHM9WyJyYXkiXX0sNjE2NzM1KGUpe2UuZXhwb3J0cz1bInJlY3RhbmdsZSJdfSwyNDI4NjcoZSl7ZS5leHBvcnRzPVsicmVncmVzc2lvbiB0cmVuZCJdfSw5OTQ5MTEoZSl7ZS5leHBvcnRzPVsidGFibGUiXX0sNTgyMzM5KGUpe2UuZXhwb3J0cz1bInRleHQiXX0sNTk2ODYoZSl7ZS5leHBvcnRzPVsidGhyZWUgZHJpdmVzIHBhdHRlcm4iXX0sMjU0MTIzKGUpe2UuZXhwb3J0cz1bInRpbWUgY3ljbGVzIl19LDY1NTQ0NyhlKXtlLmV4cG9ydHM9WyJ0cmVuZCBhbmdsZSJdfSw2NDc4MjYoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIGV4dGVuc2lvbiJdfSw3NDg2MzMoZSl7ZS5leHBvcnRzPVsidHJlbmQtYmFzZWQgZmliIHRpbWUiXX0sMjU3MjI4KGUpe2UuZXhwb3J0cz1bInRyZW5kbGluZSJdfSw0MDkyMzAoZSl7ZS5leHBvcnRzPVsidHJpYW5nbGUiXX0sODEwNDQ4KGUpe2UuZXhwb3J0cz1bInRyaWFuZ2xlIHBhdHRlcm4iXX0sMzI4NTMoZSl7ZS5leHBvcnRzPVsidm9sdW1lIHByb2ZpbGUgZml4ZWQgcmFuZ2UiXX0sNTI5NjQ1KGUpe2UuZXhwb3J0cz1bInZlcnRpY2FsIGxpbmUiXX0sMTU5NzEyKGUpe2UuZXhwb3J0cz1bIiN7Y291bnR9IChwcmljZSwgYmFyKSJdfSw1NTIxNShlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSw2ODUxMDQoZSl7ZS5leHBvcnRzPVsiSG9saWRheSJdfSw2Mzg0MDUoZSl7ZS5leHBvcnRzPVsiSW52YWxpZCBzeW1ib2wiXX0sODk3NTkxKGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCB2aWEgQk9BVFMiXX0sMjc0NDE1KGUpe2UuZXhwb3J0cz1bIkxvYWRpbmciXX0sNzAyNzg4KGUpewplLmV4cG9ydHM9WyJNYXJrZXQgb3BlbiJdfSw5MTQ1NzIoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGNsb3NlZCJdfSw4Njc0NTUoZSl7ZS5leHBvcnRzPVsiUG9zdC1tYXJrZXQiXX0sOTE4ODQyKGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sNjk2ODc5KGUpe2UuZXhwb3J0cz1bIkhvbGlkYXkiXX0sODIwMjE5KGUpe2UuZXhwb3J0cz1bIk92ZXJuaWdodCJdfSw1NDUyMjQoZSl7ZS5leHBvcnRzPVsiT3Zlcm5pZ2h0IHZpYSBCT0FUUyJdfSw0OTM2MzcoZSl7ZS5leHBvcnRzPVsiTWFya2V0IG9wZW4iXX0sODQyMjAzKGUpe2UuZXhwb3J0cz1bIk1hcmtldCBjbG9zZWQiXX0sNjE5MjMzKGUpe2UuZXhwb3J0cz1bIlBvc3QiXX0sNTUxMzgyKGUpe2UuZXhwb3J0cz1bIlBvc3QtbWFya2V0Il19LDk2NjQxMihlKXtlLmV4cG9ydHM9WyJQcmUiXX0sNjM4NzE3KGUpe2UuZXhwb3J0cz1bIlByZS1tYXJrZXQiXX0sODQ2NzkoZSl7ZS5leHBvcnRzPVsiQ3VycmVuY2llcyJdfSw2NDI4NDMoZSl7ZS5leHBvcnRzPVsiQXV0byAoZml0cyBkYXRhIHRvIHNjcmVlbikiXX0sNDcxOTgwKGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxOTcxMDUoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sODg2MDEzKGUpe2UuZXhwb3J0cz1bIkxvZ2FyaXRobWljIl19LDkxMTcxMShlKXtlLmV4cG9ydHM9WyJMYWJlbHMiXX0sOTE2Mjc3KGUpe2UuZXhwb3J0cz1bIk1ldHJpY3MiXX0sMjc4NzUxKGUpe2UuZXhwb3J0cz1bIk1lcmdlIGFsbCBzY2FsZXMgaW50byBvbmUiXX0sODQ3ODM0KGUpe2UuZXhwb3J0cz1bIk5vIG92ZXJsYXBwaW5nIGxhYmVscyJdfSw2NDAwOTYoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSw3NDkxNzkoZSl7ZS5leHBvcnRzPVsiUmVndWxhciJdfSwzNDI5MTUoZSl7ZS5leHBvcnRzPVsiUmVzZXQgcHJpY2Ugc2NhbGUiXX0sMjEzMDc1KGUpe2UuZXhwb3J0cz1bIlVuaXRzIl19LDQ5NjcwMyhlKXtlLmV4cG9ydHM9WyIyNCBob3VycyJdfSw4NzQyMDAoZSl7ZS5leHBvcnRzPVsiMjRIIl19LDY4OTk2NShlKXtlLmV4cG9ydHM9WyJFVEgiXX0sNDI3OTg1KGUpe2UuZXhwb3J0cz1bIkVsZWN0cm9uaWMgdHJhZGluZyBob3VycyJdfSwxOTgyODkoZSl7ZS5leHBvcnRzPVsiRXh0ZW5kZWQiXX0sNDIyMjUyKGUpe2UuZXhwb3J0cz1bIkV4dGVuZGVkIHRyYWRpbmcgaG91cnMiXX0sMjc5Mzc5KGUpe2UuZXhwb3J0cz1bIk5pZ2h0Il19LDkwMDUxNihlKXtlLmV4cG9ydHM9WyJQT1NUIl19LDg2NzU1NShlKXtlLmV4cG9ydHM9WyJQUkUiXX0sNjcxMjk0KGUpe2UuZXhwb3J0cz1bIlBvc3RtYXJrZXQiXX0sNTcyMDE0KGUpe2UuZXhwb3J0cz1bIlByZW1hcmtldCJdfSw5MjU1MjYoZSl7ZS5leHBvcnRzPVsiUlRIIl19LDQzOTg4MShlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIl19LDg0NTA2NyhlKXtlLmV4cG9ydHM9WyJSZWd1bGFyIHRyYWRpbmcgaG91cnMiXX0sNzM0NzUwKGUpe2UuZXhwb3J0cz1bIk1heSJdfSw5NjA5NjgoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIGRldGFpbHMiXX0sOTg2NDY4KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBpbmZvIl19LDg4NDY5MyhlKXtlLmV4cG9ydHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmV4cG9ydHNbIkF2ZXJhZ2UgZGFpbHkgcmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgZGFpbHkgcmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgdHJ1ZSByYW5nZV9zdHVkeSJdPVsiQXZlcmFnZSB0cnVlIHJhbmdlIl0sZS5leHBvcnRzWyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZV9zdHVkeSJdPVsiYW5jaG9yZWQgdm9sdW1lIHByb2ZpbGUiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkJvb2sgdmFsdWUgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJCb29rIHZhbHVlIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiQm9vayB2YWx1ZSBwZXIgc2hhcmUgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkJ1bGwgYmVhciBwb3dlcl9zdHVkeSJdPVsiQnVsbCBiZWFyIHBvd2VyIl0sZS5leHBvcnRzWyJEaXJlY3Rpb25hbCBtb3ZlbWVudCBpbmRleF9zdHVkeSJdPVsiRGlyZWN0aW9uYWwgbW92ZW1lbnQgaW5kZXgiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkRpdmlkZW5kcyBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIGVzdGltYXRlIChyb2xsaW5nKV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyBlc3RpbWF0ZV9zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgZXN0aW1hdGUiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBmaW5hbmNpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gaW52ZXN0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpIl0sCmUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXMgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIGVzdGltYXRlX3N0dWR5Il09WyJDYXNoIGZsb3cgZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siQ2FzaCBmbG93IGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZmxvdyBmcm9tIG9wZXJhdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZClfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRUJJVCBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVQgZXN0aW1hdGUgKHJvbGxpbmcpIl0sZS5leHBvcnRzWyJFQklUIGVzdGltYXRlX3N0dWR5Il09WyJFQklUIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFQklUREEgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVCSVREQSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVCSVREQSBlc3RpbWF0ZV9zdHVkeSJdPVsiRUJJVERBIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmUgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZylfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkVhcm5pbmdzIHBlciBzaGFyZSBlc3RpbWF0ZV9zdHVkeSJdPVsiRWFybmluZ3MgcGVyIHNoYXJlIGVzdGltYXRlIl0sZS5leHBvcnRzWyJFYXJuaW5ncyBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVhcm5pbmdzIHBlciBzaGFyZSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcgbXVsdGktcGVyaW9kKSJdLGUuZXhwb3J0c1siRnJlZSBjYXNoIGZsb3cgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSAocm9sbGluZykiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IGVzdGltYXRlX3N0dWR5Il09WyJGcmVlIGNhc2ggZmxvdyBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGVfc3R1ZHkiXT1bImZpeGVkIHJhbmdlIHZvbHVtZSBwcm9maWxlIl0sZS5leHBvcnRzWyJHb29kd2lsbCAobmV0KV9zdHVkeSJdPVsiR29vZHdpbGwgKG5ldCkiXSxlLmV4cG9ydHNbIkljaGltb2t1IGNsb3VkX3N0dWR5Il09WyJJY2hpbW9rdSBjbG91ZCJdLGUuZXhwb3J0c1siTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZV9zdHVkeSJdPVsiTW92aW5nIGF2ZXJhZ2UgY29udmVyZ2VuY2UgZGl2ZXJnZW5jZSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJOZXQgaW5jb21lIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBlc3RpbWF0ZV9zdHVkeSJdPVsiTmV0IGluY29tZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siT3AgaW5jb21lX3N0dWR5Il09WyJPcCBpbmNvbWUiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcyAodG90YWwpX3N0dWR5Il09WyJTZWxsaW5nL2dlbmVyYWwvYWRtaW4gZXhwZW5zZXMgKHRvdGFsKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnQgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCBkZWJ0IGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgZGVidCBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgZGVidCBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSAocm9sbGluZyBtdWx0aS1wZXJpb2QpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nIG11bHRpLXBlcmlvZCkiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWUgZXN0aW1hdGUgKHJvbGxpbmcpX3N0dWR5Il09WyJUb3RhbCByZXZlbnVlIGVzdGltYXRlIChyb2xsaW5nKSJdLGUuZXhwb3J0c1siVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZV9zdHVkeSJdPVsiVG90YWwgcmV2ZW51ZSBlc3RpbWF0ZSJdLGUuZXhwb3J0c1siVm9sdW1lLXdlaWdodGVkIGF2ZXJhZ2UgcHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBhdmVyYWdlIHByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUtd2VpZ2h0ZWQgbW92aW5nIGF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZS13ZWlnaHRlZCBtb3ZpbmcgYXZlcmFnZSJdLGUuZXhwb3J0c1siV2lsbGlhbXMgcGVyY2VudCByYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgcGVyY2VudCByYW5nZSJdLGUuZXhwb3J0cy5UZWNobmljYWxzX3N0dWR5PVsiVGVjaG5pY2FscyJdLGUuZXhwb3J0c1siKkFsbCBDYW5kbGVzdGljayBQYXR0ZXJucypfc3R1ZHkiXT1bIipBbGwgQ2FuZGxlc3RpY2sgUGF0dGVybnMqIl0sZS5leHBvcnRzWyIyNC1ob3VyIFZvbHVtZV9zdHVkeSJdPVsiMjQtaG91ciBWb2x1bWUiXSwKZS5leHBvcnRzWyI1MiBXZWVrIEhpZ2gvTG93X3N0dWR5Il09WyI1MiBXZWVrIEhpZ2gvTG93Il0sZS5leHBvcnRzLkFTSV9zdHVkeT1bIkFTSSJdLGUuZXhwb3J0c1siQWJhbmRvbmVkIEJhYnkgLSBCZWFyaXNoX3N0dWR5Il09WyJBYmFuZG9uZWQgQmFieSAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkFiYW5kb25lZCBCYWJ5IC0gQnVsbGlzaF9zdHVkeSJdPVsiQWJhbmRvbmVkIEJhYnkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yX3N0dWR5Il09WyJBY2NlbGVyYXRvciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJBY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJBY2NvdW50cyBwYXlhYmxlIl0sZS5leHBvcnRzWyJBY2NvdW50cyByZWNlaXZhYmxlIC0gdHJhZGUsIG5ldF9zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZSAtIHRyYWRlLCBuZXQiXSxlLmV4cG9ydHNbIkFjY291bnRzIHJlY2VpdmFibGVzLCBncm9zc19zdHVkeSJdPVsiQWNjb3VudHMgcmVjZWl2YWJsZXMsIGdyb3NzIl0sZS5leHBvcnRzLkFjY3J1YWxzX3N0dWR5PVsiQWNjcnVhbHMiXSxlLmV4cG9ydHNbIkFjY3J1ZWQgcGF5cm9sbF9zdHVkeSJdPVsiQWNjcnVlZCBwYXlyb2xsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsX3N0dWR5Il09WyJBY2N1bXVsYXRlZCBkZXByZWNpYXRpb24sIHRvdGFsIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uX3N0dWR5Il09WyJBY2N1bXVsYXRpb24vRGlzdHJpYnV0aW9uIl0sZS5leHBvcnRzWyJBY2N1bXVsYXRpdmUgU3dpbmcgSW5kZXhfc3R1ZHkiXT1bIkFjY3VtdWxhdGl2ZSBTd2luZyBJbmRleCJdLGUuZXhwb3J0c1siQWRkaXRpb25hbCBwYWlkLWluIGNhcGl0YWwvQ2FwaXRhbCBzdXJwbHVzX3N0dWR5Il09WyJBZGRpdGlvbmFsIHBhaWQtaW4gY2FwaXRhbC9DYXBpdGFsIHN1cnBsdXMiXSxlLmV4cG9ydHNbIkFkdmFuY2UgRGVjbGluZSBMaW5lX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgTGluZSJdLGUuZXhwb3J0c1siQWR2YW5jZSBEZWNsaW5lIFJhdGlvX3N0dWR5Il09WyJBZHZhbmNlIERlY2xpbmUgUmF0aW8iXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycylfc3R1ZHkiXT1bIkFkdmFuY2UvRGVjbGluZSBSYXRpbyAoQmFycykiXSxlLmV4cG9ydHNbIkFkdmFuY2UvRGVjbGluZV9zdHVkeSJdPVsiQWR2YW5jZS9EZWNsaW5lIl0sZS5leHBvcnRzWyJBZnRlciB0YXggb3RoZXIgaW5jb21lL2V4cGVuc2Vfc3R1ZHkiXT1bIkFmdGVyIHRheCBvdGhlciBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siQWxsIENoYXJ0IFBhdHRlcm5zX3N0dWR5Il09WyJBbGwgQ2hhcnQgUGF0dGVybnMiXSxlLmV4cG9ydHNbIkFsdG1hbiBaLXNjb3JlX3N0dWR5Il09WyJBbHRtYW4gWi1zY29yZSJdLGUuZXhwb3J0c1siQW1vcnRpemF0aW9uIG9mIGRlZmVycmVkIGNoYXJnZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBkZWZlcnJlZCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJBbW9ydGl6YXRpb24gb2YgaW50YW5naWJsZXNfc3R1ZHkiXT1bIkFtb3J0aXphdGlvbiBvZiBpbnRhbmdpYmxlcyJdLGUuZXhwb3J0cy5BbW9ydGl6YXRpb25fc3R1ZHk9WyJBbW9ydGl6YXRpb24iXSxlLmV4cG9ydHNbIkFuY2hvcmVkIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJBbmNob3JlZCBWb2x1bWUgUHJvZmlsZSJdLGUuZXhwb3J0c1siQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiQXJuYXVkIExlZ291eCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Bcm9vbl9zdHVkeT1bIkFyb29uIl0sZS5leHBvcnRzWyJBc3NldCB0dXJub3Zlcl9zdHVkeSJdPVsiQXNzZXQgdHVybm92ZXIiXSxlLmV4cG9ydHNbIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkF1dG8gQW5jaG9yZWQgVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIkF1dG8gRmliIEV4dGVuc2lvbl9zdHVkeSJdPVsiQXV0byBGaWIgRXh0ZW5zaW9uIl0sZS5leHBvcnRzWyJBdXRvIEZpYiBSZXRyYWNlbWVudF9zdHVkeSJdPVsiQXV0byBGaWIgUmV0cmFjZW1lbnQiXSxlLmV4cG9ydHNbIkF1dG8gUGl0Y2hmb3JrX3N0dWR5Il09WyJBdXRvIFBpdGNoZm9yayJdLGUuZXhwb3J0c1siQXV0byBUcmVuZGxpbmVzX3N0dWR5Il09WyJBdXRvIFRyZW5kbGluZXMiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGFpbHkgUmFuZ2Vfc3R1ZHkiXT1bIkF2ZXJhZ2UgRGFpbHkgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgRGF5IFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIERheSBSYW5nZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleF9zdHVkeSJdPVsiQXZlcmFnZSBEaXJlY3Rpb25hbCBJbmRleCJdLGUuZXhwb3J0c1siQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiQXZlcmFnZSBQcmljZSJdLGUuZXhwb3J0c1siQXZlcmFnZSBUcnVlIFJhbmdlX3N0dWR5Il09WyJBdmVyYWdlIFRydWUgUmFuZ2UiXSxlLmV4cG9ydHNbIkF2ZXJhZ2UgYmFzaWMgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJBdmVyYWdlIGJhc2ljIHNoYXJlcyBvdXRzdGFuZGluZyJdLGUuZXhwb3J0c1siQXdlc29tZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJBd2Vzb21lIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHMuQkJUcmVuZF9zdHVkeT1bIkJCVHJlbmQiXSxlLmV4cG9ydHNbIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHNfc3R1ZHkiXT1bIkJhZCBkZWJ0IC8gRG91YnRmdWwgYWNjb3VudHMiXSxlLmV4cG9ydHNbIkJhbGFuY2Ugb2YgUG93ZXJfc3R1ZHkiXT1bIkJhbGFuY2Ugb2YgUG93ZXIiXSxlLmV4cG9ydHNbIkJhclVwRG4gU3RyYXRlZ3lfc3R1ZHkiXT1bIkJhclVwRG4gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkJhc2ljIEVQU19zdHVkeSJdPVsiQmFzaWMgRVBTIl0sZS5leHBvcnRzWyJCYXNpYyBlYXJuaW5ncyBwZXIgc2hhcmUgKEJhc2ljIEVQUylfc3R1ZHkiXT1bIkJhc2ljIGVhcm5pbmdzIHBlciBzaGFyZSAoQmFzaWMgRVBTKSJdLAplLmV4cG9ydHNbIkJlYXJpc2ggRmxhZyBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJCZWFyaXNoIEZsYWcgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQmVhcmlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJlYXJpc2ggUGVubmFudCBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCZW5laXNoIE0tc2NvcmVfc3R1ZHkiXT1bIkJlbmVpc2ggTS1zY29yZSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRXaWR0aF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRXaWR0aCJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzICViX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMgJWIiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSBkaXJlY3RlZF9zdHVkeSJdPVsiQm9sbGluZ2VyIEJhbmRzIFN0cmF0ZWd5IGRpcmVjdGVkIl0sZS5leHBvcnRzWyJCb2xsaW5nZXIgQmFuZHMgU3RyYXRlZ3lfc3R1ZHkiXT1bIkJvbGxpbmdlciBCYW5kcyBTdHJhdGVneSJdLGUuZXhwb3J0c1siQm9sbGluZ2VyIEJhbmRzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFuZHMiXSxlLmV4cG9ydHNbIkJvbGxpbmdlciBCYXJzX3N0dWR5Il09WyJCb2xsaW5nZXIgQmFycyJdLGUuZXhwb3J0c1siQm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIkJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJCdWxsIEJlYXIgUG93ZXJfc3R1ZHkiXT1bIkJ1bGwgQmVhciBQb3dlciJdLGUuZXhwb3J0c1siQnVsbGlzaCBGbGFnIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkJ1bGxpc2ggRmxhZyBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJCdWxsaXNoIFBlbm5hbnQgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQnVsbGlzaCBQZW5uYW50IENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkJ1eWJhY2sgeWllbGQgJV9zdHVkeSJdPVsiQnV5YmFjayB5aWVsZCAlIl0sZS5leHBvcnRzWyJDT0dTIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkNPR1MgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0cy5DUlNJX3N0dWR5PVsiQ1JTSSJdLGUuZXhwb3J0c1siQ2FwRXggcGVyIHNoYXJlX3N0dWR5Il09WyJDYXBFeCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIkNhcGl0YWwgYW5kIG9wZXJhdGluZyBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbCBhbmQgb3BlcmF0aW5nIGxlYXNlIG9ibGlnYXRpb25zIl0sZS5leHBvcnRzWyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIGZpeGVkIGFzc2V0c19zdHVkeSJdPVsiQ2FwaXRhbCBleHBlbmRpdHVyZXMgLSBmaXhlZCBhc3NldHMiXSxlLmV4cG9ydHNbIkNhcGl0YWwgZXhwZW5kaXR1cmVzIC0gb3RoZXIgYXNzZXRzX3N0dWR5Il09WyJDYXBpdGFsIGV4cGVuZGl0dXJlcyAtIG90aGVyIGFzc2V0cyJdLGUuZXhwb3J0c1siQ2FwaXRhbCBleHBlbmRpdHVyZXNfc3R1ZHkiXT1bIkNhcGl0YWwgZXhwZW5kaXR1cmVzIl0sZS5leHBvcnRzWyJDYXBpdGFsaXplZCBsZWFzZSBvYmxpZ2F0aW9uc19zdHVkeSJdPVsiQ2FwaXRhbGl6ZWQgbGVhc2Ugb2JsaWdhdGlvbnMiXSxlLmV4cG9ydHNbIkNhc2ggJiBlcXVpdmFsZW50c19zdHVkeSJdPVsiQ2FzaCAmIGVxdWl2YWxlbnRzIl0sZS5leHBvcnRzWyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzX3N0dWR5Il09WyJDYXNoIGFuZCBzaG9ydCB0ZXJtIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJDYXNoIGNvbnZlcnNpb24gY3ljbGVfc3R1ZHkiXT1bIkNhc2ggY29udmVyc2lvbiBjeWNsZSJdLGUuZXhwb3J0c1siQ2FzaCBmcm9tIGZpbmFuY2luZyBhY3Rpdml0aWVzX3N0dWR5Il09WyJDYXNoIGZyb20gZmluYW5jaW5nIGFjdGl2aXRpZXMiXSxlLmV4cG9ydHNbIkNhc2ggZnJvbSBpbnZlc3RpbmcgYWN0aXZpdGllc19zdHVkeSJdPVsiQ2FzaCBmcm9tIGludmVzdGluZyBhY3Rpdml0aWVzIl0sZS5leHBvcnRzWyJDYXNoIGZyb20gb3BlcmF0aW5nIGFjdGl2aXRpZXNfc3R1ZHkiXT1bIkNhc2ggZnJvbSBvcGVyYXRpbmcgYWN0aXZpdGllcyJdLGUuZXhwb3J0c1siQ2FzaCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkNhc2ggcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJDYXNoIHRvIGRlYnQgcmF0aW9fc3R1ZHkiXT1bIkNhc2ggdG8gZGVidCByYXRpbyJdLGUuZXhwb3J0c1siQ2hhaWtpbiBNb25leSBGbG93X3N0dWR5Il09WyJDaGFpa2luIE1vbmV5IEZsb3ciXSxlLmV4cG9ydHNbIkNoYWlraW4gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhaWtpbiBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJDaGFpa2luIFZvbGF0aWxpdHlfc3R1ZHkiXT1bIkNoYWlraW4gVm9sYXRpbGl0eSJdLGUuZXhwb3J0c1siQ2hhbmRlIEtyb2xsIFN0b3Bfc3R1ZHkiXT1bIkNoYW5kZSBLcm9sbCBTdG9wIl0sZS5leHBvcnRzWyJDaGFuZGUgTW9tZW50dW0gT3NjaWxsYXRvcl9zdHVkeSJdPVsiQ2hhbmRlIE1vbWVudHVtIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBhY2NvdW50cyBwYXlhYmxlX3N0dWR5Il09WyJDaGFuZ2UgaW4gYWNjb3VudHMgcGF5YWJsZSJdLGUuZXhwb3J0c1siQ2hhbmdlIGluIGFjY291bnRzIHJlY2VpdmFibGVfc3R1ZHkiXT1bIkNoYW5nZSBpbiBhY2NvdW50cyByZWNlaXZhYmxlIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gYWNjcnVlZCBleHBlbnNlc19zdHVkeSJdPVsiQ2hhbmdlIGluIGFjY3J1ZWQgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIkNoYW5nZSBpbiBpbnZlbnRvcmllc19zdHVkeSJdPVsiQ2hhbmdlIGluIGludmVudG9yaWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzX3N0dWR5Il09WyJDaGFuZ2UgaW4gb3RoZXIgYXNzZXRzL2xpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJDaGFuZ2UgaW4gdGF4ZXMgcGF5YWJsZV9zdHVkeSJdPVsiQ2hhbmdlIGluIHRheGVzIHBheWFibGUiXSxlLmV4cG9ydHNbIkNoYW5nZXMgaW4gd29ya2luZyBjYXBpdGFsX3N0dWR5Il09WyJDaGFuZ2VzIGluIHdvcmtpbmcgY2FwaXRhbCJdLGUuZXhwb3J0cy5DaGFubmVsQnJlYWtPdXRTdHJhdGVneV9zdHVkeT1bIkNoYW5uZWxCcmVha091dFN0cmF0ZWd5Il0sCmUuZXhwb3J0c1siQ2hvcCBab25lX3N0dWR5Il09WyJDaG9wIFpvbmUiXSxlLmV4cG9ydHNbIkNob3BwaW5lc3MgSW5kZXhfc3R1ZHkiXT1bIkNob3BwaW5lc3MgSW5kZXgiXSxlLmV4cG9ydHNbIkNvbW1vZGl0eSBDaGFubmVsIEluZGV4X3N0dWR5Il09WyJDb21tb2RpdHkgQ2hhbm5lbCBJbmRleCJdLGUuZXhwb3J0c1siQ29tbW9uIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJDb21tb24gZGl2aWRlbmRzIHBhaWQiXSxlLmV4cG9ydHNbIkNvbW1vbiBlcXVpdHksIHRvdGFsX3N0dWR5Il09WyJDb21tb24gZXF1aXR5LCB0b3RhbCJdLGUuZXhwb3J0c1siQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZV9zdHVkeSJdPVsiQ29tbW9uIHN0b2NrIHBhci9DYXJyeWluZyB2YWx1ZSJdLGUuZXhwb3J0cy5Db21wYXJlX3N0dWR5PVsiQ29tcGFyZSJdLGUuZXhwb3J0c1siQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnNfc3R1ZHkiXT1bIkNvbmRpdGlvbmFsIEV4cHJlc3Npb25zIl0sZS5leHBvcnRzWyJDb25ub3JzIFJTSV9zdHVkeSJdPVsiQ29ubm9ycyBSU0kiXSxlLmV4cG9ydHMuQ29ubm9yc1JTSV9zdHVkeT1bIkNvbm5vcnNSU0kiXSxlLmV4cG9ydHNbIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3lfc3R1ZHkiXT1bIkNvbnNlY3V0aXZlIFVwL0Rvd24gU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkNvcHBvY2sgQ3VydmVfc3R1ZHkiXT1bIkNvcHBvY2sgQ3VydmUiXSxlLmV4cG9ydHNbIkNvcnJlbGF0aW9uIC0gTG9nX3N0dWR5Il09WyJDb3JyZWxhdGlvbiAtIExvZyJdLGUuZXhwb3J0c1siQ29ycmVsYXRpb24gQ29lZmZpY2llbnRfc3R1ZHkiXT1bIkNvcnJlbGF0aW9uIENvZWZmaWNpZW50Il0sZS5leHBvcnRzWyJDb3N0IG9mIGdvb2RzIHNvbGRfc3R1ZHkiXT1bIkNvc3Qgb2YgZ29vZHMgc29sZCJdLGUuZXhwb3J0c1siQ29zdCBvZiBnb29kc19zdHVkeSJdPVsiQ29zdCBvZiBnb29kcyJdLGUuZXhwb3J0c1siQ3J5cHRvIE9wZW4gSW50ZXJlc3Rfc3R1ZHkiXT1bIkNyeXB0byBPcGVuIEludGVyZXN0Il0sZS5leHBvcnRzWyJDdW11bGF0aXZlIFZvbHVtZSBEZWx0YV9zdHVkeSJdPVsiQ3VtdWxhdGl2ZSBWb2x1bWUgRGVsdGEiXSxlLmV4cG9ydHNbIkN1bXVsYXRpdmUgVm9sdW1lIEluZGV4X3N0dWR5Il09WyJDdW11bGF0aXZlIFZvbHVtZSBJbmRleCJdLGUuZXhwb3J0c1siQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiQ3VwIGFuZCBIYW5kbGUgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siQ3VycmVudCBwb3J0aW9uIG9mIExUIGRlYnQgYW5kIGNhcGl0YWwgbGVhc2VzX3N0dWR5Il09WyJDdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidCBhbmQgY2FwaXRhbCBsZWFzZXMiXSxlLmV4cG9ydHNbIkN1cnJlbnQgcmF0aW9fc3R1ZHkiXT1bIkN1cnJlbnQgcmF0aW8iXSxlLmV4cG9ydHMuRE1JX3N0dWR5PVsiRE1JIl0sZS5leHBvcnRzWyJEYXJrIENsb3VkIENvdmVyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRGFyayBDbG91ZCBDb3ZlciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIkRheXMgaW52ZW50b3J5X3N0dWR5Il09WyJEYXlzIGludmVudG9yeSJdLGUuZXhwb3J0c1siRGF5cyBwYXlhYmxlX3N0dWR5Il09WyJEYXlzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRheXMgc2FsZXMgb3V0c3RhbmRpbmdfc3R1ZHkiXT1bIkRheXMgc2FsZXMgb3V0c3RhbmRpbmciXSxlLmV4cG9ydHNbIkRlYnQgdG8gRUJJVERBIHJhdGlvX3N0dWR5Il09WyJEZWJ0IHRvIEVCSVREQSByYXRpbyJdLGUuZXhwb3J0c1siRGVidCB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkRlYnQgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJEZWJ0IHRvIGVxdWl0eSByYXRpb19zdHVkeSJdPVsiRGVidCB0byBlcXVpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIkRlYnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiRGVidCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJEZWZlcnJlZCBpbmNvbWUsIGN1cnJlbnRfc3R1ZHkiXT1bIkRlZmVycmVkIGluY29tZSwgY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudF9zdHVkeSJdPVsiRGVmZXJyZWQgaW5jb21lLCBub24tY3VycmVudCJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGFzc2V0c19zdHVkeSJdPVsiRGVmZXJyZWQgdGF4IGFzc2V0cyJdLGUuZXhwb3J0c1siRGVmZXJyZWQgdGF4IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJEZWZlcnJlZCB0YXggbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkRlZmVycmVkIHRheGVzIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZWZlcnJlZCB0YXhlcyAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbl9zdHVkeSJdPVsiRGVwcmVjYXRpb24gYW5kIGFtb3J0aXphdGlvbiJdLGUuZXhwb3J0c1siRGVwcmVjaWF0aW9uICYgYW1vcnRpemF0aW9uIChjYXNoIGZsb3cpX3N0dWR5Il09WyJEZXByZWNpYXRpb24gJiBhbW9ydGl6YXRpb24gKGNhc2ggZmxvdykiXSxlLmV4cG9ydHNbIkRlcHJlY2lhdGlvbi9kZXBsZXRpb25fc3R1ZHkiXT1bIkRlcHJlY2lhdGlvbi9kZXBsZXRpb24iXSxlLmV4cG9ydHMuRGVwcmVjaWF0aW9uX3N0dWR5PVsiRGVwcmVjaWF0aW9uIl0sZS5leHBvcnRzWyJEZXRyZW5kZWQgUHJpY2UgT3NjaWxsYXRvcl9zdHVkeSJdPVsiRGV0cmVuZGVkIFByaWNlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgRVBTX3N0dWR5Il09WyJEaWx1dGVkIEVQUyJdLGUuZXhwb3J0c1siRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKV9zdHVkeSJdPVsiRGlsdXRlZCBlYXJuaW5ncyBwZXIgc2hhcmUgKERpbHV0ZWQgRVBTKSJdLGUuZXhwb3J0c1siRGlsdXRlZCBuZXQgaW5jb21lIGF2YWlsYWJsZSB0byBjb21tb24gc3RvY2tob2xkZXJzX3N0dWR5Il09WyJEaWx1dGVkIG5ldCBpbmNvbWUgYXZhaWxhYmxlIHRvIGNvbW1vbiBzdG9ja2hvbGRlcnMiXSxlLmV4cG9ydHNbIkRpbHV0ZWQgc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJEaWx1dGVkIHNoYXJlcyBvdXRzdGFuZGluZyJdLAplLmV4cG9ydHNbIkRpbHV0aW9uIGFkanVzdG1lbnRfc3R1ZHkiXT1bIkRpbHV0aW9uIGFkanVzdG1lbnQiXSxlLmV4cG9ydHNbIkRpcmVjdGlvbmFsIE1vdmVtZW50IEluZGV4X3N0dWR5Il09WyJEaXJlY3Rpb25hbCBNb3ZlbWVudCBJbmRleCJdLGUuZXhwb3J0c1siRGlyZWN0aW9uYWwgTW92ZW1lbnRfc3R1ZHkiXT1bIkRpcmVjdGlvbmFsIE1vdmVtZW50Il0sZS5leHBvcnRzWyJEaXNjb250aW51ZWQgb3BlcmF0aW9uc19zdHVkeSJdPVsiRGlzY29udGludWVkIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHNbIkRpdmVyZ2VuY2UgSW5kaWNhdG9yX3N0dWR5Il09WyJEaXZlcmdlbmNlIEluZGljYXRvciJdLGUuZXhwb3J0c1siRGl2aWRlbmQgcGF5b3V0IHJhdGlvICVfc3R1ZHkiXT1bIkRpdmlkZW5kIHBheW91dCByYXRpbyAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZCB5aWVsZCAlX3N0dWR5Il09WyJEaXZpZGVuZCB5aWVsZCAlIl0sZS5leHBvcnRzWyJEaXZpZGVuZHMgcGF5YWJsZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBheWFibGUiXSxlLmV4cG9ydHNbIkRpdmlkZW5kcyBwZXIgc2hhcmUgLSBjb21tb24gc3RvY2sgcHJpbWFyeSBpc3N1ZV9zdHVkeSJdPVsiRGl2aWRlbmRzIHBlciBzaGFyZSAtIGNvbW1vbiBzdG9jayBwcmltYXJ5IGlzc3VlIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEb2ppIFN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJEb2ppIFN0YXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzLkRvamlfc3R1ZHk9WyJEb2ppIl0sZS5leHBvcnRzWyJEb25jaGlhbiBDaGFubmVsc19zdHVkeSJdPVsiRG9uY2hpYW4gQ2hhbm5lbHMiXSxlLmV4cG9ydHNbIkRvdWJsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiRG91YmxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJEb3VibGUgRU1BX3N0dWR5Il09WyJEb3VibGUgRU1BIl0sZS5leHBvcnRzWyJEb3VibGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkRvdWJsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siRG93bnNpZGUgVGFzdWtpIEdhcCAtIEJlYXJpc2hfc3R1ZHkiXT1bIkRvd25zaWRlIFRhc3VraSBHYXAgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJEcmFnb25mbHkgRG9qaSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkRyYWdvbmZseSBEb2ppIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siRUJJVCBwZXIgc2hhcmVfc3R1ZHkiXT1bIkVCSVQgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJFQklUREEgbWFyZ2luICVfc3R1ZHkiXT1bIkVCSVREQSBtYXJnaW4gJSJdLGUuZXhwb3J0c1siRUJJVERBIHBlciBzaGFyZV9zdHVkeSJdPVsiRUJJVERBIHBlciBzaGFyZSJdLGUuZXhwb3J0cy5FQklUREFfc3R1ZHk9WyJFQklUREEiXSxlLmV4cG9ydHMuRUJJVF9zdHVkeT1bIkVCSVQiXSxlLmV4cG9ydHNbIkVNQSBDcm9zc19zdHVkeSJdPVsiRU1BIENyb3NzIl0sZS5leHBvcnRzWyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoX3N0dWR5Il09WyJFUFMgYmFzaWMgb25lIHllYXIgZ3Jvd3RoIl0sZS5leHBvcnRzWyJFUFMgZGlsdXRlZCBvbmUgeWVhciBncm93dGhfc3R1ZHkiXT1bIkVQUyBkaWx1dGVkIG9uZSB5ZWFyIGdyb3d0aCJdLGUuZXhwb3J0c1siRVBTIGVzdGltYXRlc19zdHVkeSJdPVsiRVBTIGVzdGltYXRlcyJdLGUuZXhwb3J0c1siRWFybmluZ3MgeWllbGRfc3R1ZHkiXT1bIkVhcm5pbmdzIHlpZWxkIl0sZS5leHBvcnRzWyJFYXNlIE9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIE9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFYXNlIG9mIE1vdmVtZW50X3N0dWR5Il09WyJFYXNlIG9mIE1vdmVtZW50Il0sZS5leHBvcnRzWyJFZmZlY3RpdmUgaW50ZXJlc3QgcmF0ZSBvbiBkZWJ0ICVfc3R1ZHkiXT1bIkVmZmVjdGl2ZSBpbnRlcmVzdCByYXRlIG9uIGRlYnQgJSJdLGUuZXhwb3J0c1siRWxkZXIgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVyIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcidzIEZvcmNlIEluZGV4X3N0dWR5Il09WyJFbGRlcidzIEZvcmNlIEluZGV4Il0sZS5leHBvcnRzWyJFbGRlcnMgRm9yY2UgSW5kZXhfc3R1ZHkiXT1bIkVsZGVycyBGb3JjZSBJbmRleCJdLGUuZXhwb3J0c1siRWxsaW90dCBXYXZlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIkVsbGlvdHQgV2F2ZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCZWFyaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFbmd1bGZpbmcgLSBCdWxsaXNoX3N0dWR5Il09WyJFbmd1bGZpbmcgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIEVCSVQgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVCByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZSB0byBFQklUREEgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gRUJJVERBIHJhdGlvIl0sZS5leHBvcnRzWyJFbnRlcnByaXNlIHZhbHVlIHRvIHJldmVudWUgcmF0aW9fc3R1ZHkiXT1bIkVudGVycHJpc2UgdmFsdWUgdG8gcmV2ZW51ZSByYXRpbyJdLGUuZXhwb3J0c1siRW50ZXJwcmlzZSB2YWx1ZV9zdHVkeSJdPVsiRW50ZXJwcmlzZSB2YWx1ZSJdLGUuZXhwb3J0cy5FbnZlbG9wZV9zdHVkeT1bIkVudmVsb3BlIl0sZS5leHBvcnRzLkVudmVsb3Blc19zdHVkeT1bIkVudmVsb3BlcyJdLGUuZXhwb3J0c1siRXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJFcXVpdHkgaW4gZWFybmluZ3MiXSxlLmV4cG9ydHNbIkVxdWl0eSB0byBhc3NldHMgcmF0aW9fc3R1ZHkiXT1bIkVxdWl0eSB0byBhc3NldHMgcmF0aW8iXSxlLmV4cG9ydHNbIkV2ZW5pbmcgRG9qaSBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiRXZlbmluZyBEb2ppIFN0YXIgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoX3N0dWR5Il09WyJFdmVuaW5nIFN0YXIgLSBCZWFyaXNoIl0sCmUuZXhwb3J0c1siRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBUaHJlZSBNZXRob2RzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siRmFsbGluZyBXZWRnZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJGYWxsaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkZhbGxpbmcgV2luZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiRmFsbGluZyBXaW5kb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlc19zdHVkeSJdPVsiRmluYW5jaW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHNvdXJjZXMiXSxlLmV4cG9ydHNbIkZpbmFuY2luZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzX3N0dWR5Il09WyJGaW5hbmNpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgdXNlcyJdLGUuZXhwb3J0c1siRmlzaGVyIFRyYW5zZm9ybV9zdHVkeSJdPVsiRmlzaGVyIFRyYW5zZm9ybSJdLGUuZXhwb3J0c1siRml4ZWQgUmFuZ2UgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIkZpeGVkIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJGaXhlZCBSYW5nZV9zdHVkeSJdPVsiRml4ZWQgUmFuZ2UiXSxlLmV4cG9ydHNbIkZsb2F0IHNoYXJlcyBvdXRzdGFuZGluZ19zdHVkeSJdPVsiRmxvYXQgc2hhcmVzIG91dHN0YW5kaW5nIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvdyBtYXJnaW4gJV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgbWFyZ2luICUiXSxlLmV4cG9ydHNbIkZyZWUgY2FzaCBmbG93IHBlciBzaGFyZV9zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJGcmVlIGNhc2ggZmxvd19zdHVkeSJdPVsiRnJlZSBjYXNoIGZsb3ciXSxlLmV4cG9ydHNbIkZyZWUgZmxvYXRfc3R1ZHkiXT1bIkZyZWUgZmxvYXQiXSxlLmV4cG9ydHNbIkZ1bG1lciBIIGZhY3Rvcl9zdHVkeSJdPVsiRnVsbWVyIEggZmFjdG9yIl0sZS5leHBvcnRzWyJGdW5kaW5nIFJhdGVfc3R1ZHkiXT1bIkZ1bmRpbmcgUmF0ZSJdLGUuZXhwb3J0c1siRnVuZHMgZnJvbSBvcGVyYXRpb25zX3N0dWR5Il09WyJGdW5kcyBmcm9tIG9wZXJhdGlvbnMiXSxlLmV4cG9ydHMuR2Fwc19zdHVkeT1bIkdhcHMiXSxlLmV4cG9ydHNbIkdvb2R3aWxsIHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR29vZHdpbGwgdG8gYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJHb29kd2lsbCwgbmV0X3N0dWR5Il09WyJHb29kd2lsbCwgbmV0Il0sZS5leHBvcnRzWyJHcmFoYW0ncyBudW1iZXJfc3R1ZHkiXT1bIkdyYWhhbSdzIG51bWJlciJdLGUuZXhwb3J0c1siR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaF9zdHVkeSJdPVsiR3JhdmVzdG9uZSBEb2ppIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siR3JlZWR5IFN0cmF0ZWd5X3N0dWR5Il09WyJHcmVlZHkgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIkdyb3NzIG1hcmdpbiAlX3N0dWR5Il09WyJHcm9zcyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiR3Jvc3MgcHJvZml0IHRvIGFzc2V0cyByYXRpbyJdLGUuZXhwb3J0c1siR3Jvc3MgcHJvZml0X3N0dWR5Il09WyJHcm9zcyBwcm9maXQiXSxlLmV4cG9ydHNbIkdyb3NzIHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiR3Jvc3MgcHJvcGVydHkvcGxhbnQvZXF1aXBtZW50Il0sZS5leHBvcnRzWyJHdXBweSBNdWx0aXBsZSBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiR3VwcHkgTXVsdGlwbGUgTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIkhhbW1lciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkhhbW1lciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIkhhbmdpbmcgTWFuIC0gQmVhcmlzaF9zdHVkeSJdPVsiSGFuZ2luZyBNYW4gLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoX3N0dWR5Il09WyJIYXJhbWkgQ3Jvc3MgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkhpc3RvcmljYWwgVm9sYXRpbGl0eV9zdHVkeSJdPVsiSGlzdG9yaWNhbCBWb2xhdGlsaXR5Il0sZS5leHBvcnRzWyJIdWxsIE1vdmluZyBBdmVyYWdlX3N0dWR5Il09WyJIdWxsIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJJY2hpbW9rdSBDbG91ZF9zdHVkeSJdPVsiSWNoaW1va3UgQ2xvdWQiXSxlLmV4cG9ydHMuSWNoaW1va3Vfc3R1ZHk9WyJJY2hpbW9rdSJdLGUuZXhwb3J0cy5JbXBhaXJtZW50c19zdHVkeT1bIkltcGFpcm1lbnRzIl0sZS5leHBvcnRzWyJJblNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJJblNpZGUgQmFyIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJJbmNvbWUgVGF4IENyZWRpdHNfc3R1ZHkiXT1bIkluY29tZSBUYXggQ3JlZGl0cyJdLGUuZXhwb3J0c1siSW5jb21lIFRheCwgY3VycmVudCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSBUYXgsIGN1cnJlbnQgLSBmb3JlaWduIl0sZS5leHBvcnRzWyJJbmNvbWUgdGF4IHBheWFibGVfc3R1ZHkiXT1bIkluY29tZSB0YXggcGF5YWJsZSJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgY3VycmVudCAtIGRvbWVzdGljX3N0dWR5Il09WyJJbmNvbWUgdGF4LCBjdXJyZW50IC0gZG9tZXN0aWMiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGN1cnJlbnRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGN1cnJlbnQiXSxlLmV4cG9ydHNbIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWNfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZG9tZXN0aWMiXSwKZS5leHBvcnRzWyJJbmNvbWUgdGF4LCBkZWZlcnJlZCAtIGZvcmVpZ25fc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIC0gZm9yZWlnbiJdLGUuZXhwb3J0c1siSW5jb21lIHRheCwgZGVmZXJyZWRfc3R1ZHkiXT1bIkluY29tZSB0YXgsIGRlZmVycmVkIl0sZS5leHBvcnRzWyJJbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgY2FwaXRhbGl6ZWQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGNvdmVyYWdlX3N0dWR5Il09WyJJbnRlcmVzdCBjb3ZlcmFnZSJdLGUuZXhwb3J0c1siSW50ZXJlc3QgZXhwZW5zZSBvbiBkZWJ0X3N0dWR5Il09WyJJbnRlcmVzdCBleHBlbnNlIG9uIGRlYnQiXSxlLmV4cG9ydHNbIkludGVyZXN0IGV4cGVuc2UsIG5ldCBvZiBpbnRlcmVzdCBjYXBpdGFsaXplZF9zdHVkeSJdPVsiSW50ZXJlc3QgZXhwZW5zZSwgbmV0IG9mIGludGVyZXN0IGNhcGl0YWxpemVkIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIGZpbmlzaGVkIGdvb2RzIl0sZS5leHBvcnRzWyJJbnZlbnRvcmllcyAtIHByb2dyZXNzIHBheW1lbnRzICYgb3RoZXJfc3R1ZHkiXT1bIkludmVudG9yaWVzIC0gcHJvZ3Jlc3MgcGF5bWVudHMgJiBvdGhlciJdLGUuZXhwb3J0c1siSW52ZW50b3JpZXMgLSByYXcgbWF0ZXJpYWxzX3N0dWR5Il09WyJJbnZlbnRvcmllcyAtIHJhdyBtYXRlcmlhbHMiXSxlLmV4cG9ydHNbIkludmVudG9yaWVzIC0gd29yayBpbiBwcm9ncmVzc19zdHVkeSJdPVsiSW52ZW50b3JpZXMgLSB3b3JrIGluIHByb2dyZXNzIl0sZS5leHBvcnRzWyJJbnZlbnRvcnkgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiSW52ZW50b3J5IHRvIHJldmVudWUgcmF0aW8iXSxlLmV4cG9ydHNbIkludmVudG9yeSB0dXJub3Zlcl9zdHVkeSJdPVsiSW52ZW50b3J5IHR1cm5vdmVyIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuX3N0dWR5Il09WyJJbnZlcnRlZCBDdXAgYW5kIEhhbmRsZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoX3N0dWR5Il09WyJJbnZlcnRlZCBIYW1tZXIgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJJbnZlcnRlZCBIZWFkIGFuZCBTaG91bGRlcnMgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiSW52ZXJ0ZWQgSGVhZCBhbmQgU2hvdWxkZXJzIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciBzb3VyY2VzX3N0dWR5Il09WyJJbnZlc3RpbmcgYWN0aXZpdGllcyDigJMgb3RoZXIgc291cmNlcyJdLGUuZXhwb3J0c1siSW52ZXN0aW5nIGFjdGl2aXRpZXMg4oCTIG90aGVyIHVzZXNfc3R1ZHkiXT1bIkludmVzdGluZyBhY3Rpdml0aWVzIOKAkyBvdGhlciB1c2VzIl0sZS5leHBvcnRzWyJJbnZlc3RtZW50cyBpbiB1bmNvbnNvbGlkYXRlZCBzdWJzaWRpYXJpZXNfc3R1ZHkiXT1bIkludmVzdG1lbnRzIGluIHVuY29uc29saWRhdGVkIHN1YnNpZGlhcmllcyJdLGUuZXhwb3J0c1siSXNzdWFuY2Ugb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIGRlYnQsIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBkZWJ0LCBuZXQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIklzc3VhbmNlL3JldGlyZW1lbnQgb2YgbG9uZyB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygb3RoZXIgZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBvdGhlciBkZWJ0Il0sZS5leHBvcnRzWyJJc3N1YW5jZS9yZXRpcmVtZW50IG9mIHNob3J0IHRlcm0gZGVidF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIklzc3VhbmNlL3JldGlyZW1lbnQgb2Ygc3RvY2ssIG5ldF9zdHVkeSJdPVsiSXNzdWFuY2UvcmV0aXJlbWVudCBvZiBzdG9jaywgbmV0Il0sZS5leHBvcnRzWyJLWiBpbmRleF9zdHVkeSJdPVsiS1ogaW5kZXgiXSxlLmV4cG9ydHNbIktlbHRuZXIgQ2hhbm5lbCBTdHJhdGVneV9zdHVkeSJdPVsiS2VsdG5lciBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5X3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJLZWx0bmVyIENoYW5uZWxzX3N0dWR5Il09WyJLZWx0bmVyIENoYW5uZWxzIl0sZS5leHBvcnRzWyJLZXkgc3RhdHNfc3R1ZHkiXT1bIktleSBzdGF0cyJdLGUuZXhwb3J0c1siS2lja2luZyAtIEJlYXJpc2hfc3R1ZHkiXT1bIktpY2tpbmcgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJLaWNraW5nIC0gQnVsbGlzaF9zdHVkeSJdPVsiS2lja2luZyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIktsaW5nZXIgT3NjaWxsYXRvcl9zdHVkeSJdPVsiS2xpbmdlciBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJLbm93IFN1cmUgVGhpbmdfc3R1ZHkiXT1bIktub3cgU3VyZSBUaGluZyJdLGUuZXhwb3J0c1siTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTGVhc3QgU3F1YXJlcyBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0c1siTGVnYWwgY2xhaW0gZXhwZW5zZV9zdHVkeSJdPVsiTGVnYWwgY2xhaW0gZXhwZW5zZSJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbF9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gQ2hhbm5lbCJdLGUuZXhwb3J0c1siTGluZWFyIFJlZ3Jlc3Npb24gQ3VydmVfc3R1ZHkiXT1bIkxpbmVhciBSZWdyZXNzaW9uIEN1cnZlIl0sZS5leHBvcnRzWyJMaW5lYXIgUmVncmVzc2lvbiBTbG9wZV9zdHVkeSJdPVsiTGluZWFyIFJlZ3Jlc3Npb24gU2xvcGUiXSxlLmV4cG9ydHNbIkxpbmVhciBSZWdyZXNzaW9uX3N0dWR5Il09WyJMaW5lYXIgUmVncmVzc2lvbiJdLGUuZXhwb3J0cy5MaXF1aWRhdGlvbnNfc3R1ZHk9WyJMaXF1aWRhdGlvbnMiXSwKZS5leHBvcnRzWyJMaXF1aWRpdHkgcmF0aW9zX3N0dWR5Il09WyJMaXF1aWRpdHkgcmF0aW9zIl0sZS5leHBvcnRzWyJMb25nIExvd2VyIFNoYWRvdyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIkxvbmcgTG93ZXIgU2hhZG93IC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTG9uZyBTaG9ydCBBY2NvdW50cyAlX3N0dWR5Il09WyJMb25nIFNob3J0IEFjY291bnRzICUiXSxlLmV4cG9ydHNbIkxvbmcgVXBwZXIgU2hhZG93IC0gQmVhcmlzaF9zdHVkeSJdPVsiTG9uZyBVcHBlciBTaGFkb3cgLSBCZWFyaXNoIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCBleGNsLiBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgZXhjbC4gbGVhc2UgbGlhYmlsaXRpZXMiXSxlLmV4cG9ydHNbIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGFzc2V0cyByYXRpb19zdHVkeSJdPVsiTG9uZyB0ZXJtIGRlYnQgdG8gdG90YWwgYXNzZXRzIHJhdGlvIl0sZS5leHBvcnRzWyJMb25nIHRlcm0gZGVidCB0byB0b3RhbCBlcXVpdHkgcmF0aW9fc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0IHRvIHRvdGFsIGVxdWl0eSByYXRpbyJdLGUuZXhwb3J0c1siTG9uZyB0ZXJtIGRlYnRfc3R1ZHkiXT1bIkxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJMb25nIHRlcm0gaW52ZXN0bWVudHNfc3R1ZHkiXT1bIkxvbmcgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50c19zdHVkeSJdPVsiTG9uZy9TaG9ydCBSYXRpbyBBY2NvdW50cyJdLGUuZXhwb3J0c1siTUEgQ3Jvc3Nfc3R1ZHkiXT1bIk1BIENyb3NzIl0sZS5leHBvcnRzWyJNQSB3aXRoIEVNQSBDcm9zc19zdHVkeSJdPVsiTUEgd2l0aCBFTUEgQ3Jvc3MiXSxlLmV4cG9ydHNbIk1BL0VNQSBDcm9zc19zdHVkeSJdPVsiTUEvRU1BIENyb3NzIl0sZS5leHBvcnRzWyJNQUNEIFN0cmF0ZWd5X3N0dWR5Il09WyJNQUNEIFN0cmF0ZWd5Il0sZS5leHBvcnRzLk1BQ0Rfc3R1ZHk9WyJNQUNEIl0sZS5leHBvcnRzWyJNYWpvcml0eSBSdWxlX3N0dWR5Il09WyJNYWpvcml0eSBSdWxlIl0sZS5leHBvcnRzWyJNYXJrZXQgY2FwaXRhbGl6YXRpb25fc3R1ZHkiXT1bIk1hcmtldCBjYXBpdGFsaXphdGlvbiJdLGUuZXhwb3J0c1siTWFydWJvenUgQmxhY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJNYXJ1Ym96dSBCbGFjayAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIk1hcnVib3p1IFdoaXRlIC0gQnVsbGlzaF9zdHVkeSJdPVsiTWFydWJvenUgV2hpdGUgLSBCdWxsaXNoIl0sZS5leHBvcnRzWyJNYXNzIEluZGV4X3N0dWR5Il09WyJNYXNzIEluZGV4Il0sZS5leHBvcnRzWyJNY0dpbmxleSBEeW5hbWljX3N0dWR5Il09WyJNY0dpbmxleSBEeW5hbWljIl0sZS5leHBvcnRzWyJNZWRpYW4gUHJpY2Vfc3R1ZHkiXT1bIk1lZGlhbiBQcmljZSJdLGUuZXhwb3J0cy5NZWRpYW5fc3R1ZHk9WyJNZWRpYW4iXSxlLmV4cG9ydHNbIk1pbm9yaXR5IGludGVyZXN0X3N0dWR5Il09WyJNaW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTWlzY2VsbGFuZW91cyBub24tb3BlcmF0aW5nIGV4cGVuc2Vfc3R1ZHkiXT1bIk1pc2NlbGxhbmVvdXMgbm9uLW9wZXJhdGluZyBleHBlbnNlIl0sZS5leHBvcnRzWyJNb21lbnR1bSBTdHJhdGVneV9zdHVkeSJdPVsiTW9tZW50dW0gU3RyYXRlZ3kiXSxlLmV4cG9ydHMuTW9tZW50dW1fc3R1ZHk9WyJNb21lbnR1bSJdLGUuZXhwb3J0c1siTW9uZXkgRmxvdyBJbmRleF9zdHVkeSJdPVsiTW9uZXkgRmxvdyBJbmRleCJdLGUuZXhwb3J0c1siTW9uZXkgRmxvd19zdHVkeSJdPVsiTW9uZXkgRmxvdyJdLGUuZXhwb3J0c1siTW9vbiBQaGFzZXNfc3R1ZHkiXT1bIk1vb24gUGhhc2VzIl0sZS5leHBvcnRzWyJNb3JuaW5nIERvamkgU3RhciAtIEJ1bGxpc2hfc3R1ZHkiXT1bIk1vcm5pbmcgRG9qaSBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW9ybmluZyBTdGFyIC0gQnVsbGlzaF9zdHVkeSJdPVsiTW9ybmluZyBTdGFyIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgQWRhcHRpdmVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEFkYXB0aXZlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDaGFubmVsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBDb252ZXJnZW5jZS9EaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBEb3VibGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIERvdWJsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgRXhwb25lbnRpYWxfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIEV4cG9uZW50aWFsIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBIYW1taW5nIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBNb2RpZmllZF9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgTW9kaWZpZWQiXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIE11bHRpcGxlX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBNdWx0aXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgUmliYm9uX3N0dWR5Il09WyJNb3ZpbmcgQXZlcmFnZSBSaWJib24iXSxlLmV4cG9ydHNbIk1vdmluZyBBdmVyYWdlIFNpbXBsZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UgU2ltcGxlIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZSBUcmlwbGVfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFRyaXBsZSJdLGUuZXhwb3J0c1siTW92aW5nIEF2ZXJhZ2UgV2VpZ2h0ZWRfc3R1ZHkiXT1bIk1vdmluZyBBdmVyYWdlIFdlaWdodGVkIl0sZS5leHBvcnRzWyJNb3ZpbmcgQXZlcmFnZV9zdHVkeSJdPVsiTW92aW5nIEF2ZXJhZ2UiXSxlLmV4cG9ydHNbIk1vdmluZ0F2ZyBDcm9zc19zdHVkeSJdPVsiTW92aW5nQXZnIENyb3NzIl0sCmUuZXhwb3J0c1siTW92aW5nQXZnMkxpbmUgQ3Jvc3Nfc3R1ZHkiXT1bIk1vdmluZ0F2ZzJMaW5lIENyb3NzIl0sZS5leHBvcnRzWyJNdWx0aS1UaW1lIFBlcmlvZCBDaGFydHNfc3R1ZHkiXT1bIk11bHRpLVRpbWUgUGVyaW9kIENoYXJ0cyJdLGUuZXhwb3J0c1siTmV0IFZvbHVtZV9zdHVkeSJdPVsiTmV0IFZvbHVtZSJdLGUuZXhwb3J0c1siTmV0IGN1cnJlbnQgYXNzZXQgdmFsdWUgcGVyIHNoYXJlX3N0dWR5Il09WyJOZXQgY3VycmVudCBhc3NldCB2YWx1ZSBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIk5ldCBkZWJ0X3N0dWR5Il09WyJOZXQgZGVidCJdLGUuZXhwb3J0c1siTmV0IGluY29tZSAoY2FzaCBmbG93KV9zdHVkeSJdPVsiTmV0IGluY29tZSAoY2FzaCBmbG93KSJdLGUuZXhwb3J0c1siTmV0IGluY29tZSBiZWZvcmUgZGlzY29udGludWVkIG9wZXJhdGlvbnNfc3R1ZHkiXT1bIk5ldCBpbmNvbWUgYmVmb3JlIGRpc2NvbnRpbnVlZCBvcGVyYXRpb25zIl0sZS5leHBvcnRzWyJOZXQgaW5jb21lIHBlciBlbXBsb3llZV9zdHVkeSJdPVsiTmV0IGluY29tZSBwZXIgZW1wbG95ZWUiXSxlLmV4cG9ydHNbIk5ldCBpbmNvbWVfc3R1ZHkiXT1bIk5ldCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5ldCBpbnRhbmdpYmxlIGFzc2V0c19zdHVkeSJdPVsiTmV0IGludGFuZ2libGUgYXNzZXRzIl0sZS5leHBvcnRzWyJOZXQgbWFyZ2luICVfc3R1ZHkiXT1bIk5ldCBtYXJnaW4gJSJdLGUuZXhwb3J0c1siTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudF9zdHVkeSJdPVsiTmV0IHByb3BlcnR5L3BsYW50L2VxdWlwbWVudCJdLGUuZXhwb3J0c1siTm9uLWNhc2ggaXRlbXNfc3R1ZHkiXT1bIk5vbi1jYXNoIGl0ZW1zIl0sZS5leHBvcnRzWyJOb24tY29udHJvbGxpbmcvbWlub3JpdHkgaW50ZXJlc3Rfc3R1ZHkiXT1bIk5vbi1jb250cm9sbGluZy9taW5vcml0eSBpbnRlcmVzdCJdLGUuZXhwb3J0c1siTm9uLW9wZXJhdGluZyBpbmNvbWUsIGV4Y2wuIGludGVyZXN0IGV4cGVuc2VzX3N0dWR5Il09WyJOb24tb3BlcmF0aW5nIGluY29tZSwgZXhjbC4gaW50ZXJlc3QgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIk5vbi1vcGVyYXRpbmcgaW5jb21lLCB0b3RhbF9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbmNvbWUsIHRvdGFsIl0sZS5leHBvcnRzWyJOb24tb3BlcmF0aW5nIGludGVyZXN0IGluY29tZV9zdHVkeSJdPVsiTm9uLW9wZXJhdGluZyBpbnRlcmVzdCBpbmNvbWUiXSxlLmV4cG9ydHNbIk5vdGUgcmVjZWl2YWJsZSAtIGxvbmcgdGVybV9zdHVkeSJdPVsiTm90ZSByZWNlaXZhYmxlIC0gbG9uZyB0ZXJtIl0sZS5leHBvcnRzWyJOb3RlcyBwYXlhYmxlX3N0dWR5Il09WyJOb3RlcyBwYXlhYmxlIl0sZS5leHBvcnRzWyJOdW1iZXIgb2YgZW1wbG95ZWVzX3N0dWR5Il09WyJOdW1iZXIgb2YgZW1wbG95ZWVzIl0sZS5leHBvcnRzWyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzX3N0dWR5Il09WyJOdW1iZXIgb2Ygc2hhcmVob2xkZXJzIl0sZS5leHBvcnRzWyJPbiBCYWxhbmNlIFZvbHVtZV9zdHVkeSJdPVsiT24gQmFsYW5jZSBWb2x1bWUiXSxlLmV4cG9ydHNbIk9uIE5lY2sgLSBCZWFyaXNoX3N0dWR5Il09WyJPbiBOZWNrIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siT3BlbiBJbnRlcmVzdF9zdHVkeSJdPVsiT3BlbiBJbnRlcmVzdCJdLGUuZXhwb3J0c1siT3BlcmF0aW5nIGNhc2ggZmxvdyBwZXIgc2hhcmVfc3R1ZHkiXT1bIk9wZXJhdGluZyBjYXNoIGZsb3cgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgZWFybmluZ3MgeWllbGQgJV9zdHVkeSJdPVsiT3BlcmF0aW5nIGVhcm5pbmdzIHlpZWxkICUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUylfc3R1ZHkiXT1bIk9wZXJhdGluZyBleHBlbnNlcyAoZXhjbC4gQ09HUykiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBpbmNvbWVfc3R1ZHkiXT1bIk9wZXJhdGluZyBpbmNvbWUiXSxlLmV4cG9ydHNbIk9wZXJhdGluZyBsZWFzZSBsaWFiaWxpdGllc19zdHVkeSJdPVsiT3BlcmF0aW5nIGxlYXNlIGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPcGVyYXRpbmcgbWFyZ2luICVfc3R1ZHkiXT1bIk9wZXJhdGluZyBtYXJnaW4gJSJdLGUuZXhwb3J0c1siT3RoZXIgQ09HU19zdHVkeSJdPVsiT3RoZXIgQ09HUyJdLGUuZXhwb3J0c1siT3RoZXIgY29tbW9uIGVxdWl0eV9zdHVkeSJdPVsiT3RoZXIgY29tbW9uIGVxdWl0eSJdLGUuZXhwb3J0c1siT3RoZXIgY29zdCBvZiBnb29kcyBzb2xkX3N0dWR5Il09WyJPdGhlciBjb3N0IG9mIGdvb2RzIHNvbGQiXSxlLmV4cG9ydHNbIk90aGVyIGN1cnJlbnQgYXNzZXRzLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgY3VycmVudCBhc3NldHMsIHRvdGFsIl0sZS5leHBvcnRzWyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJPdGhlciBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzX3N0dWR5Il09WyJPdGhlciBleGNlcHRpb25hbCBjaGFyZ2VzIl0sZS5leHBvcnRzWyJPdGhlciBmaW5hbmNpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbF9zdHVkeSJdPVsiT3RoZXIgZmluYW5jaW5nIGNhc2ggZmxvdyBpdGVtcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIGludGFuZ2libGVzLCBuZXRfc3R1ZHkiXT1bIk90aGVyIGludGFuZ2libGVzLCBuZXQiXSxlLmV4cG9ydHNbIk90aGVyIGludmVzdGluZyBjYXNoIGZsb3cgaXRlbXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBpbnZlc3RpbmcgY2FzaCBmbG93IGl0ZW1zLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIk90aGVyIGludmVzdG1lbnRzIl0sZS5leHBvcnRzWyJPdGhlciBsaWFiaWxpdGllcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxpYWJpbGl0aWVzLCB0b3RhbCJdLGUuZXhwb3J0c1siT3RoZXIgbG9uZyB0ZXJtIGFzc2V0cywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIGxvbmcgdGVybSBhc3NldHMsIHRvdGFsIl0sCmUuZXhwb3J0c1siT3RoZXIgbm9uLWN1cnJlbnQgbGlhYmlsaXRpZXMsIHRvdGFsX3N0dWR5Il09WyJPdGhlciBub24tY3VycmVudCBsaWFiaWxpdGllcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIk90aGVyIG9wZXJhdGluZyBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIk90aGVyIHJlY2VpdmFibGVzX3N0dWR5Il09WyJPdGhlciByZWNlaXZhYmxlcyJdLGUuZXhwb3J0c1siT3RoZXIgc2hvcnQgdGVybSBkZWJ0X3N0dWR5Il09WyJPdGhlciBzaG9ydCB0ZXJtIGRlYnQiXSxlLmV4cG9ydHNbIk91dFNpZGUgQmFyIFN0cmF0ZWd5X3N0dWR5Il09WyJPdXRTaWRlIEJhciBTdHJhdGVneSJdLGUuZXhwb3J0cy5PdmVybGF5X3N0dWR5PVsiT3ZlcmxheSJdLGUuZXhwb3J0c1siUEVHIHJhdGlvX3N0dWR5Il09WyJQRUcgcmF0aW8iXSxlLmV4cG9ydHNbIlBhaWQgaW4gY2FwaXRhbF9zdHVkeSJdPVsiUGFpZCBpbiBjYXBpdGFsIl0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5X3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQYXJhYm9saWMgU0FSX3N0dWR5Il09WyJQYXJhYm9saWMgU0FSIl0sZS5leHBvcnRzWyJQZXIgc2hhcmUgbWV0cmljc19zdHVkeSJdPVsiUGVyIHNoYXJlIG1ldHJpY3MiXSxlLmV4cG9ydHMuUGVyZm9ybWFuY2Vfc3R1ZHk9WyJQZXJmb3JtYW5jZSJdLGUuZXhwb3J0c1siUGVyaW9kaWMgVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlBlcmlvZGljIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJQaWVyY2luZyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlBpZXJjaW5nIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUGlvdHJvc2tpIEYtc2NvcmVfc3R1ZHkiXT1bIlBpb3Ryb3NraSBGLXNjb3JlIl0sZS5leHBvcnRzWyJQaXZvdCBFeHRlbnNpb24gU3RyYXRlZ3lfc3R1ZHkiXT1bIlBpdm90IEV4dGVuc2lvbiBTdHJhdGVneSJdLGUuZXhwb3J0c1siUGl2b3QgUG9pbnRzIEhpZ2ggTG93X3N0dWR5Il09WyJQaXZvdCBQb2ludHMgSGlnaCBMb3ciXSxlLmV4cG9ydHNbIlBpdm90IFBvaW50cyBTdGFuZGFyZF9zdHVkeSJdPVsiUGl2b3QgUG9pbnRzIFN0YW5kYXJkIl0sZS5leHBvcnRzWyJQaXZvdCBSZXZlcnNhbCBTdHJhdGVneV9zdHVkeSJdPVsiUGl2b3QgUmV2ZXJzYWwgU3RyYXRlZ3kiXSxlLmV4cG9ydHNbIlByZWZlcnJlZCBkaXZpZGVuZHMgcGFpZF9zdHVkeSJdPVsiUHJlZmVycmVkIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgZGl2aWRlbmRzX3N0dWR5Il09WyJQcmVmZXJyZWQgZGl2aWRlbmRzIl0sZS5leHBvcnRzWyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlX3N0dWR5Il09WyJQcmVmZXJyZWQgc3RvY2ssIGNhcnJ5aW5nIHZhbHVlIl0sZS5leHBvcnRzWyJQcmVwYWlkIGV4cGVuc2VzX3N0dWR5Il09WyJQcmVwYWlkIGV4cGVuc2VzIl0sZS5leHBvcnRzWyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzX3N0dWR5Il09WyJQcmV0YXggZXF1aXR5IGluIGVhcm5pbmdzIl0sZS5leHBvcnRzWyJQcmV0YXggaW5jb21lX3N0dWR5Il09WyJQcmV0YXggaW5jb21lIl0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5X3N0dWR5Il09WyJQcmljZSBDaGFubmVsIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJQcmljZSBDaGFubmVsX3N0dWR5Il09WyJQcmljZSBDaGFubmVsIl0sZS5leHBvcnRzWyJQcmljZSBPc2NpbGxhdG9yX3N0dWR5Il09WyJQcmljZSBPc2NpbGxhdG9yIl0sZS5leHBvcnRzWyJQcmljZSBUYXJnZXRfc3R1ZHkiXT1bIlByaWNlIFRhcmdldCJdLGUuZXhwb3J0c1siUHJpY2UgVm9sdW1lIFRyZW5kX3N0dWR5Il09WyJQcmljZSBWb2x1bWUgVHJlbmQiXSxlLmV4cG9ydHNbIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIGVhcm5pbmdzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmRfc3R1ZHkiXT1bIlByaWNlIHNhbGVzIHJhdGlvIGZvcndhcmQiXSxlLmV4cG9ydHNbIlByaWNlIHRvIGJvb2sgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIGJvb2sgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGNhc2ggZmxvdyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gY2FzaCBmbG93IHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byBlYXJuaW5ncyByYXRpb19zdHVkeSJdPVsiUHJpY2UgdG8gZWFybmluZ3MgcmF0aW8iXSxlLmV4cG9ydHNbIlByaWNlIHRvIGZyZWUgY2FzaCBmbG93IHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byBmcmVlIGNhc2ggZmxvdyByYXRpbyJdLGUuZXhwb3J0c1siUHJpY2UgdG8gc2FsZXMgcmF0aW9fc3R1ZHkiXT1bIlByaWNlIHRvIHNhbGVzIHJhdGlvIl0sZS5leHBvcnRzWyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvX3N0dWR5Il09WyJQcmljZSB0byB0YW5naWJsZSBib29rIHJhdGlvIl0sZS5leHBvcnRzWyJQcm9maXRhYmlsaXR5IHJhdGlvc19zdHVkeSJdPVsiUHJvZml0YWJpbGl0eSByYXRpb3MiXSxlLmV4cG9ydHNbIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2Vfc3R1ZHkiXT1bIlByb3Zpc2lvbiBmb3Igcmlza3MgJiBjaGFyZ2UiXSxlLmV4cG9ydHNbIlB1cmNoYXNlIG9mIGludmVzdG1lbnRzX3N0dWR5Il09WyJQdXJjaGFzZSBvZiBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siUHVyY2hhc2UvYWNxdWlzaXRpb24gb2YgYnVzaW5lc3Nfc3R1ZHkiXT1bIlB1cmNoYXNlL2FjcXVpc2l0aW9uIG9mIGJ1c2luZXNzIl0sZS5leHBvcnRzWyJQdXJjaGFzZS9zYWxlIG9mIGJ1c2luZXNzLCBuZXRfc3R1ZHkiXT1bIlB1cmNoYXNlL3NhbGUgb2YgYnVzaW5lc3MsIG5ldCJdLGUuZXhwb3J0c1siUHVyY2hhc2Uvc2FsZSBvZiBpbnZlc3RtZW50cywgbmV0X3N0dWR5Il09WyJQdXJjaGFzZS9zYWxlIG9mIGludmVzdG1lbnRzLCBuZXQiXSxlLmV4cG9ydHNbIlF1YWxpdHkgcmF0aW9fc3R1ZHkiXT1bIlF1YWxpdHkgcmF0aW8iXSxlLmV4cG9ydHNbIlF1aWNrIHJhdGlvX3N0dWR5Il09WyJRdWljayByYXRpbyJdLAplLmV4cG9ydHNbIlJDSSBSaWJib25fc3R1ZHkiXT1bIlJDSSBSaWJib24iXSxlLmV4cG9ydHNbIlJTSSBEaXZlcmdlbmNlIEluZGljYXRvcl9zdHVkeSJdPVsiUlNJIERpdmVyZ2VuY2UgSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJSU0kgU3RyYXRlZ3lfc3R1ZHkiXT1bIlJTSSBTdHJhdGVneSJdLGUuZXhwb3J0c1siUmFuayBDb3JyZWxhdGlvbiBJbmRleF9zdHVkeSJdPVsiUmFuayBDb3JyZWxhdGlvbiBJbmRleCJdLGUuZXhwb3J0c1siUmF0ZSBPZiBDaGFuZ2Vfc3R1ZHkiXT1bIlJhdGUgT2YgQ2hhbmdlIl0sZS5leHBvcnRzWyJSZWN0YW5nbGUgQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiUmVjdGFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlJlZHVjdGlvbiBvZiBsb25nIHRlcm0gZGVidF9zdHVkeSJdPVsiUmVkdWN0aW9uIG9mIGxvbmcgdGVybSBkZWJ0Il0sZS5leHBvcnRzWyJSZWxhdGl2ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgU3RyZW5ndGggSW5kZXgiXSxlLmV4cG9ydHNbIlJlbGF0aXZlIFZpZ29yIEluZGV4X3N0dWR5Il09WyJSZWxhdGl2ZSBWaWdvciBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiUmVsYXRpdmUgVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siUmVsYXRpdmUgVm9sdW1lIGF0IFRpbWVfc3R1ZHkiXT1bIlJlbGF0aXZlIFZvbHVtZSBhdCBUaW1lIl0sZS5leHBvcnRzWyJSZXB1cmNoYXNlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9ja19zdHVkeSJdPVsiUmVwdXJjaGFzZSBvZiBjb21tb24gJiBwcmVmZXJyZWQgc3RvY2siXSxlLmV4cG9ydHNbIlJlc2VhcmNoICYgZGV2ZWxvcG1lbnQgdG8gcmV2ZW51ZSByYXRpb19zdHVkeSJdPVsiUmVzZWFyY2ggJiBkZXZlbG9wbWVudCB0byByZXZlbnVlIHJhdGlvIl0sZS5leHBvcnRzWyJSZXNlYXJjaCAmIGRldmVsb3BtZW50X3N0dWR5Il09WyJSZXNlYXJjaCAmIGRldmVsb3BtZW50Il0sZS5leHBvcnRzWyJSZXN0cnVjdHVyaW5nIGNoYXJnZV9zdHVkeSJdPVsiUmVzdHJ1Y3R1cmluZyBjaGFyZ2UiXSxlLmV4cG9ydHNbIlJldGFpbmVkIGVhcm5pbmdzX3N0dWR5Il09WyJSZXRhaW5lZCBlYXJuaW5ncyJdLGUuZXhwb3J0c1siUmV0dXJuIG9uIGFzc2V0cyAlX3N0dWR5Il09WyJSZXR1cm4gb24gYXNzZXRzICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBlcXVpdHkgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gZXF1aXR5IGFkanVzdGVkIHRvIGJvb2sgdmFsdWUgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIGVxdWl0eSBhZGp1c3RlZCB0byBib29rIHZhbHVlICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICVfc3R1ZHkiXT1bIlJldHVybiBvbiBpbnZlc3RlZCBjYXBpdGFsICUiXSxlLmV4cG9ydHNbIlJldHVybiBvbiB0YW5naWJsZSBhc3NldHMgJV9zdHVkeSJdPVsiUmV0dXJuIG9uIHRhbmdpYmxlIGFzc2V0cyAlIl0sZS5leHBvcnRzWyJSZXR1cm4gb24gdGFuZ2libGUgZXF1aXR5ICVfc3R1ZHkiXT1bIlJldHVybiBvbiB0YW5naWJsZSBlcXVpdHkgJSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBlc3RpbWF0ZXNfc3R1ZHkiXT1bIlJldmVudWUgZXN0aW1hdGVzIl0sZS5leHBvcnRzWyJSZXZlbnVlIG9uZSB5ZWFyIGdyb3d0aF9zdHVkeSJdPVsiUmV2ZW51ZSBvbmUgeWVhciBncm93dGgiXSxlLmV4cG9ydHNbIlJldmVudWUgcGVyIGVtcGxveWVlX3N0dWR5Il09WyJSZXZlbnVlIHBlciBlbXBsb3llZSJdLGUuZXhwb3J0c1siUmV2ZW51ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlJldmVudWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJSaXNpbmcgVGhyZWUgTWV0aG9kcyAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlJpc2luZyBUaHJlZSBNZXRob2RzIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siUmlzaW5nIFdlZGdlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlJpc2luZyBXZWRnZSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJSaXNpbmcgV2luZG93IC0gQnVsbGlzaF9zdHVkeSJdPVsiUmlzaW5nIFdpbmRvdyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXRfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBBRFggQnJlYWtvdXQiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHNfc3R1ZHkiXT1bIlJvYiBCb29rZXIgLSBJbnRyYWRheSBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBLbm94dmlsbGUgRGl2ZXJnZW5jZV9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIEtub3h2aWxsZSBEaXZlcmdlbmNlIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gTWlzc2VkIFBpdm90IFBvaW50c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIE1pc3NlZCBQaXZvdCBQb2ludHMiXSxlLmV4cG9ydHNbIlJvYiBCb29rZXIgLSBSZXZlcnNhbF9zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFJldmVyc2FsIl0sZS5leHBvcnRzWyJSb2IgQm9va2VyIC0gWml2IEdob3N0IFBpdm90c19zdHVkeSJdPVsiUm9iIEJvb2tlciAtIFppdiBHaG9zdCBQaXZvdHMiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIEluZGljYXRvci9Pc2NpbGxhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IvT3NjaWxsYXRvciJdLGUuZXhwb3J0c1siU01JIEVyZ29kaWMgSW5kaWNhdG9yX3N0dWR5Il09WyJTTUkgRXJnb2RpYyBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIlNNSSBFcmdvZGljIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlNNSSBFcmdvZGljIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlNhbGUgb2YgY29tbW9uICYgcHJlZmVycmVkIHN0b2NrX3N0dWR5Il09WyJTYWxlIG9mIGNvbW1vbiAmIHByZWZlcnJlZCBzdG9jayJdLGUuZXhwb3J0c1siU2FsZSBvZiBmaXhlZCBhc3NldHMgJiBidXNpbmVzc2VzX3N0dWR5Il09WyJTYWxlIG9mIGZpeGVkIGFzc2V0cyAmIGJ1c2luZXNzZXMiXSxlLmV4cG9ydHNbIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHNfc3R1ZHkiXT1bIlNhbGUvbWF0dXJpdHkgb2YgaW52ZXN0bWVudHMiXSwKZS5leHBvcnRzLlNlYXNvbmFsaXR5X3N0dWR5PVsiU2Vhc29uYWxpdHkiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXJfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgb3RoZXIiXSxlLmV4cG9ydHNbIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWxfc3R1ZHkiXT1bIlNlbGxpbmcvZ2VuZXJhbC9hZG1pbiBleHBlbnNlcywgdG90YWwiXSxlLmV4cG9ydHNbIlNlc3Npb24gVGltZSBQcmljZSBPcHBvcnR1bml0eV9zdHVkeSJdPVsiU2Vzc2lvbiBUaW1lIFByaWNlIE9wcG9ydHVuaXR5Il0sZS5leHBvcnRzWyJTZXNzaW9uIFZvbHVtZSBIRF9zdHVkeSJdPVsiU2Vzc2lvbiBWb2x1bWUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSERfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUgSEQiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lIFByb2ZpbGVfc3R1ZHkiXT1bIlNlc3Npb24gVm9sdW1lIFByb2ZpbGUiXSxlLmV4cG9ydHNbIlNlc3Npb24gVm9sdW1lX3N0dWR5Il09WyJTZXNzaW9uIFZvbHVtZSJdLGUuZXhwb3J0c1siU2hhcmVob2xkZXJzJyBlcXVpdHlfc3R1ZHkiXT1bIlNoYXJlaG9sZGVycycgZXF1aXR5Il0sZS5leHBvcnRzWyJTaGFyZXMgYnV5YmFjayByYXRpbyAlX3N0dWR5Il09WyJTaGFyZXMgYnV5YmFjayByYXRpbyAlIl0sZS5leHBvcnRzWyJTaG9vdGluZyBTdGFyIC0gQmVhcmlzaF9zdHVkeSJdPVsiU2hvb3RpbmcgU3RhciAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlNob3J0IHRlcm0gZGVidCBleGNsLiBjdXJyZW50IHBvcnRpb24gb2YgTFQgZGVidF9zdHVkeSJdPVsiU2hvcnQgdGVybSBkZWJ0IGV4Y2wuIGN1cnJlbnQgcG9ydGlvbiBvZiBMVCBkZWJ0Il0sZS5leHBvcnRzWyJTaG9ydCB0ZXJtIGRlYnRfc3R1ZHkiXT1bIlNob3J0IHRlcm0gZGVidCJdLGUuZXhwb3J0c1siU2hvcnQgdGVybSBpbnZlc3RtZW50c19zdHVkeSJdPVsiU2hvcnQgdGVybSBpbnZlc3RtZW50cyJdLGUuZXhwb3J0c1siU2xvYW4gcmF0aW8gJV9zdHVkeSJdPVsiU2xvYW4gcmF0aW8gJSJdLGUuZXhwb3J0c1siU21vb3RoZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlNtb290aGVkIE1vdmluZyBBdmVyYWdlIl0sZS5leHBvcnRzWyJTb2x2ZW5jeSByYXRpb3Nfc3R1ZHkiXT1bIlNvbHZlbmN5IHJhdGlvcyJdLGUuZXhwb3J0c1siU3Bpbm5pbmcgVG9wIEJsYWNrX3N0dWR5Il09WyJTcGlubmluZyBUb3AgQmxhY2siXSxlLmV4cG9ydHNbIlNwaW5uaW5nIFRvcCBXaGl0ZV9zdHVkeSJdPVsiU3Bpbm5pbmcgVG9wIFdoaXRlIl0sZS5leHBvcnRzWyJTcHJpbmdhdGUgc2NvcmVfc3R1ZHkiXT1bIlNwcmluZ2F0ZSBzY29yZSJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRGV2aWF0aW9uX3N0dWR5Il09WyJTdGFuZGFyZCBEZXZpYXRpb24iXSxlLmV4cG9ydHNbIlN0YW5kYXJkIEVycm9yIEJhbmRzX3N0dWR5Il09WyJTdGFuZGFyZCBFcnJvciBCYW5kcyJdLGUuZXhwb3J0c1siU3RhbmRhcmQgRXJyb3Jfc3R1ZHkiXT1bIlN0YW5kYXJkIEVycm9yIl0sZS5leHBvcnRzLlN0b2NoX3N0dWR5PVsiU3RvY2giXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXhfc3R1ZHkiXT1bIlN0b2NoYXN0aWMgTW9tZW50dW0gSW5kZXgiXSxlLmV4cG9ydHNbIlN0b2NoYXN0aWMgUlNJX3N0dWR5Il09WyJTdG9jaGFzdGljIFJTSSJdLGUuZXhwb3J0c1siU3RvY2hhc3RpYyBTbG93IFN0cmF0ZWd5X3N0dWR5Il09WyJTdG9jaGFzdGljIFNsb3cgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3RvY2hhc3RpY19zdHVkeT1bIlN0b2NoYXN0aWMiXSxlLmV4cG9ydHMuU3VwZXJUcmVuZF9zdHVkeT1bIlN1cGVyVHJlbmQiXSxlLmV4cG9ydHNbIlN1cGVydHJlbmQgU3RyYXRlZ3lfc3R1ZHkiXT1bIlN1cGVydHJlbmQgU3RyYXRlZ3kiXSxlLmV4cG9ydHMuU3VwZXJ0cmVuZF9zdHVkeT1bIlN1cGVydHJlbmQiXSxlLmV4cG9ydHNbIlN1c3RhaW5hYmxlIGdyb3d0aCByYXRlX3N0dWR5Il09WyJTdXN0YWluYWJsZSBncm93dGggcmF0ZSJdLGUuZXhwb3J0cy5UUklYX3N0dWR5PVsiVFJJWCJdLGUuZXhwb3J0c1siVGFuZ2libGUgYm9vayB2YWx1ZSBwZXIgc2hhcmVfc3R1ZHkiXT1bIlRhbmdpYmxlIGJvb2sgdmFsdWUgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvX3N0dWR5Il09WyJUYW5naWJsZSBjb21tb24gZXF1aXR5IHJhdGlvIl0sZS5leHBvcnRzLlRheGVzX3N0dWR5PVsiVGF4ZXMiXSxlLmV4cG9ydHNbIlRlY2huaWNhbCBSYXRpbmdzIFN0cmF0ZWd5X3N0dWR5Il09WyJUZWNobmljYWwgUmF0aW5ncyBTdHJhdGVneSJdLGUuZXhwb3J0c1siVGVjaG5pY2FsIFJhdGluZ3Nfc3R1ZHkiXT1bIlRlY2huaWNhbCBSYXRpbmdzIl0sZS5leHBvcnRzWyJUaHJlZSBCbGFjayBDcm93cyAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRocmVlIEJsYWNrIENyb3dzIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVGhyZWUgV2hpdGUgU29sZGllcnMgLSBCdWxsaXNoX3N0dWR5Il09WyJUaHJlZSBXaGl0ZSBTb2xkaWVycyAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHlfc3R1ZHkiXT1bIlRpbWUgUHJpY2UgT3Bwb3J0dW5pdHkiXSxlLmV4cG9ydHNbIlRpbWUgV2VpZ2h0ZWQgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVGltZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJUb2JpbidzIFEgKGFwcHJveGltYXRlKV9zdHVkeSJdPVsiVG9iaW4ncyBRIChhcHByb3hpbWF0ZSkiXSxlLmV4cG9ydHNbIlRvdGFsIGFzc2V0c19zdHVkeSJdPVsiVG90YWwgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkX3N0dWR5Il09WyJUb3RhbCBjYXNoIGRpdmlkZW5kcyBwYWlkIl0sZS5leHBvcnRzWyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nX3N0dWR5Il09WyJUb3RhbCBjb21tb24gc2hhcmVzIG91dHN0YW5kaW5nIl0sCmUuZXhwb3J0c1siVG90YWwgY3VycmVudCBhc3NldHNfc3R1ZHkiXT1bIlRvdGFsIGN1cnJlbnQgYXNzZXRzIl0sZS5leHBvcnRzWyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBjdXJyZW50IGxpYWJpbGl0aWVzIl0sZS5leHBvcnRzWyJUb3RhbCBkZWJ0IHBlciBzaGFyZV9zdHVkeSJdPVsiVG90YWwgZGVidCBwZXIgc2hhcmUiXSxlLmV4cG9ydHNbIlRvdGFsIGRlYnRfc3R1ZHkiXT1bIlRvdGFsIGRlYnQiXSxlLmV4cG9ydHNbIlRvdGFsIGVxdWl0eV9zdHVkeSJdPVsiVG90YWwgZXF1aXR5Il0sZS5leHBvcnRzWyJUb3RhbCBpbnZlbnRvcnlfc3R1ZHkiXT1bIlRvdGFsIGludmVudG9yeSJdLGUuZXhwb3J0c1siVG90YWwgbGlhYmlsaXRpZXMgJiBzaGFyZWhvbGRlcnMnIGVxdWl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyAmIHNoYXJlaG9sZGVycycgZXF1aXRpZXMiXSxlLmV4cG9ydHNbIlRvdGFsIGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgbm9uLWN1cnJlbnQgYXNzZXRzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBhc3NldHMiXSxlLmV4cG9ydHNbIlRvdGFsIG5vbi1jdXJyZW50IGxpYWJpbGl0aWVzX3N0dWR5Il09WyJUb3RhbCBub24tY3VycmVudCBsaWFiaWxpdGllcyJdLGUuZXhwb3J0c1siVG90YWwgb3BlcmF0aW5nIGV4cGVuc2VzX3N0dWR5Il09WyJUb3RhbCBvcGVyYXRpbmcgZXhwZW5zZXMiXSxlLmV4cG9ydHNbIlRvdGFsIHJlY2VpdmFibGVzLCBuZXRfc3R1ZHkiXT1bIlRvdGFsIHJlY2VpdmFibGVzLCBuZXQiXSxlLmV4cG9ydHNbIlRvdGFsIHJldmVudWVfc3R1ZHkiXT1bIlRvdGFsIHJldmVudWUiXSxlLmV4cG9ydHNbIlRyYWRpbmcgU2Vzc2lvbnNfc3R1ZHkiXT1bIlRyYWRpbmcgU2Vzc2lvbnMiXSxlLmV4cG9ydHNbIlRyZWFzdXJ5IHN0b2NrIC0gY29tbW9uX3N0dWR5Il09WyJUcmVhc3VyeSBzdG9jayAtIGNvbW1vbiJdLGUuZXhwb3J0c1siVHJlbmQgU3RyZW5ndGggSW5kZXhfc3R1ZHkiXT1bIlRyZW5kIFN0cmVuZ3RoIEluZGV4Il0sZS5leHBvcnRzWyJUcmktU3RhciAtIEJlYXJpc2hfc3R1ZHkiXT1bIlRyaS1TdGFyIC0gQmVhcmlzaCJdLGUuZXhwb3J0c1siVHJpLVN0YXIgLSBCdWxsaXNoX3N0dWR5Il09WyJUcmktU3RhciAtIEJ1bGxpc2giXSxlLmV4cG9ydHNbIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaWFuZ2xlIENoYXJ0IFBhdHRlcm4iXSxlLmV4cG9ydHNbIlRyaXBsZSBCb3R0b20gQ2hhcnQgUGF0dGVybl9zdHVkeSJdPVsiVHJpcGxlIEJvdHRvbSBDaGFydCBQYXR0ZXJuIl0sZS5leHBvcnRzWyJUcmlwbGUgRU1BX3N0dWR5Il09WyJUcmlwbGUgRU1BIl0sZS5leHBvcnRzWyJUcmlwbGUgVG9wIENoYXJ0IFBhdHRlcm5fc3R1ZHkiXT1bIlRyaXBsZSBUb3AgQ2hhcnQgUGF0dGVybiJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRleF9zdHVkeSJdPVsiVHJ1ZSBTdHJlbmd0aCBJbmRleCJdLGUuZXhwb3J0c1siVHJ1ZSBTdHJlbmd0aCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlRydWUgU3RyZW5ndGggSW5kaWNhdG9yIl0sZS5leHBvcnRzWyJUd2VlemVyIEJvdHRvbSAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlR3ZWV6ZXIgQm90dG9tIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVHdlZXplciBUb3AgLSBCZWFyaXNoX3N0dWR5Il09WyJUd2VlemVyIFRvcCAtIEJlYXJpc2giXSxlLmV4cG9ydHNbIlR5cGljYWwgUHJpY2Vfc3R1ZHkiXT1bIlR5cGljYWwgUHJpY2UiXSxlLmV4cG9ydHNbIlVsdGltYXRlIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlVsdGltYXRlIE9zY2lsbGF0b3IiXSxlLmV4cG9ydHNbIlVucmVhbGl6ZWQgZ2Fpbi9sb3NzX3N0dWR5Il09WyJVbnJlYWxpemVkIGdhaW4vbG9zcyJdLGUuZXhwb3J0c1siVW51c3VhbCBpbmNvbWUvZXhwZW5zZV9zdHVkeSJdPVsiVW51c3VhbCBpbmNvbWUvZXhwZW5zZSJdLGUuZXhwb3J0c1siVXAvRG93biBWb2x1bWVfc3R1ZHkiXT1bIlVwL0Rvd24gVm9sdW1lIl0sZS5leHBvcnRzWyJVcHNpZGUgVGFzdWtpIEdhcCAtIEJ1bGxpc2hfc3R1ZHkiXT1bIlVwc2lkZSBUYXN1a2kgR2FwIC0gQnVsbGlzaCJdLGUuZXhwb3J0c1siVldBUCBBdXRvIEFuY2hvcmVkX3N0dWR5Il09WyJWV0FQIEF1dG8gQW5jaG9yZWQiXSxlLmV4cG9ydHMuVldBUF9zdHVkeT1bIlZXQVAiXSxlLmV4cG9ydHMuVldNQV9zdHVkeT1bIlZXTUEiXSxlLmV4cG9ydHNbIlZhbHVhdGlvbiByYXRpb3Nfc3R1ZHkiXT1bIlZhbHVhdGlvbiByYXRpb3MiXSxlLmV4cG9ydHNbIlZpc2libGUgQXZlcmFnZSBQcmljZV9zdHVkeSJdPVsiVmlzaWJsZSBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIFZvbHVtZSBQcm9maWxlIl0sZS5leHBvcnRzWyJWaXNpYmxlIFJhbmdlX3N0dWR5Il09WyJWaXNpYmxlIFJhbmdlIl0sZS5leHBvcnRzLlZvbF9zdHVkeT1bIlZvbCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZV9zdHVkeSJdPVsiVm9sYXRpbGl0eSBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBJbmRleF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBJbmRleCJdLGUuZXhwb3J0c1siVm9sYXRpbGl0eSBPLUgtTC1DX3N0dWR5Il09WyJWb2xhdGlsaXR5IE8tSC1MLUMiXSxlLmV4cG9ydHNbIlZvbGF0aWxpdHkgU3RvcF9zdHVkeSJdPVsiVm9sYXRpbGl0eSBTdG9wIl0sZS5leHBvcnRzWyJWb2xhdGlsaXR5IFplcm8gVHJlbmQgQ2xvc2UtdG8tQ2xvc2Vfc3R1ZHkiXT1bIlZvbGF0aWxpdHkgWmVybyBUcmVuZCBDbG9zZS10by1DbG9zZSJdLGUuZXhwb3J0c1siVm9sdHkgRXhwYW4gQ2xvc2UgU3RyYXRlZ3lfc3R1ZHkiXT1bIlZvbHR5IEV4cGFuIENsb3NlIFN0cmF0ZWd5Il0sZS5leHBvcnRzWyJWb2x1bWUgRGVsdGFfc3R1ZHkiXT1bIlZvbHVtZSBEZWx0YSJdLGUuZXhwb3J0c1siVm9sdW1lIE9zY2lsbGF0b3Jfc3R1ZHkiXT1bIlZvbHVtZSBPc2NpbGxhdG9yIl0sCmUuZXhwb3J0c1siVm9sdW1lIFdlaWdodGVkIEF2ZXJhZ2UgUHJpY2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBBdmVyYWdlIFByaWNlIl0sZS5leHBvcnRzWyJWb2x1bWUgV2VpZ2h0ZWQgTW92aW5nIEF2ZXJhZ2Vfc3R1ZHkiXT1bIlZvbHVtZSBXZWlnaHRlZCBNb3ZpbmcgQXZlcmFnZSJdLGUuZXhwb3J0cy5Wb2x1bWVfc3R1ZHk9WyJWb2x1bWUiXSxlLmV4cG9ydHNbIlZvcnRleCBJbmRpY2F0b3Jfc3R1ZHkiXT1bIlZvcnRleCBJbmRpY2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zICVSX3N0dWR5Il09WyJXaWxsaWFtcyAlUiJdLGUuZXhwb3J0c1siV2lsbGlhbXMgQWxsaWdhdG9yX3N0dWR5Il09WyJXaWxsaWFtcyBBbGxpZ2F0b3IiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxfc3R1ZHkiXT1bIldpbGxpYW1zIEZyYWN0YWwiXSxlLmV4cG9ydHNbIldpbGxpYW1zIEZyYWN0YWxzX3N0dWR5Il09WyJXaWxsaWFtcyBGcmFjdGFscyJdLGUuZXhwb3J0c1siV2lsbGlhbXMgUGVyY2VudCBSYW5nZV9zdHVkeSJdPVsiV2lsbGlhbXMgUGVyY2VudCBSYW5nZSJdLGUuZXhwb3J0c1siV29vZGllcyBDQ0lfc3R1ZHkiXT1bIldvb2RpZXMgQ0NJIl0sZS5leHBvcnRzWyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlX3N0dWR5Il09WyJXb3JraW5nIGNhcGl0YWwgcGVyIHNoYXJlIl0sZS5leHBvcnRzWyJaaWcgWmFnX3N0dWR5Il09WyJaaWcgWmFnIl0sZS5leHBvcnRzWyJabWlqZXdza2kgc2NvcmVfc3R1ZHkiXT1bIlptaWpld3NraSBzY29yZSJdfSw1OTYxNjgoZSl7ZS5leHBvcnRzPVsiVm9sIl19LDMxOTA2MChlKXtlLmV4cG9ydHM9WyJhbmNob3JlZCB2b2x1bWUgcHJvZmlsZSJdfSwzMTM2MjUoZSl7ZS5leHBvcnRzPVsiZml4ZWQgcmFuZ2Ugdm9sdW1lIHByb2ZpbGUiXX0sMzg0NTk3KGUpe2UuZXhwb3J0cz1bIkNGRCJdfSw2NTUyMzUoZSl7ZS5leHBvcnRzPVsiQ3J5cHRvIl19LDM1MDE0NihlKXtlLmV4cG9ydHM9WyJBbGwiXX0sNzY1NDQwKGUpe2UuZXhwb3J0cz1bIkJvbmRzIl19LDU0ODMyMihlKXtlLmV4cG9ydHM9WyJFY29ub215Il19LDk3OTk3KGUpe2UuZXhwb3J0cz1bIkZvcmV4Il19LDUwNTA3OShlKXtlLmV4cG9ydHM9WyJGdXR1cmVzIl19LDU2NDkxNyhlKXtlLmV4cG9ydHM9WyJGdW5kcyJdfSw5Mjc0MTEoZSl7ZS5leHBvcnRzPVsiSW5kaWNlcyJdfSw3OTYwMChlKXtlLmV4cG9ydHM9WyJPcHRpb25zIl19LDU1NTUxMChlKXtlLmV4cG9ydHM9WyJTdG9ja3MiXX0sODMzNzQ2KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBtZXRyaWMiXX0sNzg5MDQ5KGUpe2UuZXhwb3J0cz1bIkNoYW5nZSBzY2FsZSBjdXJyZW5jeSJdfSw0MDUwMTMoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIHNjYWxlIHVuaXQiXX0sMjE3MTYxKGUpe2UuZXhwb3J0cz1bIk1peGVkIl19LDE5MTQ1NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBjdXJyZW5jeSJdfSw5OTQ4NDUoZSl7ZS5leHBvcnRzPVsiU2NhbGUgbWV0cmljIl19LDU1Njc2NShlKXtlLmV4cG9ydHM9WyJTY2FsZSB1bml0Il19LDU4NzMwNihlKXtlLmV4cG9ydHM9WyIoTyArIEggKyBMICsgQykvNCJdfSw2OTExNzQoZSl7ZS5leHBvcnRzPVsiKEggKyBMICsgQyArIEMpLzQiXX0sNjU2ODkyKGUpe2UuZXhwb3J0cz1bIihIICsgTCArIEMpLzMiXX0sOTIyNjUyKGUpe2UuZXhwb3J0cz1bIihIICsgTCkvMiJdfSw5MjI5ODMoZSl7ZS5leHBvcnRzPVsiQ2xvc2UiXX0sOTUwMzM2KGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sNTA5MzgoZSl7ZS5leHBvcnRzPVsiT3BlbiJdfSw3NjUzNyhlKXtlLmV4cG9ydHM9WyJMb3ciXX0sNDAxOTI2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwb2ludCJdfSw0MzIxMjQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIG1ldHJpYyJdfSwxODk2MDMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGN1cnJlbmN5Il19LDg1NzIyMyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgbGlua2luZyBncm91cCJdfSw5NTQ4OTEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHVuaXQiXX0sMzU4KGUpe2UuZXhwb3J0cz1bImNsb25lIGxpbmUgdG9vbHMiXX0sNzQ5MDE2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sOTM5NzE3KGUpe2UuZXhwb3J0cz1bImN1dCBzb3VyY2VzIl19LDQxMTgxOChlKXtlLmV4cG9ydHM9WyJjdXQge3RpdGxlfSJdfSwyMzEyNjMoZSl7ZS5leHBvcnRzPVsiYWxpZ24gdG8gNDUgZGVncmVlcyJdfSw2MTgzODYoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZHJhd2luZyB0ZW1wbGF0ZSJdfSwzNjU4NzQoZSl7ZS5leHBvcnRzPVsiYXBwbHkgZmFjdG9yeSBkZWZhdWx0cyB0byBzZWxlY3RlZCBzb3VyY2VzIl19LDM4NTUwNChlKXtlLmV4cG9ydHM9WyJicmluZyB7dGl0bGV9IGZvcndhcmQiXX0sNzc5NTE3KGUpe2UuZXhwb3J0cz1bImludmVydCBzY2FsZSJdfSw5NjU1MzkoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0iXX0sNjE3MDQwKGUpe2UuZXhwb3J0cz1bImluc2VydCB7dGl0bGV9IGFmdGVyIHt0YXJnZXR9Il19LDc0MDYxMyhlKXtlLmV4cG9ydHM9WyJpbnNlcnQge3RpdGxlfSBiZWZvcmUge3RhcmdldH0iXX0sOTQ2OTI5KGUpe2UuZXhwb3J0cz1bImxvYWQgZGVmYXVsdCBkcmF3aW5nIHRlbXBsYXRlIl19LDE1OTE0KGUpe2UuZXhwb3J0cz1bIm1vdmUge3RpdGxlfSB0byBuZXcgbGVmdCBzY2FsZSJdfSw5Njc5MzUoZSl7ZS5leHBvcnRzPVsibW92ZSB7dGl0bGV9IHRvIG5ldyByaWdodCBzY2FsZSJdfSw5NzAxMDUoZSl7ZS5leHBvcnRzPVsibW92ZSBkcmF3aW5nKHMpIl19LDI5NTIwNChlKXtlLmV4cG9ydHM9WyJtb3ZlIGxlZnQiXX0sNTI1NjQzKGUpe2UuZXhwb3J0cz1bIm1vdmUgcmlnaHQiXX0sNzc3NTc3KGUpe2UuZXhwb3J0cz1bIm1vdmUgc2NhbGUiXX0sNTAwODQzKGUpe2UuZXhwb3J0cz1bIm1ha2Uge3RpdGxlfSBubyBzY2FsZSAoRnVsbCBzY3JlZW4pIl19LDcyMTcwOShlKXtlLmV4cG9ydHM9WyJtZXJnZSBkb3duIl19LDk3NjgxNShlKXtlLmV4cG9ydHM9WyJtZXJnZSB0byBwYW5lIl19LDU1NTkxOChlKXtlLmV4cG9ydHM9WyJtZXJnZSB1cCJdfSw1NDc0NDUoZSl7CmUuZXhwb3J0cz1bInNldCBwcmljZSBzY2FsZSBzZWxlY3Rpb24gc3RyYXRlZ3kgdG8ge3RpdGxlfSJdfSw4MjgwOTIoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDEwMjE5NyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGdsb2JhbGx5Il19LDM1NTQwNyhlKXtlLmV4cG9ydHM9WyJzaGFyZSBsaW5lIHRvb2xzIGluIGxheW91dCJdfSw2OTM2NDkoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGxpbmUgdG9vbChzKSJdfSw3MDg5MDgoZSl7ZS5leHBvcnRzPVsicGFzdGUge3RpdGxlfSJdfSw5MzE3MTkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIl19LDI1NjkoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIGFsbCBpbmRpY2F0b3JzIGFuZCBkcmF3aW5nIHRvb2xzIl19LDkyNTk2MyhlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZHJhd2luZ3MiXX0sMTIyNjA2KGUpe2UuZXhwb3J0cz1bInJlbW92ZSBkcmF3aW5ncyBncm91cCJdfSw4MjgyNTMoZSl7ZS5leHBvcnRzPVsicmVtb3ZlIHBhbmUiXX0sNDQ1NTM5KGUpe2UuZXhwb3J0cz1bInJlbW92ZSB7dGl0bGV9Il19LDYyOTU0MihlKXtlLmV4cG9ydHM9WyJyZXNldCBzY2FsZXMiXX0sMzg4ODg3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBhdXRvIHNjYWxlIl19LDg3MTkxMChlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgaW5kZXhlZCB0byAxMDAgc2NhbGUiXX0sNjAyNDk3KGUpe2UuZXhwb3J0cz1bInRvZ2dsZSBsb2NrIHNjYWxlIl19LDQ4Mzk5NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDMyOTg0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgcGVyY2VudGFnZSBzY2FsZSJdfSwxNzQ2NDAoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIHJlZ3VsYXIgc2NhbGUiXX0sNjkyMjAxKGUpe2UuZXhwb3J0cz1bInR1cm4gbGluZSB0b29scyBzaGFyaW5nIG9mZiJdfSw2OTQyMihlKXtlLmV4cG9ydHM9WyJ1bm1lcmdlIHRvIG5ldyBib3R0b20gcGFuZSJdfSw5NTE4NDcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSB1cCJdfSwyMjk0MTcoZSl7ZS5leHBvcnRzPVsidW5tZXJnZSBkb3duIl19LDU3MDYyKGUpe2UuZXhwb3J0cz1bIk4vQSJdfSw4NTYyNihlKXtlLmV4cG9ydHM9WyIgR1BXIOKAlCBOZXdDb25uZWN0Il19LDExMTk3NihlKXtlLmV4cG9ydHM9WyIxIHllYXIiXX0sMzI4MDMwKGUpe2UuZXhwb3J0cz1bIjMgbW9udGhzIl19LDM5MDgxNChlKXtlLmV4cG9ydHM9WyI3OTYiXX0sNDk3MTEwKGUpe2UuZXhwb3J0cz1bIkNNQyBNYXJrZXRzIl19LDM3MTY2NShlKXtlLmV4cG9ydHM9WyJDTUUgR0xPQkVYIOKAlCBDaGljYWdvIE1lcmNhbnRpbGUgRXhjaGFuZ2UgR2xvYmV4Il19LDI5Mzk4NihlKXtlLmV4cG9ydHM9WyJDT01FWCDigJQgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDM4ODg1NihlKXtlLmV4cG9ydHM9WyJDQk9FIEVVIOKAlCBFdXJvcGVhbiBVbmlvbiBJbmRpY2VzIl19LDk5OTg3NyhlKXtlLmV4cG9ydHM9WyJDQk9FIOKAlCBDaGljYWdvIEJvYXJkIE9wdGlvbnMgRXhjaGFuZ2UiXX0sNTAyNzIxKGUpe2UuZXhwb3J0cz1bIkNCT1Qg4oCUIENoaWNhZ28gQm9hcmQgb2YgVHJhZGUiXX0sMzcwNjU4KGUpe2UuZXhwb3J0cz1bIkNGRkVYIOKAlCBDaGluYSBGaW5hbmNpYWwgRnV0dXJlcyBFeGNoYW5nZSJdfSw1MTU3MzgoZSl7ZS5leHBvcnRzPVsiQ0ZJIl19LDI5MzkzMyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIENhbmFkaWFuIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sMzM5MDk3KGUpe2UuZXhwb3J0cz1bIkNTRSDigJQgQ2FzYWJsYW5jYSBTdG9jayBFeGNoYW5nZSJdfSw1MzU2ODQoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBDb2xvbWJvIFN0b2NrIEV4Y2hhbmdlIl19LDk0Mzg4MyhlKXtlLmV4cG9ydHM9WyJDU0Ug4oCUIEN5cHJ1cyBTdG9jayBFeGNoYW5nZSJdfSw5NDIzMTcoZSl7ZS5leHBvcnRzPVsiQ1NFIOKAlCBOYXNkYXEgQ29wZW5oYWdlbiJdfSw0NTQ5NyhlKXtlLmV4cG9ydHM9WyJDWE0iXX0sOTg3NChlKXtlLmV4cG9ydHM9WyJDb3VsZG4ndCBjb3B5Il19LDI3MTY2MShlKXtlLmV4cG9ydHM9WyJDb3VudGRvd24gdG8gYmFyIGNsb3NlIl19LDc0MTA3KGUpe2UuZXhwb3J0cz1bIkNvZWZmcyBhcyBwZXJjZW50cyJdfSw5OTUwOTcoZSl7ZS5leHBvcnRzPVsiQ29pbiBNZXRyaWNzIl19LDQ1ODc4MyhlKXtlLmV4cG9ydHM9WyJDb2luRGVzayBJbmRpY2VzIl19LDg2OTE1MihlKXtlLmV4cG9ydHM9WyJDb2luRXgiXX0sNzAzNzQ4KGUpe2UuZXhwb3J0cz1bIkNvaW5KYXIiXX0sMzM4ODI5KGUpe2UuZXhwb3J0cz1bIkNvaW5Td2l0Y2giXX0sNzkzMDk2KGUpe2UuZXhwb3J0cz1bIkNvaW5XIl19LDE5NTg4NihlKXtlLmV4cG9ydHM9WyJDb2luYmFzZSJdfSwxMzU4NjcoZSl7ZS5leHBvcnRzPVsiQ29sb21iaWEiXX0sMjA1MDkxKGUpe2UuZXhwb3J0cz1bIkNvbG9tYm8iXX0sOTIyNDQoZSl7ZS5leHBvcnRzPVsiQ29tcGFyZSBvciBBZGQgU3ltYm9sIl19LDY5Nzg4MShlKXtlLmV4cG9ydHM9WyJDb21waWxhdGlvbiBlcnJvciJdfSwyMzI5MTkoZSl7ZS5leHBvcnRzPVsiQ29uZmlybSB0byByZW1vdmUgbG9ja2VkIGRyYXdpbmdzIl19LDc0NzI1OShlKXtlLmV4cG9ydHM9WyJDb25maXJtIElucHV0cyJdfSwxOTQxOTQoZSl7ZS5leHBvcnRzPVsiQ29ubmVjdGluZyJdfSw4OTkxOShlKXtlLmV4cG9ydHM9WyJDb250cmFjdCBleHBpcmVkIl19LDIxODgxNyhlKXtlLmV4cG9ydHM9WyJDb29yZGluYXRlcyJdfSwzNjY5NTIoZSl7ZS5leHBvcnRzPVsiQ29wZW5oYWdlbiJdfSwzNTE4NDIoZSl7ZS5leHBvcnRzPVsiQ2Fpcm8iXX0sODg0MTYzKGUpe2UuZXhwb3J0cz1bIkNhbWVsb3QgdjIgKEFyYml0cnVtKSJdfSw2Nzc2ODMoZSl7ZS5leHBvcnRzPVsiQ2FtZWxvdCB2MyAoQXJiaXRydW0pIl19LDYzMzkwNyhlKXtlLmV4cG9ydHM9WyJDYW4ndCBhcHBseSB0aGlzIGluZGljYXRvciJdfSwzNTU4MzYoZSl7ZS5leHBvcnRzPVsiQ2FuJ3QgZmluZCB0aGlzIHNjcmlwdCJdfSw3NDM1NjMoZSl7ZS5leHBvcnRzPVsiQ2FuY2VsIl19LDE1MTg5KGUpe2UuZXhwb3J0cz1bIkNhbmFkYSJdfSw4MDc3NihlKXtlLmV4cG9ydHM9WyJDYXBpdGFsLmNvbSJdfSwKNTcyNDI3KGUpe2UuZXhwb3J0cz1bIkNhcmFjYXMiXX0sMjUyNDIyKGUpe2UuZXhwb3J0cz1bIkNhc2FibGFuY2EiXX0sNzI4ODQ3KGUpe2UuZXhwb3J0cz1bIkNib2UgQXVzdHJhbGlhIl19LDk0NTAxOChlKXtlLmV4cG9ydHM9WyJDYm9lIENhbmFkYSJdfSw3NjQxNDUoZSl7ZS5leHBvcnRzPVsiQ2V0dXMgKFN1aSkiXX0sMTkzMjgzKGUpe2UuZXhwb3J0cz1bIkNlbnRlciJdfSw2NzM0ODcoZSl7ZS5leHBvcnRzPVsiQ2hhbmdlIl19LDY5Mjc2NyhlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgU3ltYm9sIl19LDU5Nzc3MChlKXtlLmV4cG9ydHM9WyJDaGFuZ2UgaW50ZXJ2YWwiXX0sODQzMzY3KGUpe2UuZXhwb3J0cz1bIkNoYXJ0ICN7aW5kZXh9Il19LDYyNTc4OChlKXtlLmV4cG9ydHM9WyJDaGFydCBQcm9wZXJ0aWVzIl19LDYyODQzMChlKXtlLmV4cG9ydHM9WyJDaGFydCBmb3Ige3N5bWJvbH0sIHtpbnRlcnZhbH0iXX0sMzU0Njc2KGUpe2UuZXhwb3J0cz1bIkNoYXJ0IHRlbXBsYXRlIl19LDgxODg0NihlKXtlLmV4cG9ydHM9WyJDaGF0aGFtIElzbGFuZHMiXX0sODIxNDQ4KGUpe2UuZXhwb3J0cz1bIkNoaWNhZ28iXX0sOTA0MzM4KGUpe2UuZXhwb3J0cz1bIkNoaWxlIl19LDIwOTYzMihlKXtlLmV4cG9ydHM9WyJDaG9uZ3FpbmciXX0sMjUyOTUxKGUpe2UuZXhwb3J0cz1bIkNpdHkgSW5kZXgiXX0sMjI4NDQ5KGUpe2UuZXhwb3J0cz1bIkNyeXB0by5jb20iXX0sODc2MTYoZSl7ZS5leHBvcnRzPVsiQ3JlYXRlIG5ldyBsaXN0Il19LDkyNDAwNihlKXtlLmV4cG9ydHM9WyJDcmVhdGVkIHdpdGgge2N1c3RvbWVyfSwge2RhdGV9Il19LDQwNzQoZSl7ZS5leHBvcnRzPVsiQ3JvYXRpYSJdfSwxMDQzMzEoZSl7ZS5leHBvcnRzPVsiQ3VydmUgKEFyYml0cnVtKSJdfSw0MDkwMihlKXtlLmV4cG9ydHM9WyJDdXJ2ZSAoRXRoZXJldW0pIl19LDYzNDczNyhlKXtlLmV4cG9ydHM9WyJDeXBydXMiXX0sMTI5ODA4KGUpe2UuZXhwb3J0cz1bIkN6ZWNoIFJlcHVibGljIl19LDI5OTk3KGUpe2UuZXhwb3J0cz1bIkFOWCJdfSwxNzQxNTIoZSl7ZS5leHBvcnRzPVsiQURYIOKAlCBBYnUgRGhhYmkgU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw3Njk4MjgoZSl7ZS5leHBvcnRzPVsiQVFVSVMg4oCUIEFxdWlzIFN0b2NrIEV4Y2hhbmdlIl19LDc0MTU3MyhlKXtlLmV4cG9ydHM9WyJBU1gg4oCUIEF1c3RyYWxpYW4gU2VjdXJpdGllcyBFeGNoYW5nZSJdfSw2NDExNzYoZSl7ZS5leHBvcnRzPVsiQVRIRVgg4oCUIEF0aGVucyBTdG9jayBFeGNoYW5nZSJdfSwyMTM0NyhlKXtlLmV4cG9ydHM9WyJBbXN0ZXJkYW0iXX0sNzQ2ODcyKGUpe2UuZXhwb3J0cz1bIkFudGFyY3RpYyJdfSw4Mjc5MDIoZSl7ZS5leHBvcnRzPVsiQW5jaG9yYWdlIl19LDgwMzIxMChlKXtlLmV4cG9ydHM9WyJBYmF4eCBFeGNoYW5nZSJdfSw0ODc2OShlKXtlLmV4cG9ydHM9WyJBY3RpdlRyYWRlcyJdfSw1NDIyKGUpe2UuZXhwb3J0cz1bIkFjY2VzcyBlcnJvciJdfSwzNDQzMjAoZSl7ZS5leHBvcnRzPVsiQWRkIFN5bWJvbCJdfSw5NzE4OChlKXtlLmV4cG9ydHM9WyJBZGQgYWxlcnQgb24ge3RpdGxlfSJdfSw3MTU4MzgoZSl7ZS5leHBvcnRzPVsiQWRkIGFsZXJ0IG9uIHt0aXRsZX0gYXQge3ByaWNlfSJdfSw5MDM0NDMoZSl7ZS5leHBvcnRzPVsiQWRkIHRleHQiXX0sMzQzMzMxKGUpe2UuZXhwb3J0cz1bIkFkZCB0ZXh0IG5vdGUgZm9yIHtzeW1ib2x9Il19LDIzMDIyNChlKXtlLmV4cG9ydHM9WyJBZGQgdG8gdGV4dCBub3RlcyJdfSw1Nzk5MzQoZSl7ZS5leHBvcnRzPVsiQWRkIHtzeW1ib2x9IHRvIHdhdGNobGlzdCJdfSw1MDE1MDIoZSl7ZS5leHBvcnRzPVsiQWRlbGFpZGUiXX0sMjE3ODY0KGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSAoQmFzZSkiXX0sOTI1MjEyKGUpe2UuZXhwb3J0cz1bIkFlcm9kcm9tZSBTbGlwU3RyZWFtIChCYXNlKSJdfSw2MTYzNzUoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIGludmlzaWJsZSJdfSwzNTY4NDIoZSl7ZS5leHBvcnRzPVsiQWx3YXlzIHZpc2libGUiXX0sMzA1NjQyKGUpe2UuZXhwb3J0cz1bIkFsbCBFeGNoYW5nZXMiXX0sMjI1ODY5KGUpe2UuZXhwb3J0cz1bIkFsbCBnb29kIHRoaW5ncyBtdXN0IGNvbWUgdG8gYW4gZW5kIC0gdGhpcyBjb250cmFjdCBoYXMgcmVhY2hlZCBleHBpcnkhIl19LDc3NzkyMChlKXtlLmV4cG9ydHM9WyJBbGwncyB3ZWxsIOKAlCBtYXJrZXQgaXMgb3Blbi4iXX0sOTI0MTc2KGUpe2UuZXhwb3J0cz1bIkFwcGx5IHRoZXNlIGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSw1MjY3ODUoZSl7ZS5leHBvcnRzPVsiQXByIl19LDE1NTg1MihlKXtlLmV4cG9ydHM9WyJBcHJpbCJdfSw2Njg0MDMoZSl7ZS5leHBvcnRzPVsiQXJjYSDigJQgTllTRSBBcmNhIl19LDg1NzU4NyhlKXtlLmV4cG9ydHM9WyJBcmdlbnRpbmEiXX0sNDk1NzAzKGUpe2UuZXhwb3J0cz1bIkFzdGFuYSJdfSwzMTkwNDQoZSl7ZS5leHBvcnRzPVsiQXNoZ2FiYXQiXX0sMTU5MDYzKGUpe2UuZXhwb3J0cz1bIkF0IGNsb3NlIl19LDk4NDE3MShlKXtlLmV4cG9ydHM9WyJBdGhlbnMiXX0sMjI4MDEzKGUpe2UuZXhwb3J0cz1bIkF1dG8iXX0sNjMzNzUyKGUpe2UuZXhwb3J0cz1bIkF1dG8gKGZpdHMgZGF0YSB0byBzY3JlZW4pIl19LDkzNzYyKGUpe2UuZXhwb3J0cz1bIkF1ZyJdfSw5NTk3NzIoZSl7ZS5leHBvcnRzPVsiQXVndXN0Il19LDI3OTIzMyhlKXtlLmV4cG9ydHM9WyJBdXN0cmFsaWEiXX0sMjM4Mjc4KGUpe2UuZXhwb3J0cz1bIkF1c3RyaWEiXX0sODE0MTQ2KGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGFiZWwiXX0sNjkzNDYwKGUpe2UuZXhwb3J0cz1bIkF2ZXJhZ2UgY2xvc2UgcHJpY2UgbGluZSJdfSwzODQ5NjQoZSl7ZS5leHBvcnRzPVsiQXpvcmVzIl19LDk0ODczNChlKXtlLmV4cG9ydHM9WyJCMlBSSU1FIl19LDQ3OTM0MShlKXtlLmV4cG9ydHM9WyJCMyDigJQgQnJhc2lsIEJvbHNhIEJhbGNhbyBTLkEuIl19LDkxMTQ1NihlKXtlLmV4cG9ydHM9WyJCTUUg4oCUIEJvbHNhIGRlIE1hZHJpZCJdfSwzMDk0MjcoZSl7ZS5leHBvcnRzPVsiQk1WIOKAlCBNZXhpY2FuIFN0b2NrIEV4Y2hhbmdlIl19LDI5NDQoZSl7CmUuZXhwb3J0cz1bIkJDSEFJTiAoTmFzZGFxIERhdGEgTGluaykiXX0sMTA0MjAwKGUpe2UuZXhwb3J0cz1bIkJFTEVYIOKAlCBCZWxncmFkZSBTdG9jayBFeGNoYW5nZSJdfSw3NDEzNDEoZSl7ZS5leHBvcnRzPVsiQkVUIOKAlCBCdWRhcGVzdCBTdG9jayBFeGNoYW5nZSJdfSwxNDQ2NShlKXtlLmV4cG9ydHM9WyJCSEIg4oCUIEJhaHJhaW4gU3RvY2sgRXhjaGFuZ2UiXX0sMjg5NjcwKGUpe2UuZXhwb3J0cz1bIkJJU1Qg4oCUIEJvcnNhIElzdGFuYnVsIl19LDU4MjI0OShlKXtlLmV4cG9ydHM9WyJCSVZBIOKAlCBCb2xzYSBJbnN0aXR1Y2lvbmFsIGRlIFZhbG9yZXMiXX0sOTQ1NzYwKGUpe2UuZXhwb3J0cz1bIkJTRSDigJQgQm9tYmF5IFN0b2NrIEV4Y2hhbmdlIl19LDE0NzU2OShlKXtlLmV4cG9ydHM9WyJCU1NFIOKAlCBCcmF0aXNsYXZhIFN0b2NrIEV4Y2hhbmdlIl19LDQ0NzIyNChlKXtlLmV4cG9ydHM9WyJCVEMgQ2hpbmEiXX0sODMyNTc0KGUpe2UuZXhwb3J0cz1bIkJUQy1FIl19LDY5NDMxNihlKXtlLmV4cG9ydHM9WyJCVENDIl19LDgxMTE3NShlKXtlLmV4cG9ydHM9WyJCVFNFIl19LDc2NTY5MyhlKXtlLmV4cG9ydHM9WyJCVkIg4oCUIEJ1Y2hhcmVzdCBTdG9jayBFeGNoYW5nZSJdfSwxODQ2MTkoZSl7ZS5leHBvcnRzPVsiQlZDIOKAlCBCb2xzYSBkZSBWYWxvcmVzIGRlIENvbG9tYmlhIl19LDcwNTk1MihlKXtlLmV4cG9ydHM9WyJCVkMg4oCUIENhcmFjYXMgU3RvY2sgRXhjaGFuZ2UiXX0sMzUxMDc2KGUpe2UuZXhwb3J0cz1bIkJWTCDigJQgQm9sc2EgZGUgVmFsb3JlcyBkZSBMaW1hIl19LDU3MzM2KGUpe2UuZXhwb3J0cz1bIkJWTVQg4oCUIFR1bmlzIFN0b2NrIEV4Y2hhbmdlIl19LDc2MjQ2MShlKXtlLmV4cG9ydHM9WyJCWCDigJQgQlggU3dpc3MiXX0sMTE0OTExKGUpe2UuZXhwb3J0cz1bIkJZREZpIl19LDIwNjkwOShlKXtlLmV4cG9ydHM9WyJCWU1BIOKAlCBBcmdlbnRpbmUgU3RvY2sgRXhjaGFuZ2VzIGFuZCBNYXJrZXRzIl19LDg2NTI0NChlKXtlLmV4cG9ydHM9WyJCb3R0b20iXX0sNTAzMzUzKGUpe2UuZXhwb3J0cz1bIkJvZ290YSJdfSwxNjk0MDcoZSl7ZS5leHBvcnRzPVsiQm9yZGVyIl19LDYzNjkyNihlKXtlLmV4cG9ydHM9WyJCYWNrZ3JvdW5kIl19LDUwMDE0NyhlKXtlLmV4cG9ydHM9WyJCYWNrIl19LDU3ODY2NShlKXtlLmV4cG9ydHM9WyJCYWhyYWluIl19LDk3MzU3NChlKXtlLmV4cG9ydHM9WyJCYW5na29rIl19LDQ1MjAxNShlKXtlLmV4cG9ydHM9WyJCYW5nbGFkZXNoIl19LDIyMTM1OShlKXtlLmV4cG9ydHM9WyJCYXNlU3dhcCAoQmFzZSkiXX0sODMzMjQoZSl7ZS5leHBvcnRzPVsiQmVsZ2l1bSJdfSw4MDgzNzcoZSl7ZS5leHBvcnRzPVsiQmVsZ3JhZGUiXX0sNTIzMTI0KGUpe2UuZXhwb3J0cz1bIkJlcmxpbiJdfSwxNTU3NjUoZSl7ZS5leHBvcnRzPVsiQml0TUVYIl19LDY2NDUwNihlKXtlLmV4cG9ydHM9WyJCaXRNYXJ0Il19LDg0NjAyNyhlKXtlLmV4cG9ydHM9WyJCaXRWQyJdfSwxMTU0MShlKXtlLmV4cG9ydHM9WyJCaXRZZXMiXX0sNTU4MDQ0KGUpe2UuZXhwb3J0cz1bIkJpdGF6emEiXX0sNTM2NjA5KGUpe2UuZXhwb3J0cz1bIkJpdGdldCJdfSw3NTgwMjIoZSl7ZS5leHBvcnRzPVsiQml0ZmluZXgiXX0sNzc5MzYoZSl7ZS5leHBvcnRzPVsiQml0a3ViIl19LDY1ODY1MChlKXtlLmV4cG9ydHM9WyJCaXRodW1iIl19LDExOTc5MihlKXtlLmV4cG9ydHM9WyJCaXRzbyJdfSw5NDY2NjYoZSl7ZS5leHBvcnRzPVsiQml0c3RhbXAiXX0sMTQ0MTE0KGUpe2UuZXhwb3J0cz1bIkJpdHJ1ZSJdfSw5MDg0NTUoZSl7ZS5leHBvcnRzPVsiQml0dHJleCJdfSw1Mjg1NzMoZSl7ZS5leHBvcnRzPVsiQml0dW5peCJdfSw3MjA4MzkoZSl7ZS5leHBvcnRzPVsiQml0dmF2byJdfSwyMzE1MDQoZSl7ZS5leHBvcnRzPVsiQmlkIGFuZCBhc2sgbGFiZWxzIl19LDkxOTM3NihlKXtlLmV4cG9ydHM9WyJCaWQgYW5kIGFzayBsaW5lcyJdfSw4Njg4MTAoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IG1vbnRoLiJdfSw5MTM5NTUoZSl7ZS5leHBvcnRzPVsiQmlsbGVkIGV2ZXJ5IHllYXIuIl19LDYwNWUzKGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UiXX0sMzExNjc5KGUpe2UuZXhwb3J0cz1bIkJpbmFuY2UuVVMiXX0sNDg3NTM2KGUpe2UuZXhwb3J0cz1bIkJpbmdYIl19LDM0NjA4NihlKXtlLmV4cG9ydHM9WyJCaXN3YXAgdjIgKEJOQiBjaGFpbikiXX0sOTAyNDMzKGUpe2UuZXhwb3J0cz1bIkJsdWViZXJyeSJdfSwzMTU0MjQoZSl7ZS5leHBvcnRzPVsiQmx1ZWZpbiAoU3VpKSJdfSw5MTI4NDEoZSl7ZS5leHBvcnRzPVsiQmxhY2tCdWxsIE1hcmtldHMiXX0sMjgzMjg3KGUpe2UuZXhwb3J0cz1bIkJsYWNraG9sZSB2MyAoQXZhbGFuY2hlKSJdfSw4NDI5ODcoZSl7ZS5leHBvcnRzPVsiQmxvRmluIl19LDM4NTkyNihlKXtlLmV4cG9ydHM9WyJCcnVzc2VscyJdfSw5NDg4MjQoZSl7ZS5leHBvcnRzPVsiQnJhdGlzbGF2YSJdfSw4MzkxNTkoZSl7ZS5leHBvcnRzPVsiQnJhdmUgTmV3IENvaW4iXX0sNjEyOTY3KGUpe2UuZXhwb3J0cz1bIkJyYXppbCJdfSw4OTA2ODkoZSl7ZS5leHBvcnRzPVsiQnJpc2JhbmUiXX0sMTM1NTIzKGUpe2UuZXhwb3J0cz1bIkJ1eSBhbmQgc2VsbCJdfSw2NjQ1MzEoZSl7ZS5leHBvcnRzPVsiQnVjaGFyZXN0Il19LDU5MDI0MyhlKXtlLmV4cG9ydHM9WyJCdWRhcGVzdCJdfSwyMTQxNDQoZSl7ZS5leHBvcnRzPVsiQnVlbm9zIEFpcmVzIl19LDcxNDAzMShlKXtlLmV4cG9ydHM9WyJCdWxnYXJpYSJdfSw4NDc0MjQoZSl7ZS5leHBvcnRzPVsiQnVsZ2FyaWFuIFN0b2NrIEV4Y2hhbmdlIl19LDcxODk2NyhlKXtlLmV4cG9ydHM9WyJCeWJpdCJdfSw1NDk3ODEoZSl7ZS5leHBvcnRzPVsiR08gTWFya2V0cyJdfSwyOTkxNzIoZSl7ZS5leHBvcnRzPVsiR0JFIGJyb2tlcnMiXX0sOTk0MzI0KGUpe2UuZXhwb3J0cz1bIkdQVyDigJQgV2Fyc2F3IFN0b2NrIEV4Y2hhbmdlIl19LDc0NTk5OChlKXtlLmV4cG9ydHM9WyJHbyB0byBkYXRlIl19LDExMTg5OChlKXtlLmV4cG9ydHM9WyJHb3QgaXQiXX0sNDg0MDYwKGUpe2UuZXhwb3J0cz1bIkdhdGUiXX0sMTc3ODU0KGUpewplLmV4cG9ydHM9WyJHZXQgYWNjZXNzIHRvIGZvcmVjYXN0IG1ldHJpY3Mgd2l0aCBhbiB1cGdyYWRlZCBwbGFuLiJdfSw3OTM2MDIoZSl7ZS5leHBvcnRzPVsiR2V0dGV4IC0gR2V0dGV4Il19LDUxODMxMihlKXtlLmV4cG9ydHM9WyJHZW1pbmkiXX0sNDY2Njk4KGUpe2UuZXhwb3J0cz1bIkdlcm1hbnkiXX0sMTA5ODQ2KGUpe2UuZXhwb3J0cz1bIkdsYXNzbm9kZSJdfSw4MDc0NDEoZSl7ZS5leHBvcnRzPVsiREZNIOKAlCBEdWJhaSBGaW5hbmNpYWwgTWFya2V0Il19LDMyMjQ3MShlKXtlLmV4cG9ydHM9WyJESiDigJQgRG93IEpvbmVzIEluZGV4ZXMiXX0sNzA3MTU4KGUpe2UuZXhwb3J0cz1bIkRKIOKAlCBEb3cgSm9uZXMgSW5kaWNlcyJdfSwxMTUyMjQoZSl7ZS5leHBvcnRzPVsiRFNFIOKAlCBEaGFrYSBTdG9jayBFeGNoYW5nZSJdfSw0NTMyMzQoZSl7ZS5leHBvcnRzPVsiRFVTIOKAlCBEdXNzZWxkb3JmIFN0b2NrIEV4Y2hhbmdlIl19LDUyMTc4MihlKXtlLmV4cG9ydHM9WydEb2luZyB0aGlzIHdpbGwgcGVybWFuZW50bHkgZGVsZXRlIHlvdXIgInthbGVydH0iIGFsZXJ0LiddfSwxODU3OTQoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHBlcm1hbmVudGx5IGRlbGV0ZSBhbGwgc2VsZWN0ZWQgYWxlcnRzLiJdfSw0MTIxMTcoZSl7ZS5leHBvcnRzPVsiRG9pbmcgdGhpcyB3aWxsIHJlbW92ZSB0aGlzIGluZGljYXRvciBhbmQgZXZlcnl0aGluZyBhdHRhY2hlZCB0byBpdCwgaW5jbHVkaW5nOiJdfSwzNjc1MzgoZSl7ZS5leHBvcnRzPVsiRGF0YSBQcm92aWRlZCBieSJdfSw1MDc3MjkoZSl7ZS5leHBvcnRzPVsiRGF0ZSJdfSw4MzA3MjEoZSl7ZS5leHBvcnRzPVsiRGF5cyJdfSwxMzU5NjUoZSl7ZS5leHBvcnRzPVsiRGFyd2luZXgiXX0sMzIwNjI3KGUpe2UuZXhwb3J0cz1bIkRlRHVzdC5pbyAoVE9OKSJdfSw3NjkwMzYoZSl7ZS5leHBvcnRzPVsiRGVjIl19LDMwOTY2NihlKXtlLmV4cG9ydHM9WyJEZWNlbWJlciJdfSw0Mzg3MTYoZSl7ZS5leHBvcnRzPVsiRGVlcGNvaW4iXX0sMTYwMjY1KGUpe2UuZXhwb3J0cz1bIkRlZmlMbGFtYSJdfSwyMjk1MjUoZSl7ZS5leHBvcnRzPVsiRGVsYXllZCJdfSw0MzE0NDEoZSl7ZS5leHBvcnRzPVsiRGVsZXRlIl19LDM0MTQ1OChlKXtlLmV4cG9ydHM9WyJEZWxpc3RlZCJdfSwzNzczMzUoZSl7ZS5leHBvcnRzPVsiRGVsaXN0ZWQgYWxlcnQiXX0sMzQwOTI3KGUpe2UuZXhwb3J0cz1bIkRlbHRhIl19LDU3NjU0OChlKXtlLmV4cG9ydHM9WyJEZWx0YSBFeGNoYW5nZSBJbmRpYSJdfSw4NTI1MDEoZSl7ZS5leHBvcnRzPVsiRGVubWFyayJdfSw4ODk1MjkoZSl7ZS5leHBvcnRzPVsiRGVudmVyIl19LDE1NDk0MChlKXtlLmV4cG9ydHM9WyJEZXJpYml0Il19LDMwMjg2OShlKXtlLmV4cG9ydHM9WyJEZXJpdiJdfSwzNjA2OTAoZSl7ZS5leHBvcnRzPVsiRGhha2EiXX0sMzcxNTQ5KGUpe2UuZXhwb3J0cz1bIkRpc3BsYWNlbWVudCJdfSw0MzY2NjYoZSl7ZS5leHBvcnRzPVsiRGlzcGxhY2VtZW50IChwcmljZSwgYmFyKSJdfSw2MjM3MTYoZSl7ZS5leHBvcnRzPVsiRHJhd2luZ3MgdG9vbGJhciJdfSw0NzMyNzUoZSl7ZS5leHBvcnRzPVsiRHViYWkiXX0sNDMwODY4KGUpe2UuZXhwb3J0cz1bIkR1YmxpbiJdfSwzNjc4MDAoZSl7ZS5leHBvcnRzPVsiRHVlIHRvIGV4Y2hhbmdlIHJlc3RyaWN0aW9ucywgeW91IGFyZSB1bmFibGUgdG8gc3dpdGNoIHRvIGFuIEFTWCBsaXN0ZWQgc3ltYm9sLiBZb3UgY2FuIHZpZXcgdGhlIFN5bWJvbCBvbiB7bGlua1N0YXJ0fVRyYWRpbmdWaWV3e2xpbmtFbmR9Il19LDk4OTI5OChlKXtlLmV4cG9ydHM9WyJFRVgg4oCUIEV1cm9wZWFuIEVuZXJneSBFeGNoYW5nZSJdfSwxOTcxMjUoZSl7ZS5leHBvcnRzPVsiRUdYIOKAlCBFZ3lwdGlhbiBFeGNoYW5nZSJdfSw5Njg1OTYoZSl7ZS5leHBvcnRzPVsiRVVSRVgg4oCUIEV1cmV4IEV4Y2hhbmdlIl19LDYwMTc2NChlKXtlLmV4cG9ydHM9WyJFbmQgb2YgRGF5Il19LDMzNzQzNyhlKXtlLmV4cG9ydHM9WyJFZ3lwdCJdfSw0NTk0NTkoZSl7ZS5leHBvcnRzPVsiRWlnaHRjYXAiXX0sMjM2ODgoZSl7ZS5leHBvcnRzPVsiRXJyYW50ZSJdfSw5NDEyMChlKXtlLmV4cG9ydHM9WyJFc3RvbmlhIl19LDUwODg0NihlKXtlLmV4cG9ydHM9WyJFc2FGWCJdfSw0OTI5ODUoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9UTFgiXX0sOTI0NzY0KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBOViJdfSw5NzAxNjgoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IE9zbG8iXX0sNDgyMDc5KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBBbXN0ZXJkYW0iXX0sMzM3MTU2KGUpe2UuZXhwb3J0cz1bIkV1cm9uZXh0IOKAlCBFdXJvbmV4dCBCcnVzc2VscyJdfSw1ODgzMzYoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IER1YmxpbiJdfSw3OTgzMDIoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IExpc2JvbiJdfSwzMjI4MzEoZSl7ZS5leHBvcnRzPVsiRXVyb25leHQg4oCUIEV1cm9uZXh0IFBhcmlzIl19LDQ0ODY3MShlKXtlLmV4cG9ydHM9WyJFdmVuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcG9zdC1tYXJrZXQgdHJhZGluZy4iXX0sMTMyMzg5KGUpe2UuZXhwb3J0cz1bIkV4dGVuZCBsZWZ0IGxpbmUiXX0sMzc0NTczKGUpe2UuZXhwb3J0cz1bIkV4dGVuZCByaWdodCBsaW5lIl19LDgyNjYwNyhlKXtlLmV4cG9ydHM9WyJFeGNoYW5nZSJdfSwyNzI0NDIoZSl7ZS5leHBvcnRzPVsiRk9SRVguY29tIl19LDg5NTUxNihlKXtlLmV4cG9ydHM9WyJGSU5SQSDigJQgRklOUkEgQWdlbmN5IERlYnQgVHJhZGUgRGlzc2VtaW5hdGlvbiBTZXJ2aWNlIl19LDI0MjgyNihlKXtlLmV4cG9ydHM9WyJGSU5SQSBCVERTIOKAlCBGSU5SQSBCb25kIFRyYWRlIERpc3NlbWluYXRpb24gU2VydmljZSJdfSw2ODU2MDYoZSl7ZS5leHBvcnRzPVsiRlAgTWFya2V0cyJdfSw2NzcwODAoZSl7ZS5leHBvcnRzPVsiRlJBIOKAlCBGcmFua2Z1cnQgU3RvY2sgRXhjaGFuZ2UiXX0sOTI3MjMwKGUpe2UuZXhwb3J0cz1bIkZTRSDigJQgRnVrdW9rYSBTdG9jayBFeGNoYW5nZSJdfSwKMzkyMDY3KGUpe2UuZXhwb3J0cz1bIkZUU0UgU1QgSW5kZXggU2VyaWVzIl19LDE3OTI1NyhlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBHcm91cCBJbmRpY2VzIl19LDg1NTQ3OShlKXtlLmV4cG9ydHM9WyJGVFNFIOKAlCBGVFNFIEluZGljZXMiXX0sOTEwNjAxKGUpe2UuZXhwb3J0cz1bIkZXQiDigJQgRnJhbmtmdXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDk5MjcyNihlKXtlLmV4cG9ydHM9WyJGWENNIl19LDExNDExNShlKXtlLmV4cG9ydHM9WyJGWFRGIl19LDU5NTgzOChlKXtlLmV4cG9ydHM9WyJGb3J3YXJkIl19LDYxNzM0MShlKXtlLmV4cG9ydHM9WyJGZWIiXX0sMzM2MzAoZSl7ZS5leHBvcnRzPVsiRmVicnVhcnkiXX0sODAyODU1KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBCYW5rIG9mIE5ldyBZb3JrIl19LDIwNTExNyhlKXtlLmV4cG9ydHM9WyJGZWRlcmFsIFJlc2VydmUgQmFuayBvZiBQaGlsYWRlbHBoaWEiXX0sNTcxMDA2KGUpe2UuZXhwb3J0cz1bIkZlZGVyYWwgUmVzZXJ2ZSBFY29ub21pYyBEYXRhIl19LDk3NjQ1NChlKXtlLmV4cG9ydHM9WyJGaW5sYW5kIl19LDM0NzgzMyhlKXtlLmV4cG9ydHM9WyJGaXJzdCBiYXIgdGltZSJdfSw5Njg4MTUoZSl7ZS5leHBvcnRzPVsiRnJhY3Rpb24gcGFydCBpcyBpbnZhbGlkLiJdfSwxMzYyMzgoZSl7ZS5leHBvcnRzPVsiRnJhbmNlIl19LDQyOTk5MShlKXtlLmV4cG9ydHM9WyJGcmkiXX0sMzE4NTI1KGUpe2UuZXhwb3J0cz1bIkZyaWRheSJdfSwxMjAzMTkoZSl7ZS5leHBvcnRzPVsiRnVzaW9uIE1hcmtldHMiXX0sMzYxNDAwKGUpe2UuZXhwb3J0cz1bIkZ4UHJvIl19LDI1ODE5NChlKXtlLmV4cG9ydHM9WyJLQ0JUIEZ1dHVyZXMiXX0sNDk4ODk2KGUpe2UuZXhwb3J0cz1bIktDRVgiXX0sOTYxMjg5KGUpe2UuZXhwb3J0cz1bIktSWCDigJQgS29yZWEgU3RvY2sgRXhjaGFuZ2UiXX0sNzY2MDQwKGUpe2UuZXhwb3J0cz1bIktTRSDigJQgS3V3YWl0IFN0b2NrIEV4Y2hhbmdlIl19LDI4ODY1MShlKXtlLmV4cG9ydHM9WyJLb2xrYXRhIl19LDk4MDczOShlKXtlLmV4cG9ydHM9WyJLYXRhbmEgKFJvbmluKSJdfSwxNTc2MDUoZSl7ZS5leHBvcnRzPVsiS2F0YW5hIHYzIChSb25pbikiXX0sMjgyNDcoZSl7ZS5leHBvcnRzPVsiS2F0aG1hbmR1Il19LDQ4MDU1MyhlKXtlLmV4cG9ydHM9WyJLYWJ1bCJdfSw5MDkyMjQoZSl7ZS5leHBvcnRzPVsiS2FnaSJdfSw1ODU0NDIoZSl7ZS5leHBvcnRzPVsiS2FyYWNoaSJdfSw4NzY2NTkoZSl7ZS5leHBvcnRzPVsiS2VlcCBkcmF3aW5nIl19LDgxNDk2NihlKXtlLmV4cG9ydHM9WyJLZW55YSJdfSwxOTAxMjMoZSl7ZS5leHBvcnRzPVsiS3Jha2VuIl19LDM5NTEzMChlKXtlLmV4cG9ydHM9WyJLdXdhaXQiXX0sNDA4NDA4KGUpe2UuZXhwb3J0cz1bIkt1Q29pbiJdfSwzNDcwNjQoZSl7ZS5leHBvcnRzPVsiS3VhbGEgTHVtcHVyIl19LDEwNTg1NShlKXtlLmV4cG9ydHM9WyJITlgg4oCUIEhhbm9pIFN0b2NrIEV4Y2hhbmdlIl19LDk5MTQ1KGUpe2UuZXhwb3J0cz1bIkhOWCDigJQgSGFub2kgU3RvY2sgRXhjaGFuZ2UgKFVQQ29NKSJdfSwyODk1NjkoZSl7ZS5leHBvcnRzPVsiSE9TRSDigJQgSG8gQ2hpIE1pbmggQ2l0eSBTdG9jayBFeGNoYW5nZSJdfSw4ODU1NTAoZSl7ZS5leHBvcnRzPVsiSEFNIOKAlCBIYW1idXJnIFN0b2NrIEV4Y2hhbmdlIl19LDQ2NjQ4KGUpe2UuZXhwb3J0cz1bIkhBTiDigJQgSGFubm92ZXIgU3RvY2sgRXhjaGFuZ2UiXX0sMjk4MTgwKGUpe2UuZXhwb3J0cz1bIkhFWCDigJQgTmFzZGFxIEhlbHNpbmtpIl19LDY2OTgzNyhlKXtlLmV4cG9ydHM9WyJIS0VYIOKAlCBIb25nIEtvbmcgRXhjaGFuZ2UiXX0sMjk1NTU1KGUpe2UuZXhwb3J0cz1bIkhTSSDigJQgSGFuZyBTZW5nIEluZGljZXMiXX0sOTE1NjQxKGUpe2UuZXhwb3J0cz1bIkhUWCJdfSw0NjI3MDIoZSl7ZS5leHBvcnRzPVsiSG8gQ2hpIE1pbmgiXX0sOTI2NDAzKGUpe2UuZXhwb3J0cz1bIkhvdXJzIl19LDQwNjczKGUpe2UuZXhwb3J0cz1bIkhvbmV5c3dhcCB2MiAoR25vc2lzKSJdfSw5ODIxOTcoZSl7ZS5leHBvcnRzPVsiSG9uZyBLb25nIl19LDQ2Mzc3OShlKXtlLmV4cG9ydHM9WyJIb25nIEtvbmcsIENoaW5hIl19LDg5OTc5MShlKXtlLmV4cG9ydHM9WyJIb25vbHVsdSJdfSw3ODg4MzcoZSl7ZS5leHBvcnRzPVsiSG9yaXpvbnRhbCJdfSw1ODIzODYoZSl7ZS5leHBvcnRzPVsiSGFsaWZheCJdfSwzMzExMDUoZSl7ZS5leHBvcnRzPVsiSGV5IHRoZXJlLCBuaWdodCBvd2wuIE1hcmtldCBpcyBjdXJyZW50bHkgb3BlbiBmb3Igb3Zlcm5pZ2h0IHRyYWRpbmcuIFRoZSBkYXRhIGR1cmluZyB0aGlzIHNlc3Npb24gaXMgcHJvdmlkZWQgYnkgdGhlIEJPQVRTIGV4Y2hhbmdlLiJdfSw3NDgxODIoZSl7ZS5leHBvcnRzPVsiSGVpa2luIEFzaGkiXX0sNjE1MTQwKGUpe2UuZXhwb3J0cz1bIkhlbHNpbmtpIl19LDc2OTM5MShlKXtlLmV4cG9ydHM9WyJIaWRlIl19LDgyNDk5MyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCJdfSw4MDk5MzkoZSl7ZS5leHBvcnRzPVsiSGlkZSBhbGwgZHJhd2luZ3MiXX0sODAwMzQ5KGUpe2UuZXhwb3J0cz1bIkhpZGUgYWxsIGRyYXdpbmdzIGFuZCBpbmRpY2F0b3JzIl19LDg2NjMzMChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5ncywgaW5kaWNhdG9ycywgcG9zaXRpb25zLCBhbmQgb3JkZXJzIl19LDk4ODI2MChlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBkcmF3aW5nIHRvb2xzIl19LDUzOTM0OShlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBpbmRpY2F0b3JzIl19LDg0NjQxMyhlKXtlLmV4cG9ydHM9WyJIaWRlIGFsbCBwb3NpdGlvbnMgYW5kIG9yZGVycyJdfSwxNTcyMTAoZSl7ZS5leHBvcnRzPVsiSGlkZSBkcmF3aW5ncyJdfSw4MDc4ODAoZSl7ZS5leHBvcnRzPVsiSGlkZSBpbmRpY2F0b3JzIl19LDEzOTM1NShlKXtlLmV4cG9ydHM9WyJIaWRlIG1hcmtzIG9uIGJhcnMiXX0sNzYyOTg4KGUpe2UuZXhwb3J0cz1bIkhpZGUgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sODQ1NTYzKGUpe2UuZXhwb3J0cz1bIkhpZ2giXX0sODIzNDMwKGUpe2UuZXhwb3J0cz1bIkhpZ2ggYW5kIGxvdyBwcmljZSBsYWJlbHMiXX0sMjU2MjIwKGUpewplLmV4cG9ydHM9WyJIaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMiXX0sNjYwNjA5KGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDQ2OTIwKGUpe2UuZXhwb3J0cz1bIkhpc3RvZ3JhbSBpcyB0b28gbGFyZ2UsIHBsZWFzZSBpbmNyZWFzZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVRpY2tzIFBlciBSb3d7Ym9sZEhpZ2hsaWdodEVuZH0gaW4gdGhlIHNldHRpbmdzIHdpbmRvdy4iXX0sMzMzMDkoZSl7ZS5leHBvcnRzPVsiSGlzdG9ncmFtIGlzIHRvbyBsYXJnZSwgcGxlYXNlIHJlZHVjZSB7Ym9sZEhpZ2hsaWdodFN0YXJ0fVJvdyBTaXple2JvbGRIaWdobGlnaHRFbmR9IGluIHRoZSBzZXR0aW5ncyB3aW5kb3cuIl19LDY2MTM2NihlKXtlLmV4cG9ydHM9WyJIdW5nYXJ5Il19LDIzMjMwMShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoSHlwZXJsaXF1aWQpIl19LDYzNDE4NShlKXtlLmV4cG9ydHM9WyJIeXBlcmxpcXVpZCAoUEFSQSBISVAtMykiXX0sNjMyMzAzKGUpe2UuZXhwb3J0cz1bIkh5cGVybGlxdWlkIChYWVogSElQLTMpIl19LDcwOTIxMihlKXtlLmV4cG9ydHM9WyJJQyBNYXJrZXRzIl19LDQwMzQzMChlKXtlLmV4cG9ydHM9WyJJQ0UgRGF0YSBTZXJ2aWNlcyJdfSw3NDQzMShlKXtlLmV4cG9ydHM9WyJJQ0UgRnV0dXJlcyBTaW5nYXBvcmUiXX0sMzQ0MzQ1KGUpe2UuZXhwb3J0cz1bIklDRUFEIOKAlCBJQ0UgRnV0dXJlcyBBYnUgRGhhYmkiXX0sMjE5ODMzKGUpe2UuZXhwb3J0cz1bIklDRUVOREVYIOKAlCBJQ0UgRW5kZXgiXX0sNjU1NTI3KGUpe2UuZXhwb3J0cz1bIklDRUVVUiDigJQgSUNFIEZ1dHVyZXMgRXVyb3BlIENvbW1vZGl0aWVzIl19LDk3NTU1OChlKXtlLmV4cG9ydHM9WyJJQ0VFVVIg4oCUIElDRSBGdXR1cmVzIEV1cm9wZSBGaW5hbmNpYWxzIl19LDUyODgxMChlKXtlLmV4cG9ydHM9WyJJQ0VVUyDigJQgSUNFIEZ1dHVyZXMgVS5TLiJdfSw1NDU2MTYoZSl7ZS5leHBvcnRzPVsiSUNFVVNDQSDigJQgSUNFIEZ1dHVyZXMgVS5TLiBDb21tb2RpdGllcyAtIENhbmFkaWFuIEdyYWlucyJdfSwxODk1OTAoZSl7ZS5leHBvcnRzPVsiSUNFWCDigJQgTmFzZGFxIEljZWxhbmQiXX0sNzUxMDU4KGUpe2UuZXhwb3J0cz1bIklEWCDigJQgSW5kb25lc2lhIFN0b2NrIEV4Y2hhbmdlIl19LDE1Njk2NChlKXtlLmV4cG9ydHM9WyJJRyJdfSwzMzUxMjIoZSl7ZS5leHBvcnRzPVsiSVNUIOKAlCBJc3RhbmJ1bCBTdG9jayBFeGNoYW5nZSJdfSwyODg0MzIoZSl7ZS5leHBvcnRzPVsiSW50ZXJ2YWxzIGxlc3MgdGhhbiB7cmVzb2x1dGlvbn0gYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw5NDI0NihlKXtlLmV4cG9ydHM9WyJJbnRlcmFjdGl2ZSBCcm9rZXJzIl19LDE1OTI1KGUpe2UuZXhwb3J0cz1bIkludmVydCBzY2FsZSJdfSwxNTIwNTQoZSl7ZS5leHBvcnRzPVsiSW5kZXhlZCB0byAxMDAiXX0sMzcyNTIwKGUpe2UuZXhwb3J0cz1bIkluZGlhIl19LDM0MjQ2MyhlKXtlLmV4cG9ydHM9WyJJbmRpY2F0b3JzIGFuZCBmaW5hbmNpYWxzIHZhbHVlIGxhYmVscyJdfSwzOTQ0NzgoZSl7ZS5leHBvcnRzPVsiSW5kaWNhdG9ycyBhbmQgZmluYW5jaWFscyBuYW1lIGxhYmVscyJdfSw4MDI5NzUoZSl7ZS5leHBvcnRzPVsiSW5kb25lc2lhIl19LDMwMjkzMShlKXtlLmV4cG9ydHM9WyJJbnB1dHMiXX0sNzI0OTA5KGUpe2UuZXhwb3J0cz1bIkluc2VydCBpbmRpY2F0b3IiXX0sOTEzNjUxKGUpe2UuZXhwb3J0cz1bIkluc3RpdHV0ZSBmb3IgU3VwcGx5IE1hbmFnZW1lbnQiXX0sMzI4MzEzKGUpe2UuZXhwb3J0cz1bIkluc3RydW1lbnQgaXMgbm90IGFsbG93ZWQiXX0sNDQwMTg4KGUpe2UuZXhwb3J0cz1bIkljZWxhbmQiXX0sMTQyMzA4KGUpe2UuZXhwb3J0cz1bIklkZWFzIG9uIGNoYXJ0Il19LDExNjc2OChlKXtlLmV4cG9ydHM9WyJJZiB5b3UgcmVtb3ZlIHRoaXMgZHJhd2luZyBmcm9tIHRoZSBjaGFydCwgdGhlIGFsZXJ0IGJhc2VkIG9uIGl0IHdpbGwgYWxzbyBiZSBkZWxldGVkLiJdfSw3MTE1MjcoZSl7ZS5leHBvcnRzPVsiSXJlbGFuZCJdfSwyMDc3OTgoZSl7ZS5leHBvcnRzPVsiSXN0YW5idWwiXX0sODAzMzU0KGUpe2UuZXhwb3J0cz1bIklzcmFlbCJdfSwzODYzNzcoZSl7ZS5leHBvcnRzPVsiSXQgc2VlbXMgdGhlcmUncyBhbiBlcnJvciBpbiB0aGlzIHNjcmlwdC4gVHJ5IHJlYWNoaW5nIG91dCB0byB0aGUgc2NyaXB0J3MgYXV0aG9yIGZvciBoZWxwLiJdfSw2MzE0MzgoZSl7ZS5leHBvcnRzPVsiSXQnbGwgY2xvc2UgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw0MDQ1NChlKXtlLmV4cG9ydHM9WyJJdCdsbCBnbyB0byBwb3N0LW1hcmtldCB0cmFkaW5nIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sNzc5MzQwKGUpe2UuZXhwb3J0cz1bIkl0J2xsIG9wZW4gZm9yIHByZS1tYXJrZXQgdHJhZGluZyBpbiB7cmVtYWluaW5nVGltZX0uIl19LDI4MTM4NihlKXtlLmV4cG9ydHM9WyJJdCdsbCBvcGVuIGluIHtyZW1haW5pbmdUaW1lfS4iXX0sODk4MTYzKGUpe2UuZXhwb3J0cz1bIkl0YWx5Il19LDM2MTkyMChlKXtlLmV4cG9ydHM9WyJJdOKAmWxsIG9wZW4gZnVsbHkgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw5MzEyMzIoZSl7ZS5leHBvcnRzPVsiSkZYIl19LDgxOTI4OShlKXtlLmV4cG9ydHM9WyJKU0Ug4oCUIEpvaGFubmVzYnVyZyBTdG9jayBFeGNoYW5nZSJdfSwyNzAzMzAoZSl7ZS5leHBvcnRzPVsiSm9oYW5uZXNidXJnIl19LDMzMTMwKGUpe2UuZXhwb3J0cz1bIkpha2FydGEiXX0sNjU3Mzc0KGUpe2UuZXhwb3J0cz1bIkphbiJdfSw5NDQ3ODQoZSl7ZS5leHBvcnRzPVsiSmFudWFyeSJdfSwyMDAwNjgoZSl7ZS5leHBvcnRzPVsiSmFwYW4iXX0sNzA0ODMxKGUpe2UuZXhwb3J0cz1bIkplcnVzYWxlbSJdfSwxODM5NTkoZSl7ZS5leHBvcnRzPVsiSnVsIl19LDkyNDY4OShlKXtlLmV4cG9ydHM9WyJKdWx5Il19LDg3NzQ1KGUpe2UuZXhwb3J0cz1bIkp1biJdfSw0MDI0ODIoZSl7ZS5leHBvcnRzPVsiSnVuZSJdfSwyMDI2MzEoZSl7CmUuZXhwb3J0cz1bIkp1bmVhdSJdfSwzMzMzNDkoZSl7ZS5leHBvcnRzPVsiT01YIOKAlCBOYXNkYXEgT01YIEdyb3VwIl19LDcyMDI4NyhlKXtlLmV4cG9ydHM9WyJPTVhCQUxUSUMiXX0sNTExMjcoZSl7ZS5leHBvcnRzPVsiT01YTk9SRElDIl19LDE4MTgxNShlKXtlLmV4cG9ydHM9WyJPTVhSIOKAlCBOYXNkYXEgUmlnYSJdfSw2OTUxODQoZSl7ZS5leHBvcnRzPVsiT0FOREEiXX0sODMxNTY4KGUpe2UuZXhwb3J0cz1bIk9LWCJdfSwxMjQwMzcoZSl7ZS5leHBvcnRzPVsiT1NFIOKAlCBPc2FrYSBFeGNoYW5nZSJdfSw5NDA0MTMoZSl7ZS5leHBvcnRzPVsiT1RDIOKAlCBPVEMgTWFya2V0cyJdfSw4NzI5ODAoZSl7ZS5leHBvcnRzPVsiT24gdGhlIGxlZnQiXX0sMzYzMzcwKGUpe2UuZXhwb3J0cz1bIk9uIHRoZSByaWdodCJdfSwzODI4MyhlKXtlLmV4cG9ydHM9WyJPbmx5IHthdmFpbGFibGVSZXNvbHV0aW9uc30gaW50ZXJ2YWxzIGFyZSBzdXBwb3J0ZWQgZm9yIHt0aWNrZXJ9LiJdfSw3MjgzMzcoZSl7ZS5leHBvcnRzPVsiT2N0Il19LDgxNDUwMShlKXtlLmV4cG9ydHM9WyJPY3RvYmVyIl19LDIwODA3OChlKXtlLmV4cG9ydHM9WyJPayJdfSw1OTQxNzAoZSl7ZS5leHBvcnRzPVsiT3B0aW9ucyBQcmljZSBSZXBvcnRpbmcgQXV0aG9yaXR5Il19LDk3NzgxKGUpe2UuZXhwb3J0cz1bIk9wZW4iXX0sMzMyMDcwKGUpe2UuZXhwb3J0cz1bIk9wb2ZpbmFuY2UiXX0sMTcwNDI4KGUpe2UuZXhwb3J0cz1bIk9yY2EgKFNvbGFuYSkiXX0sODQ5NzM4KGUpe2UuZXhwb3J0cz1bIk9zbG8iXX0sNDM5NTQ5KGUpe2UuZXhwb3J0cz1bIk9zbWFubGkgRlgiXX0sNzg5MjQzKGUpe2UuZXhwb3J0cz1bIkxNRSDigJQgTG9uZG9uIE1ldGFsIEV4Y2hhbmdlIl19LDE1OTYyOChlKXtlLmV4cG9ydHM9WyJMQmFuayJdfSw4NDM1MTQoZSl7ZS5leHBvcnRzPVsiTEZKIFYyLjIgKEF2YWxhbmNoZSkiXX0sMzEzOTY0KGUpe2UuZXhwb3J0cz1bIkxKU0Ug4oCUIExqdWJsamFuYSBTdG9jayBFeGNoYW5nZSJdfSwxNDM4MDMoZSl7ZS5leHBvcnRzPVsiTFNFIOKAlCBMb25kb24gU3RvY2sgRXhjaGFuZ2UgKFVLIENvbXBhbmllcykiXX0sMzQ3MzM3KGUpe2UuZXhwb3J0cz1bIkxTSU4g4oCUIExvbmRvbiBTdG9jayBFeGNoYW5nZSAoSW50ZXJuYXRpb25hbCBDb21wYW5pZXMpIl19LDg4ODY3OChlKXtlLmV4cG9ydHM9WyJMb3ciXX0sMzY1MDYxKGUpe2UuZXhwb3J0cz1bIkxvd2VyIERldmlhdGlvbiJdfSwzNzI3MzIoZSl7ZS5leHBvcnRzPVsiTG9hZGluZyJdfSw3NTQzMTAoZSl7ZS5leHBvcnRzPVsiTG9jay91bmxvY2siXX0sODgyNzYoZSl7ZS5leHBvcnRzPVsiTG9jayB2ZXJ0aWNhbCBjdXJzb3IgbGluZSBieSB0aW1lIl19LDQxMTc2OChlKXtlLmV4cG9ydHM9WyJMb2NrIHByaWNlIHRvIGJhciByYXRpbyJdfSw1MDM1NTgoZSl7ZS5leHBvcnRzPVsiTG9nYXJpdGhtaWMiXX0sMjQ2NTA3KGUpe2UuZXhwb3J0cz1bIkxvbmRvbiJdfSw0MDg0MjYoZSl7ZS5leHBvcnRzPVsiTG9zIEFuZ2VsZXMiXX0sMjgyNzczKGUpe2UuZXhwb3J0cz1bIkxhdHZpYSJdfSw4NzQ2MShlKXtlLmV4cG9ydHM9WyJMYWRkZXIiXX0sOTUwNTE2KGUpe2UuZXhwb3J0cz1bIkxhZ29zIl19LDg4MDQ3MShlKXtlLmV4cG9ydHM9WyJMYW5nICYgU2Nod2FyeiBUcmFkZUNlbnRlciBBRyAmIENvLiBLRyJdfSw3NDM5NyhlKXtlLmV4cG9ydHM9WyJMYXN0IGJhciB0aW1lIl19LDMxNDY3KGUpe2UuZXhwb3J0cz1bIkxhc3QgZGF5IGNoYW5nZSJdfSw1MDQzNjEoZSl7ZS5leHBvcnRzPVsiTGV2ZWxzIl19LDY0NDc4MChlKXtlLmV4cG9ydHM9WyJMZWFybiB3aHkiXX0sNjQ4ODE2KGUpe2UuZXhwb3J0cz1bIkxlZnQiXX0sODkyMTAwKGUpe2UuZXhwb3J0cz1bIkxpdGh1YW5pYSJdfSwxNTc1MDAoZSl7ZS5leHBvcnRzPVsiTGltYSJdfSw1Mjc5MTIoZSl7ZS5leHBvcnRzPVsiTGluZSJdfSwxMDM2MTcoZSl7ZS5leHBvcnRzPVsiTGluZSBCcmVhayJdfSw1MDcyKGUpe2UuZXhwb3J0cz1bIkxpc2JvbiJdfSw0MjIwMDcoZSl7ZS5leHBvcnRzPVsiTGp1YmxqYW5hIl19LDQzNjI1MyhlKXtlLmV4cG9ydHM9WyJMdXhTRSDigJQgTHV4ZW1ib3VyZyBTdG9jayBFeGNoYW5nZSJdfSw5NzU0NDcoZSl7ZS5leHBvcnRzPVsiTHV4ZW1ib3VyZyJdfSwzMjM4OTQoZSl7ZS5leHBvcnRzPVsiTHVuYXJDcnVzaCJdfSwxNTI1MTUoZSl7ZS5leHBvcnRzPVsiTU0gRmluYW5jZSAoQ3Jvbm9zKSJdfSw3NjAwNjkoZSl7ZS5leHBvcnRzPVsiTUFUU1VJIl19LDUwMjc4KGUpe2UuZXhwb3J0cz1bIk1DWCDigJQgTXVsdGkgQ29tbW9kaXR5IEV4Y2hhbmdlIl19LDI1MTU5MShlKXtlLmV4cG9ydHM9WyJNRVhDIl19LDc2MTU5NihlKXtlLmV4cG9ydHM9WyJNR0VYIOKAlCBGdXR1cmVzIl19LDM4NTgyNChlKXtlLmV4cG9ydHM9WyJNSUwg4oCUIE1pbGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk0OTgyNihlKXtlLmV4cG9ydHM9WyJNSUxTRURFWCDigJQgTWlsYW4gU3RvY2sgRXhjaGFuZ2UiXX0sMzE5ODY0KGUpe2UuZXhwb3J0cz1bIk1TRSAtIE1ldHJvcG9saXRhbiBTdG9jayBFeGNoYW5nZSJdfSw1MTI3NChlKXtlLmV4cG9ydHM9WyJNU1RBUiDigJQgQ0JPRSBNb3JuaW5nU3RhciBJbmRpY2VzIl19LDY1NDQ4MyhlKXtlLmV4cG9ydHM9WyJNVU4g4oCUIE11bmljaCBTdG9jayBFeGNoYW5nZSJdfSw5NjUwNjgoZSl7ZS5leHBvcnRzPVsiTVlYIOKAlCBCdXJzYSBNYWxheXNpYSBCZXJoYWQiXX0sMjg4Mzk2KGUpe2UuZXhwb3J0cz1bIk1vdmUgY2hhcnQiXX0sNzA1MDE2KGUpe2UuZXhwb3J0cz1bIk1vdmUgc2NhbGUgdG8gbGVmdCJdfSw5MTg3OShlKXtlLmV4cG9ydHM9WyJNb3ZlIHNjYWxlIHRvIHJpZ2h0Il19LDk0NzkzNihlKXtlLmV4cG9ydHM9WyJNb24iXX0sODg5Mzk0KGUpe2UuZXhwb3J0cz1bIk1vbmRheSJdfSw2OTUzMzcoZSl7ZS5leHBvcnRzPVsiTW9udGhzIl19LDMxNjAxOChlKXtlLmV4cG9ydHM9WyJNb3JlIHNldHRpbmdzIl19LDcyMTQzMyhlKXtlLmV4cG9ydHM9WyJNb3JvY2NvIl19LDI5NTU4NihlKXtlLmV4cG9ydHM9WyJNb3JuaW5nLiBNYXJrZXQgaXMgb3BlbiBmb3IgcHJlLW1hcmtldCB0cmFkaW5nLiJdfSw0NDYwNzQoZSl7CmUuZXhwb3J0cz1bIk1vc2NvdyJdfSw4NDk5NzMoZSl7ZS5leHBvcnRzPVsiTWF5Il19LDQzMTg5MihlKXtlLmV4cG9ydHM9WyJNYWRyaWQiXX0sNjAyNTE5KGUpe2UuZXhwb3J0cz1bIk1haW5sYW5kIENoaW5hIl19LDYyNzk2NyhlKXtlLmV4cG9ydHM9WyJNYWxheXNpYSJdfSw1NjMyMzcoZSl7ZS5leHBvcnRzPVsiTWFsdGEiXX0sMzYxNDQ1KGUpe2UuZXhwb3J0cz1bIk1hbmlsYSJdfSwxMDMzMDUoZSl7ZS5leHBvcnRzPVsiTWFyIl19LDYzNTY0MyhlKXtlLmV4cG9ydHM9WyJNYXJjaCJdfSw3NDM2ODkoZSl7ZS5leHBvcnRzPVsiTWFya2V0IGlzIGN1cnJlbnRseSBvbiBob2xpZGF5LiBMdWNreSB0aGVtLiJdfSw5NDcwNDQoZSl7ZS5leHBvcnRzPVsiTWV0ZW9yYSBETE1NIChTb2xhbmEpIl19LDgzMTk3MyhlKXtlLmV4cG9ydHM9WyJNZXRlb3JhIERZTiAoU29sYW5hKSJdfSw3ODkyOTEoZSl7ZS5leHBvcnRzPVsiTWV0cmljIGVycm9yIl19LDg2NTcwMChlKXtlLmV4cG9ydHM9WyJNZXhpY28iXX0sODc0NjA3KGUpe2UuZXhwb3J0cz1bIk1leGljbyBDaXR5Il19LDg1NTYzNihlKXtlLmV4cG9ydHM9WyJNaWRkbGUiXX0sNDI2NjcxKGUpe2UuZXhwb3J0cz1bIk1pbnV0ZXMiXX0sNTMyODg4KGUpe2UuZXhwb3J0cz1bIk10LkdveCJdfSw4MjU0MTQoZSl7ZS5leHBvcnRzPVsiTXVzY2F0Il19LDkwMzY1MChlKXtlLmV4cG9ydHM9WyJOQVNEQVEgRHViYWkiXX0sNzQ4NjcwKGUpe2UuZXhwb3J0cz1bIk5BU0RBUSDigJQgTkFTREFRIFN0b2NrIE1hcmtldCJdfSw1NDEyNTUoZSl7ZS5leHBvcnRzPVsiTkNERVgg4oCUIE5hdGlvbmFsIENvbW1vZGl0eSAmIERlcml2YXRpdmVzIEV4Y2hhbmdlIl19LDIyMDU1NyhlKXtlLmV4cG9ydHM9WyJOR00g4oCUIE5vcmRpYyBHcm93dGggTWFya2V0Il19LDkyMjc3MChlKXtlLmV4cG9ydHM9WyJOU0Ug4oCUIE5hZ295YSBTdG9jayBFeGNoYW5nZSJdfSwyNDUyNDkoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYWlyb2JpIFNlY3VyaXRpZXMgRXhjaGFuZ2UiXX0sNTgwNzEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOYXRpb25hbCBTdG9jayBFeGNoYW5nZSBvZiBJbmRpYSJdfSw1NDQxMjEoZSl7ZS5leHBvcnRzPVsiTlNFIOKAlCBOaWdlcmlhbiBTdG9jayBFeGNoYW5nZSJdfSw2ODE2MTcoZSl7ZS5leHBvcnRzPVsiTllNRVgg4oCUIE5ldyBZb3JrIE1lcmNhbnRpbGUgRXhjaGFuZ2UiXX0sOTQyNDg0KGUpe2UuZXhwb3J0cz1bIk5ZU0Ug4oCUIE5ldyBZb3JrIFN0b2NrIEV4Y2hhbmdlIl19LDEyNzYyKGUpe2UuZXhwb3J0cz1bIk5aWCDigJQgTmV3IFplYWxhbmQgU3RvY2sgRXhjaGFuZ2UiXX0sMzAwNTU4KGUpe2UuZXhwb3J0cz1bIk5vIGFjY2VzcyB0byB0aGlzIHNjcmlwdCJdfSw5OTM0MTYoZSl7ZS5leHBvcnRzPVsiTm8gdm9sdW1lIGRhdGEiXX0sMjE5MDY5KGUpe2UuZXhwb3J0cz1bIk5vLCBrZWVwIHRoZW0iXX0sNTYxNjAwKGUpe2UuZXhwb3J0cz1bIk5vdGlmaWNhdGlvbiJdfSw2NDY1NDUoZSl7ZS5leHBvcnRzPVsiTm92Il19LDk3MTU2MShlKXtlLmV4cG9ydHM9WyJOb3ZlbWJlciJdfSw5Njc0MTIoZSl7ZS5leHBvcnRzPVsiTm9yZm9sayBJc2xhbmQiXX0sODQ1NTIzKGUpe2UuZXhwb3J0cz1bIk5vcndheSJdfSwxMjQ5MzQoZSl7ZS5leHBvcnRzPVsiTmFpcm9iaSJdfSw2MTY4NjIoZSl7ZS5leHBvcnRzPVsiTmV0aGVybGFuZHMiXX0sMjU4MTE3KGUpe2UuZXhwb3J0cz1bIk5ldyBZb3JrIl19LDQyMTYoZSl7ZS5leHBvcnRzPVsiTmV3IFplYWxhbmQiXX0sMjc2NTQ3KGUpe2UuZXhwb3J0cz1bIk5pY29zaWEiXX0sODQ5ODY4KGUpe2UuZXhwb3J0cz1bIk5pZ2VyaWEiXX0sNTc2MzQ2KGUpe2UuZXhwb3J0cz1bIlNFVCDigJQgU3RvY2sgRXhjaGFuZ2Ugb2YgVGhhaWxhbmQiXX0sMzkzMjUoZSl7ZS5leHBvcnRzPVsiU0dYIOKAlCBTaW5nYXBvcmUgU3RvY2sgRXhjaGFuZ2UiXX0sOTQ2NjM0KGUpe2UuZXhwb3J0cz1bIlNIRkUg4oCUIFNoYW5naGFpIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sNDIzMjcoZSl7ZS5leHBvcnRzPVsiU0lYIOKAlCBTSVggU3dpc3MgRXhjaGFuZ2UiXX0sMTQxOTgoZSl7ZS5leHBvcnRzPVsiU1Ag4oCUIFMmUCBJbmRleGVzIl19LDI0ODI1NShlKXtlLmV4cG9ydHM9WyJTUCDigJQgUyZQIEluZGljZXMiXX0sMzIxMTc1KGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FudGlhZ28gU3RvY2sgRXhjaGFuZ2UiXX0sNTIzMjkwKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2FwcG9ybyBTZWN1cml0aWVzIEV4Y2hhbmdlIl19LDM2ODkyKGUpe2UuZXhwb3J0cz1bIlNTRSDigJQgU2hhbmdoYWkgU3RvY2sgRXhjaGFuZ2UiXX0sMTI1NTY4KGUpe2UuZXhwb3J0cz1bIlNUTyDigJQgTmFzZGFxIFN0b2NraG9sbSJdfSw1NzI5MDkoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSAoVE9OKSJdfSw3ODQ0OTUoZSl7ZS5leHBvcnRzPVsiU1RPTi5maSB2MiAoVE9OKSJdfSw2MjcxMDQoZSl7ZS5leHBvcnRzPVsiU1ZQIl19LDMwNzk2KGUpe2UuZXhwb3J0cz1bIlNXQiDigJQgU3R1dHRnYXJ0IFN0b2NrIEV4Y2hhbmdlIl19LDgzNDk2MShlKXtlLmV4cG9ydHM9WyJTWlNFIOKAlCBTaGVuemhlbiBTdG9jayBFeGNoYW5nZSJdfSw1NjIzOTUoZSl7ZS5leHBvcnRzPVsiU25hcHNob3QiXX0sNTM4OTQ4KGUpe2UuZXhwb3J0cz1bIlNvdXJjZSJdfSw3OTM0MDIoZSl7ZS5leHBvcnRzPVsiU291cmNlIGNvZGUiXX0sMzEwMDgyKGUpe2UuZXhwb3J0cz1bIlNvdXRoIEFmcmljYSJdfSw1ODc3NTIoZSl7ZS5leHBvcnRzPVsiU291dGggS29yZWEiXX0sNTA0MzEoZSl7ZS5leHBvcnRzPVsiU29maWEiXX0sNDAwMzIwKGUpe2UuZXhwb3J0cz1bIlNvbWV0aGluZyB3ZW50IHdyb25nIHdoZW4gY3JlYXRpbmcgdGhlIGluZGljYXRvci4iXX0sMjg1ZTMoZSl7ZS5leHBvcnRzPVsiU29tZXRoaW5nIHdlbnQgd3JvbmcuIEhhbmcgdGlnaHQgYW5kIHRyeSBhZ2FpbiBsYXRlci4iXX0sNTkxNDE4KGUpe2UuZXhwb3J0cz1bIlNhdCJdfSwzODc5NShlKXtlLmV4cG9ydHM9WyJTYXR1cmRheSJdfSw3NjE1MjMoZSl7ZS5leHBvcnRzPVsiU2F1ZGkgQXJhYmlhIl19LDc4NDc0MShlKXtlLmV4cG9ydHM9WyJTYXZlIGFzIl19LDE3MzQ3OShlKXtlLmV4cG9ydHM9WyJTYXhvIl0KfSw0NTE0NDcoZSl7ZS5leHBvcnRzPVsiU2FuIFNhbHZhZG9yIl19LDUxNDE1NihlKXtlLmV4cG9ydHM9WyJTYW50aWFnbyJdfSw5NTU0MzAoZSl7ZS5leHBvcnRzPVsiU2FvIFBhdWxvIl19LDc2MjE0NShlKXtlLmV4cG9ydHM9WyJTY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDczMDU4NihlKXtlLmV4cG9ydHM9WyJTZXR0aW5ncyJdfSw4NTAyOTgoZSl7ZS5leHBvcnRzPVsiU2Vjb25kIGZyYWN0aW9uIHBhcnQgaXMgaW52YWxpZC4iXX0sMTU0ODE0KGUpe2UuZXhwb3J0cz1bIlNlY29uZHMiXX0sNDQ0NDE4KGUpe2UuZXhwb3J0cz1bIlNlb3VsIl19LDE3ODQ2OShlKXtlLmV4cG9ydHM9WyJTZXAiXX0sNDE1MjYxKGUpe2UuZXhwb3J0cz1bIlNlcHRlbWJlciJdfSw3MTg1MjkoZSl7ZS5leHBvcnRzPVsiU2VyYmlhIl19LDEwOTk1NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIl19LDc5MjQ5NihlKXtlLmV4cG9ydHM9WyJTZXNzaW9uIGJyZWFrcyJdfSw1Nzg4MzEoZSl7ZS5leHBvcnRzPVsiU2hhbmdoYWkiXX0sNjQ5MzczKGUpe2UuZXhwb3J0cz1bIlNob3cgYWxsIGRyYXdpbmdzIl19LDgxODc2MyhlKXtlLmV4cG9ydHM9WyJTaG93IGFsbCBkcmF3aW5ncyBhbmQgaW5kaWNhdG9ycyJdfSw0MjA2MjQoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgZHJhd2luZ3MsIGluZGljYXRvcnMsIHBvc2l0aW9ucywgYW5kIG9yZGVycyJdfSwyMDYzNzkoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgaW5kaWNhdG9ycyJdfSw3NzYwNjMoZSl7ZS5leHBvcnRzPVsiU2hvdyBhbGwgcG9zaXRpb25zIGFuZCBvcmRlcnMiXX0sNjQzNzk1KGUpe2UuZXhwb3J0cz1bIlNpbmdhcG9yZSJdfSw4MDY5NzMoZSl7ZS5leHBvcnRzPVsiU2tpbGxpbmciXX0sMjYzNDMyKGUpe2UuZXhwb3J0cz1bIlNsb3Zha2lhIl19LDcyMTgyMShlKXtlLmV4cG9ydHM9WyJTbG92ZW5pYSJdfSw3ODgzMjEoZSl7ZS5leHBvcnRzPVsiU3BhaW4iXX0sNjkxMjc5KGUpe2UuZXhwb3J0cz1bIlNwcmVhZGV4Il19LDgwNDc2NihlKXtlLmV4cG9ydHM9WyJTcmkgTGFua2EiXX0sOTkyMzYyKGUpe2UuZXhwb3J0cz1bIlN0dWRpZXMgbGltaXQgZXhjZWVkZWQ6IHtudW1iZXJ9IHN0dWRpZXMgcGVyIGxheW91dC5cblBsZWFzZSwgcmVtb3ZlIHNvbWUgc3R1ZGllcy4iXX0sOTMxOTkyKGUpe2UuZXhwb3J0cz1bIlN0eWxlIl19LDM3OTA1KGUpe2UuZXhwb3J0cz1bIlN0YWNrIG9uIHRoZSBsZWZ0Il19LDI3OTk3NyhlKXtlLmV4cG9ydHM9WyJTdGFjayBvbiB0aGUgcmlnaHQiXX0sMjU1NTExKGUpe2UuZXhwb3J0cz1bIlN0b2NraG9sbSJdfSwxMjMyMTkoZSl7ZS5leHBvcnRzPVsiU3RyYXRlZ3kgY2FsY3VsYXRpb24gb24gZWFjaCBoaXN0b3JpY2FsIHRpY2sgaXMgYXZhaWxhYmxlIHRvIFByZW1pdW0gYW5kIFVsdGltYXRlIHBsYW5zIG9ubHkuIFVwZ3JhZGUgeW91ciBwbGFuIHRvIGFjY2VzcyB0aGlzIGZlYXR1cmUuIl19LDUwNzQ1OChlKXtlLmV4cG9ydHM9WyJTdW4iXX0sNDMxNTE2KGUpe2UuZXhwb3J0cz1bIlN1blN3YXAgdjIgKFRST04pIl19LDkwOTMwNChlKXtlLmV4cG9ydHM9WyJTdW5kYXkiXX0sMTAzNShlKXtlLmV4cG9ydHM9WyJTdXNoaVN3YXAgdjIgKEV0aGVyZXVtKSJdfSwzMjQ3MDkoZSl7ZS5leHBvcnRzPVsiU3VzaGlTd2FwIHYyIChQb2x5Z29uKSJdfSwzNjk5NjMoZSl7ZS5leHBvcnRzPVsiU3dlZGVuIl19LDY2MDUzNChlKXtlLmV4cG9ydHM9WyJTd2lzc3F1b3RlIl19LDczMzk3MShlKXtlLmV4cG9ydHM9WyJTd2l0emVybGFuZCJdfSwxNzk5MzQoZSl7ZS5leHBvcnRzPVsiU3lkbmV5Il19LDcyMDUyKGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBFcnJvciJdfSw3NzA0MzcoZSl7ZS5leHBvcnRzPVsiU3ltYm9sIG5hbWUgbGFiZWwiXX0sOTU3MTk5KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBsYXN0IHByaWNlIGxhYmVsIl19LDg4MjE1KGUpe2UuZXhwb3J0cz1bIlN5bWJvbCBwcmV2aW91cyBkYXkgY2xvc2UgcHJpY2UgbGFiZWwiXX0sMzQ5OTgzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwICh6a1N5bmMpIl19LDE2MTEzKGUpe2UuZXhwb3J0cz1bIlN5bmNTd2FwIHYyICh6a1N5bmMpIl19LDg2MDIxMShlKXtlLmV4cG9ydHM9WyJQU0Ug4oCUIFBoaWxpcHBpbmUgU3RvY2sgRXhjaGFuZ2UiXX0sMTMzNDY0KGUpe2UuZXhwb3J0cz1bIlBTRSDigJQgUHJhZ3VlIFN0b2NrIEV4Y2hhbmdlIl19LDk2MTI0NShlKXtlLmV4cG9ydHM9WyJQU1gg4oCUIFBha2lzdGFuIFN0b2NrIEV4Y2hhbmdlIl19LDk1NDA0MShlKXtlLmV4cG9ydHM9WyJQbkYiXX0sOTY4NjA5KGUpe2UuZXhwb3J0cz1bIlBvbGFuZCJdfSw4NDMyMzUoZSl7ZS5leHBvcnRzPVsiUG9sb25pZXgiXX0sMzk4OTQoZSl7ZS5leHBvcnRzPVsiUG9ydHVnYWwiXX0sODQ0NDM2KGUpe2UuZXhwb3J0cz1bIlBha2lzdGFuIl19LDY4MTU2NChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MiAoQk5CIGNoYWluKSJdfSw1MDIyNChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlU3dhcCB2MyAoQk5CIGNoYWluKSJdfSwyNjEzMTQoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZVN3YXAgdjMgKEV0aGVyZXVtKSJdfSw3ODU2MjkoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEFyYml0cnVtKSJdfSw1MjA5MTUoZSl7ZS5leHBvcnRzPVsiUGFuY2FrZXN3YXAgdjMgKEJhc2UpIl19LDMwMDM0MChlKXtlLmV4cG9ydHM9WyJQYW5jYWtlc3dhcCB2MyAoemtTeW5jKSJdfSw1NjIyMTUoZSl7ZS5leHBvcnRzPVsiUGFuZ29saW4gdjIgKEF2YWxhbmNoZSkiXX0sNjE3ODc0KGUpe2UuZXhwb3J0cz1bIlBhcmlzIl19LDI4OTQ5MyhlKXtlLmV4cG9ydHM9WyJQZXBwZXJzdG9uZSJdfSwxNTU4MzMoZSl7ZS5leHBvcnRzPVsiUGVyY2VudCJdfSwzNTAxMDgoZSl7ZS5leHBvcnRzPVsiUGVydGgiXX0sODUxMTExKGUpe2UuZXhwb3J0cz1bIlBlcnUiXX0sNzMzNTM5KGUpe2UuZXhwb3J0cz1bIlBoYXJhb2ggKEF2YWxhbmNoZSkiXX0sNzA1MzIyKGUpe2UuZXhwb3J0cz1bIlBoZW1leCJdfSw2MTM2NDcoZSl7ZS5leHBvcnRzPVsiUGhpbGlwcGluZXMiXX0sODMyMDM2KGUpe2UuZXhwb3J0cz1bIlBoaWxsaXAgTm92YSJdfSwzMzE5NTkoZSl7CmUuZXhwb3J0cz1bIlBob2VuaXgiXX0sNjc0NjcwKGUpe2UuZXhwb3J0cz1bIlBpb25leCJdfSwyODg5MTUoZSl7ZS5leHBvcnRzPVsiUGx1cyBidXR0b24iXX0sNTQ0NDAzKGUpe2UuZXhwb3J0cz1bIlByYWd1ZSJdfSw1NjUxNjEoZSl7ZS5leHBvcnRzPVsiUHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIl19LDQyMTEwKGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0IG1hcmtldCBwcmljZSBsaW5lIl19LDQ1ODI2MihlKXtlLmV4cG9ydHM9WyJQcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGFiZWwiXX0sNDY2ODU1KGUpe2UuZXhwb3J0cz1bIlByZS9wb3N0L25pZ2h0IG1hcmtldCBwcmljZSBsaW5lIl19LDc0NjMwNShlKXtlLmV4cG9ydHM9WyJQcmUtbWFya2V0IHdpbGwgc3RhcnQgaW4ge3JlbWFpbmluZ1RpbWV9LiJdfSw3OTQzMzEoZSl7ZS5leHBvcnRzPVsiUHJldmlvdXMgZGF5IGNsb3NlIHByaWNlIGxpbmUiXX0sNjE2MTgoZSl7ZS5leHBvcnRzPVsiUHJpY2UgZm9ybWF0IGlzIGludmFsaWQuIl19LDg4MDIyMihlKXtlLmV4cG9ydHM9WyJQcmljZSBsaW5lIl19LDkzOTMwNyhlKXtlLmV4cG9ydHM9WyJQdWxzZXggKFB1bHNlY2hhaW4pIl19LDk3OTc1OShlKXtlLmV4cG9ydHM9WyJQdWxzZVggdjIgKFB1bHNlY2hhaW4pIl19LDExNTc5MShlKXtlLmV4cG9ydHM9WyJQdXJwbGUgVHJhZGluZyJdfSw2MDgxNjAoZSl7ZS5leHBvcnRzPVsiUHl0aCJdfSw4OTc2NyhlKXtlLmV4cG9ydHM9WyJRMSJdfSw5NDg5MjMoZSl7ZS5leHBvcnRzPVsiUTIiXX0sMzY3OTM1KGUpe2UuZXhwb3J0cz1bIlEzIl19LDE3NTUwNyhlKXtlLmV4cG9ydHM9WyJRNCJdfSw1OTU1NTUoZSl7ZS5leHBvcnRzPVsiUVNFIOKAlCBRYXRhciBTdG9jayBFeGNoYW5nZSJdfSw5MzM3NTMoZSl7ZS5leHBvcnRzPVsiUWF0YXIiXX0sNDkyMjgxKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MiAoUG9seWdvbikiXX0sODczMzk1KGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbiB6a0VWTSkiXX0sNTk2NTQyKGUpe2UuZXhwb3J0cz1bIlF1aWNrU3dhcCB2MyAoUG9seWdvbikiXX0sODE0NjEoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiJdfSw3OTA1MjQoZSl7ZS5leHBvcnRzPVsiUXVvdGVzIGFyZSBkZWxheWVkIGJ5IHtudW1iZXJ9IG1pbiBhbmQgdXBkYXRlZCBldmVyeSAzMCBzZWNvbmRzIl19LDQyMzQwMShlKXtlLmV4cG9ydHM9WyJST0ZFWCDigJQgTUFUQkEgUk9GRVgiXX0sMTI3MzM2KGUpe2UuZXhwb3J0cz1bIlJVUyJdfSw5MDU5NDUoZSl7ZS5leHBvcnRzPVsiUm9tYW5pYSJdfSwyMjU5OTEoZSl7ZS5leHBvcnRzPVsiUm9tZSJdfSw1NjU2MTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSAoU29sYW5hKSJdfSwzNDM3OTEoZSl7ZS5leHBvcnRzPVsiUmF5ZGl1bSBDTE1NIChTb2xhbmEpIl19LDgwODk3MihlKXtlLmV4cG9ydHM9WyJSYXlkaXVtIENQTU0gKFNvbGFuYSkiXX0sNTI4MDQ4KGUpe2UuZXhwb3J0cz1bIlJhbXNlcyB2MiAoQXJiaXRydW0pIl19LDk5MDIxMyhlKXtlLmV4cG9ydHM9WyJSYW5nZSJdfSw3NTM4NTgoZSl7ZS5leHBvcnRzPVsiUmV5a2phdmlrIl19LDg4MzkyOChlKXtlLmV4cG9ydHM9WyJSZWFsLXRpbWUiXX0sNzk4MzA3KGUpe2UuZXhwb3J0cz1bIlJlZG8iXX0sOTExMjYoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIl19LDE1MDg5NyhlKXtlLmV4cG9ydHM9WyJSZW1vdmUgdGhpcyBpbmRpY2F0b3IgYW5kIGl0cyBkZXBlbmRlbnQgaW5kaWNhdG9ycz8iXX0sMTQ1Mzk2KGUpe2UuZXhwb3J0cz1bIlJlbW92ZSB7ZHJhd2luZ3N9Il19LDY4MzIwOChlKXtlLmV4cG9ydHM9WyJSZW1vdmUge2RyYXdpbmdzfSAmIHtpbmRpY2F0b3JzfSJdfSwxMjgxMzMoZSl7ZS5leHBvcnRzPVsiUmVtb3ZlIHtpbmRpY2F0b3JzfSJdfSw4ODk5OShlKXtlLmV4cG9ydHM9WyJSZW5rbyJdfSw4OTMwMjgoZSl7ZS5leHBvcnRzPVsiUmVwbGF5Il19LDk3NzI3KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBNb2RlIl19LDk2NzczNShlKXtlLmV4cG9ydHM9WyJSZXBsYXkgaXNuJ3QgYXZhaWxhYmxlIGZvciB0aGlzIGNoYXJ0IHR5cGUuIENvbnRpbnVlIGFueXdheT8iXX0sNzg0MTE2KGUpe2UuZXhwb3J0cz1bIlJlcGxheSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMgc3ltYm9sLiBDb250aW51ZSBhbnl3YXk/Il19LDIwNzg0NShlKXtlLmV4cG9ydHM9WyJSZXNldCBjaGFydCB2aWV3Il19LDkwNjQzNihlKXtlLmV4cG9ydHM9WyJSZXNldCB0aW1lIHNjYWxlIl19LDc4MDk1KGUpe2UuZXhwb3J0cz1bIlJpeWFkaCJdfSwyMjk2NDMoZSl7ZS5leHBvcnRzPVsiUmlnYSJdfSw0OTg0MTUoZSl7ZS5leHBvcnRzPVsiUmlnaHQiXX0sNzMwNjM4KGUpe2UuZXhwb3J0cz1bIlJ1bnRpbWUgZXJyb3IiXX0sMzkwNTk4KGUpe2UuZXhwb3J0cz1bIlJ1c3NpYW4gRmVkZXJhdGlvbiJdfSw0NjUyNjAoZSl7ZS5leHBvcnRzPVsiV09PIFgiXX0sMjkwNzIyKGUpe2UuZXhwb3J0cz1bIldCIC0gVmllbm5hIFN0b2NrIEV4Y2hhbmdlIl19LDQzNjg3MShlKXtlLmV4cG9ydHM9WyJXRUVYIl19LDQyMDkwMShlKXtlLmV4cG9ydHM9WyJXSCBTZWxmSW52ZXN0Il19LDU1NDM0MihlKXtlLmV4cG9ydHM9WyJXb3JsZCBlY29ub21pYyBkYXRhIl19LDkzNzAxNyhlKXtlLmV4cG9ydHM9WyJXYXJuaW5nIl19LDE2NDczNihlKXtlLmV4cG9ydHM9WyJXYXJzYXciXX0sNDY1ODUxKGUpe2UuZXhwb3J0cz1bIldlYnVsbCBQYXkiXX0sNDcwNDgwKGUpe2UuZXhwb3J0cz1bIldlZCJdfSw3NzI3NjUoZSl7ZS5leHBvcnRzPVsiV2VkbmVzZGF5Il19LDI1MTcyOChlKXtlLmV4cG9ydHM9WyJXZWVrcyJdfSw3NDI2NDIoZSl7ZS5leHBvcnRzPVsiV2h5IG1pZ2h0IG15IFVTIHN0b2NrIGRhdGEgbG9vayBkaWZmZXJlbnQ/Il19LDczMjQ0NShlKXtlLmV4cG9ydHM9WyJXaGl0ZUJJVCJdfSwyODU0ODQoZSl7ZS5leHBvcnRzPVsiVE1YIOKAlCBNb250cmVhbCBFeGNoYW5nZSJdfSw3ODIxNjIoZSl7ZS5leHBvcnRzPVsiVE9DT00g4oCUIFRva3lvIENvbW1vZGl0eSBFeGNoYW5nZSJdfSw1MjI3MDcoZSl7CmUuZXhwb3J0cz1bIlRBSUZFWCDigJQgVGFpd2FuIEZ1dHVyZXMgRXhjaGFuZ2UiXX0sMTc3OTcoZSl7ZS5leHBvcnRzPVsiVEFMU0Ug4oCUIE5hc2RhcSBUYWxsaW5uIl19LDIzMzU1KGUpe2UuZXhwb3J0cz1bIlRBU0Ug4oCUIFRlbCBBdml2IFN0b2NrIEV4Y2hhbmdlIl19LDU1MTQ5MShlKXtlLmV4cG9ydHM9WyJURkVYIOKAlCBUaGFpbGFuZCBGdXR1cmVzIEV4Y2hhbmdlIl19LDk2MzI3OChlKXtlLmV4cG9ydHM9WyJURlgg4oCUIFRva3lvIEZpbmFuY2lhbCBFeGNoYW5nZSJdfSwxNzQ4MTgoZSl7ZS5leHBvcnRzPVsiVFBFeCDigJQgVGFpcGVpIEV4Y2hhbmdlIl19LDg3MzAzNShlKXtlLmV4cG9ydHM9WyJUUE8iXX0sNDI5NzMzKGUpe2UuZXhwb3J0cz1bIlRQTyBSZXNldCBhbGwgc3BsaXRzIGFuZCBtZXJnZXMiXX0sOTQxNzQoZSl7ZS5leHBvcnRzPVsiVFNFIOKAlCBUb2t5byBTdG9jayBFeGNoYW5nZSJdfSw4OTUyNDYoZSl7ZS5leHBvcnRzPVsiVFNYIOKAlCBUb3JvbnRvIFN0b2NrIEV4Y2hhbmdlIl19LDE4MzUyNChlKXtlLmV4cG9ydHM9WyJUU1hWIOKAlCBUU1ggVmVudHVyZSBFeGNoYW5nZSJdfSw4MTYyNTMoZSl7ZS5leHBvcnRzPVsiVFdTRSDigJQgVGFpd2FuIFN0b2NrIEV4Y2hhbmdlIl19LDc1MzAyNChlKXtlLmV4cG9ydHM9WyJUbyBjYWxjdWxhdGUgdGhlIFZXQVAgaW5kaWNhdG9yLCBtb3JlIGRhdGEgaXMgbmVlZGVkLiBab29tIG91dCBvciBzY3JvbGwgbGVmdCB0byBsb2FkIG1vcmUgaGlzdG9yaWNhbCBkYXRhLiJdfSw2MjM1NDYoZSl7ZS5leHBvcnRzPVsiVG90YWwiXX0sMTA0MTc3KGUpe2UuZXhwb3J0cz1bIlRva2VsYXUiXX0sNzk4MTk5KGUpe2UuZXhwb3J0cz1bIlRva3lvIl19LDQxNjE5KGUpe2UuZXhwb3J0cz1bIlRvb2JpdCJdfSw5NjUzODgoZSl7ZS5leHBvcnRzPVsiVG9wIl19LDE2MzY3MihlKXtlLmV4cG9ydHM9WyJUb3JvbnRvIl19LDIzODMzNihlKXtlLmV4cG9ydHM9WyJUYWJsZSB2aWV3Il19LDY5NzY0NyhlKXtlLmV4cG9ydHM9WyJUYWRhd3VsIOKAlCBTYXVkaSBFeGNoYW5nZSJdfSw0NzYwMjYoZSl7ZS5leHBvcnRzPVsiVGFpcGVpIl19LDI3MzE1NyhlKXtlLmV4cG9ydHM9WyJUYWl3YW4sIENoaW5hIl19LDY1MjE3NihlKXtlLmV4cG9ydHM9WyJUYWxsaW5uIl19LDc5MTE1KGUpe2UuZXhwb3J0cz1bIlRleHQiXX0sNzQxNjk3KGUpe2UuZXhwb3J0cz1bIlRleHQgd3JhcCJdfSwyNzQ5NTMoZSl7ZS5leHBvcnRzPVsiVGV4dCBhbGlnbm1lbnQiXX0sMzcyMjMoZSl7ZS5leHBvcnRzPVsiVGV4dCBvcmllbnRhdGlvbiJdfSw3NDI5OChlKXtlLmV4cG9ydHM9WyJUZWhyYW4iXX0sMjEyNTY0KGUpe2UuZXhwb3J0cz1bIlRlbXBvcmFyeSBnbGl0Y2giXX0sMzAxNDg5KGUpe2UuZXhwb3J0cz1bIlRodSJdfSw4MzQ2NzEoZSl7ZS5leHBvcnRzPVsiVGh1cnNkYXkiXX0sNTUzMDQ0KGUpe2UuZXhwb3J0cz1bIlRoYWlsYW5kIl19LDI3ODc4OChlKXtlLmV4cG9ydHM9WyJUaGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIl19LDgyMzE2NihlKXtlLmV4cG9ydHM9WyJUaGUgZGF0YSB2ZW5kb3IgZG9lc24ndCBwcm92aWRlIHZvbHVtZSBkYXRhIGZvciB0aGlzIHN5bWJvbC4iXX0sNjAxNzAzKGUpe2UuZXhwb3J0cz1bIlRoZSBpbWFnZSBiZWluZyBwYXN0ZWQgaXMgd2F5IHRvbyBsYXJnZSJdfSwxODIwMjAoZSl7ZS5leHBvcnRzPVsiVGhlIHJlcXVlc3QgdG9vayB0b28gbG9uZyB0byBwcm9jZXNzLiBFbnN1cmUgeW91IGhhdmUgYSBzdGFibGUgaW50ZXJuZXQgY29ubmVjdGlvbi4gSWYgdGhlIGlzc3VlIHBlcnNpc3RzLCB0cnkgZGVjcmVhc2luZyB0aGUgbGVuZ3RoIG9mIHRoZSByZXF1ZXN0ZWQgdGltZSBpbnRlcnZhbC4iXX0sMjM4Njg0KGUpe2UuZXhwb3J0cz1bIlRoZSBzY3JpcHQgeW91J3JlIGxvb2tpbmcgZm9yIGhhcyB2YW5pc2hlZCDigJQgbWF5YmUgaXQncyBiZWVuIHJlbW92ZWQgb3IgdGhlcmUncyBhIGdsaXRjaC4gQ29udGFjdCB0aGUgYXV0aG9yIHRvIGxlYXJuIG1vcmUuIl19LDcxMjE4NihlKXtlLmV4cG9ydHM9WyJUaGVyZSdzIG5vIGRhdGEgZm9yIHlvdXIgc2VsZWN0ZWQgcGVyaW9kIGFuZCBjaGFydCB0aW1lZnJhbWUuIl19LDUxOTE5MihlKXtlLmV4cG9ydHM9WyJUaGlua01hcmtldHMiXX0sNDA5MjEoZSl7ZS5leHBvcnRzPVsiVGhpcyBkcmF3aW5nIGlzIGxvY2tlZCBhbmQgdXNlZCBpbiBhbiBhbGVydC4gUmVtb3ZlIGl0IGFueXdheT8iXX0sMTQwNDA3KGUpe2UuZXhwb3J0cz1bIlRoaXMgZHJhd2luZyBpcyB1c2VkIGluIGFuIGFsZXJ0LiBSZW1vdmUgaXQgYW55d2F5PyJdfSw5MDAwNDEoZSl7ZS5leHBvcnRzPVsiVGhpcyBpbmRpY2F0b3IgaGFzIG5vIHNvdXJjZS10eXBlIGlucHV0LCBzbyBpdCBjYW4ndCBiZSBhcHBsaWVkIHRvIGFub3RoZXIgaW5kaWNhdG9yLiJdfSw0ODc2OTUoZSl7ZS5leHBvcnRzPVsiVGhpcyBzY3JpcHQgaXMgaW52aXRlLW9ubHkuIFRvIHJlcXVlc3QgYWNjZXNzLCBwbGVhc2UgY29udGFjdCBpdHMgYXV0aG9yLiJdfSw1MzM5NTYoZSl7ZS5leHBvcnRzPVsiVGhpcyBzeW1ib2wgaXMgb25seSBhdmFpbGFibGUgb24ge2xpbmtTdGFydH1UcmFkaW5nVmlld3tsaW5rRW5kfS4iXX0sOTk4MDQ0KGUpe2UuZXhwb3J0cz1bIlRpY2ttaWxsIl19LDM3MDI0MyhlKXtlLmV4cG9ydHM9WyJUaWNrcyJdfSw0Nzk0MTYoZSl7ZS5leHBvcnRzPVsiVGljay1iYXNlZCBpbnRlcnZhbHMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHt0aWNrZXJ9LiJdfSw4NjIxMTkoZSl7ZS5leHBvcnRzPVsiVGltZSJdfSwyMjQxOTgoZSl7ZS5leHBvcnRzPVsiVGltZSB6b25lIl19LDIxNTk5OChlKXtlLmV4cG9ydHM9WyJUaW1lIGZvciBhIHdhbGsg4oCUIHRoaXMgbWFya2V0IGlzIGNsb3NlZC4iXX0sODAwMDA1KGUpe2UuZXhwb3J0cz1bIlRyYWRlIE5hdGlvbiJdfSwxMzc1NTEoZSl7ZS5leHBvcnRzPVsiVHJhZGVnYXRlIEV4Y2hhbmdlIl19LDE1MDI0MihlKXtlLmV4cG9ydHM9WyJUcmFkZXIgSm9lIHYyIChBdmFsYW5jaGUpIl19LDUzMjE0NShlKXtlLmV4cG9ydHM9WyJUcmVuZCBsaW5lIl19LDE2NTQ2NShlKXtlLmV4cG9ydHM9WyJUcml2ZSJdfSw0NzQ5MyhlKXtlLmV4cG9ydHM9WyJUdWUiXX0sCjQ1NjMzNChlKXtlLmV4cG9ydHM9WyJUdWVzZGF5Il19LDMwNzI0OChlKXtlLmV4cG9ydHM9WyJUdW5pcyJdfSw2Nzc1OShlKXtlLmV4cG9ydHM9WyJUdW5pc2lhIl19LDE0OTE4MShlKXtlLmV4cG9ydHM9WyJUdXJib3MgRmluYW5jZSAoU3VpKSJdfSw2MzE4MTAoZSl7ZS5leHBvcnRzPVsiVHVya2V5Il19LDM2MTYzMihlKXtlLmV4cG9ydHM9WyJUdXJxdW9pc2UiXX0sMTYzMTEwKGUpe2UuZXhwb3J0cz1bIlVBRSJdfSw1ODc1MzMoZSl7ZS5leHBvcnRzPVsiVUsiXX0sMzAxMTE3KGUpe2UuZXhwb3J0cz1bIlVTQSJdfSwxMzkxNDEoZSl7ZS5leHBvcnRzPVsiVVNJIl19LDkxMjI1NShlKXtlLmV4cG9ydHM9WyJVVEMiXX0sNzQxMzMoZSl7ZS5leHBvcnRzPVsiVW5kbyJdfSw5MzI4KGUpe2UuZXhwb3J0cz1bIlVuZXhwZWN0ZWQgZXJyb3IgaW4gRGVlcCBCYWNrdGVzdGluZyBtb2RlLiBDb250YWN0IHN1cHBvcnQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIl19LDcwMzkyOShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYyIChCYXNlKSJdfSwzNjU5NDUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MiAoRXRoZXJldW0pIl19LDU5MTk3MChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChBcmJpdHJ1bSkiXX0sNzgxNTEoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQXZhbGFuY2hlKSJdfSw0MDA2OTcoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQk5CIGNoYWluKSJdfSw5OTYyNjUoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoQmFzZSkiXX0sMjgyNTA1KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjMgKEV0aGVyZXVtKSJdfSw4NDM3ODQoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2MyAoT3B0aW1pc20pIl19LDc4Mzc3NShlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHYzIChQb2x5Z29uKSJdfSw3NTc1OTMoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoQXJiaXRydW0pIl19LDExMTMwMChlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChBdmFsYW5jaGUpIl19LDI0NTE2MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChCTkIgY2hhaW4pIl19LDI3Mjg0KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKEJhc2UpIl19LDcwODY4MihlKXtlLmV4cG9ydHM9WyJVbmlzd2FwIHY0IChFdGhlcmV1bSkiXX0sNDcwNDgzKGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKE9wdGltaXNtKSJdfSw3ODQxMjIoZSl7ZS5leHBvcnRzPVsiVW5pc3dhcCB2NCAoUG9seWdvbikiXX0sNjg5MzE3KGUpe2UuZXhwb3J0cz1bIlVuaXN3YXAgdjQgKFVuaWNoYWluKSJdfSwyNDkwOTEoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEFyYWIgRW1pcmF0ZXMiXX0sMjgyNzMoZSl7ZS5leHBvcnRzPVsiVW5pdGVkIEtpbmdkb20iXX0sOTkxMjU4KGUpe2UuZXhwb3J0cz1bIlVua25vd24gZXJyb3IiXX0sODQ2NTk4KGUpe2UuZXhwb3J0cz1bIlVuc3VwcG9ydGVkIGludGVydmFsIl19LDYyMTk4NChlKXtlLmV4cG9ydHM9WyJVaC1vaCEgU29tZXRoaW5nJ3Mgbm90IHdvcmtpbmcgcmlnaHQiXX0sMTkzODE4KGUpe2UuZXhwb3J0cz1bIlVwQml0Il19LDI4MDYyKGUpe2UuZXhwb3J0cz1bIlVwZ3JhZGUgdG8gdGhlIFByZW1pdW0gcGxhbiB0byBhY2Nlc3MgaGlnaGVyIGJhciBkZXRhbGl6YXRpb24gd2l0aCBtb3JlIHRpY2tzIHVzZWQgaW4gY2FsY3VsYXRpb25zLiJdfSw5MjM5MTIoZSl7ZS5leHBvcnRzPVsiVXBncmFkZSB0byB1bmxvY2sgZm9yZWNhc3QgbWV0cmljcyJdfSw1OTkwMDkoZSl7ZS5leHBvcnRzPVsiVXBwZXIgRGV2aWF0aW9uIl19LDU4MDgxKGUpe2UuZXhwb3J0cz1bIlVzZSBMb3dlciBEZXZpYXRpb24iXX0sMjA4NzQ1KGUpe2UuZXhwb3J0cz1bIlVzZSBVcHBlciBEZXZpYXRpb24iXX0sODY0ODQ2KGUpe2UuZXhwb3J0cz1bIlVzZSBvbmUgY29sb3IiXX0sNDIwNDQ5KGUpe2UuZXhwb3J0cz1bIlVzZXItZGVmaW5lZCBlcnJvciJdfSw5OTc1MDAoZSl7ZS5leHBvcnRzPVsiVlNFIOKAlCBOYXNkYXEgVmlsbml1cyJdfSwyMzEzMjUoZSl7ZS5leHBvcnRzPVsiVlZTIEZpbmFuY2UgKENyb25vcykiXX0sOTk0MTc2KGUpe2UuZXhwb3J0cz1bIlZWUyB2MyAoQ3Jvbm9zKSJdfSwzNjQ3MzYoZSl7ZS5leHBvcnRzPVsiVldBUCBpcyB3YWl0aW5nIGZvciBtb3JlIGRhdGEiXX0sNTMzMDc3KGUpe2UuZXhwb3J0cz1bIlZvbG1leCJdfSwzMzI1ODcoZSl7ZS5leHBvcnRzPVsiVm9sdW1lIFByb2ZpbGUgaW5kaWNhdG9yIGF2YWlsYWJsZSBvbmx5IG9uIG91ciB1cGdyYWRlZCBwbGFucy4iXX0sNDk3NjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBkYXRhIGlzIG5vdCBwcm92aWRlZCBpbiBCSVNUIE1JWEVEIGRhdGEgcGxhbi4iXX0sNDg3MjQyKGUpe2UuZXhwb3J0cz1bIlZvbHVtZSBmb290cHJpbnQiXX0sNTkxMzIoZSl7ZS5leHBvcnRzPVsiVmFuY291dmVyIl19LDQ2MjUxNyhlKXtlLmV4cG9ydHM9WyJWYW50YWdlIl19LDY4MDc5KGUpe2UuZXhwb3J0cz1bIlZlbG9jaXR5IFRyYWRlIl19LDQ0NDgyNShlKXtlLmV4cG9ydHM9WyJWZWxvZHJvbWUgKE9wdGltaXNtKSJdfSw1MzMyNTAoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIFNsaXBTdHJlYW0gKE9wdGltaXNtKSJdfSw5NTc3MzQoZSl7ZS5leHBvcnRzPVsiVmVsb2Ryb21lIHYyIChPcHRpbWlzbSkiXX0sNjQzNTAzKGUpe2UuZXhwb3J0cz1bIlZlbmV6dWVsYSJdfSw4MDA1MDMoZSl7ZS5leHBvcnRzPVsiVmVydGljYWwiXX0sNjE0NDIoZSl7ZS5leHBvcnRzPVsiVmllbm5hIl19LDg1MjIxKGUpe2UuZXhwb3J0cz1bIlZpZXRuYW0iXX0sMTAwMzAxKGUpe2UuZXhwb3J0cz1bIlZpbG5pdXMiXX0sOTg3NzMzKGUpe2UuZXhwb3J0cz1bIlZpc2liaWxpdHkiXX0sNTI0Nzk1KGUpe2UuZXhwb3J0cz1bIlZpc2libGUgb24gdGFwIl19LDIxNTY3MShlKXtlLmV4cG9ydHM9WyJWaXNpYmxlIG9uIG1vdXNlIG92ZXIiXX0sOTYxODQ3KGUpe2UuZXhwb3J0cz1bIlhFVFIg4oCUIFhldHJhIl19LDY4NjExNChlKXtlLmV4cG9ydHM9WyJYVC5jb20iXX0sNTU4NDQ0KGUpewplLmV4cG9ydHM9WyJZb3UgYXJlIGluIHRoZSBjaGFydCByZXBsYXkgbW9kZS4gQW4gb3JkZXIgd2lsbCBiZSBwbGFjZWQgaW4gcmVhbC10aW1lLiBEbyB5b3Ugc3RpbGwgd2FudCB0byBwbGFjZSB0aGUgb3JkZXI/Il19LDcyMzYzKGUpe2UuZXhwb3J0cz1bIllvdSBhcmUgbm90aWZpZWQiXX0sMTkxMDYoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBjaGFydCB0eXBlIG9yIGNvbnRpbnVlIHRvIHVzZSBhIG5ldyBvbmUgd2l0aG91dCBiYXIgcmVwbGF5LiJdfSw0MTYxMTkoZSl7ZS5leHBvcnRzPVsiWW91IGNhbiBzdGF5IG9uIHRoZSBwcmV2aW91cyBzeW1ib2wgb3IgY29udGludWUgdG8gdXNlIGEgbmV3IG9uZSB3aXRob3V0IGJhciByZXBsYXkuIl19LDI5OTE4OChlKXtlLmV4cG9ydHM9WyJZb3UgY2Fubm90IHNlZSB0aGlzIHBpdm90IHRpbWVmcmFtZSBvbiB0aGlzIHJlc29sdXRpb24iXX0sNTA1OTg1KGUpe2UuZXhwb3J0cz1bIllvdSBoYXZlIGxvY2tlZCBkcmF3aW5ncyBvbiB0aGlzIHN5bWJvbC4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBsb2NrZWQgZHJhd2luZ3MgdG9vPyJdfSwxNzczNTQoZSl7ZS5leHBvcnRzPVsiWWFuZ29uIl19LDk4NTgyNihlKXtlLmV4cG9ydHM9WyJZZXMsIHJlbW92ZSB0aGVtIl19LDgxODg1MChlKXtlLmV4cG9ydHM9WyJaQ0Ug4oCUIFpoZW5nemhvdSBDb21tb2RpdHkgRXhjaGFuZ2UiXX0sNTM3MTM3KGUpe2UuZXhwb3J0cz1bIlpTRSDigJQgWmFncmViIFN0b2NrIEV4Y2hhbmdlIl19LDU3MDQwMyhlKXtlLmV4cG9ydHM9WyJab29tZXgiXX0sNzkyMzg2KGUpe2UuZXhwb3J0cz1bIlphZ3JlYiJdfSw0NzM0OTYoZSl7ZS5leHBvcnRzPVsiWnVyaWNoIl19LDkxNzU5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugbm8gb3ZlcmxhcHBpbmcgbGFiZWxzIl19LDUxNjQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sNDA1MzUyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBhdmVyYWdlIGNsb3NlIHByaWNlIGxpbmUgdmlzaWJpbGl0eSJdfSw5ODc5NzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJhciBYIGNvb3JkaW5hdGUiXX0sMTQxNTUzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBiaWQgYW5kIGFzayBsYWJlbHMgdmlzaWJpbGl0eSJdfSwzOTYwNDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGJpZCBhbmQgYXNrIGxpbmVzIHZpc2liaWxpdHkiXX0sOTkzOShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgY2hhcnQgbGF5b3V0IHRvIHt0aXRsZX0iXX0sMzk5MjU0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBjb3VudGRvd24gdG8gYmFyIGNsb3NlIHZpc2liaWxpdHkiXX0sMjQ3MDE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBkYXRlIHJhbmdlIl19LDU2OTg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGFiZWxzIHZpc2liaWxpdHkiXX0sMTg0NjY2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBoaWdoIGFuZCBsb3cgcHJpY2UgbGluZXMgdmlzaWJpbGl0eSJdfSwzODYzMzUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgbmFtZSBsYWJlbHMgdmlzaWJpbGl0eSJdfSw2MjQzNjAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIGluZGljYXRvcnMgYW5kIGZpbmFuY2lhbHMgdmFsdWUgbGFiZWxzIHZpc2liaWxpdHkiXX0sNzM5MDg3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwbHVzIGJ1dHRvbiB2aXNpYmlsaXR5Il19LDU3NjcwMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMTc2NzQ1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg0NDk4NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJlL3Bvc3QvbmlnaHQgbWFya2V0IHByaWNlIGxhYmVsIHZpc2liaWxpdHkiXX0sMzk0MjgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBwcmUvcG9zdC9uaWdodCBtYXJrZXQgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDg4NjkxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJldmlvdXMgY2xvc2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDE5NTIxOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgWSBjb29yZGluYXRlIl19LDMyMjkxMihlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcHJpY2UgbGluZSB2aXNpYmlsaXR5Il19LDc0MzM0MShlKXtlLmV4cG9ydHM9WyJjaGFuZ2UgcmVzb2x1dGlvbiJdfSwxODc2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIl19LDE1NjEwOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhYmVscyB2aXNpYmlsaXR5Il19LDIyNTkwMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc3ltYm9sIGxhc3QgdmFsdWUgdmlzaWJpbGl0eSJdfSw1OTQyMDkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHN5bWJvbCBwcmV2aW91cyBjbG9zZSB2YWx1ZSB2aXNpYmlsaXR5Il19LDcyMzQyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Ugc2Vzc2lvbiJdfSwxNDYyMDIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHNlc3Npb24gYnJlYWtzIHZpc2liaWxpdHkiXX0sNTg3MjQyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSBzZXJpZXMgc3R5bGUiXX0sMTMxNDA4KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB0aW1lem9uZSJdfSw1MzU0MzMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gY29lZmZzIGFzIHBlcmNlbnRzIHZpc2liaWxpdHkiXX0sNjgwMjY0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGFsbCBsaW5lcyBjb2xvciJdfSw5NDQyNjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gYmFja2dyb3VuZCB0cmFuc3BhcmVuY3kiXX0sMzE5NTE0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGJhY2tncm91bmQgdmlzaWJpbGl0eSJdfSwyNzA3OTAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyB0byJdfSwyMDM5MDEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gZGF5cyBmcm9tIl19LDkzMTY1NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBob3VycyBmcm9tIl19LAo2NTM4MzEoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gaG91cnMgdG8iXX0sMjQ0NDc1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSBjb2VmZiJdfSwxNTIyNihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgY29sb3IiXX0sMTc4NTIxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVsIHtpbmRleH0gbGluZSB2aXNpYmlsaXR5Il19LDM1MzgyNShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBsZXZlbCB7aW5kZXh9IGxpbmUgd2lkdGgiXX0sNDc1MDU3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IGxldmVscyB2aXNpYmlsaXR5Il19LDg3ODk5MChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgZnJvbSJdfSwyMzg4MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSBtb250aHMgdG8iXX0sOTEyNTcwKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgdG8iXX0sMzMxMjgxKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IG1pbnV0ZXMgZnJvbSJdfSwzODI3MjMoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyB0byJdfSw5MzQ3MzYoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gc2Vjb25kcyBmcm9tIl19LDQ3NTIyMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyBmcm9tIl19LDIxNDIwNChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB3ZWVrcyB0byJdfSw4NTg4OTkoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdGV4dCJdfSw0NTE3MzIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB0aWNrcyJdfSw2MDc2NjIoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB3ZWVrcyJdfSwzMTQwNjUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiB7cmFuZ2VzfSJdfSw1OTIyODQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0aXRsZX0gdmlzaWJpbGl0eSBvbiBkYXlzIl19LDI0MTM2OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIGhvdXJzIl19LDEwMzg3OShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIG1pbnV0ZXMiXX0sODkxMzk1KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dGl0bGV9IHZpc2liaWxpdHkgb24gbW9udGhzIl19LDQwNDkxMChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3RpdGxlfSB2aXNpYmlsaXR5IG9uIHNlY29uZHMiXX0sODI4NTc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgdmVydGljYWwiXX0sODgxNzQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxhYmVscyBhbGlnbm1lbnQgaG9yaXpvbnRhbCJdfSw4MTAzNzcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGFiZWxzIGRpcmVjdGlvbiJdfSw2Njg5MTUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSB2aXNpYmlsaXR5Il19LDcxNjM2MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIHdpZHRoIl19LDg2NjcxMShlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGNvbG9yIl19LDIxODA2NyhlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyBsZWZ0Il19LDgzODk1OChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSBsaW5lIGV4dGVuZGluZyByaWdodCJdfSw4NzIxODUoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSBsZWZ0IGVuZCJdfSw1NTE0NzAoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gbGluZSByaWdodCBlbmQiXX0sNDk5NTIzKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IGxpbmUgc3R5bGUiXX0sMjQwMzgyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQiXX0sNDY3Njg0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgdmlzaWJpbGl0eSJdfSwxNTUwNDQoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHt0b29sTmFtZX0gdGV4dCB3cmFwIl19LDYyODgzOChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGJhY2tncm91bmQgY29sb3IiXX0sNTMxMzk3KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYmFja2dyb3VuZCB2aXNpYmlsaXR5Il19LDIyMTc0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIGNvbG9yIl19LDgxODAyKGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHdpZHRoIl19LDEyMzc5KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgYm9yZGVyIHZpc2liaWxpdHkiXX0sMTY1MzA0KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgY29sb3IiXX0sNjc1NDQ2KGUpe2UuZXhwb3J0cz1bImNoYW5nZSB7dG9vbE5hbWV9IHRleHQgZm9udCBib2xkIl19LDU2Mzk0NChlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgaXRhbGljIl19LDI3MDA1MihlKXtlLmV4cG9ydHM9WyJjaGFuZ2Uge3Rvb2xOYW1lfSB0ZXh0IGZvbnQgc2l6ZSJdfSwxMDMzMjcoZSl7ZS5leHBvcnRzPVsiY2hhbmdlIHtwcm9wZXJ0eU5hbWV9IHByb3BlcnR5Il19LDI4ODc5NyhlKXtlLmV4cG9ydHM9WyJjcmVhdGUgbGluZSB0b29scyBncm91cCJdfSwxMzQ1NTgoZSl7ZS5leHBvcnRzPVsiY3JlYXRlIGxpbmUgdG9vbHMgZ3JvdXAgZnJvbSBzZWxlY3Rpb24iXX0sNTQ5OTg2KGUpe2UuZXhwb3J0cz1bImNyZWF0ZSB7dG9vbH0iXX0sNzIxMTE4KGUpe2UuZXhwb3J0cz1bImFubnVhbGx5Il19LDY4OTU4MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sIHtsaW5lVG9vbH0gdG8gZ3JvdXAge25hbWV9Il19LDQzOTU5MChlKXtlLmV4cG9ydHM9WyJhZGQgbGluZSB0b29sKHMpIHRvIGdyb3VwIHtncm91cH0iXX0sNjQ3NjU2KGUpewplLmV4cG9ydHM9WyJhcHBseSBjaGFydCB0aGVtZSJdfSwzNDc1ODUoZSl7ZS5leHBvcnRzPVsiYXBwbHkgYWxsIGNoYXJ0IHByb3BlcnRpZXMiXX0sODk3NDc2KGUpe2UuZXhwb3J0cz1bImFwcGx5IGluZGljYXRvcnMgdG8gZW50aXJlIGxheW91dCJdfSwzODE1MTMoZSl7ZS5leHBvcnRzPVsiYXBwbHkgc3R1ZHkgdGVtcGxhdGUge3RlbXBsYXRlfSJdfSw2NjMxMjgoZSl7ZS5leHBvcnRzPVsiYXBwbHkgdG9vbGJhcnMgdGhlbWUiXX0sMjUxOTQ4KGUpe2UuZXhwb3J0cz1bImJpdEZseWVyIl19LDY1MzY5KGUpe2UuZXhwb3J0cz1bImJpbGxlZCBtb250aGx5Il19LDI2MDE5MyhlKXtlLmV4cG9ydHM9WyJiaWxsZWQgYW5udWFsbHkiXX0sNjAyNDMxKGUpe2UuZXhwb3J0cz1bImJyaW5nIGdyb3VwIHt0aXRsZX0gZm9yd2FyZCJdfSwzODY1MjIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSB0byBmcm9udCJdfSw4ODcyODIoZSl7ZS5leHBvcnRzPVsiYnJpbmcge3RpdGxlfSBmb3J3YXJkIl19LDE2NDAxOChlKXtlLmV4cG9ydHM9WyJkWWRYIl19LDIzMDk1NyhlKXtlLmV4cG9ydHM9WyJkYXRlIHJhbmdlIGxvY2siXX0sMjc1MjkoZSl7ZS5leHBvcnRzPVsiZGF5cyJdfSw4MTMwOTYoZSl7ZS5leHBvcnRzPVsiZGF5cyB0byJdfSw0MDIwNTEoZSl7ZS5leHBvcnRzPVsiZGF5cyBmcm9tIl19LDQyNDMzNChlKXtlLmV4cG9ydHM9WyJlYXN5TWFya2V0cyJdfSwyNjY3NzUoZSl7ZS5leHBvcnRzPVsiZXJhc2UgbGV2ZWwgbGluZSJdfSwyODg1NzAoZSl7ZS5leHBvcnRzPVsiZXhjbHVkZSBsaW5lIHRvb2xzIGZyb20gZ3JvdXAge2dyb3VwfSJdfSw1OTIxMTMoZSl7ZS5leHBvcnRzPVsiaG91cnMiXX0sNTY0OTk1KGUpe2UuZXhwb3J0cz1bImhvdXJzIGZyb20iXX0sNDMwOTQ5KGUpe2UuZXhwb3J0cz1bImhvdXJzIHRvIl19LDU4OTgxNShlKXtlLmV4cG9ydHM9WyJoaWRlIHt0aXRsZX0iXX0sNDc3NjY1KGUpe2UuZXhwb3J0cz1bImhpZGUgbWFya3Mgb24gYmFycyJdfSw2NTM1NzAoZSl7ZS5leHBvcnRzPVsiaUJyb2tlciJdfSwyMjIyODYoZSl7ZS5leHBvcnRzPVsiaW50ZXJ2YWwgbG9jayJdfSwxMDg2MDIoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYWZ0ZXIge3RhcmdldFRpdGxlfSJdfSw3ODE3MjEoZSl7ZS5leHBvcnRzPVsiaW5zZXJ0IHt0aXRsZX0gYmVmb3JlIHt0YXJnZXRUaXRsZX0iXX0sOTIxNzM4KGUpe2UuZXhwb3J0cz1bImxvYWRpbmcuLi4iXX0sNjIwOTI3KGUpe2UuZXhwb3J0cz1bImxvY2sge3RpdGxlfSJdfSw3MDYzMDgoZSl7ZS5leHBvcnRzPVsibG9jayBncm91cCB7Z3JvdXB9Il19LDg0MjI3NihlKXtlLmV4cG9ydHM9WyJsZXNzIHRoYW4gMSBtaW51dGUiXX0sOTY1NzkwKGUpe2UuZXhwb3J0cz1bIm1vdmUiXX0sOTYzNTUxKGUpe2UuZXhwb3J0cz1bIm1vdmUgYWxsIHNjYWxlcyB0byBsZWZ0Il19LDc5MTM3MShlKXtlLmV4cG9ydHM9WyJtb3ZlIGFsbCBzY2FsZXMgdG8gcmlnaHQiXX0sMTcwODE5KGUpe2UuZXhwb3J0cz1bIm1vdmUgZHJhd2luZ3MiXX0sNTU2NTY4KGUpe2UuZXhwb3J0cz1bIm1vbnRobHkiXX0sMTk0MzU1KGUpe2UuZXhwb3J0cz1bIm1vbnRocyJdfSw3OTI2NTYoZSl7ZS5leHBvcnRzPVsibW9udGhzIGZyb20iXX0sNTM1NjAwKGUpe2UuZXhwb3J0cz1bIm1vbnRocyB0byJdfSw1NzIzMzQoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IGludmlzaWJsZSJdfSwzNTY1NDEoZSl7ZS5leHBvcnRzPVsibWFrZSBncm91cCB7Z3JvdXB9IHZpc2libGUiXX0sNzQ1MTUzKGUpe2UuZXhwb3J0cz1bIm1lWEJUIl19LDY4MTcwMShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIl19LDE3NDM1NihlKXtlLmV4cG9ydHM9WyJtaW51dGVzIHRvIl19LDc3MjM5OShlKXtlLmV4cG9ydHM9WyJtaW51dGVzIGZyb20iXX0sNjkyNTg5KGUpe2UuZXhwb3J0cz1bIm4vYSJdfSwzODYzNzMoZSl7ZS5leHBvcnRzPVsibm90IGF1dGhvcml6ZWQiXX0sMjU2OTY4KGUpe2UuZXhwb3J0cz1bInNjYWxlIHByaWNlIl19LDIzMTgzMShlKXtlLmV4cG9ydHM9WyJzY2FsZSBwcmljZSBjaGFydCBvbmx5Il19LDYxNDkwNihlKXtlLmV4cG9ydHM9WyJzY3JvbGwiXX0sNzc5MTg0KGUpe2UuZXhwb3J0cz1bInNldCBsYXlvdXQgc2l6ZXMiXX0sODMyNjYwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMiXX0sMjQ5NTU3KGUpe2UuZXhwb3J0cz1bInNlY29uZHMgdG8iXX0sODEwNDcwKGUpe2UuZXhwb3J0cz1bInNlY29uZHMgZnJvbSJdfSw1NDAwMzgoZSl7ZS5leHBvcnRzPVsic2VuZCB7dGl0bGV9IGJhY2t3YXJkIl19LDUwMTUwNyhlKXtlLmV4cG9ydHM9WyJzZW5kIHt0aXRsZX0gdG8gYmFjayJdfSw1MTc2MjIoZSl7ZS5leHBvcnRzPVsic2VuZCBncm91cCB7dGl0bGV9IGJhY2t3YXJkIl19LDQ4MjExOChlKXtlLmV4cG9ydHM9WyJzdGF5IGluIGRyYXdpbmcgbW9kZSJdfSw0ODg4ODEoZSl7ZS5leHBvcnRzPVsic3RvcCBzeW5jaW5nIGRyYXdpbmciXX0sMjA5NTk5KGUpe2UuZXhwb3J0cz1bInN3YXAgY2hhcnRzIGluIHRoZSBMYXlvdXQiXX0sNzE5MjA5KGUpe2UuZXhwb3J0cz1bInN5bWJvbCBsb2NrIl19LDgxNTk5MyhlKXtlLmV4cG9ydHM9WyJzeW5jIHRpbWUiXX0sODM3MDY2KGUpe2UuZXhwb3J0cz1bInBhc3RlIGRyYXdpbmciXX0sNzYzMzM5KGUpe2UuZXhwb3J0cz1bInBhc3RlIGluZGljYXRvciJdfSw3OTc0OTEoZSl7ZS5leHBvcnRzPVsicmVhcnJhbmdlIHBhbmVzIl19LDYzNTQ5NihlKXtlLmV4cG9ydHM9WyJyZW1vdmUgZGVzZWxlY3RlZCBlbXB0eSBsaW5lIHRvb2xzIl19LDU0MTY1OShlKXtlLmV4cG9ydHM9WyJyZW1vdmUgbGluZSBkYXRhIHNvdXJjZXMiXX0sNjY2MTQwKGUpe2UuZXhwb3J0cz1bInJlbW92aW5nIGxpbmUgdG9vbHMgZ3JvdXAge25hbWV9Il19LDM4NTMxMChlKXtlLmV4cG9ydHM9WyJyZW5hbWUgZ3JvdXAge2dyb3VwfSB0byB7bmV3TmFtZX0iXX0sMTMzNDk3KGUpe2UuZXhwb3J0cz1bInJlc2V0IGxheW91dCBzaXplcyJdfSw4MzEwNDUoZSl7ZS5leHBvcnRzPVsicmVzaXplIGxheW91dCJdfSwxMjk1MTAoZSl7CmUuZXhwb3J0cz1bInJlc3RvcmUgZGVmYXVsdHMiXX0sNjYyOTAzKGUpe2UuZXhwb3J0cz1bInJlc3RvcmUgc3R1ZHkgZGVmYXVsdHMiXX0sMzU2Mzk4KGUpe2UuZXhwb3J0cz1bIndlZWtzIl19LDYzOTE0MihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyBmcm9tIl19LDUyMDc4NihlKXtlLmV4cG9ydHM9WyJ3ZWVrcyB0byJdfSw3ODQxMjgoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIG1heGltaXplZCBwYW5lIHN0YXRlIl19LDU5OTE0MShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgYXV0byBzY2FsZSJdfSwxNDUzNjYoZSl7ZS5leHBvcnRzPVsidG9nZ2xlIGNvbGxhcHNlZCBwYW5lIHN0YXRlIl19LDc3NzQ4NShlKXtlLmV4cG9ydHM9WyJ0b2dnbGUgbG9nIHNjYWxlIl19LDc2NDMyMShlKXtlLmV4cG9ydHM9WyJ0YXN0eWZ4Il19LDg2Mzg1MihlKXtlLmV4cG9ydHM9WyJ0aHJlZSBtb250aHMiXX0sNzU1NTY5KGUpe2UuZXhwb3J0cz1bInRpY2tzIl19LDQwMDQxMihlKXtlLmV4cG9ydHM9WyJ0cmFjayB0aW1lIl19LDgzNTgoZSl7ZS5leHBvcnRzPVsidHJpYWwiXX0sOTUyNTIzKGUpe2UuZXhwb3J0cz1bInVubG9jayBncm91cCB7Z3JvdXB9Il19LDc3MDYzOShlKXtlLmV4cG9ydHM9WyJ1bmxvY2sge3RpdGxlfSJdfSw1Mzc5NTMoZSl7ZS5leHBvcnRzPVsie2NoYXJ0U3R5bGV9IGNoYXJ0IHR5cGUgaXNuJ3QgY3VycmVudGx5IGF2YWlsYWJsZSBmb3IgdGljay1iYXNlZCBpbnRlcnZhbHMuIl19LDMzODA5MyhlKXtlLmV4cG9ydHM9WyJ7Y291bnR9IGJhcnMiXX0sNzAyNTEoZSl7ZS5leHBvcnRzPVsie2RheXN9IGFuZCB7aG91cnN9Il19LDc5NDg5NShlKXtlLmV4cG9ydHM9WyJ7aG91cnN9IGFuZCB7bWludXRlc30iXX0sMTUzNzY2KGUpe2UuZXhwb3J0cz1bIntwcm9QbGFuTmFtZX0gVHJpYWwiXX0sMzg2MDQ4KGUpe2UuZXhwb3J0cz1bInt1c2VyTmFtZX0gY3JlYXRlZCB3aXRoIHtjdXN0b21lcn0sIHtkYXRlfSJdfSw5NDM0OTkoZSl7ZS5leHBvcnRzPVsieEV4Y2hhbmdlIl19LDI3ODU2NShlKXtlLmV4cG9ydHM9WyJ6b29tIl19LDMxODIzKGUpe2UuZXhwb3J0cz1bInprU3dhcCAoemtTeW5jKSJdfSwyNTk3KGUpe2UuZXhwb3J0cz1bImFuZCB7bmFtZUNvdW50fSBtb3JlIGluZGljYXRvci4iLCJhbmQge25hbWVDb3VudH0gbW9yZSBpbmRpY2F0b3JzLiJdfSw3NDMwMDIoZSl7ZS5leHBvcnRzPVsiZGF5IiwiZGF5cyJdfSw0MTkxMTQoZSl7ZS5leHBvcnRzPVsiaG91ciIsImhvdXJzIl19LDMyMzQ4NShlKXtlLmV4cG9ydHM9WyJtb250aCIsIm1vbnRocyJdfSwxMTM2NDIoZSl7ZS5leHBvcnRzPVsibWludXRlIiwibWludXRlcyJdfSw2NjU1MzAoZSl7ZS5leHBvcnRzPVsic2Vjb25kIiwic2Vjb25kcyJdfSw2MTY0OShlKXtlLmV4cG9ydHM9WyJyYW5nZSIsInJhbmdlcyJdfSwzODgxMDUoZSl7ZS5leHBvcnRzPVsid2VlayIsIndlZWtzIl19LDUwNjQ0NyhlKXtlLmV4cG9ydHM9WyJ0aWNrIiwidGlja3MiXX0sMjY4MTY2KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGRheSIsIntudW1iZXJ9IGRheXMiXX0sMjk4MjM0KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IGhvdXIiLCJ7bnVtYmVyfSBob3VycyJdfSwxNDIxMDEoZSl7ZS5leHBvcnRzPVsie251bWJlcn0gaG91ciIsIntudW1iZXJ9IGhvdXJzIl19LDMyMTQ1KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNzA0OTU4KGUpe2UuZXhwb3J0cz1bIntudW1iZXJ9IG1pbnV0ZSIsIntudW1iZXJ9IG1pbnV0ZXMiXX0sNDA2NDg1KGUpe2UuZXhwb3J0cz1bInthbW91bnR9IGRyYXdpbmciLCJ7YW1vdW50fSBkcmF3aW5ncyJdfSwxNDE2NjIoZSl7ZS5leHBvcnRzPVsie2Ftb3VudH0gaW5kaWNhdG9yIiwie2Ftb3VudH0gaW5kaWNhdG9ycyJdfSw0NDI2NjYoZSl7ZS5leHBvcnRzPVsieWVhciIsInllYXJzIl19fV0pOw=="}},"time_used":68,"timings":{"blocked":-1,"dns":2,"connect":5,"send":0,"wait":2,"receive":-1,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.812Z","timestamp":1785139582812,"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-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 08:06:22 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: c4e24d3df96634a9b14c56202aa469c8\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-08-12T05:10:43.298797Z","times_seen":540,"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":23,"timings":{"blocked":15,"dns":0,"connect":0,"send":0,"wait":8,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.763Z","timestamp":1785139583763,"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-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 08:06:23 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: 76d724e23133d5254f8796aa97db1223\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-08-12T05:10:43.319343Z","times_seen":297,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.818Z","timestamp":1785139583818,"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-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 08:06:23 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: 2dc8670ad445f9406fa185261f2e6143\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-08-12T05:10:43.206927Z","times_seen":709,"resource_available":false,"data":"LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYXttYXJnaW46MCA2cHg7bWluLXdpZHRoOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4taW5saW5lLWVuZDowfS5hY3Rpb25CdXR0b24tazUzdmV4UGE6bGFzdC1jaGlsZHttYXJnaW4taW5saW5lLXN0YXJ0OjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYXttYXJnaW46NnB4IDB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9LmFjdGlvbkJ1dHRvbi1rNTN2ZXhQYS5zbWFsbC1rNTN2ZXhQYTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaGlkZGVuVGl0bGUtazUzdmV4UGF7dmlzaWJpbGl0eTpoaWRkZW59LnBvcHVwRGlhbG9nLUIwMlVVVU4ze21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMjBweCk7bWF4LXdpZHRoOjQ4MHB4O3dpZHRoOmNhbGMoMTAwJSAtIDIwcHgpfS53cmFwLUIwMlVVVU4ze2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW59Lm1haW4tQjAyVVVVTjN7Y29sb3I6dmFyKC0tY29sb3ItdG9vbGJhci1pbnRlcmFjdGl2ZS1lbGVtZW50LXRleHQtbm9ybWFsKTtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJsb2NrOjQwcHggNDBweDttYXJnaW4taW5saW5lOjQwcHggMDttaW4td2lkdGg6MH0ubWFpbi1CMDJVVVVOMy5zbWFsbC1CMDJVVVVOM3ttYXJnaW4tYmxvY2s6MjBweCAyMHB4O21hcmdpbi1pbmxpbmU6MjBweCAwfS50aXRsZS1CMDJVVVVOM3tmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxUcmVidWNoZXQgTVMsUm9ib3RvLFVidW50dSxzYW5zLXNlcmlmO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczoidG51bSIgb24sImxudW0iIG9uO2ZvbnQtc3R5bGU6bm9ybWFsOy0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplOjIwcHg7Zm9udC1zaXplOnZhcigtLXVpLWxpYi10eXBvZ3JhcGh5LWZvbnQtc2l6ZSk7Zm9udC13ZWlnaHQ6NjAwOy0tdWktbGliLXR5cG9ncmFwaHktbGluZS1oZWlnaHQ6MjRweDthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWFyZ2luLWJvdHRvbTo4cHg7d2lkdGg6Y2FsYygxMDAlIC0gOXB4KTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LnRpdGxlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze3dpZHRoOmNhbGMoMTAwJSAtIDI5cHgpfS5jb250ZW50LUIwMlVVVU4ze2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFRyZWJ1Y2hldCBNUyxSb2JvdG8sVWJ1bnR1LHNhbnMtc2VyaWY7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiJ0bnVtIiBvbiwibG51bSIgb247Zm9udC1zdHlsZTpub3JtYWw7LS11aS1saWItdHlwb2dyYXBoeS1mb250LXNpemU6MTZweDtmb250LXNpemU6dmFyKC0tdWktbGliLXR5cG9ncmFwaHktZm9udC1zaXplKTtmb250LXdlaWdodDo0MDA7LS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodDoyNHB4O2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsaW5lLWhlaWdodDp2YXIoLS11aS1saWItdHlwb2dyYXBoeS1saW5lLWhlaWdodCk7bWluLWhlaWdodDoxNDVweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC1icmVhazpicmVhay13b3JkOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21hcmdpbjowIC00MHB4O21pbi1oZWlnaHQ6MDtwYWRkaW5nOjhweCA0MHB4fUBtZWRpYSAobWF4LWhlaWdodDoyOTBweCl7LmNvbnRlbnQtQjAyVVVVTjN7bWluLWhlaWdodDphdXRvfX1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuY29udGVudC1CMDJVVVVOM3tzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhcntoZWlnaHQ6NXB4O3dpZHRoOjVweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uY29udGVudC1CMDJVVVVOMzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5jb250ZW50LUIwMlVVVU4zOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXJ7ZGlzcGxheTpub25lfS5jb250ZW50LUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbjowIC0yMHB4O3BhZGRpbmc6OHB4IDIwcHh9LmNvbnRlbnQtQjAyVVVVTjMuaHRtbC1CMDJVVVVOM3tkaXNwbGF5OmJsb2NrfS5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpLC5jb250ZW50LUIwMlVVVU4zIGE6bm90KC5yZXZpZXdDb250ZW50IGEpOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWRlZmF1bHQpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpob3Zlcntjb2xvcjp2YXIoLS1jb2xvci1saW5rLXByaW1hcnktaG92ZXIpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWhvdmVyKX19LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6YWN0aXZle2NvbG9yOnZhcigtLWNvbG9yLWxpbmstcHJpbWFyeS1hY3RpdmUpO2ZpbGw6dmFyKC0tY29sb3ItbGluay1wcmltYXJ5LWFjdGl2ZSl9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXN7b3V0bGluZTphdXRvO291dGxpbmUtb2Zmc2V0OjJweH0uY29udGVudC1CMDJVVVVOMyBhOm5vdCgucmV2aWV3Q29udGVudCBhKTpmb2N1cy12aXNpYmxle291dGxpbmU6YXV0bztvdXRsaW5lLW9mZnNldDoycHh9LmNvbnRlbnQtQjAyVVVVTjMgYTpub3QoLnJldmlld0NvbnRlbnQgYSk6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtvdXRsaW5lOm5vbmV9LmZvb3Rlci1CMDJVVVVOM3tkaXNwbGF5OmZsZXg7ZmxleDpub25lO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O21hcmdpbi10b3A6MTZweH0uZm9vdGVyLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2xvc2UtQjAyVVVVTjN7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOnZhcigtLWNvbG9yLXRvb2xiYXItaW50ZXJhY3RpdmUtZWxlbWVudC10ZXh0LW5vcm1hbCk7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpmbGV4O2ZsZXg6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1ibG9jazo4cHggMDttYXJnaW4taW5saW5lOi0ycHggOHB4fUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuY2xvc2UtQjAyVVVVTjM6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1iZy1wcmltYXJ5LWhvdmVyKX19LmNsb3NlLUIwMlVVVU4zLnNtYWxsLUIwMlVVVU4ze21hcmdpbi1pbmxpbmUtc3RhcnQ6LTIycHh9Lm1hcmdpbldpdGhvdXRDbG9zZUJ1dHRvbi1CMDJVVVVOM3ttYXJnaW4taW5saW5lLWVuZDo0MHB4fS5tYXJnaW5XaXRob3V0Q2xvc2VCdXR0b24tQjAyVVVVTjMuc21hbGwtQjAyVVVVTjN7bWFyZ2luLWlubGluZS1lbmQ6MjBweH0="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.837Z","timestamp":1785139583837,"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-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 08:06:23 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: bd0062be956fed577f233aeafcf45f64\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-28T06:17:53.579026Z","times_seen":442,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.945Z","timestamp":1785139583945,"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-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 08:06:23 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: 530226fcf5659084e1b8844a392e4a9a\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-08-04T19:37:52.830456Z","times_seen":729,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.016Z","timestamp":1785139584016,"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-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 08:06:24 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: 556d19ef2ba870a46734d77902313fee\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-28T06:17:53.537858Z","times_seen":113,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szOTE2Nl0sezMxMjEyMihlKXtlLmV4cG9ydHM9eyJ0YWJsZXQtc21hbGwtYnJlYWtwb2ludCI6IihtYXgtd2lkdGg6IDQ0MHB4KSIsaXRlbToiaXRlbS1ZUlcwSnNEZCIsc2hvcnRjdXQ6InNob3J0Y3V0LVlSVzBKc0RkIixsb2FkaW5nOiJsb2FkaW5nLVlSVzBKc0RkIixpY29uOiJpY29uLVlSVzBKc0RkIn19LDkzOTE2NihlLHQsYSl7InVzZSBzdHJpY3QiO2Eucih0KSxhLmQodCx7Z2V0VG9vbFNldDooKT0+an0pO3ZhciBuPWEoOTMwMjMxKSxyPWEoNzc5NDc0KSxvPWEoNDM4NTM5KSxpPWEoMTg1MjcxKSxsPWEoMTg2MDk3KSxzPWEoMzQ1MTUxKSxjPWEoMjM1NzI0KSxkPWEoMzEyMzA2KTtjb25zdCB1PSgwLHMuaG90S2V5U2VyaWFsaXplKSh7a2V5czpbKDAsYy5odW1hblJlYWRhYmxlTW9kaWZpZXJzKShjLk1vZGlmaWVycy5BbHQsITEpLCJBIl0sdGV4dDoiezB9ICsgezF9In0pO2Z1bmN0aW9uIG0oZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChsLlRvb2xiYXJDb2xsYXBzaWJsZUJ1dHRvbix7Li4uZSxpY29uOmQsdGV4dDppLnQobnVsbCx2b2lkIDAsYSgxNjE3MzUpKSx0b29sdGlwOmkudChudWxsLHtjb250ZXh0OiJ0b29sYmFyX2FsZXJ0X3Rvb2x0aXAifSxhKDQ4NjM2MSkpLGlzT3BlbmVkOmUuaXNPcGVuZWQsImRhdGEtdG9vbHRpcC1ob3RrZXkiOnV9KX1mdW5jdGlvbiBoKCl7KDAsby5zaG93R29Ub1RyYWRpbmdWaWV3UmVmZXJyYWxEaWFsb2cpKHtmZWF0dXJlOiJhbGVydHMifSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gci5jcmVhdGVFbGVtZW50KG0sey4uLmUsb25DbGljazpofSl9dmFyIGc9YSg5MDY2ODMpO2Z1bmN0aW9uIHcoKXsoMCxvLnNob3dHb1RvVHJhZGluZ1ZpZXdSZWZlcnJhbERpYWxvZykoe2ZlYXR1cmU6InNhdmVsb2FkIn0pfWZ1bmN0aW9uIGIoZSl7cmV0dXJuIHIuY3JlYXRlRWxlbWVudChnLlRvb2xXaWRnZXRTYXZlTG9hZFZpZXcsey4uLmUsaXNBdXRoZW50aWNhdGVkOiExLGlzUHJvY2Vzc2luZzohMSx3YXNDaGFuZ2VzOiEwLGhpZGVNZW51OiEwLG9uU2F2ZUNoYXJ0OncsaXNOZXdWaWV3OigwLG4uaXNGZWF0dXJlc2V0RW5hYmxlZCkoInNob3dfbmV3X21lbnVfaXRlbXNfaW5fY2hhcnRfbWVudXMiKX0pfXZhciBfPWEoNjU5MzY1KSxmPWEoOTE0NDg3KSx2PWEubihmKSxFPWEoMTUzNzM0KSx5PWEoMjc2MDE5KSxrPWEoMzg3MjMxKSxTPWEoNzU0MTgwKSxUPWEoOTcxNjU5KSxDPWEoODUwMTA4KSxNPWEoMTk5MTcyKSxCPWEoNTY5Mzk4KSxGPWEoMzEyMTIyKTtjb25zdCBSPSgwLGsubWVyZ2VUaGVtZXMpKEUuREVGQVVMVF9QT1BVUF9NRU5VX0lURU1fVEhFTUUsRik7ZnVuY3Rpb24gVyhlLHQpe3dpbmRvdy5wYXJlbnQhPT13aW5kb3cmJndpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe25hbWU6ZSxkZXRhaWw6dH0sIioiKX1mdW5jdGlvbiBEKGUpe3JldHVybiBCb29sZWFuKGUuY2hhcnRXaWRnZXQubW9kZWwpfWNvbnN0IE49KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gUChlKXtjb25zdHtzZXJ2ZXJTbmFwc2hvdDp0LGNsaWVudFNuYXBzaG90Om59PWUsW28sbF09KDAsci51c2VTdGF0ZSkoITEpLHM9KDAsVC51c2VJc01vdW50ZWQpKCksYz0oMCxyLnVzZUNhbGxiYWNrKSgoYXN5bmMoKT0+e2lmKCFEKHdpbmRvdykpcmV0dXJuO2NvbnN0IGU9d2luZG93LmNoYXJ0V2lkZ2V0Lm1vZGVsKCkubWFpblNlcmllcygpLHQ9ZS5xdW90ZXMoKTtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlF1b3RlcyBkYXRhIG1pc3NpbmcgZm9yIHRlbGVncmFtIG1lc3NhZ2UiKTtXKCJ0ZWxlZ3JhbS1zaGFyZS1sYXN0LXByaWNlIix7Y3VycmVuY3k6dC5jdXJyZW5jeV9jb2RlfHwiIixzeW1ib2xOYW1lOmUuZ2V0U3ltYm9sTmFtZSgpLGxhc3RQcmljZTp0Lmxhc3RfcHJpY2UsbGFzdFByaWNlVGltZTp0LmxwX3RpbWUsc3ltYm9sOnRbInN5bWJvbC1wcmltYXJ5bmFtZSJdPz9lLmdldFN5bWJvbE5hbWUoKSxpbnRlcnZhbDplLmludGVydmFsKCl8fCIxIn0pfSksW10pLGQ9KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9Pnt0cnl7Y29uc3QgZT1hd2FpdCBuZXcgUHJvbWlzZSgoZT0+e3RyeXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO2lmKHQud2lkdGg9MSx0LmhlaWdodD0xLCF0LnRvQmxvYilyZXR1cm4gdm9pZCBlKCExKTt0LnRvQmxvYigodD0+e2UoQm9vbGVhbih0JiYiaW1hZ2UvanBlZyI9PT10LnR5cGUpKX0pLCJpbWFnZS9qcGVnIil9Y2F0Y2h7ZSghMSl9fSkpO2lmKE58fCFlKXtyZXR1cm4gVygidGVsZWdyYW0tc2hhcmUtc25hcHNob3QiLGF3YWl0IHQoKSksITB9aWYoIUQod2luZG93KSlyZXR1cm4hMTtjb25zdCBhPXdpbmRvdy5jaGFydFdpZGdldC5tb2RlbCgpLm1haW5TZXJpZXMoKS5nZXRTeW1ib2xOYW1lKCkscj1hd2FpdCBuKCksbz0oMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSIpPy4zOi44LGk9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0PS44KXtyZXR1cm4gbmV3IFByb21pc2UoKChhLG4pPT57ZS50b0Jsb2IoKGU9PntpZihudWxsPT09ZSlyZXR1cm4gdm9pZCBuKG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBCbG9iIikpO2NvbnN0IHQ9bmV3IEZpbGVSZWFkZXI7dC5vbmxvYWRlbmQ9YXN5bmMoKT0+e3RyeXtjb25zdCBlPXQucmVzdWx0O2lmKCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgcmVhZGVyIHJlc3VsdCIpO2NvbnN0IG49ZS5zcGxpdCgiLCIpWzFdO2Eobil9Y2F0Y2goZSl7bihlKX19LHQub25lcnJvcj0oKT0+e24obmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBibG9iIGFzIGRhdGEgVVJMIikpfSx0LnJlYWRBc0RhdGFVUkwoZSl9KSwiaW1hZ2UvanBlZyIsdCl9KSl9KHIuY2FudmFzLG8pO3JldHVybiBXKCJ0ZWxlZ3JhbS1zaGFyZS1zbmFwc2hvdC1iYXNlNjQiLHtjb250ZW50OmksCnN5bWJvbDphfSksITB9ZmluYWxseXtzLmN1cnJlbnQmJihsKCExKSwoMCx5Lmdsb2JhbENsb3NlTWVudSkoKSl9fSksW3Qsbl0pO3JldHVybiByLmNyZWF0ZUVsZW1lbnQoci5GcmFnbWVudCxudWxsLHIuY3JlYXRlRWxlbWVudChNLlRvb2xXaWRnZXRNZW51U3VtbWFyeSxudWxsLGkudChudWxsLHZvaWQgMCxhKDI5NjQ1NykpKSwhKDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfZGlzYWJsZV9zaGFyZV9zbmFwc2hvdCIpJiZyLmNyZWF0ZUVsZW1lbnQoQy5BY2Nlc3NpYmxlTWVudUl0ZW0se3JvbGU6InJvdyIsImRhdGEtbmFtZSI6InNoYXJlLWNoYXJ0LWltYWdlIixsYWJlbDpyLmNyZWF0ZUVsZW1lbnQoUy5MYWJlbFdpdGhMb2FkZXIse2lzTG9hZGluZzpvfSxpLnQobnVsbCx2b2lkIDAsYSg4NzA2NzgpKSksb25DbGljazooKT0+e2woITApLGQoKX0sZG9udENsb3NlUG9wdXA6ITAsaXNEaXNhYmxlZDpvLHNob3J0Y3V0OnZvaWQgMCxjbGFzc05hbWU6digpKG8mJkYubG9hZGluZyksdGhlbWU6Un0pLCEoMCxCLmlzRmVhdHVyZUVuYWJsZWQpKCJ0ZWxlZ3JhbV9taW5pX2FwcF9kaXNhYmxlX3NoYXJlX2xhc3RfcHJpY2UiKSYmci5jcmVhdGVFbGVtZW50KEMuQWNjZXNzaWJsZU1lbnVJdGVtLHtyb2xlOiJyb3ciLCJkYXRhLW5hbWUiOiJzaGFyZS1sYXN0LXByaWNlIixsYWJlbDppLnQobnVsbCx2b2lkIDAsYSg1NDAwNDIpKSxvbkNsaWNrOmMsc2hvcnRjdXQ6dm9pZCAwLHRoZW1lOlJ9KSl9dmFyIHg9YSg3NzEyODUpLEE9YSg5OTU3MTkpLEw9YSg2MDk1MjgpLFU9YSgxMTczMTMpO2NvbnN0IHo9KDAsQi5pc0ZlYXR1cmVFbmFibGVkKSgidGVsZWdyYW1fbWluaV9hcHBfc2hhcmVfc25hcHNob3RfdXNlX2ZhbGxiYWNrIik7ZnVuY3Rpb24gSShlKXtjb25zdFt0LGFdPSgwLHIudXNlU3RhdGUpKCExKSxuPSgwLFQudXNlSXNNb3VudGVkKSgpLG89KDAsci51c2VDYWxsYmFjaykoKGFzeW5jKCk9PnthKCEwKSx6P2F3YWl0IGUuc2VydmVyU25hcHNob3QoKTphd2FpdCBlLmNsaWVudFNuYXBzaG90KCksbi5jdXJyZW50JiZhKCExKX0pLFtlLnNlcnZlclNuYXBzaG90LGUuY2xpZW50U25hcHNob3RdKTtyZXR1cm4gci5jcmVhdGVFbGVtZW50KEEuVG9vbFdpZGdldEJ1dHRvbix7aWQ6ZS5pZCxjbGFzc05hbWU6ZS5jbGFzc05hbWUsaXNEaXNhYmxlZDp0LG9uQ2xpY2s6byx0aXRsZTplLnRvb2x0aXAsaWNvbjplLmljb259KX12YXIgSj1hKDIxNjA4MyksTz1hKDg1ODIzNik7Y29uc3QgVj0oMCxfLmJpbmRTY3JlZW5zaG90KSgoZnVuY3Rpb24oZSl7cmV0dXJuKDAsVS5pc09uTW9iaWxlQXBwUGFnZSkoImFueSIpP3IuY3JlYXRlRWxlbWVudChJLHsuLi5lLGljb246T30pOnIuY3JlYXRlRWxlbWVudCh4LlRvb2xiYXJNZW51QnV0dG9uLHtjb250ZW50OnIuY3JlYXRlRWxlbWVudChBLlRvb2xXaWRnZXRCdXR0b24se3RhZzoiZGl2IixpZDplLmlkLGNsYXNzTmFtZTplLmNsYXNzTmFtZSxpY29uOk99KSxkcmF3ZXJQb3NpdGlvbjoiQm90dG9tIixkcmF3ZXJCcmVha3BvaW50OkwuRGlhbG9nQnJlYWtwb2ludHMuVGFibGV0U21hbGwsYXJyb3c6ITEsb25DbGljazpmdW5jdGlvbigpeygwLEoudHJhY2tCdXR0b25DbGljaykoInRvcCB0b29sYmFyIiwidGVsZWdyYW0gc2hhcmUiKX0sdG9vbHRpcDplLnRvb2x0aXAsbWVudVJvbGU6ImdyaWQifSxyLmNyZWF0ZUVsZW1lbnQoUCx7Li4uZX0pKX0pKTt2YXIgWT1hKDMzMDcyMSk7ZnVuY3Rpb24gaigpe3JldHVybnsuLi4oMCxZLmdldFJlc3RyaWN0ZWRUb29sU2V0KSgpLEFsZXJ0UmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP3A6dm9pZCAwLFNhdmVMb2FkUmVmZXJyYWw6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX2Zha2VfZmVhdHVyZXNfYnV0dG9ucyIpP2I6dm9pZCAwLFRlbGVncmFtU2hhcmU6KDAsbi5pc0ZlYXR1cmVzZXRFbmFibGVkKSgiaGVhZGVyX3RlbGVncmFtX3NoYXJlIik/Vjp2b2lkIDB9fX0sODU4MjM2KGUpe2UuZXhwb3J0cz0nPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOCAyOCIgd2lkdGg9IjI4IiBoZWlnaHQ9IjI4Ij48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIxIDguNWEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHptMSAwYTMuNSAzLjUgMCAwIDEtNi4yMSAyLjIxbC00LjA2IDIuNDRhMy40OSAzLjQ5IDAgMCAxIDAgMi43bDQuMDYgMi40NGEzLjUgMy41IDAgMSAxLS41Mi44NmwtNC4wNi0yLjQ0YTMuNSAzLjUgMCAxIDEgMC00LjQybDQuMDYtMi40NEEzLjQ5IDMuNDkgMCAwIDEgMTguNSA1IDMuNSAzLjUgMCAwIDEgMjIgOC41em0tMSAxMmEyLjUgMi41IDAgMSAxLTUgMCAyLjUgMi41IDAgMCAxIDUgMHpNOC41IDE3YTIuNSAyLjUgMCAxIDAgMC01IDIuNSAyLjUgMCAwIDAgMCA1eiIvPjwvc3ZnPid9fV0pOw=="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.226Z","timestamp":1785139584226,"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-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 08:06:24 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: 7f49ab5ec1854d43a8a4c199e8ffaf7e\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-08-12T05:10:43.233634Z","times_seen":726,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.318Z","timestamp":1785139584318,"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-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 08:06:24 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: 8a713fbc54b2a4b34fa831ba76dc1609\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-08-12T05:10:43.274619Z","times_seen":187,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.319Z","timestamp":1785139584319,"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-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 08:06:24 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: 58d0cb963715f32267f4988c9aa8e4ca\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-08-11T04:43:23.121675Z","times_seen":577,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.408Z","timestamp":1785139584408,"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-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 08:06:24 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: aac0c7ed0f0f79ffb307ae99bbe31580\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-08-12T05:10:43.093Z","times_seen":287,"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":"nanoquantumstellarsledger.com/frontcss/assets","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.439Z","timestamp":1785139582439,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets HTTP/1.1\r\nHost: nanoquantumstellarsledger.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://nanoquantumstellarsledger.com/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html\r\ncontent-length: 795\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\nlocation: https://nanoquantumstellarsledger.com/public/frontcss/assets/\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":null}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.336Z","timestamp":1785139584336,"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-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 08:06:24 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: aa0002878f081a7711ed1ef7943aaf01\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-08-12T05:10:43.130193Z","times_seen":136,"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":"nanoquantumstellarsledger.com/","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T08:06:08.015Z","timestamp":1785139568015,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nx-powered-by: PHP/8.1.34\r\ncontent-type: text/html; charset=UTF-8\r\ncache-control: no-cache, private\r\nset-cookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 10:06:21 GMT; Max-Age=7200; path=/; samesite=lax; secure\nonlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D; expires=Mon, 27-Jul-2026 10:06:21 GMT; Max-Age=7200; path=/; httponly; samesite=lax; secure\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"SweetAlert","description":"SweetAlert is a JavaScript library that provides alternative alert and modal dialog boxes for web applications, with customisable features, aiming to improve the user interface of the default browser dialogs.","website":"https://sweetalert.js.org","common_platform_enumeration":"","icon":"SweetAlert.png","categories":["JavaScript libraries"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Swiper","description":"Swiper is a JavaScript library that creates modern touch sliders with hardware-accelerated transitions.","website":"https://swiperjs.com","common_platform_enumeration":"","icon":"Swiper.svg","categories":["JavaScript libraries"]},{"name":"jQuery:3.3.1","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"JivoChat","description":"JivoChat is a live chat solution for websites offering customizable web and mobile chat widgets.","website":"https://www.jivosite.com","common_platform_enumeration":"","icon":"JivoChat.png","categories":["Live chat"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Material Design Lite","description":"Material Design Lite is a library of components for web developers.","website":"https://getmdl.io","common_platform_enumeration":"","icon":"Material Design Lite.png","categories":["UI frameworks"]},{"name":"Select2","description":"Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.","website":"https://select2.org/","common_platform_enumeration":"","icon":"Select2.png","categories":["JavaScript libraries"]},{"name":"Magnific Popup","description":"Magnific Popup is a responsive lightbox \u0026 dialog script with focus on performance and providing best experience for user with any device.","website":"https://dimsemenov.com/plugins/magnific-popup/","common_platform_enumeration":"","icon":"Magnific Popup.png","categories":["JavaScript libraries"]},{"name":"Headroom.js","description":"Headroom.js is a JS widget that allows you to react to the user's scroll. The header slides out of view when scrolling down and slides back in when scrolling up.","website":"https://wicky.nillia.ms/headroom.js/","common_platform_enumeration":"","icon":"","categories":["Widgets","JavaScript libraries"]},{"name":"AOS:2.3.1","description":"JavaScript library to animate elements on your page as you scroll.","website":"https://michalsnik.github.io/aos/","common_platform_enumeration":"","icon":"AOS.svg","categories":["JavaScript libraries"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]},{"name":"imagesLoaded","description":"jQuery plugin for seeing if the images are loaded.","website":"https://imagesloaded.desandro.com/","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Font Awesome","description":"Font Awesome is a font and icon toolkit based on CSS and Less.","website":"https://fontawesome.com/","common_platform_enumeration":"","icon":"Font Awesome.svg","categories":["Font scripts"]}],"data":{"size":52545,"size_decoded":11772,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1917), with CRLF, LF line terminators","md5":"bb40c6a6e03184793e9d2d365e401c63","sha1":"087fb30344aa53eed592fd714ec09a1ec697496c","sha256":"003ca650b460e3d4014ef0e7e54e6cc39cc9d2053ba41650b78e91867735b282","sha512":"e063c46389ea4320327248164f6e03fef398266cecec22799522387044733b4bb050ae8b6da35b3ae4ac314e75abd25aef76f83fa720f9355315b989f19e50de","ssdeep":"1536:KQ6IurbXow6J7x2301AG3D0uLr8/9hpo+h2noyjj36zSQX8mVIH:KQ6IurqVxe01AG3D0uLr8/9hpo+h2noO","tlshash":"f633833269c4112b023780c6c631b34dea5ad23bca5bc4aab5fe17472ff3d95e953264","first_seen":"2026-07-27T05:09:49.441545Z","last_seen":"2026-07-27T08:08:22.750095Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CiAKPHNjcmlwdCBzcmM9Ii8vY29kZS5qaXZvc2l0ZS5jb20vd2lkZ2V0L3Y3VE1rVk12QVgiIGFzeW5jPjwvc2NyaXB0PgoKPGh0bWwgbGFuZz0iZW4iPgogICAgPGhlYWQ+CiAgICAgICAgPGJhc2UgaHJlZj0iIi8+CiAgICAgICAgPHRpdGxlPlFGUyBMZWRnZXIgfCBXZWxjb21lIHRvIE5hbm8gUXVhbnR1bSBzdGVsbGFyIGxlZGdlcjwvdGl0bGU+CiA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIKICAgICAgICAgICAgY29udGVudD0iV2UgYXJlIG9ubGluZSI+CiAgICAgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTEiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJpbmRleCwgZm9sbG93Ij4KICAgICAgICA8bWV0YSBuYW1lPSJhcHBsZS1tb2JpbGUtd2ViLWFwcC10aXRsZSIgY29udGVudD0ib2ZmbGluZS14bmFubyIvPgogICAgICAgIDxtZXRhIG5hbWU9ImFwcGxpY2F0aW9uLW5hbWUiIGNvbnRlbnQ9Im9mZmxpbmUteG5hbm8iLz4KICAgICAgICA8bWV0YSBuYW1lPSJtc2FwcGxpY2F0aW9uLVRpbGVDb2xvciIgY29udGVudD0iI2ZmZmZmZiIvPgogICAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJRRlMgTGVkZ2VyIGlzIGF0IHlvdXIgc2VydmljZSB3aXRoIGl0cyB1c2VyLWZyaWVuZGx5IGZlYXR1cmVzLCBzZWN1cmUgaW5mcmFzdHJ1Y3R1cmUgYW5kIGFwcGxpY2F0aW9ucyB0aGF0IG1ha2UgYSBkaWZmZXJlbmNlLiIgLz4KICAgICAgICAKICAgICAgIAogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvc3R5bGVzLm1pbi5jc3MiPgogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Nzcy9wbHVnaW5zLmNzcyI+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy90aGVtZS1zdHlsZXMuY3NzIj4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2Jsb2Nrcy5jc3MiPgogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvd2lkZ2V0cy5jc3MiPgogICAgICAgIDxsaW5rIGhyZWY9J2h0dHBzOi8vdW5wa2cuY29tL2JveGljb25zQDIuMS40L2Nzcy9ib3hpY29ucy5taW4uY3NzJyByZWw9J3N0eWxlc2hlZXQnPgogICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvZm9udC1hd2Vzb21lLmNzcyI+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9VWJ1bnR1OjMwMCw0MDAsNTAwLDYwMCw3MDAmZGlzcGxheT1zd2FwIj4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL3N3ZWV0YWxlcnQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly91bnBrZy5jb20vYW9zQDIuMy4xL2Rpc3QvYW9zLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vdW5wa2cuY29tL2xlYWZsZXRAMS43LjEvZGlzdC9sZWFmbGV0LmNzcyIgaW50ZWdyaXR5PSJzaGE1MTIteG9kWkJOVEM1bjE3WHQyYXRUUHVFMUh4alZNU3ZMVlc5b2NxVUtMc0NDNUNYZGJxQ21ibEFzaE9NQVM2L2tlcXEvc01aTVoxOXNjUjRQc1pDaFNSN0E9PSIgY3Jvc3NvcmlnaW49IiIvPgogICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9sZWFmbGV0QDEuNy4xL2Rpc3QvbGVhZmxldC5qcyIgaW50ZWdyaXR5PSJzaGE1MTItWFFvWU1xTVRLOEx2ZHhYWUczblo0NDhoT0VRaWdsZnFrSnMxTk9RVjQ0Y1duVXJCYzhQa0FPY1h5MjB3MHZsYVhhVlVlYXJJT0JoaVhaNVYzeW54d0E9PSIgY3Jvc3NvcmlnaW49IiI+PC9zY3JpcHQ+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zMy50cmFkaW5ndmlldy5jb20vdHYuanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9leGNoYW5nZUluZm8uanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vdHJhbnNsYXRlLmdvb2dsZS5jb20vdHJhbnNsYXRlX2EvZWxlbWVudC5qcz9jYj1nb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3VucGtnLmNvbS9ib3hpY29uc0AyLjEuNC9kaXN0L2JveGljb25zLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAgCiAgICA8L2hlYWQ+CiAgICA8c3R5bGU+CiAgICAgICAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTt9CiAgICAuY3J1bWluYS1mbHlpbmctYmFsbHM6YmVmb3JlIHsKICAgIHRvcDogMDsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxNTBweCAxMTlweCAtNDBweCAjMTYxODFkOwogICAgYm94LXNoYWRvdzogaW5zZXQgMCAxNTBweCAxMTlweCAtNDBweCAjODY4OTkzOwp9Ci5jcnVtaW5hLWZseWluZy1iYWxsczphZnRlciB7CiAgICBib3R0b206IDA7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDBweCAtMjAwcHggMTE5cHggLTQwcHggIzE2MTgxZDsKICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtMTUwcHggMTE5cHggLTQwcHggI2IyYjViZTsKfQogICAgPC9zdHlsZT4KPCEtLSBoZWFkZXIgYmVnaW4tLT4KPGJvZHkgY2xhc3M9ImNydW1pbmEtZ3JpZCI+Cgo8IS0tIFByZWxvYWRlciAtLT4KCjxkaXYgaWQ9ImhlbGxvcHJlbG9hZGVyIj4KCTxkaXYgY2xhc3M9InByZWxvYWRlciI+CgkJPHN2ZyB3aWR0aD0iMTM1IiBoZWlnaHQ9IjE0MCIgZmlsbD0iI2ZmZiI+CgkJCTxyZWN0IHdpZHRoPSIxNSIgaGVpZ2h0PSIxMjAiIHk9IjEwIiByeD0iNiI+CgkJCQk8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJoZWlnaHQiIGJlZ2luPSIwLjVzIiBjYWxjTW9kZT0ibGluZWFyIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdmFsdWVzPSIxMjA7MTEwOzEwMDs5MDs4MDs3MDs2MDs1MDs0MDsxNDA7MTIwIiAvPgoJCQkJPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ieSIgYmVnaW49IjAuNXMiIGNhbGNNb2RlPSJsaW5lYXIiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjEwOzE1OzIwOzI1OzMwOzM1OzQwOzQ1OzUwOzA7MTAiIC8+CgkJCTwvcmVjdD4KCQkJPHJlY3Qgd2lkdGg9IjE1IiBoZWlnaHQ9IjEyMCIgeD0iMzAiIHk9IjEwIiByeD0iNiI+CgkJCQk8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJoZWlnaHQiIGJlZ2luPSIwLjI1cyIgY2FsY01vZGU9ImxpbmVhciIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMTIwOzExMDsxMDA7OTA7ODA7NzA7NjA7NTA7NDA7MTQwOzEyMCIgLz4KCQkJCTxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InkiIGJlZ2luPSIwLjI1cyIgY2FsY01vZGU9ImxpbmVhciIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMTA7MTU7MjA7MjU7MzA7MzU7NDA7NDU7NTA7MDsxMCIgLz4KCQkJPC9yZWN0PgoJCQk8cmVjdCB3aWR0aD0iMTUiIGhlaWdodD0iMTQwIiB4PSI2MCIgcng9IjYiPgoJCQkJPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iaGVpZ2h0IiBiZWdpbj0iMHMiIGNhbGNNb2RlPSJsaW5lYXIiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjEyMDsxMTA7MTAwOzkwOzgwOzcwOzYwOzUwOzQwOzE0MDsxMjAiIC8+CgkJCQk8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJ5IiBiZWdpbj0iMHMiIGNhbGNNb2RlPSJsaW5lYXIiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjEwOzE1OzIwOzI1OzMwOzM1OzQwOzQ1OzUwOzA7MTAiIC8+CgkJCTwvcmVjdD4KCQkJPHJlY3Qgd2lkdGg9IjE1IiBoZWlnaHQ9IjEyMCIgeD0iOTAiIHk9IjEwIiByeD0iNiI+CgkJCQk8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJoZWlnaHQiIGJlZ2luPSIwLjI1cyIgY2FsY01vZGU9ImxpbmVhciIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMTIwOzExMDsxMDA7OTA7ODA7NzA7NjA7NTA7NDA7MTQwOzEyMCIgLz4KCQkJCTxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9InkiIGJlZ2luPSIwLjI1cyIgY2FsY01vZGU9ImxpbmVhciIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMTA7MTU7MjA7MjU7MzA7MzU7NDA7NDU7NTA7MDsxMCIgLz4KCQkJPC9yZWN0PgoJCQk8cmVjdCB3aWR0aD0iMTUiIGhlaWdodD0iMTIwIiB4PSIxMjAiIHk9IjEwIiByeD0iNiI+CgkJCQk8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJoZWlnaHQiIGJlZ2luPSIwLjVzIiBjYWxjTW9kZT0ibGluZWFyIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdmFsdWVzPSIxMjA7MTEwOzEwMDs5MDs4MDs3MDs2MDs1MDs0MDsxNDA7MTIwIiAvPgoJCQkJPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0ieSIgYmVnaW49IjAuNXMiIGNhbGNNb2RlPSJsaW5lYXIiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjEwOzE1OzIwOzI1OzMwOzM1OzQwOzQ1OzUwOzA7MTAiIC8+CgkJCTwvcmVjdD4KCQk8L3N2Zz4KCgkJPGRpdiBjbGFzcz0idGV4dCI+TG9hZGluZyAuLi48L2Rpdj4KCTwvZGl2Pgo8L2Rpdj4KPGhlYWRlciBjbGFzcz0iaGVhZGVyIiBpZD0ic2l0ZS1oZWFkZXIiPgoJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCQk8ZGl2IGNsYXNzPSJoZWFkZXItY29udGVudC13cmFwcGVyIj4KCQkJPGEgaHJlZj0iLyIgY2xhc3M9InNpdGUtbG9nbyI+CgkJCQk8aW1nIHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9sb2dvL3Fsb2dvLnBuZyIgYWx0PSJXb294Ij4KCQkJPC9hPgoKCQkJPG5hdiBpZD0icHJpbWFyeS1tZW51IiBjbGFzcz0icHJpbWFyeS1tZW51Ij4KCQkJCTwhLS0gbWVudS1pY29uLXdyYXBwZXIgLS0+CgkJCQk8YSBocmVmPSdqYXZhc2NyaXB0OnZvaWQoMCknIGlkPSJtZW51LWljb24tdHJpZ2dlciIgY2xhc3M9Im1lbnUtaWNvbi10cmlnZ2VyIHNob3doaWRlIj4KCQkJCQk8c3BhbiBpZD0ibWVudS1pY29uLXdyYXBwZXIiIGNsYXNzPSJtZW51LWljb24td3JhcHBlciI+CgkJCQkJCTxzdmcgd2lkdGg9IjEwMDBweCIgaGVpZ2h0PSIxMDAwcHgiPgoJCQkJCQkJPHBhdGggaWQ9InBhdGhEIiBkPSJNIDMwMCA0MDAgTCA3MDAgNDAwIEMgOTAwIDQwMCA5MDAgNzUwIDYwMCA4NTAgQSA0MDAgNDAwIDAgMCAxIDIwMCAyMDAgTCA4MDAgODAwIj48L3BhdGg+CgkJCQkJCQk8cGF0aCBpZD0icGF0aEUiIGQ9Ik0gMzAwIDUwMCBMIDcwMCA1MDAiPjwvcGF0aD4KCQkJCQkJCTxwYXRoIGlkPSJwYXRoRiIgZD0iTSA3MDAgNjAwIEwgMzAwIDYwMCBDIDEwMCA2MDAgMTAwIDIwMCA0MDAgMTUwIEEgNDAwIDM4MCAwIDEgMSAyMDAgODAwIEwgODAwIDIwMCI+PC9wYXRoPgoJCQkJCQk8L3N2Zz4KCQkJCQk8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2E+CgkJCQk8dWwgY2xhc3M9InByaW1hcnktbWVudS1tZW51Ij4KCiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtZW51LWl0ZW0taGFzLWNoaWxkcmVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkOyI+TW9yZTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzdWItbWVudSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJkaXZlciI+RGl2ZXJzaXR5PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InNwb25zb3IiPlNwb25zb3Jpbmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibWVudS1pdGVtLWhhcy1jaGlsZHJlbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZDsiPkhlbHA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3ViLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImZhcSI+RkFRczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9IiMiPlN1cHBvcnRpbmcgYXJ0aWNsZXM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJ0ZXJtcyI+VGVybXMgJiBDb25kaXRpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0icHJpdmFjeSI+UHJpdmFjeSBwb2xpY3k8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJjb250YWN0Ij5Db250YWN0IHVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9hYm91dCIgPkFib3V0IHVzPC9hPgogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvbG9naW4iID5Mb2dpbjwvYT4KICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3JlZ2lzdGVyIiA+UmVnaXN0ZXI8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9saT4KCQkJCTwvdWw+CgkJCTwvbmF2PgoJCTwvZGl2PgoJPC9kaXY+CjwvaGVhZGVyPgogICAgCiAgICAKICAgIAogICAgCiAgICAKICAgICAgDQoNCg0KPHN0eWxlPg0KICAuYmctMSB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vcGx1cy51bnNwbGFzaC5jb20vcHJlbWl1bV9waG90by0xNjYxMzcxMjQxODk3LTMyMDI5NDdhY2UzMD9mbT1qcGcmcT02MCZ3PTMwMDAmaXhsaWI9cmItNC4wLjMmaXhpZD1NM3d4TWpBM2ZEQjhNSHh6WldGeVkyaDhPWHg4ZEhKaFpHbHVaM3hsYm53d2ZId3dmSHg4TUElM0QlM0QpOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOw0KICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7DQp9DQo8L3N0eWxlPg0KDQogICAgPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50LXdyYXBwZXIiIHN0eWU9Im1heC13aWR0aDogMTAwJTsNCiAgICBvdmVyZmxvdy14OiBoaWRkZW47Ij4NCjwhLS0gaGVhZGVyIGVuZCAtLT4NCg0KPHNlY3Rpb24gZGF0YS1zZXR0aW5ncz0icGFydGljbGVzLTEiIGNsYXNzPSJpbWFnZS1jb250YWluZXIgbWFpbi1zZWN0aW9uIGNydW1pbmEtZmx5aW5nLWJhbGxzIHBhcnRpY2xlcy1qcyBiZy0xIG1lZGl1bS1wYWRkaW5nMTIwIHJlc3BvbnNpdmUtYWxpZ24tY2VudGVyIj4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiID4NCiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgPGRpdiBkYXRhLWFvcz0iZmFkZS1kb3duIiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCiAgICAgICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWhlYWRpbmcgaGVhZGluZy0taDEgaGVhZGluZy0td2l0aC1kZWNvcmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJjLXByaW1hcnkgaDMiPlFGUyBMZWRnZXI8L2gyPg0KICAgICAgICAgICAgICAgICAgICA8aDMgaWQgPSAibXl0aXRsZSIgY2xhc3M9ImhlYWRpbmctdGl0bGUgZi1zaXplLTUwIHdlaWdodC1ub3JtYWwgbm8tbWFyZ2luIGgyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIENvbnZlcnQgeW91ciBhc3NldHMgd2l0aCAgUUZTIExlZGdlciBhbmQgYmFja3VwIGJlY2F1c2UsIEJhbmtzIGFuZCBFeGNoYW5nZXJzIGFyZSBjcmFzaGluZyBzb29uISANCiAgICAgICAgICAgICAgICAgICAgPC9oMz4NCg0KICAgICAgICAgICAgICAgIDwvaGVhZGVyPg0KICAgICAgICAgICAgICAgIDxhIGRhdGEtc2Nyb2xsIGhyZWY9Ii9yZWdpc3RlciIgY2xhc3M9ImJ0biBidG4tLWxhcmdlIGJ0bi0tdHJhbnNwYXJlbnQgYnRuLS1zZWNvbmRhcnkiPkJBQ0sgVVAgTk9XPC9hPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9zZWN0aW9uPg0KPHNlY3Rpb24+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgPGRpdiBjbGFzcz0icm93IG1lZGl1bS1wYWRkaW5nODAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ24tY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWhlYWRpbmcgaGVhZGluZy0taDIgaGVhZGluZy0td2l0aC1kZWNvcmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJjb2xvcjogYmxhY2s7IiBjbGFzcz0iaGVhZGluZy10aXRsZSB0ZXh0LWJsYWNrIHdlaWdodC1ub3JtYWwiPlRoZSBtb3N0IHRydXN0ZWQgQVNTRVRTIEJBQ0tVUCBwbGF0Zm9ybTwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctdGV4dCI+UUZTIExlZGdlciBpcyBiYWNrZWQgdXAgYnkgRlJBIChGdW5kcyByZXRyaWV2aW5nIGFnZW50LCB0aGlzIHdpbGwgZW5hYmxlIHlvdSB0byB3aXRoZHJhdyBhbGwgeW91ciBtb25leSBiYWNrIGFmdGVyIGJhbmsgcmVzZXQuIFlvdSBjYW4gb25seSBzYXZlIHlvdXIgbW9uZXksIHJldGlyZW1lbnRzIHNhdmluZyBvbiBoZXJlIGJ5IHB1cmNoYXNpbmcgaXNvIGFzc2V0cyBlLmcgWExNLCBYUlAgYW5kIHNvbWUgb3RoZXIgYXNzZXRzLjxzcGFuPlFGUyBMZWRnZXI8L3NwYW4+PC9kaXY+DQogICAgICAgICAgICAgICAgPC9oZWFkZXI+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJmbGlwLWxlZnQiIGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiBtYjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtaW5mby1ib3ggaW5mby1ib3gtLXN0eWxlNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtdGh1bWIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2VydGlmaWNhdGUgd29veC1pY29uIHRleHQteWVsbG93Ij48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iaW5mby1ib3gtdGl0bGUiPkJlc3QgUHJhY3RpY2VzPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImluZm8tYm94LXRleHQiPlFGUyBMZWRnZXIgc3VwcG9ydHMgYSB2YXJpZXR5IG9mIHRoZSBtb3N0IHBvcHVsYXIgZGlnaXRhbCBjdXJyZW5jaWVzLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJmbGlwLWxlZnQiIGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiBtYjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtaW5mby1ib3ggaW5mby1ib3gtLXN0eWxlNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtdGh1bWIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtbG9jayB3b294LWljb24gdGV4dC15ZWxsb3ciPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJveC1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+U2VjdXJlIHN0b3JhZ2U8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaW5mby1ib3gtdGV4dCI+V2Ugc3RvcmUgdGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGRpZ2l0YWwgYXNzZXRzIGluIHNlY3VyZSBvZmZsaW5lIHN0b3JhZ2UuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1hb3M9ImZsaXAtbGVmdCIgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIG1iMzAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS1pbmZvLWJveCBpbmZvLWJveC0tc3R5bGU0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJveC10aHVtYiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS11c2VyLWNoZWNrIHdvb3gtaWNvbiB0ZXh0LXllbGxvdyI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94LWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImluZm8tYm94LXRpdGxlIj5TSU1QTElGSUVEIFVpPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImluZm8tYm94LXRleHQiPk91ciBkYXNoYm9hcmQgaW50ZXJmYWNlIHdhcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgZm9yIGNsYXJpdHkgYW5kIGVhc3kgaW50ZXJwcmV0YXRpb24uDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvc2VjdGlvbj4NCg0KICAgIDxzZWN0aW9uPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IG1lZGl1bS1wYWRkaW5nODAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsaWduLWNlbnRlciI+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMTIgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJmbGlwLWxlZnQiIGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiBtYjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtaW5mby1ib3ggaW5mby1ib3gtLXN0eWxlNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtdGh1bWIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2xvdWQgd29veC1pY29uIHRleHQteWVsbG93Ij48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtY29udGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iaW5mby1ib3gtdGl0bGUiPkNsb3VkIEJhc2VkPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImluZm8tYm94LXRleHQiPldlIG9mZmVyIG91ciBjdXN0b21lcnMgdG9wIG5vdGNoIHNlY3VyaXR5IGZvciB0aGVpciBhc3NldHMsIHVzaW5nIHRvcC1ub3RjaCBzdGF0ZS1vZi10aGUtYXJ0IGNsb3VkIGJhc2VkIHN0b3JhZ2UgYW5kIHNlY3VyaXR5IHRvIHN0b3JlIGFuZCBwcm90ZWN0IGN1c3RvbWVycyBhc3NldHMgYW5kIGRhdGEuDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJmbGlwLWxlZnQiIGNsYXNzPSJjb2wtbGctNCBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiBtYjMwIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtaW5mby1ib3ggaW5mby1ib3gtLXN0eWxlNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ib3gtdGh1bWIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtbG9jayB3b294LWljb24gdGV4dC15ZWxsb3ciPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWJveC1jb250ZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJpbmZvLWJveC10aXRsZSI+RGVjZW50cmFsaXplZCBQcm90b2NvbHM8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaW5mby1ib3gtdGV4dCI+VGFrZSBmdWxsIGNvbnRyb2wgb2YgeW91ciBhc3NldHMgYW5kIGZ1bmRzIGluIGEgZGVjZW50cmFsaXNlZCBzeXN0ZW0gd2l0aCBhIG9uZSB3YXkgYWNjZXNzLCBlbnN1cmluZyBvbmx5IHlvdSBoYXZlIGFjY2VzcyB0byB5b3VyIGFzc2V0cywgbm90IGV2ZW4gRW5jcnlwdGVkIExlZGdlciBGaXJtIGhhcyBhY2Nlc3MgdG8geW91IGZ1bmRzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWFvcz0iZmxpcC1sZWZ0IiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIgbWIzMCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWluZm8tYm94IGluZm8tYm94LS1zdHlsZTQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94LXRodW1iIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWRvbGxhci1zaWduIHdvb3gtaWNvbiB0ZXh0LXllbGxvdyI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94LWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImluZm8tYm94LXRpdGxlIj4yNDcgUHJvdGVjdGlvbiA8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iaW5mby1ib3gtdGV4dCI+c2FmZXN0IHF1YW50dW0gbGVkZ2VyIHRvIGJhY2t1cCB5b3VyIGRpZ2l0YWwgYXNzZXRzIGFuZCBmdW5kcyBmb3IgdGhlIGdsb2JhbCBldmVudCBhbmQgYmxhY2tvdXQgY29taW5nIHNvb24hDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogPHNlY3Rpb24gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNlMGUzZWI7DQogICAgcGFkZGluZy10b3A6IDU1cHg7DQogICAgcGFkZGluZy1ib3R0b206IDU1cHg7Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgICAgPGRpdiBkYXRhLWFvcz0iem9vbS1pbi1yaWdodCIgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIGNoYXJ0Ij4NCiAgICAgICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWhlYWRpbmcgaGVhZGluZy0taDIgaGVhZGluZy0td2l0aC1kZWNvcmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1zdXAtdGl0bGUiPk1vbml0b3IgdGhlIG1hcmtldCBpbiByZWFsIHRpbWUuPC9kaXY+DQogICAgICAgICAgICAgICAgPC9oZWFkZXI+DQoNCiAgICAgICAgICAgICAgICA8c3R5bGU+DQogICAgICAgICAgICAgICAgICAgIC5jdXN0b20tc2VsZWN0IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAjcGFpcnMgew0KICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMiUgIWltcG9ydGFudDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmYmEwMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7DQogICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6Y2VudGVyOw0KICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAgIWltcG9ydGFudDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIC5jaGFydHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmggIWltcG9ydGFudDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAjdHZjaGFydCB7DQogICAgICAgICAgICAgICAgICAgICAgICAvKiB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsgICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwOw0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgLnByZS12aWV3IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIGhlaWdodDogNTAlOyB3aWR0aDogMTAwJTsNCiAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICA8L3N0eWxlPg0KICAgICAgICAgICAgICAgIDxkaXYgIGNsYXNzPSJjdXN0b20tc2VsZWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgDQoNCiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdCBvbkNoYW5nZT0iTG9hZENoYXJ0cygpOyIgaWQ9InBhaXJzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IkJUQ1VTRFQiPkJUQ1VTRFQ8L29wdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJFVEhVU0RUIj5FVEhVU0RUPC9vcHRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGJyPg0KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZS12aWV3Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWRpbmd2aWV3LXdpZGdldC1jb250YWluZXIiIGlkPSJ0dmNoYXJ0Ij48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgDQogICAgICAgICAgICANCiAgICAgICAgICAgICAgPGRpdiBkYXRhLWFvcz0iem9vbS1pbiIgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCiAgICAgICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWhlYWRpbmcgaGVhZGluZy0taDIgaGVhZGluZy0td2l0aC1kZWNvcmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJjb2xvcjogYmxhY2s7IiBjbGFzcz0iaGVhZGluZy10aXRsZSB3ZWlnaHQtbm9ybWFsIj5Gb2N1c2VkLCBBY3RpdmUgTWFuYWdlbWVudCBvZiAgSGlnaC1Hcm93dGggRGlnaXRhbCBBc3NldHMuPC9oMj4NCiAgICAgICAgICAgICAgICA8L2hlYWRlcj4NCg0KICAgICAgICAgICAgICAgIDxwPlFGUyBMZWRnZXIgTHRkIGlzIGEgcmVnaXN0ZXJlZCBpbnZlc3RtZW50IHBsYXRmb3JtIHByb3ZpZGluZyBkaWdpdGFsIGFzc2V0IGludmVzdG1lbnQgbWFuYWdlbWVudCBzZXJ2aWNlcyB0byBpbmRpdmlkdWFscy4gV2UgcHJvdmlkZSBhIGR5bmFtaWMgaW52ZXN0bWVudCBzb2x1dGlvbiB0byBjbGllbnRzIGluIG5lZWQgb2YgYSBzZWxmLW9wZXJhdGluZyBwb3J0Zm9saW8sIGFzIHdlbGwgYXMgYSBzbWFydCBmdW5kIHdpdGggZmxleGlibGUgdGltZSBhbmQgaW52ZXN0bWVudCBhbW91bnQuV2UmIzAzOTt2ZSBoYXZlIGhhZCBvdmVyIDI0NCB0aG91c2FuZCBjbGllbnRzIGFuZCBjb3VudGluZywgd2UgYXJlIHNpdHVhdGVkIGluIEx1eGVtYm9yZy4gV2UgYXJlIHJlZ2lzdGVyZWQgZGlnaXRhbCBhc3NldCBkZWNlbnRyYWxpc2VkIGZpbmFuY2UgbWFya2V0IHBsYXRmb3JtIGJhc2VkIG9uIGEgYmxvY2tjaGFpbiBuZXR3b3JrIHdoaWNoIGluY2x1ZGVzIGFuZCBvZmZlcnMgYWR2YW5jZWQgYmFzaWMgYW5kIHRlY2huaWNhbCBhbmFseXNpcyBhdCB0aGUgc291cmNlIG9mIGhpZ2ggcmV0dXJuIHBlcmZvcm1hbmNlLCBvZmZlcnMgaGlnaCAmIGZpeGVkIGludGVyZXN0IHJldHVybnMuIEFpbWluZyBmb3Igc3VjY2VzcyB3aXRoIGl0cyBpbnRlcm5hdGlvbmFsIGludmVzdG9yIG5ldHdvcmssIGV4cGVyaWVuY2VkIHRlYW0sIHByaXZpbGVnZWQgaW5mb3JtYXRpb24gZnJvbSB0aGUgYnVzaW5lc3MgYW5kIHRlY2hub2xvZ3kgd29ybGQ7IHdlIGR5bmFtaWNhbGx5IHN0YW5kIG91dCBmcm9tIG91ciBjb21wZXRpdG9ycyBhbmQsIGl0cyB3aXRoIHByb3ZlbiBxdWFsaXR5IGFuZCBlYXNlIG9mIHVzZS4gVGhlIGNvbXBhbnksIHdoaWNoIGlzIG1hbmFnZWQgdW5kZXIgdGhlIGxlYWRlcnNoaXAgb2YgcGVvcGxlIHdobyB0aGluayBhbmQgZm9yZXNlZSB0aGUgZnV0dXJlLCBpcyBjb21taXR0ZWQgdG8gYWNoaWV2aW5nIGhpZ2ggcmV0dXJucyBmcm9tIHdlbGwtZGl2ZXJzaWZpZWQgcG9ydGZvbGlvcyBhbmQgcHJpb3JpdGl6aW5nIGNsaWVudHMuPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9zZWN0aW9uPg0KDQo8c2VjdGlvbiBjbGFzcz0ibWVkaXVtLXBhZGRpbmcxMjAgcmVzcG9uc2l2ZS1hbGlnbi1jZW50ZXIiPg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJ6b29tLWluIiBjbGFzcz0iY29sLWxnLTYgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIiPg0KICAgICAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtaGVhZGluZyBoZWFkaW5nLS1oMiBoZWFkaW5nLS13aXRoLWRlY29yYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXN1cC10aXRsZSI+RnJlcXVlbnQgcXVlc3Rpb25zPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT0iY29sb3I6IGJsYWNrOyIgY2xhc3M9ImhlYWRpbmctdGl0bGUgd2VpZ2h0LW5vcm1hbCI+QnVpbGQgeW91ciBzYXZpbmdzIHdpdGhvdXQgZXZlbiB0cnlpbmc8L2gyPg0KICAgICAgICAgICAgICAgIDwvaGVhZGVyPg0KICAgICAgICAgICAgICAgIDxwPlR1cm4gb24gUm91bmQtdXAgUnVsZXMgYW5kIHN0YXJ0IHNhdmluZyB1cCBlZmZvcnRsZXNzbHkuIFdoZW5ldmVyIHlvdSBtYWtlIGEgcHVyY2hhc2UsIEdvYWxzIG1ha2UgaXQgZWFzeSB0byBzYXZlIGZvciB0aGUgdGhpbmdzIHlvdSB3YW50IG9yIHdhbnQgdG8gZG8uIFRoZXJl4oCZcyBubyBuZWVkIGZvciBzcHJlYWRzaGVldHMgb3IgZXh0cmEgYXBwcyB0byBidWRnZXQgYW5kIHRyYWNrIHlvdXIgbW9uZXkuPC9wPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIG10MzAiPg0KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS1hY2NvcmRpb24gYWNjb3JkaW9uLS1zdHlsZTMiIGlkPSJhY2NvcmRpb240Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjY29yZGlvbi1wYW5lbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJ6b29tLWluLXJpZ2h0IiBjbGFzcz0icGFuZWwtaGVhZGluZyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIzQzIiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmcgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29ucyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1wbHVzLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXBsdXMtc2lnbiI+PC91c2U+PC9zdmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gYWN0aXZlIGljb24tbWluLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLW1pbi1zaWduIj48L3VzZT48L3N2Zz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPldoYXQgaXMgUUZTIExlZGdlcj88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IjQzIiBjbGFzcz0icGFuZWwtY29sbGFwc2UgY29sbGFwc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiByb2xlPSJ0cmVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1pbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+UUZTIExlZGdlciBpcyBhIHJlZ2lzdGVyZWQgZGlnaXRhbCBhc3NldCBkZWNlbnRyYWxpc2VkIGZpbmFuY2UgbWFya2V0IHBsYXRmb3JtIGJhc2VkIG9uIGEgYmxvY2tjaGFpbiBuZXR3b3JrIHdoaWNoIGluY2x1ZGVzIGFuZCBvZmZlcnMgYWR2YW5jZWQgYmFzaWMgYW5kIHRlY2huaWNhbCBhbmFseXNpcyBhdCB0aGUgc291cmNlIG9mIGhpZ2ggcmV0dXJuIHBlcmZvcm1hbmNlLCBvZmZlcnMgaGlnaCAmYW1wOyBmaXhlZCBpbnRlcmVzdCByZXR1cm5zLiBBaW1pbmcgZm9yIHN1Y2Nlc3Mgd2l0aCBpdHMgaW50ZXJuYXRpb25hbCBpbnZlc3RvciBuZXR3b3JrLCBleHBlcmllbmNlZCB0ZWFtLCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGZyb20gdGhlIGJ1c2luZXNzIGFuZCB0ZWNobm9sb2d5IHdvcmxkOyB3ZSBkeW5hbWljYWxseSBzdGFuZCBvdXQgZnJvbSBvdXIgY29tcGV0aXRvcnMgYW5kLCBpdHMgd2l0aCBwcm92ZW4gcXVhbGl0eSBhbmQgZWFzZSBvZiB1c2UuIFRoZSBjb21wYW55LCB3aGljaCBpcyBtYW5hZ2VkIHVuZGVyIHRoZSBsZWFkZXJzaGlwIG9mIHBlb3BsZSB3aG8gdGhpbmsgYW5kIGZvcmVzZWUgdGhlIGZ1dHVyZSwgaXMgY29tbWl0dGVkIHRvIGFjaGlldmluZyBoaWdoIHJldHVybnMgZnJvbSB3ZWxsLWRpdmVyc2lmaWVkIHBvcnRmb2xpb3MgYW5kIHByaW9yaXRpemluZyBjbGllbnRzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iYWNjb3JkaW9uLXBhbmVsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGF0YS1hb3M9Inpvb20taW4tcmlnaHQiIGNsYXNzPSJwYW5lbC1oZWFkaW5nIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjNDQiIGNsYXNzPSJhY2NvcmRpb24taGVhZGluZyBjb2xsYXBzZWQiIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS1wYXJlbnQ9IiNhY2NvcmRpb24iIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb25zIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXBsdXMtc2lnbiI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tcGx1cy1zaWduIj48L3VzZT48L3N2Zz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Indvb3gtaWNvbiBhY3RpdmUgaWNvbi1taW4tc2lnbiI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tbWluLXNpZ24iPjwvdXNlPjwvc3ZnPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aXRsZSI+R3VhcmFudGVlZCAgcmV0dXJucywgYnV0IGhvdz88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IjQ0IiBjbGFzcz0icGFuZWwtY29sbGFwc2UgY29sbGFwc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiByb2xlPSJ0cmVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1pbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGlnaXRhbCBhc3NldHMgYXJlIGEgY2xhc3Mgb2YgYXNzZXRzIGNvbnNpZGVyZWQgZGFuZ2Vyb3VzIGFuZCBpbmNvbnZlbmllbnQuIE1hbnkgcmVhc29ucyBzdWNoIGFzIGxpcXVpZGl0eSwgbW9uZXkgbGF1bmRlcmluZyBhY2N1c2F0aW9uLCB1bmNlcnRhaW50eSBvZiByZWd1bGF0aW9uLCBhY2Nlc3MgcmVzdHJpY3Rpb24sIHZvbGF0aWxlIG1hcmtldHMsIGZ1bmN0aW9uYWxpdHkgaW5xdWlyaWVzIHJlZHVjZSB0cnVzdCBpbiB0aGVzZSBhc3NldHMuIFdlIGJlbGlldmUgdGhhdCB0aGUgcmlzayBmYWN0b3Igc2hvdWxkIGJlIGVsaW1pbmF0ZWQgZm9yIGFsbCBwZW9wbGUgd2hvIGJlbGlldmUgdGhhdCBmaW5hbmNlIHdpbGwgcmlzZSBvbiBkaXN0cmlidXRlZCBzeXN0ZW1zLiBUaGF0J3Mgd2h5IHdlIG9mZmVyIGhpZ2ggcmV0dXJucyB0byBwbGF0Zm9ybSBpbnZlc3RvcnMuIFdpdGggY2FyZWZ1bCBhbmQgZGV0YWlsZWQgZXhhbWluYXRpb24gb2YgbWFya2V0IGNvbmRpdGlvbnMsIGRhaWx5IHRyYWRpbmcgdm9sdW1lLCBleHBlY3RhdGlvbnM7IHdlIGNoYW5nZSBvdXIgcG9ydGZvbGlvIGRpc3RyaWJ1dGlvbiBhbmQgYWRqdXN0IG91ciBpbnZlc3RtZW50IHN0cmF0ZWd5LiBXaXRoIHRoaXMgYWN0aXZlIGZ1bmQgbWFuYWdlbWVudCwgeW91IGVuam95IHRoZSBmaXhlZCByZXR1cm4gb24gdGhlIHVzZXIgc2lkZS48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjY29yZGlvbi1wYW5lbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJ6b29tLWluLXJpZ2h0IiBjbGFzcz0icGFuZWwtaGVhZGluZyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIzQ1IiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmcgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29ucyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1wbHVzLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXBsdXMtc2lnbiI+PC91c2U+PC9zdmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gYWN0aXZlIGljb24tbWluLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLW1pbi1zaWduIj48L3VzZT48L3N2Zz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPldoYXQgYXJlIGNvbXBhbnkgcHJpbmNpcGxlcz88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IjQ1IiBjbGFzcz0icGFuZWwtY29sbGFwc2UgY29sbGFwc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiByb2xlPSJ0cmVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1pbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+U3VjY2Vzc2Z1bCBpbnZlc3RtZW50IG1hbmFnZW1lbnQgY29tcGFuaWVzIGJhc2UgdGhlaXIgYnVzaW5lc3Mgb24gYSBjb3JlIGludmVzdG1lbnQgcGhpbG9zb3BoeSwgYW5kIE1peGVkIC1GaW5hbmNlIGlzIG5vIGRpZmZlcmVudC4gQWx0aG91Z2ggd2Ugb2ZmZXIgaW5ub3ZhdGl2ZSBhbmQgc3BlY2lmaWMgc3RyYXRlZ2llcyB0aHJvdWdoIGRpZ2l0YWwgYXNzZXQgZnVuZHMsIGFuIG92ZXJhcmNoaW5nIHRoZW1lIHJ1bnMgdGhyb3VnaCB0aGUgaW52ZXN0bWVudCBndWlkYW5jZSB3ZSBwcm92aWRlIHRvIGNsaWVudHMmbWRhc2g7IGZvY3VzIG9uIHRob3NlIHRoaW5ncyB3aXRoaW4geW91ciBjb250cm9sLiBUaGVyZSBhcmUgYmFzaWNhbGx5IGZvdXIgcHJpbmNpcGxlcyB0aGF0IHdlIGF0dGFjaCBncmVhdCBpbXBvcnRhbmNlIHRvOiA8YnIgLz48YnIgLz48c3Ryb25nPjEpIENyZWF0ZSBjbGVhciwgYXBwcm9wcmlhdGUgaW52ZXN0bWVudCBnb2Fsczo8L3N0cm9uZz4gQW4gYXBwcm9wcmlhdGUgaW52ZXN0bWVudCBnb2FsIHNob3VsZCBiZSBtZWFzdXJhYmxlIGFuZCBhdHRhaW5hYmxlLiBTdWNjZXNzIHNob3VsZCBub3QgZGVwZW5kIG9uIG91dHNpemUgaW52ZXN0bWVudCByZXR1cm5zIG9yIGltcHJhY3RpY2FsIHNhdmluZyBvciBzcGVuZGluZyByZXF1aXJlbWVudHMuIDxiciAvPjxiciAvPjxzdHJvbmc+MikgRGV2ZWxvcCBhIHN1aXRhYmxlIGFzc2V0IGFsbG9jYXRpb24gdXNpbmcgYnJvYWRseSBkaXZlcnNpZmllZCBmdW5kczogPC9zdHJvbmc+QSBzb3VuZCBpbnZlc3RtZW50IHN0cmF0ZWd5IHN0YXJ0cyB3aXRoIGFuIGFzc2V0IGFsbG9jYXRpb24gYmVmaXR0aW5nIHRoZSBwb3J0Zm9saW8ncyBvYmplY3RpdmUuIFRoZSBhbGxvY2F0aW9uIHNob3VsZCBiZSBidWlsdCB1cG9uIHJlYXNvbmFibGUgZXhwZWN0YXRpb25zIGZvciByaXNrIGFuZCByZXR1cm5zIGFuZCB1c2UgZGl2ZXJzaWZpZWQgaW52ZXN0bWVudHMgdG8gYXZvaWQgZXhwb3N1cmUgdG8gdW5uZWNlc3Nhcnkgcmlza3MuIDxiciAvPjxiciAvPjxzdHJvbmc+MykgTWluaW1pemUgY29zdDogPC9zdHJvbmc+TWFya2V0cyBhcmUgdW5wcmVkaWN0YWJsZS4gQ29zdHMgYXJlIGZvcmV2ZXIuIFRoZSBsb3dlciB5b3VyIGNvc3RzLCB0aGUgZ3JlYXRlciB5b3VyIHNoYXJlIG9mIGFuIGludmVzdG1lbnQncyByZXR1cm4uIEFuZCByZXNlYXJjaCBzdWdnZXN0cyB0aGF0IGxvd2VyLWNvc3QgaW52ZXN0bWVudHMgaGF2ZSB0ZW5kZWQgdG8gb3V0cGVyZm9ybSBoaWdoZXItY29zdCBhbHRlcm5hdGl2ZXMuIFRvIGhvbGQgb250byBldmVuIG1vcmUgb2YgeW91ciByZXR1cm4sIG1hbmFnZSBmb3IgZWZmaWNpZW5jeS4gWW91IGNhbid0IGNvbnRyb2wgdGhlIG1hcmtldHMsIGJ1dCB5b3UgY2FuIGNvbnRyb2wgdGhlIGNvc3RzIGFuZCBlZmZpY2llbmN5LiA8YnIgLz48YnIgLz48c3Ryb25nPjQpIE1haW50YWluIHBlcnNwZWN0aXZlIGFuZCBsb25nLXRlcm0gZGlzY2lwbGluZTogPC9zdHJvbmc+SW52ZXN0aW5nIGNhbiBwcm92b2tlIHN0cm9uZyBlbW90aW9ucy4gSW4gdGhlIGZhY2Ugb2YgbWFya2V0IHR1cm1vaWwsIHNvbWUgaW52ZXN0b3JzIG1heSBmaW5kIHRoZW1zZWx2ZXMgbWFraW5nIGltcHVsc2l2ZSBkZWNpc2lvbnMgb3IsIGNvbnZlcnNlbHksIGJlY29taW5nIHBhcmFseXplZCwgdW5hYmxlIHRvIGltcGxlbWVudCBhbiBpbnZlc3RtZW50IHN0cmF0ZWd5LCBvciByZWJhbGFuY2UgYSBwb3J0Zm9saW8gYXMgbmVlZGVkLiBEaXNjaXBsaW5lIGFuZCBwZXJzcGVjdGl2ZSBjYW4gaGVscCB0aGVtIHJlbWFpbiBjb21taXR0ZWQgdG8gYSBsb25nLXRlcm0gaW52ZXN0bWVudCBwcm9ncmFtIHRocm91Z2ggcGVyaW9kcyBvZiBtYXJrZXQgdW5jZXJ0YWludHkuPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJhY2NvcmRpb24tcGFuZWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLWFvcz0iem9vbS1pbi1yaWdodCIgY2xhc3M9InBhbmVsLWhlYWRpbmciPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiM0NiIgY2xhc3M9ImFjY29yZGlvbi1oZWFkaW5nIGNvbGxhcHNlZCIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbnMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tcGx1cy1zaWduIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1wbHVzLXNpZ24iPjwvdXNlPjwvc3ZnPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0id29veC1pY29uIGFjdGl2ZSBpY29uLW1pbi1zaWduIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1taW4tc2lnbiI+PC91c2U+PC9zdmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdGxlIj5XaGF0IGFyZSBkaWdpdGFsIGFzc2V0cyBhbmQgaG93IGFyZSB0aGV5IHZhbHVlZD88L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IjQ2IiBjbGFzcz0icGFuZWwtY29sbGFwc2UgY29sbGFwc2UiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIiByb2xlPSJ0cmVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1pbmZvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGlnaXRhbCBhc3NldHMgZGlzdHJpYnV0ZWQgbGVkZ2VyIGJhc2VkIGVsZWN0cm9uaWMgbWVhbnMgb2YgZXhjaGFuZ2VzLiBUcmFuc2FjdGlvbnMgaW52b2x2aW5nIHRoZW0gYXJlIHNlY3VyZWQgYnkgY3J5cHRvZ3JhcGh5LCBhbmQgdGhleSBoYXZlIGRlZGljYXRlZCBzZXJ2ZXJzIGZvciB2ZXJpZmljYXRpb24gb2YgdHJhbnNhY3Rpb25zIGFuZCB0aGUgY3JlYXRpb24gb2YgZXh0cmEgdW5pdHMuIFRoZSBtb3N0IHBvcHVsYXIgb2YgdGhlbSBhcmUgQml0Y29pbiwgRXRoZXJldW0sIExpdGVjb2luLCBldGMuIEFsbCBkaWdpdGFsIGFzc2V0cyBhcmUgdmFsdWVkIGJ5IHByaWNlIGFjdGlvbiwgYW5kIGFzIGEgcmVzdWx0LCBhbG1vc3QgdG90YWwgY29udHJvbCBpcyBpbiB0aGUgaGFuZCBvZiB0aGUgaW52ZXN0aW5nIHB1YmxpYy48L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjY29yZGlvbi1wYW5lbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJ6b29tLWluLXJpZ2h0IiBjbGFzcz0icGFuZWwtaGVhZGluZyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIzUwIiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmcgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29ucyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1wbHVzLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXBsdXMtc2lnbiI+PC91c2U+PC9zdmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gYWN0aXZlIGljb24tbWluLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLW1pbi1zaWduIj48L3VzZT48L3N2Zz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPkhvdyBjYW4gaSBhc2sgZm9yIHN1cHBvcnQ/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSI1MCIgY2xhc3M9InBhbmVsLWNvbGxhcHNlIGNvbGxhcHNlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0idHJlZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtaW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIGFyZSBoZXJlIHRvIGhlbHAgeW91IHdpdGggYW55IHByb2JsZW1zIGFuZCBxdWVzdGlvbnMgeW91IG1heSBlbmNvdW50ZXIgd2hpbGUgdXNpbmcgdGhlIHBsYXRmb3JtIGFuZCBkdXJpbmcgeW91ciBpbnZlc3RtZW50IGV4cGVyaWVuY2UuIFlvdSBjYW4gYWx3YXlzIGNvbnRhY3Qgb3IgdHVybiB0aGUgc2l0dWF0aW9uIGludG8gYW4gb3Bwb3J0dW5pdHk8L3A+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjY29yZGlvbi1wYW5lbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRhdGEtYW9zPSJ6b29tLWluLXJpZ2h0IiBjbGFzcz0icGFuZWwtaGVhZGluZyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iIzUxIiBjbGFzcz0iYWNjb3JkaW9uLWhlYWRpbmcgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29ucyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1wbHVzLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXBsdXMtc2lnbiI+PC91c2U+PC9zdmc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJ3b294LWljb24gYWN0aXZlIGljb24tbWluLXNpZ24iPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLW1pbi1zaWduIj48L3VzZT48L3N2Zz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0bGUiPklmIHRoZXJlIHdhcyBhIHBsYW4gdXBncmFkZSBhbmQgSSBkaWRuJiMwMzk7dCB1cGdyYWRlIG15IHBsYW4sIHdoYXQgd2lsbCBoYXBwZW4/PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSI1MSIgY2xhc3M9InBhbmVsLWNvbGxhcHNlIGNvbGxhcHNlIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSIgcm9sZT0idHJlZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtaW5mbyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPllvdXIgd2l0aGRyYXdhbHMgd29uJ3QgYmUgcHJvY2Vzc2VkIHVudGlsIHlvdSB1cGdyYWRlIHlvdXIgcGxhbiwgdGhlIGFpbSBvZiB0aGUgcGxhbiB1cGdyYWRlIGlzIHRvIHByb3ZpZGUgZXh0cmEgTGlxdWlkaXR5IGZvciBzdGFraW5nLiBBcyBldmVyeW9uZSBoYXMgdG8gY29tcGx5PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9zZWN0aW9uPg0KPHNlY3Rpb24gY2xhc3M9Im15ZGl2Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWVkaXVtLXBhZGRpbmcxMjAiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxpZ24tY2VudGVyIj4NCiAgICAgICAgICAgICAgICA8aGVhZGVyIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWhlYWRpbmcgaGVhZGluZy0taDIgaGVhZGluZy0td2l0aC1kZWNvcmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJjb2xvcjogYmxhY2s7IiBjbGFzcz0iaGVhZGluZy10aXRsZSB3ZWlnaHQtbm9ybWFsIj5EaXZlcnNpZnkgeW91ciBpbnZlc3RtZW50IHBvcmZvbGlvPC9oMj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy10ZXh0Ij5RRlMgTGVkZ2VyIGlzIGZ1bGx5IGxlZ2l0IGFuZCBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgY29tcGFueSB3aG9zZSBhY3Rpdml0aWVzIGFyZSByZWd1bGF0ZWQgYnkgdGhlIGZpbmFuY2lhbCBjb250cm9sIGF1dGhvcml0aWVzIHVuZGVyIHRoZSBqdXJpc2RpY3Rpb24gb2YgIEx1eGVtYm91cmcuIEFjY2VwdGluZyBvdXIgdGVybXMgb2YgY29vcnBlcmF0aW9uLCB5b3UgY2FuIGJlIGFic29sdXRlbHkgc3VyZSBvZiBnZXR0aW5nIGEgZ3VhcmFudGVlZCBwcm9maXQgYW5kIGZ1bGwgcmV0dXJuIG9uIHlvdXIgaW52ZXN0bWVudC48L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2hlYWRlcj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3VudGVycyI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC02IGNvbC1zbS0xMiBjb2wteHMtMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS1jb3VudGVyLWl0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdW50ZXItbnVtYmVycyBjb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNU0rDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJjb3VudGVyLXRpdGxlIj5Ub3RhbCBhc3NldDwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0zIGNvbC1tZC02IGNvbC1zbS0xMiBjb2wteHMtMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS1jb3VudGVyLWl0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvdW50MiIgY2xhc3M9ImNvdW50ZXItbnVtYmVycyBjb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMysNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImNvdW50ZXItdGl0bGUiPlllYXJzIG9mIGV4cGVyaWVuY2U8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbGctMyBjb2wtbWQtNiBjb2wtc20tMTIgY29sLXhzLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNydW1pbmEtbW9kdWxlIGNydW1pbmEtY291bnRlci1pdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjb3VudDMiIGNsYXNzPSJjb3VudGVyLW51bWJlcnMgY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMCsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImNvdW50ZXItdGl0bGUiPlF1YWxpZmllZCB0cmFkZXJzPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTEyIGNvbC14cy0xMiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLWNvdW50ZXItaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iY291bnQ0IiBjbGFzcz0iY291bnRlci1udW1iZXJzIGNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iY291bnRlci10aXRsZSI+Q291bnRyaWVzIHN1cHBvcnRlZDwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L3NlY3Rpb24+DQo8IS0tPHNlY3Rpb24gY2xhc3M9InB0LW1vYmlsZS04MCI+DQoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCQk8ZGl2IGNsYXNzPSJyb3cgbWVkaXVtLXBhZGRpbmcxMDAiPg0KICAgICAgICAgICAgCQkJCTxkaXYgY2xhc3M9ImNvbC1sZy00IGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyIG1iMzAiPg0KCQkJCQk8ZGl2IGRhdGEtYW9zPSJ6b29tLW91dC1kb3duIiBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS10ZXN0aW1vbmlhbC1pdGVtIHRlc3RpbW9uaWFsLWl0ZW0tLXdpdGgtYmciPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1zdXAtdGl0bGUiPlRlc3RpbW9ueTwvZGl2Pg0KCQkJCQkJPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+DQoJCQkJCQkJPGg2IGNsYXNzPSJ0ZXN0aW1vbmlhbC10ZXh0Ij4NCgkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tcXVvdGUtaWNvbiBxdW90ZSI+PHVzZSB4bGluazpocmVmPSJzdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1xdW90ZS1pY29uIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tcXVvdGUtaWNvbjIgcXVvdGUgcXVvdGUtY2xvc2UiPjx1c2UgeGxpbms6aHJlZj0ic3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tcXVvdGUtaWNvbjIiPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQlBIDI0LzcgY3VzdG9tZXIgY2FyZSBzdXBwb3J0IHdhcyB3aGF0IEkgd2FudGVkIG9uIHRyYWRpbmcgcGxhdGZvcm1zIGd1ZXNzIHdoZXJlIEkgZm91bmQgaXQsIHllcyByaWdodCBoZXJlIGEgUUZTIExlZGdlci4gVGhleSBhcmUgYWx3YXlzIHJlYWR5IHRvIGhlbHAgYW5kIHN1cHBvcnQgYW55dGltZSB0aGV5IGFyZSBiZWluZyAgY29udGFjdGVkLg0KCQkJCQkJCTwvaDY+DQoJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLWJsb2NrIj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iYXZhdGFyIGF2YXRhcjgwIj4NCgkJCQkJCQkJCTxpbWcgc3JjPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvcmV2aWV3L3VwZGF0ZV8xNTgxODA2ODQzLmpwZyIgYWx0PSJhdmF0YXIiPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLWNvbnRlbnQiPg0KCQkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9ImF1dGhvci1uYW1lIj5KYWNLIE1pbGw8L2E+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItcHJvZiI+TWFya2V0IGFuYWx5c3Q8L2Rpdj4NCgkJCQkJCQkJCTx1bCBjbGFzcz0icmFpdC1zdGFycyI+DQoJCQkJCQkJCQkJPGxpPg0KCQkJCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1zdGFyLTEiPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXN0YXItMSI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KDQoJCQkJCQkJCQkJPGxpPg0KCQkJCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1zdGFyLTEiPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXN0YXItMSI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQkJCTxsaT4NCgkJCQkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tc3Rhci0xIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1zdGFyLTEiPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQkJCTwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIgbWIzMCI+DQoJCQkJCTxkaXYgZGF0YS1hb3M9Inpvb20tb3V0LWRvd24iIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gdGVzdGltb25pYWwtaXRlbS0td2l0aC1iZyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXN1cC10aXRsZSI+VGVzdGltb255PC9kaXY+DQoJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jb250ZW50Ij4NCgkJCQkJCQk8aDYgY2xhc3M9InRlc3RpbW9uaWFsLXRleHQiPg0KCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1xdW90ZS1pY29uIHF1b3RlIj48dXNlIHhsaW5rOmhyZWY9InN2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXF1b3RlLWljb24iPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1xdW90ZS1pY29uMiBxdW90ZSBxdW90ZS1jbG9zZSI+PHVzZSB4bGluazpocmVmPSJzdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1xdW90ZS1pY29uMiI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCUkgaGF2ZSBuZXZlciBzZWVuIGEgcGxhdGZvcm0gbGlrZSB0aGlzIGJlZm9yZSwgc28gYW1hemluZywgdGhleSBwcm92aWRlIHRpcHMsIG9yaWVudGF0aW9ucywgYW5kIGhpbnRzIGZvciB0aGVpciBjdXN0b21lcnMgb24gdGhlaXIgaW52ZXN0bWVudCBwYWNrYWdlcyB3aGljaCBoZWxwIG1ha2UgYmV0dGVyIGRlY2lzaW9ucy4NCgkJCQkJCQk8L2g2Pg0KCQkJCQkJCTxkaXYgY2xhc3M9ImF1dGhvci1ibG9jayI+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImF2YXRhciBhdmF0YXI4MCI+DQoJCQkJCQkJCQk8aW1nIHNyYz0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L3Jldmlldy91cGRhdGVfMTU4MTgwNjc5Mi5qcGciIGFsdD0iYXZhdGFyIj4NCgkJCQkJCQkJPC9kaXY+DQoJCQkJCQkJCTxkaXYgY2xhc3M9ImF1dGhvci1jb250ZW50Ij4NCgkJCQkJCQkJCTxhIGhyZWY9IiMiIGNsYXNzPSJhdXRob3ItbmFtZSI+TWljaGVhbCBQZXRlPC9hPg0KCQkJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLXByb2YiPkZvcmV4IGFuYWx5c3Q8L2Rpdj4NCgkJCQkJCQkJCTx1bCBjbGFzcz0icmFpdC1zdGFycyI+DQoJCQkJCQkJCQkJPGxpPg0KCQkJCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1zdGFyLTEiPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXN0YXItMSI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KDQoJCQkJCQkJCQkJPGxpPg0KCQkJCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1zdGFyLTEiPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXN0YXItMSI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQkJCTxsaT4NCgkJCQkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tc3Rhci0xIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1zdGFyLTEiPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQkJCTwvbGk+DQoJCQkJCQkJCQk8L3VsPg0KCQkJCQkJCQk8L2Rpdj4NCgkJCQkJCQk8L2Rpdj4NCgkJCQkJCTwvZGl2Pg0KCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAJCQkJPGRpdiBjbGFzcz0iY29sLWxnLTQgY29sLW1kLTEyIGNvbC1zbS0xMiBjb2wteHMtMTIgbWIzMCI+DQoJCQkJCTxkaXYgZGF0YS1hb3M9Inpvb20tb3V0LWRvd24iIGNsYXNzPSJjcnVtaW5hLW1vZHVsZSBjcnVtaW5hLXRlc3RpbW9uaWFsLWl0ZW0gdGVzdGltb25pYWwtaXRlbS0td2l0aC1iZyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXN1cC10aXRsZSI+VGVzdGltb255PC9kaXY+DQoJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jb250ZW50Ij4NCgkJCQkJCQk8aDYgY2xhc3M9InRlc3RpbW9uaWFsLXRleHQiPg0KCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1xdW90ZS1pY29uIHF1b3RlIj48dXNlIHhsaW5rOmhyZWY9InN2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXF1b3RlLWljb24iPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1xdW90ZS1pY29uMiBxdW90ZSBxdW90ZS1jbG9zZSI+PHVzZSB4bGluazpocmVmPSJzdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1xdW90ZS1pY29uMiI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCUkmIzAzOTt2ZSBiZWVuIHRyYWRpbmcgZm9yIDEyIHllYXJzIGFuZCBJIGhhdmUgbmV2ZXIgc2VlbiBhIERlRmkgcGxhdGZvcm0gd2VsbCBvcmdhbml6ZWQgYXMgUUZTIExlZGdlciB0aGVpciBzZXJ2aWNlcyBhcmUgdG9wLW5vdGNoIGFuZCBwYXltZW50cyBhcmUgYWx3YXlzIG9uIHRpbWUuDQoJCQkJCQkJPC9oNj4NCgkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItYmxvY2siPg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdmF0YXIgYXZhdGFyODAiPg0KCQkJCQkJCQkJPGltZyBzcmM9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9yZXZpZXcvdXBkYXRlXzE1ODE4MDY5MTQuanBnIiBhbHQ9ImF2YXRhciI+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItY29udGVudCI+DQoJCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0iYXV0aG9yLW5hbWUiPk1hcnNoYWwgQnJpYW48L2E+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItcHJvZiI+Q3J5cHRvIFRyYWRlcjwvZGl2Pg0KCQkJCQkJCQkJPHVsIGNsYXNzPSJyYWl0LXN0YXJzIj4NCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQkJCTxsaT4NCgkJCQkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tc3Rhci0xIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1zdGFyLTEiPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQkJCTwvbGk+DQoNCgkJCQkJCQkJCQk8bGk+DQoJCQkJCQkJCQkJCTxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLXN0YXItMSI+PHVzZSB4bGluazpocmVmPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvc3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tc3Rhci0xIj48L3VzZT48L3N2Zz4NCgkJCQkJCQkJCQk8L2xpPg0KCQkJCQkJCQkJCTxsaT4NCgkJCQkJCQkJCQkJPHN2ZyBjbGFzcz0id29veC1pY29uIGljb24tc3Rhci0xIj48dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi1zdGFyLTEiPjwvdXNlPjwvc3ZnPg0KCQkJCQkJCQkJCTwvbGk+DQoJCQkJCQkJCQkJPGxpPg0KCQkJCQkJCQkJCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi1zdGFyLTEiPjx1c2UgeGxpbms6aHJlZj0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL3N2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLXN0YXItMSI+PC91c2U+PC9zdmc+DQoJCQkJCQkJCQkJPC9saT4NCgkJCQkJCQkJCTwvdWw+DQoJCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJPC9kaXY+DQoJCQkJCTwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIAkJCTwvZGl2Pg0KCQk8L2Rpdj4NCiAgICA8L3NlY3Rpb24+LS0+DQogICAgPCEtLTxzZWN0aW9uIGNsYXNzPSJtZWRpdW0tcGFkZGluZzEyMCByZXNwb25zaXZlLWFsaWduLWNlbnRlciI+LS0+DQogICAgPCEtLSAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPi0tPg0KICAgIDwhLS0gICAgICAgIDxkaXYgY2xhc3M9InJvdyI+LS0+DQogICAgPCEtLSAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy0xMiBjb2wtbWQtMTIgY29sLXNtLTEyIGNvbC14cy0xMiIgPi0tPg0KICAgIDwhLS0gICAgICAgICAgICAgICAgPGhlYWRlciBjbGFzcz0iY3J1bWluYS1tb2R1bGUgY3J1bWluYS1oZWFkaW5nIGhlYWRpbmctLWgyIGhlYWRpbmctLXdpdGgtZGVjb3JhdGlvbiI+LS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1zdXAtdGl0bGUiPlBheW1lbnQgR2F0ZXdheXM8L2Rpdj4tLT4NCiAgICA8IS0tICAgICAgICAgICAgICAgIDwvaGVhZGVyPi0tPg0KICAgICAgICAgICAgICAgICAgICA8IS0tIERlbW8gc3R5bGVzIC0tPg0KICAgIDwhLS0gICAgICAgICAgICA8c3R5bGU+LS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICAgI2NvbiB7LS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8IS0tLyogbWF4LXdpZHRoOjUwMHB4ICFpbXBvcnRhbnQ7ICovLS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDstLT4NCiAgICA8IS0tICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjstLT4NCiAgICA8IS0tICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyLS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICB9LS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICAubXlTbGlkZXMge2Rpc3BsYXk6bm9uZTsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiA1MHZoOyBvYmplY3QtZml0OiBjb250YWlufS0tPg0KICAgIDwhLS0gICAgICAgICAgICA8L3N0eWxlPi0tPg0KICAgIDwhLS0gICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3My1jb250ZW50IHczLXNlY3Rpb24iIGlkPSJjb24iID4tLT4NCiAgICAgICAgICAgICAgICAgICAgPCEtLTxpbWcgY2xhc3M9Im15U2xpZGVzIiBzcmM9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9pbWcvYmluYW5jZS5wbmciID4tLT4NCiAgICA8IS0tICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9Im15U2xpZGVzIiBzcmM9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9pbWcvYmxvY2hhaWlpbi5wbmciID4tLT4NCiAgICA8IS0tICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9Im15U2xpZGVzIiBzcmM9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9pbWcvY29pbmJhc2VlLnBuZyI+LS0+DQogICAgPCEtLSAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJteVNsaWRlcyIgc3JjPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvaW1nL29rZXh4LnBuZyIgPi0tPg0KICAgIDwhLS0gICAgICAgICAgICAgICAgPGltZyBjbGFzcz0ibXlTbGlkZXMiIHNyYz0iaHR0cHM6Ly93d3cubWl4ZWRmaW5hbmNlLmlvL2Fzc2V0L2Zyb250ZW5kL2ltZy93YXppcngucG5nIiA+LS0+DQogICAgPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPg0KDQogICAgPCEtLSAgICAgICAgICAgIDwvZGl2Pi0tPg0KICAgIDwhLS0gICAgICAgIDwvZGl2Pi0tPg0KICAgIDwhLS0gICAgPC9kaXY+LS0+DQogICAgPCEtLTwvc2VjdGlvbj4tLT4NCg0KDQo8IS0tIGZvb3RlciBiZWdpbiAtLT4NCjwvZGl2Pg0KDQoNCg0KICAgIA0KICAgIAogICAgCiAgICA8c3R5bGU+CiAgICAgICAgLmZvb3RlciB7CiAgICBwYWRkaW5nOiAyMDBweCAwOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6ICNjM2M5ZDQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxNzIyOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC8qIGJhY2tncm91bmQ6IHVybCguLi9pbWcvYm9keS1iZy5wbmcpOwogICAgPC9zdHlsZT4KICAgIDxzdHlsZT4KICAgIC8qIFNldCB0aGUgY29udGFpbmVyJ3MgcG9zaXRpb24gdG8gcmVsYXRpdmUgdG8gcG9zaXRpb24gdGhlIG92ZXJsYXkgY29ycmVjdGx5ICovCi5pbWFnZS1jb250YWluZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoKLyogQ3JlYXRlIHRoZSBvdmVybGF5IHVzaW5nIHRoZSA6OmJlZm9yZSBwc2V1ZG8tZWxlbWVudCAqLwouaW1hZ2UtY29udGFpbmVyOjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2Zyb250Y3NzL3NsaWRlcmltZy5qcGcpOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgb3BhY2l0eTogMC44OyAvKiBBZGp1c3QgdGhlIG9wYWNpdHkgdmFsdWUgdG8gY29udHJvbCB0aGUgaW50ZW5zaXR5IG9mIHRoZSBvdmVybGF5IGNvbG9yICovCiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgLyogUmVwbGFjZSAjZmYwMDAwIHdpdGggeW91ciBkZXNpcmVkIG92ZXJsYXkgY29sb3IgKi8KfQouYmFja2dyb3VuZC13aXRoLWZpbHRlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogNDAwcHg7IC8qIFNldCB0aGUgZGVzaXJlZCBoZWlnaHQgKi8KICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vZnJvbnRjc3Mvc2xpZGVyaW1nLmpwZyk7CiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7Cn0KCi5iYWNrZ3JvdW5kLXdpdGgtZmlsdGVyOjpiZWZvcmUgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyAvKiBBZGp1c3QgdGhlIGFscGhhIHZhbHVlIHRvIGNvbnRyb2wgdGhlIGludGVuc2l0eSBvZiB0aGUgYmxhY2sgZmlsdGVyICovCn0KCjwvc3R5bGU+CgogICAgPGZvb3RlciBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzEzMTcyMjsiIGlkPSJzaXRlLWZvb3RlciIgY2xhc3M9ImZvb3RlciAiPgoKCTxjYW52YXMgaWQ9ImNhbiI+PC9jYW52YXM+Cgk8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoJCTxkaXYgY2xhc3M9InJvdyI+CgkJCTxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1sZy1vZmZzZXQtMyBjb2wtbWQtNiBjb2wtbWQtb2Zmc2V0LTMgY29sLXNtLTEyIGNvbC1zbS1vZmZzZXQtMCBjb2wteHMtMTIiPgoJCQkJPGRpdiBjbGFzcz0id2lkZ2V0IHctaW5mbyI+CgkJCQkJPGEgaHJlZj0iamF2YXNjcmlwdDp2b2lkIiBjbGFzcz0ic2l0ZS1sb2dvIj4KCQkJCQkJPGltZyBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvbG9nby9xbG9nby5wbmciIGFsdD0iV29veCI+CgkJCQkJPC9hPgoJCQkJCTxwPlFGUyBMZWRnZXIgaXMgYXQgeW91ciBzZXJ2aWNlIHdpdGggaXRzIHVzZXItZnJpZW5kbHkgZmVhdHVyZXMsIHNlY3VyZSBpbmZyYXN0cnVjdHVyZSBhbmQgYXBwbGljYXRpb25zIHRoYXQgbWFrZSBhIGRpZmZlcmVuY2UuPC9wPgoJCQkJPC9kaXY+CgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZGl2PgoKCTxkaXYgY2xhc3M9InN1Yi1mb290ZXIiPgoJCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgkJCTxkaXYgY2xhc3M9InJvdyI+CgkJCQk8ZGl2IGNsYXNzPSJjb2wtbGctNiBjb2wtbGctb2Zmc2V0LTMgY29sLW1kLTYgY29sLW1kLW9mZnNldC0zIGNvbC1zbS0xMiBjb2wtc20tb2Zmc2V0LTAgY29sLXhzLTEyIj4KCgkJCQkJPHNwYW4+wqkgQWxsIHJpZ2h0IHJlc2VydmVkIDIwMjMuPC9zcGFuPgoJCQkJCTxzcGFuPlFGUyBMZWRnZXItIFRoZSBlYXNpZXN0IHBsYWNlIHRvIFN0YWtlIENyeXB0by4uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDxhPiA8Ym94LWljb24gdHlwZT0nbG9nbycgbmFtZT0ndGVsZWdyYW0nIHNpemU9J2xnJyBjb2xvcj0nI0U3QjEwQSc+PC9ib3gtaWNvbj4gPC9hPgogICAgICAgICAgICAgICAgIAoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9kaXY+CgoJPGEgY2xhc3M9ImJhY2stdG8tdG9wIiBocmVmPSIjIj4KCQk8c3ZnIGNsYXNzPSJ3b294LWljb24gaWNvbi10b3AtYXJyb3ciPgoJCQk8dXNlIHhsaW5rOmhyZWY9Imh0dHBzOi8vd3d3Lm1peGVkZmluYW5jZS5pby9hc3NldC9mcm9udGVuZC9zdmctaWNvbnMvc3ByaXRlcy9pY29ucy5zdmcjaWNvbi10b3AtYXJyb3ciPjwvdXNlPgoJCTwvc3ZnPgoJPC9hPgo8L2Zvb3Rlcj4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2Fvc0AyLjMuMS9kaXN0L2Fvcy5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICBBT1MuaW5pdCgpOwo8L3NjcmlwdD4KPHNjcmlwdD4KICAgIHZhciBteUluZGV4ID0gMDsKICAgIGNhcm91c2VsKCk7CgogICAgICAgIGZ1bmN0aW9uIGNhcm91c2VsKCkgewogICAgICAgIHZhciBpOwogICAgICAgIHZhciB4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibXlTbGlkZXMiKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICB4W2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgfQogICAgICAgIG15SW5kZXgrKzsKICAgICAgICBpZiAobXlJbmRleCA+IHgubGVuZ3RoKSB7bXlJbmRleCA9IDF9CiAgICAgICAgeFtteUluZGV4LTFdLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwogICAgICAgIHNldFRpbWVvdXQoY2Fyb3VzZWwsIDIwMDApOyAvLyBDaGFuZ2UgaW1hZ2UgZXZlcnkgMiBzZWNvbmRzCiAgICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0PgogICAgICAgIHZhciBteWRpdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5teWRpdicpOwogICAgICAgIG15ZGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCAoKSA9PiB7CiAgICAgICAgZnVuY3Rpb24gY291bnRlcihpZCwgc3RhcnQsIGVuZCwgZHVyYXRpb24pIHsKICAgICAgICAgbGV0IG9iaiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSwKICAgICAgICAgIGN1cnJlbnQgPSBzdGFydCwKICAgICAgICAgIHJhbmdlID0gZW5kIC0gc3RhcnQsCiAgICAgICAgICBpbmNyZW1lbnQgPSBlbmQgPiBzdGFydCA/IDEgOiAtMSwKICAgICAgICAgIHN0ZXAgPSBNYXRoLmFicyhNYXRoLmZsb29yKGR1cmF0aW9uIC8gcmFuZ2UpKSwKICAgICAgICAgIHRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgICAgIGN1cnJlbnQgKz0gaW5jcmVtZW50OwogICAgICAgICAgIG9iai50ZXh0Q29udGVudCA9IGN1cnJlbnQ7CiAgICAgICAgICAgaWYgKGN1cnJlbnQgPT0gZW5kKSB7CiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGltZXIpOwogICAgICAgICAgIH0KICAgICAgICAgIH0sIHN0ZXApOwogICAgICAgIH0KICAgICAgICBjb3VudGVyKCJjb3VudDEiLCAwLCA1LCAxMDAwKTsKICAgICAgICBjb3VudGVyKCJjb3VudDIiLCAxMDAsIDUsIDEwMDApOwogICAgICAgIGNvdW50ZXIoImNvdW50MyIsIDAsIDI0NCwgMTAwMCk7CiAgICAgICAgY291bnRlcigiY291bnQ0IiwgMCwgMjMsIDEwMDApOwogICAgICAgfSk7CiAgICA8L3NjcmlwdD4KICAgIDxzY3JpcHQ+CgogICAgICAgIHZhciBteW1hcCA9IEwubWFwKCdtYXBpZCcpLnNldFZpZXcoWzQ5LjgxNTMsIDYuMTI5Nl0sIDgpOwoKICAgICAgICBMLnRpbGVMYXllcignaHR0cHM6Ly9hcGkubWFwYm94LmNvbS9zdHlsZXMvdjEve2lkfS90aWxlcy97en0ve3h9L3t5fT9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2liV0Z3WW05NElpd2lZU0k2SW1OcGVqWTROWFZ5Y1RBMmVtWXljWEJuZEhScWNtWjNOM2dpZlEuckpjRklHMjE0QXJpSVNMYkI2QjVhdycsIHsKICAgICAgICAgICAgbWF4Wm9vbTogMTgsCiAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodCI+T3BlblN0cmVldE1hcDwvYT4gY29udHJpYnV0b3JzLCAnICsKICAgICAgICAgICAgICAgICdJbWFnZXJ5IMKpIDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcGJveC5jb20vIj5NYXBib3g8L2E+JywKICAgICAgICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLAogICAgICAgICAgICB0aWxlU2l6ZTogNTEyLAogICAgICAgICAgICB6b29tT2Zmc2V0OiAtMQogICAgICAgIH0pLmFkZFRvKG15bWFwKTsKCiAgICAgICAgTC5tYXJrZXIoWzQ5LjgsIDYuMTI5Nl0pLmFkZFRvKG15bWFwKTsKCiAgICAgICAgTC5jaXJjbGUoWzQ5LjgxNTMsIDYuMjBdLCB7CiAgICAgICAgICAgIGNvbG9yOiAncmVkJywKICAgICAgICAgICAgZmlsbENvbG9yOiAnI2YwMycsCiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAwLjUsCiAgICAgICAgICAgIHJhZGl1czogNTAwCiAgICAgICAgfSkuYWRkVG8obXltYXApOwoKICAgICAgICBMLnBvbHlnb24oWwogICAgICAgICAgICBbNDkuODE1LCA2LjEyXSwKICAgICAgICAgICAgWzQ5LjgyMCwgNi4wNl0sCiAgICAgICAgICAgIFs0OS44MywgNi4wMV0KICAgICAgICBdKS5hZGRUbyhteW1hcCk7CgoKICAgIDwvc2NyaXB0PgogICAgPHNjcmlwdD4KCgogICAgICAgIC8vUEFTUyBBTEwgVEhFIFNZTUJPTFMKICAgICAgICB2YXIgc3ltID0gZXhjaGFuZ2VJbmZvLnN5bWJvbHMsbWFya3VwPScnOwogICAgICAgIHN5bS5mb3JFYWNoKGQgPT4gewogICAgICAgICAgICBtYXJrdXAgKz0gJzxvcHRpb24gdmFsdWU9IicgKyBkLnN5bWJvbCArICciPicgKyBkLnN5bWJvbCArICc8L29wdGlvbj4nOwogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWlycycpLmlubmVySFRNTCA9IG1hcmt1cDsKCiAgICAgICAgTG9hZENoYXJ0cygpOwogICAgICAgIGZ1bmN0aW9uIExvYWRDaGFydHMoKXsKICAgICAgICAgICAgbGV0IHN5bWJvbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWlycycpLnZhbHVlOwogICAgICAgICAgICAvL1JFTkRFUiBDSEFSVAogICAgICAgICAgICBuZXcgVHJhZGluZ1ZpZXcud2lkZ2V0KAogICAgICAgICAgICAgIHsKICAgICAgICAgICJhdXRvc2l6ZSI6IHRydWUsCiAgICAgICAgICAic3ltYm9sIjogIkJJTkFOQ0U6IiArIHN5bWJvbCwKICAgICAgICAgICJpbnRlcnZhbCI6ICI1IiwKICAgICAgICAgICJ0aW1lem9uZSI6ICJFdXJvcGUvTHV4ZW1ib3VyZyIsCiAgICAgICAgICAidGhlbWUiOiAiRGFyayIsCiAgICAgICAgICAic3R5bGUiOiAiMSIsCiAgICAgICAgICAibG9jYWxlIjogImluIiwKICAgICAgICAgICJ0b29sYmFyX2JnIjogIiNmMWYzZjYiLAogICAgICAgICAgImVuYWJsZV9wdWJsaXNoaW5nIjogZmFsc2UsCiAgICAgICAgICAiYWxsb3dfc3ltYm9sX2NoYW5nZSI6IHRydWUsCiAgICAgICAgLy8gICAic3R1ZGllcyI6IFsKICAgICAgICAvLyAgICAgIkF3ZXNvbWVPc2NpbGxhdG9yQHR2LWJhc2ljc3R1ZGllcyIsCiAgICAgICAgLy8gICAgICJNQUNEQHR2LWJhc2ljc3R1ZGllcyIsCiAgICAgICAgLy8gICAgICJSU0lAdHYtYmFzaWNzdHVkaWVzIgogICAgICAgIC8vICAgXSwKICAgICAgICAgICJjb250YWluZXJfaWQiOiAidHZjaGFydCIKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICA8L3NjcmlwdD4KCiAgICAgICAgPCEtLSBlbmQgZm9vdGVyIC0tPgoKCiAgICA8IS0tIERlcGVuZGVuY3kgU2NyaXB0cyAtLT4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL21ldGhvZC1hc3NpZ24uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvanF1ZXJ5LTMuMy4xLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL3N3ZWV0YWxlcnQuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvbGVhZmxldC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9NYXJrZXJDbHVzdGVyR3JvdXAuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvY3J1bS1tZWdhLW1lbnUuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvd2F5cG9pbnRzLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2pxdWVyeS1jaXJjbGUtcHJvZ3Jlc3MuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvc2VnbWVudC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9ib290c3RyYXAuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvaW1hZ2VzTG9hZGVkLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2pxdWVyeS1jb3VudFRvLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL0hlYWRyb29tLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9wb3BwZXIubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL3BlcmZlY3Qtc2Nyb2xsYmFyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2pxdWVyeS5kYXRldGltZXBpY2tlci5mdWxsLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL3N2Z3h1c2UuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvc2VsZWN0Mi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9zbW9vdGgtc2Nyb2xsLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL3NoYXJlci5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9pc290b3BlLnBrZ2QubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2FqYXgtcGFnaW5hdGlvbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9zd2lwZXIubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL21hdGVyaWFsLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9vcmJpdGxpc3QuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9mcm9udGNzcy9hc3NldHMvaGlnaHN0b2NrLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2Jvb3RzdHJhcC1kYXRlcGlja2VyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL1RpbWVDaXJjbGVzLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2lvbi5yYW5nZVNsaWRlci5qcyI+PC9zY3JpcHQ+CgoKPCEtLSBGb250QXdlc29tZSA1LngueCBKUyAtLT4KCjxzY3JpcHQgc3JjPSJodHRwczovL3d3dy5taXhlZGZpbmFuY2UuaW8vYXNzZXQvZnJvbnRlbmQvanMvbWFpbi5qcyI+PC9zY3JpcHQ+CgoKPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzL2ZvbnRhd2Vzb21lLWFsbC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9tYWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZnJvbnRjc3MvYXNzZXRzLyI+PC9zY3JpcHQ+CgoKCgogICAgPHNjcmlwdD4KICAgIDwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBmdW5jdGlvbiBnb29nbGVUcmFuc2xhdGVFbGVtZW50SW5pdCgpIHsKICAgICAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHtwYWdlTGFuZ3VhZ2U6ICdlbid9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Jyk7CiAgICB9Cjwvc2NyaXB0PgoKCgoKPC9ib2R5PgoKPC9odG1sPgoK"}},"time_used":13482,"timings":{"blocked":-1,"dns":66,"connect":22,"send":0,"wait":13366,"receive":0,"ssl":28},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.755Z","timestamp":1785139583755,"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-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 08:06:23 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: aea20bc64367644e4a3a7516e46be6a4\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-08-12T05:10:43.092372Z","times_seen":303,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.914Z","timestamp":1785139583914,"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-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 08:06:23 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: 584103c044a1a4b0408ed61bbdfaa075\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-28T06:17:53.414435Z","times_seen":119,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.937Z","timestamp":1785139583937,"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-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 08:06:23 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: d85a58ceca951c405eb675bbd14124cf\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-08-12T05:10:43.303329Z","times_seen":281,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.020Z","timestamp":1785139584020,"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-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 08:06:24 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: ab7a295367273114ae239bf7ad736282\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-08-12T17:53:53.021164Z","times_seen":17858794,"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":"s.tradingview.com/widgetembed/?hideideas=1\u0026overrides=%7B%7D\u0026enabled_features=%5B%5D\u0026disabled_features=%5B%5D\u0026locale=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.424Z","timestamp":1785139582424,"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=in 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://nanoquantumstellarsledger.com/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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 08:06:22 GMT\r\nserver: tv\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nexpires: Mon, 27 Jul 2026 08:08:22 GMT\r\ncache-control: max-age=120\r\ncontent-security-policy: base-uri 'none'; default-src 'self' https: data: blob: wss: 'unsafe-inline'; object-src '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/ https://www.tradingview-widget.com/static/bundles/embed/ 'nonce-zuraJYdb2zZlJa9bPpC/Hw=='\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 de27d82c1c354527a5740acf5043eab4.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P2\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: UkX0HBSVtbe9xpNv6bwKBXhEVq7S5zA0_ef8rom5woRVSOnavnO8hg==\r\nX-Firefox-Spdy: h2\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":"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":"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":76521,"size_decoded":18288,"mime_type":"text/html; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (17729)","md5":"451df236afea0729ef57af1ee9730cf6","sha1":"79744aa4c8ef70f0e8bd5c5c4ef251c126e831d0","sha256":"afe582bd6b444e1b2c3108a537cc8382426ef05d79920580686196a2cc8b0668","sha512":"32dd71d358fd2a19791ab12695eb6d3a5c7ffb5d5fdbf970d1f33e0c745e22a187a1aa2250d13737e36150c612b62dfa9f98f953ae4f79617dd92dc537e9dfd5","ssdeep":"1536:38DCteAQTe8NzMob3e9c/1f6Nogd4i4UNogdPWn+66ceuvRMI:38DCteAQTe8NzMob3e9c/1f6Nl7NlPWj","tlshash":"8473f757d80d8705d9958a157c33b202fd29036c859268947aecdcec149bec3f19bbbe","first_seen":"2026-07-27T08:07:09.76877Z","last_seen":"2026-07-27T08:08:22.720255Z","times_seen":2,"resource_available":false,"data":"Cgo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIj4KPGhlYWQ+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgbWF4aW11bS1zY2FsZT0xIj4KCTx0aXRsZT5UcmFkaW5nVmlldyBDaGFydCBXaWRnZXQ8L3RpdGxlPgoKCjxsaW5rCglyZWw9ImNvbnZlcnNpb25zLWNvbmZpZyBwcmVmZXRjaCIKYXM9ImZldGNoIiBjcm9zc29yaWdpbglocmVmPSJodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9jb252ZXJzaW9uc19lbi5qc29uIgo+CjxsaW5rCglyZWw9Im1ldHJpY3MtY29uZmlnIHByZWZldGNoIgphcz0iZmV0Y2giCWhyZWY9Imh0dHBzOi8vc2Nhbm5lci1iYWNrZW5kLnRyYWRpbmd2aWV3LmNvbS9lbnVtL29yZGVyZWQ/aWQ9bWV0cmljc19mdWxsX25hbWUsbWV0cmljcyZsYW5nPWVuJmxhYmVsLXByb2R1Y3Q9eXRtLW1ldHJpY3MtcGxhbi5qc29uIgoJY3Jvc3NvcmlnaW4KPjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3BpbmUtZmFjYWRlLnRyYWRpbmd2aWV3LmNvbS9waW5lLWZhY2FkZSIgY3Jvc3NvcmlnaW49InVzZS1jcmVkZW50aWFscyI+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzkwNS42ODJlODllZjJkYzRjNzA0MjNjNi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NDY4MS5hNzE3MTEwZTY3NDlmMzA3ZWQ2ZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMTgzNy5kMzY4Y2FhNjRkNDk0YTQwODdjYy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MTUwOC43NjcyMTkyODNjNjVmNGQ0Y2E2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTUxOC4wODFmOTYzN2I5NGVlNjJhNmU2Zi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zMjYzMi41OTZlNTM0OGExNTM4YTE4ZmQ0ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC84NDA4LmRlNTM0NjYzZTA1MjA3NWJhMTJmLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5NTI3LjE1YzVjMjVkMjdhNTZhMGRmNzcyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzExNDA5LmZmODRjZTRkNTIzZDM1NDBjN2IyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMwMjAwLjcxZGEwNzZmYjAxOTdlNGQ1OTUzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg4OTA2LjBkNjUwNDY5YzljODQzNTc3YjQ3LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzEzODA5LmMyYmIxNjIzY2VkNzdhZDA3ZjljLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzg1NTEwLmRlODYyZjlkMjZkYjdjZjNjZDA4LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzMzNzM1LjJjYjg0NGFkMmIwZjNjODkyMTYyLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgoKPHNjcmlwdCBub25jZT0ienVyYUpZZGIyelpsSmE5YlBwQy9Idz09Ij4KCXdpbmRvdy5sb2NhbGUgPSAnaW4nOwoJd2luZG93Lmxhbmd1YWdlID0gJ2VuJzsKPC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJ6dXJhSllkYjJ6WmxKYTliUHBDL0h3PT0iPnZhciBlbnZpcm9ubWVudCA9ICJiYXR0bGUiOzwvc2NyaXB0PgoKPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi41ODY2Ny5kMTVmYzRiNWM2MzFiYjVlY2U4ZC5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNjIzNTEuYjM4MmRhMTc0ZjA5N2EwZDBlNDMuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8xMzE0OC4zMmNjMDFkYzAxNzUxYjkxNjgyYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDkyNjUuYzIwOGVmODM3OWUwNzNmOTRkMTYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NjI1OC4yODJlNjE0MWZjMDJhYzg1ZDBkNS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTM2MjcuMTE1MTk1YjcyZjJkOTJjZWNiOWIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80NDkxMS5mYTYxZDJhMjc0ZDQyMjQ0MzRjYS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjU4NjIuOTU3NjQ3NTJjMDlmM2YxOGY4OTAuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC8zNTUyLjRjNTUzNTE4M2I3YTAzMzBhODlkLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NDgyNS44YTkwYzBjM2ViZDQxM2ViOWM4MS5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzY5MzQuOTBlZGZlZjZjZTk4MzY5YWUwNGEuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk1MjQ0LjlkYTg4OWMxMzZkMjUwNmEzZDgxLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTM0MjYuMDA4M2QxNjNkNzI4YmZmNzg0ZDkuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzYzMTYwLjJhM2EyMTE4NWZiY2M3MDc5ZGFlLmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz4KPGxpbmsgY3Jvc3NvcmlnaW49ImFub255bW91cyIgaHJlZj0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgcmVsPSJwcmVsb2FkIiBhcz0ic2NyaXB0Ii8+CjxsaW5rIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIGhyZWY9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTk0NjUuOGU5YzA2Yjc2YzlkNTBiYzI0MmIuanMiIHJlbD0icHJlbG9hZCIgYXM9InNjcmlwdCIvPgo8bGluayBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VtYmVkX2FkdmFuY2VkX2NoYXJ0LjZkMDdlNGZkOGUzZjI3ODVjZjI1LmpzIiByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiLz48c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9ydW50aW1lLWVtYmVkX2FkdmFuY2VkX2NoYXJ0LjJhZGFkZjFjYzBlYzU3MDk3ODAzLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW4uNTg2NjcuZDE1ZmM0YjVjNjMxYmI1ZWNlOGQuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC9lbi42MjM1MS5iMzgyZGExNzRmMDk3YTBkMGU0My5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkL2VuLjk1MTE0LjNiNTczMzVhM2QxY2I0YzgwYmRkLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTMxNDguMzJjYzAxZGMwMTc1MWI5MTY4MmMuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC80OTI2NS5jMjA4ZWY4Mzc5ZTA3M2Y5NGQxNi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk5ODI3LmQzOTc2ZGMwYzVjZmEyYzIxNDBlLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNTYyNTguMjgyZTYxNDFmYzAyYWM4NWQwZDUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81MzYyNy4xMTUxOTViNzJmMmQ5MmNlY2I5Yi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzM0Njc4LjRhOTkyYWExNTBkOGVkYTVmMjljLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNDQ5MTEuZmE2MWQyYTI3NGQ0MjI0NDM0Y2EuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82NTg2Mi45NTc2NDc1MmMwOWYzZjE4Zjg5MC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzUxMDMxLjUzNWYyN2I3NzZmMzk0YzdlNDNhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMzU1Mi40YzU1MzUxODNiN2EwMzMwYTg5ZC5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzk0ODI1LjhhOTBjMGMzZWJkNDEzZWI5YzgxLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvMTIxODEuYjY1YTU4MzU1ZmY3Y2MzNDk1MGYuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC82OTM0LjkwZWRmZWY2Y2U5ODM2OWFlMDRhLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvOTUyNDQuOWRhODg5YzEzNmQyNTA2YTNkODEuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC81NTk2OS40M2MzNzQ4MDE0ZGUyY2QwYmQxYy5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzkzNDI2LjAwODNkMTYzZDcyOGJmZjc4NGQ5LmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvNjMxNjAuMmEzYTIxMTg1ZmJjYzcwNzlkYWUuanMiIGRlZmVyPjwvc2NyaXB0Pgo8c2NyaXB0IGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHNyYz0iaHR0cHM6Ly93d3cudHJhZGluZ3ZpZXctd2lkZ2V0LmNvbS9zdGF0aWMvYnVuZGxlcy9lbWJlZC85NzQ3Mi5lODE5NTQwNWY5OTA1NWE4M2M2Zi5qcyIgZGVmZXI+PC9zY3JpcHQ+CjxzY3JpcHQgY3Jvc3NvcmlnaW49ImFub255bW91cyIgc3JjPSJodHRwczovL3d3dy50cmFkaW5ndmlldy13aWRnZXQuY29tL3N0YXRpYy9idW5kbGVzL2VtYmVkLzU5NDY1LjhlOWMwNmI3NmM5ZDUwYmMyNDJiLmpzIiBkZWZlcj48L3NjcmlwdD4KPHNjcmlwdCBjcm9zc29yaWdpbj0iYW5vbnltb3VzIiBzcmM9Imh0dHBzOi8vd3d3LnRyYWRpbmd2aWV3LXdpZGdldC5jb20vc3RhdGljL2J1bmRsZXMvZW1iZWQvZW1iZWRfYWR2YW5jZWRfY2hhcnQuNmQwN2U0ZmQ4ZTNmMjc4NWNmMjUuanMiIGRlZmVyPjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Inp1cmFKWWRiMnpabEphOWJQcEMvSHc9PSI+d2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMzUsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC41fTsKd2luZG93LmluaXREYXRhID0ge307CgkJd2luZG93LlMzX0xPR09fU0VSVklDRV9CQVNFX1VSTCA9ICJodHRwczovL3MzLXN5bWJvbC1sb2dvLnRyYWRpbmd2aWV3LmNvbS8iOwoKd2luZG93LmluaXREYXRhID0geyJ3aWRnZXREZWZhdWx0cyI6eyJkZWZfaGlkZV9zeW1ib2xfZWRpdCI6dHJ1ZSwid2lkZ2V0RmVhdHVyZXNldCI6IndpZGdldCIsImJvZHlJZCI6IndpZGdldC1jb250YWluZXIiLCJib2R5Q2xhc3NlcyI6WyJjaGFydC1wYWdlIiwidW5zZWxlY3RhYmxlIiwib24td2lkZ2V0Il0sImNvbG9yVGhlbWUiOiJsaWdodCIsImxvY2FsZSI6ImVuIn19OwoJCXdpbmRvdy5pbml0RGF0YS5jdXJyZW50TG9jYWxlSW5mbyA9IHsibGFuZ3VhZ2UiOiJlbiIsImxhbmd1YWdlX25hbWUiOiJFbmdsaXNoIOKAjihJbmRpYSnigI4iLCJmbGFnIjoiaW4iLCJnZW9pcF9jb2RlIjoiaW4iLCJpc28iOiJlbiIsImlzb182MzlfMyI6ImVuZyIsImdsb2JhbF9uYW1lIjoiSW5kaWFuIn07CgkJd2luZG93LmluaXREYXRhLnNldHRpbmdzID0geydTM19MT0dPX1NFUlZJQ0VfQkFTRV9VUkwnOiAnaHR0cHM6Ly9zMy1zeW1ib2wtbG9nby50cmFkaW5ndmlldy5jb20vJywgJ1MzX05FV1NfSU1BR0VfU0VSVklDRV9CQVNFX1VSTCc6ICdodHRwczovL3MzLnRyYWRpbmd2aWV3LmNvbS9uZXdzLycsICdXRUJQQUNLX1NUQVRJQ19QQVRIJzogJ2h0dHBzOi8vc3RhdGljLnRyYWRpbmd2aWV3LmNvbS9zdGF0aWMvYnVuZGxlcy8nLCAnVFJBRElOR19VUkxTJzogeydmcmVlJzogJ2h0dHBzOi8vcGFwZXJ0cmFkaW5nLWZyZWUudHJhZGluZ3ZpZXcuY29tJywgJ3Bybyc6ICdodHRwczovL3BhcGVydHJhZGluZy50cmFkaW5ndmlldy5jb20nfSwgJ0NPTlRFU1RTX1VSTCc6ICcvcGFwZXItdHJhZGluZycsICdDUlVEX1NUT1JBR0VfVVJMJzogJ2h0dHBzOi8vY3J1ZC1zdG9yYWdlLnRyYWRpbmd2aWV3LmNvbSd9Ozwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Inp1cmFKWWRiMnpabEphOWJQcEMvSHc9PSI+CgkJKCgpPT57InVzZSBzdHJpY3QiO2NvbnN0IGU9e3doaXRlbGFiZWw6ITAscGVybWlzc2lvbk92ZXJyaWRlczohMCxsaW5rQ2FwdHVyaW5nQWxsb3dlZDohMCxzeW1ib2xfc2VhcmNoX2RlZmF1bHRfZXhjaGFuZ2U6ITAsc3ltYm9sX3NlYXJjaF9hbGxvd2VkX2V4Y2hhbmdlczohMH07Y29uc3QgdD13aW5kb3c7dC5pbml0RGF0YT10LmluaXREYXRhfHx7fTtjb25zdCBhPS9cKy9nLG49LzxcLz9bXj5dKyg+fCQpL2cscz1lPT5kZWNvZGVVUklDb21wb25lbnQoZS5yZXBsYWNlKGEsIiAiKSkucmVwbGFjZShuLCIiKSxvPXQubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxjPS8oW14mPV0rKT0/KFteJl0qKS9nLGk9e307bGV0IGwscj1jLmV4ZWMobyk7Zm9yKDtudWxsIT09cjspaVtzKHJbMV0pXT1zKHJbMl0pLHI9Yy5leGVjKG8pO3RyeXtsPUpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KHQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkpKSwib2JqZWN0Ij09dHlwZW9mIGwmJm51bGwhPT1sfHwobD17fSl9Y2F0Y2goZSl7bD17fX12YXIgaDt0LmluaXREYXRhLnF1ZXJ5U2V0dGluZ3M9aSx0LmluaXREYXRhLmhhc2hTZXR0aW5ncz0oaD1sLE9iamVjdC5rZXlzKGgpLmZvckVhY2goKHQ9PntlW3RdJiZkZWxldGUgaFt0XX0pKSxoKX0pKCk7Cgk8L3NjcmlwdD4KCgk8c2NyaXB0IG5vbmNlPSJ6dXJhSllkYjJ6WmxKYTliUHBDL0h3PT0iPndpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0lER0VUX1NIRVJJRkZfSE9TVCA9ICJodHRwczovL3dpZGdldC1zaGVyaWZmLnRyYWRpbmd2aWV3LXdpZGdldC5jb20iOwoJCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7Cgp3aW5kb3cuUElORV9VUkwgPSAiaHR0cHM6Ly9waW5lLWZhY2FkZS50cmFkaW5ndmlldy5jb20vcGluZS1mYWNhZGUiOwoKCXdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgPSBbd2luZG93LmluaXREYXRhLndpZGdldERlZmF1bHRzLndpZGdldEZlYXR1cmVzZXRdCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLmVuYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgkJLmNvbmNhdChKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS53aWRnZXREZWZhdWx0cy5lbmFibGVkX2ZlYXR1cmVzIHx8ICJbXSIpKQoJOwoKCXdpbmRvdy5fX2luaXRpYWxEaXNhYmxlZEZlYXR1cmVzZXRzID0gSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEucXVlcnlTZXR0aW5ncy5kaXNhYmxlZF9mZWF0dXJlcyB8fCAiW10iKQoJCS5jb25jYXQoSlNPTi5wYXJzZSh3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMuZGlzYWJsZWRfZmVhdHVyZXMgfHwgIltdIikpCgk7CgoJd2luZG93Ll9fZGVmYXVsdHNPdmVycmlkZXMgPSBKU09OLnBhcnNlKHdpbmRvdy5pbml0RGF0YS5xdWVyeVNldHRpbmdzLm92ZXJyaWRlcyB8fCB3aW5kb3cuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMub3ZlcnJpZGVzIHx8ICJ7fSIpOwoKCXdpbmRvdy5TU19IT1NUID0gInN5bWJvbC1zZWFyY2gudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5TU19ET01BSU5fUEFSQU1FVEVSID0gInByb2R1Y3Rpb24iOwoJd2luZG93LldJREdFVF9TSEVSSUZGX0hPU1QgPSAiaHR0cHM6Ly93aWRnZXQtc2hlcmlmZi50cmFkaW5ndmlldy13aWRnZXQuY29tIjsKCXdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQgPSAxMDA7Cgl3aW5kb3cuUFVTSFNUUkVBTV9VUkwgPSAid3NzOi8vcHVzaHN0cmVhbS50cmFkaW5ndmlldy5jb20iOwoJd2luZG93LkNIQVJURVZFTlRTX1VSTCA9ICJodHRwczovL2NoYXJ0ZXZlbnRzLXJldXRlcnMudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUNPTk9NSUNfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vZWNvbm9taWMtY2FsZW5kYXIudHJhZGluZ3ZpZXcuY29tLyI7Cgl3aW5kb3cuRUFSTklOR1NfQ0FMRU5EQVJfVVJMID0gImh0dHBzOi8vc2Nhbm5lci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU0VSVklDRV9VUkwgPSAiaHR0cHM6Ly9uZXdzLWhlYWRsaW5lcy50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfTUVESUFUT1JfVVJMID0gImh0dHBzOi8vbmV3cy1tZWRpYXRvci50cmFkaW5ndmlldy5jb20iOwoJd2luZG93Lk5FV1NfU1RSRUFNSU5HX1VSTCA9ICJodHRwczovL25vdGlmaWNhdGlvbnMudHJhZGluZ3ZpZXcuY29tL25ld3MvY2hhbm5lbCI7Cgl3aW5kb3cuU0NSRUVORVJfSE9TVCA9ICJodHRwczovL3NjYW5uZXIudHJhZGluZ3ZpZXcuY29tIjsKCXdpbmRvdy5DT1VOVFJZX0NPREVfVE9fREVGQVVMVF9FWENIQU5HRSA9IHsiZW4iOiJVUyIsInVzIjoiVVMiLCJhZSI6IkFEWCIsImFyIjoiQkNCQSIsImF0IjoiVklFIiwiYXUiOiJBU1giLCJiZCI6IkRTRUJEIiwiYmUiOiJFVVJPTkVYVF9CUlUiLCJiZyI6IkJTRVNPRiIsImJoIjoiQkFIUkFJTiIsImJyIjoiQk1GQk9WRVNQQSIsImNhIjoiVFNYIiwiY2giOiJTSVgiLCJjbCI6IkJDUyIsInpoX0NOIjoiU1NFIiwiY28iOiJCVkMiLCJociI6IlpTRSIsImN5IjoiQ1NFQ1kiLCJjeiI6IlBTRUNaIiwiZGVfREUiOiJYRVRSIiwiZGsiOiJPTVhDT1AiLCJlZSI6Ik9NWFRTRSIsImVnIjoiRUdYIiwiZXMiOiJCTUUiLCJmaSI6Ik9NWEhFWCIsImZyIjoiRVVST05FWFRfUEFSIiwiZ3IiOiJBVEhFWCIsImhrIjoiSEtFWCIsImh1IjoiQkVUIiwiaWQiOiJJRFgiLCJpZSI6IkVVUk9ORVhURFVCIiwiaGVfSUwiOiJUQVNFIiwiaW4iOiJCU0UiLCJpcyI6Ik9NWElDRSIsIml0IjoiTUlMIiwiamEiOiJUU0UiLCJrZSI6Ik5TRUtFIiwia3IiOiJLUlgiLCJrdyI6IktTRSIsImxrIjoiQ1NFTEsiLCJsdCI6Ik9NWFZTRSIsImx2IjoiT01YUlNFIiwibHUiOiJMVVhTRSIsIm14IjoiQk1WIiwibWEiOiJDU0VNQSIsIm1zX01ZIjoiTVlYIiwibmciOiJOU0VORyIsIm5sIjoiRVVST05FWFRfQU1TIiwibm8iOiJPU0wiLCJueiI6Ik5aWCIsInBlIjoiQlZMIiwicGgiOiJQU0UiLCJwayI6IlBTWCIsInBsIjoiR1BXIiwicHQiOiJFVVJPTkVYVF9MSVMiLCJxYSI6IlFTRSIsInJzIjoiQkVMRVgiLCJydSI6IlJVUyIsInJvIjoiQlZCIiwiYXJfQUUiOiJUQURBV1VMIiwic2UiOiJOR00iLCJzZyI6IlNHWCIsInNpIjoiTEpTRSIsInNrIjoiQlNTRSIsInRoX1RIIjoiU0VUIiwidG4iOiJCVk1UIiwidHIiOiJCSVNUIiwiemhfVFciOiJUV1NFIiwiZ2IiOiJMU0UiLCJ2ZSI6IkJWQ1YiLCJ2aV9WTiI6IkhPU0UiLCJ6YSI6IkpTRSJ9OwoJd2luZG93LlBJTkVfVVJMID0gImh0dHBzOi8vcGluZS1mYWNhZGUudHJhZGluZ3ZpZXcuY29tL3BpbmUtZmFjYWRlIjsKCXdpbmRvdy5URUxFTUVUUllfSE9TVFMgPSB7ImNoYXJ0cyI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2ZyZWUiLCJwcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vcHJvIiwid2lkZ2V0IjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3dpZGdldCIsImlvc19mcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1pb3MtZnJlZSIsImlvc19wcm8iOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWlvcy1wcm8iLCJhbmRyb2lkX2ZyZWUiOiJodHRwczovL3RlbGVtZXRyeS50cmFkaW5ndmlldy5jb20vY2hhcnRzLWFuZHJvaWQtZnJlZSIsImFuZHJvaWRfcHJvIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2NoYXJ0cy1hbmRyb2lkLXBybyJ9LCJhbGVydHMiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2FsZXJ0cyJ9LCJsaW5lX3Rvb2xzX3N0b3JhZ2UiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL2xpbmUtdG9vbHMtc3RvcmFnZSJ9LCJuZXdzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9uZXdzIn0sInBpbmUiOnsiYWxsIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3BpbmUifSwiY2FsZW5kYXJzIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9jYWxlbmRhcnMifSwic2l0ZSI6eyJmcmVlIjoiaHR0cHM6Ly90ZWxlbWV0cnkudHJhZGluZ3ZpZXcuY29tL3NpdGUtZnJlZSIsInBybyI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXBybyIsIndpZGdldCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS9zaXRlLXdpZGdldCJ9LCJ0cmFkaW5nIjp7ImFsbCI6Imh0dHBzOi8vdGVsZW1ldHJ5LnRyYWRpbmd2aWV3LmNvbS90cmFkaW5nIn19OwoKCS8vIFJFQ0FQVENIQV9TSVRFX0tFWSBpcyBOT1QgdW51c2VkISBTZWUgVFYtMTI2OTksIFRWLTEzMDAxIGFuZCBzdGF0aWMvanMvZGlhbG9ncy9zaWduLW1vZGFsL3NpZ24tbW9kYWwtaW1wbC5lczYKCXdpbmRvdy5SRUNBUFRDSEFfU0lURV9LRVkgPSAiNkxjcXYyNFVBQUFBQUl2a0VsRHZ3UHhEMFI4c2NEbk1waXphQmNIUSI7Cgl3aW5kb3cuUkVDQVBUQ0hBX1NJVEVfS0VZX1YzID0gIjZMZVFNSGdVQUFBQUFLQ1ljdGlCR1dZclhOX3R2ck9EU1o3aTlkTEEiOwoKCXdpbmRvdy5pc19hdXRoZW50aWNhdGVkID0gZmFsc2U7CgoJd2luZG93LmZlYXR1cmVUb2dnbGVTdGF0ZSA9IHsic2hvd19mZWF0dXJlZF9pcG8iOjEuMCwiYmxhY2tfZnJpZGF5X3BvcHVwIjoxLjAsImJsYWNrX2ZyaWRheV9tYWlucGFnZSI6MS4wLCJibGFja19mcmlkYXlfZXh0ZW5kX2xpbWl0YXRpb24iOjEuMCwiZW5hYmxlX3RyYWRpbmdfcmVwbGF5X2Zvcl9wb2ludF9pbmRleGVzIjoxLjAsImluY3JlYXNlX21ldGFpbmZvX3ZlcnNpb24iOjAuMzUsImNoYXJ0X2F1dG9zYXZlXzVtaW4iOjEuMCwiY2hhcnRfYXV0b3NhdmVfMzBtaW4iOjEuMCwicGVyZm9ybWFuY2VfdGVzdF9tb2RlIjoxLjAsImNoZWNrX2F1dGhfdG9rZW5fZXhwaXJhdGlvbl9vbl9ldmVyeV9yZXF1ZXN0IjoxLjAsImNoYXJ0X3N0b3JhZ2VfaGliZXJuYXRpb25fZGVsYXlfNjBtaW4iOjEuMCwic3VwcG9ydF9wZXJzaXN0ZW50X2xvZ3MiOjEuMCwibmV3X3N0b3JhZ2Vfc3Vic2NyaXB0aW9uX3VybCI6MS4wLCJyZW1vdmVfYW5jaG9yZWRfdGV4dCI6MS4wLCJlbmFibGVfc3RlcF9ieV9zdGVwX2hpbnRzX2Zvcl9kcmF3aW5ncyI6MS4wLCJwdXNoc3RyZWFtX2Jhc2ljX3RlbGVtZXRyeSI6MS4wLCJhbGxvd19icmFja2V0c19wcm9maXRfbG9zcyI6MS4wLCJlbmFibGVfdHJhZGVkX2NvbnRleHRfbGlua2luZyI6MS4wLCJvcmRlcl9jb250ZXh0X3ZhbGlkYXRpb25faW5faW5zdGFudF9tb2RlIjoxLjAsImFsZXJ0cy1vbi1mdW5kYW1lbnRhbC1tZXRyaWNzIjoxLjAsImFsZXJ0cy1ub3RpZmljYXRpb24tc2NoZWR1bGUiOjEuMCwiYWxlcnRzLXdhdGNobGlzdC1leHRlbmRlZC1ob3VycyI6MS4wLCJlbmFibGVfc3ltYm9sX2NoYW5nZV9yZXN0cmljdGlvbl9vbl93aWRnZXRzIjoxLjAsImVuYWJsZV9hc3hfc3ltYm9sX3Jlc3RyaWN0aW9uIjoxLjAsInN5bXBob255X2FsbG93X25vbl9wYXJ0aXRpb25lZF9jb29raWVfb25fb2xkX3N5bXBob255IjoxLjAsInN5bXBob255X25vdGlmaWNhdGlvbl9iYWRnZXMiOjEuMCwic3ltcGhvbnlfdXNlX2Fka19mb3JfdXBncmFkZV9yZXF1ZXN0IjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3RyYWNraW5nIjoxLjAsInN5bXBob255X2VuYWJsZV90aW1lb3V0X3NvZnRfbGltaXQiOjEuMCwic3ltcGhvbnlfZW5hYmxlX3RpbWVvdXRfaGFyZF9saW1pdCI6MS4wLCJ0ZWxlZ3JhbV9taW5pX2FwcF9yZWR1Y2Vfc25hcHNob3RfcXVhbGl0eSI6MS4wLCJuZXdzX3N5bWJvbF9vdmVydmlld19rZXlfZmFjdHMiOjEuMCwidGltZW91dF9kamFuZ29fZGIiOjAuMTUsInRpbWVvdXRfZGphbmdvX3VzZXJzZXR0aW5nc19kYiI6MC4xNSwidGltZW91dF9kamFuZ29fY2hhcnRzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19zeW1ib2xzX2xpc3RzX2RiIjowLjI1LCJ0aW1lb3V0X2RqYW5nb19taW5kc19kYiI6MC4wNSwidGltZW91dF9kamFuZ29fbG9nZ2luZ19kYiI6MC4yNSwiZGlzYWJsZV9zZXJ2aWNlc19tb25pdG9yX21ldHJpY3MiOjEuMCwiZW5hYmxlX3NpZ25pbl9yZWNhcHRjaGEiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWwiOjEuMCwiZW5hYmxlX2lkZWFfc3BhbWRldGVjdG9ybWxfY29tbWVudHMiOjEuMCwiZW5hYmxlX3NwYW1kZXRlY3Rvcm1sX2NoYXQiOjEuMCwiZW5hYmxlX21pbmRzX3NwYW1kZXRlY3Rvcm1sIjoxLjAsImJhY2tlbmQtY29ubmVjdGlvbnMtaW4tdG9rZW4iOjEuMCwib25lX2Nvbm5lY3Rpb25fd2l0aF9leGNoYW5nZXMiOjEuMCwibW9iaWxlLWFkcy1pb3MiOjEuMCwibW9iaWxlLWFkcy1hbmRyb2lkIjoxLjAsImdvb2dsZS1vbmUtdGFwLXNpZ25pbiI6MS4wLCJicmFpbnRyZWUtZ29wcm8taW4tb3JkZXItZGlhbG9nIjoxLjAsImJyYWludHJlZS1hcHBsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWdvb2dsZS1wYXkiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS1mcm9tLWlvcy1hcHAiOjEuMCwiYnJhaW50cmVlLWFwcGxlLXBheS10cmlhbCI6MS4wLCJ0cmlwbGVhLXBheW1lbnRzIjoxLjAsImJyYWludHJlZS1nb29nbGUtcGF5LXRyaWFsIjoxLjAsImJyYWludHJlZS1vbmUtdXNkLXZlcmlmaWNhdGlvbiI6MS4wLCJicmFpbnRyZWUtM2RzLWVuYWJsZWQiOjEuMCwiYnJhaW50cmVlLTNkcy1zdGF0dXMtY2hlY2siOjEuMCwiYnJhaW50cmVlLWFkZGl0aW9uYWwtY2FyZC1jaGVja3MtZm9yLXRyaWFsIjoxLjAsImJyYWludHJlZS1pbnN0YW50LXNldHRsZW1lbnQiOjEuMCwiYnJhaW50cmVlX3JlY3VycmluZ19iaWxsaW5nX3NjaGVkdWxlcl9zdWJzY3JpcHRpb24iOjEuMCwiY2hlY2tvdXRfbWFudWFsX2NhcHR1cmVfcmVxdWlyZWQiOjEuMCwiY2hlY2tvdXQtc3Vic2NyaXB0aW9ucyI6MS4wLCJjaGVja291dF9hZGRpdGlvbmFsX2NhcmRfY2hlY2tzX2Zvcl90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImNoZWNrb3V0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfdHJpYWwiOjEuMCwiY2hlY2tvdXRfZmFpbF9vbl9iYW5uZWRfYmFua19mb3JfcHJlbWl1bV90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJjaGVja291dF9mYWlsX29uX3ByZXBhaWRfY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2FkZGl0aW9uYWxfY2FyZF9jaGVja3NfZm9yX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9kdXBsaWNhdGVfcGF5bWVudF9tZXRob2RzX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2NvdW50cmllc19mb3JfdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Jhbm5lZF9iYW5rX2Zvcl90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fYmFubmVkX2JhbmtfZm9yX3ByZW1pdW1fdHJpYWwiOjEuMCwicmV2b2x1dF9mYWlsX29uX2Nsb3NlX3RvX2V4cGlyYXRpb25fY2FyZF90cmlhbCI6MS4wLCJyZXZvbHV0X2ZhaWxfb25fcHJlcGFpZF9jYXJkX3RyaWFsIjoxLjAsInJldm9sdXRfZmFpbF9vbl9jb21tZXJjaWFsX2NhcmRfdHJpYWwiOjEuMCwiZW5hYmxlX3BheW1lbnRzXzNkc19vcHRpbWl6YXRpb24iOjEuMCwiY291bnRyeV9vZl9pc3N1YW5jZV92c19iaWxsaW5nX2NvdW50cnkiOjEuMCwiY2hlY2tvdXRfc2hvd19pbnN0ZWFkX29mX2JyYWludHJlZSI6MS4wLCJjaGVja291dC0zZHMiOjEuMCwiY2hlY2tvdXQtcGF5cGFsIjoxLjAsImNoZWNrb3V0X2luY2x1ZGVfYWNjb3VudF9ob2xkZXIiOjEuMCwiY2hlY2tvdXQtcGF5cGFsLXRyaWFsIjoxLjAsImFubnVhbF90b19tb250aGx5X2Rvd25ncmFkZV9hdHRlbXB0IjoxLjAsInJhem9ycGF5X3RyaWFsXzEwX2luciI6MS4wLCJyYXpvcnBheS1jYXJkLW9yZGVyLXRva2VuLXNlY3Rpb24iOjEuMCwicmF6b3JwYXktY2FyZC1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXVwaS1zdWJzY3JpcHRpb25zIjoxLjAsInJhem9ycGF5LXMzLWludm9pY2UtdXBsb2FkIjoxLjAsInJhem9ycGF5X2luY2x1ZGVfZGF0ZV9vZl9iaXJ0aCI6MS4wLCJkbG9jYWwtcGF5bWVudHMiOjEuMCwicmV2b2x1dC1wYXktcGF5bWVudHMiOjEuMCwicmV2b2x1dC1jYXJkLXBheW1lbnRzIjowLjUsImRsb2NhbC1waXgtYXV0b21hdGljbyI6MS4wLCJicmFpbnRyZWVfdHJhbnNhY3Rpb25fc291cmNlIjoxLjAsInZlcnRleC10YXgiOjEuMCwidmVydGV4LXRheC1maXgiOjEuMCwicmVjZWlwdF9pbl9lbWFpbHMiOjEuMCwiYWR3b3Jkcy1hbmFseXRpY3MiOjEuMCwiY20zNjAtYW5hbHl0aWNzIjoxLjAsImRpc2FibGVfbW9iaWxlX3Vwc2VsbF9pb3MiOjEuMCwiZGlzYWJsZV9tb2JpbGVfdXBzZWxsX2FuZHJvaWQiOjEuMCwicmVxdWlyZWRfYWdyZWVtZW50X2Zvcl9ydCI6MS4wLCJjaGVja19tYXJrZXRfZGF0YV9saW1pdHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfZGF0YSI6MS4wLCJmb3JjZV90b191cGdyYWRlX3RvX2V4cGVydCI6MS4wLCJzZW5kX3RyYWRldmFuX2ludm9pY2UiOjEuMCwic2hvd19wZXBlX2FuaW1hdGlvbiI6MS4wLCJzZW5kX25leHRfcGF5bWVudF9pbmZvX3JlY2VpcHQiOjEuMCwic3VwcG9ydF9vdmVybmlnaHRfc2Vzc2lvbiI6MS4wLCJzY3JlZW5lci1hbGVydHMtcmVhZC1vbmx5IjoxLjAsInNjcmVlbmVyX2JvbmRfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX3N0b2NrX2FpX2ZpbHRlcnNfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9pc19hbGxvd2VkX3RvX2NyZWF0ZV9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmF0aW5nX2NvbHVtbnNfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfc29ydGluZ19yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2NyZWVuZXJfYm9uZF9ncm91cF9ieV9pc2luX3Jlc3RyaWN0aW9uX2J5X2F1dGhfZW5hYmxlZCI6MS4wLCJzY3JlZW5lcl9ib25kX3N5bWJvbF9zZWFyY2hfcmVzdHJpY3Rpb25fYnlfYXV0aF9lbmFibGVkIjoxLjAsInNjcmVlbmVyX2JvbmRfcmVnaXN0cmF0aW9uX2Jhbm5lcl9yZXN0cmljdGlvbl9ieV9hdXRoX2VuYWJsZWQiOjEuMCwic2VzX3RyYWNraW5nIjoxLjAsInNlbmRfZmluYW5jaWFsX25vdGlmaWNhdGlvbnMiOjEuMCwic3BhcmtfdHJhbnNsYXRpb25zIjoxLjAsInNwYXJrX2NhdGVnb3J5X3RyYW5zbGF0aW9ucyI6MS4wLCJzcGFya190YWdzX3RyYW5zbGF0aW9ucyI6MS4wLCJwcm9fcGxhbl9pbml0aWFsX3JlZnVuZHNfZGlzYWJsZWQiOjEuMCwicHJldmlvdXNfbW9ub3Byb2R1Y3RfcHVyY2hhc2VzX3JlZnVuZHNfZW5hYmxlZCI6MS4wLCJlbmFibGVfaWRlYXNfcmVjb21tZW5kYXRpb25zIjoxLjAsImVuYWJsZV9pZGVhc19yZWNvbW1lbmRhdGlvbnNfZmVlZCI6MS4wLCJmYWlsX29uX2R1cGxpY2F0ZV9wYXltZW50X21ldGhvZHNfZm9yX3RyaWFsIjoxLjAsImV0aG9jYV9hbGVydF9ub3RpZmljYXRpb25fd2ViaG9vayI6MS4wLCJoaWRlX3N1c3BpY2lvdXNfdXNlcnNfaWRlYXMiOjEuMCwiZGlzYWJsZV9wdWJsaXNoX3N0cmF0ZWd5X3JhbmdlX2Jhc2VkX2NoYXJ0IjoxLjAsInJlc3RyaWN0X3NpbXVsdGFuZW91c19yZXF1ZXN0cyI6MS4wLCJsb2dpbl9mcm9tX25ld19kZXZpY2VfZW1haWwiOjEuMCwic3NyX3dvcmtlcl9ub3dhaXQiOjEuMCwiYnJva2VyX0ExQ0FQSVRBTCI6MS4wLCJicm9rZXJfQUNUSVZUUkFERVMiOjEuMCwiYnJva2VyX0FMQ0hFTVlNQVJLRVRTIjoxLjAsImJyb2tlcl9BTElDRUJMVUUiOjEuMCwiaGlkZV9BTE9SX29uX2lvcyI6MS4wLCJoaWRlX0FMT1Jfb25fYW5kcm9pZCI6MS4wLCJoaWRlX0FMT1Jfb25fbW9iaWxlX3dlYiI6MS4wLCJhbG9yLWJyb2tlcnMtc2lkZS1tYWludGVuYW5jZSI6MS4wLCJicm9rZXJfQUxQQUNBIjoxLjAsImJyb2tlcl9BTFJBTVoiOjEuMCwiYnJva2VyX0FNUCI6MS4wLCJicm9rZXJfQU5HRUxPTkUiOjEuMCwiYnJva2VyX0FWQV9GVVRVUkVTIjoxLjAsIkFWQV9GVVRVUkVTX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX0IyUFJJTUUiOjEuMCwiYnJva2VyX0JBSkFKIjoxLjAsImJyb2tlcl9CRVlPTkQiOjEuMCwiYnJva2VyX0JJTkFOQ0UiOjEuMCwiZW5hYmxlX2JpbmFuY2VhcGlzX2Jhc2VfdXJsIjoxLjAsImJyb2tlcl9CSU5HQk9OIjoxLjAsImJyb2tlcl9CSVRBWlpBIjoxLjAsImJyb2tlcl9CSVRHRVQiOjEuMCwiYnJva2VyX0JJVE1FWCI6MS4wLCJicm9rZXJfQklUU1RBTVAiOjEuMCwiYnJva2VyX0JMQUNLQlVMTCI6MS4wLCJicm9rZXJfQkxVRUJFUlJZTUFSS0VUUyI6MS4wLCJicm9rZXJfQlRDQyI6MS4wLCJicm9rZXJfQllCSVQiOjEuMCwiYnJva2VyX0NBUElUQUxDT00iOjEuMCwiYnJva2VyX0NBUFRSQURFUiI6MS4wLCJDQVBUUkFERVJfc2VwYXJhdGVfaW50ZWdyYXRpb25fbWlncmF0aW9uX3dhcm5pbmciOjEuMCwiYnJva2VyX0NGSSI6MS4wLCJicm9rZXJfQ0dTSSI6MS4wLCJicm9rZXJfQ0lUWUlOREVYIjoxLjAsImNpdHlpbmRleF9zcHJlYWRiZXR0aW5nIjoxLjAsIkNMRUFSU1RSRUVUX2JldGEiOjEuMCwiYnJva2VyX0NNQ01BUktFVFMiOjEuMCwiYnJva2VyX0NPQlJBVFJBRElORyI6MS4wLCJicm9rZXJfQ09JTkJBU0UiOjEuMCwiY29pbmJhc2VfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImNvaW5iYXNlX2NhbmNlbF9wb3NpdGlvbl9icmFja2V0cyI6MS4wLCJicm9rZXJfQ09JTkpBUiI6MS4wLCJDT0lOSkFSX2JldGEiOjEuMCwiYnJva2VyX0NPSU5TV0lUQ0giOjEuMCwiYnJva2VyX0NPSU5XIjoxLjAsImJyb2tlcl9DT0xNRVgiOjEuMCwiaGlkZV9DUUdfb25faW9zIjoxLjAsImhpZGVfQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJjcWctcmVhbHRpbWUtYmFuZHdpZHRoLWxpbWl0IjoxLjAsImJyb2tlcl9DUllQVE9DT00iOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9pb3MiOjEuMCwiaGlkZV9DVVJSRU5DWUNPTV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfQ1VSUkVOQ1lDT01fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfQ1hNIjoxLjAsImJyb2tlcl9EQU9MIjoxLjAsImJyb2tlcl9EQVJXSU5FWCI6MS4wLCJEQVJXSU5FWF9iZXRhIjoxLjAsImJyb2tlcl9ERUxUQSI6MS4wLCJicm9rZXJfREVSQVlBSCI6MS4wLCJicm9rZXJfREVSSVYiOjEuMCwiYnJva2VyX0RIQU4iOjEuMCwiYnJva2VyX0ROU0UiOjEuMCwiYnJva2VyX0RPUk1BTiI6MS4wLCJoaWRlX0RVTU1ZX29uX2lvcyI6MS4wLCJoaWRlX0RVTU1ZX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9EVU1NWV9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9FQVNZTUFSS0VUUyI6MS4wLCJicm9rZXJfRUNPVkFMT1JFUyI6MS4wLCJicm9rZXJfRURHRUNMRUFSIjoxLjAsImVkZ2VjbGVhcl9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsImJyb2tlcl9FSUdIVENBUCI6MS4wLCJicm9rZXJfRVJSQU5URSI6MS4wLCJicm9rZXJfRVNBRlgiOjEuMCwiRklERUxJVFlfYmV0YSI6MS4wLCJGSURFTElUWV91c19yZWxlYXNlIjowLjI1LCJmaWRlbGl0eV9zZWN1cml0eV90b2tlbiI6MS4wLCJicm9rZXJfRk9SRVhDT00iOjEuMCwiZm9yZXhjb21fc2Vzc2lvbl92MiI6MS4wLCJicm9rZXJfRlBNQVJLRVRTIjoxLjAsImhpZGVfRlRYX29uX2lvcyI6MS4wLCJoaWRlX0ZUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfRlRYX29uX21vYmlsZV93ZWIiOjEuMCwiZnR4X3JlcXVlc3Rfc2VydmVyX2xvZ2dlciI6MS4wLCJicm9rZXJfRlVTSU9OTUFSS0VUUyI6MS4wLCJmeGNtX3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0ZYQ00iOjEuMCwiaGlkZV9GWE9QRU5fb25faW9zIjoxLjAsImhpZGVfRlhPUEVOX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9GWE9QRU5fb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfRlhQUk8iOjEuMCwiYnJva2VyX0ZYVEYiOjEuMCwiYnJva2VyX0ZZRVJTIjoxLjAsImJyb2tlcl9HQVRFIjoxLjAsImJyb2tlcl9HQkVCUk9LRVJTIjoxLjAsImdlbWluaS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dFTklBTElOVkVTVElNRU5UT1MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9pb3MiOjEuMCwiaGlkZV9HTE9CQUxQUklNRV9vbl9hbmRyb2lkIjoxLjAsImhpZGVfR0xPQkFMUFJJTUVfb25fbW9iaWxlX3dlYiI6MS4wLCJnbG9iYWxwcmltZS1icm9rZXJzLXNpZGUtbWFpbnRlbmFuY2UiOjEuMCwiYnJva2VyX0dPTUFSS0VUUyI6MS4wLCJicm9rZXJfR09UUkFERSI6MS4wLCJnb3RyYWRlX2VuYWJsZV9zdHJlYW1pbmdfZW5kcG9pbnRzIjoxLjAsImJyb2tlcl9IRVJFTllBIjoxLjAsImhpZGVfSFRYX29uX2lvcyI6MS4wLCJoaWRlX0hUWF9vbl9hbmRyb2lkIjoxLjAsImhpZGVfSFRYX29uX21vYmlsZV93ZWIiOjEuMCwiYnJva2VyX0lCS1IiOjEuMCwiY2hlY2tfaWJrcl9zaWRlX21haW50ZW5hbmNlIjoxLjAsImlia3JfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3JfcGFyYWxsZWxfcHJvdmlkZXJfaW5pdGlhbGl6YXRpb24iOjEuMCwiaWJrcl93c19hY2NvdW50X3N1bW1hcnkiOjEuMCwiaWJrcl93c19zZXJ2ZXJfbG9nZ2VyIjoxLjAsImlia3Jfc3Vic2NyaWJlX3RvX29yZGVyX3VwZGF0ZXNfZmlyc3QiOjEuMCwiaWJrcl93c19hY2NvdW50X2xlZGdlciI6MS4wLCJicm9rZXJfSUJST0tFUiI6MS4wLCJicm9rZXJfSUNNQVJLRVRTIjoxLjAsImJyb2tlcl9JQ01BUktFVFNfQVNJQyI6MS4wLCJicm9rZXJfSUNNQVJLRVRTX0VVIjoxLjAsImJyb2tlcl9JRyI6MS4wLCJicm9rZXJfSU5EU1RPQ0tTIjoxLjAsImJyb2tlcl9JTkZPWUFUSVJJTSI6MS4wLCJicm9rZXJfSU5OT1ZFU1RYIjoxLjAsImJyb2tlcl9JTlRFUkFDVElWRUlMIjoxLjAsImJyb2tlcl9JTlZFU1RSQURFIjoxLjAsIklOVkVTVFJBREVfYmV0YSI6MS4wLCJicm9rZXJfSVJPTkJFQU0iOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25faW9zIjoxLjAsImhpZGVfSVJPTkJFQU1fQ1FHX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9JUk9OQkVBTV9DUUdfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS0lXT09NIjoxLjAsImtpd29vbV91c2Vfc2VwYXJhdGVfc3RyZWFtaW5nX3VybCI6MS4wLCJicm9rZXJfS09UQUsiOjEuMCwiaGlkZV9LT1RBS19vbl9pb3MiOjEuMCwiaGlkZV9LT1RBS19vbl9hbmRyb2lkIjoxLjAsImhpZGVfS09UQUtfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfS1JBS0VOIjoxLjAsImhpZGVfS1JBS0VOX29uX2lvcyI6MS4wLCJoaWRlX0tSQUtFTl9vbl9hbmRyb2lkIjoxLjAsIktSQUtFTl9iZXRhIjoxLjAsImtyYWtlbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwiYnJva2VyX0tTRUNVUklUSUVTIjoxLjAsImJyb2tlcl9MSUJFUkFUT1IiOjEuMCwiYnJva2VyX01FWEMiOjEuMCwiYnJva2VyX01FWEVNIjoxLjAsImJyb2tlcl9NSURBUyI6MS4wLCJoaWRlX01PQ0tCUk9LRVJfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9hbmRyb2lkIjoxLjAsImhpZGVfTU9DS0JST0tFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImhpZGVfTU9DS0JST0tFUl9JTVBMSUNJVF9vbl9pb3MiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0lNUExJQ0lUX29uX21vYmlsZV93ZWIiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25faW9zIjoxLjAsImhpZGVfTU9DS0JST0tFUl9DT0RFX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9NT0NLQlJPS0VSX0NPREVfb25fbW9iaWxlX3dlYiI6MS4wLCJicm9rZXJfTU9PTU9PIjoxLjAsImJyb2tlcl9NT1RJTEFMT1NXQUwiOjEuMCwiYnJva2VyX05JTkpBVFJBREVSIjoxLjAsImJyb2tlcl9PQU5EQSI6MS4wLCJvYW5kYV9zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJvYW5kYV9vYXV0aF9tdWx0aXBsZXhpbmciOjEuMCwiYnJva2VyX09LWCI6MS4wLCJicm9rZXJfT1BPRklOQU5DRSI6MS4wLCJicm9rZXJfT1BUSU1VUyI6MS4wLCJicm9rZXJfT1NNQU5MSSI6MS4wLCJicm9rZXJfT1NNQU5MSUZYIjoxLjAsInBhcGVyX2ZvcmNlX2Nvbm5lY3RfcHVzaHN0cmVhbSI6MS4wLCJwYXBlcl9zdWJhY2NvdW50X2N1c3RvbV9jdXJyZW5jeSI6MS4wLCJwYXBlcl9vdXRzaWRlX3J0aCI6MS4wLCJicm9rZXJfUEFZVE0iOjEuMCwiYnJva2VyX1BFUFBFUlNUT05FIjoxLjAsImJyb2tlcl9QSEVNRVgiOjEuMCwiYnJva2VyX1BISUxMSVBDQVBJVEFMX1RSIjoxLjAsImJyb2tlcl9QSElMTElQTk9WQSI6MS4wLCJicm9rZXJfUExVUzUwMCI6MS4wLCJwbHVzNTAwX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiUExVUzUwMFVTX2JldGEiOjEuMCwiYnJva2VyX1BVUlBMRVRSQURJTkciOjEuMCwiYnJva2VyX1FVRVNUUkFERSI6MS4wLCJicm9rZXJfUkFWQUJVUlNBVElMIjoxLjAsIlJBVkFCVVJTQVRJTF9iZXRhIjoxLjAsImJyb2tlcl9SSVlBRENBUElUQUwiOjEuMCwiYnJva2VyX1JPQk9NQVJLRVRTIjoxLjAsImJyb2tlcl9SRVBMQVlCUk9LRVIiOjEuMCwiYnJva2VyX1NBTVVFTCI6MS4wLCJicm9rZXJfU0FYT0JBTksiOjEuMCwiYnJva2VyX1NIQVJFTUFSS0VUIjoxLjAsImJyb2tlcl9TS0lMTElORyI6MS4wLCJicm9rZXJfU1BSRUFERVgiOjEuMCwiYnJva2VyX1NXSVNTUVVPVEUiOjEuMCwiYnJva2VyX1NUT05FWCI6MS4wLCJicm9rZXJfVEFTVFlGWCI6MS4wLCJicm9rZXJfVEFTVFlUUkFERSI6MS4wLCJicm9rZXJfVEhJTktNQVJLRVRTIjoxLjAsInRoaW5rbWFya2V0c19hY2NvdW50X2RhdGFfc3RyZWFtaW5nIjoxLjAsImJyb2tlcl9USUNLTUlMTCI6MS4wLCJoaWRlX1RJR0VSX29uX2lvcyI6MS4wLCJoaWRlX1RJR0VSX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9USUdFUl9vbl9tb2JpbGVfd2ViIjoxLjAsImJyb2tlcl9UUkFERU5BVElPTiI6MS4wLCJicm9rZXJfVFJBREVTVEFUSU9OIjoxLjAsInRyYWRlc3RhdGlvbl9yZXF1ZXN0X3NlcnZlcl9sb2dnZXIiOjEuMCwidHJhZGVzdGF0aW9uX2FjY291bnRfZGF0YV9zdHJlYW1pbmciOjEuMCwidHJhZGVzdGF0aW9uX3N0cmVhbWluZ19zZXJ2ZXJfbG9nZ2luZyI6MS4wLCJicm9rZXJfVFJBREVaRVJPIjoxLjAsImJyb2tlcl9UUkFESUVSIjoxLjAsImJyb2tlcl9UUkFESUVSX0ZVVFVSRVMiOjEuMCwidHJhZGllcl9mdXR1cmVzX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYnJva2VyX1RSQURPVkFURSI6MS4wLCJoaWRlX1RSQURVX29uX2lvcyI6MS4wLCJoaWRlX1RSQURVX29uX2FuZHJvaWQiOjEuMCwiaGlkZV9UUkFEVV9vbl9tb2JpbGVfd2ViIjoxLjAsInRyYWR1X3NwcmVhZF9iZXQiOjEuMCwiYnJva2VyX1RSSVZFIjoxLjAsImJyb2tlcl9WQU5UQUdFIjoxLjAsImJyb2tlcl9WRUxPQ0lUWSI6MS4wLCJicm9rZXJfV0VCVUxMIjoxLjAsImJyb2tlcl9XRUJVTExKQVBBTiI6MS4wLCJicm9rZXJfV0VCVUxMUEFZIjoxLjAsImJyb2tlcl9XRUJVTExVSyI6MS4wLCJicm9rZXJfV0hJVEVCSVQiOjEuMCwiYnJva2VyX1dIU0VMRklOVkVTVCI6MS4wLCJicm9rZXJfV0hTRUxGSU5WRVNUX0ZVVFVSRVMiOjEuMCwiV0hTRUxGSU5WRVNUX0ZVVFVSRVNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJicm9rZXJfWENVQkUiOjEuMCwiYnJva2VyX1lMRyI6MS4wLCJicm9rZXJfaWRfc2Vzc2lvbiI6MS4wLCJkaXNhbGxvd19jb25jdXJyZW50X3Nlc3Npb25zIjoxLjAsInVzZV9jb2RlX2Zsb3dfdjJfcHJvdmlkZXIiOjEuMCwidXNlX2NvZGVfZmxvd192Ml9wcm92aWRlcl9mb3JfdW50ZXN0ZWRfYnJva2VycyI6MS4wLCJtb2JpbGVfdHJhZGluZ193ZWIiOjEuMCwibW9iaWxlX3RyYWRpbmdfaW9zIjoxLjAsIm1vYmlsZV90cmFkaW5nX2FuZHJvaWQiOjEuMCwiY29udGludW91c19mcm9udF9jb250cmFjdF90cmFkaW5nIjoxLjAsInRyYWRpbmdfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsInJlc3RfcmVxdWVzdF9zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9hdXRoMl9jb2RlX2Zsb3dfcHJvdmlkZXJfc2VydmVyX2xvZ2dlciI6MS4wLCJyZXN0X29hdXRoMl9jb2RlX2Zsb3dfbXVsdGlwbGV4aW5nIjoxLjAsInJlc3RfbG9nb3V0X29uXzQyOSI6MS4wLCJyZXZpZXdfcG9wdXBfb25fY2hhcnQiOjEuMCwic2hvd19jb25jdXJyZW50X2Nvbm5lY3Rpb25fd2FybmluZyI6MS4wLCJlbmFibGVfdHJhZGluZ19zZXJ2ZXJfbG9nZ2VyIjoxLjAsIm9yZGVyX3ByZXNldHMiOjEuMCwib3JkZXJfdGlja2V0X3Jlc2l6YWJsZV9kcmF3ZXJfb24iOjEuMCwicmVzdF91c2VfYXN5bmNfbWFwcGVyIjoxLjAsInBhcGVyX2NvbXBldGl0aW9uX2Jhbm5lcl9zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9zdGFydGVkX2RpYWxvZ19zaG93X3BybyI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9sZWFkZXJib2FyZCI6MS4wLCJwYXBlcl9jb21wZXRpdGlvbl9wcmV2aW91c19jb21wZXRpdGlvbnMiOjEuMCwiYW1wX29hdXRoX2F1dGhvcml6YXRpb24iOjEuMCwiYmx1ZWxpbmVfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJkb3JtYW5fb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJpcm9uYmVhbV9vYXV0aF9hdXRob3JpemF0aW9uIjoxLjAsIm9wdGltdXNfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJzdG9uZXhfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ5bGdfb2F1dGhfYXV0aG9yaXphdGlvbiI6MS4wLCJ0cmFkaW5nX2dlbmVyYWxfZXZlbnRzX2dhX3RyYWNraW5nIjoxLjAsInJlcGxheV9yZXN1bHRfc2hhcmluZyI6MS4wLCJyZXBsYXlfdHJhZGluZ19icmFja2V0cyI6MS4wLCJoaWRlX2FsbF9icm9rZXJzX2J1dHRvbl9pbl9pb3NfYXBwIjoxLjAsImZvcmNlX21heF9hbGxvd2VkX3B1bGxpbmdfaW50ZXJ2YWxzIjoxLjAsInBhcGVyX2RlbGF5X3RyYWRpbmciOjEuMCwiZW5hYmxlX2ZpcnN0X3RvdWNoX2lzX3NlbGVjdGlvbiI6MS4wLCJjbGVhcl9wcm9qZWN0X29yZGVyX29uX29yZGVyX3RpY2tldF9jbG9zZSI6MS4wLCJlbmFibGVfbmV3X2JlaGF2aW9yX29mX2NvbmZpcm1fYnV0dG9uc19vbl9tb2JpbGUiOjEuMCwicmVuZXdfdG9rZW5fcHJlZW1wdGlvbl8zMCI6MS4wLCJkb19ub3Rfb3Blbl9vdF9mcm9tX3BsdXNfYnV0dG9uIjoxLjAsImJyb2tlcl9zaWRlX3Byb21vdGlvbiI6MS4wLCJlbmFibGVfbmV3X3RyYWRpbmdfbWVudV9zdHJ1Y3R1cmUiOjEuMCwicXVpY2tfdHJhZGluZ19wYW5lbCI6MS4wLCJwYXBlcl9vcmRlcl9jb25maXJtYXRpb25fZGlhbG9nIjoxLjAsInBhcGVyX211bHRpcGxlX2xldmVsc19lbmFibGVkIjoxLjAsInBhcGVyX21hcmdpbl9jb250cm9sIjoxLjAsImVuYWJsZV9zZWdtZW50YXRpb25fcGFwZXJfdHJhZGluZyI6MS4wLCJlbmFibGVfY2hhcnRfYWRhcHRpdmVfdHBzbF9idXR0b25zX29uX21vYmlsZSI6MS4wLCJlbmFibGVfbWFya2V0X3Byb2plY3Rfb3JkZXIiOjEuMCwiZW5hYmxlX3N5bWJvbHNfcG9wdWxhcml0eV9zaG93aW5nIjoxLjAsImVuYWJsZV90cmFuc2xhdGlvbnNfczNfdXBsb2FkIjoxLjAsImV0Zl9mdW5kX2Zsb3dzX29ubHlfZGF5c19yZXNvbHV0aW9ucyI6MS4wLCJkaXNhYmxlX3Nub3dwbG93X3BsYXRmb3JtX2V2ZW50cyI6MS4wLCJub3RpZnlfaWRlYV9tb2RzX2Fib3V0X2ZpcnN0X3B1YmxpY2F0aW9uIjoxLjAsImVuYWJsZV93YWZfdHJhY2tpbmciOjEuMCwibmV3X2Vycm9yc19mbG93IjoxLjAsInF1b3RlLXRva2VuLWZpbHRlci1vd24tc2NyaXB0cy1ieS1hY2Nlc3MiOjEuMCwia2VlcF9pbmRpY2F0b3JzX3NlYXJjaF9zdGF0ZSI6MS4wLCJrZWVwX2luZGljYXRvcnNfdGFiX3Njcm9sbF9zdGF0ZSI6MS4wLCJjb25maWd1cmFibGVfc2VhcmNoX2FuZF9maWx0cmF0aW9uIjoxLjAsInBpbmVfZWRpdG9yX3dyYXBfb25fbGluZV9zcGxpdCI6MS4wLCJzeW1ib2xfc2VhcmNoX2NvdW50cnlfc291cmNlcyI6MS4wLCJ3YXRjaGxpc3RzX2RpYWxvZ19zY3JvbGxfdG9fYWN0aXZlIjoxLjAsImJvdHRvbV9wYW5lbF90cmFja19ldmVudHMiOjEuMCwic25vd3Bsb3dfYmVhY29uX2ZlYXR1cmUiOjEuMCwic2hvd19kYXRhX3Byb2JsZW1zX2luX2hlbHBfY2VudGVyIjoxLjAsImVuYWJsZV9hcHBsZV9kZXZpY2VfY2hlY2siOjEuMCwiZW5hYmxlX2FwcGxlX2ludHJvX29mZmVyX3NpZ25hdHVyZSI6MS4wLCJlbmFibGVfYXBwbGVfcHJvbW9fb2ZmZXJfc2lnbmF0dXJlX3YyIjoxLjAsImVuYWJsZV9hcHBsZV9wcm9tb19zaWduYXR1cmUiOjEuMCwiZW5hYmxlX3B1c2hfbm90aWZpY2F0aW9uc19hbmRyb2lkIjoxLjAsImVuYWJsZV9wdXNoX25vdGlmaWNhdGlvbnNfaW9zIjoxLjAsImVuYWJsZV9tYW50aWNvcmVfY2x1c3RlciI6MS4wLCJlbmFibGVfcHVzaHN0cmVhbV9hdXRoIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eSI6MS4wLCJlbmFibGVfZW52b3lfcHJveHlfcGFwZXJ0cmFkaW5nIjoxLjAsImVuYWJsZV9lbnZveV9wcm94eV9zY3JlZW5lciI6MS4wLCJvcHRpb25zX3JlZHVjZV9wb2xsaW5nX2ludGVydmFsIjoxLjAsIm9wdGlvbnNfYnVpbGRlcl9ncm91cF9hY3Rpb25zIjoxLjAsIm9wdGlvbnNfY2hhaW5fc2lnbWFfZmlsdGVyIjoxLjAsIm9wdGlvbnNfYnJva2VyX3N0cmF0ZWdpZXMiOjEuMCwic2hvd190b2FzdF9hYm91dF91bnJlYWRfbWVzc2FnZSI6MS4wLCJlbmFibGVfcGFydG5lcl9wYXlvdXQiOjEuMCwiZW5hYmxlX2VtYWlsX2NoYW5nZV9sb2dnaW5nIjoxLjAsImVuYWJsZV9lbWFpbF9vbl9wYXJ0bmVyX3N0YXR1c19jaGFuZ2UiOjEuMCwiZW5hYmxlX3BhcnRuZXJfcHJvZ3JhbV9hcHBseSI6MS4wLCJlbmFibGVfcGFydG5lcl9wcm9ncmFtIjoxLjAsImNvbXByZXNzX2NhY2hlX2RhdGEiOjEuMCwibmV3c19lbmFibGVfc3RyZWFtaW5nIjoxLjAsIm5ld3Nfc2NyZWVuZXJfcGFnZV9jbGllbnQiOjEuMCwiZW5hYmxlX2RlY2xhcmF0aW9uX3BvcHVwX29uX2xvYWQiOjEuMCwic2hvd19kYXRhX2JvbmRzX2ZyZWVfdXNlcnMiOjEuMCwiZW5hYmxlX21vZGVybl9yZW5kZXJfbW9kZSI6MS4wLCJlbmFibGVfcHJvZl9wb3B1cF9mcmVlIjoxLjAsImlvc19hcHBfbmV3c19hbmRfbWluZHMiOjEuMCwiZG9fbm90X2Rpc2Nsb3NlX3Bob25lX29jY3VwYW5jeSI6MS4wLCJlbmFibGVfcmVkaXJlY3RfdG9fd2lkZ2V0X2RvY3VtZW50YXRpb25fb2ZfYW55X2xvY2FsaXphdGlvbiI6MS4wLCJuZXdzX2VuYWJsZV9zdHJlYW1pbmdfaGliZXJuYXRpb24iOjEuMCwibmV3c19zdHJlYW1pbmdfaGliZXJuYXRpb25fZGVsYXlfMTBtaW4iOjEuMCwicGFzc19yZWNvdmVyeV9zZWFyY2hfaGlkZV9pbmZvIjoxLjAsIm5ld3NfZW5hYmxlX3N0cmVhbWluZ19vbl9zY3JlZW5lciI6MS4wLCJlbmFibGVfZm9yY2VkX2VtYWlsX2NvbmZpcm1hdGlvbiI6MS4wLCJzaG93X2dpZnRfYnV0dG9uIjoxLjAsImFkZHJlc3NfdmFsaWRhdGlvbl9lbmFibGVkIjoxLjAsImRpc2FibGVfdW52ZXJpZmllZF9hZGRyZXNzIjoxLjAsImdlbmVyYXRlX2ludm9pY2VfbnVtYmVyX2J5X2NvdW50cnkiOjEuMCwic2hvd19mYXZvcml0ZV9sYXlvdXRzIjoxLjAsImVuYWJsZV9zb2NpYWxfYXV0aF9jb25maXJtYXRpb24iOjEuMCwiZW5hYmxlX2FkX2Jsb2NrX2RldGVjdCI6MS4wLCJ0dmRfbmV3X3RhYl9saW5raW5nIjoxLjAsInR2ZF90aW1lX2FuZF9kYXRlX3JhbmdlX2xpbmtpbmciOjEuMCwidXNlX2Jyb3dzZXJfc2Vzc2lvbl9zdG9yYWdlIjoxLjAsInVzZV9kZXNrdG9wX3Nlc3Npb25fc3RvcmFnZSI6MS4wLCJ3cm9uZ19hY2NvdW50X2RpYWxvZ19wcmltYXJ5X3N3aXRjaCI6MS4wLCJlbmFibGVfbGluZ3VhX2xhbmdfY2hlY2siOjEuMCwiZ2V0X3NhdmVkX2FjdGl2ZV9saXN0X2JlZm9yZV9nZXR0aW5nX2FsbF9saXN0cyI6MS4wLCJ3YXRjaGxpc3RfYWRkX3NvdXJjZV9wYXJhbSI6MS4wLCJzaG93X3JlZmVycmFsX25vdGlmaWNhdGlvbl9kaWFsb2ciOjEuMCwic2V0X25ld19ibGFja19jb2xvciI6MS4wLCJuZXdzX3VzZV9uZXdzX21lZGlhdG9yIjoxLjAsImFsbG93X3RyYWlsaW5nX3doaXRlc3BhY2VfaW5fbnVtYmVyX3Rva2VuIjoxLjAsInJlc3RyaWN0X3B3bmVkX3Bhc3N3b3JkX3NldCI6MS4wLCJub3RpZl9zZXR0aW5nc19lbmFibGVfbmV3X3N0b3JlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3dyaXRlIjoxLjAsIm5vdGlmX3NldHRpbmdzX2Rpc2FibGVfb2xkX3N0b3JlX3JlYWQiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGsiOjEuMCwiY2hlY2tvdXQtZW5hYmxlLXJpc2tzZGstZm9yLWluaXRpYWwtcHVyY2hhc2UiOjEuMCwiZW5hYmxlX21ldGFkZWZlbmRlcl9jaGVja19mb3JfYWdyZWVtZW50IjoxLjAsInNob3dfZG93bmxvYWRfeWllbGRfY3VydmVzX2RhdGEiOjEuMCwibW92ZV9rZXlfdGVub3JzX3RvX3NldHRpbmdzIjoxLjAsInNob3dfeWllbGRfY3VydmVzX21hcCI6MS4wLCJkaXNhYmxlX3dpZGdldGJhcl9pbl9hcHBzIjoxLjAsImhpZGVfcHVibGljYXRpb25zX29mX2Jhbm5lZF91c2VycyI6MS4wLCJlbmFibGVfc3VtbWFyeV91cGRhdGVzX2Zyb21fY2hhcnRfc2Vzc2lvbiI6MS4wLCJzaG93X25ld3NfZmxvd190b29sX3JpZ2h0X2JhciI6MS4wLCJlbmFibGVfY2hhcnRfc2F2aW5nX3N0YXRzIjoxLjAsImVuYWJsZV9zYXZpbmdfc2FtZV9jaGFydF9yYXRlX2xpbWl0IjoxLjAsIm5ld3NfYWxlcnRzX2VuYWJsZWQiOjEuMCwibmV3c19tdWx0aXBsZV9hbGVydHNfZW5hYmxlZCI6MS4wLCJyZWZ1bmRfdW52b2lkYWJsZV9jb3Vwb25zX2VuYWJsZWQiOjEuMCwiZW5hYmxlX3Nub3dwbG93X2VtYWlsX3RyYWNraW5nIjoxLjAsIm5ld3NfZW5hYmxlX3NlbnRpbWVudCI6MS4wLCJ1c2VfaW5fc3ltYm9sX3NlYXJjaF9vcHRpb25zX21jeF9leGNoYW5nZSI6MS4wLCJlbmFibGVfdXNlcnNldHRpbmdzX3N5bWJvbHNfcGVyX3Jvd19zb2Z0X2xpbWl0IjowLjEsImZvcmJpZF9sb2dpbl93aXRoX3B3bmVkX3Bhc3N3b3JkcyI6MS4wLCJkZWJ1Z19nZXRfdGVzdF9iYXJzX2RhdGEiOjEuMCwibmV3c191c2VfbWVkaWF0b3Jfc3RvcnkiOjEuMCwibmV3c19mbG93X3JlY29uZmlndXJlX2ZpbHRlcnMiOjEuMCwiYmxhY2tfZnJpZGF5X2VuYWJsZV9za2lwX3RvX3BheW1lbnQiOjEuMCwiaGlkZV90cmFkaW5nX2J1dHRvbl9vbl9ib3R0b21fcGFuZWxfYW5kX3JlcGxheV90YWIiOjEuMCwiaGlkZV90cmFkZV9idXR0b25faGludF9pbl9oZWFkZXJfdG9vbGJhciI6MS4wLCJoaWRlX3NlZV9vbl9zdXBlcl9jaGFydHNfYnV0dG9uIjoxLjAsImhpZGVfc3ltYm9sX3BhZ2VfY2hhcnRfdHlwZV9zd2l0Y2hlciI6MS4wLCJkaXNhYmxlX2NoYXRfc3BhbV9wcm90ZWN0aW9uX2Zvcl9wcmVtaXVtX3VzZXJzIjoxLjAsImRpc2FibGVfcHVibGljX3BpbmVfc2NyaXB0X3B1Ymxpc2hfbGltaXRzIjoxLjAsIm1ha2VfdHJhZGluZ19wYW5lbF9jb250ZXh0dWFsX3RhYiI6MS4wLCJyZWNvbm5lY3RfZ2Fpbl9zZXNzaW9uX29uX2xzX2Vycm9yIjoxLjAsImNoZWNrb3V0LWZsb3ctcGF5bWVudHMiOjEuMCwiZm9yY2VfdG9fY29tcGxldGVfa3ljIjoxLjAsImluZGlhX2V4Y2x1ZGVfYnJhaW50cmVlX3RhYiI6MS4wLCJtYWNyb19tYXBzX2hpZGVfdG9vbHRpcF9jaGFydF9idXR0b24iOjEuMCwiZm9yY2Vfa3ljX2Zvcl9ub25wcm9fcHVyY2hhc2VfYnlfY29tbWVyY2lhbCI6MS4wLCJzaG93X3NwbGl0X3BhbmVsX2Z1bGxzY3JlZW5fYnV0dG9uIjoxLjAsInNob3dfc3BsaXRfcGFuZWxfbW92ZV9idXR0b25fdG9fdGl0bGUiOjEuMCwib3JkZXJfcHJlc2V0c19jcnVkX3N0b3JhZ2UiOjEuMCwib3JkZXJfcHJlc2V0c19yZW1vdmVfZnJvbV90dl9zZXR0aW5ncyI6MS4wLCJjaGVja291dC1mbG93LXRyaWFsIjoxLjAsImNoZWNrb3V0LWZsb3ctZ29vZ2xlcGF5IjoxLjAsImNoZWNrb3V0LWZsb3ctYXBwbGVwYXkiOjEuMCwiY2hlY2tvdXQtZmxvdy1wYXlwYWwiOjEuMCwiZm9yYmlkX3NpZ251cF93aXRoX2Zha2VfZ21haWxfZG9tYWlucyI6MS4wLCJzaG93X2ltcG9ydF9mcm9tX3BhcGVyX3RyYWRpbmdfYnV0dG9uIjoxLjAsInN5bWJvbF9zZWFyY2hfZ3JvdXBpbmciOjEuMCwiY2hlY2tvdXQtZmxvdy1nb29nbGVwYXktdHJpYWwiOjEuMCwiY2hlY2tvdXQtZmxvdy1hcHBsZXBheS10cmlhbCI6MS4wLCJjaGVja291dC1mbG93LXBheXBhbC10cmlhbCI6MS4wLCJ2b2lkX25vdF9mb3VuZF9ja29fcGF5bWVudF9pbl9hcHByb3ZlZF93ZWJob29rIjoxLjAsInNob3dfcGFuZWxfY29sbGFwc2VfYnV0dG9uIjoxLjAsImRlbGF5X3N0YXR1c19vbl9sYXN0X2JhciI6MC41fTsKCgl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307CgoJd2luZG93LmluaXREYXRhLmlkY19leGNoYW5nZXNfbGlzdCA9IFsibnp4IiwiYm1lIiwiYm1lX3N0b2NrcyIsInNoZmUiLCJzenNlIiwibmFnIiwidGZ4IiwidHdzZSIsImJ2YyIsImJ2Y3YiLCJibXYiLCJidm10IiwiYnZsIiwiYmNzIiwic2l4IiwiYnNzZSIsImJhaHJhaW4iLCJiZWxleCIsIm5zZWtlIiwicXNlIl07CgoJCXdpbmRvdy5sb2NhbGVfZG9tYWlucyA9IHsiZW4iOiJ3d3cudHJhZGluZ3ZpZXcuY29tIiwiYXJfQUUiOiJhci50cmFkaW5ndmlldy5jb20iLCJiciI6ImJyLnRyYWRpbmd2aWV3LmNvbSIsImRlX0RFIjoiZGUudHJhZGluZ3ZpZXcuY29tIiwiZXMiOiJlcy50cmFkaW5ndmlldy5jb20iLCJmciI6ImZyLnRyYWRpbmd2aWV3LmNvbSIsImhlX0lMIjoiaWwudHJhZGluZ3ZpZXcuY29tIiwiaWQiOiJpZC50cmFkaW5ndmlldy5jb20iLCJpbiI6ImluLnRyYWRpbmd2aWV3LmNvbSIsIml0IjoiaXQudHJhZGluZ3ZpZXcuY29tIiwiamEiOiJqcC50cmFkaW5ndmlldy5jb20iLCJrciI6ImtyLnRyYWRpbmd2aWV3LmNvbSIsIm1zX01ZIjoibXkudHJhZGluZ3ZpZXcuY29tIiwicGwiOiJwbC50cmFkaW5ndmlldy5jb20iLCJydSI6InJ1LnRyYWRpbmd2aWV3LmNvbSIsInRoX1RIIjoidGgudHJhZGluZ3ZpZXcuY29tIiwidHIiOiJ0ci50cmFkaW5ndmlldy5jb20iLCJ2aV9WTiI6InZuLnRyYWRpbmd2aWV3LmNvbSIsInpoX0NOIjoiY24udHJhZGluZ3ZpZXcuY29tIiwiemhfVFciOiJ0dy50cmFkaW5ndmlldy5jb20iLCJjYV9FUyI6ImVzLnRyYWRpbmd2aWV3LmNvbSJ9OwoKCQkJd2luZG93Ll9faW5pdGlhbEVuYWJsZWRGZWF0dXJlc2V0cyA9IHdpbmRvdy5fX2luaXRpYWxFbmFibGVkRmVhdHVyZXNldHMgfHwgW107CgkJCQl3aW5kb3cuX19pbml0aWFsRW5hYmxlZEZlYXR1cmVzZXRzLnB1c2goJ3dpZGdldCcpOwoKCQl3aW5kb3cuVHJhZGluZ1ZpZXcgPSB3aW5kb3cuVHJhZGluZ1ZpZXcgfHwge307Cjwvc2NyaXB0PgoKCTxzY3JpcHQgbm9uY2U9Inp1cmFKWWRiMnpabEphOWJQcEMvSHc9PSI+dmFyIGVudmlyb25tZW50ID0gImJhdHRsZSI7CgkJd2luZG93LkJVSUxEX1RJTUUgPSAiMjAyNi0wNy0yNFQxMTo0MDowOCI7CgkJd2luZG93LldFQlNPQ0tFVF9IT1NUID0gIndpZGdldGRhdGEudHJhZGluZ3ZpZXcuY29tIjsKCQl3aW5kb3cuV0VCU09DS0VUX0hPU1RfRk9SX1JFQ09OTkVDVCA9ICJ3aWRnZXRkYXRhLWJhY2t1cC50cmFkaW5ndmlldy5jb20iOwoJCXdpbmRvdy51c2VyID0geyd1c2VybmFtZSc6ICdHdWVzdCcsICdmb2xsb3dpbmcnOiAnMCcsICdmb2xsb3dlcnMnOiAnMCcsICdpZ25vcmVfbGlzdCc6IHt9LCAnZG9fbm90X3RyYWNrJzogdHJ1ZX07PC9zY3JpcHQ+Cgk8c2NyaXB0IG5vbmNlPSJ6dXJhSllkYjJ6WmxKYTliUHBDL0h3PT0iPmxldCBwYXJhbXMgPSB7fTsKCQkJY29uc3QgaHR0cFJlZyA9IG5ldyBSZWdFeHAoJ15odHRwKHMpPzovLycpOwoKCQkJdHJ5IHsKCQkJCXBhcmFtcyA9IEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpKSk7CgkJCX0gY2F0Y2ggKGUpIHsKCQkJCXBhcmFtcyA9IHt9OwoJCQl9CgoJCQl3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1MgPSB7CgkJCQknd3NfYW5jZXN0b3Jfb3JpZ2luJzogd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucyAmJiB3aW5kb3cubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zLmxlbmd0aCA/IHdpbmRvdy5sb2NhdGlvbi5hbmNlc3Rvck9yaWdpbnNbd2luZG93LmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucy5sZW5ndGggLSAxXS5yZXBsYWNlKGh0dHBSZWcsICcnKSA6IG51bGwsCgkJCQknd3NfcGFnZV91cmknOiBwYXJhbXNbJ3BhZ2UtdXJpJ10sCgkJCX07KCgpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSx0PSExKXtjb25zdHtzZWFyY2hQYXJhbXM6bn09bmV3IFVSTChTdHJpbmcobG9jYXRpb24pKTtsZXQgcz0idHJ1ZSI9PT1uLmdldCgibW9iaWxlYXBwX25ldyIpLG89InRydWUiPT09bi5nZXQoIm1vYmlsZWFwcCIpO2lmKCF0KXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZSsiPSIsbj1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl7bGV0IHM9bltlXTtmb3IoOyIgIj09PXMuY2hhckF0KDApOylzPXMuc3Vic3RyaW5nKDEscy5sZW5ndGgpO2lmKDA9PT1zLmluZGV4T2YodCkpcmV0dXJuIHMuc3Vic3RyaW5nKHQubGVuZ3RoLHMubGVuZ3RoKX1yZXR1cm4gbnVsbH0oInR2X2FwcCIpfHwiIjtzfHw9WyJhbmRyb2lkIiwiYW5kcm9pZF9ucHMiXS5pbmNsdWRlcyhlKSxvfHw9ImlvcyI9PT1lfXJldHVybiEoIm5ldyIhPT1lJiYiYW55IiE9PWV8fCFzKXx8ISgibmV3Ij09PWV8fCFvKX1jb25zdCB0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixuPXQmJiJvbnRvdWNoc3RhcnQiaW4gd2luZG93LHM9KHQmJm4mJndpbmRvdyx0JiYobnx8bmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzKSx0JiZ3aW5kb3cuY2hyb21lJiZ3aW5kb3cuY2hyb21lLnJ1bnRpbWUsdCYmd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94IiksdCYmL1xzRWRnZVwvXGRcZFxiLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHQmJkJvb2xlYW4obmF2aWdhdG9yLnZlbmRvcikmJm5hdmlnYXRvci52ZW5kb3IuaW5kZXhPZigiQXBwbGUiKT4tMSYmLTE9PT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIkNyaU9TIikmJm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiRnhpT1MiKSx0JiYvbWFjL2kudGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLHQmJi9XaW4zMnxXaW42NC9pLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSx0JiYvTGludXgvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSxvPXQmJi9CbGFja0JlcnJ5L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxpPXQmJi9pUGhvbmV8aVBhZHxpUG9kLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkscj10JiYvT3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksYz10JiYoIk1hY0ludGVsIj09PW5hdmlnYXRvci5wbGF0Zm9ybSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjF8fC9pUGFkLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpLGE9c3x8b3x8aXx8cjtjb25zdCBfPW5ldyBNYXA7ZnVuY3Rpb24gZCgpe2NvbnN0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHQ9d2luZG93LmxvY2F0aW9uLmhvc3Qsbj1gJHt0fSR7ZX1gO3JldHVybiBfLmhhcyhuKXx8Xy5zZXQobixmdW5jdGlvbihlLHQpe2NvbnN0IG49WyJed2lkZ2V0LWRvY3MiXTtmb3IoY29uc3QgZSBvZiBuKWlmKG5ldyBSZWdFeHAoZSkudGVzdCh0KSlyZXR1cm4hMDtjb25zdCBzPVsiXndpZGdldGVtYmVkLz8kIiwiXmNtZXdpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS93aWRnZXRlbWJlZC8/JCIsIl4oWzAtOWEtekEtWi1dKykvd2lkZ2V0c3RhdGljLz8kIiwiXihbMC05YS16QS1aLV0rKT8vP21lZGl1bXdpZGdldGVtYmVkLz8kIiwiXnR3aXR0ZXItY2hhcnQvPyQiLCJedGVsZWdyYW0vY2hhcnQvPyQiLCJeZW1iZWQvKFswLTlhLXpBLVpdezh9KS8/JCIsIl53aWRnZXRwb3B1cC8/JCIsIl5leHRlbnNpb24vPyQiLCJeaWRlYS1wb3B1cC8/JCIsIl5ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXihbMC05YS16QS1aLV0rKS9ob3RsaXN0c3dpZGdldGVtYmVkLz8kIiwiXm1hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL21hcmtldG92ZXJ2aWV3d2lkZ2V0ZW1iZWQvPyQiLCJeZXZlbnRzd2lkZ2V0ZW1iZWQvPyQiLCJedGlja2Vyc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4Y3Jvc3NyYXRlc3dpZGdldGVtYmVkLz8kIiwiXmZvcmV4aGVhdG1hcHdpZGdldGVtYmVkLz8kIiwiXm1hcmtldHF1b3Rlc3dpZGdldGVtYmVkLz8kIiwiXnNjcmVlbmVyd2lkZ2V0Lz8kIiwiXmNyeXB0b21rdHNjcmVlbmVyd2lkZ2V0Lz8kIiwiXihbMC05YS16QS1aLV0rKS9jcnlwdG9ta3RzY3JlZW5lcndpZGdldC8/JCIsIl4oWzAtOWEtekEtWi1dKykvbWFya2V0cXVvdGVzd2lkZ2V0ZW1iZWQvPyQiLCJedGVjaG5pY2FsLWFuYWx5c2lzLXdpZGdldC1lbWJlZC8kIiwiXnNpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeKFswLTlhLXpBLVotXSspL3NpbmdsZXF1b3Rld2lkZ2V0ZW1iZWQvPyQiLCJeZW1iZWQtd2lkZ2V0LyhbMC05YS16QS1aLV0rKS8oKFswLTlhLXpBLVotXSspLyk/JCIsIl53aWRnZXQtZG9jcy8oWzAtOWEtekEtWi1dKykvKFswLTlhLXpBLVotL10rKT8kIl0sbz1lLnJlcGxhY2UoL15cLy8sIiIpO2xldCBpO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS0tKWlmKGk9bmV3IFJlZ0V4cChzW2VdKSxpLnRlc3QobykpcmV0dXJuITA7cmV0dXJuITF9KGUsdCkpLF8uZ2V0KG4pPz8hMX1jb25zdCBoPXdpbmRvdy5UcmFkaW5nVmlldz13aW5kb3cuVHJhZGluZ1ZpZXd8fHt9O2NvbnN0IGw9e0FuZHJvaWQ6KCk9PnMsQmxhY2tCZXJyeTooKT0+byxpT1M6KCk9PmksT3BlcmE6KCk9PnIsaXNJUGFkOigpPT5jLGFueTooKT0+YX07aC5pc01vYmlsZT1sLGgub25XaWRnZXQ9ZDtjb25zdCB1PSgpPT57fSxnPSJ+bX4iO2NsYXNzIG17Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLnNlc3Npb25pZD1udWxsLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuX3RpbWVvdXQ9bnVsbCx0aGlzLl9iYXNlPWUsdGhpcy5fb3B0aW9ucz17dGltZW91dDp0LnRpbWVvdXR8fDJlNCxjb25uZWN0aW9uVHlwZTp0LmNvbm5lY3Rpb25UeXBlLGFwaUtleTp0LmFwaUtleX19Y29ubmVjdCgpe3RoaXMuX3NvY2tldD1uZXcgV2ViU29ja2V0KHRoaXMuX3ByZXBhcmVVcmwoKSksCnRoaXMuX3NvY2tldC5vbm1lc3NhZ2U9ZT0+e2lmKCJzdHJpbmciIT10eXBlb2YgZS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBXZWJTb2NrZXQgbWVzc2FnZSBzaG91bGQgYmUgYSBzdHJpbmcuIFJlY2lldmVkICR7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUuZGF0YSl9YCk7dGhpcy5fb25EYXRhKGUuZGF0YSl9LHRoaXMuX3NvY2tldC5vbmNsb3NlPXRoaXMuX29uQ2xvc2UuYmluZCh0aGlzKSx0aGlzLl9zb2NrZXQub25lcnJvcj10aGlzLl9vbkVycm9yLmJpbmQodGhpcyl9c2VuZChlKXt0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5zZW5kKHRoaXMuX2VuY29kZShlKSl9ZGlzY29ubmVjdCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub25tZXNzYWdlPXUsdGhpcy5fc29ja2V0Lm9uY2xvc2U9dSx0aGlzLl9zb2NrZXQub25lcnJvcj11LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fY2xlYXJJZGxlVGltZW91dCgpe251bGwhPT10aGlzLl90aW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpLHRoaXMuX3RpbWVvdXQ9bnVsbCl9X2VuY29kZShlKXtsZXQgdCxuPSIiO2NvbnN0IHM9QXJyYXkuaXNBcnJheShlKT9lOltlXSxvPXMubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bztlKyspdD1udWxsPT09c1tlXXx8dm9pZCAwPT09c1tlXT8iIjptLl9zdHJpbmdpZnkoc1tlXSksbis9Zyt0Lmxlbmd0aCtnK3Q7cmV0dXJuIG59X2RlY29kZShlKXtjb25zdCB0PVtdO2xldCBuLHM7ZG97aWYoZS5zdWJzdHJpbmcoMCwzKSE9PWcpcmV0dXJuIHQ7bj0iIixzPSIiO2NvbnN0IG89KGU9ZS5zdWJzdHJpbmcoMykpLmxlbmd0aDtmb3IobGV0IHQ9MDt0PG87dCsrKXtpZihzPU51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpLE51bWJlcihlLnN1YnN0cmluZyh0LHQrMSkpIT09cyl7ZT1lLnN1YnN0cmluZyhuLmxlbmd0aCszKSxuPU51bWJlcihuKTticmVha31uKz1zfXQucHVzaChlLnN1YnN0cmluZygwLG4pKSxlPWUuc3Vic3RyaW5nKG4pfXdoaWxlKCIiIT09ZSk7cmV0dXJuIHR9X29uRGF0YShlKXt0aGlzLl9zZXRUaW1lb3V0KCk7Y29uc3QgdD10aGlzLl9kZWNvZGUoZSksbj10Lmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXRoaXMuX29uTWVzc2FnZSh0W2VdKX1fc2V0VGltZW91dCgpe3RoaXMuX2NsZWFySWRsZVRpbWVvdXQoKSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQodGhpcy5fb25UaW1lb3V0LmJpbmQodGhpcyksdGhpcy5fb3B0aW9ucy50aW1lb3V0KX1fb25UaW1lb3V0KCl7dGhpcy5kaXNjb25uZWN0KCksdGhpcy5fb25EaXNjb25uZWN0KHtjb2RlOjRlMyxyZWFzb246InNvY2tldC5pbyB0aW1lb3V0Iix3YXNDbGVhbjohMX0pfV9vbk1lc3NhZ2UoZSl7dGhpcy5zZXNzaW9uaWQ/dGhpcy5fY2hlY2tJZkhlYXJ0YmVhdChlKT90aGlzLl9vbkhlYXJ0YmVhdChlLnNsaWNlKDMpKTp0aGlzLl9jaGVja0lmSnNvbihlKT90aGlzLl9iYXNlLm9uTWVzc2FnZShKU09OLnBhcnNlKGUuc2xpY2UoMykpKTp0aGlzLl9iYXNlLm9uTWVzc2FnZShlKToodGhpcy5zZXNzaW9uaWQ9ZSx0aGlzLl9vbkNvbm5lY3QoKSl9X2NoZWNrSWZIZWFydGJlYXQoZSl7cmV0dXJuIHRoaXMuX2NoZWNrTWVzc2FnZVR5cGUoZSwiaCIpfV9jaGVja0lmSnNvbihlKXtyZXR1cm4gdGhpcy5fY2hlY2tNZXNzYWdlVHlwZShlLCJqIil9X2NoZWNrTWVzc2FnZVR5cGUoZSx0KXtyZXR1cm4gZS5zdWJzdHJpbmcoMCwzKT09PSJ+Iit0KyJ+In1fb25IZWFydGJlYXQoZSl7dGhpcy5zZW5kKCJ+aH4iK2UpfV9vbkNvbm5lY3QoKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLl9iYXNlLm9uQ29ubmVjdCgpfV9vbkRpc2Nvbm5lY3QoZSl7dGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLm9uRGlzY29ubmVjdChlKSx0aGlzLnNlc3Npb25pZD1udWxsfV9jbGVhcigpe3RoaXMuY29ubmVjdGVkPSExfV9wcmVwYXJlVXJsKCl7Y29uc3QgdD1rKHRoaXMuX2Jhc2UuaG9zdCk7aWYodC5wYXRobmFtZSs9InNvY2tldC5pby93ZWJzb2NrZXQiLHQucHJvdG9jb2w9IndzczoiLHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiZnJvbSIsd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEsNTApKSx0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImRhdGUiLHdpbmRvdy5CVUlMRF9USU1FfHwiIiksZSgiYW55IikmJnQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiY2xpZW50IiwibW9iaWxlIiksdGhpcy5fb3B0aW9ucy5jb25uZWN0aW9uVHlwZSYmdC5zZWFyY2hQYXJhbXMuYXBwZW5kKCJ0eXBlIix0aGlzLl9vcHRpb25zLmNvbm5lY3Rpb25UeXBlKSx3aW5kb3cuV0VCU09DS0VUX1BBUkFNU19BTkFMWVRJQ1Mpe2NvbnN0e3dzX3BhZ2VfdXJpOmUsd3NfYW5jZXN0b3Jfb3JpZ2luOm59PXdpbmRvdy5XRUJTT0NLRVRfUEFSQU1TX0FOQUxZVElDUztlJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoInBhZ2UtdXJpIixlKSxuJiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFuY2VzdG9yLW9yaWdpbiIsbil9Y29uc3Qgbj13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluY2x1ZGVzKCJ3aWRnZXRfdG9rZW4iKXx8d2luZG93LmxvY2F0aW9uLmhhc2guaW5jbHVkZXMoIndpZGdldF90b2tlbiIpO3JldHVybiBkKCl8fG58fHQuc2VhcmNoUGFyYW1zLmFwcGVuZCgiYXV0aCIsInNlc3Npb25pZCIpLHZvaWQgMCE9PXRoaXMuX29wdGlvbnMuYXBpS2V5JiZ0LnNlYXJjaFBhcmFtcy5hcHBlbmQoImFwaV9rZXkiLHRoaXMuX29wdGlvbnMuYXBpS2V5KSx0LmhyZWZ9X29uQ2xvc2UoZSl7dGhpcy5fY2xlYXJJZGxlVGltZW91dCgpLHRoaXMuX29uRGlzY29ubmVjdChlKX1fb25FcnJvcihlKXt0aGlzLl9jbGVhcklkbGVUaW1lb3V0KCksdGhpcy5fY2xlYXIoKSx0aGlzLl9iYXNlLmVtaXQoImVycm9yIixbZV0pLHRoaXMuc2Vzc2lvbmlkPW51bGx9c3RhdGljIF9zdHJpbmdpZnkoZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk/In5qfiIrSlNPTi5zdHJpbmdpZnkoZSk6U3RyaW5nKGUpfX1jbGFzcyB3e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5ob3N0PWUsCnRoaXMuX2Nvbm5lY3Rpbmc9ITEsdGhpcy5fZXZlbnRzPXt9LHRoaXMudHJhbnNwb3J0PXRoaXMuX2dldFRyYW5zcG9ydCh0KX1pc0Nvbm5lY3RlZCgpe3JldHVybiEhdGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZH1pc0Nvbm5lY3RpbmcoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGluZ31jb25uZWN0KCl7dGhpcy5pc0Nvbm5lY3RlZCgpfHwodGhpcy5fY29ubmVjdGluZyYmdGhpcy5kaXNjb25uZWN0KCksdGhpcy5fY29ubmVjdGluZz0hMCx0aGlzLnRyYW5zcG9ydC5jb25uZWN0KCkpfXNlbmQoZSl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmNvbm5lY3RlZCYmdGhpcy50cmFuc3BvcnQuc2VuZChlKX1kaXNjb25uZWN0KCl7dGhpcy50cmFuc3BvcnQmJnRoaXMudHJhbnNwb3J0LmRpc2Nvbm5lY3QoKX1vbihlLHQpe2UgaW4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzW2VdPVtdKSx0aGlzLl9ldmVudHNbZV0ucHVzaCh0KX1vZmZBbGwoKXt0aGlzLl9ldmVudHM9e319b25NZXNzYWdlKGUpe3RoaXMuZW1pdCgibWVzc2FnZSIsW2VdKX1lbWl0KGUsdD1bXSl7aWYoZSBpbiB0aGlzLl9ldmVudHMpe2NvbnN0IG49dGhpcy5fZXZlbnRzW2VdLmNvbmNhdCgpLHM9bi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKyluW2VdLmFwcGx5KHRoaXMsdCl9fW9uQ29ubmVjdCgpe3RoaXMuY2xlYXIoKSx0aGlzLmVtaXQoImNvbm5lY3QiKX1vbkRpc2Nvbm5lY3QoZSl7dGhpcy5lbWl0KCJkaXNjb25uZWN0IixbZV0pfWNsZWFyKCl7dGhpcy5fY29ubmVjdGluZz0hMX1fZ2V0VHJhbnNwb3J0KGUpe3JldHVybiBuZXcgbSh0aGlzLGUpfX1mdW5jdGlvbiBrKGUpe2NvbnN0IHQ9LTEhPT1lLmluZGV4T2YoIi8iKT9uZXcgVVJMKGUpOm5ldyBVUkwoIndzczovLyIrZSk7aWYoIndzczoiIT09dC5wcm90b2NvbCYmImh0dHBzOiIhPT10LnByb3RvY29sKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB3ZWJzb2NrZXQgYmFzZSAiK2UpO3JldHVybiB0LnBhdGhuYW1lLmVuZHNXaXRoKCIvIil8fCh0LnBhdGhuYW1lKz0iLyIpLHQuc2VhcmNoPSIiLHQudXNlcm5hbWU9IiIsdC5wYXNzd29yZD0iIix0fXZhciBwLGI7IWZ1bmN0aW9uKGUpe2VbZS5Ob3JtYWw9MzAwXT0iTm9ybWFsIixlW2UuQWZ0ZXJDbG9zZUV2ZW50PTVlM109IkFmdGVyQ2xvc2VFdmVudCJ9KHB8fChwPXt9KSksZnVuY3Rpb24oZSl7ZVtlLkluZm89MF09IkluZm8iLGVbZS5Ob3JtYWw9MV09Ik5vcm1hbCIsZVtlLkRlYnVnPTJdPSJEZWJ1ZyIsZVtlLkVycm9yPTNdPSJFcnJvciJ9KGJ8fChiPXt9KSk7Y29uc3QgZj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmTnVtYmVyKHdpbmRvdy5URUxFTUVUUllfV1NfRVJST1JfTE9HU19USFJFU0hPTEQpfHwwO3ZhciB5OyFmdW5jdGlvbihlKXtlW2UuUGluZ0ludGVydmFsPTFlNF09IlBpbmdJbnRlcnZhbCIsZVtlLk1heFBpbmdzQ291bnQ9MTBdPSJNYXhQaW5nc0NvdW50IixlW2UuTWF4UmVkaXJlY3RzPTIwXT0iTWF4UmVkaXJlY3RzIixlW2UuTWF4UmVjb25uZWN0cz0yMF09Ik1heFJlY29ubmVjdHMifSh5fHwoeT17fSkpO2NsYXNzIFR7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLl9xdWV1ZVN0YWNrPVtdLHRoaXMuX2xvZ3NRdWV1ZT1bXSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W10sdGhpcy5fcmVjb25uZWN0Q291bnQ9MCx0aGlzLl9yZWRpcmVjdENvdW50PTAsdGhpcy5fZXJyb3JzQ291bnQ9MCx0aGlzLl9lcnJvcnNJbmZvU2VudD0hMSx0aGlzLl9jb25uZWN0aW9uU3RhcnQ9bnVsbCx0aGlzLl9jb25uZWN0aW9uRXN0YWJsaXNoZWQ9bnVsbCx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwsdGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW49bnVsbCx0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW49ITEsdGhpcy5faW5pdGlhbEhvc3Q9dC5pbml0aWFsSG9zdHx8bnVsbCx0aGlzLl9zdWdnZXN0ZWRIb3N0PWUsdGhpcy5fcHJvSG9zdD10LnByb0hvc3QsdGhpcy5fcmVjb25uZWN0SG9zdD10LnJlY29ubmVjdEhvc3QsdGhpcy5fbm9SZWNvbm5lY3RBZnRlclRpbWVvdXQ9ITA9PT10Lm5vUmVjb25uZWN0QWZ0ZXJUaW1lb3V0LHRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dD10LmRhdGFSZXF1ZXN0VGltZW91dCx0aGlzLl9jb25uZWN0aW9uVHlwZT10LmNvbm5lY3Rpb25UeXBlLHRoaXMuX2FwaUtleT10LmFwaUtleSx0aGlzLl9kb0Nvbm5lY3QoKSx0LnBpbmdSZXF1aXJlZCYmLTE9PT13aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIm5vcGluZyIpJiZ0aGlzLl9zdGFydFBpbmcoKX1jb25uZWN0KCl7dGhpcy5fdHJ5Q29ubmVjdCgpfXJlc2V0Q291bnRlcnMoKXt0aGlzLl9yZWNvbm5lY3RDb3VudD0wLHRoaXMuX3JlZGlyZWN0Q291bnQ9MH1zZXRMb2dnZXIoZSx0KXt0aGlzLl9sb2dnZXI9ZSx0aGlzLl9nZXRMb2dIaXN0b3J5PXQsdGhpcy5fZmx1c2hMb2dzKCl9c2V0VGVsZW1ldHJ5KGUpe3RoaXMuX3RlbGVtZXRyeT1lLHRoaXMuX3RlbGVtZXRyeS5yZXBvcnRTZW50LnN1YnNjcmliZSh0aGlzLHRoaXMuX29uVGVsZW1ldHJ5U2VudCksdGhpcy5fZmx1c2hUZWxlbWV0cnkoKX1vblJlY29ubmVjdChlKXt0aGlzLl9vblJlY29ubmVjdD1lfWlzQ29ubmVjdGVkKCl7cmV0dXJuISF0aGlzLl9zb2NrZXQmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpfWlzQ29ubmVjdGluZygpe3JldHVybiEhdGhpcy5fc29ja2V0JiZ0aGlzLl9zb2NrZXQuaXNDb25uZWN0aW5nKCl9b24oZSx0KXtyZXR1cm4hIXRoaXMuX3NvY2tldCYmKCJjb25uZWN0Ij09PWUmJnRoaXMuX3NvY2tldC5pc0Nvbm5lY3RlZCgpP3QoKToiZGlzY29ubmVjdCI9PT1lP3RoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MucHVzaCh0KTp0aGlzLl9zb2NrZXQub24oZSx0KSwhMCl9Z2V0U2Vzc2lvbklkKCl7cmV0dXJuIHRoaXMuX3NvY2tldCYmdGhpcy5fc29ja2V0LnRyYW5zcG9ydD90aGlzLl9zb2NrZXQudHJhbnNwb3J0LnNlc3Npb25pZDpudWxsfXNlbmQoZSl7cmV0dXJuIHRoaXMuaXNDb25uZWN0ZWQoKT8odGhpcy5fc29ja2V0LnNlbmQoZSksITApOih0aGlzLl9xdWV1ZU1lc3NhZ2UoZSksITEpfQpnZXRDb25uZWN0aW9uRXN0YWJsaXNoZWQoKXtyZXR1cm4gdGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkfWdldEhvc3QoKXtjb25zdCBlPXRoaXMuX3RyeUdldFByb0hvc3QoKTtyZXR1cm4gbnVsbCE9PWU/ZTp0aGlzLl9yZWNvbm5lY3RIb3N0JiZ0aGlzLl9yZWNvbm5lY3RDb3VudD4zP3RoaXMuX3JlY29ubmVjdEhvc3Q6dGhpcy5fc3VnZ2VzdGVkSG9zdH1nZXRSZWNvbm5lY3RDb3VudCgpe3JldHVybiB0aGlzLl9yZWNvbm5lY3RDb3VudH1nZXRSZWRpcmVjdENvdW50KCl7cmV0dXJuIHRoaXMuX3JlZGlyZWN0Q291bnR9Z2V0Q29ubmVjdGlvblN0YXJ0KCl7cmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25TdGFydH1kaXNjb25uZWN0KCl7dGhpcy5fY2xlYXJSZWNvbm5lY3RUaW1lb3V0KCksKHRoaXMuaXNDb25uZWN0ZWQoKXx8dGhpcy5pc0Nvbm5lY3RpbmcoKSkmJih0aGlzLl9wcm9wYWdhdGVEaXNjb25uZWN0KCksdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrcz1bXSx0aGlzLl9jbG9zZVNvY2tldCgpKX1mb3JiaWRDb25uZWN0aW9uKCl7dGhpcy5faXNDb25uZWN0aW9uRm9yYmlkZGVuPSEwLHRoaXMuZGlzY29ubmVjdCgpfWFsbG93Q29ubmVjdGlvbigpe3RoaXMuX2lzQ29ubmVjdGlvbkZvcmJpZGRlbj0hMSx0aGlzLmNvbm5lY3QoKX1pc01heFJlZGlyZWN0cygpe3JldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Pj0yMH1pc01heFJlY29ubmVjdHMoKXtyZXR1cm4gdGhpcy5fcmVjb25uZWN0Q291bnQ+PTIwfWdldFBpbmdJbmZvKCl7cmV0dXJuIHRoaXMuX3BpbmdJbmZvfHxudWxsfWdldEFwaUtleSgpe3JldHVybiB0aGlzLl9hcGlLZXl9X3RyeUdldFByb0hvc3QoKXtyZXR1cm4gd2luZG93LlRyYWRpbmdWaWV3JiZ3aW5kb3cuVHJhZGluZ1ZpZXcub25DaGFydFBhZ2UmJiJiYXR0bGUiPT09d2luZG93LmVudmlyb25tZW50JiYhdGhpcy5fcmVkaXJlY3RDb3VudCYmLTE9PT13aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCJ3c19ob3N0Iik/dGhpcy5faW5pdGlhbEhvc3Q/dGhpcy5faW5pdGlhbEhvc3Q6dm9pZCAwIT09d2luZG93LnVzZXImJndpbmRvdy51c2VyLnByb19wbGFuP3RoaXMuX3Byb0hvc3R8fHRoaXMuX3N1Z2dlc3RlZEhvc3Q6bnVsbDpudWxsfV9xdWV1ZU1lc3NhZ2UoZSl7MD09PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiZ0aGlzLl9sb2dNZXNzYWdlKDAsIlNvY2tldCBpcyBub3QgY29ubmVjdGVkLiBRdWV1ZWQgYSBtZXNzYWdlIiksdGhpcy5fcXVldWVTdGFjay5wdXNoKGUpfV9wcm9jZXNzTWVzc2FnZVF1ZXVlKCl7MCE9PXRoaXMuX3F1ZXVlU3RhY2subGVuZ3RoJiYodGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzaW5nIHF1ZXVlZCBtZXNzYWdlcyIpLHRoaXMuX3F1ZXVlU3RhY2suZm9yRWFjaCh0aGlzLnNlbmQuYmluZCh0aGlzKSksdGhpcy5fbG9nTWVzc2FnZSgwLCJQcm9jZXNzZWQgIit0aGlzLl9xdWV1ZVN0YWNrLmxlbmd0aCsiIG1lc3NhZ2VzIiksdGhpcy5fcXVldWVTdGFjaz1bXSl9X29uRGlzY29ubmVjdChlKXt0aGlzLl9ub1JlY29ubmVjdEFmdGVyVGltZW91dHx8bnVsbCE9PXRoaXMuX3JlY29ubmVjdFRpbWVvdXR8fCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PXNldFRpbWVvdXQodGhpcy5fdHJ5UmVjb25uZWN0LmJpbmQodGhpcyksNWUzKSksdGhpcy5fY2xlYXJPbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpO2xldCB0PSJkaXNjb25uZWN0IHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpO2UmJih0Kz0iLCBjb2RlOiIrZS5jb2RlKyIsIHJlYXNvbjoiK2UucmVhc29uLDEwMDU9PT1lLmNvZGUmJnRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9jb2RlXzEwMDUiKSksdGhpcy5fbG9nTWVzc2FnZSgwLHQpLHRoaXMuX3Byb3BhZ2F0ZURpc2Nvbm5lY3QoZSksdGhpcy5fY2xvc2VTb2NrZXQoKSx0aGlzLl9xdWV1ZVN0YWNrPVtdfV9jbG9zZVNvY2tldCgpe251bGwhPT10aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub2ZmQWxsKCksdGhpcy5fc29ja2V0LmRpc2Nvbm5lY3QoKSx0aGlzLl9zb2NrZXQ9bnVsbCl9X2xvZ01lc3NhZ2UoZSx0KXtjb25zdCBuPXttZXRob2Q6ZSxtZXNzYWdlOnR9O3RoaXMuX2xvZ2dlcj90aGlzLl9mbHVzaExvZ01lc3NhZ2Uobik6KG4ubWVzc2FnZT1gWyR7KG5ldyBEYXRlKS50b0lTT1N0cmluZygpfV0gJHtuLm1lc3NhZ2V9YCx0aGlzLl9sb2dzUXVldWUucHVzaChuKSl9X2ZsdXNoTG9nTWVzc2FnZShlKXtzd2l0Y2goZS5tZXRob2Qpe2Nhc2UgMjp0aGlzLl9sb2dnZXIubG9nRGVidWcoZS5tZXNzYWdlKTticmVhaztjYXNlIDM6dGhpcy5fbG9nZ2VyLmxvZ0Vycm9yKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAwOnRoaXMuX2xvZ2dlci5sb2dJbmZvKGUubWVzc2FnZSk7YnJlYWs7Y2FzZSAxOnRoaXMuX2xvZ2dlci5sb2dOb3JtYWwoZS5tZXNzYWdlKX19X2ZsdXNoTG9ncygpe3RoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gU3RhcnQuIn0pLHRoaXMuX2xvZ3NRdWV1ZS5mb3JFYWNoKChlPT57dGhpcy5fZmx1c2hMb2dNZXNzYWdlKGUpfSkpLHRoaXMuX2ZsdXNoTG9nTWVzc2FnZSh7bWV0aG9kOjEsbWVzc2FnZToibWVzc2FnZXMgZnJvbSBxdWV1ZS4gRW5kLiJ9KSx0aGlzLl9sb2dzUXVldWU9W119X3NlbmRUZWxlbWV0cnkoZSx0KXtjb25zdCBuPXtldmVudDplLHBhcmFtczp0fTt0aGlzLl90ZWxlbWV0cnk/dGhpcy5fZmx1c2hUZWxlbWV0cnlPYmplY3Qobik6dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLnB1c2gobil9X2ZsdXNoVGVsZW1ldHJ5T2JqZWN0KGUpe3RoaXMuX3RlbGVtZXRyeS5zZW5kQ2hhcnRSZXBvcnQoZS5ldmVudCxlLnBhcmFtcywhMSl9X2ZsdXNoVGVsZW1ldHJ5KCl7dGhpcy5fdGVsZW1ldHJ5T2JqZWN0c1F1ZXVlLmZvckVhY2goKGU9Pnt0aGlzLl9mbHVzaFRlbGVtZXRyeU9iamVjdChlKX0pKSx0aGlzLl90ZWxlbWV0cnlPYmplY3RzUXVldWU9W119X2RvQ29ubmVjdCgpewp0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQuaXNDb25uZWN0ZWQoKXx8dGhpcy5fc29ja2V0LmlzQ29ubmVjdGluZygpKXx8KHRoaXMuX2NsZWFyT25saW5lQ2FuY2VsbGF0aW9uVG9rZW4oKSx0aGlzLl9ob3N0PXRoaXMuZ2V0SG9zdCgpLHRoaXMuX3NvY2tldD1uZXcgdyh0aGlzLl9ob3N0LHt0aW1lb3V0OnRoaXMuX2RhdGFSZXF1ZXN0VGltZW91dCxjb25uZWN0aW9uVHlwZTp0aGlzLl9jb25uZWN0aW9uVHlwZSxhcGlLZXk6dGhpcy5fYXBpS2V5fSksdGhpcy5fbG9nTWVzc2FnZSgwLCJDb25uZWN0aW5nIHRvICIrdGhpcy5faG9zdCksdGhpcy5fYmluZEV2ZW50cygpLHRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3M9W10sdGhpcy5fY29ubmVjdGlvblN0YXJ0PXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX2Nvbm5lY3Rpb25Fc3RhYmxpc2hlZD1udWxsLHRoaXMuX3NvY2tldC5jb25uZWN0KCkscGVyZm9ybWFuY2UubWFyaygiU1dTQyIse2RldGFpbDoiU3RhcnQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSksdGhpcy5fc29ja2V0Lm9uKCJjb25uZWN0IiwoKCk9PntwZXJmb3JtYW5jZS5tYXJrKCJFV1NDIix7ZGV0YWlsOiJFbmQgV2ViU29ja2V0IGNvbm5lY3Rpb24ifSkscGVyZm9ybWFuY2UubWVhc3VyZSgiV2ViU29ja2V0IGNvbm5lY3Rpb24gZGVsYXkiLCJTV1NDIiwiRVdTQyIpfSkpKX1fcHJvcGFnYXRlRGlzY29ubmVjdChlKXtjb25zdCB0PXRoaXMuX2Rpc2Nvbm5lY3RDYWxsYmFja3MubGVuZ3RoO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5fZGlzY29ubmVjdENhbGxiYWNrc1tuXShlfHx7fSl9X2JpbmRFdmVudHMoKXt0aGlzLl9zb2NrZXQmJih0aGlzLl9zb2NrZXQub24oImNvbm5lY3QiLCgoKT0+e2NvbnN0IGU9dGhpcy5nZXRTZXNzaW9uSWQoKTtpZigic3RyaW5nIj09dHlwZW9mIGUpe2NvbnN0IHQ9SlNPTi5wYXJzZShlKTtpZih0LnJlZGlyZWN0KXJldHVybiB0aGlzLl9yZWRpcmVjdENvdW50Kz0xLHRoaXMuX3N1Z2dlc3RlZEhvc3Q9dC5yZWRpcmVjdCx0aGlzLmlzTWF4UmVkaXJlY3RzKCkmJnRoaXMuX3NlbmRUZWxlbWV0cnkoInJlZGlyZWN0X2JhaWxvdXQiKSx2b2lkIHRoaXMuX3JlZGlyZWN0KCl9dGhpcy5fY29ubmVjdGlvbkVzdGFibGlzaGVkPXBlcmZvcm1hbmNlLm5vdygpLHRoaXMuX3Byb2Nlc3NNZXNzYWdlUXVldWUoKSx0aGlzLl9sb2dNZXNzYWdlKDAsImNvbm5lY3Qgc2Vzc2lvbjoiK2UpfSkpLHRoaXMuX3NvY2tldC5vbigiZGlzY29ubmVjdCIsdGhpcy5fb25EaXNjb25uZWN0LmJpbmQodGhpcykpLHRoaXMuX3NvY2tldC5vbigiY2xvc2UiLHRoaXMuX29uRGlzY29ubmVjdC5iaW5kKHRoaXMpKSx0aGlzLl9zb2NrZXQub24oImVycm9yIiwoZT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCxuZXcgRGF0ZSsiIHNlc3Npb246Iit0aGlzLmdldFNlc3Npb25JZCgpKyIgd2Vic29ja2V0IGVycm9yOiIrSlNPTi5zdHJpbmdpZnkoZSkpLHRoaXMuX3NlbmRUZWxlbWV0cnkoIndlYnNvY2tldF9lcnJvciIpLHRoaXMuX2Vycm9yc0NvdW50KyssIXRoaXMuX2Vycm9yc0luZm9TZW50JiZ0aGlzLl9lcnJvcnNDb3VudD49ZiYmKHZvaWQgMCE9PXRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrJiYodGhpcy5fc2VuZFRlbGVtZXRyeSgid2Vic29ja2V0X2Vycm9yX2Nvbm5lY3Rfc3RhY2siLHt0ZXh0OnRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrfSksZGVsZXRlIHRoaXMuX2xhc3RDb25uZWN0Q2FsbFN0YWNrKSx2b2lkIDAhPT10aGlzLl9nZXRMb2dIaXN0b3J5JiZ0aGlzLl9zZW5kVGVsZW1ldHJ5KCJ3ZWJzb2NrZXRfZXJyb3JfbG9nIix7dGV4dDp0aGlzLl9nZXRMb2dIaXN0b3J5KDUwKS5qb2luKCJcbiIpfSksdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITApfSkpKX1fcmVkaXJlY3QoKXt0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLl9yZWNvbm5lY3RXaGVuT25saW5lKCl9X3RyeVJlY29ubmVjdCgpe3RoaXMuX3RyeUNvbm5lY3QoKSYmKHRoaXMuX3JlY29ubmVjdENvdW50Kz0xKX1fdHJ5Q29ubmVjdCgpe3JldHVybiF0aGlzLl9pc0Nvbm5lY3Rpb25Gb3JiaWRkZW4mJih0aGlzLl9jbGVhclJlY29ubmVjdFRpbWVvdXQoKSx0aGlzLl9sYXN0Q29ubmVjdENhbGxTdGFjaz1uZXcgRXJyb3IoYFdlYlNvY2tldCBjb25uZWN0IHN0YWNrLiBJcyBjb25uZWN0ZWQ6ICR7dGhpcy5pc0Nvbm5lY3RlZCgpfS5gKS5zdGFja3x8IiIsIXRoaXMuaXNDb25uZWN0ZWQoKSYmKHRoaXMuZGlzY29ubmVjdCgpLHRoaXMuX3JlY29ubmVjdFdoZW5PbmxpbmUoKSwhMCkpfV9jbGVhck9ubGluZUNhbmNlbGxhdGlvblRva2VuKCl7dGhpcy5fb25saW5lQ2FuY2VsbGF0aW9uVG9rZW4mJih0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbigpLHRoaXMuX29ubGluZUNhbmNlbGxhdGlvblRva2VuPW51bGwpfV9jbGVhclJlY29ubmVjdFRpbWVvdXQoKXtudWxsIT09dGhpcy5fcmVjb25uZWN0VGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLl9yZWNvbm5lY3RUaW1lb3V0KSx0aGlzLl9yZWNvbm5lY3RUaW1lb3V0PW51bGwpfV9yZWNvbm5lY3RXaGVuT25saW5lKCl7aWYobmF2aWdhdG9yLm9uTGluZSlyZXR1cm4gdGhpcy5fbG9nTWVzc2FnZSgwLCJOZXR3b3JrIHN0YXR1czogb25saW5lIC0gdHJ5aW5nIHRvIGNvbm5lY3QiKSx0aGlzLl9kb0Nvbm5lY3QoKSx2b2lkKHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpKTt0aGlzLl9sb2dNZXNzYWdlKDAsIk5ldHdvcmsgc3RhdHVzOiBvZmZsaW5lIC0gd2FpdCB1bnRpbCBvbmxpbmUiKSx0aGlzLl9vbmxpbmVDYW5jZWxsYXRpb25Ub2tlbj1mdW5jdGlvbihlKXtsZXQgdD1lO2NvbnN0IG49KCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSx0JiZ0KCl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIixuKSwoKT0+e3Q9bnVsbH19KCgoKT0+e3RoaXMuX2xvZ01lc3NhZ2UoMCwiTmV0d29yayBzdGF0dXMgY2hhbmdlZCB0byBvbmxpbmUgLSB0cnlpbmcgdG8gY29ubmVjdCIpLHRoaXMuX2RvQ29ubmVjdCgpLHRoaXMuX29uUmVjb25uZWN0JiZ0aGlzLl9vblJlY29ubmVjdCgpfSkpfQpfb25UZWxlbWV0cnlTZW50KGUpeyJ3ZWJzb2NrZXRfZXJyb3IiaW4gZSYmKHRoaXMuX2Vycm9yc0NvdW50PTAsdGhpcy5fZXJyb3JzSW5mb1NlbnQ9ITEpfV9zdGFydFBpbmcoKXtpZih0aGlzLl9waW5nSW50ZXJ2YWxJZClyZXR1cm47Y29uc3QgZT1rKHRoaXMuZ2V0SG9zdCgpKTtlLnBhdGhuYW1lKz0icGluZyIsZS5wcm90b2NvbD0iaHR0cHM6IjtsZXQgdD0wLG49MDtjb25zdCBzPWU9Pnt0aGlzLl9waW5nSW5mbz10aGlzLl9waW5nSW5mb3x8e21heDowLG1pbjoxLzAsYXZnOjB9O2NvbnN0IHM9KG5ldyBEYXRlKS5nZXRUaW1lKCktZTtzPnRoaXMuX3BpbmdJbmZvLm1heCYmKHRoaXMuX3BpbmdJbmZvLm1heD1zKSxzPHRoaXMuX3BpbmdJbmZvLm1pbiYmKHRoaXMuX3BpbmdJbmZvLm1pbj1zKSx0Kz1zLG4rKyx0aGlzLl9waW5nSW5mby5hdmc9dC9uLG4+PTEwJiZ0aGlzLl9waW5nSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5fcGluZ0ludGVydmFsSWQpLGRlbGV0ZSB0aGlzLl9waW5nSW50ZXJ2YWxJZCl9O3RoaXMuX3BpbmdJbnRlcnZhbElkPXNldEludGVydmFsKCgoKT0+e2NvbnN0IHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCksbj1uZXcgWE1MSHR0cFJlcXVlc3Q7bi5vcGVuKCJHRVQiLGUsITApLG4uc2VuZCgpLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57bi5yZWFkeVN0YXRlPT09WE1MSHR0cFJlcXVlc3QuRE9ORSYmMjAwPT09bi5zdGF0dXMmJnModCl9fSksMWU0KX19CmNvbnN0IEM9IndpZGdldF91c2VyX3Rva2VuLSIsdj1KU09OLnBhcnNlKCd7ImFkeCI6IndpZGdldF91c2VyX3Rva2VuLWFkeCIsImFkeEQiOiJ3aWRnZXRfdXNlcl90b2tlbi1hZHhEIiwiYWdlbmNpYWxibWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWdlbmNpYWxibWNvbWJyIiwiYWxqYXppcmFjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbEQiLCJhbGphemlyYWNhcGl0YWxSVCI6IndpZGdldF91c2VyX3Rva2VuLWFsamF6aXJhY2FwaXRhbFJUIiwiYWxyYWpoaWNhcGl0YWxjb21EIjoid2lkZ2V0X3VzZXJfdG9rZW4tYWxyYWpoaWNhcGl0YWxjb21EIiwiYWxyYWpoaWNhcGl0YWxjb21SVCI6IndpZGdldF91c2VyX3Rva2VuLWFscmFqaGljYXBpdGFsY29tUlQiLCJhbWJpdG8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hbWJpdG8iLCJhcmVuYXh0cm8iOiJ3aWRnZXRfdXNlcl90b2tlbi1hcmVuYXh0cm8iLCJhcnRlY2hlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tQXJ0ZWNoZUQiLCJhdGxjYXBpdGFsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYXRsY2FwaXRhbCIsImJhbmtpcm9zcnUiOiJ3aWRnZXRfdXNlcl90b2tlbi1iYW5raXJvc3J1IiwiYmJ2YWNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmJ2YWNoIiwiYmVla3Nncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWJlZWtzZ3JvdXAiLCJiZWx1Z2Fncm91cHJ1Ijoid2lkZ2V0X3VzZXJfdG9rZW4tYmVsdWdhZ3JvdXBydSIsImJpdmFjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1iaXZhY29tIiwiYmx1ZWZpZWxkIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWZpZWxkIiwiYmx1ZWxpbmVmdXR1cmVzIjoid2lkZ2V0X3VzZXJfdG9rZW4tYmx1ZWxpbmVmdXR1cmVzIiwiYm92ZXNwYSI6IndpZGdldF91c2VyX3Rva2VuLWJtZmJvdmVzcGFjb21iciIsImJ2YnJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnZicm8iLCJieXRldHJhdmVsIjoid2lkZ2V0X3VzZXJfdG9rZW4tYnl0ZXRyYXZlbCIsImNib2VjYW5hZGEiOiJ3aWRnZXRfdXNlcl90b2tlbi1jYm9lY2FuYWRhIiwiY2hhbXBpb25uYXRib3Vyc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1jaGFtcGlvbm5hdGJvdXJzZSIsImNpbmNvZGlhcyI6IndpZGdldF91c2VyX3Rva2VuLWNpbmNvZGlhcyIsImNlb2NhRCI6IndpZGdldF91c2VyX3Rva2VuLWNlb2NhRCIsImNlb2NhUlQiOiJ3aWRnZXRfdXNlcl90b2tlbi1jZW9jYVJUIiwiY21jbWFya2V0cyI6IndpZGdldF91c2VyX3Rva2VuLWNtY21hcmtldHMiLCJjb3BlZXMiOiJ3aWRnZXRfdXNlcl90b2tlbi1jb3BlZXMiLCJjc2VsayI6IndpZGdldF91c2VyX3Rva2VuLWNzZWxrIiwiZGFpbHlmeCI6IndpZGdldF91c2VyX3Rva2VuLWRhaWx5ZngiLCJkZWVwc2VhcmNoIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGVlcHNlYXJjaCIsImRlcmF5YWhjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1kZXJheWFoY29tIiwiZGZtYWVEIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGZtYWVEIiwiZGZtYWVSVCI6IndpZGdldF91c2VyX3Rva2VuLWRmbWFlUlQiLCJkaW5hcnNhRCI6IndpZGdldF91c2VyX3Rva2VuLWRpbmFyc2FEIiwiZGluYXJzYVJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tZGluYXJzYVJUIiwiZG9sYXJob3kiOiJ3aWRnZXRfdXNlcl90b2tlbi1kb2xhcmhveSIsImVhc3ludmVzdGNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWFzeW52ZXN0Y29tYnIiLCJlZGFpbHkiOiJ3aWRnZXRfdXNlcl90b2tlbi1lZGFpbHkiLCJlbGVzcGFub2xjb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1lbGVzcGFub2xjb20iLCJlbG9icmVyb2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxvYnJlcm9lcyIsImVsbmFjaW9uYWxEIjoid2lkZ2V0X3VzZXJfdG9rZW4tRWxOYWNpb25hbEQiLCJlbHBhaXNmaW5hbmNpZXJvIjoid2lkZ2V0X3VzZXJfdG9rZW4tZWxwYWlzZmluYW5jaWVybyIsImVscGVyaW9kaWNvZGVsYWVuZXJnaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1lbHBlcmlvZGljb2RlbGFlbmVyZ2lhIiwiZXVxdWVyb2ludmVzdGlyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVxdWVyb2ludmVzdGlyY29tIiwiZXVyZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1ldXJleCIsImV1cm9maW5zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb2ZpbnMiLCJlcGUiOiJ3aWRnZXRfdXNlcl90b2tlbi1lcGUiLCJldXJvcGFwcmVzc2VzIjoid2lkZ2V0X3VzZXJfdG9rZW4tZXVyb3BhcHJlc3NlcyIsImZpbmFuemFzRCI6IndpZGdldF91c2VyX3Rva2VuLUZpbmFuemFzRCIsImZvcmJlc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tZm9yYmVzY29tYnIiLCJnZW5pYWxpbnZlc3RpbWVudG9zIjoid2lkZ2V0X3VzZXJfdG9rZW4tZ2VuaWFsaW52ZXN0aW1lbnRvcyIsImhlYWx0aGl0YWxpYSI6IndpZGdldF91c2VyX3Rva2VuLWhlYWx0aGl0YWxpYSIsImhlZ25hcm5vIjoid2lkZ2V0X3VzZXJfdG9rZW4taGVnbmFybm8iLCJoaXBvdGVjYXJpb2NvbWFyIjoid2lkZ2V0X3VzZXJfdG9rZW4taGlwb3RlY2FyaW9jb21hciIsImlnY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4taWdjb20iLCJpbnZlc3RlZ2F0ZWNvdWsiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RlZ2F0ZWNvdWsiLCJpbnZlc3RvcGVkaWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnZlc3RvcGVkaWEiLCJpbnRlZ3JhbHlhdGlyaW0iOiJ3aWRnZXRfdXNlcl90b2tlbi1pbnRlZ3JhbHlhdGlyaW0iLCJpdnNncm91cCI6IndpZGdldF91c2VyX3Rva2VuLWl2c2dyb3VwIiwianNlY296YSI6IndpZGdldF91c2VyX3Rva2VuLWpzZWNvemEiLCJib2Vyc2VuemVpdHVuZyI6IndpZGdldF91c2VyX3Rva2VuLWJvZXJzZW56ZWl0dW5nIiwibGFpbmZvcm1hY2lvbmNvbSI6IndpZGdldF91c2VyX3Rva2VuLWxhaW5mb3JtYWNpb25jb20iLCJtYXJjb3BvbG9jb21iciI6IndpZGdldF91c2VyX3Rva2VuLW1hcmNvcG9sb2NvbWJyIiwibWVyY2Fkb2ZpbmFuY2llcm9jb20iOiJ3aWRnZXRfdXNlcl90b2tlbi1tZXJjYWRvZmluYW5jaWVyb2NvbSIsIm1vZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb2V4IiwibW9uZXl0aW1lc2NvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4tbW9uZXl0aW1lc2NvbWJyIiwibW9uaXRvcmRvbWVyY2Fkb0QiOiJ3aWRnZXRfdXNlcl90b2tlbi1tb25pdG9yZG9tZXJjYWRvRCIsIm15bmV0Y29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tbXluZXRjb20iLCJuZWdvY2lvcyI6IndpZGdldF91c2VyX3Rva2VuLW5lZ29jaW9zIiwiTkdYIjoid2lkZ2V0X3VzZXJfdG9rZW4tTkdYIiwiTm90aWNpYXNhZ3JpY29sYUQiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub3RpY2lhc2Fncmljb2xhRCIsIm5vbW1vbWEiOiJ3aWRnZXRfdXNlcl90b2tlbi1ub21tb21hIiwibnNlY29rciI6IndpZGdldF91c2VyX3Rva2VuLW5zZWNva3IiLCJva2RpYXJpbyI6IndpZGdldF91c2VyX3Rva2VuLW9rZGlhcmlvIiwicGFuYWZyaWNhbnJlc291cmNlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXBhbmFmcmljYW5yZXNvdXJjZXNjb20iLCJwc2UiOiJ3aWRnZXRfdXNlcl90b2tlbi1wc2UiLCJwb2RlcjM2MCI6IndpZGdldF91c2VyX3Rva2VuLXBvZGVyMzYwIiwicHNlRCI6IndpZGdldF91c2VyX3Rva2VuLXBzZUQiLCJyaXlhZGhjYXBpdGFsRCI6IndpZGdldF91c2VyX3Rva2VuLXJpeWFkaGNhcGl0YWxEIiwicml5YWRoY2FwaXRhbFJUIjoid2lkZ2V0X3VzZXJfdG9rZW4tcml5YWRoY2FwaXRhbFJUIiwicWVjb21xYSI6IndpZGdldF91c2VyX3Rva2VuLXFlY29tcWEiLCJzYW1vbGV0Ijoid2lkZ2V0X3VzZXJfdG9rZW4tc2Ftb2xldCIsInNlZWluZ21hY2hpbmVzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tc2VlaW5nbWFjaGluZXNjb20iLCJzZXVkaW5oZWlybyI6IndpZGdldF91c2VyX3Rva2VuLXNldWRpbmhlaXJvIiwic29mdHdhcmVhZyI6IndpZGdldF91c2VyX3Rva2VuLXNvZnR3YXJlYWciLCJzb2dlY2xhaXIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zb2dlY2xhaXIiLCJzZ2NvbXBhbnlpdCI6IndpZGdldF91c2VyX3Rva2VuLXNnY29tcGFueWl0Iiwic2hhcmVqdW5jdGlvbiI6IndpZGdldF91c2VyX3Rva2VuLXNoYXJlanVuY3Rpb24iLCJzbWFydGxhYi1jdXN0b20iOiJ3aWRnZXRfdXNlcl90b2tlbi1zbWFydGxhYiIsInNtYXJ0bGFiIjoid2lkZ2V0X3VzZXJfdG9rZW4tc21hcnRsYWIiLCJzcGFjZW1vbmV5Y29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi1zcGFjZW1vbmV5Y29tYnIiLCJzdG9uZXh3ZGciOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXjCoy0hd3d3LnN0b25leC5jb20iLCJzdG94aW8iOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG94aW8iLCJzdG9uZXgiOiJ3aWRnZXRfdXNlcl90b2tlbi1zdG9uZXgiLCJ0b3JvaW52ZXN0aW1lbnRvc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXRvcm9pbnZlc3RpbWVudG9zY29tIiwidGhlY3NlY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4tdGhlY3NlY29tIiwidHJhZGVyc2NsdWJicmFzaWwiOiJ3aWRnZXRfdXNlcl90b2tlbi10cmFkZXJzY2x1YmJyYXNpbCIsInRyYWRlcnNjbHViYnJhc2lsRCI6IndpZGdldF91c2VyX3Rva2VuLXRyYWRlcnNjbHViYnJhc2lsRCIsInRyYWRpbmd2aWV3Ijoid2lkZ2V0X3VzZXJfdG9rZW4tdHJhZGluZ3ZpZXciLCJ4dG9vbHMiOiJ3aWRnZXRfdXNlcl90b2tlbi14dG9vbHMiLCJ0d2l0dGVyIjoid2lkZ2V0X3VzZXJfdG9rZW4tdHdpdHRlciIsInZlbG9jaXR5Y29tcG9zaXRlc2NvbSI6IndpZGdldF91c2VyX3Rva2VuLXZlbG9jaXR5Y29tcG9zaXRlc2NvbSIsInZvY2VzYWFicmlsY29tYnIiOiJ3aWRnZXRfdXNlcl90b2tlbi12b2Nlc2FhYnJpbGNvbWJyIiwid2VhbHRoc2ltcGxlIjoid2lkZ2V0X3VzZXJfdG9rZW4td2VhbHRoc2ltcGxlwqMtIW15LndlYWx0aHNpbXBsZS5jb20iLCJ3b3JsZGNoZXNzY29tIjoid2lkZ2V0X3VzZXJfdG9rZW4td29ybGRjaGVzc2NvbSIsInhDcnR5SmtzcCI6IndpZGdldF91c2VyX3Rva2VuLXhDcnR5SmtzcCIsInhwaWNvbWJyIjoid2lkZ2V0X3VzZXJfdG9rZW4teHBpY29tYnIifScpW3dpbmRvdy5UcmFkaW5nVmlldyYmd2luZG93LlRyYWRpbmdWaWV3LndpZGdldEN1c3RvbWVyfHwiIl18fCIiLFM9di5zdGFydHNXaXRoKEMpP3Yuc3Vic3RyaW5nKDE4KToidHJhZGluZ3ZpZXciCjt3aW5kb3cuV1NCYWNrZW5kQ29ubmVjdGlvbj1uZXcgVCh3aW5kb3cuV0VCU09DS0VUX0hPU1Qse3BpbmdSZXF1aXJlZDp3aW5kb3cuV1NfSE9TVF9QSU5HX1JFUVVJUkVELHByb0hvc3Q6d2luZG93LldFQlNPQ0tFVF9QUk9fSE9TVCxyZWNvbm5lY3RIb3N0OndpbmRvdy5XRUJTT0NLRVRfSE9TVF9GT1JfUkVDT05ORUNULGluaXRpYWxIb3N0OndpbmRvdy5XRUJTT0NLRVRfSU5JVElBTF9IT1NULGNvbm5lY3Rpb25UeXBlOndpbmRvdy5XRUJTT0NLRVRfQ09OTkVDVElPTl9UWVBFLGFwaUtleTpTfSksd2luZG93LldTQmFja2VuZENvbm5lY3Rpb25DdG9yPVR9KSgpOwoJPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+Cgk8c2NyaXB0IG5vbmNlPSJ6dXJhSllkYjJ6WmxKYTliUHBDL0h3PT0iPgoJCSgoKT0+eyJ1c2Ugc3RyaWN0Ijtjb25zdCB0PTEwMTk7dmFyIGUscyxvLGEsZDshZnVuY3Rpb24odCl7dC5BZGFwdGl2ZT0iYWRhcHRpdmUiLHQuUmVndWxhcj0icmVndWxhciIsdC5Db21wYWN0PSJjb21wYWN0In0oZXx8KGU9e30pKSxmdW5jdGlvbih0KXt0LkFsbFN5bWJvbHM9ImFsbF9zeW1ib2xzIix0Lk1hcmtldD0ibWFya2V0Iix0LlN5bWJvbD0ic3ltYm9sIn0oc3x8KHM9e30pKSxmdW5jdGlvbih0KXt0LkNyeXB0b2N1cnJlbmNpZXM9ImNyeXB0byIsdC5DdXJyZW5jaWVzPSJmb3JleCIsdC5TdG9ja3M9InN0b2NrIix0LkluZGljZXM9ImluZGV4Iix0LkZ1dHVyZXM9ImZ1dHVyZXMiLHQuQm9uZHM9ImNmZCJ9KG98fChvPXt9KSksZnVuY3Rpb24odCl7dC5IVE1MPSJodG1sIix0LlJlYWN0PSJyZWFjdCJ9KGF8fChhPXt9KSksZnVuY3Rpb24odCl7dC5UaGVtZUNsYXNzUHJlZml4PSJ0aGVtZS0ifShkfHwoZD17fSkpO2NvbnN0IGM9d2luZG93O2MuaW5pdERhdGE9Yy5pbml0RGF0YXx8e307bGV0IGk9Yy5pbml0RGF0YS5oYXNoU2V0dGluZ3M7aWYoYy5pbml0RGF0YS53aWRnZXREZWZhdWx0cyYmKGk9ey4uLmMuaW5pdERhdGEud2lkZ2V0RGVmYXVsdHMsLi4uaX0pLHZvaWQgMCE9PWkpe2lmKHZvaWQgMCE9PWkuY29sb3JUaGVtZSYmZnVuY3Rpb24odCxlPXdpbmRvdyl7Y29uc3Qgcz0idGhlbWUtIit0LG89ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCB0IG9mIEFycmF5LmZyb20obykpdC5zdGFydHNXaXRoKCJ0aGVtZS0iKSYmdCE9PXMmJm8ucmVtb3ZlKHQpO28uYWRkKHMpLGUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRhdGFzZXQudGhlbWU9dH0oaS5jb2xvclRoZW1lKSwoaS5pc1RyYW5zcGFyZW50fHxpLnRyYW5zcGFyZW5jeSkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJpcy10cmFuc3BhcmVudCIpLHZvaWQgMCE9PWkuZGlzcGxheU1vZGUmJmZ1bmN0aW9uKHMsbyl7aWYobz09PWUuQWRhcHRpdmUpe2NvbnN0IGU9d2luZG93Lm1hdGNoTWVkaWEoYChtYXgtd2lkdGg6ICR7dH1weClgKSxvPSgpPT57cy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtcmVndWxhciIsIWUubWF0Y2hlcykscy5jbGFzc0xpc3QudG9nZ2xlKCJ0di1kaXNwbGF5LW1vZGUtY29tcGFjdCIsZS5tYXRjaGVzKX07bygpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixvKX1lbHNlIHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLXJlZ3VsYXIiLG89PT1lLlJlZ3VsYXIpLHMuY2xhc3NMaXN0LnRvZ2dsZSgidHYtZGlzcGxheS1tb2RlLWNvbXBhY3QiLG89PT1lLkNvbXBhY3QpfShkb2N1bWVudC5ib2R5LGkuZGlzcGxheU1vZGUpLGkuYm9keUNsYXNzZXMpZm9yKGNvbnN0IHQgb2YgaS5ib2R5Q2xhc3Nlcylkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQodCk7aS5ib2R5X2NsYXNzJiZkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoaS5ib2R5X2NsYXNzKSxpLmJvZHlJZCYmKGRvY3VtZW50LmJvZHkuaWQ9aS5ib2R5SWQpfX0pKCk7Cgk8L3NjcmlwdD4KCgo8c2NyaXB0IG5vbmNlPSJ6dXJhSllkYjJ6WmxKYTliUHBDL0h3PT0iPgoJd2luZG93LmluaXREYXRhID0gd2luZG93LmluaXREYXRhIHx8IHt9OwoKCXdpbmRvdy5pbml0RGF0YS5zbm93cGxvd1NldHRpbmdzID0gewoJCWNvbGxlY3RvcklkOiAndHZfY2YnLAoJCXVybDogJ3Nub3dwbG93LXBpeGVsLnRyYWRpbmd2aWV3LmNvbScsCgkJcGFyYW1zOiB7CgkJCWFwcElkOiAndHJhZGluZ3ZpZXcnLAoJCQlwb3N0UGF0aDogJy9jb20udHJhZGluZ3ZpZXcvdHJhY2snLAoJCX0sCgkJZW5hYmxlZDogdHJ1ZSwKCX0KPC9zY3JpcHQ+PC9ib2R5Pgo8L2h0bWw+"}},"time_used":237,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":208,"receive":0,"ssl":17},"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"},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.815Z","timestamp":1785139582815,"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-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 08:06:22 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: 1d74c15da74d4518c2e23bab1ef660c3\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-08-02T16:40:36.924172Z","times_seen":416,"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":23,"timings":{"blocked":15,"dns":0,"connect":0,"send":0,"wait":8,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.850Z","timestamp":1785139583850,"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-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 08:06:23 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: 70a2beff74142ec9806c5ca62d548f7c\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-08-12T17:58:50.147808Z","times_seen":1415,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.921Z","timestamp":1785139583921,"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-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 08:06:23 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: a4697329c8742d502a6fbbb6546c14ea\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-08-12T17:58:50.103475Z","times_seen":629,"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":"nanoquantumstellarsledger.com/frontcss/assets/jquery-3.3.1.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.011Z","timestamp":1785139582011,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/jquery-3.3.1.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 78993\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":283730,"size_decoded":79231,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"589ad040a43907f7e8754fc7cb22d481","sha1":"e3d01367c38eee297166e1b4b0450c75378c8acc","sha256":"afd5373f994086e3aa3af001f946e0fbab5a1dc0cc023c9f18ea7edf89d42117","sha512":"39debd894fac3ff2e1185f6c203c282b79e5bcf628ba1e17749f329524924d8f29fe9901d489b25a2553cab1e0e375603d5aeff8f89557e5eb3e6c330841adfe","ssdeep":"6144:+pGa3GcysMKV811QZv/Le4fO1XPygfsUKmLvK8MOfYzKn/Lt91tgwfBNYr:efLe4fMjlKmrfMyLtxgwfTYr","tlshash":"b85493d9fb8d116f4232316aac2f11cdb77cd172560058abbe4d597c249082d83aef7a","first_seen":"2025-11-23T04:10:47.917903Z","last_seen":"2026-07-27T09:11:27.35489Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjMuMy4xCiAqIGh0dHBzOi8vanF1ZXJ5LmNvbS8KICoKICogSW5jbHVkZXMgU2l6emxlLmpzCiAqIGh0dHBzOi8vc2l6emxlanMuY29tLwogKgogKiBDb3B5cmlnaHQgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQogKiBodHRwczovL2pxdWVyeS5vcmcvbGljZW5zZQogKgogKiBEYXRlOiAyMDE4LTAxLTIwVDE3OjI0WgogKi8KKCBmdW5jdGlvbiggZ2xvYmFsLCBmYWN0b3J5ICkgewoKCSJ1c2Ugc3RyaWN0IjsKCglpZiAoIHR5cGVvZiBtb2R1bGUgPT09ICJvYmplY3QiICYmIHR5cGVvZiBtb2R1bGUuZXhwb3J0cyA9PT0gIm9iamVjdCIgKSB7CgoJCS8vIEZvciBDb21tb25KUyBhbmQgQ29tbW9uSlMtbGlrZSBlbnZpcm9ubWVudHMgd2hlcmUgYSBwcm9wZXIgYHdpbmRvd2AKCQkvLyBpcyBwcmVzZW50LCBleGVjdXRlIHRoZSBmYWN0b3J5IGFuZCBnZXQgalF1ZXJ5LgoJCS8vIEZvciBlbnZpcm9ubWVudHMgdGhhdCBkbyBub3QgaGF2ZSBhIGB3aW5kb3dgIHdpdGggYSBgZG9jdW1lbnRgCgkJLy8gKHN1Y2ggYXMgTm9kZS5qcyksIGV4cG9zZSBhIGZhY3RvcnkgYXMgbW9kdWxlLmV4cG9ydHMuCgkJLy8gVGhpcyBhY2NlbnR1YXRlcyB0aGUgbmVlZCBmb3IgdGhlIGNyZWF0aW9uIG9mIGEgcmVhbCBgd2luZG93YC4KCQkvLyBlLmcuIHZhciBqUXVlcnkgPSByZXF1aXJlKCJqcXVlcnkiKSh3aW5kb3cpOwoJCS8vIFNlZSB0aWNrZXQgIzE0NTQ5IGZvciBtb3JlIGluZm8uCgkJbW9kdWxlLmV4cG9ydHMgPSBnbG9iYWwuZG9jdW1lbnQgPwoJCQlmYWN0b3J5KCBnbG9iYWwsIHRydWUgKSA6CgkJCWZ1bmN0aW9uKCB3ICkgewoJCQkJaWYgKCAhdy5kb2N1bWVudCApIHsKCQkJCQl0aHJvdyBuZXcgRXJyb3IoICJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50IiApOwoJCQkJfQoJCQkJcmV0dXJuIGZhY3RvcnkoIHcgKTsKCQkJfTsKCX0gZWxzZSB7CgkJZmFjdG9yeSggZ2xvYmFsICk7Cgl9CgovLyBQYXNzIHRoaXMgaWYgd2luZG93IGlzIG5vdCBkZWZpbmVkIHlldAp9ICkoIHR5cGVvZiB3aW5kb3cgIT09ICJ1bmRlZmluZWQiID8gd2luZG93IDogdGhpcywgZnVuY3Rpb24oIHdpbmRvdywgbm9HbG9iYWwgKSB7CgovLyBFZGdlIDw9IDEyIC0gMTMrLCBGaXJlZm94IDw9MTggLSA0NSssIElFIDEwIC0gMTEsIFNhZmFyaSA1LjEgLSA5KywgaU9TIDYgLSA5LjEKLy8gdGhyb3cgZXhjZXB0aW9ucyB3aGVuIG5vbi1zdHJpY3QgY29kZSAoZS5nLiwgQVNQLk5FVCA0LjUpIGFjY2Vzc2VzIHN0cmljdCBtb2RlCi8vIGFyZ3VtZW50cy5jYWxsZWUuY2FsbGVyICh0cmFjLTEzMzM1KS4gQnV0IGFzIG9mIGpRdWVyeSAzLjAgKDIwMTYpLCBzdHJpY3QgbW9kZSBzaG91bGQgYmUgY29tbW9uCi8vIGVub3VnaCB0aGF0IGFsbCBzdWNoIGF0dGVtcHRzIGFyZSBndWFyZGVkIGluIGEgdHJ5IGJsb2NrLgoJInVzZSBzdHJpY3QiOwoKCXZhciBhcnIgPSBbXTsKCgl2YXIgZG9jdW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQ7CgoJdmFyIGdldFByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mOwoKCXZhciBzbGljZSA9IGFyci5zbGljZTsKCgl2YXIgY29uY2F0ID0gYXJyLmNvbmNhdDsKCgl2YXIgcHVzaCA9IGFyci5wdXNoOwoKCXZhciBpbmRleE9mID0gYXJyLmluZGV4T2Y7CgoJdmFyIGNsYXNzMnR5cGUgPSB7fTsKCgl2YXIgdG9TdHJpbmcgPSBjbGFzczJ0eXBlLnRvU3RyaW5nOwoKCXZhciBoYXNPd24gPSBjbGFzczJ0eXBlLmhhc093blByb3BlcnR5OwoKCXZhciBmblRvU3RyaW5nID0gaGFzT3duLnRvU3RyaW5nOwoKCXZhciBPYmplY3RGdW5jdGlvblN0cmluZyA9IGZuVG9TdHJpbmcuY2FsbCggT2JqZWN0ICk7CgoJdmFyIHN1cHBvcnQgPSB7fTsKCgl2YXIgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uIGlzRnVuY3Rpb24oIG9iaiApIHsKCgkJLy8gU3VwcG9ydDogQ2hyb21lIDw9NTcsIEZpcmVmb3ggPD01MgoJCS8vIEluIHNvbWUgYnJvd3NlcnMsIHR5cGVvZiByZXR1cm5zICJmdW5jdGlvbiIgZm9yIEhUTUwgPG9iamVjdD4gZWxlbWVudHMKCQkvLyAoaS5lLiwgYHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAib2JqZWN0IiApID09PSAiZnVuY3Rpb24iYCkuCgkJLy8gV2UgZG9uJ3Qgd2FudCB0byBjbGFzc2lmeSAqYW55KiBET00gbm9kZSBhcyBhIGZ1bmN0aW9uLgoJCXJldHVybiB0eXBlb2Ygb2JqID09PSAiZnVuY3Rpb24iICYmIHR5cGVvZiBvYmoubm9kZVR5cGUgIT09ICJudW1iZXIiOwoJfTsKCgoJdmFyIGlzV2luZG93ID0gZnVuY3Rpb24gaXNXaW5kb3coIG9iaiApIHsKCQlyZXR1cm4gb2JqICE9IG51bGwgJiYgb2JqID09PSBvYmoud2luZG93OwoJfTsKCgoKCgl2YXIgcHJlc2VydmVkU2NyaXB0QXR0cmlidXRlcyA9IHsKCQl0eXBlOiB0cnVlLAoJCXNyYzogdHJ1ZSwKCQlub01vZHVsZTogdHJ1ZQoJfTsKCglmdW5jdGlvbiBET01FdmFsKCBjb2RlLCBkb2MsIG5vZGUgKSB7CgkJZG9jID0gZG9jIHx8IGRvY3VtZW50OwoKCQl2YXIgaSwKCQkJc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoICJzY3JpcHQiICk7CgoJCXNjcmlwdC50ZXh0ID0gY29kZTsKCQlpZiAoIG5vZGUgKSB7CgkJCWZvciAoIGkgaW4gcHJlc2VydmVkU2NyaXB0QXR0cmlidXRlcyApIHsKCQkJCWlmICggbm9kZVsgaSBdICkgewoJCQkJCXNjcmlwdFsgaSBdID0gbm9kZVsgaSBdOwoJCQkJfQoJCQl9CgkJfQoJCWRvYy5oZWFkLmFwcGVuZENoaWxkKCBzY3JpcHQgKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCBzY3JpcHQgKTsKCX0KCgoJZnVuY3Rpb24gdG9UeXBlKCBvYmogKSB7CgkJaWYgKCBvYmogPT0gbnVsbCApIHsKCQkJcmV0dXJuIG9iaiArICIiOwoJCX0KCgkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5IChmdW5jdGlvbmlzaCBSZWdFeHApCgkJcmV0dXJuIHR5cGVvZiBvYmogPT09ICJvYmplY3QiIHx8IHR5cGVvZiBvYmogPT09ICJmdW5jdGlvbiIgPwoJCQljbGFzczJ0eXBlWyB0b1N0cmluZy5jYWxsKCBvYmogKSBdIHx8ICJvYmplY3QiIDoKCQkJdHlwZW9mIG9iajsKCX0KCS8qIGdsb2JhbCBTeW1ib2wgKi8KLy8gRGVmaW5pbmcgdGhpcyBnbG9iYWwgaW4gLmVzbGludHJjLmpzb24gd291bGQgY3JlYXRlIGEgZGFuZ2VyIG9mIHVzaW5nIHRoZSBnbG9iYWwKLy8gdW5ndWFyZGVkIGluIGFub3RoZXIgcGxhY2UsIGl0IHNlZW1zIHNhZmVyIHRvIGRlZmluZSBnbG9iYWwgb25seSBmb3IgdGhpcyBtb2R1bGUKCgoKCXZhcgoJCXZlcnNpb24gPSAiMy4zLjEiLAoKCQkvLyBEZWZpbmUgYSBsb2NhbCBjb3B5IG9mIGpRdWVyeQoJCWpRdWVyeSA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCApIHsKCgkJCS8vIFRoZSBqUXVlcnkgb2JqZWN0IGlzIGFjdHVhbGx5IGp1c3QgdGhlIGluaXQgY29uc3RydWN0b3IgJ2VuaGFuY2VkJwoJCQkvLyBOZWVkIGluaXQgaWYgalF1ZXJ5IGlzIGNhbGxlZCAoanVzdCBhbGxvdyBlcnJvciB0byBiZSB0aHJvd24gaWYgbm90IGluY2x1ZGVkKQoJCQlyZXR1cm4gbmV3IGpRdWVyeS5mbi5pbml0KCBzZWxlY3RvciwgY29udGV4dCApOwoJCX0sCgoJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seQoJCS8vIE1ha2Ugc3VyZSB3ZSB0cmltIEJPTSBhbmQgTkJTUAoJCXJ0cmltID0gL15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nOwoKCWpRdWVyeS5mbiA9IGpRdWVyeS5wcm90b3R5cGUgPSB7CgoJCS8vIFRoZSBjdXJyZW50IHZlcnNpb24gb2YgalF1ZXJ5IGJlaW5nIHVzZWQKCQlqcXVlcnk6IHZlcnNpb24sCgoJCWNvbnN0cnVjdG9yOiBqUXVlcnksCgoJCS8vIFRoZSBkZWZhdWx0IGxlbmd0aCBvZiBhIGpRdWVyeSBvYmplY3QgaXMgMAoJCWxlbmd0aDogMCwKCgkJdG9BcnJheTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7CgkJfSwKCgkJLy8gR2V0IHRoZSBOdGggZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBlbGVtZW50IHNldCBPUgoJCS8vIEdldCB0aGUgd2hvbGUgbWF0Y2hlZCBlbGVtZW50IHNldCBhcyBhIGNsZWFuIGFycmF5CgkJZ2V0OiBmdW5jdGlvbiggbnVtICkgewoKCQkJLy8gUmV0dXJuIGFsbCB0aGUgZWxlbWVudHMgaW4gYSBjbGVhbiBhcnJheQoJCQlpZiAoIG51bSA9PSBudWxsICkgewoJCQkJcmV0dXJuIHNsaWNlLmNhbGwoIHRoaXMgKTsKCQkJfQoKCQkJLy8gUmV0dXJuIGp1c3QgdGhlIG9uZSBlbGVtZW50IGZyb20gdGhlIHNldAoJCQlyZXR1cm4gbnVtIDwgMCA/IHRoaXNbIG51bSArIHRoaXMubGVuZ3RoIF0gOiB0aGlzWyBudW0gXTsKCQl9LAoKCQkvLyBUYWtlIGFuIGFycmF5IG9mIGVsZW1lbnRzIGFuZCBwdXNoIGl0IG9udG8gdGhlIHN0YWNrCgkJLy8gKHJldHVybmluZyB0aGUgbmV3IG1hdGNoZWQgZWxlbWVudCBzZXQpCgkJcHVzaFN0YWNrOiBmdW5jdGlvbiggZWxlbXMgKSB7CgoJCQkvLyBCdWlsZCBhIG5ldyBqUXVlcnkgbWF0Y2hlZCBlbGVtZW50IHNldAoJCQl2YXIgcmV0ID0galF1ZXJ5Lm1lcmdlKCB0aGlzLmNvbnN0cnVjdG9yKCksIGVsZW1zICk7CgoJCQkvLyBBZGQgdGhlIG9sZCBvYmplY3Qgb250byB0aGUgc3RhY2sgKGFzIGEgcmVmZXJlbmNlKQoJCQlyZXQucHJldk9iamVjdCA9IHRoaXM7CgoJCQkvLyBSZXR1cm4gdGhlIG5ld2x5LWZvcm1lZCBlbGVtZW50IHNldAoJCQlyZXR1cm4gcmV0OwoJCX0sCgoJCS8vIEV4ZWN1dGUgYSBjYWxsYmFjayBmb3IgZXZlcnkgZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBzZXQuCgkJZWFjaDogZnVuY3Rpb24oIGNhbGxiYWNrICkgewoJCQlyZXR1cm4galF1ZXJ5LmVhY2goIHRoaXMsIGNhbGxiYWNrICk7CgkJfSwKCgkJbWFwOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7CgkJCXJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5Lm1hcCggdGhpcywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7CgkJCQlyZXR1cm4gY2FsbGJhY2suY2FsbCggZWxlbSwgaSwgZWxlbSApOwoJCQl9ICkgKTsKCQl9LAoKCQlzbGljZTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLnB1c2hTdGFjayggc2xpY2UuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApICk7CgkJfSwKCgkJZmlyc3Q6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5lcSggMCApOwoJCX0sCgoJCWxhc3Q6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5lcSggLTEgKTsKCQl9LAoKCQllcTogZnVuY3Rpb24oIGkgKSB7CgkJCXZhciBsZW4gPSB0aGlzLmxlbmd0aCwKCQkJCWogPSAraSArICggaSA8IDAgPyBsZW4gOiAwICk7CgkJCXJldHVybiB0aGlzLnB1c2hTdGFjayggaiA+PSAwICYmIGogPCBsZW4gPyBbIHRoaXNbIGogXSBdIDogW10gKTsKCQl9LAoKCQllbmQ6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gdGhpcy5wcmV2T2JqZWN0IHx8IHRoaXMuY29uc3RydWN0b3IoKTsKCQl9LAoKCQkvLyBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuCgkJLy8gQmVoYXZlcyBsaWtlIGFuIEFycmF5J3MgbWV0aG9kLCBub3QgbGlrZSBhIGpRdWVyeSBtZXRob2QuCgkJcHVzaDogcHVzaCwKCQlzb3J0OiBhcnIuc29ydCwKCQlzcGxpY2U6IGFyci5zcGxpY2UKCX07CgoJalF1ZXJ5LmV4dGVuZCA9IGpRdWVyeS5mbi5leHRlbmQgPSBmdW5jdGlvbigpIHsKCQl2YXIgb3B0aW9ucywgbmFtZSwgc3JjLCBjb3B5LCBjb3B5SXNBcnJheSwgY2xvbmUsCgkJCXRhcmdldCA9IGFyZ3VtZW50c1sgMCBdIHx8IHt9LAoJCQlpID0gMSwKCQkJbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCwKCQkJZGVlcCA9IGZhbHNlOwoKCQkvLyBIYW5kbGUgYSBkZWVwIGNvcHkgc2l0dWF0aW9uCgkJaWYgKCB0eXBlb2YgdGFyZ2V0ID09PSAiYm9vbGVhbiIgKSB7CgkJCWRlZXAgPSB0YXJnZXQ7CgoJCQkvLyBTa2lwIHRoZSBib29sZWFuIGFuZCB0aGUgdGFyZ2V0CgkJCXRhcmdldCA9IGFyZ3VtZW50c1sgaSBdIHx8IHt9OwoJCQlpKys7CgkJfQoKCQkvLyBIYW5kbGUgY2FzZSB3aGVuIHRhcmdldCBpcyBhIHN0cmluZyBvciBzb21ldGhpbmcgKHBvc3NpYmxlIGluIGRlZXAgY29weSkKCQlpZiAoIHR5cGVvZiB0YXJnZXQgIT09ICJvYmplY3QiICYmICFpc0Z1bmN0aW9uKCB0YXJnZXQgKSApIHsKCQkJdGFyZ2V0ID0ge307CgkJfQoKCQkvLyBFeHRlbmQgalF1ZXJ5IGl0c2VsZiBpZiBvbmx5IG9uZSBhcmd1bWVudCBpcyBwYXNzZWQKCQlpZiAoIGkgPT09IGxlbmd0aCApIHsKCQkJdGFyZ2V0ID0gdGhpczsKCQkJaS0tOwoJCX0KCgkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7CgoJCQkvLyBPbmx5IGRlYWwgd2l0aCBub24tbnVsbC91bmRlZmluZWQgdmFsdWVzCgkJCWlmICggKCBvcHRpb25zID0gYXJndW1lbnRzWyBpIF0gKSAhPSBudWxsICkgewoKCQkJCS8vIEV4dGVuZCB0aGUgYmFzZSBvYmplY3QKCQkJCWZvciAoIG5hbWUgaW4gb3B0aW9ucyApIHsKCQkJCQlzcmMgPSB0YXJnZXRbIG5hbWUgXTsKCQkJCQljb3B5ID0gb3B0aW9uc1sgbmFtZSBdOwoKCQkJCQkvLyBQcmV2ZW50IG5ldmVyLWVuZGluZyBsb29wCgkJCQkJaWYgKCB0YXJnZXQgPT09IGNvcHkgKSB7CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJLy8gUmVjdXJzZSBpZiB3ZSdyZSBtZXJnaW5nIHBsYWluIG9iamVjdHMgb3IgYXJyYXlzCgkJCQkJaWYgKCBkZWVwICYmIGNvcHkgJiYgKCBqUXVlcnkuaXNQbGFpbk9iamVjdCggY29weSApIHx8CgkJCQkJCQkoIGNvcHlJc0FycmF5ID0gQXJyYXkuaXNBcnJheSggY29weSApICkgKSApIHsKCgkJCQkJCWlmICggY29weUlzQXJyYXkgKSB7CgkJCQkJCQljb3B5SXNBcnJheSA9IGZhbHNlOwoJCQkJCQkJY2xvbmUgPSBzcmMgJiYgQXJyYXkuaXNBcnJheSggc3JjICkgPyBzcmMgOiBbXTsKCgkJCQkJCX0gZWxzZSB7CgkJCQkJCQljbG9uZSA9IHNyYyAmJiBqUXVlcnkuaXNQbGFpbk9iamVjdCggc3JjICkgPyBzcmMgOiB7fTsKCQkJCQkJfQoKCQkJCQkJLy8gTmV2ZXIgbW92ZSBvcmlnaW5hbCBvYmplY3RzLCBjbG9uZSB0aGVtCgkJCQkJCXRhcmdldFsgbmFtZSBdID0galF1ZXJ5LmV4dGVuZCggZGVlcCwgY2xvbmUsIGNvcHkgKTsKCgkJCQkJCS8vIERvbid0IGJyaW5nIGluIHVuZGVmaW5lZCB2YWx1ZXMKCQkJCQl9IGVsc2UgaWYgKCBjb3B5ICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJCXRhcmdldFsgbmFtZSBdID0gY29weTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgoJCS8vIFJldHVybiB0aGUgbW9kaWZpZWQgb2JqZWN0CgkJcmV0dXJuIHRhcmdldDsKCX07CgoJalF1ZXJ5LmV4dGVuZCggewoKCQkvLyBVbmlxdWUgZm9yIGVhY2ggY29weSBvZiBqUXVlcnkgb24gdGhlIHBhZ2UKCQlleHBhbmRvOiAialF1ZXJ5IiArICggdmVyc2lvbiArIE1hdGgucmFuZG9tKCkgKS5yZXBsYWNlKCAvXEQvZywgIiIgKSwKCgkJLy8gQXNzdW1lIGpRdWVyeSBpcyByZWFkeSB3aXRob3V0IHRoZSByZWFkeSBtb2R1bGUKCQlpc1JlYWR5OiB0cnVlLAoKCQllcnJvcjogZnVuY3Rpb24oIG1zZyApIHsKCQkJdGhyb3cgbmV3IEVycm9yKCBtc2cgKTsKCQl9LAoKCQlub29wOiBmdW5jdGlvbigpIHt9LAoKCQlpc1BsYWluT2JqZWN0OiBmdW5jdGlvbiggb2JqICkgewoJCQl2YXIgcHJvdG8sIEN0b3I7CgoJCQkvLyBEZXRlY3Qgb2J2aW91cyBuZWdhdGl2ZXMKCQkJLy8gVXNlIHRvU3RyaW5nIGluc3RlYWQgb2YgalF1ZXJ5LnR5cGUgdG8gY2F0Y2ggaG9zdCBvYmplY3RzCgkJCWlmICggIW9iaiB8fCB0b1N0cmluZy5jYWxsKCBvYmogKSAhPT0gIltvYmplY3QgT2JqZWN0XSIgKSB7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCgkJCXByb3RvID0gZ2V0UHJvdG8oIG9iaiApOwoKCQkJLy8gT2JqZWN0cyB3aXRoIG5vIHByb3RvdHlwZSAoZS5nLiwgYE9iamVjdC5jcmVhdGUoIG51bGwgKWApIGFyZSBwbGFpbgoJCQlpZiAoICFwcm90byApIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgoJCQkvLyBPYmplY3RzIHdpdGggcHJvdG90eXBlIGFyZSBwbGFpbiBpZmYgdGhleSB3ZXJlIGNvbnN0cnVjdGVkIGJ5IGEgZ2xvYmFsIE9iamVjdCBmdW5jdGlvbgoJCQlDdG9yID0gaGFzT3duLmNhbGwoIHByb3RvLCAiY29uc3RydWN0b3IiICkgJiYgcHJvdG8uY29uc3RydWN0b3I7CgkJCXJldHVybiB0eXBlb2YgQ3RvciA9PT0gImZ1bmN0aW9uIiAmJiBmblRvU3RyaW5nLmNhbGwoIEN0b3IgKSA9PT0gT2JqZWN0RnVuY3Rpb25TdHJpbmc7CgkJfSwKCgkJaXNFbXB0eU9iamVjdDogZnVuY3Rpb24oIG9iaiApIHsKCgkJCS8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovCgkJCS8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZXNsaW50L2VzbGludC9pc3N1ZXMvNjEyNQoJCQl2YXIgbmFtZTsKCgkJCWZvciAoIG5hbWUgaW4gb2JqICkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCXJldHVybiB0cnVlOwoJCX0sCgoJCS8vIEV2YWx1YXRlcyBhIHNjcmlwdCBpbiBhIGdsb2JhbCBjb250ZXh0CgkJZ2xvYmFsRXZhbDogZnVuY3Rpb24oIGNvZGUgKSB7CgkJCURPTUV2YWwoIGNvZGUgKTsKCQl9LAoKCQllYWNoOiBmdW5jdGlvbiggb2JqLCBjYWxsYmFjayApIHsKCQkJdmFyIGxlbmd0aCwgaSA9IDA7CgoJCQlpZiAoIGlzQXJyYXlMaWtlKCBvYmogKSApIHsKCQkJCWxlbmd0aCA9IG9iai5sZW5ndGg7CgkJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHsKCQkJCQlpZiAoIGNhbGxiYWNrLmNhbGwoIG9ialsgaSBdLCBpLCBvYmpbIGkgXSApID09PSBmYWxzZSApIHsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQl9IGVsc2UgewoJCQkJZm9yICggaSBpbiBvYmogKSB7CgkJCQkJaWYgKCBjYWxsYmFjay5jYWxsKCBvYmpbIGkgXSwgaSwgb2JqWyBpIF0gKSA9PT0gZmFsc2UgKSB7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJcmV0dXJuIG9iajsKCQl9LAoKCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHkKCQl0cmltOiBmdW5jdGlvbiggdGV4dCApIHsKCQkJcmV0dXJuIHRleHQgPT0gbnVsbCA/CgkJCQkiIiA6CgkJCQkoIHRleHQgKyAiIiApLnJlcGxhY2UoIHJ0cmltLCAiIiApOwoJCX0sCgoJCS8vIHJlc3VsdHMgaXMgZm9yIGludGVybmFsIHVzYWdlIG9ubHkKCQltYWtlQXJyYXk6IGZ1bmN0aW9uKCBhcnIsIHJlc3VsdHMgKSB7CgkJCXZhciByZXQgPSByZXN1bHRzIHx8IFtdOwoKCQkJaWYgKCBhcnIgIT0gbnVsbCApIHsKCQkJCWlmICggaXNBcnJheUxpa2UoIE9iamVjdCggYXJyICkgKSApIHsKCQkJCQlqUXVlcnkubWVyZ2UoIHJldCwKCQkJCQkJdHlwZW9mIGFyciA9PT0gInN0cmluZyIgPwoJCQkJCQkJWyBhcnIgXSA6IGFycgoJCQkJCSk7CgkJCQl9IGVsc2UgewoJCQkJCXB1c2guY2FsbCggcmV0LCBhcnIgKTsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHJldDsKCQl9LAoKCQlpbkFycmF5OiBmdW5jdGlvbiggZWxlbSwgYXJyLCBpICkgewoJCQlyZXR1cm4gYXJyID09IG51bGwgPyAtMSA6IGluZGV4T2YuY2FsbCggYXJyLCBlbGVtLCBpICk7CgkJfSwKCgkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5CgkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdAoJCW1lcmdlOiBmdW5jdGlvbiggZmlyc3QsIHNlY29uZCApIHsKCQkJdmFyIGxlbiA9ICtzZWNvbmQubGVuZ3RoLAoJCQkJaiA9IDAsCgkJCQlpID0gZmlyc3QubGVuZ3RoOwoKCQkJZm9yICggOyBqIDwgbGVuOyBqKysgKSB7CgkJCQlmaXJzdFsgaSsrIF0gPSBzZWNvbmRbIGogXTsKCQkJfQoKCQkJZmlyc3QubGVuZ3RoID0gaTsKCgkJCXJldHVybiBmaXJzdDsKCQl9LAoKCQlncmVwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBpbnZlcnQgKSB7CgkJCXZhciBjYWxsYmFja0ludmVyc2UsCgkJCQltYXRjaGVzID0gW10sCgkJCQlpID0gMCwKCQkJCWxlbmd0aCA9IGVsZW1zLmxlbmd0aCwKCQkJCWNhbGxiYWNrRXhwZWN0ID0gIWludmVydDsKCgkJCS8vIEdvIHRocm91Z2ggdGhlIGFycmF5LCBvbmx5IHNhdmluZyB0aGUgaXRlbXMKCQkJLy8gdGhhdCBwYXNzIHRoZSB2YWxpZGF0b3IgZnVuY3Rpb24KCQkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7CgkJCQljYWxsYmFja0ludmVyc2UgPSAhY2FsbGJhY2soIGVsZW1zWyBpIF0sIGkgKTsKCQkJCWlmICggY2FsbGJhY2tJbnZlcnNlICE9PSBjYWxsYmFja0V4cGVjdCApIHsKCQkJCQltYXRjaGVzLnB1c2goIGVsZW1zWyBpIF0gKTsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIG1hdGNoZXM7CgkJfSwKCgkJLy8gYXJnIGlzIGZvciBpbnRlcm5hbCB1c2FnZSBvbmx5CgkJbWFwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBhcmcgKSB7CgkJCXZhciBsZW5ndGgsIHZhbHVlLAoJCQkJaSA9IDAsCgkJCQlyZXQgPSBbXTsKCgkJCS8vIEdvIHRocm91Z2ggdGhlIGFycmF5LCB0cmFuc2xhdGluZyBlYWNoIG9mIHRoZSBpdGVtcyB0byB0aGVpciBuZXcgdmFsdWVzCgkJCWlmICggaXNBcnJheUxpa2UoIGVsZW1zICkgKSB7CgkJCQlsZW5ndGggPSBlbGVtcy5sZW5ndGg7CgkJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHsKCQkJCQl2YWx1ZSA9IGNhbGxiYWNrKCBlbGVtc1sgaSBdLCBpLCBhcmcgKTsKCgkJCQkJaWYgKCB2YWx1ZSAhPSBudWxsICkgewoJCQkJCQlyZXQucHVzaCggdmFsdWUgKTsKCQkJCQl9CgkJCQl9CgoJCQkJLy8gR28gdGhyb3VnaCBldmVyeSBrZXkgb24gdGhlIG9iamVjdCwKCQkJfSBlbHNlIHsKCQkJCWZvciAoIGkgaW4gZWxlbXMgKSB7CgkJCQkJdmFsdWUgPSBjYWxsYmFjayggZWxlbXNbIGkgXSwgaSwgYXJnICk7CgoJCQkJCWlmICggdmFsdWUgIT0gbnVsbCApIHsKCQkJCQkJcmV0LnB1c2goIHZhbHVlICk7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQkvLyBGbGF0dGVuIGFueSBuZXN0ZWQgYXJyYXlzCgkJCXJldHVybiBjb25jYXQuYXBwbHkoIFtdLCByZXQgKTsKCQl9LAoKCQkvLyBBIGdsb2JhbCBHVUlEIGNvdW50ZXIgZm9yIG9iamVjdHMKCQlndWlkOiAxLAoKCQkvLyBqUXVlcnkuc3VwcG9ydCBpcyBub3QgdXNlZCBpbiBDb3JlIGJ1dCBvdGhlciBwcm9qZWN0cyBhdHRhY2ggdGhlaXIKCQkvLyBwcm9wZXJ0aWVzIHRvIGl0IHNvIGl0IG5lZWRzIHRvIGV4aXN0LgoJCXN1cHBvcnQ6IHN1cHBvcnQKCX0gKTsKCglpZiAoIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgKSB7CgkJalF1ZXJ5LmZuWyBTeW1ib2wuaXRlcmF0b3IgXSA9IGFyclsgU3ltYm9sLml0ZXJhdG9yIF07Cgl9CgovLyBQb3B1bGF0ZSB0aGUgY2xhc3MydHlwZSBtYXAKCWpRdWVyeS5lYWNoKCAiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCAiICIgKSwKCQlmdW5jdGlvbiggaSwgbmFtZSApIHsKCQkJY2xhc3MydHlwZVsgIltvYmplY3QgIiArIG5hbWUgKyAiXSIgXSA9IG5hbWUudG9Mb3dlckNhc2UoKTsKCQl9ICk7CgoJZnVuY3Rpb24gaXNBcnJheUxpa2UoIG9iaiApIHsKCgkJLy8gU3VwcG9ydDogcmVhbCBpT1MgOC4yIG9ubHkgKG5vdCByZXByb2R1Y2libGUgaW4gc2ltdWxhdG9yKQoJCS8vIGBpbmAgY2hlY2sgdXNlZCB0byBwcmV2ZW50IEpJVCBlcnJvciAoZ2gtMjE0NSkKCQkvLyBoYXNPd24gaXNuJ3QgdXNlZCBoZXJlIGR1ZSB0byBmYWxzZSBuZWdhdGl2ZXMKCQkvLyByZWdhcmRpbmcgTm9kZWxpc3QgbGVuZ3RoIGluIElFCgkJdmFyIGxlbmd0aCA9ICEhb2JqICYmICJsZW5ndGgiIGluIG9iaiAmJiBvYmoubGVuZ3RoLAoJCQl0eXBlID0gdG9UeXBlKCBvYmogKTsKCgkJaWYgKCBpc0Z1bmN0aW9uKCBvYmogKSB8fCBpc1dpbmRvdyggb2JqICkgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCXJldHVybiB0eXBlID09PSAiYXJyYXkiIHx8IGxlbmd0aCA9PT0gMCB8fAoJCQl0eXBlb2YgbGVuZ3RoID09PSAibnVtYmVyIiAmJiBsZW5ndGggPiAwICYmICggbGVuZ3RoIC0gMSApIGluIG9iajsKCX0KCXZhciBTaXp6bGUgPQoJCS8qIQogKiBTaXp6bGUgQ1NTIFNlbGVjdG9yIEVuZ2luZSB2Mi4zLjMKICogaHR0cHM6Ly9zaXp6bGVqcy5jb20vCiAqCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlCiAqCiAqIERhdGU6IDIwMTYtMDgtMDgKICovCgkJKGZ1bmN0aW9uKCB3aW5kb3cgKSB7CgoJCQl2YXIgaSwKCQkJCXN1cHBvcnQsCgkJCQlFeHByLAoJCQkJZ2V0VGV4dCwKCQkJCWlzWE1MLAoJCQkJdG9rZW5pemUsCgkJCQljb21waWxlLAoJCQkJc2VsZWN0LAoJCQkJb3V0ZXJtb3N0Q29udGV4dCwKCQkJCXNvcnRJbnB1dCwKCQkJCWhhc0R1cGxpY2F0ZSwKCgkJCQkvLyBMb2NhbCBkb2N1bWVudCB2YXJzCgkJCQlzZXREb2N1bWVudCwKCQkJCWRvY3VtZW50LAoJCQkJZG9jRWxlbSwKCQkJCWRvY3VtZW50SXNIVE1MLAoJCQkJcmJ1Z2d5UVNBLAoJCQkJcmJ1Z2d5TWF0Y2hlcywKCQkJCW1hdGNoZXMsCgkJCQljb250YWlucywKCgkJCQkvLyBJbnN0YW5jZS1zcGVjaWZpYyBkYXRhCgkJCQlleHBhbmRvID0gInNpenpsZSIgKyAxICogbmV3IERhdGUoKSwKCQkJCXByZWZlcnJlZERvYyA9IHdpbmRvdy5kb2N1bWVudCwKCQkJCWRpcnJ1bnMgPSAwLAoJCQkJZG9uZSA9IDAsCgkJCQljbGFzc0NhY2hlID0gY3JlYXRlQ2FjaGUoKSwKCQkJCXRva2VuQ2FjaGUgPSBjcmVhdGVDYWNoZSgpLAoJCQkJY29tcGlsZXJDYWNoZSA9IGNyZWF0ZUNhY2hlKCksCgkJCQlzb3J0T3JkZXIgPSBmdW5jdGlvbiggYSwgYiApIHsKCQkJCQlpZiAoIGEgPT09IGIgKSB7CgkJCQkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7CgkJCQkJfQoJCQkJCXJldHVybiAwOwoJCQkJfSwKCgkJCQkvLyBJbnN0YW5jZSBtZXRob2RzCgkJCQloYXNPd24gPSAoe30pLmhhc093blByb3BlcnR5LAoJCQkJYXJyID0gW10sCgkJCQlwb3AgPSBhcnIucG9wLAoJCQkJcHVzaF9uYXRpdmUgPSBhcnIucHVzaCwKCQkJCXB1c2ggPSBhcnIucHVzaCwKCQkJCXNsaWNlID0gYXJyLnNsaWNlLAoJCQkJLy8gVXNlIGEgc3RyaXBwZWQtZG93biBpbmRleE9mIGFzIGl0J3MgZmFzdGVyIHRoYW4gbmF0aXZlCgkJCQkvLyBodHRwczovL2pzcGVyZi5jb20vdGhvci1pbmRleG9mLXZzLWZvci81CgkJCQlpbmRleE9mID0gZnVuY3Rpb24oIGxpc3QsIGVsZW0gKSB7CgkJCQkJdmFyIGkgPSAwLAoJCQkJCQlsZW4gPSBsaXN0Lmxlbmd0aDsKCQkJCQlmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsKCQkJCQkJaWYgKCBsaXN0W2ldID09PSBlbGVtICkgewoJCQkJCQkJcmV0dXJuIGk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJcmV0dXJuIC0xOwoJCQkJfSwKCgkJCQlib29sZWFucyA9ICJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsCgoJCQkJLy8gUmVndWxhciBleHByZXNzaW9ucwoKCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtc2VsZWN0b3JzLyN3aGl0ZXNwYWNlCgkJCQl3aGl0ZXNwYWNlID0gIltcXHgyMFxcdFxcclxcblxcZl0iLAoKCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3N5bmRhdGEuaHRtbCN2YWx1ZS1kZWYtaWRlbnRpZmllcgoJCQkJaWRlbnRpZmllciA9ICIoPzpcXFxcLnxbXFx3LV18W15cMC1cXHhhMF0pKyIsCgoJCQkJLy8gQXR0cmlidXRlIHNlbGVjdG9yczogaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNhdHRyaWJ1dGUtc2VsZWN0b3JzCgkJCQlhdHRyaWJ1dGVzID0gIlxcWyIgKyB3aGl0ZXNwYWNlICsgIiooIiArIGlkZW50aWZpZXIgKyAiKSg/OiIgKyB3aGl0ZXNwYWNlICsKCQkJCQkvLyBPcGVyYXRvciAoY2FwdHVyZSAyKQoJCQkJCSIqKFsqXiR8IX5dPz0pIiArIHdoaXRlc3BhY2UgKwoJCQkJCS8vICJBdHRyaWJ1dGUgdmFsdWVzIG11c3QgYmUgQ1NTIGlkZW50aWZpZXJzIFtjYXB0dXJlIDVdIG9yIHN0cmluZ3MgW2NhcHR1cmUgMyBvciBjYXB0dXJlIDRdIgoJCQkJCSIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIgKyBpZGVudGlmaWVyICsgIikpfCkiICsgd2hpdGVzcGFjZSArCgkJCQkJIipcXF0iLAoKCQkJCXBzZXVkb3MgPSAiOigiICsgaWRlbnRpZmllciArICIpKD86XFwoKCIgKwoJCQkJCS8vIFRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHNlbGVjdG9ycyBuZWVkaW5nIHRva2VuaXplIGluIHRoZSBwcmVGaWx0ZXIsIHByZWZlciBhcmd1bWVudHM6CgkJCQkJLy8gMS4gcXVvdGVkIChjYXB0dXJlIDM7IGNhcHR1cmUgNCBvciBjYXB0dXJlIDUpCgkJCQkJIignKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8IiArCgkJCQkJLy8gMi4gc2ltcGxlIChjYXB0dXJlIDYpCgkJCQkJIigoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIgKyBhdHRyaWJ1dGVzICsgIikqKXwiICsKCQkJCQkvLyAzLiBhbnl0aGluZyBlbHNlIChjYXB0dXJlIDIpCgkJCQkJIi4qIiArCgkJCQkJIilcXCl8KSIsCgoJCQkJLy8gTGVhZGluZyBhbmQgbm9uLWVzY2FwZWQgdHJhaWxpbmcgd2hpdGVzcGFjZSwgY2FwdHVyaW5nIHNvbWUgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVycyBwcmVjZWRpbmcgdGhlIGxhdHRlcgoJCQkJcndoaXRlc3BhY2UgPSBuZXcgUmVnRXhwKCB3aGl0ZXNwYWNlICsgIisiLCAiZyIgKSwKCQkJCXJ0cmltID0gbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiICsgd2hpdGVzcGFjZSArICIrJCIsICJnIiApLAoKCQkJCXJjb21tYSA9IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKiwiICsgd2hpdGVzcGFjZSArICIqIiApLAoJCQkJcmNvbWJpbmF0b3JzID0gbmV3IFJlZ0V4cCggIl4iICsgd2hpdGVzcGFjZSArICIqKFs+K35dfCIgKyB3aGl0ZXNwYWNlICsgIikiICsgd2hpdGVzcGFjZSArICIqIiApLAoKCQkJCXJhdHRyaWJ1dGVRdW90ZXMgPSBuZXcgUmVnRXhwKCAiPSIgKyB3aGl0ZXNwYWNlICsgIiooW15cXF0nXCJdKj8pIiArIHdoaXRlc3BhY2UgKyAiKlxcXSIsICJnIiApLAoKCQkJCXJwc2V1ZG8gPSBuZXcgUmVnRXhwKCBwc2V1ZG9zICksCgkJCQlyaWRlbnRpZmllciA9IG5ldyBSZWdFeHAoICJeIiArIGlkZW50aWZpZXIgKyAiJCIgKSwKCgkJCQltYXRjaEV4cHIgPSB7CgkJCQkJIklEIjogbmV3IFJlZ0V4cCggIl4jKCIgKyBpZGVudGlmaWVyICsgIikiICksCgkJCQkJIkNMQVNTIjogbmV3IFJlZ0V4cCggIl5cXC4oIiArIGlkZW50aWZpZXIgKyAiKSIgKSwKCQkJCQkiVEFHIjogbmV3IFJlZ0V4cCggIl4oIiArIGlkZW50aWZpZXIgKyAifFsqXSkiICksCgkJCQkJIkFUVFIiOiBuZXcgUmVnRXhwKCAiXiIgKyBhdHRyaWJ1dGVzICksCgkJCQkJIlBTRVVETyI6IG5ldyBSZWdFeHAoICJeIiArIHBzZXVkb3MgKSwKCQkJCQkiQ0hJTEQiOiBuZXcgUmVnRXhwKCAiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIiArIHdoaXRlc3BhY2UgKwoJCQkJCQkiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIgKyB3aGl0ZXNwYWNlICsgIiooPzooWystXXwpIiArIHdoaXRlc3BhY2UgKwoJCQkJCQkiKihcXGQrKXwpKSIgKyB3aGl0ZXNwYWNlICsgIipcXCl8KSIsICJpIiApLAoJCQkJCSJib29sIjogbmV3IFJlZ0V4cCggIl4oPzoiICsgYm9vbGVhbnMgKyAiKSQiLCAiaSIgKSwKCQkJCQkvLyBGb3IgdXNlIGluIGxpYnJhcmllcyBpbXBsZW1lbnRpbmcgLmlzKCkKCQkJCQkvLyBXZSB1c2UgdGhpcyBmb3IgUE9TIG1hdGNoaW5nIGluIGBzZWxlY3RgCgkJCQkJIm5lZWRzQ29udGV4dCI6IG5ldyBSZWdFeHAoICJeIiArIHdoaXRlc3BhY2UgKyAiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIiArCgkJCQkJCXdoaXRlc3BhY2UgKyAiKigoPzotXFxkKT9cXGQqKSIgKyB3aGl0ZXNwYWNlICsgIipcXCl8KSg/PVteLV18JCkiLCAiaSIgKQoJCQkJfSwKCgkJCQlyaW5wdXRzID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSwKCQkJCXJoZWFkZXIgPSAvXmhcZCQvaSwKCgkJCQlybmF0aXZlID0gL15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLAoKCQkJCS8vIEVhc2lseS1wYXJzZWFibGUvcmV0cmlldmFibGUgSUQgb3IgVEFHIG9yIENMQVNTIHNlbGVjdG9ycwoJCQkJcnF1aWNrRXhwciA9IC9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sCgoJCQkJcnNpYmxpbmcgPSAvWyt+XS8sCgoJCQkJLy8gQ1NTIGVzY2FwZXMKCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3N5bmRhdGEuaHRtbCNlc2NhcGVkLWNoYXJhY3RlcnMKCQkJCXJ1bmVzY2FwZSA9IG5ldyBSZWdFeHAoICJcXFxcKFtcXGRhLWZdezEsNn0iICsgd2hpdGVzcGFjZSArICI/fCgiICsgd2hpdGVzcGFjZSArICIpfC4pIiwgImlnIiApLAoJCQkJZnVuZXNjYXBlID0gZnVuY3Rpb24oIF8sIGVzY2FwZWQsIGVzY2FwZWRXaGl0ZXNwYWNlICkgewoJCQkJCXZhciBoaWdoID0gIjB4IiArIGVzY2FwZWQgLSAweDEwMDAwOwoJCQkJCS8vIE5hTiBtZWFucyBub24tY29kZXBvaW50CgkJCQkJLy8gU3VwcG9ydDogRmlyZWZveDwyNAoJCQkJCS8vIFdvcmthcm91bmQgZXJyb25lb3VzIG51bWVyaWMgaW50ZXJwcmV0YXRpb24gb2YgKyIweCIKCQkJCQlyZXR1cm4gaGlnaCAhPT0gaGlnaCB8fCBlc2NhcGVkV2hpdGVzcGFjZSA/CgkJCQkJCWVzY2FwZWQgOgoJCQkJCQloaWdoIDwgMCA/CgkJCQkJCQkvLyBCTVAgY29kZXBvaW50CgkJCQkJCQlTdHJpbmcuZnJvbUNoYXJDb2RlKCBoaWdoICsgMHgxMDAwMCApIDoKCQkJCQkJCS8vIFN1cHBsZW1lbnRhbCBQbGFuZSBjb2RlcG9pbnQgKHN1cnJvZ2F0ZSBwYWlyKQoJCQkJCQkJU3RyaW5nLmZyb21DaGFyQ29kZSggaGlnaCA+PiAxMCB8IDB4RDgwMCwgaGlnaCAmIDB4M0ZGIHwgMHhEQzAwICk7CgkJCQl9LAoKCQkJCS8vIENTUyBzdHJpbmcvaWRlbnRpZmllciBzZXJpYWxpemF0aW9uCgkJCQkvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20vI2NvbW1vbi1zZXJpYWxpemluZy1pZGlvbXMKCQkJCXJjc3Nlc2NhcGUgPSAvKFtcMC1ceDFmXHg3Zl18Xi0/XGQpfF4tJHxbXlwwLVx4MWZceDdmLVx1RkZGRlx3LV0vZywKCQkJCWZjc3Nlc2NhcGUgPSBmdW5jdGlvbiggY2gsIGFzQ29kZVBvaW50ICkgewoJCQkJCWlmICggYXNDb2RlUG9pbnQgKSB7CgoJCQkJCQkvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKCQkJCQkJaWYgKCBjaCA9PT0gIlwwIiApIHsKCQkJCQkJCXJldHVybiAiXHVGRkZEIjsKCQkJCQkJfQoKCQkJCQkJLy8gQ29udHJvbCBjaGFyYWN0ZXJzIGFuZCAoZGVwZW5kZW50IHVwb24gcG9zaXRpb24pIG51bWJlcnMgZ2V0IGVzY2FwZWQgYXMgY29kZSBwb2ludHMKCQkJCQkJcmV0dXJuIGNoLnNsaWNlKCAwLCAtMSApICsgIlxcIiArIGNoLmNoYXJDb2RlQXQoIGNoLmxlbmd0aCAtIDEgKS50b1N0cmluZyggMTYgKSArICIgIjsKCQkJCQl9CgoJCQkJCS8vIE90aGVyIHBvdGVudGlhbGx5LXNwZWNpYWwgQVNDSUkgY2hhcmFjdGVycyBnZXQgYmFja3NsYXNoLWVzY2FwZWQKCQkJCQlyZXR1cm4gIlxcIiArIGNoOwoJCQkJfSwKCgkJCQkvLyBVc2VkIGZvciBpZnJhbWVzCgkJCQkvLyBTZWUgc2V0RG9jdW1lbnQoKQoJCQkJLy8gUmVtb3ZpbmcgdGhlIGZ1bmN0aW9uIHdyYXBwZXIgY2F1c2VzIGEgIlBlcm1pc3Npb24gRGVuaWVkIgoJCQkJLy8gZXJyb3IgaW4gSUUKCQkJCXVubG9hZEhhbmRsZXIgPSBmdW5jdGlvbigpIHsKCQkJCQlzZXREb2N1bWVudCgpOwoJCQkJfSwKCgkJCQlkaXNhYmxlZEFuY2VzdG9yID0gYWRkQ29tYmluYXRvcigKCQkJCQlmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IHRydWUgJiYgKCJmb3JtIiBpbiBlbGVtIHx8ICJsYWJlbCIgaW4gZWxlbSk7CgkJCQkJfSwKCQkJCQl7IGRpcjogInBhcmVudE5vZGUiLCBuZXh0OiAibGVnZW5kIiB9CgkJCQkpOwoKLy8gT3B0aW1pemUgZm9yIHB1c2guYXBwbHkoIF8sIE5vZGVMaXN0ICkKCQkJdHJ5IHsKCQkJCXB1c2guYXBwbHkoCgkJCQkJKGFyciA9IHNsaWNlLmNhbGwoIHByZWZlcnJlZERvYy5jaGlsZE5vZGVzICkpLAoJCQkJCXByZWZlcnJlZERvYy5jaGlsZE5vZGVzCgkJCQkpOwoJCQkJLy8gU3VwcG9ydDogQW5kcm9pZDw0LjAKCQkJCS8vIERldGVjdCBzaWxlbnRseSBmYWlsaW5nIHB1c2guYXBwbHkKCQkJCWFyclsgcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMubGVuZ3RoIF0ubm9kZVR5cGU7CgkJCX0gY2F0Y2ggKCBlICkgewoJCQkJcHVzaCA9IHsgYXBwbHk6IGFyci5sZW5ndGggPwoKCQkJCQkJLy8gTGV2ZXJhZ2Ugc2xpY2UgaWYgcG9zc2libGUKCQkJCQkJZnVuY3Rpb24oIHRhcmdldCwgZWxzICkgewoJCQkJCQkJcHVzaF9uYXRpdmUuYXBwbHkoIHRhcmdldCwgc2xpY2UuY2FsbChlbHMpICk7CgkJCQkJCX0gOgoKCQkJCQkJLy8gU3VwcG9ydDogSUU8OQoJCQkJCQkvLyBPdGhlcndpc2UgYXBwZW5kIGRpcmVjdGx5CgkJCQkJCWZ1bmN0aW9uKCB0YXJnZXQsIGVscyApIHsKCQkJCQkJCXZhciBqID0gdGFyZ2V0Lmxlbmd0aCwKCQkJCQkJCQlpID0gMDsKCQkJCQkJCS8vIENhbid0IHRydXN0IE5vZGVMaXN0Lmxlbmd0aAoJCQkJCQkJd2hpbGUgKCAodGFyZ2V0W2orK10gPSBlbHNbaSsrXSkgKSB7fQoJCQkJCQkJdGFyZ2V0Lmxlbmd0aCA9IGogLSAxOwoJCQkJCQl9CgkJCQl9OwoJCQl9CgoJCQlmdW5jdGlvbiBTaXp6bGUoIHNlbGVjdG9yLCBjb250ZXh0LCByZXN1bHRzLCBzZWVkICkgewoJCQkJdmFyIG0sIGksIGVsZW0sIG5pZCwgbWF0Y2gsIGdyb3VwcywgbmV3U2VsZWN0b3IsCgkJCQkJbmV3Q29udGV4dCA9IGNvbnRleHQgJiYgY29udGV4dC5vd25lckRvY3VtZW50LAoKCQkJCQkvLyBub2RlVHlwZSBkZWZhdWx0cyB0byA5LCBzaW5jZSBjb250ZXh0IGRlZmF1bHRzIHRvIGRvY3VtZW50CgkJCQkJbm9kZVR5cGUgPSBjb250ZXh0ID8gY29udGV4dC5ub2RlVHlwZSA6IDk7CgoJCQkJcmVzdWx0cyA9IHJlc3VsdHMgfHwgW107CgoJCQkJLy8gUmV0dXJuIGVhcmx5IGZyb20gY2FsbHMgd2l0aCBpbnZhbGlkIHNlbGVjdG9yIG9yIGNvbnRleHQKCQkJCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiB8fCAhc2VsZWN0b3IgfHwKCQkJCQlub2RlVHlwZSAhPT0gMSAmJiBub2RlVHlwZSAhPT0gOSAmJiBub2RlVHlwZSAhPT0gMTEgKSB7CgoJCQkJCXJldHVybiByZXN1bHRzOwoJCQkJfQoKCQkJCS8vIFRyeSB0byBzaG9ydGN1dCBmaW5kIG9wZXJhdGlvbnMgKGFzIG9wcG9zZWQgdG8gZmlsdGVycykgaW4gSFRNTCBkb2N1bWVudHMKCQkJCWlmICggIXNlZWQgKSB7CgoJCQkJCWlmICggKCBjb250ZXh0ID8gY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgOiBwcmVmZXJyZWREb2MgKSAhPT0gZG9jdW1lbnQgKSB7CgkJCQkJCXNldERvY3VtZW50KCBjb250ZXh0ICk7CgkJCQkJfQoJCQkJCWNvbnRleHQgPSBjb250ZXh0IHx8IGRvY3VtZW50OwoKCQkJCQlpZiAoIGRvY3VtZW50SXNIVE1MICkgewoKCQkJCQkJLy8gSWYgdGhlIHNlbGVjdG9yIGlzIHN1ZmZpY2llbnRseSBzaW1wbGUsIHRyeSB1c2luZyBhICJnZXQqQnkqIiBET00gbWV0aG9kCgkJCQkJCS8vIChleGNlcHRpbmcgRG9jdW1lbnRGcmFnbWVudCBjb250ZXh0LCB3aGVyZSB0aGUgbWV0aG9kcyBkb24ndCBleGlzdCkKCQkJCQkJaWYgKCBub2RlVHlwZSAhPT0gMTEgJiYgKG1hdGNoID0gcnF1aWNrRXhwci5leGVjKCBzZWxlY3RvciApKSApIHsKCgkJCQkJCQkvLyBJRCBzZWxlY3RvcgoJCQkJCQkJaWYgKCAobSA9IG1hdGNoWzFdKSApIHsKCgkJCQkJCQkJLy8gRG9jdW1lbnQgY29udGV4dAoJCQkJCQkJCWlmICggbm9kZVR5cGUgPT09IDkgKSB7CgkJCQkJCQkJCWlmICggKGVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBtICkpICkgewoKCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFLCBPcGVyYSwgV2Via2l0CgkJCQkJCQkJCQkvLyBUT0RPOiBpZGVudGlmeSB2ZXJzaW9ucwoJCQkJCQkJCQkJLy8gZ2V0RWxlbWVudEJ5SWQgY2FuIG1hdGNoIGVsZW1lbnRzIGJ5IG5hbWUgaW5zdGVhZCBvZiBJRAoJCQkJCQkJCQkJaWYgKCBlbGVtLmlkID09PSBtICkgewoJCQkJCQkJCQkJCXJlc3VsdHMucHVzaCggZWxlbSApOwoJCQkJCQkJCQkJCXJldHVybiByZXN1bHRzOwoJCQkJCQkJCQkJfQoJCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQkJcmV0dXJuIHJlc3VsdHM7CgkJCQkJCQkJCX0KCgkJCQkJCQkJCS8vIEVsZW1lbnQgY29udGV4dAoJCQkJCQkJCX0gZWxzZSB7CgoJCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSwgT3BlcmEsIFdlYmtpdAoJCQkJCQkJCQkvLyBUT0RPOiBpZGVudGlmeSB2ZXJzaW9ucwoJCQkJCQkJCQkvLyBnZXRFbGVtZW50QnlJZCBjYW4gbWF0Y2ggZWxlbWVudHMgYnkgbmFtZSBpbnN0ZWFkIG9mIElECgkJCQkJCQkJCWlmICggbmV3Q29udGV4dCAmJiAoZWxlbSA9IG5ld0NvbnRleHQuZ2V0RWxlbWVudEJ5SWQoIG0gKSkgJiYKCQkJCQkJCQkJCWNvbnRhaW5zKCBjb250ZXh0LCBlbGVtICkgJiYKCQkJCQkJCQkJCWVsZW0uaWQgPT09IG0gKSB7CgoJCQkJCQkJCQkJcmVzdWx0cy5wdXNoKCBlbGVtICk7CgkJCQkJCQkJCQlyZXR1cm4gcmVzdWx0czsKCQkJCQkJCQkJfQoJCQkJCQkJCX0KCgkJCQkJCQkJLy8gVHlwZSBzZWxlY3RvcgoJCQkJCQkJfSBlbHNlIGlmICggbWF0Y2hbMl0gKSB7CgkJCQkJCQkJcHVzaC5hcHBseSggcmVzdWx0cywgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggc2VsZWN0b3IgKSApOwoJCQkJCQkJCXJldHVybiByZXN1bHRzOwoKCQkJCQkJCQkvLyBDbGFzcyBzZWxlY3RvcgoJCQkJCQkJfSBlbHNlIGlmICggKG0gPSBtYXRjaFszXSkgJiYgc3VwcG9ydC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICYmCgkJCQkJCQkJY29udGV4dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lICkgewoKCQkJCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIG0gKSApOwoJCQkJCQkJCXJldHVybiByZXN1bHRzOwoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQkvLyBUYWtlIGFkdmFudGFnZSBvZiBxdWVyeVNlbGVjdG9yQWxsCgkJCQkJCWlmICggc3VwcG9ydC5xc2EgJiYKCQkJCQkJCSFjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdICYmCgkJCQkJCQkoIXJidWdneVFTQSB8fCAhcmJ1Z2d5UVNBLnRlc3QoIHNlbGVjdG9yICkpICkgewoKCQkJCQkJCWlmICggbm9kZVR5cGUgIT09IDEgKSB7CgkJCQkJCQkJbmV3Q29udGV4dCA9IGNvbnRleHQ7CgkJCQkJCQkJbmV3U2VsZWN0b3IgPSBzZWxlY3RvcjsKCgkJCQkJCQkJLy8gcVNBIGxvb2tzIG91dHNpZGUgRWxlbWVudCBjb250ZXh0LCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50CgkJCQkJCQkJLy8gVGhhbmtzIHRvIEFuZHJldyBEdXBvbnQgZm9yIHRoaXMgd29ya2Fyb3VuZCB0ZWNobmlxdWUKCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8PTgKCQkJCQkJCQkvLyBFeGNsdWRlIG9iamVjdCBlbGVtZW50cwoJCQkJCQkJfSBlbHNlIGlmICggY29udGV4dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAib2JqZWN0IiApIHsKCgkJCQkJCQkJLy8gQ2FwdHVyZSB0aGUgY29udGV4dCBJRCwgc2V0dGluZyBpdCBmaXJzdCBpZiBuZWNlc3NhcnkKCQkJCQkJCQlpZiAoIChuaWQgPSBjb250ZXh0LmdldEF0dHJpYnV0ZSggImlkIiApKSApIHsKCQkJCQkJCQkJbmlkID0gbmlkLnJlcGxhY2UoIHJjc3Nlc2NhcGUsIGZjc3Nlc2NhcGUgKTsKCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQljb250ZXh0LnNldEF0dHJpYnV0ZSggImlkIiwgKG5pZCA9IGV4cGFuZG8pICk7CgkJCQkJCQkJfQoKCQkJCQkJCQkvLyBQcmVmaXggZXZlcnkgc2VsZWN0b3IgaW4gdGhlIGxpc3QKCQkJCQkJCQlncm91cHMgPSB0b2tlbml6ZSggc2VsZWN0b3IgKTsKCQkJCQkJCQlpID0gZ3JvdXBzLmxlbmd0aDsKCQkJCQkJCQl3aGlsZSAoIGktLSApIHsKCQkJCQkJCQkJZ3JvdXBzW2ldID0gIiMiICsgbmlkICsgIiAiICsgdG9TZWxlY3RvciggZ3JvdXBzW2ldICk7CgkJCQkJCQkJfQoJCQkJCQkJCW5ld1NlbGVjdG9yID0gZ3JvdXBzLmpvaW4oICIsIiApOwoKCQkJCQkJCQkvLyBFeHBhbmQgY29udGV4dCBmb3Igc2libGluZyBzZWxlY3RvcnMKCQkJCQkJCQluZXdDb250ZXh0ID0gcnNpYmxpbmcudGVzdCggc2VsZWN0b3IgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwKCQkJCQkJCQkJY29udGV4dDsKCQkJCQkJCX0KCgkJCQkJCQlpZiAoIG5ld1NlbGVjdG9yICkgewoJCQkJCQkJCXRyeSB7CgkJCQkJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsCgkJCQkJCQkJCQluZXdDb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIG5ld1NlbGVjdG9yICkKCQkJCQkJCQkJKTsKCQkJCQkJCQkJcmV0dXJuIHJlc3VsdHM7CgkJCQkJCQkJfSBjYXRjaCAoIHFzYUVycm9yICkgewoJCQkJCQkJCX0gZmluYWxseSB7CgkJCQkJCQkJCWlmICggbmlkID09PSBleHBhbmRvICkgewoJCQkJCQkJCQkJY29udGV4dC5yZW1vdmVBdHRyaWJ1dGUoICJpZCIgKTsKCQkJCQkJCQkJfQoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQkvLyBBbGwgb3RoZXJzCgkJCQlyZXR1cm4gc2VsZWN0KCBzZWxlY3Rvci5yZXBsYWNlKCBydHJpbSwgIiQxIiApLCBjb250ZXh0LCByZXN1bHRzLCBzZWVkICk7CgkJCX0KCgkJCS8qKgoJCQkgKiBDcmVhdGUga2V5LXZhbHVlIGNhY2hlcyBvZiBsaW1pdGVkIHNpemUKCQkJICogQHJldHVybnMge2Z1bmN0aW9uKHN0cmluZywgb2JqZWN0KX0gUmV0dXJucyB0aGUgT2JqZWN0IGRhdGEgYWZ0ZXIgc3RvcmluZyBpdCBvbiBpdHNlbGYgd2l0aAoJCQkgKglwcm9wZXJ0eSBuYW1lIHRoZSAoc3BhY2Utc3VmZml4ZWQpIHN0cmluZyBhbmQgKGlmIHRoZSBjYWNoZSBpcyBsYXJnZXIgdGhhbiBFeHByLmNhY2hlTGVuZ3RoKQoJCQkgKglkZWxldGluZyB0aGUgb2xkZXN0IGVudHJ5CgkJCSAqLwoJCQlmdW5jdGlvbiBjcmVhdGVDYWNoZSgpIHsKCQkJCXZhciBrZXlzID0gW107CgoJCQkJZnVuY3Rpb24gY2FjaGUoIGtleSwgdmFsdWUgKSB7CgkJCQkJLy8gVXNlIChrZXkgKyAiICIpIHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIG5hdGl2ZSBwcm90b3R5cGUgcHJvcGVydGllcyAoc2VlIElzc3VlICMxNTcpCgkJCQkJaWYgKCBrZXlzLnB1c2goIGtleSArICIgIiApID4gRXhwci5jYWNoZUxlbmd0aCApIHsKCQkJCQkJLy8gT25seSBrZWVwIHRoZSBtb3N0IHJlY2VudCBlbnRyaWVzCgkJCQkJCWRlbGV0ZSBjYWNoZVsga2V5cy5zaGlmdCgpIF07CgkJCQkJfQoJCQkJCXJldHVybiAoY2FjaGVbIGtleSArICIgIiBdID0gdmFsdWUpOwoJCQkJfQoJCQkJcmV0dXJuIGNhY2hlOwoJCQl9CgoJCQkvKioKCQkJICogTWFyayBhIGZ1bmN0aW9uIGZvciBzcGVjaWFsIHVzZSBieSBTaXp6bGUKCQkJICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIG1hcmsKCQkJICovCgkJCWZ1bmN0aW9uIG1hcmtGdW5jdGlvbiggZm4gKSB7CgkJCQlmblsgZXhwYW5kbyBdID0gdHJ1ZTsKCQkJCXJldHVybiBmbjsKCQkJfQoKCQkJLyoqCgkJCSAqIFN1cHBvcnQgdGVzdGluZyB1c2luZyBhbiBlbGVtZW50CgkJCSAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIFBhc3NlZCB0aGUgY3JlYXRlZCBlbGVtZW50IGFuZCByZXR1cm5zIGEgYm9vbGVhbiByZXN1bHQKCQkJICovCgkJCWZ1bmN0aW9uIGFzc2VydCggZm4gKSB7CgkJCQl2YXIgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpOwoKCQkJCXRyeSB7CgkJCQkJcmV0dXJuICEhZm4oIGVsICk7CgkJCQl9IGNhdGNoIChlKSB7CgkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJfSBmaW5hbGx5IHsKCQkJCQkvLyBSZW1vdmUgZnJvbSBpdHMgcGFyZW50IGJ5IGRlZmF1bHQKCQkJCQlpZiAoIGVsLnBhcmVudE5vZGUgKSB7CgkJCQkJCWVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIGVsICk7CgkJCQkJfQoJCQkJCS8vIHJlbGVhc2UgbWVtb3J5IGluIElFCgkJCQkJZWwgPSBudWxsOwoJCQkJfQoJCQl9CgoJCQkvKioKCQkJICogQWRkcyB0aGUgc2FtZSBoYW5kbGVyIGZvciBhbGwgb2YgdGhlIHNwZWNpZmllZCBhdHRycwoJCQkgKiBAcGFyYW0ge1N0cmluZ30gYXR0cnMgUGlwZS1zZXBhcmF0ZWQgbGlzdCBvZiBhdHRyaWJ1dGVzCgkJCSAqIEBwYXJhbSB7RnVuY3Rpb259IGhhbmRsZXIgVGhlIG1ldGhvZCB0aGF0IHdpbGwgYmUgYXBwbGllZAoJCQkgKi8KCQkJZnVuY3Rpb24gYWRkSGFuZGxlKCBhdHRycywgaGFuZGxlciApIHsKCQkJCXZhciBhcnIgPSBhdHRycy5zcGxpdCgifCIpLAoJCQkJCWkgPSBhcnIubGVuZ3RoOwoKCQkJCXdoaWxlICggaS0tICkgewoJCQkJCUV4cHIuYXR0ckhhbmRsZVsgYXJyW2ldIF0gPSBoYW5kbGVyOwoJCQkJfQoJCQl9CgoJCQkvKioKCQkJICogQ2hlY2tzIGRvY3VtZW50IG9yZGVyIG9mIHR3byBzaWJsaW5ncwoJCQkgKiBAcGFyYW0ge0VsZW1lbnR9IGEKCQkJICogQHBhcmFtIHtFbGVtZW50fSBiCgkJCSAqIEByZXR1cm5zIHtOdW1iZXJ9IFJldHVybnMgbGVzcyB0aGFuIDAgaWYgYSBwcmVjZWRlcyBiLCBncmVhdGVyIHRoYW4gMCBpZiBhIGZvbGxvd3MgYgoJCQkgKi8KCQkJZnVuY3Rpb24gc2libGluZ0NoZWNrKCBhLCBiICkgewoJCQkJdmFyIGN1ciA9IGIgJiYgYSwKCQkJCQlkaWZmID0gY3VyICYmIGEubm9kZVR5cGUgPT09IDEgJiYgYi5ub2RlVHlwZSA9PT0gMSAmJgoJCQkJCQlhLnNvdXJjZUluZGV4IC0gYi5zb3VyY2VJbmRleDsKCgkJCQkvLyBVc2UgSUUgc291cmNlSW5kZXggaWYgYXZhaWxhYmxlIG9uIGJvdGggbm9kZXMKCQkJCWlmICggZGlmZiApIHsKCQkJCQlyZXR1cm4gZGlmZjsKCQkJCX0KCgkJCQkvLyBDaGVjayBpZiBiIGZvbGxvd3MgYQoJCQkJaWYgKCBjdXIgKSB7CgkJCQkJd2hpbGUgKCAoY3VyID0gY3VyLm5leHRTaWJsaW5nKSApIHsKCQkJCQkJaWYgKCBjdXIgPT09IGIgKSB7CgkJCQkJCQlyZXR1cm4gLTE7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJcmV0dXJuIGEgPyAxIDogLTE7CgkJCX0KCgkJCS8qKgoJCQkgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdXNlIGluIHBzZXVkb3MgZm9yIGlucHV0IHR5cGVzCgkJCSAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlCgkJCSAqLwoJCQlmdW5jdGlvbiBjcmVhdGVJbnB1dFBzZXVkbyggdHlwZSApIHsKCQkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQl2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCQkJCQlyZXR1cm4gbmFtZSA9PT0gImlucHV0IiAmJiBlbGVtLnR5cGUgPT09IHR5cGU7CgkJCQl9OwoJCQl9CgoJCQkvKioKCQkJICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBidXR0b25zCgkJCSAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlCgkJCSAqLwoJCQlmdW5jdGlvbiBjcmVhdGVCdXR0b25Qc2V1ZG8oIHR5cGUgKSB7CgkJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJdmFyIG5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CgkJCQkJcmV0dXJuIChuYW1lID09PSAiaW5wdXQiIHx8IG5hbWUgPT09ICJidXR0b24iKSAmJiBlbGVtLnR5cGUgPT09IHR5cGU7CgkJCQl9OwoJCQl9CgoJCQkvKioKCQkJICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciA6ZW5hYmxlZC86ZGlzYWJsZWQKCQkJICogQHBhcmFtIHtCb29sZWFufSBkaXNhYmxlZCB0cnVlIGZvciA6ZGlzYWJsZWQ7IGZhbHNlIGZvciA6ZW5hYmxlZAoJCQkgKi8KCQkJZnVuY3Rpb24gY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIGRpc2FibGVkICkgewoKCQkJCS8vIEtub3duIDpkaXNhYmxlZCBmYWxzZSBwb3NpdGl2ZXM6IGZpZWxkc2V0W2Rpc2FibGVkXSA+IGxlZ2VuZDpudGgtb2YtdHlwZShuKzIpIDpjYW4tZGlzYWJsZQoJCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgewoKCQkJCQkvLyBPbmx5IGNlcnRhaW4gZWxlbWVudHMgY2FuIG1hdGNoIDplbmFibGVkIG9yIDpkaXNhYmxlZAoJCQkJCS8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NjcmlwdGluZy5odG1sI3NlbGVjdG9yLWVuYWJsZWQKCQkJCQkvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzZWxlY3Rvci1kaXNhYmxlZAoJCQkJCWlmICggImZvcm0iIGluIGVsZW0gKSB7CgoJCQkJCQkvLyBDaGVjayBmb3IgaW5oZXJpdGVkIGRpc2FibGVkbmVzcyBvbiByZWxldmFudCBub24tZGlzYWJsZWQgZWxlbWVudHM6CgkJCQkJCS8vICogbGlzdGVkIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50cyBpbiBhIGRpc2FibGVkIGZpZWxkc2V0CgkJCQkJCS8vICAgaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybXMuaHRtbCNjYXRlZ29yeS1saXN0ZWQKCQkJCQkJLy8gICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2NvbmNlcHQtZmUtZGlzYWJsZWQKCQkJCQkJLy8gKiBvcHRpb24gZWxlbWVudHMgaW4gYSBkaXNhYmxlZCBvcHRncm91cAoJCQkJCQkvLyAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY29uY2VwdC1vcHRpb24tZGlzYWJsZWQKCQkJCQkJLy8gQWxsIHN1Y2ggZWxlbWVudHMgaGF2ZSBhICJmb3JtIiBwcm9wZXJ0eS4KCQkJCQkJaWYgKCBlbGVtLnBhcmVudE5vZGUgJiYgZWxlbS5kaXNhYmxlZCA9PT0gZmFsc2UgKSB7CgoJCQkJCQkJLy8gT3B0aW9uIGVsZW1lbnRzIGRlZmVyIHRvIGEgcGFyZW50IG9wdGdyb3VwIGlmIHByZXNlbnQKCQkJCQkJCWlmICggImxhYmVsIiBpbiBlbGVtICkgewoJCQkJCQkJCWlmICggImxhYmVsIiBpbiBlbGVtLnBhcmVudE5vZGUgKSB7CgkJCQkJCQkJCXJldHVybiBlbGVtLnBhcmVudE5vZGUuZGlzYWJsZWQgPT09IGRpc2FibGVkOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsKCQkJCQkJCQl9CgkJCQkJCQl9CgoJCQkJCQkJLy8gU3VwcG9ydDogSUUgNiAtIDExCgkJCQkJCQkvLyBVc2UgdGhlIGlzRGlzYWJsZWQgc2hvcnRjdXQgcHJvcGVydHkgdG8gY2hlY2sgZm9yIGRpc2FibGVkIGZpZWxkc2V0IGFuY2VzdG9ycwoJCQkJCQkJcmV0dXJuIGVsZW0uaXNEaXNhYmxlZCA9PT0gZGlzYWJsZWQgfHwKCgkJCQkJCQkJLy8gV2hlcmUgdGhlcmUgaXMgbm8gaXNEaXNhYmxlZCwgY2hlY2sgbWFudWFsbHkKCQkJCQkJCQkvKiBqc2hpbnQgLVcwMTggKi8KCQkJCQkJCQllbGVtLmlzRGlzYWJsZWQgIT09ICFkaXNhYmxlZCAmJgoJCQkJCQkJCWRpc2FibGVkQW5jZXN0b3IoIGVsZW0gKSA9PT0gZGlzYWJsZWQ7CgkJCQkJCX0KCgkJCQkJCXJldHVybiBlbGVtLmRpc2FibGVkID09PSBkaXNhYmxlZDsKCgkJCQkJCS8vIFRyeSB0byB3aW5ub3cgb3V0IGVsZW1lbnRzIHRoYXQgY2FuJ3QgYmUgZGlzYWJsZWQgYmVmb3JlIHRydXN0aW5nIHRoZSBkaXNhYmxlZCBwcm9wZXJ0eS4KCQkJCQkJLy8gU29tZSB2aWN0aW1zIGdldCBjYXVnaHQgaW4gb3VyIG5ldCAobGFiZWwsIGxlZ2VuZCwgbWVudSwgdHJhY2spLCBidXQgaXQgc2hvdWxkbid0CgkJCQkJCS8vIGV2ZW4gZXhpc3Qgb24gdGhlbSwgbGV0IGFsb25lIGhhdmUgYSBib29sZWFuIHZhbHVlLgoJCQkJCX0gZWxzZSBpZiAoICJsYWJlbCIgaW4gZWxlbSApIHsKCQkJCQkJcmV0dXJuIGVsZW0uZGlzYWJsZWQgPT09IGRpc2FibGVkOwoJCQkJCX0KCgkJCQkJLy8gUmVtYWluaW5nIGVsZW1lbnRzIGFyZSBuZWl0aGVyIDplbmFibGVkIG5vciA6ZGlzYWJsZWQKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9OwoJCQl9CgoJCQkvKioKCQkJICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBwb3NpdGlvbmFscwoJCQkgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbgoJCQkgKi8KCQkJZnVuY3Rpb24gY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZm4gKSB7CgkJCQlyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBhcmd1bWVudCApIHsKCQkJCQlhcmd1bWVudCA9ICthcmd1bWVudDsKCQkJCQlyZXR1cm4gbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzICkgewoJCQkJCQl2YXIgaiwKCQkJCQkJCW1hdGNoSW5kZXhlcyA9IGZuKCBbXSwgc2VlZC5sZW5ndGgsIGFyZ3VtZW50ICksCgkJCQkJCQlpID0gbWF0Y2hJbmRleGVzLmxlbmd0aDsKCgkJCQkJCS8vIE1hdGNoIGVsZW1lbnRzIGZvdW5kIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXhlcwoJCQkJCQl3aGlsZSAoIGktLSApIHsKCQkJCQkJCWlmICggc2VlZFsgKGogPSBtYXRjaEluZGV4ZXNbaV0pIF0gKSB7CgkJCQkJCQkJc2VlZFtqXSA9ICEobWF0Y2hlc1tqXSA9IHNlZWRbal0pOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSk7CgkJCQl9KTsKCQkJfQoKCQkJLyoqCgkJCSAqIENoZWNrcyBhIG5vZGUgZm9yIHZhbGlkaXR5IGFzIGEgU2l6emxlIGNvbnRleHQKCQkJICogQHBhcmFtIHtFbGVtZW50fE9iamVjdD19IGNvbnRleHQKCQkJICogQHJldHVybnMge0VsZW1lbnR8T2JqZWN0fEJvb2xlYW59IFRoZSBpbnB1dCBub2RlIGlmIGFjY2VwdGFibGUsIG90aGVyd2lzZSBhIGZhbHN5IHZhbHVlCgkJCSAqLwoJCQlmdW5jdGlvbiB0ZXN0Q29udGV4dCggY29udGV4dCApIHsKCQkJCXJldHVybiBjb250ZXh0ICYmIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSAidW5kZWZpbmVkIiAmJiBjb250ZXh0OwoJCQl9CgovLyBFeHBvc2Ugc3VwcG9ydCB2YXJzIGZvciBjb252ZW5pZW5jZQoJCQlzdXBwb3J0ID0gU2l6emxlLnN1cHBvcnQgPSB7fTsKCgkJCS8qKgoJCQkgKiBEZXRlY3RzIFhNTCBub2RlcwoJCQkgKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0fSBlbGVtIEFuIGVsZW1lbnQgb3IgYSBkb2N1bWVudAoJCQkgKiBAcmV0dXJucyB7Qm9vbGVhbn0gVHJ1ZSBpZmYgZWxlbSBpcyBhIG5vbi1IVE1MIFhNTCBub2RlCgkJCSAqLwoJCQlpc1hNTCA9IFNpenpsZS5pc1hNTCA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJLy8gZG9jdW1lbnRFbGVtZW50IGlzIHZlcmlmaWVkIGZvciBjYXNlcyB3aGVyZSBpdCBkb2Vzbid0IHlldCBleGlzdAoJCQkJLy8gKHN1Y2ggYXMgbG9hZGluZyBpZnJhbWVzIGluIElFIC0gIzQ4MzMpCgkJCQl2YXIgZG9jdW1lbnRFbGVtZW50ID0gZWxlbSAmJiAoZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0pLmRvY3VtZW50RWxlbWVudDsKCQkJCXJldHVybiBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQubm9kZU5hbWUgIT09ICJIVE1MIiA6IGZhbHNlOwoJCQl9OwoKCQkJLyoqCgkJCSAqIFNldHMgZG9jdW1lbnQtcmVsYXRlZCB2YXJpYWJsZXMgb25jZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkb2N1bWVudAoJCQkgKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0fSBbZG9jXSBBbiBlbGVtZW50IG9yIGRvY3VtZW50IG9iamVjdCB0byB1c2UgdG8gc2V0IHRoZSBkb2N1bWVudAoJCQkgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjdXJyZW50IGRvY3VtZW50CgkJCSAqLwoJCQlzZXREb2N1bWVudCA9IFNpenpsZS5zZXREb2N1bWVudCA9IGZ1bmN0aW9uKCBub2RlICkgewoJCQkJdmFyIGhhc0NvbXBhcmUsIHN1YldpbmRvdywKCQkJCQlkb2MgPSBub2RlID8gbm9kZS5vd25lckRvY3VtZW50IHx8IG5vZGUgOiBwcmVmZXJyZWREb2M7CgoJCQkJLy8gUmV0dXJuIGVhcmx5IGlmIGRvYyBpcyBpbnZhbGlkIG9yIGFscmVhZHkgc2VsZWN0ZWQKCQkJCWlmICggZG9jID09PSBkb2N1bWVudCB8fCBkb2Mubm9kZVR5cGUgIT09IDkgfHwgIWRvYy5kb2N1bWVudEVsZW1lbnQgKSB7CgkJCQkJcmV0dXJuIGRvY3VtZW50OwoJCQkJfQoKCQkJCS8vIFVwZGF0ZSBnbG9iYWwgdmFyaWFibGVzCgkJCQlkb2N1bWVudCA9IGRvYzsKCQkJCWRvY0VsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CgkJCQlkb2N1bWVudElzSFRNTCA9ICFpc1hNTCggZG9jdW1lbnQgKTsKCgkJCQkvLyBTdXBwb3J0OiBJRSA5LTExLCBFZGdlCgkJCQkvLyBBY2Nlc3NpbmcgaWZyYW1lIGRvY3VtZW50cyBhZnRlciB1bmxvYWQgdGhyb3dzICJwZXJtaXNzaW9uIGRlbmllZCIgZXJyb3JzIChqUXVlcnkgIzEzOTM2KQoJCQkJaWYgKCBwcmVmZXJyZWREb2MgIT09IGRvY3VtZW50ICYmCgkJCQkJKHN1YldpbmRvdyA9IGRvY3VtZW50LmRlZmF1bHRWaWV3KSAmJiBzdWJXaW5kb3cudG9wICE9PSBzdWJXaW5kb3cgKSB7CgoJCQkJCS8vIFN1cHBvcnQ6IElFIDExLCBFZGdlCgkJCQkJaWYgKCBzdWJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lciApIHsKCQkJCQkJc3ViV2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICJ1bmxvYWQiLCB1bmxvYWRIYW5kbGVyLCBmYWxzZSApOwoKCQkJCQkJLy8gU3VwcG9ydDogSUUgOSAtIDEwIG9ubHkKCQkJCQl9IGVsc2UgaWYgKCBzdWJXaW5kb3cuYXR0YWNoRXZlbnQgKSB7CgkJCQkJCXN1YldpbmRvdy5hdHRhY2hFdmVudCggIm9udW5sb2FkIiwgdW5sb2FkSGFuZGxlciApOwoJCQkJCX0KCQkJCX0KCgkJCQkvKiBBdHRyaWJ1dGVzCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgoJCQkJLy8gU3VwcG9ydDogSUU8OAoJCQkJLy8gVmVyaWZ5IHRoYXQgZ2V0QXR0cmlidXRlIHJlYWxseSByZXR1cm5zIGF0dHJpYnV0ZXMgYW5kIG5vdCBwcm9wZXJ0aWVzCgkJCQkvLyAoZXhjZXB0aW5nIElFOCBib29sZWFucykKCQkJCXN1cHBvcnQuYXR0cmlidXRlcyA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7CgkJCQkJZWwuY2xhc3NOYW1lID0gImkiOwoJCQkJCXJldHVybiAhZWwuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKTsKCQkJCX0pOwoKCQkJCS8qIGdldEVsZW1lbnQocylCeSoKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCgkJCQkvLyBDaGVjayBpZiBnZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpIHJldHVybnMgb25seSBlbGVtZW50cwoJCQkJc3VwcG9ydC5nZXRFbGVtZW50c0J5VGFnTmFtZSA9IGFzc2VydChmdW5jdGlvbiggZWwgKSB7CgkJCQkJZWwuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIiIpICk7CgkJCQkJcmV0dXJuICFlbC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aDsKCQkJCX0pOwoKCQkJCS8vIFN1cHBvcnQ6IElFPDkKCQkJCXN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSA9IHJuYXRpdmUudGVzdCggZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSApOwoKCQkJCS8vIFN1cHBvcnQ6IElFPDEwCgkJCQkvLyBDaGVjayBpZiBnZXRFbGVtZW50QnlJZCByZXR1cm5zIGVsZW1lbnRzIGJ5IG5hbWUKCQkJCS8vIFRoZSBicm9rZW4gZ2V0RWxlbWVudEJ5SWQgbWV0aG9kcyBkb24ndCBwaWNrIHVwIHByb2dyYW1tYXRpY2FsbHktc2V0IG5hbWVzLAoJCQkJLy8gc28gdXNlIGEgcm91bmRhYm91dCBnZXRFbGVtZW50c0J5TmFtZSB0ZXN0CgkJCQlzdXBwb3J0LmdldEJ5SWQgPSBhc3NlcnQoZnVuY3Rpb24oIGVsICkgewoJCQkJCWRvY0VsZW0uYXBwZW5kQ2hpbGQoIGVsICkuaWQgPSBleHBhbmRvOwoJCQkJCXJldHVybiAhZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUgfHwgIWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCBleHBhbmRvICkubGVuZ3RoOwoJCQkJfSk7CgoJCQkJLy8gSUQgZmlsdGVyIGFuZCBmaW5kCgkJCQlpZiAoIHN1cHBvcnQuZ2V0QnlJZCApIHsKCQkJCQlFeHByLmZpbHRlclsiSUQiXSA9IGZ1bmN0aW9uKCBpZCApIHsKCQkJCQkJdmFyIGF0dHJJZCA9IGlkLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7CgkJCQkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSgiaWQiKSA9PT0gYXR0cklkOwoJCQkJCQl9OwoJCQkJCX07CgkJCQkJRXhwci5maW5kWyJJRCJdID0gZnVuY3Rpb24oIGlkLCBjb250ZXh0ICkgewoJCQkJCQlpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlkICE9PSAidW5kZWZpbmVkIiAmJiBkb2N1bWVudElzSFRNTCApIHsKCQkJCQkJCXZhciBlbGVtID0gY29udGV4dC5nZXRFbGVtZW50QnlJZCggaWQgKTsKCQkJCQkJCXJldHVybiBlbGVtID8gWyBlbGVtIF0gOiBbXTsKCQkJCQkJfQoJCQkJCX07CgkJCQl9IGVsc2UgewoJCQkJCUV4cHIuZmlsdGVyWyJJRCJdID0gIGZ1bmN0aW9uKCBpZCApIHsKCQkJCQkJdmFyIGF0dHJJZCA9IGlkLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7CgkJCQkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJCXZhciBub2RlID0gdHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlTm9kZSAhPT0gInVuZGVmaW5lZCIgJiYKCQkJCQkJCQllbGVtLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7CgkJCQkJCQlyZXR1cm4gbm9kZSAmJiBub2RlLnZhbHVlID09PSBhdHRySWQ7CgkJCQkJCX07CgkJCQkJfTsKCgkJCQkJLy8gU3VwcG9ydDogSUUgNiAtIDcgb25seQoJCQkJCS8vIGdldEVsZW1lbnRCeUlkIGlzIG5vdCByZWxpYWJsZSBhcyBhIGZpbmQgc2hvcnRjdXQKCQkJCQlFeHByLmZpbmRbIklEIl0gPSBmdW5jdGlvbiggaWQsIGNvbnRleHQgKSB7CgkJCQkJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQgIT09ICJ1bmRlZmluZWQiICYmIGRvY3VtZW50SXNIVE1MICkgewoJCQkJCQkJdmFyIG5vZGUsIGksIGVsZW1zLAoJCQkJCQkJCWVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBpZCApOwoKCQkJCQkJCWlmICggZWxlbSApIHsKCgkJCQkJCQkJLy8gVmVyaWZ5IHRoZSBpZCBhdHRyaWJ1dGUKCQkJCQkJCQlub2RlID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpOwoJCQkJCQkJCWlmICggbm9kZSAmJiBub2RlLnZhbHVlID09PSBpZCApIHsKCQkJCQkJCQkJcmV0dXJuIFsgZWxlbSBdOwoJCQkJCQkJCX0KCgkJCQkJCQkJLy8gRmFsbCBiYWNrIG9uIGdldEVsZW1lbnRzQnlOYW1lCgkJCQkJCQkJZWxlbXMgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlOYW1lKCBpZCApOwoJCQkJCQkJCWkgPSAwOwoJCQkJCQkJCXdoaWxlICggKGVsZW0gPSBlbGVtc1tpKytdKSApIHsKCQkJCQkJCQkJbm9kZSA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTsKCQkJCQkJCQkJaWYgKCBub2RlICYmIG5vZGUudmFsdWUgPT09IGlkICkgewoJCQkJCQkJCQkJcmV0dXJuIFsgZWxlbSBdOwoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJfQoKCQkJCQkJCXJldHVybiBbXTsKCQkJCQkJfQoJCQkJCX07CgkJCQl9CgoJCQkJLy8gVGFnCgkJCQlFeHByLmZpbmRbIlRBRyJdID0gc3VwcG9ydC5nZXRFbGVtZW50c0J5VGFnTmFtZSA/CgkJCQkJZnVuY3Rpb24oIHRhZywgY29udGV4dCApIHsKCQkJCQkJaWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSAhPT0gInVuZGVmaW5lZCIgKSB7CgkJCQkJCQlyZXR1cm4gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnICk7CgoJCQkJCQkJLy8gRG9jdW1lbnRGcmFnbWVudCBub2RlcyBkb24ndCBoYXZlIGdFQlROCgkJCQkJCX0gZWxzZSBpZiAoIHN1cHBvcnQucXNhICkgewoJCQkJCQkJcmV0dXJuIGNvbnRleHQucXVlcnlTZWxlY3RvckFsbCggdGFnICk7CgkJCQkJCX0KCQkJCQl9IDoKCgkJCQkJZnVuY3Rpb24oIHRhZywgY29udGV4dCApIHsKCQkJCQkJdmFyIGVsZW0sCgkJCQkJCQl0bXAgPSBbXSwKCQkJCQkJCWkgPSAwLAoJCQkJCQkJLy8gQnkgaGFwcHkgY29pbmNpZGVuY2UsIGEgKGJyb2tlbikgZ0VCVE4gYXBwZWFycyBvbiBEb2N1bWVudEZyYWdtZW50IG5vZGVzIHRvbwoJCQkJCQkJcmVzdWx0cyA9IGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIHRhZyApOwoKCQkJCQkJLy8gRmlsdGVyIG91dCBwb3NzaWJsZSBjb21tZW50cwoJCQkJCQlpZiAoIHRhZyA9PT0gIioiICkgewoJCQkJCQkJd2hpbGUgKCAoZWxlbSA9IHJlc3VsdHNbaSsrXSkgKSB7CgkJCQkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgewoJCQkJCQkJCQl0bXAucHVzaCggZWxlbSApOwoJCQkJCQkJCX0KCQkJCQkJCX0KCgkJCQkJCQlyZXR1cm4gdG1wOwoJCQkJCQl9CgkJCQkJCXJldHVybiByZXN1bHRzOwoJCQkJCX07CgoJCQkJLy8gQ2xhc3MKCQkJCUV4cHIuZmluZFsiQ0xBU1MiXSA9IHN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJiBmdW5jdGlvbiggY2xhc3NOYW1lLCBjb250ZXh0ICkgewoJCQkJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAhPT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnRJc0hUTUwgKSB7CgkJCQkJCXJldHVybiBjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIGNsYXNzTmFtZSApOwoJCQkJCX0KCQkJCX07CgoJCQkJLyogUVNBL21hdGNoZXNTZWxlY3RvcgoJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKCQkJCS8vIFFTQSBhbmQgbWF0Y2hlc1NlbGVjdG9yIHN1cHBvcnQKCgkJCQkvLyBtYXRjaGVzU2VsZWN0b3IoOmFjdGl2ZSkgcmVwb3J0cyBmYWxzZSB3aGVuIHRydWUgKElFOS9PcGVyYSAxMS41KQoJCQkJcmJ1Z2d5TWF0Y2hlcyA9IFtdOwoKCQkJCS8vIHFTYSg6Zm9jdXMpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChDaHJvbWUgMjEpCgkJCQkvLyBXZSBhbGxvdyB0aGlzIGJlY2F1c2Ugb2YgYSBidWcgaW4gSUU4LzkgdGhhdCB0aHJvd3MgYW4gZXJyb3IKCQkJCS8vIHdoZW5ldmVyIGBkb2N1bWVudC5hY3RpdmVFbGVtZW50YCBpcyBhY2Nlc3NlZCBvbiBhbiBpZnJhbWUKCQkJCS8vIFNvLCB3ZSBhbGxvdyA6Zm9jdXMgdG8gcGFzcyB0aHJvdWdoIFFTQSBhbGwgdGhlIHRpbWUgdG8gYXZvaWQgdGhlIElFIGVycm9yCgkJCQkvLyBTZWUgaHR0cHM6Ly9idWdzLmpxdWVyeS5jb20vdGlja2V0LzEzMzc4CgkJCQlyYnVnZ3lRU0EgPSBbXTsKCgkJCQlpZiAoIChzdXBwb3J0LnFzYSA9IHJuYXRpdmUudGVzdCggZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCApKSApIHsKCQkJCQkvLyBCdWlsZCBRU0EgcmVnZXgKCQkJCQkvLyBSZWdleCBzdHJhdGVneSBhZG9wdGVkIGZyb20gRGllZ28gUGVyaW5pCgkJCQkJYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsKCQkJCQkJLy8gU2VsZWN0IGlzIHNldCB0byBlbXB0eSBzdHJpbmcgb24gcHVycG9zZQoJCQkJCQkvLyBUaGlzIGlzIHRvIHRlc3QgSUUncyB0cmVhdG1lbnQgb2Ygbm90IGV4cGxpY2l0bHkKCQkJCQkJLy8gc2V0dGluZyBhIGJvb2xlYW4gY29udGVudCBhdHRyaWJ1dGUsCgkJCQkJCS8vIHNpbmNlIGl0cyBwcmVzZW5jZSBzaG91bGQgYmUgZW5vdWdoCgkJCQkJCS8vIGh0dHBzOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC8xMjM1OQoJCQkJCQlkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmlubmVySFRNTCA9ICI8YSBpZD0nIiArIGV4cGFuZG8gKyAiJz48L2E+IiArCgkJCQkJCQkiPHNlbGVjdCBpZD0nIiArIGV4cGFuZG8gKyAiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPiIgKwoJCQkJCQkJIjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IjsKCgkJCQkJCS8vIFN1cHBvcnQ6IElFOCwgT3BlcmEgMTEtMTIuMTYKCQkJCQkJLy8gTm90aGluZyBzaG91bGQgYmUgc2VsZWN0ZWQgd2hlbiBlbXB0eSBzdHJpbmdzIGZvbGxvdyBePSBvciAkPSBvciAqPQoJCQkJCQkvLyBUaGUgdGVzdCBhdHRyaWJ1dGUgbXVzdCBiZSB1bmtub3duIGluIE9wZXJhIGJ1dCAic2FmZSIgZm9yIFdpblJUCgkJCQkJCS8vIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaWUvaGg0NjUzODguYXNweCNhdHRyaWJ1dGVfc2VjdGlvbgoJCQkJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoICkgewoJCQkJCQkJcmJ1Z2d5UVNBLnB1c2goICJbKl4kXT0iICsgd2hpdGVzcGFjZSArICIqKD86Jyd8XCJcIikiICk7CgkJCQkJCX0KCgkJCQkJCS8vIFN1cHBvcnQ6IElFOAoJCQkJCQkvLyBCb29sZWFuIGF0dHJpYnV0ZXMgYW5kICJ2YWx1ZSIgYXJlIG5vdCB0cmVhdGVkIGNvcnJlY3RseQoJCQkJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RoICkgewoJCQkJCQkJcmJ1Z2d5UVNBLnB1c2goICJcXFsiICsgd2hpdGVzcGFjZSArICIqKD86dmFsdWV8IiArIGJvb2xlYW5zICsgIikiICk7CgkJCQkJCX0KCgkJCQkJCS8vIFN1cHBvcnQ6IENocm9tZTwyOSwgQW5kcm9pZDw0LjQsIFNhZmFyaTw3LjArLCBpT1M8Ny4wKywgUGhhbnRvbUpTPDEuOS44KwoJCQkJCQlpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCAiW2lkfj0iICsgZXhwYW5kbyArICItXSIgKS5sZW5ndGggKSB7CgkJCQkJCQlyYnVnZ3lRU0EucHVzaCgifj0iKTsKCQkJCQkJfQoKCQkJCQkJLy8gV2Via2l0L09wZXJhIC0gOmNoZWNrZWQgc2hvdWxkIHJldHVybiBzZWxlY3RlZCBvcHRpb24gZWxlbWVudHMKCQkJCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9SRUMtY3NzMy1zZWxlY3RvcnMtMjAxMTA5MjkvI2NoZWNrZWQKCQkJCQkJLy8gSUU4IHRocm93cyBlcnJvciBoZXJlIGFuZCB3aWxsIG5vdCBzZWUgbGF0ZXIgdGVzdHMKCQkJCQkJaWYgKCAhZWwucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGggKSB7CgkJCQkJCQlyYnVnZ3lRU0EucHVzaCgiOmNoZWNrZWQiKTsKCQkJCQkJfQoKCQkJCQkJLy8gU3VwcG9ydDogU2FmYXJpIDgrLCBpT1MgOCsKCQkJCQkJLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg1MQoJCQkJCQkvLyBJbi1wYWdlIGBzZWxlY3RvciNpZCBzaWJsaW5nLWNvbWJpbmF0b3Igc2VsZWN0b3JgIGZhaWxzCgkJCQkJCWlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoICJhIyIgKyBleHBhbmRvICsgIisqIiApLmxlbmd0aCApIHsKCQkJCQkJCXJidWdneVFTQS5wdXNoKCIuIy4rWyt+XSIpOwoJCQkJCQl9CgkJCQkJfSk7CgoJCQkJCWFzc2VydChmdW5jdGlvbiggZWwgKSB7CgkJCQkJCWVsLmlubmVySFRNTCA9ICI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPiIgKwoJCQkJCQkJIjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iOwoKCQkJCQkJLy8gU3VwcG9ydDogV2luZG93cyA4IE5hdGl2ZSBBcHBzCgkJCQkJCS8vIFRoZSB0eXBlIGFuZCBuYW1lIGF0dHJpYnV0ZXMgYXJlIHJlc3RyaWN0ZWQgZHVyaW5nIC5pbm5lckhUTUwgYXNzaWdubWVudAoJCQkJCQl2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwoJCQkJCQlpbnB1dC5zZXRBdHRyaWJ1dGUoICJ0eXBlIiwgImhpZGRlbiIgKTsKCQkJCQkJZWwuYXBwZW5kQ2hpbGQoIGlucHV0ICkuc2V0QXR0cmlidXRlKCAibmFtZSIsICJEIiApOwoKCQkJCQkJLy8gU3VwcG9ydDogSUU4CgkJCQkJCS8vIEVuZm9yY2UgY2FzZS1zZW5zaXRpdml0eSBvZiBuYW1lIGF0dHJpYnV0ZQoJCQkJCQlpZiAoIGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoICkgewoJCQkJCQkJcmJ1Z2d5UVNBLnB1c2goICJuYW1lIiArIHdoaXRlc3BhY2UgKyAiKlsqXiR8IX5dPz0iICk7CgkJCQkJCX0KCgkJCQkJCS8vIEZGIDMuNSAtIDplbmFibGVkLzpkaXNhYmxlZCBhbmQgaGlkZGVuIGVsZW1lbnRzIChoaWRkZW4gZWxlbWVudHMgYXJlIHN0aWxsIGVuYWJsZWQpCgkJCQkJCS8vIElFOCB0aHJvd3MgZXJyb3IgaGVyZSBhbmQgd2lsbCBub3Qgc2VlIGxhdGVyIHRlc3RzCgkJCQkJCWlmICggZWwucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGggIT09IDIgKSB7CgkJCQkJCQlyYnVnZ3lRU0EucHVzaCggIjplbmFibGVkIiwgIjpkaXNhYmxlZCIgKTsKCQkJCQkJfQoKCQkJCQkJLy8gU3VwcG9ydDogSUU5LTExKwoJCQkJCQkvLyBJRSdzIDpkaXNhYmxlZCBzZWxlY3RvciBkb2VzIG5vdCBwaWNrIHVwIHRoZSBjaGlsZHJlbiBvZiBkaXNhYmxlZCBmaWVsZHNldHMKCQkJCQkJZG9jRWxlbS5hcHBlbmRDaGlsZCggZWwgKS5kaXNhYmxlZCA9IHRydWU7CgkJCQkJCWlmICggZWwucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoICE9PSAyICkgewoJCQkJCQkJcmJ1Z2d5UVNBLnB1c2goICI6ZW5hYmxlZCIsICI6ZGlzYWJsZWQiICk7CgkJCQkJCX0KCgkJCQkJCS8vIE9wZXJhIDEwLTExIGRvZXMgbm90IHRocm93IG9uIHBvc3QtY29tbWEgaW52YWxpZCBwc2V1ZG9zCgkJCQkJCWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKTsKCQkJCQkJcmJ1Z2d5UVNBLnB1c2goIiwuKjoiKTsKCQkJCQl9KTsKCQkJCX0KCgkJCQlpZiAoIChzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciA9IHJuYXRpdmUudGVzdCggKG1hdGNoZXMgPSBkb2NFbGVtLm1hdGNoZXMgfHwKCQkJCQkJZG9jRWxlbS53ZWJraXRNYXRjaGVzU2VsZWN0b3IgfHwKCQkJCQkJZG9jRWxlbS5tb3pNYXRjaGVzU2VsZWN0b3IgfHwKCQkJCQkJZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yIHx8CgkJCQkJCWRvY0VsZW0ubXNNYXRjaGVzU2VsZWN0b3IpICkpICkgewoKCQkJCQlhc3NlcnQoZnVuY3Rpb24oIGVsICkgewoJCQkJCQkvLyBDaGVjayB0byBzZWUgaWYgaXQncyBwb3NzaWJsZSB0byBkbyBtYXRjaGVzU2VsZWN0b3IKCQkJCQkJLy8gb24gYSBkaXNjb25uZWN0ZWQgbm9kZSAoSUUgOSkKCQkJCQkJc3VwcG9ydC5kaXNjb25uZWN0ZWRNYXRjaCA9IG1hdGNoZXMuY2FsbCggZWwsICIqIiApOwoKCQkJCQkJLy8gVGhpcyBzaG91bGQgZmFpbCB3aXRoIGFuIGV4Y2VwdGlvbgoJCQkJCQkvLyBHZWNrbyBkb2VzIG5vdCBlcnJvciwgcmV0dXJucyBmYWxzZSBpbnN0ZWFkCgkJCQkJCW1hdGNoZXMuY2FsbCggZWwsICJbcyE9JyddOngiICk7CgkJCQkJCXJidWdneU1hdGNoZXMucHVzaCggIiE9IiwgcHNldWRvcyApOwoJCQkJCX0pOwoJCQkJfQoKCQkJCXJidWdneVFTQSA9IHJidWdneVFTQS5sZW5ndGggJiYgbmV3IFJlZ0V4cCggcmJ1Z2d5UVNBLmpvaW4oInwiKSApOwoJCQkJcmJ1Z2d5TWF0Y2hlcyA9IHJidWdneU1hdGNoZXMubGVuZ3RoICYmIG5ldyBSZWdFeHAoIHJidWdneU1hdGNoZXMuam9pbigifCIpICk7CgoJCQkJLyogQ29udGFpbnMKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCQkJCWhhc0NvbXBhcmUgPSBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29tcGFyZURvY3VtZW50UG9zaXRpb24gKTsKCgkJCQkvLyBFbGVtZW50IGNvbnRhaW5zIGFub3RoZXIKCQkJCS8vIFB1cnBvc2VmdWxseSBzZWxmLWV4Y2x1c2l2ZQoJCQkJLy8gQXMgaW4sIGFuIGVsZW1lbnQgZG9lcyBub3QgY29udGFpbiBpdHNlbGYKCQkJCWNvbnRhaW5zID0gaGFzQ29tcGFyZSB8fCBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29udGFpbnMgKSA/CgkJCQkJZnVuY3Rpb24oIGEsIGIgKSB7CgkJCQkJCXZhciBhZG93biA9IGEubm9kZVR5cGUgPT09IDkgPyBhLmRvY3VtZW50RWxlbWVudCA6IGEsCgkJCQkJCQlidXAgPSBiICYmIGIucGFyZW50Tm9kZTsKCQkJCQkJcmV0dXJuIGEgPT09IGJ1cCB8fCAhISggYnVwICYmIGJ1cC5ub2RlVHlwZSA9PT0gMSAmJiAoCgkJCQkJCQlhZG93bi5jb250YWlucyA/CgkJCQkJCQkJYWRvd24uY29udGFpbnMoIGJ1cCApIDoKCQkJCQkJCQlhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGJ1cCApICYgMTYKCQkJCQkJKSk7CgkJCQkJfSA6CgkJCQkJZnVuY3Rpb24oIGEsIGIgKSB7CgkJCQkJCWlmICggYiApIHsKCQkJCQkJCXdoaWxlICggKGIgPSBiLnBhcmVudE5vZGUpICkgewoJCQkJCQkJCWlmICggYiA9PT0gYSApIHsKCQkJCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQl9OwoKCQkJCS8qIFNvcnRpbmcKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCgkJCQkvLyBEb2N1bWVudCBvcmRlciBzb3J0aW5nCgkJCQlzb3J0T3JkZXIgPSBoYXNDb21wYXJlID8KCQkJCQlmdW5jdGlvbiggYSwgYiApIHsKCgkJCQkJCS8vIEZsYWcgZm9yIGR1cGxpY2F0ZSByZW1vdmFsCgkJCQkJCWlmICggYSA9PT0gYiApIHsKCQkJCQkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7CgkJCQkJCQlyZXR1cm4gMDsKCQkJCQkJfQoKCQkJCQkJLy8gU29ydCBvbiBtZXRob2QgZXhpc3RlbmNlIGlmIG9ubHkgb25lIGlucHV0IGhhcyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbgoJCQkJCQl2YXIgY29tcGFyZSA9ICFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIC0gIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247CgkJCQkJCWlmICggY29tcGFyZSApIHsKCQkJCQkJCXJldHVybiBjb21wYXJlOwoJCQkJCQl9CgoJCQkJCQkvLyBDYWxjdWxhdGUgcG9zaXRpb24gaWYgYm90aCBpbnB1dHMgYmVsb25nIHRvIHRoZSBzYW1lIGRvY3VtZW50CgkJCQkJCWNvbXBhcmUgPSAoIGEub3duZXJEb2N1bWVudCB8fCBhICkgPT09ICggYi5vd25lckRvY3VtZW50IHx8IGIgKSA/CgkJCQkJCQlhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBiICkgOgoKCQkJCQkJCS8vIE90aGVyd2lzZSB3ZSBrbm93IHRoZXkgYXJlIGRpc2Nvbm5lY3RlZAoJCQkJCQkJMTsKCgkJCQkJCS8vIERpc2Nvbm5lY3RlZCBub2RlcwoJCQkJCQlpZiAoIGNvbXBhcmUgJiAxIHx8CgkJCQkJCQkoIXN1cHBvcnQuc29ydERldGFjaGVkICYmIGIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGEgKSA9PT0gY29tcGFyZSkgKSB7CgoJCQkJCQkJLy8gQ2hvb3NlIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgaXMgcmVsYXRlZCB0byBvdXIgcHJlZmVycmVkIGRvY3VtZW50CgkJCQkJCQlpZiAoIGEgPT09IGRvY3VtZW50IHx8IGEub3duZXJEb2N1bWVudCA9PT0gcHJlZmVycmVkRG9jICYmIGNvbnRhaW5zKHByZWZlcnJlZERvYywgYSkgKSB7CgkJCQkJCQkJcmV0dXJuIC0xOwoJCQkJCQkJfQoJCQkJCQkJaWYgKCBiID09PSBkb2N1bWVudCB8fCBiLm93bmVyRG9jdW1lbnQgPT09IHByZWZlcnJlZERvYyAmJiBjb250YWlucyhwcmVmZXJyZWREb2MsIGIpICkgewoJCQkJCQkJCXJldHVybiAxOwoJCQkJCQkJfQoKCQkJCQkJCS8vIE1haW50YWluIG9yaWdpbmFsIG9yZGVyCgkJCQkJCQlyZXR1cm4gc29ydElucHV0ID8KCQkJCQkJCQkoIGluZGV4T2YoIHNvcnRJbnB1dCwgYSApIC0gaW5kZXhPZiggc29ydElucHV0LCBiICkgKSA6CgkJCQkJCQkJMDsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIGNvbXBhcmUgJiA0ID8gLTEgOiAxOwoJCQkJCX0gOgoJCQkJCWZ1bmN0aW9uKCBhLCBiICkgewoJCQkJCQkvLyBFeGl0IGVhcmx5IGlmIHRoZSBub2RlcyBhcmUgaWRlbnRpY2FsCgkJCQkJCWlmICggYSA9PT0gYiApIHsKCQkJCQkJCWhhc0R1cGxpY2F0ZSA9IHRydWU7CgkJCQkJCQlyZXR1cm4gMDsKCQkJCQkJfQoKCQkJCQkJdmFyIGN1ciwKCQkJCQkJCWkgPSAwLAoJCQkJCQkJYXVwID0gYS5wYXJlbnROb2RlLAoJCQkJCQkJYnVwID0gYi5wYXJlbnROb2RlLAoJCQkJCQkJYXAgPSBbIGEgXSwKCQkJCQkJCWJwID0gWyBiIF07CgoJCQkJCQkvLyBQYXJlbnRsZXNzIG5vZGVzIGFyZSBlaXRoZXIgZG9jdW1lbnRzIG9yIGRpc2Nvbm5lY3RlZAoJCQkJCQlpZiAoICFhdXAgfHwgIWJ1cCApIHsKCQkJCQkJCXJldHVybiBhID09PSBkb2N1bWVudCA/IC0xIDoKCQkJCQkJCQliID09PSBkb2N1bWVudCA/IDEgOgoJCQkJCQkJCQlhdXAgPyAtMSA6CgkJCQkJCQkJCQlidXAgPyAxIDoKCQkJCQkJCQkJCQlzb3J0SW5wdXQgPwoJCQkJCQkJCQkJCQkoIGluZGV4T2YoIHNvcnRJbnB1dCwgYSApIC0gaW5kZXhPZiggc29ydElucHV0LCBiICkgKSA6CgkJCQkJCQkJCQkJCTA7CgoJCQkJCQkJLy8gSWYgdGhlIG5vZGVzIGFyZSBzaWJsaW5ncywgd2UgY2FuIGRvIGEgcXVpY2sgY2hlY2sKCQkJCQkJfSBlbHNlIGlmICggYXVwID09PSBidXAgKSB7CgkJCQkJCQlyZXR1cm4gc2libGluZ0NoZWNrKCBhLCBiICk7CgkJCQkJCX0KCgkJCQkJCS8vIE90aGVyd2lzZSB3ZSBuZWVkIGZ1bGwgbGlzdHMgb2YgdGhlaXIgYW5jZXN0b3JzIGZvciBjb21wYXJpc29uCgkJCQkJCWN1ciA9IGE7CgkJCQkJCXdoaWxlICggKGN1ciA9IGN1ci5wYXJlbnROb2RlKSApIHsKCQkJCQkJCWFwLnVuc2hpZnQoIGN1ciApOwoJCQkJCQl9CgkJCQkJCWN1ciA9IGI7CgkJCQkJCXdoaWxlICggKGN1ciA9IGN1ci5wYXJlbnROb2RlKSApIHsKCQkJCQkJCWJwLnVuc2hpZnQoIGN1ciApOwoJCQkJCQl9CgoJCQkJCQkvLyBXYWxrIGRvd24gdGhlIHRyZWUgbG9va2luZyBmb3IgYSBkaXNjcmVwYW5jeQoJCQkJCQl3aGlsZSAoIGFwW2ldID09PSBicFtpXSApIHsKCQkJCQkJCWkrKzsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIGkgPwoJCQkJCQkJLy8gRG8gYSBzaWJsaW5nIGNoZWNrIGlmIHRoZSBub2RlcyBoYXZlIGEgY29tbW9uIGFuY2VzdG9yCgkJCQkJCQlzaWJsaW5nQ2hlY2soIGFwW2ldLCBicFtpXSApIDoKCgkJCQkJCQkvLyBPdGhlcndpc2Ugbm9kZXMgaW4gb3VyIGRvY3VtZW50IHNvcnQgZmlyc3QKCQkJCQkJCWFwW2ldID09PSBwcmVmZXJyZWREb2MgPyAtMSA6CgkJCQkJCQkJYnBbaV0gPT09IHByZWZlcnJlZERvYyA/IDEgOgoJCQkJCQkJCQkwOwoJCQkJCX07CgoJCQkJcmV0dXJuIGRvY3VtZW50OwoJCQl9OwoKCQkJU2l6emxlLm1hdGNoZXMgPSBmdW5jdGlvbiggZXhwciwgZWxlbWVudHMgKSB7CgkJCQlyZXR1cm4gU2l6emxlKCBleHByLCBudWxsLCBudWxsLCBlbGVtZW50cyApOwoJCQl9OwoKCQkJU2l6emxlLm1hdGNoZXNTZWxlY3RvciA9IGZ1bmN0aW9uKCBlbGVtLCBleHByICkgewoJCQkJLy8gU2V0IGRvY3VtZW50IHZhcnMgaWYgbmVlZGVkCgkJCQlpZiAoICggZWxlbS5vd25lckRvY3VtZW50IHx8IGVsZW0gKSAhPT0gZG9jdW1lbnQgKSB7CgkJCQkJc2V0RG9jdW1lbnQoIGVsZW0gKTsKCQkJCX0KCgkJCQkvLyBNYWtlIHN1cmUgdGhhdCBhdHRyaWJ1dGUgc2VsZWN0b3JzIGFyZSBxdW90ZWQKCQkJCWV4cHIgPSBleHByLnJlcGxhY2UoIHJhdHRyaWJ1dGVRdW90ZXMsICI9JyQxJ10iICk7CgoJCQkJaWYgKCBzdXBwb3J0Lm1hdGNoZXNTZWxlY3RvciAmJiBkb2N1bWVudElzSFRNTCAmJgoJCQkJCSFjb21waWxlckNhY2hlWyBleHByICsgIiAiIF0gJiYKCQkJCQkoICFyYnVnZ3lNYXRjaGVzIHx8ICFyYnVnZ3lNYXRjaGVzLnRlc3QoIGV4cHIgKSApICYmCgkJCQkJKCAhcmJ1Z2d5UVNBICAgICB8fCAhcmJ1Z2d5UVNBLnRlc3QoIGV4cHIgKSApICkgewoKCQkJCQl0cnkgewoJCQkJCQl2YXIgcmV0ID0gbWF0Y2hlcy5jYWxsKCBlbGVtLCBleHByICk7CgoJCQkJCQkvLyBJRSA5J3MgbWF0Y2hlc1NlbGVjdG9yIHJldHVybnMgZmFsc2Ugb24gZGlzY29ubmVjdGVkIG5vZGVzCgkJCQkJCWlmICggcmV0IHx8IHN1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2ggfHwKCQkJCQkJCS8vIEFzIHdlbGwsIGRpc2Nvbm5lY3RlZCBub2RlcyBhcmUgc2FpZCB0byBiZSBpbiBhIGRvY3VtZW50CgkJCQkJCQkvLyBmcmFnbWVudCBpbiBJRSA5CgkJCQkJCQllbGVtLmRvY3VtZW50ICYmIGVsZW0uZG9jdW1lbnQubm9kZVR5cGUgIT09IDExICkgewoJCQkJCQkJcmV0dXJuIHJldDsKCQkJCQkJfQoJCQkJCX0gY2F0Y2ggKGUpIHt9CgkJCQl9CgoJCQkJcmV0dXJuIFNpenpsZSggZXhwciwgZG9jdW1lbnQsIG51bGwsIFsgZWxlbSBdICkubGVuZ3RoID4gMDsKCQkJfTsKCgkJCVNpenpsZS5jb250YWlucyA9IGZ1bmN0aW9uKCBjb250ZXh0LCBlbGVtICkgewoJCQkJLy8gU2V0IGRvY3VtZW50IHZhcnMgaWYgbmVlZGVkCgkJCQlpZiAoICggY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgKSAhPT0gZG9jdW1lbnQgKSB7CgkJCQkJc2V0RG9jdW1lbnQoIGNvbnRleHQgKTsKCQkJCX0KCQkJCXJldHVybiBjb250YWlucyggY29udGV4dCwgZWxlbSApOwoJCQl9OwoKCQkJU2l6emxlLmF0dHIgPSBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHsKCQkJCS8vIFNldCBkb2N1bWVudCB2YXJzIGlmIG5lZWRlZAoJCQkJaWYgKCAoIGVsZW0ub3duZXJEb2N1bWVudCB8fCBlbGVtICkgIT09IGRvY3VtZW50ICkgewoJCQkJCXNldERvY3VtZW50KCBlbGVtICk7CgkJCQl9CgoJCQkJdmFyIGZuID0gRXhwci5hdHRySGFuZGxlWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSwKCQkJCQkvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IE9iamVjdC5wcm90b3R5cGUgcHJvcGVydGllcyAoalF1ZXJ5ICMxMzgwNykKCQkJCQl2YWwgPSBmbiAmJiBoYXNPd24uY2FsbCggRXhwci5hdHRySGFuZGxlLCBuYW1lLnRvTG93ZXJDYXNlKCkgKSA/CgkJCQkJCWZuKCBlbGVtLCBuYW1lLCAhZG9jdW1lbnRJc0hUTUwgKSA6CgkJCQkJCXVuZGVmaW5lZDsKCgkJCQlyZXR1cm4gdmFsICE9PSB1bmRlZmluZWQgPwoJCQkJCXZhbCA6CgkJCQkJc3VwcG9ydC5hdHRyaWJ1dGVzIHx8ICFkb2N1bWVudElzSFRNTCA/CgkJCQkJCWVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICkgOgoJCQkJCQkodmFsID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKG5hbWUpKSAmJiB2YWwuc3BlY2lmaWVkID8KCQkJCQkJCXZhbC52YWx1ZSA6CgkJCQkJCQludWxsOwoJCQl9OwoKCQkJU2l6emxlLmVzY2FwZSA9IGZ1bmN0aW9uKCBzZWwgKSB7CgkJCQlyZXR1cm4gKHNlbCArICIiKS5yZXBsYWNlKCByY3NzZXNjYXBlLCBmY3NzZXNjYXBlICk7CgkJCX07CgoJCQlTaXp6bGUuZXJyb3IgPSBmdW5jdGlvbiggbXNnICkgewoJCQkJdGhyb3cgbmV3IEVycm9yKCAiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIiArIG1zZyApOwoJCQl9OwoKCQkJLyoqCgkJCSAqIERvY3VtZW50IHNvcnRpbmcgYW5kIHJlbW92aW5nIGR1cGxpY2F0ZXMKCQkJICogQHBhcmFtIHtBcnJheUxpa2V9IHJlc3VsdHMKCQkJICovCgkJCVNpenpsZS51bmlxdWVTb3J0ID0gZnVuY3Rpb24oIHJlc3VsdHMgKSB7CgkJCQl2YXIgZWxlbSwKCQkJCQlkdXBsaWNhdGVzID0gW10sCgkJCQkJaiA9IDAsCgkJCQkJaSA9IDA7CgoJCQkJLy8gVW5sZXNzIHdlICprbm93KiB3ZSBjYW4gZGV0ZWN0IGR1cGxpY2F0ZXMsIGFzc3VtZSB0aGVpciBwcmVzZW5jZQoJCQkJaGFzRHVwbGljYXRlID0gIXN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlczsKCQkJCXNvcnRJbnB1dCA9ICFzdXBwb3J0LnNvcnRTdGFibGUgJiYgcmVzdWx0cy5zbGljZSggMCApOwoJCQkJcmVzdWx0cy5zb3J0KCBzb3J0T3JkZXIgKTsKCgkJCQlpZiAoIGhhc0R1cGxpY2F0ZSApIHsKCQkJCQl3aGlsZSAoIChlbGVtID0gcmVzdWx0c1tpKytdKSApIHsKCQkJCQkJaWYgKCBlbGVtID09PSByZXN1bHRzWyBpIF0gKSB7CgkJCQkJCQlqID0gZHVwbGljYXRlcy5wdXNoKCBpICk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJd2hpbGUgKCBqLS0gKSB7CgkJCQkJCXJlc3VsdHMuc3BsaWNlKCBkdXBsaWNhdGVzWyBqIF0sIDEgKTsKCQkJCQl9CgkJCQl9CgoJCQkJLy8gQ2xlYXIgaW5wdXQgYWZ0ZXIgc29ydGluZyB0byByZWxlYXNlIG9iamVjdHMKCQkJCS8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L3NpenpsZS9wdWxsLzIyNQoJCQkJc29ydElucHV0ID0gbnVsbDsKCgkJCQlyZXR1cm4gcmVzdWx0czsKCQkJfTsKCgkJCS8qKgoJCQkgKiBVdGlsaXR5IGZ1bmN0aW9uIGZvciByZXRyaWV2aW5nIHRoZSB0ZXh0IHZhbHVlIG9mIGFuIGFycmF5IG9mIERPTSBub2RlcwoJCQkgKiBAcGFyYW0ge0FycmF5fEVsZW1lbnR9IGVsZW0KCQkJICovCgkJCWdldFRleHQgPSBTaXp6bGUuZ2V0VGV4dCA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJdmFyIG5vZGUsCgkJCQkJcmV0ID0gIiIsCgkJCQkJaSA9IDAsCgkJCQkJbm9kZVR5cGUgPSBlbGVtLm5vZGVUeXBlOwoKCQkJCWlmICggIW5vZGVUeXBlICkgewoJCQkJCS8vIElmIG5vIG5vZGVUeXBlLCB0aGlzIGlzIGV4cGVjdGVkIHRvIGJlIGFuIGFycmF5CgkJCQkJd2hpbGUgKCAobm9kZSA9IGVsZW1baSsrXSkgKSB7CgkJCQkJCS8vIERvIG5vdCB0cmF2ZXJzZSBjb21tZW50IG5vZGVzCgkJCQkJCXJldCArPSBnZXRUZXh0KCBub2RlICk7CgkJCQkJfQoJCQkJfSBlbHNlIGlmICggbm9kZVR5cGUgPT09IDEgfHwgbm9kZVR5cGUgPT09IDkgfHwgbm9kZVR5cGUgPT09IDExICkgewoJCQkJCS8vIFVzZSB0ZXh0Q29udGVudCBmb3IgZWxlbWVudHMKCQkJCQkvLyBpbm5lclRleHQgdXNhZ2UgcmVtb3ZlZCBmb3IgY29uc2lzdGVuY3kgb2YgbmV3IGxpbmVzIChqUXVlcnkgIzExMTUzKQoJCQkJCWlmICggdHlwZW9mIGVsZW0udGV4dENvbnRlbnQgPT09ICJzdHJpbmciICkgewoJCQkJCQlyZXR1cm4gZWxlbS50ZXh0Q29udGVudDsKCQkJCQl9IGVsc2UgewoJCQkJCQkvLyBUcmF2ZXJzZSBpdHMgY2hpbGRyZW4KCQkJCQkJZm9yICggZWxlbSA9IGVsZW0uZmlyc3RDaGlsZDsgZWxlbTsgZWxlbSA9IGVsZW0ubmV4dFNpYmxpbmcgKSB7CgkJCQkJCQlyZXQgKz0gZ2V0VGV4dCggZWxlbSApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSBlbHNlIGlmICggbm9kZVR5cGUgPT09IDMgfHwgbm9kZVR5cGUgPT09IDQgKSB7CgkJCQkJcmV0dXJuIGVsZW0ubm9kZVZhbHVlOwoJCQkJfQoJCQkJLy8gRG8gbm90IGluY2x1ZGUgY29tbWVudCBvciBwcm9jZXNzaW5nIGluc3RydWN0aW9uIG5vZGVzCgoJCQkJcmV0dXJuIHJldDsKCQkJfTsKCgkJCUV4cHIgPSBTaXp6bGUuc2VsZWN0b3JzID0gewoKCQkJCS8vIENhbiBiZSBhZGp1c3RlZCBieSB0aGUgdXNlcgoJCQkJY2FjaGVMZW5ndGg6IDUwLAoKCQkJCWNyZWF0ZVBzZXVkbzogbWFya0Z1bmN0aW9uLAoKCQkJCW1hdGNoOiBtYXRjaEV4cHIsCgoJCQkJYXR0ckhhbmRsZToge30sCgoJCQkJZmluZDoge30sCgoJCQkJcmVsYXRpdmU6IHsKCQkJCQkiPiI6IHsgZGlyOiAicGFyZW50Tm9kZSIsIGZpcnN0OiB0cnVlIH0sCgkJCQkJIiAiOiB7IGRpcjogInBhcmVudE5vZGUiIH0sCgkJCQkJIisiOiB7IGRpcjogInByZXZpb3VzU2libGluZyIsIGZpcnN0OiB0cnVlIH0sCgkJCQkJIn4iOiB7IGRpcjogInByZXZpb3VzU2libGluZyIgfQoJCQkJfSwKCgkJCQlwcmVGaWx0ZXI6IHsKCQkJCQkiQVRUUiI6IGZ1bmN0aW9uKCBtYXRjaCApIHsKCQkJCQkJbWF0Y2hbMV0gPSBtYXRjaFsxXS5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApOwoKCQkJCQkJLy8gTW92ZSB0aGUgZ2l2ZW4gdmFsdWUgdG8gbWF0Y2hbM10gd2hldGhlciBxdW90ZWQgb3IgdW5xdW90ZWQKCQkJCQkJbWF0Y2hbM10gPSAoIG1hdGNoWzNdIHx8IG1hdGNoWzRdIHx8IG1hdGNoWzVdIHx8ICIiICkucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsKCgkJCQkJCWlmICggbWF0Y2hbMl0gPT09ICJ+PSIgKSB7CgkJCQkJCQltYXRjaFszXSA9ICIgIiArIG1hdGNoWzNdICsgIiAiOwoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gbWF0Y2guc2xpY2UoIDAsIDQgKTsKCQkJCQl9LAoKCQkJCQkiQ0hJTEQiOiBmdW5jdGlvbiggbWF0Y2ggKSB7CgkJCQkJCS8qIG1hdGNoZXMgZnJvbSBtYXRjaEV4cHJbIkNISUxEIl0KCQkJCTEgdHlwZSAob25seXxudGh8Li4uKQoJCQkJMiB3aGF0IChjaGlsZHxvZi10eXBlKQoJCQkJMyBhcmd1bWVudCAoZXZlbnxvZGR8XGQqfFxkKm4oWystXVxkKyk/fC4uLikKCQkJCTQgeG4tY29tcG9uZW50IG9mIHhuK3kgYXJndW1lbnQgKFsrLV0/XGQqbnwpCgkJCQk1IHNpZ24gb2YgeG4tY29tcG9uZW50CgkJCQk2IHggb2YgeG4tY29tcG9uZW50CgkJCQk3IHNpZ24gb2YgeS1jb21wb25lbnQKCQkJCTggeSBvZiB5LWNvbXBvbmVudAoJCQkqLwoJCQkJCQltYXRjaFsxXSA9IG1hdGNoWzFdLnRvTG93ZXJDYXNlKCk7CgoJCQkJCQlpZiAoIG1hdGNoWzFdLnNsaWNlKCAwLCAzICkgPT09ICJudGgiICkgewoJCQkJCQkJLy8gbnRoLSogcmVxdWlyZXMgYXJndW1lbnQKCQkJCQkJCWlmICggIW1hdGNoWzNdICkgewoJCQkJCQkJCVNpenpsZS5lcnJvciggbWF0Y2hbMF0gKTsKCQkJCQkJCX0KCgkJCQkJCQkvLyBudW1lcmljIHggYW5kIHkgcGFyYW1ldGVycyBmb3IgRXhwci5maWx0ZXIuQ0hJTEQKCQkJCQkJCS8vIHJlbWVtYmVyIHRoYXQgZmFsc2UvdHJ1ZSBjYXN0IHJlc3BlY3RpdmVseSB0byAwLzEKCQkJCQkJCW1hdGNoWzRdID0gKyggbWF0Y2hbNF0gPyBtYXRjaFs1XSArIChtYXRjaFs2XSB8fCAxKSA6IDIgKiAoIG1hdGNoWzNdID09PSAiZXZlbiIgfHwgbWF0Y2hbM10gPT09ICJvZGQiICkgKTsKCQkJCQkJCW1hdGNoWzVdID0gKyggKCBtYXRjaFs3XSArIG1hdGNoWzhdICkgfHwgbWF0Y2hbM10gPT09ICJvZGQiICk7CgoJCQkJCQkJLy8gb3RoZXIgdHlwZXMgcHJvaGliaXQgYXJndW1lbnRzCgkJCQkJCX0gZWxzZSBpZiAoIG1hdGNoWzNdICkgewoJCQkJCQkJU2l6emxlLmVycm9yKCBtYXRjaFswXSApOwoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gbWF0Y2g7CgkJCQkJfSwKCgkJCQkJIlBTRVVETyI6IGZ1bmN0aW9uKCBtYXRjaCApIHsKCQkJCQkJdmFyIGV4Y2VzcywKCQkJCQkJCXVucXVvdGVkID0gIW1hdGNoWzZdICYmIG1hdGNoWzJdOwoKCQkJCQkJaWYgKCBtYXRjaEV4cHJbIkNISUxEIl0udGVzdCggbWF0Y2hbMF0gKSApIHsKCQkJCQkJCXJldHVybiBudWxsOwoJCQkJCQl9CgoJCQkJCQkvLyBBY2NlcHQgcXVvdGVkIGFyZ3VtZW50cyBhcy1pcwoJCQkJCQlpZiAoIG1hdGNoWzNdICkgewoJCQkJCQkJbWF0Y2hbMl0gPSBtYXRjaFs0XSB8fCBtYXRjaFs1XSB8fCAiIjsKCgkJCQkJCQkvLyBTdHJpcCBleGNlc3MgY2hhcmFjdGVycyBmcm9tIHVucXVvdGVkIGFyZ3VtZW50cwoJCQkJCQl9IGVsc2UgaWYgKCB1bnF1b3RlZCAmJiBycHNldWRvLnRlc3QoIHVucXVvdGVkICkgJiYKCQkJCQkJCS8vIEdldCBleGNlc3MgZnJvbSB0b2tlbml6ZSAocmVjdXJzaXZlbHkpCgkJCQkJCQkoZXhjZXNzID0gdG9rZW5pemUoIHVucXVvdGVkLCB0cnVlICkpICYmCgkJCQkJCQkvLyBhZHZhbmNlIHRvIHRoZSBuZXh0IGNsb3NpbmcgcGFyZW50aGVzaXMKCQkJCQkJCShleGNlc3MgPSB1bnF1b3RlZC5pbmRleE9mKCAiKSIsIHVucXVvdGVkLmxlbmd0aCAtIGV4Y2VzcyApIC0gdW5xdW90ZWQubGVuZ3RoKSApIHsKCgkJCQkJCQkvLyBleGNlc3MgaXMgYSBuZWdhdGl2ZSBpbmRleAoJCQkJCQkJbWF0Y2hbMF0gPSBtYXRjaFswXS5zbGljZSggMCwgZXhjZXNzICk7CgkJCQkJCQltYXRjaFsyXSA9IHVucXVvdGVkLnNsaWNlKCAwLCBleGNlc3MgKTsKCQkJCQkJfQoKCQkJCQkJLy8gUmV0dXJuIG9ubHkgY2FwdHVyZXMgbmVlZGVkIGJ5IHRoZSBwc2V1ZG8gZmlsdGVyIG1ldGhvZCAodHlwZSBhbmQgYXJndW1lbnQpCgkJCQkJCXJldHVybiBtYXRjaC5zbGljZSggMCwgMyApOwoJCQkJCX0KCQkJCX0sCgoJCQkJZmlsdGVyOiB7CgoJCQkJCSJUQUciOiBmdW5jdGlvbiggbm9kZU5hbWVTZWxlY3RvciApIHsKCQkJCQkJdmFyIG5vZGVOYW1lID0gbm9kZU5hbWVTZWxlY3Rvci5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLnRvTG93ZXJDYXNlKCk7CgkJCQkJCXJldHVybiBub2RlTmFtZVNlbGVjdG9yID09PSAiKiIgPwoJCQkJCQkJZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9IDoKCQkJCQkJCWZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQkJCXJldHVybiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbm9kZU5hbWU7CgkJCQkJCQl9OwoJCQkJCX0sCgoJCQkJCSJDTEFTUyI6IGZ1bmN0aW9uKCBjbGFzc05hbWUgKSB7CgkJCQkJCXZhciBwYXR0ZXJuID0gY2xhc3NDYWNoZVsgY2xhc3NOYW1lICsgIiAiIF07CgoJCQkJCQlyZXR1cm4gcGF0dGVybiB8fAoJCQkJCQkJKHBhdHRlcm4gPSBuZXcgUmVnRXhwKCAiKF58IiArIHdoaXRlc3BhY2UgKyAiKSIgKyBjbGFzc05hbWUgKyAiKCIgKyB3aGl0ZXNwYWNlICsgInwkKSIgKSkgJiYKCQkJCQkJCWNsYXNzQ2FjaGUoIGNsYXNzTmFtZSwgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCQkJcmV0dXJuIHBhdHRlcm4udGVzdCggdHlwZW9mIGVsZW0uY2xhc3NOYW1lID09PSAic3RyaW5nIiAmJiBlbGVtLmNsYXNzTmFtZSB8fCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgIT09ICJ1bmRlZmluZWQiICYmIGVsZW0uZ2V0QXR0cmlidXRlKCJjbGFzcyIpIHx8ICIiICk7CgkJCQkJCQl9KTsKCQkJCQl9LAoKCQkJCQkiQVRUUiI6IGZ1bmN0aW9uKCBuYW1lLCBvcGVyYXRvciwgY2hlY2sgKSB7CgkJCQkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJCXZhciByZXN1bHQgPSBTaXp6bGUuYXR0ciggZWxlbSwgbmFtZSApOwoKCQkJCQkJCWlmICggcmVzdWx0ID09IG51bGwgKSB7CgkJCQkJCQkJcmV0dXJuIG9wZXJhdG9yID09PSAiIT0iOwoJCQkJCQkJfQoJCQkJCQkJaWYgKCAhb3BlcmF0b3IgKSB7CgkJCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJCQl9CgoJCQkJCQkJcmVzdWx0ICs9ICIiOwoKCQkJCQkJCXJldHVybiBvcGVyYXRvciA9PT0gIj0iID8gcmVzdWx0ID09PSBjaGVjayA6CgkJCQkJCQkJb3BlcmF0b3IgPT09ICIhPSIgPyByZXN1bHQgIT09IGNoZWNrIDoKCQkJCQkJCQkJb3BlcmF0b3IgPT09ICJePSIgPyBjaGVjayAmJiByZXN1bHQuaW5kZXhPZiggY2hlY2sgKSA9PT0gMCA6CgkJCQkJCQkJCQlvcGVyYXRvciA9PT0gIio9IiA/IGNoZWNrICYmIHJlc3VsdC5pbmRleE9mKCBjaGVjayApID4gLTEgOgoJCQkJCQkJCQkJCW9wZXJhdG9yID09PSAiJD0iID8gY2hlY2sgJiYgcmVzdWx0LnNsaWNlKCAtY2hlY2subGVuZ3RoICkgPT09IGNoZWNrIDoKCQkJCQkJCQkJCQkJb3BlcmF0b3IgPT09ICJ+PSIgPyAoICIgIiArIHJlc3VsdC5yZXBsYWNlKCByd2hpdGVzcGFjZSwgIiAiICkgKyAiICIgKS5pbmRleE9mKCBjaGVjayApID4gLTEgOgoJCQkJCQkJCQkJCQkJb3BlcmF0b3IgPT09ICJ8PSIgPyByZXN1bHQgPT09IGNoZWNrIHx8IHJlc3VsdC5zbGljZSggMCwgY2hlY2subGVuZ3RoICsgMSApID09PSBjaGVjayArICItIiA6CgkJCQkJCQkJCQkJCQkJZmFsc2U7CgkJCQkJCX07CgkJCQkJfSwKCgkJCQkJIkNISUxEIjogZnVuY3Rpb24oIHR5cGUsIHdoYXQsIGFyZ3VtZW50LCBmaXJzdCwgbGFzdCApIHsKCQkJCQkJdmFyIHNpbXBsZSA9IHR5cGUuc2xpY2UoIDAsIDMgKSAhPT0gIm50aCIsCgkJCQkJCQlmb3J3YXJkID0gdHlwZS5zbGljZSggLTQgKSAhPT0gImxhc3QiLAoJCQkJCQkJb2ZUeXBlID0gd2hhdCA9PT0gIm9mLXR5cGUiOwoKCQkJCQkJcmV0dXJuIGZpcnN0ID09PSAxICYmIGxhc3QgPT09IDAgPwoKCQkJCQkJCS8vIFNob3J0Y3V0IGZvciA6bnRoLSoobikKCQkJCQkJCWZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQkJCXJldHVybiAhIWVsZW0ucGFyZW50Tm9kZTsKCQkJCQkJCX0gOgoKCQkJCQkJCWZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7CgkJCQkJCQkJdmFyIGNhY2hlLCB1bmlxdWVDYWNoZSwgb3V0ZXJDYWNoZSwgbm9kZSwgbm9kZUluZGV4LCBzdGFydCwKCQkJCQkJCQkJZGlyID0gc2ltcGxlICE9PSBmb3J3YXJkID8gIm5leHRTaWJsaW5nIiA6ICJwcmV2aW91c1NpYmxpbmciLAoJCQkJCQkJCQlwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGUsCgkJCQkJCQkJCW5hbWUgPSBvZlR5cGUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLAoJCQkJCQkJCQl1c2VDYWNoZSA9ICF4bWwgJiYgIW9mVHlwZSwKCQkJCQkJCQkJZGlmZiA9IGZhbHNlOwoKCQkJCQkJCQlpZiAoIHBhcmVudCApIHsKCgkJCQkJCQkJCS8vIDooZmlyc3R8bGFzdHxvbmx5KS0oY2hpbGR8b2YtdHlwZSkKCQkJCQkJCQkJaWYgKCBzaW1wbGUgKSB7CgkJCQkJCQkJCQl3aGlsZSAoIGRpciApIHsKCQkJCQkJCQkJCQlub2RlID0gZWxlbTsKCQkJCQkJCQkJCQl3aGlsZSAoIChub2RlID0gbm9kZVsgZGlyIF0pICkgewoJCQkJCQkJCQkJCQlpZiAoIG9mVHlwZSA/CgkJCQkJCQkJCQkJCQkJbm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDoKCQkJCQkJCQkJCQkJCQlub2RlLm5vZGVUeXBlID09PSAxICkgewoKCQkJCQkJCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJCQkJCQkJfQoJCQkJCQkJCQkJCX0KCQkJCQkJCQkJCQkvLyBSZXZlcnNlIGRpcmVjdGlvbiBmb3IgOm9ubHktKiAoaWYgd2UgaGF2ZW4ndCB5ZXQgZG9uZSBzbykKCQkJCQkJCQkJCQlzdGFydCA9IGRpciA9IHR5cGUgPT09ICJvbmx5IiAmJiAhc3RhcnQgJiYgIm5leHRTaWJsaW5nIjsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJCXJldHVybiB0cnVlOwoJCQkJCQkJCQl9CgoJCQkJCQkJCQlzdGFydCA9IFsgZm9yd2FyZCA/IHBhcmVudC5maXJzdENoaWxkIDogcGFyZW50Lmxhc3RDaGlsZCBdOwoKCQkJCQkJCQkJLy8gbm9uLXhtbCA6bnRoLWNoaWxkKC4uLikgc3RvcmVzIGNhY2hlIGRhdGEgb24gYHBhcmVudGAKCQkJCQkJCQkJaWYgKCBmb3J3YXJkICYmIHVzZUNhY2hlICkgewoKCQkJCQkJCQkJCS8vIFNlZWsgYGVsZW1gIGZyb20gYSBwcmV2aW91c2x5LWNhY2hlZCBpbmRleAoKCQkJCQkJCQkJCS8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXkKCQkJCQkJCQkJCW5vZGUgPSBwYXJlbnQ7CgkJCQkJCQkJCQlvdXRlckNhY2hlID0gbm9kZVsgZXhwYW5kbyBdIHx8IChub2RlWyBleHBhbmRvIF0gPSB7fSk7CgoJCQkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPDkgb25seQoJCQkJCQkJCQkJLy8gRGVmZW5kIGFnYWluc3QgY2xvbmVkIGF0dHJvcGVydGllcyAoalF1ZXJ5IGdoLTE3MDkpCgkJCQkJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fAoJCQkJCQkJCQkJCShvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gPSB7fSk7CgoJCQkJCQkJCQkJY2FjaGUgPSB1bmlxdWVDYWNoZVsgdHlwZSBdIHx8IFtdOwoJCQkJCQkJCQkJbm9kZUluZGV4ID0gY2FjaGVbIDAgXSA9PT0gZGlycnVucyAmJiBjYWNoZVsgMSBdOwoJCQkJCQkJCQkJZGlmZiA9IG5vZGVJbmRleCAmJiBjYWNoZVsgMiBdOwoJCQkJCQkJCQkJbm9kZSA9IG5vZGVJbmRleCAmJiBwYXJlbnQuY2hpbGROb2Rlc1sgbm9kZUluZGV4IF07CgoJCQkJCQkJCQkJd2hpbGUgKCAobm9kZSA9ICsrbm9kZUluZGV4ICYmIG5vZGUgJiYgbm9kZVsgZGlyIF0gfHwKCgkJCQkJCQkJCQkJLy8gRmFsbGJhY2sgdG8gc2Vla2luZyBgZWxlbWAgZnJvbSB0aGUgc3RhcnQKCQkJCQkJCQkJCQkoZGlmZiA9IG5vZGVJbmRleCA9IDApIHx8IHN0YXJ0LnBvcCgpKSApIHsKCgkJCQkJCQkJCQkJLy8gV2hlbiBmb3VuZCwgY2FjaGUgaW5kZXhlcyBvbiBgcGFyZW50YCBhbmQgYnJlYWsKCQkJCQkJCQkJCQlpZiAoIG5vZGUubm9kZVR5cGUgPT09IDEgJiYgKytkaWZmICYmIG5vZGUgPT09IGVsZW0gKSB7CgkJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlWyB0eXBlIF0gPSBbIGRpcnJ1bnMsIG5vZGVJbmRleCwgZGlmZiBdOwoJCQkJCQkJCQkJCQlicmVhazsKCQkJCQkJCQkJCQl9CgkJCQkJCQkJCQl9CgoJCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQkJLy8gVXNlIHByZXZpb3VzbHktY2FjaGVkIGVsZW1lbnQgaW5kZXggaWYgYXZhaWxhYmxlCgkJCQkJCQkJCQlpZiAoIHVzZUNhY2hlICkgewoJCQkJCQkJCQkJCS8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXkKCQkJCQkJCQkJCQlub2RlID0gZWxlbTsKCQkJCQkJCQkJCQlvdXRlckNhY2hlID0gbm9kZVsgZXhwYW5kbyBdIHx8IChub2RlWyBleHBhbmRvIF0gPSB7fSk7CgoJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw5IG9ubHkKCQkJCQkJCQkJCQkvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSkKCQkJCQkJCQkJCQl1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fAoJCQkJCQkJCQkJCQkob3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdID0ge30pOwoKCQkJCQkJCQkJCQljYWNoZSA9IHVuaXF1ZUNhY2hlWyB0eXBlIF0gfHwgW107CgkJCQkJCQkJCQkJbm9kZUluZGV4ID0gY2FjaGVbIDAgXSA9PT0gZGlycnVucyAmJiBjYWNoZVsgMSBdOwoJCQkJCQkJCQkJCWRpZmYgPSBub2RlSW5kZXg7CgkJCQkJCQkJCQl9CgoJCQkJCQkJCQkJLy8geG1sIDpudGgtY2hpbGQoLi4uKQoJCQkJCQkJCQkJLy8gb3IgOm50aC1sYXN0LWNoaWxkKC4uLikgb3IgOm50aCgtbGFzdCk/LW9mLXR5cGUoLi4uKQoJCQkJCQkJCQkJaWYgKCBkaWZmID09PSBmYWxzZSApIHsKCQkJCQkJCQkJCQkvLyBVc2UgdGhlIHNhbWUgbG9vcCBhcyBhYm92ZSB0byBzZWVrIGBlbGVtYCBmcm9tIHRoZSBzdGFydAoJCQkJCQkJCQkJCXdoaWxlICggKG5vZGUgPSArK25vZGVJbmRleCAmJiBub2RlICYmIG5vZGVbIGRpciBdIHx8CgkJCQkJCQkJCQkJCShkaWZmID0gbm9kZUluZGV4ID0gMCkgfHwgc3RhcnQucG9wKCkpICkgewoKCQkJCQkJCQkJCQkJaWYgKCAoIG9mVHlwZSA/CgkJCQkJCQkJCQkJCQkJbm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDoKCQkJCQkJCQkJCQkJCQlub2RlLm5vZGVUeXBlID09PSAxICkgJiYKCQkJCQkJCQkJCQkJCSsrZGlmZiApIHsKCgkJCQkJCQkJCQkJCQkvLyBDYWNoZSB0aGUgaW5kZXggb2YgZWFjaCBlbmNvdW50ZXJlZCBlbGVtZW50CgkJCQkJCQkJCQkJCQlpZiAoIHVzZUNhY2hlICkgewoJCQkJCQkJCQkJCQkJCW91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHwgKG5vZGVbIGV4cGFuZG8gXSA9IHt9KTsKCgkJCQkJCQkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPDkgb25seQoJCQkJCQkJCQkJCQkJCS8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KQoJCQkJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlID0gb3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdIHx8CgkJCQkJCQkJCQkJCQkJCShvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gPSB7fSk7CgoJCQkJCQkJCQkJCQkJCXVuaXF1ZUNhY2hlWyB0eXBlIF0gPSBbIGRpcnJ1bnMsIGRpZmYgXTsKCQkJCQkJCQkJCQkJCX0KCgkJCQkJCQkJCQkJCQlpZiAoIG5vZGUgPT09IGVsZW0gKSB7CgkJCQkJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCQkJCQl9CgkJCQkJCQkJCQkJCX0KCQkJCQkJCQkJCQl9CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCgkJCQkJCQkJCS8vIEluY29ycG9yYXRlIHRoZSBvZmZzZXQsIHRoZW4gY2hlY2sgYWdhaW5zdCBjeWNsZSBzaXplCgkJCQkJCQkJCWRpZmYgLT0gbGFzdDsKCQkJCQkJCQkJcmV0dXJuIGRpZmYgPT09IGZpcnN0IHx8ICggZGlmZiAlIGZpcnN0ID09PSAwICYmIGRpZmYgLyBmaXJzdCA+PSAwICk7CgkJCQkJCQkJfQoJCQkJCQkJfTsKCQkJCQl9LAoKCQkJCQkiUFNFVURPIjogZnVuY3Rpb24oIHBzZXVkbywgYXJndW1lbnQgKSB7CgkJCQkJCS8vIHBzZXVkby1jbGFzcyBuYW1lcyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQoJCQkJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI3BzZXVkby1jbGFzc2VzCgkJCQkJCS8vIFByaW9yaXRpemUgYnkgY2FzZSBzZW5zaXRpdml0eSBpbiBjYXNlIGN1c3RvbSBwc2V1ZG9zIGFyZSBhZGRlZCB3aXRoIHVwcGVyY2FzZSBsZXR0ZXJzCgkJCQkJCS8vIFJlbWVtYmVyIHRoYXQgc2V0RmlsdGVycyBpbmhlcml0cyBmcm9tIHBzZXVkb3MKCQkJCQkJdmFyIGFyZ3MsCgkJCQkJCQlmbiA9IEV4cHIucHNldWRvc1sgcHNldWRvIF0gfHwgRXhwci5zZXRGaWx0ZXJzWyBwc2V1ZG8udG9Mb3dlckNhc2UoKSBdIHx8CgkJCQkJCQkJU2l6emxlLmVycm9yKCAidW5zdXBwb3J0ZWQgcHNldWRvOiAiICsgcHNldWRvICk7CgoJCQkJCQkvLyBUaGUgdXNlciBtYXkgdXNlIGNyZWF0ZVBzZXVkbyB0byBpbmRpY2F0ZSB0aGF0CgkJCQkJCS8vIGFyZ3VtZW50cyBhcmUgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgZmlsdGVyIGZ1bmN0aW9uCgkJCQkJCS8vIGp1c3QgYXMgU2l6emxlIGRvZXMKCQkJCQkJaWYgKCBmblsgZXhwYW5kbyBdICkgewoJCQkJCQkJcmV0dXJuIGZuKCBhcmd1bWVudCApOwoJCQkJCQl9CgoJCQkJCQkvLyBCdXQgbWFpbnRhaW4gc3VwcG9ydCBmb3Igb2xkIHNpZ25hdHVyZXMKCQkJCQkJaWYgKCBmbi5sZW5ndGggPiAxICkgewoJCQkJCQkJYXJncyA9IFsgcHNldWRvLCBwc2V1ZG8sICIiLCBhcmd1bWVudCBdOwoJCQkJCQkJcmV0dXJuIEV4cHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eSggcHNldWRvLnRvTG93ZXJDYXNlKCkgKSA/CgkJCQkJCQkJbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzICkgewoJCQkJCQkJCQl2YXIgaWR4LAoJCQkJCQkJCQkJbWF0Y2hlZCA9IGZuKCBzZWVkLCBhcmd1bWVudCApLAoJCQkJCQkJCQkJaSA9IG1hdGNoZWQubGVuZ3RoOwoJCQkJCQkJCQl3aGlsZSAoIGktLSApIHsKCQkJCQkJCQkJCWlkeCA9IGluZGV4T2YoIHNlZWQsIG1hdGNoZWRbaV0gKTsKCQkJCQkJCQkJCXNlZWRbIGlkeCBdID0gISggbWF0Y2hlc1sgaWR4IF0gPSBtYXRjaGVkW2ldICk7CgkJCQkJCQkJCX0KCQkJCQkJCQl9KSA6CgkJCQkJCQkJZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCQkJCXJldHVybiBmbiggZWxlbSwgMCwgYXJncyApOwoJCQkJCQkJCX07CgkJCQkJCX0KCgkJCQkJCXJldHVybiBmbjsKCQkJCQl9CgkJCQl9LAoKCQkJCXBzZXVkb3M6IHsKCQkJCQkvLyBQb3RlbnRpYWxseSBjb21wbGV4IHBzZXVkb3MKCQkJCQkibm90IjogbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWxlY3RvciApIHsKCQkJCQkJLy8gVHJpbSB0aGUgc2VsZWN0b3IgcGFzc2VkIHRvIGNvbXBpbGUKCQkJCQkJLy8gdG8gYXZvaWQgdHJlYXRpbmcgbGVhZGluZyBhbmQgdHJhaWxpbmcKCQkJCQkJLy8gc3BhY2VzIGFzIGNvbWJpbmF0b3JzCgkJCQkJCXZhciBpbnB1dCA9IFtdLAoJCQkJCQkJcmVzdWx0cyA9IFtdLAoJCQkJCQkJbWF0Y2hlciA9IGNvbXBpbGUoIHNlbGVjdG9yLnJlcGxhY2UoIHJ0cmltLCAiJDEiICkgKTsKCgkJCQkJCXJldHVybiBtYXRjaGVyWyBleHBhbmRvIF0gPwoJCQkJCQkJbWFya0Z1bmN0aW9uKGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzLCBjb250ZXh0LCB4bWwgKSB7CgkJCQkJCQkJdmFyIGVsZW0sCgkJCQkJCQkJCXVubWF0Y2hlZCA9IG1hdGNoZXIoIHNlZWQsIG51bGwsIHhtbCwgW10gKSwKCQkJCQkJCQkJaSA9IHNlZWQubGVuZ3RoOwoKCQkJCQkJCQkvLyBNYXRjaCBlbGVtZW50cyB1bm1hdGNoZWQgYnkgYG1hdGNoZXJgCgkJCQkJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJCQkJCWlmICggKGVsZW0gPSB1bm1hdGNoZWRbaV0pICkgewoJCQkJCQkJCQkJc2VlZFtpXSA9ICEobWF0Y2hlc1tpXSA9IGVsZW0pOwoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJfSkgOgoJCQkJCQkJZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsKCQkJCQkJCQlpbnB1dFswXSA9IGVsZW07CgkJCQkJCQkJbWF0Y2hlciggaW5wdXQsIG51bGwsIHhtbCwgcmVzdWx0cyApOwoJCQkJCQkJCS8vIERvbid0IGtlZXAgdGhlIGVsZW1lbnQgKGlzc3VlICMyOTkpCgkJCQkJCQkJaW5wdXRbMF0gPSBudWxsOwoJCQkJCQkJCXJldHVybiAhcmVzdWx0cy5wb3AoKTsKCQkJCQkJCX07CgkJCQkJfSksCgoJCQkJCSJoYXMiOiBtYXJrRnVuY3Rpb24oZnVuY3Rpb24oIHNlbGVjdG9yICkgewoJCQkJCQlyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCQlyZXR1cm4gU2l6emxlKCBzZWxlY3RvciwgZWxlbSApLmxlbmd0aCA+IDA7CgkJCQkJCX07CgkJCQkJfSksCgoJCQkJCSJjb250YWlucyI6IG1hcmtGdW5jdGlvbihmdW5jdGlvbiggdGV4dCApIHsKCQkJCQkJdGV4dCA9IHRleHQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTsKCQkJCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQkJcmV0dXJuICggZWxlbS50ZXh0Q29udGVudCB8fCBlbGVtLmlubmVyVGV4dCB8fCBnZXRUZXh0KCBlbGVtICkgKS5pbmRleE9mKCB0ZXh0ICkgPiAtMTsKCQkJCQkJfTsKCQkJCQl9KSwKCgkJCQkJLy8gIldoZXRoZXIgYW4gZWxlbWVudCBpcyByZXByZXNlbnRlZCBieSBhIDpsYW5nKCkgc2VsZWN0b3IKCQkJCQkvLyBpcyBiYXNlZCBzb2xlbHkgb24gdGhlIGVsZW1lbnQncyBsYW5ndWFnZSB2YWx1ZQoJCQkJCS8vIGJlaW5nIGVxdWFsIHRvIHRoZSBpZGVudGlmaWVyIEMsCgkJCQkJLy8gb3IgYmVnaW5uaW5nIHdpdGggdGhlIGlkZW50aWZpZXIgQyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSAiLSIuCgkJCQkJLy8gVGhlIG1hdGNoaW5nIG9mIEMgYWdhaW5zdCB0aGUgZWxlbWVudCdzIGxhbmd1YWdlIHZhbHVlIGlzIHBlcmZvcm1lZCBjYXNlLWluc2Vuc2l0aXZlbHkuCgkJCQkJLy8gVGhlIGlkZW50aWZpZXIgQyBkb2VzIG5vdCBoYXZlIHRvIGJlIGEgdmFsaWQgbGFuZ3VhZ2UgbmFtZS4iCgkJCQkJLy8gaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNsYW5nLXBzZXVkbwoJCQkJCSJsYW5nIjogbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggbGFuZyApIHsKCQkJCQkJLy8gbGFuZyB2YWx1ZSBtdXN0IGJlIGEgdmFsaWQgaWRlbnRpZmllcgoJCQkJCQlpZiAoICFyaWRlbnRpZmllci50ZXN0KGxhbmcgfHwgIiIpICkgewoJCQkJCQkJU2l6emxlLmVycm9yKCAidW5zdXBwb3J0ZWQgbGFuZzogIiArIGxhbmcgKTsKCQkJCQkJfQoJCQkJCQlsYW5nID0gbGFuZy5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLnRvTG93ZXJDYXNlKCk7CgkJCQkJCXJldHVybiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJCXZhciBlbGVtTGFuZzsKCQkJCQkJCWRvIHsKCQkJCQkJCQlpZiAoIChlbGVtTGFuZyA9IGRvY3VtZW50SXNIVE1MID8KCQkJCQkJCQkJCWVsZW0ubGFuZyA6CgkJCQkJCQkJCQllbGVtLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKSB8fCBlbGVtLmdldEF0dHJpYnV0ZSgibGFuZyIpKSApIHsKCgkJCQkJCQkJCWVsZW1MYW5nID0gZWxlbUxhbmcudG9Mb3dlckNhc2UoKTsKCQkJCQkJCQkJcmV0dXJuIGVsZW1MYW5nID09PSBsYW5nIHx8IGVsZW1MYW5nLmluZGV4T2YoIGxhbmcgKyAiLSIgKSA9PT0gMDsKCQkJCQkJCQl9CgkJCQkJCQl9IHdoaWxlICggKGVsZW0gPSBlbGVtLnBhcmVudE5vZGUpICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKTsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfTsKCQkJCQl9KSwKCgkJCQkJLy8gTWlzY2VsbGFuZW91cwoJCQkJCSJ0YXJnZXQiOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24gJiYgd2luZG93LmxvY2F0aW9uLmhhc2g7CgkJCQkJCXJldHVybiBoYXNoICYmIGhhc2guc2xpY2UoIDEgKSA9PT0gZWxlbS5pZDsKCQkJCQl9LAoKCQkJCQkicm9vdCI6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQlyZXR1cm4gZWxlbSA9PT0gZG9jRWxlbTsKCQkJCQl9LAoKCQkJCQkiZm9jdXMiOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJcmV0dXJuIGVsZW0gPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgKCFkb2N1bWVudC5oYXNGb2N1cyB8fCBkb2N1bWVudC5oYXNGb2N1cygpKSAmJiAhIShlbGVtLnR5cGUgfHwgZWxlbS5ocmVmIHx8IH5lbGVtLnRhYkluZGV4KTsKCQkJCQl9LAoKCQkJCQkvLyBCb29sZWFuIHByb3BlcnRpZXMKCQkJCQkiZW5hYmxlZCI6IGNyZWF0ZURpc2FibGVkUHNldWRvKCBmYWxzZSApLAoJCQkJCSJkaXNhYmxlZCI6IGNyZWF0ZURpc2FibGVkUHNldWRvKCB0cnVlICksCgoJCQkJCSJjaGVja2VkIjogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCS8vIEluIENTUzMsIDpjaGVja2VkIHNob3VsZCByZXR1cm4gYm90aCBjaGVja2VkIGFuZCBzZWxlY3RlZCBlbGVtZW50cwoJCQkJCQkvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZAoJCQkJCQl2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CgkJCQkJCXJldHVybiAobm9kZU5hbWUgPT09ICJpbnB1dCIgJiYgISFlbGVtLmNoZWNrZWQpIHx8IChub2RlTmFtZSA9PT0gIm9wdGlvbiIgJiYgISFlbGVtLnNlbGVjdGVkKTsKCQkJCQl9LAoKCQkJCQkic2VsZWN0ZWQiOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJLy8gQWNjZXNzaW5nIHRoaXMgcHJvcGVydHkgbWFrZXMgc2VsZWN0ZWQtYnktZGVmYXVsdAoJCQkJCQkvLyBvcHRpb25zIGluIFNhZmFyaSB3b3JrIHByb3Blcmx5CgkJCQkJCWlmICggZWxlbS5wYXJlbnROb2RlICkgewoJCQkJCQkJZWxlbS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7CgkJCQkJCX0KCgkJCQkJCXJldHVybiBlbGVtLnNlbGVjdGVkID09PSB0cnVlOwoJCQkJCX0sCgoJCQkJCS8vIENvbnRlbnRzCgkJCQkJImVtcHR5IjogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jZW1wdHktcHNldWRvCgkJCQkJCS8vIDplbXB0eSBpcyBuZWdhdGVkIGJ5IGVsZW1lbnQgKDEpIG9yIGNvbnRlbnQgbm9kZXMgKHRleHQ6IDM7IGNkYXRhOiA0OyBlbnRpdHkgcmVmOiA1KSwKCQkJCQkJLy8gICBidXQgbm90IGJ5IG90aGVycyAoY29tbWVudDogODsgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbjogNzsgZXRjLikKCQkJCQkJLy8gbm9kZVR5cGUgPCA2IHdvcmtzIGJlY2F1c2UgYXR0cmlidXRlcyAoMikgZG8gbm90IGFwcGVhciBhcyBjaGlsZHJlbgoJCQkJCQlmb3IgKCBlbGVtID0gZWxlbS5maXJzdENoaWxkOyBlbGVtOyBlbGVtID0gZWxlbS5uZXh0U2libGluZyApIHsKCQkJCQkJCWlmICggZWxlbS5ub2RlVHlwZSA8IDYgKSB7CgkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXJldHVybiB0cnVlOwoJCQkJCX0sCgoJCQkJCSJwYXJlbnQiOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJcmV0dXJuICFFeHByLnBzZXVkb3NbImVtcHR5Il0oIGVsZW0gKTsKCQkJCQl9LAoKCQkJCQkvLyBFbGVtZW50L2lucHV0IHR5cGVzCgkJCQkJImhlYWRlciI6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQlyZXR1cm4gcmhlYWRlci50ZXN0KCBlbGVtLm5vZGVOYW1lICk7CgkJCQkJfSwKCgkJCQkJImlucHV0IjogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCXJldHVybiByaW5wdXRzLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTsKCQkJCQl9LAoKCQkJCQkiYnV0dG9uIjogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCXZhciBuYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOwoJCQkJCQlyZXR1cm4gbmFtZSA9PT0gImlucHV0IiAmJiBlbGVtLnR5cGUgPT09ICJidXR0b24iIHx8IG5hbWUgPT09ICJidXR0b24iOwoJCQkJCX0sCgoJCQkJCSJ0ZXh0IjogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJCXZhciBhdHRyOwoJCQkJCQlyZXR1cm4gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAiaW5wdXQiICYmCgkJCQkJCQllbGVtLnR5cGUgPT09ICJ0ZXh0IiAmJgoKCQkJCQkJCS8vIFN1cHBvcnQ6IElFPDgKCQkJCQkJCS8vIE5ldyBIVE1MNSBhdHRyaWJ1dGUgdmFsdWVzIChlLmcuLCAic2VhcmNoIikgYXBwZWFyIHdpdGggZWxlbS50eXBlID09PSAidGV4dCIKCQkJCQkJCSggKGF0dHIgPSBlbGVtLmdldEF0dHJpYnV0ZSgidHlwZSIpKSA9PSBudWxsIHx8IGF0dHIudG9Mb3dlckNhc2UoKSA9PT0gInRleHQiICk7CgkJCQkJfSwKCgkJCQkJLy8gUG9zaXRpb24taW4tY29sbGVjdGlvbgoJCQkJCSJmaXJzdCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oKSB7CgkJCQkJCXJldHVybiBbIDAgXTsKCQkJCQl9KSwKCgkJCQkJImxhc3QiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCApIHsKCQkJCQkJcmV0dXJuIFsgbGVuZ3RoIC0gMSBdOwoJCQkJCX0pLAoKCQkJCQkiZXEiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7CgkJCQkJCXJldHVybiBbIGFyZ3VtZW50IDwgMCA/IGFyZ3VtZW50ICsgbGVuZ3RoIDogYXJndW1lbnQgXTsKCQkJCQl9KSwKCgkJCQkJImV2ZW4iOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCApIHsKCQkJCQkJdmFyIGkgPSAwOwoJCQkJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkgKz0gMiApIHsKCQkJCQkJCW1hdGNoSW5kZXhlcy5wdXNoKCBpICk7CgkJCQkJCX0KCQkJCQkJcmV0dXJuIG1hdGNoSW5kZXhlczsKCQkJCQl9KSwKCgkJCQkJIm9kZCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkgewoJCQkJCQl2YXIgaSA9IDE7CgkJCQkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSArPSAyICkgewoJCQkJCQkJbWF0Y2hJbmRleGVzLnB1c2goIGkgKTsKCQkJCQkJfQoJCQkJCQlyZXR1cm4gbWF0Y2hJbmRleGVzOwoJCQkJCX0pLAoKCQkJCQkibHQiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7CgkJCQkJCXZhciBpID0gYXJndW1lbnQgPCAwID8gYXJndW1lbnQgKyBsZW5ndGggOiBhcmd1bWVudDsKCQkJCQkJZm9yICggOyAtLWkgPj0gMDsgKSB7CgkJCQkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOwoJCQkJCQl9CgkJCQkJCXJldHVybiBtYXRjaEluZGV4ZXM7CgkJCQkJfSksCgoJCQkJCSJndCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHsKCQkJCQkJdmFyIGkgPSBhcmd1bWVudCA8IDAgPyBhcmd1bWVudCArIGxlbmd0aCA6IGFyZ3VtZW50OwoJCQkJCQlmb3IgKCA7ICsraSA8IGxlbmd0aDsgKSB7CgkJCQkJCQltYXRjaEluZGV4ZXMucHVzaCggaSApOwoJCQkJCQl9CgkJCQkJCXJldHVybiBtYXRjaEluZGV4ZXM7CgkJCQkJfSkKCQkJCX0KCQkJfTsKCgkJCUV4cHIucHNldWRvc1sibnRoIl0gPSBFeHByLnBzZXVkb3NbImVxIl07CgovLyBBZGQgYnV0dG9uL2lucHV0IHR5cGUgcHNldWRvcwoJCQlmb3IgKCBpIGluIHsgcmFkaW86IHRydWUsIGNoZWNrYm94OiB0cnVlLCBmaWxlOiB0cnVlLCBwYXNzd29yZDogdHJ1ZSwgaW1hZ2U6IHRydWUgfSApIHsKCQkJCUV4cHIucHNldWRvc1sgaSBdID0gY3JlYXRlSW5wdXRQc2V1ZG8oIGkgKTsKCQkJfQoJCQlmb3IgKCBpIGluIHsgc3VibWl0OiB0cnVlLCByZXNldDogdHJ1ZSB9ICkgewoJCQkJRXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVCdXR0b25Qc2V1ZG8oIGkgKTsKCQkJfQoKLy8gRWFzeSBBUEkgZm9yIGNyZWF0aW5nIG5ldyBzZXRGaWx0ZXJzCgkJCWZ1bmN0aW9uIHNldEZpbHRlcnMoKSB7fQoJCQlzZXRGaWx0ZXJzLnByb3RvdHlwZSA9IEV4cHIuZmlsdGVycyA9IEV4cHIucHNldWRvczsKCQkJRXhwci5zZXRGaWx0ZXJzID0gbmV3IHNldEZpbHRlcnMoKTsKCgkJCXRva2VuaXplID0gU2l6emxlLnRva2VuaXplID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBwYXJzZU9ubHkgKSB7CgkJCQl2YXIgbWF0Y2hlZCwgbWF0Y2gsIHRva2VucywgdHlwZSwKCQkJCQlzb0ZhciwgZ3JvdXBzLCBwcmVGaWx0ZXJzLAoJCQkJCWNhY2hlZCA9IHRva2VuQ2FjaGVbIHNlbGVjdG9yICsgIiAiIF07CgoJCQkJaWYgKCBjYWNoZWQgKSB7CgkJCQkJcmV0dXJuIHBhcnNlT25seSA/IDAgOiBjYWNoZWQuc2xpY2UoIDAgKTsKCQkJCX0KCgkJCQlzb0ZhciA9IHNlbGVjdG9yOwoJCQkJZ3JvdXBzID0gW107CgkJCQlwcmVGaWx0ZXJzID0gRXhwci5wcmVGaWx0ZXI7CgoJCQkJd2hpbGUgKCBzb0ZhciApIHsKCgkJCQkJLy8gQ29tbWEgYW5kIGZpcnN0IHJ1bgoJCQkJCWlmICggIW1hdGNoZWQgfHwgKG1hdGNoID0gcmNvbW1hLmV4ZWMoIHNvRmFyICkpICkgewoJCQkJCQlpZiAoIG1hdGNoICkgewoJCQkJCQkJLy8gRG9uJ3QgY29uc3VtZSB0cmFpbGluZyBjb21tYXMgYXMgdmFsaWQKCQkJCQkJCXNvRmFyID0gc29GYXIuc2xpY2UoIG1hdGNoWzBdLmxlbmd0aCApIHx8IHNvRmFyOwoJCQkJCQl9CgkJCQkJCWdyb3Vwcy5wdXNoKCAodG9rZW5zID0gW10pICk7CgkJCQkJfQoKCQkJCQltYXRjaGVkID0gZmFsc2U7CgoJCQkJCS8vIENvbWJpbmF0b3JzCgkJCQkJaWYgKCAobWF0Y2ggPSByY29tYmluYXRvcnMuZXhlYyggc29GYXIgKSkgKSB7CgkJCQkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOwoJCQkJCQl0b2tlbnMucHVzaCh7CgkJCQkJCQl2YWx1ZTogbWF0Y2hlZCwKCQkJCQkJCS8vIENhc3QgZGVzY2VuZGFudCBjb21iaW5hdG9ycyB0byBzcGFjZQoJCQkJCQkJdHlwZTogbWF0Y2hbMF0ucmVwbGFjZSggcnRyaW0sICIgIiApCgkJCQkJCX0pOwoJCQkJCQlzb0ZhciA9IHNvRmFyLnNsaWNlKCBtYXRjaGVkLmxlbmd0aCApOwoJCQkJCX0KCgkJCQkJLy8gRmlsdGVycwoJCQkJCWZvciAoIHR5cGUgaW4gRXhwci5maWx0ZXIgKSB7CgkJCQkJCWlmICggKG1hdGNoID0gbWF0Y2hFeHByWyB0eXBlIF0uZXhlYyggc29GYXIgKSkgJiYgKCFwcmVGaWx0ZXJzWyB0eXBlIF0gfHwKCQkJCQkJCQkobWF0Y2ggPSBwcmVGaWx0ZXJzWyB0eXBlIF0oIG1hdGNoICkpKSApIHsKCQkJCQkJCW1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpOwoJCQkJCQkJdG9rZW5zLnB1c2goewoJCQkJCQkJCXZhbHVlOiBtYXRjaGVkLAoJCQkJCQkJCXR5cGU6IHR5cGUsCgkJCQkJCQkJbWF0Y2hlczogbWF0Y2gKCQkJCQkJCX0pOwoJCQkJCQkJc29GYXIgPSBzb0Zhci5zbGljZSggbWF0Y2hlZC5sZW5ndGggKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJaWYgKCAhbWF0Y2hlZCApIHsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoKCQkJCS8vIFJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnZhbGlkIGV4Y2VzcwoJCQkJLy8gaWYgd2UncmUganVzdCBwYXJzaW5nCgkJCQkvLyBPdGhlcndpc2UsIHRocm93IGFuIGVycm9yIG9yIHJldHVybiB0b2tlbnMKCQkJCXJldHVybiBwYXJzZU9ubHkgPwoJCQkJCXNvRmFyLmxlbmd0aCA6CgkJCQkJc29GYXIgPwoJCQkJCQlTaXp6bGUuZXJyb3IoIHNlbGVjdG9yICkgOgoJCQkJCQkvLyBDYWNoZSB0aGUgdG9rZW5zCgkJCQkJCXRva2VuQ2FjaGUoIHNlbGVjdG9yLCBncm91cHMgKS5zbGljZSggMCApOwoJCQl9OwoKCQkJZnVuY3Rpb24gdG9TZWxlY3RvciggdG9rZW5zICkgewoJCQkJdmFyIGkgPSAwLAoJCQkJCWxlbiA9IHRva2Vucy5sZW5ndGgsCgkJCQkJc2VsZWN0b3IgPSAiIjsKCQkJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgewoJCQkJCXNlbGVjdG9yICs9IHRva2Vuc1tpXS52YWx1ZTsKCQkJCX0KCQkJCXJldHVybiBzZWxlY3RvcjsKCQkJfQoKCQkJZnVuY3Rpb24gYWRkQ29tYmluYXRvciggbWF0Y2hlciwgY29tYmluYXRvciwgYmFzZSApIHsKCQkJCXZhciBkaXIgPSBjb21iaW5hdG9yLmRpciwKCQkJCQlza2lwID0gY29tYmluYXRvci5uZXh0LAoJCQkJCWtleSA9IHNraXAgfHwgZGlyLAoJCQkJCWNoZWNrTm9uRWxlbWVudHMgPSBiYXNlICYmIGtleSA9PT0gInBhcmVudE5vZGUiLAoJCQkJCWRvbmVOYW1lID0gZG9uZSsrOwoKCQkJCXJldHVybiBjb21iaW5hdG9yLmZpcnN0ID8KCQkJCQkvLyBDaGVjayBhZ2FpbnN0IGNsb3Nlc3QgYW5jZXN0b3IvcHJlY2VkaW5nIGVsZW1lbnQKCQkJCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgewoJCQkJCQl3aGlsZSAoIChlbGVtID0gZWxlbVsgZGlyIF0pICkgewoJCQkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGNoZWNrTm9uRWxlbWVudHMgKSB7CgkJCQkJCQkJcmV0dXJuIG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQl9IDoKCgkJCQkJLy8gQ2hlY2sgYWdhaW5zdCBhbGwgYW5jZXN0b3IvcHJlY2VkaW5nIGVsZW1lbnRzCgkJCQkJZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHsKCQkJCQkJdmFyIG9sZENhY2hlLCB1bmlxdWVDYWNoZSwgb3V0ZXJDYWNoZSwKCQkJCQkJCW5ld0NhY2hlID0gWyBkaXJydW5zLCBkb25lTmFtZSBdOwoKCQkJCQkJLy8gV2UgY2FuJ3Qgc2V0IGFyYml0cmFyeSBkYXRhIG9uIFhNTCBub2Rlcywgc28gdGhleSBkb24ndCBiZW5lZml0IGZyb20gY29tYmluYXRvciBjYWNoaW5nCgkJCQkJCWlmICggeG1sICkgewoJCQkJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsKCQkJCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHsKCQkJCQkJCQkJaWYgKCBtYXRjaGVyKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHsKCQkJCQkJCQkJCXJldHVybiB0cnVlOwoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9IGVsc2UgewoJCQkJCQkJd2hpbGUgKCAoZWxlbSA9IGVsZW1bIGRpciBdKSApIHsKCQkJCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHsKCQkJCQkJCQkJb3V0ZXJDYWNoZSA9IGVsZW1bIGV4cGFuZG8gXSB8fCAoZWxlbVsgZXhwYW5kbyBdID0ge30pOwoKCQkJCQkJCQkJLy8gU3VwcG9ydDogSUUgPDkgb25seQoJCQkJCQkJCQkvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSkKCQkJCQkJCQkJdW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBlbGVtLnVuaXF1ZUlEIF0gfHwgKG91dGVyQ2FjaGVbIGVsZW0udW5pcXVlSUQgXSA9IHt9KTsKCgkJCQkJCQkJCWlmICggc2tpcCAmJiBza2lwID09PSBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgKSB7CgkJCQkJCQkJCQllbGVtID0gZWxlbVsgZGlyIF0gfHwgZWxlbTsKCQkJCQkJCQkJfSBlbHNlIGlmICggKG9sZENhY2hlID0gdW5pcXVlQ2FjaGVbIGtleSBdKSAmJgoJCQkJCQkJCQkJb2xkQ2FjaGVbIDAgXSA9PT0gZGlycnVucyAmJiBvbGRDYWNoZVsgMSBdID09PSBkb25lTmFtZSApIHsKCgkJCQkJCQkJCQkvLyBBc3NpZ24gdG8gbmV3Q2FjaGUgc28gcmVzdWx0cyBiYWNrLXByb3BhZ2F0ZSB0byBwcmV2aW91cyBlbGVtZW50cwoJCQkJCQkJCQkJcmV0dXJuIChuZXdDYWNoZVsgMiBdID0gb2xkQ2FjaGVbIDIgXSk7CgkJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCQkvLyBSZXVzZSBuZXdjYWNoZSBzbyByZXN1bHRzIGJhY2stcHJvcGFnYXRlIHRvIHByZXZpb3VzIGVsZW1lbnRzCgkJCQkJCQkJCQl1bmlxdWVDYWNoZVsga2V5IF0gPSBuZXdDYWNoZTsKCgkJCQkJCQkJCQkvLyBBIG1hdGNoIG1lYW5zIHdlJ3JlIGRvbmU7IGEgZmFpbCBtZWFucyB3ZSBoYXZlIHRvIGtlZXAgY2hlY2tpbmcKCQkJCQkJCQkJCWlmICggKG5ld0NhY2hlWyAyIF0gPSBtYXRjaGVyKCBlbGVtLCBjb250ZXh0LCB4bWwgKSkgKSB7CgkJCQkJCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX07CgkJCX0KCgkJCWZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVyKCBtYXRjaGVycyApIHsKCQkJCXJldHVybiBtYXRjaGVycy5sZW5ndGggPiAxID8KCQkJCQlmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgewoJCQkJCQl2YXIgaSA9IG1hdGNoZXJzLmxlbmd0aDsKCQkJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJCQlpZiAoICFtYXRjaGVyc1tpXSggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7CgkJCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCXJldHVybiB0cnVlOwoJCQkJCX0gOgoJCQkJCW1hdGNoZXJzWzBdOwoJCQl9CgoJCQlmdW5jdGlvbiBtdWx0aXBsZUNvbnRleHRzKCBzZWxlY3RvciwgY29udGV4dHMsIHJlc3VsdHMgKSB7CgkJCQl2YXIgaSA9IDAsCgkJCQkJbGVuID0gY29udGV4dHMubGVuZ3RoOwoJCQkJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7CgkJCQkJU2l6emxlKCBzZWxlY3RvciwgY29udGV4dHNbaV0sIHJlc3VsdHMgKTsKCQkJCX0KCQkJCXJldHVybiByZXN1bHRzOwoJCQl9CgoJCQlmdW5jdGlvbiBjb25kZW5zZSggdW5tYXRjaGVkLCBtYXAsIGZpbHRlciwgY29udGV4dCwgeG1sICkgewoJCQkJdmFyIGVsZW0sCgkJCQkJbmV3VW5tYXRjaGVkID0gW10sCgkJCQkJaSA9IDAsCgkJCQkJbGVuID0gdW5tYXRjaGVkLmxlbmd0aCwKCQkJCQltYXBwZWQgPSBtYXAgIT0gbnVsbDsKCgkJCQlmb3IgKCA7IGkgPCBsZW47IGkrKyApIHsKCQkJCQlpZiAoIChlbGVtID0gdW5tYXRjaGVkW2ldKSApIHsKCQkJCQkJaWYgKCAhZmlsdGVyIHx8IGZpbHRlciggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7CgkJCQkJCQluZXdVbm1hdGNoZWQucHVzaCggZWxlbSApOwoJCQkJCQkJaWYgKCBtYXBwZWQgKSB7CgkJCQkJCQkJbWFwLnB1c2goIGkgKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQlyZXR1cm4gbmV3VW5tYXRjaGVkOwoJCQl9CgoJCQlmdW5jdGlvbiBzZXRNYXRjaGVyKCBwcmVGaWx0ZXIsIHNlbGVjdG9yLCBtYXRjaGVyLCBwb3N0RmlsdGVyLCBwb3N0RmluZGVyLCBwb3N0U2VsZWN0b3IgKSB7CgkJCQlpZiAoIHBvc3RGaWx0ZXIgJiYgIXBvc3RGaWx0ZXJbIGV4cGFuZG8gXSApIHsKCQkJCQlwb3N0RmlsdGVyID0gc2V0TWF0Y2hlciggcG9zdEZpbHRlciApOwoJCQkJfQoJCQkJaWYgKCBwb3N0RmluZGVyICYmICFwb3N0RmluZGVyWyBleHBhbmRvIF0gKSB7CgkJCQkJcG9zdEZpbmRlciA9IHNldE1hdGNoZXIoIHBvc3RGaW5kZXIsIHBvc3RTZWxlY3RvciApOwoJCQkJfQoJCQkJcmV0dXJuIG1hcmtGdW5jdGlvbihmdW5jdGlvbiggc2VlZCwgcmVzdWx0cywgY29udGV4dCwgeG1sICkgewoJCQkJCXZhciB0ZW1wLCBpLCBlbGVtLAoJCQkJCQlwcmVNYXAgPSBbXSwKCQkJCQkJcG9zdE1hcCA9IFtdLAoJCQkJCQlwcmVleGlzdGluZyA9IHJlc3VsdHMubGVuZ3RoLAoKCQkJCQkJLy8gR2V0IGluaXRpYWwgZWxlbWVudHMgZnJvbSBzZWVkIG9yIGNvbnRleHQKCQkJCQkJZWxlbXMgPSBzZWVkIHx8IG11bHRpcGxlQ29udGV4dHMoIHNlbGVjdG9yIHx8ICIqIiwgY29udGV4dC5ub2RlVHlwZSA/IFsgY29udGV4dCBdIDogY29udGV4dCwgW10gKSwKCgkJCQkJCS8vIFByZWZpbHRlciB0byBnZXQgbWF0Y2hlciBpbnB1dCwgcHJlc2VydmluZyBhIG1hcCBmb3Igc2VlZC1yZXN1bHRzIHN5bmNocm9uaXphdGlvbgoJCQkJCQltYXRjaGVySW4gPSBwcmVGaWx0ZXIgJiYgKCBzZWVkIHx8ICFzZWxlY3RvciApID8KCQkJCQkJCWNvbmRlbnNlKCBlbGVtcywgcHJlTWFwLCBwcmVGaWx0ZXIsIGNvbnRleHQsIHhtbCApIDoKCQkJCQkJCWVsZW1zLAoKCQkJCQkJbWF0Y2hlck91dCA9IG1hdGNoZXIgPwoJCQkJCQkJLy8gSWYgd2UgaGF2ZSBhIHBvc3RGaW5kZXIsIG9yIGZpbHRlcmVkIHNlZWQsIG9yIG5vbi1zZWVkIHBvc3RGaWx0ZXIgb3IgcHJlZXhpc3RpbmcgcmVzdWx0cywKCQkJCQkJCXBvc3RGaW5kZXIgfHwgKCBzZWVkID8gcHJlRmlsdGVyIDogcHJlZXhpc3RpbmcgfHwgcG9zdEZpbHRlciApID8KCgkJCQkJCQkJLy8gLi4uaW50ZXJtZWRpYXRlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5CgkJCQkJCQkJW10gOgoKCQkJCQkJCQkvLyAuLi5vdGhlcndpc2UgdXNlIHJlc3VsdHMgZGlyZWN0bHkKCQkJCQkJCQlyZXN1bHRzIDoKCQkJCQkJCW1hdGNoZXJJbjsKCgkJCQkJLy8gRmluZCBwcmltYXJ5IG1hdGNoZXMKCQkJCQlpZiAoIG1hdGNoZXIgKSB7CgkJCQkJCW1hdGNoZXIoIG1hdGNoZXJJbiwgbWF0Y2hlck91dCwgY29udGV4dCwgeG1sICk7CgkJCQkJfQoKCQkJCQkvLyBBcHBseSBwb3N0RmlsdGVyCgkJCQkJaWYgKCBwb3N0RmlsdGVyICkgewoJCQkJCQl0ZW1wID0gY29uZGVuc2UoIG1hdGNoZXJPdXQsIHBvc3RNYXAgKTsKCQkJCQkJcG9zdEZpbHRlciggdGVtcCwgW10sIGNvbnRleHQsIHhtbCApOwoKCQkJCQkJLy8gVW4tbWF0Y2ggZmFpbGluZyBlbGVtZW50cyBieSBtb3ZpbmcgdGhlbSBiYWNrIHRvIG1hdGNoZXJJbgoJCQkJCQlpID0gdGVtcC5sZW5ndGg7CgkJCQkJCXdoaWxlICggaS0tICkgewoJCQkJCQkJaWYgKCAoZWxlbSA9IHRlbXBbaV0pICkgewoJCQkJCQkJCW1hdGNoZXJPdXRbIHBvc3RNYXBbaV0gXSA9ICEobWF0Y2hlckluWyBwb3N0TWFwW2ldIF0gPSBlbGVtKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCgkJCQkJaWYgKCBzZWVkICkgewoJCQkJCQlpZiAoIHBvc3RGaW5kZXIgfHwgcHJlRmlsdGVyICkgewoJCQkJCQkJaWYgKCBwb3N0RmluZGVyICkgewoJCQkJCQkJCS8vIEdldCB0aGUgZmluYWwgbWF0Y2hlck91dCBieSBjb25kZW5zaW5nIHRoaXMgaW50ZXJtZWRpYXRlIGludG8gcG9zdEZpbmRlciBjb250ZXh0cwoJCQkJCQkJCXRlbXAgPSBbXTsKCQkJCQkJCQlpID0gbWF0Y2hlck91dC5sZW5ndGg7CgkJCQkJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJCQkJCWlmICggKGVsZW0gPSBtYXRjaGVyT3V0W2ldKSApIHsKCQkJCQkJCQkJCS8vIFJlc3RvcmUgbWF0Y2hlckluIHNpbmNlIGVsZW0gaXMgbm90IHlldCBhIGZpbmFsIG1hdGNoCgkJCQkJCQkJCQl0ZW1wLnB1c2goIChtYXRjaGVySW5baV0gPSBlbGVtKSApOwoJCQkJCQkJCQl9CgkJCQkJCQkJfQoJCQkJCQkJCXBvc3RGaW5kZXIoIG51bGwsIChtYXRjaGVyT3V0ID0gW10pLCB0ZW1wLCB4bWwgKTsKCQkJCQkJCX0KCgkJCQkJCQkvLyBNb3ZlIG1hdGNoZWQgZWxlbWVudHMgZnJvbSBzZWVkIHRvIHJlc3VsdHMgdG8ga2VlcCB0aGVtIHN5bmNocm9uaXplZAoJCQkJCQkJaSA9IG1hdGNoZXJPdXQubGVuZ3RoOwoJCQkJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJCQkJaWYgKCAoZWxlbSA9IG1hdGNoZXJPdXRbaV0pICYmCgkJCQkJCQkJCSh0ZW1wID0gcG9zdEZpbmRlciA/IGluZGV4T2YoIHNlZWQsIGVsZW0gKSA6IHByZU1hcFtpXSkgPiAtMSApIHsKCgkJCQkJCQkJCXNlZWRbdGVtcF0gPSAhKHJlc3VsdHNbdGVtcF0gPSBlbGVtKTsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCS8vIEFkZCBlbGVtZW50cyB0byByZXN1bHRzLCB0aHJvdWdoIHBvc3RGaW5kZXIgaWYgZGVmaW5lZAoJCQkJCX0gZWxzZSB7CgkJCQkJCW1hdGNoZXJPdXQgPSBjb25kZW5zZSgKCQkJCQkJCW1hdGNoZXJPdXQgPT09IHJlc3VsdHMgPwoJCQkJCQkJCW1hdGNoZXJPdXQuc3BsaWNlKCBwcmVleGlzdGluZywgbWF0Y2hlck91dC5sZW5ndGggKSA6CgkJCQkJCQkJbWF0Y2hlck91dAoJCQkJCQkpOwoJCQkJCQlpZiAoIHBvc3RGaW5kZXIgKSB7CgkJCQkJCQlwb3N0RmluZGVyKCBudWxsLCByZXN1bHRzLCBtYXRjaGVyT3V0LCB4bWwgKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIG1hdGNoZXJPdXQgKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0pOwoJCQl9CgoJCQlmdW5jdGlvbiBtYXRjaGVyRnJvbVRva2VucyggdG9rZW5zICkgewoJCQkJdmFyIGNoZWNrQ29udGV4dCwgbWF0Y2hlciwgaiwKCQkJCQlsZW4gPSB0b2tlbnMubGVuZ3RoLAoJCQkJCWxlYWRpbmdSZWxhdGl2ZSA9IEV4cHIucmVsYXRpdmVbIHRva2Vuc1swXS50eXBlIF0sCgkJCQkJaW1wbGljaXRSZWxhdGl2ZSA9IGxlYWRpbmdSZWxhdGl2ZSB8fCBFeHByLnJlbGF0aXZlWyIgIl0sCgkJCQkJaSA9IGxlYWRpbmdSZWxhdGl2ZSA/IDEgOiAwLAoKCQkJCQkvLyBUaGUgZm91bmRhdGlvbmFsIG1hdGNoZXIgZW5zdXJlcyB0aGF0IGVsZW1lbnRzIGFyZSByZWFjaGFibGUgZnJvbSB0b3AtbGV2ZWwgY29udGV4dChzKQoJCQkJCW1hdGNoQ29udGV4dCA9IGFkZENvbWJpbmF0b3IoIGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJCQlyZXR1cm4gZWxlbSA9PT0gY2hlY2tDb250ZXh0OwoJCQkJCX0sIGltcGxpY2l0UmVsYXRpdmUsIHRydWUgKSwKCQkJCQltYXRjaEFueUNvbnRleHQgPSBhZGRDb21iaW5hdG9yKCBmdW5jdGlvbiggZWxlbSApIHsKCQkJCQkJcmV0dXJuIGluZGV4T2YoIGNoZWNrQ29udGV4dCwgZWxlbSApID4gLTE7CgkJCQkJfSwgaW1wbGljaXRSZWxhdGl2ZSwgdHJ1ZSApLAoJCQkJCW1hdGNoZXJzID0gWyBmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkgewoJCQkJCQl2YXIgcmV0ID0gKCAhbGVhZGluZ1JlbGF0aXZlICYmICggeG1sIHx8IGNvbnRleHQgIT09IG91dGVybW9zdENvbnRleHQgKSApIHx8ICgKCQkJCQkJCShjaGVja0NvbnRleHQgPSBjb250ZXh0KS5ub2RlVHlwZSA/CgkJCQkJCQkJbWF0Y2hDb250ZXh0KCBlbGVtLCBjb250ZXh0LCB4bWwgKSA6CgkJCQkJCQkJbWF0Y2hBbnlDb250ZXh0KCBlbGVtLCBjb250ZXh0LCB4bWwgKSApOwoJCQkJCQkvLyBBdm9pZCBoYW5naW5nIG9udG8gZWxlbWVudCAoaXNzdWUgIzI5OSkKCQkJCQkJY2hlY2tDb250ZXh0ID0gbnVsbDsKCQkJCQkJcmV0dXJuIHJldDsKCQkJCQl9IF07CgoJCQkJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7CgkJCQkJaWYgKCAobWF0Y2hlciA9IEV4cHIucmVsYXRpdmVbIHRva2Vuc1tpXS50eXBlIF0pICkgewoJCQkJCQltYXRjaGVycyA9IFsgYWRkQ29tYmluYXRvcihlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSwgbWF0Y2hlcikgXTsKCQkJCQl9IGVsc2UgewoJCQkJCQltYXRjaGVyID0gRXhwci5maWx0ZXJbIHRva2Vuc1tpXS50eXBlIF0uYXBwbHkoIG51bGwsIHRva2Vuc1tpXS5tYXRjaGVzICk7CgoJCQkJCQkvLyBSZXR1cm4gc3BlY2lhbCB1cG9uIHNlZWluZyBhIHBvc2l0aW9uYWwgbWF0Y2hlcgoJCQkJCQlpZiAoIG1hdGNoZXJbIGV4cGFuZG8gXSApIHsKCQkJCQkJCS8vIEZpbmQgdGhlIG5leHQgcmVsYXRpdmUgb3BlcmF0b3IgKGlmIGFueSkgZm9yIHByb3BlciBoYW5kbGluZwoJCQkJCQkJaiA9ICsraTsKCQkJCQkJCWZvciAoIDsgaiA8IGxlbjsgaisrICkgewoJCQkJCQkJCWlmICggRXhwci5yZWxhdGl2ZVsgdG9rZW5zW2pdLnR5cGUgXSApIHsKCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQkJcmV0dXJuIHNldE1hdGNoZXIoCgkJCQkJCQkJaSA+IDEgJiYgZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICksCgkJCQkJCQkJaSA+IDEgJiYgdG9TZWxlY3RvcigKCQkJCQkJCQkvLyBJZiB0aGUgcHJlY2VkaW5nIHRva2VuIHdhcyBhIGRlc2NlbmRhbnQgY29tYmluYXRvciwgaW5zZXJ0IGFuIGltcGxpY2l0IGFueS1lbGVtZW50IGAqYAoJCQkJCQkJCXRva2Vucy5zbGljZSggMCwgaSAtIDEgKS5jb25jYXQoeyB2YWx1ZTogdG9rZW5zWyBpIC0gMiBdLnR5cGUgPT09ICIgIiA/ICIqIiA6ICIiIH0pCgkJCQkJCQkJKS5yZXBsYWNlKCBydHJpbSwgIiQxIiApLAoJCQkJCQkJCW1hdGNoZXIsCgkJCQkJCQkJaSA8IGogJiYgbWF0Y2hlckZyb21Ub2tlbnMoIHRva2Vucy5zbGljZSggaSwgaiApICksCgkJCQkJCQkJaiA8IGxlbiAmJiBtYXRjaGVyRnJvbVRva2VucyggKHRva2VucyA9IHRva2Vucy5zbGljZSggaiApKSApLAoJCQkJCQkJCWogPCBsZW4gJiYgdG9TZWxlY3RvciggdG9rZW5zICkKCQkJCQkJCSk7CgkJCQkJCX0KCQkJCQkJbWF0Y2hlcnMucHVzaCggbWF0Y2hlciApOwoJCQkJCX0KCQkJCX0KCgkJCQlyZXR1cm4gZWxlbWVudE1hdGNoZXIoIG1hdGNoZXJzICk7CgkJCX0KCgkJCWZ1bmN0aW9uIG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyggZWxlbWVudE1hdGNoZXJzLCBzZXRNYXRjaGVycyApIHsKCQkJCXZhciBieVNldCA9IHNldE1hdGNoZXJzLmxlbmd0aCA+IDAsCgkJCQkJYnlFbGVtZW50ID0gZWxlbWVudE1hdGNoZXJzLmxlbmd0aCA+IDAsCgkJCQkJc3VwZXJNYXRjaGVyID0gZnVuY3Rpb24oIHNlZWQsIGNvbnRleHQsIHhtbCwgcmVzdWx0cywgb3V0ZXJtb3N0ICkgewoJCQkJCQl2YXIgZWxlbSwgaiwgbWF0Y2hlciwKCQkJCQkJCW1hdGNoZWRDb3VudCA9IDAsCgkJCQkJCQlpID0gIjAiLAoJCQkJCQkJdW5tYXRjaGVkID0gc2VlZCAmJiBbXSwKCQkJCQkJCXNldE1hdGNoZWQgPSBbXSwKCQkJCQkJCWNvbnRleHRCYWNrdXAgPSBvdXRlcm1vc3RDb250ZXh0LAoJCQkJCQkJLy8gV2UgbXVzdCBhbHdheXMgaGF2ZSBlaXRoZXIgc2VlZCBlbGVtZW50cyBvciBvdXRlcm1vc3QgY29udGV4dAoJCQkJCQkJZWxlbXMgPSBzZWVkIHx8IGJ5RWxlbWVudCAmJiBFeHByLmZpbmRbIlRBRyJdKCAiKiIsIG91dGVybW9zdCApLAoJCQkJCQkJLy8gVXNlIGludGVnZXIgZGlycnVucyBpZmYgdGhpcyBpcyB0aGUgb3V0ZXJtb3N0IG1hdGNoZXIKCQkJCQkJCWRpcnJ1bnNVbmlxdWUgPSAoZGlycnVucyArPSBjb250ZXh0QmFja3VwID09IG51bGwgPyAxIDogTWF0aC5yYW5kb20oKSB8fCAwLjEpLAoJCQkJCQkJbGVuID0gZWxlbXMubGVuZ3RoOwoKCQkJCQkJaWYgKCBvdXRlcm1vc3QgKSB7CgkJCQkJCQlvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dCA9PT0gZG9jdW1lbnQgfHwgY29udGV4dCB8fCBvdXRlcm1vc3Q7CgkJCQkJCX0KCgkJCQkJCS8vIEFkZCBlbGVtZW50cyBwYXNzaW5nIGVsZW1lbnRNYXRjaGVycyBkaXJlY3RseSB0byByZXN1bHRzCgkJCQkJCS8vIFN1cHBvcnQ6IElFPDksIFNhZmFyaQoJCQkJCQkvLyBUb2xlcmF0ZSBOb2RlTGlzdCBwcm9wZXJ0aWVzIChJRTogImxlbmd0aCI7IFNhZmFyaTogPG51bWJlcj4pIG1hdGNoaW5nIGVsZW1lbnRzIGJ5IGlkCgkJCQkJCWZvciAoIDsgaSAhPT0gbGVuICYmIChlbGVtID0gZWxlbXNbaV0pICE9IG51bGw7IGkrKyApIHsKCQkJCQkJCWlmICggYnlFbGVtZW50ICYmIGVsZW0gKSB7CgkJCQkJCQkJaiA9IDA7CgkJCQkJCQkJaWYgKCAhY29udGV4dCAmJiBlbGVtLm93bmVyRG9jdW1lbnQgIT09IGRvY3VtZW50ICkgewoJCQkJCQkJCQlzZXREb2N1bWVudCggZWxlbSApOwoJCQkJCQkJCQl4bWwgPSAhZG9jdW1lbnRJc0hUTUw7CgkJCQkJCQkJfQoJCQkJCQkJCXdoaWxlICggKG1hdGNoZXIgPSBlbGVtZW50TWF0Y2hlcnNbaisrXSkgKSB7CgkJCQkJCQkJCWlmICggbWF0Y2hlciggZWxlbSwgY29udGV4dCB8fCBkb2N1bWVudCwgeG1sKSApIHsKCQkJCQkJCQkJCXJlc3VsdHMucHVzaCggZWxlbSApOwoJCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJCX0KCQkJCQkJCQl9CgkJCQkJCQkJaWYgKCBvdXRlcm1vc3QgKSB7CgkJCQkJCQkJCWRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlOwoJCQkJCQkJCX0KCQkJCQkJCX0KCgkJCQkJCQkvLyBUcmFjayB1bm1hdGNoZWQgZWxlbWVudHMgZm9yIHNldCBmaWx0ZXJzCgkJCQkJCQlpZiAoIGJ5U2V0ICkgewoJCQkJCQkJCS8vIFRoZXkgd2lsbCBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgcG9zc2libGUgbWF0Y2hlcnMKCQkJCQkJCQlpZiAoIChlbGVtID0gIW1hdGNoZXIgJiYgZWxlbSkgKSB7CgkJCQkJCQkJCW1hdGNoZWRDb3VudC0tOwoJCQkJCQkJCX0KCgkJCQkJCQkJLy8gTGVuZ3RoZW4gdGhlIGFycmF5IGZvciBldmVyeSBlbGVtZW50LCBtYXRjaGVkIG9yIG5vdAoJCQkJCQkJCWlmICggc2VlZCApIHsKCQkJCQkJCQkJdW5tYXRjaGVkLnB1c2goIGVsZW0gKTsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCS8vIGBpYCBpcyBub3cgdGhlIGNvdW50IG9mIGVsZW1lbnRzIHZpc2l0ZWQgYWJvdmUsIGFuZCBhZGRpbmcgaXQgdG8gYG1hdGNoZWRDb3VudGAKCQkJCQkJLy8gbWFrZXMgdGhlIGxhdHRlciBub25uZWdhdGl2ZS4KCQkJCQkJbWF0Y2hlZENvdW50ICs9IGk7CgoJCQkJCQkvLyBBcHBseSBzZXQgZmlsdGVycyB0byB1bm1hdGNoZWQgZWxlbWVudHMKCQkJCQkJLy8gTk9URTogVGhpcyBjYW4gYmUgc2tpcHBlZCBpZiB0aGVyZSBhcmUgbm8gdW5tYXRjaGVkIGVsZW1lbnRzIChpLmUuLCBgbWF0Y2hlZENvdW50YAoJCQkJCQkvLyBlcXVhbHMgYGlgKSwgdW5sZXNzIHdlIGRpZG4ndCB2aXNpdCBfYW55XyBlbGVtZW50cyBpbiB0aGUgYWJvdmUgbG9vcCBiZWNhdXNlIHdlIGhhdmUKCQkJCQkJLy8gbm8gZWxlbWVudCBtYXRjaGVycyBhbmQgbm8gc2VlZC4KCQkJCQkJLy8gSW5jcmVtZW50aW5nIGFuIGluaXRpYWxseS1zdHJpbmcgIjAiIGBpYCBhbGxvd3MgYGlgIHRvIHJlbWFpbiBhIHN0cmluZyBvbmx5IGluIHRoYXQKCQkJCQkJLy8gY2FzZSwgd2hpY2ggd2lsbCByZXN1bHQgaW4gYSAiMDAiIGBtYXRjaGVkQ291bnRgIHRoYXQgZGlmZmVycyBmcm9tIGBpYCBidXQgaXMgYWxzbwoJCQkJCQkvLyBudW1lcmljYWxseSB6ZXJvLgoJCQkJCQlpZiAoIGJ5U2V0ICYmIGkgIT09IG1hdGNoZWRDb3VudCApIHsKCQkJCQkJCWogPSAwOwoJCQkJCQkJd2hpbGUgKCAobWF0Y2hlciA9IHNldE1hdGNoZXJzW2orK10pICkgewoJCQkJCQkJCW1hdGNoZXIoIHVubWF0Y2hlZCwgc2V0TWF0Y2hlZCwgY29udGV4dCwgeG1sICk7CgkJCQkJCQl9CgoJCQkJCQkJaWYgKCBzZWVkICkgewoJCQkJCQkJCS8vIFJlaW50ZWdyYXRlIGVsZW1lbnQgbWF0Y2hlcyB0byBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIHNvcnRpbmcKCQkJCQkJCQlpZiAoIG1hdGNoZWRDb3VudCA+IDAgKSB7CgkJCQkJCQkJCXdoaWxlICggaS0tICkgewoJCQkJCQkJCQkJaWYgKCAhKHVubWF0Y2hlZFtpXSB8fCBzZXRNYXRjaGVkW2ldKSApIHsKCQkJCQkJCQkJCQlzZXRNYXRjaGVkW2ldID0gcG9wLmNhbGwoIHJlc3VsdHMgKTsKCQkJCQkJCQkJCX0KCQkJCQkJCQkJfQoJCQkJCQkJCX0KCgkJCQkJCQkJLy8gRGlzY2FyZCBpbmRleCBwbGFjZWhvbGRlciB2YWx1ZXMgdG8gZ2V0IG9ubHkgYWN0dWFsIG1hdGNoZXMKCQkJCQkJCQlzZXRNYXRjaGVkID0gY29uZGVuc2UoIHNldE1hdGNoZWQgKTsKCQkJCQkJCX0KCgkJCQkJCQkvLyBBZGQgbWF0Y2hlcyB0byByZXN1bHRzCgkJCQkJCQlwdXNoLmFwcGx5KCByZXN1bHRzLCBzZXRNYXRjaGVkICk7CgoJCQkJCQkJLy8gU2VlZGxlc3Mgc2V0IG1hdGNoZXMgc3VjY2VlZGluZyBtdWx0aXBsZSBzdWNjZXNzZnVsIG1hdGNoZXJzIHN0aXB1bGF0ZSBzb3J0aW5nCgkJCQkJCQlpZiAoIG91dGVybW9zdCAmJiAhc2VlZCAmJiBzZXRNYXRjaGVkLmxlbmd0aCA+IDAgJiYKCQkJCQkJCQkoIG1hdGNoZWRDb3VudCArIHNldE1hdGNoZXJzLmxlbmd0aCApID4gMSApIHsKCgkJCQkJCQkJU2l6emxlLnVuaXF1ZVNvcnQoIHJlc3VsdHMgKTsKCQkJCQkJCX0KCQkJCQkJfQoKCQkJCQkJLy8gT3ZlcnJpZGUgbWFuaXB1bGF0aW9uIG9mIGdsb2JhbHMgYnkgbmVzdGVkIG1hdGNoZXJzCgkJCQkJCWlmICggb3V0ZXJtb3N0ICkgewoJCQkJCQkJZGlycnVucyA9IGRpcnJ1bnNVbmlxdWU7CgkJCQkJCQlvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dEJhY2t1cDsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIHVubWF0Y2hlZDsKCQkJCQl9OwoKCQkJCXJldHVybiBieVNldCA/CgkJCQkJbWFya0Z1bmN0aW9uKCBzdXBlck1hdGNoZXIgKSA6CgkJCQkJc3VwZXJNYXRjaGVyOwoJCQl9CgoJCQljb21waWxlID0gU2l6emxlLmNvbXBpbGUgPSBmdW5jdGlvbiggc2VsZWN0b3IsIG1hdGNoIC8qIEludGVybmFsIFVzZSBPbmx5ICovICkgewoJCQkJdmFyIGksCgkJCQkJc2V0TWF0Y2hlcnMgPSBbXSwKCQkJCQllbGVtZW50TWF0Y2hlcnMgPSBbXSwKCQkJCQljYWNoZWQgPSBjb21waWxlckNhY2hlWyBzZWxlY3RvciArICIgIiBdOwoKCQkJCWlmICggIWNhY2hlZCApIHsKCQkJCQkvLyBHZW5lcmF0ZSBhIGZ1bmN0aW9uIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlYWNoIGVsZW1lbnQKCQkJCQlpZiAoICFtYXRjaCApIHsKCQkJCQkJbWF0Y2ggPSB0b2tlbml6ZSggc2VsZWN0b3IgKTsKCQkJCQl9CgkJCQkJaSA9IG1hdGNoLmxlbmd0aDsKCQkJCQl3aGlsZSAoIGktLSApIHsKCQkJCQkJY2FjaGVkID0gbWF0Y2hlckZyb21Ub2tlbnMoIG1hdGNoW2ldICk7CgkJCQkJCWlmICggY2FjaGVkWyBleHBhbmRvIF0gKSB7CgkJCQkJCQlzZXRNYXRjaGVycy5wdXNoKCBjYWNoZWQgKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCWVsZW1lbnRNYXRjaGVycy5wdXNoKCBjYWNoZWQgKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gQ2FjaGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uCgkJCQkJY2FjaGVkID0gY29tcGlsZXJDYWNoZSggc2VsZWN0b3IsIG1hdGNoZXJGcm9tR3JvdXBNYXRjaGVycyggZWxlbWVudE1hdGNoZXJzLCBzZXRNYXRjaGVycyApICk7CgoJCQkJCS8vIFNhdmUgc2VsZWN0b3IgYW5kIHRva2VuaXphdGlvbgoJCQkJCWNhY2hlZC5zZWxlY3RvciA9IHNlbGVjdG9yOwoJCQkJfQoJCQkJcmV0dXJuIGNhY2hlZDsKCQkJfTsKCgkJCS8qKgoJCQkgKiBBIGxvdy1sZXZlbCBzZWxlY3Rpb24gZnVuY3Rpb24gdGhhdCB3b3JrcyB3aXRoIFNpenpsZSdzIGNvbXBpbGVkCgkJCSAqICBzZWxlY3RvciBmdW5jdGlvbnMKCQkJICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IHNlbGVjdG9yIEEgc2VsZWN0b3Igb3IgYSBwcmUtY29tcGlsZWQKCQkJICogIHNlbGVjdG9yIGZ1bmN0aW9uIGJ1aWx0IHdpdGggU2l6emxlLmNvbXBpbGUKCQkJICogQHBhcmFtIHtFbGVtZW50fSBjb250ZXh0CgkJCSAqIEBwYXJhbSB7QXJyYXl9IFtyZXN1bHRzXQoJCQkgKiBAcGFyYW0ge0FycmF5fSBbc2VlZF0gQSBzZXQgb2YgZWxlbWVudHMgdG8gbWF0Y2ggYWdhaW5zdAoJCQkgKi8KCQkJc2VsZWN0ID0gU2l6emxlLnNlbGVjdCA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCwgcmVzdWx0cywgc2VlZCApIHsKCQkJCXZhciBpLCB0b2tlbnMsIHRva2VuLCB0eXBlLCBmaW5kLAoJCQkJCWNvbXBpbGVkID0gdHlwZW9mIHNlbGVjdG9yID09PSAiZnVuY3Rpb24iICYmIHNlbGVjdG9yLAoJCQkJCW1hdGNoID0gIXNlZWQgJiYgdG9rZW5pemUoIChzZWxlY3RvciA9IGNvbXBpbGVkLnNlbGVjdG9yIHx8IHNlbGVjdG9yKSApOwoKCQkJCXJlc3VsdHMgPSByZXN1bHRzIHx8IFtdOwoKCQkJCS8vIFRyeSB0byBtaW5pbWl6ZSBvcGVyYXRpb25zIGlmIHRoZXJlIGlzIG9ubHkgb25lIHNlbGVjdG9yIGluIHRoZSBsaXN0IGFuZCBubyBzZWVkCgkJCQkvLyAodGhlIGxhdHRlciBvZiB3aGljaCBndWFyYW50ZWVzIHVzIGNvbnRleHQpCgkJCQlpZiAoIG1hdGNoLmxlbmd0aCA9PT0gMSApIHsKCgkJCQkJLy8gUmVkdWNlIGNvbnRleHQgaWYgdGhlIGxlYWRpbmcgY29tcG91bmQgc2VsZWN0b3IgaXMgYW4gSUQKCQkJCQl0b2tlbnMgPSBtYXRjaFswXSA9IG1hdGNoWzBdLnNsaWNlKCAwICk7CgkJCQkJaWYgKCB0b2tlbnMubGVuZ3RoID4gMiAmJiAodG9rZW4gPSB0b2tlbnNbMF0pLnR5cGUgPT09ICJJRCIgJiYKCQkJCQkJY29udGV4dC5ub2RlVHlwZSA9PT0gOSAmJiBkb2N1bWVudElzSFRNTCAmJiBFeHByLnJlbGF0aXZlWyB0b2tlbnNbMV0udHlwZSBdICkgewoKCQkJCQkJY29udGV4dCA9ICggRXhwci5maW5kWyJJRCJdKCB0b2tlbi5tYXRjaGVzWzBdLnJlcGxhY2UocnVuZXNjYXBlLCBmdW5lc2NhcGUpLCBjb250ZXh0ICkgfHwgW10gKVswXTsKCQkJCQkJaWYgKCAhY29udGV4dCApIHsKCQkJCQkJCXJldHVybiByZXN1bHRzOwoKCQkJCQkJCS8vIFByZWNvbXBpbGVkIG1hdGNoZXJzIHdpbGwgc3RpbGwgdmVyaWZ5IGFuY2VzdHJ5LCBzbyBzdGVwIHVwIGEgbGV2ZWwKCQkJCQkJfSBlbHNlIGlmICggY29tcGlsZWQgKSB7CgkJCQkJCQljb250ZXh0ID0gY29udGV4dC5wYXJlbnROb2RlOwoJCQkJCQl9CgoJCQkJCQlzZWxlY3RvciA9IHNlbGVjdG9yLnNsaWNlKCB0b2tlbnMuc2hpZnQoKS52YWx1ZS5sZW5ndGggKTsKCQkJCQl9CgoJCQkJCS8vIEZldGNoIGEgc2VlZCBzZXQgZm9yIHJpZ2h0LXRvLWxlZnQgbWF0Y2hpbmcKCQkJCQlpID0gbWF0Y2hFeHByWyJuZWVkc0NvbnRleHQiXS50ZXN0KCBzZWxlY3RvciApID8gMCA6IHRva2Vucy5sZW5ndGg7CgkJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJCXRva2VuID0gdG9rZW5zW2ldOwoKCQkJCQkJLy8gQWJvcnQgaWYgd2UgaGl0IGEgY29tYmluYXRvcgoJCQkJCQlpZiAoIEV4cHIucmVsYXRpdmVbICh0eXBlID0gdG9rZW4udHlwZSkgXSApIHsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCWlmICggKGZpbmQgPSBFeHByLmZpbmRbIHR5cGUgXSkgKSB7CgkJCQkJCQkvLyBTZWFyY2gsIGV4cGFuZGluZyBjb250ZXh0IGZvciBsZWFkaW5nIHNpYmxpbmcgY29tYmluYXRvcnMKCQkJCQkJCWlmICggKHNlZWQgPSBmaW5kKAoJCQkJCQkJCQl0b2tlbi5tYXRjaGVzWzBdLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICksCgkJCQkJCQkJCXJzaWJsaW5nLnRlc3QoIHRva2Vuc1swXS50eXBlICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8IGNvbnRleHQKCQkJCQkJCQkpKSApIHsKCgkJCQkJCQkJLy8gSWYgc2VlZCBpcyBlbXB0eSBvciBubyB0b2tlbnMgcmVtYWluLCB3ZSBjYW4gcmV0dXJuIGVhcmx5CgkJCQkJCQkJdG9rZW5zLnNwbGljZSggaSwgMSApOwoJCQkJCQkJCXNlbGVjdG9yID0gc2VlZC5sZW5ndGggJiYgdG9TZWxlY3RvciggdG9rZW5zICk7CgkJCQkJCQkJaWYgKCAhc2VsZWN0b3IgKSB7CgkJCQkJCQkJCXB1c2guYXBwbHkoIHJlc3VsdHMsIHNlZWQgKTsKCQkJCQkJCQkJcmV0dXJuIHJlc3VsdHM7CgkJCQkJCQkJfQoKCQkJCQkJCQlicmVhazsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQkvLyBDb21waWxlIGFuZCBleGVjdXRlIGEgZmlsdGVyaW5nIGZ1bmN0aW9uIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQKCQkJCS8vIFByb3ZpZGUgYG1hdGNoYCB0byBhdm9pZCByZXRva2VuaXphdGlvbiBpZiB3ZSBtb2RpZmllZCB0aGUgc2VsZWN0b3IgYWJvdmUKCQkJCSggY29tcGlsZWQgfHwgY29tcGlsZSggc2VsZWN0b3IsIG1hdGNoICkgKSgKCQkJCQlzZWVkLAoJCQkJCWNvbnRleHQsCgkJCQkJIWRvY3VtZW50SXNIVE1MLAoJCQkJCXJlc3VsdHMsCgkJCQkJIWNvbnRleHQgfHwgcnNpYmxpbmcudGVzdCggc2VsZWN0b3IgKSAmJiB0ZXN0Q29udGV4dCggY29udGV4dC5wYXJlbnROb2RlICkgfHwgY29udGV4dAoJCQkJKTsKCQkJCXJldHVybiByZXN1bHRzOwoJCQl9OwoKLy8gT25lLXRpbWUgYXNzaWdubWVudHMKCi8vIFNvcnQgc3RhYmlsaXR5CgkJCXN1cHBvcnQuc29ydFN0YWJsZSA9IGV4cGFuZG8uc3BsaXQoIiIpLnNvcnQoIHNvcnRPcmRlciApLmpvaW4oIiIpID09PSBleHBhbmRvOwoKLy8gU3VwcG9ydDogQ2hyb21lIDE0LTM1KwovLyBBbHdheXMgYXNzdW1lIGR1cGxpY2F0ZXMgaWYgdGhleSBhcmVuJ3QgcGFzc2VkIHRvIHRoZSBjb21wYXJpc29uIGZ1bmN0aW9uCgkJCXN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlcyA9ICEhaGFzRHVwbGljYXRlOwoKLy8gSW5pdGlhbGl6ZSBhZ2FpbnN0IHRoZSBkZWZhdWx0IGRvY3VtZW50CgkJCXNldERvY3VtZW50KCk7CgovLyBTdXBwb3J0OiBXZWJraXQ8NTM3LjMyIC0gU2FmYXJpIDYuMC4zL0Nocm9tZSAyNSAoZml4ZWQgaW4gQ2hyb21lIDI3KQovLyBEZXRhY2hlZCBub2RlcyBjb25mb3VuZGluZ2x5IGZvbGxvdyAqZWFjaCBvdGhlcioKCQkJc3VwcG9ydC5zb3J0RGV0YWNoZWQgPSBhc3NlcnQoZnVuY3Rpb24oIGVsICkgewoJCQkJLy8gU2hvdWxkIHJldHVybiAxLCBidXQgcmV0dXJucyA0IChmb2xsb3dpbmcpCgkJCQlyZXR1cm4gZWwuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0IikgKSAmIDE7CgkJCX0pOwoKLy8gU3VwcG9ydDogSUU8OAovLyBQcmV2ZW50IGF0dHJpYnV0ZS9wcm9wZXJ0eSAiaW50ZXJwb2xhdGlvbiIKLy8gaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczUzNjQyOSUyOFZTLjg1JTI5LmFzcHgKCQkJaWYgKCAhYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsKCQkJCQllbC5pbm5lckhUTUwgPSAiPGEgaHJlZj0nIyc+PC9hPiI7CgkJCQkJcmV0dXJuIGVsLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIikgPT09ICIjIiA7CgkJCQl9KSApIHsKCQkJCWFkZEhhbmRsZSggInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLCBmdW5jdGlvbiggZWxlbSwgbmFtZSwgaXNYTUwgKSB7CgkJCQkJaWYgKCAhaXNYTUwgKSB7CgkJCQkJCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSggbmFtZSwgbmFtZS50b0xvd2VyQ2FzZSgpID09PSAidHlwZSIgPyAxIDogMiApOwoJCQkJCX0KCQkJCX0pOwoJCQl9CgovLyBTdXBwb3J0OiBJRTw5Ci8vIFVzZSBkZWZhdWx0VmFsdWUgaW4gcGxhY2Ugb2YgZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpCgkJCWlmICggIXN1cHBvcnQuYXR0cmlidXRlcyB8fCAhYXNzZXJ0KGZ1bmN0aW9uKCBlbCApIHsKCQkJCQllbC5pbm5lckhUTUwgPSAiPGlucHV0Lz4iOwoJCQkJCWVsLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCAidmFsdWUiLCAiIiApOwoJCQkJCXJldHVybiBlbC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSggInZhbHVlIiApID09PSAiIjsKCQkJCX0pICkgewoJCQkJYWRkSGFuZGxlKCAidmFsdWUiLCBmdW5jdGlvbiggZWxlbSwgbmFtZSwgaXNYTUwgKSB7CgkJCQkJaWYgKCAhaXNYTUwgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAiaW5wdXQiICkgewoJCQkJCQlyZXR1cm4gZWxlbS5kZWZhdWx0VmFsdWU7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCi8vIFN1cHBvcnQ6IElFPDkKLy8gVXNlIGdldEF0dHJpYnV0ZU5vZGUgdG8gZmV0Y2ggYm9vbGVhbnMgd2hlbiBnZXRBdHRyaWJ1dGUgbGllcwoJCQlpZiAoICFhc3NlcnQoZnVuY3Rpb24oIGVsICkgewoJCQkJCXJldHVybiBlbC5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikgPT0gbnVsbDsKCQkJCX0pICkgewoJCQkJYWRkSGFuZGxlKCBib29sZWFucywgZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGlzWE1MICkgewoJCQkJCXZhciB2YWw7CgkJCQkJaWYgKCAhaXNYTUwgKSB7CgkJCQkJCXJldHVybiBlbGVtWyBuYW1lIF0gPT09IHRydWUgPyBuYW1lLnRvTG93ZXJDYXNlKCkgOgoJCQkJCQkJKHZhbCA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSggbmFtZSApKSAmJiB2YWwuc3BlY2lmaWVkID8KCQkJCQkJCQl2YWwudmFsdWUgOgoJCQkJCQkJCW51bGw7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCgkJCXJldHVybiBTaXp6bGU7CgoJCX0pKCB3aW5kb3cgKTsKCgoKCWpRdWVyeS5maW5kID0gU2l6emxlOwoJalF1ZXJ5LmV4cHIgPSBTaXp6bGUuc2VsZWN0b3JzOwoKLy8gRGVwcmVjYXRlZAoJalF1ZXJ5LmV4cHJbICI6IiBdID0galF1ZXJ5LmV4cHIucHNldWRvczsKCWpRdWVyeS51bmlxdWVTb3J0ID0galF1ZXJ5LnVuaXF1ZSA9IFNpenpsZS51bmlxdWVTb3J0OwoJalF1ZXJ5LnRleHQgPSBTaXp6bGUuZ2V0VGV4dDsKCWpRdWVyeS5pc1hNTERvYyA9IFNpenpsZS5pc1hNTDsKCWpRdWVyeS5jb250YWlucyA9IFNpenpsZS5jb250YWluczsKCWpRdWVyeS5lc2NhcGVTZWxlY3RvciA9IFNpenpsZS5lc2NhcGU7CgoKCgoJdmFyIGRpciA9IGZ1bmN0aW9uKCBlbGVtLCBkaXIsIHVudGlsICkgewoJCXZhciBtYXRjaGVkID0gW10sCgkJCXRydW5jYXRlID0gdW50aWwgIT09IHVuZGVmaW5lZDsKCgkJd2hpbGUgKCAoIGVsZW0gPSBlbGVtWyBkaXIgXSApICYmIGVsZW0ubm9kZVR5cGUgIT09IDkgKSB7CgkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsKCQkJCWlmICggdHJ1bmNhdGUgJiYgalF1ZXJ5KCBlbGVtICkuaXMoIHVudGlsICkgKSB7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQltYXRjaGVkLnB1c2goIGVsZW0gKTsKCQkJfQoJCX0KCQlyZXR1cm4gbWF0Y2hlZDsKCX07CgoKCXZhciBzaWJsaW5ncyA9IGZ1bmN0aW9uKCBuLCBlbGVtICkgewoJCXZhciBtYXRjaGVkID0gW107CgoJCWZvciAoIDsgbjsgbiA9IG4ubmV4dFNpYmxpbmcgKSB7CgkJCWlmICggbi5ub2RlVHlwZSA9PT0gMSAmJiBuICE9PSBlbGVtICkgewoJCQkJbWF0Y2hlZC5wdXNoKCBuICk7CgkJCX0KCQl9CgoJCXJldHVybiBtYXRjaGVkOwoJfTsKCgoJdmFyIHJuZWVkc0NvbnRleHQgPSBqUXVlcnkuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7CgoKCglmdW5jdGlvbiBub2RlTmFtZSggZWxlbSwgbmFtZSApIHsKCgkJcmV0dXJuIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCk7CgoJfTsKCXZhciByc2luZ2xlVGFnID0gKCAvXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKVtceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaSApOwoKCgovLyBJbXBsZW1lbnQgdGhlIGlkZW50aWNhbCBmdW5jdGlvbmFsaXR5IGZvciBmaWx0ZXIgYW5kIG5vdAoJZnVuY3Rpb24gd2lubm93KCBlbGVtZW50cywgcXVhbGlmaWVyLCBub3QgKSB7CgkJaWYgKCBpc0Z1bmN0aW9uKCBxdWFsaWZpZXIgKSApIHsKCQkJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7CgkJCQlyZXR1cm4gISFxdWFsaWZpZXIuY2FsbCggZWxlbSwgaSwgZWxlbSApICE9PSBub3Q7CgkJCX0gKTsKCQl9CgoJCS8vIFNpbmdsZSBlbGVtZW50CgkJaWYgKCBxdWFsaWZpZXIubm9kZVR5cGUgKSB7CgkJCXJldHVybiBqUXVlcnkuZ3JlcCggZWxlbWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJcmV0dXJuICggZWxlbSA9PT0gcXVhbGlmaWVyICkgIT09IG5vdDsKCQkJfSApOwoJCX0KCgkJLy8gQXJyYXlsaWtlIG9mIGVsZW1lbnRzIChqUXVlcnksIGFyZ3VtZW50cywgQXJyYXkpCgkJaWYgKCB0eXBlb2YgcXVhbGlmaWVyICE9PSAic3RyaW5nIiApIHsKCQkJcmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQlyZXR1cm4gKCBpbmRleE9mLmNhbGwoIHF1YWxpZmllciwgZWxlbSApID4gLTEgKSAhPT0gbm90OwoJCQl9ICk7CgkJfQoKCQkvLyBGaWx0ZXJlZCBkaXJlY3RseSBmb3IgYm90aCBzaW1wbGUgYW5kIGNvbXBsZXggc2VsZWN0b3JzCgkJcmV0dXJuIGpRdWVyeS5maWx0ZXIoIHF1YWxpZmllciwgZWxlbWVudHMsIG5vdCApOwoJfQoKCWpRdWVyeS5maWx0ZXIgPSBmdW5jdGlvbiggZXhwciwgZWxlbXMsIG5vdCApIHsKCQl2YXIgZWxlbSA9IGVsZW1zWyAwIF07CgoJCWlmICggbm90ICkgewoJCQlleHByID0gIjpub3QoIiArIGV4cHIgKyAiKSI7CgkJfQoKCQlpZiAoIGVsZW1zLmxlbmd0aCA9PT0gMSAmJiBlbGVtLm5vZGVUeXBlID09PSAxICkgewoJCQlyZXR1cm4galF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKCBlbGVtLCBleHByICkgPyBbIGVsZW0gXSA6IFtdOwoJCX0KCgkJcmV0dXJuIGpRdWVyeS5maW5kLm1hdGNoZXMoIGV4cHIsIGpRdWVyeS5ncmVwKCBlbGVtcywgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCXJldHVybiBlbGVtLm5vZGVUeXBlID09PSAxOwoJCX0gKSApOwoJfTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJZmluZDogZnVuY3Rpb24oIHNlbGVjdG9yICkgewoJCQl2YXIgaSwgcmV0LAoJCQkJbGVuID0gdGhpcy5sZW5ndGgsCgkJCQlzZWxmID0gdGhpczsKCgkJCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiApIHsKCQkJCXJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5KCBzZWxlY3RvciApLmZpbHRlciggZnVuY3Rpb24oKSB7CgkJCQkJZm9yICggaSA9IDA7IGkgPCBsZW47IGkrKyApIHsKCQkJCQkJaWYgKCBqUXVlcnkuY29udGFpbnMoIHNlbGZbIGkgXSwgdGhpcyApICkgewoJCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJCX0KCQkJCQl9CgkJCQl9ICkgKTsKCQkJfQoKCQkJcmV0ID0gdGhpcy5wdXNoU3RhY2soIFtdICk7CgoJCQlmb3IgKCBpID0gMDsgaSA8IGxlbjsgaSsrICkgewoJCQkJalF1ZXJ5LmZpbmQoIHNlbGVjdG9yLCBzZWxmWyBpIF0sIHJldCApOwoJCQl9CgoJCQlyZXR1cm4gbGVuID4gMSA/IGpRdWVyeS51bmlxdWVTb3J0KCByZXQgKSA6IHJldDsKCQl9LAoJCWZpbHRlcjogZnVuY3Rpb24oIHNlbGVjdG9yICkgewoJCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHdpbm5vdyggdGhpcywgc2VsZWN0b3IgfHwgW10sIGZhbHNlICkgKTsKCQl9LAoJCW5vdDogZnVuY3Rpb24oIHNlbGVjdG9yICkgewoJCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHdpbm5vdyggdGhpcywgc2VsZWN0b3IgfHwgW10sIHRydWUgKSApOwoJCX0sCgkJaXM6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsKCQkJcmV0dXJuICEhd2lubm93KAoJCQkJdGhpcywKCgkJCQkvLyBJZiB0aGlzIGlzIGEgcG9zaXRpb25hbC9yZWxhdGl2ZSBzZWxlY3RvciwgY2hlY2sgbWVtYmVyc2hpcCBpbiB0aGUgcmV0dXJuZWQgc2V0CgkJCQkvLyBzbyAkKCJwOmZpcnN0IikuaXMoInA6bGFzdCIpIHdvbid0IHJldHVybiB0cnVlIGZvciBhIGRvYyB3aXRoIHR3byAicCIuCgkJCQl0eXBlb2Ygc2VsZWN0b3IgPT09ICJzdHJpbmciICYmIHJuZWVkc0NvbnRleHQudGVzdCggc2VsZWN0b3IgKSA/CgkJCQkJalF1ZXJ5KCBzZWxlY3RvciApIDoKCQkJCQlzZWxlY3RvciB8fCBbXSwKCQkJCWZhbHNlCgkJCSkubGVuZ3RoOwoJCX0KCX0gKTsKCgovLyBJbml0aWFsaXplIGEgalF1ZXJ5IG9iamVjdAoKCi8vIEEgY2VudHJhbCByZWZlcmVuY2UgdG8gdGhlIHJvb3QgalF1ZXJ5KGRvY3VtZW50KQoJdmFyIHJvb3RqUXVlcnksCgoJCS8vIEEgc2ltcGxlIHdheSB0byBjaGVjayBmb3IgSFRNTCBzdHJpbmdzCgkJLy8gUHJpb3JpdGl6ZSAjaWQgb3ZlciA8dGFnPiB0byBhdm9pZCBYU1MgdmlhIGxvY2F0aW9uLmhhc2ggKCM5NTIxKQoJCS8vIFN0cmljdCBIVE1MIHJlY29nbml0aW9uICgjMTEyOTA6IG11c3Qgc3RhcnQgd2l0aCA8KQoJCS8vIFNob3J0Y3V0IHNpbXBsZSAjaWQgY2FzZSBmb3Igc3BlZWQKCQlycXVpY2tFeHByID0gL14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0rKSkkLywKCgkJaW5pdCA9IGpRdWVyeS5mbi5pbml0ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0LCByb290ICkgewoJCQl2YXIgbWF0Y2gsIGVsZW07CgoJCQkvLyBIQU5ETEU6ICQoIiIpLCAkKG51bGwpLCAkKHVuZGVmaW5lZCksICQoZmFsc2UpCgkJCWlmICggIXNlbGVjdG9yICkgewoJCQkJcmV0dXJuIHRoaXM7CgkJCX0KCgkJCS8vIE1ldGhvZCBpbml0KCkgYWNjZXB0cyBhbiBhbHRlcm5hdGUgcm9vdGpRdWVyeQoJCQkvLyBzbyBtaWdyYXRlIGNhbiBzdXBwb3J0IGpRdWVyeS5zdWIgKGdoLTIxMDEpCgkJCXJvb3QgPSByb290IHx8IHJvb3RqUXVlcnk7CgoJCQkvLyBIYW5kbGUgSFRNTCBzdHJpbmdzCgkJCWlmICggdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIiApIHsKCQkJCWlmICggc2VsZWN0b3JbIDAgXSA9PT0gIjwiICYmCgkJCQkJc2VsZWN0b3JbIHNlbGVjdG9yLmxlbmd0aCAtIDEgXSA9PT0gIj4iICYmCgkJCQkJc2VsZWN0b3IubGVuZ3RoID49IDMgKSB7CgoJCQkJCS8vIEFzc3VtZSB0aGF0IHN0cmluZ3MgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggPD4gYXJlIEhUTUwgYW5kIHNraXAgdGhlIHJlZ2V4IGNoZWNrCgkJCQkJbWF0Y2ggPSBbIG51bGwsIHNlbGVjdG9yLCBudWxsIF07CgoJCQkJfSBlbHNlIHsKCQkJCQltYXRjaCA9IHJxdWlja0V4cHIuZXhlYyggc2VsZWN0b3IgKTsKCQkJCX0KCgkJCQkvLyBNYXRjaCBodG1sIG9yIG1ha2Ugc3VyZSBubyBjb250ZXh0IGlzIHNwZWNpZmllZCBmb3IgI2lkCgkJCQlpZiAoIG1hdGNoICYmICggbWF0Y2hbIDEgXSB8fCAhY29udGV4dCApICkgewoKCQkJCQkvLyBIQU5ETEU6ICQoaHRtbCkgLT4gJChhcnJheSkKCQkJCQlpZiAoIG1hdGNoWyAxIF0gKSB7CgkJCQkJCWNvbnRleHQgPSBjb250ZXh0IGluc3RhbmNlb2YgalF1ZXJ5ID8gY29udGV4dFsgMCBdIDogY29udGV4dDsKCgkJCQkJCS8vIE9wdGlvbiB0byBydW4gc2NyaXB0cyBpcyB0cnVlIGZvciBiYWNrLWNvbXBhdAoJCQkJCQkvLyBJbnRlbnRpb25hbGx5IGxldCB0aGUgZXJyb3IgYmUgdGhyb3duIGlmIHBhcnNlSFRNTCBpcyBub3QgcHJlc2VudAoJCQkJCQlqUXVlcnkubWVyZ2UoIHRoaXMsIGpRdWVyeS5wYXJzZUhUTUwoCgkJCQkJCQltYXRjaFsgMSBdLAoJCQkJCQkJY29udGV4dCAmJiBjb250ZXh0Lm5vZGVUeXBlID8gY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgOiBkb2N1bWVudCwKCQkJCQkJCXRydWUKCQkJCQkJKSApOwoKCQkJCQkJLy8gSEFORExFOiAkKGh0bWwsIHByb3BzKQoJCQkJCQlpZiAoIHJzaW5nbGVUYWcudGVzdCggbWF0Y2hbIDEgXSApICYmIGpRdWVyeS5pc1BsYWluT2JqZWN0KCBjb250ZXh0ICkgKSB7CgkJCQkJCQlmb3IgKCBtYXRjaCBpbiBjb250ZXh0ICkgewoKCQkJCQkJCQkvLyBQcm9wZXJ0aWVzIG9mIGNvbnRleHQgYXJlIGNhbGxlZCBhcyBtZXRob2RzIGlmIHBvc3NpYmxlCgkJCQkJCQkJaWYgKCBpc0Z1bmN0aW9uKCB0aGlzWyBtYXRjaCBdICkgKSB7CgkJCQkJCQkJCXRoaXNbIG1hdGNoIF0oIGNvbnRleHRbIG1hdGNoIF0gKTsKCgkJCQkJCQkJCS8vIC4uLmFuZCBvdGhlcndpc2Ugc2V0IGFzIGF0dHJpYnV0ZXMKCQkJCQkJCQl9IGVsc2UgewoJCQkJCQkJCQl0aGlzLmF0dHIoIG1hdGNoLCBjb250ZXh0WyBtYXRjaCBdICk7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gdGhpczsKCgkJCQkJCS8vIEhBTkRMRTogJCgjaWQpCgkJCQkJfSBlbHNlIHsKCQkJCQkJZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCBtYXRjaFsgMiBdICk7CgoJCQkJCQlpZiAoIGVsZW0gKSB7CgoJCQkJCQkJLy8gSW5qZWN0IHRoZSBlbGVtZW50IGRpcmVjdGx5IGludG8gdGhlIGpRdWVyeSBvYmplY3QKCQkJCQkJCXRoaXNbIDAgXSA9IGVsZW07CgkJCQkJCQl0aGlzLmxlbmd0aCA9IDE7CgkJCQkJCX0KCQkJCQkJcmV0dXJuIHRoaXM7CgkJCQkJfQoKCQkJCQkvLyBIQU5ETEU6ICQoZXhwciwgJCguLi4pKQoJCQkJfSBlbHNlIGlmICggIWNvbnRleHQgfHwgY29udGV4dC5qcXVlcnkgKSB7CgkJCQkJcmV0dXJuICggY29udGV4dCB8fCByb290ICkuZmluZCggc2VsZWN0b3IgKTsKCgkJCQkJLy8gSEFORExFOiAkKGV4cHIsIGNvbnRleHQpCgkJCQkJLy8gKHdoaWNoIGlzIGp1c3QgZXF1aXZhbGVudCB0bzogJChjb250ZXh0KS5maW5kKGV4cHIpCgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiB0aGlzLmNvbnN0cnVjdG9yKCBjb250ZXh0ICkuZmluZCggc2VsZWN0b3IgKTsKCQkJCX0KCgkJCQkvLyBIQU5ETEU6ICQoRE9NRWxlbWVudCkKCQkJfSBlbHNlIGlmICggc2VsZWN0b3Iubm9kZVR5cGUgKSB7CgkJCQl0aGlzWyAwIF0gPSBzZWxlY3RvcjsKCQkJCXRoaXMubGVuZ3RoID0gMTsKCQkJCXJldHVybiB0aGlzOwoKCQkJCS8vIEhBTkRMRTogJChmdW5jdGlvbikKCQkJCS8vIFNob3J0Y3V0IGZvciBkb2N1bWVudCByZWFkeQoJCQl9IGVsc2UgaWYgKCBpc0Z1bmN0aW9uKCBzZWxlY3RvciApICkgewoJCQkJcmV0dXJuIHJvb3QucmVhZHkgIT09IHVuZGVmaW5lZCA/CgkJCQkJcm9vdC5yZWFkeSggc2VsZWN0b3IgKSA6CgoJCQkJCS8vIEV4ZWN1dGUgaW1tZWRpYXRlbHkgaWYgcmVhZHkgaXMgbm90IHByZXNlbnQKCQkJCQlzZWxlY3RvciggalF1ZXJ5ICk7CgkJCX0KCgkJCXJldHVybiBqUXVlcnkubWFrZUFycmF5KCBzZWxlY3RvciwgdGhpcyApOwoJCX07CgovLyBHaXZlIHRoZSBpbml0IGZ1bmN0aW9uIHRoZSBqUXVlcnkgcHJvdG90eXBlIGZvciBsYXRlciBpbnN0YW50aWF0aW9uCglpbml0LnByb3RvdHlwZSA9IGpRdWVyeS5mbjsKCi8vIEluaXRpYWxpemUgY2VudHJhbCByZWZlcmVuY2UKCXJvb3RqUXVlcnkgPSBqUXVlcnkoIGRvY3VtZW50ICk7CgoKCXZhciBycGFyZW50c3ByZXYgPSAvXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLywKCgkJLy8gTWV0aG9kcyBndWFyYW50ZWVkIHRvIHByb2R1Y2UgYSB1bmlxdWUgc2V0IHdoZW4gc3RhcnRpbmcgZnJvbSBhIHVuaXF1ZSBzZXQKCQlndWFyYW50ZWVkVW5pcXVlID0gewoJCQljaGlsZHJlbjogdHJ1ZSwKCQkJY29udGVudHM6IHRydWUsCgkJCW5leHQ6IHRydWUsCgkJCXByZXY6IHRydWUKCQl9OwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCQloYXM6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7CgkJCXZhciB0YXJnZXRzID0galF1ZXJ5KCB0YXJnZXQsIHRoaXMgKSwKCQkJCWwgPSB0YXJnZXRzLmxlbmd0aDsKCgkJCXJldHVybiB0aGlzLmZpbHRlciggZnVuY3Rpb24oKSB7CgkJCQl2YXIgaSA9IDA7CgkJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CgkJCQkJaWYgKCBqUXVlcnkuY29udGFpbnMoIHRoaXMsIHRhcmdldHNbIGkgXSApICkgewoJCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCQl9CgkJCQl9CgkJCX0gKTsKCQl9LAoKCQljbG9zZXN0OiBmdW5jdGlvbiggc2VsZWN0b3JzLCBjb250ZXh0ICkgewoJCQl2YXIgY3VyLAoJCQkJaSA9IDAsCgkJCQlsID0gdGhpcy5sZW5ndGgsCgkJCQltYXRjaGVkID0gW10sCgkJCQl0YXJnZXRzID0gdHlwZW9mIHNlbGVjdG9ycyAhPT0gInN0cmluZyIgJiYgalF1ZXJ5KCBzZWxlY3RvcnMgKTsKCgkJCS8vIFBvc2l0aW9uYWwgc2VsZWN0b3JzIG5ldmVyIG1hdGNoLCBzaW5jZSB0aGVyZSdzIG5vIF9zZWxlY3Rpb25fIGNvbnRleHQKCQkJaWYgKCAhcm5lZWRzQ29udGV4dC50ZXN0KCBzZWxlY3RvcnMgKSApIHsKCQkJCWZvciAoIDsgaSA8IGw7IGkrKyApIHsKCQkJCQlmb3IgKCBjdXIgPSB0aGlzWyBpIF07IGN1ciAmJiBjdXIgIT09IGNvbnRleHQ7IGN1ciA9IGN1ci5wYXJlbnROb2RlICkgewoKCQkJCQkJLy8gQWx3YXlzIHNraXAgZG9jdW1lbnQgZnJhZ21lbnRzCgkJCQkJCWlmICggY3VyLm5vZGVUeXBlIDwgMTEgJiYgKCB0YXJnZXRzID8KCQkJCQkJCQl0YXJnZXRzLmluZGV4KCBjdXIgKSA+IC0xIDoKCgkJCQkJCQkJLy8gRG9uJ3QgcGFzcyBub24tZWxlbWVudHMgdG8gU2l6emxlCgkJCQkJCQkJY3VyLm5vZGVUeXBlID09PSAxICYmCgkJCQkJCQkJalF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKCBjdXIsIHNlbGVjdG9ycyApICkgKSB7CgoJCQkJCQkJbWF0Y2hlZC5wdXNoKCBjdXIgKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIG1hdGNoZWQubGVuZ3RoID4gMSA/IGpRdWVyeS51bmlxdWVTb3J0KCBtYXRjaGVkICkgOiBtYXRjaGVkICk7CgkJfSwKCgkJLy8gRGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IHdpdGhpbiB0aGUgc2V0CgkJaW5kZXg6IGZ1bmN0aW9uKCBlbGVtICkgewoKCQkJLy8gTm8gYXJndW1lbnQsIHJldHVybiBpbmRleCBpbiBwYXJlbnQKCQkJaWYgKCAhZWxlbSApIHsKCQkJCXJldHVybiAoIHRoaXNbIDAgXSAmJiB0aGlzWyAwIF0ucGFyZW50Tm9kZSApID8gdGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGggOiAtMTsKCQkJfQoKCQkJLy8gSW5kZXggaW4gc2VsZWN0b3IKCQkJaWYgKCB0eXBlb2YgZWxlbSA9PT0gInN0cmluZyIgKSB7CgkJCQlyZXR1cm4gaW5kZXhPZi5jYWxsKCBqUXVlcnkoIGVsZW0gKSwgdGhpc1sgMCBdICk7CgkJCX0KCgkJCS8vIExvY2F0ZSB0aGUgcG9zaXRpb24gb2YgdGhlIGRlc2lyZWQgZWxlbWVudAoJCQlyZXR1cm4gaW5kZXhPZi5jYWxsKCB0aGlzLAoKCQkJCS8vIElmIGl0IHJlY2VpdmVzIGEgalF1ZXJ5IG9iamVjdCwgdGhlIGZpcnN0IGVsZW1lbnQgaXMgdXNlZAoJCQkJZWxlbS5qcXVlcnkgPyBlbGVtWyAwIF0gOiBlbGVtCgkJCSk7CgkJfSwKCgkJYWRkOiBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQgKSB7CgkJCXJldHVybiB0aGlzLnB1c2hTdGFjaygKCQkJCWpRdWVyeS51bmlxdWVTb3J0KAoJCQkJCWpRdWVyeS5tZXJnZSggdGhpcy5nZXQoKSwgalF1ZXJ5KCBzZWxlY3RvciwgY29udGV4dCApICkKCQkJCSkKCQkJKTsKCQl9LAoKCQlhZGRCYWNrOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CgkJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/CgkJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApCgkJCSk7CgkJfQoJfSApOwoKCWZ1bmN0aW9uIHNpYmxpbmcoIGN1ciwgZGlyICkgewoJCXdoaWxlICggKCBjdXIgPSBjdXJbIGRpciBdICkgJiYgY3VyLm5vZGVUeXBlICE9PSAxICkge30KCQlyZXR1cm4gY3VyOwoJfQoKCWpRdWVyeS5lYWNoKCB7CgkJcGFyZW50OiBmdW5jdGlvbiggZWxlbSApIHsKCQkJdmFyIHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZTsKCQkJcmV0dXJuIHBhcmVudCAmJiBwYXJlbnQubm9kZVR5cGUgIT09IDExID8gcGFyZW50IDogbnVsbDsKCQl9LAoJCXBhcmVudHM6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlyZXR1cm4gZGlyKCBlbGVtLCAicGFyZW50Tm9kZSIgKTsKCQl9LAoJCXBhcmVudHNVbnRpbDogZnVuY3Rpb24oIGVsZW0sIGksIHVudGlsICkgewoJCQlyZXR1cm4gZGlyKCBlbGVtLCAicGFyZW50Tm9kZSIsIHVudGlsICk7CgkJfSwKCQluZXh0OiBmdW5jdGlvbiggZWxlbSApIHsKCQkJcmV0dXJuIHNpYmxpbmcoIGVsZW0sICJuZXh0U2libGluZyIgKTsKCQl9LAoJCXByZXY6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlyZXR1cm4gc2libGluZyggZWxlbSwgInByZXZpb3VzU2libGluZyIgKTsKCQl9LAoJCW5leHRBbGw6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlyZXR1cm4gZGlyKCBlbGVtLCAibmV4dFNpYmxpbmciICk7CgkJfSwKCQlwcmV2QWxsOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJcmV0dXJuIGRpciggZWxlbSwgInByZXZpb3VzU2libGluZyIgKTsKCQl9LAoJCW5leHRVbnRpbDogZnVuY3Rpb24oIGVsZW0sIGksIHVudGlsICkgewoJCQlyZXR1cm4gZGlyKCBlbGVtLCAibmV4dFNpYmxpbmciLCB1bnRpbCApOwoJCX0sCgkJcHJldlVudGlsOiBmdW5jdGlvbiggZWxlbSwgaSwgdW50aWwgKSB7CgkJCXJldHVybiBkaXIoIGVsZW0sICJwcmV2aW91c1NpYmxpbmciLCB1bnRpbCApOwoJCX0sCgkJc2libGluZ3M6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlyZXR1cm4gc2libGluZ3MoICggZWxlbS5wYXJlbnROb2RlIHx8IHt9ICkuZmlyc3RDaGlsZCwgZWxlbSApOwoJCX0sCgkJY2hpbGRyZW46IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlyZXR1cm4gc2libGluZ3MoIGVsZW0uZmlyc3RDaGlsZCApOwoJCX0sCgkJY29udGVudHM6IGZ1bmN0aW9uKCBlbGVtICkgewoJCQlpZiAoIG5vZGVOYW1lKCBlbGVtLCAiaWZyYW1lIiApICkgewoJCQkJcmV0dXJuIGVsZW0uY29udGVudERvY3VtZW50OwoJCQl9CgoJCQkvLyBTdXBwb3J0OiBJRSA5IC0gMTEgb25seSwgaU9TIDcgb25seSwgQW5kcm9pZCBCcm93c2VyIDw9NC4zIG9ubHkKCQkJLy8gVHJlYXQgdGhlIHRlbXBsYXRlIGVsZW1lbnQgYXMgYSByZWd1bGFyIG9uZSBpbiBicm93c2VycyB0aGF0CgkJCS8vIGRvbid0IHN1cHBvcnQgaXQuCgkJCWlmICggbm9kZU5hbWUoIGVsZW0sICJ0ZW1wbGF0ZSIgKSApIHsKCQkJCWVsZW0gPSBlbGVtLmNvbnRlbnQgfHwgZWxlbTsKCQkJfQoKCQkJcmV0dXJuIGpRdWVyeS5tZXJnZSggW10sIGVsZW0uY2hpbGROb2RlcyApOwoJCX0KCX0sIGZ1bmN0aW9uKCBuYW1lLCBmbiApIHsKCQlqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCB1bnRpbCwgc2VsZWN0b3IgKSB7CgkJCXZhciBtYXRjaGVkID0galF1ZXJ5Lm1hcCggdGhpcywgZm4sIHVudGlsICk7CgoJCQlpZiAoIG5hbWUuc2xpY2UoIC01ICkgIT09ICJVbnRpbCIgKSB7CgkJCQlzZWxlY3RvciA9IHVudGlsOwoJCQl9CgoJCQlpZiAoIHNlbGVjdG9yICYmIHR5cGVvZiBzZWxlY3RvciA9PT0gInN0cmluZyIgKSB7CgkJCQltYXRjaGVkID0galF1ZXJ5LmZpbHRlciggc2VsZWN0b3IsIG1hdGNoZWQgKTsKCQkJfQoKCQkJaWYgKCB0aGlzLmxlbmd0aCA+IDEgKSB7CgoJCQkJLy8gUmVtb3ZlIGR1cGxpY2F0ZXMKCQkJCWlmICggIWd1YXJhbnRlZWRVbmlxdWVbIG5hbWUgXSApIHsKCQkJCQlqUXVlcnkudW5pcXVlU29ydCggbWF0Y2hlZCApOwoJCQkJfQoKCQkJCS8vIFJldmVyc2Ugb3JkZXIgZm9yIHBhcmVudHMqIGFuZCBwcmV2LWRlcml2YXRpdmVzCgkJCQlpZiAoIHJwYXJlbnRzcHJldi50ZXN0KCBuYW1lICkgKSB7CgkJCQkJbWF0Y2hlZC5yZXZlcnNlKCk7CgkJCQl9CgkJCX0KCgkJCXJldHVybiB0aGlzLnB1c2hTdGFjayggbWF0Y2hlZCApOwoJCX07Cgl9ICk7Cgl2YXIgcm5vdGh0bWx3aGl0ZSA9ICggL1teXHgyMFx0XHJcblxmXSsvZyApOwoKCgovLyBDb252ZXJ0IFN0cmluZy1mb3JtYXR0ZWQgb3B0aW9ucyBpbnRvIE9iamVjdC1mb3JtYXR0ZWQgb25lcwoJZnVuY3Rpb24gY3JlYXRlT3B0aW9ucyggb3B0aW9ucyApIHsKCQl2YXIgb2JqZWN0ID0ge307CgkJalF1ZXJ5LmVhY2goIG9wdGlvbnMubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXSwgZnVuY3Rpb24oIF8sIGZsYWcgKSB7CgkJCW9iamVjdFsgZmxhZyBdID0gdHJ1ZTsKCQl9ICk7CgkJcmV0dXJuIG9iamVjdDsKCX0KCgkvKgogKiBDcmVhdGUgYSBjYWxsYmFjayBsaXN0IHVzaW5nIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyczoKICoKICoJb3B0aW9uczogYW4gb3B0aW9uYWwgbGlzdCBvZiBzcGFjZS1zZXBhcmF0ZWQgb3B0aW9ucyB0aGF0IHdpbGwgY2hhbmdlIGhvdwogKgkJCXRoZSBjYWxsYmFjayBsaXN0IGJlaGF2ZXMgb3IgYSBtb3JlIHRyYWRpdGlvbmFsIG9wdGlvbiBvYmplY3QKICoKICogQnkgZGVmYXVsdCBhIGNhbGxiYWNrIGxpc3Qgd2lsbCBhY3QgbGlrZSBhbiBldmVudCBjYWxsYmFjayBsaXN0IGFuZCBjYW4gYmUKICogImZpcmVkIiBtdWx0aXBsZSB0aW1lcy4KICoKICogUG9zc2libGUgb3B0aW9uczoKICoKICoJb25jZToJCQl3aWxsIGVuc3VyZSB0aGUgY2FsbGJhY2sgbGlzdCBjYW4gb25seSBiZSBmaXJlZCBvbmNlIChsaWtlIGEgRGVmZXJyZWQpCiAqCiAqCW1lbW9yeToJCQl3aWxsIGtlZXAgdHJhY2sgb2YgcHJldmlvdXMgdmFsdWVzIGFuZCB3aWxsIGNhbGwgYW55IGNhbGxiYWNrIGFkZGVkCiAqCQkJCQlhZnRlciB0aGUgbGlzdCBoYXMgYmVlbiBmaXJlZCByaWdodCBhd2F5IHdpdGggdGhlIGxhdGVzdCAibWVtb3JpemVkIgogKgkJCQkJdmFsdWVzIChsaWtlIGEgRGVmZXJyZWQpCiAqCiAqCXVuaXF1ZToJCQl3aWxsIGVuc3VyZSBhIGNhbGxiYWNrIGNhbiBvbmx5IGJlIGFkZGVkIG9uY2UgKG5vIGR1cGxpY2F0ZSBpbiB0aGUgbGlzdCkKICoKICoJc3RvcE9uRmFsc2U6CWludGVycnVwdCBjYWxsaW5ncyB3aGVuIGEgY2FsbGJhY2sgcmV0dXJucyBmYWxzZQogKgogKi8KCWpRdWVyeS5DYWxsYmFja3MgPSBmdW5jdGlvbiggb3B0aW9ucyApIHsKCgkJLy8gQ29udmVydCBvcHRpb25zIGZyb20gU3RyaW5nLWZvcm1hdHRlZCB0byBPYmplY3QtZm9ybWF0dGVkIGlmIG5lZWRlZAoJCS8vICh3ZSBjaGVjayBpbiBjYWNoZSBmaXJzdCkKCQlvcHRpb25zID0gdHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciID8KCQkJY3JlYXRlT3B0aW9ucyggb3B0aW9ucyApIDoKCQkJalF1ZXJ5LmV4dGVuZCgge30sIG9wdGlvbnMgKTsKCgkJdmFyIC8vIEZsYWcgdG8ga25vdyBpZiBsaXN0IGlzIGN1cnJlbnRseSBmaXJpbmcKCQkJZmlyaW5nLAoKCQkJLy8gTGFzdCBmaXJlIHZhbHVlIGZvciBub24tZm9yZ2V0dGFibGUgbGlzdHMKCQkJbWVtb3J5LAoKCQkJLy8gRmxhZyB0byBrbm93IGlmIGxpc3Qgd2FzIGFscmVhZHkgZmlyZWQKCQkJZmlyZWQsCgoJCQkvLyBGbGFnIHRvIHByZXZlbnQgZmlyaW5nCgkJCWxvY2tlZCwKCgkJCS8vIEFjdHVhbCBjYWxsYmFjayBsaXN0CgkJCWxpc3QgPSBbXSwKCgkJCS8vIFF1ZXVlIG9mIGV4ZWN1dGlvbiBkYXRhIGZvciByZXBlYXRhYmxlIGxpc3RzCgkJCXF1ZXVlID0gW10sCgoJCQkvLyBJbmRleCBvZiBjdXJyZW50bHkgZmlyaW5nIGNhbGxiYWNrIChtb2RpZmllZCBieSBhZGQvcmVtb3ZlIGFzIG5lZWRlZCkKCQkJZmlyaW5nSW5kZXggPSAtMSwKCgkJCS8vIEZpcmUgY2FsbGJhY2tzCgkJCWZpcmUgPSBmdW5jdGlvbigpIHsKCgkJCQkvLyBFbmZvcmNlIHNpbmdsZS1maXJpbmcKCQkJCWxvY2tlZCA9IGxvY2tlZCB8fCBvcHRpb25zLm9uY2U7CgoJCQkJLy8gRXhlY3V0ZSBjYWxsYmFja3MgZm9yIGFsbCBwZW5kaW5nIGV4ZWN1dGlvbnMsCgkJCQkvLyByZXNwZWN0aW5nIGZpcmluZ0luZGV4IG92ZXJyaWRlcyBhbmQgcnVudGltZSBjaGFuZ2VzCgkJCQlmaXJlZCA9IGZpcmluZyA9IHRydWU7CgkJCQlmb3IgKCA7IHF1ZXVlLmxlbmd0aDsgZmlyaW5nSW5kZXggPSAtMSApIHsKCQkJCQltZW1vcnkgPSBxdWV1ZS5zaGlmdCgpOwoJCQkJCXdoaWxlICggKytmaXJpbmdJbmRleCA8IGxpc3QubGVuZ3RoICkgewoKCQkJCQkJLy8gUnVuIGNhbGxiYWNrIGFuZCBjaGVjayBmb3IgZWFybHkgdGVybWluYXRpb24KCQkJCQkJaWYgKCBsaXN0WyBmaXJpbmdJbmRleCBdLmFwcGx5KCBtZW1vcnlbIDAgXSwgbWVtb3J5WyAxIF0gKSA9PT0gZmFsc2UgJiYKCQkJCQkJCW9wdGlvbnMuc3RvcE9uRmFsc2UgKSB7CgoJCQkJCQkJLy8gSnVtcCB0byBlbmQgYW5kIGZvcmdldCB0aGUgZGF0YSBzbyAuYWRkIGRvZXNuJ3QgcmUtZmlyZQoJCQkJCQkJZmlyaW5nSW5kZXggPSBsaXN0Lmxlbmd0aDsKCQkJCQkJCW1lbW9yeSA9IGZhbHNlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoKCQkJCS8vIEZvcmdldCB0aGUgZGF0YSBpZiB3ZSdyZSBkb25lIHdpdGggaXQKCQkJCWlmICggIW9wdGlvbnMubWVtb3J5ICkgewoJCQkJCW1lbW9yeSA9IGZhbHNlOwoJCQkJfQoKCQkJCWZpcmluZyA9IGZhbHNlOwoKCQkJCS8vIENsZWFuIHVwIGlmIHdlJ3JlIGRvbmUgZmlyaW5nIGZvciBnb29kCgkJCQlpZiAoIGxvY2tlZCApIHsKCgkJCQkJLy8gS2VlcCBhbiBlbXB0eSBsaXN0IGlmIHdlIGhhdmUgZGF0YSBmb3IgZnV0dXJlIGFkZCBjYWxscwoJCQkJCWlmICggbWVtb3J5ICkgewoJCQkJCQlsaXN0ID0gW107CgoJCQkJCQkvLyBPdGhlcndpc2UsIHRoaXMgb2JqZWN0IGlzIHNwZW50CgkJCQkJfSBlbHNlIHsKCQkJCQkJbGlzdCA9ICIiOwoJCQkJCX0KCQkJCX0KCQkJfSwKCgkJCS8vIEFjdHVhbCBDYWxsYmFja3Mgb2JqZWN0CgkJCXNlbGYgPSB7CgoJCQkJLy8gQWRkIGEgY2FsbGJhY2sgb3IgYSBjb2xsZWN0aW9uIG9mIGNhbGxiYWNrcyB0byB0aGUgbGlzdAoJCQkJYWRkOiBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIGxpc3QgKSB7CgoJCQkJCQkvLyBJZiB3ZSBoYXZlIG1lbW9yeSBmcm9tIGEgcGFzdCBydW4sIHdlIHNob3VsZCBmaXJlIGFmdGVyIGFkZGluZwoJCQkJCQlpZiAoIG1lbW9yeSAmJiAhZmlyaW5nICkgewoJCQkJCQkJZmlyaW5nSW5kZXggPSBsaXN0Lmxlbmd0aCAtIDE7CgkJCQkJCQlxdWV1ZS5wdXNoKCBtZW1vcnkgKTsKCQkJCQkJfQoKCQkJCQkJKCBmdW5jdGlvbiBhZGQoIGFyZ3MgKSB7CgkJCQkJCQlqUXVlcnkuZWFjaCggYXJncywgZnVuY3Rpb24oIF8sIGFyZyApIHsKCQkJCQkJCQlpZiAoIGlzRnVuY3Rpb24oIGFyZyApICkgewoJCQkJCQkJCQlpZiAoICFvcHRpb25zLnVuaXF1ZSB8fCAhc2VsZi5oYXMoIGFyZyApICkgewoJCQkJCQkJCQkJbGlzdC5wdXNoKCBhcmcgKTsKCQkJCQkJCQkJfQoJCQkJCQkJCX0gZWxzZSBpZiAoIGFyZyAmJiBhcmcubGVuZ3RoICYmIHRvVHlwZSggYXJnICkgIT09ICJzdHJpbmciICkgewoKCQkJCQkJCQkJLy8gSW5zcGVjdCByZWN1cnNpdmVseQoJCQkJCQkJCQlhZGQoIGFyZyApOwoJCQkJCQkJCX0KCQkJCQkJCX0gKTsKCQkJCQkJfSApKCBhcmd1bWVudHMgKTsKCgkJCQkJCWlmICggbWVtb3J5ICYmICFmaXJpbmcgKSB7CgkJCQkJCQlmaXJlKCk7CgkJCQkJCX0KCQkJCQl9CgkJCQkJcmV0dXJuIHRoaXM7CgkJCQl9LAoKCQkJCS8vIFJlbW92ZSBhIGNhbGxiYWNrIGZyb20gdGhlIGxpc3QKCQkJCXJlbW92ZTogZnVuY3Rpb24oKSB7CgkJCQkJalF1ZXJ5LmVhY2goIGFyZ3VtZW50cywgZnVuY3Rpb24oIF8sIGFyZyApIHsKCQkJCQkJdmFyIGluZGV4OwoJCQkJCQl3aGlsZSAoICggaW5kZXggPSBqUXVlcnkuaW5BcnJheSggYXJnLCBsaXN0LCBpbmRleCApICkgPiAtMSApIHsKCQkJCQkJCWxpc3Quc3BsaWNlKCBpbmRleCwgMSApOwoKCQkJCQkJCS8vIEhhbmRsZSBmaXJpbmcgaW5kZXhlcwoJCQkJCQkJaWYgKCBpbmRleCA8PSBmaXJpbmdJbmRleCApIHsKCQkJCQkJCQlmaXJpbmdJbmRleC0tOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfSApOwoJCQkJCXJldHVybiB0aGlzOwoJCQkJfSwKCgkJCQkvLyBDaGVjayBpZiBhIGdpdmVuIGNhbGxiYWNrIGlzIGluIHRoZSBsaXN0LgoJCQkJLy8gSWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4sIHJldHVybiB3aGV0aGVyIG9yIG5vdCBsaXN0IGhhcyBjYWxsYmFja3MgYXR0YWNoZWQuCgkJCQloYXM6IGZ1bmN0aW9uKCBmbiApIHsKCQkJCQlyZXR1cm4gZm4gPwoJCQkJCQlqUXVlcnkuaW5BcnJheSggZm4sIGxpc3QgKSA+IC0xIDoKCQkJCQkJbGlzdC5sZW5ndGggPiAwOwoJCQkJfSwKCgkJCQkvLyBSZW1vdmUgYWxsIGNhbGxiYWNrcyBmcm9tIHRoZSBsaXN0CgkJCQllbXB0eTogZnVuY3Rpb24oKSB7CgkJCQkJaWYgKCBsaXN0ICkgewoJCQkJCQlsaXN0ID0gW107CgkJCQkJfQoJCQkJCXJldHVybiB0aGlzOwoJCQkJfSwKCgkJCQkvLyBEaXNhYmxlIC5maXJlIGFuZCAuYWRkCgkJCQkvLyBBYm9ydCBhbnkgY3VycmVudC9wZW5kaW5nIGV4ZWN1dGlvbnMKCQkJCS8vIENsZWFyIGFsbCBjYWxsYmFja3MgYW5kIHZhbHVlcwoJCQkJZGlzYWJsZTogZnVuY3Rpb24oKSB7CgkJCQkJbG9ja2VkID0gcXVldWUgPSBbXTsKCQkJCQlsaXN0ID0gbWVtb3J5ID0gIiI7CgkJCQkJcmV0dXJuIHRoaXM7CgkJCQl9LAoJCQkJZGlzYWJsZWQ6IGZ1bmN0aW9uKCkgewoJCQkJCXJldHVybiAhbGlzdDsKCQkJCX0sCgoJCQkJLy8gRGlzYWJsZSAuZmlyZQoJCQkJLy8gQWxzbyBkaXNhYmxlIC5hZGQgdW5sZXNzIHdlIGhhdmUgbWVtb3J5IChzaW5jZSBpdCB3b3VsZCBoYXZlIG5vIGVmZmVjdCkKCQkJCS8vIEFib3J0IGFueSBwZW5kaW5nIGV4ZWN1dGlvbnMKCQkJCWxvY2s6IGZ1bmN0aW9uKCkgewoJCQkJCWxvY2tlZCA9IHF1ZXVlID0gW107CgkJCQkJaWYgKCAhbWVtb3J5ICYmICFmaXJpbmcgKSB7CgkJCQkJCWxpc3QgPSBtZW1vcnkgPSAiIjsKCQkJCQl9CgkJCQkJcmV0dXJuIHRoaXM7CgkJCQl9LAoJCQkJbG9ja2VkOiBmdW5jdGlvbigpIHsKCQkJCQlyZXR1cm4gISFsb2NrZWQ7CgkJCQl9LAoKCQkJCS8vIENhbGwgYWxsIGNhbGxiYWNrcyB3aXRoIHRoZSBnaXZlbiBjb250ZXh0IGFuZCBhcmd1bWVudHMKCQkJCWZpcmVXaXRoOiBmdW5jdGlvbiggY29udGV4dCwgYXJncyApIHsKCQkJCQlpZiAoICFsb2NrZWQgKSB7CgkJCQkJCWFyZ3MgPSBhcmdzIHx8IFtdOwoJCQkJCQlhcmdzID0gWyBjb250ZXh0LCBhcmdzLnNsaWNlID8gYXJncy5zbGljZSgpIDogYXJncyBdOwoJCQkJCQlxdWV1ZS5wdXNoKCBhcmdzICk7CgkJCQkJCWlmICggIWZpcmluZyApIHsKCQkJCQkJCWZpcmUoKTsKCQkJCQkJfQoJCQkJCX0KCQkJCQlyZXR1cm4gdGhpczsKCQkJCX0sCgoJCQkJLy8gQ2FsbCBhbGwgdGhlIGNhbGxiYWNrcyB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMKCQkJCWZpcmU6IGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYuZmlyZVdpdGgoIHRoaXMsIGFyZ3VtZW50cyApOwoJCQkJCXJldHVybiB0aGlzOwoJCQkJfSwKCgkJCQkvLyBUbyBrbm93IGlmIHRoZSBjYWxsYmFja3MgaGF2ZSBhbHJlYWR5IGJlZW4gY2FsbGVkIGF0IGxlYXN0IG9uY2UKCQkJCWZpcmVkOiBmdW5jdGlvbigpIHsKCQkJCQlyZXR1cm4gISFmaXJlZDsKCQkJCX0KCQkJfTsKCgkJcmV0dXJuIHNlbGY7Cgl9OwoKCglmdW5jdGlvbiBJZGVudGl0eSggdiApIHsKCQlyZXR1cm4gdjsKCX0KCWZ1bmN0aW9uIFRocm93ZXIoIGV4ICkgewoJCXRocm93IGV4OwoJfQoKCWZ1bmN0aW9uIGFkb3B0VmFsdWUoIHZhbHVlLCByZXNvbHZlLCByZWplY3QsIG5vVmFsdWUgKSB7CgkJdmFyIG1ldGhvZDsKCgkJdHJ5IHsKCgkJCS8vIENoZWNrIGZvciBwcm9taXNlIGFzcGVjdCBmaXJzdCB0byBwcml2aWxlZ2Ugc3luY2hyb25vdXMgYmVoYXZpb3IKCQkJaWYgKCB2YWx1ZSAmJiBpc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnByb21pc2UgKSApICkgewoJCQkJbWV0aG9kLmNhbGwoIHZhbHVlICkuZG9uZSggcmVzb2x2ZSApLmZhaWwoIHJlamVjdCApOwoKCQkJCS8vIE90aGVyIHRoZW5hYmxlcwoJCQl9IGVsc2UgaWYgKCB2YWx1ZSAmJiBpc0Z1bmN0aW9uKCAoIG1ldGhvZCA9IHZhbHVlLnRoZW4gKSApICkgewoJCQkJbWV0aG9kLmNhbGwoIHZhbHVlLCByZXNvbHZlLCByZWplY3QgKTsKCgkJCQkvLyBPdGhlciBub24tdGhlbmFibGVzCgkJCX0gZWxzZSB7CgoJCQkJLy8gQ29udHJvbCBgcmVzb2x2ZWAgYXJndW1lbnRzIGJ5IGxldHRpbmcgQXJyYXkjc2xpY2UgY2FzdCBib29sZWFuIGBub1ZhbHVlYCB0byBpbnRlZ2VyOgoJCQkJLy8gKiBmYWxzZTogWyB2YWx1ZSBdLnNsaWNlKCAwICkgPT4gcmVzb2x2ZSggdmFsdWUgKQoJCQkJLy8gKiB0cnVlOiBbIHZhbHVlIF0uc2xpY2UoIDEgKSA9PiByZXNvbHZlKCkKCQkJCXJlc29sdmUuYXBwbHkoIHVuZGVmaW5lZCwgWyB2YWx1ZSBdLnNsaWNlKCBub1ZhbHVlICkgKTsKCQkJfQoKCQkJLy8gRm9yIFByb21pc2VzL0ErLCBjb252ZXJ0IGV4Y2VwdGlvbnMgaW50byByZWplY3Rpb25zCgkJCS8vIFNpbmNlIGpRdWVyeS53aGVuIGRvZXNuJ3QgdW53cmFwIHRoZW5hYmxlcywgd2UgY2FuIHNraXAgdGhlIGV4dHJhIGNoZWNrcyBhcHBlYXJpbmcgaW4KCQkJLy8gRGVmZXJyZWQjdGhlbiB0byBjb25kaXRpb25hbGx5IHN1cHByZXNzIHJlamVjdGlvbi4KCQl9IGNhdGNoICggdmFsdWUgKSB7CgoJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCBvbmx5CgkJCS8vIFN0cmljdCBtb2RlIGZ1bmN0aW9ucyBpbnZva2VkIHdpdGhvdXQgLmNhbGwvLmFwcGx5IGdldCBnbG9iYWwtb2JqZWN0IGNvbnRleHQKCQkJcmVqZWN0LmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXSApOwoJCX0KCX0KCglqUXVlcnkuZXh0ZW5kKCB7CgoJCURlZmVycmVkOiBmdW5jdGlvbiggZnVuYyApIHsKCQkJdmFyIHR1cGxlcyA9IFsKCgkJCQkJLy8gYWN0aW9uLCBhZGQgbGlzdGVuZXIsIGNhbGxiYWNrcywKCQkJCQkvLyAuLi4gLnRoZW4gaGFuZGxlcnMsIGFyZ3VtZW50IGluZGV4LCBbZmluYWwgc3RhdGVdCgkJCQkJWyAibm90aWZ5IiwgInByb2dyZXNzIiwgalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwKCQkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm1lbW9yeSIgKSwgMiBdLAoJCQkJCVsgInJlc29sdmUiLCAiZG9uZSIsIGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwKCQkJCQkJalF1ZXJ5LkNhbGxiYWNrcyggIm9uY2UgbWVtb3J5IiApLCAwLCAicmVzb2x2ZWQiIF0sCgkJCQkJWyAicmVqZWN0IiwgImZhaWwiLCBqUXVlcnkuQ2FsbGJhY2tzKCAib25jZSBtZW1vcnkiICksCgkJCQkJCWpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKSwgMSwgInJlamVjdGVkIiBdCgkJCQldLAoJCQkJc3RhdGUgPSAicGVuZGluZyIsCgkJCQlwcm9taXNlID0gewoJCQkJCXN0YXRlOiBmdW5jdGlvbigpIHsKCQkJCQkJcmV0dXJuIHN0YXRlOwoJCQkJCX0sCgkJCQkJYWx3YXlzOiBmdW5jdGlvbigpIHsKCQkJCQkJZGVmZXJyZWQuZG9uZSggYXJndW1lbnRzICkuZmFpbCggYXJndW1lbnRzICk7CgkJCQkJCXJldHVybiB0aGlzOwoJCQkJCX0sCgkJCQkJImNhdGNoIjogZnVuY3Rpb24oIGZuICkgewoJCQkJCQlyZXR1cm4gcHJvbWlzZS50aGVuKCBudWxsLCBmbiApOwoJCQkJCX0sCgoJCQkJCS8vIEtlZXAgcGlwZSBmb3IgYmFjay1jb21wYXQKCQkJCQlwaXBlOiBmdW5jdGlvbiggLyogZm5Eb25lLCBmbkZhaWwsIGZuUHJvZ3Jlc3MgKi8gKSB7CgkJCQkJCXZhciBmbnMgPSBhcmd1bWVudHM7CgoJCQkJCQlyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7CgkJCQkJCQlqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggaSwgdHVwbGUgKSB7CgoJCQkJCQkJCS8vIE1hcCB0dXBsZXMgKHByb2dyZXNzLCBkb25lLCBmYWlsKSB0byBhcmd1bWVudHMgKGRvbmUsIGZhaWwsIHByb2dyZXNzKQoJCQkJCQkJCXZhciBmbiA9IGlzRnVuY3Rpb24oIGZuc1sgdHVwbGVbIDQgXSBdICkgJiYgZm5zWyB0dXBsZVsgNCBdIF07CgoJCQkJCQkJCS8vIGRlZmVycmVkLnByb2dyZXNzKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLm5vdGlmeSB9KQoJCQkJCQkJCS8vIGRlZmVycmVkLmRvbmUoZnVuY3Rpb24oKSB7IGJpbmQgdG8gbmV3RGVmZXIgb3IgbmV3RGVmZXIucmVzb2x2ZSB9KQoJCQkJCQkJCS8vIGRlZmVycmVkLmZhaWwoZnVuY3Rpb24oKSB7IGJpbmQgdG8gbmV3RGVmZXIgb3IgbmV3RGVmZXIucmVqZWN0IH0pCgkJCQkJCQkJZGVmZXJyZWRbIHR1cGxlWyAxIF0gXSggZnVuY3Rpb24oKSB7CgkJCQkJCQkJCXZhciByZXR1cm5lZCA9IGZuICYmIGZuLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsKCQkJCQkJCQkJaWYgKCByZXR1cm5lZCAmJiBpc0Z1bmN0aW9uKCByZXR1cm5lZC5wcm9taXNlICkgKSB7CgkJCQkJCQkJCQlyZXR1cm5lZC5wcm9taXNlKCkKCQkJCQkJCQkJCQkucHJvZ3Jlc3MoIG5ld0RlZmVyLm5vdGlmeSApCgkJCQkJCQkJCQkJLmRvbmUoIG5ld0RlZmVyLnJlc29sdmUgKQoJCQkJCQkJCQkJCS5mYWlsKCBuZXdEZWZlci5yZWplY3QgKTsKCQkJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkJCW5ld0RlZmVyWyB0dXBsZVsgMCBdICsgIldpdGgiIF0oCgkJCQkJCQkJCQkJdGhpcywKCQkJCQkJCQkJCQlmbiA/IFsgcmV0dXJuZWQgXSA6IGFyZ3VtZW50cwoJCQkJCQkJCQkJKTsKCQkJCQkJCQkJfQoJCQkJCQkJCX0gKTsKCQkJCQkJCX0gKTsKCQkJCQkJCWZucyA9IG51bGw7CgkJCQkJCX0gKS5wcm9taXNlKCk7CgkJCQkJfSwKCQkJCQl0aGVuOiBmdW5jdGlvbiggb25GdWxmaWxsZWQsIG9uUmVqZWN0ZWQsIG9uUHJvZ3Jlc3MgKSB7CgkJCQkJCXZhciBtYXhEZXB0aCA9IDA7CgkJCQkJCWZ1bmN0aW9uIHJlc29sdmUoIGRlcHRoLCBkZWZlcnJlZCwgaGFuZGxlciwgc3BlY2lhbCApIHsKCQkJCQkJCXJldHVybiBmdW5jdGlvbigpIHsKCQkJCQkJCQl2YXIgdGhhdCA9IHRoaXMsCgkJCQkJCQkJCWFyZ3MgPSBhcmd1bWVudHMsCgkJCQkJCQkJCW1pZ2h0VGhyb3cgPSBmdW5jdGlvbigpIHsKCQkJCQkJCQkJCXZhciByZXR1cm5lZCwgdGhlbjsKCgkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4zLjMuMwoJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTkKCQkJCQkJCQkJCS8vIElnbm9yZSBkb3VibGUtcmVzb2x1dGlvbiBhdHRlbXB0cwoJCQkJCQkJCQkJaWYgKCBkZXB0aCA8IG1heERlcHRoICkgewoJCQkJCQkJCQkJCXJldHVybjsKCQkJCQkJCQkJCX0KCgkJCQkJCQkJCQlyZXR1cm5lZCA9IGhhbmRsZXIuYXBwbHkoIHRoYXQsIGFyZ3MgKTsKCgkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4xCgkJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC00OAoJCQkJCQkJCQkJaWYgKCByZXR1cm5lZCA9PT0gZGVmZXJyZWQucHJvbWlzZSgpICkgewoJCQkJCQkJCQkJCXRocm93IG5ldyBUeXBlRXJyb3IoICJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iICk7CgkJCQkJCQkJCQl9CgoJCQkJCQkJCQkJLy8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbnMgMi4zLjMuMSwgMy41CgkJCQkJCQkJCQkvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC01NAoJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNzUKCQkJCQkJCQkJCS8vIFJldHJpZXZlIGB0aGVuYCBvbmx5IG9uY2UKCQkJCQkJCQkJCXRoZW4gPSByZXR1cm5lZCAmJgoKCQkJCQkJCQkJCQkvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy40CgkJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjQKCQkJCQkJCQkJCQkvLyBPbmx5IGNoZWNrIG9iamVjdHMgYW5kIGZ1bmN0aW9ucyBmb3IgdGhlbmFiaWxpdHkKCQkJCQkJCQkJCQkoIHR5cGVvZiByZXR1cm5lZCA9PT0gIm9iamVjdCIgfHwKCQkJCQkJCQkJCQkJdHlwZW9mIHJldHVybmVkID09PSAiZnVuY3Rpb24iICkgJiYKCQkJCQkJCQkJCQlyZXR1cm5lZC50aGVuOwoKCQkJCQkJCQkJCS8vIEhhbmRsZSBhIHJldHVybmVkIHRoZW5hYmxlCgkJCQkJCQkJCQlpZiAoIGlzRnVuY3Rpb24oIHRoZW4gKSApIHsKCgkJCQkJCQkJCQkJLy8gU3BlY2lhbCBwcm9jZXNzb3JzIChub3RpZnkpIGp1c3Qgd2FpdCBmb3IgcmVzb2x1dGlvbgoJCQkJCQkJCQkJCWlmICggc3BlY2lhbCApIHsKCQkJCQkJCQkJCQkJdGhlbi5jYWxsKAoJCQkJCQkJCQkJCQkJcmV0dXJuZWQsCgkJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIElkZW50aXR5LCBzcGVjaWFsICksCgkJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIFRocm93ZXIsIHNwZWNpYWwgKQoJCQkJCQkJCQkJCQkpOwoKCQkJCQkJCQkJCQkJLy8gTm9ybWFsIHByb2Nlc3NvcnMgKHJlc29sdmUpIGFsc28gaG9vayBpbnRvIHByb2dyZXNzCgkJCQkJCQkJCQkJfSBlbHNlIHsKCgkJCQkJCQkJCQkJCS8vIC4uLmFuZCBkaXNyZWdhcmQgb2xkZXIgcmVzb2x1dGlvbiB2YWx1ZXMKCQkJCQkJCQkJCQkJbWF4RGVwdGgrKzsKCgkJCQkJCQkJCQkJCXRoZW4uY2FsbCgKCQkJCQkJCQkJCQkJCXJldHVybmVkLAoJCQkJCQkJCQkJCQkJcmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBJZGVudGl0eSwgc3BlY2lhbCApLAoJCQkJCQkJCQkJCQkJcmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBUaHJvd2VyLCBzcGVjaWFsICksCgkJCQkJCQkJCQkJCQlyZXNvbHZlKCBtYXhEZXB0aCwgZGVmZXJyZWQsIElkZW50aXR5LAoJCQkJCQkJCQkJCQkJCWRlZmVycmVkLm5vdGlmeVdpdGggKQoJCQkJCQkJCQkJCQkpOwoJCQkJCQkJCQkJCX0KCgkJCQkJCQkJCQkJLy8gSGFuZGxlIGFsbCBvdGhlciByZXR1cm5lZCB2YWx1ZXMKCQkJCQkJCQkJCX0gZWxzZSB7CgoJCQkJCQkJCQkJCS8vIE9ubHkgc3Vic3RpdHV0ZSBoYW5kbGVycyBwYXNzIG9uIGNvbnRleHQKCQkJCQkJCQkJCQkvLyBhbmQgbXVsdGlwbGUgdmFsdWVzIChub24tc3BlYyBiZWhhdmlvcikKCQkJCQkJCQkJCQlpZiAoIGhhbmRsZXIgIT09IElkZW50aXR5ICkgewoJCQkJCQkJCQkJCQl0aGF0ID0gdW5kZWZpbmVkOwoJCQkJCQkJCQkJCQlhcmdzID0gWyByZXR1cm5lZCBdOwoJCQkJCQkJCQkJCX0KCgkJCQkJCQkJCQkJLy8gUHJvY2VzcyB0aGUgdmFsdWUocykKCQkJCQkJCQkJCQkvLyBEZWZhdWx0IHByb2Nlc3MgaXMgcmVzb2x2ZQoJCQkJCQkJCQkJCSggc3BlY2lhbCB8fCBkZWZlcnJlZC5yZXNvbHZlV2l0aCApKCB0aGF0LCBhcmdzICk7CgkJCQkJCQkJCQl9CgkJCQkJCQkJCX0sCgoJCQkJCQkJCQkvLyBPbmx5IG5vcm1hbCBwcm9jZXNzb3JzIChyZXNvbHZlKSBjYXRjaCBhbmQgcmVqZWN0IGV4Y2VwdGlvbnMKCQkJCQkJCQkJcHJvY2VzcyA9IHNwZWNpYWwgPwoJCQkJCQkJCQkJbWlnaHRUaHJvdyA6CgkJCQkJCQkJCQlmdW5jdGlvbigpIHsKCQkJCQkJCQkJCQl0cnkgewoJCQkJCQkJCQkJCQltaWdodFRocm93KCk7CgkJCQkJCQkJCQkJfSBjYXRjaCAoIGUgKSB7CgoJCQkJCQkJCQkJCQlpZiAoIGpRdWVyeS5EZWZlcnJlZC5leGNlcHRpb25Ib29rICkgewoJCQkJCQkJCQkJCQkJalF1ZXJ5LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soIGUsCgkJCQkJCQkJCQkJCQkJcHJvY2Vzcy5zdGFja1RyYWNlICk7CgkJCQkJCQkJCQkJCX0KCgkJCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy40LjEKCQkJCQkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNjEKCQkJCQkJCQkJCQkJLy8gSWdub3JlIHBvc3QtcmVzb2x1dGlvbiBleGNlcHRpb25zCgkJCQkJCQkJCQkJCWlmICggZGVwdGggKyAxID49IG1heERlcHRoICkgewoKCQkJCQkJCQkJCQkJCS8vIE9ubHkgc3Vic3RpdHV0ZSBoYW5kbGVycyBwYXNzIG9uIGNvbnRleHQKCQkJCQkJCQkJCQkJCS8vIGFuZCBtdWx0aXBsZSB2YWx1ZXMgKG5vbi1zcGVjIGJlaGF2aW9yKQoJCQkJCQkJCQkJCQkJaWYgKCBoYW5kbGVyICE9PSBUaHJvd2VyICkgewoJCQkJCQkJCQkJCQkJCXRoYXQgPSB1bmRlZmluZWQ7CgkJCQkJCQkJCQkJCQkJYXJncyA9IFsgZSBdOwoJCQkJCQkJCQkJCQkJfQoKCQkJCQkJCQkJCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIHRoYXQsIGFyZ3MgKTsKCQkJCQkJCQkJCQkJfQoJCQkJCQkJCQkJCX0KCQkJCQkJCQkJCX07CgoJCQkJCQkJCS8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb24gMi4zLjMuMy4xCgkJCQkJCQkJLy8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTcKCQkJCQkJCQkvLyBSZS1yZXNvbHZlIHByb21pc2VzIGltbWVkaWF0ZWx5IHRvIGRvZGdlIGZhbHNlIHJlamVjdGlvbiBmcm9tCgkJCQkJCQkJLy8gc3Vic2VxdWVudCBlcnJvcnMKCQkJCQkJCQlpZiAoIGRlcHRoICkgewoJCQkJCQkJCQlwcm9jZXNzKCk7CgkJCQkJCQkJfSBlbHNlIHsKCgkJCQkJCQkJCS8vIENhbGwgYW4gb3B0aW9uYWwgaG9vayB0byByZWNvcmQgdGhlIHN0YWNrLCBpbiBjYXNlIG9mIGV4Y2VwdGlvbgoJCQkJCQkJCQkvLyBzaW5jZSBpdCdzIG90aGVyd2lzZSBsb3N0IHdoZW4gZXhlY3V0aW9uIGdvZXMgYXN5bmMKCQkJCQkJCQkJaWYgKCBqUXVlcnkuRGVmZXJyZWQuZ2V0U3RhY2tIb29rICkgewoJCQkJCQkJCQkJcHJvY2Vzcy5zdGFja1RyYWNlID0galF1ZXJ5LkRlZmVycmVkLmdldFN0YWNrSG9vaygpOwoJCQkJCQkJCQl9CgkJCQkJCQkJCXdpbmRvdy5zZXRUaW1lb3V0KCBwcm9jZXNzICk7CgkJCQkJCQkJfQoJCQkJCQkJfTsKCQkJCQkJfQoKCQkJCQkJcmV0dXJuIGpRdWVyeS5EZWZlcnJlZCggZnVuY3Rpb24oIG5ld0RlZmVyICkgewoKCQkJCQkJCS8vIHByb2dyZXNzX2hhbmRsZXJzLmFkZCggLi4uICkKCQkJCQkJCXR1cGxlc1sgMCBdWyAzIF0uYWRkKAoJCQkJCQkJCXJlc29sdmUoCgkJCQkJCQkJCTAsCgkJCQkJCQkJCW5ld0RlZmVyLAoJCQkJCQkJCQlpc0Z1bmN0aW9uKCBvblByb2dyZXNzICkgPwoJCQkJCQkJCQkJb25Qcm9ncmVzcyA6CgkJCQkJCQkJCQlJZGVudGl0eSwKCQkJCQkJCQkJbmV3RGVmZXIubm90aWZ5V2l0aAoJCQkJCQkJCSkKCQkJCQkJCSk7CgoJCQkJCQkJLy8gZnVsZmlsbGVkX2hhbmRsZXJzLmFkZCggLi4uICkKCQkJCQkJCXR1cGxlc1sgMSBdWyAzIF0uYWRkKAoJCQkJCQkJCXJlc29sdmUoCgkJCQkJCQkJCTAsCgkJCQkJCQkJCW5ld0RlZmVyLAoJCQkJCQkJCQlpc0Z1bmN0aW9uKCBvbkZ1bGZpbGxlZCApID8KCQkJCQkJCQkJCW9uRnVsZmlsbGVkIDoKCQkJCQkJCQkJCUlkZW50aXR5CgkJCQkJCQkJKQoJCQkJCQkJKTsKCgkJCQkJCQkvLyByZWplY3RlZF9oYW5kbGVycy5hZGQoIC4uLiApCgkJCQkJCQl0dXBsZXNbIDIgXVsgMyBdLmFkZCgKCQkJCQkJCQlyZXNvbHZlKAoJCQkJCQkJCQkwLAoJCQkJCQkJCQluZXdEZWZlciwKCQkJCQkJCQkJaXNGdW5jdGlvbiggb25SZWplY3RlZCApID8KCQkJCQkJCQkJCW9uUmVqZWN0ZWQgOgoJCQkJCQkJCQkJVGhyb3dlcgoJCQkJCQkJCSkKCQkJCQkJCSk7CgkJCQkJCX0gKS5wcm9taXNlKCk7CgkJCQkJfSwKCgkJCQkJLy8gR2V0IGEgcHJvbWlzZSBmb3IgdGhpcyBkZWZlcnJlZAoJCQkJCS8vIElmIG9iaiBpcyBwcm92aWRlZCwgdGhlIHByb21pc2UgYXNwZWN0IGlzIGFkZGVkIHRvIHRoZSBvYmplY3QKCQkJCQlwcm9taXNlOiBmdW5jdGlvbiggb2JqICkgewoJCQkJCQlyZXR1cm4gb2JqICE9IG51bGwgPyBqUXVlcnkuZXh0ZW5kKCBvYmosIHByb21pc2UgKSA6IHByb21pc2U7CgkJCQkJfQoJCQkJfSwKCQkJCWRlZmVycmVkID0ge307CgoJCQkvLyBBZGQgbGlzdC1zcGVjaWZpYyBtZXRob2RzCgkJCWpRdWVyeS5lYWNoKCB0dXBsZXMsIGZ1bmN0aW9uKCBpLCB0dXBsZSApIHsKCQkJCXZhciBsaXN0ID0gdHVwbGVbIDIgXSwKCQkJCQlzdGF0ZVN0cmluZyA9IHR1cGxlWyA1IF07CgoJCQkJLy8gcHJvbWlzZS5wcm9ncmVzcyA9IGxpc3QuYWRkCgkJCQkvLyBwcm9taXNlLmRvbmUgPSBsaXN0LmFkZAoJCQkJLy8gcHJvbWlzZS5mYWlsID0gbGlzdC5hZGQKCQkJCXByb21pc2VbIHR1cGxlWyAxIF0gXSA9IGxpc3QuYWRkOwoKCQkJCS8vIEhhbmRsZSBzdGF0ZQoJCQkJaWYgKCBzdGF0ZVN0cmluZyApIHsKCQkJCQlsaXN0LmFkZCgKCQkJCQkJZnVuY3Rpb24oKSB7CgoJCQkJCQkJLy8gc3RhdGUgPSAicmVzb2x2ZWQiIChpLmUuLCBmdWxmaWxsZWQpCgkJCQkJCQkvLyBzdGF0ZSA9ICJyZWplY3RlZCIKCQkJCQkJCXN0YXRlID0gc3RhdGVTdHJpbmc7CgkJCQkJCX0sCgoJCQkJCQkvLyByZWplY3RlZF9jYWxsYmFja3MuZGlzYWJsZQoJCQkJCQkvLyBmdWxmaWxsZWRfY2FsbGJhY2tzLmRpc2FibGUKCQkJCQkJdHVwbGVzWyAzIC0gaSBdWyAyIF0uZGlzYWJsZSwKCgkJCQkJCS8vIHJlamVjdGVkX2hhbmRsZXJzLmRpc2FibGUKCQkJCQkJLy8gZnVsZmlsbGVkX2hhbmRsZXJzLmRpc2FibGUKCQkJCQkJdHVwbGVzWyAzIC0gaSBdWyAzIF0uZGlzYWJsZSwKCgkJCQkJCS8vIHByb2dyZXNzX2NhbGxiYWNrcy5sb2NrCgkJCQkJCXR1cGxlc1sgMCBdWyAyIF0ubG9jaywKCgkJCQkJCS8vIHByb2dyZXNzX2hhbmRsZXJzLmxvY2sKCQkJCQkJdHVwbGVzWyAwIF1bIDMgXS5sb2NrCgkJCQkJKTsKCQkJCX0KCgkJCQkvLyBwcm9ncmVzc19oYW5kbGVycy5maXJlCgkJCQkvLyBmdWxmaWxsZWRfaGFuZGxlcnMuZmlyZQoJCQkJLy8gcmVqZWN0ZWRfaGFuZGxlcnMuZmlyZQoJCQkJbGlzdC5hZGQoIHR1cGxlWyAzIF0uZmlyZSApOwoKCQkJCS8vIGRlZmVycmVkLm5vdGlmeSA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5ub3RpZnlXaXRoKC4uLikgfQoJCQkJLy8gZGVmZXJyZWQucmVzb2x2ZSA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5yZXNvbHZlV2l0aCguLi4pIH0KCQkJCS8vIGRlZmVycmVkLnJlamVjdCA9IGZ1bmN0aW9uKCkgeyBkZWZlcnJlZC5yZWplY3RXaXRoKC4uLikgfQoJCQkJZGVmZXJyZWRbIHR1cGxlWyAwIF0gXSA9IGZ1bmN0aW9uKCkgewoJCQkJCWRlZmVycmVkWyB0dXBsZVsgMCBdICsgIldpdGgiIF0oIHRoaXMgPT09IGRlZmVycmVkID8gdW5kZWZpbmVkIDogdGhpcywgYXJndW1lbnRzICk7CgkJCQkJcmV0dXJuIHRoaXM7CgkJCQl9OwoKCQkJCS8vIGRlZmVycmVkLm5vdGlmeVdpdGggPSBsaXN0LmZpcmVXaXRoCgkJCQkvLyBkZWZlcnJlZC5yZXNvbHZlV2l0aCA9IGxpc3QuZmlyZVdpdGgKCQkJCS8vIGRlZmVycmVkLnJlamVjdFdpdGggPSBsaXN0LmZpcmVXaXRoCgkJCQlkZWZlcnJlZFsgdHVwbGVbIDAgXSArICJXaXRoIiBdID0gbGlzdC5maXJlV2l0aDsKCQkJfSApOwoKCQkJLy8gTWFrZSB0aGUgZGVmZXJyZWQgYSBwcm9taXNlCgkJCXByb21pc2UucHJvbWlzZSggZGVmZXJyZWQgKTsKCgkJCS8vIENhbGwgZ2l2ZW4gZnVuYyBpZiBhbnkKCQkJaWYgKCBmdW5jICkgewoJCQkJZnVuYy5jYWxsKCBkZWZlcnJlZCwgZGVmZXJyZWQgKTsKCQkJfQoKCQkJLy8gQWxsIGRvbmUhCgkJCXJldHVybiBkZWZlcnJlZDsKCQl9LAoKCQkvLyBEZWZlcnJlZCBoZWxwZXIKCQl3aGVuOiBmdW5jdGlvbiggc2luZ2xlVmFsdWUgKSB7CgkJCXZhcgoKCQkJCS8vIGNvdW50IG9mIHVuY29tcGxldGVkIHN1Ym9yZGluYXRlcwoJCQkJcmVtYWluaW5nID0gYXJndW1lbnRzLmxlbmd0aCwKCgkJCQkvLyBjb3VudCBvZiB1bnByb2Nlc3NlZCBhcmd1bWVudHMKCQkJCWkgPSByZW1haW5pbmcsCgoJCQkJLy8gc3Vib3JkaW5hdGUgZnVsZmlsbG1lbnQgZGF0YQoJCQkJcmVzb2x2ZUNvbnRleHRzID0gQXJyYXkoIGkgKSwKCQkJCXJlc29sdmVWYWx1ZXMgPSBzbGljZS5jYWxsKCBhcmd1bWVudHMgKSwKCgkJCQkvLyB0aGUgbWFzdGVyIERlZmVycmVkCgkJCQltYXN0ZXIgPSBqUXVlcnkuRGVmZXJyZWQoKSwKCgkJCQkvLyBzdWJvcmRpbmF0ZSBjYWxsYmFjayBmYWN0b3J5CgkJCQl1cGRhdGVGdW5jID0gZnVuY3Rpb24oIGkgKSB7CgkJCQkJcmV0dXJuIGZ1bmN0aW9uKCB2YWx1ZSApIHsKCQkJCQkJcmVzb2x2ZUNvbnRleHRzWyBpIF0gPSB0aGlzOwoJCQkJCQlyZXNvbHZlVmFsdWVzWyBpIF0gPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IHNsaWNlLmNhbGwoIGFyZ3VtZW50cyApIDogdmFsdWU7CgkJCQkJCWlmICggISggLS1yZW1haW5pbmcgKSApIHsKCQkJCQkJCW1hc3Rlci5yZXNvbHZlV2l0aCggcmVzb2x2ZUNvbnRleHRzLCByZXNvbHZlVmFsdWVzICk7CgkJCQkJCX0KCQkJCQl9OwoJCQkJfTsKCgkJCS8vIFNpbmdsZS0gYW5kIGVtcHR5IGFyZ3VtZW50cyBhcmUgYWRvcHRlZCBsaWtlIFByb21pc2UucmVzb2x2ZQoJCQlpZiAoIHJlbWFpbmluZyA8PSAxICkgewoJCQkJYWRvcHRWYWx1ZSggc2luZ2xlVmFsdWUsIG1hc3Rlci5kb25lKCB1cGRhdGVGdW5jKCBpICkgKS5yZXNvbHZlLCBtYXN0ZXIucmVqZWN0LAoJCQkJCSFyZW1haW5pbmcgKTsKCgkJCQkvLyBVc2UgLnRoZW4oKSB0byB1bndyYXAgc2Vjb25kYXJ5IHRoZW5hYmxlcyAoY2YuIGdoLTMwMDApCgkJCQlpZiAoIG1hc3Rlci5zdGF0ZSgpID09PSAicGVuZGluZyIgfHwKCQkJCQlpc0Z1bmN0aW9uKCByZXNvbHZlVmFsdWVzWyBpIF0gJiYgcmVzb2x2ZVZhbHVlc1sgaSBdLnRoZW4gKSApIHsKCgkJCQkJcmV0dXJuIG1hc3Rlci50aGVuKCk7CgkJCQl9CgkJCX0KCgkJCS8vIE11bHRpcGxlIGFyZ3VtZW50cyBhcmUgYWdncmVnYXRlZCBsaWtlIFByb21pc2UuYWxsIGFycmF5IGVsZW1lbnRzCgkJCXdoaWxlICggaS0tICkgewoJCQkJYWRvcHRWYWx1ZSggcmVzb2x2ZVZhbHVlc1sgaSBdLCB1cGRhdGVGdW5jKCBpICksIG1hc3Rlci5yZWplY3QgKTsKCQkJfQoKCQkJcmV0dXJuIG1hc3Rlci5wcm9taXNlKCk7CgkJfQoJfSApOwoKCi8vIFRoZXNlIHVzdWFsbHkgaW5kaWNhdGUgYSBwcm9ncmFtbWVyIG1pc3Rha2UgZHVyaW5nIGRldmVsb3BtZW50LAovLyB3YXJuIGFib3V0IHRoZW0gQVNBUCByYXRoZXIgdGhhbiBzd2FsbG93aW5nIHRoZW0gYnkgZGVmYXVsdC4KCXZhciByZXJyb3JOYW1lcyA9IC9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvOwoKCWpRdWVyeS5EZWZlcnJlZC5leGNlcHRpb25Ib29rID0gZnVuY3Rpb24oIGVycm9yLCBzdGFjayApIHsKCgkJLy8gU3VwcG9ydDogSUUgOCAtIDkgb25seQoJCS8vIENvbnNvbGUgZXhpc3RzIHdoZW4gZGV2IHRvb2xzIGFyZSBvcGVuLCB3aGljaCBjYW4gaGFwcGVuIGF0IGFueSB0aW1lCgkJaWYgKCB3aW5kb3cuY29uc29sZSAmJiB3aW5kb3cuY29uc29sZS53YXJuICYmIGVycm9yICYmIHJlcnJvck5hbWVzLnRlc3QoIGVycm9yLm5hbWUgKSApIHsKCQkJd2luZG93LmNvbnNvbGUud2FybiggImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246ICIgKyBlcnJvci5tZXNzYWdlLCBlcnJvci5zdGFjaywgc3RhY2sgKTsKCQl9Cgl9OwoKCgoKCWpRdWVyeS5yZWFkeUV4Y2VwdGlvbiA9IGZ1bmN0aW9uKCBlcnJvciApIHsKCQl3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCXRocm93IGVycm9yOwoJCX0gKTsKCX07CgoKCgovLyBUaGUgZGVmZXJyZWQgdXNlZCBvbiBET00gcmVhZHkKCXZhciByZWFkeUxpc3QgPSBqUXVlcnkuRGVmZXJyZWQoKTsKCglqUXVlcnkuZm4ucmVhZHkgPSBmdW5jdGlvbiggZm4gKSB7CgoJCXJlYWR5TGlzdAoJCQkudGhlbiggZm4gKQoKCQkJLy8gV3JhcCBqUXVlcnkucmVhZHlFeGNlcHRpb24gaW4gYSBmdW5jdGlvbiBzbyB0aGF0IHRoZSBsb29rdXAKCQkJLy8gaGFwcGVucyBhdCB0aGUgdGltZSBvZiBlcnJvciBoYW5kbGluZyBpbnN0ZWFkIG9mIGNhbGxiYWNrCgkJCS8vIHJlZ2lzdHJhdGlvbi4KCQkJLmNhdGNoKCBmdW5jdGlvbiggZXJyb3IgKSB7CgkJCQlqUXVlcnkucmVhZHlFeGNlcHRpb24oIGVycm9yICk7CgkJCX0gKTsKCgkJcmV0dXJuIHRoaXM7Cgl9OwoKCWpRdWVyeS5leHRlbmQoIHsKCgkJLy8gSXMgdGhlIERPTSByZWFkeSB0byBiZSB1c2VkPyBTZXQgdG8gdHJ1ZSBvbmNlIGl0IG9jY3Vycy4KCQlpc1JlYWR5OiBmYWxzZSwKCgkJLy8gQSBjb3VudGVyIHRvIHRyYWNrIGhvdyBtYW55IGl0ZW1zIHRvIHdhaXQgZm9yIGJlZm9yZQoJCS8vIHRoZSByZWFkeSBldmVudCBmaXJlcy4gU2VlICM2NzgxCgkJcmVhZHlXYWl0OiAxLAoKCQkvLyBIYW5kbGUgd2hlbiB0aGUgRE9NIGlzIHJlYWR5CgkJcmVhZHk6IGZ1bmN0aW9uKCB3YWl0ICkgewoKCQkJLy8gQWJvcnQgaWYgdGhlcmUgYXJlIHBlbmRpbmcgaG9sZHMgb3Igd2UncmUgYWxyZWFkeSByZWFkeQoJCQlpZiAoIHdhaXQgPT09IHRydWUgPyAtLWpRdWVyeS5yZWFkeVdhaXQgOiBqUXVlcnkuaXNSZWFkeSApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gUmVtZW1iZXIgdGhhdCB0aGUgRE9NIGlzIHJlYWR5CgkJCWpRdWVyeS5pc1JlYWR5ID0gdHJ1ZTsKCgkJCS8vIElmIGEgbm9ybWFsIERPTSBSZWFkeSBldmVudCBmaXJlZCwgZGVjcmVtZW50LCBhbmQgd2FpdCBpZiBuZWVkIGJlCgkJCWlmICggd2FpdCAhPT0gdHJ1ZSAmJiAtLWpRdWVyeS5yZWFkeVdhaXQgPiAwICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBJZiB0aGVyZSBhcmUgZnVuY3Rpb25zIGJvdW5kLCB0byBleGVjdXRlCgkJCXJlYWR5TGlzdC5yZXNvbHZlV2l0aCggZG9jdW1lbnQsIFsgalF1ZXJ5IF0gKTsKCQl9Cgl9ICk7CgoJalF1ZXJ5LnJlYWR5LnRoZW4gPSByZWFkeUxpc3QudGhlbjsKCi8vIFRoZSByZWFkeSBldmVudCBoYW5kbGVyIGFuZCBzZWxmIGNsZWFudXAgbWV0aG9kCglmdW5jdGlvbiBjb21wbGV0ZWQoKSB7CgkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggIkRPTUNvbnRlbnRMb2FkZWQiLCBjb21wbGV0ZWQgKTsKCQl3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciggImxvYWQiLCBjb21wbGV0ZWQgKTsKCQlqUXVlcnkucmVhZHkoKTsKCX0KCi8vIENhdGNoIGNhc2VzIHdoZXJlICQoZG9jdW1lbnQpLnJlYWR5KCkgaXMgY2FsbGVkCi8vIGFmdGVyIHRoZSBicm93c2VyIGV2ZW50IGhhcyBhbHJlYWR5IG9jY3VycmVkLgovLyBTdXBwb3J0OiBJRSA8PTkgLSAxMCBvbmx5Ci8vIE9sZGVyIElFIHNvbWV0aW1lcyBzaWduYWxzICJpbnRlcmFjdGl2ZSIgdG9vIHNvb24KCWlmICggZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gImNvbXBsZXRlIiB8fAoJCSggZG9jdW1lbnQucmVhZHlTdGF0ZSAhPT0gImxvYWRpbmciICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwgKSApIHsKCgkJLy8gSGFuZGxlIGl0IGFzeW5jaHJvbm91c2x5IHRvIGFsbG93IHNjcmlwdHMgdGhlIG9wcG9ydHVuaXR5IHRvIGRlbGF5IHJlYWR5CgkJd2luZG93LnNldFRpbWVvdXQoIGpRdWVyeS5yZWFkeSApOwoKCX0gZWxzZSB7CgoJCS8vIFVzZSB0aGUgaGFuZHkgZXZlbnQgY2FsbGJhY2sKCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAiRE9NQ29udGVudExvYWRlZCIsIGNvbXBsZXRlZCApOwoKCQkvLyBBIGZhbGxiYWNrIHRvIHdpbmRvdy5vbmxvYWQsIHRoYXQgd2lsbCBhbHdheXMgd29yawoJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAibG9hZCIsIGNvbXBsZXRlZCApOwoJfQoKCgoKLy8gTXVsdGlmdW5jdGlvbmFsIG1ldGhvZCB0byBnZXQgYW5kIHNldCB2YWx1ZXMgb2YgYSBjb2xsZWN0aW9uCi8vIFRoZSB2YWx1ZS9zIGNhbiBvcHRpb25hbGx5IGJlIGV4ZWN1dGVkIGlmIGl0J3MgYSBmdW5jdGlvbgoJdmFyIGFjY2VzcyA9IGZ1bmN0aW9uKCBlbGVtcywgZm4sIGtleSwgdmFsdWUsIGNoYWluYWJsZSwgZW1wdHlHZXQsIHJhdyApIHsKCQl2YXIgaSA9IDAsCgkJCWxlbiA9IGVsZW1zLmxlbmd0aCwKCQkJYnVsayA9IGtleSA9PSBudWxsOwoKCQkvLyBTZXRzIG1hbnkgdmFsdWVzCgkJaWYgKCB0b1R5cGUoIGtleSApID09PSAib2JqZWN0IiApIHsKCQkJY2hhaW5hYmxlID0gdHJ1ZTsKCQkJZm9yICggaSBpbiBrZXkgKSB7CgkJCQlhY2Nlc3MoIGVsZW1zLCBmbiwgaSwga2V5WyBpIF0sIHRydWUsIGVtcHR5R2V0LCByYXcgKTsKCQkJfQoKCQkJLy8gU2V0cyBvbmUgdmFsdWUKCQl9IGVsc2UgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkgewoJCQljaGFpbmFibGUgPSB0cnVlOwoKCQkJaWYgKCAhaXNGdW5jdGlvbiggdmFsdWUgKSApIHsKCQkJCXJhdyA9IHRydWU7CgkJCX0KCgkJCWlmICggYnVsayApIHsKCgkJCQkvLyBCdWxrIG9wZXJhdGlvbnMgcnVuIGFnYWluc3QgdGhlIGVudGlyZSBzZXQKCQkJCWlmICggcmF3ICkgewoJCQkJCWZuLmNhbGwoIGVsZW1zLCB2YWx1ZSApOwoJCQkJCWZuID0gbnVsbDsKCgkJCQkJLy8gLi4uZXhjZXB0IHdoZW4gZXhlY3V0aW5nIGZ1bmN0aW9uIHZhbHVlcwoJCQkJfSBlbHNlIHsKCQkJCQlidWxrID0gZm47CgkJCQkJZm4gPSBmdW5jdGlvbiggZWxlbSwga2V5LCB2YWx1ZSApIHsKCQkJCQkJcmV0dXJuIGJ1bGsuY2FsbCggalF1ZXJ5KCBlbGVtICksIHZhbHVlICk7CgkJCQkJfTsKCQkJCX0KCQkJfQoKCQkJaWYgKCBmbiApIHsKCQkJCWZvciAoIDsgaSA8IGxlbjsgaSsrICkgewoJCQkJCWZuKAoJCQkJCQllbGVtc1sgaSBdLCBrZXksIHJhdyA/CgkJCQkJCQl2YWx1ZSA6CgkJCQkJCQl2YWx1ZS5jYWxsKCBlbGVtc1sgaSBdLCBpLCBmbiggZWxlbXNbIGkgXSwga2V5ICkgKQoJCQkJCSk7CgkJCQl9CgkJCX0KCQl9CgoJCWlmICggY2hhaW5hYmxlICkgewoJCQlyZXR1cm4gZWxlbXM7CgkJfQoKCQkvLyBHZXRzCgkJaWYgKCBidWxrICkgewoJCQlyZXR1cm4gZm4uY2FsbCggZWxlbXMgKTsKCQl9CgoJCXJldHVybiBsZW4gPyBmbiggZWxlbXNbIDAgXSwga2V5ICkgOiBlbXB0eUdldDsKCX07CgoKLy8gTWF0Y2hlcyBkYXNoZWQgc3RyaW5nIGZvciBjYW1lbGl6aW5nCgl2YXIgcm1zUHJlZml4ID0gL14tbXMtLywKCQlyZGFzaEFscGhhID0gLy0oW2Etel0pL2c7CgovLyBVc2VkIGJ5IGNhbWVsQ2FzZSBhcyBjYWxsYmFjayB0byByZXBsYWNlKCkKCWZ1bmN0aW9uIGZjYW1lbENhc2UoIGFsbCwgbGV0dGVyICkgewoJCXJldHVybiBsZXR0ZXIudG9VcHBlckNhc2UoKTsKCX0KCi8vIENvbnZlcnQgZGFzaGVkIHRvIGNhbWVsQ2FzZTsgdXNlZCBieSB0aGUgY3NzIGFuZCBkYXRhIG1vZHVsZXMKLy8gU3VwcG9ydDogSUUgPD05IC0gMTEsIEVkZ2UgMTIgLSAxNQovLyBNaWNyb3NvZnQgZm9yZ290IHRvIGh1bXAgdGhlaXIgdmVuZG9yIHByZWZpeCAoIzk1NzIpCglmdW5jdGlvbiBjYW1lbENhc2UoIHN0cmluZyApIHsKCQlyZXR1cm4gc3RyaW5nLnJlcGxhY2UoIHJtc1ByZWZpeCwgIm1zLSIgKS5yZXBsYWNlKCByZGFzaEFscGhhLCBmY2FtZWxDYXNlICk7Cgl9Cgl2YXIgYWNjZXB0RGF0YSA9IGZ1bmN0aW9uKCBvd25lciApIHsKCgkJLy8gQWNjZXB0cyBvbmx5OgoJCS8vICAtIE5vZGUKCQkvLyAgICAtIE5vZGUuRUxFTUVOVF9OT0RFCgkJLy8gICAgLSBOb2RlLkRPQ1VNRU5UX05PREUKCQkvLyAgLSBPYmplY3QKCQkvLyAgICAtIEFueQoJCXJldHVybiBvd25lci5ub2RlVHlwZSA9PT0gMSB8fCBvd25lci5ub2RlVHlwZSA9PT0gOSB8fCAhKCArb3duZXIubm9kZVR5cGUgKTsKCX07CgoKCgoJZnVuY3Rpb24gRGF0YSgpIHsKCQl0aGlzLmV4cGFuZG8gPSBqUXVlcnkuZXhwYW5kbyArIERhdGEudWlkKys7Cgl9CgoJRGF0YS51aWQgPSAxOwoKCURhdGEucHJvdG90eXBlID0gewoKCQljYWNoZTogZnVuY3Rpb24oIG93bmVyICkgewoKCQkJLy8gQ2hlY2sgaWYgdGhlIG93bmVyIG9iamVjdCBhbHJlYWR5IGhhcyBhIGNhY2hlCgkJCXZhciB2YWx1ZSA9IG93bmVyWyB0aGlzLmV4cGFuZG8gXTsKCgkJCS8vIElmIG5vdCwgY3JlYXRlIG9uZQoJCQlpZiAoICF2YWx1ZSApIHsKCQkJCXZhbHVlID0ge307CgoJCQkJLy8gV2UgY2FuIGFjY2VwdCBkYXRhIGZvciBub24tZWxlbWVudCBub2RlcyBpbiBtb2Rlcm4gYnJvd3NlcnMsCgkJCQkvLyBidXQgd2Ugc2hvdWxkIG5vdCwgc2VlICM4MzM1LgoJCQkJLy8gQWx3YXlzIHJldHVybiBhbiBlbXB0eSBvYmplY3QuCgkJCQlpZiAoIGFjY2VwdERhdGEoIG93bmVyICkgKSB7CgoJCQkJCS8vIElmIGl0IGlzIGEgbm9kZSB1bmxpa2VseSB0byBiZSBzdHJpbmdpZnktZWQgb3IgbG9vcGVkIG92ZXIKCQkJCQkvLyB1c2UgcGxhaW4gYXNzaWdubWVudAoJCQkJCWlmICggb3duZXIubm9kZVR5cGUgKSB7CgkJCQkJCW93bmVyWyB0aGlzLmV4cGFuZG8gXSA9IHZhbHVlOwoKCQkJCQkJLy8gT3RoZXJ3aXNlIHNlY3VyZSBpdCBpbiBhIG5vbi1lbnVtZXJhYmxlIHByb3BlcnR5CgkJCQkJCS8vIGNvbmZpZ3VyYWJsZSBtdXN0IGJlIHRydWUgdG8gYWxsb3cgdGhlIHByb3BlcnR5IHRvIGJlCgkJCQkJCS8vIGRlbGV0ZWQgd2hlbiBkYXRhIGlzIHJlbW92ZWQKCQkJCQl9IGVsc2UgewoJCQkJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIG93bmVyLCB0aGlzLmV4cGFuZG8sIHsKCQkJCQkJCXZhbHVlOiB2YWx1ZSwKCQkJCQkJCWNvbmZpZ3VyYWJsZTogdHJ1ZQoJCQkJCQl9ICk7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gdmFsdWU7CgkJfSwKCQlzZXQ6IGZ1bmN0aW9uKCBvd25lciwgZGF0YSwgdmFsdWUgKSB7CgkJCXZhciBwcm9wLAoJCQkJY2FjaGUgPSB0aGlzLmNhY2hlKCBvd25lciApOwoKCQkJLy8gSGFuZGxlOiBbIG93bmVyLCBrZXksIHZhbHVlIF0gYXJncwoJCQkvLyBBbHdheXMgdXNlIGNhbWVsQ2FzZSBrZXkgKGdoLTIyNTcpCgkJCWlmICggdHlwZW9mIGRhdGEgPT09ICJzdHJpbmciICkgewoJCQkJY2FjaGVbIGNhbWVsQ2FzZSggZGF0YSApIF0gPSB2YWx1ZTsKCgkJCQkvLyBIYW5kbGU6IFsgb3duZXIsIHsgcHJvcGVydGllcyB9IF0gYXJncwoJCQl9IGVsc2UgewoKCQkJCS8vIENvcHkgdGhlIHByb3BlcnRpZXMgb25lLWJ5LW9uZSB0byB0aGUgY2FjaGUgb2JqZWN0CgkJCQlmb3IgKCBwcm9wIGluIGRhdGEgKSB7CgkJCQkJY2FjaGVbIGNhbWVsQ2FzZSggcHJvcCApIF0gPSBkYXRhWyBwcm9wIF07CgkJCQl9CgkJCX0KCQkJcmV0dXJuIGNhY2hlOwoJCX0sCgkJZ2V0OiBmdW5jdGlvbiggb3duZXIsIGtleSApIHsKCQkJcmV0dXJuIGtleSA9PT0gdW5kZWZpbmVkID8KCQkJCXRoaXMuY2FjaGUoIG93bmVyICkgOgoKCQkJCS8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1NykKCQkJCW93bmVyWyB0aGlzLmV4cGFuZG8gXSAmJiBvd25lclsgdGhpcy5leHBhbmRvIF1bIGNhbWVsQ2FzZSgga2V5ICkgXTsKCQl9LAoJCWFjY2VzczogZnVuY3Rpb24oIG93bmVyLCBrZXksIHZhbHVlICkgewoKCQkJLy8gSW4gY2FzZXMgd2hlcmUgZWl0aGVyOgoJCQkvLwoJCQkvLyAgIDEuIE5vIGtleSB3YXMgc3BlY2lmaWVkCgkJCS8vICAgMi4gQSBzdHJpbmcga2V5IHdhcyBzcGVjaWZpZWQsIGJ1dCBubyB2YWx1ZSBwcm92aWRlZAoJCQkvLwoJCQkvLyBUYWtlIHRoZSAicmVhZCIgcGF0aCBhbmQgYWxsb3cgdGhlIGdldCBtZXRob2QgdG8gZGV0ZXJtaW5lCgkJCS8vIHdoaWNoIHZhbHVlIHRvIHJldHVybiwgcmVzcGVjdGl2ZWx5IGVpdGhlcjoKCQkJLy8KCQkJLy8gICAxLiBUaGUgZW50aXJlIGNhY2hlIG9iamVjdAoJCQkvLyAgIDIuIFRoZSBkYXRhIHN0b3JlZCBhdCB0aGUga2V5CgkJCS8vCgkJCWlmICgga2V5ID09PSB1bmRlZmluZWQgfHwKCQkJCSggKCBrZXkgJiYgdHlwZW9mIGtleSA9PT0gInN0cmluZyIgKSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgKSB7CgoJCQkJcmV0dXJuIHRoaXMuZ2V0KCBvd25lciwga2V5ICk7CgkJCX0KCgkJCS8vIFdoZW4gdGhlIGtleSBpcyBub3QgYSBzdHJpbmcsIG9yIGJvdGggYSBrZXkgYW5kIHZhbHVlCgkJCS8vIGFyZSBzcGVjaWZpZWQsIHNldCBvciBleHRlbmQgKGV4aXN0aW5nIG9iamVjdHMpIHdpdGggZWl0aGVyOgoJCQkvLwoJCQkvLyAgIDEuIEFuIG9iamVjdCBvZiBwcm9wZXJ0aWVzCgkJCS8vICAgMi4gQSBrZXkgYW5kIHZhbHVlCgkJCS8vCgkJCXRoaXMuc2V0KCBvd25lciwga2V5LCB2YWx1ZSApOwoKCQkJLy8gU2luY2UgdGhlICJzZXQiIHBhdGggY2FuIGhhdmUgdHdvIHBvc3NpYmxlIGVudHJ5IHBvaW50cwoJCQkvLyByZXR1cm4gdGhlIGV4cGVjdGVkIGRhdGEgYmFzZWQgb24gd2hpY2ggcGF0aCB3YXMgdGFrZW5bKl0KCQkJcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGtleTsKCQl9LAoJCXJlbW92ZTogZnVuY3Rpb24oIG93bmVyLCBrZXkgKSB7CgkJCXZhciBpLAoJCQkJY2FjaGUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07CgoJCQlpZiAoIGNhY2hlID09PSB1bmRlZmluZWQgKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCWlmICgga2V5ICE9PSB1bmRlZmluZWQgKSB7CgoJCQkJLy8gU3VwcG9ydCBhcnJheSBvciBzcGFjZSBzZXBhcmF0ZWQgc3RyaW5nIG9mIGtleXMKCQkJCWlmICggQXJyYXkuaXNBcnJheSgga2V5ICkgKSB7CgoJCQkJCS8vIElmIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzLi4uCgkJCQkJLy8gV2UgYWx3YXlzIHNldCBjYW1lbENhc2Uga2V5cywgc28gcmVtb3ZlIHRoYXQuCgkJCQkJa2V5ID0ga2V5Lm1hcCggY2FtZWxDYXNlICk7CgkJCQl9IGVsc2UgewoJCQkJCWtleSA9IGNhbWVsQ2FzZSgga2V5ICk7CgoJCQkJCS8vIElmIGEga2V5IHdpdGggdGhlIHNwYWNlcyBleGlzdHMsIHVzZSBpdC4KCQkJCQkvLyBPdGhlcndpc2UsIGNyZWF0ZSBhbiBhcnJheSBieSBtYXRjaGluZyBub24td2hpdGVzcGFjZQoJCQkJCWtleSA9IGtleSBpbiBjYWNoZSA/CgkJCQkJCVsga2V5IF0gOgoJCQkJCQkoIGtleS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdICk7CgkJCQl9CgoJCQkJaSA9IGtleS5sZW5ndGg7CgoJCQkJd2hpbGUgKCBpLS0gKSB7CgkJCQkJZGVsZXRlIGNhY2hlWyBrZXlbIGkgXSBdOwoJCQkJfQoJCQl9CgoJCQkvLyBSZW1vdmUgdGhlIGV4cGFuZG8gaWYgdGhlcmUncyBubyBtb3JlIGRhdGEKCQkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCB8fCBqUXVlcnkuaXNFbXB0eU9iamVjdCggY2FjaGUgKSApIHsKCgkJCQkvLyBTdXBwb3J0OiBDaHJvbWUgPD0zNSAtIDQ1CgkJCQkvLyBXZWJraXQgJiBCbGluayBwZXJmb3JtYW5jZSBzdWZmZXJzIHdoZW4gZGVsZXRpbmcgcHJvcGVydGllcwoJCQkJLy8gZnJvbSBET00gbm9kZXMsIHNvIHNldCB0byB1bmRlZmluZWQgaW5zdGVhZAoJCQkJLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Mzc4NjA3IChidWcgcmVzdHJpY3RlZCkKCQkJCWlmICggb3duZXIubm9kZVR5cGUgKSB7CgkJCQkJb3duZXJbIHRoaXMuZXhwYW5kbyBdID0gdW5kZWZpbmVkOwoJCQkJfSBlbHNlIHsKCQkJCQlkZWxldGUgb3duZXJbIHRoaXMuZXhwYW5kbyBdOwoJCQkJfQoJCQl9CgkJfSwKCQloYXNEYXRhOiBmdW5jdGlvbiggb3duZXIgKSB7CgkJCXZhciBjYWNoZSA9IG93bmVyWyB0aGlzLmV4cGFuZG8gXTsKCQkJcmV0dXJuIGNhY2hlICE9PSB1bmRlZmluZWQgJiYgIWpRdWVyeS5pc0VtcHR5T2JqZWN0KCBjYWNoZSApOwoJCX0KCX07Cgl2YXIgZGF0YVByaXYgPSBuZXcgRGF0YSgpOwoKCXZhciBkYXRhVXNlciA9IG5ldyBEYXRhKCk7CgoKCi8vCUltcGxlbWVudGF0aW9uIFN1bW1hcnkKLy8KLy8JMS4gRW5mb3JjZSBBUEkgc3VyZmFjZSBhbmQgc2VtYW50aWMgY29tcGF0aWJpbGl0eSB3aXRoIDEuOS54IGJyYW5jaAovLwkyLiBJbXByb3ZlIHRoZSBtb2R1bGUncyBtYWludGFpbmFiaWxpdHkgYnkgcmVkdWNpbmcgdGhlIHN0b3JhZ2UKLy8JCXBhdGhzIHRvIGEgc2luZ2xlIG1lY2hhbmlzbS4KLy8JMy4gVXNlIHRoZSBzYW1lIHNpbmdsZSBtZWNoYW5pc20gdG8gc3VwcG9ydCAicHJpdmF0ZSIgYW5kICJ1c2VyIiBkYXRhLgovLwk0LiBfTmV2ZXJfIGV4cG9zZSAicHJpdmF0ZSIgZGF0YSB0byB1c2VyIGNvZGUgKFRPRE86IERyb3AgX2RhdGEsIF9yZW1vdmVEYXRhKQovLwk1LiBBdm9pZCBleHBvc2luZyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9uIHVzZXIgb2JqZWN0cyAoZWcuIGV4cGFuZG8gcHJvcGVydGllcykKLy8JNi4gUHJvdmlkZSBhIGNsZWFyIHBhdGggZm9yIGltcGxlbWVudGF0aW9uIHVwZ3JhZGUgdG8gV2Vha01hcCBpbiAyMDE0CgoJdmFyIHJicmFjZSA9IC9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sCgkJcm11bHRpRGFzaCA9IC9bQS1aXS9nOwoKCWZ1bmN0aW9uIGdldERhdGEoIGRhdGEgKSB7CgkJaWYgKCBkYXRhID09PSAidHJ1ZSIgKSB7CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJaWYgKCBkYXRhID09PSAiZmFsc2UiICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAoIGRhdGEgPT09ICJudWxsIiApIHsKCQkJcmV0dXJuIG51bGw7CgkJfQoKCQkvLyBPbmx5IGNvbnZlcnQgdG8gYSBudW1iZXIgaWYgaXQgZG9lc24ndCBjaGFuZ2UgdGhlIHN0cmluZwoJCWlmICggZGF0YSA9PT0gK2RhdGEgKyAiIiApIHsKCQkJcmV0dXJuICtkYXRhOwoJCX0KCgkJaWYgKCByYnJhY2UudGVzdCggZGF0YSApICkgewoJCQlyZXR1cm4gSlNPTi5wYXJzZSggZGF0YSApOwoJCX0KCgkJcmV0dXJuIGRhdGE7Cgl9CgoJZnVuY3Rpb24gZGF0YUF0dHIoIGVsZW0sIGtleSwgZGF0YSApIHsKCQl2YXIgbmFtZTsKCgkJLy8gSWYgbm90aGluZyB3YXMgZm91bmQgaW50ZXJuYWxseSwgdHJ5IHRvIGZldGNoIGFueQoJCS8vIGRhdGEgZnJvbSB0aGUgSFRNTDUgZGF0YS0qIGF0dHJpYnV0ZQoJCWlmICggZGF0YSA9PT0gdW5kZWZpbmVkICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CgkJCW5hbWUgPSAiZGF0YS0iICsga2V5LnJlcGxhY2UoIHJtdWx0aURhc2gsICItJCYiICkudG9Mb3dlckNhc2UoKTsKCQkJZGF0YSA9IGVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICk7CgoJCQlpZiAoIHR5cGVvZiBkYXRhID09PSAic3RyaW5nIiApIHsKCQkJCXRyeSB7CgkJCQkJZGF0YSA9IGdldERhdGEoIGRhdGEgKTsKCQkJCX0gY2F0Y2ggKCBlICkge30KCgkJCQkvLyBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBkYXRhIHNvIGl0IGlzbid0IGNoYW5nZWQgbGF0ZXIKCQkJCWRhdGFVc2VyLnNldCggZWxlbSwga2V5LCBkYXRhICk7CgkJCX0gZWxzZSB7CgkJCQlkYXRhID0gdW5kZWZpbmVkOwoJCQl9CgkJfQoJCXJldHVybiBkYXRhOwoJfQoKCWpRdWVyeS5leHRlbmQoIHsKCQloYXNEYXRhOiBmdW5jdGlvbiggZWxlbSApIHsKCQkJcmV0dXJuIGRhdGFVc2VyLmhhc0RhdGEoIGVsZW0gKSB8fCBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICk7CgkJfSwKCgkJZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7CgkJCXJldHVybiBkYXRhVXNlci5hY2Nlc3MoIGVsZW0sIG5hbWUsIGRhdGEgKTsKCQl9LAoKCQlyZW1vdmVEYXRhOiBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHsKCQkJZGF0YVVzZXIucmVtb3ZlKCBlbGVtLCBuYW1lICk7CgkJfSwKCgkJLy8gVE9ETzogTm93IHRoYXQgYWxsIGNhbGxzIHRvIF9kYXRhIGFuZCBfcmVtb3ZlRGF0YSBoYXZlIGJlZW4gcmVwbGFjZWQKCQkvLyB3aXRoIGRpcmVjdCBjYWxscyB0byBkYXRhUHJpdiBtZXRob2RzLCB0aGVzZSBjYW4gYmUgZGVwcmVjYXRlZC4KCQlfZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7CgkJCXJldHVybiBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIG5hbWUsIGRhdGEgKTsKCQl9LAoKCQlfcmVtb3ZlRGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUgKSB7CgkJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgbmFtZSApOwoJCX0KCX0gKTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJZGF0YTogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7CgkJCXZhciBpLCBuYW1lLCBkYXRhLAoJCQkJZWxlbSA9IHRoaXNbIDAgXSwKCQkJCWF0dHJzID0gZWxlbSAmJiBlbGVtLmF0dHJpYnV0ZXM7CgoJCQkvLyBHZXRzIGFsbCB2YWx1ZXMKCQkJaWYgKCBrZXkgPT09IHVuZGVmaW5lZCApIHsKCQkJCWlmICggdGhpcy5sZW5ndGggKSB7CgkJCQkJZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSApOwoKCQkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgIWRhdGFQcml2LmdldCggZWxlbSwgImhhc0RhdGFBdHRycyIgKSApIHsKCQkJCQkJaSA9IGF0dHJzLmxlbmd0aDsKCQkJCQkJd2hpbGUgKCBpLS0gKSB7CgoJCQkJCQkJLy8gU3VwcG9ydDogSUUgMTEgb25seQoJCQkJCQkJLy8gVGhlIGF0dHJzIGVsZW1lbnRzIGNhbiBiZSBudWxsICgjMTQ4OTQpCgkJCQkJCQlpZiAoIGF0dHJzWyBpIF0gKSB7CgkJCQkJCQkJbmFtZSA9IGF0dHJzWyBpIF0ubmFtZTsKCQkJCQkJCQlpZiAoIG5hbWUuaW5kZXhPZiggImRhdGEtIiApID09PSAwICkgewoJCQkJCQkJCQluYW1lID0gY2FtZWxDYXNlKCBuYW1lLnNsaWNlKCA1ICkgKTsKCQkJCQkJCQkJZGF0YUF0dHIoIGVsZW0sIG5hbWUsIGRhdGFbIG5hbWUgXSApOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlkYXRhUHJpdi5zZXQoIGVsZW0sICJoYXNEYXRhQXR0cnMiLCB0cnVlICk7CgkJCQkJfQoJCQkJfQoKCQkJCXJldHVybiBkYXRhOwoJCQl9CgoJCQkvLyBTZXRzIG11bHRpcGxlIHZhbHVlcwoJCQlpZiAoIHR5cGVvZiBrZXkgPT09ICJvYmplY3QiICkgewoJCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CgkJCQkJZGF0YVVzZXIuc2V0KCB0aGlzLCBrZXkgKTsKCQkJCX0gKTsKCQkJfQoKCQkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIHZhbHVlICkgewoJCQkJdmFyIGRhdGE7CgoJCQkJLy8gVGhlIGNhbGxpbmcgalF1ZXJ5IG9iamVjdCAoZWxlbWVudCBtYXRjaGVzKSBpcyBub3QgZW1wdHkKCQkJCS8vIChhbmQgdGhlcmVmb3JlIGhhcyBhbiBlbGVtZW50IGFwcGVhcnMgYXQgdGhpc1sgMCBdKSBhbmQgdGhlCgkJCQkvLyBgdmFsdWVgIHBhcmFtZXRlciB3YXMgbm90IHVuZGVmaW5lZC4gQW4gZW1wdHkgalF1ZXJ5IG9iamVjdAoJCQkJLy8gd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgZm9yIGVsZW0gPSB0aGlzWyAwIF0gd2hpY2ggd2lsbAoJCQkJLy8gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFuIGF0dGVtcHQgdG8gcmVhZCBhIGRhdGEgY2FjaGUgaXMgbWFkZS4KCQkJCWlmICggZWxlbSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgewoKCQkJCQkvLyBBdHRlbXB0IHRvIGdldCBkYXRhIGZyb20gdGhlIGNhY2hlCgkJCQkJLy8gVGhlIGtleSB3aWxsIGFsd2F5cyBiZSBjYW1lbENhc2VkIGluIERhdGEKCQkJCQlkYXRhID0gZGF0YVVzZXIuZ2V0KCBlbGVtLCBrZXkgKTsKCQkJCQlpZiAoIGRhdGEgIT09IHVuZGVmaW5lZCApIHsKCQkJCQkJcmV0dXJuIGRhdGE7CgkJCQkJfQoKCQkJCQkvLyBBdHRlbXB0IHRvICJkaXNjb3ZlciIgdGhlIGRhdGEgaW4KCQkJCQkvLyBIVE1MNSBjdXN0b20gZGF0YS0qIGF0dHJzCgkJCQkJZGF0YSA9IGRhdGFBdHRyKCBlbGVtLCBrZXkgKTsKCQkJCQlpZiAoIGRhdGEgIT09IHVuZGVmaW5lZCApIHsKCQkJCQkJcmV0dXJuIGRhdGE7CgkJCQkJfQoKCQkJCQkvLyBXZSB0cmllZCByZWFsbHkgaGFyZCwgYnV0IHRoZSBkYXRhIGRvZXNuJ3QgZXhpc3QuCgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCS8vIFNldCB0aGUgZGF0YS4uLgoJCQkJdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCgkJCQkJLy8gV2UgYWx3YXlzIHN0b3JlIHRoZSBjYW1lbENhc2VkIGtleQoJCQkJCWRhdGFVc2VyLnNldCggdGhpcywga2V5LCB2YWx1ZSApOwoJCQkJfSApOwoJCQl9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA+IDEsIG51bGwsIHRydWUgKTsKCQl9LAoKCQlyZW1vdmVEYXRhOiBmdW5jdGlvbigga2V5ICkgewoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCQkJCWRhdGFVc2VyLnJlbW92ZSggdGhpcywga2V5ICk7CgkJCX0gKTsKCQl9Cgl9ICk7CgoKCWpRdWVyeS5leHRlbmQoIHsKCQlxdWV1ZTogZnVuY3Rpb24oIGVsZW0sIHR5cGUsIGRhdGEgKSB7CgkJCXZhciBxdWV1ZTsKCgkJCWlmICggZWxlbSApIHsKCQkJCXR5cGUgPSAoIHR5cGUgfHwgImZ4IiApICsgInF1ZXVlIjsKCQkJCXF1ZXVlID0gZGF0YVByaXYuZ2V0KCBlbGVtLCB0eXBlICk7CgoJCQkJLy8gU3BlZWQgdXAgZGVxdWV1ZSBieSBnZXR0aW5nIG91dCBxdWlja2x5IGlmIHRoaXMgaXMganVzdCBhIGxvb2t1cAoJCQkJaWYgKCBkYXRhICkgewoJCQkJCWlmICggIXF1ZXVlIHx8IEFycmF5LmlzQXJyYXkoIGRhdGEgKSApIHsKCQkJCQkJcXVldWUgPSBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIHR5cGUsIGpRdWVyeS5tYWtlQXJyYXkoIGRhdGEgKSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXF1ZXVlLnB1c2goIGRhdGEgKTsKCQkJCQl9CgkJCQl9CgkJCQlyZXR1cm4gcXVldWUgfHwgW107CgkJCX0KCQl9LAoKCQlkZXF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSApIHsKCQkJdHlwZSA9IHR5cGUgfHwgImZ4IjsKCgkJCXZhciBxdWV1ZSA9IGpRdWVyeS5xdWV1ZSggZWxlbSwgdHlwZSApLAoJCQkJc3RhcnRMZW5ndGggPSBxdWV1ZS5sZW5ndGgsCgkJCQlmbiA9IHF1ZXVlLnNoaWZ0KCksCgkJCQlob29rcyA9IGpRdWVyeS5fcXVldWVIb29rcyggZWxlbSwgdHlwZSApLAoJCQkJbmV4dCA9IGZ1bmN0aW9uKCkgewoJCQkJCWpRdWVyeS5kZXF1ZXVlKCBlbGVtLCB0eXBlICk7CgkJCQl9OwoKCQkJLy8gSWYgdGhlIGZ4IHF1ZXVlIGlzIGRlcXVldWVkLCBhbHdheXMgcmVtb3ZlIHRoZSBwcm9ncmVzcyBzZW50aW5lbAoJCQlpZiAoIGZuID09PSAiaW5wcm9ncmVzcyIgKSB7CgkJCQlmbiA9IHF1ZXVlLnNoaWZ0KCk7CgkJCQlzdGFydExlbmd0aC0tOwoJCQl9CgoJCQlpZiAoIGZuICkgewoKCQkJCS8vIEFkZCBhIHByb2dyZXNzIHNlbnRpbmVsIHRvIHByZXZlbnQgdGhlIGZ4IHF1ZXVlIGZyb20gYmVpbmcKCQkJCS8vIGF1dG9tYXRpY2FsbHkgZGVxdWV1ZWQKCQkJCWlmICggdHlwZSA9PT0gImZ4IiApIHsKCQkJCQlxdWV1ZS51bnNoaWZ0KCAiaW5wcm9ncmVzcyIgKTsKCQkJCX0KCgkJCQkvLyBDbGVhciB1cCB0aGUgbGFzdCBxdWV1ZSBzdG9wIGZ1bmN0aW9uCgkJCQlkZWxldGUgaG9va3Muc3RvcDsKCQkJCWZuLmNhbGwoIGVsZW0sIG5leHQsIGhvb2tzICk7CgkJCX0KCgkJCWlmICggIXN0YXJ0TGVuZ3RoICYmIGhvb2tzICkgewoJCQkJaG9va3MuZW1wdHkuZmlyZSgpOwoJCQl9CgkJfSwKCgkJLy8gTm90IHB1YmxpYyAtIGdlbmVyYXRlIGEgcXVldWVIb29rcyBvYmplY3QsIG9yIHJldHVybiB0aGUgY3VycmVudCBvbmUKCQlfcXVldWVIb29rczogZnVuY3Rpb24oIGVsZW0sIHR5cGUgKSB7CgkJCXZhciBrZXkgPSB0eXBlICsgInF1ZXVlSG9va3MiOwoJCQlyZXR1cm4gZGF0YVByaXYuZ2V0KCBlbGVtLCBrZXkgKSB8fCBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIGtleSwgewoJCQkJZW1wdHk6IGpRdWVyeS5DYWxsYmFja3MoICJvbmNlIG1lbW9yeSIgKS5hZGQoIGZ1bmN0aW9uKCkgewoJCQkJCWRhdGFQcml2LnJlbW92ZSggZWxlbSwgWyB0eXBlICsgInF1ZXVlIiwga2V5IF0gKTsKCQkJCX0gKQoJCQl9ICk7CgkJfQoJfSApOwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCQlxdWV1ZTogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7CgkJCXZhciBzZXR0ZXIgPSAyOwoKCQkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7CgkJCQlkYXRhID0gdHlwZTsKCQkJCXR5cGUgPSAiZngiOwoJCQkJc2V0dGVyLS07CgkJCX0KCgkJCWlmICggYXJndW1lbnRzLmxlbmd0aCA8IHNldHRlciApIHsKCQkJCXJldHVybiBqUXVlcnkucXVldWUoIHRoaXNbIDAgXSwgdHlwZSApOwoJCQl9CgoJCQlyZXR1cm4gZGF0YSA9PT0gdW5kZWZpbmVkID8KCQkJCXRoaXMgOgoJCQkJdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCQkJCQl2YXIgcXVldWUgPSBqUXVlcnkucXVldWUoIHRoaXMsIHR5cGUsIGRhdGEgKTsKCgkJCQkJLy8gRW5zdXJlIGEgaG9va3MgZm9yIHRoaXMgcXVldWUKCQkJCQlqUXVlcnkuX3F1ZXVlSG9va3MoIHRoaXMsIHR5cGUgKTsKCgkJCQkJaWYgKCB0eXBlID09PSAiZngiICYmIHF1ZXVlWyAwIF0gIT09ICJpbnByb2dyZXNzIiApIHsKCQkJCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsKCQkJCQl9CgkJCQl9ICk7CgkJfSwKCQlkZXF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsKCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CgkJCQlqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApOwoJCQl9ICk7CgkJfSwKCQljbGVhclF1ZXVlOiBmdW5jdGlvbiggdHlwZSApIHsKCQkJcmV0dXJuIHRoaXMucXVldWUoIHR5cGUgfHwgImZ4IiwgW10gKTsKCQl9LAoKCQkvLyBHZXQgYSBwcm9taXNlIHJlc29sdmVkIHdoZW4gcXVldWVzIG9mIGEgY2VydGFpbiB0eXBlCgkJLy8gYXJlIGVtcHRpZWQgKGZ4IGlzIHRoZSB0eXBlIGJ5IGRlZmF1bHQpCgkJcHJvbWlzZTogZnVuY3Rpb24oIHR5cGUsIG9iaiApIHsKCQkJdmFyIHRtcCwKCQkJCWNvdW50ID0gMSwKCQkJCWRlZmVyID0galF1ZXJ5LkRlZmVycmVkKCksCgkJCQllbGVtZW50cyA9IHRoaXMsCgkJCQlpID0gdGhpcy5sZW5ndGgsCgkJCQlyZXNvbHZlID0gZnVuY3Rpb24oKSB7CgkJCQkJaWYgKCAhKCAtLWNvdW50ICkgKSB7CgkJCQkJCWRlZmVyLnJlc29sdmVXaXRoKCBlbGVtZW50cywgWyBlbGVtZW50cyBdICk7CgkJCQkJfQoJCQkJfTsKCgkJCWlmICggdHlwZW9mIHR5cGUgIT09ICJzdHJpbmciICkgewoJCQkJb2JqID0gdHlwZTsKCQkJCXR5cGUgPSB1bmRlZmluZWQ7CgkJCX0KCQkJdHlwZSA9IHR5cGUgfHwgImZ4IjsKCgkJCXdoaWxlICggaS0tICkgewoJCQkJdG1wID0gZGF0YVByaXYuZ2V0KCBlbGVtZW50c1sgaSBdLCB0eXBlICsgInF1ZXVlSG9va3MiICk7CgkJCQlpZiAoIHRtcCAmJiB0bXAuZW1wdHkgKSB7CgkJCQkJY291bnQrKzsKCQkJCQl0bXAuZW1wdHkuYWRkKCByZXNvbHZlICk7CgkJCQl9CgkJCX0KCQkJcmVzb2x2ZSgpOwoJCQlyZXR1cm4gZGVmZXIucHJvbWlzZSggb2JqICk7CgkJfQoJfSApOwoJdmFyIHBudW0gPSAoIC9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8gKS5zb3VyY2U7CgoJdmFyIHJjc3NOdW0gPSBuZXcgUmVnRXhwKCAiXig/OihbKy1dKT18KSgiICsgcG51bSArICIpKFthLXolXSopJCIsICJpIiApOwoKCgl2YXIgY3NzRXhwYW5kID0gWyAiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0IiBdOwoKCXZhciBpc0hpZGRlbldpdGhpblRyZWUgPSBmdW5jdGlvbiggZWxlbSwgZWwgKSB7CgoJCS8vIGlzSGlkZGVuV2l0aGluVHJlZSBtaWdodCBiZSBjYWxsZWQgZnJvbSBqUXVlcnkjZmlsdGVyIGZ1bmN0aW9uOwoJCS8vIGluIHRoYXQgY2FzZSwgZWxlbWVudCB3aWxsIGJlIHNlY29uZCBhcmd1bWVudAoJCWVsZW0gPSBlbCB8fCBlbGVtOwoKCQkvLyBJbmxpbmUgc3R5bGUgdHJ1bXBzIGFsbAoJCXJldHVybiBlbGVtLnN0eWxlLmRpc3BsYXkgPT09ICJub25lIiB8fAoJCQllbGVtLnN0eWxlLmRpc3BsYXkgPT09ICIiICYmCgoJCQkvLyBPdGhlcndpc2UsIGNoZWNrIGNvbXB1dGVkIHN0eWxlCgkJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggPD00MyAtIDQ1CgkJCS8vIERpc2Nvbm5lY3RlZCBlbGVtZW50cyBjYW4gaGF2ZSBjb21wdXRlZCBkaXNwbGF5OiBub25lLCBzbyBmaXJzdCBjb25maXJtIHRoYXQgZWxlbSBpcwoJCQkvLyBpbiB0aGUgZG9jdW1lbnQuCgkJCWpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICkgJiYKCgkJCWpRdWVyeS5jc3MoIGVsZW0sICJkaXNwbGF5IiApID09PSAibm9uZSI7Cgl9OwoKCXZhciBzd2FwID0gZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIGNhbGxiYWNrLCBhcmdzICkgewoJCXZhciByZXQsIG5hbWUsCgkJCW9sZCA9IHt9OwoKCQkvLyBSZW1lbWJlciB0aGUgb2xkIHZhbHVlcywgYW5kIGluc2VydCB0aGUgbmV3IG9uZXMKCQlmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7CgkJCW9sZFsgbmFtZSBdID0gZWxlbS5zdHlsZVsgbmFtZSBdOwoJCQllbGVtLnN0eWxlWyBuYW1lIF0gPSBvcHRpb25zWyBuYW1lIF07CgkJfQoKCQlyZXQgPSBjYWxsYmFjay5hcHBseSggZWxlbSwgYXJncyB8fCBbXSApOwoKCQkvLyBSZXZlcnQgdGhlIG9sZCB2YWx1ZXMKCQlmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7CgkJCWVsZW0uc3R5bGVbIG5hbWUgXSA9IG9sZFsgbmFtZSBdOwoJCX0KCgkJcmV0dXJuIHJldDsKCX07CgoKCgoJZnVuY3Rpb24gYWRqdXN0Q1NTKCBlbGVtLCBwcm9wLCB2YWx1ZVBhcnRzLCB0d2VlbiApIHsKCQl2YXIgYWRqdXN0ZWQsIHNjYWxlLAoJCQltYXhJdGVyYXRpb25zID0gMjAsCgkJCWN1cnJlbnRWYWx1ZSA9IHR3ZWVuID8KCQkJCWZ1bmN0aW9uKCkgewoJCQkJCXJldHVybiB0d2Vlbi5jdXIoKTsKCQkJCX0gOgoJCQkJZnVuY3Rpb24oKSB7CgkJCQkJcmV0dXJuIGpRdWVyeS5jc3MoIGVsZW0sIHByb3AsICIiICk7CgkJCQl9LAoJCQlpbml0aWFsID0gY3VycmVudFZhbHVlKCksCgkJCXVuaXQgPSB2YWx1ZVBhcnRzICYmIHZhbHVlUGFydHNbIDMgXSB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSA/ICIiIDogInB4IiApLAoKCQkJLy8gU3RhcnRpbmcgdmFsdWUgY29tcHV0YXRpb24gaXMgcmVxdWlyZWQgZm9yIHBvdGVudGlhbCB1bml0IG1pc21hdGNoZXMKCQkJaW5pdGlhbEluVW5pdCA9ICggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdIHx8IHVuaXQgIT09ICJweCIgJiYgK2luaXRpYWwgKSAmJgoJCQkJcmNzc051bS5leGVjKCBqUXVlcnkuY3NzKCBlbGVtLCBwcm9wICkgKTsKCgkJaWYgKCBpbml0aWFsSW5Vbml0ICYmIGluaXRpYWxJblVuaXRbIDMgXSAhPT0gdW5pdCApIHsKCgkJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggPD01NAoJCQkvLyBIYWx2ZSB0aGUgaXRlcmF0aW9uIHRhcmdldCB2YWx1ZSB0byBwcmV2ZW50IGludGVyZmVyZW5jZSBmcm9tIENTUyB1cHBlciBib3VuZHMgKGdoLTIxNDQpCgkJCWluaXRpYWwgPSBpbml0aWFsIC8gMjsKCgkJCS8vIFRydXN0IHVuaXRzIHJlcG9ydGVkIGJ5IGpRdWVyeS5jc3MKCQkJdW5pdCA9IHVuaXQgfHwgaW5pdGlhbEluVW5pdFsgMyBdOwoKCQkJLy8gSXRlcmF0aXZlbHkgYXBwcm94aW1hdGUgZnJvbSBhIG5vbnplcm8gc3RhcnRpbmcgcG9pbnQKCQkJaW5pdGlhbEluVW5pdCA9ICtpbml0aWFsIHx8IDE7CgoJCQl3aGlsZSAoIG1heEl0ZXJhdGlvbnMtLSApIHsKCgkJCQkvLyBFdmFsdWF0ZSBhbmQgdXBkYXRlIG91ciBiZXN0IGd1ZXNzIChkb3VibGluZyBndWVzc2VzIHRoYXQgemVybyBvdXQpLgoJCQkJLy8gRmluaXNoIGlmIHRoZSBzY2FsZSBlcXVhbHMgb3IgY3Jvc3NlcyAxIChtYWtpbmcgdGhlIG9sZCpuZXcgcHJvZHVjdCBub24tcG9zaXRpdmUpLgoJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wLCBpbml0aWFsSW5Vbml0ICsgdW5pdCApOwoJCQkJaWYgKCAoIDEgLSBzY2FsZSApICogKCAxIC0gKCBzY2FsZSA9IGN1cnJlbnRWYWx1ZSgpIC8gaW5pdGlhbCB8fCAwLjUgKSApIDw9IDAgKSB7CgkJCQkJbWF4SXRlcmF0aW9ucyA9IDA7CgkJCQl9CgkJCQlpbml0aWFsSW5Vbml0ID0gaW5pdGlhbEluVW5pdCAvIHNjYWxlOwoKCQkJfQoKCQkJaW5pdGlhbEluVW5pdCA9IGluaXRpYWxJblVuaXQgKiAyOwoJCQlqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AsIGluaXRpYWxJblVuaXQgKyB1bml0ICk7CgoJCQkvLyBNYWtlIHN1cmUgd2UgdXBkYXRlIHRoZSB0d2VlbiBwcm9wZXJ0aWVzIGxhdGVyIG9uCgkJCXZhbHVlUGFydHMgPSB2YWx1ZVBhcnRzIHx8IFtdOwoJCX0KCgkJaWYgKCB2YWx1ZVBhcnRzICkgewoJCQlpbml0aWFsSW5Vbml0ID0gK2luaXRpYWxJblVuaXQgfHwgK2luaXRpYWwgfHwgMDsKCgkJCS8vIEFwcGx5IHJlbGF0aXZlIG9mZnNldCAoKz0vLT0pIGlmIHNwZWNpZmllZAoJCQlhZGp1c3RlZCA9IHZhbHVlUGFydHNbIDEgXSA/CgkJCQlpbml0aWFsSW5Vbml0ICsgKCB2YWx1ZVBhcnRzWyAxIF0gKyAxICkgKiB2YWx1ZVBhcnRzWyAyIF0gOgoJCQkJK3ZhbHVlUGFydHNbIDIgXTsKCQkJaWYgKCB0d2VlbiApIHsKCQkJCXR3ZWVuLnVuaXQgPSB1bml0OwoJCQkJdHdlZW4uc3RhcnQgPSBpbml0aWFsSW5Vbml0OwoJCQkJdHdlZW4uZW5kID0gYWRqdXN0ZWQ7CgkJCX0KCQl9CgkJcmV0dXJuIGFkanVzdGVkOwoJfQoKCgl2YXIgZGVmYXVsdERpc3BsYXlNYXAgPSB7fTsKCglmdW5jdGlvbiBnZXREZWZhdWx0RGlzcGxheSggZWxlbSApIHsKCQl2YXIgdGVtcCwKCQkJZG9jID0gZWxlbS5vd25lckRvY3VtZW50LAoJCQlub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUsCgkJCWRpc3BsYXkgPSBkZWZhdWx0RGlzcGxheU1hcFsgbm9kZU5hbWUgXTsKCgkJaWYgKCBkaXNwbGF5ICkgewoJCQlyZXR1cm4gZGlzcGxheTsKCQl9CgoJCXRlbXAgPSBkb2MuYm9keS5hcHBlbmRDaGlsZCggZG9jLmNyZWF0ZUVsZW1lbnQoIG5vZGVOYW1lICkgKTsKCQlkaXNwbGF5ID0galF1ZXJ5LmNzcyggdGVtcCwgImRpc3BsYXkiICk7CgoJCXRlbXAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggdGVtcCApOwoKCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsKCQkJZGlzcGxheSA9ICJibG9jayI7CgkJfQoJCWRlZmF1bHREaXNwbGF5TWFwWyBub2RlTmFtZSBdID0gZGlzcGxheTsKCgkJcmV0dXJuIGRpc3BsYXk7Cgl9CgoJZnVuY3Rpb24gc2hvd0hpZGUoIGVsZW1lbnRzLCBzaG93ICkgewoJCXZhciBkaXNwbGF5LCBlbGVtLAoJCQl2YWx1ZXMgPSBbXSwKCQkJaW5kZXggPSAwLAoJCQlsZW5ndGggPSBlbGVtZW50cy5sZW5ndGg7CgoJCS8vIERldGVybWluZSBuZXcgZGlzcGxheSB2YWx1ZSBmb3IgZWxlbWVudHMgdGhhdCBuZWVkIHRvIGNoYW5nZQoJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CgkJCWVsZW0gPSBlbGVtZW50c1sgaW5kZXggXTsKCQkJaWYgKCAhZWxlbS5zdHlsZSApIHsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQlkaXNwbGF5ID0gZWxlbS5zdHlsZS5kaXNwbGF5OwoJCQlpZiAoIHNob3cgKSB7CgoJCQkJLy8gU2luY2Ugd2UgZm9yY2UgdmlzaWJpbGl0eSB1cG9uIGNhc2NhZGUtaGlkZGVuIGVsZW1lbnRzLCBhbiBpbW1lZGlhdGUgKGFuZCBzbG93KQoJCQkJLy8gY2hlY2sgaXMgcmVxdWlyZWQgaW4gdGhpcyBmaXJzdCBsb29wIHVubGVzcyB3ZSBoYXZlIGEgbm9uZW1wdHkgZGlzcGxheSB2YWx1ZSAoZWl0aGVyCgkJCQkvLyBpbmxpbmUgb3IgYWJvdXQtdG8tYmUtcmVzdG9yZWQpCgkJCQlpZiAoIGRpc3BsYXkgPT09ICJub25lIiApIHsKCQkJCQl2YWx1ZXNbIGluZGV4IF0gPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJkaXNwbGF5IiApIHx8IG51bGw7CgkJCQkJaWYgKCAhdmFsdWVzWyBpbmRleCBdICkgewoJCQkJCQllbGVtLnN0eWxlLmRpc3BsYXkgPSAiIjsKCQkJCQl9CgkJCQl9CgkJCQlpZiAoIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gIiIgJiYgaXNIaWRkZW5XaXRoaW5UcmVlKCBlbGVtICkgKSB7CgkJCQkJdmFsdWVzWyBpbmRleCBdID0gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmICggZGlzcGxheSAhPT0gIm5vbmUiICkgewoJCQkJCXZhbHVlc1sgaW5kZXggXSA9ICJub25lIjsKCgkJCQkJLy8gUmVtZW1iZXIgd2hhdCB3ZSdyZSBvdmVyd3JpdGluZwoJCQkJCWRhdGFQcml2LnNldCggZWxlbSwgImRpc3BsYXkiLCBkaXNwbGF5ICk7CgkJCQl9CgkJCX0KCQl9CgoJCS8vIFNldCB0aGUgZGlzcGxheSBvZiB0aGUgZWxlbWVudHMgaW4gYSBzZWNvbmQgbG9vcCB0byBhdm9pZCBjb25zdGFudCByZWZsb3cKCQlmb3IgKCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgewoJCQlpZiAoIHZhbHVlc1sgaW5kZXggXSAhPSBudWxsICkgewoJCQkJZWxlbWVudHNbIGluZGV4IF0uc3R5bGUuZGlzcGxheSA9IHZhbHVlc1sgaW5kZXggXTsKCQkJfQoJCX0KCgkJcmV0dXJuIGVsZW1lbnRzOwoJfQoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCQlzaG93OiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHNob3dIaWRlKCB0aGlzLCB0cnVlICk7CgkJfSwKCQloaWRlOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHNob3dIaWRlKCB0aGlzICk7CgkJfSwKCQl0b2dnbGU6IGZ1bmN0aW9uKCBzdGF0ZSApIHsKCQkJaWYgKCB0eXBlb2Ygc3RhdGUgPT09ICJib29sZWFuIiApIHsKCQkJCXJldHVybiBzdGF0ZSA/IHRoaXMuc2hvdygpIDogdGhpcy5oaWRlKCk7CgkJCX0KCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJaWYgKCBpc0hpZGRlbldpdGhpblRyZWUoIHRoaXMgKSApIHsKCQkJCQlqUXVlcnkoIHRoaXMgKS5zaG93KCk7CgkJCQl9IGVsc2UgewoJCQkJCWpRdWVyeSggdGhpcyApLmhpZGUoKTsKCQkJCX0KCQkJfSApOwoJCX0KCX0gKTsKCXZhciByY2hlY2thYmxlVHlwZSA9ICggL14oPzpjaGVja2JveHxyYWRpbykkL2kgKTsKCgl2YXIgcnRhZ05hbWUgPSAoIC88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0rKS9pICk7CgoJdmFyIHJzY3JpcHRUeXBlID0gKCAvXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2kgKTsKCgoKLy8gV2UgaGF2ZSB0byBjbG9zZSB0aGVzZSB0YWdzIHRvIHN1cHBvcnQgWEhUTUwgKCMxMzIwMCkKCXZhciB3cmFwTWFwID0gewoKCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQoJCW9wdGlvbjogWyAxLCAiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsICI8L3NlbGVjdD4iIF0sCgoJCS8vIFhIVE1MIHBhcnNlcnMgZG8gbm90IG1hZ2ljYWxseSBpbnNlcnQgZWxlbWVudHMgaW4gdGhlCgkJLy8gc2FtZSB3YXkgdGhhdCB0YWcgc291cCBwYXJzZXJzIGRvLiBTbyB3ZSBjYW5ub3Qgc2hvcnRlbgoJCS8vIHRoaXMgYnkgb21pdHRpbmcgPHRib2R5PiBvciBvdGhlciByZXF1aXJlZCBlbGVtZW50cy4KCQl0aGVhZDogWyAxLCAiPHRhYmxlPiIsICI8L3RhYmxlPiIgXSwKCQljb2w6IFsgMiwgIjx0YWJsZT48Y29sZ3JvdXA+IiwgIjwvY29sZ3JvdXA+PC90YWJsZT4iIF0sCgkJdHI6IFsgMiwgIjx0YWJsZT48dGJvZHk+IiwgIjwvdGJvZHk+PC90YWJsZT4iIF0sCgkJdGQ6IFsgMywgIjx0YWJsZT48dGJvZHk+PHRyPiIsICI8L3RyPjwvdGJvZHk+PC90YWJsZT4iIF0sCgoJCV9kZWZhdWx0OiBbIDAsICIiLCAiIiBdCgl9OwoKLy8gU3VwcG9ydDogSUUgPD05IG9ubHkKCXdyYXBNYXAub3B0Z3JvdXAgPSB3cmFwTWFwLm9wdGlvbjsKCgl3cmFwTWFwLnRib2R5ID0gd3JhcE1hcC50Zm9vdCA9IHdyYXBNYXAuY29sZ3JvdXAgPSB3cmFwTWFwLmNhcHRpb24gPSB3cmFwTWFwLnRoZWFkOwoJd3JhcE1hcC50aCA9IHdyYXBNYXAudGQ7CgoKCWZ1bmN0aW9uIGdldEFsbCggY29udGV4dCwgdGFnICkgewoKCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5CgkJLy8gVXNlIHR5cGVvZiB0byBhdm9pZCB6ZXJvLWFyZ3VtZW50IG1ldGhvZCBpbnZvY2F0aW9uIG9uIGhvc3Qgb2JqZWN0cyAoIzE1MTUxKQoJCXZhciByZXQ7CgoJCWlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT09ICJ1bmRlZmluZWQiICkgewoJCQlyZXQgPSBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCB0YWcgfHwgIioiICk7CgoJCX0gZWxzZSBpZiAoIHR5cGVvZiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwgIT09ICJ1bmRlZmluZWQiICkgewoJCQlyZXQgPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIHRhZyB8fCAiKiIgKTsKCgkJfSBlbHNlIHsKCQkJcmV0ID0gW107CgkJfQoKCQlpZiAoIHRhZyA9PT0gdW5kZWZpbmVkIHx8IHRhZyAmJiBub2RlTmFtZSggY29udGV4dCwgdGFnICkgKSB7CgkJCXJldHVybiBqUXVlcnkubWVyZ2UoIFsgY29udGV4dCBdLCByZXQgKTsKCQl9CgoJCXJldHVybiByZXQ7Cgl9CgoKLy8gTWFyayBzY3JpcHRzIGFzIGhhdmluZyBhbHJlYWR5IGJlZW4gZXZhbHVhdGVkCglmdW5jdGlvbiBzZXRHbG9iYWxFdmFsKCBlbGVtcywgcmVmRWxlbWVudHMgKSB7CgkJdmFyIGkgPSAwLAoJCQlsID0gZWxlbXMubGVuZ3RoOwoKCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CgkJCWRhdGFQcml2LnNldCgKCQkJCWVsZW1zWyBpIF0sCgkJCQkiZ2xvYmFsRXZhbCIsCgkJCQkhcmVmRWxlbWVudHMgfHwgZGF0YVByaXYuZ2V0KCByZWZFbGVtZW50c1sgaSBdLCAiZ2xvYmFsRXZhbCIgKQoJCQkpOwoJCX0KCX0KCgoJdmFyIHJodG1sID0gLzx8JiM/XHcrOy87CgoJZnVuY3Rpb24gYnVpbGRGcmFnbWVudCggZWxlbXMsIGNvbnRleHQsIHNjcmlwdHMsIHNlbGVjdGlvbiwgaWdub3JlZCApIHsKCQl2YXIgZWxlbSwgdG1wLCB0YWcsIHdyYXAsIGNvbnRhaW5zLCBqLAoJCQlmcmFnbWVudCA9IGNvbnRleHQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLAoJCQlub2RlcyA9IFtdLAoJCQlpID0gMCwKCQkJbCA9IGVsZW1zLmxlbmd0aDsKCgkJZm9yICggOyBpIDwgbDsgaSsrICkgewoJCQllbGVtID0gZWxlbXNbIGkgXTsKCgkJCWlmICggZWxlbSB8fCBlbGVtID09PSAwICkgewoKCQkJCS8vIEFkZCBub2RlcyBkaXJlY3RseQoJCQkJaWYgKCB0b1R5cGUoIGVsZW0gKSA9PT0gIm9iamVjdCIgKSB7CgoJCQkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seQoJCQkJCS8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQKCQkJCQlqUXVlcnkubWVyZ2UoIG5vZGVzLCBlbGVtLm5vZGVUeXBlID8gWyBlbGVtIF0gOiBlbGVtICk7CgoJCQkJCS8vIENvbnZlcnQgbm9uLWh0bWwgaW50byBhIHRleHQgbm9kZQoJCQkJfSBlbHNlIGlmICggIXJodG1sLnRlc3QoIGVsZW0gKSApIHsKCQkJCQlub2Rlcy5wdXNoKCBjb250ZXh0LmNyZWF0ZVRleHROb2RlKCBlbGVtICkgKTsKCgkJCQkJLy8gQ29udmVydCBodG1sIGludG8gRE9NIG5vZGVzCgkJCQl9IGVsc2UgewoJCQkJCXRtcCA9IHRtcCB8fCBmcmFnbWVudC5hcHBlbmRDaGlsZCggY29udGV4dC5jcmVhdGVFbGVtZW50KCAiZGl2IiApICk7CgoJCQkJCS8vIERlc2VyaWFsaXplIGEgc3RhbmRhcmQgcmVwcmVzZW50YXRpb24KCQkJCQl0YWcgPSAoIHJ0YWdOYW1lLmV4ZWMoIGVsZW0gKSB8fCBbICIiLCAiIiBdIClbIDEgXS50b0xvd2VyQ2FzZSgpOwoJCQkJCXdyYXAgPSB3cmFwTWFwWyB0YWcgXSB8fCB3cmFwTWFwLl9kZWZhdWx0OwoJCQkJCXRtcC5pbm5lckhUTUwgPSB3cmFwWyAxIF0gKyBqUXVlcnkuaHRtbFByZWZpbHRlciggZWxlbSApICsgd3JhcFsgMiBdOwoKCQkJCQkvLyBEZXNjZW5kIHRocm91Z2ggd3JhcHBlcnMgdG8gdGhlIHJpZ2h0IGNvbnRlbnQKCQkJCQlqID0gd3JhcFsgMCBdOwoJCQkJCXdoaWxlICggai0tICkgewoJCQkJCQl0bXAgPSB0bXAubGFzdENoaWxkOwoJCQkJCX0KCgkJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5CgkJCQkJLy8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdAoJCQkJCWpRdWVyeS5tZXJnZSggbm9kZXMsIHRtcC5jaGlsZE5vZGVzICk7CgoJCQkJCS8vIFJlbWVtYmVyIHRoZSB0b3AtbGV2ZWwgY29udGFpbmVyCgkJCQkJdG1wID0gZnJhZ21lbnQuZmlyc3RDaGlsZDsKCgkJCQkJLy8gRW5zdXJlIHRoZSBjcmVhdGVkIG5vZGVzIGFyZSBvcnBoYW5lZCAoIzEyMzkyKQoJCQkJCXRtcC50ZXh0Q29udGVudCA9ICIiOwoJCQkJfQoJCQl9CgkJfQoKCQkvLyBSZW1vdmUgd3JhcHBlciBmcm9tIGZyYWdtZW50CgkJZnJhZ21lbnQudGV4dENvbnRlbnQgPSAiIjsKCgkJaSA9IDA7CgkJd2hpbGUgKCAoIGVsZW0gPSBub2Rlc1sgaSsrIF0gKSApIHsKCgkJCS8vIFNraXAgZWxlbWVudHMgYWxyZWFkeSBpbiB0aGUgY29udGV4dCBjb2xsZWN0aW9uICh0cmFjLTQwODcpCgkJCWlmICggc2VsZWN0aW9uICYmIGpRdWVyeS5pbkFycmF5KCBlbGVtLCBzZWxlY3Rpb24gKSA+IC0xICkgewoJCQkJaWYgKCBpZ25vcmVkICkgewoJCQkJCWlnbm9yZWQucHVzaCggZWxlbSApOwoJCQkJfQoJCQkJY29udGludWU7CgkJCX0KCgkJCWNvbnRhaW5zID0galF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKTsKCgkJCS8vIEFwcGVuZCB0byBmcmFnbWVudAoJCQl0bXAgPSBnZXRBbGwoIGZyYWdtZW50LmFwcGVuZENoaWxkKCBlbGVtICksICJzY3JpcHQiICk7CgoJCQkvLyBQcmVzZXJ2ZSBzY3JpcHQgZXZhbHVhdGlvbiBoaXN0b3J5CgkJCWlmICggY29udGFpbnMgKSB7CgkJCQlzZXRHbG9iYWxFdmFsKCB0bXAgKTsKCQkJfQoKCQkJLy8gQ2FwdHVyZSBleGVjdXRhYmxlcwoJCQlpZiAoIHNjcmlwdHMgKSB7CgkJCQlqID0gMDsKCQkJCXdoaWxlICggKCBlbGVtID0gdG1wWyBqKysgXSApICkgewoJCQkJCWlmICggcnNjcmlwdFR5cGUudGVzdCggZWxlbS50eXBlIHx8ICIiICkgKSB7CgkJCQkJCXNjcmlwdHMucHVzaCggZWxlbSApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIGZyYWdtZW50OwoJfQoKCgkoIGZ1bmN0aW9uKCkgewoJCXZhciBmcmFnbWVudCA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSwKCQkJZGl2ID0gZnJhZ21lbnQuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgKSwKCQkJaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAiaW5wdXQiICk7CgoJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHkKCQkvLyBDaGVjayBzdGF0ZSBsb3N0IGlmIHRoZSBuYW1lIGlzIHNldCAoIzExMjE3KQoJCS8vIFN1cHBvcnQ6IFdpbmRvd3MgV2ViIEFwcHMgKFdXQSkKCQkvLyBgbmFtZWAgYW5kIGB0eXBlYCBtdXN0IHVzZSAuc2V0QXR0cmlidXRlIGZvciBXV0EgKCMxNDkwMSkKCQlpbnB1dC5zZXRBdHRyaWJ1dGUoICJ0eXBlIiwgInJhZGlvIiApOwoJCWlucHV0LnNldEF0dHJpYnV0ZSggImNoZWNrZWQiLCAiY2hlY2tlZCIgKTsKCQlpbnB1dC5zZXRBdHRyaWJ1dGUoICJuYW1lIiwgInQiICk7CgoJCWRpdi5hcHBlbmRDaGlsZCggaW5wdXQgKTsKCgkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMSBvbmx5CgkJLy8gT2xkZXIgV2ViS2l0IGRvZXNuJ3QgY2xvbmUgY2hlY2tlZCBzdGF0ZSBjb3JyZWN0bHkgaW4gZnJhZ21lbnRzCgkJc3VwcG9ydC5jaGVja0Nsb25lID0gZGl2LmNsb25lTm9kZSggdHJ1ZSApLmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5jaGVja2VkOwoKCQkvLyBTdXBwb3J0OiBJRSA8PTExIG9ubHkKCQkvLyBNYWtlIHN1cmUgdGV4dGFyZWEgKGFuZCBjaGVja2JveCkgZGVmYXVsdFZhbHVlIGlzIHByb3Blcmx5IGNsb25lZAoJCWRpdi5pbm5lckhUTUwgPSAiPHRleHRhcmVhPng8L3RleHRhcmVhPiI7CgkJc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCA9ICEhZGl2LmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWU7Cgl9ICkoKTsKCXZhciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CgoKCgl2YXIKCQlya2V5RXZlbnQgPSAvXmtleS8sCgkJcm1vdXNlRXZlbnQgPSAvXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnV8ZHJhZ3xkcm9wKXxjbGljay8sCgkJcnR5cGVuYW1lc3BhY2UgPSAvXihbXi5dKikoPzpcLiguKyl8KS87CgoJZnVuY3Rpb24gcmV0dXJuVHJ1ZSgpIHsKCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiByZXR1cm5GYWxzZSgpIHsKCQlyZXR1cm4gZmFsc2U7Cgl9CgovLyBTdXBwb3J0OiBJRSA8PTkgb25seQovLyBTZWUgIzEzMzkzIGZvciBtb3JlIGluZm8KCWZ1bmN0aW9uIHNhZmVBY3RpdmVFbGVtZW50KCkgewoJCXRyeSB7CgkJCXJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwoJCX0gY2F0Y2ggKCBlcnIgKSB7IH0KCX0KCglmdW5jdGlvbiBvbiggZWxlbSwgdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiwgb25lICkgewoJCXZhciBvcmlnRm4sIHR5cGU7CgoJCS8vIFR5cGVzIGNhbiBiZSBhIG1hcCBvZiB0eXBlcy9oYW5kbGVycwoJCWlmICggdHlwZW9mIHR5cGVzID09PSAib2JqZWN0IiApIHsKCgkJCS8vICggdHlwZXMtT2JqZWN0LCBzZWxlY3RvciwgZGF0YSApCgkJCWlmICggdHlwZW9mIHNlbGVjdG9yICE9PSAic3RyaW5nIiApIHsKCgkJCQkvLyAoIHR5cGVzLU9iamVjdCwgZGF0YSApCgkJCQlkYXRhID0gZGF0YSB8fCBzZWxlY3RvcjsKCQkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOwoJCQl9CgkJCWZvciAoIHR5cGUgaW4gdHlwZXMgKSB7CgkJCQlvbiggZWxlbSwgdHlwZSwgc2VsZWN0b3IsIGRhdGEsIHR5cGVzWyB0eXBlIF0sIG9uZSApOwoJCQl9CgkJCXJldHVybiBlbGVtOwoJCX0KCgkJaWYgKCBkYXRhID09IG51bGwgJiYgZm4gPT0gbnVsbCApIHsKCgkJCS8vICggdHlwZXMsIGZuICkKCQkJZm4gPSBzZWxlY3RvcjsKCQkJZGF0YSA9IHNlbGVjdG9yID0gdW5kZWZpbmVkOwoJCX0gZWxzZSBpZiAoIGZuID09IG51bGwgKSB7CgkJCWlmICggdHlwZW9mIHNlbGVjdG9yID09PSAic3RyaW5nIiApIHsKCgkJCQkvLyAoIHR5cGVzLCBzZWxlY3RvciwgZm4gKQoJCQkJZm4gPSBkYXRhOwoJCQkJZGF0YSA9IHVuZGVmaW5lZDsKCQkJfSBlbHNlIHsKCgkJCQkvLyAoIHR5cGVzLCBkYXRhLCBmbiApCgkJCQlmbiA9IGRhdGE7CgkJCQlkYXRhID0gc2VsZWN0b3I7CgkJCQlzZWxlY3RvciA9IHVuZGVmaW5lZDsKCQkJfQoJCX0KCQlpZiAoIGZuID09PSBmYWxzZSApIHsKCQkJZm4gPSByZXR1cm5GYWxzZTsKCQl9IGVsc2UgaWYgKCAhZm4gKSB7CgkJCXJldHVybiBlbGVtOwoJCX0KCgkJaWYgKCBvbmUgPT09IDEgKSB7CgkJCW9yaWdGbiA9IGZuOwoJCQlmbiA9IGZ1bmN0aW9uKCBldmVudCApIHsKCgkJCQkvLyBDYW4gdXNlIGFuIGVtcHR5IHNldCwgc2luY2UgZXZlbnQgY29udGFpbnMgdGhlIGluZm8KCQkJCWpRdWVyeSgpLm9mZiggZXZlbnQgKTsKCQkJCXJldHVybiBvcmlnRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOwoJCQl9OwoKCQkJLy8gVXNlIHNhbWUgZ3VpZCBzbyBjYWxsZXIgY2FuIHJlbW92ZSB1c2luZyBvcmlnRm4KCQkJZm4uZ3VpZCA9IG9yaWdGbi5ndWlkIHx8ICggb3JpZ0ZuLmd1aWQgPSBqUXVlcnkuZ3VpZCsrICk7CgkJfQoJCXJldHVybiBlbGVtLmVhY2goIGZ1bmN0aW9uKCkgewoJCQlqUXVlcnkuZXZlbnQuYWRkKCB0aGlzLCB0eXBlcywgZm4sIGRhdGEsIHNlbGVjdG9yICk7CgkJfSApOwoJfQoKCS8qCiAqIEhlbHBlciBmdW5jdGlvbnMgZm9yIG1hbmFnaW5nIGV2ZW50cyAtLSBub3QgcGFydCBvZiB0aGUgcHVibGljIGludGVyZmFjZS4KICogUHJvcHMgdG8gRGVhbiBFZHdhcmRzJyBhZGRFdmVudCBsaWJyYXJ5IGZvciBtYW55IG9mIHRoZSBpZGVhcy4KICovCglqUXVlcnkuZXZlbnQgPSB7CgoJCWdsb2JhbDoge30sCgoJCWFkZDogZnVuY3Rpb24oIGVsZW0sIHR5cGVzLCBoYW5kbGVyLCBkYXRhLCBzZWxlY3RvciApIHsKCgkJCXZhciBoYW5kbGVPYmpJbiwgZXZlbnRIYW5kbGUsIHRtcCwKCQkJCWV2ZW50cywgdCwgaGFuZGxlT2JqLAoJCQkJc3BlY2lhbCwgaGFuZGxlcnMsIHR5cGUsIG5hbWVzcGFjZXMsIG9yaWdUeXBlLAoJCQkJZWxlbURhdGEgPSBkYXRhUHJpdi5nZXQoIGVsZW0gKTsKCgkJCS8vIERvbid0IGF0dGFjaCBldmVudHMgdG8gbm9EYXRhIG9yIHRleHQvY29tbWVudCBub2RlcyAoYnV0IGFsbG93IHBsYWluIG9iamVjdHMpCgkJCWlmICggIWVsZW1EYXRhICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBDYWxsZXIgY2FuIHBhc3MgaW4gYW4gb2JqZWN0IG9mIGN1c3RvbSBkYXRhIGluIGxpZXUgb2YgdGhlIGhhbmRsZXIKCQkJaWYgKCBoYW5kbGVyLmhhbmRsZXIgKSB7CgkJCQloYW5kbGVPYmpJbiA9IGhhbmRsZXI7CgkJCQloYW5kbGVyID0gaGFuZGxlT2JqSW4uaGFuZGxlcjsKCQkJCXNlbGVjdG9yID0gaGFuZGxlT2JqSW4uc2VsZWN0b3I7CgkJCX0KCgkJCS8vIEVuc3VyZSB0aGF0IGludmFsaWQgc2VsZWN0b3JzIHRocm93IGV4Y2VwdGlvbnMgYXQgYXR0YWNoIHRpbWUKCQkJLy8gRXZhbHVhdGUgYWdhaW5zdCBkb2N1bWVudEVsZW1lbnQgaW4gY2FzZSBlbGVtIGlzIGEgbm9uLWVsZW1lbnQgbm9kZSAoZS5nLiwgZG9jdW1lbnQpCgkJCWlmICggc2VsZWN0b3IgKSB7CgkJCQlqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGRvY3VtZW50RWxlbWVudCwgc2VsZWN0b3IgKTsKCQkJfQoKCQkJLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGhhbmRsZXIgaGFzIGEgdW5pcXVlIElELCB1c2VkIHRvIGZpbmQvcmVtb3ZlIGl0IGxhdGVyCgkJCWlmICggIWhhbmRsZXIuZ3VpZCApIHsKCQkJCWhhbmRsZXIuZ3VpZCA9IGpRdWVyeS5ndWlkKys7CgkJCX0KCgkJCS8vIEluaXQgdGhlIGVsZW1lbnQncyBldmVudCBzdHJ1Y3R1cmUgYW5kIG1haW4gaGFuZGxlciwgaWYgdGhpcyBpcyB0aGUgZmlyc3QKCQkJaWYgKCAhKCBldmVudHMgPSBlbGVtRGF0YS5ldmVudHMgKSApIHsKCQkJCWV2ZW50cyA9IGVsZW1EYXRhLmV2ZW50cyA9IHt9OwoJCQl9CgkJCWlmICggISggZXZlbnRIYW5kbGUgPSBlbGVtRGF0YS5oYW5kbGUgKSApIHsKCQkJCWV2ZW50SGFuZGxlID0gZWxlbURhdGEuaGFuZGxlID0gZnVuY3Rpb24oIGUgKSB7CgoJCQkJCS8vIERpc2NhcmQgdGhlIHNlY29uZCBldmVudCBvZiBhIGpRdWVyeS5ldmVudC50cmlnZ2VyKCkgYW5kCgkJCQkJLy8gd2hlbiBhbiBldmVudCBpcyBjYWxsZWQgYWZ0ZXIgYSBwYWdlIGhhcyB1bmxvYWRlZAoJCQkJCXJldHVybiB0eXBlb2YgalF1ZXJ5ICE9PSAidW5kZWZpbmVkIiAmJiBqUXVlcnkuZXZlbnQudHJpZ2dlcmVkICE9PSBlLnR5cGUgPwoJCQkJCQlqUXVlcnkuZXZlbnQuZGlzcGF0Y2guYXBwbHkoIGVsZW0sIGFyZ3VtZW50cyApIDogdW5kZWZpbmVkOwoJCQkJfTsKCQkJfQoKCQkJLy8gSGFuZGxlIG11bHRpcGxlIGV2ZW50cyBzZXBhcmF0ZWQgYnkgYSBzcGFjZQoJCQl0eXBlcyA9ICggdHlwZXMgfHwgIiIgKS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFsgIiIgXTsKCQkJdCA9IHR5cGVzLmxlbmd0aDsKCQkJd2hpbGUgKCB0LS0gKSB7CgkJCQl0bXAgPSBydHlwZW5hbWVzcGFjZS5leGVjKCB0eXBlc1sgdCBdICkgfHwgW107CgkJCQl0eXBlID0gb3JpZ1R5cGUgPSB0bXBbIDEgXTsKCQkJCW5hbWVzcGFjZXMgPSAoIHRtcFsgMiBdIHx8ICIiICkuc3BsaXQoICIuIiApLnNvcnQoKTsKCgkJCQkvLyBUaGVyZSAqbXVzdCogYmUgYSB0eXBlLCBubyBhdHRhY2hpbmcgbmFtZXNwYWNlLW9ubHkgaGFuZGxlcnMKCQkJCWlmICggIXR5cGUgKSB7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJLy8gSWYgZXZlbnQgY2hhbmdlcyBpdHMgdHlwZSwgdXNlIHRoZSBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzIGZvciB0aGUgY2hhbmdlZCB0eXBlCgkJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsKCgkJCQkvLyBJZiBzZWxlY3RvciBkZWZpbmVkLCBkZXRlcm1pbmUgc3BlY2lhbCBldmVudCBhcGkgdHlwZSwgb3RoZXJ3aXNlIGdpdmVuIHR5cGUKCQkJCXR5cGUgPSAoIHNlbGVjdG9yID8gc3BlY2lhbC5kZWxlZ2F0ZVR5cGUgOiBzcGVjaWFsLmJpbmRUeXBlICkgfHwgdHlwZTsKCgkJCQkvLyBVcGRhdGUgc3BlY2lhbCBiYXNlZCBvbiBuZXdseSByZXNldCB0eXBlCgkJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTsKCgkJCQkvLyBoYW5kbGVPYmogaXMgcGFzc2VkIHRvIGFsbCBldmVudCBoYW5kbGVycwoJCQkJaGFuZGxlT2JqID0galF1ZXJ5LmV4dGVuZCggewoJCQkJCXR5cGU6IHR5cGUsCgkJCQkJb3JpZ1R5cGU6IG9yaWdUeXBlLAoJCQkJCWRhdGE6IGRhdGEsCgkJCQkJaGFuZGxlcjogaGFuZGxlciwKCQkJCQlndWlkOiBoYW5kbGVyLmd1aWQsCgkJCQkJc2VsZWN0b3I6IHNlbGVjdG9yLAoJCQkJCW5lZWRzQ29udGV4dDogc2VsZWN0b3IgJiYgalF1ZXJ5LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoIHNlbGVjdG9yICksCgkJCQkJbmFtZXNwYWNlOiBuYW1lc3BhY2VzLmpvaW4oICIuIiApCgkJCQl9LCBoYW5kbGVPYmpJbiApOwoKCQkJCS8vIEluaXQgdGhlIGV2ZW50IGhhbmRsZXIgcXVldWUgaWYgd2UncmUgdGhlIGZpcnN0CgkJCQlpZiAoICEoIGhhbmRsZXJzID0gZXZlbnRzWyB0eXBlIF0gKSApIHsKCQkJCQloYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdID0gW107CgkJCQkJaGFuZGxlcnMuZGVsZWdhdGVDb3VudCA9IDA7CgoJCQkJCS8vIE9ubHkgdXNlIGFkZEV2ZW50TGlzdGVuZXIgaWYgdGhlIHNwZWNpYWwgZXZlbnRzIGhhbmRsZXIgcmV0dXJucyBmYWxzZQoJCQkJCWlmICggIXNwZWNpYWwuc2V0dXAgfHwKCQkJCQkJc3BlY2lhbC5zZXR1cC5jYWxsKCBlbGVtLCBkYXRhLCBuYW1lc3BhY2VzLCBldmVudEhhbmRsZSApID09PSBmYWxzZSApIHsKCgkJCQkJCWlmICggZWxlbS5hZGRFdmVudExpc3RlbmVyICkgewoJCQkJCQkJZWxlbS5hZGRFdmVudExpc3RlbmVyKCB0eXBlLCBldmVudEhhbmRsZSApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoKCQkJCWlmICggc3BlY2lhbC5hZGQgKSB7CgkJCQkJc3BlY2lhbC5hZGQuY2FsbCggZWxlbSwgaGFuZGxlT2JqICk7CgoJCQkJCWlmICggIWhhbmRsZU9iai5oYW5kbGVyLmd1aWQgKSB7CgkJCQkJCWhhbmRsZU9iai5oYW5kbGVyLmd1aWQgPSBoYW5kbGVyLmd1aWQ7CgkJCQkJfQoJCQkJfQoKCQkJCS8vIEFkZCB0byB0aGUgZWxlbWVudCdzIGhhbmRsZXIgbGlzdCwgZGVsZWdhdGVzIGluIGZyb250CgkJCQlpZiAoIHNlbGVjdG9yICkgewoJCQkJCWhhbmRsZXJzLnNwbGljZSggaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLCAwLCBoYW5kbGVPYmogKTsKCQkJCX0gZWxzZSB7CgkJCQkJaGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7CgkJCQl9CgoJCQkJLy8gS2VlcCB0cmFjayBvZiB3aGljaCBldmVudHMgaGF2ZSBldmVyIGJlZW4gdXNlZCwgZm9yIGV2ZW50IG9wdGltaXphdGlvbgoJCQkJalF1ZXJ5LmV2ZW50Lmdsb2JhbFsgdHlwZSBdID0gdHJ1ZTsKCQkJfQoKCQl9LAoKCQkvLyBEZXRhY2ggYW4gZXZlbnQgb3Igc2V0IG9mIGV2ZW50cyBmcm9tIGFuIGVsZW1lbnQKCQlyZW1vdmU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlcywgaGFuZGxlciwgc2VsZWN0b3IsIG1hcHBlZFR5cGVzICkgewoKCQkJdmFyIGosIG9yaWdDb3VudCwgdG1wLAoJCQkJZXZlbnRzLCB0LCBoYW5kbGVPYmosCgkJCQlzcGVjaWFsLCBoYW5kbGVycywgdHlwZSwgbmFtZXNwYWNlcywgb3JpZ1R5cGUsCgkJCQllbGVtRGF0YSA9IGRhdGFQcml2Lmhhc0RhdGEoIGVsZW0gKSAmJiBkYXRhUHJpdi5nZXQoIGVsZW0gKTsKCgkJCWlmICggIWVsZW1EYXRhIHx8ICEoIGV2ZW50cyA9IGVsZW1EYXRhLmV2ZW50cyApICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBPbmNlIGZvciBlYWNoIHR5cGUubmFtZXNwYWNlIGluIHR5cGVzOyB0eXBlIG1heSBiZSBvbWl0dGVkCgkJCXR5cGVzID0gKCB0eXBlcyB8fCAiIiApLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyAiIiBdOwoJCQl0ID0gdHlwZXMubGVuZ3RoOwoJCQl3aGlsZSAoIHQtLSApIHsKCQkJCXRtcCA9IHJ0eXBlbmFtZXNwYWNlLmV4ZWMoIHR5cGVzWyB0IF0gKSB8fCBbXTsKCQkJCXR5cGUgPSBvcmlnVHlwZSA9IHRtcFsgMSBdOwoJCQkJbmFtZXNwYWNlcyA9ICggdG1wWyAyIF0gfHwgIiIgKS5zcGxpdCggIi4iICkuc29ydCgpOwoKCQkJCS8vIFVuYmluZCBhbGwgZXZlbnRzIChvbiB0aGlzIG5hbWVzcGFjZSwgaWYgcHJvdmlkZWQpIGZvciB0aGUgZWxlbWVudAoJCQkJaWYgKCAhdHlwZSApIHsKCQkJCQlmb3IgKCB0eXBlIGluIGV2ZW50cyApIHsKCQkJCQkJalF1ZXJ5LmV2ZW50LnJlbW92ZSggZWxlbSwgdHlwZSArIHR5cGVzWyB0IF0sIGhhbmRsZXIsIHNlbGVjdG9yLCB0cnVlICk7CgkJCQkJfQoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9OwoJCQkJdHlwZSA9ICggc2VsZWN0b3IgPyBzcGVjaWFsLmRlbGVnYXRlVHlwZSA6IHNwZWNpYWwuYmluZFR5cGUgKSB8fCB0eXBlOwoJCQkJaGFuZGxlcnMgPSBldmVudHNbIHR5cGUgXSB8fCBbXTsKCQkJCXRtcCA9IHRtcFsgMiBdICYmCgkJCQkJbmV3IFJlZ0V4cCggIihefFxcLikiICsgbmFtZXNwYWNlcy5qb2luKCAiXFwuKD86LipcXC58KSIgKSArICIoXFwufCQpIiApOwoKCQkJCS8vIFJlbW92ZSBtYXRjaGluZyBldmVudHMKCQkJCW9yaWdDb3VudCA9IGogPSBoYW5kbGVycy5sZW5ndGg7CgkJCQl3aGlsZSAoIGotLSApIHsKCQkJCQloYW5kbGVPYmogPSBoYW5kbGVyc1sgaiBdOwoKCQkJCQlpZiAoICggbWFwcGVkVHlwZXMgfHwgb3JpZ1R5cGUgPT09IGhhbmRsZU9iai5vcmlnVHlwZSApICYmCgkJCQkJCSggIWhhbmRsZXIgfHwgaGFuZGxlci5ndWlkID09PSBoYW5kbGVPYmouZ3VpZCApICYmCgkJCQkJCSggIXRtcCB8fCB0bXAudGVzdCggaGFuZGxlT2JqLm5hbWVzcGFjZSApICkgJiYKCQkJCQkJKCAhc2VsZWN0b3IgfHwgc2VsZWN0b3IgPT09IGhhbmRsZU9iai5zZWxlY3RvciB8fAoJCQkJCQkJc2VsZWN0b3IgPT09ICIqKiIgJiYgaGFuZGxlT2JqLnNlbGVjdG9yICkgKSB7CgkJCQkJCWhhbmRsZXJzLnNwbGljZSggaiwgMSApOwoKCQkJCQkJaWYgKCBoYW5kbGVPYmouc2VsZWN0b3IgKSB7CgkJCQkJCQloYW5kbGVycy5kZWxlZ2F0ZUNvdW50LS07CgkJCQkJCX0KCQkJCQkJaWYgKCBzcGVjaWFsLnJlbW92ZSApIHsKCQkJCQkJCXNwZWNpYWwucmVtb3ZlLmNhbGwoIGVsZW0sIGhhbmRsZU9iaiApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoKCQkJCS8vIFJlbW92ZSBnZW5lcmljIGV2ZW50IGhhbmRsZXIgaWYgd2UgcmVtb3ZlZCBzb21ldGhpbmcgYW5kIG5vIG1vcmUgaGFuZGxlcnMgZXhpc3QKCQkJCS8vIChhdm9pZHMgcG90ZW50aWFsIGZvciBlbmRsZXNzIHJlY3Vyc2lvbiBkdXJpbmcgcmVtb3ZhbCBvZiBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzKQoJCQkJaWYgKCBvcmlnQ291bnQgJiYgIWhhbmRsZXJzLmxlbmd0aCApIHsKCQkJCQlpZiAoICFzcGVjaWFsLnRlYXJkb3duIHx8CgkJCQkJCXNwZWNpYWwudGVhcmRvd24uY2FsbCggZWxlbSwgbmFtZXNwYWNlcywgZWxlbURhdGEuaGFuZGxlICkgPT09IGZhbHNlICkgewoKCQkJCQkJalF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBlbGVtRGF0YS5oYW5kbGUgKTsKCQkJCQl9CgoJCQkJCWRlbGV0ZSBldmVudHNbIHR5cGUgXTsKCQkJCX0KCQkJfQoKCQkJLy8gUmVtb3ZlIGRhdGEgYW5kIHRoZSBleHBhbmRvIGlmIGl0J3Mgbm8gbG9uZ2VyIHVzZWQKCQkJaWYgKCBqUXVlcnkuaXNFbXB0eU9iamVjdCggZXZlbnRzICkgKSB7CgkJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sICJoYW5kbGUgZXZlbnRzIiApOwoJCQl9CgkJfSwKCgkJZGlzcGF0Y2g6IGZ1bmN0aW9uKCBuYXRpdmVFdmVudCApIHsKCgkJCS8vIE1ha2UgYSB3cml0YWJsZSBqUXVlcnkuRXZlbnQgZnJvbSB0aGUgbmF0aXZlIGV2ZW50IG9iamVjdAoJCQl2YXIgZXZlbnQgPSBqUXVlcnkuZXZlbnQuZml4KCBuYXRpdmVFdmVudCApOwoKCQkJdmFyIGksIGosIHJldCwgbWF0Y2hlZCwgaGFuZGxlT2JqLCBoYW5kbGVyUXVldWUsCgkJCQlhcmdzID0gbmV3IEFycmF5KCBhcmd1bWVudHMubGVuZ3RoICksCgkJCQloYW5kbGVycyA9ICggZGF0YVByaXYuZ2V0KCB0aGlzLCAiZXZlbnRzIiApIHx8IHt9IClbIGV2ZW50LnR5cGUgXSB8fCBbXSwKCQkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgZXZlbnQudHlwZSBdIHx8IHt9OwoKCQkJLy8gVXNlIHRoZSBmaXgtZWQgalF1ZXJ5LkV2ZW50IHJhdGhlciB0aGFuIHRoZSAocmVhZC1vbmx5KSBuYXRpdmUgZXZlbnQKCQkJYXJnc1sgMCBdID0gZXZlbnQ7CgoJCQlmb3IgKCBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKyApIHsKCQkJCWFyZ3NbIGkgXSA9IGFyZ3VtZW50c1sgaSBdOwoJCQl9CgoJCQlldmVudC5kZWxlZ2F0ZVRhcmdldCA9IHRoaXM7CgoJCQkvLyBDYWxsIHRoZSBwcmVEaXNwYXRjaCBob29rIGZvciB0aGUgbWFwcGVkIHR5cGUsIGFuZCBsZXQgaXQgYmFpbCBpZiBkZXNpcmVkCgkJCWlmICggc3BlY2lhbC5wcmVEaXNwYXRjaCAmJiBzcGVjaWFsLnByZURpc3BhdGNoLmNhbGwoIHRoaXMsIGV2ZW50ICkgPT09IGZhbHNlICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBEZXRlcm1pbmUgaGFuZGxlcnMKCQkJaGFuZGxlclF1ZXVlID0galF1ZXJ5LmV2ZW50LmhhbmRsZXJzLmNhbGwoIHRoaXMsIGV2ZW50LCBoYW5kbGVycyApOwoKCQkJLy8gUnVuIGRlbGVnYXRlcyBmaXJzdDsgdGhleSBtYXkgd2FudCB0byBzdG9wIHByb3BhZ2F0aW9uIGJlbmVhdGggdXMKCQkJaSA9IDA7CgkJCXdoaWxlICggKCBtYXRjaGVkID0gaGFuZGxlclF1ZXVlWyBpKysgXSApICYmICFldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpICkgewoJCQkJZXZlbnQuY3VycmVudFRhcmdldCA9IG1hdGNoZWQuZWxlbTsKCgkJCQlqID0gMDsKCQkJCXdoaWxlICggKCBoYW5kbGVPYmogPSBtYXRjaGVkLmhhbmRsZXJzWyBqKysgXSApICYmCgkJCQkhZXZlbnQuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsKCgkJCQkJLy8gVHJpZ2dlcmVkIGV2ZW50IG11c3QgZWl0aGVyIDEpIGhhdmUgbm8gbmFtZXNwYWNlLCBvciAyKSBoYXZlIG5hbWVzcGFjZShzKQoJCQkJCS8vIGEgc3Vic2V0IG9yIGVxdWFsIHRvIHRob3NlIGluIHRoZSBib3VuZCBldmVudCAoYm90aCBjYW4gaGF2ZSBubyBuYW1lc3BhY2UpLgoJCQkJCWlmICggIWV2ZW50LnJuYW1lc3BhY2UgfHwgZXZlbnQucm5hbWVzcGFjZS50ZXN0KCBoYW5kbGVPYmoubmFtZXNwYWNlICkgKSB7CgoJCQkJCQlldmVudC5oYW5kbGVPYmogPSBoYW5kbGVPYmo7CgkJCQkJCWV2ZW50LmRhdGEgPSBoYW5kbGVPYmouZGF0YTsKCgkJCQkJCXJldCA9ICggKCBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgaGFuZGxlT2JqLm9yaWdUeXBlIF0gfHwge30gKS5oYW5kbGUgfHwKCQkJCQkJCWhhbmRsZU9iai5oYW5kbGVyICkuYXBwbHkoIG1hdGNoZWQuZWxlbSwgYXJncyApOwoKCQkJCQkJaWYgKCByZXQgIT09IHVuZGVmaW5lZCApIHsKCQkJCQkJCWlmICggKCBldmVudC5yZXN1bHQgPSByZXQgKSA9PT0gZmFsc2UgKSB7CgkJCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCQkJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJLy8gQ2FsbCB0aGUgcG9zdERpc3BhdGNoIGhvb2sgZm9yIHRoZSBtYXBwZWQgdHlwZQoJCQlpZiAoIHNwZWNpYWwucG9zdERpc3BhdGNoICkgewoJCQkJc3BlY2lhbC5wb3N0RGlzcGF0Y2guY2FsbCggdGhpcywgZXZlbnQgKTsKCQkJfQoKCQkJcmV0dXJuIGV2ZW50LnJlc3VsdDsKCQl9LAoKCQloYW5kbGVyczogZnVuY3Rpb24oIGV2ZW50LCBoYW5kbGVycyApIHsKCQkJdmFyIGksIGhhbmRsZU9iaiwgc2VsLCBtYXRjaGVkSGFuZGxlcnMsIG1hdGNoZWRTZWxlY3RvcnMsCgkJCQloYW5kbGVyUXVldWUgPSBbXSwKCQkJCWRlbGVnYXRlQ291bnQgPSBoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LAoJCQkJY3VyID0gZXZlbnQudGFyZ2V0OwoKCQkJLy8gRmluZCBkZWxlZ2F0ZSBoYW5kbGVycwoJCQlpZiAoIGRlbGVnYXRlQ291bnQgJiYKCgkJCQkvLyBTdXBwb3J0OiBJRSA8PTkKCQkJCS8vIEJsYWNrLWhvbGUgU1ZHIDx1c2U+IGluc3RhbmNlIHRyZWVzICh0cmFjLTEzMTgwKQoJCQkJY3VyLm5vZGVUeXBlICYmCgoJCQkJLy8gU3VwcG9ydDogRmlyZWZveCA8PTQyCgkJCQkvLyBTdXBwcmVzcyBzcGVjLXZpb2xhdGluZyBjbGlja3MgaW5kaWNhdGluZyBhIG5vbi1wcmltYXJ5IHBvaW50ZXIgYnV0dG9uICh0cmFjLTM4NjEpCgkJCQkvLyBodHRwczovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudC10eXBlLWNsaWNrCgkJCQkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5CgkJCQkvLyAuLi5idXQgbm90IGFycm93IGtleSAiY2xpY2tzIiBvZiByYWRpbyBpbnB1dHMsIHdoaWNoIGNhbiBoYXZlIGBidXR0b25gIC0xIChnaC0yMzQzKQoJCQkJISggZXZlbnQudHlwZSA9PT0gImNsaWNrIiAmJiBldmVudC5idXR0b24gPj0gMSApICkgewoKCQkJCWZvciAoIDsgY3VyICE9PSB0aGlzOyBjdXIgPSBjdXIucGFyZW50Tm9kZSB8fCB0aGlzICkgewoKCQkJCQkvLyBEb24ndCBjaGVjayBub24tZWxlbWVudHMgKCMxMzIwOCkKCQkJCQkvLyBEb24ndCBwcm9jZXNzIGNsaWNrcyBvbiBkaXNhYmxlZCBlbGVtZW50cyAoIzY5MTEsICM4MTY1LCAjMTEzODIsICMxMTc2NCkKCQkJCQlpZiAoIGN1ci5ub2RlVHlwZSA9PT0gMSAmJiAhKCBldmVudC50eXBlID09PSAiY2xpY2siICYmIGN1ci5kaXNhYmxlZCA9PT0gdHJ1ZSApICkgewoJCQkJCQltYXRjaGVkSGFuZGxlcnMgPSBbXTsKCQkJCQkJbWF0Y2hlZFNlbGVjdG9ycyA9IHt9OwoJCQkJCQlmb3IgKCBpID0gMDsgaSA8IGRlbGVnYXRlQ291bnQ7IGkrKyApIHsKCQkJCQkJCWhhbmRsZU9iaiA9IGhhbmRsZXJzWyBpIF07CgoJCQkJCQkJLy8gRG9uJ3QgY29uZmxpY3Qgd2l0aCBPYmplY3QucHJvdG90eXBlIHByb3BlcnRpZXMgKCMxMzIwMykKCQkJCQkJCXNlbCA9IGhhbmRsZU9iai5zZWxlY3RvciArICIgIjsKCgkJCQkJCQlpZiAoIG1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdID09PSB1bmRlZmluZWQgKSB7CgkJCQkJCQkJbWF0Y2hlZFNlbGVjdG9yc1sgc2VsIF0gPSBoYW5kbGVPYmoubmVlZHNDb250ZXh0ID8KCQkJCQkJCQkJalF1ZXJ5KCBzZWwsIHRoaXMgKS5pbmRleCggY3VyICkgPiAtMSA6CgkJCQkJCQkJCWpRdWVyeS5maW5kKCBzZWwsIHRoaXMsIG51bGwsIFsgY3VyIF0gKS5sZW5ndGg7CgkJCQkJCQl9CgkJCQkJCQlpZiAoIG1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdICkgewoJCQkJCQkJCW1hdGNoZWRIYW5kbGVycy5wdXNoKCBoYW5kbGVPYmogKTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlpZiAoIG1hdGNoZWRIYW5kbGVycy5sZW5ndGggKSB7CgkJCQkJCQloYW5kbGVyUXVldWUucHVzaCggeyBlbGVtOiBjdXIsIGhhbmRsZXJzOiBtYXRjaGVkSGFuZGxlcnMgfSApOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQkvLyBBZGQgdGhlIHJlbWFpbmluZyAoZGlyZWN0bHktYm91bmQpIGhhbmRsZXJzCgkJCWN1ciA9IHRoaXM7CgkJCWlmICggZGVsZWdhdGVDb3VudCA8IGhhbmRsZXJzLmxlbmd0aCApIHsKCQkJCWhhbmRsZXJRdWV1ZS5wdXNoKCB7IGVsZW06IGN1ciwgaGFuZGxlcnM6IGhhbmRsZXJzLnNsaWNlKCBkZWxlZ2F0ZUNvdW50ICkgfSApOwoJCQl9CgoJCQlyZXR1cm4gaGFuZGxlclF1ZXVlOwoJCX0sCgoJCWFkZFByb3A6IGZ1bmN0aW9uKCBuYW1lLCBob29rICkgewoJCQlPYmplY3QuZGVmaW5lUHJvcGVydHkoIGpRdWVyeS5FdmVudC5wcm90b3R5cGUsIG5hbWUsIHsKCQkJCWVudW1lcmFibGU6IHRydWUsCgkJCQljb25maWd1cmFibGU6IHRydWUsCgoJCQkJZ2V0OiBpc0Z1bmN0aW9uKCBob29rICkgPwoJCQkJCWZ1bmN0aW9uKCkgewoJCQkJCQlpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHsKCQkJCQkJCXJldHVybiBob29rKCB0aGlzLm9yaWdpbmFsRXZlbnQgKTsKCQkJCQkJfQoJCQkJCX0gOgoJCQkJCWZ1bmN0aW9uKCkgewoJCQkJCQlpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHsKCQkJCQkJCXJldHVybiB0aGlzLm9yaWdpbmFsRXZlbnRbIG5hbWUgXTsKCQkJCQkJfQoJCQkJCX0sCgoJCQkJc2V0OiBmdW5jdGlvbiggdmFsdWUgKSB7CgkJCQkJT2JqZWN0LmRlZmluZVByb3BlcnR5KCB0aGlzLCBuYW1lLCB7CgkJCQkJCWVudW1lcmFibGU6IHRydWUsCgkJCQkJCWNvbmZpZ3VyYWJsZTogdHJ1ZSwKCQkJCQkJd3JpdGFibGU6IHRydWUsCgkJCQkJCXZhbHVlOiB2YWx1ZQoJCQkJCX0gKTsKCQkJCX0KCQkJfSApOwoJCX0sCgoJCWZpeDogZnVuY3Rpb24oIG9yaWdpbmFsRXZlbnQgKSB7CgkJCXJldHVybiBvcmlnaW5hbEV2ZW50WyBqUXVlcnkuZXhwYW5kbyBdID8KCQkJCW9yaWdpbmFsRXZlbnQgOgoJCQkJbmV3IGpRdWVyeS5FdmVudCggb3JpZ2luYWxFdmVudCApOwoJCX0sCgoJCXNwZWNpYWw6IHsKCQkJbG9hZDogewoKCQkJCS8vIFByZXZlbnQgdHJpZ2dlcmVkIGltYWdlLmxvYWQgZXZlbnRzIGZyb20gYnViYmxpbmcgdG8gd2luZG93LmxvYWQKCQkJCW5vQnViYmxlOiB0cnVlCgkJCX0sCgkJCWZvY3VzOiB7CgoJCQkJLy8gRmlyZSBuYXRpdmUgZXZlbnQgaWYgcG9zc2libGUgc28gYmx1ci9mb2N1cyBzZXF1ZW5jZSBpcyBjb3JyZWN0CgkJCQl0cmlnZ2VyOiBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIHRoaXMgIT09IHNhZmVBY3RpdmVFbGVtZW50KCkgJiYgdGhpcy5mb2N1cyApIHsKCQkJCQkJdGhpcy5mb2N1cygpOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSwKCQkJCWRlbGVnYXRlVHlwZTogImZvY3VzaW4iCgkJCX0sCgkJCWJsdXI6IHsKCQkJCXRyaWdnZXI6IGZ1bmN0aW9uKCkgewoJCQkJCWlmICggdGhpcyA9PT0gc2FmZUFjdGl2ZUVsZW1lbnQoKSAmJiB0aGlzLmJsdXIgKSB7CgkJCQkJCXRoaXMuYmx1cigpOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJfSwKCQkJCWRlbGVnYXRlVHlwZTogImZvY3Vzb3V0IgoJCQl9LAoJCQljbGljazogewoKCQkJCS8vIEZvciBjaGVja2JveCwgZmlyZSBuYXRpdmUgZXZlbnQgc28gY2hlY2tlZCBzdGF0ZSB3aWxsIGJlIHJpZ2h0CgkJCQl0cmlnZ2VyOiBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIHRoaXMudHlwZSA9PT0gImNoZWNrYm94IiAmJiB0aGlzLmNsaWNrICYmIG5vZGVOYW1lKCB0aGlzLCAiaW5wdXQiICkgKSB7CgkJCQkJCXRoaXMuY2xpY2soKTsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0sCgoJCQkJLy8gRm9yIGNyb3NzLWJyb3dzZXIgY29uc2lzdGVuY3ksIGRvbid0IGZpcmUgbmF0aXZlIC5jbGljaygpIG9uIGxpbmtzCgkJCQlfZGVmYXVsdDogZnVuY3Rpb24oIGV2ZW50ICkgewoJCQkJCXJldHVybiBub2RlTmFtZSggZXZlbnQudGFyZ2V0LCAiYSIgKTsKCQkJCX0KCQkJfSwKCgkJCWJlZm9yZXVubG9hZDogewoJCQkJcG9zdERpc3BhdGNoOiBmdW5jdGlvbiggZXZlbnQgKSB7CgoJCQkJCS8vIFN1cHBvcnQ6IEZpcmVmb3ggMjArCgkJCQkJLy8gRmlyZWZveCBkb2Vzbid0IGFsZXJ0IGlmIHRoZSByZXR1cm5WYWx1ZSBmaWVsZCBpcyBub3Qgc2V0LgoJCQkJCWlmICggZXZlbnQucmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgZXZlbnQub3JpZ2luYWxFdmVudCApIHsKCQkJCQkJZXZlbnQub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZSA9IGV2ZW50LnJlc3VsdDsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9Cgl9OwoKCWpRdWVyeS5yZW1vdmVFdmVudCA9IGZ1bmN0aW9uKCBlbGVtLCB0eXBlLCBoYW5kbGUgKSB7CgoJCS8vIFRoaXMgImlmIiBpcyBuZWVkZWQgZm9yIHBsYWluIG9iamVjdHMKCQlpZiAoIGVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciApIHsKCQkJZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCB0eXBlLCBoYW5kbGUgKTsKCQl9Cgl9OwoKCWpRdWVyeS5FdmVudCA9IGZ1bmN0aW9uKCBzcmMsIHByb3BzICkgewoKCQkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgdGhlICduZXcnIGtleXdvcmQKCQlpZiAoICEoIHRoaXMgaW5zdGFuY2VvZiBqUXVlcnkuRXZlbnQgKSApIHsKCQkJcmV0dXJuIG5ldyBqUXVlcnkuRXZlbnQoIHNyYywgcHJvcHMgKTsKCQl9CgoJCS8vIEV2ZW50IG9iamVjdAoJCWlmICggc3JjICYmIHNyYy50eXBlICkgewoJCQl0aGlzLm9yaWdpbmFsRXZlbnQgPSBzcmM7CgkJCXRoaXMudHlwZSA9IHNyYy50eXBlOwoKCQkJLy8gRXZlbnRzIGJ1YmJsaW5nIHVwIHRoZSBkb2N1bWVudCBtYXkgaGF2ZSBiZWVuIG1hcmtlZCBhcyBwcmV2ZW50ZWQKCQkJLy8gYnkgYSBoYW5kbGVyIGxvd2VyIGRvd24gdGhlIHRyZWU7IHJlZmxlY3QgdGhlIGNvcnJlY3QgdmFsdWUuCgkJCXRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gc3JjLmRlZmF1bHRQcmV2ZW50ZWQgfHwKCQkJc3JjLmRlZmF1bHRQcmV2ZW50ZWQgPT09IHVuZGVmaW5lZCAmJgoKCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5CgkJCXNyYy5yZXR1cm5WYWx1ZSA9PT0gZmFsc2UgPwoJCQkJcmV0dXJuVHJ1ZSA6CgkJCQlyZXR1cm5GYWxzZTsKCgkJCS8vIENyZWF0ZSB0YXJnZXQgcHJvcGVydGllcwoJCQkvLyBTdXBwb3J0OiBTYWZhcmkgPD02IC0gNyBvbmx5CgkJCS8vIFRhcmdldCBzaG91bGQgbm90IGJlIGEgdGV4dCBub2RlICgjNTA0LCAjMTMxNDMpCgkJCXRoaXMudGFyZ2V0ID0gKCBzcmMudGFyZ2V0ICYmIHNyYy50YXJnZXQubm9kZVR5cGUgPT09IDMgKSA/CgkJCQlzcmMudGFyZ2V0LnBhcmVudE5vZGUgOgoJCQkJc3JjLnRhcmdldDsKCgkJCXRoaXMuY3VycmVudFRhcmdldCA9IHNyYy5jdXJyZW50VGFyZ2V0OwoJCQl0aGlzLnJlbGF0ZWRUYXJnZXQgPSBzcmMucmVsYXRlZFRhcmdldDsKCgkJCS8vIEV2ZW50IHR5cGUKCQl9IGVsc2UgewoJCQl0aGlzLnR5cGUgPSBzcmM7CgkJfQoKCQkvLyBQdXQgZXhwbGljaXRseSBwcm92aWRlZCBwcm9wZXJ0aWVzIG9udG8gdGhlIGV2ZW50IG9iamVjdAoJCWlmICggcHJvcHMgKSB7CgkJCWpRdWVyeS5leHRlbmQoIHRoaXMsIHByb3BzICk7CgkJfQoKCQkvLyBDcmVhdGUgYSB0aW1lc3RhbXAgaWYgaW5jb21pbmcgZXZlbnQgZG9lc24ndCBoYXZlIG9uZQoJCXRoaXMudGltZVN0YW1wID0gc3JjICYmIHNyYy50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTsKCgkJLy8gTWFyayBpdCBhcyBmaXhlZAoJCXRoaXNbIGpRdWVyeS5leHBhbmRvIF0gPSB0cnVlOwoJfTsKCi8vIGpRdWVyeS5FdmVudCBpcyBiYXNlZCBvbiBET00zIEV2ZW50cyBhcyBzcGVjaWZpZWQgYnkgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgQmluZGluZwovLyBodHRwczovL3d3dy53My5vcmcvVFIvMjAwMy9XRC1ET00tTGV2ZWwtMy1FdmVudHMtMjAwMzAzMzEvZWNtYS1zY3JpcHQtYmluZGluZy5odG1sCglqUXVlcnkuRXZlbnQucHJvdG90eXBlID0gewoJCWNvbnN0cnVjdG9yOiBqUXVlcnkuRXZlbnQsCgkJaXNEZWZhdWx0UHJldmVudGVkOiByZXR1cm5GYWxzZSwKCQlpc1Byb3BhZ2F0aW9uU3RvcHBlZDogcmV0dXJuRmFsc2UsCgkJaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6IHJldHVybkZhbHNlLAoJCWlzU2ltdWxhdGVkOiBmYWxzZSwKCgkJcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkgewoJCQl2YXIgZSA9IHRoaXMub3JpZ2luYWxFdmVudDsKCgkJCXRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gcmV0dXJuVHJ1ZTsKCgkJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJfQoJCX0sCgkJc3RvcFByb3BhZ2F0aW9uOiBmdW5jdGlvbigpIHsKCQkJdmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7CgoJCQl0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkID0gcmV0dXJuVHJ1ZTsKCgkJCWlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHsKCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCX0KCQl9LAoJCXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7CgkJCXZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50OwoKCQkJdGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCA9IHJldHVyblRydWU7CgoJCQlpZiAoIGUgJiYgIXRoaXMuaXNTaW11bGF0ZWQgKSB7CgkJCQllLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwoJCQl9CgoJCQl0aGlzLnN0b3BQcm9wYWdhdGlvbigpOwoJCX0KCX07CgovLyBJbmNsdWRlcyBhbGwgY29tbW9uIGV2ZW50IHByb3BzIGluY2x1ZGluZyBLZXlFdmVudCBhbmQgTW91c2VFdmVudCBzcGVjaWZpYyBwcm9wcwoJalF1ZXJ5LmVhY2goIHsKCQlhbHRLZXk6IHRydWUsCgkJYnViYmxlczogdHJ1ZSwKCQljYW5jZWxhYmxlOiB0cnVlLAoJCWNoYW5nZWRUb3VjaGVzOiB0cnVlLAoJCWN0cmxLZXk6IHRydWUsCgkJZGV0YWlsOiB0cnVlLAoJCWV2ZW50UGhhc2U6IHRydWUsCgkJbWV0YUtleTogdHJ1ZSwKCQlwYWdlWDogdHJ1ZSwKCQlwYWdlWTogdHJ1ZSwKCQlzaGlmdEtleTogdHJ1ZSwKCQl2aWV3OiB0cnVlLAoJCSJjaGFyIjogdHJ1ZSwKCQljaGFyQ29kZTogdHJ1ZSwKCQlrZXk6IHRydWUsCgkJa2V5Q29kZTogdHJ1ZSwKCQlidXR0b246IHRydWUsCgkJYnV0dG9uczogdHJ1ZSwKCQljbGllbnRYOiB0cnVlLAoJCWNsaWVudFk6IHRydWUsCgkJb2Zmc2V0WDogdHJ1ZSwKCQlvZmZzZXRZOiB0cnVlLAoJCXBvaW50ZXJJZDogdHJ1ZSwKCQlwb2ludGVyVHlwZTogdHJ1ZSwKCQlzY3JlZW5YOiB0cnVlLAoJCXNjcmVlblk6IHRydWUsCgkJdGFyZ2V0VG91Y2hlczogdHJ1ZSwKCQl0b0VsZW1lbnQ6IHRydWUsCgkJdG91Y2hlczogdHJ1ZSwKCgkJd2hpY2g6IGZ1bmN0aW9uKCBldmVudCApIHsKCQkJdmFyIGJ1dHRvbiA9IGV2ZW50LmJ1dHRvbjsKCgkJCS8vIEFkZCB3aGljaCBmb3Iga2V5IGV2ZW50cwoJCQlpZiAoIGV2ZW50LndoaWNoID09IG51bGwgJiYgcmtleUV2ZW50LnRlc3QoIGV2ZW50LnR5cGUgKSApIHsKCQkJCXJldHVybiBldmVudC5jaGFyQ29kZSAhPSBudWxsID8gZXZlbnQuY2hhckNvZGUgOiBldmVudC5rZXlDb2RlOwoJCQl9CgoJCQkvLyBBZGQgd2hpY2ggZm9yIGNsaWNrOiAxID09PSBsZWZ0OyAyID09PSBtaWRkbGU7IDMgPT09IHJpZ2h0CgkJCWlmICggIWV2ZW50LndoaWNoICYmIGJ1dHRvbiAhPT0gdW5kZWZpbmVkICYmIHJtb3VzZUV2ZW50LnRlc3QoIGV2ZW50LnR5cGUgKSApIHsKCQkJCWlmICggYnV0dG9uICYgMSApIHsKCQkJCQlyZXR1cm4gMTsKCQkJCX0KCgkJCQlpZiAoIGJ1dHRvbiAmIDIgKSB7CgkJCQkJcmV0dXJuIDM7CgkJCQl9CgoJCQkJaWYgKCBidXR0b24gJiA0ICkgewoJCQkJCXJldHVybiAyOwoJCQkJfQoKCQkJCXJldHVybiAwOwoJCQl9CgoJCQlyZXR1cm4gZXZlbnQud2hpY2g7CgkJfQoJfSwgalF1ZXJ5LmV2ZW50LmFkZFByb3AgKTsKCi8vIENyZWF0ZSBtb3VzZWVudGVyL2xlYXZlIGV2ZW50cyB1c2luZyBtb3VzZW92ZXIvb3V0IGFuZCBldmVudC10aW1lIGNoZWNrcwovLyBzbyB0aGF0IGV2ZW50IGRlbGVnYXRpb24gd29ya3MgaW4galF1ZXJ5LgovLyBEbyB0aGUgc2FtZSBmb3IgcG9pbnRlcmVudGVyL3BvaW50ZXJsZWF2ZSBhbmQgcG9pbnRlcm92ZXIvcG9pbnRlcm91dAovLwovLyBTdXBwb3J0OiBTYWZhcmkgNyBvbmx5Ci8vIFNhZmFyaSBzZW5kcyBtb3VzZWVudGVyIHRvbyBvZnRlbjsgc2VlOgovLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NzAyNTgKLy8gZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYnVnIChpdCBleGlzdGVkIGluIG9sZGVyIENocm9tZSB2ZXJzaW9ucyBhcyB3ZWxsKS4KCWpRdWVyeS5lYWNoKCB7CgkJbW91c2VlbnRlcjogIm1vdXNlb3ZlciIsCgkJbW91c2VsZWF2ZTogIm1vdXNlb3V0IiwKCQlwb2ludGVyZW50ZXI6ICJwb2ludGVyb3ZlciIsCgkJcG9pbnRlcmxlYXZlOiAicG9pbnRlcm91dCIKCX0sIGZ1bmN0aW9uKCBvcmlnLCBmaXggKSB7CgkJalF1ZXJ5LmV2ZW50LnNwZWNpYWxbIG9yaWcgXSA9IHsKCQkJZGVsZWdhdGVUeXBlOiBmaXgsCgkJCWJpbmRUeXBlOiBmaXgsCgoJCQloYW5kbGU6IGZ1bmN0aW9uKCBldmVudCApIHsKCQkJCXZhciByZXQsCgkJCQkJdGFyZ2V0ID0gdGhpcywKCQkJCQlyZWxhdGVkID0gZXZlbnQucmVsYXRlZFRhcmdldCwKCQkJCQloYW5kbGVPYmogPSBldmVudC5oYW5kbGVPYmo7CgoJCQkJLy8gRm9yIG1vdXNlZW50ZXIvbGVhdmUgY2FsbCB0aGUgaGFuZGxlciBpZiByZWxhdGVkIGlzIG91dHNpZGUgdGhlIHRhcmdldC4KCQkJCS8vIE5COiBObyByZWxhdGVkVGFyZ2V0IGlmIHRoZSBtb3VzZSBsZWZ0L2VudGVyZWQgdGhlIGJyb3dzZXIgd2luZG93CgkJCQlpZiAoICFyZWxhdGVkIHx8ICggcmVsYXRlZCAhPT0gdGFyZ2V0ICYmICFqUXVlcnkuY29udGFpbnMoIHRhcmdldCwgcmVsYXRlZCApICkgKSB7CgkJCQkJZXZlbnQudHlwZSA9IGhhbmRsZU9iai5vcmlnVHlwZTsKCQkJCQlyZXQgPSBoYW5kbGVPYmouaGFuZGxlci5hcHBseSggdGhpcywgYXJndW1lbnRzICk7CgkJCQkJZXZlbnQudHlwZSA9IGZpeDsKCQkJCX0KCQkJCXJldHVybiByZXQ7CgkJCX0KCQl9OwoJfSApOwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCgkJb246IGZ1bmN0aW9uKCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICkgewoJCQlyZXR1cm4gb24oIHRoaXMsIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTsKCQl9LAoJCW9uZTogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKSB7CgkJCXJldHVybiBvbiggdGhpcywgdHlwZXMsIHNlbGVjdG9yLCBkYXRhLCBmbiwgMSApOwoJCX0sCgkJb2ZmOiBmdW5jdGlvbiggdHlwZXMsIHNlbGVjdG9yLCBmbiApIHsKCQkJdmFyIGhhbmRsZU9iaiwgdHlwZTsKCQkJaWYgKCB0eXBlcyAmJiB0eXBlcy5wcmV2ZW50RGVmYXVsdCAmJiB0eXBlcy5oYW5kbGVPYmogKSB7CgoJCQkJLy8gKCBldmVudCApICBkaXNwYXRjaGVkIGpRdWVyeS5FdmVudAoJCQkJaGFuZGxlT2JqID0gdHlwZXMuaGFuZGxlT2JqOwoJCQkJalF1ZXJ5KCB0eXBlcy5kZWxlZ2F0ZVRhcmdldCApLm9mZigKCQkJCQloYW5kbGVPYmoubmFtZXNwYWNlID8KCQkJCQkJaGFuZGxlT2JqLm9yaWdUeXBlICsgIi4iICsgaGFuZGxlT2JqLm5hbWVzcGFjZSA6CgkJCQkJCWhhbmRsZU9iai5vcmlnVHlwZSwKCQkJCQloYW5kbGVPYmouc2VsZWN0b3IsCgkJCQkJaGFuZGxlT2JqLmhhbmRsZXIKCQkJCSk7CgkJCQlyZXR1cm4gdGhpczsKCQkJfQoJCQlpZiAoIHR5cGVvZiB0eXBlcyA9PT0gIm9iamVjdCIgKSB7CgoJCQkJLy8gKCB0eXBlcy1vYmplY3QgWywgc2VsZWN0b3JdICkKCQkJCWZvciAoIHR5cGUgaW4gdHlwZXMgKSB7CgkJCQkJdGhpcy5vZmYoIHR5cGUsIHNlbGVjdG9yLCB0eXBlc1sgdHlwZSBdICk7CgkJCQl9CgkJCQlyZXR1cm4gdGhpczsKCQkJfQoJCQlpZiAoIHNlbGVjdG9yID09PSBmYWxzZSB8fCB0eXBlb2Ygc2VsZWN0b3IgPT09ICJmdW5jdGlvbiIgKSB7CgoJCQkJLy8gKCB0eXBlcyBbLCBmbl0gKQoJCQkJZm4gPSBzZWxlY3RvcjsKCQkJCXNlbGVjdG9yID0gdW5kZWZpbmVkOwoJCQl9CgkJCWlmICggZm4gPT09IGZhbHNlICkgewoJCQkJZm4gPSByZXR1cm5GYWxzZTsKCQkJfQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCQkJCWpRdWVyeS5ldmVudC5yZW1vdmUoIHRoaXMsIHR5cGVzLCBmbiwgc2VsZWN0b3IgKTsKCQkJfSApOwoJCX0KCX0gKTsKCgoJdmFyCgoJCS8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8KCgkJLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2lzc3Vlcy8zMjI5CgkJcnhodG1sVGFnID0gLzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW2Etel1bXlwvXDA+XHgyMFx0XHJcblxmXSopW14+XSopXC8+L2dpLAoKCQkvKiBlc2xpbnQtZW5hYmxlICovCgoJCS8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSwgRWRnZSAxMiAtIDEzIG9ubHkKCQkvLyBJbiBJRS9FZGdlIHVzaW5nIHJlZ2V4IGdyb3VwcyBoZXJlIGNhdXNlcyBzZXZlcmUgc2xvd2Rvd25zLgoJCS8vIFNlZSBodHRwczovL2Nvbm5lY3QubWljcm9zb2Z0LmNvbS9JRS9mZWVkYmFjay9kZXRhaWxzLzE3MzY1MTIvCgkJcm5vSW5uZXJodG1sID0gLzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksCgoJCS8vIGNoZWNrZWQ9ImNoZWNrZWQiIG9yIGNoZWNrZWQKCQlyY2hlY2tlZCA9IC9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWNrZWQuKS9pLAoJCXJjbGVhblNjcmlwdCA9IC9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZzsKCi8vIFByZWZlciBhIHRib2R5IG92ZXIgaXRzIHBhcmVudCB0YWJsZSBmb3IgY29udGFpbmluZyBuZXcgcm93cwoJZnVuY3Rpb24gbWFuaXB1bGF0aW9uVGFyZ2V0KCBlbGVtLCBjb250ZW50ICkgewoJCWlmICggbm9kZU5hbWUoIGVsZW0sICJ0YWJsZSIgKSAmJgoJCQlub2RlTmFtZSggY29udGVudC5ub2RlVHlwZSAhPT0gMTEgPyBjb250ZW50IDogY29udGVudC5maXJzdENoaWxkLCAidHIiICkgKSB7CgoJCQlyZXR1cm4galF1ZXJ5KCBlbGVtICkuY2hpbGRyZW4oICJ0Ym9keSIgKVsgMCBdIHx8IGVsZW07CgkJfQoKCQlyZXR1cm4gZWxlbTsKCX0KCi8vIFJlcGxhY2UvcmVzdG9yZSB0aGUgdHlwZSBhdHRyaWJ1dGUgb2Ygc2NyaXB0IGVsZW1lbnRzIGZvciBzYWZlIERPTSBtYW5pcHVsYXRpb24KCWZ1bmN0aW9uIGRpc2FibGVTY3JpcHQoIGVsZW0gKSB7CgkJZWxlbS50eXBlID0gKCBlbGVtLmdldEF0dHJpYnV0ZSggInR5cGUiICkgIT09IG51bGwgKSArICIvIiArIGVsZW0udHlwZTsKCQlyZXR1cm4gZWxlbTsKCX0KCWZ1bmN0aW9uIHJlc3RvcmVTY3JpcHQoIGVsZW0gKSB7CgkJaWYgKCAoIGVsZW0udHlwZSB8fCAiIiApLnNsaWNlKCAwLCA1ICkgPT09ICJ0cnVlLyIgKSB7CgkJCWVsZW0udHlwZSA9IGVsZW0udHlwZS5zbGljZSggNSApOwoJCX0gZWxzZSB7CgkJCWVsZW0ucmVtb3ZlQXR0cmlidXRlKCAidHlwZSIgKTsKCQl9CgoJCXJldHVybiBlbGVtOwoJfQoKCWZ1bmN0aW9uIGNsb25lQ29weUV2ZW50KCBzcmMsIGRlc3QgKSB7CgkJdmFyIGksIGwsIHR5cGUsIHBkYXRhT2xkLCBwZGF0YUN1ciwgdWRhdGFPbGQsIHVkYXRhQ3VyLCBldmVudHM7CgoJCWlmICggZGVzdC5ub2RlVHlwZSAhPT0gMSApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gMS4gQ29weSBwcml2YXRlIGRhdGE6IGV2ZW50cywgaGFuZGxlcnMsIGV0Yy4KCQlpZiAoIGRhdGFQcml2Lmhhc0RhdGEoIHNyYyApICkgewoJCQlwZGF0YU9sZCA9IGRhdGFQcml2LmFjY2Vzcyggc3JjICk7CgkJCXBkYXRhQ3VyID0gZGF0YVByaXYuc2V0KCBkZXN0LCBwZGF0YU9sZCApOwoJCQlldmVudHMgPSBwZGF0YU9sZC5ldmVudHM7CgoJCQlpZiAoIGV2ZW50cyApIHsKCQkJCWRlbGV0ZSBwZGF0YUN1ci5oYW5kbGU7CgkJCQlwZGF0YUN1ci5ldmVudHMgPSB7fTsKCgkJCQlmb3IgKCB0eXBlIGluIGV2ZW50cyApIHsKCQkJCQlmb3IgKCBpID0gMCwgbCA9IGV2ZW50c1sgdHlwZSBdLmxlbmd0aDsgaSA8IGw7IGkrKyApIHsKCQkJCQkJalF1ZXJ5LmV2ZW50LmFkZCggZGVzdCwgdHlwZSwgZXZlbnRzWyB0eXBlIF1bIGkgXSApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJLy8gMi4gQ29weSB1c2VyIGRhdGEKCQlpZiAoIGRhdGFVc2VyLmhhc0RhdGEoIHNyYyApICkgewoJCQl1ZGF0YU9sZCA9IGRhdGFVc2VyLmFjY2Vzcyggc3JjICk7CgkJCXVkYXRhQ3VyID0galF1ZXJ5LmV4dGVuZCgge30sIHVkYXRhT2xkICk7CgoJCQlkYXRhVXNlci5zZXQoIGRlc3QsIHVkYXRhQ3VyICk7CgkJfQoJfQoKLy8gRml4IElFIGJ1Z3MsIHNlZSBzdXBwb3J0IHRlc3RzCglmdW5jdGlvbiBmaXhJbnB1dCggc3JjLCBkZXN0ICkgewoJCXZhciBub2RlTmFtZSA9IGRlc3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCgkJLy8gRmFpbHMgdG8gcGVyc2lzdCB0aGUgY2hlY2tlZCBzdGF0ZSBvZiBhIGNsb25lZCBjaGVja2JveCBvciByYWRpbyBidXR0b24uCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiAmJiByY2hlY2thYmxlVHlwZS50ZXN0KCBzcmMudHlwZSApICkgewoJCQlkZXN0LmNoZWNrZWQgPSBzcmMuY2hlY2tlZDsKCgkJCS8vIEZhaWxzIHRvIHJldHVybiB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBkZWZhdWx0IHNlbGVjdGVkIHN0YXRlIHdoZW4gY2xvbmluZyBvcHRpb25zCgkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJpbnB1dCIgfHwgbm9kZU5hbWUgPT09ICJ0ZXh0YXJlYSIgKSB7CgkJCWRlc3QuZGVmYXVsdFZhbHVlID0gc3JjLmRlZmF1bHRWYWx1ZTsKCQl9Cgl9CgoJZnVuY3Rpb24gZG9tTWFuaXAoIGNvbGxlY3Rpb24sIGFyZ3MsIGNhbGxiYWNrLCBpZ25vcmVkICkgewoKCQkvLyBGbGF0dGVuIGFueSBuZXN0ZWQgYXJyYXlzCgkJYXJncyA9IGNvbmNhdC5hcHBseSggW10sIGFyZ3MgKTsKCgkJdmFyIGZyYWdtZW50LCBmaXJzdCwgc2NyaXB0cywgaGFzU2NyaXB0cywgbm9kZSwgZG9jLAoJCQlpID0gMCwKCQkJbCA9IGNvbGxlY3Rpb24ubGVuZ3RoLAoJCQlpTm9DbG9uZSA9IGwgLSAxLAoJCQl2YWx1ZSA9IGFyZ3NbIDAgXSwKCQkJdmFsdWVJc0Z1bmN0aW9uID0gaXNGdW5jdGlvbiggdmFsdWUgKTsKCgkJLy8gV2UgY2FuJ3QgY2xvbmVOb2RlIGZyYWdtZW50cyB0aGF0IGNvbnRhaW4gY2hlY2tlZCwgaW4gV2ViS2l0CgkJaWYgKCB2YWx1ZUlzRnVuY3Rpb24gfHwKCQkJKCBsID4gMSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmCgkJCQkhc3VwcG9ydC5jaGVja0Nsb25lICYmIHJjaGVja2VkLnRlc3QoIHZhbHVlICkgKSApIHsKCQkJcmV0dXJuIGNvbGxlY3Rpb24uZWFjaCggZnVuY3Rpb24oIGluZGV4ICkgewoJCQkJdmFyIHNlbGYgPSBjb2xsZWN0aW9uLmVxKCBpbmRleCApOwoJCQkJaWYgKCB2YWx1ZUlzRnVuY3Rpb24gKSB7CgkJCQkJYXJnc1sgMCBdID0gdmFsdWUuY2FsbCggdGhpcywgaW5kZXgsIHNlbGYuaHRtbCgpICk7CgkJCQl9CgkJCQlkb21NYW5pcCggc2VsZiwgYXJncywgY2FsbGJhY2ssIGlnbm9yZWQgKTsKCQkJfSApOwoJCX0KCgkJaWYgKCBsICkgewoJCQlmcmFnbWVudCA9IGJ1aWxkRnJhZ21lbnQoIGFyZ3MsIGNvbGxlY3Rpb25bIDAgXS5vd25lckRvY3VtZW50LCBmYWxzZSwgY29sbGVjdGlvbiwgaWdub3JlZCApOwoJCQlmaXJzdCA9IGZyYWdtZW50LmZpcnN0Q2hpbGQ7CgoJCQlpZiAoIGZyYWdtZW50LmNoaWxkTm9kZXMubGVuZ3RoID09PSAxICkgewoJCQkJZnJhZ21lbnQgPSBmaXJzdDsKCQkJfQoKCQkJLy8gUmVxdWlyZSBlaXRoZXIgbmV3IGNvbnRlbnQgb3IgYW4gaW50ZXJlc3QgaW4gaWdub3JlZCBlbGVtZW50cyB0byBpbnZva2UgdGhlIGNhbGxiYWNrCgkJCWlmICggZmlyc3QgfHwgaWdub3JlZCApIHsKCQkJCXNjcmlwdHMgPSBqUXVlcnkubWFwKCBnZXRBbGwoIGZyYWdtZW50LCAic2NyaXB0IiApLCBkaXNhYmxlU2NyaXB0ICk7CgkJCQloYXNTY3JpcHRzID0gc2NyaXB0cy5sZW5ndGg7CgoJCQkJLy8gVXNlIHRoZSBvcmlnaW5hbCBmcmFnbWVudCBmb3IgdGhlIGxhc3QgaXRlbQoJCQkJLy8gaW5zdGVhZCBvZiB0aGUgZmlyc3QgYmVjYXVzZSBpdCBjYW4gZW5kIHVwCgkJCQkvLyBiZWluZyBlbXB0aWVkIGluY29ycmVjdGx5IGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoIzgwNzApLgoJCQkJZm9yICggOyBpIDwgbDsgaSsrICkgewoJCQkJCW5vZGUgPSBmcmFnbWVudDsKCgkJCQkJaWYgKCBpICE9PSBpTm9DbG9uZSApIHsKCQkJCQkJbm9kZSA9IGpRdWVyeS5jbG9uZSggbm9kZSwgdHJ1ZSwgdHJ1ZSApOwoKCQkJCQkJLy8gS2VlcCByZWZlcmVuY2VzIHRvIGNsb25lZCBzY3JpcHRzIGZvciBsYXRlciByZXN0b3JhdGlvbgoJCQkJCQlpZiAoIGhhc1NjcmlwdHMgKSB7CgoJCQkJCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5CgkJCQkJCQkvLyBwdXNoLmFwcGx5KF8sIGFycmF5bGlrZSkgdGhyb3dzIG9uIGFuY2llbnQgV2ViS2l0CgkJCQkJCQlqUXVlcnkubWVyZ2UoIHNjcmlwdHMsIGdldEFsbCggbm9kZSwgInNjcmlwdCIgKSApOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQljYWxsYmFjay5jYWxsKCBjb2xsZWN0aW9uWyBpIF0sIG5vZGUsIGkgKTsKCQkJCX0KCgkJCQlpZiAoIGhhc1NjcmlwdHMgKSB7CgkJCQkJZG9jID0gc2NyaXB0c1sgc2NyaXB0cy5sZW5ndGggLSAxIF0ub3duZXJEb2N1bWVudDsKCgkJCQkJLy8gUmVlbmFibGUgc2NyaXB0cwoJCQkJCWpRdWVyeS5tYXAoIHNjcmlwdHMsIHJlc3RvcmVTY3JpcHQgKTsKCgkJCQkJLy8gRXZhbHVhdGUgZXhlY3V0YWJsZSBzY3JpcHRzIG9uIGZpcnN0IGRvY3VtZW50IGluc2VydGlvbgoJCQkJCWZvciAoIGkgPSAwOyBpIDwgaGFzU2NyaXB0czsgaSsrICkgewoJCQkJCQlub2RlID0gc2NyaXB0c1sgaSBdOwoJCQkJCQlpZiAoIHJzY3JpcHRUeXBlLnRlc3QoIG5vZGUudHlwZSB8fCAiIiApICYmCgkJCQkJCQkhZGF0YVByaXYuYWNjZXNzKCBub2RlLCAiZ2xvYmFsRXZhbCIgKSAmJgoJCQkJCQkJalF1ZXJ5LmNvbnRhaW5zKCBkb2MsIG5vZGUgKSApIHsKCgkJCQkJCQlpZiAoIG5vZGUuc3JjICYmICggbm9kZS50eXBlIHx8ICIiICkudG9Mb3dlckNhc2UoKSAgIT09ICJtb2R1bGUiICkgewoKCQkJCQkJCQkvLyBPcHRpb25hbCBBSkFYIGRlcGVuZGVuY3ksIGJ1dCB3b24ndCBydW4gc2NyaXB0cyBpZiBub3QgcHJlc2VudAoJCQkJCQkJCWlmICggalF1ZXJ5Ll9ldmFsVXJsICkgewoJCQkJCQkJCQlqUXVlcnkuX2V2YWxVcmwoIG5vZGUuc3JjICk7CgkJCQkJCQkJfQoJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQlET01FdmFsKCBub2RlLnRleHRDb250ZW50LnJlcGxhY2UoIHJjbGVhblNjcmlwdCwgIiIgKSwgZG9jLCBub2RlICk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiBjb2xsZWN0aW9uOwoJfQoKCWZ1bmN0aW9uIHJlbW92ZSggZWxlbSwgc2VsZWN0b3IsIGtlZXBEYXRhICkgewoJCXZhciBub2RlLAoJCQlub2RlcyA9IHNlbGVjdG9yID8galF1ZXJ5LmZpbHRlciggc2VsZWN0b3IsIGVsZW0gKSA6IGVsZW0sCgkJCWkgPSAwOwoKCQlmb3IgKCA7ICggbm9kZSA9IG5vZGVzWyBpIF0gKSAhPSBudWxsOyBpKysgKSB7CgkJCWlmICggIWtlZXBEYXRhICYmIG5vZGUubm9kZVR5cGUgPT09IDEgKSB7CgkJCQlqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIG5vZGUgKSApOwoJCQl9CgoJCQlpZiAoIG5vZGUucGFyZW50Tm9kZSApIHsKCQkJCWlmICgga2VlcERhdGEgJiYgalF1ZXJ5LmNvbnRhaW5zKCBub2RlLm93bmVyRG9jdW1lbnQsIG5vZGUgKSApIHsKCQkJCQlzZXRHbG9iYWxFdmFsKCBnZXRBbGwoIG5vZGUsICJzY3JpcHQiICkgKTsKCQkJCX0KCQkJCW5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggbm9kZSApOwoJCQl9CgkJfQoKCQlyZXR1cm4gZWxlbTsKCX0KCglqUXVlcnkuZXh0ZW5kKCB7CgkJaHRtbFByZWZpbHRlcjogZnVuY3Rpb24oIGh0bWwgKSB7CgkJCXJldHVybiBodG1sLnJlcGxhY2UoIHJ4aHRtbFRhZywgIjwkMT48LyQyPiIgKTsKCQl9LAoKCQljbG9uZTogZnVuY3Rpb24oIGVsZW0sIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICkgewoJCQl2YXIgaSwgbCwgc3JjRWxlbWVudHMsIGRlc3RFbGVtZW50cywKCQkJCWNsb25lID0gZWxlbS5jbG9uZU5vZGUoIHRydWUgKSwKCQkJCWluUGFnZSA9IGpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICk7CgoJCQkvLyBGaXggSUUgY2xvbmluZyBpc3N1ZXMKCQkJaWYgKCAhc3VwcG9ydC5ub0Nsb25lQ2hlY2tlZCAmJiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgZWxlbS5ub2RlVHlwZSA9PT0gMTEgKSAmJgoJCQkJIWpRdWVyeS5pc1hNTERvYyggZWxlbSApICkgewoKCQkJCS8vIFdlIGVzY2hldyBTaXp6bGUgaGVyZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29uczogaHR0cHM6Ly9qc3BlcmYuY29tL2dldGFsbC12cy1zaXp6bGUvMgoJCQkJZGVzdEVsZW1lbnRzID0gZ2V0QWxsKCBjbG9uZSApOwoJCQkJc3JjRWxlbWVudHMgPSBnZXRBbGwoIGVsZW0gKTsKCgkJCQlmb3IgKCBpID0gMCwgbCA9IHNyY0VsZW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKyApIHsKCQkJCQlmaXhJbnB1dCggc3JjRWxlbWVudHNbIGkgXSwgZGVzdEVsZW1lbnRzWyBpIF0gKTsKCQkJCX0KCQkJfQoKCQkJLy8gQ29weSB0aGUgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIHRvIHRoZSBjbG9uZQoJCQlpZiAoIGRhdGFBbmRFdmVudHMgKSB7CgkJCQlpZiAoIGRlZXBEYXRhQW5kRXZlbnRzICkgewoJCQkJCXNyY0VsZW1lbnRzID0gc3JjRWxlbWVudHMgfHwgZ2V0QWxsKCBlbGVtICk7CgkJCQkJZGVzdEVsZW1lbnRzID0gZGVzdEVsZW1lbnRzIHx8IGdldEFsbCggY2xvbmUgKTsKCgkJCQkJZm9yICggaSA9IDAsIGwgPSBzcmNFbGVtZW50cy5sZW5ndGg7IGkgPCBsOyBpKysgKSB7CgkJCQkJCWNsb25lQ29weUV2ZW50KCBzcmNFbGVtZW50c1sgaSBdLCBkZXN0RWxlbWVudHNbIGkgXSApOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJY2xvbmVDb3B5RXZlbnQoIGVsZW0sIGNsb25lICk7CgkJCQl9CgkJCX0KCgkJCS8vIFByZXNlcnZlIHNjcmlwdCBldmFsdWF0aW9uIGhpc3RvcnkKCQkJZGVzdEVsZW1lbnRzID0gZ2V0QWxsKCBjbG9uZSwgInNjcmlwdCIgKTsKCQkJaWYgKCBkZXN0RWxlbWVudHMubGVuZ3RoID4gMCApIHsKCQkJCXNldEdsb2JhbEV2YWwoIGRlc3RFbGVtZW50cywgIWluUGFnZSAmJiBnZXRBbGwoIGVsZW0sICJzY3JpcHQiICkgKTsKCQkJfQoKCQkJLy8gUmV0dXJuIHRoZSBjbG9uZWQgc2V0CgkJCXJldHVybiBjbG9uZTsKCQl9LAoKCQljbGVhbkRhdGE6IGZ1bmN0aW9uKCBlbGVtcyApIHsKCQkJdmFyIGRhdGEsIGVsZW0sIHR5cGUsCgkJCQlzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWwsCgkJCQlpID0gMDsKCgkJCWZvciAoIDsgKCBlbGVtID0gZWxlbXNbIGkgXSApICE9PSB1bmRlZmluZWQ7IGkrKyApIHsKCQkJCWlmICggYWNjZXB0RGF0YSggZWxlbSApICkgewoJCQkJCWlmICggKCBkYXRhID0gZWxlbVsgZGF0YVByaXYuZXhwYW5kbyBdICkgKSB7CgkJCQkJCWlmICggZGF0YS5ldmVudHMgKSB7CgkJCQkJCQlmb3IgKCB0eXBlIGluIGRhdGEuZXZlbnRzICkgewoJCQkJCQkJCWlmICggc3BlY2lhbFsgdHlwZSBdICkgewoJCQkJCQkJCQlqUXVlcnkuZXZlbnQucmVtb3ZlKCBlbGVtLCB0eXBlICk7CgoJCQkJCQkJCQkvLyBUaGlzIGlzIGEgc2hvcnRjdXQgdG8gYXZvaWQgalF1ZXJ5LmV2ZW50LnJlbW92ZSdzIG92ZXJoZWFkCgkJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkJalF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBkYXRhLmhhbmRsZSApOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoKCQkJCQkJLy8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NSsKCQkJCQkJLy8gQXNzaWduIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHVzaW5nIGRlbGV0ZSwgc2VlIERhdGEjcmVtb3ZlCgkJCQkJCWVsZW1bIGRhdGFQcml2LmV4cGFuZG8gXSA9IHVuZGVmaW5lZDsKCQkJCQl9CgkJCQkJaWYgKCBlbGVtWyBkYXRhVXNlci5leHBhbmRvIF0gKSB7CgoJCQkJCQkvLyBTdXBwb3J0OiBDaHJvbWUgPD0zNSAtIDQ1KwoJCQkJCQkvLyBBc3NpZ24gdW5kZWZpbmVkIGluc3RlYWQgb2YgdXNpbmcgZGVsZXRlLCBzZWUgRGF0YSNyZW1vdmUKCQkJCQkJZWxlbVsgZGF0YVVzZXIuZXhwYW5kbyBdID0gdW5kZWZpbmVkOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0gKTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJZGV0YWNoOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CgkJCXJldHVybiByZW1vdmUoIHRoaXMsIHNlbGVjdG9yLCB0cnVlICk7CgkJfSwKCgkJcmVtb3ZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CgkJCXJldHVybiByZW1vdmUoIHRoaXMsIHNlbGVjdG9yICk7CgkJfSwKCgkJdGV4dDogZnVuY3Rpb24oIHZhbHVlICkgewoJCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7CgkJCQlyZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/CgkJCQkJalF1ZXJ5LnRleHQoIHRoaXMgKSA6CgkJCQkJdGhpcy5lbXB0eSgpLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJCQlpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHsKCQkJCQkJCXRoaXMudGV4dENvbnRlbnQgPSB2YWx1ZTsKCQkJCQkJfQoJCQkJCX0gKTsKCQkJfSwgbnVsbCwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggKTsKCQl9LAoKCQlhcHBlbmQ6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQlpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHsKCQkJCQl2YXIgdGFyZ2V0ID0gbWFuaXB1bGF0aW9uVGFyZ2V0KCB0aGlzLCBlbGVtICk7CgkJCQkJdGFyZ2V0LmFwcGVuZENoaWxkKCBlbGVtICk7CgkJCQl9CgkJCX0gKTsKCQl9LAoKCQlwcmVwZW5kOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkgewoJCQkJaWYgKCB0aGlzLm5vZGVUeXBlID09PSAxIHx8IHRoaXMubm9kZVR5cGUgPT09IDExIHx8IHRoaXMubm9kZVR5cGUgPT09IDkgKSB7CgkJCQkJdmFyIHRhcmdldCA9IG1hbmlwdWxhdGlvblRhcmdldCggdGhpcywgZWxlbSApOwoJCQkJCXRhcmdldC5pbnNlcnRCZWZvcmUoIGVsZW0sIHRhcmdldC5maXJzdENoaWxkICk7CgkJCQl9CgkJCX0gKTsKCQl9LAoKCQliZWZvcmU6IGZ1bmN0aW9uKCkgewoJCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQlpZiAoIHRoaXMucGFyZW50Tm9kZSApIHsKCQkJCQl0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKCBlbGVtLCB0aGlzICk7CgkJCQl9CgkJCX0gKTsKCQl9LAoKCQlhZnRlcjogZnVuY3Rpb24oKSB7CgkJCXJldHVybiBkb21NYW5pcCggdGhpcywgYXJndW1lbnRzLCBmdW5jdGlvbiggZWxlbSApIHsKCQkJCWlmICggdGhpcy5wYXJlbnROb2RlICkgewoJCQkJCXRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoIGVsZW0sIHRoaXMubmV4dFNpYmxpbmcgKTsKCQkJCX0KCQkJfSApOwoJCX0sCgoJCWVtcHR5OiBmdW5jdGlvbigpIHsKCQkJdmFyIGVsZW0sCgkJCQlpID0gMDsKCgkJCWZvciAoIDsgKCBlbGVtID0gdGhpc1sgaSBdICkgIT0gbnVsbDsgaSsrICkgewoJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgewoKCQkJCQkvLyBQcmV2ZW50IG1lbW9yeSBsZWFrcwoJCQkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggZWxlbSwgZmFsc2UgKSApOwoKCQkJCQkvLyBSZW1vdmUgYW55IHJlbWFpbmluZyBub2RlcwoJCQkJCWVsZW0udGV4dENvbnRlbnQgPSAiIjsKCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCgkJY2xvbmU6IGZ1bmN0aW9uKCBkYXRhQW5kRXZlbnRzLCBkZWVwRGF0YUFuZEV2ZW50cyApIHsKCQkJZGF0YUFuZEV2ZW50cyA9IGRhdGFBbmRFdmVudHMgPT0gbnVsbCA/IGZhbHNlIDogZGF0YUFuZEV2ZW50czsKCQkJZGVlcERhdGFBbmRFdmVudHMgPSBkZWVwRGF0YUFuZEV2ZW50cyA9PSBudWxsID8gZGF0YUFuZEV2ZW50cyA6IGRlZXBEYXRhQW5kRXZlbnRzOwoKCQkJcmV0dXJuIHRoaXMubWFwKCBmdW5jdGlvbigpIHsKCQkJCXJldHVybiBqUXVlcnkuY2xvbmUoIHRoaXMsIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICk7CgkJCX0gKTsKCQl9LAoKCQlodG1sOiBmdW5jdGlvbiggdmFsdWUgKSB7CgkJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCB2YWx1ZSApIHsKCQkJCXZhciBlbGVtID0gdGhpc1sgMCBdIHx8IHt9LAoJCQkJCWkgPSAwLAoJCQkJCWwgPSB0aGlzLmxlbmd0aDsKCgkJCQlpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHsKCQkJCQlyZXR1cm4gZWxlbS5pbm5lckhUTUw7CgkJCQl9CgoJCQkJLy8gU2VlIGlmIHdlIGNhbiB0YWtlIGEgc2hvcnRjdXQgYW5kIGp1c3QgdXNlIGlubmVySFRNTAoJCQkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICYmICFybm9Jbm5lcmh0bWwudGVzdCggdmFsdWUgKSAmJgoJCQkJCSF3cmFwTWFwWyAoIHJ0YWdOYW1lLmV4ZWMoIHZhbHVlICkgfHwgWyAiIiwgIiIgXSApWyAxIF0udG9Mb3dlckNhc2UoKSBdICkgewoKCQkJCQl2YWx1ZSA9IGpRdWVyeS5odG1sUHJlZmlsdGVyKCB2YWx1ZSApOwoKCQkJCQl0cnkgewoJCQkJCQlmb3IgKCA7IGkgPCBsOyBpKysgKSB7CgkJCQkJCQllbGVtID0gdGhpc1sgaSBdIHx8IHt9OwoKCQkJCQkJCS8vIFJlbW92ZSBlbGVtZW50IG5vZGVzIGFuZCBwcmV2ZW50IG1lbW9yeSBsZWFrcwoJCQkJCQkJaWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICkgewoJCQkJCQkJCWpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggZWxlbSwgZmFsc2UgKSApOwoJCQkJCQkJCWVsZW0uaW5uZXJIVE1MID0gdmFsdWU7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCWVsZW0gPSAwOwoKCQkJCQkJLy8gSWYgdXNpbmcgaW5uZXJIVE1MIHRocm93cyBhbiBleGNlcHRpb24sIHVzZSB0aGUgZmFsbGJhY2sgbWV0aG9kCgkJCQkJfSBjYXRjaCAoIGUgKSB7fQoJCQkJfQoKCQkJCWlmICggZWxlbSApIHsKCQkJCQl0aGlzLmVtcHR5KCkuYXBwZW5kKCB2YWx1ZSApOwoJCQkJfQoJCQl9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCApOwoJCX0sCgoJCXJlcGxhY2VXaXRoOiBmdW5jdGlvbigpIHsKCQkJdmFyIGlnbm9yZWQgPSBbXTsKCgkJCS8vIE1ha2UgdGhlIGNoYW5nZXMsIHJlcGxhY2luZyBlYWNoIG5vbi1pZ25vcmVkIGNvbnRleHQgZWxlbWVudCB3aXRoIHRoZSBuZXcgY29udGVudAoJCQlyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQl2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnROb2RlOwoKCQkJCWlmICggalF1ZXJ5LmluQXJyYXkoIHRoaXMsIGlnbm9yZWQgKSA8IDAgKSB7CgkJCQkJalF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCB0aGlzICkgKTsKCQkJCQlpZiAoIHBhcmVudCApIHsKCQkJCQkJcGFyZW50LnJlcGxhY2VDaGlsZCggZWxlbSwgdGhpcyApOwoJCQkJCX0KCQkJCX0KCgkJCQkvLyBGb3JjZSBjYWxsYmFjayBpbnZvY2F0aW9uCgkJCX0sIGlnbm9yZWQgKTsKCQl9Cgl9ICk7CgoJalF1ZXJ5LmVhY2goIHsKCQlhcHBlbmRUbzogImFwcGVuZCIsCgkJcHJlcGVuZFRvOiAicHJlcGVuZCIsCgkJaW5zZXJ0QmVmb3JlOiAiYmVmb3JlIiwKCQlpbnNlcnRBZnRlcjogImFmdGVyIiwKCQlyZXBsYWNlQWxsOiAicmVwbGFjZVdpdGgiCgl9LCBmdW5jdGlvbiggbmFtZSwgb3JpZ2luYWwgKSB7CgkJalF1ZXJ5LmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CgkJCXZhciBlbGVtcywKCQkJCXJldCA9IFtdLAoJCQkJaW5zZXJ0ID0galF1ZXJ5KCBzZWxlY3RvciApLAoJCQkJbGFzdCA9IGluc2VydC5sZW5ndGggLSAxLAoJCQkJaSA9IDA7CgoJCQlmb3IgKCA7IGkgPD0gbGFzdDsgaSsrICkgewoJCQkJZWxlbXMgPSBpID09PSBsYXN0ID8gdGhpcyA6IHRoaXMuY2xvbmUoIHRydWUgKTsKCQkJCWpRdWVyeSggaW5zZXJ0WyBpIF0gKVsgb3JpZ2luYWwgXSggZWxlbXMgKTsKCgkJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHkKCQkJCS8vIC5nZXQoKSBiZWNhdXNlIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXQKCQkJCXB1c2guYXBwbHkoIHJldCwgZWxlbXMuZ2V0KCkgKTsKCQkJfQoKCQkJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCByZXQgKTsKCQl9OwoJfSApOwoJdmFyIHJudW1ub25weCA9IG5ldyBSZWdFeHAoICJeKCIgKyBwbnVtICsgIikoPyFweClbYS16JV0rJCIsICJpIiApOwoKCXZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiggZWxlbSApIHsKCgkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5LCBGaXJlZm94IDw9MzAgKCMxNTA5OCwgIzE0MTUwKQoJCS8vIElFIHRocm93cyBvbiBlbGVtZW50cyBjcmVhdGVkIGluIHBvcHVwcwoJCS8vIEZGIG1lYW53aGlsZSB0aHJvd3Mgb24gZnJhbWUgZWxlbWVudHMgdGhyb3VnaCAiZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSIKCQl2YXIgdmlldyA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzsKCgkJaWYgKCAhdmlldyB8fCAhdmlldy5vcGVuZXIgKSB7CgkJCXZpZXcgPSB3aW5kb3c7CgkJfQoKCQlyZXR1cm4gdmlldy5nZXRDb21wdXRlZFN0eWxlKCBlbGVtICk7Cgl9OwoKCXZhciByYm94U3R5bGUgPSBuZXcgUmVnRXhwKCBjc3NFeHBhbmQuam9pbiggInwiICksICJpIiApOwoKCgoJKCBmdW5jdGlvbigpIHsKCgkJLy8gRXhlY3V0aW5nIGJvdGggcGl4ZWxQb3NpdGlvbiAmIGJveFNpemluZ1JlbGlhYmxlIHRlc3RzIHJlcXVpcmUgb25seSBvbmUgbGF5b3V0CgkJLy8gc28gdGhleSdyZSBleGVjdXRlZCBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgdGhlIHNlY29uZCBjb21wdXRhdGlvbi4KCQlmdW5jdGlvbiBjb21wdXRlU3R5bGVUZXN0cygpIHsKCgkJCS8vIFRoaXMgaXMgYSBzaW5nbGV0b24sIHdlIG5lZWQgdG8gZXhlY3V0ZSBpdCBvbmx5IG9uY2UKCQkJaWYgKCAhZGl2ICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQljb250YWluZXIuc3R5bGUuY3NzVGV4dCA9ICJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7IiArCgkJCQkibWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIjsKCQkJZGl2LnN0eWxlLmNzc1RleHQgPQoJCQkJInBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDsiICsKCQkJCSJtYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4OyIgKwoJCQkJIndpZHRoOjYwJTt0b3A6MSUiOwoJCQlkb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoIGNvbnRhaW5lciApLmFwcGVuZENoaWxkKCBkaXYgKTsKCgkJCXZhciBkaXZTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCBkaXYgKTsKCQkJcGl4ZWxQb3NpdGlvblZhbCA9IGRpdlN0eWxlLnRvcCAhPT0gIjElIjsKCgkJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHksIEZpcmVmb3ggPD0zIC0gNDQKCQkJcmVsaWFibGVNYXJnaW5MZWZ0VmFsID0gcm91bmRQaXhlbE1lYXN1cmVzKCBkaXZTdHlsZS5tYXJnaW5MZWZ0ICkgPT09IDEyOwoKCQkJLy8gU3VwcG9ydDogQW5kcm9pZCA0LjAgLSA0LjMgb25seSwgU2FmYXJpIDw9OS4xIC0gMTAuMSwgaU9TIDw9Ny4wIC0gOS4zCgkJCS8vIFNvbWUgc3R5bGVzIGNvbWUgYmFjayB3aXRoIHBlcmNlbnRhZ2UgdmFsdWVzLCBldmVuIHRob3VnaCB0aGV5IHNob3VsZG4ndAoJCQlkaXYuc3R5bGUucmlnaHQgPSAiNjAlIjsKCQkJcGl4ZWxCb3hTdHlsZXNWYWwgPSByb3VuZFBpeGVsTWVhc3VyZXMoIGRpdlN0eWxlLnJpZ2h0ICkgPT09IDM2OwoKCQkJLy8gU3VwcG9ydDogSUUgOSAtIDExIG9ubHkKCQkJLy8gRGV0ZWN0IG1pc3JlcG9ydGluZyBvZiBjb250ZW50IGRpbWVuc2lvbnMgZm9yIGJveC1zaXppbmc6Ym9yZGVyLWJveCBlbGVtZW50cwoJCQlib3hTaXppbmdSZWxpYWJsZVZhbCA9IHJvdW5kUGl4ZWxNZWFzdXJlcyggZGl2U3R5bGUud2lkdGggKSA9PT0gMzY7CgoJCQkvLyBTdXBwb3J0OiBJRSA5IG9ubHkKCQkJLy8gRGV0ZWN0IG92ZXJmbG93OnNjcm9sbCBzY3Jld2luZXNzIChnaC0zNjk5KQoJCQlkaXYuc3R5bGUucG9zaXRpb24gPSAiYWJzb2x1dGUiOwoJCQlzY3JvbGxib3hTaXplVmFsID0gZGl2Lm9mZnNldFdpZHRoID09PSAzNiB8fCAiYWJzb2x1dGUiOwoKCQkJZG9jdW1lbnRFbGVtZW50LnJlbW92ZUNoaWxkKCBjb250YWluZXIgKTsKCgkJCS8vIE51bGxpZnkgdGhlIGRpdiBzbyBpdCB3b3VsZG4ndCBiZSBzdG9yZWQgaW4gdGhlIG1lbW9yeSBhbmQKCQkJLy8gaXQgd2lsbCBhbHNvIGJlIGEgc2lnbiB0aGF0IGNoZWNrcyBhbHJlYWR5IHBlcmZvcm1lZAoJCQlkaXYgPSBudWxsOwoJCX0KCgkJZnVuY3Rpb24gcm91bmRQaXhlbE1lYXN1cmVzKCBtZWFzdXJlICkgewoJCQlyZXR1cm4gTWF0aC5yb3VuZCggcGFyc2VGbG9hdCggbWVhc3VyZSApICk7CgkJfQoKCQl2YXIgcGl4ZWxQb3NpdGlvblZhbCwgYm94U2l6aW5nUmVsaWFibGVWYWwsIHNjcm9sbGJveFNpemVWYWwsIHBpeGVsQm94U3R5bGVzVmFsLAoJCQlyZWxpYWJsZU1hcmdpbkxlZnRWYWwsCgkJCWNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICksCgkJCWRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICk7CgoJCS8vIEZpbmlzaCBlYXJseSBpbiBsaW1pdGVkIChub24tYnJvd3NlcikgZW52aXJvbm1lbnRzCgkJaWYgKCAhZGl2LnN0eWxlICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSBvbmx5CgkJLy8gU3R5bGUgb2YgY2xvbmVkIGVsZW1lbnQgYWZmZWN0cyBzb3VyY2UgZWxlbWVudCBjbG9uZWQgKCM4OTA4KQoJCWRpdi5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9ICJjb250ZW50LWJveCI7CgkJZGl2LmNsb25lTm9kZSggdHJ1ZSApLnN0eWxlLmJhY2tncm91bmRDbGlwID0gIiI7CgkJc3VwcG9ydC5jbGVhckNsb25lU3R5bGUgPSBkaXYuc3R5bGUuYmFja2dyb3VuZENsaXAgPT09ICJjb250ZW50LWJveCI7CgoJCWpRdWVyeS5leHRlbmQoIHN1cHBvcnQsIHsKCQkJYm94U2l6aW5nUmVsaWFibGU6IGZ1bmN0aW9uKCkgewoJCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsKCQkJCXJldHVybiBib3hTaXppbmdSZWxpYWJsZVZhbDsKCQkJfSwKCQkJcGl4ZWxCb3hTdHlsZXM6IGZ1bmN0aW9uKCkgewoJCQkJY29tcHV0ZVN0eWxlVGVzdHMoKTsKCQkJCXJldHVybiBwaXhlbEJveFN0eWxlc1ZhbDsKCQkJfSwKCQkJcGl4ZWxQb3NpdGlvbjogZnVuY3Rpb24oKSB7CgkJCQljb21wdXRlU3R5bGVUZXN0cygpOwoJCQkJcmV0dXJuIHBpeGVsUG9zaXRpb25WYWw7CgkJCX0sCgkJCXJlbGlhYmxlTWFyZ2luTGVmdDogZnVuY3Rpb24oKSB7CgkJCQljb21wdXRlU3R5bGVUZXN0cygpOwoJCQkJcmV0dXJuIHJlbGlhYmxlTWFyZ2luTGVmdFZhbDsKCQkJfSwKCQkJc2Nyb2xsYm94U2l6ZTogZnVuY3Rpb24oKSB7CgkJCQljb21wdXRlU3R5bGVUZXN0cygpOwoJCQkJcmV0dXJuIHNjcm9sbGJveFNpemVWYWw7CgkJCX0KCQl9ICk7Cgl9ICkoKTsKCgoJZnVuY3Rpb24gY3VyQ1NTKCBlbGVtLCBuYW1lLCBjb21wdXRlZCApIHsKCQl2YXIgd2lkdGgsIG1pbldpZHRoLCBtYXhXaWR0aCwgcmV0LAoKCQkJLy8gU3VwcG9ydDogRmlyZWZveCA1MSsKCQkJLy8gUmV0cmlldmluZyBzdHlsZSBiZWZvcmUgY29tcHV0ZWQgc29tZWhvdwoJCQkvLyBmaXhlcyBhbiBpc3N1ZSB3aXRoIGdldHRpbmcgd3JvbmcgdmFsdWVzCgkJCS8vIG9uIGRldGFjaGVkIGVsZW1lbnRzCgkJCXN0eWxlID0gZWxlbS5zdHlsZTsKCgkJY29tcHV0ZWQgPSBjb21wdXRlZCB8fCBnZXRTdHlsZXMoIGVsZW0gKTsKCgkJLy8gZ2V0UHJvcGVydHlWYWx1ZSBpcyBuZWVkZWQgZm9yOgoJCS8vICAgLmNzcygnZmlsdGVyJykgKElFIDkgb25seSwgIzEyNTM3KQoJCS8vICAgLmNzcygnLS1jdXN0b21Qcm9wZXJ0eSkgKCMzMTQ0KQoJCWlmICggY29tcHV0ZWQgKSB7CgkJCXJldCA9IGNvbXB1dGVkLmdldFByb3BlcnR5VmFsdWUoIG5hbWUgKSB8fCBjb21wdXRlZFsgbmFtZSBdOwoKCQkJaWYgKCByZXQgPT09ICIiICYmICFqUXVlcnkuY29udGFpbnMoIGVsZW0ub3duZXJEb2N1bWVudCwgZWxlbSApICkgewoJCQkJcmV0ID0galF1ZXJ5LnN0eWxlKCBlbGVtLCBuYW1lICk7CgkJCX0KCgkJCS8vIEEgdHJpYnV0ZSB0byB0aGUgImF3ZXNvbWUgaGFjayBieSBEZWFuIEVkd2FyZHMiCgkJCS8vIEFuZHJvaWQgQnJvd3NlciByZXR1cm5zIHBlcmNlbnRhZ2UgZm9yIHNvbWUgdmFsdWVzLAoJCQkvLyBidXQgd2lkdGggc2VlbXMgdG8gYmUgcmVsaWFibHkgcGl4ZWxzLgoJCQkvLyBUaGlzIGlzIGFnYWluc3QgdGhlIENTU09NIGRyYWZ0IHNwZWM6CgkJCS8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS8jcmVzb2x2ZWQtdmFsdWVzCgkJCWlmICggIXN1cHBvcnQucGl4ZWxCb3hTdHlsZXMoKSAmJiBybnVtbm9ucHgudGVzdCggcmV0ICkgJiYgcmJveFN0eWxlLnRlc3QoIG5hbWUgKSApIHsKCgkJCQkvLyBSZW1lbWJlciB0aGUgb3JpZ2luYWwgdmFsdWVzCgkJCQl3aWR0aCA9IHN0eWxlLndpZHRoOwoJCQkJbWluV2lkdGggPSBzdHlsZS5taW5XaWR0aDsKCQkJCW1heFdpZHRoID0gc3R5bGUubWF4V2lkdGg7CgoJCQkJLy8gUHV0IGluIHRoZSBuZXcgdmFsdWVzIHRvIGdldCBhIGNvbXB1dGVkIHZhbHVlIG91dAoJCQkJc3R5bGUubWluV2lkdGggPSBzdHlsZS5tYXhXaWR0aCA9IHN0eWxlLndpZHRoID0gcmV0OwoJCQkJcmV0ID0gY29tcHV0ZWQud2lkdGg7CgoJCQkJLy8gUmV2ZXJ0IHRoZSBjaGFuZ2VkIHZhbHVlcwoJCQkJc3R5bGUud2lkdGggPSB3aWR0aDsKCQkJCXN0eWxlLm1pbldpZHRoID0gbWluV2lkdGg7CgkJCQlzdHlsZS5tYXhXaWR0aCA9IG1heFdpZHRoOwoJCQl9CgkJfQoKCQlyZXR1cm4gcmV0ICE9PSB1bmRlZmluZWQgPwoKCQkJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEgb25seQoJCQkvLyBJRSByZXR1cm5zIHpJbmRleCB2YWx1ZSBhcyBhbiBpbnRlZ2VyLgoJCQlyZXQgKyAiIiA6CgkJCXJldDsKCX0KCgoJZnVuY3Rpb24gYWRkR2V0SG9va0lmKCBjb25kaXRpb25GbiwgaG9va0ZuICkgewoKCQkvLyBEZWZpbmUgdGhlIGhvb2ssIHdlJ2xsIGNoZWNrIG9uIHRoZSBmaXJzdCBydW4gaWYgaXQncyByZWFsbHkgbmVlZGVkLgoJCXJldHVybiB7CgkJCWdldDogZnVuY3Rpb24oKSB7CgkJCQlpZiAoIGNvbmRpdGlvbkZuKCkgKSB7CgoJCQkJCS8vIEhvb2sgbm90IG5lZWRlZCAob3IgaXQncyBub3QgcG9zc2libGUgdG8gdXNlIGl0IGR1ZQoJCQkJCS8vIHRvIG1pc3NpbmcgZGVwZW5kZW5jeSksIHJlbW92ZSBpdC4KCQkJCQlkZWxldGUgdGhpcy5nZXQ7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCS8vIEhvb2sgbmVlZGVkOyByZWRlZmluZSBpdCBzbyB0aGF0IHRoZSBzdXBwb3J0IHRlc3QgaXMgbm90IGV4ZWN1dGVkIGFnYWluLgoJCQkJcmV0dXJuICggdGhpcy5nZXQgPSBob29rRm4gKS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7CgkJCX0KCQl9OwoJfQoKCgl2YXIKCgkJLy8gU3dhcHBhYmxlIGlmIGRpc3BsYXkgaXMgbm9uZSBvciBzdGFydHMgd2l0aCB0YWJsZQoJCS8vIGV4Y2VwdCAidGFibGUiLCAidGFibGUtY2VsbCIsIG9yICJ0YWJsZS1jYXB0aW9uIgoJCS8vIFNlZSBoZXJlIGZvciBkaXNwbGF5IHZhbHVlczogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9DU1MvZGlzcGxheQoJCXJkaXNwbGF5c3dhcCA9IC9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLywKCQlyY3VzdG9tUHJvcCA9IC9eLS0vLAoJCWNzc1Nob3cgPSB7IHBvc2l0aW9uOiAiYWJzb2x1dGUiLCB2aXNpYmlsaXR5OiAiaGlkZGVuIiwgZGlzcGxheTogImJsb2NrIiB9LAoJCWNzc05vcm1hbFRyYW5zZm9ybSA9IHsKCQkJbGV0dGVyU3BhY2luZzogIjAiLAoJCQlmb250V2VpZ2h0OiAiNDAwIgoJCX0sCgoJCWNzc1ByZWZpeGVzID0gWyAiV2Via2l0IiwgIk1veiIsICJtcyIgXSwKCQllbXB0eVN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImRpdiIgKS5zdHlsZTsKCi8vIFJldHVybiBhIGNzcyBwcm9wZXJ0eSBtYXBwZWQgdG8gYSBwb3RlbnRpYWxseSB2ZW5kb3IgcHJlZml4ZWQgcHJvcGVydHkKCWZ1bmN0aW9uIHZlbmRvclByb3BOYW1lKCBuYW1lICkgewoKCQkvLyBTaG9ydGN1dCBmb3IgbmFtZXMgdGhhdCBhcmUgbm90IHZlbmRvciBwcmVmaXhlZAoJCWlmICggbmFtZSBpbiBlbXB0eVN0eWxlICkgewoJCQlyZXR1cm4gbmFtZTsKCQl9CgoJCS8vIENoZWNrIGZvciB2ZW5kb3IgcHJlZml4ZWQgbmFtZXMKCQl2YXIgY2FwTmFtZSA9IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSggMSApLAoJCQlpID0gY3NzUHJlZml4ZXMubGVuZ3RoOwoKCQl3aGlsZSAoIGktLSApIHsKCQkJbmFtZSA9IGNzc1ByZWZpeGVzWyBpIF0gKyBjYXBOYW1lOwoJCQlpZiAoIG5hbWUgaW4gZW1wdHlTdHlsZSApIHsKCQkJCXJldHVybiBuYW1lOwoJCQl9CgkJfQoJfQoKLy8gUmV0dXJuIGEgcHJvcGVydHkgbWFwcGVkIGFsb25nIHdoYXQgalF1ZXJ5LmNzc1Byb3BzIHN1Z2dlc3RzIG9yIHRvCi8vIGEgdmVuZG9yIHByZWZpeGVkIHByb3BlcnR5LgoJZnVuY3Rpb24gZmluYWxQcm9wTmFtZSggbmFtZSApIHsKCQl2YXIgcmV0ID0galF1ZXJ5LmNzc1Byb3BzWyBuYW1lIF07CgkJaWYgKCAhcmV0ICkgewoJCQlyZXQgPSBqUXVlcnkuY3NzUHJvcHNbIG5hbWUgXSA9IHZlbmRvclByb3BOYW1lKCBuYW1lICkgfHwgbmFtZTsKCQl9CgkJcmV0dXJuIHJldDsKCX0KCglmdW5jdGlvbiBzZXRQb3NpdGl2ZU51bWJlciggZWxlbSwgdmFsdWUsIHN1YnRyYWN0ICkgewoKCQkvLyBBbnkgcmVsYXRpdmUgKCsvLSkgdmFsdWVzIGhhdmUgYWxyZWFkeSBiZWVuCgkJLy8gbm9ybWFsaXplZCBhdCB0aGlzIHBvaW50CgkJdmFyIG1hdGNoZXMgPSByY3NzTnVtLmV4ZWMoIHZhbHVlICk7CgkJcmV0dXJuIG1hdGNoZXMgPwoKCQkJLy8gR3VhcmQgYWdhaW5zdCB1bmRlZmluZWQgInN1YnRyYWN0IiwgZS5nLiwgd2hlbiB1c2VkIGFzIGluIGNzc0hvb2tzCgkJCU1hdGgubWF4KCAwLCBtYXRjaGVzWyAyIF0gLSAoIHN1YnRyYWN0IHx8IDAgKSApICsgKCBtYXRjaGVzWyAzIF0gfHwgInB4IiApIDoKCQkJdmFsdWU7Cgl9CgoJZnVuY3Rpb24gYm94TW9kZWxBZGp1c3RtZW50KCBlbGVtLCBkaW1lbnNpb24sIGJveCwgaXNCb3JkZXJCb3gsIHN0eWxlcywgY29tcHV0ZWRWYWwgKSB7CgkJdmFyIGkgPSBkaW1lbnNpb24gPT09ICJ3aWR0aCIgPyAxIDogMCwKCQkJZXh0cmEgPSAwLAoJCQlkZWx0YSA9IDA7CgoJCS8vIEFkanVzdG1lbnQgbWF5IG5vdCBiZSBuZWNlc3NhcnkKCQlpZiAoIGJveCA9PT0gKCBpc0JvcmRlckJveCA/ICJib3JkZXIiIDogImNvbnRlbnQiICkgKSB7CgkJCXJldHVybiAwOwoJCX0KCgkJZm9yICggOyBpIDwgNDsgaSArPSAyICkgewoKCQkJLy8gQm90aCBib3ggbW9kZWxzIGV4Y2x1ZGUgbWFyZ2luCgkJCWlmICggYm94ID09PSAibWFyZ2luIiApIHsKCQkJCWRlbHRhICs9IGpRdWVyeS5jc3MoIGVsZW0sIGJveCArIGNzc0V4cGFuZFsgaSBdLCB0cnVlLCBzdHlsZXMgKTsKCQkJfQoKCQkJLy8gSWYgd2UgZ2V0IGhlcmUgd2l0aCBhIGNvbnRlbnQtYm94LCB3ZSdyZSBzZWVraW5nICJwYWRkaW5nIiBvciAiYm9yZGVyIiBvciAibWFyZ2luIgoJCQlpZiAoICFpc0JvcmRlckJveCApIHsKCgkJCQkvLyBBZGQgcGFkZGluZwoJCQkJZGVsdGEgKz0galF1ZXJ5LmNzcyggZWxlbSwgInBhZGRpbmciICsgY3NzRXhwYW5kWyBpIF0sIHRydWUsIHN0eWxlcyApOwoKCQkJCS8vIEZvciAiYm9yZGVyIiBvciAibWFyZ2luIiwgYWRkIGJvcmRlcgoJCQkJaWYgKCBib3ggIT09ICJwYWRkaW5nIiApIHsKCQkJCQlkZWx0YSArPSBqUXVlcnkuY3NzKCBlbGVtLCAiYm9yZGVyIiArIGNzc0V4cGFuZFsgaSBdICsgIldpZHRoIiwgdHJ1ZSwgc3R5bGVzICk7CgoJCQkJCS8vIEJ1dCBzdGlsbCBrZWVwIHRyYWNrIG9mIGl0IG90aGVyd2lzZQoJCQkJfSBlbHNlIHsKCQkJCQlleHRyYSArPSBqUXVlcnkuY3NzKCBlbGVtLCAiYm9yZGVyIiArIGNzc0V4cGFuZFsgaSBdICsgIldpZHRoIiwgdHJ1ZSwgc3R5bGVzICk7CgkJCQl9CgoJCQkJLy8gSWYgd2UgZ2V0IGhlcmUgd2l0aCBhIGJvcmRlci1ib3ggKGNvbnRlbnQgKyBwYWRkaW5nICsgYm9yZGVyKSwgd2UncmUgc2Vla2luZyAiY29udGVudCIgb3IKCQkJCS8vICJwYWRkaW5nIiBvciAibWFyZ2luIgoJCQl9IGVsc2UgewoKCQkJCS8vIEZvciAiY29udGVudCIsIHN1YnRyYWN0IHBhZGRpbmcKCQkJCWlmICggYm94ID09PSAiY29udGVudCIgKSB7CgkJCQkJZGVsdGEgLT0galF1ZXJ5LmNzcyggZWxlbSwgInBhZGRpbmciICsgY3NzRXhwYW5kWyBpIF0sIHRydWUsIHN0eWxlcyApOwoJCQkJfQoKCQkJCS8vIEZvciAiY29udGVudCIgb3IgInBhZGRpbmciLCBzdWJ0cmFjdCBib3JkZXIKCQkJCWlmICggYm94ICE9PSAibWFyZ2luIiApIHsKCQkJCQlkZWx0YSAtPSBqUXVlcnkuY3NzKCBlbGVtLCAiYm9yZGVyIiArIGNzc0V4cGFuZFsgaSBdICsgIldpZHRoIiwgdHJ1ZSwgc3R5bGVzICk7CgkJCQl9CgkJCX0KCQl9CgoJCS8vIEFjY291bnQgZm9yIHBvc2l0aXZlIGNvbnRlbnQtYm94IHNjcm9sbCBndXR0ZXIgd2hlbiByZXF1ZXN0ZWQgYnkgcHJvdmlkaW5nIGNvbXB1dGVkVmFsCgkJaWYgKCAhaXNCb3JkZXJCb3ggJiYgY29tcHV0ZWRWYWwgPj0gMCApIHsKCgkJCS8vIG9mZnNldFdpZHRoL29mZnNldEhlaWdodCBpcyBhIHJvdW5kZWQgc3VtIG9mIGNvbnRlbnQsIHBhZGRpbmcsIHNjcm9sbCBndXR0ZXIsIGFuZCBib3JkZXIKCQkJLy8gQXNzdW1pbmcgaW50ZWdlciBzY3JvbGwgZ3V0dGVyLCBzdWJ0cmFjdCB0aGUgcmVzdCBhbmQgcm91bmQgZG93bgoJCQlkZWx0YSArPSBNYXRoLm1heCggMCwgTWF0aC5jZWlsKAoJCQkJZWxlbVsgIm9mZnNldCIgKyBkaW1lbnNpb25bIDAgXS50b1VwcGVyQ2FzZSgpICsgZGltZW5zaW9uLnNsaWNlKCAxICkgXSAtCgkJCQljb21wdXRlZFZhbCAtCgkJCQlkZWx0YSAtCgkJCQlleHRyYSAtCgkJCQkwLjUKCQkJKSApOwoJCX0KCgkJcmV0dXJuIGRlbHRhOwoJfQoKCWZ1bmN0aW9uIGdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIGRpbWVuc2lvbiwgZXh0cmEgKSB7CgoJCS8vIFN0YXJ0IHdpdGggY29tcHV0ZWQgc3R5bGUKCQl2YXIgc3R5bGVzID0gZ2V0U3R5bGVzKCBlbGVtICksCgkJCXZhbCA9IGN1ckNTUyggZWxlbSwgZGltZW5zaW9uLCBzdHlsZXMgKSwKCQkJaXNCb3JkZXJCb3ggPSBqUXVlcnkuY3NzKCBlbGVtLCAiYm94U2l6aW5nIiwgZmFsc2UsIHN0eWxlcyApID09PSAiYm9yZGVyLWJveCIsCgkJCXZhbHVlSXNCb3JkZXJCb3ggPSBpc0JvcmRlckJveDsKCgkJLy8gU3VwcG9ydDogRmlyZWZveCA8PTU0CgkJLy8gUmV0dXJuIGEgY29uZm91bmRpbmcgbm9uLXBpeGVsIHZhbHVlIG9yIGZlaWduIGlnbm9yYW5jZSwgYXMgYXBwcm9wcmlhdGUuCgkJaWYgKCBybnVtbm9ucHgudGVzdCggdmFsICkgKSB7CgkJCWlmICggIWV4dHJhICkgewoJCQkJcmV0dXJuIHZhbDsKCQkJfQoJCQl2YWwgPSAiYXV0byI7CgkJfQoKCQkvLyBDaGVjayBmb3Igc3R5bGUgaW4gY2FzZSBhIGJyb3dzZXIgd2hpY2ggcmV0dXJucyB1bnJlbGlhYmxlIHZhbHVlcwoJCS8vIGZvciBnZXRDb21wdXRlZFN0eWxlIHNpbGVudGx5IGZhbGxzIGJhY2sgdG8gdGhlIHJlbGlhYmxlIGVsZW0uc3R5bGUKCQl2YWx1ZUlzQm9yZGVyQm94ID0gdmFsdWVJc0JvcmRlckJveCAmJgoJCQkoIHN1cHBvcnQuYm94U2l6aW5nUmVsaWFibGUoKSB8fCB2YWwgPT09IGVsZW0uc3R5bGVbIGRpbWVuc2lvbiBdICk7CgoJCS8vIEZhbGwgYmFjayB0byBvZmZzZXRXaWR0aC9vZmZzZXRIZWlnaHQgd2hlbiB2YWx1ZSBpcyAiYXV0byIKCQkvLyBUaGlzIGhhcHBlbnMgZm9yIGlubGluZSBlbGVtZW50cyB3aXRoIG5vIGV4cGxpY2l0IHNldHRpbmcgKGdoLTM1NzEpCgkJLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMSAtIDQuMyBvbmx5CgkJLy8gQWxzbyB1c2Ugb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IGZvciBtaXNyZXBvcnRlZCBpbmxpbmUgZGltZW5zaW9ucyAoZ2gtMzYwMikKCQlpZiAoIHZhbCA9PT0gImF1dG8iIHx8CgkJCSFwYXJzZUZsb2F0KCB2YWwgKSAmJiBqUXVlcnkuY3NzKCBlbGVtLCAiZGlzcGxheSIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImlubGluZSIgKSB7CgoJCQl2YWwgPSBlbGVtWyAib2Zmc2V0IiArIGRpbWVuc2lvblsgMCBdLnRvVXBwZXJDYXNlKCkgKyBkaW1lbnNpb24uc2xpY2UoIDEgKSBdOwoKCQkJLy8gb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IHByb3ZpZGUgYm9yZGVyLWJveCB2YWx1ZXMKCQkJdmFsdWVJc0JvcmRlckJveCA9IHRydWU7CgkJfQoKCQkvLyBOb3JtYWxpemUgIiIgYW5kIGF1dG8KCQl2YWwgPSBwYXJzZUZsb2F0KCB2YWwgKSB8fCAwOwoKCQkvLyBBZGp1c3QgZm9yIHRoZSBlbGVtZW50J3MgYm94IG1vZGVsCgkJcmV0dXJuICggdmFsICsKCQkJYm94TW9kZWxBZGp1c3RtZW50KAoJCQkJZWxlbSwKCQkJCWRpbWVuc2lvbiwKCQkJCWV4dHJhIHx8ICggaXNCb3JkZXJCb3ggPyAiYm9yZGVyIiA6ICJjb250ZW50IiApLAoJCQkJdmFsdWVJc0JvcmRlckJveCwKCQkJCXN0eWxlcywKCgkJCQkvLyBQcm92aWRlIHRoZSBjdXJyZW50IGNvbXB1dGVkIHNpemUgdG8gcmVxdWVzdCBzY3JvbGwgZ3V0dGVyIGNhbGN1bGF0aW9uIChnaC0zNTg5KQoJCQkJdmFsCgkJCSkKCQkpICsgInB4IjsKCX0KCglqUXVlcnkuZXh0ZW5kKCB7CgoJCS8vIEFkZCBpbiBzdHlsZSBwcm9wZXJ0eSBob29rcyBmb3Igb3ZlcnJpZGluZyB0aGUgZGVmYXVsdAoJCS8vIGJlaGF2aW9yIG9mIGdldHRpbmcgYW5kIHNldHRpbmcgYSBzdHlsZSBwcm9wZXJ0eQoJCWNzc0hvb2tzOiB7CgkJCW9wYWNpdHk6IHsKCQkJCWdldDogZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkgewoJCQkJCWlmICggY29tcHV0ZWQgKSB7CgoJCQkJCQkvLyBXZSBzaG91bGQgYWx3YXlzIGdldCBhIG51bWJlciBiYWNrIGZyb20gb3BhY2l0eQoJCQkJCQl2YXIgcmV0ID0gY3VyQ1NTKCBlbGVtLCAib3BhY2l0eSIgKTsKCQkJCQkJcmV0dXJuIHJldCA9PT0gIiIgPyAiMSIgOiByZXQ7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCgkJLy8gRG9uJ3QgYXV0b21hdGljYWxseSBhZGQgInB4IiB0byB0aGVzZSBwb3NzaWJseS11bml0bGVzcyBwcm9wZXJ0aWVzCgkJY3NzTnVtYmVyOiB7CgkJCSJhbmltYXRpb25JdGVyYXRpb25Db3VudCI6IHRydWUsCgkJCSJjb2x1bW5Db3VudCI6IHRydWUsCgkJCSJmaWxsT3BhY2l0eSI6IHRydWUsCgkJCSJmbGV4R3JvdyI6IHRydWUsCgkJCSJmbGV4U2hyaW5rIjogdHJ1ZSwKCQkJImZvbnRXZWlnaHQiOiB0cnVlLAoJCQkibGluZUhlaWdodCI6IHRydWUsCgkJCSJvcGFjaXR5IjogdHJ1ZSwKCQkJIm9yZGVyIjogdHJ1ZSwKCQkJIm9ycGhhbnMiOiB0cnVlLAoJCQkid2lkb3dzIjogdHJ1ZSwKCQkJInpJbmRleCI6IHRydWUsCgkJCSJ6b29tIjogdHJ1ZQoJCX0sCgoJCS8vIEFkZCBpbiBwcm9wZXJ0aWVzIHdob3NlIG5hbWVzIHlvdSB3aXNoIHRvIGZpeCBiZWZvcmUKCQkvLyBzZXR0aW5nIG9yIGdldHRpbmcgdGhlIHZhbHVlCgkJY3NzUHJvcHM6IHt9LAoKCQkvLyBHZXQgYW5kIHNldCB0aGUgc3R5bGUgcHJvcGVydHkgb24gYSBET00gTm9kZQoJCXN0eWxlOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUsIGV4dHJhICkgewoKCQkJLy8gRG9uJ3Qgc2V0IHN0eWxlcyBvbiB0ZXh0IGFuZCBjb21tZW50IG5vZGVzCgkJCWlmICggIWVsZW0gfHwgZWxlbS5ub2RlVHlwZSA9PT0gMyB8fCBlbGVtLm5vZGVUeXBlID09PSA4IHx8ICFlbGVtLnN0eWxlICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUKCQkJdmFyIHJldCwgdHlwZSwgaG9va3MsCgkJCQlvcmlnTmFtZSA9IGNhbWVsQ2FzZSggbmFtZSApLAoJCQkJaXNDdXN0b21Qcm9wID0gcmN1c3RvbVByb3AudGVzdCggbmFtZSApLAoJCQkJc3R5bGUgPSBlbGVtLnN0eWxlOwoKCQkJLy8gTWFrZSBzdXJlIHRoYXQgd2UncmUgd29ya2luZyB3aXRoIHRoZSByaWdodCBuYW1lLiBXZSBkb24ndAoJCQkvLyB3YW50IHRvIHF1ZXJ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkKCQkJLy8gc2luY2UgdGhleSBhcmUgdXNlci1kZWZpbmVkLgoJCQlpZiAoICFpc0N1c3RvbVByb3AgKSB7CgkJCQluYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTsKCQkJfQoKCQkJLy8gR2V0cyBob29rIGZvciB0aGUgcHJlZml4ZWQgdmVyc2lvbiwgdGhlbiB1bnByZWZpeGVkIHZlcnNpb24KCQkJaG9va3MgPSBqUXVlcnkuY3NzSG9va3NbIG5hbWUgXSB8fCBqUXVlcnkuY3NzSG9va3NbIG9yaWdOYW1lIF07CgoJCQkvLyBDaGVjayBpZiB3ZSdyZSBzZXR0aW5nIGEgdmFsdWUKCQkJaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkgewoJCQkJdHlwZSA9IHR5cGVvZiB2YWx1ZTsKCgkJCQkvLyBDb252ZXJ0ICIrPSIgb3IgIi09IiB0byByZWxhdGl2ZSBudW1iZXJzICgjNzM0NSkKCQkJCWlmICggdHlwZSA9PT0gInN0cmluZyIgJiYgKCByZXQgPSByY3NzTnVtLmV4ZWMoIHZhbHVlICkgKSAmJiByZXRbIDEgXSApIHsKCQkJCQl2YWx1ZSA9IGFkanVzdENTUyggZWxlbSwgbmFtZSwgcmV0ICk7CgoJCQkJCS8vIEZpeGVzIGJ1ZyAjOTIzNwoJCQkJCXR5cGUgPSAibnVtYmVyIjsKCQkJCX0KCgkJCQkvLyBNYWtlIHN1cmUgdGhhdCBudWxsIGFuZCBOYU4gdmFsdWVzIGFyZW4ndCBzZXQgKCM3MTE2KQoJCQkJaWYgKCB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlICE9PSB2YWx1ZSApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJLy8gSWYgYSBudW1iZXIgd2FzIHBhc3NlZCBpbiwgYWRkIHRoZSB1bml0IChleGNlcHQgZm9yIGNlcnRhaW4gQ1NTIHByb3BlcnRpZXMpCgkJCQlpZiAoIHR5cGUgPT09ICJudW1iZXIiICkgewoJCQkJCXZhbHVlICs9IHJldCAmJiByZXRbIDMgXSB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIG9yaWdOYW1lIF0gPyAiIiA6ICJweCIgKTsKCQkJCX0KCgkJCQkvLyBiYWNrZ3JvdW5kLSogcHJvcHMgYWZmZWN0IG9yaWdpbmFsIGNsb25lJ3MgdmFsdWVzCgkJCQlpZiAoICFzdXBwb3J0LmNsZWFyQ2xvbmVTdHlsZSAmJiB2YWx1ZSA9PT0gIiIgJiYgbmFtZS5pbmRleE9mKCAiYmFja2dyb3VuZCIgKSA9PT0gMCApIHsKCQkJCQlzdHlsZVsgbmFtZSBdID0gImluaGVyaXQiOwoJCQkJfQoKCQkJCS8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQsIHVzZSB0aGF0IHZhbHVlLCBvdGhlcndpc2UganVzdCBzZXQgdGhlIHNwZWNpZmllZCB2YWx1ZQoJCQkJaWYgKCAhaG9va3MgfHwgISggInNldCIgaW4gaG9va3MgKSB8fAoJCQkJCSggdmFsdWUgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBleHRyYSApICkgIT09IHVuZGVmaW5lZCApIHsKCgkJCQkJaWYgKCBpc0N1c3RvbVByb3AgKSB7CgkJCQkJCXN0eWxlLnNldFByb3BlcnR5KCBuYW1lLCB2YWx1ZSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXN0eWxlWyBuYW1lIF0gPSB2YWx1ZTsKCQkJCQl9CgkJCQl9CgoJCQl9IGVsc2UgewoKCQkJCS8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQgZ2V0IHRoZSBub24tY29tcHV0ZWQgdmFsdWUgZnJvbSB0aGVyZQoJCQkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyAmJgoJCQkJCSggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBmYWxzZSwgZXh0cmEgKSApICE9PSB1bmRlZmluZWQgKSB7CgoJCQkJCXJldHVybiByZXQ7CgkJCQl9CgoJCQkJLy8gT3RoZXJ3aXNlIGp1c3QgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBzdHlsZSBvYmplY3QKCQkJCXJldHVybiBzdHlsZVsgbmFtZSBdOwoJCQl9CgkJfSwKCgkJY3NzOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgZXh0cmEsIHN0eWxlcyApIHsKCQkJdmFyIHZhbCwgbnVtLCBob29rcywKCQkJCW9yaWdOYW1lID0gY2FtZWxDYXNlKCBuYW1lICksCgkJCQlpc0N1c3RvbVByb3AgPSByY3VzdG9tUHJvcC50ZXN0KCBuYW1lICk7CgoJCQkvLyBNYWtlIHN1cmUgdGhhdCB3ZSdyZSB3b3JraW5nIHdpdGggdGhlIHJpZ2h0IG5hbWUuIFdlIGRvbid0CgkJCS8vIHdhbnQgdG8gbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHkKCQkJLy8gc2luY2UgdGhleSBhcmUgdXNlci1kZWZpbmVkLgoJCQlpZiAoICFpc0N1c3RvbVByb3AgKSB7CgkJCQluYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTsKCQkJfQoKCQkJLy8gVHJ5IHByZWZpeGVkIG5hbWUgZm9sbG93ZWQgYnkgdGhlIHVucHJlZml4ZWQgbmFtZQoJCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdIHx8IGpRdWVyeS5jc3NIb29rc1sgb3JpZ05hbWUgXTsKCgkJCS8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQgZ2V0IHRoZSBjb21wdXRlZCB2YWx1ZSBmcm9tIHRoZXJlCgkJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgKSB7CgkJCQl2YWwgPSBob29rcy5nZXQoIGVsZW0sIHRydWUsIGV4dHJhICk7CgkJCX0KCgkJCS8vIE90aGVyd2lzZSwgaWYgYSB3YXkgdG8gZ2V0IHRoZSBjb21wdXRlZCB2YWx1ZSBleGlzdHMsIHVzZSB0aGF0CgkJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7CgkJCQl2YWwgPSBjdXJDU1MoIGVsZW0sIG5hbWUsIHN0eWxlcyApOwoJCQl9CgoJCQkvLyBDb252ZXJ0ICJub3JtYWwiIHRvIGNvbXB1dGVkIHZhbHVlCgkJCWlmICggdmFsID09PSAibm9ybWFsIiAmJiBuYW1lIGluIGNzc05vcm1hbFRyYW5zZm9ybSApIHsKCQkJCXZhbCA9IGNzc05vcm1hbFRyYW5zZm9ybVsgbmFtZSBdOwoJCQl9CgoJCQkvLyBNYWtlIG51bWVyaWMgaWYgZm9yY2VkIG9yIGEgcXVhbGlmaWVyIHdhcyBwcm92aWRlZCBhbmQgdmFsIGxvb2tzIG51bWVyaWMKCQkJaWYgKCBleHRyYSA9PT0gIiIgfHwgZXh0cmEgKSB7CgkJCQludW0gPSBwYXJzZUZsb2F0KCB2YWwgKTsKCQkJCXJldHVybiBleHRyYSA9PT0gdHJ1ZSB8fCBpc0Zpbml0ZSggbnVtICkgPyBudW0gfHwgMCA6IHZhbDsKCQkJfQoKCQkJcmV0dXJuIHZhbDsKCQl9Cgl9ICk7CgoJalF1ZXJ5LmVhY2goIFsgImhlaWdodCIsICJ3aWR0aCIgXSwgZnVuY3Rpb24oIGksIGRpbWVuc2lvbiApIHsKCQlqUXVlcnkuY3NzSG9va3NbIGRpbWVuc2lvbiBdID0gewoJCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCwgZXh0cmEgKSB7CgkJCQlpZiAoIGNvbXB1dGVkICkgewoKCQkJCQkvLyBDZXJ0YWluIGVsZW1lbnRzIGNhbiBoYXZlIGRpbWVuc2lvbiBpbmZvIGlmIHdlIGludmlzaWJseSBzaG93IHRoZW0KCQkJCQkvLyBidXQgaXQgbXVzdCBoYXZlIGEgY3VycmVudCBkaXNwbGF5IHN0eWxlIHRoYXQgd291bGQgYmVuZWZpdAoJCQkJCXJldHVybiByZGlzcGxheXN3YXAudGVzdCggalF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICkgKSAmJgoKCQkJCQkvLyBTdXBwb3J0OiBTYWZhcmkgOCsKCQkJCQkvLyBUYWJsZSBjb2x1bW5zIGluIFNhZmFyaSBoYXZlIG5vbi16ZXJvIG9mZnNldFdpZHRoICYgemVybwoJCQkJCS8vIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHVubGVzcyBkaXNwbGF5IGlzIGNoYW5nZWQuCgkJCQkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CgkJCQkJLy8gUnVubmluZyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qgb24gYSBkaXNjb25uZWN0ZWQgbm9kZQoJCQkJCS8vIGluIElFIHRocm93cyBhbiBlcnJvci4KCQkJCQkoICFlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoIHx8ICFlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICkgPwoJCQkJCQlzd2FwKCBlbGVtLCBjc3NTaG93LCBmdW5jdGlvbigpIHsKCQkJCQkJCXJldHVybiBnZXRXaWR0aE9ySGVpZ2h0KCBlbGVtLCBkaW1lbnNpb24sIGV4dHJhICk7CgkJCQkJCX0gKSA6CgkJCQkJCWdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIGRpbWVuc2lvbiwgZXh0cmEgKTsKCQkJCX0KCQkJfSwKCgkJCXNldDogZnVuY3Rpb24oIGVsZW0sIHZhbHVlLCBleHRyYSApIHsKCQkJCXZhciBtYXRjaGVzLAoJCQkJCXN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApLAoJCQkJCWlzQm9yZGVyQm94ID0galF1ZXJ5LmNzcyggZWxlbSwgImJveFNpemluZyIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gImJvcmRlci1ib3giLAoJCQkJCXN1YnRyYWN0ID0gZXh0cmEgJiYgYm94TW9kZWxBZGp1c3RtZW50KAoJCQkJCQllbGVtLAoJCQkJCQlkaW1lbnNpb24sCgkJCQkJCWV4dHJhLAoJCQkJCQlpc0JvcmRlckJveCwKCQkJCQkJc3R5bGVzCgkJCQkJKTsKCgkJCQkvLyBBY2NvdW50IGZvciB1bnJlbGlhYmxlIGJvcmRlci1ib3ggZGltZW5zaW9ucyBieSBjb21wYXJpbmcgb2Zmc2V0KiB0byBjb21wdXRlZCBhbmQKCQkJCS8vIGZha2luZyBhIGNvbnRlbnQtYm94IHRvIGdldCBib3JkZXIgYW5kIHBhZGRpbmcgKGdoLTM2OTkpCgkJCQlpZiAoIGlzQm9yZGVyQm94ICYmIHN1cHBvcnQuc2Nyb2xsYm94U2l6ZSgpID09PSBzdHlsZXMucG9zaXRpb24gKSB7CgkJCQkJc3VidHJhY3QgLT0gTWF0aC5jZWlsKAoJCQkJCQllbGVtWyAib2Zmc2V0IiArIGRpbWVuc2lvblsgMCBdLnRvVXBwZXJDYXNlKCkgKyBkaW1lbnNpb24uc2xpY2UoIDEgKSBdIC0KCQkJCQkJcGFyc2VGbG9hdCggc3R5bGVzWyBkaW1lbnNpb24gXSApIC0KCQkJCQkJYm94TW9kZWxBZGp1c3RtZW50KCBlbGVtLCBkaW1lbnNpb24sICJib3JkZXIiLCBmYWxzZSwgc3R5bGVzICkgLQoJCQkJCQkwLjUKCQkJCQkpOwoJCQkJfQoKCQkJCS8vIENvbnZlcnQgdG8gcGl4ZWxzIGlmIHZhbHVlIGFkanVzdG1lbnQgaXMgbmVlZGVkCgkJCQlpZiAoIHN1YnRyYWN0ICYmICggbWF0Y2hlcyA9IHJjc3NOdW0uZXhlYyggdmFsdWUgKSApICYmCgkJCQkJKCBtYXRjaGVzWyAzIF0gfHwgInB4IiApICE9PSAicHgiICkgewoKCQkJCQllbGVtLnN0eWxlWyBkaW1lbnNpb24gXSA9IHZhbHVlOwoJCQkJCXZhbHVlID0galF1ZXJ5LmNzcyggZWxlbSwgZGltZW5zaW9uICk7CgkJCQl9CgoJCQkJcmV0dXJuIHNldFBvc2l0aXZlTnVtYmVyKCBlbGVtLCB2YWx1ZSwgc3VidHJhY3QgKTsKCQkJfQoJCX07Cgl9ICk7CgoJalF1ZXJ5LmNzc0hvb2tzLm1hcmdpbkxlZnQgPSBhZGRHZXRIb29rSWYoIHN1cHBvcnQucmVsaWFibGVNYXJnaW5MZWZ0LAoJCWZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsKCQkJaWYgKCBjb21wdXRlZCApIHsKCQkJCXJldHVybiAoIHBhcnNlRmxvYXQoIGN1ckNTUyggZWxlbSwgIm1hcmdpbkxlZnQiICkgKSB8fAoJCQkJCWVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtCgkJCQkJc3dhcCggZWxlbSwgeyBtYXJnaW5MZWZ0OiAwIH0sIGZ1bmN0aW9uKCkgewoJCQkJCQlyZXR1cm4gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0OwoJCQkJCX0gKQoJCQkJKSArICJweCI7CgkJCX0KCQl9CgkpOwoKLy8gVGhlc2UgaG9va3MgYXJlIHVzZWQgYnkgYW5pbWF0ZSB0byBleHBhbmQgcHJvcGVydGllcwoJalF1ZXJ5LmVhY2goIHsKCQltYXJnaW46ICIiLAoJCXBhZGRpbmc6ICIiLAoJCWJvcmRlcjogIldpZHRoIgoJfSwgZnVuY3Rpb24oIHByZWZpeCwgc3VmZml4ICkgewoJCWpRdWVyeS5jc3NIb29rc1sgcHJlZml4ICsgc3VmZml4IF0gPSB7CgkJCWV4cGFuZDogZnVuY3Rpb24oIHZhbHVlICkgewoJCQkJdmFyIGkgPSAwLAoJCQkJCWV4cGFuZGVkID0ge30sCgoJCQkJCS8vIEFzc3VtZXMgYSBzaW5nbGUgbnVtYmVyIGlmIG5vdCBhIHN0cmluZwoJCQkJCXBhcnRzID0gdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiA/IHZhbHVlLnNwbGl0KCAiICIgKSA6IFsgdmFsdWUgXTsKCgkJCQlmb3IgKCA7IGkgPCA0OyBpKysgKSB7CgkJCQkJZXhwYW5kZWRbIHByZWZpeCArIGNzc0V4cGFuZFsgaSBdICsgc3VmZml4IF0gPQoJCQkJCQlwYXJ0c1sgaSBdIHx8IHBhcnRzWyBpIC0gMiBdIHx8IHBhcnRzWyAwIF07CgkJCQl9CgoJCQkJcmV0dXJuIGV4cGFuZGVkOwoJCQl9CgkJfTsKCgkJaWYgKCBwcmVmaXggIT09ICJtYXJnaW4iICkgewoJCQlqUXVlcnkuY3NzSG9va3NbIHByZWZpeCArIHN1ZmZpeCBdLnNldCA9IHNldFBvc2l0aXZlTnVtYmVyOwoJCX0KCX0gKTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJY3NzOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7CgkJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCB2YWx1ZSApIHsKCQkJCXZhciBzdHlsZXMsIGxlbiwKCQkJCQltYXAgPSB7fSwKCQkJCQlpID0gMDsKCgkJCQlpZiAoIEFycmF5LmlzQXJyYXkoIG5hbWUgKSApIHsKCQkJCQlzdHlsZXMgPSBnZXRTdHlsZXMoIGVsZW0gKTsKCQkJCQlsZW4gPSBuYW1lLmxlbmd0aDsKCgkJCQkJZm9yICggOyBpIDwgbGVuOyBpKysgKSB7CgkJCQkJCW1hcFsgbmFtZVsgaSBdIF0gPSBqUXVlcnkuY3NzKCBlbGVtLCBuYW1lWyBpIF0sIGZhbHNlLCBzdHlsZXMgKTsKCQkJCQl9CgoJCQkJCXJldHVybiBtYXA7CgkJCQl9CgoJCQkJcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPwoJCQkJCWpRdWVyeS5zdHlsZSggZWxlbSwgbmFtZSwgdmFsdWUgKSA6CgkJCQkJalF1ZXJ5LmNzcyggZWxlbSwgbmFtZSApOwoJCQl9LCBuYW1lLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA+IDEgKTsKCQl9Cgl9ICk7CgoKCWZ1bmN0aW9uIFR3ZWVuKCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZyApIHsKCQlyZXR1cm4gbmV3IFR3ZWVuLnByb3RvdHlwZS5pbml0KCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZyApOwoJfQoJalF1ZXJ5LlR3ZWVuID0gVHdlZW47CgoJVHdlZW4ucHJvdG90eXBlID0gewoJCWNvbnN0cnVjdG9yOiBUd2VlbiwKCQlpbml0OiBmdW5jdGlvbiggZWxlbSwgb3B0aW9ucywgcHJvcCwgZW5kLCBlYXNpbmcsIHVuaXQgKSB7CgkJCXRoaXMuZWxlbSA9IGVsZW07CgkJCXRoaXMucHJvcCA9IHByb3A7CgkJCXRoaXMuZWFzaW5nID0gZWFzaW5nIHx8IGpRdWVyeS5lYXNpbmcuX2RlZmF1bHQ7CgkJCXRoaXMub3B0aW9ucyA9IG9wdGlvbnM7CgkJCXRoaXMuc3RhcnQgPSB0aGlzLm5vdyA9IHRoaXMuY3VyKCk7CgkJCXRoaXMuZW5kID0gZW5kOwoJCQl0aGlzLnVuaXQgPSB1bml0IHx8ICggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdID8gIiIgOiAicHgiICk7CgkJfSwKCQljdXI6IGZ1bmN0aW9uKCkgewoJCQl2YXIgaG9va3MgPSBUd2Vlbi5wcm9wSG9va3NbIHRoaXMucHJvcCBdOwoKCQkJcmV0dXJuIGhvb2tzICYmIGhvb2tzLmdldCA/CgkJCQlob29rcy5nZXQoIHRoaXMgKSA6CgkJCQlUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KCB0aGlzICk7CgkJfSwKCQlydW46IGZ1bmN0aW9uKCBwZXJjZW50ICkgewoJCQl2YXIgZWFzZWQsCgkJCQlob29rcyA9IFR3ZWVuLnByb3BIb29rc1sgdGhpcy5wcm9wIF07CgoJCQlpZiAoIHRoaXMub3B0aW9ucy5kdXJhdGlvbiApIHsKCQkJCXRoaXMucG9zID0gZWFzZWQgPSBqUXVlcnkuZWFzaW5nWyB0aGlzLmVhc2luZyBdKAoJCQkJCXBlcmNlbnQsIHRoaXMub3B0aW9ucy5kdXJhdGlvbiAqIHBlcmNlbnQsIDAsIDEsIHRoaXMub3B0aW9ucy5kdXJhdGlvbgoJCQkJKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMucG9zID0gZWFzZWQgPSBwZXJjZW50OwoJCQl9CgkJCXRoaXMubm93ID0gKCB0aGlzLmVuZCAtIHRoaXMuc3RhcnQgKSAqIGVhc2VkICsgdGhpcy5zdGFydDsKCgkJCWlmICggdGhpcy5vcHRpb25zLnN0ZXAgKSB7CgkJCQl0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKCB0aGlzLmVsZW0sIHRoaXMubm93LCB0aGlzICk7CgkJCX0KCgkJCWlmICggaG9va3MgJiYgaG9va3Muc2V0ICkgewoJCQkJaG9va3Muc2V0KCB0aGlzICk7CgkJCX0gZWxzZSB7CgkJCQlUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KCB0aGlzICk7CgkJCX0KCQkJcmV0dXJuIHRoaXM7CgkJfQoJfTsKCglUd2Vlbi5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGUgPSBUd2Vlbi5wcm90b3R5cGU7CgoJVHdlZW4ucHJvcEhvb2tzID0gewoJCV9kZWZhdWx0OiB7CgkJCWdldDogZnVuY3Rpb24oIHR3ZWVuICkgewoJCQkJdmFyIHJlc3VsdDsKCgkJCQkvLyBVc2UgYSBwcm9wZXJ0eSBvbiB0aGUgZWxlbWVudCBkaXJlY3RseSB3aGVuIGl0IGlzIG5vdCBhIERPTSBlbGVtZW50LAoJCQkJLy8gb3Igd2hlbiB0aGVyZSBpcyBubyBtYXRjaGluZyBzdHlsZSBwcm9wZXJ0eSB0aGF0IGV4aXN0cy4KCQkJCWlmICggdHdlZW4uZWxlbS5ub2RlVHlwZSAhPT0gMSB8fAoJCQkJCXR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXSAhPSBudWxsICYmIHR3ZWVuLmVsZW0uc3R5bGVbIHR3ZWVuLnByb3AgXSA9PSBudWxsICkgewoJCQkJCXJldHVybiB0d2Vlbi5lbGVtWyB0d2Vlbi5wcm9wIF07CgkJCQl9CgoJCQkJLy8gUGFzc2luZyBhbiBlbXB0eSBzdHJpbmcgYXMgYSAzcmQgcGFyYW1ldGVyIHRvIC5jc3Mgd2lsbCBhdXRvbWF0aWNhbGx5CgkJCQkvLyBhdHRlbXB0IGEgcGFyc2VGbG9hdCBhbmQgZmFsbGJhY2sgdG8gYSBzdHJpbmcgaWYgdGhlIHBhcnNlIGZhaWxzLgoJCQkJLy8gU2ltcGxlIHZhbHVlcyBzdWNoIGFzICIxMHB4IiBhcmUgcGFyc2VkIHRvIEZsb2F0OwoJCQkJLy8gY29tcGxleCB2YWx1ZXMgc3VjaCBhcyAicm90YXRlKDFyYWQpIiBhcmUgcmV0dXJuZWQgYXMtaXMuCgkJCQlyZXN1bHQgPSBqUXVlcnkuY3NzKCB0d2Vlbi5lbGVtLCB0d2Vlbi5wcm9wLCAiIiApOwoKCQkJCS8vIEVtcHR5IHN0cmluZ3MsIG51bGwsIHVuZGVmaW5lZCBhbmQgImF1dG8iIGFyZSBjb252ZXJ0ZWQgdG8gMC4KCQkJCXJldHVybiAhcmVzdWx0IHx8IHJlc3VsdCA9PT0gImF1dG8iID8gMCA6IHJlc3VsdDsKCQkJfSwKCQkJc2V0OiBmdW5jdGlvbiggdHdlZW4gKSB7CgoJCQkJLy8gVXNlIHN0ZXAgaG9vayBmb3IgYmFjayBjb21wYXQuCgkJCQkvLyBVc2UgY3NzSG9vayBpZiBpdHMgdGhlcmUuCgkJCQkvLyBVc2UgLnN0eWxlIGlmIGF2YWlsYWJsZSBhbmQgdXNlIHBsYWluIHByb3BlcnRpZXMgd2hlcmUgYXZhaWxhYmxlLgoJCQkJaWYgKCBqUXVlcnkuZnguc3RlcFsgdHdlZW4ucHJvcCBdICkgewoJCQkJCWpRdWVyeS5meC5zdGVwWyB0d2Vlbi5wcm9wIF0oIHR3ZWVuICk7CgkJCQl9IGVsc2UgaWYgKCB0d2Vlbi5lbGVtLm5vZGVUeXBlID09PSAxICYmCgkJCQkJKCB0d2Vlbi5lbGVtLnN0eWxlWyBqUXVlcnkuY3NzUHJvcHNbIHR3ZWVuLnByb3AgXSBdICE9IG51bGwgfHwKCQkJCQkJalF1ZXJ5LmNzc0hvb2tzWyB0d2Vlbi5wcm9wIF0gKSApIHsKCQkJCQlqUXVlcnkuc3R5bGUoIHR3ZWVuLmVsZW0sIHR3ZWVuLnByb3AsIHR3ZWVuLm5vdyArIHR3ZWVuLnVuaXQgKTsKCQkJCX0gZWxzZSB7CgkJCQkJdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93OwoJCQkJfQoJCQl9CgkJfQoJfTsKCi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5Ci8vIFBhbmljIGJhc2VkIGFwcHJvYWNoIHRvIHNldHRpbmcgdGhpbmdzIG9uIGRpc2Nvbm5lY3RlZCBub2RlcwoJVHdlZW4ucHJvcEhvb2tzLnNjcm9sbFRvcCA9IFR3ZWVuLnByb3BIb29rcy5zY3JvbGxMZWZ0ID0gewoJCXNldDogZnVuY3Rpb24oIHR3ZWVuICkgewoJCQlpZiAoIHR3ZWVuLmVsZW0ubm9kZVR5cGUgJiYgdHdlZW4uZWxlbS5wYXJlbnROb2RlICkgewoJCQkJdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93OwoJCQl9CgkJfQoJfTsKCglqUXVlcnkuZWFzaW5nID0gewoJCWxpbmVhcjogZnVuY3Rpb24oIHAgKSB7CgkJCXJldHVybiBwOwoJCX0sCgkJc3dpbmc6IGZ1bmN0aW9uKCBwICkgewoJCQlyZXR1cm4gMC41IC0gTWF0aC5jb3MoIHAgKiBNYXRoLlBJICkgLyAyOwoJCX0sCgkJX2RlZmF1bHQ6ICJzd2luZyIKCX07CgoJalF1ZXJ5LmZ4ID0gVHdlZW4ucHJvdG90eXBlLmluaXQ7CgovLyBCYWNrIGNvbXBhdCA8MS44IGV4dGVuc2lvbiBwb2ludAoJalF1ZXJ5LmZ4LnN0ZXAgPSB7fTsKCgoKCgl2YXIKCQlmeE5vdywgaW5Qcm9ncmVzcywKCQlyZnh0eXBlcyA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLywKCQlycnVuID0gL3F1ZXVlSG9va3MkLzsKCglmdW5jdGlvbiBzY2hlZHVsZSgpIHsKCQlpZiAoIGluUHJvZ3Jlc3MgKSB7CgkJCWlmICggZG9jdW1lbnQuaGlkZGVuID09PSBmYWxzZSAmJiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lICkgewoJCQkJd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSggc2NoZWR1bGUgKTsKCQkJfSBlbHNlIHsKCQkJCXdpbmRvdy5zZXRUaW1lb3V0KCBzY2hlZHVsZSwgalF1ZXJ5LmZ4LmludGVydmFsICk7CgkJCX0KCgkJCWpRdWVyeS5meC50aWNrKCk7CgkJfQoJfQoKLy8gQW5pbWF0aW9ucyBjcmVhdGVkIHN5bmNocm9ub3VzbHkgd2lsbCBydW4gc3luY2hyb25vdXNseQoJZnVuY3Rpb24gY3JlYXRlRnhOb3coKSB7CgkJd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgewoJCQlmeE5vdyA9IHVuZGVmaW5lZDsKCQl9ICk7CgkJcmV0dXJuICggZnhOb3cgPSBEYXRlLm5vdygpICk7Cgl9CgovLyBHZW5lcmF0ZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSBhIHN0YW5kYXJkIGFuaW1hdGlvbgoJZnVuY3Rpb24gZ2VuRngoIHR5cGUsIGluY2x1ZGVXaWR0aCApIHsKCQl2YXIgd2hpY2gsCgkJCWkgPSAwLAoJCQlhdHRycyA9IHsgaGVpZ2h0OiB0eXBlIH07CgoJCS8vIElmIHdlIGluY2x1ZGUgd2lkdGgsIHN0ZXAgdmFsdWUgaXMgMSB0byBkbyBhbGwgY3NzRXhwYW5kIHZhbHVlcywKCQkvLyBvdGhlcndpc2Ugc3RlcCB2YWx1ZSBpcyAyIHRvIHNraXAgb3ZlciBMZWZ0IGFuZCBSaWdodAoJCWluY2x1ZGVXaWR0aCA9IGluY2x1ZGVXaWR0aCA/IDEgOiAwOwoJCWZvciAoIDsgaSA8IDQ7IGkgKz0gMiAtIGluY2x1ZGVXaWR0aCApIHsKCQkJd2hpY2ggPSBjc3NFeHBhbmRbIGkgXTsKCQkJYXR0cnNbICJtYXJnaW4iICsgd2hpY2ggXSA9IGF0dHJzWyAicGFkZGluZyIgKyB3aGljaCBdID0gdHlwZTsKCQl9CgoJCWlmICggaW5jbHVkZVdpZHRoICkgewoJCQlhdHRycy5vcGFjaXR5ID0gYXR0cnMud2lkdGggPSB0eXBlOwoJCX0KCgkJcmV0dXJuIGF0dHJzOwoJfQoKCWZ1bmN0aW9uIGNyZWF0ZVR3ZWVuKCB2YWx1ZSwgcHJvcCwgYW5pbWF0aW9uICkgewoJCXZhciB0d2VlbiwKCQkJY29sbGVjdGlvbiA9ICggQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW10gKS5jb25jYXQoIEFuaW1hdGlvbi50d2VlbmVyc1sgIioiIF0gKSwKCQkJaW5kZXggPSAwLAoJCQlsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aDsKCQlmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgewoJCQlpZiAoICggdHdlZW4gPSBjb2xsZWN0aW9uWyBpbmRleCBdLmNhbGwoIGFuaW1hdGlvbiwgcHJvcCwgdmFsdWUgKSApICkgewoKCQkJCS8vIFdlJ3JlIGRvbmUgd2l0aCB0aGlzIHByb3BlcnR5CgkJCQlyZXR1cm4gdHdlZW47CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gZGVmYXVsdFByZWZpbHRlciggZWxlbSwgcHJvcHMsIG9wdHMgKSB7CgkJdmFyIHByb3AsIHZhbHVlLCB0b2dnbGUsIGhvb2tzLCBvbGRmaXJlLCBwcm9wVHdlZW4sIHJlc3RvcmVEaXNwbGF5LCBkaXNwbGF5LAoJCQlpc0JveCA9ICJ3aWR0aCIgaW4gcHJvcHMgfHwgImhlaWdodCIgaW4gcHJvcHMsCgkJCWFuaW0gPSB0aGlzLAoJCQlvcmlnID0ge30sCgkJCXN0eWxlID0gZWxlbS5zdHlsZSwKCQkJaGlkZGVuID0gZWxlbS5ub2RlVHlwZSAmJiBpc0hpZGRlbldpdGhpblRyZWUoIGVsZW0gKSwKCQkJZGF0YVNob3cgPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJmeHNob3ciICk7CgoJCS8vIFF1ZXVlLXNraXBwaW5nIGFuaW1hdGlvbnMgaGlqYWNrIHRoZSBmeCBob29rcwoJCWlmICggIW9wdHMucXVldWUgKSB7CgkJCWhvb2tzID0galF1ZXJ5Ll9xdWV1ZUhvb2tzKCBlbGVtLCAiZngiICk7CgkJCWlmICggaG9va3MudW5xdWV1ZWQgPT0gbnVsbCApIHsKCQkJCWhvb2tzLnVucXVldWVkID0gMDsKCQkJCW9sZGZpcmUgPSBob29rcy5lbXB0eS5maXJlOwoJCQkJaG9va3MuZW1wdHkuZmlyZSA9IGZ1bmN0aW9uKCkgewoJCQkJCWlmICggIWhvb2tzLnVucXVldWVkICkgewoJCQkJCQlvbGRmaXJlKCk7CgkJCQkJfQoJCQkJfTsKCQkJfQoJCQlob29rcy51bnF1ZXVlZCsrOwoKCQkJYW5pbS5hbHdheXMoIGZ1bmN0aW9uKCkgewoKCQkJCS8vIEVuc3VyZSB0aGUgY29tcGxldGUgaGFuZGxlciBpcyBjYWxsZWQgYmVmb3JlIHRoaXMgY29tcGxldGVzCgkJCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7CgkJCQkJaG9va3MudW5xdWV1ZWQtLTsKCQkJCQlpZiAoICFqUXVlcnkucXVldWUoIGVsZW0sICJmeCIgKS5sZW5ndGggKSB7CgkJCQkJCWhvb2tzLmVtcHR5LmZpcmUoKTsKCQkJCQl9CgkJCQl9ICk7CgkJCX0gKTsKCQl9CgoJCS8vIERldGVjdCBzaG93L2hpZGUgYW5pbWF0aW9ucwoJCWZvciAoIHByb3AgaW4gcHJvcHMgKSB7CgkJCXZhbHVlID0gcHJvcHNbIHByb3AgXTsKCQkJaWYgKCByZnh0eXBlcy50ZXN0KCB2YWx1ZSApICkgewoJCQkJZGVsZXRlIHByb3BzWyBwcm9wIF07CgkJCQl0b2dnbGUgPSB0b2dnbGUgfHwgdmFsdWUgPT09ICJ0b2dnbGUiOwoJCQkJaWYgKCB2YWx1ZSA9PT0gKCBoaWRkZW4gPyAiaGlkZSIgOiAic2hvdyIgKSApIHsKCgkJCQkJLy8gUHJldGVuZCB0byBiZSBoaWRkZW4gaWYgdGhpcyBpcyBhICJzaG93IiBhbmQKCQkJCQkvLyB0aGVyZSBpcyBzdGlsbCBkYXRhIGZyb20gYSBzdG9wcGVkIHNob3cvaGlkZQoJCQkJCWlmICggdmFsdWUgPT09ICJzaG93IiAmJiBkYXRhU2hvdyAmJiBkYXRhU2hvd1sgcHJvcCBdICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJCWhpZGRlbiA9IHRydWU7CgoJCQkJCQkvLyBJZ25vcmUgYWxsIG90aGVyIG5vLW9wIHNob3cvaGlkZSBkYXRhCgkJCQkJfSBlbHNlIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoJCQkJfQoJCQkJb3JpZ1sgcHJvcCBdID0gZGF0YVNob3cgJiYgZGF0YVNob3dbIHByb3AgXSB8fCBqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AgKTsKCQkJfQoJCX0KCgkJLy8gQmFpbCBvdXQgaWYgdGhpcyBpcyBhIG5vLW9wIGxpa2UgLmhpZGUoKS5oaWRlKCkKCQlwcm9wVHdlZW4gPSAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3BzICk7CgkJaWYgKCAhcHJvcFR3ZWVuICYmIGpRdWVyeS5pc0VtcHR5T2JqZWN0KCBvcmlnICkgKSB7CgkJCXJldHVybjsKCQl9CgoJCS8vIFJlc3RyaWN0ICJvdmVyZmxvdyIgYW5kICJkaXNwbGF5IiBzdHlsZXMgZHVyaW5nIGJveCBhbmltYXRpb25zCgkJaWYgKCBpc0JveCAmJiBlbGVtLm5vZGVUeXBlID09PSAxICkgewoKCQkJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEsIEVkZ2UgMTIgLSAxNQoJCQkvLyBSZWNvcmQgYWxsIDMgb3ZlcmZsb3cgYXR0cmlidXRlcyBiZWNhdXNlIElFIGRvZXMgbm90IGluZmVyIHRoZSBzaG9ydGhhbmQKCQkJLy8gZnJvbSBpZGVudGljYWxseS12YWx1ZWQgb3ZlcmZsb3dYIGFuZCBvdmVyZmxvd1kgYW5kIEVkZ2UganVzdCBtaXJyb3JzCgkJCS8vIHRoZSBvdmVyZmxvd1ggdmFsdWUgdGhlcmUuCgkJCW9wdHMub3ZlcmZsb3cgPSBbIHN0eWxlLm92ZXJmbG93LCBzdHlsZS5vdmVyZmxvd1gsIHN0eWxlLm92ZXJmbG93WSBdOwoKCQkJLy8gSWRlbnRpZnkgYSBkaXNwbGF5IHR5cGUsIHByZWZlcnJpbmcgb2xkIHNob3cvaGlkZSBkYXRhIG92ZXIgdGhlIENTUyBjYXNjYWRlCgkJCXJlc3RvcmVEaXNwbGF5ID0gZGF0YVNob3cgJiYgZGF0YVNob3cuZGlzcGxheTsKCQkJaWYgKCByZXN0b3JlRGlzcGxheSA9PSBudWxsICkgewoJCQkJcmVzdG9yZURpc3BsYXkgPSBkYXRhUHJpdi5nZXQoIGVsZW0sICJkaXNwbGF5IiApOwoJCQl9CgkJCWRpc3BsYXkgPSBqUXVlcnkuY3NzKCBlbGVtLCAiZGlzcGxheSIgKTsKCQkJaWYgKCBkaXNwbGF5ID09PSAibm9uZSIgKSB7CgkJCQlpZiAoIHJlc3RvcmVEaXNwbGF5ICkgewoJCQkJCWRpc3BsYXkgPSByZXN0b3JlRGlzcGxheTsKCQkJCX0gZWxzZSB7CgoJCQkJCS8vIEdldCBub25lbXB0eSB2YWx1ZShzKSBieSB0ZW1wb3JhcmlseSBmb3JjaW5nIHZpc2liaWxpdHkKCQkJCQlzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTsKCQkJCQlyZXN0b3JlRGlzcGxheSA9IGVsZW0uc3R5bGUuZGlzcGxheSB8fCByZXN0b3JlRGlzcGxheTsKCQkJCQlkaXNwbGF5ID0galF1ZXJ5LmNzcyggZWxlbSwgImRpc3BsYXkiICk7CgkJCQkJc2hvd0hpZGUoIFsgZWxlbSBdICk7CgkJCQl9CgkJCX0KCgkJCS8vIEFuaW1hdGUgaW5saW5lIGVsZW1lbnRzIGFzIGlubGluZS1ibG9jawoJCQlpZiAoIGRpc3BsYXkgPT09ICJpbmxpbmUiIHx8IGRpc3BsYXkgPT09ICJpbmxpbmUtYmxvY2siICYmIHJlc3RvcmVEaXNwbGF5ICE9IG51bGwgKSB7CgkJCQlpZiAoIGpRdWVyeS5jc3MoIGVsZW0sICJmbG9hdCIgKSA9PT0gIm5vbmUiICkgewoKCQkJCQkvLyBSZXN0b3JlIHRoZSBvcmlnaW5hbCBkaXNwbGF5IHZhbHVlIGF0IHRoZSBlbmQgb2YgcHVyZSBzaG93L2hpZGUgYW5pbWF0aW9ucwoJCQkJCWlmICggIXByb3BUd2VlbiApIHsKCQkJCQkJYW5pbS5kb25lKCBmdW5jdGlvbigpIHsKCQkJCQkJCXN0eWxlLmRpc3BsYXkgPSByZXN0b3JlRGlzcGxheTsKCQkJCQkJfSApOwoJCQkJCQlpZiAoIHJlc3RvcmVEaXNwbGF5ID09IG51bGwgKSB7CgkJCQkJCQlkaXNwbGF5ID0gc3R5bGUuZGlzcGxheTsKCQkJCQkJCXJlc3RvcmVEaXNwbGF5ID0gZGlzcGxheSA9PT0gIm5vbmUiID8gIiIgOiBkaXNwbGF5OwoJCQkJCQl9CgkJCQkJfQoJCQkJCXN0eWxlLmRpc3BsYXkgPSAiaW5saW5lLWJsb2NrIjsKCQkJCX0KCQkJfQoJCX0KCgkJaWYgKCBvcHRzLm92ZXJmbG93ICkgewoJCQlzdHlsZS5vdmVyZmxvdyA9ICJoaWRkZW4iOwoJCQlhbmltLmFsd2F5cyggZnVuY3Rpb24oKSB7CgkJCQlzdHlsZS5vdmVyZmxvdyA9IG9wdHMub3ZlcmZsb3dbIDAgXTsKCQkJCXN0eWxlLm92ZXJmbG93WCA9IG9wdHMub3ZlcmZsb3dbIDEgXTsKCQkJCXN0eWxlLm92ZXJmbG93WSA9IG9wdHMub3ZlcmZsb3dbIDIgXTsKCQkJfSApOwoJCX0KCgkJLy8gSW1wbGVtZW50IHNob3cvaGlkZSBhbmltYXRpb25zCgkJcHJvcFR3ZWVuID0gZmFsc2U7CgkJZm9yICggcHJvcCBpbiBvcmlnICkgewoKCQkJLy8gR2VuZXJhbCBzaG93L2hpZGUgc2V0dXAgZm9yIHRoaXMgZWxlbWVudCBhbmltYXRpb24KCQkJaWYgKCAhcHJvcFR3ZWVuICkgewoJCQkJaWYgKCBkYXRhU2hvdyApIHsKCQkJCQlpZiAoICJoaWRkZW4iIGluIGRhdGFTaG93ICkgewoJCQkJCQloaWRkZW4gPSBkYXRhU2hvdy5oaWRkZW47CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQlkYXRhU2hvdyA9IGRhdGFQcml2LmFjY2VzcyggZWxlbSwgImZ4c2hvdyIsIHsgZGlzcGxheTogcmVzdG9yZURpc3BsYXkgfSApOwoJCQkJfQoKCQkJCS8vIFN0b3JlIGhpZGRlbi92aXNpYmxlIGZvciB0b2dnbGUgc28gYC5zdG9wKCkudG9nZ2xlKClgICJyZXZlcnNlcyIKCQkJCWlmICggdG9nZ2xlICkgewoJCQkJCWRhdGFTaG93LmhpZGRlbiA9ICFoaWRkZW47CgkJCQl9CgoJCQkJLy8gU2hvdyBlbGVtZW50cyBiZWZvcmUgYW5pbWF0aW5nIHRoZW0KCQkJCWlmICggaGlkZGVuICkgewoJCQkJCXNob3dIaWRlKCBbIGVsZW0gXSwgdHJ1ZSApOwoJCQkJfQoKCQkJCS8qIGVzbGludC1kaXNhYmxlIG5vLWxvb3AtZnVuYyAqLwoKCQkJCWFuaW0uZG9uZSggZnVuY3Rpb24oKSB7CgoJCQkJCS8qIGVzbGludC1lbmFibGUgbm8tbG9vcC1mdW5jICovCgoJCQkJCS8vIFRoZSBmaW5hbCBzdGVwIG9mIGEgImhpZGUiIGFuaW1hdGlvbiBpcyBhY3R1YWxseSBoaWRpbmcgdGhlIGVsZW1lbnQKCQkJCQlpZiAoICFoaWRkZW4gKSB7CgkJCQkJCXNob3dIaWRlKCBbIGVsZW0gXSApOwoJCQkJCX0KCQkJCQlkYXRhUHJpdi5yZW1vdmUoIGVsZW0sICJmeHNob3ciICk7CgkJCQkJZm9yICggcHJvcCBpbiBvcmlnICkgewoJCQkJCQlqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AsIG9yaWdbIHByb3AgXSApOwoJCQkJCX0KCQkJCX0gKTsKCQkJfQoKCQkJLy8gUGVyLXByb3BlcnR5IHNldHVwCgkJCXByb3BUd2VlbiA9IGNyZWF0ZVR3ZWVuKCBoaWRkZW4gPyBkYXRhU2hvd1sgcHJvcCBdIDogMCwgcHJvcCwgYW5pbSApOwoJCQlpZiAoICEoIHByb3AgaW4gZGF0YVNob3cgKSApIHsKCQkJCWRhdGFTaG93WyBwcm9wIF0gPSBwcm9wVHdlZW4uc3RhcnQ7CgkJCQlpZiAoIGhpZGRlbiApIHsKCQkJCQlwcm9wVHdlZW4uZW5kID0gcHJvcFR3ZWVuLnN0YXJ0OwoJCQkJCXByb3BUd2Vlbi5zdGFydCA9IDA7CgkJCQl9CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gcHJvcEZpbHRlciggcHJvcHMsIHNwZWNpYWxFYXNpbmcgKSB7CgkJdmFyIGluZGV4LCBuYW1lLCBlYXNpbmcsIHZhbHVlLCBob29rczsKCgkJLy8gY2FtZWxDYXNlLCBzcGVjaWFsRWFzaW5nIGFuZCBleHBhbmQgY3NzSG9vayBwYXNzCgkJZm9yICggaW5kZXggaW4gcHJvcHMgKSB7CgkJCW5hbWUgPSBjYW1lbENhc2UoIGluZGV4ICk7CgkJCWVhc2luZyA9IHNwZWNpYWxFYXNpbmdbIG5hbWUgXTsKCQkJdmFsdWUgPSBwcm9wc1sgaW5kZXggXTsKCQkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWx1ZSApICkgewoJCQkJZWFzaW5nID0gdmFsdWVbIDEgXTsKCQkJCXZhbHVlID0gcHJvcHNbIGluZGV4IF0gPSB2YWx1ZVsgMCBdOwoJCQl9CgoJCQlpZiAoIGluZGV4ICE9PSBuYW1lICkgewoJCQkJcHJvcHNbIG5hbWUgXSA9IHZhbHVlOwoJCQkJZGVsZXRlIHByb3BzWyBpbmRleCBdOwoJCQl9CgoJCQlob29rcyA9IGpRdWVyeS5jc3NIb29rc1sgbmFtZSBdOwoJCQlpZiAoIGhvb2tzICYmICJleHBhbmQiIGluIGhvb2tzICkgewoJCQkJdmFsdWUgPSBob29rcy5leHBhbmQoIHZhbHVlICk7CgkJCQlkZWxldGUgcHJvcHNbIG5hbWUgXTsKCgkJCQkvLyBOb3QgcXVpdGUgJC5leHRlbmQsIHRoaXMgd29uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGtleXMuCgkJCQkvLyBSZXVzaW5nICdpbmRleCcgYmVjYXVzZSB3ZSBoYXZlIHRoZSBjb3JyZWN0ICJuYW1lIgoJCQkJZm9yICggaW5kZXggaW4gdmFsdWUgKSB7CgkJCQkJaWYgKCAhKCBpbmRleCBpbiBwcm9wcyApICkgewoJCQkJCQlwcm9wc1sgaW5kZXggXSA9IHZhbHVlWyBpbmRleCBdOwoJCQkJCQlzcGVjaWFsRWFzaW5nWyBpbmRleCBdID0gZWFzaW5nOwoJCQkJCX0KCQkJCX0KCQkJfSBlbHNlIHsKCQkJCXNwZWNpYWxFYXNpbmdbIG5hbWUgXSA9IGVhc2luZzsKCQkJfQoJCX0KCX0KCglmdW5jdGlvbiBBbmltYXRpb24oIGVsZW0sIHByb3BlcnRpZXMsIG9wdGlvbnMgKSB7CgkJdmFyIHJlc3VsdCwKCQkJc3RvcHBlZCwKCQkJaW5kZXggPSAwLAoJCQlsZW5ndGggPSBBbmltYXRpb24ucHJlZmlsdGVycy5sZW5ndGgsCgkJCWRlZmVycmVkID0galF1ZXJ5LkRlZmVycmVkKCkuYWx3YXlzKCBmdW5jdGlvbigpIHsKCgkJCQkvLyBEb24ndCBtYXRjaCBlbGVtIGluIHRoZSA6YW5pbWF0ZWQgc2VsZWN0b3IKCQkJCWRlbGV0ZSB0aWNrLmVsZW07CgkJCX0gKSwKCQkJdGljayA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCBzdG9wcGVkICkgewoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0KCQkJCXZhciBjdXJyZW50VGltZSA9IGZ4Tm93IHx8IGNyZWF0ZUZ4Tm93KCksCgkJCQkJcmVtYWluaW5nID0gTWF0aC5tYXgoIDAsIGFuaW1hdGlvbi5zdGFydFRpbWUgKyBhbmltYXRpb24uZHVyYXRpb24gLSBjdXJyZW50VGltZSApLAoKCQkJCQkvLyBTdXBwb3J0OiBBbmRyb2lkIDIuMyBvbmx5CgkJCQkJLy8gQXJjaGFpYyBjcmFzaCBidWcgd29uJ3QgYWxsb3cgdXMgdG8gdXNlIGAxIC0gKCAwLjUgfHwgMCApYCAoIzEyNDk3KQoJCQkJCXRlbXAgPSByZW1haW5pbmcgLyBhbmltYXRpb24uZHVyYXRpb24gfHwgMCwKCQkJCQlwZXJjZW50ID0gMSAtIHRlbXAsCgkJCQkJaW5kZXggPSAwLAoJCQkJCWxlbmd0aCA9IGFuaW1hdGlvbi50d2VlbnMubGVuZ3RoOwoKCQkJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CgkJCQkJYW5pbWF0aW9uLnR3ZWVuc1sgaW5kZXggXS5ydW4oIHBlcmNlbnQgKTsKCQkJCX0KCgkJCQlkZWZlcnJlZC5ub3RpZnlXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiwgcGVyY2VudCwgcmVtYWluaW5nIF0gKTsKCgkJCQkvLyBJZiB0aGVyZSdzIG1vcmUgdG8gZG8sIHlpZWxkCgkJCQlpZiAoIHBlcmNlbnQgPCAxICYmIGxlbmd0aCApIHsKCQkJCQlyZXR1cm4gcmVtYWluaW5nOwoJCQkJfQoKCQkJCS8vIElmIHRoaXMgd2FzIGFuIGVtcHR5IGFuaW1hdGlvbiwgc3ludGhlc2l6ZSBhIGZpbmFsIHByb2dyZXNzIG5vdGlmaWNhdGlvbgoJCQkJaWYgKCAhbGVuZ3RoICkgewoJCQkJCWRlZmVycmVkLm5vdGlmeVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCAxLCAwIF0gKTsKCQkJCX0KCgkJCQkvLyBSZXNvbHZlIHRoZSBhbmltYXRpb24gYW5kIHJlcG9ydCBpdHMgY29uY2x1c2lvbgoJCQkJZGVmZXJyZWQucmVzb2x2ZVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uIF0gKTsKCQkJCXJldHVybiBmYWxzZTsKCQkJfSwKCQkJYW5pbWF0aW9uID0gZGVmZXJyZWQucHJvbWlzZSggewoJCQkJZWxlbTogZWxlbSwKCQkJCXByb3BzOiBqUXVlcnkuZXh0ZW5kKCB7fSwgcHJvcGVydGllcyApLAoJCQkJb3B0czogalF1ZXJ5LmV4dGVuZCggdHJ1ZSwgewoJCQkJCXNwZWNpYWxFYXNpbmc6IHt9LAoJCQkJCWVhc2luZzogalF1ZXJ5LmVhc2luZy5fZGVmYXVsdAoJCQkJfSwgb3B0aW9ucyApLAoJCQkJb3JpZ2luYWxQcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLAoJCQkJb3JpZ2luYWxPcHRpb25zOiBvcHRpb25zLAoJCQkJc3RhcnRUaW1lOiBmeE5vdyB8fCBjcmVhdGVGeE5vdygpLAoJCQkJZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24sCgkJCQl0d2VlbnM6IFtdLAoJCQkJY3JlYXRlVHdlZW46IGZ1bmN0aW9uKCBwcm9wLCBlbmQgKSB7CgkJCQkJdmFyIHR3ZWVuID0galF1ZXJ5LlR3ZWVuKCBlbGVtLCBhbmltYXRpb24ub3B0cywgcHJvcCwgZW5kLAoJCQkJCQlhbmltYXRpb24ub3B0cy5zcGVjaWFsRWFzaW5nWyBwcm9wIF0gfHwgYW5pbWF0aW9uLm9wdHMuZWFzaW5nICk7CgkJCQkJYW5pbWF0aW9uLnR3ZWVucy5wdXNoKCB0d2VlbiApOwoJCQkJCXJldHVybiB0d2VlbjsKCQkJCX0sCgkJCQlzdG9wOiBmdW5jdGlvbiggZ290b0VuZCApIHsKCQkJCQl2YXIgaW5kZXggPSAwLAoKCQkJCQkJLy8gSWYgd2UgYXJlIGdvaW5nIHRvIHRoZSBlbmQsIHdlIHdhbnQgdG8gcnVuIGFsbCB0aGUgdHdlZW5zCgkJCQkJCS8vIG90aGVyd2lzZSB3ZSBza2lwIHRoaXMgcGFydAoJCQkJCQlsZW5ndGggPSBnb3RvRW5kID8gYW5pbWF0aW9uLnR3ZWVucy5sZW5ndGggOiAwOwoJCQkJCWlmICggc3RvcHBlZCApIHsKCQkJCQkJcmV0dXJuIHRoaXM7CgkJCQkJfQoJCQkJCXN0b3BwZWQgPSB0cnVlOwoJCQkJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CgkJCQkJCWFuaW1hdGlvbi50d2VlbnNbIGluZGV4IF0ucnVuKCAxICk7CgkJCQkJfQoKCQkJCQkvLyBSZXNvbHZlIHdoZW4gd2UgcGxheWVkIHRoZSBsYXN0IGZyYW1lOyBvdGhlcndpc2UsIHJlamVjdAoJCQkJCWlmICggZ290b0VuZCApIHsKCQkJCQkJZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApOwoJCQkJCQlkZWZlcnJlZC5yZXNvbHZlV2l0aCggZWxlbSwgWyBhbmltYXRpb24sIGdvdG9FbmQgXSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWRlZmVycmVkLnJlamVjdFdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCBnb3RvRW5kIF0gKTsKCQkJCQl9CgkJCQkJcmV0dXJuIHRoaXM7CgkJCQl9CgkJCX0gKSwKCQkJcHJvcHMgPSBhbmltYXRpb24ucHJvcHM7CgoJCXByb3BGaWx0ZXIoIHByb3BzLCBhbmltYXRpb24ub3B0cy5zcGVjaWFsRWFzaW5nICk7CgoJCWZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7CgkJCXJlc3VsdCA9IEFuaW1hdGlvbi5wcmVmaWx0ZXJzWyBpbmRleCBdLmNhbGwoIGFuaW1hdGlvbiwgZWxlbSwgcHJvcHMsIGFuaW1hdGlvbi5vcHRzICk7CgkJCWlmICggcmVzdWx0ICkgewoJCQkJaWYgKCBpc0Z1bmN0aW9uKCByZXN1bHQuc3RvcCApICkgewoJCQkJCWpRdWVyeS5fcXVldWVIb29rcyggYW5pbWF0aW9uLmVsZW0sIGFuaW1hdGlvbi5vcHRzLnF1ZXVlICkuc3RvcCA9CgkJCQkJCXJlc3VsdC5zdG9wLmJpbmQoIHJlc3VsdCApOwoJCQkJfQoJCQkJcmV0dXJuIHJlc3VsdDsKCQkJfQoJCX0KCgkJalF1ZXJ5Lm1hcCggcHJvcHMsIGNyZWF0ZVR3ZWVuLCBhbmltYXRpb24gKTsKCgkJaWYgKCBpc0Z1bmN0aW9uKCBhbmltYXRpb24ub3B0cy5zdGFydCApICkgewoJCQlhbmltYXRpb24ub3B0cy5zdGFydC5jYWxsKCBlbGVtLCBhbmltYXRpb24gKTsKCQl9CgoJCS8vIEF0dGFjaCBjYWxsYmFja3MgZnJvbSBvcHRpb25zCgkJYW5pbWF0aW9uCgkJCS5wcm9ncmVzcyggYW5pbWF0aW9uLm9wdHMucHJvZ3Jlc3MgKQoJCQkuZG9uZSggYW5pbWF0aW9uLm9wdHMuZG9uZSwgYW5pbWF0aW9uLm9wdHMuY29tcGxldGUgKQoJCQkuZmFpbCggYW5pbWF0aW9uLm9wdHMuZmFpbCApCgkJCS5hbHdheXMoIGFuaW1hdGlvbi5vcHRzLmFsd2F5cyApOwoKCQlqUXVlcnkuZngudGltZXIoCgkJCWpRdWVyeS5leHRlbmQoIHRpY2ssIHsKCQkJCWVsZW06IGVsZW0sCgkJCQlhbmltOiBhbmltYXRpb24sCgkJCQlxdWV1ZTogYW5pbWF0aW9uLm9wdHMucXVldWUKCQkJfSApCgkJKTsKCgkJcmV0dXJuIGFuaW1hdGlvbjsKCX0KCglqUXVlcnkuQW5pbWF0aW9uID0galF1ZXJ5LmV4dGVuZCggQW5pbWF0aW9uLCB7CgoJCXR3ZWVuZXJzOiB7CgkJCSIqIjogWyBmdW5jdGlvbiggcHJvcCwgdmFsdWUgKSB7CgkJCQl2YXIgdHdlZW4gPSB0aGlzLmNyZWF0ZVR3ZWVuKCBwcm9wLCB2YWx1ZSApOwoJCQkJYWRqdXN0Q1NTKCB0d2Vlbi5lbGVtLCBwcm9wLCByY3NzTnVtLmV4ZWMoIHZhbHVlICksIHR3ZWVuICk7CgkJCQlyZXR1cm4gdHdlZW47CgkJCX0gXQoJCX0sCgoJCXR3ZWVuZXI6IGZ1bmN0aW9uKCBwcm9wcywgY2FsbGJhY2sgKSB7CgkJCWlmICggaXNGdW5jdGlvbiggcHJvcHMgKSApIHsKCQkJCWNhbGxiYWNrID0gcHJvcHM7CgkJCQlwcm9wcyA9IFsgIioiIF07CgkJCX0gZWxzZSB7CgkJCQlwcm9wcyA9IHByb3BzLm1hdGNoKCBybm90aHRtbHdoaXRlICk7CgkJCX0KCgkJCXZhciBwcm9wLAoJCQkJaW5kZXggPSAwLAoJCQkJbGVuZ3RoID0gcHJvcHMubGVuZ3RoOwoKCQkJZm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHsKCQkJCXByb3AgPSBwcm9wc1sgaW5kZXggXTsKCQkJCUFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdID0gQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW107CgkJCQlBbmltYXRpb24udHdlZW5lcnNbIHByb3AgXS51bnNoaWZ0KCBjYWxsYmFjayApOwoJCQl9CgkJfSwKCgkJcHJlZmlsdGVyczogWyBkZWZhdWx0UHJlZmlsdGVyIF0sCgoJCXByZWZpbHRlcjogZnVuY3Rpb24oIGNhbGxiYWNrLCBwcmVwZW5kICkgewoJCQlpZiAoIHByZXBlbmQgKSB7CgkJCQlBbmltYXRpb24ucHJlZmlsdGVycy51bnNoaWZ0KCBjYWxsYmFjayApOwoJCQl9IGVsc2UgewoJCQkJQW5pbWF0aW9uLnByZWZpbHRlcnMucHVzaCggY2FsbGJhY2sgKTsKCQkJfQoJCX0KCX0gKTsKCglqUXVlcnkuc3BlZWQgPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgZm4gKSB7CgkJdmFyIG9wdCA9IHNwZWVkICYmIHR5cGVvZiBzcGVlZCA9PT0gIm9iamVjdCIgPyBqUXVlcnkuZXh0ZW5kKCB7fSwgc3BlZWQgKSA6IHsKCQkJY29tcGxldGU6IGZuIHx8ICFmbiAmJiBlYXNpbmcgfHwKCQkJaXNGdW5jdGlvbiggc3BlZWQgKSAmJiBzcGVlZCwKCQkJZHVyYXRpb246IHNwZWVkLAoJCQllYXNpbmc6IGZuICYmIGVhc2luZyB8fCBlYXNpbmcgJiYgIWlzRnVuY3Rpb24oIGVhc2luZyApICYmIGVhc2luZwoJCX07CgoJCS8vIEdvIHRvIHRoZSBlbmQgc3RhdGUgaWYgZnggYXJlIG9mZgoJCWlmICggalF1ZXJ5LmZ4Lm9mZiApIHsKCQkJb3B0LmR1cmF0aW9uID0gMDsKCgkJfSBlbHNlIHsKCQkJaWYgKCB0eXBlb2Ygb3B0LmR1cmF0aW9uICE9PSAibnVtYmVyIiApIHsKCQkJCWlmICggb3B0LmR1cmF0aW9uIGluIGpRdWVyeS5meC5zcGVlZHMgKSB7CgkJCQkJb3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkc1sgb3B0LmR1cmF0aW9uIF07CgoJCQkJfSBlbHNlIHsKCQkJCQlvcHQuZHVyYXRpb24gPSBqUXVlcnkuZnguc3BlZWRzLl9kZWZhdWx0OwoJCQkJfQoJCQl9CgkJfQoKCQkvLyBOb3JtYWxpemUgb3B0LnF1ZXVlIC0gdHJ1ZS91bmRlZmluZWQvbnVsbCAtPiAiZngiCgkJaWYgKCBvcHQucXVldWUgPT0gbnVsbCB8fCBvcHQucXVldWUgPT09IHRydWUgKSB7CgkJCW9wdC5xdWV1ZSA9ICJmeCI7CgkJfQoKCQkvLyBRdWV1ZWluZwoJCW9wdC5vbGQgPSBvcHQuY29tcGxldGU7CgoJCW9wdC5jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewoJCQlpZiAoIGlzRnVuY3Rpb24oIG9wdC5vbGQgKSApIHsKCQkJCW9wdC5vbGQuY2FsbCggdGhpcyApOwoJCQl9CgoJCQlpZiAoIG9wdC5xdWV1ZSApIHsKCQkJCWpRdWVyeS5kZXF1ZXVlKCB0aGlzLCBvcHQucXVldWUgKTsKCQkJfQoJCX07CgoJCXJldHVybiBvcHQ7Cgl9OwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCQlmYWRlVG86IGZ1bmN0aW9uKCBzcGVlZCwgdG8sIGVhc2luZywgY2FsbGJhY2sgKSB7CgoJCQkvLyBTaG93IGFueSBoaWRkZW4gZWxlbWVudHMgYWZ0ZXIgc2V0dGluZyBvcGFjaXR5IHRvIDAKCQkJcmV0dXJuIHRoaXMuZmlsdGVyKCBpc0hpZGRlbldpdGhpblRyZWUgKS5jc3MoICJvcGFjaXR5IiwgMCApLnNob3coKQoKCQkJLy8gQW5pbWF0ZSB0byB0aGUgdmFsdWUgc3BlY2lmaWVkCgkJCQkuZW5kKCkuYW5pbWF0ZSggeyBvcGFjaXR5OiB0byB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApOwoJCX0sCgkJYW5pbWF0ZTogZnVuY3Rpb24oIHByb3AsIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICkgewoJCQl2YXIgZW1wdHkgPSBqUXVlcnkuaXNFbXB0eU9iamVjdCggcHJvcCApLAoJCQkJb3B0YWxsID0galF1ZXJ5LnNwZWVkKCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApLAoJCQkJZG9BbmltYXRpb24gPSBmdW5jdGlvbigpIHsKCgkJCQkJLy8gT3BlcmF0ZSBvbiBhIGNvcHkgb2YgcHJvcCBzbyBwZXItcHJvcGVydHkgZWFzaW5nIHdvbid0IGJlIGxvc3QKCQkJCQl2YXIgYW5pbSA9IEFuaW1hdGlvbiggdGhpcywgalF1ZXJ5LmV4dGVuZCgge30sIHByb3AgKSwgb3B0YWxsICk7CgoJCQkJCS8vIEVtcHR5IGFuaW1hdGlvbnMsIG9yIGZpbmlzaGluZyByZXNvbHZlcyBpbW1lZGlhdGVseQoJCQkJCWlmICggZW1wdHkgfHwgZGF0YVByaXYuZ2V0KCB0aGlzLCAiZmluaXNoIiApICkgewoJCQkJCQlhbmltLnN0b3AoIHRydWUgKTsKCQkJCQl9CgkJCQl9OwoJCQlkb0FuaW1hdGlvbi5maW5pc2ggPSBkb0FuaW1hdGlvbjsKCgkJCXJldHVybiBlbXB0eSB8fCBvcHRhbGwucXVldWUgPT09IGZhbHNlID8KCQkJCXRoaXMuZWFjaCggZG9BbmltYXRpb24gKSA6CgkJCQl0aGlzLnF1ZXVlKCBvcHRhbGwucXVldWUsIGRvQW5pbWF0aW9uICk7CgkJfSwKCQlzdG9wOiBmdW5jdGlvbiggdHlwZSwgY2xlYXJRdWV1ZSwgZ290b0VuZCApIHsKCQkJdmFyIHN0b3BRdWV1ZSA9IGZ1bmN0aW9uKCBob29rcyApIHsKCQkJCXZhciBzdG9wID0gaG9va3Muc3RvcDsKCQkJCWRlbGV0ZSBob29rcy5zdG9wOwoJCQkJc3RvcCggZ290b0VuZCApOwoJCQl9OwoKCQkJaWYgKCB0eXBlb2YgdHlwZSAhPT0gInN0cmluZyIgKSB7CgkJCQlnb3RvRW5kID0gY2xlYXJRdWV1ZTsKCQkJCWNsZWFyUXVldWUgPSB0eXBlOwoJCQkJdHlwZSA9IHVuZGVmaW5lZDsKCQkJfQoJCQlpZiAoIGNsZWFyUXVldWUgJiYgdHlwZSAhPT0gZmFsc2UgKSB7CgkJCQl0aGlzLnF1ZXVlKCB0eXBlIHx8ICJmeCIsIFtdICk7CgkJCX0KCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJdmFyIGRlcXVldWUgPSB0cnVlLAoJCQkJCWluZGV4ID0gdHlwZSAhPSBudWxsICYmIHR5cGUgKyAicXVldWVIb29rcyIsCgkJCQkJdGltZXJzID0galF1ZXJ5LnRpbWVycywKCQkJCQlkYXRhID0gZGF0YVByaXYuZ2V0KCB0aGlzICk7CgoJCQkJaWYgKCBpbmRleCApIHsKCQkJCQlpZiAoIGRhdGFbIGluZGV4IF0gJiYgZGF0YVsgaW5kZXggXS5zdG9wICkgewoJCQkJCQlzdG9wUXVldWUoIGRhdGFbIGluZGV4IF0gKTsKCQkJCQl9CgkJCQl9IGVsc2UgewoJCQkJCWZvciAoIGluZGV4IGluIGRhdGEgKSB7CgkJCQkJCWlmICggZGF0YVsgaW5kZXggXSAmJiBkYXRhWyBpbmRleCBdLnN0b3AgJiYgcnJ1bi50ZXN0KCBpbmRleCApICkgewoJCQkJCQkJc3RvcFF1ZXVlKCBkYXRhWyBpbmRleCBdICk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJZm9yICggaW5kZXggPSB0aW1lcnMubGVuZ3RoOyBpbmRleC0tOyApIHsKCQkJCQlpZiAoIHRpbWVyc1sgaW5kZXggXS5lbGVtID09PSB0aGlzICYmCgkJCQkJCSggdHlwZSA9PSBudWxsIHx8IHRpbWVyc1sgaW5kZXggXS5xdWV1ZSA9PT0gdHlwZSApICkgewoKCQkJCQkJdGltZXJzWyBpbmRleCBdLmFuaW0uc3RvcCggZ290b0VuZCApOwoJCQkJCQlkZXF1ZXVlID0gZmFsc2U7CgkJCQkJCXRpbWVycy5zcGxpY2UoIGluZGV4LCAxICk7CgkJCQkJfQoJCQkJfQoKCQkJCS8vIFN0YXJ0IHRoZSBuZXh0IGluIHRoZSBxdWV1ZSBpZiB0aGUgbGFzdCBzdGVwIHdhc24ndCBmb3JjZWQuCgkJCQkvLyBUaW1lcnMgY3VycmVudGx5IHdpbGwgY2FsbCB0aGVpciBjb21wbGV0ZSBjYWxsYmFja3MsIHdoaWNoCgkJCQkvLyB3aWxsIGRlcXVldWUgYnV0IG9ubHkgaWYgdGhleSB3ZXJlIGdvdG9FbmQuCgkJCQlpZiAoIGRlcXVldWUgfHwgIWdvdG9FbmQgKSB7CgkJCQkJalF1ZXJ5LmRlcXVldWUoIHRoaXMsIHR5cGUgKTsKCQkJCX0KCQkJfSApOwoJCX0sCgkJZmluaXNoOiBmdW5jdGlvbiggdHlwZSApIHsKCQkJaWYgKCB0eXBlICE9PSBmYWxzZSApIHsKCQkJCXR5cGUgPSB0eXBlIHx8ICJmeCI7CgkJCX0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7CgkJCQl2YXIgaW5kZXgsCgkJCQkJZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApLAoJCQkJCXF1ZXVlID0gZGF0YVsgdHlwZSArICJxdWV1ZSIgXSwKCQkJCQlob29rcyA9IGRhdGFbIHR5cGUgKyAicXVldWVIb29rcyIgXSwKCQkJCQl0aW1lcnMgPSBqUXVlcnkudGltZXJzLAoJCQkJCWxlbmd0aCA9IHF1ZXVlID8gcXVldWUubGVuZ3RoIDogMDsKCgkJCQkvLyBFbmFibGUgZmluaXNoaW5nIGZsYWcgb24gcHJpdmF0ZSBkYXRhCgkJCQlkYXRhLmZpbmlzaCA9IHRydWU7CgoJCQkJLy8gRW1wdHkgdGhlIHF1ZXVlIGZpcnN0CgkJCQlqUXVlcnkucXVldWUoIHRoaXMsIHR5cGUsIFtdICk7CgoJCQkJaWYgKCBob29rcyAmJiBob29rcy5zdG9wICkgewoJCQkJCWhvb2tzLnN0b3AuY2FsbCggdGhpcywgdHJ1ZSApOwoJCQkJfQoKCQkJCS8vIExvb2sgZm9yIGFueSBhY3RpdmUgYW5pbWF0aW9ucywgYW5kIGZpbmlzaCB0aGVtCgkJCQlmb3IgKCBpbmRleCA9IHRpbWVycy5sZW5ndGg7IGluZGV4LS07ICkgewoJCQkJCWlmICggdGltZXJzWyBpbmRleCBdLmVsZW0gPT09IHRoaXMgJiYgdGltZXJzWyBpbmRleCBdLnF1ZXVlID09PSB0eXBlICkgewoJCQkJCQl0aW1lcnNbIGluZGV4IF0uYW5pbS5zdG9wKCB0cnVlICk7CgkJCQkJCXRpbWVycy5zcGxpY2UoIGluZGV4LCAxICk7CgkJCQkJfQoJCQkJfQoKCQkJCS8vIExvb2sgZm9yIGFueSBhbmltYXRpb25zIGluIHRoZSBvbGQgcXVldWUgYW5kIGZpbmlzaCB0aGVtCgkJCQlmb3IgKCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkgewoJCQkJCWlmICggcXVldWVbIGluZGV4IF0gJiYgcXVldWVbIGluZGV4IF0uZmluaXNoICkgewoJCQkJCQlxdWV1ZVsgaW5kZXggXS5maW5pc2guY2FsbCggdGhpcyApOwoJCQkJCX0KCQkJCX0KCgkJCQkvLyBUdXJuIG9mZiBmaW5pc2hpbmcgZmxhZwoJCQkJZGVsZXRlIGRhdGEuZmluaXNoOwoJCQl9ICk7CgkJfQoJfSApOwoKCWpRdWVyeS5lYWNoKCBbICJ0b2dnbGUiLCAic2hvdyIsICJoaWRlIiBdLCBmdW5jdGlvbiggaSwgbmFtZSApIHsKCQl2YXIgY3NzRm4gPSBqUXVlcnkuZm5bIG5hbWUgXTsKCQlqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsKCQkJcmV0dXJuIHNwZWVkID09IG51bGwgfHwgdHlwZW9mIHNwZWVkID09PSAiYm9vbGVhbiIgPwoJCQkJY3NzRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApIDoKCQkJCXRoaXMuYW5pbWF0ZSggZ2VuRngoIG5hbWUsIHRydWUgKSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsKCQl9OwoJfSApOwoKLy8gR2VuZXJhdGUgc2hvcnRjdXRzIGZvciBjdXN0b20gYW5pbWF0aW9ucwoJalF1ZXJ5LmVhY2goIHsKCQlzbGlkZURvd246IGdlbkZ4KCAic2hvdyIgKSwKCQlzbGlkZVVwOiBnZW5GeCggImhpZGUiICksCgkJc2xpZGVUb2dnbGU6IGdlbkZ4KCAidG9nZ2xlIiApLAoJCWZhZGVJbjogeyBvcGFjaXR5OiAic2hvdyIgfSwKCQlmYWRlT3V0OiB7IG9wYWNpdHk6ICJoaWRlIiB9LAoJCWZhZGVUb2dnbGU6IHsgb3BhY2l0eTogInRvZ2dsZSIgfQoJfSwgZnVuY3Rpb24oIG5hbWUsIHByb3BzICkgewoJCWpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICkgewoJCQlyZXR1cm4gdGhpcy5hbmltYXRlKCBwcm9wcywgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsKCQl9OwoJfSApOwoKCWpRdWVyeS50aW1lcnMgPSBbXTsKCWpRdWVyeS5meC50aWNrID0gZnVuY3Rpb24oKSB7CgkJdmFyIHRpbWVyLAoJCQlpID0gMCwKCQkJdGltZXJzID0galF1ZXJ5LnRpbWVyczsKCgkJZnhOb3cgPSBEYXRlLm5vdygpOwoKCQlmb3IgKCA7IGkgPCB0aW1lcnMubGVuZ3RoOyBpKysgKSB7CgkJCXRpbWVyID0gdGltZXJzWyBpIF07CgoJCQkvLyBSdW4gdGhlIHRpbWVyIGFuZCBzYWZlbHkgcmVtb3ZlIGl0IHdoZW4gZG9uZSAoYWxsb3dpbmcgZm9yIGV4dGVybmFsIHJlbW92YWwpCgkJCWlmICggIXRpbWVyKCkgJiYgdGltZXJzWyBpIF0gPT09IHRpbWVyICkgewoJCQkJdGltZXJzLnNwbGljZSggaS0tLCAxICk7CgkJCX0KCQl9CgoJCWlmICggIXRpbWVycy5sZW5ndGggKSB7CgkJCWpRdWVyeS5meC5zdG9wKCk7CgkJfQoJCWZ4Tm93ID0gdW5kZWZpbmVkOwoJfTsKCglqUXVlcnkuZngudGltZXIgPSBmdW5jdGlvbiggdGltZXIgKSB7CgkJalF1ZXJ5LnRpbWVycy5wdXNoKCB0aW1lciApOwoJCWpRdWVyeS5meC5zdGFydCgpOwoJfTsKCglqUXVlcnkuZnguaW50ZXJ2YWwgPSAxMzsKCWpRdWVyeS5meC5zdGFydCA9IGZ1bmN0aW9uKCkgewoJCWlmICggaW5Qcm9ncmVzcyApIHsKCQkJcmV0dXJuOwoJCX0KCgkJaW5Qcm9ncmVzcyA9IHRydWU7CgkJc2NoZWR1bGUoKTsKCX07CgoJalF1ZXJ5LmZ4LnN0b3AgPSBmdW5jdGlvbigpIHsKCQlpblByb2dyZXNzID0gbnVsbDsKCX07CgoJalF1ZXJ5LmZ4LnNwZWVkcyA9IHsKCQlzbG93OiA2MDAsCgkJZmFzdDogMjAwLAoKCQkvLyBEZWZhdWx0IHNwZWVkCgkJX2RlZmF1bHQ6IDQwMAoJfTsKCgovLyBCYXNlZCBvZmYgb2YgdGhlIHBsdWdpbiBieSBDbGludCBIZWxmZXJzLCB3aXRoIHBlcm1pc3Npb24uCi8vIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDEwMDMyNDAxNDc0Ny9odHRwOi8vYmxpbmRzaWduYWxzLmNvbS9pbmRleC5waHAvMjAwOS8wNy9qcXVlcnktZGVsYXkvCglqUXVlcnkuZm4uZGVsYXkgPSBmdW5jdGlvbiggdGltZSwgdHlwZSApIHsKCQl0aW1lID0galF1ZXJ5LmZ4ID8galF1ZXJ5LmZ4LnNwZWVkc1sgdGltZSBdIHx8IHRpbWUgOiB0aW1lOwoJCXR5cGUgPSB0eXBlIHx8ICJmeCI7CgoJCXJldHVybiB0aGlzLnF1ZXVlKCB0eXBlLCBmdW5jdGlvbiggbmV4dCwgaG9va3MgKSB7CgkJCXZhciB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoIG5leHQsIHRpbWUgKTsKCQkJaG9va3Muc3RvcCA9IGZ1bmN0aW9uKCkgewoJCQkJd2luZG93LmNsZWFyVGltZW91dCggdGltZW91dCApOwoJCQl9OwoJCX0gKTsKCX07CgoKCSggZnVuY3Rpb24oKSB7CgkJdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImlucHV0IiApLAoJCQlzZWxlY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAic2VsZWN0IiApLAoJCQlvcHQgPSBzZWxlY3QuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJvcHRpb24iICkgKTsKCgkJaW5wdXQudHlwZSA9ICJjaGVja2JveCI7CgoJCS8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjMgb25seQoJCS8vIERlZmF1bHQgdmFsdWUgZm9yIGEgY2hlY2tib3ggc2hvdWxkIGJlICJvbiIKCQlzdXBwb3J0LmNoZWNrT24gPSBpbnB1dC52YWx1ZSAhPT0gIiI7CgoJCS8vIFN1cHBvcnQ6IElFIDw9MTEgb25seQoJCS8vIE11c3QgYWNjZXNzIHNlbGVjdGVkSW5kZXggdG8gbWFrZSBkZWZhdWx0IG9wdGlvbnMgc2VsZWN0CgkJc3VwcG9ydC5vcHRTZWxlY3RlZCA9IG9wdC5zZWxlY3RlZDsKCgkJLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5CgkJLy8gQW4gaW5wdXQgbG9zZXMgaXRzIHZhbHVlIGFmdGVyIGJlY29taW5nIGEgcmFkaW8KCQlpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJpbnB1dCIgKTsKCQlpbnB1dC52YWx1ZSA9ICJ0IjsKCQlpbnB1dC50eXBlID0gInJhZGlvIjsKCQlzdXBwb3J0LnJhZGlvVmFsdWUgPSBpbnB1dC52YWx1ZSA9PT0gInQiOwoJfSApKCk7CgoKCXZhciBib29sSG9vaywKCQlhdHRySGFuZGxlID0galF1ZXJ5LmV4cHIuYXR0ckhhbmRsZTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJYXR0cjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgewoJCQlyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkuYXR0ciwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7CgkJfSwKCgkJcmVtb3ZlQXR0cjogZnVuY3Rpb24oIG5hbWUgKSB7CgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIHRoaXMsIG5hbWUgKTsKCQkJfSApOwoJCX0KCX0gKTsKCglqUXVlcnkuZXh0ZW5kKCB7CgkJYXR0cjogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlICkgewoJCQl2YXIgcmV0LCBob29rcywKCQkJCW5UeXBlID0gZWxlbS5ub2RlVHlwZTsKCgkJCS8vIERvbid0IGdldC9zZXQgYXR0cmlidXRlcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMKCQkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gRmFsbGJhY2sgdG8gcHJvcCB3aGVuIGF0dHJpYnV0ZXMgYXJlIG5vdCBzdXBwb3J0ZWQKCQkJaWYgKCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgPT09ICJ1bmRlZmluZWQiICkgewoJCQkJcmV0dXJuIGpRdWVyeS5wcm9wKCBlbGVtLCBuYW1lLCB2YWx1ZSApOwoJCQl9CgoJCQkvLyBBdHRyaWJ1dGUgaG9va3MgYXJlIGRldGVybWluZWQgYnkgdGhlIGxvd2VyY2FzZSB2ZXJzaW9uCgkJCS8vIEdyYWIgbmVjZXNzYXJ5IGhvb2sgaWYgb25lIGlzIGRlZmluZWQKCQkJaWYgKCBuVHlwZSAhPT0gMSB8fCAhalF1ZXJ5LmlzWE1MRG9jKCBlbGVtICkgKSB7CgkJCQlob29rcyA9IGpRdWVyeS5hdHRySG9va3NbIG5hbWUudG9Mb3dlckNhc2UoKSBdIHx8CgkJCQkJKCBqUXVlcnkuZXhwci5tYXRjaC5ib29sLnRlc3QoIG5hbWUgKSA/IGJvb2xIb29rIDogdW5kZWZpbmVkICk7CgkJCX0KCgkJCWlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHsKCQkJCWlmICggdmFsdWUgPT09IG51bGwgKSB7CgkJCQkJalF1ZXJ5LnJlbW92ZUF0dHIoIGVsZW0sIG5hbWUgKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKCBob29rcyAmJiAic2V0IiBpbiBob29rcyAmJgoJCQkJCSggcmV0ID0gaG9va3Muc2V0KCBlbGVtLCB2YWx1ZSwgbmFtZSApICkgIT09IHVuZGVmaW5lZCApIHsKCQkJCQlyZXR1cm4gcmV0OwoJCQkJfQoKCQkJCWVsZW0uc2V0QXR0cmlidXRlKCBuYW1lLCB2YWx1ZSArICIiICk7CgkJCQlyZXR1cm4gdmFsdWU7CgkJCX0KCgkJCWlmICggaG9va3MgJiYgImdldCIgaW4gaG9va3MgJiYgKCByZXQgPSBob29rcy5nZXQoIGVsZW0sIG5hbWUgKSApICE9PSBudWxsICkgewoJCQkJcmV0dXJuIHJldDsKCQkJfQoKCQkJcmV0ID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgbmFtZSApOwoKCQkJLy8gTm9uLWV4aXN0ZW50IGF0dHJpYnV0ZXMgcmV0dXJuIG51bGwsIHdlIG5vcm1hbGl6ZSB0byB1bmRlZmluZWQKCQkJcmV0dXJuIHJldCA9PSBudWxsID8gdW5kZWZpbmVkIDogcmV0OwoJCX0sCgoJCWF0dHJIb29rczogewoJCQl0eXBlOiB7CgkJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsKCQkJCQlpZiAoICFzdXBwb3J0LnJhZGlvVmFsdWUgJiYgdmFsdWUgPT09ICJyYWRpbyIgJiYKCQkJCQkJbm9kZU5hbWUoIGVsZW0sICJpbnB1dCIgKSApIHsKCQkJCQkJdmFyIHZhbCA9IGVsZW0udmFsdWU7CgkJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAidHlwZSIsIHZhbHVlICk7CgkJCQkJCWlmICggdmFsICkgewoJCQkJCQkJZWxlbS52YWx1ZSA9IHZhbDsKCQkJCQkJfQoJCQkJCQlyZXR1cm4gdmFsdWU7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfSwKCgkJcmVtb3ZlQXR0cjogZnVuY3Rpb24oIGVsZW0sIHZhbHVlICkgewoJCQl2YXIgbmFtZSwKCQkJCWkgPSAwLAoKCQkJCS8vIEF0dHJpYnV0ZSBuYW1lcyBjYW4gY29udGFpbiBub24tSFRNTCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKCQkJCS8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2F0dHJpYnV0ZXMtMgoJCQkJYXR0ck5hbWVzID0gdmFsdWUgJiYgdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKTsKCgkJCWlmICggYXR0ck5hbWVzICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7CgkJCQl3aGlsZSAoICggbmFtZSA9IGF0dHJOYW1lc1sgaSsrIF0gKSApIHsKCQkJCQllbGVtLnJlbW92ZUF0dHJpYnV0ZSggbmFtZSApOwoJCQkJfQoJCQl9CgkJfQoJfSApOwoKLy8gSG9va3MgZm9yIGJvb2xlYW4gYXR0cmlidXRlcwoJYm9vbEhvb2sgPSB7CgkJc2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUsIG5hbWUgKSB7CgkJCWlmICggdmFsdWUgPT09IGZhbHNlICkgewoKCQkJCS8vIFJlbW92ZSBib29sZWFuIGF0dHJpYnV0ZXMgd2hlbiBzZXQgdG8gZmFsc2UKCQkJCWpRdWVyeS5yZW1vdmVBdHRyKCBlbGVtLCBuYW1lICk7CgkJCX0gZWxzZSB7CgkJCQllbGVtLnNldEF0dHJpYnV0ZSggbmFtZSwgbmFtZSApOwoJCQl9CgkJCXJldHVybiBuYW1lOwoJCX0KCX07CgoJalF1ZXJ5LmVhY2goIGpRdWVyeS5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKCAvXHcrL2cgKSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7CgkJdmFyIGdldHRlciA9IGF0dHJIYW5kbGVbIG5hbWUgXSB8fCBqUXVlcnkuZmluZC5hdHRyOwoKCQlhdHRySGFuZGxlWyBuYW1lIF0gPSBmdW5jdGlvbiggZWxlbSwgbmFtZSwgaXNYTUwgKSB7CgkJCXZhciByZXQsIGhhbmRsZSwKCQkJCWxvd2VyY2FzZU5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7CgoJCQlpZiAoICFpc1hNTCApIHsKCgkJCQkvLyBBdm9pZCBhbiBpbmZpbml0ZSBsb29wIGJ5IHRlbXBvcmFyaWx5IHJlbW92aW5nIHRoaXMgZnVuY3Rpb24gZnJvbSB0aGUgZ2V0dGVyCgkJCQloYW5kbGUgPSBhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF07CgkJCQlhdHRySGFuZGxlWyBsb3dlcmNhc2VOYW1lIF0gPSByZXQ7CgkJCQlyZXQgPSBnZXR0ZXIoIGVsZW0sIG5hbWUsIGlzWE1MICkgIT0gbnVsbCA/CgkJCQkJbG93ZXJjYXNlTmFtZSA6CgkJCQkJbnVsbDsKCQkJCWF0dHJIYW5kbGVbIGxvd2VyY2FzZU5hbWUgXSA9IGhhbmRsZTsKCQkJfQoJCQlyZXR1cm4gcmV0OwoJCX07Cgl9ICk7CgoKCgoJdmFyIHJmb2N1c2FibGUgPSAvXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLAoJCXJjbGlja2FibGUgPSAvXig/OmF8YXJlYSkkL2k7CgoJalF1ZXJ5LmZuLmV4dGVuZCggewoJCXByb3A6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHsKCQkJcmV0dXJuIGFjY2VzcyggdGhpcywgalF1ZXJ5LnByb3AsIG5hbWUsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoID4gMSApOwoJCX0sCgoJCXJlbW92ZVByb3A6IGZ1bmN0aW9uKCBuYW1lICkgewoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCQkJCWRlbGV0ZSB0aGlzWyBqUXVlcnkucHJvcEZpeFsgbmFtZSBdIHx8IG5hbWUgXTsKCQkJfSApOwoJCX0KCX0gKTsKCglqUXVlcnkuZXh0ZW5kKCB7CgkJcHJvcDogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlICkgewoJCQl2YXIgcmV0LCBob29rcywKCQkJCW5UeXBlID0gZWxlbS5ub2RlVHlwZTsKCgkJCS8vIERvbid0IGdldC9zZXQgcHJvcGVydGllcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXMKCQkJaWYgKCBuVHlwZSA9PT0gMyB8fCBuVHlwZSA9PT0gOCB8fCBuVHlwZSA9PT0gMiApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJaWYgKCBuVHlwZSAhPT0gMSB8fCAhalF1ZXJ5LmlzWE1MRG9jKCBlbGVtICkgKSB7CgoJCQkJLy8gRml4IG5hbWUgYW5kIGF0dGFjaCBob29rcwoJCQkJbmFtZSA9IGpRdWVyeS5wcm9wRml4WyBuYW1lIF0gfHwgbmFtZTsKCQkJCWhvb2tzID0galF1ZXJ5LnByb3BIb29rc1sgbmFtZSBdOwoJCQl9CgoJCQlpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7CgkJCQlpZiAoIGhvb2tzICYmICJzZXQiIGluIGhvb2tzICYmCgkJCQkJKCByZXQgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBuYW1lICkgKSAhPT0gdW5kZWZpbmVkICkgewoJCQkJCXJldHVybiByZXQ7CgkJCQl9CgoJCQkJcmV0dXJuICggZWxlbVsgbmFtZSBdID0gdmFsdWUgKTsKCQkJfQoKCQkJaWYgKCBob29rcyAmJiAiZ2V0IiBpbiBob29rcyAmJiAoIHJldCA9IGhvb2tzLmdldCggZWxlbSwgbmFtZSApICkgIT09IG51bGwgKSB7CgkJCQlyZXR1cm4gcmV0OwoJCQl9CgoJCQlyZXR1cm4gZWxlbVsgbmFtZSBdOwoJCX0sCgoJCXByb3BIb29rczogewoJCQl0YWJJbmRleDogewoJCQkJZ2V0OiBmdW5jdGlvbiggZWxlbSApIHsKCgkJCQkJLy8gU3VwcG9ydDogSUUgPD05IC0gMTEgb25seQoJCQkJCS8vIGVsZW0udGFiSW5kZXggZG9lc24ndCBhbHdheXMgcmV0dXJuIHRoZQoJCQkJCS8vIGNvcnJlY3QgdmFsdWUgd2hlbiBpdCBoYXNuJ3QgYmVlbiBleHBsaWNpdGx5IHNldAoJCQkJCS8vIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE0MTExNjIzMzM0Ny9odHRwOi8vZmx1aWRwcm9qZWN0Lm9yZy9ibG9nLzIwMDgvMDEvMDkvZ2V0dGluZy1zZXR0aW5nLWFuZC1yZW1vdmluZy10YWJpbmRleC12YWx1ZXMtd2l0aC1qYXZhc2NyaXB0LwoJCQkJCS8vIFVzZSBwcm9wZXIgYXR0cmlidXRlIHJldHJpZXZhbCgjMTIwNzIpCgkJCQkJdmFyIHRhYmluZGV4ID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgInRhYmluZGV4IiApOwoKCQkJCQlpZiAoIHRhYmluZGV4ICkgewoJCQkJCQlyZXR1cm4gcGFyc2VJbnQoIHRhYmluZGV4LCAxMCApOwoJCQkJCX0KCgkJCQkJaWYgKAoJCQkJCQlyZm9jdXNhYmxlLnRlc3QoIGVsZW0ubm9kZU5hbWUgKSB8fAoJCQkJCQlyY2xpY2thYmxlLnRlc3QoIGVsZW0ubm9kZU5hbWUgKSAmJgoJCQkJCQllbGVtLmhyZWYKCQkJCQkpIHsKCQkJCQkJcmV0dXJuIDA7CgkJCQkJfQoKCQkJCQlyZXR1cm4gLTE7CgkJCQl9CgkJCX0KCQl9LAoKCQlwcm9wRml4OiB7CgkJCSJmb3IiOiAiaHRtbEZvciIsCgkJCSJjbGFzcyI6ICJjbGFzc05hbWUiCgkJfQoJfSApOwoKLy8gU3VwcG9ydDogSUUgPD0xMSBvbmx5Ci8vIEFjY2Vzc2luZyB0aGUgc2VsZWN0ZWRJbmRleCBwcm9wZXJ0eQovLyBmb3JjZXMgdGhlIGJyb3dzZXIgdG8gcmVzcGVjdCBzZXR0aW5nIHNlbGVjdGVkCi8vIG9uIHRoZSBvcHRpb24KLy8gVGhlIGdldHRlciBlbnN1cmVzIGEgZGVmYXVsdCBvcHRpb24gaXMgc2VsZWN0ZWQKLy8gd2hlbiBpbiBhbiBvcHRncm91cAovLyBlc2xpbnQgcnVsZSAibm8tdW51c2VkLWV4cHJlc3Npb25zIiBpcyBkaXNhYmxlZCBmb3IgdGhpcyBjb2RlCi8vIHNpbmNlIGl0IGNvbnNpZGVycyBzdWNoIGFjY2Vzc2lvbnMgbm9vcAoJaWYgKCAhc3VwcG9ydC5vcHRTZWxlY3RlZCApIHsKCQlqUXVlcnkucHJvcEhvb2tzLnNlbGVjdGVkID0gewoJCQlnZXQ6IGZ1bmN0aW9uKCBlbGVtICkgewoKCQkJCS8qIGVzbGludCBuby11bnVzZWQtZXhwcmVzc2lvbnM6ICJvZmYiICovCgoJCQkJdmFyIHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZTsKCQkJCWlmICggcGFyZW50ICYmIHBhcmVudC5wYXJlbnROb2RlICkgewoJCQkJCXBhcmVudC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7CgkJCQl9CgkJCQlyZXR1cm4gbnVsbDsKCQkJfSwKCQkJc2V0OiBmdW5jdGlvbiggZWxlbSApIHsKCgkJCQkvKiBlc2xpbnQgbm8tdW51c2VkLWV4cHJlc3Npb25zOiAib2ZmIiAqLwoKCQkJCXZhciBwYXJlbnQgPSBlbGVtLnBhcmVudE5vZGU7CgkJCQlpZiAoIHBhcmVudCApIHsKCQkJCQlwYXJlbnQuc2VsZWN0ZWRJbmRleDsKCgkJCQkJaWYgKCBwYXJlbnQucGFyZW50Tm9kZSApIHsKCQkJCQkJcGFyZW50LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleDsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9OwoJfQoKCWpRdWVyeS5lYWNoKCBbCgkJInRhYkluZGV4IiwKCQkicmVhZE9ubHkiLAoJCSJtYXhMZW5ndGgiLAoJCSJjZWxsU3BhY2luZyIsCgkJImNlbGxQYWRkaW5nIiwKCQkicm93U3BhbiIsCgkJImNvbFNwYW4iLAoJCSJ1c2VNYXAiLAoJCSJmcmFtZUJvcmRlciIsCgkJImNvbnRlbnRFZGl0YWJsZSIKCV0sIGZ1bmN0aW9uKCkgewoJCWpRdWVyeS5wcm9wRml4WyB0aGlzLnRvTG93ZXJDYXNlKCkgXSA9IHRoaXM7Cgl9ICk7CgoKCgoJLy8gU3RyaXAgYW5kIGNvbGxhcHNlIHdoaXRlc3BhY2UgYWNjb3JkaW5nIHRvIEhUTUwgc3BlYwoJLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI3N0cmlwLWFuZC1jb2xsYXBzZS1hc2NpaS13aGl0ZXNwYWNlCglmdW5jdGlvbiBzdHJpcEFuZENvbGxhcHNlKCB2YWx1ZSApIHsKCQl2YXIgdG9rZW5zID0gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTsKCQlyZXR1cm4gdG9rZW5zLmpvaW4oICIgIiApOwoJfQoKCglmdW5jdGlvbiBnZXRDbGFzcyggZWxlbSApIHsKCQlyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUgJiYgZWxlbS5nZXRBdHRyaWJ1dGUoICJjbGFzcyIgKSB8fCAiIjsKCX0KCglmdW5jdGlvbiBjbGFzc2VzVG9BcnJheSggdmFsdWUgKSB7CgkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWx1ZSApICkgewoJCQlyZXR1cm4gdmFsdWU7CgkJfQoJCWlmICggdHlwZW9mIHZhbHVlID09PSAic3RyaW5nIiApIHsKCQkJcmV0dXJuIHZhbHVlLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW107CgkJfQoJCXJldHVybiBbXTsKCX0KCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJYWRkQ2xhc3M6IGZ1bmN0aW9uKCB2YWx1ZSApIHsKCQkJdmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwgY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLAoJCQkJaSA9IDA7CgoJCQlpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7CgkJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiApIHsKCQkJCQlqUXVlcnkoIHRoaXMgKS5hZGRDbGFzcyggdmFsdWUuY2FsbCggdGhpcywgaiwgZ2V0Q2xhc3MoIHRoaXMgKSApICk7CgkJCQl9ICk7CgkJCX0KCgkJCWNsYXNzZXMgPSBjbGFzc2VzVG9BcnJheSggdmFsdWUgKTsKCgkJCWlmICggY2xhc3Nlcy5sZW5ndGggKSB7CgkJCQl3aGlsZSAoICggZWxlbSA9IHRoaXNbIGkrKyBdICkgKSB7CgkJCQkJY3VyVmFsdWUgPSBnZXRDbGFzcyggZWxlbSApOwoJCQkJCWN1ciA9IGVsZW0ubm9kZVR5cGUgPT09IDEgJiYgKCAiICIgKyBzdHJpcEFuZENvbGxhcHNlKCBjdXJWYWx1ZSApICsgIiAiICk7CgoJCQkJCWlmICggY3VyICkgewoJCQkJCQlqID0gMDsKCQkJCQkJd2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisrIF0gKSApIHsKCQkJCQkJCWlmICggY3VyLmluZGV4T2YoICIgIiArIGNsYXp6ICsgIiAiICkgPCAwICkgewoJCQkJCQkJCWN1ciArPSBjbGF6eiArICIgIjsKCQkJCQkJCX0KCQkJCQkJfQoKCQkJCQkJLy8gT25seSBhc3NpZ24gaWYgZGlmZmVyZW50IHRvIGF2b2lkIHVubmVlZGVkIHJlbmRlcmluZy4KCQkJCQkJZmluYWxWYWx1ZSA9IHN0cmlwQW5kQ29sbGFwc2UoIGN1ciApOwoJCQkJCQlpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkgewoJCQkJCQkJZWxlbS5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsIGZpbmFsVmFsdWUgKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCgkJcmVtb3ZlQ2xhc3M6IGZ1bmN0aW9uKCB2YWx1ZSApIHsKCQkJdmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwgY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLAoJCQkJaSA9IDA7CgoJCQlpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7CgkJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiApIHsKCQkJCQlqUXVlcnkoIHRoaXMgKS5yZW1vdmVDbGFzcyggdmFsdWUuY2FsbCggdGhpcywgaiwgZ2V0Q2xhc3MoIHRoaXMgKSApICk7CgkJCQl9ICk7CgkJCX0KCgkJCWlmICggIWFyZ3VtZW50cy5sZW5ndGggKSB7CgkJCQlyZXR1cm4gdGhpcy5hdHRyKCAiY2xhc3MiLCAiIiApOwoJCQl9CgoJCQljbGFzc2VzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICk7CgoJCQlpZiAoIGNsYXNzZXMubGVuZ3RoICkgewoJCQkJd2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkgewoJCQkJCWN1clZhbHVlID0gZ2V0Q2xhc3MoIGVsZW0gKTsKCgkJCQkJLy8gVGhpcyBleHByZXNzaW9uIGlzIGhlcmUgZm9yIGJldHRlciBjb21wcmVzc2liaWxpdHkgKHNlZSBhZGRDbGFzcykKCQkJCQljdXIgPSBlbGVtLm5vZGVUeXBlID09PSAxICYmICggIiAiICsgc3RyaXBBbmRDb2xsYXBzZSggY3VyVmFsdWUgKSArICIgIiApOwoKCQkJCQlpZiAoIGN1ciApIHsKCQkJCQkJaiA9IDA7CgkJCQkJCXdoaWxlICggKCBjbGF6eiA9IGNsYXNzZXNbIGorKyBdICkgKSB7CgoJCQkJCQkJLy8gUmVtb3ZlICphbGwqIGluc3RhbmNlcwoJCQkJCQkJd2hpbGUgKCBjdXIuaW5kZXhPZiggIiAiICsgY2xhenogKyAiICIgKSA+IC0xICkgewoJCQkJCQkJCWN1ciA9IGN1ci5yZXBsYWNlKCAiICIgKyBjbGF6eiArICIgIiwgIiAiICk7CgkJCQkJCQl9CgkJCQkJCX0KCgkJCQkJCS8vIE9ubHkgYXNzaWduIGlmIGRpZmZlcmVudCB0byBhdm9pZCB1bm5lZWRlZCByZW5kZXJpbmcuCgkJCQkJCWZpbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTsKCQkJCQkJaWYgKCBjdXJWYWx1ZSAhPT0gZmluYWxWYWx1ZSApIHsKCQkJCQkJCWVsZW0uc2V0QXR0cmlidXRlKCAiY2xhc3MiLCBmaW5hbFZhbHVlICk7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCgkJCXJldHVybiB0aGlzOwoJCX0sCgoJCXRvZ2dsZUNsYXNzOiBmdW5jdGlvbiggdmFsdWUsIHN0YXRlVmFsICkgewoJCQl2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZSwKCQkJCWlzVmFsaWRWYWx1ZSA9IHR5cGUgPT09ICJzdHJpbmciIHx8IEFycmF5LmlzQXJyYXkoIHZhbHVlICk7CgoJCQlpZiAoIHR5cGVvZiBzdGF0ZVZhbCA9PT0gImJvb2xlYW4iICYmIGlzVmFsaWRWYWx1ZSApIHsKCQkJCXJldHVybiBzdGF0ZVZhbCA/IHRoaXMuYWRkQ2xhc3MoIHZhbHVlICkgOiB0aGlzLnJlbW92ZUNsYXNzKCB2YWx1ZSApOwoJCQl9CgoJCQlpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7CgkJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKCQkJCQlqUXVlcnkoIHRoaXMgKS50b2dnbGVDbGFzcygKCQkJCQkJdmFsdWUuY2FsbCggdGhpcywgaSwgZ2V0Q2xhc3MoIHRoaXMgKSwgc3RhdGVWYWwgKSwKCQkJCQkJc3RhdGVWYWwKCQkJCQkpOwoJCQkJfSApOwoJCQl9CgoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsKCQkJCXZhciBjbGFzc05hbWUsIGksIHNlbGYsIGNsYXNzTmFtZXM7CgoJCQkJaWYgKCBpc1ZhbGlkVmFsdWUgKSB7CgoJCQkJCS8vIFRvZ2dsZSBpbmRpdmlkdWFsIGNsYXNzIG5hbWVzCgkJCQkJaSA9IDA7CgkJCQkJc2VsZiA9IGpRdWVyeSggdGhpcyApOwoJCQkJCWNsYXNzTmFtZXMgPSBjbGFzc2VzVG9BcnJheSggdmFsdWUgKTsKCgkJCQkJd2hpbGUgKCAoIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXNbIGkrKyBdICkgKSB7CgoJCQkJCQkvLyBDaGVjayBlYWNoIGNsYXNzTmFtZSBnaXZlbiwgc3BhY2Ugc2VwYXJhdGVkIGxpc3QKCQkJCQkJaWYgKCBzZWxmLmhhc0NsYXNzKCBjbGFzc05hbWUgKSApIHsKCQkJCQkJCXNlbGYucmVtb3ZlQ2xhc3MoIGNsYXNzTmFtZSApOwoJCQkJCQl9IGVsc2UgewoJCQkJCQkJc2VsZi5hZGRDbGFzcyggY2xhc3NOYW1lICk7CgkJCQkJCX0KCQkJCQl9CgoJCQkJCS8vIFRvZ2dsZSB3aG9sZSBjbGFzcyBuYW1lCgkJCQl9IGVsc2UgaWYgKCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGUgPT09ICJib29sZWFuIiApIHsKCQkJCQljbGFzc05hbWUgPSBnZXRDbGFzcyggdGhpcyApOwoJCQkJCWlmICggY2xhc3NOYW1lICkgewoKCQkJCQkJLy8gU3RvcmUgY2xhc3NOYW1lIGlmIHNldAoJCQkJCQlkYXRhUHJpdi5zZXQoIHRoaXMsICJfX2NsYXNzTmFtZV9fIiwgY2xhc3NOYW1lICk7CgkJCQkJfQoKCQkJCQkvLyBJZiB0aGUgZWxlbWVudCBoYXMgYSBjbGFzcyBuYW1lIG9yIGlmIHdlJ3JlIHBhc3NlZCBgZmFsc2VgLAoJCQkJCS8vIHRoZW4gcmVtb3ZlIHRoZSB3aG9sZSBjbGFzc25hbWUgKGlmIHRoZXJlIHdhcyBvbmUsIHRoZSBhYm92ZSBzYXZlZCBpdCkuCgkJCQkJLy8gT3RoZXJ3aXNlIGJyaW5nIGJhY2sgd2hhdGV2ZXIgd2FzIHByZXZpb3VzbHkgc2F2ZWQgKGlmIGFueXRoaW5nKSwKCQkJCQkvLyBmYWxsaW5nIGJhY2sgdG8gdGhlIGVtcHR5IHN0cmluZyBpZiBub3RoaW5nIHdhcyBzdG9yZWQuCgkJCQkJaWYgKCB0aGlzLnNldEF0dHJpYnV0ZSApIHsKCQkJCQkJdGhpcy5zZXRBdHRyaWJ1dGUoICJjbGFzcyIsCgkJCQkJCQljbGFzc05hbWUgfHwgdmFsdWUgPT09IGZhbHNlID8KCQkJCQkJCQkiIiA6CgkJCQkJCQkJZGF0YVByaXYuZ2V0KCB0aGlzLCAiX19jbGFzc05hbWVfXyIgKSB8fCAiIgoJCQkJCQkpOwoJCQkJCX0KCQkJCX0KCQkJfSApOwoJCX0sCgoJCWhhc0NsYXNzOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7CgkJCXZhciBjbGFzc05hbWUsIGVsZW0sCgkJCQlpID0gMDsKCgkJCWNsYXNzTmFtZSA9ICIgIiArIHNlbGVjdG9yICsgIiAiOwoJCQl3aGlsZSAoICggZWxlbSA9IHRoaXNbIGkrKyBdICkgKSB7CgkJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgJiYKCQkJCQkoICIgIiArIHN0cmlwQW5kQ29sbGFwc2UoIGdldENsYXNzKCBlbGVtICkgKSArICIgIiApLmluZGV4T2YoIGNsYXNzTmFtZSApID4gLTEgKSB7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9ICk7CgoKCgoJdmFyIHJyZXR1cm4gPSAvXHIvZzsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJdmFsOiBmdW5jdGlvbiggdmFsdWUgKSB7CgkJCXZhciBob29rcywgcmV0LCB2YWx1ZUlzRnVuY3Rpb24sCgkJCQllbGVtID0gdGhpc1sgMCBdOwoKCQkJaWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHsKCQkJCWlmICggZWxlbSApIHsKCQkJCQlob29rcyA9IGpRdWVyeS52YWxIb29rc1sgZWxlbS50eXBlIF0gfHwKCQkJCQkJalF1ZXJ5LnZhbEhvb2tzWyBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTsKCgkJCQkJaWYgKCBob29rcyAmJgoJCQkJCQkiZ2V0IiBpbiBob29rcyAmJgoJCQkJCQkoIHJldCA9IGhvb2tzLmdldCggZWxlbSwgInZhbHVlIiApICkgIT09IHVuZGVmaW5lZAoJCQkJCSkgewoJCQkJCQlyZXR1cm4gcmV0OwoJCQkJCX0KCgkJCQkJcmV0ID0gZWxlbS52YWx1ZTsKCgkJCQkJLy8gSGFuZGxlIG1vc3QgY29tbW9uIHN0cmluZyBjYXNlcwoJCQkJCWlmICggdHlwZW9mIHJldCA9PT0gInN0cmluZyIgKSB7CgkJCQkJCXJldHVybiByZXQucmVwbGFjZSggcnJldHVybiwgIiIgKTsKCQkJCQl9CgoJCQkJCS8vIEhhbmRsZSBjYXNlcyB3aGVyZSB2YWx1ZSBpcyBudWxsL3VuZGVmIG9yIG51bWJlcgoJCQkJCXJldHVybiByZXQgPT0gbnVsbCA/ICIiIDogcmV0OwoJCQkJfQoKCQkJCXJldHVybjsKCQkJfQoKCQkJdmFsdWVJc0Z1bmN0aW9uID0gaXNGdW5jdGlvbiggdmFsdWUgKTsKCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgewoJCQkJdmFyIHZhbDsKCgkJCQlpZiAoIHRoaXMubm9kZVR5cGUgIT09IDEgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWlmICggdmFsdWVJc0Z1bmN0aW9uICkgewoJCQkJCXZhbCA9IHZhbHVlLmNhbGwoIHRoaXMsIGksIGpRdWVyeSggdGhpcyApLnZhbCgpICk7CgkJCQl9IGVsc2UgewoJCQkJCXZhbCA9IHZhbHVlOwoJCQkJfQoKCQkJCS8vIFRyZWF0IG51bGwvdW5kZWZpbmVkIGFzICIiOyBjb252ZXJ0IG51bWJlcnMgdG8gc3RyaW5nCgkJCQlpZiAoIHZhbCA9PSBudWxsICkgewoJCQkJCXZhbCA9ICIiOwoKCQkJCX0gZWxzZSBpZiAoIHR5cGVvZiB2YWwgPT09ICJudW1iZXIiICkgewoJCQkJCXZhbCArPSAiIjsKCgkJCQl9IGVsc2UgaWYgKCBBcnJheS5pc0FycmF5KCB2YWwgKSApIHsKCQkJCQl2YWwgPSBqUXVlcnkubWFwKCB2YWwsIGZ1bmN0aW9uKCB2YWx1ZSApIHsKCQkJCQkJcmV0dXJuIHZhbHVlID09IG51bGwgPyAiIiA6IHZhbHVlICsgIiI7CgkJCQkJfSApOwoJCQkJfQoKCQkJCWhvb2tzID0galF1ZXJ5LnZhbEhvb2tzWyB0aGlzLnR5cGUgXSB8fCBqUXVlcnkudmFsSG9va3NbIHRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSBdOwoKCQkJCS8vIElmIHNldCByZXR1cm5zIHVuZGVmaW5lZCwgZmFsbCBiYWNrIHRvIG5vcm1hbCBzZXR0aW5nCgkJCQlpZiAoICFob29rcyB8fCAhKCAic2V0IiBpbiBob29rcyApIHx8IGhvb2tzLnNldCggdGhpcywgdmFsLCAidmFsdWUiICkgPT09IHVuZGVmaW5lZCApIHsKCQkJCQl0aGlzLnZhbHVlID0gdmFsOwoJCQkJfQoJCQl9ICk7CgkJfQoJfSApOwoKCWpRdWVyeS5leHRlbmQoIHsKCQl2YWxIb29rczogewoJCQlvcHRpb246IHsKCQkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7CgoJCQkJCXZhciB2YWwgPSBqUXVlcnkuZmluZC5hdHRyKCBlbGVtLCAidmFsdWUiICk7CgkJCQkJcmV0dXJuIHZhbCAhPSBudWxsID8KCQkJCQkJdmFsIDoKCgkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSBvbmx5CgkJCQkJCS8vIG9wdGlvbi50ZXh0IHRocm93cyBleGNlcHRpb25zICgjMTQ2ODYsICMxNDg1OCkKCQkJCQkJLy8gU3RyaXAgYW5kIGNvbGxhcHNlIHdoaXRlc3BhY2UKCQkJCQkJLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jc3RyaXAtYW5kLWNvbGxhcHNlLXdoaXRlc3BhY2UKCQkJCQkJc3RyaXBBbmRDb2xsYXBzZSggalF1ZXJ5LnRleHQoIGVsZW0gKSApOwoJCQkJfQoJCQl9LAoJCQlzZWxlY3Q6IHsKCQkJCWdldDogZnVuY3Rpb24oIGVsZW0gKSB7CgkJCQkJdmFyIHZhbHVlLCBvcHRpb24sIGksCgkJCQkJCW9wdGlvbnMgPSBlbGVtLm9wdGlvbnMsCgkJCQkJCWluZGV4ID0gZWxlbS5zZWxlY3RlZEluZGV4LAoJCQkJCQlvbmUgPSBlbGVtLnR5cGUgPT09ICJzZWxlY3Qtb25lIiwKCQkJCQkJdmFsdWVzID0gb25lID8gbnVsbCA6IFtdLAoJCQkJCQltYXggPSBvbmUgPyBpbmRleCArIDEgOiBvcHRpb25zLmxlbmd0aDsKCgkJCQkJaWYgKCBpbmRleCA8IDAgKSB7CgkJCQkJCWkgPSBtYXg7CgoJCQkJCX0gZWxzZSB7CgkJCQkJCWkgPSBvbmUgPyBpbmRleCA6IDA7CgkJCQkJfQoKCQkJCQkvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBzZWxlY3RlZCBvcHRpb25zCgkJCQkJZm9yICggOyBpIDwgbWF4OyBpKysgKSB7CgkJCQkJCW9wdGlvbiA9IG9wdGlvbnNbIGkgXTsKCgkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5CgkJCQkJCS8vIElFOC05IGRvZXNuJ3QgdXBkYXRlIHNlbGVjdGVkIGFmdGVyIGZvcm0gcmVzZXQgKCMyNTUxKQoJCQkJCQlpZiAoICggb3B0aW9uLnNlbGVjdGVkIHx8IGkgPT09IGluZGV4ICkgJiYKCgkJCQkJCQkvLyBEb24ndCByZXR1cm4gb3B0aW9ucyB0aGF0IGFyZSBkaXNhYmxlZCBvciBpbiBhIGRpc2FibGVkIG9wdGdyb3VwCgkJCQkJCQkhb3B0aW9uLmRpc2FibGVkICYmCgkJCQkJCQkoICFvcHRpb24ucGFyZW50Tm9kZS5kaXNhYmxlZCB8fAoJCQkJCQkJCSFub2RlTmFtZSggb3B0aW9uLnBhcmVudE5vZGUsICJvcHRncm91cCIgKSApICkgewoKCQkJCQkJCS8vIEdldCB0aGUgc3BlY2lmaWMgdmFsdWUgZm9yIHRoZSBvcHRpb24KCQkJCQkJCXZhbHVlID0galF1ZXJ5KCBvcHRpb24gKS52YWwoKTsKCgkJCQkJCQkvLyBXZSBkb24ndCBuZWVkIGFuIGFycmF5IGZvciBvbmUgc2VsZWN0cwoJCQkJCQkJaWYgKCBvbmUgKSB7CgkJCQkJCQkJcmV0dXJuIHZhbHVlOwoJCQkJCQkJfQoKCQkJCQkJCS8vIE11bHRpLVNlbGVjdHMgcmV0dXJuIGFuIGFycmF5CgkJCQkJCQl2YWx1ZXMucHVzaCggdmFsdWUgKTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJcmV0dXJuIHZhbHVlczsKCQkJCX0sCgoJCQkJc2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7CgkJCQkJdmFyIG9wdGlvblNldCwgb3B0aW9uLAoJCQkJCQlvcHRpb25zID0gZWxlbS5vcHRpb25zLAoJCQkJCQl2YWx1ZXMgPSBqUXVlcnkubWFrZUFycmF5KCB2YWx1ZSApLAoJCQkJCQlpID0gb3B0aW9ucy5sZW5ndGg7CgoJCQkJCXdoaWxlICggaS0tICkgewoJCQkJCQlvcHRpb24gPSBvcHRpb25zWyBpIF07CgoJCQkJCQkvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25kLWFzc2lnbiAqLwoKCQkJCQkJaWYgKCBvcHRpb24uc2VsZWN0ZWQgPQoJCQkJCQkJCWpRdWVyeS5pbkFycmF5KCBqUXVlcnkudmFsSG9va3Mub3B0aW9uLmdldCggb3B0aW9uICksIHZhbHVlcyApID4gLTEKCQkJCQkJKSB7CgkJCQkJCQlvcHRpb25TZXQgPSB0cnVlOwoJCQkJCQl9CgoJCQkJCQkvKiBlc2xpbnQtZW5hYmxlIG5vLWNvbmQtYXNzaWduICovCgkJCQkJfQoKCQkJCQkvLyBGb3JjZSBicm93c2VycyB0byBiZWhhdmUgY29uc2lzdGVudGx5IHdoZW4gbm9uLW1hdGNoaW5nIHZhbHVlIGlzIHNldAoJCQkJCWlmICggIW9wdGlvblNldCApIHsKCQkJCQkJZWxlbS5zZWxlY3RlZEluZGV4ID0gLTE7CgkJCQkJfQoJCQkJCXJldHVybiB2YWx1ZXM7CgkJCQl9CgkJCX0KCQl9Cgl9ICk7CgovLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgZ2V0dGVyL3NldHRlcgoJalF1ZXJ5LmVhY2goIFsgInJhZGlvIiwgImNoZWNrYm94IiBdLCBmdW5jdGlvbigpIHsKCQlqUXVlcnkudmFsSG9va3NbIHRoaXMgXSA9IHsKCQkJc2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7CgkJCQlpZiAoIEFycmF5LmlzQXJyYXkoIHZhbHVlICkgKSB7CgkJCQkJcmV0dXJuICggZWxlbS5jaGVja2VkID0galF1ZXJ5LmluQXJyYXkoIGpRdWVyeSggZWxlbSApLnZhbCgpLCB2YWx1ZSApID4gLTEgKTsKCQkJCX0KCQkJfQoJCX07CgkJaWYgKCAhc3VwcG9ydC5jaGVja09uICkgewoJCQlqUXVlcnkudmFsSG9va3NbIHRoaXMgXS5nZXQgPSBmdW5jdGlvbiggZWxlbSApIHsKCQkJCXJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSggInZhbHVlIiApID09PSBudWxsID8gIm9uIiA6IGVsZW0udmFsdWU7CgkJCX07CgkJfQoJfSApOwoKCgoKLy8gUmV0dXJuIGpRdWVyeSBmb3IgYXR0cmlidXRlcy1vbmx5IGluY2x1c2lvbgoKCglzdXBwb3J0LmZvY3VzaW4gPSAib25mb2N1c2luIiBpbiB3aW5kb3c7CgoKCXZhciByZm9jdXNNb3JwaCA9IC9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLywKCQlzdG9wUHJvcGFnYXRpb25DYWxsYmFjayA9IGZ1bmN0aW9uKCBlICkgewoJCQllLnN0b3BQcm9wYWdhdGlvbigpOwoJCX07CgoJalF1ZXJ5LmV4dGVuZCggalF1ZXJ5LmV2ZW50LCB7CgoJCXRyaWdnZXI6IGZ1bmN0aW9uKCBldmVudCwgZGF0YSwgZWxlbSwgb25seUhhbmRsZXJzICkgewoKCQkJdmFyIGksIGN1ciwgdG1wLCBidWJibGVUeXBlLCBvbnR5cGUsIGhhbmRsZSwgc3BlY2lhbCwgbGFzdEVsZW1lbnQsCgkJCQlldmVudFBhdGggPSBbIGVsZW0gfHwgZG9jdW1lbnQgXSwKCQkJCXR5cGUgPSBoYXNPd24uY2FsbCggZXZlbnQsICJ0eXBlIiApID8gZXZlbnQudHlwZSA6IGV2ZW50LAoJCQkJbmFtZXNwYWNlcyA9IGhhc093bi5jYWxsKCBldmVudCwgIm5hbWVzcGFjZSIgKSA/IGV2ZW50Lm5hbWVzcGFjZS5zcGxpdCggIi4iICkgOiBbXTsKCgkJCWN1ciA9IGxhc3RFbGVtZW50ID0gdG1wID0gZWxlbSA9IGVsZW0gfHwgZG9jdW1lbnQ7CgoJCQkvLyBEb24ndCBkbyBldmVudHMgb24gdGV4dCBhbmQgY29tbWVudCBub2RlcwoJCQlpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDMgfHwgZWxlbS5ub2RlVHlwZSA9PT0gOCApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gZm9jdXMvYmx1ciBtb3JwaHMgdG8gZm9jdXNpbi9vdXQ7IGVuc3VyZSB3ZSdyZSBub3QgZmlyaW5nIHRoZW0gcmlnaHQgbm93CgkJCWlmICggcmZvY3VzTW9ycGgudGVzdCggdHlwZSArIGpRdWVyeS5ldmVudC50cmlnZ2VyZWQgKSApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJaWYgKCB0eXBlLmluZGV4T2YoICIuIiApID4gLTEgKSB7CgoJCQkJLy8gTmFtZXNwYWNlZCB0cmlnZ2VyOyBjcmVhdGUgYSByZWdleHAgdG8gbWF0Y2ggZXZlbnQgdHlwZSBpbiBoYW5kbGUoKQoJCQkJbmFtZXNwYWNlcyA9IHR5cGUuc3BsaXQoICIuIiApOwoJCQkJdHlwZSA9IG5hbWVzcGFjZXMuc2hpZnQoKTsKCQkJCW5hbWVzcGFjZXMuc29ydCgpOwoJCQl9CgkJCW9udHlwZSA9IHR5cGUuaW5kZXhPZiggIjoiICkgPCAwICYmICJvbiIgKyB0eXBlOwoKCQkJLy8gQ2FsbGVyIGNhbiBwYXNzIGluIGEgalF1ZXJ5LkV2ZW50IG9iamVjdCwgT2JqZWN0LCBvciBqdXN0IGFuIGV2ZW50IHR5cGUgc3RyaW5nCgkJCWV2ZW50ID0gZXZlbnRbIGpRdWVyeS5leHBhbmRvIF0gPwoJCQkJZXZlbnQgOgoJCQkJbmV3IGpRdWVyeS5FdmVudCggdHlwZSwgdHlwZW9mIGV2ZW50ID09PSAib2JqZWN0IiAmJiBldmVudCApOwoKCQkJLy8gVHJpZ2dlciBiaXRtYXNrOiAmIDEgZm9yIG5hdGl2ZSBoYW5kbGVyczsgJiAyIGZvciBqUXVlcnkgKGFsd2F5cyB0cnVlKQoJCQlldmVudC5pc1RyaWdnZXIgPSBvbmx5SGFuZGxlcnMgPyAyIDogMzsKCQkJZXZlbnQubmFtZXNwYWNlID0gbmFtZXNwYWNlcy5qb2luKCAiLiIgKTsKCQkJZXZlbnQucm5hbWVzcGFjZSA9IGV2ZW50Lm5hbWVzcGFjZSA/CgkJCQluZXcgUmVnRXhwKCAiKF58XFwuKSIgKyBuYW1lc3BhY2VzLmpvaW4oICJcXC4oPzouKlxcLnwpIiApICsgIihcXC58JCkiICkgOgoJCQkJbnVsbDsKCgkJCS8vIENsZWFuIHVwIHRoZSBldmVudCBpbiBjYXNlIGl0IGlzIGJlaW5nIHJldXNlZAoJCQlldmVudC5yZXN1bHQgPSB1bmRlZmluZWQ7CgkJCWlmICggIWV2ZW50LnRhcmdldCApIHsKCQkJCWV2ZW50LnRhcmdldCA9IGVsZW07CgkJCX0KCgkJCS8vIENsb25lIGFueSBpbmNvbWluZyBkYXRhIGFuZCBwcmVwZW5kIHRoZSBldmVudCwgY3JlYXRpbmcgdGhlIGhhbmRsZXIgYXJnIGxpc3QKCQkJZGF0YSA9IGRhdGEgPT0gbnVsbCA/CgkJCQlbIGV2ZW50IF0gOgoJCQkJalF1ZXJ5Lm1ha2VBcnJheSggZGF0YSwgWyBldmVudCBdICk7CgoJCQkvLyBBbGxvdyBzcGVjaWFsIGV2ZW50cyB0byBkcmF3IG91dHNpZGUgdGhlIGxpbmVzCgkJCXNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9OwoJCQlpZiAoICFvbmx5SGFuZGxlcnMgJiYgc3BlY2lhbC50cmlnZ2VyICYmIHNwZWNpYWwudHJpZ2dlci5hcHBseSggZWxlbSwgZGF0YSApID09PSBmYWxzZSApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gRGV0ZXJtaW5lIGV2ZW50IHByb3BhZ2F0aW9uIHBhdGggaW4gYWR2YW5jZSwgcGVyIFczQyBldmVudHMgc3BlYyAoIzk5NTEpCgkJCS8vIEJ1YmJsZSB1cCB0byBkb2N1bWVudCwgdGhlbiB0byB3aW5kb3c7IHdhdGNoIGZvciBhIGdsb2JhbCBvd25lckRvY3VtZW50IHZhciAoIzk3MjQpCgkJCWlmICggIW9ubHlIYW5kbGVycyAmJiAhc3BlY2lhbC5ub0J1YmJsZSAmJiAhaXNXaW5kb3coIGVsZW0gKSApIHsKCgkJCQlidWJibGVUeXBlID0gc3BlY2lhbC5kZWxlZ2F0ZVR5cGUgfHwgdHlwZTsKCQkJCWlmICggIXJmb2N1c01vcnBoLnRlc3QoIGJ1YmJsZVR5cGUgKyB0eXBlICkgKSB7CgkJCQkJY3VyID0gY3VyLnBhcmVudE5vZGU7CgkJCQl9CgkJCQlmb3IgKCA7IGN1cjsgY3VyID0gY3VyLnBhcmVudE5vZGUgKSB7CgkJCQkJZXZlbnRQYXRoLnB1c2goIGN1ciApOwoJCQkJCXRtcCA9IGN1cjsKCQkJCX0KCgkJCQkvLyBPbmx5IGFkZCB3aW5kb3cgaWYgd2UgZ290IHRvIGRvY3VtZW50IChlLmcuLCBub3QgcGxhaW4gb2JqIG9yIGRldGFjaGVkIERPTSkKCQkJCWlmICggdG1wID09PSAoIGVsZW0ub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudCApICkgewoJCQkJCWV2ZW50UGF0aC5wdXNoKCB0bXAuZGVmYXVsdFZpZXcgfHwgdG1wLnBhcmVudFdpbmRvdyB8fCB3aW5kb3cgKTsKCQkJCX0KCQkJfQoKCQkJLy8gRmlyZSBoYW5kbGVycyBvbiB0aGUgZXZlbnQgcGF0aAoJCQlpID0gMDsKCQkJd2hpbGUgKCAoIGN1ciA9IGV2ZW50UGF0aFsgaSsrIF0gKSAmJiAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsKCQkJCWxhc3RFbGVtZW50ID0gY3VyOwoJCQkJZXZlbnQudHlwZSA9IGkgPiAxID8KCQkJCQlidWJibGVUeXBlIDoKCQkJCQlzcGVjaWFsLmJpbmRUeXBlIHx8IHR5cGU7CgoJCQkJLy8galF1ZXJ5IGhhbmRsZXIKCQkJCWhhbmRsZSA9ICggZGF0YVByaXYuZ2V0KCBjdXIsICJldmVudHMiICkgfHwge30gKVsgZXZlbnQudHlwZSBdICYmCgkJCQkJZGF0YVByaXYuZ2V0KCBjdXIsICJoYW5kbGUiICk7CgkJCQlpZiAoIGhhbmRsZSApIHsKCQkJCQloYW5kbGUuYXBwbHkoIGN1ciwgZGF0YSApOwoJCQkJfQoKCQkJCS8vIE5hdGl2ZSBoYW5kbGVyCgkJCQloYW5kbGUgPSBvbnR5cGUgJiYgY3VyWyBvbnR5cGUgXTsKCQkJCWlmICggaGFuZGxlICYmIGhhbmRsZS5hcHBseSAmJiBhY2NlcHREYXRhKCBjdXIgKSApIHsKCQkJCQlldmVudC5yZXN1bHQgPSBoYW5kbGUuYXBwbHkoIGN1ciwgZGF0YSApOwoJCQkJCWlmICggZXZlbnQucmVzdWx0ID09PSBmYWxzZSApIHsKCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJZXZlbnQudHlwZSA9IHR5cGU7CgoJCQkvLyBJZiBub2JvZHkgcHJldmVudGVkIHRoZSBkZWZhdWx0IGFjdGlvbiwgZG8gaXQgbm93CgkJCWlmICggIW9ubHlIYW5kbGVycyAmJiAhZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7CgoJCQkJaWYgKCAoICFzcGVjaWFsLl9kZWZhdWx0IHx8CgkJCQkJCXNwZWNpYWwuX2RlZmF1bHQuYXBwbHkoIGV2ZW50UGF0aC5wb3AoKSwgZGF0YSApID09PSBmYWxzZSApICYmCgkJCQkJYWNjZXB0RGF0YSggZWxlbSApICkgewoKCQkJCQkvLyBDYWxsIGEgbmF0aXZlIERPTSBtZXRob2Qgb24gdGhlIHRhcmdldCB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGV2ZW50LgoJCQkJCS8vIERvbid0IGRvIGRlZmF1bHQgYWN0aW9ucyBvbiB3aW5kb3csIHRoYXQncyB3aGVyZSBnbG9iYWwgdmFyaWFibGVzIGJlICgjNjE3MCkKCQkJCQlpZiAoIG9udHlwZSAmJiBpc0Z1bmN0aW9uKCBlbGVtWyB0eXBlIF0gKSAmJiAhaXNXaW5kb3coIGVsZW0gKSApIHsKCgkJCQkJCS8vIERvbid0IHJlLXRyaWdnZXIgYW4gb25GT08gZXZlbnQgd2hlbiB3ZSBjYWxsIGl0cyBGT08oKSBtZXRob2QKCQkJCQkJdG1wID0gZWxlbVsgb250eXBlIF07CgoJCQkJCQlpZiAoIHRtcCApIHsKCQkJCQkJCWVsZW1bIG9udHlwZSBdID0gbnVsbDsKCQkJCQkJfQoKCQkJCQkJLy8gUHJldmVudCByZS10cmlnZ2VyaW5nIG9mIHRoZSBzYW1lIGV2ZW50LCBzaW5jZSB3ZSBhbHJlYWR5IGJ1YmJsZWQgaXQgYWJvdmUKCQkJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCA9IHR5cGU7CgoJCQkJCQlpZiAoIGV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7CgkJCQkJCQlsYXN0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCB0eXBlLCBzdG9wUHJvcGFnYXRpb25DYWxsYmFjayApOwoJCQkJCQl9CgoJCQkJCQllbGVtWyB0eXBlIF0oKTsKCgkJCQkJCWlmICggZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsKCQkJCQkJCWxhc3RFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIHR5cGUsIHN0b3BQcm9wYWdhdGlvbkNhbGxiYWNrICk7CgkJCQkJCX0KCgkJCQkJCWpRdWVyeS5ldmVudC50cmlnZ2VyZWQgPSB1bmRlZmluZWQ7CgoJCQkJCQlpZiAoIHRtcCApIHsKCQkJCQkJCWVsZW1bIG9udHlwZSBdID0gdG1wOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gZXZlbnQucmVzdWx0OwoJCX0sCgoJCS8vIFBpZ2d5YmFjayBvbiBhIGRvbm9yIGV2ZW50IHRvIHNpbXVsYXRlIGEgZGlmZmVyZW50IG9uZQoJCS8vIFVzZWQgb25seSBmb3IgYGZvY3VzKGluIHwgb3V0KWAgZXZlbnRzCgkJc2ltdWxhdGU6IGZ1bmN0aW9uKCB0eXBlLCBlbGVtLCBldmVudCApIHsKCQkJdmFyIGUgPSBqUXVlcnkuZXh0ZW5kKAoJCQkJbmV3IGpRdWVyeS5FdmVudCgpLAoJCQkJZXZlbnQsCgkJCQl7CgkJCQkJdHlwZTogdHlwZSwKCQkJCQlpc1NpbXVsYXRlZDogdHJ1ZQoJCQkJfQoJCQkpOwoKCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoIGUsIG51bGwsIGVsZW0gKTsKCQl9CgoJfSApOwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCgkJdHJpZ2dlcjogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7CgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoIHR5cGUsIGRhdGEsIHRoaXMgKTsKCQkJfSApOwoJCX0sCgkJdHJpZ2dlckhhbmRsZXI6IGZ1bmN0aW9uKCB0eXBlLCBkYXRhICkgewoJCQl2YXIgZWxlbSA9IHRoaXNbIDAgXTsKCQkJaWYgKCBlbGVtICkgewoJCQkJcmV0dXJuIGpRdWVyeS5ldmVudC50cmlnZ2VyKCB0eXBlLCBkYXRhLCBlbGVtLCB0cnVlICk7CgkJCX0KCQl9Cgl9ICk7CgoKLy8gU3VwcG9ydDogRmlyZWZveCA8PTQ0Ci8vIEZpcmVmb3ggZG9lc24ndCBoYXZlIGZvY3VzKGluIHwgb3V0KSBldmVudHMKLy8gUmVsYXRlZCB0aWNrZXQgLSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc3ODcKLy8KLy8gU3VwcG9ydDogQ2hyb21lIDw9NDggLSA0OSwgU2FmYXJpIDw9OS4wIC0gOS4xCi8vIGZvY3VzKGluIHwgb3V0KSBldmVudHMgZmlyZSBhZnRlciBmb2N1cyAmIGJsdXIgZXZlbnRzLAovLyB3aGljaCBpcyBzcGVjIHZpb2xhdGlvbiAtIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWZvY3VzZXZlbnQtZXZlbnQtb3JkZXIKLy8gUmVsYXRlZCB0aWNrZXQgLSBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NDk4NTcKCWlmICggIXN1cHBvcnQuZm9jdXNpbiApIHsKCQlqUXVlcnkuZWFjaCggeyBmb2N1czogImZvY3VzaW4iLCBibHVyOiAiZm9jdXNvdXQiIH0sIGZ1bmN0aW9uKCBvcmlnLCBmaXggKSB7CgoJCQkvLyBBdHRhY2ggYSBzaW5nbGUgY2FwdHVyaW5nIGhhbmRsZXIgb24gdGhlIGRvY3VtZW50IHdoaWxlIHNvbWVvbmUgd2FudHMgZm9jdXNpbi9mb2N1c291dAoJCQl2YXIgaGFuZGxlciA9IGZ1bmN0aW9uKCBldmVudCApIHsKCQkJCWpRdWVyeS5ldmVudC5zaW11bGF0ZSggZml4LCBldmVudC50YXJnZXQsIGpRdWVyeS5ldmVudC5maXgoIGV2ZW50ICkgKTsKCQkJfTsKCgkJCWpRdWVyeS5ldmVudC5zcGVjaWFsWyBmaXggXSA9IHsKCQkJCXNldHVwOiBmdW5jdGlvbigpIHsKCQkJCQl2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMsCgkJCQkJCWF0dGFjaGVzID0gZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCApOwoKCQkJCQlpZiAoICFhdHRhY2hlcyApIHsKCQkJCQkJZG9jLmFkZEV2ZW50TGlzdGVuZXIoIG9yaWcsIGhhbmRsZXIsIHRydWUgKTsKCQkJCQl9CgkJCQkJZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCwgKCBhdHRhY2hlcyB8fCAwICkgKyAxICk7CgkJCQl9LAoJCQkJdGVhcmRvd246IGZ1bmN0aW9uKCkgewoJCQkJCXZhciBkb2MgPSB0aGlzLm93bmVyRG9jdW1lbnQgfHwgdGhpcywKCQkJCQkJYXR0YWNoZXMgPSBkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4ICkgLSAxOwoKCQkJCQlpZiAoICFhdHRhY2hlcyApIHsKCQkJCQkJZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoIG9yaWcsIGhhbmRsZXIsIHRydWUgKTsKCQkJCQkJZGF0YVByaXYucmVtb3ZlKCBkb2MsIGZpeCApOwoKCQkJCQl9IGVsc2UgewoJCQkJCQlkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4LCBhdHRhY2hlcyApOwoJCQkJCX0KCQkJCX0KCQkJfTsKCQl9ICk7Cgl9Cgl2YXIgbG9jYXRpb24gPSB3aW5kb3cubG9jYXRpb247CgoJdmFyIG5vbmNlID0gRGF0ZS5ub3coKTsKCgl2YXIgcnF1ZXJ5ID0gKCAvXD8vICk7CgoKCi8vIENyb3NzLWJyb3dzZXIgeG1sIHBhcnNpbmcKCWpRdWVyeS5wYXJzZVhNTCA9IGZ1bmN0aW9uKCBkYXRhICkgewoJCXZhciB4bWw7CgkJaWYgKCAhZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gInN0cmluZyIgKSB7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJLy8gU3VwcG9ydDogSUUgOSAtIDExIG9ubHkKCQkvLyBJRSB0aHJvd3Mgb24gcGFyc2VGcm9tU3RyaW5nIHdpdGggaW52YWxpZCBpbnB1dC4KCQl0cnkgewoJCQl4bWwgPSAoIG5ldyB3aW5kb3cuRE9NUGFyc2VyKCkgKS5wYXJzZUZyb21TdHJpbmcoIGRhdGEsICJ0ZXh0L3htbCIgKTsKCQl9IGNhdGNoICggZSApIHsKCQkJeG1sID0gdW5kZWZpbmVkOwoJCX0KCgkJaWYgKCAheG1sIHx8IHhtbC5nZXRFbGVtZW50c0J5VGFnTmFtZSggInBhcnNlcmVycm9yIiApLmxlbmd0aCApIHsKCQkJalF1ZXJ5LmVycm9yKCAiSW52YWxpZCBYTUw6ICIgKyBkYXRhICk7CgkJfQoJCXJldHVybiB4bWw7Cgl9OwoKCgl2YXIKCQlyYnJhY2tldCA9IC9cW1xdJC8sCgkJckNSTEYgPSAvXHI/XG4vZywKCQlyc3VibWl0dGVyVHlwZXMgPSAvXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksCgkJcnN1Ym1pdHRhYmxlID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pOwoKCWZ1bmN0aW9uIGJ1aWxkUGFyYW1zKCBwcmVmaXgsIG9iaiwgdHJhZGl0aW9uYWwsIGFkZCApIHsKCQl2YXIgbmFtZTsKCgkJaWYgKCBBcnJheS5pc0FycmF5KCBvYmogKSApIHsKCgkJCS8vIFNlcmlhbGl6ZSBhcnJheSBpdGVtLgoJCQlqUXVlcnkuZWFjaCggb2JqLCBmdW5jdGlvbiggaSwgdiApIHsKCQkJCWlmICggdHJhZGl0aW9uYWwgfHwgcmJyYWNrZXQudGVzdCggcHJlZml4ICkgKSB7CgoJCQkJCS8vIFRyZWF0IGVhY2ggYXJyYXkgaXRlbSBhcyBhIHNjYWxhci4KCQkJCQlhZGQoIHByZWZpeCwgdiApOwoKCQkJCX0gZWxzZSB7CgoJCQkJCS8vIEl0ZW0gaXMgbm9uLXNjYWxhciAoYXJyYXkgb3Igb2JqZWN0KSwgZW5jb2RlIGl0cyBudW1lcmljIGluZGV4LgoJCQkJCWJ1aWxkUGFyYW1zKAoJCQkJCQlwcmVmaXggKyAiWyIgKyAoIHR5cGVvZiB2ID09PSAib2JqZWN0IiAmJiB2ICE9IG51bGwgPyBpIDogIiIgKSArICJdIiwKCQkJCQkJdiwKCQkJCQkJdHJhZGl0aW9uYWwsCgkJCQkJCWFkZAoJCQkJCSk7CgkJCQl9CgkJCX0gKTsKCgkJfSBlbHNlIGlmICggIXRyYWRpdGlvbmFsICYmIHRvVHlwZSggb2JqICkgPT09ICJvYmplY3QiICkgewoKCQkJLy8gU2VyaWFsaXplIG9iamVjdCBpdGVtLgoJCQlmb3IgKCBuYW1lIGluIG9iaiApIHsKCQkJCWJ1aWxkUGFyYW1zKCBwcmVmaXggKyAiWyIgKyBuYW1lICsgIl0iLCBvYmpbIG5hbWUgXSwgdHJhZGl0aW9uYWwsIGFkZCApOwoJCQl9CgoJCX0gZWxzZSB7CgoJCQkvLyBTZXJpYWxpemUgc2NhbGFyIGl0ZW0uCgkJCWFkZCggcHJlZml4LCBvYmogKTsKCQl9Cgl9CgovLyBTZXJpYWxpemUgYW4gYXJyYXkgb2YgZm9ybSBlbGVtZW50cyBvciBhIHNldCBvZgovLyBrZXkvdmFsdWVzIGludG8gYSBxdWVyeSBzdHJpbmcKCWpRdWVyeS5wYXJhbSA9IGZ1bmN0aW9uKCBhLCB0cmFkaXRpb25hbCApIHsKCQl2YXIgcHJlZml4LAoJCQlzID0gW10sCgkJCWFkZCA9IGZ1bmN0aW9uKCBrZXksIHZhbHVlT3JGdW5jdGlvbiApIHsKCgkJCQkvLyBJZiB2YWx1ZSBpcyBhIGZ1bmN0aW9uLCBpbnZva2UgaXQgYW5kIHVzZSBpdHMgcmV0dXJuIHZhbHVlCgkJCQl2YXIgdmFsdWUgPSBpc0Z1bmN0aW9uKCB2YWx1ZU9yRnVuY3Rpb24gKSA/CgkJCQkJdmFsdWVPckZ1bmN0aW9uKCkgOgoJCQkJCXZhbHVlT3JGdW5jdGlvbjsKCgkJCQlzWyBzLmxlbmd0aCBdID0gZW5jb2RlVVJJQ29tcG9uZW50KCBrZXkgKSArICI9IiArCgkJCQkJZW5jb2RlVVJJQ29tcG9uZW50KCB2YWx1ZSA9PSBudWxsID8gIiIgOiB2YWx1ZSApOwoJCQl9OwoKCQkvLyBJZiBhbiBhcnJheSB3YXMgcGFzc2VkIGluLCBhc3N1bWUgdGhhdCBpdCBpcyBhbiBhcnJheSBvZiBmb3JtIGVsZW1lbnRzLgoJCWlmICggQXJyYXkuaXNBcnJheSggYSApIHx8ICggYS5qcXVlcnkgJiYgIWpRdWVyeS5pc1BsYWluT2JqZWN0KCBhICkgKSApIHsKCgkJCS8vIFNlcmlhbGl6ZSB0aGUgZm9ybSBlbGVtZW50cwoJCQlqUXVlcnkuZWFjaCggYSwgZnVuY3Rpb24oKSB7CgkJCQlhZGQoIHRoaXMubmFtZSwgdGhpcy52YWx1ZSApOwoJCQl9ICk7CgoJCX0gZWxzZSB7CgoJCQkvLyBJZiB0cmFkaXRpb25hbCwgZW5jb2RlIHRoZSAib2xkIiB3YXkgKHRoZSB3YXkgMS4zLjIgb3Igb2xkZXIKCQkJLy8gZGlkIGl0KSwgb3RoZXJ3aXNlIGVuY29kZSBwYXJhbXMgcmVjdXJzaXZlbHkuCgkJCWZvciAoIHByZWZpeCBpbiBhICkgewoJCQkJYnVpbGRQYXJhbXMoIHByZWZpeCwgYVsgcHJlZml4IF0sIHRyYWRpdGlvbmFsLCBhZGQgKTsKCQkJfQoJCX0KCgkJLy8gUmV0dXJuIHRoZSByZXN1bHRpbmcgc2VyaWFsaXphdGlvbgoJCXJldHVybiBzLmpvaW4oICImIiApOwoJfTsKCglqUXVlcnkuZm4uZXh0ZW5kKCB7CgkJc2VyaWFsaXplOiBmdW5jdGlvbigpIHsKCQkJcmV0dXJuIGpRdWVyeS5wYXJhbSggdGhpcy5zZXJpYWxpemVBcnJheSgpICk7CgkJfSwKCQlzZXJpYWxpemVBcnJheTogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLm1hcCggZnVuY3Rpb24oKSB7CgoJCQkJLy8gQ2FuIGFkZCBwcm9wSG9vayBmb3IgImVsZW1lbnRzIiB0byBmaWx0ZXIgb3IgYWRkIGZvcm0gZWxlbWVudHMKCQkJCXZhciBlbGVtZW50cyA9IGpRdWVyeS5wcm9wKCB0aGlzLCAiZWxlbWVudHMiICk7CgkJCQlyZXR1cm4gZWxlbWVudHMgPyBqUXVlcnkubWFrZUFycmF5KCBlbGVtZW50cyApIDogdGhpczsKCQkJfSApCgkJCQkuZmlsdGVyKCBmdW5jdGlvbigpIHsKCQkJCQl2YXIgdHlwZSA9IHRoaXMudHlwZTsKCgkJCQkJLy8gVXNlIC5pcyggIjpkaXNhYmxlZCIgKSBzbyB0aGF0IGZpZWxkc2V0W2Rpc2FibGVkXSB3b3JrcwoJCQkJCXJldHVybiB0aGlzLm5hbWUgJiYgIWpRdWVyeSggdGhpcyApLmlzKCAiOmRpc2FibGVkIiApICYmCgkJCQkJCXJzdWJtaXR0YWJsZS50ZXN0KCB0aGlzLm5vZGVOYW1lICkgJiYgIXJzdWJtaXR0ZXJUeXBlcy50ZXN0KCB0eXBlICkgJiYKCQkJCQkJKCB0aGlzLmNoZWNrZWQgfHwgIXJjaGVja2FibGVUeXBlLnRlc3QoIHR5cGUgKSApOwoJCQkJfSApCgkJCQkubWFwKCBmdW5jdGlvbiggaSwgZWxlbSApIHsKCQkJCQl2YXIgdmFsID0galF1ZXJ5KCB0aGlzICkudmFsKCk7CgoJCQkJCWlmICggdmFsID09IG51bGwgKSB7CgkJCQkJCXJldHVybiBudWxsOwoJCQkJCX0KCgkJCQkJaWYgKCBBcnJheS5pc0FycmF5KCB2YWwgKSApIHsKCQkJCQkJcmV0dXJuIGpRdWVyeS5tYXAoIHZhbCwgZnVuY3Rpb24oIHZhbCApIHsKCQkJCQkJCXJldHVybiB7IG5hbWU6IGVsZW0ubmFtZSwgdmFsdWU6IHZhbC5yZXBsYWNlKCByQ1JMRiwgIlxyXG4iICkgfTsKCQkJCQkJfSApOwoJCQkJCX0KCgkJCQkJcmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCAiXHJcbiIgKSB9OwoJCQkJfSApLmdldCgpOwoJCX0KCX0gKTsKCgoJdmFyCgkJcjIwID0gLyUyMC9nLAoJCXJoYXNoID0gLyMuKiQvLAoJCXJhbnRpQ2FjaGUgPSAvKFs/Jl0pXz1bXiZdKi8sCgkJcmhlYWRlcnMgPSAvXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL21nLAoKCQkvLyAjNzY1MywgIzgxMjUsICM4MTUyOiBsb2NhbCBwcm90b2NvbCBkZXRlY3Rpb24KCQlybG9jYWxQcm90b2NvbCA9IC9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLAoJCXJub0NvbnRlbnQgPSAvXig/OkdFVHxIRUFEKSQvLAoJCXJwcm90b2NvbCA9IC9eXC9cLy8sCgoJCS8qIFByZWZpbHRlcnMKCSAqIDEpIFRoZXkgYXJlIHVzZWZ1bCB0byBpbnRyb2R1Y2UgY3VzdG9tIGRhdGFUeXBlcyAoc2VlIGFqYXgvanNvbnAuanMgZm9yIGFuIGV4YW1wbGUpCgkgKiAyKSBUaGVzZSBhcmUgY2FsbGVkOgoJICogICAgLSBCRUZPUkUgYXNraW5nIGZvciBhIHRyYW5zcG9ydAoJICogICAgLSBBRlRFUiBwYXJhbSBzZXJpYWxpemF0aW9uIChzLmRhdGEgaXMgYSBzdHJpbmcgaWYgcy5wcm9jZXNzRGF0YSBpcyB0cnVlKQoJICogMykga2V5IGlzIHRoZSBkYXRhVHlwZQoJICogNCkgdGhlIGNhdGNoYWxsIHN5bWJvbCAiKiIgY2FuIGJlIHVzZWQKCSAqIDUpIGV4ZWN1dGlvbiB3aWxsIHN0YXJ0IHdpdGggdHJhbnNwb3J0IGRhdGFUeXBlIGFuZCBUSEVOIGNvbnRpbnVlIGRvd24gdG8gIioiIGlmIG5lZWRlZAoJICovCgkJcHJlZmlsdGVycyA9IHt9LAoKCQkvKiBUcmFuc3BvcnRzIGJpbmRpbmdzCgkgKiAxKSBrZXkgaXMgdGhlIGRhdGFUeXBlCgkgKiAyKSB0aGUgY2F0Y2hhbGwgc3ltYm9sICIqIiBjYW4gYmUgdXNlZAoJICogMykgc2VsZWN0aW9uIHdpbGwgc3RhcnQgd2l0aCB0cmFuc3BvcnQgZGF0YVR5cGUgYW5kIFRIRU4gZ28gdG8gIioiIGlmIG5lZWRlZAoJICovCgkJdHJhbnNwb3J0cyA9IHt9LAoKCQkvLyBBdm9pZCBjb21tZW50LXByb2xvZyBjaGFyIHNlcXVlbmNlICgjMTAwOTgpOyBtdXN0IGFwcGVhc2UgbGludCBhbmQgZXZhZGUgY29tcHJlc3Npb24KCQlhbGxUeXBlcyA9ICIqLyIuY29uY2F0KCAiKiIgKSwKCgkJLy8gQW5jaG9yIHRhZyBmb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgb3JpZ2luCgkJb3JpZ2luQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7CglvcmlnaW5BbmNob3IuaHJlZiA9IGxvY2F0aW9uLmhyZWY7CgovLyBCYXNlICJjb25zdHJ1Y3RvciIgZm9yIGpRdWVyeS5hamF4UHJlZmlsdGVyIGFuZCBqUXVlcnkuYWpheFRyYW5zcG9ydAoJZnVuY3Rpb24gYWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUgKSB7CgoJCS8vIGRhdGFUeXBlRXhwcmVzc2lvbiBpcyBvcHRpb25hbCBhbmQgZGVmYXVsdHMgdG8gIioiCgkJcmV0dXJuIGZ1bmN0aW9uKCBkYXRhVHlwZUV4cHJlc3Npb24sIGZ1bmMgKSB7CgoJCQlpZiAoIHR5cGVvZiBkYXRhVHlwZUV4cHJlc3Npb24gIT09ICJzdHJpbmciICkgewoJCQkJZnVuYyA9IGRhdGFUeXBlRXhwcmVzc2lvbjsKCQkJCWRhdGFUeXBlRXhwcmVzc2lvbiA9ICIqIjsKCQkJfQoKCQkJdmFyIGRhdGFUeXBlLAoJCQkJaSA9IDAsCgkJCQlkYXRhVHlwZXMgPSBkYXRhVHlwZUV4cHJlc3Npb24udG9Mb3dlckNhc2UoKS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdOwoKCQkJaWYgKCBpc0Z1bmN0aW9uKCBmdW5jICkgKSB7CgoJCQkJLy8gRm9yIGVhY2ggZGF0YVR5cGUgaW4gdGhlIGRhdGFUeXBlRXhwcmVzc2lvbgoJCQkJd2hpbGUgKCAoIGRhdGFUeXBlID0gZGF0YVR5cGVzWyBpKysgXSApICkgewoKCQkJCQkvLyBQcmVwZW5kIGlmIHJlcXVlc3RlZAoJCQkJCWlmICggZGF0YVR5cGVbIDAgXSA9PT0gIisiICkgewoJCQkJCQlkYXRhVHlwZSA9IGRhdGFUeXBlLnNsaWNlKCAxICkgfHwgIioiOwoJCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnVuc2hpZnQoIGZ1bmMgKTsKCgkJCQkJCS8vIE90aGVyd2lzZSBhcHBlbmQKCQkJCQl9IGVsc2UgewoJCQkJCQkoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnB1c2goIGZ1bmMgKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9OwoJfQoKLy8gQmFzZSBpbnNwZWN0aW9uIGZ1bmN0aW9uIGZvciBwcmVmaWx0ZXJzIGFuZCB0cmFuc3BvcnRzCglmdW5jdGlvbiBpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggc3RydWN0dXJlLCBvcHRpb25zLCBvcmlnaW5hbE9wdGlvbnMsIGpxWEhSICkgewoKCQl2YXIgaW5zcGVjdGVkID0ge30sCgkJCXNlZWtpbmdUcmFuc3BvcnQgPSAoIHN0cnVjdHVyZSA9PT0gdHJhbnNwb3J0cyApOwoKCQlmdW5jdGlvbiBpbnNwZWN0KCBkYXRhVHlwZSApIHsKCQkJdmFyIHNlbGVjdGVkOwoJCQlpbnNwZWN0ZWRbIGRhdGFUeXBlIF0gPSB0cnVlOwoJCQlqUXVlcnkuZWFjaCggc3RydWN0dXJlWyBkYXRhVHlwZSBdIHx8IFtdLCBmdW5jdGlvbiggXywgcHJlZmlsdGVyT3JGYWN0b3J5ICkgewoJCQkJdmFyIGRhdGFUeXBlT3JUcmFuc3BvcnQgPSBwcmVmaWx0ZXJPckZhY3RvcnkoIG9wdGlvbnMsIG9yaWdpbmFsT3B0aW9ucywganFYSFIgKTsKCQkJCWlmICggdHlwZW9mIGRhdGFUeXBlT3JUcmFuc3BvcnQgPT09ICJzdHJpbmciICYmCgkJCQkJIXNlZWtpbmdUcmFuc3BvcnQgJiYgIWluc3BlY3RlZFsgZGF0YVR5cGVPclRyYW5zcG9ydCBdICkgewoKCQkJCQlvcHRpb25zLmRhdGFUeXBlcy51bnNoaWZ0KCBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7CgkJCQkJaW5zcGVjdCggZGF0YVR5cGVPclRyYW5zcG9ydCApOwoJCQkJCXJldHVybiBmYWxzZTsKCQkJCX0gZWxzZSBpZiAoIHNlZWtpbmdUcmFuc3BvcnQgKSB7CgkJCQkJcmV0dXJuICEoIHNlbGVjdGVkID0gZGF0YVR5cGVPclRyYW5zcG9ydCApOwoJCQkJfQoJCQl9ICk7CgkJCXJldHVybiBzZWxlY3RlZDsKCQl9CgoJCXJldHVybiBpbnNwZWN0KCBvcHRpb25zLmRhdGFUeXBlc1sgMCBdICkgfHwgIWluc3BlY3RlZFsgIioiIF0gJiYgaW5zcGVjdCggIioiICk7Cgl9CgovLyBBIHNwZWNpYWwgZXh0ZW5kIGZvciBhamF4IG9wdGlvbnMKLy8gdGhhdCB0YWtlcyAiZmxhdCIgb3B0aW9ucyAobm90IHRvIGJlIGRlZXAgZXh0ZW5kZWQpCi8vIEZpeGVzICM5ODg3CglmdW5jdGlvbiBhamF4RXh0ZW5kKCB0YXJnZXQsIHNyYyApIHsKCQl2YXIga2V5LCBkZWVwLAoJCQlmbGF0T3B0aW9ucyA9IGpRdWVyeS5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnMgfHwge307CgoJCWZvciAoIGtleSBpbiBzcmMgKSB7CgkJCWlmICggc3JjWyBrZXkgXSAhPT0gdW5kZWZpbmVkICkgewoJCQkJKCBmbGF0T3B0aW9uc1sga2V5IF0gPyB0YXJnZXQgOiAoIGRlZXAgfHwgKCBkZWVwID0ge30gKSApIClbIGtleSBdID0gc3JjWyBrZXkgXTsKCQkJfQoJCX0KCQlpZiAoIGRlZXAgKSB7CgkJCWpRdWVyeS5leHRlbmQoIHRydWUsIHRhcmdldCwgZGVlcCApOwoJCX0KCgkJcmV0dXJuIHRhcmdldDsKCX0KCgkvKiBIYW5kbGVzIHJlc3BvbnNlcyB0byBhbiBhamF4IHJlcXVlc3Q6CiAqIC0gZmluZHMgdGhlIHJpZ2h0IGRhdGFUeXBlIChtZWRpYXRlcyBiZXR3ZWVuIGNvbnRlbnQtdHlwZSBhbmQgZXhwZWN0ZWQgZGF0YVR5cGUpCiAqIC0gcmV0dXJucyB0aGUgY29ycmVzcG9uZGluZyByZXNwb25zZQogKi8KCWZ1bmN0aW9uIGFqYXhIYW5kbGVSZXNwb25zZXMoIHMsIGpxWEhSLCByZXNwb25zZXMgKSB7CgoJCXZhciBjdCwgdHlwZSwgZmluYWxEYXRhVHlwZSwgZmlyc3REYXRhVHlwZSwKCQkJY29udGVudHMgPSBzLmNvbnRlbnRzLAoJCQlkYXRhVHlwZXMgPSBzLmRhdGFUeXBlczsKCgkJLy8gUmVtb3ZlIGF1dG8gZGF0YVR5cGUgYW5kIGdldCBjb250ZW50LXR5cGUgaW4gdGhlIHByb2Nlc3MKCQl3aGlsZSAoIGRhdGFUeXBlc1sgMCBdID09PSAiKiIgKSB7CgkJCWRhdGFUeXBlcy5zaGlmdCgpOwoJCQlpZiAoIGN0ID09PSB1bmRlZmluZWQgKSB7CgkJCQljdCA9IHMubWltZVR5cGUgfHwganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoICJDb250ZW50LVR5cGUiICk7CgkJCX0KCQl9CgoJCS8vIENoZWNrIGlmIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIGtub3duIGNvbnRlbnQtdHlwZQoJCWlmICggY3QgKSB7CgkJCWZvciAoIHR5cGUgaW4gY29udGVudHMgKSB7CgkJCQlpZiAoIGNvbnRlbnRzWyB0eXBlIF0gJiYgY29udGVudHNbIHR5cGUgXS50ZXN0KCBjdCApICkgewoJCQkJCWRhdGFUeXBlcy51bnNoaWZ0KCB0eXBlICk7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9CgoJCS8vIENoZWNrIHRvIHNlZSBpZiB3ZSBoYXZlIGEgcmVzcG9uc2UgZm9yIHRoZSBleHBlY3RlZCBkYXRhVHlwZQoJCWlmICggZGF0YVR5cGVzWyAwIF0gaW4gcmVzcG9uc2VzICkgewoJCQlmaW5hbERhdGFUeXBlID0gZGF0YVR5cGVzWyAwIF07CgkJfSBlbHNlIHsKCgkJCS8vIFRyeSBjb252ZXJ0aWJsZSBkYXRhVHlwZXMKCQkJZm9yICggdHlwZSBpbiByZXNwb25zZXMgKSB7CgkJCQlpZiAoICFkYXRhVHlwZXNbIDAgXSB8fCBzLmNvbnZlcnRlcnNbIHR5cGUgKyAiICIgKyBkYXRhVHlwZXNbIDAgXSBdICkgewoJCQkJCWZpbmFsRGF0YVR5cGUgPSB0eXBlOwoJCQkJCWJyZWFrOwoJCQkJfQoJCQkJaWYgKCAhZmlyc3REYXRhVHlwZSApIHsKCQkJCQlmaXJzdERhdGFUeXBlID0gdHlwZTsKCQkJCX0KCQkJfQoKCQkJLy8gT3IganVzdCB1c2UgZmlyc3Qgb25lCgkJCWZpbmFsRGF0YVR5cGUgPSBmaW5hbERhdGFUeXBlIHx8IGZpcnN0RGF0YVR5cGU7CgkJfQoKCQkvLyBJZiB3ZSBmb3VuZCBhIGRhdGFUeXBlCgkJLy8gV2UgYWRkIHRoZSBkYXRhVHlwZSB0byB0aGUgbGlzdCBpZiBuZWVkZWQKCQkvLyBhbmQgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nIHJlc3BvbnNlCgkJaWYgKCBmaW5hbERhdGFUeXBlICkgewoJCQlpZiAoIGZpbmFsRGF0YVR5cGUgIT09IGRhdGFUeXBlc1sgMCBdICkgewoJCQkJZGF0YVR5cGVzLnVuc2hpZnQoIGZpbmFsRGF0YVR5cGUgKTsKCQkJfQoJCQlyZXR1cm4gcmVzcG9uc2VzWyBmaW5hbERhdGFUeXBlIF07CgkJfQoJfQoKCS8qIENoYWluIGNvbnZlcnNpb25zIGdpdmVuIHRoZSByZXF1ZXN0IGFuZCB0aGUgb3JpZ2luYWwgcmVzcG9uc2UKICogQWxzbyBzZXRzIHRoZSByZXNwb25zZVhYWCBmaWVsZHMgb24gdGhlIGpxWEhSIGluc3RhbmNlCiAqLwoJZnVuY3Rpb24gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICkgewoJCXZhciBjb252MiwgY3VycmVudCwgY29udiwgdG1wLCBwcmV2LAoJCQljb252ZXJ0ZXJzID0ge30sCgoJCQkvLyBXb3JrIHdpdGggYSBjb3B5IG9mIGRhdGFUeXBlcyBpbiBjYXNlIHdlIG5lZWQgdG8gbW9kaWZ5IGl0IGZvciBjb252ZXJzaW9uCgkJCWRhdGFUeXBlcyA9IHMuZGF0YVR5cGVzLnNsaWNlKCk7CgoJCS8vIENyZWF0ZSBjb252ZXJ0ZXJzIG1hcCB3aXRoIGxvd2VyY2FzZWQga2V5cwoJCWlmICggZGF0YVR5cGVzWyAxIF0gKSB7CgkJCWZvciAoIGNvbnYgaW4gcy5jb252ZXJ0ZXJzICkgewoJCQkJY29udmVydGVyc1sgY29udi50b0xvd2VyQ2FzZSgpIF0gPSBzLmNvbnZlcnRlcnNbIGNvbnYgXTsKCQkJfQoJCX0KCgkJY3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpOwoKCQkvLyBDb252ZXJ0IHRvIGVhY2ggc2VxdWVudGlhbCBkYXRhVHlwZQoJCXdoaWxlICggY3VycmVudCApIHsKCgkJCWlmICggcy5yZXNwb25zZUZpZWxkc1sgY3VycmVudCBdICkgewoJCQkJanFYSFJbIHMucmVzcG9uc2VGaWVsZHNbIGN1cnJlbnQgXSBdID0gcmVzcG9uc2U7CgkJCX0KCgkJCS8vIEFwcGx5IHRoZSBkYXRhRmlsdGVyIGlmIHByb3ZpZGVkCgkJCWlmICggIXByZXYgJiYgaXNTdWNjZXNzICYmIHMuZGF0YUZpbHRlciApIHsKCQkJCXJlc3BvbnNlID0gcy5kYXRhRmlsdGVyKCByZXNwb25zZSwgcy5kYXRhVHlwZSApOwoJCQl9CgoJCQlwcmV2ID0gY3VycmVudDsKCQkJY3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpOwoKCQkJaWYgKCBjdXJyZW50ICkgewoKCQkJCS8vIFRoZXJlJ3Mgb25seSB3b3JrIHRvIGRvIGlmIGN1cnJlbnQgZGF0YVR5cGUgaXMgbm9uLWF1dG8KCQkJCWlmICggY3VycmVudCA9PT0gIioiICkgewoKCQkJCQljdXJyZW50ID0gcHJldjsKCgkJCQkJLy8gQ29udmVydCByZXNwb25zZSBpZiBwcmV2IGRhdGFUeXBlIGlzIG5vbi1hdXRvIGFuZCBkaWZmZXJzIGZyb20gY3VycmVudAoJCQkJfSBlbHNlIGlmICggcHJldiAhPT0gIioiICYmIHByZXYgIT09IGN1cnJlbnQgKSB7CgoJCQkJCS8vIFNlZWsgYSBkaXJlY3QgY29udmVydGVyCgkJCQkJY29udiA9IGNvbnZlcnRlcnNbIHByZXYgKyAiICIgKyBjdXJyZW50IF0gfHwgY29udmVydGVyc1sgIiogIiArIGN1cnJlbnQgXTsKCgkJCQkJLy8gSWYgbm9uZSBmb3VuZCwgc2VlayBhIHBhaXIKCQkJCQlpZiAoICFjb252ICkgewoJCQkJCQlmb3IgKCBjb252MiBpbiBjb252ZXJ0ZXJzICkgewoKCQkJCQkJCS8vIElmIGNvbnYyIG91dHB1dHMgY3VycmVudAoJCQkJCQkJdG1wID0gY29udjIuc3BsaXQoICIgIiApOwoJCQkJCQkJaWYgKCB0bXBbIDEgXSA9PT0gY3VycmVudCApIHsKCgkJCQkJCQkJLy8gSWYgcHJldiBjYW4gYmUgY29udmVydGVkIHRvIGFjY2VwdGVkIGlucHV0CgkJCQkJCQkJY29udiA9IGNvbnZlcnRlcnNbIHByZXYgKyAiICIgKyB0bXBbIDAgXSBdIHx8CgkJCQkJCQkJCWNvbnZlcnRlcnNbICIqICIgKyB0bXBbIDAgXSBdOwoJCQkJCQkJCWlmICggY29udiApIHsKCgkJCQkJCQkJCS8vIENvbmRlbnNlIGVxdWl2YWxlbmNlIGNvbnZlcnRlcnMKCQkJCQkJCQkJaWYgKCBjb252ID09PSB0cnVlICkgewoJCQkJCQkJCQkJY29udiA9IGNvbnZlcnRlcnNbIGNvbnYyIF07CgoJCQkJCQkJCQkJLy8gT3RoZXJ3aXNlLCBpbnNlcnQgdGhlIGludGVybWVkaWF0ZSBkYXRhVHlwZQoJCQkJCQkJCQl9IGVsc2UgaWYgKCBjb252ZXJ0ZXJzWyBjb252MiBdICE9PSB0cnVlICkgewoJCQkJCQkJCQkJY3VycmVudCA9IHRtcFsgMCBdOwoJCQkJCQkJCQkJZGF0YVR5cGVzLnVuc2hpZnQoIHRtcFsgMSBdICk7CgkJCQkJCQkJCX0KCQkJCQkJCQkJYnJlYWs7CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJfQoKCQkJCQkvLyBBcHBseSBjb252ZXJ0ZXIgKGlmIG5vdCBhbiBlcXVpdmFsZW5jZSkKCQkJCQlpZiAoIGNvbnYgIT09IHRydWUgKSB7CgoJCQkJCQkvLyBVbmxlc3MgZXJyb3JzIGFyZSBhbGxvd2VkIHRvIGJ1YmJsZSwgY2F0Y2ggYW5kIHJldHVybiB0aGVtCgkJCQkJCWlmICggY29udiAmJiBzLnRocm93cyApIHsKCQkJCQkJCXJlc3BvbnNlID0gY29udiggcmVzcG9uc2UgKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCXRyeSB7CgkJCQkJCQkJcmVzcG9uc2UgPSBjb252KCByZXNwb25zZSApOwoJCQkJCQkJfSBjYXRjaCAoIGUgKSB7CgkJCQkJCQkJcmV0dXJuIHsKCQkJCQkJCQkJc3RhdGU6ICJwYXJzZXJlcnJvciIsCgkJCQkJCQkJCWVycm9yOiBjb252ID8gZSA6ICJObyBjb252ZXJzaW9uIGZyb20gIiArIHByZXYgKyAiIHRvICIgKyBjdXJyZW50CgkJCQkJCQkJfTsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuIHsgc3RhdGU6ICJzdWNjZXNzIiwgZGF0YTogcmVzcG9uc2UgfTsKCX0KCglqUXVlcnkuZXh0ZW5kKCB7CgoJCS8vIENvdW50ZXIgZm9yIGhvbGRpbmcgdGhlIG51bWJlciBvZiBhY3RpdmUgcXVlcmllcwoJCWFjdGl2ZTogMCwKCgkJLy8gTGFzdC1Nb2RpZmllZCBoZWFkZXIgY2FjaGUgZm9yIG5leHQgcmVxdWVzdAoJCWxhc3RNb2RpZmllZDoge30sCgkJZXRhZzoge30sCgoJCWFqYXhTZXR0aW5nczogewoJCQl1cmw6IGxvY2F0aW9uLmhyZWYsCgkJCXR5cGU6ICJHRVQiLAoJCQlpc0xvY2FsOiBybG9jYWxQcm90b2NvbC50ZXN0KCBsb2NhdGlvbi5wcm90b2NvbCApLAoJCQlnbG9iYWw6IHRydWUsCgkJCXByb2Nlc3NEYXRhOiB0cnVlLAoJCQlhc3luYzogdHJ1ZSwKCQkJY29udGVudFR5cGU6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLAoKCQkJLyoKCQl0aW1lb3V0OiAwLAoJCWRhdGE6IG51bGwsCgkJZGF0YVR5cGU6IG51bGwsCgkJdXNlcm5hbWU6IG51bGwsCgkJcGFzc3dvcmQ6IG51bGwsCgkJY2FjaGU6IG51bGwsCgkJdGhyb3dzOiBmYWxzZSwKCQl0cmFkaXRpb25hbDogZmFsc2UsCgkJaGVhZGVyczoge30sCgkJKi8KCgkJCWFjY2VwdHM6IHsKCQkJCSIqIjogYWxsVHlwZXMsCgkJCQl0ZXh0OiAidGV4dC9wbGFpbiIsCgkJCQlodG1sOiAidGV4dC9odG1sIiwKCQkJCXhtbDogImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLAoJCQkJanNvbjogImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCIKCQkJfSwKCgkJCWNvbnRlbnRzOiB7CgkJCQl4bWw6IC9cYnhtbFxiLywKCQkJCWh0bWw6IC9cYmh0bWwvLAoJCQkJanNvbjogL1xianNvblxiLwoJCQl9LAoKCQkJcmVzcG9uc2VGaWVsZHM6IHsKCQkJCXhtbDogInJlc3BvbnNlWE1MIiwKCQkJCXRleHQ6ICJyZXNwb25zZVRleHQiLAoJCQkJanNvbjogInJlc3BvbnNlSlNPTiIKCQkJfSwKCgkJCS8vIERhdGEgY29udmVydGVycwoJCQkvLyBLZXlzIHNlcGFyYXRlIHNvdXJjZSAob3IgY2F0Y2hhbGwgIioiKSBhbmQgZGVzdGluYXRpb24gdHlwZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQoJCQljb252ZXJ0ZXJzOiB7CgoJCQkJLy8gQ29udmVydCBhbnl0aGluZyB0byB0ZXh0CgkJCQkiKiB0ZXh0IjogU3RyaW5nLAoKCQkJCS8vIFRleHQgdG8gaHRtbCAodHJ1ZSA9IG5vIHRyYW5zZm9ybWF0aW9uKQoJCQkJInRleHQgaHRtbCI6IHRydWUsCgoJCQkJLy8gRXZhbHVhdGUgdGV4dCBhcyBhIGpzb24gZXhwcmVzc2lvbgoJCQkJInRleHQganNvbiI6IEpTT04ucGFyc2UsCgoJCQkJLy8gUGFyc2UgdGV4dCBhcyB4bWwKCQkJCSJ0ZXh0IHhtbCI6IGpRdWVyeS5wYXJzZVhNTAoJCQl9LAoKCQkJLy8gRm9yIG9wdGlvbnMgdGhhdCBzaG91bGRuJ3QgYmUgZGVlcCBleHRlbmRlZDoKCQkJLy8geW91IGNhbiBhZGQgeW91ciBvd24gY3VzdG9tIG9wdGlvbnMgaGVyZSBpZgoJCQkvLyBhbmQgd2hlbiB5b3UgY3JlYXRlIG9uZSB0aGF0IHNob3VsZG4ndCBiZQoJCQkvLyBkZWVwIGV4dGVuZGVkIChzZWUgYWpheEV4dGVuZCkKCQkJZmxhdE9wdGlvbnM6IHsKCQkJCXVybDogdHJ1ZSwKCQkJCWNvbnRleHQ6IHRydWUKCQkJfQoJCX0sCgoJCS8vIENyZWF0ZXMgYSBmdWxsIGZsZWRnZWQgc2V0dGluZ3Mgb2JqZWN0IGludG8gdGFyZ2V0CgkJLy8gd2l0aCBib3RoIGFqYXhTZXR0aW5ncyBhbmQgc2V0dGluZ3MgZmllbGRzLgoJCS8vIElmIHRhcmdldCBpcyBvbWl0dGVkLCB3cml0ZXMgaW50byBhamF4U2V0dGluZ3MuCgkJYWpheFNldHVwOiBmdW5jdGlvbiggdGFyZ2V0LCBzZXR0aW5ncyApIHsKCQkJcmV0dXJuIHNldHRpbmdzID8KCgkJCQkvLyBCdWlsZGluZyBhIHNldHRpbmdzIG9iamVjdAoJCQkJYWpheEV4dGVuZCggYWpheEV4dGVuZCggdGFyZ2V0LCBqUXVlcnkuYWpheFNldHRpbmdzICksIHNldHRpbmdzICkgOgoKCQkJCS8vIEV4dGVuZGluZyBhamF4U2V0dGluZ3MKCQkJCWFqYXhFeHRlbmQoIGpRdWVyeS5hamF4U2V0dGluZ3MsIHRhcmdldCApOwoJCX0sCgoJCWFqYXhQcmVmaWx0ZXI6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycyApLAoJCWFqYXhUcmFuc3BvcnQ6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggdHJhbnNwb3J0cyApLAoKCQkvLyBNYWluIG1ldGhvZAoJCWFqYXg6IGZ1bmN0aW9uKCB1cmwsIG9wdGlvbnMgKSB7CgoJCQkvLyBJZiB1cmwgaXMgYW4gb2JqZWN0LCBzaW11bGF0ZSBwcmUtMS41IHNpZ25hdHVyZQoJCQlpZiAoIHR5cGVvZiB1cmwgPT09ICJvYmplY3QiICkgewoJCQkJb3B0aW9ucyA9IHVybDsKCQkJCXVybCA9IHVuZGVmaW5lZDsKCQkJfQoKCQkJLy8gRm9yY2Ugb3B0aW9ucyB0byBiZSBhbiBvYmplY3QKCQkJb3B0aW9ucyA9IG9wdGlvbnMgfHwge307CgoJCQl2YXIgdHJhbnNwb3J0LAoKCQkJCS8vIFVSTCB3aXRob3V0IGFudGktY2FjaGUgcGFyYW0KCQkJCWNhY2hlVVJMLAoKCQkJCS8vIFJlc3BvbnNlIGhlYWRlcnMKCQkJCXJlc3BvbnNlSGVhZGVyc1N0cmluZywKCQkJCXJlc3BvbnNlSGVhZGVycywKCgkJCQkvLyB0aW1lb3V0IGhhbmRsZQoJCQkJdGltZW91dFRpbWVyLAoKCQkJCS8vIFVybCBjbGVhbnVwIHZhcgoJCQkJdXJsQW5jaG9yLAoKCQkJCS8vIFJlcXVlc3Qgc3RhdGUgKGJlY29tZXMgZmFsc2UgdXBvbiBzZW5kIGFuZCB0cnVlIHVwb24gY29tcGxldGlvbikKCQkJCWNvbXBsZXRlZCwKCgkJCQkvLyBUbyBrbm93IGlmIGdsb2JhbCBldmVudHMgYXJlIHRvIGJlIGRpc3BhdGNoZWQKCQkJCWZpcmVHbG9iYWxzLAoKCQkJCS8vIExvb3AgdmFyaWFibGUKCQkJCWksCgoJCQkJLy8gdW5jYWNoZWQgcGFydCBvZiB0aGUgdXJsCgkJCQl1bmNhY2hlZCwKCgkJCQkvLyBDcmVhdGUgdGhlIGZpbmFsIG9wdGlvbnMgb2JqZWN0CgkJCQlzID0galF1ZXJ5LmFqYXhTZXR1cCgge30sIG9wdGlvbnMgKSwKCgkJCQkvLyBDYWxsYmFja3MgY29udGV4dAoJCQkJY2FsbGJhY2tDb250ZXh0ID0gcy5jb250ZXh0IHx8IHMsCgoJCQkJLy8gQ29udGV4dCBmb3IgZ2xvYmFsIGV2ZW50cyBpcyBjYWxsYmFja0NvbnRleHQgaWYgaXQgaXMgYSBET00gbm9kZSBvciBqUXVlcnkgY29sbGVjdGlvbgoJCQkJZ2xvYmFsRXZlbnRDb250ZXh0ID0gcy5jb250ZXh0ICYmCgkJCQkoIGNhbGxiYWNrQ29udGV4dC5ub2RlVHlwZSB8fCBjYWxsYmFja0NvbnRleHQuanF1ZXJ5ICkgPwoJCQkJCWpRdWVyeSggY2FsbGJhY2tDb250ZXh0ICkgOgoJCQkJCWpRdWVyeS5ldmVudCwKCgkJCQkvLyBEZWZlcnJlZHMKCQkJCWRlZmVycmVkID0galF1ZXJ5LkRlZmVycmVkKCksCgkJCQljb21wbGV0ZURlZmVycmVkID0galF1ZXJ5LkNhbGxiYWNrcyggIm9uY2UgbWVtb3J5IiApLAoKCQkJCS8vIFN0YXR1cy1kZXBlbmRlbnQgY2FsbGJhY2tzCgkJCQlzdGF0dXNDb2RlID0gcy5zdGF0dXNDb2RlIHx8IHt9LAoKCQkJCS8vIEhlYWRlcnMgKHRoZXkgYXJlIHNlbnQgYWxsIGF0IG9uY2UpCgkJCQlyZXF1ZXN0SGVhZGVycyA9IHt9LAoJCQkJcmVxdWVzdEhlYWRlcnNOYW1lcyA9IHt9LAoKCQkJCS8vIERlZmF1bHQgYWJvcnQgbWVzc2FnZQoJCQkJc3RyQWJvcnQgPSAiY2FuY2VsZWQiLAoKCQkJCS8vIEZha2UgeGhyCgkJCQlqcVhIUiA9IHsKCQkJCQlyZWFkeVN0YXRlOiAwLAoKCQkJCQkvLyBCdWlsZHMgaGVhZGVycyBoYXNodGFibGUgaWYgbmVlZGVkCgkJCQkJZ2V0UmVzcG9uc2VIZWFkZXI6IGZ1bmN0aW9uKCBrZXkgKSB7CgkJCQkJCXZhciBtYXRjaDsKCQkJCQkJaWYgKCBjb21wbGV0ZWQgKSB7CgkJCQkJCQlpZiAoICFyZXNwb25zZUhlYWRlcnMgKSB7CgkJCQkJCQkJcmVzcG9uc2VIZWFkZXJzID0ge307CgkJCQkJCQkJd2hpbGUgKCAoIG1hdGNoID0gcmhlYWRlcnMuZXhlYyggcmVzcG9uc2VIZWFkZXJzU3RyaW5nICkgKSApIHsKCQkJCQkJCQkJcmVzcG9uc2VIZWFkZXJzWyBtYXRjaFsgMSBdLnRvTG93ZXJDYXNlKCkgXSA9IG1hdGNoWyAyIF07CgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQkJbWF0Y2ggPSByZXNwb25zZUhlYWRlcnNbIGtleS50b0xvd2VyQ2FzZSgpIF07CgkJCQkJCX0KCQkJCQkJcmV0dXJuIG1hdGNoID09IG51bGwgPyBudWxsIDogbWF0Y2g7CgkJCQkJfSwKCgkJCQkJLy8gUmF3IHN0cmluZwoJCQkJCWdldEFsbFJlc3BvbnNlSGVhZGVyczogZnVuY3Rpb24oKSB7CgkJCQkJCXJldHVybiBjb21wbGV0ZWQgPyByZXNwb25zZUhlYWRlcnNTdHJpbmcgOiBudWxsOwoJCQkJCX0sCgoJCQkJCS8vIENhY2hlcyB0aGUgaGVhZGVyCgkJCQkJc2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkgewoJCQkJCQlpZiAoIGNvbXBsZXRlZCA9PSBudWxsICkgewoJCQkJCQkJbmFtZSA9IHJlcXVlc3RIZWFkZXJzTmFtZXNbIG5hbWUudG9Mb3dlckNhc2UoKSBdID0KCQkJCQkJCQlyZXF1ZXN0SGVhZGVyc05hbWVzWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSB8fCBuYW1lOwoJCQkJCQkJcmVxdWVzdEhlYWRlcnNbIG5hbWUgXSA9IHZhbHVlOwoJCQkJCQl9CgkJCQkJCXJldHVybiB0aGlzOwoJCQkJCX0sCgoJCQkJCS8vIE92ZXJyaWRlcyByZXNwb25zZSBjb250ZW50LXR5cGUgaGVhZGVyCgkJCQkJb3ZlcnJpZGVNaW1lVHlwZTogZnVuY3Rpb24oIHR5cGUgKSB7CgkJCQkJCWlmICggY29tcGxldGVkID09IG51bGwgKSB7CgkJCQkJCQlzLm1pbWVUeXBlID0gdHlwZTsKCQkJCQkJfQoJCQkJCQlyZXR1cm4gdGhpczsKCQkJCQl9LAoKCQkJCQkvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrcwoJCQkJCXN0YXR1c0NvZGU6IGZ1bmN0aW9uKCBtYXAgKSB7CgkJCQkJCXZhciBjb2RlOwoJCQkJCQlpZiAoIG1hcCApIHsKCQkJCQkJCWlmICggY29tcGxldGVkICkgewoKCQkJCQkJCQkvLyBFeGVjdXRlIHRoZSBhcHByb3ByaWF0ZSBjYWxsYmFja3MKCQkJCQkJCQlqcVhIUi5hbHdheXMoIG1hcFsganFYSFIuc3RhdHVzIF0gKTsKCQkJCQkJCX0gZWxzZSB7CgoJCQkJCQkJCS8vIExhenktYWRkIHRoZSBuZXcgY2FsbGJhY2tzIGluIGEgd2F5IHRoYXQgcHJlc2VydmVzIG9sZCBvbmVzCgkJCQkJCQkJZm9yICggY29kZSBpbiBtYXAgKSB7CgkJCQkJCQkJCXN0YXR1c0NvZGVbIGNvZGUgXSA9IFsgc3RhdHVzQ29kZVsgY29kZSBdLCBtYXBbIGNvZGUgXSBdOwoJCQkJCQkJCX0KCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQlyZXR1cm4gdGhpczsKCQkJCQl9LAoKCQkJCQkvLyBDYW5jZWwgdGhlIHJlcXVlc3QKCQkJCQlhYm9ydDogZnVuY3Rpb24oIHN0YXR1c1RleHQgKSB7CgkJCQkJCXZhciBmaW5hbFRleHQgPSBzdGF0dXNUZXh0IHx8IHN0ckFib3J0OwoJCQkJCQlpZiAoIHRyYW5zcG9ydCApIHsKCQkJCQkJCXRyYW5zcG9ydC5hYm9ydCggZmluYWxUZXh0ICk7CgkJCQkJCX0KCQkJCQkJZG9uZSggMCwgZmluYWxUZXh0ICk7CgkJCQkJCXJldHVybiB0aGlzOwoJCQkJCX0KCQkJCX07CgoJCQkvLyBBdHRhY2ggZGVmZXJyZWRzCgkJCWRlZmVycmVkLnByb21pc2UoIGpxWEhSICk7CgoJCQkvLyBBZGQgcHJvdG9jb2wgaWYgbm90IHByb3ZpZGVkIChwcmVmaWx0ZXJzIG1pZ2h0IGV4cGVjdCBpdCkKCQkJLy8gSGFuZGxlIGZhbHN5IHVybCBpbiB0aGUgc2V0dGluZ3Mgb2JqZWN0ICgjMTAwOTM6IGNvbnNpc3RlbmN5IHdpdGggb2xkIHNpZ25hdHVyZSkKCQkJLy8gV2UgYWxzbyB1c2UgdGhlIHVybCBwYXJhbWV0ZXIgaWYgYXZhaWxhYmxlCgkJCXMudXJsID0gKCAoIHVybCB8fCBzLnVybCB8fCBsb2NhdGlvbi5ocmVmICkgKyAiIiApCgkJCQkucmVwbGFjZSggcnByb3RvY29sLCBsb2NhdGlvbi5wcm90b2NvbCArICIvLyIgKTsKCgkJCS8vIEFsaWFzIG1ldGhvZCBvcHRpb24gdG8gdHlwZSBhcyBwZXIgdGlja2V0ICMxMjAwNAoJCQlzLnR5cGUgPSBvcHRpb25zLm1ldGhvZCB8fCBvcHRpb25zLnR5cGUgfHwgcy5tZXRob2QgfHwgcy50eXBlOwoKCQkJLy8gRXh0cmFjdCBkYXRhVHlwZXMgbGlzdAoJCQlzLmRhdGFUeXBlcyA9ICggcy5kYXRhVHlwZSB8fCAiKiIgKS50b0xvd2VyQ2FzZSgpLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyAiIiBdOwoKCQkJLy8gQSBjcm9zcy1kb21haW4gcmVxdWVzdCBpcyBpbiBvcmRlciB3aGVuIHRoZSBvcmlnaW4gZG9lc24ndCBtYXRjaCB0aGUgY3VycmVudCBvcmlnaW4uCgkJCWlmICggcy5jcm9zc0RvbWFpbiA9PSBudWxsICkgewoJCQkJdXJsQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggImEiICk7CgoJCQkJLy8gU3VwcG9ydDogSUUgPD04IC0gMTEsIEVkZ2UgMTIgLSAxNQoJCQkJLy8gSUUgdGhyb3dzIGV4Y2VwdGlvbiBvbiBhY2Nlc3NpbmcgdGhlIGhyZWYgcHJvcGVydHkgaWYgdXJsIGlzIG1hbGZvcm1lZCwKCQkJCS8vIGUuZy4gaHR0cDovL2V4YW1wbGUuY29tOjgweC8KCQkJCXRyeSB7CgkJCQkJdXJsQW5jaG9yLmhyZWYgPSBzLnVybDsKCgkJCQkJLy8gU3VwcG9ydDogSUUgPD04IC0gMTEgb25seQoJCQkJCS8vIEFuY2hvcidzIGhvc3QgcHJvcGVydHkgaXNuJ3QgY29ycmVjdGx5IHNldCB3aGVuIHMudXJsIGlzIHJlbGF0aXZlCgkJCQkJdXJsQW5jaG9yLmhyZWYgPSB1cmxBbmNob3IuaHJlZjsKCQkJCQlzLmNyb3NzRG9tYWluID0gb3JpZ2luQW5jaG9yLnByb3RvY29sICsgIi8vIiArIG9yaWdpbkFuY2hvci5ob3N0ICE9PQoJCQkJCQl1cmxBbmNob3IucHJvdG9jb2wgKyAiLy8iICsgdXJsQW5jaG9yLmhvc3Q7CgkJCQl9IGNhdGNoICggZSApIHsKCgkJCQkJLy8gSWYgdGhlcmUgaXMgYW4gZXJyb3IgcGFyc2luZyB0aGUgVVJMLCBhc3N1bWUgaXQgaXMgY3Jvc3NEb21haW4sCgkJCQkJLy8gaXQgY2FuIGJlIHJlamVjdGVkIGJ5IHRoZSB0cmFuc3BvcnQgaWYgaXQgaXMgaW52YWxpZAoJCQkJCXMuY3Jvc3NEb21haW4gPSB0cnVlOwoJCQkJfQoJCQl9CgoJCQkvLyBDb252ZXJ0IGRhdGEgaWYgbm90IGFscmVhZHkgYSBzdHJpbmcKCQkJaWYgKCBzLmRhdGEgJiYgcy5wcm9jZXNzRGF0YSAmJiB0eXBlb2Ygcy5kYXRhICE9PSAic3RyaW5nIiApIHsKCQkJCXMuZGF0YSA9IGpRdWVyeS5wYXJhbSggcy5kYXRhLCBzLnRyYWRpdGlvbmFsICk7CgkJCX0KCgkJCS8vIEFwcGx5IHByZWZpbHRlcnMKCQkJaW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHByZWZpbHRlcnMsIHMsIG9wdGlvbnMsIGpxWEhSICk7CgoJCQkvLyBJZiByZXF1ZXN0IHdhcyBhYm9ydGVkIGluc2lkZSBhIHByZWZpbHRlciwgc3RvcCB0aGVyZQoJCQlpZiAoIGNvbXBsZXRlZCApIHsKCQkJCXJldHVybiBqcVhIUjsKCQkJfQoKCQkJLy8gV2UgY2FuIGZpcmUgZ2xvYmFsIGV2ZW50cyBhcyBvZiBub3cgaWYgYXNrZWQgdG8KCQkJLy8gRG9uJ3QgZmlyZSBldmVudHMgaWYgalF1ZXJ5LmV2ZW50IGlzIHVuZGVmaW5lZCBpbiBhbiBBTUQtdXNhZ2Ugc2NlbmFyaW8gKCMxNTExOCkKCQkJZmlyZUdsb2JhbHMgPSBqUXVlcnkuZXZlbnQgJiYgcy5nbG9iYWw7CgoJCQkvLyBXYXRjaCBmb3IgYSBuZXcgc2V0IG9mIHJlcXVlc3RzCgkJCWlmICggZmlyZUdsb2JhbHMgJiYgalF1ZXJ5LmFjdGl2ZSsrID09PSAwICkgewoJCQkJalF1ZXJ5LmV2ZW50LnRyaWdnZXIoICJhamF4U3RhcnQiICk7CgkJCX0KCgkJCS8vIFVwcGVyY2FzZSB0aGUgdHlwZQoJCQlzLnR5cGUgPSBzLnR5cGUudG9VcHBlckNhc2UoKTsKCgkJCS8vIERldGVybWluZSBpZiByZXF1ZXN0IGhhcyBjb250ZW50CgkJCXMuaGFzQ29udGVudCA9ICFybm9Db250ZW50LnRlc3QoIHMudHlwZSApOwoKCQkJLy8gU2F2ZSB0aGUgVVJMIGluIGNhc2Ugd2UncmUgdG95aW5nIHdpdGggdGhlIElmLU1vZGlmaWVkLVNpbmNlCgkJCS8vIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciBsYXRlciBvbgoJCQkvLyBSZW1vdmUgaGFzaCB0byBzaW1wbGlmeSB1cmwgbWFuaXB1bGF0aW9uCgkJCWNhY2hlVVJMID0gcy51cmwucmVwbGFjZSggcmhhc2gsICIiICk7CgoJCQkvLyBNb3JlIG9wdGlvbnMgaGFuZGxpbmcgZm9yIHJlcXVlc3RzIHdpdGggbm8gY29udGVudAoJCQlpZiAoICFzLmhhc0NvbnRlbnQgKSB7CgoJCQkJLy8gUmVtZW1iZXIgdGhlIGhhc2ggc28gd2UgY2FuIHB1dCBpdCBiYWNrCgkJCQl1bmNhY2hlZCA9IHMudXJsLnNsaWNlKCBjYWNoZVVSTC5sZW5ndGggKTsKCgkJCQkvLyBJZiBkYXRhIGlzIGF2YWlsYWJsZSBhbmQgc2hvdWxkIGJlIHByb2Nlc3NlZCwgYXBwZW5kIGRhdGEgdG8gdXJsCgkJCQlpZiAoIHMuZGF0YSAmJiAoIHMucHJvY2Vzc0RhdGEgfHwgdHlwZW9mIHMuZGF0YSA9PT0gInN0cmluZyIgKSApIHsKCQkJCQljYWNoZVVSTCArPSAoIHJxdWVyeS50ZXN0KCBjYWNoZVVSTCApID8gIiYiIDogIj8iICkgKyBzLmRhdGE7CgoJCQkJCS8vICM5NjgyOiByZW1vdmUgZGF0YSBzbyB0aGF0IGl0J3Mgbm90IHVzZWQgaW4gYW4gZXZlbnR1YWwgcmV0cnkKCQkJCQlkZWxldGUgcy5kYXRhOwoJCQkJfQoKCQkJCS8vIEFkZCBvciB1cGRhdGUgYW50aS1jYWNoZSBwYXJhbSBpZiBuZWVkZWQKCQkJCWlmICggcy5jYWNoZSA9PT0gZmFsc2UgKSB7CgkJCQkJY2FjaGVVUkwgPSBjYWNoZVVSTC5yZXBsYWNlKCByYW50aUNhY2hlLCAiJDEiICk7CgkJCQkJdW5jYWNoZWQgPSAoIHJxdWVyeS50ZXN0KCBjYWNoZVVSTCApID8gIiYiIDogIj8iICkgKyAiXz0iICsgKCBub25jZSsrICkgKyB1bmNhY2hlZDsKCQkJCX0KCgkJCQkvLyBQdXQgaGFzaCBhbmQgYW50aS1jYWNoZSBvbiB0aGUgVVJMIHRoYXQgd2lsbCBiZSByZXF1ZXN0ZWQgKGdoLTE3MzIpCgkJCQlzLnVybCA9IGNhY2hlVVJMICsgdW5jYWNoZWQ7CgoJCQkJLy8gQ2hhbmdlICclMjAnIHRvICcrJyBpZiB0aGlzIGlzIGVuY29kZWQgZm9ybSBib2R5IGNvbnRlbnQgKGdoLTI2NTgpCgkJCX0gZWxzZSBpZiAoIHMuZGF0YSAmJiBzLnByb2Nlc3NEYXRhICYmCgkJCQkoIHMuY29udGVudFR5cGUgfHwgIiIgKS5pbmRleE9mKCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiApID09PSAwICkgewoJCQkJcy5kYXRhID0gcy5kYXRhLnJlcGxhY2UoIHIyMCwgIisiICk7CgkJCX0KCgkJCS8vIFNldCB0aGUgSWYtTW9kaWZpZWQtU2luY2UgYW5kL29yIElmLU5vbmUtTWF0Y2ggaGVhZGVyLCBpZiBpbiBpZk1vZGlmaWVkIG1vZGUuCgkJCWlmICggcy5pZk1vZGlmaWVkICkgewoJCQkJaWYgKCBqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdICkgewoJCQkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoICJJZi1Nb2RpZmllZC1TaW5jZSIsIGpRdWVyeS5sYXN0TW9kaWZpZWRbIGNhY2hlVVJMIF0gKTsKCQkJCX0KCQkJCWlmICggalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gKSB7CgkJCQkJanFYSFIuc2V0UmVxdWVzdEhlYWRlciggIklmLU5vbmUtTWF0Y2giLCBqUXVlcnkuZXRhZ1sgY2FjaGVVUkwgXSApOwoJCQkJfQoJCQl9CgoJCQkvLyBTZXQgdGhlIGNvcnJlY3QgaGVhZGVyLCBpZiBkYXRhIGlzIGJlaW5nIHNlbnQKCQkJaWYgKCBzLmRhdGEgJiYgcy5oYXNDb250ZW50ICYmIHMuY29udGVudFR5cGUgIT09IGZhbHNlIHx8IG9wdGlvbnMuY29udGVudFR5cGUgKSB7CgkJCQlqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKCAiQ29udGVudC1UeXBlIiwgcy5jb250ZW50VHlwZSApOwoJCQl9CgoJCQkvLyBTZXQgdGhlIEFjY2VwdHMgaGVhZGVyIGZvciB0aGUgc2VydmVyLCBkZXBlbmRpbmcgb24gdGhlIGRhdGFUeXBlCgkJCWpxWEhSLnNldFJlcXVlc3RIZWFkZXIoCgkJCQkiQWNjZXB0IiwKCQkJCXMuZGF0YVR5cGVzWyAwIF0gJiYgcy5hY2NlcHRzWyBzLmRhdGFUeXBlc1sgMCBdIF0gPwoJCQkJCXMuYWNjZXB0c1sgcy5kYXRhVHlwZXNbIDAgXSBdICsKCQkJCQkoIHMuZGF0YVR5cGVzWyAwIF0gIT09ICIqIiA/ICIsICIgKyBhbGxUeXBlcyArICI7IHE9MC4wMSIgOiAiIiApIDoKCQkJCQlzLmFjY2VwdHNbICIqIiBdCgkJCSk7CgoJCQkvLyBDaGVjayBmb3IgaGVhZGVycyBvcHRpb24KCQkJZm9yICggaSBpbiBzLmhlYWRlcnMgKSB7CgkJCQlqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKCBpLCBzLmhlYWRlcnNbIGkgXSApOwoJCQl9CgoJCQkvLyBBbGxvdyBjdXN0b20gaGVhZGVycy9taW1ldHlwZXMgYW5kIGVhcmx5IGFib3J0CgkJCWlmICggcy5iZWZvcmVTZW5kICYmCgkJCQkoIHMuYmVmb3JlU2VuZC5jYWxsKCBjYWxsYmFja0NvbnRleHQsIGpxWEhSLCBzICkgPT09IGZhbHNlIHx8IGNvbXBsZXRlZCApICkgewoKCQkJCS8vIEFib3J0IGlmIG5vdCBkb25lIGFscmVhZHkgYW5kIHJldHVybgoJCQkJcmV0dXJuIGpxWEhSLmFib3J0KCk7CgkJCX0KCgkJCS8vIEFib3J0aW5nIGlzIG5vIGxvbmdlciBhIGNhbmNlbGxhdGlvbgoJCQlzdHJBYm9ydCA9ICJhYm9ydCI7CgoJCQkvLyBJbnN0YWxsIGNhbGxiYWNrcyBvbiBkZWZlcnJlZHMKCQkJY29tcGxldGVEZWZlcnJlZC5hZGQoIHMuY29tcGxldGUgKTsKCQkJanFYSFIuZG9uZSggcy5zdWNjZXNzICk7CgkJCWpxWEhSLmZhaWwoIHMuZXJyb3IgKTsKCgkJCS8vIEdldCB0cmFuc3BvcnQKCQkJdHJhbnNwb3J0ID0gaW5zcGVjdFByZWZpbHRlcnNPclRyYW5zcG9ydHMoIHRyYW5zcG9ydHMsIHMsIG9wdGlvbnMsIGpxWEhSICk7CgoJCQkvLyBJZiBubyB0cmFuc3BvcnQsIHdlIGF1dG8tYWJvcnQKCQkJaWYgKCAhdHJhbnNwb3J0ICkgewoJCQkJZG9uZSggLTEsICJObyBUcmFuc3BvcnQiICk7CgkJCX0gZWxzZSB7CgkJCQlqcVhIUi5yZWFkeVN0YXRlID0gMTsKCgkJCQkvLyBTZW5kIGdsb2JhbCBldmVudAoJCQkJaWYgKCBmaXJlR2xvYmFscyApIHsKCQkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggImFqYXhTZW5kIiwgWyBqcVhIUiwgcyBdICk7CgkJCQl9CgoJCQkJLy8gSWYgcmVxdWVzdCB3YXMgYWJvcnRlZCBpbnNpZGUgYWpheFNlbmQsIHN0b3AgdGhlcmUKCQkJCWlmICggY29tcGxldGVkICkgewoJCQkJCXJldHVybiBqcVhIUjsKCQkJCX0KCgkJCQkvLyBUaW1lb3V0CgkJCQlpZiAoIHMuYXN5bmMgJiYgcy50aW1lb3V0ID4gMCApIHsKCQkJCQl0aW1lb3V0VGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7CgkJCQkJCWpxWEhSLmFib3J0KCAidGltZW91dCIgKTsKCQkJCQl9LCBzLnRpbWVvdXQgKTsKCQkJCX0KCgkJCQl0cnkgewoJCQkJCWNvbXBsZXRlZCA9IGZhbHNlOwoJCQkJCXRyYW5zcG9ydC5zZW5kKCByZXF1ZXN0SGVhZGVycywgZG9uZSApOwoJCQkJfSBjYXRjaCAoIGUgKSB7CgoJCQkJCS8vIFJldGhyb3cgcG9zdC1jb21wbGV0aW9uIGV4Y2VwdGlvbnMKCQkJCQlpZiAoIGNvbXBsZXRlZCApIHsKCQkJCQkJdGhyb3cgZTsKCQkJCQl9CgoJCQkJCS8vIFByb3BhZ2F0ZSBvdGhlcnMgYXMgcmVzdWx0cwoJCQkJCWRvbmUoIC0xLCBlICk7CgkJCQl9CgkJCX0KCgkJCS8vIENhbGxiYWNrIGZvciB3aGVuIGV2ZXJ5dGhpbmcgaXMgZG9uZQoJCQlmdW5jdGlvbiBkb25lKCBzdGF0dXMsIG5hdGl2ZVN0YXR1c1RleHQsIHJlc3BvbnNlcywgaGVhZGVycyApIHsKCQkJCXZhciBpc1N1Y2Nlc3MsIHN1Y2Nlc3MsIGVycm9yLCByZXNwb25zZSwgbW9kaWZpZWQsCgkJCQkJc3RhdHVzVGV4dCA9IG5hdGl2ZVN0YXR1c1RleHQ7CgoJCQkJLy8gSWdub3JlIHJlcGVhdCBpbnZvY2F0aW9ucwoJCQkJaWYgKCBjb21wbGV0ZWQgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWNvbXBsZXRlZCA9IHRydWU7CgoJCQkJLy8gQ2xlYXIgdGltZW91dCBpZiBpdCBleGlzdHMKCQkJCWlmICggdGltZW91dFRpbWVyICkgewoJCQkJCXdpbmRvdy5jbGVhclRpbWVvdXQoIHRpbWVvdXRUaW1lciApOwoJCQkJfQoKCQkJCS8vIERlcmVmZXJlbmNlIHRyYW5zcG9ydCBmb3IgZWFybHkgZ2FyYmFnZSBjb2xsZWN0aW9uCgkJCQkvLyAobm8gbWF0dGVyIGhvdyBsb25nIHRoZSBqcVhIUiBvYmplY3Qgd2lsbCBiZSB1c2VkKQoJCQkJdHJhbnNwb3J0ID0gdW5kZWZpbmVkOwoKCQkJCS8vIENhY2hlIHJlc3BvbnNlIGhlYWRlcnMKCQkJCXJlc3BvbnNlSGVhZGVyc1N0cmluZyA9IGhlYWRlcnMgfHwgIiI7CgoJCQkJLy8gU2V0IHJlYWR5U3RhdGUKCQkJCWpxWEhSLnJlYWR5U3RhdGUgPSBzdGF0dXMgPiAwID8gNCA6IDA7CgoJCQkJLy8gRGV0ZXJtaW5lIGlmIHN1Y2Nlc3NmdWwKCQkJCWlzU3VjY2VzcyA9IHN0YXR1cyA+PSAyMDAgJiYgc3RhdHVzIDwgMzAwIHx8IHN0YXR1cyA9PT0gMzA0OwoKCQkJCS8vIEdldCByZXNwb25zZSBkYXRhCgkJCQlpZiAoIHJlc3BvbnNlcyApIHsKCQkJCQlyZXNwb25zZSA9IGFqYXhIYW5kbGVSZXNwb25zZXMoIHMsIGpxWEhSLCByZXNwb25zZXMgKTsKCQkJCX0KCgkJCQkvLyBDb252ZXJ0IG5vIG1hdHRlciB3aGF0ICh0aGF0IHdheSByZXNwb25zZVhYWCBmaWVsZHMgYXJlIGFsd2F5cyBzZXQpCgkJCQlyZXNwb25zZSA9IGFqYXhDb252ZXJ0KCBzLCByZXNwb25zZSwganFYSFIsIGlzU3VjY2VzcyApOwoKCQkJCS8vIElmIHN1Y2Nlc3NmdWwsIGhhbmRsZSB0eXBlIGNoYWluaW5nCgkJCQlpZiAoIGlzU3VjY2VzcyApIHsKCgkJCQkJLy8gU2V0IHRoZSBJZi1Nb2RpZmllZC1TaW5jZSBhbmQvb3IgSWYtTm9uZS1NYXRjaCBoZWFkZXIsIGlmIGluIGlmTW9kaWZpZWQgbW9kZS4KCQkJCQlpZiAoIHMuaWZNb2RpZmllZCApIHsKCQkJCQkJbW9kaWZpZWQgPSBqcVhIUi5nZXRSZXNwb25zZUhlYWRlciggIkxhc3QtTW9kaWZpZWQiICk7CgkJCQkJCWlmICggbW9kaWZpZWQgKSB7CgkJCQkJCQlqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdID0gbW9kaWZpZWQ7CgkJCQkJCX0KCQkJCQkJbW9kaWZpZWQgPSBqcVhIUi5nZXRSZXNwb25zZUhlYWRlciggImV0YWciICk7CgkJCQkJCWlmICggbW9kaWZpZWQgKSB7CgkJCQkJCQlqUXVlcnkuZXRhZ1sgY2FjaGVVUkwgXSA9IG1vZGlmaWVkOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkvLyBpZiBubyBjb250ZW50CgkJCQkJaWYgKCBzdGF0dXMgPT09IDIwNCB8fCBzLnR5cGUgPT09ICJIRUFEIiApIHsKCQkJCQkJc3RhdHVzVGV4dCA9ICJub2NvbnRlbnQiOwoKCQkJCQkJLy8gaWYgbm90IG1vZGlmaWVkCgkJCQkJfSBlbHNlIGlmICggc3RhdHVzID09PSAzMDQgKSB7CgkJCQkJCXN0YXR1c1RleHQgPSAibm90bW9kaWZpZWQiOwoKCQkJCQkJLy8gSWYgd2UgaGF2ZSBkYXRhLCBsZXQncyBjb252ZXJ0IGl0CgkJCQkJfSBlbHNlIHsKCQkJCQkJc3RhdHVzVGV4dCA9IHJlc3BvbnNlLnN0YXRlOwoJCQkJCQlzdWNjZXNzID0gcmVzcG9uc2UuZGF0YTsKCQkJCQkJZXJyb3IgPSByZXNwb25zZS5lcnJvcjsKCQkJCQkJaXNTdWNjZXNzID0gIWVycm9yOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgoJCQkJCS8vIEV4dHJhY3QgZXJyb3IgZnJvbSBzdGF0dXNUZXh0IGFuZCBub3JtYWxpemUgZm9yIG5vbi1hYm9ydHMKCQkJCQllcnJvciA9IHN0YXR1c1RleHQ7CgkJCQkJaWYgKCBzdGF0dXMgfHwgIXN0YXR1c1RleHQgKSB7CgkJCQkJCXN0YXR1c1RleHQgPSAiZXJyb3IiOwoJCQkJCQlpZiAoIHN0YXR1cyA8IDAgKSB7CgkJCQkJCQlzdGF0dXMgPSAwOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoKCQkJCS8vIFNldCBkYXRhIGZvciB0aGUgZmFrZSB4aHIgb2JqZWN0CgkJCQlqcVhIUi5zdGF0dXMgPSBzdGF0dXM7CgkJCQlqcVhIUi5zdGF0dXNUZXh0ID0gKCBuYXRpdmVTdGF0dXNUZXh0IHx8IHN0YXR1c1RleHQgKSArICIiOwoKCQkJCS8vIFN1Y2Nlc3MvRXJyb3IKCQkJCWlmICggaXNTdWNjZXNzICkgewoJCQkJCWRlZmVycmVkLnJlc29sdmVXaXRoKCBjYWxsYmFja0NvbnRleHQsIFsgc3VjY2Vzcywgc3RhdHVzVGV4dCwganFYSFIgXSApOwoJCQkJfSBlbHNlIHsKCQkJCQlkZWZlcnJlZC5yZWplY3RXaXRoKCBjYWxsYmFja0NvbnRleHQsIFsganFYSFIsIHN0YXR1c1RleHQsIGVycm9yIF0gKTsKCQkJCX0KCgkJCQkvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrcwoJCQkJanFYSFIuc3RhdHVzQ29kZSggc3RhdHVzQ29kZSApOwoJCQkJc3RhdHVzQ29kZSA9IHVuZGVmaW5lZDsKCgkJCQlpZiAoIGZpcmVHbG9iYWxzICkgewoJCQkJCWdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKCBpc1N1Y2Nlc3MgPyAiYWpheFN1Y2Nlc3MiIDogImFqYXhFcnJvciIsCgkJCQkJCVsganFYSFIsIHMsIGlzU3VjY2VzcyA/IHN1Y2Nlc3MgOiBlcnJvciBdICk7CgkJCQl9CgoJCQkJLy8gQ29tcGxldGUKCQkJCWNvbXBsZXRlRGVmZXJyZWQuZmlyZVdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCBdICk7CgoJCQkJaWYgKCBmaXJlR2xvYmFscyApIHsKCQkJCQlnbG9iYWxFdmVudENvbnRleHQudHJpZ2dlciggImFqYXhDb21wbGV0ZSIsIFsganFYSFIsIHMgXSApOwoKCQkJCQkvLyBIYW5kbGUgdGhlIGdsb2JhbCBBSkFYIGNvdW50ZXIKCQkJCQlpZiAoICEoIC0talF1ZXJ5LmFjdGl2ZSApICkgewoJCQkJCQlqUXVlcnkuZXZlbnQudHJpZ2dlciggImFqYXhTdG9wIiApOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJcmV0dXJuIGpxWEhSOwoJCX0sCgoJCWdldEpTT046IGZ1bmN0aW9uKCB1cmwsIGRhdGEsIGNhbGxiYWNrICkgewoJCQlyZXR1cm4galF1ZXJ5LmdldCggdXJsLCBkYXRhLCBjYWxsYmFjaywgImpzb24iICk7CgkJfSwKCgkJZ2V0U2NyaXB0OiBmdW5jdGlvbiggdXJsLCBjYWxsYmFjayApIHsKCQkJcmV0dXJuIGpRdWVyeS5nZXQoIHVybCwgdW5kZWZpbmVkLCBjYWxsYmFjaywgInNjcmlwdCIgKTsKCQl9Cgl9ICk7CgoJalF1ZXJ5LmVhY2goIFsgImdldCIsICJwb3N0IiBdLCBmdW5jdGlvbiggaSwgbWV0aG9kICkgewoJCWpRdWVyeVsgbWV0aG9kIF0gPSBmdW5jdGlvbiggdXJsLCBkYXRhLCBjYWxsYmFjaywgdHlwZSApIHsKCgkJCS8vIFNoaWZ0IGFyZ3VtZW50cyBpZiBkYXRhIGFyZ3VtZW50IHdhcyBvbWl0dGVkCgkJCWlmICggaXNGdW5jdGlvbiggZGF0YSApICkgewoJCQkJdHlwZSA9IHR5cGUgfHwgY2FsbGJhY2s7CgkJCQljYWxsYmFjayA9IGRhdGE7CgkJCQlkYXRhID0gdW5kZWZpbmVkOwoJCQl9CgoJCQkvLyBUaGUgdXJsIGNhbiBiZSBhbiBvcHRpb25zIG9iamVjdCAod2hpY2ggdGhlbiBtdXN0IGhhdmUgLnVybCkKCQkJcmV0dXJuIGpRdWVyeS5hamF4KCBqUXVlcnkuZXh0ZW5kKCB7CgkJCQl1cmw6IHVybCwKCQkJCXR5cGU6IG1ldGhvZCwKCQkJCWRhdGFUeXBlOiB0eXBlLAoJCQkJZGF0YTogZGF0YSwKCQkJCXN1Y2Nlc3M6IGNhbGxiYWNrCgkJCX0sIGpRdWVyeS5pc1BsYWluT2JqZWN0KCB1cmwgKSAmJiB1cmwgKSApOwoJCX07Cgl9ICk7CgoKCWpRdWVyeS5fZXZhbFVybCA9IGZ1bmN0aW9uKCB1cmwgKSB7CgkJcmV0dXJuIGpRdWVyeS5hamF4KCB7CgkJCXVybDogdXJsLAoKCQkJLy8gTWFrZSB0aGlzIGV4cGxpY2l0LCBzaW5jZSB1c2VyIGNhbiBvdmVycmlkZSB0aGlzIHRocm91Z2ggYWpheFNldHVwICgjMTEyNjQpCgkJCXR5cGU6ICJHRVQiLAoJCQlkYXRhVHlwZTogInNjcmlwdCIsCgkJCWNhY2hlOiB0cnVlLAoJCQlhc3luYzogZmFsc2UsCgkJCWdsb2JhbDogZmFsc2UsCgkJCSJ0aHJvd3MiOiB0cnVlCgkJfSApOwoJfTsKCgoJalF1ZXJ5LmZuLmV4dGVuZCggewoJCXdyYXBBbGw6IGZ1bmN0aW9uKCBodG1sICkgewoJCQl2YXIgd3JhcDsKCgkJCWlmICggdGhpc1sgMCBdICkgewoJCQkJaWYgKCBpc0Z1bmN0aW9uKCBodG1sICkgKSB7CgkJCQkJaHRtbCA9IGh0bWwuY2FsbCggdGhpc1sgMCBdICk7CgkJCQl9CgoJCQkJLy8gVGhlIGVsZW1lbnRzIHRvIHdyYXAgdGhlIHRhcmdldCBhcm91bmQKCQkJCXdyYXAgPSBqUXVlcnkoIGh0bWwsIHRoaXNbIDAgXS5vd25lckRvY3VtZW50ICkuZXEoIDAgKS5jbG9uZSggdHJ1ZSApOwoKCQkJCWlmICggdGhpc1sgMCBdLnBhcmVudE5vZGUgKSB7CgkJCQkJd3JhcC5pbnNlcnRCZWZvcmUoIHRoaXNbIDAgXSApOwoJCQkJfQoKCQkJCXdyYXAubWFwKCBmdW5jdGlvbigpIHsKCQkJCQl2YXIgZWxlbSA9IHRoaXM7CgoJCQkJCXdoaWxlICggZWxlbS5maXJzdEVsZW1lbnRDaGlsZCApIHsKCQkJCQkJZWxlbSA9IGVsZW0uZmlyc3RFbGVtZW50Q2hpbGQ7CgkJCQkJfQoKCQkJCQlyZXR1cm4gZWxlbTsKCQkJCX0gKS5hcHBlbmQoIHRoaXMgKTsKCQkJfQoKCQkJcmV0dXJuIHRoaXM7CgkJfSwKCgkJd3JhcElubmVyOiBmdW5jdGlvbiggaHRtbCApIHsKCQkJaWYgKCBpc0Z1bmN0aW9uKCBodG1sICkgKSB7CgkJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKCQkJCQlqUXVlcnkoIHRoaXMgKS53cmFwSW5uZXIoIGh0bWwuY2FsbCggdGhpcywgaSApICk7CgkJCQl9ICk7CgkJCX0KCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJdmFyIHNlbGYgPSBqUXVlcnkoIHRoaXMgKSwKCQkJCQljb250ZW50cyA9IHNlbGYuY29udGVudHMoKTsKCgkJCQlpZiAoIGNvbnRlbnRzLmxlbmd0aCApIHsKCQkJCQljb250ZW50cy53cmFwQWxsKCBodG1sICk7CgoJCQkJfSBlbHNlIHsKCQkJCQlzZWxmLmFwcGVuZCggaHRtbCApOwoJCQkJfQoJCQl9ICk7CgkJfSwKCgkJd3JhcDogZnVuY3Rpb24oIGh0bWwgKSB7CgkJCXZhciBodG1sSXNGdW5jdGlvbiA9IGlzRnVuY3Rpb24oIGh0bWwgKTsKCgkJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkgewoJCQkJalF1ZXJ5KCB0aGlzICkud3JhcEFsbCggaHRtbElzRnVuY3Rpb24gPyBodG1sLmNhbGwoIHRoaXMsIGkgKSA6IGh0bWwgKTsKCQkJfSApOwoJCX0sCgoJCXVud3JhcDogZnVuY3Rpb24oIHNlbGVjdG9yICkgewoJCQl0aGlzLnBhcmVudCggc2VsZWN0b3IgKS5ub3QoICJib2R5IiApLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJalF1ZXJ5KCB0aGlzICkucmVwbGFjZVdpdGgoIHRoaXMuY2hpbGROb2RlcyApOwoJCQl9ICk7CgkJCXJldHVybiB0aGlzOwoJCX0KCX0gKTsKCgoJalF1ZXJ5LmV4cHIucHNldWRvcy5oaWRkZW4gPSBmdW5jdGlvbiggZWxlbSApIHsKCQlyZXR1cm4gIWpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSggZWxlbSApOwoJfTsKCWpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSA9IGZ1bmN0aW9uKCBlbGVtICkgewoJCXJldHVybiAhISggZWxlbS5vZmZzZXRXaWR0aCB8fCBlbGVtLm9mZnNldEhlaWdodCB8fCBlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoICk7Cgl9OwoKCgoKCWpRdWVyeS5hamF4U2V0dGluZ3MueGhyID0gZnVuY3Rpb24oKSB7CgkJdHJ5IHsKCQkJcmV0dXJuIG5ldyB3aW5kb3cuWE1MSHR0cFJlcXVlc3QoKTsKCQl9IGNhdGNoICggZSApIHt9Cgl9OwoKCXZhciB4aHJTdWNjZXNzU3RhdHVzID0gewoKCQkJLy8gRmlsZSBwcm90b2NvbCBhbHdheXMgeWllbGRzIHN0YXR1cyBjb2RlIDAsIGFzc3VtZSAyMDAKCQkJMDogMjAwLAoKCQkJLy8gU3VwcG9ydDogSUUgPD05IG9ubHkKCQkJLy8gIzE0NTA6IHNvbWV0aW1lcyBJRSByZXR1cm5zIDEyMjMgd2hlbiBpdCBzaG91bGQgYmUgMjA0CgkJCTEyMjM6IDIwNAoJCX0sCgkJeGhyU3VwcG9ydGVkID0galF1ZXJ5LmFqYXhTZXR0aW5ncy54aHIoKTsKCglzdXBwb3J0LmNvcnMgPSAhIXhoclN1cHBvcnRlZCAmJiAoICJ3aXRoQ3JlZGVudGlhbHMiIGluIHhoclN1cHBvcnRlZCApOwoJc3VwcG9ydC5hamF4ID0geGhyU3VwcG9ydGVkID0gISF4aHJTdXBwb3J0ZWQ7CgoJalF1ZXJ5LmFqYXhUcmFuc3BvcnQoIGZ1bmN0aW9uKCBvcHRpb25zICkgewoJCXZhciBjYWxsYmFjaywgZXJyb3JDYWxsYmFjazsKCgkJLy8gQ3Jvc3MgZG9tYWluIG9ubHkgYWxsb3dlZCBpZiBzdXBwb3J0ZWQgdGhyb3VnaCBYTUxIdHRwUmVxdWVzdAoJCWlmICggc3VwcG9ydC5jb3JzIHx8IHhoclN1cHBvcnRlZCAmJiAhb3B0aW9ucy5jcm9zc0RvbWFpbiApIHsKCQkJcmV0dXJuIHsKCQkJCXNlbmQ6IGZ1bmN0aW9uKCBoZWFkZXJzLCBjb21wbGV0ZSApIHsKCQkJCQl2YXIgaSwKCQkJCQkJeGhyID0gb3B0aW9ucy54aHIoKTsKCgkJCQkJeGhyLm9wZW4oCgkJCQkJCW9wdGlvbnMudHlwZSwKCQkJCQkJb3B0aW9ucy51cmwsCgkJCQkJCW9wdGlvbnMuYXN5bmMsCgkJCQkJCW9wdGlvbnMudXNlcm5hbWUsCgkJCQkJCW9wdGlvbnMucGFzc3dvcmQKCQkJCQkpOwoKCQkJCQkvLyBBcHBseSBjdXN0b20gZmllbGRzIGlmIHByb3ZpZGVkCgkJCQkJaWYgKCBvcHRpb25zLnhockZpZWxkcyApIHsKCQkJCQkJZm9yICggaSBpbiBvcHRpb25zLnhockZpZWxkcyApIHsKCQkJCQkJCXhoclsgaSBdID0gb3B0aW9ucy54aHJGaWVsZHNbIGkgXTsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gT3ZlcnJpZGUgbWltZSB0eXBlIGlmIG5lZWRlZAoJCQkJCWlmICggb3B0aW9ucy5taW1lVHlwZSAmJiB4aHIub3ZlcnJpZGVNaW1lVHlwZSApIHsKCQkJCQkJeGhyLm92ZXJyaWRlTWltZVR5cGUoIG9wdGlvbnMubWltZVR5cGUgKTsKCQkJCQl9CgoJCQkJCS8vIFgtUmVxdWVzdGVkLVdpdGggaGVhZGVyCgkJCQkJLy8gRm9yIGNyb3NzLWRvbWFpbiByZXF1ZXN0cywgc2VlaW5nIGFzIGNvbmRpdGlvbnMgZm9yIGEgcHJlZmxpZ2h0IGFyZQoJCQkJCS8vIGFraW4gdG8gYSBqaWdzYXcgcHV6emxlLCB3ZSBzaW1wbHkgbmV2ZXIgc2V0IGl0IHRvIGJlIHN1cmUuCgkJCQkJLy8gKGl0IGNhbiBhbHdheXMgYmUgc2V0IG9uIGEgcGVyLXJlcXVlc3QgYmFzaXMgb3IgZXZlbiB1c2luZyBhamF4U2V0dXApCgkJCQkJLy8gRm9yIHNhbWUtZG9tYWluIHJlcXVlc3RzLCB3b24ndCBjaGFuZ2UgaGVhZGVyIGlmIGFscmVhZHkgcHJvdmlkZWQuCgkJCQkJaWYgKCAhb3B0aW9ucy5jcm9zc0RvbWFpbiAmJiAhaGVhZGVyc1sgIlgtUmVxdWVzdGVkLVdpdGgiIF0gKSB7CgkJCQkJCWhlYWRlcnNbICJYLVJlcXVlc3RlZC1XaXRoIiBdID0gIlhNTEh0dHBSZXF1ZXN0IjsKCQkJCQl9CgoJCQkJCS8vIFNldCBoZWFkZXJzCgkJCQkJZm9yICggaSBpbiBoZWFkZXJzICkgewoJCQkJCQl4aHIuc2V0UmVxdWVzdEhlYWRlciggaSwgaGVhZGVyc1sgaSBdICk7CgkJCQkJfQoKCQkJCQkvLyBDYWxsYmFjawoJCQkJCWNhbGxiYWNrID0gZnVuY3Rpb24oIHR5cGUgKSB7CgkJCQkJCXJldHVybiBmdW5jdGlvbigpIHsKCQkJCQkJCWlmICggY2FsbGJhY2sgKSB7CgkJCQkJCQkJY2FsbGJhY2sgPSBlcnJvckNhbGxiYWNrID0geGhyLm9ubG9hZCA9CgkJCQkJCQkJCXhoci5vbmVycm9yID0geGhyLm9uYWJvcnQgPSB4aHIub250aW1lb3V0ID0KCQkJCQkJCQkJCXhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsOwoKCQkJCQkJCQlpZiAoIHR5cGUgPT09ICJhYm9ydCIgKSB7CgkJCQkJCQkJCXhoci5hYm9ydCgpOwoJCQkJCQkJCX0gZWxzZSBpZiAoIHR5cGUgPT09ICJlcnJvciIgKSB7CgoJCQkJCQkJCQkvLyBTdXBwb3J0OiBJRSA8PTkgb25seQoJCQkJCQkJCQkvLyBPbiBhIG1hbnVhbCBuYXRpdmUgYWJvcnQsIElFOSB0aHJvd3MKCQkJCQkJCQkJLy8gZXJyb3JzIG9uIGFueSBwcm9wZXJ0eSBhY2Nlc3MgdGhhdCBpcyBub3QgcmVhZHlTdGF0ZQoJCQkJCQkJCQlpZiAoIHR5cGVvZiB4aHIuc3RhdHVzICE9PSAibnVtYmVyIiApIHsKCQkJCQkJCQkJCWNvbXBsZXRlKCAwLCAiZXJyb3IiICk7CgkJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCQljb21wbGV0ZSgKCgkJCQkJCQkJCQkJLy8gRmlsZTogcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgMDsgc2VlICM4NjA1LCAjMTQyMDcKCQkJCQkJCQkJCQl4aHIuc3RhdHVzLAoJCQkJCQkJCQkJCXhoci5zdGF0dXNUZXh0CgkJCQkJCQkJCQkpOwoJCQkJCQkJCQl9CgkJCQkJCQkJfSBlbHNlIHsKCQkJCQkJCQkJY29tcGxldGUoCgkJCQkJCQkJCQl4aHJTdWNjZXNzU3RhdHVzWyB4aHIuc3RhdHVzIF0gfHwgeGhyLnN0YXR1cywKCQkJCQkJCQkJCXhoci5zdGF0dXNUZXh0LAoKCQkJCQkJCQkJCS8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5CgkJCQkJCQkJCQkvLyBJRTkgaGFzIG5vIFhIUjIgYnV0IHRocm93cyBvbiBiaW5hcnkgKHRyYWMtMTE0MjYpCgkJCQkJCQkJCQkvLyBGb3IgWEhSMiBub24tdGV4dCwgbGV0IHRoZSBjYWxsZXIgaGFuZGxlIGl0IChnaC0yNDk4KQoJCQkJCQkJCQkJKCB4aHIucmVzcG9uc2VUeXBlIHx8ICJ0ZXh0IiApICE9PSAidGV4dCIgIHx8CgkJCQkJCQkJCQl0eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCAhPT0gInN0cmluZyIgPwoJCQkJCQkJCQkJCXsgYmluYXJ5OiB4aHIucmVzcG9uc2UgfSA6CgkJCQkJCQkJCQkJeyB0ZXh0OiB4aHIucmVzcG9uc2VUZXh0IH0sCgkJCQkJCQkJCQl4aHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkKCQkJCQkJCQkJKTsKCQkJCQkJCQl9CgkJCQkJCQl9CgkJCQkJCX07CgkJCQkJfTsKCgkJCQkJLy8gTGlzdGVuIHRvIGV2ZW50cwoJCQkJCXhoci5vbmxvYWQgPSBjYWxsYmFjaygpOwoJCQkJCWVycm9yQ2FsbGJhY2sgPSB4aHIub25lcnJvciA9IHhoci5vbnRpbWVvdXQgPSBjYWxsYmFjayggImVycm9yIiApOwoKCQkJCQkvLyBTdXBwb3J0OiBJRSA5IG9ubHkKCQkJCQkvLyBVc2Ugb25yZWFkeXN0YXRlY2hhbmdlIHRvIHJlcGxhY2Ugb25hYm9ydAoJCQkJCS8vIHRvIGhhbmRsZSB1bmNhdWdodCBhYm9ydHMKCQkJCQlpZiAoIHhoci5vbmFib3J0ICE9PSB1bmRlZmluZWQgKSB7CgkJCQkJCXhoci5vbmFib3J0ID0gZXJyb3JDYWxsYmFjazsKCQkJCQl9IGVsc2UgewoJCQkJCQl4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CgoJCQkJCQkJLy8gQ2hlY2sgcmVhZHlTdGF0ZSBiZWZvcmUgdGltZW91dCBhcyBpdCBjaGFuZ2VzCgkJCQkJCQlpZiAoIHhoci5yZWFkeVN0YXRlID09PSA0ICkgewoKCQkJCQkJCQkvLyBBbGxvdyBvbmVycm9yIHRvIGJlIGNhbGxlZCBmaXJzdCwKCQkJCQkJCQkvLyBidXQgdGhhdCB3aWxsIG5vdCBoYW5kbGUgYSBuYXRpdmUgYWJvcnQKCQkJCQkJCQkvLyBBbHNvLCBzYXZlIGVycm9yQ2FsbGJhY2sgdG8gYSB2YXJpYWJsZQoJCQkJCQkJCS8vIGFzIHhoci5vbmVycm9yIGNhbm5vdCBiZSBhY2Nlc3NlZAoJCQkJCQkJCXdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsKCQkJCQkJCQkJaWYgKCBjYWxsYmFjayApIHsKCQkJCQkJCQkJCWVycm9yQ2FsbGJhY2soKTsKCQkJCQkJCQkJfQoJCQkJCQkJCX0gKTsKCQkJCQkJCX0KCQkJCQkJfTsKCQkJCQl9CgoJCQkJCS8vIENyZWF0ZSB0aGUgYWJvcnQgY2FsbGJhY2sKCQkJCQljYWxsYmFjayA9IGNhbGxiYWNrKCAiYWJvcnQiICk7CgoJCQkJCXRyeSB7CgoJCQkJCQkvLyBEbyBzZW5kIHRoZSByZXF1ZXN0ICh0aGlzIG1heSByYWlzZSBhbiBleGNlcHRpb24pCgkJCQkJCXhoci5zZW5kKCBvcHRpb25zLmhhc0NvbnRlbnQgJiYgb3B0aW9ucy5kYXRhIHx8IG51bGwgKTsKCQkJCQl9IGNhdGNoICggZSApIHsKCgkJCQkJCS8vICMxNDY4MzogT25seSByZXRocm93IGlmIHRoaXMgaGFzbid0IGJlZW4gbm90aWZpZWQgYXMgYW4gZXJyb3IgeWV0CgkJCQkJCWlmICggY2FsbGJhY2sgKSB7CgkJCQkJCQl0aHJvdyBlOwoJCQkJCQl9CgkJCQkJfQoJCQkJfSwKCgkJCQlhYm9ydDogZnVuY3Rpb24oKSB7CgkJCQkJaWYgKCBjYWxsYmFjayApIHsKCQkJCQkJY2FsbGJhY2soKTsKCQkJCQl9CgkJCQl9CgkJCX07CgkJfQoJfSApOwoKCgoKLy8gUHJldmVudCBhdXRvLWV4ZWN1dGlvbiBvZiBzY3JpcHRzIHdoZW4gbm8gZXhwbGljaXQgZGF0YVR5cGUgd2FzIHByb3ZpZGVkIChTZWUgZ2gtMjQzMikKCWpRdWVyeS5hamF4UHJlZmlsdGVyKCBmdW5jdGlvbiggcyApIHsKCQlpZiAoIHMuY3Jvc3NEb21haW4gKSB7CgkJCXMuY29udGVudHMuc2NyaXB0ID0gZmFsc2U7CgkJfQoJfSApOwoKLy8gSW5zdGFsbCBzY3JpcHQgZGF0YVR5cGUKCWpRdWVyeS5hamF4U2V0dXAoIHsKCQlhY2NlcHRzOiB7CgkJCXNjcmlwdDogInRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgIiArCgkJCSJhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQiCgkJfSwKCQljb250ZW50czogewoJCQlzY3JpcHQ6IC9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi8KCQl9LAoJCWNvbnZlcnRlcnM6IHsKCQkJInRleHQgc2NyaXB0IjogZnVuY3Rpb24oIHRleHQgKSB7CgkJCQlqUXVlcnkuZ2xvYmFsRXZhbCggdGV4dCApOwoJCQkJcmV0dXJuIHRleHQ7CgkJCX0KCQl9Cgl9ICk7CgovLyBIYW5kbGUgY2FjaGUncyBzcGVjaWFsIGNhc2UgYW5kIGNyb3NzRG9tYWluCglqUXVlcnkuYWpheFByZWZpbHRlciggInNjcmlwdCIsIGZ1bmN0aW9uKCBzICkgewoJCWlmICggcy5jYWNoZSA9PT0gdW5kZWZpbmVkICkgewoJCQlzLmNhY2hlID0gZmFsc2U7CgkJfQoJCWlmICggcy5jcm9zc0RvbWFpbiApIHsKCQkJcy50eXBlID0gIkdFVCI7CgkJfQoJfSApOwoKLy8gQmluZCBzY3JpcHQgdGFnIGhhY2sgdHJhbnNwb3J0CglqUXVlcnkuYWpheFRyYW5zcG9ydCggInNjcmlwdCIsIGZ1bmN0aW9uKCBzICkgewoKCQkvLyBUaGlzIHRyYW5zcG9ydCBvbmx5IGRlYWxzIHdpdGggY3Jvc3MgZG9tYWluIHJlcXVlc3RzCgkJaWYgKCBzLmNyb3NzRG9tYWluICkgewoJCQl2YXIgc2NyaXB0LCBjYWxsYmFjazsKCQkJcmV0dXJuIHsKCQkJCXNlbmQ6IGZ1bmN0aW9uKCBfLCBjb21wbGV0ZSApIHsKCQkJCQlzY3JpcHQgPSBqUXVlcnkoICI8c2NyaXB0PiIgKS5wcm9wKCB7CgkJCQkJCWNoYXJzZXQ6IHMuc2NyaXB0Q2hhcnNldCwKCQkJCQkJc3JjOiBzLnVybAoJCQkJCX0gKS5vbigKCQkJCQkJImxvYWQgZXJyb3IiLAoJCQkJCQljYWxsYmFjayA9IGZ1bmN0aW9uKCBldnQgKSB7CgkJCQkJCQlzY3JpcHQucmVtb3ZlKCk7CgkJCQkJCQljYWxsYmFjayA9IG51bGw7CgkJCQkJCQlpZiAoIGV2dCApIHsKCQkJCQkJCQljb21wbGV0ZSggZXZ0LnR5cGUgPT09ICJlcnJvciIgPyA0MDQgOiAyMDAsIGV2dC50eXBlICk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkpOwoKCQkJCQkvLyBVc2UgbmF0aXZlIERPTSBtYW5pcHVsYXRpb24gdG8gYXZvaWQgb3VyIGRvbU1hbmlwIEFKQVggdHJpY2tlcnkKCQkJCQlkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKCBzY3JpcHRbIDAgXSApOwoJCQkJfSwKCQkJCWFib3J0OiBmdW5jdGlvbigpIHsKCQkJCQlpZiAoIGNhbGxiYWNrICkgewoJCQkJCQljYWxsYmFjaygpOwoJCQkJCX0KCQkJCX0KCQkJfTsKCQl9Cgl9ICk7CgoKCgoJdmFyIG9sZENhbGxiYWNrcyA9IFtdLAoJCXJqc29ucCA9IC8oPSlcPyg/PSZ8JCl8XD9cPy87CgovLyBEZWZhdWx0IGpzb25wIHNldHRpbmdzCglqUXVlcnkuYWpheFNldHVwKCB7CgkJanNvbnA6ICJjYWxsYmFjayIsCgkJanNvbnBDYWxsYmFjazogZnVuY3Rpb24oKSB7CgkJCXZhciBjYWxsYmFjayA9IG9sZENhbGxiYWNrcy5wb3AoKSB8fCAoIGpRdWVyeS5leHBhbmRvICsgIl8iICsgKCBub25jZSsrICkgKTsKCQkJdGhpc1sgY2FsbGJhY2sgXSA9IHRydWU7CgkJCXJldHVybiBjYWxsYmFjazsKCQl9Cgl9ICk7CgovLyBEZXRlY3QsIG5vcm1hbGl6ZSBvcHRpb25zIGFuZCBpbnN0YWxsIGNhbGxiYWNrcyBmb3IganNvbnAgcmVxdWVzdHMKCWpRdWVyeS5hamF4UHJlZmlsdGVyKCAianNvbiBqc29ucCIsIGZ1bmN0aW9uKCBzLCBvcmlnaW5hbFNldHRpbmdzLCBqcVhIUiApIHsKCgkJdmFyIGNhbGxiYWNrTmFtZSwgb3ZlcndyaXR0ZW4sIHJlc3BvbnNlQ29udGFpbmVyLAoJCQlqc29uUHJvcCA9IHMuanNvbnAgIT09IGZhbHNlICYmICggcmpzb25wLnRlc3QoIHMudXJsICkgPwoJCQkJCSJ1cmwiIDoKCQkJCQl0eXBlb2Ygcy5kYXRhID09PSAic3RyaW5nIiAmJgoJCQkJCSggcy5jb250ZW50VHlwZSB8fCAiIiApCgkJCQkJCS5pbmRleE9mKCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIiApID09PSAwICYmCgkJCQkJcmpzb25wLnRlc3QoIHMuZGF0YSApICYmICJkYXRhIgoJCQkpOwoKCQkvLyBIYW5kbGUgaWZmIHRoZSBleHBlY3RlZCBkYXRhIHR5cGUgaXMgImpzb25wIiBvciB3ZSBoYXZlIGEgcGFyYW1ldGVyIHRvIHNldAoJCWlmICgganNvblByb3AgfHwgcy5kYXRhVHlwZXNbIDAgXSA9PT0gImpzb25wIiApIHsKCgkJCS8vIEdldCBjYWxsYmFjayBuYW1lLCByZW1lbWJlcmluZyBwcmVleGlzdGluZyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggaXQKCQkJY2FsbGJhY2tOYW1lID0gcy5qc29ucENhbGxiYWNrID0gaXNGdW5jdGlvbiggcy5qc29ucENhbGxiYWNrICkgPwoJCQkJcy5qc29ucENhbGxiYWNrKCkgOgoJCQkJcy5qc29ucENhbGxiYWNrOwoKCQkJLy8gSW5zZXJ0IGNhbGxiYWNrIGludG8gdXJsIG9yIGZvcm0gZGF0YQoJCQlpZiAoIGpzb25Qcm9wICkgewoJCQkJc1sganNvblByb3AgXSA9IHNbIGpzb25Qcm9wIF0ucmVwbGFjZSggcmpzb25wLCAiJDEiICsgY2FsbGJhY2tOYW1lICk7CgkJCX0gZWxzZSBpZiAoIHMuanNvbnAgIT09IGZhbHNlICkgewoJCQkJcy51cmwgKz0gKCBycXVlcnkudGVzdCggcy51cmwgKSA/ICImIiA6ICI/IiApICsgcy5qc29ucCArICI9IiArIGNhbGxiYWNrTmFtZTsKCQkJfQoKCQkJLy8gVXNlIGRhdGEgY29udmVydGVyIHRvIHJldHJpZXZlIGpzb24gYWZ0ZXIgc2NyaXB0IGV4ZWN1dGlvbgoJCQlzLmNvbnZlcnRlcnNbICJzY3JpcHQganNvbiIgXSA9IGZ1bmN0aW9uKCkgewoJCQkJaWYgKCAhcmVzcG9uc2VDb250YWluZXIgKSB7CgkJCQkJalF1ZXJ5LmVycm9yKCBjYWxsYmFja05hbWUgKyAiIHdhcyBub3QgY2FsbGVkIiApOwoJCQkJfQoJCQkJcmV0dXJuIHJlc3BvbnNlQ29udGFpbmVyWyAwIF07CgkJCX07CgoJCQkvLyBGb3JjZSBqc29uIGRhdGFUeXBlCgkJCXMuZGF0YVR5cGVzWyAwIF0gPSAianNvbiI7CgoJCQkvLyBJbnN0YWxsIGNhbGxiYWNrCgkJCW92ZXJ3cml0dGVuID0gd2luZG93WyBjYWxsYmFja05hbWUgXTsKCQkJd2luZG93WyBjYWxsYmFja05hbWUgXSA9IGZ1bmN0aW9uKCkgewoJCQkJcmVzcG9uc2VDb250YWluZXIgPSBhcmd1bWVudHM7CgkJCX07CgoJCQkvLyBDbGVhbi11cCBmdW5jdGlvbiAoZmlyZXMgYWZ0ZXIgY29udmVydGVycykKCQkJanFYSFIuYWx3YXlzKCBmdW5jdGlvbigpIHsKCgkJCQkvLyBJZiBwcmV2aW91cyB2YWx1ZSBkaWRuJ3QgZXhpc3QgLSByZW1vdmUgaXQKCQkJCWlmICggb3ZlcndyaXR0ZW4gPT09IHVuZGVmaW5lZCApIHsKCQkJCQlqUXVlcnkoIHdpbmRvdyApLnJlbW92ZVByb3AoIGNhbGxiYWNrTmFtZSApOwoKCQkJCQkvLyBPdGhlcndpc2UgcmVzdG9yZSBwcmVleGlzdGluZyB2YWx1ZQoJCQkJfSBlbHNlIHsKCQkJCQl3aW5kb3dbIGNhbGxiYWNrTmFtZSBdID0gb3ZlcndyaXR0ZW47CgkJCQl9CgoJCQkJLy8gU2F2ZSBiYWNrIGFzIGZyZWUKCQkJCWlmICggc1sgY2FsbGJhY2tOYW1lIF0gKSB7CgoJCQkJCS8vIE1ha2Ugc3VyZSB0aGF0IHJlLXVzaW5nIHRoZSBvcHRpb25zIGRvZXNuJ3Qgc2NyZXcgdGhpbmdzIGFyb3VuZAoJCQkJCXMuanNvbnBDYWxsYmFjayA9IG9yaWdpbmFsU2V0dGluZ3MuanNvbnBDYWxsYmFjazsKCgkJCQkJLy8gU2F2ZSB0aGUgY2FsbGJhY2sgbmFtZSBmb3IgZnV0dXJlIHVzZQoJCQkJCW9sZENhbGxiYWNrcy5wdXNoKCBjYWxsYmFja05hbWUgKTsKCQkJCX0KCgkJCQkvLyBDYWxsIGlmIGl0IHdhcyBhIGZ1bmN0aW9uIGFuZCB3ZSBoYXZlIGEgcmVzcG9uc2UKCQkJCWlmICggcmVzcG9uc2VDb250YWluZXIgJiYgaXNGdW5jdGlvbiggb3ZlcndyaXR0ZW4gKSApIHsKCQkJCQlvdmVyd3JpdHRlbiggcmVzcG9uc2VDb250YWluZXJbIDAgXSApOwoJCQkJfQoKCQkJCXJlc3BvbnNlQ29udGFpbmVyID0gb3ZlcndyaXR0ZW4gPSB1bmRlZmluZWQ7CgkJCX0gKTsKCgkJCS8vIERlbGVnYXRlIHRvIHNjcmlwdAoJCQlyZXR1cm4gInNjcmlwdCI7CgkJfQoJfSApOwoKCgoKLy8gU3VwcG9ydDogU2FmYXJpIDggb25seQovLyBJbiBTYWZhcmkgOCBkb2N1bWVudHMgY3JlYXRlZCB2aWEgZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50Ci8vIGNvbGxhcHNlIHNpYmxpbmcgZm9ybXM6IHRoZSBzZWNvbmQgb25lIGJlY29tZXMgYSBjaGlsZCBvZiB0aGUgZmlyc3Qgb25lLgovLyBCZWNhdXNlIG9mIHRoYXQsIHRoaXMgc2VjdXJpdHkgbWVhc3VyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gU2FmYXJpIDguCi8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczMzcKCXN1cHBvcnQuY3JlYXRlSFRNTERvY3VtZW50ID0gKCBmdW5jdGlvbigpIHsKCQl2YXIgYm9keSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCggIiIgKS5ib2R5OwoJCWJvZHkuaW5uZXJIVE1MID0gIjxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IjsKCQlyZXR1cm4gYm9keS5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMjsKCX0gKSgpOwoKCi8vIEFyZ3VtZW50ICJkYXRhIiBzaG91bGQgYmUgc3RyaW5nIG9mIGh0bWwKLy8gY29udGV4dCAob3B0aW9uYWwpOiBJZiBzcGVjaWZpZWQsIHRoZSBmcmFnbWVudCB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhpcyBjb250ZXh0LAovLyBkZWZhdWx0cyB0byBkb2N1bWVudAovLyBrZWVwU2NyaXB0cyAob3B0aW9uYWwpOiBJZiB0cnVlLCB3aWxsIGluY2x1ZGUgc2NyaXB0cyBwYXNzZWQgaW4gdGhlIGh0bWwgc3RyaW5nCglqUXVlcnkucGFyc2VIVE1MID0gZnVuY3Rpb24oIGRhdGEsIGNvbnRleHQsIGtlZXBTY3JpcHRzICkgewoJCWlmICggdHlwZW9mIGRhdGEgIT09ICJzdHJpbmciICkgewoJCQlyZXR1cm4gW107CgkJfQoJCWlmICggdHlwZW9mIGNvbnRleHQgPT09ICJib29sZWFuIiApIHsKCQkJa2VlcFNjcmlwdHMgPSBjb250ZXh0OwoJCQljb250ZXh0ID0gZmFsc2U7CgkJfQoKCQl2YXIgYmFzZSwgcGFyc2VkLCBzY3JpcHRzOwoKCQlpZiAoICFjb250ZXh0ICkgewoKCQkJLy8gU3RvcCBzY3JpcHRzIG9yIGlubGluZSBldmVudCBoYW5kbGVycyBmcm9tIGJlaW5nIGV4ZWN1dGVkIGltbWVkaWF0ZWx5CgkJCS8vIGJ5IHVzaW5nIGRvY3VtZW50LmltcGxlbWVudGF0aW9uCgkJCWlmICggc3VwcG9ydC5jcmVhdGVIVE1MRG9jdW1lbnQgKSB7CgkJCQljb250ZXh0ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCAiIiApOwoKCQkJCS8vIFNldCB0aGUgYmFzZSBocmVmIGZvciB0aGUgY3JlYXRlZCBkb2N1bWVudAoJCQkJLy8gc28gYW55IHBhcnNlZCBlbGVtZW50cyB3aXRoIFVSTHMKCQkJCS8vIGFyZSBiYXNlZCBvbiB0aGUgZG9jdW1lbnQncyBVUkwgKGdoLTI5NjUpCgkJCQliYXNlID0gY29udGV4dC5jcmVhdGVFbGVtZW50KCAiYmFzZSIgKTsKCQkJCWJhc2UuaHJlZiA9IGRvY3VtZW50LmxvY2F0aW9uLmhyZWY7CgkJCQljb250ZXh0LmhlYWQuYXBwZW5kQ2hpbGQoIGJhc2UgKTsKCQkJfSBlbHNlIHsKCQkJCWNvbnRleHQgPSBkb2N1bWVudDsKCQkJfQoJCX0KCgkJcGFyc2VkID0gcnNpbmdsZVRhZy5leGVjKCBkYXRhICk7CgkJc2NyaXB0cyA9ICFrZWVwU2NyaXB0cyAmJiBbXTsKCgkJLy8gU2luZ2xlIHRhZwoJCWlmICggcGFyc2VkICkgewoJCQlyZXR1cm4gWyBjb250ZXh0LmNyZWF0ZUVsZW1lbnQoIHBhcnNlZFsgMSBdICkgXTsKCQl9CgoJCXBhcnNlZCA9IGJ1aWxkRnJhZ21lbnQoIFsgZGF0YSBdLCBjb250ZXh0LCBzY3JpcHRzICk7CgoJCWlmICggc2NyaXB0cyAmJiBzY3JpcHRzLmxlbmd0aCApIHsKCQkJalF1ZXJ5KCBzY3JpcHRzICkucmVtb3ZlKCk7CgkJfQoKCQlyZXR1cm4galF1ZXJ5Lm1lcmdlKCBbXSwgcGFyc2VkLmNoaWxkTm9kZXMgKTsKCX07CgoKCS8qKgoJICogTG9hZCBhIHVybCBpbnRvIGEgcGFnZQoJICovCglqUXVlcnkuZm4ubG9hZCA9IGZ1bmN0aW9uKCB1cmwsIHBhcmFtcywgY2FsbGJhY2sgKSB7CgkJdmFyIHNlbGVjdG9yLCB0eXBlLCByZXNwb25zZSwKCQkJc2VsZiA9IHRoaXMsCgkJCW9mZiA9IHVybC5pbmRleE9mKCAiICIgKTsKCgkJaWYgKCBvZmYgPiAtMSApIHsKCQkJc2VsZWN0b3IgPSBzdHJpcEFuZENvbGxhcHNlKCB1cmwuc2xpY2UoIG9mZiApICk7CgkJCXVybCA9IHVybC5zbGljZSggMCwgb2ZmICk7CgkJfQoKCQkvLyBJZiBpdCdzIGEgZnVuY3Rpb24KCQlpZiAoIGlzRnVuY3Rpb24oIHBhcmFtcyApICkgewoKCQkJLy8gV2UgYXNzdW1lIHRoYXQgaXQncyB0aGUgY2FsbGJhY2sKCQkJY2FsbGJhY2sgPSBwYXJhbXM7CgkJCXBhcmFtcyA9IHVuZGVmaW5lZDsKCgkJCS8vIE90aGVyd2lzZSwgYnVpbGQgYSBwYXJhbSBzdHJpbmcKCQl9IGVsc2UgaWYgKCBwYXJhbXMgJiYgdHlwZW9mIHBhcmFtcyA9PT0gIm9iamVjdCIgKSB7CgkJCXR5cGUgPSAiUE9TVCI7CgkJfQoKCQkvLyBJZiB3ZSBoYXZlIGVsZW1lbnRzIHRvIG1vZGlmeSwgbWFrZSB0aGUgcmVxdWVzdAoJCWlmICggc2VsZi5sZW5ndGggPiAwICkgewoJCQlqUXVlcnkuYWpheCggewoJCQkJdXJsOiB1cmwsCgoJCQkJLy8gSWYgInR5cGUiIHZhcmlhYmxlIGlzIHVuZGVmaW5lZCwgdGhlbiAiR0VUIiBtZXRob2Qgd2lsbCBiZSB1c2VkLgoJCQkJLy8gTWFrZSB2YWx1ZSBvZiB0aGlzIGZpZWxkIGV4cGxpY2l0IHNpbmNlCgkJCQkvLyB1c2VyIGNhbiBvdmVycmlkZSBpdCB0aHJvdWdoIGFqYXhTZXR1cCBtZXRob2QKCQkJCXR5cGU6IHR5cGUgfHwgIkdFVCIsCgkJCQlkYXRhVHlwZTogImh0bWwiLAoJCQkJZGF0YTogcGFyYW1zCgkJCX0gKS5kb25lKCBmdW5jdGlvbiggcmVzcG9uc2VUZXh0ICkgewoKCQkJCS8vIFNhdmUgcmVzcG9uc2UgZm9yIHVzZSBpbiBjb21wbGV0ZSBjYWxsYmFjawoJCQkJcmVzcG9uc2UgPSBhcmd1bWVudHM7CgoJCQkJc2VsZi5odG1sKCBzZWxlY3RvciA/CgoJCQkJCS8vIElmIGEgc2VsZWN0b3Igd2FzIHNwZWNpZmllZCwgbG9jYXRlIHRoZSByaWdodCBlbGVtZW50cyBpbiBhIGR1bW15IGRpdgoJCQkJCS8vIEV4Y2x1ZGUgc2NyaXB0cyB0byBhdm9pZCBJRSAnUGVybWlzc2lvbiBEZW5pZWQnIGVycm9ycwoJCQkJCWpRdWVyeSggIjxkaXY+IiApLmFwcGVuZCggalF1ZXJ5LnBhcnNlSFRNTCggcmVzcG9uc2VUZXh0ICkgKS5maW5kKCBzZWxlY3RvciApIDoKCgkJCQkJLy8gT3RoZXJ3aXNlIHVzZSB0aGUgZnVsbCByZXN1bHQKCQkJCQlyZXNwb25zZVRleHQgKTsKCgkJCQkvLyBJZiB0aGUgcmVxdWVzdCBzdWNjZWVkcywgdGhpcyBmdW5jdGlvbiBnZXRzICJkYXRhIiwgInN0YXR1cyIsICJqcVhIUiIKCQkJCS8vIGJ1dCB0aGV5IGFyZSBpZ25vcmVkIGJlY2F1c2UgcmVzcG9uc2Ugd2FzIHNldCBhYm92ZS4KCQkJCS8vIElmIGl0IGZhaWxzLCB0aGlzIGZ1bmN0aW9uIGdldHMgImpxWEhSIiwgInN0YXR1cyIsICJlcnJvciIKCQkJfSApLmFsd2F5cyggY2FsbGJhY2sgJiYgZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7CgkJCQlzZWxmLmVhY2goIGZ1bmN0aW9uKCkgewoJCQkJCWNhbGxiYWNrLmFwcGx5KCB0aGlzLCByZXNwb25zZSB8fCBbIGpxWEhSLnJlc3BvbnNlVGV4dCwgc3RhdHVzLCBqcVhIUiBdICk7CgkJCQl9ICk7CgkJCX0gKTsKCQl9CgoJCXJldHVybiB0aGlzOwoJfTsKCgoKCi8vIEF0dGFjaCBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgY29tbW9uIEFKQVggZXZlbnRzCglqUXVlcnkuZWFjaCggWwoJCSJhamF4U3RhcnQiLAoJCSJhamF4U3RvcCIsCgkJImFqYXhDb21wbGV0ZSIsCgkJImFqYXhFcnJvciIsCgkJImFqYXhTdWNjZXNzIiwKCQkiYWpheFNlbmQiCgldLCBmdW5jdGlvbiggaSwgdHlwZSApIHsKCQlqUXVlcnkuZm5bIHR5cGUgXSA9IGZ1bmN0aW9uKCBmbiApIHsKCQkJcmV0dXJuIHRoaXMub24oIHR5cGUsIGZuICk7CgkJfTsKCX0gKTsKCgoKCglqUXVlcnkuZXhwci5wc2V1ZG9zLmFuaW1hdGVkID0gZnVuY3Rpb24oIGVsZW0gKSB7CgkJcmV0dXJuIGpRdWVyeS5ncmVwKCBqUXVlcnkudGltZXJzLCBmdW5jdGlvbiggZm4gKSB7CgkJCXJldHVybiBlbGVtID09PSBmbi5lbGVtOwoJCX0gKS5sZW5ndGg7Cgl9OwoKCgoKCWpRdWVyeS5vZmZzZXQgPSB7CgkJc2V0T2Zmc2V0OiBmdW5jdGlvbiggZWxlbSwgb3B0aW9ucywgaSApIHsKCQkJdmFyIGN1clBvc2l0aW9uLCBjdXJMZWZ0LCBjdXJDU1NUb3AsIGN1clRvcCwgY3VyT2Zmc2V0LCBjdXJDU1NMZWZ0LCBjYWxjdWxhdGVQb3NpdGlvbiwKCQkJCXBvc2l0aW9uID0galF1ZXJ5LmNzcyggZWxlbSwgInBvc2l0aW9uIiApLAoJCQkJY3VyRWxlbSA9IGpRdWVyeSggZWxlbSApLAoJCQkJcHJvcHMgPSB7fTsKCgkJCS8vIFNldCBwb3NpdGlvbiBmaXJzdCwgaW4tY2FzZSB0b3AvbGVmdCBhcmUgc2V0IGV2ZW4gb24gc3RhdGljIGVsZW0KCQkJaWYgKCBwb3NpdGlvbiA9PT0gInN0YXRpYyIgKSB7CgkJCQllbGVtLnN0eWxlLnBvc2l0aW9uID0gInJlbGF0aXZlIjsKCQkJfQoKCQkJY3VyT2Zmc2V0ID0gY3VyRWxlbS5vZmZzZXQoKTsKCQkJY3VyQ1NTVG9wID0galF1ZXJ5LmNzcyggZWxlbSwgInRvcCIgKTsKCQkJY3VyQ1NTTGVmdCA9IGpRdWVyeS5jc3MoIGVsZW0sICJsZWZ0IiApOwoJCQljYWxjdWxhdGVQb3NpdGlvbiA9ICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSAmJgoJCQkJKCBjdXJDU1NUb3AgKyBjdXJDU1NMZWZ0ICkuaW5kZXhPZiggImF1dG8iICkgPiAtMTsKCgkJCS8vIE5lZWQgdG8gYmUgYWJsZSB0byBjYWxjdWxhdGUgcG9zaXRpb24gaWYgZWl0aGVyCgkJCS8vIHRvcCBvciBsZWZ0IGlzIGF1dG8gYW5kIHBvc2l0aW9uIGlzIGVpdGhlciBhYnNvbHV0ZSBvciBmaXhlZAoJCQlpZiAoIGNhbGN1bGF0ZVBvc2l0aW9uICkgewoJCQkJY3VyUG9zaXRpb24gPSBjdXJFbGVtLnBvc2l0aW9uKCk7CgkJCQljdXJUb3AgPSBjdXJQb3NpdGlvbi50b3A7CgkJCQljdXJMZWZ0ID0gY3VyUG9zaXRpb24ubGVmdDsKCgkJCX0gZWxzZSB7CgkJCQljdXJUb3AgPSBwYXJzZUZsb2F0KCBjdXJDU1NUb3AgKSB8fCAwOwoJCQkJY3VyTGVmdCA9IHBhcnNlRmxvYXQoIGN1ckNTU0xlZnQgKSB8fCAwOwoJCQl9CgoJCQlpZiAoIGlzRnVuY3Rpb24oIG9wdGlvbnMgKSApIHsKCgkJCQkvLyBVc2UgalF1ZXJ5LmV4dGVuZCBoZXJlIHRvIGFsbG93IG1vZGlmaWNhdGlvbiBvZiBjb29yZGluYXRlcyBhcmd1bWVudCAoZ2gtMTg0OCkKCQkJCW9wdGlvbnMgPSBvcHRpb25zLmNhbGwoIGVsZW0sIGksIGpRdWVyeS5leHRlbmQoIHt9LCBjdXJPZmZzZXQgKSApOwoJCQl9CgoJCQlpZiAoIG9wdGlvbnMudG9wICE9IG51bGwgKSB7CgkJCQlwcm9wcy50b3AgPSAoIG9wdGlvbnMudG9wIC0gY3VyT2Zmc2V0LnRvcCApICsgY3VyVG9wOwoJCQl9CgkJCWlmICggb3B0aW9ucy5sZWZ0ICE9IG51bGwgKSB7CgkJCQlwcm9wcy5sZWZ0ID0gKCBvcHRpb25zLmxlZnQgLSBjdXJPZmZzZXQubGVmdCApICsgY3VyTGVmdDsKCQkJfQoKCQkJaWYgKCAidXNpbmciIGluIG9wdGlvbnMgKSB7CgkJCQlvcHRpb25zLnVzaW5nLmNhbGwoIGVsZW0sIHByb3BzICk7CgoJCQl9IGVsc2UgewoJCQkJY3VyRWxlbS5jc3MoIHByb3BzICk7CgkJCX0KCQl9Cgl9OwoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCgkJLy8gb2Zmc2V0KCkgcmVsYXRlcyBhbiBlbGVtZW50J3MgYm9yZGVyIGJveCB0byB0aGUgZG9jdW1lbnQgb3JpZ2luCgkJb2Zmc2V0OiBmdW5jdGlvbiggb3B0aW9ucyApIHsKCgkJCS8vIFByZXNlcnZlIGNoYWluaW5nIGZvciBzZXR0ZXIKCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgewoJCQkJcmV0dXJuIG9wdGlvbnMgPT09IHVuZGVmaW5lZCA/CgkJCQkJdGhpcyA6CgkJCQkJdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHsKCQkJCQkJalF1ZXJ5Lm9mZnNldC5zZXRPZmZzZXQoIHRoaXMsIG9wdGlvbnMsIGkgKTsKCQkJCQl9ICk7CgkJCX0KCgkJCXZhciByZWN0LCB3aW4sCgkJCQllbGVtID0gdGhpc1sgMCBdOwoKCQkJaWYgKCAhZWxlbSApIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJLy8gUmV0dXJuIHplcm9zIGZvciBkaXNjb25uZWN0ZWQgYW5kIGhpZGRlbiAoZGlzcGxheTogbm9uZSkgZWxlbWVudHMgKGdoLTIzMTApCgkJCS8vIFN1cHBvcnQ6IElFIDw9MTEgb25seQoJCQkvLyBSdW5uaW5nIGdldEJvdW5kaW5nQ2xpZW50UmVjdCBvbiBhCgkJCS8vIGRpc2Nvbm5lY3RlZCBub2RlIGluIElFIHRocm93cyBhbiBlcnJvcgoJCQlpZiAoICFlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoICkgewoJCQkJcmV0dXJuIHsgdG9wOiAwLCBsZWZ0OiAwIH07CgkJCX0KCgkJCS8vIEdldCBkb2N1bWVudC1yZWxhdGl2ZSBwb3NpdGlvbiBieSBhZGRpbmcgdmlld3BvcnQgc2Nyb2xsIHRvIHZpZXdwb3J0LXJlbGF0aXZlIGdCQ1IKCQkJcmVjdCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CgkJCXdpbiA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzsKCQkJcmV0dXJuIHsKCQkJCXRvcDogcmVjdC50b3AgKyB3aW4ucGFnZVlPZmZzZXQsCgkJCQlsZWZ0OiByZWN0LmxlZnQgKyB3aW4ucGFnZVhPZmZzZXQKCQkJfTsKCQl9LAoKCQkvLyBwb3NpdGlvbigpIHJlbGF0ZXMgYW4gZWxlbWVudCdzIG1hcmdpbiBib3ggdG8gaXRzIG9mZnNldCBwYXJlbnQncyBwYWRkaW5nIGJveAoJCS8vIFRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGJlaGF2aW9yIG9mIENTUyBhYnNvbHV0ZSBwb3NpdGlvbmluZwoJCXBvc2l0aW9uOiBmdW5jdGlvbigpIHsKCQkJaWYgKCAhdGhpc1sgMCBdICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl2YXIgb2Zmc2V0UGFyZW50LCBvZmZzZXQsIGRvYywKCQkJCWVsZW0gPSB0aGlzWyAwIF0sCgkJCQlwYXJlbnRPZmZzZXQgPSB7IHRvcDogMCwgbGVmdDogMCB9OwoKCQkJLy8gcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIG9mZnNldCBmcm9tIHRoZSB2aWV3cG9ydCwgd2hpY2ggaXRzZWxmIGFsd2F5cyBoYXMgemVybyBvZmZzZXQKCQkJaWYgKCBqUXVlcnkuY3NzKCBlbGVtLCAicG9zaXRpb24iICkgPT09ICJmaXhlZCIgKSB7CgoJCQkJLy8gQXNzdW1lIHBvc2l0aW9uOmZpeGVkIGltcGxpZXMgYXZhaWxhYmlsaXR5IG9mIGdldEJvdW5kaW5nQ2xpZW50UmVjdAoJCQkJb2Zmc2V0ID0gZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKCgkJCX0gZWxzZSB7CgkJCQlvZmZzZXQgPSB0aGlzLm9mZnNldCgpOwoKCQkJCS8vIEFjY291bnQgZm9yIHRoZSAqcmVhbCogb2Zmc2V0IHBhcmVudCwgd2hpY2ggY2FuIGJlIHRoZSBkb2N1bWVudCBvciBpdHMgcm9vdCBlbGVtZW50CgkJCQkvLyB3aGVuIGEgc3RhdGljYWxseSBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgaWRlbnRpZmllZAoJCQkJZG9jID0gZWxlbS5vd25lckRvY3VtZW50OwoJCQkJb2Zmc2V0UGFyZW50ID0gZWxlbS5vZmZzZXRQYXJlbnQgfHwgZG9jLmRvY3VtZW50RWxlbWVudDsKCQkJCXdoaWxlICggb2Zmc2V0UGFyZW50ICYmCgkJCQkoIG9mZnNldFBhcmVudCA9PT0gZG9jLmJvZHkgfHwgb2Zmc2V0UGFyZW50ID09PSBkb2MuZG9jdW1lbnRFbGVtZW50ICkgJiYKCQkJCWpRdWVyeS5jc3MoIG9mZnNldFBhcmVudCwgInBvc2l0aW9uIiApID09PSAic3RhdGljIiApIHsKCgkJCQkJb2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50LnBhcmVudE5vZGU7CgkJCQl9CgkJCQlpZiAoIG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQgIT09IGVsZW0gJiYgb2Zmc2V0UGFyZW50Lm5vZGVUeXBlID09PSAxICkgewoKCQkJCQkvLyBJbmNvcnBvcmF0ZSBib3JkZXJzIGludG8gaXRzIG9mZnNldCwgc2luY2UgdGhleSBhcmUgb3V0c2lkZSBpdHMgY29udGVudCBvcmlnaW4KCQkJCQlwYXJlbnRPZmZzZXQgPSBqUXVlcnkoIG9mZnNldFBhcmVudCApLm9mZnNldCgpOwoJCQkJCXBhcmVudE9mZnNldC50b3AgKz0galF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAiYm9yZGVyVG9wV2lkdGgiLCB0cnVlICk7CgkJCQkJcGFyZW50T2Zmc2V0LmxlZnQgKz0galF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAiYm9yZGVyTGVmdFdpZHRoIiwgdHJ1ZSApOwoJCQkJfQoJCQl9CgoJCQkvLyBTdWJ0cmFjdCBwYXJlbnQgb2Zmc2V0cyBhbmQgZWxlbWVudCBtYXJnaW5zCgkJCXJldHVybiB7CgkJCQl0b3A6IG9mZnNldC50b3AgLSBwYXJlbnRPZmZzZXQudG9wIC0galF1ZXJ5LmNzcyggZWxlbSwgIm1hcmdpblRvcCIsIHRydWUgKSwKCQkJCWxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQgLSBqUXVlcnkuY3NzKCBlbGVtLCAibWFyZ2luTGVmdCIsIHRydWUgKQoJCQl9OwoJCX0sCgoJCS8vIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGRvY3VtZW50RWxlbWVudCBpbiB0aGUgZm9sbG93aW5nIGNhc2VzOgoJCS8vIDEpIEZvciB0aGUgZWxlbWVudCBpbnNpZGUgdGhlIGlmcmFtZSB3aXRob3V0IG9mZnNldFBhcmVudCwgdGhpcyBtZXRob2Qgd2lsbCByZXR1cm4KCQkvLyAgICBkb2N1bWVudEVsZW1lbnQgb2YgdGhlIHBhcmVudCB3aW5kb3cKCQkvLyAyKSBGb3IgdGhlIGhpZGRlbiBvciBkZXRhY2hlZCBlbGVtZW50CgkJLy8gMykgRm9yIGJvZHkgb3IgaHRtbCBlbGVtZW50LCBpLmUuIGluIGNhc2Ugb2YgdGhlIGh0bWwgbm9kZSAtIGl0IHdpbGwgcmV0dXJuIGl0c2VsZgoJCS8vCgkJLy8gYnV0IHRob3NlIGV4Y2VwdGlvbnMgd2VyZSBuZXZlciBwcmVzZW50ZWQgYXMgYSByZWFsIGxpZmUgdXNlLWNhc2VzCgkJLy8gYW5kIG1pZ2h0IGJlIGNvbnNpZGVyZWQgYXMgbW9yZSBwcmVmZXJhYmxlIHJlc3VsdHMuCgkJLy8KCQkvLyBUaGlzIGxvZ2ljLCBob3dldmVyLCBpcyBub3QgZ3VhcmFudGVlZCBhbmQgY2FuIGNoYW5nZSBhdCBhbnkgcG9pbnQgaW4gdGhlIGZ1dHVyZQoJCW9mZnNldFBhcmVudDogZnVuY3Rpb24oKSB7CgkJCXJldHVybiB0aGlzLm1hcCggZnVuY3Rpb24oKSB7CgkJCQl2YXIgb2Zmc2V0UGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQ7CgoJCQkJd2hpbGUgKCBvZmZzZXRQYXJlbnQgJiYgalF1ZXJ5LmNzcyggb2Zmc2V0UGFyZW50LCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgewoJCQkJCW9mZnNldFBhcmVudCA9IG9mZnNldFBhcmVudC5vZmZzZXRQYXJlbnQ7CgkJCQl9CgoJCQkJcmV0dXJuIG9mZnNldFBhcmVudCB8fCBkb2N1bWVudEVsZW1lbnQ7CgkJCX0gKTsKCQl9Cgl9ICk7CgovLyBDcmVhdGUgc2Nyb2xsTGVmdCBhbmQgc2Nyb2xsVG9wIG1ldGhvZHMKCWpRdWVyeS5lYWNoKCB7IHNjcm9sbExlZnQ6ICJwYWdlWE9mZnNldCIsIHNjcm9sbFRvcDogInBhZ2VZT2Zmc2V0IiB9LCBmdW5jdGlvbiggbWV0aG9kLCBwcm9wICkgewoJCXZhciB0b3AgPSAicGFnZVlPZmZzZXQiID09PSBwcm9wOwoKCQlqUXVlcnkuZm5bIG1ldGhvZCBdID0gZnVuY3Rpb24oIHZhbCApIHsKCQkJcmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIG1ldGhvZCwgdmFsICkgewoKCQkJCS8vIENvYWxlc2NlIGRvY3VtZW50cyBhbmQgd2luZG93cwoJCQkJdmFyIHdpbjsKCQkJCWlmICggaXNXaW5kb3coIGVsZW0gKSApIHsKCQkJCQl3aW4gPSBlbGVtOwoJCQkJfSBlbHNlIGlmICggZWxlbS5ub2RlVHlwZSA9PT0gOSApIHsKCQkJCQl3aW4gPSBlbGVtLmRlZmF1bHRWaWV3OwoJCQkJfQoKCQkJCWlmICggdmFsID09PSB1bmRlZmluZWQgKSB7CgkJCQkJcmV0dXJuIHdpbiA/IHdpblsgcHJvcCBdIDogZWxlbVsgbWV0aG9kIF07CgkJCQl9CgoJCQkJaWYgKCB3aW4gKSB7CgkJCQkJd2luLnNjcm9sbFRvKAoJCQkJCQkhdG9wID8gdmFsIDogd2luLnBhZ2VYT2Zmc2V0LAoJCQkJCQl0b3AgPyB2YWwgOiB3aW4ucGFnZVlPZmZzZXQKCQkJCQkpOwoKCQkJCX0gZWxzZSB7CgkJCQkJZWxlbVsgbWV0aG9kIF0gPSB2YWw7CgkJCQl9CgkJCX0sIG1ldGhvZCwgdmFsLCBhcmd1bWVudHMubGVuZ3RoICk7CgkJfTsKCX0gKTsKCi8vIFN1cHBvcnQ6IFNhZmFyaSA8PTcgLSA5LjEsIENocm9tZSA8PTM3IC0gNDkKLy8gQWRkIHRoZSB0b3AvbGVmdCBjc3NIb29rcyB1c2luZyBqUXVlcnkuZm4ucG9zaXRpb24KLy8gV2Via2l0IGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDg0Ci8vIEJsaW5rIGJ1ZzogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NTg5MzQ3Ci8vIGdldENvbXB1dGVkU3R5bGUgcmV0dXJucyBwZXJjZW50IHdoZW4gc3BlY2lmaWVkIGZvciB0b3AvbGVmdC9ib3R0b20vcmlnaHQ7Ci8vIHJhdGhlciB0aGFuIG1ha2UgdGhlIGNzcyBtb2R1bGUgZGVwZW5kIG9uIHRoZSBvZmZzZXQgbW9kdWxlLCBqdXN0IGNoZWNrIGZvciBpdCBoZXJlCglqUXVlcnkuZWFjaCggWyAidG9wIiwgImxlZnQiIF0sIGZ1bmN0aW9uKCBpLCBwcm9wICkgewoJCWpRdWVyeS5jc3NIb29rc1sgcHJvcCBdID0gYWRkR2V0SG9va0lmKCBzdXBwb3J0LnBpeGVsUG9zaXRpb24sCgkJCWZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCApIHsKCQkJCWlmICggY29tcHV0ZWQgKSB7CgkJCQkJY29tcHV0ZWQgPSBjdXJDU1MoIGVsZW0sIHByb3AgKTsKCgkJCQkJLy8gSWYgY3VyQ1NTIHJldHVybnMgcGVyY2VudGFnZSwgZmFsbGJhY2sgdG8gb2Zmc2V0CgkJCQkJcmV0dXJuIHJudW1ub25weC50ZXN0KCBjb21wdXRlZCApID8KCQkJCQkJalF1ZXJ5KCBlbGVtICkucG9zaXRpb24oKVsgcHJvcCBdICsgInB4IiA6CgkJCQkJCWNvbXB1dGVkOwoJCQkJfQoJCQl9CgkJKTsKCX0gKTsKCgovLyBDcmVhdGUgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGgsIGhlaWdodCwgd2lkdGgsIG91dGVySGVpZ2h0IGFuZCBvdXRlcldpZHRoIG1ldGhvZHMKCWpRdWVyeS5lYWNoKCB7IEhlaWdodDogImhlaWdodCIsIFdpZHRoOiAid2lkdGgiIH0sIGZ1bmN0aW9uKCBuYW1lLCB0eXBlICkgewoJCWpRdWVyeS5lYWNoKCB7IHBhZGRpbmc6ICJpbm5lciIgKyBuYW1lLCBjb250ZW50OiB0eXBlLCAiIjogIm91dGVyIiArIG5hbWUgfSwKCQkJZnVuY3Rpb24oIGRlZmF1bHRFeHRyYSwgZnVuY05hbWUgKSB7CgoJCQkJLy8gTWFyZ2luIGlzIG9ubHkgZm9yIG91dGVySGVpZ2h0LCBvdXRlcldpZHRoCgkJCQlqUXVlcnkuZm5bIGZ1bmNOYW1lIF0gPSBmdW5jdGlvbiggbWFyZ2luLCB2YWx1ZSApIHsKCQkJCQl2YXIgY2hhaW5hYmxlID0gYXJndW1lbnRzLmxlbmd0aCAmJiAoIGRlZmF1bHRFeHRyYSB8fCB0eXBlb2YgbWFyZ2luICE9PSAiYm9vbGVhbiIgKSwKCQkJCQkJZXh0cmEgPSBkZWZhdWx0RXh0cmEgfHwgKCBtYXJnaW4gPT09IHRydWUgfHwgdmFsdWUgPT09IHRydWUgPyAibWFyZ2luIiA6ICJib3JkZXIiICk7CgoJCQkJCXJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCB0eXBlLCB2YWx1ZSApIHsKCQkJCQkJdmFyIGRvYzsKCgkJCQkJCWlmICggaXNXaW5kb3coIGVsZW0gKSApIHsKCgkJCQkJCQkvLyAkKCB3aW5kb3cgKS5vdXRlcldpZHRoL0hlaWdodCByZXR1cm4gdy9oIGluY2x1ZGluZyBzY3JvbGxiYXJzIChnaC0xNzI5KQoJCQkJCQkJcmV0dXJuIGZ1bmNOYW1lLmluZGV4T2YoICJvdXRlciIgKSA9PT0gMCA/CgkJCQkJCQkJZWxlbVsgImlubmVyIiArIG5hbWUgXSA6CgkJCQkJCQkJZWxlbS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbICJjbGllbnQiICsgbmFtZSBdOwoJCQkJCQl9CgoJCQkJCQkvLyBHZXQgZG9jdW1lbnQgd2lkdGggb3IgaGVpZ2h0CgkJCQkJCWlmICggZWxlbS5ub2RlVHlwZSA9PT0gOSApIHsKCQkJCQkJCWRvYyA9IGVsZW0uZG9jdW1lbnRFbGVtZW50OwoKCQkJCQkJCS8vIEVpdGhlciBzY3JvbGxbV2lkdGgvSGVpZ2h0XSBvciBvZmZzZXRbV2lkdGgvSGVpZ2h0XSBvciBjbGllbnRbV2lkdGgvSGVpZ2h0XSwKCQkJCQkJCS8vIHdoaWNoZXZlciBpcyBncmVhdGVzdAoJCQkJCQkJcmV0dXJuIE1hdGgubWF4KAoJCQkJCQkJCWVsZW0uYm9keVsgInNjcm9sbCIgKyBuYW1lIF0sIGRvY1sgInNjcm9sbCIgKyBuYW1lIF0sCgkJCQkJCQkJZWxlbS5ib2R5WyAib2Zmc2V0IiArIG5hbWUgXSwgZG9jWyAib2Zmc2V0IiArIG5hbWUgXSwKCQkJCQkJCQlkb2NbICJjbGllbnQiICsgbmFtZSBdCgkJCQkJCQkpOwoJCQkJCQl9CgoJCQkJCQlyZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/CgoJCQkJCQkJLy8gR2V0IHdpZHRoIG9yIGhlaWdodCBvbiB0aGUgZWxlbWVudCwgcmVxdWVzdGluZyBidXQgbm90IGZvcmNpbmcgcGFyc2VGbG9hdAoJCQkJCQkJalF1ZXJ5LmNzcyggZWxlbSwgdHlwZSwgZXh0cmEgKSA6CgoJCQkJCQkJLy8gU2V0IHdpZHRoIG9yIGhlaWdodCBvbiB0aGUgZWxlbWVudAoJCQkJCQkJalF1ZXJ5LnN0eWxlKCBlbGVtLCB0eXBlLCB2YWx1ZSwgZXh0cmEgKTsKCQkJCQl9LCB0eXBlLCBjaGFpbmFibGUgPyBtYXJnaW4gOiB1bmRlZmluZWQsIGNoYWluYWJsZSApOwoJCQkJfTsKCQkJfSApOwoJfSApOwoKCglqUXVlcnkuZWFjaCggKCAiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgIiArCgkJIm1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlICIgKwoJCSJjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGNvbnRleHRtZW51IiApLnNwbGl0KCAiICIgKSwKCQlmdW5jdGlvbiggaSwgbmFtZSApIHsKCgkJCS8vIEhhbmRsZSBldmVudCBiaW5kaW5nCgkJCWpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIGRhdGEsIGZuICkgewoJCQkJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAwID8KCQkJCQl0aGlzLm9uKCBuYW1lLCBudWxsLCBkYXRhLCBmbiApIDoKCQkJCQl0aGlzLnRyaWdnZXIoIG5hbWUgKTsKCQkJfTsKCQl9ICk7CgoJalF1ZXJ5LmZuLmV4dGVuZCggewoJCWhvdmVyOiBmdW5jdGlvbiggZm5PdmVyLCBmbk91dCApIHsKCQkJcmV0dXJuIHRoaXMubW91c2VlbnRlciggZm5PdmVyICkubW91c2VsZWF2ZSggZm5PdXQgfHwgZm5PdmVyICk7CgkJfQoJfSApOwoKCgoKCWpRdWVyeS5mbi5leHRlbmQoIHsKCgkJYmluZDogZnVuY3Rpb24oIHR5cGVzLCBkYXRhLCBmbiApIHsKCQkJcmV0dXJuIHRoaXMub24oIHR5cGVzLCBudWxsLCBkYXRhLCBmbiApOwoJCX0sCgkJdW5iaW5kOiBmdW5jdGlvbiggdHlwZXMsIGZuICkgewoJCQlyZXR1cm4gdGhpcy5vZmYoIHR5cGVzLCBudWxsLCBmbiApOwoJCX0sCgoJCWRlbGVnYXRlOiBmdW5jdGlvbiggc2VsZWN0b3IsIHR5cGVzLCBkYXRhLCBmbiApIHsKCQkJcmV0dXJuIHRoaXMub24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTsKCQl9LAoJCXVuZGVsZWdhdGU6IGZ1bmN0aW9uKCBzZWxlY3RvciwgdHlwZXMsIGZuICkgewoKCQkJLy8gKCBuYW1lc3BhY2UgKSBvciAoIHNlbGVjdG9yLCB0eXBlcyBbLCBmbl0gKQoJCQlyZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMSA/CgkJCQl0aGlzLm9mZiggc2VsZWN0b3IsICIqKiIgKSA6CgkJCQl0aGlzLm9mZiggdHlwZXMsIHNlbGVjdG9yIHx8ICIqKiIsIGZuICk7CgkJfQoJfSApOwoKLy8gQmluZCBhIGZ1bmN0aW9uIHRvIGEgY29udGV4dCwgb3B0aW9uYWxseSBwYXJ0aWFsbHkgYXBwbHlpbmcgYW55Ci8vIGFyZ3VtZW50cy4KLy8galF1ZXJ5LnByb3h5IGlzIGRlcHJlY2F0ZWQgdG8gcHJvbW90ZSBzdGFuZGFyZHMgKHNwZWNpZmljYWxseSBGdW5jdGlvbiNiaW5kKQovLyBIb3dldmVyLCBpdCBpcyBub3Qgc2xhdGVkIGZvciByZW1vdmFsIGFueSB0aW1lIHNvb24KCWpRdWVyeS5wcm94eSA9IGZ1bmN0aW9uKCBmbiwgY29udGV4dCApIHsKCQl2YXIgdG1wLCBhcmdzLCBwcm94eTsKCgkJaWYgKCB0eXBlb2YgY29udGV4dCA9PT0gInN0cmluZyIgKSB7CgkJCXRtcCA9IGZuWyBjb250ZXh0IF07CgkJCWNvbnRleHQgPSBmbjsKCQkJZm4gPSB0bXA7CgkJfQoKCQkvLyBRdWljayBjaGVjayB0byBkZXRlcm1pbmUgaWYgdGFyZ2V0IGlzIGNhbGxhYmxlLCBpbiB0aGUgc3BlYwoJCS8vIHRoaXMgdGhyb3dzIGEgVHlwZUVycm9yLCBidXQgd2Ugd2lsbCBqdXN0IHJldHVybiB1bmRlZmluZWQuCgkJaWYgKCAhaXNGdW5jdGlvbiggZm4gKSApIHsKCQkJcmV0dXJuIHVuZGVmaW5lZDsKCQl9CgoJCS8vIFNpbXVsYXRlZCBiaW5kCgkJYXJncyA9IHNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMiApOwoJCXByb3h5ID0gZnVuY3Rpb24oKSB7CgkJCXJldHVybiBmbi5hcHBseSggY29udGV4dCB8fCB0aGlzLCBhcmdzLmNvbmNhdCggc2xpY2UuY2FsbCggYXJndW1lbnRzICkgKSApOwoJCX07CgoJCS8vIFNldCB0aGUgZ3VpZCBvZiB1bmlxdWUgaGFuZGxlciB0byB0aGUgc2FtZSBvZiBvcmlnaW5hbCBoYW5kbGVyLCBzbyBpdCBjYW4gYmUgcmVtb3ZlZAoJCXByb3h5Lmd1aWQgPSBmbi5ndWlkID0gZm4uZ3VpZCB8fCBqUXVlcnkuZ3VpZCsrOwoKCQlyZXR1cm4gcHJveHk7Cgl9OwoKCWpRdWVyeS5ob2xkUmVhZHkgPSBmdW5jdGlvbiggaG9sZCApIHsKCQlpZiAoIGhvbGQgKSB7CgkJCWpRdWVyeS5yZWFkeVdhaXQrKzsKCQl9IGVsc2UgewoJCQlqUXVlcnkucmVhZHkoIHRydWUgKTsKCQl9Cgl9OwoJalF1ZXJ5LmlzQXJyYXkgPSBBcnJheS5pc0FycmF5OwoJalF1ZXJ5LnBhcnNlSlNPTiA9IEpTT04ucGFyc2U7CglqUXVlcnkubm9kZU5hbWUgPSBub2RlTmFtZTsKCWpRdWVyeS5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjsKCWpRdWVyeS5pc1dpbmRvdyA9IGlzV2luZG93OwoJalF1ZXJ5LmNhbWVsQ2FzZSA9IGNhbWVsQ2FzZTsKCWpRdWVyeS50eXBlID0gdG9UeXBlOwoKCWpRdWVyeS5ub3cgPSBEYXRlLm5vdzsKCglqUXVlcnkuaXNOdW1lcmljID0gZnVuY3Rpb24oIG9iaiApIHsKCgkJLy8gQXMgb2YgalF1ZXJ5IDMuMCwgaXNOdW1lcmljIGlzIGxpbWl0ZWQgdG8KCQkvLyBzdHJpbmdzIGFuZCBudW1iZXJzIChwcmltaXRpdmVzIG9yIG9iamVjdHMpCgkJLy8gdGhhdCBjYW4gYmUgY29lcmNlZCB0byBmaW5pdGUgbnVtYmVycyAoZ2gtMjY2MikKCQl2YXIgdHlwZSA9IGpRdWVyeS50eXBlKCBvYmogKTsKCQlyZXR1cm4gKCB0eXBlID09PSAibnVtYmVyIiB8fCB0eXBlID09PSAic3RyaW5nIiApICYmCgoJCQkvLyBwYXJzZUZsb2F0IE5hTnMgbnVtZXJpYy1jYXN0IGZhbHNlIHBvc2l0aXZlcyAoIiIpCgkJCS8vIC4uLmJ1dCBtaXNpbnRlcnByZXRzIGxlYWRpbmctbnVtYmVyIHN0cmluZ3MsIHBhcnRpY3VsYXJseSBoZXggbGl0ZXJhbHMgKCIweC4uLiIpCgkJCS8vIHN1YnRyYWN0aW9uIGZvcmNlcyBpbmZpbml0aWVzIHRvIE5hTgoJCQkhaXNOYU4oIG9iaiAtIHBhcnNlRmxvYXQoIG9iaiApICk7Cgl9OwoKCgoKLy8gUmVnaXN0ZXIgYXMgYSBuYW1lZCBBTUQgbW9kdWxlLCBzaW5jZSBqUXVlcnkgY2FuIGJlIGNvbmNhdGVuYXRlZCB3aXRoIG90aGVyCi8vIGZpbGVzIHRoYXQgbWF5IHVzZSBkZWZpbmUsIGJ1dCBub3QgdmlhIGEgcHJvcGVyIGNvbmNhdGVuYXRpb24gc2NyaXB0IHRoYXQKLy8gdW5kZXJzdGFuZHMgYW5vbnltb3VzIEFNRCBtb2R1bGVzLiBBIG5hbWVkIEFNRCBpcyBzYWZlc3QgYW5kIG1vc3Qgcm9idXN0Ci8vIHdheSB0byByZWdpc3Rlci4gTG93ZXJjYXNlIGpxdWVyeSBpcyB1c2VkIGJlY2F1c2UgQU1EIG1vZHVsZSBuYW1lcyBhcmUKLy8gZGVyaXZlZCBmcm9tIGZpbGUgbmFtZXMsIGFuZCBqUXVlcnkgaXMgbm9ybWFsbHkgZGVsaXZlcmVkIGluIGEgbG93ZXJjYXNlCi8vIGZpbGUgbmFtZS4gRG8gdGhpcyBhZnRlciBjcmVhdGluZyB0aGUgZ2xvYmFsIHNvIHRoYXQgaWYgYW4gQU1EIG1vZHVsZSB3YW50cwovLyB0byBjYWxsIG5vQ29uZmxpY3QgdG8gaGlkZSB0aGlzIHZlcnNpb24gb2YgalF1ZXJ5LCBpdCB3aWxsIHdvcmsuCgovLyBOb3RlIHRoYXQgZm9yIG1heGltdW0gcG9ydGFiaWxpdHksIGxpYnJhcmllcyB0aGF0IGFyZSBub3QgalF1ZXJ5IHNob3VsZAovLyBkZWNsYXJlIHRoZW1zZWx2ZXMgYXMgYW5vbnltb3VzIG1vZHVsZXMsIGFuZCBhdm9pZCBzZXR0aW5nIGEgZ2xvYmFsIGlmIGFuCi8vIEFNRCBsb2FkZXIgaXMgcHJlc2VudC4galF1ZXJ5IGlzIGEgc3BlY2lhbCBjYXNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9qcmJ1cmtlL3JlcXVpcmVqcy93aWtpL1VwZGF0aW5nLWV4aXN0aW5nLWxpYnJhcmllcyN3aWtpLWFub24KCglpZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsKCQlkZWZpbmUoICJqcXVlcnkiLCBbXSwgZnVuY3Rpb24oKSB7CgkJCXJldHVybiBqUXVlcnk7CgkJfSApOwoJfQoKCgoKCXZhcgoKCQkvLyBNYXAgb3ZlciBqUXVlcnkgaW4gY2FzZSBvZiBvdmVyd3JpdGUKCQlfalF1ZXJ5ID0gd2luZG93LmpRdWVyeSwKCgkJLy8gTWFwIG92ZXIgdGhlICQgaW4gY2FzZSBvZiBvdmVyd3JpdGUKCQlfJCA9IHdpbmRvdy4kOwoKCWpRdWVyeS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24oIGRlZXAgKSB7CgkJaWYgKCB3aW5kb3cuJCA9PT0galF1ZXJ5ICkgewoJCQl3aW5kb3cuJCA9IF8kOwoJCX0KCgkJaWYgKCBkZWVwICYmIHdpbmRvdy5qUXVlcnkgPT09IGpRdWVyeSApIHsKCQkJd2luZG93LmpRdWVyeSA9IF9qUXVlcnk7CgkJfQoKCQlyZXR1cm4galF1ZXJ5OwoJfTsKCi8vIEV4cG9zZSBqUXVlcnkgYW5kICQgaWRlbnRpZmllcnMsIGV2ZW4gaW4gQU1ECi8vICgjNzEwMiNjb21tZW50OjEwLCBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9wdWxsLzU1NykKLy8gYW5kIENvbW1vbkpTIGZvciBicm93c2VyIGVtdWxhdG9ycyAoIzEzNTY2KQoJaWYgKCAhbm9HbG9iYWwgKSB7CgkJd2luZG93LmpRdWVyeSA9IHdpbmRvdy4kID0galF1ZXJ5OwoJfQoKCgoKCXJldHVybiBqUXVlcnk7Cn0gKTs="}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":55,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.099Z","timestamp":1785139584099,"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-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 08:06:24 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: 121b4ee5aecdad2e78a51a6bf1c3d59b\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-28T06:17:53.622711Z","times_seen":97,"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.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.928Z","timestamp":1785139583928,"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-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 08:06:23 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: 4d1c34d455585232e12c60bbb30e46cb\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-08-12T05:10:43.138139Z","times_seen":309,"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":"nanoquantumstellarsledger.com/frontcss/assets/widgets.css","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:21.980Z","timestamp":1785139581980,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/widgets.css HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:21 GMT\r\ncontent-type: text/css\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1466\r\ndate: Mon, 27 Jul 2026 08:06:21 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7753,"size_decoded":1775,"mime_type":"text/css","magic":"ASCII text","md5":"7d85c3b3aa8e8cc15045e2c135b4ce54","sha1":"a21d7730023a8ce64055658d8851a9285bb83b35","sha256":"e3900e7ded854b2f350b4e23e6c5d0383de6076640944db6090c9fce8bb0d9b2","sha512":"bef2fa7e12eb5aa46b06eed9994edce7fb11faa74594e4911355ad5ed28432eb6f9f0605f59db0065212e381d9558bb88af041584b261afb0b33f235797f807d","ssdeep":"192:5V1Q9/lSss/I3joZEYXZ1X0RZ2Va+WfAHhwXNNtwa9hNtwaVkrsXRtkP4PeGefPv:0p/x+fsah","tlshash":"2af1ed238ea312457d4ae4195ffe2a52f3a44043e508def83d8d6946cf4d7d080af2ae","first_seen":"2025-11-23T04:10:47.833841Z","last_seen":"2026-07-27T09:11:27.276642Z","times_seen":7,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tICNXSURHRVRTIC0tLS0tLS0tLS0tLS0tKi8KLyotLS0tLS0tLS0tLS0tICNWQVJJQUJMRVMgLS0tLS0tLS0tLS0tLS0qLwovKi0tLS0tLS0tLS0tLS0gI1ctSU5GTyAtLS0tLS0tLS0tLS0tLSovCi53LWluZm8gLnNpdGUtbG9nbyB7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4OwogICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNXLUhFTFAgLS0tLS0tLS0tLS0tLS0qLwogIC53LS1oZWxwIHsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQogICAgLnctLWhlbHAgLnRpdGxlIHsKICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgY29sb3I6ICMxNTE3MWM7IH0KICAgIC53LS1oZWxwIC50ZXh0IHsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0KICAKICAuYmctaGVscCB7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uL2ltZy9iZy1oZWxwLnBuZyIpOyB9CiAgCiAgLnctLWxvY2F0aW9uIHsKICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOyB9CiAgCiAgLnNpZGViYXIgLndpZGdldCB7CiAgICBwYWRkaW5nOiA4MHB4OwogICAgYm9yZGVyLXJhZGl1czogMzBweDsKICAgIG1hcmdpbi1ib3R0b206IDgwcHg7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQxNTE5OyB9CiAgICAuc2lkZWJhciAud2lkZ2V0IC5wcmltYXJ5LWRvdHMgewogICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0KICAgIC5zaWRlYmFyIC53aWRnZXQudy1zdWJzY3JpYmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiYTAwOyB9CiAgICAuc2lkZWJhciAud2lkZ2V0Lnctc2VhcmNoIHsKICAgICAgcGFkZGluZzogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0KICAKICAud2lkZ2V0LXRpdGxlIHsKICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgIC53aWRnZXQtdGl0bGU6YWZ0ZXIgewogICAgICBjb250ZW50OiAiLiI7CiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgY29sb3I6ICNmZmJhMDA7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgCiAgLyo9PT09PT09PT09PT09PT09PSBSZXNwb25zaXZlIE1vZGUgPT09PT09PT09PT09Ki8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAudy0taGVscCB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0KICAgIC5zaWRlYmFyIC53aWRnZXQgewogICAgICBwYWRkaW5nOiA0MHB4OwogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9CiAgICAud2lkZ2V0LXRpdGxlIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9CiAgCiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgewogICAgLnNpZGViYXIgewogICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH0KICAKICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgIC5zaWRlYmFyIC53aWRnZXQgewogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1ctVEFHUyAtLS0tLS0tLS0tLS0tLSovCiAgLnctLXRhZ3MgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmctbGVmdDogMDsgfQogICAgLnctLXRhZ3MgLnRpdGxlIHsKICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfQogICAgLnctLXRhZ3MgLnRhZ3MtbGlzdCB7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHBhZGRpbmctbGVmdDogODBweDsgfQogICAgLnctLXRhZ3MgbGkgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfQogICAgICAudy0tdGFncyBsaTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0KICAgICAgLnctLXRhZ3MgbGk6aG92ZXIgLnRhZy1pdGVtIHsKICAgICAgICBjb2xvcjogI2ZmYmEwMDsKICAgICAgICBib3JkZXItY29sb3I6ICNmZmJhMDA7IH0KICAgIC53LS10YWdzIC50YWctaXRlbSB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIHBhZGRpbmc6IDVweCAyM3B4OwogICAgICBib3JkZXItcmFkaXVzOiAzMHB4OwogICAgICBib3JkZXI6IDNweCBzb2xpZCAjM2Q0NDUxOwogICAgICBjb2xvcjogIzY2NmQ3YTsKICAgICAgbGluZS1oZWlnaHQ6IDE7IH0KICAKICAvKj09PT09PT09PT09PT09PT09IFJlc3BvbnNpdmUgTW9kZSA9PT09PT09PT09PT0qLwogIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgIC53LS10YWdzIC50YWdzLWxpc3QgewogICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfQogIAogIC8qLS0tLS0tLS0tLS0tLSAjVy1MQVRFU1QtTkVXUyAtLS0tLS0tLS0tLS0tLSovCiAgLnctbGF0ZXN0LW5ld3MgLmxhdGVzdC1uZXdzLWxpc3QgewogICAgbGlzdC1zdHlsZTogbm9uZTsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIG1hcmdpbjogNTBweCAwOyB9CiAgCiAgLnctbGF0ZXN0LW5ld3MgLnBvc3RfX3RpdGxlIHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIG1hcmdpbjogOHB4IDA7CiAgICBsaW5lLWhlaWdodDogMS42NWVtOyB9CiAgCiAgLnctbGF0ZXN0LW5ld3MgLmRpdmlkZXIgewogICAgbWFyZ2luOiA0MHB4IGF1dG87IH0KICAKICAudy1sYXRlc3QtbmV3cyAucG9zdF9fZGF0ZSB7CiAgICBmb250LXNpemU6IDE0cHg7IH0KICAgIC53LWxhdGVzdC1uZXdzIC5wb3N0X19kYXRlIC5udW1iZXIgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfQogIAogIC8qPT09PT09PT09PT09PT09PT0gUmVzcG9uc2l2ZSBNb2RlID09PT09PT09PT09PSovCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAudy1sYXRlc3QtbmV3cyAubGF0ZXN0LW5ld3MtbGlzdCB7CiAgICAgIG1hcmdpbjogMjBweCAwOyB9CiAgICAudy1sYXRlc3QtbmV3cyAuZGl2aWRlciB7CiAgICAgIG1hcmdpbjogMjBweCBhdXRvOyB9IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1ctU1VCU0NSSUJFIC0tLS0tLS0tLS0tLS0tKi8KICAud2lkZ2V0Lnctc3Vic2NyaWJlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJhMDA7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLWhlbHAucG5nKTsgfQogICAgLndpZGdldC53LXN1YnNjcmliZSAudGl0bGUgewogICAgICBmb250LXdlaWdodDogNDAwOwogICAgICBjb2xvcjogIzE1MTcxYzsKICAgICAgbWFyZ2luOiAwIDAgMzBweCAwOyB9CiAgCiAgLyotLS0tLS0tLS0tLS0tICNXLVVQQ09NSU5HLUVWRU5UUyAtLS0tLS0tLS0tLS0tLSovCiAgLnctdXBjb21pbmctZXZlbnRzIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfQogICAgLnctdXBjb21pbmctZXZlbnRzIC5jcnVtaW5hLWV2ZW50LWl0ZW0gewogICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgICBwYWRkaW5nOiAwOyB9CiAgICAgIC53LXVwY29taW5nLWV2ZW50cyAuY3J1bWluYS1ldmVudC1pdGVtOmFmdGVyIHsKICAgICAgICBkaXNwbGF5OiBub25lOyB9CiAgICAudy11cGNvbWluZy1ldmVudHMgLmV2ZW50LWRhdGUgewogICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDsKICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0KICAgIC53LXVwY29taW5nLWV2ZW50cyAuYXV0aG9yLWNvbnRlbnQgewogICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9CiAgICAudy11cGNvbWluZy1ldmVudHMgLmF1dGhvci1ibG9jayB7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfQogICAgICAudy11cGNvbWluZy1ldmVudHMgLmF1dGhvci1ibG9jayAuYXZhdGFyIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0KICAgIC53LXVwY29taW5nLWV2ZW50cyAuZXZlbnQtdGl0bGUgewogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgbWFyZ2luOiAzMHB4IDA7IH0KICAgIC53LXVwY29taW5nLWV2ZW50cyAucGFnaW5hdGlvbi1ib3R0b20tY2VudGVyIHsKICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1ctQVJDSElWRVMgLS0tLS0tLS0tLS0tLS0qLwogIC53LWFyY2hpdmVzIC5hcmNoaXZlcy1saXN0IHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIG1hcmdpbjogMDsKICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH0KICAgIC53LWFyY2hpdmVzIC5hcmNoaXZlcy1saXN0IGxpOmxhc3QtY2hpbGQgYSB7CiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH0KICAgIC53LWFyY2hpdmVzIC5hcmNoaXZlcy1saXN0IGxpIGEgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgY29sb3I6ICNjM2M5ZDQ7CiAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZDQ0NTE7IH0KICAgICAgLnctYXJjaGl2ZXMgLmFyY2hpdmVzLWxpc3QgbGkgYTpob3ZlciB7CiAgICAgICAgY29sb3I6ICNmZmJhMDA7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gI1ctRElTVFJJQlVUSU9OIEVORFMgLS0tLS0tLS0tLS0tLS0qLwogIC53LWRpc3RyaWJ1dGlvbi1lbmRzIHsKICAgIHBhZGRpbmc6IDgwcHg7CiAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTUxOTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA4MHB4IDExMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgYm94LXNoYWRvdzogMCA4MHB4IDExMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KICAgIC53LWRpc3RyaWJ1dGlvbi1lbmRzID4gKiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0KICAgICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgPiAqOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0KICAgIC53LWRpc3RyaWJ1dGlvbi1lbmRzIC5jcnVtaW5hLXNraWxscy1pdGVtIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7CiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0KICAgICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLmNydW1pbmEtc2tpbGxzLWl0ZW0gLnNraWxscy1pdGVtLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0KICAgICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLmNydW1pbmEtc2tpbGxzLWl0ZW0gLnNraWxscy1pdGVtLWNvdW50IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9CiAgICAudy1kaXN0cmlidXRpb24tZW5kcyAuY3J1bWluYS1jb3VudGRvd24taXRlbSArIC5idG4gewogICAgICBtYXJnaW4tbGVmdDogMDsgfQogICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLmFkZC1pbmZvIHsKICAgICAgbWFyZ2luLXRvcDogMTVweDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7CiAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7CiAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfQogICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLnByaWNlLXdyYXAgewogICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0OwogICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5OwogICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9CiAgICAgIC53LWRpc3RyaWJ1dGlvbi1lbmRzIC5wcmljZS13cmFwIC50b2tlbi1wcmljZSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgICAgIC53LWRpc3RyaWJ1dGlvbi1lbmRzIC5wcmljZS13cmFwIC50b2tlbi1wcmljZSAucHJpY2UtdmFsdWUgewogICAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgICAgY29sb3I6ICNjM2M5ZDQ7CiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0KICAgICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLnByaWNlLXdyYXAgLnRva2VuLXRvdGFsIHsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfQogICAgICAgIC53LWRpc3RyaWJ1dGlvbi1lbmRzIC5wcmljZS13cmFwIC50b2tlbi10b3RhbCAucHJpY2UtdmFsdWUgewogICAgICAgICAgZm9udC1zaXplOiA0NnB4OwogICAgICAgICAgY29sb3I6ICNjM2M5ZDQ7CiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0KICAKICAvKi0tLS0tLS0tLS0tLS0gUmVzcG9uc2l2ZSBNb2RlIC0tLS0tLS0tLS0tLS0tKi8KICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7CiAgICAudy1kaXN0cmlidXRpb24tZW5kcyB7CiAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfQogIAogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgLnByaWNlLXdyYXAgLnRva2VuLXRvdGFsIC5wcmljZS12YWx1ZSB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsgfQogICAgLnctZGlzdHJpYnV0aW9uLWVuZHMgewogICAgICBwYWRkaW5nOiAyMHB4OyB9CiAgICAudy1kaXN0cmlidXRpb24tZW5kcyA+ICogewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9CiAgICAudy1kaXN0cmlidXRpb24tZW5kcyAuY3J1bWluYS1za2lsbHMtaXRlbSB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfQ=="}},"time_used":92,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":91,"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/boxicons@2.1.4/dist/boxicons.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.004Z","timestamp":1785139582004,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /boxicons@2.1.4/dist/boxicons.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: script\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 08:06:22 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a21a24f38e6635a6-OSL\r\ncf-cache-status: HIT\r\npriority: u=2,i=?0\r\naccess-control-allow-origin: *\r\nage: 3887347\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Tue, 09 Jun 2026 15:49:48 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:YGSab/ZZX4AkVRssw/y2O1HH3tKp6sSJeMsusZVVc4k=:\r\nfly-request-id: 01KTG833YXREA7RK00GQTE1TVC-arn\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"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":13059,"size_decoded":4829,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (13022)","md5":"bea4fd2ceb33e2c39eb434b4f1cb0cff","sha1":"479a975d7f22ffda02918efd7cfe9adab2ffeed1","sha256":"60649a6ff6595f8024551b2cc3fcb63b51c7ded2a9eac48978cb2eb195557389","sha512":"9161fdda91d40bfadc8e948cbb5f654fe1fa4e567064201fb60f40b92c3e0156127442929575c1f28ea0d769a0e5ff8f8f9c4ee3403b8eeda8b7f55da1d0ad87","ssdeep":"192:jPmj9RTOVejr0PIazbcrFT+ufLSgSrGHLR4+H7TvUmCu6qtQtsIYCh:j5EmTzbFr2q+HHUmCuerh","tlshash":"9d42f86ebad13052412709a187cf4615633cc5737d624cce7352e8d68fb0acda2e6b2b","first_seen":"2023-03-12T21:06:07Z","last_seen":"2026-08-08T21:31:16.111369Z","times_seen":156,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSxuLHIsbyl7aWYoImN1c3RvbUVsZW1lbnRzImluIG4pbygpO2Vsc2V7aWYobi5BV0FJVElOR19XRUJfQ09NUE9ORU5UU19QT0xZRklMTClyZXR1cm4gdm9pZCBuLkFXQUlUSU5HX1dFQl9DT01QT05FTlRTX1BPTFlGSUxMLnRoZW4obyk7dmFyIGE9bi5BV0FJVElOR19XRUJfQ09NUE9ORU5UU19QT0xZRklMTD1mKCk7YS50aGVuKG8pO3ZhciBpPW4uV0VCX0NPTVBPTkVOVFNfUE9MWUZJTEx8fCIvL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy93ZWJjb21wb25lbnRzanMvMi4wLjIvd2ViY29tcG9uZW50cy1idW5kbGUuanMiLHM9bi5FUzZfQ09SRV9QT0xZRklMTHx8Ii8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2NvcmUtanMvMi41LjMvY29yZS5taW4uanMiOyJQcm9taXNlImluIG4/YyhpKS50aGVuKChmdW5jdGlvbigpe2EuaXNEb25lPSEwLGEuZXhlYygpfSkpOmMocykudGhlbigoZnVuY3Rpb24oKXtjKGkpLnRoZW4oKGZ1bmN0aW9uKCl7YS5pc0RvbmU9ITAsYS5leGVjKCl9KSl9KSl9ZnVuY3Rpb24gZigpe3ZhciB0PVtdO3JldHVybiB0LmlzRG9uZT0hMSx0LmV4ZWM9ZnVuY3Rpb24oKXt0LnNwbGljZSgwKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0KCl9KSl9LHQudGhlbj1mdW5jdGlvbihlKXtyZXR1cm4gdC5pc0RvbmU/ZSgpOnQucHVzaChlKSx0fSx0fWZ1bmN0aW9uIGModCl7dmFyIGU9ZigpLG49ci5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyZXR1cm4gbi50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLG4ucmVhZHlTdGF0ZT9uLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpeyJsb2FkZWQiIT1uLnJlYWR5U3RhdGUmJiJjb21wbGV0ZSIhPW4ucmVhZHlTdGF0ZXx8KG4ub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsZS5pc0RvbmU9ITAsZS5leGVjKCkpfTpuLm9ubG9hZD1mdW5jdGlvbigpe2UuaXNEb25lPSEwLGUuZXhlYygpfSxuLnNyYz10LHIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChuKSxuLnRoZW49ZS50aGVuLG59fSgwLDAsd2luZG93LGRvY3VtZW50LChmdW5jdGlvbigpe3ZhciB0LGU7dD13aW5kb3csZT1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT17fTtmdW5jdGlvbiBuKHIpe2lmKGVbcl0pcmV0dXJuIGVbcl0uZXhwb3J0czt2YXIgbz1lW3JdPXtpOnIsbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtyXS5jYWxsKG8uZXhwb3J0cyxvLG8uZXhwb3J0cyxuKSxvLmw9ITAsby5leHBvcnRzfXJldHVybiBuLm09dCxuLmM9ZSxuLmQ9ZnVuY3Rpb24odCxlLHIpe24ubyh0LGUpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGdldDpyfSl9LG4ucj1mdW5jdGlvbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW4odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJiJvYmplY3QiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiYic3RyaW5nIiE9dHlwZW9mIHQpZm9yKHZhciBvIGluIHQpbi5kKHIsbyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLG8pKTtyZXR1cm4gcn0sbi5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQoZSwiYSIsZSksZX0sbi5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxuLnA9IiIsbihuLnM9NSl9KFtmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCxlKXt2YXIgbixyPXRbMV18fCIiLG89dFszXTtpZighbylyZXR1cm4gcjtpZihlJiYiZnVuY3Rpb24iPT10eXBlb2YgYnRvYSl7dmFyIGE9KG49bywiLyojIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCIrYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobikpKSkrIiAqLyIpLGk9by5zb3VyY2VzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIi8qIyBzb3VyY2VVUkw9IitvLnNvdXJjZVJvb3QrdCsiICovIn0pKTtyZXR1cm5bcl0uY29uY2F0KGkpLmNvbmNhdChbYV0pLmpvaW4oIlxuIil9cmV0dXJuW3JdLmpvaW4oIlxuIil9KGUsdCk7cmV0dXJuIGVbMl0/IkBtZWRpYSAiK2VbMl0rInsiK24rIn0iOm59KSkuam9pbigiIil9LGUuaT1mdW5jdGlvbih0LG4peyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9W1tudWxsLHQsIiJdXSk7Zm9yKHZhciByPXt9LG89MDtvPHRoaXMubGVuZ3RoO28rKyl7dmFyIGE9dGhpc1tvXVswXTsibnVtYmVyIj09dHlwZW9mIGEmJihyW2FdPSEwKX1mb3Iobz0wO288dC5sZW5ndGg7bysrKXt2YXIgaT10W29dOyJudW1iZXIiPT10eXBlb2YgaVswXSYmcltpWzBdXXx8KG4mJiFpWzJdP2lbMl09bjpuJiYoaVsyXT0iKCIraVsyXSsiKSBhbmQgKCIrbisiKSIpLGUucHVzaChpKSl9fSxlfX0sZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oMyk7dC5leHBvcnRzPSJzdHJpbmciPT10eXBlb2Ygcj9yOnIudG9TdHJpbmcoKX0sZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oNCk7dC5leHBvcnRzPSJzdHJpbmciPT10eXBlb2Ygcj9yOnIudG9TdHJpbmcoKX0sZnVuY3Rpb24odCxlLG4peyh0LmV4cG9ydHM9bigwKSghMSkpLnB1c2goW3QuaSwiQC13ZWJraXQta2V5ZnJhbWVzIHNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIHNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgYnVyc3R7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX05MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYnVyc3R7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX05MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGluZ3swJXtvcGFjaXR5OjF9NDUle29wYWNpdHk6MH05MCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGZsYXNoaW5nezAle29wYWNpdHk6MX00NSV7b3BhY2l0eTowfTkwJXtvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTtvcGFjaXR5OjF9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZS1sZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7b3BhY2l0eToxfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1yaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZS1yaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlLXVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZhZGUtdXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtvcGFjaXR5OjF9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZhZGUtZG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO29wYWNpdHk6MX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyB0YWRhezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTEwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTUsLjk1LC45NSkgcm90YXRlKC0xMGRlZyk7dHJhbnNmb3JtOnNjYWxlM2QoLjk1LC45NSwuOTUpIHJvdGF0ZSgtMTBkZWcpfTMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKDEwZGVnKTt0cmFuc2Zvcm06c2NhbGVYKDEpIHJvdGF0ZSgxMGRlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKC0xMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fUBrZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjk1LC45NSwuOTUpIHJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKC45NSwuOTUsLjk1KSByb3RhdGUoLTEwZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHJvdGF0ZSgxMGRlZyk7dHJhbnNmb3JtOnNjYWxlWCgxKSByb3RhdGUoMTBkZWcpfTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19LmJ4LXNwaW4sLmJ4LXNwaW4taG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246c3BpbiAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW4gMnMgbGluZWFyIGluZmluaXRlfS5ieC10YWRhLC5ieC10YWRhLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnRhZGEgMS41cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp0YWRhIDEuNXMgZWFzZSBpbmZpbml0ZX0uYngtZmxhc2hpbmcsLmJ4LWZsYXNoaW5nLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOmZsYXNoaW5nIDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmbGFzaGluZyAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtYnVyc3QsLmJ4LWJ1cnN0LWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOmJ1cnN0IDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpidXJzdCAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtZmFkZS11cCwuYngtZmFkZS11cC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpmYWRlLXVwIDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYWRlLXVwIDEuNXMgaW5maW5pdGUgbGluZWFyfS5ieC1mYWRlLWRvd24sLmJ4LWZhZGUtZG93bi1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpmYWRlLWRvd24gMS41cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhZGUtZG93biAxLjVzIGluZmluaXRlIGxpbmVhcn0uYngtZmFkZS1sZWZ0LC5ieC1mYWRlLWxlZnQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246ZmFkZS1sZWZ0IDEuNXMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYWRlLWxlZnQgMS41cyBpbmZpbml0ZSBsaW5lYXJ9LmJ4LWZhZGUtcmlnaHQsLmJ4LWZhZGUtcmlnaHQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246ZmFkZS1yaWdodCAxLjVzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246ZmFkZS1yaWdodCAxLjVzIGluZmluaXRlIGxpbmVhcn0iLCIiXSl9LGZ1bmN0aW9uKHQsZSxuKXsodC5leHBvcnRzPW4oMCkoITEpKS5wdXNoKFt0LmksJy5ieC1yb3RhdGUtOTB7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSkifS5ieC1yb3RhdGUtMTgwe3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSJ9LmJ4LXJvdGF0ZS0yNzB7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpOy1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTMpIn0uYngtZmxpcC1ob3Jpem9udGFse3RyYW5zZm9ybTpzY2FsZVgoLTEpOy1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSJ9LmJ4LWZsaXAtdmVydGljYWx7dHJhbnNmb3JtOnNjYWxlWSgtMSk7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIn0nLCIiXSl9LGZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJCb3hJY29uRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSk7dmFyIHIsbyxhLGkscz1uKDEpLGY9bi5uKHMpLGM9bigyKSxsPW4ubihjKSxtPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiB0eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiB0fSx1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLG4scil7cmV0dXJuIG4mJnQoZS5wcm90b3R5cGUsbiksciYmdChlLHIpLGV9fSgpLGQ9KG89KHI9T2JqZWN0KS5nZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCl7cmV0dXJuIHQuX19wcm90b19ffSxhPXIuc2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX19wcm90b19fPWUsdH0saT0ib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3Q/InVuZGVmaW5lZCI6bShSZWZsZWN0KSk/UmVmbGVjdC5jb25zdHJ1Y3Q6ZnVuY3Rpb24odCxlLG4pe3ZhciByLG89W251bGxdO3JldHVybiBvLnB1c2guYXBwbHkobyxlKSxyPXQuYmluZC5hcHBseSh0LG8pLGEobmV3IHIsbi5wcm90b3R5cGUpfSxmdW5jdGlvbih0KXt2YXIgZT1vKHQpO3JldHVybiBhKHQsYSgoZnVuY3Rpb24oKXtyZXR1cm4gaShlLGFyZ3VtZW50cyxvKHRoaXMpLmNvbnN0cnVjdG9yKX0pLGUpKX0pLHA9d2luZG93LGI9e30seT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpLGg9ZnVuY3Rpb24oKXtyZXR1cm4hIXAuU2hhZHlDU1N9O3kuaW5uZXJIVE1MPSdcbjxzdHlsZT5cbjpob3N0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaXRpYWw7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG46aG9zdChbc2l6ZT14c10pIHtcbiAgICB3aWR0aDogMC44cmVtO1xuICAgIGhlaWdodDogMC44cmVtO1xufVxuOmhvc3QoW3NpemU9c21dKSB7XG4gICAgd2lkdGg6IDEuNTVyZW07XG4gICAgaGVpZ2h0OiAxLjU1cmVtO1xufVxuOmhvc3QoW3NpemU9bWRdKSB7XG4gICAgd2lkdGg6IDIuMjVyZW07XG4gICAgaGVpZ2h0OiAyLjI1cmVtO1xufVxuOmhvc3QoW3NpemU9bGddKSB7XG4gICAgd2lkdGg6IDMuMHJlbTtcbiAgICBoZWlnaHQ6IDMuMHJlbTtcbn1cblxuOmhvc3QoW3NpemVdOm5vdChbc2l6ZT0iIl0pOm5vdChbc2l6ZT14c10pOm5vdChbc2l6ZT1zbV0pOm5vdChbc2l6ZT1tZF0pOm5vdChbc2l6ZT1sZ10pKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuOmhvc3QoW3B1bGw9bGVmdF0pICNpY29uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IC4zZW0haW1wb3J0YW50O1xufVxuOmhvc3QoW3B1bGw9cmlnaHRdKSAjaWNvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAuM2VtIWltcG9ydGFudDtcbn1cbjpob3N0KFtib3JkZXI9c3F1YXJlXSkgI2ljb24ge1xuICAgIHBhZGRpbmc6IC4yNWVtO1xuICAgIGJvcmRlcjogLjA3ZW0gc29saWQgcmdiYSgwLDAsMCwuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG59XG46aG9zdChbYm9yZGVyPWNpcmNsZV0pICNpY29uIHtcbiAgICBwYWRkaW5nOiAuMjVlbTtcbiAgICBib3JkZXI6IC4wN2VtIHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbiNpY29uLFxuc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNpY29uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufSBcbicrZi5hKyJcbiIrbC5hKydcbjwvc3R5bGU+XG48ZGl2IGlkPSJpY29uIj48L2Rpdj4nO3ZhciBnPWQoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLGUpO3ZhciB0PWZ1bmN0aW9uKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4hZXx8Im9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZT90OmV9KHRoaXMsKGUuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpLmNhbGwodGhpcykpO3JldHVybiB0LiR1aT10LmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KSx0LiR1aS5hcHBlbmRDaGlsZCh0Lm93bmVyRG9jdW1lbnQuaW1wb3J0Tm9kZSh5LmNvbnRlbnQsITApKSxoKCkmJnAuU2hhZHlDU1Muc3R5bGVFbGVtZW50KHQpLHQuX3N0YXRlPXskaWNvbkhvbGRlcjp0LiR1aS5nZXRFbGVtZW50QnlJZCgiaWNvbiIpLHR5cGU6dC5nZXRBdHRyaWJ1dGUoInR5cGUiKX0sdH1yZXR1cm4gZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCAiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfShlLEhUTUxFbGVtZW50KSx1KGUsbnVsbCxbe2tleToiZ2V0SWNvblN2ZyIsdmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNkblVybCsiL3JlZ3VsYXIvYngtIit0KyIuc3ZnIjtyZXR1cm4ic29saWQiPT09ZT9uPXRoaXMuY2RuVXJsKyIvc29saWQvYnhzLSIrdCsiLnN2ZyI6ImxvZ28iPT09ZSYmKG49dGhpcy5jZG5VcmwrIi9sb2dvcy9ieGwtIit0KyIuc3ZnIiksbiYmYltuXXx8KGJbbl09bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3IuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKGZ1bmN0aW9uKCl7dGhpcy5zdGF0dXM8MjAwfHx0aGlzLnN0YXR1cz49MzAwP2UobmV3IEVycm9yKHRoaXMuc3RhdHVzKyIgIit0aGlzLnJlc3BvbnNlVGV4dCkpOnQodGhpcy5yZXNwb25zZVRleHQpfSkpLHIub25lcnJvcj1lLHIub25hYm9ydD1lLHIub3BlbigiR0VUIixuKSxyLnNlbmQoKX0pKSksYltuXX19LHtrZXk6ImRlZmluZSIsdmFsdWU6ZnVuY3Rpb24odCl7dD10fHx0aGlzLnRhZ05hbWUsaCgpJiZwLlNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZSh5LHQpLGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0LHRoaXMpfX0se2tleToiY2RuVXJsIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iLy91bnBrZy5jb20vYm94aWNvbnNAMi4xLjQvc3ZnIn19LHtrZXk6InRhZ05hbWUiLGdldDpmdW5jdGlvbigpe3JldHVybiJib3gtaWNvbiJ9fSx7a2V5OiJvYnNlcnZlZEF0dHJpYnV0ZXMiLGdldDpmdW5jdGlvbigpe3JldHVyblsidHlwZSIsIm5hbWUiLCJjb2xvciIsInNpemUiLCJyb3RhdGUiLCJmbGlwIiwiYW5pbWF0aW9uIiwiYm9yZGVyIiwicHVsbCJdfX1dKSx1KGUsW3trZXk6ImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIsdmFsdWU6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXMuX3N0YXRlLiRpY29uSG9sZGVyO3N3aXRjaCh0KXtjYXNlInR5cGUiOiFmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5fc3RhdGU7ci4kaWNvbkhvbGRlci50ZXh0Q29udGVudD0iIixyLnR5cGUmJihyLnR5cGU9bnVsbCksci50eXBlPSFufHwic29saWQiIT09biYmImxvZ28iIT09bj8icmVndWxhciI6bix2b2lkIDAhPT1yLmN1cnJlbnROYW1lJiZ0LmNvbnN0cnVjdG9yLmdldEljb25Tdmcoci5jdXJyZW50TmFtZSxyLnR5cGUpLnRoZW4oKGZ1bmN0aW9uKHQpe3IudHlwZT09PW4mJihyLiRpY29uSG9sZGVyLmlubmVySFRNTD10KX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGxvYWQgaWNvbjogIityLmN1cnJlbnROYW1lKyJcbiIrdCl9KSl9KHRoaXMsMCxuKTticmVhaztjYXNlIm5hbWUiOiFmdW5jdGlvbih0LGUsbil7dmFyIHI9dC5fc3RhdGU7ci5jdXJyZW50TmFtZT1uLHIuJGljb25Ib2xkZXIudGV4dENvbnRlbnQ9IiIsbiYmdm9pZCAwIT09ci50eXBlJiZ0LmNvbnN0cnVjdG9yLmdldEljb25TdmcobixyLnR5cGUpLnRoZW4oKGZ1bmN0aW9uKHQpe3IuY3VycmVudE5hbWU9PT1uJiYoci4kaWNvbkhvbGRlci5pbm5lckhUTUw9dCl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBsb2FkIGljb246ICIrbisiXG4iK3QpfSkpfSh0aGlzLDAsbik7YnJlYWs7Y2FzZSJjb2xvciI6ci5zdHlsZS5maWxsPW58fCIiO2JyZWFrO2Nhc2Uic2l6ZSI6IWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10Ll9zdGF0ZTtyLnNpemUmJihyLiRpY29uSG9sZGVyLnN0eWxlLndpZHRoPXIuJGljb25Ib2xkZXIuc3R5bGUuaGVpZ2h0PSIiLHIuc2l6ZT1yLnNpemVUeXBlPW51bGwpLG4mJiEvXih4c3xzbXxtZHxsZykkLy50ZXN0KHIuc2l6ZSkmJihyLnNpemU9bi50cmltKCksci4kaWNvbkhvbGRlci5zdHlsZS53aWR0aD1yLiRpY29uSG9sZGVyLnN0eWxlLmhlaWdodD1yLnNpemUpfSh0aGlzLDAsbik7YnJlYWs7Y2FzZSJyb3RhdGUiOmUmJnIuY2xhc3NMaXN0LnJlbW92ZSgiYngtcm90YXRlLSIrZSksbiYmci5jbGFzc0xpc3QuYWRkKCJieC1yb3RhdGUtIituKTticmVhaztjYXNlImZsaXAiOmUmJnIuY2xhc3NMaXN0LnJlbW92ZSgiYngtZmxpcC0iK2UpLG4mJnIuY2xhc3NMaXN0LmFkZCgiYngtZmxpcC0iK24pO2JyZWFrO2Nhc2UiYW5pbWF0aW9uIjplJiZyLmNsYXNzTGlzdC5yZW1vdmUoImJ4LSIrZSksbiYmci5jbGFzc0xpc3QuYWRkKCJieC0iK24pfX19LHtrZXk6ImNvbm5lY3RlZENhbGxiYWNrIix2YWx1ZTpmdW5jdGlvbigpe2goKSYmcC5TaGFkeUNTUy5zdHlsZUVsZW1lbnQodGhpcyl9fV0pLGV9KCkpO2UuZGVmYXVsdD1nLGcuZGVmaW5lKCl9XSl9LCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGUpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLkJveEljb25FbGVtZW50PWUoKTp0LkJveEljb25FbGVtZW50PWUoKX0pKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Ym94aWNvbnMuanMubWFw"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.753Z","timestamp":1785139583753,"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-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 08:06:23 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: 18c0a4d3ba22ade5ebbbac7119922020\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-08-12T17:53:53.021164Z","times_seen":17858794,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.757Z","timestamp":1785139583757,"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-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 08:06:23 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: 2707e56c013c7bdf9458e24120bd88b7\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-08-12T05:10:43.225981Z","times_seen":345,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.782Z","timestamp":1785139583782,"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-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 08:06:23 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: c4db54b15537b9fba780b763cbd155da\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-08-12T09:31:48.606507Z","times_seen":771,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.801Z","timestamp":1785139583801,"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-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 08:06:23 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: 26edba4d473b6f6f88c5d06f4befff35\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":1088,"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-08-12T17:58:50.27282Z","times_seen":3021,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.299Z","timestamp":1785139584299,"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-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 08:06:24 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: 6ef833e7dbd887d6d72b4a67717fd04f\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-08-12T17:58:50.221754Z","times_seen":513,"resource_available":false,"data":"Lnh4eHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjB9Lnh4c21hbGwtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6MX0ueHNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjJ9LnNtYWxsLUFmZDZ0NFpqey0tdWktbGliLXByaXZhdGUtY291bnRlci1zaXplOjN9Lm1lZGl1bS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo0fS5sYXJnZS1BZmQ2dDRaanstLXVpLWxpYi1wcml2YXRlLWNvdW50ZXItc2l6ZTo1fS54bGFyZ2UtQWZkNnQ0Wmp7LS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemU6Nn0uY291bnRlci1BZmQ2dDRaanthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b207LS11aS1saWItc2l6ZS1kZWY6dmFyKC0tdWktbGliLWluLWNvdW50ZXItc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1jb3VudGVyLXNpemUsNCkpOy0tdWktbGliLXNpemUtZGVmLXh4eHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDApICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAwKSkpOy0tdWktbGliLXNpemUtZGVmLXh4c21hbGw6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDEpKSk7LS11aS1saWItc2l6ZS1kZWYteHNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDIpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAyKSkpOy0tdWktbGliLXNpemUtZGVmLXNtYWxsOmNhbGMobWF4KDAsIDEgLSAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDMpICogKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSkpOy0tdWktbGliLXNpemUtZGVmLW1lZGl1bTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA0KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkpKTstLXVpLWxpYi1zaXplLWRlZi1sYXJnZTpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSA1KSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkpKTstLXVpLWxpYi1zaXplLWRlZi14bGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNikgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDYpKSk7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjdweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqOXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqMTJweCk7Zm9udC1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTJweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjEycHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxNHB4KTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjUwMCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNDAwICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo0MDAgKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo1MDApO2hlaWdodDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjEwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSoxNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMThweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqMjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjI0cHgpO2xpbmUtaGVpZ2h0OmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoxOHB4KTttaW4td2lkdGg6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSoxMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhzbWFsbCkqMTRweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqMTZweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjE4cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjIwcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSoyNHB4KTtwYWRkaW5nLWlubGluZS1lbmQ6Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozLjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqNHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqNnB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSo1cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSo3LjVweCk7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS11aS1saWItc2l6ZS1kZWYteHh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHNtYWxsKSowcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteHNtYWxsKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtc21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1tZWRpdW0pKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXhsYXJnZSkqM3B4KTtwYWRkaW5nLWlubGluZS1zdGFydDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjMuNXB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSo0cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbWVkaXVtKSo2cHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYtbGFyZ2UpKjVweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14bGFyZ2UpKjcuNXB4KTtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXVpLWxpYi1zaXplLWRlZi14eHhzbWFsbCkqMHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLXh4c21hbGwpKjBweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi14c21hbGwpKjNweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1zbWFsbCkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqM3B4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLWxhcmdlKSozcHggKyB2YXIoLS11aS1saWItc2l6ZS1kZWYteGxhcmdlKSozcHgpfS5jb2xvci1kYW5nZXItQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtZGFuZ2VyKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtZGFuZ2VyKX0uY29sb3ItYWNjZW50LUFmZDZ0NFpqe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItY291bnRlci1maWxsLWFjY2VudCk7Y29sb3I6dmFyKC0tY29sb3ItY291bnRlci1jb250ZW50LWFjY2VudCl9LmNvbG9yLWFjY2VudC1saWdodC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1hY2NlbnQtbGlnaHQpO2NvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItY29udGVudC1hY2NlbnQtbGlnaHQpfS5jb2xvci1uZXV0cmFsLWJvbGQtQWZkNnQ0Wmp7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWZpbGwtbmV1dHJhbC1ib2xkKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbC1ib2xkKX0uY29sb3ItbmV1dHJhbC1BZmQ2dDRaantiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLWNvdW50ZXItZmlsbC1uZXV0cmFsKTtjb2xvcjp2YXIoLS1jb2xvci1jb3VudGVyLWNvbnRlbnQtbmV1dHJhbCl9LmJvcmRlckNvbG9yLXByaW1hcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1wcmltYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci1wcmltYXJ5KTtvdXRsaW5lOnZhcigtLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXByaW1hcnkpfS5ib3JkZXJDb2xvci1zZWNvbmRhcnktQWZkNnQ0Wmp7LS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnk6c29saWQgMnB4IHZhcigtLWNvbG9yLWNvdW50ZXItYm9yZGVyLXNlY29uZGFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS1zZWNvbmRhcnkpfS5ib3JkZXJDb2xvci10ZXJ0aWFyeS1BZmQ2dDRaanstLXVpLWxpYi1jb3VudGVyLWJvcmRlci1vdXRsaW5lLXRlcnRpYXJ5OnNvbGlkIDJweCB2YXIoLS1jb2xvci1jb3VudGVyLWJvcmRlci10ZXJ0aWFyeSk7b3V0bGluZTp2YXIoLS11aS1saWItY291bnRlci1ib3JkZXItb3V0bGluZS10ZXJ0aWFyeSl9LmRpc2FibGVkLUFmZDZ0NFpqe29wYWNpdHk6LjV9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.953Z","timestamp":1785139583953,"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-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 08:06:23 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: d7ae41a7e99c5db4254eaaae413f4b11\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-28T06:17:53.597172Z","times_seen":248,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.015Z","timestamp":1785139584015,"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-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 08:06:24 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: 0c7e993187f5e66b8b7be1d5b965c111\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-28T06:17:53.588069Z","times_seen":101,"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.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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.774Z","timestamp":1785139583774,"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-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 08:06:23 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: 9a6a4454e845d0fa9405e4e91ba4cb5d\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-30T02:52:23.311161Z","times_seen":674,"resource_available":false,"data":"W2RhdGEtdGhlbWU9ZGFya10sW2RhdGEtdGhlbWU9bGlnaHRdey0tXzAtYldRMjp2YXIoLS1jb2xvci10di1ibHVlLTUwMCk7LS1fMS1iV1EyOiMwMDAwfS5jb250YWluZXItekxWbTZCNHR7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtiYWNrZ3JvdW5kOnZhcigtLV8wLWJXUTIpO2JvcmRlci1yYWRpdXM6NHB4O2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvO3BhZGRpbmc6OHB4fS5jb250ZW50LXpMVm02QjR0e3BhZGRpbmc6NHB4IDhweH0uYXJyb3dIb2xkZXItekxWbTZCNHR7cG9zaXRpb246YWJzb2x1dGV9LmFycm93SG9sZGVyLXpMVm02QjR0OmFmdGVye2JvcmRlcjowIHNvbGlkO2JvcmRlci1jb2xvcjp2YXIoLS1fMC1iV1EyKTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjB9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlciwuYXJyb3dIb2xkZXItLWJlbG93LXpMVm02QjR0OmFmdGVye2JvcmRlci1sZWZ0OjZweCBzb2xpZDtib3JkZXItbGVmdC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtib3JkZXItcmlnaHQ6NnB4IHNvbGlkO2JvcmRlci1yaWdodC1jb2xvcjp2YXIoLS1fMS1iV1EyKTtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNnB4fS5hcnJvd0hvbGRlci0tYmVsb3ctekxWbTZCNHQ6YWZ0ZXJ7Ym9yZGVyLWJvdHRvbS13aWR0aDo0cHg7Ym90dG9tOjEwMCV9LmFycm93SG9sZGVyLS1hYm92ZS16TFZtNkI0dDphZnRlcntib3JkZXItdG9wLXdpZHRoOjRweDt0b3A6MTAwJX0uYXJyb3dIb2xkZXItLWFmdGVyLXpMVm02QjR0OmFmdGVyLC5hcnJvd0hvbGRlci0tYmVmb3JlLXpMVm02QjR0OmFmdGVye2JvcmRlci1ib3R0b206NnB4IHNvbGlkO2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tXzEtYldRMik7Ym9yZGVyLXRvcDo2cHggc29saWQ7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS1fMS1iV1EyKTttYXJnaW4tdG9wOi02cHg7dG9wOjUwJX0uYXJyb3dIb2xkZXItLWJlZm9yZS16TFZtNkI0dDphZnRlcntib3JkZXItcmlnaHQtd2lkdGg6NHB4O3JpZ2h0OjEwMCV9LmFycm93SG9sZGVyLS1hZnRlci16TFZtNkI0dDphZnRlcntib3JkZXItbGVmdC13aWR0aDo0cHg7bGVmdDoxMDAlfS5hcnJvd0hvbGRlci0tYWJvdmUtZml4LXpMVm02QjR0e2JvdHRvbTowfS5hcnJvd0hvbGRlci0tYmVmb3JlLXJ0bC1maXgtekxWbTZCNHQ6ZGlyKHJ0bCl7bGVmdDowfS5hcnJvd0hvbGRlci0tYWZ0ZXItbHRyLWZpeC16TFZtNkI0dHtyaWdodDowfS5sYWJlbC16TFZtNkI0dHtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bzttYXJnaW4taW5saW5lLWVuZDoyNHB4fS5jbG9zZUJ1dHRvbi16TFZtNkI0dHtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9"}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.114Z","timestamp":1785139584114,"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-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 08:06:24 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: 4593ee180a31e000314947fca420b8fc\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-28T06:17:53.455046Z","times_seen":81,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.300Z","timestamp":1785139584300,"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-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 08:06:24 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: 34259f25b19aa0ef5e542b8a1e9fbb54\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-08-12T05:10:43.247235Z","times_seen":140,"resource_available":false,"data":"LmRpc2FibGVTZWxmUG9zaXRpb25pbmctTHJacDRST0N7bWFyZ2luOjA7cG9zaXRpb246c3RhdGljfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.396Z","timestamp":1785139584396,"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-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 08:06:24 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: eb5c6f24bd48665260982e14e5aa2539\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-08-12T05:10:43.290742Z","times_seen":258,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.396Z","timestamp":1785139584396,"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-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 08:06:24 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: 8459a7b51a01cb64c1c5fb7e1d968f9d\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-28T04:48:50.546897Z","times_seen":91,"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":"unpkg.com/boxicons@2.1.4/svg/logos/bxl-telegram.svg","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.412Z","timestamp":1785139582412,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /boxicons@2.1.4/svg/logos/bxl-telegram.svg HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://nanoquantumstellarsledger.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\ncontent-type: image/svg+xml\r\ncf-ray: a21a24f61e5156ba-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 10651\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 08:06:22 GMT\r\nlast-modified: Mon, 27 Jul 2026 05:08:51 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:Hp0vgHtkeuLGTk2igNNvVXeTY9A0oqp0BOrT6V0/78Q=:\r\nfly-request-id: 01KY2KAAMWHW3RNCDTT2DCSPRP-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}],"data":{"size":371,"size_decoded":1128,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"555c8c51286aff56a586f6e5479968ae","sha1":"a563c7fd7215461638bc04113d70392eb8fd7f5a","sha256":"1e9d2f807b647ae2c64e4da280d36f55779363d034a2aa7404ead3e95d3fefc4","sha512":"9b957a134c4c878b13f8e6ed44e31330e4104a28e5151b2ccd3a1ee27ebee87410df32d638fa6d9bdde0bac83d9f79724c6686ef207daf9805f9815277dbf063","ssdeep":"","tlshash":"2ae068c98b88f7ac4acb89a8792a7e84123d207883f3864fa08923404545cd9f065c68","first_seen":"2025-11-23T04:10:47.867088Z","last_seen":"2026-07-27T09:11:27.321017Z","times_seen":7,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJtMjAuNjY1IDMuNzE3LTE3LjczIDYuODM3Yy0xLjIxLjQ4Ni0xLjIwMyAxLjE2MS0uMjIyIDEuNDYybDQuNTUyIDEuNDIgMTAuNTMyLTYuNjQ1Yy40OTgtLjMwMy45NTMtLjE0LjU3OS4xOTJsLTguNTMzIDcuNzAxaC0uMDAybC4wMDIuMDAxLS4zMTQgNC42OTJjLjQ2IDAgLjY2My0uMjExLjkyMS0uNDZsMi4yMTEtMi4xNSA0LjU5OSAzLjM5N2MuODQ4LjQ2NyAxLjQ1Ny4yMjcgMS42NjgtLjc4NWwzLjAxOS0xNC4yMjhjLjMwOS0xLjIzOS0uNDczLTEuOC0xLjI4Mi0xLjQzNHoiLz48L3N2Zz4="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.792Z","timestamp":1785139583792,"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-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 08:06:23 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: 38a8fc366a5b9dda892a6e6fa12b2bb6\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-08-12T05:10:43.075933Z","times_seen":395,"resource_available":false,"data":"LmRlZmF1bHQtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LW5ldXRyYWwtc2VtaS1ib2xkKX0uZGFuZ2VyLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktZGFuZ2VyKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LWRhbmdlci1ib2xkKX0ud2FybmluZy1HWkx5a05RUHstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3I6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmcpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1ob3Zlcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktd2FybmluZy1zZW1pLWJvbGQpOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXdhcm5pbmctYm9sZCl9LnN1Y2Nlc3MtR1pMeWtOUVB7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1wcmltYXJ5LXN1Y2Nlc3Mtc2VtaS1ib2xkKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1zdWNjZXNzLWJvbGQpfS5uZXV0cmFsLUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXNlY29uZGFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXI6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1tZWRpdW0pOy0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmU6dmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktbmV1dHJhbC1zZW1pLWJvbGQpfS5uZXV0cmFsLWxpZ2h0LUdaTHlrTlFQey0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcjp2YXIoLS1jb2xvci1jb250ZW50LXByaW1hcnktbmV1dHJhbC1leHRyYS1saWdodCk7LS11aS1saWItaWNvbi1xaS1kZWZhdWx0LWNvbG9yLWhvdmVyOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsKTstLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItYWN0aXZlOnZhcigtLWNvbG9yLWNvbnRlbnQtcHJpbWFyeS1uZXV0cmFsLXNlbWktYm9sZCl9LnNtYWxsLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTozfS5tZWRpdW0tR1pMeWtOUVB7LS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplOjR9LmxhcmdlLUdaTHlrTlFQey0tdWktbGliLXByaXZhdGUtaWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZTo1fS5pY29uV3JhcHBlci1HWkx5a05RUHstLXVpLWxpYi1zaXplLWRlZjp2YXIoLS11aS1saWItaW4taWNvblF1ZXN0aW9uSW5mb3JtYXRpb24tc2l6ZSx2YXIoLS11aS1saWItcHJpdmF0ZS1pY29uUXVlc3Rpb25JbmZvcm1hdGlvbi1zaXplLDMpKTstLXVpLWxpYi1zaXplLWRlZi1zbWFsbDpjYWxjKG1heCgwLCAxIC0gKHZhcigtLXVpLWxpYi1zaXplLWRlZikgLSAzKSAqICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gMykpKTstLXVpLWxpYi1zaXplLWRlZi1tZWRpdW06Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNCkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDQpKSk7LS11aS1saWItc2l6ZS1kZWYtbGFyZ2U6Y2FsYyhtYXgoMCwgMSAtICh2YXIoLS11aS1saWItc2l6ZS1kZWYpIC0gNSkgKiAodmFyKC0tdWktbGliLXNpemUtZGVmKSAtIDUpKSk7YmFja2dyb3VuZDojMDAwMDtib3JkZXI6MDtib3gtc2hhZG93Om5vbmU7Y29sb3I6dmFyKC0tdWktbGliLWljb24tcWktY29sb3IsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvcikpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplOmNhbGModmFyKC0tdWktbGliLXNpemUtZGVmLXNtYWxsKSoxOHB4ICsgdmFyKC0tdWktbGliLXNpemUtZGVmLW1lZGl1bSkqMjhweCArIHZhcigtLXVpLWxpYi1zaXplLWRlZi1sYXJnZSkqNDRweCk7aGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO2xpbmUtaGVpZ2h0OnZhcigtLXVpLWxpYi1pY29uLXF1ZXN0aW9uLWluZm9ybWF0aW9uLXNpemUpO21pbi13aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDp2YXIoLS11aS1saWItaWNvbi1xdWVzdGlvbi1pbmZvcm1hdGlvbi1zaXplKX0uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXN7b3V0bGluZTpub25lfS5pY29uV3JhcHBlci1HWkx5a05RUDpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uaWNvbldyYXBwZXItR1pMeWtOUVA6YWZ0ZXJ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbnRlbnQ6IiI7ZGlzcGxheTpub25lO2hlaWdodDpjYWxjKDEwMCUgKyA4cHgpO2luc2V0LWlubGluZS1zdGFydDotNHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlICsgOHB4KTt6LWluZGV4OjF9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzOmFmdGVye2Rpc3BsYXk6YmxvY2t9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uaWNvbldyYXBwZXItR1pMeWtOUVA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKTphZnRlcntkaXNwbGF5Om5vbmV9Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFmdGVye2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1mb2N1cy1vdXRsaW5lLWNvbG9yLWJsdWUpO2JvcmRlci1yYWRpdXM6Y2FsYyg1MCUgKyA0cHgpfS5pY29uV3JhcHBlci1HWkx5a05RUDp2aXNpdGVke2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3IpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7Lmljb25XcmFwcGVyLUdaTHlrTlFQOmhvdmVye2NvbG9yOnZhcigtLXVpLWxpYi1pY29uLXFpLWNvbG9yLWhvdmVyLHZhcigtLXVpLWxpYi1pY29uLXFpLWRlZmF1bHQtY29sb3ItaG92ZXIpKX19Lmljb25XcmFwcGVyLUdaTHlrTlFQOmFjdGl2ZXtjb2xvcjp2YXIoLS11aS1saWItaWNvbi1xaS1jb2xvci1hY3RpdmUsdmFyKC0tdWktbGliLWljb24tcWktZGVmYXVsdC1jb2xvci1hY3RpdmUpKX0uaWNvbi1HWkx5a05RUHtwb2ludGVyLWV2ZW50czpub25lfS5pY29uLUdaTHlrTlFQIHN2Z3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.312Z","timestamp":1785139584312,"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-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 08:06:24 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: e15d74ab85a90c2fd4c112a62091b7ad\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-08-12T17:58:50.193812Z","times_seen":489,"resource_available":false,"data":"LmhpZGRlbi1uTXR4WFRYX3tvcGFjaXR5OjB9LmZhZGVJbldyYXBwZXItbk10eFhUWF97d2lkdGg6MTAwJX0uZmFkZUluV3JhcHBlci1uTXR4WFRYXy5pc0FuaW1hdGVkLW5NdHhYVFhfe3RyYW5zaXRpb246b3BhY2l0eSB2YXIoLS11aS1saWItZmFkZUluV3JhcHBlci10cmFuc2l0aW9uLWR1cmF0aW9uLC4zNXMpfQ=="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.314Z","timestamp":1785139584314,"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-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 08:06:24 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: 9e5c16c3438fbe4cf394f92313dc2582\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-08-12T05:10:43.141792Z","times_seen":317,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.346Z","timestamp":1785139584346,"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-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 08:06:24 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: 37092e62cd9c762095b6f1ffbd391cbd\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-08-12T05:10:43.062817Z","times_seen":135,"resource_available":false,"data":"LndyYXAtUG9YYWNEcFh7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWlubGluZS1lbmQ6MnB4O3dpZHRoOjI4cHh9"}},"time_used":8,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/method-assign.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.009Z","timestamp":1785139582009,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/method-assign.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 256\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":507,"size_decoded":492,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"cba588a6047c2e00833892d355ce1271","sha1":"32ef91981406a8283a1cefd22616ff25ab1784d4","sha256":"a19c00f27bcbeeba051b39f97af28ce3cdbd2b5b0ec31a2b9644f3c19ee91a0c","sha512":"de3075b2cecf33555bf4e4c4a2a83eaa411b2edd6490d006f8d8f5063ec4d48c915b5d973291bc429cb719e4951a3a784235bdc1b213f4a6accd44b22cccf81a","ssdeep":"","tlshash":"86f09e89e75c80e512263051246676cce02ec1f39c9ab5afdca0e39024f192e9a8fb31","first_seen":"2025-08-04T00:21:48.362399Z","last_seen":"2026-07-27T09:11:27.36808Z","times_seen":13,"resource_available":true,"data":"aWYgKHR5cGVvZiBPYmplY3QuYXNzaWduICE9ICdmdW5jdGlvbicpIHsKCU9iamVjdC5hc3NpZ24gPSBmdW5jdGlvbih0YXJnZXQpIHsKCQkndXNlIHN0cmljdCc7CgkJaWYgKHRhcmdldCA9PSBudWxsKSB7CgkJCXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IHVuZGVmaW5lZCBvciBudWxsIHRvIG9iamVjdCcpOwoJCX0KCgkJdGFyZ2V0ID0gT2JqZWN0KHRhcmdldCk7CgkJZm9yICh2YXIgaW5kZXggPSAxOyBpbmRleCA8IGFyZ3VtZW50cy5sZW5ndGg7IGluZGV4KyspIHsKCQkJdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpbmRleF07CgkJCWlmIChzb3VyY2UgIT0gbnVsbCkgewoJCQkJZm9yICh2YXIga2V5IGluIHNvdXJjZSkgewoJCQkJCWlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7CgkJCQkJCXRhcmdldFtrZXldID0gc291cmNlW2tleV07CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJCXJldHVybiB0YXJnZXQ7Cgl9Owp9"}},"time_used":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.337Z","timestamp":1785139584337,"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-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 08:06:24 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: 8a7dbbc4a5e5deba76a935a1e7d0b1d8\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-08-12T05:10:43.110107Z","times_seen":178,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.798Z","timestamp":1785139582798,"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-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 08:06:22 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: ac2b2dae41d030a2a52b7a38e672b6e0\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-08-05T06:08:55.529524Z","times_seen":860,"resource_available":false,"data":"Ym9keXtvdmVyZmxvdy15OnNjcm9sbH0udHYtbGF5b3V0LXdpZHRoe2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXJnaW46MCBhdXRvO3BhZGRpbmc6MCAyMHB4O3dpZHRoOjEwMjBweH0udHYtbGF5b3V0LXdpZHRoLS1uby1wYWRkaW5ne3BhZGRpbmc6MDt3aWR0aDo5ODBweH0udHYtbGF5b3V0LXdpZHRoLS1zaW1wbGV7cGFkZGluZzowfS50di1kaWFsb2cgLnR2LWxheW91dC13aWR0aHttYXgtd2lkdGg6MTAwJX0uY2hhcnQtcGFnZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6MTAxOXB4KXsudHYtbGF5b3V0LXdpZHRoe3dpZHRoOmF1dG99LnR2LWxheW91dC13aWR0aCAudHYtZmVlZHttYXJnaW4taW5saW5lLWVuZDotMjBweDttYXJnaW4taW5saW5lLXN0YXJ0Oi0yMHB4fS50di1sYXlvdXQtd2lkdGggLnR2LWZlZWQtLXRhYmxldC10b3AtaW5kZW50e21hcmdpbi10b3A6NDhweH19LnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dCxib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0e3dpZHRoOmF1dG87LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKjIwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KTstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGg6MjM2MHB4O2JveC1zaXppbmc6aW5pdGlhbDtwYWRkaW5nLWlubGluZS1lbmQ6dmFyKC0tYWRhcHRpdmUtbWYtY29udGFpbmVyLXBhZGRpbmcpO3BhZGRpbmctaW5saW5lLXN0YXJ0OnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nKX1AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMzJweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxNDQwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqNDBweCArIHZhcigtLXNpZGUtZ2FwLW1vZGUtZml4ZWQsIDApKjIwcHgpfX1AbWVkaWEgKG1pbi13aWR0aDoxOTIwcHgpey50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXQsYm9keS5wYWdlLXdpZGUgLnR2LWxheW91dC13aWR0aC5mdWxsLXdpZHRoLWxheW91dHstLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1wYWRkaW5nOmNhbGModmFyKC0tc2lkZS1nYXAtbW9kZS1hZGFwdGl2ZSwgMSkqMTAwcHggKyB2YXIoLS1zaWRlLWdhcC1tb2RlLWZpeGVkLCAwKSoyMHB4KX19QG1lZGlhIChtaW4td2lkdGg6MjU2MHB4KXsudHYtbGF5b3V0LXdpZHRoLmZ1bGwtd2lkdGgtbGF5b3V0LGJvZHkucGFnZS13aWRlIC50di1sYXlvdXQtd2lkdGguZnVsbC13aWR0aC1sYXlvdXR7LS1hZGFwdGl2ZS1tZi1jb250YWluZXItcGFkZGluZzpjYWxjKHZhcigtLXNpZGUtZ2FwLW1vZGUtYWRhcHRpdmUsIDEpKigxMDB2dyAtIHZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpKS8yICsgdmFyKC0tc2lkZS1nYXAtbW9kZS1maXhlZCwgMCkqMjBweCk7bWFyZ2luLWlubGluZS1lbmQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG87bWF4LXdpZHRoOnZhcigtLWFkYXB0aXZlLW1mLWNvbnRhaW5lci1tYXgtd2lkdGgpfX0uZmlsdGVyLWlkZWFzLWJ1dHRvbi13aXRoLXBhZGRpbmd7cGFkZGluZy1pbmxpbmU6NXB4fS50di1sYXlvdXQtcGFkZGluZ3twYWRkaW5nOjAgMjBweH1ib2R5LnBhZ2Utd2lkZSAudHYtbGF5b3V0LXdpZHRoe3dpZHRoOjE1MjBweH0udHYtbWFpbixib2R5LnBhZ2UtZnVsbHdpZHRoIC50di1sYXlvdXQtd2lkdGh7d2lkdGg6MTAwJX0udHYtbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi1oZWlnaHQ6MTAwJX0uY2xlYXJ7Y2xlYXI6Ym90aH0uY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udHYtcmlnaHR7ZmxvYXQ6aW5saW5lLWVuZCFpbXBvcnRhbnR9LnR2LWxlZnR7ZmxvYXQ6aW5saW5lLXN0YXJ0IWltcG9ydGFudH0udHYtY29udGVudHtmbGV4OjEgMCBhdXRvfS50di1jb250ZW50X19jb250ZW50LWJsb2Nre3BhZGRpbmc6NzBweCAwfS50di1mZWVke21hcmdpbjo0OHB4IC0xMHB4O21pbi1oZWlnaHQ6NTAwcHh9LnR2LWZlZWQ6YWZ0ZXJ7Y2xlYXI6Ym90aDtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGV9LnR2LWZlZWQtLW5vLW1pbi1oZWlnaHR7bWluLWhlaWdodDphdXRvfS50di1mZWVkLS1uby1oaW5kZW50e21hcmdpbi1pbmxpbmUtZW5kOjA7bWFyZ2luLWlubGluZS1zdGFydDowfUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWR7bWFyZ2luOjAgMCA0OHB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnR2LWZlZWR7bWFyZ2luOjB9fS50di1mZWVkLS1uby12ZXJ0aWNhbC1tYXJnaW57bWFyZ2luLWJvdHRvbTowO21hcmdpbi10b3A6MH0udHYtZmVlZF9fZW1wdHl7Y2xlYXI6Ym90aDtjb2xvcjp2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MjBweDtwYWRkaW5nOjEwMHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnR2LWZlZWRfX2l0ZW17Zm9udC1zaXplOjEzcHg7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MCAxMHB4O3dpZHRoOjQ4MHB4fS50di1mZWVkX19pdGVtLS13aWR0aF90d28tY29sdW1uc3t3aWR0aDo5ODBweH0udHYtZmVlZF9faXRlbS0td2lkdGhfZnVsbHtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbS0td2lkdGhfaGFsZntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZmxvYXQ6aW5saW5lLXN0YXJ0O3dpZHRoOjUwJX1AbWVkaWEgKG1heC13aWR0aDoxMDE5cHgpey50di1mZWVkX19pdGVte21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjA7d2lkdGg6MTAwJX0udHYtZmVlZF9faXRlbTpsYXN0LW9mLXR5cGV7Ym9yZGVyLWJvdHRvbTpub25lfX0udHYtZmVlZF9fc2VjdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjEwMTlweCl7LnR2LWZlZWRfX3NlY3Rpb24tdGl0bGV7YWxpZ24taXRlbXM6YmFzZWxpbmU7bWFyZ2luLWlubGluZS1zdGFydDoxMnB4fX1bZGF0YS10aGVtZT1saWdodF17LS1fMC1oN0RNOiNkOWRhZGJ9W2RhdGEtdGhlbWU9ZGFya117LS1fMC1oN0RNOnZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApfWJvZHksaHRtbHtiYWNrZ3JvdW5kOm5vbmU7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjI0MHB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfWJvZHl7Ym9yZGVyOjFweCBzb2xpZDtib3JkZXItY29sb3I6dmFyKC0tXzAtaDdETSk7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94fQ=="}},"time_used":36,"timings":{"blocked":33,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.913Z","timestamp":1785139583913,"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-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 08:06:23 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: 6e4b4f03c5e187ac9cde2a1c30682de4\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":920,"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-08-12T17:58:50.236092Z","times_seen":1372,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.971Z","timestamp":1785139583971,"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-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 08:06:23 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: 2e2aecdc16b5efade88304ed10b1465d\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-28T06:17:53.47016Z","times_seen":229,"resource_available":false,"data":"LndyYXBwZXItcTU0VHd5Q097YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1iYWNrZ3JvdW5kLHZhcigtLWNvbG9yLXBvcHVwLWJhY2tncm91bmQpKTtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0KSk7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLWJsb2NrOjZweCAycHg7cGFkZGluZy1pbmxpbmU6MTJweCAxMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ud3JhcHBlci1xNTRUd3lDTy5ob3ZlcmVkLXE1NFR3eUNPLC53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtjb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC10ZXh0LWhvdmVyKSl9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey53cmFwcGVyLXE1NFR3eUNPOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtdGV4dC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LXRleHQtaG92ZXIpKX19LndyYXBwZXItcTU0VHd5Q08uaG92ZXJlZC1xNTRUd3lDT3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIpKX1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LndyYXBwZXItcTU0VHd5Q086aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1wb3B1cC1lbGVtZW50LWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItcG9wdXAtZWxlbWVudC1iYWNrZ3JvdW5kLWhvdmVyKSl9fS53cmFwcGVyLXE1NFR3eUNPOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXBvcHVwLWVsZW1lbnQtYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbGlnaHQpKX0ud3JhcHBlci1xNTRUd3lDTzpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyMHB4fS53cmFwcGVyLXE1NFR3eUNPIC5zd2l0Y2hXcmFwLXE1NFR3eUNPe2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXh9LndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLmxhYmVsUm93LXE1NFR3eUNPe3BhZGRpbmc6MH0uaWNvbi1xNTRUd3lDTywud3JhcHBlci1xNTRUd3lDTy53aXRoSWNvbi1xNTRUd3lDTyAubGFiZWwtcTU0VHd5Q08sLndyYXBwZXItcTU0VHd5Q08ud2l0aEljb24tcTU0VHd5Q08gLnN3aXRjaFdyYXAtcTU0VHd5Q097YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjhweH0uaWNvbi1xNTRUd3lDT3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmUtZW5kOjZweDt3aWR0aDoyOHB4fS5pY29uLXE1NFR3eUNPIHN2Z3tkaXNwbGF5OmJsb2NrfS5sYWJlbFJvdy1xNTRUd3lDT3tmbGV4OjEgMSBhdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MnB4IDAgNnB4fS5sYWJlbC1xNTRUd3lDT3tmb250LXNpemU6MTRweDttYXJnaW4taW5saW5lLWVuZDoxMnB4O292ZXJmbG93OmhpZGRlbn0ubGFiZWxfZGlzYWJsZWQtcTU0VHd5Q097b3BhY2l0eTouNX0ubGFiZWxIaW50LXE1NFR3eUNPe2NvbG9yOnZhcigtLWNvbG9yLWRlZmF1bHQtZ3JheSk7Y29udGFpbjpjb250ZW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW4tdG9wOjA7bWF4LWhlaWdodDowO29wYWNpdHk6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4yNXMgZWFzZS1pbixtYXJnaW4tdG9wIC4yNXMgZWFzZS1pbixvcGFjaXR5IC4zNXMgbGluZWFyO3doaXRlLXNwYWNlOm5vcm1hbH0ubGFiZWxPbi1xNTRUd3lDTysubGFiZWxIaW50LXE1NFR3eUNPe21hcmdpbi10b3A6NHB4O21heC1oZWlnaHQ6MzRweDtvcGFjaXR5OjE7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4ycyBlYXNlLW91dCxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCxvcGFjaXR5IC4zNXMgbGluZWFyfS5hY2Nlc3NpYmxlLXE1NFR3eUNPe291dGxpbmU6bm9uZTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3Vze291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1cy12aXNpYmxle291dGxpbmU6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29udGVudDoiIjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7aW5zZXQtaW5saW5lLXN0YXJ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6MX0uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czphZnRlcntkaXNwbGF5OmJsb2NrfS5hY2Nlc3NpYmxlLXE1NFR3eUNPOmZvY3VzLXZpc2libGU6YWZ0ZXJ7ZGlzcGxheTpibG9ja30uYWNjZXNzaWJsZS1xNTRUd3lDTzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpOmFmdGVye2Rpc3BsYXk6bm9uZX0uYWNjZXNzaWJsZS1xNTRUd3lDTzphZnRlcntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApO2JvcmRlci1yYWRpdXM6NnB4fQ=="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.995Z","timestamp":1785139583995,"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-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 08:06:23 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: 20418b219501b2edec5450c9fa1eb170\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-28T06:17:53.401143Z","times_seen":228,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.096Z","timestamp":1785139584096,"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-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 08:06:24 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: 6b9bd38d72e9285ff92ff4681f376a69\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-28T06:17:53.460776Z","times_seen":90,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.222Z","timestamp":1785139584222,"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-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 08:06:24 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: ed29946c1ac6885b71ccfc84ee526faf\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-08-12T05:10:43.232991Z","times_seen":219,"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.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://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.405Z","timestamp":1785139582405,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/rosetta\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"rosetta\"\r\nreport-to: {\"group\":\"rosetta\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/rosetta\"}]}\r\ncontent-length: 3967\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:44 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:44 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 09 Apr 2026 01:12:55 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 413738\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-08-12T17:58:50.154658Z","times_seen":20221,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":65,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":16,"receive":0,"ssl":32},"alerts":{"ids":null,"analyzer":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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.796Z","timestamp":1785139583796,"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-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 08:06:23 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: db559b2804358b7a36518778bdde7111\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-08-12T17:58:50.223138Z","times_seen":671,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.415Z","timestamp":1785139584415,"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-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 08:06:24 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: 1448ac79aefba8cf2f28b88017ce1b67\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-28T04:48:50.487518Z","times_seen":59,"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-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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.418Z","timestamp":1785139584418,"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-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 08:06:24 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: c3c2ca4ccba6390d2f22253d56339902\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-28T04:48:50.494068Z","times_seen":59,"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":"nanoquantumstellarsledger.com/frontcss/assets/crum-mega-menu.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.019Z","timestamp":1785139582019,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/crum-mega-menu.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2988\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10026,"size_decoded":3225,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (2535)","md5":"cc524ce972ec239f626bcc5646357783","sha1":"985af94c9ae81e9895ac425c8f8b17ccef8c0a1d","sha256":"58a0ee33a967273302a4baa040abb04a88b7f0b2bc00ba9e4f16ffc1408c3be6","sha512":"c58175f9463784e08000673d0022097a9ca11ffcebd59052325dd31499cf91354cede18e76fdc01086df5c880295c9dfb0842e4a81e8428bddccef0e3c9b3ca4","ssdeep":"192:jYdPCMSPe2vJaiFFCksRDPIb+XN6S+OzVXeigzaOraL:APC6dRq+gS+OYigz/aL","tlshash":"1422b6d8f65d317942f6227e926e63c96a3f0072561a9c32f8b849b01c3895d03e7fe5","first_seen":"2023-07-11T01:47:11Z","last_seen":"2026-07-27T09:11:27.266615Z","times_seen":13,"resource_available":true,"data":"KGZ1bmN0aW9uKCQpewoKCWpRdWVyeS5mbi5jcnVtZWdhbWVudSA9IGZ1bmN0aW9uKG9wdGlvbnMpewoJCXZhciBzZXR0aW5nczsKCQkkLmV4dGVuZCggc2V0dGluZ3MgPSB7CgkJCXNob3dEZWxheTogMTAwLAoJCQloaWRlRGVsYXk6IDEwMCwKCQkJZWZmZWN0OiAiZmFkZSIsCgkJCWFsaWduOiAibGVmdCIsCgkJCXJlc3BvbnNpdmU6IHRydWUsCgkJCWluZGVudENoaWxkcmVuOiB0cnVlLAoJCQlzY3JvbGxhYmxlOiB0cnVlLAoJCQlzY3JvbGxhYmxlTWF4SGVpZ2h0OiA0NjAKCQl9LCBvcHRpb25zKTsKCgkJLy8gdmFyaWFibGVzCgkJdmFyIG1lbnVfY29udGFpbmVyID0gJCh0aGlzKTsKCQl2YXIgbWVudSA9ICQobWVudV9jb250YWluZXIpLmNoaWxkcmVuKCIucHJpbWFyeS1tZW51LW1lbnUiKTsKCQl2YXIgbWVudV9saSA9ICQobWVudSkuZmluZCgibGkiKTsKCQl2YXIgc2hvd0hpZGVCdXR0b247CgkJdmFyIG1vYmlsZVdpZHRoQmFzZSA9IDEwMjM7CgkJdmFyIGJpZ1NjcmVlbkZsYWcgPSAyMDAwOyAvLyBhIG51bWJlciBncmVhdGVyIHRoYW4gIm1vYmlsZVdpZHRoQmFzZSIKCQl2YXIgc21hbGxTY3JlZW5GbGFnID0gMjAwOyAvLyBhIG51bWJlciBsZXNzIHRoYW4gIm1vYmlsZVdpZHRoQmFzZSIKCgkJLy8gc3ViLW1lbnUvbWVnYW1lbnUgaW5kaWNhdG9ycwoJCSQobWVudSkuY2hpbGRyZW4oImxpIikuY2hpbGRyZW4oImEiKS5lYWNoKGZ1bmN0aW9uKCl7CgkJCWlmKCQodGhpcykuc2libGluZ3MoIi5zdWItbWVudSwgLm1lZ2FtZW51IikubGVuZ3RoID4gMCl7CgkJCQkkKHRoaXMpLmFwcGVuZCgiPHNwYW4gY2xhc3M9J2luZGljYXRvcic+IiArIHNldHRpbmdzLmluZGljYXRvckZpcnN0TGV2ZWwgKyAiPC9zcGFuPiIpOwoJCQl9CgkJfSk7CgkJJChtZW51KS5jaGlsZHJlbigibGkiKS5jaGlsZHJlbigiLm1lZ2FtZW51IikuZWFjaChmdW5jdGlvbigpewoJCQkkKHRoaXMpLmZpbmQoJ3VsJykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51Jyk7CgkJfSk7CgkJJChtZW51KS5maW5kKCIuc3ViLW1lbnUiKS5jaGlsZHJlbigibGkiKS5jaGlsZHJlbigiYSIpLmVhY2goZnVuY3Rpb24oKXsKCQkJaWYoJCh0aGlzKS5zaWJsaW5ncygiLnN1Yi1tZW51IikubGVuZ3RoID4gMCl7CgkJCQkkKHRoaXMpLmFwcGVuZCgiPHNwYW4gY2xhc3M9J2luZGljYXRvcic+IiArIHNldHRpbmdzLmluZGljYXRvclNlY29uZExldmVsICsgIjwvc3Bhbj4iKTsKCQkJfQoJCX0pOwoKCQkvLyBzdWItbWVudSBpbmRlbnRhdGlvbiAobW9iaWxlIG1vZGUpCgkJaWYoc2V0dGluZ3MuaW5kZW50Q2hpbGRyZW4pewoJCQkkKG1lbnUpLmFkZENsYXNzKCJwcmltYXJ5LW1lbnUtaW5kZW50ZWQiKTsKCQl9CgoJCS8vIHJlc3BvbnNpdmUgYmVoYXZpb3IKCQlpZihzZXR0aW5ncy5yZXNwb25zaXZlKXsKCQkJJChtZW51X2NvbnRhaW5lcikuYWRkQ2xhc3MoInByaW1hcnktbWVudS1yZXNwb25zaXZlIik7CgkJCXNob3dIaWRlQnV0dG9uID0gJChtZW51X2NvbnRhaW5lcikuY2hpbGRyZW4oIi5zaG93aGlkZSIpOwoJCX0KCgkJLy8gc2Nyb2xsYWJsZSBtZW51CgkJaWYoc2V0dGluZ3Muc2Nyb2xsYWJsZSl7CgkJCWlmKHNldHRpbmdzLnJlc3BvbnNpdmUpewoJCQkJJChtZW51KS5jc3MoIm1heC1oZWlnaHQiLCBzZXR0aW5ncy5zY3JvbGxhYmxlTWF4SGVpZ2h0KS5hZGRDbGFzcygic2Nyb2xsYWJsZSIpLmFwcGVuZCgiPGxpIGNsYXNzPSdzY3JvbGxhYmxlLWZpeCc+PC9saT4iKTsKCQkJfQoJCX0KCgkJLy8gc2hvd3MgYSBzdWItbWVudQoJCWZ1bmN0aW9uIHNob3dEcm9wZG93bihpdGVtKXsKCQkJaWYoc2V0dGluZ3MuYW5pbWF0aW9uID09PSAiZmFkZSIpewoJCQkJJChpdGVtKS5jaGlsZHJlbigiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KHNldHRpbmdzLnNob3dEZWxheSkuZmFkZUluKHNldHRpbmdzLnNob3dTcGVlZCkuYWRkQ2xhc3Moc2V0dGluZ3MuYW5pbWF0aW9uKS5hZGRDbGFzcygnaW4nKTsKCQkJfSBlbHNlIHsKCQkJCSQoaXRlbSkuY2hpbGRyZW4oIi5zdWItbWVudSwgLm1lZ2FtZW51Iikuc3RvcCh0cnVlLCB0cnVlKS5kZWxheShzZXR0aW5ncy5zaG93RGVsYXkpLnNsaWRlRG93bihzZXR0aW5ncy5zaG93U3BlZWQpLmFkZENsYXNzKHNldHRpbmdzLmFuaW1hdGlvbik7CgkJCX0KCgkJfQoKCQkvLyBoaWRlcyBhIHN1Yi1tZW51CgkJZnVuY3Rpb24gaGlkZURyb3Bkb3duKGl0ZW0pewoJCQlpZihzZXR0aW5ncy5hbmltYXRpb24gPT09ICJmYWRlIil7CgkJCQkkKGl0ZW0pLmNoaWxkcmVuKCIuc3ViLW1lbnUsIC5tZWdhbWVudSIpLnN0b3AodHJ1ZSwgdHJ1ZSkuZGVsYXkoc2V0dGluZ3MuaGlkZURlbGF5KS5mYWRlT3V0KHNldHRpbmdzLmhpZGVTcGVlZCkucmVtb3ZlQ2xhc3Moc2V0dGluZ3MuYW5pbWF0aW9uKS5yZW1vdmVDbGFzcygnaW4nKTsKCQkJfSBlbHNlewoJCQkJJChpdGVtKS5jaGlsZHJlbigiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KHNldHRpbmdzLmhpZGVEZWxheSkuZmFkZU91dChzZXR0aW5ncy5oaWRlU3BlZWQpLnJlbW92ZUNsYXNzKHNldHRpbmdzLmFuaW1hdGlvbik7CgkJCX0KCQkJJChpdGVtKS5jaGlsZHJlbigiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KHNldHRpbmdzLmhpZGVEZWxheSkuc2xpZGVVcChzZXR0aW5ncy5oaWRlU3BlZWQpLnJlbW92ZUNsYXNzKHNldHRpbmdzLmFuaW1hdGlvbik7CgoJCX0KCgkJLy8gbGFuZHNjYXBlIG1vZGUKCQlmdW5jdGlvbiBsYW5kc2NhcGVNb2RlKCl7CgkJCSQobWVudSkuZmluZCgiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5oaWRlKDApOwoJCQlpZihuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9Nb2JpL2kpIHx8IHdpbmRvdy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cyA+IDAgfHwgc2V0dGluZ3MudHJpZ2dlciA9PSAiY2xpY2siKXsKCQkJCSQoIi5wcmltYXJ5LW1lbnUtbWVudSA+IGxpID4gYSwgLnByaW1hcnktbWVudS1tZW51IHVsLnN1Yi1tZW51IGxpIGEiKS5iaW5kKCJjbGljayB0b3VjaHN0YXJ0IiwgZnVuY3Rpb24oZSl7CgkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCQkJJCh0aGlzKS5wYXJlbnQoImxpIikuc2libGluZ3MoImxpIikuZmluZCgiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5zdG9wKHRydWUsIHRydWUpLmZhZGVPdXQoMzAwKTsKCQkJCQlpZigkKHRoaXMpLnNpYmxpbmdzKCIuc3ViLW1lbnUsIC5tZWdhbWVudSIpLmNzcygiZGlzcGxheSIpID09ICJibG9jayIpewoJCQkJCQlzaG93RHJvcGRvd24oJCh0aGlzKS5wYXJlbnQoImxpIikpOwoJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJfQoJCQkJCWVsc2V7CgkJCQkJCWhpZGVEcm9wZG93bigkKHRoaXMpLnBhcmVudCgibGkiKSk7CgkJCQkJfQoJCQkJCXdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJCh0aGlzKS5hdHRyKCJocmVmIik7CgkJCQl9KTsKCQkJCSQoZG9jdW1lbnQpLmJpbmQoImNsaWNrLm1lbnUgdG91Y2hzdGFydC5tZW51IiwgZnVuY3Rpb24oZXYpewoJCQkJCWlmKCQoZXYudGFyZ2V0KS5jbG9zZXN0KCIucHJpbWFyeS1tZW51IikubGVuZ3RoID09IDApewoJCQkJCQkkKCIucHJpbWFyeS1tZW51LW1lbnUiKS5maW5kKCIuc3ViLW1lbnUsIC5tZWdhbWVudSIpLmZhZGVPdXQoMzAwKTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCQllbHNlewoJCQkJJChtZW51X2xpKS5iaW5kKCJtb3VzZWVudGVyIiwgZnVuY3Rpb24oKXsKCQkJCQlzaG93RHJvcGRvd24odGhpcyk7CgkJCQl9KS5iaW5kKCJtb3VzZWxlYXZlIiwgZnVuY3Rpb24oKXsKCQkJCQloaWRlRHJvcGRvd24odGhpcyk7CgkJCQl9KTsKCQkJfQoJCX0KCgkJLy8gcG9ydHJhaXQgbW9kZQoJCWZ1bmN0aW9uIHBvcnRyYWl0TW9kZSgpewoJCQkkKG1lbnUpLmZpbmQoIi5zdWItbWVudSwgLm1lZ2FtZW51IikuaGlkZSgwKTsKCQkJJChtZW51KS5maW5kKCIuaW5kaWNhdG9yIikuZWFjaChmdW5jdGlvbigpewoJCQkJaWYoJCh0aGlzKS5wYXJlbnQoImEiKS5zaWJsaW5ncygiLnN1Yi1tZW51LCAubWVnYW1lbnUiKS5sZW5ndGggPiAwKXsKCQkJCQkkKHRoaXMpLmJpbmQoImNsaWNrIiwgZnVuY3Rpb24oZSl7CgkJCQkJCSQobWVudSkuc2Nyb2xsVG8oe3RvcDogNDUsIGxlZnQ6IDB9LCA2MDApOwoJCQkJCQlpZigkKHRoaXMpLnBhcmVudCgpLnByb3AoInRhZ05hbWUiKSA9PSAiQSIpewoJCQkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCQl9CgkJCQkJCWlmKCQodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5zdWItbWVudSwgLm1lZ2FtZW51IikuY3NzKCJkaXNwbGF5IikgPT0gIm5vbmUiKXsKCQkJCQkJCSQodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5zdWItbWVudSwgLm1lZ2FtZW51IikuZGVsYXkoc2V0dGluZ3Muc2hvd0RlbGF5KS5zbGlkZURvd24oc2V0dGluZ3Muc2hvd1NwZWVkKTsKCQkJCQkJCSQodGhpcykucGFyZW50KCJhIikucGFyZW50KCJsaSIpLnNpYmxpbmdzKCJsaSIpLmZpbmQoIi5zdWItbWVudSwgLm1lZ2FtZW51Iikuc2xpZGVVcChzZXR0aW5ncy5oaWRlU3BlZWQpOwoJCQkJCQl9CgkJCQkJCWVsc2V7CgkJCQkJCQkkKHRoaXMpLnBhcmVudCgiYSIpLnNpYmxpbmdzKCIuc3ViLW1lbnUsIC5tZWdhbWVudSIpLnNsaWRlVXAoc2V0dGluZ3MuaGlkZVNwZWVkKTsKCQkJCQkJfQoJCQkJCX0pOwoJCQkJfQoJCQl9KTsKCQl9CgoKCQkvLyBGaXggdGhlIHN1Ym1lbnUgb24gdGhlIHJpZ2h0IHNpZGUKCQlmdW5jdGlvbiBmaXhTdWJtZW51UmlnaHQoKXsKCQkJdmFyIHN1Ym1lbnVzID0gJChtZW51KS5jaGlsZHJlbigibGkiKS5maW5kKCIuc3ViLW1lbnUiKTsKCgkJCWlmKCQod2luZG93KS5pbm5lcldpZHRoKCkgPiBtb2JpbGVXaWR0aEJhc2UpewoJCQkJdmFyIG1lbnVfd2lkdGggPSAkKCJib2R5Iikub3V0ZXJXaWR0aCh0cnVlKTsKCgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgc3VibWVudXMubGVuZ3RoOyBpKyspewoJCQkJCXZhciBzdWJtZW51c1Bvc2l0aW9uID0gJChzdWJtZW51c1tpXSkuY3NzKCJkaXNwbGF5IiwgImJsb2NrIikub2Zmc2V0KCkubGVmdDsKCgkJCQkJaWYoJChzdWJtZW51c1tpXSkub3V0ZXJXaWR0aCgpICsgc3VibWVudXNQb3NpdGlvbiA+IG1lbnVfd2lkdGgpewoJCQkJCQkkKHN1Ym1lbnVzW2ldKS5hZGRDbGFzcygic3ViLW1lbnUtbGVmdCIpOwoJCQkJCX0KCgkJCQkJZWxzZXsKCQkJCQkJaWYobWVudV93aWR0aCA9PSAkKHN1Ym1lbnVzW2ldKS5vdXRlcldpZHRoKCkgfHwgKG1lbnVfd2lkdGggLSAkKHN1Ym1lbnVzW2ldKS5vdXRlcldpZHRoKCkpIDwgMjApewoJCQkJCQkJJChzdWJtZW51c1tpXSkuYWRkQ2xhc3MoInN1Yi1tZW51LWxlZnQiKTsKCQkJCQkJfQoJCQkJCQlpZihzdWJtZW51c1Bvc2l0aW9uICsgJChzdWJtZW51c1tpXSkub3V0ZXJXaWR0aCgpIDwgbWVudV93aWR0aCl7CgkJCQkJCQkkKHN1Ym1lbnVzW2ldKS5hZGRDbGFzcygic3ViLW1lbnUtcmlnaHQiKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQlwb3J0cmFpdE1vZGUoKTsKCQkJfQoJCX0KCgkJLy8gc2hvdyB0aGUgYmFyIHRvIHNob3cvaGlkZSBtZW51IGl0ZW1zIG9uIG1vYmlsZQoJCWZ1bmN0aW9uIHNob3dNb2JpbGVCYXIoKXsKCQkJJChtZW51KS5oaWRlKDApOwoJCQkkKHNob3dIaWRlQnV0dG9uKS5zaG93KDApLmNsaWNrKGZ1bmN0aW9uKCl7CgkJCQlpZigkKG1lbnUpLmNzcygiZGlzcGxheSIpID09ICJub25lIikKCQkJCQkkKG1lbnUpLnNsaWRlRG93bihzZXR0aW5ncy5zaG93U3BlZWQpOwoJCQkJZWxzZQoJCQkJCSQobWVudSkuc2xpZGVVcChzZXR0aW5ncy5oaWRlU3BlZWQpLmZpbmQoIi5zdWItbWVudSwgLm1lZ2FtZW51IikuaGlkZShzZXR0aW5ncy5oaWRlU3BlZWQpOwoJCQl9KTsKCQl9CgoJCS8vIGhpZGUgdGhlIGJhciB0byBzaG93L2hpZGUgbWVudSBpdGVtcyBvbiBtb2JpbGUKCQlmdW5jdGlvbiBoaWRlTW9iaWxlQmFyKCl7CgkJCSQobWVudSkuc2hvdygwKS5jc3MoJ2Rpc3BsYXknLCdpbmxpbmUtYmxvY2snKTsKCQkJJChzaG93SGlkZUJ1dHRvbikuaGlkZSgwKTsKCQl9CgoJCS8vIHVuYmluZCBldmVudHMKCQlmdW5jdGlvbiB1bmJpbmRFdmVudHMoKXsKCQkJJChtZW51X2NvbnRhaW5lcikuZmluZCgibGksIGEiKS51bmJpbmQoKTsKCQkJJChkb2N1bWVudCkudW5iaW5kKCJjbGljay5tZW51IHRvdWNoc3RhcnQubWVudSIpOwoJCX0KCgkJLy8gcmV0dXJuIHdpbmRvdydzIHdpZHRoCgkJZnVuY3Rpb24gd2luZG93V2lkdGgoKXsKCQkJcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoOwoJCX0KCgkJLy8gbmF2aWdhdGlvbiBzdGFydCBmdW5jdGlvbgoJCWZ1bmN0aW9uIHN0YXJ0TWVudSgpewoJCQlpZih3aW5kb3dXaWR0aCgpIDw9IG1vYmlsZVdpZHRoQmFzZSAmJiBiaWdTY3JlZW5GbGFnID4gbW9iaWxlV2lkdGhCYXNlKXsKCQkJCXVuYmluZEV2ZW50cygpOwoJCQkJaWYoc2V0dGluZ3MucmVzcG9uc2l2ZSl7CgkJCQkJc2hvd01vYmlsZUJhcigpOwoJCQkJCXBvcnRyYWl0TW9kZSgpOwoJCQkJfQoJCQkJZWxzZXsKCQkJCQlsYW5kc2NhcGVNb2RlKCk7CgkJCQl9CgkJCX0KCQkJaWYod2luZG93V2lkdGgoKSA+IG1vYmlsZVdpZHRoQmFzZSAmJiBzbWFsbFNjcmVlbkZsYWcgPD0gbW9iaWxlV2lkdGhCYXNlKXsKCQkJCXVuYmluZEV2ZW50cygpOwoJCQkJaGlkZU1vYmlsZUJhcigpOwoJCQkJbGFuZHNjYXBlTW9kZSgpOwoJCQl9CgkJCWJpZ1NjcmVlbkZsYWcgPSB3aW5kb3dXaWR0aCgpOwoJCQlzbWFsbFNjcmVlbkZsYWcgPSB3aW5kb3dXaWR0aCgpOwoJCQkvKiBJRTggZml4ICovCgkJCWlmKC9NU0lFIChcZCtcLlxkKyk7Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmIHdpbmRvd1dpZHRoKCkgPCBtb2JpbGVXaWR0aEJhc2UpewoJCQkJdmFyIGlldmVyc2lvbiA9IG5ldyBOdW1iZXIoUmVnRXhwLiQxKTsKCQkJCWlmKGlldmVyc2lvbiA9PSA4KXsKCQkJCQkkKHNob3dIaWRlQnV0dG9uKS5oaWRlKDApOwoJCQkJCSQobWVudSkuc2hvdygwKS5jc3MoJ2Rpc3BsYXknLCdpbmxpbmUtYmxvY2snKTsKCQkJCQl1bmJpbmRFdmVudHMoKTsKCQkJCQlsYW5kc2NhcGVNb2RlKCk7CgkJCQl9CgkJCX0KCQl9CgoJCSQod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXsKCQkJc3RhcnRNZW51KCk7CgkJfSk7CgoJCSQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CgkJCWZpeFN1Ym1lbnVSaWdodCgpOwoJCQlzdGFydE1lbnUoKTsKCQl9KTsKCgl9Cn0oalF1ZXJ5KSk7CgovKioKICoganF1ZXJ5LnNjcm9sbFRvCiAqIENvcHlyaWdodCAoYykgMjAwNy0yMDE0IEFyaWVsIEZsZXNsZXIgLSBhZmxlc2xlcjxhPmdtYWlsPGQ+Y29tIHwgaHR0cDovL2ZsZXNsZXIuYmxvZ3Nwb3QuY29tCiAqIExpY2Vuc2VkIHVuZGVyIE1JVAogKiBAYXV0aG9yIEFyaWVsIEZsZXNsZXIKICogQHZlcnNpb24gMS40LjEzCiAqLwoKKGZ1bmN0aW9uKGspeyd1c2Ugc3RyaWN0JztrKFsnanF1ZXJ5J10sZnVuY3Rpb24oJCl7dmFyIGo9JC5zY3JvbGxUbz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuICQod2luZG93KS5zY3JvbGxUbyhhLGIsYyl9O2ouZGVmYXVsdHM9e2F4aXM6J3h5JyxkdXJhdGlvbjpwYXJzZUZsb2F0KCQuZm4uanF1ZXJ5KT49MS4zPzA6MSxsaW1pdDohMH07ai53aW5kb3c9ZnVuY3Rpb24oYSl7cmV0dXJuICQod2luZG93KS5fc2Nyb2xsYWJsZSgpfTskLmZuLl9zY3JvbGxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxpc1dpbj0hYS5ub2RlTmFtZXx8JC5pbkFycmF5KGEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxbJ2lmcmFtZScsJyNkb2N1bWVudCcsJ2h0bWwnLCdib2R5J10pIT0tMTtpZighaXNXaW4pcmV0dXJuIGE7dmFyIGI9KGEuY29udGVudFdpbmRvd3x8YSkuZG9jdW1lbnR8fGEub3duZXJEb2N1bWVudHx8YTtyZXR1cm4vd2Via2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KXx8Yi5jb21wYXRNb2RlPT0nQmFja0NvbXBhdCc/Yi5ib2R5OmIuZG9jdW1lbnRFbGVtZW50fSl9OyQuZm4uc2Nyb2xsVG89ZnVuY3Rpb24oZixnLGgpe2lmKHR5cGVvZiBnPT0nb2JqZWN0Jyl7aD1nO2c9MH1pZih0eXBlb2YgaD09J2Z1bmN0aW9uJyloPXtvbkFmdGVyOmh9O2lmKGY9PSdtYXgnKWY9OWU5O2g9JC5leHRlbmQoe30sai5kZWZhdWx0cyxoKTtnPWd8fGguZHVyYXRpb247aC5xdWV1ZT1oLnF1ZXVlJiZoLmF4aXMubGVuZ3RoPjE7aWYoaC5xdWV1ZSlnLz0yO2gub2Zmc2V0PWJvdGgoaC5vZmZzZXQpO2gub3Zlcj1ib3RoKGgub3Zlcik7cmV0dXJuIHRoaXMuX3Njcm9sbGFibGUoKS5lYWNoKGZ1bmN0aW9uKCl7aWYoZj09bnVsbClyZXR1cm47dmFyIGQ9dGhpcywkZWxlbT0kKGQpLHRhcmc9Zix0b2ZmLGF0dHI9e30sd2luPSRlbGVtLmlzKCdodG1sLGJvZHknKTtzd2l0Y2godHlwZW9mIHRhcmcpe2Nhc2UnbnVtYmVyJzpjYXNlJ3N0cmluZyc6aWYoL14oWystXT0/KT9cZCsoXC5cZCspPyhweHwlKT8kLy50ZXN0KHRhcmcpKXt0YXJnPWJvdGgodGFyZyk7YnJlYWt9dGFyZz13aW4/JCh0YXJnKTokKHRhcmcsdGhpcyk7aWYoIXRhcmcubGVuZ3RoKXJldHVybjtjYXNlJ29iamVjdCc6aWYodGFyZy5pc3x8dGFyZy5zdHlsZSl0b2ZmPSh0YXJnPSQodGFyZykpLm9mZnNldCgpfXZhciBlPSQuaXNGdW5jdGlvbihoLm9mZnNldCkmJmgub2Zmc2V0KGQsdGFyZyl8fGgub2Zmc2V0OyQuZWFjaChoLmF4aXMuc3BsaXQoJycpLGZ1bmN0aW9uKGksYSl7dmFyIGI9YT09J3gnPydMZWZ0JzonVG9wJyxwb3M9Yi50b0xvd2VyQ2FzZSgpLGtleT0nc2Nyb2xsJytiLG9sZD1kW2tleV0sbWF4PWoubWF4KGQsYSk7aWYodG9mZil7YXR0cltrZXldPXRvZmZbcG9zXSsod2luPzA6b2xkLSRlbGVtLm9mZnNldCgpW3Bvc10pO2lmKGgubWFyZ2luKXthdHRyW2tleV0tPXBhcnNlSW50KHRhcmcuY3NzKCdtYXJnaW4nK2IpKXx8MDthdHRyW2tleV0tPXBhcnNlSW50KHRhcmcuY3NzKCdib3JkZXInK2IrJ1dpZHRoJykpfHwwfWF0dHJba2V5XSs9ZVtwb3NdfHwwO2lmKGgub3Zlcltwb3NdKWF0dHJba2V5XSs9dGFyZ1thPT0neCc/J3dpZHRoJzonaGVpZ2h0J10oKSpoLm92ZXJbcG9zXX1lbHNle3ZhciBjPXRhcmdbcG9zXTthdHRyW2tleV09Yy5zbGljZSYmYy5zbGljZSgtMSk9PSclJz9wYXJzZUZsb2F0KGMpLzEwMCptYXg6Y31pZihoLmxpbWl0JiYvXlxkKyQvLnRlc3QoYXR0cltrZXldKSlhdHRyW2tleV09YXR0cltrZXldPD0wPzA6TWF0aC5taW4oYXR0cltrZXldLG1heCk7aWYoIWkmJmgucXVldWUpe2lmKG9sZCE9YXR0cltrZXldKWFuaW1hdGUoaC5vbkFmdGVyRmlyc3QpO2RlbGV0ZSBhdHRyW2tleV19fSk7YW5pbWF0ZShoLm9uQWZ0ZXIpO2Z1bmN0aW9uIGFuaW1hdGUoYSl7JGVsZW0uYW5pbWF0ZShhdHRyLGcsaC5lYXNpbmcsYSYmZnVuY3Rpb24oKXthLmNhbGwodGhpcyx0YXJnLGgpfSl9fSkuZW5kKCl9O2oubWF4PWZ1bmN0aW9uKGEsYil7dmFyIGM9Yj09J3gnPydXaWR0aCc6J0hlaWdodCcsc2Nyb2xsPSdzY3JvbGwnK2M7aWYoISQoYSkuaXMoJ2h0bWwsYm9keScpKXJldHVybiBhW3Njcm9sbF0tJChhKVtjLnRvTG93ZXJDYXNlKCldKCk7dmFyIGQ9J2NsaWVudCcrYyxodG1sPWEub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYm9keT1hLm93bmVyRG9jdW1lbnQuYm9keTtyZXR1cm4gTWF0aC5tYXgoaHRtbFtzY3JvbGxdLGJvZHlbc2Nyb2xsXSktTWF0aC5taW4oaHRtbFtkXSxib2R5W2RdKX07ZnVuY3Rpb24gYm90aChhKXtyZXR1cm4gJC5pc0Z1bmN0aW9uKGEpfHx0eXBlb2YgYT09J29iamVjdCc/YTp7dG9wOmEsbGVmdDphfX1yZXR1cm4gan0pfSh0eXBlb2YgZGVmaW5lPT09J2Z1bmN0aW9uJyYmZGVmaW5lLmFtZD9kZWZpbmU6ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgbW9kdWxlIT09J3VuZGVmaW5lZCcmJm1vZHVsZS5leHBvcnRzKXttb2R1bGUuZXhwb3J0cz1iKHJlcXVpcmUoJ2pxdWVyeScpKX1lbHNle2IoalF1ZXJ5KX19KSk7"}},"time_used":97,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":94,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/highstock.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.054Z","timestamp":1785139582054,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/highstock.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 96971\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":283226,"size_decoded":97209,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (644)","md5":"123072f0a8e47d6227faa68c0469b003","sha1":"c2aa666b6d43fdf26165ef8ca139dbb537193083","sha256":"7361ff3d5a348e771580c7a7e876da6d8bbde7305491e461488d7afa92d21ec8","sha512":"d9acb461388b6ced8da7b1003af5008b4f5579d0814ee9af8dd52d41b7efd418b48588e335eb6af0ddf93cbbe0343af3ed3575fd1f3aa41966b437573ee98e9f","ssdeep":"3072:rcQU0j8jpldUJ6YHeEiwpu2u9Q9XvW8Wbg1jkQqvm8SYwTE:PUE8zdUsueRwpu2GovRnnqe+wo","tlshash":"b6543a89f2113617c6b732a9642f020f0237a47aa5898d7c79a9c5f75d2984c327ff39","first_seen":"2025-11-23T04:10:47.814916Z","last_seen":"2026-07-27T09:11:27.331168Z","times_seen":7,"resource_available":true,"data":"LyoKIEhpZ2hzdG9jayBKUyB2Ni4xLjQgKDIwMTgtMDktMjUpCgogKGMpIDIwMDktMjAxNiBUb3JzdGVpbiBIb25zaQoKIExpY2Vuc2U6IHd3dy5oaWdoY2hhcnRzLmNvbS9saWNlbnNlCiovCihmdW5jdGlvbihQLEopeyJvYmplY3QiPT09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9UC5kb2N1bWVudD9KKFApOko6ImZ1bmN0aW9uIj09PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGZ1bmN0aW9uKCl7cmV0dXJuIEooUCl9KTpQLkhpZ2hjaGFydHM9SihQKX0pKCJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihQKXt2YXIgSj1mdW5jdGlvbigpe3ZhciBhPSJ1bmRlZmluZWQiPT09dHlwZW9mIFA/d2luZG93OlAsRT1hLmRvY3VtZW50LEY9YS5uYXZpZ2F0b3ImJmEubmF2aWdhdG9yLnVzZXJBZ2VudHx8IiIsRz1FJiZFLmNyZWF0ZUVsZW1lbnROUyYmISFFLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKS5jcmVhdGVTVkdSZWN0LHE9LyhlZGdlfG1zaWV8dHJpZGVudCkvaS50ZXN0KEYpJiYhYS5vcGVyYSxsPS0xIT09Ri5pbmRleE9mKCJGaXJlZm94IiksCglmPS0xIT09Ri5pbmRleE9mKCJDaHJvbWUiKSx1PWwmJjQ+cGFyc2VJbnQoRi5zcGxpdCgiRmlyZWZveC8iKVsxXSwxMCk7cmV0dXJuIGEuSGlnaGNoYXJ0cz9hLkhpZ2hjaGFydHMuZXJyb3IoMTYsITApOntwcm9kdWN0OiJIaWdoc3RvY2siLHZlcnNpb246IjYuMS40IixkZWcycmFkOjIqTWF0aC5QSS8zNjAsZG9jOkUsaGFzQmlkaUJ1Zzp1LGhhc1RvdWNoOkUmJnZvaWQgMCE9PUUuZG9jdW1lbnRFbGVtZW50Lm9udG91Y2hzdGFydCxpc01TOnEsaXNXZWJLaXQ6LTEhPT1GLmluZGV4T2YoIkFwcGxlV2ViS2l0IiksaXNGaXJlZm94OmwsaXNDaHJvbWU6Zixpc1NhZmFyaTohZiYmLTEhPT1GLmluZGV4T2YoIlNhZmFyaSIpLGlzVG91Y2hEZXZpY2U6LyhNb2JpbGV8QW5kcm9pZHxXaW5kb3dzIFBob25lKS8udGVzdChGKSxTVkdfTlM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixjaGFydENvdW50OjAsc2VyaWVzVHlwZXM6e30sc3ltYm9sU2l6ZXM6e30sc3ZnOkcsd2luOmEsbWFyZ2luTmFtZXM6WyJwbG90VG9wIiwKCQkibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJwbG90TGVmdCJdLG5vb3A6ZnVuY3Rpb24oKXt9LGNoYXJ0czpbXX19KCk7KGZ1bmN0aW9uKGEpe2EudGltZXJzPVtdO3ZhciBFPWEuY2hhcnRzLEY9YS5kb2MsRz1hLndpbjthLmVycm9yPWZ1bmN0aW9uKHEsbCl7cT1hLmlzTnVtYmVyKHEpPyJIaWdoY2hhcnRzIGVycm9yICMiK3ErIjogd3d3LmhpZ2hjaGFydHMuY29tL2Vycm9ycy8iK3E6cTtpZihsKXRocm93IEVycm9yKHEpO0cuY29uc29sZSYmY29uc29sZS5sb2cocSl9O2EuRng9ZnVuY3Rpb24oYSxsLGYpe3RoaXMub3B0aW9ucz1sO3RoaXMuZWxlbT1hO3RoaXMucHJvcD1mfTthLkZ4LnByb3RvdHlwZT17ZFNldHRlcjpmdW5jdGlvbigpe3ZhciBhPXRoaXMucGF0aHNbMF0sbD10aGlzLnBhdGhzWzFdLGY9W10sdT10aGlzLm5vdyxDPWEubGVuZ3RoLHI7aWYoMT09PXUpZj10aGlzLnRvRDtlbHNlIGlmKEM9PT1sLmxlbmd0aCYmMT51KWZvcig7Qy0tOylyPXBhcnNlRmxvYXQoYVtDXSksCgkJZltDXT1pc05hTihyKT9sW0NdOnUqcGFyc2VGbG9hdChsW0NdLXIpK3I7ZWxzZSBmPWw7dGhpcy5lbGVtLmF0dHIoImQiLGYsbnVsbCwhMCl9LHVwZGF0ZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZWxlbSxsPXRoaXMucHJvcCxmPXRoaXMubm93LHU9dGhpcy5vcHRpb25zLnN0ZXA7aWYodGhpc1tsKyJTZXR0ZXIiXSl0aGlzW2wrIlNldHRlciJdKCk7ZWxzZSBhLmF0dHI/YS5lbGVtZW50JiZhLmF0dHIobCxmLG51bGwsITApOmEuc3R5bGVbbF09Zit0aGlzLnVuaXQ7dSYmdS5jYWxsKGEsZix0aGlzKX0scnVuOmZ1bmN0aW9uKHEsbCxmKXt2YXIgdT10aGlzLEM9dS5vcHRpb25zLHI9ZnVuY3Rpb24oYSl7cmV0dXJuIHIuc3RvcHBlZD8hMTp1LnN0ZXAoYSl9LHk9Ry5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGZ1bmN0aW9uKGEpe3NldFRpbWVvdXQoYSwxMyl9LHA9ZnVuY3Rpb24oKXtmb3IodmFyIGQ9MDtkPGEudGltZXJzLmxlbmd0aDtkKyspYS50aW1lcnNbZF0oKXx8YS50aW1lcnMuc3BsaWNlKGQtLSwKCQkxKTthLnRpbWVycy5sZW5ndGgmJnkocCl9O3EhPT1sfHx0aGlzLmVsZW1bImZvcmNlQW5pbWF0ZToiK3RoaXMucHJvcF0/KHRoaXMuc3RhcnRUaW1lPStuZXcgRGF0ZSx0aGlzLnN0YXJ0PXEsdGhpcy5lbmQ9bCx0aGlzLnVuaXQ9Zix0aGlzLm5vdz10aGlzLnN0YXJ0LHRoaXMucG9zPTAsci5lbGVtPXRoaXMuZWxlbSxyLnByb3A9dGhpcy5wcm9wLHIoKSYmMT09PWEudGltZXJzLnB1c2gocikmJnkocCkpOihkZWxldGUgQy5jdXJBbmltW3RoaXMucHJvcF0sQy5jb21wbGV0ZSYmMD09PWEua2V5cyhDLmN1ckFuaW0pLmxlbmd0aCYmQy5jb21wbGV0ZS5jYWxsKHRoaXMuZWxlbSkpfSxzdGVwOmZ1bmN0aW9uKHEpe3ZhciBsPStuZXcgRGF0ZSxmLHU9dGhpcy5vcHRpb25zLEM9dGhpcy5lbGVtLHI9dS5jb21wbGV0ZSx5PXUuZHVyYXRpb24scD11LmN1ckFuaW07Qy5hdHRyJiYhQy5lbGVtZW50P3E9ITE6cXx8bD49eSt0aGlzLnN0YXJ0VGltZT8odGhpcy5ub3c9dGhpcy5lbmQsdGhpcy5wb3M9CgkJMSx0aGlzLnVwZGF0ZSgpLGY9cFt0aGlzLnByb3BdPSEwLGEub2JqZWN0RWFjaChwLGZ1bmN0aW9uKGEpeyEwIT09YSYmKGY9ITEpfSksZiYmciYmci5jYWxsKEMpLHE9ITEpOih0aGlzLnBvcz11LmVhc2luZygobC10aGlzLnN0YXJ0VGltZSkveSksdGhpcy5ub3c9dGhpcy5zdGFydCsodGhpcy5lbmQtdGhpcy5zdGFydCkqdGhpcy5wb3MsdGhpcy51cGRhdGUoKSxxPSEwKTtyZXR1cm4gcX0saW5pdFBhdGg6ZnVuY3Rpb24ocSxsLGYpe2Z1bmN0aW9uIHUoYSl7dmFyIGIsZDtmb3IoYz1hLmxlbmd0aDtjLS07KWI9Ik0iPT09YVtjXXx8IkwiPT09YVtjXSxkPS9bYS16QS1aXS8udGVzdChhW2MrM10pLGImJmQmJmEuc3BsaWNlKGMrMSwwLGFbYysxXSxhW2MrMl0sYVtjKzFdLGFbYysyXSl9ZnVuY3Rpb24gQyhhLGIpe2Zvcig7YS5sZW5ndGg8bTspe2FbMF09YlttLWEubGVuZ3RoXTt2YXIgZD1hLnNsaWNlKDAsZyk7W10uc3BsaWNlLmFwcGx5KGEsWzAsMF0uY29uY2F0KGQpKTt4JiYoZD0KCQlhLnNsaWNlKGEubGVuZ3RoLWcpLFtdLnNwbGljZS5hcHBseShhLFthLmxlbmd0aCwwXS5jb25jYXQoZCkpLGMtLSl9YVswXT0iTSJ9ZnVuY3Rpb24gcihhLGMpe2Zvcih2YXIgZD0obS1hLmxlbmd0aCkvZzswPGQmJmQtLTspYj1hLnNsaWNlKCkuc3BsaWNlKGEubGVuZ3RoL0ItZyxnKkIpLGJbMF09Y1ttLWctZCpnXSxlJiYoYltnLTZdPWJbZy0yXSxiW2ctNV09YltnLTFdKSxbXS5zcGxpY2UuYXBwbHkoYSxbYS5sZW5ndGgvQiwwXS5jb25jYXQoYikpLHgmJmQtLX1sPWx8fCIiO3ZhciB5LHA9cS5zdGFydFgsZD1xLmVuZFgsZT0tMTxsLmluZGV4T2YoIkMiKSxnPWU/NzozLG0sYixjO2w9bC5zcGxpdCgiICIpO2Y9Zi5zbGljZSgpO3ZhciB4PXEuaXNBcmVhLEI9eD8yOjEsdDtlJiYodShsKSx1KGYpKTtpZihwJiZkKXtmb3IoYz0wO2M8cC5sZW5ndGg7YysrKWlmKHBbY109PT1kWzBdKXt5PWM7YnJlYWt9ZWxzZSBpZihwWzBdPT09ZFtkLmxlbmd0aC1wLmxlbmd0aCtjXSl7eT1jO3Q9CgkJITA7YnJlYWt9dm9pZCAwPT09eSYmKGw9W10pfWwubGVuZ3RoJiZhLmlzTnVtYmVyKHkpJiYobT1mLmxlbmd0aCt5KkIqZyx0PyhDKGwsZikscihmLGwpKTooQyhmLGwpLHIobCxmKSkpO3JldHVybltsLGZdfSxmaWxsU2V0dGVyOmZ1bmN0aW9uKCl7YS5GeC5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sc3Ryb2tlU2V0dGVyOmZ1bmN0aW9uKCl7dGhpcy5lbGVtLmF0dHIodGhpcy5wcm9wLGEuY29sb3IodGhpcy5zdGFydCkudHdlZW5UbyhhLmNvbG9yKHRoaXMuZW5kKSx0aGlzLnBvcyksbnVsbCwhMCl9fTthLm1lcmdlPWZ1bmN0aW9uKCl7dmFyIHEsbD1hcmd1bWVudHMsZix1PXt9LEM9ZnVuY3Rpb24oZix5KXsib2JqZWN0IiE9PXR5cGVvZiBmJiYoZj17fSk7YS5vYmplY3RFYWNoKHksZnVuY3Rpb24ocCxkKXshYS5pc09iamVjdChwLCEwKXx8YS5pc0NsYXNzKHApfHxhLmlzRE9NRWxlbWVudChwKT9mW2RdPXlbZF06ZltkXT1DKGZbZF18fHt9LAoJcCl9KTtyZXR1cm4gZn07ITA9PT1sWzBdJiYodT1sWzFdLGw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobCwyKSk7Zj1sLmxlbmd0aDtmb3IocT0wO3E8ZjtxKyspdT1DKHUsbFtxXSk7cmV0dXJuIHV9O2EucEludD1mdW5jdGlvbihhLGwpe3JldHVybiBwYXJzZUludChhLGx8fDEwKX07YS5pc1N0cmluZz1mdW5jdGlvbihhKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhfTthLmlzQXJyYXk9ZnVuY3Rpb24oYSl7YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PWF8fCJbb2JqZWN0IEFycmF5IEl0ZXJhdG9yXSI9PT1hfTthLmlzT2JqZWN0PWZ1bmN0aW9uKHEsbCl7cmV0dXJuISFxJiYib2JqZWN0Ij09PXR5cGVvZiBxJiYoIWx8fCFhLmlzQXJyYXkocSkpfTthLmlzRE9NRWxlbWVudD1mdW5jdGlvbihxKXtyZXR1cm4gYS5pc09iamVjdChxKSYmIm51bWJlciI9PT10eXBlb2YgcS5ub2RlVHlwZX07YS5pc0NsYXNzPWZ1bmN0aW9uKHEpe3ZhciBsPQoJcSYmcS5jb25zdHJ1Y3RvcjtyZXR1cm4hKCFhLmlzT2JqZWN0KHEsITApfHxhLmlzRE9NRWxlbWVudChxKXx8IWx8fCFsLm5hbWV8fCJPYmplY3QiPT09bC5uYW1lKX07YS5pc051bWJlcj1mdW5jdGlvbihhKXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBhJiYhaXNOYU4oYSkmJkluZmluaXR5PmEmJi1JbmZpbml0eTxhfTthLmVyYXNlPWZ1bmN0aW9uKGEsbCl7Zm9yKHZhciBmPWEubGVuZ3RoO2YtLTspaWYoYVtmXT09PWwpe2Euc3BsaWNlKGYsMSk7YnJlYWt9fTthLmRlZmluZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMCE9PWEmJm51bGwhPT1hfTthLmF0dHI9ZnVuY3Rpb24ocSxsLGYpe3ZhciB1O2EuaXNTdHJpbmcobCk/YS5kZWZpbmVkKGYpP3Euc2V0QXR0cmlidXRlKGwsZik6cSYmcS5nZXRBdHRyaWJ1dGUmJigodT1xLmdldEF0dHJpYnV0ZShsKSl8fCJjbGFzcyIhPT1sfHwodT1xLmdldEF0dHJpYnV0ZShsKyJOYW1lIikpKTphLmRlZmluZWQobCkmJmEuaXNPYmplY3QobCkmJgoJYS5vYmplY3RFYWNoKGwsZnVuY3Rpb24oYSxmKXtxLnNldEF0dHJpYnV0ZShmLGEpfSk7cmV0dXJuIHV9O2Euc3BsYXQ9ZnVuY3Rpb24ocSl7cmV0dXJuIGEuaXNBcnJheShxKT9xOltxXX07YS5zeW5jVGltZW91dD1mdW5jdGlvbihhLGwsZil7aWYobClyZXR1cm4gc2V0VGltZW91dChhLGwsZik7YS5jYWxsKDAsZil9O2EuY2xlYXJUaW1lb3V0PWZ1bmN0aW9uKHEpe2EuZGVmaW5lZChxKSYmY2xlYXJUaW1lb3V0KHEpfTthLmV4dGVuZD1mdW5jdGlvbihhLGwpe3ZhciBmO2F8fChhPXt9KTtmb3IoZiBpbiBsKWFbZl09bFtmXTtyZXR1cm4gYX07YS5waWNrPWZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzLGwsZix1PWEubGVuZ3RoO2ZvcihsPTA7bDx1O2wrKylpZihmPWFbbF0sdm9pZCAwIT09ZiYmbnVsbCE9PWYpcmV0dXJuIGZ9O2EuY3NzPWZ1bmN0aW9uKHEsbCl7YS5pc01TJiYhYS5zdmcmJmwmJnZvaWQgMCE9PWwub3BhY2l0eSYmKGwuZmlsdGVyPSJhbHBoYShvcGFjaXR5XHgzZCIrCgkxMDAqbC5vcGFjaXR5KyIpIik7YS5leHRlbmQocS5zdHlsZSxsKX07YS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKHEsbCxmLHUsQyl7cT1GLmNyZWF0ZUVsZW1lbnQocSk7dmFyIHI9YS5jc3M7bCYmYS5leHRlbmQocSxsKTtDJiZyKHEse3BhZGRpbmc6MCxib3JkZXI6Im5vbmUiLG1hcmdpbjowfSk7ZiYmcihxLGYpO3UmJnUuYXBwZW5kQ2hpbGQocSk7cmV0dXJuIHF9O2EuZXh0ZW5kQ2xhc3M9ZnVuY3Rpb24ocSxsKXt2YXIgZj1mdW5jdGlvbigpe307Zi5wcm90b3R5cGU9bmV3IHE7YS5leHRlbmQoZi5wcm90b3R5cGUsbCk7cmV0dXJuIGZ9O2EucGFkPWZ1bmN0aW9uKGEsbCxmKXtyZXR1cm4gQXJyYXkoKGx8fDIpKzEtU3RyaW5nKGEpLnJlcGxhY2UoIi0iLCIiKS5sZW5ndGgpLmpvaW4oZnx8MCkrYX07YS5yZWxhdGl2ZUxlbmd0aD1mdW5jdGlvbihhLGwsZil7cmV0dXJuLyUkLy50ZXN0KGEpP2wqcGFyc2VGbG9hdChhKS8xMDArKGZ8fDApOnBhcnNlRmxvYXQoYSl9O2Eud3JhcD0KCWZ1bmN0aW9uKGEsbCxmKXt2YXIgdT1hW2xdO2FbbF09ZnVuY3Rpb24oKXt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLHI9YXJndW1lbnRzLHk9dGhpczt5LnByb2NlZWQ9ZnVuY3Rpb24oKXt1LmFwcGx5KHksYXJndW1lbnRzLmxlbmd0aD9hcmd1bWVudHM6cil9O2EudW5zaGlmdCh1KTthPWYuYXBwbHkodGhpcyxhKTt5LnByb2NlZWQ9bnVsbDtyZXR1cm4gYX19O2EuZm9ybWF0U2luZ2xlPWZ1bmN0aW9uKHEsbCxmKXt2YXIgdT0vXC4oWzAtOV0pLyxDPWEuZGVmYXVsdE9wdGlvbnMubGFuZzsvZiQvLnRlc3QocSk/KGY9KGY9cS5tYXRjaCh1KSk/ZlsxXTotMSxudWxsIT09bCYmKGw9YS5udW1iZXJGb3JtYXQobCxmLEMuZGVjaW1hbFBvaW50LC0xPHEuaW5kZXhPZigiLCIpP0MudGhvdXNhbmRzU2VwOiIiKSkpOmw9KGZ8fGEudGltZSkuZGF0ZUZvcm1hdChxLGwpO3JldHVybiBsfTthLmZvcm1hdD1mdW5jdGlvbihxLGwsZil7Zm9yKHZhciB1PSJ7IiwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlDPSExLHIseSxwLGQsZT1bXSxnO3E7KXt1PXEuaW5kZXhPZih1KTtpZigtMT09PXUpYnJlYWs7cj1xLnNsaWNlKDAsdSk7aWYoQyl7cj1yLnNwbGl0KCI6Iik7eT1yLnNoaWZ0KCkuc3BsaXQoIi4iKTtkPXkubGVuZ3RoO2c9bDtmb3IocD0wO3A8ZDtwKyspZyYmKGc9Z1t5W3BdXSk7ci5sZW5ndGgmJihnPWEuZm9ybWF0U2luZ2xlKHIuam9pbigiOiIpLGcsZikpO2UucHVzaChnKX1lbHNlIGUucHVzaChyKTtxPXEuc2xpY2UodSsxKTt1PShDPSFDKT8ifSI6InsifWUucHVzaChxKTtyZXR1cm4gZS5qb2luKCIiKX07YS5nZXRNYWduaXR1ZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgucG93KDEwLE1hdGguZmxvb3IoTWF0aC5sb2coYSkvTWF0aC5MTjEwKSl9O2Eubm9ybWFsaXplVGlja0ludGVydmFsPWZ1bmN0aW9uKHEsbCxmLHUsQyl7dmFyIHIseT1xO2Y9YS5waWNrKGYsMSk7cj1xL2Y7bHx8KGw9Qz9bMSwxLjIsMS41LDIsMi41LDMsNCw1LDYsOCwxMF06WzEsMiwyLjUsNSwxMF0sCiExPT09dSYmKDE9PT1mP2w9YS5ncmVwKGwsZnVuY3Rpb24oYSl7cmV0dXJuIDA9PT1hJTF9KTouMT49ZiYmKGw9WzEvZl0pKSk7Zm9yKHU9MDt1PGwubGVuZ3RoJiYhKHk9bFt1XSxDJiZ5KmY+PXF8fCFDJiZyPD0obFt1XSsobFt1KzFdfHxsW3VdKSkvMik7dSsrKTtyZXR1cm4geT1hLmNvcnJlY3RGbG9hdCh5KmYsLU1hdGgucm91bmQoTWF0aC5sb2coLjAwMSkvTWF0aC5MTjEwKSl9O2Euc3RhYmxlU29ydD1mdW5jdGlvbihhLGwpe3ZhciBmPWEubGVuZ3RoLHUsQztmb3IoQz0wO0M8ZjtDKyspYVtDXS5zYWZlST1DO2Euc29ydChmdW5jdGlvbihhLGYpe3U9bChhLGYpO3JldHVybiAwPT09dT9hLnNhZmVJLWYuc2FmZUk6dX0pO2ZvcihDPTA7QzxmO0MrKylkZWxldGUgYVtDXS5zYWZlSX07YS5hcnJheU1pbj1mdW5jdGlvbihhKXtmb3IodmFyIGw9YS5sZW5ndGgsZj1hWzBdO2wtLTspYVtsXTxmJiYoZj1hW2xdKTtyZXR1cm4gZn07YS5hcnJheU1heD1mdW5jdGlvbihhKXtmb3IodmFyIGw9CglhLmxlbmd0aCxmPWFbMF07bC0tOylhW2xdPmYmJihmPWFbbF0pO3JldHVybiBmfTthLmRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzPWZ1bmN0aW9uKHEsbCl7YS5vYmplY3RFYWNoKHEsZnVuY3Rpb24oYSx1KXthJiZhIT09bCYmYS5kZXN0cm95JiZhLmRlc3Ryb3koKTtkZWxldGUgcVt1XX0pfTthLmRpc2NhcmRFbGVtZW50PWZ1bmN0aW9uKHEpe3ZhciBsPWEuZ2FyYmFnZUJpbjtsfHwobD1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtxJiZsLmFwcGVuZENoaWxkKHEpO2wuaW5uZXJIVE1MPSIifTthLmNvcnJlY3RGbG9hdD1mdW5jdGlvbihhLGwpe3JldHVybiBwYXJzZUZsb2F0KGEudG9QcmVjaXNpb24obHx8MTQpKX07YS5zZXRBbmltYXRpb249ZnVuY3Rpb24ocSxsKXtsLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbj1hLnBpY2socSxsLm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLCEwKX07YS5hbmltT2JqZWN0PWZ1bmN0aW9uKHEpe3JldHVybiBhLmlzT2JqZWN0KHEpP2EubWVyZ2UocSk6Cgl7ZHVyYXRpb246cT81MDA6MH19O2EudGltZVVuaXRzPXttaWxsaXNlY29uZDoxLHNlY29uZDoxRTMsbWludXRlOjZFNCxob3VyOjM2RTUsZGF5Ojg2NEU1LHdlZWs6NjA0OEU1LG1vbnRoOjI0MTkyRTUseWVhcjozMTQ0OTZFNX07YS5udW1iZXJGb3JtYXQ9ZnVuY3Rpb24ocSxsLGYsdSl7cT0rcXx8MDtsPStsO3ZhciBDPWEuZGVmYXVsdE9wdGlvbnMubGFuZyxyPShxLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXXx8IiIpLnNwbGl0KCJlIilbMF0ubGVuZ3RoLHkscCxkPXEudG9TdHJpbmcoKS5zcGxpdCgiZSIpOy0xPT09bD9sPU1hdGgubWluKHIsMjApOmEuaXNOdW1iZXIobCk/bCYmZFsxXSYmMD5kWzFdJiYoeT1sKyArZFsxXSwwPD15PyhkWzBdPSgrZFswXSkudG9FeHBvbmVudGlhbCh5KS5zcGxpdCgiZSIpWzBdLGw9eSk6KGRbMF09ZFswXS5zcGxpdCgiLiIpWzBdfHwwLHE9MjA+bD8oZFswXSpNYXRoLnBvdygxMCxkWzFdKSkudG9GaXhlZChsKTowLGRbMV09MCkpOmw9MjtwPShNYXRoLmFicyhkWzFdPwoJZFswXTpxKStNYXRoLnBvdygxMCwtTWF0aC5tYXgobCxyKS0xKSkudG9GaXhlZChsKTtyPVN0cmluZyhhLnBJbnQocCkpO3k9MzxyLmxlbmd0aD9yLmxlbmd0aCUzOjA7Zj1hLnBpY2soZixDLmRlY2ltYWxQb2ludCk7dT1hLnBpY2sodSxDLnRob3VzYW5kc1NlcCk7cT0oMD5xPyItIjoiIikrKHk/ci5zdWJzdHIoMCx5KSt1OiIiKTtxKz1yLnN1YnN0cih5KS5yZXBsYWNlKC8oXGR7M30pKD89XGQpL2csIiQxIit1KTtsJiYocSs9ZitwLnNsaWNlKC1sKSk7ZFsxXSYmMCE9PStxJiYocSs9ImUiK2RbMV0pO3JldHVybiBxfTtNYXRoLmVhc2VJbk91dFNpbmU9ZnVuY3Rpb24oYSl7cmV0dXJuLS41KihNYXRoLmNvcyhNYXRoLlBJKmEpLTEpfTthLmdldFN0eWxlPWZ1bmN0aW9uKHEsbCxmKXtpZigid2lkdGgiPT09bClyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbihxLm9mZnNldFdpZHRoLHEuc2Nyb2xsV2lkdGgpLWEuZ2V0U3R5bGUocSwicGFkZGluZy1sZWZ0IiktYS5nZXRTdHlsZShxLAoJInBhZGRpbmctcmlnaHQiKSk7aWYoImhlaWdodCI9PT1sKXJldHVybiBNYXRoLm1heCgwLE1hdGgubWluKHEub2Zmc2V0SGVpZ2h0LHEuc2Nyb2xsSGVpZ2h0KS1hLmdldFN0eWxlKHEsInBhZGRpbmctdG9wIiktYS5nZXRTdHlsZShxLCJwYWRkaW5nLWJvdHRvbSIpKTtHLmdldENvbXB1dGVkU3R5bGV8fGEuZXJyb3IoMjcsITApO2lmKHE9Ry5nZXRDb21wdXRlZFN0eWxlKHEsdm9pZCAwKSlxPXEuZ2V0UHJvcGVydHlWYWx1ZShsKSxhLnBpY2soZiwib3BhY2l0eSIhPT1sKSYmKHE9YS5wSW50KHEpKTtyZXR1cm4gcX07YS5pbkFycmF5PWZ1bmN0aW9uKHEsbCxmKXtyZXR1cm4oYS5pbmRleE9mUG9seWZpbGx8fEFycmF5LnByb3RvdHlwZS5pbmRleE9mKS5jYWxsKGwscSxmKX07YS5ncmVwPWZ1bmN0aW9uKHEsbCl7cmV0dXJuKGEuZmlsdGVyUG9seWZpbGx8fEFycmF5LnByb3RvdHlwZS5maWx0ZXIpLmNhbGwocSxsKX07YS5maW5kPUFycmF5LnByb3RvdHlwZS5maW5kP2Z1bmN0aW9uKGEsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgbCl7cmV0dXJuIGEuZmluZChsKX06ZnVuY3Rpb24oYSxsKXt2YXIgZix1PWEubGVuZ3RoO2ZvcihmPTA7Zjx1O2YrKylpZihsKGFbZl0sZikpcmV0dXJuIGFbZl19O2Euc29tZT1mdW5jdGlvbihxLGwsZil7cmV0dXJuKGEuc29tZVBvbHlmaWxsfHxBcnJheS5wcm90b3R5cGUuc29tZSkuY2FsbChxLGwsZil9O2EubWFwPWZ1bmN0aW9uKGEsbCl7Zm9yKHZhciBmPVtdLHU9MCxDPWEubGVuZ3RoO3U8Qzt1KyspZlt1XT1sLmNhbGwoYVt1XSxhW3VdLHUsYSk7cmV0dXJuIGZ9O2Eua2V5cz1mdW5jdGlvbihxKXtyZXR1cm4oYS5rZXlzUG9seWZpbGx8fE9iamVjdC5rZXlzKS5jYWxsKHZvaWQgMCxxKX07YS5yZWR1Y2U9ZnVuY3Rpb24ocSxsLGYpe3JldHVybihhLnJlZHVjZVBvbHlmaWxsfHxBcnJheS5wcm90b3R5cGUucmVkdWNlKS5hcHBseShxLDI8YXJndW1lbnRzLmxlbmd0aD9bbCxmXTpbbF0pfTthLm9mZnNldD1mdW5jdGlvbihhKXt2YXIgbD1GLmRvY3VtZW50RWxlbWVudDthPWEucGFyZW50RWxlbWVudHx8CmEucGFyZW50Tm9kZT9hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnt0b3A6MCxsZWZ0OjB9O3JldHVybnt0b3A6YS50b3ArKEcucGFnZVlPZmZzZXR8fGwuc2Nyb2xsVG9wKS0obC5jbGllbnRUb3B8fDApLGxlZnQ6YS5sZWZ0KyhHLnBhZ2VYT2Zmc2V0fHxsLnNjcm9sbExlZnQpLShsLmNsaWVudExlZnR8fDApfX07YS5zdG9wPWZ1bmN0aW9uKHEsbCl7Zm9yKHZhciBmPWEudGltZXJzLmxlbmd0aDtmLS07KWEudGltZXJzW2ZdLmVsZW0hPT1xfHxsJiZsIT09YS50aW1lcnNbZl0ucHJvcHx8KGEudGltZXJzW2ZdLnN0b3BwZWQ9ITApfTthLmVhY2g9ZnVuY3Rpb24ocSxsLGYpe3JldHVybihhLmZvckVhY2hQb2x5ZmlsbHx8QXJyYXkucHJvdG90eXBlLmZvckVhY2gpLmNhbGwocSxsLGYpfTthLm9iamVjdEVhY2g9ZnVuY3Rpb24oYSxsLGYpe2Zvcih2YXIgdSBpbiBhKWEuaGFzT3duUHJvcGVydHkodSkmJmwuY2FsbChmfHxhW3VdLGFbdV0sdSxhKX07YS5hZGRFdmVudD1mdW5jdGlvbihxLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgbCxmLHUpe3ZhciBDLHI9cS5hZGRFdmVudExpc3RlbmVyfHxhLmFkZEV2ZW50TGlzdGVuZXJQb2x5ZmlsbDtDPSJmdW5jdGlvbiI9PT10eXBlb2YgcSYmcS5wcm90b3R5cGU/cS5wcm90b3R5cGUucHJvdG9FdmVudHM9cS5wcm90b3R5cGUucHJvdG9FdmVudHN8fHt9OnEuaGNFdmVudHM9cS5oY0V2ZW50c3x8e307YS5Qb2ludCYmcSBpbnN0YW5jZW9mIGEuUG9pbnQmJnEuc2VyaWVzJiZxLnNlcmllcy5jaGFydCYmKHEuc2VyaWVzLmNoYXJ0LnJ1blRyYWNrZXJDbGljaz0hMCk7ciYmci5jYWxsKHEsbCxmLCExKTtDW2xdfHwoQ1tsXT1bXSk7Q1tsXS5wdXNoKGYpO3UmJmEuaXNOdW1iZXIodS5vcmRlcikmJihmLm9yZGVyPXUub3JkZXIsQ1tsXS5zb3J0KGZ1bmN0aW9uKGEscCl7cmV0dXJuIGEub3JkZXItcC5vcmRlcn0pKTtyZXR1cm4gZnVuY3Rpb24oKXthLnJlbW92ZUV2ZW50KHEsbCxmKX19O2EucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24ocSxsLGYpe2Z1bmN0aW9uIHUocCxkKXt2YXIgZT0KCXEucmVtb3ZlRXZlbnRMaXN0ZW5lcnx8YS5yZW1vdmVFdmVudExpc3RlbmVyUG9seWZpbGw7ZSYmZS5jYWxsKHEscCxkLCExKX1mdW5jdGlvbiBDKHApe3ZhciBkLGU7cS5ub2RlTmFtZSYmKGw/KGQ9e30sZFtsXT0hMCk6ZD1wLGEub2JqZWN0RWFjaChkLGZ1bmN0aW9uKGEsZCl7aWYocFtkXSlmb3IoZT1wW2RdLmxlbmd0aDtlLS07KXUoZCxwW2RdW2VdKX0pKX12YXIgcix5O2EuZWFjaChbInByb3RvRXZlbnRzIiwiaGNFdmVudHMiXSxmdW5jdGlvbihwKXt2YXIgZD1xW3BdO2QmJihsPyhyPWRbbF18fFtdLGY/KHk9YS5pbkFycmF5KGYsciksLTE8eSYmKHIuc3BsaWNlKHksMSksZFtsXT1yKSx1KGwsZikpOihDKGQpLGRbbF09W10pKTooQyhkKSxxW3BdPXt9KSl9KX07YS5maXJlRXZlbnQ9ZnVuY3Rpb24ocSxsLGYsdSl7dmFyIEMscix5LHAsZDtmPWZ8fHt9O0YuY3JlYXRlRXZlbnQmJihxLmRpc3BhdGNoRXZlbnR8fHEuZmlyZUV2ZW50KT8oQz1GLmNyZWF0ZUV2ZW50KCJFdmVudHMiKSwKCUMuaW5pdEV2ZW50KGwsITAsITApLGEuZXh0ZW5kKEMsZikscS5kaXNwYXRjaEV2ZW50P3EuZGlzcGF0Y2hFdmVudChDKTpxLmZpcmVFdmVudChsLEMpKTphLmVhY2goWyJwcm90b0V2ZW50cyIsImhjRXZlbnRzIl0sZnVuY3Rpb24oZSl7aWYocVtlXSlmb3Iocj1xW2VdW2xdfHxbXSx5PXIubGVuZ3RoLGYudGFyZ2V0fHxhLmV4dGVuZChmLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe2YuZGVmYXVsdFByZXZlbnRlZD0hMH0sdGFyZ2V0OnEsdHlwZTpsfSkscD0wO3A8eTtwKyspKGQ9cltwXSkmJiExPT09ZC5jYWxsKHEsZikmJmYucHJldmVudERlZmF1bHQoKX0pO3UmJiFmLmRlZmF1bHRQcmV2ZW50ZWQmJnUuY2FsbChxLGYpfTthLmFuaW1hdGU9ZnVuY3Rpb24ocSxsLGYpe3ZhciB1LEM9IiIscix5LHA7YS5pc09iamVjdChmKXx8KHA9YXJndW1lbnRzLGY9e2R1cmF0aW9uOnBbMl0sZWFzaW5nOnBbM10sY29tcGxldGU6cFs0XX0pO2EuaXNOdW1iZXIoZi5kdXJhdGlvbil8fChmLmR1cmF0aW9uPQoJNDAwKTtmLmVhc2luZz0iZnVuY3Rpb24iPT09dHlwZW9mIGYuZWFzaW5nP2YuZWFzaW5nOk1hdGhbZi5lYXNpbmddfHxNYXRoLmVhc2VJbk91dFNpbmU7Zi5jdXJBbmltPWEubWVyZ2UobCk7YS5vYmplY3RFYWNoKGwsZnVuY3Rpb24oZCxlKXthLnN0b3AocSxlKTt5PW5ldyBhLkZ4KHEsZixlKTtyPW51bGw7ImQiPT09ZT8oeS5wYXRocz15LmluaXRQYXRoKHEscS5kLGwuZCkseS50b0Q9bC5kLHU9MCxyPTEpOnEuYXR0cj91PXEuYXR0cihlKToodT1wYXJzZUZsb2F0KGEuZ2V0U3R5bGUocSxlKSl8fDAsIm9wYWNpdHkiIT09ZSYmKEM9InB4IikpO3J8fChyPWQpO3ImJnIubWF0Y2gmJnIubWF0Y2goInB4IikmJihyPXIucmVwbGFjZSgvcHgvZywiIikpO3kucnVuKHUscixDKX0pfTthLnNlcmllc1R5cGU9ZnVuY3Rpb24ocSxsLGYsdSxDKXt2YXIgcj1hLmdldE9wdGlvbnMoKSx5PWEuc2VyaWVzVHlwZXM7ci5wbG90T3B0aW9uc1txXT1hLm1lcmdlKHIucGxvdE9wdGlvbnNbbF0sZik7Cgl5W3FdPWEuZXh0ZW5kQ2xhc3MoeVtsXXx8ZnVuY3Rpb24oKXt9LHUpO3lbcV0ucHJvdG90eXBlLnR5cGU9cTtDJiYoeVtxXS5wcm90b3R5cGUucG9pbnRDbGFzcz1hLmV4dGVuZENsYXNzKGEuUG9pbnQsQykpO3JldHVybiB5W3FdfTthLnVuaXF1ZUtleT1mdW5jdGlvbigpe3ZhciBhPU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpLGw9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4iaGlnaGNoYXJ0cy0iK2ErIi0iK2wrK319KCk7Ry5qUXVlcnkmJihHLmpRdWVyeS5mbi5oaWdoY2hhcnRzPWZ1bmN0aW9uKCl7dmFyIHE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKHRoaXNbMF0pcmV0dXJuIHFbMF0/KG5ldyAoYVthLmlzU3RyaW5nKHFbMF0pP3Euc2hpZnQoKToiQ2hhcnQiXSkodGhpc1swXSxxWzBdLHFbMV0pLHRoaXMpOkVbYS5hdHRyKHRoaXNbMF0sImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIpXX0pfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuZWFjaCwKCUY9YS5pc051bWJlcixHPWEubWFwLHE9YS5tZXJnZSxsPWEucEludDthLkNvbG9yPWZ1bmN0aW9uKGYpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGEuQ29sb3IpKXJldHVybiBuZXcgYS5Db2xvcihmKTt0aGlzLmluaXQoZil9O2EuQ29sb3IucHJvdG90eXBlPXtwYXJzZXJzOlt7cmVnZXg6L3JnYmFcKFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XT8oPzpcLlswLTldKyk/KVxzKlwpLyxwYXJzZTpmdW5jdGlvbihhKXtyZXR1cm5bbChhWzFdKSxsKGFbMl0pLGwoYVszXSkscGFyc2VGbG9hdChhWzRdLDEwKV19fSx7cmVnZXg6L3JnYlwoXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccypcKS8scGFyc2U6ZnVuY3Rpb24oYSl7cmV0dXJuW2woYVsxXSksbChhWzJdKSxsKGFbM10pLDFdfX1dLG5hbWVzOnt3aGl0ZToiI2ZmZmZmZiIsYmxhY2s6IiMwMDAwMDAifSxpbml0OmZ1bmN0aW9uKGYpe3ZhciBsLAoJCUMscix5O2lmKCh0aGlzLmlucHV0PWY9dGhpcy5uYW1lc1tmJiZmLnRvTG93ZXJDYXNlP2YudG9Mb3dlckNhc2UoKToiIl18fGYpJiZmLnN0b3BzKXRoaXMuc3RvcHM9RyhmLnN0b3BzLGZ1bmN0aW9uKHApe3JldHVybiBuZXcgYS5Db2xvcihwWzFdKX0pO2Vsc2UgaWYoZiYmZi5jaGFyQXQmJiIjIj09PWYuY2hhckF0KCkmJihsPWYubGVuZ3RoLGY9cGFyc2VJbnQoZi5zdWJzdHIoMSksMTYpLDc9PT1sP0M9WyhmJjE2NzExNjgwKT4+MTYsKGYmNjUyODApPj44LGYmMjU1LDFdOjQ9PT1sJiYoQz1bKGYmMzg0MCk+PjR8KGYmMzg0MCk+PjgsKGYmMjQwKT4+NHxmJjI0MCwoZiYxNSk8PDR8ZiYxNSwxXSkpLCFDKWZvcihyPXRoaXMucGFyc2Vycy5sZW5ndGg7ci0tJiYhQzspeT10aGlzLnBhcnNlcnNbcl0sKGw9eS5yZWdleC5leGVjKGYpKSYmKEM9eS5wYXJzZShsKSk7dGhpcy5yZ2JhPUN8fFtdfSxnZXQ6ZnVuY3Rpb24oYSl7dmFyIGY9dGhpcy5pbnB1dCxsPXRoaXMucmdiYSxyO3RoaXMuc3RvcHM/CgkJKHI9cShmKSxyLnN0b3BzPVtdLmNvbmNhdChyLnN0b3BzKSxFKHRoaXMuc3RvcHMsZnVuY3Rpb24oZixwKXtyLnN0b3BzW3BdPVtyLnN0b3BzW3BdWzBdLGYuZ2V0KGEpXX0pKTpyPWwmJkYobFswXSk/InJnYiI9PT1hfHwhYSYmMT09PWxbM10/InJnYigiK2xbMF0rIiwiK2xbMV0rIiwiK2xbMl0rIikiOiJhIj09PWE/bFszXToicmdiYSgiK2wuam9pbigiLCIpKyIpIjpmO3JldHVybiByfSxicmlnaHRlbjpmdW5jdGlvbihhKXt2YXIgZixDPXRoaXMucmdiYTtpZih0aGlzLnN0b3BzKUUodGhpcy5zdG9wcyxmdW5jdGlvbihmKXtmLmJyaWdodGVuKGEpfSk7ZWxzZSBpZihGKGEpJiYwIT09YSlmb3IoZj0wOzM+ZjtmKyspQ1tmXSs9bCgyNTUqYSksMD5DW2ZdJiYoQ1tmXT0wKSwyNTU8Q1tmXSYmKENbZl09MjU1KTtyZXR1cm4gdGhpc30sc2V0T3BhY2l0eTpmdW5jdGlvbihhKXt0aGlzLnJnYmFbM109YTtyZXR1cm4gdGhpc30sdHdlZW5UbzpmdW5jdGlvbihhLGwpe3ZhciBmPXRoaXMucmdiYSwKCQlyPWEucmdiYTtyLmxlbmd0aCYmZiYmZi5sZW5ndGg/KGE9MSE9PXJbM118fDEhPT1mWzNdLGw9KGE/InJnYmEoIjoicmdiKCIpK01hdGgucm91bmQoclswXSsoZlswXS1yWzBdKSooMS1sKSkrIiwiK01hdGgucm91bmQoclsxXSsoZlsxXS1yWzFdKSooMS1sKSkrIiwiK01hdGgucm91bmQoclsyXSsoZlsyXS1yWzJdKSooMS1sKSkrKGE/IiwiKyhyWzNdKyhmWzNdLXJbM10pKigxLWwpKToiIikrIikiKTpsPWEuaW5wdXR8fCJub25lIjtyZXR1cm4gbH19O2EuY29sb3I9ZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBhLkNvbG9yKGYpfX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRSxGLEc9YS5hZGRFdmVudCxxPWEuYW5pbWF0ZSxsPWEuYXR0cixmPWEuY2hhcnRzLHU9YS5jb2xvcixDPWEuY3NzLHI9YS5jcmVhdGVFbGVtZW50LHk9YS5kZWZpbmVkLHA9YS5kZWcycmFkLGQ9YS5kZXN0cm95T2JqZWN0UHJvcGVydGllcyxlPWEuZG9jLGc9YS5lYWNoLG09YS5leHRlbmQsYj1hLmVyYXNlLGM9YS5ncmVwLAoJeD1hLmhhc1RvdWNoLEI9YS5pbkFycmF5LHQ9YS5pc0FycmF5LG49YS5pc0ZpcmVmb3gsTD1hLmlzTVMsej1hLmlzT2JqZWN0LEQ9YS5pc1N0cmluZyxoPWEuaXNXZWJLaXQsST1hLm1lcmdlLEg9YS5ub29wLHY9YS5vYmplY3RFYWNoLHc9YS5waWNrLGs9YS5wSW50LEE9YS5yZW1vdmVFdmVudCxRPWEuc3RvcCxUPWEuc3ZnLEs9YS5TVkdfTlMsTz1hLnN5bWJvbFNpemVzLE49YS53aW47RT1hLlNWR0VsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307bShFLnByb3RvdHlwZSx7b3BhY2l0eToxLFNWR19OUzpLLHRleHRQcm9wczoiZGlyZWN0aW9uIGZvbnRTaXplIGZvbnRXZWlnaHQgZm9udEZhbWlseSBmb250U3R5bGUgY29sb3IgbGluZUhlaWdodCB3aWR0aCB0ZXh0QWxpZ24gdGV4dERlY29yYXRpb24gdGV4dE92ZXJmbG93IHRleHRPdXRsaW5lIGN1cnNvciIuc3BsaXQoIiAiKSxpbml0OmZ1bmN0aW9uKGEsYil7dGhpcy5lbGVtZW50PSJzcGFuIj09PWI/cihiKTplLmNyZWF0ZUVsZW1lbnROUyh0aGlzLlNWR19OUywKCQliKTt0aGlzLnJlbmRlcmVyPWF9LGFuaW1hdGU6ZnVuY3Rpb24oYixrLGMpe2s9YS5hbmltT2JqZWN0KHcoayx0aGlzLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbiwhMCkpOzAhPT1rLmR1cmF0aW9uPyhjJiYoay5jb21wbGV0ZT1jKSxxKHRoaXMsYixrKSk6KHRoaXMuYXR0cihiLG51bGwsYyksay5zdGVwJiZrLnN0ZXAuY2FsbCh0aGlzKSk7cmV0dXJuIHRoaXN9LGNvbXBsZXhDb2xvcjpmdW5jdGlvbihiLGssYyl7dmFyIE09dGhpcy5yZW5kZXJlcixBLGQsaCxtLEssdyxlLHgsbixCLHosRD1bXSxIO2EuZmlyZUV2ZW50KHRoaXMucmVuZGVyZXIsImNvbXBsZXhDb2xvciIse2FyZ3M6YXJndW1lbnRzfSxmdW5jdGlvbigpe2IucmFkaWFsR3JhZGllbnQ/ZD0icmFkaWFsR3JhZGllbnQiOmIubGluZWFyR3JhZGllbnQmJihkPSJsaW5lYXJHcmFkaWVudCIpO2QmJihoPWJbZF0sSz1NLmdyYWRpZW50cyxlPWIuc3RvcHMsQj1jLnJhZGlhbFJlZmVyZW5jZSx0KGgpJiYoYltkXT1oPXt4MTpoWzBdLAoJCXkxOmhbMV0seDI6aFsyXSx5MjpoWzNdLGdyYWRpZW50VW5pdHM6InVzZXJTcGFjZU9uVXNlIn0pLCJyYWRpYWxHcmFkaWVudCI9PT1kJiZCJiYheShoLmdyYWRpZW50VW5pdHMpJiYobT1oLGg9SShoLE0uZ2V0UmFkaWFsQXR0cihCLG0pLHtncmFkaWVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSJ9KSksdihoLGZ1bmN0aW9uKGEsYil7ImlkIiE9PWImJkQucHVzaChiLGEpfSksdihlLGZ1bmN0aW9uKGEpe0QucHVzaChhKX0pLEQ9RC5qb2luKCIsIiksS1tEXT96PUtbRF0uYXR0cigiaWQiKTooaC5pZD16PWEudW5pcXVlS2V5KCksS1tEXT13PU0uY3JlYXRlRWxlbWVudChkKS5hdHRyKGgpLmFkZChNLmRlZnMpLHcucmFkQXR0cj1tLHcuc3RvcHM9W10sZyhlLGZ1bmN0aW9uKGIpezA9PT1iWzFdLmluZGV4T2YoInJnYmEiKT8oQT1hLmNvbG9yKGJbMV0pLHg9QS5nZXQoInJnYiIpLG49QS5nZXQoImEiKSk6KHg9YlsxXSxuPTEpO2I9TS5jcmVhdGVFbGVtZW50KCJzdG9wIikuYXR0cih7b2Zmc2V0OmJbMF0sCgkJInN0b3AtY29sb3IiOngsInN0b3Atb3BhY2l0eSI6bn0pLmFkZCh3KTt3LnN0b3BzLnB1c2goYil9KSksSD0idXJsKCIrTS51cmwrIiMiK3orIikiLGMuc2V0QXR0cmlidXRlKGssSCksYy5ncmFkaWVudD1ELGIudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gSH0pfSl9LGFwcGx5VGV4dE91dGxpbmU6ZnVuY3Rpb24oayl7dmFyIGM9dGhpcy5lbGVtZW50LE0sQSxkLGgsbTstMSE9PWsuaW5kZXhPZigiY29udHJhc3QiKSYmKGs9ay5yZXBsYWNlKC9jb250cmFzdC9nLHRoaXMucmVuZGVyZXIuZ2V0Q29udHJhc3QoYy5zdHlsZS5maWxsKSkpO2s9ay5zcGxpdCgiICIpO0E9a1trLmxlbmd0aC0xXTtpZigoZD1rWzBdKSYmIm5vbmUiIT09ZCYmYS5zdmcpe3RoaXMuZmFrZVRTPSEwO2s9W10uc2xpY2UuY2FsbChjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0c3BhbiIpKTt0aGlzLnlTZXR0ZXI9dGhpcy54U2V0dGVyO2Q9ZC5yZXBsYWNlKC8oXltcZFwuXSspKC4qPykkL2csZnVuY3Rpb24oYSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSBiLGspe3JldHVybiAyKmIra30pO2ZvcihtPWsubGVuZ3RoO20tLTspTT1rW21dLCJoaWdoY2hhcnRzLXRleHQtb3V0bGluZSI9PT1NLmdldEF0dHJpYnV0ZSgiY2xhc3MiKSYmYihrLGMucmVtb3ZlQ2hpbGQoTSkpO2g9Yy5maXJzdENoaWxkO2coayxmdW5jdGlvbihhLGIpezA9PT1iJiYoYS5zZXRBdHRyaWJ1dGUoIngiLGMuZ2V0QXR0cmlidXRlKCJ4IikpLGI9Yy5nZXRBdHRyaWJ1dGUoInkiKSxhLnNldEF0dHJpYnV0ZSgieSIsYnx8MCksbnVsbD09PWImJmMuc2V0QXR0cmlidXRlKCJ5IiwwKSk7YT1hLmNsb25lTm9kZSgxKTtsKGEseyJjbGFzcyI6ImhpZ2hjaGFydHMtdGV4dC1vdXRsaW5lIixmaWxsOkEsc3Ryb2tlOkEsInN0cm9rZS13aWR0aCI6ZCwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifSk7Yy5pbnNlcnRCZWZvcmUoYSxoKX0pfX0sYXR0cjpmdW5jdGlvbihhLGIsayxjKXt2YXIgTSxBPXRoaXMuZWxlbWVudCxkLGg9dGhpcyxtLEs7InN0cmluZyI9PT10eXBlb2YgYSYmCgl2b2lkIDAhPT1iJiYoTT1hLGE9e30sYVtNXT1iKTsic3RyaW5nIj09PXR5cGVvZiBhP2g9KHRoaXNbYSsiR2V0dGVyIl18fHRoaXMuX2RlZmF1bHRHZXR0ZXIpLmNhbGwodGhpcyxhLEEpOih2KGEsZnVuY3Rpb24oYixrKXttPSExO2N8fFEodGhpcyxrKTt0aGlzLnN5bWJvbE5hbWUmJi9eKHh8eXx3aWR0aHxoZWlnaHR8cnxzdGFydHxlbmR8aW5uZXJSfGFuY2hvclh8YW5jaG9yWSkkLy50ZXN0KGspJiYoZHx8KHRoaXMuc3ltYm9sQXR0cihhKSxkPSEwKSxtPSEwKTshdGhpcy5yb3RhdGlvbnx8IngiIT09ayYmInkiIT09a3x8KHRoaXMuZG9UcmFuc2Zvcm09ITApO218fChLPXRoaXNbaysiU2V0dGVyIl18fHRoaXMuX2RlZmF1bHRTZXR0ZXIsSy5jYWxsKHRoaXMsYixrLEEpLHRoaXMuc2hhZG93cyYmL14od2lkdGh8aGVpZ2h0fHZpc2liaWxpdHl8eHx5fGR8dHJhbnNmb3JtfGN4fGN5fHIpJC8udGVzdChrKSYmdGhpcy51cGRhdGVTaGFkb3dzKGssYixLKSl9LHRoaXMpLHRoaXMuYWZ0ZXJTZXR0ZXJzKCkpOwoJCWsmJmsuY2FsbCh0aGlzKTtyZXR1cm4gaH0sYWZ0ZXJTZXR0ZXJzOmZ1bmN0aW9uKCl7dGhpcy5kb1RyYW5zZm9ybSYmKHRoaXMudXBkYXRlVHJhbnNmb3JtKCksdGhpcy5kb1RyYW5zZm9ybT0hMSl9LHVwZGF0ZVNoYWRvd3M6ZnVuY3Rpb24oYSxiLGspe2Zvcih2YXIgYz10aGlzLnNoYWRvd3MsTT1jLmxlbmd0aDtNLS07KWsuY2FsbChjW01dLCJoZWlnaHQiPT09YT9NYXRoLm1heChiLShjW01dLmN1dEhlaWdodHx8MCksMCk6ImQiPT09YT90aGlzLmQ6YixhLGNbTV0pfSxhZGRDbGFzczpmdW5jdGlvbihhLGIpe3ZhciBrPXRoaXMuYXR0cigiY2xhc3MiKXx8IiI7LTE9PT1rLmluZGV4T2YoYSkmJihifHwoYT0oaysoaz8iICI6IiIpK2EpLnJlcGxhY2UoIiAgIiwiICIpKSx0aGlzLmF0dHIoImNsYXNzIixhKSk7cmV0dXJuIHRoaXN9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3JldHVybi0xIT09QihhLCh0aGlzLmF0dHIoImNsYXNzIil8fCIiKS5zcGxpdCgiICIpKX0scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLAoJCSh0aGlzLmF0dHIoImNsYXNzIil8fCIiKS5yZXBsYWNlKGEsIiIpKX0sc3ltYm9sQXR0cjpmdW5jdGlvbihhKXt2YXIgYj10aGlzO2coInggeSByIHN0YXJ0IGVuZCB3aWR0aCBoZWlnaHQgaW5uZXJSIGFuY2hvclggYW5jaG9yWSIuc3BsaXQoIiAiKSxmdW5jdGlvbihrKXtiW2tdPXcoYVtrXSxiW2tdKX0pO2IuYXR0cih7ZDpiLnJlbmRlcmVyLnN5bWJvbHNbYi5zeW1ib2xOYW1lXShiLngsYi55LGIud2lkdGgsYi5oZWlnaHQsYil9KX0sY2xpcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hdHRyKCJjbGlwLXBhdGgiLGE/InVybCgiK3RoaXMucmVuZGVyZXIudXJsKyIjIithLmlkKyIpIjoibm9uZSIpfSxjcmlzcDpmdW5jdGlvbihhLGIpe3ZhciBrO2I9Ynx8YS5zdHJva2VXaWR0aHx8MDtrPU1hdGgucm91bmQoYiklMi8yO2EueD1NYXRoLmZsb29yKGEueHx8dGhpcy54fHwwKStrO2EueT1NYXRoLmZsb29yKGEueXx8dGhpcy55fHwwKStrO2Eud2lkdGg9TWF0aC5mbG9vcigoYS53aWR0aHx8CgkJdGhpcy53aWR0aHx8MCktMiprKTthLmhlaWdodD1NYXRoLmZsb29yKChhLmhlaWdodHx8dGhpcy5oZWlnaHR8fDApLTIqayk7eShhLnN0cm9rZVdpZHRoKSYmKGEuc3Ryb2tlV2lkdGg9Yik7cmV0dXJuIGF9LGNzczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnN0eWxlcyxjPXt9LEE9dGhpcy5lbGVtZW50LGQsTT0iIixoLEs9IWIsdz1bInRleHRPdXRsaW5lIiwidGV4dE92ZXJmbG93Iiwid2lkdGgiXTthJiZhLmNvbG9yJiYoYS5maWxsPWEuY29sb3IpO2ImJnYoYSxmdW5jdGlvbihhLGspe2EhPT1iW2tdJiYoY1trXT1hLEs9ITApfSk7SyYmKGImJihhPW0oYixjKSksYSYmKG51bGw9PT1hLndpZHRofHwiYXV0byI9PT1hLndpZHRoP2RlbGV0ZSB0aGlzLnRleHRXaWR0aDoidGV4dCI9PT1BLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJmEud2lkdGgmJihkPXRoaXMudGV4dFdpZHRoPWsoYS53aWR0aCkpKSx0aGlzLnN0eWxlcz1hLGQmJiFUJiZ0aGlzLnJlbmRlcmVyLmZvckV4cG9ydCYmCglkZWxldGUgYS53aWR0aCxBLm5hbWVzcGFjZVVSST09PXRoaXMuU1ZHX05TPyhoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIi0iK2IudG9Mb3dlckNhc2UoKX0sdihhLGZ1bmN0aW9uKGEsYil7LTE9PT1CKGIsdykmJihNKz1iLnJlcGxhY2UoLyhbQS1aXSkvZyxoKSsiOiIrYSsiOyIpfSksTSYmbChBLCJzdHlsZSIsTSkpOkMoQSxhKSx0aGlzLmFkZGVkJiYoInRleHQiPT09dGhpcy5lbGVtZW50Lm5vZGVOYW1lJiZ0aGlzLnJlbmRlcmVyLmJ1aWxkVGV4dCh0aGlzKSxhJiZhLnRleHRPdXRsaW5lJiZ0aGlzLmFwcGx5VGV4dE91dGxpbmUoYS50ZXh0T3V0bGluZSkpKTtyZXR1cm4gdGhpc30sc3Ryb2tlV2lkdGg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1sic3Ryb2tlLXdpZHRoIl18fDB9LG9uOmZ1bmN0aW9uKGEsYil7dmFyIGs9dGhpcyxjPWsuZWxlbWVudDt4JiYiY2xpY2siPT09YT8oYy5vbnRvdWNoc3RhcnQ9ZnVuY3Rpb24oYSl7ay50b3VjaEV2ZW50RmlyZWQ9RGF0ZS5ub3coKTthLnByZXZlbnREZWZhdWx0KCk7CgkJYi5jYWxsKGMsYSl9LGMub25jbGljaz1mdW5jdGlvbihhKXsoLTE9PT1OLm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiQW5kcm9pZCIpfHwxMTAwPERhdGUubm93KCktKGsudG91Y2hFdmVudEZpcmVkfHwwKSkmJmIuY2FsbChjLGEpfSk6Y1sib24iK2FdPWI7cmV0dXJuIHRoaXN9LHNldFJhZGlhbFJlZmVyZW5jZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJlbmRlcmVyLmdyYWRpZW50c1t0aGlzLmVsZW1lbnQuZ3JhZGllbnRdO3RoaXMuZWxlbWVudC5yYWRpYWxSZWZlcmVuY2U9YTtiJiZiLnJhZEF0dHImJmIuYW5pbWF0ZSh0aGlzLnJlbmRlcmVyLmdldFJhZGlhbEF0dHIoYSxiLnJhZEF0dHIpKTtyZXR1cm4gdGhpc30sdHJhbnNsYXRlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuYXR0cih7dHJhbnNsYXRlWDphLHRyYW5zbGF0ZVk6Yn0pfSxpbnZlcnQ6ZnVuY3Rpb24oYSl7dGhpcy5pbnZlcnRlZD1hO3RoaXMudXBkYXRlVHJhbnNmb3JtKCk7cmV0dXJuIHRoaXN9LHVwZGF0ZVRyYW5zZm9ybTpmdW5jdGlvbigpe3ZhciBhPQoJCXRoaXMudHJhbnNsYXRlWHx8MCxiPXRoaXMudHJhbnNsYXRlWXx8MCxrPXRoaXMuc2NhbGVYLGM9dGhpcy5zY2FsZVksQT10aGlzLmludmVydGVkLGQ9dGhpcy5yb3RhdGlvbixoPXRoaXMubWF0cml4LG09dGhpcy5lbGVtZW50O0EmJihhKz10aGlzLndpZHRoLGIrPXRoaXMuaGVpZ2h0KTthPVsidHJhbnNsYXRlKCIrYSsiLCIrYisiKSJdO3koaCkmJmEucHVzaCgibWF0cml4KCIraC5qb2luKCIsIikrIikiKTtBP2EucHVzaCgicm90YXRlKDkwKSBzY2FsZSgtMSwxKSIpOmQmJmEucHVzaCgicm90YXRlKCIrZCsiICIrdyh0aGlzLnJvdGF0aW9uT3JpZ2luWCxtLmdldEF0dHJpYnV0ZSgieCIpLDApKyIgIit3KHRoaXMucm90YXRpb25PcmlnaW5ZLG0uZ2V0QXR0cmlidXRlKCJ5Iil8fDApKyIpIik7KHkoayl8fHkoYykpJiZhLnB1c2goInNjYWxlKCIrdyhrLDEpKyIgIit3KGMsMSkrIikiKTthLmxlbmd0aCYmbS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsYS5qb2luKCIgIikpfSx0b0Zyb250OmZ1bmN0aW9uKCl7dmFyIGE9CgkJdGhpcy5lbGVtZW50O2EucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChhKTtyZXR1cm4gdGhpc30sYWxpZ246ZnVuY3Rpb24oYSxrLGMpe3ZhciBBLGQsaCxNLG09e307ZD10aGlzLnJlbmRlcmVyO2g9ZC5hbGlnbmVkT2JqZWN0czt2YXIgSyx2O2lmKGEpe2lmKHRoaXMuYWxpZ25PcHRpb25zPWEsdGhpcy5hbGlnbkJ5VHJhbnNsYXRlPWssIWN8fEQoYykpdGhpcy5hbGlnblRvPUE9Y3x8InJlbmRlcmVyIixiKGgsdGhpcyksaC5wdXNoKHRoaXMpLGM9bnVsbH1lbHNlIGE9dGhpcy5hbGlnbk9wdGlvbnMsaz10aGlzLmFsaWduQnlUcmFuc2xhdGUsQT10aGlzLmFsaWduVG87Yz13KGMsZFtBXSxkKTtBPWEuYWxpZ247ZD1hLnZlcnRpY2FsQWxpZ247aD0oYy54fHwwKSsoYS54fHwwKTtNPShjLnl8fDApKyhhLnl8fDApOyJyaWdodCI9PT1BP0s9MToiY2VudGVyIj09PUEmJihLPTIpO0smJihoKz0oYy53aWR0aC0oYS53aWR0aHx8MCkpL0spO21baz8idHJhbnNsYXRlWCI6IngiXT1NYXRoLnJvdW5kKGgpOwoJCSJib3R0b20iPT09ZD92PTE6Im1pZGRsZSI9PT1kJiYodj0yKTt2JiYoTSs9KGMuaGVpZ2h0LShhLmhlaWdodHx8MCkpL3YpO21baz8idHJhbnNsYXRlWSI6InkiXT1NYXRoLnJvdW5kKE0pO3RoaXNbdGhpcy5wbGFjZWQ/ImFuaW1hdGUiOiJhdHRyIl0obSk7dGhpcy5wbGFjZWQ9ITA7dGhpcy5hbGlnbkF0dHI9bTtyZXR1cm4gdGhpc30sZ2V0QkJveDpmdW5jdGlvbihhLGIpe3ZhciBrLGM9dGhpcy5yZW5kZXJlcixBLGQ9dGhpcy5lbGVtZW50LGg9dGhpcy5zdHlsZXMsTSxLPXRoaXMudGV4dFN0cix2LGU9Yy5jYWNoZSx4PWMuY2FjaGVLZXlzLG47Yj13KGIsdGhpcy5yb3RhdGlvbik7QT1iKnA7TT1oJiZoLmZvbnRTaXplO3koSykmJihuPUsudG9TdHJpbmcoKSwtMT09PW4uaW5kZXhPZigiXHgzYyIpJiYobj1uLnJlcGxhY2UoL1swLTldL2csIjAiKSksbis9WyIiLGJ8fDAsTSx0aGlzLnRleHRXaWR0aCxoJiZoLnRleHRPdmVyZmxvd10uam9pbigpKTtuJiYhYSYmKGs9ZVtuXSk7aWYoIWspe2lmKGQubmFtZXNwYWNlVVJJPT09CgkJdGhpcy5TVkdfTlN8fGMuZm9yRXhwb3J0KXt0cnl7KHY9dGhpcy5mYWtlVFMmJmZ1bmN0aW9uKGEpe2coZC5xdWVyeVNlbGVjdG9yQWxsKCIuaGlnaGNoYXJ0cy10ZXh0LW91dGxpbmUiKSxmdW5jdGlvbihiKXtiLnN0eWxlLmRpc3BsYXk9YX0pfSkmJnYoIm5vbmUiKSxrPWQuZ2V0QkJveD9tKHt9LGQuZ2V0QkJveCgpKTp7d2lkdGg6ZC5vZmZzZXRXaWR0aCxoZWlnaHQ6ZC5vZmZzZXRIZWlnaHR9LHYmJnYoIiIpfWNhdGNoKFUpe31pZigha3x8MD5rLndpZHRoKWs9e3dpZHRoOjAsaGVpZ2h0OjB9fWVsc2Ugaz10aGlzLmh0bWxHZXRCQm94KCk7Yy5pc1NWRyYmKGE9ay53aWR0aCxjPWsuaGVpZ2h0LGgmJiIxMXB4Ij09PWguZm9udFNpemUmJjE3PT09TWF0aC5yb3VuZChjKSYmKGsuaGVpZ2h0PWM9MTQpLGImJihrLndpZHRoPU1hdGguYWJzKGMqTWF0aC5zaW4oQSkpK01hdGguYWJzKGEqTWF0aC5jb3MoQSkpLGsuaGVpZ2h0PU1hdGguYWJzKGMqTWF0aC5jb3MoQSkpK01hdGguYWJzKGEqCgkJTWF0aC5zaW4oQSkpKSk7aWYobiYmMDxrLmhlaWdodCl7Zm9yKDsyNTA8eC5sZW5ndGg7KWRlbGV0ZSBlW3guc2hpZnQoKV07ZVtuXXx8eC5wdXNoKG4pO2Vbbl09a319cmV0dXJuIGt9LHNob3c6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXR0cih7dmlzaWJpbGl0eTphPyJpbmhlcml0IjoidmlzaWJsZSJ9KX0saGlkZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmF0dHIoe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KX0sZmFkZU91dDpmdW5jdGlvbihhKXt2YXIgYj10aGlzO2IuYW5pbWF0ZSh7b3BhY2l0eTowfSx7ZHVyYXRpb246YXx8MTUwLGNvbXBsZXRlOmZ1bmN0aW9uKCl7Yi5hdHRyKHt5Oi05OTk5fSl9fSl9LGFkZDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJlbmRlcmVyLGs9dGhpcy5lbGVtZW50LGM7YSYmKHRoaXMucGFyZW50R3JvdXA9YSk7dGhpcy5wYXJlbnRJbnZlcnRlZD1hJiZhLmludmVydGVkO3ZvaWQgMCE9PXRoaXMudGV4dFN0ciYmYi5idWlsZFRleHQodGhpcyk7dGhpcy5hZGRlZD0KCQkhMDtpZighYXx8YS5oYW5kbGVafHx0aGlzLnpJbmRleCljPXRoaXMuekluZGV4U2V0dGVyKCk7Y3x8KGE/YS5lbGVtZW50OmIuYm94KS5hcHBlbmRDaGlsZChrKTtpZih0aGlzLm9uQWRkKXRoaXMub25BZGQoKTtyZXR1cm4gdGhpc30sc2FmZVJlbW92ZUNoaWxkOmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiZiLnJlbW92ZUNoaWxkKGEpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxrPWEuZWxlbWVudHx8e30sYz1hLnJlbmRlcmVyLmlzU1ZHJiYiU1BBTiI9PT1rLm5vZGVOYW1lJiZhLnBhcmVudEdyb3VwLEE9ay5vd25lclNWR0VsZW1lbnQsZD1hLmNsaXBQYXRoO2sub25jbGljaz1rLm9ubW91c2VvdXQ9ay5vbm1vdXNlb3Zlcj1rLm9ubW91c2Vtb3ZlPWsucG9pbnQ9bnVsbDtRKGEpO2QmJkEmJihnKEEucXVlcnlTZWxlY3RvckFsbCgiW2NsaXAtcGF0aF0sW0NMSVAtUEFUSF0iKSxmdW5jdGlvbihhKXt2YXIgYj1hLmdldEF0dHJpYnV0ZSgiY2xpcC1wYXRoIiksCgkJaz1kLmVsZW1lbnQuaWQ7KC0xPGIuaW5kZXhPZigiKCMiK2srIikiKXx8LTE8Yi5pbmRleE9mKCcoIiMnK2srJyIpJykpJiZhLnJlbW92ZUF0dHJpYnV0ZSgiY2xpcC1wYXRoIil9KSxhLmNsaXBQYXRoPWQuZGVzdHJveSgpKTtpZihhLnN0b3BzKXtmb3IoQT0wO0E8YS5zdG9wcy5sZW5ndGg7QSsrKWEuc3RvcHNbQV09YS5zdG9wc1tBXS5kZXN0cm95KCk7YS5zdG9wcz1udWxsfWEuc2FmZVJlbW92ZUNoaWxkKGspO2ZvcihhLmRlc3Ryb3lTaGFkb3dzKCk7YyYmYy5kaXYmJjA9PT1jLmRpdi5jaGlsZE5vZGVzLmxlbmd0aDspaz1jLnBhcmVudEdyb3VwLGEuc2FmZVJlbW92ZUNoaWxkKGMuZGl2KSxkZWxldGUgYy5kaXYsYz1rO2EuYWxpZ25UbyYmYihhLnJlbmRlcmVyLmFsaWduZWRPYmplY3RzLGEpO3YoYSxmdW5jdGlvbihiLGspe2RlbGV0ZSBhW2tdfSk7cmV0dXJuIG51bGx9LHNoYWRvdzpmdW5jdGlvbihhLGIsayl7dmFyIGM9W10sQSxkLGg9dGhpcy5lbGVtZW50LG0sdixLLE07CgkJaWYoIWEpdGhpcy5kZXN0cm95U2hhZG93cygpO2Vsc2UgaWYoIXRoaXMuc2hhZG93cyl7dj13KGEud2lkdGgsMyk7Sz0oYS5vcGFjaXR5fHwuMTUpL3Y7TT10aGlzLnBhcmVudEludmVydGVkPyIoLTEsLTEpIjoiKCIrdyhhLm9mZnNldFgsMSkrIiwgIit3KGEub2Zmc2V0WSwxKSsiKSI7Zm9yKEE9MTtBPD12O0ErKylkPWguY2xvbmVOb2RlKDApLG09Mip2KzEtMipBLGwoZCx7c3Ryb2tlOmEuY29sb3J8fCIjMDAwMDAwIiwic3Ryb2tlLW9wYWNpdHkiOksqQSwic3Ryb2tlLXdpZHRoIjptLHRyYW5zZm9ybToidHJhbnNsYXRlIitNLGZpbGw6Im5vbmUifSksZC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwoZC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiIGhpZ2hjaGFydHMtc2hhZG93IiksayYmKGwoZCwiaGVpZ2h0IixNYXRoLm1heChsKGQsImhlaWdodCIpLW0sMCkpLGQuY3V0SGVpZ2h0PW0pLGI/Yi5lbGVtZW50LmFwcGVuZENoaWxkKGQpOmgucGFyZW50Tm9kZSYmaC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShkLAoJCQloKSxjLnB1c2goZCk7dGhpcy5zaGFkb3dzPWN9cmV0dXJuIHRoaXN9LGRlc3Ryb3lTaGFkb3dzOmZ1bmN0aW9uKCl7Zyh0aGlzLnNoYWRvd3N8fFtdLGZ1bmN0aW9uKGEpe3RoaXMuc2FmZVJlbW92ZUNoaWxkKGEpfSx0aGlzKTt0aGlzLnNoYWRvd3M9dm9pZCAwfSx4R2V0dGVyOmZ1bmN0aW9uKGEpeyJjaXJjbGUiPT09dGhpcy5lbGVtZW50Lm5vZGVOYW1lJiYoIngiPT09YT9hPSJjeCI6InkiPT09YSYmKGE9ImN5IikpO3JldHVybiB0aGlzLl9kZWZhdWx0R2V0dGVyKGEpfSxfZGVmYXVsdEdldHRlcjpmdW5jdGlvbihhKXthPXcodGhpc1thKyJWYWx1ZSJdLHRoaXNbYV0sdGhpcy5lbGVtZW50P3RoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoYSk6bnVsbCwwKTsvXltcLTAtOVwuXSskLy50ZXN0KGEpJiYoYT1wYXJzZUZsb2F0KGEpKTtyZXR1cm4gYX0sZFNldHRlcjpmdW5jdGlvbihhLGIsayl7YSYmYS5qb2luJiYoYT1hLmpvaW4oIiAiKSk7LyhOYU58IHsyfXxeJCkvLnRlc3QoYSkmJgoJKGE9Ik0gMCAwIik7dGhpc1tiXSE9PWEmJihrLnNldEF0dHJpYnV0ZShiLGEpLHRoaXNbYl09YSl9LGRhc2hzdHlsZVNldHRlcjpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXNbInN0cm9rZS13aWR0aCJdOyJpbmhlcml0Ij09PWMmJihjPTEpO2lmKGE9YSYmYS50b0xvd2VyQ2FzZSgpKXthPWEucmVwbGFjZSgic2hvcnRkYXNoZG90ZG90IiwiMywxLDEsMSwxLDEsIikucmVwbGFjZSgic2hvcnRkYXNoZG90IiwiMywxLDEsMSIpLnJlcGxhY2UoInNob3J0ZG90IiwiMSwxLCIpLnJlcGxhY2UoInNob3J0ZGFzaCIsIjMsMSwiKS5yZXBsYWNlKCJsb25nZGFzaCIsIjgsMywiKS5yZXBsYWNlKC9kb3QvZywiMSwzLCIpLnJlcGxhY2UoImRhc2giLCI0LDMsIikucmVwbGFjZSgvLCQvLCIiKS5zcGxpdCgiLCIpO2ZvcihiPWEubGVuZ3RoO2ItLTspYVtiXT1rKGFbYl0pKmM7YT1hLmpvaW4oIiwiKS5yZXBsYWNlKC9OYU4vZywibm9uZSIpO3RoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0cm9rZS1kYXNoYXJyYXkiLAoJCWEpfX0sYWxpZ25TZXR0ZXI6ZnVuY3Rpb24oYSl7dGhpcy5hbGlnblZhbHVlPWE7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGV4dC1hbmNob3IiLHtsZWZ0OiJzdGFydCIsY2VudGVyOiJtaWRkbGUiLHJpZ2h0OiJlbmQifVthXSl9LG9wYWNpdHlTZXR0ZXI6ZnVuY3Rpb24oYSxiLGspe3RoaXNbYl09YTtrLnNldEF0dHJpYnV0ZShiLGEpfSx0aXRsZVNldHRlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIilbMF07Ynx8KGI9ZS5jcmVhdGVFbGVtZW50TlModGhpcy5TVkdfTlMsInRpdGxlIiksdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGIpKTtiLmZpcnN0Q2hpbGQmJmIucmVtb3ZlQ2hpbGQoYi5maXJzdENoaWxkKTtiLmFwcGVuZENoaWxkKGUuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHcoYSksIiIpLnJlcGxhY2UoLzxbXj5dKj4vZywiIikucmVwbGFjZSgvJmx0Oy9nLCJceDNjIikucmVwbGFjZSgvJmd0Oy9nLCJceDNlIikpKX0sCgl0ZXh0U2V0dGVyOmZ1bmN0aW9uKGEpe2EhPT10aGlzLnRleHRTdHImJihkZWxldGUgdGhpcy5iQm94LHRoaXMudGV4dFN0cj1hLHRoaXMuYWRkZWQmJnRoaXMucmVuZGVyZXIuYnVpbGRUZXh0KHRoaXMpKX0sZmlsbFNldHRlcjpmdW5jdGlvbihhLGIsayl7InN0cmluZyI9PT10eXBlb2YgYT9rLnNldEF0dHJpYnV0ZShiLGEpOmEmJnRoaXMuY29tcGxleENvbG9yKGEsYixrKX0sdmlzaWJpbGl0eVNldHRlcjpmdW5jdGlvbihhLGIsayl7ImluaGVyaXQiPT09YT9rLnJlbW92ZUF0dHJpYnV0ZShiKTp0aGlzW2JdIT09YSYmay5zZXRBdHRyaWJ1dGUoYixhKTt0aGlzW2JdPWF9LHpJbmRleFNldHRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucmVuZGVyZXIsQT10aGlzLnBhcmVudEdyb3VwLGQ9KEF8fGMpLmVsZW1lbnR8fGMuYm94LGgsbT10aGlzLmVsZW1lbnQsdixLLGM9ZD09PWMuYm94O2g9dGhpcy5hZGRlZDt2YXIgdzt5KGEpPyhtLnNldEF0dHJpYnV0ZSgiZGF0YS16LWluZGV4IiwKCQlhKSxhPSthLHRoaXNbYl09PT1hJiYoaD0hMSkpOnkodGhpc1tiXSkmJm0ucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXotaW5kZXgiKTt0aGlzW2JdPWE7aWYoaCl7KGE9dGhpcy56SW5kZXgpJiZBJiYoQS5oYW5kbGVaPSEwKTtiPWQuY2hpbGROb2Rlcztmb3Iodz1iLmxlbmd0aC0xOzA8PXcmJiF2O3ctLSlpZihBPWJbd10saD1BLmdldEF0dHJpYnV0ZSgiZGF0YS16LWluZGV4IiksSz0heShoKSxBIT09bSlpZigwPmEmJksmJiFjJiYhdylkLmluc2VydEJlZm9yZShtLGJbd10pLHY9ITA7ZWxzZSBpZihrKGgpPD1hfHxLJiYoIXkoYSl8fDA8PWEpKWQuaW5zZXJ0QmVmb3JlKG0sYlt3KzFdfHxudWxsKSx2PSEwO3Z8fChkLmluc2VydEJlZm9yZShtLGJbYz8zOjBdfHxudWxsKSx2PSEwKX1yZXR1cm4gdn0sX2RlZmF1bHRTZXR0ZXI6ZnVuY3Rpb24oYSxiLGspe2suc2V0QXR0cmlidXRlKGIsYSl9fSk7RS5wcm90b3R5cGUueUdldHRlcj1FLnByb3RvdHlwZS54R2V0dGVyO0UucHJvdG90eXBlLnRyYW5zbGF0ZVhTZXR0ZXI9CglFLnByb3RvdHlwZS50cmFuc2xhdGVZU2V0dGVyPUUucHJvdG90eXBlLnJvdGF0aW9uU2V0dGVyPUUucHJvdG90eXBlLnZlcnRpY2FsQWxpZ25TZXR0ZXI9RS5wcm90b3R5cGUucm90YXRpb25PcmlnaW5YU2V0dGVyPUUucHJvdG90eXBlLnJvdGF0aW9uT3JpZ2luWVNldHRlcj1FLnByb3RvdHlwZS5zY2FsZVhTZXR0ZXI9RS5wcm90b3R5cGUuc2NhbGVZU2V0dGVyPUUucHJvdG90eXBlLm1hdHJpeFNldHRlcj1mdW5jdGlvbihhLGIpe3RoaXNbYl09YTt0aGlzLmRvVHJhbnNmb3JtPSEwfTtFLnByb3RvdHlwZVsic3Ryb2tlLXdpZHRoU2V0dGVyIl09RS5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyPWZ1bmN0aW9uKGEsYixrKXt0aGlzW2JdPWE7dGhpcy5zdHJva2UmJnRoaXNbInN0cm9rZS13aWR0aCJdPyhFLnByb3RvdHlwZS5maWxsU2V0dGVyLmNhbGwodGhpcyx0aGlzLnN0cm9rZSwic3Ryb2tlIixrKSxrLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIix0aGlzWyJzdHJva2Utd2lkdGgiXSksCgl0aGlzLmhhc1N0cm9rZT0hMCk6InN0cm9rZS13aWR0aCI9PT1iJiYwPT09YSYmdGhpcy5oYXNTdHJva2UmJihrLnJlbW92ZUF0dHJpYnV0ZSgic3Ryb2tlIiksdGhpcy5oYXNTdHJva2U9ITEpfTtGPWEuU1ZHUmVuZGVyZXI9ZnVuY3Rpb24oKXt0aGlzLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTttKEYucHJvdG90eXBlLHtFbGVtZW50OkUsU1ZHX05TOkssaW5pdDpmdW5jdGlvbihhLGIsayxjLEEsZCl7dmFyIG07Yz10aGlzLmNyZWF0ZUVsZW1lbnQoInN2ZyIpLmF0dHIoe3ZlcnNpb246IjEuMSIsImNsYXNzIjoiaGlnaGNoYXJ0cy1yb290In0pLmNzcyh0aGlzLmdldFN0eWxlKGMpKTttPWMuZWxlbWVudDthLmFwcGVuZENoaWxkKG0pO2woYSwiZGlyIiwibHRyIik7LTE9PT1hLmlubmVySFRNTC5pbmRleE9mKCJ4bWxucyIpJiZsKG0sInhtbG5zIix0aGlzLlNWR19OUyk7dGhpcy5pc1NWRz0hMDt0aGlzLmJveD1tO3RoaXMuYm94V3JhcHBlcj1jO3RoaXMuYWxpZ25lZE9iamVjdHM9CgkJW107dGhpcy51cmw9KG58fGgpJiZlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIikubGVuZ3RoP04ubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdLnJlcGxhY2UoLzxbXj5dKj4vZywiIikucmVwbGFjZSgvKFtcKCdcKV0pL2csIlxcJDEiKS5yZXBsYWNlKC8gL2csIiUyMCIpOiIiO3RoaXMuY3JlYXRlRWxlbWVudCgiZGVzYyIpLmFkZCgpLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZS5jcmVhdGVUZXh0Tm9kZSgiQ3JlYXRlZCB3aXRoIEhpZ2hzdG9jayA2LjEuNCIpKTt0aGlzLmRlZnM9dGhpcy5jcmVhdGVFbGVtZW50KCJkZWZzIikuYWRkKCk7dGhpcy5hbGxvd0hUTUw9ZDt0aGlzLmZvckV4cG9ydD1BO3RoaXMuZ3JhZGllbnRzPXt9O3RoaXMuY2FjaGU9e307dGhpcy5jYWNoZUtleXM9W107dGhpcy5pbWdDb3VudD0wO3RoaXMuc2V0U2l6ZShiLGssITEpO3ZhciB2O24mJmEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0JiYoYj1mdW5jdGlvbigpe0MoYSx7bGVmdDowLHRvcDowfSk7dj1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwoJCUMoYSx7bGVmdDpNYXRoLmNlaWwodi5sZWZ0KS12LmxlZnQrInB4Iix0b3A6TWF0aC5jZWlsKHYudG9wKS12LnRvcCsicHgifSl9LGIoKSx0aGlzLnVuU3ViUGl4ZWxGaXg9RyhOLCJyZXNpemUiLGIpKX0sZ2V0U3R5bGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc3R5bGU9bSh7Zm9udEZhbWlseTonIkx1Y2lkYSBHcmFuZGUiLCAiTHVjaWRhIFNhbnMgVW5pY29kZSIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYnLGZvbnRTaXplOiIxMnB4In0sYSl9LHNldFN0eWxlOmZ1bmN0aW9uKGEpe3RoaXMuYm94V3JhcHBlci5jc3ModGhpcy5nZXRTdHlsZShhKSl9LGlzSGlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuYm94V3JhcHBlci5nZXRCQm94KCkud2lkdGh9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRlZnM7dGhpcy5ib3g9bnVsbDt0aGlzLmJveFdyYXBwZXI9dGhpcy5ib3hXcmFwcGVyLmRlc3Ryb3koKTtkKHRoaXMuZ3JhZGllbnRzfHx7fSk7dGhpcy5ncmFkaWVudHM9CgkJbnVsbDthJiYodGhpcy5kZWZzPWEuZGVzdHJveSgpKTt0aGlzLnVuU3ViUGl4ZWxGaXgmJnRoaXMudW5TdWJQaXhlbEZpeCgpO3JldHVybiB0aGlzLmFsaWduZWRPYmplY3RzPW51bGx9LGNyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRoaXMuRWxlbWVudDtiLmluaXQodGhpcyxhKTtyZXR1cm4gYn0sZHJhdzpILGdldFJhZGlhbEF0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm57Y3g6YVswXS1hWzJdLzIrYi5jeCphWzJdLGN5OmFbMV0tYVsyXS8yK2IuY3kqYVsyXSxyOmIuciphWzJdfX0sdHJ1bmNhdGU6ZnVuY3Rpb24oYSxiLGssYyxBLGQsaCl7dmFyIG09dGhpcyx2PWEucm90YXRpb24sSyx3PWM/MTowLG49KGt8fGMpLmxlbmd0aCxnPW4seD1bXSxCPWZ1bmN0aW9uKGEpe2IuZmlyc3RDaGlsZCYmYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpO2EmJmIuYXBwZW5kQ2hpbGQoZS5jcmVhdGVUZXh0Tm9kZShhKSl9LHo9ZnVuY3Rpb24oZCx2KXt2PXZ8fGQ7aWYodm9pZCAwPT09CgkJeFt2XSlpZihiLmdldFN1YlN0cmluZ0xlbmd0aCl0cnl7eFt2XT1BK2IuZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsYz92KzE6dil9Y2F0Y2goZ2Epe31lbHNlIEIoaChrfHxjLGQpKSx4W3ZdPUErbS5nZXRTcGFuV2lkdGgoYSxiKTtyZXR1cm4geFt2XX0sdCxEO2Eucm90YXRpb249MDt0PXooYi50ZXh0Q29udGVudC5sZW5ndGgpO2lmKEQ9QSt0PmQpe2Zvcig7dzw9bjspZz1NYXRoLmNlaWwoKHcrbikvMiksYyYmKEs9aChjLGcpKSx0PXooZyxLJiZLLmxlbmd0aC0xKSx3PT09bj93PW4rMTp0PmQ/bj1nLTE6dz1nOzA9PT1uP0IoIiIpOmsmJm49PT1rLmxlbmd0aC0xfHxCKEt8fGgoa3x8YyxnKSl9YyYmYy5zcGxpY2UoMCxnKTthLmFjdHVhbFdpZHRoPXQ7YS5yb3RhdGlvbj12O3JldHVybiBEfSxlc2NhcGVzOnsiXHgyNiI6Ilx4MjZhbXA7IiwiXHgzYyI6Ilx4MjZsdDsiLCJceDNlIjoiXHgyNmd0OyIsIiciOiJceDI2IzM5OyIsJyInOiJceDI2cXVvdDsifSxidWlsZFRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI9CgkJYS5lbGVtZW50LEE9dGhpcyxkPUEuZm9yRXhwb3J0LGg9dyhhLnRleHRTdHIsIiIpLnRvU3RyaW5nKCksbT0tMSE9PWguaW5kZXhPZigiXHgzYyIpLG49Yi5jaGlsZE5vZGVzLHgsej1sKGIsIngiKSx0PWEuc3R5bGVzLEQ9YS50ZXh0V2lkdGgsSD10JiZ0LmxpbmVIZWlnaHQsUT10JiZ0LnRleHRPdXRsaW5lLHA9dCYmImVsbGlwc2lzIj09PXQudGV4dE92ZXJmbG93LEk9dCYmIm5vd3JhcCI9PT10LndoaXRlU3BhY2UsTT10JiZ0LmZvbnRTaXplLE8sZixMPW4ubGVuZ3RoLHQ9RCYmIWEuYWRkZWQmJnRoaXMuYm94LHI9ZnVuY3Rpb24oYSl7dmFyIGM7Yz0vKHB4fGVtKSQvLnRlc3QoYSYmYS5zdHlsZS5mb250U2l6ZSk/YS5zdHlsZS5mb250U2l6ZTpNfHxBLnN0eWxlLmZvbnRTaXplfHwxMjtyZXR1cm4gSD9rKEgpOkEuZm9udE1ldHJpY3MoYyxhLmdldEF0dHJpYnV0ZSgic3R5bGUiKT9hOmIpLmh9LHk9ZnVuY3Rpb24oYSxiKXt2KEEuZXNjYXBlcyxmdW5jdGlvbihrLGMpe2ImJi0xIT09CglCKGssYil8fChhPWEudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoaywiZyIpLGMpKX0pO3JldHVybiBhfSxOPWZ1bmN0aW9uKGEsYil7dmFyIGs7az1hLmluZGV4T2YoIlx4M2MiKTthPWEuc3Vic3RyaW5nKGssYS5pbmRleE9mKCJceDNlIiktayk7az1hLmluZGV4T2YoYisiXHgzZCIpO2lmKC0xIT09ayYmKGs9aytiLmxlbmd0aCsxLGI9YS5jaGFyQXQoayksJyInPT09Ynx8IiciPT09YikpcmV0dXJuIGE9YS5zdWJzdHJpbmcoaysxKSxhLnN1YnN0cmluZygwLGEuaW5kZXhPZihiKSl9O089W2gscCxJLEgsUSxNLERdLmpvaW4oKTtpZihPIT09YS50ZXh0Q2FjaGUpe2ZvcihhLnRleHRDYWNoZT1PO0wtLTspYi5yZW1vdmVDaGlsZChuW0xdKTttfHxRfHxwfHxEfHwtMSE9PWguaW5kZXhPZigiICIpPyh0JiZ0LmFwcGVuZENoaWxkKGIpLGg9bT9oLnJlcGxhY2UoLzwoYnxzdHJvbmcpPi9nLCdceDNjc3BhbiBzdHlsZVx4M2QiZm9udC13ZWlnaHQ6Ym9sZCJceDNlJykucmVwbGFjZSgvPChpfGVtKT4vZywKCQknXHgzY3NwYW4gc3R5bGVceDNkImZvbnQtc3R5bGU6aXRhbGljIlx4M2UnKS5yZXBsYWNlKC88YS9nLCJceDNjc3BhbiIpLnJlcGxhY2UoLzxcLyhifHN0cm9uZ3xpfGVtfGEpPi9nLCJceDNjL3NwYW5ceDNlIikuc3BsaXQoLzxici4qPz4vZyk6W2hdLGg9YyhoLGZ1bmN0aW9uKGEpe3JldHVybiIiIT09YX0pLGcoaCxmdW5jdGlvbihrLGMpe3ZhciBoLG09MCx2PTA7az1rLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKS5yZXBsYWNlKC88c3Bhbi9nLCJ8fHxceDNjc3BhbiIpLnJlcGxhY2UoLzxcL3NwYW4+L2csIlx4M2Mvc3Bhblx4M2V8fHwiKTtoPWsuc3BsaXQoInx8fCIpO2coaCxmdW5jdGlvbihrKXtpZigiIiE9PWt8fDE9PT1oLmxlbmd0aCl7dmFyIHc9e30sbj1lLmNyZWF0ZUVsZW1lbnROUyhBLlNWR19OUywidHNwYW4iKSxnLHQ7KGc9TihrLCJjbGFzcyIpKSYmbChuLCJjbGFzcyIsZyk7aWYoZz1OKGssInN0eWxlIikpZz1nLnJlcGxhY2UoLyg7fCB8Xiljb2xvcihbIDpdKS8sCgkJIiQxZmlsbCQyIiksbChuLCJzdHlsZSIsZyk7KHQ9TihrLCJocmVmIikpJiYhZCYmKGwobiwib25jbGljayIsJ2xvY2F0aW9uLmhyZWZceDNkIicrdCsnIicpLGwobiwiY2xhc3MiLCJoaWdoY2hhcnRzLWFuY2hvciIpLEMobix7Y3Vyc29yOiJwb2ludGVyIn0pKTtrPXkoay5yZXBsYWNlKC88W2EtekEtWlwvXSgufFxuKSo/Pi9nLCIiKXx8IiAiKTtpZigiICIhPT1rKXtuLmFwcGVuZENoaWxkKGUuY3JlYXRlVGV4dE5vZGUoaykpO20/dy5keD0wOmMmJm51bGwhPT16JiYody54PXopO2wobix3KTtiLmFwcGVuZENoaWxkKG4pOyFtJiZmJiYoIVQmJmQmJkMobix7ZGlzcGxheToiYmxvY2sifSksbChuLCJkeSIscihuKSkpO2lmKEQpe3ZhciBCPWsucmVwbGFjZSgvKFteXF5dKS0vZywiJDEtICIpLnNwbGl0KCIgIiksdz0hSSYmKDE8aC5sZW5ndGh8fGN8fDE8Qi5sZW5ndGgpO3Q9MDt2YXIgSD1yKG4pO2lmKHApeD1BLnRydW5jYXRlKGEsbixrLHZvaWQgMCwwLE1hdGgubWF4KDAsRC1wYXJzZUludChNfHwKCQkxMiwxMCkpLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3Vic3RyaW5nKDAsYikrIlx1MjAyNiJ9KTtlbHNlIGlmKHcpZm9yKDtCLmxlbmd0aDspQi5sZW5ndGgmJiFJJiYwPHQmJihuPWUuY3JlYXRlRWxlbWVudE5TKEssInRzcGFuIiksbChuLHtkeTpILHg6en0pLGcmJmwobiwic3R5bGUiLGcpLG4uYXBwZW5kQ2hpbGQoZS5jcmVhdGVUZXh0Tm9kZShCLmpvaW4oIiAiKS5yZXBsYWNlKC8tIC9nLCItIikpKSxiLmFwcGVuZENoaWxkKG4pKSxBLnRydW5jYXRlKGEsbixudWxsLEIsMD09PXQ/djowLEQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gQi5zbGljZSgwLGIpLmpvaW4oIiAiKS5yZXBsYWNlKC8tIC9nLCItIil9KSx2PWEuYWN0dWFsV2lkdGgsdCsrfW0rK319fSk7Zj1mfHxiLmNoaWxkTm9kZXMubGVuZ3RofSkscCYmeCYmYS5hdHRyKCJ0aXRsZSIseShhLnRleHRTdHIsWyJceDI2bHQ7IiwiXHgyNmd0OyJdKSksdCYmdC5yZW1vdmVDaGlsZChiKSxRJiZhLmFwcGx5VGV4dE91dGxpbmUmJgoJYS5hcHBseVRleHRPdXRsaW5lKFEpKTpiLmFwcGVuZENoaWxkKGUuY3JlYXRlVGV4dE5vZGUoeShoKSkpfX0sZ2V0Q29udHJhc3Q6ZnVuY3Rpb24oYSl7YT11KGEpLnJnYmE7YVswXSo9MTthWzFdKj0xLjI7YVsyXSo9LjU7cmV0dXJuIDQ1OTxhWzBdK2FbMV0rYVsyXT8iIzAwMDAwMCI6IiNGRkZGRkYifSxidXR0b246ZnVuY3Rpb24oYSxiLGssYyxBLGQsaCx2LEspe3ZhciB3PXRoaXMubGFiZWwoYSxiLGssSyxudWxsLG51bGwsbnVsbCxudWxsLCJidXR0b24iKSxlPTA7dy5hdHRyKEkoe3BhZGRpbmc6OCxyOjJ9LEEpKTt2YXIgbixnLHgsdDtBPUkoe2ZpbGw6IiNmN2Y3ZjciLHN0cm9rZToiI2NjY2NjYyIsInN0cm9rZS13aWR0aCI6MSxzdHlsZTp7Y29sb3I6IiMzMzMzMzMiLGN1cnNvcjoicG9pbnRlciIsZm9udFdlaWdodDoibm9ybWFsIn19LEEpO249QS5zdHlsZTtkZWxldGUgQS5zdHlsZTtkPUkoQSx7ZmlsbDoiI2U2ZTZlNiJ9LGQpO2c9ZC5zdHlsZTtkZWxldGUgZC5zdHlsZTsKCQloPUkoQSx7ZmlsbDoiI2U2ZWJmNSIsc3R5bGU6e2NvbG9yOiIjMDAwMDAwIixmb250V2VpZ2h0OiJib2xkIn19LGgpO3g9aC5zdHlsZTtkZWxldGUgaC5zdHlsZTt2PUkoQSx7c3R5bGU6e2NvbG9yOiIjY2NjY2NjIn19LHYpO3Q9di5zdHlsZTtkZWxldGUgdi5zdHlsZTtHKHcuZWxlbWVudCxMPyJtb3VzZW92ZXIiOiJtb3VzZWVudGVyIixmdW5jdGlvbigpezMhPT1lJiZ3LnNldFN0YXRlKDEpfSk7Ryh3LmVsZW1lbnQsTD8ibW91c2VvdXQiOiJtb3VzZWxlYXZlIixmdW5jdGlvbigpezMhPT1lJiZ3LnNldFN0YXRlKGUpfSk7dy5zZXRTdGF0ZT1mdW5jdGlvbihhKXsxIT09YSYmKHcuc3RhdGU9ZT1hKTt3LnJlbW92ZUNsYXNzKC9oaWdoY2hhcnRzLWJ1dHRvbi0obm9ybWFsfGhvdmVyfHByZXNzZWR8ZGlzYWJsZWQpLykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYnV0dG9uLSIrWyJub3JtYWwiLCJob3ZlciIsInByZXNzZWQiLCJkaXNhYmxlZCJdW2F8fDBdKTt3LmF0dHIoW0EsZCxoLHZdW2F8fAoJCTBdKS5jc3MoW24sZyx4LHRdW2F8fDBdKX07dy5hdHRyKEEpLmNzcyhtKHtjdXJzb3I6ImRlZmF1bHQifSxuKSk7cmV0dXJuIHcub24oImNsaWNrIixmdW5jdGlvbihhKXszIT09ZSYmYy5jYWxsKHcsYSl9KX0sY3Jpc3BMaW5lOmZ1bmN0aW9uKGEsYil7YVsxXT09PWFbNF0mJihhWzFdPWFbNF09TWF0aC5yb3VuZChhWzFdKS1iJTIvMik7YVsyXT09PWFbNV0mJihhWzJdPWFbNV09TWF0aC5yb3VuZChhWzJdKStiJTIvMik7cmV0dXJuIGF9LHBhdGg6ZnVuY3Rpb24oYSl7dmFyIGI9e2ZpbGw6Im5vbmUifTt0KGEpP2IuZD1hOnooYSkmJm0oYixhKTtyZXR1cm4gdGhpcy5jcmVhdGVFbGVtZW50KCJwYXRoIikuYXR0cihiKX0sY2lyY2xlOmZ1bmN0aW9uKGEsYixrKXthPXooYSk/YTp7eDphLHk6YixyOmt9O2I9dGhpcy5jcmVhdGVFbGVtZW50KCJjaXJjbGUiKTtiLnhTZXR0ZXI9Yi55U2V0dGVyPWZ1bmN0aW9uKGEsYixrKXtrLnNldEF0dHJpYnV0ZSgiYyIrYixhKX07cmV0dXJuIGIuYXR0cihhKX0sCglhcmM6ZnVuY3Rpb24oYSxiLGssYyxBLGQpe3ooYSk/KGM9YSxiPWMueSxrPWMucixhPWMueCk6Yz17aW5uZXJSOmMsc3RhcnQ6QSxlbmQ6ZH07YT10aGlzLnN5bWJvbCgiYXJjIixhLGIsayxrLGMpO2Eucj1rO3JldHVybiBhfSxyZWN0OmZ1bmN0aW9uKGEsYixrLGMsQSxkKXtBPXooYSk/YS5yOkE7dmFyIGg9dGhpcy5jcmVhdGVFbGVtZW50KCJyZWN0Iik7YT16KGEpP2E6dm9pZCAwPT09YT97fTp7eDphLHk6Yix3aWR0aDpNYXRoLm1heChrLDApLGhlaWdodDpNYXRoLm1heChjLDApfTt2b2lkIDAhPT1kJiYoYS5zdHJva2VXaWR0aD1kLGE9aC5jcmlzcChhKSk7YS5maWxsPSJub25lIjtBJiYoYS5yPUEpO2guclNldHRlcj1mdW5jdGlvbihhLGIsayl7bChrLHtyeDphLHJ5OmF9KX07cmV0dXJuIGguYXR0cihhKX0sc2V0U2l6ZTpmdW5jdGlvbihhLGIsayl7dmFyIGM9dGhpcy5hbGlnbmVkT2JqZWN0cyxBPWMubGVuZ3RoO3RoaXMud2lkdGg9YTt0aGlzLmhlaWdodD1iO2Zvcih0aGlzLmJveFdyYXBwZXIuYW5pbWF0ZSh7d2lkdGg6YSwKCQloZWlnaHQ6Yn0se3N0ZXA6ZnVuY3Rpb24oKXt0aGlzLmF0dHIoe3ZpZXdCb3g6IjAgMCAiK3RoaXMuYXR0cigid2lkdGgiKSsiICIrdGhpcy5hdHRyKCJoZWlnaHQiKX0pfSxkdXJhdGlvbjp3KGssITApP3ZvaWQgMDowfSk7QS0tOyljW0FdLmFsaWduKCl9LGc6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jcmVhdGVFbGVtZW50KCJnIik7cmV0dXJuIGE/Yi5hdHRyKHsiY2xhc3MiOiJoaWdoY2hhcnRzLSIrYX0pOmJ9LGltYWdlOmZ1bmN0aW9uKGEsYixrLGMsQSxkKXt2YXIgaD17cHJlc2VydmVBc3BlY3RSYXRpbzoibm9uZSJ9LHYsSz1mdW5jdGlvbihhLGIpe2Euc2V0QXR0cmlidXRlTlM/YS5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsImhyZWYiLGIpOmEuc2V0QXR0cmlidXRlKCJoYy1zdmctaHJlZiIsYil9LHc9ZnVuY3Rpb24oYil7Syh2LmVsZW1lbnQsYSk7ZC5jYWxsKHYsYil9OzE8YXJndW1lbnRzLmxlbmd0aCYmbShoLHt4OmIseTprLHdpZHRoOmMsCgkJaGVpZ2h0OkF9KTt2PXRoaXMuY3JlYXRlRWxlbWVudCgiaW1hZ2UiKS5hdHRyKGgpO2Q/KEsodi5lbGVtZW50LCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUFBQUFDSDVCQUVLQUFFQUxBQUFBQUFCQUFFQUFBSUNUQUVBT3dceDNkXHgzZCIpLGg9bmV3IE4uSW1hZ2UsRyhoLCJsb2FkIix3KSxoLnNyYz1hLGguY29tcGxldGUmJncoe30pKTpLKHYuZWxlbWVudCxhKTtyZXR1cm4gdn0sc3ltYm9sOmZ1bmN0aW9uKGEsYixrLGMsQSxkKXt2YXIgaD10aGlzLHYsSz0vXnVybFwoKC4qPylcKSQvLG49Sy50ZXN0KGEpLHg9IW4mJih0aGlzLnN5bWJvbHNbYV0/YToiY2lyY2xlIiksdD14JiZ0aGlzLnN5bWJvbHNbeF0sQj15KGIpJiZ0JiZ0LmNhbGwodGhpcy5zeW1ib2xzLE1hdGgucm91bmQoYiksTWF0aC5yb3VuZChrKSxjLEEsZCkseixEO3Q/KHY9dGhpcy5wYXRoKEIpLHYuYXR0cigiZmlsbCIsIm5vbmUiKSxtKHYse3N5bWJvbE5hbWU6eCx4OmIseTprLHdpZHRoOmMsCgkJaGVpZ2h0OkF9KSxkJiZtKHYsZCkpOm4mJih6PWEubWF0Y2goSylbMV0sdj10aGlzLmltYWdlKHopLHYuaW1nd2lkdGg9dyhPW3pdJiZPW3pdLndpZHRoLGQmJmQud2lkdGgpLHYuaW1naGVpZ2h0PXcoT1t6XSYmT1t6XS5oZWlnaHQsZCYmZC5oZWlnaHQpLEQ9ZnVuY3Rpb24oKXt2LmF0dHIoe3dpZHRoOnYud2lkdGgsaGVpZ2h0OnYuaGVpZ2h0fSl9LGcoWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKGEpe3ZbYSsiU2V0dGVyIl09ZnVuY3Rpb24oYSxiKXt2YXIgaz17fSxjPXRoaXNbImltZyIrYl0sQT0id2lkdGgiPT09Yj8idHJhbnNsYXRlWCI6InRyYW5zbGF0ZVkiO3RoaXNbYl09YTt5KGMpJiYodGhpcy5lbGVtZW50JiZ0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKGIsYyksdGhpcy5hbGlnbkJ5VHJhbnNsYXRlfHwoa1tBXT0oKHRoaXNbYl18fDApLWMpLzIsdGhpcy5hdHRyKGspKSl9fSkseShiKSYmdi5hdHRyKHt4OmIseTprfSksdi5pc0ltZz0hMCx5KHYuaW1nd2lkdGgpJiYKCXkodi5pbWdoZWlnaHQpP0QoKToodi5hdHRyKHt3aWR0aDowLGhlaWdodDowfSkscigiaW1nIix7b25sb2FkOmZ1bmN0aW9uKCl7dmFyIGE9ZltoLmNoYXJ0SW5kZXhdOzA9PT10aGlzLndpZHRoJiYoQyh0aGlzLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiLTk5OWVtIn0pLGUuYm9keS5hcHBlbmRDaGlsZCh0aGlzKSk7T1t6XT17d2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHR9O3YuaW1nd2lkdGg9dGhpcy53aWR0aDt2LmltZ2hlaWdodD10aGlzLmhlaWdodDt2LmVsZW1lbnQmJkQoKTt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKTtoLmltZ0NvdW50LS07aWYoIWguaW1nQ291bnQmJmEmJmEub25sb2FkKWEub25sb2FkKCl9LHNyYzp6fSksdGhpcy5pbWdDb3VudCsrKSk7cmV0dXJuIHZ9LHN5bWJvbHM6e2NpcmNsZTpmdW5jdGlvbihhLGIsayxjKXtyZXR1cm4gdGhpcy5hcmMoYStrLzIsYitjLzIsay8yLGMvMix7c3RhcnQ6MCwKCQkJZW5kOjIqTWF0aC5QSSxvcGVuOiExfSl9LHNxdWFyZTpmdW5jdGlvbihhLGIsayxjKXtyZXR1cm5bIk0iLGEsYiwiTCIsYStrLGIsYStrLGIrYyxhLGIrYywiWiJdfSx0cmlhbmdsZTpmdW5jdGlvbihhLGIsayxjKXtyZXR1cm5bIk0iLGEray8yLGIsIkwiLGErayxiK2MsYSxiK2MsIloiXX0sInRyaWFuZ2xlLWRvd24iOmZ1bmN0aW9uKGEsYixrLGMpe3JldHVyblsiTSIsYSxiLCJMIixhK2ssYixhK2svMixiK2MsIloiXX0sZGlhbW9uZDpmdW5jdGlvbihhLGIsayxjKXtyZXR1cm5bIk0iLGEray8yLGIsIkwiLGErayxiK2MvMixhK2svMixiK2MsYSxiK2MvMiwiWiJdfSxhcmM6ZnVuY3Rpb24oYSxiLGssYyxBKXt2YXIgZD1BLnN0YXJ0LGg9QS5yfHxrLHY9QS5yfHxjfHxrLG09QS5lbmQtLjAwMTtrPUEuaW5uZXJSO2M9dyhBLm9wZW4sLjAwMT5NYXRoLmFicyhBLmVuZC1BLnN0YXJ0LTIqTWF0aC5QSSkpO3ZhciBLPU1hdGguY29zKGQpLGU9TWF0aC5zaW4oZCksbj1NYXRoLmNvcyhtKSwKCQkJbT1NYXRoLnNpbihtKTtBPS4wMDE+QS5lbmQtZC1NYXRoLlBJPzA6MTtoPVsiTSIsYStoKkssYit2KmUsIkEiLGgsdiwwLEEsMSxhK2gqbixiK3YqbV07eShrKSYmaC5wdXNoKGM/Ik0iOiJMIixhK2sqbixiK2sqbSwiQSIsayxrLDAsQSwwLGEraypLLGIrayplKTtoLnB1c2goYz8iIjoiWiIpO3JldHVybiBofSxjYWxsb3V0OmZ1bmN0aW9uKGEsYixrLGMsQSl7dmFyIGQ9TWF0aC5taW4oQSYmQS5yfHwwLGssYyksaD1kKzYsdj1BJiZBLmFuY2hvclg7QT1BJiZBLmFuY2hvclk7dmFyIG07bT1bIk0iLGErZCxiLCJMIixhK2stZCxiLCJDIixhK2ssYixhK2ssYixhK2ssYitkLCJMIixhK2ssYitjLWQsIkMiLGErayxiK2MsYStrLGIrYyxhK2stZCxiK2MsIkwiLGErZCxiK2MsIkMiLGEsYitjLGEsYitjLGEsYitjLWQsIkwiLGEsYitkLCJDIixhLGIsYSxiLGErZCxiXTt2JiZ2Pms/QT5iK2gmJkE8YitjLWg/bS5zcGxpY2UoMTMsMywiTCIsYStrLEEtNixhK2srNixBLGErayxBKzYsYStrLAoJCQliK2MtZCk6bS5zcGxpY2UoMTMsMywiTCIsYStrLGMvMix2LEEsYStrLGMvMixhK2ssYitjLWQpOnYmJjA+dj9BPmIraCYmQTxiK2MtaD9tLnNwbGljZSgzMywzLCJMIixhLEErNixhLTYsQSxhLEEtNixhLGIrZCk6bS5zcGxpY2UoMzMsMywiTCIsYSxjLzIsdixBLGEsYy8yLGEsYitkKTpBJiZBPmMmJnY+YStoJiZ2PGEray1oP20uc3BsaWNlKDIzLDMsIkwiLHYrNixiK2MsdixiK2MrNix2LTYsYitjLGErZCxiK2MpOkEmJjA+QSYmdj5hK2gmJnY8YStrLWgmJm0uc3BsaWNlKDMsMywiTCIsdi02LGIsdixiLTYsdis2LGIsay1kLGIpO3JldHVybiBtfX0sY2xpcFJlY3Q6ZnVuY3Rpb24oYixrLGMsQSl7dmFyIGQ9YS51bmlxdWVLZXkoKSxoPXRoaXMuY3JlYXRlRWxlbWVudCgiY2xpcFBhdGgiKS5hdHRyKHtpZDpkfSkuYWRkKHRoaXMuZGVmcyk7Yj10aGlzLnJlY3QoYixrLGMsQSwwKS5hZGQoaCk7Yi5pZD1kO2IuY2xpcFBhdGg9aDtiLmNvdW50PTA7cmV0dXJuIGJ9LHRleHQ6ZnVuY3Rpb24oYSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJIGIsayxjKXt2YXIgQT17fTtpZihjJiYodGhpcy5hbGxvd0hUTUx8fCF0aGlzLmZvckV4cG9ydCkpcmV0dXJuIHRoaXMuaHRtbChhLGIsayk7QS54PU1hdGgucm91bmQoYnx8MCk7ayYmKEEueT1NYXRoLnJvdW5kKGspKTtpZihhfHwwPT09YSlBLnRleHQ9YTthPXRoaXMuY3JlYXRlRWxlbWVudCgidGV4dCIpLmF0dHIoQSk7Y3x8KGEueFNldHRlcj1mdW5jdGlvbihhLGIsayl7dmFyIGM9ay5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHNwYW4iKSxBLGQ9ay5nZXRBdHRyaWJ1dGUoYiksaDtmb3IoaD0wO2g8Yy5sZW5ndGg7aCsrKUE9Y1toXSxBLmdldEF0dHJpYnV0ZShiKT09PWQmJkEuc2V0QXR0cmlidXRlKGIsYSk7ay5zZXRBdHRyaWJ1dGUoYixhKX0pO3JldHVybiBhfSxmb250TWV0cmljczpmdW5jdGlvbihhLGIpe2E9YXx8YiYmYi5zdHlsZSYmYi5zdHlsZS5mb250U2l6ZXx8dGhpcy5zdHlsZSYmdGhpcy5zdHlsZS5mb250U2l6ZTthPS9weC8udGVzdChhKT9rKGEpOi9lbS8udGVzdChhKT8KCQlwYXJzZUZsb2F0KGEpKihiP3RoaXMuZm9udE1ldHJpY3MobnVsbCxiLnBhcmVudE5vZGUpLmY6MTYpOjEyO2I9MjQ+YT9hKzM6TWF0aC5yb3VuZCgxLjIqYSk7cmV0dXJue2g6YixiOk1hdGgucm91bmQoLjgqYiksZjphfX0scm90Q29ycjpmdW5jdGlvbihhLGIsayl7dmFyIGM9YTtiJiZrJiYoYz1NYXRoLm1heChjKk1hdGguY29zKGIqcCksNCkpO3JldHVybnt4Oi1hLzMqTWF0aC5zaW4oYipwKSx5OmN9fSxsYWJlbDpmdW5jdGlvbihiLGssYyxkLGgsdixLLHcsZSl7dmFyIG49dGhpcyx4PW4uZygiYnV0dG9uIiE9PWUmJiJsYWJlbCIpLHQ9eC50ZXh0PW4udGV4dCgiIiwwLDAsSykuYXR0cih7ekluZGV4OjF9KSxCLHosRD0wLEg9MyxRPTAscCxULE8sZixMLHI9e30sbCxOLE09L151cmxcKCguKj8pXCkkLy50ZXN0KGQpLEM9TSx1LHEsUyxXO2UmJnguYWRkQ2xhc3MoImhpZ2hjaGFydHMtIitlKTtDPU07dT1mdW5jdGlvbigpe3JldHVybihsfHwwKSUyLzJ9O3E9ZnVuY3Rpb24oKXt2YXIgYT0KCQl0LmVsZW1lbnQuc3R5bGUsYj17fTt6PSh2b2lkIDA9PT1wfHx2b2lkIDA9PT1UfHxMKSYmeSh0LnRleHRTdHIpJiZ0LmdldEJCb3goKTt4LndpZHRoPShwfHx6LndpZHRofHwwKSsyKkgrUTt4LmhlaWdodD0oVHx8ei5oZWlnaHR8fDApKzIqSDtOPUgrbi5mb250TWV0cmljcyhhJiZhLmZvbnRTaXplLHQpLmI7QyYmKEJ8fCh4LmJveD1CPW4uc3ltYm9sc1tkXXx8TT9uLnN5bWJvbChkKTpuLnJlY3QoKSxCLmFkZENsYXNzKCgiYnV0dG9uIj09PWU/IiI6ImhpZ2hjaGFydHMtbGFiZWwtYm94IikrKGU/IiBoaWdoY2hhcnRzLSIrZSsiLWJveCI6IiIpKSxCLmFkZCh4KSxhPXUoKSxiLng9YSxiLnk9KHc/LU46MCkrYSksYi53aWR0aD1NYXRoLnJvdW5kKHgud2lkdGgpLGIuaGVpZ2h0PU1hdGgucm91bmQoeC5oZWlnaHQpLEIuYXR0cihtKGIscikpLHI9e30pfTtTPWZ1bmN0aW9uKCl7dmFyIGE9UStILGI7Yj13PzA6Tjt5KHApJiZ6JiYoImNlbnRlciI9PT1MfHwicmlnaHQiPT09TCkmJihhKz0KCQl7Y2VudGVyOi41LHJpZ2h0OjF9W0xdKihwLXoud2lkdGgpKTtpZihhIT09dC54fHxiIT09dC55KXQuYXR0cigieCIsYSksdC5oYXNCb3hXaWR0aENoYW5nZWQmJih6PXQuZ2V0QkJveCghMCkscSgpKSx2b2lkIDAhPT1iJiZ0LmF0dHIoInkiLGIpO3QueD1hO3QueT1ifTtXPWZ1bmN0aW9uKGEsYil7Qj9CLmF0dHIoYSxiKTpyW2FdPWJ9O3gub25BZGQ9ZnVuY3Rpb24oKXt0LmFkZCh4KTt4LmF0dHIoe3RleHQ6Ynx8MD09PWI/YjoiIix4OmsseTpjfSk7QiYmeShoKSYmeC5hdHRyKHthbmNob3JYOmgsYW5jaG9yWTp2fSl9O3gud2lkdGhTZXR0ZXI9ZnVuY3Rpb24oYil7cD1hLmlzTnVtYmVyKGIpP2I6bnVsbH07eC5oZWlnaHRTZXR0ZXI9ZnVuY3Rpb24oYSl7VD1hfTt4WyJ0ZXh0LWFsaWduU2V0dGVyIl09ZnVuY3Rpb24oYSl7TD1hfTt4LnBhZGRpbmdTZXR0ZXI9ZnVuY3Rpb24oYSl7eShhKSYmYSE9PUgmJihIPXgucGFkZGluZz1hLFMoKSl9O3gucGFkZGluZ0xlZnRTZXR0ZXI9ZnVuY3Rpb24oYSl7eShhKSYmCglhIT09USYmKFE9YSxTKCkpfTt4LmFsaWduU2V0dGVyPWZ1bmN0aW9uKGEpe2E9e2xlZnQ6MCxjZW50ZXI6LjUscmlnaHQ6MX1bYV07YSE9PUQmJihEPWEseiYmeC5hdHRyKHt4Ok99KSl9O3gudGV4dFNldHRlcj1mdW5jdGlvbihhKXt2b2lkIDAhPT1hJiZ0LnRleHRTZXR0ZXIoYSk7cSgpO1MoKX07eFsic3Ryb2tlLXdpZHRoU2V0dGVyIl09ZnVuY3Rpb24oYSxiKXthJiYoQz0hMCk7bD10aGlzWyJzdHJva2Utd2lkdGgiXT1hO1coYixhKX07eC5zdHJva2VTZXR0ZXI9eC5maWxsU2V0dGVyPXguclNldHRlcj1mdW5jdGlvbihhLGIpeyJyIiE9PWImJigiZmlsbCI9PT1iJiZhJiYoQz0hMCkseFtiXT1hKTtXKGIsYSl9O3guYW5jaG9yWFNldHRlcj1mdW5jdGlvbihhLGIpe2g9eC5hbmNob3JYPWE7VyhiLE1hdGgucm91bmQoYSktdSgpLU8pfTt4LmFuY2hvcllTZXR0ZXI9ZnVuY3Rpb24oYSxiKXt2PXguYW5jaG9yWT1hO1coYixhLWYpfTt4LnhTZXR0ZXI9ZnVuY3Rpb24oYSl7eC54PWE7CgkJRCYmKGEtPUQqKChwfHx6LndpZHRoKSsyKkgpLHhbImZvcmNlQW5pbWF0ZTp4Il09ITApO089TWF0aC5yb3VuZChhKTt4LmF0dHIoInRyYW5zbGF0ZVgiLE8pfTt4LnlTZXR0ZXI9ZnVuY3Rpb24oYSl7Zj14Lnk9TWF0aC5yb3VuZChhKTt4LmF0dHIoInRyYW5zbGF0ZVkiLGYpfTt2YXIgUj14LmNzcztyZXR1cm4gbSh4LHtjc3M6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9e307YT1JKGEpO2coeC50ZXh0UHJvcHMsZnVuY3Rpb24oayl7dm9pZCAwIT09YVtrXSYmKGJba109YVtrXSxkZWxldGUgYVtrXSl9KTt0LmNzcyhiKTsid2lkdGgiaW4gYiYmcSgpfXJldHVybiBSLmNhbGwoeCxhKX0sZ2V0QkJveDpmdW5jdGlvbigpe3JldHVybnt3aWR0aDp6LndpZHRoKzIqSCxoZWlnaHQ6ei5oZWlnaHQrMipILHg6ei54LUgseTp6LnktSH19LHNoYWRvdzpmdW5jdGlvbihhKXthJiYocSgpLEImJkIuc2hhZG93KGEpKTtyZXR1cm4geH0sZGVzdHJveTpmdW5jdGlvbigpe0EoeC5lbGVtZW50LCJtb3VzZWVudGVyIik7CgkJCUEoeC5lbGVtZW50LCJtb3VzZWxlYXZlIik7dCYmKHQ9dC5kZXN0cm95KCkpO0ImJihCPUIuZGVzdHJveSgpKTtFLnByb3RvdHlwZS5kZXN0cm95LmNhbGwoeCk7eD1uPXE9Uz1XPW51bGx9fSl9fSk7YS5SZW5kZXJlcj1GfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYXR0cixGPWEuY3JlYXRlRWxlbWVudCxHPWEuY3NzLHE9YS5kZWZpbmVkLGw9YS5lYWNoLGY9YS5leHRlbmQsdT1hLmlzRmlyZWZveCxDPWEuaXNNUyxyPWEuaXNXZWJLaXQseT1hLnBpY2sscD1hLnBJbnQsZD1hLlNWR1JlbmRlcmVyLGU9YS53aW4sZz1hLndyYXA7ZihhLlNWR0VsZW1lbnQucHJvdG90eXBlLHtodG1sQ3NzOmZ1bmN0aW9uKGEpe3ZhciBiPSJTUEFOIj09PXRoaXMuZWxlbWVudC50YWdOYW1lJiZhJiYid2lkdGgiaW4gYSxjPXkoYiYmYS53aWR0aCx2b2lkIDApO2ImJihkZWxldGUgYS53aWR0aCx0aGlzLnRleHRXaWR0aD1jLHRoaXMuaHRtbFVwZGF0ZVRyYW5zZm9ybSgpKTthJiYiZWxsaXBzaXMiPT09CglhLnRleHRPdmVyZmxvdyYmKGEud2hpdGVTcGFjZT0ibm93cmFwIixhLm92ZXJmbG93PSJoaWRkZW4iKTt0aGlzLnN0eWxlcz1mKHRoaXMuc3R5bGVzLGEpO0codGhpcy5lbGVtZW50LGEpO3JldHVybiB0aGlzfSxodG1sR2V0QkJveDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZWxlbWVudDtyZXR1cm57eDphLm9mZnNldExlZnQseTphLm9mZnNldFRvcCx3aWR0aDphLm9mZnNldFdpZHRoLGhlaWdodDphLm9mZnNldEhlaWdodH19LGh0bWxVcGRhdGVUcmFuc2Zvcm06ZnVuY3Rpb24oKXtpZih0aGlzLmFkZGVkKXt2YXIgYT10aGlzLnJlbmRlcmVyLGI9dGhpcy5lbGVtZW50LGM9dGhpcy50cmFuc2xhdGVYfHwwLGQ9dGhpcy50cmFuc2xhdGVZfHwwLGU9dGhpcy54fHwwLHQ9dGhpcy55fHwwLG49dGhpcy50ZXh0QWxpZ258fCJsZWZ0IixnPXtsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjF9W25dLHo9dGhpcy5zdHlsZXMsRD16JiZ6LndoaXRlU3BhY2U7RyhiLHttYXJnaW5MZWZ0OmMsbWFyZ2luVG9wOmR9KTsKCQl0aGlzLnNoYWRvd3MmJmwodGhpcy5zaGFkb3dzLGZ1bmN0aW9uKGEpe0coYSx7bWFyZ2luTGVmdDpjKzEsbWFyZ2luVG9wOmQrMX0pfSk7dGhpcy5pbnZlcnRlZCYmbChiLmNoaWxkTm9kZXMsZnVuY3Rpb24oYyl7YS5pbnZlcnRDaGlsZChjLGIpfSk7aWYoIlNQQU4iPT09Yi50YWdOYW1lKXt2YXIgej10aGlzLnJvdGF0aW9uLGg9dGhpcy50ZXh0V2lkdGgmJnAodGhpcy50ZXh0V2lkdGgpLEk9W3osbixiLmlubmVySFRNTCx0aGlzLnRleHRXaWR0aCx0aGlzLnRleHRBbGlnbl0uam9pbigpLEg7KEg9aCE9PXRoaXMub2xkVGV4dFdpZHRoKSYmIShIPWg+dGhpcy5vbGRUZXh0V2lkdGgpJiYoKEg9dGhpcy50ZXh0UHhMZW5ndGgpfHwoRyhiLHt3aWR0aDoiIix3aGl0ZVNwYWNlOkR8fCJub3dyYXAifSksSD1iLm9mZnNldFdpZHRoKSxIPUg+aCk7SCYmL1sgXC1dLy50ZXN0KGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0KT8oRyhiLHt3aWR0aDpoKyJweCIsZGlzcGxheToiYmxvY2siLHdoaXRlU3BhY2U6RHx8CgkJCSJub3JtYWwifSksdGhpcy5vbGRUZXh0V2lkdGg9aCx0aGlzLmhhc0JveFdpZHRoQ2hhbmdlZD0hMCk6dGhpcy5oYXNCb3hXaWR0aENoYW5nZWQ9ITE7SSE9PXRoaXMuY1RUJiYoRD1hLmZvbnRNZXRyaWNzKGIuc3R5bGUuZm9udFNpemUpLmIsIXEoeil8fHo9PT0odGhpcy5vbGRSb3RhdGlvbnx8MCkmJm49PT10aGlzLm9sZEFsaWdufHx0aGlzLnNldFNwYW5Sb3RhdGlvbih6LGcsRCksdGhpcy5nZXRTcGFuQ29ycmVjdGlvbighcSh6KSYmdGhpcy50ZXh0UHhMZW5ndGh8fGIub2Zmc2V0V2lkdGgsRCxnLHosbikpO0coYix7bGVmdDplKyh0aGlzLnhDb3JyfHwwKSsicHgiLHRvcDp0Kyh0aGlzLnlDb3JyfHwwKSsicHgifSk7dGhpcy5jVFQ9STt0aGlzLm9sZFJvdGF0aW9uPXo7dGhpcy5vbGRBbGlnbj1ufX1lbHNlIHRoaXMuYWxpZ25PbkFkZD0hMH0sc2V0U3BhblJvdGF0aW9uOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD17fSxtPXRoaXMucmVuZGVyZXIuZ2V0VHJhbnNmb3JtS2V5KCk7ZFttXT0KCQlkLnRyYW5zZm9ybT0icm90YXRlKCIrYSsiZGVnKSI7ZFttKyh1PyJPcmlnaW4iOiItb3JpZ2luIildPWQudHJhbnNmb3JtT3JpZ2luPTEwMCpiKyIlICIrYysicHgiO0codGhpcy5lbGVtZW50LGQpfSxnZXRTcGFuQ29ycmVjdGlvbjpmdW5jdGlvbihhLGIsYyl7dGhpcy54Q29ycj0tYSpjO3RoaXMueUNvcnI9LWJ9fSk7ZihkLnByb3RvdHlwZSx7Z2V0VHJhbnNmb3JtS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIEMmJiEvRWRnZS8udGVzdChlLm5hdmlnYXRvci51c2VyQWdlbnQpPyItbXMtdHJhbnNmb3JtIjpyPyItd2Via2l0LXRyYW5zZm9ybSI6dT8iTW96VHJhbnNmb3JtIjplLm9wZXJhPyItby10cmFuc2Zvcm0iOiIifSxodG1sOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxtPWQuZWxlbWVudCxlPWQucmVuZGVyZXIsbj1lLmlzU1ZHLHA9ZnVuY3Rpb24oYSxiKXtsKFsib3BhY2l0eSIsInZpc2liaWxpdHkiXSxmdW5jdGlvbihjKXtnKGEsYysKCQkiU2V0dGVyIixmdW5jdGlvbihhLGMsZCxoKXthLmNhbGwodGhpcyxjLGQsaCk7YltkXT1jfSl9KTthLmFkZGVkU2V0dGVycz0hMH07ZC50ZXh0U2V0dGVyPWZ1bmN0aW9uKGEpe2EhPT1tLmlubmVySFRNTCYmZGVsZXRlIHRoaXMuYkJveDt0aGlzLnRleHRTdHI9YTttLmlubmVySFRNTD15KGEsIiIpO2QuZG9UcmFuc2Zvcm09ITB9O24mJnAoZCxkLmVsZW1lbnQuc3R5bGUpO2QueFNldHRlcj1kLnlTZXR0ZXI9ZC5hbGlnblNldHRlcj1kLnJvdGF0aW9uU2V0dGVyPWZ1bmN0aW9uKGEsYil7ImFsaWduIj09PWImJihiPSJ0ZXh0QWxpZ24iKTtkW2JdPWE7ZC5kb1RyYW5zZm9ybT0hMH07ZC5hZnRlclNldHRlcnM9ZnVuY3Rpb24oKXt0aGlzLmRvVHJhbnNmb3JtJiYodGhpcy5odG1sVXBkYXRlVHJhbnNmb3JtKCksdGhpcy5kb1RyYW5zZm9ybT0hMSl9O2QuYXR0cih7dGV4dDphLHg6TWF0aC5yb3VuZChiKSx5Ok1hdGgucm91bmQoYyl9KS5jc3Moe2ZvbnRGYW1pbHk6dGhpcy5zdHlsZS5mb250RmFtaWx5LAoJCWZvbnRTaXplOnRoaXMuc3R5bGUuZm9udFNpemUscG9zaXRpb246ImFic29sdXRlIn0pO20uc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIjtkLmNzcz1kLmh0bWxDc3M7biYmKGQuYWRkPWZ1bmN0aW9uKGEpe3ZhciBiLGM9ZS5ib3gucGFyZW50Tm9kZSxuPVtdO2lmKHRoaXMucGFyZW50R3JvdXA9YSl7aWYoYj1hLmRpdiwhYil7Zm9yKDthOyluLnB1c2goYSksYT1hLnBhcmVudEdyb3VwO2wobi5yZXZlcnNlKCksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gaChiLGspe2Fba109YjsidHJhbnNsYXRlWCI9PT1rP20ubGVmdD1iKyJweCI6bS50b3A9YisicHgiO2EuZG9UcmFuc2Zvcm09ITB9dmFyIG0saz1FKGEuZWxlbWVudCwiY2xhc3MiKTtrJiYoaz17Y2xhc3NOYW1lOmt9KTtiPWEuZGl2PWEuZGl2fHxGKCJkaXYiLGsse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDooYS50cmFuc2xhdGVYfHwwKSsicHgiLHRvcDooYS50cmFuc2xhdGVZfHwwKSsicHgiLGRpc3BsYXk6YS5kaXNwbGF5LG9wYWNpdHk6YS5vcGFjaXR5LAoJCXBvaW50ZXJFdmVudHM6YS5zdHlsZXMmJmEuc3R5bGVzLnBvaW50ZXJFdmVudHN9LGJ8fGMpO209Yi5zdHlsZTtmKGEse2NsYXNzU2V0dGVyOmZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsYik7YS5jbGFzc05hbWU9Yn19KGIpLG9uOmZ1bmN0aW9uKCl7blswXS5kaXYmJmQub24uYXBwbHkoe2VsZW1lbnQ6blswXS5kaXZ9LGFyZ3VtZW50cyk7cmV0dXJuIGF9LHRyYW5zbGF0ZVhTZXR0ZXI6aCx0cmFuc2xhdGVZU2V0dGVyOmh9KTthLmFkZGVkU2V0dGVyc3x8cChhLG0pfSl9fWVsc2UgYj1jO2IuYXBwZW5kQ2hpbGQobSk7ZC5hZGRlZD0hMDtkLmFsaWduT25BZGQmJmQuaHRtbFVwZGF0ZVRyYW5zZm9ybSgpO3JldHVybiBkfSk7cmV0dXJuIGR9fSl9KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5kZWZpbmVkLEY9YS5lYWNoLEc9YS5leHRlbmQscT1hLm1lcmdlLGw9YS5waWNrLGY9YS50aW1lVW5pdHMsdT1hLndpbjsKCWEuVGltZT1mdW5jdGlvbihhKXt0aGlzLnVwZGF0ZShhLCExKX07YS5UaW1lLnByb3RvdHlwZT17ZGVmYXVsdE9wdGlvbnM6e30sdXBkYXRlOmZ1bmN0aW9uKGEpe3ZhciBmPWwoYSYmYS51c2VVVEMsITApLHk9dGhpczt0aGlzLm9wdGlvbnM9YT1xKCEwLHRoaXMub3B0aW9uc3x8e30sYSk7dGhpcy5EYXRlPWEuRGF0ZXx8dS5EYXRlO3RoaXMudGltZXpvbmVPZmZzZXQ9KHRoaXMudXNlVVRDPWYpJiZhLnRpbWV6b25lT2Zmc2V0O3RoaXMuZ2V0VGltZXpvbmVPZmZzZXQ9dGhpcy50aW1lem9uZU9mZnNldEZ1bmN0aW9uKCk7KHRoaXMudmFyaWFibGVUaW1lem9uZT0hKGYmJiFhLmdldFRpbWV6b25lT2Zmc2V0JiYhYS50aW1lem9uZSkpfHx0aGlzLnRpbWV6b25lT2Zmc2V0Pyh0aGlzLmdldD1mdW5jdGlvbihhLGQpe3ZhciBlPWQuZ2V0VGltZSgpLGc9ZS15LmdldFRpbWV6b25lT2Zmc2V0KGQpO2Quc2V0VGltZShnKTthPWRbImdldFVUQyIrYV0oKTtkLnNldFRpbWUoZSk7cmV0dXJuIGF9LAoJCQl0aGlzLnNldD1mdW5jdGlvbihhLGQsZSl7dmFyIGc7aWYoIk1pbGxpc2Vjb25kcyI9PT1hfHwiU2Vjb25kcyI9PT1hfHwiTWludXRlcyI9PT1hJiYwPT09ZC5nZXRUaW1lem9uZU9mZnNldCgpJTYwKWRbInNldCIrYV0oZSk7ZWxzZSBnPXkuZ2V0VGltZXpvbmVPZmZzZXQoZCksZz1kLmdldFRpbWUoKS1nLGQuc2V0VGltZShnKSxkWyJzZXRVVEMiK2FdKGUpLGE9eS5nZXRUaW1lem9uZU9mZnNldChkKSxnPWQuZ2V0VGltZSgpK2EsZC5zZXRUaW1lKGcpfSk6Zj8odGhpcy5nZXQ9ZnVuY3Rpb24oYSxkKXtyZXR1cm4gZFsiZ2V0VVRDIithXSgpfSx0aGlzLnNldD1mdW5jdGlvbihhLGQsZSl7cmV0dXJuIGRbInNldFVUQyIrYV0oZSl9KToodGhpcy5nZXQ9ZnVuY3Rpb24oYSxkKXtyZXR1cm4gZFsiZ2V0IithXSgpfSx0aGlzLnNldD1mdW5jdGlvbihhLGQsZSl7cmV0dXJuIGRbInNldCIrYV0oZSl9KX0sbWFrZVRpbWU6ZnVuY3Rpb24oZixyLHkscCxkLGUpe3ZhciBnLG0sYjt0aGlzLnVzZVVUQz8KCQkJKGc9dGhpcy5EYXRlLlVUQy5hcHBseSgwLGFyZ3VtZW50cyksbT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGcpLGcrPW0sYj10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGcpLG0hPT1iP2crPWItbTptLTM2RTUhPT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGctMzZFNSl8fGEuaXNTYWZhcml8fChnLT0zNkU1KSk6Zz0obmV3IHRoaXMuRGF0ZShmLHIsbCh5LDEpLGwocCwwKSxsKGQsMCksbChlLDApKSkuZ2V0VGltZSgpO3JldHVybiBnfSx0aW1lem9uZU9mZnNldEZ1bmN0aW9uOmZ1bmN0aW9uKCl7dmFyIGY9dGhpcyxyPXRoaXMub3B0aW9ucyxsPXUubW9tZW50O2lmKCF0aGlzLnVzZVVUQylyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDZFNCoobmV3IERhdGUoYSkpLmdldFRpbWV6b25lT2Zmc2V0KCl9O2lmKHIudGltZXpvbmUpe2lmKGwpcmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiA2RTQqLWwudHooYSxyLnRpbWV6b25lKS51dGNPZmZzZXQoKX07YS5lcnJvcigyNSl9cmV0dXJuIHRoaXMudXNlVVRDJiYKCQlyLmdldFRpbWV6b25lT2Zmc2V0P2Z1bmN0aW9uKGEpe3JldHVybiA2RTQqci5nZXRUaW1lem9uZU9mZnNldChhKX06ZnVuY3Rpb24oKXtyZXR1cm4gNkU0KihmLnRpbWV6b25lT2Zmc2V0fHwwKX19LGRhdGVGb3JtYXQ6ZnVuY3Rpb24oZixsLHkpe2lmKCFhLmRlZmluZWQobCl8fGlzTmFOKGwpKXJldHVybiBhLmRlZmF1bHRPcHRpb25zLmxhbmcuaW52YWxpZERhdGV8fCIiO2Y9YS5waWNrKGYsIiVZLSVtLSVkICVIOiVNOiVTIik7dmFyIHA9dGhpcyxkPW5ldyB0aGlzLkRhdGUobCksZT10aGlzLmdldCgiSG91cnMiLGQpLGc9dGhpcy5nZXQoIkRheSIsZCksbT10aGlzLmdldCgiRGF0ZSIsZCksYj10aGlzLmdldCgiTW9udGgiLGQpLGM9dGhpcy5nZXQoIkZ1bGxZZWFyIixkKSx4PWEuZGVmYXVsdE9wdGlvbnMubGFuZyxCPXgud2Vla2RheXMsdD14LnNob3J0V2Vla2RheXMsbj1hLnBhZCxkPWEuZXh0ZW5kKHthOnQ/dFtnXTpCW2ddLnN1YnN0cigwLDMpLEE6QltnXSxkOm4obSksZTpuKG0sCgkJCQkyLCIgIiksdzpnLGI6eC5zaG9ydE1vbnRoc1tiXSxCOngubW9udGhzW2JdLG06bihiKzEpLG86YisxLHk6Yy50b1N0cmluZygpLnN1YnN0cigyLDIpLFk6YyxIOm4oZSksazplLEk6bihlJTEyfHwxMiksbDplJTEyfHwxMixNOm4ocC5nZXQoIk1pbnV0ZXMiLGQpKSxwOjEyPmU/IkFNIjoiUE0iLFA6MTI+ZT8iYW0iOiJwbSIsUzpuKGQuZ2V0U2Vjb25kcygpKSxMOm4oTWF0aC5mbG9vcihsJTFFMyksMyl9LGEuZGF0ZUZvcm1hdHMpO2Eub2JqZWN0RWFjaChkLGZ1bmN0aW9uKGEsYil7Zm9yKDstMSE9PWYuaW5kZXhPZigiJSIrYik7KWY9Zi5yZXBsYWNlKCIlIitiLCJmdW5jdGlvbiI9PT10eXBlb2YgYT9hLmNhbGwocCxsKTphKX0pO3JldHVybiB5P2Yuc3Vic3RyKDAsMSkudG9VcHBlckNhc2UoKStmLnN1YnN0cigxKTpmfSxnZXRUaW1lVGlja3M6ZnVuY3Rpb24oYSxyLHkscCl7dmFyIGQ9dGhpcyxlPVtdLGcsbT17fSxiO2c9bmV3IGQuRGF0ZShyKTt2YXIgYz1hLnVuaXRSYW5nZSwKCQkJeD1hLmNvdW50fHwxLEI7cD1sKHAsMSk7aWYoRShyKSl7ZC5zZXQoIk1pbGxpc2Vjb25kcyIsZyxjPj1mLnNlY29uZD8wOngqTWF0aC5mbG9vcihkLmdldCgiTWlsbGlzZWNvbmRzIixnKS94KSk7Yz49Zi5zZWNvbmQmJmQuc2V0KCJTZWNvbmRzIixnLGM+PWYubWludXRlPzA6eCpNYXRoLmZsb29yKGQuZ2V0KCJTZWNvbmRzIixnKS94KSk7Yz49Zi5taW51dGUmJmQuc2V0KCJNaW51dGVzIixnLGM+PWYuaG91cj8wOngqTWF0aC5mbG9vcihkLmdldCgiTWludXRlcyIsZykveCkpO2M+PWYuaG91ciYmZC5zZXQoIkhvdXJzIixnLGM+PWYuZGF5PzA6eCpNYXRoLmZsb29yKGQuZ2V0KCJIb3VycyIsZykveCkpO2M+PWYuZGF5JiZkLnNldCgiRGF0ZSIsZyxjPj1mLm1vbnRoPzE6eCpNYXRoLmZsb29yKGQuZ2V0KCJEYXRlIixnKS94KSk7Yz49Zi5tb250aCYmKGQuc2V0KCJNb250aCIsZyxjPj1mLnllYXI/MDp4Kk1hdGguZmxvb3IoZC5nZXQoIk1vbnRoIixnKS94KSksYj1kLmdldCgiRnVsbFllYXIiLAoJCQlnKSk7Yz49Zi55ZWFyJiZkLnNldCgiRnVsbFllYXIiLGcsYi1iJXgpO2M9PT1mLndlZWsmJihiPWQuZ2V0KCJEYXkiLGcpLGQuc2V0KCJEYXRlIixnLGQuZ2V0KCJEYXRlIixnKS1iK3ArKGI8cD8tNzowKSkpO2I9ZC5nZXQoIkZ1bGxZZWFyIixnKTtwPWQuZ2V0KCJNb250aCIsZyk7dmFyIHQ9ZC5nZXQoIkRhdGUiLGcpLG49ZC5nZXQoIkhvdXJzIixnKTtyPWcuZ2V0VGltZSgpO2QudmFyaWFibGVUaW1lem9uZSYmKEI9eS1yPjQqZi5tb250aHx8ZC5nZXRUaW1lem9uZU9mZnNldChyKSE9PWQuZ2V0VGltZXpvbmVPZmZzZXQoeSkpO3I9Zy5nZXRUaW1lKCk7Zm9yKGc9MTtyPHk7KWUucHVzaChyKSxyPWM9PT1mLnllYXI/ZC5tYWtlVGltZShiK2cqeCwwKTpjPT09Zi5tb250aD9kLm1ha2VUaW1lKGIscCtnKngpOiFCfHxjIT09Zi5kYXkmJmMhPT1mLndlZWs/QiYmYz09PWYuaG91ciYmMTx4P2QubWFrZVRpbWUoYixwLHQsbitnKngpOnIrYyp4OmQubWFrZVRpbWUoYixwLHQrZyp4KihjPT09CgkJZi5kYXk/MTo3KSksZysrO2UucHVzaChyKTtjPD1mLmhvdXImJjFFND5lLmxlbmd0aCYmRihlLGZ1bmN0aW9uKGEpezA9PT1hJTE4RTUmJiIwMDAwMDAwMDAiPT09ZC5kYXRlRm9ybWF0KCIlSCVNJVMlTCIsYSkmJihtW2FdPSJkYXkiKX0pfWUuaW5mbz1HKGEse2hpZ2hlclJhbmtzOm0sdG90YWxSYW5nZTpjKnh9KTtyZXR1cm4gZX19fSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuY29sb3IsRj1hLm1lcmdlO2EuZGVmYXVsdE9wdGlvbnM9e2NvbG9yczoiIzdjYjVlYyAjNDM0MzQ4ICM5MGVkN2QgI2Y3YTM1YyAjODA4NWU5ICNmMTVjODAgI2U0ZDM1NCAjMmI5MDhmICNmNDViNWIgIzkxZThlMSIuc3BsaXQoIiAiKSxzeW1ib2xzOlsiY2lyY2xlIiwiZGlhbW9uZCIsInNxdWFyZSIsInRyaWFuZ2xlIiwidHJpYW5nbGUtZG93biJdLGxhbmc6e2xvYWRpbmc6IkxvYWRpbmcuLi4iLG1vbnRoczoiSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKSwKCQlzaG9ydE1vbnRoczoiSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksd2Vla2RheXM6IlN1bmRheSBNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5Ii5zcGxpdCgiICIpLGRlY2ltYWxQb2ludDoiLiIsbnVtZXJpY1N5bWJvbHM6ImtNR1RQRSIuc3BsaXQoIiIpLHJlc2V0Wm9vbToiUmVzZXQgem9vbSIscmVzZXRab29tVGl0bGU6IlJlc2V0IHpvb20gbGV2ZWwgMToxIix0aG91c2FuZHNTZXA6IiAifSxnbG9iYWw6e30sdGltZTphLlRpbWUucHJvdG90eXBlLmRlZmF1bHRPcHRpb25zLGNoYXJ0Ontib3JkZXJSYWRpdXM6MCxkZWZhdWx0U2VyaWVzVHlwZToibGluZSIsaWdub3JlSGlkZGVuU2VyaWVzOiEwLHNwYWNpbmc6WzEwLDEwLDE1LDEwXSxyZXNldFpvb21CdXR0b246e3RoZW1lOnt6SW5kZXg6Nn0scG9zaXRpb246e2FsaWduOiJyaWdodCIseDotMTAseToxMH19LHdpZHRoOm51bGwsCgkJaGVpZ2h0Om51bGwsYm9yZGVyQ29sb3I6IiMzMzVjYWQiLGJhY2tncm91bmRDb2xvcjoiI2ZmZmZmZiIscGxvdEJvcmRlckNvbG9yOiIjY2NjY2NjIn0sdGl0bGU6e3RleHQ6IkNoYXJ0IHRpdGxlIixhbGlnbjoiY2VudGVyIixtYXJnaW46MTUsd2lkdGhBZGp1c3Q6LTQ0fSxzdWJ0aXRsZTp7dGV4dDoiIixhbGlnbjoiY2VudGVyIix3aWR0aEFkanVzdDotNDR9LHBsb3RPcHRpb25zOnt9LGxhYmVsczp7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsY29sb3I6IiMzMzMzMzMifX0sbGVnZW5kOntlbmFibGVkOiEwLGFsaWduOiJjZW50ZXIiLGFsaWduQ29sdW1uczohMCxsYXlvdXQ6Imhvcml6b250YWwiLGxhYmVsRm9ybWF0dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX0sYm9yZGVyQ29sb3I6IiM5OTk5OTkiLGJvcmRlclJhZGl1czowLG5hdmlnYXRpb246e2FjdGl2ZUNvbG9yOiIjMDAzMzk5IixpbmFjdGl2ZUNvbG9yOiIjY2NjY2NjIn0saXRlbVN0eWxlOntjb2xvcjoiIzMzMzMzMyIsCgkJCWZvbnRTaXplOiIxMnB4Iixmb250V2VpZ2h0OiJib2xkIix0ZXh0T3ZlcmZsb3c6ImVsbGlwc2lzIn0saXRlbUhvdmVyU3R5bGU6e2NvbG9yOiIjMDAwMDAwIn0saXRlbUhpZGRlblN0eWxlOntjb2xvcjoiI2NjY2NjYyJ9LHNoYWRvdzohMSxpdGVtQ2hlY2tib3hTdHlsZTp7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoiMTNweCIsaGVpZ2h0OiIxM3B4In0sc3F1YXJlU3ltYm9sOiEwLHN5bWJvbFBhZGRpbmc6NSx2ZXJ0aWNhbEFsaWduOiJib3R0b20iLHg6MCx5OjAsdGl0bGU6e3N0eWxlOntmb250V2VpZ2h0OiJib2xkIn19fSxsb2FkaW5nOntsYWJlbFN0eWxlOntmb250V2VpZ2h0OiJib2xkIixwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiNDUlIn0sc3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsYmFja2dyb3VuZENvbG9yOiIjZmZmZmZmIixvcGFjaXR5Oi41LHRleHRBbGlnbjoiY2VudGVyIn19LHRvb2x0aXA6e2VuYWJsZWQ6ITAsYW5pbWF0aW9uOmEuc3ZnLGJvcmRlclJhZGl1czozLAoJCWRhdGVUaW1lTGFiZWxGb3JtYXRzOnttaWxsaXNlY29uZDoiJUEsICViICVlLCAlSDolTTolUy4lTCIsc2Vjb25kOiIlQSwgJWIgJWUsICVIOiVNOiVTIixtaW51dGU6IiVBLCAlYiAlZSwgJUg6JU0iLGhvdXI6IiVBLCAlYiAlZSwgJUg6JU0iLGRheToiJUEsICViICVlLCAlWSIsd2VlazoiV2VlayBmcm9tICVBLCAlYiAlZSwgJVkiLG1vbnRoOiIlQiAlWSIseWVhcjoiJVkifSxmb290ZXJGb3JtYXQ6IiIscGFkZGluZzo4LHNuYXA6YS5pc1RvdWNoRGV2aWNlPzI1OjEwLGJhY2tncm91bmRDb2xvcjpFKCIjZjdmN2Y3Iikuc2V0T3BhY2l0eSguODUpLmdldCgpLGJvcmRlcldpZHRoOjEsaGVhZGVyRm9ybWF0OidceDNjc3BhbiBzdHlsZVx4M2QiZm9udC1zaXplOiAxMHB4Ilx4M2V7cG9pbnQua2V5fVx4M2Mvc3Bhblx4M2VceDNjYnIvXHgzZScscG9pbnRGb3JtYXQ6J1x4M2NzcGFuIHN0eWxlXHgzZCJjb2xvcjp7cG9pbnQuY29sb3J9Ilx4M2VcdTI1Y2ZceDNjL3NwYW5ceDNlIHtzZXJpZXMubmFtZX06IFx4M2NiXHgzZXtwb2ludC55fVx4M2MvYlx4M2VceDNjYnIvXHgzZScsCgkJc2hhZG93OiEwLHN0eWxlOntjb2xvcjoiIzMzMzMzMyIsY3Vyc29yOiJkZWZhdWx0Iixmb250U2l6ZToiMTJweCIscG9pbnRlckV2ZW50czoibm9uZSIsd2hpdGVTcGFjZToibm93cmFwIn19LGNyZWRpdHM6e2VuYWJsZWQ6ITAsaHJlZjoiaHR0cHM6Ly93d3cuaGlnaGNoYXJ0cy5jb20iLHBvc2l0aW9uOnthbGlnbjoicmlnaHQiLHg6LTEwLHZlcnRpY2FsQWxpZ246ImJvdHRvbSIseTotNX0sc3R5bGU6e2N1cnNvcjoicG9pbnRlciIsY29sb3I6IiM5OTk5OTkiLGZvbnRTaXplOiI5cHgifSx0ZXh0OiJIaWdoY2hhcnRzLmNvbSJ9fTthLnNldE9wdGlvbnM9ZnVuY3Rpb24oRSl7YS5kZWZhdWx0T3B0aW9ucz1GKCEwLGEuZGVmYXVsdE9wdGlvbnMsRSk7YS50aW1lLnVwZGF0ZShGKGEuZGVmYXVsdE9wdGlvbnMuZ2xvYmFsLGEuZGVmYXVsdE9wdGlvbnMudGltZSksITEpO3JldHVybiBhLmRlZmF1bHRPcHRpb25zfTthLmdldE9wdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gYS5kZWZhdWx0T3B0aW9uc307CglhLmRlZmF1bHRQbG90T3B0aW9ucz1hLmRlZmF1bHRPcHRpb25zLnBsb3RPcHRpb25zO2EudGltZT1uZXcgYS5UaW1lKEYoYS5kZWZhdWx0T3B0aW9ucy5nbG9iYWwsYS5kZWZhdWx0T3B0aW9ucy50aW1lKSk7YS5kYXRlRm9ybWF0PWZ1bmN0aW9uKEYscSxsKXtyZXR1cm4gYS50aW1lLmRhdGVGb3JtYXQoRixxLGwpfX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmNvcnJlY3RGbG9hdCxGPWEuZGVmaW5lZCxHPWEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMscT1hLmZpcmVFdmVudCxsPWEuaXNOdW1iZXIsZj1hLm1lcmdlLHU9YS5waWNrLEM9YS5kZWcycmFkO2EuVGljaz1mdW5jdGlvbihhLGYscCxkKXt0aGlzLmF4aXM9YTt0aGlzLnBvcz1mO3RoaXMudHlwZT1wfHwiIjt0aGlzLmlzTmV3TGFiZWw9dGhpcy5pc05ldz0hMDtwfHxkfHx0aGlzLmFkZExhYmVsKCl9O2EuVGljay5wcm90b3R5cGU9e2FkZExhYmVsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5heGlzLGw9YS5vcHRpb25zLHA9CgkJYS5jaGFydCxkPWEuY2F0ZWdvcmllcyxlPWEubmFtZXMsZz10aGlzLnBvcyxtPWwubGFiZWxzLGI9YS50aWNrUG9zaXRpb25zLGM9Zz09PWJbMF0seD1nPT09YltiLmxlbmd0aC0xXSxlPWQ/dShkW2ddLGVbZ10sZyk6ZyxkPXRoaXMubGFiZWwsYj1iLmluZm8sQjthLmlzRGF0ZXRpbWVBeGlzJiZiJiYoQj1sLmRhdGVUaW1lTGFiZWxGb3JtYXRzW2IuaGlnaGVyUmFua3NbZ118fGIudW5pdE5hbWVdKTt0aGlzLmlzRmlyc3Q9Yzt0aGlzLmlzTGFzdD14O2w9e2F4aXM6YSxjaGFydDpwLGlzRmlyc3Q6Yyxpc0xhc3Q6eCxkYXRlVGltZUxhYmVsRm9ybWF0OkIsdmFsdWU6YS5pc0xvZz9FKGEubGluMmxvZyhlKSk6ZSxwb3M6Z307bD1hLmxhYmVsRm9ybWF0dGVyLmNhbGwobCxsKTtpZihGKGQpKWQmJmQudGV4dFN0ciE9PWwmJighZC50ZXh0V2lkdGh8fG0uc3R5bGUmJm0uc3R5bGUud2lkdGh8fGQuc3R5bGVzLndpZHRofHxkLmNzcyh7d2lkdGg6bnVsbH0pLGQuYXR0cih7dGV4dDpsfSkpOwoJZWxzZXtpZih0aGlzLmxhYmVsPWQ9RihsKSYmbS5lbmFibGVkP3AucmVuZGVyZXIudGV4dChsLDAsMCxtLnVzZUhUTUwpLmNzcyhmKG0uc3R5bGUpKS5hZGQoYS5sYWJlbEdyb3VwKTpudWxsKWQudGV4dFB4TGVuZ3RoPWQuZ2V0QkJveCgpLndpZHRoO3RoaXMucm90YXRpb249MH19LGdldExhYmVsU2l6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxhYmVsP3RoaXMubGFiZWwuZ2V0QkJveCgpW3RoaXMuYXhpcy5ob3Jpej8iaGVpZ2h0Ijoid2lkdGgiXTowfSxoYW5kbGVPdmVyZmxvdzpmdW5jdGlvbihhKXt2YXIgZj10aGlzLmF4aXMscD1mLm9wdGlvbnMubGFiZWxzLGQ9YS54LGU9Zi5jaGFydC5jaGFydFdpZHRoLGc9Zi5jaGFydC5zcGFjaW5nLG09dShmLmxhYmVsTGVmdCxNYXRoLm1pbihmLnBvcyxnWzNdKSksZz11KGYubGFiZWxSaWdodCxNYXRoLm1heChmLmlzUmFkaWFsPzA6Zi5wb3MrZi5sZW4sZS1nWzFdKSksYj10aGlzLmxhYmVsLGM9dGhpcy5yb3RhdGlvbix4PXtsZWZ0OjAsCgkJY2VudGVyOi41LHJpZ2h0OjF9W2YubGFiZWxBbGlnbnx8Yi5hdHRyKCJhbGlnbiIpXSxCPWIuZ2V0QkJveCgpLndpZHRoLHQ9Zi5nZXRTbG90V2lkdGgodGhpcyksbj10LGw9MSx6LEQ9e307aWYoY3x8Imp1c3RpZnkiIT09dShwLm92ZXJmbG93LCJqdXN0aWZ5IikpMD5jJiZkLXgqQjxtP3o9TWF0aC5yb3VuZChkL01hdGguY29zKGMqQyktbSk6MDxjJiZkK3gqQj5nJiYoej1NYXRoLnJvdW5kKChlLWQpL01hdGguY29zKGMqQykpKTtlbHNlIGlmKGU9ZCsoMS14KSpCLGQteCpCPG0/bj1hLngrbiooMS14KS1tOmU+ZyYmKG49Zy1hLngrbip4LGw9LTEpLG49TWF0aC5taW4odCxuKSxuPHQmJiJjZW50ZXIiPT09Zi5sYWJlbEFsaWduJiYoYS54Kz1sKih0LW4teCoodC1NYXRoLm1pbihCLG4pKSkpLEI+bnx8Zi5hdXRvUm90YXRpb24mJihiLnN0eWxlc3x8e30pLndpZHRoKXo9bjt6JiYoRC53aWR0aD16LChwLnN0eWxlfHx7fSkudGV4dE92ZXJmbG93fHwoRC50ZXh0T3ZlcmZsb3c9ImVsbGlwc2lzIiksCgkJYi5jc3MoRCkpfSxnZXRQb3NpdGlvbjpmdW5jdGlvbihmLGwscCxkKXt2YXIgZT10aGlzLmF4aXMsZz1lLmNoYXJ0LG09ZCYmZy5vbGRDaGFydEhlaWdodHx8Zy5jaGFydEhlaWdodDtmPXt4OmY/YS5jb3JyZWN0RmxvYXQoZS50cmFuc2xhdGUobCtwLG51bGwsbnVsbCxkKStlLnRyYW5zQik6ZS5sZWZ0K2Uub2Zmc2V0KyhlLm9wcG9zaXRlPyhkJiZnLm9sZENoYXJ0V2lkdGh8fGcuY2hhcnRXaWR0aCktZS5yaWdodC1lLmxlZnQ6MCkseTpmP20tZS5ib3R0b20rZS5vZmZzZXQtKGUub3Bwb3NpdGU/ZS5oZWlnaHQ6MCk6YS5jb3JyZWN0RmxvYXQobS1lLnRyYW5zbGF0ZShsK3AsbnVsbCxudWxsLGQpLWUudHJhbnNCKX07cSh0aGlzLCJhZnRlckdldFBvc2l0aW9uIix7cG9zOmZ9KTtyZXR1cm4gZn0sZ2V0TGFiZWxQb3NpdGlvbjpmdW5jdGlvbihhLGYscCxkLGUsZyxtLGIpe3ZhciBjPXRoaXMuYXhpcyx4PWMudHJhbnNBLEI9Yy5yZXZlcnNlZCx0PWMuc3RhZ2dlckxpbmVzLG49Yy50aWNrUm90Q29ycnx8CgkJe3g6MCx5OjB9LGw9ZS55LHo9ZHx8Yy5yZXNlcnZlU3BhY2VEZWZhdWx0PzA6LWMubGFiZWxPZmZzZXQqKCJjZW50ZXIiPT09Yy5sYWJlbEFsaWduPy41OjEpLEQ9e307RihsKXx8KGw9MD09PWMuc2lkZT9wLnJvdGF0aW9uPy04Oi1wLmdldEJCb3goKS5oZWlnaHQ6Mj09PWMuc2lkZT9uLnkrODpNYXRoLmNvcyhwLnJvdGF0aW9uKkMpKihuLnktcC5nZXRCQm94KCExLDApLmhlaWdodC8yKSk7YT1hK2UueCt6K24ueC0oZyYmZD9nKngqKEI/LTE6MSk6MCk7Zj1mK2wtKGcmJiFkP2cqeCooQj8xOi0xKTowKTt0JiYocD1tLyhifHwxKSV0LGMub3Bwb3NpdGUmJihwPXQtcC0xKSxmKz1jLmxhYmVsT2Zmc2V0L3QqcCk7RC54PWE7RC55PU1hdGgucm91bmQoZik7cSh0aGlzLCJhZnRlckdldExhYmVsUG9zaXRpb24iLHtwb3M6RH0pO3JldHVybiBEfSxnZXRNYXJrUGF0aDpmdW5jdGlvbihhLGYscCxkLGUsZyl7cmV0dXJuIGcuY3Jpc3BMaW5lKFsiTSIsYSxmLCJMIixhKyhlPzA6LXApLGYrCgkoZT9wOjApXSxkKX0scmVuZGVyR3JpZExpbmU6ZnVuY3Rpb24oYSxmLHApe3ZhciBkPXRoaXMuYXhpcyxlPWQub3B0aW9ucyxnPXRoaXMuZ3JpZExpbmUsbT17fSxiPXRoaXMucG9zLGM9dGhpcy50eXBlLHg9ZC50aWNrbWFya09mZnNldCxCPWQuY2hhcnQucmVuZGVyZXIsdD1jP2MrIkdyaWQiOiJncmlkIixuPWVbdCsiTGluZVdpZHRoIl0sbD1lW3QrIkxpbmVDb2xvciJdLGU9ZVt0KyJMaW5lRGFzaFN0eWxlIl07Z3x8KG0uc3Ryb2tlPWwsbVsic3Ryb2tlLXdpZHRoIl09bixlJiYobS5kYXNoc3R5bGU9ZSksY3x8KG0uekluZGV4PTEpLGEmJihtLm9wYWNpdHk9MCksdGhpcy5ncmlkTGluZT1nPUIucGF0aCgpLmF0dHIobSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIisoYz9jKyItIjoiIikrImdyaWQtbGluZSIpLmFkZChkLmdyaWRHcm91cCkpO2lmKCFhJiZnJiYoYT1kLmdldFBsb3RMaW5lUGF0aChiK3gsZy5zdHJva2VXaWR0aCgpKnAsYSwhMCkpKWdbdGhpcy5pc05ldz8iYXR0ciI6CgkJImFuaW1hdGUiXSh7ZDphLG9wYWNpdHk6Zn0pfSxyZW5kZXJNYXJrOmZ1bmN0aW9uKGEsZixwKXt2YXIgZD10aGlzLmF4aXMsZT1kLm9wdGlvbnMsZz1kLmNoYXJ0LnJlbmRlcmVyLG09dGhpcy50eXBlLGI9bT9tKyJUaWNrIjoidGljayIsYz1kLnRpY2tTaXplKGIpLHg9dGhpcy5tYXJrLEI9IXgsdD1hLng7YT1hLnk7dmFyIG49dShlW2IrIldpZHRoIl0sIW0mJmQuaXNYQXhpcz8xOjApLGU9ZVtiKyJDb2xvciJdO2MmJihkLm9wcG9zaXRlJiYoY1swXT0tY1swXSksQiYmKHRoaXMubWFyaz14PWcucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrKG0/bSsiLSI6IiIpKyJ0aWNrIikuYWRkKGQuYXhpc0dyb3VwKSx4LmF0dHIoe3N0cm9rZTplLCJzdHJva2Utd2lkdGgiOm59KSkseFtCPyJhdHRyIjoiYW5pbWF0ZSJdKHtkOnRoaXMuZ2V0TWFya1BhdGgodCxhLGNbMF0seC5zdHJva2VXaWR0aCgpKnAsZC5ob3JpeixnKSxvcGFjaXR5OmZ9KSl9LHJlbmRlckxhYmVsOmZ1bmN0aW9uKGEsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgIGYscCxkKXt2YXIgZT10aGlzLmF4aXMsZz1lLmhvcml6LG09ZS5vcHRpb25zLGI9dGhpcy5sYWJlbCxjPW0ubGFiZWxzLHg9Yy5zdGVwLGU9ZS50aWNrbWFya09mZnNldCxCPSEwLHQ9YS54O2E9YS55O2ImJmwodCkmJihiLnh5PWE9dGhpcy5nZXRMYWJlbFBvc2l0aW9uKHQsYSxiLGcsYyxlLGQseCksdGhpcy5pc0ZpcnN0JiYhdGhpcy5pc0xhc3QmJiF1KG0uc2hvd0ZpcnN0TGFiZWwsMSl8fHRoaXMuaXNMYXN0JiYhdGhpcy5pc0ZpcnN0JiYhdShtLnNob3dMYXN0TGFiZWwsMSk/Qj0hMTohZ3x8Yy5zdGVwfHxjLnJvdGF0aW9ufHxmfHwwPT09cHx8dGhpcy5oYW5kbGVPdmVyZmxvdyhhKSx4JiZkJXgmJihCPSExKSxCJiZsKGEueSk/KGEub3BhY2l0eT1wLGJbdGhpcy5pc05ld0xhYmVsPyJhdHRyIjoiYW5pbWF0ZSJdKGEpLHRoaXMuaXNOZXdMYWJlbD0hMSk6KGIuYXR0cigieSIsLTk5OTkpLHRoaXMuaXNOZXdMYWJlbD0hMCkpfSxyZW5kZXI6ZnVuY3Rpb24oZixsLHApe3ZhciBkPQoJCXRoaXMuYXhpcyxlPWQuaG9yaXosZz10aGlzLmdldFBvc2l0aW9uKGUsdGhpcy5wb3MsZC50aWNrbWFya09mZnNldCxsKSxtPWcueCxiPWcueSxkPWUmJm09PT1kLnBvcytkLmxlbnx8IWUmJmI9PT1kLnBvcz8tMToxO3A9dShwLDEpO3RoaXMuaXNBY3RpdmU9ITA7dGhpcy5yZW5kZXJHcmlkTGluZShsLHAsZCk7dGhpcy5yZW5kZXJNYXJrKGcscCxkKTt0aGlzLnJlbmRlckxhYmVsKGcsbCxwLGYpO3RoaXMuaXNOZXc9ITE7YS5maXJlRXZlbnQodGhpcywiYWZ0ZXJSZW5kZXIiKX0sZGVzdHJveTpmdW5jdGlvbigpe0codGhpcyx0aGlzLmF4aXMpfX19KShKKTt2YXIgZWE9ZnVuY3Rpb24oYSl7dmFyIEU9YS5hZGRFdmVudCxGPWEuYW5pbU9iamVjdCxHPWEuYXJyYXlNYXgscT1hLmFycmF5TWluLGw9YS5jb2xvcixmPWEuY29ycmVjdEZsb2F0LHU9YS5kZWZhdWx0T3B0aW9ucyxDPWEuZGVmaW5lZCxyPWEuZGVnMnJhZCx5PWEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMscD1hLmVhY2gsZD0KCWEuZXh0ZW5kLGU9YS5maXJlRXZlbnQsZz1hLmZvcm1hdCxtPWEuZ2V0TWFnbml0dWRlLGI9YS5ncmVwLGM9YS5pbkFycmF5LHg9YS5pc0FycmF5LEI9YS5pc051bWJlcix0PWEuaXNTdHJpbmcsbj1hLm1lcmdlLEw9YS5ub3JtYWxpemVUaWNrSW50ZXJ2YWwsej1hLm9iamVjdEVhY2gsRD1hLnBpY2ssaD1hLnJlbW92ZUV2ZW50LEk9YS5zcGxhdCxIPWEuc3luY1RpbWVvdXQsdj1hLlRpY2ssdz1mdW5jdGlvbigpe3RoaXMuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2EuZXh0ZW5kKHcucHJvdG90eXBlLHtkZWZhdWx0T3B0aW9uczp7ZGF0ZVRpbWVMYWJlbEZvcm1hdHM6e21pbGxpc2Vjb25kOiIlSDolTTolUy4lTCIsc2Vjb25kOiIlSDolTTolUyIsbWludXRlOiIlSDolTSIsaG91cjoiJUg6JU0iLGRheToiJWUuICViIix3ZWVrOiIlZS4gJWIiLG1vbnRoOiIlYiAnJXkiLHllYXI6IiVZIn0sZW5kT25UaWNrOiExLGxhYmVsczp7ZW5hYmxlZDohMCx4OjAsc3R5bGU6e2NvbG9yOiIjNjY2NjY2IiwKCQkJCWN1cnNvcjoiZGVmYXVsdCIsZm9udFNpemU6IjExcHgifX0sbWF4UGFkZGluZzouMDEsbWlub3JUaWNrTGVuZ3RoOjIsbWlub3JUaWNrUG9zaXRpb246Im91dHNpZGUiLG1pblBhZGRpbmc6LjAxLHN0YXJ0T2ZXZWVrOjEsc3RhcnRPblRpY2s6ITEsdGlja0xlbmd0aDoxMCx0aWNrUGl4ZWxJbnRlcnZhbDoxMDAsdGlja21hcmtQbGFjZW1lbnQ6ImJldHdlZW4iLHRpY2tQb3NpdGlvbjoib3V0c2lkZSIsdGl0bGU6e2FsaWduOiJtaWRkbGUiLHN0eWxlOntjb2xvcjoiIzY2NjY2NiJ9fSx0eXBlOiJsaW5lYXIiLG1pbm9yR3JpZExpbmVDb2xvcjoiI2YyZjJmMiIsbWlub3JHcmlkTGluZVdpZHRoOjEsbWlub3JUaWNrQ29sb3I6IiM5OTk5OTkiLGxpbmVDb2xvcjoiI2NjZDZlYiIsbGluZVdpZHRoOjEsZ3JpZExpbmVDb2xvcjoiI2U2ZTZlNiIsdGlja0NvbG9yOiIjY2NkNmViIn0sZGVmYXVsdFlBeGlzT3B0aW9uczp7ZW5kT25UaWNrOiEwLG1heFBhZGRpbmc6LjA1LG1pblBhZGRpbmc6LjA1LAoJCXRpY2tQaXhlbEludGVydmFsOjcyLHNob3dMYXN0TGFiZWw6ITAsbGFiZWxzOnt4Oi04fSxzdGFydE9uVGljazohMCx0aXRsZTp7cm90YXRpb246MjcwLHRleHQ6IlZhbHVlcyJ9LHN0YWNrTGFiZWxzOnthbGxvd092ZXJsYXA6ITEsZW5hYmxlZDohMSxmb3JtYXR0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gYS5udW1iZXJGb3JtYXQodGhpcy50b3RhbCwtMSl9LHN0eWxlOntjb2xvcjoiIzAwMDAwMCIsZm9udFNpemU6IjExcHgiLGZvbnRXZWlnaHQ6ImJvbGQiLHRleHRPdXRsaW5lOiIxcHggY29udHJhc3QifX0sZ3JpZExpbmVXaWR0aDoxLGxpbmVXaWR0aDowfSxkZWZhdWx0TGVmdEF4aXNPcHRpb25zOntsYWJlbHM6e3g6LTE1fSx0aXRsZTp7cm90YXRpb246MjcwfX0sZGVmYXVsdFJpZ2h0QXhpc09wdGlvbnM6e2xhYmVsczp7eDoxNX0sdGl0bGU6e3JvdGF0aW9uOjkwfX0sZGVmYXVsdEJvdHRvbUF4aXNPcHRpb25zOntsYWJlbHM6e2F1dG9Sb3RhdGlvbjpbLTQ1XSx4OjB9LHRpdGxlOntyb3RhdGlvbjowfX0sCglkZWZhdWx0VG9wQXhpc09wdGlvbnM6e2xhYmVsczp7YXV0b1JvdGF0aW9uOlstNDVdLHg6MH0sdGl0bGU6e3JvdGF0aW9uOjB9fSxpbml0OmZ1bmN0aW9uKGEsYil7dmFyIGs9Yi5pc1gsQT10aGlzO0EuY2hhcnQ9YTtBLmhvcml6PWEuaW52ZXJ0ZWQmJiFBLmlzWkF4aXM/IWs6aztBLmlzWEF4aXM9aztBLmNvbGw9QS5jb2xsfHwoaz8ieEF4aXMiOiJ5QXhpcyIpO2UodGhpcywiaW5pdCIse3VzZXJPcHRpb25zOmJ9KTtBLm9wcG9zaXRlPWIub3Bwb3NpdGU7QS5zaWRlPWIuc2lkZXx8KEEuaG9yaXo/QS5vcHBvc2l0ZT8wOjI6QS5vcHBvc2l0ZT8xOjMpO0Euc2V0T3B0aW9ucyhiKTt2YXIgZD10aGlzLm9wdGlvbnMsaD1kLnR5cGU7QS5sYWJlbEZvcm1hdHRlcj1kLmxhYmVscy5mb3JtYXR0ZXJ8fEEuZGVmYXVsdExhYmVsRm9ybWF0dGVyO0EudXNlck9wdGlvbnM9YjtBLm1pblBpeGVsUGFkZGluZz0wO0EucmV2ZXJzZWQ9ZC5yZXZlcnNlZDtBLnZpc2libGU9ITEhPT1kLnZpc2libGU7CgkJQS56b29tRW5hYmxlZD0hMSE9PWQuem9vbUVuYWJsZWQ7QS5oYXNOYW1lcz0iY2F0ZWdvcnkiPT09aHx8ITA9PT1kLmNhdGVnb3JpZXM7QS5jYXRlZ29yaWVzPWQuY2F0ZWdvcmllc3x8QS5oYXNOYW1lcztBLm5hbWVzfHwoQS5uYW1lcz1bXSxBLm5hbWVzLmtleXM9e30pO0EucGxvdExpbmVzQW5kQmFuZHNHcm91cHM9e307QS5pc0xvZz0ibG9nYXJpdGhtaWMiPT09aDtBLmlzRGF0ZXRpbWVBeGlzPSJkYXRldGltZSI9PT1oO0EucG9zaXRpdmVWYWx1ZXNPbmx5PUEuaXNMb2cmJiFBLmFsbG93TmVnYXRpdmVMb2c7QS5pc0xpbmtlZD1DKGQubGlua2VkVG8pO0EudGlja3M9e307QS5sYWJlbEVkZ2U9W107QS5taW5vclRpY2tzPXt9O0EucGxvdExpbmVzQW5kQmFuZHM9W107QS5hbHRlcm5hdGVCYW5kcz17fTtBLmxlbj0wO0EubWluUmFuZ2U9QS51c2VyTWluUmFuZ2U9ZC5taW5SYW5nZXx8ZC5tYXhab29tO0EucmFuZ2U9ZC5yYW5nZTtBLm9mZnNldD1kLm9mZnNldHx8MDtBLnN0YWNrcz0KCQkJe307QS5vbGRTdGFja3M9e307QS5zdGFja3NUb3VjaGVkPTA7QS5tYXg9bnVsbDtBLm1pbj1udWxsO0EuY3Jvc3NoYWlyPUQoZC5jcm9zc2hhaXIsSShhLm9wdGlvbnMudG9vbHRpcC5jcm9zc2hhaXJzKVtrPzA6MV0sITEpO2I9QS5vcHRpb25zLmV2ZW50czstMT09PWMoQSxhLmF4ZXMpJiYoaz9hLmF4ZXMuc3BsaWNlKGEueEF4aXMubGVuZ3RoLDAsQSk6YS5heGVzLnB1c2goQSksYVtBLmNvbGxdLnB1c2goQSkpO0Euc2VyaWVzPUEuc2VyaWVzfHxbXTthLmludmVydGVkJiYhQS5pc1pBeGlzJiZrJiZ2b2lkIDA9PT1BLnJldmVyc2VkJiYoQS5yZXZlcnNlZD0hMCk7eihiLGZ1bmN0aW9uKGEsYil7RShBLGIsYSl9KTtBLmxpbjJsb2c9ZC5saW5lYXJUb0xvZ0NvbnZlcnRlcnx8QS5saW4ybG9nO0EuaXNMb2cmJihBLnZhbDJsaW49QS5sb2cybGluLEEubGluMnZhbD1BLmxpbjJsb2cpO2UodGhpcywiYWZ0ZXJJbml0Iil9LHNldE9wdGlvbnM6ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zPQoJCW4odGhpcy5kZWZhdWx0T3B0aW9ucywieUF4aXMiPT09dGhpcy5jb2xsJiZ0aGlzLmRlZmF1bHRZQXhpc09wdGlvbnMsW3RoaXMuZGVmYXVsdFRvcEF4aXNPcHRpb25zLHRoaXMuZGVmYXVsdFJpZ2h0QXhpc09wdGlvbnMsdGhpcy5kZWZhdWx0Qm90dG9tQXhpc09wdGlvbnMsdGhpcy5kZWZhdWx0TGVmdEF4aXNPcHRpb25zXVt0aGlzLnNpZGVdLG4odVt0aGlzLmNvbGxdLGEpKTtlKHRoaXMsImFmdGVyU2V0T3B0aW9ucyIse3VzZXJPcHRpb25zOmF9KX0sZGVmYXVsdExhYmVsRm9ybWF0dGVyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5heGlzLGM9dGhpcy52YWx1ZSxkPWIuY2hhcnQudGltZSxoPWIuY2F0ZWdvcmllcyx2PXRoaXMuZGF0ZVRpbWVMYWJlbEZvcm1hdCxtPXUubGFuZyx3PW0ubnVtZXJpY1N5bWJvbHMsbT1tLm51bWVyaWNTeW1ib2xNYWduaXR1ZGV8fDFFMyxlPXcmJncubGVuZ3RoLG4sdD1iLm9wdGlvbnMubGFiZWxzLmZvcm1hdCxiPWIuaXNMb2c/TWF0aC5hYnMoYyk6Yi50aWNrSW50ZXJ2YWw7CgkJaWYodCluPWcodCx0aGlzLGQpO2Vsc2UgaWYoaCluPWM7ZWxzZSBpZih2KW49ZC5kYXRlRm9ybWF0KHYsYyk7ZWxzZSBpZihlJiYxRTM8PWIpZm9yKDtlLS0mJnZvaWQgMD09PW47KWQ9TWF0aC5wb3cobSxlKzEpLGI+PWQmJjA9PT0xMCpjJWQmJm51bGwhPT13W2VdJiYwIT09YyYmKG49YS5udW1iZXJGb3JtYXQoYy9kLC0xKSt3W2VdKTt2b2lkIDA9PT1uJiYobj0xRTQ8PU1hdGguYWJzKGMpP2EubnVtYmVyRm9ybWF0KGMsLTEpOmEubnVtYmVyRm9ybWF0KGMsLTEsdm9pZCAwLCIiKSk7cmV0dXJuIG59LGdldFNlcmllc0V4dHJlbWVzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxjPWEuY2hhcnQ7ZSh0aGlzLCJnZXRTZXJpZXNFeHRyZW1lcyIsbnVsbCxmdW5jdGlvbigpe2EuaGFzVmlzaWJsZVNlcmllcz0hMTthLmRhdGFNaW49YS5kYXRhTWF4PWEudGhyZXNob2xkPW51bGw7YS5zb2Z0VGhyZXNob2xkPSFhLmlzWEF4aXM7YS5idWlsZFN0YWNrcyYmYS5idWlsZFN0YWNrcygpO3AoYS5zZXJpZXMsCgkJZnVuY3Rpb24oayl7aWYoay52aXNpYmxlfHwhYy5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcyl7dmFyIEE9ay5vcHRpb25zLGQ9QS50aHJlc2hvbGQsaDthLmhhc1Zpc2libGVTZXJpZXM9ITA7YS5wb3NpdGl2ZVZhbHVlc09ubHkmJjA+PWQmJihkPW51bGwpO2lmKGEuaXNYQXhpcylBPWsueERhdGEsQS5sZW5ndGgmJihrPXEoQSksaD1HKEEpLEIoayl8fGsgaW5zdGFuY2VvZiBEYXRlfHwoQT1iKEEsQiksaz1xKEEpLGg9RyhBKSksQS5sZW5ndGgmJihhLmRhdGFNaW49TWF0aC5taW4oRChhLmRhdGFNaW4sQVswXSxrKSxrKSxhLmRhdGFNYXg9TWF0aC5tYXgoRChhLmRhdGFNYXgsQVswXSxoKSxoKSkpO2Vsc2UgaWYoay5nZXRFeHRyZW1lcygpLGg9ay5kYXRhTWF4LGs9ay5kYXRhTWluLEMoaykmJkMoaCkmJihhLmRhdGFNaW49TWF0aC5taW4oRChhLmRhdGFNaW4sayksayksYS5kYXRhTWF4PU1hdGgubWF4KEQoYS5kYXRhTWF4LGgpLGgpKSxDKGQpJiYoYS50aHJlc2hvbGQ9CgkJCQlkKSwhQS5zb2Z0VGhyZXNob2xkfHxhLnBvc2l0aXZlVmFsdWVzT25seSlhLnNvZnRUaHJlc2hvbGQ9ITF9fSl9KTtlKHRoaXMsImFmdGVyR2V0U2VyaWVzRXh0cmVtZXMiKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKGEsYixjLGQsaCx2KXt2YXIgaz10aGlzLmxpbmtlZFBhcmVudHx8dGhpcyxBPTEsbT0wLHc9ZD9rLm9sZFRyYW5zQTprLnRyYW5zQTtkPWQ/ay5vbGRNaW46ay5taW47dmFyIG49ay5taW5QaXhlbFBhZGRpbmc7aD0oay5pc09yZGluYWx8fGsuaXNCcm9rZW58fGsuaXNMb2cmJmgpJiZrLmxpbjJ2YWw7d3x8KHc9ay50cmFuc0EpO2MmJihBKj0tMSxtPWsubGVuKTtrLnJldmVyc2VkJiYoQSo9LTEsbS09QSooay5zZWN0b3J8fGsubGVuKSk7Yj8oYT0oYSpBK20tbikvdytkLGgmJihhPWsubGluMnZhbChhKSkpOihoJiYoYT1rLnZhbDJsaW4oYSkpLGE9QihkKT9BKihhLWQpKncrbStBKm4rKEIodik/dyp2OjApOnZvaWQgMCk7cmV0dXJuIGF9LHRvUGl4ZWxzOmZ1bmN0aW9uKGEsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCWIpe3JldHVybiB0aGlzLnRyYW5zbGF0ZShhLCExLCF0aGlzLmhvcml6LG51bGwsITApKyhiPzA6dGhpcy5wb3MpfSx0b1ZhbHVlOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMudHJhbnNsYXRlKGEtKGI/MDp0aGlzLnBvcyksITAsIXRoaXMuaG9yaXosbnVsbCwhMCl9LGdldFBsb3RMaW5lUGF0aDpmdW5jdGlvbihhLGIsYyxkLGgpe3ZhciBrPXRoaXMuY2hhcnQsQT10aGlzLmxlZnQsdj10aGlzLnRvcCxtLHcsbj1jJiZrLm9sZENoYXJ0SGVpZ2h0fHxrLmNoYXJ0SGVpZ2h0LGU9YyYmay5vbGRDaGFydFdpZHRofHxrLmNoYXJ0V2lkdGgsSzttPXRoaXMudHJhbnNCO3ZhciB0PWZ1bmN0aW9uKGEsYixrKXtpZihhPGJ8fGE+aylkP2E9TWF0aC5taW4oTWF0aC5tYXgoYixhKSxrKTpLPSEwO3JldHVybiBhfTtoPUQoaCx0aGlzLnRyYW5zbGF0ZShhLG51bGwsbnVsbCxjKSk7aD1NYXRoLm1pbihNYXRoLm1heCgtMUU1LGgpLDFFNSk7YT1jPU1hdGgucm91bmQoaCttKTttPXc9TWF0aC5yb3VuZChuLQoJCWgtbSk7QihoKT90aGlzLmhvcml6PyhtPXYsdz1uLXRoaXMuYm90dG9tLGE9Yz10KGEsQSxBK3RoaXMud2lkdGgpKTooYT1BLGM9ZS10aGlzLnJpZ2h0LG09dz10KG0sdix2K3RoaXMuaGVpZ2h0KSk6KEs9ITAsZD0hMSk7cmV0dXJuIEsmJiFkP251bGw6ay5yZW5kZXJlci5jcmlzcExpbmUoWyJNIixhLG0sIkwiLGMsd10sYnx8MSl9LGdldExpbmVhclRpY2tQb3NpdGlvbnM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBrLEE9ZihNYXRoLmZsb29yKGIvYSkqYSk7Yz1mKE1hdGguY2VpbChjL2EpKmEpO3ZhciBkPVtdLGg7ZihBK2EpPT09QSYmKGg9MjApO2lmKHRoaXMuc2luZ2xlKXJldHVybltiXTtmb3IoYj1BO2I8PWM7KXtkLnB1c2goYik7Yj1mKGIrYSxoKTtpZihiPT09aylicmVhaztrPWJ9cmV0dXJuIGR9LGdldE1pbm9yVGlja0ludGVydmFsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zO3JldHVybiEwPT09YS5taW5vclRpY2tzP0QoYS5taW5vclRpY2tJbnRlcnZhbCwiYXV0byIpOgoJCSExPT09YS5taW5vclRpY2tzP251bGw6YS5taW5vclRpY2tJbnRlcnZhbH0sZ2V0TWlub3JUaWNrUG9zaXRpb25zOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEub3B0aW9ucyxjPWEudGlja1Bvc2l0aW9ucyxkPWEubWlub3JUaWNrSW50ZXJ2YWwsaD1bXSx2PWEucG9pbnRSYW5nZVBhZGRpbmd8fDAsbT1hLm1pbi12LHY9YS5tYXgrdix3PXYtbTtpZih3JiZ3L2Q8YS5sZW4vMylpZihhLmlzTG9nKXAodGhpcy5wYWRkZWRUaWNrcyxmdW5jdGlvbihiLGssYyl7ayYmaC5wdXNoLmFwcGx5KGgsYS5nZXRMb2dUaWNrUG9zaXRpb25zKGQsY1trLTFdLGNba10sITApKX0pO2Vsc2UgaWYoYS5pc0RhdGV0aW1lQXhpcyYmImF1dG8iPT09dGhpcy5nZXRNaW5vclRpY2tJbnRlcnZhbCgpKWg9aC5jb25jYXQoYS5nZXRUaW1lVGlja3MoYS5ub3JtYWxpemVUaW1lVGlja0ludGVydmFsKGQpLG0sdixiLnN0YXJ0T2ZXZWVrKSk7ZWxzZSBmb3IoYj1tKyhjWzBdLW0pJWQ7Yjw9diYmYiE9PWhbMF07Yis9CgkJZCloLnB1c2goYik7MCE9PWgubGVuZ3RoJiZhLnRyaW1UaWNrcyhoKTtyZXR1cm4gaH0sYWRqdXN0Rm9yTWluUmFuZ2U6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj10aGlzLm1pbixjPXRoaXMubWF4LGQsaCx2LG0sdyxuLGUsdDt0aGlzLmlzWEF4aXMmJnZvaWQgMD09PXRoaXMubWluUmFuZ2UmJiF0aGlzLmlzTG9nJiYoQyhhLm1pbil8fEMoYS5tYXgpP3RoaXMubWluUmFuZ2U9bnVsbDoocCh0aGlzLnNlcmllcyxmdW5jdGlvbihhKXtuPWEueERhdGE7Zm9yKG09ZT1hLnhJbmNyZW1lbnQ/MTpuLmxlbmd0aC0xOzA8bTttLS0paWYodz1uW21dLW5bbS0xXSx2b2lkIDA9PT12fHx3PHYpdj13fSksdGhpcy5taW5SYW5nZT1NYXRoLm1pbig1KnYsdGhpcy5kYXRhTWF4LXRoaXMuZGF0YU1pbikpKTtjLWI8dGhpcy5taW5SYW5nZSYmKGg9dGhpcy5kYXRhTWF4LXRoaXMuZGF0YU1pbj49dGhpcy5taW5SYW5nZSx0PXRoaXMubWluUmFuZ2UsZD0odC1jK2IpLzIsZD1bYi1kLEQoYS5taW4sCgkJYi1kKV0saCYmKGRbMl09dGhpcy5pc0xvZz90aGlzLmxvZzJsaW4odGhpcy5kYXRhTWluKTp0aGlzLmRhdGFNaW4pLGI9RyhkKSxjPVtiK3QsRChhLm1heCxiK3QpXSxoJiYoY1syXT10aGlzLmlzTG9nP3RoaXMubG9nMmxpbih0aGlzLmRhdGFNYXgpOnRoaXMuZGF0YU1heCksYz1xKGMpLGMtYjx0JiYoZFswXT1jLXQsZFsxXT1EKGEubWluLGMtdCksYj1HKGQpKSk7dGhpcy5taW49Yjt0aGlzLm1heD1jfSxnZXRDbG9zZXN0OmZ1bmN0aW9uKCl7dmFyIGE7dGhpcy5jYXRlZ29yaWVzP2E9MTpwKHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGIpe3ZhciBjPWIuY2xvc2VzdFBvaW50UmFuZ2Usaz1iLnZpc2libGV8fCFiLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzOyFiLm5vU2hhcmVkVG9vbHRpcCYmQyhjKSYmayYmKGE9QyhhKT9NYXRoLm1pbihhLGMpOmMpfSk7cmV0dXJuIGF9LG5hbWVUb1g6ZnVuY3Rpb24oYSl7dmFyIGI9eCh0aGlzLmNhdGVnb3JpZXMpLGs9Yj90aGlzLmNhdGVnb3JpZXM6CgkJdGhpcy5uYW1lcyxkPWEub3B0aW9ucy54LGg7YS5zZXJpZXMucmVxdWlyZVNvcnRpbmc9ITE7QyhkKXx8KGQ9ITE9PT10aGlzLm9wdGlvbnMudW5pcXVlTmFtZXM/YS5zZXJpZXMuYXV0b0luY3JlbWVudCgpOmI/YyhhLm5hbWUsayk6RChrLmtleXNbYS5uYW1lXSwtMSkpOy0xPT09ZD9ifHwoaD1rLmxlbmd0aCk6aD1kO3ZvaWQgMCE9PWgmJih0aGlzLm5hbWVzW2hdPWEubmFtZSx0aGlzLm5hbWVzLmtleXNbYS5uYW1lXT1oKTtyZXR1cm4gaH0sdXBkYXRlTmFtZXM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLGM9dGhpcy5uYW1lczswPGMubGVuZ3RoJiYocChhLmtleXMoYy5rZXlzKSxmdW5jdGlvbihhKXtkZWxldGUgYy5rZXlzW2FdfSksYy5sZW5ndGg9MCx0aGlzLm1pblJhbmdlPXRoaXMudXNlck1pblJhbmdlLHAodGhpcy5zZXJpZXN8fFtdLGZ1bmN0aW9uKGEpe2EueEluY3JlbWVudD1udWxsO2lmKCFhLnBvaW50c3x8YS5pc0RpcnR5RGF0YSlhLnByb2Nlc3NEYXRhKCksYS5nZW5lcmF0ZVBvaW50cygpOwoJCXAoYS5wb2ludHMsZnVuY3Rpb24oYyxrKXt2YXIgZDtjLm9wdGlvbnMmJihkPWIubmFtZVRvWChjKSx2b2lkIDAhPT1kJiZkIT09Yy54JiYoYy54PWQsYS54RGF0YVtrXT1kKSl9KX0pKX0sc2V0QXhpc1RyYW5zbGF0aW9uOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLm1heC1iLm1pbixrPWIuYXhpc1BvaW50UmFuZ2V8fDAsZCxoPTAsdj0wLG09Yi5saW5rZWRQYXJlbnQsdz0hIWIuY2F0ZWdvcmllcyxuPWIudHJhbnNBLGc9Yi5pc1hBeGlzO2lmKGd8fHd8fGspZD1iLmdldENsb3Nlc3QoKSxtPyhoPW0ubWluUG9pbnRPZmZzZXQsdj1tLnBvaW50UmFuZ2VQYWRkaW5nKTpwKGIuc2VyaWVzLGZ1bmN0aW9uKGEpe3ZhciBjPXc/MTpnP0QoYS5vcHRpb25zLnBvaW50UmFuZ2UsZCwwKTpiLmF4aXNQb2ludFJhbmdlfHwwO2E9YS5vcHRpb25zLnBvaW50UGxhY2VtZW50O2s9TWF0aC5tYXgoayxjKTtiLnNpbmdsZXx8KGg9TWF0aC5tYXgoaCx0KGEpPzA6Yy8yKSx2PU1hdGgubWF4KHYsIm9uIj09PQoJYT8wOmMpKX0pLG09Yi5vcmRpbmFsU2xvcGUmJmQ/Yi5vcmRpbmFsU2xvcGUvZDoxLGIubWluUG9pbnRPZmZzZXQ9aCo9bSxiLnBvaW50UmFuZ2VQYWRkaW5nPXYqPW0sYi5wb2ludFJhbmdlPU1hdGgubWluKGssYyksZyYmKGIuY2xvc2VzdFBvaW50UmFuZ2U9ZCk7YSYmKGIub2xkVHJhbnNBPW4pO2IudHJhbnNsYXRpb25TbG9wZT1iLnRyYW5zQT1uPWIub3B0aW9ucy5zdGF0aWNTY2FsZXx8Yi5sZW4vKGMrdnx8MSk7Yi50cmFuc0I9Yi5ob3Jpej9iLmxlZnQ6Yi5ib3R0b207Yi5taW5QaXhlbFBhZGRpbmc9bipoO2UodGhpcywiYWZ0ZXJTZXRBeGlzVHJhbnNsYXRpb24iKX0sbWluRnJvbVJhbmdlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF4LXRoaXMucmFuZ2V9LHNldFRpY2tJbnRlcnZhbDpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGs9Yy5jaGFydCxkPWMub3B0aW9ucyxoPWMuaXNMb2csdj1jLmlzRGF0ZXRpbWVBeGlzLHc9Yy5pc1hBeGlzLG49Yy5pc0xpbmtlZCx0PWQubWF4UGFkZGluZywKCQlnPWQubWluUGFkZGluZyx4PWQudGlja0ludGVydmFsLHo9ZC50aWNrUGl4ZWxJbnRlcnZhbCxIPWMuY2F0ZWdvcmllcyxJPUIoYy50aHJlc2hvbGQpP2MudGhyZXNob2xkOm51bGwsbD1jLnNvZnRUaHJlc2hvbGQscix5LHUscTt2fHxIfHxufHx0aGlzLmdldFRpY2tBbW91bnQoKTt1PUQoYy51c2VyTWluLGQubWluKTtxPUQoYy51c2VyTWF4LGQubWF4KTtuPyhjLmxpbmtlZFBhcmVudD1rW2MuY29sbF1bZC5saW5rZWRUb10saz1jLmxpbmtlZFBhcmVudC5nZXRFeHRyZW1lcygpLGMubWluPUQoay5taW4say5kYXRhTWluKSxjLm1heD1EKGsubWF4LGsuZGF0YU1heCksZC50eXBlIT09Yy5saW5rZWRQYXJlbnQub3B0aW9ucy50eXBlJiZhLmVycm9yKDExLDEpKTooIWwmJkMoSSkmJihjLmRhdGFNaW4+PUk/KHI9SSxnPTApOmMuZGF0YU1heDw9SSYmKHk9SSx0PTApKSxjLm1pbj1EKHUscixjLmRhdGFNaW4pLGMubWF4PUQocSx5LGMuZGF0YU1heCkpO2gmJihjLnBvc2l0aXZlVmFsdWVzT25seSYmCgkhYiYmMD49TWF0aC5taW4oYy5taW4sRChjLmRhdGFNaW4sYy5taW4pKSYmYS5lcnJvcigxMCwxKSxjLm1pbj1mKGMubG9nMmxpbihjLm1pbiksMTUpLGMubWF4PWYoYy5sb2cybGluKGMubWF4KSwxNSkpO2MucmFuZ2UmJkMoYy5tYXgpJiYoYy51c2VyTWluPWMubWluPXU9TWF0aC5tYXgoYy5kYXRhTWluLGMubWluRnJvbVJhbmdlKCkpLGMudXNlck1heD1xPWMubWF4LGMucmFuZ2U9bnVsbCk7ZShjLCJmb3VuZEV4dHJlbWVzIik7Yy5iZWZvcmVQYWRkaW5nJiZjLmJlZm9yZVBhZGRpbmcoKTtjLmFkanVzdEZvck1pblJhbmdlKCk7IShIfHxjLmF4aXNQb2ludFJhbmdlfHxjLnVzZVBlcmNlbnRhZ2V8fG4pJiZDKGMubWluKSYmQyhjLm1heCkmJihrPWMubWF4LWMubWluKSYmKCFDKHUpJiZnJiYoYy5taW4tPWsqZyksIUMocSkmJnQmJihjLm1heCs9ayp0KSk7QihkLnNvZnRNaW4pJiYhQihjLnVzZXJNaW4pJiYoYy5taW49TWF0aC5taW4oYy5taW4sZC5zb2Z0TWluKSk7QihkLnNvZnRNYXgpJiYKCSFCKGMudXNlck1heCkmJihjLm1heD1NYXRoLm1heChjLm1heCxkLnNvZnRNYXgpKTtCKGQuZmxvb3IpJiYoYy5taW49TWF0aC5tYXgoYy5taW4sZC5mbG9vcikpO0IoZC5jZWlsaW5nKSYmKGMubWF4PU1hdGgubWluKGMubWF4LGQuY2VpbGluZykpO2wmJkMoYy5kYXRhTWluKSYmKEk9SXx8MCwhQyh1KSYmYy5taW48SSYmYy5kYXRhTWluPj1JP2MubWluPUk6IUMocSkmJmMubWF4PkkmJmMuZGF0YU1heDw9SSYmKGMubWF4PUkpKTtjLnRpY2tJbnRlcnZhbD1jLm1pbj09PWMubWF4fHx2b2lkIDA9PT1jLm1pbnx8dm9pZCAwPT09Yy5tYXg/MTpuJiYheCYmej09PWMubGlua2VkUGFyZW50Lm9wdGlvbnMudGlja1BpeGVsSW50ZXJ2YWw/eD1jLmxpbmtlZFBhcmVudC50aWNrSW50ZXJ2YWw6RCh4LHRoaXMudGlja0Ftb3VudD8oYy5tYXgtYy5taW4pL01hdGgubWF4KHRoaXMudGlja0Ftb3VudC0xLDEpOnZvaWQgMCxIPzE6KGMubWF4LWMubWluKSp6L01hdGgubWF4KGMubGVuLHopKTt3JiYKCSFiJiZwKGMuc2VyaWVzLGZ1bmN0aW9uKGEpe2EucHJvY2Vzc0RhdGEoYy5taW4hPT1jLm9sZE1pbnx8Yy5tYXghPT1jLm9sZE1heCl9KTtjLnNldEF4aXNUcmFuc2xhdGlvbighMCk7Yy5iZWZvcmVTZXRUaWNrUG9zaXRpb25zJiZjLmJlZm9yZVNldFRpY2tQb3NpdGlvbnMoKTtjLnBvc3RQcm9jZXNzVGlja0ludGVydmFsJiYoYy50aWNrSW50ZXJ2YWw9Yy5wb3N0UHJvY2Vzc1RpY2tJbnRlcnZhbChjLnRpY2tJbnRlcnZhbCkpO2MucG9pbnRSYW5nZSYmIXgmJihjLnRpY2tJbnRlcnZhbD1NYXRoLm1heChjLnBvaW50UmFuZ2UsYy50aWNrSW50ZXJ2YWwpKTtiPUQoZC5taW5UaWNrSW50ZXJ2YWwsYy5pc0RhdGV0aW1lQXhpcyYmYy5jbG9zZXN0UG9pbnRSYW5nZSk7IXgmJmMudGlja0ludGVydmFsPGImJihjLnRpY2tJbnRlcnZhbD1iKTt2fHxofHx4fHwoYy50aWNrSW50ZXJ2YWw9TChjLnRpY2tJbnRlcnZhbCxudWxsLG0oYy50aWNrSW50ZXJ2YWwpLEQoZC5hbGxvd0RlY2ltYWxzLAoJCSEoLjU8Yy50aWNrSW50ZXJ2YWwmJjU+Yy50aWNrSW50ZXJ2YWwmJjFFMzxjLm1heCYmOTk5OT5jLm1heCkpLCEhdGhpcy50aWNrQW1vdW50KSk7dGhpcy50aWNrQW1vdW50fHwoYy50aWNrSW50ZXJ2YWw9Yy51bnNxdWlzaCgpKTt0aGlzLnNldFRpY2tQb3NpdGlvbnMoKX0sc2V0VGlja1Bvc2l0aW9uczpmdW5jdGlvbigpe3ZhciBiPXRoaXMub3B0aW9ucyxjLGQ9Yi50aWNrUG9zaXRpb25zO2M9dGhpcy5nZXRNaW5vclRpY2tJbnRlcnZhbCgpO3ZhciBoPWIudGlja1Bvc2l0aW9uZXIsdj1iLnN0YXJ0T25UaWNrLG09Yi5lbmRPblRpY2s7dGhpcy50aWNrbWFya09mZnNldD10aGlzLmNhdGVnb3JpZXMmJiJiZXR3ZWVuIj09PWIudGlja21hcmtQbGFjZW1lbnQmJjE9PT10aGlzLnRpY2tJbnRlcnZhbD8uNTowO3RoaXMubWlub3JUaWNrSW50ZXJ2YWw9ImF1dG8iPT09YyYmdGhpcy50aWNrSW50ZXJ2YWw/dGhpcy50aWNrSW50ZXJ2YWwvNTpjO3RoaXMuc2luZ2xlPXRoaXMubWluPT09dGhpcy5tYXgmJgoJCUModGhpcy5taW4pJiYhdGhpcy50aWNrQW1vdW50JiYocGFyc2VJbnQodGhpcy5taW4sMTApPT09dGhpcy5taW58fCExIT09Yi5hbGxvd0RlY2ltYWxzKTt0aGlzLnRpY2tQb3NpdGlvbnM9Yz1kJiZkLnNsaWNlKCk7IWMmJighdGhpcy5vcmRpbmFsUG9zaXRpb25zJiYodGhpcy5tYXgtdGhpcy5taW4pL3RoaXMudGlja0ludGVydmFsPk1hdGgubWF4KDIqdGhpcy5sZW4sMjAwKT8oYz1bdGhpcy5taW4sdGhpcy5tYXhdLGEuZXJyb3IoMTkpKTpjPXRoaXMuaXNEYXRldGltZUF4aXM/dGhpcy5nZXRUaW1lVGlja3ModGhpcy5ub3JtYWxpemVUaW1lVGlja0ludGVydmFsKHRoaXMudGlja0ludGVydmFsLGIudW5pdHMpLHRoaXMubWluLHRoaXMubWF4LGIuc3RhcnRPZldlZWssdGhpcy5vcmRpbmFsUG9zaXRpb25zLHRoaXMuY2xvc2VzdFBvaW50UmFuZ2UsITApOnRoaXMuaXNMb2c/dGhpcy5nZXRMb2dUaWNrUG9zaXRpb25zKHRoaXMudGlja0ludGVydmFsLHRoaXMubWluLHRoaXMubWF4KToKCQl0aGlzLmdldExpbmVhclRpY2tQb3NpdGlvbnModGhpcy50aWNrSW50ZXJ2YWwsdGhpcy5taW4sdGhpcy5tYXgpLGMubGVuZ3RoPnRoaXMubGVuJiYoYz1bY1swXSxjLnBvcCgpXSxjWzBdPT09Y1sxXSYmKGMubGVuZ3RoPTEpKSx0aGlzLnRpY2tQb3NpdGlvbnM9YyxoJiYoaD1oLmFwcGx5KHRoaXMsW3RoaXMubWluLHRoaXMubWF4XSkpKSYmKHRoaXMudGlja1Bvc2l0aW9ucz1jPWgpO3RoaXMucGFkZGVkVGlja3M9Yy5zbGljZSgwKTt0aGlzLnRyaW1UaWNrcyhjLHYsbSk7dGhpcy5pc0xpbmtlZHx8KHRoaXMuc2luZ2xlJiYyPmMubGVuZ3RoJiYodGhpcy5taW4tPS41LHRoaXMubWF4Kz0uNSksZHx8aHx8dGhpcy5hZGp1c3RUaWNrQW1vdW50KCkpO2UodGhpcywiYWZ0ZXJTZXRUaWNrUG9zaXRpb25zIil9LHRyaW1UaWNrczpmdW5jdGlvbihhLGIsYyl7dmFyIGs9YVswXSxkPWFbYS5sZW5ndGgtMV0saD10aGlzLm1pblBvaW50T2Zmc2V0fHwwO2lmKCF0aGlzLmlzTGlua2VkKXtpZihiJiYKCQktSW5maW5pdHkhPT1rKXRoaXMubWluPWs7ZWxzZSBmb3IoO3RoaXMubWluLWg+YVswXTspYS5zaGlmdCgpO2lmKGMpdGhpcy5tYXg9ZDtlbHNlIGZvcig7dGhpcy5tYXgraDxhW2EubGVuZ3RoLTFdOylhLnBvcCgpOzA9PT1hLmxlbmd0aCYmQyhrKSYmIXRoaXMub3B0aW9ucy50aWNrUG9zaXRpb25zJiZhLnB1c2goKGQraykvMil9fSxhbGlnblRvT3RoZXJzOmZ1bmN0aW9uKCl7dmFyIGE9e30sYixjPXRoaXMub3B0aW9uczshMT09PXRoaXMuY2hhcnQub3B0aW9ucy5jaGFydC5hbGlnblRpY2tzfHwhMT09PWMuYWxpZ25UaWNrc3x8ITE9PT1jLnN0YXJ0T25UaWNrfHwhMT09PWMuZW5kT25UaWNrfHx0aGlzLmlzTG9nfHxwKHRoaXMuY2hhcnRbdGhpcy5jb2xsXSxmdW5jdGlvbihjKXt2YXIgaz1jLm9wdGlvbnMsaz1bYy5ob3Jpej9rLmxlZnQ6ay50b3Asay53aWR0aCxrLmhlaWdodCxrLnBhbmVdLmpvaW4oKTtjLnNlcmllcy5sZW5ndGgmJihhW2tdP2I9ITA6YVtrXT0xKX0pO3JldHVybiBifSwKCWdldFRpY2tBbW91bnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj1hLnRpY2tBbW91bnQsYz1hLnRpY2tQaXhlbEludGVydmFsOyFDKGEudGlja0ludGVydmFsKSYmdGhpcy5sZW48YyYmIXRoaXMuaXNSYWRpYWwmJiF0aGlzLmlzTG9nJiZhLnN0YXJ0T25UaWNrJiZhLmVuZE9uVGljayYmKGI9Mik7IWImJnRoaXMuYWxpZ25Ub090aGVycygpJiYoYj1NYXRoLmNlaWwodGhpcy5sZW4vYykrMSk7ND5iJiYodGhpcy5maW5hbFRpY2tBbXQ9YixiPTUpO3RoaXMudGlja0Ftb3VudD1ifSxhZGp1c3RUaWNrQW1vdW50OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aWNrSW50ZXJ2YWwsYj10aGlzLnRpY2tQb3NpdGlvbnMsYz10aGlzLnRpY2tBbW91bnQsZD10aGlzLmZpbmFsVGlja0FtdCxoPWImJmIubGVuZ3RoLHY9RCh0aGlzLnRocmVzaG9sZCx0aGlzLnNvZnRUaHJlc2hvbGQ/MDpudWxsKTtpZih0aGlzLmhhc0RhdGEoKSl7aWYoaDxjKXtmb3IoO2IubGVuZ3RoPGM7KWIubGVuZ3RoJQoJMnx8dGhpcy5taW49PT12P2IucHVzaChmKGJbYi5sZW5ndGgtMV0rYSkpOmIudW5zaGlmdChmKGJbMF0tYSkpO3RoaXMudHJhbnNBKj0oaC0xKS8oYy0xKTt0aGlzLm1pbj1iWzBdO3RoaXMubWF4PWJbYi5sZW5ndGgtMV19ZWxzZSBoPmMmJih0aGlzLnRpY2tJbnRlcnZhbCo9Mix0aGlzLnNldFRpY2tQb3NpdGlvbnMoKSk7aWYoQyhkKSl7Zm9yKGE9Yz1iLmxlbmd0aDthLS07KSgzPT09ZCYmMT09PWElMnx8Mj49ZCYmMDxhJiZhPGMtMSkmJmIuc3BsaWNlKGEsMSk7dGhpcy5maW5hbFRpY2tBbXQ9dm9pZCAwfX19LHNldFNjYWxlOmZ1bmN0aW9uKCl7dmFyIGEsYjt0aGlzLm9sZE1pbj10aGlzLm1pbjt0aGlzLm9sZE1heD10aGlzLm1heDt0aGlzLm9sZEF4aXNMZW5ndGg9dGhpcy5sZW47dGhpcy5zZXRBeGlzU2l6ZSgpO2I9dGhpcy5sZW4hPT10aGlzLm9sZEF4aXNMZW5ndGg7cCh0aGlzLnNlcmllcyxmdW5jdGlvbihiKXtpZihiLmlzRGlydHlEYXRhfHxiLmlzRGlydHl8fGIueEF4aXMuaXNEaXJ0eSlhPQoJCSEwfSk7Ynx8YXx8dGhpcy5pc0xpbmtlZHx8dGhpcy5mb3JjZVJlZHJhd3x8dGhpcy51c2VyTWluIT09dGhpcy5vbGRVc2VyTWlufHx0aGlzLnVzZXJNYXghPT10aGlzLm9sZFVzZXJNYXh8fHRoaXMuYWxpZ25Ub090aGVycygpPyh0aGlzLnJlc2V0U3RhY2tzJiZ0aGlzLnJlc2V0U3RhY2tzKCksdGhpcy5mb3JjZVJlZHJhdz0hMSx0aGlzLmdldFNlcmllc0V4dHJlbWVzKCksdGhpcy5zZXRUaWNrSW50ZXJ2YWwoKSx0aGlzLm9sZFVzZXJNaW49dGhpcy51c2VyTWluLHRoaXMub2xkVXNlck1heD10aGlzLnVzZXJNYXgsdGhpcy5pc0RpcnR5fHwodGhpcy5pc0RpcnR5PWJ8fHRoaXMubWluIT09dGhpcy5vbGRNaW58fHRoaXMubWF4IT09dGhpcy5vbGRNYXgpKTp0aGlzLmNsZWFuU3RhY2tzJiZ0aGlzLmNsZWFuU3RhY2tzKCk7ZSh0aGlzLCJhZnRlclNldFNjYWxlIil9LHNldEV4dHJlbWVzOmZ1bmN0aW9uKGEsYixjLGgsdil7dmFyIGs9dGhpcyxtPWsuY2hhcnQ7Yz1EKGMsITApO3Aoay5zZXJpZXMsCgkJZnVuY3Rpb24oYSl7ZGVsZXRlIGEua2RUcmVlfSk7dj1kKHYse21pbjphLG1heDpifSk7ZShrLCJzZXRFeHRyZW1lcyIsdixmdW5jdGlvbigpe2sudXNlck1pbj1hO2sudXNlck1heD1iO2suZXZlbnRBcmdzPXY7YyYmbS5yZWRyYXcoaCl9KX0sem9vbTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZGF0YU1pbixrPXRoaXMuZGF0YU1heCxkPXRoaXMub3B0aW9ucyxoPU1hdGgubWluKGMsRChkLm1pbixjKSksZD1NYXRoLm1heChrLEQoZC5tYXgsaykpO2lmKGEhPT10aGlzLm1pbnx8YiE9PXRoaXMubWF4KXRoaXMuYWxsb3dab29tT3V0c2lkZXx8KEMoYykmJihhPGgmJihhPWgpLGE+ZCYmKGE9ZCkpLEMoaykmJihiPGgmJihiPWgpLGI+ZCYmKGI9ZCkpKSx0aGlzLmRpc3BsYXlCdG49dm9pZCAwIT09YXx8dm9pZCAwIT09Yix0aGlzLnNldEV4dHJlbWVzKGEsYiwhMSx2b2lkIDAse3RyaWdnZXI6Inpvb20ifSk7cmV0dXJuITB9LHNldEF4aXNTaXplOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5jaGFydCwKCQljPXRoaXMub3B0aW9ucyxkPWMub2Zmc2V0c3x8WzAsMCwwLDBdLGg9dGhpcy5ob3Jpeix2PXRoaXMud2lkdGg9TWF0aC5yb3VuZChhLnJlbGF0aXZlTGVuZ3RoKEQoYy53aWR0aCxiLnBsb3RXaWR0aC1kWzNdK2RbMV0pLGIucGxvdFdpZHRoKSksbT10aGlzLmhlaWdodD1NYXRoLnJvdW5kKGEucmVsYXRpdmVMZW5ndGgoRChjLmhlaWdodCxiLnBsb3RIZWlnaHQtZFswXStkWzJdKSxiLnBsb3RIZWlnaHQpKSx3PXRoaXMudG9wPU1hdGgucm91bmQoYS5yZWxhdGl2ZUxlbmd0aChEKGMudG9wLGIucGxvdFRvcCtkWzBdKSxiLnBsb3RIZWlnaHQsYi5wbG90VG9wKSksYz10aGlzLmxlZnQ9TWF0aC5yb3VuZChhLnJlbGF0aXZlTGVuZ3RoKEQoYy5sZWZ0LGIucGxvdExlZnQrZFszXSksYi5wbG90V2lkdGgsYi5wbG90TGVmdCkpO3RoaXMuYm90dG9tPWIuY2hhcnRIZWlnaHQtbS13O3RoaXMucmlnaHQ9Yi5jaGFydFdpZHRoLXYtYzt0aGlzLmxlbj1NYXRoLm1heChoP3Y6bSwwKTt0aGlzLnBvcz0KCQloP2M6d30sZ2V0RXh0cmVtZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmlzTG9nO3JldHVybnttaW46YT9mKHRoaXMubGluMmxvZyh0aGlzLm1pbikpOnRoaXMubWluLG1heDphP2YodGhpcy5saW4ybG9nKHRoaXMubWF4KSk6dGhpcy5tYXgsZGF0YU1pbjp0aGlzLmRhdGFNaW4sZGF0YU1heDp0aGlzLmRhdGFNYXgsdXNlck1pbjp0aGlzLnVzZXJNaW4sdXNlck1heDp0aGlzLnVzZXJNYXh9fSxnZXRUaHJlc2hvbGQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5pc0xvZyxjPWI/dGhpcy5saW4ybG9nKHRoaXMubWluKTp0aGlzLm1pbixiPWI/dGhpcy5saW4ybG9nKHRoaXMubWF4KTp0aGlzLm1heDtudWxsPT09YXx8LUluZmluaXR5PT09YT9hPWM6SW5maW5pdHk9PT1hP2E9YjpjPmE/YT1jOmI8YSYmKGE9Yik7cmV0dXJuIHRoaXMudHJhbnNsYXRlKGEsMCwxLDAsMSl9LGF1dG9MYWJlbEFsaWduOmZ1bmN0aW9uKGEpe2E9KEQoYSwwKS05MCp0aGlzLnNpZGUrNzIwKSUzNjA7cmV0dXJuIDE1PAoJYSYmMTY1PmE/InJpZ2h0IjoxOTU8YSYmMzQ1PmE/ImxlZnQiOiJjZW50ZXIifSx0aWNrU2l6ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnMsYz1iW2ErIkxlbmd0aCJdLGs9RChiW2ErIldpZHRoIl0sInRpY2siPT09YSYmdGhpcy5pc1hBeGlzPzE6MCk7aWYoayYmYylyZXR1cm4iaW5zaWRlIj09PWJbYSsiUG9zaXRpb24iXSYmKGM9LWMpLFtjLGtdfSxsYWJlbE1ldHJpY3M6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpY2tQb3NpdGlvbnMmJnRoaXMudGlja1Bvc2l0aW9uc1swXXx8MDtyZXR1cm4gdGhpcy5jaGFydC5yZW5kZXJlci5mb250TWV0cmljcyh0aGlzLm9wdGlvbnMubGFiZWxzLnN0eWxlJiZ0aGlzLm9wdGlvbnMubGFiZWxzLnN0eWxlLmZvbnRTaXplLHRoaXMudGlja3NbYV0mJnRoaXMudGlja3NbYV0ubGFiZWwpfSx1bnNxdWlzaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy5sYWJlbHMsYj10aGlzLmhvcml6LGM9dGhpcy50aWNrSW50ZXJ2YWwsZD1jLAoJCWg9dGhpcy5sZW4vKCgodGhpcy5jYXRlZ29yaWVzPzE6MCkrdGhpcy5tYXgtdGhpcy5taW4pL2MpLHYsbT1hLnJvdGF0aW9uLHc9dGhpcy5sYWJlbE1ldHJpY3MoKSxuLGU9TnVtYmVyLk1BWF9WQUxVRSx0LGc9ZnVuY3Rpb24oYSl7YS89aHx8MTthPTE8YT9NYXRoLmNlaWwoYSk6MTtyZXR1cm4gZihhKmMpfTtiPyh0PSFhLnN0YWdnZXJMaW5lcyYmIWEuc3RlcCYmKEMobSk/W21dOmg8RChhLmF1dG9Sb3RhdGlvbkxpbWl0LDgwKSYmYS5hdXRvUm90YXRpb24pKSYmcCh0LGZ1bmN0aW9uKGEpe3ZhciBiO2lmKGE9PT1tfHxhJiYtOTA8PWEmJjkwPj1hKW49ZyhNYXRoLmFicyh3LmgvTWF0aC5zaW4ociphKSkpLGI9bitNYXRoLmFicyhhLzM2MCksYjxlJiYoZT1iLHY9YSxkPW4pfSk6YS5zdGVwfHwoZD1nKHcuaCkpO3RoaXMuYXV0b1JvdGF0aW9uPXQ7dGhpcy5sYWJlbFJvdGF0aW9uPUQodixtKTtyZXR1cm4gZH0sZ2V0U2xvdFdpZHRoOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydCwKCQliPXRoaXMuaG9yaXosYz10aGlzLm9wdGlvbnMubGFiZWxzLGQ9TWF0aC5tYXgodGhpcy50aWNrUG9zaXRpb25zLmxlbmd0aC0odGhpcy5jYXRlZ29yaWVzPzA6MSksMSksaD1hLm1hcmdpblszXTtyZXR1cm4gYiYmMj4oYy5zdGVwfHwwKSYmIWMucm90YXRpb24mJih0aGlzLnN0YWdnZXJMaW5lc3x8MSkqdGhpcy5sZW4vZHx8IWImJihjLnN0eWxlJiZwYXJzZUludChjLnN0eWxlLndpZHRoLDEwKXx8aCYmaC1hLnNwYWNpbmdbM118fC4zMyphLmNoYXJ0V2lkdGgpfSxyZW5kZXJVbnNxdWlzaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuY2hhcnQsYj1hLnJlbmRlcmVyLGM9dGhpcy50aWNrUG9zaXRpb25zLGQ9dGhpcy50aWNrcyxoPXRoaXMub3B0aW9ucy5sYWJlbHMsdj1oJiZoLnN0eWxlfHx7fSxtPXRoaXMuaG9yaXosdz10aGlzLmdldFNsb3RXaWR0aCgpLG49TWF0aC5tYXgoMSxNYXRoLnJvdW5kKHctMiooaC5wYWRkaW5nfHw1KSkpLGU9e30sZz10aGlzLmxhYmVsTWV0cmljcygpLHg9CgkJaC5zdHlsZSYmaC5zdHlsZS50ZXh0T3ZlcmZsb3csQix6LEQ9MCxIO3QoaC5yb3RhdGlvbil8fChlLnJvdGF0aW9uPWgucm90YXRpb258fDApO3AoYyxmdW5jdGlvbihhKXsoYT1kW2FdKSYmYS5sYWJlbCYmYS5sYWJlbC50ZXh0UHhMZW5ndGg+RCYmKEQ9YS5sYWJlbC50ZXh0UHhMZW5ndGgpfSk7dGhpcy5tYXhMYWJlbExlbmd0aD1EO2lmKHRoaXMuYXV0b1JvdGF0aW9uKUQ+biYmRD5nLmg/ZS5yb3RhdGlvbj10aGlzLmxhYmVsUm90YXRpb246dGhpcy5sYWJlbFJvdGF0aW9uPTA7ZWxzZSBpZih3JiYoQj1uLCF4KSlmb3Ioej0iY2xpcCIsbj1jLmxlbmd0aDshbSYmbi0tOylpZihIPWNbbl0sSD1kW0hdLmxhYmVsKUguc3R5bGVzJiYiZWxsaXBzaXMiPT09SC5zdHlsZXMudGV4dE92ZXJmbG93P0guY3NzKHt0ZXh0T3ZlcmZsb3c6ImNsaXAifSk6SC50ZXh0UHhMZW5ndGg+dyYmSC5jc3Moe3dpZHRoOncrInB4In0pLEguZ2V0QkJveCgpLmhlaWdodD50aGlzLmxlbi9jLmxlbmd0aC0oZy5oLQoJCWcuZikmJihILnNwZWNpZmljVGV4dE92ZXJmbG93PSJlbGxpcHNpcyIpO2Uucm90YXRpb24mJihCPUQ+LjUqYS5jaGFydEhlaWdodD8uMzMqYS5jaGFydEhlaWdodDpELHh8fCh6PSJlbGxpcHNpcyIpKTtpZih0aGlzLmxhYmVsQWxpZ249aC5hbGlnbnx8dGhpcy5hdXRvTGFiZWxBbGlnbih0aGlzLmxhYmVsUm90YXRpb24pKWUuYWxpZ249dGhpcy5sYWJlbEFsaWduO3AoYyxmdW5jdGlvbihhKXt2YXIgYj0oYT1kW2FdKSYmYS5sYWJlbCxjPXYud2lkdGgsaz17fTtiJiYoYi5hdHRyKGUpLEImJiFjJiYibm93cmFwIiE9PXYud2hpdGVTcGFjZSYmKEI8Yi50ZXh0UHhMZW5ndGh8fCJTUEFOIj09PWIuZWxlbWVudC50YWdOYW1lKT8oay53aWR0aD1CLHh8fChrLnRleHRPdmVyZmxvdz1iLnNwZWNpZmljVGV4dE92ZXJmbG93fHx6KSxiLmNzcyhrKSk6Yi5zdHlsZXMmJmIuc3R5bGVzLndpZHRoJiYhay53aWR0aCYmIWMmJmIuY3NzKHt3aWR0aDpudWxsfSksZGVsZXRlIGIuc3BlY2lmaWNUZXh0T3ZlcmZsb3csCgkJYS5yb3RhdGlvbj1lLnJvdGF0aW9uKX0pO3RoaXMudGlja1JvdENvcnI9Yi5yb3RDb3JyKGcuYix0aGlzLmxhYmVsUm90YXRpb258fDAsMCE9PXRoaXMuc2lkZSl9LGhhc0RhdGE6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oYXNWaXNpYmxlU2VyaWVzfHxDKHRoaXMubWluKSYmQyh0aGlzLm1heCkmJnRoaXMudGlja1Bvc2l0aW9ucyYmMDx0aGlzLnRpY2tQb3NpdGlvbnMubGVuZ3RofSxhZGRUaXRsZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0LnJlbmRlcmVyLGM9dGhpcy5ob3JpeixkPXRoaXMub3Bwb3NpdGUsaz10aGlzLm9wdGlvbnMudGl0bGUsaDt0aGlzLmF4aXNUaXRsZXx8KChoPWsudGV4dEFsaWduKXx8KGg9KGM/e2xvdzoibGVmdCIsbWlkZGxlOiJjZW50ZXIiLGhpZ2g6InJpZ2h0In06e2xvdzpkPyJyaWdodCI6ImxlZnQiLG1pZGRsZToiY2VudGVyIixoaWdoOmQ/ImxlZnQiOiJyaWdodCJ9KVtrLmFsaWduXSksdGhpcy5heGlzVGl0bGU9Yi50ZXh0KGsudGV4dCwwLAoJCTAsay51c2VIVE1MKS5hdHRyKHt6SW5kZXg6Nyxyb3RhdGlvbjprLnJvdGF0aW9ufHwwLGFsaWduOmh9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1heGlzLXRpdGxlIikuY3NzKG4oay5zdHlsZSkpLmFkZCh0aGlzLmF4aXNHcm91cCksdGhpcy5heGlzVGl0bGUuaXNOZXc9ITApO2suc3R5bGUud2lkdGh8fHRoaXMuaXNSYWRpYWx8fHRoaXMuYXhpc1RpdGxlLmNzcyh7d2lkdGg6dGhpcy5sZW59KTt0aGlzLmF4aXNUaXRsZVthPyJzaG93IjoiaGlkZSJdKCEwKX0sZ2VuZXJhdGVUaWNrOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudGlja3M7YlthXT9iW2FdLmFkZExhYmVsKCk6YlthXT1uZXcgdih0aGlzLGEpfSxnZXRPZmZzZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5jaGFydCxjPWIucmVuZGVyZXIsZD1hLm9wdGlvbnMsaD1hLnRpY2tQb3NpdGlvbnMsdj1hLnRpY2tzLG09YS5ob3Jpeix3PWEuc2lkZSxuPWIuaW52ZXJ0ZWQmJiFhLmlzWkF4aXM/WzEsMCwzLDJdW3ddOncsdCxnLAoJCXg9MCxCLEg9MCxJPWQudGl0bGUsZj1kLmxhYmVscyxsPTAsTD1iLmF4aXNPZmZzZXQsYj1iLmNsaXBPZmZzZXQscj1bLTEsMSwxLC0xXVt3XSx5PWQuY2xhc3NOYW1lLHU9YS5heGlzUGFyZW50LHE9dGhpcy50aWNrU2l6ZSgidGljayIpO3Q9YS5oYXNEYXRhKCk7YS5zaG93QXhpcz1nPXR8fEQoZC5zaG93RW1wdHksITApO2Euc3RhZ2dlckxpbmVzPWEuaG9yaXomJmYuc3RhZ2dlckxpbmVzO2EuYXhpc0dyb3VwfHwoYS5ncmlkR3JvdXA9Yy5nKCJncmlkIikuYXR0cih7ekluZGV4OmQuZ3JpZFpJbmRleHx8MX0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrdGhpcy5jb2xsLnRvTG93ZXJDYXNlKCkrIi1ncmlkICIrKHl8fCIiKSkuYWRkKHUpLGEuYXhpc0dyb3VwPWMuZygiYXhpcyIpLmF0dHIoe3pJbmRleDpkLnpJbmRleHx8Mn0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrdGhpcy5jb2xsLnRvTG93ZXJDYXNlKCkrIiAiKyh5fHwiIikpLmFkZCh1KSxhLmxhYmVsR3JvdXA9Yy5nKCJheGlzLWxhYmVscyIpLmF0dHIoe3pJbmRleDpmLnpJbmRleHx8CgkJN30pLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrYS5jb2xsLnRvTG93ZXJDYXNlKCkrIi1sYWJlbHMgIisoeXx8IiIpKS5hZGQodSkpO3R8fGEuaXNMaW5rZWQ/KHAoaCxmdW5jdGlvbihiLGMpe2EuZ2VuZXJhdGVUaWNrKGIsYyl9KSxhLnJlbmRlclVuc3F1aXNoKCksYS5yZXNlcnZlU3BhY2VEZWZhdWx0PTA9PT13fHwyPT09d3x8ezE6ImxlZnQiLDM6InJpZ2h0In1bd109PT1hLmxhYmVsQWxpZ24sRChmLnJlc2VydmVTcGFjZSwiY2VudGVyIj09PWEubGFiZWxBbGlnbj8hMDpudWxsLGEucmVzZXJ2ZVNwYWNlRGVmYXVsdCkmJnAoaCxmdW5jdGlvbihhKXtsPU1hdGgubWF4KHZbYV0uZ2V0TGFiZWxTaXplKCksbCl9KSxhLnN0YWdnZXJMaW5lcyYmKGwqPWEuc3RhZ2dlckxpbmVzKSxhLmxhYmVsT2Zmc2V0PWwqKGEub3Bwb3NpdGU/LTE6MSkpOnoodixmdW5jdGlvbihhLGIpe2EuZGVzdHJveSgpO2RlbGV0ZSB2W2JdfSk7SSYmSS50ZXh0JiYhMSE9PUkuZW5hYmxlZCYmKGEuYWRkVGl0bGUoZyksCglnJiYhMSE9PUkucmVzZXJ2ZVNwYWNlJiYoYS50aXRsZU9mZnNldD14PWEuYXhpc1RpdGxlLmdldEJCb3goKVttPyJoZWlnaHQiOiJ3aWR0aCJdLEI9SS5vZmZzZXQsSD1DKEIpPzA6RChJLm1hcmdpbixtPzU6MTApKSk7YS5yZW5kZXJMaW5lKCk7YS5vZmZzZXQ9cipEKGQub2Zmc2V0LExbd10pO2EudGlja1JvdENvcnI9YS50aWNrUm90Q29ycnx8e3g6MCx5OjB9O2M9MD09PXc/LWEubGFiZWxNZXRyaWNzKCkuaDoyPT09dz9hLnRpY2tSb3RDb3JyLnk6MDtIPU1hdGguYWJzKGwpK0g7bCYmKEg9SC1jK3IqKG0/RChmLnksYS50aWNrUm90Q29yci55Kzgqcik6Zi54KSk7YS5heGlzVGl0bGVNYXJnaW49RChCLEgpO0xbd109TWF0aC5tYXgoTFt3XSxhLmF4aXNUaXRsZU1hcmdpbit4K3IqYS5vZmZzZXQsSCx0JiZoLmxlbmd0aCYmcT9xWzBdK3IqYS5vZmZzZXQ6MCk7ZD1kLm9mZnNldD8wOjIqTWF0aC5mbG9vcihhLmF4aXNMaW5lLnN0cm9rZVdpZHRoKCkvMik7YltuXT1NYXRoLm1heChiW25dLAoJCWQpO2UodGhpcywiYWZ0ZXJHZXRPZmZzZXQiKX0sZ2V0TGluZVBhdGg6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jaGFydCxjPXRoaXMub3Bwb3NpdGUsZD10aGlzLm9mZnNldCxrPXRoaXMuaG9yaXosaD10aGlzLmxlZnQrKGM/dGhpcy53aWR0aDowKStkLGQ9Yi5jaGFydEhlaWdodC10aGlzLmJvdHRvbS0oYz90aGlzLmhlaWdodDowKStkO2MmJihhKj0tMSk7cmV0dXJuIGIucmVuZGVyZXIuY3Jpc3BMaW5lKFsiTSIsaz90aGlzLmxlZnQ6aCxrP2Q6dGhpcy50b3AsIkwiLGs/Yi5jaGFydFdpZHRoLXRoaXMucmlnaHQ6aCxrP2Q6Yi5jaGFydEhlaWdodC10aGlzLmJvdHRvbV0sYSl9LHJlbmRlckxpbmU6ZnVuY3Rpb24oKXt0aGlzLmF4aXNMaW5lfHwodGhpcy5heGlzTGluZT10aGlzLmNoYXJ0LnJlbmRlcmVyLnBhdGgoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1heGlzLWxpbmUiKS5hZGQodGhpcy5heGlzR3JvdXApLHRoaXMuYXhpc0xpbmUuYXR0cih7c3Ryb2tlOnRoaXMub3B0aW9ucy5saW5lQ29sb3IsCgkJInN0cm9rZS13aWR0aCI6dGhpcy5vcHRpb25zLmxpbmVXaWR0aCx6SW5kZXg6N30pKX0sZ2V0VGl0bGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuaG9yaXosYj10aGlzLmxlZnQsYz10aGlzLnRvcCxkPXRoaXMubGVuLGg9dGhpcy5vcHRpb25zLnRpdGxlLHY9YT9iOmMsbT10aGlzLm9wcG9zaXRlLHc9dGhpcy5vZmZzZXQsbj1oLnh8fDAsZT1oLnl8fDAsdD10aGlzLmF4aXNUaXRsZSxnPXRoaXMuY2hhcnQucmVuZGVyZXIuZm9udE1ldHJpY3MoaC5zdHlsZSYmaC5zdHlsZS5mb250U2l6ZSx0KSx0PU1hdGgubWF4KHQuZ2V0QkJveChudWxsLDApLmhlaWdodC1nLmgtMSwwKSxkPXtsb3c6disoYT8wOmQpLG1pZGRsZTp2K2QvMixoaWdoOnYrKGE/ZDowKX1baC5hbGlnbl0sYj0oYT9jK3RoaXMuaGVpZ2h0OmIpKyhhPzE6LTEpKihtPy0xOjEpKnRoaXMuYXhpc1RpdGxlTWFyZ2luK1stdCx0LGcuZiwtdF1bdGhpcy5zaWRlXTtyZXR1cm57eDphP2QrbjpiKyhtP3RoaXMud2lkdGg6CgkJCTApK3crbix5OmE/YitlLShtP3RoaXMuaGVpZ2h0OjApK3c6ZCtlfX0scmVuZGVyTWlub3JUaWNrOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2hhcnQuaGFzUmVuZGVyZWQmJkIodGhpcy5vbGRNaW4pLGM9dGhpcy5taW5vclRpY2tzO2NbYV18fChjW2FdPW5ldyB2KHRoaXMsYSwibWlub3IiKSk7YiYmY1thXS5pc05ldyYmY1thXS5yZW5kZXIobnVsbCwhMCk7Y1thXS5yZW5kZXIobnVsbCwhMSwxKX0scmVuZGVyVGljazpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuaXNMaW5rZWQsZD10aGlzLnRpY2tzLGg9dGhpcy5jaGFydC5oYXNSZW5kZXJlZCYmQih0aGlzLm9sZE1pbik7aWYoIWN8fGE+PXRoaXMubWluJiZhPD10aGlzLm1heClkW2FdfHwoZFthXT1uZXcgdih0aGlzLGEpKSxoJiZkW2FdLmlzTmV3JiZkW2FdLnJlbmRlcihiLCEwLC4xKSxkW2FdLnJlbmRlcihiKX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPWIuY2hhcnQsZD1iLm9wdGlvbnMsaD1iLmlzTG9nLG09Yi5pc0xpbmtlZCwKCQl3PWIudGlja1Bvc2l0aW9ucyxuPWIuYXhpc1RpdGxlLHQ9Yi50aWNrcyxnPWIubWlub3JUaWNrcyx4PWIuYWx0ZXJuYXRlQmFuZHMsRD1kLnN0YWNrTGFiZWxzLEk9ZC5hbHRlcm5hdGVHcmlkQ29sb3IsZj1iLnRpY2ttYXJrT2Zmc2V0LGw9Yi5heGlzTGluZSxMPWIuc2hvd0F4aXMscj1GKGMucmVuZGVyZXIuZ2xvYmFsQW5pbWF0aW9uKSx5LHU7Yi5sYWJlbEVkZ2UubGVuZ3RoPTA7Yi5vdmVybGFwPSExO3AoW3QsZyx4XSxmdW5jdGlvbihhKXt6KGEsZnVuY3Rpb24oYSl7YS5pc0FjdGl2ZT0hMX0pfSk7aWYoYi5oYXNEYXRhKCl8fG0pYi5taW5vclRpY2tJbnRlcnZhbCYmIWIuY2F0ZWdvcmllcyYmcChiLmdldE1pbm9yVGlja1Bvc2l0aW9ucygpLGZ1bmN0aW9uKGEpe2IucmVuZGVyTWlub3JUaWNrKGEpfSksdy5sZW5ndGgmJihwKHcsZnVuY3Rpb24oYSxjKXtiLnJlbmRlclRpY2soYSxjKX0pLGYmJigwPT09Yi5taW58fGIuc2luZ2xlKSYmKHRbLTFdfHwodFstMV09bmV3IHYoYiwKCQktMSxudWxsLCEwKSksdFstMV0ucmVuZGVyKC0xKSkpLEkmJnAodyxmdW5jdGlvbihkLGspe3U9dm9pZCAwIT09d1trKzFdP3dbaysxXStmOmIubWF4LWY7MD09PWslMiYmZDxiLm1heCYmdTw9Yi5tYXgrKGMucG9sYXI/LWY6ZikmJih4W2RdfHwoeFtkXT1uZXcgYS5QbG90TGluZU9yQmFuZChiKSkseT1kK2YseFtkXS5vcHRpb25zPXtmcm9tOmg/Yi5saW4ybG9nKHkpOnksdG86aD9iLmxpbjJsb2codSk6dSxjb2xvcjpJfSx4W2RdLnJlbmRlcigpLHhbZF0uaXNBY3RpdmU9ITApfSksYi5fYWRkZWRQbG90TEJ8fChwKChkLnBsb3RMaW5lc3x8W10pLmNvbmNhdChkLnBsb3RCYW5kc3x8W10pLGZ1bmN0aW9uKGEpe2IuYWRkUGxvdEJhbmRPckxpbmUoYSl9KSxiLl9hZGRlZFBsb3RMQj0hMCk7cChbdCxnLHhdLGZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10saD1yLmR1cmF0aW9uO3ooYSxmdW5jdGlvbihhLGIpe2EuaXNBY3RpdmV8fChhLnJlbmRlcihiLCExLDApLGEuaXNBY3RpdmU9ITEsZC5wdXNoKGIpKX0pOwoJCUgoZnVuY3Rpb24oKXtmb3IoYj1kLmxlbmd0aDtiLS07KWFbZFtiXV0mJiFhW2RbYl1dLmlzQWN0aXZlJiYoYVtkW2JdXS5kZXN0cm95KCksZGVsZXRlIGFbZFtiXV0pfSxhIT09eCYmYy5oYXNSZW5kZXJlZCYmaD9oOjApfSk7bCYmKGxbbC5pc1BsYWNlZD8iYW5pbWF0ZSI6ImF0dHIiXSh7ZDp0aGlzLmdldExpbmVQYXRoKGwuc3Ryb2tlV2lkdGgoKSl9KSxsLmlzUGxhY2VkPSEwLGxbTD8ic2hvdyI6ImhpZGUiXSghMCkpO24mJkwmJihkPWIuZ2V0VGl0bGVQb3NpdGlvbigpLEIoZC55KT8obltuLmlzTmV3PyJhdHRyIjoiYW5pbWF0ZSJdKGQpLG4uaXNOZXc9ITEpOihuLmF0dHIoInkiLC05OTk5KSxuLmlzTmV3PSEwKSk7RCYmRC5lbmFibGVkJiZiLnJlbmRlclN0YWNrVG90YWxzKCk7Yi5pc0RpcnR5PSExO2UodGhpcywiYWZ0ZXJSZW5kZXIiKX0scmVkcmF3OmZ1bmN0aW9uKCl7dGhpcy52aXNpYmxlJiYodGhpcy5yZW5kZXIoKSxwKHRoaXMucGxvdExpbmVzQW5kQmFuZHMsZnVuY3Rpb24oYSl7YS5yZW5kZXIoKX0pKTsKCQlwKHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGEpe2EuaXNEaXJ0eT0hMH0pfSxrZWVwUHJvcHM6ImV4dEtleSBoY0V2ZW50cyBuYW1lcyBzZXJpZXMgdXNlck1heCB1c2VyTWluIi5zcGxpdCgiICIpLGRlc3Ryb3k6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxkPWIuc3RhY2tzLGs9Yi5wbG90TGluZXNBbmRCYW5kcyx2O2UodGhpcywiZGVzdHJveSIse2tlZXBFdmVudHM6YX0pO2F8fGgoYik7eihkLGZ1bmN0aW9uKGEsYil7eShhKTtkW2JdPW51bGx9KTtwKFtiLnRpY2tzLGIubWlub3JUaWNrcyxiLmFsdGVybmF0ZUJhbmRzXSxmdW5jdGlvbihhKXt5KGEpfSk7aWYoaylmb3IoYT1rLmxlbmd0aDthLS07KWtbYV0uZGVzdHJveSgpO3AoInN0YWNrVG90YWxHcm91cCBheGlzTGluZSBheGlzVGl0bGUgYXhpc0dyb3VwIGdyaWRHcm91cCBsYWJlbEdyb3VwIGNyb3NzIHNjcm9sbGJhciIuc3BsaXQoIiAiKSxmdW5jdGlvbihhKXtiW2FdJiYoYlthXT1iW2FdLmRlc3Ryb3koKSl9KTtmb3IodiBpbiBiLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzKWIucGxvdExpbmVzQW5kQmFuZHNHcm91cHNbdl09CgkJYi5wbG90TGluZXNBbmRCYW5kc0dyb3Vwc1t2XS5kZXN0cm95KCk7eihiLGZ1bmN0aW9uKGEsZCl7LTE9PT1jKGQsYi5rZWVwUHJvcHMpJiZkZWxldGUgYltkXX0pfSxkcmF3Q3Jvc3NoYWlyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD10aGlzLmNyb3NzaGFpcixoPUQoZC5zbmFwLCEwKSxrLHY9dGhpcy5jcm9zcztlKHRoaXMsImRyYXdDcm9zc2hhaXIiLHtlOmEscG9pbnQ6Yn0pO2F8fChhPXRoaXMuY3Jvc3MmJnRoaXMuY3Jvc3MuZSk7aWYodGhpcy5jcm9zc2hhaXImJiExIT09KEMoYil8fCFoKSl7aD9DKGIpJiYoaz1EKGIuY3Jvc3NoYWlyUG9zLHRoaXMuaXNYQXhpcz9iLnBsb3RYOnRoaXMubGVuLWIucGxvdFkpKTprPWEmJih0aGlzLmhvcml6P2EuY2hhcnRYLXRoaXMucG9zOnRoaXMubGVuLWEuY2hhcnRZK3RoaXMucG9zKTtDKGspJiYoYz10aGlzLmdldFBsb3RMaW5lUGF0aChiJiYodGhpcy5pc1hBeGlzP2IueDpEKGIuc3RhY2tZLGIueSkpLG51bGwsbnVsbCxudWxsLGspfHxudWxsKTsKCQlpZighQyhjKSl7dGhpcy5oaWRlQ3Jvc3NoYWlyKCk7cmV0dXJufWg9dGhpcy5jYXRlZ29yaWVzJiYhdGhpcy5pc1JhZGlhbDt2fHwodGhpcy5jcm9zcz12PXRoaXMuY2hhcnQucmVuZGVyZXIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWNyb3NzaGFpciBoaWdoY2hhcnRzLWNyb3NzaGFpci0iKyhoPyJjYXRlZ29yeSAiOiJ0aGluICIpK2QuY2xhc3NOYW1lKS5hdHRyKHt6SW5kZXg6RChkLnpJbmRleCwyKX0pLmFkZCgpLHYuYXR0cih7c3Ryb2tlOmQuY29sb3J8fChoP2woIiNjY2Q2ZWIiKS5zZXRPcGFjaXR5KC4yNSkuZ2V0KCk6IiNjY2NjY2MiKSwic3Ryb2tlLXdpZHRoIjpEKGQud2lkdGgsMSl9KS5jc3MoeyJwb2ludGVyLWV2ZW50cyI6Im5vbmUifSksZC5kYXNoU3R5bGUmJnYuYXR0cih7ZGFzaHN0eWxlOmQuZGFzaFN0eWxlfSkpO3Yuc2hvdygpLmF0dHIoe2Q6Y30pO2gmJiFkLndpZHRoJiZ2LmF0dHIoeyJzdHJva2Utd2lkdGgiOnRoaXMudHJhbnNBfSk7dGhpcy5jcm9zcy5lPQoJCQlhfWVsc2UgdGhpcy5oaWRlQ3Jvc3NoYWlyKCk7ZSh0aGlzLCJhZnRlckRyYXdDcm9zc2hhaXIiLHtlOmEscG9pbnQ6Yn0pfSxoaWRlQ3Jvc3NoYWlyOmZ1bmN0aW9uKCl7dGhpcy5jcm9zcyYmdGhpcy5jcm9zcy5oaWRlKCl9fSk7cmV0dXJuIGEuQXhpcz13fShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5BeGlzLEY9YS5nZXRNYWduaXR1ZGUsRz1hLm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCxxPWEudGltZVVuaXRzO0UucHJvdG90eXBlLmdldFRpbWVUaWNrcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNoYXJ0LnRpbWUuZ2V0VGltZVRpY2tzLmFwcGx5KHRoaXMuY2hhcnQudGltZSxhcmd1bWVudHMpfTtFLnByb3RvdHlwZS5ub3JtYWxpemVUaW1lVGlja0ludGVydmFsPWZ1bmN0aW9uKGEsZil7dmFyIGw9Znx8W1sibWlsbGlzZWNvbmQiLFsxLDIsNSwxMCwyMCwyNSw1MCwxMDAsMjAwLDUwMF1dLFsic2Vjb25kIixbMSwyLDUsMTAsMTUsMzBdXSxbIm1pbnV0ZSIsWzEsMiw1LDEwLDE1LDMwXV0sCglbImhvdXIiLFsxLDIsMyw0LDYsOCwxMl1dLFsiZGF5IixbMSwyXV0sWyJ3ZWVrIixbMSwyXV0sWyJtb250aCIsWzEsMiwzLDQsNl1dLFsieWVhciIsbnVsbF1dO2Y9bFtsLmxlbmd0aC0xXTt2YXIgQz1xW2ZbMF1dLHI9ZlsxXSx5O2Zvcih5PTA7eTxsLmxlbmd0aCYmIShmPWxbeV0sQz1xW2ZbMF1dLHI9ZlsxXSxsW3krMV0mJmE8PShDKnJbci5sZW5ndGgtMV0rcVtsW3krMV1bMF1dKS8yKTt5KyspO0M9PT1xLnllYXImJmE8NSpDJiYocj1bMSwyLDVdKTthPUcoYS9DLHIsInllYXIiPT09ZlswXT9NYXRoLm1heChGKGEvQyksMSk6MSk7cmV0dXJue3VuaXRSYW5nZTpDLGNvdW50OmEsdW5pdE5hbWU6ZlswXX19fSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuQXhpcyxGPWEuZ2V0TWFnbml0dWRlLEc9YS5tYXAscT1hLm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCxsPWEucGljaztFLnByb3RvdHlwZS5nZXRMb2dUaWNrUG9zaXRpb25zPWZ1bmN0aW9uKGEsdSxDLHIpe3ZhciBmPXRoaXMub3B0aW9ucywKCXA9dGhpcy5sZW4sZD1bXTtyfHwodGhpcy5fbWlub3JBdXRvSW50ZXJ2YWw9bnVsbCk7aWYoLjU8PWEpYT1NYXRoLnJvdW5kKGEpLGQ9dGhpcy5nZXRMaW5lYXJUaWNrUG9zaXRpb25zKGEsdSxDKTtlbHNlIGlmKC4wODw9YSlmb3IodmFyIHA9TWF0aC5mbG9vcih1KSxlLGcsbSxiLGMsZj0uMzxhP1sxLDIsNF06LjE1PGE/WzEsMiw0LDYsOF06WzEsMiwzLDQsNSw2LDcsOCw5XTtwPEMrMSYmIWM7cCsrKWZvcihnPWYubGVuZ3RoLGU9MDtlPGcmJiFjO2UrKyltPXRoaXMubG9nMmxpbih0aGlzLmxpbjJsb2cocCkqZltlXSksbT51JiYoIXJ8fGI8PUMpJiZ2b2lkIDAhPT1iJiZkLnB1c2goYiksYj5DJiYoYz0hMCksYj1tO2Vsc2UgdT10aGlzLmxpbjJsb2codSksQz10aGlzLmxpbjJsb2coQyksYT1yP3RoaXMuZ2V0TWlub3JUaWNrSW50ZXJ2YWwoKTpmLnRpY2tJbnRlcnZhbCxhPWwoImF1dG8iPT09YT9udWxsOmEsdGhpcy5fbWlub3JBdXRvSW50ZXJ2YWwsZi50aWNrUGl4ZWxJbnRlcnZhbC8KCShyPzU6MSkqKEMtdSkvKChyP3AvdGhpcy50aWNrUG9zaXRpb25zLmxlbmd0aDpwKXx8MSkpLGE9cShhLG51bGwsRihhKSksZD1HKHRoaXMuZ2V0TGluZWFyVGlja1Bvc2l0aW9ucyhhLHUsQyksdGhpcy5sb2cybGluKSxyfHwodGhpcy5fbWlub3JBdXRvSW50ZXJ2YWw9YS81KTtyfHwodGhpcy50aWNrSW50ZXJ2YWw9YSk7cmV0dXJuIGR9O0UucHJvdG90eXBlLmxvZzJsaW49ZnVuY3Rpb24oYSl7cmV0dXJuIE1hdGgubG9nKGEpL01hdGguTE4xMH07RS5wcm90b3R5cGUubGluMmxvZz1mdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5wb3coMTAsYSl9fSkoSik7KGZ1bmN0aW9uKGEsRSl7dmFyIEY9YS5hcnJheU1heCxHPWEuYXJyYXlNaW4scT1hLmRlZmluZWQsbD1hLmRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzLGY9YS5lYWNoLHU9YS5lcmFzZSxDPWEubWVyZ2Uscj1hLnBpY2s7YS5QbG90TGluZU9yQmFuZD1mdW5jdGlvbihhLHApe3RoaXMuYXhpcz1hO3AmJih0aGlzLm9wdGlvbnM9cCx0aGlzLmlkPQoJcC5pZCl9O2EuUGxvdExpbmVPckJhbmQucHJvdG90eXBlPXtyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZj10aGlzLHA9Zi5heGlzLGQ9cC5ob3JpeixlPWYub3B0aW9ucyxnPWUubGFiZWwsbT1mLmxhYmVsLGI9ZS50byxjPWUuZnJvbSx4PWUudmFsdWUsQj1xKGMpJiZxKGIpLHQ9cSh4KSxuPWYuc3ZnRWxlbSxsPSFuLHo9W10sRD1lLmNvbG9yLGg9cihlLnpJbmRleCwwKSxJPWUuZXZlbnRzLHo9eyJjbGFzcyI6ImhpZ2hjaGFydHMtcGxvdC0iKyhCPyJiYW5kICI6ImxpbmUgIikrKGUuY2xhc3NOYW1lfHwiIil9LEg9e30sdj1wLmNoYXJ0LnJlbmRlcmVyLHc9Qj8iYmFuZHMiOiJsaW5lcyI7cC5pc0xvZyYmKGM9cC5sb2cybGluKGMpLGI9cC5sb2cybGluKGIpLHg9cC5sb2cybGluKHgpKTt0Pyh6LnN0cm9rZT1ELHpbInN0cm9rZS13aWR0aCJdPWUud2lkdGgsZS5kYXNoU3R5bGUmJih6LmRhc2hzdHlsZT1lLmRhc2hTdHlsZSkpOkImJihEJiYoei5maWxsPUQpLGUuYm9yZGVyV2lkdGgmJgoJKHouc3Ryb2tlPWUuYm9yZGVyQ29sb3Iselsic3Ryb2tlLXdpZHRoIl09ZS5ib3JkZXJXaWR0aCkpO0guekluZGV4PWg7dys9Ii0iK2g7KEQ9cC5wbG90TGluZXNBbmRCYW5kc0dyb3Vwc1t3XSl8fChwLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzW3ddPUQ9di5nKCJwbG90LSIrdykuYXR0cihIKS5hZGQoKSk7bCYmKGYuc3ZnRWxlbT1uPXYucGF0aCgpLmF0dHIoeikuYWRkKEQpKTtpZih0KXo9cC5nZXRQbG90TGluZVBhdGgoeCxuLnN0cm9rZVdpZHRoKCkpO2Vsc2UgaWYoQil6PXAuZ2V0UGxvdEJhbmRQYXRoKGMsYixlKTtlbHNlIHJldHVybjtsJiZ6JiZ6Lmxlbmd0aD8obi5hdHRyKHtkOnp9KSxJJiZhLm9iamVjdEVhY2goSSxmdW5jdGlvbihhLGIpe24ub24oYixmdW5jdGlvbihhKXtJW2JdLmFwcGx5KGYsW2FdKX0pfSkpOm4mJih6PyhuLnNob3coKSxuLmFuaW1hdGUoe2Q6en0pKToobi5oaWRlKCksbSYmKGYubGFiZWw9bT1tLmRlc3Ryb3koKSkpKTtnJiZxKGcudGV4dCkmJnomJgoJei5sZW5ndGgmJjA8cC53aWR0aCYmMDxwLmhlaWdodCYmIXouaXNGbGF0PyhnPUMoe2FsaWduOmQmJkImJiJjZW50ZXIiLHg6ZD8hQiYmNDoxMCx2ZXJ0aWNhbEFsaWduOiFkJiZCJiYibWlkZGxlIix5OmQ/Qj8xNjoxMDpCPzY6LTQscm90YXRpb246ZCYmIUImJjkwfSxnKSx0aGlzLnJlbmRlckxhYmVsKGcseixCLGgpKTptJiZtLmhpZGUoKTtyZXR1cm4gZn0scmVuZGVyTGFiZWw6ZnVuY3Rpb24oYSxwLGQsZSl7dmFyIGc9dGhpcy5sYWJlbCxtPXRoaXMuYXhpcy5jaGFydC5yZW5kZXJlcjtnfHwoZz17YWxpZ246YS50ZXh0QWxpZ258fGEuYWxpZ24scm90YXRpb246YS5yb3RhdGlvbiwiY2xhc3MiOiJoaWdoY2hhcnRzLXBsb3QtIisoZD8iYmFuZCI6ImxpbmUiKSsiLWxhYmVsICIrKGEuY2xhc3NOYW1lfHwiIil9LGcuekluZGV4PWUsdGhpcy5sYWJlbD1nPW0udGV4dChhLnRleHQsMCwwLGEudXNlSFRNTCkuYXR0cihnKS5hZGQoKSxnLmNzcyhhLnN0eWxlKSk7ZT1wLnhCb3VuZHN8fAoJCVtwWzFdLHBbNF0sZD9wWzZdOnBbMV1dO3A9cC55Qm91bmRzfHxbcFsyXSxwWzVdLGQ/cFs3XTpwWzJdXTtkPUcoZSk7bT1HKHApO2cuYWxpZ24oYSwhMSx7eDpkLHk6bSx3aWR0aDpGKGUpLWQsaGVpZ2h0OkYocCktbX0pO2cuc2hvdygpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dSh0aGlzLmF4aXMucGxvdExpbmVzQW5kQmFuZHMsdGhpcyk7ZGVsZXRlIHRoaXMuYXhpcztsKHRoaXMpfX07YS5leHRlbmQoRS5wcm90b3R5cGUse2dldFBsb3RCYW5kUGF0aDpmdW5jdGlvbihhLHApe3ZhciBkPXRoaXMuZ2V0UGxvdExpbmVQYXRoKHAsbnVsbCxudWxsLCEwKSxlPXRoaXMuZ2V0UGxvdExpbmVQYXRoKGEsbnVsbCxudWxsLCEwKSxnPVtdLG09dGhpcy5ob3JpeixiPTEsYzthPWE8dGhpcy5taW4mJnA8dGhpcy5taW58fGE+dGhpcy5tYXgmJnA+dGhpcy5tYXg7aWYoZSYmZClmb3IoYSYmKGM9ZS50b1N0cmluZygpPT09ZC50b1N0cmluZygpLGI9MCksYT0wO2E8ZS5sZW5ndGg7YSs9NiltJiZkW2ErCgkxXT09PWVbYSsxXT8oZFthKzFdKz1iLGRbYSs0XSs9Yik6bXx8ZFthKzJdIT09ZVthKzJdfHwoZFthKzJdKz1iLGRbYSs1XSs9YiksZy5wdXNoKCJNIixlW2ErMV0sZVthKzJdLCJMIixlW2ErNF0sZVthKzVdLGRbYSs0XSxkW2ErNV0sZFthKzFdLGRbYSsyXSwieiIpLGcuaXNGbGF0PWM7cmV0dXJuIGd9LGFkZFBsb3RCYW5kOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZFBsb3RCYW5kT3JMaW5lKGEsInBsb3RCYW5kcyIpfSxhZGRQbG90TGluZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5hZGRQbG90QmFuZE9yTGluZShhLCJwbG90TGluZXMiKX0sYWRkUGxvdEJhbmRPckxpbmU6ZnVuY3Rpb24oZixwKXt2YXIgZD0obmV3IGEuUGxvdExpbmVPckJhbmQodGhpcyxmKSkucmVuZGVyKCksZT10aGlzLnVzZXJPcHRpb25zO2QmJihwJiYoZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2goZikpLHRoaXMucGxvdExpbmVzQW5kQmFuZHMucHVzaChkKSk7cmV0dXJuIGR9LHJlbW92ZVBsb3RCYW5kT3JMaW5lOmZ1bmN0aW9uKGEpe2Zvcih2YXIgcD0KCQl0aGlzLnBsb3RMaW5lc0FuZEJhbmRzLGQ9dGhpcy5vcHRpb25zLGU9dGhpcy51c2VyT3B0aW9ucyxnPXAubGVuZ3RoO2ctLTspcFtnXS5pZD09PWEmJnBbZ10uZGVzdHJveSgpO2YoW2QucGxvdExpbmVzfHxbXSxlLnBsb3RMaW5lc3x8W10sZC5wbG90QmFuZHN8fFtdLGUucGxvdEJhbmRzfHxbXV0sZnVuY3Rpb24oZCl7Zm9yKGc9ZC5sZW5ndGg7Zy0tOylkW2ddLmlkPT09YSYmdShkLGRbZ10pfSl9LHJlbW92ZVBsb3RCYW5kOmZ1bmN0aW9uKGEpe3RoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUoYSl9LHJlbW92ZVBsb3RMaW5lOmZ1bmN0aW9uKGEpe3RoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUoYSl9fSl9KShKLGVhKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5kb2MsRj1hLmVhY2gsRz1hLmV4dGVuZCxxPWEuZm9ybWF0LGw9YS5pc051bWJlcixmPWEubWFwLHU9YS5tZXJnZSxDPWEucGljayxyPWEuc3BsYXQseT1hLnN5bmNUaW1lb3V0LHA9YS50aW1lVW5pdHM7YS5Ub29sdGlwPWZ1bmN0aW9uKCl7dGhpcy5pbml0LmFwcGx5KHRoaXMsCglhcmd1bWVudHMpfTthLlRvb2x0aXAucHJvdG90eXBlPXtpbml0OmZ1bmN0aW9uKGEsZSl7dGhpcy5jaGFydD1hO3RoaXMub3B0aW9ucz1lO3RoaXMuY3Jvc3NoYWlycz1bXTt0aGlzLm5vdz17eDowLHk6MH07dGhpcy5pc0hpZGRlbj0hMDt0aGlzLnNwbGl0PWUuc3BsaXQmJiFhLmludmVydGVkO3RoaXMuc2hhcmVkPWUuc2hhcmVkfHx0aGlzLnNwbGl0O3RoaXMub3V0c2lkZT1lLm91dHNpZGUmJiF0aGlzLnNwbGl0fSxjbGVhblNwbGl0OmZ1bmN0aW9uKGEpe0YodGhpcy5jaGFydC5zZXJpZXMsZnVuY3Rpb24oZCl7dmFyIGU9ZCYmZC50dDtlJiYoIWUuaXNBY3RpdmV8fGE/ZC50dD1lLmRlc3Ryb3koKTplLmlzQWN0aXZlPSExKX0pfSxnZXRMYWJlbDpmdW5jdGlvbigpe3ZhciBkPXRoaXMuY2hhcnQucmVuZGVyZXIsZT10aGlzLm9wdGlvbnMsZzt0aGlzLmxhYmVsfHwodGhpcy5vdXRzaWRlJiYodGhpcy5jb250YWluZXI9Zz1hLmRvYy5jcmVhdGVFbGVtZW50KCJkaXYiKSxnLmNsYXNzTmFtZT0KCQkiaGlnaGNoYXJ0cy10b29sdGlwLWNvbnRhaW5lciIsYS5jc3MoZyx7cG9zaXRpb246ImFic29sdXRlIix0b3A6IjFweCIscG9pbnRlckV2ZW50czplLnN0eWxlJiZlLnN0eWxlLnBvaW50ZXJFdmVudHN9KSxhLmRvYy5ib2R5LmFwcGVuZENoaWxkKGcpLHRoaXMucmVuZGVyZXI9ZD1uZXcgYS5SZW5kZXJlcihnLDAsMCkpLHRoaXMuc3BsaXQ/dGhpcy5sYWJlbD1kLmcoInRvb2x0aXAiKToodGhpcy5sYWJlbD1kLmxhYmVsKCIiLDAsMCxlLnNoYXBlfHwiY2FsbG91dCIsbnVsbCxudWxsLGUudXNlSFRNTCxudWxsLCJ0b29sdGlwIikuYXR0cih7cGFkZGluZzplLnBhZGRpbmcscjplLmJvcmRlclJhZGl1c30pLHRoaXMubGFiZWwuYXR0cih7ZmlsbDplLmJhY2tncm91bmRDb2xvciwic3Ryb2tlLXdpZHRoIjplLmJvcmRlcldpZHRofSkuY3NzKGUuc3R5bGUpLnNoYWRvdyhlLnNoYWRvdykpLHRoaXMub3V0c2lkZSYmKHRoaXMubGFiZWwuYXR0cih7eDp0aGlzLmRpc3RhbmNlLHk6dGhpcy5kaXN0YW5jZX0pLAoJCXRoaXMubGFiZWwueFNldHRlcj1mdW5jdGlvbihhKXtnLnN0eWxlLmxlZnQ9YSsicHgifSx0aGlzLmxhYmVsLnlTZXR0ZXI9ZnVuY3Rpb24oYSl7Zy5zdHlsZS50b3A9YSsicHgifSksdGhpcy5sYWJlbC5hdHRyKHt6SW5kZXg6OH0pLmFkZCgpKTtyZXR1cm4gdGhpcy5sYWJlbH0sdXBkYXRlOmZ1bmN0aW9uKGEpe3RoaXMuZGVzdHJveSgpO3UoITAsdGhpcy5jaGFydC5vcHRpb25zLnRvb2x0aXAudXNlck9wdGlvbnMsYSk7dGhpcy5pbml0KHRoaXMuY2hhcnQsdSghMCx0aGlzLm9wdGlvbnMsYSkpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5sYWJlbCYmKHRoaXMubGFiZWw9dGhpcy5sYWJlbC5kZXN0cm95KCkpO3RoaXMuc3BsaXQmJnRoaXMudHQmJih0aGlzLmNsZWFuU3BsaXQodGhpcy5jaGFydCwhMCksdGhpcy50dD10aGlzLnR0LmRlc3Ryb3koKSk7dGhpcy5yZW5kZXJlciYmKHRoaXMucmVuZGVyZXI9dGhpcy5yZW5kZXJlci5kZXN0cm95KCksYS5kaXNjYXJkRWxlbWVudCh0aGlzLmNvbnRhaW5lcikpOwoJCWEuY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVyKTthLmNsZWFyVGltZW91dCh0aGlzLnRvb2x0aXBUaW1lb3V0KX0sbW92ZTpmdW5jdGlvbihkLGUsZyxtKXt2YXIgYj10aGlzLGM9Yi5ub3cseD0hMSE9PWIub3B0aW9ucy5hbmltYXRpb24mJiFiLmlzSGlkZGVuJiYoMTxNYXRoLmFicyhkLWMueCl8fDE8TWF0aC5hYnMoZS1jLnkpKSxCPWIuZm9sbG93UG9pbnRlcnx8MTxiLmxlbjtHKGMse3g6eD8oMipjLngrZCkvMzpkLHk6eD8oYy55K2UpLzI6ZSxhbmNob3JYOkI/dm9pZCAwOng/KDIqYy5hbmNob3JYK2cpLzM6ZyxhbmNob3JZOkI/dm9pZCAwOng/KGMuYW5jaG9yWSttKS8yOm19KTtiLmdldExhYmVsKCkuYXR0cihjKTt4JiYoYS5jbGVhclRpbWVvdXQodGhpcy50b29sdGlwVGltZW91dCksdGhpcy50b29sdGlwVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YiYmYi5tb3ZlKGQsZSxnLG0pfSwzMikpfSxoaWRlOmZ1bmN0aW9uKGQpe3ZhciBlPXRoaXM7YS5jbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZXIpOwoJCWQ9QyhkLHRoaXMub3B0aW9ucy5oaWRlRGVsYXksNTAwKTt0aGlzLmlzSGlkZGVufHwodGhpcy5oaWRlVGltZXI9eShmdW5jdGlvbigpe2UuZ2V0TGFiZWwoKVtkPyJmYWRlT3V0IjoiaGlkZSJdKCk7ZS5pc0hpZGRlbj0hMH0sZCkpfSxnZXRBbmNob3I6ZnVuY3Rpb24oYSxlKXt2YXIgZD10aGlzLmNoYXJ0LG09ZC5wb2ludGVyLGI9ZC5pbnZlcnRlZCxjPWQucGxvdFRvcCx4PWQucGxvdExlZnQsQj0wLHQ9MCxuLHA7YT1yKGEpO3RoaXMuZm9sbG93UG9pbnRlciYmZT8odm9pZCAwPT09ZS5jaGFydFgmJihlPW0ubm9ybWFsaXplKGUpKSxhPVtlLmNoYXJ0WC1kLnBsb3RMZWZ0LGUuY2hhcnRZLWNdKTphWzBdLnRvb2x0aXBQb3M/YT1hWzBdLnRvb2x0aXBQb3M6KEYoYSxmdW5jdGlvbihhKXtuPWEuc2VyaWVzLnlBeGlzO3A9YS5zZXJpZXMueEF4aXM7Qis9YS5wbG90WCsoIWImJnA/cC5sZWZ0LXg6MCk7dCs9KGEucGxvdExvdz8oYS5wbG90TG93K2EucGxvdEhpZ2gpLzI6YS5wbG90WSkrCgkJKCFiJiZuP24udG9wLWM6MCl9KSxCLz1hLmxlbmd0aCx0Lz1hLmxlbmd0aCxhPVtiP2QucGxvdFdpZHRoLXQ6Qix0aGlzLnNoYXJlZCYmIWImJjE8YS5sZW5ndGgmJmU/ZS5jaGFydFktYzpiP2QucGxvdEhlaWdodC1COnRdKTtyZXR1cm4gZihhLE1hdGgucm91bmQpfSxnZXRQb3NpdGlvbjpmdW5jdGlvbihhLGUsZyl7dmFyIGQ9dGhpcy5jaGFydCxiPXRoaXMuZGlzdGFuY2UsYz17fSx4PWQuaW52ZXJ0ZWQmJmcuaHx8MCxCLHQ9dGhpcy5vdXRzaWRlLG49dD9FLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC0yKmI6ZC5jaGFydFdpZHRoLHA9dD9NYXRoLm1heChFLmJvZHkuc2Nyb2xsSGVpZ2h0LEUuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCxFLmJvZHkub2Zmc2V0SGVpZ2h0LEUuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxFLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpOmQuY2hhcnRIZWlnaHQsej1kLnBvaW50ZXIuY2hhcnRQb3NpdGlvbixEPVsieSIsCgkJCXAsZSwodD96LnRvcC1iOjApK2cucGxvdFkrZC5wbG90VG9wLHQ/MDpkLnBsb3RUb3AsdD9wOmQucGxvdFRvcCtkLnBsb3RIZWlnaHRdLGg9WyJ4IixuLGEsKHQ/ei5sZWZ0LWI6MCkrZy5wbG90WCtkLnBsb3RMZWZ0LHQ/MDpkLnBsb3RMZWZ0LHQ/bjpkLnBsb3RMZWZ0K2QucGxvdFdpZHRoXSxJPSF0aGlzLmZvbGxvd1BvaW50ZXImJkMoZy50dEJlbG93LCFkLmludmVydGVkPT09ISFnLm5lZ2F0aXZlKSxIPWZ1bmN0aW9uKGEsZCxoLGssdixtKXt2YXIgdz1oPGstYixuPWsrYitoPGQsZT1rLWItaDtrKz1iO2lmKEkmJm4pY1thXT1rO2Vsc2UgaWYoIUkmJncpY1thXT1lO2Vsc2UgaWYodyljW2FdPU1hdGgubWluKG0taCwwPmUteD9lOmUteCk7ZWxzZSBpZihuKWNbYV09TWF0aC5tYXgodixrK3graD5kP2s6ayt4KTtlbHNlIHJldHVybiExfSx2PWZ1bmN0aW9uKGEsZCxoLGspe3ZhciB2O2s8Ynx8az5kLWI/dj0hMTpjW2FdPWs8aC8yPzE6az5kLWgvMj9kLWgtMjprLWgvMjtyZXR1cm4gdn0sCgkJdz1mdW5jdGlvbihhKXt2YXIgYj1EO0Q9aDtoPWI7Qj1hfSxrPWZ1bmN0aW9uKCl7ITEhPT1ILmFwcGx5KDAsRCk/ITEhPT12LmFwcGx5KDAsaCl8fEJ8fCh3KCEwKSxrKCkpOkI/Yy54PWMueT0wOih3KCEwKSxrKCkpfTsoZC5pbnZlcnRlZHx8MTx0aGlzLmxlbikmJncoKTtrKCk7cmV0dXJuIGN9LGRlZmF1bHRGb3JtYXR0ZXI6ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcy5wb2ludHN8fHIodGhpcyksZztnPVthLnRvb2x0aXBGb290ZXJIZWFkZXJGb3JtYXR0ZXIoZFswXSldO2c9Zy5jb25jYXQoYS5ib2R5Rm9ybWF0dGVyKGQpKTtnLnB1c2goYS50b29sdGlwRm9vdGVySGVhZGVyRm9ybWF0dGVyKGRbMF0sITApKTtyZXR1cm4gZ30scmVmcmVzaDpmdW5jdGlvbihkLGUpe3ZhciBnLG09dGhpcy5vcHRpb25zLGIsYz1kLHgsQj17fSx0PVtdO2c9bS5mb3JtYXR0ZXJ8fHRoaXMuZGVmYXVsdEZvcm1hdHRlcjt2YXIgQj10aGlzLnNoYXJlZCxuO20uZW5hYmxlZCYmKGEuY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVyKSwKCQl0aGlzLmZvbGxvd1BvaW50ZXI9cihjKVswXS5zZXJpZXMudG9vbHRpcE9wdGlvbnMuZm9sbG93UG9pbnRlcix4PXRoaXMuZ2V0QW5jaG9yKGMsZSksZT14WzBdLGI9eFsxXSwhQnx8Yy5zZXJpZXMmJmMuc2VyaWVzLm5vU2hhcmVkVG9vbHRpcD9CPWMuZ2V0TGFiZWxDb25maWcoKTooRihjLGZ1bmN0aW9uKGEpe2Euc2V0U3RhdGUoImhvdmVyIik7dC5wdXNoKGEuZ2V0TGFiZWxDb25maWcoKSl9KSxCPXt4OmNbMF0uY2F0ZWdvcnkseTpjWzBdLnl9LEIucG9pbnRzPXQsYz1jWzBdKSx0aGlzLmxlbj10Lmxlbmd0aCxCPWcuY2FsbChCLHRoaXMpLG49Yy5zZXJpZXMsdGhpcy5kaXN0YW5jZT1DKG4udG9vbHRpcE9wdGlvbnMuZGlzdGFuY2UsMTYpLCExPT09Qj90aGlzLmhpZGUoKTooZz10aGlzLmdldExhYmVsKCksdGhpcy5pc0hpZGRlbiYmZy5hdHRyKHtvcGFjaXR5OjF9KS5zaG93KCksdGhpcy5zcGxpdD90aGlzLnJlbmRlclNwbGl0KEIscihkKSk6KG0uc3R5bGUud2lkdGh8fGcuY3NzKHt3aWR0aDp0aGlzLmNoYXJ0LnNwYWNpbmdCb3gud2lkdGh9KSwKCQlnLmF0dHIoe3RleHQ6QiYmQi5qb2luP0Iuam9pbigiIik6Qn0pLGcucmVtb3ZlQ2xhc3MoL2hpZ2hjaGFydHMtY29sb3ItW1xkXSsvZykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY29sb3ItIitDKGMuY29sb3JJbmRleCxuLmNvbG9ySW5kZXgpKSxnLmF0dHIoe3N0cm9rZTptLmJvcmRlckNvbG9yfHxjLmNvbG9yfHxuLmNvbG9yfHwiIzY2NjY2NiJ9KSx0aGlzLnVwZGF0ZVBvc2l0aW9uKHtwbG90WDplLHBsb3RZOmIsbmVnYXRpdmU6Yy5uZWdhdGl2ZSx0dEJlbG93OmMudHRCZWxvdyxoOnhbMl18fDB9KSksdGhpcy5pc0hpZGRlbj0hMSkpfSxyZW5kZXJTcGxpdDpmdW5jdGlvbihkLGUpe3ZhciBnPXRoaXMsbT1bXSxiPXRoaXMuY2hhcnQsYz1iLnJlbmRlcmVyLHg9ITAsQj10aGlzLm9wdGlvbnMsdD0wLG4scD10aGlzLmdldExhYmVsKCksej1iLnBsb3RUb3A7YS5pc1N0cmluZyhkKSYmKGQ9WyExLGRdKTtGKGQuc2xpY2UoMCxlLmxlbmd0aCsxKSxmdW5jdGlvbihhLGQpe2lmKCExIT09CgkJYSl7ZD1lW2QtMV18fHtpc0hlYWRlcjohMCxwbG90WDplWzBdLnBsb3RYfTt2YXIgaD1kLnNlcmllc3x8ZyxIPWgudHQsdj1kLnNlcmllc3x8e30sdz0iaGlnaGNoYXJ0cy1jb2xvci0iK0MoZC5jb2xvckluZGV4LHYuY29sb3JJbmRleCwibm9uZSIpO0h8fChoLnR0PUg9Yy5sYWJlbChudWxsLG51bGwsbnVsbCwiY2FsbG91dCIsbnVsbCxudWxsLEIudXNlSFRNTCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtdG9vbHRpcC1ib3ggIit3KyhkLmlzSGVhZGVyPyIgaGlnaGNoYXJ0cy10b29sdGlwLWhlYWRlciI6IiIpKS5hdHRyKHtwYWRkaW5nOkIucGFkZGluZyxyOkIuYm9yZGVyUmFkaXVzLGZpbGw6Qi5iYWNrZ3JvdW5kQ29sb3Isc3Ryb2tlOkIuYm9yZGVyQ29sb3J8fGQuY29sb3J8fHYuY29sb3J8fCIjMzMzMzMzIiwic3Ryb2tlLXdpZHRoIjpCLmJvcmRlcldpZHRofSkuYWRkKHApKTtILmlzQWN0aXZlPSEwO0guYXR0cih7dGV4dDphfSk7SC5jc3MoQi5zdHlsZSkuc2hhZG93KEIuc2hhZG93KTsKCQlhPUguZ2V0QkJveCgpO3Y9YS53aWR0aCtILnN0cm9rZVdpZHRoKCk7ZC5pc0hlYWRlcj8odD1hLmhlaWdodCxiLnhBeGlzWzBdLm9wcG9zaXRlJiYobj0hMCx6LT10KSx2PU1hdGgubWF4KDAsTWF0aC5taW4oZC5wbG90WCtiLnBsb3RMZWZ0LXYvMixiLmNoYXJ0V2lkdGgrKGIuc2Nyb2xsYWJsZVBpeGVscz9iLnNjcm9sbGFibGVQaXhlbHMtYi5tYXJnaW5SaWdodDowKS12KSkpOnY9ZC5wbG90WCtiLnBsb3RMZWZ0LUMoQi5kaXN0YW5jZSwxNiktdjswPnYmJih4PSExKTthPShkLnNlcmllcyYmZC5zZXJpZXMueUF4aXMmJmQuc2VyaWVzLnlBeGlzLnBvcykrKGQucGxvdFl8fDApO2EtPXo7ZC5pc0hlYWRlciYmKGE9bj8tdDpiLnBsb3RIZWlnaHQrdCk7bS5wdXNoKHt0YXJnZXQ6YSxyYW5rOmQuaXNIZWFkZXI/MTowLHNpemU6aC50dC5nZXRCQm94KCkuaGVpZ2h0KzEscG9pbnQ6ZCx4OnYsdHQ6SH0pfX0pO3RoaXMuY2xlYW5TcGxpdCgpO2EuZGlzdHJpYnV0ZShtLGIucGxvdEhlaWdodCsKCQl0KTtGKG0sZnVuY3Rpb24oYSl7dmFyIGM9YS5wb2ludCxkPWMuc2VyaWVzO2EudHQuYXR0cih7dmlzaWJpbGl0eTp2b2lkIDA9PT1hLnBvcz8iaGlkZGVuIjoiaW5oZXJpdCIseDp4fHxjLmlzSGVhZGVyP2EueDpjLnBsb3RYK2IucGxvdExlZnQrQyhCLmRpc3RhbmNlLDE2KSx5OmEucG9zK3osYW5jaG9yWDpjLmlzSGVhZGVyP2MucGxvdFgrYi5wbG90TGVmdDpjLnBsb3RYK2QueEF4aXMucG9zLGFuY2hvclk6Yy5pc0hlYWRlcj9iLnBsb3RUb3ArYi5wbG90SGVpZ2h0LzI6Yy5wbG90WStkLnlBeGlzLnBvc30pfSl9LHVwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGEpe3ZhciBkPXRoaXMuY2hhcnQsZz10aGlzLmdldExhYmVsKCksbT0odGhpcy5vcHRpb25zLnBvc2l0aW9uZXJ8fHRoaXMuZ2V0UG9zaXRpb24pLmNhbGwodGhpcyxnLndpZHRoLGcuaGVpZ2h0LGEpLGI9YS5wbG90WCtkLnBsb3RMZWZ0O2E9YS5wbG90WStkLnBsb3RUb3A7dmFyIGM7dGhpcy5vdXRzaWRlJiYoYz0odGhpcy5vcHRpb25zLmJvcmRlcldpZHRofHwKCQkwKSsyKnRoaXMuZGlzdGFuY2UsdGhpcy5yZW5kZXJlci5zZXRTaXplKGcud2lkdGgrYyxnLmhlaWdodCtjLCExKSxiKz1kLnBvaW50ZXIuY2hhcnRQb3NpdGlvbi5sZWZ0LW0ueCxhKz1kLnBvaW50ZXIuY2hhcnRQb3NpdGlvbi50b3AtbS55KTt0aGlzLm1vdmUoTWF0aC5yb3VuZChtLngpLE1hdGgucm91bmQobS55fHwwKSxiLGEpfSxnZXREYXRlRm9ybWF0OmZ1bmN0aW9uKGEsZSxnLG0pe3ZhciBiPXRoaXMuY2hhcnQudGltZSxjPWIuZGF0ZUZvcm1hdCgiJW0tJWQgJUg6JU06JVMuJUwiLGUpLGQsQix0PXttaWxsaXNlY29uZDoxNSxzZWNvbmQ6MTIsbWludXRlOjksaG91cjo2LGRheTozfSxuPSJtaWxsaXNlY29uZCI7Zm9yKEIgaW4gcCl7aWYoYT09PXAud2VlayYmK2IuZGF0ZUZvcm1hdCgiJXciLGUpPT09ZyYmIjAwOjAwOjAwLjAwMCI9PT1jLnN1YnN0cig2KSl7Qj0id2VlayI7YnJlYWt9aWYocFtCXT5hKXtCPW47YnJlYWt9aWYodFtCXSYmYy5zdWJzdHIodFtCXSkhPT0iMDEtMDEgMDA6MDA6MDAuMDAwIi5zdWJzdHIodFtCXSkpYnJlYWs7CgkJIndlZWsiIT09QiYmKG49Qil9QiYmKGQ9bVtCXSk7cmV0dXJuIGR9LGdldFhEYXRlRm9ybWF0OmZ1bmN0aW9uKGEsZSxnKXtlPWUuZGF0ZVRpbWVMYWJlbEZvcm1hdHM7dmFyIGQ9ZyYmZy5jbG9zZXN0UG9pbnRSYW5nZTtyZXR1cm4oZD90aGlzLmdldERhdGVGb3JtYXQoZCxhLngsZy5vcHRpb25zLnN0YXJ0T2ZXZWVrLGUpOmUuZGF5KXx8ZS55ZWFyfSx0b29sdGlwRm9vdGVySGVhZGVyRm9ybWF0dGVyOmZ1bmN0aW9uKGEsZSl7ZT1lPyJmb290ZXIiOiJoZWFkZXIiO3ZhciBkPWEuc2VyaWVzLG09ZC50b29sdGlwT3B0aW9ucyxiPW0ueERhdGVGb3JtYXQsYz1kLnhBeGlzLHg9YyYmImRhdGV0aW1lIj09PWMub3B0aW9ucy50eXBlJiZsKGEua2V5KSxCPW1bZSsiRm9ybWF0Il07eCYmIWImJihiPXRoaXMuZ2V0WERhdGVGb3JtYXQoYSxtLGMpKTt4JiZiJiZGKGEucG9pbnQmJmEucG9pbnQudG9vbHRpcERhdGVLZXlzfHxbImtleSJdLGZ1bmN0aW9uKGEpe0I9Qi5yZXBsYWNlKCJ7cG9pbnQuIisKCQlhKyJ9Iiwie3BvaW50LiIrYSsiOiIrYisifSIpfSk7cmV0dXJuIHEoQix7cG9pbnQ6YSxzZXJpZXM6ZH0sdGhpcy5jaGFydC50aW1lKX0sYm9keUZvcm1hdHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gZihhLGZ1bmN0aW9uKGEpe3ZhciBkPWEuc2VyaWVzLnRvb2x0aXBPcHRpb25zO3JldHVybihkWyhhLnBvaW50LmZvcm1hdFByZWZpeHx8InBvaW50IikrIkZvcm1hdHRlciJdfHxhLnBvaW50LnRvb2x0aXBGb3JtYXR0ZXIpLmNhbGwoYS5wb2ludCxkWyhhLnBvaW50LmZvcm1hdFByZWZpeHx8InBvaW50IikrIkZvcm1hdCJdKX0pfX19KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5hZGRFdmVudCxGPWEuYXR0cixHPWEuY2hhcnRzLHE9YS5jb2xvcixsPWEuY3NzLGY9YS5kZWZpbmVkLHU9YS5lYWNoLEM9YS5leHRlbmQscj1hLmZpbmQseT1hLmZpcmVFdmVudCxwPWEuaXNOdW1iZXIsZD1hLmlzT2JqZWN0LGU9YS5vZmZzZXQsZz1hLnBpY2ssbT1hLnNwbGF0LGI9YS5Ub29sdGlwO2EuUG9pbnRlcj0KCWZ1bmN0aW9uKGEsYil7dGhpcy5pbml0KGEsYil9O2EuUG9pbnRlci5wcm90b3R5cGU9e2luaXQ6ZnVuY3Rpb24oYSxkKXt0aGlzLm9wdGlvbnM9ZDt0aGlzLmNoYXJ0PWE7dGhpcy5ydW5DaGFydENsaWNrPWQuY2hhcnQuZXZlbnRzJiYhIWQuY2hhcnQuZXZlbnRzLmNsaWNrO3RoaXMucGluY2hEb3duPVtdO3RoaXMubGFzdFZhbGlkVG91Y2g9e307YiYmKGEudG9vbHRpcD1uZXcgYihhLGQudG9vbHRpcCksdGhpcy5mb2xsb3dUb3VjaE1vdmU9ZyhkLnRvb2x0aXAuZm9sbG93VG91Y2hNb3ZlLCEwKSk7dGhpcy5zZXRET01FdmVudHMoKX0sem9vbU9wdGlvbjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0LGM9Yi5vcHRpb25zLmNoYXJ0LGQ9Yy56b29tVHlwZXx8IiIsYj1iLmludmVydGVkOy90b3VjaC8udGVzdChhLnR5cGUpJiYoZD1nKGMucGluY2hUeXBlLGQpKTt0aGlzLnpvb21YPWE9L3gvLnRlc3QoZCk7dGhpcy56b29tWT1kPS95Ly50ZXN0KGQpO3RoaXMuem9vbUhvcj1hJiYKCQkhYnx8ZCYmYjt0aGlzLnpvb21WZXJ0PWQmJiFifHxhJiZiO3RoaXMuaGFzWm9vbT1hfHxkfSxub3JtYWxpemU6ZnVuY3Rpb24oYSxiKXt2YXIgYztjPWEudG91Y2hlcz9hLnRvdWNoZXMubGVuZ3RoP2EudG91Y2hlcy5pdGVtKDApOmEuY2hhbmdlZFRvdWNoZXNbMF06YTtifHwodGhpcy5jaGFydFBvc2l0aW9uPWI9ZSh0aGlzLmNoYXJ0LmNvbnRhaW5lcikpO3JldHVybiBDKGEse2NoYXJ0WDpNYXRoLnJvdW5kKGMucGFnZVgtYi5sZWZ0KSxjaGFydFk6TWF0aC5yb3VuZChjLnBhZ2VZLWIudG9wKX0pfSxnZXRDb29yZGluYXRlczpmdW5jdGlvbihhKXt2YXIgYj17eEF4aXM6W10seUF4aXM6W119O3UodGhpcy5jaGFydC5heGVzLGZ1bmN0aW9uKGMpe2JbYy5pc1hBeGlzPyJ4QXhpcyI6InlBeGlzIl0ucHVzaCh7YXhpczpjLHZhbHVlOmMudG9WYWx1ZShhW2MuaG9yaXo/ImNoYXJ0WCI6ImNoYXJ0WSJdKX0pfSk7cmV0dXJuIGJ9LGZpbmROZWFyZXN0S0RQb2ludDpmdW5jdGlvbihhLGIsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgbSl7dmFyIGM7dShhLGZ1bmN0aW9uKGEpe3ZhciBuPSEoYS5ub1NoYXJlZFRvb2x0aXAmJmIpJiYwPmEub3B0aW9ucy5maW5kTmVhcmVzdFBvaW50QnkuaW5kZXhPZigieSIpO2E9YS5zZWFyY2hQb2ludChtLG4pO2lmKChuPWQoYSwhMCkpJiYhKG49IWQoYywhMCkpKXZhciBuPWMuZGlzdFgtYS5kaXN0WCxlPWMuZGlzdC1hLmRpc3QsdD0oYS5zZXJpZXMuZ3JvdXAmJmEuc2VyaWVzLmdyb3VwLnpJbmRleCktKGMuc2VyaWVzLmdyb3VwJiZjLnNlcmllcy5ncm91cC56SW5kZXgpLG49MDwoMCE9PW4mJmI/bjowIT09ZT9lOjAhPT10P3Q6Yy5zZXJpZXMuaW5kZXg+YS5zZXJpZXMuaW5kZXg/LTE6MSk7biYmKGM9YSl9KTtyZXR1cm4gY30sZ2V0UG9pbnRGcm9tRXZlbnQ6ZnVuY3Rpb24oYSl7YT1hLnRhcmdldDtmb3IodmFyIGI7YSYmIWI7KWI9YS5wb2ludCxhPWEucGFyZW50Tm9kZTtyZXR1cm4gYn0sZ2V0Q2hhcnRDb29yZGluYXRlc0Zyb21Qb2ludDpmdW5jdGlvbihhLGIpe3ZhciBjPQoJCWEuc2VyaWVzLGQ9Yy54QXhpcyxjPWMueUF4aXMsbT1nKGEuY2xpZW50WCxhLnBsb3RYKSxlPWEuc2hhcGVBcmdzO2lmKGQmJmMpcmV0dXJuIGI/e2NoYXJ0WDpkLmxlbitkLnBvcy1tLGNoYXJ0WTpjLmxlbitjLnBvcy1hLnBsb3RZfTp7Y2hhcnRYOm0rZC5wb3MsY2hhcnRZOmEucGxvdFkrYy5wb3N9O2lmKGUmJmUueCYmZS55KXJldHVybntjaGFydFg6ZS54LGNoYXJ0WTplLnl9fSxnZXRIb3ZlckRhdGE6ZnVuY3Rpb24oYixtLGUsdCxuLHAseil7dmFyIGMsaD1bXSx4PXomJnouaXNCb29zdGluZzt0PSEoIXR8fCFiKTt6PW0mJiFtLnN0aWNreVRyYWNraW5nP1ttXTphLmdyZXAoZSxmdW5jdGlvbihhKXtyZXR1cm4gYS52aXNpYmxlJiYhKCFuJiZhLmRpcmVjdFRvdWNoKSYmZyhhLm9wdGlvbnMuZW5hYmxlTW91c2VUcmFja2luZywhMCkmJmEuc3RpY2t5VHJhY2tpbmd9KTttPShjPXQ/Yjp0aGlzLmZpbmROZWFyZXN0S0RQb2ludCh6LG4scCkpJiZjLnNlcmllcztjJiYobiYmIW0ubm9TaGFyZWRUb29sdGlwPwoJCSh6PWEuZ3JlcChlLGZ1bmN0aW9uKGEpe3JldHVybiBhLnZpc2libGUmJiEoIW4mJmEuZGlyZWN0VG91Y2gpJiZnKGEub3B0aW9ucy5lbmFibGVNb3VzZVRyYWNraW5nLCEwKSYmIWEubm9TaGFyZWRUb29sdGlwfSksdSh6LGZ1bmN0aW9uKGEpe3ZhciBiPXIoYS5wb2ludHMsZnVuY3Rpb24oYSl7cmV0dXJuIGEueD09PWMueCYmIWEuaXNOdWxsfSk7ZChiKSYmKHgmJihiPWEuZ2V0UG9pbnQoYikpLGgucHVzaChiKSl9KSk6aC5wdXNoKGMpKTtyZXR1cm57aG92ZXJQb2ludDpjLGhvdmVyU2VyaWVzOm0saG92ZXJQb2ludHM6aH19LHJ1blBvaW50QWN0aW9uczpmdW5jdGlvbihiLGQpe3ZhciBjPXRoaXMuY2hhcnQsbT1jLnRvb2x0aXAmJmMudG9vbHRpcC5vcHRpb25zLmVuYWJsZWQ/Yy50b29sdGlwOnZvaWQgMCxuPW0/bS5zaGFyZWQ6ITEsZT1kfHxjLmhvdmVyUG9pbnQseD1lJiZlLnNlcmllc3x8Yy5ob3ZlclNlcmllcyx4PXRoaXMuZ2V0SG92ZXJEYXRhKGUseCxjLnNlcmllcywidG91Y2htb3ZlIiE9PQoJCWIudHlwZSYmKCEhZHx8eCYmeC5kaXJlY3RUb3VjaCYmdGhpcy5pc0RpcmVjdFRvdWNoKSxuLGIse2lzQm9vc3Rpbmc6Yy5pc0Jvb3N0aW5nfSksRCxlPXguaG92ZXJQb2ludDtEPXguaG92ZXJQb2ludHM7ZD0oeD14LmhvdmVyU2VyaWVzKSYmeC50b29sdGlwT3B0aW9ucy5mb2xsb3dQb2ludGVyO249biYmeCYmIXgubm9TaGFyZWRUb29sdGlwO2lmKGUmJihlIT09Yy5ob3ZlclBvaW50fHxtJiZtLmlzSGlkZGVuKSl7dShjLmhvdmVyUG9pbnRzfHxbXSxmdW5jdGlvbihiKXstMT09PWEuaW5BcnJheShiLEQpJiZiLnNldFN0YXRlKCl9KTt1KER8fFtdLGZ1bmN0aW9uKGEpe2Euc2V0U3RhdGUoImhvdmVyIil9KTtpZihjLmhvdmVyU2VyaWVzIT09eCl4Lm9uTW91c2VPdmVyKCk7Yy5ob3ZlclBvaW50JiZjLmhvdmVyUG9pbnQuZmlyZVBvaW50RXZlbnQoIm1vdXNlT3V0Iik7aWYoIWUuc2VyaWVzKXJldHVybjtlLmZpcmVQb2ludEV2ZW50KCJtb3VzZU92ZXIiKTtjLmhvdmVyUG9pbnRzPQoJCUQ7Yy5ob3ZlclBvaW50PWU7bSYmbS5yZWZyZXNoKG4/RDplLGIpfWVsc2UgZCYmbSYmIW0uaXNIaWRkZW4mJihlPW0uZ2V0QW5jaG9yKFt7fV0sYiksbS51cGRhdGVQb3NpdGlvbih7cGxvdFg6ZVswXSxwbG90WTplWzFdfSkpO3RoaXMudW5Eb2NNb3VzZU1vdmV8fCh0aGlzLnVuRG9jTW91c2VNb3ZlPUUoYy5jb250YWluZXIub3duZXJEb2N1bWVudCwibW91c2Vtb3ZlIixmdW5jdGlvbihiKXt2YXIgYz1HW2EuaG92ZXJDaGFydEluZGV4XTtpZihjKWMucG9pbnRlci5vbkRvY3VtZW50TW91c2VNb3ZlKGIpfSkpO3UoYy5heGVzLGZ1bmN0aW9uKGMpe3ZhciBkPWcoYy5jcm9zc2hhaXIuc25hcCwhMCksaD1kP2EuZmluZChELGZ1bmN0aW9uKGEpe3JldHVybiBhLnNlcmllc1tjLmNvbGxdPT09Y30pOnZvaWQgMDtofHwhZD9jLmRyYXdDcm9zc2hhaXIoYixoKTpjLmhpZGVDcm9zc2hhaXIoKX0pfSxyZXNldDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2hhcnQsZD1jLmhvdmVyU2VyaWVzLAoJCW49Yy5ob3ZlclBvaW50LGU9Yy5ob3ZlclBvaW50cyxnPWMudG9vbHRpcCx4PWcmJmcuc2hhcmVkP2U6bjthJiZ4JiZ1KG0oeCksZnVuY3Rpb24oYil7Yi5zZXJpZXMuaXNDYXJ0ZXNpYW4mJnZvaWQgMD09PWIucGxvdFgmJihhPSExKX0pO2lmKGEpZyYmeCYmKGcucmVmcmVzaCh4KSxnLnNoYXJlZCYmZT91KGUsZnVuY3Rpb24oYSl7YS5zZXRTdGF0ZShhLnN0YXRlLCEwKTthLnNlcmllcy54QXhpcy5jcm9zc2hhaXImJmEuc2VyaWVzLnhBeGlzLmRyYXdDcm9zc2hhaXIobnVsbCxhKTthLnNlcmllcy55QXhpcy5jcm9zc2hhaXImJmEuc2VyaWVzLnlBeGlzLmRyYXdDcm9zc2hhaXIobnVsbCxhKX0pOm4mJihuLnNldFN0YXRlKG4uc3RhdGUsITApLHUoYy5heGVzLGZ1bmN0aW9uKGEpe2EuY3Jvc3NoYWlyJiZhLmRyYXdDcm9zc2hhaXIobnVsbCxuKX0pKSk7ZWxzZXtpZihuKW4ub25Nb3VzZU91dCgpO2UmJnUoZSxmdW5jdGlvbihhKXthLnNldFN0YXRlKCl9KTtpZihkKWQub25Nb3VzZU91dCgpOwoJCWcmJmcuaGlkZShiKTt0aGlzLnVuRG9jTW91c2VNb3ZlJiYodGhpcy51bkRvY01vdXNlTW92ZT10aGlzLnVuRG9jTW91c2VNb3ZlKCkpO3UoYy5heGVzLGZ1bmN0aW9uKGEpe2EuaGlkZUNyb3NzaGFpcigpfSk7dGhpcy5ob3Zlclg9Yy5ob3ZlclBvaW50cz1jLmhvdmVyUG9pbnQ9bnVsbH19LHNjYWxlR3JvdXBzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jaGFydCxkO3UoYy5zZXJpZXMsZnVuY3Rpb24obSl7ZD1hfHxtLmdldFBsb3RCb3goKTttLnhBeGlzJiZtLnhBeGlzLnpvb21FbmFibGVkJiZtLmdyb3VwJiYobS5ncm91cC5hdHRyKGQpLG0ubWFya2VyR3JvdXAmJihtLm1hcmtlckdyb3VwLmF0dHIoZCksbS5tYXJrZXJHcm91cC5jbGlwKGI/Yy5jbGlwUmVjdDpudWxsKSksbS5kYXRhTGFiZWxzR3JvdXAmJm0uZGF0YUxhYmVsc0dyb3VwLmF0dHIoZCkpfSk7Yy5jbGlwUmVjdC5hdHRyKGJ8fGMuY2xpcEJveCl9LGRyYWdTdGFydDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0OwoJCWIubW91c2VJc0Rvd249YS50eXBlO2IuY2FuY2VsQ2xpY2s9ITE7Yi5tb3VzZURvd25YPXRoaXMubW91c2VEb3duWD1hLmNoYXJ0WDtiLm1vdXNlRG93blk9dGhpcy5tb3VzZURvd25ZPWEuY2hhcnRZfSxkcmFnOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2hhcnQsYz1iLm9wdGlvbnMuY2hhcnQsZD1hLmNoYXJ0WCxtPWEuY2hhcnRZLGU9dGhpcy56b29tSG9yLGc9dGhpcy56b29tVmVydCxEPWIucGxvdExlZnQsaD1iLnBsb3RUb3AscD1iLnBsb3RXaWR0aCxIPWIucGxvdEhlaWdodCx2LHc9dGhpcy5zZWxlY3Rpb25NYXJrZXIsaz10aGlzLm1vdXNlRG93blgsQT10aGlzLm1vdXNlRG93blksZj1jLnBhbktleSYmYVtjLnBhbktleSsiS2V5Il07dyYmdy50b3VjaHx8KGQ8RD9kPUQ6ZD5EK3AmJihkPUQrcCksbTxoP209aDptPmgrSCYmKG09aCtIKSx0aGlzLmhhc0RyYWdnZWQ9TWF0aC5zcXJ0KE1hdGgucG93KGstZCwyKStNYXRoLnBvdyhBLW0sMikpLDEwPHRoaXMuaGFzRHJhZ2dlZCYmCgkodj1iLmlzSW5zaWRlUGxvdChrLUQsQS1oKSxiLmhhc0NhcnRlc2lhblNlcmllcyYmKHRoaXMuem9vbVh8fHRoaXMuem9vbVkpJiZ2JiYhZiYmIXcmJih0aGlzLnNlbGVjdGlvbk1hcmtlcj13PWIucmVuZGVyZXIucmVjdChELGgsZT8xOnAsZz8xOkgsMCkuYXR0cih7ZmlsbDpjLnNlbGVjdGlvbk1hcmtlckZpbGx8fHEoIiMzMzVjYWQiKS5zZXRPcGFjaXR5KC4yNSkuZ2V0KCksImNsYXNzIjoiaGlnaGNoYXJ0cy1zZWxlY3Rpb24tbWFya2VyIix6SW5kZXg6N30pLmFkZCgpKSx3JiZlJiYoZC09ayx3LmF0dHIoe3dpZHRoOk1hdGguYWJzKGQpLHg6KDA8ZD8wOmQpK2t9KSksdyYmZyYmKGQ9bS1BLHcuYXR0cih7aGVpZ2h0Ok1hdGguYWJzKGQpLHk6KDA8ZD8wOmQpK0F9KSksdiYmIXcmJmMucGFubmluZyYmYi5wYW4oYSxjLnBhbm5pbmcpKSl9LGRyb3A6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXRoaXMuY2hhcnQsZD10aGlzLmhhc1BpbmNoZWQ7aWYodGhpcy5zZWxlY3Rpb25NYXJrZXIpe3ZhciBtPQoJCXtvcmlnaW5hbEV2ZW50OmEseEF4aXM6W10seUF4aXM6W119LGU9dGhpcy5zZWxlY3Rpb25NYXJrZXIsZz1lLmF0dHI/ZS5hdHRyKCJ4Iik6ZS54LEQ9ZS5hdHRyP2UuYXR0cigieSIpOmUueSxoPWUuYXR0cj9lLmF0dHIoIndpZHRoIik6ZS53aWR0aCxJPWUuYXR0cj9lLmF0dHIoImhlaWdodCIpOmUuaGVpZ2h0LEg7aWYodGhpcy5oYXNEcmFnZ2VkfHxkKXUoYy5heGVzLGZ1bmN0aW9uKGMpe2lmKGMuem9vbUVuYWJsZWQmJmYoYy5taW4pJiYoZHx8Ylt7eEF4aXM6Inpvb21YIix5QXhpczoiem9vbVkifVtjLmNvbGxdXSkpe3ZhciB2PWMuaG9yaXosaz0idG91Y2hlbmQiPT09YS50eXBlP2MubWluUGl4ZWxQYWRkaW5nOjAsZT1jLnRvVmFsdWUoKHY/ZzpEKStrKSx2PWMudG9WYWx1ZSgodj9nK2g6RCtJKS1rKTttW2MuY29sbF0ucHVzaCh7YXhpczpjLG1pbjpNYXRoLm1pbihlLHYpLG1heDpNYXRoLm1heChlLHYpfSk7SD0hMH19KSxIJiZ5KGMsInNlbGVjdGlvbiIsbSxmdW5jdGlvbihhKXtjLnpvb20oQyhhLAoJCWQ/e2FuaW1hdGlvbjohMX06bnVsbCkpfSk7cChjLmluZGV4KSYmKHRoaXMuc2VsZWN0aW9uTWFya2VyPXRoaXMuc2VsZWN0aW9uTWFya2VyLmRlc3Ryb3koKSk7ZCYmdGhpcy5zY2FsZUdyb3VwcygpfWMmJnAoYy5pbmRleCkmJihsKGMuY29udGFpbmVyLHtjdXJzb3I6Yy5fY3Vyc29yfSksYy5jYW5jZWxDbGljaz0xMDx0aGlzLmhhc0RyYWdnZWQsYy5tb3VzZUlzRG93bj10aGlzLmhhc0RyYWdnZWQ9dGhpcy5oYXNQaW5jaGVkPSExLHRoaXMucGluY2hEb3duPVtdKX0sb25Db250YWluZXJNb3VzZURvd246ZnVuY3Rpb24oYSl7YT10aGlzLm5vcm1hbGl6ZShhKTsyIT09YS5idXR0b24mJih0aGlzLnpvb21PcHRpb24oYSksYS5wcmV2ZW50RGVmYXVsdCYmYS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZ1N0YXJ0KGEpKX0sb25Eb2N1bWVudE1vdXNlVXA6ZnVuY3Rpb24oYil7R1thLmhvdmVyQ2hhcnRJbmRleF0mJkdbYS5ob3ZlckNoYXJ0SW5kZXhdLnBvaW50ZXIuZHJvcChiKX0sb25Eb2N1bWVudE1vdXNlTW92ZTpmdW5jdGlvbihhKXt2YXIgYj0KCQl0aGlzLmNoYXJ0LGM9dGhpcy5jaGFydFBvc2l0aW9uO2E9dGhpcy5ub3JtYWxpemUoYSxjKTshY3x8dGhpcy5pbkNsYXNzKGEudGFyZ2V0LCJoaWdoY2hhcnRzLXRyYWNrZXIiKXx8Yi5pc0luc2lkZVBsb3QoYS5jaGFydFgtYi5wbG90TGVmdCxhLmNoYXJ0WS1iLnBsb3RUb3ApfHx0aGlzLnJlc2V0KCl9LG9uQ29udGFpbmVyTW91c2VMZWF2ZTpmdW5jdGlvbihiKXt2YXIgYz1HW2EuaG92ZXJDaGFydEluZGV4XTtjJiYoYi5yZWxhdGVkVGFyZ2V0fHxiLnRvRWxlbWVudCkmJihjLnBvaW50ZXIucmVzZXQoKSxjLnBvaW50ZXIuY2hhcnRQb3NpdGlvbj1udWxsKX0sb25Db250YWluZXJNb3VzZU1vdmU6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5jaGFydDtmKGEuaG92ZXJDaGFydEluZGV4KSYmR1thLmhvdmVyQ2hhcnRJbmRleF0mJkdbYS5ob3ZlckNoYXJ0SW5kZXhdLm1vdXNlSXNEb3dufHwoYS5ob3ZlckNoYXJ0SW5kZXg9Yy5pbmRleCk7Yj10aGlzLm5vcm1hbGl6ZShiKTtiLnJldHVyblZhbHVlPQoJCSExOyJtb3VzZWRvd24iPT09Yy5tb3VzZUlzRG93biYmdGhpcy5kcmFnKGIpOyF0aGlzLmluQ2xhc3MoYi50YXJnZXQsImhpZ2hjaGFydHMtdHJhY2tlciIpJiYhYy5pc0luc2lkZVBsb3QoYi5jaGFydFgtYy5wbG90TGVmdCxiLmNoYXJ0WS1jLnBsb3RUb3ApfHxjLm9wZW5NZW51fHx0aGlzLnJ1blBvaW50QWN0aW9ucyhiKX0saW5DbGFzczpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYzthOyl7aWYoYz1GKGEsImNsYXNzIikpe2lmKC0xIT09Yy5pbmRleE9mKGIpKXJldHVybiEwO2lmKC0xIT09Yy5pbmRleE9mKCJoaWdoY2hhcnRzLWNvbnRhaW5lciIpKXJldHVybiExfWE9YS5wYXJlbnROb2RlfX0sb25UcmFja2VyTW91c2VPdXQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jaGFydC5ob3ZlclNlcmllczthPWEucmVsYXRlZFRhcmdldHx8YS50b0VsZW1lbnQ7dGhpcy5pc0RpcmVjdFRvdWNoPSExO2lmKCEoIWJ8fCFhfHxiLnN0aWNreVRyYWNraW5nfHx0aGlzLmluQ2xhc3MoYSwiaGlnaGNoYXJ0cy10b29sdGlwIil8fAoJCQl0aGlzLmluQ2xhc3MoYSwiaGlnaGNoYXJ0cy1zZXJpZXMtIitiLmluZGV4KSYmdGhpcy5pbkNsYXNzKGEsImhpZ2hjaGFydHMtdHJhY2tlciIpKSliLm9uTW91c2VPdXQoKX0sb25Db250YWluZXJDbGljazpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0LGM9Yi5ob3ZlclBvaW50LGQ9Yi5wbG90TGVmdCxtPWIucGxvdFRvcDthPXRoaXMubm9ybWFsaXplKGEpO2IuY2FuY2VsQ2xpY2t8fChjJiZ0aGlzLmluQ2xhc3MoYS50YXJnZXQsImhpZ2hjaGFydHMtdHJhY2tlciIpPyh5KGMuc2VyaWVzLCJjbGljayIsQyhhLHtwb2ludDpjfSkpLGIuaG92ZXJQb2ludCYmYy5maXJlUG9pbnRFdmVudCgiY2xpY2siLGEpKTooQyhhLHRoaXMuZ2V0Q29vcmRpbmF0ZXMoYSkpLGIuaXNJbnNpZGVQbG90KGEuY2hhcnRYLWQsYS5jaGFydFktbSkmJnkoYiwiY2xpY2siLGEpKSl9LHNldERPTUV2ZW50czpmdW5jdGlvbigpe3ZhciBiPXRoaXMsZD1iLmNoYXJ0LmNvbnRhaW5lcixtPWQub3duZXJEb2N1bWVudDsKCQlkLm9ubW91c2Vkb3duPWZ1bmN0aW9uKGEpe2Iub25Db250YWluZXJNb3VzZURvd24oYSl9O2Qub25tb3VzZW1vdmU9ZnVuY3Rpb24oYSl7Yi5vbkNvbnRhaW5lck1vdXNlTW92ZShhKX07ZC5vbmNsaWNrPWZ1bmN0aW9uKGEpe2Iub25Db250YWluZXJDbGljayhhKX07dGhpcy51bmJpbmRDb250YWluZXJNb3VzZUxlYXZlPUUoZCwibW91c2VsZWF2ZSIsYi5vbkNvbnRhaW5lck1vdXNlTGVhdmUpO2EudW5iaW5kRG9jdW1lbnRNb3VzZVVwfHwoYS51bmJpbmREb2N1bWVudE1vdXNlVXA9RShtLCJtb3VzZXVwIixiLm9uRG9jdW1lbnRNb3VzZVVwKSk7YS5oYXNUb3VjaCYmKGQub250b3VjaHN0YXJ0PWZ1bmN0aW9uKGEpe2Iub25Db250YWluZXJUb3VjaFN0YXJ0KGEpfSxkLm9udG91Y2htb3ZlPWZ1bmN0aW9uKGEpe2Iub25Db250YWluZXJUb3VjaE1vdmUoYSl9LGEudW5iaW5kRG9jdW1lbnRUb3VjaEVuZHx8KGEudW5iaW5kRG9jdW1lbnRUb3VjaEVuZD1FKG0sInRvdWNoZW5kIixiLm9uRG9jdW1lbnRUb3VjaEVuZCkpKX0sCglkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcztiLnVuRG9jTW91c2VNb3ZlJiZiLnVuRG9jTW91c2VNb3ZlKCk7dGhpcy51bmJpbmRDb250YWluZXJNb3VzZUxlYXZlKCk7YS5jaGFydENvdW50fHwoYS51bmJpbmREb2N1bWVudE1vdXNlVXAmJihhLnVuYmluZERvY3VtZW50TW91c2VVcD1hLnVuYmluZERvY3VtZW50TW91c2VVcCgpKSxhLnVuYmluZERvY3VtZW50VG91Y2hFbmQmJihhLnVuYmluZERvY3VtZW50VG91Y2hFbmQ9YS51bmJpbmREb2N1bWVudFRvdWNoRW5kKCkpKTtjbGVhckludGVydmFsKGIudG9vbHRpcFRpbWVvdXQpO2Eub2JqZWN0RWFjaChiLGZ1bmN0aW9uKGEsYyl7YltjXT1udWxsfSl9fX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmNoYXJ0cyxGPWEuZWFjaCxHPWEuZXh0ZW5kLHE9YS5tYXAsbD1hLm5vb3AsZj1hLnBpY2s7RyhhLlBvaW50ZXIucHJvdG90eXBlLHtwaW5jaFRyYW5zbGF0ZTpmdW5jdGlvbihhLGYsbCxxLHAsZCl7dGhpcy56b29tSG9yJiYKCXRoaXMucGluY2hUcmFuc2xhdGVEaXJlY3Rpb24oITAsYSxmLGwscSxwLGQpO3RoaXMuem9vbVZlcnQmJnRoaXMucGluY2hUcmFuc2xhdGVEaXJlY3Rpb24oITEsYSxmLGwscSxwLGQpfSxwaW5jaFRyYW5zbGF0ZURpcmVjdGlvbjpmdW5jdGlvbihhLGYsbCxxLHAsZCxlLGcpe3ZhciBtPXRoaXMuY2hhcnQsYj1hPyJ4IjoieSIsYz1hPyJYIjoiWSIseD0iY2hhcnQiK2MsQj1hPyJ3aWR0aCI6ImhlaWdodCIsdD1tWyJwbG90IisoYT8iTGVmdCI6IlRvcCIpXSxuLHIsej1nfHwxLEQ9bS5pbnZlcnRlZCxoPW0uYm91bmRzW2E/ImgiOiJ2Il0sST0xPT09Zi5sZW5ndGgsSD1mWzBdW3hdLHY9bFswXVt4XSx3PSFJJiZmWzFdW3hdLGs9IUkmJmxbMV1beF0sQTtsPWZ1bmN0aW9uKCl7IUkmJjIwPE1hdGguYWJzKEgtdykmJih6PWd8fE1hdGguYWJzKHYtaykvTWF0aC5hYnMoSC13KSk7cj0odC12KS96K0g7bj1tWyJwbG90IisoYT8iV2lkdGgiOiJIZWlnaHQiKV0ven07bCgpO2Y9cjtmPGgubWluPwoJCShmPWgubWluLEE9ITApOmYrbj5oLm1heCYmKGY9aC5tYXgtbixBPSEwKTtBPyh2LT0uOCoodi1lW2JdWzBdKSxJfHwoay09LjgqKGstZVtiXVsxXSkpLGwoKSk6ZVtiXT1bdixrXTtEfHwoZFtiXT1yLXQsZFtCXT1uKTtkPUQ/MS96Ono7cFtCXT1uO3BbYl09ZjtxW0Q/YT8ic2NhbGVZIjoic2NhbGVYIjoic2NhbGUiK2NdPXo7cVsidHJhbnNsYXRlIitjXT1kKnQrKHYtZCpIKX0scGluY2g6ZnVuY3Rpb24oYSl7dmFyIHU9dGhpcyxyPXUuY2hhcnQseT11LnBpbmNoRG93bixwPWEudG91Y2hlcyxkPXAubGVuZ3RoLGU9dS5sYXN0VmFsaWRUb3VjaCxnPXUuaGFzWm9vbSxtPXUuc2VsZWN0aW9uTWFya2VyLGI9e30sYz0xPT09ZCYmKHUuaW5DbGFzcyhhLnRhcmdldCwiaGlnaGNoYXJ0cy10cmFja2VyIikmJnIucnVuVHJhY2tlckNsaWNrfHx1LnJ1bkNoYXJ0Q2xpY2spLHg9e307MTxkJiYodS5pbml0aWF0ZWQ9ITApO2cmJnUuaW5pdGlhdGVkJiYhYyYmYS5wcmV2ZW50RGVmYXVsdCgpOwoJCXEocCxmdW5jdGlvbihhKXtyZXR1cm4gdS5ub3JtYWxpemUoYSl9KTsidG91Y2hzdGFydCI9PT1hLnR5cGU/KEYocCxmdW5jdGlvbihhLGIpe3lbYl09e2NoYXJ0WDphLmNoYXJ0WCxjaGFydFk6YS5jaGFydFl9fSksZS54PVt5WzBdLmNoYXJ0WCx5WzFdJiZ5WzFdLmNoYXJ0WF0sZS55PVt5WzBdLmNoYXJ0WSx5WzFdJiZ5WzFdLmNoYXJ0WV0sRihyLmF4ZXMsZnVuY3Rpb24oYSl7aWYoYS56b29tRW5hYmxlZCl7dmFyIGI9ci5ib3VuZHNbYS5ob3Jpej8iaCI6InYiXSxjPWEubWluUGl4ZWxQYWRkaW5nLGQ9YS50b1BpeGVscyhmKGEub3B0aW9ucy5taW4sYS5kYXRhTWluKSksbT1hLnRvUGl4ZWxzKGYoYS5vcHRpb25zLm1heCxhLmRhdGFNYXgpKSxlPU1hdGgubWF4KGQsbSk7Yi5taW49TWF0aC5taW4oYS5wb3MsTWF0aC5taW4oZCxtKS1jKTtiLm1heD1NYXRoLm1heChhLnBvcythLmxlbixlK2MpfX0pLHUucmVzPSEwKTp1LmZvbGxvd1RvdWNoTW92ZSYmMT09PWQ/dGhpcy5ydW5Qb2ludEFjdGlvbnModS5ub3JtYWxpemUoYSkpOgoJCQl5Lmxlbmd0aCYmKG18fCh1LnNlbGVjdGlvbk1hcmtlcj1tPUcoe2Rlc3Ryb3k6bCx0b3VjaDohMH0sci5wbG90Qm94KSksdS5waW5jaFRyYW5zbGF0ZSh5LHAsYixtLHgsZSksdS5oYXNQaW5jaGVkPWcsdS5zY2FsZUdyb3VwcyhiLHgpLHUucmVzJiYodS5yZXM9ITEsdGhpcy5yZXNldCghMSwwKSkpfSx0b3VjaDpmdW5jdGlvbihsLHEpe3ZhciByPXRoaXMuY2hhcnQsdSxwO2lmKHIuaW5kZXghPT1hLmhvdmVyQ2hhcnRJbmRleCl0aGlzLm9uQ29udGFpbmVyTW91c2VMZWF2ZSh7cmVsYXRlZFRhcmdldDohMH0pO2EuaG92ZXJDaGFydEluZGV4PXIuaW5kZXg7MT09PWwudG91Y2hlcy5sZW5ndGg/KGw9dGhpcy5ub3JtYWxpemUobCksKHA9ci5pc0luc2lkZVBsb3QobC5jaGFydFgtci5wbG90TGVmdCxsLmNoYXJ0WS1yLnBsb3RUb3ApKSYmIXIub3Blbk1lbnU/KHEmJnRoaXMucnVuUG9pbnRBY3Rpb25zKGwpLCJ0b3VjaG1vdmUiPT09bC50eXBlJiYocT10aGlzLnBpbmNoRG93bix1PXFbMF0/CgkJNDw9TWF0aC5zcXJ0KE1hdGgucG93KHFbMF0uY2hhcnRYLWwuY2hhcnRYLDIpK01hdGgucG93KHFbMF0uY2hhcnRZLWwuY2hhcnRZLDIpKTohMSksZih1LCEwKSYmdGhpcy5waW5jaChsKSk6cSYmdGhpcy5yZXNldCgpKToyPT09bC50b3VjaGVzLmxlbmd0aCYmdGhpcy5waW5jaChsKX0sb25Db250YWluZXJUb3VjaFN0YXJ0OmZ1bmN0aW9uKGEpe3RoaXMuem9vbU9wdGlvbihhKTt0aGlzLnRvdWNoKGEsITApfSxvbkNvbnRhaW5lclRvdWNoTW92ZTpmdW5jdGlvbihhKXt0aGlzLnRvdWNoKGEpfSxvbkRvY3VtZW50VG91Y2hFbmQ6ZnVuY3Rpb24oZil7RVthLmhvdmVyQ2hhcnRJbmRleF0mJkVbYS5ob3ZlckNoYXJ0SW5kZXhdLnBvaW50ZXIuZHJvcChmKX19KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmFkZEV2ZW50LEY9YS5jaGFydHMsRz1hLmNzcyxxPWEuZG9jLGw9YS5leHRlbmQsZj1hLm5vb3AsdT1hLlBvaW50ZXIsQz1hLnJlbW92ZUV2ZW50LHI9YS53aW4seT1hLndyYXA7CglpZighYS5oYXNUb3VjaCYmKHIuUG9pbnRlckV2ZW50fHxyLk1TUG9pbnRlckV2ZW50KSl7dmFyIHA9e30sZD0hIXIuUG9pbnRlckV2ZW50LGU9ZnVuY3Rpb24oKXt2YXIgZD1bXTtkLml0ZW09ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXNbYV19O2Eub2JqZWN0RWFjaChwLGZ1bmN0aW9uKGEpe2QucHVzaCh7cGFnZVg6YS5wYWdlWCxwYWdlWTphLnBhZ2VZLHRhcmdldDphLnRhcmdldH0pfSk7cmV0dXJuIGR9LGc9ZnVuY3Rpb24oZCxiLGMsZyl7InRvdWNoIiE9PWQucG9pbnRlclR5cGUmJmQucG9pbnRlclR5cGUhPT1kLk1TUE9JTlRFUl9UWVBFX1RPVUNIfHwhRlthLmhvdmVyQ2hhcnRJbmRleF18fChnKGQpLGc9RlthLmhvdmVyQ2hhcnRJbmRleF0ucG9pbnRlcixnW2JdKHt0eXBlOmMsdGFyZ2V0OmQuY3VycmVudFRhcmdldCxwcmV2ZW50RGVmYXVsdDpmLHRvdWNoZXM6ZSgpfSkpfTtsKHUucHJvdG90eXBlLHtvbkNvbnRhaW5lclBvaW50ZXJEb3duOmZ1bmN0aW9uKGEpe2coYSwib25Db250YWluZXJUb3VjaFN0YXJ0IiwKCQkJInRvdWNoc3RhcnQiLGZ1bmN0aW9uKGEpe3BbYS5wb2ludGVySWRdPXtwYWdlWDphLnBhZ2VYLHBhZ2VZOmEucGFnZVksdGFyZ2V0OmEuY3VycmVudFRhcmdldH19KX0sb25Db250YWluZXJQb2ludGVyTW92ZTpmdW5jdGlvbihhKXtnKGEsIm9uQ29udGFpbmVyVG91Y2hNb3ZlIiwidG91Y2htb3ZlIixmdW5jdGlvbihhKXtwW2EucG9pbnRlcklkXT17cGFnZVg6YS5wYWdlWCxwYWdlWTphLnBhZ2VZfTtwW2EucG9pbnRlcklkXS50YXJnZXR8fChwW2EucG9pbnRlcklkXS50YXJnZXQ9YS5jdXJyZW50VGFyZ2V0KX0pfSxvbkRvY3VtZW50UG9pbnRlclVwOmZ1bmN0aW9uKGEpe2coYSwib25Eb2N1bWVudFRvdWNoRW5kIiwidG91Y2hlbmQiLGZ1bmN0aW9uKGEpe2RlbGV0ZSBwW2EucG9pbnRlcklkXX0pfSxiYXRjaE1TRXZlbnRzOmZ1bmN0aW9uKGEpe2EodGhpcy5jaGFydC5jb250YWluZXIsZD8icG9pbnRlcmRvd24iOiJNU1BvaW50ZXJEb3duIix0aGlzLm9uQ29udGFpbmVyUG9pbnRlckRvd24pOwoJCQlhKHRoaXMuY2hhcnQuY29udGFpbmVyLGQ/InBvaW50ZXJtb3ZlIjoiTVNQb2ludGVyTW92ZSIsdGhpcy5vbkNvbnRhaW5lclBvaW50ZXJNb3ZlKTthKHEsZD8icG9pbnRlcnVwIjoiTVNQb2ludGVyVXAiLHRoaXMub25Eb2N1bWVudFBvaW50ZXJVcCl9fSk7eSh1LnByb3RvdHlwZSwiaW5pdCIsZnVuY3Rpb24oYSxiLGMpe2EuY2FsbCh0aGlzLGIsYyk7dGhpcy5oYXNab29tJiZHKGIuY29udGFpbmVyLHsiLW1zLXRvdWNoLWFjdGlvbiI6Im5vbmUiLCJ0b3VjaC1hY3Rpb24iOiJub25lIn0pfSk7eSh1LnByb3RvdHlwZSwic2V0RE9NRXZlbnRzIixmdW5jdGlvbihhKXthLmFwcGx5KHRoaXMpOyh0aGlzLmhhc1pvb218fHRoaXMuZm9sbG93VG91Y2hNb3ZlKSYmdGhpcy5iYXRjaE1TRXZlbnRzKEUpfSk7eSh1LnByb3RvdHlwZSwiZGVzdHJveSIsZnVuY3Rpb24oYSl7dGhpcy5iYXRjaE1TRXZlbnRzKEMpO2EuY2FsbCh0aGlzKX0pfX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmFkZEV2ZW50LAoJRj1hLmNzcyxHPWEuZGlzY2FyZEVsZW1lbnQscT1hLmRlZmluZWQsbD1hLmVhY2gsZj1hLmZpcmVFdmVudCx1PWEuaXNGaXJlZm94LEM9YS5tYXJnaW5OYW1lcyxyPWEubWVyZ2UseT1hLnBpY2sscD1hLnNldEFuaW1hdGlvbixkPWEuc3RhYmxlU29ydCxlPWEud2luLGc9YS53cmFwO2EuTGVnZW5kPWZ1bmN0aW9uKGEsYil7dGhpcy5pbml0KGEsYil9O2EuTGVnZW5kLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbihhLGIpe3RoaXMuY2hhcnQ9YTt0aGlzLnNldE9wdGlvbnMoYik7Yi5lbmFibGVkJiYodGhpcy5yZW5kZXIoKSxFKHRoaXMuY2hhcnQsImVuZFJlc2l6ZSIsZnVuY3Rpb24oKXt0aGlzLmxlZ2VuZC5wb3NpdGlvbkNoZWNrYm94ZXMoKX0pLHRoaXMucHJveGltYXRlP3RoaXMudW5jaGFydHJlbmRlcj1FKHRoaXMuY2hhcnQsInJlbmRlciIsZnVuY3Rpb24oKXt0aGlzLmxlZ2VuZC5wcm94aW1hdGVQb3NpdGlvbnMoKTt0aGlzLmxlZ2VuZC5wb3NpdGlvbkl0ZW1zKCl9KTp0aGlzLnVuY2hhcnRyZW5kZXImJgoJCXRoaXMudW5jaGFydHJlbmRlcigpKX0sc2V0T3B0aW9uczpmdW5jdGlvbihhKXt2YXIgYj15KGEucGFkZGluZyw4KTt0aGlzLm9wdGlvbnM9YTt0aGlzLml0ZW1TdHlsZT1hLml0ZW1TdHlsZTt0aGlzLml0ZW1IaWRkZW5TdHlsZT1yKHRoaXMuaXRlbVN0eWxlLGEuaXRlbUhpZGRlblN0eWxlKTt0aGlzLml0ZW1NYXJnaW5Ub3A9YS5pdGVtTWFyZ2luVG9wfHwwO3RoaXMucGFkZGluZz1iO3RoaXMuaW5pdGlhbEl0ZW1ZPWItNTt0aGlzLnN5bWJvbFdpZHRoPXkoYS5zeW1ib2xXaWR0aCwxNik7dGhpcy5wYWdlcz1bXTt0aGlzLnByb3hpbWF0ZT0icHJveGltYXRlIj09PWEubGF5b3V0JiYhdGhpcy5jaGFydC5pbnZlcnRlZH0sdXBkYXRlOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jaGFydDt0aGlzLnNldE9wdGlvbnMocighMCx0aGlzLm9wdGlvbnMsYSkpO3RoaXMuZGVzdHJveSgpO2MuaXNEaXJ0eUxlZ2VuZD1jLmlzRGlydHlCb3g9ITA7eShiLCEwKSYmYy5yZWRyYXcoKTtmKHRoaXMsCgkJImFmdGVyVXBkYXRlIil9LGNvbG9yaXplSXRlbTpmdW5jdGlvbihhLGIpe2EubGVnZW5kR3JvdXBbYj8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKCJoaWdoY2hhcnRzLWxlZ2VuZC1pdGVtLWhpZGRlbiIpO3ZhciBjPXRoaXMub3B0aW9ucyxkPWEubGVnZW5kSXRlbSxtPWEubGVnZW5kTGluZSxlPWEubGVnZW5kU3ltYm9sLG49dGhpcy5pdGVtSGlkZGVuU3R5bGUuY29sb3IsYz1iP2MuaXRlbVN0eWxlLmNvbG9yOm4sZz1iP2EuY29sb3J8fG46bix6PWEub3B0aW9ucyYmYS5vcHRpb25zLm1hcmtlcixwPXtmaWxsOmd9O2QmJmQuY3NzKHtmaWxsOmMsY29sb3I6Y30pO20mJm0uYXR0cih7c3Ryb2tlOmd9KTtlJiYoeiYmZS5pc01hcmtlciYmKHA9YS5wb2ludEF0dHJpYnMoKSxifHwocC5zdHJva2U9cC5maWxsPW4pKSxlLmF0dHIocCkpO2YodGhpcywiYWZ0ZXJDb2xvcml6ZUl0ZW0iLHtpdGVtOmEsdmlzaWJsZTpifSl9LHBvc2l0aW9uSXRlbXM6ZnVuY3Rpb24oKXtsKHRoaXMuYWxsSXRlbXMsCgkJdGhpcy5wb3NpdGlvbkl0ZW0sdGhpcyk7dGhpcy5jaGFydC5pc1Jlc2l6aW5nfHx0aGlzLnBvc2l0aW9uQ2hlY2tib3hlcygpfSxwb3NpdGlvbkl0ZW06ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5vcHRpb25zLGM9Yi5zeW1ib2xQYWRkaW5nLGI9IWIucnRsLGQ9YS5fbGVnZW5kSXRlbVBvcyxtPWRbMF0sZD1kWzFdLGU9YS5jaGVja2JveDtpZigoYT1hLmxlZ2VuZEdyb3VwKSYmYS5lbGVtZW50KWFbcShhLnRyYW5zbGF0ZVkpPyJhbmltYXRlIjoiYXR0ciJdKHt0cmFuc2xhdGVYOmI/bTp0aGlzLmxlZ2VuZFdpZHRoLW0tMipjLTQsdHJhbnNsYXRlWTpkfSk7ZSYmKGUueD1tLGUueT1kKX0sZGVzdHJveUl0ZW06ZnVuY3Rpb24oYSl7dmFyIGI9YS5jaGVja2JveDtsKFsibGVnZW5kSXRlbSIsImxlZ2VuZExpbmUiLCJsZWdlbmRTeW1ib2wiLCJsZWdlbmRHcm91cCJdLGZ1bmN0aW9uKGIpe2FbYl0mJihhW2JdPWFbYl0uZGVzdHJveSgpKX0pO2ImJkcoYS5jaGVja2JveCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGEpe3RoaXNbYV0mJgoJKHRoaXNbYV09dGhpc1thXS5kZXN0cm95KCkpfWwodGhpcy5nZXRBbGxJdGVtcygpLGZ1bmN0aW9uKGIpe2woWyJsZWdlbmRJdGVtIiwibGVnZW5kR3JvdXAiXSxhLGIpfSk7bCgiY2xpcFJlY3QgdXAgZG93biBwYWdlciBuYXYgYm94IHRpdGxlIGdyb3VwIi5zcGxpdCgiICIpLGEsdGhpcyk7dGhpcy5kaXNwbGF5PW51bGx9LHBvc2l0aW9uQ2hlY2tib3hlczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ3JvdXAmJnRoaXMuZ3JvdXAuYWxpZ25BdHRyLGIsYz10aGlzLmNsaXBIZWlnaHR8fHRoaXMubGVnZW5kSGVpZ2h0LGQ9dGhpcy50aXRsZUhlaWdodDthJiYoYj1hLnRyYW5zbGF0ZVksbCh0aGlzLmFsbEl0ZW1zLGZ1bmN0aW9uKGUpe3ZhciBtPWUuY2hlY2tib3gsbjttJiYobj1iK2QrbS55Kyh0aGlzLnNjcm9sbE9mZnNldHx8MCkrMyxGKG0se2xlZnQ6YS50cmFuc2xhdGVYK2UuY2hlY2tib3hPZmZzZXQrbS54LTIwKyJweCIsdG9wOm4rInB4IixkaXNwbGF5Om4+Yi02JiZuPGIrYy02PwoJCQkiIjoibm9uZSJ9KSl9LHRoaXMpKX0scmVuZGVyVGl0bGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj10aGlzLnBhZGRpbmcsYz1hLnRpdGxlLGQ9MDtjLnRleHQmJih0aGlzLnRpdGxlfHwodGhpcy50aXRsZT10aGlzLmNoYXJ0LnJlbmRlcmVyLmxhYmVsKGMudGV4dCxiLTMsYi00LG51bGwsbnVsbCxudWxsLGEudXNlSFRNTCxudWxsLCJsZWdlbmQtdGl0bGUiKS5hdHRyKHt6SW5kZXg6MX0pLmNzcyhjLnN0eWxlKS5hZGQodGhpcy5ncm91cCkpLGE9dGhpcy50aXRsZS5nZXRCQm94KCksZD1hLmhlaWdodCx0aGlzLm9mZnNldFdpZHRoPWEud2lkdGgsdGhpcy5jb250ZW50R3JvdXAuYXR0cih7dHJhbnNsYXRlWTpkfSkpO3RoaXMudGl0bGVIZWlnaHQ9ZH0sc2V0VGV4dDpmdW5jdGlvbihkKXt2YXIgYj10aGlzLm9wdGlvbnM7ZC5sZWdlbmRJdGVtLmF0dHIoe3RleHQ6Yi5sYWJlbEZvcm1hdD9hLmZvcm1hdChiLmxhYmVsRm9ybWF0LGQsdGhpcy5jaGFydC50aW1lKTpiLmxhYmVsRm9ybWF0dGVyLmNhbGwoZCl9KX0sCglyZW5kZXJJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2hhcnQsYz1iLnJlbmRlcmVyLGQ9dGhpcy5vcHRpb25zLGU9dGhpcy5zeW1ib2xXaWR0aCxtPWQuc3ltYm9sUGFkZGluZyxuPXRoaXMuaXRlbVN0eWxlLGc9dGhpcy5pdGVtSGlkZGVuU3R5bGUsej0iaG9yaXpvbnRhbCI9PT1kLmxheW91dD95KGQuaXRlbURpc3RhbmNlLDIwKTowLHA9IWQucnRsLGg9YS5sZWdlbmRJdGVtLGY9IWEuc2VyaWVzLEg9IWYmJmEuc2VyaWVzLmRyYXdMZWdlbmRTeW1ib2w/YS5zZXJpZXM6YSx2PUgub3B0aW9ucyx2PXRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtJiZ2JiZ2LnNob3dDaGVja2JveCx6PWUrbSt6Kyh2PzIwOjApLHc9ZC51c2VIVE1MLGs9YS5vcHRpb25zLmNsYXNzTmFtZTtofHwoYS5sZWdlbmRHcm91cD1jLmcoImxlZ2VuZC1pdGVtIikuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIitILnR5cGUrIi1zZXJpZXMgaGlnaGNoYXJ0cy1jb2xvci0iK2EuY29sb3JJbmRleCsoaz8iICIrazoKCQkiIikrKGY/IiBoaWdoY2hhcnRzLXNlcmllcy0iK2EuaW5kZXg6IiIpKS5hdHRyKHt6SW5kZXg6MX0pLmFkZCh0aGlzLnNjcm9sbEdyb3VwKSxhLmxlZ2VuZEl0ZW09aD1jLnRleHQoIiIscD9lK206LW0sdGhpcy5iYXNlbGluZXx8MCx3KS5jc3MocihhLnZpc2libGU/bjpnKSkuYXR0cih7YWxpZ246cD8ibGVmdCI6InJpZ2h0Iix6SW5kZXg6Mn0pLmFkZChhLmxlZ2VuZEdyb3VwKSx0aGlzLmJhc2VsaW5lfHwoZT1uLmZvbnRTaXplLHRoaXMuZm9udE1ldHJpY3M9Yy5mb250TWV0cmljcyhlLGgpLHRoaXMuYmFzZWxpbmU9dGhpcy5mb250TWV0cmljcy5mKzMrdGhpcy5pdGVtTWFyZ2luVG9wLGguYXR0cigieSIsdGhpcy5iYXNlbGluZSkpLHRoaXMuc3ltYm9sSGVpZ2h0PWQuc3ltYm9sSGVpZ2h0fHx0aGlzLmZvbnRNZXRyaWNzLmYsSC5kcmF3TGVnZW5kU3ltYm9sKHRoaXMsYSksdGhpcy5zZXRJdGVtRXZlbnRzJiZ0aGlzLnNldEl0ZW1FdmVudHMoYSxoLHcpLHYmJnRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtKGEpKTsKCQl0aGlzLmNvbG9yaXplSXRlbShhLGEudmlzaWJsZSk7bi53aWR0aHx8aC5jc3Moe3dpZHRoOihkLml0ZW1XaWR0aHx8ZC53aWR0aHx8Yi5zcGFjaW5nQm94LndpZHRoKS16fSk7dGhpcy5zZXRUZXh0KGEpO2I9aC5nZXRCQm94KCk7YS5pdGVtV2lkdGg9YS5jaGVja2JveE9mZnNldD1kLml0ZW1XaWR0aHx8YS5sZWdlbmRJdGVtV2lkdGh8fGIud2lkdGgrejt0aGlzLm1heEl0ZW1XaWR0aD1NYXRoLm1heCh0aGlzLm1heEl0ZW1XaWR0aCxhLml0ZW1XaWR0aCk7dGhpcy50b3RhbEl0ZW1XaWR0aCs9YS5pdGVtV2lkdGg7dGhpcy5pdGVtSGVpZ2h0PWEuaXRlbUhlaWdodD1NYXRoLnJvdW5kKGEubGVnZW5kSXRlbUhlaWdodHx8Yi5oZWlnaHR8fHRoaXMuc3ltYm9sSGVpZ2h0KX0sbGF5b3V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnMsYz10aGlzLnBhZGRpbmcsZD0iaG9yaXpvbnRhbCI9PT1iLmxheW91dCxlPWEuaXRlbUhlaWdodCxtPWIuaXRlbU1hcmdpbkJvdHRvbXx8CgkJMCxuPXRoaXMuaXRlbU1hcmdpblRvcCxnPWQ/eShiLml0ZW1EaXN0YW5jZSwyMCk6MCx6PWIud2lkdGgscD16fHx0aGlzLmNoYXJ0LnNwYWNpbmdCb3gud2lkdGgtMipjLWIueCxiPWIuYWxpZ25Db2x1bW5zJiZ0aGlzLnRvdGFsSXRlbVdpZHRoPnA/dGhpcy5tYXhJdGVtV2lkdGg6YS5pdGVtV2lkdGg7ZCYmdGhpcy5pdGVtWC1jK2I+cCYmKHRoaXMuaXRlbVg9Yyx0aGlzLml0ZW1ZKz1uK3RoaXMubGFzdExpbmVIZWlnaHQrbSx0aGlzLmxhc3RMaW5lSGVpZ2h0PTApO3RoaXMubGFzdEl0ZW1ZPW4rdGhpcy5pdGVtWSttO3RoaXMubGFzdExpbmVIZWlnaHQ9TWF0aC5tYXgoZSx0aGlzLmxhc3RMaW5lSGVpZ2h0KTthLl9sZWdlbmRJdGVtUG9zPVt0aGlzLml0ZW1YLHRoaXMuaXRlbVldO2Q/dGhpcy5pdGVtWCs9YjoodGhpcy5pdGVtWSs9bitlK20sdGhpcy5sYXN0TGluZUhlaWdodD1lKTt0aGlzLm9mZnNldFdpZHRoPXp8fE1hdGgubWF4KChkP3RoaXMuaXRlbVgtYy0oYS5jaGVja2JveD8KCQkwOmcpOmIpK2MsdGhpcy5vZmZzZXRXaWR0aCl9LGdldEFsbEl0ZW1zOmZ1bmN0aW9uKCl7dmFyIGE9W107bCh0aGlzLmNoYXJ0LnNlcmllcyxmdW5jdGlvbihiKXt2YXIgYz1iJiZiLm9wdGlvbnM7YiYmeShjLnNob3dJbkxlZ2VuZCxxKGMubGlua2VkVG8pPyExOnZvaWQgMCwhMCkmJihhPWEuY29uY2F0KGIubGVnZW5kSXRlbXN8fCgicG9pbnQiPT09Yy5sZWdlbmRUeXBlP2IuZGF0YTpiKSkpfSk7Zih0aGlzLCJhZnRlckdldEFsbEl0ZW1zIix7YWxsSXRlbXM6YX0pO3JldHVybiBhfSxnZXRBbGlnbm1lbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMucHJveGltYXRlP2EuYWxpZ24uY2hhckF0KDApKyJ0diI6YS5mbG9hdGluZz8iIjphLmFsaWduLmNoYXJBdCgwKSthLnZlcnRpY2FsQWxpZ24uY2hhckF0KDApK2EubGF5b3V0LmNoYXJBdCgwKX0sYWRqdXN0TWFyZ2luczpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2hhcnQsZD10aGlzLm9wdGlvbnMsCgkJZT10aGlzLmdldEFsaWdubWVudCgpO2UmJmwoWy8obHRofGN0fHJ0aCkvLC8ocnR2fHJtfHJidikvLC8ocmJofGNifGxiaCkvLC8obGJ2fGxtfGx0dikvXSxmdW5jdGlvbihtLG4pe20udGVzdChlKSYmIXEoYVtuXSkmJihjW0Nbbl1dPU1hdGgubWF4KGNbQ1tuXV0sYy5sZWdlbmRbKG4rMSklMj8ibGVnZW5kSGVpZ2h0IjoibGVnZW5kV2lkdGgiXStbMSwtMSwtMSwxXVtuXSpkW24lMj8ieCI6InkiXSt5KGQubWFyZ2luLDEyKStiW25dKygwPT09biYmdm9pZCAwIT09Yy5vcHRpb25zLnRpdGxlLm1hcmdpbj9jLnRpdGxlT2Zmc2V0K2Mub3B0aW9ucy50aXRsZS5tYXJnaW46MCkpKX0pfSxwcm94aW1hdGVQb3NpdGlvbnM6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLmNoYXJ0LGI9W10sYz0ibGVmdCI9PT10aGlzLm9wdGlvbnMuYWxpZ247bCh0aGlzLmFsbEl0ZW1zLGZ1bmN0aW9uKGUpe3ZhciBtLGc7bT1jO2UueEF4aXMmJmUucG9pbnRzJiYoZS54QXhpcy5vcHRpb25zLnJldmVyc2VkJiYobT0KCQkhbSksbT1hLmZpbmQobT9lLnBvaW50czplLnBvaW50cy5zbGljZSgwKS5yZXZlcnNlKCksZnVuY3Rpb24oYil7cmV0dXJuIGEuaXNOdW1iZXIoYi5wbG90WSl9KSxnPWUubGVnZW5kR3JvdXAuZ2V0QkJveCgpLmhlaWdodCxiLnB1c2goe3RhcmdldDplLnZpc2libGU/KG0/bS5wbG90WTplLnhBeGlzLmhlaWdodCktLjMqZzpkLnBsb3RIZWlnaHQsc2l6ZTpnLGl0ZW06ZX0pKX0sdGhpcyk7YS5kaXN0cmlidXRlKGIsZC5wbG90SGVpZ2h0KTtsKGIsZnVuY3Rpb24oYSl7YS5pdGVtLl9sZWdlbmRJdGVtUG9zWzFdPWQucGxvdFRvcC1kLnNwYWNpbmdbMF0rYS5wb3N9KX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydCxiPWEucmVuZGVyZXIsYz10aGlzLmdyb3VwLGUsZyx0LG49dGhpcy5ib3gscD10aGlzLm9wdGlvbnMsej10aGlzLnBhZGRpbmc7dGhpcy5pdGVtWD16O3RoaXMuaXRlbVk9dGhpcy5pbml0aWFsSXRlbVk7dGhpcy5sYXN0SXRlbVk9dGhpcy5vZmZzZXRXaWR0aD0KCQkwO2N8fCh0aGlzLmdyb3VwPWM9Yi5nKCJsZWdlbmQiKS5hdHRyKHt6SW5kZXg6N30pLmFkZCgpLHRoaXMuY29udGVudEdyb3VwPWIuZygpLmF0dHIoe3pJbmRleDoxfSkuYWRkKGMpLHRoaXMuc2Nyb2xsR3JvdXA9Yi5nKCkuYWRkKHRoaXMuY29udGVudEdyb3VwKSk7dGhpcy5yZW5kZXJUaXRsZSgpO2U9dGhpcy5nZXRBbGxJdGVtcygpO2QoZSxmdW5jdGlvbihhLGIpe3JldHVybihhLm9wdGlvbnMmJmEub3B0aW9ucy5sZWdlbmRJbmRleHx8MCktKGIub3B0aW9ucyYmYi5vcHRpb25zLmxlZ2VuZEluZGV4fHwwKX0pO3AucmV2ZXJzZWQmJmUucmV2ZXJzZSgpO3RoaXMuYWxsSXRlbXM9ZTt0aGlzLmRpc3BsYXk9Zz0hIWUubGVuZ3RoO3RoaXMuaXRlbUhlaWdodD10aGlzLnRvdGFsSXRlbVdpZHRoPXRoaXMubWF4SXRlbVdpZHRoPXRoaXMubGFzdExpbmVIZWlnaHQ9MDtsKGUsdGhpcy5yZW5kZXJJdGVtLHRoaXMpO2woZSx0aGlzLmxheW91dEl0ZW0sdGhpcyk7ZT0ocC53aWR0aHx8dGhpcy5vZmZzZXRXaWR0aCkrCgkJejt0PXRoaXMubGFzdEl0ZW1ZK3RoaXMubGFzdExpbmVIZWlnaHQrdGhpcy50aXRsZUhlaWdodDt0PXRoaXMuaGFuZGxlT3ZlcmZsb3codCk7dCs9ejtufHwodGhpcy5ib3g9bj1iLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1sZWdlbmQtYm94IikuYXR0cih7cjpwLmJvcmRlclJhZGl1c30pLmFkZChjKSxuLmlzTmV3PSEwKTtuLmF0dHIoe3N0cm9rZTpwLmJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOnAuYm9yZGVyV2lkdGh8fDAsZmlsbDpwLmJhY2tncm91bmRDb2xvcnx8Im5vbmUifSkuc2hhZG93KHAuc2hhZG93KTswPGUmJjA8dCYmKG5bbi5pc05ldz8iYXR0ciI6ImFuaW1hdGUiXShuLmNyaXNwLmNhbGwoe30se3g6MCx5OjAsd2lkdGg6ZSxoZWlnaHQ6dH0sbi5zdHJva2VXaWR0aCgpKSksbi5pc05ldz0hMSk7bltnPyJzaG93IjoiaGlkZSJdKCk7dGhpcy5sZWdlbmRXaWR0aD1lO3RoaXMubGVnZW5kSGVpZ2h0PXQ7ZyYmKGI9YS5zcGFjaW5nQm94LC8obHRofGN0fHJ0aCkvLnRlc3QodGhpcy5nZXRBbGlnbm1lbnQoKSkmJgoJKGI9cihiLHt5OmIueSthLnRpdGxlT2Zmc2V0K2Eub3B0aW9ucy50aXRsZS5tYXJnaW59KSksYy5hbGlnbihyKHAse3dpZHRoOmUsaGVpZ2h0OnQsdmVydGljYWxBbGlnbjp0aGlzLnByb3hpbWF0ZT8idG9wIjpwLnZlcnRpY2FsQWxpZ259KSwhMCxiKSk7dGhpcy5wcm94aW1hdGV8fHRoaXMucG9zaXRpb25JdGVtcygpfSxoYW5kbGVPdmVyZmxvdzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5jaGFydCxkPWMucmVuZGVyZXIsZT10aGlzLm9wdGlvbnMsbT1lLnksbj10aGlzLnBhZGRpbmcsYz1jLnNwYWNpbmdCb3guaGVpZ2h0KygidG9wIj09PWUudmVydGljYWxBbGlnbj8tbTptKS1uLG09ZS5tYXhIZWlnaHQsZyxwPXRoaXMuY2xpcFJlY3QsZj1lLm5hdmlnYXRpb24saD15KGYuYW5pbWF0aW9uLCEwKSxJPWYuYXJyb3dTaXplfHwxMixIPXRoaXMubmF2LHY9dGhpcy5wYWdlcyx3LGs9dGhpcy5hbGxJdGVtcyxBPWZ1bmN0aW9uKGEpeyJudW1iZXIiPT09dHlwZW9mIGE/cC5hdHRyKHtoZWlnaHQ6YX0pOgoJCXAmJihiLmNsaXBSZWN0PXAuZGVzdHJveSgpLGIuY29udGVudEdyb3VwLmNsaXAoKSk7Yi5jb250ZW50R3JvdXAuZGl2JiYoYi5jb250ZW50R3JvdXAuZGl2LnN0eWxlLmNsaXA9YT8icmVjdCgiK24rInB4LDk5OTlweCwiKyhuK2EpKyJweCwwKSI6ImF1dG8iKX07Imhvcml6b250YWwiIT09ZS5sYXlvdXR8fCJtaWRkbGUiPT09ZS52ZXJ0aWNhbEFsaWdufHxlLmZsb2F0aW5nfHwoYy89Mik7bSYmKGM9TWF0aC5taW4oYyxtKSk7di5sZW5ndGg9MDthPmMmJiExIT09Zi5lbmFibGVkPyh0aGlzLmNsaXBIZWlnaHQ9Zz1NYXRoLm1heChjLTIwLXRoaXMudGl0bGVIZWlnaHQtbiwwKSx0aGlzLmN1cnJlbnRQYWdlPXkodGhpcy5jdXJyZW50UGFnZSwxKSx0aGlzLmZ1bGxIZWlnaHQ9YSxsKGssZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9sZWdlbmRJdGVtUG9zWzFdLGQ9TWF0aC5yb3VuZChhLmxlZ2VuZEl0ZW0uZ2V0QkJveCgpLmhlaWdodCksaD12Lmxlbmd0aDtpZighaHx8Yy12W2gtMV0+ZyYmCgkJKHd8fGMpIT09dltoLTFdKXYucHVzaCh3fHxjKSxoKys7YS5wYWdlSXg9aC0xO3cmJihrW2ItMV0ucGFnZUl4PWgtMSk7Yj09PWsubGVuZ3RoLTEmJmMrZC12W2gtMV0+ZyYmKHYucHVzaChjKSxhLnBhZ2VJeD1oKTtjIT09dyYmKHc9Yyl9KSxwfHwocD1iLmNsaXBSZWN0PWQuY2xpcFJlY3QoMCxuLDk5OTksMCksYi5jb250ZW50R3JvdXAuY2xpcChwKSksQShnKSxIfHwodGhpcy5uYXY9SD1kLmcoKS5hdHRyKHt6SW5kZXg6MX0pLmFkZCh0aGlzLmdyb3VwKSx0aGlzLnVwPWQuc3ltYm9sKCJ0cmlhbmdsZSIsMCwwLEksSSkub24oImNsaWNrIixmdW5jdGlvbigpe2Iuc2Nyb2xsKC0xLGgpfSkuYWRkKEgpLHRoaXMucGFnZXI9ZC50ZXh0KCIiLDE1LDEwKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2aWdhdGlvbiIpLmNzcyhmLnN0eWxlKS5hZGQoSCksdGhpcy5kb3duPWQuc3ltYm9sKCJ0cmlhbmdsZS1kb3duIiwwLDAsSSxJKS5vbigiY2xpY2siLGZ1bmN0aW9uKCl7Yi5zY3JvbGwoMSwKCQloKX0pLmFkZChIKSksYi5zY3JvbGwoMCksYT1jKTpIJiYoQSgpLHRoaXMubmF2PUguZGVzdHJveSgpLHRoaXMuc2Nyb2xsR3JvdXAuYXR0cih7dHJhbnNsYXRlWToxfSksdGhpcy5jbGlwSGVpZ2h0PTApO3JldHVybiBhfSxzY3JvbGw6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnBhZ2VzLGQ9Yy5sZW5ndGg7YT10aGlzLmN1cnJlbnRQYWdlK2E7dmFyIGU9dGhpcy5jbGlwSGVpZ2h0LG09dGhpcy5vcHRpb25zLm5hdmlnYXRpb24sbj10aGlzLnBhZ2VyLGc9dGhpcy5wYWRkaW5nO2E+ZCYmKGE9ZCk7MDxhJiYodm9pZCAwIT09YiYmcChiLHRoaXMuY2hhcnQpLHRoaXMubmF2LmF0dHIoe3RyYW5zbGF0ZVg6Zyx0cmFuc2xhdGVZOmUrdGhpcy5wYWRkaW5nKzcrdGhpcy50aXRsZUhlaWdodCx2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLHRoaXMudXAuYXR0cih7ImNsYXNzIjoxPT09YT8iaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWluYWN0aXZlIjoiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWFjdGl2ZSJ9KSwKCQluLmF0dHIoe3RleHQ6YSsiLyIrZH0pLHRoaXMuZG93bi5hdHRyKHt4OjE4K3RoaXMucGFnZXIuZ2V0QkJveCgpLndpZHRoLCJjbGFzcyI6YT09PWQ/ImhpZ2hjaGFydHMtbGVnZW5kLW5hdi1pbmFjdGl2ZSI6ImhpZ2hjaGFydHMtbGVnZW5kLW5hdi1hY3RpdmUifSksdGhpcy51cC5hdHRyKHtmaWxsOjE9PT1hP20uaW5hY3RpdmVDb2xvcjptLmFjdGl2ZUNvbG9yfSkuY3NzKHtjdXJzb3I6MT09PWE/ImRlZmF1bHQiOiJwb2ludGVyIn0pLHRoaXMuZG93bi5hdHRyKHtmaWxsOmE9PT1kP20uaW5hY3RpdmVDb2xvcjptLmFjdGl2ZUNvbG9yfSkuY3NzKHtjdXJzb3I6YT09PWQ/ImRlZmF1bHQiOiJwb2ludGVyIn0pLHRoaXMuc2Nyb2xsT2Zmc2V0PS1jW2EtMV0rdGhpcy5pbml0aWFsSXRlbVksdGhpcy5zY3JvbGxHcm91cC5hbmltYXRlKHt0cmFuc2xhdGVZOnRoaXMuc2Nyb2xsT2Zmc2V0fSksdGhpcy5jdXJyZW50UGFnZT1hLHRoaXMucG9zaXRpb25DaGVja2JveGVzKCkpfX07YS5MZWdlbmRTeW1ib2xNaXhpbj0KCXtkcmF3UmVjdGFuZ2xlOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zeW1ib2xIZWlnaHQsZD1hLm9wdGlvbnMuc3F1YXJlU3ltYm9sO2IubGVnZW5kU3ltYm9sPXRoaXMuY2hhcnQucmVuZGVyZXIucmVjdChkPyhhLnN5bWJvbFdpZHRoLWMpLzI6MCxhLmJhc2VsaW5lLWMrMSxkP2M6YS5zeW1ib2xXaWR0aCxjLHkoYS5vcHRpb25zLnN5bWJvbFJhZGl1cyxjLzIpKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1wb2ludCIpLmF0dHIoe3pJbmRleDozfSkuYWRkKGIubGVnZW5kR3JvdXApfSxkcmF3TGluZU1hcmtlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnMsYz1iLm1hcmtlcixkPWEuc3ltYm9sV2lkdGgsZT1hLnN5bWJvbEhlaWdodCxnPWUvMixuPXRoaXMuY2hhcnQucmVuZGVyZXIsbT10aGlzLmxlZ2VuZEdyb3VwO2E9YS5iYXNlbGluZS1NYXRoLnJvdW5kKC4zKmEuZm9udE1ldHJpY3MuYik7dmFyIHA7cD17InN0cm9rZS13aWR0aCI6Yi5saW5lV2lkdGh8fDB9O2IuZGFzaFN0eWxlJiYKCQkocC5kYXNoc3R5bGU9Yi5kYXNoU3R5bGUpO3RoaXMubGVnZW5kTGluZT1uLnBhdGgoWyJNIiwwLGEsIkwiLGQsYV0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLWdyYXBoIikuYXR0cihwKS5hZGQobSk7YyYmITEhPT1jLmVuYWJsZWQmJmQmJihiPU1hdGgubWluKHkoYy5yYWRpdXMsZyksZyksMD09PXRoaXMuc3ltYm9sLmluZGV4T2YoInVybCIpJiYoYz1yKGMse3dpZHRoOmUsaGVpZ2h0OmV9KSxiPTApLHRoaXMubGVnZW5kU3ltYm9sPWM9bi5zeW1ib2wodGhpcy5zeW1ib2wsZC8yLWIsYS1iLDIqYiwyKmIsYykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQiKS5hZGQobSksYy5pc01hcmtlcj0hMCl9fTsoL1RyaWRlbnRcLzdcLjAvLnRlc3QoZS5uYXZpZ2F0b3IudXNlckFnZW50KXx8dSkmJmcoYS5MZWdlbmQucHJvdG90eXBlLCJwb3NpdGlvbkl0ZW0iLGZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPWZ1bmN0aW9uKCl7Yi5fbGVnZW5kSXRlbVBvcyYmYS5jYWxsKGMsYil9O2QoKTsKCXNldFRpbWVvdXQoZCl9KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmFkZEV2ZW50LEY9YS5hbmltYXRlLEc9YS5hbmltT2JqZWN0LHE9YS5hdHRyLGw9YS5kb2MsZj1hLkF4aXMsdT1hLmNyZWF0ZUVsZW1lbnQsQz1hLmRlZmF1bHRPcHRpb25zLHI9YS5kaXNjYXJkRWxlbWVudCx5PWEuY2hhcnRzLHA9YS5jc3MsZD1hLmRlZmluZWQsZT1hLmVhY2gsZz1hLmV4dGVuZCxtPWEuZmluZCxiPWEuZmlyZUV2ZW50LGM9YS5ncmVwLHg9YS5pc051bWJlcixCPWEuaXNPYmplY3QsdD1hLmlzU3RyaW5nLG49YS5MZWdlbmQsTD1hLm1hcmdpbk5hbWVzLHo9YS5tZXJnZSxEPWEub2JqZWN0RWFjaCxoPWEuUG9pbnRlcixJPWEucGljayxIPWEucEludCx2PWEucmVtb3ZlRXZlbnQsdz1hLnNlcmllc1R5cGVzLGs9YS5zcGxhdCxBPWEuc3luY1RpbWVvdXQsUT1hLndpbixUPWEuQ2hhcnQ9ZnVuY3Rpb24oKXt0aGlzLmdldEFyZ3MuYXBwbHkodGhpcyxhcmd1bWVudHMpfTthLmNoYXJ0PWZ1bmN0aW9uKGEsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQliLGMpe3JldHVybiBuZXcgVChhLGIsYyl9O2coVC5wcm90b3R5cGUse2NhbGxiYWNrczpbXSxnZXRBcmdzOmZ1bmN0aW9uKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKHQoYVswXSl8fGFbMF0ubm9kZU5hbWUpdGhpcy5yZW5kZXJUbz1hLnNoaWZ0KCk7dGhpcy5pbml0KGFbMF0sYVsxXSl9LGluaXQ6ZnVuY3Rpb24oYyxkKXt2YXIgaCxrLHY9Yy5zZXJpZXMsZT1jLnBsb3RPcHRpb25zfHx7fTtiKHRoaXMsImluaXQiLHthcmdzOmFyZ3VtZW50c30sZnVuY3Rpb24oKXtjLnNlcmllcz1udWxsO2g9eihDLGMpO2ZvcihrIGluIGgucGxvdE9wdGlvbnMpaC5wbG90T3B0aW9uc1trXS50b29sdGlwPWVba10mJnooZVtrXS50b29sdGlwKXx8dm9pZCAwO2gudG9vbHRpcC51c2VyT3B0aW9ucz1jLmNoYXJ0JiZjLmNoYXJ0LmZvckV4cG9ydCYmYy50b29sdGlwLnVzZXJPcHRpb25zfHxjLnRvb2x0aXA7aC5zZXJpZXM9Yy5zZXJpZXM9djt0aGlzLnVzZXJPcHRpb25zPWM7dmFyIHc9CgkJaC5jaGFydCxuPXcuZXZlbnRzO3RoaXMubWFyZ2luPVtdO3RoaXMuc3BhY2luZz1bXTt0aGlzLmJvdW5kcz17aDp7fSx2Ont9fTt0aGlzLmxhYmVsQ29sbGVjdG9ycz1bXTt0aGlzLmNhbGxiYWNrPWQ7dGhpcy5pc1Jlc2l6aW5nPTA7dGhpcy5vcHRpb25zPWg7dGhpcy5heGVzPVtdO3RoaXMuc2VyaWVzPVtdO3RoaXMudGltZT1jLnRpbWUmJmEua2V5cyhjLnRpbWUpLmxlbmd0aD9uZXcgYS5UaW1lKGMudGltZSk6YS50aW1lO3RoaXMuaGFzQ2FydGVzaWFuU2VyaWVzPXcuc2hvd0F4ZXM7dmFyIGc9dGhpcztnLmluZGV4PXkubGVuZ3RoO3kucHVzaChnKTthLmNoYXJ0Q291bnQrKztuJiZEKG4sZnVuY3Rpb24oYSxiKXtFKGcsYixhKX0pO2cueEF4aXM9W107Zy55QXhpcz1bXTtnLnBvaW50Q291bnQ9Zy5jb2xvckNvdW50ZXI9Zy5zeW1ib2xDb3VudGVyPTA7YihnLCJhZnRlckluaXQiKTtnLmZpcnN0UmVuZGVyKCl9KX0saW5pdFNlcmllczpmdW5jdGlvbihiKXt2YXIgYz10aGlzLm9wdGlvbnMuY2hhcnQ7CgkJKGM9d1tiLnR5cGV8fGMudHlwZXx8Yy5kZWZhdWx0U2VyaWVzVHlwZV0pfHxhLmVycm9yKDE3LCEwKTtjPW5ldyBjO2MuaW5pdCh0aGlzLGIpO3JldHVybiBjfSxvcmRlclNlcmllczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnNlcmllcztmb3IoYT1hfHwwO2E8Yi5sZW5ndGg7YSsrKWJbYV0mJihiW2FdLmluZGV4PWEsYlthXS5uYW1lPWJbYV0uZ2V0TmFtZSgpKX0saXNJbnNpZGVQbG90OmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jP2I6YTthPWM/YTpiO3JldHVybiAwPD1kJiZkPD10aGlzLnBsb3RXaWR0aCYmMDw9YSYmYTw9dGhpcy5wbG90SGVpZ2h0fSxyZWRyYXc6ZnVuY3Rpb24oYyl7Yih0aGlzLCJiZWZvcmVSZWRyYXciKTt2YXIgZD10aGlzLmF4ZXMsaD10aGlzLnNlcmllcyxrPXRoaXMucG9pbnRlcix2PXRoaXMubGVnZW5kLHc9dGhpcy51c2VyT3B0aW9ucy5sZWdlbmQsbj10aGlzLmlzRGlydHlMZWdlbmQsbSxwLEE9dGhpcy5oYXNDYXJ0ZXNpYW5TZXJpZXMsSD10aGlzLmlzRGlydHlCb3gsCgkJeix0PXRoaXMucmVuZGVyZXIsZj10LmlzSGlkZGVuKCksRD1bXTt0aGlzLnNldFJlc3BvbnNpdmUmJnRoaXMuc2V0UmVzcG9uc2l2ZSghMSk7YS5zZXRBbmltYXRpb24oYyx0aGlzKTtmJiZ0aGlzLnRlbXBvcmFyeURpc3BsYXkoKTt0aGlzLmxheU91dFRpdGxlcygpO2ZvcihjPWgubGVuZ3RoO2MtLTspaWYoej1oW2NdLHoub3B0aW9ucy5zdGFja2luZyYmKG09ITAsei5pc0RpcnR5KSl7cD0hMDticmVha31pZihwKWZvcihjPWgubGVuZ3RoO2MtLTspej1oW2NdLHoub3B0aW9ucy5zdGFja2luZyYmKHouaXNEaXJ0eT0hMCk7ZShoLGZ1bmN0aW9uKGEpe2EuaXNEaXJ0eSYmKCJwb2ludCI9PT1hLm9wdGlvbnMubGVnZW5kVHlwZT8oYS51cGRhdGVUb3RhbHMmJmEudXBkYXRlVG90YWxzKCksbj0hMCk6dyYmKHcubGFiZWxGb3JtYXR0ZXJ8fHcubGFiZWxGb3JtYXQpJiYobj0hMCkpO2EuaXNEaXJ0eURhdGEmJmIoYSwidXBkYXRlZERhdGEiKX0pO24mJnYmJnYub3B0aW9ucy5lbmFibGVkJiYKCSh2LnJlbmRlcigpLHRoaXMuaXNEaXJ0eUxlZ2VuZD0hMSk7bSYmdGhpcy5nZXRTdGFja3MoKTtBJiZlKGQsZnVuY3Rpb24oYSl7YS51cGRhdGVOYW1lcygpO2Euc2V0U2NhbGUoKX0pO3RoaXMuZ2V0TWFyZ2lucygpO0EmJihlKGQsZnVuY3Rpb24oYSl7YS5pc0RpcnR5JiYoSD0hMCl9KSxlKGQsZnVuY3Rpb24oYSl7dmFyIGM9YS5taW4rIiwiK2EubWF4O2EuZXh0S2V5IT09YyYmKGEuZXh0S2V5PWMsRC5wdXNoKGZ1bmN0aW9uKCl7YihhLCJhZnRlclNldEV4dHJlbWVzIixnKGEuZXZlbnRBcmdzLGEuZ2V0RXh0cmVtZXMoKSkpO2RlbGV0ZSBhLmV2ZW50QXJnc30pKTsoSHx8bSkmJmEucmVkcmF3KCl9KSk7SCYmdGhpcy5kcmF3Q2hhcnRCb3goKTtiKHRoaXMsInByZWRyYXciKTtlKGgsZnVuY3Rpb24oYSl7KEh8fGEuaXNEaXJ0eSkmJmEudmlzaWJsZSYmYS5yZWRyYXcoKTthLmlzRGlydHlEYXRhPSExfSk7ayYmay5yZXNldCghMCk7dC5kcmF3KCk7Yih0aGlzLCJyZWRyYXciKTtiKHRoaXMsCgkJInJlbmRlciIpO2YmJnRoaXMudGVtcG9yYXJ5RGlzcGxheSghMCk7ZShELGZ1bmN0aW9uKGEpe2EuY2FsbCgpfSl9LGdldDpmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGIpe3JldHVybiBiLmlkPT09YXx8Yi5vcHRpb25zJiZiLm9wdGlvbnMuaWQ9PT1hfXZhciBjLGQ9dGhpcy5zZXJpZXMsaDtjPW0odGhpcy5heGVzLGIpfHxtKHRoaXMuc2VyaWVzLGIpO2ZvcihoPTA7IWMmJmg8ZC5sZW5ndGg7aCsrKWM9bShkW2hdLnBvaW50c3x8W10sYik7cmV0dXJuIGN9LGdldEF4ZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGM9dGhpcy5vcHRpb25zLGQ9Yy54QXhpcz1rKGMueEF4aXN8fHt9KSxjPWMueUF4aXM9ayhjLnlBeGlzfHx7fSk7Yih0aGlzLCJnZXRBeGVzIik7ZShkLGZ1bmN0aW9uKGEsYil7YS5pbmRleD1iO2EuaXNYPSEwfSk7ZShjLGZ1bmN0aW9uKGEsYil7YS5pbmRleD1ifSk7ZD1kLmNvbmNhdChjKTtlKGQsZnVuY3Rpb24oYil7bmV3IGYoYSxiKX0pO2IodGhpcywiYWZ0ZXJHZXRBeGVzIil9LAoJZ2V0U2VsZWN0ZWRQb2ludHM6ZnVuY3Rpb24oKXt2YXIgYT1bXTtlKHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGIpe2E9YS5jb25jYXQoYyhiLmRhdGF8fFtdLGZ1bmN0aW9uKGEpe3JldHVybiBhLnNlbGVjdGVkfSkpfSk7cmV0dXJuIGF9LGdldFNlbGVjdGVkU2VyaWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGModGhpcy5zZXJpZXMsZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2VsZWN0ZWR9KX0sc2V0VGl0bGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMsaD1kLm9wdGlvbnMsaztrPWgudGl0bGU9eih7c3R5bGU6e2NvbG9yOiIjMzMzMzMzIixmb250U2l6ZTpoLmlzU3RvY2s/IjE2cHgiOiIxOHB4In19LGgudGl0bGUsYSk7aD1oLnN1YnRpdGxlPXooe3N0eWxlOntjb2xvcjoiIzY2NjY2NiJ9fSxoLnN1YnRpdGxlLGIpO2UoW1sidGl0bGUiLGEsa10sWyJzdWJ0aXRsZSIsYixoXV0sZnVuY3Rpb24oYSxiKXt2YXIgYz1hWzBdLGg9ZFtjXSxrPWFbMV07YT1hWzJdO2gmJmsmJihkW2NdPWg9aC5kZXN0cm95KCkpOwoJCWEmJiFoJiYoZFtjXT1kLnJlbmRlcmVyLnRleHQoYS50ZXh0LDAsMCxhLnVzZUhUTUwpLmF0dHIoe2FsaWduOmEuYWxpZ24sImNsYXNzIjoiaGlnaGNoYXJ0cy0iK2MsekluZGV4OmEuekluZGV4fHw0fSkuYWRkKCksZFtjXS51cGRhdGU9ZnVuY3Rpb24oYSl7ZC5zZXRUaXRsZSghYiYmYSxiJiZhKX0sZFtjXS5jc3MoYS5zdHlsZSkpfSk7ZC5sYXlPdXRUaXRsZXMoYyl9LGxheU91dFRpdGxlczpmdW5jdGlvbihhKXt2YXIgYj0wLGMsZD10aGlzLnJlbmRlcmVyLGg9dGhpcy5zcGFjaW5nQm94O2UoWyJ0aXRsZSIsInN1YnRpdGxlIl0sZnVuY3Rpb24oYSl7dmFyIGM9dGhpc1thXSxrPXRoaXMub3B0aW9uc1thXTthPSJ0aXRsZSI9PT1hPy0zOmsudmVydGljYWxBbGlnbj8wOmIrMjt2YXIgdjtjJiYodj1rLnN0eWxlLmZvbnRTaXplLHY9ZC5mb250TWV0cmljcyh2LGMpLmIsYy5jc3Moe3dpZHRoOihrLndpZHRofHxoLndpZHRoK2sud2lkdGhBZGp1c3QpKyJweCJ9KS5hbGlnbihnKHt5OmErCgkJdn0sayksITEsInNwYWNpbmdCb3giKSxrLmZsb2F0aW5nfHxrLnZlcnRpY2FsQWxpZ258fChiPU1hdGguY2VpbChiK2MuZ2V0QkJveChrLnVzZUhUTUwpLmhlaWdodCkpKX0sdGhpcyk7Yz10aGlzLnRpdGxlT2Zmc2V0IT09Yjt0aGlzLnRpdGxlT2Zmc2V0PWI7IXRoaXMuaXNEaXJ0eUJveCYmYyYmKHRoaXMuaXNEaXJ0eUJveD10aGlzLmlzRGlydHlMZWdlbmQ9Yyx0aGlzLmhhc1JlbmRlcmVkJiZJKGEsITApJiZ0aGlzLmlzRGlydHlCb3gmJnRoaXMucmVkcmF3KCkpfSxnZXRDaGFydFNpemU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLm9wdGlvbnMuY2hhcnQsYz1iLndpZHRoLGI9Yi5oZWlnaHQsaD10aGlzLnJlbmRlclRvO2QoYyl8fCh0aGlzLmNvbnRhaW5lcldpZHRoPWEuZ2V0U3R5bGUoaCwid2lkdGgiKSk7ZChiKXx8KHRoaXMuY29udGFpbmVySGVpZ2h0PWEuZ2V0U3R5bGUoaCwiaGVpZ2h0IikpO3RoaXMuY2hhcnRXaWR0aD1NYXRoLm1heCgwLGN8fHRoaXMuY29udGFpbmVyV2lkdGh8fAoJCTYwMCk7dGhpcy5jaGFydEhlaWdodD1NYXRoLm1heCgwLGEucmVsYXRpdmVMZW5ndGgoYix0aGlzLmNoYXJ0V2lkdGgpfHwoMTx0aGlzLmNvbnRhaW5lckhlaWdodD90aGlzLmNvbnRhaW5lckhlaWdodDo0MDApKX0sdGVtcG9yYXJ5RGlzcGxheTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLnJlbmRlclRvO2lmKGIpZm9yKDtjJiZjLnN0eWxlOyljLmhjT3JpZ1N0eWxlJiYoYS5jc3MoYyxjLmhjT3JpZ1N0eWxlKSxkZWxldGUgYy5oY09yaWdTdHlsZSksYy5oY09yaWdEZXRhY2hlZCYmKGwuYm9keS5yZW1vdmVDaGlsZChjKSxjLmhjT3JpZ0RldGFjaGVkPSExKSxjPWMucGFyZW50Tm9kZTtlbHNlIGZvcig7YyYmYy5zdHlsZTspe2wuYm9keS5jb250YWlucyhjKXx8Yy5wYXJlbnROb2RlfHwoYy5oY09yaWdEZXRhY2hlZD0hMCxsLmJvZHkuYXBwZW5kQ2hpbGQoYykpO2lmKCJub25lIj09PWEuZ2V0U3R5bGUoYywiZGlzcGxheSIsITEpfHxjLmhjT3JpY0RldGFjaGVkKWMuaGNPcmlnU3R5bGU9CgkJe2Rpc3BsYXk6Yy5zdHlsZS5kaXNwbGF5LGhlaWdodDpjLnN0eWxlLmhlaWdodCxvdmVyZmxvdzpjLnN0eWxlLm92ZXJmbG93fSxiPXtkaXNwbGF5OiJibG9jayIsb3ZlcmZsb3c6ImhpZGRlbiJ9LGMhPT10aGlzLnJlbmRlclRvJiYoYi5oZWlnaHQ9MCksYS5jc3MoYyxiKSxjLm9mZnNldFdpZHRofHxjLnN0eWxlLnNldFByb3BlcnR5KCJkaXNwbGF5IiwiYmxvY2siLCJpbXBvcnRhbnQiKTtjPWMucGFyZW50Tm9kZTtpZihjPT09bC5ib2R5KWJyZWFrfX0sc2V0Q2xhc3NOYW1lOmZ1bmN0aW9uKGEpe3RoaXMuY29udGFpbmVyLmNsYXNzTmFtZT0iaGlnaGNoYXJ0cy1jb250YWluZXIgIisoYXx8IiIpfSxnZXRDb250YWluZXI6ZnVuY3Rpb24oKXt2YXIgYyxkPXRoaXMub3B0aW9ucyxoPWQuY2hhcnQsayx2O2M9dGhpcy5yZW5kZXJUbzt2YXIgZT1hLnVuaXF1ZUtleSgpLHc7Y3x8KHRoaXMucmVuZGVyVG89Yz1oLnJlbmRlclRvKTt0KGMpJiYodGhpcy5yZW5kZXJUbz1jPWwuZ2V0RWxlbWVudEJ5SWQoYykpOwoJCWN8fGEuZXJyb3IoMTMsITApO2s9SChxKGMsImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIpKTt4KGspJiZ5W2tdJiZ5W2tdLmhhc1JlbmRlcmVkJiZ5W2tdLmRlc3Ryb3koKTtxKGMsImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIsdGhpcy5pbmRleCk7Yy5pbm5lckhUTUw9IiI7aC5za2lwQ2xvbmV8fGMub2Zmc2V0V2lkdGh8fHRoaXMudGVtcG9yYXJ5RGlzcGxheSgpO3RoaXMuZ2V0Q2hhcnRTaXplKCk7az10aGlzLmNoYXJ0V2lkdGg7dj10aGlzLmNoYXJ0SGVpZ2h0O3c9Zyh7cG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDprKyJweCIsaGVpZ2h0OnYrInB4Iix0ZXh0QWxpZ246ImxlZnQiLGxpbmVIZWlnaHQ6Im5vcm1hbCIsekluZGV4OjAsIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciI6InJnYmEoMCwwLDAsMCkifSxoLnN0eWxlKTt0aGlzLmNvbnRhaW5lcj1jPXUoImRpdiIse2lkOmV9LHcsYyk7dGhpcy5fY3Vyc29yPWMuc3R5bGUuY3Vyc29yO3RoaXMucmVuZGVyZXI9CgkJCW5ldyAoYVtoLnJlbmRlcmVyXXx8YS5SZW5kZXJlcikoYyxrLHYsbnVsbCxoLmZvckV4cG9ydCxkLmV4cG9ydGluZyYmZC5leHBvcnRpbmcuYWxsb3dIVE1MKTt0aGlzLnNldENsYXNzTmFtZShoLmNsYXNzTmFtZSk7dGhpcy5yZW5kZXJlci5zZXRTdHlsZShoLnN0eWxlKTt0aGlzLnJlbmRlcmVyLmNoYXJ0SW5kZXg9dGhpcy5pbmRleDtiKHRoaXMsImFmdGVyR2V0Q29udGFpbmVyIil9LGdldE1hcmdpbnM6ZnVuY3Rpb24oYSl7dmFyIGM9dGhpcy5zcGFjaW5nLGg9dGhpcy5tYXJnaW4saz10aGlzLnRpdGxlT2Zmc2V0O3RoaXMucmVzZXRNYXJnaW5zKCk7ayYmIWQoaFswXSkmJih0aGlzLnBsb3RUb3A9TWF0aC5tYXgodGhpcy5wbG90VG9wLGsrdGhpcy5vcHRpb25zLnRpdGxlLm1hcmdpbitjWzBdKSk7dGhpcy5sZWdlbmQmJnRoaXMubGVnZW5kLmRpc3BsYXkmJnRoaXMubGVnZW5kLmFkanVzdE1hcmdpbnMoaCxjKTtiKHRoaXMsImdldE1hcmdpbnMiKTthfHx0aGlzLmdldEF4aXNNYXJnaW5zKCl9LAoJZ2V0QXhpc01hcmdpbnM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5heGlzT2Zmc2V0PVswLDAsMCwwXSxjPWEubWFyZ2luO2EuaGFzQ2FydGVzaWFuU2VyaWVzJiZlKGEuYXhlcyxmdW5jdGlvbihhKXthLnZpc2libGUmJmEuZ2V0T2Zmc2V0KCl9KTtlKEwsZnVuY3Rpb24oaCxrKXtkKGNba10pfHwoYVtoXSs9YltrXSl9KTthLnNldENoYXJ0U2l6ZSgpfSxyZWZsb3c6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcyxoPWMub3B0aW9ucy5jaGFydCxrPWMucmVuZGVyVG8sdj1kKGgud2lkdGgpJiZkKGguaGVpZ2h0KSxlPWgud2lkdGh8fGEuZ2V0U3R5bGUoaywid2lkdGgiKSxoPWguaGVpZ2h0fHxhLmdldFN0eWxlKGssImhlaWdodCIpLGs9Yj9iLnRhcmdldDpRO2lmKCF2JiYhYy5pc1ByaW50aW5nJiZlJiZoJiYoaz09PVF8fGs9PT1sKSl7aWYoZSE9PWMuY29udGFpbmVyV2lkdGh8fGghPT1jLmNvbnRhaW5lckhlaWdodClhLmNsZWFyVGltZW91dChjLnJlZmxvd1RpbWVvdXQpLGMucmVmbG93VGltZW91dD0KCQlBKGZ1bmN0aW9uKCl7Yy5jb250YWluZXImJmMuc2V0U2l6ZSh2b2lkIDAsdm9pZCAwLCExKX0sYj8xMDA6MCk7Yy5jb250YWluZXJXaWR0aD1lO2MuY29udGFpbmVySGVpZ2h0PWh9fSxzZXRSZWZsb3c6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczshMT09PWF8fHRoaXMudW5iaW5kUmVmbG93PyExPT09YSYmdGhpcy51bmJpbmRSZWZsb3cmJih0aGlzLnVuYmluZFJlZmxvdz10aGlzLnVuYmluZFJlZmxvdygpKToodGhpcy51bmJpbmRSZWZsb3c9RShRLCJyZXNpemUiLGZ1bmN0aW9uKGEpe2IucmVmbG93KGEpfSksRSh0aGlzLCJkZXN0cm95Iix0aGlzLnVuYmluZFJlZmxvdykpfSxzZXRTaXplOmZ1bmN0aW9uKGMsZCxoKXt2YXIgaz10aGlzLHY9ay5yZW5kZXJlcjtrLmlzUmVzaXppbmcrPTE7YS5zZXRBbmltYXRpb24oaCxrKTtrLm9sZENoYXJ0SGVpZ2h0PWsuY2hhcnRIZWlnaHQ7ay5vbGRDaGFydFdpZHRoPWsuY2hhcnRXaWR0aDt2b2lkIDAhPT1jJiYoay5vcHRpb25zLmNoYXJ0LndpZHRoPQoJCWMpO3ZvaWQgMCE9PWQmJihrLm9wdGlvbnMuY2hhcnQuaGVpZ2h0PWQpO2suZ2V0Q2hhcnRTaXplKCk7Yz12Lmdsb2JhbEFuaW1hdGlvbjsoYz9GOnApKGsuY29udGFpbmVyLHt3aWR0aDprLmNoYXJ0V2lkdGgrInB4IixoZWlnaHQ6ay5jaGFydEhlaWdodCsicHgifSxjKTtrLnNldENoYXJ0U2l6ZSghMCk7di5zZXRTaXplKGsuY2hhcnRXaWR0aCxrLmNoYXJ0SGVpZ2h0LGgpO2Uoay5heGVzLGZ1bmN0aW9uKGEpe2EuaXNEaXJ0eT0hMDthLnNldFNjYWxlKCl9KTtrLmlzRGlydHlMZWdlbmQ9ITA7ay5pc0RpcnR5Qm94PSEwO2subGF5T3V0VGl0bGVzKCk7ay5nZXRNYXJnaW5zKCk7ay5yZWRyYXcoaCk7ay5vbGRDaGFydEhlaWdodD1udWxsO2IoaywicmVzaXplIik7QShmdW5jdGlvbigpe2smJmIoaywiZW5kUmVzaXplIixudWxsLGZ1bmN0aW9uKCl7LS1rLmlzUmVzaXppbmd9KX0sRyhjKS5kdXJhdGlvbil9LHNldENoYXJ0U2l6ZTpmdW5jdGlvbihhKXt2YXIgYz10aGlzLmludmVydGVkLAoJCWQ9dGhpcy5yZW5kZXJlcixoPXRoaXMuY2hhcnRXaWR0aCxrPXRoaXMuY2hhcnRIZWlnaHQsdj10aGlzLm9wdGlvbnMuY2hhcnQsdz10aGlzLnNwYWNpbmcsbj10aGlzLmNsaXBPZmZzZXQsZyxtLHAsQTt0aGlzLnBsb3RMZWZ0PWc9TWF0aC5yb3VuZCh0aGlzLnBsb3RMZWZ0KTt0aGlzLnBsb3RUb3A9bT1NYXRoLnJvdW5kKHRoaXMucGxvdFRvcCk7dGhpcy5wbG90V2lkdGg9cD1NYXRoLm1heCgwLE1hdGgucm91bmQoaC1nLXRoaXMubWFyZ2luUmlnaHQpKTt0aGlzLnBsb3RIZWlnaHQ9QT1NYXRoLm1heCgwLE1hdGgucm91bmQoay1tLXRoaXMubWFyZ2luQm90dG9tKSk7dGhpcy5wbG90U2l6ZVg9Yz9BOnA7dGhpcy5wbG90U2l6ZVk9Yz9wOkE7dGhpcy5wbG90Qm9yZGVyV2lkdGg9di5wbG90Qm9yZGVyV2lkdGh8fDA7dGhpcy5zcGFjaW5nQm94PWQuc3BhY2luZ0JveD17eDp3WzNdLHk6d1swXSx3aWR0aDpoLXdbM10td1sxXSxoZWlnaHQ6ay13WzBdLXdbMl19O3RoaXMucGxvdEJveD0KCQlkLnBsb3RCb3g9e3g6Zyx5Om0sd2lkdGg6cCxoZWlnaHQ6QX07aD0yKk1hdGguZmxvb3IodGhpcy5wbG90Qm9yZGVyV2lkdGgvMik7Yz1NYXRoLmNlaWwoTWF0aC5tYXgoaCxuWzNdKS8yKTtkPU1hdGguY2VpbChNYXRoLm1heChoLG5bMF0pLzIpO3RoaXMuY2xpcEJveD17eDpjLHk6ZCx3aWR0aDpNYXRoLmZsb29yKHRoaXMucGxvdFNpemVYLU1hdGgubWF4KGgsblsxXSkvMi1jKSxoZWlnaHQ6TWF0aC5tYXgoMCxNYXRoLmZsb29yKHRoaXMucGxvdFNpemVZLU1hdGgubWF4KGgsblsyXSkvMi1kKSl9O2F8fGUodGhpcy5heGVzLGZ1bmN0aW9uKGEpe2Euc2V0QXhpc1NpemUoKTthLnNldEF4aXNUcmFuc2xhdGlvbigpfSk7Yih0aGlzLCJhZnRlclNldENoYXJ0U2l6ZSIse3NraXBBeGVzOmF9KX0scmVzZXRNYXJnaW5zOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEub3B0aW9ucy5jaGFydDtlKFsibWFyZ2luIiwic3BhY2luZyJdLGZ1bmN0aW9uKGMpe3ZhciBkPWJbY10saD1CKGQpP2Q6CgkJW2QsZCxkLGRdO2UoWyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxmdW5jdGlvbihkLGspe2FbY11ba109SShiW2MrZF0saFtrXSl9KX0pO2UoTCxmdW5jdGlvbihiLGMpe2FbYl09SShhLm1hcmdpbltjXSxhLnNwYWNpbmdbY10pfSk7YS5heGlzT2Zmc2V0PVswLDAsMCwwXTthLmNsaXBPZmZzZXQ9WzAsMCwwLDBdfSxkcmF3Q2hhcnRCb3g6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMuY2hhcnQsYz10aGlzLnJlbmRlcmVyLGQ9dGhpcy5jaGFydFdpZHRoLGg9dGhpcy5jaGFydEhlaWdodCxrPXRoaXMuY2hhcnRCYWNrZ3JvdW5kLHY9dGhpcy5wbG90QmFja2dyb3VuZCxlPXRoaXMucGxvdEJvcmRlcix3LG49dGhpcy5wbG90QkdJbWFnZSxnPWEuYmFja2dyb3VuZENvbG9yLG09YS5wbG90QmFja2dyb3VuZENvbG9yLHA9YS5wbG90QmFja2dyb3VuZEltYWdlLEEsSD10aGlzLnBsb3RMZWZ0LHo9dGhpcy5wbG90VG9wLHQ9dGhpcy5wbG90V2lkdGgsZj10aGlzLnBsb3RIZWlnaHQsCgkJRD10aGlzLnBsb3RCb3gsST10aGlzLmNsaXBSZWN0LGw9dGhpcy5jbGlwQm94LHg9ImFuaW1hdGUiO2t8fCh0aGlzLmNoYXJ0QmFja2dyb3VuZD1rPWMucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWJhY2tncm91bmQiKS5hZGQoKSx4PSJhdHRyIik7dz1hLmJvcmRlcldpZHRofHwwO0E9dysoYS5zaGFkb3c/ODowKTtnPXtmaWxsOmd8fCJub25lIn07aWYod3x8a1sic3Ryb2tlLXdpZHRoIl0pZy5zdHJva2U9YS5ib3JkZXJDb2xvcixnWyJzdHJva2Utd2lkdGgiXT13O2suYXR0cihnKS5zaGFkb3coYS5zaGFkb3cpO2tbeF0oe3g6QS8yLHk6QS8yLHdpZHRoOmQtQS13JTIsaGVpZ2h0OmgtQS13JTIscjphLmJvcmRlclJhZGl1c30pO3g9ImFuaW1hdGUiO3Z8fCh4PSJhdHRyIix0aGlzLnBsb3RCYWNrZ3JvdW5kPXY9Yy5yZWN0KCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcGxvdC1iYWNrZ3JvdW5kIikuYWRkKCkpO3ZbeF0oRCk7di5hdHRyKHtmaWxsOm18fCJub25lIn0pLnNoYWRvdyhhLnBsb3RTaGFkb3cpOwoJCXAmJihuP24uYW5pbWF0ZShEKTp0aGlzLnBsb3RCR0ltYWdlPWMuaW1hZ2UocCxILHosdCxmKS5hZGQoKSk7ST9JLmFuaW1hdGUoe3dpZHRoOmwud2lkdGgsaGVpZ2h0OmwuaGVpZ2h0fSk6dGhpcy5jbGlwUmVjdD1jLmNsaXBSZWN0KGwpO3g9ImFuaW1hdGUiO2V8fCh4PSJhdHRyIix0aGlzLnBsb3RCb3JkZXI9ZT1jLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1wbG90LWJvcmRlciIpLmF0dHIoe3pJbmRleDoxfSkuYWRkKCkpO2UuYXR0cih7c3Ryb2tlOmEucGxvdEJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOmEucGxvdEJvcmRlcldpZHRofHwwLGZpbGw6Im5vbmUifSk7ZVt4XShlLmNyaXNwKHt4OkgseTp6LHdpZHRoOnQsaGVpZ2h0OmZ9LC1lLnN0cm9rZVdpZHRoKCkpKTt0aGlzLmlzRGlydHlCb3g9ITE7Yih0aGlzLCJhZnRlckRyYXdDaGFydEJveCIpfSxwcm9wRnJvbVNlcmllczpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1hLm9wdGlvbnMuY2hhcnQsYyxkPWEub3B0aW9ucy5zZXJpZXMsCgkJaCxrO2UoWyJpbnZlcnRlZCIsImFuZ3VsYXIiLCJwb2xhciJdLGZ1bmN0aW9uKHYpe2M9d1tiLnR5cGV8fGIuZGVmYXVsdFNlcmllc1R5cGVdO2s9Ylt2XXx8YyYmYy5wcm90b3R5cGVbdl07Zm9yKGg9ZCYmZC5sZW5ndGg7IWsmJmgtLTspKGM9d1tkW2hdLnR5cGVdKSYmYy5wcm90b3R5cGVbdl0mJihrPSEwKTthW3ZdPWt9KX0sbGlua1NlcmllczpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYz1hLnNlcmllcztlKGMsZnVuY3Rpb24oYSl7YS5saW5rZWRTZXJpZXMubGVuZ3RoPTB9KTtlKGMsZnVuY3Rpb24oYil7dmFyIGM9Yi5vcHRpb25zLmxpbmtlZFRvO3QoYykmJihjPSI6cHJldmlvdXMiPT09Yz9hLnNlcmllc1tiLmluZGV4LTFdOmEuZ2V0KGMpKSYmYy5saW5rZWRQYXJlbnQhPT1iJiYoYy5saW5rZWRTZXJpZXMucHVzaChiKSxiLmxpbmtlZFBhcmVudD1jLGIudmlzaWJsZT1JKGIub3B0aW9ucy52aXNpYmxlLGMub3B0aW9ucy52aXNpYmxlLGIudmlzaWJsZSkpfSk7Yih0aGlzLCJhZnRlckxpbmtTZXJpZXMiKX0sCglyZW5kZXJTZXJpZXM6ZnVuY3Rpb24oKXtlKHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGEpe2EudHJhbnNsYXRlKCk7YS5yZW5kZXIoKX0pfSxyZW5kZXJMYWJlbHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5vcHRpb25zLmxhYmVscztiLml0ZW1zJiZlKGIuaXRlbXMsZnVuY3Rpb24oYyl7dmFyIGQ9ZyhiLnN0eWxlLGMuc3R5bGUpLGg9SChkLmxlZnQpK2EucGxvdExlZnQsaz1IKGQudG9wKSthLnBsb3RUb3ArMTI7ZGVsZXRlIGQubGVmdDtkZWxldGUgZC50b3A7YS5yZW5kZXJlci50ZXh0KGMuaHRtbCxoLGspLmF0dHIoe3pJbmRleDoyfSkuY3NzKGQpLmFkZCgpfSl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuYXhlcyxiPXRoaXMucmVuZGVyZXIsYz10aGlzLm9wdGlvbnMsZCxoLGs7dGhpcy5zZXRUaXRsZSgpO3RoaXMubGVnZW5kPW5ldyBuKHRoaXMsYy5sZWdlbmQpO3RoaXMuZ2V0U3RhY2tzJiZ0aGlzLmdldFN0YWNrcygpO3RoaXMuZ2V0TWFyZ2lucyghMCk7dGhpcy5zZXRDaGFydFNpemUoKTsKCQljPXRoaXMucGxvdFdpZHRoO2Q9dGhpcy5wbG90SGVpZ2h0PU1hdGgubWF4KHRoaXMucGxvdEhlaWdodC0yMSwwKTtlKGEsZnVuY3Rpb24oYSl7YS5zZXRTY2FsZSgpfSk7dGhpcy5nZXRBeGlzTWFyZ2lucygpO2g9MS4xPGMvdGhpcy5wbG90V2lkdGg7az0xLjA1PGQvdGhpcy5wbG90SGVpZ2h0O2lmKGh8fGspZShhLGZ1bmN0aW9uKGEpeyhhLmhvcml6JiZofHwhYS5ob3JpeiYmaykmJmEuc2V0VGlja0ludGVydmFsKCEwKX0pLHRoaXMuZ2V0TWFyZ2lucygpO3RoaXMuZHJhd0NoYXJ0Qm94KCk7dGhpcy5oYXNDYXJ0ZXNpYW5TZXJpZXMmJmUoYSxmdW5jdGlvbihhKXthLnZpc2libGUmJmEucmVuZGVyKCl9KTt0aGlzLnNlcmllc0dyb3VwfHwodGhpcy5zZXJpZXNHcm91cD1iLmcoInNlcmllcy1ncm91cCIpLmF0dHIoe3pJbmRleDozfSkuYWRkKCkpO3RoaXMucmVuZGVyU2VyaWVzKCk7dGhpcy5yZW5kZXJMYWJlbHMoKTt0aGlzLmFkZENyZWRpdHMoKTt0aGlzLnNldFJlc3BvbnNpdmUmJgoJCXRoaXMuc2V0UmVzcG9uc2l2ZSgpO3RoaXMuaGFzUmVuZGVyZWQ9ITB9LGFkZENyZWRpdHM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczthPXooITAsdGhpcy5vcHRpb25zLmNyZWRpdHMsYSk7YS5lbmFibGVkJiYhdGhpcy5jcmVkaXRzJiYodGhpcy5jcmVkaXRzPXRoaXMucmVuZGVyZXIudGV4dChhLnRleHQrKHRoaXMubWFwQ3JlZGl0c3x8IiIpLDAsMCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY3JlZGl0cyIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXthLmhyZWYmJihRLmxvY2F0aW9uLmhyZWY9YS5ocmVmKX0pLmF0dHIoe2FsaWduOmEucG9zaXRpb24uYWxpZ24sekluZGV4Ojh9KS5jc3MoYS5zdHlsZSkuYWRkKCkuYWxpZ24oYS5wb3NpdGlvbiksdGhpcy5jcmVkaXRzLnVwZGF0ZT1mdW5jdGlvbihhKXtiLmNyZWRpdHM9Yi5jcmVkaXRzLmRlc3Ryb3koKTtiLmFkZENyZWRpdHMoYSl9KX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBjPXRoaXMsZD1jLmF4ZXMsaD1jLnNlcmllcyxrPWMuY29udGFpbmVyLAoJCXcsZz1rJiZrLnBhcmVudE5vZGU7YihjLCJkZXN0cm95Iik7Yy5yZW5kZXJlci5mb3JFeHBvcnQ/YS5lcmFzZSh5LGMpOnlbYy5pbmRleF09dm9pZCAwO2EuY2hhcnRDb3VudC0tO2MucmVuZGVyVG8ucmVtb3ZlQXR0cmlidXRlKCJkYXRhLWhpZ2hjaGFydHMtY2hhcnQiKTt2KGMpO2Zvcih3PWQubGVuZ3RoO3ctLTspZFt3XT1kW3ddLmRlc3Ryb3koKTt0aGlzLnNjcm9sbGVyJiZ0aGlzLnNjcm9sbGVyLmRlc3Ryb3kmJnRoaXMuc2Nyb2xsZXIuZGVzdHJveSgpO2Zvcih3PWgubGVuZ3RoO3ctLTspaFt3XT1oW3ddLmRlc3Ryb3koKTtlKCJ0aXRsZSBzdWJ0aXRsZSBjaGFydEJhY2tncm91bmQgcGxvdEJhY2tncm91bmQgcGxvdEJHSW1hZ2UgcGxvdEJvcmRlciBzZXJpZXNHcm91cCBjbGlwUmVjdCBjcmVkaXRzIHBvaW50ZXIgcmFuZ2VTZWxlY3RvciBsZWdlbmQgcmVzZXRab29tQnV0dG9uIHRvb2x0aXAgcmVuZGVyZXIiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSl7dmFyIGI9Y1thXTtiJiYKCWIuZGVzdHJveSYmKGNbYV09Yi5kZXN0cm95KCkpfSk7ayYmKGsuaW5uZXJIVE1MPSIiLHYoayksZyYmcihrKSk7RChjLGZ1bmN0aW9uKGEsYil7ZGVsZXRlIGNbYl19KX0sZmlyc3RSZW5kZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGM9YS5vcHRpb25zO2lmKCFhLmlzUmVhZHlUb1JlbmRlcnx8YS5pc1JlYWR5VG9SZW5kZXIoKSl7YS5nZXRDb250YWluZXIoKTthLnJlc2V0TWFyZ2lucygpO2Euc2V0Q2hhcnRTaXplKCk7YS5wcm9wRnJvbVNlcmllcygpO2EuZ2V0QXhlcygpO2UoYy5zZXJpZXN8fFtdLGZ1bmN0aW9uKGIpe2EuaW5pdFNlcmllcyhiKX0pO2EubGlua1NlcmllcygpO2IoYSwiYmVmb3JlUmVuZGVyIik7aCYmKGEucG9pbnRlcj1uZXcgaChhLGMpKTthLnJlbmRlcigpO2lmKCFhLnJlbmRlcmVyLmltZ0NvdW50JiZhLm9ubG9hZClhLm9ubG9hZCgpO2EudGVtcG9yYXJ5RGlzcGxheSghMCl9fSxvbmxvYWQ6ZnVuY3Rpb24oKXtlKFt0aGlzLmNhbGxiYWNrXS5jb25jYXQodGhpcy5jYWxsYmFja3MpLAoJCWZ1bmN0aW9uKGEpe2EmJnZvaWQgMCE9PXRoaXMuaW5kZXgmJmEuYXBwbHkodGhpcyxbdGhpc10pfSx0aGlzKTtiKHRoaXMsImxvYWQiKTtiKHRoaXMsInJlbmRlciIpO2QodGhpcy5pbmRleCkmJnRoaXMuc2V0UmVmbG93KHRoaXMub3B0aW9ucy5jaGFydC5yZWZsb3cpO3RoaXMub25sb2FkPW51bGx9fSl9KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5hZGRFdmVudCxGPWEuQ2hhcnQsRz1hLmVhY2g7RShGLCJhZnRlclNldENoYXJ0U2l6ZSIsZnVuY3Rpb24ocSl7dmFyIGw9dGhpcy5vcHRpb25zLmNoYXJ0LnNjcm9sbGFibGVQbG90QXJlYTsobD1sJiZsLm1pbldpZHRoKSYmIXRoaXMucmVuZGVyZXIuZm9yRXhwb3J0JiYodGhpcy5zY3JvbGxhYmxlUGl4ZWxzPWw9TWF0aC5tYXgoMCxsLXRoaXMuY2hhcnRXaWR0aCkpJiYodGhpcy5wbG90V2lkdGgrPWwsdGhpcy5jbGlwQm94LndpZHRoKz1sLHEuc2tpcEF4ZXN8fEcodGhpcy5heGVzLGZ1bmN0aW9uKGYpezE9PT1mLnNpZGU/Zi5nZXRQbG90TGluZVBhdGg9CglmdW5jdGlvbigpe3ZhciBsPXRoaXMucmlnaHQscTt0aGlzLnJpZ2h0PWwtZi5jaGFydC5zY3JvbGxhYmxlUGl4ZWxzO3E9YS5BeGlzLnByb3RvdHlwZS5nZXRQbG90TGluZVBhdGguYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMucmlnaHQ9bDtyZXR1cm4gcX06KGYuc2V0QXhpc1NpemUoKSxmLnNldEF4aXNUcmFuc2xhdGlvbigpKX0pKX0pO0UoRiwicmVuZGVyIixmdW5jdGlvbigpe3RoaXMuc2Nyb2xsYWJsZVBpeGVscz8odGhpcy5zZXRVcFNjcm9sbGluZyYmdGhpcy5zZXRVcFNjcm9sbGluZygpLHRoaXMuYXBwbHlGaXhlZCgpKTp0aGlzLmZpeGVkRGl2JiZ0aGlzLmFwcGx5Rml4ZWQoKX0pO0YucHJvdG90eXBlLnNldFVwU2Nyb2xsaW5nPWZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxpbmdDb250YWluZXI9YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6ImhpZ2hjaGFydHMtc2Nyb2xsaW5nIn0se292ZXJmbG93WDoiYXV0byIsV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6InRvdWNoIn0sCgl0aGlzLnJlbmRlclRvKTt0aGlzLmlubmVyQ29udGFpbmVyPWEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLWlubmVyLWNvbnRhaW5lciJ9LG51bGwsdGhpcy5zY3JvbGxpbmdDb250YWluZXIpO3RoaXMuaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIpO3RoaXMuc2V0VXBTY3JvbGxpbmc9bnVsbH07Ri5wcm90b3R5cGUuYXBwbHlGaXhlZD1mdW5jdGlvbigpe3ZhciBxPXRoaXMuY29udGFpbmVyLGwsZix1PSF0aGlzLmZpeGVkRGl2O3UmJih0aGlzLmZpeGVkRGl2PWEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLWZpeGVkIn0se3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIscG9pbnRlckV2ZW50czoibm9uZSIsekluZGV4OjJ9LG51bGwsITApLHRoaXMucmVuZGVyVG8uaW5zZXJ0QmVmb3JlKHRoaXMuZml4ZWREaXYsdGhpcy5yZW5kZXJUby5maXJzdENoaWxkKSx0aGlzLmZpeGVkUmVuZGVyZXI9CglsPW5ldyBhLlJlbmRlcmVyKHRoaXMuZml4ZWREaXYsMCwwKSx0aGlzLnNjcm9sbGFibGVNYXNrPWwucGF0aCgpLmF0dHIoe2ZpbGw6YS5jb2xvcih0aGlzLm9wdGlvbnMuY2hhcnQuYmFja2dyb3VuZENvbG9yfHwiI2ZmZiIpLnNldE9wYWNpdHkoLjg1KS5nZXQoKSx6SW5kZXg6LTF9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zY3JvbGxhYmxlLW1hc2siKS5hZGQoKSxhLmVhY2goW3RoaXMuaW52ZXJ0ZWQ/Ii5oaWdoY2hhcnRzLXhheGlzIjoiLmhpZ2hjaGFydHMteWF4aXMiLHRoaXMuaW52ZXJ0ZWQ/Ii5oaWdoY2hhcnRzLXhheGlzLWxhYmVscyI6Ii5oaWdoY2hhcnRzLXlheGlzLWxhYmVscyIsIi5oaWdoY2hhcnRzLWNvbnRleHRidXR0b24iLCIuaGlnaGNoYXJ0cy1jcmVkaXRzIiwiLmhpZ2hjaGFydHMtbGVnZW5kIiwiLmhpZ2hjaGFydHMtc3VidGl0bGUiLCIuaGlnaGNoYXJ0cy10aXRsZSIsIi5oaWdoY2hhcnRzLWxlZ2VuZC1jaGVja2JveCJdLGZ1bmN0aW9uKGYpe2EuZWFjaChxLnF1ZXJ5U2VsZWN0b3JBbGwoZiksCglmdW5jdGlvbihhKXsoYS5uYW1lc3BhY2VVUkk9PT1sLlNWR19OUz9sLmJveDpsLmJveC5wYXJlbnROb2RlKS5hcHBlbmRDaGlsZChhKTthLnN0eWxlLnBvaW50ZXJFdmVudHM9ImF1dG8ifSl9KSk7dGhpcy5maXhlZFJlbmRlcmVyLnNldFNpemUodGhpcy5jaGFydFdpZHRoLHRoaXMuY2hhcnRIZWlnaHQpO2Y9dGhpcy5jaGFydFdpZHRoK3RoaXMuc2Nyb2xsYWJsZVBpeGVsczthLnN0b3AodGhpcy5jb250YWluZXIpO3RoaXMuY29udGFpbmVyLnN0eWxlLndpZHRoPWYrInB4Ijt0aGlzLnJlbmRlcmVyLmJveFdyYXBwZXIuYXR0cih7d2lkdGg6ZixoZWlnaHQ6dGhpcy5jaGFydEhlaWdodCx2aWV3Qm94OlswLDAsZix0aGlzLmNoYXJ0SGVpZ2h0XS5qb2luKCIgIil9KTt0aGlzLmNoYXJ0QmFja2dyb3VuZC5hdHRyKHt3aWR0aDpmfSk7dSYmKGY9dGhpcy5vcHRpb25zLmNoYXJ0LnNjcm9sbGFibGVQbG90QXJlYSxmLnNjcm9sbFBvc2l0aW9uWCYmKHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyLnNjcm9sbExlZnQ9Cgl0aGlzLnNjcm9sbGFibGVQaXhlbHMqZi5zY3JvbGxQb3NpdGlvblgpKTt1PXRoaXMuYXhpc09mZnNldDtmPXRoaXMucGxvdFRvcC11WzBdLTE7dmFyIHU9dGhpcy5wbG90VG9wK3RoaXMucGxvdEhlaWdodCt1WzJdLEM9dGhpcy5wbG90TGVmdCt0aGlzLnBsb3RXaWR0aC10aGlzLnNjcm9sbGFibGVQaXhlbHM7dGhpcy5zY3JvbGxhYmxlTWFzay5hdHRyKHtkOnRoaXMuc2Nyb2xsYWJsZVBpeGVscz9bIk0iLDAsZiwiTCIsdGhpcy5wbG90TGVmdC0xLGYsIkwiLHRoaXMucGxvdExlZnQtMSx1LCJMIiwwLHUsIloiLCJNIixDLGYsIkwiLHRoaXMuY2hhcnRXaWR0aCxmLCJMIix0aGlzLmNoYXJ0V2lkdGgsdSwiTCIsQyx1LCJaIl06WyJNIiwwLDBdfSl9fSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFLEY9YS5lYWNoLEc9YS5leHRlbmQscT1hLmVyYXNlLGw9YS5maXJlRXZlbnQsZj1hLmZvcm1hdCx1PWEuaXNBcnJheSxDPWEuaXNOdW1iZXIscj1hLnBpY2sseT1hLnJlbW92ZUV2ZW50O2EuUG9pbnQ9CglFPWZ1bmN0aW9uKCl7fTthLlBvaW50LnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbihhLGQsZSl7dGhpcy5zZXJpZXM9YTt0aGlzLmNvbG9yPWEuY29sb3I7dGhpcy5hcHBseU9wdGlvbnMoZCxlKTthLm9wdGlvbnMuY29sb3JCeVBvaW50PyhkPWEub3B0aW9ucy5jb2xvcnN8fGEuY2hhcnQub3B0aW9ucy5jb2xvcnMsdGhpcy5jb2xvcj10aGlzLmNvbG9yfHxkW2EuY29sb3JDb3VudGVyXSxkPWQubGVuZ3RoLGU9YS5jb2xvckNvdW50ZXIsYS5jb2xvckNvdW50ZXIrKyxhLmNvbG9yQ291bnRlcj09PWQmJihhLmNvbG9yQ291bnRlcj0wKSk6ZT1hLmNvbG9ySW5kZXg7dGhpcy5jb2xvckluZGV4PXIodGhpcy5jb2xvckluZGV4LGUpO2EuY2hhcnQucG9pbnRDb3VudCsrO2wodGhpcywiYWZ0ZXJJbml0Iik7cmV0dXJuIHRoaXN9LGFwcGx5T3B0aW9uczpmdW5jdGlvbihhLGQpe3ZhciBlPXRoaXMuc2VyaWVzLGc9ZS5vcHRpb25zLnBvaW50VmFsS2V5fHxlLnBvaW50VmFsS2V5O2E9RS5wcm90b3R5cGUub3B0aW9uc1RvT2JqZWN0LmNhbGwodGhpcywKCQlhKTtHKHRoaXMsYSk7dGhpcy5vcHRpb25zPXRoaXMub3B0aW9ucz9HKHRoaXMub3B0aW9ucyxhKTphO2EuZ3JvdXAmJmRlbGV0ZSB0aGlzLmdyb3VwO2cmJih0aGlzLnk9dGhpc1tnXSk7dGhpcy5pc051bGw9cih0aGlzLmlzVmFsaWQmJiF0aGlzLmlzVmFsaWQoKSxudWxsPT09dGhpcy54fHwhQyh0aGlzLnksITApKTt0aGlzLnNlbGVjdGVkJiYodGhpcy5zdGF0ZT0ic2VsZWN0Iik7Im5hbWUiaW4gdGhpcyYmdm9pZCAwPT09ZCYmZS54QXhpcyYmZS54QXhpcy5oYXNOYW1lcyYmKHRoaXMueD1lLnhBeGlzLm5hbWVUb1godGhpcykpO3ZvaWQgMD09PXRoaXMueCYmZSYmKHRoaXMueD12b2lkIDA9PT1kP2UuYXV0b0luY3JlbWVudCh0aGlzKTpkKTtyZXR1cm4gdGhpc30sc2V0TmVzdGVkUHJvcGVydHk6ZnVuY3Rpb24ocCxkLGUpe2U9ZS5zcGxpdCgiLiIpO2EucmVkdWNlKGUsZnVuY3Rpb24oZSxtLGIsYyl7ZVttXT1jLmxlbmd0aC0xPT09Yj9kOmEuaXNPYmplY3QoZVttXSwhMCk/ZVttXToKCQl7fTtyZXR1cm4gZVttXX0scCk7cmV0dXJuIHB9LG9wdGlvbnNUb09iamVjdDpmdW5jdGlvbihwKXt2YXIgZD17fSxlPXRoaXMuc2VyaWVzLGc9ZS5vcHRpb25zLmtleXMsbT1nfHxlLnBvaW50QXJyYXlNYXB8fFsieSJdLGI9bS5sZW5ndGgsYz0wLGY9MDtpZihDKHApfHxudWxsPT09cClkW21bMF1dPXA7ZWxzZSBpZih1KHApKWZvcighZyYmcC5sZW5ndGg+YiYmKGU9dHlwZW9mIHBbMF0sInN0cmluZyI9PT1lP2QubmFtZT1wWzBdOiJudW1iZXIiPT09ZSYmKGQueD1wWzBdKSxjKyspO2Y8YjspZyYmdm9pZCAwPT09cFtjXXx8KDA8bVtmXS5pbmRleE9mKCIuIik/YS5Qb2ludC5wcm90b3R5cGUuc2V0TmVzdGVkUHJvcGVydHkoZCxwW2NdLG1bZl0pOmRbbVtmXV09cFtjXSksYysrLGYrKztlbHNlIm9iamVjdCI9PT10eXBlb2YgcCYmKGQ9cCxwLmRhdGFMYWJlbHMmJihlLl9oYXNQb2ludExhYmVscz0hMCkscC5tYXJrZXImJihlLl9oYXNQb2ludE1hcmtlcnM9ITApKTtyZXR1cm4gZH0sCglnZXRDbGFzc05hbWU6ZnVuY3Rpb24oKXtyZXR1cm4iaGlnaGNoYXJ0cy1wb2ludCIrKHRoaXMuc2VsZWN0ZWQ/IiBoaWdoY2hhcnRzLXBvaW50LXNlbGVjdCI6IiIpKyh0aGlzLm5lZ2F0aXZlPyIgaGlnaGNoYXJ0cy1uZWdhdGl2ZSI6IiIpKyh0aGlzLmlzTnVsbD8iIGhpZ2hjaGFydHMtbnVsbC1wb2ludCI6IiIpKyh2b2lkIDAhPT10aGlzLmNvbG9ySW5kZXg/IiBoaWdoY2hhcnRzLWNvbG9yLSIrdGhpcy5jb2xvckluZGV4OiIiKSsodGhpcy5vcHRpb25zLmNsYXNzTmFtZT8iICIrdGhpcy5vcHRpb25zLmNsYXNzTmFtZToiIikrKHRoaXMuem9uZSYmdGhpcy56b25lLmNsYXNzTmFtZT8iICIrdGhpcy56b25lLmNsYXNzTmFtZS5yZXBsYWNlKCJoaWdoY2hhcnRzLW5lZ2F0aXZlIiwiIik6IiIpfSxnZXRab25lOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zZXJpZXMsZD1hLnpvbmVzLGE9YS56b25lQXhpc3x8InkiLGU9MCxnO2ZvcihnPWRbZV07dGhpc1thXT49Zy52YWx1ZTspZz1kWysrZV07CgkJdGhpcy5ub25ab25lZENvbG9yfHwodGhpcy5ub25ab25lZENvbG9yPXRoaXMuY29sb3IpO3RoaXMuY29sb3I9ZyYmZy5jb2xvciYmIXRoaXMub3B0aW9ucy5jb2xvcj9nLmNvbG9yOnRoaXMubm9uWm9uZWRDb2xvcjtyZXR1cm4gZ30sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuc2VyaWVzLmNoYXJ0LGQ9YS5ob3ZlclBvaW50cyxlO2EucG9pbnRDb3VudC0tO2QmJih0aGlzLnNldFN0YXRlKCkscShkLHRoaXMpLGQubGVuZ3RofHwoYS5ob3ZlclBvaW50cz1udWxsKSk7aWYodGhpcz09PWEuaG92ZXJQb2ludCl0aGlzLm9uTW91c2VPdXQoKTtpZih0aGlzLmdyYXBoaWN8fHRoaXMuZGF0YUxhYmVsKXkodGhpcyksdGhpcy5kZXN0cm95RWxlbWVudHMoKTt0aGlzLmxlZ2VuZEl0ZW0mJmEubGVnZW5kLmRlc3Ryb3lJdGVtKHRoaXMpO2ZvcihlIGluIHRoaXMpdGhpc1tlXT1udWxsfSxkZXN0cm95RWxlbWVudHM6ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJncmFwaGljIiwiZGF0YUxhYmVsIiwKCQkiZGF0YUxhYmVsVXBwZXIiLCJjb25uZWN0b3IiLCJzaGFkb3dHcm91cCJdLGQsZT02O2UtLTspZD1hW2VdLHRoaXNbZF0mJih0aGlzW2RdPXRoaXNbZF0uZGVzdHJveSgpKX0sZ2V0TGFiZWxDb25maWc6ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLmNhdGVnb3J5LHk6dGhpcy55LGNvbG9yOnRoaXMuY29sb3IsY29sb3JJbmRleDp0aGlzLmNvbG9ySW5kZXgsa2V5OnRoaXMubmFtZXx8dGhpcy5jYXRlZ29yeSxzZXJpZXM6dGhpcy5zZXJpZXMscG9pbnQ6dGhpcyxwZXJjZW50YWdlOnRoaXMucGVyY2VudGFnZSx0b3RhbDp0aGlzLnRvdGFsfHx0aGlzLnN0YWNrVG90YWx9fSx0b29sdGlwRm9ybWF0dGVyOmZ1bmN0aW9uKGEpe3ZhciBkPXRoaXMuc2VyaWVzLGU9ZC50b29sdGlwT3B0aW9ucyxnPXIoZS52YWx1ZURlY2ltYWxzLCIiKSxtPWUudmFsdWVQcmVmaXh8fCIiLGI9ZS52YWx1ZVN1ZmZpeHx8IiI7RihkLnBvaW50QXJyYXlNYXB8fFsieSJdLGZ1bmN0aW9uKGMpe2M9Intwb2ludC4iKwoJCWM7aWYobXx8YilhPWEucmVwbGFjZShSZWdFeHAoYysifSIsImciKSxtK2MrIn0iK2IpO2E9YS5yZXBsYWNlKFJlZ0V4cChjKyJ9IiwiZyIpLGMrIjosLiIrZysiZn0iKX0pO3JldHVybiBmKGEse3BvaW50OnRoaXMsc2VyaWVzOnRoaXMuc2VyaWVzfSxkLmNoYXJ0LnRpbWUpfSxmaXJlUG9pbnRFdmVudDpmdW5jdGlvbihhLGQsZSl7dmFyIGc9dGhpcyxtPXRoaXMuc2VyaWVzLm9wdGlvbnM7KG0ucG9pbnQuZXZlbnRzW2FdfHxnLm9wdGlvbnMmJmcub3B0aW9ucy5ldmVudHMmJmcub3B0aW9ucy5ldmVudHNbYV0pJiZ0aGlzLmltcG9ydEV2ZW50cygpOyJjbGljayI9PT1hJiZtLmFsbG93UG9pbnRTZWxlY3QmJihlPWZ1bmN0aW9uKGEpe2cuc2VsZWN0JiZnLnNlbGVjdChudWxsLGEuY3RybEtleXx8YS5tZXRhS2V5fHxhLnNoaWZ0S2V5KX0pO2wodGhpcyxhLGQsZSl9LHZpc2libGU6ITB9fSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYWRkRXZlbnQsRj1hLmFuaW1PYmplY3QsRz1hLmFycmF5TWF4LAoJcT1hLmFycmF5TWluLGw9YS5jb3JyZWN0RmxvYXQsZj1hLmRlZmF1bHRPcHRpb25zLHU9YS5kZWZhdWx0UGxvdE9wdGlvbnMsQz1hLmRlZmluZWQscj1hLmVhY2gseT1hLmVyYXNlLHA9YS5leHRlbmQsZD1hLmZpcmVFdmVudCxlPWEuZ3JlcCxnPWEuaXNBcnJheSxtPWEuaXNOdW1iZXIsYj1hLmlzU3RyaW5nLGM9YS5tZXJnZSx4PWEub2JqZWN0RWFjaCxCPWEucGljayx0PWEucmVtb3ZlRXZlbnQsbj1hLnNwbGF0LEw9YS5TVkdFbGVtZW50LHo9YS5zeW5jVGltZW91dCxEPWEud2luO2EuU2VyaWVzPWEuc2VyaWVzVHlwZSgibGluZSIsbnVsbCx7bGluZVdpZHRoOjIsYWxsb3dQb2ludFNlbGVjdDohMSxzaG93Q2hlY2tib3g6ITEsYW5pbWF0aW9uOntkdXJhdGlvbjoxRTN9LGV2ZW50czp7fSxtYXJrZXI6e2xpbmVXaWR0aDowLGxpbmVDb2xvcjoiI2ZmZmZmZiIsZW5hYmxlZFRocmVzaG9sZDoyLHJhZGl1czo0LHN0YXRlczp7bm9ybWFsOnthbmltYXRpb246ITB9LGhvdmVyOnthbmltYXRpb246e2R1cmF0aW9uOjUwfSwKCQkJCWVuYWJsZWQ6ITAscmFkaXVzUGx1czoyLGxpbmVXaWR0aFBsdXM6MX0sc2VsZWN0OntmaWxsQ29sb3I6IiNjY2NjY2MiLGxpbmVDb2xvcjoiIzAwMDAwMCIsbGluZVdpZHRoOjJ9fX0scG9pbnQ6e2V2ZW50czp7fX0sZGF0YUxhYmVsczp7YWxpZ246ImNlbnRlciIsZm9ybWF0dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PT10aGlzLnk/IiI6YS5udW1iZXJGb3JtYXQodGhpcy55LC0xKX0sc3R5bGU6e2ZvbnRTaXplOiIxMXB4Iixmb250V2VpZ2h0OiJib2xkIixjb2xvcjoiY29udHJhc3QiLHRleHRPdXRsaW5lOiIxcHggY29udHJhc3QifSx2ZXJ0aWNhbEFsaWduOiJib3R0b20iLHg6MCx5OjAscGFkZGluZzo1fSxjcm9wVGhyZXNob2xkOjMwMCxwb2ludFJhbmdlOjAsc29mdFRocmVzaG9sZDohMCxzdGF0ZXM6e25vcm1hbDp7YW5pbWF0aW9uOiEwfSxob3Zlcjp7YW5pbWF0aW9uOntkdXJhdGlvbjo1MH0sbGluZVdpZHRoUGx1czoxLG1hcmtlcjp7fSxoYWxvOntzaXplOjEwLG9wYWNpdHk6LjI1fX0sCgkJc2VsZWN0Ont9fSxzdGlja3lUcmFja2luZzohMCx0dXJib1RocmVzaG9sZDoxRTMsZmluZE5lYXJlc3RQb2ludEJ5OiJ4In0se2lzQ2FydGVzaWFuOiEwLHBvaW50Q2xhc3M6YS5Qb2ludCxzb3J0ZWQ6ITAscmVxdWlyZVNvcnRpbmc6ITAsZGlyZWN0VG91Y2g6ITEsYXhpc1R5cGVzOlsieEF4aXMiLCJ5QXhpcyJdLGNvbG9yQ291bnRlcjowLHBhcmFsbGVsQXJyYXlzOlsieCIsInkiXSxjb2xsOiJzZXJpZXMiLGluaXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLGgsZT1hLnNlcmllcyxrO2MuY2hhcnQ9YTtjLm9wdGlvbnM9Yj1jLnNldE9wdGlvbnMoYik7Yy5saW5rZWRTZXJpZXM9W107Yy5iaW5kQXhlcygpO3AoYyx7bmFtZTpiLm5hbWUsc3RhdGU6IiIsdmlzaWJsZTohMSE9PWIudmlzaWJsZSxzZWxlY3RlZDohMD09PWIuc2VsZWN0ZWR9KTtoPWIuZXZlbnRzO3goaCxmdW5jdGlvbihhLGIpe0UoYyxiLGEpfSk7aWYoaCYmaC5jbGlja3x8Yi5wb2ludCYmYi5wb2ludC5ldmVudHMmJgoJCWIucG9pbnQuZXZlbnRzLmNsaWNrfHxiLmFsbG93UG9pbnRTZWxlY3QpYS5ydW5UcmFja2VyQ2xpY2s9ITA7Yy5nZXRDb2xvcigpO2MuZ2V0U3ltYm9sKCk7cihjLnBhcmFsbGVsQXJyYXlzLGZ1bmN0aW9uKGEpe2NbYSsiRGF0YSJdPVtdfSk7Yy5zZXREYXRhKGIuZGF0YSwhMSk7Yy5pc0NhcnRlc2lhbiYmKGEuaGFzQ2FydGVzaWFuU2VyaWVzPSEwKTtlLmxlbmd0aCYmKGs9ZVtlLmxlbmd0aC0xXSk7Yy5faT1CKGsmJmsuX2ksLTEpKzE7YS5vcmRlclNlcmllcyh0aGlzLmluc2VydChlKSk7ZCh0aGlzLCJhZnRlckluaXQiKX0saW5zZXJ0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub3B0aW9ucy5pbmRleCxjO2lmKG0oYikpe2ZvcihjPWEubGVuZ3RoO2MtLTspaWYoYj49QihhW2NdLm9wdGlvbnMuaW5kZXgsYVtjXS5faSkpe2Euc3BsaWNlKGMrMSwwLHRoaXMpO2JyZWFrfS0xPT09YyYmYS51bnNoaWZ0KHRoaXMpO2MrPTF9ZWxzZSBhLnB1c2godGhpcyk7cmV0dXJuIEIoYyxhLmxlbmd0aC0KCQkxKX0sYmluZEF4ZXM6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLGM9Yi5vcHRpb25zLGQ9Yi5jaGFydCx2O3IoYi5heGlzVHlwZXN8fFtdLGZ1bmN0aW9uKGgpe3IoZFtoXSxmdW5jdGlvbihhKXt2PWEub3B0aW9ucztpZihjW2hdPT09di5pbmRleHx8dm9pZCAwIT09Y1toXSYmY1toXT09PXYuaWR8fHZvaWQgMD09PWNbaF0mJjA9PT12LmluZGV4KWIuaW5zZXJ0KGEuc2VyaWVzKSxiW2hdPWEsYS5pc0RpcnR5PSEwfSk7YltoXXx8Yi5vcHRpb25hbEF4aXM9PT1ofHxhLmVycm9yKDE4LCEwKX0pfSx1cGRhdGVQYXJhbGxlbEFycmF5czpmdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VyaWVzLGQ9YXJndW1lbnRzLGg9bShiKT9mdW5jdGlvbihkKXt2YXIgaD0ieSI9PT1kJiZjLnRvWURhdGE/Yy50b1lEYXRhKGEpOmFbZF07Y1tkKyJEYXRhIl1bYl09aH06ZnVuY3Rpb24oYSl7QXJyYXkucHJvdG90eXBlW2JdLmFwcGx5KGNbYSsiRGF0YSJdLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGQsMikpfTsKCQlyKGMucGFyYWxsZWxBcnJheXMsaCl9LGF1dG9JbmNyZW1lbnQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj10aGlzLnhJbmNyZW1lbnQsYyxkPWEucG9pbnRJbnRlcnZhbFVuaXQsZT10aGlzLmNoYXJ0LnRpbWUsYj1CKGIsYS5wb2ludFN0YXJ0LDApO3RoaXMucG9pbnRJbnRlcnZhbD1jPUIodGhpcy5wb2ludEludGVydmFsLGEucG9pbnRJbnRlcnZhbCwxKTtkJiYoYT1uZXcgZS5EYXRlKGIpLCJkYXkiPT09ZD9lLnNldCgiRGF0ZSIsYSxlLmdldCgiRGF0ZSIsYSkrYyk6Im1vbnRoIj09PWQ/ZS5zZXQoIk1vbnRoIixhLGUuZ2V0KCJNb250aCIsYSkrYyk6InllYXIiPT09ZCYmZS5zZXQoIkZ1bGxZZWFyIixhLGUuZ2V0KCJGdWxsWWVhciIsYSkrYyksYz1hLmdldFRpbWUoKS1iKTt0aGlzLnhJbmNyZW1lbnQ9YitjO3JldHVybiBifSxzZXRPcHRpb25zOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2hhcnQsaD1iLm9wdGlvbnMsdj1oLnBsb3RPcHRpb25zLGU9KGIudXNlck9wdGlvbnN8fAoJCXt9KS5wbG90T3B0aW9uc3x8e30saz12W3RoaXMudHlwZV07dGhpcy51c2VyT3B0aW9ucz1hO2I9YyhrLHYuc2VyaWVzLGEpO3RoaXMudG9vbHRpcE9wdGlvbnM9YyhmLnRvb2x0aXAsZi5wbG90T3B0aW9ucy5zZXJpZXMmJmYucGxvdE9wdGlvbnMuc2VyaWVzLnRvb2x0aXAsZi5wbG90T3B0aW9uc1t0aGlzLnR5cGVdLnRvb2x0aXAsaC50b29sdGlwLnVzZXJPcHRpb25zLHYuc2VyaWVzJiZ2LnNlcmllcy50b29sdGlwLHZbdGhpcy50eXBlXS50b29sdGlwLGEudG9vbHRpcCk7dGhpcy5zdGlja3lUcmFja2luZz1CKGEuc3RpY2t5VHJhY2tpbmcsZVt0aGlzLnR5cGVdJiZlW3RoaXMudHlwZV0uc3RpY2t5VHJhY2tpbmcsZS5zZXJpZXMmJmUuc2VyaWVzLnN0aWNreVRyYWNraW5nLHRoaXMudG9vbHRpcE9wdGlvbnMuc2hhcmVkJiYhdGhpcy5ub1NoYXJlZFRvb2x0aXA/ITA6Yi5zdGlja3lUcmFja2luZyk7bnVsbD09PWsubWFya2VyJiZkZWxldGUgYi5tYXJrZXI7dGhpcy56b25lQXhpcz0KCQliLnpvbmVBeGlzO2E9dGhpcy56b25lcz0oYi56b25lc3x8W10pLnNsaWNlKCk7IWIubmVnYXRpdmVDb2xvciYmIWIubmVnYXRpdmVGaWxsQ29sb3J8fGIuem9uZXN8fGEucHVzaCh7dmFsdWU6Ylt0aGlzLnpvbmVBeGlzKyJUaHJlc2hvbGQiXXx8Yi50aHJlc2hvbGR8fDAsY2xhc3NOYW1lOiJoaWdoY2hhcnRzLW5lZ2F0aXZlIixjb2xvcjpiLm5lZ2F0aXZlQ29sb3IsZmlsbENvbG9yOmIubmVnYXRpdmVGaWxsQ29sb3J9KTthLmxlbmd0aCYmQyhhW2EubGVuZ3RoLTFdLnZhbHVlKSYmYS5wdXNoKHtjb2xvcjp0aGlzLmNvbG9yLGZpbGxDb2xvcjp0aGlzLmZpbGxDb2xvcn0pO2QodGhpcywiYWZ0ZXJTZXRPcHRpb25zIix7b3B0aW9uczpifSk7cmV0dXJuIGJ9LGdldE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfHwiU2VyaWVzICIrKHRoaXMuaW5kZXgrMSl9LGdldEN5Y2xpYzpmdW5jdGlvbihhLGIsYyl7dmFyIGQsaD10aGlzLmNoYXJ0LGs9dGhpcy51c2VyT3B0aW9ucywKCQllPWErIkluZGV4IixuPWErIkNvdW50ZXIiLGc9Yz9jLmxlbmd0aDpCKGgub3B0aW9ucy5jaGFydFthKyJDb3VudCJdLGhbYSsiQ291bnQiXSk7Ynx8KGQ9QihrW2VdLGtbIl8iK2VdKSxDKGQpfHwoaC5zZXJpZXMubGVuZ3RofHwoaFtuXT0wKSxrWyJfIitlXT1kPWhbbl0lZyxoW25dKz0xKSxjJiYoYj1jW2RdKSk7dm9pZCAwIT09ZCYmKHRoaXNbZV09ZCk7dGhpc1thXT1ifSxnZXRDb2xvcjpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jb2xvckJ5UG9pbnQ/dGhpcy5vcHRpb25zLmNvbG9yPW51bGw6dGhpcy5nZXRDeWNsaWMoImNvbG9yIix0aGlzLm9wdGlvbnMuY29sb3J8fHVbdGhpcy50eXBlXS5jb2xvcix0aGlzLmNoYXJ0Lm9wdGlvbnMuY29sb3JzKX0sZ2V0U3ltYm9sOmZ1bmN0aW9uKCl7dGhpcy5nZXRDeWNsaWMoInN5bWJvbCIsdGhpcy5vcHRpb25zLm1hcmtlci5zeW1ib2wsdGhpcy5jaGFydC5vcHRpb25zLnN5bWJvbHMpfSxkcmF3TGVnZW5kU3ltYm9sOmEuTGVnZW5kU3ltYm9sTWl4aW4uZHJhd0xpbmVNYXJrZXIsCgl1cGRhdGVEYXRhOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMub3B0aW9ucyxkPXRoaXMucG9pbnRzLGg9W10sZSxrLG4sZz10aGlzLnJlcXVpcmVTb3J0aW5nO3IoYixmdW5jdGlvbihiKXt2YXIgaztrPWEuZGVmaW5lZChiKSYmdGhpcy5wb2ludENsYXNzLnByb3RvdHlwZS5vcHRpb25zVG9PYmplY3QuY2FsbCh7c2VyaWVzOnRoaXN9LGIpLng7bShrKSYmKGs9YS5pbkFycmF5KGssdGhpcy54RGF0YSxuKSwtMT09PWt8fGRba10udG91Y2hlZD9oLnB1c2goYik6YiE9PWMuZGF0YVtrXT8oZFtrXS51cGRhdGUoYiwhMSxudWxsLCExKSxkW2tdLnRvdWNoZWQ9ITAsZyYmKG49aysxKSk6ZFtrXSYmKGRba10udG91Y2hlZD0hMCksZT0hMCl9LHRoaXMpO2lmKGUpZm9yKGI9ZC5sZW5ndGg7Yi0tOylrPWRbYl0say50b3VjaGVkfHxrLnJlbW92ZSghMSksay50b3VjaGVkPSExO2Vsc2UgaWYoYi5sZW5ndGg9PT1kLmxlbmd0aClyKGIsZnVuY3Rpb24oYSxiKXtkW2JdLnVwZGF0ZSYmYSE9PWMuZGF0YVtiXSYmCglkW2JdLnVwZGF0ZShhLCExLG51bGwsITEpfSk7ZWxzZSByZXR1cm4hMTtyKGgsZnVuY3Rpb24oYSl7dGhpcy5hZGRQb2ludChhLCExKX0sdGhpcyk7cmV0dXJuITB9LHNldERhdGE6ZnVuY3Rpb24oYyxkLGUsdil7dmFyIGg9dGhpcyxrPWgucG9pbnRzLG49ayYmay5sZW5ndGh8fDAseix0PWgub3B0aW9ucyxmPWguY2hhcnQscD1udWxsLEQ9aC54QXhpcyxsPXQudHVyYm9UaHJlc2hvbGQseD10aGlzLnhEYXRhLEg9dGhpcy55RGF0YSxJPSh6PWgucG9pbnRBcnJheU1hcCkmJnoubGVuZ3RoLHE7Yz1jfHxbXTt6PWMubGVuZ3RoO2Q9QihkLCEwKTshMSE9PXYmJnomJm4mJiFoLmNyb3BwZWQmJiFoLmhhc0dyb3VwZWREYXRhJiZoLnZpc2libGUmJiFoLmlzU2VyaWVzQm9vc3RpbmcmJihxPXRoaXMudXBkYXRlRGF0YShjKSk7aWYoIXEpe2gueEluY3JlbWVudD1udWxsO2guY29sb3JDb3VudGVyPTA7cih0aGlzLnBhcmFsbGVsQXJyYXlzLGZ1bmN0aW9uKGEpe2hbYSsiRGF0YSJdLmxlbmd0aD0KCQkwfSk7aWYobCYmej5sKXtmb3IoZT0wO251bGw9PT1wJiZlPHo7KXA9Y1tlXSxlKys7aWYobShwKSlmb3IoZT0wO2U8ejtlKyspeFtlXT10aGlzLmF1dG9JbmNyZW1lbnQoKSxIW2VdPWNbZV07ZWxzZSBpZihnKHApKWlmKEkpZm9yKGU9MDtlPHo7ZSsrKXA9Y1tlXSx4W2VdPXBbMF0sSFtlXT1wLnNsaWNlKDEsSSsxKTtlbHNlIGZvcihlPTA7ZTx6O2UrKylwPWNbZV0seFtlXT1wWzBdLEhbZV09cFsxXTtlbHNlIGEuZXJyb3IoMTIpfWVsc2UgZm9yKGU9MDtlPHo7ZSsrKXZvaWQgMCE9PWNbZV0mJihwPXtzZXJpZXM6aH0saC5wb2ludENsYXNzLnByb3RvdHlwZS5hcHBseU9wdGlvbnMuYXBwbHkocCxbY1tlXV0pLGgudXBkYXRlUGFyYWxsZWxBcnJheXMocCxlKSk7SCYmYihIWzBdKSYmYS5lcnJvcigxNCwhMCk7aC5kYXRhPVtdO2gub3B0aW9ucy5kYXRhPWgudXNlck9wdGlvbnMuZGF0YT1jO2ZvcihlPW47ZS0tOylrW2VdJiZrW2VdLmRlc3Ryb3kmJmtbZV0uZGVzdHJveSgpO0QmJihELm1pblJhbmdlPQoJCUQudXNlck1pblJhbmdlKTtoLmlzRGlydHk9Zi5pc0RpcnR5Qm94PSEwO2guaXNEaXJ0eURhdGE9ISFrO2U9ITF9InBvaW50Ij09PXQubGVnZW5kVHlwZSYmKHRoaXMucHJvY2Vzc0RhdGEoKSx0aGlzLmdlbmVyYXRlUG9pbnRzKCkpO2QmJmYucmVkcmF3KGUpfSxwcm9jZXNzRGF0YTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLnhEYXRhLGQ9dGhpcy55RGF0YSxoPWMubGVuZ3RoLGU7ZT0wO3ZhciBrLG4sZz10aGlzLnhBeGlzLG0sej10aGlzLm9wdGlvbnM7bT16LmNyb3BUaHJlc2hvbGQ7dmFyIHA9dGhpcy5nZXRFeHRyZW1lc0Zyb21BbGx8fHouZ2V0RXh0cmVtZXNGcm9tQWxsLHQ9dGhpcy5pc0NhcnRlc2lhbix6PWcmJmcudmFsMmxpbixmPWcmJmcuaXNMb2csRD10aGlzLnJlcXVpcmVTb3J0aW5nLGwseDtpZih0JiYhdGhpcy5pc0RpcnR5JiYhZy5pc0RpcnR5JiYhdGhpcy55QXhpcy5pc0RpcnR5JiYhYilyZXR1cm4hMTtnJiYoYj1nLmdldEV4dHJlbWVzKCksbD1iLm1pbix4PWIubWF4KTsKCQl0JiZ0aGlzLnNvcnRlZCYmIXAmJighbXx8aD5tfHx0aGlzLmZvcmNlQ3JvcCkmJihjW2gtMV08bHx8Y1swXT54PyhjPVtdLGQ9W10pOnRoaXMueURhdGEmJihjWzBdPGx8fGNbaC0xXT54KSYmKGU9dGhpcy5jcm9wRGF0YSh0aGlzLnhEYXRhLHRoaXMueURhdGEsbCx4KSxjPWUueERhdGEsZD1lLnlEYXRhLGU9ZS5zdGFydCxrPSEwKSk7Zm9yKG09Yy5sZW5ndGh8fDE7LS1tOyloPWY/eihjW21dKS16KGNbbS0xXSk6Y1ttXS1jW20tMV0sMDxoJiYodm9pZCAwPT09bnx8aDxuKT9uPWg6MD5oJiZEJiYoYS5lcnJvcigxNSksRD0hMSk7dGhpcy5jcm9wcGVkPWs7dGhpcy5jcm9wU3RhcnQ9ZTt0aGlzLnByb2Nlc3NlZFhEYXRhPWM7dGhpcy5wcm9jZXNzZWRZRGF0YT1kO3RoaXMuY2xvc2VzdFBvaW50UmFuZ2U9bn0sY3JvcERhdGE6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgaz1hLmxlbmd0aCxoPTAsdj1rLG47ZT1CKGUsdGhpcy5jcm9wU2hvdWxkZXIsMSk7Zm9yKG49MDtuPGs7bisrKWlmKGFbbl0+PQoJCWMpe2g9TWF0aC5tYXgoMCxuLWUpO2JyZWFrfWZvcihjPW47YzxrO2MrKylpZihhW2NdPmQpe3Y9YytlO2JyZWFrfXJldHVybnt4RGF0YTphLnNsaWNlKGgsdikseURhdGE6Yi5zbGljZShoLHYpLHN0YXJ0OmgsZW5kOnZ9fSxnZW5lcmF0ZVBvaW50czpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucyxiPWEuZGF0YSxjPXRoaXMuZGF0YSxkLGU9dGhpcy5wcm9jZXNzZWRYRGF0YSxrPXRoaXMucHJvY2Vzc2VkWURhdGEsZz10aGlzLnBvaW50Q2xhc3MsbT1lLmxlbmd0aCx6PXRoaXMuY3JvcFN0YXJ0fHwwLHQsZj10aGlzLmhhc0dyb3VwZWREYXRhLGE9YS5rZXlzLEQsbD1bXSx4O2N8fGZ8fChjPVtdLGMubGVuZ3RoPWIubGVuZ3RoLGM9dGhpcy5kYXRhPWMpO2EmJmYmJih0aGlzLm9wdGlvbnMua2V5cz0hMSk7Zm9yKHg9MDt4PG07eCsrKXQ9eit4LGY/KEQ9KG5ldyBnKS5pbml0KHRoaXMsW2VbeF1dLmNvbmNhdChuKGtbeF0pKSksRC5kYXRhR3JvdXA9dGhpcy5ncm91cE1hcFt4XSwKCUQuZGF0YUdyb3VwLm9wdGlvbnMmJihELm9wdGlvbnM9RC5kYXRhR3JvdXAub3B0aW9ucyxwKEQsRC5kYXRhR3JvdXAub3B0aW9ucykpKTooRD1jW3RdKXx8dm9pZCAwPT09Ylt0XXx8KGNbdF09RD0obmV3IGcpLmluaXQodGhpcyxiW3RdLGVbeF0pKSxEJiYoRC5pbmRleD10LGxbeF09RCk7dGhpcy5vcHRpb25zLmtleXM9YTtpZihjJiYobSE9PShkPWMubGVuZ3RoKXx8ZikpZm9yKHg9MDt4PGQ7eCsrKXghPT16fHxmfHwoeCs9bSksY1t4XSYmKGNbeF0uZGVzdHJveUVsZW1lbnRzKCksY1t4XS5wbG90WD12b2lkIDApO3RoaXMuZGF0YT1jO3RoaXMucG9pbnRzPWx9LGdldEV4dHJlbWVzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMueUF4aXMsYz10aGlzLnByb2Nlc3NlZFhEYXRhLGQsaD1bXSxrPTA7ZD10aGlzLnhBeGlzLmdldEV4dHJlbWVzKCk7dmFyIGU9ZC5taW4sbj1kLm1heCx6LHQsZj10aGlzLnJlcXVpcmVTb3J0aW5nPzE6MCxwLEQ7YT1hfHx0aGlzLnN0YWNrZWRZRGF0YXx8dGhpcy5wcm9jZXNzZWRZRGF0YXx8CgkJW107ZD1hLmxlbmd0aDtmb3IoRD0wO0Q8ZDtEKyspaWYodD1jW0RdLHA9YVtEXSx6PShtKHAsITApfHxnKHApKSYmKCFiLnBvc2l0aXZlVmFsdWVzT25seXx8cC5sZW5ndGh8fDA8cCksdD10aGlzLmdldEV4dHJlbWVzRnJvbUFsbHx8dGhpcy5vcHRpb25zLmdldEV4dHJlbWVzRnJvbUFsbHx8dGhpcy5jcm9wcGVkfHwoY1tEK2ZdfHx0KT49ZSYmKGNbRC1mXXx8dCk8PW4seiYmdClpZih6PXAubGVuZ3RoKWZvcig7ei0tOykibnVtYmVyIj09PXR5cGVvZiBwW3pdJiYoaFtrKytdPXBbel0pO2Vsc2UgaFtrKytdPXA7dGhpcy5kYXRhTWluPXEoaCk7dGhpcy5kYXRhTWF4PUcoaCl9LHRyYW5zbGF0ZTpmdW5jdGlvbigpe3RoaXMucHJvY2Vzc2VkWERhdGF8fHRoaXMucHJvY2Vzc0RhdGEoKTt0aGlzLmdlbmVyYXRlUG9pbnRzKCk7dmFyIGE9dGhpcy5vcHRpb25zLGI9YS5zdGFja2luZyxjPXRoaXMueEF4aXMsZT1jLmNhdGVnb3JpZXMsbj10aGlzLnlBeGlzLGs9dGhpcy5wb2ludHMsZz1rLmxlbmd0aCwKCQl6PSEhdGhpcy5tb2RpZnlWYWx1ZSxwPWEucG9pbnRQbGFjZW1lbnQsdD0iYmV0d2VlbiI9PT1wfHxtKHApLGY9YS50aHJlc2hvbGQsRD1hLnN0YXJ0RnJvbVRocmVzaG9sZD9mOjAseCxyLHEsdSxMPU51bWJlci5NQVhfVkFMVUU7ImJldHdlZW4iPT09cCYmKHA9LjUpO20ocCkmJihwKj1CKGEucG9pbnRSYW5nZXx8Yy5wb2ludFJhbmdlKSk7Zm9yKGE9MDthPGc7YSsrKXt2YXIgeT1rW2FdLEY9eS54LEU9eS55O3I9eS5sb3c7dmFyIEc9YiYmbi5zdGFja3NbKHRoaXMubmVnU3RhY2tzJiZFPChEPzA6Zik/Ii0iOiIiKSt0aGlzLnN0YWNrS2V5XSxKO24ucG9zaXRpdmVWYWx1ZXNPbmx5JiZudWxsIT09RSYmMD49RSYmKHkuaXNOdWxsPSEwKTt5LnBsb3RYPXg9bChNYXRoLm1pbihNYXRoLm1heCgtMUU1LGMudHJhbnNsYXRlKEYsMCwwLDAsMSxwLCJmbGFncyI9PT10aGlzLnR5cGUpKSwxRTUpKTtiJiZ0aGlzLnZpc2libGUmJiF5LmlzTnVsbCYmRyYmR1tGXSYmKHU9dGhpcy5nZXRTdGFja0luZGljYXRvcih1LAoJCUYsdGhpcy5pbmRleCksSj1HW0ZdLEU9Si5wb2ludHNbdS5rZXldLHI9RVswXSxFPUVbMV0scj09PUQmJnUua2V5PT09R1tGXS5iYXNlJiYocj1CKG0oZikmJmYsbi5taW4pKSxuLnBvc2l0aXZlVmFsdWVzT25seSYmMD49ciYmKHI9bnVsbCkseS50b3RhbD15LnN0YWNrVG90YWw9Si50b3RhbCx5LnBlcmNlbnRhZ2U9Si50b3RhbCYmeS55L0oudG90YWwqMTAwLHkuc3RhY2tZPUUsSi5zZXRPZmZzZXQodGhpcy5wb2ludFhPZmZzZXR8fDAsdGhpcy5iYXJXfHwwKSk7eS55Qm90dG9tPUMocik/TWF0aC5taW4oTWF0aC5tYXgoLTFFNSxuLnRyYW5zbGF0ZShyLDAsMSwwLDEpKSwxRTUpOm51bGw7eiYmKEU9dGhpcy5tb2RpZnlWYWx1ZShFLHkpKTt5LnBsb3RZPXI9Im51bWJlciI9PT10eXBlb2YgRSYmSW5maW5pdHkhPT1FP01hdGgubWluKE1hdGgubWF4KC0xRTUsbi50cmFuc2xhdGUoRSwwLDEsMCwxKSksMUU1KTp2b2lkIDA7eS5pc0luc2lkZT12b2lkIDAhPT1yJiYwPD1yJiZyPD1uLmxlbiYmCgkJMDw9eCYmeDw9Yy5sZW47eS5jbGllbnRYPXQ/bChjLnRyYW5zbGF0ZShGLDAsMCwwLDEscCkpOng7eS5uZWdhdGl2ZT15Lnk8KGZ8fDApO3kuY2F0ZWdvcnk9ZSYmdm9pZCAwIT09ZVt5LnhdP2VbeS54XTp5Lng7eS5pc051bGx8fCh2b2lkIDAhPT1xJiYoTD1NYXRoLm1pbihMLE1hdGguYWJzKHgtcSkpKSxxPXgpO3kuem9uZT10aGlzLnpvbmVzLmxlbmd0aCYmeS5nZXRab25lKCl9dGhpcy5jbG9zZXN0UG9pbnRSYW5nZVB4PUw7ZCh0aGlzLCJhZnRlclRyYW5zbGF0ZSIpfSxnZXRWYWxpZFBvaW50czpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2hhcnQ7cmV0dXJuIGUoYXx8dGhpcy5wb2ludHN8fFtdLGZ1bmN0aW9uKGEpe3JldHVybiBiJiYhYy5pc0luc2lkZVBsb3QoYS5wbG90WCxhLnBsb3RZLGMuaW52ZXJ0ZWQpPyExOiFhLmlzTnVsbH0pfSxzZXRDbGlwOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2hhcnQsYz10aGlzLm9wdGlvbnMsZD1iLnJlbmRlcmVyLGg9Yi5pbnZlcnRlZCwKCQlrPXRoaXMuY2xpcEJveCxlPWt8fGIuY2xpcEJveCxuPXRoaXMuc2hhcmVkQ2xpcEtleXx8WyJfc2hhcmVkQ2xpcCIsYSYmYS5kdXJhdGlvbixhJiZhLmVhc2luZyxlLmhlaWdodCxjLnhBeGlzLGMueUF4aXNdLmpvaW4oKSxnPWJbbl0sbT1iW24rIm0iXTtnfHwoYSYmKGUud2lkdGg9MCxoJiYoZS54PWIucGxvdFNpemVYKSxiW24rIm0iXT1tPWQuY2xpcFJlY3QoaD9iLnBsb3RTaXplWCs5OTotOTksaD8tYi5wbG90TGVmdDotYi5wbG90VG9wLDk5LGg/Yi5jaGFydFdpZHRoOmIuY2hhcnRIZWlnaHQpKSxiW25dPWc9ZC5jbGlwUmVjdChlKSxnLmNvdW50PXtsZW5ndGg6MH0pO2EmJiFnLmNvdW50W3RoaXMuaW5kZXhdJiYoZy5jb3VudFt0aGlzLmluZGV4XT0hMCxnLmNvdW50Lmxlbmd0aCs9MSk7ITEhPT1jLmNsaXAmJih0aGlzLmdyb3VwLmNsaXAoYXx8az9nOmIuY2xpcFJlY3QpLHRoaXMubWFya2VyR3JvdXAuY2xpcChtKSx0aGlzLnNoYXJlZENsaXBLZXk9bik7YXx8KGcuY291bnRbdGhpcy5pbmRleF0mJgoJKGRlbGV0ZSBnLmNvdW50W3RoaXMuaW5kZXhdLC0tZy5jb3VudC5sZW5ndGgpLDA9PT1nLmNvdW50Lmxlbmd0aCYmbiYmYltuXSYmKGt8fChiW25dPWJbbl0uZGVzdHJveSgpKSxiW24rIm0iXSYmKGJbbisibSJdPWJbbisibSJdLmRlc3Ryb3koKSkpKX0sYW5pbWF0ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0LGM9Rih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKSxkO2E/dGhpcy5zZXRDbGlwKGMpOihkPXRoaXMuc2hhcmVkQ2xpcEtleSwoYT1iW2RdKSYmYS5hbmltYXRlKHt3aWR0aDpiLnBsb3RTaXplWCx4OjB9LGMpLGJbZCsibSJdJiZiW2QrIm0iXS5hbmltYXRlKHt3aWR0aDpiLnBsb3RTaXplWCs5OSx4OjB9LGMpLHRoaXMuYW5pbWF0ZT1udWxsKX0sYWZ0ZXJBbmltYXRlOmZ1bmN0aW9uKCl7dGhpcy5zZXRDbGlwKCk7ZCh0aGlzLCJhZnRlckFuaW1hdGUiKTt0aGlzLmZpbmlzaGVkQW5pbWF0aW5nPSEwfSxkcmF3UG9pbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5wb2ludHMsCgkJYj10aGlzLmNoYXJ0LGMsZCxlLGssbj10aGlzLm9wdGlvbnMubWFya2VyLGcsbSx6LHA9dGhpc1t0aGlzLnNwZWNpYWxHcm91cF18fHRoaXMubWFya2VyR3JvdXAsdCxmPUIobi5lbmFibGVkLHRoaXMueEF4aXMuaXNSYWRpYWw/ITA6bnVsbCx0aGlzLmNsb3Nlc3RQb2ludFJhbmdlUHg+PW4uZW5hYmxlZFRocmVzaG9sZCpuLnJhZGl1cyk7aWYoITEhPT1uLmVuYWJsZWR8fHRoaXMuX2hhc1BvaW50TWFya2Vycylmb3IoYz0wO2M8YS5sZW5ndGg7YysrKWQ9YVtjXSxrPWQuZ3JhcGhpYyxnPWQubWFya2VyfHx7fSxtPSEhZC5tYXJrZXIsZT1mJiZ2b2lkIDA9PT1nLmVuYWJsZWR8fGcuZW5hYmxlZCx6PWQuaXNJbnNpZGUsZSYmIWQuaXNOdWxsPyhlPUIoZy5zeW1ib2wsdGhpcy5zeW1ib2wpLHQ9dGhpcy5tYXJrZXJBdHRyaWJzKGQsZC5zZWxlY3RlZCYmInNlbGVjdCIpLGs/a1t6PyJzaG93IjoiaGlkZSJdKCEwKS5hbmltYXRlKHQpOnomJigwPHQud2lkdGh8fGQuaGFzSW1hZ2UpJiYoZC5ncmFwaGljPQoJCWs9Yi5yZW5kZXJlci5zeW1ib2woZSx0LngsdC55LHQud2lkdGgsdC5oZWlnaHQsbT9nOm4pLmFkZChwKSksayYmay5hdHRyKHRoaXMucG9pbnRBdHRyaWJzKGQsZC5zZWxlY3RlZCYmInNlbGVjdCIpKSxrJiZrLmFkZENsYXNzKGQuZ2V0Q2xhc3NOYW1lKCksITApKTprJiYoZC5ncmFwaGljPWsuZGVzdHJveSgpKX0sbWFya2VyQXR0cmliczpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMub3B0aW9ucy5tYXJrZXIsZD1hLm1hcmtlcnx8e30saD1kLnN5bWJvbHx8Yy5zeW1ib2wsaz1CKGQucmFkaXVzLGMucmFkaXVzKTtiJiYoYz1jLnN0YXRlc1tiXSxiPWQuc3RhdGVzJiZkLnN0YXRlc1tiXSxrPUIoYiYmYi5yYWRpdXMsYyYmYy5yYWRpdXMsaysoYyYmYy5yYWRpdXNQbHVzfHwwKSkpO2EuaGFzSW1hZ2U9aCYmMD09PWguaW5kZXhPZigidXJsIik7YS5oYXNJbWFnZSYmKGs9MCk7YT17eDpNYXRoLmZsb29yKGEucGxvdFgpLWsseTphLnBsb3RZLWt9O2smJihhLndpZHRoPWEuaGVpZ2h0PQoJCTIqayk7cmV0dXJuIGF9LHBvaW50QXR0cmliczpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMub3B0aW9ucy5tYXJrZXIsZD1hJiZhLm9wdGlvbnMsaD1kJiZkLm1hcmtlcnx8e30saz10aGlzLmNvbG9yLGU9ZCYmZC5jb2xvcixuPWEmJmEuY29sb3IsZD1CKGgubGluZVdpZHRoLGMubGluZVdpZHRoKTthPWEmJmEuem9uZSYmYS56b25lLmNvbG9yO2s9ZXx8YXx8bnx8azthPWguZmlsbENvbG9yfHxjLmZpbGxDb2xvcnx8aztrPWgubGluZUNvbG9yfHxjLmxpbmVDb2xvcnx8aztiJiYoYz1jLnN0YXRlc1tiXSxiPWguc3RhdGVzJiZoLnN0YXRlc1tiXXx8e30sZD1CKGIubGluZVdpZHRoLGMubGluZVdpZHRoLGQrQihiLmxpbmVXaWR0aFBsdXMsYy5saW5lV2lkdGhQbHVzLDApKSxhPWIuZmlsbENvbG9yfHxjLmZpbGxDb2xvcnx8YSxrPWIubGluZUNvbG9yfHxjLmxpbmVDb2xvcnx8ayk7cmV0dXJue3N0cm9rZTprLCJzdHJva2Utd2lkdGgiOmQsZmlsbDphfX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBiPQoJCXRoaXMsYz1iLmNoYXJ0LGU9L0FwcGxlV2ViS2l0XC81MzMvLnRlc3QoRC5uYXZpZ2F0b3IudXNlckFnZW50KSx2LG4saz1iLmRhdGF8fFtdLGcsbTtkKGIsImRlc3Ryb3kiKTt0KGIpO3IoYi5heGlzVHlwZXN8fFtdLGZ1bmN0aW9uKGEpeyhtPWJbYV0pJiZtLnNlcmllcyYmKHkobS5zZXJpZXMsYiksbS5pc0RpcnR5PW0uZm9yY2VSZWRyYXc9ITApfSk7Yi5sZWdlbmRJdGVtJiZiLmNoYXJ0LmxlZ2VuZC5kZXN0cm95SXRlbShiKTtmb3Iobj1rLmxlbmd0aDtuLS07KShnPWtbbl0pJiZnLmRlc3Ryb3kmJmcuZGVzdHJveSgpO2IucG9pbnRzPW51bGw7YS5jbGVhclRpbWVvdXQoYi5hbmltYXRpb25UaW1lb3V0KTt4KGIsZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgTCYmIWEuc3Vydml2ZSYmKHY9ZSYmImdyb3VwIj09PWI/ImhpZGUiOiJkZXN0cm95IixhW3ZdKCkpfSk7Yy5ob3ZlclNlcmllcz09PWImJihjLmhvdmVyU2VyaWVzPW51bGwpO3koYy5zZXJpZXMsYik7Yy5vcmRlclNlcmllcygpOwoJCXgoYixmdW5jdGlvbihhLGMpe2RlbGV0ZSBiW2NdfSl9LGdldEdyYXBoUGF0aDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlPWQub3B0aW9ucyxrPWUuc3RlcCxoLG49W10sZz1bXSxtO2E9YXx8ZC5wb2ludHM7KGg9YS5yZXZlcnNlZCkmJmEucmV2ZXJzZSgpOyhrPXtyaWdodDoxLGNlbnRlcjoyfVtrXXx8ayYmMykmJmgmJihrPTQtayk7IWUuY29ubmVjdE51bGxzfHxifHxjfHwoYT10aGlzLmdldFZhbGlkUG9pbnRzKGEpKTtyKGEsZnVuY3Rpb24oaCx2KXt2YXIgdz1oLnBsb3RYLHo9aC5wbG90WSxwPWFbdi0xXTsoaC5sZWZ0Q2xpZmZ8fHAmJnAucmlnaHRDbGlmZikmJiFjJiYobT0hMCk7aC5pc051bGwmJiFDKGIpJiYwPHY/bT0hZS5jb25uZWN0TnVsbHM6aC5pc051bGwmJiFiP209ITA6KDA9PT12fHxtP3Y9WyJNIixoLnBsb3RYLGgucGxvdFldOmQuZ2V0UG9pbnRTcGxpbmU/dj1kLmdldFBvaW50U3BsaW5lKGEsaCx2KTprPyh2PTE9PT1rP1siTCIscC5wbG90WCx6XToyPT09CglrP1siTCIsKHAucGxvdFgrdykvMixwLnBsb3RZLCJMIiwocC5wbG90WCt3KS8yLHpdOlsiTCIsdyxwLnBsb3RZXSx2LnB1c2goIkwiLHcseikpOnY9WyJMIix3LHpdLGcucHVzaChoLngpLGsmJihnLnB1c2goaC54KSwyPT09ayYmZy5wdXNoKGgueCkpLG4ucHVzaC5hcHBseShuLHYpLG09ITEpfSk7bi54TWFwPWc7cmV0dXJuIGQuZ3JhcGhQYXRoPW59LGRyYXdHcmFwaDpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj10aGlzLm9wdGlvbnMsYz0odGhpcy5nYXBwZWRQYXRofHx0aGlzLmdldEdyYXBoUGF0aCkuY2FsbCh0aGlzKSxkPVtbImdyYXBoIiwiaGlnaGNoYXJ0cy1ncmFwaCIsYi5saW5lQ29sb3J8fHRoaXMuY29sb3IsYi5kYXNoU3R5bGVdXSxkPWEuZ2V0Wm9uZXNHcmFwaHMoZCk7cihkLGZ1bmN0aW9uKGQsayl7dmFyIGU9ZFswXSxoPWFbZV07aD8oaC5lbmRYPWEucHJldmVudEdyYXBoQW5pbWF0aW9uP251bGw6Yy54TWFwLGguYW5pbWF0ZSh7ZDpjfSkpOmMubGVuZ3RoJiYoYVtlXT0KCQlhLmNoYXJ0LnJlbmRlcmVyLnBhdGgoYykuYWRkQ2xhc3MoZFsxXSkuYXR0cih7ekluZGV4OjF9KS5hZGQoYS5ncm91cCksaD17c3Ryb2tlOmRbMl0sInN0cm9rZS13aWR0aCI6Yi5saW5lV2lkdGgsZmlsbDphLmZpbGxHcmFwaCYmYS5jb2xvcnx8Im5vbmUifSxkWzNdP2guZGFzaHN0eWxlPWRbM106InNxdWFyZSIhPT1iLmxpbmVjYXAmJihoWyJzdHJva2UtbGluZWNhcCJdPWhbInN0cm9rZS1saW5lam9pbiJdPSJyb3VuZCIpLGg9YVtlXS5hdHRyKGgpLnNoYWRvdygyPmsmJmIuc2hhZG93KSk7aCYmKGguc3RhcnRYPWMueE1hcCxoLmlzQXJlYT1jLmlzQXJlYSl9KX0sZ2V0Wm9uZXNHcmFwaHM6ZnVuY3Rpb24oYSl7cih0aGlzLnpvbmVzLGZ1bmN0aW9uKGIsYyl7YS5wdXNoKFsiem9uZS1ncmFwaC0iK2MsImhpZ2hjaGFydHMtZ3JhcGggaGlnaGNoYXJ0cy16b25lLWdyYXBoLSIrYysiICIrKGIuY2xhc3NOYW1lfHwiIiksYi5jb2xvcnx8dGhpcy5jb2xvcixiLmRhc2hTdHlsZXx8dGhpcy5vcHRpb25zLmRhc2hTdHlsZV0pfSwKCQl0aGlzKTtyZXR1cm4gYX0sYXBwbHlab25lczpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj10aGlzLmNoYXJ0LGM9Yi5yZW5kZXJlcixkPXRoaXMuem9uZXMsZSxrLG49dGhpcy5jbGlwc3x8W10sZyxtPXRoaXMuZ3JhcGgsej10aGlzLmFyZWEscD1NYXRoLm1heChiLmNoYXJ0V2lkdGgsYi5jaGFydEhlaWdodCksdD10aGlzWyh0aGlzLnpvbmVBeGlzfHwieSIpKyJBeGlzIl0sZixELGw9Yi5pbnZlcnRlZCx4LHEsdSxMLHk9ITE7ZC5sZW5ndGgmJihtfHx6KSYmdCYmdm9pZCAwIT09dC5taW4mJihEPXQucmV2ZXJzZWQseD10Lmhvcml6LG0mJiF0aGlzLnNob3dMaW5lJiZtLmhpZGUoKSx6JiZ6LmhpZGUoKSxmPXQuZ2V0RXh0cmVtZXMoKSxyKGQsZnVuY3Rpb24oZCxoKXtlPUQ/eD9iLnBsb3RXaWR0aDowOng/MDp0LnRvUGl4ZWxzKGYubWluKTtlPU1hdGgubWluKE1hdGgubWF4KEIoayxlKSwwKSxwKTtrPU1hdGgubWluKE1hdGgubWF4KE1hdGgucm91bmQodC50b1BpeGVscyhCKGQudmFsdWUsCgkJZi5tYXgpLCEwKSksMCkscCk7eSYmKGU9az10LnRvUGl4ZWxzKGYubWF4KSk7cT1NYXRoLmFicyhlLWspO3U9TWF0aC5taW4oZSxrKTtMPU1hdGgubWF4KGUsayk7dC5pc1hBeGlzPyhnPXt4Omw/TDp1LHk6MCx3aWR0aDpxLGhlaWdodDpwfSx4fHwoZy54PWIucGxvdEhlaWdodC1nLngpKTooZz17eDowLHk6bD9MOnUsd2lkdGg6cCxoZWlnaHQ6cX0seCYmKGcueT1iLnBsb3RXaWR0aC1nLnkpKTtsJiZjLmlzVk1MJiYoZz10LmlzWEF4aXM/e3g6MCx5OkQ/dTpMLGhlaWdodDpnLndpZHRoLHdpZHRoOmIuY2hhcnRXaWR0aH06e3g6Zy55LWIucGxvdExlZnQtYi5zcGFjaW5nQm94LngseTowLHdpZHRoOmcuaGVpZ2h0LGhlaWdodDpiLmNoYXJ0SGVpZ2h0fSk7bltoXT9uW2hdLmFuaW1hdGUoZyk6KG5baF09Yy5jbGlwUmVjdChnKSxtJiZhWyJ6b25lLWdyYXBoLSIraF0uY2xpcChuW2hdKSx6JiZhWyJ6b25lLWFyZWEtIitoXS5jbGlwKG5baF0pKTt5PWQudmFsdWU+Zi5tYXg7YS5yZXNldFpvbmVzJiYKCTA9PT1rJiYoaz12b2lkIDApfSksdGhpcy5jbGlwcz1uKX0saW52ZXJ0R3JvdXBzOmZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtyKFsiZ3JvdXAiLCJtYXJrZXJHcm91cCJdLGZ1bmN0aW9uKGIpe2NbYl0mJihkLnJlbmRlcmVyLmlzVk1MJiZjW2JdLmF0dHIoe3dpZHRoOmMueUF4aXMubGVuLGhlaWdodDpjLnhBeGlzLmxlbn0pLGNbYl0ud2lkdGg9Yy55QXhpcy5sZW4sY1tiXS5oZWlnaHQ9Yy54QXhpcy5sZW4sY1tiXS5pbnZlcnQoYSkpfSl9dmFyIGM9dGhpcyxkPWMuY2hhcnQsZTtjLnhBeGlzJiYoZT1FKGQsInJlc2l6ZSIsYiksRShjLCJkZXN0cm95IixlKSxiKGEpLGMuaW52ZXJ0R3JvdXBzPWIpfSxwbG90R3JvdXA6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgaz10aGlzW2FdLGg9IWs7aCYmKHRoaXNbYV09az10aGlzLmNoYXJ0LnJlbmRlcmVyLmcoKS5hdHRyKHt6SW5kZXg6ZHx8LjF9KS5hZGQoZSkpO2suYWRkQ2xhc3MoImhpZ2hjaGFydHMtIitiKyIgaGlnaGNoYXJ0cy1zZXJpZXMtIisKCQl0aGlzLmluZGV4KyIgaGlnaGNoYXJ0cy0iK3RoaXMudHlwZSsiLXNlcmllcyAiKyhDKHRoaXMuY29sb3JJbmRleCk/ImhpZ2hjaGFydHMtY29sb3ItIit0aGlzLmNvbG9ySW5kZXgrIiAiOiIiKSsodGhpcy5vcHRpb25zLmNsYXNzTmFtZXx8IiIpKyhrLmhhc0NsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKT8iIGhpZ2hjaGFydHMtdHJhY2tlciI6IiIpLCEwKTtrLmF0dHIoe3Zpc2liaWxpdHk6Y30pW2g/ImF0dHIiOiJhbmltYXRlIl0odGhpcy5nZXRQbG90Qm94KCkpO3JldHVybiBrfSxnZXRQbG90Qm94OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydCxiPXRoaXMueEF4aXMsYz10aGlzLnlBeGlzO2EuaW52ZXJ0ZWQmJihiPWMsYz10aGlzLnhBeGlzKTtyZXR1cm57dHJhbnNsYXRlWDpiP2IubGVmdDphLnBsb3RMZWZ0LHRyYW5zbGF0ZVk6Yz9jLnRvcDphLnBsb3RUb3Asc2NhbGVYOjEsc2NhbGVZOjF9fSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5jaGFydCxjLGU9CgkJYS5vcHRpb25zLG49ISFhLmFuaW1hdGUmJmIucmVuZGVyZXIuaXNTVkcmJkYoZS5hbmltYXRpb24pLmR1cmF0aW9uLGs9YS52aXNpYmxlPyJpbmhlcml0IjoiaGlkZGVuIixnPWUuekluZGV4LG09YS5oYXNSZW5kZXJlZCxwPWIuc2VyaWVzR3JvdXAsdD1iLmludmVydGVkO2M9YS5wbG90R3JvdXAoImdyb3VwIiwic2VyaWVzIixrLGcscCk7YS5tYXJrZXJHcm91cD1hLnBsb3RHcm91cCgibWFya2VyR3JvdXAiLCJtYXJrZXJzIixrLGcscCk7biYmYS5hbmltYXRlKCEwKTtjLmludmVydGVkPWEuaXNDYXJ0ZXNpYW4/dDohMTthLmRyYXdHcmFwaCYmKGEuZHJhd0dyYXBoKCksYS5hcHBseVpvbmVzKCkpO2EuZHJhd0RhdGFMYWJlbHMmJmEuZHJhd0RhdGFMYWJlbHMoKTthLnZpc2libGUmJmEuZHJhd1BvaW50cygpO2EuZHJhd1RyYWNrZXImJiExIT09YS5vcHRpb25zLmVuYWJsZU1vdXNlVHJhY2tpbmcmJmEuZHJhd1RyYWNrZXIoKTthLmludmVydEdyb3Vwcyh0KTshMT09PWUuY2xpcHx8CglhLnNoYXJlZENsaXBLZXl8fG18fGMuY2xpcChiLmNsaXBSZWN0KTtuJiZhLmFuaW1hdGUoKTttfHwoYS5hbmltYXRpb25UaW1lb3V0PXooZnVuY3Rpb24oKXthLmFmdGVyQW5pbWF0ZSgpfSxuKSk7YS5pc0RpcnR5PSExO2EuaGFzUmVuZGVyZWQ9ITA7ZChhLCJhZnRlclJlbmRlciIpfSxyZWRyYXc6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoYXJ0LGI9dGhpcy5pc0RpcnR5fHx0aGlzLmlzRGlydHlEYXRhLGM9dGhpcy5ncm91cCxkPXRoaXMueEF4aXMsZT10aGlzLnlBeGlzO2MmJihhLmludmVydGVkJiZjLmF0dHIoe3dpZHRoOmEucGxvdFdpZHRoLGhlaWdodDphLnBsb3RIZWlnaHR9KSxjLmFuaW1hdGUoe3RyYW5zbGF0ZVg6QihkJiZkLmxlZnQsYS5wbG90TGVmdCksdHJhbnNsYXRlWTpCKGUmJmUudG9wLGEucGxvdFRvcCl9KSk7dGhpcy50cmFuc2xhdGUoKTt0aGlzLnJlbmRlcigpO2ImJmRlbGV0ZSB0aGlzLmtkVHJlZX0sa2RBeGlzQXJyYXk6WyJjbGllbnRYIiwicGxvdFkiXSwKCXNlYXJjaFBvaW50OmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy54QXhpcyxkPXRoaXMueUF4aXMsZT10aGlzLmNoYXJ0LmludmVydGVkO3JldHVybiB0aGlzLnNlYXJjaEtEVHJlZSh7Y2xpZW50WDplP2MubGVuLWEuY2hhcnRZK2MucG9zOmEuY2hhcnRYLWMucG9zLHBsb3RZOmU/ZC5sZW4tYS5jaGFydFgrZC5wb3M6YS5jaGFydFktZC5wb3N9LGIpfSxidWlsZEtEVHJlZTpmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyxkLGspe3ZhciBlLGg7aWYoaD1jJiZjLmxlbmd0aClyZXR1cm4gZT1iLmtkQXhpc0FycmF5W2Qla10sYy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbZV0tYltlXX0pLGg9TWF0aC5mbG9vcihoLzIpLHtwb2ludDpjW2hdLGxlZnQ6YShjLnNsaWNlKDAsaCksZCsxLGspLHJpZ2h0OmEoYy5zbGljZShoKzEpLGQrMSxrKX19dGhpcy5idWlsZGluZ0tkVHJlZT0hMDt2YXIgYj10aGlzLGM9LTE8Yi5vcHRpb25zLmZpbmROZWFyZXN0UG9pbnRCeS5pbmRleE9mKCJ5Iik/MjoKCQkxO2RlbGV0ZSBiLmtkVHJlZTt6KGZ1bmN0aW9uKCl7Yi5rZFRyZWU9YShiLmdldFZhbGlkUG9pbnRzKG51bGwsIWIuZGlyZWN0VG91Y2gpLGMsYyk7Yi5idWlsZGluZ0tkVHJlZT0hMX0sYi5vcHRpb25zLmtkTm93PzA6MSl9LHNlYXJjaEtEVHJlZTpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLG4sZyl7dmFyIHY9Yi5wb2ludCxtPWQua2RBeGlzQXJyYXlbbiVnXSx3LHoscD12O3o9QyhhW2VdKSYmQyh2W2VdKT9NYXRoLnBvdyhhW2VdLXZbZV0sMik6bnVsbDt3PUMoYVtrXSkmJkModltrXSk/TWF0aC5wb3coYVtrXS12W2tdLDIpOm51bGw7dz0oenx8MCkrKHd8fDApO3YuZGlzdD1DKHcpP01hdGguc3FydCh3KTpOdW1iZXIuTUFYX1ZBTFVFO3YuZGlzdFg9Qyh6KT9NYXRoLnNxcnQoeik6TnVtYmVyLk1BWF9WQUxVRTttPWFbbV0tdlttXTt3PTA+bT8ibGVmdCI6InJpZ2h0Ijt6PTA+bT8icmlnaHQiOiJsZWZ0IjtiW3ddJiYodz1jKGEsYlt3XSxuKzEsZykscD13W2hdPHBbaF0/CgkJdzp2KTtiW3pdJiZNYXRoLnNxcnQobSptKTxwW2hdJiYoYT1jKGEsYlt6XSxuKzEsZykscD1hW2hdPHBbaF0/YTpwKTtyZXR1cm4gcH12YXIgZD10aGlzLGU9dGhpcy5rZEF4aXNBcnJheVswXSxrPXRoaXMua2RBeGlzQXJyYXlbMV0saD1iPyJkaXN0WCI6ImRpc3QiO2I9LTE8ZC5vcHRpb25zLmZpbmROZWFyZXN0UG9pbnRCeS5pbmRleE9mKCJ5Iik/MjoxO3RoaXMua2RUcmVlfHx0aGlzLmJ1aWxkaW5nS2RUcmVlfHx0aGlzLmJ1aWxkS0RUcmVlKCk7aWYodGhpcy5rZFRyZWUpcmV0dXJuIGMoYSx0aGlzLmtkVHJlZSxiLGIpfX0pfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuQXhpcyxGPWEuQ2hhcnQsRz1hLmNvcnJlY3RGbG9hdCxxPWEuZGVmaW5lZCxsPWEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsZj1hLmVhY2gsdT1hLmZvcm1hdCxDPWEub2JqZWN0RWFjaCxyPWEucGljayx5PWEuU2VyaWVzO2EuU3RhY2tJdGVtPWZ1bmN0aW9uKGEsZCxlLGcsbSl7dmFyIGI9YS5jaGFydC5pbnZlcnRlZDsKCXRoaXMuYXhpcz1hO3RoaXMuaXNOZWdhdGl2ZT1lO3RoaXMub3B0aW9ucz1kO3RoaXMueD1nO3RoaXMudG90YWw9bnVsbDt0aGlzLnBvaW50cz17fTt0aGlzLnN0YWNrPW07dGhpcy5yaWdodENsaWZmPXRoaXMubGVmdENsaWZmPTA7dGhpcy5hbGlnbk9wdGlvbnM9e2FsaWduOmQuYWxpZ258fChiP2U/ImxlZnQiOiJyaWdodCI6ImNlbnRlciIpLHZlcnRpY2FsQWxpZ246ZC52ZXJ0aWNhbEFsaWdufHwoYj8ibWlkZGxlIjplPyJib3R0b20iOiJ0b3AiKSx5OnIoZC55LGI/NDplPzE0Oi02KSx4OnIoZC54LGI/ZT8tNjo2OjApfTt0aGlzLnRleHRBbGlnbj1kLnRleHRBbGlnbnx8KGI/ZT8icmlnaHQiOiJsZWZ0IjoiY2VudGVyIil9O2EuU3RhY2tJdGVtLnByb3RvdHlwZT17ZGVzdHJveTpmdW5jdGlvbigpe2wodGhpcyx0aGlzLmF4aXMpfSxyZW5kZXI6ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcy5heGlzLmNoYXJ0LGU9dGhpcy5vcHRpb25zLGc9ZS5mb3JtYXQsZz1nP3UoZyx0aGlzLGQudGltZSk6CgkJZS5mb3JtYXR0ZXIuY2FsbCh0aGlzKTt0aGlzLmxhYmVsP3RoaXMubGFiZWwuYXR0cih7dGV4dDpnLHZpc2liaWxpdHk6ImhpZGRlbiJ9KTp0aGlzLmxhYmVsPWQucmVuZGVyZXIudGV4dChnLG51bGwsbnVsbCxlLnVzZUhUTUwpLmNzcyhlLnN0eWxlKS5hdHRyKHthbGlnbjp0aGlzLnRleHRBbGlnbixyb3RhdGlvbjplLnJvdGF0aW9uLHZpc2liaWxpdHk6ImhpZGRlbiJ9KS5hZGQoYSk7dGhpcy5sYWJlbC5sYWJlbHJhbms9ZC5wbG90SGVpZ2h0fSxzZXRPZmZzZXQ6ZnVuY3Rpb24oYSxkKXt2YXIgZT10aGlzLmF4aXMsZz1lLmNoYXJ0LG09ZS50cmFuc2xhdGUoZS51c2VQZXJjZW50YWdlPzEwMDp0aGlzLnRvdGFsLDAsMCwwLDEpLGI9ZS50cmFuc2xhdGUoMCksYj1xKG0pJiZNYXRoLmFicyhtLWIpO2E9Zy54QXhpc1swXS50cmFuc2xhdGUodGhpcy54KSthO2U9cShtKSYmdGhpcy5nZXRTdGFja0JveChnLHRoaXMsYSxtLGQsYixlKTsoZD10aGlzLmxhYmVsKSYmZSYmKGQuYWxpZ24odGhpcy5hbGlnbk9wdGlvbnMsCgkJbnVsbCxlKSxlPWQuYWxpZ25BdHRyLGRbITE9PT10aGlzLm9wdGlvbnMuY3JvcHx8Zy5pc0luc2lkZVBsb3QoZS54LGUueSk/InNob3ciOiJoaWRlIl0oITApKX0sZ2V0U3RhY2tCb3g6ZnVuY3Rpb24oYSxkLGUsZyxtLGIsYyl7dmFyIHA9ZC5heGlzLnJldmVyc2VkLGY9YS5pbnZlcnRlZDthPWMuaGVpZ2h0K2MucG9zLShmP2EucGxvdExlZnQ6YS5wbG90VG9wKTtkPWQuaXNOZWdhdGl2ZSYmIXB8fCFkLmlzTmVnYXRpdmUmJnA7cmV0dXJue3g6Zj9kP2c6Zy1iOmUseTpmP2EtZS1tOmQ/YS1nLWI6YS1nLHdpZHRoOmY/YjptLGhlaWdodDpmP206Yn19fTtGLnByb3RvdHlwZS5nZXRTdGFja3M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2YoYS55QXhpcyxmdW5jdGlvbihhKXthLnN0YWNrcyYmYS5oYXNWaXNpYmxlU2VyaWVzJiYoYS5vbGRTdGFja3M9YS5zdGFja3MpfSk7ZihhLnNlcmllcyxmdW5jdGlvbihkKXshZC5vcHRpb25zLnN0YWNraW5nfHwhMCE9PWQudmlzaWJsZSYmITEhPT1hLm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzfHwKKGQuc3RhY2tLZXk9ZC50eXBlK3IoZC5vcHRpb25zLnN0YWNrLCIiKSl9KX07RS5wcm90b3R5cGUuYnVpbGRTdGFja3M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnNlcmllcyxkPXIodGhpcy5vcHRpb25zLnJldmVyc2VkU3RhY2tzLCEwKSxlPWEubGVuZ3RoLGc7aWYoIXRoaXMuaXNYQXhpcyl7dGhpcy51c2VQZXJjZW50YWdlPSExO2ZvcihnPWU7Zy0tOylhW2Q/ZzplLWctMV0uc2V0U3RhY2tlZFBvaW50cygpO2ZvcihnPTA7ZzxlO2crKylhW2ddLm1vZGlmeVN0YWNrcygpfX07RS5wcm90b3R5cGUucmVuZGVyU3RhY2tUb3RhbHM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoYXJ0LGQ9YS5yZW5kZXJlcixlPXRoaXMuc3RhY2tzLGc9dGhpcy5zdGFja1RvdGFsR3JvdXA7Z3x8KHRoaXMuc3RhY2tUb3RhbEdyb3VwPWc9ZC5nKCJzdGFjay1sYWJlbHMiKS5hdHRyKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIix6SW5kZXg6Nn0pLmFkZCgpKTtnLnRyYW5zbGF0ZShhLnBsb3RMZWZ0LGEucGxvdFRvcCk7CglDKGUsZnVuY3Rpb24oYSl7QyhhLGZ1bmN0aW9uKGEpe2EucmVuZGVyKGcpfSl9KX07RS5wcm90b3R5cGUucmVzZXRTdGFja3M9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGQ9YS5zdGFja3M7YS5pc1hBeGlzfHxDKGQsZnVuY3Rpb24oZCl7QyhkLGZ1bmN0aW9uKGUsbSl7ZS50b3VjaGVkPGEuc3RhY2tzVG91Y2hlZD8oZS5kZXN0cm95KCksZGVsZXRlIGRbbV0pOihlLnRvdGFsPW51bGwsZS5jdW11bGF0aXZlPW51bGwpfSl9KX07RS5wcm90b3R5cGUuY2xlYW5TdGFja3M9ZnVuY3Rpb24oKXt2YXIgYTt0aGlzLmlzWEF4aXN8fCh0aGlzLm9sZFN0YWNrcyYmKGE9dGhpcy5zdGFja3M9dGhpcy5vbGRTdGFja3MpLEMoYSxmdW5jdGlvbihhKXtDKGEsZnVuY3Rpb24oYSl7YS5jdW11bGF0aXZlPWEudG90YWx9KX0pKX07eS5wcm90b3R5cGUuc2V0U3RhY2tlZFBvaW50cz1mdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5zdGFja2luZyYmKCEwPT09dGhpcy52aXNpYmxlfHwhMT09PXRoaXMuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMpKXt2YXIgZj0KCXRoaXMucHJvY2Vzc2VkWERhdGEsZD10aGlzLnByb2Nlc3NlZFlEYXRhLGU9W10sZz1kLmxlbmd0aCxtPXRoaXMub3B0aW9ucyxiPW0udGhyZXNob2xkLGM9cihtLnN0YXJ0RnJvbVRocmVzaG9sZCYmYiwwKSxsPW0uc3RhY2ssbT1tLnN0YWNraW5nLEI9dGhpcy5zdGFja0tleSx0PSItIitCLG49dGhpcy5uZWdTdGFja3MsdT10aGlzLnlBeGlzLHo9dS5zdGFja3MsRD11Lm9sZFN0YWNrcyxoLEksSCx2LHcsayxBO3Uuc3RhY2tzVG91Y2hlZCs9MTtmb3Iodz0wO3c8Zzt3Kyspaz1mW3ddLEE9ZFt3XSxoPXRoaXMuZ2V0U3RhY2tJbmRpY2F0b3IoaCxrLHRoaXMuaW5kZXgpLHY9aC5rZXksSD0oST1uJiZBPChjPzA6YikpP3Q6Qix6W0hdfHwoeltIXT17fSkseltIXVtrXXx8KERbSF0mJkRbSF1ba10/KHpbSF1ba109RFtIXVtrXSx6W0hdW2tdLnRvdGFsPW51bGwpOnpbSF1ba109bmV3IGEuU3RhY2tJdGVtKHUsdS5vcHRpb25zLnN0YWNrTGFiZWxzLEksayxsKSksSD16W0hdW2tdLG51bGwhPT0KQT8oSC5wb2ludHNbdl09SC5wb2ludHNbdGhpcy5pbmRleF09W3IoSC5jdW11bGF0aXZlLGMpXSxxKEguY3VtdWxhdGl2ZSl8fChILmJhc2U9diksSC50b3VjaGVkPXUuc3RhY2tzVG91Y2hlZCwwPGguaW5kZXgmJiExPT09dGhpcy5zaW5nbGVTdGFja3MmJihILnBvaW50c1t2XVswXT1ILnBvaW50c1t0aGlzLmluZGV4KyIsIitrKyIsMCJdWzBdKSk6SC5wb2ludHNbdl09SC5wb2ludHNbdGhpcy5pbmRleF09bnVsbCwicGVyY2VudCI9PT1tPyhJPUk/Qjp0LG4mJnpbSV0mJnpbSV1ba10/KEk9eltJXVtrXSxILnRvdGFsPUkudG90YWw9TWF0aC5tYXgoSS50b3RhbCxILnRvdGFsKStNYXRoLmFicyhBKXx8MCk6SC50b3RhbD1HKEgudG90YWwrKE1hdGguYWJzKEEpfHwwKSkpOkgudG90YWw9RyhILnRvdGFsKyhBfHwwKSksSC5jdW11bGF0aXZlPXIoSC5jdW11bGF0aXZlLGMpKyhBfHwwKSxudWxsIT09QSYmKEgucG9pbnRzW3ZdLnB1c2goSC5jdW11bGF0aXZlKSxlW3ddPUguY3VtdWxhdGl2ZSk7CgkicGVyY2VudCI9PT1tJiYodS51c2VQZXJjZW50YWdlPSEwKTt0aGlzLnN0YWNrZWRZRGF0YT1lO3Uub2xkU3RhY2tzPXt9fX07eS5wcm90b3R5cGUubW9kaWZ5U3RhY2tzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxkPWEuc3RhY2tLZXksZT1hLnlBeGlzLnN0YWNrcyxnPWEucHJvY2Vzc2VkWERhdGEsbSxiPWEub3B0aW9ucy5zdGFja2luZzthW2IrIlN0YWNrZXIiXSYmZihbZCwiLSIrZF0sZnVuY3Rpb24oYyl7Zm9yKHZhciBkPWcubGVuZ3RoLGYsdDtkLS07KWlmKGY9Z1tkXSxtPWEuZ2V0U3RhY2tJbmRpY2F0b3IobSxmLGEuaW5kZXgsYyksdD0oZj1lW2NdJiZlW2NdW2ZdKSYmZi5wb2ludHNbbS5rZXldKWFbYisiU3RhY2tlciJdKHQsZixkKX0pfTt5LnByb3RvdHlwZS5wZXJjZW50U3RhY2tlcj1mdW5jdGlvbihhLGQsZSl7ZD1kLnRvdGFsPzEwMC9kLnRvdGFsOjA7YVswXT1HKGFbMF0qZCk7YVsxXT1HKGFbMV0qZCk7dGhpcy5zdGFja2VkWURhdGFbZV09YVsxXX07eS5wcm90b3R5cGUuZ2V0U3RhY2tJbmRpY2F0b3I9CglmdW5jdGlvbihhLGQsZSxnKXshcShhKXx8YS54IT09ZHx8ZyYmYS5rZXkhPT1nP2E9e3g6ZCxpbmRleDowLGtleTpnfTphLmluZGV4Kys7YS5rZXk9W2UsZCxhLmluZGV4XS5qb2luKCk7cmV0dXJuIGF9fSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYWRkRXZlbnQsRj1hLmFuaW1hdGUsRz1hLkF4aXMscT1hLmNyZWF0ZUVsZW1lbnQsbD1hLmNzcyxmPWEuZGVmaW5lZCx1PWEuZWFjaCxDPWEuZXJhc2Uscj1hLmV4dGVuZCx5PWEuZmlyZUV2ZW50LHA9YS5pbkFycmF5LGQ9YS5pc051bWJlcixlPWEuaXNPYmplY3QsZz1hLmlzQXJyYXksbT1hLm1lcmdlLGI9YS5vYmplY3RFYWNoLGM9YS5waWNrLHg9YS5Qb2ludCxCPWEuU2VyaWVzLHQ9YS5zZXJpZXNUeXBlcyxuPWEuc2V0QW5pbWF0aW9uLEw9YS5zcGxhdDtyKGEuQ2hhcnQucHJvdG90eXBlLHthZGRTZXJpZXM6ZnVuY3Rpb24oYSxiLGQpe3ZhciBlLGg9dGhpczthJiYoYj1jKGIsITApLHkoaCwiYWRkU2VyaWVzIix7b3B0aW9uczphfSwKCQlmdW5jdGlvbigpe2U9aC5pbml0U2VyaWVzKGEpO2guaXNEaXJ0eUxlZ2VuZD0hMDtoLmxpbmtTZXJpZXMoKTt5KGgsImFmdGVyQWRkU2VyaWVzIik7YiYmaC5yZWRyYXcoZCl9KSk7cmV0dXJuIGV9LGFkZEF4aXM6ZnVuY3Rpb24oYSxiLGQsZSl7dmFyIGg9Yj8ieEF4aXMiOiJ5QXhpcyIsbj10aGlzLm9wdGlvbnM7YT1tKGEse2luZGV4OnRoaXNbaF0ubGVuZ3RoLGlzWDpifSk7Yj1uZXcgRyh0aGlzLGEpO25baF09TChuW2hdfHx7fSk7bltoXS5wdXNoKGEpO2MoZCwhMCkmJnRoaXMucmVkcmF3KGUpO3JldHVybiBifSxzaG93TG9hZGluZzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9Yi5vcHRpb25zLGQ9Yi5sb2FkaW5nRGl2LGU9Yy5sb2FkaW5nLG49ZnVuY3Rpb24oKXtkJiZsKGQse2xlZnQ6Yi5wbG90TGVmdCsicHgiLHRvcDpiLnBsb3RUb3ArInB4Iix3aWR0aDpiLnBsb3RXaWR0aCsicHgiLGhlaWdodDpiLnBsb3RIZWlnaHQrInB4In0pfTtkfHwoYi5sb2FkaW5nRGl2PWQ9cSgiZGl2IiwKCQl7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLWxvYWRpbmcgaGlnaGNoYXJ0cy1sb2FkaW5nLWhpZGRlbiJ9LG51bGwsYi5jb250YWluZXIpLGIubG9hZGluZ1NwYW49cSgic3BhbiIse2NsYXNzTmFtZToiaGlnaGNoYXJ0cy1sb2FkaW5nLWlubmVyIn0sbnVsbCxkKSxFKGIsInJlZHJhdyIsbikpO2QuY2xhc3NOYW1lPSJoaWdoY2hhcnRzLWxvYWRpbmciO2IubG9hZGluZ1NwYW4uaW5uZXJIVE1MPWF8fGMubGFuZy5sb2FkaW5nO2woZCxyKGUuc3R5bGUse3pJbmRleDoxMH0pKTtsKGIubG9hZGluZ1NwYW4sZS5sYWJlbFN0eWxlKTtiLmxvYWRpbmdTaG93bnx8KGwoZCx7b3BhY2l0eTowLGRpc3BsYXk6IiJ9KSxGKGQse29wYWNpdHk6ZS5zdHlsZS5vcGFjaXR5fHwuNX0se2R1cmF0aW9uOmUuc2hvd0R1cmF0aW9ufHwwfSkpO2IubG9hZGluZ1Nob3duPSEwO24oKX0saGlkZUxvYWRpbmc6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj10aGlzLmxvYWRpbmdEaXY7YiYmKGIuY2xhc3NOYW1lPQoJCSJoaWdoY2hhcnRzLWxvYWRpbmcgaGlnaGNoYXJ0cy1sb2FkaW5nLWhpZGRlbiIsRihiLHtvcGFjaXR5OjB9LHtkdXJhdGlvbjphLmxvYWRpbmcuaGlkZUR1cmF0aW9ufHwxMDAsY29tcGxldGU6ZnVuY3Rpb24oKXtsKGIse2Rpc3BsYXk6Im5vbmUifSl9fSkpO3RoaXMubG9hZGluZ1Nob3duPSExfSxwcm9wc1JlcXVpcmVEaXJ0eUJveDoiYmFja2dyb3VuZENvbG9yIGJvcmRlckNvbG9yIGJvcmRlcldpZHRoIG1hcmdpbiBtYXJnaW5Ub3AgbWFyZ2luUmlnaHQgbWFyZ2luQm90dG9tIG1hcmdpbkxlZnQgc3BhY2luZyBzcGFjaW5nVG9wIHNwYWNpbmdSaWdodCBzcGFjaW5nQm90dG9tIHNwYWNpbmdMZWZ0IGJvcmRlclJhZGl1cyBwbG90QmFja2dyb3VuZENvbG9yIHBsb3RCYWNrZ3JvdW5kSW1hZ2UgcGxvdEJvcmRlckNvbG9yIHBsb3RCb3JkZXJXaWR0aCBwbG90U2hhZG93IHNoYWRvdyIuc3BsaXQoIiAiKSxwcm9wc1JlcXVpcmVVcGRhdGVTZXJpZXM6ImNoYXJ0LmludmVydGVkIGNoYXJ0LnBvbGFyIGNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcyBjaGFydC50eXBlIGNvbG9ycyBwbG90T3B0aW9ucyB0aW1lIHRvb2x0aXAiLnNwbGl0KCIgIiksCgl1cGRhdGU6ZnVuY3Rpb24oYSxlLGgsbil7dmFyIGc9dGhpcyx2PXtjcmVkaXRzOiJhZGRDcmVkaXRzIix0aXRsZToic2V0VGl0bGUiLHN1YnRpdGxlOiJzZXRTdWJ0aXRsZSJ9LHc9YS5jaGFydCxrLHQsej1bXTt5KGcsInVwZGF0ZSIse29wdGlvbnM6YX0pO2lmKHcpe20oITAsZy5vcHRpb25zLmNoYXJ0LHcpOyJjbGFzc05hbWUiaW4gdyYmZy5zZXRDbGFzc05hbWUody5jbGFzc05hbWUpOyJyZWZsb3ciaW4gdyYmZy5zZXRSZWZsb3cody5yZWZsb3cpO2lmKCJpbnZlcnRlZCJpbiB3fHwicG9sYXIiaW4gd3x8InR5cGUiaW4gdylnLnByb3BGcm9tU2VyaWVzKCksaz0hMDsiYWxpZ25UaWNrcyJpbiB3JiYoaz0hMCk7Yih3LGZ1bmN0aW9uKGEsYil7LTEhPT1wKCJjaGFydC4iK2IsZy5wcm9wc1JlcXVpcmVVcGRhdGVTZXJpZXMpJiYodD0hMCk7LTEhPT1wKGIsZy5wcm9wc1JlcXVpcmVEaXJ0eUJveCkmJihnLmlzRGlydHlCb3g9ITApfSk7InN0eWxlImluIHcmJmcucmVuZGVyZXIuc2V0U3R5bGUody5zdHlsZSl9YS5jb2xvcnMmJgoJKHRoaXMub3B0aW9ucy5jb2xvcnM9YS5jb2xvcnMpO2EucGxvdE9wdGlvbnMmJm0oITAsdGhpcy5vcHRpb25zLnBsb3RPcHRpb25zLGEucGxvdE9wdGlvbnMpO2IoYSxmdW5jdGlvbihhLGIpe2lmKGdbYl0mJiJmdW5jdGlvbiI9PT10eXBlb2YgZ1tiXS51cGRhdGUpZ1tiXS51cGRhdGUoYSwhMSk7ZWxzZSBpZigiZnVuY3Rpb24iPT09dHlwZW9mIGdbdltiXV0pZ1t2W2JdXShhKTsiY2hhcnQiIT09YiYmLTEhPT1wKGIsZy5wcm9wc1JlcXVpcmVVcGRhdGVTZXJpZXMpJiYodD0hMCl9KTt1KCJ4QXhpcyB5QXhpcyB6QXhpcyBzZXJpZXMgY29sb3JBeGlzIHBhbmUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYil7dmFyIGM7YVtiXSYmKCJzZXJpZXMiPT09YiYmKGM9W10sdShnW2JdLGZ1bmN0aW9uKGEsYil7YS5vcHRpb25zLmlzSW50ZXJuYWx8fGMucHVzaChiKX0pKSx1KEwoYVtiXSksZnVuY3Rpb24oYSxkKXsoZD1mKGEuaWQpJiZnLmdldChhLmlkKXx8Z1tiXVtjP2NbZF06ZF0pJiZkLmNvbGw9PT0KCWImJihkLnVwZGF0ZShhLCExKSxoJiYoZC50b3VjaGVkPSEwKSk7aWYoIWQmJmgpaWYoInNlcmllcyI9PT1iKWcuYWRkU2VyaWVzKGEsITEpLnRvdWNoZWQ9ITA7ZWxzZSBpZigieEF4aXMiPT09Ynx8InlBeGlzIj09PWIpZy5hZGRBeGlzKGEsInhBeGlzIj09PWIsITEpLnRvdWNoZWQ9ITB9KSxoJiZ1KGdbYl0sZnVuY3Rpb24oYSl7YS50b3VjaGVkfHxhLm9wdGlvbnMuaXNJbnRlcm5hbD9kZWxldGUgYS50b3VjaGVkOnoucHVzaChhKX0pKX0pO3UoeixmdW5jdGlvbihhKXthLnJlbW92ZSghMSl9KTtrJiZ1KGcuYXhlcyxmdW5jdGlvbihhKXthLnVwZGF0ZSh7fSwhMSl9KTt0JiZ1KGcuc2VyaWVzLGZ1bmN0aW9uKGEpe2EudXBkYXRlKHt9LCExKX0pO2EubG9hZGluZyYmbSghMCxnLm9wdGlvbnMubG9hZGluZyxhLmxvYWRpbmcpO2s9dyYmdy53aWR0aDt3PXcmJncuaGVpZ2h0O2QoaykmJmshPT1nLmNoYXJ0V2lkdGh8fGQodykmJnchPT1nLmNoYXJ0SGVpZ2h0P2cuc2V0U2l6ZShrLAoJCXcsbik6YyhlLCEwKSYmZy5yZWRyYXcobik7eShnLCJhZnRlclVwZGF0ZSIse29wdGlvbnM6YX0pfSxzZXRTdWJ0aXRsZTpmdW5jdGlvbihhKXt0aGlzLnNldFRpdGxlKHZvaWQgMCxhKX19KTtyKHgucHJvdG90eXBlLHt1cGRhdGU6ZnVuY3Rpb24oYSxiLGQsZyl7ZnVuY3Rpb24gaCgpe24uYXBwbHlPcHRpb25zKGEpO251bGw9PT1uLnkmJmsmJihuLmdyYXBoaWM9ay5kZXN0cm95KCkpO2UoYSwhMCkmJihrJiZrLmVsZW1lbnQmJmEmJmEubWFya2VyJiZ2b2lkIDAhPT1hLm1hcmtlci5zeW1ib2wmJihuLmdyYXBoaWM9ay5kZXN0cm95KCkpLGEmJmEuZGF0YUxhYmVscyYmbi5kYXRhTGFiZWwmJihuLmRhdGFMYWJlbD1uLmRhdGFMYWJlbC5kZXN0cm95KCkpLG4uY29ubmVjdG9yJiYobi5jb25uZWN0b3I9bi5jb25uZWN0b3IuZGVzdHJveSgpKSk7dD1uLmluZGV4O20udXBkYXRlUGFyYWxsZWxBcnJheXMobix0KTt6LmRhdGFbdF09ZSh6LmRhdGFbdF0sITApfHxlKGEsITApP24ub3B0aW9uczoKCQljKGEsei5kYXRhW3RdKTttLmlzRGlydHk9bS5pc0RpcnR5RGF0YT0hMDshbS5maXhlZEJveCYmbS5oYXNDYXJ0ZXNpYW5TZXJpZXMmJihmLmlzRGlydHlCb3g9ITApOyJwb2ludCI9PT16LmxlZ2VuZFR5cGUmJihmLmlzRGlydHlMZWdlbmQ9ITApO2ImJmYucmVkcmF3KGQpfXZhciBuPXRoaXMsbT1uLnNlcmllcyxrPW4uZ3JhcGhpYyx0LGY9bS5jaGFydCx6PW0ub3B0aW9ucztiPWMoYiwhMCk7ITE9PT1nP2goKTpuLmZpcmVQb2ludEV2ZW50KCJ1cGRhdGUiLHtvcHRpb25zOmF9LGgpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXt0aGlzLnNlcmllcy5yZW1vdmVQb2ludChwKHRoaXMsdGhpcy5zZXJpZXMuZGF0YSksYSxiKX19KTtyKEIucHJvdG90eXBlLHthZGRQb2ludDpmdW5jdGlvbihhLGIsZCxlKXt2YXIgaD10aGlzLm9wdGlvbnMsbj10aGlzLmRhdGEsZz10aGlzLmNoYXJ0LGs9dGhpcy54QXhpcyxrPWsmJmsuaGFzTmFtZXMmJmsubmFtZXMsbT1oLmRhdGEsdCxmLHo9dGhpcy54RGF0YSwKCQlwLGw7Yj1jKGIsITApO3Q9e3Nlcmllczp0aGlzfTt0aGlzLnBvaW50Q2xhc3MucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseSh0LFthXSk7bD10Lng7cD16Lmxlbmd0aDtpZih0aGlzLnJlcXVpcmVTb3J0aW5nJiZsPHpbcC0xXSlmb3IoZj0hMDtwJiZ6W3AtMV0+bDspcC0tO3RoaXMudXBkYXRlUGFyYWxsZWxBcnJheXModCwic3BsaWNlIixwLDAsMCk7dGhpcy51cGRhdGVQYXJhbGxlbEFycmF5cyh0LHApO2smJnQubmFtZSYmKGtbbF09dC5uYW1lKTttLnNwbGljZShwLDAsYSk7ZiYmKHRoaXMuZGF0YS5zcGxpY2UocCwwLG51bGwpLHRoaXMucHJvY2Vzc0RhdGEoKSk7InBvaW50Ij09PWgubGVnZW5kVHlwZSYmdGhpcy5nZW5lcmF0ZVBvaW50cygpO2QmJihuWzBdJiZuWzBdLnJlbW92ZT9uWzBdLnJlbW92ZSghMSk6KG4uc2hpZnQoKSx0aGlzLnVwZGF0ZVBhcmFsbGVsQXJyYXlzKHQsInNoaWZ0IiksbS5zaGlmdCgpKSk7dGhpcy5pc0RpcnR5RGF0YT10aGlzLmlzRGlydHk9ITA7CgkJYiYmZy5yZWRyYXcoZSl9LHJlbW92ZVBvaW50OmZ1bmN0aW9uKGEsYixkKXt2YXIgZT10aGlzLGg9ZS5kYXRhLGc9aFthXSxtPWUucG9pbnRzLGs9ZS5jaGFydCx0PWZ1bmN0aW9uKCl7bSYmbS5sZW5ndGg9PT1oLmxlbmd0aCYmbS5zcGxpY2UoYSwxKTtoLnNwbGljZShhLDEpO2Uub3B0aW9ucy5kYXRhLnNwbGljZShhLDEpO2UudXBkYXRlUGFyYWxsZWxBcnJheXMoZ3x8e3NlcmllczplfSwic3BsaWNlIixhLDEpO2cmJmcuZGVzdHJveSgpO2UuaXNEaXJ0eT0hMDtlLmlzRGlydHlEYXRhPSEwO2ImJmsucmVkcmF3KCl9O24oZCxrKTtiPWMoYiwhMCk7Zz9nLmZpcmVQb2ludEV2ZW50KCJyZW1vdmUiLG51bGwsdCk6dCgpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiLGQpe2Z1bmN0aW9uIGUoKXtoLmRlc3Ryb3koKTtuLmlzRGlydHlMZWdlbmQ9bi5pc0RpcnR5Qm94PSEwO24ubGlua1NlcmllcygpO2MoYSwhMCkmJm4ucmVkcmF3KGIpfXZhciBoPXRoaXMsbj1oLmNoYXJ0OyExIT09ZD95KGgsCgkJInJlbW92ZSIsbnVsbCxlKTplKCl9LHVwZGF0ZTpmdW5jdGlvbihiLGQpe3ZhciBlPXRoaXMsbj1lLmNoYXJ0LGc9ZS51c2VyT3B0aW9ucyx2PWUub2xkVHlwZXx8ZS50eXBlLHc9Yi50eXBlfHxnLnR5cGV8fG4ub3B0aW9ucy5jaGFydC50eXBlLGs9dFt2XS5wcm90b3R5cGUsZix6PVsiZ3JvdXAiLCJtYXJrZXJHcm91cCIsImRhdGFMYWJlbHNHcm91cCJdLGw9WyJuYXZpZ2F0b3JTZXJpZXMiLCJiYXNlU2VyaWVzIl0sRD1lLmZpbmlzaGVkQW5pbWF0aW5nJiZ7YW5pbWF0aW9uOiExfSx4PVsiZGF0YSIsIm5hbWUiLCJ0dXJib1RocmVzaG9sZCJdLEI9YS5rZXlzKGIpLHE9MDxCLmxlbmd0aDt1KEIsZnVuY3Rpb24oYSl7LTE9PT1wKGEseCkmJihxPSExKX0pO2lmKHEpYi5kYXRhJiZ0aGlzLnNldERhdGEoYi5kYXRhLCExKSxiLm5hbWUmJnRoaXMuc2V0TmFtZShiLm5hbWUsITEpO2Vsc2V7bD16LmNvbmNhdChsKTt1KGwsZnVuY3Rpb24oYSl7bFthXT1lW2FdO2RlbGV0ZSBlW2FdfSk7CgkJYj1tKGcsRCx7aW5kZXg6ZS5pbmRleCxwb2ludFN0YXJ0OmMoZy5wb2ludFN0YXJ0LGUueERhdGFbMF0pfSx7ZGF0YTplLm9wdGlvbnMuZGF0YX0sYik7ZS5yZW1vdmUoITEsbnVsbCwhMSk7Zm9yKGYgaW4gayllW2ZdPXZvaWQgMDt0W3d8fHZdP3IoZSx0W3d8fHZdLnByb3RvdHlwZSk6YS5lcnJvcigxNywhMCk7dShsLGZ1bmN0aW9uKGEpe2VbYV09bFthXX0pO2UuaW5pdChuLGIpO2IuekluZGV4IT09Zy56SW5kZXgmJnUoeixmdW5jdGlvbihhKXtlW2FdJiZlW2FdLmF0dHIoe3pJbmRleDpiLnpJbmRleH0pfSk7ZS5vbGRUeXBlPXY7bi5saW5rU2VyaWVzKCl9eSh0aGlzLCJhZnRlclVwZGF0ZSIpO2MoZCwhMCkmJm4ucmVkcmF3KHE/dm9pZCAwOiExKX0sc2V0TmFtZTpmdW5jdGlvbihhKXt0aGlzLm5hbWU9dGhpcy5vcHRpb25zLm5hbWU9dGhpcy51c2VyT3B0aW9ucy5uYW1lPWE7dGhpcy5jaGFydC5pc0RpcnR5TGVnZW5kPSEwfX0pO3IoRy5wcm90b3R5cGUse3VwZGF0ZTpmdW5jdGlvbihhLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgZCl7dmFyIGU9dGhpcy5jaGFydCxuPWEmJmEuZXZlbnRzfHx7fTthPW0odGhpcy51c2VyT3B0aW9ucyxhKTtlLm9wdGlvbnNbdGhpcy5jb2xsXS5pbmRleE9mJiYoZS5vcHRpb25zW3RoaXMuY29sbF1bZS5vcHRpb25zW3RoaXMuY29sbF0uaW5kZXhPZih0aGlzLnVzZXJPcHRpb25zKV09YSk7YihlLm9wdGlvbnNbdGhpcy5jb2xsXS5ldmVudHMsZnVuY3Rpb24oYSxiKXsidW5kZWZpbmVkIj09PXR5cGVvZiBuW2JdJiYobltiXT12b2lkIDApfSk7dGhpcy5kZXN0cm95KCEwKTt0aGlzLmluaXQoZSxyKGEse2V2ZW50czpufSkpO2UuaXNEaXJ0eUJveD0hMDtjKGQsITApJiZlLnJlZHJhdygpfSxyZW1vdmU6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMuY2hhcnQsZD10aGlzLmNvbGwsZT10aGlzLnNlcmllcyxuPWUubGVuZ3RoO24tLTspZVtuXSYmZVtuXS5yZW1vdmUoITEpO0MoYi5heGVzLHRoaXMpO0MoYltkXSx0aGlzKTtnKGIub3B0aW9uc1tkXSk/Yi5vcHRpb25zW2RdLnNwbGljZSh0aGlzLm9wdGlvbnMuaW5kZXgsCgkJMSk6ZGVsZXRlIGIub3B0aW9uc1tkXTt1KGJbZF0sZnVuY3Rpb24oYSxiKXthLm9wdGlvbnMuaW5kZXg9YS51c2VyT3B0aW9ucy5pbmRleD1ifSk7dGhpcy5kZXN0cm95KCk7Yi5pc0RpcnR5Qm94PSEwO2MoYSwhMCkmJmIucmVkcmF3KCl9LHNldFRpdGxlOmZ1bmN0aW9uKGEsYil7dGhpcy51cGRhdGUoe3RpdGxlOmF9LGIpfSxzZXRDYXRlZ29yaWVzOmZ1bmN0aW9uKGEsYil7dGhpcy51cGRhdGUoe2NhdGVnb3JpZXM6YX0sYil9fSl9KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5jb2xvcixGPWEuZWFjaCxHPWEubWFwLHE9YS5waWNrLGw9YS5TZXJpZXMsZj1hLnNlcmllc1R5cGU7ZigiYXJlYSIsImxpbmUiLHtzb2Z0VGhyZXNob2xkOiExLHRocmVzaG9sZDowfSx7c2luZ2xlU3RhY2tzOiExLGdldFN0YWNrUG9pbnRzOmZ1bmN0aW9uKGYpe3ZhciBsPVtdLHI9W10sdT10aGlzLnhBeGlzLHA9dGhpcy55QXhpcyxkPXAuc3RhY2tzW3RoaXMuc3RhY2tLZXldLGU9e30sZz10aGlzLmluZGV4LAoJCW09cC5zZXJpZXMsYj1tLmxlbmd0aCxjLHg9cShwLm9wdGlvbnMucmV2ZXJzZWRTdGFja3MsITApPzE6LTEsQjtmPWZ8fHRoaXMucG9pbnRzO2lmKHRoaXMub3B0aW9ucy5zdGFja2luZyl7Zm9yKEI9MDtCPGYubGVuZ3RoO0IrKylmW0JdLmxlZnROdWxsPWZbQl0ucmlnaHROdWxsPW51bGwsZVtmW0JdLnhdPWZbQl07YS5vYmplY3RFYWNoKGQsZnVuY3Rpb24oYSxiKXtudWxsIT09YS50b3RhbCYmci5wdXNoKGIpfSk7ci5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEtYn0pO2M9RyhtLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmlzaWJsZX0pO0YocixmdW5jdGlvbihhLG4pe3ZhciBtPTAsZix0O2lmKGVbYV0mJiFlW2FdLmlzTnVsbClsLnB1c2goZVthXSksRihbLTEsMV0sZnVuY3Rpb24oaCl7dmFyIG09MT09PWg/InJpZ2h0TnVsbCI6ImxlZnROdWxsIixwPTAsdj1kW3JbbitoXV07aWYodilmb3IoQj1nOzA8PUImJkI8YjspZj12LnBvaW50c1tCXSxmfHwoQj09PWc/ZVthXVttXT0KCQkhMDpjW0JdJiYodD1kW2FdLnBvaW50c1tCXSkmJihwLT10WzFdLXRbMF0pKSxCKz14O2VbYV1bMT09PWg/InJpZ2h0Q2xpZmYiOiJsZWZ0Q2xpZmYiXT1wfSk7ZWxzZXtmb3IoQj1nOzA8PUImJkI8Yjspe2lmKGY9ZFthXS5wb2ludHNbQl0pe209ZlsxXTticmVha31CKz14fW09cC50cmFuc2xhdGUobSwwLDEsMCwxKTtsLnB1c2goe2lzTnVsbDohMCxwbG90WDp1LnRyYW5zbGF0ZShhLDAsMCwwLDEpLHg6YSxwbG90WTptLHlCb3R0b206bX0pfX0pfXJldHVybiBsfSxnZXRHcmFwaFBhdGg6ZnVuY3Rpb24oYSl7dmFyIGY9bC5wcm90b3R5cGUuZ2V0R3JhcGhQYXRoLHI9dGhpcy5vcHRpb25zLHU9ci5zdGFja2luZyxwPXRoaXMueUF4aXMsZCxlLGc9W10sbT1bXSxiPXRoaXMuaW5kZXgsYyx4PXAuc3RhY2tzW3RoaXMuc3RhY2tLZXldLEI9ci50aHJlc2hvbGQsdD1wLmdldFRocmVzaG9sZChyLnRocmVzaG9sZCksbixyPXIuY29ubmVjdE51bGxzfHwicGVyY2VudCI9PT11LEw9ZnVuY3Rpb24oZCwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgZSxoKXt2YXIgbj1hW2RdO2Q9dSYmeFtuLnhdLnBvaW50c1tiXTt2YXIgZj1uW2grIk51bGwiXXx8MDtoPW5baCsiQ2xpZmYiXXx8MDt2YXIgdix3LG49ITA7aHx8Zj8odj0oZj9kWzBdOmRbMV0pK2gsdz1kWzBdK2gsbj0hIWYpOiF1JiZhW2VdJiZhW2VdLmlzTnVsbCYmKHY9dz1CKTt2b2lkIDAhPT12JiYobS5wdXNoKHtwbG90WDpjLHBsb3RZOm51bGw9PT12P3Q6cC5nZXRUaHJlc2hvbGQodiksaXNOdWxsOm4saXNDbGlmZjohMH0pLGcucHVzaCh7cGxvdFg6YyxwbG90WTpudWxsPT09dz90OnAuZ2V0VGhyZXNob2xkKHcpLGRvQ3VydmU6ITF9KSl9O2E9YXx8dGhpcy5wb2ludHM7dSYmKGE9dGhpcy5nZXRTdGFja1BvaW50cyhhKSk7Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKylpZihlPWFbZF0uaXNOdWxsLGM9cShhW2RdLnJlY3RQbG90WCxhW2RdLnBsb3RYKSxuPXEoYVtkXS55Qm90dG9tLHQpLCFlfHxyKXJ8fEwoZCxkLTEsImxlZnQiKSxlJiYhdSYmcnx8KG0ucHVzaChhW2RdKSxnLnB1c2goe3g6ZCwKCQlwbG90WDpjLHBsb3RZOm59KSkscnx8TChkLGQrMSwicmlnaHQiKTtkPWYuY2FsbCh0aGlzLG0sITAsITApO2cucmV2ZXJzZWQ9ITA7ZT1mLmNhbGwodGhpcyxnLCEwLCEwKTtlLmxlbmd0aCYmKGVbMF09IkwiKTtlPWQuY29uY2F0KGUpO2Y9Zi5jYWxsKHRoaXMsbSwhMSxyKTtlLnhNYXA9ZC54TWFwO3RoaXMuYXJlYVBhdGg9ZTtyZXR1cm4gZn0sZHJhd0dyYXBoOmZ1bmN0aW9uKCl7dGhpcy5hcmVhUGF0aD1bXTtsLnByb3RvdHlwZS5kcmF3R3JhcGguYXBwbHkodGhpcyk7dmFyIGE9dGhpcyxmPXRoaXMuYXJlYVBhdGgscj10aGlzLm9wdGlvbnMseT1bWyJhcmVhIiwiaGlnaGNoYXJ0cy1hcmVhIix0aGlzLmNvbG9yLHIuZmlsbENvbG9yXV07Rih0aGlzLnpvbmVzLGZ1bmN0aW9uKGYsZCl7eS5wdXNoKFsiem9uZS1hcmVhLSIrZCwiaGlnaGNoYXJ0cy1hcmVhIGhpZ2hjaGFydHMtem9uZS1hcmVhLSIrZCsiICIrZi5jbGFzc05hbWUsZi5jb2xvcnx8YS5jb2xvcixmLmZpbGxDb2xvcnx8CglyLmZpbGxDb2xvcl0pfSk7Rih5LGZ1bmN0aW9uKHApe3ZhciBkPXBbMF0sZT1hW2RdO2U/KGUuZW5kWD1hLnByZXZlbnRHcmFwaEFuaW1hdGlvbj9udWxsOmYueE1hcCxlLmFuaW1hdGUoe2Q6Zn0pKTooZT1hW2RdPWEuY2hhcnQucmVuZGVyZXIucGF0aChmKS5hZGRDbGFzcyhwWzFdKS5hdHRyKHtmaWxsOnEocFszXSxFKHBbMl0pLnNldE9wYWNpdHkocShyLmZpbGxPcGFjaXR5LC43NSkpLmdldCgpKSx6SW5kZXg6MH0pLmFkZChhLmdyb3VwKSxlLmlzQXJlYT0hMCk7ZS5zdGFydFg9Zi54TWFwO2Uuc2hpZnRVbml0PXIuc3RlcD8yOjF9KX0sZHJhd0xlZ2VuZFN5bWJvbDphLkxlZ2VuZFN5bWJvbE1peGluLmRyYXdSZWN0YW5nbGV9KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLnBpY2s7YT1hLnNlcmllc1R5cGU7YSgic3BsaW5lIiwibGluZSIse30se2dldFBvaW50U3BsaW5lOmZ1bmN0aW9uKGEsRyxxKXt2YXIgbD1HLnBsb3RYLGY9Ry5wbG90WSx1PWFbcS0xXTtxPWFbcSsxXTsKCQl2YXIgQyxyLHkscDtpZih1JiYhdS5pc051bGwmJiExIT09dS5kb0N1cnZlJiYhRy5pc0NsaWZmJiZxJiYhcS5pc051bGwmJiExIT09cS5kb0N1cnZlJiYhRy5pc0NsaWZmKXthPXUucGxvdFk7eT1xLnBsb3RYO3E9cS5wbG90WTt2YXIgZD0wO0M9KDEuNSpsK3UucGxvdFgpLzIuNTtyPSgxLjUqZithKS8yLjU7eT0oMS41KmwreSkvMi41O3A9KDEuNSpmK3EpLzIuNTt5IT09QyYmKGQ9KHAtcikqKHktbCkvKHktQykrZi1wKTtyKz1kO3ArPWQ7cj5hJiZyPmY/KHI9TWF0aC5tYXgoYSxmKSxwPTIqZi1yKTpyPGEmJnI8ZiYmKHI9TWF0aC5taW4oYSxmKSxwPTIqZi1yKTtwPnEmJnA+Zj8ocD1NYXRoLm1heChxLGYpLHI9MipmLXApOnA8cSYmcDxmJiYocD1NYXRoLm1pbihxLGYpLHI9MipmLXApO0cucmlnaHRDb250WD15O0cucmlnaHRDb250WT1wfUc9WyJDIixFKHUucmlnaHRDb250WCx1LnBsb3RYKSxFKHUucmlnaHRDb250WSx1LnBsb3RZKSxFKEMsbCksRShyLGYpLGwsZl07dS5yaWdodENvbnRYPQoJCQl1LnJpZ2h0Q29udFk9bnVsbDtyZXR1cm4gR319KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLnNlcmllc1R5cGVzLmFyZWEucHJvdG90eXBlLEY9YS5zZXJpZXNUeXBlO0YoImFyZWFzcGxpbmUiLCJzcGxpbmUiLGEuZGVmYXVsdFBsb3RPcHRpb25zLmFyZWEse2dldFN0YWNrUG9pbnRzOkUuZ2V0U3RhY2tQb2ludHMsZ2V0R3JhcGhQYXRoOkUuZ2V0R3JhcGhQYXRoLGRyYXdHcmFwaDpFLmRyYXdHcmFwaCxkcmF3TGVnZW5kU3ltYm9sOmEuTGVnZW5kU3ltYm9sTWl4aW4uZHJhd1JlY3RhbmdsZX0pfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYW5pbU9iamVjdCxGPWEuY29sb3IsRz1hLmVhY2gscT1hLmV4dGVuZCxsPWEuaXNOdW1iZXIsZj1hLm1lcmdlLHU9YS5waWNrLEM9YS5TZXJpZXMscj1hLnNlcmllc1R5cGUseT1hLnN2ZztyKCJjb2x1bW4iLCJsaW5lIix7Ym9yZGVyUmFkaXVzOjAsY3Jpc3A6ITAsZ3JvdXBQYWRkaW5nOi4yLG1hcmtlcjpudWxsLHBvaW50UGFkZGluZzouMSwKCW1pblBvaW50TGVuZ3RoOjAsY3JvcFRocmVzaG9sZDo1MCxwb2ludFJhbmdlOm51bGwsc3RhdGVzOntob3Zlcjp7aGFsbzohMSxicmlnaHRuZXNzOi4xfSxzZWxlY3Q6e2NvbG9yOiIjY2NjY2NjIixib3JkZXJDb2xvcjoiIzAwMDAwMCJ9fSxkYXRhTGFiZWxzOnthbGlnbjpudWxsLHZlcnRpY2FsQWxpZ246bnVsbCx5Om51bGx9LHNvZnRUaHJlc2hvbGQ6ITEsc3RhcnRGcm9tVGhyZXNob2xkOiEwLHN0aWNreVRyYWNraW5nOiExLHRvb2x0aXA6e2Rpc3RhbmNlOjZ9LHRocmVzaG9sZDowLGJvcmRlckNvbG9yOiIjZmZmZmZmIn0se2Nyb3BTaG91bGRlcjowLGRpcmVjdFRvdWNoOiEwLHRyYWNrZXJHcm91cHM6WyJncm91cCIsImRhdGFMYWJlbHNHcm91cCJdLG5lZ1N0YWNrczohMCxpbml0OmZ1bmN0aW9uKCl7Qy5wcm90b3R5cGUuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGE9dGhpcyxkPWEuY2hhcnQ7ZC5oYXNSZW5kZXJlZCYmRyhkLnNlcmllcyxmdW5jdGlvbihkKXtkLnR5cGU9PT0KCWEudHlwZSYmKGQuaXNEaXJ0eT0hMCl9KX0sZ2V0Q29sdW1uTWV0cmljczpmdW5jdGlvbigpe3ZhciBhPXRoaXMsZD1hLm9wdGlvbnMsZT1hLnhBeGlzLGc9YS55QXhpcyxtPWUub3B0aW9ucy5yZXZlcnNlZFN0YWNrcyxtPWUucmV2ZXJzZWQmJiFtfHwhZS5yZXZlcnNlZCYmbSxiLGM9e30sZj0wOyExPT09ZC5ncm91cGluZz9mPTE6RyhhLmNoYXJ0LnNlcmllcyxmdW5jdGlvbihkKXt2YXIgZT1kLm9wdGlvbnMsbj1kLnlBeGlzLGg7ZC50eXBlIT09YS50eXBlfHwhZC52aXNpYmxlJiZhLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzfHxnLmxlbiE9PW4ubGVufHxnLnBvcyE9PW4ucG9zfHwoZS5zdGFja2luZz8oYj1kLnN0YWNrS2V5LHZvaWQgMD09PWNbYl0mJihjW2JdPWYrKyksaD1jW2JdKTohMSE9PWUuZ3JvdXBpbmcmJihoPWYrKyksZC5jb2x1bW5JbmRleD1oKX0pO3ZhciBsPU1hdGgubWluKE1hdGguYWJzKGUudHJhbnNBKSooZS5vcmRpbmFsU2xvcGV8fAoJCWQucG9pbnRSYW5nZXx8ZS5jbG9zZXN0UG9pbnRSYW5nZXx8ZS50aWNrSW50ZXJ2YWx8fDEpLGUubGVuKSx0PWwqZC5ncm91cFBhZGRpbmcsbj0obC0yKnQpLyhmfHwxKSxkPU1hdGgubWluKGQubWF4UG9pbnRXaWR0aHx8ZS5sZW4sdShkLnBvaW50V2lkdGgsbiooMS0yKmQucG9pbnRQYWRkaW5nKSkpO2EuY29sdW1uTWV0cmljcz17d2lkdGg6ZCxvZmZzZXQ6KG4tZCkvMisodCsoKGEuY29sdW1uSW5kZXh8fDApKyhtPzE6MCkpKm4tbC8yKSoobT8tMToxKX07cmV0dXJuIGEuY29sdW1uTWV0cmljc30sY3Jpc3BDb2w6ZnVuY3Rpb24oYSxkLGUsZyl7dmFyIG09dGhpcy5jaGFydCxiPXRoaXMuYm9yZGVyV2lkdGgsYz0tKGIlMj8uNTowKSxiPWIlMj8uNToxO20uaW52ZXJ0ZWQmJm0ucmVuZGVyZXIuaXNWTUwmJihiKz0xKTt0aGlzLm9wdGlvbnMuY3Jpc3AmJihlPU1hdGgucm91bmQoYStlKStjLGE9TWF0aC5yb3VuZChhKStjLGUtPWEpO2c9TWF0aC5yb3VuZChkK2cpK2I7Yz0uNT49TWF0aC5hYnMoZCkmJgoJCS41PGc7ZD1NYXRoLnJvdW5kKGQpK2I7Zy09ZDtjJiZnJiYoLS1kLGcrPTEpO3JldHVybnt4OmEseTpkLHdpZHRoOmUsaGVpZ2h0Omd9fSx0cmFuc2xhdGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGQ9YS5jaGFydCxlPWEub3B0aW9ucyxnPWEuZGVuc2U9Mj5hLmNsb3Nlc3RQb2ludFJhbmdlKmEueEF4aXMudHJhbnNBLGc9YS5ib3JkZXJXaWR0aD11KGUuYm9yZGVyV2lkdGgsZz8wOjEpLG09YS55QXhpcyxiPWUudGhyZXNob2xkLGM9YS50cmFuc2xhdGVkVGhyZXNob2xkPW0uZ2V0VGhyZXNob2xkKGIpLGY9dShlLm1pblBvaW50TGVuZ3RoLDUpLGw9YS5nZXRDb2x1bW5NZXRyaWNzKCksdD1sLndpZHRoLG49YS5iYXJXPU1hdGgubWF4KHQsMSsyKmcpLHI9YS5wb2ludFhPZmZzZXQ9bC5vZmZzZXQ7ZC5pbnZlcnRlZCYmKGMtPS41KTtlLnBvaW50UGFkZGluZyYmKG49TWF0aC5jZWlsKG4pKTtDLnByb3RvdHlwZS50cmFuc2xhdGUuYXBwbHkoYSk7RyhhLnBvaW50cyxmdW5jdGlvbihlKXt2YXIgZz0KCQl1KGUueUJvdHRvbSxjKSxoPTk5OStNYXRoLmFicyhnKSxoPU1hdGgubWluKE1hdGgubWF4KC1oLGUucGxvdFkpLG0ubGVuK2gpLGw9ZS5wbG90WCtyLHA9bix2PU1hdGgubWluKGgsZyksdyxrPU1hdGgubWF4KGgsZyktdjtmJiZNYXRoLmFicyhrKTxmJiYoaz1mLHc9IW0ucmV2ZXJzZWQmJiFlLm5lZ2F0aXZlfHxtLnJldmVyc2VkJiZlLm5lZ2F0aXZlLGUueT09PWImJmEuZGF0YU1heDw9YiYmbS5taW48YiYmKHc9IXcpLHY9TWF0aC5hYnModi1jKT5mP2ctZjpjLSh3P2Y6MCkpO2UuYmFyWD1sO2UucG9pbnRXaWR0aD10O2UudG9vbHRpcFBvcz1kLmludmVydGVkP1ttLmxlbittLnBvcy1kLnBsb3RMZWZ0LWgsYS54QXhpcy5sZW4tbC1wLzIsa106W2wrcC8yLGgrbS5wb3MtZC5wbG90VG9wLGtdO2Uuc2hhcGVUeXBlPSJyZWN0IjtlLnNoYXBlQXJncz1hLmNyaXNwQ29sLmFwcGx5KGEsZS5pc051bGw/W2wsYyxwLDBdOltsLHYscCxrXSl9KX0sZ2V0U3ltYm9sOmEubm9vcCxkcmF3TGVnZW5kU3ltYm9sOmEuTGVnZW5kU3ltYm9sTWl4aW4uZHJhd1JlY3RhbmdsZSwKCWRyYXdHcmFwaDpmdW5jdGlvbigpe3RoaXMuZ3JvdXBbdGhpcy5kZW5zZT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJoaWdoY2hhcnRzLWRlbnNlLWRhdGEiKX0scG9pbnRBdHRyaWJzOmZ1bmN0aW9uKGEsZCl7dmFyIGU9dGhpcy5vcHRpb25zLGcsbT10aGlzLnBvaW50QXR0clRvT3B0aW9uc3x8e307Zz1tLnN0cm9rZXx8ImJvcmRlckNvbG9yIjt2YXIgYj1tWyJzdHJva2Utd2lkdGgiXXx8ImJvcmRlcldpZHRoIixjPWEmJmEuY29sb3J8fHRoaXMuY29sb3IsbD1hJiZhW2ddfHxlW2ddfHx0aGlzLmNvbG9yfHxjLHA9YSYmYVtiXXx8ZVtiXXx8dGhpc1tiXXx8MCxtPWUuZGFzaFN0eWxlO2EmJnRoaXMuem9uZXMubGVuZ3RoJiYoYz1hLmdldFpvbmUoKSxjPWEub3B0aW9ucy5jb2xvcnx8YyYmYy5jb2xvcnx8dGhpcy5jb2xvcik7ZCYmKGE9ZihlLnN0YXRlc1tkXSxhLm9wdGlvbnMuc3RhdGVzJiZhLm9wdGlvbnMuc3RhdGVzW2RdfHx7fSksZD1hLmJyaWdodG5lc3MsYz1hLmNvbG9yfHwKCQl2b2lkIDAhPT1kJiZGKGMpLmJyaWdodGVuKGEuYnJpZ2h0bmVzcykuZ2V0KCl8fGMsbD1hW2ddfHxsLHA9YVtiXXx8cCxtPWEuZGFzaFN0eWxlfHxtKTtnPXtmaWxsOmMsc3Ryb2tlOmwsInN0cm9rZS13aWR0aCI6cH07bSYmKGcuZGFzaHN0eWxlPW0pO3JldHVybiBnfSxkcmF3UG9pbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxkPXRoaXMuY2hhcnQsZT1hLm9wdGlvbnMsZz1kLnJlbmRlcmVyLG09ZS5hbmltYXRpb25MaW1pdHx8MjUwLGI7RyhhLnBvaW50cyxmdW5jdGlvbihjKXt2YXIgcD1jLmdyYXBoaWMsQj1wJiZkLnBvaW50Q291bnQ8bT8iYW5pbWF0ZSI6ImF0dHIiO2lmKGwoYy5wbG90WSkmJm51bGwhPT1jLnkpe2I9Yy5zaGFwZUFyZ3M7aWYocClwW0JdKGYoYikpO2Vsc2UgYy5ncmFwaGljPXA9Z1tjLnNoYXBlVHlwZV0oYikuYWRkKGMuZ3JvdXB8fGEuZ3JvdXApO2UuYm9yZGVyUmFkaXVzJiZwLmF0dHIoe3I6ZS5ib3JkZXJSYWRpdXN9KTtwW0JdKGEucG9pbnRBdHRyaWJzKGMsCgkJYy5zZWxlY3RlZCYmInNlbGVjdCIpKS5zaGFkb3coZS5zaGFkb3csbnVsbCxlLnN0YWNraW5nJiYhZS5ib3JkZXJSYWRpdXMpO3AuYWRkQ2xhc3MoYy5nZXRDbGFzc05hbWUoKSwhMCl9ZWxzZSBwJiYoYy5ncmFwaGljPXAuZGVzdHJveSgpKX0pfSxhbmltYXRlOmZ1bmN0aW9uKGEpe3ZhciBkPXRoaXMsZT10aGlzLnlBeGlzLGc9ZC5vcHRpb25zLG09dGhpcy5jaGFydC5pbnZlcnRlZCxiPXt9LGM9bT8idHJhbnNsYXRlWCI6InRyYW5zbGF0ZVkiLGY7eSYmKGE/KGIuc2NhbGVZPS4wMDEsYT1NYXRoLm1pbihlLnBvcytlLmxlbixNYXRoLm1heChlLnBvcyxlLnRvUGl4ZWxzKGcudGhyZXNob2xkKSkpLG0/Yi50cmFuc2xhdGVYPWEtZS5sZW46Yi50cmFuc2xhdGVZPWEsZC5ncm91cC5hdHRyKGIpKTooZj1kLmdyb3VwLmF0dHIoYyksZC5ncm91cC5hbmltYXRlKHtzY2FsZVk6MX0scShFKGQub3B0aW9ucy5hbmltYXRpb24pLHtzdGVwOmZ1bmN0aW9uKGEsZyl7YltjXT1mK2cucG9zKihlLnBvcy0KCQkJZik7ZC5ncm91cC5hdHRyKGIpfX0pKSxkLmFuaW1hdGU9bnVsbCkpfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGQ9YS5jaGFydDtkLmhhc1JlbmRlcmVkJiZHKGQuc2VyaWVzLGZ1bmN0aW9uKGQpe2QudHlwZT09PWEudHlwZSYmKGQuaXNEaXJ0eT0hMCl9KTtDLnByb3RvdHlwZS5yZW1vdmUuYXBwbHkoYSxhcmd1bWVudHMpfX0pfSkoSik7KGZ1bmN0aW9uKGEpe2E9YS5zZXJpZXNUeXBlO2EoImJhciIsImNvbHVtbiIsbnVsbCx7aW52ZXJ0ZWQ6ITB9KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLlNlcmllczthPWEuc2VyaWVzVHlwZTthKCJzY2F0dGVyIiwibGluZSIse2xpbmVXaWR0aDowLGZpbmROZWFyZXN0UG9pbnRCeToieHkiLG1hcmtlcjp7ZW5hYmxlZDohMH0sdG9vbHRpcDp7aGVhZGVyRm9ybWF0OidceDNjc3BhbiBzdHlsZVx4M2QiY29sb3I6e3BvaW50LmNvbG9yfSJceDNlXHUyNWNmXHgzYy9zcGFuXHgzZSBceDNjc3BhbiBzdHlsZVx4M2QiZm9udC1zaXplOiAwLjg1ZW0iXHgzZSB7c2VyaWVzLm5hbWV9XHgzYy9zcGFuXHgzZVx4M2Nici9ceDNlJywKCQlwb2ludEZvcm1hdDoieDogXHgzY2JceDNle3BvaW50Lnh9XHgzYy9iXHgzZVx4M2Nici9ceDNleTogXHgzY2JceDNle3BvaW50Lnl9XHgzYy9iXHgzZVx4M2Nici9ceDNlIn19LHtzb3J0ZWQ6ITEscmVxdWlyZVNvcnRpbmc6ITEsbm9TaGFyZWRUb29sdGlwOiEwLHRyYWNrZXJHcm91cHM6WyJncm91cCIsIm1hcmtlckdyb3VwIiwiZGF0YUxhYmVsc0dyb3VwIl0sdGFrZU9yZGluYWxQb3NpdGlvbjohMSxkcmF3R3JhcGg6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMubGluZVdpZHRoJiZFLnByb3RvdHlwZS5kcmF3R3JhcGguY2FsbCh0aGlzKX19KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmRlZzJyYWQsRj1hLmlzTnVtYmVyLEc9YS5waWNrLHE9YS5yZWxhdGl2ZUxlbmd0aDthLkNlbnRlcmVkU2VyaWVzTWl4aW49e2dldENlbnRlcjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucyxmPXRoaXMuY2hhcnQsdT0yKihhLnNsaWNlZE9mZnNldHx8MCksQz1mLnBsb3RXaWR0aC0yKnUsCgkJZj1mLnBsb3RIZWlnaHQtMip1LHI9YS5jZW50ZXIscj1bRyhyWzBdLCI1MCUiKSxHKHJbMV0sIjUwJSIpLGEuc2l6ZXx8IjEwMCUiLGEuaW5uZXJTaXplfHwwXSx5PU1hdGgubWluKEMsZikscCxkO2ZvcihwPTA7ND5wOysrcClkPXJbcF0sYT0yPnB8fDI9PT1wJiYvJSQvLnRlc3QoZCkscltwXT1xKGQsW0MsZix5LHJbMl1dW3BdKSsoYT91OjApO3JbM10+clsyXSYmKHJbM109clsyXSk7cmV0dXJuIHJ9LGdldFN0YXJ0QW5kRW5kUmFkaWFuczpmdW5jdGlvbihhLGYpe2E9RihhKT9hOjA7Zj1GKGYpJiZmPmEmJjM2MD5mLWE/ZjphKzM2MDtyZXR1cm57c3RhcnQ6RSooYSstOTApLGVuZDpFKihmKy05MCl9fX19KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5hZGRFdmVudCxGPWEuQ2VudGVyZWRTZXJpZXNNaXhpbixHPWEuZGVmaW5lZCxxPWEuZWFjaCxsPWEuZXh0ZW5kLGY9Ri5nZXRTdGFydEFuZEVuZFJhZGlhbnMsdT1hLmluQXJyYXksQz1hLm5vb3Ascj1hLnBpY2sseT1hLlBvaW50LAoJcD1hLlNlcmllcyxkPWEuc2VyaWVzVHlwZSxlPWEuc2V0QW5pbWF0aW9uO2QoInBpZSIsImxpbmUiLHtjZW50ZXI6W251bGwsbnVsbF0sY2xpcDohMSxjb2xvckJ5UG9pbnQ6ITAsZGF0YUxhYmVsczp7YWxsb3dPdmVybGFwOiEwLGRpc3RhbmNlOjMwLGVuYWJsZWQ6ITAsZm9ybWF0dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucG9pbnQuaXNOdWxsP3ZvaWQgMDp0aGlzLnBvaW50Lm5hbWV9LHg6MH0saWdub3JlSGlkZGVuUG9pbnQ6ITAsbGVnZW5kVHlwZToicG9pbnQiLG1hcmtlcjpudWxsLHNpemU6bnVsbCxzaG93SW5MZWdlbmQ6ITEsc2xpY2VkT2Zmc2V0OjEwLHN0aWNreVRyYWNraW5nOiExLHRvb2x0aXA6e2ZvbGxvd1BvaW50ZXI6ITB9LGJvcmRlckNvbG9yOiIjZmZmZmZmIixib3JkZXJXaWR0aDoxLHN0YXRlczp7aG92ZXI6e2JyaWdodG5lc3M6LjF9fX0se2lzQ2FydGVzaWFuOiExLHJlcXVpcmVTb3J0aW5nOiExLGRpcmVjdFRvdWNoOiEwLG5vU2hhcmVkVG9vbHRpcDohMCwKCXRyYWNrZXJHcm91cHM6WyJncm91cCIsImRhdGFMYWJlbHNHcm91cCJdLGF4aXNUeXBlczpbXSxwb2ludEF0dHJpYnM6YS5zZXJpZXNUeXBlcy5jb2x1bW4ucHJvdG90eXBlLnBvaW50QXR0cmlicyxhbmltYXRlOmZ1bmN0aW9uKGEpe3ZhciBkPXRoaXMsYj1kLnBvaW50cyxjPWQuc3RhcnRBbmdsZVJhZDthfHwocShiLGZ1bmN0aW9uKGEpe3ZhciBiPWEuZ3JhcGhpYyxlPWEuc2hhcGVBcmdzO2ImJihiLmF0dHIoe3I6YS5zdGFydFJ8fGQuY2VudGVyWzNdLzIsc3RhcnQ6YyxlbmQ6Y30pLGIuYW5pbWF0ZSh7cjplLnIsc3RhcnQ6ZS5zdGFydCxlbmQ6ZS5lbmR9LGQub3B0aW9ucy5hbmltYXRpb24pKX0pLGQuYW5pbWF0ZT1udWxsKX0sdXBkYXRlVG90YWxzOmZ1bmN0aW9uKCl7dmFyIGEsZD0wLGI9dGhpcy5wb2ludHMsYz1iLmxlbmd0aCxlLGY9dGhpcy5vcHRpb25zLmlnbm9yZUhpZGRlblBvaW50O2ZvcihhPTA7YTxjO2ErKyllPWJbYV0sZCs9ZiYmIWUudmlzaWJsZT8wOmUuaXNOdWxsPwoJCTA6ZS55O3RoaXMudG90YWw9ZDtmb3IoYT0wO2E8YzthKyspZT1iW2FdLGUucGVyY2VudGFnZT0wPGQmJihlLnZpc2libGV8fCFmKT9lLnkvZCoxMDA6MCxlLnRvdGFsPWR9LGdlbmVyYXRlUG9pbnRzOmZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuZ2VuZXJhdGVQb2ludHMuY2FsbCh0aGlzKTt0aGlzLnVwZGF0ZVRvdGFscygpfSx0cmFuc2xhdGU6ZnVuY3Rpb24oYSl7dGhpcy5nZW5lcmF0ZVBvaW50cygpO3ZhciBkPTAsYj10aGlzLm9wdGlvbnMsYz1iLnNsaWNlZE9mZnNldCxlPWMrKGIuYm9yZGVyV2lkdGh8fDApLGcsdCxuLGw9ZihiLnN0YXJ0QW5nbGUsYi5lbmRBbmdsZSksej10aGlzLnN0YXJ0QW5nbGVSYWQ9bC5zdGFydCxsPSh0aGlzLmVuZEFuZ2xlUmFkPWwuZW5kKS16LHA9dGhpcy5wb2ludHMsaCxxPWIuZGF0YUxhYmVscy5kaXN0YW5jZSxiPWIuaWdub3JlSGlkZGVuUG9pbnQsdSx2PXAubGVuZ3RoLHc7YXx8KHRoaXMuY2VudGVyPWE9dGhpcy5nZXRDZW50ZXIoKSk7dGhpcy5nZXRYPQoJCWZ1bmN0aW9uKGIsYyxkKXtuPU1hdGguYXNpbihNYXRoLm1pbigoYi1hWzFdKS8oYVsyXS8yK2QubGFiZWxEaXN0YW5jZSksMSkpO3JldHVybiBhWzBdKyhjPy0xOjEpKk1hdGguY29zKG4pKihhWzJdLzIrZC5sYWJlbERpc3RhbmNlKX07Zm9yKHU9MDt1PHY7dSsrKXt3PXBbdV07dy5sYWJlbERpc3RhbmNlPXIody5vcHRpb25zLmRhdGFMYWJlbHMmJncub3B0aW9ucy5kYXRhTGFiZWxzLmRpc3RhbmNlLHEpO3RoaXMubWF4TGFiZWxEaXN0YW5jZT1NYXRoLm1heCh0aGlzLm1heExhYmVsRGlzdGFuY2V8fDAsdy5sYWJlbERpc3RhbmNlKTtnPXorZCpsO2lmKCFifHx3LnZpc2libGUpZCs9dy5wZXJjZW50YWdlLzEwMDt0PXorZCpsO3cuc2hhcGVUeXBlPSJhcmMiO3cuc2hhcGVBcmdzPXt4OmFbMF0seTphWzFdLHI6YVsyXS8yLGlubmVyUjphWzNdLzIsc3RhcnQ6TWF0aC5yb3VuZCgxRTMqZykvMUUzLGVuZDpNYXRoLnJvdW5kKDFFMyp0KS8xRTN9O249KHQrZykvMjtuPjEuNSpNYXRoLlBJPwoJCW4tPTIqTWF0aC5QSTpuPC1NYXRoLlBJLzImJihuKz0yKk1hdGguUEkpO3cuc2xpY2VkVHJhbnNsYXRpb249e3RyYW5zbGF0ZVg6TWF0aC5yb3VuZChNYXRoLmNvcyhuKSpjKSx0cmFuc2xhdGVZOk1hdGgucm91bmQoTWF0aC5zaW4obikqYyl9O3Q9TWF0aC5jb3MobikqYVsyXS8yO2g9TWF0aC5zaW4obikqYVsyXS8yO3cudG9vbHRpcFBvcz1bYVswXSsuNyp0LGFbMV0rLjcqaF07dy5oYWxmPW48LU1hdGguUEkvMnx8bj5NYXRoLlBJLzI/MTowO3cuYW5nbGU9bjtnPU1hdGgubWluKGUsdy5sYWJlbERpc3RhbmNlLzUpO3cubGFiZWxQb3M9W2FbMF0rdCtNYXRoLmNvcyhuKSp3LmxhYmVsRGlzdGFuY2UsYVsxXStoK01hdGguc2luKG4pKncubGFiZWxEaXN0YW5jZSxhWzBdK3QrTWF0aC5jb3MobikqZyxhWzFdK2grTWF0aC5zaW4obikqZyxhWzBdK3QsYVsxXStoLDA+dy5sYWJlbERpc3RhbmNlPyJjZW50ZXIiOncuaGFsZj8icmlnaHQiOiJsZWZ0IixuXX19LGRyYXdHcmFwaDpudWxsLAoJZHJhd1BvaW50czpmdW5jdGlvbigpe3ZhciBhPXRoaXMsZD1hLmNoYXJ0LnJlbmRlcmVyLGIsYyxlLGYsdD1hLm9wdGlvbnMuc2hhZG93O3QmJiFhLnNoYWRvd0dyb3VwJiYoYS5zaGFkb3dHcm91cD1kLmcoInNoYWRvdyIpLmFkZChhLmdyb3VwKSk7cShhLnBvaW50cyxmdW5jdGlvbihuKXtjPW4uZ3JhcGhpYztpZihuLmlzTnVsbCljJiYobi5ncmFwaGljPWMuZGVzdHJveSgpKTtlbHNle2Y9bi5zaGFwZUFyZ3M7Yj1uLmdldFRyYW5zbGF0ZSgpO3ZhciBnPW4uc2hhZG93R3JvdXA7dCYmIWcmJihnPW4uc2hhZG93R3JvdXA9ZC5nKCJzaGFkb3ciKS5hZGQoYS5zaGFkb3dHcm91cCkpO2cmJmcuYXR0cihiKTtlPWEucG9pbnRBdHRyaWJzKG4sbi5zZWxlY3RlZCYmInNlbGVjdCIpO2M/Yy5zZXRSYWRpYWxSZWZlcmVuY2UoYS5jZW50ZXIpLmF0dHIoZSkuYW5pbWF0ZShsKGYsYikpOihuLmdyYXBoaWM9Yz1kW24uc2hhcGVUeXBlXShmKS5zZXRSYWRpYWxSZWZlcmVuY2UoYS5jZW50ZXIpLmF0dHIoYikuYWRkKGEuZ3JvdXApLAoJCWMuYXR0cihlKS5hdHRyKHsic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifSkuc2hhZG93KHQsZykpO2MuYXR0cih7dmlzaWJpbGl0eTpuLnZpc2libGU/ImluaGVyaXQiOiJoaWRkZW4ifSk7Yy5hZGRDbGFzcyhuLmdldENsYXNzTmFtZSgpKX19KX0sc2VhcmNoUG9pbnQ6Qyxzb3J0QnlBbmdsZTpmdW5jdGlvbihhLGQpe2Euc29ydChmdW5jdGlvbihhLGMpe3JldHVybiB2b2lkIDAhPT1hLmFuZ2xlJiYoYy5hbmdsZS1hLmFuZ2xlKSpkfSl9LGRyYXdMZWdlbmRTeW1ib2w6YS5MZWdlbmRTeW1ib2xNaXhpbi5kcmF3UmVjdGFuZ2xlLGdldENlbnRlcjpGLmdldENlbnRlcixnZXRTeW1ib2w6Q30se2luaXQ6ZnVuY3Rpb24oKXt5LnByb3RvdHlwZS5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgYT10aGlzLGQ7YS5uYW1lPXIoYS5uYW1lLCJTbGljZSIpO2Q9ZnVuY3Rpb24oYil7YS5zbGljZSgic2VsZWN0Ij09PWIudHlwZSl9O0UoYSwic2VsZWN0IixkKTtFKGEsInVuc2VsZWN0IiwKCQlkKTtyZXR1cm4gYX0saXNWYWxpZDpmdW5jdGlvbigpe3JldHVybiBhLmlzTnVtYmVyKHRoaXMueSwhMCkmJjA8PXRoaXMueX0sc2V0VmlzaWJsZTpmdW5jdGlvbihhLGQpe3ZhciBiPXRoaXMsYz1iLnNlcmllcyxlPWMuY2hhcnQsZz1jLm9wdGlvbnMuaWdub3JlSGlkZGVuUG9pbnQ7ZD1yKGQsZyk7YSE9PWIudmlzaWJsZSYmKGIudmlzaWJsZT1iLm9wdGlvbnMudmlzaWJsZT1hPXZvaWQgMD09PWE/IWIudmlzaWJsZTphLGMub3B0aW9ucy5kYXRhW3UoYixjLmRhdGEpXT1iLm9wdGlvbnMscShbImdyYXBoaWMiLCJkYXRhTGFiZWwiLCJjb25uZWN0b3IiLCJzaGFkb3dHcm91cCJdLGZ1bmN0aW9uKGMpe2lmKGJbY10pYltjXVthPyJzaG93IjoiaGlkZSJdKCEwKX0pLGIubGVnZW5kSXRlbSYmZS5sZWdlbmQuY29sb3JpemVJdGVtKGIsYSksYXx8ImhvdmVyIiE9PWIuc3RhdGV8fGIuc2V0U3RhdGUoIiIpLGcmJihjLmlzRGlydHk9ITApLGQmJmUucmVkcmF3KCkpfSxzbGljZTpmdW5jdGlvbihhLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCWQsYil7dmFyIGM9dGhpcy5zZXJpZXM7ZShiLGMuY2hhcnQpO3IoZCwhMCk7dGhpcy5zbGljZWQ9dGhpcy5vcHRpb25zLnNsaWNlZD1HKGEpP2E6IXRoaXMuc2xpY2VkO2Mub3B0aW9ucy5kYXRhW3UodGhpcyxjLmRhdGEpXT10aGlzLm9wdGlvbnM7dGhpcy5ncmFwaGljLmFuaW1hdGUodGhpcy5nZXRUcmFuc2xhdGUoKSk7dGhpcy5zaGFkb3dHcm91cCYmdGhpcy5zaGFkb3dHcm91cC5hbmltYXRlKHRoaXMuZ2V0VHJhbnNsYXRlKCkpfSxnZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zbGljZWQ/dGhpcy5zbGljZWRUcmFuc2xhdGlvbjp7dHJhbnNsYXRlWDowLHRyYW5zbGF0ZVk6MH19LGhhbG9QYXRoOmZ1bmN0aW9uKGEpe3ZhciBkPXRoaXMuc2hhcGVBcmdzO3JldHVybiB0aGlzLnNsaWNlZHx8IXRoaXMudmlzaWJsZT9bXTp0aGlzLnNlcmllcy5jaGFydC5yZW5kZXJlci5zeW1ib2xzLmFyYyhkLngsZC55LGQucithLGQucithLHtpbm5lclI6dGhpcy5zaGFwZUFyZ3Muci0KCQkxLHN0YXJ0OmQuc3RhcnQsZW5kOmQuZW5kfSl9fSl9KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5hZGRFdmVudCxGPWEuYXJyYXlNYXgsRz1hLmRlZmluZWQscT1hLmVhY2gsbD1hLmV4dGVuZCxmPWEuZm9ybWF0LHU9YS5tYXAsQz1hLm1lcmdlLHI9YS5ub29wLHk9YS5waWNrLHA9YS5yZWxhdGl2ZUxlbmd0aCxkPWEuU2VyaWVzLGU9YS5zZXJpZXNUeXBlcyxnPWEuc29tZSxtPWEuc3RhYmxlU29ydDthLmRpc3RyaWJ1dGU9ZnVuY3Rpb24oYixjLGQpe2Z1bmN0aW9uIGUoYSxiKXtyZXR1cm4gYS50YXJnZXQtYi50YXJnZXR9dmFyIGYsbj0hMCxsPWIsej1bXSxwO3A9MDt2YXIgaD1sLnJlZHVjZWRMZW58fGM7Zm9yKGY9Yi5sZW5ndGg7Zi0tOylwKz1iW2ZdLnNpemU7aWYocD5oKXttKGIsZnVuY3Rpb24oYSxiKXtyZXR1cm4oYi5yYW5rfHwwKS0oYS5yYW5rfHwwKX0pO2ZvcihwPWY9MDtwPD1oOylwKz1iW2ZdLnNpemUsZisrO3o9Yi5zcGxpY2UoZi0xLGIubGVuZ3RoKX1tKGIsZSk7Cglmb3IoYj11KGIsZnVuY3Rpb24oYSl7cmV0dXJue3NpemU6YS5zaXplLHRhcmdldHM6W2EudGFyZ2V0XSxhbGlnbjp5KGEuYWxpZ24sLjUpfX0pO247KXtmb3IoZj1iLmxlbmd0aDtmLS07KW49YltmXSxwPShNYXRoLm1pbi5hcHBseSgwLG4udGFyZ2V0cykrTWF0aC5tYXguYXBwbHkoMCxuLnRhcmdldHMpKS8yLG4ucG9zPU1hdGgubWluKE1hdGgubWF4KDAscC1uLnNpemUqbi5hbGlnbiksYy1uLnNpemUpO2Y9Yi5sZW5ndGg7Zm9yKG49ITE7Zi0tOykwPGYmJmJbZi0xXS5wb3MrYltmLTFdLnNpemU+YltmXS5wb3MmJihiW2YtMV0uc2l6ZSs9YltmXS5zaXplLGJbZi0xXS50YXJnZXRzPWJbZi0xXS50YXJnZXRzLmNvbmNhdChiW2ZdLnRhcmdldHMpLGJbZi0xXS5hbGlnbj0uNSxiW2YtMV0ucG9zK2JbZi0xXS5zaXplPmMmJihiW2YtMV0ucG9zPWMtYltmLTFdLnNpemUpLGIuc3BsaWNlKGYsMSksbj0hMCl9bC5wdXNoLmFwcGx5KGwseik7Zj0wO2coYixmdW5jdGlvbihiKXt2YXIgZT0KCQkwO2lmKGcoYi50YXJnZXRzLGZ1bmN0aW9uKCl7bFtmXS5wb3M9Yi5wb3MrZTtpZihNYXRoLmFicyhsW2ZdLnBvcy1sW2ZdLnRhcmdldCk+ZClyZXR1cm4gcShsLnNsaWNlKDAsZisxKSxmdW5jdGlvbihhKXtkZWxldGUgYS5wb3N9KSxsLnJlZHVjZWRMZW49KGwucmVkdWNlZExlbnx8YyktLjEqYyxsLnJlZHVjZWRMZW4+LjEqYyYmYS5kaXN0cmlidXRlKGwsYyxkKSwhMDtlKz1sW2ZdLnNpemU7ZisrfSkpcmV0dXJuITB9KTttKGwsZSl9O2QucHJvdG90eXBlLmRyYXdEYXRhTGFiZWxzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihhLGIpe3ZhciBjPWIuZmlsdGVyO3JldHVybiBjPyhiPWMub3BlcmF0b3IsYT1hW2MucHJvcGVydHldLGM9Yy52YWx1ZSwiXHgzZSI9PT1iJiZhPmN8fCJceDNjIj09PWImJmE8Y3x8Ilx4M2VceDNkIj09PWImJmE+PWN8fCJceDNjXHgzZCI9PT1iJiZhPD1jfHwiXHgzZFx4M2QiPT09YiYmYT09Y3x8Ilx4M2RceDNkXHgzZCI9PT1iJiZhPT09Yz8hMDohMSk6ITB9Cgl2YXIgYz10aGlzLGQ9Yy5jaGFydCxlPWMub3B0aW9ucyxnPWUuZGF0YUxhYmVscyxuPWMucG9pbnRzLG0sbCxwPWMuaGFzUmVuZGVyZWR8fDAsaCxyLHU9eShnLmRlZmVyLCEhZS5hbmltYXRpb24pLHY9ZC5yZW5kZXJlcjtpZihnLmVuYWJsZWR8fGMuX2hhc1BvaW50TGFiZWxzKWMuZGxQcm9jZXNzT3B0aW9ucyYmYy5kbFByb2Nlc3NPcHRpb25zKGcpLHI9Yy5wbG90R3JvdXAoImRhdGFMYWJlbHNHcm91cCIsImRhdGEtbGFiZWxzIix1JiYhcD8iaGlkZGVuIjoidmlzaWJsZSIsZy56SW5kZXh8fDYpLHUmJihyLmF0dHIoe29wYWNpdHk6K3B9KSxwfHxFKGMsImFmdGVyQW5pbWF0ZSIsZnVuY3Rpb24oKXtjLnZpc2libGUmJnIuc2hvdyghMCk7cltlLmFuaW1hdGlvbj8iYW5pbWF0ZSI6ImF0dHIiXSh7b3BhY2l0eToxfSx7ZHVyYXRpb246MjAwfSl9KSksbD1nLHEobixmdW5jdGlvbihuKXt2YXIgayx3PW4uZGF0YUxhYmVsLHQscCx6PW4uY29ubmVjdG9yLEQ9IXcseDttPW4uZGxPcHRpb25zfHwKCQluLm9wdGlvbnMmJm4ub3B0aW9ucy5kYXRhTGFiZWxzOyhrPXkobSYmbS5lbmFibGVkLGwuZW5hYmxlZCkmJiFuLmlzTnVsbCkmJihrPSEwPT09YihuLG18fGcpKTtrJiYoZz1DKGwsbSksdD1uLmdldExhYmVsQ29uZmlnKCkseD1nW24uZm9ybWF0UHJlZml4KyJGb3JtYXQiXXx8Zy5mb3JtYXQsaD1HKHgpP2YoeCx0LGQudGltZSk6KGdbbi5mb3JtYXRQcmVmaXgrIkZvcm1hdHRlciJdfHxnLmZvcm1hdHRlcikuY2FsbCh0LGcpLHg9Zy5zdHlsZSx0PWcucm90YXRpb24seC5jb2xvcj15KGcuY29sb3IseC5jb2xvcixjLmNvbG9yLCIjMDAwMDAwIiksImNvbnRyYXN0Ij09PXguY29sb3ImJihuLmNvbnRyYXN0Q29sb3I9di5nZXRDb250cmFzdChuLmNvbG9yfHxjLmNvbG9yKSx4LmNvbG9yPWcuaW5zaWRlfHwwPnkobi5sYWJlbERpc3RhbmNlLGcuZGlzdGFuY2UpfHxlLnN0YWNraW5nP24uY29udHJhc3RDb2xvcjoiIzAwMDAwMCIpLGUuY3Vyc29yJiYoeC5jdXJzb3I9ZS5jdXJzb3IpLHA9CgkJe2ZpbGw6Zy5iYWNrZ3JvdW5kQ29sb3Isc3Ryb2tlOmcuYm9yZGVyQ29sb3IsInN0cm9rZS13aWR0aCI6Zy5ib3JkZXJXaWR0aCxyOmcuYm9yZGVyUmFkaXVzfHwwLHJvdGF0aW9uOnQscGFkZGluZzpnLnBhZGRpbmcsekluZGV4OjF9LGEub2JqZWN0RWFjaChwLGZ1bmN0aW9uKGEsYil7dm9pZCAwPT09YSYmZGVsZXRlIHBbYl19KSk7IXd8fGsmJkcoaCk/ayYmRyhoKSYmKHc/cC50ZXh0PWg6KHc9bi5kYXRhTGFiZWw9dD92LnRleHQoaCwwLC05OTk5LGcudXNlSFRNTCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtZGF0YS1sYWJlbCIpOnYubGFiZWwoaCwwLC05OTk5LGcuc2hhcGUsbnVsbCxudWxsLGcudXNlSFRNTCxudWxsLCJkYXRhLWxhYmVsIiksdy5hZGRDbGFzcygiIGhpZ2hjaGFydHMtZGF0YS1sYWJlbC1jb2xvci0iK24uY29sb3JJbmRleCsiICIrKGcuY2xhc3NOYW1lfHwiIikrKGcudXNlSFRNTD8iIGhpZ2hjaGFydHMtdHJhY2tlciI6IiIpKSksdy5hdHRyKHApLHcuY3NzKHgpLnNoYWRvdyhnLnNoYWRvdyksCgl3LmFkZGVkfHx3LmFkZChyKSxjLmFsaWduRGF0YUxhYmVsKG4sdyxnLG51bGwsRCkpOihuLmRhdGFMYWJlbD13PXcuZGVzdHJveSgpLHomJihuLmNvbm5lY3Rvcj16LmRlc3Ryb3koKSkpfSk7YS5maXJlRXZlbnQodGhpcywiYWZ0ZXJEcmF3RGF0YUxhYmVscyIpfTtkLnByb3RvdHlwZS5hbGlnbkRhdGFMYWJlbD1mdW5jdGlvbihhLGMsZCxlLGcpe3ZhciBiPXRoaXMuY2hhcnQsbT1iLmludmVydGVkLGY9eShhLmRsQm94JiZhLmRsQm94LmNlbnRlclgsYS5wbG90WCwtOTk5OSksdD15KGEucGxvdFksLTk5OTkpLGg9Yy5nZXRCQm94KCkscCx4PWQucm90YXRpb24sdj1kLmFsaWduLHc9dGhpcy52aXNpYmxlJiYoYS5zZXJpZXMuZm9yY2VETHx8Yi5pc0luc2lkZVBsb3QoZixNYXRoLnJvdW5kKHQpLG0pfHxlJiZiLmlzSW5zaWRlUGxvdChmLG0/ZS54KzE6ZS55K2UuaGVpZ2h0LTEsbSkpLGs9Imp1c3RpZnkiPT09eShkLm92ZXJmbG93LCJqdXN0aWZ5Iik7aWYodyYmKHA9ZC5zdHlsZS5mb250U2l6ZSwKCQlwPWIucmVuZGVyZXIuZm9udE1ldHJpY3MocCxjKS5iLGU9bCh7eDptP3RoaXMueUF4aXMubGVuLXQ6Zix5Ok1hdGgucm91bmQobT90aGlzLnhBeGlzLmxlbi1mOnQpLHdpZHRoOjAsaGVpZ2h0OjB9LGUpLGwoZCx7d2lkdGg6aC53aWR0aCxoZWlnaHQ6aC5oZWlnaHR9KSx4PyhrPSExLGY9Yi5yZW5kZXJlci5yb3RDb3JyKHAseCksZj17eDplLngrZC54K2Uud2lkdGgvMitmLngseTplLnkrZC55K3t0b3A6MCxtaWRkbGU6LjUsYm90dG9tOjF9W2QudmVydGljYWxBbGlnbl0qZS5oZWlnaHR9LGNbZz8iYXR0ciI6ImFuaW1hdGUiXShmKS5hdHRyKHthbGlnbjp2fSksdD0oeCs3MjApJTM2MCx0PTE4MDx0JiYzNjA+dCwibGVmdCI9PT12P2YueS09dD9oLmhlaWdodDowOiJjZW50ZXIiPT09dj8oZi54LT1oLndpZHRoLzIsZi55LT1oLmhlaWdodC8yKToicmlnaHQiPT09diYmKGYueC09aC53aWR0aCxmLnktPXQ/MDpoLmhlaWdodCksYy5wbGFjZWQ9ITAsYy5hbGlnbkF0dHI9Zik6KGMuYWxpZ24oZCwKCQludWxsLGUpLGY9Yy5hbGlnbkF0dHIpLGsmJjA8PWUuaGVpZ2h0P2EuaXNMYWJlbEp1c3RpZmllZD10aGlzLmp1c3RpZnlEYXRhTGFiZWwoYyxkLGYsaCxlLGcpOnkoZC5jcm9wLCEwKSYmKHc9Yi5pc0luc2lkZVBsb3QoZi54LGYueSkmJmIuaXNJbnNpZGVQbG90KGYueCtoLndpZHRoLGYueStoLmhlaWdodCkpLGQuc2hhcGUmJiF4KSljW2c/ImF0dHIiOiJhbmltYXRlIl0oe2FuY2hvclg6bT9iLnBsb3RXaWR0aC1hLnBsb3RZOmEucGxvdFgsYW5jaG9yWTptP2IucGxvdEhlaWdodC1hLnBsb3RYOmEucGxvdFl9KTt3fHwoYy5hdHRyKHt5Oi05OTk5fSksYy5wbGFjZWQ9ITEpfTtkLnByb3RvdHlwZS5qdXN0aWZ5RGF0YUxhYmVsPWZ1bmN0aW9uKGEsYyxkLGUsZyxuKXt2YXIgYj10aGlzLmNoYXJ0LGY9Yy5hbGlnbixtPWMudmVydGljYWxBbGlnbixoLGwsdD1hLmJveD8wOmEucGFkZGluZ3x8MDtoPWQueCt0OzA+aCYmKCJyaWdodCI9PT1mP2MuYWxpZ249ImxlZnQiOmMueD0taCxsPSEwKTsKCWg9ZC54K2Uud2lkdGgtdDtoPmIucGxvdFdpZHRoJiYoImxlZnQiPT09Zj9jLmFsaWduPSJyaWdodCI6Yy54PWIucGxvdFdpZHRoLWgsbD0hMCk7aD1kLnkrdDswPmgmJigiYm90dG9tIj09PW0/Yy52ZXJ0aWNhbEFsaWduPSJ0b3AiOmMueT0taCxsPSEwKTtoPWQueStlLmhlaWdodC10O2g+Yi5wbG90SGVpZ2h0JiYoInRvcCI9PT1tP2MudmVydGljYWxBbGlnbj0iYm90dG9tIjpjLnk9Yi5wbG90SGVpZ2h0LWgsbD0hMCk7bCYmKGEucGxhY2VkPSFuLGEuYWxpZ24oYyxudWxsLGcpKTtyZXR1cm4gbH07ZS5waWUmJihlLnBpZS5wcm90b3R5cGUuZHJhd0RhdGFMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLGM9Yi5kYXRhLGUsZz1iLmNoYXJ0LGY9Yi5vcHRpb25zLmRhdGFMYWJlbHMsbj15KGYuY29ubmVjdG9yUGFkZGluZywxMCksbT15KGYuY29ubmVjdG9yV2lkdGgsMSksbD1nLnBsb3RXaWR0aCxwPWcucGxvdEhlaWdodCxoPU1hdGgucm91bmQoZy5jaGFydFdpZHRoLzMpLHIsdT0KCWIuY2VudGVyLHY9dVsyXS8yLHc9dVsxXSxrLEEsQyxFLEs9W1tdLFtdXSxPLE4sTSxTLFI9WzAsMCwwLDBdO2IudmlzaWJsZSYmKGYuZW5hYmxlZHx8Yi5faGFzUG9pbnRMYWJlbHMpJiYocShjLGZ1bmN0aW9uKGEpe2EuZGF0YUxhYmVsJiZhLnZpc2libGUmJmEuZGF0YUxhYmVsLnNob3J0ZW5lZCYmKGEuZGF0YUxhYmVsLmF0dHIoe3dpZHRoOiJhdXRvIn0pLmNzcyh7d2lkdGg6ImF1dG8iLHRleHRPdmVyZmxvdzoiY2xpcCJ9KSxhLmRhdGFMYWJlbC5zaG9ydGVuZWQ9ITEpfSksZC5wcm90b3R5cGUuZHJhd0RhdGFMYWJlbHMuYXBwbHkoYikscShjLGZ1bmN0aW9uKGEpe2EuZGF0YUxhYmVsJiYoYS52aXNpYmxlPyhLW2EuaGFsZl0ucHVzaChhKSxhLmRhdGFMYWJlbC5fcG9zPW51bGwsIUcoZi5zdHlsZS53aWR0aCkmJiFHKGEub3B0aW9ucy5kYXRhTGFiZWxzJiZhLm9wdGlvbnMuZGF0YUxhYmVscy5zdHlsZSYmYS5vcHRpb25zLmRhdGFMYWJlbHMuc3R5bGUud2lkdGgpJiZhLmRhdGFMYWJlbC5nZXRCQm94KCkud2lkdGg+CmgmJihhLmRhdGFMYWJlbC5jc3Moe3dpZHRoOi43Kmh9KSxhLmRhdGFMYWJlbC5zaG9ydGVuZWQ9ITApKTphLmRhdGFMYWJlbD1hLmRhdGFMYWJlbC5kZXN0cm95KCkpfSkscShLLGZ1bmN0aW9uKGMsZCl7dmFyIGgsbSx0PWMubGVuZ3RoLHo9W10sRDtpZih0KWZvcihiLnNvcnRCeUFuZ2xlKGMsZC0uNSksMDxiLm1heExhYmVsRGlzdGFuY2UmJihoPU1hdGgubWF4KDAsdy12LWIubWF4TGFiZWxEaXN0YW5jZSksbT1NYXRoLm1pbih3K3YrYi5tYXhMYWJlbERpc3RhbmNlLGcucGxvdEhlaWdodCkscShjLGZ1bmN0aW9uKGEpezA8YS5sYWJlbERpc3RhbmNlJiZhLmRhdGFMYWJlbCYmKGEudG9wPU1hdGgubWF4KDAsdy12LWEubGFiZWxEaXN0YW5jZSksYS5ib3R0b209TWF0aC5taW4odyt2K2EubGFiZWxEaXN0YW5jZSxnLnBsb3RIZWlnaHQpLEQ9YS5kYXRhTGFiZWwuZ2V0QkJveCgpLmhlaWdodHx8MjEsYS5kaXN0cmlidXRlQm94PXt0YXJnZXQ6YS5sYWJlbFBvc1sxXS1hLnRvcCtELwoJMixzaXplOkQscmFuazphLnl9LHoucHVzaChhLmRpc3RyaWJ1dGVCb3gpKX0pLGg9bStELWgsYS5kaXN0cmlidXRlKHosaCxoLzUpKSxTPTA7Uzx0O1MrKyllPWNbU10sQz1lLmxhYmVsUG9zLGs9ZS5kYXRhTGFiZWwsTT0hMT09PWUudmlzaWJsZT8iaGlkZGVuIjoiaW5oZXJpdCIsTj1oPUNbMV0seiYmRyhlLmRpc3RyaWJ1dGVCb3gpJiYodm9pZCAwPT09ZS5kaXN0cmlidXRlQm94LnBvcz9NPSJoaWRkZW4iOihFPWUuZGlzdHJpYnV0ZUJveC5zaXplLE49ZS50b3ArZS5kaXN0cmlidXRlQm94LnBvcykpLGRlbGV0ZSBlLnBvc2l0aW9uSW5kZXgsTz1mLmp1c3RpZnk/dVswXSsoZD8tMToxKSooditlLmxhYmVsRGlzdGFuY2UpOmIuZ2V0WChOPGUudG9wKzJ8fE4+ZS5ib3R0b20tMj9oOk4sZCxlKSxrLl9hdHRyPXt2aXNpYmlsaXR5Ok0sYWxpZ246Q1s2XX0say5fcG9zPXt4Ok8rZi54Kyh7bGVmdDpuLHJpZ2h0Oi1ufVtDWzZdXXx8MCkseTpOK2YueS0xMH0sQy54PU8sQy55PU4seShmLmNyb3AsCgkhMCkmJihBPWsuZ2V0QkJveCgpLndpZHRoLGg9bnVsbCxPLUE8biYmMT09PWQ/KGg9TWF0aC5yb3VuZChBLU8rbiksUlszXT1NYXRoLm1heChoLFJbM10pKTpPK0E+bC1uJiYwPT09ZCYmKGg9TWF0aC5yb3VuZChPK0EtbCtuKSxSWzFdPU1hdGgubWF4KGgsUlsxXSkpLDA+Ti1FLzI/UlswXT1NYXRoLm1heChNYXRoLnJvdW5kKC1OK0UvMiksUlswXSk6TitFLzI+cCYmKFJbMl09TWF0aC5tYXgoTWF0aC5yb3VuZChOK0UvMi1wKSxSWzJdKSksay5zaWRlT3ZlcmZsb3c9aCl9KSwwPT09RihSKXx8dGhpcy52ZXJpZnlEYXRhTGFiZWxPdmVyZmxvdyhSKSkmJih0aGlzLnBsYWNlRGF0YUxhYmVscygpLG0mJnEodGhpcy5wb2ludHMsZnVuY3Rpb24oYSl7dmFyIGM7cj1hLmNvbm5lY3RvcjtpZigoaz1hLmRhdGFMYWJlbCkmJmsuX3BvcyYmYS52aXNpYmxlJiYwPGEubGFiZWxEaXN0YW5jZSl7TT1rLl9hdHRyLnZpc2liaWxpdHk7aWYoYz0hcilhLmNvbm5lY3Rvcj1yPWcucmVuZGVyZXIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWRhdGEtbGFiZWwtY29ubmVjdG9yICBoaWdoY2hhcnRzLWNvbG9yLSIrCglhLmNvbG9ySW5kZXgrKGEuY2xhc3NOYW1lPyIgIithLmNsYXNzTmFtZToiIikpLmFkZChiLmRhdGFMYWJlbHNHcm91cCksci5hdHRyKHsic3Ryb2tlLXdpZHRoIjptLHN0cm9rZTpmLmNvbm5lY3RvckNvbG9yfHxhLmNvbG9yfHwiIzY2NjY2NiJ9KTtyW2M/ImF0dHIiOiJhbmltYXRlIl0oe2Q6Yi5jb25uZWN0b3JQYXRoKGEubGFiZWxQb3MpfSk7ci5hdHRyKCJ2aXNpYmlsaXR5IixNKX1lbHNlIHImJihhLmNvbm5lY3Rvcj1yLmRlc3Ryb3koKSl9KSl9LGUucGllLnByb3RvdHlwZS5jb25uZWN0b3JQYXRoPWZ1bmN0aW9uKGEpe3ZhciBiPWEueCxkPWEueTtyZXR1cm4geSh0aGlzLm9wdGlvbnMuZGF0YUxhYmVscy5zb2Z0Q29ubmVjdG9yLCEwKT9bIk0iLGIrKCJsZWZ0Ij09PWFbNl0/NTotNSksZCwiQyIsYixkLDIqYVsyXS1hWzRdLDIqYVszXS1hWzVdLGFbMl0sYVszXSwiTCIsYVs0XSxhWzVdXTpbIk0iLGIrKCJsZWZ0Ij09PWFbNl0/NTotNSksZCwiTCIsYVsyXSxhWzNdLCJMIiwKCWFbNF0sYVs1XV19LGUucGllLnByb3RvdHlwZS5wbGFjZURhdGFMYWJlbHM9ZnVuY3Rpb24oKXtxKHRoaXMucG9pbnRzLGZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YUxhYmVsO2ImJmEudmlzaWJsZSYmKChhPWIuX3Bvcyk/KGIuc2lkZU92ZXJmbG93JiYoYi5fYXR0ci53aWR0aD1iLmdldEJCb3goKS53aWR0aC1iLnNpZGVPdmVyZmxvdyxiLmNzcyh7d2lkdGg6Yi5fYXR0ci53aWR0aCsicHgiLHRleHRPdmVyZmxvdzoodGhpcy5vcHRpb25zLmRhdGFMYWJlbHMuc3R5bGV8fHt9KS50ZXh0T3ZlcmZsb3d8fCJlbGxpcHNpcyJ9KSxiLnNob3J0ZW5lZD0hMCksYi5hdHRyKGIuX2F0dHIpLGJbYi5tb3ZlZD8iYW5pbWF0ZSI6ImF0dHIiXShhKSxiLm1vdmVkPSEwKTpiJiZiLmF0dHIoe3k6LTk5OTl9KSl9LHRoaXMpfSxlLnBpZS5wcm90b3R5cGUuYWxpZ25EYXRhTGFiZWw9cixlLnBpZS5wcm90b3R5cGUudmVyaWZ5RGF0YUxhYmVsT3ZlcmZsb3c9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jZW50ZXIsCglkPXRoaXMub3B0aW9ucyxlPWQuY2VudGVyLGc9ZC5taW5TaXplfHw4MCxuLGY9bnVsbCE9PWQuc2l6ZTtmfHwobnVsbCE9PWVbMF0/bj1NYXRoLm1heChiWzJdLU1hdGgubWF4KGFbMV0sYVszXSksZyk6KG49TWF0aC5tYXgoYlsyXS1hWzFdLWFbM10sZyksYlswXSs9KGFbM10tYVsxXSkvMiksbnVsbCE9PWVbMV0/bj1NYXRoLm1heChNYXRoLm1pbihuLGJbMl0tTWF0aC5tYXgoYVswXSxhWzJdKSksZyk6KG49TWF0aC5tYXgoTWF0aC5taW4obixiWzJdLWFbMF0tYVsyXSksZyksYlsxXSs9KGFbMF0tYVsyXSkvMiksbjxiWzJdPyhiWzJdPW4sYlszXT1NYXRoLm1pbihwKGQuaW5uZXJTaXplfHwwLG4pLG4pLHRoaXMudHJhbnNsYXRlKGIpLHRoaXMuZHJhd0RhdGFMYWJlbHMmJnRoaXMuZHJhd0RhdGFMYWJlbHMoKSk6Zj0hMCk7cmV0dXJuIGZ9KTtlLmNvbHVtbiYmKGUuY29sdW1uLnByb3RvdHlwZS5hbGlnbkRhdGFMYWJlbD1mdW5jdGlvbihhLGMsZSxnLGYpe3ZhciBiPXRoaXMuY2hhcnQuaW52ZXJ0ZWQsCgltPWEuc2VyaWVzLGw9YS5kbEJveHx8YS5zaGFwZUFyZ3MscD15KGEuYmVsb3csYS5wbG90WT55KHRoaXMudHJhbnNsYXRlZFRocmVzaG9sZCxtLnlBeGlzLmxlbikpLGg9eShlLmluc2lkZSwhIXRoaXMub3B0aW9ucy5zdGFja2luZyk7bCYmKGc9QyhsKSwwPmcueSYmKGcuaGVpZ2h0Kz1nLnksZy55PTApLGw9Zy55K2cuaGVpZ2h0LW0ueUF4aXMubGVuLDA8bCYmKGcuaGVpZ2h0LT1sKSxiJiYoZz17eDptLnlBeGlzLmxlbi1nLnktZy5oZWlnaHQseTptLnhBeGlzLmxlbi1nLngtZy53aWR0aCx3aWR0aDpnLmhlaWdodCxoZWlnaHQ6Zy53aWR0aH0pLGh8fChiPyhnLngrPXA/MDpnLndpZHRoLGcud2lkdGg9MCk6KGcueSs9cD9nLmhlaWdodDowLGcuaGVpZ2h0PTApKSk7ZS5hbGlnbj15KGUuYWxpZ24sIWJ8fGg/ImNlbnRlciI6cD8icmlnaHQiOiJsZWZ0Iik7ZS52ZXJ0aWNhbEFsaWduPXkoZS52ZXJ0aWNhbEFsaWduLGJ8fGg/Im1pZGRsZSI6cD8idG9wIjoiYm90dG9tIik7ZC5wcm90b3R5cGUuYWxpZ25EYXRhTGFiZWwuY2FsbCh0aGlzLAoJYSxjLGUsZyxmKTthLmlzTGFiZWxKdXN0aWZpZWQmJmEuY29udHJhc3RDb2xvciYmYS5kYXRhTGFiZWwuY3NzKHtjb2xvcjphLmNvbnRyYXN0Q29sb3J9KX0pfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuQ2hhcnQsRj1hLmVhY2gsRz1hLm9iamVjdEVhY2gscT1hLnBpY2s7YT1hLmFkZEV2ZW50O2EoRSwicmVuZGVyIixmdW5jdGlvbigpe3ZhciBhPVtdO0YodGhpcy5sYWJlbENvbGxlY3RvcnN8fFtdLGZ1bmN0aW9uKGYpe2E9YS5jb25jYXQoZigpKX0pO0YodGhpcy55QXhpc3x8W10sZnVuY3Rpb24oZil7Zi5vcHRpb25zLnN0YWNrTGFiZWxzJiYhZi5vcHRpb25zLnN0YWNrTGFiZWxzLmFsbG93T3ZlcmxhcCYmRyhmLnN0YWNrcyxmdW5jdGlvbihmKXtHKGYsZnVuY3Rpb24oZil7YS5wdXNoKGYubGFiZWwpfSl9KX0pO0YodGhpcy5zZXJpZXN8fFtdLGZ1bmN0aW9uKGYpe3ZhciBsPWYub3B0aW9ucy5kYXRhTGFiZWxzLEM9Zi5kYXRhTGFiZWxDb2xsZWN0aW9uc3x8WyJkYXRhTGFiZWwiXTsKCShsLmVuYWJsZWR8fGYuX2hhc1BvaW50TGFiZWxzKSYmIWwuYWxsb3dPdmVybGFwJiZmLnZpc2libGUmJkYoQyxmdW5jdGlvbihsKXtGKGYucG9pbnRzLGZ1bmN0aW9uKGYpe2ZbbF0mJmYudmlzaWJsZSYmKGZbbF0ubGFiZWxyYW5rPXEoZi5sYWJlbHJhbmssZi5zaGFwZUFyZ3MmJmYuc2hhcGVBcmdzLmhlaWdodCksYS5wdXNoKGZbbF0pKX0pfSl9KTt0aGlzLmhpZGVPdmVybGFwcGluZ0xhYmVscyhhKX0pO0UucHJvdG90eXBlLmhpZGVPdmVybGFwcGluZ0xhYmVscz1mdW5jdGlvbihhKXt2YXIgZj1hLmxlbmd0aCxsPXRoaXMucmVuZGVyZXIscSxyLHkscCxkLGUsZz1mdW5jdGlvbihhLGIsYyxkLGUsZyxuLGYpe3JldHVybiEoZT5hK2N8fGUrbjxhfHxnPmIrZHx8ZytmPGIpfTt5PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPTIqKGEuYm94PzA6YS5wYWRkaW5nfHwwKTtkPTA7aWYoYSYmKCFhLmFsaWduQXR0cnx8YS5wbGFjZWQpKXJldHVybiBiPWEuYWxpZ25BdHRyfHx7eDphLmF0dHIoIngiKSwKCXk6YS5hdHRyKCJ5Iil9LGM9YS5wYXJlbnRHcm91cCxhLndpZHRofHwoZD1hLmdldEJCb3goKSxhLndpZHRoPWQud2lkdGgsYS5oZWlnaHQ9ZC5oZWlnaHQsZD1sLmZvbnRNZXRyaWNzKG51bGwsYS5lbGVtZW50KS5oKSx7eDpiLngrKGMudHJhbnNsYXRlWHx8MCkseTpiLnkrKGMudHJhbnNsYXRlWXx8MCktZCx3aWR0aDphLndpZHRoLWUsaGVpZ2h0OmEuaGVpZ2h0LWV9fTtmb3Iocj0wO3I8ZjtyKyspaWYocT1hW3JdKXEub2xkT3BhY2l0eT1xLm9wYWNpdHkscS5uZXdPcGFjaXR5PTEscS5hYnNvbHV0ZUJveD15KHEpO2Euc29ydChmdW5jdGlvbihhLGIpe3JldHVybihiLmxhYmVscmFua3x8MCktKGEubGFiZWxyYW5rfHwwKX0pO2ZvcihyPTA7cjxmO3IrKylmb3IoZT0oeT1hW3JdKSYmeS5hYnNvbHV0ZUJveCxxPXIrMTtxPGY7KytxKWlmKGQ9KHA9YVtxXSkmJnAuYWJzb2x1dGVCb3gsZSYmZCYmeSE9PXAmJjAhPT15Lm5ld09wYWNpdHkmJjAhPT1wLm5ld09wYWNpdHkmJihkPWcoZS54LAoJCWUueSxlLndpZHRoLGUuaGVpZ2h0LGQueCxkLnksZC53aWR0aCxkLmhlaWdodCkpKSh5LmxhYmVscmFuazxwLmxhYmVscmFuaz95OnApLm5ld09wYWNpdHk9MDtGKGEsZnVuY3Rpb24oYSl7dmFyIGIsYzthJiYoYz1hLm5ld09wYWNpdHksYS5vbGRPcGFjaXR5IT09YyYmKGEuYWxpZ25BdHRyJiZhLnBsYWNlZD8oYz9hLnNob3coITApOmI9ZnVuY3Rpb24oKXthLmhpZGUoKX0sYS5hbGlnbkF0dHIub3BhY2l0eT1jLGFbYS5pc09sZD8iYW5pbWF0ZSI6ImF0dHIiXShhLmFsaWduQXR0cixudWxsLGIpKTphLmF0dHIoe29wYWNpdHk6Y30pKSxhLmlzT2xkPSEwKX0pfX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmFkZEV2ZW50LEY9YS5DaGFydCxHPWEuY3JlYXRlRWxlbWVudCxxPWEuY3NzLGw9YS5kZWZhdWx0T3B0aW9ucyxmPWEuZGVmYXVsdFBsb3RPcHRpb25zLHU9YS5lYWNoLEM9YS5leHRlbmQscj1hLmZpcmVFdmVudCx5PWEuaGFzVG91Y2gscD1hLmluQXJyYXksZD1hLmlzT2JqZWN0LAoJZT1hLkxlZ2VuZCxnPWEubWVyZ2UsbT1hLnBpY2ssYj1hLlBvaW50LGM9YS5TZXJpZXMseD1hLnNlcmllc1R5cGVzLEI9YS5zdmcsdDt0PWEuVHJhY2tlck1peGluPXtkcmF3VHJhY2tlclBvaW50OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEuY2hhcnQucG9pbnRlcixjPWZ1bmN0aW9uKGEpe3ZhciBjPWIuZ2V0UG9pbnRGcm9tRXZlbnQoYSk7dm9pZCAwIT09YyYmKGIuaXNEaXJlY3RUb3VjaD0hMCxjLm9uTW91c2VPdmVyKGEpKX07dShhLnBvaW50cyxmdW5jdGlvbihhKXthLmdyYXBoaWMmJihhLmdyYXBoaWMuZWxlbWVudC5wb2ludD1hKTthLmRhdGFMYWJlbCYmKGEuZGF0YUxhYmVsLmRpdj9hLmRhdGFMYWJlbC5kaXYucG9pbnQ9YTphLmRhdGFMYWJlbC5lbGVtZW50LnBvaW50PWEpfSk7YS5faGFzVHJhY2tpbmd8fCh1KGEudHJhY2tlckdyb3VwcyxmdW5jdGlvbihkKXtpZihhW2RdKXthW2RdLmFkZENsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKS5vbigibW91c2VvdmVyIixjKS5vbigibW91c2VvdXQiLAoJCWZ1bmN0aW9uKGEpe2Iub25UcmFja2VyTW91c2VPdXQoYSl9KTtpZih5KWFbZF0ub24oInRvdWNoc3RhcnQiLGMpO2Eub3B0aW9ucy5jdXJzb3ImJmFbZF0uY3NzKHEpLmNzcyh7Y3Vyc29yOmEub3B0aW9ucy5jdXJzb3J9KX19KSxhLl9oYXNUcmFja2luZz0hMCk7cih0aGlzLCJhZnRlckRyYXdUcmFja2VyIil9LGRyYXdUcmFja2VyR3JhcGg6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5vcHRpb25zLGM9Yi50cmFja0J5QXJlYSxkPVtdLmNvbmNhdChjP2EuYXJlYVBhdGg6YS5ncmFwaFBhdGgpLGU9ZC5sZW5ndGgsZz1hLmNoYXJ0LGY9Zy5wb2ludGVyLG09Zy5yZW5kZXJlcix3PWcub3B0aW9ucy50b29sdGlwLnNuYXAsaz1hLnRyYWNrZXIsbCxwPWZ1bmN0aW9uKCl7aWYoZy5ob3ZlclNlcmllcyE9PWEpYS5vbk1vdXNlT3ZlcigpfSx0PSJyZ2JhKDE5MiwxOTIsMTkyLCIrKEI/LjAwMDE6LjAwMikrIikiO2lmKGUmJiFjKWZvcihsPWUrMTtsLS07KSJNIj09PWRbbF0mJmQuc3BsaWNlKGwrCgkJMSwwLGRbbCsxXS13LGRbbCsyXSwiTCIpLChsJiYiTSI9PT1kW2xdfHxsPT09ZSkmJmQuc3BsaWNlKGwsMCwiTCIsZFtsLTJdK3csZFtsLTFdKTtrP2suYXR0cih7ZDpkfSk6YS5ncmFwaCYmKGEudHJhY2tlcj1tLnBhdGgoZCkuYXR0cih7InN0cm9rZS1saW5lam9pbiI6InJvdW5kIixzdHJva2U6dCxmaWxsOmM/dDoibm9uZSIsInN0cm9rZS13aWR0aCI6YS5ncmFwaC5zdHJva2VXaWR0aCgpKyhjPzA6Mip3KSx2aXNpYmlsaXR5OmEudmlzaWJsZT8idmlzaWJsZSI6ImhpZGRlbiIsekluZGV4OjJ9KS5hZGRDbGFzcyhjPyJoaWdoY2hhcnRzLXRyYWNrZXItYXJlYSI6ImhpZ2hjaGFydHMtdHJhY2tlci1saW5lIikuYWRkKGEuZ3JvdXApLHUoW2EudHJhY2tlcixhLm1hcmtlckdyb3VwXSxmdW5jdGlvbihhKXthLmFkZENsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKS5vbigibW91c2VvdmVyIixwKS5vbigibW91c2VvdXQiLGZ1bmN0aW9uKGEpe2Yub25UcmFja2VyTW91c2VPdXQoYSl9KTsKCQliLmN1cnNvciYmYS5jc3Moe2N1cnNvcjpiLmN1cnNvcn0pO2lmKHkpYS5vbigidG91Y2hzdGFydCIscCl9KSk7cih0aGlzLCJhZnRlckRyYXdUcmFja2VyIil9fTt4LmNvbHVtbiYmKHguY29sdW1uLnByb3RvdHlwZS5kcmF3VHJhY2tlcj10LmRyYXdUcmFja2VyUG9pbnQpO3gucGllJiYoeC5waWUucHJvdG90eXBlLmRyYXdUcmFja2VyPXQuZHJhd1RyYWNrZXJQb2ludCk7eC5zY2F0dGVyJiYoeC5zY2F0dGVyLnByb3RvdHlwZS5kcmF3VHJhY2tlcj10LmRyYXdUcmFja2VyUG9pbnQpO0MoZS5wcm90b3R5cGUse3NldEl0ZW1FdmVudHM6ZnVuY3Rpb24oYSxjLGQpe3ZhciBlPXRoaXMsaD1lLmNoYXJ0LnJlbmRlcmVyLmJveFdyYXBwZXIsbj0iaGlnaGNoYXJ0cy1sZWdlbmQtIisoYSBpbnN0YW5jZW9mIGI/InBvaW50Ijoic2VyaWVzIikrIi1hY3RpdmUiOyhkP2M6YS5sZWdlbmRHcm91cCkub24oIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLnNldFN0YXRlKCJob3ZlciIpO2guYWRkQ2xhc3Mobik7CgkJYy5jc3MoZS5vcHRpb25zLml0ZW1Ib3ZlclN0eWxlKX0pLm9uKCJtb3VzZW91dCIsZnVuY3Rpb24oKXtjLmNzcyhnKGEudmlzaWJsZT9lLml0ZW1TdHlsZTplLml0ZW1IaWRkZW5TdHlsZSkpO2gucmVtb3ZlQ2xhc3Mobik7YS5zZXRTdGF0ZSgpfSkub24oImNsaWNrIixmdW5jdGlvbihiKXt2YXIgYz1mdW5jdGlvbigpe2Euc2V0VmlzaWJsZSYmYS5zZXRWaXNpYmxlKCl9O2gucmVtb3ZlQ2xhc3Mobik7Yj17YnJvd3NlckV2ZW50OmJ9O2EuZmlyZVBvaW50RXZlbnQ/YS5maXJlUG9pbnRFdmVudCgibGVnZW5kSXRlbUNsaWNrIixiLGMpOnIoYSwibGVnZW5kSXRlbUNsaWNrIixiLGMpfSl9LGNyZWF0ZUNoZWNrYm94Rm9ySXRlbTpmdW5jdGlvbihhKXthLmNoZWNrYm94PUcoImlucHV0Iix7dHlwZToiY2hlY2tib3giLGNsYXNzTmFtZToiaGlnaGNoYXJ0cy1sZWdlbmQtY2hlY2tib3giLGNoZWNrZWQ6YS5zZWxlY3RlZCxkZWZhdWx0Q2hlY2tlZDphLnNlbGVjdGVkfSx0aGlzLm9wdGlvbnMuaXRlbUNoZWNrYm94U3R5bGUsCgkJdGhpcy5jaGFydC5jb250YWluZXIpO0UoYS5jaGVja2JveCwiY2xpY2siLGZ1bmN0aW9uKGIpe3IoYS5zZXJpZXN8fGEsImNoZWNrYm94Q2xpY2siLHtjaGVja2VkOmIudGFyZ2V0LmNoZWNrZWQsaXRlbTphfSxmdW5jdGlvbigpe2Euc2VsZWN0KCl9KX0pfX0pO2wubGVnZW5kLml0ZW1TdHlsZS5jdXJzb3I9InBvaW50ZXIiO0MoRi5wcm90b3R5cGUse3Nob3dSZXNldFpvb206ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Yi56b29tT3V0KCl9dmFyIGI9dGhpcyxjPWwubGFuZyxkPWIub3B0aW9ucy5jaGFydC5yZXNldFpvb21CdXR0b24sZT1kLnRoZW1lLGc9ZS5zdGF0ZXMsZj0iY2hhcnQiPT09ZC5yZWxhdGl2ZVRvP251bGw6InBsb3RCb3giO3IodGhpcywiYmVmb3JlU2hvd1Jlc2V0Wm9vbSIsbnVsbCxmdW5jdGlvbigpe2IucmVzZXRab29tQnV0dG9uPWIucmVuZGVyZXIuYnV0dG9uKGMucmVzZXRab29tLG51bGwsbnVsbCxhLGUsZyYmZy5ob3ZlcikuYXR0cih7YWxpZ246ZC5wb3NpdGlvbi5hbGlnbiwKCQl0aXRsZTpjLnJlc2V0Wm9vbVRpdGxlfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcmVzZXQtem9vbSIpLmFkZCgpLmFsaWduKGQucG9zaXRpb24sITEsZil9KX0sem9vbU91dDpmdW5jdGlvbigpe3IodGhpcywic2VsZWN0aW9uIix7cmVzZXRTZWxlY3Rpb246ITB9LHRoaXMuem9vbSl9LHpvb206ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLnBvaW50ZXIsZT0hMSxoOyFhfHxhLnJlc2V0U2VsZWN0aW9uPyh1KHRoaXMuYXhlcyxmdW5jdGlvbihhKXtiPWEuem9vbSgpfSksYy5pbml0aWF0ZWQ9ITEpOnUoYS54QXhpcy5jb25jYXQoYS55QXhpcyksZnVuY3Rpb24oYSl7dmFyIGQ9YS5heGlzO2NbZC5pc1hBeGlzPyJ6b29tWCI6Inpvb21ZIl0mJihiPWQuem9vbShhLm1pbixhLm1heCksZC5kaXNwbGF5QnRuJiYoZT0hMCkpfSk7aD10aGlzLnJlc2V0Wm9vbUJ1dHRvbjtlJiYhaD90aGlzLnNob3dSZXNldFpvb20oKTohZSYmZChoKSYmKHRoaXMucmVzZXRab29tQnV0dG9uPWguZGVzdHJveSgpKTsKCQliJiZ0aGlzLnJlZHJhdyhtKHRoaXMub3B0aW9ucy5jaGFydC5hbmltYXRpb24sYSYmYS5hbmltYXRpb24sMTAwPnRoaXMucG9pbnRDb3VudCkpfSxwYW46ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLGQ9Yy5ob3ZlclBvaW50cyxlO2QmJnUoZCxmdW5jdGlvbihhKXthLnNldFN0YXRlKCl9KTt1KCJ4eSI9PT1iP1sxLDBdOlsxXSxmdW5jdGlvbihiKXtiPWNbYj8ieEF4aXMiOiJ5QXhpcyJdWzBdO3ZhciBkPWIuaG9yaXosaD1hW2Q/ImNoYXJ0WCI6ImNoYXJ0WSJdLGQ9ZD8ibW91c2VEb3duWCI6Im1vdXNlRG93blkiLGc9Y1tkXSxrPShiLnBvaW50UmFuZ2V8fDApLzIsbj1iLnJldmVyc2VkJiYhYy5pbnZlcnRlZHx8IWIucmV2ZXJzZWQmJmMuaW52ZXJ0ZWQ/LTE6MSxmPWIuZ2V0RXh0cmVtZXMoKSxtPWIudG9WYWx1ZShnLWgsITApK2sqbixuPWIudG9WYWx1ZShnK2IubGVuLWgsITApLWsqbixsPW48bSxnPWw/bjptLG09bD9tOm4sbj1NYXRoLm1pbihmLmRhdGFNaW4saz9mLm1pbjoKCQliLnRvVmFsdWUoYi50b1BpeGVscyhmLm1pbiktYi5taW5QaXhlbFBhZGRpbmcpKSxrPU1hdGgubWF4KGYuZGF0YU1heCxrP2YubWF4OmIudG9WYWx1ZShiLnRvUGl4ZWxzKGYubWF4KStiLm1pblBpeGVsUGFkZGluZykpLGw9bi1nOzA8bCYmKG0rPWwsZz1uKTtsPW0tazswPGwmJihtPWssZy09bCk7Yi5zZXJpZXMubGVuZ3RoJiZnIT09Zi5taW4mJm0hPT1mLm1heCYmKGIuc2V0RXh0cmVtZXMoZyxtLCExLCExLHt0cmlnZ2VyOiJwYW4ifSksZT0hMCk7Y1tkXT1ofSk7ZSYmYy5yZWRyYXcoITEpO3EoYy5jb250YWluZXIse2N1cnNvcjoibW92ZSJ9KX19KTtDKGIucHJvdG90eXBlLHtzZWxlY3Q6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLGQ9Yy5zZXJpZXMsZT1kLmNoYXJ0O2E9bShhLCFjLnNlbGVjdGVkKTtjLmZpcmVQb2ludEV2ZW50KGE/InNlbGVjdCI6InVuc2VsZWN0Iix7YWNjdW11bGF0ZTpifSxmdW5jdGlvbigpe2Muc2VsZWN0ZWQ9Yy5vcHRpb25zLnNlbGVjdGVkPWE7ZC5vcHRpb25zLmRhdGFbcChjLAoJCWQuZGF0YSldPWMub3B0aW9ucztjLnNldFN0YXRlKGEmJiJzZWxlY3QiKTtifHx1KGUuZ2V0U2VsZWN0ZWRQb2ludHMoKSxmdW5jdGlvbihhKXthLnNlbGVjdGVkJiZhIT09YyYmKGEuc2VsZWN0ZWQ9YS5vcHRpb25zLnNlbGVjdGVkPSExLGQub3B0aW9ucy5kYXRhW3AoYSxkLmRhdGEpXT1hLm9wdGlvbnMsYS5zZXRTdGF0ZSgiIiksYS5maXJlUG9pbnRFdmVudCgidW5zZWxlY3QiKSl9KX0pfSxvbk1vdXNlT3ZlcjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnNlcmllcy5jaGFydCxjPWIucG9pbnRlcjthPWE/Yy5ub3JtYWxpemUoYSk6Yy5nZXRDaGFydENvb3JkaW5hdGVzRnJvbVBvaW50KHRoaXMsYi5pbnZlcnRlZCk7Yy5ydW5Qb2ludEFjdGlvbnMoYSx0aGlzKX0sb25Nb3VzZU91dDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuc2VyaWVzLmNoYXJ0O3RoaXMuZmlyZVBvaW50RXZlbnQoIm1vdXNlT3V0Iik7dShhLmhvdmVyUG9pbnRzfHxbXSxmdW5jdGlvbihhKXthLnNldFN0YXRlKCl9KTsKCQlhLmhvdmVyUG9pbnRzPWEuaG92ZXJQb2ludD1udWxsfSxpbXBvcnRFdmVudHM6ZnVuY3Rpb24oKXtpZighdGhpcy5oYXNJbXBvcnRlZEV2ZW50cyl7dmFyIGI9dGhpcyxjPWcoYi5zZXJpZXMub3B0aW9ucy5wb2ludCxiLm9wdGlvbnMpLmV2ZW50cztiLmV2ZW50cz1jO2Eub2JqZWN0RWFjaChjLGZ1bmN0aW9uKGEsYyl7RShiLGMsYSl9KTt0aGlzLmhhc0ltcG9ydGVkRXZlbnRzPSEwfX0sc2V0U3RhdGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1NYXRoLmZsb29yKHRoaXMucGxvdFgpLGQ9dGhpcy5wbG90WSxlPXRoaXMuc2VyaWVzLGc9ZS5vcHRpb25zLnN0YXRlc1thfHwibm9ybWFsIl18fHt9LG49ZltlLnR5cGVdLm1hcmtlciYmZS5vcHRpb25zLm1hcmtlcix2PW4mJiExPT09bi5lbmFibGVkLGw9biYmbi5zdGF0ZXMmJm4uc3RhdGVzW2F8fCJub3JtYWwiXXx8e30saz0hMT09PWwuZW5hYmxlZCxwPWUuc3RhdGVNYXJrZXJHcmFwaGljLHQ9dGhpcy5tYXJrZXJ8fHt9LHg9ZS5jaGFydCwKCQlxPWUuaGFsbyxCLHU9biYmZS5tYXJrZXJBdHRyaWJzO2E9YXx8IiI7aWYoIShhPT09dGhpcy5zdGF0ZSYmIWJ8fHRoaXMuc2VsZWN0ZWQmJiJzZWxlY3QiIT09YXx8ITE9PT1nLmVuYWJsZWR8fGEmJihrfHx2JiYhMT09PWwuZW5hYmxlZCl8fGEmJnQuc3RhdGVzJiZ0LnN0YXRlc1thXSYmITE9PT10LnN0YXRlc1thXS5lbmFibGVkKSl7dSYmKEI9ZS5tYXJrZXJBdHRyaWJzKHRoaXMsYSkpO2lmKHRoaXMuZ3JhcGhpYyl0aGlzLnN0YXRlJiZ0aGlzLmdyYXBoaWMucmVtb3ZlQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQtIit0aGlzLnN0YXRlKSxhJiZ0aGlzLmdyYXBoaWMuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQtIithKSx0aGlzLmdyYXBoaWMuYW5pbWF0ZShlLnBvaW50QXR0cmlicyh0aGlzLGEpLG0oeC5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbixnLmFuaW1hdGlvbikpLEImJnRoaXMuZ3JhcGhpYy5hbmltYXRlKEIsbSh4Lm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLGwuYW5pbWF0aW9uLAoJCW4uYW5pbWF0aW9uKSkscCYmcC5oaWRlKCk7ZWxzZXtpZihhJiZsKXtuPXQuc3ltYm9sfHxlLnN5bWJvbDtwJiZwLmN1cnJlbnRTeW1ib2whPT1uJiYocD1wLmRlc3Ryb3koKSk7aWYocClwW2I/ImFuaW1hdGUiOiJhdHRyIl0oe3g6Qi54LHk6Qi55fSk7ZWxzZSBuJiYoZS5zdGF0ZU1hcmtlckdyYXBoaWM9cD14LnJlbmRlcmVyLnN5bWJvbChuLEIueCxCLnksQi53aWR0aCxCLmhlaWdodCkuYWRkKGUubWFya2VyR3JvdXApLHAuY3VycmVudFN5bWJvbD1uKTtwJiZwLmF0dHIoZS5wb2ludEF0dHJpYnModGhpcyxhKSl9cCYmKHBbYSYmeC5pc0luc2lkZVBsb3QoYyxkLHguaW52ZXJ0ZWQpPyJzaG93IjoiaGlkZSJdKCkscC5lbGVtZW50LnBvaW50PXRoaXMpfShjPWcuaGFsbykmJmMuc2l6ZT8ocXx8KGUuaGFsbz1xPXgucmVuZGVyZXIucGF0aCgpLmFkZCgodGhpcy5ncmFwaGljfHxwKS5wYXJlbnRHcm91cCkpLHEuc2hvdygpW2I/ImFuaW1hdGUiOiJhdHRyIl0oe2Q6dGhpcy5oYWxvUGF0aChjLnNpemUpfSksCgkJcS5hdHRyKHsiY2xhc3MiOiJoaWdoY2hhcnRzLWhhbG8gaGlnaGNoYXJ0cy1jb2xvci0iK20odGhpcy5jb2xvckluZGV4LGUuY29sb3JJbmRleCkrKHRoaXMuY2xhc3NOYW1lPyIgIit0aGlzLmNsYXNzTmFtZToiIiksekluZGV4Oi0xfSkscS5wb2ludD10aGlzLHEuYXR0cihDKHtmaWxsOnRoaXMuY29sb3J8fGUuY29sb3IsImZpbGwtb3BhY2l0eSI6Yy5vcGFjaXR5fSxjLmF0dHJpYnV0ZXMpKSk6cSYmcS5wb2ludCYmcS5wb2ludC5oYWxvUGF0aCYmcS5hbmltYXRlKHtkOnEucG9pbnQuaGFsb1BhdGgoMCl9LG51bGwscS5oaWRlKTt0aGlzLnN0YXRlPWE7cih0aGlzLCJhZnRlclNldFN0YXRlIil9fSxoYWxvUGF0aDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5zZXJpZXMuY2hhcnQucmVuZGVyZXIuc3ltYm9scy5jaXJjbGUoTWF0aC5mbG9vcih0aGlzLnBsb3RYKS1hLHRoaXMucGxvdFktYSwyKmEsMiphKX19KTtDKGMucHJvdG90eXBlLHtvbk1vdXNlT3ZlcjpmdW5jdGlvbigpe3ZhciBhPQoJCXRoaXMuY2hhcnQsYj1hLmhvdmVyU2VyaWVzO2lmKGImJmIhPT10aGlzKWIub25Nb3VzZU91dCgpO3RoaXMub3B0aW9ucy5ldmVudHMubW91c2VPdmVyJiZyKHRoaXMsIm1vdXNlT3ZlciIpO3RoaXMuc2V0U3RhdGUoImhvdmVyIik7YS5ob3ZlclNlcmllcz10aGlzfSxvbk1vdXNlT3V0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHRpb25zLGI9dGhpcy5jaGFydCxjPWIudG9vbHRpcCxkPWIuaG92ZXJQb2ludDtiLmhvdmVyU2VyaWVzPW51bGw7aWYoZClkLm9uTW91c2VPdXQoKTt0aGlzJiZhLmV2ZW50cy5tb3VzZU91dCYmcih0aGlzLCJtb3VzZU91dCIpOyFjfHx0aGlzLnN0aWNreVRyYWNraW5nfHxjLnNoYXJlZCYmIXRoaXMubm9TaGFyZWRUb29sdGlwfHxjLmhpZGUoKTt0aGlzLnNldFN0YXRlKCl9LHNldFN0YXRlOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLm9wdGlvbnMsZD1iLmdyYXBoLGU9Yy5zdGF0ZXMsZz1jLmxpbmVXaWR0aCxjPTA7YT1hfHwiIjtpZihiLnN0YXRlIT09CgkJYSYmKHUoW2IuZ3JvdXAsYi5tYXJrZXJHcm91cCxiLmRhdGFMYWJlbHNHcm91cF0sZnVuY3Rpb24oYyl7YyYmKGIuc3RhdGUmJmMucmVtb3ZlQ2xhc3MoImhpZ2hjaGFydHMtc2VyaWVzLSIrYi5zdGF0ZSksYSYmYy5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zZXJpZXMtIithKSl9KSxiLnN0YXRlPWEsIWVbYV18fCExIT09ZVthXS5lbmFibGVkKSYmKGEmJihnPWVbYV0ubGluZVdpZHRofHxnKyhlW2FdLmxpbmVXaWR0aFBsdXN8fDApKSxkJiYhZC5kYXNoc3R5bGUpKWZvcihnPXsic3Ryb2tlLXdpZHRoIjpnfSxkLmFuaW1hdGUoZyxtKGVbYXx8Im5vcm1hbCJdJiZlW2F8fCJub3JtYWwiXS5hbmltYXRpb24sYi5jaGFydC5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbikpO2JbInpvbmUtZ3JhcGgtIitjXTspYlsiem9uZS1ncmFwaC0iK2NdLmF0dHIoZyksYys9MX0sc2V0VmlzaWJsZTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMsZD1jLmNoYXJ0LGU9Yy5sZWdlbmRJdGVtLGcsZj1kLm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzLAoJCW49Yy52aXNpYmxlO2c9KGMudmlzaWJsZT1hPWMub3B0aW9ucy52aXNpYmxlPWMudXNlck9wdGlvbnMudmlzaWJsZT12b2lkIDA9PT1hPyFuOmEpPyJzaG93IjoiaGlkZSI7dShbImdyb3VwIiwiZGF0YUxhYmVsc0dyb3VwIiwibWFya2VyR3JvdXAiLCJ0cmFja2VyIiwidHQiXSxmdW5jdGlvbihhKXtpZihjW2FdKWNbYV1bZ10oKX0pO2lmKGQuaG92ZXJTZXJpZXM9PT1jfHwoZC5ob3ZlclBvaW50JiZkLmhvdmVyUG9pbnQuc2VyaWVzKT09PWMpYy5vbk1vdXNlT3V0KCk7ZSYmZC5sZWdlbmQuY29sb3JpemVJdGVtKGMsYSk7Yy5pc0RpcnR5PSEwO2Mub3B0aW9ucy5zdGFja2luZyYmdShkLnNlcmllcyxmdW5jdGlvbihhKXthLm9wdGlvbnMuc3RhY2tpbmcmJmEudmlzaWJsZSYmKGEuaXNEaXJ0eT0hMCl9KTt1KGMubGlua2VkU2VyaWVzLGZ1bmN0aW9uKGIpe2Iuc2V0VmlzaWJsZShhLCExKX0pO2YmJihkLmlzRGlydHlCb3g9ITApO3IoYyxnKTshMSE9PWImJmQucmVkcmF3KCl9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLnNldFZpc2libGUoITApfSwKCWhpZGU6ZnVuY3Rpb24oKXt0aGlzLnNldFZpc2libGUoITEpfSxzZWxlY3Q6ZnVuY3Rpb24oYSl7dGhpcy5zZWxlY3RlZD1hPXZvaWQgMD09PWE/IXRoaXMuc2VsZWN0ZWQ6YTt0aGlzLmNoZWNrYm94JiYodGhpcy5jaGVja2JveC5jaGVja2VkPWEpO3IodGhpcyxhPyJzZWxlY3QiOiJ1bnNlbGVjdCIpfSxkcmF3VHJhY2tlcjp0LmRyYXdUcmFja2VyR3JhcGh9KX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLkNoYXJ0LEY9YS5lYWNoLEc9YS5pbkFycmF5LHE9YS5pc0FycmF5LGw9YS5pc09iamVjdCxmPWEucGljayx1PWEuc3BsYXQ7RS5wcm90b3R5cGUuc2V0UmVzcG9uc2l2ZT1mdW5jdGlvbihmKXt2YXIgbD10aGlzLm9wdGlvbnMucmVzcG9uc2l2ZSxxPVtdLHA9dGhpcy5jdXJyZW50UmVzcG9uc2l2ZTtsJiZsLnJ1bGVzJiZGKGwucnVsZXMsZnVuY3Rpb24oZCl7dm9pZCAwPT09ZC5faWQmJihkLl9pZD1hLnVuaXF1ZUtleSgpKTt0aGlzLm1hdGNoUmVzcG9uc2l2ZVJ1bGUoZCxxLAoJZil9LHRoaXMpO3ZhciBkPWEubWVyZ2UuYXBwbHkoMCxhLm1hcChxLGZ1bmN0aW9uKGQpe3JldHVybiBhLmZpbmQobC5ydWxlcyxmdW5jdGlvbihhKXtyZXR1cm4gYS5faWQ9PT1kfSkuY2hhcnRPcHRpb25zfSkpLHE9cS50b1N0cmluZygpfHx2b2lkIDA7cSE9PShwJiZwLnJ1bGVJZHMpJiYocCYmdGhpcy51cGRhdGUocC51bmRvT3B0aW9ucyxmKSxxPyh0aGlzLmN1cnJlbnRSZXNwb25zaXZlPXtydWxlSWRzOnEsbWVyZ2VkT3B0aW9uczpkLHVuZG9PcHRpb25zOnRoaXMuY3VycmVudE9wdGlvbnMoZCl9LHRoaXMudXBkYXRlKGQsZikpOnRoaXMuY3VycmVudFJlc3BvbnNpdmU9dm9pZCAwKX07RS5wcm90b3R5cGUubWF0Y2hSZXNwb25zaXZlUnVsZT1mdW5jdGlvbihhLGwpe3ZhciBxPWEuY29uZGl0aW9uOyhxLmNhbGxiYWNrfHxmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoYXJ0V2lkdGg8PWYocS5tYXhXaWR0aCxOdW1iZXIuTUFYX1ZBTFVFKSYmdGhpcy5jaGFydEhlaWdodDw9ZihxLm1heEhlaWdodCwKCU51bWJlci5NQVhfVkFMVUUpJiZ0aGlzLmNoYXJ0V2lkdGg+PWYocS5taW5XaWR0aCwwKSYmdGhpcy5jaGFydEhlaWdodD49ZihxLm1pbkhlaWdodCwwKX0pLmNhbGwodGhpcykmJmwucHVzaChhLl9pZCl9O0UucHJvdG90eXBlLmN1cnJlbnRPcHRpb25zPWZ1bmN0aW9uKGYpe2Z1bmN0aW9uIHIoZixkLGUsZyl7dmFyIG07YS5vYmplY3RFYWNoKGYsZnVuY3Rpb24oYSxjKXtpZighZyYmLTE8RyhjLFsic2VyaWVzIiwieEF4aXMiLCJ5QXhpcyJdKSlmb3IoYT11KGEpLGVbY109W10sbT0wO208YS5sZW5ndGg7bSsrKWRbY11bbV0mJihlW2NdW21dPXt9LHIoYVttXSxkW2NdW21dLGVbY11bbV0sZysxKSk7ZWxzZSBsKGEpPyhlW2NdPXEoYSk/W106e30scihhLGRbY118fHt9LGVbY10sZysxKSk6ZVtjXT1kW2NdfHxudWxsfSl9dmFyIHk9e307cihmLHRoaXMub3B0aW9ucyx5LDApO3JldHVybiB5fX0pKEopOyhmdW5jdGlvbihhKXt2YXIgRT1hLmFkZEV2ZW50LEY9YS5BeGlzLEc9YS5DaGFydCwKCXE9YS5jc3MsbD1hLmRlZmluZWQsZj1hLmVhY2gsdT1hLmV4dGVuZCxDPWEubm9vcCxyPWEucGljayx5PWEudGltZVVuaXRzLHA9YS53cmFwO3AoYS5TZXJpZXMucHJvdG90eXBlLCJpbml0IixmdW5jdGlvbihhKXt2YXIgZDthLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKTsoZD10aGlzLnhBeGlzKSYmZC5vcHRpb25zLm9yZGluYWwmJkUodGhpcywidXBkYXRlZERhdGEiLGZ1bmN0aW9uKCl7ZGVsZXRlIGQub3JkaW5hbEluZGV4fSl9KTtwKEYucHJvdG90eXBlLCJnZXRUaW1lVGlja3MiLGZ1bmN0aW9uKGEsZSxnLGYsYixjLHAscSl7dmFyIGQ9MCxuLG0seD17fSxyLGgsQix1PVtdLHY9LU51bWJlci5NQVhfVkFMVUUsdz10aGlzLm9wdGlvbnMudGlja1BpeGVsSW50ZXJ2YWwsaz10aGlzLmNoYXJ0LnRpbWU7aWYoIXRoaXMub3B0aW9ucy5vcmRpbmFsJiYhdGhpcy5vcHRpb25zLmJyZWFrc3x8IWN8fDM+Yy5sZW5ndGh8fHZvaWQgMD09PQoJZylyZXR1cm4gYS5jYWxsKHRoaXMsZSxnLGYsYik7aD1jLmxlbmd0aDtmb3Iobj0wO248aDtuKyspe0I9biYmY1tuLTFdPmY7Y1tuXTxnJiYoZD1uKTtpZihuPT09aC0xfHxjW24rMV0tY1tuXT41KnB8fEIpe2lmKGNbbl0+dil7Zm9yKG09YS5jYWxsKHRoaXMsZSxjW2RdLGNbbl0sYik7bS5sZW5ndGgmJm1bMF08PXY7KW0uc2hpZnQoKTttLmxlbmd0aCYmKHY9bVttLmxlbmd0aC0xXSk7dT11LmNvbmNhdChtKX1kPW4rMX1pZihCKWJyZWFrfWE9bS5pbmZvO2lmKHEmJmEudW5pdFJhbmdlPD15LmhvdXIpe249dS5sZW5ndGgtMTtmb3IoZD0xO2Q8bjtkKyspay5kYXRlRm9ybWF0KCIlZCIsdVtkXSkhPT1rLmRhdGVGb3JtYXQoIiVkIix1W2QtMV0pJiYoeFt1W2RdXT0iZGF5IixyPSEwKTtyJiYoeFt1WzBdXT0iZGF5Iik7YS5oaWdoZXJSYW5rcz14fXUuaW5mbz1hO2lmKHEmJmwodykpe3E9az11Lmxlbmd0aDtuPVtdO3ZhciBBO2ZvcihyPVtdO3EtLTspZD10aGlzLnRyYW5zbGF0ZSh1W3FdKSwKQSYmKHJbcV09QS1kKSxuW3FdPUE9ZDtyLnNvcnQoKTtyPXJbTWF0aC5mbG9vcihyLmxlbmd0aC8yKV07cjwuNip3JiYocj1udWxsKTtxPXVbay0xXT5mP2stMTprO2ZvcihBPXZvaWQgMDtxLS07KWQ9bltxXSxmPU1hdGguYWJzKEEtZCksQSYmZjwuOCp3JiYobnVsbD09PXJ8fGY8Ljgqcik/KHhbdVtxXV0mJiF4W3VbcSsxXV0/KGY9cSsxLEE9ZCk6Zj1xLHUuc3BsaWNlKGYsMSkpOkE9ZH1yZXR1cm4gdX0pO3UoRi5wcm90b3R5cGUse2JlZm9yZVNldFRpY2tQb3NpdGlvbnM6ZnVuY3Rpb24oKXt2YXIgYSxlPVtdLGcsbT0hMSxiLGM9dGhpcy5nZXRFeHRyZW1lcygpLHA9Yy5taW4scT1jLm1heCx0LG49dGhpcy5pc1hBeGlzJiYhIXRoaXMub3B0aW9ucy5icmVha3MsYz10aGlzLm9wdGlvbnMub3JkaW5hbCx1PU51bWJlci5NQVhfVkFMVUUsej10aGlzLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzO2I9ImhpZ2hjaGFydHMtbmF2aWdhdG9yLXhheGlzIj09PXRoaXMub3B0aW9ucy5jbGFzc05hbWU7CgkJdmFyIEQ7IXRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsfHx0aGlzLm1heCE9PXRoaXMuZGF0YU1heHx8dGhpcy5jaGFydC5tb3VzZUlzRG93biYmIWJ8fHRoaXMuZXZlbnRBcmdzJiYoIXRoaXMuZXZlbnRBcmdzfHwibmF2aWdhdG9yIj09PXRoaXMuZXZlbnRBcmdzLnRyaWdnZXIpfHwodGhpcy5tYXgrPXRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsLCFiJiZsKHRoaXMudXNlck1pbikmJih0aGlzLm1pbis9dGhpcy5vcHRpb25zLm92ZXJzY3JvbGwpKTtpZihjfHxuKXtmKHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGIsYyl7Zz1bXTtpZighKHomJiExPT09Yi52aXNpYmxlfHwhMT09PWIudGFrZU9yZGluYWxQb3NpdGlvbiYmIW4pJiYoZT1lLmNvbmNhdChiLnByb2Nlc3NlZFhEYXRhKSxhPWUubGVuZ3RoLGUuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLWJ9KSx1PU1hdGgubWluKHUscihiLmNsb3Nlc3RQb2ludFJhbmdlLHUpKSxhKSl7Zm9yKGM9MDtjPGEtMTspZVtjXSE9PWVbYysxXSYmZy5wdXNoKGVbYysKCQkxXSksYysrO2dbMF0hPT1lWzBdJiZnLnVuc2hpZnQoZVswXSk7ZT1nfWIuaXNTZXJpZXNCb29zdGluZyYmKEQ9ITApfSk7RCYmKGUubGVuZ3RoPTApO2E9ZS5sZW5ndGg7aWYoMjxhKXtiPWVbMV0tZVswXTtmb3IodD1hLTE7dC0tJiYhbTspZVt0KzFdLWVbdF0hPT1iJiYobT0hMCk7IXRoaXMub3B0aW9ucy5rZWVwT3JkaW5hbFBhZGRpbmcmJihlWzBdLXA+Ynx8cS1lW2UubGVuZ3RoLTFdPmIpJiYobT0hMCl9ZWxzZSB0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbCYmKDI9PT1hP3U9ZVsxXS1lWzBdOjE9PT1hPyh1PXRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsLGU9W2VbMF0sZVswXSt1XSk6dT10aGlzLm92ZXJzY3JvbGxQb2ludHNSYW5nZSk7bT8odGhpcy5vcHRpb25zLm92ZXJzY3JvbGwmJih0aGlzLm92ZXJzY3JvbGxQb2ludHNSYW5nZT11LGU9ZS5jb25jYXQodGhpcy5nZXRPdmVyc2Nyb2xsUG9zaXRpb25zKCkpKSx0aGlzLm9yZGluYWxQb3NpdGlvbnM9ZSxiPXRoaXMub3JkaW5hbDJsaW4oTWF0aC5tYXgocCwKCQkJZVswXSksITApLHQ9TWF0aC5tYXgodGhpcy5vcmRpbmFsMmxpbihNYXRoLm1pbihxLGVbZS5sZW5ndGgtMV0pLCEwKSwxKSx0aGlzLm9yZGluYWxTbG9wZT1xPShxLXApLyh0LWIpLHRoaXMub3JkaW5hbE9mZnNldD1wLWIqcSk6KHRoaXMub3ZlcnNjcm9sbFBvaW50c1JhbmdlPXIodGhpcy5jbG9zZXN0UG9pbnRSYW5nZSx0aGlzLm92ZXJzY3JvbGxQb2ludHNSYW5nZSksdGhpcy5vcmRpbmFsUG9zaXRpb25zPXRoaXMub3JkaW5hbFNsb3BlPXRoaXMub3JkaW5hbE9mZnNldD12b2lkIDApfXRoaXMuaXNPcmRpbmFsPWMmJm07dGhpcy5ncm91cEludGVydmFsRmFjdG9yPW51bGx9LHZhbDJsaW46ZnVuY3Rpb24oYSxlKXt2YXIgZD10aGlzLm9yZGluYWxQb3NpdGlvbnM7aWYoZCl7dmFyIGY9ZC5sZW5ndGgsYixjO2ZvcihiPWY7Yi0tOylpZihkW2JdPT09YSl7Yz1iO2JyZWFrfWZvcihiPWYtMTtiLS07KWlmKGE+ZFtiXXx8MD09PWIpe2E9KGEtZFtiXSkvKGRbYisxXS1kW2JdKTtjPWIrCgkJYTticmVha31lPWU/Yzp0aGlzLm9yZGluYWxTbG9wZSooY3x8MCkrdGhpcy5vcmRpbmFsT2Zmc2V0fWVsc2UgZT1hO3JldHVybiBlfSxsaW4ydmFsOmZ1bmN0aW9uKGEsZSl7dmFyIGQ9dGhpcy5vcmRpbmFsUG9zaXRpb25zO2lmKGQpe3ZhciBmPXRoaXMub3JkaW5hbFNsb3BlLGI9dGhpcy5vcmRpbmFsT2Zmc2V0LGM9ZC5sZW5ndGgtMSxsO2lmKGUpMD5hP2E9ZFswXTphPmM/YT1kW2NdOihjPU1hdGguZmxvb3IoYSksbD1hLWMpO2Vsc2UgZm9yKDtjLS07KWlmKGU9ZipjK2IsYT49ZSl7Zj1mKihjKzEpK2I7bD0oYS1lKS8oZi1lKTticmVha31yZXR1cm4gdm9pZCAwIT09bCYmdm9pZCAwIT09ZFtjXT9kW2NdKyhsP2wqKGRbYysxXS1kW2NdKTowKTphfXJldHVybiBhfSxnZXRFeHRlbmRlZFBvc2l0aW9uczpmdW5jdGlvbigpe3ZhciBhPXRoaXMsZT1hLmNoYXJ0LGc9YS5zZXJpZXNbMF0uY3VycmVudERhdGFHcm91cGluZyxtPWEub3JkaW5hbEluZGV4LGI9Zz9nLmNvdW50K2cudW5pdE5hbWU6CgkJInJhdyIsYz1hLm9wdGlvbnMub3ZlcnNjcm9sbCxsPWEuZ2V0RXh0cmVtZXMoKSxwLHQ7bXx8KG09YS5vcmRpbmFsSW5kZXg9e30pO21bYl18fChwPXtzZXJpZXM6W10sY2hhcnQ6ZSxnZXRFeHRyZW1lczpmdW5jdGlvbigpe3JldHVybnttaW46bC5kYXRhTWluLG1heDpsLmRhdGFNYXgrY319LG9wdGlvbnM6e29yZGluYWw6ITB9LHZhbDJsaW46Ri5wcm90b3R5cGUudmFsMmxpbixvcmRpbmFsMmxpbjpGLnByb3RvdHlwZS5vcmRpbmFsMmxpbn0sZihhLnNlcmllcyxmdW5jdGlvbihiKXt0PXt4QXhpczpwLHhEYXRhOmIueERhdGEuc2xpY2UoKSxjaGFydDplLGRlc3Ryb3lHcm91cGVkRGF0YTpDfTt0LnhEYXRhPXQueERhdGEuY29uY2F0KGEuZ2V0T3ZlcnNjcm9sbFBvc2l0aW9ucygpKTt0Lm9wdGlvbnM9e2RhdGFHcm91cGluZzpnP3tlbmFibGVkOiEwLGZvcmNlZDohMCxhcHByb3hpbWF0aW9uOiJvcGVuIix1bml0czpbW2cudW5pdE5hbWUsW2cuY291bnRdXV19OntlbmFibGVkOiExfX07CgkJYi5wcm9jZXNzRGF0YS5hcHBseSh0KTtwLnNlcmllcy5wdXNoKHQpfSksYS5iZWZvcmVTZXRUaWNrUG9zaXRpb25zLmFwcGx5KHApLG1bYl09cC5vcmRpbmFsUG9zaXRpb25zKTtyZXR1cm4gbVtiXX0sZ2V0T3ZlcnNjcm9sbFBvc2l0aW9uczpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3B0aW9ucy5vdmVyc2Nyb2xsLGU9dGhpcy5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2UsZz1bXSxmPXRoaXMuZGF0YU1heDtpZihhLmRlZmluZWQoZSkpZm9yKGcucHVzaChmKTtmPD10aGlzLmRhdGFNYXgrZDspZis9ZSxnLnB1c2goZik7cmV0dXJuIGd9LGdldEdyb3VwSW50ZXJ2YWxGYWN0b3I6ZnVuY3Rpb24oYSxlLGcpe3ZhciBkO2c9Zy5wcm9jZXNzZWRYRGF0YTt2YXIgYj1nLmxlbmd0aCxjPVtdO2Q9dGhpcy5ncm91cEludGVydmFsRmFjdG9yO2lmKCFkKXtmb3IoZD0wO2Q8Yi0xO2QrKyljW2RdPWdbZCsxXS1nW2RdO2Muc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLWJ9KTtjPWNbTWF0aC5mbG9vcihiLwoJCTIpXTthPU1hdGgubWF4KGEsZ1swXSk7ZT1NYXRoLm1pbihlLGdbYi0xXSk7dGhpcy5ncm91cEludGVydmFsRmFjdG9yPWQ9YipjLyhlLWEpfXJldHVybiBkfSxwb3N0UHJvY2Vzc1RpY2tJbnRlcnZhbDpmdW5jdGlvbihhKXt2YXIgZD10aGlzLm9yZGluYWxTbG9wZTtyZXR1cm4gZD90aGlzLm9wdGlvbnMuYnJlYWtzP3RoaXMuY2xvc2VzdFBvaW50UmFuZ2V8fGE6YS8oZC90aGlzLmNsb3Nlc3RQb2ludFJhbmdlKTphfX0pO0YucHJvdG90eXBlLm9yZGluYWwybGluPUYucHJvdG90eXBlLnZhbDJsaW47cChHLnByb3RvdHlwZSwicGFuIixmdW5jdGlvbihhLGUpe3ZhciBkPXRoaXMueEF4aXNbMF0sbT1kLm9wdGlvbnMub3ZlcnNjcm9sbCxiPWUuY2hhcnRYLGM9ITE7aWYoZC5vcHRpb25zLm9yZGluYWwmJmQuc2VyaWVzLmxlbmd0aCl7dmFyIGw9dGhpcy5tb3VzZURvd25YLHA9ZC5nZXRFeHRyZW1lcygpLHQ9cC5kYXRhTWF4LG49cC5taW4scj1wLm1heCx6PXRoaXMuaG92ZXJQb2ludHMsCglEPWQuY2xvc2VzdFBvaW50UmFuZ2V8fGQub3ZlcnNjcm9sbFBvaW50c1JhbmdlLGw9KGwtYikvKGQudHJhbnNsYXRpb25TbG9wZSooZC5vcmRpbmFsU2xvcGV8fEQpKSxoPXtvcmRpbmFsUG9zaXRpb25zOmQuZ2V0RXh0ZW5kZWRQb3NpdGlvbnMoKX0sRD1kLmxpbjJ2YWwsdT1kLnZhbDJsaW4seTtoLm9yZGluYWxQb3NpdGlvbnM/MTxNYXRoLmFicyhsKSYmKHomJmYoeixmdW5jdGlvbihhKXthLnNldFN0YXRlKCl9KSwwPmw/KHo9aCx5PWQub3JkaW5hbFBvc2l0aW9ucz9kOmgpOih6PWQub3JkaW5hbFBvc2l0aW9ucz9kOmgseT1oKSxoPXkub3JkaW5hbFBvc2l0aW9ucyx0PmhbaC5sZW5ndGgtMV0mJmgucHVzaCh0KSx0aGlzLmZpeGVkUmFuZ2U9ci1uLGw9ZC50b0ZpeGVkUmFuZ2UobnVsbCxudWxsLEQuYXBwbHkoeixbdS5hcHBseSh6LFtuLCEwXSkrbCwhMF0pLEQuYXBwbHkoeSxbdS5hcHBseSh5LFtyLCEwXSkrbCwhMF0pKSxsLm1pbj49TWF0aC5taW4ocC5kYXRhTWluLG4pJiYKbC5tYXg8PU1hdGgubWF4KHQscikrbSYmZC5zZXRFeHRyZW1lcyhsLm1pbixsLm1heCwhMCwhMSx7dHJpZ2dlcjoicGFuIn0pLHRoaXMubW91c2VEb3duWD1iLHEodGhpcy5jb250YWluZXIse2N1cnNvcjoibW92ZSJ9KSk6Yz0hMH1lbHNlIGM9ITA7YyYmKG0mJihkLm1heD1kLmRhdGFNYXgrbSksYS5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSkpfSl9KShKKTsoZnVuY3Rpb24oYSl7ZnVuY3Rpb24gRSgpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSl9ZnVuY3Rpb24gRihhKXthLmFwcGx5KHRoaXMpO3RoaXMuZHJhd0JyZWFrcyh0aGlzLnhBeGlzLFsieCJdKTt0aGlzLmRyYXdCcmVha3ModGhpcy55QXhpcyxxKHRoaXMucG9pbnRBcnJheU1hcCxbInkiXSkpfXZhciBHPWEuYWRkRXZlbnQscT1hLnBpY2ssbD1hLndyYXAsZj1hLmVhY2gsdT1hLmV4dGVuZCxDPWEuaXNBcnJheSxyPWEuZmlyZUV2ZW50LAoJeT1hLkF4aXMscD1hLlNlcmllczt1KHkucHJvdG90eXBlLHtpc0luQnJlYWs6ZnVuY3Rpb24oYSxlKXt2YXIgZD1hLnJlcGVhdHx8SW5maW5pdHksZj1hLmZyb20sYj1hLnRvLWEuZnJvbTtlPWU+PWY/KGUtZiklZDpkLShmLWUpJWQ7cmV0dXJuIGEuaW5jbHVzaXZlP2U8PWI6ZTxiJiYwIT09ZX0saXNJbkFueUJyZWFrOmZ1bmN0aW9uKGEsZSl7dmFyIGQ9dGhpcy5vcHRpb25zLmJyZWFrcyxmPWQmJmQubGVuZ3RoLGIsYyxsO2lmKGYpe2Zvcig7Zi0tOyl0aGlzLmlzSW5CcmVhayhkW2ZdLGEpJiYoYj0hMCxjfHwoYz1xKGRbZl0uc2hvd1BvaW50cyx0aGlzLmlzWEF4aXM/ITE6ITApKSk7bD1iJiZlP2ImJiFjOmJ9cmV0dXJuIGx9fSk7Ryh5LCJhZnRlclNldFRpY2tQb3NpdGlvbnMiLGZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmJyZWFrcyl7dmFyIGE9dGhpcy50aWNrUG9zaXRpb25zLGU9dGhpcy50aWNrUG9zaXRpb25zLmluZm8sZz1bXSxmO2ZvcihmPTA7ZjxhLmxlbmd0aDtmKyspdGhpcy5pc0luQW55QnJlYWsoYVtmXSl8fApnLnB1c2goYVtmXSk7dGhpcy50aWNrUG9zaXRpb25zPWc7dGhpcy50aWNrUG9zaXRpb25zLmluZm89ZX19KTtHKHksImFmdGVyU2V0T3B0aW9ucyIsZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYnJlYWtzJiZ0aGlzLm9wdGlvbnMuYnJlYWtzLmxlbmd0aCYmKHRoaXMub3B0aW9ucy5vcmRpbmFsPSExKX0pO0coeSwiYWZ0ZXJJbml0IixmdW5jdGlvbigpe3ZhciBhPXRoaXMsZTtlPXRoaXMub3B0aW9ucy5icmVha3M7YS5pc0Jyb2tlbj1DKGUpJiYhIWUubGVuZ3RoO2EuaXNCcm9rZW4mJihhLnZhbDJsaW49ZnVuY3Rpb24oZCl7dmFyIGU9ZCxiLGM7Zm9yKGM9MDtjPGEuYnJlYWtBcnJheS5sZW5ndGg7YysrKWlmKGI9YS5icmVha0FycmF5W2NdLGIudG88PWQpZS09Yi5sZW47ZWxzZSBpZihiLmZyb20+PWQpYnJlYWs7ZWxzZSBpZihhLmlzSW5CcmVhayhiLGQpKXtlLT1kLWIuZnJvbTticmVha31yZXR1cm4gZX0sYS5saW4ydmFsPWZ1bmN0aW9uKGQpe3ZhciBlLGI7Zm9yKGI9MDtiPGEuYnJlYWtBcnJheS5sZW5ndGgmJgohKGU9YS5icmVha0FycmF5W2JdLGUuZnJvbT49ZCk7YisrKWUudG88ZD9kKz1lLmxlbjphLmlzSW5CcmVhayhlLGQpJiYoZCs9ZS5sZW4pO3JldHVybiBkfSxhLnNldEV4dHJlbWVzPWZ1bmN0aW9uKGEsZCxiLGMsZSl7Zm9yKDt0aGlzLmlzSW5BbnlCcmVhayhhKTspYS09dGhpcy5jbG9zZXN0UG9pbnRSYW5nZTtmb3IoO3RoaXMuaXNJbkFueUJyZWFrKGQpOylkLT10aGlzLmNsb3Nlc3RQb2ludFJhbmdlO3kucHJvdG90eXBlLnNldEV4dHJlbWVzLmNhbGwodGhpcyxhLGQsYixjLGUpfSxhLnNldEF4aXNUcmFuc2xhdGlvbj1mdW5jdGlvbihkKXt5LnByb3RvdHlwZS5zZXRBeGlzVHJhbnNsYXRpb24uY2FsbCh0aGlzLGQpO2Q9YS5vcHRpb25zLmJyZWFrczt2YXIgZT1bXSxiPVtdLGM9MCxnLGwscD1hLnVzZXJNaW58fGEubWluLG49YS51c2VyTWF4fHxhLm1heCx1PXEoYS5wb2ludFJhbmdlUGFkZGluZywwKSx6LEQ7ZihkLGZ1bmN0aW9uKGIpe2w9Yi5yZXBlYXR8fEluZmluaXR5O2EuaXNJbkJyZWFrKGIsCglwKSYmKHArPWIudG8lbC1wJWwpO2EuaXNJbkJyZWFrKGIsbikmJihuLT1uJWwtYi5mcm9tJWwpfSk7ZihkLGZ1bmN0aW9uKGEpe3o9YS5mcm9tO2ZvcihsPWEucmVwZWF0fHxJbmZpbml0eTt6LWw+cDspei09bDtmb3IoO3o8cDspeis9bDtmb3IoRD16O0Q8bjtEKz1sKWUucHVzaCh7dmFsdWU6RCxtb3ZlOiJpbiJ9KSxlLnB1c2goe3ZhbHVlOkQrKGEudG8tYS5mcm9tKSxtb3ZlOiJvdXQiLHNpemU6YS5icmVha1NpemV9KX0pO2Uuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLnZhbHVlPT09Yi52YWx1ZT8oImluIj09PWEubW92ZT8wOjEpLSgiaW4iPT09Yi5tb3ZlPzA6MSk6YS52YWx1ZS1iLnZhbHVlfSk7Zz0wO3o9cDtmKGUsZnVuY3Rpb24oYSl7Zys9ImluIj09PWEubW92ZT8xOi0xOzE9PT1nJiYiaW4iPT09YS5tb3ZlJiYoej1hLnZhbHVlKTswPT09ZyYmKGIucHVzaCh7ZnJvbTp6LHRvOmEudmFsdWUsbGVuOmEudmFsdWUtei0oYS5zaXplfHwwKX0pLGMrPWEudmFsdWUtei0KCShhLnNpemV8fDApKX0pO2EuYnJlYWtBcnJheT1iO2EudW5pdExlbmd0aD1uLXAtYyt1O3IoYSwiYWZ0ZXJCcmVha3MiKTthLm9wdGlvbnMuc3RhdGljU2NhbGU/YS50cmFuc0E9YS5vcHRpb25zLnN0YXRpY1NjYWxlOmEudW5pdExlbmd0aCYmKGEudHJhbnNBKj0obi1hLm1pbit1KS9hLnVuaXRMZW5ndGgpO3UmJihhLm1pblBpeGVsUGFkZGluZz1hLnRyYW5zQSphLm1pblBvaW50T2Zmc2V0KTthLm1pbj1wO2EubWF4PW59KX0pO2wocC5wcm90b3R5cGUsImdlbmVyYXRlUG9pbnRzIixmdW5jdGlvbihhKXthLmFwcGx5KHRoaXMsRShhcmd1bWVudHMpKTt2YXIgZD10aGlzLnhBeGlzLGY9dGhpcy55QXhpcyxtPXRoaXMucG9pbnRzLGIsYz1tLmxlbmd0aCxsPXRoaXMub3B0aW9ucy5jb25uZWN0TnVsbHMscDtpZihkJiZmJiYoZC5vcHRpb25zLmJyZWFrc3x8Zi5vcHRpb25zLmJyZWFrcykpZm9yKDtjLS07KWI9bVtjXSxwPW51bGw9PT1iLnkmJiExPT09bCxwfHwhZC5pc0luQW55QnJlYWsoYi54LAoJITApJiYhZi5pc0luQW55QnJlYWsoYi55LCEwKXx8KG0uc3BsaWNlKGMsMSksdGhpcy5kYXRhW2NdJiZ0aGlzLmRhdGFbY10uZGVzdHJveUVsZW1lbnRzKCkpfSk7YS5TZXJpZXMucHJvdG90eXBlLmRyYXdCcmVha3M9ZnVuY3Rpb24oYSxlKXt2YXIgZD10aGlzLG09ZC5wb2ludHMsYixjLGwscDthJiZmKGUsZnVuY3Rpb24oZSl7Yj1hLmJyZWFrQXJyYXl8fFtdO2M9YS5pc1hBeGlzP2EubWluOnEoZC5vcHRpb25zLnRocmVzaG9sZCxhLm1pbik7ZihtLGZ1bmN0aW9uKGQpe3A9cShkWyJzdGFjayIrZS50b1VwcGVyQ2FzZSgpXSxkW2VdKTtmKGIsZnVuY3Rpb24oYil7bD0hMTtpZihjPGIuZnJvbSYmcD5iLnRvfHxjPmIuZnJvbSYmcDxiLmZyb20pbD0icG9pbnRCcmVhayI7ZWxzZSBpZihjPGIuZnJvbSYmcD5iLmZyb20mJnA8Yi50b3x8Yz5iLmZyb20mJnA+Yi50byYmcDxiLmZyb20pbD0icG9pbnRJbkJyZWFrIjtsJiZyKGEsbCx7cG9pbnQ6ZCxicms6Yn0pfSl9KX0pfTthLlNlcmllcy5wcm90b3R5cGUuZ2FwcGVkUGF0aD0KCWZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5jdXJyZW50RGF0YUdyb3VwaW5nLGU9ZCYmZC50b3RhbFJhbmdlLGQ9dGhpcy5vcHRpb25zLmdhcFNpemUsZj10aGlzLnBvaW50cy5zbGljZSgpLGw9Zi5sZW5ndGgtMSxiPXRoaXMueUF4aXM7aWYoZCYmMDxsKWZvcigidmFsdWUiIT09dGhpcy5vcHRpb25zLmdhcFVuaXQmJihkKj10aGlzLmNsb3Nlc3RQb2ludFJhbmdlKSxlJiZlPmQmJihkPWUpO2wtLTspZltsKzFdLngtZltsXS54PmQmJihlPShmW2xdLngrZltsKzFdLngpLzIsZi5zcGxpY2UobCsxLDAse2lzTnVsbDohMCx4OmV9KSx0aGlzLm9wdGlvbnMuc3RhY2tpbmcmJihlPWIuc3RhY2tzW3RoaXMuc3RhY2tLZXldW2VdPW5ldyBhLlN0YWNrSXRlbShiLGIub3B0aW9ucy5zdGFja0xhYmVscywhMSxlLHRoaXMuc3RhY2spLGUudG90YWw9MCkpO3JldHVybiB0aGlzLmdldEdyYXBoUGF0aChmKX07bChhLnNlcmllc1R5cGVzLmNvbHVtbi5wcm90b3R5cGUsImRyYXdQb2ludHMiLEYpO2woYS5TZXJpZXMucHJvdG90eXBlLAoJImRyYXdQb2ludHMiLEYpfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYWRkRXZlbnQsRj1hLmFycmF5TWF4LEc9YS5hcnJheU1pbixxPWEuQXhpcyxsPWEuZGVmYXVsdFBsb3RPcHRpb25zLGY9YS5kZWZpbmVkLHU9YS5lYWNoLEM9YS5leHRlbmQscj1hLmZvcm1hdCx5PWEuaXNOdW1iZXIscD1hLm1lcmdlLGQ9YS5waWNrLGU9YS5Qb2ludCxnPWEuU2VyaWVzLG09YS5Ub29sdGlwLGI9YS53cmFwLGM9Zy5wcm90b3R5cGUseD1jLnByb2Nlc3NEYXRhLEI9Yy5nZW5lcmF0ZVBvaW50cyx0PXthcHByb3hpbWF0aW9uOiJhdmVyYWdlIixncm91cFBpeGVsV2lkdGg6MixkYXRlVGltZUxhYmVsRm9ybWF0czp7bWlsbGlzZWNvbmQ6WyIlQSwgJWIgJWUsICVIOiVNOiVTLiVMIiwiJUEsICViICVlLCAlSDolTTolUy4lTCIsIi0lSDolTTolUy4lTCJdLHNlY29uZDpbIiVBLCAlYiAlZSwgJUg6JU06JVMiLCIlQSwgJWIgJWUsICVIOiVNOiVTIiwiLSVIOiVNOiVTIl0sbWludXRlOlsiJUEsICViICVlLCAlSDolTSIsCgkJCSIlQSwgJWIgJWUsICVIOiVNIiwiLSVIOiVNIl0saG91cjpbIiVBLCAlYiAlZSwgJUg6JU0iLCIlQSwgJWIgJWUsICVIOiVNIiwiLSVIOiVNIl0sZGF5OlsiJUEsICViICVlLCAlWSIsIiVBLCAlYiAlZSIsIi0lQSwgJWIgJWUsICVZIl0sd2VlazpbIldlZWsgZnJvbSAlQSwgJWIgJWUsICVZIiwiJUEsICViICVlIiwiLSVBLCAlYiAlZSwgJVkiXSxtb250aDpbIiVCICVZIiwiJUIiLCItJUIgJVkiXSx5ZWFyOlsiJVkiLCIlWSIsIi0lWSJdfX0sbj17bGluZTp7fSxzcGxpbmU6e30sYXJlYTp7fSxhcmVhc3BsaW5lOnt9LGNvbHVtbjp7YXBwcm94aW1hdGlvbjoic3VtIixncm91cFBpeGVsV2lkdGg6MTB9LGFyZWFyYW5nZTp7YXBwcm94aW1hdGlvbjoicmFuZ2UifSxhcmVhc3BsaW5lcmFuZ2U6e2FwcHJveGltYXRpb246InJhbmdlIn0sY29sdW1ucmFuZ2U6e2FwcHJveGltYXRpb246InJhbmdlIixncm91cFBpeGVsV2lkdGg6MTB9LGNhbmRsZXN0aWNrOnthcHByb3hpbWF0aW9uOiJvaGxjIiwKCQlncm91cFBpeGVsV2lkdGg6MTB9LG9obGM6e2FwcHJveGltYXRpb246Im9obGMiLGdyb3VwUGl4ZWxXaWR0aDo1fX0sTD1hLmRlZmF1bHREYXRhR3JvdXBpbmdVbml0cz1bWyJtaWxsaXNlY29uZCIsWzEsMiw1LDEwLDIwLDI1LDUwLDEwMCwyMDAsNTAwXV0sWyJzZWNvbmQiLFsxLDIsNSwxMCwxNSwzMF1dLFsibWludXRlIixbMSwyLDUsMTAsMTUsMzBdXSxbImhvdXIiLFsxLDIsMyw0LDYsOCwxMl1dLFsiZGF5IixbMV1dLFsid2VlayIsWzFdXSxbIm1vbnRoIixbMSwzLDZdXSxbInllYXIiLG51bGxdXSx6PWEuYXBwcm94aW1hdGlvbnM9e3N1bTpmdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjO2lmKCFiJiZhLmhhc051bGxzKWM9bnVsbDtlbHNlIGlmKGIpZm9yKGM9MDtiLS07KWMrPWFbYl07cmV0dXJuIGN9LGF2ZXJhZ2U6ZnVuY3Rpb24oYSl7dmFyIGI9YS5sZW5ndGg7YT16LnN1bShhKTt5KGEpJiZiJiYoYS89Yik7cmV0dXJuIGF9LGF2ZXJhZ2VzOmZ1bmN0aW9uKCl7dmFyIGE9CgkJW107dShhcmd1bWVudHMsZnVuY3Rpb24oYil7YS5wdXNoKHouYXZlcmFnZShiKSl9KTtyZXR1cm4gdm9pZCAwPT09YVswXT92b2lkIDA6YX0sb3BlbjpmdW5jdGlvbihhKXtyZXR1cm4gYS5sZW5ndGg/YVswXTphLmhhc051bGxzP251bGw6dm9pZCAwfSxoaWdoOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD9GKGEpOmEuaGFzTnVsbHM/bnVsbDp2b2lkIDB9LGxvdzpmdW5jdGlvbihhKXtyZXR1cm4gYS5sZW5ndGg/RyhhKTphLmhhc051bGxzP251bGw6dm9pZCAwfSxjbG9zZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5sZW5ndGg/YVthLmxlbmd0aC0xXTphLmhhc051bGxzP251bGw6dm9pZCAwfSxvaGxjOmZ1bmN0aW9uKGEsYixjLGQpe2E9ei5vcGVuKGEpO2I9ei5oaWdoKGIpO2M9ei5sb3coYyk7ZD16LmNsb3NlKGQpO2lmKHkoYSl8fHkoYil8fHkoYyl8fHkoZCkpcmV0dXJuW2EsYixjLGRdfSxyYW5nZTpmdW5jdGlvbihhLGIpe2E9ei5sb3coYSk7Yj16LmhpZ2goYik7aWYoeShhKXx8CgkJeShiKSlyZXR1cm5bYSxiXTtpZihudWxsPT09YSYmbnVsbD09PWIpcmV0dXJuIG51bGx9fTtjLmdyb3VwRGF0YT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzLGc9ZS5kYXRhLGs9ZS5vcHRpb25zLmRhdGEsaD1bXSxsPVtdLG09W10scD1hLmxlbmd0aCxxLHIseD0hIWIsRD1bXTtkPSJmdW5jdGlvbiI9PT10eXBlb2YgZD9kOnpbZF18fG5bZS50eXBlXSYmeltuW2UudHlwZV0uYXBwcm94aW1hdGlvbl18fHpbdC5hcHByb3hpbWF0aW9uXTt2YXIgQj1lLnBvaW50QXJyYXlNYXAsQz1CJiZCLmxlbmd0aCxIPVsieCJdLmNvbmNhdChCfHxbInkiXSksRT0wLEw9MCxGLEk7Qz91KEIsZnVuY3Rpb24oKXtELnB1c2goW10pfSk6RC5wdXNoKFtdKTtGPUN8fDE7Zm9yKEk9MDtJPD1wJiYhKGFbSV0+PWNbMF0pO0krKyk7Zm9yKEk7STw9cDtJKyspe2Zvcig7dm9pZCAwIT09Y1tFKzFdJiZhW0ldPj1jW0UrMV18fEk9PT1wOyl7cT1jW0VdO2UuZGF0YUdyb3VwSW5mbz17c3RhcnQ6TCxsZW5ndGg6RFswXS5sZW5ndGh9OwoJcj1kLmFwcGx5KGUsRCk7ZihlLmRhdGFHcm91cEluZm8ub3B0aW9ucyl8fChlLmRhdGFHcm91cEluZm8ub3B0aW9ucz1lLnBvaW50Q2xhc3MucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHtzZXJpZXM6ZX0sZS5vcHRpb25zLmRhdGFbTF0pLHUoSCxmdW5jdGlvbihhKXtkZWxldGUgZS5kYXRhR3JvdXBJbmZvLm9wdGlvbnNbYV19KSk7dm9pZCAwIT09ciYmKGgucHVzaChxKSxsLnB1c2gociksbS5wdXNoKGUuZGF0YUdyb3VwSW5mbykpO0w9STtmb3IocT0wO3E8RjtxKyspRFtxXS5sZW5ndGg9MCxEW3FdLmhhc051bGxzPSExO0UrPTE7aWYoST09PXApYnJlYWt9aWYoST09PXApYnJlYWs7aWYoQil7cT1lLmNyb3BTdGFydCtJO3I9ZyYmZ1txXXx8ZS5wb2ludENsYXNzLnByb3RvdHlwZS5hcHBseU9wdGlvbnMuYXBwbHkoe3NlcmllczplfSxba1txXV0pO3ZhciBHO2ZvcihxPTA7cTxDO3ErKylHPXJbQltxXV0seShHKT9EW3FdLnB1c2goRyk6bnVsbD09PUcmJihEW3FdLmhhc051bGxzPQoJITApfWVsc2UgcT14P2JbSV06bnVsbCx5KHEpP0RbMF0ucHVzaChxKTpudWxsPT09cSYmKERbMF0uaGFzTnVsbHM9ITApfXJldHVybltoLGwsbV19O2MucHJvY2Vzc0RhdGE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoYXJ0LGI9dGhpcy5vcHRpb25zLmRhdGFHcm91cGluZyxlPSExIT09dGhpcy5hbGxvd0RHJiZiJiZkKGIuZW5hYmxlZCxhLm9wdGlvbnMuaXNTdG9jayksZz10aGlzLnZpc2libGV8fCFhLm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzLG4sbD10aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcsazt0aGlzLmZvcmNlQ3JvcD1lO3RoaXMuZ3JvdXBQaXhlbFdpZHRoPW51bGw7dGhpcy5oYXNQcm9jZXNzZWQ9ITA7aWYoITEhPT14LmFwcGx5KHRoaXMsYXJndW1lbnRzKSYmZSl7dGhpcy5kZXN0cm95R3JvdXBlZERhdGEoKTt2YXIgbSxwPWIuZ3JvdXBBbGw/dGhpcy54RGF0YTp0aGlzLnByb2Nlc3NlZFhEYXRhLHQ9Yi5ncm91cEFsbD90aGlzLnlEYXRhOnRoaXMucHJvY2Vzc2VkWURhdGEsCglxPWEucGxvdFNpemVYLGE9dGhpcy54QXhpcyxyPWEub3B0aW9ucy5vcmRpbmFsLHo9dGhpcy5ncm91cFBpeGVsV2lkdGg9YS5nZXRHcm91cFBpeGVsV2lkdGgmJmEuZ2V0R3JvdXBQaXhlbFdpZHRoKCk7aWYoeil7dGhpcy5pc0RpcnR5PW49ITA7dGhpcy5wb2ludHM9bnVsbDtlPWEuZ2V0RXh0cmVtZXMoKTtrPWUubWluO2U9ZS5tYXg7cj1yJiZhLmdldEdyb3VwSW50ZXJ2YWxGYWN0b3IoayxlLHRoaXMpfHwxO3o9eiooZS1rKS9xKnI7cT1hLmdldFRpbWVUaWNrcyhhLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWwoeixiLnVuaXRzfHxMKSxNYXRoLm1pbihrLHBbMF0pLE1hdGgubWF4KGUscFtwLmxlbmd0aC0xXSksYS5vcHRpb25zLnN0YXJ0T2ZXZWVrLHAsdGhpcy5jbG9zZXN0UG9pbnRSYW5nZSk7dD1jLmdyb3VwRGF0YS5hcHBseSh0aGlzLFtwLHQscSxiLmFwcHJveGltYXRpb25dKTtwPXRbMF07cj10WzFdO2lmKGIuc21vb3RoZWQmJnAubGVuZ3RoKXttPXAubGVuZ3RoLTE7Zm9yKHBbbV09CgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgICBNYXRoLm1pbihwW21dLGUpO20tLSYmMDxtOylwW21dKz16LzI7cFswXT1NYXRoLm1heChwWzBdLGspfWs9cS5pbmZvO3RoaXMuY2xvc2VzdFBvaW50UmFuZ2U9cS5pbmZvLnRvdGFsUmFuZ2U7dGhpcy5ncm91cE1hcD10WzJdO2lmKGYocFswXSkmJnBbMF08YS5kYXRhTWluJiZnKXtpZighZihhLm9wdGlvbnMubWluKSYmYS5taW48PWEuZGF0YU1pbnx8YS5taW49PT1hLmRhdGFNaW4pYS5taW49cFswXTthLmRhdGFNaW49cFswXX1iLmdyb3VwQWxsJiYoYj10aGlzLmNyb3BEYXRhKHAscixhLm1pbixhLm1heCwxKSxwPWIueERhdGEscj1iLnlEYXRhKTt0aGlzLnByb2Nlc3NlZFhEYXRhPXA7dGhpcy5wcm9jZXNzZWRZRGF0YT1yfWVsc2UgdGhpcy5ncm91cE1hcD1udWxsO3RoaXMuaGFzR3JvdXBlZERhdGE9bjt0aGlzLmN1cnJlbnREYXRhR3JvdXBpbmc9azt0aGlzLnByZXZlbnRHcmFwaEFuaW1hdGlvbj0obCYmbC50b3RhbFJhbmdlKSE9PShrJiZrLnRvdGFsUmFuZ2UpfX07Yy5kZXN0cm95R3JvdXBlZERhdGE9CglmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ3JvdXBlZERhdGE7dShhfHxbXSxmdW5jdGlvbihiLGMpe2ImJihhW2NdPWIuZGVzdHJveT9iLmRlc3Ryb3koKTpudWxsKX0pO3RoaXMuZ3JvdXBlZERhdGE9bnVsbH07Yy5nZW5lcmF0ZVBvaW50cz1mdW5jdGlvbigpe0IuYXBwbHkodGhpcyk7dGhpcy5kZXN0cm95R3JvdXBlZERhdGEoKTt0aGlzLmdyb3VwZWREYXRhPXRoaXMuaGFzR3JvdXBlZERhdGE/dGhpcy5wb2ludHM6bnVsbH07RShlLCJ1cGRhdGUiLGZ1bmN0aW9uKCl7aWYodGhpcy5kYXRhR3JvdXApcmV0dXJuIGEuZXJyb3IoMjQpLCExfSk7YihtLnByb3RvdHlwZSwidG9vbHRpcEZvb3RlckhlYWRlckZvcm1hdHRlciIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuY2hhcnQudGltZSxlPWIuc2VyaWVzLGY9ZS50b29sdGlwT3B0aW9ucyxrPWUub3B0aW9ucy5kYXRhR3JvdXBpbmcsZz1mLnhEYXRlRm9ybWF0LGgsbj1lLnhBeGlzO3JldHVybiBuJiYiZGF0ZXRpbWUiPT09bi5vcHRpb25zLnR5cGUmJgprJiZ5KGIua2V5KT8oYT1lLmN1cnJlbnREYXRhR3JvdXBpbmcsaz1rLmRhdGVUaW1lTGFiZWxGb3JtYXRzLGE/KG49a1thLnVuaXROYW1lXSwxPT09YS5jb3VudD9nPW5bMF06KGc9blsxXSxoPW5bMl0pKTohZyYmayYmKGc9dGhpcy5nZXRYRGF0ZUZvcm1hdChiLGYsbikpLGc9ZC5kYXRlRm9ybWF0KGcsYi5rZXkpLGgmJihnKz1kLmRhdGVGb3JtYXQoaCxiLmtleSthLnRvdGFsUmFuZ2UtMSkpLHIoZlsoYz8iZm9vdGVyIjoiaGVhZGVyIikrIkZvcm1hdCJdLHtwb2ludDpDKGIucG9pbnQse2tleTpnfSksc2VyaWVzOmV9LGQpKTphLmNhbGwodGhpcyxiLGMpfSk7RShnLCJkZXN0cm95IixjLmRlc3Ryb3lHcm91cGVkRGF0YSk7RShnLCJhZnRlclNldE9wdGlvbnMiLGZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zO3ZhciBiPXRoaXMudHlwZSxjPXRoaXMuY2hhcnQub3B0aW9ucy5wbG90T3B0aW9ucyxkPWxbYl0uZGF0YUdyb3VwaW5nLGU9dGhpcy51c2VDb21tb25EYXRhR3JvdXBpbmcmJnQ7CglpZihuW2JdfHxlKWR8fChkPXAodCxuW2JdKSksYS5kYXRhR3JvdXBpbmc9cChlLGQsYy5zZXJpZXMmJmMuc2VyaWVzLmRhdGFHcm91cGluZyxjW2JdLmRhdGFHcm91cGluZyx0aGlzLnVzZXJPcHRpb25zLmRhdGFHcm91cGluZyk7dGhpcy5jaGFydC5vcHRpb25zLmlzU3RvY2smJih0aGlzLnJlcXVpcmVTb3J0aW5nPSEwKX0pO0UocSwiYWZ0ZXJTZXRTY2FsZSIsZnVuY3Rpb24oKXt1KHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGEpe2EuaGFzUHJvY2Vzc2VkPSExfSl9KTtxLnByb3RvdHlwZS5nZXRHcm91cFBpeGVsV2lkdGg9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnNlcmllcyxiPWEubGVuZ3RoLGMsZD0wLGU9ITEsZjtmb3IoYz1iO2MtLTspKGY9YVtjXS5vcHRpb25zLmRhdGFHcm91cGluZykmJihkPU1hdGgubWF4KGQsZi5ncm91cFBpeGVsV2lkdGgpKTtmb3IoYz1iO2MtLTspKGY9YVtjXS5vcHRpb25zLmRhdGFHcm91cGluZykmJmFbY10uaGFzUHJvY2Vzc2VkJiYoYj0oYVtjXS5wcm9jZXNzZWRYRGF0YXx8CglhW2NdLmRhdGEpLmxlbmd0aCxhW2NdLmdyb3VwUGl4ZWxXaWR0aHx8Yj50aGlzLmNoYXJ0LnBsb3RTaXplWC9kfHxiJiZmLmZvcmNlZCkmJihlPSEwKTtyZXR1cm4gZT9kOjB9O3EucHJvdG90eXBlLnNldERhdGFHcm91cGluZz1mdW5jdGlvbihhLGIpe3ZhciBjO2I9ZChiLCEwKTthfHwoYT17Zm9yY2VkOiExLHVuaXRzOm51bGx9KTtpZih0aGlzIGluc3RhbmNlb2YgcSlmb3IoYz10aGlzLnNlcmllcy5sZW5ndGg7Yy0tOyl0aGlzLnNlcmllc1tjXS51cGRhdGUoe2RhdGFHcm91cGluZzphfSwhMSk7ZWxzZSB1KHRoaXMuY2hhcnQub3B0aW9ucy5zZXJpZXMsZnVuY3Rpb24oYil7Yi5kYXRhR3JvdXBpbmc9YX0sITEpO3RoaXMub3JkaW5hbFNsb3BlPW51bGw7YiYmdGhpcy5jaGFydC5yZWRyYXcoKX19KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5lYWNoLEY9YS5Qb2ludCxHPWEuc2VyaWVzVHlwZSxxPWEuc2VyaWVzVHlwZXM7Rygib2hsYyIsImNvbHVtbiIse2xpbmVXaWR0aDoxLHRvb2x0aXA6e3BvaW50Rm9ybWF0OidceDNjc3BhbiBzdHlsZVx4M2QiY29sb3I6e3BvaW50LmNvbG9yfSJceDNlXHUyNWNmXHgzYy9zcGFuXHgzZSBceDNjYlx4M2Uge3Nlcmllcy5uYW1lfVx4M2MvYlx4M2VceDNjYnIvXHgzZU9wZW46IHtwb2ludC5vcGVufVx4M2Nici9ceDNlSGlnaDoge3BvaW50LmhpZ2h9XHgzY2JyL1x4M2VMb3c6IHtwb2ludC5sb3d9XHgzY2JyL1x4M2VDbG9zZToge3BvaW50LmNsb3NlfVx4M2Nici9ceDNlJ30sCgl0aHJlc2hvbGQ6bnVsbCxzdGF0ZXM6e2hvdmVyOntsaW5lV2lkdGg6M319LHN0aWNreVRyYWNraW5nOiEwfSx7ZGlyZWN0VG91Y2g6ITEscG9pbnRBcnJheU1hcDpbIm9wZW4iLCJoaWdoIiwibG93IiwiY2xvc2UiXSx0b1lEYXRhOmZ1bmN0aW9uKGEpe3JldHVyblthLm9wZW4sYS5oaWdoLGEubG93LGEuY2xvc2VdfSxwb2ludFZhbEtleToiY2xvc2UiLHBvaW50QXR0clRvT3B0aW9uczp7c3Ryb2tlOiJjb2xvciIsInN0cm9rZS13aWR0aCI6ImxpbmVXaWR0aCJ9LGluaXQ6ZnVuY3Rpb24oKXtxLmNvbHVtbi5wcm90b3R5cGUuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5vcHRpb25zLnN0YWNraW5nPSExfSxwb2ludEF0dHJpYnM6ZnVuY3Rpb24oYSxmKXtmPXEuY29sdW1uLnByb3RvdHlwZS5wb2ludEF0dHJpYnMuY2FsbCh0aGlzLGEsZik7dmFyIGw9dGhpcy5vcHRpb25zO2RlbGV0ZSBmLmZpbGw7IWEub3B0aW9ucy5jb2xvciYmbC51cENvbG9yJiZhLm9wZW48YS5jbG9zZSYmCgkoZi5zdHJva2U9bC51cENvbG9yKTtyZXR1cm4gZn0sdHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxmPWEueUF4aXMsdT0hIWEubW9kaWZ5VmFsdWUsQz1bInBsb3RPcGVuIiwicGxvdEhpZ2giLCJwbG90TG93IiwicGxvdENsb3NlIiwieUJvdHRvbSJdO3EuY29sdW1uLnByb3RvdHlwZS50cmFuc2xhdGUuYXBwbHkoYSk7RShhLnBvaW50cyxmdW5jdGlvbihsKXtFKFtsLm9wZW4sbC5oaWdoLGwubG93LGwuY2xvc2UsbC5sb3ddLGZ1bmN0aW9uKHEscCl7bnVsbCE9PXEmJih1JiYocT1hLm1vZGlmeVZhbHVlKHEpKSxsW0NbcF1dPWYudG9QaXhlbHMocSwhMCkpfSk7bC50b29sdGlwUG9zWzFdPWwucGxvdEhpZ2grZi5wb3MtYS5jaGFydC5wbG90VG9wfSl9LGRyYXdQb2ludHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGY9YS5jaGFydDtFKGEucG9pbnRzLGZ1bmN0aW9uKGwpe3ZhciBxLHIsdSxwLGQ9bC5ncmFwaGljLGUsZz0hZDt2b2lkIDAhPT1sLnBsb3RZJiYoZHx8KGwuZ3JhcGhpYz0KCQlkPWYucmVuZGVyZXIucGF0aCgpLmFkZChhLmdyb3VwKSksZC5hdHRyKGEucG9pbnRBdHRyaWJzKGwsbC5zZWxlY3RlZCYmInNlbGVjdCIpKSxyPWQuc3Ryb2tlV2lkdGgoKSUyLzIsZT1NYXRoLnJvdW5kKGwucGxvdFgpLXIsdT1NYXRoLnJvdW5kKGwuc2hhcGVBcmdzLndpZHRoLzIpLHA9WyJNIixlLE1hdGgucm91bmQobC55Qm90dG9tKSwiTCIsZSxNYXRoLnJvdW5kKGwucGxvdEhpZ2gpXSxudWxsIT09bC5vcGVuJiYocT1NYXRoLnJvdW5kKGwucGxvdE9wZW4pK3IscC5wdXNoKCJNIixlLHEsIkwiLGUtdSxxKSksbnVsbCE9PWwuY2xvc2UmJihxPU1hdGgucm91bmQobC5wbG90Q2xvc2UpK3IscC5wdXNoKCJNIixlLHEsIkwiLGUrdSxxKSksZFtnPyJhdHRyIjoiYW5pbWF0ZSJdKHtkOnB9KS5hZGRDbGFzcyhsLmdldENsYXNzTmFtZSgpLCEwKSl9KX0sYW5pbWF0ZTpudWxsfSx7Z2V0Q2xhc3NOYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIEYucHJvdG90eXBlLmdldENsYXNzTmFtZS5jYWxsKHRoaXMpKwoJCSh0aGlzLm9wZW48dGhpcy5jbG9zZT8iIGhpZ2hjaGFydHMtcG9pbnQtdXAiOiIgaGlnaGNoYXJ0cy1wb2ludC1kb3duIil9fSl9KShKKTsoZnVuY3Rpb24oYSl7dmFyIEU9YS5kZWZhdWx0UGxvdE9wdGlvbnMsRj1hLmVhY2gsRz1hLm1lcmdlLHE9YS5zZXJpZXNUeXBlLGw9YS5zZXJpZXNUeXBlcztxKCJjYW5kbGVzdGljayIsIm9obGMiLEcoRS5jb2x1bW4se3N0YXRlczp7aG92ZXI6e2xpbmVXaWR0aDoyfX0sdG9vbHRpcDpFLm9obGMudG9vbHRpcCx0aHJlc2hvbGQ6bnVsbCxsaW5lQ29sb3I6IiMwMDAwMDAiLGxpbmVXaWR0aDoxLHVwQ29sb3I6IiNmZmZmZmYiLHN0aWNreVRyYWNraW5nOiEwfSkse3BvaW50QXR0cmliczpmdW5jdGlvbihhLHEpe3ZhciBmPWwuY29sdW1uLnByb3RvdHlwZS5wb2ludEF0dHJpYnMuY2FsbCh0aGlzLGEscSkscj10aGlzLm9wdGlvbnMsdT1hLm9wZW48YS5jbG9zZSxwPXIubGluZUNvbG9yfHx0aGlzLmNvbG9yO2ZbInN0cm9rZS13aWR0aCJdPXIubGluZVdpZHRoOwoJCWYuZmlsbD1hLm9wdGlvbnMuY29sb3J8fCh1P3IudXBDb2xvcnx8dGhpcy5jb2xvcjp0aGlzLmNvbG9yKTtmLnN0cm9rZT1hLmxpbmVDb2xvcnx8KHU/ci51cExpbmVDb2xvcnx8cDpwKTtxJiYoYT1yLnN0YXRlc1txXSxmLmZpbGw9YS5jb2xvcnx8Zi5maWxsLGYuc3Ryb2tlPWEubGluZUNvbG9yfHxmLnN0cm9rZSxmWyJzdHJva2Utd2lkdGgiXT1hLmxpbmVXaWR0aHx8Zlsic3Ryb2tlLXdpZHRoIl0pO3JldHVybiBmfSxkcmF3UG9pbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxsPWEuY2hhcnQscT1hLnlBeGlzLnJldmVyc2VkO0YoYS5wb2ludHMsZnVuY3Rpb24oZil7dmFyIHI9Zi5ncmFwaGljLHAsZCxlLGcsbSxiLGMseD0hcjt2b2lkIDAhPT1mLnBsb3RZJiYocnx8KGYuZ3JhcGhpYz1yPWwucmVuZGVyZXIucGF0aCgpLmFkZChhLmdyb3VwKSksci5hdHRyKGEucG9pbnRBdHRyaWJzKGYsZi5zZWxlY3RlZCYmInNlbGVjdCIpKS5zaGFkb3coYS5vcHRpb25zLnNoYWRvdyksbT1yLnN0cm9rZVdpZHRoKCklCgkJMi8yLGI9TWF0aC5yb3VuZChmLnBsb3RYKS1tLHA9Zi5wbG90T3BlbixkPWYucGxvdENsb3NlLGU9TWF0aC5taW4ocCxkKSxwPU1hdGgubWF4KHAsZCksYz1NYXRoLnJvdW5kKGYuc2hhcGVBcmdzLndpZHRoLzIpLGQ9cT9wIT09Zi55Qm90dG9tOk1hdGgucm91bmQoZSkhPT1NYXRoLnJvdW5kKGYucGxvdEhpZ2gpLGc9cT9NYXRoLnJvdW5kKGUpIT09TWF0aC5yb3VuZChmLnBsb3RIaWdoKTpwIT09Zi55Qm90dG9tLGU9TWF0aC5yb3VuZChlKSttLHA9TWF0aC5yb3VuZChwKSttLG09W10sbS5wdXNoKCJNIixiLWMscCwiTCIsYi1jLGUsIkwiLGIrYyxlLCJMIixiK2MscCwiWiIsIk0iLGIsZSwiTCIsYixkP01hdGgucm91bmQocT9mLnlCb3R0b206Zi5wbG90SGlnaCk6ZSwiTSIsYixwLCJMIixiLGc/TWF0aC5yb3VuZChxP2YucGxvdEhpZ2g6Zi55Qm90dG9tKTpwKSxyW3g/ImF0dHIiOiJhbmltYXRlIl0oe2Q6bX0pLmFkZENsYXNzKGYuZ2V0Q2xhc3NOYW1lKCksITApKX0pfX0pfSkoSik7CgllYT1mdW5jdGlvbihhKXt2YXIgRT1hLmVhY2gsRj1hLmRlZmluZWQsRz1hLnNlcmllc1R5cGVzLHE9YS5zdGFibGVTb3J0O3JldHVybntnZXRQbG90Qm94OmZ1bmN0aW9uKCl7cmV0dXJuIGEuU2VyaWVzLnByb3RvdHlwZS5nZXRQbG90Qm94LmNhbGwodGhpcy5vcHRpb25zLm9uU2VyaWVzJiZ0aGlzLmNoYXJ0LmdldCh0aGlzLm9wdGlvbnMub25TZXJpZXMpfHx0aGlzKX0sdHJhbnNsYXRlOmZ1bmN0aW9uKCl7Ry5jb2x1bW4ucHJvdG90eXBlLnRyYW5zbGF0ZS5hcHBseSh0aGlzKTt2YXIgYT10aGlzLm9wdGlvbnMsZj10aGlzLmNoYXJ0LHU9dGhpcy5wb2ludHMsQz11Lmxlbmd0aC0xLHIseSxwPWEub25TZXJpZXMscD1wJiZmLmdldChwKSxhPWEub25LZXl8fCJ5IixkPXAmJnAub3B0aW9ucy5zdGVwLGU9cCYmcC5wb2ludHMsZz1lJiZlLmxlbmd0aCxtPWYuaW52ZXJ0ZWQsYj10aGlzLnhBeGlzLGM9dGhpcy55QXhpcyx4PTAsQix0LG4sTDtpZihwJiZwLnZpc2libGUmJmcpZm9yKHg9CgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkocC5wb2ludFhPZmZzZXR8fDApKyhwLmJhcld8fDApLzIscj1wLmN1cnJlbnREYXRhR3JvdXBpbmcsdD1lW2ctMV0ueCsocj9yLnRvdGFsUmFuZ2U6MCkscSh1LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEueC1iLnh9KSxhPSJwbG90IithWzBdLnRvVXBwZXJDYXNlKCkrYS5zdWJzdHIoMSk7Zy0tJiZ1W0NdJiYhKEI9ZVtnXSxyPXVbQ10sci55PUIueSxCLng8PXIueCYmdm9pZCAwIT09QlthXSYmKHIueDw9dCYmKHIucGxvdFk9QlthXSxCLng8ci54JiYhZCYmKG49ZVtnKzFdKSYmdm9pZCAwIT09blthXSYmKEw9KHIueC1CLngpLyhuLngtQi54KSxyLnBsb3RZKz1MKihuW2FdLUJbYV0pLHIueSs9TCoobi55LUIueSkpKSxDLS0sZysrLDA+QykpOyk7RSh1LGZ1bmN0aW9uKGEsZCl7dmFyIGU7YS5wbG90WCs9eDtpZih2b2lkIDA9PT1hLnBsb3RZfHxtKTA8PWEucGxvdFgmJmEucGxvdFg8PWIubGVuP20/KGEucGxvdFk9Yi50cmFuc2xhdGUoYS54LDAsMSwwLDEpLGEucGxvdFg9RihhLnkpPwoJCQljLnRyYW5zbGF0ZShhLnksMCwwLDAsMSk6MCk6YS5wbG90WT1mLmNoYXJ0SGVpZ2h0LWIuYm90dG9tLShiLm9wcG9zaXRlP2IuaGVpZ2h0OjApK2Iub2Zmc2V0LWMudG9wOmEuc2hhcGVBcmdzPXt9Oyh5PXVbZC0xXSkmJnkucGxvdFg9PT1hLnBsb3RYJiYodm9pZCAwPT09eS5zdGFja0luZGV4JiYoeS5zdGFja0luZGV4PTApLGU9eS5zdGFja0luZGV4KzEpO2Euc3RhY2tJbmRleD1lfSk7dGhpcy5vblNlcmllcz1wfX19KEopOyhmdW5jdGlvbihhLEUpe2Z1bmN0aW9uIEYoYSl7ZFthKyJwaW4iXT1mdW5jdGlvbihlLGYsYixjLGwpe3ZhciBnPWwmJmwuYW5jaG9yWDtsPWwmJmwuYW5jaG9yWTsiY2lyY2xlIj09PWEmJmM+YiYmKGUtPU1hdGgucm91bmQoKGMtYikvMiksYj1jKTtlPWRbYV0oZSxmLGIsYyk7ZyYmbCYmKGUucHVzaCgiTSIsImNpcmNsZSI9PT1hP2VbMV0tZVs0XTplWzFdK2VbNF0vMixmPmw/ZjpmK2MsIkwiLGcsbCksZT1lLmNvbmNhdChkLmNpcmNsZShnLTEsbC0xLDIsCgkJMikpKTtyZXR1cm4gZX19dmFyIEc9YS5hZGRFdmVudCxxPWEuZWFjaCxsPWEubWVyZ2UsZj1hLm5vb3AsdT1hLlJlbmRlcmVyLEM9YS5TZXJpZXMscj1hLnNlcmllc1R5cGUseT1hLlRyYWNrZXJNaXhpbixwPWEuVk1MUmVuZGVyZXIsZD1hLlNWR1JlbmRlcmVyLnByb3RvdHlwZS5zeW1ib2xzO3IoImZsYWdzIiwiY29sdW1uIix7cG9pbnRSYW5nZTowLGFsbG93T3ZlcmxhcFg6ITEsc2hhcGU6ImZsYWciLHN0YWNrRGlzdGFuY2U6MTIsdGV4dEFsaWduOiJjZW50ZXIiLHRvb2x0aXA6e3BvaW50Rm9ybWF0OiJ7cG9pbnQudGV4dH1ceDNjYnIvXHgzZSJ9LHRocmVzaG9sZDpudWxsLHk6LTMwLGZpbGxDb2xvcjoiI2ZmZmZmZiIsbGluZVdpZHRoOjEsc3RhdGVzOntob3Zlcjp7bGluZUNvbG9yOiIjMDAwMDAwIixmaWxsQ29sb3I6IiNjY2Q2ZWIifX0sc3R5bGU6e2ZvbnRTaXplOiIxMXB4Iixmb250V2VpZ2h0OiJib2xkIn19LHtzb3J0ZWQ6ITEsbm9TaGFyZWRUb29sdGlwOiEwLGFsbG93REc6ITEsCgkJdGFrZU9yZGluYWxQb3NpdGlvbjohMSx0cmFja2VyR3JvdXBzOlsibWFya2VyR3JvdXAiXSxmb3JjZUNyb3A6ITAsaW5pdDpDLnByb3RvdHlwZS5pbml0LHBvaW50QXR0cmliczpmdW5jdGlvbihhLGQpe3ZhciBlPXRoaXMub3B0aW9ucyxiPWEmJmEuY29sb3J8fHRoaXMuY29sb3IsYz1lLmxpbmVDb2xvcixmPWEmJmEubGluZVdpZHRoO2E9YSYmYS5maWxsQ29sb3J8fGUuZmlsbENvbG9yO2QmJihhPWUuc3RhdGVzW2RdLmZpbGxDb2xvcixjPWUuc3RhdGVzW2RdLmxpbmVDb2xvcixmPWUuc3RhdGVzW2RdLmxpbmVXaWR0aCk7cmV0dXJue2ZpbGw6YXx8YixzdHJva2U6Y3x8Yiwic3Ryb2tlLXdpZHRoIjpmfHxlLmxpbmVXaWR0aHx8MH19LHRyYW5zbGF0ZTpFLnRyYW5zbGF0ZSxnZXRQbG90Qm94OkUuZ2V0UGxvdEJveCxkcmF3UG9pbnRzOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5wb2ludHMsZj10aGlzLmNoYXJ0LG09Zi5yZW5kZXJlcixiLGMscD1mLmludmVydGVkLHI9dGhpcy5vcHRpb25zLAoJCQl0PXIueSxuLHUseixELGgseSxDPXRoaXMueUF4aXMsdj17fSx3PVtdO2Zvcih1PWQubGVuZ3RoO3UtLTspej1kW3VdLHk9KHA/ei5wbG90WTp6LnBsb3RYKT50aGlzLnhBeGlzLmxlbixiPXoucGxvdFgsRD16LnN0YWNrSW5kZXgsbj16Lm9wdGlvbnMuc2hhcGV8fHIuc2hhcGUsYz16LnBsb3RZLHZvaWQgMCE9PWMmJihjPXoucGxvdFkrdC0odm9pZCAwIT09RCYmRCpyLnN0YWNrRGlzdGFuY2UpKSx6LmFuY2hvclg9RD92b2lkIDA6ei5wbG90WCxoPUQ/dm9pZCAwOnoucGxvdFksRD16LmdyYXBoaWMsdm9pZCAwIT09YyYmMDw9YiYmIXk/KER8fChEPXouZ3JhcGhpYz1tLmxhYmVsKCIiLG51bGwsbnVsbCxuLG51bGwsbnVsbCxyLnVzZUhUTUwpLmF0dHIodGhpcy5wb2ludEF0dHJpYnMoeikpLmNzcyhsKHIuc3R5bGUsei5zdHlsZSkpLmF0dHIoe2FsaWduOiJmbGFnIj09PW4/ImxlZnQiOiJjZW50ZXIiLHdpZHRoOnIud2lkdGgsaGVpZ2h0OnIuaGVpZ2h0LCJ0ZXh0LWFsaWduIjpyLnRleHRBbGlnbn0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50IikuYWRkKHRoaXMubWFya2VyR3JvdXApLAoJCXouZ3JhcGhpYy5kaXYmJih6LmdyYXBoaWMuZGl2LnBvaW50PXopLEQuc2hhZG93KHIuc2hhZG93KSxELmlzTmV3PSEwKSwwPGImJihiLT1ELnN0cm9rZVdpZHRoKCklMiksbj17eTpjLGFuY2hvclk6aH0sci5hbGxvd092ZXJsYXBYJiYobi54PWIsbi5hbmNob3JYPXouYW5jaG9yWCksRC5hdHRyKHt0ZXh0Onoub3B0aW9ucy50aXRsZXx8ci50aXRsZXx8IkEifSlbRC5pc05ldz8iYXR0ciI6ImFuaW1hdGUiXShuKSxyLmFsbG93T3ZlcmxhcFh8fCh2W3oucGxvdFhdP3Zbei5wbG90WF0uc2l6ZT1NYXRoLm1heCh2W3oucGxvdFhdLnNpemUsRC53aWR0aCk6dlt6LnBsb3RYXT17YWxpZ246MCxzaXplOkQud2lkdGgsdGFyZ2V0OmIsYW5jaG9yWDpifSksei50b29sdGlwUG9zPVtiLGMrQy5wb3MtZi5wbG90VG9wXSk6RCYmKHouZ3JhcGhpYz1ELmRlc3Ryb3koKSk7ci5hbGxvd092ZXJsYXBYfHwoYS5vYmplY3RFYWNoKHYsZnVuY3Rpb24oYSl7YS5wbG90WD1hLmFuY2hvclg7dy5wdXNoKGEpfSksCgkJCWEuZGlzdHJpYnV0ZSh3LHA/Qy5sZW46dGhpcy54QXhpcy5sZW4sMTAwKSxxKGQsZnVuY3Rpb24oYSl7dmFyIGI9YS5ncmFwaGljJiZ2W2EucGxvdFhdO2ImJihhLmdyYXBoaWNbYS5ncmFwaGljLmlzTmV3PyJhdHRyIjoiYW5pbWF0ZSJdKHt4OmIucG9zLGFuY2hvclg6YS5hbmNob3JYfSksYi5wb3M/YS5ncmFwaGljLmlzTmV3PSExOihhLmdyYXBoaWMuYXR0cih7eDotOTk5OSxhbmNob3JYOi05OTk5fSksYS5ncmFwaGljLmlzTmV3PSEwKSl9KSk7ci51c2VIVE1MJiZhLndyYXAodGhpcy5tYXJrZXJHcm91cCwib24iLGZ1bmN0aW9uKGIpe3JldHVybiBhLlNWR0VsZW1lbnQucHJvdG90eXBlLm9uLmFwcGx5KGIuYXBwbHkodGhpcyxbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSksW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfSl9LGRyYXdUcmFja2VyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5wb2ludHM7eS5kcmF3VHJhY2tlclBvaW50LmFwcGx5KHRoaXMpO3EoYSxmdW5jdGlvbihkKXt2YXIgZT0KCQkJZC5ncmFwaGljO2UmJkcoZS5lbGVtZW50LCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7MDxkLnN0YWNrSW5kZXgmJiFkLnJhaXNlZCYmKGQuX3k9ZS55LGUuYXR0cih7eTpkLl95LTh9KSxkLnJhaXNlZD0hMCk7cShhLGZ1bmN0aW9uKGEpe2EhPT1kJiZhLnJhaXNlZCYmYS5ncmFwaGljJiYoYS5ncmFwaGljLmF0dHIoe3k6YS5feX0pLGEucmFpc2VkPSExKX0pfSl9KX0sYW5pbWF0ZTpmdW5jdGlvbihhKXthP3RoaXMuc2V0Q2xpcCgpOnRoaXMuYW5pbWF0ZT1udWxsfSxzZXRDbGlwOmZ1bmN0aW9uKCl7Qy5wcm90b3R5cGUuc2V0Q2xpcC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ITEhPT10aGlzLm9wdGlvbnMuY2xpcCYmdGhpcy5zaGFyZWRDbGlwS2V5JiZ0aGlzLm1hcmtlckdyb3VwLmNsaXAodGhpcy5jaGFydFt0aGlzLnNoYXJlZENsaXBLZXldKX0sYnVpbGRLRFRyZWU6ZixpbnZlcnRHcm91cHM6Zn0pO2QuZmxhZz1mdW5jdGlvbihhLGYsbCxiLGMpe3ZhciBlPWMmJmMuYW5jaG9yWHx8CgkJYTtjPWMmJmMuYW5jaG9yWXx8ZjtyZXR1cm4gZC5jaXJjbGUoZS0xLGMtMSwyLDIpLmNvbmNhdChbIk0iLGUsYywiTCIsYSxmK2IsYSxmLGErbCxmLGErbCxmK2IsYSxmK2IsIloiXSl9O0YoImNpcmNsZSIpO0YoInNxdWFyZSIpO3U9PT1wJiZxKFsiZmxhZyIsImNpcmNsZXBpbiIsInNxdWFyZXBpbiJdLGZ1bmN0aW9uKGEpe3AucHJvdG90eXBlLnN5bWJvbHNbYV09ZFthXX0pfSkoSixlYSk7KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIEUoYSxjLGQpe3RoaXMuaW5pdChhLGMsZCl9dmFyIEY9YS5hZGRFdmVudCxHPWEuQXhpcyxxPWEuY29ycmVjdEZsb2F0LGw9YS5kZWZhdWx0T3B0aW9ucyxmPWEuZGVmaW5lZCx1PWEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsQz1hLmVhY2gscj1hLmZpcmVFdmVudCx5PWEuaGFzVG91Y2gscD1hLm1lcmdlLGQ9YS5waWNrLGU9YS5yZW1vdmVFdmVudCxnLG09e2hlaWdodDphLmlzVG91Y2hEZXZpY2U/MjA6MTQsYmFyQm9yZGVyUmFkaXVzOjAsYnV0dG9uQm9yZGVyUmFkaXVzOjAsCgkJbGl2ZVJlZHJhdzp2b2lkIDAsbWFyZ2luOjEwLG1pbldpZHRoOjYsc3RlcDouMix6SW5kZXg6MyxiYXJCYWNrZ3JvdW5kQ29sb3I6IiNjY2NjY2MiLGJhckJvcmRlcldpZHRoOjEsYmFyQm9yZGVyQ29sb3I6IiNjY2NjY2MiLGJ1dHRvbkFycm93Q29sb3I6IiMzMzMzMzMiLGJ1dHRvbkJhY2tncm91bmRDb2xvcjoiI2U2ZTZlNiIsYnV0dG9uQm9yZGVyQ29sb3I6IiNjY2NjY2MiLGJ1dHRvbkJvcmRlcldpZHRoOjEscmlmbGVDb2xvcjoiIzMzMzMzMyIsdHJhY2tCYWNrZ3JvdW5kQ29sb3I6IiNmMmYyZjIiLHRyYWNrQm9yZGVyQ29sb3I6IiNmMmYyZjIiLHRyYWNrQm9yZGVyV2lkdGg6MX07bC5zY3JvbGxiYXI9cCghMCxtLGwuc2Nyb2xsYmFyKTthLnN3YXBYWT1nPWZ1bmN0aW9uKGEsYyl7dmFyIGI9YS5sZW5ndGgsZDtpZihjKWZvcihjPTA7YzxiO2MrPTMpZD1hW2MrMV0sYVtjKzFdPWFbYysyXSxhW2MrMl09ZDtyZXR1cm4gYX07RS5wcm90b3R5cGU9e2luaXQ6ZnVuY3Rpb24oYSxjLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgIGUpe3RoaXMuc2Nyb2xsYmFyQnV0dG9ucz1bXTt0aGlzLnJlbmRlcmVyPWE7dGhpcy51c2VyT3B0aW9ucz1jO3RoaXMub3B0aW9ucz1wKG0sYyk7dGhpcy5jaGFydD1lO3RoaXMuc2l6ZT1kKHRoaXMub3B0aW9ucy5zaXplLHRoaXMub3B0aW9ucy5oZWlnaHQpO2MuZW5hYmxlZCYmKHRoaXMucmVuZGVyKCksdGhpcy5pbml0RXZlbnRzKCksdGhpcy5hZGRFdmVudHMoKSl9LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBhPXRoaXMucmVuZGVyZXIsYz10aGlzLm9wdGlvbnMsZD10aGlzLnNpemUsZTt0aGlzLmdyb3VwPWU9YS5nKCJzY3JvbGxiYXIiKS5hdHRyKHt6SW5kZXg6Yy56SW5kZXgsdHJhbnNsYXRlWTotOTk5OTl9KS5hZGQoKTt0aGlzLnRyYWNrPWEucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci10cmFjayIpLmF0dHIoe3g6MCxyOmMudHJhY2tCb3JkZXJSYWRpdXN8fDAsaGVpZ2h0OmQsd2lkdGg6ZH0pLmFkZChlKTt0aGlzLnRyYWNrLmF0dHIoe2ZpbGw6Yy50cmFja0JhY2tncm91bmRDb2xvciwKCQkJc3Ryb2tlOmMudHJhY2tCb3JkZXJDb2xvciwic3Ryb2tlLXdpZHRoIjpjLnRyYWNrQm9yZGVyV2lkdGh9KTt0aGlzLnRyYWNrQm9yZGVyV2lkdGg9dGhpcy50cmFjay5zdHJva2VXaWR0aCgpO3RoaXMudHJhY2suYXR0cih7eTotdGhpcy50cmFja0JvcmRlcldpZHRoJTIvMn0pO3RoaXMuc2Nyb2xsYmFyR3JvdXA9YS5nKCkuYWRkKGUpO3RoaXMuc2Nyb2xsYmFyPWEucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci10aHVtYiIpLmF0dHIoe2hlaWdodDpkLHdpZHRoOmQscjpjLmJhckJvcmRlclJhZGl1c3x8MH0pLmFkZCh0aGlzLnNjcm9sbGJhckdyb3VwKTt0aGlzLnNjcm9sbGJhclJpZmxlcz1hLnBhdGgoZyhbIk0iLC0zLGQvNCwiTCIsLTMsMipkLzMsIk0iLDAsZC80LCJMIiwwLDIqZC8zLCJNIiwzLGQvNCwiTCIsMywyKmQvM10sYy52ZXJ0aWNhbCkpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci1yaWZsZXMiKS5hZGQodGhpcy5zY3JvbGxiYXJHcm91cCk7CgkJCXRoaXMuc2Nyb2xsYmFyLmF0dHIoe2ZpbGw6Yy5iYXJCYWNrZ3JvdW5kQ29sb3Isc3Ryb2tlOmMuYmFyQm9yZGVyQ29sb3IsInN0cm9rZS13aWR0aCI6Yy5iYXJCb3JkZXJXaWR0aH0pO3RoaXMuc2Nyb2xsYmFyUmlmbGVzLmF0dHIoe3N0cm9rZTpjLnJpZmxlQ29sb3IsInN0cm9rZS13aWR0aCI6MX0pO3RoaXMuc2Nyb2xsYmFyU3Ryb2tlV2lkdGg9dGhpcy5zY3JvbGxiYXIuc3Ryb2tlV2lkdGgoKTt0aGlzLnNjcm9sbGJhckdyb3VwLnRyYW5zbGF0ZSgtdGhpcy5zY3JvbGxiYXJTdHJva2VXaWR0aCUyLzIsLXRoaXMuc2Nyb2xsYmFyU3Ryb2tlV2lkdGglMi8yKTt0aGlzLmRyYXdTY3JvbGxiYXJCdXR0b24oMCk7dGhpcy5kcmF3U2Nyb2xsYmFyQnV0dG9uKDEpfSxwb3NpdGlvbjpmdW5jdGlvbihhLGMsZCxlKXt2YXIgYj10aGlzLm9wdGlvbnMudmVydGljYWwsZj0wLGc9dGhpcy5yZW5kZXJlZD8iYW5pbWF0ZSI6ImF0dHIiO3RoaXMueD1hO3RoaXMueT1jK3RoaXMudHJhY2tCb3JkZXJXaWR0aDsKCQkJdGhpcy53aWR0aD1kO3RoaXMueE9mZnNldD10aGlzLmhlaWdodD1lO3RoaXMueU9mZnNldD1mO2I/KHRoaXMud2lkdGg9dGhpcy55T2Zmc2V0PWQ9Zj10aGlzLnNpemUsdGhpcy54T2Zmc2V0PWM9MCx0aGlzLmJhcldpZHRoPWUtMipkLHRoaXMueD1hKz10aGlzLm9wdGlvbnMubWFyZ2luKToodGhpcy5oZWlnaHQ9dGhpcy54T2Zmc2V0PWU9Yz10aGlzLnNpemUsdGhpcy5iYXJXaWR0aD1kLTIqZSx0aGlzLnkrPXRoaXMub3B0aW9ucy5tYXJnaW4pO3RoaXMuZ3JvdXBbZ10oe3RyYW5zbGF0ZVg6YSx0cmFuc2xhdGVZOnRoaXMueX0pO3RoaXMudHJhY2tbZ10oe3dpZHRoOmQsaGVpZ2h0OmV9KTt0aGlzLnNjcm9sbGJhckJ1dHRvbnNbMV1bZ10oe3RyYW5zbGF0ZVg6Yj8wOmQtYyx0cmFuc2xhdGVZOmI/ZS1mOjB9KX0sZHJhd1Njcm9sbGJhckJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJlbmRlcmVyLGQ9dGhpcy5zY3JvbGxiYXJCdXR0b25zLGU9dGhpcy5vcHRpb25zLGY9dGhpcy5zaXplLAoJCQluO249Yi5nKCkuYWRkKHRoaXMuZ3JvdXApO2QucHVzaChuKTtuPWIucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci1idXR0b24iKS5hZGQobik7bi5hdHRyKHtzdHJva2U6ZS5idXR0b25Cb3JkZXJDb2xvciwic3Ryb2tlLXdpZHRoIjplLmJ1dHRvbkJvcmRlcldpZHRoLGZpbGw6ZS5idXR0b25CYWNrZ3JvdW5kQ29sb3J9KTtuLmF0dHIobi5jcmlzcCh7eDotLjUseTotLjUsd2lkdGg6ZisxLGhlaWdodDpmKzEscjplLmJ1dHRvbkJvcmRlclJhZGl1c30sbi5zdHJva2VXaWR0aCgpKSk7bj1iLnBhdGgoZyhbIk0iLGYvMisoYT8tMToxKSxmLzItMywiTCIsZi8yKyhhPy0xOjEpLGYvMiszLCJMIixmLzIrKGE/MjotMiksZi8yXSxlLnZlcnRpY2FsKSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYmFyLWFycm93IikuYWRkKGRbYV0pO24uYXR0cih7ZmlsbDplLmJ1dHRvbkFycm93Q29sb3J9KX0sc2V0UmFuZ2U6ZnVuY3Rpb24oYSxjKXt2YXIgYj10aGlzLm9wdGlvbnMsCgkJCWQ9Yi52ZXJ0aWNhbCxlPWIubWluV2lkdGgsZz10aGlzLmJhcldpZHRoLGwsbSxwPSF0aGlzLnJlbmRlcmVkfHx0aGlzLmhhc0RyYWdnZWR8fHRoaXMuY2hhcnQubmF2aWdhdG9yJiZ0aGlzLmNoYXJ0Lm5hdmlnYXRvci5oYXNEcmFnZ2VkPyJhdHRyIjoiYW5pbWF0ZSI7ZihnKSYmKGE9TWF0aC5tYXgoYSwwKSxsPU1hdGguY2VpbChnKmEpLHRoaXMuY2FsY3VsYXRlZFdpZHRoPW09cShnKk1hdGgubWluKGMsMSktbCksbTxlJiYobD0oZy1lK20pKmEsbT1lKSxlPU1hdGguZmxvb3IobCt0aGlzLnhPZmZzZXQrdGhpcy55T2Zmc2V0KSxnPW0vMi0uNSx0aGlzLmZyb209YSx0aGlzLnRvPWMsZD8odGhpcy5zY3JvbGxiYXJHcm91cFtwXSh7dHJhbnNsYXRlWTplfSksdGhpcy5zY3JvbGxiYXJbcF0oe2hlaWdodDptfSksdGhpcy5zY3JvbGxiYXJSaWZsZXNbcF0oe3RyYW5zbGF0ZVk6Z30pLHRoaXMuc2Nyb2xsYmFyVG9wPWUsdGhpcy5zY3JvbGxiYXJMZWZ0PTApOih0aGlzLnNjcm9sbGJhckdyb3VwW3BdKHt0cmFuc2xhdGVYOmV9KSwKCQkJdGhpcy5zY3JvbGxiYXJbcF0oe3dpZHRoOm19KSx0aGlzLnNjcm9sbGJhclJpZmxlc1twXSh7dHJhbnNsYXRlWDpnfSksdGhpcy5zY3JvbGxiYXJMZWZ0PWUsdGhpcy5zY3JvbGxiYXJUb3A9MCksMTI+PW0/dGhpcy5zY3JvbGxiYXJSaWZsZXMuaGlkZSgpOnRoaXMuc2Nyb2xsYmFyUmlmbGVzLnNob3coITApLCExPT09Yi5zaG93RnVsbCYmKDA+PWEmJjE8PWM/dGhpcy5ncm91cC5oaWRlKCk6dGhpcy5ncm91cC5zaG93KCkpLHRoaXMucmVuZGVyZWQ9ITApfSxpbml0RXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpczthLm1vdXNlTW92ZUhhbmRsZXI9ZnVuY3Rpb24oYil7dmFyIGM9YS5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZShiKSxkPWEub3B0aW9ucy52ZXJ0aWNhbD8iY2hhcnRZIjoiY2hhcnRYIixlPWEuaW5pdFBvc2l0aW9uczshYS5ncmFiYmVkQ2VudGVyfHxiLnRvdWNoZXMmJjA9PT1iLnRvdWNoZXNbMF1bZF18fChjPWEuY3Vyc29yVG9TY3JvbGxiYXJQb3NpdGlvbihjKVtkXSwKCQkJZD1hW2RdLGQ9Yy1kLGEuaGFzRHJhZ2dlZD0hMCxhLnVwZGF0ZVBvc2l0aW9uKGVbMF0rZCxlWzFdK2QpLGEuaGFzRHJhZ2dlZCYmcihhLCJjaGFuZ2VkIix7ZnJvbTphLmZyb20sdG86YS50byx0cmlnZ2VyOiJzY3JvbGxiYXIiLERPTVR5cGU6Yi50eXBlLERPTUV2ZW50OmJ9KSl9O2EubW91c2VVcEhhbmRsZXI9ZnVuY3Rpb24oYil7YS5oYXNEcmFnZ2VkJiZyKGEsImNoYW5nZWQiLHtmcm9tOmEuZnJvbSx0bzphLnRvLHRyaWdnZXI6InNjcm9sbGJhciIsRE9NVHlwZTpiLnR5cGUsRE9NRXZlbnQ6Yn0pO2EuZ3JhYmJlZENlbnRlcj1hLmhhc0RyYWdnZWQ9YS5jaGFydFg9YS5jaGFydFk9bnVsbH07YS5tb3VzZURvd25IYW5kbGVyPWZ1bmN0aW9uKGIpe2I9YS5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZShiKTtiPWEuY3Vyc29yVG9TY3JvbGxiYXJQb3NpdGlvbihiKTthLmNoYXJ0WD1iLmNoYXJ0WDthLmNoYXJ0WT1iLmNoYXJ0WTthLmluaXRQb3NpdGlvbnM9W2EuZnJvbSxhLnRvXTthLmdyYWJiZWRDZW50ZXI9CgkJCSEwfTthLmJ1dHRvblRvTWluQ2xpY2s9ZnVuY3Rpb24oYil7dmFyIGM9cShhLnRvLWEuZnJvbSkqYS5vcHRpb25zLnN0ZXA7YS51cGRhdGVQb3NpdGlvbihxKGEuZnJvbS1jKSxxKGEudG8tYykpO3IoYSwiY2hhbmdlZCIse2Zyb206YS5mcm9tLHRvOmEudG8sdHJpZ2dlcjoic2Nyb2xsYmFyIixET01FdmVudDpifSl9O2EuYnV0dG9uVG9NYXhDbGljaz1mdW5jdGlvbihiKXt2YXIgYz0oYS50by1hLmZyb20pKmEub3B0aW9ucy5zdGVwO2EudXBkYXRlUG9zaXRpb24oYS5mcm9tK2MsYS50bytjKTtyKGEsImNoYW5nZWQiLHtmcm9tOmEuZnJvbSx0bzphLnRvLHRyaWdnZXI6InNjcm9sbGJhciIsRE9NRXZlbnQ6Yn0pfTthLnRyYWNrQ2xpY2s9ZnVuY3Rpb24oYil7dmFyIGM9YS5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZShiKSxkPWEudG8tYS5mcm9tLGU9YS55K2Euc2Nyb2xsYmFyVG9wLGY9YS54K2Euc2Nyb2xsYmFyTGVmdDthLm9wdGlvbnMudmVydGljYWwmJmMuY2hhcnRZPmV8fCFhLm9wdGlvbnMudmVydGljYWwmJgoJCWMuY2hhcnRYPmY/YS51cGRhdGVQb3NpdGlvbihhLmZyb20rZCxhLnRvK2QpOmEudXBkYXRlUG9zaXRpb24oYS5mcm9tLWQsYS50by1kKTtyKGEsImNoYW5nZWQiLHtmcm9tOmEuZnJvbSx0bzphLnRvLHRyaWdnZXI6InNjcm9sbGJhciIsRE9NRXZlbnQ6Yn0pfX0sY3Vyc29yVG9TY3JvbGxiYXJQb3NpdGlvbjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLm9wdGlvbnMsYj1iLm1pbldpZHRoPnRoaXMuY2FsY3VsYXRlZFdpZHRoP2IubWluV2lkdGg6MDtyZXR1cm57Y2hhcnRYOihhLmNoYXJ0WC10aGlzLngtdGhpcy54T2Zmc2V0KS8odGhpcy5iYXJXaWR0aC1iKSxjaGFydFk6KGEuY2hhcnRZLXRoaXMueS10aGlzLnlPZmZzZXQpLyh0aGlzLmJhcldpZHRoLWIpfX0sdXBkYXRlUG9zaXRpb246ZnVuY3Rpb24oYSxjKXsxPGMmJihhPXEoMS1xKGMtYSkpLGM9MSk7MD5hJiYoYz1xKGMtYSksYT0wKTt0aGlzLmZyb209YTt0aGlzLnRvPWN9LHVwZGF0ZTpmdW5jdGlvbihhKXt0aGlzLmRlc3Ryb3koKTsKCQkJdGhpcy5pbml0KHRoaXMuY2hhcnQucmVuZGVyZXIscCghMCx0aGlzLm9wdGlvbnMsYSksdGhpcy5jaGFydCl9LGFkZEV2ZW50czpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucy5pbnZlcnRlZD9bMSwwXTpbMCwxXSxjPXRoaXMuc2Nyb2xsYmFyQnV0dG9ucyxkPXRoaXMuc2Nyb2xsYmFyR3JvdXAuZWxlbWVudCxlPXRoaXMubW91c2VEb3duSGFuZGxlcixmPXRoaXMubW91c2VNb3ZlSGFuZGxlcixnPXRoaXMubW91c2VVcEhhbmRsZXIsYT1bW2NbYVswXV0uZWxlbWVudCwiY2xpY2siLHRoaXMuYnV0dG9uVG9NaW5DbGlja10sW2NbYVsxXV0uZWxlbWVudCwiY2xpY2siLHRoaXMuYnV0dG9uVG9NYXhDbGlja10sW3RoaXMudHJhY2suZWxlbWVudCwiY2xpY2siLHRoaXMudHJhY2tDbGlja10sW2QsIm1vdXNlZG93biIsZV0sW2Qub3duZXJEb2N1bWVudCwibW91c2Vtb3ZlIixmXSxbZC5vd25lckRvY3VtZW50LCJtb3VzZXVwIixnXV07eSYmYS5wdXNoKFtkLCJ0b3VjaHN0YXJ0IixlXSwKCQkJW2Qub3duZXJEb2N1bWVudCwidG91Y2htb3ZlIixmXSxbZC5vd25lckRvY3VtZW50LCJ0b3VjaGVuZCIsZ10pO0MoYSxmdW5jdGlvbihhKXtGLmFwcGx5KG51bGwsYSl9KTt0aGlzLl9ldmVudHM9YX0scmVtb3ZlRXZlbnRzOmZ1bmN0aW9uKCl7Qyh0aGlzLl9ldmVudHMsZnVuY3Rpb24oYSl7ZS5hcHBseShudWxsLGEpfSk7dGhpcy5fZXZlbnRzLmxlbmd0aD0wfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydC5zY3JvbGxlcjt0aGlzLnJlbW92ZUV2ZW50cygpO0MoWyJ0cmFjayIsInNjcm9sbGJhclJpZmxlcyIsInNjcm9sbGJhciIsInNjcm9sbGJhckdyb3VwIiwiZ3JvdXAiXSxmdW5jdGlvbihhKXt0aGlzW2FdJiZ0aGlzW2FdLmRlc3Ryb3kmJih0aGlzW2FdPXRoaXNbYV0uZGVzdHJveSgpKX0sdGhpcyk7YSYmdGhpcz09PWEuc2Nyb2xsYmFyJiYoYS5zY3JvbGxiYXI9bnVsbCx1KGEuc2Nyb2xsYmFyQnV0dG9ucykpfX07RihHLCJhZnRlckluaXQiLGZ1bmN0aW9uKCl7dmFyIGE9CgkJdGhpczthLm9wdGlvbnMuc2Nyb2xsYmFyJiZhLm9wdGlvbnMuc2Nyb2xsYmFyLmVuYWJsZWQmJihhLm9wdGlvbnMuc2Nyb2xsYmFyLnZlcnRpY2FsPSFhLmhvcml6LGEub3B0aW9ucy5zdGFydE9uVGljaz1hLm9wdGlvbnMuZW5kT25UaWNrPSExLGEuc2Nyb2xsYmFyPW5ldyBFKGEuY2hhcnQucmVuZGVyZXIsYS5vcHRpb25zLnNjcm9sbGJhcixhLmNoYXJ0KSxGKGEuc2Nyb2xsYmFyLCJjaGFuZ2VkIixmdW5jdGlvbihiKXt2YXIgYz1NYXRoLm1pbihkKGEub3B0aW9ucy5taW4sYS5taW4pLGEubWluLGEuZGF0YU1pbiksZT1NYXRoLm1heChkKGEub3B0aW9ucy5tYXgsYS5tYXgpLGEubWF4LGEuZGF0YU1heCktYyxmO2EuaG9yaXomJiFhLnJldmVyc2VkfHwhYS5ob3JpeiYmYS5yZXZlcnNlZD8oZj1jK2UqdGhpcy50byxjKz1lKnRoaXMuZnJvbSk6KGY9YytlKigxLXRoaXMuZnJvbSksYys9ZSooMS10aGlzLnRvKSk7YS5zZXRFeHRyZW1lcyhjLGYsITAsITEsYil9KSl9KTtGKEcsImFmdGVyUmVuZGVyIiwKCQlmdW5jdGlvbigpe3ZhciBhPU1hdGgubWluKGQodGhpcy5vcHRpb25zLm1pbix0aGlzLm1pbiksdGhpcy5taW4sZCh0aGlzLmRhdGFNaW4sdGhpcy5taW4pKSxjPU1hdGgubWF4KGQodGhpcy5vcHRpb25zLm1heCx0aGlzLm1heCksdGhpcy5tYXgsZCh0aGlzLmRhdGFNYXgsdGhpcy5tYXgpKSxlPXRoaXMuc2Nyb2xsYmFyLGc9dGhpcy50aXRsZU9mZnNldHx8MDtpZihlKXt0aGlzLmhvcml6PyhlLnBvc2l0aW9uKHRoaXMubGVmdCx0aGlzLnRvcCt0aGlzLmhlaWdodCsyK3RoaXMuY2hhcnQuc2Nyb2xsYmFyc09mZnNldHNbMV0rKHRoaXMub3Bwb3NpdGU/MDpnK3RoaXMuYXhpc1RpdGxlTWFyZ2luK3RoaXMub2Zmc2V0KSx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSxnPTEpOihlLnBvc2l0aW9uKHRoaXMubGVmdCt0aGlzLndpZHRoKzIrdGhpcy5jaGFydC5zY3JvbGxiYXJzT2Zmc2V0c1swXSsodGhpcy5vcHBvc2l0ZT9nK3RoaXMuYXhpc1RpdGxlTWFyZ2luK3RoaXMub2Zmc2V0OjApLHRoaXMudG9wLAoJCQl0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSxnPTApO2lmKCF0aGlzLm9wcG9zaXRlJiYhdGhpcy5ob3Jpenx8dGhpcy5vcHBvc2l0ZSYmdGhpcy5ob3Jpeil0aGlzLmNoYXJ0LnNjcm9sbGJhcnNPZmZzZXRzW2ddKz10aGlzLnNjcm9sbGJhci5zaXplK3RoaXMuc2Nyb2xsYmFyLm9wdGlvbnMubWFyZ2luO2lzTmFOKGEpfHxpc05hTihjKXx8IWYodGhpcy5taW4pfHwhZih0aGlzLm1heCk/ZS5zZXRSYW5nZSgwLDApOihnPSh0aGlzLm1pbi1hKS8oYy1hKSxhPSh0aGlzLm1heC1hKS8oYy1hKSx0aGlzLmhvcml6JiYhdGhpcy5yZXZlcnNlZHx8IXRoaXMuaG9yaXomJnRoaXMucmV2ZXJzZWQ/ZS5zZXRSYW5nZShnLGEpOmUuc2V0UmFuZ2UoMS1hLDEtZykpfX0pO0YoRywiYWZ0ZXJHZXRPZmZzZXQiLGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5ob3Jpej8yOjEsYz10aGlzLnNjcm9sbGJhcjtjJiYodGhpcy5jaGFydC5zY3JvbGxiYXJzT2Zmc2V0cz1bMCwwXSx0aGlzLmNoYXJ0LmF4aXNPZmZzZXRbYV0rPQoJCWMuc2l6ZStjLm9wdGlvbnMubWFyZ2luKX0pO2EuU2Nyb2xsYmFyPUV9KShKKTsoZnVuY3Rpb24oYSl7ZnVuY3Rpb24gRShhKXt0aGlzLmluaXQoYSl9dmFyIEY9YS5hZGRFdmVudCxHPWEuQXhpcyxxPWEuQ2hhcnQsbD1hLmNvbG9yLGY9YS5kZWZhdWx0T3B0aW9ucyx1PWEuZGVmaW5lZCxDPWEuZGVzdHJveU9iamVjdFByb3BlcnRpZXMscj1hLmVhY2gseT1hLmVyYXNlLHA9YS5lcnJvcixkPWEuZXh0ZW5kLGU9YS5ncmVwLGc9YS5oYXNUb3VjaCxtPWEuaXNBcnJheSxiPWEuaXNOdW1iZXIsYz1hLmlzT2JqZWN0LHg9YS5pc1RvdWNoRGV2aWNlLEI9YS5tZXJnZSx0PWEucGljayxuPWEucmVtb3ZlRXZlbnQsTD1hLlNjcm9sbGJhcix6PWEuU2VyaWVzLEQ9YS5zZXJpZXNUeXBlcyxoPWEud3JhcCxJPVtdLmNvbmNhdChhLmRlZmF1bHREYXRhR3JvdXBpbmdVbml0cyksSD1mdW5jdGlvbihhKXt2YXIgYz1lKGFyZ3VtZW50cyxiKTtpZihjLmxlbmd0aClyZXR1cm4gTWF0aFthXS5hcHBseSgwLAoJCWMpfTtJWzRdPVsiZGF5IixbMSwyLDMsNF1dO0lbNV09WyJ3ZWVrIixbMSwyLDNdXTtEPXZvaWQgMD09PUQuYXJlYXNwbGluZT8ibGluZSI6ImFyZWFzcGxpbmUiO2QoZix7bmF2aWdhdG9yOntoZWlnaHQ6NDAsbWFyZ2luOjI1LG1hc2tJbnNpZGU6ITAsaGFuZGxlczp7d2lkdGg6NyxoZWlnaHQ6MTUsc3ltYm9sczpbIm5hdmlnYXRvci1oYW5kbGUiLCJuYXZpZ2F0b3ItaGFuZGxlIl0sZW5hYmxlZDohMCxsaW5lV2lkdGg6MSxiYWNrZ3JvdW5kQ29sb3I6IiNmMmYyZjIiLGJvcmRlckNvbG9yOiIjOTk5OTk5In0sbWFza0ZpbGw6bCgiIzY2ODVjMiIpLnNldE9wYWNpdHkoLjMpLmdldCgpLG91dGxpbmVDb2xvcjoiI2NjY2NjYyIsb3V0bGluZVdpZHRoOjEsc2VyaWVzOnt0eXBlOkQsZmlsbE9wYWNpdHk6LjA1LGxpbmVXaWR0aDoxLGNvbXBhcmU6bnVsbCxkYXRhR3JvdXBpbmc6e2FwcHJveGltYXRpb246ImF2ZXJhZ2UiLGVuYWJsZWQ6ITAsZ3JvdXBQaXhlbFdpZHRoOjIsc21vb3RoZWQ6ITAsCgkJCQkJdW5pdHM6SX0sZGF0YUxhYmVsczp7ZW5hYmxlZDohMSx6SW5kZXg6Mn0saWQ6ImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIsY2xhc3NOYW1lOiJoaWdoY2hhcnRzLW5hdmlnYXRvci1zZXJpZXMiLGxpbmVDb2xvcjpudWxsLG1hcmtlcjp7ZW5hYmxlZDohMX0scG9pbnRSYW5nZTowLHRocmVzaG9sZDpudWxsfSx4QXhpczp7b3ZlcnNjcm9sbDowLGNsYXNzTmFtZToiaGlnaGNoYXJ0cy1uYXZpZ2F0b3IteGF4aXMiLHRpY2tMZW5ndGg6MCxsaW5lV2lkdGg6MCxncmlkTGluZUNvbG9yOiIjZTZlNmU2IixncmlkTGluZVdpZHRoOjEsdGlja1BpeGVsSW50ZXJ2YWw6MjAwLGxhYmVsczp7YWxpZ246ImxlZnQiLHN0eWxlOntjb2xvcjoiIzk5OTk5OSJ9LHg6Myx5Oi00fSxjcm9zc2hhaXI6ITF9LHlBeGlzOntjbGFzc05hbWU6ImhpZ2hjaGFydHMtbmF2aWdhdG9yLXlheGlzIixncmlkTGluZVdpZHRoOjAsc3RhcnRPblRpY2s6ITEsZW5kT25UaWNrOiExLG1pblBhZGRpbmc6LjEsbWF4UGFkZGluZzouMSwKCQkJCWxhYmVsczp7ZW5hYmxlZDohMX0sY3Jvc3NoYWlyOiExLHRpdGxlOnt0ZXh0Om51bGx9LHRpY2tMZW5ndGg6MCx0aWNrV2lkdGg6MH19fSk7YS5SZW5kZXJlci5wcm90b3R5cGUuc3ltYm9sc1sibmF2aWdhdG9yLWhhbmRsZSJdPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1lLndpZHRoLzI7Yj1NYXRoLnJvdW5kKGEvMykrLjU7ZT1lLmhlaWdodDtyZXR1cm5bIk0iLC1hLTEsLjUsIkwiLGEsLjUsIkwiLGEsZSsuNSwiTCIsLWEtMSxlKy41LCJMIiwtYS0xLC41LCJNIiwtYiw0LCJMIiwtYixlLTMsIk0iLGItMSw0LCJMIixiLTEsZS0zXX07RS5wcm90b3R5cGU9e2RyYXdIYW5kbGU6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpcy5uYXZpZ2F0b3JPcHRpb25zLmhhbmRsZXMuaGVpZ2h0O3RoaXMuaGFuZGxlc1tiXVtkXShjP3t0cmFuc2xhdGVYOk1hdGgucm91bmQodGhpcy5sZWZ0K3RoaXMuaGVpZ2h0LzIpLHRyYW5zbGF0ZVk6TWF0aC5yb3VuZCh0aGlzLnRvcCtwYXJzZUludChhLDEwKSsKCQkJCS41LWUpfTp7dHJhbnNsYXRlWDpNYXRoLnJvdW5kKHRoaXMubGVmdCtwYXJzZUludChhLDEwKSksdHJhbnNsYXRlWTpNYXRoLnJvdW5kKHRoaXMudG9wK3RoaXMuaGVpZ2h0LzItZS8yLTEpfSl9LGRyYXdPdXRsaW5lOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMubmF2aWdhdG9yT3B0aW9ucy5tYXNrSW5zaWRlLGs9dGhpcy5vdXRsaW5lLnN0cm9rZVdpZHRoKCksZj1rLzIsaz1rJTIvMixnPXRoaXMub3V0bGluZUhlaWdodCxoPXRoaXMuc2Nyb2xsYmFySGVpZ2h0LG49dGhpcy5zaXplLGw9dGhpcy5sZWZ0LWgsbT10aGlzLnRvcDtjPyhsLT1mLGM9bStiK2ssYj1tK2ErayxhPVsiTSIsbCtnLG0taC1rLCJMIixsK2csYywiTCIsbCxjLCJMIixsLGIsIkwiLGwrZyxiLCJMIixsK2csbStuK2hdLmNvbmNhdChlP1siTSIsbCtnLGMtZiwiTCIsbCtnLGIrZl06W10pKTooYSs9bCtoLWssYis9bCtoLWssbSs9ZixhPVsiTSIsbCxtLCJMIixhLG0sIkwiLGEsbStnLCJMIixiLG0rZywiTCIsCgkJCWIsbSwiTCIsbCtuKzIqaCxtXS5jb25jYXQoZT9bIk0iLGEtZixtLCJMIixiK2YsbV06W10pKTt0aGlzLm91dGxpbmVbZF0oe2Q6YX0pfSxkcmF3TWFza3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpcy5sZWZ0LGs9dGhpcy50b3AsZj10aGlzLmhlaWdodCxnLGgsbixsO2M/KG49W2UsZSxlXSxsPVtrLGsrYSxrK2JdLGg9W2YsZixmXSxnPVthLGItYSx0aGlzLnNpemUtYl0pOihuPVtlLGUrYSxlK2JdLGw9W2ssayxrXSxoPVthLGItYSx0aGlzLnNpemUtYl0sZz1bZixmLGZdKTtyKHRoaXMuc2hhZGVzLGZ1bmN0aW9uKGEsYil7YVtkXSh7eDpuW2JdLHk6bFtiXSx3aWR0aDpoW2JdLGhlaWdodDpnW2JdfSl9KX0scmVuZGVyRWxlbWVudHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9YS5uYXZpZ2F0b3JPcHRpb25zLGM9Yi5tYXNrSW5zaWRlLGQ9YS5jaGFydCxlPWQuaW52ZXJ0ZWQsZj1kLnJlbmRlcmVyLGc7YS5uYXZpZ2F0b3JHcm91cD1nPWYuZygibmF2aWdhdG9yIikuYXR0cih7ekluZGV4OjgsCgkJCXZpc2liaWxpdHk6ImhpZGRlbiJ9KS5hZGQoKTt2YXIgaD17Y3Vyc29yOmU/Im5zLXJlc2l6ZSI6ImV3LXJlc2l6ZSJ9O3IoWyFjLGMsIWNdLGZ1bmN0aW9uKGMsZCl7YS5zaGFkZXNbZF09Zi5yZWN0KCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtbmF2aWdhdG9yLW1hc2siKygxPT09ZD8iLWluc2lkZSI6Ii1vdXRzaWRlIikpLmF0dHIoe2ZpbGw6Yz9iLm1hc2tGaWxsOiJyZ2JhKDAsMCwwLDApIn0pLmNzcygxPT09ZCYmaCkuYWRkKGcpfSk7YS5vdXRsaW5lPWYucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLW5hdmlnYXRvci1vdXRsaW5lIikuYXR0cih7InN0cm9rZS13aWR0aCI6Yi5vdXRsaW5lV2lkdGgsc3Ryb2tlOmIub3V0bGluZUNvbG9yfSkuYWRkKGcpO2IuaGFuZGxlcy5lbmFibGVkJiZyKFswLDFdLGZ1bmN0aW9uKGMpe2IuaGFuZGxlcy5pbnZlcnRlZD1kLmludmVydGVkO2EuaGFuZGxlc1tjXT1mLnN5bWJvbChiLmhhbmRsZXMuc3ltYm9sc1tjXSwtYi5oYW5kbGVzLndpZHRoLwoJCQkyLTEsMCxiLmhhbmRsZXMud2lkdGgsYi5oYW5kbGVzLmhlaWdodCxiLmhhbmRsZXMpO2EuaGFuZGxlc1tjXS5hdHRyKHt6SW5kZXg6Ny1jfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtbmF2aWdhdG9yLWhhbmRsZSBoaWdoY2hhcnRzLW5hdmlnYXRvci1oYW5kbGUtIitbImxlZnQiLCJyaWdodCJdW2NdKS5hZGQoZyk7dmFyIGU9Yi5oYW5kbGVzO2EuaGFuZGxlc1tjXS5hdHRyKHtmaWxsOmUuYmFja2dyb3VuZENvbG9yLHN0cm9rZTplLmJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOmUubGluZVdpZHRofSkuY3NzKGgpfSl9LHVwZGF0ZTpmdW5jdGlvbihhKXtyKHRoaXMuc2VyaWVzfHxbXSxmdW5jdGlvbihhKXthLmJhc2VTZXJpZXMmJmRlbGV0ZSBhLmJhc2VTZXJpZXMubmF2aWdhdG9yU2VyaWVzfSk7dGhpcy5kZXN0cm95KCk7QighMCx0aGlzLmNoYXJ0Lm9wdGlvbnMubmF2aWdhdG9yLHRoaXMub3B0aW9ucyxhKTt0aGlzLmluaXQodGhpcy5jaGFydCl9LHJlbmRlcjpmdW5jdGlvbihjLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSBkLGUsZil7dmFyIGs9dGhpcy5jaGFydCxnLGgsbj10aGlzLnNjcm9sbGJhckhlaWdodCxsLG09dGhpcy54QXhpcztnPW0uZmFrZT9rLnhBeGlzWzBdOm07dmFyIHA9dGhpcy5uYXZpZ2F0b3JFbmFibGVkLHYsdz10aGlzLnJlbmRlcmVkO2g9ay5pbnZlcnRlZDt2YXIgcSxyPWsueEF4aXNbMF0ubWluUmFuZ2Usej1rLnhBeGlzWzBdLm9wdGlvbnMubWF4UmFuZ2U7aWYoIXRoaXMuaGFzRHJhZ2dlZHx8dShlKSl7aWYoIWIoYyl8fCFiKGQpKWlmKHcpZT0wLGY9dChtLndpZHRoLGcud2lkdGgpO2Vsc2UgcmV0dXJuO3RoaXMubGVmdD10KG0ubGVmdCxrLnBsb3RMZWZ0K24rKGg/ay5wbG90V2lkdGg6MCkpO3RoaXMuc2l6ZT12PWw9dChtLmxlbiwoaD9rLnBsb3RIZWlnaHQ6ay5wbG90V2lkdGgpLTIqbik7az1oP246bCsyKm47ZT10KGUsbS50b1BpeGVscyhjLCEwKSk7Zj10KGYsbS50b1BpeGVscyhkLCEwKSk7YihlKSYmSW5maW5pdHkhPT1NYXRoLmFicyhlKXx8KGU9MCxmPWspO2M9bS50b1ZhbHVlKGUsCgkJCSEwKTtkPW0udG9WYWx1ZShmLCEwKTtxPU1hdGguYWJzKGEuY29ycmVjdEZsb2F0KGQtYykpO3E8cj90aGlzLmdyYWJiZWRMZWZ0P2U9bS50b1BpeGVscyhkLXIsITApOnRoaXMuZ3JhYmJlZFJpZ2h0JiYoZj1tLnRvUGl4ZWxzKGMrciwhMCkpOnUoeikmJnE+eiYmKHRoaXMuZ3JhYmJlZExlZnQ/ZT1tLnRvUGl4ZWxzKGQteiwhMCk6dGhpcy5ncmFiYmVkUmlnaHQmJihmPW0udG9QaXhlbHMoYyt6LCEwKSkpO3RoaXMuem9vbWVkTWF4PU1hdGgubWluKE1hdGgubWF4KGUsZiwwKSx2KTt0aGlzLnpvb21lZE1pbj1NYXRoLm1pbihNYXRoLm1heCh0aGlzLmZpeGVkV2lkdGg/dGhpcy56b29tZWRNYXgtdGhpcy5maXhlZFdpZHRoOk1hdGgubWluKGUsZiksMCksdik7dGhpcy5yYW5nZT10aGlzLnpvb21lZE1heC10aGlzLnpvb21lZE1pbjt2PU1hdGgucm91bmQodGhpcy56b29tZWRNYXgpO2U9TWF0aC5yb3VuZCh0aGlzLnpvb21lZE1pbik7cCYmKHRoaXMubmF2aWdhdG9yR3JvdXAuYXR0cih7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSwKCQkJdz13JiYhdGhpcy5oYXNEcmFnZ2VkPyJhbmltYXRlIjoiYXR0ciIsdGhpcy5kcmF3TWFza3MoZSx2LGgsdyksdGhpcy5kcmF3T3V0bGluZShlLHYsaCx3KSx0aGlzLm5hdmlnYXRvck9wdGlvbnMuaGFuZGxlcy5lbmFibGVkJiYodGhpcy5kcmF3SGFuZGxlKGUsMCxoLHcpLHRoaXMuZHJhd0hhbmRsZSh2LDEsaCx3KSkpO3RoaXMuc2Nyb2xsYmFyJiYoaD8oaD10aGlzLnRvcC1uLGc9dGhpcy5sZWZ0LW4rKHB8fCFnLm9wcG9zaXRlPzA6KGcudGl0bGVPZmZzZXR8fDApK2cuYXhpc1RpdGxlTWFyZ2luKSxuPWwrMipuKTooaD10aGlzLnRvcCsocD90aGlzLmhlaWdodDotbiksZz10aGlzLmxlZnQtbiksdGhpcy5zY3JvbGxiYXIucG9zaXRpb24oZyxoLGssbiksdGhpcy5zY3JvbGxiYXIuc2V0UmFuZ2UodGhpcy56b29tZWRNaW4vKGx8fDEpLHRoaXMuem9vbWVkTWF4LyhsfHwxKSkpO3RoaXMucmVuZGVyZWQ9ITB9fSxhZGRNb3VzZUV2ZW50czpmdW5jdGlvbigpe3ZhciBhPXRoaXMsYj1hLmNoYXJ0LAoJCQljPWIuY29udGFpbmVyLGQ9W10sZSxmO2EubW91c2VNb3ZlSGFuZGxlcj1lPWZ1bmN0aW9uKGIpe2Eub25Nb3VzZU1vdmUoYil9O2EubW91c2VVcEhhbmRsZXI9Zj1mdW5jdGlvbihiKXthLm9uTW91c2VVcChiKX07ZD1hLmdldFBhcnRzRXZlbnRzKCJtb3VzZWRvd24iKTtkLnB1c2goRihjLCJtb3VzZW1vdmUiLGUpLEYoYy5vd25lckRvY3VtZW50LCJtb3VzZXVwIixmKSk7ZyYmKGQucHVzaChGKGMsInRvdWNobW92ZSIsZSksRihjLm93bmVyRG9jdW1lbnQsInRvdWNoZW5kIixmKSksZC5jb25jYXQoYS5nZXRQYXJ0c0V2ZW50cygidG91Y2hzdGFydCIpKSk7YS5ldmVudHNUb1VuYmluZD1kO2Euc2VyaWVzJiZhLnNlcmllc1swXSYmZC5wdXNoKEYoYS5zZXJpZXNbMF0ueEF4aXMsImZvdW5kRXh0cmVtZXMiLGZ1bmN0aW9uKCl7Yi5uYXZpZ2F0b3IubW9kaWZ5TmF2aWdhdG9yQXhpc0V4dHJlbWVzKCl9KSl9LGdldFBhcnRzRXZlbnRzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1bXTsKCQkJcihbInNoYWRlcyIsImhhbmRsZXMiXSxmdW5jdGlvbihkKXtyKGJbZF0sZnVuY3Rpb24oZSxrKXtjLnB1c2goRihlLmVsZW1lbnQsYSxmdW5jdGlvbihhKXtiW2QrIk1vdXNlZG93biJdKGEsayl9KSl9KX0pO3JldHVybiBjfSxzaGFkZXNNb3VzZWRvd246ZnVuY3Rpb24oYSxiKXthPXRoaXMuY2hhcnQucG9pbnRlci5ub3JtYWxpemUoYSk7dmFyIGM9dGhpcy5jaGFydCxkPXRoaXMueEF4aXMsZT10aGlzLnpvb21lZE1pbixmPXRoaXMubGVmdCxnPXRoaXMuc2l6ZSxoPXRoaXMucmFuZ2Usbj1hLmNoYXJ0WCxsLG07Yy5pbnZlcnRlZCYmKG49YS5jaGFydFksZj10aGlzLnRvcCk7MT09PWI/KHRoaXMuZ3JhYmJlZENlbnRlcj1uLHRoaXMuZml4ZWRXaWR0aD1oLHRoaXMuZHJhZ09mZnNldD1uLWUpOihhPW4tZi1oLzIsMD09PWI/YT1NYXRoLm1heCgwLGEpOjI9PT1iJiZhK2g+PWcmJihhPWctaCx0aGlzLnJldmVyc2VkRXh0cmVtZXM/KGEtPWgsbT10aGlzLmdldFVuaW9uRXh0cmVtZXMoKS5kYXRhTWluKToKCQkJbD10aGlzLmdldFVuaW9uRXh0cmVtZXMoKS5kYXRhTWF4KSxhIT09ZSYmKHRoaXMuZml4ZWRXaWR0aD1oLGI9ZC50b0ZpeGVkUmFuZ2UoYSxhK2gsbSxsKSx1KGIubWluKSYmYy54QXhpc1swXS5zZXRFeHRyZW1lcyhNYXRoLm1pbihiLm1pbixiLm1heCksTWF0aC5tYXgoYi5taW4sYi5tYXgpLCEwLG51bGwse3RyaWdnZXI6Im5hdmlnYXRvciJ9KSkpfSxoYW5kbGVzTW91c2Vkb3duOmZ1bmN0aW9uKGEsYil7dGhpcy5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZShhKTthPXRoaXMuY2hhcnQ7dmFyIGM9YS54QXhpc1swXSxkPXRoaXMucmV2ZXJzZWRFeHRyZW1lczswPT09Yj8odGhpcy5ncmFiYmVkTGVmdD0hMCx0aGlzLm90aGVySGFuZGxlUG9zPXRoaXMuem9vbWVkTWF4LHRoaXMuZml4ZWRFeHRyZW1lPWQ/Yy5taW46Yy5tYXgpOih0aGlzLmdyYWJiZWRSaWdodD0hMCx0aGlzLm90aGVySGFuZGxlUG9zPXRoaXMuem9vbWVkTWluLHRoaXMuZml4ZWRFeHRyZW1lPWQ/Yy5tYXg6Yy5taW4pOwoJCQlhLmZpeGVkUmFuZ2U9bnVsbH0sb25Nb3VzZU1vdmU6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcyxkPWMuY2hhcnQsZT1jLmxlZnQsZj1jLm5hdmlnYXRvclNpemUsZz1jLnJhbmdlLGg9Yy5kcmFnT2Zmc2V0LG49ZC5pbnZlcnRlZDtiLnRvdWNoZXMmJjA9PT1iLnRvdWNoZXNbMF0ucGFnZVh8fChiPWQucG9pbnRlci5ub3JtYWxpemUoYiksZD1iLmNoYXJ0WCxuJiYoZT1jLnRvcCxkPWIuY2hhcnRZKSxjLmdyYWJiZWRMZWZ0PyhjLmhhc0RyYWdnZWQ9ITAsYy5yZW5kZXIoMCwwLGQtZSxjLm90aGVySGFuZGxlUG9zKSk6Yy5ncmFiYmVkUmlnaHQ/KGMuaGFzRHJhZ2dlZD0hMCxjLnJlbmRlcigwLDAsYy5vdGhlckhhbmRsZVBvcyxkLWUpKTpjLmdyYWJiZWRDZW50ZXImJihjLmhhc0RyYWdnZWQ9ITAsZDxoP2Q9aDpkPmYraC1nJiYoZD1mK2gtZyksYy5yZW5kZXIoMCwwLGQtaCxkLWgrZykpLGMuaGFzRHJhZ2dlZCYmYy5zY3JvbGxiYXImJnQoYy5zY3JvbGxiYXIub3B0aW9ucy5saXZlUmVkcmF3LAoJCQlhLnN2ZyYmIXgmJiF0aGlzLmNoYXJ0LmlzQm9vc3RpbmcpJiYoYi5ET01UeXBlPWIudHlwZSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy5vbk1vdXNlVXAoYil9LDApKSl9LG9uTW91c2VVcDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0LGM9dGhpcy54QXhpcyxkPXRoaXMuc2Nyb2xsYmFyLGUsZixnPWEuRE9NRXZlbnR8fGE7KCF0aGlzLmhhc0RyYWdnZWR8fGQmJmQuaGFzRHJhZ2dlZCkmJiJzY3JvbGxiYXIiIT09YS50cmlnZ2VyfHwoZD10aGlzLmdldFVuaW9uRXh0cmVtZXMoKSx0aGlzLnpvb21lZE1pbj09PXRoaXMub3RoZXJIYW5kbGVQb3M/ZT10aGlzLmZpeGVkRXh0cmVtZTp0aGlzLnpvb21lZE1heD09PXRoaXMub3RoZXJIYW5kbGVQb3MmJihmPXRoaXMuZml4ZWRFeHRyZW1lKSx0aGlzLnpvb21lZE1heD09PXRoaXMuc2l6ZSYmKGY9dGhpcy5yZXZlcnNlZEV4dHJlbWVzP2QuZGF0YU1pbjpkLmRhdGFNYXgpLDA9PT10aGlzLnpvb21lZE1pbiYmKGU9dGhpcy5yZXZlcnNlZEV4dHJlbWVzPwoJCQlkLmRhdGFNYXg6ZC5kYXRhTWluKSxjPWMudG9GaXhlZFJhbmdlKHRoaXMuem9vbWVkTWluLHRoaXMuem9vbWVkTWF4LGUsZiksdShjLm1pbikmJmIueEF4aXNbMF0uc2V0RXh0cmVtZXMoTWF0aC5taW4oYy5taW4sYy5tYXgpLE1hdGgubWF4KGMubWluLGMubWF4KSwhMCx0aGlzLmhhc0RyYWdnZWQ/ITE6bnVsbCx7dHJpZ2dlcjoibmF2aWdhdG9yIix0cmlnZ2VyT3A6Im5hdmlnYXRvci1kcmFnIixET01FdmVudDpnfSkpOyJtb3VzZW1vdmUiIT09YS5ET01UeXBlJiYodGhpcy5ncmFiYmVkTGVmdD10aGlzLmdyYWJiZWRSaWdodD10aGlzLmdyYWJiZWRDZW50ZXI9dGhpcy5maXhlZFdpZHRoPXRoaXMuZml4ZWRFeHRyZW1lPXRoaXMub3RoZXJIYW5kbGVQb3M9dGhpcy5oYXNEcmFnZ2VkPXRoaXMuZHJhZ09mZnNldD1udWxsKX0scmVtb3ZlRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5ldmVudHNUb1VuYmluZCYmKHIodGhpcy5ldmVudHNUb1VuYmluZCxmdW5jdGlvbihhKXthKCl9KSx0aGlzLmV2ZW50c1RvVW5iaW5kPQoJCQl2b2lkIDApO3RoaXMucmVtb3ZlQmFzZVNlcmllc0V2ZW50cygpfSxyZW1vdmVCYXNlU2VyaWVzRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5iYXNlU2VyaWVzfHxbXTt0aGlzLm5hdmlnYXRvckVuYWJsZWQmJmFbMF0mJighMSE9PXRoaXMubmF2aWdhdG9yT3B0aW9ucy5hZGFwdFRvVXBkYXRlZERhdGEmJnIoYSxmdW5jdGlvbihhKXtuKGEsInVwZGF0ZWREYXRhIix0aGlzLnVwZGF0ZWREYXRhSGFuZGxlcil9LHRoaXMpLGFbMF0ueEF4aXMmJm4oYVswXS54QXhpcywiZm91bmRFeHRyZW1lcyIsdGhpcy5tb2RpZnlCYXNlQXhpc0V4dHJlbWVzKSl9LGluaXQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5vcHRpb25zLGM9Yi5uYXZpZ2F0b3IsZD1jLmVuYWJsZWQsZT1iLnNjcm9sbGJhcixmPWUuZW5hYmxlZCxiPWQ/Yy5oZWlnaHQ6MCxnPWY/ZS5oZWlnaHQ6MDt0aGlzLmhhbmRsZXM9W107dGhpcy5zaGFkZXM9W107dGhpcy5jaGFydD1hO3RoaXMuc2V0QmFzZVNlcmllcygpO3RoaXMuaGVpZ2h0PQoJCQliO3RoaXMuc2Nyb2xsYmFySGVpZ2h0PWc7dGhpcy5zY3JvbGxiYXJFbmFibGVkPWY7dGhpcy5uYXZpZ2F0b3JFbmFibGVkPWQ7dGhpcy5uYXZpZ2F0b3JPcHRpb25zPWM7dGhpcy5zY3JvbGxiYXJPcHRpb25zPWU7dGhpcy5vdXRsaW5lSGVpZ2h0PWIrZzt0aGlzLm9wcG9zaXRlPXQoYy5vcHBvc2l0ZSwhZCYmYS5pbnZlcnRlZCk7dmFyIGg9dGhpcyxkPWguYmFzZVNlcmllcyxlPWEueEF4aXMubGVuZ3RoLGY9YS55QXhpcy5sZW5ndGgsbj1kJiZkWzBdJiZkWzBdLnhBeGlzfHxhLnhBeGlzWzBdfHx7b3B0aW9uczp7fX07YS5pc0RpcnR5Qm94PSEwO2gubmF2aWdhdG9yRW5hYmxlZD8oaC54QXhpcz1uZXcgRyhhLEIoe2JyZWFrczpuLm9wdGlvbnMuYnJlYWtzLG9yZGluYWw6bi5vcHRpb25zLm9yZGluYWx9LGMueEF4aXMse2lkOiJuYXZpZ2F0b3IteC1heGlzIix5QXhpczoibmF2aWdhdG9yLXktYXhpcyIsaXNYOiEwLHR5cGU6ImRhdGV0aW1lIixpbmRleDplLGlzSW50ZXJuYWw6ITAsCgkJCW9mZnNldDowLGtlZXBPcmRpbmFsUGFkZGluZzohMCxzdGFydE9uVGljazohMSxlbmRPblRpY2s6ITEsbWluUGFkZGluZzowLG1heFBhZGRpbmc6MCx6b29tRW5hYmxlZDohMX0sYS5pbnZlcnRlZD97b2Zmc2V0czpbZywwLC1nLDBdLHdpZHRoOmJ9OntvZmZzZXRzOlswLC1nLDAsZ10saGVpZ2h0OmJ9KSksaC55QXhpcz1uZXcgRyhhLEIoYy55QXhpcyx7aWQ6Im5hdmlnYXRvci15LWF4aXMiLGFsaWduVGlja3M6ITEsb2Zmc2V0OjAsaW5kZXg6Zixpc0ludGVybmFsOiEwLHpvb21FbmFibGVkOiExfSxhLmludmVydGVkP3t3aWR0aDpifTp7aGVpZ2h0OmJ9KSksZHx8Yy5zZXJpZXMuZGF0YT9oLnVwZGF0ZU5hdmlnYXRvclNlcmllcyghMSk6MD09PWEuc2VyaWVzLmxlbmd0aCYmKGgudW5iaW5kUmVkcmF3PUYoYSwiYmVmb3JlUmVkcmF3IixmdW5jdGlvbigpezA8YS5zZXJpZXMubGVuZ3RoJiYhaC5zZXJpZXMmJihoLnNldEJhc2VTZXJpZXMoKSxoLnVuYmluZFJlZHJhdygpKX0pKSxoLnJldmVyc2VkRXh0cmVtZXM9CgkJCWEuaW52ZXJ0ZWQmJiFoLnhBeGlzLnJldmVyc2VkfHwhYS5pbnZlcnRlZCYmaC54QXhpcy5yZXZlcnNlZCxoLnJlbmRlckVsZW1lbnRzKCksaC5hZGRNb3VzZUV2ZW50cygpKTpoLnhBeGlzPXt0cmFuc2xhdGU6ZnVuY3Rpb24oYixjKXt2YXIgZD1hLnhBeGlzWzBdLGU9ZC5nZXRFeHRyZW1lcygpLGY9ZC5sZW4tMipnLGs9SCgibWluIixkLm9wdGlvbnMubWluLGUuZGF0YU1pbiksZD1IKCJtYXgiLGQub3B0aW9ucy5tYXgsZS5kYXRhTWF4KS1rO3JldHVybiBjP2IqZC9mK2s6ZiooYi1rKS9kfSx0b1BpeGVsczpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy50cmFuc2xhdGUoYSl9LHRvVmFsdWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudHJhbnNsYXRlKGEsITApfSx0b0ZpeGVkUmFuZ2U6Ry5wcm90b3R5cGUudG9GaXhlZFJhbmdlLGZha2U6ITB9O2Eub3B0aW9ucy5zY3JvbGxiYXIuZW5hYmxlZCYmKGEuc2Nyb2xsYmFyPWguc2Nyb2xsYmFyPW5ldyBMKGEucmVuZGVyZXIsQihhLm9wdGlvbnMuc2Nyb2xsYmFyLAoJCQl7bWFyZ2luOmgubmF2aWdhdG9yRW5hYmxlZD8wOjEwLHZlcnRpY2FsOmEuaW52ZXJ0ZWR9KSxhKSxGKGguc2Nyb2xsYmFyLCJjaGFuZ2VkIixmdW5jdGlvbihiKXt2YXIgYz1oLnNpemUsZD1jKnRoaXMudG8sYz1jKnRoaXMuZnJvbTtoLmhhc0RyYWdnZWQ9aC5zY3JvbGxiYXIuaGFzRHJhZ2dlZDtoLnJlbmRlcigwLDAsYyxkKTsoYS5vcHRpb25zLnNjcm9sbGJhci5saXZlUmVkcmF3fHwibW91c2Vtb3ZlIiE9PWIuRE9NVHlwZSYmInRvdWNobW92ZSIhPT1iLkRPTVR5cGUpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aC5vbk1vdXNlVXAoYil9KX0pKTtoLmFkZEJhc2VTZXJpZXNFdmVudHMoKTtoLmFkZENoYXJ0RXZlbnRzKCl9LGdldFVuaW9uRXh0cmVtZXM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jaGFydC54QXhpc1swXSxjPXRoaXMueEF4aXMsZD1jLm9wdGlvbnMsZT1iLm9wdGlvbnMsZjthJiZudWxsPT09Yi5kYXRhTWlufHwoZj17ZGF0YU1pbjp0KGQmJmQubWluLEgoIm1pbiIsCgkJCQllLm1pbixiLmRhdGFNaW4sYy5kYXRhTWluLGMubWluKSksZGF0YU1heDp0KGQmJmQubWF4LEgoIm1heCIsZS5tYXgsYi5kYXRhTWF4LGMuZGF0YU1heCxjLm1heCkpfSk7cmV0dXJuIGZ9LHNldEJhc2VTZXJpZXM6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNoYXJ0LGQ9dGhpcy5iYXNlU2VyaWVzPVtdO2E9YXx8Yy5vcHRpb25zJiZjLm9wdGlvbnMubmF2aWdhdG9yLmJhc2VTZXJpZXN8fDA7cihjLnNlcmllc3x8W10sZnVuY3Rpb24oYixjKXtiLm9wdGlvbnMuaXNJbnRlcm5hbHx8IWIub3B0aW9ucy5zaG93SW5OYXZpZ2F0b3ImJihjIT09YSYmYi5vcHRpb25zLmlkIT09YXx8ITE9PT1iLm9wdGlvbnMuc2hvd0luTmF2aWdhdG9yKXx8ZC5wdXNoKGIpfSk7dGhpcy54QXhpcyYmIXRoaXMueEF4aXMuZmFrZSYmdGhpcy51cGRhdGVOYXZpZ2F0b3JTZXJpZXMoITAsYil9LHVwZGF0ZU5hdmlnYXRvclNlcmllczpmdW5jdGlvbihiLGMpe3ZhciBlPXRoaXMsZz1lLmNoYXJ0LGg9ZS5iYXNlU2VyaWVzLAoJCQlsLHAsdj1lLm5hdmlnYXRvck9wdGlvbnMuc2VyaWVzLHQscT17ZW5hYmxlTW91c2VUcmFja2luZzohMSxpbmRleDpudWxsLGxpbmtlZFRvOm51bGwsZ3JvdXA6Im5hdiIscGFkWEF4aXM6ITEseEF4aXM6Im5hdmlnYXRvci14LWF4aXMiLHlBeGlzOiJuYXZpZ2F0b3IteS1heGlzIixzaG93SW5MZWdlbmQ6ITEsc3RhY2tpbmc6ITEsaXNJbnRlcm5hbDohMH0sdz1lLnNlcmllcz1hLmdyZXAoZS5zZXJpZXN8fFtdLGZ1bmN0aW9uKGIpe3ZhciBjPWIuYmFzZVNlcmllcztyZXR1cm4gMD5hLmluQXJyYXkoYyxoKT8oYyYmKG4oYywidXBkYXRlZERhdGEiLGUudXBkYXRlZERhdGFIYW5kbGVyKSxkZWxldGUgYy5uYXZpZ2F0b3JTZXJpZXMpLGIuY2hhcnQmJmIuZGVzdHJveSgpLCExKTohMH0pO2gmJmgubGVuZ3RoJiZyKGgsZnVuY3Rpb24oYSl7dmFyIGI9YS5uYXZpZ2F0b3JTZXJpZXMsaz1kKHtjb2xvcjphLmNvbG9yLHZpc2libGU6YS52aXNpYmxlfSxtKHYpP2YubmF2aWdhdG9yLnNlcmllczoKCQkJdik7YiYmITE9PT1lLm5hdmlnYXRvck9wdGlvbnMuYWRhcHRUb1VwZGF0ZWREYXRhfHwocS5uYW1lPSJOYXZpZ2F0b3IgIitoLmxlbmd0aCxsPWEub3B0aW9uc3x8e30sdD1sLm5hdmlnYXRvck9wdGlvbnN8fHt9LHA9QihsLHEsayx0KSxrPXQuZGF0YXx8ay5kYXRhLGUuaGFzTmF2aWdhdG9yRGF0YT1lLmhhc05hdmlnYXRvckRhdGF8fCEhayxwLmRhdGE9a3x8bC5kYXRhJiZsLmRhdGEuc2xpY2UoMCksYiYmYi5vcHRpb25zP2IudXBkYXRlKHAsYyk6KGEubmF2aWdhdG9yU2VyaWVzPWcuaW5pdFNlcmllcyhwKSxhLm5hdmlnYXRvclNlcmllcy5iYXNlU2VyaWVzPWEsdy5wdXNoKGEubmF2aWdhdG9yU2VyaWVzKSkpfSk7aWYodi5kYXRhJiYoIWh8fCFoLmxlbmd0aCl8fG0odikpZS5oYXNOYXZpZ2F0b3JEYXRhPSExLHY9YS5zcGxhdCh2KSxyKHYsZnVuY3Rpb24oYSxiKXtxLm5hbWU9Ik5hdmlnYXRvciAiKyh3Lmxlbmd0aCsxKTtwPUIoZi5uYXZpZ2F0b3Iuc2VyaWVzLHtjb2xvcjpnLnNlcmllc1tiXSYmCgkJCSFnLnNlcmllc1tiXS5vcHRpb25zLmlzSW50ZXJuYWwmJmcuc2VyaWVzW2JdLmNvbG9yfHxnLm9wdGlvbnMuY29sb3JzW2JdfHxnLm9wdGlvbnMuY29sb3JzWzBdfSxxLGEpO3AuZGF0YT1hLmRhdGE7cC5kYXRhJiYoZS5oYXNOYXZpZ2F0b3JEYXRhPSEwLHcucHVzaChnLmluaXRTZXJpZXMocCkpKX0pO2ImJnRoaXMuYWRkQmFzZVNlcmllc0V2ZW50cygpfSxhZGRCYXNlU2VyaWVzRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWEuYmFzZVNlcmllc3x8W107YlswXSYmYlswXS54QXhpcyYmRihiWzBdLnhBeGlzLCJmb3VuZEV4dHJlbWVzIix0aGlzLm1vZGlmeUJhc2VBeGlzRXh0cmVtZXMpO3IoYixmdW5jdGlvbihiKXtGKGIsInNob3ciLGZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0b3JTZXJpZXMmJnRoaXMubmF2aWdhdG9yU2VyaWVzLnNldFZpc2libGUoITAsITEpfSk7RihiLCJoaWRlIixmdW5jdGlvbigpe3RoaXMubmF2aWdhdG9yU2VyaWVzJiZ0aGlzLm5hdmlnYXRvclNlcmllcy5zZXRWaXNpYmxlKCExLAoJCQkhMSl9KTshMSE9PXRoaXMubmF2aWdhdG9yT3B0aW9ucy5hZGFwdFRvVXBkYXRlZERhdGEmJmIueEF4aXMmJkYoYiwidXBkYXRlZERhdGEiLHRoaXMudXBkYXRlZERhdGFIYW5kbGVyKTtGKGIsInJlbW92ZSIsZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRvclNlcmllcyYmKHkoYS5zZXJpZXMsdGhpcy5uYXZpZ2F0b3JTZXJpZXMpLHUodGhpcy5uYXZpZ2F0b3JTZXJpZXMub3B0aW9ucykmJnRoaXMubmF2aWdhdG9yU2VyaWVzLnJlbW92ZSghMSksZGVsZXRlIHRoaXMubmF2aWdhdG9yU2VyaWVzKX0pfSx0aGlzKX0sbW9kaWZ5TmF2aWdhdG9yQXhpc0V4dHJlbWVzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy54QXhpcyxiO2EuZ2V0RXh0cmVtZXMmJighKGI9dGhpcy5nZXRVbmlvbkV4dHJlbWVzKCEwKSl8fGIuZGF0YU1pbj09PWEubWluJiZiLmRhdGFNYXg9PT1hLm1heHx8KGEubWluPWIuZGF0YU1pbixhLm1heD1iLmRhdGFNYXgpKX0sbW9kaWZ5QmFzZUF4aXNFeHRyZW1lczpmdW5jdGlvbigpe3ZhciBhPQoJCQl0aGlzLmNoYXJ0Lm5hdmlnYXRvcixjPXRoaXMuZ2V0RXh0cmVtZXMoKSxkPWMuZGF0YU1pbixlPWMuZGF0YU1heCxjPWMubWF4LWMubWluLGY9YS5zdGlja1RvTWluLGc9YS5zdGlja1RvTWF4LGg9dCh0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbCwwKSxuLGwsbT1hLnNlcmllcyYmYS5zZXJpZXNbMF0scD0hIXRoaXMuc2V0RXh0cmVtZXM7dGhpcy5ldmVudEFyZ3MmJiJyYW5nZVNlbGVjdG9yQnV0dG9uIj09PXRoaXMuZXZlbnRBcmdzLnRyaWdnZXJ8fChmJiYobD1kLG49bCtjKSxnJiYobj1lK2gsZnx8KGw9TWF0aC5tYXgobi1jLG0mJm0ueERhdGE/bS54RGF0YVswXTotTnVtYmVyLk1BWF9WQUxVRSkpKSxwJiYoZnx8ZykmJmIobCkmJih0aGlzLm1pbj10aGlzLnVzZXJNaW49bCx0aGlzLm1heD10aGlzLnVzZXJNYXg9bikpO2Euc3RpY2tUb01pbj1hLnN0aWNrVG9NYXg9bnVsbH0sdXBkYXRlZERhdGFIYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydC5uYXZpZ2F0b3IsYz0KCQkJdGhpcy5uYXZpZ2F0b3JTZXJpZXM7YS5zdGlja1RvTWF4PWEucmV2ZXJzZWRFeHRyZW1lcz8wPT09TWF0aC5yb3VuZChhLnpvb21lZE1pbik6TWF0aC5yb3VuZChhLnpvb21lZE1heCk+PU1hdGgucm91bmQoYS5zaXplKTthLnN0aWNrVG9NaW49Yih0aGlzLnhBeGlzLm1pbikmJnRoaXMueEF4aXMubWluPD10aGlzLnhEYXRhWzBdJiYoIXRoaXMuY2hhcnQuZml4ZWRSYW5nZXx8IWEuc3RpY2tUb01heCk7YyYmIWEuaGFzTmF2aWdhdG9yRGF0YSYmKGMub3B0aW9ucy5wb2ludFN0YXJ0PXRoaXMueERhdGFbMF0sYy5zZXREYXRhKHRoaXMub3B0aW9ucy5kYXRhLCExLG51bGwsITEpKX0sYWRkQ2hhcnRFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLmV2ZW50c1RvVW5iaW5kfHwodGhpcy5ldmVudHNUb1VuYmluZD1bXSk7dGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKEYodGhpcy5jaGFydCwicmVkcmF3IixmdW5jdGlvbigpe3ZhciBhPXRoaXMubmF2aWdhdG9yLGI9YSYmKGEuYmFzZVNlcmllcyYmCgkJCWEuYmFzZVNlcmllc1swXSYmYS5iYXNlU2VyaWVzWzBdLnhBeGlzfHxhLnNjcm9sbGJhciYmdGhpcy54QXhpc1swXSk7YiYmYS5yZW5kZXIoYi5taW4sYi5tYXgpfSksRih0aGlzLmNoYXJ0LCJnZXRNYXJnaW5zIixmdW5jdGlvbigpe3ZhciBhPXRoaXMubmF2aWdhdG9yLGI9YS5vcHBvc2l0ZT8icGxvdFRvcCI6Im1hcmdpbkJvdHRvbSI7dGhpcy5pbnZlcnRlZCYmKGI9YS5vcHBvc2l0ZT8ibWFyZ2luUmlnaHQiOiJwbG90TGVmdCIpO3RoaXNbYl09KHRoaXNbYl18fDApKyhhLm5hdmlnYXRvckVuYWJsZWR8fCF0aGlzLmludmVydGVkP2Eub3V0bGluZUhlaWdodDowKSthLm5hdmlnYXRvck9wdGlvbnMubWFyZ2lufSkpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVFdmVudHMoKTt0aGlzLnhBeGlzJiYoeSh0aGlzLmNoYXJ0LnhBeGlzLHRoaXMueEF4aXMpLHkodGhpcy5jaGFydC5heGVzLHRoaXMueEF4aXMpKTt0aGlzLnlBeGlzJiYoeSh0aGlzLmNoYXJ0LnlBeGlzLHRoaXMueUF4aXMpLAoJCQl5KHRoaXMuY2hhcnQuYXhlcyx0aGlzLnlBeGlzKSk7cih0aGlzLnNlcmllc3x8W10sZnVuY3Rpb24oYSl7YS5kZXN0cm95JiZhLmRlc3Ryb3koKX0pO3IoInNlcmllcyB4QXhpcyB5QXhpcyBzaGFkZXMgb3V0bGluZSBzY3JvbGxiYXJUcmFjayBzY3JvbGxiYXJSaWZsZXMgc2Nyb2xsYmFyR3JvdXAgc2Nyb2xsYmFyIG5hdmlnYXRvckdyb3VwIHJlbmRlcmVkIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEpe3RoaXNbYV0mJnRoaXNbYV0uZGVzdHJveSYmdGhpc1thXS5kZXN0cm95KCk7dGhpc1thXT1udWxsfSx0aGlzKTtyKFt0aGlzLmhhbmRsZXNdLGZ1bmN0aW9uKGEpe0MoYSl9LHRoaXMpfX07YS5OYXZpZ2F0b3I9RTtoKEcucHJvdG90eXBlLCJ6b29tIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5jaGFydCxlPWQub3B0aW9ucyxmPWUuY2hhcnQuem9vbVR5cGUsaz1lLmNoYXJ0LnBpbmNoVHlwZSxnPWUubmF2aWdhdG9yLGU9ZS5yYW5nZVNlbGVjdG9yLGg7dGhpcy5pc1hBeGlzJiYKCShnJiZnLmVuYWJsZWR8fGUmJmUuZW5hYmxlZCkmJigheCYmIngiPT09Znx8eCYmIngiPT09az9kLnJlc2V0Wm9vbUJ1dHRvbj0iYmxvY2tlZCI6InkiPT09Zj9oPSExOigheCYmInh5Ij09PWZ8fHgmJiJ4eSI9PT1rKSYmdGhpcy5vcHRpb25zLnJhbmdlJiYoZD10aGlzLnByZXZpb3VzWm9vbSx1KGIpP3RoaXMucHJldmlvdXNab29tPVt0aGlzLm1pbix0aGlzLm1heF06ZCYmKGI9ZFswXSxjPWRbMV0sZGVsZXRlIHRoaXMucHJldmlvdXNab29tKSkpO3JldHVybiB2b2lkIDAhPT1oP2g6YS5jYWxsKHRoaXMsYixjKX0pO0YocSwiYmVmb3JlUmVuZGVyIixmdW5jdGlvbigpe3ZhciBhPXRoaXMub3B0aW9ucztpZihhLm5hdmlnYXRvci5lbmFibGVkfHxhLnNjcm9sbGJhci5lbmFibGVkKXRoaXMuc2Nyb2xsZXI9dGhpcy5uYXZpZ2F0b3I9bmV3IEUodGhpcyl9KTtGKHEsImFmdGVyU2V0Q2hhcnRTaXplIixmdW5jdGlvbigpe3ZhciBhPXRoaXMubGVnZW5kLGI9dGhpcy5uYXZpZ2F0b3IsYywKCQlkLGUsZjtiJiYoZD1hJiZhLm9wdGlvbnMsZT1iLnhBeGlzLGY9Yi55QXhpcyxjPWIuc2Nyb2xsYmFySGVpZ2h0LHRoaXMuaW52ZXJ0ZWQ/KGIubGVmdD1iLm9wcG9zaXRlP3RoaXMuY2hhcnRXaWR0aC1jLWIuaGVpZ2h0OnRoaXMuc3BhY2luZ1szXStjLGIudG9wPXRoaXMucGxvdFRvcCtjKTooYi5sZWZ0PXRoaXMucGxvdExlZnQrYyxiLnRvcD1iLm5hdmlnYXRvck9wdGlvbnMudG9wfHx0aGlzLmNoYXJ0SGVpZ2h0LWIuaGVpZ2h0LWMtdGhpcy5zcGFjaW5nWzJdLSh0aGlzLnJhbmdlU2VsZWN0b3ImJnRoaXMuZXh0cmFCb3R0b21NYXJnaW4/dGhpcy5yYW5nZVNlbGVjdG9yLmdldEhlaWdodCgpOjApLShkJiYiYm90dG9tIj09PWQudmVydGljYWxBbGlnbiYmZC5lbmFibGVkJiYhZC5mbG9hdGluZz9hLmxlZ2VuZEhlaWdodCt0KGQubWFyZ2luLDEwKTowKSksZSYmZiYmKHRoaXMuaW52ZXJ0ZWQ/ZS5vcHRpb25zLmxlZnQ9Zi5vcHRpb25zLmxlZnQ9Yi5sZWZ0OmUub3B0aW9ucy50b3A9CgkJZi5vcHRpb25zLnRvcD1iLnRvcCxlLnNldEF4aXNTaXplKCksZi5zZXRBeGlzU2l6ZSgpKSl9KTtGKHEsInVwZGF0ZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS5vcHRpb25zLm5hdmlnYXRvcnx8e30sYz1hLm9wdGlvbnMuc2Nyb2xsYmFyfHx7fTt0aGlzLm5hdmlnYXRvcnx8dGhpcy5zY3JvbGxlcnx8IWIuZW5hYmxlZCYmIWMuZW5hYmxlZHx8KEIoITAsdGhpcy5vcHRpb25zLm5hdmlnYXRvcixiKSxCKCEwLHRoaXMub3B0aW9ucy5zY3JvbGxiYXIsYyksZGVsZXRlIGEub3B0aW9ucy5uYXZpZ2F0b3IsZGVsZXRlIGEub3B0aW9ucy5zY3JvbGxiYXIpfSk7RihxLCJhZnRlclVwZGF0ZSIsZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRvcnx8dGhpcy5zY3JvbGxlcnx8IXRoaXMub3B0aW9ucy5uYXZpZ2F0b3IuZW5hYmxlZCYmIXRoaXMub3B0aW9ucy5zY3JvbGxiYXIuZW5hYmxlZHx8KHRoaXMuc2Nyb2xsZXI9dGhpcy5uYXZpZ2F0b3I9bmV3IEUodGhpcykpfSk7aCh6LnByb3RvdHlwZSwiYWRkUG9pbnQiLAoJCWZ1bmN0aW9uKGEsYixkLGUsZil7dmFyIGs9dGhpcy5vcHRpb25zLnR1cmJvVGhyZXNob2xkO2smJnRoaXMueERhdGEubGVuZ3RoPmsmJmMoYiwhMCkmJnRoaXMuY2hhcnQubmF2aWdhdG9yJiZwKDIwLCEwKTthLmNhbGwodGhpcyxiLGQsZSxmKX0pO0YocSwiYWZ0ZXJBZGRTZXJpZXMiLGZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0b3ImJnRoaXMubmF2aWdhdG9yLnNldEJhc2VTZXJpZXMobnVsbCwhMSl9KTtGKHosImFmdGVyVXBkYXRlIixmdW5jdGlvbigpe3RoaXMuY2hhcnQubmF2aWdhdG9yJiYhdGhpcy5vcHRpb25zLmlzSW50ZXJuYWwmJnRoaXMuY2hhcnQubmF2aWdhdG9yLnNldEJhc2VTZXJpZXMobnVsbCwhMSl9KTtxLnByb3RvdHlwZS5jYWxsYmFja3MucHVzaChmdW5jdGlvbihhKXt2YXIgYj1hLm5hdmlnYXRvcjtiJiZhLnhBeGlzWzBdJiYoYT1hLnhBeGlzWzBdLmdldEV4dHJlbWVzKCksYi5yZW5kZXIoYS5taW4sYS5tYXgpKX0pfSkoSik7KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIEUoYSl7dGhpcy5pbml0KGEpfQoJCXZhciBGPWEuYWRkRXZlbnQsRz1hLkF4aXMscT1hLkNoYXJ0LGw9YS5jc3MsZj1hLmNyZWF0ZUVsZW1lbnQsdT1hLmRlZmF1bHRPcHRpb25zLEM9YS5kZWZpbmVkLHI9YS5kZXN0cm95T2JqZWN0UHJvcGVydGllcyx5PWEuZGlzY2FyZEVsZW1lbnQscD1hLmVhY2gsZD1hLmV4dGVuZCxlPWEuZmlyZUV2ZW50LGc9YS5pc051bWJlcixtPWEubWVyZ2UsYj1hLnBpY2ssYz1hLnBJbnQseD1hLnNwbGF0LEI9YS53cmFwO2QodSx7cmFuZ2VTZWxlY3Rvcjp7dmVydGljYWxBbGlnbjoidG9wIixidXR0b25UaGVtZTp7InN0cm9rZS13aWR0aCI6MCx3aWR0aDoyOCxoZWlnaHQ6MTgscGFkZGluZzoyLHpJbmRleDo3fSxmbG9hdGluZzohMSx4OjAseTowLGhlaWdodDp2b2lkIDAsaW5wdXRQb3NpdGlvbjp7YWxpZ246InJpZ2h0Iix4OjAseTowfSxidXR0b25Qb3NpdGlvbjp7YWxpZ246ImxlZnQiLHg6MCx5OjB9LGxhYmVsU3R5bGU6e2NvbG9yOiIjNjY2NjY2In19fSk7dS5sYW5nPW0odS5sYW5nLAoJCQl7cmFuZ2VTZWxlY3Rvclpvb206Ilpvb20iLHJhbmdlU2VsZWN0b3JGcm9tOiJGcm9tIixyYW5nZVNlbGVjdG9yVG86IlRvIn0pO0UucHJvdG90eXBlPXtjbGlja0J1dHRvbjpmdW5jdGlvbihhLGMpe3ZhciBkPXRoaXMsZT1kLmNoYXJ0LGY9ZC5idXR0b25PcHRpb25zW2FdLGg9ZS54QXhpc1swXSxuPWUuc2Nyb2xsZXImJmUuc2Nyb2xsZXIuZ2V0VW5pb25FeHRyZW1lcygpfHxofHx7fSxsPW4uZGF0YU1pbixtPW4uZGF0YU1heCx0LGs9aCYmTWF0aC5yb3VuZChNYXRoLm1pbihoLm1heCxiKG0saC5tYXgpKSkscT1mLnR5cGUscixuPWYuX3JhbmdlLHUseSxCLEM9Zi5kYXRhR3JvdXBpbmc7aWYobnVsbCE9PWwmJm51bGwhPT1tKXtlLmZpeGVkUmFuZ2U9bjtDJiYodGhpcy5mb3JjZWREYXRhR3JvdXBpbmc9ITAsRy5wcm90b3R5cGUuc2V0RGF0YUdyb3VwaW5nLmNhbGwoaHx8e2NoYXJ0OnRoaXMuY2hhcnR9LEMsITEpLHRoaXMuZnJvemVuU3RhdGVzPWYucHJlc2VydmVEYXRhR3JvdXBpbmcpOwoJCQkJaWYoIm1vbnRoIj09PXF8fCJ5ZWFyIj09PXEpaD8ocT17cmFuZ2U6ZixtYXg6ayxjaGFydDplLGRhdGFNaW46bCxkYXRhTWF4Om19LHQ9aC5taW5Gcm9tUmFuZ2UuY2FsbChxKSxnKHEubmV3TWF4KSYmKGs9cS5uZXdNYXgpKTpuPWY7ZWxzZSBpZihuKXQ9TWF0aC5tYXgoay1uLGwpLGs9TWF0aC5taW4odCtuLG0pO2Vsc2UgaWYoInl0ZCI9PT1xKWlmKGgpdm9pZCAwPT09bSYmKGw9TnVtYmVyLk1BWF9WQUxVRSxtPU51bWJlci5NSU5fVkFMVUUscChlLnNlcmllcyxmdW5jdGlvbihhKXthPWEueERhdGE7bD1NYXRoLm1pbihhWzBdLGwpO209TWF0aC5tYXgoYVthLmxlbmd0aC0xXSxtKX0pLGM9ITEpLGs9ZC5nZXRZVERFeHRyZW1lcyhtLGwsZS50aW1lLnVzZVVUQyksdD11PWsubWluLGs9ay5tYXg7ZWxzZXtGKGUsImJlZm9yZVJlbmRlciIsZnVuY3Rpb24oKXtkLmNsaWNrQnV0dG9uKGEpfSk7cmV0dXJufWVsc2UiYWxsIj09PXEmJmgmJih0PWwsaz1tKTt0Kz1mLl9vZmZzZXRNaW47CgkJCQlrKz1mLl9vZmZzZXRNYXg7ZC5zZXRTZWxlY3RlZChhKTtoP2guc2V0RXh0cmVtZXModCxrLGIoYywxKSxudWxsLHt0cmlnZ2VyOiJyYW5nZVNlbGVjdG9yQnV0dG9uIixyYW5nZVNlbGVjdG9yQnV0dG9uOmZ9KToocj14KGUub3B0aW9ucy54QXhpcylbMF0sQj1yLnJhbmdlLHIucmFuZ2U9bix5PXIubWluLHIubWluPXUsRihlLCJsb2FkIixmdW5jdGlvbigpe3IucmFuZ2U9QjtyLm1pbj15fSkpfX0sc2V0U2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7dGhpcy5zZWxlY3RlZD10aGlzLm9wdGlvbnMuc2VsZWN0ZWQ9YX0sZGVmYXVsdEJ1dHRvbnM6W3t0eXBlOiJtb250aCIsY291bnQ6MSx0ZXh0OiIxbSJ9LHt0eXBlOiJtb250aCIsY291bnQ6Myx0ZXh0OiIzbSJ9LHt0eXBlOiJtb250aCIsY291bnQ6Nix0ZXh0OiI2bSJ9LHt0eXBlOiJ5dGQiLHRleHQ6IllURCJ9LHt0eXBlOiJ5ZWFyIixjb3VudDoxLHRleHQ6IjF5In0se3R5cGU6ImFsbCIsdGV4dDoiQWxsIn1dLGluaXQ6ZnVuY3Rpb24oYSl7dmFyIGI9CgkJCQl0aGlzLGM9YS5vcHRpb25zLnJhbmdlU2VsZWN0b3IsZD1jLmJ1dHRvbnN8fFtdLmNvbmNhdChiLmRlZmF1bHRCdXR0b25zKSxmPWMuc2VsZWN0ZWQsZz1mdW5jdGlvbigpe3ZhciBhPWIubWluSW5wdXQsYz1iLm1heElucHV0O2EmJmEuYmx1ciYmZShhLCJibHVyIik7YyYmYy5ibHVyJiZlKGMsImJsdXIiKX07Yi5jaGFydD1hO2Iub3B0aW9ucz1jO2IuYnV0dG9ucz1bXTthLmV4dHJhVG9wTWFyZ2luPWMuaGVpZ2h0O2IuYnV0dG9uT3B0aW9ucz1kO3RoaXMudW5Nb3VzZURvd249RihhLmNvbnRhaW5lciwibW91c2Vkb3duIixnKTt0aGlzLnVuUmVzaXplPUYoYSwicmVzaXplIixnKTtwKGQsYi5jb21wdXRlQnV0dG9uUmFuZ2UpO3ZvaWQgMCE9PWYmJmRbZl0mJnRoaXMuY2xpY2tCdXR0b24oZiwhMSk7RihhLCJsb2FkIixmdW5jdGlvbigpe2EueEF4aXMmJmEueEF4aXNbMF0mJkYoYS54QXhpc1swXSwic2V0RXh0cmVtZXMiLGZ1bmN0aW9uKGMpe3RoaXMubWF4LXRoaXMubWluIT09YS5maXhlZFJhbmdlJiYKCQkJInJhbmdlU2VsZWN0b3JCdXR0b24iIT09Yy50cmlnZ2VyJiYidXBkYXRlZERhdGEiIT09Yy50cmlnZ2VyJiZiLmZvcmNlZERhdGFHcm91cGluZyYmIWIuZnJvemVuU3RhdGVzJiZ0aGlzLnNldERhdGFHcm91cGluZyghMSwhMSl9KX0pfSx1cGRhdGVCdXR0b25TdGF0ZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9dGhpcy5jaGFydCxjPWIueEF4aXNbMF0sZD1NYXRoLnJvdW5kKGMubWF4LWMubWluKSxlPSFjLmhhc1Zpc2libGVTZXJpZXMsZj1iLnNjcm9sbGVyJiZiLnNjcm9sbGVyLmdldFVuaW9uRXh0cmVtZXMoKXx8YyxsPWYuZGF0YU1pbixtPWYuZGF0YU1heCxiPWEuZ2V0WVRERXh0cmVtZXMobSxsLGIudGltZS51c2VVVEMpLHE9Yi5taW4scj1iLm1heCxrPWEuc2VsZWN0ZWQsdT1nKGspLHg9YS5vcHRpb25zLmFsbEJ1dHRvbnNFbmFibGVkLHk9YS5idXR0b25zO3AoYS5idXR0b25PcHRpb25zLGZ1bmN0aW9uKGIsZil7dmFyIGc9Yi5fcmFuZ2UsaD1iLnR5cGUsbj1iLmNvdW50fHwKCQkJCTEscD15W2ZdLHQ9MDtiPWIuX29mZnNldE1heC1iLl9vZmZzZXRNaW47Zj1mPT09azt2YXIgdj1nPm0tbCx3PWc8Yy5taW5SYW5nZSx6PSExLEE9ITEsZz1nPT09ZDsoIm1vbnRoIj09PWh8fCJ5ZWFyIj09PWgpJiZkKzM2RTU+PTg2NEU1Knttb250aDoyOCx5ZWFyOjM2NX1baF0qbi1iJiZkLTM2RTU8PTg2NEU1Knttb250aDozMSx5ZWFyOjM2Nn1baF0qbitiP2c9ITA6Inl0ZCI9PT1oPyhnPXItcStiPT09ZCx6PSFmKToiYWxsIj09PWgmJihnPWMubWF4LWMubWluPj1tLWwsQT0hZiYmdSYmZyk7aD0heCYmKHZ8fHd8fEF8fGUpO249ZiYmZ3x8ZyYmIXUmJiF6fHxmJiZhLmZyb3plblN0YXRlcztoP3Q9MzpuJiYodT0hMCx0PTIpO3Auc3RhdGUhPT10JiZwLnNldFN0YXRlKHQpfSl9LGNvbXB1dGVCdXR0b25SYW5nZTpmdW5jdGlvbihhKXt2YXIgYz1hLnR5cGUsZD1hLmNvdW50fHwxLGU9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFFMyxtaW51dGU6NkU0LGhvdXI6MzZFNSxkYXk6ODY0RTUsCgkJCQl3ZWVrOjYwNDhFNX07aWYoZVtjXSlhLl9yYW5nZT1lW2NdKmQ7ZWxzZSBpZigibW9udGgiPT09Y3x8InllYXIiPT09YylhLl9yYW5nZT04NjRFNSp7bW9udGg6MzAseWVhcjozNjV9W2NdKmQ7YS5fb2Zmc2V0TWluPWIoYS5vZmZzZXRNaW4sMCk7YS5fb2Zmc2V0TWF4PWIoYS5vZmZzZXRNYXgsMCk7YS5fcmFuZ2UrPWEuX29mZnNldE1heC1hLl9vZmZzZXRNaW59LHNldElucHV0VmFsdWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNoYXJ0Lm9wdGlvbnMucmFuZ2VTZWxlY3RvcixkPXRoaXMuY2hhcnQudGltZSxlPXRoaXNbYSsiSW5wdXQiXTtDKGIpJiYoZS5wcmV2aW91c1ZhbHVlPWUuSENUaW1lLGUuSENUaW1lPWIpO2UudmFsdWU9ZC5kYXRlRm9ybWF0KGMuaW5wdXRFZGl0RGF0ZUZvcm1hdHx8IiVZLSVtLSVkIixlLkhDVGltZSk7dGhpc1thKyJEYXRlQm94Il0uYXR0cih7dGV4dDpkLmRhdGVGb3JtYXQoYy5pbnB1dERhdGVGb3JtYXR8fCIlYiAlZSwgJVkiLGUuSENUaW1lKX0pfSwKCQkJc2hvd0lucHV0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuaW5wdXRHcm91cCxjPXRoaXNbYSsiRGF0ZUJveCJdO2wodGhpc1thKyJJbnB1dCJdLHtsZWZ0OmIudHJhbnNsYXRlWCtjLngrInB4Iix0b3A6Yi50cmFuc2xhdGVZKyJweCIsd2lkdGg6Yy53aWR0aC0yKyJweCIsaGVpZ2h0OmMuaGVpZ2h0LTIrInB4Iixib3JkZXI6IjJweCBzb2xpZCBzaWx2ZXIifSl9LGhpZGVJbnB1dDpmdW5jdGlvbihhKXtsKHRoaXNbYSsiSW5wdXQiXSx7Ym9yZGVyOjAsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgifSk7dGhpcy5zZXRJbnB1dFZhbHVlKGEpfSxkcmF3SW5wdXQ6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe3ZhciBhPXcudmFsdWUsYj0odC5pbnB1dERhdGVQYXJzZXJ8fERhdGUucGFyc2UpKGEpLGQ9cC54QXhpc1swXSxmPXAuc2Nyb2xsZXImJnAuc2Nyb2xsZXIueEF4aXM/cC5zY3JvbGxlci54QXhpczpkLGs9Zi5kYXRhTWluLGY9Zi5kYXRhTWF4O2IhPT13LnByZXZpb3VzVmFsdWUmJih3LnByZXZpb3VzVmFsdWU9CgkJCQliLGcoYil8fChiPWEuc3BsaXQoIi0iKSxiPURhdGUuVVRDKGMoYlswXSksYyhiWzFdKS0xLGMoYlsyXSkpKSxnKGIpJiYocC50aW1lLnVzZVVUQ3x8KGIrPTZFNCoobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpLHY/Yj5lLm1heElucHV0LkhDVGltZT9iPXZvaWQgMDpiPGsmJihiPWspOmI8ZS5taW5JbnB1dC5IQ1RpbWU/Yj12b2lkIDA6Yj5mJiYoYj1mKSx2b2lkIDAhPT1iJiZkLnNldEV4dHJlbWVzKHY/YjpkLm1pbix2P2QubWF4OmIsdm9pZCAwLHZvaWQgMCx7dHJpZ2dlcjoicmFuZ2VTZWxlY3RvcklucHV0In0pKSl9dmFyIGU9dGhpcyxwPWUuY2hhcnQscT1wLnJlbmRlcmVyLnN0eWxlfHx7fSxoPXAucmVuZGVyZXIsdD1wLm9wdGlvbnMucmFuZ2VTZWxlY3RvcixyPWUuZGl2LHY9Im1pbiI9PT1hLHcsayxBPXRoaXMuaW5wdXRHcm91cDt0aGlzW2ErIkxhYmVsIl09az1oLmxhYmVsKHUubGFuZ1t2PyJyYW5nZVNlbGVjdG9yRnJvbSI6InJhbmdlU2VsZWN0b3JUbyJdLHRoaXMuaW5wdXRHcm91cC5vZmZzZXQpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXJhbmdlLWxhYmVsIikuYXR0cih7cGFkZGluZzoyfSkuYWRkKEEpOwoJCQkJQS5vZmZzZXQrPWsud2lkdGgrNTt0aGlzW2ErIkRhdGVCb3giXT1oPWgubGFiZWwoIiIsQS5vZmZzZXQpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXJhbmdlLWlucHV0IikuYXR0cih7cGFkZGluZzoyLHdpZHRoOnQuaW5wdXRCb3hXaWR0aHx8OTAsaGVpZ2h0OnQuaW5wdXRCb3hIZWlnaHR8fDE3LCJ0ZXh0LWFsaWduIjoiY2VudGVyIixzdHJva2U6dC5pbnB1dEJveEJvcmRlckNvbG9yfHwiI2NjY2NjYyIsInN0cm9rZS13aWR0aCI6MX0pLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlLnNob3dJbnB1dChhKTtlW2ErIklucHV0Il0uZm9jdXMoKX0pLmFkZChBKTtBLm9mZnNldCs9aC53aWR0aCsodj8xMDowKTt0aGlzW2ErIklucHV0Il09dz1mKCJpbnB1dCIse25hbWU6YSxjbGFzc05hbWU6ImhpZ2hjaGFydHMtcmFuZ2Utc2VsZWN0b3IiLHR5cGU6InRleHQifSx7dG9wOnAucGxvdFRvcCsicHgifSxyKTtrLmNzcyhtKHEsdC5sYWJlbFN0eWxlKSk7aC5jc3MobSh7Y29sb3I6IiMzMzMzMzMifSwKCQkJCQlxLHQuaW5wdXRTdHlsZSkpO2wodyxkKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJvcmRlcjowLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4IixwYWRkaW5nOjAsdGV4dEFsaWduOiJjZW50ZXIiLGZvbnRTaXplOnEuZm9udFNpemUsZm9udEZhbWlseTpxLmZvbnRGYW1pbHksdG9wOiItOTk5OWVtIn0sdC5pbnB1dFN0eWxlKSk7dy5vbmZvY3VzPWZ1bmN0aW9uKCl7ZS5zaG93SW5wdXQoYSl9O3cub25ibHVyPWZ1bmN0aW9uKCl7ZS5oaWRlSW5wdXQoYSl9O3cub25jaGFuZ2U9Yjt3Lm9ua2V5cHJlc3M9ZnVuY3Rpb24oYSl7MTM9PT1hLmtleUNvZGUmJmIoKX19LGdldFBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jaGFydCxiPWEub3B0aW9ucy5yYW5nZVNlbGVjdG9yLGE9InRvcCI9PT1iLnZlcnRpY2FsQWxpZ24/YS5wbG90VG9wLWEuYXhpc09mZnNldFswXTowO3JldHVybntidXR0b25Ub3A6YStiLmJ1dHRvblBvc2l0aW9uLnksaW5wdXRUb3A6YStiLmlucHV0UG9zaXRpb24ueS0KCQkJCTEwfX0sZ2V0WVRERXh0cmVtZXM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuY2hhcnQudGltZSxlPW5ldyBkLkRhdGUoYSksZj1kLmdldCgiRnVsbFllYXIiLGUpO2M9Yz9kLkRhdGUuVVRDKGYsMCwxKTorbmV3IGQuRGF0ZShmLDAsMSk7Yj1NYXRoLm1heChifHwwLGMpO2U9ZS5nZXRUaW1lKCk7cmV0dXJue21heDpNYXRoLm1pbihhfHxlLGUpLG1pbjpifX0scmVuZGVyOmZ1bmN0aW9uKGEsYyl7dmFyIGQ9dGhpcyxlPWQuY2hhcnQsZz1lLnJlbmRlcmVyLGg9ZS5jb250YWluZXIsbD1lLm9wdGlvbnMsbj1sLmV4cG9ydGluZyYmITEhPT1sLmV4cG9ydGluZy5lbmFibGVkJiZsLm5hdmlnYXRpb24mJmwubmF2aWdhdGlvbi5idXR0b25PcHRpb25zLG09dS5sYW5nLHE9ZC5kaXYsaz1sLnJhbmdlU2VsZWN0b3IsdD1iKGwuY2hhcnQuc3R5bGUmJmwuY2hhcnQuc3R5bGUuekluZGV4LDApKzEsbD1rLmZsb2F0aW5nLHI9ZC5idXR0b25zLHE9ZC5pbnB1dEdyb3VwLHg9ay5idXR0b25UaGVtZSwKCQkJCXk9ay5idXR0b25Qb3NpdGlvbixCPWsuaW5wdXRQb3NpdGlvbixDPWsuaW5wdXRFbmFibGVkLEU9eCYmeC5zdGF0ZXMsRj1lLnBsb3RMZWZ0LEcsSj1kLmJ1dHRvbkdyb3VwLFg7WD1kLnJlbmRlcmVkO3ZhciBZPWQub3B0aW9ucy52ZXJ0aWNhbEFsaWduLGFhPWUubGVnZW5kLGJhPWFhJiZhYS5vcHRpb25zLGNhPXkueSxaPUIueSxkYT1YfHwhMSxmYT1kYT8iYW5pbWF0ZSI6ImF0dHIiLFY9MCxVPTAsUDtpZighMSE9PWsuZW5hYmxlZCl7WHx8KGQuZ3JvdXA9WD1nLmcoInJhbmdlLXNlbGVjdG9yLWdyb3VwIikuYXR0cih7ekluZGV4Ojd9KS5hZGQoKSxkLmJ1dHRvbkdyb3VwPUo9Zy5nKCJyYW5nZS1zZWxlY3Rvci1idXR0b25zIikuYWRkKFgpLGQuem9vbVRleHQ9Zy50ZXh0KG0ucmFuZ2VTZWxlY3Rvclpvb20sMCwxNSkuY3NzKGsubGFiZWxTdHlsZSkuYWRkKEopLHAoZC5idXR0b25PcHRpb25zLGZ1bmN0aW9uKGEsYil7cltiXT1nLmJ1dHRvbihhLnRleHQsMCwwLGZ1bmN0aW9uKCl7dmFyIGM9CgkJCQlhLmV2ZW50cyYmYS5ldmVudHMuY2xpY2ssZTtjJiYoZT1jLmNhbGwoYSkpOyExIT09ZSYmZC5jbGlja0J1dHRvbihiKTtkLmlzQWN0aXZlPSEwfSx4LEUmJkUuaG92ZXIsRSYmRS5zZWxlY3QsRSYmRS5kaXNhYmxlZCkuYXR0cih7InRleHQtYWxpZ24iOiJjZW50ZXIifSkuYWRkKEopfSksITEhPT1DJiYoZC5kaXY9cT1mKCJkaXYiLG51bGwse3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OjAsekluZGV4OnR9KSxoLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHEsaCksZC5pbnB1dEdyb3VwPXE9Zy5nKCJpbnB1dC1ncm91cCIpLmFkZChYKSxxLm9mZnNldD0wLGQuZHJhd0lucHV0KCJtaW4iKSxkLmRyYXdJbnB1dCgibWF4IikpKTtkLnpvb21UZXh0W2ZhXSh7eDpiKEYreS54LEYpfSk7Rz1iKEYreS54LEYpK2Quem9vbVRleHQuZ2V0QkJveCgpLndpZHRoKzU7cChkLmJ1dHRvbk9wdGlvbnMsZnVuY3Rpb24oYSxjKXtyW2NdW2ZhXSh7eDpHfSk7Rys9cltjXS53aWR0aCtiKGsuYnV0dG9uU3BhY2luZywKCQkJCTUpfSk7Rj1lLnBsb3RMZWZ0LWUuc3BhY2luZ1szXTtkLnVwZGF0ZUJ1dHRvblN0YXRlcygpO24mJnRoaXMudGl0bGVDb2xsaXNpb24oZSkmJiJ0b3AiPT09WSYmInJpZ2h0Ij09PXkuYWxpZ24mJnkueStKLmdldEJCb3goKS5oZWlnaHQtMTI8KG4ueXx8MCkrbi5oZWlnaHQmJihWPS00MCk7ImxlZnQiPT09eS5hbGlnbj9QPXkueC1lLnNwYWNpbmdbM106InJpZ2h0Ij09PXkuYWxpZ24mJihQPXkueCtWLWUuc3BhY2luZ1sxXSk7Si5hbGlnbih7eTp5Lnksd2lkdGg6Si5nZXRCQm94KCkud2lkdGgsYWxpZ246eS5hbGlnbix4OlB9LCEwLGUuc3BhY2luZ0JveCk7ZC5ncm91cC5wbGFjZWQ9ZGE7ZC5idXR0b25Hcm91cC5wbGFjZWQ9ZGE7ITEhPT1DJiYoVj1uJiZ0aGlzLnRpdGxlQ29sbGlzaW9uKGUpJiYidG9wIj09PVkmJiJyaWdodCI9PT1CLmFsaWduJiZCLnktcS5nZXRCQm94KCkuaGVpZ2h0LTEyPChuLnl8fDApK24uaGVpZ2h0K2Uuc3BhY2luZ1swXT8tNDA6MCwibGVmdCI9PT1CLmFsaWduPwoJCQkJUD1GOiJyaWdodCI9PT1CLmFsaWduJiYoUD0tTWF0aC5tYXgoZS5heGlzT2Zmc2V0WzFdLC1WKSkscS5hbGlnbih7eTpCLnksd2lkdGg6cS5nZXRCQm94KCkud2lkdGgsYWxpZ246Qi5hbGlnbix4OkIueCtQLTJ9LCEwLGUuc3BhY2luZ0JveCksaD1xLmFsaWduQXR0ci50cmFuc2xhdGVYK3EuYWxpZ25PcHRpb25zLngtVitxLmdldEJCb3goKS54KzIsbj1xLmFsaWduT3B0aW9ucy53aWR0aCxtPUouYWxpZ25BdHRyLnRyYW5zbGF0ZVgrSi5nZXRCQm94KCkueCxQPUouZ2V0QkJveCgpLndpZHRoKzIwLChCLmFsaWduPT09eS5hbGlnbnx8bStQPmgmJmgrbj5tJiZjYTxaK3EuZ2V0QkJveCgpLmhlaWdodCkmJnEuYXR0cih7dHJhbnNsYXRlWDpxLmFsaWduQXR0ci50cmFuc2xhdGVYKyhlLmF4aXNPZmZzZXRbMV0+PS1WPzA6LVYpLHRyYW5zbGF0ZVk6cS5hbGlnbkF0dHIudHJhbnNsYXRlWStKLmdldEJCb3goKS5oZWlnaHQrMTB9KSxkLnNldElucHV0VmFsdWUoIm1pbiIsYSksZC5zZXRJbnB1dFZhbHVlKCJtYXgiLAoJCQkJYyksZC5pbnB1dEdyb3VwLnBsYWNlZD1kYSk7ZC5ncm91cC5hbGlnbih7dmVydGljYWxBbGlnbjpZfSwhMCxlLnNwYWNpbmdCb3gpO2E9ZC5ncm91cC5nZXRCQm94KCkuaGVpZ2h0KzIwO2M9ZC5ncm91cC5hbGlnbkF0dHIudHJhbnNsYXRlWTsiYm90dG9tIj09PVkmJihhYT1iYSYmImJvdHRvbSI9PT1iYS52ZXJ0aWNhbEFsaWduJiZiYS5lbmFibGVkJiYhYmEuZmxvYXRpbmc/YWEubGVnZW5kSGVpZ2h0K2IoYmEubWFyZ2luLDEwKTowLGE9YSthYS0yMCxVPWMtYS0obD8wOmsueSktMTApO2lmKCJ0b3AiPT09WSlsJiYoVT0wKSxlLnRpdGxlT2Zmc2V0JiYoVT1lLnRpdGxlT2Zmc2V0K2Uub3B0aW9ucy50aXRsZS5tYXJnaW4pLFUrPWUubWFyZ2luWzBdLWUuc3BhY2luZ1swXXx8MDtlbHNlIGlmKCJtaWRkbGUiPT09WSlpZihaPT09Y2EpVT0wPlo/Yyt2b2lkIDA6YztlbHNlIGlmKFp8fGNhKVU9MD5afHwwPmNhP1UtTWF0aC5taW4oWixjYSk6Yy1hK05hTjtkLmdyb3VwLnRyYW5zbGF0ZShrLngsCgkJCQlrLnkrTWF0aC5mbG9vcihVKSk7ITEhPT1DJiYoZC5taW5JbnB1dC5zdHlsZS5tYXJnaW5Ub3A9ZC5ncm91cC50cmFuc2xhdGVZKyJweCIsZC5tYXhJbnB1dC5zdHlsZS5tYXJnaW5Ub3A9ZC5ncm91cC50cmFuc2xhdGVZKyJweCIpO2QucmVuZGVyZWQ9ITB9fSxnZXRIZWlnaHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdGlvbnMsYj10aGlzLmdyb3VwLGM9YS55LGQ9YS5idXR0b25Qb3NpdGlvbi55LGE9YS5pbnB1dFBvc2l0aW9uLnksYj1iP2IuZ2V0QkJveCghMCkuaGVpZ2h0KzEzK2M6MCxjPU1hdGgubWluKGEsZCk7aWYoMD5hJiYwPmR8fDA8YSYmMDxkKWIrPU1hdGguYWJzKGMpO3JldHVybiBifSx0aXRsZUNvbGxpc2lvbjpmdW5jdGlvbihhKXtyZXR1cm4hKGEub3B0aW9ucy50aXRsZS50ZXh0fHxhLm9wdGlvbnMuc3VidGl0bGUudGV4dCl9LHVwZGF0ZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNoYXJ0O20oITAsYi5vcHRpb25zLnJhbmdlU2VsZWN0b3IsYSk7dGhpcy5kZXN0cm95KCk7CgkJCQl0aGlzLmluaXQoYik7Yi5yYW5nZVNlbGVjdG9yLnJlbmRlcigpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPWIubWluSW5wdXQsZD1iLm1heElucHV0O2IudW5Nb3VzZURvd24oKTtiLnVuUmVzaXplKCk7cihiLmJ1dHRvbnMpO2MmJihjLm9uZm9jdXM9Yy5vbmJsdXI9Yy5vbmNoYW5nZT1udWxsKTtkJiYoZC5vbmZvY3VzPWQub25ibHVyPWQub25jaGFuZ2U9bnVsbCk7YS5vYmplY3RFYWNoKGIsZnVuY3Rpb24oYSxjKXthJiYiY2hhcnQiIT09YyYmKGEuZGVzdHJveT9hLmRlc3Ryb3koKTphLm5vZGVUeXBlJiZ5KHRoaXNbY10pKTthIT09RS5wcm90b3R5cGVbY10mJihiW2NdPW51bGwpfSx0aGlzKX19O0cucHJvdG90eXBlLnRvRml4ZWRSYW5nZT1mdW5jdGlvbihhLGMsZCxlKXt2YXIgZj10aGlzLmNoYXJ0JiZ0aGlzLmNoYXJ0LmZpeGVkUmFuZ2U7YT1iKGQsdGhpcy50cmFuc2xhdGUoYSwhMCwhdGhpcy5ob3JpeikpO2M9YihlLHRoaXMudHJhbnNsYXRlKGMsITAsIXRoaXMuaG9yaXopKTsKCQkJZD1mJiYoYy1hKS9mOy43PGQmJjEuMz5kJiYoZT9hPWMtZjpjPWErZik7ZyhhKSYmZyhjKXx8KGE9Yz12b2lkIDApO3JldHVybnttaW46YSxtYXg6Y319O0cucHJvdG90eXBlLm1pbkZyb21SYW5nZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMucmFuZ2UsYz17bW9udGg6Ik1vbnRoIix5ZWFyOiJGdWxsWWVhciJ9W2EudHlwZV0sZCxlPXRoaXMubWF4LGYsaCxsPWZ1bmN0aW9uKGEsYil7dmFyIGQ9bmV3IERhdGUoYSksZT1kWyJnZXQiK2NdKCk7ZFsic2V0IitjXShlK2IpO2U9PT1kWyJnZXQiK2NdKCkmJmQuc2V0RGF0ZSgwKTtyZXR1cm4gZC5nZXRUaW1lKCktYX07ZyhhKT8oZD1lLWEsaD1hKTooZD1lK2woZSwtYS5jb3VudCksdGhpcy5jaGFydCYmKHRoaXMuY2hhcnQuZml4ZWRSYW5nZT1lLWQpKTtmPWIodGhpcy5kYXRhTWluLE51bWJlci5NSU5fVkFMVUUpO2coZCl8fChkPWYpO2Q8PWYmJihkPWYsdm9pZCAwPT09aCYmKGg9bChkLGEuY291bnQpKSx0aGlzLm5ld01heD1NYXRoLm1pbihkKwoJCQloLHRoaXMuZGF0YU1heCkpO2coZSl8fChkPXZvaWQgMCk7cmV0dXJuIGR9O0YocSwiYWZ0ZXJHZXRDb250YWluZXIiLGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnJhbmdlU2VsZWN0b3IuZW5hYmxlZCYmKHRoaXMucmFuZ2VTZWxlY3Rvcj1uZXcgRSh0aGlzKSl9KTtCKHEucHJvdG90eXBlLCJyZW5kZXIiLGZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmF4ZXMsZT10aGlzLnJhbmdlU2VsZWN0b3I7ZSYmKHAoZCxmdW5jdGlvbihhKXthLnVwZGF0ZU5hbWVzKCk7YS5zZXRTY2FsZSgpfSksdGhpcy5nZXRBeGlzTWFyZ2lucygpLGUucmVuZGVyKCksZD1lLm9wdGlvbnMudmVydGljYWxBbGlnbixlLm9wdGlvbnMuZmxvYXRpbmd8fCgiYm90dG9tIj09PWQ/dGhpcy5leHRyYUJvdHRvbU1hcmdpbj0hMDoibWlkZGxlIiE9PWQmJih0aGlzLmV4dHJhVG9wTWFyZ2luPSEwKSkpO2EuY2FsbCh0aGlzLGIsYyl9KTtGKHEsInVwZGF0ZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS5vcHRpb25zLnJhbmdlU2VsZWN0b3I7CgkJCWE9dGhpcy5yYW5nZVNlbGVjdG9yO3ZhciBjPXRoaXMuZXh0cmFCb3R0b21NYXJnaW4sZD10aGlzLmV4dHJhVG9wTWFyZ2luO2ImJmIuZW5hYmxlZCYmIUMoYSkmJih0aGlzLm9wdGlvbnMucmFuZ2VTZWxlY3Rvci5lbmFibGVkPSEwLHRoaXMucmFuZ2VTZWxlY3Rvcj1uZXcgRSh0aGlzKSk7dGhpcy5leHRyYVRvcE1hcmdpbj10aGlzLmV4dHJhQm90dG9tTWFyZ2luPSExO2EmJihhLnJlbmRlcigpLGI9YiYmYi52ZXJ0aWNhbEFsaWdufHxhLm9wdGlvbnMmJmEub3B0aW9ucy52ZXJ0aWNhbEFsaWduLGEub3B0aW9ucy5mbG9hdGluZ3x8KCJib3R0b20iPT09Yj90aGlzLmV4dHJhQm90dG9tTWFyZ2luPSEwOiJtaWRkbGUiIT09YiYmKHRoaXMuZXh0cmFUb3BNYXJnaW49ITApKSx0aGlzLmV4dHJhQm90dG9tTWFyZ2luIT09Y3x8dGhpcy5leHRyYVRvcE1hcmdpbiE9PWQpJiYodGhpcy5pc0RpcnR5Qm94PSEwKX0pO0IocS5wcm90b3R5cGUsInJlZHJhdyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPQoJCQl0aGlzLnJhbmdlU2VsZWN0b3I7ZCYmIWQub3B0aW9ucy5mbG9hdGluZyYmKGQucmVuZGVyKCksZD1kLm9wdGlvbnMudmVydGljYWxBbGlnbiwiYm90dG9tIj09PWQ/dGhpcy5leHRyYUJvdHRvbU1hcmdpbj0hMDoibWlkZGxlIiE9PWQmJih0aGlzLmV4dHJhVG9wTWFyZ2luPSEwKSk7YS5jYWxsKHRoaXMsYixjKX0pO0YocSwiZ2V0TWFyZ2lucyIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLnJhbmdlU2VsZWN0b3I7YSYmKGE9YS5nZXRIZWlnaHQoKSx0aGlzLmV4dHJhVG9wTWFyZ2luJiYodGhpcy5wbG90VG9wKz1hKSx0aGlzLmV4dHJhQm90dG9tTWFyZ2luJiYodGhpcy5tYXJnaW5Cb3R0b20rPWEpKX0pO3EucHJvdG90eXBlLmNhbGxiYWNrcy5wdXNoKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtjPWEueEF4aXNbMF0uZ2V0RXh0cmVtZXMoKTtnKGMubWluKSYmZC5yZW5kZXIoYy5taW4sYy5tYXgpfXZhciBjLGQ9YS5yYW5nZVNlbGVjdG9yLGUsZjtkJiYoZj1GKGEueEF4aXNbMF0sImFmdGVyU2V0RXh0cmVtZXMiLAoJCQlmdW5jdGlvbihhKXtkLnJlbmRlcihhLm1pbixhLm1heCl9KSxlPUYoYSwicmVkcmF3IixiKSxiKCkpO0YoYSwiZGVzdHJveSIsZnVuY3Rpb24oKXtkJiYoZSgpLGYoKSl9KX0pO2EuUmFuZ2VTZWxlY3Rvcj1FfSkoSik7KGZ1bmN0aW9uKGEpe3ZhciBFPWEuYWRkRXZlbnQsRj1hLmFycmF5TWF4LEc9YS5hcnJheU1pbixxPWEuQXhpcyxsPWEuQ2hhcnQsZj1hLmRlZmluZWQsdT1hLmVhY2gsQz1hLmV4dGVuZCxyPWEuZm9ybWF0LHk9YS5ncmVwLHA9YS5pbkFycmF5LGQ9YS5pc051bWJlcixlPWEuaXNTdHJpbmcsZz1hLm1hcCxtPWEubWVyZ2UsYj1hLnBpY2ssYz1hLlBvaW50LHg9YS5SZW5kZXJlcixCPWEuU2VyaWVzLHQ9YS5zcGxhdCxuPWEuU1ZHUmVuZGVyZXIsSj1hLlZNTFJlbmRlcmVyLHo9YS53cmFwLEQ9Qi5wcm90b3R5cGUsaD1ELmluaXQsST1ELnByb2Nlc3NEYXRhLEg9Yy5wcm90b3R5cGUudG9vbHRpcEZvcm1hdHRlcjthLlN0b2NrQ2hhcnQ9YS5zdG9ja0NoYXJ0PWZ1bmN0aW9uKGMsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAgZCxmKXt2YXIgaz1lKGMpfHxjLm5vZGVOYW1lLGg9YXJndW1lbnRzW2s/MTowXSxuPWguc2VyaWVzLHA9YS5nZXRPcHRpb25zKCkscSxyPWIoaC5uYXZpZ2F0b3ImJmgubmF2aWdhdG9yLmVuYWJsZWQscC5uYXZpZ2F0b3IuZW5hYmxlZCwhMCksdj1yP3tzdGFydE9uVGljazohMSxlbmRPblRpY2s6ITF9Om51bGwsdT17bWFya2VyOntlbmFibGVkOiExLHJhZGl1czoyfX0sdz17c2hhZG93OiExLGJvcmRlcldpZHRoOjB9O2gueEF4aXM9Zyh0KGgueEF4aXN8fHt9KSxmdW5jdGlvbihhLGIpe3JldHVybiBtKHttaW5QYWRkaW5nOjAsbWF4UGFkZGluZzowLG92ZXJzY3JvbGw6MCxvcmRpbmFsOiEwLHRpdGxlOnt0ZXh0Om51bGx9LGxhYmVsczp7b3ZlcmZsb3c6Imp1c3RpZnkifSxzaG93TGFzdExhYmVsOiEwfSxwLnhBeGlzLHAueEF4aXMmJnAueEF4aXNbYl0sYSx7dHlwZToiZGF0ZXRpbWUiLGNhdGVnb3JpZXM6bnVsbH0sdil9KTtoLnlBeGlzPWcodChoLnlBeGlzfHx7fSksZnVuY3Rpb24oYSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJICBjKXtxPWIoYS5vcHBvc2l0ZSwhMCk7cmV0dXJuIG0oe2xhYmVsczp7eTotMn0sb3Bwb3NpdGU6cSxzaG93TGFzdExhYmVsOiEoIWEuY2F0ZWdvcmllcyYmImNhdGVnb3J5IiE9PWEudHlwZSksdGl0bGU6e3RleHQ6bnVsbH19LHAueUF4aXMscC55QXhpcyYmcC55QXhpc1tjXSxhKX0pO2guc2VyaWVzPW51bGw7aD1tKHtjaGFydDp7cGFubmluZzohMCxwaW5jaFR5cGU6IngifSxuYXZpZ2F0b3I6e2VuYWJsZWQ6cn0sc2Nyb2xsYmFyOntlbmFibGVkOmIocC5zY3JvbGxiYXIuZW5hYmxlZCwhMCl9LHJhbmdlU2VsZWN0b3I6e2VuYWJsZWQ6YihwLnJhbmdlU2VsZWN0b3IuZW5hYmxlZCwhMCl9LHRpdGxlOnt0ZXh0Om51bGx9LHRvb2x0aXA6e3NwbGl0OmIocC50b29sdGlwLnNwbGl0LCEwKSxjcm9zc2hhaXJzOiEwfSxsZWdlbmQ6e2VuYWJsZWQ6ITF9LHBsb3RPcHRpb25zOntsaW5lOnUsc3BsaW5lOnUsYXJlYTp1LGFyZWFzcGxpbmU6dSxhcmVhcmFuZ2U6dSxhcmVhc3BsaW5lcmFuZ2U6dSwKCQkJY29sdW1uOncsY29sdW1ucmFuZ2U6dyxjYW5kbGVzdGljazp3LG9obGM6d319LGgse2lzU3RvY2s6ITB9KTtoLnNlcmllcz1uO3JldHVybiBrP25ldyBsKGMsaCxmKTpuZXcgbChoLGQpfTt6KHEucHJvdG90eXBlLCJhdXRvTGFiZWxBbGlnbiIsZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jaGFydCxjPXRoaXMub3B0aW9ucyxiPWIuX2xhYmVsUGFuZXM9Yi5fbGFiZWxQYW5lc3x8e30sZD10aGlzLm9wdGlvbnMubGFiZWxzO3JldHVybiB0aGlzLmNoYXJ0Lm9wdGlvbnMuaXNTdG9jayYmInlBeGlzIj09PXRoaXMuY29sbCYmKGM9Yy50b3ArIiwiK2MuaGVpZ2h0LCFiW2NdJiZkLmVuYWJsZWQpPygxNT09PWQueCYmKGQueD0wKSx2b2lkIDA9PT1kLmFsaWduJiYoZC5hbGlnbj0icmlnaHQiKSxiW2NdPXRoaXMsInJpZ2h0Iik6YS5hcHBseSh0aGlzLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX0pO0UocSwiZGVzdHJveSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNoYXJ0LGI9dGhpcy5vcHRpb25zJiYKCQl0aGlzLm9wdGlvbnMudG9wKyIsIit0aGlzLm9wdGlvbnMuaGVpZ2h0O2ImJmEuX2xhYmVsUGFuZXMmJmEuX2xhYmVsUGFuZXNbYl09PT10aGlzJiZkZWxldGUgYS5fbGFiZWxQYW5lc1tiXX0pO3oocS5wcm90b3R5cGUsImdldFBsb3RMaW5lUGF0aCIsZnVuY3Rpb24oYyxoLGssbCxtLG4pe3ZhciBxPXRoaXMscj10aGlzLmlzTGlua2VkJiYhdGhpcy5zZXJpZXM/dGhpcy5saW5rZWRQYXJlbnQuc2VyaWVzOnRoaXMuc2VyaWVzLHY9cS5jaGFydCx0PXYucmVuZGVyZXIsdz1xLmxlZnQseD1xLnRvcCx5LEEseixCLEM9W10sRD1bXSxFLEY7aWYoInhBeGlzIiE9PXEuY29sbCYmInlBeGlzIiE9PXEuY29sbClyZXR1cm4gYy5hcHBseSh0aGlzLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKTtEPWZ1bmN0aW9uKGEpe3ZhciBiPSJ4QXhpcyI9PT1hPyJ5QXhpcyI6InhBeGlzIjthPXEub3B0aW9uc1tiXTtyZXR1cm4gZChhKT9bdltiXVthXV06ZShhKT9bdi5nZXQoYSldOmcocixmdW5jdGlvbihhKXtyZXR1cm4gYVtiXX0pfShxLmNvbGwpOwoJCXUocS5pc1hBeGlzP3YueUF4aXM6di54QXhpcyxmdW5jdGlvbihhKXtpZihmKGEub3B0aW9ucy5pZCk/LTE9PT1hLm9wdGlvbnMuaWQuaW5kZXhPZigibmF2aWdhdG9yIik6MSl7dmFyIGI9YS5pc1hBeGlzPyJ5QXhpcyI6InhBeGlzIixiPWYoYS5vcHRpb25zW2JdKT92W2JdW2Eub3B0aW9uc1tiXV06dltiXVswXTtxPT09YiYmRC5wdXNoKGEpfX0pO0U9RC5sZW5ndGg/W106W3EuaXNYQXhpcz92LnlBeGlzWzBdOnYueEF4aXNbMF1dO3UoRCxmdW5jdGlvbihiKXstMSE9PXAoYixFKXx8YS5maW5kKEUsZnVuY3Rpb24oYSl7cmV0dXJuIGEucG9zPT09Yi5wb3MmJmEubGVuPT09Yi5sZW59KXx8RS5wdXNoKGIpfSk7Rj1iKG4scS50cmFuc2xhdGUoaCxudWxsLG51bGwsbCkpO2QoRikmJihxLmhvcml6P3UoRSxmdW5jdGlvbihhKXt2YXIgYjtBPWEucG9zO0I9QSthLmxlbjt5PXo9TWF0aC5yb3VuZChGK3EudHJhbnNCKTtpZih5PHd8fHk+dytxLndpZHRoKW0/eT16PU1hdGgubWluKE1hdGgubWF4KHcsCgkJCXkpLHcrcS53aWR0aCk6Yj0hMDtifHxDLnB1c2goIk0iLHksQSwiTCIseixCKX0pOnUoRSxmdW5jdGlvbihhKXt2YXIgYjt5PWEucG9zO3o9eSthLmxlbjtBPUI9TWF0aC5yb3VuZCh4K3EuaGVpZ2h0LUYpO2lmKEE8eHx8QT54K3EuaGVpZ2h0KW0/QT1CPU1hdGgubWluKE1hdGgubWF4KHgsQSkscS50b3ArcS5oZWlnaHQpOmI9ITA7Ynx8Qy5wdXNoKCJNIix5LEEsIkwiLHosQil9KSk7cmV0dXJuIDA8Qy5sZW5ndGg/dC5jcmlzcFBvbHlMaW5lKEMsa3x8MSk6bnVsbH0pO24ucHJvdG90eXBlLmNyaXNwUG9seUxpbmU9ZnVuY3Rpb24oYSxiKXt2YXIgYztmb3IoYz0wO2M8YS5sZW5ndGg7Yys9NilhW2MrMV09PT1hW2MrNF0mJihhW2MrMV09YVtjKzRdPU1hdGgucm91bmQoYVtjKzFdKS1iJTIvMiksYVtjKzJdPT09YVtjKzVdJiYoYVtjKzJdPWFbYys1XT1NYXRoLnJvdW5kKGFbYysyXSkrYiUyLzIpO3JldHVybiBhfTt4PT09SiYmKEoucHJvdG90eXBlLmNyaXNwUG9seUxpbmU9bi5wcm90b3R5cGUuY3Jpc3BQb2x5TGluZSk7CgkJeihxLnByb3RvdHlwZSwiaGlkZUNyb3NzaGFpciIsZnVuY3Rpb24oYSxiKXthLmNhbGwodGhpcyxiKTt0aGlzLmNyb3NzTGFiZWwmJih0aGlzLmNyb3NzTGFiZWw9dGhpcy5jcm9zc0xhYmVsLmhpZGUoKSl9KTtFKHEsImFmdGVyRHJhd0Nyb3NzaGFpciIsZnVuY3Rpb24oYSl7dmFyIGMsZDtpZihmKHRoaXMuY3Jvc3NoYWlyLmxhYmVsKSYmdGhpcy5jcm9zc2hhaXIubGFiZWwuZW5hYmxlZCYmdGhpcy5jcm9zcyl7dmFyIGU9dGhpcy5jaGFydCxnPXRoaXMub3B0aW9ucy5jcm9zc2hhaXIubGFiZWwsaD10aGlzLmhvcml6O2M9dGhpcy5vcHBvc2l0ZTtkPXRoaXMubGVmdDt2YXIgbD10aGlzLnRvcCxtPXRoaXMuY3Jvc3NMYWJlbCxuPWcuZm9ybWF0LHA9IiIscT0iaW5zaWRlIj09PXRoaXMub3B0aW9ucy50aWNrUG9zaXRpb24sdj0hMSE9PXRoaXMuY3Jvc3NoYWlyLnNuYXAsdD0wLHU9YS5lfHx0aGlzLmNyb3NzJiZ0aGlzLmNyb3NzLmUseD1hLnBvaW50O2E9dGhpcy5saW4ybG9nO3ZhciB5LAoJCQl6O3RoaXMuaXNMb2c/KHk9YSh0aGlzLm1pbiksej1hKHRoaXMubWF4KSk6KHk9dGhpcy5taW4sej10aGlzLm1heCk7YT1oPyJjZW50ZXIiOmM/InJpZ2h0Ij09PXRoaXMubGFiZWxBbGlnbj8icmlnaHQiOiJsZWZ0IjoibGVmdCI9PT10aGlzLmxhYmVsQWxpZ24/ImxlZnQiOiJjZW50ZXIiO218fChtPXRoaXMuY3Jvc3NMYWJlbD1lLnJlbmRlcmVyLmxhYmVsKG51bGwsbnVsbCxudWxsLGcuc2hhcGV8fCJjYWxsb3V0IikuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY3Jvc3NoYWlyLWxhYmVsIisodGhpcy5zZXJpZXNbMF0mJiIgaGlnaGNoYXJ0cy1jb2xvci0iK3RoaXMuc2VyaWVzWzBdLmNvbG9ySW5kZXgpKS5hdHRyKHthbGlnbjpnLmFsaWdufHxhLHBhZGRpbmc6YihnLnBhZGRpbmcsOCkscjpiKGcuYm9yZGVyUmFkaXVzLDMpLHpJbmRleDoyfSkuYWRkKHRoaXMubGFiZWxHcm91cCksbS5hdHRyKHtmaWxsOmcuYmFja2dyb3VuZENvbG9yfHx0aGlzLnNlcmllc1swXSYmdGhpcy5zZXJpZXNbMF0uY29sb3J8fAoJCQkiIzY2NjY2NiIsc3Ryb2tlOmcuYm9yZGVyQ29sb3J8fCIiLCJzdHJva2Utd2lkdGgiOmcuYm9yZGVyV2lkdGh8fDB9KS5jc3MoQyh7Y29sb3I6IiNmZmZmZmYiLGZvbnRXZWlnaHQ6Im5vcm1hbCIsZm9udFNpemU6IjExcHgiLHRleHRBbGlnbjoiY2VudGVyIn0sZy5zdHlsZSkpKTtoPyhhPXY/eC5wbG90WCtkOnUuY2hhcnRYLGwrPWM/MDp0aGlzLmhlaWdodCk6KGE9Yz90aGlzLndpZHRoK2Q6MCxsPXY/eC5wbG90WStsOnUuY2hhcnRZKTtufHxnLmZvcm1hdHRlcnx8KHRoaXMuaXNEYXRldGltZUF4aXMmJihwPSIlYiAlZCwgJVkiKSxuPSJ7dmFsdWUiKyhwPyI6IitwOiIiKSsifSIpO3A9dj94W3RoaXMuaXNYQXhpcz8ieCI6InkiXTp0aGlzLnRvVmFsdWUoaD91LmNoYXJ0WDp1LmNoYXJ0WSk7bS5hdHRyKHt0ZXh0Om4/cihuLHt2YWx1ZTpwfSxlLnRpbWUpOmcuZm9ybWF0dGVyLmNhbGwodGhpcyxwKSx4OmEseTpsLHZpc2liaWxpdHk6cDx5fHxwPno/ImhpZGRlbiI6InZpc2libGUifSk7CgkJCWc9bS5nZXRCQm94KCk7aWYoaCl7aWYocSYmIWN8fCFxJiZjKWw9bS55LWcuaGVpZ2h0fWVsc2UgbD1tLnktZy5oZWlnaHQvMjtoPyhjPWQtZy54LGQ9ZCt0aGlzLndpZHRoLWcueCk6KGM9ImxlZnQiPT09dGhpcy5sYWJlbEFsaWduP2Q6MCxkPSJyaWdodCI9PT10aGlzLmxhYmVsQWxpZ24/ZCt0aGlzLndpZHRoOmUuY2hhcnRXaWR0aCk7bS50cmFuc2xhdGVYPGMmJih0PWMtbS50cmFuc2xhdGVYKTttLnRyYW5zbGF0ZVgrZy53aWR0aD49ZCYmKHQ9LShtLnRyYW5zbGF0ZVgrZy53aWR0aC1kKSk7bS5hdHRyKHt4OmErdCx5OmwsYW5jaG9yWDpoP2E6dGhpcy5vcHBvc2l0ZT8wOmUuY2hhcnRXaWR0aCxhbmNob3JZOmg/dGhpcy5vcHBvc2l0ZT9lLmNoYXJ0SGVpZ2h0OjA6bCtnLmhlaWdodC8yfSl9fSk7RC5pbml0PWZ1bmN0aW9uKCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5zZXRDb21wYXJlKHRoaXMub3B0aW9ucy5jb21wYXJlKX07RC5zZXRDb21wYXJlPWZ1bmN0aW9uKGEpe3RoaXMubW9kaWZ5VmFsdWU9CgkJCSJ2YWx1ZSI9PT1hfHwicGVyY2VudCI9PT1hP2Z1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcy5jb21wYXJlVmFsdWU7aWYodm9pZCAwIT09YiYmdm9pZCAwIT09ZClyZXR1cm4gYj0idmFsdWUiPT09YT9iLWQ6Yi9kKjEwMC0oMTAwPT09dGhpcy5vcHRpb25zLmNvbXBhcmVCYXNlPzA6MTAwKSxjJiYoYy5jaGFuZ2U9YiksYn06bnVsbDt0aGlzLnVzZXJPcHRpb25zLmNvbXBhcmU9YTt0aGlzLmNoYXJ0Lmhhc1JlbmRlcmVkJiYodGhpcy5pc0RpcnR5PSEwKX07RC5wcm9jZXNzRGF0YT1mdW5jdGlvbigpe3ZhciBhLGI9LTEsYyxlLGY9ITA9PT10aGlzLm9wdGlvbnMuY29tcGFyZVN0YXJ0PzA6MSxnLGg7SS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7aWYodGhpcy54QXhpcyYmdGhpcy5wcm9jZXNzZWRZRGF0YSlmb3IoYz10aGlzLnByb2Nlc3NlZFhEYXRhLGU9dGhpcy5wcm9jZXNzZWRZRGF0YSxnPWUubGVuZ3RoLHRoaXMucG9pbnRBcnJheU1hcCYmKGI9cCgiY2xvc2UiLHRoaXMucG9pbnRBcnJheU1hcCksCgkJLTE9PT1iJiYoYj1wKHRoaXMucG9pbnRWYWxLZXl8fCJ5Iix0aGlzLnBvaW50QXJyYXlNYXApKSksYT0wO2E8Zy1mO2ErKylpZihoPWVbYV0mJi0xPGI/ZVthXVtiXTplW2FdLGQoaCkmJmNbYStmXT49dGhpcy54QXhpcy5taW4mJjAhPT1oKXt0aGlzLmNvbXBhcmVWYWx1ZT1oO2JyZWFrfX07eihELCJnZXRFeHRyZW1lcyIsZnVuY3Rpb24oYSl7dmFyIGI7YS5hcHBseSh0aGlzLFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKTt0aGlzLm1vZGlmeVZhbHVlJiYoYj1bdGhpcy5tb2RpZnlWYWx1ZSh0aGlzLmRhdGFNaW4pLHRoaXMubW9kaWZ5VmFsdWUodGhpcy5kYXRhTWF4KV0sdGhpcy5kYXRhTWluPUcoYiksdGhpcy5kYXRhTWF4PUYoYikpfSk7cS5wcm90b3R5cGUuc2V0Q29tcGFyZT1mdW5jdGlvbihhLGMpe3RoaXMuaXNYQXhpc3x8KHUodGhpcy5zZXJpZXMsZnVuY3Rpb24oYil7Yi5zZXRDb21wYXJlKGEpfSksYihjLCEwKSYmdGhpcy5jaGFydC5yZWRyYXcoKSl9O2MucHJvdG90eXBlLnRvb2x0aXBGb3JtYXR0ZXI9CgkJCWZ1bmN0aW9uKGMpe2M9Yy5yZXBsYWNlKCJ7cG9pbnQuY2hhbmdlfSIsKDA8dGhpcy5jaGFuZ2U/IisiOiIiKSthLm51bWJlckZvcm1hdCh0aGlzLmNoYW5nZSxiKHRoaXMuc2VyaWVzLnRvb2x0aXBPcHRpb25zLmNoYW5nZURlY2ltYWxzLDIpKSk7cmV0dXJuIEguYXBwbHkodGhpcyxbY10pfTt6KEIucHJvdG90eXBlLCJyZW5kZXIiLGZ1bmN0aW9uKGEpe3ZhciBiO3RoaXMuY2hhcnQuaXMzZCYmdGhpcy5jaGFydC5pczNkKCl8fHRoaXMuY2hhcnQucG9sYXJ8fCF0aGlzLnhBeGlzfHx0aGlzLnhBeGlzLmlzUmFkaWFsfHwoYj10aGlzLnlBeGlzLmxlbi0odGhpcy54QXhpcy5heGlzTGluZT9NYXRoLmZsb29yKHRoaXMueEF4aXMuYXhpc0xpbmUuc3Ryb2tlV2lkdGgoKS8yKTowKSwhdGhpcy5jbGlwQm94JiZ0aGlzLmFuaW1hdGU/KHRoaXMuY2xpcEJveD1tKHRoaXMuY2hhcnQuY2xpcEJveCksdGhpcy5jbGlwQm94LndpZHRoPXRoaXMueEF4aXMubGVuLHRoaXMuY2xpcEJveC5oZWlnaHQ9CgkJCWIpOnRoaXMuY2hhcnRbdGhpcy5zaGFyZWRDbGlwS2V5XT90aGlzLmNoYXJ0W3RoaXMuc2hhcmVkQ2xpcEtleV0uYXR0cih7d2lkdGg6dGhpcy54QXhpcy5sZW4saGVpZ2h0OmJ9KTp0aGlzLmNsaXBCb3gmJih0aGlzLmNsaXBCb3gud2lkdGg9dGhpcy54QXhpcy5sZW4sdGhpcy5jbGlwQm94LmhlaWdodD1iKSk7YS5jYWxsKHRoaXMpfSk7eihsLnByb3RvdHlwZSwiZ2V0U2VsZWN0ZWRQb2ludHMiLGZ1bmN0aW9uKGEpe3ZhciBiPWEuY2FsbCh0aGlzKTt1KHRoaXMuc2VyaWVzLGZ1bmN0aW9uKGEpe2EuaGFzR3JvdXBlZERhdGEmJihiPWIuY29uY2F0KHkoYS5wb2ludHN8fFtdLGZ1bmN0aW9uKGEpe3JldHVybiBhLnNlbGVjdGVkfSkpKX0pO3JldHVybiBifSk7RShsLCJ1cGRhdGUiLGZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zOyJzY3JvbGxiYXIiaW4gYSYmdGhpcy5uYXZpZ2F0b3ImJihtKCEwLHRoaXMub3B0aW9ucy5zY3JvbGxiYXIsYS5zY3JvbGxiYXIpLHRoaXMubmF2aWdhdG9yLnVwZGF0ZSh7fSwKCQkJITEpLGRlbGV0ZSBhLnNjcm9sbGJhcil9KX0pKEopO3JldHVybiBKfSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWhpZ2hzdG9jay5qcy5tYXA="}},"time_used":81,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":35,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.809Z","timestamp":1785139582809,"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-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 08:06:22 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: f92a913d880be8fd682efb673170b6f0\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-08-07T05:09:59.618027Z","times_seen":1283,"resource_available":true,"data":"InVzZSBzdHJpY3QiOyhzZWxmLndlYnBhY2tDaHVua3RyYWRpbmd2aWV3PXNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXd8fFtdKS5wdXNoKFtbNTYyNThdLHs3NDM0NTEodCxlLG4pe24uZChlLHtjcmVhdGVPYnNlcnZhYmxlOigpPT5pfSk7dmFyIHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX29uUmVzb2x1dGlvbkNoYW5nZWQoKX0sdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwsdGhpcy5fb2JzZXJ2ZXJzPVtdLHRoaXMuX3dpbmRvdz10LHRoaXMuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXIoKX1yZXR1cm4gdC5wcm90b3R5cGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX3VuaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpLHRoaXMuX3dpbmRvdz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInZhbHVlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49e25leHQ6dH07cmV0dXJuIHRoaXMuX29ic2VydmVycy5wdXNoKG4pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2UuX29ic2VydmVycz1lLl9vYnNlcnZlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW59KSl9fX0sdC5wcm90b3R5cGUuX2luc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtpZihudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0KXRocm93IG5ldyBFcnJvcigiUmVzb2x1dGlvbiBsaXN0ZW5lciBpcyBhbHJlYWR5IGluc3RhbGxlZCIpO3ZhciB0PXRoaXMuX3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvO3RoaXMuX3Jlc29sdXRpb25NZWRpYVF1ZXJ5TGlzdD10aGlzLl93aW5kb3cubWF0Y2hNZWRpYSgiYWxsIGFuZCAocmVzb2x1dGlvbjogIi5jb25jYXQodCwiZHBweCkiKSksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lcil9LHQucHJvdG90eXBlLl91bmluc3RhbGxSZXNvbHV0aW9uTGlzdGVuZXI9ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0JiYodGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0LnJlbW92ZUxpc3RlbmVyKHRoaXMuX3Jlc29sdXRpb25MaXN0ZW5lciksdGhpcy5fcmVzb2x1dGlvbk1lZGlhUXVlcnlMaXN0PW51bGwpfSx0LnByb3RvdHlwZS5fcmVpbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyPWZ1bmN0aW9uKCl7dGhpcy5fdW5pbnN0YWxsUmVzb2x1dGlvbkxpc3RlbmVyKCksdGhpcy5faW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0LnByb3RvdHlwZS5fb25SZXNvbHV0aW9uQ2hhbmdlZD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fb2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHQodC5fd2luZG93LmRldmljZVBpeGVsUmF0aW8pfSkpLHRoaXMuX3JlaW5zdGFsbFJlc29sdXRpb25MaXN0ZW5lcigpfSx0fSgpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG5ldyByKHQpfX0sNzQyNzkodCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dC53aWR0aCxuPXQuaGVpZ2h0O2lmKGU8MCl0aHJvdyBuZXcgRXJyb3IoIk5lZ2F0aXZlIHdpZHRoIGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7aWYobjwwKXRocm93IG5ldyBFcnJvcigiTmVnYXRpdmUgaGVpZ2h0IGlzIG5vdCBhbGxvd2VkIGZvciBTaXplIik7cmV0dXJue3dpZHRoOmUsaGVpZ2h0Om59fWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdC53aWR0aD09PWUud2lkdGgmJnQuaGVpZ2h0PT09ZS5oZWlnaHR9bi5kKGUse2VxdWFsU2l6ZXM6KCk9Pmksc2l6ZTooKT0+cn0pfSw3ODkyODcodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfX0sMjU4MjYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe2Zvcih2YXIgaT0tMSx1PU9iamVjdChlKSxvPXIoZSksYT1vLmxlbmd0aDthLS07KXt2YXIgbD1vW3Q/YTorK2ldO2lmKCExPT09bih1W2xdLGwsdSkpYnJlYWt9cmV0dXJuIGV9fSgpfSw0ODI2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pmp9KTt2YXIgcj1uKDg4NjUxNCksaT1uKDI1NDczOCksdT1uKDkxMDc3OCk7Y29uc3Qgbz1mdW5jdGlvbih0LGUsbil7KHZvaWQgMCE9PW4mJiEoMCx1LmRlZmF1bHQpKHRbZV0sbil8fHZvaWQgMD09PW4mJiEoZSBpbiB0KSkmJigwLGkuZGVmYXVsdCkodCxlLG4pfTt2YXIgYT1uKDI1ODI2KSxsPW4oNDg3MDYwKSxzPW4oMTM5MDcpLGY9big3MDU3NDkpLGQ9big4MDc1NzUpLGM9big1MzE1NTcpLGg9bigyOTU2MzUpLHY9bigyMzk2MykscD1uKDY1OTAxOCksdz1uKDkyODEzMiksXz1uKDg4MDExNSksYj1uKDkzMTQzMykseT1uKDE2NTI2Nyk7Y29uc3QgZz1mdW5jdGlvbih0LGUpe2lmKCgiY29uc3RydWN0b3IiIT09ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIHRbZV0pJiYiX19wcm90b19fIiE9ZSlyZXR1cm4gdFtlXX07dmFyIEw9big2MTg1NyksUj1uKDIxNzQ1Nyk7Y29uc3QgTT1mdW5jdGlvbih0KXtyZXR1cm4oMCxMLmRlZmF1bHQpKHQsKDAsUi5kZWZhdWx0KSh0KSl9O2NvbnN0IE89ZnVuY3Rpb24odCxlLG4scixpLHUsYSl7dmFyIEw9Zyh0LG4pLFI9ZyhlLG4pLE89YS5nZXQoUik7aWYoTylvKHQsbixPKTtlbHNle3ZhciBqPXU/dShMLFIsbisiIix0LGUsYSk6dm9pZCAwLHg9dm9pZCAwPT09ajtpZih4KXt2YXIgUT0oMCxoLmRlZmF1bHQpKFIpLG09IVEmJigwLApwLmRlZmF1bHQpKFIpLGs9IVEmJiFtJiYoMCx5LmRlZmF1bHQpKFIpO2o9UixRfHxtfHxrPygwLGguZGVmYXVsdCkoTCk/aj1MOigwLHYuZGVmYXVsdCkoTCk/aj0oMCxmLmRlZmF1bHQpKEwpOm0/KHg9ITEsaj0oMCxsLmRlZmF1bHQpKFIsITApKTprPyh4PSExLGo9KDAscy5kZWZhdWx0KShSLCEwKSk6aj1bXTooMCxiLmRlZmF1bHQpKFIpfHwoMCxjLmRlZmF1bHQpKFIpPyhqPUwsKDAsYy5kZWZhdWx0KShMKT9qPU0oTCk6KDAsXy5kZWZhdWx0KShMKSYmISgwLHcuZGVmYXVsdCkoTCl8fChqPSgwLGQuZGVmYXVsdCkoUikpKTp4PSExfXgmJihhLnNldChSLGopLGkoaixSLHIsdSxhKSxhLmRlbGV0ZShSKSksbyh0LG4sail9fTtjb25zdCBqPWZ1bmN0aW9uIHQoZSxuLGksdSxsKXtlIT09biYmKDAsYS5kZWZhdWx0KShuLChmdW5jdGlvbihhLHMpe2lmKGx8fChsPW5ldyByLmRlZmF1bHQpLCgwLF8uZGVmYXVsdCkoYSkpTyhlLG4scyxpLHQsdSxsKTtlbHNle3ZhciBmPXU/dShnKGUscyksYSxzKyIiLGUsbixsKTp2b2lkIDA7dm9pZCAwPT09ZiYmKGY9YSksbyhlLHMsZil9fSksUi5kZWZhdWx0KX19LDY0NTM3Nih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pm99KTt2YXIgcj1uKDIzMjg1NCksaT1uKDM3MjAzNSksdT1uKDcwOTA1MSk7Y29uc3Qgbz1mdW5jdGlvbih0LGUpe3JldHVybigwLHUuZGVmYXVsdCkoKDAsaS5kZWZhdWx0KSh0LGUsci5kZWZhdWx0KSx0KyIiKX19LDU3NDY2OSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDY0NTM3NiksaT1uKDg1NDg5NCk7Y29uc3QgdT1mdW5jdGlvbih0KXtyZXR1cm4oMCxyLmRlZmF1bHQpKChmdW5jdGlvbihlLG4pe3ZhciByPS0xLHU9bi5sZW5ndGgsbz11PjE/blt1LTFdOnZvaWQgMCxhPXU+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8odS0tLG8pOnZvaWQgMCxhJiYoMCxpLmRlZmF1bHQpKG5bMF0sblsxXSxhKSYmKG89dTwzP3ZvaWQgMDpvLHU9MSksZT1PYmplY3QoZSk7KytyPHU7KXt2YXIgbD1uW3JdO2wmJnQoZSxsLHIsbyl9cmV0dXJuIGV9KSl9fSw4NTQ4OTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5hfSk7dmFyIHI9big5MTA3NzgpLGk9bigzOTI5MDgpLHU9big5MjExNDMpLG89big4ODAxMTUpO2NvbnN0IGE9ZnVuY3Rpb24odCxlLG4pe2lmKCEoMCxvLmRlZmF1bHQpKG4pKXJldHVybiExO3ZhciBhPXR5cGVvZiBlO3JldHVybiEhKCJudW1iZXIiPT1hPygwLGkuZGVmYXVsdCkobikmJigwLHUuZGVmYXVsdCkoZSxuLmxlbmd0aCk6InN0cmluZyI9PWEmJmUgaW4gbikmJigwLHIuZGVmYXVsdCkobltlXSx0KX19LDM3MjAzNSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PnV9KTt2YXIgcj1uKDc4OTI4NyksaT1NYXRoLm1heDtjb25zdCB1PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1pKHZvaWQgMD09PWU/dC5sZW5ndGgtMTplLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PWFyZ3VtZW50cyxvPS0xLGE9aSh1Lmxlbmd0aC1lLDApLGw9QXJyYXkoYSk7KytvPGE7KWxbb109dVtlK29dO289LTE7Zm9yKHZhciBzPUFycmF5KGUrMSk7KytvPGU7KXNbb109dVtvXTtyZXR1cm4gc1tlXT1uKGwpLCgwLHIuZGVmYXVsdCkodCx0aGlzLHMpfX19LDcwOTA1MSh0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9PmF9KTt2YXIgcj1uKDEyODA3NiksaT1uKDM2MDQ5KSx1PW4oMjMyODU0KTtjb25zdCBvPWkuZGVmYXVsdD9mdW5jdGlvbih0LGUpe3JldHVybigwLGkuZGVmYXVsdCkodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTooMCxyLmRlZmF1bHQpKGUpLHdyaXRhYmxlOiEwfSl9OnUuZGVmYXVsdDtjb25zdCBhPSgwLG4oOTQ4NTczKS5kZWZhdWx0KShvKX0sOTQ4NTczKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+aX0pO3ZhciByPURhdGUubm93O2NvbnN0IGk9ZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9cigpLHU9MTYtKGktbik7aWYobj1pLHU+MCl7aWYoKytlPj04MDApcmV0dXJuIGFyZ3VtZW50c1swXX1lbHNlIGU9MDtyZXR1cm4gdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSwxMjgwNzYodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19fSwyMzI4NTQodCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5yfSk7Y29uc3Qgcj1mdW5jdGlvbih0KXtyZXR1cm4gdH19LDIzOTYzKHQsZSxuKXtuLmQoZSx7ZGVmYXVsdDooKT0+dX0pO3ZhciByPW4oMzkyOTA4KSxpPW4oMzYwNjIwKTtjb25zdCB1PWZ1bmN0aW9uKHQpe3JldHVybigwLGkuZGVmYXVsdCkodCkmJigwLHIuZGVmYXVsdCkodCl9fSw5MzE0MzModCxlLG4pe24uZChlLHtkZWZhdWx0OigpPT5kfSk7dmFyIHI9bigxNzg0OTcpLGk9bigzOTI1NDUpLHU9bigzNjA2MjApLG89RnVuY3Rpb24ucHJvdG90eXBlLGE9T2JqZWN0LnByb3RvdHlwZSxsPW8udG9TdHJpbmcscz1hLmhhc093blByb3BlcnR5LGY9bC5jYWxsKE9iamVjdCk7Y29uc3QgZD1mdW5jdGlvbih0KXtpZighKDAsdS5kZWZhdWx0KSh0KXx8IltvYmplY3QgT2JqZWN0XSIhPSgwLHIuZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGU9KDAsaS5kZWZhdWx0KSh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1zLmNhbGwoZSwiY29uc3RydWN0b3IiKSYmZS5jb25zdHJ1Y3RvcjtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgbiYmbiBpbnN0YW5jZW9mIG4mJmwuY2FsbChuKT09Zn19LDc0MDE2Mih0LGUsbil7bi5kKGUse2RlZmF1bHQ6KCk9Pml9KTt2YXIgcj1uKDQ4MjYyKTtjb25zdCBpPSgwLG4oNTc0NjY5KS5kZWZhdWx0KSgoZnVuY3Rpb24odCxlLG4peygwLHIuZGVmYXVsdCkodCxlLG4pfSkpfX1dKTs="}},"time_used":22,"timings":{"blocked":15,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.777Z","timestamp":1785139583777,"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-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 08:06:23 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: c89e9644de00e7f0021e303726899792\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-08-12T05:10:43.191842Z","times_seen":789,"resource_available":false,"data":"LmRpYWxvZy1xeUN3MFBhTnttYXgtd2lkdGg6MzgwcHg7bWluLXdpZHRoOjI4MHB4O3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCV9LmRpYWxvZy1xeUN3MFBhTiBbZGF0YS1kcmFnZy1hcmVhPXRydWVde2N1cnNvcjpncmFifS5kaWFsb2ctcXlDdzBQYU4gW2RhdGEtZHJhZ2ctYXJlYT10cnVlXS5kcmFnZ2luZy1xeUN3MFBhTntjdXJzb3I6Z3JhYmJpbmd9aHRtbC50aGVtZS1kYXJrIC5kaWFsb2ctcXlDdzBQYU4ubW9iaWxlLXF5Q3cwUGFOe2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItYmxhY2spfWh0bWwudGhlbWUtZGFyayAuZGlhbG9nLXF5Q3cwUGFOLm1vYmlsZS1xeUN3MFBhTjpub3QoLmZ1bGxzY3JlZW4tcXlDdzBQYU4pe2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHZhcigtLWNvbG9yLWNvbGQtZ3JheS03NTApLDAgMCAycHggMCB2YXIoLS1jb2xvci1jb2xkLWdyYXktNzUwKX0uZGlhbG9nQW5pbWF0ZWRBcHBlYXJhbmNlLXF5Q3cwUGFOe2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLW5hbWU6ZGlhbG9nQW5pbWF0aW9uLXF5Q3cwUGFOO3RyYW5zZm9ybS1vcmlnaW46MCAwfS5kaWFsb2dBbmltYXRlZEFwcGVhcmFuY2UtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9QGtleWZyYW1lcyBkaWFsb2dBbmltYXRpb24tcXlDdzBQYU57MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGUodmFyKC0tYW5pbWF0aW9uVHJhbnNsYXRlU3RhcnRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVTdGFydFkpKSBzY2FsZSgwKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZSh2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRYKSx2YXIoLS1hbmltYXRpb25UcmFuc2xhdGVFbmRZKSkgc2NhbGUoMSl9fS5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7aW5zZXQtaW5saW5lLXN0YXJ0OjUwJTtsaW5lLWhlaWdodDoyMXB4O21heC13aWR0aDo1NDBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTIwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6bWF4LWNvbnRlbnR9QG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpey5kaWFsb2dUb29sdGlwLXF5Q3cwUGFOe21heC13aWR0aDoyNDBweH19LmRpYWxvZ1Rvb2x0aXAtcXlDdzBQYU46ZGlyKHJ0bCl7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0="}},"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.885Z","timestamp":1785139583885,"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-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 08:06:23 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: 5d818a6760c1380648c191310b6164b9\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-28T06:17:53.533777Z","times_seen":122,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.989Z","timestamp":1785139583989,"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-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 08:06:23 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: 25c753928400eb7f80dbd0cc7dd7c369\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-28T06:17:53.451679Z","times_seen":123,"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":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:38.847Z","timestamp":1785139598847,"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: 965\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-08-12T17:53:53.021164Z","times_seen":17858794,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.019Z","timestamp":1785139584019,"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-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 08:06:24 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: 11b4d04a2c7a03a07a748460e0172591\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":1001,"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-08-12T05:10:43.232291Z","times_seen":506,"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":"nanoquantumstellarsledger.com/frontcss/assets/bootstrap-datepicker.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.056Z","timestamp":1785139582056,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/bootstrap-datepicker.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4055\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":14496,"size_decoded":4292,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"e20e25b9d772336cb1cd2969849a0fdc","sha1":"41386077a47443ca45fc5a4aaed7e4977b480600","sha256":"909fd71a957514af0658f3f7fcbfada32467a408422a8916974c03fb2ae71be0","sha512":"111ce4a5918252dd7ca9c2c28b2766b39c18d909040f597d8cf5b2e291b4030833e353df1f3b92e6ae4267cd83d36b764ec0806e68cb9b721c70c2b8fc2db9c4","ssdeep":"384:rXfWXaPvQUe/X+YOiux+6X/PeERphscJ1:rXOEvQUTLiSBuPg1","tlshash":"ec5242c5e39e1547973620ad582d12ca663d807bdc068d3f7c6c41e169ecf2962acef8","first_seen":"2025-11-23T04:10:48.050603Z","last_seen":"2026-07-27T09:11:27.267105Z","times_seen":7,"resource_available":true,"data":"LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1gPT09PT09PT09PT09PT09PQogKiBib290c3RyYXAtZGF0ZXBpY2tlci5qcwogKiBodHRwOi8vd3d3LmV5ZWNvbi5yby9ib290c3RyYXAtZGF0ZXBpY2tlcgogKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlCiAqCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAogKgogKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICoKICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgoKCnZhciBjb2xvciA9ICcnOwohZnVuY3Rpb24oICQgKSB7CgoJLy8gUGlja2VyIG9iamVjdAoKCXZhciBEYXRlcGlja2VyID0gZnVuY3Rpb24oZWxlbWVudCwgb3B0aW9ucyl7CgkJdGhpcy5lbGVtZW50ID0gJChlbGVtZW50KTsKCQl0aGlzLmZvcm1hdCA9IERQR2xvYmFsLnBhcnNlRm9ybWF0KG9wdGlvbnMuZm9ybWF0fHx0aGlzLmVsZW1lbnQuZGF0YSgnZGF0ZS1mb3JtYXQnKXx8J21tL2RkL3l5eXknKTsKCQl0aGlzLnBpY2tlciA9ICQoRFBHbG9iYWwudGVtcGxhdGUpCgkJCQkJCQkuYXBwZW5kVG8oJ2JvZHknKQoJCQkJCQkJLm9uKHsKCQkJCQkJCQljbGljazogJC5wcm94eSh0aGlzLmNsaWNrLCB0aGlzKS8vLAoJCQkJCQkJCS8vbW91c2Vkb3duOiAkLnByb3h5KHRoaXMubW91c2Vkb3duLCB0aGlzKQoJCQkJCQkJfSk7CgkJdGhpcy5pc0lucHV0ID0gdGhpcy5lbGVtZW50LmlzKCdpbnB1dCcpOwoJCXRoaXMuY29tcG9uZW50ID0gdGhpcy5lbGVtZW50LmlzKCcuZGF0ZScpID8gdGhpcy5lbGVtZW50LmZpbmQoJy5hZGQtb24nKSA6IGZhbHNlOwoKCQlpZiAodGhpcy5pc0lucHV0KSB7CgkJCXRoaXMuZWxlbWVudC5vbih7CgkJCQlmb2N1czogJC5wcm94eSh0aGlzLnNob3csIHRoaXMpLAoJCQkJLy9ibHVyOiAkLnByb3h5KHRoaXMuaGlkZSwgdGhpcyksCgkJCQlrZXl1cDogJC5wcm94eSh0aGlzLnVwZGF0ZSwgdGhpcykKCQkJfSk7CgkJfSBlbHNlIHsKCQkJaWYgKHRoaXMuY29tcG9uZW50KXsKCQkJCXRoaXMuY29tcG9uZW50Lm9uKCdjbGljaycsICQucHJveHkodGhpcy5zaG93LCB0aGlzKSk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmVsZW1lbnQub24oJ2NsaWNrJywgJC5wcm94eSh0aGlzLnNob3csIHRoaXMpKTsKCQkJfQoJCX0KCgkJdGhpcy5taW5WaWV3TW9kZSA9IG9wdGlvbnMubWluVmlld01vZGV8fHRoaXMuZWxlbWVudC5kYXRhKCdkYXRlLW1pbnZpZXdtb2RlJyl8fDA7CgkJaWYgKHR5cGVvZiB0aGlzLm1pblZpZXdNb2RlID09PSAnc3RyaW5nJykgewoJCQlzd2l0Y2ggKHRoaXMubWluVmlld01vZGUpIHsKCQkJCWNhc2UgJ21vbnRocyc6CgkJCQkJdGhpcy5taW5WaWV3TW9kZSA9IDE7CgkJCQkJYnJlYWs7CgkJCQljYXNlICd5ZWFycyc6CgkJCQkJdGhpcy5taW5WaWV3TW9kZSA9IDI7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJCXRoaXMubWluVmlld01vZGUgPSAwOwoJCQkJCWJyZWFrOwoJCQl9CgkJfQoJCXRoaXMudmlld01vZGUgPSBvcHRpb25zLnZpZXdNb2RlfHx0aGlzLmVsZW1lbnQuZGF0YSgnZGF0ZS12aWV3bW9kZScpfHwwOwoJCWlmICh0eXBlb2YgdGhpcy52aWV3TW9kZSA9PT0gJ3N0cmluZycpIHsKCQkJc3dpdGNoICh0aGlzLnZpZXdNb2RlKSB7CgkJCQljYXNlICdtb250aHMnOgoJCQkJCXRoaXMudmlld01vZGUgPSAxOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAneWVhcnMnOgoJCQkJCXRoaXMudmlld01vZGUgPSAyOwoJCQkJCWJyZWFrOwoJCQkJZGVmYXVsdDoKCQkJCQl0aGlzLnZpZXdNb2RlID0gMDsKCQkJCQlicmVhazsKCQkJfQoJCX0KCQl0aGlzLmNvbG9yID0gb3B0aW9ucy5jb2xvcnx8J2F6dXJlJzsKCQl0aGlzLnN0YXJ0Vmlld01vZGUgPSB0aGlzLnZpZXdNb2RlOwoJCXRoaXMud2Vla1N0YXJ0ID0gb3B0aW9ucy53ZWVrU3RhcnR8fHRoaXMuZWxlbWVudC5kYXRhKCdkYXRlLXdlZWtzdGFydCcpfHwwOwoJCXRoaXMud2Vla0VuZCA9IHRoaXMud2Vla1N0YXJ0ID09PSAwID8gNiA6IHRoaXMud2Vla1N0YXJ0IC0gMTsKCQl0aGlzLm9uUmVuZGVyID0gb3B0aW9ucy5vblJlbmRlcjsKCQl0aGlzLmZpbGxEb3coKTsKCQl0aGlzLmZpbGxNb250aHMoKTsKCQl0aGlzLnVwZGF0ZSgpOwoJCXRoaXMuc2hvd01vZGUoKTsKCgl9OwoKCgoJRGF0ZXBpY2tlci5wcm90b3R5cGUgPSB7CgkJY29uc3RydWN0b3I6IERhdGVwaWNrZXIsCgoJCXNob3c6IGZ1bmN0aW9uKGUpIHsKCQkgICAgdmFyIGRhdGVwaWNrZXIgPSB0aGlzLnBpY2tlcjsKCgkJICAgIC8vZm9yIGN1c3RvbWl6YXRpb24gRGF0ZVBpY2tlcgoJCQl2YXIgJGRhdGVwaWNrZXJDdXN0b21DbGFzcyA9ICQodGhpcy5lbGVtZW50KS5kYXRhKCdjdXN0b20tY2xhc3MnKTsKCgkJCXRoaXMucGlja2VyLnNob3coKTsKCQkJdGhpcy5oZWlnaHQgPSB0aGlzLmNvbXBvbmVudCA/IHRoaXMuY29tcG9uZW50Lm91dGVySGVpZ2h0KCkgOiB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKTsKCQkJdGhpcy5wbGFjZSgpOwoJCQkkKHdpbmRvdykub24oJ3Jlc2l6ZScsICQucHJveHkodGhpcy5wbGFjZSwgdGhpcykpOwoJCQlpZiAoZSApIHsKCQkJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgkJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCX0KCQkJaWYgKCF0aGlzLmlzSW5wdXQpIHsKCQkJfQoJCQl2YXIgdGhhdCA9IHRoaXM7CgkJCSQoZG9jdW1lbnQpLm9uKCdtb3VzZWRvd24nLCBmdW5jdGlvbihldil7CgkJCQlpZiAoJChldi50YXJnZXQpLmNsb3Nlc3QoJy5kYXRlcGlja2VyJykubGVuZ3RoID09IDApIHsKCQkJCQl0aGF0LmhpZGUoKTsKCQkJCX0KCQkJfSk7CgkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKHsKCQkJCXR5cGU6ICdzaG93JywKCQkJCWRhdGU6IHRoaXMuZGF0ZQoJCQl9KTsKCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsKICAgIAkJCWRhdGVwaWNrZXIuYWRkQ2xhc3MoJ29wZW4gJyArICRkYXRlcGlja2VyQ3VzdG9tQ2xhc3MpOwoJCQl9LCAxNzApOwoJCX0sCgoJCWhpZGU6IGZ1bmN0aW9uKCl7CgkJCXZhciBkYXRlcGlja2VyID0gdGhpcy5waWNrZXI7CgkJCWRhdGVwaWNrZXIucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKCgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsKCQkJCWRhdGVwaWNrZXIuaGlkZSgpOwoJCQl9LCA1MDApOwoKCQkJJCh3aW5kb3cpLm9mZigncmVzaXplJywgdGhpcy5wbGFjZSk7CgkJCXRoaXMudmlld01vZGUgPSB0aGlzLnN0YXJ0Vmlld01vZGU7CgkJCXRoaXMuc2hvd01vZGUoKTsKCQkJaWYgKCF0aGlzLmlzSW5wdXQpIHsKCQkJCSQoZG9jdW1lbnQpLm9mZignbW91c2Vkb3duJywgdGhpcy5oaWRlKTsKCQkJfQoJCQkvL3RoaXMuc2V0KCk7CgkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKHsKCQkJCXR5cGU6ICdoaWRlJywKCQkJCWRhdGU6IHRoaXMuZGF0ZQoJCQl9KTsKCiAgICAJfSwKCgkJc2V0OiBmdW5jdGlvbigpIHsKCQkJdmFyIGZvcm1hdGVkID0gRFBHbG9iYWwuZm9ybWF0RGF0ZSh0aGlzLmRhdGUsIHRoaXMuZm9ybWF0KTsKCQkJaWYgKCF0aGlzLmlzSW5wdXQpIHsKCQkJCWlmICh0aGlzLmNvbXBvbmVudCl7CgkJCQkJdGhpcy5lbGVtZW50LmZpbmQoJ2lucHV0JykucHJvcCgndmFsdWUnLCBmb3JtYXRlZCk7CgkJCQl9CgkJCQl0aGlzLmVsZW1lbnQuZGF0YSgnZGF0ZScsIGZvcm1hdGVkKTsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuZWxlbWVudC5wcm9wKCd2YWx1ZScsIGZvcm1hdGVkKTsKCQkJfQoJCX0sCgoJCXNldFZhbHVlOiBmdW5jdGlvbihuZXdEYXRlKSB7CgkJCWlmICh0eXBlb2YgbmV3RGF0ZSA9PT0gJ3N0cmluZycpIHsKCQkJCXRoaXMuZGF0ZSA9IERQR2xvYmFsLnBhcnNlRGF0ZShuZXdEYXRlLCB0aGlzLmZvcm1hdCk7CgkJCX0gZWxzZSB7CgkJCQl0aGlzLmRhdGUgPSBuZXcgRGF0ZShuZXdEYXRlKTsKCQkJfQoJCQl0aGlzLnNldCgpOwoJCQl0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUodGhpcy5kYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuZGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTsKCQkJdGhpcy5maWxsKCk7CgkJfSwKCgkJcGxhY2U6IGZ1bmN0aW9uKCl7CgkJCXZhciBvZmZzZXQgPSB0aGlzLmNvbXBvbmVudCA/IHRoaXMuY29tcG9uZW50Lm9mZnNldCgpIDogdGhpcy5lbGVtZW50Lm9mZnNldCgpOwoJCQl0aGlzLnBpY2tlci5jc3MoewoJCQkJdG9wOiBvZmZzZXQudG9wICsgdGhpcy5oZWlnaHQsCgkJCQlsZWZ0OiBvZmZzZXQubGVmdAoJCQl9KTsKCQl9LAoKCQl1cGRhdGU6IGZ1bmN0aW9uKG5ld0RhdGUpewoJCQl0aGlzLmRhdGUgPSBEUEdsb2JhbC5wYXJzZURhdGUoCgkJCQl0eXBlb2YgbmV3RGF0ZSA9PT0gJ3N0cmluZycgPyBuZXdEYXRlIDogKHRoaXMuaXNJbnB1dCA/IHRoaXMuZWxlbWVudC5wcm9wKCd2YWx1ZScpIDogdGhpcy5lbGVtZW50LmRhdGEoJ2RhdGUnKSksCgkJCQl0aGlzLmZvcm1hdAoJCQkpOwoJCQl0aGlzLnZpZXdEYXRlID0gbmV3IERhdGUodGhpcy5kYXRlLmdldEZ1bGxZZWFyKCksIHRoaXMuZGF0ZS5nZXRNb250aCgpLCAxLCAwLCAwLCAwLCAwKTsKCQkJdGhpcy5maWxsKCk7CgkJfSwKCgkJZmlsbERvdzogZnVuY3Rpb24oKXsKCQkJdmFyIGRvd0NudCA9IHRoaXMud2Vla1N0YXJ0OwoJCQl2YXIgaHRtbCA9ICc8dHI+JzsKCQkJd2hpbGUgKGRvd0NudCA8IHRoaXMud2Vla1N0YXJ0ICsgNykgewoJCQkJaHRtbCArPSAnPHRoIGNsYXNzPSJkb3ciPicrRFBHbG9iYWwuZGF0ZXMuZGF5c01pblsoZG93Q250KyspJTddKyc8L3RoPic7CgkJCX0KCQkJaHRtbCArPSAnPC90cj4nOwoJCQl0aGlzLnBpY2tlci5maW5kKCcuZGF0ZXBpY2tlci1kYXlzIHRoZWFkJykuYXBwZW5kKGh0bWwpOwoJCX0sCgoJCWZpbGxNb250aHM6IGZ1bmN0aW9uKCl7CgkJCXZhciBodG1sID0gJyc7CgkJCXZhciBpID0gMAoJCQl3aGlsZSAoaSA8IDEyKSB7CgkJCQlodG1sICs9ICc8c3BhbiBjbGFzcz0ibW9udGgiPicrRFBHbG9iYWwuZGF0ZXMubW9udGhzU2hvcnRbaSsrXSsnPC9zcGFuPic7CgkJCX0KCQkJdGhpcy5waWNrZXIuZmluZCgnLmRhdGVwaWNrZXItbW9udGhzIHRkJykuYXBwZW5kKGh0bWwpOwoJCX0sCgoJCWZpbGw6IGZ1bmN0aW9uKCkgewoJCQl2YXIgZCA9IG5ldyBEYXRlKHRoaXMudmlld0RhdGUpLAoJCQkJeWVhciA9IGQuZ2V0RnVsbFllYXIoKSwKCQkJCW1vbnRoID0gZC5nZXRNb250aCgpLAoJCQkJY3VycmVudERhdGUgPSB0aGlzLmRhdGUudmFsdWVPZigpOwoJCQl0aGlzLnBpY2tlci5maW5kKCcuZGF0ZXBpY2tlci1kYXlzIHRoOmVxKDEpJykKCQkJCQkJLnRleHQoRFBHbG9iYWwuZGF0ZXMubW9udGhzW21vbnRoXSsnICcreWVhcik7CgkJCXZhciBwcmV2TW9udGggPSBuZXcgRGF0ZSh5ZWFyLCBtb250aC0xLCAyOCwwLDAsMCwwKSwKCQkJCWRheSA9IERQR2xvYmFsLmdldERheXNJbk1vbnRoKHByZXZNb250aC5nZXRGdWxsWWVhcigpLCBwcmV2TW9udGguZ2V0TW9udGgoKSk7CgkJCXByZXZNb250aC5zZXREYXRlKGRheSk7CgkJCXByZXZNb250aC5zZXREYXRlKGRheSAtIChwcmV2TW9udGguZ2V0RGF5KCkgLSB0aGlzLndlZWtTdGFydCArIDcpJTcpOwoJCQl2YXIgbmV4dE1vbnRoID0gbmV3IERhdGUocHJldk1vbnRoKTsKCQkJbmV4dE1vbnRoLnNldERhdGUobmV4dE1vbnRoLmdldERhdGUoKSArIDQyKTsKCQkJbmV4dE1vbnRoID0gbmV4dE1vbnRoLnZhbHVlT2YoKTsKCQkJdmFyIGh0bWwgPSBbXTsKCQkJdmFyIGNsc05hbWUsCgkJCQlwcmV2WSwKCQkJCXByZXZNOwoJCQl3aGlsZShwcmV2TW9udGgudmFsdWVPZigpIDwgbmV4dE1vbnRoKSB7CgkJCQlpZiAocHJldk1vbnRoLmdldERheSgpID09PSB0aGlzLndlZWtTdGFydCkgewoJCQkJCWh0bWwucHVzaCgnPHRyPicpOwoJCQkJfQoJCQkJY2xzTmFtZSA9IHRoaXMub25SZW5kZXIocHJldk1vbnRoKTsKCQkJCXByZXZZID0gcHJldk1vbnRoLmdldEZ1bGxZZWFyKCk7CgkJCQlwcmV2TSA9IHByZXZNb250aC5nZXRNb250aCgpOwoJCQkJaWYgKChwcmV2TSA8IG1vbnRoICYmICBwcmV2WSA9PT0geWVhcikgfHwgIHByZXZZIDwgeWVhcikgewoJCQkJCWNsc05hbWUgKz0gJyBvbGQnOwoJCQkJfSBlbHNlIGlmICgocHJldk0gPiBtb250aCAmJiBwcmV2WSA9PT0geWVhcikgfHwgcHJldlkgPiB5ZWFyKSB7CgkJCQkJY2xzTmFtZSArPSAnIG5ldyc7CgkJCQl9CgkJCQlpZiAocHJldk1vbnRoLnZhbHVlT2YoKSA9PT0gY3VycmVudERhdGUpIHsKCQkJCQljbHNOYW1lICs9ICcgYWN0aXZlICcgKyB0aGlzLmNvbG9yOwoJCQkJfQoJCQkJaHRtbC5wdXNoKCc8dGQgY2xhc3M9ImRheSAnK2Nsc05hbWUrJyI+PHA+JytwcmV2TW9udGguZ2V0RGF0ZSgpICsgJzwvcD48L3RkPicpOwoJCQkJaWYgKHByZXZNb250aC5nZXREYXkoKSA9PT0gdGhpcy53ZWVrRW5kKSB7CgkJCQkJaHRtbC5wdXNoKCc8L3RyPicpOwoJCQkJfQoJCQkJcHJldk1vbnRoLnNldERhdGUocHJldk1vbnRoLmdldERhdGUoKSsxKTsKCQkJfQoJCQl0aGlzLnBpY2tlci5maW5kKCcuZGF0ZXBpY2tlci1kYXlzIHRib2R5JykuZW1wdHkoKS5hcHBlbmQoaHRtbC5qb2luKCcnKSk7CgkJCXZhciBjdXJyZW50WWVhciA9IHRoaXMuZGF0ZS5nZXRGdWxsWWVhcigpOwoKCQkJdmFyIG1vbnRocyA9IHRoaXMucGlja2VyLmZpbmQoJy5kYXRlcGlja2VyLW1vbnRocycpCgkJCQkJCS5maW5kKCd0aDplcSgxKScpCgkJCQkJCQkudGV4dCh5ZWFyKQoJCQkJCQkJLmVuZCgpCgkJCQkJCS5maW5kKCdzcGFuJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQlpZiAoY3VycmVudFllYXIgPT09IHllYXIpIHsKCQkJCW1vbnRocy5lcSh0aGlzLmRhdGUuZ2V0TW9udGgoKSkuYWRkQ2xhc3MoJ2FjdGl2ZScpLmFkZENsYXNzKHRoaXMuY29sb3IpOwoJCQl9CgoJCQlodG1sID0gJyc7CgkJCXllYXIgPSBwYXJzZUludCh5ZWFyLzEwLCAxMCkgKiAxMDsKCQkJdmFyIHllYXJDb250ID0gdGhpcy5waWNrZXIuZmluZCgnLmRhdGVwaWNrZXIteWVhcnMnKQoJCQkJCQkJCS5maW5kKCd0aDplcSgxKScpCgkJCQkJCQkJCS50ZXh0KHllYXIgKyAnLScgKyAoeWVhciArIDkpKQoJCQkJCQkJCQkuZW5kKCkKCQkJCQkJCQkuZmluZCgndGQnKTsKCQkJeWVhciAtPSAxOwoJCQlmb3IgKHZhciBpID0gLTE7IGkgPCAxMTsgaSsrKSB7CgkJCQlodG1sICs9ICc8c3BhbiBjbGFzcz0ieWVhcicrKGkgPT09IC0xIHx8IGkgPT09IDEwID8gJyBvbGQnIDogJycpKyhjdXJyZW50WWVhciA9PT0geWVhciA/ICcgYWN0aXZlICcgOiAnJykrIHRoaXMuY29sb3IgKyAnIj4nK3llYXIrJzwvc3Bhbj4nOwoJCQkJeWVhciArPSAxOwoJCQl9CgkJCXllYXJDb250Lmh0bWwoaHRtbCk7CgkJfSwKCgkJY2xpY2s6IGZ1bmN0aW9uKGUpIHsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdGFyZ2V0ID0gJChlLnRhcmdldCkuY2xvc2VzdCgnc3BhbiwgdGQsIHRoJyk7CgkJCWlmICh0YXJnZXQubGVuZ3RoID09PSAxKSB7CgkJCQlzd2l0Y2godGFyZ2V0WzBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpIHsKCQkJCQljYXNlICd0aCc6CgkJCQkJCXN3aXRjaCh0YXJnZXRbMF0uY2xhc3NOYW1lKSB7CgkJCQkJCQljYXNlICdzd2l0Y2gtZGF0ZXBpY2tlcic6CgkJCQkJCQkJdGhpcy5zaG93TW9kZSgxKTsKCQkJCQkJCQlicmVhazsKCQkJCQkJCWNhc2UgJ3ByZXYnOgoJCQkJCQkJY2FzZSAnbmV4dCc6CgkJCQkJCQkJdGhpcy52aWV3RGF0ZVsnc2V0JytEUEdsb2JhbC5tb2Rlc1t0aGlzLnZpZXdNb2RlXS5uYXZGbmNdLmNhbGwoCgkJCQkJCQkJCXRoaXMudmlld0RhdGUsCgkJCQkJCQkJCXRoaXMudmlld0RhdGVbJ2dldCcrRFBHbG9iYWwubW9kZXNbdGhpcy52aWV3TW9kZV0ubmF2Rm5jXS5jYWxsKHRoaXMudmlld0RhdGUpICsKCQkJCQkJCQkJRFBHbG9iYWwubW9kZXNbdGhpcy52aWV3TW9kZV0ubmF2U3RlcCAqICh0YXJnZXRbMF0uY2xhc3NOYW1lID09PSAncHJldicgPyAtMSA6IDEpCgkJCQkJCQkJKTsKCQkJCQkJCQl0aGlzLmZpbGwoKTsKCQkJCQkJCQl0aGlzLnNldCgpOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJ3NwYW4nOgoJCQkJCQlpZiAodGFyZ2V0LmlzKCcubW9udGgnKSkgewoJCQkJCQkJdmFyIG1vbnRoID0gdGFyZ2V0LnBhcmVudCgpLmZpbmQoJ3NwYW4nKS5pbmRleCh0YXJnZXQpOwoJCQkJCQkJdGhpcy52aWV3RGF0ZS5zZXRNb250aChtb250aCk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQl2YXIgeWVhciA9IHBhcnNlSW50KHRhcmdldC50ZXh0KCksIDEwKXx8MDsKCQkJCQkJCXRoaXMudmlld0RhdGUuc2V0RnVsbFllYXIoeWVhcik7CgkJCQkJCX0KCQkJCQkJaWYgKHRoaXMudmlld01vZGUgIT09IDApIHsKCQkJCQkJCXRoaXMuZGF0ZSA9IG5ldyBEYXRlKHRoaXMudmlld0RhdGUpOwoJCQkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoewoJCQkJCQkJCXR5cGU6ICdjaGFuZ2VEYXRlJywKCQkJCQkJCQlkYXRlOiB0aGlzLmRhdGUsCgkJCQkJCQkJdmlld01vZGU6IERQR2xvYmFsLm1vZGVzW3RoaXMudmlld01vZGVdLmNsc05hbWUKCQkJCQkJCX0pOwoJCQkJCQl9CgkJCQkJCXRoaXMuc2hvd01vZGUoLTEpOwoJCQkJCQl0aGlzLmZpbGwoKTsKCQkJCQkJdGhpcy5zZXQoKTsKCQkJCQkJYnJlYWs7CgkJCQkJY2FzZSAndGQnOgoJCQkJCQlpZiAodGFyZ2V0LmlzKCcuZGF5JykgJiYgIXRhcmdldC5pcygnLmRpc2FibGVkJykpewoJCQkJCQkJdmFyIGRheSA9IHBhcnNlSW50KHRhcmdldC50ZXh0KCksIDEwKXx8MTsKCQkJCQkJCXZhciBtb250aCA9IHRoaXMudmlld0RhdGUuZ2V0TW9udGgoKTsKCQkJCQkJCWlmICh0YXJnZXQuaXMoJy5vbGQnKSkgewoJCQkJCQkJCW1vbnRoIC09IDE7CgkJCQkJCQl9IGVsc2UgaWYgKHRhcmdldC5pcygnLm5ldycpKSB7CgkJCQkJCQkJbW9udGggKz0gMTsKCQkJCQkJCX0KCQkJCQkJCXZhciB5ZWFyID0gdGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpOwoJCQkJCQkJdGhpcy5kYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwwLDAsMCwwKTsKCQkJCQkJCXRoaXMudmlld0RhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgTWF0aC5taW4oMjgsIGRheSksMCwwLDAsMCk7CgkJCQkJCQl0aGlzLmZpbGwoKTsKCQkJCQkJCXRoaXMuc2V0KCk7CgkJCQkJCQl0aGlzLmVsZW1lbnQudHJpZ2dlcih7CgkJCQkJCQkJdHlwZTogJ2NoYW5nZURhdGUnLAoJCQkJCQkJCWRhdGU6IHRoaXMuZGF0ZSwKCQkJCQkJCQl2aWV3TW9kZTogRFBHbG9iYWwubW9kZXNbdGhpcy52aWV3TW9kZV0uY2xzTmFtZQoJCQkJCQkJfSk7CgkJCQkJCX0KCQkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9LAoKCQltb3VzZWRvd246IGZ1bmN0aW9uKGUpewoJCQllLnN0b3BQcm9wYWdhdGlvbigpOwoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJfSwKCgkJc2hvd01vZGU6IGZ1bmN0aW9uKGRpcikgewoJCQlpZiAoZGlyKSB7CgkJCQl0aGlzLnZpZXdNb2RlID0gTWF0aC5tYXgodGhpcy5taW5WaWV3TW9kZSwgTWF0aC5taW4oMiwgdGhpcy52aWV3TW9kZSArIGRpcikpOwoJCQl9CgkJCXRoaXMucGlja2VyLmZpbmQoJz5kaXYnKS5oaWRlKCkuZmlsdGVyKCcuZGF0ZXBpY2tlci0nK0RQR2xvYmFsLm1vZGVzW3RoaXMudmlld01vZGVdLmNsc05hbWUpLnNob3coKTsKCQl9Cgl9OwoKCSQuZm4uZGF0ZXBpY2tlciA9IGZ1bmN0aW9uICggb3B0aW9uLCB2YWwgKSB7CgkJcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7CgkJCXZhciAkdGhpcyA9ICQodGhpcyksCgkJCQlkYXRhID0gJHRoaXMuZGF0YSgnZGF0ZXBpY2tlcicpLAoJCQkJb3B0aW9ucyA9IHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmIG9wdGlvbjsKCQkJaWYgKCFkYXRhKSB7CgkJCQkkdGhpcy5kYXRhKCdkYXRlcGlja2VyJywgKGRhdGEgPSBuZXcgRGF0ZXBpY2tlcih0aGlzLCAkLmV4dGVuZCh7fSwgJC5mbi5kYXRlcGlja2VyLmRlZmF1bHRzLG9wdGlvbnMpKSkpOwoJCQl9CgkJCWlmICh0eXBlb2Ygb3B0aW9uID09PSAnc3RyaW5nJykgZGF0YVtvcHRpb25dKHZhbCk7CgkJfSk7Cgl9OwoKCSQuZm4uZGF0ZXBpY2tlci5kZWZhdWx0cyA9IHsKCQlvblJlbmRlcjogZnVuY3Rpb24oZGF0ZSkgewoJCQlyZXR1cm4gJyc7CgkJfQoJfTsKCSQuZm4uZGF0ZXBpY2tlci5Db25zdHJ1Y3RvciA9IERhdGVwaWNrZXI7CgoJdmFyIERQR2xvYmFsID0gewoJCW1vZGVzOiBbCgkJCXsKCQkJCWNsc05hbWU6ICdkYXlzJywKCQkJCW5hdkZuYzogJ01vbnRoJywKCQkJCW5hdlN0ZXA6IDEKCQkJfSwKCQkJewoJCQkJY2xzTmFtZTogJ21vbnRocycsCgkJCQluYXZGbmM6ICdGdWxsWWVhcicsCgkJCQluYXZTdGVwOiAxCgkJCX0sCgkJCXsKCQkJCWNsc05hbWU6ICd5ZWFycycsCgkJCQluYXZGbmM6ICdGdWxsWWVhcicsCgkJCQluYXZTdGVwOiAxMAoJCX1dLAoJCWRhdGVzOnsKCQkJZGF5czogWyJTdW5kYXkiLCAiTW9uZGF5IiwgIlR1ZXNkYXkiLCAiV2VkbmVzZGF5IiwgIlRodXJzZGF5IiwgIkZyaWRheSIsICJTYXR1cmRheSIsICJTdW5kYXkiXSwKCQkJZGF5c1Nob3J0OiBbIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCIsICJTdW4iXSwKCQkJZGF5c01pbjogWyJTVSIsICJNTyIsICJUVSIsICJXRSIsICJUSCIsICJGUiIsICJTQSIsICJTIl0sCgkJCW1vbnRoczogWyJKQU5VQVJZLiIsICJGRUJSVUFSWSIsICJNQVJUIiwgIkFQUklMIiwgIk1BWSIsICJKVU5FIiwgIkpVTFkiLCAiQVVHVVNUIiwgIlNFUFRFTUJFUiIsICJPQ1RPQkVSIiwgIk5PVkVNQkVSIiwgIkRFQ0VNQkVSIl0sCgkJCW1vbnRoc1Nob3J0OiBbIkphbnVhcnkiLCAiRmVicnVhcnkiLCAiTWFydCIsICJBcHJpbCIsICJNYXkiLCAiSnVuZSIsICJKdWx5IiwgIkF1Z3VzdCIsICJTZXB0ZW1iZXIiLCAiT2N0b2JlciIsICJOb3ZlbWJlciIsICJEZWNlbWJlciJdCgkJfSwKCQlpc0xlYXBZZWFyOiBmdW5jdGlvbiAoeWVhcikgewoJCQlyZXR1cm4gKCgoeWVhciAlIDQgPT09IDApICYmICh5ZWFyICUgMTAwICE9PSAwKSkgfHwgKHllYXIgJSA0MDAgPT09IDApKQoJCX0sCgkJZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uICh5ZWFyLCBtb250aCkgewoJCQlyZXR1cm4gWzMxLCAoRFBHbG9iYWwuaXNMZWFwWWVhcih5ZWFyKSA/IDI5IDogMjgpLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMV1bbW9udGhdCgkJfSwKCQlwYXJzZUZvcm1hdDogZnVuY3Rpb24oZm9ybWF0KXsKCQkJdmFyIHNlcGFyYXRvciA9IGZvcm1hdC5tYXRjaCgvWy5cL1wtXHNdLio/LyksCgkJCQlwYXJ0cyA9IGZvcm1hdC5zcGxpdCgvXFcrLyk7CgkJCWlmICghc2VwYXJhdG9yIHx8ICFwYXJ0cyB8fCBwYXJ0cy5sZW5ndGggPT09IDApewoJCQkJdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGRhdGUgZm9ybWF0LiIpOwoJCQl9CgkJCXJldHVybiB7c2VwYXJhdG9yOiBzZXBhcmF0b3IsIHBhcnRzOiBwYXJ0c307CgkJfSwKCQlwYXJzZURhdGU6IGZ1bmN0aW9uKGRhdGUsIGZvcm1hdCkgewoJCQl2YXIgcGFydHMgPSBkYXRlLnNwbGl0KGZvcm1hdC5zZXBhcmF0b3IpLAoJCQkJZGF0ZSA9IG5ldyBEYXRlKCksCgkJCQl2YWw7CgkJCWRhdGUuc2V0SG91cnMoMCk7CgkJCWRhdGUuc2V0TWludXRlcygwKTsKCQkJZGF0ZS5zZXRTZWNvbmRzKDApOwoJCQlkYXRlLnNldE1pbGxpc2Vjb25kcygwKTsKCQkJaWYgKHBhcnRzLmxlbmd0aCA9PT0gZm9ybWF0LnBhcnRzLmxlbmd0aCkgewoJCQkJdmFyIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksIGRheSA9IGRhdGUuZ2V0RGF0ZSgpLCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKTsKCQkJCWZvciAodmFyIGk9MCwgY250ID0gZm9ybWF0LnBhcnRzLmxlbmd0aDsgaSA8IGNudDsgaSsrKSB7CgkJCQkJdmFsID0gcGFyc2VJbnQocGFydHNbaV0sIDEwKXx8MTsKCQkJCQlzd2l0Y2goZm9ybWF0LnBhcnRzW2ldKSB7CgkJCQkJCWNhc2UgJ2RkJzoKCQkJCQkJY2FzZSAnZCc6CgkJCQkJCQlkYXkgPSB2YWw7CgkJCQkJCQlkYXRlLnNldERhdGUodmFsKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQljYXNlICdtbSc6CgkJCQkJCWNhc2UgJ20nOgoJCQkJCQkJbW9udGggPSB2YWwgLSAxOwoJCQkJCQkJZGF0ZS5zZXRNb250aCh2YWwgLSAxKTsKCQkJCQkJCWJyZWFrOwoJCQkJCQljYXNlICd5eSc6CgkJCQkJCQl5ZWFyID0gMjAwMCArIHZhbDsKCQkJCQkJCWRhdGUuc2V0RnVsbFllYXIoMjAwMCArIHZhbCk7CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSAneXl5eSc6CgkJCQkJCQl5ZWFyID0gdmFsOwoJCQkJCQkJZGF0ZS5zZXRGdWxsWWVhcih2YWwpOwoJCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQkJZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIDAgLDAgLDApOwoJCQl9CgkJCXJldHVybiBkYXRlOwoJCX0sCgkJZm9ybWF0RGF0ZTogZnVuY3Rpb24oZGF0ZSwgZm9ybWF0KXsKCQkJdmFyIHZhbCA9IHsKCQkJCWQ6IGRhdGUuZ2V0RGF0ZSgpLAoJCQkJbTogZGF0ZS5nZXRNb250aCgpICsgMSwKCQkJCXl5OiBkYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiksCgkJCQl5eXl5OiBkYXRlLmdldEZ1bGxZZWFyKCkKCQkJfTsKCQkJdmFsLmRkID0gKHZhbC5kIDwgMTAgPyAnMCcgOiAnJykgKyB2YWwuZDsKCQkJdmFsLm1tID0gKHZhbC5tIDwgMTAgPyAnMCcgOiAnJykgKyB2YWwubTsKCQkJdmFyIGRhdGUgPSBbXTsKCQkJZm9yICh2YXIgaT0wLCBjbnQgPSBmb3JtYXQucGFydHMubGVuZ3RoOyBpIDwgY250OyBpKyspIHsKCQkJCWRhdGUucHVzaCh2YWxbZm9ybWF0LnBhcnRzW2ldXSk7CgkJCX0KCQkJcmV0dXJuIGRhdGUuam9pbihmb3JtYXQuc2VwYXJhdG9yKTsKCQl9LAoJCWhlYWRUZW1wbGF0ZTogJzx0aGVhZD4nKwoJCQkJCQkJJzx0cj4nKwoJCQkJCQkJCSc8dGggY2xhc3M9InByZXYiPjxwPjxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLWFycm93LWxlZnQiPjx1c2UgeGxpbms6aHJlZj0ic3ZnLWljb25zL3Nwcml0ZXMvaWNvbnMuc3ZnI2ljb24tYXJyb3ctbGVmdCI+PC91c2U+PC9zdmc+PC9wPjwvdGg+JysKCQkJCQkJCQknPHRoIGNvbHNwYW49IjUiIGNsYXNzPSJzd2l0Y2gtZGF0ZXBpY2tlciI+PC90aD4nKwoJCQkJCQkJCSc8dGggY2xhc3M9Im5leHQiPjxwPjxzdmcgY2xhc3M9Indvb3gtaWNvbiBpY29uLWFycm93LXJpZ2h0Ij48dXNlIHhsaW5rOmhyZWY9InN2Zy1pY29ucy9zcHJpdGVzL2ljb25zLnN2ZyNpY29uLWFycm93LXJpZ2h0Ij48L3VzZT48L3N2Zz48L3A+PC90aD4nKwoJCQkJCQkJJzwvdHI+JysKCQkJCQkJJzwvdGhlYWQ+JywKCQljb250VGVtcGxhdGU6ICc8dGJvZHk+PHRyPjx0ZCBjb2xzcGFuPSI3Ij48L3RkPjwvdHI+PC90Ym9keT4nCgl9OwoKCURQR2xvYmFsLnRlbXBsYXRlID0gJzxkaXYgY2xhc3M9ImRhdGVwaWNrZXIgZHJvcGRvd24tbWVudSI+JysKCQkJCQkJCSc8ZGl2IGNsYXNzPSJkYXRlcGlja2VyLWRheXMiPicrCgkJCQkJCQkJJzx0YWJsZSBjbGFzcz0iIHRhYmxlLWNvbmRlbnNlZCI+JysKCQkJCQkJCQkJRFBHbG9iYWwuaGVhZFRlbXBsYXRlKwoJCQkJCQkJCQknPHRib2R5PjwvdGJvZHk+JysKCQkJCQkJCQknPC90YWJsZT4nKwoJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQknPGRpdiBjbGFzcz0iZGF0ZXBpY2tlci1tb250aHMiPicrCgkJCQkJCQkJJzx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nKwoJCQkJCQkJCQlEUEdsb2JhbC5oZWFkVGVtcGxhdGUrCgkJCQkJCQkJCURQR2xvYmFsLmNvbnRUZW1wbGF0ZSsKCQkJCQkJCQknPC90YWJsZT4nKwoJCQkJCQkJJzwvZGl2PicrCgkJCQkJCQknPGRpdiBjbGFzcz0iZGF0ZXBpY2tlci15ZWFycyI+JysKCQkJCQkJCQknPHRhYmxlIGNsYXNzPSJ0YWJsZS1jb25kZW5zZWQiPicrCgkJCQkJCQkJCURQR2xvYmFsLmhlYWRUZW1wbGF0ZSsKCQkJCQkJCQkJRFBHbG9iYWwuY29udFRlbXBsYXRlKwoJCQkJCQkJCSc8L3RhYmxlPicrCgkJCQkJCQknPC9kaXY+JysKCQkJCQkJJzwvZGl2Pic7Cgp9KCB3aW5kb3cualF1ZXJ5ICk7"}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":37,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.485Z","timestamp":1785139583485,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: gzip\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ncontent-length: 3340\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:10:10 GMT\r\nexpires: Fri, 23 Jul 2027 10:10:10 GMT\r\ncache-control: public, max-age=31536000\r\nage: 338173\r\nlast-modified: Wed, 20 Apr 2022 14:24:23 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":6225,"size_decoded":4178,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"2bd5c073a88b83ed74db88282a56ddfb","sha1":"d0ebfc376f8c6a44a8d4cd216817dcd7d0c33650","sha256":"ab5c23a05e39deed14d9d8262b0dce9f024f86105a27196cad37d14a3f516e09","sha512":"5c6c4a92e93fc0f6a675658cc84f6187fdebd3eee94efd07e24658736cba598f3bc7156b19834b13fb44c1d43fcb7df9fcca7f0a453037e30da76ba8f4b23b89","ssdeep":"96:+R2K3Z4n7tyVwip82hezk6227gLFoXhu1XuE20ot+pVY3YptWDzOzgXK3Zx:ql3KnxyGGMzb7noR20NTww33","tlshash":"c1d1e6f19309d815cd6a83d8cd9b8002aa1f25ddd50ac6cc7639fb3bd1a50eb1d2d7a4","first_seen":"2023-04-06T21:34:37Z","last_seen":"2026-08-12T17:51:36.656235Z","times_seen":79754,"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":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.800Z","timestamp":1785139582800,"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-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 08:06:22 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: cff5e12c280de04f6b99c4d5534aedf7\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-28T06:17:53.622022Z","times_seen":205,"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":68,"timings":{"blocked":-1,"dns":2,"connect":5,"send":0,"wait":4,"receive":-1,"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.152.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.638Z","timestamp":1785139583638,"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://nanoquantumstellarsledger.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-type: image/gif\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"static-on-bigtable\"\r\nreport-to: {\"group\":\"static-on-bigtable\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/static-on-bigtable\"}]}\r\ncontent-length: 43\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, no-store, must-revalidate\r\nlast-modified: Tue, 22 Oct 2019 18:30:00 GMT\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":43,"size_decoded":717,"mime_type":"image/gif","magic":"GIF image data, version 89a, 1 x 1","md5":"fc94fb0c3ed8a8f909dbc7630a0987ff","sha1":"56d45f8a17f5078a20af9962c992ca4678450765","sha256":"2dfe28cbdb83f01c940de6a88ab86200154fd772d568035ac568664e52068363","sha512":"c87bf81fd70cf6434ca3a6c05ad6e9bd3f1d96f77dddad8d45ee043b126b2cb07a5cf23b4137b9d8462cd8a9adf2b463ab6de2b38c93db72d2d511ca60e3b57e","ssdeep":"","tlshash":"cb900003cac8c022c2a2c0300a0c03002bbaa8300228030ec0bc30fcec2a3a38c02000","first_seen":"2023-04-05T02:54:04Z","last_seen":"2026-08-12T17:51:36.578609Z","times_seen":83212,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"time_used":45,"timings":{"blocked":-1,"dns":3,"connect":25,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.809Z","timestamp":1785139583809,"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-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 08:06:23 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: be5c5d02f4d0c2c710ea06136d85df4c\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-08-12T17:58:50.229645Z","times_seen":633,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.954Z","timestamp":1785139583954,"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-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 08:06:23 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: a1d4e8e3e0ca0e4d3648774ce7410263\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-08-12T05:10:43.261804Z","times_seen":276,"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}},{"url":{"schema":"https","addr":"s.tradingview.com/support/support-portal-problems/?language=in","fqdn":"s.tradingview.com","domain":"tradingview.com","tld":"com"},"ip":{"addr":"3.164.240.47","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.177Z","timestamp":1785139584177,"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=in 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=in\r\nx-language: in\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\nx-amz-cf-pop: ARN53-P2\r\ndate: Mon, 27 Jul 2026 08:06:24 GMT\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nlocation: https://www.tradingview.com/support/support-portal-problems/?language=in\r\nexpires: Mon, 27 Jul 2026 08:08:24 GMT\r\ncache-control: max-age=120\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\nx-cache: Miss from cloudfront\r\nalt-svc: h3=\":443\"; ma=86400\r\nvia: 1.1 41fc52a84466debf784d2dbdb0b64b36.cloudfront.net (CloudFront)\r\nx-amz-cf-id: I56IXyGhKGH4seJ62XgbDz0ew_5Hqt_W3AT6DlkpGbaKf0cgIo9vWw==\r\n\r\n","headers":null,"cookies":null,"status_code":"301","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":"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":"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":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-08-12T17:53:53.021164Z","times_seen":17858794,"resource_available":true,"data":null}},"time_used":181,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":181,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.328Z","timestamp":1785139584328,"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-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 08:06:24 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: d79ad23bcefcf690e3cdda851465a8cb\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-08-12T05:10:43.112145Z","times_seen":198,"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":"nanoquantumstellarsledger.com/frontcss/logo/qlogo.png","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.076Z","timestamp":1785139582076,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/logo/qlogo.png HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 08:06:22 GMT\r\ncontent-type: image/png\r\nlast-modified: Fri, 16 May 2025 07:24:15 GMT\r\naccept-ranges: bytes\r\ncontent-length: 8861\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8861,"size_decoded":9126,"mime_type":"image/png","magic":"PNG image data, 246 x 50, 8-bit/color RGBA, non-interlaced","md5":"c8a77d61379b0dab3bf96adaee81f782","sha1":"be982f3e0d38a048a3b18870667d0af12ddeb449","sha256":"ad250a6491da203842642b23c5cbdb086e4a6dec42a40c2e0582fa7e55ee8fbf","sha512":"e0e17538912a2bca2a5cfb7211ef64a49002d8998a506e48ef59b8eb2db7557afdc2841631f615d64709c632fafbe3c115dc798a0986caebd2c86f7670db1fc8","ssdeep":"192:VUii9oogKCfVJpI1f8uA/azr3M5wvz6/eBZhkVgSajxPFuL+Q9:VUl9oogKCfVrduA/kztvjss/vs","tlshash":"b202b06ee014a0ca14f2f9572c4152d49fc1458d85e8e4edec576f3d76078df710a2d9","first_seen":"2026-07-27T05:09:49.532023Z","last_seen":"2026-07-27T08:08:22.779876Z","times_seen":3,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAPYAAAAyCAYAAABvayZqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODFBM0NFOTkzMjI2MTFGMDk3NzhBOTk0REVCN0VFMjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODFBM0NFOTgzMjI2MTFGMDk3NzhBOTk0REVCN0VFMjIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGREJDRjVBRUFBNDYxMUVGOUVCQjk4QTk3MUM4RTk4NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGREJDRjVBRkFBNDYxMUVGOUVCQjk4QTk3MUM4RTk4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp1+EWoAAB8RSURBVHja7H0JXBRH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"}},"time_used":74,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":40,"receive":34,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.823Z","timestamp":1785139582823,"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-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 08:06:22 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: 12bd51b061f7b7db40b2f39e0c2045d8\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-28T07:05:00.665702Z","times_seen":1638,"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":22,"timings":{"blocked":14,"dns":0,"connect":0,"send":0,"wait":8,"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.868Z","timestamp":1785139583868,"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-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 08:06:23 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: 66964f123d91e538ea068f0bba7089ea\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-29T11:04:57.476864Z","times_seen":278,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.957Z","timestamp":1785139583957,"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-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 08:06:23 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: b609fc24dc5f5c09101061154a018b56\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-28T06:17:53.535764Z","times_seen":263,"resource_available":false,"data":"LmJ1dHRvbi1IZEtoY1R5ZXthbGw6dW5zZXQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6ZGVmYXVsdDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDYwbXMgZWFzZSxvcGFjaXR5IDYwbXMgZWFzZSxjb2xvciA2MG1zIGVhc2U7LS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLWJvcmRlci1yYWRpdXM6NnB4Oy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWxpZ2h0KSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWFjdGl2ZS1ob3Zlcix2YXIoLS1jb2xvci1jb250YWluZXItZmlsbC1wcmltYXJ5LW5ldXRyYWwtbm9ybWFsKSk7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dCx2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi10ZXh0KSl9LmJ1dHRvbi1IZEtoY1R5ZS5wcmVzc2VkLUhkS2hjVHlley0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yOnZhcigtLXR2LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQsdmFyKC0tY29sb3ItY29udGVudC1zZWNvbmRhcnktaW52ZXJzZSkpOy0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWJhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtYWN0aXZlLHZhcigtLWNvbG9yLWNvbnRhaW5lci1maWxsLXByaW1hcnktbmV1dHJhbC1leHRyYS1ib2xkKSk7LS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1hY3RpdmUtaG92ZXIsdmFyKC0tY29sb3ItY29udGFpbmVyLWZpbGwtcHJpbWFyeS1uZXV0cmFsLWJvbGQpKX0uYnV0dG9uLUhkS2hjVHllLmhvdmVyLUhkS2hjVHllLC5idXR0b24tSGRLaGNUeWU6YWN0aXZle2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllOmhvdmVye2NvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpfX0uYnV0dG9uLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZTphY3RpdmV7Y29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tdGV4dC1ob3ZlcikpKX0uYnV0dG9uLUhkS2hjVHllIHN2Z3tkaXNwbGF5OmJsb2NrOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHlle3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1ib3JkZXItcmFkaXVzLDJweCk7Ym90dG9tOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWJvdHRvbSx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4tcmlnaHQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLWxlZnQsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7b3V0bGluZTp2YXIoLS1jb2xvci10di1ibHVlLTUwMCkgbm9uZSAycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXRvcCx2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbiwycHgpKTt6LWluZGV4Oi0xfS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKTtjb250ZW50OiIifUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXsuYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWU6aG92ZXI6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn19LmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmNsaWNrZWQtSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1jbGlja2VkLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpKTtjb250ZW50OiIifS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5hY2Nlc3NpYmxlLUhkS2hjVHllOmZvY3VzLXZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IiI7b3V0bGluZS1zdHlsZTpzb2xpZH0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7LS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOnZhcigtLXR2LXRvb2wtd2lkZ2V0LWJ1dHRvbi1pbnRlcmFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcik7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmFjdGl2ZXtjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTpob3Zlcntjb2xvcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtaG92ZXItY29sb3IsdmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlLWhvdmVyKSkpOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1ob3Zlci1jb2xvcil9fS5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZS5ob3Zlci1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtZXhwYW5kZWQsdmFyKC0tY29sb3ItdG9vbGJhci1vcGVuZWQtZWxlbWVudC1iZykpO2JvcmRlci1yYWRpdXM6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1ib3JkZXItcmFkaXVzLDApO2JvdHRvbTp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTtpbnNldC1pbmxpbmUtc3RhcnQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3otaW5kZXg6LTF9QG1lZGlhIChhbnktaG92ZXI6aG92ZXIpey5idXR0b24tSGRLaGNUeWUuaXNJbnRlcmFjdGl2ZS1IZEtoY1R5ZS5pc09wZW5lZC1IZEtoY1R5ZTpob3ZlcjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWV4cGFuZGVkLHZhcigtLWNvbG9yLXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtYmcpKTtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItYm9yZGVyLXJhZGl1cywwKTtib3R0b206dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2luc2V0LWlubGluZS1lbmQ6dmFyKC0tdHYtdG9vbGJhci1vcGVuZWQtZWxlbWVudC1ob3Zlci1tYXJnaW4sMCk7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXR2LXRvb2xiYXItb3BlbmVkLWVsZW1lbnQtaG92ZXItbWFyZ2luLDApO3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLW9wZW5lZC1lbGVtZW50LWhvdmVyLW1hcmdpbiwwKTt6LWluZGV4Oi0xfX0uYnV0dG9uLUhkS2hjVHllLmlzSW50ZXJhY3RpdmUtSGRLaGNUeWUuaXNPcGVuZWQtSGRLaGNUeWUuY2xpY2tlZC1IZEtoY1R5ZTpiZWZvcmUsLmJ1dHRvbi1IZEtoY1R5ZS5pc0ludGVyYWN0aXZlLUhkS2hjVHllLmlzT3BlbmVkLUhkS2hjVHllOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNsaWNrZWQsdmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1leHBhbmRlZCx2YXIoLS1jb2xvci10b29sYmFyLW9wZW5lZC1lbGVtZW50LWJnKSkpO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9ja30uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWV7b3BhY2l0eTouNX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWV7Y29sb3I6dmFyKC0tdHYtdG9vbC13aWRnZXQtYnV0dG9uLWludGVyYWN0aXZlLWNvbG9yLHZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLXRleHQtYWN0aXZlKSk7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowOy0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcjp2YXIoLS10di10b29sLXdpZGdldC1idXR0b24taW50ZXJhY3RpdmUtYmFja2dyb3VuZC1jb2xvcil9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtib3JkZXItcmFkaXVzOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItYm9yZGVyLXJhZGl1cywycHgpO2JvdHRvbTp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1ib3R0b20sdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ZGlzcGxheTpibG9jaztpbnNldC1pbmxpbmUtZW5kOnZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLXJpZ2h0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO2luc2V0LWlubGluZS1zdGFydDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi1sZWZ0LHZhcigtLXR2LXRvb2xiYXItZXhwbGljaXQtaG92ZXItbWFyZ2luLDJweCkpO291dGxpbmU6dmFyKC0tY29sb3ItdHYtYmx1ZS01MDApIG5vbmUgMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDp2YXIoLS10di10b29sYmFyLWV4cGxpY2l0LWhvdmVyLW1hcmdpbi10b3AsdmFyKC0tdHYtdG9vbGJhci1leHBsaWNpdC1ob3Zlci1tYXJnaW4sMnB4KSk7ei1pbmRleDotMX0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuaG92ZXItSGRLaGNUeWU6YmVmb3JlLC5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZTphY3RpdmU6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3Zlcix2YXIoLS1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyKSk7Y29udGVudDoiIn1AbWVkaWEgKGFueS1ob3Zlcjpob3Zlcil7LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsdmFyKC0tY29sb3ItdG9vbGJhci1idXR0b24tYmFja2dyb3VuZC1ob3ZlcikpO2NvbnRlbnQ6IiJ9fS5idXR0b24tSGRLaGNUeWUuaXNEaXNhYmxlZC1IZEtoY1R5ZS5pc0FjdGl2ZS1IZEtoY1R5ZS5jbGlja2VkLUhkS2hjVHllOmJlZm9yZSwuYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWU6YWN0aXZlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtY2xpY2tlZCx2YXIoLS10di1jb2xvci10b29sYmFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLHZhcigtLWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpKSk7Y29udGVudDoiIn0uYnV0dG9uLUhkS2hjVHllLmlzRGlzYWJsZWQtSGRLaGNUeWUuaXNBY3RpdmUtSGRLaGNUeWUuYWNjZXNzaWJsZS1IZEtoY1R5ZTpmb2N1cy12aXNpYmxlOmJlZm9yZXtjb250ZW50OiIiO291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1IZEtoY1R5ZS5pc0Rpc2FibGVkLUhkS2hjVHllLmlzQWN0aXZlLUhkS2hjVHllOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR2LWNvbG9yLXRvb2xiYXItYnV0dG9uLWJhY2tncm91bmQtaG92ZXIpO2NvbnRlbnQ6IiJ9LmVuZEljb24tSGRLaGNUeWUsLmljb24tSGRLaGNUeWUrLnRleHQtSGRLaGNUeWUsLnRleHQtSGRLaGNUeWUrLmljb24tSGRLaGNUeWV7bWFyZ2luLWlubGluZS1zdGFydDo0cHh9LmVuZEljb24tSGRLaGNUeWV7ZGlzcGxheTpmbGV4fQ=="}},"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":"nanoquantumstellarsledger.com/frontcss/assets/smooth-scroll.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.043Z","timestamp":1785139582043,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/smooth-scroll.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 5113\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":18191,"size_decoded":5350,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"78ae5a56a0139cdca5ded9b65900bdf4","sha1":"96a584f75d8a99ef0b6f771d059aacd25e355078","sha256":"ff8518690350443b4681ebdbbd8b9502e97d1171de6d30ba3ff0d38e8e04d1c5","sha512":"e4833e1be5106265c10540e671b67b81c88fbae8affe940214f10d444e0d697eeca42c7031c2d9d8cba0dbdf53ae4ee7f9164ecb37a0c77e158afca21aa4bdb1","ssdeep":"384:jlMWU55skI86H903JalauDlSqYlp5Ql0VyLO6jsDRKH1YOjMBGF5yOYmldU2hpKR:Of5v0AAjy2hE","tlshash":"c882ead6a79c7136839b316ec44e63c8f33c80b6614c186a6c5edd6d348187893f6d6b","first_seen":"2025-11-23T04:10:48.029859Z","last_seen":"2026-07-27T09:11:27.393986Z","times_seen":7,"resource_available":true,"data":"LyohCiAqIHNtb290aC1zY3JvbGwgdjEwLjAuMTogQW5pbWF0ZSBzY3JvbGxpbmcgdG8gYW5jaG9yIGxpbmtzCiAqIChjKSAyMDE2IENocmlzIEZlcmRpbmFuZGkKICogTUlUIExpY2Vuc2UKICogaHR0cDovL2dpdGh1Yi5jb20vY2ZlcmRpbmFuZGkvc21vb3RoLXNjcm9sbAogKi8KCihmdW5jdGlvbiAocm9vdCwgZmFjdG9yeSkgewoJaWYgKCB0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQgKSB7CgkJZGVmaW5lKFtdLCBmYWN0b3J5KHJvb3QpKTsKCX0gZWxzZSBpZiAoIHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyApIHsKCQltb2R1bGUuZXhwb3J0cyA9IGZhY3Rvcnkocm9vdCk7Cgl9IGVsc2UgewoJCXJvb3Quc21vb3RoU2Nyb2xsID0gZmFjdG9yeShyb290KTsKCX0KfSkodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0aGlzLndpbmRvdyB8fCB0aGlzLmdsb2JhbCwgZnVuY3Rpb24gKHJvb3QpIHsKCgkndXNlIHN0cmljdCc7CgoJLy8KCS8vIFZhcmlhYmxlcwoJLy8KCgl2YXIgc21vb3RoU2Nyb2xsID0ge307IC8vIE9iamVjdCBmb3IgcHVibGljIEFQSXMKCXZhciBzdXBwb3J0cyA9ICdxdWVyeVNlbGVjdG9yJyBpbiBkb2N1bWVudCAmJiAnYWRkRXZlbnRMaXN0ZW5lcicgaW4gcm9vdDsgLy8gRmVhdHVyZSB0ZXN0Cgl2YXIgc2V0dGluZ3MsIGFuY2hvciwgdG9nZ2xlLCBmaXhlZEhlYWRlciwgaGVhZGVySGVpZ2h0LCBldmVudFRpbWVvdXQsIGFuaW1hdGlvbkludGVydmFsOwoKCS8vIERlZmF1bHQgc2V0dGluZ3MKCXZhciBkZWZhdWx0cyA9IHsKCQlzZWxlY3RvcjogJ1tkYXRhLXNjcm9sbF0nLAoJCXNlbGVjdG9ySGVhZGVyOiBudWxsLAoJCXNwZWVkOiA1MDAsCgkJZWFzaW5nOiAnZWFzZUluT3V0Q3ViaWMnLAoJCW9mZnNldDogMCwKCQljYWxsYmFjazogZnVuY3Rpb24gKCkge30KCX07CgoKCS8vCgkvLyBNZXRob2RzCgkvLwoKCS8qKgoJICogTWVyZ2UgdHdvIG9yIG1vcmUgb2JqZWN0cy4gUmV0dXJucyBhIG5ldyBvYmplY3QuCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtIHtCb29sZWFufSAgZGVlcCAgICAgSWYgdHJ1ZSwgZG8gYSBkZWVwIChvciByZWN1cnNpdmUpIG1lcmdlIFtvcHRpb25hbF0KCSAqIEBwYXJhbSB7T2JqZWN0fSAgIG9iamVjdHMgIFRoZSBvYmplY3RzIHRvIG1lcmdlIHRvZ2V0aGVyCgkgKiBAcmV0dXJucyB7T2JqZWN0fSAgICAgICAgICBNZXJnZWQgdmFsdWVzIG9mIGRlZmF1bHRzIGFuZCBvcHRpb25zCgkgKi8KCXZhciBleHRlbmQgPSBmdW5jdGlvbiAoKSB7CgoJCS8vIFZhcmlhYmxlcwoJCXZhciBleHRlbmRlZCA9IHt9OwoJCXZhciBkZWVwID0gZmFsc2U7CgkJdmFyIGkgPSAwOwoJCXZhciBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoOwoKCQkvLyBDaGVjayBpZiBhIGRlZXAgbWVyZ2UKCQlpZiAoIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggYXJndW1lbnRzWzBdICkgPT09ICdbb2JqZWN0IEJvb2xlYW5dJyApIHsKCQkJZGVlcCA9IGFyZ3VtZW50c1swXTsKCQkJaSsrOwoJCX0KCgkJLy8gTWVyZ2UgdGhlIG9iamVjdCBpbnRvIHRoZSBleHRlbmRlZCBvYmplY3QKCQl2YXIgbWVyZ2UgPSBmdW5jdGlvbiAob2JqKSB7CgkJCWZvciAoIHZhciBwcm9wIGluIG9iaiApIHsKCQkJCWlmICggT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKCBvYmosIHByb3AgKSApIHsKCQkJCQkvLyBJZiBkZWVwIG1lcmdlIGFuZCBwcm9wZXJ0eSBpcyBhbiBvYmplY3QsIG1lcmdlIHByb3BlcnRpZXMKCQkJCQlpZiAoIGRlZXAgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9ialtwcm9wXSkgPT09ICdbb2JqZWN0IE9iamVjdF0nICkgewoJCQkJCQlleHRlbmRlZFtwcm9wXSA9IGV4dGVuZCggdHJ1ZSwgZXh0ZW5kZWRbcHJvcF0sIG9ialtwcm9wXSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCWV4dGVuZGVkW3Byb3BdID0gb2JqW3Byb3BdOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX07CgoJCS8vIExvb3AgdGhyb3VnaCBlYWNoIG9iamVjdCBhbmQgY29uZHVjdCBhIG1lcmdlCgkJZm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7CgkJCXZhciBvYmogPSBhcmd1bWVudHNbaV07CgkJCW1lcmdlKG9iaik7CgkJfQoKCQlyZXR1cm4gZXh0ZW5kZWQ7CgoJfTsKCgkvKioKCSAqIEdldCB0aGUgaGVpZ2h0IG9mIGFuIGVsZW1lbnQuCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtICB7Tm9kZX0gZWxlbSBUaGUgZWxlbWVudCB0byBnZXQgdGhlIGhlaWdodCBvZgoJICogQHJldHVybiB7TnVtYmVyfSAgICBUaGUgZWxlbWVudCdzIGhlaWdodCBpbiBwaXhlbHMKCSAqLwoJdmFyIGdldEhlaWdodCA9IGZ1bmN0aW9uICggZWxlbSApIHsKCQlyZXR1cm4gTWF0aC5tYXgoIGVsZW0uc2Nyb2xsSGVpZ2h0LCBlbGVtLm9mZnNldEhlaWdodCwgZWxlbS5jbGllbnRIZWlnaHQgKTsKCX07CgoJLyoqCgkgKiBHZXQgdGhlIGNsb3Nlc3QgbWF0Y2hpbmcgZWxlbWVudCB1cCB0aGUgRE9NIHRyZWUuCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtICB7RWxlbWVudH0gZWxlbSAgICAgU3RhcnRpbmcgZWxlbWVudAoJICogQHBhcmFtICB7U3RyaW5nfSAgc2VsZWN0b3IgU2VsZWN0b3IgdG8gbWF0Y2ggYWdhaW5zdCAoY2xhc3MsIElELCBkYXRhIGF0dHJpYnV0ZSwgb3IgdGFnKQoJICogQHJldHVybiB7Qm9vbGVhbnxFbGVtZW50fSAgUmV0dXJucyBudWxsIGlmIG5vdCBtYXRjaCBmb3VuZAoJICovCgl2YXIgZ2V0Q2xvc2VzdCA9IGZ1bmN0aW9uICggZWxlbSwgc2VsZWN0b3IgKSB7CgoJCS8vIFZhcmlhYmxlcwoJCXZhciBmaXJzdENoYXIgPSBzZWxlY3Rvci5jaGFyQXQoMCk7CgkJdmFyIHN1cHBvcnRzID0gJ2NsYXNzTGlzdCcgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwoJCXZhciBhdHRyaWJ1dGUsIHZhbHVlOwoKCQkvLyBJZiBzZWxlY3RvciBpcyBhIGRhdGEgYXR0cmlidXRlLCBzcGxpdCBhdHRyaWJ1dGUgZnJvbSB2YWx1ZQoJCWlmICggZmlyc3RDaGFyID09PSAnWycgKSB7CgkJCXNlbGVjdG9yID0gc2VsZWN0b3Iuc3Vic3RyKDEsIHNlbGVjdG9yLmxlbmd0aCAtIDIpOwoJCQlhdHRyaWJ1dGUgPSBzZWxlY3Rvci5zcGxpdCggJz0nICk7CgoJCQlpZiAoIGF0dHJpYnV0ZS5sZW5ndGggPiAxICkgewoJCQkJdmFsdWUgPSB0cnVlOwoJCQkJYXR0cmlidXRlWzFdID0gYXR0cmlidXRlWzFdLnJlcGxhY2UoIC8iL2csICcnICkucmVwbGFjZSggLycvZywgJycgKTsKCQkJfQoJCX0KCgkJLy8gR2V0IGNsb3Nlc3QgbWF0Y2gKCQlmb3IgKCA7IGVsZW0gJiYgZWxlbSAhPT0gZG9jdW1lbnQgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMTsgZWxlbSA9IGVsZW0ucGFyZW50Tm9kZSApIHsKCgkJCS8vIElmIHNlbGVjdG9yIGlzIGEgY2xhc3MKCQkJaWYgKCBmaXJzdENoYXIgPT09ICcuJyApIHsKCQkJCWlmICggc3VwcG9ydHMgKSB7CgkJCQkJaWYgKCBlbGVtLmNsYXNzTGlzdC5jb250YWlucyggc2VsZWN0b3Iuc3Vic3RyKDEpICkgKSB7CgkJCQkJCXJldHVybiBlbGVtOwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJaWYgKCBuZXcgUmVnRXhwKCcoXnxcXHMpJyArIHNlbGVjdG9yLnN1YnN0cigxKSArICcoXFxzfCQpJykudGVzdCggZWxlbS5jbGFzc05hbWUgKSApIHsKCQkJCQkJcmV0dXJuIGVsZW07CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQkvLyBJZiBzZWxlY3RvciBpcyBhbiBJRAoJCQlpZiAoIGZpcnN0Q2hhciA9PT0gJyMnICkgewoJCQkJaWYgKCBlbGVtLmlkID09PSBzZWxlY3Rvci5zdWJzdHIoMSkgKSB7CgkJCQkJcmV0dXJuIGVsZW07CgkJCQl9CgkJCX0KCgkJCS8vIElmIHNlbGVjdG9yIGlzIGEgZGF0YSBhdHRyaWJ1dGUKCQkJaWYgKCBmaXJzdENoYXIgPT09ICdbJyApIHsKCQkJCWlmICggZWxlbS5oYXNBdHRyaWJ1dGUoIGF0dHJpYnV0ZVswXSApICkgewoJCQkJCWlmICggdmFsdWUgKSB7CgkJCQkJCWlmICggZWxlbS5nZXRBdHRyaWJ1dGUoIGF0dHJpYnV0ZVswXSApID09PSBhdHRyaWJ1dGVbMV0gKSB7CgkJCQkJCQlyZXR1cm4gZWxlbTsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgkJCQkJCXJldHVybiBlbGVtOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJLy8gSWYgc2VsZWN0b3IgaXMgYSB0YWcKCQkJaWYgKCBlbGVtLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VsZWN0b3IgKSB7CgkJCQlyZXR1cm4gZWxlbTsKCQkJfQoKCQl9CgoJCXJldHVybiBudWxsOwoKCX07CgoJLyoqCgkgKiBFc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGZvciB1c2Ugd2l0aCBxdWVyeVNlbGVjdG9yCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtIHtTdHJpbmd9IGlkIFRoZSBhbmNob3IgSUQgdG8gZXNjYXBlCgkgKiBAYXV0aG9yIE1hdGhpYXMgQnluZW5zCgkgKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWF0aGlhc2J5bmVucy9DU1MuZXNjYXBlCgkgKi8KCXZhciBlc2NhcGVDaGFyYWN0ZXJzID0gZnVuY3Rpb24gKCBpZCApIHsKCgkJLy8gUmVtb3ZlIGxlYWRpbmcgaGFzaAoJCWlmICggaWQuY2hhckF0KDApID09PSAnIycgKSB7CgkJCWlkID0gaWQuc3Vic3RyKDEpOwoJCX0KCgkJdmFyIHN0cmluZyA9IFN0cmluZyhpZCk7CgkJdmFyIGxlbmd0aCA9IHN0cmluZy5sZW5ndGg7CgkJdmFyIGluZGV4ID0gLTE7CgkJdmFyIGNvZGVVbml0OwoJCXZhciByZXN1bHQgPSAnJzsKCQl2YXIgZmlyc3RDb2RlVW5pdCA9IHN0cmluZy5jaGFyQ29kZUF0KDApOwoJCXdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7CgkJCWNvZGVVbml0ID0gc3RyaW5nLmNoYXJDb2RlQXQoaW5kZXgpOwoJCQkvLyBOb3RlOiB0aGVyZcOi4oKs4oSicyBubyBuZWVkIHRvIHNwZWNpYWwtY2FzZSBhc3RyYWwgc3ltYm9scywgc3Vycm9nYXRlCgkJCS8vIHBhaXJzLCBvciBsb25lIHN1cnJvZ2F0ZXMuCgoJCQkvLyBJZiB0aGUgY2hhcmFjdGVyIGlzIE5VTEwgKFUrMDAwMCksIHRoZW4gdGhyb3cgYW4KCQkJLy8gYEludmFsaWRDaGFyYWN0ZXJFcnJvcmAgZXhjZXB0aW9uIGFuZCB0ZXJtaW5hdGUgdGhlc2Ugc3RlcHMuCgkJCWlmIChjb2RlVW5pdCA9PT0gMHgwMDAwKSB7CgkJCQl0aHJvdyBuZXcgSW52YWxpZENoYXJhY3RlckVycm9yKAoJCQkJCSdJbnZhbGlkIGNoYXJhY3RlcjogdGhlIGlucHV0IGNvbnRhaW5zIFUrMDAwMC4nCgkJCQkpOwoJCQl9CgoJCQlpZiAoCgkJCQkvLyBJZiB0aGUgY2hhcmFjdGVyIGlzIGluIHRoZSByYW5nZSBbXDEtXDFGXSAoVSswMDAxIHRvIFUrMDAxRikgb3IgaXMKCQkJCS8vIFUrMDA3RiwgW8Oi4oKswqZdCgkJCQkoY29kZVVuaXQgPj0gMHgwMDAxICYmIGNvZGVVbml0IDw9IDB4MDAxRikgfHwgY29kZVVuaXQgPT0gMHgwMDdGIHx8CgkJCQkvLyBJZiB0aGUgY2hhcmFjdGVyIGlzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgYW5kIGlzIGluIHRoZSByYW5nZSBbMC05XQoJCQkJLy8gKFUrMDAzMCB0byBVKzAwMzkpLCBbw6LigqzCpl0KCQkJCShpbmRleCA9PT0gMCAmJiBjb2RlVW5pdCA+PSAweDAwMzAgJiYgY29kZVVuaXQgPD0gMHgwMDM5KSB8fAoJCQkJLy8gSWYgdGhlIGNoYXJhY3RlciBpcyB0aGUgc2Vjb25kIGNoYXJhY3RlciBhbmQgaXMgaW4gdGhlIHJhbmdlIFswLTldCgkJCQkvLyAoVSswMDMwIHRvIFUrMDAzOSkgYW5kIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgYSBgLWAgKFUrMDAyRCksIFvDouKCrMKmXQoJCQkJKAoJCQkJCWluZGV4ID09PSAxICYmCgkJCQkJY29kZVVuaXQgPj0gMHgwMDMwICYmIGNvZGVVbml0IDw9IDB4MDAzOSAmJgoJCQkJCWZpcnN0Q29kZVVuaXQgPT09IDB4MDAyRAoJCQkJKQoJCQkpIHsKCQkJCS8vIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLyNlc2NhcGUtYS1jaGFyYWN0ZXItYXMtY29kZS1wb2ludAoJCQkJcmVzdWx0ICs9ICdcXCcgKyBjb2RlVW5pdC50b1N0cmluZygxNikgKyAnICc7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJLy8gSWYgdGhlIGNoYXJhY3RlciBpcyBub3QgaGFuZGxlZCBieSBvbmUgb2YgdGhlIGFib3ZlIHJ1bGVzIGFuZCBpcwoJCQkvLyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gVSswMDgwLCBpcyBgLWAgKFUrMDAyRCkgb3IgYF9gIChVKzAwNUYpLCBvcgoJCQkvLyBpcyBpbiBvbmUgb2YgdGhlIHJhbmdlcyBbMC05XSAoVSswMDMwIHRvIFUrMDAzOSksIFtBLVpdIChVKzAwNDEgdG8KCQkJLy8gVSswMDVBKSwgb3IgW2Etel0gKFUrMDA2MSB0byBVKzAwN0EpLCBbw6LigqzCpl0KCQkJaWYgKAoJCQkJY29kZVVuaXQgPj0gMHgwMDgwIHx8CgkJCQljb2RlVW5pdCA9PT0gMHgwMDJEIHx8CgkJCQljb2RlVW5pdCA9PT0gMHgwMDVGIHx8CgkJCQljb2RlVW5pdCA+PSAweDAwMzAgJiYgY29kZVVuaXQgPD0gMHgwMDM5IHx8CgkJCQljb2RlVW5pdCA+PSAweDAwNDEgJiYgY29kZVVuaXQgPD0gMHgwMDVBIHx8CgkJCQljb2RlVW5pdCA+PSAweDAwNjEgJiYgY29kZVVuaXQgPD0gMHgwMDdBCgkJCSkgewoJCQkJLy8gdGhlIGNoYXJhY3RlciBpdHNlbGYKCQkJCXJlc3VsdCArPSBzdHJpbmcuY2hhckF0KGluZGV4KTsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQkvLyBPdGhlcndpc2UsIHRoZSBlc2NhcGVkIGNoYXJhY3Rlci4KCQkJLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nzb20vI2VzY2FwZS1hLWNoYXJhY3RlcgoJCQlyZXN1bHQgKz0gJ1xcJyArIHN0cmluZy5jaGFyQXQoaW5kZXgpOwoKCQl9CgoJCXJldHVybiAnIycgKyByZXN1bHQ7CgoJfTsKCgkvKioKCSAqIENhbGN1bGF0ZSB0aGUgZWFzaW5nIHBhdHRlcm4KCSAqIEBwcml2YXRlCgkgKiBAbGluayBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9ncmUvMTY1MDI5NAoJICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgRWFzaW5nIHBhdHRlcm4KCSAqIEBwYXJhbSB7TnVtYmVyfSB0aW1lIFRpbWUgYW5pbWF0aW9uIHNob3VsZCB0YWtlIHRvIGNvbXBsZXRlCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCgl2YXIgZWFzaW5nUGF0dGVybiA9IGZ1bmN0aW9uICggdHlwZSwgdGltZSApIHsKCQl2YXIgcGF0dGVybjsKCQlpZiAoIHR5cGUgPT09ICdlYXNlSW5RdWFkJyApIHBhdHRlcm4gPSB0aW1lICogdGltZTsgLy8gYWNjZWxlcmF0aW5nIGZyb20gemVybyB2ZWxvY2l0eQoJCWlmICggdHlwZSA9PT0gJ2Vhc2VPdXRRdWFkJyApIHBhdHRlcm4gPSB0aW1lICogKDIgLSB0aW1lKTsgLy8gZGVjZWxlcmF0aW5nIHRvIHplcm8gdmVsb2NpdHkKCQlpZiAoIHR5cGUgPT09ICdlYXNlSW5PdXRRdWFkJyApIHBhdHRlcm4gPSB0aW1lIDwgMC41ID8gMiAqIHRpbWUgKiB0aW1lIDogLTEgKyAoNCAtIDIgKiB0aW1lKSAqIHRpbWU7IC8vIGFjY2VsZXJhdGlvbiB1bnRpbCBoYWxmd2F5LCB0aGVuIGRlY2VsZXJhdGlvbgoJCWlmICggdHlwZSA9PT0gJ2Vhc2VJbkN1YmljJyApIHBhdHRlcm4gPSB0aW1lICogdGltZSAqIHRpbWU7IC8vIGFjY2VsZXJhdGluZyBmcm9tIHplcm8gdmVsb2NpdHkKCQlpZiAoIHR5cGUgPT09ICdlYXNlT3V0Q3ViaWMnICkgcGF0dGVybiA9ICgtLXRpbWUpICogdGltZSAqIHRpbWUgKyAxOyAvLyBkZWNlbGVyYXRpbmcgdG8gemVybyB2ZWxvY2l0eQoJCWlmICggdHlwZSA9PT0gJ2Vhc2VJbk91dEN1YmljJyApIHBhdHRlcm4gPSB0aW1lIDwgMC41ID8gNCAqIHRpbWUgKiB0aW1lICogdGltZSA6ICh0aW1lIC0gMSkgKiAoMiAqIHRpbWUgLSAyKSAqICgyICogdGltZSAtIDIpICsgMTsgLy8gYWNjZWxlcmF0aW9uIHVudGlsIGhhbGZ3YXksIHRoZW4gZGVjZWxlcmF0aW9uCgkJaWYgKCB0eXBlID09PSAnZWFzZUluUXVhcnQnICkgcGF0dGVybiA9IHRpbWUgKiB0aW1lICogdGltZSAqIHRpbWU7IC8vIGFjY2VsZXJhdGluZyBmcm9tIHplcm8gdmVsb2NpdHkKCQlpZiAoIHR5cGUgPT09ICdlYXNlT3V0UXVhcnQnICkgcGF0dGVybiA9IDEgLSAoLS10aW1lKSAqIHRpbWUgKiB0aW1lICogdGltZTsgLy8gZGVjZWxlcmF0aW5nIHRvIHplcm8gdmVsb2NpdHkKCQlpZiAoIHR5cGUgPT09ICdlYXNlSW5PdXRRdWFydCcgKSBwYXR0ZXJuID0gdGltZSA8IDAuNSA/IDggKiB0aW1lICogdGltZSAqIHRpbWUgKiB0aW1lIDogMSAtIDggKiAoLS10aW1lKSAqIHRpbWUgKiB0aW1lICogdGltZTsgLy8gYWNjZWxlcmF0aW9uIHVudGlsIGhhbGZ3YXksIHRoZW4gZGVjZWxlcmF0aW9uCgkJaWYgKCB0eXBlID09PSAnZWFzZUluUXVpbnQnICkgcGF0dGVybiA9IHRpbWUgKiB0aW1lICogdGltZSAqIHRpbWUgKiB0aW1lOyAvLyBhY2NlbGVyYXRpbmcgZnJvbSB6ZXJvIHZlbG9jaXR5CgkJaWYgKCB0eXBlID09PSAnZWFzZU91dFF1aW50JyApIHBhdHRlcm4gPSAxICsgKC0tdGltZSkgKiB0aW1lICogdGltZSAqIHRpbWUgKiB0aW1lOyAvLyBkZWNlbGVyYXRpbmcgdG8gemVybyB2ZWxvY2l0eQoJCWlmICggdHlwZSA9PT0gJ2Vhc2VJbk91dFF1aW50JyApIHBhdHRlcm4gPSB0aW1lIDwgMC41ID8gMTYgKiB0aW1lICogdGltZSAqIHRpbWUgKiB0aW1lICogdGltZSA6IDEgKyAxNiAqICgtLXRpbWUpICogdGltZSAqIHRpbWUgKiB0aW1lICogdGltZTsgLy8gYWNjZWxlcmF0aW9uIHVudGlsIGhhbGZ3YXksIHRoZW4gZGVjZWxlcmF0aW9uCgkJcmV0dXJuIHBhdHRlcm4gfHwgdGltZTsgLy8gbm8gZWFzaW5nLCBubyBhY2NlbGVyYXRpb24KCX07CgoJLyoqCgkgKiBDYWxjdWxhdGUgaG93IGZhciB0byBzY3JvbGwKCSAqIEBwcml2YXRlCgkgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hvciBUaGUgYW5jaG9yIGVsZW1lbnQgdG8gc2Nyb2xsIHRvCgkgKiBAcGFyYW0ge051bWJlcn0gaGVhZGVySGVpZ2h0IEhlaWdodCBvZiBhIGZpeGVkIGhlYWRlciwgaWYgYW55CgkgKiBAcGFyYW0ge051bWJlcn0gb2Zmc2V0IE51bWJlciBvZiBwaXhlbHMgYnkgd2hpY2ggdG8gb2Zmc2V0IHNjcm9sbAoJICogQHJldHVybnMge051bWJlcn0KCSAqLwoJdmFyIGdldEVuZExvY2F0aW9uID0gZnVuY3Rpb24gKCBhbmNob3IsIGhlYWRlckhlaWdodCwgb2Zmc2V0ICkgewoJCXZhciBsb2NhdGlvbiA9IDA7CgkJaWYgKGFuY2hvci5vZmZzZXRQYXJlbnQpIHsKCQkJZG8gewoJCQkJbG9jYXRpb24gKz0gYW5jaG9yLm9mZnNldFRvcDsKCQkJCWFuY2hvciA9IGFuY2hvci5vZmZzZXRQYXJlbnQ7CgkJCX0gd2hpbGUgKGFuY2hvcik7CgkJfQoJCWxvY2F0aW9uID0gTWF0aC5tYXgobG9jYXRpb24gLSBoZWFkZXJIZWlnaHQgLSBvZmZzZXQsIDApOwoJCXJldHVybiBNYXRoLm1pbihsb2NhdGlvbiwgZ2V0RG9jdW1lbnRIZWlnaHQoKSAtIGdldFZpZXdwb3J0SGVpZ2h0KCkpOwoJfTsKCgkvKioKCSAqIERldGVybWluZSB0aGUgdmlld3BvcnQncyBoZWlnaHQKCSAqIEBwcml2YXRlCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCgl2YXIgZ2V0Vmlld3BvcnRIZWlnaHQgPSBmdW5jdGlvbigpIHsKCQlyZXR1cm4gTWF0aC5tYXgoIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsIHJvb3QuaW5uZXJIZWlnaHQgfHwgMCApOwoJfTsKCgkvKioKCSAqIERldGVybWluZSB0aGUgZG9jdW1lbnQncyBoZWlnaHQKCSAqIEBwcml2YXRlCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCgl2YXIgZ2V0RG9jdW1lbnRIZWlnaHQgPSBmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIE1hdGgubWF4KAoJCQlkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCwKCQkJZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRIZWlnaHQsCgkJCWRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0CgkJKTsKCX07CgoJLyoqCgkgKiBDb252ZXJ0IGRhdGEtb3B0aW9ucyBhdHRyaWJ1dGUgaW50byBhbiBvYmplY3Qgb2Yga2V5L3ZhbHVlIHBhaXJzCgkgKiBAcHJpdmF0ZQoJICogQHBhcmFtIHtTdHJpbmd9IG9wdGlvbnMgTGluay1zcGVjaWZpYyBvcHRpb25zIGFzIGEgZGF0YSBhdHRyaWJ1dGUgc3RyaW5nCgkgKiBAcmV0dXJucyB7T2JqZWN0fQoJICovCgl2YXIgZ2V0RGF0YU9wdGlvbnMgPSBmdW5jdGlvbiAoIG9wdGlvbnMgKSB7CgkJcmV0dXJuICFvcHRpb25zIHx8ICEodHlwZW9mIEpTT04gPT09ICdvYmplY3QnICYmIHR5cGVvZiBKU09OLnBhcnNlID09PSAnZnVuY3Rpb24nKSA/IHt9IDogSlNPTi5wYXJzZSggb3B0aW9ucyApOwoJfTsKCgkvKioKCSAqIEdldCB0aGUgaGVpZ2h0IG9mIHRoZSBmaXhlZCBoZWFkZXIKCSAqIEBwcml2YXRlCgkgKiBAcGFyYW0gIHtOb2RlfSAgIGhlYWRlciBUaGUgaGVhZGVyCgkgKiBAcmV0dXJuIHtOdW1iZXJ9ICAgICAgICBUaGUgaGVpZ2h0IG9mIHRoZSBoZWFkZXIKCSAqLwoJdmFyIGdldEhlYWRlckhlaWdodCA9IGZ1bmN0aW9uICggaGVhZGVyICkgewoJCXJldHVybiAhaGVhZGVyID8gMCA6ICggZ2V0SGVpZ2h0KCBoZWFkZXIgKSArIGhlYWRlci5vZmZzZXRUb3AgKTsKCX07CgoJLyoqCgkgKiBCcmluZyB0aGUgYW5jaG9yZWQgZWxlbWVudCBpbnRvIGZvY3VzCgkgKiBAcHJpdmF0ZQoJICovCgl2YXIgYWRqdXN0Rm9jdXMgPSBmdW5jdGlvbiAoIGFuY2hvciwgZW5kTG9jYXRpb24sIGlzTnVtICkgewoKCQkvLyBEb24ndCBydW4gaWYgc2Nyb2xsaW5nIHRvIGEgbnVtYmVyIG9uIHRoZSBwYWdlCgkJaWYgKCBpc051bSApIHJldHVybjsKCgkJLy8gT3RoZXJ3aXNlLCBicmluZyBhbmNob3IgZWxlbWVudCBpbnRvIGZvY3VzCgkJYW5jaG9yLmZvY3VzKCk7CgkJaWYgKCBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkICE9PSBhbmNob3IuaWQgKSB7CgkJCWFuY2hvci5zZXRBdHRyaWJ1dGUoICd0YWJpbmRleCcsICctMScgKTsKCQkJYW5jaG9yLmZvY3VzKCk7CgkJCWFuY2hvci5zdHlsZS5vdXRsaW5lID0gJ25vbmUnOwoJCX0KCQlyb290LnNjcm9sbFRvKCAwICwgZW5kTG9jYXRpb24gKTsKCgl9OwoKCS8qKgoJICogU3RhcnQvc3RvcCB0aGUgc2Nyb2xsaW5nIGFuaW1hdGlvbgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOb2RlfE51bWJlcn0gYW5jaG9yICBUaGUgZWxlbWVudCBvciBwb3NpdGlvbiB0byBzY3JvbGwgdG8KCSAqIEBwYXJhbSB7RWxlbWVudH0gICAgIHRvZ2dsZSAgVGhlIGVsZW1lbnQgdGhhdCB0b2dnbGVkIHRoZSBzY3JvbGwgZXZlbnQKCSAqIEBwYXJhbSB7T2JqZWN0fSAgICAgIG9wdGlvbnMKCSAqLwoJc21vb3RoU2Nyb2xsLmFuaW1hdGVTY3JvbGwgPSBmdW5jdGlvbiAoIGFuY2hvciwgdG9nZ2xlLCBvcHRpb25zICkgewoKCQkvLyBPcHRpb25zIGFuZCBvdmVycmlkZXMKCQl2YXIgb3ZlcnJpZGVzID0gZ2V0RGF0YU9wdGlvbnMoIHRvZ2dsZSA/IHRvZ2dsZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtb3B0aW9ucycpIDogbnVsbCApOwoJCXZhciBhbmltYXRlU2V0dGluZ3MgPSBleHRlbmQoIHNldHRpbmdzIHx8IGRlZmF1bHRzLCBvcHRpb25zIHx8IHt9LCBvdmVycmlkZXMgKTsgLy8gTWVyZ2UgdXNlciBvcHRpb25zIHdpdGggZGVmYXVsdHMKCgkJLy8gU2VsZWN0b3JzIGFuZCB2YXJpYWJsZXMKCQl2YXIgaXNOdW0gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoIGFuY2hvciApID09PSAnW29iamVjdCBOdW1iZXJdJyA/IHRydWUgOiBmYWxzZTsKCQl2YXIgYW5jaG9yRWxlbSA9IGlzTnVtIHx8ICFhbmNob3IudGFnTmFtZSA/IG51bGwgOiBhbmNob3I7CgkJaWYgKCAhaXNOdW0gJiYgIWFuY2hvckVsZW0gKSByZXR1cm47CgkJdmFyIHN0YXJ0TG9jYXRpb24gPSByb290LnBhZ2VZT2Zmc2V0OyAvLyBDdXJyZW50IGxvY2F0aW9uIG9uIHRoZSBwYWdlCgkJaWYgKCBhbmltYXRlU2V0dGluZ3Muc2VsZWN0b3JIZWFkZXIgJiYgIWZpeGVkSGVhZGVyICkgewoJCQkvLyBHZXQgdGhlIGZpeGVkIGhlYWRlciBpZiBub3QgYWxyZWFkeSBzZXQKCQkJZml4ZWRIZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCBhbmltYXRlU2V0dGluZ3Muc2VsZWN0b3JIZWFkZXIgKTsKCQl9CgkJaWYgKCAhaGVhZGVySGVpZ2h0ICkgewoJCQkvLyBHZXQgdGhlIGhlaWdodCBvZiBhIGZpeGVkIGhlYWRlciBpZiBvbmUgZXhpc3RzIGFuZCBub3QgYWxyZWFkeSBzZXQKCQkJaGVhZGVySGVpZ2h0ID0gZ2V0SGVhZGVySGVpZ2h0KCBmaXhlZEhlYWRlciApOwoJCX0KCQl2YXIgZW5kTG9jYXRpb24gPSBpc051bSA/IGFuY2hvciA6IGdldEVuZExvY2F0aW9uKCBhbmNob3JFbGVtLCBoZWFkZXJIZWlnaHQsIHBhcnNlSW50KGFuaW1hdGVTZXR0aW5ncy5vZmZzZXQsIDEwKSApOyAvLyBMb2NhdGlvbiB0byBzY3JvbGwgdG8KCQl2YXIgZGlzdGFuY2UgPSBlbmRMb2NhdGlvbiAtIHN0YXJ0TG9jYXRpb247IC8vIGRpc3RhbmNlIHRvIHRyYXZlbAoJCXZhciBkb2N1bWVudEhlaWdodCA9IGdldERvY3VtZW50SGVpZ2h0KCk7CgkJdmFyIHRpbWVMYXBzZWQgPSAwOwoJCXZhciBwZXJjZW50YWdlLCBwb3NpdGlvbjsKCgkJLyoqCgkJICogU3RvcCB0aGUgc2Nyb2xsIGFuaW1hdGlvbiB3aGVuIGl0IHJlYWNoZXMgaXRzIHRhcmdldCAob3IgdGhlIGJvdHRvbS90b3Agb2YgcGFnZSkKCQkgKiBAcHJpdmF0ZQoJCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiBDdXJyZW50IHBvc2l0aW9uIG9uIHRoZSBwYWdlCgkJICogQHBhcmFtIHtOdW1iZXJ9IGVuZExvY2F0aW9uIFNjcm9sbCB0byBsb2NhdGlvbgoJCSAqIEBwYXJhbSB7TnVtYmVyfSBhbmltYXRpb25JbnRlcnZhbCBIb3cgbXVjaCB0byBzY3JvbGwgb24gdGhpcyBsb29wCgkJICovCgkJdmFyIHN0b3BBbmltYXRlU2Nyb2xsID0gZnVuY3Rpb24gKCBwb3NpdGlvbiwgZW5kTG9jYXRpb24sIGFuaW1hdGlvbkludGVydmFsICkgewoJCQl2YXIgY3VycmVudExvY2F0aW9uID0gcm9vdC5wYWdlWU9mZnNldDsKCQkJaWYgKCBwb3NpdGlvbiA9PSBlbmRMb2NhdGlvbiB8fCBjdXJyZW50TG9jYXRpb24gPT0gZW5kTG9jYXRpb24gfHwgKCAocm9vdC5pbm5lckhlaWdodCArIGN1cnJlbnRMb2NhdGlvbikgPj0gZG9jdW1lbnRIZWlnaHQgKSApIHsKCgkJCQkvLyBDbGVhciB0aGUgYW5pbWF0aW9uIHRpbWVyCgkJCQljbGVhckludGVydmFsKGFuaW1hdGlvbkludGVydmFsKTsKCgkJCQkvLyBCcmluZyB0aGUgYW5jaG9yZWQgZWxlbWVudCBpbnRvIGZvY3VzCgkJCQlhZGp1c3RGb2N1cyggYW5jaG9yLCBlbmRMb2NhdGlvbiwgaXNOdW0gKTsKCgkJCQkvLyBSdW4gY2FsbGJhY2sgYWZ0ZXIgYW5pbWF0aW9uIGNvbXBsZXRlCgkJCQlhbmltYXRlU2V0dGluZ3MuY2FsbGJhY2soIGFuY2hvciwgdG9nZ2xlICk7CgoJCQl9CgkJfTsKCgkJLyoqCgkJICogTG9vcCBzY3JvbGxpbmcgYW5pbWF0aW9uCgkJICogQHByaXZhdGUKCQkgKi8KCQl2YXIgbG9vcEFuaW1hdGVTY3JvbGwgPSBmdW5jdGlvbiAoKSB7CgkJCXRpbWVMYXBzZWQgKz0gMTY7CgkJCXBlcmNlbnRhZ2UgPSAoIHRpbWVMYXBzZWQgLyBwYXJzZUludChhbmltYXRlU2V0dGluZ3Muc3BlZWQsIDEwKSApOwoJCQlwZXJjZW50YWdlID0gKCBwZXJjZW50YWdlID4gMSApID8gMSA6IHBlcmNlbnRhZ2U7CgkJCXBvc2l0aW9uID0gc3RhcnRMb2NhdGlvbiArICggZGlzdGFuY2UgKiBlYXNpbmdQYXR0ZXJuKGFuaW1hdGVTZXR0aW5ncy5lYXNpbmcsIHBlcmNlbnRhZ2UpICk7CgkJCXJvb3Quc2Nyb2xsVG8oIDAsIE1hdGguZmxvb3IocG9zaXRpb24pICk7CgkJCXN0b3BBbmltYXRlU2Nyb2xsKHBvc2l0aW9uLCBlbmRMb2NhdGlvbiwgYW5pbWF0aW9uSW50ZXJ2YWwpOwoJCX07CgoJCS8qKgoJCSAqIFNldCBpbnRlcnZhbCB0aW1lcgoJCSAqIEBwcml2YXRlCgkJICovCgkJdmFyIHN0YXJ0QW5pbWF0ZVNjcm9sbCA9IGZ1bmN0aW9uICgpIHsKCQkJY2xlYXJJbnRlcnZhbChhbmltYXRpb25JbnRlcnZhbCk7CgkJCWFuaW1hdGlvbkludGVydmFsID0gc2V0SW50ZXJ2YWwobG9vcEFuaW1hdGVTY3JvbGwsIDE2KTsKCQl9OwoKCQkvKioKCQkgKiBSZXNldCBwb3NpdGlvbiB0byBmaXggd2VpcmQgaU9TIGJ1ZwoJCSAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9jZmVyZGluYW5kaS9zbW9vdGgtc2Nyb2xsL2lzc3Vlcy80NQoJCSAqLwoJCWlmICggcm9vdC5wYWdlWU9mZnNldCA9PT0gMCApIHsKCQkJcm9vdC5zY3JvbGxUbyggMCwgMCApOwoJCX0KCgkJLy8gU3RhcnQgc2Nyb2xsaW5nIGFuaW1hdGlvbgoJCXN0YXJ0QW5pbWF0ZVNjcm9sbCgpOwoKCX07CgoJLyoqCgkgKiBIYW5kbGUgaGFzIGNoYW5nZSBldmVudAoJICogQHByaXZhdGUKCSAqLwoJdmFyIGhhc2hDaGFuZ2VIYW5kbGVyID0gZnVuY3Rpb24gKGV2ZW50KSB7CgoJCS8vIEdldCBoYXNoIGZyb20gVVJMCgkJdmFyIGhhc2ggPSByb290LmxvY2F0aW9uLmhhc2g7CgoJCS8vIE9ubHkgcnVuIGlmIHRoZXJlJ3MgYW4gYW5jaG9yIGVsZW1lbnQgdG8gc2Nyb2xsIHRvCgkJaWYgKCAhYW5jaG9yICkgcmV0dXJuOwoKCQkvLyBSZXNldCB0aGUgYW5jaG9yIGVsZW1lbnQncyBJRAoJCWFuY2hvci5pZCA9IGFuY2hvci5nZXRBdHRyaWJ1dGUoICdkYXRhLXNjcm9sbC1pZCcgKTsKCgkJLy8gU2Nyb2xsIHRvIHRoZSBhbmNob3JlZCBjb250ZW50CgkJc21vb3RoU2Nyb2xsLmFuaW1hdGVTY3JvbGwoIGFuY2hvciwgdG9nZ2xlICk7CgoJCS8vIFJlc2V0IGFuY2hvciBhbmQgdG9nZ2xlCgkJYW5jaG9yID0gbnVsbDsKCQl0b2dnbGUgPSBudWxsOwoKCX07CgoJLyoqCgkgKiBJZiBzbW9vdGggc2Nyb2xsIGVsZW1lbnQgY2xpY2tlZCwgYW5pbWF0ZSBzY3JvbGwKCSAqIEBwcml2YXRlCgkgKi8KCXZhciBjbGlja0hhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHsKCgkJLy8gRG9uJ3QgcnVuIGlmIHJpZ2h0LWNsaWNrIG9yIGNvbW1hbmQvY29udHJvbCArIGNsaWNrCgkJaWYgKCBldmVudC5idXR0b24gIT09IDAgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5ICkgcmV0dXJuOwoKCQkvLyBDaGVjayBpZiBhIHNtb290aCBzY3JvbGwgbGluayB3YXMgY2xpY2tlZAoJCXRvZ2dsZSA9IGdldENsb3Nlc3QoIGV2ZW50LnRhcmdldCwgc2V0dGluZ3Muc2VsZWN0b3IgKTsKCQlpZiAoICF0b2dnbGUgfHwgdG9nZ2xlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPT0gJ2EnICkgcmV0dXJuOwoKCQkvLyBPbmx5IHJ1biBpZiBsaW5rIGlzIGFuIGFuY2hvciBhbmQgcG9pbnRzIHRvIHRoZSBjdXJyZW50IHBhZ2UKCQlpZiAoIHRvZ2dsZS5ob3N0bmFtZSAhPT0gcm9vdC5sb2NhdGlvbi5ob3N0bmFtZSB8fCB0b2dnbGUucGF0aG5hbWUgIT09IHJvb3QubG9jYXRpb24ucGF0aG5hbWUgfHwgIS8jLy50ZXN0KHRvZ2dsZS5ocmVmKSApIHJldHVybjsKCgkJLy8gR2V0IHRoZSBzYW5pdGl6ZWQgaGFzaAoJCXZhciBoYXNoID0gZXNjYXBlQ2hhcmFjdGVycyggdG9nZ2xlLmhhc2ggKTsKCgkJLy8gSWYgdGhlIGhhc2ggaXMgZW1wdHksIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlCgkJaWYgKCBoYXNoID09PSAnIycgKSB7CgoJCQkvLyBQcmV2ZW50IGRlZmF1bHQgbGluayBiZWhhdmlvcgoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJLy8gU2V0IHRoZSBhbmNob3JlZCBlbGVtZW50CgkJCWFuY2hvciA9IGRvY3VtZW50LmJvZHk7CgoJCQkvLyBTYXZlIG9yIGNyZWF0ZSB0aGUgSUQgYXMgYSBkYXRhIGF0dHJpYnV0ZSBhbmQgcmVtb3ZlIGl0IChwcmV2ZW50cyBzY3JvbGwganVtcCkKCQkJdmFyIGlkID0gYW5jaG9yLmlkID8gYW5jaG9yLmlkIDogJ3Ntb290aC1zY3JvbGwtdG9wJzsKCQkJYW5jaG9yLnNldEF0dHJpYnV0ZSggJ2RhdGEtc2Nyb2xsLWlkJywgaWQgKTsKCQkJYW5jaG9yLmlkID0gJyc7CgoJCQkvLyBJZiBubyBoYXNoIGNoYW5nZSBldmVudCB3aWxsIGhhcHBlbiwgZmlyZSBtYW51YWxseQoJCQkvLyBPdGhlcndpc2UsIHVwZGF0ZSB0aGUgaGFzaAoJCQlpZiAoIHJvb3QubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSkgPT09IGlkICkgewoJCQkJaGFzaENoYW5nZUhhbmRsZXIoKTsKCQkJfSBlbHNlIHsKCQkJCXJvb3QubG9jYXRpb24uaGFzaCA9IGlkOwoJCQl9CgoJCQlyZXR1cm47CgoJCX0KCgkJLy8gR2V0IHRoZSBhbmNob3JlZCBlbGVtZW50CgkJYW5jaG9yID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggaGFzaCApOwoKCQkvLyBJZiBhbmNob3JlZCBlbGVtZW50IGV4aXN0cywgc2F2ZSB0aGUgSUQgYXMgYSBkYXRhIGF0dHJpYnV0ZSBhbmQgcmVtb3ZlIGl0IChwcmV2ZW50cyBzY3JvbGwganVtcCkKCQlpZiAoICFhbmNob3IgKSByZXR1cm47CgkJYW5jaG9yLnNldEF0dHJpYnV0ZSggJ2RhdGEtc2Nyb2xsLWlkJywgYW5jaG9yLmlkICk7CgkJYW5jaG9yLmlkID0gJyc7CgoJCS8vIElmIG5vIGhhc2ggY2hhbmdlIGV2ZW50IHdpbGwgaGFwcGVuLCBmaXJlIG1hbnVhbGx5CgkJaWYgKCB0b2dnbGUuaGFzaCA9PT0gcm9vdC5sb2NhdGlvbi5oYXNoICkgewoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoJCQloYXNoQ2hhbmdlSGFuZGxlcigpOwoJCX0KCgl9OwoKCS8qKgoJICogT24gd2luZG93IHNjcm9sbCBhbmQgcmVzaXplLCBvbmx5IHJ1biBldmVudHMgYXQgYSByYXRlIG9mIDE1ZnBzIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UKCSAqIEBwcml2YXRlCgkgKiBAcGFyYW0gIHtGdW5jdGlvbn0gZXZlbnRUaW1lb3V0IFRpbWVvdXQgZnVuY3Rpb24KCSAqIEBwYXJhbSAge09iamVjdH0gc2V0dGluZ3MKCSAqLwoJdmFyIHJlc2l6ZVRocm90dGxlciA9IGZ1bmN0aW9uIChldmVudCkgewoJCWlmICggIWV2ZW50VGltZW91dCApIHsKCQkJZXZlbnRUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCWV2ZW50VGltZW91dCA9IG51bGw7IC8vIFJlc2V0IHRpbWVvdXQKCQkJCWhlYWRlckhlaWdodCA9IGdldEhlYWRlckhlaWdodCggZml4ZWRIZWFkZXIgKTsgLy8gR2V0IHRoZSBoZWlnaHQgb2YgYSBmaXhlZCBoZWFkZXIgaWYgb25lIGV4aXN0cwoJCQl9LCA2Nik7CgkJfQoJfTsKCgkvKioKCSAqIERlc3Ryb3kgdGhlIGN1cnJlbnQgaW5pdGlhbGl6YXRpb24uCgkgKiBAcHVibGljCgkgKi8KCXNtb290aFNjcm9sbC5kZXN0cm95ID0gZnVuY3Rpb24gKCkgewoKCQkvLyBJZiBwbHVnaW4gaXNuJ3QgYWxyZWFkeSBpbml0aWFsaXplZCwgc3RvcAoJCWlmICggIXNldHRpbmdzICkgcmV0dXJuOwoKCQkvLyBSZW1vdmUgZXZlbnQgbGlzdGVuZXJzCgkJZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgY2xpY2tIYW5kbGVyLCBmYWxzZSApOwoJCXJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ3Jlc2l6ZScsIHJlc2l6ZVRocm90dGxlciwgZmFsc2UgKTsKCgkJLy8gUmVzZXQgdmFyYWlibGVzCgkJc2V0dGluZ3MgPSBudWxsOwoJCWFuY2hvciA9IG51bGw7CgkJdG9nZ2xlID0gbnVsbDsKCQlmaXhlZEhlYWRlciA9IG51bGw7CgkJaGVhZGVySGVpZ2h0ID0gbnVsbDsKCQlldmVudFRpbWVvdXQgPSBudWxsOwoJCWFuaW1hdGlvbkludGVydmFsID0gbnVsbDsKCX07CgoJLyoqCgkgKiBJbml0aWFsaXplIFNtb290aCBTY3JvbGwKCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIFVzZXIgc2V0dGluZ3MKCSAqLwoJc21vb3RoU2Nyb2xsLmluaXQgPSBmdW5jdGlvbiAoIG9wdGlvbnMgKSB7CgoJCS8vIGZlYXR1cmUgdGVzdAoJCWlmICggIXN1cHBvcnRzICkgcmV0dXJuOwoKCQkvLyBEZXN0cm95IGFueSBleGlzdGluZyBpbml0aWFsaXphdGlvbnMKCQlzbW9vdGhTY3JvbGwuZGVzdHJveSgpOwoKCQkvLyBTZWxlY3RvcnMgYW5kIHZhcmlhYmxlcwoJCXNldHRpbmdzID0gZXh0ZW5kKCBkZWZhdWx0cywgb3B0aW9ucyB8fCB7fSApOyAvLyBNZXJnZSB1c2VyIG9wdGlvbnMgd2l0aCBkZWZhdWx0cwoJCWZpeGVkSGVhZGVyID0gc2V0dGluZ3Muc2VsZWN0b3JIZWFkZXIgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCBzZXR0aW5ncy5zZWxlY3RvckhlYWRlciApIDogbnVsbDsgLy8gR2V0IHRoZSBmaXhlZCBoZWFkZXIKCQloZWFkZXJIZWlnaHQgPSBnZXRIZWFkZXJIZWlnaHQoIGZpeGVkSGVhZGVyICk7CgoJCS8vIFdoZW4gYSB0b2dnbGUgaXMgY2xpY2tlZCwgcnVuIHRoZSBjbGljayBoYW5kbGVyCgkJZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggJ2NsaWNrJywgY2xpY2tIYW5kbGVyLCBmYWxzZSApOwoKCQkvLyBMaXN0ZW4gZm9yIGhhc2ggY2hhbmdlcwoJCXJvb3QuYWRkRXZlbnRMaXN0ZW5lcignaGFzaGNoYW5nZScsIGhhc2hDaGFuZ2VIYW5kbGVyLCBmYWxzZSk7CgoJCS8vIElmIHdpbmRvdyBpcyByZXNpemVkIGFuZCB0aGVyZSdzIGEgZml4ZWQgaGVhZGVyLCByZWNhbGN1bGF0ZSBpdHMgc2l6ZQoJCWlmICggZml4ZWRIZWFkZXIgKSB7CgkJCXJvb3QuYWRkRXZlbnRMaXN0ZW5lciggJ3Jlc2l6ZScsIHJlc2l6ZVRocm90dGxlciwgZmFsc2UgKTsKCQl9CgoJfTsKCgoJLy8KCS8vIFB1YmxpYyBBUElzCgkvLwoKCXJldHVybiBzbW9vdGhTY3JvbGw7Cgp9KTs="}},"time_used":88,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":84,"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":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/fonts/webfonts/fa-solid-900.ttf","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.371Z","timestamp":1785139583371,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/fonts/webfonts/fa-solid-900.ttf HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/font-awesome.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 428\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]}],"data":{"size":992,"size_decoded":665,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"a43b88e4b72637f2a5acfea58c826e1f","sha1":"c6add540d2787ae63d002cff6212f40434041e7f","sha256":"7ca60edbce791d6b8be17039078ce376a1b632dada224aae3a91fd2ee5a80161","sha512":"8d036fd9027aa460cc5b010f2f527cbb395015a7797619c0a6807a549c8c5a1bfb3f469d366bab0a5a8e453090d12a89bef3db8511631ff42d5832f7c9f73dc7","ssdeep":"","tlshash":"c011183b0805077e11108263b410735cd0dfaf156e567460d063175736c4d85c5395ac","first_seen":"2026-07-27T05:09:49.528683Z","last_seen":"2026-07-27T08:08:22.733371Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9mb250LWF3ZXNvbWUuY3NzIiBjbGFzcz0iaG9tZS1idG4iPkdvIEJhY2s8L2E+CgkJPC9kaXY+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cgo="}},"time_used":257,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":257,"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":"nanoquantumstellarsledger.com","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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.750Z","timestamp":1785139583750,"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-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 08:06:23 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: 7be1c5a63adc065fe122b962f7a07c72\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-28T06:17:53.586668Z","times_seen":141,"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":"nanoquantumstellarsledger.com/frontcss/assets/popper.min.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.034Z","timestamp":1785139582034,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/popper.min.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6644\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":19187,"size_decoded":6881,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (19015)","md5":"124bf4d1a7db31dd60d4642dce268035","sha1":"d3745247363d9cb016aaef057bbf2a363796cc01","sha256":"5614d21225b2e012e3765c1b32fba0b8762bcecd8863c8705c1bcc0d03ec19de","sha512":"2d9f8b89336c39da4aface69209c016e2edc4449f134129e3c6453240bb90e7b81e6386a4a0a430892eb131faa4b6f45882f3c5b9e53b89443c66b589d5158e2","ssdeep":"384:+CbuG4xGNoDic2UjKPafxwC5b/4xQviOJU7QzxzivDdE3pcGdjkd/9jt3B+Kb96G:zb4xGmiJfaf7gxQvVU7eziv+cSjknZ33","tlshash":"4882a3cc3291b06643a79167a06f960fb2339979614e9410f199f2d87c70ef9913fc7a","first_seen":"2023-03-07T01:20:21Z","last_seen":"2026-08-12T09:42:15.472183Z","times_seen":1874,"resource_available":true,"data":"LyoKIENvcHlyaWdodCAoQykgRmVkZXJpY28gWml2b2xvIDIwMTcKIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAobGljZW5zZSB0ZXJtcyBhcmUgYXQgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCkuCiAqLyhmdW5jdGlvbihlLHQpeydvYmplY3QnPT10eXBlb2YgZXhwb3J0cyYmJ3VuZGVmaW5lZCchPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOidmdW5jdGlvbic9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKHQpOmUuUG9wcGVyPXQoKX0pKHRoaXMsZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZSYmJ1tvYmplY3QgRnVuY3Rpb25dJz09PXt9LnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gdChlLHQpe2lmKDEhPT1lLm5vZGVUeXBlKXJldHVybltdO3ZhciBvPWdldENvbXB1dGVkU3R5bGUoZSxudWxsKTtyZXR1cm4gdD9vW3RdOm99ZnVuY3Rpb24gbyhlKXtyZXR1cm4nSFRNTCc9PT1lLm5vZGVOYW1lP2U6ZS5wYXJlbnROb2RlfHxlLmhvc3R9ZnVuY3Rpb24gbihlKXtpZighZSlyZXR1cm4gZG9jdW1lbnQuYm9keTtzd2l0Y2goZS5ub2RlTmFtZSl7Y2FzZSdIVE1MJzpjYXNlJ0JPRFknOnJldHVybiBlLm93bmVyRG9jdW1lbnQuYm9keTtjYXNlJyNkb2N1bWVudCc6cmV0dXJuIGUuYm9keTt9dmFyIGk9dChlKSxyPWkub3ZlcmZsb3cscD1pLm92ZXJmbG93WCxzPWkub3ZlcmZsb3dZO3JldHVybiAvKGF1dG98c2Nyb2xsKS8udGVzdChyK3MrcCk/ZTpuKG8oZSkpfWZ1bmN0aW9uIHIoZSl7dmFyIG89ZSYmZS5vZmZzZXRQYXJlbnQsaT1vJiZvLm5vZGVOYW1lO3JldHVybiBpJiYnQk9EWSchPT1pJiYnSFRNTCchPT1pPy0xIT09WydURCcsJ1RBQkxFJ10uaW5kZXhPZihvLm5vZGVOYW1lKSYmJ3N0YXRpYyc9PT10KG8sJ3Bvc2l0aW9uJyk/cihvKTpvOmU/ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gcChlKXt2YXIgdD1lLm5vZGVOYW1lO3JldHVybidCT0RZJyE9PXQmJignSFRNTCc9PT10fHxyKGUuZmlyc3RFbGVtZW50Q2hpbGQpPT09ZSl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gbnVsbD09PWUucGFyZW50Tm9kZT9lOnMoZS5wYXJlbnROb2RlKX1mdW5jdGlvbiBkKGUsdCl7aWYoIWV8fCFlLm5vZGVUeXBlfHwhdHx8IXQubm9kZVR5cGUpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDt2YXIgbz1lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HLGk9bz9lOnQsbj1vP3Q6ZSxhPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7YS5zZXRTdGFydChpLDApLGEuc2V0RW5kKG4sMCk7dmFyIGw9YS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtpZihlIT09bCYmdCE9PWx8fGkuY29udGFpbnMobikpcmV0dXJuIHAobCk/bDpyKGwpO3ZhciBmPXMoZSk7cmV0dXJuIGYuaG9zdD9kKGYuaG9zdCx0KTpkKGUscyh0KS5ob3N0KX1mdW5jdGlvbiBhKGUpe3ZhciB0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTondG9wJyxvPSd0b3AnPT09dD8nc2Nyb2xsVG9wJzonc2Nyb2xsTGVmdCcsaT1lLm5vZGVOYW1lO2lmKCdCT0RZJz09PWl8fCdIVE1MJz09PWkpe3ZhciBuPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscj1lLm93bmVyRG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudHx8bjtyZXR1cm4gcltvXX1yZXR1cm4gZVtvXX1mdW5jdGlvbiBsKGUsdCl7dmFyIG89Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxpPWEodCwndG9wJyksbj1hKHQsJ2xlZnQnKSxyPW8/LTE6MTtyZXR1cm4gZS50b3ArPWkqcixlLmJvdHRvbSs9aSpyLGUubGVmdCs9bipyLGUucmlnaHQrPW4qcixlfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbz0neCc9PT10PydMZWZ0JzonVG9wJyxpPSdMZWZ0Jz09bz8nUmlnaHQnOidCb3R0b20nO3JldHVybiBwYXJzZUZsb2F0KGVbJ2JvcmRlcicrbysnV2lkdGgnXSwxMCkrcGFyc2VGbG9hdChlWydib3JkZXInK2krJ1dpZHRoJ10sMTApfWZ1bmN0aW9uIG0oZSx0LG8saSl7cmV0dXJuIEoodFsnb2Zmc2V0JytlXSx0WydzY3JvbGwnK2VdLG9bJ2NsaWVudCcrZV0sb1snb2Zmc2V0JytlXSxvWydzY3JvbGwnK2VdLGllKCk/b1snb2Zmc2V0JytlXStpWydtYXJnaW4nKygnSGVpZ2h0Jz09PWU/J1RvcCc6J0xlZnQnKV0raVsnbWFyZ2luJysoJ0hlaWdodCc9PT1lPydCb3R0b20nOidSaWdodCcpXTowKX1mdW5jdGlvbiBoKCl7dmFyIGU9ZG9jdW1lbnQuYm9keSx0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxvPWllKCkmJmdldENvbXB1dGVkU3R5bGUodCk7cmV0dXJue2hlaWdodDptKCdIZWlnaHQnLGUsdCxvKSx3aWR0aDptKCdXaWR0aCcsZSx0LG8pfX1mdW5jdGlvbiBjKGUpe3JldHVybiBzZSh7fSxlLHtyaWdodDplLmxlZnQrZS53aWR0aCxib3R0b206ZS50b3ArZS5oZWlnaHR9KX1mdW5jdGlvbiBnKGUpe3ZhciBvPXt9O2lmKGllKCkpdHJ5e289ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt2YXIgaT1hKGUsJ3RvcCcpLG49YShlLCdsZWZ0Jyk7by50b3ArPWksby5sZWZ0Kz1uLG8uYm90dG9tKz1pLG8ucmlnaHQrPW59Y2F0Y2goZSl7fWVsc2Ugbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciByPXtsZWZ0Om8ubGVmdCx0b3A6by50b3Asd2lkdGg6by5yaWdodC1vLmxlZnQsaGVpZ2h0Om8uYm90dG9tLW8udG9wfSxwPSdIVE1MJz09PWUubm9kZU5hbWU/aCgpOnt9LHM9cC53aWR0aHx8ZS5jbGllbnRXaWR0aHx8ci5yaWdodC1yLmxlZnQsZD1wLmhlaWdodHx8ZS5jbGllbnRIZWlnaHR8fHIuYm90dG9tLXIudG9wLGw9ZS5vZmZzZXRXaWR0aC1zLG09ZS5vZmZzZXRIZWlnaHQtZDtpZihsfHxtKXt2YXIgZz10KGUpO2wtPWYoZywneCcpLG0tPWYoZywneScpLHIud2lkdGgtPWwsci5oZWlnaHQtPW19cmV0dXJuIGMocil9ZnVuY3Rpb24gdShlLG8pe3ZhciBpPWllKCkscj0nSFRNTCc9PT1vLm5vZGVOYW1lLHA9ZyhlKSxzPWcobyksZD1uKGUpLGE9dChvKSxmPXBhcnNlRmxvYXQoYS5ib3JkZXJUb3BXaWR0aCwxMCksbT1wYXJzZUZsb2F0KGEuYm9yZGVyTGVmdFdpZHRoLDEwKSxoPWMoe3RvcDpwLnRvcC1zLnRvcC1mLGxlZnQ6cC5sZWZ0LXMubGVmdC1tLHdpZHRoOnAud2lkdGgsaGVpZ2h0OnAuaGVpZ2h0fSk7aWYoaC5tYXJnaW5Ub3A9MCxoLm1hcmdpbkxlZnQ9MCwhaSYmcil7dmFyIHU9cGFyc2VGbG9hdChhLm1hcmdpblRvcCwxMCksYj1wYXJzZUZsb2F0KGEubWFyZ2luTGVmdCwxMCk7aC50b3AtPWYtdSxoLmJvdHRvbS09Zi11LGgubGVmdC09bS1iLGgucmlnaHQtPW0tYixoLm1hcmdpblRvcD11LGgubWFyZ2luTGVmdD1ifXJldHVybihpP28uY29udGFpbnMoZCk6bz09PWQmJidCT0RZJyE9PWQubm9kZU5hbWUpJiYoaD1sKGgsbykpLGh9ZnVuY3Rpb24gYihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89dShlLHQpLGk9Sih0LmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRofHwwKSxuPUoodC5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKSxyPWEodCkscD1hKHQsJ2xlZnQnKSxzPXt0b3A6ci1vLnRvcCtvLm1hcmdpblRvcCxsZWZ0OnAtby5sZWZ0K28ubWFyZ2luTGVmdCx3aWR0aDppLGhlaWdodDpufTtyZXR1cm4gYyhzKX1mdW5jdGlvbiB3KGUpe3ZhciBpPWUubm9kZU5hbWU7cmV0dXJuJ0JPRFknPT09aXx8J0hUTUwnPT09aT8hMTonZml4ZWQnPT09dChlLCdwb3NpdGlvbicpfHx3KG8oZSkpfWZ1bmN0aW9uIHkoZSx0LGkscil7dmFyIHA9e3RvcDowLGxlZnQ6MH0scz1kKGUsdCk7aWYoJ3ZpZXdwb3J0Jz09PXIpcD1iKHMpO2Vsc2V7dmFyIGE7J3Njcm9sbFBhcmVudCc9PT1yPyhhPW4obyh0KSksJ0JPRFknPT09YS5ub2RlTmFtZSYmKGE9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpOid3aW5kb3cnPT09cj9hPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6YT1yO3ZhciBsPXUoYSxzKTtpZignSFRNTCc9PT1hLm5vZGVOYW1lJiYhdyhzKSl7dmFyIGY9aCgpLG09Zi5oZWlnaHQsYz1mLndpZHRoO3AudG9wKz1sLnRvcC1sLm1hcmdpblRvcCxwLmJvdHRvbT1tK2wudG9wLHAubGVmdCs9bC5sZWZ0LWwubWFyZ2luTGVmdCxwLnJpZ2h0PWMrbC5sZWZ0fWVsc2UgcD1sfXJldHVybiBwLmxlZnQrPWkscC50b3ArPWkscC5yaWdodC09aSxwLmJvdHRvbS09aSxwfWZ1bmN0aW9uIEUoZSl7dmFyIHQ9ZS53aWR0aCxvPWUuaGVpZ2h0O3JldHVybiB0Km99ZnVuY3Rpb24gdihlLHQsbyxpLG4pe3ZhciByPTU8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzVdP2FyZ3VtZW50c1s1XTowO2lmKC0xPT09ZS5pbmRleE9mKCdhdXRvJykpcmV0dXJuIGU7dmFyIHA9eShvLGkscixuKSxzPXt0b3A6e3dpZHRoOnAud2lkdGgsaGVpZ2h0OnQudG9wLXAudG9wfSxyaWdodDp7d2lkdGg6cC5yaWdodC10LnJpZ2h0LGhlaWdodDpwLmhlaWdodH0sYm90dG9tOnt3aWR0aDpwLndpZHRoLGhlaWdodDpwLmJvdHRvbS10LmJvdHRvbX0sbGVmdDp7d2lkdGg6dC5sZWZ0LXAubGVmdCxoZWlnaHQ6cC5oZWlnaHR9fSxkPU9iamVjdC5rZXlzKHMpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gc2Uoe2tleTplfSxzW2VdLHthcmVhOkUoc1tlXSl9KX0pLnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5hcmVhLWUuYXJlYX0pLGE9ZC5maWx0ZXIoZnVuY3Rpb24oZSl7dmFyIHQ9ZS53aWR0aCxpPWUuaGVpZ2h0O3JldHVybiB0Pj1vLmNsaWVudFdpZHRoJiZpPj1vLmNsaWVudEhlaWdodH0pLGw9MDxhLmxlbmd0aD9hWzBdLmtleTpkWzBdLmtleSxmPWUuc3BsaXQoJy0nKVsxXTtyZXR1cm4gbCsoZj8nLScrZjonJyl9ZnVuY3Rpb24gTyhlLHQsbyl7dmFyIGk9ZCh0LG8pO3JldHVybiB1KG8saSl9ZnVuY3Rpb24gTChlKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKGUpLG89cGFyc2VGbG9hdCh0Lm1hcmdpblRvcCkrcGFyc2VGbG9hdCh0Lm1hcmdpbkJvdHRvbSksaT1wYXJzZUZsb2F0KHQubWFyZ2luTGVmdCkrcGFyc2VGbG9hdCh0Lm1hcmdpblJpZ2h0KSxuPXt3aWR0aDplLm9mZnNldFdpZHRoK2ksaGVpZ2h0OmUub2Zmc2V0SGVpZ2h0K299O3JldHVybiBufWZ1bmN0aW9uIHgoZSl7dmFyIHQ9e2xlZnQ6J3JpZ2h0JyxyaWdodDonbGVmdCcsYm90dG9tOid0b3AnLHRvcDonYm90dG9tJ307cmV0dXJuIGUucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KX1mdW5jdGlvbiBTKGUsdCxvKXtvPW8uc3BsaXQoJy0nKVswXTt2YXIgaT1MKGUpLG49e3dpZHRoOmkud2lkdGgsaGVpZ2h0OmkuaGVpZ2h0fSxyPS0xIT09WydyaWdodCcsJ2xlZnQnXS5pbmRleE9mKG8pLHA9cj8ndG9wJzonbGVmdCcscz1yPydsZWZ0JzondG9wJyxkPXI/J2hlaWdodCc6J3dpZHRoJyxhPXI/J3dpZHRoJzonaGVpZ2h0JztyZXR1cm4gbltwXT10W3BdK3RbZF0vMi1pW2RdLzIsbltzXT1vPT09cz90W3NdLWlbYV06dFt4KHMpXSxufWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbmQ/ZS5maW5kKHQpOmUuZmlsdGVyKHQpWzBdfWZ1bmN0aW9uIEQoZSx0LG8pe2lmKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpcmV0dXJuIGUuZmluZEluZGV4KGZ1bmN0aW9uKGUpe3JldHVybiBlW3RdPT09b30pO3ZhciBpPVQoZSxmdW5jdGlvbihlKXtyZXR1cm4gZVt0XT09PW99KTtyZXR1cm4gZS5pbmRleE9mKGkpfWZ1bmN0aW9uIEModCxvLGkpe3ZhciBuPXZvaWQgMD09PWk/dDp0LnNsaWNlKDAsRCh0LCduYW1lJyxpKSk7cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbih0KXt0WydmdW5jdGlvbiddJiZjb25zb2xlLndhcm4oJ2Btb2RpZmllci5mdW5jdGlvbmAgaXMgZGVwcmVjYXRlZCwgdXNlIGBtb2RpZmllci5mbmAhJyk7dmFyIGk9dFsnZnVuY3Rpb24nXXx8dC5mbjt0LmVuYWJsZWQmJmUoaSkmJihvLm9mZnNldHMucG9wcGVyPWMoby5vZmZzZXRzLnBvcHBlciksby5vZmZzZXRzLnJlZmVyZW5jZT1jKG8ub2Zmc2V0cy5yZWZlcmVuY2UpLG89aShvLHQpKX0pLG99ZnVuY3Rpb24gTigpe2lmKCF0aGlzLnN0YXRlLmlzRGVzdHJveWVkKXt2YXIgZT17aW5zdGFuY2U6dGhpcyxzdHlsZXM6e30sYXJyb3dTdHlsZXM6e30sYXR0cmlidXRlczp7fSxmbGlwcGVkOiExLG9mZnNldHM6e319O2Uub2Zmc2V0cy5yZWZlcmVuY2U9Tyh0aGlzLnN0YXRlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlKSxlLnBsYWNlbWVudD12KHRoaXMub3B0aW9ucy5wbGFjZW1lbnQsZS5vZmZzZXRzLnJlZmVyZW5jZSx0aGlzLnBvcHBlcix0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAuYm91bmRhcmllc0VsZW1lbnQsdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpLGUub3JpZ2luYWxQbGFjZW1lbnQ9ZS5wbGFjZW1lbnQsZS5vZmZzZXRzLnBvcHBlcj1TKHRoaXMucG9wcGVyLGUub2Zmc2V0cy5yZWZlcmVuY2UsZS5wbGFjZW1lbnQpLGUub2Zmc2V0cy5wb3BwZXIucG9zaXRpb249J2Fic29sdXRlJyxlPUModGhpcy5tb2RpZmllcnMsZSksdGhpcy5zdGF0ZS5pc0NyZWF0ZWQ/dGhpcy5vcHRpb25zLm9uVXBkYXRlKGUpOih0aGlzLnN0YXRlLmlzQ3JlYXRlZD0hMCx0aGlzLm9wdGlvbnMub25DcmVhdGUoZSkpfX1mdW5jdGlvbiBrKGUsdCl7cmV0dXJuIGUuc29tZShmdW5jdGlvbihlKXt2YXIgbz1lLm5hbWUsaT1lLmVuYWJsZWQ7cmV0dXJuIGkmJm89PT10fSl9ZnVuY3Rpb24gVyhlKXtmb3IodmFyIHQ9WyExLCdtcycsJ1dlYmtpdCcsJ01veicsJ08nXSxvPWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPTA7bjx0Lmxlbmd0aC0xO24rKyl7dmFyIGk9dFtuXSxyPWk/JycraStvOmU7aWYoJ3VuZGVmaW5lZCchPXR5cGVvZiBkb2N1bWVudC5ib2R5LnN0eWxlW3JdKXJldHVybiByfXJldHVybiBudWxsfWZ1bmN0aW9uIFAoKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZD0hMCxrKHRoaXMubW9kaWZpZXJzLCdhcHBseVN0eWxlJykmJih0aGlzLnBvcHBlci5yZW1vdmVBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50JyksdGhpcy5wb3BwZXIuc3R5bGUubGVmdD0nJyx0aGlzLnBvcHBlci5zdHlsZS5wb3NpdGlvbj0nJyx0aGlzLnBvcHBlci5zdHlsZS50b3A9JycsdGhpcy5wb3BwZXIuc3R5bGVbVygndHJhbnNmb3JtJyldPScnKSx0aGlzLmRpc2FibGVFdmVudExpc3RlbmVycygpLHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kmJnRoaXMucG9wcGVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5wb3BwZXIpLHRoaXN9ZnVuY3Rpb24gQihlKXt2YXIgdD1lLm93bmVyRG9jdW1lbnQ7cmV0dXJuIHQ/dC5kZWZhdWx0Vmlldzp3aW5kb3d9ZnVuY3Rpb24gSChlLHQsbyxpKXt2YXIgcj0nQk9EWSc9PT1lLm5vZGVOYW1lLHA9cj9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6ZTtwLmFkZEV2ZW50TGlzdGVuZXIodCxvLHtwYXNzaXZlOiEwfSkscnx8SChuKHAucGFyZW50Tm9kZSksdCxvLGkpLGkucHVzaChwKX1mdW5jdGlvbiBBKGUsdCxvLGkpe28udXBkYXRlQm91bmQ9aSxCKGUpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsby51cGRhdGVCb3VuZCx7cGFzc2l2ZTohMH0pO3ZhciByPW4oZSk7cmV0dXJuIEgociwnc2Nyb2xsJyxvLnVwZGF0ZUJvdW5kLG8uc2Nyb2xsUGFyZW50cyksby5zY3JvbGxFbGVtZW50PXIsby5ldmVudHNFbmFibGVkPSEwLG99ZnVuY3Rpb24gSSgpe3RoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZHx8KHRoaXMuc3RhdGU9QSh0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMsdGhpcy5zdGF0ZSx0aGlzLnNjaGVkdWxlVXBkYXRlKSl9ZnVuY3Rpb24gTShlLHQpe3JldHVybiBCKGUpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsdC51cGRhdGVCb3VuZCksdC5zY3JvbGxQYXJlbnRzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLHQudXBkYXRlQm91bmQpfSksdC51cGRhdGVCb3VuZD1udWxsLHQuc2Nyb2xsUGFyZW50cz1bXSx0LnNjcm9sbEVsZW1lbnQ9bnVsbCx0LmV2ZW50c0VuYWJsZWQ9ITEsdH1mdW5jdGlvbiBSKCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY2hlZHVsZVVwZGF0ZSksdGhpcy5zdGF0ZT1NKHRoaXMucmVmZXJlbmNlLHRoaXMuc3RhdGUpKX1mdW5jdGlvbiBVKGUpe3JldHVybicnIT09ZSYmIWlzTmFOKHBhcnNlRmxvYXQoZSkpJiZpc0Zpbml0ZShlKX1mdW5jdGlvbiBZKGUsdCl7T2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihvKXt2YXIgaT0nJzstMSE9PVsnd2lkdGgnLCdoZWlnaHQnLCd0b3AnLCdyaWdodCcsJ2JvdHRvbScsJ2xlZnQnXS5pbmRleE9mKG8pJiZVKHRbb10pJiYoaT0ncHgnKSxlLnN0eWxlW29dPXRbb10raX0pfWZ1bmN0aW9uIGooZSx0KXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBpPXRbb107ITE9PT1pP2UucmVtb3ZlQXR0cmlidXRlKG8pOmUuc2V0QXR0cmlidXRlKG8sdFtvXSl9KX1mdW5jdGlvbiBGKGUsdCxvKXt2YXIgaT1UKGUsZnVuY3Rpb24oZSl7dmFyIG89ZS5uYW1lO3JldHVybiBvPT09dH0pLG49ISFpJiZlLnNvbWUoZnVuY3Rpb24oZSl7cmV0dXJuIGUubmFtZT09PW8mJmUuZW5hYmxlZCYmZS5vcmRlcjxpLm9yZGVyfSk7aWYoIW4pe3ZhciByPSdgJyt0KydgJztjb25zb2xlLndhcm4oJ2AnK28rJ2AnKycgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgJytyKycgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAnK3IrJyEnKX1yZXR1cm4gbn1mdW5jdGlvbiBLKGUpe3JldHVybidlbmQnPT09ZT8nc3RhcnQnOidzdGFydCc9PT1lPydlbmQnOmV9ZnVuY3Rpb24gcShlKXt2YXIgdD0xPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdLG89YWUuaW5kZXhPZihlKSxpPWFlLnNsaWNlKG8rMSkuY29uY2F0KGFlLnNsaWNlKDAsbykpO3JldHVybiB0P2kucmV2ZXJzZSgpOml9ZnVuY3Rpb24gVihlLHQsbyxpKXt2YXIgbj1lLm1hdGNoKC8oKD86XC18XCspP1xkKlwuP1xkKikoLiopLykscj0rblsxXSxwPW5bMl07aWYoIXIpcmV0dXJuIGU7aWYoMD09PXAuaW5kZXhPZignJScpKXt2YXIgcztzd2l0Y2gocCl7Y2FzZSclcCc6cz1vO2JyZWFrO2Nhc2UnJSc6Y2FzZSclcic6ZGVmYXVsdDpzPWk7fXZhciBkPWMocyk7cmV0dXJuIGRbdF0vMTAwKnJ9aWYoJ3ZoJz09PXB8fCd2dyc9PT1wKXt2YXIgYTtyZXR1cm4gYT0ndmgnPT09cD9KKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKTpKKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCksYS8xMDAqcn1yZXR1cm4gcn1mdW5jdGlvbiB6KGUsdCxvLGkpe3ZhciBuPVswLDBdLHI9LTEhPT1bJ3JpZ2h0JywnbGVmdCddLmluZGV4T2YoaSkscD1lLnNwbGl0KC8oXCt8XC0pLykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW0oKX0pLHM9cC5pbmRleE9mKFQocCxmdW5jdGlvbihlKXtyZXR1cm4tMSE9PWUuc2VhcmNoKC8sfFxzLyl9KSk7cFtzXSYmLTE9PT1wW3NdLmluZGV4T2YoJywnKSYmY29uc29sZS53YXJuKCdPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuJyk7dmFyIGQ9L1xzKixccyp8XHMrLyxhPS0xPT09cz9bcF06W3Auc2xpY2UoMCxzKS5jb25jYXQoW3Bbc10uc3BsaXQoZClbMF1dKSxbcFtzXS5zcGxpdChkKVsxXV0uY29uY2F0KHAuc2xpY2UocysxKSldO3JldHVybiBhPWEubWFwKGZ1bmN0aW9uKGUsaSl7dmFyIG49KDE9PT1pPyFyOnIpPydoZWlnaHQnOid3aWR0aCcscD0hMTtyZXR1cm4gZS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4nJz09PWVbZS5sZW5ndGgtMV0mJi0xIT09WycrJywnLSddLmluZGV4T2YodCk/KGVbZS5sZW5ndGgtMV09dCxwPSEwLGUpOnA/KGVbZS5sZW5ndGgtMV0rPXQscD0hMSxlKTplLmNvbmNhdCh0KX0sW10pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gVihlLG4sdCxvKX0pfSksYS5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7ZS5mb3JFYWNoKGZ1bmN0aW9uKG8saSl7VShvKSYmKG5bdF0rPW8qKCctJz09PWVbaS0xXT8tMToxKSl9KX0pLG59ZnVuY3Rpb24gRyhlLHQpe3ZhciBvLGk9dC5vZmZzZXQsbj1lLnBsYWNlbWVudCxyPWUub2Zmc2V0cyxwPXIucG9wcGVyLHM9ci5yZWZlcmVuY2UsZD1uLnNwbGl0KCctJylbMF07cmV0dXJuIG89VSgraSk/WytpLDBdOnooaSxwLHMsZCksJ2xlZnQnPT09ZD8ocC50b3ArPW9bMF0scC5sZWZ0LT1vWzFdKToncmlnaHQnPT09ZD8ocC50b3ArPW9bMF0scC5sZWZ0Kz1vWzFdKTondG9wJz09PWQ/KHAubGVmdCs9b1swXSxwLnRvcC09b1sxXSk6J2JvdHRvbSc9PT1kJiYocC5sZWZ0Kz1vWzBdLHAudG9wKz1vWzFdKSxlLnBvcHBlcj1wLGV9Zm9yKHZhciBfPU1hdGgubWluLFg9TWF0aC5mbG9vcixKPU1hdGgubWF4LFE9J3VuZGVmaW5lZCchPXR5cGVvZiB3aW5kb3cmJid1bmRlZmluZWQnIT10eXBlb2YgZG9jdW1lbnQsWj1bJ0VkZ2UnLCdUcmlkZW50JywnRmlyZWZveCddLCQ9MCxlZT0wO2VlPFoubGVuZ3RoO2VlKz0xKWlmKFEmJjA8PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZihaW2VlXSkpeyQ9MTticmVha312YXIgaSx0ZT1RJiZ3aW5kb3cuUHJvbWlzZSxvZT10ZT9mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCx3aW5kb3cuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3Q9ITEsZSgpfSkpfX06ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe3Q9ITEsZSgpfSwkKSl9fSxpZT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PWkmJihpPS0xIT09bmF2aWdhdG9yLmFwcFZlcnNpb24uaW5kZXhPZignTVNJRSAxMCcpKSxpfSxuZT1mdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpfSxyZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtmb3IodmFyIG8sbj0wO248dC5sZW5ndGg7bisrKW89dFtuXSxvLmVudW1lcmFibGU9by5lbnVtZXJhYmxlfHwhMSxvLmNvbmZpZ3VyYWJsZT0hMCwndmFsdWUnaW4gbyYmKG8ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8ua2V5LG8pfXJldHVybiBmdW5jdGlvbih0LG8saSl7cmV0dXJuIG8mJmUodC5wcm90b3R5cGUsbyksaSYmZSh0LGkpLHR9fSgpLHBlPWZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm8sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW8sZX0sc2U9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89MTtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWZvcih2YXIgaSBpbiB0PWFyZ3VtZW50c1tvXSx0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiYoZVtpXT10W2ldKTtyZXR1cm4gZX0sZGU9WydhdXRvLXN0YXJ0JywnYXV0bycsJ2F1dG8tZW5kJywndG9wLXN0YXJ0JywndG9wJywndG9wLWVuZCcsJ3JpZ2h0LXN0YXJ0JywncmlnaHQnLCdyaWdodC1lbmQnLCdib3R0b20tZW5kJywnYm90dG9tJywnYm90dG9tLXN0YXJ0JywnbGVmdC1lbmQnLCdsZWZ0JywnbGVmdC1zdGFydCddLGFlPWRlLnNsaWNlKDMpLGxlPXtGTElQOidmbGlwJyxDTE9DS1dJU0U6J2Nsb2Nrd2lzZScsQ09VTlRFUkNMT0NLV0lTRTonY291bnRlcmNsb2Nrd2lzZSd9LGZlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChvLGkpe3ZhciBuPXRoaXMscj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307bmUodGhpcyx0KSx0aGlzLnNjaGVkdWxlVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShuLnVwZGF0ZSl9LHRoaXMudXBkYXRlPW9lKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMub3B0aW9ucz1zZSh7fSx0LkRlZmF1bHRzLHIpLHRoaXMuc3RhdGU9e2lzRGVzdHJveWVkOiExLGlzQ3JlYXRlZDohMSxzY3JvbGxQYXJlbnRzOltdfSx0aGlzLnJlZmVyZW5jZT1vJiZvLmpxdWVyeT9vWzBdOm8sdGhpcy5wb3BwZXI9aSYmaS5qcXVlcnk/aVswXTppLHRoaXMub3B0aW9ucy5tb2RpZmllcnM9e30sT2JqZWN0LmtleXMoc2Uoe30sdC5EZWZhdWx0cy5tb2RpZmllcnMsci5tb2RpZmllcnMpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe24ub3B0aW9ucy5tb2RpZmllcnNbZV09c2Uoe30sdC5EZWZhdWx0cy5tb2RpZmllcnNbZV18fHt9LHIubW9kaWZpZXJzP3IubW9kaWZpZXJzW2VdOnt9KX0pLHRoaXMubW9kaWZpZXJzPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gc2Uoe25hbWU6ZX0sbi5vcHRpb25zLm1vZGlmaWVyc1tlXSl9KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUub3JkZXItdC5vcmRlcn0pLHRoaXMubW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24odCl7dC5lbmFibGVkJiZlKHQub25Mb2FkKSYmdC5vbkxvYWQobi5yZWZlcmVuY2Usbi5wb3BwZXIsbi5vcHRpb25zLHQsbi5zdGF0ZSl9KSx0aGlzLnVwZGF0ZSgpO3ZhciBwPXRoaXMub3B0aW9ucy5ldmVudHNFbmFibGVkO3AmJnRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQ9cH1yZXR1cm4gcmUodCxbe2tleTondXBkYXRlJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBOLmNhbGwodGhpcyl9fSx7a2V5OidkZXN0cm95Jyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBQLmNhbGwodGhpcyl9fSx7a2V5OidlbmFibGVFdmVudExpc3RlbmVycycsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gSS5jYWxsKHRoaXMpfX0se2tleTonZGlzYWJsZUV2ZW50TGlzdGVuZXJzJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBSLmNhbGwodGhpcyl9fV0pLHR9KCk7cmV0dXJuIGZlLlV0aWxzPSgndW5kZWZpbmVkJz09dHlwZW9mIHdpbmRvdz9nbG9iYWw6d2luZG93KS5Qb3BwZXJVdGlscyxmZS5wbGFjZW1lbnRzPWRlLGZlLkRlZmF1bHRzPXtwbGFjZW1lbnQ6J2JvdHRvbScsZXZlbnRzRW5hYmxlZDohMCxyZW1vdmVPbkRlc3Ryb3k6ITEsb25DcmVhdGU6ZnVuY3Rpb24oKXt9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7fSxtb2RpZmllcnM6e3NoaWZ0OntvcmRlcjoxMDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLnBsYWNlbWVudCxvPXQuc3BsaXQoJy0nKVswXSxpPXQuc3BsaXQoJy0nKVsxXTtpZihpKXt2YXIgbj1lLm9mZnNldHMscj1uLnJlZmVyZW5jZSxwPW4ucG9wcGVyLHM9LTEhPT1bJ2JvdHRvbScsJ3RvcCddLmluZGV4T2YobyksZD1zPydsZWZ0JzondG9wJyxhPXM/J3dpZHRoJzonaGVpZ2h0JyxsPXtzdGFydDpwZSh7fSxkLHJbZF0pLGVuZDpwZSh7fSxkLHJbZF0rclthXS1wW2FdKX07ZS5vZmZzZXRzLnBvcHBlcj1zZSh7fSxwLGxbaV0pfXJldHVybiBlfX0sb2Zmc2V0OntvcmRlcjoyMDAsZW5hYmxlZDohMCxmbjpHLG9mZnNldDowfSxwcmV2ZW50T3ZlcmZsb3c6e29yZGVyOjMwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7dmFyIG89dC5ib3VuZGFyaWVzRWxlbWVudHx8cihlLmluc3RhbmNlLnBvcHBlcik7ZS5pbnN0YW5jZS5yZWZlcmVuY2U9PT1vJiYobz1yKG8pKTt2YXIgaT15KGUuaW5zdGFuY2UucG9wcGVyLGUuaW5zdGFuY2UucmVmZXJlbmNlLHQucGFkZGluZyxvKTt0LmJvdW5kYXJpZXM9aTt2YXIgbj10LnByaW9yaXR5LHA9ZS5vZmZzZXRzLnBvcHBlcixzPXtwcmltYXJ5OmZ1bmN0aW9uKGUpe3ZhciBvPXBbZV07cmV0dXJuIHBbZV08aVtlXSYmIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKG89SihwW2VdLGlbZV0pKSxwZSh7fSxlLG8pfSxzZWNvbmRhcnk6ZnVuY3Rpb24oZSl7dmFyIG89J3JpZ2h0Jz09PWU/J2xlZnQnOid0b3AnLG49cFtvXTtyZXR1cm4gcFtlXT5pW2VdJiYhdC5lc2NhcGVXaXRoUmVmZXJlbmNlJiYobj1fKHBbb10saVtlXS0oJ3JpZ2h0Jz09PWU/cC53aWR0aDpwLmhlaWdodCkpKSxwZSh7fSxvLG4pfX07cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD0tMT09PVsnbGVmdCcsJ3RvcCddLmluZGV4T2YoZSk/J3NlY29uZGFyeSc6J3ByaW1hcnknO3A9c2Uoe30scCxzW3RdKGUpKX0pLGUub2Zmc2V0cy5wb3BwZXI9cCxlfSxwcmlvcml0eTpbJ2xlZnQnLCdyaWdodCcsJ3RvcCcsJ2JvdHRvbSddLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDonc2Nyb2xsUGFyZW50J30sa2VlcFRvZ2V0aGVyOntvcmRlcjo0MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLm9mZnNldHMsbz10LnBvcHBlcixpPXQucmVmZXJlbmNlLG49ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxyPVgscD0tMSE9PVsndG9wJywnYm90dG9tJ10uaW5kZXhPZihuKSxzPXA/J3JpZ2h0JzonYm90dG9tJyxkPXA/J2xlZnQnOid0b3AnLGE9cD8nd2lkdGgnOidoZWlnaHQnO3JldHVybiBvW3NdPHIoaVtkXSkmJihlLm9mZnNldHMucG9wcGVyW2RdPXIoaVtkXSktb1thXSksb1tkXT5yKGlbc10pJiYoZS5vZmZzZXRzLnBvcHBlcltkXT1yKGlbc10pKSxlfX0sYXJyb3c6e29yZGVyOjUwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsbyl7dmFyIGk7aWYoIUYoZS5pbnN0YW5jZS5tb2RpZmllcnMsJ2Fycm93Jywna2VlcFRvZ2V0aGVyJykpcmV0dXJuIGU7dmFyIG49by5lbGVtZW50O2lmKCdzdHJpbmcnPT10eXBlb2Ygbil7aWYobj1lLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKG4pLCFuKXJldHVybiBlO31lbHNlIGlmKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhuKSlyZXR1cm4gY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyksZTt2YXIgcj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLHA9ZS5vZmZzZXRzLHM9cC5wb3BwZXIsZD1wLnJlZmVyZW5jZSxhPS0xIT09WydsZWZ0JywncmlnaHQnXS5pbmRleE9mKHIpLGw9YT8naGVpZ2h0Jzond2lkdGgnLGY9YT8nVG9wJzonTGVmdCcsbT1mLnRvTG93ZXJDYXNlKCksaD1hPydsZWZ0JzondG9wJyxnPWE/J2JvdHRvbSc6J3JpZ2h0Jyx1PUwobilbbF07ZFtnXS11PHNbbV0mJihlLm9mZnNldHMucG9wcGVyW21dLT1zW21dLShkW2ddLXUpKSxkW21dK3U+c1tnXSYmKGUub2Zmc2V0cy5wb3BwZXJbbV0rPWRbbV0rdS1zW2ddKSxlLm9mZnNldHMucG9wcGVyPWMoZS5vZmZzZXRzLnBvcHBlcik7dmFyIGI9ZFttXStkW2xdLzItdS8yLHc9dChlLmluc3RhbmNlLnBvcHBlcikseT1wYXJzZUZsb2F0KHdbJ21hcmdpbicrZl0sMTApLEU9cGFyc2VGbG9hdCh3Wydib3JkZXInK2YrJ1dpZHRoJ10sMTApLHY9Yi1lLm9mZnNldHMucG9wcGVyW21dLXktRTtyZXR1cm4gdj1KKF8oc1tsXS11LHYpLDApLGUuYXJyb3dFbGVtZW50PW4sZS5vZmZzZXRzLmFycm93PShpPXt9LHBlKGksbSxNYXRoLnJvdW5kKHYpKSxwZShpLGgsJycpLGkpLGV9LGVsZW1lbnQ6J1t4LWFycm93XSd9LGZsaXA6e29yZGVyOjYwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7aWYoayhlLmluc3RhbmNlLm1vZGlmaWVycywnaW5uZXInKSlyZXR1cm4gZTtpZihlLmZsaXBwZWQmJmUucGxhY2VtZW50PT09ZS5vcmlnaW5hbFBsYWNlbWVudClyZXR1cm4gZTt2YXIgbz15KGUuaW5zdGFuY2UucG9wcGVyLGUuaW5zdGFuY2UucmVmZXJlbmNlLHQucGFkZGluZyx0LmJvdW5kYXJpZXNFbGVtZW50KSxpPWUucGxhY2VtZW50LnNwbGl0KCctJylbMF0sbj14KGkpLHI9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVsxXXx8JycscD1bXTtzd2l0Y2godC5iZWhhdmlvcil7Y2FzZSBsZS5GTElQOnA9W2ksbl07YnJlYWs7Y2FzZSBsZS5DTE9DS1dJU0U6cD1xKGkpO2JyZWFrO2Nhc2UgbGUuQ09VTlRFUkNMT0NLV0lTRTpwPXEoaSwhMCk7YnJlYWs7ZGVmYXVsdDpwPXQuYmVoYXZpb3I7fXJldHVybiBwLmZvckVhY2goZnVuY3Rpb24ocyxkKXtpZihpIT09c3x8cC5sZW5ndGg9PT1kKzEpcmV0dXJuIGU7aT1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLG49eChpKTt2YXIgYT1lLm9mZnNldHMucG9wcGVyLGw9ZS5vZmZzZXRzLnJlZmVyZW5jZSxmPVgsbT0nbGVmdCc9PT1pJiZmKGEucmlnaHQpPmYobC5sZWZ0KXx8J3JpZ2h0Jz09PWkmJmYoYS5sZWZ0KTxmKGwucmlnaHQpfHwndG9wJz09PWkmJmYoYS5ib3R0b20pPmYobC50b3ApfHwnYm90dG9tJz09PWkmJmYoYS50b3ApPGYobC5ib3R0b20pLGg9ZihhLmxlZnQpPGYoby5sZWZ0KSxjPWYoYS5yaWdodCk+ZihvLnJpZ2h0KSxnPWYoYS50b3ApPGYoby50b3ApLHU9ZihhLmJvdHRvbSk+ZihvLmJvdHRvbSksYj0nbGVmdCc9PT1pJiZofHwncmlnaHQnPT09aSYmY3x8J3RvcCc9PT1pJiZnfHwnYm90dG9tJz09PWkmJnUsdz0tMSE9PVsndG9wJywnYm90dG9tJ10uaW5kZXhPZihpKSx5PSEhdC5mbGlwVmFyaWF0aW9ucyYmKHcmJidzdGFydCc9PT1yJiZofHx3JiYnZW5kJz09PXImJmN8fCF3JiYnc3RhcnQnPT09ciYmZ3x8IXcmJidlbmQnPT09ciYmdSk7KG18fGJ8fHkpJiYoZS5mbGlwcGVkPSEwLChtfHxiKSYmKGk9cFtkKzFdKSx5JiYocj1LKHIpKSxlLnBsYWNlbWVudD1pKyhyPyctJytyOicnKSxlLm9mZnNldHMucG9wcGVyPXNlKHt9LGUub2Zmc2V0cy5wb3BwZXIsUyhlLmluc3RhbmNlLnBvcHBlcixlLm9mZnNldHMucmVmZXJlbmNlLGUucGxhY2VtZW50KSksZT1DKGUuaW5zdGFuY2UubW9kaWZpZXJzLGUsJ2ZsaXAnKSl9KSxlfSxiZWhhdmlvcjonZmxpcCcscGFkZGluZzo1LGJvdW5kYXJpZXNFbGVtZW50Oid2aWV3cG9ydCd9LGlubmVyOntvcmRlcjo3MDAsZW5hYmxlZDohMSxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLnBsYWNlbWVudCxvPXQuc3BsaXQoJy0nKVswXSxpPWUub2Zmc2V0cyxuPWkucG9wcGVyLHI9aS5yZWZlcmVuY2UscD0tMSE9PVsnbGVmdCcsJ3JpZ2h0J10uaW5kZXhPZihvKSxzPS0xPT09Wyd0b3AnLCdsZWZ0J10uaW5kZXhPZihvKTtyZXR1cm4gbltwPydsZWZ0JzondG9wJ109cltvXS0ocz9uW3A/J3dpZHRoJzonaGVpZ2h0J106MCksZS5wbGFjZW1lbnQ9eCh0KSxlLm9mZnNldHMucG9wcGVyPWMobiksZX19LGhpZGU6e29yZGVyOjgwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe2lmKCFGKGUuaW5zdGFuY2UubW9kaWZpZXJzLCdoaWRlJywncHJldmVudE92ZXJmbG93JykpcmV0dXJuIGU7dmFyIHQ9ZS5vZmZzZXRzLnJlZmVyZW5jZSxvPVQoZS5pbnN0YW5jZS5tb2RpZmllcnMsZnVuY3Rpb24oZSl7cmV0dXJuJ3ByZXZlbnRPdmVyZmxvdyc9PT1lLm5hbWV9KS5ib3VuZGFyaWVzO2lmKHQuYm90dG9tPG8udG9wfHx0LmxlZnQ+by5yaWdodHx8dC50b3A+by5ib3R0b218fHQucmlnaHQ8by5sZWZ0KXtpZighMD09PWUuaGlkZSlyZXR1cm4gZTtlLmhpZGU9ITAsZS5hdHRyaWJ1dGVzWyd4LW91dC1vZi1ib3VuZGFyaWVzJ109Jyd9ZWxzZXtpZighMT09PWUuaGlkZSlyZXR1cm4gZTtlLmhpZGU9ITEsZS5hdHRyaWJ1dGVzWyd4LW91dC1vZi1ib3VuZGFyaWVzJ109ITF9cmV0dXJuIGV9fSxjb21wdXRlU3R5bGU6e29yZGVyOjg1MCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7dmFyIG89dC54LGk9dC55LG49ZS5vZmZzZXRzLnBvcHBlcixwPVQoZS5pbnN0YW5jZS5tb2RpZmllcnMsZnVuY3Rpb24oZSl7cmV0dXJuJ2FwcGx5U3R5bGUnPT09ZS5uYW1lfSkuZ3B1QWNjZWxlcmF0aW9uO3ZvaWQgMCE9PXAmJmNvbnNvbGUud2FybignV0FSTklORzogYGdwdUFjY2VsZXJhdGlvbmAgb3B0aW9uIG1vdmVkIHRvIGBjb21wdXRlU3R5bGVgIG1vZGlmaWVyIGFuZCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFBvcHBlci5qcyEnKTt2YXIgcyxkLGE9dm9pZCAwPT09cD90LmdwdUFjY2VsZXJhdGlvbjpwLGw9cihlLmluc3RhbmNlLnBvcHBlciksZj1nKGwpLG09e3Bvc2l0aW9uOm4ucG9zaXRpb259LGg9e2xlZnQ6WChuLmxlZnQpLHRvcDpYKG4udG9wKSxib3R0b206WChuLmJvdHRvbSkscmlnaHQ6WChuLnJpZ2h0KX0sYz0nYm90dG9tJz09PW8/J3RvcCc6J2JvdHRvbScsdT0ncmlnaHQnPT09aT8nbGVmdCc6J3JpZ2h0JyxiPVcoJ3RyYW5zZm9ybScpO2lmKGQ9J2JvdHRvbSc9PWM/LWYuaGVpZ2h0K2guYm90dG9tOmgudG9wLHM9J3JpZ2h0Jz09dT8tZi53aWR0aCtoLnJpZ2h0OmgubGVmdCxhJiZiKW1bYl09J3RyYW5zbGF0ZTNkKCcrcysncHgsICcrZCsncHgsIDApJyxtW2NdPTAsbVt1XT0wLG0ud2lsbENoYW5nZT0ndHJhbnNmb3JtJztlbHNle3ZhciB3PSdib3R0b20nPT1jPy0xOjEseT0ncmlnaHQnPT11Py0xOjE7bVtjXT1kKncsbVt1XT1zKnksbS53aWxsQ2hhbmdlPWMrJywgJyt1fXZhciBFPXsieC1wbGFjZW1lbnQiOmUucGxhY2VtZW50fTtyZXR1cm4gZS5hdHRyaWJ1dGVzPXNlKHt9LEUsZS5hdHRyaWJ1dGVzKSxlLnN0eWxlcz1zZSh7fSxtLGUuc3R5bGVzKSxlLmFycm93U3R5bGVzPXNlKHt9LGUub2Zmc2V0cy5hcnJvdyxlLmFycm93U3R5bGVzKSxlfSxncHVBY2NlbGVyYXRpb246ITAseDonYm90dG9tJyx5OidyaWdodCd9LGFwcGx5U3R5bGU6e29yZGVyOjkwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3JldHVybiBZKGUuaW5zdGFuY2UucG9wcGVyLGUuc3R5bGVzKSxqKGUuaW5zdGFuY2UucG9wcGVyLGUuYXR0cmlidXRlcyksZS5hcnJvd0VsZW1lbnQmJk9iamVjdC5rZXlzKGUuYXJyb3dTdHlsZXMpLmxlbmd0aCYmWShlLmFycm93RWxlbWVudCxlLmFycm93U3R5bGVzKSxlfSxvbkxvYWQ6ZnVuY3Rpb24oZSx0LG8saSxuKXt2YXIgcj1PKG4sdCxlKSxwPXYoby5wbGFjZW1lbnQscix0LGUsby5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCxvLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO3JldHVybiB0LnNldEF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnLHApLFkodCx7cG9zaXRpb246J2Fic29sdXRlJ30pLG99LGdwdUFjY2VsZXJhdGlvbjp2b2lkIDB9fX0sZmV9KTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9wcGVyLm1pbi5qcy5tYXA="}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":83,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/sharer.js","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:22.045Z","timestamp":1785139582045,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/sharer.js HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Fri, 07 Jun 2024 17:29:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2298\r\ndate: Mon, 27 Jul 2026 08:06:22 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":13480,"size_decoded":2535,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text","md5":"f0238586a09de11a927ff85d8c611ec3","sha1":"904eb8f627919b8f7bf0cf4c230a241025a9bbc7","sha256":"099c12dadd59f9c73c6dd9985b40dca6b5440d98e838b43463d761d3191e9806","sha512":"f301e8a17e075c858c94fb37809016b03e1184bc32f5c86f1a7364a48c9d32c11423e46990b80253dc0564688d3a78d8e228448dd661ac9139df35d19792854d","ssdeep":"384:6gPZkZlpiYZ4fChY0Lw+c8lAuzQd/zQIUVELv5mr0rWV:6Oq5zrGWV","tlshash":"545298692ef4949a160370263e6f7115a26a828b2d047c167c6c3795cf4e61ff8fcb6c","first_seen":"2025-11-23T04:10:47.976051Z","last_seen":"2026-07-27T09:11:27.390431Z","times_seen":7,"resource_available":true,"data":"LyoqCiAqIEBwcmVzZXJ2ZQogKiBTaGFyZXIuanMKICoKICogQGRlc2NyaXB0aW9uIENyZWF0ZSB5b3VyIG93biBzb2NpYWwgc2hhcmUgYnV0dG9ucwogKiBAdmVyc2lvbiAwLjMuNQogKiBAYXV0aG9yIEVsbGlzb24gTGVhbyA8ZWxsaXNvbmxlYW9AZ21haWwuY29tPgogKiBAbGljZW5zZSBHUEx2MwogKgogKi8KCihmdW5jdGlvbiAod2luZG93LCBkb2N1bWVudCkgewogICAgJ3VzZSBzdHJpY3QnOwogICAgLyoqCiAgICAgKiBAY29uc3RydWN0b3IKICAgICAqLwogICAgdmFyIFNoYXJlciA9IGZ1bmN0aW9uKGVsZW0pIHsKICAgICAgICB0aGlzLmVsZW0gPSBlbGVtOwogICAgfTsKCiAgICAvKioKICAgICAqICBAZnVuY3Rpb24gaW5pdAogICAgICogIEBkZXNjcmlwdGlvbiBiaW5kIHRoZSBldmVudHMgZm9yIG11bHRpcGxlIHNoYXJlciBlbGVtZW50cwogICAgICogIEByZXR1cm5zIHtFbXB0eX0KICAgICAqLwogICAgU2hhcmVyLmluaXQgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgZWxlbXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zaGFyZXJdJyksCiAgICAgICAgICAgIGksCiAgICAgICAgICAgIGwgPSBlbGVtcy5sZW5ndGg7CgogICAgICAgIGZvciAoaSA9IDA7IGkgPCBsIDsgaSsrKSB7CiAgICAgICAgICAgIGVsZW1zW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgU2hhcmVyLmFkZCk7CiAgICAgICAgfQogICAgfTsKCiAgICAvKioKICAgICAqICBAZnVuY3Rpb24gYWRkCiAgICAgKiAgQGRlc2NyaXB0aW9uIGJpbmQgdGhlIHNoYXJlIGV2ZW50IGZvciBhIHNpbmdsZSBkb20gZWxlbWVudAogICAgICogIEByZXR1cm5zIHtFbXB0eX0KICAgICAqLwogICAgU2hhcmVyLmFkZCA9IGZ1bmN0aW9uKGVsZW0pIHsKICAgICAgICB2YXIgdGFyZ2V0ID0gZWxlbS5jdXJyZW50VGFyZ2V0IHx8IGVsZW0uc3JjRWxlbWVudDsKICAgICAgICB2YXIgc2hhcmVyID0gbmV3IFNoYXJlcih0YXJnZXQpOwogICAgICAgIHNoYXJlci5zaGFyZSgpOwogICAgfTsKCiAgICAvLyBpbnN0YW5jZSBtZXRob2RzCiAgICBTaGFyZXIucHJvdG90eXBlID0gewogICAgICAgIGNvbnN0cnVjdG9yOiBTaGFyZXIsCiAgICAgICAgLyoqCiAgICAgICAgICogIEBmdW5jdGlvbiBnZXRWYWx1ZQogICAgICAgICAqICBAZGVzY3JpcHRpb24gSGVscGVyIHRvIGdldCB0aGUgYXR0cmlidXRlIG9mIGEgRE9NIGVsZW1lbnQKICAgICAgICAgKiAgQHBhcmFtIHtTdHJpbmd9IGF0dHIgRE9NIGVsZW1lbnQgYXR0cmlidXRlCiAgICAgICAgICogIEByZXR1cm5zIHtTdHJpbmd8RW1wdHl9IHJldHVybnMgdGhlIGF0dHIgdmFsdWUgb3IgZW1wdHkgc3RyaW5nCiAgICAgICAgICovCiAgICAgICAgZ2V0VmFsdWU6IGZ1bmN0aW9uKGF0dHIpIHsKICAgICAgICAgICAgdmFyIHZhbCA9IHRoaXMuZWxlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtJyArIGF0dHIpOwogICAgICAgICAgICBpZiAoIXZhbCkgcmV0dXJuOwogICAgICAgICAgICAvLyBoYW5kaW5nIGZhY2Vib29rIGhhc2h0YWcgYXR0cmlidXRlCiAgICAgICAgICAgIGlmIChhdHRyID09PSAnaGFzaHRhZycpIHsKICAgICAgICAgICAgICAgIGlmICghdmFsLnN0YXJ0c1dpdGgoJyMnKSkgewogICAgICAgICAgICAgICAgICAgIHZhbCA9ICcjJyArIHZhbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gdmFsOwogICAgICAgIH0sCgogICAgICAgIC8qKgogICAgICAgICAqIEBldmVudCBzaGFyZQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBNYWluIHNoYXJlIGV2ZW50LiBXaWxsIHBvcCBhIHdpbmRvdyBvciByZWRpcmVjdCB0byBhIGxpbmsKICAgICAgICAgKiBiYXNlZCBvbiB0aGUgZGF0YS1zaGFyZXIgYXR0cmlidXRlLgogICAgICAgICAqLwogICAgICAgIHNoYXJlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHNoYXJlciA9IHRoaXMuZ2V0VmFsdWUoJ3NoYXJlcicpLnRvTG93ZXJDYXNlKCksCiAgICAgICAgICAgICAgICBzaGFyZXJzID0gewogICAgICAgICAgICAgICAgICAgIGZhY2Vib29rOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci9zaGFyZXIucGhwJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2h0YWc6IHRoaXMuZ2V0VmFsdWUoJ2hhc2h0YWcnKSwKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgbGlua2VkaW46IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaTogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB0d2l0dGVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLmdldFZhbHVlKCd0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2h0YWdzOiB0aGlzLmdldFZhbHVlKCdoYXNodGFncycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhOiB0aGlzLmdldFZhbHVlKCd2aWEnKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBlbWFpbDogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ21haWx0bzonICsgdGhpcy5nZXRWYWx1ZSgndG8nKSwKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJqZWN0OiB0aGlzLmdldFZhbHVlKCdzdWJqZWN0JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB0aGlzLmdldFZhbHVlKCd0aXRsZScpICsgJ1xuJyArIHRoaXMuZ2V0VmFsdWUoJ3VybCcpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGlzTGluazogdHJ1ZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgd2hhdHNhcHA6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICd3aGF0c2FwcDovL3NlbmQnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJykgKyAnICcgKyB0aGlzLmdldFZhbHVlKCd1cmwnKQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBpc0xpbms6IHRydWUKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHRlbGVncmFtOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAndGc6Ly9tc2dfdXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0aGlzLmdldFZhbHVlKCd0aXRsZScpICsgJyAnICsgdGhpcy5nZXRWYWx1ZSgndXJsJykKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgaXNMaW5rOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB2aWJlcjogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ3ZpYmVyOi8vZm9yd2FyZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdGhpcy5nZXRWYWx1ZSgndGl0bGUnKSArICcgJyArIHRoaXMuZ2V0VmFsdWUoJ3VybCcpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIGlzTGluazogdHJ1ZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgbGluZTogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ2h0dHA6Ly9saW5lLm1lL1IvbXNnL3RleHQvPycgKyBlbmNvZGVVUklDb21wb25lbnQodGhpcy5nZXRWYWx1ZSgndGl0bGUnKSArICcgJyArIHRoaXMuZ2V0VmFsdWUoJ3VybCcpKSwKICAgICAgICAgICAgICAgICAgICAgICAgaXNMaW5rOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBwaW50ZXJlc3Q6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL3d3dy5waW50ZXJlc3QuY29tL3Bpbi9jcmVhdGUvYnV0dG9uLycsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhOiB0aGlzLmdldFZhbHVlKCdpbWFnZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZ2V0VmFsdWUoJ2Rlc2NyaXB0aW9uJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgdHVtYmxyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL3R1bWJsci5jb20vd2lkZ2V0cy9zaGFyZS90b29sJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5vbmljYWxVcmw6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogdGhpcy5nZXRWYWx1ZSgndXJsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3N0dHlwZTogJ2xpbmsnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiB0aGlzLmdldFZhbHVlKCdjYXB0aW9uJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzOiB0aGlzLmdldFZhbHVlKCd0YWdzJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgaGFja2VybmV3czogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ2h0dHBzOi8vbmV3cy55Y29tYmluYXRvci5jb20vc3VibWl0bGluaycsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdTogdGhpcy5nZXRWYWx1ZSgndXJsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0OiB0aGlzLmdldFZhbHVlKCd0aXRsZScpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHJlZGRpdDogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ2h0dHBzOi8vd3d3LnJlZGRpdC5jb20vc3VibWl0JywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7J3VybCc6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgdms6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwOi8vdmsuY29tL3NoYXJlLnBocCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmdldFZhbHVlKCd0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuZ2V0VmFsdWUoJ2NhcHRpb24nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB0aGlzLmdldFZhbHVlKCdpbWFnZScpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHhpbmc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL3d3dy54aW5nLmNvbS9hcHAvdXNlcicsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wJzogJ3NoYXJlJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1cmwnOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aXRsZSc6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgYnVmZmVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cHM6Ly9idWZmZXIuY29tL2FkZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmdldFZhbHVlKCd0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlhOiB0aGlzLmdldFZhbHVlKCd2aWEnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY3R1cmU6IHRoaXMuZ2V0VmFsdWUoJ3BpY3R1cmUnKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBpbnN0YXBhcGVyOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL3d3dy5pbnN0YXBhcGVyLmNvbS9lZGl0JywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5nZXRWYWx1ZSgnZGVzY3JpcHRpb24nKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBwb2NrZXQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL2dldHBvY2tldC5jb20vc2F2ZScsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmdldFZhbHVlKCd1cmwnKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBkaWdnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL3d3dy5kaWdnLmNvbS9zdWJtaXQnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5nZXRWYWx1ZSgndXJsJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgc3R1bWJsZXVwb246IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwOi8vd3d3LnN0dW1ibGV1cG9uLmNvbS9zdWJtaXQnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5nZXRWYWx1ZSgndXJsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5nZXRWYWx1ZSgndGl0bGUnKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBmbGlwYm9hcmQ6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL3NoYXJlLmZsaXBib2FyZC5jb20vYm9va21hcmtsZXQvcG9wb3V0JywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2OiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdDogRGF0ZS5ub3coKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB3ZWlibzogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ2h0dHA6Ly9zZXJ2aWNlLndlaWJvLmNvbS9zaGFyZS9zaGFyZS5waHAnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5nZXRWYWx1ZSgndXJsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5nZXRWYWx1ZSgndGl0bGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpYzogdGhpcy5nZXRWYWx1ZSgnaW1hZ2UnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGtleTogdGhpcy5nZXRWYWx1ZSgnYXBwa2V5JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWxhdGVVaWQ6IHRoaXMuZ2V0VmFsdWUoJ3JhbGF0ZXVpZCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2U6ICd6aF9jbicKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgcmVucmVuOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL3NoYXJlLnJlbnJlbi5jb20vc2hhcmUvYnV0dG9uc2hhcmUnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIG15c3BhY2U6IHsKICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVVcmw6ICdodHRwczovL215c3BhY2UuY29tL3Bvc3QnLAogICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdDogdGhpcy5nZXRWYWx1ZSgndGl0bGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM6IHRoaXMuZ2V0VmFsdWUoJ2Rlc2NyaXB0aW9uJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgYmxvZ2dlcjogewogICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVVybDogJ2h0dHBzOi8vd3d3LmJsb2dnZXIuY29tL2Jsb2ctdGhpcy5nJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG46IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0OiB0aGlzLmdldFZhbHVlKCdkZXNjcmlwdGlvbicpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGJhaWR1OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL2NhbmcuYmFpZHUuY29tL2RvL2FkZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQ6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdTogdGhpcy5nZXRWYWx1ZSgndXJsJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgZG91YmFuOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cHM6Ly93d3cuZG91YmFuLmNvbS9zaGFyZS9zZXJ2aWNlJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLmdldFZhbHVlKCd0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogdGhpcy5nZXRWYWx1ZSgndXJsJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdGhpcy5nZXRWYWx1ZSgnaW1hZ2UnKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBva3J1OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cHM6Ly9jb25uZWN0Lm9rLnJ1L2RrJywKICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3QuY21kJzogJ1dpZGdldFNoYXJlUHJldmlldycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3Quc2hhcmVVcmwnOiB0aGlzLmdldFZhbHVlKCd1cmwnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aXRsZSc6IHRoaXMuZ2V0VmFsdWUoJ3RpdGxlJykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgbWFpbHJ1OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlVXJsOiAnaHR0cDovL2Nvbm5lY3QubWFpbC5ydS9zaGFyZScsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NoYXJlX3VybCc6IHRoaXMuZ2V0VmFsdWUoJ3VybCcpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpbmtuYW1lJzogdGhpcy5nZXRWYWx1ZSgndGl0bGUnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rbm90ZSc6IHRoaXMuZ2V0VmFsdWUoJ2Rlc2NyaXB0aW9uJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICdwYWdlJwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHMgPSBzaGFyZXJzW3NoYXJlcl07CgogICAgICAgICAgICAvLyBjdXN0b20gcG9wdXBzIHNpemVzCiAgICAgICAgICAgIGlmIChzKSB7CiAgICAgICAgICAgICAgICBzLndpZHRoID0gdGhpcy5nZXRWYWx1ZSgnd2lkdGgnKTsKICAgICAgICAgICAgICAgIHMuaGVpZ2h0ID0gdGhpcy5nZXRWYWx1ZSgnaGVpZ2h0Jyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIHMgIT09IHVuZGVmaW5lZCA/IHRoaXMudXJsU2hhcmVyKHMpIDogZmFsc2U7CiAgICAgICAgfSwKICAgICAgICAvKioKICAgICAgICAgKiBAZXZlbnQgdXJsU2hhcmVyCiAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IHNoYXJlcgogICAgICAgICAqLwogICAgICAgIHVybFNoYXJlcjogZnVuY3Rpb24oc2hhcmVyKSB7CiAgICAgICAgICAgIHZhciBwID0gc2hhcmVyLnBhcmFtcyB8fCB7fSwKICAgICAgICAgICAgICAgIGtleXMgPSBPYmplY3Qua2V5cyhwKSwKICAgICAgICAgICAgICAgIGksCiAgICAgICAgICAgICAgICBzdHIgPSBrZXlzLmxlbmd0aCA+IDAgPyAnPycgOiAnJzsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChzdHIgIT09ICc/JykgewogICAgICAgICAgICAgICAgICAgIHN0ciArPSAnJic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAocFtrZXlzW2ldXSkgewogICAgICAgICAgICAgICAgICAgIHN0ciArPSBrZXlzW2ldICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHBba2V5c1tpXV0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNoYXJlci5zaGFyZVVybCArPSBzdHI7CgogICAgICAgICAgICBpZiAoIXNoYXJlci5pc0xpbmspIHsKICAgICAgICAgICAgICAgIHZhciBwb3BXaWR0aCA9IHNoYXJlci53aWR0aCB8fCA2MDAsCiAgICAgICAgICAgICAgICAgICAgcG9wSGVpZ2h0ID0gc2hhcmVyLmhlaWdodCB8fCA0ODAsCiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHdpbmRvdy5pbm5lcldpZHRoIC8gMiAtIHBvcFdpZHRoIC8gMiArIHdpbmRvdy5zY3JlZW5YLAogICAgICAgICAgICAgICAgICAgIHRvcCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBwb3BIZWlnaHQgLyAyICsgd2luZG93LnNjcmVlblksCiAgICAgICAgICAgICAgICAgICAgcG9wUGFyYW1zID0gJ3Njcm9sbGJhcnM9bm8sIHdpZHRoPScgKyBwb3BXaWR0aCArICcsIGhlaWdodD0nICsgcG9wSGVpZ2h0ICsgJywgdG9wPScgKyB0b3AgKyAnLCBsZWZ0PScgKyBsZWZ0LAogICAgICAgICAgICAgICAgICAgIG5ld1dpbmRvdyA9IHdpbmRvdy5vcGVuKHNoYXJlci5zaGFyZVVybCwgJycsIHBvcFBhcmFtcyk7CgogICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5mb2N1cykgewogICAgICAgICAgICAgICAgICAgIG5ld1dpbmRvdy5mb2N1cygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBzaGFyZXIuc2hhcmVVcmw7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9OwoKICAgIC8vIGFkZGluZyBzaGFyZXIgZXZlbnRzIG9uIGRvbWNvbnRlbnRsb2FkCiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJyB8fCBkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycpIHsKICAgICAgICBTaGFyZXIuaW5pdCgpOwogICAgfSBlbHNlIHsKICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgU2hhcmVyLmluaXQpOwogICAgfQoKICAgIC8vIHR1cmJvbGlua3MgY29tcGF0aWJpbGl0eQogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2U6bG9hZCcsIFNoYXJlci5pbml0KTsKCiAgICAvLyBleHBvcnRpbmcgc2hhcmVyIGZvciBleHRlcm5hbCB1c2FnZQogICAgd2luZG93LlNoYXJlciA9IFNoYXJlcjsKCn0pKHdpbmRvdywgZG9jdW1lbnQpOw=="}},"time_used":35,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":27,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"nanoquantumstellarsledger.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"nanoquantumstellarsledger.com/frontcss/assets/fonts/fontawesome-webfont.ttf?v=4.6.3","fqdn":"nanoquantumstellarsledger.com","domain":"nanoquantumstellarsledger.com","tld":"com"},"ip":{"addr":"5.182.208.207","port":443,"asn":62068,"as":"SpectraIP B.V.","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://nanoquantumstellarsledger.com/","date":"2026-07-27T08:06:23.659Z","timestamp":1785139583659,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"nanoquantumstellarsledger.com","organization":""},"issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 28 Jun 2026 19:56:20 GMT","end":"Sat, 26 Sep 2026 19:56:19 GMT"},"fingerprint":{"sha1":"E0:E2:6A:32:13:B7:35:F9:E6:14:10:3D:3E:AA:FF:5F:AD:E4:78:1D","sha256":"3D:5C:30:D7:D8:DB:DE:D6:57:7F:5E:38:B5:F7:4B:1B:C7:E1:8F:53:39:91:65:91:E4:BF:77:FF:D9:BA:A0:3B"}}},"request":{"raw":"GET /frontcss/assets/fonts/fontawesome-webfont.ttf?v=4.6.3 HTTP/1.1\r\nHost: nanoquantumstellarsledger.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://nanoquantumstellarsledger.com/frontcss/assets/styles.min.css\r\nCookie: XSRF-TOKEN=eyJpdiI6Im94TDZRa2FFM0lTVjk2L2N0alhHRmc9PSIsInZhbHVlIjoidXhsTWcvMXNIa2NRL2ExL3RyVkd5TUVZRU9seTcxWlFQOHRIQ0JoWUNJYVpjMFUyZDNGQTdaK21Qa25xSzUzeHBxbTBlK0xNWlZ6N0V5eGpLcEt0ZDhtaVE3d3ZvQk4za2FrU3FwVXdFSUFpRHlzZHpDTUpHQ2lIR1pja1JsUUwiLCJtYWMiOiI1YzliNjQ1MWM5NjgwNmVkZThlNGZmMzc1ZmI3MDkwODc0NmE0ZWQxM2JiYjQ5ZGNmZDhkZGExMWE2MzYzZjUwIiwidGFnIjoiIn0%3D; onlinetrader_session=eyJpdiI6IkoySXBEeXpvNnFPbGlvVzc4ZWRzcEE9PSIsInZhbHVlIjoiVVFadkFRMFFtS3dZOVhOVVkrN2dHWFRTOUY2bG1UTUpoU3JjNFcwZmlLQlNnN2JNUUd3WHN6bmdTMzVhV0dYak9lOFNVVFVEOUZMNkw3Ukw4bExuMkJJbkFkWnpuNlU2ZFU1ZWNzVjNXYUFwZWU4VEFNTDlMT1orNi9nL3JpNjMiLCJtYWMiOiI1ODFkMjEwODJjNzkwZjQyZjFkM2Y4ZGE1MjI0ZTFkM2Y1MTE1ZjJjZDJiM2Y2NTlkODcxNWRjNGU3MGRlNzM5IiwidGFnIjoiIn0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\nx-powered-by: PHP/8.1.34\r\ncache-control: no-cache, private\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-length: 426\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 08:06:23 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"PHP:8.1.34","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":990,"size_decoded":663,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text","md5":"5e6f2f1a813ab5a08d8285cdaeb5e41e","sha1":"092f863565b307cd1f557bf5b916c893a6ed310f","sha256":"47d6aa11143d57bc85dec45bbaa4bf135edf0ace0a6228e8028b47179ba267ed","sha512":"2cc85f21166652cd2407ccf06afef5f5081f14ce2fff10b94c8e2622966677b1764be521e489ea17e5b0e6a444cca89066b919f34b222449925f56475c64aea9","ssdeep":"","tlshash":"f411143b08050b6e121082a3b410736cd0dfaf16ae96a4b0d0b31b6b7ad4a86c5399ac","first_seen":"2026-07-27T05:09:49.357984Z","last_seen":"2026-07-27T08:08:22.752082Z","times_seen":3,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KCjxoZWFkPgoJPG1ldGEgY2hhcnNldD0idXRmLTgiPgoJPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KCTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgk8dGl0bGU+Tm90IEZvdW5kIC0gUUZTIExlZGdlcjwvdGl0bGU+CgoJPCEtLSBHb29nbGUgZm9udCAtLT4KCTxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjcwMCw5MDAiIHJlbD0ic3R5bGVzaGVldCI+CgoJPCEtLSBGb250IEF3ZXNvbWUgSWNvbiAtLT4KCTxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbmFub3F1YW50dW1zdGVsbGFyc2xlZGdlci5jb20vZXJyb3IvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIiAvPgoKCTwhLS0gQ3VzdG9tIHN0bHlsZXNoZWV0IC0tPgoJPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9uYW5vcXVhbnR1bXN0ZWxsYXJzbGVkZ2VyLmNvbS9lcnJvci9jc3Mvc3R5bGUuY3NzIiAvPgo8L2hlYWQ+Cgo8Ym9keT4KCTxkaXYgaWQ9Im5vdGZvdW5kIj4KCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC1iZyI+PC9kaXY+CgkJPGRpdiBjbGFzcz0ibm90Zm91bmQiPgoJCQk8ZGl2IGNsYXNzPSJub3Rmb3VuZC00MDQiPgoJCQkJPGgxPiA0MDQgPC9oMT4KCQkJPC9kaXY+CgkJCTxoMj5XZSBjb3VsZCBub3QgZmluZCB0aGUgcGFnZSB5b3Ugd2VyZSBsb29raW5nIGZvci48L2gyPgoJCQk8YSBocmVmPSJodHRwczovL25hbm9xdWFudHVtc3RlbGxhcnNsZWRnZXIuY29tL2Zyb250Y3NzL2Fzc2V0cy9zdHlsZXMubWluLmNzcyIgY2xhc3M9ImhvbWUtYnRuIj5HbyBCYWNrPC9hPgoJCTwvZGl2PgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgoK"}},"time_used":181,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":181,"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":"nanoquantumstellarsledger.com","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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.005Z","timestamp":1785139584005,"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-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 08:06:24 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: d2297e04d274f8055153c0b483b8ea96\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-28T06:17:53.359026Z","times_seen":109,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.389Z","timestamp":1785139584389,"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-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 08:06:24 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: 843be65c6909fc8299419c24f71552d5\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-08-12T05:10:43.213122Z","times_seen":134,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.825Z","timestamp":1785139584825,"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-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 08:06:24 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: a8cd2ce51d04d2f2228b956bdccfce1b\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-28T06:17:53.40961Z","times_seen":111,"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":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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.844Z","timestamp":1785139582844,"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-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 08:06:22 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: 3ed640fa2312b1f33c7fb0365566a678\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-28T06:17:53.557126Z","times_seen":205,"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":22,"timings":{"blocked":10,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.925Z","timestamp":1785139583925,"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-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 08:06:23 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: e7d10eea8a2cf1a3b56151c9e388d3e2\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-08-12T05:10:43.181476Z","times_seen":312,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:22.826Z","timestamp":1785139582826,"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-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 08:06:22 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: 09f7f6a0637e2cb3e467e047fc445d0c\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-28T07:05:00.655129Z","times_seen":1853,"resource_available":true,"data":"KHNlbGYud2VicGFja0NodW5rdHJhZGluZ3ZpZXc9c2VsZi53ZWJwYWNrQ2h1bmt0cmFkaW5ndmlld3x8W10pLnB1c2goW1szNTUyXSx7NDUwMjk1KHQpe3QuZXhwb3J0cz17fX0sNDYyMzUodCl7dC5leHBvcnRzPXt9fSw5NzMxMTkodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7cXVvdGVUaWNrZXJGb3JtYXRDaGFuZ2U6KCk9Pm59KTt2YXIgaT1zKDc1NTYyNyksYT1zKDk4NDM3Nik7dmFyIG89cygyMTYxMSk7ZnVuY3Rpb24gbih0LGUscyl7Y29uc3Qgbj0oMCxvLnRvTnVtYmVyT3JVbmRlZmluZWQpKHQpO2lmKCJlY29ub21pYyI9PT1lPy50eXBlJiYwPT09bnx8dm9pZCAwPT09bilyZXR1cm47Y29uc3QgbD1zPy5jdXN0b21QcmljZUZvcm1hdHRlcnx8InZvbHVtZSI9PT1lLmZvcm1hdCYmbmV3IGEuVm9sdW1lRm9ybWF0dGVyKHtwcmVjaXNpb246Mn0pfHxuZXcgaS5QcmljZUZvcm1hdHRlcih7cHJpY2VTY2FsZTplLnByaWNlc2NhbGV8fDEwMCxtaW5Nb3ZlOmUubWlubW92fHwxLGZyYWN0aW9uYWw6ZS5mcmFjdGlvbmFsLG1pbk1vdmUyOmUubWlubW92ZTJ9KSxyPXZvaWQgMCE9PXM/LnNpZ25Qb3NpdGl2ZUNoYW5nZT9zLnNpZ25Qb3NpdGl2ZUNoYW5nZTpzPy5zaWduUG9zaXRpdmU7cmV0dXJuKCh0LGU9ITApPT5lP2AoJHt0fSlgOnQpKGwuZm9ybWF0KG4se3NpZ25Qb3NpdGl2ZTpyLHNpZ25OZWdhdGl2ZTpzPy5zaWduTmVnYXRpdmV9KSxzPy5jaGFuZ2VJbkJyYWNrZXRzKX19LDYwMjg3KHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse3F1b3RlVGlja2VyRm9ybWF0Q3VycmVuY3k6KCk9PmF9KTt2YXIgaT1zKDE4NTI3MSk7ZnVuY3Rpb24gYSh0KXtzd2l0Y2godCl7Y2FzZSJERUdDIjpyZXR1cm4i4oSDIjtjYXNlIlBDVERZIjpyZXR1cm4gaS50KG51bGwse2NvbnRleHQ6Il9tYXhfbGVuXzkifSxzKDQ0NTA1KSk7Y2FzZSJQQ1RQQVIiOnJldHVybiBpLnQobnVsbCx7Y29udGV4dDoiX21heF9sZW5fOSJ9LHMoNDY4NDYwKSk7ZGVmYXVsdDpyZXR1cm4gdH19Nzg2NzYwKHQsZSxzKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibWN4X2ZyZWUiPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiEhdCYmKGkodC5zeW1ib2xuYW1lKXx8InBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZpKHQudmFsdWVzPy5hbHRlcm5hdGl2ZSkpfXMuZChlLHtpc01jeFF1b3RlRGF0YTooKT0+YX0pfSwxMDE3MTIodCxlLHMpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3JldHVybiB0LmVuZHNXaXRoKCJfZGx5Iil9ZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQmJighKHZvaWQgMD09PXQuc3ltYm9sbmFtZXx8IWkodC5zeW1ib2xuYW1lKSl8fEJvb2xlYW4oInBlcm1pc3Npb25fZGVuaWVkIj09PXQuc3RhdHVzJiZ0LnZhbHVlcyYmdm9pZCAwIT09dC52YWx1ZXMuYWx0ZXJuYXRpdmUmJmkodC52YWx1ZXMuYWx0ZXJuYXRpdmUpKSl9cy5kKGUse2lzU2ZRdW90ZURhdGE6KCk9PmF9KX0sMjAyNDYwKHQsZSxzKXsidXNlIHN0cmljdCI7cy5kKGUse0Fic3RyYWN0SW5kaWNhdG9yOigpPT5sfSk7dmFyIGk9cygyMjEwNjEpLGE9cygxNTAxNTApLG89cygxNTk1MTMpO3MoMzQ0Nzg1KTtjb25zdCBuPSgwLGkuZ2V0TG9nZ2VyKSgiR1VJLkJsb2Nrcy5BYnN0cmFjdEluZGljYXRvciIpO2NsYXNzIGx7Y29uc3RydWN0b3IodCl7dGhpcy5fY2xhc3NTdWZmaXg9IiIsdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJhYnN0cmFjdC1pbmRpY2F0b3IiLHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9zaG93VG9vbHRpcD0hMCx0aGlzLl9zdWJzY3JpYmVkPSExLHRoaXMuX3Rvb2x0aXBUeXBlPSJjdXN0b20iLHRoaXMuX2xhc3RUb29sdGlwVGV4dD0iIix0aGlzLl9xdW90ZVNlc3Npb249dC5xdW90ZVNlc3Npb259Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9Z2V0VG9vbHRpcFRleHQoKXtyZXR1cm4gdGhpcy5fbGFiZWxNYXBbdGhpcy5fdmFsdWVdfHwiIn1nZXRMYWJlbCgpe3JldHVybiB0aGlzLl9sYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIifWdldEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWx9dXBkYXRlKHQsZSl7dGhpcy5fdXBkYXRlVmFsdWUodCxlKSx0aGlzLl9yZW5kZXIoKX1zZXRUb29sdGlwRW5hYmxlZCh0PSExKXt0aGlzLl9zaG93VG9vbHRpcCE9PXQmJih0aGlzLl9zaG93VG9vbHRpcD10LHRoaXMuX3JlbmRlclRvb2x0aXAoKSl9ZW5hYmxlU2hvcnRNb2RlKCl7ITAhPT10aGlzLl9zaG9ydE1vZGUmJih0aGlzLl9zaG9ydE1vZGU9ITAsdGhpcy5fcmVuZGVyKCkpfWRpc2FibGVTaG9ydE1vZGUoKXshMSE9PXRoaXMuX3Nob3J0TW9kZSYmKHRoaXMuX3Nob3J0TW9kZT0hMSx0aGlzLl9yZW5kZXIoKSl9aXNTaG9ydE1vZGVFbmFibGVkKCl7cmV0dXJuIHRoaXMuX3Nob3J0TW9kZX1zdGFydCgpeyF0aGlzLl9zdWJzY3JpYmVkJiZ0aGlzLl9zeW1ib2xOYW1lJiYodGhpcy5fcXVvdGVTZXNzaW9ufHwodGhpcy5fcXVvdGVTZXNzaW9uPSgwLG8uZ2V0UXVvdGVTZXNzaW9uSW5zdGFuY2UpKCJzaW1wbGUiKSksdGhpcy5fcXVvdGVTZXNzaW9uLnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUsdGhpcy51cGRhdGUuYmluZCh0aGlzKSksdGhpcy5fc3Vic2NyaWJlZD0hMCl9c3RvcCgpe3RoaXMuX3N1YnNjcmliZWQmJnRoaXMuX3F1b3RlU2Vzc2lvbiYmdGhpcy5fc3ltYm9sTmFtZSYmKHRoaXMuX3F1b3RlU2Vzc2lvbi51bnN1YnNjcmliZSh0aGlzLl9nZXRRdW90ZVNlc3Npb25JZCgpLHRoaXMuX3N5bWJvbE5hbWUpLHRoaXMuX3N1YnNjcmliZWQ9ITEpfXNldFNlc3Npb25TdGF0dXNJY29uKHQpe3RoaXMuX3Nlc3Npb25TdGF0dXNJY29uIT09dCYmKHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQsdGhpcy5fcmVuZGVyKCkpfV9pbml0KHQpe3RoaXMuX2VsPXQuZWw/dC5lbDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZWwuaW5uZXJIVE1MPSIiLHRoaXMuX2NsYXNzTWFwPXQuY2xhc3NNYXAsdGhpcy5faWNvbkNsYXNzTWFwPXQuaWNvbkNsYXNzTWFwLHRoaXMuX2xhYmVsTWFwPXQubGFiZWxNYXAsCnRoaXMuX3Nob3dUb29sdGlwPXQuc2hvd1Rvb2x0aXAsdGhpcy5fY2xhc3NTdWZmaXg9dC5jbGFzc1N1ZmZpeCx0aGlzLl9zeW1ib2xOYW1lPXQuc3ltYm9sLHRoaXMuX3Nlc3Npb25TdGF0dXNJY29uPXQuc2Vzc2lvblN0YXR1c0ljb24sdGhpcy5fb25WYWx1ZUNoYW5nZT10Lm9uVmFsdWVDaGFuZ2UsdC50b29sdGlwVHlwZSYmKHRoaXMuX3Rvb2x0aXBUeXBlPXQudG9vbHRpcFR5cGUpLHRoaXMuX3F1b3RlU2Vzc2lvbkdVSUQ9KDAsYS5ndWlkKSgpLCEwPT09dC5zaG9ydCYmdGhpcy5lbmFibGVTaG9ydE1vZGUoKSx0LmRhdGEmJnRoaXMuX3VwZGF0ZVZhbHVlKHQuZGF0YSl9X2NsZWFyQ2xhc3Nlcygpe09iamVjdC52YWx1ZXModGhpcy5fY2xhc3NNYXApLm1hcCgodD0+e3RoaXMuX2VsLmNsYXNzTGlzdC5yZW1vdmUoYCR7dH1gKSx0aGlzLl9lbC5jbGFzc0xpc3QucmVtb3ZlKGAke3R9JHt0aGlzLl9jbGFzc1N1ZmZpeH1gKX0pKX1fcmVuZGVyKCl7dGhpcy5fcmVuZGVyQ2xhc3NlcygpLHRoaXMuX3JlbmRlclRvb2x0aXAoKSx0aGlzLl9yZW5kZXJMYWJlbCgpfV9yZW5kZXJMYWJlbCgpe3RoaXMuX2VsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fdXBkYXRlVmFsdWUodCxlKXtjb25zdCBzPXRoaXMuX2dldFZhbHVlRnJvbURhdGEodCk7KGV8fHMhPT10aGlzLl92YWx1ZSkmJih0aGlzLl92YWx1ZT1zLHRoaXMuX29uVmFsdWVDaGFuZ2U/Lih0aGlzLl92YWx1ZSkpfV9yZW5kZXJDbGFzc2VzKCl7Y29uc3QgdD10aGlzLl9lbC5jbGFzc0xpc3Q7dC5hZGQodGhpcy5fY29tcG9uZW50Q2xhc3MsdGhpcy5fY29tcG9uZW50Q2xhc3MrdGhpcy5fY2xhc3NTdWZmaXgpO2NvbnN0IGU9dGhpcy5fY2xhc3NNYXBbdGhpcy5fdmFsdWVdO2Zvcihjb25zdCBzIGluIHRoaXMuX2NsYXNzTWFwKXtjb25zdCBpPXRoaXMuX2NsYXNzTWFwW3NdO2kmJihpPT09ZT8odC5hZGQoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5hZGQoaSsiX193aXRoSWNvbiIpKToodC5yZW1vdmUoaSxpK3RoaXMuX2NsYXNzU3VmZml4KSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbiYmdC5yZW1vdmUoaSsiX193aXRoSWNvbiIpKSl9IWUmJnRoaXMuX3ZhbHVlJiZuLmxvZ1dhcm4oYG5vIGNsYXNzTmFtZSBmb3Igc3RhdHVzICR7dGhpcy5fdmFsdWV9YCl9X3JlbmRlclRvb2x0aXAoKXtjb25zdCB0PXRoaXMuX3Nob3dUb29sdGlwP3RoaXMuZ2V0VG9vbHRpcFRleHQoKToiIjt0IT09dGhpcy5fbGFzdFRvb2x0aXBUZXh0JiYodGhpcy5fbGFzdFRvb2x0aXBUZXh0PXQsdGhpcy5fZWwuc2V0QXR0cmlidXRlKCJ0aXRsZSIsdCksImN1c3RvbSI9PT10aGlzLl90b29sdGlwVHlwZSYmdGhpcy5fZWwuY2xhc3NMaXN0LnRvZ2dsZSgiYXBwbHktY29tbW9uLXRvb2x0aXAiLHRoaXMuX3Nob3dUb29sdGlwKSl9X2dldFF1b3RlU2Vzc2lvbklkKCl7cmV0dXJuYCR7dGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4fS4ke3RoaXMuX3F1b3RlU2Vzc2lvbkdVSUR9YH19fSwzMDY5MCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtEYXRhTW9kZUluZGljYXRvcjooKT0+ZH0pO3ZhciBpLGE9cygxODUyNzEpLG89KHMoODI5MTgwKSxzKDQ1MDI5NSkscygyMDI0NjApKTshZnVuY3Rpb24odCl7dC5EZWxheWVkPSJkZWxheWVkIix0LkRlbGF5ZWRTdHJlYW1pbmc9ImRlbGF5ZWRfc3RyZWFtaW5nIix0LkVuZE9mRGF5PSJlbmRvZmRheSIsdC5TbmFwc2hvdD0ic25hcHNob3QiLHQuUmVhbHRpbWU9InJlYWx0aW1lIix0LkNvbm5lY3Rpbmc9ImNvbm5lY3RpbmciLHQuTG9hZGluZz0ibG9hZGluZyIsdC5JbnZhbGlkPSJpbnZhbGlkIix0LkZvcmJpZGRlbj0iZm9yYmlkZGVuIix0LlN0cmVhbWluZz0ic3RyZWFtaW5nIn0oaXx8KGk9e30pKTtjb25zdCBuPXtjb25uZWN0aW5nOiJ0di1kYXRhLW1vZGUtLWNvbm5lY3RpbmciLGRlbGF5ZWQ6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZGVsYXllZF9zdHJlYW1pbmc6InR2LWRhdGEtbW9kZS0tZGVsYXllZCIsZW5kb2ZkYXk6InR2LWRhdGEtbW9kZS0tZW5kb2ZkYXkiLGZvcmJpZGRlbjoidHYtZGF0YS1tb2RlLS1mb3JiaWRkZW4iLHJlYWx0aW1lOiJ0di1kYXRhLW1vZGUtLXJlYWx0aW1lIixzbmFwc2hvdDoidHYtZGF0YS1tb2RlLS1zbmFwc2hvdCIsbG9hZGluZzoidHYtZGF0YS1tb2RlLS1sb2FkaW5nIixyZXBsYXk6InR2LWRhdGEtbW9kZS0tcmVwbGF5In07ZnVuY3Rpb24gbCgpe3JldHVybntjb25uZWN0aW5nOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfY29ubmVjdGluZ19sZXR0ZXIifSxzKDg1OTk5NCkpLGRlbGF5ZWQ6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX2xldHRlciJ9LHMoODkyMzYzKSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwse2NvbnRleHQ6ImRhdGFfbW9kZV9kZWxheWVkX3N0cmVhbWluZ19sZXR0ZXIifSxzKDM5NDUwMSkpLGVuZG9mZGF5OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfZW5kX29mX2RheV9sZXR0ZXIifSxzKDU3MDkzOSkpLGZvcmJpZGRlbjphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX2ZvcmJpZGRlbl9sZXR0ZXIifSxzKDM5NDkyMSkpLHJlYWx0aW1lOmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfcmVhbHRpbWVfbGV0dGVyIn0scyg4NjY0NCkpLHNuYXBzaG90OmEudChudWxsLHtjb250ZXh0OiJkYXRhX21vZGVfc25hcHNob3RfbGV0dGVyIn0scygyNTczMjYpKSxsb2FkaW5nOiIiLHJlcGxheTphLnQobnVsbCx7Y29udGV4dDoiZGF0YV9tb2RlX3JlcGxheV9sZXR0ZXIifSxzKDc1NjQ1NykpfX1jb25zdCByPXtzdHJlYW1pbmc6InJlYWx0aW1lIn07Y2xhc3MgZCBleHRlbmRzIG8uQWJzdHJhY3RJbmRpY2F0b3J7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fcXVvdGVTZXNzaW9uUHJlZml4PSJkYXRhLW1vZGUtaW5kaWNhdG9yIix0aGlzLl9jb21wb25lbnRDbGFzcz0idHYtZGF0YS1tb2RlIix0aGlzLl9pbml0KHQpfWdldExhYmVsKCl7cmV0dXJuITA9PT10aGlzLl9zaG9ydE1vZGU/dGhpcy5fc2hvcnRMYWJlbE1hcFt0aGlzLl92YWx1ZV18fCIiOnN1cGVyLmdldExhYmVsKCl9CnNldE1vZGUodCxlKXt0aGlzLnVwZGF0ZSh7dmFsdWVzOnt1cGRhdGVfbW9kZTp0LHVwZGF0ZV9tb2RlX3NlY29uZHM6ZX19KX1oaWRlKCl7dGhpcy5fZWwuY2xhc3NMaXN0LmFkZCgiaS1oaWRkZW4iKX1zaG93KCl7dGhpcy5fZWwuY2xhc3NMaXN0LnJlbW92ZSgiaS1oaWRkZW4iKX1nZXRUb29sdGlwVGV4dCgpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZSgpO2lmKCIiPT09ZSlyZXR1cm4gdDtzd2l0Y2goZSl7Y2FzZSJkZWxheWVkIjp0PWEudChudWxsLHZvaWQgMCxzKDc5MDUyNCkpO2JyZWFrO2Nhc2UiZGVsYXllZF9zdHJlYW1pbmciOnQ9YS50KG51bGwsdm9pZCAwLHMoODE0NjEpKTticmVhaztkZWZhdWx0OnQ9dGhpcy5fbGFiZWxNYXBbZV18fHR9cmV0dXJuWyJkZWxheWVkIiwiZGVsYXllZF9zdHJlYW1pbmciXS5pbmNsdWRlcyhlKSYmKHQ9dC5mb3JtYXQoe251bWJlcjpTdHJpbmcoTWF0aC5yb3VuZCh0aGlzLl9tb2RlSW50ZXJ2YWwvNjApKX0pKSx0fV9pbml0KHQ9e30pe2NvbnN0IGU9T2JqZWN0LmFzc2lnbih7fSx7Y2xhc3NNYXA6bixjbGFzc1N1ZmZpeDoiIixkYXRhOnt2YWx1ZXM6e3VwZGF0ZV9tb2RlOiJjb25uZWN0aW5nIn19LGxhYmVsTWFwOntjb25uZWN0aW5nOmEudChudWxsLHZvaWQgMCxzKDE5NDE5NCkpLGRlbGF5ZWQ6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZGVsYXllZF9zdHJlYW1pbmc6YS50KG51bGwsdm9pZCAwLHMoMjI5NTI1KSksZW5kb2ZkYXk6YS50KG51bGwsdm9pZCAwLHMoNjAxNzY0KSksZm9yYmlkZGVuOmEudChudWxsLHZvaWQgMCxzKDMyODMxMykpLHJlYWx0aW1lOmEudChudWxsLHZvaWQgMCxzKDg4MzkyOCkpLHNuYXBzaG90OmEudChudWxsLHZvaWQgMCxzKDU2MjM5NSkpLGxvYWRpbmc6IiIscmVwbGF5OmEudChudWxsLHZvaWQgMCxzKDk3NzI3KSl9LG1vZGVJbnRlcnZhbDo2MDAsc2hvcnQ6ITEsc2hvcnRMYWJlbE1hcDpsKCksc2hvd1Rvb2x0aXA6ITAsdG9vbHRpcFR5cGU6ImN1c3RvbSJ9LHQpO3RoaXMuX21vZGVJbnRlcnZhbD1lLm1vZGVJbnRlcnZhbHx8NjAwLHRoaXMuX3Nob3J0TGFiZWxNYXA9ZS5zaG9ydExhYmVsTWFwfHxsKCksc3VwZXIuX2luaXQoZSksdGhpcy5fcmVuZGVyKCl9X2dldFZhbHVlRnJvbURhdGEodCl7bGV0IGU7cmV0dXJuIGU9dm9pZCAwIT09dC52YWx1ZXMmJnZvaWQgMCE9PXQudmFsdWVzLnVwZGF0ZV9tb2RlP3QudmFsdWVzLnVwZGF0ZV9tb2RlOnRoaXMuZ2V0VmFsdWUoKSxyW2VdfHxlfV91cGRhdGVWYWx1ZSh0LGUpe3ZvaWQgMCE9PXQudmFsdWVzJiZ2b2lkIDAhPT10LnZhbHVlcy51cGRhdGVfbW9kZV9zZWNvbmRzJiYodGhpcy5fbW9kZUludGVydmFsPXQudmFsdWVzLnVwZGF0ZV9tb2RlX3NlY29uZHMpLHN1cGVyLl91cGRhdGVWYWx1ZSh0LGUpfX19LDU2MzkxOCh0LGUscyl7InVzZSBzdHJpY3QiO3MuZChlLHtNYXJrZXRTdGF0dXNJbmRpY2F0b3I6KCk9Pmx9KTt2YXIgaT1zKDE4NTI3MSksYT1zKDIwMjQ2MCk7cyg0NjIzNSk7Y29uc3Qgbz17aW52YWxpZDoidHYtbWFya2V0LXN0YXR1cy0taW52YWxpZCIsbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1tYXJrZXQiLG91dF9vZl9zZXNzaW9uOiJ0di1tYXJrZXQtc3RhdHVzLS1vdXQtb2Ytc2Vzc2lvbiIscG9zdF9tYXJrZXQ6InR2LW1hcmtldC1zdGF0dXMtLXBvc3QtbWFya2V0IixwcmVfbWFya2V0OiJ0di1tYXJrZXQtc3RhdHVzLS1wcmUtbWFya2V0IixuaWdodDoidHYtbWFya2V0LXN0YXR1cy0tbmlnaHQiLGxvYWRpbmc6InR2LW1hcmtldC1zdGF0dXMtLWxvYWRpbmciLGhvbGlkYXk6InR2LW1hcmtldC1zdGF0dXMtLWhvbGlkYXkiLHJlcGxheToidHYtbWFya2V0LXN0YXR1cy0tcmVwbGF5IixkZWxpc3RlZDoidHYtbWFya2V0LXN0YXR1cy0tZGVsaXN0ZWQifSxuPXtpbnZhbGlkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1pbnZhbGlkIixtYXJrZXQ6InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW1hcmtldCIsb3V0X29mX3Nlc3Npb246InR2LW1hcmtldC1zdGF0dXNfX2ljb24tLW91dC1vZi1zZXNzaW9uIixwb3N0X21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcG9zdC1tYXJrZXQiLG5pZ2h0OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1uaWdodCIscHJlX21hcmtldDoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tcHJlLW1hcmtldCIsbG9hZGluZzoidHYtbWFya2V0LXN0YXR1c19faWNvbi0tbG9hZGluZyIsaG9saWRheToidHYtbWFya2V0LXN0YXR1c19faWNvbi0taG9saWRheSIscmVwbGF5OiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1yZXBsYXkiLGRlbGlzdGVkOiJ0di1tYXJrZXQtc3RhdHVzX19pY29uLS1kZWxpc3RlZCJ9O2NsYXNzIGwgZXh0ZW5kcyBhLkFic3RyYWN0SW5kaWNhdG9ye2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuX3F1b3RlU2Vzc2lvblByZWZpeD0ibWFya2V0LXN0YXR1cy1pbmRpY2F0b3IiLHRoaXMuX2NvbXBvbmVudENsYXNzPSJ0di1tYXJrZXQtc3RhdHVzIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2luaXQodCl9c2V0U3RhdHVzKHQsZSl7Y29uc3Qgcz17dmFsdWVzOntjdXJyZW50X3Nlc3Npb246ImRlbGlzdGVkIj09PXRoaXMuZ2V0VmFsdWUoKT8iZGVsaXN0ZWQiOnR9fTt0aGlzLnVwZGF0ZShzLGUpfWdldFRvb2x0aXBUZXh0KCl7bGV0IHQ9c3VwZXIuZ2V0VG9vbHRpcFRleHQoKTtyZXR1cm4iIj09PXR8fCIiIT09dGhpcy5fZXh0cmFUaXRsZSYmKHQ9YCR7dH0sICR7dGhpcy5fZXh0cmFUaXRsZX1gKSx0fXNldEV4dHJhVGl0bGUodCl7dGhpcy5fZXh0cmFUaXRsZT10fXJlc2V0KCl7dGhpcy5fY2xlYXJDbGFzc2VzKCksdGhpcy5fbGFiZWxFbC50ZXh0Q29udGVudD0iIix0aGlzLl9leHRyYVRpdGxlPSIiLHRoaXMuX2VsLnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSx0aGlzLl92YWx1ZT0iIn1lbmFibGVTaG9ydE1vZGUodD0hMCl7dm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKCJpLWhpZGRlbiIpLHN1cGVyLmVuYWJsZVNob3J0TW9kZSgpfWRpc2FibGVTaG9ydE1vZGUoKXsKdm9pZCAwIT09dGhpcy5fbGFiZWxFbCYmdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QucmVtb3ZlKCJpLWhpZGRlbiIpLHN1cGVyLmRpc2FibGVTaG9ydE1vZGUoKX1fcmVuZGVyTGFiZWwoKXt0aGlzLl9sYWJlbEVsLnRleHRDb250ZW50PXRoaXMuZ2V0TGFiZWwoKX1fZ2V0VmFsdWVGcm9tRGF0YSh0KXtyZXR1cm4gdC52YWx1ZXM/LnR5cGVzcGVjcz8uaW5jbHVkZXMoImRpc2NvbnRpbnVlZCIpPyJkZWxpc3RlZCI6dm9pZCAwIT09dC52YWx1ZXM/LmN1cnJlbnRfc2Vzc2lvbj90LnZhbHVlcy5jdXJyZW50X3Nlc3Npb246dGhpcy5nZXRWYWx1ZSgpfV9yZW5kZXIoKXt0aGlzLl9yZW5kZXJMYWJlbEVsZW1lbnQoKSx0aGlzLl9zZXNzaW9uU3RhdHVzSWNvbj90aGlzLl9yZW5kZXJJY29uRWxlbWVudCgpOnRoaXMuX3JlbmRlckRvdEVsZW1lbnQoKSxzdXBlci5fcmVuZGVyKCl9X2luaXQodCl7Y29uc3QgZT1PYmplY3QuYXNzaWduKHt9LGZ1bmN0aW9uKCl7Y29uc3QgdD17aW52YWxpZDppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoNjM4NDA1KSksbWFya2V0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg3MDI3ODgpKSxvdXRfb2Zfc2Vzc2lvbjppLnQobnVsbCx7Y29udGV4dDoibWFya2V0LXN0YXR1cyJ9LHMoOTE0NTcyKSkscG9zdF9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDg2NzQ1NSkpLHByZV9tYXJrZXQ6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDkxODg0MikpLGxvYWRpbmc6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDI3NDQxNSkpLGhvbGlkYXk6aS50KG51bGwse2NvbnRleHQ6Im1hcmtldC1zdGF0dXMifSxzKDY4NTEwNCkpLGRlbGlzdGVkOmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg1NTIxNSkpLG5pZ2h0OmkudChudWxsLHtjb250ZXh0OiJtYXJrZXQtc3RhdHVzIn0scyg4OTc1OTEpKSxyZXBsYXk6IiJ9O3JldHVybntjbGFzc01hcDpvLGljb25DbGFzc01hcDpuLGNsYXNzU3VmZml4OiIiLGRhdGE6e30sZXh0cmFUaXRsZToiIixsYWJlbE1hcDp0LHNob3J0OiExLHNob3dUb29sdGlwOiEwLHRvb2x0aXBUeXBlOiJjdXN0b20ifX0oKSx0KTtzdXBlci5faW5pdChlKSx0aGlzLnNldEV4dHJhVGl0bGUoZS5leHRyYVRpdGxlKSx0aGlzLl9yZW5kZXIoKX1fcmVuZGVyTGFiZWxFbGVtZW50KCl7dm9pZCAwPT09dGhpcy5fbGFiZWxFbCYmKHRoaXMuX2xhYmVsRWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLHRoaXMuX2xhYmVsRWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2xhYmVsYCksdGhpcy5fbGFiZWxFbC5jbGFzc0xpc3QuYWRkKGAke3RoaXMuX2NvbXBvbmVudENsYXNzfV9fbGFiZWwke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsRWwpKX1fcmVuZGVyRG90RWxlbWVudCgpe3RoaXMuX2VsLmNvbnRhaW5zKHRoaXMuX2ljb25FbCkmJnRoaXMuX2VsLnJlbW92ZUNoaWxkKHRoaXMuX2ljb25FbCksdm9pZCAwPT09dGhpcy5fZG90RWwmJih0aGlzLl9kb3RFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5fZG90RWwuY2xhc3NMaXN0LmFkZChgJHt0aGlzLl9jb21wb25lbnRDbGFzc31fX2RvdGApLHRoaXMuX2RvdEVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19kb3Qke3RoaXMuX2NsYXNzU3VmZml4fWApLHRoaXMuX2VsLmFwcGVuZENoaWxkKHRoaXMuX2RvdEVsKSl9X3JlbmRlckljb25FbGVtZW50KCl7dGhpcy5fZWwuY29udGFpbnModGhpcy5fZG90RWwpJiZ0aGlzLl9lbC5yZW1vdmVDaGlsZCh0aGlzLl9kb3RFbCksdm9pZCAwPT09dGhpcy5faWNvbkVsJiZ0aGlzLl92YWx1ZSYmKHRoaXMuX2ljb25FbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uYCksdGhpcy5faWNvbkVsLmNsYXNzTGlzdC5hZGQoYCR7dGhpcy5fY29tcG9uZW50Q2xhc3N9X19pY29uJHt0aGlzLl9jbGFzc1N1ZmZpeH1gKSx0aGlzLl9lbC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWwpKX19fSw4OTE3NzgodCxlLHMpeyJ1c2Ugc3RyaWN0IjtzLmQoZSx7UHJpY2VDb2xvcmVyOigpPT5pfSk7dmFyIGksYT1zKDIxODgxNCksbz1zKDUwNTU2KTshZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUpe3JldHVybiAwPT09dD9lJiZ2b2lkIDAhPT1lLm5ldXRyYWw/ZS5uZXV0cmFsOmEuY29sb3IuYmxhY2s3MDp0PjA/ZSYmdm9pZCAwIT09ZS51cD9lLnVwOm8uY29sb3JzUGFsZXR0ZVsiY29sb3Itc3VjY2VzcyJdOmUmJnZvaWQgMCE9PWUuZG93bj9lLmRvd246by5jb2xvcnNQYWxldHRlWyJjb2xvci1kYW5nZXIiXX10LmZvcm1hdFNpZ249ZSx0LmZvcm1hdERpZmY9ZnVuY3Rpb24odCxzKXtyZXR1cm4gZShzLXQpfSx0LmRvbURpZmZlcmVuY2U9ZnVuY3Rpb24odCxlLHM9MCxpPSIiLGE9IiIpe2Z1bmN0aW9uIG8odCl7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7cmV0dXJuIGUuaW5uZXJIVE1MPXQsZX1jb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKCFzKXJldHVybiBuLmFwcGVuZENoaWxkKG8odCkpLG47Y29uc3QgbD10KyIiLHI9ZSsiIjtsZXQgZD1udWxsO2lmKGwubGVuZ3RoPT09ci5sZW5ndGgpe2ZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCsrKWlmKGwuY2hhckF0KHQpIT09ci5jaGFyQXQodCkpe2Q9dDticmVha319ZWxzZSBkPU51bWJlcigiMCIpO2lmKG51bGw9PT1kKXJldHVybiBuLmFwcGVuZENoaWxkKG8obCkpLG47Y29uc3QgXz1vKGwuc3Vic3RyaW5nKDAsZCkpLHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3JldHVybiB1LmNsYXNzTmFtZT1zPDA/aTphLHUuYXBwZW5kQ2hpbGQobyhsLnN1YnN0cmluZyhkKSkpLG4uYXBwZW5kQ2hpbGQoXyksbi5hcHBlbmRDaGlsZCh1KSxufX0oaXx8KGk9e30pKX19XSk7"}},"time_used":24,"timings":{"blocked":12,"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/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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:23.808Z","timestamp":1785139583808,"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-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 08:06:23 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: f96d82444d6809b043540c4f8e2f504b\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-08-12T05:10:43.32004Z","times_seen":432,"resource_available":false,"data":"LnNjcm9sbENvbnRhaW5lci16RzJDcURlMntoZWlnaHQ6MDtvdmVyZmxvdy15OnNjcm9sbH1Ac3VwcG9ydHMgKC1tb3otYXBwZWFyYW5jZTpub25lKXsuc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUye3Njcm9sbGJhci1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKSAjMDAwMDtzY3JvbGxiYXItd2lkdGg6dGhpbn19LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSk7Ym9yZGVyOjFweCBzb2xpZCAjMDAwMDtib3JkZXItcmFkaXVzOjNweH0uc2Nyb2xsQ29udGFpbmVyLXpHMkNxRGUyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOmluaXRpYWw7Ym9yZGVyLXJhZGl1czozcHh9LnNjcm9sbENvbnRhaW5lci16RzJDcURlMjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0uZmxleC1nbzBaZU5RRntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87LS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZzp2YXIoLS11aS1saWItcHJpdmF0ZS1wb3BvdmVyLWNvbnRlbnQtdmVydGljYWwtcGFkZGluZyw2cHgpO292ZXJmbG93OmhpZGRlbn0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGe2ZsZXg6bm9uZX0uZml4ZWRGb290ZXItZ28wWmVOUUYsLmZpeGVkSGVhZGVyLWdvMFplTlFGLC5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntwYWRkaW5nOjAgdmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEhlYWRlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy10b3A6dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5maXhlZEZvb3RlckNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZy1ib3R0b206dmFyKC0tdWktbGliLXBvcG92ZXItY29udGVudC12ZXJ0aWNhbC1jYWxjdWxhdGVkLXBhZGRpbmcpfS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntmbGV4LWdyb3c6MTtmbGV4LXNocmluazoxO2hlaWdodDoxMDAlO292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6c2Nyb2xsfUBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpey5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRntzY3JvbGxiYXItY29sb3I6dmFyKC0tdHYtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWJhY2tncm91bmQsdmFyKC0tY29sb3Itc2Nyb2xsLWJnKSkgIzAwMDA7c2Nyb2xsYmFyLXdpZHRoOnRoaW59fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXJ7aGVpZ2h0OjVweDt3aWR0aDo1cHh9Lm1haW5TY3JvbGxXcmFwcGVyLWdvMFplTlFGOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10di1jb2xvci1zY3JvbGxiYXItdGh1bWItYmFja2dyb3VuZCx2YXIoLS1jb2xvci1zY3JvbGwtYmcpKTtib3JkZXI6MXB4IHNvbGlkICMwMDAwO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjppbml0aWFsO2JvcmRlci1yYWRpdXM6M3B4fS5tYWluU2Nyb2xsV3JhcHBlci1nbzBaZU5RRjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVye2Rpc3BsYXk6bm9uZX0ubWFpblNjcm9sbFdyYXBwZXItZ28wWmVOUUYubm9TY3JvbGwtZ28wWmVOUUZ7b3ZlcmZsb3cteTpoaWRkZW59Lm1haW4tZ28wWmVOUUZ7bWFyZ2luLWlubGluZS1lbmQ6dmFyKC0tdWktbGliLXByaXZhdGUtcG9wb3ZlckNvbnRlbnRWZXJ0aWNhbC1zY3JvbGwtY29tcGVuc2F0aW9uKX0ubWFpbkNvbnRlbnQtZ28wWmVOUUZ7cGFkZGluZzp2YXIoLS11aS1saWItcG9wb3Zlci1jb250ZW50LXZlcnRpY2FsLWNhbGN1bGF0ZWQtcGFkZGluZykgMH0="}},"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=in#%7B%22symbol%22%3A%22BINANCE%3AETHBTC%22%2C%22frameElementId%22%3A%22tradingview_7faf7%22%2C%22interval%22%3A%225%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%22Dark%22%2C%22style%22%3A%221%22%2C%22timezone%22%3A%22Europe%2FLuxembourg%22%2C%22studies_overrides%22%3A%22%7B%7D%22%2C%22utm_source%22%3A%22nanoquantumstellarsledger.com%22%2C%22utm_medium%22%3A%22widget%22%2C%22utm_campaign%22%3A%22chart%22%2C%22utm_term%22%3A%22BINANCE%3AETHBTC%22%2C%22page-uri%22%3A%22nanoquantumstellarsledger.com%2F%22%7D","date":"2026-07-27T08:06:24.124Z","timestamp":1785139584124,"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-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 08:06:24 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: 7bdd49a176cb151c3ec935951d42f17b\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-28T06:17:53.472191Z","times_seen":79,"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":2,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":2,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
